Redundancia temporal (MPEG-1) Búsqueda de macrobloques. Se buscan los macrobloques del cuadro a codificar en el cuadro de referencia. Si se encuentra el mismo macrobloque, sólo se codifica el vector de movimiento correspondiente. Si no se encuentra exactamente el mismo se elige el más parecido (macrobloque INTER). Se codifica el vector de movimiento. Se calcula el macrobloque error (las diferencias) aplicándole codificación estilo JPEG (DCT, quant, RLE+VLC en zigzag). Si no se encuentra ningún bloque similar (mb. INTRA) Se codifica dicho macrobloque con codificación estilo JPEG. 17
Redundancia temporal (MPEG-1) Tipos de cuadros I (Intracoded frames): Cuadro codificado usando JPEG (autocontenido). P (Predictive frames): Cuadro basado en las diferencias respecto a un cuadro de referencia anterior (tipo I). B (Bidirectional frames): Cuadros basados en la interpolación de un cuadro anterior y otro posterior en la secuencia (tipo I o P). 18 (Gp:) F1 (Gp:) F2 (Gp:) F3 (Gp:) Cuadro de tipo I autocontenido (Gp:) Cuadro de tipo B basado en F1 y F3 (Gp:) Cuadro de tipo P basado en F1 (Gp:) Macrobloque encontrado!! (Gp:) Macrobloque encontrado!!
Redundancia temporal (MPEG-1) Secuencias de cuadros (Group Of Pictures) Los cuadros de tipo I son los menos comprimidos, a continuación los de tipo P y por último los que más compresión obtiene son los de tipo B. Secuencias típicas: IBBBPBBBI IBBPBBPBBI (PAL) IBBPBBPBBPBBI (NTSC) 19 (Gp:) I (Gp:) B (Gp:) B (Gp:) P (Gp:) B (Gp:) B (Gp:) P (Gp:) B (Gp:) B (Gp:) I
Redundancia temporal (MPEG-1) La importancia de los cuadros de tipo I. En un sistema de vídeo es habitual el usar los controles de avance, retroceso, pausa, etc. Si queremos detener la secuencia de vídeo, necesitamos encontrar el último cuadro I para reconstruir el cuadro donde se ha detenido la imagen. Sirven como puntos de sincronización. Se estima que deben aparecer al menos un cuadro I cada 300-400 ms. Si se está difundiendo una secuencia de vídeo comprimida (TV broadcast, videoconferencia, etc) Permite “engancharse” rápidamente y recuperarse ante la recepción de algún cuadro dañado. 20
3.2 Estimación de movimiento: Algoritmos. La parte más costosa de la estimación de movimiento corresponde a los algoritmos de búsqueda de macrobloques en el cuadro(s) de referencia. Provoca codificación asimétrica Los algoritmos más conocidos son los siguientes: Búsqueda completa (Full-Search). TTS (Three-Step Search) Búsqueda logarítmica. Búsqueda en cruz (Cross-Search) OTS (One-at-a-Time Search) Vecinos más próximos (Nearest Neighbours Search) Búsqueda jerárquica. 21
Estimación de movimiento. Se define una función de coste que calcula el error entre dos macrobloques, por ejemplo, SAE (Sum of Absolute Errors)* :
(i,j) está definido dentro del área de búsqueda (NxM) determina las dimensiones del macrobloque. C(i,j) y R(i,j) definen los pixels del macrobloque actual y referencia respectivamente. Las coordenadas (i,j) que menor SAE exhiban determinarán el vector de movimiento del macrobloque actual.
Algoritmos: Full Search. Examina todos los puntos del área de búsqueda (+/- p) Complejidad computacional por macrobloque: Número total de posiciones: (2p + 1)2 Cada posición (i,j), MxN pixels. Cada pixel requiere: 1 resta, 1 suma y 1 valor absoluto.
Complejidad (secuencia IxJ pixels @ F fps)
Ejemplo: Broadcast TV (I=720, J=480, F=30, N=M=16) Coste de este algoritmo: 29.89 GOPS (p=15) ó 6.99 GOPS (p=7) 23
Estimación de movimiento: Otras consideraciones. Estimación de movimiento con fracciones de pixel Se basa en realizar la estimación de movimiento con mayor precisión, ya que a veces el movimiento real no se ajusta a desplazamientos de píxel enteros. Half-Pixel motion estimation Se obtiene un imagen de mayor resolución interpolando un punto de la imagen entre cada dos píxeles.
24 (Gp:) A (Gp:) A (Gp:) A (Gp:) c (Gp:) b (Gp:) A (Gp:) A (Gp:) A (Gp:) A (Gp:) A (Gp:) A (Gp:) c (Gp:) c (Gp:) d (Gp:) b (Gp:) b (Gp:) b (Gp:) b (Gp:) b (Gp:) d (Gp:) c (Gp:) c (Gp:) c (Gp:) d (Gp:) d
A: Píxeles reales (Enteros) b,c,d: Píxeles interpolados. Las flechas indican la dirección de interpolación. Se incrementan notablemente las prestaciones del algoritmo de estimación de movimiento a expensas de un mayor coste computacional. H.263 utiliza está técnica, incluso se propone utilizar ¼ y 1/8 de píxel para el estándar H.264
Estimación de movimiento: Mejoras propuestas. Vectores de movimiento fuera del cuadro de referencia. Para estimar correctamente el movimiento que se produce en los bordes del cuadro. Tamaño de bloque variable. Para realizar estimación de movimiento más precisa. Se utiliza en H.263 (Anexo F) y H.264. Tamaños: 16×16;8×8;4×4;8×16;16×8…. OBMC (Overlapped Block Motion Compensation) Objetivo: Suavizar los efectos de “blocking” que aparecen en los bordes de los macrobloques. Incremento significativo del coste computacional. H.263 recomiendo utilizar filtros de salida (deblocking filters) que realizan esta operación a un coste computacional muy inferior. Modelos de estimación más complejos: Region-based, Picture Warping, Mesh-based, Object-based… 25
3.3 Estándar MPEG. Conjunto de estándares ISO para la grabación y transmisión digital de audio y vídeo. En su evolución se han desarrollado varias versiones del estándar MPEG: MPEG-1 (ISO 11172) (‘91): CD-ROM vídeo (1,5 Mbps). MPEG-2 (ISO 13818) (‘93): TV Broadcast (4-6 Mbps). HDTV (25-34 Mbps). MPEG-4 (ISO 14496) (‘99): Originalmente: Videoconferencia (4,8 a 64 Kbps). Enfoque universal de tratamiento de elementos multimedia. MPEG-7 (00-?): Descripción de contenido multimedia (videodatabases) MPEG-21 (01-?): Uso transparente de contenido multimedia entre redes y usuarios heterogéneos. 26
Relación entre los estándares MPEG. 27
MPEG-1. MPEG-1 (ISO 11172) (‘91) MPEG-Vídeo (IS 11172-2) MPEG-Audio (IS 11172-3) MPEG-System (IS 11172-1): Multiplexado y sincronización. MPEG-Conformance Testing (IS 11172-4) Patrones de prueba, medida de calidad, etc MPEG-Software Coding (IS 11172-5) Directrices para la codificación de los algoritmos.
Propósito de MPEG-1 Almacenamiento en CD-ROM de audio (calidad CD) y vídeo (calidad VCR) sincronizado (1,5 Mbps). 28
MPEG-1 Características de MPEG-1: Resolución de imagen: 352x(288 ó 240) (PAL/NTSC). Reducción de color (sub-sampling): 4:2:0. Barrido progresivo (no entrelazado). Tasa de cuadros: 25/30 (PAL/NTSC). Incluye cuadros de tipo D (DC-coded): Operaciones de avance rápido (Fast Forward). Codificador/decodificador asimétrico. 29 (Gp:) Audio encoder (Gp:) Vídeo encoder (Gp:) System Mux. (Gp:) Reloj (Gp:) Salida MPEG-1
Tasa de compresión: 27:1. Los codificadores de audio y vídeo trabajan por separado. Utilizan un reloj común para establecer el tiempo de cada una de sus capturas (system).
MPEG-2 Conjunto de estándares ISO 13818 (‘93). Propósito: Mejorar la calidad de imagen respecto al anterior sin incrementar excesivamente la tasa de bits requerida Calidad de vídeo profesional (studio-quality) y HDTV Aplicación: Difusión de señales de TV, HDTV, VOD La codificación/decodificación es muy similar a la de MPEG-1 salvo algunas diferencias: No se incluyen cuadros de tipo D. Permite bloques de 16×8 para vídeo entrelazado. Otras mejoras (permite DC de hasta 10 bits, cuantización no lineal, nuevas tablas VLC, escalabilidad SNR y multiresolución) 30
MPEG-2 Características de MPEG-2. Soporta barrido entrelazado y progresivo. Puede trabajar con distintas resoluciones (nivel): CIF: 352×288/240 (VCR quality) (Compatibilidad MPEG-1) Principal: 720×576/480 (studio-quality) High-1440: 1440×1152 (HDTV) High: 1920×1080 (HDTV) Define varios perfiles de implementación Detalles de los algoritmos de compresión y parámetros de imagen, barrido, etc. El multiplexado y sincronización es más general y flexible que MPEG-1 Se pueden multiplexar/sincronizar varias fuentes de audio, vídeo y datos (ej.: subtítulos en varios idiomas). 31
MPEG-4 Propósito: Diseño de aplicaciones multimedia interactivas distribuidas.
Aplicación: Televisión digital Compatibilidad con MPEG-2 (backware compatibility) Aplicaciones multimedia interactivas El usuario puede interaccionar con los objetos multimedia de la sesión. Distribución de información multimedia (tipo WWW) A través de una red, se permitirá el acceso y distribución a información multimedia, facilitando su diseño y presentación. 32
MPEG-4 Características: Accesibilidad de la información de manera universal y robusta. Alta interactividad con la información multimedia. Definición de escenarios virtuales compuestos por objetos independientes (AVOs). El usuario puede modificar/configurar el escenario actual. Codificación conjunta de datos sintéticos y reales. Codificación eficiente de la información. Mejoras en la compresión y multiplexación de la información. Codificación de objetos con forma irregular. 33
MPEG-4 34
3.3 Estándar H.261. Pertenece al conjunto de estándares H.320 del ITU dedicados a videoconferencia sobre RDSI. H.320: Definición de la familia de estándares H.221: Multiplexado, sincronización sobre uno o varios canales RDSI y empaquetamiento (framming). H.242/H.230: Establecimiento y control de sesión. H.224/H.281: Control remoto de cámaras. H.233 y H.234: Cifrado y autenticación de los datos. T.120: Soporte para aplicaciones (transferencia de imágenes, anotaciones compartidas, etc.) G.711, G.72x …: Algoritmos de compresión de audio H.261: Compresión de vídeo (conocido como px64). 35
Estándar H.261. Características de H.261: Formato de imagen: YCbCr CIF: 352×288 (opcional) QCIF: 176×144 (obligatorio) Reducción de color: 4:2:0 Tasa de cuadros/seg: como máximo 30 max.
Mecanismo de compresión similar a MPEG-1: Para la redundancia temporal se emplean mecanismos similares a MPEG, basados en macrobloques (16×16). H.261 define el concepto de GOB (Group Of Blocks) 1 GOB = 3×11 macrobloques (QCIF: 3 GOBs) 36
Estándar H.261. Sólo se definen dos tipos de cuadros: I y P. No existen secuencias predefinidas de cuadros. Decisión de codificación I o P para cada cuadro. Estimación de movimiento (motion estimation): Se realiza a nivel de macrobloque Búsqueda restringida en un área de +-15 pixels, usando sólo la información de luminancia (Y). Resultado de la búsqueda: Macrobloque del cuadro de anterior que más se parece al actual Cálculo de las diferencias (macrobloque error). Si superan un cierto umbral se codifican (DCT), si no se elimina el macrobloque error, utilizando sólo el vector de movimiento. Cuantificación lineal (menos costosa). Se siguen utilizando run-length y Huffman (VLC). 37
Estándar H.261. 38 (Gp:) PSC (Gp:) TR (Gp:) PType (Gp:) GOB1 (Gp:) GOB2 (Gp:) …. (Gp:) GOBm (Gp:) GOB Start (Gp:) Grp# (Gp:) Quant (Gp:) MB1 (Gp:) … (Gp:) MBn (Gp:) Addr (Gp:) Type (Gp:) Quant (Gp:) Vector (Gp:) CBP (Gp:) b0 (Gp:) b1 (Gp:) … (Gp:) b5 (Gp:) DC (Gp:) Run, Valor (Gp:) … (Gp:) Run, Valor (Gp:) EOB
Esquema del formato H.261
Otros estándares H.26x. H.263: Mejora, amplía y sustituye el H.261 De propósito general (no sólo para videoconf.) Incluye compensación de movimiento de “medio-píxel” Soporta cinco resoluciones (SQCIF, QCIF, CIF, 4CIF y 16CIF) Permite estimación de movimiento bidireccional y sin restricción en el tamaño de la ventana de búsqueda H.263+: Añade nuevas características a H.263 Escalabilidad SNR, espacial y temporal Predicción de los valores de los coeficientes de la DCT H.264: Mejora la eficiencia en codificación DCT con enteros y tam. bloque 4×4, compensación de movimiento con bloques de tamaño variable, etc. 39
4. Conclusiones Las imágenes son captadas por cámaras de vídeo que proporcionan una señal analógica RGB. La digitalización está basada en el estándar ITU-R En función de la calidad de vídeo deseada, existen diversos formatos de imagen, barrido, etc. Se definen distintos parámetros de red de importancia para el transporte de vídeo Algoritmos de compresión de vídeo Fundamentos: Redundancia temporal Algoritmos de estimación de movimiento: Alto coste computacional. Estándares de compresión: Familia MPEG: 1-2-4 Diseñados para procesar vídeo digital de calidad (Sector consumo). Familia ITU: H.261-3-4 Diseñados para comunicaciones audiovisuales en distintos tipos de redes (RDSI, IP, telefonía, etc.) 40
Página anterior | Volver al principio del trabajo | Página siguiente |