UNA ETAPA DE UNA CADENA: QUÉ LLEGA, QUÉ SALE Y QUÉ SE ROMPE DESPUÉS
Dónde encaja esto en la tubería de codificación
Un codificador de vídeo no es un algoritmo, sino ocho etapas en un orden fijo, y el orden no es arbitrario: cada etapa existe porque la anterior hizo posible su trabajo. Esta herramienta modela una de ellas. La cadena de abajo enlaza con las otras siete.
Simulador de control de tasa — elige el cuantizador de cada fotograma para alcanzar un objetivo de tasa de bits o de calidad
El control de tasa es un bucle, no un paso: envuelve la cuantización de la etapa 05 y la va ajustando, en lugar de ejecutarse una vez entre dos vecinas.
- Qué llega
- El coste en bits medido de los fotogramas ya codificados, más un objetivo que cumplir.
- Qué sale
- Un ajuste de cuantizador para el fotograma siguiente, devuelto a la etapa 05.
- Qué supone la etapa siguiente
- Supone que tiene permiso para cambiar la cuantización, y por eso envuelve esa etapa en vez de seguirla.
- Qué se estropea aquí
- Calidad y tasa de bits no pueden mantenerse constantes a la vez. CRF fija la calidad y deja subir la tasa en escenas complejas; CBR fija la tasa y deja caer la calidad en ellas. Elegir uno es elegir cuál de los dos puede moverse.
Problemas resueltos al detalle
-
Obtención de la puntuación de 60 para el peor fotograma de CBR a partir de un búfer de 4 fotogramas 6 pasos
Escena de acción, CRF 23, un búfer de 4 fotogramas. El peor fotograma de CBR obtiene 60 de los 85 que le permite este modelo, y las reglas están todas en la página: CRF asigna a cada fotograma una cuota de bits proporcional a su complejidad, CBR paga unos 2000 bits fijos y los complementa desde un búfer con capacidad para 4 fotogramas, y la calidad de CBR es 85 veces la raíz cuadrada de la oferta dividida por la demanda. Deduce el 60.
-
La asignación de CRF está expresada en relación con la complejidad media de la escena, de modo que calcular su promedio devuelve directamente dicha media. Sea cual sea la escena y sea cual sea el CRF, el promedio resulta en el objetivo de 2000 bits; esa lectura es una definición, no una medición.
-
El pico es el dato informativo. 4078 frente a 2000 indica que el fotograma con más carga contiene 2,039 veces la complejidad media, y el generador limita la complejidad a 0,95, por lo que la complejidad media de esta escena debe ser 0,466.
-
CBR se enfrenta a la misma curva. Su demanda por fotograma es la misma expresión que la asignación de CRF, por lo que el fotograma por el que CRF paga 4078 bits es el fotograma para el que a CBR se le piden 4078 bits y entrega 2000.
-
Cubrir eso es tarea del búfer. Lleno, almacena 8000 bits y eleva la oferta a 5040, superando holgadamente los 4078 que requiere el fotograma más complejo; un búfer lleno ocultaría el pico por completo y la calidad nunca se alejaría de 85.
-
Dado que la calidad sí se aleja de 85, el búfer no puede estar lleno. Considerémoslo vacío en su lugar: la oferta son apenas 2000 bits, la proporción es 0,4904, su raíz cuadrada es 0,7003, y 85 veces esa cifra es 59,5, que el panel redondea a 60. El mínimo mostrado es exactamente el suelo del búfer vacío.
-
El búfer se vacía a razón de lo que la demanda supere el presupuesto, que es de 2078 bits en el fotograma pico. 8000 bits de búfer equivalen a 3,85 fotogramas de ese exceso. El tramo de alta complejidad de esta escena dura 40.
Respuesta
60 no se debe a un búfer mal dimensionado. Se debe a un búfer que se ha agotado. El tamaño del búfer se convierte en tiempo, no en calidad: divide el nivel de llenado entre el déficit por fotograma y obtendrás cuántos fotogramas de cobertura tienes, motivo por el cual una ráfaga se mide con respecto al búfer en fotogramas y no en bits. Ocultar una ráfaga de 40 fotogramas de duración requiere aproximadamente 1,04 fotogramas de búfer por cada fotograma de la ráfaga (unos 40 fotogramas en total), y el control deslizante se detiene en 10. Ese es el argumento a favor de la tasa de bits variable en una sola línea: CRF nunca tiene que ocultar la ráfaga, simplemente la paga.
-
-
La diferencia de 10,8 puntos entre CRF y CBR a 2000 bits por fotograma 5 pasos
Ambos modos consumen los mismos 2000 bits por fotograma en esta escena. La línea de calidad de CRF se sitúa en 89,8, mientras que CBR promedia 79. Determina a costa de qué se obtiene esa diferencia de 10,8 puntos y cuánto costaría en pasos de CRF.
-
La puntuación de CRF proviene únicamente del control deslizante: 45 puntos repartidos en los 22 pasos desde CRF 18 hasta CRF 40. CRF 23 está 5 pasos más abajo, de ahí el 89,8.
-
Un paso equivale, por tanto, a 2,045 puntos en cualquier lugar de la escala; este modelo hace que la calidad de CRF sea lineal, lo que permite valorar la diferencia en pasos más adelante.
-
Las tasas de bits no son simplemente parecidas, son idénticas. CRF alcanza el promedio del objetivo por diseño y CBR paga el objetivo en cada uno de los fotogramas, por lo que ambos producen 240 000 bits a lo largo de los 120 fotogramas.
-
Por lo tanto, nada de los 10,8 puntos de diferencia entre 89,8 y 79 se debe a la tasa de bits. Mismos bits, mismo tamaño de archivo, 10,8 puntos de separación.
-
La brecha se divide en dos. CBR se limita a 85 incluso en los fotogramas que podría superar holgadamente, lo que cuesta 4,8 puntos con respecto a los 89,8 de CRF, y los 6,0 puntos restantes se pierden en los fotogramas en los que al búfer no le quedaba nada.
Respuesta
La tasa de bits constante cuesta 10,8 puntos de calidad aquí, y 5,28 pasos de CRF los recuperarían. Lo que CBR obtiene a cambio es un pico acotado: su fotograma más grande es de 2000 bits, exactamente su promedio, mientras que el más grande de CRF es de 4078. En un enlace que transmite 2000 bits por fotograma y ni uno más, el fotograma pico de CRF llega con retraso y su 89,8 no sirve de nada; ese es todo el motivo para aceptar los 10,8. Observa lo que también descarta el paso 3: la asignación no contiene ningún término de CRF, por lo que llevar CRF a 28 reduciría la puntuación y mantendría la tasa de bits en 2000. Esta página muestra a dónde van los bits, no lo que cuesta comprar un nivel de calidad.
-
Referencias (1)
- The framework every encoder’s rate control is an approximation of: G. J. Sullivan & T. Wiegand, "Rate-distortion optimization for video compression." IEEE Signal Processing Magazine 15(6), 74–90, 1998.