Sistemas Multimídia
Imagem Estática
Profa. Débora Christina Muchaluat Saade
Departamento de Ciência da Computação - UFF
2
Sistemas Multimídia
Imagem Estática
ü BMP
ü GIF
ü TIFF
ü PNG
ü JPEG
ü JPEG 2000
Sistemas Multimídia
BMP
ü Bitmap
ü Usado no Windows
ü Baseado no modelo RGB
ü Profundidade do pixel
• 1 (preto/branco), 4, 8 e 24 bits
ü Pode usar codificação por carreira (run-length)
ü Tipos de compressão
• 0 - no compression – mais comum
• 1 - 8 bit run length encoding
• 2 - 4 bit run length encoding
• 3 - RGB bitmap with mask (transparência)
4
Sistemas Multimídia
BMP
ü Formato bitmap
• Uso de uma tabela de cores (palette)
Sistemas Multimídia
BMP
ü Formato bitmap
• Sem tabela de cores
6
Sistemas Multimídia
BMP
ü Formato bitmap
• Cabeçalho (header + info)
– informações sobre tamanho, profundidade do pixel e tipo de compressão
• tabela de cores
– indica todas as cores usadas no bitmap (exceto para representação de 24 bits por pixel)
– formato 4 bytes por linha (B, G, R, reservado)
• Região de dados – valor de cada pixel em linhas (múltiplos de 32 bits/4 bytes)
– Ex.: 6 bytes que representam uma linha em um bitmap:
• A0 37 F2 8B 31 C4 – Devem ser salvos como:
• A0 37 F2 8B 31 C4 00 00
• Arquivo .bmp armazena linhas de baixo para cima
Sistemas Multimídia
GIF
ü Graphics Interchange Format
• Formato proprietário da CompuServe
ü 24 bits por pixel (8 bits por componente R, G, B)
ü GIF utiliza uma tabela de 256 cores com as cores mais usadas na imagem
• Global color table
• Local color table
ü Cada valor na tabela tem 24 bits
ü Utiliza o índice da tabela (8 bits) para representar cada pixel da imagem
ü Reduz o número de cores representadas para 256
9
Sistemas Multimídia
GIF – modo básico de operação
Sistemas Multimídia
GIF
ü LZW pode ser usado
ü Tabela de 512 entradas
• 256 cores mais usadas
• Mais 256 combinações de 3 índices de 8 bits
ü Tabela de tamanho variável para acomodar mais combinações de 3 índices
ü Extensões permitem
• definir uma cor transparente
• animação
11
Sistemas Multimídia
GIF
Sistemas Multimídia
GIF
ü Permite que imagem seja transferida por partes
• modo entrelaçado
ü Útil para transferência em canais de baixa taxa ou com taxa de transmissão variável (Internet)
ü Descompressão pode ser feita de forma progressiva
ü Dados divididos em 4 grupos:
• 1/8, 1/8, 1/4, 1/2
13
Sistemas Multimídia
GIF
Sistemas Multimídia
TIFF
ü Tagged Image File Format – padrão ANSI
ü Resolução de até 48 bits por pixel (16 bits por componente R, G, B)
ü Usado para Imagens e documentos digitalizados
ü Formato usado é indicado por um código
• Formato não comprimido (code number = 1)
• Comprimido com LZW (code number = 5)
ü Códigos 2, 3 e 4 são usados para documentos digitalizados (mesmo formato de fax)
15
Sistemas Multimídia
TIFF
ü Compressão com LZW
• Mesma do GIF
• Tabela inicial de 256 cores que pode ser estendida até 4096 entradas (212)
ü Algumas extensões ao TIFF dão suporte a modo entrelaçado, mas não o padrão
Sistemas Multimídia
PNG
ü Portable Network Graphics
ü Padrão W3C – World-Wide Web Consortium
• Padrão ISO 15948:2003
ü Projetado para substituir GIF e TIFF
17
Sistemas Multimídia
PNG x GIF
ü Vantagens sobre GIF:
• Alpha channel, usado para especificar transparência
– GIF só suporta transparência binária (cada pixel é transparente ou opaco)
– PNG suporta vários níveis de transparência
• Gamma correction, para corrigir diferenças entre o brilho da imagem em monitores de diferentes plataformas
– Ex.: imagens editadas em Mac parecem mais escuras em PC
• Entrelaçamento bidimensional
• Melhor compressão (diferença de 5% a 25%)
ü Desvantagens:
• Não suporta animação
• Representação de imagem única somente
• Extensão para múltiplas imagens
– MNG – Multiple-Image Network Format
Sistemas Multimídia
PNG
ü Tipos de imagens:
• tons de cinza
• true color (RGB)
• com tabela de cores (palette)
• tons de cinza com alpha channel
• true color (RGB) com alpha channel
ü Profundidade do pixel:
• 1 a 16 bits por componente
ü Formato de compressão sem perda:
• Compactação com LZ77 e Huffman
ü Interessante para armazenar estágios intermediários da
19
Sistemas Multimídia
PNG
ü Tipos de imagem PNG
Sistemas Multimídia
PNG
ü True color com alpha channel
21
Sistemas Multimídia
PNG
ü Com tabela de cores (palette) – indexed colour
Sistemas Multimídia
PNG
ü Modo entrelaçado em 7 passos
23
Sistemas Multimídia
PNG
ü Filtros de Compressão por linha
• Objetivo: preparar os dados da imagem para compressão ótima
Sistemas Multimídia
PNG
ü Filtros de compressão
• Aplicados a bytes, não pixels
• Imagem entrelaçada => cada passo é tratado separadamente
ü Pixel anterior, superior ou superior esquerdo podem ser usados no cálculo do valor do filtro
ü Decodificador precisa guardar linha anterior
a b c
x
25
Sistemas Multimídia
PNG
ü Tipos de filtros de compressão
Tipo Nome Codificação
0 None Filt(x) = Orig(x)
1 Sub Filt(x) = Orig(x) - Orig(a) 2 Up Filt(x) = Orig(x) - Orig(b)
3 Average Filt(x) = Orig(x) - (Orig(a) + Orig(b)) / 2
4 Paeth Filt(x) = Orig(x) - PaethPredictor(Orig(a), Orig(b), Orig(c)) a
b c
x
Sistemas Multimídia
PNG
ü Filtro de Compressão Paeth (Paeth Predictor)
• Criado por Alan Paeth
27
Sistemas Multimídia
PNG
ü Codificação
Sistemas Multimídia
JPEG
ü Joint Photographic Experts Group
ü Padrão ISO – IS 10918
ü Define vários modos de compressão para uso em diversas aplicações
• Modo sequencial com perdas – modo básico
– Compressão de imagens monocromáticas e coloridas
ü 5 estágios principais:
• Preparação da imagem/bloco, DCT, quantização, codificação por entropia, construção dos quadros
29
Sistemas Multimídia
JPEG
Sistemas Multimídia
JPEG
ü Preparação da imagem/bloco
• Imagens monocromáticas, tons de cinza ou usando tabela de cores
– 1 matriz
• Imagem em RGB ou YCrCb
– 3 matrizes, uma para cada componente
– Matrizes de Cr e Cb podem ser menores (Ex.: 4:2:0)
• Cada elemento de uma matriz pode ter 8 ou 12 bits
• Divisão das matrizes em blocos de 8 x 8 submatrizes
– Cálculo da transformada para cada posição usa todos os valores da matriz
– Mais rápido em matrizes menores (8 x 8)
31
Sistemas Multimídia
JPEG
Sistemas Multimídia
JPEG
33
Sistemas Multimídia
JPEG
ü Cálculo da Transformada Discreta de Co-senos
• DCT
• Discrete Cosine Transform
• Todos os 64 valores na matriz de entrada P[x,y] (f(x,y))
contribuem para cada entrada na matriz transformada F[i,j]
(F(u,v))
• F[0,0] = coeficiente DC – média de todos os 64 valores
• Outros valores são chamados coeficientes AC
– Para j=0 (linha) => coeficientes de frequência horizontal
– Para i=0 (coluna) => coeficientes de frequência vertical
Sistemas Multimídia
JPEG
35
Sistemas Multimídia
JPEG
ü Quantização
• Olho humano é mais sensível ao coeficiente DC e coeficientes de frequências espaciais mais baixas
• Frequências muito altas não são percebidas
– Coeficientes descartados (setados como zero) na matriz transformada
• Threshold para cada coeficiente (tabela de quantização)
– Divisão do coeficiente pelo threshold
– Quociente da divisão é arredondado para valor inteiro (erro de quantização => perda de informação)
• Tabela de quantização
– Padrão tem 2 tabelas defaults (luminância, crominância)
– Pode usar tabela específica
Sistemas Multimídia
JPEG
37
Sistemas Multimídia
JPEG
Sistemas Multimídia
JPEG
ü Conclusões sobre a quantização:
• O cálculo dos coeficientes quantizados envolve
arredondamento para o valor inteiro mais próximo
• Os valores de threshold usados aumentam à medida que as frequências espaciais aumentam
• O coeficiente DC é o maior na matriz transformada
• Muitos dos coeficientes de frequências mais altas são nulos
ü Últimos 2 pontos são explorados na codificação por entropia (próximo estágio)