Aula 10 Padrões de Compressão de Imagens Diogo Pinheiro Fernades Pedrosa diogopedrosa@ufersa.edu.br http://www2.ufersa.edu.br/portal/professor/diogopedrosa Universidade Federal Rural do Semiárido Departamento de Ciências Exatas e Naturais Ciência da Computação Mossoró, RN
Introdução Motivos para os padrões de compressão de imagens: Aumento na velocidade de transmissão de informação; Necessidade de armazenar e processar imagens de forma eficiente; Popularização dos equipamentos digitais de aquisição de imagens.
Padrão JPEG É um dos mais utilizados em imagens digitais; Foi desenvolvido pela Joint Photographic Experts Group e aceito formalmente como padrão internacional em 1992; O padrão consiste em realizar uma série de passos que contribuem para a compressão dos dados da imagem; É um padrão que resulta em perdas da informação.
Principais Passos no JPEG Considerações iniciais: Uma imagem f é definida no domínio espacial a informação desejada está definida em uma posição (i, j), e não no tempo; Um dos passos da compressão JPEG é a aplicação da transformada cosseno discreta bidimensional; Objetivo da DCT 2D: obter informação sobre a frequência da imagem.
Principais Passos no JPEG Observações sobre a eficiência da DCT 2D na compressão JPEG: Elementos úteis da imagem (pixels) têm uma variação relativamente lenta a transformada cosseno traz a medida de quanto os pixels mudam em relação ao número de ciclos de uma função cosseno (funções de base da transformada cosseno).
Principais Passos no JPEG Observações sobre a eficiência da DCT 2D na compressão JPEG: O olho humanos tem menos percepção para as perdas de informação de alta frequência que as perdas de informação de baixa frequência.
Principais Passos no JPEG Observações sobre a eficiência da DCT 2D na compressão JPEG: A ideia principal da codificação JPEG, com a transformada cosseno, é obter as componentes de alta frequência para, depois, reduzir sua influência na imagem tais componentes podem ser eliminadas de modo que o olho humano não perceba diferenças significativas.
Principais Passos no JPEG F(u) F(u) u u
Principais Passos no JPEG A compressão JPEG pode ser aplicada para imagens coloridas e imagens em nível de cinza caso seja colorida, as imagens devem ser convertidas para o modelo YUV ou YIQ (luminância e crominância). A crominância (I, Q e U, V) traz a informação de cor. Eles são subamostrados (4:2:0) para cada 4 pixels, somente dois trazem a informação de cor.
Principais Passos no JPEG A capacidade visual de perceber diferenças de tonalidades é maior em nível de cinza do que em informações coloridas; Quando um visualizador JPEG exibe uma imagem, ele decodifica cada um dos canais (Y, I, e Q ou Y, U e V) e os une para exibição. Cada pixel de cor é repetido para um grupo de 4 pixels.
Diagrama de Blocos YUQ ou YIQ f(i,j) DCT 2D F(u,v) Quantização F u, v 8 x 8 Tabelas de quantização DPCM DC Arquivo JPEG header tables Codificação por entropia RLC AC data Tabelas de codificação
Passos DCT 2D em blocos de imagens: A imagem é dividida em blocos de 8 x 8 pixels e a transformada cosseno é aplicada para cada bloco; Como resultado tem se 8 x 8 componentes de frequência F(u,v); Razão para usar tais blocos acelerar o cálculo da transformada.
Passos Quantização: Tem o objetivo de reduzir o número total de bits necessários para comprimir a imagem; Consiste na divisão de cada elemento da frequência por um número inteiro e, então, o seu arredondamento. F u, v =round F u, v Q u, v Q(u,v) é o elemento na posição (u,v) da matriz de quantização.
Passos = 16 Q 8 8 Para a luminância: 11 10 16 24 40 51 61 12 12 14 19 26 58 60 55 14 13 16 24 40 57 69 56 14 17 22 29 51 87 80 62 18 22 37 56 68 109 103 77 24 35 55 64 81 104 113 92 49 64 78 87 103 121 120 101 72 92 95 98 112 100 103 99
Passos = 17 Q 8 8 Para a crominância: 18 24 47 99 99 99 99 18 21 26 66 99 99 99 99 24 26 56 99 99 99 99 99 47 66 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
Passos Observação: Antes de proceder com a transformação cosseno, a componente Y, apenas, tem seus valores subtraídos por 128 transformar o bloco em uma imagem 8 x 8 com média 0.
Passos Preparação para a Codificação por Entropia Após a quantização dos blocos, as componentes DC e AC são tratadas separadamente para a codificação; Componente DC modulação por código de pulso diferencial (DPCM); Componente AC codificação por comprimento de corrida (RLC.)
Passos Relembrando DPCM codificação preditiva sem perdas (codificação de áudio). f n =função f n 1, f n 2, e n =f n f n e n =Q [e n ] f n = f n e n
Passos Codificação por comprimento de corrida (RLC): Tipo de codificação que, para uma determinada sequência de valores iguais de uma fonte de alimentação (símbolos), armazena apenas o valor e a quantidade de ocorrências que ele possui nessa informação; Como as componentes de alta frequência são setadas para zero, então a informação AC consistirá em uma sequência contendo muitos zeros;
Passos Codificação por comprimento de corrida (RLC): Para que essas codificações possam ocorrer, os blocos 8 x 8 contendo as informações de frequência são transformados em um vetor de 64 elementos através de um escaneamento em zigzag visa concatenar a maior quantidade possível de zeros;
Passos Codificação por comprimento de corrida (RLC):
Passos Codificação por entropia: Aplicação do código de Huffman para as componentes DC e AC.