A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Guilherme Defreitas Juraszek

Apresentações semelhantes


Apresentação em tema: "Guilherme Defreitas Juraszek"— Transcrição da apresentação:

1 Guilherme Defreitas Juraszek
Compressão de Imagens Guilherme Defreitas Juraszek

2 Por que precisamos da compressão de imagens?
x x = 6MB Altura Largura Cores (RGB, 8 bits cada) = 1 frame!

3 Por que precisamos da compressão de imagens?
6MB x x = +10GB Quadro fps 1 min = vídeo de 1 minuto

4 Por que precisamos da compressão de imagens?
Hubble transmitia 120GB de dados por SEMANA. Fonte: Curiosity se comunica com a terra a 32kbps, ou 2mbps através de satélites intermediários (janela de comunicação de 8 minutos por dia) Fonte:

5 Por que precisamos da compressão de imagens?
*Requisito: 2Gbps (GIGA)

6 Como podemos comprimir?
A maioria das imagens não apresentam pixels com cores completamente diferentes entre si. Representar a imagem B (cada linha tem um nível de cinza distinto) - 8 bits por pixel e representar todos os pixels (Ex: 128,128,128,128,128…) 8 bits por pixel e representar o tamanho de cada linha (Ex: 230,0,1000) Número de vezes + valor (Ex: 1000,230) © 1992–2008 R. C. Gonzalez & R. E. Woods

7 Compressão de Imagens Padrões estabelecidos
Você deve ser capaz de tirar uma foto em uma câmera difital e abrir a foto no seu computador Implementados em hardware

8 Compressão de Imagens Mapper: Transformam a imagem em um formato mais amigável para compressão Domínio de Frequência - Transformada de Fourier Domínio espacial – Olhar os pixels vizinhos Quantização Faz a redução Normalmente introduz erro Se for “lossy” impede a reconstrução exata da imagem Ex: ceil(valor/2)*2 Symbol Coder Organizar a informação para ser transmitida de forma eficiente Explora a redundância da informação Ex: codificação de huffman

9 Codificação de Huffman
JPEG Mapping 8x8 DCT Codificação de Huffman DCT – Transformada Discreta de Cosseno (Discrete Cosine Transform)

10 JPEG – Blocos 8x8 Uma imagem RGB pode ser decomposta em 3 matrizes, uma R, uma G e B. Uma possível solução seria aplicar a condificação JPEG em cada um dos canais

11 JPEG – Blocos 8x8 JPEG transforma o RGB para o espaço de cores YCbCr
Uma possível solução seria aplicar a condificação JPEG em cada um dos canais

12 JPEG – Blocos 8x8 Subdividir a imagem em blocos de 8x8
Uma possível solução seria aplicar a condificação JPEG em cada um dos canais

13 DCT – Discrete Cosine Transform
Com a imagem dividida em pedaços de 8x8 (64 pixels) A ideia é transformar esse pedaço para um domínio onde o primeiro elemento possibilite recriar a imagem com o menor erro possível (root mean square error), os demais 63 elementos são descartados. Kahunen-Loève Transform É dependente da imagem Lento para calcular Necessita da imagem inteira para gerar os dados para o cálculo, não pode ser calculado de forma “online” ou “on the fly”. Uma possível solução seria aplicar a condificação JPEG em cada um dos canais

14 DCT – Discrete Cosine Transform
T(u,v) = Σ Σ f(x,y) . R(x,y,u,v) n x n x=0 y=0 n-1 F(x,y) = Σ Σ T(x,y) . S(x,y,u,v) n x n x=0 y=0 n-1 Uma possível solução seria aplicar a condificação JPEG em cada um dos canais Usando Kahunen-Loève R e S tem valores específicos de acordo com a imagem, usando DCT os valores são fixos para todas as imagens.

15 DCT – Discrete Cosine Transform
R(x,y,u,v) = S(x,y,u,v) = α(x) α(v) cos + (2x + 1)uπ 2n (2y + 1)vπ Uma possível solução seria aplicar a condificação JPEG em cada um dos canais 1/n se u = 0 2/n se u ≠ 0 α(x) = n = tamanho do bloco

16 n = 4

17 8x8

18 DCT vs DFT

19 Codificação de Huffman
JPEG Mapping 8x8 DCT Codificação de Huffman DCT – Transformada Discreta de Cosseno (Discrete Cosine Transform)

20 Quantização

21 Quantização

22 Quantização

23 Quantização

24 Codificação de Huffman
JPEG Mapping 8x8 DCT Codificação de Huffman DCT – Transformada Discreta de Cosseno (Discrete Cosine Transform)

25 Codificação/Compressão de Huffman

26 Codificação/Compressão de Huffman

27 Codificação/Compressão de Huffman

28 Exercício Executar manualmente a codificação de Huffman

29 1 1 128:0.47 0.53 1 87:0.25 0.28 1 255:0.03 186:0.25

30 Codificação/Compressão de Huffman
Como saber se vou ter uma boa compactação dos dados usando Huffman? R: Entropia – Ela diz qual é a média do tamanho da representação dos símbolos após a codificação. P(s) = Probabilidade do símbolo S - Σ p(s) log2 p(s) Entropia = H = Símbolos

31 Exercícios Implementar o algoritmo JPEG
Implementar em tons de cinza Usar a implementação DCT do adessowiki Efetuar a quantização usando a tabela do slide 20 Representar usando a forma do slide figura d Não precisa implementar Huffman Imagem Original -> DCT -> Quantização Quantização inversa -> DCT inversa -> Exibe imagem


Carregar ppt "Guilherme Defreitas Juraszek"

Apresentações semelhantes


Anúncios Google