Técnicas para la difusión de vídeo
1. Introducción.
2. Control de flujo.
Bibliografía
[SAD02] “Compressed video
communications”
[FLU95] "Understanding networked
multimedia“
2.1 Cuantización variable
2.2 Resolución reducida
2.3 Codificación multinivel
3. Técnicas de
transcodificación.
4. Protección y ocultación de
errores.
5. Conclusiones.
Transmisión de Datos Multimedia –
http://www.grc.upv.es/docencia/tdm
– Master IC 2007/2008
Transmisión de Datos Multimedia - Master IC 2007/2008
Introducción.
 Desde el punto de vista de la red:
 Un stream de vídeo ha de ser “paquetizado” para su transporte.
 La pérdida de paquetes implica una degradación de la calidad de vídeo
que observa el destinatario.
 Es por ello que resulte de interés el estudio de técnicas que protejan el
vídeo en su viaje al destino y que los errores detectados puedan ser
“ocultados” al usuario final  Video resilience.
 Desde el punto de vista del transporte de vídeo en sistemas y
redes heterogéneos:
 Interoperabilidad de distintos codecs con bitstreams incompatibles en la
red  heterogeneous transcoding.
 Posibilidad de cambiar los parámetros de codificación (i.e. bitrate) de un
mismo codec  homogeneous transcoding.
 Desde el punto de vista de la aplicación:
 Las redes (i.e. Internet) tienen un comportamiento muy variable e
impredecible en relación al ancho de banda disponible.
 Por ello, con el fin de optimizar el uso de recursos disponibles en la red
y maximizar la calidad de vídeo entregada al destinatario, se requieren
mecanismos de control de flujo extremo-a-extremo.
2
Transmisión de Datos Multimedia - Master IC 2007/2008
2. Control de flujo.
 Las técnicas de control de flujo deberán regular el bitrate
de salida para conseguir la mejor relación
calidad/productividad.
 El control de flujo es una herramienta que al mismo tiempo
nos permite prevenir situaciones de congestión en la red.
 Para que un sistema de control de flujo funcione es
necesario obtener de la red información acerca del ancho
de banda disponible en cada momento (i.e. RTCP receiver
reports).
 Existen diferentes formas de realizar un control de flujo:
 Cuantización variable (Variable-quantization)
 Resolución reducida (Reduced resolution)
 Codificación multinivel (Multi-layer coding)
 Etc..
3
Transmisión de Datos Multimedia - Master IC 2007/2008
4
Variabilidad del bitrate.
 Todos los estándares de compresión de vídeo producen de
forma natural un bitstream con tasa de bits variable.
 Se fija el valor de “Qp” para obtener una calidad constante.
 Por contra, se puede variar el Qp (MB, GOB o Frame) para conseguir
una tasa de bits constante a costa de una variabilidad en la calidad.
 La variabilidad viene fijada por la actividad espacial y temporal
de la secuencia de vídeo:
 Un MB de un cuadro P, no se codifica si es muy similar al MB del cuadro
de referencia. Dependiendo de la cantidad de movimiento en la escena,
el número de MB que NO se codifican varía  Variando también el
bitrate.
 La correlación entre los pixels de un bloque de 8x8, dicta el número de
bits necesario para codificar los 64 coeficientes resultantes de la
transformada. Junto con el valor de Qp determinará el número de
coeficiente nulos que aparecen y que posteriormente serán codificados
con VLC en flujos bits de tamaño variable.
Transmisión de Datos Multimedia - Master IC 2007/2008
Variabilidad del bitrate (II).
Codes
Layers
Variable length
Picture
Bit stuffing
ESTUF, PSTUF
Synchronization
Addresing
Quant. step size
Administrative
Spare
PSC(22), ECS(22)
TR(8), TRB(3)
PQUANT(5),DBQUANT(2)
PTYPE(13),CPM(1),PSBI(2)
PEI(1), PSPARE(8)
Group of
Blocks
Bit Stuffing
GSTUF
Synchronization
Addresing
Administrative
Quant. step size
GBSC(17)
GN(5)
GSBI(2), GFID(2)
GQUANT(5)
Administrative
Motion
MCBPC,MODB, CBPY
MVD, MVD2-4,
MVDB
Administrative
Quant. step size
COD(1), CBPB(6)
DQUANT(2)
DCT Coefficients
(except Intra DC
terms)
TCOEFF
DC terms of Intra
DCT Coeff.
INTRADC(8)
Macroblock
Block
Fixed length
 Parámetros de longitud fija y variable en un stream de vídeo H.263
5
 La contribución de los parámetros de longitud variable en el bitrate final es
mucho mayor que los de longitud fija, a pesar de ser menos.
Transmisión de Datos Multimedia - Master IC 2007/2008
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 (feedforward).
Picture
activity
6
Input
Modify Encoder
Params.
Source Encoder
Buffer
status
Buffer
Output
Transmisión de Datos Multimedia - Master IC 2007/2008
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.
7
Transmisión de Datos Multimedia - Master IC 2007/2008
2.1 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 la
cantidad de bits necesarios para codificar
un 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
 http://www.mpeg.org/MPEG/MSSG/tm5/Overview.html
8
Transmisión de Datos Multimedia - Master IC 2007/2008
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
X i , p , b  S i , p , b  Q i , p , b 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):
R
bitrate  N p , b
FrameRate
– Sino (cuadros P y B)
9
R  R  S i , p ,b
R
donde Np,b es el número de cuadros P y B que faltan por
codificar en el GOP
Transmisión de Datos Multimedia - Master IC 2007/2008
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).
d
i , p ,b
j
d
i , p ,b
0
 B j 1 
Ti , p ,b   j  1
MB_cnt
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:
d j  31
Qj 
2
bitrate
framerate
 Paso 3: Determinación del valor del cuantizador (mquantj) de
MBj.
 Cálculo de la actividad espacial de MBj:
10
– Usando el valor de los pixels originales de los cuatro bloques de 8x8 de luminancia
(n=1..4) y los cuatro bloques de 8x8 de luminancia de los pixels organizados por
campos (n=5..8)
Transmisión de Datos Multimedia - Master IC 2007/2008
TM5 rate control algorithm (III).
act
vblk
n

1
64
j

 1  min vblk 1 , vblk 2 ,..., vblk 8 
  P  P_mean
n
k

2
n
P_mean
n

1
64
  Pk  DC
n
n
64 k 1
64 k 1
n
Pk son los valores de los pixels en el enésimo bloque de 8x8
Vblkn corresponde a la varianza de los pixels del enésimo bloque de 8x8
Actj es la actividad espacial del MBj
 A continuación se normaliza la actividad espacial:
N_act
2  act   avg_act

j
act j   2  avg_act 
avg_act es el valor medio de actj en el último cuadro codificado (para el
primer cuadro se asigna el valor de 400).
j
 Por último, calcula el valor del cuantizador (mquantj) para MBj:
mquant
11
j
 Q j  N_act
j
 El valor de mquantj se recorta para que entre en el intervalo [1,31] y se
utilice como valor de cuantización de MBj.
Transmisión de Datos Multimedia - Master IC 2007/2008
12
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.
Transmisión de Datos Multimedia - Master IC 2007/2008
1
3
2.2 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.
Transmisión de Datos Multimedia - Master IC 2007/2008
1
4
2.2 Control de flujo: Resolución reducida (2).
 Ejemplo de decodificador H.263 con procesamiento de
resolución reducida
Transmisión de Datos Multimedia - Master IC 2007/2008
2.3 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
1
5
Transmisión de Datos Multimedia - Master IC 2007/2008
1
6
2.3 Control de flujo: Codificación multinivel (2).
 Ejemplo de MPEG-4, escalabilidad temporal, Qp=cte
Transmisión de Datos Multimedia - Master IC 2007/2008
1
7
3. Transcodificación.
 Operaciones necesarias para la conversión de un stream
de vídeo comprimido de unas características a otras
(homogénea) o de una sintaxis a otra (hetereogénea).
Transmisión de Datos Multimedia - Master IC 2007/2008
Transcodificación Homogénea.
 Reducción de bitrate, frame rate y/o resolución sin
cambiar el formato (sin cambios de sintaxis)
 Ejemplos: Multi-videoconferencia, VoD
 Diferencia con utilizar decodificador+codificador en
cascada
1
8
Transmisión de Datos Multimedia - Master IC 2007/2008
1
9
Transcodificación Homogénea (2).
 Reducción del bitrate:
 Requantización escalar
 Requantización vectorial (LVQ), mayor calidad pero incompatible
con MPEG
 Transcodificación de bucle abierto
 Transcodificador mejorado
Transmisión de Datos Multimedia - Master IC 2007/2008
2
0
Transcodificación Homogénea (3).
 Reducción del framerate:
 Eliminación de frames  recalcular vectores de movimiento
Transmisión de Datos Multimedia - Master IC 2007/2008
Transcodificación Homogénea (4).
 Reducción de la resolución:
 Filtro de submuestreo
 Ejemplo: CIF  QCIF cada cuatro MB pasan a uno
 Submuestreo en DCT
2
1
Transmisión de Datos Multimedia - Master IC 2007/2008
2
2
Transcodificación Hetereogénea.
 La transcodificación de vídeo hetereogénea es un
algoritmo que realiza conversiones de la sintaxis de vídeo
en el dominio comprimido.
 Ajuste de las cabeceras de los frames
 Traducción de los datos de vídeo de una sintaxis a otra.
 Ajustes de los bits de relleno para cumplir los requisitos de
sincronización de los distintos estandares.
Transmisión de Datos Multimedia - Master IC 2007/2008
2
3
4. 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
Transmisión de Datos Multimedia - Master IC 2007/2008
4. 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.
(a) Sin ocultación
(b) Zero-MV
(c) MV del frame anterior
(d) MV del frame anterior
que mejor se mueve en la
dirección del MV perdido
2
4
Transmisión de Datos Multimedia - Master IC 2007/2008
2
5
4. 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
Transmisión de Datos Multimedia - Master IC 2007/2008
2
6
5. Conclusiones.
 Las técnicas de control de flujo nos permiten cambiar los
parámetros de calidad para conseguir un bitrate deseado
 Las técnicas de transcodificación nos permiten convertir
streams de vídeo para adecuar las necesidades del
receptor y del ancho de banda de la red.
 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.
Descargar

Diapositiva 1