Transcodificación asistida por IA de VVC en la red VideoCoin por VideoCoin VideoCoin Ago, 2020

VVC es el estándar de codificación de video de próxima generación también conocido como H.266. Se espera que sea ampliamente adoptado no solo por su eficiencia de compresión, sino también por la versatilidad en el manejo del contenido de la pantalla y el cambio de resolución adaptativa. VVC tiene como objetivo lograr hasta un 50% de ahorro en la tasa de bits en comparación con H.265 con el doble de complejidad de decodificación. La complejidad de codificación de los codificadores crece exponencialmente debido a la complejidad de las nuevas herramientas, así como al soporte para resoluciones de hasta 16k. Se estima que el codificador VVC es de 10 a 27 veces más complejo que HEVC dependiendo de los perfiles de codificación. Hay varias iniciativas del mundo académico y la industria que trabajan en la reducción de la complejidad del códec VVC para reducir su complejidad y alcanzar la codificación y decodificación en tiempo real. Estas técnicas incluirían, entre otras, optimizaciones algorítmicas del codificador utilizando inteligencia artificial (IA).

Red VideoCoin es un marco descentralizado y distribuido que puede reunir enormes recursos informáticos y admitir flujos de trabajo computacionales escalables y flexibles. El ecosistema heterogéneo único de VideoCoin Network es un conglomerado de nodos de cómputo con códecs de compresión especializados basados ​​en hardware / GPU, nodos de cómputo con capacidades informáticas genéricas, y se unirán por nodos que admitirán el análisis de imágenes. Un sistema integrado de micropagos y un sistema de validación de servicios habilita una comunidad vibrante de editores de contenido, desarrolladores y propietarios de recursos informáticos.

La versatilidad Un aspecto de la VVC es principalmente proporcionar dos conjuntos de herramientas únicos llamados Codificación de contenido de pantalla (SCC) y Remuestreo de imágenes de referencia (RPR). En este documento, presentamos un modelo, donde la flexibilidad y escalabilidad de VideoCoin Network pueden habilitar estos conjuntos de herramientas únicos de VVC y respaldar casos de uso que aprovechan el conjunto de herramientas. Nuestro objetivo es respaldar casos de uso, particularmente en las áreas de transmisión de juegos de alta resolución (4k u 8k) y transmisión adaptativa con cambio de resolución. La rápida adaptación de la banda ancha móvil mejorada 5G y la variación en el ancho de banda que reciben los teléfonos móviles aumentan la necesidad de mejoras en las tecnologías actuales de transmisión adaptativa. El conjunto de herramientas RPR permite la transmisión adaptativa con cambio de resolución (escalabilidad espacial). Los filtros de remuestreo eficientes son la clave de este conjunto de herramientas. La capacidad de VideoCoin Network de integrar nodos de computación en la nube y en el borde que pueden especializarse en algoritmos de compresión e inteligencia artificial abre oportunidades únicas para respaldar estos casos de uso.

Redes neuronales de convolución(CNN) para la compresión de video es un tema muy investigado. Los estándares de compresión de video especifican la sintaxis del flujo de bits y la implementación del codificador se deja abierta. A diferencia de la codificación tradicional, donde la resolución y las tasas de bits específicas controlan la transcodificación, los nuevos enfoques utilizan la calidad de percepción específica. Un algoritmo de IA puede observar la complejidad de cada escena y estimar los parámetros de codificación que satisfacen la calidad de percepción deseada. Estos perfiles optimizados dinámicamente pretendían ahorrar las tasas de bits hasta en un 50% al tiempo que proporcionaban la misma calidad de percepción en comparación con los perfiles estáticos (4). El documento “Un filtro de posprocesamiento integrado basado en CNN para intracuadros en codificación de video versátil” (31) propone un método de posprocesamiento basado en CNN que sirve como una solución integrada de filtrado para reemplazar los filtros en bucle. Alcanza un buen rendimiento aprovechando la información sobre los parámetros de cuantificación y la estructura de partición. El artículo "Sobre codificación de video versátil en UHD con superresolución basada en aprendizaje automático" estudió el aumento y disminución de resolución espacial utilizando CNN.

Licencias de patentes es el principal problema que causó obstáculos en la adaptación de H.264, H.265 los predecesores de VVC. VVC no es gratis. Hay iniciativas tempranas como el “Media Coding Industry Forum” (33) que tiene como objetivo facilitar la adaptación del códec. Las ofertas de software de códec tradicionales adolecen de obligaciones de licencias debido a la naturaleza estática de la distribución de paquetes de software. VideoCoin Network, debido a su transparencia y sistema de pago incorporado, ayuda a reducir la fricción y puede agrupar dinámicamente una combinación de algoritmos pagados y libres de regalías para satisfacer los requisitos de los usuarios.

Un beneficio importante de la red VideoCoin es reunir recursos informáticos heterogéneos distribuidos a través de la red para realizar tareas de software de alta intensidad informática. En el contexto de la codificación VVC, esta característica facilita la distribución de diferentes fases de codificación a diferentes trabajadores informáticos (recursos). Por ejemplo, los algoritmos de control de códec junto con el análisis pueden ejecutarse en una plataforma informática que sea adecuada para ejecutar algoritmos de inteligencia artificial, mientras que los algoritmos de códec reales pueden ejecutarse en una o más plataformas informáticas ajustadas para la tarea. Este enfoque distribuido ayuda a admitir una resolución más alta de hasta 16k y sirve para los casos de uso Codificación adaptativa de múltiples resoluciones para transmisión ABR y codificación de contenido de pantalla.

El siguiente diagrama muestra los elementos principales de VideoCoin Network utilizados para configurar el flujo de transcodificación de VVC. El software de compresión VVC puede constar de módulos gratuitos y con licencia que se pueden agrupar de forma dinámica para la aplicación de destino. Un marco de protocolo abierto permitirá la construcción de la canalización de transcodificación utilizando componentes ofrecidos por diferentes proveedores de software.

VVC está disponible actualmente como una implementación de software de referencia (software de referencia VVC VTM (13)). Planeamos utilizar un marco basado en FFmpeg con complementos de códec externos. Los trabajadores de IA y los trabajadores de transcodificación establecerán comunicación a través de flujos de información basados ​​en metadatos. Los trabajadores de IA y los trabajadores de transcodificación pueden ejecutarse en el mismo nodo o en nodos separados según las latencias tolerables y la longitud de los búferes de búsqueda.

Los trabajadores de IA pueden elegir uno de varios modelos de CNN disponibles según la preferencia del usuario y el precio del modelo y la capacidad analítica del nodo de IA.

Proveedores de SW pueden hacer sus ofertas que consisten en modelos CNN previamente entrenados e implementaciones de códecs. El sistema de pago VideoCoin Network compensa el uso de los recursos de software.

Editores puede crear dinámicamente los flujos de trabajo que agrupan los módulos de software relevantes y los modelos de inteligencia artificial según la aplicación de destino. Por ejemplo, una aplicación de transmisión de juegos puede incluir un modelo de inteligencia artificial previamente entrenado para tomar decisiones entre el modo de predicción interna y el modo IBC. Esto ayudará a la compresión eficiente de la "Codificación de contenido de pantalla".

Trabajador de transcodificación proporciona el recurso informático a los algoritmos del códec.

Trabajador de IA proporciona el recurso para ejecutar modelos CNN e interactuar con trabajadores de transcodificación con el marco de protocolo abierto de VideoCoin Network.

Como la mayoría de los estándares anteriores, VVC tiene una arquitectura de codificación híbrida basada en bloques que combina la predicción entre imágenes y dentro de la imagen y transforma la codificación con la codificación de entropía. La siguiente figura muestra el diagrama de bloques general del codificador. El filtrado en bucle incluye remodelación en bucle, filtro de desbloqueo, compensación adaptativa de muestra y filtro de bucle adaptativo

Un tren de bits VVC consta de una secuencia de unidades de datos denominadas unidades de capa de abstracción de red (NAL). Una imagen en VVC dividida en una o más filas de mosaicos y una o más columnas de mosaicos. Un mosaico es una secuencia de unidades de árbol de codificación (CTU) que cubre una región rectangular de una imagen. Las CTU en un mosaico se escanean en un orden de exploración de trama dentro de ese mosaico. Un segmento consta de un número entero de mosaicos completos o un número entero de filas CTU completas consecutivas dentro de un mosaico de una imagen. Se admiten dos modos de cortes, a saber, el modo de corte de barrido de trama y el modo de corte rectangular. En el modo de corte de barrido de trama, un sector contiene una secuencia de mosaicos completos en un escaneo de trama de mosaico de una imagen. En el modo de corte rectangular, un corte contiene un número de mosaicos completos que forman colectivamente una región rectangular de la imagen o un número de filas CTU completas consecutivas de un mosaico que forman colectivamente una región rectangular de la imagen. Los mosaicos dentro de un corte rectangular se escanean en un orden de escaneo de trama de mosaico dentro de la región rectangular correspondiente a ese corte.

CTU se divide en Unidades de Codificación (CU) para adaptarse a las características de varias texturas locales. Un quadtree con un árbol multitipo anidado (QTMT) ofrece más flexibilidad para las formas de partición CU, que es la razón por la que una CU puede ser una forma cuadrada o rectangular. Primero, una CTU está dividida por una estructura de árbol cuaternario (QT). Luego, el nodo de la hoja del árbol cuaternario puede dividirse mediante una estructura de árbol binario (BT) o árbol ternario (TT), los cuales se denominan colectivamente estructura de árbol de múltiples tipos (MT). La estructura BT incluye división binaria vertical y horizontal (BTV / BTH), mientras que la estructura TT incluye división ternaria vertical y horizontal (TTV / TTH). La CU se divide en dos, tres o cuatro sub-CU según el modo de partición. Para una secuencia YUV 4: 2: 0, el tamaño predeterminado de la CTU es 128 × 128 (es decir, hay una CTB de luminancia de 128 × 128 y dos CTB de crominancia de 64 × 64). MinQTSize es 16 × 16, MaxBtSize es 64 × 64, MaxTtSize es 64 × 64, MinBtSize y MinTtSize son 4 × 4 y MaxMttDepth es 4.

Las redes neuronales convolucionales o CNN es uno de los algoritmos de aprendizaje profundo que se utiliza principalmente en aplicaciones de procesamiento de imágenes. El preprocesamiento requerido en ConvNet es muy bajo en comparación con otros algoritmos de clasificación. Los filtros de procesamiento de imágenes generalmente se diseñan a mano, pero con la llegada de ConNets, estos filtros se pueden aprender con suficiente capacitación. La arquitectura de ConvNets está inspirada en la organización de la corteza visual en el cerebro humano. Una ConvNet es capaz de capturar con éxito las dependencias espaciales y temporales en una imagen mediante la aplicación de filtros relevantes. Una ConvNet incluye una extracción automática de características mediante el empleo de una combinación de capas de convolución, agrupación máxima y completamente conectadas. La capa convolucional calcula el producto escalar entre la imagen de entrada X y un conjunto de filtros aprendebles Kj. Cada filtro Kj de tamaño k1 × k2 se mueve a través del espacio de entrada realizando la convolución con subbloques locales de entradas, proporcionando Yj, el mapa de características (Yj = X Kj + Bj donde B es el término de sesgo). Generalmente, las salidas están conectadas a una capa de activación ReLU. A la capa convolucional le sigue una capa de disminución de resolución que utiliza filtros de agrupación promedio o máxima. Finalmente, las características aprendidas se clasifican utilizando una capa de red neuronal completamente conectada. Se utilizan varias arquitecturas ConvNet según la complejidad de la tarea, es decir, clasificación de imágenes, detección de objetos, segmentación de imágenes, etc. Existen redes clásicas como LeNet-5, AlexNet, VGG-16 o arquitecturas modernas como Inception (GoogLeNet) , ResNet, etc.

Durante el desarrollo de ConvNets, se someten a fases de capacitación y prueba, antes de que se puedan implementar. ConvNet puede ajustar sus valores de filtro (o pesos) pasando por un proceso de entrenamiento llamado retropropagación. El conjunto de formación consta de miles de imágenes etiquetadas relevantes para el área de uso objetivo. El entrenamiento es un proceso iterativo que involucra (1) pase hacia adelante, (2) cálculo de la pérdida, (3) pase hacia atrás y (4) actualización de peso. Después de entrenar ConvNet, se prueba con datos de prueba. Si los resultados son satisfactorios, se desplegará, de lo contrario se rediseñará. Generalmente, se usa un modelo previamente entrenado usado tal cual, o una técnica llamada aprendizaje de transferencia se usa para personalizar un modelo para una tarea determinada. Esto reducirá los esfuerzos generales y acelerará la implementación de ConvNets.

Presentamos una descripción más detallada de un algoritmo de IA basado en redes neuronales convolucionales (11) (13) como un ejemplo de codificación VVC asistida por IA. Este algoritmo mejora el rendimiento de la codificación adaptativa de múltiples resoluciones de VVC. Los algoritmos que se están discutiendo están disponibles en un proyecto de código abierto Codificación de video basada en aprendizaje profundo (DLVC) (5).

Establecemos el contexto introduciendo brevemente el proceso de codificación de VVC y los conceptos de redes neuronales convolucionales. Luego, presentaremos un algoritmo de optimización de codificación llamado codificación de resolución adaptativa en bloque (7) y detalles de la integración en la red VideoCoin.

En reconocimiento de la popularidad de las aplicaciones de contenido de pantalla, como la transmisión de juegos en línea, el uso compartido de escritorio remoto, la codificación de contenido de pantalla (SCC) es una característica reconocida en el estándar Versatile Video Coding (VVC). Para respaldar la codificación eficiente de estos contenidos generados por computadora, las herramientas SCC que se han estudiado en el pasado, especialmente aquellas en extensiones HEVC en SCC, se incorporan en este nuevo estándar. Las herramientas que incluyen el modo de predicción Intra Block Copy (IBC) ayudan a la transmisión eficiente del juego. El artículo “Filtro de intra predicción basado en aprendizaje profundo” (30) propone un esquema de intrafiltrado basado en CNN de múltiples escalas (esquema MIF). La entrada de la red es la combinación del bloque de predicción e y los píxeles de referencia circundantes. La salida es el bloque filtrado tratado por MIF. La propuesta tiene como objetivo explotar la correlación no lineal entre los píxeles de referencia circundantes y el bloque actual. Extraer la correlación entre el píxel de referencia y el bloque actual mediante el método de aprendizaje profundo puede producir un mejor rendimiento de predicción intra.

es una característica clave en VVC que permite almacenar listas de referencia en diferentes resoluciones de la imagen actual y luego volver a muestrear para realizar operaciones de decodificación regulares. La inclusión de esta técnica admite escenarios de aplicación interesantes, como la comunicación en tiempo real con la resolución adaptativa, la transmisión adaptativa con estructuras GOP abiertas y la transmisión mejorada basada en el puerto de visualización omnidireccional, por ejemplo, permitiendo diferentes estructuras temporales para diferentes partes de la imagen. RPR también permite admitir, desde la primera versión del códec, escalabilidad (en particular escalabilidad espacial). Este es un cambio importante en comparación con AVC y HEVC, donde la escalabilidad se definió e introdujo solo después de completar la primera versión del estándar, y fue respaldada por perfiles separados.

Examinaremos una red neuronal convolucional que proporciona una mejora denominada codificación de resolución adaptativa en bloque (BARC) propuesta en el equipo conjunto de expertos en vídeo (JVET) y disponible como proyecto de código abierto.

El siguiente diagrama muestra el esquema general del enfoque, la forma en que se utilizan los filtros CNN en el marco de codificación VVC. Utiliza principalmente dos ConvNets que se muestran en azul en el diagrama que proporciona submuestreo / submuestreo como una alternativa al submuestreo / submuestreo bicúbico convencional (17).

El muestreador descendente basado en CNN afirmaba superar al muestreador descendente bicúbico y también ahorra en recursos computacionales hasta un 30%.

Codificación de resolución adaptativa de bloques (BARC) basada en redes neuronales convolucionales

Cada CTU de la imagen de entrada se puede codificar en su versión de resolución completa o en la versión de baja resolución.
Para el esquema de codificación de baja resolución, existen dos métodos de muestreo ascendente / descendente

⁃ Los filtros FIR

⁃ Los filtros basados ​​en CNN

El siguiente diagrama muestra la red neuronal convolucional utilizada para la reducción de resolución. Se llama CRCNN (CNN para resolución compacta). La CNN para muestreo ascendente se denota como CNN-SR (CNN para superresolución).

Figura: Red neuronal convolucional para reducción de resolución

ConvNet básicamente contiene una capa de convolución que reduce la resolución a la mitad de la resolución seguida de 9 capas más para extraer las características y aprende los pesos de los filtros para una codificación de baja resolución más eficiente.

El siguiente diagrama muestra la formulación de funciones de pérdida para el entrenamiento de la red neuronal convolucional de resolución compacta (CRCNN).

Formación de CRCNN

Entrenamiento de un extremo a otro con dos funciones de pérdida La pérdida de reconstrucción es para mantener la imagen de Resolución de Compaq lo más informativa posible en comparación con la imagen original La pérdida de regularización permite que la imagen de Resolución de Compaq sea amigable con la compresión

Será una tarea desafiante verificar los servicios proporcionados por los modelos de IA y las mejoras que brindan a los algoritmos de compresión, en particular midiendo las mejoras en la calidad del video. El marco existente de VideoCoin Network se puede ampliar fácilmente para adaptarse a los servicios de IA y proporcionar un ecosistema rico para los desarrolladores y usuarios de servicios.