Televisión y Multimedia

download Televisión y Multimedia

If you can't read please download the document

description

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. Tipos de Redundancia. Compresión Sin Perdidas Con Perdidas La compresión explota la redundancia Redundancia Espacial - PowerPoint PPT Presentation

Transcript of Televisión y Multimedia

  • Televisin y MultimediaCompresin MPEG-2 VdeoTipos de RedundanciaHerramientas de CompresinSample Rate ReductionDCTCompensacin de MovimientoPerfiles MPEG-2

  • Tipos de RedundanciaCompresinSin PerdidasCon PerdidasLa compresin explota la redundanciaRedundancia EspacialRedundancia TemporalRedundancia de Codificacin o Entrpica (ej: MORSE)Redundancia Psicovisual (ej: MP3)

  • Herramientas de CompresinSample Rate Reduction4:4:4, 4:2:2, 4:2:0DCTObjetivo: Eliminar redundancia espacialUtilizada en varias de las tcnicas explotadas por MPEG-2Compensacin de MovimientoObjetivo: Eliminar redundancia temporal

  • Seales a CodificarSi codificamos cada una de las componentes RGB, las tres deberan codificarse con mucha calidad

  • Seales a CodificarSe codifican otras tres seales relacionadas con ellas (luminancia y crominancia).

  • Macrobloques y Bloques

  • Macrobloques y Bloques

  • Estructura de Muestreo 4:4:4

  • Estructura de Muestreo 4:4:4

  • Estructura de Muestreo 4:2:2De todos los pxeles se obtienen muestras de luminancia.De crominancia solo de la mitad de ellos.

  • Estructura de Muestreo 4:2:2

  • Estructura de Muestreo 4:2:2

  • Estructura de Muestreo 4:2:0

  • Estructura de Muestreo 4:2:0

  • Estructura de Muestreo 4:2:0

  • Redundancia EspacialDCT 8x8Cada coeficiente representa la contribucin de una frecuencias horizontales y verticales a la imagen

  • DCT

  • DCTLa DCT no reduce directamente la cantidad de informacin a transmitir. De hecho, necesitaramos una DCT con coeficientes de 11 bits para recuperar la imagen originalLa distribucin no uniforme es debida a la redundancia espacial de la imagenLa compresin viene de transmitir los coeficientes de manera inteligente (cuantificacin, Zig-Zag, Run-Lenght Code, VLC)

  • DCT CuantificacinLa anchura de los escalones cunticos determina la precisin de la cuantificacinCoeficientesndicesCoeficientesRecuperadosCuantificacinDecuantificacinEjemplo: Escaln cuntico = 4

  • DCT CuantificacinError de cuantificacin menos notorio enAltas FrecuenciasCrominanciaMatriz de CuantificacinAntes de cuantificar se ponderan los coeficientesDespus de esa ponderacin, la cuantificacin suele ser lineal, aunque tambin se contempla la posibilidad de aadir un dead-zone para eliminar ruido

  • Matrices de CuantificacinExisten varias matrices de cuantificacin definidas por MPEG-2, pero el codificador puede utilizar cualquier otraPara 4:2:0 se definen dos matrices. Para los otros dos posibles formatos de muestreo se definen cuatro.

  • Resumen Cuantificacin

  • Serializacin de los ndicesSerializo los ndices dando prioridad a los mas importantes

  • Run Length CodeAlmaceno el nmero de ceros antes del siguiente coeficiente diferente de cero, y luego el valor del coeficiente.DCT

  • Variable Length Code (VLC)Toda informacin no aleatoria tiene unas secuencias mas probables que otrasExplota (probabilidad)P cadenas cortas de ceros > P cadenas largas de cerosP coeficientes bajos > P coeficientes altosImplementacin VLCNingn Cdigo completo es el principio de otroNinguna combinacin de cdigos da 23 ceros seguidosEnd Of Block (EOB)

  • Buffering and FeedbackMediante realimentacin controlamos la calidad de la codificacin, de tal forma que el buffer ni se llena ni se vaca, obteniendo una velocidad de datos constante.

  • Buffering and FeedbackAjuste de la matriz de cuantificacinPodemos ajustar los 64 coeficientesPodemos aplicar un factor de escala (conservo el peso relativo de unos coeficientes sobre otros)

  • Compresin Intra FrameTodo lo anterior se utiliza para realizar una compresin Intra Frame, es decir sin aprovechar la redundancia temporal del vdeo.Ese es el esquema utilizado porCmaras Digitales (la mayora)MJPEGDVDVCamDVCProTarjetas Digitalizadoras de Vdeo

  • Prediccin Inter FrameIntentamos predecir la imagen siguiente a partir de las anteriores explotando la redundancia temporal.Es muy probable que los bloques sean muy parecidos en imgenes sucesivasPuedo utilizar esquemas de prediccin tan sencillos como tomar la imagen anterior a modo de prediccin y transmitir el error cometido

  • Redundancia Temporal

  • Redundancia Temporal

  • Prediccin Interframe Co-SitedImagen PredichaOjo!!(VLC)

  • Compensacin de Movimiento

  • Compensacin de MovimientoEs un esquema mas avanzado de prediccin de imagen.Explota el hecho de que a lo largo del tiempo los pxeles se desplazan en la pantallaPor lo tanto slo transmito el macrobloque de referencia (mediante el vector de desplazamiento) y el error cometidoEvidentemente, siempre puedo transmitir el macrobloque completo, en caso de no encontrar ninguno que se le parezca

  • Compensacin de MovimientoNormalmente la compensacin de movimiento se basa en macrobloques 16x16, mientras que la redundancia espacial se basa en bloques de 8x8.Sin embargo la precisin es a nivel de pxel (el macrobloque referencia puede estar situado en cualquier localizacin)

  • rea de Bsqueda Compensacin de MovimientoLa carga computacional de buscar el macrobloque que mas se parezca es muy altaLimitamos la bsqueda a una zona determinadaHierarchical block matching

  • Vectores de DesplazamientoCompromiso entre Tamao Macrobloque y Bit Rate Vectores de DesplazamientoMacrobloque Grande => Menos informacin vectoresMacrobloque Pequeo => Mayor precisin estimacinUtilizamos una combinacin de dos tcnicas para reducir el ancho de banda ocupado por los vectoresCodificacin diferencial a partir de vectores anterioresVCL sobre prediccin de error de codificacin diferencial

  • Prediccin BidireccionalForward PredictionBackward PredictionBi-directional PredictionEl macrobloque se obtiene como combinacin lineal de los otros dos

  • Prediccin Bidireccional(pasos a seguir para su aplicacin)Vector de DesplazamientoCalcular el vector forward a partir de la referencia anteriorCalcular el vector backward a partir de la referencia posteriorCalculo del errorUsando bloque desplazado imagen anteriorUsando bloque desplazado imagen posteriorUsando promedio de los dos (anterior y posterior)Si la estimacin no va a ser lo suficientemente buena podemos codificar el macrobloque en modo IntraSi la estimacin es muy buena (coincidencia total), podemos no codificar el macrobloque (skipped macroblock)

  • Prediccin Bidireccional(pasos a seguir para su aplicacin)

  • Prediccin BidireccionalVentajas de la prediccin BidireccionalPrediccin de movimientos de cmaraPrediccin de cambios de planoReduccin de ruidoCuando ambas estimaciones (forward y backward) son buenas, es conveniente utilizar el promedio de las dos estimaciones para reducir el ruido de la prediccin.La mayor desventaja es que la prediccin a partir de imgenes posteriores implica un retardo en transmisin

  • Tipos de ImgenesImgenes I (Intra):Slo utilizan la DCT. Proporcionan acceso aleatorio a la secuencia de vdeo. Estn formadas por bloques de 8x8 que se transforman, cuantifican y codifican. Pueden usarse para predecir imgenes P y B. Es una manera de limpiar el error.Imgenes P (Predicted):Se codifican utilizando compensacin de movimiento forward a partir de una imagen I u otra imagen P. Acumulan errores. Pueden usarse para predecir otras imgenes P o imgenes B.Imgenes B (Bidireccionales)Se codifican utilizando prediccin bidireccional, que puede ser forward, backward o una combinacin de ambas. No se acumulan los errores ya que nunca se utilizan como referencia de otras imgenes.

  • Group Of Pictures (GOP)Normalmente la secuenciacin de imgenes ocurre con una estructura repetitiva, aunque esto no es necesarioLa estructura puede describirse con dos parmetros N/MN => Numero de imgenes en el GOPM => Espaciamiento entre imgenes tipo P

  • Group Of Pictures (GOP)

  • Imagen, slice, macroblock

  • SecuenciaDentro de la secuencia se mantiene constantes ciertos parmetrosTamao Horizontal y Vertical de la imagenRelacin de AspectoFrecuencia de ImgenesBit RateMatrices de CuantificacinPerfil y NivelFormato de Muestro de CrominanciaExisten cdigos de inicio y fin de la secuencia

  • ImagenLa imgenes pueden ser campos o cuadros. El tratamiento es idntico en ambos casos

  • Slice

  • SliceHay dos posibles estructuras:GeneralExisten Macrobloques no contenidos en SlicesRestringidaNo hay ningn Macrobloques fuera de los Slices

  • MacrobloqueLlamamos macrobloque a un conjunto de 16x16 pxeles de la imagen original, a partir de los cuales se obtienen los bloques de luminancia y crominanciaEs el conjunto bsico de codificacin.La compensacin de movimiento se hace a nivel de macrobloque.

  • BloqueUn bloque es un conjunto de 8x8 valores.Ntese que ya no podemos hablar de pxelesEl bloque es el conjunto bsico de procesado. De esa forma tenemos bloques de luminancia o de crominancia.

  • Perfiles y Niveles MPEG-2

  • Modos de PrediccinLa prediccin puede hacerse en diferentes modosFrameField16x8 Motion CompensationDual Prime Mode

  • Modos de PrediccinEstructura de macrobloque de luminancia, para codificacin en modo CuadroEstructura de macrobloque de luminancia, para codificacin en modo Campo

  • Distorsin en MPEGLa degradacin es diferente a la habitual en televisin convencional

  • Medida Objetiva de ErroresError cuadrtico medio o Mean Squared Error (MSE)

  • Medida Objetiva de ErroresEl MSE no coincide siempre con la valoracin subjetiva de la degradacin

  • Medida Subjetiva de ErroresLo ideal sera disponer de personas para realizar la evaluacin de la calidad de los vdeosSe utilizan algoritmos que simulan el proceso, tratando de emular la respuesta humanaUna 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)

  • Medida Subjetiva de Errores

    Tema 1 Introduccin y Conceptos BsicosMPEG-2 est compuesto por esquemas de codificacin con perdidas y sin perdidas, que explotan todas esas redundanciasTema 1 Introduccin y Conceptos Bsicos4: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 produccin para broadcast, pero demasiado para transmision.

    4:2:0 Distribucin y Aplicaciones Broadcast

    Tambin puedes empezar comentando las dos formas no utilizadas de compresin (bajar el numero de bits por muestra y bajar el numero de imgenes por segundo)Tema 1 Introduccin y Conceptos BsicosDCT 8x8Tamao Pequeo: Menor exigencia computacionalMenor efecto blocking

    Tamao grande:Mayor compresin (mayor compactacin de energa)Tema 1 Introduccin y Conceptos BsicosQue quede claro que ese redondeo no es todava el proceso completo de cuantificacin de la matriz, ya que todavia no hemos ponderado los coeficientesTema 1 Introduccin y Conceptos BsicosEsa es la matriz para bloques intra y existe otra (con todos los coeficientes a 16) para bloque non-intra

    Tambin es posible utilizar matrices diferentes para muestras de luminancia y de crominancia.Tema 1 Introduccin y Conceptos BsicosDetenerse 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 serializacin (sirve para imgenes con alta componente frecuencial vertical. Por ejemplo cuando tienes video entrelazado y ests trabajando con campos)Tema 1 Introduccin y Conceptos BsicosNinguna combinacin de cdigos nos da 23 ceros seguidos, por motivos de sincronizacin.

    Los coeficientes habituales utilizan cdigos de longitud pequea y los menos habituales cdigos de longitud mayor.

    Existen dos tablas, una se utiliza en la mayora 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 Martn Marcos, yo no lo he visto en ninguna parte)Tema 1 Introduccin y Conceptos BsicosHay que tener en cuenta que el tamao de cada imagen vara en funcin 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 Introduccin y Conceptos BsicosEste es el esquema mas sencillo de prediccin, ya que simplemente utilizamos la anterior imagen como prediccin 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.

    Tambin 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 recepcin. Esto es algo elemental, pero importante de resaltar.Tema 1 Introduccin y Conceptos BsicosEs en los algoritmos de calculo de estos vectores donde se aprecian mayores diferencias entre los codecs.

    Ojo! Si quieres aclralo, y sino tenlo en mente al menos, que el trmino pixel no es correcto en este caso.Tema 1 Introduccin y Conceptos BsicosOjo! En lo que llamamos prediccin bidireccional estn englobadas tanto la forward como la backward como la bidireccional(es un pequeo lio, pero bueno, no es tan complicado)

    En la prediccin bidireccional el macrobloque se obtiene como combinacin 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 prctica puede ser cualquiera

    Tema 1 Introduccin y Conceptos BsicosLos movimientos de cmara introducen en la escena nuevos objetos que no estn disponibles en la imagen anterior, pero si en la posterior.

    Evidentemente, tras un cambio de plano la imagen anterior no nos da prcticamente ninguna informacin, con lo que es mejor utilizar una prediccin backwardTema 1 Introduccin y Conceptos BsicosDefinimos los tipos de imgenes en funcin del tipo de codificacin que es posible utilizar en sus macrobloques.Tema 1 Introduccin y Conceptos BsicosInsistir en el tema del retardo de transmisin introducido por el reordenamientoTema 1 Introduccin y Conceptos BsicosOjo! Recuerda que la definicin es, en si, al revs 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 chrominanceformat), 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 theluminance component of the picture. Macroblock is sometimes used to refer to the sampledata and sometimes to the coded representation of the sample values and other data elementsdefined in the macroblock header of the syntax defined in this part of this specification. Theusage is clear from the context.

    Tema 1 Introduccin y Conceptos Bsicos