Presentation is loading. Please wait.

Presentation is loading. Please wait.

Código de Huffman. Código aritmético Run-Length Encoding (RLE)

Similar presentations


Presentation on theme: "Código de Huffman. Código aritmético Run-Length Encoding (RLE)"— Presentation transcript:

1 Código de Huffman

2

3 Código aritmético

4 Run-Length Encoding (RLE)

5 Codificação preditiva Predictive Coding transmit the difference between estimate of future sample & the sample itself. - Delta modulation - DPCM - Adaptive predictive coding - Differential frame coding

6 Differential Pulse Code Modulation (DPCM)

7 Delta Modulation + - f (t) y (t) x(t) (t)

8 Delta modulation f(t) t y(t) x(t)

9 Codificação de planos de bit a b c d e f f e d c b a

10 Codificação por transformação Transform Coding - transform image - code the coefficients of the transform - transmit them - reconstruct by inverse transform Benefits - transform coeff. relatively uncorrelated - energy is highly compacted - reasonable robust relative to channel errors

11 Padrão JPEG "Joint Photographic Expert Group". Voted as international standard in 1992. "Joint Photographic Expert Group". Voted as international standard in 1992. Works with color and grayscale images, e.g., satellite, medical,... Works with color and grayscale images, e.g., satellite, medical,... Lossy and lossless Lossy and lossless

12 JPEG (intraframe) First generation JPEG uses DCT+Run length Huffman entropy coding. First generation JPEG uses DCT+Run length Huffman entropy coding. Second generation JPEG (JPEG2000) uses wavelet transform + bit plane coding + Arithmetic entropy coding. Second generation JPEG (JPEG2000) uses wavelet transform + bit plane coding + Arithmetic entropy coding.

13 Visão geral JPEG DCT (Discrete Cosine Transformation) Quantization zigzag Scan DPCM on DC component RLE on AC Components Entropy Coding

14 Porquê DCT e não DFT DCT is similar to DFT, but can provide a better approximation with fewer coefficients The coefficients of DCT are real valued instead of complex valued in DFT. DCT reduces Gibbs effect between sub- image boundaries.

15 Porquê DCT e não DFT

16 DCT Transformada discreta de cosseno Inversa:

17 Funções base DCT de 8x8 Each 8x8 block can be looked at as a weighted sum of these basis functions. The process of 2D DCT is also the process of finding those weights.

18 DCT

19 Quantização F'[u, v] = round ( F[u, v] / q[u, v] ). Why? -- To reduce number of bits per sample F'[u, v] = round ( F[u, v] / q[u, v] ). Why? -- To reduce number of bits per sample Example: 101101 = 45 (6 bits). q[u, v] = 4 --> Truncate to 4 bits: 1011 = 11. Example: 101101 = 45 (6 bits). q[u, v] = 4 --> Truncate to 4 bits: 1011 = 11. Quantization error is the main source of the Lossy Compression. Quantization error is the main source of the Lossy Compression.

20 Tabelas de quantização Luminância Cromaticidades Um fator de qualidade multiplica a matriz de quantização.

21 Varredura Zig-Zag Why? -- To group low frequency coefficients in top of vector. Why? -- To group low frequency coefficients in top of vector. Maps 8 x 8 to a 1 x 64 vector. Maps 8 x 8 to a 1 x 64 vector.

22 Codifica DC com DPCM DC component is large and varied, but often close to previous value. DC component is large and varied, but often close to previous value. Encode the difference from previous 8 x 8 blocks -- DPCM Encode the difference from previous 8 x 8 blocks -- DPCM

23 Codifica AC com RLE 1 x 64 vector has lots of zeros in it 1 x 64 vector has lots of zeros in it Keeps skip and value, where skip is the number of zeros and value is the next non-zero component. Keeps skip and value, where skip is the number of zeros and value is the next non-zero component. Send (0,0) as end-of-block sentinel value. Send (0,0) as end-of-block sentinel value.

24 Codificação entrópica Categorize DC values into SIZE (number of bits needed to represent) and actual bits. Categorize DC values into SIZE (number of bits needed to represent) and actual bits. Example: if DC value is 4, 3 bits are needed. Example: if DC value is 4, 3 bits are needed. Send off SIZE as Huffman symbol, followed by actual 3 bits. Send off SIZE as Huffman symbol, followed by actual 3 bits. For AC components two symbols are used: Symbol_1: (skip, SIZE), Symbol_2: actual bits. Symbol_1 (skip, SIZE) is encoded using the Huffman coding, Symbol_2 is not encoded. For AC components two symbols are used: Symbol_1: (skip, SIZE), Symbol_2: actual bits. Symbol_1 (skip, SIZE) is encoded using the Huffman coding, Symbol_2 is not encoded. Huffman Tables can be custom (sent in header) or default. Huffman Tables can be custom (sent in header) or default.

25 Categorias de codificação SizeAmplitude -1.1 2-3..-2,2..3 3-7..-4,4..7 4-15..-8,8..15 5-31..-16,16..31 6-63..-32,32..63 7-127..-64,64..127 8-255..-128,128..255 9-511..-256,256..511 10-1023..512,512..1023

26 Código de luminância CategoriaTamanhoCode 0500 13010 24011 35100 47101 58110 6101110 71211110 814111110 9161111110 101811111110 1120111111110

27 Exemplo

28 JPEG 2000

29 Exemplos Original

30 Exemplos JPEG 27:1

31 Exemplos JPEG2000 27:1


Download ppt "Código de Huffman. Código aritmético Run-Length Encoding (RLE)"

Similar presentations


Ads by Google