Metodologías de Compresión, Restauración yReconstrucción de imagen:
Compresión de Imágenes y Vídeo


Vicente González Ruiz
José Jesús Fernández Rodríguez
Contenidos
1 La compresión de imágenes y vídeo
 1.1 ¿Qué es una imagen?
 1.2 ¿Qué es un vídeo?
 1.3 ¿Por qué comprimir ?
 1.4 ¿Qué tipos de compresores existen?
 1.5 ¿Cuáles son sus principales posibilidades?
 1.6 Escalabilidad
 Escalabilidad espacial: ejemplo
 Escalabilidad temporal: ejemplo
 Escalabilidad en calidad: ejemplo
 Escalabilidad por ROI/objeto: ejemplo
I  Compresión de texto
2 Fundamentos
 2.1 Las fuentes de redundancia
 2.2 Símbolos, series y cadenas
3 Compresión de series (RLE)
 La compresión de series
4 RLE básico
 4.1 Compresor
 4.2 Descompresor
 4.3 Ejemplo de compresión
5 RLE binario
 5.1 Compresor
 5.2 Descompresor
 5.3 Ejemplo de compresión
6 RLE con tamaño de serie mínimo
7 Compresión de cadenas
 La compresión de cadenas
8 LZ77 (Lempel y Ziv, 1977)
 8.1 Antecedentes
 8.2 Compresor
 8.3 Ejemplo de compresión
 8.4 Descompresor
 8.5 Ejemplo de descompresión
 8.6 LZSS (LZ77, Storer and Szymanski)
9 LZ78 (Lempel y Ziv, 1978)
 9.1 LZ78 vs LZ77
 9.2 Compresor
 9.3 Ejemplo de compresión
 9.4 Descompresor
 9.5 Ejemplo de descompresión
10 LZW (LZ78, Welch)
 10.1 LZW vs LZ78
 10.2 Compresor
 10.3 Ejemplo de compresión
 10.4 Descompresor
 10.5 Ejemplo de descompresión
11 Compresión entrópica
 11.1 Sub-optimalidad de los algoritmos greedy
 11.2 Bit de dato y bit de información
 11.3 Entropía de una fuente de información
 11.4 Un codificador entrópico universal
 11.5 Compresión basada en modelos probabilísticos
12 Codificación de Shannon-Fano
 12.1 Algoritmo de Shannon-Fano
 12.2 Ejemplo de codificación
13 Codificación de Huffman
 13.1 El Algoritmo de Huffman
 13.2 Generación del árbol de Huffman
 13.3 Ejemplo
 13.4 Comparación entre Shannon-Fano y Huffman
 13.5 Limitaciones del código de Huffman
14 Codificación Aritmética
 14.1 Los códigos aritméticos
 14.2 Compresor (versión sencilla)
 14.3 Descompresor (versión sencilla)
 14.4 Ejemplo de compresión
 14.5 Ejemplo de descompresión
 14.6 Transmisión incremental
 14.7 Codificador (versión real)
 14.8 Ejemplo de codificación (versión real)
 14.9 Descodificador (versión real)
15 Modelos probabilísticos
 15.1 Modelos estáticos
 15.2 Modelos adaptativos
 15.3 Modelos inicialmente vacíos
 15.4 Modelos con memoria
16 Transformada mover-al-frente
 La transformación mover-al-frente
 16.1 Transformada directa
 16.2 Transformada inversa
 16.3 Ejemplo de transformación
17 Codificación unaria
 La codificación unaria
18 Codificación de Rice
 La codificación de Rice
 18.1 Codificador
 18.2 Ejemplo de codificación
 18.3 Descodificador
 18.4 Ejemplo de descodificación
19 Codificación de Golomb
 La codificación de Golomb
 19.1 Codificador
 19.2 Ejemplo de codificación
 19.3 Descodificador
 19.4 Ejemplo de descodificación
20 La transformada de texto basada en predicción
 20.1 Codificador de orden 0
 20.2 Ejemplo de codificación
 20.3 Descodificador de orden 0
 20.4 Codificador de orden N
 20.5 Ejemplo de codificación
21 La transformada de Burrows-Wheeler
 21.1 El orden de los símbolos es importante
 21.2 Transformada directa
 21.3 Ejemplo de codificación
 21.4 Transformada inversa
 21.5 Ejemplo de descodificación
22 Un ejemplo real: gzip
 Acerca de gzip
 22.1 Compresión de “akiyo”
II  Compresión de imágenes
23 La compresión de imágenes
 23.1 Fundamentos
24 PNG (Portable Network Graphics)
 El formato de imagen PNG
 24.1 Compresión de “akiyo”
25 Lossless JPEG
 Lossless JPEG
 25.1 Codificador
 25.2 Descodificador
 25.3 Compresor de Huffman
 25.4 Ejemplo de codificación
 25.5 Descompresor de Huffman
 25.6 Ejemplo de descompresión
26 LOCO-I (JPEG-LS)
 26.1 Codificador
 26.2 Descodificador
 26.3 El modo run-mode
27 El estándar JPEG (ISO/IEC 10918-1) [11]
 JPEG
 27.1 Compresor
 27.2 RGB YCbCr
 El dominio RGB
 El dominio YCbCr
 27.3 Submuestreo de la crominancia
 27.4 [0,255] [-128,127]
 27.5 Aplicar la 2D-DCT por bloques de 8 × 8 puntos
 27.6 Características de la DCT
 27.7 Ventajas de la 2D-DCT por bloques
 27.8 Funciones base DCT
 27.9  Funciones base 2D-DCT de 8 × 8 puntos
 27.10  Cuantificación escalar
 27.11  Codificación entrópica
 27.12  Entrelazamiento de las componentes de color
 27.13  Ejemplo de compresión
 Cálculo de la 2D-DCT a un bloque
 Cuantificación
 Generación del EOB
 27.14  Codificación entrópica de las series
 27.15  Transmisión progresiva
 27.16  El algoritmo jerárquico
 27.17  Calidad de JPEG vs factor de compresión
 27.18  Compresión de “akiyo”
28 El estándar JPEG 2000 (ISO/IEC 15444-1) [19]
 Particularidades del JPEG2000
 28.1 ¿Qué es la codificación progresiva?
 28.2 La transformada wavelet discreta (diádica)
 28.3 La 1D-DWT (algoritmo intuitivo)
 28.4 La 1D-DWT (cálculo mediante bancos de filtros)
 28.5 La 1D-DWT (cálculo basado en Lifting [20])
 28.6 La N-levels 1D-DWT
 28.7 La Transformada de Haar (2/2) [8]
 28.8 Funciones base de la Trans. de Haar
 28.9 Transmisión progresiva de “lena” usando la Transf. de Haar
 Reconstrucción de “lena”. 1.000 coefs
 Reconstrucción de “lena”. 2.000 coefs
 Reconstrucción de “lena”. 3.000 coefs
 Reconstrucción de “lena”. 4.000 coefs
 Reconstrucción de “lena”. 5.000 coefs
 28.10  La Transformada Lineal (Spline 5/3)
 28.11  Funciones base de la Transformada de Lineal
 28.12  Transmisión progresiva de “lena” usando la Transf. Lineal
 Reconstrucción de “lena”. 1.000 coefs
 Reconstrucción de “lena”. 2.000 coefs
 Reconstrucción de “lena”. 3.000 coefs
 Reconstrucción de “lena”. 4.000 coefs
 Reconstrucción de “lena”. 5.000 coefs
 28.13  La Transformada Spline 13/7 (cúbica)
 28.14  Funciones base de la Transformada Cúbica
 28.15  Transmisión progresiva de “lena” usando la Transf. Cúbica
 Reconstrucción de “lena”. 1.000 coefs
 Reconstrucción de “lena”. 2.000 coefs
 Reconstrucción de “lena”. 3.000 coefs
 Reconstrucción de “lena”. 4.000 coefs
 Reconstrucción de “lena”. 5.000 coefs
 28.16  La 2D-DWT
 28.17  Transmisión de los coeficientes
 28.18  Redundancia en el dominio wavelet (planos de bits)
 28.19  Un algoritmo básico de codificación progresivo
 28.20  EBCOT
 28.21  Progresiones y escalabilidad
 28.22  Progresión LR
 28.23  Progresión RL
 28.24  El algoritmo JPEG2000
 28.25  Level offset
 28.26  Descorrelacionar las componentes
 28.27  Aplicar la 2D-DWT
 28.28  Cuantificación
 28.29  Regiones de interés
 28.30  Codificación entrópica
 28.31  Estructura real del pack-stream
 28.32  Progresiones en JPEG2000
 28.33  JPEG versus JPEG2000
 28.34  Compresión de “akiyo”
III  Compresión de vídeo
29 La compresión de vídeo
 Fundamentos
 29.1 Motivación
 29.2 Closed Loop t+2D Coding
 29.3 Open Loop t+2D Coding
 29.4 Open Loop 2D+t Coding
30 MPEG-1 (ISO/IEC 11172) [6]
 30.1 Fundamentos
 30.2 Bit-rate típico
 30.3 Posibilidades
 30.4 El compresor MPEG-1
 30.5 El descompresor MPEG-1
 30.6 Las etapas DCT, Q, BC y VLC
 30.7 La etapa ME
 30.8 Imagenes de referencia, predicción y predicha
 30.9 Estimación hacia delante, hacia detrás y bi-direccional
 30.10  Imágenes I, P y B
 30.11  El GOP (Group Of Pictures)
 30.12  Display (time) and bit-stream orders
 30.13  GOP’s abiertos y cerrados
 30.14  Estimación de movimiento basada en la búsqueda de bloques
 30.15  Matching criteria
 30.16  Tipos de macrobloques
 30.17  Estrategias de búsqueda
 30.18  La etapa MC
 30.19  Codificación de los campos de movimiento
 30.20  The MPEG-1’s data partitioning
 30.21  Visualización rápida
 30.22  Ejemplos de compresión
31 MPEG-2 (ISO/IEC 13818) [5]
 Introducción
 31.1 Motivación
 31.2 Bit-rates típicos
 31.3 Codificación escalable en calidad
 31.4 Codificación escalable en resolución espacial
 31.5 Codificación escalable en resolución temporal
 31.6  Ejemplos de compresión
32 MPEG-4 (ISO/IEC 14496) [15]
 Introducción
 32.1 Bit-rate típicos [16]
 32.2 Fine Granularity Scalability
 32.3  Ejemplos de compresión
33 FSVC (Fully Scalable Video Coding)
 33.1 Antecedentes
 33.2 Etapas básicas de FSVC
 33.3 Temporal Analysis/Synthesis
 33.4 Temporal Analysis/Synthesis Step
 33.5 The prediction step
 33.6 The update step
 33.7 Motion Compensated Temporal Filtering
 33.8 Stream organizations
 33.9  Ejemplos de compresión
 33.10  Ejemplos de transmisión “en calidad”
Apéndices
Apéndices
34 Correlación entre las componentes de color
 34.1 El dominio RGB
 34.2 El dominio YCbCr
35 Definición del PSNR
 35.1 Peak Signal-to-Noise Ratio
36 Submuestreo de la crominancia
 36.1 Submuestro del dominio YCbCr
37 Downsampling and upsampling
38 The scalar quantization operator
39 Códigos fuente
 39.1 _5_3.h
 39.2 _13_7.h
 39.3 arithmetic_coding.c
 39.4 bitio.c
 39.5 bitio.h
 39.6 bwt.c
 39.7 codec.h
 39.8 dwt1d.h
 39.9 dwt1d_image.cpp
 39.10 dwt1d_rgb_image.cpp
 39.11 dwt2d.h
 39.12 dwt2d_line.cpp
 39.13 entropy.c
 39.14 golomb.c
 39.15 Haar.h
 39.16 huff.c
 39.17 image.h
 39.18 line.h
 39.19 lzss.c
 39.20 lzw.c
 39.21 main.c
 39.22 main.h
 39.23 model_0.c
 39.24 model_0.h
 39.25 model_0/compute_cumulative_probs.h
 39.26 model_0/decode_stream.h
 39.27 model_0/encode_stream.h
 39.28 model_0/find_symbols_and_indexes.h
 39.29 model_0/finish_model.h
 39.30 model_0/increment_prob_of_index.h
 39.31 model_0/init_model.h
 39.32 model_0/scale_probs.h
 39.33 model_0/test_if_scale.h
 39.34 model_0/update_model.h
 39.35 model_0s.c
 39.36 model_0s.h
 39.37 model_0s/find_new_position_for.h
 39.38 model_0s/find_symbols_and_indexes.h
 39.39 model_0s/init_model.h
 39.40 model_0s/update_model.h
 39.41 model_1e.c
 39.42 model_1e.h
 39.43 model_1e/init_model.h
 39.44 model_1e/scale_probs.h
 39.45 model_1ee.c
 39.46 model_1s.c
 39.47 model_1s.h
 39.48 mallok.h
 39.49 mallok.cpp
 39.50 mtf.c
 39.51 pbt.c
 39.52 rgb_image.h
 39.53 rice.c
 39.54 rle.c
 39.55 unary.c
 39.56 vids/Makefile
 39.57 vlc.h
Bibliography

[next]