SMPTE ST 2117-1 , [1] informalmente conocido como VC-6 , es un formato de codificación de video . [2] Es un códec de compresión intracuadro mejorado por IA destinado a la compresión de alta calidad de imágenes fijas y en movimiento. El códec implementa compresión sin pérdida y con pérdida, según los parámetros de codificación que se hayan seleccionado. Se estandarizó en 2020. V-Nova ha implementado variantes anteriores del códec desde 2015 con el nombre comercial Perseus. El códec se basa en estructuras de datos jerárquicas llamadas árboles-s, y no implica DCT o transformada de ondas.compresión. El mecanismo de compresión es independiente de los datos que se comprimen y se puede aplicar a los píxeles , así como a otros datos que no son imágenes. [3]
Descripción general
El códec VC-6 está optimizado para aplicaciones de codificación intermedia, intermedia o de contribución. [2] Por lo general, estas aplicaciones implican comprimir composiciones terminadas para edición, contribución, distribución primaria, archivo y otras aplicaciones donde es necesario preservar la calidad de la imagen lo más cerca posible del original, mientras se reduce la tasa de bits y se optimiza el procesamiento, la energía y el almacenamiento. requisitos. VC-6, al igual que otros códecs de esta categoría [4] [5], utiliza solo compresiones intra-fotograma , donde cada fotograma se almacena de forma independiente y se puede decodificar sin depender de ningún otro fotograma. [6]
A diferencia de los códecs basados en DCT , VC-6 se basa en estructuras jerárquicas y repetibles de árbol-s que son similares a los cuadrboles modificados . Estas estructuras simples proporcionan capacidades intrínsecas, como un paralelismo masivo [7] y la capacidad de elegir el tipo de filtrado utilizado para reconstruir imágenes de mayor resolución a partir de imágenes de menor resolución. [8] En el estándar VC-6 [2] se proporciona un muestreador desarrollado con una red neuronal convolucional en bucle para optimizar el detalle en la imagen reconstruida, sin requerir una gran sobrecarga computacional.
La capacidad de navegar espacialmente dentro del flujo de bits VC-6 en múltiples niveles [2] también brinda la capacidad de que los dispositivos de decodificación apliquen más recursos a diferentes regiones de la imagen, lo que permite que las aplicaciones de la región de interés operen en flujos de bits comprimidos sin requerir un decodificación de la imagen de resolución completa. [9]
Historia
En el NAB Show en 2015, V-Nova afirmó "ganancias de compresión promedio de 2x – 3x, en todos los niveles de calidad, en escenarios operativos prácticos en tiempo real en comparación con H.264 , HEVC y JPEG2000 ". [10] Hacer este anuncio el 1 de abril antes de una importante feria comercial atrajo la atención de muchos expertos en compresión. [ cita requerida ]
Desde entonces, V-Nova ha implementado y licenciado la tecnología, conocida en ese momento como Perseus, [10] tanto en aplicaciones de contribución como de distribución en todo el mundo, incluyendo Sky Italia , [11] Fast Filmz, [12] [13] Harmonic Inc , y otros. Una variante de la tecnología optimizada para mejorar el códec de distribución pronto se estandarizará como MPEG-5 Part-2 LCEVC . [14] [15] [16]
Conceptos básicos
Aviones
El estándar [2] describe un algoritmo de compresión que se aplica a planos de datos independientes. Estos planos pueden ser píxeles RGB o RGBA que se originan en una cámara, píxeles YCbCr de una fuente de video convencional centrada en TV o algunos otros planos de datos. Puede haber hasta 255 planos de datos independientes, y cada plano puede tener una cuadrícula de valores de datos de dimensiones de hasta 65535 x 65535. [17] El estándar SMPTE ST 2117-1 se centra en la compresión de planos de valores de datos, típicamente píxeles.
Para comprimir y descomprimir los datos en cada plano, VC-6 utiliza representaciones jerárquicas de pequeñas estructuras en forma de árbol que contienen metadatos que se utilizan para predecir otros árboles. Hay 3 estructuras fundamentales que se repiten en cada plano. [2]
Árbol S
La estructura de compresión del núcleo en VC-6 es el árbol-s. Es similar a la estructura de cuatro árboles común en otros esquemas. Un árbol-s se compone de nodos dispuestos en una estructura de árbol, donde cada nodo se vincula a 4 nodos en la siguiente capa. El número total de capas por encima del nodo raíz se conoce como el aumento del árbol-s . La compresión se logra en un árbol-s mediante el uso de metadatos para señalar si los niveles se pueden predecir con el transporte selectivo de datos de alteración en el flujo de bits. Cuantos más datos se puedan predecir, menos información se envía y mejor es la relación de compresión . [3] [2]
Cuadro
El estándar [2] define un cuadro como el nodo raíz, o la capa más alta de un árbol-s , que contiene nodos para otro árbol-s. Al igual que los árboles-s genéricos a partir de los cuales se construyen, los cuadros se organizan en capas con metadatos en los nodos que indican si las capas superiores se predicen o transmiten en el flujo de bits. [3]
Escalón
Las estructuras jerárquicas del árbol s y del cuadro en el estándar [2] se utilizan para llevar mejoras (llamadas valores residuales) y otros metadatos para reducir la cantidad de datos sin procesar que deben transportarse en la carga útil del flujo de bits. La herramienta jerárquica final es la capacidad de organizar los cuadros, de modo que los datos de cada plano (es decir, los píxeles) puedan descuantificarse a diferentes resoluciones y usarse como predictores para resoluciones más altas. Cada una de estas resoluciones está definida por el estándar [2] como un escalón. Cada escalón dentro de un plano se identifica mediante un índice , donde un índice más negativo indica una resolución baja y un índice más grande y positivo indica una resolución más alta.
Descripción general de Bitstream
VC-6 es un ejemplo de codificación intracuadro , donde cada imagen se codifica sin hacer referencia a otras imágenes. También es intraplano, donde no se utiliza información de un plano para predecir otro plano. Como resultado, el flujo de bits VC-6 contiene toda la información para todos los planos de una sola imagen. [2] Una secuencia de imágenes se crea concatenando los flujos de bits para varias imágenes, o empaquetándolos en un contenedor como MXF o Quicktime o Matroska .
El flujo de bits VC-6 se define en el estándar. [2] mediante pseudocódigo, y se ha demostrado un decodificador de referencia basado en esa definición. El encabezado principal es la única estructura fija definida por el estándar. [2] El encabezado secundario contiene información de tamaño y marcador según los valores del encabezado principal. El encabezado terciario se calcula por completo, y luego la estructura de carga útil se deriva de los parámetros calculados durante la decodificación del encabezado [2]
Descripción general de la decodificación
El estándar [2] define un proceso llamado reconstrucción de plano para decodificar imágenes de un flujo de bits. El proceso comienza con el escalón que tiene el índice más bajo. No se utilizan predicciones para este escalón. En primer lugar, las reglas de flujo de bits se utilizan para reconstruir residuos. A continuación, se llevan a cabo los procesos de decodificación de entropía y desparsificación para llenar la cuadrícula con valores de datos en cada coordenada. Luego, estos valores se descuantifican para crear valores de rango completo que se pueden usar como predicciones para el escalón con el siguiente índice más alto. Cada escalón usa el muestreador ascendente especificado en el encabezado para crear un plano predicho desde el escalón inferior que se agrega a la cuadrícula residual del escalón actual que se puede muestrear hacia arriba como una predicción para el siguiente escalón. [18]
El escalón final, de resolución completa, definido por el estándar, está en el índice 0, y sus resultados se muestran, en lugar de usarse para otro escalón. [2]
Opciones de upsampler
Opciones basicas
El estándar [2] define una serie de muestreadores básicos [19] para crear predicciones de mayor resolución a partir de escalones de menor resolución. Hay dos muestreadores ascendentes lineales, bicúbicos y agudos, y un muestreador ascendente del vecino más cercano.
Upsampler de red neuronal convolucional
Seis upsamplers no lineales diferentes se definen [2] por un conjunto de procesos y coeficientes que se proporcionan en formato JSON . [19] Estos coeficientes se generaron utilizando técnicas de red neuronal convolucional [20] .
Referencias
- ^ "Resultados de búsqueda de IEEE Xplore" . ieeexplore.ieee.org . Consultado el 17 de septiembre de 2020 .
- ^ a b c d e f g h i j k l m n o p q r "ST 2117-1: 2020 - Estándar SMPTE - Formato de imagen multiplanar VC-6 - Parte 1. Flujo de bits elemental" . St 2117-1: 2020 : 1-156. Julio de 2020. doi : 10.5594 / SMPTE.ST2117-1.2020 . ISBN 978-1-68303-219-9.
- ^ a b c "SMPTE ratifica el códec de vídeo VC-6 alimentado por IA de V-Nova" . Mundo de los medios digitales .
- ^ "ST 2042-1: 2012 - Estándar SMPTE - Compresión de video VC-2" . St 2042-1: 2012 : 1-137. Agosto de 2012. doi : 10.5594 / SMPTE.ST2042-1.2012 . ISBN 978-1-61482-890-7.
- ^ "ST 2019-1: 2016 - Estándar SMPTE - Compresión de imagen VC-3 y formato de flujo de datos" . St 2019-1: 2016 : 1–108. Junio de 2016. doi : 10.5594 / SMPTE.ST2019-1.2016 . ISBN 978-1-68303-020-1.
- ^ "ST 2073-1: 2014 - Estándar SMPTE - Esencia de video VC-5 - Parte 1: Flujo de bits elemental" . St 2073-1: 2014 : 1-50. Marzo de 2014. doi : 10.5594 / SMPTE.ST2073-1.2014 . ISBN 978-1-61482-797-9.
- ^ Hung, Yubin; Rosenfeld, Azriel (1 de agosto de 1989). "Procesamiento en paralelo de cuadrúpedos lineales en una computadora conectada a una malla" . Revista de Computación Paralela y Distribuida . 7 (1): 1–27. doi : 10.1016 / 0743-7315 (89) 90049-X . ISSN 0743-7315 .
- ^ Samet, Hanan (1988), "An Overview of Quadtrees, Octrees, and Related Hierarchical Data Structures" , Theoretical Foundations of Computer Graphics and CAD , Berlín, Heidelberg: Springer Berlin Heidelberg, pp. 51-68, doi : 10.1007 / 978- 3-642-83539-1_2 , ISBN 978-3-642-83541-4, consultado el 9 de septiembre de 2020
- ^ S., VG "SMPTE publica nuevo estándar de códec de producción de video VC-6" . Grupo de videos deportivos .
- ^ a b "Revisión: V-Nova Perseus: ¿Su compresión está a la altura del bombo?" . Revista Streaming Media . 17 de junio de 2016 . Consultado el 4 de septiembre de 2020 .
- ^ "Sky Italia elige V-Nova para ampliar el alcance de IPTV" . Televisión digital Europa .
- ^ "FastFilmz de India aprovecha V-Nova para entregar OTT a teléfonos 2G" . Televisión digital Europa . 7 de abril de 2016 . Consultado el 9 de septiembre de 2020 .
- ^ "SHAREit adquiere Fastfilmz para aumentar el contenido de video, usuarios regionales" . Inc42 Media . 8 de mayo de 2018 . Consultado el 17 de septiembre de 2020 .
- ^ "MPEG-5 LCEVC" .
- ^ "V-Nova anuncia MPEG-5 Part 2 LCEVC" . TVB Europa .
- ^ "La política de Perseo se filtra en NAB a raíz de la revelación de MPEG-5" . Rethnk Research . 11 de abril de 2019.
- ^ "Descripción general de VC-6" . mrmxf.com .
- ^ "ST 2117-1: 2020 - Estándar SMPTE - Formato de imagen multiplanar VC-6 - Parte 1. Flujo de bits elemental" . ST 2117-1: 2020 . Julio de 2020. págs. 1-156. doi : 10.5594 / SMPTE.ST2117-1.2020 .
- ^ a b Elemento de medio de muestreador superior ST 2117-1 . St 2117-1: 2020 . 21 de julio de 2020. págs. 1-156. doi : 10.5594 / SMPTE.ST2117-1.2020 . ISBN 978-1-68303-219-9.
- ^ Arabshahi, P. (mayo de 1996). "Fundamentos de las redes neuronales artificiales [reseñas de libros]" . Transacciones IEEE en redes neuronales . 7 (3): 793. doi : 10.1109 / tnn.1996.501738 . ISSN 1045-9227 . S2CID 6576607 .