Programando em NCL 3.0.pdf - Telemidia - PUC-Rio

Programando em NCL 3.0.pdf - Telemidia - PUC-Rio Programando em NCL 3.0.pdf - Telemidia - PUC-Rio

telemidia.puc.rio.br
from telemidia.puc.rio.br More from this publisher
11.07.2015 Views

Y = 0,299R + 0,587G + 0,114BAs componentes C r e C b são chamadas de crominância e sua definiçãovaria de padrão para padrão, bem como o seu nome (componentes I e Q, nopadrão NTSC de TV, e componentes U e V, no padrão PAL de TV). C r e C bsão os nomes utilizados pelos padrões MPEG e JPEG, e têm seus valoresdados por:C r = ((R – Y)/1,6) + 0,5C b = ((B – Y)/2) + 0,5O leitor deve observar que o conjunto de equações para Y, C r e C b élinearmente independente (isso também acontece para as outras definições deC r e C b ), ou seja, dados Y, C r e C b , obtêm-se facilmente R, G e B.O olho humano é mais sensível à luminância do que à crominância;assim, na compressão pela redução da resolução de cor, podemos utilizar umnúmero menor de bits para as componentes da crominância. Mais comum, noentanto, é utilizarmos uma menor resolução geométrica para as componentesde crominância do que aquela utilizada para a luminância.Uma outra forma de compressão de imagem estática, geralmente semperdas, é a codificação preditiva. De forma análoga à explicação da SeçãoA.2.3, na codificação preditiva de uma imagem realiza-se uma predição dovalor do pixel baseada em valores de outros pixels da imagem. A diferença dovalor real para o valor predito é então codificada. A Figura A.5 ilustra o caso.Figura A.5 Imagem original e imagem com apenas os erros de predição.Se, na imagem, os pixels tiverem valores muito próximos, pode-se usarum número menor de bits para armazenar o erro da predição do que aqueleusado para codificar o valor absoluto do pixel. Além disso, uma imagem compoucos contornos vai gerar muitos valores pequenos ou mesmo o valor zero,tornando o emprego de um outro método de compressão posterior bemeficiente.416

Antes de continuarmos nossa discussão sobre técnicas de compressão,devemos ressaltar que, normalmente, as técnicas de compressão são seguidaspela aplicação de algum esquema de compactação. Muitas vezes, o esquemade compressão simplesmente prepara os dados para que possam sofrer maiorcompactação. Nada impede também que apliquemos várias técnicas decompressão em sequência.Um exemplo de codificação preditiva pode ser encontrado no padrãoJPEG [ISO/IEC 10918-1, 1994] no modo sem perdas, onde a codificação deHuffman é aplicada após a codificação preditiva. No esquema apresentado naFigura A.6, o codificador por entropia utiliza a codificação de Huffman. Notetambém, pela figura, que existem sete possíveis predições para um pixel X.SeleçõesPrediçãoimagemfontePreditorCodificadorpor entropiaTabela deespecificaçãoimagemcomprimidaC BA X01234567sem prediçãoABCA+B–CA+((B–C)/2)B+((A–C)/2)(A+B)/2Figura A.6 JPEG sem perdas.Existem ainda outras técnicas para compressão de imagem, tais como acodificação por sub-bandas (similar à apresentada na Seção A.2.3) e aquantização vetorial. Entretanto, nos deteremos apenas em mais uma, por serutilizada nos padrões JPEG e MPEG: a codificação por transformadas.O leitor já deve ter percebido, pelas várias referências à Seção A.2.3,que existem várias similaridades entre amostras no tempo e pixels. Naverdade, podemos considerar os pixels como se fossem amostras do “sinalimagem”, só que amostras obtidas não no tempo, mas no espaço. Éexatamente por isso que podemos aplicar todas as técnicas da Seção A.2.3nas imagens estáticas. Note também que, em um sinal de vídeo, o grupo devárias amostras temporais forma um quadro (por exemplo, no sistema de TVbrasileiro, existem 30 quadros por segundo). Esse quadro é uma imagemestática onde as amostras temporais do vídeo são os pixels (amostrasespaciais). Esse fato é que nos permite não somente tratar o vídeo como umsinal contínuo e nele aplicarmos todas as técnicas de compressão conhecidaspara sinal contínuo, como também tratá-lo como uma sequência de imagensestáticas no tempo, aplicando as mesmas técnicas de compressão utilizadaspara imagens.417

Y = 0,299R + 0,587G + 0,114BAs componentes C r e C b são chamadas de crominância e sua definiçãovaria de padrão para padrão, b<strong>em</strong> como o seu nome (componentes I e Q, nopadrão NTSC de TV, e componentes U e V, no padrão PAL de TV). C r e C bsão os nomes utilizados pelos padrões MPEG e JPEG, e têm seus valoresdados por:C r = ((R – Y)/1,6) + 0,5C b = ((B – Y)/2) + 0,5O leitor deve observar que o conjunto de equações para Y, C r e C b élinearmente independente (isso também acontece para as outras definições deC r e C b ), ou seja, dados Y, C r e C b , obtêm-se facilmente R, G e B.O olho humano é mais sensível à luminância do que à crominância;assim, na compressão pela redução da resolução de cor, pod<strong>em</strong>os utilizar umnúmero menor de bits para as componentes da crominância. Mais comum, noentanto, é utilizarmos uma menor resolução geométrica para as componentesde crominância do que aquela utilizada para a luminância.Uma outra forma de compressão de imag<strong>em</strong> estática, geralmente s<strong>em</strong>perdas, é a codificação preditiva. De forma análoga à explicação da SeçãoA.2.3, na codificação preditiva de uma imag<strong>em</strong> realiza-se uma predição dovalor do pixel baseada <strong>em</strong> valores de outros pixels da imag<strong>em</strong>. A diferença dovalor real para o valor predito é então codificada. A Figura A.5 ilustra o caso.Figura A.5 Imag<strong>em</strong> original e imag<strong>em</strong> com apenas os erros de predição.Se, na imag<strong>em</strong>, os pixels tiver<strong>em</strong> valores muito próximos, pode-se usarum número menor de bits para armazenar o erro da predição do que aqueleusado para codificar o valor absoluto do pixel. Além disso, uma imag<strong>em</strong> compoucos contornos vai gerar muitos valores pequenos ou mesmo o valor zero,tornando o <strong>em</strong>prego de um outro método de compressão posterior b<strong>em</strong>eficiente.416

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!