La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Televisión y Multimedia

Presentaciones similares


Presentación del tema: "Televisión y Multimedia"— Transcripción de la presentación:

1 Televisión y Multimedia
20/04/2017 Televisión y Multimedia Compresión MPEG-2 Vídeo Tipos de Redundancia Herramientas de Compresión Sample Rate Reduction DCT Compensación de Movimiento Perfiles MPEG-2 Tema 1 Introducción y Conceptos Básicos

2 Tipos de Redundancia Compresión La compresión explota la redundancia
20/04/2017 Tipos de Redundancia Compresión Sin Perdidas Con Perdidas La compresión explota la redundancia Redundancia Espacial Redundancia Temporal Redundancia de Codificación o Entrópica (ej: MORSE) Redundancia Psicovisual (ej: MP3) MPEG-2 está compuesto por esquemas de codificación con perdidas y sin perdidas, que explotan todas esas redundancias Tema 1 Introducción y Conceptos Básicos

3 Herramientas de Compresión
20/04/2017 Herramientas de Compresión Sample Rate Reduction 4:4:4, 4:2:2, 4:2:0… DCT Objetivo: Eliminar redundancia espacial Utilizada en varias de las técnicas explotadas por MPEG-2 Compensación de Movimiento Objetivo: Eliminar redundancia temporal 4:4:4 Excesivo para todo, en cualquier caso es el formato en el que presentamos, interpolando las muestras disponibles. 4:2:2 Aconsejada para la “Calidad Broadcast” que viene a querer decir calidad de producción para broadcast, pero demasiado para transmision. 4:2:0 Distribución y Aplicaciones Broadcast También puedes empezar comentando las dos formas no utilizadas de compresión (bajar el numero de bits por muestra y bajar el numero de imágenes por segundo) Tema 1 Introducción y Conceptos Básicos

4 Señales a Codificar Si codificamos cada una de las componentes RGB, las tres deberían codificarse con mucha calidad

5 Señales a Codificar Se codifican otras tres señales relacionadas con ellas (luminancia y crominancia).

6 Macrobloques y Bloques

7 Macrobloques y Bloques

8 Estructura de Muestreo 4:4:4

9 Estructura de Muestreo 4:4:4

10 Estructura de Muestreo 4:2:2
De todos los píxeles se obtienen muestras de luminancia. De crominancia solo de la mitad de ellos.

11 Estructura de Muestreo 4:2:2

12 Estructura de Muestreo 4:2:2

13 Estructura de Muestreo 4:2:0

14 Estructura de Muestreo 4:2:0

15 Estructura de Muestreo 4:2:0

16 Redundancia Espacial DCT 8x8
20/04/2017 Redundancia Espacial DCT 8x8 Cada coeficiente representa la contribución de una frecuencias horizontales y verticales a la imagen DCT 8x8 Tamaño Pequeño: Menor exigencia computacional Menor efecto blocking Tamaño grande: Mayor compresión (mayor compactación de energía) Tema 1 Introducción y Conceptos Básicos

17 20/04/2017 DCT Que quede claro que ese redondeo no es todavía el proceso completo de cuantificación de la matriz, ya que todavia no hemos ponderado los coeficientes Tema 1 Introducción y Conceptos Básicos

18 DCT La DCT no reduce directamente la cantidad de información a transmitir. De hecho, necesitaríamos una DCT con coeficientes de 11 bits para recuperar la imagen original… La distribución no uniforme es debida a la redundancia espacial de la imagen La compresión viene de transmitir los coeficientes de manera inteligente (cuantificación, Zig-Zag, Run-Lenght Code, VLC)

19 DCT Cuantificación La anchura de los escalones cuánticos determina la precisión de la cuantificación Ejemplo: Escalón cuántico = 4 Coeficientes Cuantificación Índices Decuantificación Coeficientes Recuperados

20 DCT Cuantificación Error de cuantificación menos notorio en
Altas Frecuencias Crominancia Matriz de Cuantificación Antes de cuantificar se ponderan los coeficientes Después de esa ponderación, la cuantificación suele ser lineal, aunque también se contempla la posibilidad de añadir un dead-zone para eliminar ruido

21 Matrices de Cuantificación
20/04/2017 Matrices de Cuantificación Existen varias matrices de cuantificación definidas por MPEG-2, pero el codificador puede utilizar cualquier otra Para 4:2:0 se definen dos matrices. Para los otros dos posibles formatos de muestreo se definen cuatro. Esa es la matriz para bloques intra y existe otra (con todos los coeficientes a 16) para bloque non-intra También es posible utilizar matrices diferentes para muestras de luminancia y de crominancia. Tema 1 Introducción y Conceptos Básicos

22 Resumen Cuantificación

23 Serialización de los Índices
20/04/2017 Serialización de los Índices Serializo los índices dando prioridad a los “mas importantes” Detenerse y explicarlo, aunque sea de manera rudimentaria, como quiero dejar al final una ristra larga de ceros (aunque es inexacto, la idea es muy clara…) Explicar el por qué de el segundo esquema de serialización (sirve para imágenes con alta componente frecuencial vertical. Por ejemplo cuando tienes video entrelazado y estás trabajando con campos) Tema 1 Introducción y Conceptos Básicos

24 Run Length Code Almaceno el número de ceros antes del siguiente coeficiente diferente de cero, y luego el valor del coeficiente. DCT

25 Variable Length Code (VLC)
20/04/2017 Variable Length Code (VLC) Toda información no aleatoria tiene unas secuencias mas probables que otras Explota (probabilidad) P cadenas cortas de ceros > P cadenas largas de ceros P coeficientes bajos > P coeficientes altos Implementación VLC Ningún Código completo es el principio de otro Ninguna combinación de códigos da 23 ceros seguidos End Of Block (EOB) Ninguna combinación de códigos nos da 23 ceros seguidos, por motivos de sincronización. Los coeficientes habituales utilizan códigos de longitud pequeña y los menos habituales códigos de longitud mayor. Existen dos tablas, una se utiliza en la mayoría de los casos y la segunda solo en circunstancias especiales (¿?¿?) El coeficiente DC se trata de manera independiente en algunas tablas. El codificador puede cambiar las tablas, pero tiene que enviar las nuevas!! (lo dice Martín Marcos, yo no lo he visto en ninguna parte) Tema 1 Introducción y Conceptos Básicos

26 Buffering and Feedback
20/04/2017 Buffering and Feedback Mediante realimentación controlamos la calidad de la codificación, de tal forma que el buffer ni se llena ni se vacía, obteniendo una velocidad de datos constante. Hay que tener en cuenta que el tamaño de cada imagen varía en función de la imagen. Para obtener un bit rate constante a la salida, necesito un buffer. El feedback previene el desbordamiento o vaciado del buffer. Tema 1 Introducción y Conceptos Básicos

27 Buffering and Feedback
Ajuste de la matriz de cuantificación Podemos ajustar los 64 coeficientes Podemos aplicar un factor de escala (conservo el peso relativo de unos coeficientes sobre otros)

28 Compresión Intra Frame
Todo lo anterior se utiliza para realizar una compresión Intra Frame, es decir sin aprovechar la redundancia temporal del vídeo. Ese es el esquema utilizado por… Cámaras Digitales (la mayoría…) MJPEG DV DVCam DVCPro Tarjetas Digitalizadoras de Vídeo

29 Predicción Inter Frame
Intentamos predecir la imagen siguiente a partir de las anteriores explotando la redundancia temporal. Es muy probable que los bloques sean muy parecidos en imágenes sucesivas Puedo utilizar esquemas de predicción tan sencillos como tomar la imagen anterior a modo de predicción y transmitir el error cometido

30 Redundancia Temporal

31 Redundancia Temporal

32 Predicción Interframe Co-Sited
20/04/2017 Predicción Interframe Co-Sited (VLC) Ojo!! Este es el esquema mas sencillo de predicción, ya que simplemente utilizamos la anterior imagen como predicción y transmitimos el error. Ojo!! Importante que quede claro que el error lo mando mediante una DCT, para aprovechar la redundancia espacial del mismo. El error se pasa a DCT, los coeficientes se cuantifican y se transmiten utilizando VLC. También es importante que quede claro que estamos utilizando un decodificador para realizar las predicciones. No trabajamos con la imagen original sino con la que va a generar el decodificador en recepción. Esto es algo elemental, pero importante de resaltar. Imagen Predicha Tema 1 Introducción y Conceptos Básicos

33 Compensación de Movimiento

34 Compensación de Movimiento
Es un esquema mas avanzado de predicción de imagen. Explota el hecho de que a lo largo del tiempo los píxeles se desplazan en la pantalla Por lo tanto sólo transmito el macrobloque de referencia (mediante el vector de desplazamiento) y el error cometido Evidentemente, siempre puedo transmitir el macrobloque completo, en caso de no encontrar ninguno que se le parezca

35 Compensación de Movimiento
20/04/2017 Compensación de Movimiento Normalmente la compensación de movimiento se basa en macrobloques 16x16, mientras que la redundancia espacial se basa en bloques de 8x8. Sin embargo la precisión es a nivel de píxel (el macrobloque referencia puede estar situado en cualquier localización) Es en los algoritmos de calculo de estos vectores donde se aprecian mayores diferencias entre los codecs. Ojo! Si quieres acláralo, y sino tenlo en mente al menos, que el término “pixel” no es correcto en este caso. Tema 1 Introducción y Conceptos Básicos

36 Área de Búsqueda Compensación de Movimiento
La carga computacional de buscar el macrobloque que mas se parezca es muy alta Limitamos la búsqueda a una zona determinada “Hierarchical block matching”

37 Vectores de Desplazamiento
Compromiso entre Tamaño Macrobloque y Bit Rate Vectores de Desplazamiento Macrobloque Grande => Menos información vectores Macrobloque Pequeño => Mayor precisión estimación Utilizamos una combinación de dos técnicas para reducir el ancho de banda ocupado por los vectores Codificación diferencial a partir de vectores anteriores VCL sobre predicción de error de codificación diferencial

38 Predicción Bidireccional
20/04/2017 Predicción Bidireccional Forward Prediction Backward Prediction Bi-directional Prediction Ojo! En lo que llamamos predicción bidireccional están englobadas tanto la forward como la backward como la bidireccional (es un pequeño lio, pero bueno, no es tan complicado) En la predicción bidireccional el macrobloque se obtiene como combinación lineal de dos macrobloques, uno anterior y otro posterior. Ojo! Aunque en el dibujo parezca que el macrobloque de referencia tiene que tener unas posiciones determinadas, en la práctica puede ser cualquiera El macrobloque se obtiene como combinación lineal de los otros dos Tema 1 Introducción y Conceptos Básicos

39 Predicción Bidireccional (pasos a seguir para su aplicación)
Vector de Desplazamiento Calcular el vector forward a partir de la referencia anterior Calcular el vector backward a partir de la referencia posterior Calculo del error Usando bloque desplazado imagen anterior Usando bloque desplazado imagen posterior Usando promedio de los dos (anterior y posterior) Si la estimación no va a ser lo suficientemente buena podemos codificar el macrobloque en modo Intra Si la estimación es muy buena (coincidencia total), podemos no codificar el macrobloque (skipped macroblock)

40 Predicción Bidireccional (pasos a seguir para su aplicación)

41 Predicción Bidireccional
20/04/2017 Predicción Bidireccional Ventajas de la predicción Bidireccional Predicción de movimientos de cámara Predicción de cambios de plano Reducción de ruido Cuando ambas estimaciones (forward y backward) son buenas, es conveniente utilizar el promedio de las dos estimaciones para reducir el ruido de la predicción. La mayor desventaja es que la predicción a partir de imágenes posteriores implica un retardo en transmisión Los movimientos de cámara introducen en la escena nuevos objetos que no están disponibles en la imagen anterior, pero si en la posterior. Evidentemente, tras un cambio de plano la imagen anterior no nos da prácticamente ninguna información, con lo que es mejor utilizar una predicción backward Tema 1 Introducción y Conceptos Básicos

42 Tipos de Imágenes Imágenes I (Intra): Imágenes P (Predicted):
20/04/2017 Tipos de Imágenes Imágenes I (Intra): Sólo utilizan la DCT. Proporcionan acceso aleatorio a la secuencia de vídeo. Están formadas por bloques de 8x8 que se transforman, cuantifican y codifican. Pueden usarse para predecir imágenes P y B. Es una manera de limpiar el error. Imágenes P (Predicted): Se codifican utilizando compensación de movimiento forward a partir de una imagen I u otra imagen P. Acumulan errores. Pueden usarse para predecir otras imágenes P o imágenes B. Imágenes B (Bidireccionales) Se codifican utilizando predicción bidireccional, que puede ser forward, backward o una combinación de ambas. No se acumulan los errores ya que nunca se utilizan como referencia de otras imágenes. Definimos los tipos de imágenes en función del tipo de codificación que es posible utilizar en sus macrobloques. Tema 1 Introducción y Conceptos Básicos

43 Group Of Pictures (GOP)
Normalmente la secuenciación de imágenes ocurre con una estructura repetitiva, aunque esto no es necesario La estructura puede describirse con dos parámetros N/M N => Numero de imágenes en el GOP M => Espaciamiento entre imágenes tipo P

44 Group Of Pictures (GOP)
20/04/2017 Group Of Pictures (GOP) Insistir en el tema del retardo de transmisión introducido por el reordenamiento Tema 1 Introducción y Conceptos Básicos

45 Imagen, slice, macroblock…

46 Secuencia Dentro de la secuencia se mantiene constantes ciertos parámetros Tamaño Horizontal y Vertical de la imagen Relación de Aspecto Frecuencia de Imágenes Bit Rate Matrices de Cuantificación Perfil y Nivel Formato de Muestro de Crominancia Existen códigos de inicio y fin de la secuencia

47 Imagen La imágenes pueden ser campos o cuadros. El tratamiento es idéntico en ambos casos

48 Slice

49 Slice Hay dos posibles estructuras: General Restringida
Existen Macrobloques no contenidos en Slices Restringida No hay ningún Macrobloques fuera de los Slices

50 20/04/2017 Macrobloque Llamamos macrobloque a un conjunto de 16x16 píxeles de la imagen original, a partir de los cuales se obtienen los bloques de luminancia y crominancia Ojo! Recuerda que la definición es, en si, al revés de lo que has puesto en la transparencia. macroblock: The four 8 by 8 blocks of luminance data and the two (for 4:2:0 chrominance format), four (for 4:2:2 chrominance format) or eight (for 4:4:4 chrominance format) corresponding 8 by 8 blocks of chrominance data coming from a 16 by 16 section of the luminance component of the picture. Macroblock is sometimes used to refer to the sample data and sometimes to the coded representation of the sample values and other data elements defined in the macroblock header of the syntax defined in this part of this specification. The usage is clear from the context. Es el conjunto básico de codificación. La compensación de movimiento se hace a nivel de macrobloque. Tema 1 Introducción y Conceptos Básicos

51 Bloque Un bloque es un conjunto de 8x8 valores.
Nótese que ya no podemos hablar de píxeles El bloque es el conjunto básico de procesado. De esa forma tenemos bloques de luminancia o de crominancia.

52 Perfiles y Niveles MPEG-2

53 Modos de Predicción La predicción puede hacerse en diferentes modos
Frame Field 16x8 Motion Compensation Dual Prime Mode

54 Modos de Predicción Estructura de macrobloque de luminancia, para codificación en modo Cuadro Estructura de macrobloque de luminancia, para codificación en modo Campo

55 Distorsión en MPEG La degradación es diferente a la habitual en televisión convencional

56 Medida Objetiva de Errores
Error cuadrático medio o Mean Squared Error (MSE)

57 Medida Objetiva de Errores
El MSE no coincide siempre con la valoración subjetiva de la degradación

58 Medida Subjetiva de Errores
Lo ideal sería disponer de personas para realizar la evaluación de la calidad de los vídeos Se utilizan algoritmos que simulan el proceso, tratando de emular la respuesta humana Una medida muy utilizada es la JND (Just Noticeable Difference). JND = 1 implica que el ojo es capaz de detectar la diferencia entre la imagen original y la codificada. La media de todos los valores de JND se denomina PQR (Picture Quality Rating)

59 Medida Subjetiva de Errores


Descargar ppt "Televisión y Multimedia"

Presentaciones similares


Anuncios Google