JPEG2000 Acadêmicos: Cassiano Cesar Casagrande Claudir Galesky Junior Rafael Voltolini
Compressão JPEG2000 A codificação pode ser dividida em três partes principais: Pré-processamento Processamento principal Construção do bit-stream final
Pré-processamento Preparação da imagem para aplicação da transformada DWT Identificação das componentes Divisão em tiles DC-level shifting Transformada de componente
Identificação das componentes Cada componente é tratada separadamente Imagens monocromáticas Com tabela de cores RGB RGB com alfa etc.
Divisão em Tiles Divisão de cada componente em tiles Tiles são regiões retangulares que podem ser decodificadas de forma independente
Divisão em Tiles Tiles maiores tem qualidade visual melhor que tiles menores Razão: Uma vez que os tiles são comprimidos independentemente, distorções visíveis serão criadas nas bordas quando muito quantizada para uma grande compressão
(a) imagem original de 720x576 (b) sem divisão em tiles (c) tile de 128x128 (d) tile de 64x64
DC-Level Shifting Subtrai-se de cada amostra o valor 2 B-1 Onde B é precisão de cada amostra em bits Tornar o seu valor simétrico em torno de zero Reduzir a precisão aritmética necessária para calcular a DWT
Transformação de Componente Transformação do Sistema de Cores ICT RCT
Transformação de Componente Irreversable Component Transform ICT 1a codificação 1b decodificação
Transformação de Componente Reversable Component Transform RCT 2a codificação 2b decodificação Utiliza divisão inteira
Processamento Principal Núcleo da codificação JPEG 2000 Transformada DWT (Discrete Wavelet Transform) e decomposição em sub-bandas de freqüência Quantização com valor de diferente por sub-banda Codificação por entropia (codificação aritmética)
Transformada DWT Usada para analisar os tiles em diferentes níveis de decomposição (NL), que podem gerar componentes com diferentes resoluções Cada nível de decomposição contém um número de sub-bandas Para imagens digitais 4 tipos de sub-bandas: LL low-low HL high-low LH low-high HH high-high
Representação gŕafica da Transformada de Wavelet em uma dimensão
Transformada de Wavelet em duas dimensões
1 Nível 2 Nível 3 Nível
Quantização A quantização é o processo pelo qual os coeficientes da DWT são reduzidos em precisão Este processo é utilizado na compressão com perdas Uma vez realizado o processo de redução de precisão não se pode obter os valores originais sem que hajam perdas
Quantização
Quantização
Quantização Para realizar a desquantificação é usada a seguinte regra: z = [q + r sign(q)] b, para q 0 z = 0, para q = 0 Onde: z é o valor reconstruído (com erro de quantificação) r é o desvio (bias) de reconstrução com r = 0,5 (ponto médio) com r < 0,5 o valor reconstruído tende para zero (um valor típico é r = 0,375)
Quantização Seja q = -2 o índice de quantificação, b = 10 e r = 0,375; o valor desquantificado é: z = (-2 0,375) 10 = -23,75 z = (-2 0,5) 10 = 25
Codificador entrópico Geração dos code-blocks independentes e bitplanes Exemplo de divisão em code blocks de 64x64 pixels
Codificador entrópico
Codificação dos índices de quantificação (bit-plane) Exemplo após a descodificação de 6 bit-planes: Índice descodificado = 000110 = 6 Passo de quantificação = 12 Valor desquantificado = (6 + 0,5) 12 = 78 A organização em bit-planes tem várias vantagens: descodificação progressiva dos índices de quantificação codificação eficiente realizada pelo codificador entrópico
Codificador entrópico Na transmissão progressiva, podem ser configurados os seguintes modos: 1. Resolução mínima, máxima qualidade: transmitem-se todos os bitplanes da primeira subbanda (LL2) 2. Resolução média, máxima qualidade: transmitem-se todos os bitplanes das primeira n sub-bandas (por exemplo: LL2, HL2, LH2 e HH2) 3. Resolução máxima, máxima qualidade: transmitem-se todos os bitplanes de todas as subbandas
Codificador entrópico 4. Resolução máxima, especificando a qualidade objectiva (SNR): transmitem-se alguns (a especificar) bitplanes de todas as sub-bandas 5. Resolução máxima, especificando a qualidade subjectiva (qualidade visual): transmitem-se alguns (a especificar) bitplanes de algumas sub-bandas
Geração do Bit-Stream Realiza a multiplexagem dos blocos de bits e constrói o codestream suportando os seguintes tipos de descodificação progressiva: por ``resolução espacial'', por ``SNR'', por ``Região de interesse'' e por ``Componentes espectrais''
Regiões de Interesse (ROI Region of Interest) Permitem codificar parte da imagem com mais qualidade que o restante (background) Em uma transmissão essas regiões são transmitidas primeiro Os coeficientes da região de interesse são colocados em planos de bits mais altos (como se fossem mais significativos)
ROI
Codificação progressiva por Resolução espacial
Codificação progressiva por SNR
Comparação com o JPEG
Comparação com o JPEG
JPEG --- 2 bpp JPEG2000 --- 2 bpp
JPEG --- 1 bpp JPEG2000 --- 1 bpp
JPEG --- 0.5 bpp JPEG2000 --- 0.5 bpp
Características Gerais Desempenho melhor com baixa precisão Abaixo de 0.25 bit/pixel Transmissão com baixa largura de banda Intervalo de precisão do pixel dinâmico Compressão e descompressão de imagens com precisão de componentes diferentes [1, 38] bits Compressão com e sem perda Mesma arquitetura
Características Gerais Imagens grandes e grande número de componentes Tamanho máximo 2 32-1 x 2 32-1 Número máximo de componentes 2 14 Imagens de satélite Imagens multi-espectrais Tamanho do arquivo comprimido pode ser especificado pelo usuário Impressoras, scanners
Características Gerais Transmissão progressiva Qualidade Resolução Acesso aleatório a imagem comprimida Região de interesse Usuário pode selecionar regiões da imagem Manipulação em objetos na imagem comprimida Rotação, recorte, translação
Características Gerais Robustez a erros de bits Transmissão em canais com alta quantidade de ruídos Construção seqüencial da imagem Capacidade de inserir metadados Segurança Marca d'água, Impressão digital Estenografia
Aplicações A especificação PDF (Portable Document Format), versão 1.5, e o Acrobat Reader (versão 6), incluem suporte para JPEG 2000. A Apple Computer anunciou suporte do JPEG 2000 com o Quicktime 6.0. Adobe Photoshop CS, disponível em: http://www.adobe.com/
Aplicações O JPEG 2000 foi aceite como formato a ser usado em aplicações médicas (norma DICOM - Digital Imaging and Communications in Medicine). A norma ISO/IEC 19794 prevê a utilização do JPEG 2000 em biometria.
Bibliografia Consultada ACHARYA, Tinku; TSAI, Ping-Sing. JPEG2000 Standard for Image Compression: Concepts, Algorithms and VLSI Architectures. Wiley-Interscience. USA, 2005. http://en.wikipedia.org/wiki/jpeg_2000 homepages.dcc.ufmg.br/~nivio/cursos/pa03/seminarios/seminario 10/seminario10.ps http://www.data-compression.com/image.shtml http://www.fbissoli.hostmach.com.br/hipermidia/norma_jpeg200 0.pdf http://jpeg2000.epfl.ch/ http://evandro.net/artigos/jpeg2000.html http://www.eetimes.com/story/oeg19991228s0028 http://www.midiacom.uff.br/~debora/fsmm/pdf/parte4a.pdf
Perguntas?