imagem estática - laboratório de pesquisas em

43
1 Sistemas Multimídia Imagem Estática Profa. Débora Christina Muchaluat Saade [email protected] Departamento de Ciência da Computação - UFF

Upload: others

Post on 08-Dec-2021

1 views

Category:

Documents


0 download

TRANSCRIPT

1

Sistemas Multimídia

Imagem Estática

Profa. Débora Christina Muchaluat Saade

[email protected]

Departamento de Ciência da Computação - UFF

2

Sistemas Multimídia

Imagem Estática

ü  BMP ü  GIF ü  TIFF ü  PNG ü  JPEG ü  JPEG 2000

3

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)

5

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

7

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

•  Comprime de 24 bits para 8 bits •  Compressão de 3:1

9

Sistemas Multimídia

GIF – modo básico de operação

10

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 •  entrelaçamento

11

Sistemas Multimídia

GIF

12

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

14

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

16

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

18

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 edição de uma imagem (em comparação com JPEG)

19

Sistemas Multimídia

PNG

ü  Tipos de imagem PNG

20

Sistemas Multimídia

PNG

ü  True color com alpha channel

21

Sistemas Multimídia

PNG

ü  Com tabela de cores (palette) – indexed colour

22

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

24

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

abcx

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))

abcx

26

Sistemas Multimídia

PNG

ü  Filtro de Compressão Paeth (Paeth Predictor) •  Criado por Alan Paeth

27

Sistemas Multimídia

PNG

ü  Codificação

28

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

30

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) •  Ex.: imagem 640 x 480 => 80x60 (4800) blocos de 8x8

31

Sistemas Multimídia

JPEG

32

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

34

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

36

Sistemas Multimídia

JPEG

37

Sistemas Multimídia

JPEG

38

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)

39

Sistemas Multimídia

JPEG

ü  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

Sistemas Multimídia

JPEG

ü  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

Sistemas Multimídia

JPEG

ü  Codificação diferencial •  Coeficiente DC

ü  Codificação por carreira •  Coeficientes AC

42

Sistemas Multimídia

JPEG

ü  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

Sistemas Multimídia

JPEG

ü  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

Sistemas Multimídia

JPEG

ü  Regras usadas na codificação diferencial