Buscar

parte4 - Redes Convergentes

Prévia do material em texto

1
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
Imagem Estática
Profa. Débora Christina Muchaluat Saade
deborams@telecom.uff.br
Imagem EstáticaImagem Estática
Profa. Débora Christina Muchaluat Saade
deborams@telecom.uff.br
Departamento de Engenharia de Telecomunicações Departamento de Engenharia de Telecomunicações -- UFFUFF
2
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
Imagem EstáticaImagem Estática
� BMP
� GIF
� TIFF
� PNG
� JPEG
3
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
BMPBMP
� 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
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
BMPBMP
� Formato bitmap
• Uso de uma tabela de cores (palette)
5
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
BMPBMP
� Formato bitmap
• Sem tabela de cores
6
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
BMPBMP
� 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
7
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
GIFGIF
� 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
• Comprime de 24 bits para 8 bits
• Compressão de 3:1 9
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
GIF GIF –– modo básico de operaçãomodo básico de operação
10
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
GIFGIF
� 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
• entrelaçamento
11
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
GIFGIF
12
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
GIFGIF
� 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
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
GIFGIF
14
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
TIFFTIFF
� 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
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
TIFFTIFF
� 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
16
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
PNGPNG
� Portable Network Graphics
� Padrão W3C – World-Wide Consortium 
• Padrão ISO 15948:2003
� Projetado para substituir GIF e TIFF
17
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
PNG x GIFPNG 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
18
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
PNGPNG
� 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 
edição de uma imagem (em comparação com JPEG)
19
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
PNGPNG
� Tipos de imagem PNG
20
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
PNGPNG
� True color com alpha channel
21
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
PNGPNG
� Com tabela de cores (palette) – indexed colour
22
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
PNGPNG
�Modo entrelaçado em 7 passos
23
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
PNGPNG
� Filtros de Compressão por linha
• Objetivo: preparar os dados da imagem para 
compressão ótima
24
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
PNGPNG
� 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
bc
x
25
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
PNGPNG
� Tipos de filtros de compressão
Filt(x) = Orig(x) - PaethPredictor(Orig(a), Orig(b), Orig(c)) Paeth4
Filt(x) = Orig(x) - (Orig(a) + Orig(b)) / 2Average3
Filt(x) = Orig(x) - Orig(b)Up2
Filt(x) = Orig(x) - Orig(a)Sub1
Filt(x) = Orig(x)None0
CodificaçãoNomeTipo
26
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
PNGPNG
� Filtro de Compressão Paeth (Paeth Predictor)
• Criado por Alan Paeth
27
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
PNGPNG
� Codificação
28
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
JPEGJPEG
� Joint Photographic Experts Group
� Padrão ISO – IS 10918
� Define vários modos de compressão para uso em 
diversas aplicações
• Modo seqüencial 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
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
JPEGJPEG
30
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
JPEGJPEG
� 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 valoresda matriz
– Mais rápido em matrizes menores (8 x 8)
• Ex.: imagem 640 x 480 => 80x60 (4800) blocos de 8x8
31
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
JPEGJPEG
32
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
JPEGJPEG
33
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
JPEGJPEG
� 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 freqüência horizontal
– Para i=0 (coluna) => coeficientes de freqüência vertical
34
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
JPEGJPEG
35
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
JPEGJPEG
� Quantização
• Olho humano é mais sensível ao coeficiente DC e 
coeficientes de freqüências espaciais mais baixas
• Freqüê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
36
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
JPEGJPEG
37
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
JPEGJPEG
38
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
JPEGJPEG
� 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 freqüências espaciais aumentam
• O coeficiente DC é o maior na matriz transformada
• Muitos dos coeficientes de freqüências mais altas 
são nulos
� Últimos 2 pontos são explorados na codificação 
por entropia (próximo estágio)
39
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
JPEGJPEG
� Codificação por entropia (4 passos)
• Vetorização (vectoring)
• Codificação diferencial (preditiva)
• Codificação por carreira (run-length)
• Codificação de Huffman
� Estágio também conhecido como
• Variable-length coding (VLC) stage
� Utiliza codewords de tamanho variável
40
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
JPEGJPEG
� Vetorização
• Transformação da matriz de 2 dimensões em um vetor
• Coeficientes mais baixos são maiores
• Varredura da matriz em zig-zag
41
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
JPEGJPEG
� Codificação diferencial
• Coeficiente DC 
� Codificação por carreira
• Coeficientes AC
42
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
JPEGJPEG
� Codificação diferencial
• Coeficiente DC 
• Como blocos são pequenos, não tem muita variação entre 
coeficientes DC de blocos sucessivos
– Valor é codificado como diferença do valor do bloco corrente 
para o anterior
– O primeiro em relação a 0 (zero)
• Ex.: 12, 13, 11, 11, 10, ...
• Diferenças: 12, 1, -2, 0, 1, ...
• Codificação usa o formato (SSS, valor), onde SSS indica o 
número de bits necessários para codificador o valor
43
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
JPEGJPEG
� Codificação Diferencial
• Exemplo: 12, 1, -2, 0, 1
• Valores negativos são codificados com o 
complemento do binário (sem sinal)
� Valor SSS Valor Codificado
• 12 4 1100
• 1 1 1
• -2 2 01
• 0 0
• -1 1 0
44
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
JPEGJPEG
� Regras usadas na codificação diferencial
45
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
JPEGJPEG
� Codificação por carreira
• 63 Coeficientes AC
• O vetor contém longas strings de 0 (zero)
• Coeficientes AC são codificados usando uma string de pares 
de valores
• Codificação usa o formato (skip, value)
– Skip = número de zeros
– Value = próximo coeficiente não-nulo
• (0,6)(0,7)(0,3)(0,3)(0,3)(0,2)(0,2)(0,2)(0,2)(0,0)
• (0,0) indica o final da string (todos os coeficientes restantes 
são zero - 0)
46
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
JPEGJPEG
� Codificação do valor (value) 
• usa o formato (SSS, valor), onde SSS indica o 
número de bits necessários para codificador o valor
� Exemplo: (0,6)(0,7)(3,3)(0,-1),(0,0)
� Coef. AC Skip SSS Valor
• 0,6 0 3 110
• 0,7 0 3 111
• 3,3 3 2 11
• 0,-1 0 1 0
• 0,0 0 0
47
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
JPEGJPEG
� Codificação de Huffman
• Usada para codificar a saída 
das codificações diferencial e 
por carreira
� Para coeficientes DC, o campo 
SSS é codificado com Huffman
• Decodificador determina sem 
dúvidas o primeiro SSS do 
restante dos bits codificados
� Tabela de Huffman default ou 
específica
48
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
JPEGJPEG
� Exemplo: 12, 1, -2, 0, 1
� Valor SSS SSS(Huff.) Valor Bitstream
• 12 4 101 1100 1011100
• 1 1 011 1 0111
• -2 2 100 01 10001
• 0 0 010 010
• -1 1 011 0 0110
49
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
JPEGJPEG
� Para coeficientes AC, os campos Skip e SSS são tratados 
em conjunto (como um símbolo composto)
• Skip varia de 0 a 15
• SSS varia de 0 a 10
� Tabela de Huffman default ou específica (deve ser 
enviada junto com o bitstream)
50
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
JPEGJPEG
� Exemplo: (0,6)(0,7)(3,3)(0,-1),(0,0)
� Coef. AC Skip/SSS cód. Huff. Valor
• 0,6 0/3 100 110
• 0,7 0/3 100 111
• 3,3 3/2 111110111 11
• 0,-1 0/1 00 0
• 0,0 0/0 1010 (end of block)
� Bitstream:
• 100110 100111 11111011111 000 1010
� No exemplo:
• 30 bits para codificar coeficientes AC, assumindo 7 bits para coeficiente 
DC = total de 37 bits
• Suponha que cada pixel da matriz 8x8 original tivesse 8 bits
• Taxa de compressão resultante: 
– 512/37 => 13,8:1
51
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
JPEGJPEG
� Construção dos quadros
• Definição da estrutura do bitstream completo de 
uma imagem
– Quadro (frame) JPEG
• Estrutura hierárquica
52
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
JPEGJPEG
53
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
JPEGJPEG
� Primeiro nível (level 1)
• Delimitador de início
• Cabeçalho
– Tamanho total da imagem em pixels
– Número e tipos dos componentes usados na representação
• Tons de cinza, RGB, YCrCb
– Formato de digitalização
• 4:2:2, 4:2:0, ...
• Conteúdo
• Delimitador de fim
54
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
JPEGJPEG
� Segundo nível (level 2) – conteúdo do quadro
• componentes chamados scan
• cabeçalho (scan header) que contém
– Identidade dos componentes (R, G, B, ...)
– Número de bits usados para digitalizar cada 
componente
– Tabelas de quantização utilizadas para codificar cada 
componente
55
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
JPEGJPEG
� Terceiro nível (level 3)
� Cada componente consiste de: 
• 1 ou mais segmentos e cabeçalhos
� Segmento
• contém um grupo de blocos 8x8
– DC, skip/value, skip/value, ..., end-of-block
� Cabeçalho (segment header)
• Tabelas de Huffman utilizadas na codificação de cada 
segmento
� Cada segmento pode ser decodificado de forma 
independente dos outros
• impede a propagação de erros em outros segmentos
56
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
Codificador JPEGCodificador JPEG
57
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
Decodificador JPEGDecodificador JPEG
58
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas MultimídiaDecodificador JPEGDecodificador JPEG
� 1. Decodificador de quadros
• Identifica tabelas utilizadas
� 2. Decodificação de Huffman
• Usando tabela identificada
� 3. Decodificação Diferencial (coef. DC) e por Carreira 
(coef. AC)
� 4. “Desquantização”
• Usando tabela identificada
� 5. Transformada de Co-senos inversa
� 6. Construção da imagem final
59
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
Decodificador JPEGDecodificador JPEG
� Transformada de Co-senos inversa:
60
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
JPEGJPEG
� Descompressão pode ser feita de forma
progressiva
• Modo progressivo
• Modo hierárquico
61
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
JPEGJPEG
�Modo progressivo
• Seleção de espectro:
– Primeiro o coeficiente 
DC e os coeficientes 
de baixa freqüência 
são enviados para cada 
bloco; depois os 
coeficientes de alta 
freqüência
62
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
JPEGJPEG
� Modo progressivo
• Aproximação sucessiva:
– Primeiro o coeficiente DC é 
enviado para cada bloco;
– depois os bits dos outros 
coeficientes do mais 
significativo para o menos 
significativo
– Técnica mais interessante se 
imagem tem muita variação 
(coeficientes de alta 
freqüência altos)
63
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
JPEGJPEG
� Vantagens do modo progressivo:
• envia os coeficientes mais importantes juntos
• Quando recebe os coeficientes mais importantes, já 
começa a mostrar a imagem
– Efeito: imagem aparece borrada e vai ficando mais 
nítida conforme vai chegando o resto
64
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
JPEGJPEG
�Modo hierárquico:
• Filtragem de amostras com redução de resolução 
pelo fator 2 em múltiplas dimensões
• Codificação da imagem reduzida
• Gradativamente envia restante das amostras
� Efeito no receptor:
• Melhora gradativa da resolução geométrica
� Interessante quando dispositivo receptor não tem 
resolução suficiente para apresentar a imagem
• Basta mandar a imagem reduzida
65
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
JPEGJPEG
� Novo padrão JPEG 2000
� ISO/IEC 15444
� http://www.jpeg.org
� http://www.iso.org
� ISO/IEC 15444-1:2000 - Part 1: Core coding system
� ISO/IEC 15444-3:2002 - Part 3: Motion JPEG 2000
� ISO/IEC 15444-4:2002 - Part 4: Conformance testing
� ISO/IEC 15444-6:2003 - Part 6: Compound image file 
format
66
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
Imagem Gráfica 
(Vetorial)
Profa. Débora Christina Muchaluat Saade
deborams@telecom.uff.br
Imagem Gráfica Imagem Gráfica 
((VetorialVetorial))
Profa. Débora Christina Muchaluat Saade
deborams@telecom.uff.br
Departamento de Engenharia de Telecomunicações Departamento de Engenharia de Telecomunicações -- UFFUFF
67
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
SVGSVG
� Scalable Vector Graphics - versão 1.1 (jan. 2003)
� Padrão do W3C (www.w3.org) e ISO/IEC 15948:2003
� Linguagem declarativa (XML) para descrição de 
gráficos bidimensionais
• Página web SVG (<svg>) ou embutido em XHTML
� Linguagem Modular
• Perfil XHTML+MathML+SVG
� Visualizadores SVG (plugins)
• Adobe SVG Viewer, Corel SVG Viewer
� Editores que exportam no formato SVG
• Adobe Illustrator, Corel Draw
68
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
SVGSVG
� Características Principais:
• Lida com objetos geométricos (linhas e curvas)
– Formas básicas: rect, circle, ellipse, line, polyline, polygon
• Símbolos definidos pelo usuário 
– <symbol>
• Inclusão de imagens estáticas (raster)
– Visualizador deve dar suporte a formatos PNG e JPEG no 
mínimo
• Formatação de texto (ou usa folhas de estilo CSS)
• Definição de metadados 
69
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
SVGSVG
� Características Principais:
• Suporte a Animação
– <animate>
• Interatividade
– Execução de ações (animações ou scripts) em resposta a eventos 
como click, mouseover, mousedown...
• Definição de elos
– <a href=“...” >
• Definição de alternativas de conteúdo basedas em atributos 
de teste (usuário e plataforma)
– <switch>

Continue navegando