06 JMD 4 de 10
06 JMD 4 de 10
2-1
Capítulo 2
2.1. Introducción
2-2
Análisis de la codificación de vídeo MPEG-I
2-3
Capítulo 2
2-4
Análisis de la codificación de vídeo MPEG-I
2-5
Capítulo 2
Slice
Componente rojo
Las cuadros de una secuencia SIF pueden codificarse en tres modos diferentes:
i) Intra (I): son los cuadros codificados empleando únicamente predicción espacial.
ii) Predictivo (P): son los cuadros codificados con predicción temporal hacia atrás,
usando como referencia el anterior cuadro I o P, y con predicción espacial
iii) Predictivo bidireccional (B): son los cuadros codificados con compensación de
movimiento, empleando como referencias la pasada o futura I o P. La compensación de
movimiento se puede realizar sobre los macrobloques de una de las referencias o sobre
una semisuma de un macrobloque de cada una ellas. También se aplica predicción
espacial en los bloques del macrobloque diferencial obtenido.
El almacenamiento o transmisión de las imágenes de una secuencia se hace de forma
que el decodificador pueda procesar la información lo antes posible. Para ello, en el
almacenamiento o transmisión, las imágenes de referencia preceden a aquellas que las
necesitan para ser decodificadas. Este efecto produce en aplicaciones en tiempo real un
retardo de reordenación, dado que el orden de decodificación de los cuadros es distinto
al de su presentación. A su vez, el codificador también introduce un retardo de proceso
dado que necesita imágenes que temporalmente son posteriores para codificar otras que
las preceden. Por ello, no es aconsejable en este tipo de aplicaciones que el número de
2-6
Análisis de la codificación de vídeo MPEG-I
i) Grupo de imágenes (Group of Pictures, GoP), compuesto por una imagen I y las
imágenes B y P que directa o indirectamente la han utilizado como referencia.
ii) Subgrupo de imágenes (Subgroup of Pictures, SGoP) compuesto por una imagen
de referencia I o P y las imágenes B que emplearon la imagen I o P como segunda
referencia en su proceso de codificación.
I B B B P B B B P B B P B B B I
modo intra y, finalmente, se emplea el método más rentable. En el caso de que se elija el
modo intra, se aplica la DCT sobre cada uno de los bloques y se pondera con la matriz
de pesos de la codificación I. Si la decisión es codificar en modo predictivo, se
determina el macrobloque diferencial, sobre el cual se aplica la DCT en cada bloque con
una matriz de pesos especificada para la codificación diferencial. En este caso se aplica
la DCT para explotar la ponderación de los coeficientes transformados y no por razones
de reducción de la tasa binaria, ya que la señal diferencial carecerá, en general, de
redundancia espacial. Las imágenes predictivas bidireccionales se codifican empleando
como posibles referencias las imágenes I o P que las preceden o suceden. De forma que
las imágenes B, inicialmente se estructuran en macrobloques y se determinan los
macrobloques de las imágenes de referencia que más se les asemejan. A continuación se
evalúa el coste de codificación al emplear como referencia el macrobloque de la imagen
I o P precedente, el macrobloque de la imagen de referencia siguiente, una semisuma de
los pixels de los macrobloques de referencia mencionados o el modo de codificación
intra. Del mismo modo que se realiza sobre los macrobloques de las imágenes P, se
aplica la compensación de movimiento, cuando se emplean las imágenes de referencia,
y la DCT.
Control
externo
Intra / Inter
video
digital
+ DCT Q VLC
flujo binario
Q-1
vector de
DCT-1
movimiento
ME FM
2-8
Análisis de la codificación de vídeo MPEG-I
próximos, las componentes de alta frecuencia del dominio transformado son nulas o
próximas a cero. Aprovechando esta característica presentada por los coeficientes de la
DCT, se realiza un barrido en zig-zag de los coeficientes transformados para aumentar
el rango de compresión. Así, empleando la técnica run-length, se asignan códigos de
longitud variable en función de la probabilidad de valor del pixel y del número de ceros
consecutivos en el barrido. Los códigos de Huffman estandarizados se obtuvieron
después del análisis estadístico de múltiples secuencias.
En el proceso de cuantificación se emplea un paso de cuantificación (Q) ajustado
según la calidad o la tasa binaria deseada. Los vectores de movimiento obtenidos en la
codificación de macrobloques de imágenes P o B también se codifican diferencialmente
respecto a los macrobloques precedentes de la misma tira. Esto se debe a que, en
general, los objetos que componen una imagen ocupan varios macrobloques, y por lo
tanto, el vector de desplazamiento suele ser semejante para macrobloques consecutivos
de la misma tira.
El proceso de codificación de las imágenes P y B no se realiza sobre las imágenes de
referencia originales sino sobre la imagen decodificada, a fin de que el codificador sea
conocedor del resultado de la decodificación del receptor. Esto obliga al codificador ha
realizar el proceso de decodificación de la imagen para evitar la deteriorización
progresiva de las imágenes. El codificador debe ser ajustado para que la elección de la
codificación intra en los macrobloques de las imágenes P o B se decida cuando se
alcance un nivel de distorsión determinado. El umbral de decisión deberá depender del
cuantificador seleccionado, de forma que, cuanto más fino sea el paso de cuantificación
antes se adopta la codificación intra. Se debe buscar una relación de compromiso entre
la relación de compresión y la reducción de la tasa binaria para que las imágenes P o B
no tengan un nivel de distorsión mucho más elevado que las imágenes I.
El estándar de codificación MPEG-II amplía las aplicaciones a las que estaba dirigido
el MPEG-I. Las principales mejoras introducidas en el MPEG-II son: la posibilidad de
operar con imágenes entrelazadas al emplear compensación de movimiento sobre
macrobloques de 16 x 8 pels, aumenta la precisión de los coeficientes de DC a 10 bits,
permite la cuantificación no lineal, mejora el control frente a errores en su sintaxis e
introduce el concepto de escalabilidad. La escalabilidad permite que, con el mismo flujo
de bits, se puedan emplear diferentes resoluciones espaciales y temporales junto con la
posibilidad de disponer de diferentes niveles de calidad. La escalabilidad espacial y
temporal consigue compatibilizar la decodificación sobre diferentes elementos de
presentación. La escalabilidad de diferentes niveles de calidad, o escalabilidad SNR
(signal to noise ratio), permite dividir el flujo de información del codificador, de forma
que se asegura una calidad mínima en transmisión (flujo base) y una calidad añadida
(flujo secundario). Esta separación de flujos es especialmente interesante en sistemas de
comunicaciones con probabilidad de pérdida no nula, ya que permite gestionar, de
2-9
Capítulo 2
255 R2
PSNR = 10 log R (dB)
∑ (p' (i) − p(i))
2
i =1 (2.2.1)
donde R es el número de pels en la porción de imagen a analizar, p(i) es el valor del pel
original y p'(i) es el valor del pel decodificado.
Las variaciones de la tasa binaria generada en la codificación se deben a razones tanto
intrínsecas, debidas al algoritmo de codificación, como extrínsecas debidas a la
complejidad y actividad de la secuencia a codificar. Las razones intrínsecas están
relacionadas, fundamentalmente, con los modos de codificación aplicados sobre las
imágenes. Así, las imágenes I necesitan un número superior de bits a las imágenes P o B
al emplear únicamente la técnica transformada DCT. Asimismo, las imágenes P suelen
generar mayor número de bits que las B, dado que sólo emplean compensación de
movimiento respecto a las imágenes de referencia anteriores. Dentro de la codificación
de las imágenes, otro factor que provoca variaciones de la tasa binaria generada es la
explotación de la entropía a través de tablas de códigos de longitud variable, según el
tamaño y posición de las ráfagas (run-length) de los coeficientes de la DCT.
Las razones extrínsecas que provocan variaciones en la tasa binaria dependen del
contenido de las imágenes a codificar. Las imágenes con mayor grado de detalle o
mayor relieve tienen un nivel de complejidad superior y reducen la efectividad de la
explotación de la redundancia espacial. Las secuencias de gran actividad, con
movimientos rápidos de cámara, zooms y cambios de plano, impiden el empleo de la
técnica de compresión predictiva, por lo que, también provocan aumentos en la tasa
binaria respecto a secuencias de menor actividad.
2-10
Análisis de la codificación de vídeo MPEG-I
2-11
Capítulo 2
110000
105000 Bits per Frame I
100000
95000
90000 Bits per Frame P
85000
80000 Bits per Frame B
75000
70000
65000
60000
Bits
55000
50000
45000
40000
35000
30000
25000
20000
15000
10000
5000
0
1000
1200
1400
1600
1800
2000
2200
2400
2600
2800
3000
3200
3400
3600
3800
4000
4200
200
400
600
800
Frame
Figura 2.3.1. Series temporales bits por cuadro de la codificación (Q=9, M=2, N=6) de
la secuencia "Live in Central Park" para los modos de codificación MPEG-I
2-14
Análisis de la codificación de vídeo MPEG-I
Q =valor previsto
M =N = 1
Codificar secuencia
¿ Es adecuada la no
calidad subjetiva ? Modificar Q
sí
Fijar M=N=4
Codificar secuencia
¿ Es adecuada la no
calidad subjetiva ? Decrementar M y N
sí
K=2
Fijar N = K M
Codificar secuencia
¿ Es adecuada la sí
calidad subjetiva ? K=K+1
no
N=N-M
Codificar secuencia
2-15
Capítulo 2
2-16
Análisis de la codificación de vídeo MPEG-I
compresión sólo es significativo hasta M=3 y N=6. Sin embargo, se observa que la
elección más aconsejable es M=2 y N=4 o N=6. Para valores medios y bajos de calidad
M y N pueden alcanzar los valores 4 y 12 respectivamente. En la figura 2.3.3 se
muestran los rangos de compresión para los valores más representativos de N y M en
función del paso de cuantificación Q. En la figura 2.3.4 se pone de manifiesto la
variación del PSNR en función de Q para diferentes valores de M y N.
Conjugando los resultados obtenidos tanto en la evaluación subjetiva de las
codificaciones como en el análisis cuantitativo podemos concluir que una adecuada
elección de parámetros N y M sería N=4 y M=2 o N=6 y M=2. Sólo en casos donde la
actividad de las escenas que componen la secuencia sea muy reducida y los niveles de
complejidad sean bajos parece conveniente aumentar estos valores a N=9 y M=3 o
N=12 y M=4. Estos valores también pueden ser empleados cuando la calidad fijada en la
secuencia es baja y la probabilidad de pérdida o error de los medios de transmisión
empleados sea reducida.
Con el presente estudio también se han podido ajustar las curvas que relacionan el
2-17
Capítulo 2
2-18
Análisis de la codificación de vídeo MPEG-I
90
85 Ratio N=1 M=1
45
40 Ratio N=9 M=3
35
30
25
20
15
10
5
0
2
10
11
12
13
14
15
16
17
18
19
20
Paso de cuantificación (Q)
44
36
35
34
33
2
10
11
12
13
14
15
16
17
18
19
20
Fig. 2.3.4. Valor medio de la PSNR para la codificación MPEG-1 de la secuencia "Live
in Centra Park" en función de los parámetros Q, M y N
2-19
Capítulo 2
2.1
2
1.9 Factor empírico de escala
1.8
1.7 5.686 x-0.774
1.6
1.5
1.4
1.3
Ratio
1.2
1.1
1
0.9
0.8
0.7
0.6
0.5
0.4
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Paso de cuantificación (Q)
Fig. 2.3.5. Factor de escala empírico para la codificación MPEG-I (M=2, N=4)
normalizado para Q=9
44
43 DATA SNR
42
45.879 x-0.1
41
40
39
SNR (dB)
38
37
36
35
34
33
32
0
2
4
6
8
10
12
14
16
18
20
22
24
26
28
30
2-20
Análisis de la codificación de vídeo MPEG-I
44
43
PSNR
42
41
40
39
38
PSNR (dB)
37
36
35
34
33
32
31
30
1000
1200
1400
1600
1800
2000
2200
2400
2600
2800
3000
200
400
600
800
v (Kbps)
2-21
Capítulo 2
E{(X[n] − E {X[n]} )}
) (X[n + k]− E{X[n]}
r[k] = (2.4.1)
Var {X[n]}
I P B Total
Q M N SNR mean std dev SNR mean std dev SNR mean std dev mean std dev
6 1 1 38.9 77476.6 17738.9 77476.6 17738.9
9 1 1 37.5 57396.1 12491.3 57396.1 12491.3
20 1 1 34.7 35120.8 5945.73 35120.8 5945.
6 2 4 38.9 77490.1 17897.6 38.2 47484.7 17864.2 37.5 30520.2 12431.6 46507.6 24565.8
9 2 4 37.5 57398.3 12613 36.6 28071.6 12117.6 36.3 17989.1 7159.96 30365 19024.2
20 2 4 34.7 35124.8 6023.64 33.6 12993.2 6348.16 33.9 9970.08 3103.05 17016.2 11599.6
6 4 4 38.9 77490 17897.6 37.4 34225.2 14581.8 45049.1 24279.5
9 4 4 37.5 57398.4 12613 36.2 20366.7 8863.45 29631.2 18849.7
20 4 4 34.7 35125 6023.66 33.9 11158.3 4015.41 17154.3 11343.9
6 1 6 38.9 77391 17828.2 37.9 43622.7 17422.9 49250.8 21516.8
9 1 6 37.5 57349.1 12563.1 36.2 25014.6 11245.8 30403.6 16619
20 1 6 34.7 35106 6028.98 33.3 11038.1 5455.29 15049.4 10538.2
6 2 8 38.9 77542.8 18050.7 38.0 48828.7 18527.5 37.4 31870.7 12709.7 43941.9 21710.2
9 2 8 37.5 57430.5 12750.3 36.4 29195.2 12612.5 36.1 18845.1 7327.36 27551.7 16013.7
6 4 8 38.9 77542.6 18050.8 38.2 54064.2 19927.1 37.4 35435.9 14671.4 43033.2 21382.1
9 4 8 37.5 57430.6 12750.2 36.6 33510.9 14144.4 36.1 21222.6 8918.53 27288.9 15813.2
6 4 12 38.9 77560.4 18107.6 38.1 54690.8 19984.3 37.4 36212.7 14762.1 42742.7 20299.8
9 4 12 37.5 57455.4 12780.1 36.5 34076.4 14048.6 36.0 21754 8957.5 26786.4 14557.9
20 4 12 34.7 35150 6186.49 33.4 16643.7 7743.26 33.5 11760.4 4051.95 14525.4 8191.58
6 8 16 38.8 77738.2 18770.4 38.2 59834.1 20455.4 37.3 41008.6 16898.1 44486.6 19753.7
9 8 16 37.5 57562.5 13297.9 36.6 38485.4 14747 35.9 25036.6 10696.6 27914.8 13887.5
2-22
Análisis de la codificación de vídeo MPEG-I
En las figuras 2.4.1, 2.4.2 y 2.4.3 se muestran las funciones de autocovarianza para
las variables aleatorias asociadas a los bits por imagen I, P o B, considerando un
conjunto representativo de valores de las ternas (Q, M, N).
En la figura 2.4.1 se puede observar que el decaimiento de la autocovarianza es
ajustable por una función exponencial. El parámetro N indica en este caso el valor de
submuestreo respecto a la curva con N=1. Esto se manifiesta en el factor de decaimiento
exponencial, ya que, aumenta proporcionalmente con el valor de N. Las curvas de
autocorrelación de I son muy insensibles a la variación del paso de cuantificación como
muestran las ternas (Q=6, M=4, N=8) y (Q=9, M=4, N=8).
America I
1
0.9
0.8
0.7
Autocorr I frames
0.6 Q9M1N1
0.5 Q9M2N4
Q9M1N6
0.4 Q6M4N8
0.3 Q9M4N8
0.2 Q9M8N16
0.1
0
-0.1
-0.2
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
LAG
Figura 2.4.1. Indice de autocorrelación del número de bits por cuadro para el modo de
codificación intra, en función de los parámetros de codificación (Q, M, N)
2-23
Capítulo 2
America P
1
Q9M1N6
0.9 Q6M4N8
0.8 Q9M2N4
Q9M4N8
0.7 Q9M8N16
Autocorr P frames
0.6
0.5
0.4
0.3
0.2
0.1
0
-0.1
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
LAG
Figura 2.4.2. Indice de autocorrelación del número de bits por cuadro para el modo de
codificación predictivo, en función de los parámetros de codificación (Q, M, N)
America B
1
0.9 Q9M2N4
0.8 Q6M4N8
Q9M4N8
Autocorr B frames
0.7
Q9M8N16
0.6
0.5
0.4
0.3
0.2
0.1
0
3
6
9
12
15
18
21
24
27
30
33
36
39
42
45
48
51
54
57
60
63
66
69
72
75
78
81
84
87
90
93
96
99
LAG
Figura 2.4.3. Indice de autocorrelación del número de bits por cuadro para el modo de
codificación predictivo bidireccional,
en función de los parámetros de codificación (Q, M, N)
2-24
Análisis de la codificación de vídeo MPEG-I
30
25
20
Frequency
15
10
0
102500
107500
112500
117500
22500
27500
32500
37500
42500
47500
52500
57500
62500
67500
72500
77500
82500
87500
92500
97500
Figura 2.4.4. Histograma del modo I para la codificación (Q=9, M=2, N=4 ) de la
secuencia "Live in Central Park"
25
20
15
Frequency
10
0
2500
7500
12500
17500
22500
27500
32500
37500
42500
47500
52500
57500
62500
67500
72500
77500
Figura 2.4.5. Histograma del modo P para la codificación (Q=9, M=2, N=4) de la
secuencia "Live in Central Park"
2-25
Capítulo 2
40
30
Frequency
20
10
0
5000
10000
15000
20000
25000
30000
35000
40000
45000
50000
55000
60000
65000
Figura 2.4.6. Histograma del modo B para la codificación (Q=9, M=2, N=4 ) de la
secuencia "Live in Central Park"
25
20
15
Frequency
10
0
5000
100000
105000
110000
10000
15000
20000
25000
30000
35000
40000
45000
50000
55000
60000
65000
70000
75000
80000
85000
90000
95000
Figura 2.4.7. Histograma de la tasa binaria para la codificación (Q=9, M=2, N=4) de
la secuencia "Live in Central Park"
2-26
Análisis de la codificación de vídeo MPEG-I
iv) Codificación VBR con objetivo PSNR y control por macrobloque (MB_PSNR).
Este esquema de funcionamiento con objetivo PSNR ejerce la corrección del paso de
cuantificación sobre los macrobloques del cuadro a partir del resultado obtenido en
macrobloques situados en la misma posición espacial de cuadros precedentes.
v) Codificación VBR con objetivo PSNR y control híbrido espacio-temporal por
macrobloque (MB_ST_PSNR). Para conjugar las ventajas de la regulación espacial y
temporal se ha propuesto un mecanismo de funcionamiento híbrido entre el SL_PSNR y
el MB_PSNR. Este modo aplica una corrección del paso de cuantificación sobre los
macrobloques del cuadro en función de los valores obtenidos de PSNR en el
macrobloque de igual posición espacial del cuadro precedente y de los macrobloques
codificados anteriormente del mismo cuadro con posiciones adyacentes.
2-28
Análisis de la codificación de vídeo MPEG-I
6
4. 2 10
v = 0.774 (bps )
Q (2.5.1)
6
4. 2 10
v ≈ (bps ) (2.5.2)
Q
6
6 10
Q≈ (2.5.3)
v
Nótese también que, la variabilidad del paso de cuantificación dependerá del tamaño
del buffer empleado, dado que los valores que puede tomar el cuantificador dependen
del tanto por ciento de ocupación del buffer. Si denominamos Bvirt al nivel de
ocupación del buffer virtual y Bmax al tamaño del buffer, la relación entre el valor de
Bvirt y el de Q queda expresada como:
4 Bvirt
Q = 1+ Q priori
max
B (2.5.4)
donde Qpriori, se obtiene de la expresión 2.5.3. Con esta relación se obliga a que el valor
2-29
Capítulo 2
2-30
Análisis de la codificación de vídeo MPEG-I
se realiza de manera que en un GoP, todas las posibles posiciones de los macrobloques
dentro de los cuadros P sean codificadas en modo intra al menos una vez. Obviamente,
se intenta uniformizar el número de macrobloques forzados al modo intra en las
imágenes P.
Una ilustración de este mecanismo distribuido intra aparece en la figura 2.5.1. En la
configuración de parámetros N=6 y M=2, se realiza una distribución vertical en los tres
cuadros P de los macrobloques forzados intra. En el presente estudio, los cuadros tienen
una resolución de 352 x 288 pels, por lo que, la distribución vertical intra se ha
realizado en 8 macrobloques de cada tira para los primeros dos cuadros P del GoP y los
6 últimos macrobloques de cada tira de la última P. La distribución de la codificación
intra dentro del GoP se realiza verticalmente con el fin de distribuir el incremento de la
tasa binaria de la forma más uniforme posible dentro de la codificación del cuadro, o
sea, en las tiras de éste. El efecto provocado por la localización de estos macrobloques
intra, al encontrarse en posiciones horizontalmente consecutivas y en la misma situación
vertical, no es perceptible en ningún momento en la decodificación, a pesar del posible
incremento periódico de la calidad en la zona de la imagen correspondiente. Este efecto
es inapreciable al igual que no lo era el efecto de refresco del cuadro intra, cuando N
tomaba un valor reducido.
I->P B B P B B P B B
2-31
Capítulo 2
2-32
Análisis de la codificación de vídeo MPEG-I
∆Q 0
-1
-2
-3
-4
-4.1
-2.6
-1.1
1.15
2.65
4.15
0.4
1.9
3.4
-3.35
-1.85
-0.35
PSNR error (dB)
En este caso también se busca una codificación que mantenga la calidad objetiva a
través del valor del PSNR. Para la regulación se ha empleado la variación del paso de
cuantificación sobre la unidad mínima controlable, es decir, el macrobloque. A
diferencia del SL_PSNR este mecanismo de regulación se basa en la redundancia
temporal y no en la espacial. Se considera que los macrobloques con la misma posición
espacial, en diferentes cuadros próximos, tendrán una alta similitud, y por tanto, a partir
de la experiencia de la codificación de un macrobloque situado en la misma posición
espacial en una imagen previa, se puede adecuar la cuantización del actual macrobloque,
a fin de ajustar el PSNR a un valor próximo al objetivo.
Para llevar a cabo la codificación MB_PSNR es necesario estructurar las imágenes de
forma matricial teniendo como elemento el macrobloque. En este caso se ha distinguido
entre imágenes I, P y B. Para los modos de codificación I y P, separadamente, se
mantiene un control del paso de cuantificación para cada macrobloque de la imagen. El
paso de cuantificación a aplicar se determina en base al valor previo empleado y a la
PSNR obtenida anteriormente. La curva de actuación empleada es la misma que se
utiliza para el modo SL_PSNR cuya ilustración aparece en la figura 2.5.2.
2-33
Capítulo 2
Seleccionar
la codificación del
cuadro en modo X
X={ I , P, B}
i=0
i=i+1
²Q i=f(PSNRi-1 -PSNRtarget )
Qi=Qi-1 +²Q i
Codificar Slice i
no
¿ Es el último
slice ?
sí
Figura 2.5.3. Diagrama de flujo del algoritmo del modo de funcionamiento SL_PSNR
2-34
Análisis de la codificación de vídeo MPEG-I
Q + Q ref 2
Q B = min max 4, ref 1 − 4, 20
2 (2.5.6)
2-35
Capítulo 2
a=1
b=0
Elegir el modo
de codificación X
i=1
¿ X=B ?
Intercambiar (a,b)
Q=g(Q2(a,i),Q2(b,i))
Q2=f(PSNR(X,i)-PSNRtarget)
Q=Q1(X,i)+Q2
Codificar el macroblock i
Codificar el macroblock i
Elegir
Q1(X,i)=Q
PSNR(X,i)=PSNR
Q2(a,i)=Q
¿ Es el último
i=i+1
macrobloque ?
Figura 2.5.4. Diagrama de flujo del algoritmo del modo de funcionamiento MB_PSNR
2-36
Análisis de la codificación de vídeo MPEG-I
A 4 B
2 3 1 2
C 4 D
1 2 3
4 E
2-37
Capítulo 2
Posición del
Macrobloque α α1 α2 α3 α4
A 0 - - - -
B 0.4 0 0 0 1
C 0.4 - 0.6 0.4 -
D 0.4 0.2 0.4 - 0.4
E 0.4 0.2 0.3 0.3 0.2
Con la aparición de las redes ATM se han intensificado los estudios sobre las ventajas
que ofrecía la transmisión VBR frente a la CBR y las dificultades que surgen en la
gestión y ubicación de una tasa binaria variable [COST211] [TanOku92]. En este
trabajo se realiza un análisis comparativo de los mecanismos de funcionamiento del
MPEG-I, propuestos en las sección anterior, a partir de una secuencia de más de 25
minutos de duración extraída del último tramo de la película "Jurasic Park". Esta
secuencia se caracteriza por disponer de escenas muy variadas, resultando muy adecuada
para el análisis de los diferentes modos de funcionamiento.
Los tres parámetros estudiados en el análisis han sido:
2-38
Análisis de la codificación de vídeo MPEG-I
2-39
Capítulo 2
han analizado dos partes de esta secuencia correspondientes a los intervalos de GoP
(800,1300) y (2000,2250). Las figuras 2.5.10 y 2.5.11 muestran los valores de tasa
binaria, PSNR y Q para cada modo de funcionamiento en cada intervalo especificado.
En las gráficas se aprecia con mayor detalle el mantenimiento del PSNR por parte de los
modos SL_PSNR, MB_PSNR y MB_ST_PSNR, con una mayor respuesta temporal del
primero. El coste de esta regulación de calidad objetiva es el incremento de la tasa
binaria respecto a los otros modos de funcionamiento. Los modos de funcionamiento
Q_Fix y Dist_I mantienen valores prácticamente idénticos ofreciendo tasas binarias más
reducidas y la PSNR acotada en torno del valor central. El modo CBR presenta
variaciones de calidad inaceptables en escenas de alta complejidad o movimiento.
Un análisis más pormenorizado de los modos de funcionamiento, observando cada
modo de codificación, se presenta para las imágenes correspondientes a los intervalos de
GoP (2020,2050) y (2140,2180). En las figuras 2.5.12 a 2.5.21 se muestran los
resultados comparativos de la tasa binaria, el PSNR y el paso de cuantificación para
cada modo de funcionamiento respecto al Q_Fix.
A través de las figuras 2.5.12 y 2.5.13 se observa que la codificación Q_Fix presenta
mayor diferencia en los valores de PSNR obtenidos para cada modo de codificación que
en la CBR. Queda patente que las imágenes B tienen un nivel de calidad inferior a las I y
P y que la regulación en el modo CBR solventa parcialmente esta diferencia. Las
variaciones del PSNR del modo de funcionamiento CBR son mucho más amplias que en
el modo Q_Fix. La tasa binaria en el modo CBR se mantiene en valores muy próximos
mientras que en Q_Fix varía según el grado de complejidad de las imágenes.
En las figuras 2.5.14 y 2.5.15 se puede observar que el comportamiento de los modos
Q_Fix y Dist_I son prácticamente iguales. La ausencia de imágenes completamente
codificadas en modo I en el caso Dist_I provoca que, en el mismo GoP, sólo existan
dos tipos de tasas, unas correspondientes a las P, superiores a las P del Q_Fix dado que
incorporan un alto número de macrobloques en modo intra, y las B que son
prácticamente iguales a las del Q_Fix.
La evolución del modo de funcionamiento SL_PSNR se muestra en las figuras 2.5.16
y 2.5.17. En este caso se observa que el valor de PSNR es muy estable y la regulación de
cambios de escena se produce en el tiempo de un GoP. A su vez, la variabilidad del
PSNR en un GoP aumenta cuando la complejidad de la imágenes se incrementa. Se
comprueba que la tasa binaria aumenta sustancialmente respecto al modo Q_Fix cuando
la PSNR del Q_Fix se reduce unos pocos decibelios respecto al valor central. De esto se
desprende que, el mecanismo SL_PSNR es excesivamente activo, dado que pequeños
aumentos en la complejidad de la imagen incrementan sustancialmente la tasa binaria.
La comparación entre el modo de funcionamiento MB_PSNR y el Q_Fix puede ser
observada en las figuras 2.5.18 y 2.5.19 los niveles de PSNR en las imágenes B del
modo MB_PSNR respecto a los niveles de I son inferiores a los obtenidos en le modo
2-40
Análisis de la codificación de vídeo MPEG-I
Q_Fix. Esto se debe a que el paso de cuantificación, cuando se hace un ajuste a nivel de
macrobloque, debe ser bastante más fino que el de las referencias. Este efecto
contribuye sustancialmente a la PSNR de las imágenes B. Como implicación
observamos que la tasa binaria se reduce frente al modo Q_Fix en las imágenes B, a
pesar del incremento de señalización que implica la variación continuada del paso de
cuantificación en cada macrobloque. En cuanto a los cambios de escena del modo de
funcionamiento MB_PSNR, observamos que tiene un tiempo de respuesta para la
regulación del PSNR del orden de 4 GoPs.
Finalmente, el comportamiento del modo de funcionamiento MB_ST_PSNR se
ilustra en las figuras 2.5.20 y 2.5.21. Este modo de funcionamiento presenta menos
diferencia en la PSNR de los modos de codificación, respecto al Q_FIX, que el modo
MB_PSNR. A su vez, también se reduce considerablemente el tiempo de respuesta en
los cambios de escena. Como notable mejora respecto al modo SL_PSNR, se observa
que no se introduce una corrección excesiva cuando aumenta moderadamente el nivel de
complejidad de la escena, por lo que no se alcanzan niveles tan elevados de la tasa
binaria.
En la tabla 2.5.4 se muestran los valores medios y la desviación estándar de la tasa
binaria, PSNR y Q para los distintos modos de funcionamiento. Cabe resaltar que,
aunque todos muestran un valor central de PSNR próximo, su variabilidad es muy
diferente. A su vez, el decremento de la varianza del PSNR tiene un coste importante en
la tasa binaria generada.
2-41
Capítulo 2
Como resultado del análisis subjetivo concluimos que se puede considerar válido el
modo de funcionamiento Q_FIX para la obtención de una calidad subjetiva
semiconstante. Aunque, para homogeneizar la calidad en toda la imagen sería más
adecuado el empleo de una regulación temporal. En cualquiera de los dos casos sería
aconsejable una regulación del paso de cuantificación. Teniendo en cuenta la percepción
visual humana y los errores de corrección producidos en las escenas de gran actividad,
la regulación debería tener una respuesta temporal muy suave. Asimismo, en la
regulación temporal se debe asegurar que el paso de cuantificación aplicado sobre
posiciones espaciales cercanas no debe presentar grandes diferencias. La regulación
espacial sólo es adecuada para el ajuste de la tasa binaria generada, es decir para el
modo de funcionamiento CBR. El modo DIST_I presenta buenas cualidades para la
transmisión, control de tasa binaria y predicción de la tasa binaria por cuadro. Para
algunas aplicaciones es más adecuado el modo DIST_I, puesto que, este modo
proporciona los mismos resultados que el Q_FIX.
2-42
Análisis de la codificación de vídeo MPEG-I
2200
2100
2000
1900
1800
1700
JURASIC PARK
GOP number
1600
1500
1400
1300
SNR DIST_I
SNR Q_FIX
SNR CBR
1200
1100
1000
45
44
43
42
41
40
39
38
37
36
35
34
33
32
31
30
29
28
PSNR
Figura 2.5.6. Comparación del PSNR de los modos de funcionamiento CBR, DIST_I y
Q_FIX
2-43
JURASIC PARK
Capítulo 2
140000
130000
Bits CBR
120000
90000
80000
70000
2-44
60000
DIST_I y Q_FIX
Average Bits per Frame
50000
40000
30000
20000
10000
1000
1100
1200
1300
1400
1500
1600
1700
1800
1900
2000
2100
2200
GOP number
2200
2100
2000
1900
1800
1700
JURASIC PARK
GOP number
1600
1500
1400
1300
SNR MB_SNR
SNR SL_SNR
SNR MB_ST
SNR Q_Fix
1200
1100
1000
45
44
43
42
41
40
39
38
37
36
35
34
33
32
31
30
PSNR
2-45
JURASI C PARK
Capítulo 2
280000
270000
260000 Bits Q_Fix
250000
240000 Bits SL_SNR
230000
220000 Bits MB_SNR
210000
200000
Bits MB_ST
190000
180000
170000
160000
150000
140000
130000
120000
2-46
110000
100000
90000
1000
1100
1200
1300
1400
1500
1600
1700
1800
1900
2000
2100
2200
GOP number
25000
50000
75000
33
34
35
36
37
38
39
40
41
42
43
44
12
14
16
18
20
22
24
26
28
30
32
2
4
6
108
GOP numaber
1080 1080 1080
JURASIC PARK
Q CBR
Bits CBR
SNR CBR
Q Q_FIX
Q DIST_I
Bits Q_FIX
Q MB_ST
Bits DIST_I
SNR Q_FIX
Bits MB_ST
SNR DIST_I
Q SL_SNR
SNR MB_ST
Bits SL_SNR
Q MB_SNR
SNR SL_SNR
Bits MB_SNR
SNR MB_SNR
Análisis de la codificación de vídeo MPEG-I
2-48
de la codificación MPEG-I en el intervalo de GoPs (2000, 2250)
Figura 2.5.11. Comparación de los modos de funcionamiento
Bits
Quantizer Step PSNR
25000
50000
75000
100000
125000
150000
175000
200000
225000
42
6
8
10
12
14
16
18
20
22
24
26
28
30
32
30
32
34
36
38
40
42
44
GOP numaber
JURASI C PARK
Q CBR
SNR CBR
Bits CBR
Q Q_FIX
Q DIST_I
Q MB_ST
Bits Q_FIX
SNR Q_FIX
Bits DIST_I
SNR DIST_I
Q SL_SNR
Bits MB_ST
SNR MB_ST
Q MB_SNR
Bits SL_SNR
SNR SL_SNR
SNR MB_SNR
Bits MB_SNR
Capítulo 2
Análisis de la codificación de vídeo MPEG-I
JURASIC PARK
45
35
SNR Q_FIX
30
SNR CBR
25
12120
12130
12140
12150
12160
12170
12180
12190
12200
12210
12220
12230
12240
12250
12260
12270
12280
12290
12300
Frame Number
JURASIC PARK
150000
75000
50000
25000
0
12120
12130
12140
12150
12160
12170
12180
12190
12200
12210
12220
12230
12240
12250
12260
12270
12280
12290
12300
Frame Number
JURASIC PARK
15
Q Q_FIX
12.5
Q Q_FIX & CBR
Q CBR
10
7.5
2.5
12120
12130
12140
12150
12160
12170
12180
12190
12200
12210
12220
12230
12240
12250
12260
12270
12280
12290
12300
Frame Number
2-49
Bits Q_FIX & CBR
SNR Q_FIX & CBR
Q Q_FIX & CBR
Capítulo 2
100000
150000
200000
50000
10
15
20
25
30
35
40
45
0
5
12840 12840 12840
12850 12850 12850
12860 12860 12860
12870 12870 12870
12880 12880 12880
12890 12890 12890
Q CBR
Q Q_FIX
12900 12900 12900
SNR CBR
SNR Q_FIX
2-50
12950 12950 12950
12960 12960 12960
Frame Number
Frame Number
Frame Number
JURASIC PARK
JURASIC PARK
JURASIC PARK
12980 12980 12980
12990 12990 12990
13000 13000 13000
13010 13010 13010
13020 13020 13020
13030 13030 13030
13040 13040 13040
13050
13060
Bits Q_FIX
JURASIC PARK
42.5
37.5
35 SNR Q_FIX
30
12120
12130
12140
12150
12160
12170
12180
12190
12200
12210
12220
12230
12240
12250
12260
12270
12280
12290
12300
Frame Number
JURASIC PARK
150000
75000
50000
25000
0
12120
12130
12140
12150
12160
12170
12180
12190
12200
12210
12220
12230
12240
12250
12260
12270
12280
12290
12300
Frame Number
JURASIC PARK
7
Q Q_FIX
Q Q_FIX & DIST_I
Q Dist_I
5
12120
12130
12140
12150
12160
12170
12180
12190
12200
12210
12220
12230
12240
12250
12260
12270
12280
12290
12300
Frame Number
2-51
Bits Q_FIX & DIST_I
SNR Q_FIX & DIST_I
Q Q_FIX & DIST_I
Capítulo 2
100000
150000
200000
50000
32.5
37.5
42.5
35
40
5
6
7
0
12840 12840 12840
12850 12850 12850
12860 12860 12860
12870 12870 12870
12880 12880 12880
12890 12890 12890
12900 12900 12900
SNR Dist_I
SNR Q_FIX
Q Dist_I
Q Q_FIX
12930 12930 12930
12940
2-52
12940 12940
12950 12950 12950
12960 12960 12960
Frame Number
Frame Number
Frame Number
JURASIC PARK
JURASIC PARK
JURASIC PARK
12980 12980 12980
12990 12990 12990
13000 13000 13000
13010 13010 13010
13020 13020 13020
13030 13030 13030
13040 13040 13040
13050 13050 13050
JURASIC PARK
42.5
37.5
35 SNR Q_FIX
30
12120
12130
12140
12150
12160
12170
12180
12190
12200
12210
12220
12230
12240
12250
12260
12270
12280
12290
12300
Frame Number
JURASIC PARK
250000
225000
Bits Q_FIX
200000
Bits Q_FIX & SL_SNR
175000
Bits SL_SNR
150000
125000
100000
75000
50000
25000
0
12120
12130
12140
12150
12160
12170
12180
12190
12200
12210
12220
12230
12240
12250
12260
12270
12280
12290
12300
Frame Number
JURASIC PARK
12
Q Q_FIX & SL_SNR
10 Q Q_FIX
8 Q SL_SNR
2
12120
12130
12140
12150
12160
12170
12180
12190
12200
12210
12220
12230
12240
12250
12260
12270
12280
12290
12300
Frame Number
2-53
Bits Q_FIX & SL_SNR
SNR Q_FIX & SL_SNR
Capítulo 2
100000
150000
200000
250000
300000
50000
32.5
37.5
42.5
10
15
20
0
0
5
35
40
12910 12910
SNR SL_SNR
12910
12920 12920 12920
Q Q_FIX
Q SL_SNR
12930 12930 12930
12940 12940 12940
2-54
12950 12950 12950
12960 12960 12960
Frame Number
Frame Number
Frame Number
JURASIC PARK
JURASIC PARK
JURASIC PARK
12980 12980 12980
12990 12990 12990
13000 13000 13000
13010 13010 13010
13020 13020 13020
13030 13030 13030
13040 13040 13040
13050 13050 13050
JURASIC PARK
42.5
37.5
35 SNR Q_FIX
30
12120
12130
12140
12150
12160
12170
12180
12190
12200
12210
12220
12230
12240
12250
12260
12270
12280
12290
12300
Frame Number
JURASIC PARK
175000
150000 Bits Q_FIX
Bits Q_FIX & MB_SNR
125000
Bits MB_SNR
100000
75000
50000
25000
0
12120
12130
12140
12150
12160
12170
12180
12190
12200
12210
12220
12230
12240
12250
12260
12270
12280
12290
12300
Frame Number
JURASIC PARK
20
Q Q_FIX
Q Q_FIX & MB_SNR
15
Q MB_SNR
10
0
12120
12130
12140
12150
12160
12170
12180
12190
12200
12210
12220
12230
12240
12250
12260
12270
12280
12290
12300
Frame Number
2-55
Bits Q_FIX & MB_SNR
SNR Q_FIX & MB_SNR
Q Q_FIX & MB_SNR
Capítulo 2
100000
150000
200000
250000
50000
32.5
37.5
42.5
10
15
20
35
40
0
5
0
12840 12840 12840
12850 12850 12850
12860 12860 12860
12870 12870 12870
12880 12880 12880
12890 12890 12890
12900 12900 12900
SNR Q_FIX
12910
SNR MB_SNR
12910 12910
12920 12920 12920
Q Q_FIX
Q MB_SNR
12930 12930 12930
12940
2-56
12940 12940
12950 12950 12950
12960 12960 12960
Frame Number
Frame Number
Frame Number
JURASIC PARK
JURASIC PARK
12970
Bits Q_FIX
12970 12970
JURASIC PARK
Bits MB_SNR
JURASIC PARK
42.5
SNR Q_FIX 40
37.5
SNR Q_FIX
35
SNR MB_ST
32.5
30
12120
12130
12140
12150
12160
12170
12180
12190
12200
12210
12220
12230
12240
12250
12260
12270
12280
12290
12300
Frame Number
JURASIC PARK
175000
150000 Bits Q_FIX
125000
Bits MB_ST
Bits Q_FIX
100000
75000
50000
25000
0
12120
12130
12140
12150
12160
12170
12180
12190
12200
12210
12220
12230
12240
12250
12260
12270
12280
12290
12300
Frame Number
22
JURASIC PARK
20
18 Q Q_FIX
16
Q MB_ST
Q Q_FIX
14
12
10
8
6
4
2
12120
12130
12140
12150
12160
12170
12180
12190
12200
12210
12220
12230
12240
12250
12260
12270
12280
12290
12300
Frame Number
2-57
Bits Q_FIX
Q Q_FIX SNR Q_FIX
Capítulo 2
100000
150000
200000
250000
50000
12.5
17.5
32.5
37.5
42.5
2.5
7.5
10
15
35
40
5
0
12840 12840 12840
12850 12850 12850
12860 12860 12860
12870 12870 12870
12880 12880 12880
12890 12890 12890
12900 12900 12900
Q Q_FIX
SNR Q_FIX
Q MB_ST
SNR MB_ST
Bits Q_FIX
Bits MB_ST
12920 12920 12920
12930 12930 12930
12940 12940 12940
2-58
12950 12950 12950
12960 12960 12960
Frame Number
Frame Number
Frame Number
JURASIC PARK
JURASIC PARK
JURASIC PARK
2.6. Conclusiones
εi
Z -1 Z -1
+ bq-N ∆PSNRi
PSNR target b0 b1 ∆Qi = f(DPSNRi )
-
∑
PSNRi
+
Code
Q i-1
Frame Z -1
2-59