quinta-feira, 10 de maio de 2007

A importância das cores

Ver antes: compressão jpeg


Os quadrados A e B têm a mesma cor.

Difícil acreditar sem verificar… esta imagem é fabricada, não esperes ilusões como esta em fotografias. Mas é uma boa introdução para a questão: qual é a importância das cores na percepção de imagens?

As cores são importantes para codificação, nos semáforos por exemplo; mas qualquer combinação de cores (verde / amarelo / vermelho) é suficiente, não são necessárias cores específicas — um amigo disse-me uma vez que o verde dos semáforos, para ele, estava mais próximo do azul que do verde. Pouco ou nada sentimos a falta de cores em fotografias antigas, ainda hoje são feitos filmes "a preto e branco" ou "descoloridos". Para o nosso sistema visual a percepção de formas e detalhes é influenciada essencial­mente pela luz e pelos contrastes.

A menor importância das cores na interpretação de imagens foi (e continua a ser) uma característica utilizada para reduzir a quantidade de informação suficiente para o transporte e armazenamento de fotografias e filmes. A televisão analógica utiliza uma pequena parte do espaço (largura de banda) reservado a cada canal para transmitir as cores, em parte porque a cor foi "encaixada" no espaço inicial­mente atribuído. Mas a televisão digital também utiliza menos espaço para as cores que para a luz.

Quando a norma JPEG foi escrita este facto foi, muito provavelmete, tomado em consideração. No entanto não foi definido que as imagens seriam codificadas como luz+cor, ou que existiria redução de cor. A separação entre luz e cor foi definida pela especificação JFIF através da equação que transforma a codificação (espaço de cor) RGB na codificação YCbCr:

Esta equação transforma três cores primárias — vermelho, verde, azul — numa componente [Y] de luz e duas componentes [Cb, Cr] de cor. Repara que o peso da cor verde é preponderante (58,7%) na componente de luz resultante: o olho humano é mais sensível à luz verde que à vermelha ou azul.

A especificação JFIF não quantifica como as duas componentes de cor são reduzidas, apenas define a relação espacial entre as várias componentes caso exista redução. A quantificação foi resultado das implementações, nomeada­mente através da biblioteca código aberto disponibilizada pelo Grupo Independente JPEG. Na prática cada componente de cor é reduzida para 1/4 do tamanho original calculando a média de quatro pontos; este método é tão consensual que rara­mente é colocado como opção nas ferramentas para utilizadores.


Imagem original


Componente luz reduzida, 75% do tamanho original


Componentes cor reduzidas, 50% do tamanho original

Nas imagens anteriores podemos ver o resultado da diminuição da componente luz e da redução das componentes cor. Só uma observação minuciosa consegue detectar diferenças entre a primeira e terceira imagem.

A diminuição de cores permite reduzir a imagem para metade do tamanho original.

notas técnicas:
- a imagem "original" foi guardada como jpeg sem perder cores ou detalhe (apenas tem erros de arredondamento); com o programa IJG o comando é "cjpeg -quality 100 -sample 1x1 -optimize …", com o popular IrfanView as opções são "disable color subsampling" e "quality 100"
- para reduzir luz sem perder detalhe foi utilizado o comando "cjpeg -quality 100 -sample 1x1,2x2,2x2 -optimize …"
- as cores foram reduzidas com "cjpeg -quality 100 -optimize …"; quase todos os programas permitem esta opção com "quality 100"


A seguir:

Etiquetas:

0 Comentários:

Enviar um comentário

Subscrever Enviar feedback [Atom]

<< Página inicial