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

Compresión y difusión de video (página 2)




Enviado por Pablo Turmero



Partes: 1, 2

Monografias.com

Parámetros específicos de red I
Lo que debe suministrar una red para el envío en tiempo real de una secuencia de vídeo.

Tasa de bits.
13

Monografias.com

Parámetros específicos de red II
Retardo y varianza del retardo.
Normalmente se envían una secuencia de vídeo sincronizada con el audio correspondiente.
La sincronización es muy importante y necesaria desde HDTV hasta VCR.
En Videoconferencia no es tan importante ya que la imagen no es continua (pocos cuadros/s).
En estos casos, los requerimientos para estos parámetros los impone el audio (más sensible).
Valores indicativos para la varianza del retardo:
HDTV: 50 ms.
Vídeo difusión: 100 ms.
Videconferencia: 400 ms.
14

Monografias.com

Parámetros específicos de red III
Tasa de error.
El vídeo comprimido es más sensible a los errores.
La degradación de la calidad de vídeo percibida depende:
BER de la red
Del tipo de error (simple, ráfaga, bloque, etc.)
Donde se produce ese error.
El índice de compresión de vídeo.
Mecanismos de recuperación ante errores:
Técnicas de protección de la señal.
FEC (Forward Correction Codes).
Marcas de resincronización.
Reversible VLC.
Técnicas de paquetización.
Ocultación de errores (error concealment)
Cuando se pierden bloques o llegan demasiado tarde.
Técnicas de extrapolación e interpolación de cuadros.
15

Monografias.com

Redundancia temporal
Se basa en la similitud de cuadros sucesivos en una secuencia de vídeo.
Ej.: Secuencias de plano estático.
Se utilizan técnicas de codificación diferencial o transformada 3D
Sólo se codificarán las diferencias entre cuadros sucesivos (DPCM).
La reconstrucción de un cuadro puede estar basado en otro(s) anterior(es).
Un algoritmo típico de eliminación de redundancia temporal (motion compensation) es el que emplea MPEG.
16

Monografias.com

Redundancia temporal (MPEG-1)
Cuadros de referencia y cuadros auto-contenidos
Si F1 lo usamos para construir F2, se dice que F1 es un cuadro de referencia (reference frame).
Si un cuadro no se construye a partir de ningún otro, se dice que es auto-contenido (intracoded frame)
Normalmente estos sirven de referencia para otros.
Macrobloques (macroblocks)
16×16 pixels (6 bloques de 8×8: 4Y,1U y 1V).
17
(Gp:) F1

(Gp:) F2

(Gp:) F3

Monografias.com

Redundancia temporal (MPEG-1)
Vectores de movimiento (motion vector)
Identifican el desplazamiento de un determinado macrobloque en el cuadro actual respecto a la posición que tenía en el cuadro de referencia.
Los vectores de movimiento se aplican cuando se identifica un macrobloque existente en el cuadro de referencia (matching blocks)

18
(Gp:) F1
(Gp:) F2
(Gp:) Macrobloques idénticos
(Gp:) Vector de movimiento
?x = -20, ?y = 0
(Gp:) Cuadro de referencia

Monografias.com

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.
19

Monografias.com

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).
20
(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!!

Monografias.com

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)
21
(Gp:) I
(Gp:) B
(Gp:) B
(Gp:) P
(Gp:) B
(Gp:) B
(Gp:) P
(Gp:) B
(Gp:) B
(Gp:) I

Monografias.com

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.
22

Monografias.com

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.
23

Monografias.com

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.
24
(*) Más conocido como SAD (Sum of Absolute Differences)

Monografias.com

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)
25

Monografias.com

Algoritmos: Three-Step Search.
Coste:
Examina puntos
1.02 GOPS (p=15) ó 770 MOPS (p=7).
26
MV: (7,-3)
(Gp:) (-7,-7)
(Gp:) (0,-7)
(Gp:) (7,-7)
(Gp:) (-7,7)
(Gp:) (0,7)
(Gp:) (7,7)

(Gp:) 1
(Gp:) 1
(Gp:) 1
(Gp:) 1
(Gp:) 1
(Gp:) 1
(Gp:) 1
(Gp:) 1
(Gp:) 1

(Gp:) 2
(Gp:) 2
(Gp:) 2
(Gp:) 2
(Gp:) 2
(Gp:) 2
(Gp:) 2
(Gp:) 2

(Gp:) 3
(Gp:) 3
(Gp:) 3
(Gp:) 3
(Gp:) 3
(Gp:) 3
(Gp:) 3
(Gp:) 3

Busca en la posición (0,0)
S=2N-1 (step size)
Busca 8 posiciones a +/-S píxeles alrededor de (0,0)
De las nueva posiciones elige aquella con el SAD menor.
S=S/2 y el nuevo origen de búsqueda el punto obtenido en 4.
Repetir pasos 3-5 hasta que S=1.

Monografias.com

Algoritmos: Búsqueda logarítmica.
Coste:
Examina 20 puntos
616 MOPS (p=7 y N=2).
27
(Gp:) (-7,-7)
(Gp:) (0,-7)
(Gp:) (7,-7)
(Gp:) (-7,7)
(Gp:) (0,7)
(Gp:) (7,7)

(Gp:) 1
(Gp:) 1
(Gp:) 1
(Gp:) 1
(Gp:) 1

(Gp:) 2
(Gp:) 2
(Gp:) 2

(Gp:) 3
(Gp:) 3

(Gp:) 4
(Gp:) 4

(Gp:) 5
(Gp:) 5
(Gp:) 5
(Gp:) 5
(Gp:) 5
(Gp:) 5
(Gp:) 5
(Gp:) 5

MV: (5,-3)
Busca en la posición (0,0) y establece S=N (step size)
Selecciona 4 posiciones a S píxeles del origen en los ejes X e Y.
Calcula la posición que ofrece el menor SAD, fijándola como el nuevo origen de la búsqueda
Si esta posición es la central de las 5 seleccionadas S=S/2
Si S=1 ir al paso 6, sino ir al paso 2.
Selecciona el origen actual y las 8 posiciones de alrededor, y calcula aquella que minimiza el SAD

Monografias.com

Algoritmos: Búsqueda en cruz (Cross Search)
Coste:
Examina puntos
523 MOPS (p=7).
28
MV: (-3,-5)
(Gp:) (-7,-7)
(Gp:) (0,-7)
(Gp:) (7,-7)
(Gp:) (-7,7)
(Gp:) (0,7)
(Gp:) (7,7)

(Gp:) 1
(Gp:) 1
(Gp:) 1
(Gp:) 1
(Gp:) 1

(Gp:) 4
(Gp:) 4

(Gp:) 2
(Gp:) 2
(Gp:) 2
(Gp:) 2

(Gp:) 3
(Gp:) 3
(Gp:) 3
(Gp:) 3

Establece el origen en la posición (0,0). S=2N-1 (step size)
Selecciona 4 posiciones a +/-S píxeles del origen formando una cruz (X) y el propio origen.
Calcula la posición que ofrece el menor SAE, fijándola como el nuevo origen de la búsqueda
Si (S>1) entonces S=S/2 y va al punto 2. Sino ir al punto 5.
Si la mejor posición está en el punto superior izquierda o inferior derecha de la X, evaluar 4 puntos más en forma de X a una distancia de +/-1 pixel. Sino hacer lo mismo pero con los 4 puntos distribuidos en "+".

Monografias.com

Algoritmos: OTS (One-at-a-Time Search)
Coste:
Examina 12 puntos
369 MOP.
29
MV: (-4,-3)
(-7,-7)
(0,-7)
(7,-7)
(-7,7)
(0,7)
(7,7)
(Gp:) 1
(Gp:) 1
(Gp:) 1

2
3
4
5
Establece el origen en (0,0).
Selecciona el origen y las dos posiciones vecinas en el eje X
Calcula la posición que menor SAD exhiba. Si es el origen ir al paso 5.
Establece el nuevo origen en la posición que ha ofrecido el menor SAD. Ir al paso 2.
Repetir los pasos 2 al 4 seleccionando las posiciones en el sentido vertical (eje Y).
(Gp:) 6
(Gp:) 6

7
8
9
Puede dar lugar a mínimos locales !

Monografias.com

Algoritmos: Vecino más próximo.
Coste:
Examina 12 puntos
369 MOP.
30
MV: (-3,-4)
Calcula el SAD del (0,0).
Establece el origen de búsqueda a la posición del vector supuesto (predicted vector)
Selecciona 4 posiciones alrededor del origen en forma de "+".
Si el origen de búsqueda (o la posición 0,0 en la primera iteración) ofrece el menor SAD entonces "fin de búsqueda".
Sino establece el nuevo origen de búsqueda en la posición que menor SAD ha ofrecido.
(Gp:) (-7,-7)
(Gp:) (0,-7)
(Gp:) (7,-7)
(Gp:) (-7,7)
(Gp:) (0,7)
(Gp:) (7,7)

0
(Gp:) 1
(Gp:) 1
(Gp:) 1
(Gp:) 1
(Gp:) 1

(Gp:) 2
(Gp:) 2
(Gp:) 2

(Gp:) 3
(Gp:) 3

Propuesto para H.263 y MPEG-4.

Monografias.com

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.

31
(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

Monografias.com

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…
32

Monografias.com

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.
33

Monografias.com

Relación entre los estándares MPEG.
34

Monografias.com

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).
35

Monografias.com

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.
36
(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).

Monografias.com

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)
37

Monografias.com

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).
38

Monografias.com

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.
39

Monografias.com

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.
40

Monografias.com

MPEG-4
41

Monografias.com

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).
42

Monografias.com

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)
43

Monografias.com

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).
44

Monografias.com

Estándar H.261.
45
(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

Monografias.com

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.
46

Monografias.com

Otros estándares H.26x.
Comparación subjetiva MPEG-4 – H.264
47

Monografias.com

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.)
48

Monografias.com

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.
49

Monografias.com

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..

50

Monografias.com

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 8×8, 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.

51

Monografias.com

Variabilidad del bitrate (II).
Parámetros de longitud fija y variable en un stream de vídeo H.263
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.
52

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).
53
(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.
54

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
http://www.mpeg.org/MPEG/MSSG/tm5/Overview.html
55

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)

56

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)
57

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.

58

Monografias.com

Feed-forward rate control.

59
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.
60

Monografias.com

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

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

62

Monografias.com

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

63

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

64

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.

65
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)
66
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.
67

Partes: 1, 2
 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