Monografias.com > Sin categoría
Descargar Imprimir Comentar Ver trabajos relacionados

Redundancia Temporal y difusión de información multimedia (página 3)




Enviado por Pablo Turmero



Partes: 1, 2, 3

Monografias.com

Tasa de bits constante.
Cuando al red ofrece un servicio de transporte de tipo CBR (i.e ATM), entonces podremos utilizar un control de flujo que proporcione una tasa de bits constante.
Es necesario incluir un buffer entre el encoder y la red para suavizar las fluctuaciones del bitrate.
Almacenar el video antes de enviarlo aumenta el retardo total, siendo no aconsejable para servicios de entrega de vídeo interactivo.
La técnica más común para controlar el flujo de salida del encoder es ajustar sus parámetros de configuración en función de la ocupación del buffer (feedback control).
Por otro lado, también podemos regular el flujo con información acerca de la actividad del frame actual (feed-forward).
(Gp:) Source Encoder
(Gp:) Buffer
(Gp:) Modify Encoder
Params.
(Gp:) Input
(Gp:) Picture
activity
(Gp:) Buffer
status
(Gp:) Output

Monografias.com

Ajuste de parámetros de codificación.
Al controlar de flujo de salida de un encoder se debe llegar a un compromiso entre la calidad y la tasa de compresión.
Cuando se trata de encoders basados en transformada por bloques, podemos jugar con varios parámetros:
Tasa de cuadros (frame rate) ? Sólo usado cuando la calidad de cada cuadro no puede degradarse.
Codificar sólo una parte del bloque de coeficientes (i.e. solo coeff. de baja frecuencia). El coeff. DC siempre debe estar presente.
Cuando la información del movimiento es más importante que el detalle espacial ? Mantener la tasa de cuadros y modificar el parámetro de cuantización Qp.
Incrementando Qp se obtendrán mas coeff. nulos, reduciendo los bits necesarios para codificar el bloque usando VLC
El ajuste de Qp se puede hacer a nivel de un cuadro, GOB o MB.
Umbral de detección de movimiento. Decide si un MB en un cuadro P es codificado o saltado (COD=1)
Si aumentamos el umbral ? el encoder se hace menos sensible al movimiento ? Pocos MB se codifican ? Reducimos la tasa de bits.
Umbral de codificación INTRA de un MB. Decide si un MB es codificado como INTRA (Mayor tasa de bits) o INTER.

Monografias.com

Cuantización variable.
El mecanismo de control de flujo más utilizado es:
Ajuste del valor de Qp del siguiente cuadro, GOB o MB, basándose en la ocupación actual del buffer (estado de la red).
Sin embargo, estos mecanismos ofrecen resultados no predecibles y/o fluctuaciones severas del bitrate:
Los distintos umbrales de cuantización(valores Qp) no afectan de forma lineal al bitrate de salida
El contenido de vídeo puede afectar a lacantidad de bits necesarios para codificarun frame.
Para producir un bitrate estable es necesario emplear algoritmos más complejos, incorporando en muchos casos tanto feedback (buffer-based) como feed-forward control.
Un ejemplo:
TM5 Rate control algorithm (MPEG-2, H.263, …) ? Buffer-based

Monografias.com

TM5 rate control algorithm (I).
Mecanismo que controla el bitrate calculando de forma adaptativa el valor de Qp para cada MB.
Tres pasos:
Paso 1: Estimación de la tasa de bits objetivo para el siguiente cuadro.
Se realiza antes de codificar el cuadro
Estima de la complejidad global, X, del siguiente cuadro (I, P o B)
donde S indica el número de bits requeridos para codificar el cuadro anterior, y Q es el valor de cuantización medio de todos los MBs
El número de bits para el siguiente cuadro, T, se calcula en base al número de bits disponible para el resto del GOP actual, R, y a la complejidad.
R se actualiza tras codificar cada frame (inicialmente R = 0)
Si es el primer cuadro de un GOP (INTRA o I-frame):

donde Np,b es el número de cuadros P y B que faltan por codificar en el GOP

Sino (cuadros P y B)

Monografias.com

TM5 rate control algorithm (II).
Paso 2: Cálculo del valor Qp de referencia para todos los MBs del cuadro (rate control)
Esta basado en la idea de un buffer virtual. Antes de codificar el MBj (j>= 1), se calcula el nivel de llenado del buffer virtual (del cuadro actual I, P o B).
d0 es el valor inicial de llenado del buffer
Bj es el número de bits generados al codificar los
MBs del cuadro hasta el MBj (incluido este)
dj es el valor de llenado del buffer al codificar el MBj
El valor final del buffer virtual (dji,p,b cuando j=MB_Cnt) se utiliza como valor de llenado inicial para el siguiente cuadro del mismo tipo.
A continuación se calcula el valor de referencia del cuantizador Qj para MBj:

Paso 3: Determinación del valor del cuantizador (mquantj) de MBj.
Cálculo de la actividad espacial de MBj:
Usando el valor de los pixels originales de los cuatro bloques de 8×8 de luminancia (n=1..4) y los cuatro bloques de 8×8 de luminancia de los pixels organizados por campos (n=5..8)

Monografias.com

TM5 rate control algorithm (III).

Pkn son los valores de los pixels en el enésimo bloque de 8×8
Vblkn corresponde a la varianza de los pixels del enésimo bloque de 8×8
Actj es la actividad espacial del MBj

A continuación se normaliza la actividad espacial:

avg_act es el valor medio de actj en el último cuadro codificado (para el primer cuadro se asigna el valor de 400).

Por último, calcula el valor del cuantizador (mquantj) para MBj:

El valor de mquantj se recorta para que entre en el intervalo [1,31] y se utilice como valor de cuantización de MBj.

Monografias.com

Feed-forward rate control.

En feed-forward el parámetro de cuantificación se calcula en función de los bits necesarios para codificar el error de predicción del cuadro actual.

Monografias.com

Control de flujo: Resolución reducida.
Para aplicaciones donde se requieren bajas tasas de bits y no es suficiente con la cuantificación variable.
Submuestrear cada macrobloque de error antes de codificarlo y realizar la operación inversa (interpolando) en el decodificador.

Monografias.com

Control de flujo: Resolución reducida (2).
Ejemplo de decodificador H.263 con procesamiento de resolución reducida

Monografias.com

Control de flujo: Codificación multinivel.
El stream de salida esta formado por un número de codificaciones a distintos niveles de tasa de bits, cuadros por segundo y/o resolución.
Nivel Básico + Niveles de mejora.
Ejemplo H.261 con dos niveles sobre ATM (1992)
Básico a muy baja tasa de bits
Mejora ? diferencias con original
Ejemplo H.263 con dos niveles (1999)
Básico ? QCIF a f/s
Mejora ? CIF a 2 x f/s
MPEG-4 soporta multinivel

Monografias.com

Control de flujo: Codificación multinivel (2).
Ejemplo de MPEG-4, escalabilidad temporal, Qp=cte

Monografias.com

Protección y ocultación de errores.
Los datos de vídeo codificados son muy sensitivos a la pérdida de información y a los errores de bit del canal.
La calidad del video se degrada enormemente ante canales de altos BER a no ser que empleemos mecanismos de control de errores.
Las predicciones espacial y temporal de las secuencias de vídeo aumentan la vulnerabilidad.
Esquemas de gestión de errores deben situarse en codificador y decodificador
No es factible la retransmisión del vídeo erróneo debido a los requisitos de tiempo real

Monografias.com

Protección y ocultación de errores (2).
Técnicas de ocultación de errores.
Sólo interviene el decodificador en el control de errores. El codificador no añade redundancia.
El decodificador trata de aprovechar la información que ya tiene libre de errores de la secuencia de video ya recibida para realizar una recuperación aproximada.

Sin ocultación
Zero-MV
MV del frame anterior
MV del frame anterior que mejor se mueve en la dirección del MV perdido

Monografias.com

Protección y ocultación de errores (3).
Técnicas de protección de errores (en el codificador).
Inserción de códigos de corrección de errores. Normalmente se aplican a los códigos de longitud fija y se combinan con otras técnicas
Duplicación de los vectores de movimiento.
Refresco INTRA
Refresco INTRA adaptativo (AIR)
AIR – Dos bloques INTRA en cada cuadro

Monografias.com

Conclusiones.
Las técnicas de control de flujo nos permiten cambiar los parámetros de calidad para conseguir un bitrate deseado
Las secuencias de vídeo codificado son muy sensibles a los errores. Se pueden utilizar técnicas de ocultación de errores en el decodificador y codigos de redundancia y aumento de bloques intra en el codificador.

Partes: 1, 2, 3
 Página anterior Volver al principio del trabajoPágina siguiente 

Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

Categorias
Newsletter