ES2884723T3 - Señalización de regiones de interés y actualización de decodificación gradual en la codificación de video - Google Patents

Señalización de regiones de interés y actualización de decodificación gradual en la codificación de video Download PDF

Info

Publication number
ES2884723T3
ES2884723T3 ES13759098T ES13759098T ES2884723T3 ES 2884723 T3 ES2884723 T3 ES 2884723T3 ES 13759098 T ES13759098 T ES 13759098T ES 13759098 T ES13759098 T ES 13759098T ES 2884723 T3 ES2884723 T3 ES 2884723T3
Authority
ES
Spain
Prior art keywords
gdr
video
segments
image
foreground
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES13759098T
Other languages
English (en)
Inventor
Ye-Kui Wang
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Application granted granted Critical
Publication of ES2884723T3 publication Critical patent/ES2884723T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/167Position within a video image, e.g. region of interest [ROI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/20Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
    • H04N19/23Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding with coding of regions that are present throughout a whole video segment, e.g. sprites, background or mosaic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

Un método de decodificación de datos de video, el método comprende: decodificar información que indica si la actualización de decodificación gradual, GDR, de una imagen está habilitada; y cuando la GDR está habilitada, decodificar información en un mensaje de información de mejora complementaria, SEI, que indica para un segmento respectivo de la imagen y para uno o más segmentos siguientes recibidos antes de un siguiente mensaje de SEI si dichos segmentos pertenecen a una región de primer plano de GDR de la imagen, en donde la región de primer plano de GDR contiene solo bloques intracodificados, y en donde la región de primer plano de GDR se puede decodificar de forma independiente a partir de segmentos codificados que pertenecen a imágenes codificadas que preceden, en orden de decodificación, un conjunto de imágenes de una imagen asociada con el mensaje de SEI a una imagen de punto de recuperación incluida, y se puede decodificar de forma independiente de segmentos codificados que no son regiones de primer plano de GDR en el conjunto de imágenes.

Description

DESCRIPCIÓN
Señalización de regiones de interés y actualización de decodificación gradual en la codificación de video
CAMPO TÉCNICO
Esta divulgación se refiere a la codificación de video y, en especial, a la señalización de regiones de interés y la actualización de decodificación gradual en la codificación de video.
ANTECEDENTES
Las capacidades de video digital se pueden incorporar en una amplia gama de dispositivos, incluidos televisores digitales, sistemas de transmisión directa digital, sistemas de transmisión inalámbrica, asistentes digitales personales (PDA), computadoras portátiles o de escritorio, tabletas, lectores de libros electrónicos, cámaras digitales, dispositivos de grabación digital, reproductores de medios digitales, dispositivos de videojuegos, consolas de videojuegos, radioteléfonos móviles o por satélite, los denominados "teléfonos inteligentes", dispositivos de video teleconferencia, dispositivos de transmisión de video y similares. Los dispositivos de video digital implementan técnicas de codificación de video, como las descritas en los estándares definidos por MPEG-2, MPEG-4, ITU-T H.263, ITU-T H.264/MPEG-4, Parte 10, Codificación de video avanzada (AVC), el estándar de Codificación de video de alta eficiencia (HEVC) actualmente en desarrollo, y extensiones de dichos estándares. Los dispositivos de video pueden transmitir, recibir, codificar, decodificar y/o almacenar información de video digital de manera más eficiente implementando tales técnicas de codificación de video.
Las técnicas de codificación de video incluyen predicciones espaciales (intraimagen) y/o predicciones temporales (interimagen) para reducir o eliminar la redundancia inherente a las secuencias de video. Para la codificación de video basada en bloques, un segmento de video (por ejemplo, una trama de video o una parte de una trama de video) se puede dividir en bloques de video, que también pueden denominarse bloques de árbol, unidades de codificación (CU) y/o nodos de codificación. Los bloques de video en un segmento intracodificado (I) de una imagen se codifican utilizando la predicción espacial con respecto a las muestras de referencia en los bloques vecinos en la misma imagen. Los bloques de video en un segmento intercodificado (P o B) de una imagen pueden usar predicción espacial con respecto a muestras de referencia en bloques vecinos en la misma imagen o predicción temporal con respecto a muestras de referencia en otras imágenes de referencia. Las imágenes pueden denominarse tramas y las imágenes de referencia pueden denominarse tramas de referencia.
La predicción espacial o temporal da como resultado un bloque predictivo para la codificación de un bloque. Los datos residuales representan las diferencias de píxeles entre el bloque original a codificar y el bloque predictivo. Un bloque intercodificado se codifica según un vector de movimiento que apunta a un bloque de muestras de referencia que forman el bloque predictivo, y los datos residuales indican la diferencia entre el bloque codificado y el bloque predictivo. Un bloque intracodificado se codifica según un modo de intracodificación y los datos residuales. Para una compresión adicional, los datos residuales pueden transformarse del dominio de píxeles a un dominio de transformada, lo que resulta en coeficientes de transformada residuales, que luego pueden cuantificarse. Los coeficientes de transformada cuantificados, dispuestos inicialmente en una matriz bidimensional, se pueden escanear para producir un vector unidimensional de coeficientes de transformada, y se puede aplicar codificación entrópica para lograr una compresión aún mayor.
Documento "Regiones aisladas en codificación de video" de Miska M. Hannuksela et. al. (IEEE TRANSACTIONS ON MULTIMEDIA, Vol. 6, n. ° 2, 1 de abril de 2004 (01-04-2004), páginas 259-267) divulga una implementación de actualización de decodificación gradual basada en regiones aisladas.
SUMARIO
En general, esta divulgación describe técnicas de codificación de video. En particular, las técnicas se refieren a procesos de codificación y decodificación que incluyen señalización e información de procesamiento relacionadas con operaciones de actualización de decodificación gradual (GDR). Las técnicas se pueden usar en una variedad de procesos de codificación de video y pueden ser especialmente útiles en procesos de codificación que cumplen con el estándar de Codificación de video de alta eficiencia (HEVC), mencionado anteriormente, que está actualmente en desarrollo, y con otros estándares de codificación de video.
En un ejemplo, una divulgación describe un método para decodificar datos de video como se define en la reivindicación independiente 1.
En otro ejemplo, la divulgación describe un método para codificar datos de video como se define en la reivindicación independiente 6.
En otro ejemplo, la divulgación describe un aparato para codificar datos de video como se define en la reivindicación independiente 12.
Los detalles de uno o más ejemplos se exponen en los dibujos adjuntos y en la siguiente descripción. Otras características, objetos y ventajas serán evidentes a partir de la descripción, dibujos y reivindicaciones.
BREVE DESCRIPCIÓN DE LOS DIBUJOS
La figura 1 es un diagrama de bloques que ilustra un ejemplo de sistema de codificación y decodificación de video que puede utilizar técnicas para señalizar regiones de interés (ROI), actualización de decodificación gradual (GDR) o ambas, como se describe en esta divulgación.
La figura 2 es un diagrama de bloques que ilustra un ejemplo de un codificador de video que puede utilizar técnicas para señalizar ROI. GDR, o ambas, como se describe en esta divulgación.
La figura 3 es un diagrama de bloques que ilustra un ejemplo de un decodificador de video que puede utilizar técnicas para señalizar ROI, GDR o ambas como se describe en esta divulgación.
La figura 4 es un diagrama de bloques de una serie de ejemplos de mensajes de información de mejora complementaria (SEI) que utilizan las técnicas descritas en esta divulgación para indicar regiones de fondo y primer plano.
La figura 5 es un diagrama de flujo que ilustra un método de ejemplo relacionado con GDR y que implementa uno o más aspectos de esta divulgación.
La figura 6 es un diagrama de flujo que ilustra un método de ejemplo relacionado con ROI y que implementa uno o más aspectos de esta divulgación.
DESCRIPCIÓN DETALLADA
Esta divulgación describe varias técnicas para señalizar y procesar información relacionada con regiones de interés (ROI), actualización de decodificación gradual (GDR) o ambas operaciones en un proceso de codificación de video. Por consiguiente, algunas implementaciones de ejemplo pueden señalar información relacionada con GDR. Otras implementaciones de ejemplo pueden señalar información relacionada con ROI. En otro ejemplo más, como se describe en la presente, algunas implementaciones de ejemplo pueden señalar información relacionada tanto con GDR como con ROI. Las técnicas pueden realizarse, en algunos aspectos, mediante un codificador de video. En otros aspectos, las técnicas pueden realizarse mediante un decodificador de video. Además, dichos métodos podrían realizarse en otros dispositivos, tales como transcodificadores, elementos de red con reconocimiento de medios (MANE) o similares. En esta divulgación, las técnicas se describirán con respecto a los codificadores y decodificadores de vídeo con fines ilustrativos.
Según esta divulgación, en un ejemplo, durante un proceso de codificación, los sistemas, métodos y aparatos pueden codificar información que indique si GDR de imágenes está habilitada y, cuando GDR está habilitada, información de código que indica si los segmentos pertenecen a una región de primer plano de una imagen. Una región de primer plano también puede denominarse región actualizada. En otro ejemplo, durante un proceso de codificación, los sistemas, métodos y aparatos pueden codificar información que indique si una o más ISP están habilitadas.
En otro ejemplo, cuando se habilitan subimágenes independientes, estos sistemas, métodos y aparatos pueden codificar información que indique un ID de ISP para una de las ISP y codificar datos de vídeo correspondientes a una ROI como una de las ISP. Por consiguiente, un codificador puede designar un ID de ISP para la ROI e incluir información de la ROI en el flujo de bits en donde la información de la ROI puede indicar qué ID de ISP corresponde a la ROI. Además, debido a que cada ROI puede codificarse como una ISP, cuando una ISP particular correspondiente a una ROI es la única región deseada, pueden descartarse los segmentos que no pertenecen a la ISP en cada imagen.
Algunos sistemas, métodos y aparatos de ejemplo pueden realizar ambos.
Los estándares de codificación de video incluyen ITU-T H.261, ISO/IEC MPEG-1 Visual, ITU-T H.262 o ISO/IEC MPEG-2 Visual, ITU-T H.263, ISO/IEC MPEG-4 Visual e ITU-T H.264 (también conocido como ISO/IEC MPEG-4 AVC), incluidas sus extensiones Codificación de video escalable (SVC) y Codificación de video multivista (MVC). Además, el estándar de Codificación de video de alta eficiencia (HEVC) es desarrollado por el Equipo de colaboración conjunta sobre codificación de video (JCT-VC) del Grupo de expertos en codificación de video ITU-T (VCEG) y el Grupo de expertos en imágenes en movimiento ISO/IEC (MPEG). Un borrador reciente del estándar HEVC, denominado "Borrador de trabajo 8 de HEVC" o "WD8" se describe en el documento JCTVC-J1003v7, Bross et al., "Borrador 8 de especificación de texto de codificación de video de alta eficiencia (HEVC)", Junta del equipo colaborativo sobre codificación de video (JCT-VC) de ITU-T SG16 WP3 e ISO/IEC JTC1/SC29/WG11, décima reunión: Estocolmo, SE, 11-20 de julio de 2012, que, a partir del 1 de mayo de 2013, se puede descargar desde el siguiente enlace: http://phenix.intevry.fr/jct/doc_end_user/documents/10_Stockholm/wg11JCTVC-J1003-v8.zip. Otro borrador reciente del estándar HEVC, denominado "Borrador de trabajo 9 de HEVC" o "WD9" se describe en el documento JCTVC-K1003v13, Bross et al., "Borrador 9 de especificación de texto de codificación de video de alta eficiencia (HEVC)", Junta del equipo colaborativo sobre codificación de video (JCT-VC) de ITU-T SG16 WP3 e ISO/IEC jTc 1/SC29/WG11, décima primera reunión: Shanghai, CN, 10-19 de octubre de 2012, que a partir del 27 de diciembre de 2012, se puede descargar desde el siguiente enlace: http://phenix.intevry.fr/jct/doc_end_user/documents/11_Shanghai/wg11JCTVC-K1003-v13.zip.
En un proceso de codificación de video, los mensajes de información de mejora complementaria (SEI) permiten que los codificadores incluyan metadatos en el flujo de bits que no son necesarios para la decodificación correcta de los valores de muestra de las imágenes de salida, pero que pueden usarse para varios otros propósitos, como la sincronización y visualización de salida de imágenes, así como la detección y ocultación de pérdidas. Los codificadores pueden incluir cualquier número de unidades de capa de abstracción de red (NAL) de SEI en una unidad de acceso, y cada unidad de NAL de SEI puede contener uno o más mensajes de SEI.
El estándar HEVC, por ejemplo, como se presenta en HEVC WD8, incluye la sintaxis y la semántica de varios mensajes de SEI, pero no se especifica el manejo de los mensajes de SEI, porque el mensaje de SEI no afecta el proceso de decodificación normativo. Una razón para tener mensajes de SEI en el estándar HEVC es permitir que los datos complementarios se interpreten de manera idéntica en diferentes sistemas que utilizan HEVC. Las especificaciones y los sistemas que utilizan HEVC pueden requerir codificadores para generar ciertos mensajes de SEI o pueden definir el manejo específico de tipos particulares de mensajes de SEI recibidos.
La siguiente Tabla 1 enumera los mensajes de SEI especificados en HEVC WD8 y describe brevemente sus propósitos
Tabla 1 - Descripción general de los mensajes de SEI
Figure imgf000004_0001
(continuación)
Figure imgf000005_0001
Entre los mensajes de SEI, el mensaje de SEI de subimagen puede seguir, en orden de decodificación, la primera unidad de NAL de VCL en la unidad de acceso que contiene el mensaje de SEI, pero en algunos ejemplos, no seguirá, en orden de decodificación, la última unidad de NAL de VCL en la unidad de acceso. Todos los demás mensajes de SEI pueden preceder a la primera unidad de NAL de VCL en la unidad de acceso cuando nuh_reservado_cero_6bits es igual a 0 para la unidad de NAL de SEI que contiene el mensaje de SEI.
En un ejemplo, una ROI, que es un subconjunto de una imagen, puede codificarse independientemente a lo largo de una duración temporal, de modo que solo la ROI se puede transmitir, decodificar y visualizar como se desee.
En otro ejemplo, una secuencia de video también se puede codificar de manera que sea posible el acceso aleatorio desde una imagen no intra, y después de algunas imágenes, toda la región de la imagen se puede decodificar correctamente en una posición y luego en el orden de visualización/salida. Este comportamiento se conoce como actualización de decodificación gradual (GDR). La GDR proporciona accesibilidad aleatoria y resistencia mejorada a los errores.
En HEVC WD8, no había ningún mecanismo para la señalización de regiones de interés ROI en HEVC. El mensaje de SEI del punto de recuperación en HEVC se puede utilizar para señalar un punto de inicio de GDR y el punto de recuperación correspondiente. Sin embargo, no hay forma de señalar qué unidades de NAL se necesitan si el acceso aleatorio se realiza en un punto de inicio de la GDR. En algunos ejemplos, esta divulgación proporciona métodos para mejorar la señalización de ROI. En otros ejemplos, esta divulgación proporciona métodos para mejorar la señalización de GDR. Otros ejemplos según esta divulgación pueden proporcionar métodos tanto para la señalización mejorada de ROI como para la señalización mejorada de GDR.
En un método de ejemplo, se señala un indicador, por ejemplo, en el conjunto de parámetros de secuencia (SPS), para indicar si las ISP están habilitadas. Alternativamente, el indicador se puede señalar en otros lugares, por ejemplo, el conjunto de parámetros de vídeo (VPS) o el conjunto de parámetros de imagen (PPS). El indicador puede ser señalizado por un codificador de video en un flujo de bits de video codificado. A su vez, un decodificador puede recibir dicho indicador en un flujo de bits de video codificado y utilizar el indicador para admitir funciones de ROI.
Cuando está habilitado, la identificación de la ISP (ID de ISP) de cada ISP se señaliza, ya sea en el encabezado del segmento o en un mensaje de SEI. Esta señalización también permite la asociación de segmentos a ISP. Un mensaje de SEI de nivel de secuencia se define para transportar el número de ISP en la secuencia de video codificada, así como las posiciones y los tamaños de la ISP. Esos elementos de información también pueden señalizarse en el conjunto de parámetros de secuencia, conjunto de parámetros de vídeo o conjunto de parámetros de imagen. Cada rOi se puede codificar como ISP. Cuando una iSp particular correspondiente a una ROI es la única región deseada, los segmentos que no pertenecen a la ISP en cada imagen pueden descartarse, por ejemplo, mediante un decodificador de video.
En otro método, se señala un indicador, por ejemplo, en el conjunto de parámetros de secuencia, para indicar si la GDR está habilitada. Alternativamente, el indicador se puede señalar en otros lugares, por ejemplo, el conjunto de parámetros de vídeo o el conjunto de parámetros de imagen. El indicador puede ser señalizado por un codificador de video en un flujo de bits de video codificado. A su vez, un decodificador puede recibir dicho indicador en un flujo de bits de vídeo codificado y utilizar el indicador para admitir funciones de g Dr .
Cuando está habilitado, se señala si un segmento pertenece a la región de primer plano en una imagen, ya sea en el encabezado del segmento o en un mensaje de SEl. Cuando se accede aleatoriamente desde un punto de inicio de GDR, que es una unidad de acceso que no es RAP que contiene un mensaje de SEl de punto de recuperación, los segmentos en todas las imágenes desde el punto de inicio hasta el punto de recuperación (pero sin incluir el punto de recuperación) que no pertenecen a las regiones de primer plano pueden descartarse.
Los métodos descritos anteriormente pueden considerarse genéricos y pueden aplicarse a una variedad de diferentes tipos de codificadores-decodificadores (códec) de video. A continuación se proporcionan ejemplos de implementaciones detalladas de algunos de los métodos.
Ahora se describirá una implementación de ejemplo de un método para señalizar un indicador de primer plano de ID de subimagen independiente en el encabezado del segmento. La siguiente Tabla 2 proporciona un ejemplo de sintaxis de carga útil de secuencia de bytes sin procesar (RBSP) del conjunto de parámetros de secuencia para la implementación de este método.
T l 2 - in xi RB P l n n r m r n i
Figure imgf000006_0001
____________________________________________
La semántica de los elementos de sintaxis de la Tabla 2 es la siguiente. El elemento de sintaxis independiente_sub_imagen_habilitada_indicador igual a 1 especifica la presencia del elemento de sintaxis isp_id (la semántica se describe a continuación) en los encabezados del segmento de imágenes codificadas en la secuencia de vídeo codificada. El elemento de sintaxis independiente_sub_imagen_habilitada_indicador igual a 0 especifica la ausencia del elemento de sintaxis isp_id en los encabezados del segmento de imágenes codificadas en la secuencia de vídeo codificada.
El elemento de sintaxis gradual_decodificación_actualización_habilitada_indicador igual a 1 especifica la presencia del elemento de sintaxis gdr_primerplano_indicador (la semántica se describe a continuación) en los encabezados del segmento de imágenes codificadas en la secuencia de vídeo codificada. gradual_decodificación_actualización_habilitada_indicador igual a 0 especifica la ausencia del elemento de sintaxis gdr_primerplano_indicador en los encabezados del segmento de imágenes codificadas en la secuencia de vídeo codificada.
La siguiente Tabla 3 proporciona un ejemplo de elementos de sintaxis del encabezado del segmento para la implementación de este método.
Tabla 3 - Sintaxis del encabezado del segmento
Figure imgf000006_0002
____________________________________________
La semántica de los elementos de sintaxis de la Tabla 3 es la siguiente. El elemento de sintaxis isp_id especifica el identificador de la subimagen independiente a la que pertenece el segmento. El valor de isp_id puede estar en el intervalo de 0 a 255, inclusive.
En un ejemplo, una subimagen independiente (ISP) identificada por un valor ispID particular incluye y solo incluirá todos los segmentos con isp_id igual a ispID en la misma imagen. La región representada por una ISP puede ser una región rectangular. Y, en algunos ejemplos, las regiones representadas por diferentes ISP en una imagen no se superpondrán. En un ejemplo, la ISP se podrá decodificar de forma independiente de otros segmentos que no estén en la ISP en la misma imagen, es decir, cuando un segmento pertenece a una ISP y tiene dependiente_segmento_indicador igual a 1, el segmento anterior, en el orden de decodificación, que tiene dependiente_segmento_indicador igual a 0 puede pertenecer a la misma ISP. Por lo tanto, la ISP se puede decodificar de manera independiente, es decir, sin referencia a cualquier segmento que no esté en la ISP en la misma imagen.
Dentro de una secuencia de vídeo codificada, cuando independiente_sub_imagen_habilitada_indicador es igual a 1, las subimágenes independientes identificadas por un isp_id particular de todas las imágenes codificadas se denominan colectivamente una secuencia de ISP. Una secuencia de ISP puede decodificarse independientemente a partir de segmentos codificados que no pertenecen a la secuencia de ISP, es decir, en la decodificación de un segmento en una ISP, no se pueden utilizar muestras de un segmento que no pertenezca a la secuencia de ISP en el proceso de interpredicción. Por lo tanto, una secuencia de ISP se puede decodificar de manera independiente, es decir, sin referencia a cualquier segmento codificado que no esté en la secuencia de ISP.
El elemento de sintaxis gdr_primerplano_indicador igual a 1 indica que el segmento pertenece a la región de primer plano en la imagen actual. El elemento de sintaxis gdr_primerplano_indicador igual a 0 indica que el segmento pertenece a la región de fondo en la imagen actual.
La región de primer plano en una imagen incluye y solo puede incluir todos los segmentos con gdr_primerplano_indicador igual a 1 en la imagen, y otros segmentos pertenecen a la región de fondo de la imagen. La región de primer plano puede decodificarse independientemente de la región de fondo en la misma imagen, es decir, cuando un segmento pertenece a la región de primer plano y tiene dependiente_segmento_segmento igual a 1, el segmento anterior, en orden de decodificación, que tiene dependiente_segmento_segmento igual a 0 también puede pertenecer a la región de primer plano. Por lo tanto, la región de primer plano se puede decodificar independientemente de la región de fondo.
Cuando gradual_decodificación_actualización_habilitada_indicador es igual a 1 y la imagen actual es una imagen de punto de acceso aleatorio (RAP). La presencia de un mensaje de SEI de punto de recuperación asociado con la imagen actual indica todo lo siguiente: (a) la región de primer plano en la imagen contiene solo bloques de codificación intracodificados, (b) las regiones de primer plano en el conjunto de imágenes que comienzan desde la imagen asociada hasta el punto de recuperación, inclusive, son decodificables independientemente a partir de segmentos codificados que pertenecen a imágenes que preceden a la imagen asociada en orden de decodificación o que pertenecen a las regiones de fondo en el mismo conjunto de imágenes, y (c) todos los segmentos de las imágenes que siguen al punto de recuperación en la decodificación Tabla 3 - Sintaxis del encabezado del segmento segmento_encabezado() { Descriptor primer_segmento_en_imagen_indicador u(1) si( RapImagenIndicador ) sin_salida_de_previas_imágenes_indicador u(1) imagen_parámetro_conjunto_id ue(v) si( !primer_segmento_en_imagen_indicador) segmento_dirección u(v) si( dependiente_segmento_habilitado_ indicador && !primer_segmento_en_imagen_indicador) dependiente_segmento_indicador u(1) si( !dependiente_segmento_indicador) { segmento_tipo ue(v) si( indepensiente_sub_imagen_habilitado_indicador) isp_id ue(v) si(gradual_actualización_habilitada_indicador) gdr_primerplano_indicador u(1) ... } el orden puede decodificarse independientemente de los segmentos que pertenecen a imágenes codificadas que preceden a la imagen asociada en el orden de decodificación o que pertenecen a las regiones de fondo en el mismo conjunto de imágenes. En consecuencia, cuando gradual_decodificación_actualización_habilitada_indicador es igual a 1 y la imagen actual es una imagen de punto de acceso aleatorio (RAP), el decodificador puede decodificar de forma independiente segmentos codificados que pertenecen a imágenes codificadas que preceden a la imagen asociada en el orden de decodificación o que pertenecen a las regiones de fondo en el mismo conjunto de imágenes. El decodificador también puede decodificar independientemente los segmentos que pertenecen a imágenes codificadas que preceden a la imagen asociada en el orden de decodificación o que pertenecen a las regiones de fondo en el mismo conjunto de imágenes.
La sintaxis y la semántica de los mensajes de SEI de información de secuencia de subimagen independiente se describirán ahora con referencia a la siguiente Tabla 4.
Tabla 4 - Sintaxis del mensae de SEI de información de secuencia de subima en inde endiente
Figure imgf000007_0001
continuación
Figure imgf000008_0001
____________________________________________
La semántica de los elementos de sintaxis en la Tabla 4 se describe a continuación. El mensaje de SEI de información de secuencia de subimagen independiente proporciona el número de ISP en la secuencia de vídeo codificada que contiene el mensaje de SEI de información de secuencia de subimagen independiente, así como las posiciones y tamaños de las ISP.
num_isps_menos1 más 1 especifica el número de ISP en cada imagen en la secuencia de vídeo codificada que contiene el mensaje de SEI de información de secuencia de subimagen independiente. El valor de num_isps_menos1 puede estar en el intervalo de 0 a 255, inclusive.
isp_superior_izquierda [i] e isp_inferior_derecha [i] especifican las esquinas superior izquierda e inferior derecha, respectivamente, del ISP con isp_id igual a i en cada imagen de la secuencia de vídeo codificada. superior_izquierda [i] e inferior_derecha [i] son direcciones de bloques de árbol de codificación en la exploración de trama de bloques de árbol de codificación de una imagen. La ISP con esquinas superior izquierda e inferior derecha especificadas por superior_izquierda [i] e inferior_derecha [i], respectivamente, puede estar dentro de imágenes en la secuencia de video codificado y no puede superponerse con ninguna otra ISP.
Ahora se describirá una implementación de ejemplo de un método para señalizar un indicador de primer plano de ID de subimagen independiente en mensajes de SEI. La siguiente Tabla 5 proporciona un ejemplo de sintaxis de carga útil de secuencia de bytes sin procesar (RBSP) del conjunto de parámetros de secuencia para la implementación de este método. La Tabla 5 para este ejemplo de señalización de indicador de primer plano de ID de subimagen independiente en mensajes de SEI es la misma que la Tabla 2 anterior en el ejemplo de señalización de un indicador de primer plano de ID de subimagen independiente en el encabezado del segmento descrito anteriormente.
Tabla 5 - Sintaxis de RBSP del conjunto de parámetros de secuencia
Figure imgf000008_0002
____________________________________________
La semántica de los elementos de sintaxis en la Tabla 5 se describe a continuación. El elemento de sintaxis independiente_sub_imagen_habilitada_indicador igual a 1 especifica la presencia del elemento de sintaxis isp_id en los mensajes de SEI de información de ISP y GDR en la secuencia de vídeo codificada. El elemento de sintaxis independiente_sub_imagen_habilitada_indicador igual a 0 especifica la ausencia del elemento de sintaxis isp_id en los mensajes de SEI de información de ISP y GDR en la secuencia de vídeo codificada.
El gradual_decodificación_actualización_habilitada_indicador igual a 1 especifica, al decodificador, la presencia de los mensajes de SEI de información de ISP y GDR del elemento de sintaxis gdr_primerplano_indicador ISP en la secuencia de video codificada. gradual_decodificación_actualización_habilitada_indicador igual a 0 especifica, al decodificador, la ausencia de los mensajes de SEI de información de ISP y GDR del elemento de sintaxis gdr_primerplano en la secuencia de vídeo codificada.
La sintaxis y semántica del mensaje de SEI de información de secuencia de subimagen independiente para el método de señalización del indicador de primer plano de ID de subimagen independiente en mensajes de SEI pueden ser las mismas o sustancialmente las mismas que se describen anteriormente con respecto al método para la señalización del indicador de primer plano de ID de subimagen independiente en mensajes de SEI. En particular, la sintaxis y la semántica descritas con referencia a la Tabla 4 se repiten a continuación.
Tabla 6 - Sintaxis del mensae de SEI de información de secuencia de subima en inde endiente
Figure imgf000009_0001
____________________________________________ ____________________________________________
La semántica de los elementos de sintaxis en la Tabla 6 se describe a continuación.
El mensaje de SEI de información de secuencia de subimagen independiente proporciona el número de ISP en la secuencia de vídeo codificada que contiene el mensaje de SEI de información de secuencia de subimagen independiente, así como las posiciones y tamaños de las ISP.
num_isps_menos1 más 1 especifica el número de ISP en cada imagen en la secuencia de vídeo codificada que contiene el mensaje de SEI de información de secuencia de subimagen independiente. El valor de num_isps_menos1 puede estar en el intervalo de 0 a 255, inclusive.
isp_superior_izquierda [i] e isp_inferior_derecha [i] especifican las esquinas superior izquierda e inferior derecha, respectivamente, del ISP con isp_id igual a i en cada imagen de la secuencia de vídeo codificada. superior_izquierda [i] e inferior_derecha [i] son direcciones de bloques de árbol de codificación en la exploración de trama de bloques de árbol de codificación de una imagen. La ISP con esquinas superior izquierda e inferior derecha especificadas por superior_izquierda [i] e inferior_derecha [i], respectivamente, puede estar dentro de imágenes en la secuencia de video codificado y no puede superponerse con ninguna otra ISP.
La sintaxis y la semántica para la subimagen independiente y el mensaje de SEI de información de GDR se describirán ahora con referencia a la siguiente Tabla 7.
Tabla 7: Subimagen independiente y sintaxis del mensaje de SEI de la información de actualización decodificación r l
Figure imgf000009_0002
_______________________________________________
El mensaje de SEI de información de ISP y GDR proporciona el identificador de la ISP que contiene los segmentos a los que se aplica el mensaje de SEI actual, y/o si los segmentos a los que se aplica el mensaje de SEI actual pertenecen a la región de primer plano de la imagen actual, para lo cual la unidad de acceso contiene el mensaje de SEI actual.
Si el mensaje de SEI de información de ISP y GDR no es el último mensaje de SEI de información de ISP y GDR en la unidad de acceso, los segmentos a los que se aplica el mensaje de SEI consisten, en orden de decodificación, en todos los segmentos que siguen a la unidad de NAL de SEI que contiene el mensaje de SEI en orden de decodificación y preceden a la siguiente unidad de NAL de SEI que contiene un mensaje de SEI de información de ISP y GDR en orden de decodificación. De lo contrario, los segmentos a los que se aplica un mensaje de SEI de información de ISP y GDR consisten en todos los segmentos que suceden a la unidad de NAL de SEI que contiene el mensaje de SEI en el orden de decodificación.
Los segmentos a los que se aplica un mensaje de SEI de información de ISP y GDR también se denominan segmentos asociados con el mensaje de SEI de información de ISP y GDR.
El elemento de sintaxis isp_id especifica el identificador de la subimagen independiente a la que pertenecen los segmentos asociados con el mensaje de SEI actual. El valor de isp_id puede estar en el intervalo de 0 a 255, inclusive.
Una ISP identificada por un valor ispID particular incluye y podría incluir solamente todos los segmentos asociados con los mensajes de SEI de información de ISP y GDR que tienen isp_id igual a ispID en la misma imagen. La región representada por una ISP puede ser una región rectangular. Además, es posible que las regiones representadas por diferentes ISP en una imagen no se superpongan. Una ISP puede ser decodificable de forma independiente de otros segmentos que no estén en la ISP en la misma imagen, es decir, cuando un segmento pertenece a una ISP y tiene dependiente_segmento_indicador igual a 1, el segmento anterior, en el orden de decodificación, que tiene dependiente_segmento_indicador igual a 0 puede pertenecer a la misma ISP. Por lo tanto, la ISP se puede decodificar de manera independiente, es decir, sin referencia a los segmentos que no estén en la ISP en la misma imagen.
Dentro de una secuencia de vídeo codificada, cuando independiente_sub_imagen_habilitada_indicador es igual a 1, las subimágenes independientes identificadas por un isp_id particular de todas las imágenes codificadas se denominan colectivamente una secuencia de ISP. Una secuencia de ISP puede decodificarse independientemente a partir de segmentos codificados que no pertenecen a la secuencia de ISP, es decir, en la decodificación de un segmento en una ISP, no se pueden utilizar muestras de un segmento que no pertenezca a la secuencia de ISP en el proceso de interpredicción.
El elemento de sintaxis gdr_primerplano_indicador igual a 1 indica que los segmentos asociados con el mensaje de SEI actual pertenecen a la región de primer plano en la imagen actual. gdr_primerplano_indicador igual a 0 indica que los segmentos asociados con el mensaje de SEI actual pertenecen a la región de fondo en la imagen actual.
La región de primer plano en una imagen incluye y podría incluir solo todos los segmentos asociados con los mensajes de SEI de información de ISP y GDR que tienen gdr_primerplano_indicador igual a 1 en la imagen, y otros segmentos pertenecen a la región de fondo de la imagen. La región de primer plano puede decodificarse independientemente de la región de fondo en la misma imagen, es decir, cuando un segmento pertenece a la región de primer plano y tiene dependiente_segmento_segmento igual a 1, el segmento anterior, en orden de decodificación, que tiene dependiente_segmento_segmento igual a 0 también puede pertenecer a la región de primer plano. Por lo tanto, la región de primer plano puede decodificarse independientemente de, es decir, sin referencia a, la región de fondo en la misma imagen.
Cuando gradual_decodificación_actualización_habilitada_indicador es igual a 1 y la imagen actual es una imagen RAP, la presencia de un mensaje de SEI de punto de recuperación asociado con la imagen actual indica todo lo siguiente: (a) la región de primer plano en la imagen contiene solo bloques de codificación intracodificados, (b) las regiones de primer plano en el conjunto de imágenes que comienzan desde la imagen asociada hasta el punto de recuperación, inclusive, son decodificables independientemente a partir de segmentos codificados que pertenecen a imágenes que preceden a la imagen asociada en orden de decodificación o que pertenecen a las regiones de fondo en el mismo conjunto de imágenes, y (c) todos los segmentos de las imágenes que siguen al punto de recuperación en el orden de decodificación pueden decodificarse independientemente de los segmentos que pertenecen a imágenes codificadas que preceden la imagen asociada en orden de decodificación o que pertenecen a las regiones de fondo en el mismo conjunto de imágenes.
Mediante el uso de las técnicas descritas anteriormente, un codificador puede codificar datos de video correspondientes a una ROI, por ejemplo, dentro de los segmentos asociados con una o más ISP o dentro de los segmentos designados como pertenecientes a una región de primer plano, y la información de la señal, como los elementos de sintaxis descritos en esta divulgación, para permitir que un decodificador extraiga y decodifique dichos datos de vídeo de ROI. Por ejemplo, el decodificador de video puede analizar y decodificar el flujo de bits para obtener información de señalización, como los elementos de sintaxis descritos en esta divulgación, decodificar segmentos seleccionados asociados con la ROI, por ejemplo, donde dichos segmentos pueden identificarse en base a la ISP o designaciones de región de primer plano, como se describe en la presente. En algunos ejemplos, utilizando la información, el decodificador podría no decodificar los segmentos seleccionados que no forman parte de una ROI, por ejemplo, cuando dichos segmentos no pertenecen a ISP particulares o no pertenecen a regiones de primer plano. En cambio, el decodificador puede descartar tales segmentos.
Los métodos descritos en esta divulgación pueden ser realizados por un codificador de video o decodificador de video, como el codificador de video 20 o el decodificador de video 30 descritos con referencia a los ejemplos de las figuras 1-3. Mediante el uso de los elementos de sintaxis descritos anteriormente, en un ejemplo, un decodificador puede usar información de ISP o información de primer plano de GDR para identificar segmentos que transportan datos de video de ROI y decodificar selectivamente información de ROI, ya sea como ISP o en el transcurso de un proceso de GDR, como se describe en la presente.
Como se describe en esta divulgación, en un ejemplo, un codificador de video 20 o un decodificador de video 30 pueden configurarse para realizar un método de codificación de datos de video, el método comprende codificar información que indica si las ISP están habilitadas, cuando las subimágenes independientes están habilitadas, codificar información que indica un ID de ISP para una de las ISP, y codificar datos de video correspondientes a una ROI como una de las ISP.
Codificar información para indicar si las ISP están habilitadas puede comprender codificar la información en uno de un conjunto de parámetros de secuencia, un conjunto de parámetros de vídeo o un conjunto de parámetros de imagen para indicar si las ISP están habilitadas. En algunos ejemplos, esta información puede indicar que las ISP están habilitadas para todas las imágenes en secuencia, todas las imágenes en una capa de una secuencia o imágenes individuales. Codificar información que indica el ID de ISP para cada una de una o más ISP puede comprender codificar la información en un encabezado de segmento o un mensaje de información de mejora complementaria (SEI) para indicar el ID de ISP para cada una de una o más ISP.
Se pueden asociar uno o más segmentos de datos de vídeo con las ISP. Por ejemplo, un segmento determinado puede estar asociado con una ISP determinada. En algunos ejemplos, se pueden codificar las características de las ISP, incluidas varias ISP, las posiciones de las ISP y los tamaños de las ISP en una secuencia de vídeo codificada. Las características de la ISP pueden codificarse, por ejemplo, en un mensaje de SEI. En algunos ejemplos, las características de la ISP pueden codificarse en un conjunto de parámetros de secuencia, un conjunto de parámetros de vídeo o un conjunto de parámetros de imagen.
Como se usa en la presente, el término "codificación" puede referirse a la codificación o a la decodificación, según sea aplicable en un contexto determinado, y puede referirse a cualquiera de ellas en un sentido genérico en muchos casos, particularmente a la luz de la naturaleza recíproca de algunos aspectos de los procesadores de codificación y decodificación de vídeo Por consiguiente, la codificación puede referirse a la codificación con un codificador de video 20, o la decodificación con un decodificador de video 30.
En el caso de la decodificación, un decodificador puede recibir información en un flujo de bits de video codificado, decodificar la información y decodificar datos de video usando la información. Por ejemplo, un decodificador de video puede decodificar segmentos que pertenecen a las ISP y no decodificar (por ejemplo, descartar) segmentos que no pertenecen a las ISP. El decodificador puede generar datos de video correspondientes a la ROI basándose en los segmentos decodificados que pertenecen a las ISP.
Como se describe en esta divulgación, en otro ejemplo, un codificador de video 20 o un decodificador de video 30 pueden configurarse para realizar un método de codificación de datos de video, el método comprende codificar información que indica si la GDR de imágenes está habilitada y cuando la GDR está habilitada, codificar información que indica si los segmentos pertenecen a una región de primer plano de una imagen.
En un ejemplo, el método puede comprender codificar la información que indica imágenes correspondientes al punto de inicio de GDR y un punto de recuperación de GDR. En otro ejemplo, el método puede comprender codificar datos de video correspondientes a una ROI en los segmentos que pertenecen a las regiones de primer plano. Como ejemplo adicional, el método puede comprender codificar datos de video correspondientes a una ROI en los segmentos que pertenecen a las regiones de primer plano entre el punto de inicio de GDR y el punto de recuperación de GDR.
Codificar información para indicar si la GDR está habilitada puede comprender codificar la información en uno de un conjunto de parámetros de secuencia, un conjunto de parámetros de vídeo o un conjunto de parámetros de imagen para indicar si la GDR está habilitada. En algunos ejemplos, esta información puede indicar si la GDR está habilitada para todas las imágenes en secuencia, todas las imágenes en una capa de una secuencia o imágenes individuales. Codificar información para indicar si un segmento pertenece a una región de primer plano de una imagen puede comprender codificar la información en un encabezado de segmento o un mensaje de SEI para indicar si el segmento pertenece a la región de primer plano de la imagen.
Nuevamente, este método puede realizarse, en algunos ejemplos, mediante un codificador 20 de vídeo o un decodificador de vídeo 30. En el caso de la decodificación, el método puede comprender además recibir la información que indica si los segmentos de las imágenes pertenecen a una región de primer plano de la imagen respectiva en un flujo de bits de video codificado, decodificar la información y decodificar datos de video usando la información. Además, el método puede comprender decodificar los segmentos que pertenecen a la región de primer plano y descartar los segmentos que no pertenecen a la región de primer plano y generar datos de video correspondientes a la ROI basados en los segmentos decodificados que pertenecen a la región de primer plano. Como ejemplo adicional, el método puede comprender realizar un acceso aleatorio desde un punto de inicio de GDR, decodificar segmentos en imágenes desde el punto de inicio de GDR a un punto de recuperación de GDR que pertenecen a la región de primer plano, y descartar segmentos en imágenes desde el punto de inicio de GDR al punto de recuperación de GDR que no pertenece a la región de primer plano.
La figura 1 es un diagrama de bloques que ilustra un ejemplo de sistema de codificación y decodificación de video 10 que puede utilizar técnicas para señalizar y/o recibir información relacionada con la ROI, información relacionada con GDR o ambas. Como se muestra en la figura 1, el sistema 10 incluye un dispositivo de origen 12 que proporciona datos de video codificados para ser decodificados en un momento posterior por un dispositivo de destino 14. En particular, el dispositivo de origen 12 proporciona los datos de vídeo al dispositivo de destino 14 a través de un medio legible por ordenador 16. El dispositivo de origen 12 y el dispositivo de destino 14 pueden comprender cualquiera de una amplia gama de dispositivos, que incluyen ordenadores de escritorio, ordenadores portátiles (es decir, computadoras portátiles), tabletas, decodificadores, aparato telefónico con microteléfono como los denominados teléfonos "inteligentes", los denominadas teclados "inteligentes", televisores, cámaras, dispositivos de visualización, reproductores de medios digitales, consolas de videojuegos, dispositivos de transmisión de video o similares. En algunos casos, el dispositivo de origen 12 y el dispositivo de destino 14 pueden estar equipados para comunicación inalámbrica.
El dispositivo de destino 14 puede recibir los datos de video codificados para decodificarlos a través de un medio legible por ordenador 16. El medio legible por ordenador 16 puede comprender cualquier tipo de medio o dispositivo capaz de mover los datos de video codificados desde el dispositivo de origen 12 al dispositivo de destino 14. En un ejemplo, el medio legible por ordenador 16 puede comprender un medio de comunicación para permitir que el dispositivo de origen 12 transmita datos de video codificados directamente al dispositivo de destino 14 en tiempo real. Los datos de video codificados pueden modularse de acuerdo con un estándar de comunicación, tal como un protocolo de comunicación inalámbrica, y transmitirse al dispositivo 14 de destino. El medio de comunicación puede comprender cualquier medio de comunicación inalámbrica o cableada, como un espectro de radiofrecuencia (RF) o una o más líneas de transmisión físicas. El medio de comunicación puede formar parte de una red basada en paquetes, como una red de área local, una red de área amplia o una red global como Internet. El medio de comunicación puede incluir enrutadores, conmutadores, estaciones base o cualquier otro equipo que pueda ser útil para facilitar la comunicación desde el dispositivo de origen 12 al dispositivo de destino 14.
En algunos ejemplos, los datos codificados pueden salir desde la interfaz de salida 22 a un dispositivo de almacenamiento. De manera similar, se puede acceder a los datos codificados desde el dispositivo de almacenamiento mediante la interfaz de entrada. El dispositivo de almacenamiento puede incluir cualquiera de una variedad de medios de almacenamiento de datos distribuidos o de acceso local, como un disco duro, discos Blu-ray, DVD, CD-ROM, memoria rápida, memoria volátil o no volátil o cualquier otro medio de almacenamiento digital adecuado para almacenar datos de video codificados. En un ejemplo adicional, el dispositivo de almacenamiento puede corresponder a un servidor de archivos u otro dispositivo de almacenamiento intermedio que puede almacenar el video codificado generado por el dispositivo de origen 12. El dispositivo de destino 14 puede acceder a los datos de video almacenados desde el dispositivo de almacenamiento mediante transmisión o descarga. El servidor de archivos puede ser cualquier tipo de servidor capaz de almacenar datos de video codificados y transmitir esos datos de video codificados al dispositivo de destino 14. Ejemplos de los servidores de archivos incluyen un servidor web (por ejemplo, para un sitio web), un servidor FTP, dispositivos de almacenamiento conectados a la red (NAS) o una unidad de disco local. El dispositivo de destino 14 puede acceder a los datos de video codificados a través de cualquier conexión de datos estándar, incluida una conexión a Internet. Puede incluir un canal inalámbrico (por ejemplo, una conexión Wi-Fi), una conexión por cable (por ejemplo, DSL, módem por cable, etc.) o una combinación de ambos que sea adecuada para acceder a datos de video codificados almacenados en un servidor de archivos. La transmisión de datos de video codificados desde el dispositivo de almacenamiento puede ser una transmisión en directo, una transmisión de descarga o una combinación de las mismas.
Las técnicas de esta divulgación no se limitan necesariamente a aplicaciones o configuraciones inalámbricas. Las técnicas se pueden aplicar a la codificación de video para admitir cualquiera de una variedad de aplicaciones multimedia, como transmisiones de televisión por aire, transmisiones de televisión por cable, transmisiones de televisión por satélite, transmisiones de video en directo por Internet, tales como transmisión dinámica adaptativa a través de HTTP (DASH), video digital que está codificado en un medio de almacenamiento de datos, decodificación de video digital almacenado en un medio de almacenamiento de datos u otras aplicaciones. En algunos ejemplos, el sistema 10 puede configurarse para admitir transmisión de video unidireccional o bidireccional para admitir aplicaciones tales como transmisión de video, reproducción de video, difusión de video y/o telefonía de video.
En el ejemplo de la figura 1, el dispositivo de origen 12 incluye una fuente de video 18, un codificador de video 20, una interfaz de salida 22. El dispositivo de destino 14 incluye una interfaz de entrada 28, un decodificador de video 30 y un dispositivo de visualización 32. Según esta divulgación, el codificador de video 20 del dispositivo de origen 12 puede configurarse para realizar técnicas para señalizar información relacionada con las ROI, información relacionada con GDR o ambas. Por ejemplo, el codificador de video 20 puede configurarse para codificar información de señalización en un flujo de bits de video codificado para proporcionar un decodificador de video, como el decodificador de video 30, con información relacionada con las ROI, información relacionada con GDR o ambas para su uso en un proceso de decodificación de video. El decodificador de video 30 puede configurarse para decodificar y analizar un flujo de bits para obtener información de señalización relacionada con las ROI, información relacionada con GDR, o ambas y usar dicha información en un proceso de decodificación de video. En otros ejemplos, un dispositivo de origen y un dispositivo de destino pueden incluir otros componentes o disposiciones. Por ejemplo, la fuente de video 18 puede ser una fuente de video externa de manera que el dispositivo de origen 12 pueda recibir datos de video de una fuente de video externa, como una cámara externa. Asimismo, el dispositivo de destino 14 puede interactuar con un dispositivo de visualización externo, en lugar de incluir un dispositivo de visualización integrado.
Según esta divulgación, los sistemas, métodos o aparatos para codificar datos de video pueden, en un ejemplo, codificar información que indica si la GDR de imágenes está habilitada. En algunos ejemplos, cuando la GDR está habilitada, el procesador o los procesadores pueden codificar información que indica si los segmentos pertenecen a una región de primer plano de una imagen. Por ejemplo, un sistema o aparato para codificar datos de video puede incluir un procesador o procesadores configurados para realizar uno o más pasos del método. Tal procesador o procesadores pueden ser parte del codificador de video 20 o del decodificador de video 30 en algunos ejemplos.
Según esta divulgación, los sistemas, métodos o aparatos para codificar datos de video pueden, en otro ejemplo, codificar información que indica si una o más ISP están habilitadas. Cuando se habilitan subimágenes independientes, estos sistemas, métodos o aparatos pueden codificar información que indique un ID de ISP para una de las ISP y codificar datos de vídeo correspondientes a una ROI como una de las ISP. Como se describe en la presente, algunos ejemplos pueden codificar tanto la información que indica si la GDR de imágenes está habilitada como si una o más ISP están habilitadas.
Según esta divulgación, en algunos ejemplos, la codificación puede comprender la codificación, y un aparato que implementa uno o más de los métodos descritos en la presente puede configurarse para codificar con el codificador de vídeo 20. En otro ejemplo, el codificador de video 20 puede ser un aparato que implementa uno o más de los métodos descritos en la presente. Según esta divulgación, en algunos ejemplos, la codificación puede comprender la decodificación, y un aparato que implementa uno o más de los métodos descritos en la presente puede configurarse para decodificar con el decodificador de vídeo 30. En otro ejemplo, el codificador 20 puede ser un aparato que implementa uno o más de los métodos descritos en la presente.
El sistema ilustrado 10 de la figura 1 es simplemente un ejemplo. Las técnicas para señalizar y/o recibir información relacionada con la ROI, GDR o ambas pueden realizarse mediante cualquier dispositivo de codificación y/o decodificación de video digital. Aunque generalmente las técnicas de esta divulgación se realizan mediante un dispositivo de codificación de video, las técnicas también se pueden realizar mediante un codificador/decodificador de video, por lo general denominado "CÓDEC". Además, las técnicas de esta divulgación también pueden ser realizadas por un preprocesador de video. El dispositivo de origen 12 y el dispositivo de destino 14 son simplemente ejemplos de tales dispositivos de codificación en los que el dispositivo de origen 12 genera datos de vídeo codificados para su transmisión al dispositivo de destino 14. En algunos ejemplos, los dispositivos 12, 14 pueden funcionar de una manera sustancialmente simétrica de modo que cada uno de los dispositivos 12, 14 incluya componentes de codificación y decodificación de vídeo. Por lo tanto, el sistema 10 puede admitir la transmisión de video unidireccional o bidireccional entre dispositivos de video 12, 14, por ejemplo, para transmisión de video, reproducción de video, transmisión de video o telefonía de video.
La fuente de video 18 del dispositivo de origen 12 puede incluir un dispositivo de captura de video, como una cámara de video, un archivo de video que contiene video capturado previamente y/o una interfaz de alimentación de video para recibir video de un proveedor de contenido de video. Como alternativa adicional, la fuente de video 18 puede generar datos basados en gráficos de computadora como el video fuente, o una combinación de video en vivo, video archivado y video generado por ordenador. En algunos casos, si la fuente de video 18 es una cámara de video, el dispositivo de origen 12 y el dispositivo de destino 14 pueden formar los denominados teléfonos con cámara o videoteléfonos. Sin embargo, como se mencionó anteriormente, las técnicas descritas en esta divulgación pueden ser aplicables a la codificación de video en general, y pueden aplicarse a aplicaciones inalámbricas y/o cableadas. En cada caso, el video capturado, precapturado o generado por ordenador puede ser codificado por el codificador de video 20. La información de video codificada puede ser emitida luego por la interfaz de salida 22 a un medio legible por ordenador 16.
El medio legible por ordenador 16 puede incluir medios transitorios, como una transmisión inalámbrica o una transmisión de red por cable, o medios de almacenamiento (es decir, medios de almacenamiento no transitorios), como un disco duro, una unidad rápida, un disco compacto, un disco de video digital, disco Blu-ray u otro medio legible por ordenador. En algunos ejemplos, un servidor de red (no mostrado) puede recibir datos de video codificados desde el dispositivo de origen 12 y proporcionar los datos de video codificados al dispositivo de destino 14, por ejemplo, mediante transmisión de red. De manera similar, un dispositivo informático de una instalación de producción de medios, como una instalación de estampado de discos, puede recibir datos de video codificados desde el dispositivo de origen 12 y producir un disco que contenga los datos de video codificados. Por lo tanto, puede entenderse que el medio legible por ordenador 16 incluye uno o más medios legibles por ordenador de diversas formas, en varios ejemplos.
La interfaz de entrada 28 del dispositivo de destino 14 recibe información desde el medio legible por ordenador 16. La información del medio legible por ordenador 16 puede incluir información de sintaxis definida por el codificador de video 20, que también es utilizada por el decodificador de video 30, que incluye elementos de sintaxis que describen características y/o procesamiento de bloques y otras unidades codificadas, por ejemplo, GOP. El dispositivo de visualización 32 muestra los datos de video decodificados a un usuario y puede comprender cualquiera de una variedad de dispositivos de visualización tales como un tubo de rayos catódicos (CRT), una pantalla de cristal líquido (LCD), una pantalla de plasma, una pantalla de diodo emisor de luz orgánica (OLED), u otro tipo de dispositivo de visualización.
El codificador de vídeo 20 y el decodificador de vídeo 30 pueden funcionar según un estándar de codificación de vídeo, como el estándar de codificación de vídeo de alta eficiencia (HEVC) actualmente en desarrollo, y pueden ajustarse al modelo de prueba HEVC (HM). Alternativamente, el codificador de video 20 y el decodificador de video 30 pueden operar de acuerdo con otros estándares de propiedad o de la industria, como el estándar ITU-T H.264, también conocido como MPEG-4, Parte 10, Codificación de video avanzada (AVC) o extensiones de tales estándares. Las técnicas de esta divulgación, sin embargo, no se limitan a ningún estándar de codificación particular. Otros ejemplos de estándares de codificación de video incluyen MPEG-2 e ITU-T H.263. Aunque no se muestra en la figura 1, en algunos aspectos, el codificador de video 20 y el decodificador de video 30 pueden estar integrados cada uno con un codificador y decodificador de audio, y pueden incluir unidades MUX-DEMUX adecuadas, u otro hardware y software, para manejar la codificación de audio y video en un flujo de datos común o flujos de datos separados. Si corresponde, las unidades MUX-DEMUX pueden ajustarse al protocolo multiplexor ITU H.223 u otros protocolos como el protocolo de datagramas de usuario (UDP).
El estándar ITU-T H.264/MPEG-4 (AVC) fue formulado por el Grupo de expertos en codificación de video ITU-T (VCEG) junto con el Grupo de expertos en imágenes en movimiento ISO/iEc (MPEG) como el producto de una asociación colectiva conocida como el Equipo conjunto de video (JVT). En algunos aspectos, las técnicas descritas en esta divulgación pueden aplicarse a dispositivos que generalmente se ajustan al estándar H.264. El estándar H.264 se describe en la Recomendación H.264 de UIT-T, Codificación de vídeo avanzada para servicios audiovisuales genéricos, del Grupo de estudio de UIT-T, y con fecha de marzo de 2005, que puede denominarse en la presente como el estándar H.264 o especificación H.264, o el estándar o especificación H.264/AVC. El Equipo conjunto de video (JVT) continúa trabajando en extensiones para H.264/MPEG-4 AVC.
El codificador de video 20 y el decodificador de video 30 pueden implementarse cada uno como cualquiera de una variedad de circuitos de codificador adecuados, como uno o más microprocesadores, procesadores de señales digitales (DSP), circuitos integrados de aplicación específica (ASIC), matrices de puertas programables en campo (FPGA), lógica discreta, software, hardware, firmware o cualquier combinación de los mismos. Cuando las técnicas se implementan parcialmente en software, un dispositivo puede almacenar instrucciones para el software en un medio legible por ordenador adecuado y no transitorio y ejecutar las instrucciones en hardware usando uno o más procesadores para realizar las técnicas de esta divulgación. Cada codificador de video 20 y decodificador de video 30 se puede incluir en uno o más codificadores o decodificadores, cualquiera de los cuales puede integrarse como parte de un codificador/decodificador combinado (CÓDEC) en un dispositivo respectivo.
El JCT-VC está trabajando en el desarrollo del estándar HEVC. Los esfuerzos de estandarización de HEVC se basan en un modelo en evolución de un dispositivo de codificación de video denominado modelo de prueba de HEVC (HM). El HM presupone varias capacidades adicionales de los dispositivos de codificación de video en relación con los dispositivos existentes según, por ejemplo, ITU-T H.264/AVC. Por ejemplo, mientras que H.264 proporciona nueve modos de codificación intrapredicción, el HM puede proporcionar hasta treinta y tres modos de codificación intra-predicción.
En general, el modelo de trabajo del HM describe que una trama de video o una imagen se puede dividir en una secuencia de bloques de árbol o unidades de codificación más grandes (LCU) que incluyen tanto muestras de luma como de croma. El próximo estándar HEVC también se refiere a las LCU como "unidades de árbol de codificación". Los datos de sintaxis dentro de un flujo de bits pueden definir un tamaño para la LCU, que es la unidad de codificación más grande en términos de número de píxeles. Un segmento incluye varios bloques de árboles consecutivos en orden de codificación. Una trama de vídeo o una imagen se puede dividir en uno o más segmentos. Cada bloque de árbol se puede dividir en unidades de codificación (CU) según un árbol cuaternario. En general, una estructura de datos del árbol cuaternario incluye un nodo por CU, con un nodo raíz correspondiente al bloque de árbol. Si una CU se divide en cuatro sub-CU, el nodo correspondiente a la CU incluye cuatro nodos hoja, cada uno de los cuales corresponde a una de las sub-CU.
Cada nodo de la estructura de datos del árbol cuaternario puede proporcionar datos de sintaxis para la CU correspondiente. Por ejemplo, un nodo en el árbol cuaternario puede incluir un indicador de división, que indica si la CU correspondiente al nodo está dividida en sub-CU. Los elementos de sintaxis de una CU pueden definirse de forma recursiva y pueden depender de si la CU se divide en sub-UC. Si una CU no se divide más, se denomina hoja-CU. En esta divulgación, cuatro sub-CU de una hoja-CU también se denominará hojas-CU incluso si no hay una división explícita de la hoja-CU original. Por ejemplo, si una CU con un tamaño de 16x16 no se divide más, las cuatro sub-CU de 8x8 también se denominarán hojas-CU, aunque la CU de 16x16 nunca se dividió.
Una CU tiene un propósito similar a un macrobloque del estándar H.264, excepto que una CU no tiene una distinción de tamaño. Por ejemplo, un bloque de árbol puede dividirse en cuatro nodos secundarios (también denominados sub-CU), y cada nodo secundario puede ser a su vez un nodo principal y dividirse en otros cuatro nodos secundarios. Un nodo secundario final no dividido, denominado nodo hoja del árbol cuaternario, comprende un nodo de codificación, también denominado hoja-CU. Los datos de sintaxis asociados con un flujo de bits codificado pueden definir un número máximo de veces que un bloque de árbol se puede dividir, lo que se denomina profundidad máxima de CU, y también pueden definir un tamaño mínimo de los nodos de codificación. Por consiguiente, un flujo de bits también puede definir una unidad de codificación más pequeña (SCU). Esta divulgación utiliza el término "bloque" para referirse a cualquiera de una CU, PU o TU, en el contexto de HEVC, o estructuras de datos similares en el contexto de otros estándares (por ejemplo, macrobloques y sub-bloques de los mismos en H.264/AVC).
Una CU incluye un nodo de codificación y unidades de predicción (PU) y unidades de transformada (TU) asociadas con el nodo de codificación. Un tamaño de la CU corresponde al tamaño del nodo de codificación y debe tener forma cuadrada. El tamaño de la CU puede variar desde 8x8 píxeles hasta el tamaño del bloque de árbol con un máximo de 64x64 píxeles o más. Cada CU puede contener una o más PU y una o más TU. Los datos de sintaxis asociados con una CU pueden describir, por ejemplo, la partición de la CU en una o más PU. Los modos de división pueden diferir entre si la CU está codificada en modo directo o en salto, codificada en modo intrapredicción o codificada en modo interpredicción. Las PU pueden dividirse para que tengan una forma no cuadrada. Los datos de sintaxis asociados con una CU también pueden describir, por ejemplo, la división de la CU en una o más TU según un árbol cuaternario. Una TU puede tener forma cuadrada o no cuadrada (por ejemplo, rectangular).
El estándar HEVC permite transformadas de acuerdo con las TU, que pueden ser diferentes para diferentes CU. El tamaño de las TU normalmente se basa en el tamaño de las PU dentro de una CU determinada definida para una LCU dividida, aunque puede que no siempre sea así. Las TU suelen ser del mismo tamaño o más pequeñas que las PU. En algunos ejemplos, las muestras residuales correspondientes a una CU pueden subdividirse en unidades más pequeñas utilizando una estructura de árbol cuaternario conocida como "árbol cuaternario residual" (RQT). Los nodos hoja del RQT pueden denominarse unidades de transformada (TU). Los valores de diferencia de píxeles asociados con las TU pueden transformarse para producir coeficientes de transformación, que pueden cuantificarse.
Una hoja-CU puede incluir una o más unidades de predicción (PU). En general, una PU representa un área espacial que corresponde a la totalidad o una parte de la CU correspondiente, y puede incluir datos para recuperar una muestra de referencia para la PU. Además, una PU incluye datos relacionados con la predicción. Por ejemplo, cuando la PU está codificada intra modo, los datos para la PU pueden incluirse en un árbol cuaternario residual (RQT), que puede incluir datos que describen un modo de intrapredicción para una TU correspondiente a la PU. Como otro ejemplo, cuando la PU está codificada intermodo, la PU puede incluir datos que definen uno o más vectores de movimiento para la PU. Los datos que definen el vector de movimiento para una PU pueden describir, por ejemplo, un componente horizontal del vector de movimiento, un componente vertical del vector de movimiento, una resolución para el vector de movimiento (por ejemplo, precisión de un cuarto de píxel o precisión de un octavo de píxel), una imagen de referencia a la que apunta el vector de movimiento y/o una lista de imágenes de referencia (por ejemplo, Lista 0, Lista 1 o Lista C) para el vector de movimiento.
Una hoja-CU que tiene una o más PU también puede incluir una o más unidades de transformada (TU). Las unidades de transformada se pueden especificar usando un RQT (también denominado estructura de árbol cuaternario de TU), como se discutió anteriormente. Por ejemplo, un indicador de división puede indicar si una hoja-CU se divide en cuatro unidades de transformada. Entonces, cada unidad de transformada puede dividirse en más sub-TU. Cuando una TU no se divide más, puede denominarse hoja-CU. Por lo general, para la intracodificación, todas las TU de hoja que pertenecen a una hoja-CU comparten el mismo modo de intrapredicción. Es decir, el mismo modo de intrapredicción se aplica generalmente para calcular los valores predichos para todas las TU de una hoja-CU. Para la intracodificación, un codificador de vídeo 20 puede calcular un valor residual para cada hoja-TU usando el modo de intrapredicción, como una diferencia entre la parte de la CU correspondiente a la TU y el bloque original. Una TU no se limita necesariamente al tamaño de una Pu . Por lo tanto, las TU pueden ser más grandes o más pequeñas que una PU. Para la intracodificación, una PU puede estar colocada con una hoja-TU correspondiente para la misma CU. En algunos ejemplos, el tamaño máximo de una hoja-TU puede corresponder al tamaño de la hoja-CU correspondiente.
Además, las TU de las hojas-CU también se pueden asociar con las respectivas estructuras de datos del árbol cuaternario, denominadas árboles cuaternarios residuales (RQT). Es decir, una hoja-CU puede incluir un árbol cuaternario que indica cómo la hoja-CU se divide en las TU. El nodo raíz de un árbol cuaternario de TU corresponde generalmente a una hoja-CU, mientras que el nodo raíz de un árbol cuaternario de CU corresponde generalmente a un bloque de árbol (o LCU). Las TU del RQT que no están divididas se denominan hojas-TU. En general, esta divulgación utiliza los términos CU y TU para referirse a hoja-CU y hoja-TU, respectivamente, a menos que se indique lo contrario.
Una secuencia de video generalmente incluye una serie de tramas o imágenes de video. Un grupo de imágenes (GOP) generalmente comprende una serie de una o más de las imágenes de video. Un GOP puede incluir datos de sintaxis en un encabezado del GOP, un encabezado de una o más de las imágenes, o en cualquier otro lugar, que describa una serie de imágenes incluidas en el GOP. Cada segmento de una imagen puede incluir datos de sintaxis de segmento que describen un modo de codificación para el segmento respectivo. El codificador de video 20 normalmente funciona en bloques de video dentro de segmentos de video individuales para codificar los datos de video. Un bloque de video puede corresponder a un nodo de codificación dentro de una CU. Los bloques de video pueden tener tamaños fijos o variables, y pueden diferir en tamaño según un estándar de codificación específico.
Como ejemplo, el HM admite la predicción en varios tamaños de PU. Suponiendo que el tamaño de una CU particular es 2Nx2N, el HM admite la intrapredicción en tamaños de PU de 2Nx2N o NxN, y la interpredicción en tamaños de PU simétricos de 2Nx2N, 2NxN, Nx2N o NxN. El HM también admite divisiones asimétricas para la interpredicción en tamaños de PU de 2NxnU, 2NxnD, nLx2N y nRx2N. En la división asimétrica, una dirección de una CU no se divide, mientras que la otra dirección se divide en 25 % y 75 %. La parte de la CU correspondiente a la división del 25 % se indica con una "n" seguida de una indicación de "Arriba", "Abajo", "Izquierda" o "Derecha". Así, por ejemplo, "2NxnU" se refiere a una CU de 2Nx2N que está dividida horizontalmente con una PU de 2Nx0,5N en la parte superior y una PU de 2Nx1,5N en la parte inferior.
En esta descripción, "NxN" y "N por N" pueden usarse indistintamente para referirse a las dimensiones de píxeles de un bloque de video en términos de dimensiones verticales y horizontales, por ejemplo, 16x16 píxeles o 16 por 16 píxeles. En general, un bloque de 16x16 tendrá 16 píxeles en dirección vertical (y = 16) y 16 píxeles en dirección horizontal (x = 16). Asimismo, un bloque NxN generalmente tiene N píxeles en una dirección vertical y N píxeles en una dirección horizontal, donde N representa un valor entero no negativo. Los píxeles de un bloque pueden disponerse en filas y columnas. Además, los bloques no necesariamente deben tener el mismo número de píxeles en la dirección horizontal que en la dirección vertical. Por ejemplo, los bloques pueden comprender NxM píxeles, donde M no es necesariamente igual a N.
Después de la codificación intrapredictiva o interpredictiva usando las PU de una CU, el codificador de video 20 puede calcular datos residuales para las TU de la CU. Las PU pueden comprender datos de sintaxis que describen un método o modo para generar datos de píxeles predictivos en el dominio espacial (también denominado dominio de píxeles) y las TU pueden comprender coeficientes en el dominio de transformada después de la aplicación de una transformada, por ejemplo, una transformada de coseno discreta (DCT), una transformada entera, una transformada ondícula o una transformada conceptualmente similar a los datos de vídeo residuales. Los datos residuales pueden corresponder a las diferencias de píxeles entre los píxeles de la imagen no codificada y los valores de predicción correspondientes a las PU. El codificador de vídeo 20 puede formar las TU que incluyen los datos residuales para la CU, y luego transformar las TU para producir coeficientes de transformada para la CU.
Después de cualquier transformación para producir coeficientes de transformada, el codificador de vídeo 20 puede realizar la cuantificación de los coeficientes de transformada. La cuantificación generalmente se refiere a un proceso en el que los coeficientes de transformada se cuantifican para posiblemente reducir la cantidad de datos utilizados para representar los coeficientes, proporcionando una mayor compresión. El proceso de cuantificación puede reducir la profundidad de bits asociada con algunos o todos los coeficientes. Por ejemplo, un valor de n bits puede redondearse hacia abajo a un valor de m bits durante la cuantificación, donde n es mayor que m.
Después de la cuantificación, el codificador de vídeo 20 puede escanear los coeficientes de transformada, produciendo un vector unidimensional a partir de la matriz bidimensional que incluye los coeficientes de transformada cuantificados. La exploración puede diseñarse para colocar coeficientes de energía más alta (y por lo tanto de frecuencia más baja) en la parte delantera de la matriz y para colocar coeficientes de energía más baja (y por lo tanto de frecuencia más alta) en la parte posterior de la matriz. En algunos ejemplos, el codificador de vídeo 20 puede utilizar un orden de exploración predefinido para explorar los coeficientes de transformada cuantificados para producir un vector serializado que puede codificarse por entropía. En otros ejemplos, el codificador de vídeo 20 puede realizar una exploración adaptativa. Después de escanear los coeficientes de transformada cuantificados para formar un vector unidimensional, el codificador de video 20 puede codificar por entropía el vector unidimensional, por ejemplo, según la codificación de longitud variable adaptativa al contexto (CAVLC), la codificación aritmética binaria adaptativa al contexto (CABAC), codificación aritmética binaria adaptativa al contexto basada en sintaxis (SBAC), la codificación por entropía de división de intervalo de probabilidad (PIPE) u otra metodología de codificación por entropía. El codificador de video 20 también puede codificar por entropía los elementos de sintaxis asociados con los datos de video codificados para su uso mediante el decodificador de video 30 al decodificar los datos de video.
Para realizar CABAC, el codificador de vídeo 20 puede asignar un contexto dentro de un modelo de contexto a un símbolo que se transmitirá. El contexto puede referirse, por ejemplo, a si los valores vecinos del símbolo son distintos de cero o no. Para realizar CAVLC, el codificador de vídeo 20 puede seleccionar un código de longitud variable para que se transmita un símbolo. Las palabras de código en VLC se pueden construir de manera que los códigos relativamente más cortos correspondan a símbolos más probables, mientras que los códigos más largos correspondan a símbolos menos probables. De esta manera, el uso de VLC puede lograr un ahorro de bits con respecto, por ejemplo, al uso de palabras de código de igual longitud para cada símbolo que se transmitirá. La determinación de la probabilidad puede basarse en un contexto asignado al símbolo.
El codificador de video 20 puede enviar además datos de sintaxis, como datos de sintaxis basados en bloques, datos de sintaxis basados en tramas y datos de sintaxis basados en GOP, al decodificador de video 30, por ejemplo, en un encabezado de trama, un encabezado de bloque, un encabezado de segmento, o un encabezado del GOP. Los datos de sintaxis del GOP pueden describir un número de tramas en el respectivo GOP, y los datos de sintaxis de tramas pueden indicar un modo de codificación/predicción usado para codificar la trama correspondiente.
El codificador de video 20 y el decodificador de video 30 pueden implementarse cada uno como cualquiera de una variedad de circuitos de codificador o decodificador adecuados, según corresponda, como uno o más microprocesadores, procesadores de señales digitales (DSP), circuitos integrados de aplicación específica (ASIC), matrices de puertas programables en campo (FPGA), circuitos de lógica discreta, software, hardware, firmware o cualquier combinación de los mismos. Cada codificador de video 20 y decodificador de video 30 se puede incluir en uno o más codificadores o decodificadores, cualquiera de los cuales puede integrarse como parte de un codificador/decodificador de video (CÓDEC). Un dispositivo que incluye un codificador de vídeo 20 y/o un decodificador de vídeo 30 puede comprender un circuito integrado, un microprocesador y/o un dispositivo de comunicación inalámbrica, como un teléfono celular.
La figura 2 es un diagrama de bloques que ilustra un ejemplo de codificador de vídeo 20 que puede implementar técnicas para señalizar información que indica las ROI, información que indica la GDR, o ambas. El codificador de video 20 puede realizar intra- e intercodificación de bloques de video dentro de segmentos de video. La intracodificación se basa en la predicción espacial para reducir o eliminar la redundancia espacial en el video dentro de una trama o imagen de video determinado. La intercodificación se basa en la predicción temporal para reducir o eliminar la redundancia temporal en el video dentro de tramas o imágenes adyacentes de una secuencia de video. El intramodo (modo I) puede referirse a cualquiera de varios modos de codificación basados en el espacio. Los intermodos, como la predicción unidireccional (modo P) o la predicción bidireccional (modo B), pueden referirse a cualquiera de varios modos de codificación basados en el tiempo.
Como se muestra en la figura 2, el codificador de video 20 recibe un bloque de video actual dentro de una trama de video que se codificará. En el ejemplo de la figura 2, el codificador de vídeo 20 incluye la unidad de selección de modo 40, la memoria de trama de referencia 64, el sumador 50, la unidad de procesamiento de transformada 52, la unidad de cuantificación 54 y la unidad de codificación por entropía 56. La unidad de selección de modo 40, a su vez, incluye la unidad de compensación de movimiento 44, la unidad de estimación de movimiento 42, la unidad de intrapredicción 46 y la unidad de división 48. Para la reconstrucción de bloques de video, el codificador de video 20 también incluye la unidad de cuantificación inversa 58, la unidad de transformada inversa 60 y el sumador 62. También se puede incluir un filtro de desbloqueo (no mostrado en la figura 2) para filtrar los límites de los bloques para eliminar los artefactos de bloqueo del video reconstruido. Si lo desea, el filtro de desbloqueo normalmente filtraría la salida del sumador 62. También se pueden utilizar filtros adicionales (en bucle o bucle posterior) además del filtro de desbloqueo. Dichos filtros no se muestran por brevedad, pero si se desea, pueden filtrar la salida del sumador 50 (como un filtro en bucle).
Durante el proceso de codificación, el codificador de vídeo 20 recibe una trama o segmento de vídeo para codificar. La trama o el segmento se pueden dividir en varios bloques de vídeo. La unidad de estimación de movimiento 42 y la unidad de compensación de movimiento 44 realizan una codificación interpredictiva del bloque de vídeo recibido en relación con uno o más bloques en una o más tramas de referencia para proporcionar predicción temporal. La unidad de intrapredicción 46 puede realizar alternativamente una codificación intrapredictiva del bloque de vídeo recibido en relación con uno o más bloques vecinos en la misma trama o segmento que el bloque a codificar para proporcionar predicción espacial. El codificador de video 20 puede realizar múltiples pases de codificación, por ejemplo, para seleccionar un modo de codificación adecuado para cada bloque de datos de video.
Además, la unidad de división 48 puede dividir bloques de datos de vídeo en sub-bloques, basándose en la evaluación de esquemas de división previos en pases de codificación previos. Por ejemplo, la unidad de división 48 puede dividir inicialmente una trama o segmento en LCU, y dividir cada una de las LCU en sub-CU basándose en el análisis de distorsión de velocidad (por ejemplo, optimización de distorsión de velocidad). La unidad de selección de modo 40 puede producir además una estructura de datos de árbol cuaternario indicativa de la división de una LCU en sub-CU. Las Cu de hoja-nodo del árbol cuaternario pueden incluir una o más PU y una o más TU.
La unidad de selección de modo 40 puede seleccionar uno de los modos de codificación, intra o inter, por ejemplo, basándose en resultados de error, y proporcionar el bloque intra o intercodificado resultante al sumador 50 para generar datos de bloque residuales y al sumador 62 para reconstruir el bloque codificado para su uso como trama de referencia. La unidad de selección de modo 40 también proporciona elementos de sintaxis, como vectores de movimiento, indicadores de intramodo, información de división y demás información de sintaxis similar, a la unidad de codificación por entropía 56.
La unidad de estimación de movimiento 42 y la unidad de compensación de movimiento 44 pueden estar muy integradas, pero se ilustran por separado con fines conceptuales. La estimación de movimiento, realizada por la unidad 42 de estimación de movimiento, es el proceso de generar vectores de movimiento, que estiman el movimiento para bloques de video. Un vector de movimiento, por ejemplo, puede indicar el desplazamiento de una PU de un bloque de video dentro de una trama de video actual o una imagen relativa a un bloque predictivo dentro de una trama de referencia (u otra unidad codificada) relativa al bloque actual que se codifica dentro de la trama actual (u otra unidad codificada). Un bloque predictivo es un bloque que coincide estrechamente con el bloque que se codificará, en términos de diferencia de píxeles, que puede determinarse mediante la suma de la diferencia absoluta (SAD), la suma de la diferencia cuadrada (SSD) u otras métricas de diferencia. En algunos ejemplos, el codificador de vídeo 20 puede calcular valores para posiciones de píxeles sub-enteros de imágenes de referencia almacenadas en la memoria de la trama de referencia 64. Por ejemplo, el codificador de video 20 puede interpolar valores de posiciones de un cuarto de píxel, posiciones de un octavo de píxel u otras posiciones de píxeles fraccionarios de la imagen de referencia. Por lo tanto, la unidad de estimación de movimiento 42 puede realizar una búsqueda de movimiento en relación con las posiciones de píxeles completos y las posiciones de píxeles fraccionarios y generar un vector de movimiento con precisión de píxeles fraccionarios.
La unidad de estimación de movimiento 42 calcula un vector de movimiento para una PU de un bloque de video en un segmento intercodificado mediante la comparación de la posición de la PU con la posición de un bloque predictivo de una imagen de referencia. La imagen de referencia puede seleccionarse de una primera lista de imágenes de referencia (Lista 0) o una segunda lista de imágenes de referencia (Lista 1), cada una de las cuales identifica una o más imágenes de referencia almacenadas en la memoria de la trama de referencia 64. La unidad de estimación de movimiento 42 envía el vector de movimiento calculado a la unidad de codificación por entropía 56 y a la unidad de compensación de movimiento 44.
La compensación de movimiento, realizada por la unidad de compensación de movimiento 44, puede implicar buscar o generar el bloque predictivo en base al vector de movimiento determinado por la unidad de estimación de movimiento 42. Nuevamente, la unidad de estimación de movimiento 42 y la unidad de compensación de movimiento 44 pueden integrarse funcionalmente, en algunos ejemplos. Al recibir el vector de movimiento para la PU del bloque de video actual, la unidad 44 de compensación de movimiento puede localizar el bloque predictivo al que apunta el vector de movimiento en una de las listas de imágenes de referencia. El sumador 50 forma un bloque de video residual restando los valores de píxeles del bloque predictivo de los valores de píxeles del bloque de video actual que se está codificando, formando valores de diferencia de píxeles, como se discutió anteriormente. En general, la unidad de estimación de movimiento 42 realiza una estimación de movimiento con respecto a los componentes de luma, y la unidad de compensación de movimiento 44 usa vectores de movimiento calculados en base a los componentes de luma tanto para los componentes de croma como para los componentes de luma. La unidad de selección de modo 40 también puede generar elementos de sintaxis asociados con los bloques de video y el segmento de video para su uso por el decodificador de video 30 al decodificar los bloques de video del segmento de video.
La unidad de intrapredicción 46 puede intrapredecir un bloque actual, como una alternativa a la interpredicción realizada por la unidad de estimación de movimiento 42 y la unidad de compensación de movimiento 44, como se describió anteriormente. En particular, la unidad de intrapredicción 46 puede determinar un modo de intrapredicción para su uso para codificar un bloque actual. En algunos ejemplos, la unidad de intrapredicción 46 puede codificar un bloque actual usando varios modos de intrapredicción, por ejemplo, durante pases de codificación separados, y la unidad de intrapredicción 46 (o la unidad de selección de modo 40, en algunos ejemplos) puede seleccionar un modo de intrapredicción adecuado para utilizar a partir de los modos evaluados.
Por ejemplo, la unidad de intrapredicción 46 puede calcular valores de distorsión de velocidad usando un análisis de distorsión de velocidad para los diversos modos de intrapredicción evaluados, y seleccionar el modo de intrapredicción que tiene las mejores características de distorsión de velocidad entre los modos evaluados. El análisis de distorsión de velocidad generalmente determina una cantidad de distorsión (o error) entre un bloque codificado y un bloque no codificado original que fue codificado para producir el bloque codificado, así como una tasa de bits (es decir, una cantidad de bits) que se usa para producir el bloque codificado. La unidad de intrapredicción 46 puede calcular las relaciones a partir de las distorsiones y velocidades para los diversos bloques codificados para determinar qué modo de intrapredicción exhibe el mejor valor de distorsión de velocidad para el bloque.
Después de seleccionar un modo de intrapredicción para un bloque, la unidad de intrapredicción 46 puede proporcionar información indicativa del modo de intrapredicción seleccionado para el bloque a la unidad de codificación por entropía 56. La unidad de codificación por entropía 56 puede codificar la información que indica el modo de intrapredicción seleccionado. El codificador de vídeo 20 puede incluir en el flujo de bits transmitido datos de configuración. Los datos de configuración pueden incluir una pluralidad de tablas de índice de modo de intrapredicción y una pluralidad de tablas de índice de modo de intrapredicción modificadas (también denominadas tablas de mapeo de palabras de código). Los datos de configuración también pueden incluir definiciones de contextos de codificación para varios bloques e indicaciones de un modo de intrapredicción más probable, una tabla de índice de modo de intrapredicción y una tabla de índice de modo de intrapredicción modificada para su uso para cada uno de los contextos.
El codificador de vídeo 20 forma un bloque de vídeo residual restando los datos de predicción de la unidad de selección de modo 40 del bloque de vídeo original que se está codificando. El sumador 50 representa el componente o componentes que realizan esta operación de resta. La unidad de procesamiento de transformada 52 aplica una transformada, como una transformada de coseno discreta (DCT) o una transformada conceptualmente similar, al bloque residual, lo que produce un bloque de video que comprende valores de coeficiente de transformada residual. La unidad de procesamiento de transformada 52 puede realizar otras transformada, que son conceptualmente similares a DCT. También se podrían utilizar transformadas de ondículas, transformadas de enteros, transformadas de sub-bandas u otros tipos de transformadas. En cualquier caso, la unidad de procesamiento de transformada 52 aplica la transformada al bloque residual, produciendo un bloque de coeficientes de transformada residual. La transformada puede convertir la información residual de un dominio de valor de píxel en un dominio transformada, como un dominio de frecuencia. La unidad de procesamiento de transformada 52 puede enviar los coeficientes de transformada resultantes a la unidad de cuantificación 54. La unidad de cuantificación 54 cuantifica los coeficientes de transformada para reducir aún más la tasa de bits. El proceso de cuantificación puede reducir la profundidad de bits asociada con algunos o todos los coeficientes. El grado de cuantificación se puede modificar ajustando un parámetro de cuantificación. En algunos ejemplos, la unidad de cuantificación 54 puede luego realizar una exploración de la matriz que incluye los coeficientes de transformada cuantificados. Alternativamente, la unidad de codificación por entropía 56 puede realizar la exploración.
Después de la cuantificación, la entropía de la unidad de codificación por entropía 56 codifica los coeficientes de transformada cuantificados. Por ejemplo, la unidad de codificación por entropía 56 puede realizar codificación de longitud variable adaptativa al contexto (CAVLC), codificación aritmética binaria adaptativa al contexto (CABAC), codificación aritmética binaria adaptativa al contexto basada en sintaxis (SBAC), codificación de entropía de partición de intervalo de probabilidad (PIPE) u otra técnica de codificación por entropía. En el caso de la codificación por entropía basada en el contexto, el contexto puede basarse en bloques vecinos. Después de la codificación por entropía mediante la unidad de codificación por entropía 56, el flujo de bits codificado puede transmitirse a otro dispositivo (por ejemplo, decodificador de video 30) o archivarse para su posterior transmisión o recuperación.
La unidad de cuantificación inversa 58 y la unidad de transformada inversa 60 aplican cuantificación inversa y transformada inversa, respectivamente, para reconstruir el bloque residual en el dominio de píxeles, por ejemplo, para su uso posterior como un bloque de referencia. La unidad de compensación de movimiento 44 puede calcular un bloque de referencia añadiendo el bloque residual a un bloque predictivo de una de las tramas de la memoria de la trama de referencia 64. La unidad de compensación de movimiento 44 también puede aplicar uno o más filtros de interpolación al bloque residual reconstruido para calcular valores de píxeles subenteros para su uso en la estimación de movimiento. El sumador 62 añade el bloque residual reconstruido al bloque de predicción compensado por movimiento producido por la unidad de compensación de movimiento 44 para producir un bloque de vídeo reconstruido para el almacenamiento en la memoria de la trama de referencia 64. El bloque de vídeo reconstruido puede ser utilizado por la unidad de estimación de movimiento 42 y la unidad de compensación de movimiento 44 como un bloque de referencia para intercodificar un bloque en una trama de video posterior.
El codificador de video 20 de la figura 2 representa un ejemplo de un codificador de video configurado para realizar varios métodos descritos en esta divulgación. Según los métodos descritos en esta divulgación, el codificador de video 20 puede usar los elementos de sintaxis descritos en la presente. El codificador de video 20 puede usar información de ISP o información de primer plano de GDR para identificar segmentos que transportan datos de video de región de primer plano o ROI, y decodificar selectivamente información de región de primer plano o ROI, ya sea como ISP o en el transcurso del proceso de GDR, como se describe en la presente.
En un ejemplo, el codificador de video 20 puede configurarse para realizar un método de codificación de datos de video. El método puede incluir codificar información que indica si las ISP están habilitadas. Cuando se habilitan subimágenes independientes, el codificador de vídeo 20 puede codificar información que indica un ID de ISP para una de las ISP. El codificador de video 20 también puede codificar datos de video correspondientes a una ROI como una de las ISP.
Codificar información para indicar si las ISP están habilitadas puede incluir codificar la información en uno de un conjunto de parámetros de secuencia, un conjunto de parámetros de vídeo o un conjunto de parámetros de imagen para indicar si las ISP están habilitadas. En algunos ejemplos, esta información puede indicar que las ISP están habilitadas para todas las imágenes en secuencia, todas las imágenes en una capa de una secuencia o imágenes individuales. Codificar información para indicar el ID de ISP para cada una de una o más ISP puede comprender codificar la información en un encabezado de segmento o un mensaje de SEI para indicar el ID de ISP para cada uno de una o más ISP.
Como se describe en esta divulgación, en otro ejemplo, un codificador de video 20 puede configurarse para realizar un método de codificación de datos de video, el método comprende codificar información que indica si la GDR de imágenes está habilitada y cuando la GDR está habilitada, codificar información que indica si los segmentos pertenecen a una región de primer plano de una imagen.
El método puede incluir codificar información que indica las imágenes correspondientes al punto de inicio de GDR y un punto de recuperación de GDR. En algunos ejemplos, el método puede comprender codificar datos de video correspondientes a los segmentos que pertenecen a las regiones de primer plano. Como ejemplo adicional, el método puede comprender codificar datos de video correspondientes a los segmentos que pertenecen a las regiones de primer plano entre el punto de inicio de GDR y el punto de recuperación de GDR.
Codificar información para indicar si la GDR está habilitada puede comprender codificar la información en uno de un conjunto de parámetros de secuencia, un conjunto de parámetros de vídeo o un conjunto de parámetros de imagen para indicar si la GDR está habilitada. En algunos ejemplos, esta información puede indicar si la GDR está habilitada para todas las imágenes en secuencia, todas las imágenes en una capa de una secuencia o imágenes individuales. Codificar información para indicar si un segmento pertenece a una región de primer plano de una imagen puede comprender codificar la información en un encabezado de segmento o un mensaje de SEI para indicar si el segmento pertenece a la región de primer plano de la imagen. En algunos ejemplos, un mensaje de SEI puede indicar si los segmentos están en primer plano o de fondo. En un ejemplo, todos los segmentos después de un mensaje de SEI que indica primer plano están en primer plano hasta que se recibe un mensaje de SEI posterior que indica que los siguientes segmentos están de fondo. En otro ejemplo de implementación, un sistema o método puede usar un mensaje de SEI como indicador para cada segmento o para un número predeterminado de segmentos.
En un método de ejemplo de codificación de datos de video, el codificador de video 20 puede codificar información que indica si la GDR de imágenes está habilitada. Por ejemplo, esto puede realizarse mediante la unidad de codificación por entropía 56. Además, cuando la GDR está habilitada, la unidad de codificación por entropía 56 del codificador de video 20 puede codificar información que indica si los segmentos pertenecen a una región de primer plano de una imagen. En otros ejemplos, otros sistemas o subsistemas del codificador de video 20 pueden realizar uno o más aspectos de los métodos descritos en la presente.
En algunos ejemplos, la unidad de codificación por entropía 56 o alguna otra unidad de procesamiento del codificador de vídeo 20 puede codificar información que indica imágenes correspondientes a un punto de inicio de GDR y un punto de recuperación de GDR. La unidad de codificación por entropía 56 puede codificar datos de vídeo correspondientes a una ROI en los segmentos que pertenecen a las regiones de primer plano. En un ejemplo, la unidad de codificación por entropía 56 puede codificar esta información en un primer segmento de un conjunto de segmentos pertenecientes a las regiones de primer plano entre el punto de inicio de GDR y el punto de recuperación de GDR. Por consiguiente, un indicador o mensaje de SEI puede indicar el comienzo de una serie de segmentos en una región de primer plano o una región de fondo.
La información puede, por ejemplo, estar indicada por un mensaje de SEI, un indicador o elemento de sintaxis en un encabezado de segmento, o en cualquier conjunto de parámetros o delimitador de imagen. Los ejemplos que usan un mensaje de SEI para indicar si el segmento pertenece a la región de primer plano de la imagen pueden enviar un mensaje de SEI por segmento o un mensaje de SEI podría aplicarse a una serie de segmentos. En algunos ejemplos, el mensaje de SEI puede indicar un número predeterminado de segmentos. En otro ejemplo, un mensaje de SEI podría aplicarse a una serie de segmentos hasta que se reciba el siguiente mensaje de SEI. Un indicador en un encabezado del segmento puede tener una funcionalidad similar. El indicador puede enviarse una vez para cada segmento o el indicador podría aplicarse a una serie de segmentos o un número conocido de segmentos.
En otro ejemplo, una unidad de codificación por entropía 56 puede codificar esta información en segmentos pertenecientes a las regiones de primer plano entre el punto de inicio de GDR y el punto de recuperación de GDR. En consecuencia, algunos ejemplos pueden establecer un indicador de primer plano en cada segmento para indicar si está en una región de primer plano o de fondo. Una región de primer plano también puede denominarse región actualizada, y una región de fondo (una región que no es una región de primer plano) también puede denominarse región no actualizada. En algunos ejemplos, codificar información para indicar si la GDR está habilitada puede incluir codificar la información en uno de un conjunto de parámetros de secuencia, un conjunto de parámetros de vídeo o un conjunto de parámetros de imagen para indicar si la GDR está habilitada. La información puede incluir un indicador o mensaje de SEI, por ejemplo, y puede indicar que la GDR está habilitada para toda la secuencia.
En algunos ejemplos, codificar información para indicar si un segmento pertenece a una región de primer plano de una imagen puede incluir codificar la información en un encabezado de segmento o un mensaje de SEI para indicar si el segmento pertenece a la región de primer plano de la imagen. Por ejemplo, un indicador en el encabezado del segmento o en el mensaje de SEI de primer plano puede indicar que todos los segmentos que siguen al indicador o mensaje de SEI están en primer plano hasta que se recibe el siguiente mensaje de SEI que indica el fondo. En otros ejemplos, los indicadores en sectores o los indicadores en mensajes de SEI pueden indicar un número predeterminado de segmentos en primer plano. En un ejemplo que usa indicadores en segmentos, cada segmento puede tener un indicador en lugar de utilizar un solo indicador en un solo segmento para indicar el primer plano o el fondo para varios segmentos. En algunos ejemplos, la unidad de codificación por entropía 56 del codificador de vídeo 20 puede codificar información que indica si una o más ISP están habilitadas. Cuando se habilitan subimágenes independientes, la unidad de codificación por entropía 56 puede codificar información que indica un ID de ISP para una de las ISP y codificar datos de vídeo correspondientes a una ROI como una de las ISP. Codificar información para indicar si las ISP están habilitadas puede incluir codificar la información en uno de un conjunto de parámetros de secuencia, un conjunto de parámetros de vídeo o un conjunto de parámetros de imagen para indicar si las ISP están habilitadas. Además, codificar información para indicar el ID de ISP para cada una de una o más ISP comprende codificar la información en un encabezado de segmento o un mensaje de SEI para indicar ID de ISP para cada una de una o más ISP. En algunos ejemplos, el codificador de video 20 puede asociar uno o más segmentos de datos de video con las ISP. Además, la unidad de codificación por entropía 56 puede codificar las características de la ISP, incluido un número de ISP, las posiciones de las ISP y los tamaños de las ISP en una secuencia de video codificada, codificar las características de la ISP en un mensaje de SEI o codificar las características de la ISP en uno de un conjunto de parámetros de secuencia, conjunto de parámetros de vídeo o conjunto de parámetros de imagen.
La figura 3 es un diagrama de bloques que ilustra un ejemplo de decodificador de vídeo 30 que puede implementar técnicas para procesar la información que indica las rOi, información que indica la región de primer plano de GDR, o ambas. En el ejemplo de la figura 3, el decodificador de video 30 incluye una unidad de decodificación por entropía 70, una unidad de compensación de movimiento 72, una unidad de intrapredicción 74, una unidad de cuantificación inversa 76, una unidad de transformada inversa 78, una memoria de trama de referencia 82 y un sumador 80. El decodificador de video 30 puede, en algunos ejemplos, realizar un pase de decodificación generalmente recíproco al pase de codificación descrito con respecto al codificador de video 20 (figura 2). La unidad de compensación de movimiento 72 puede generar datos de predicción basados en vectores de movimiento recibidos desde la unidad de decodificación por entropía 70, mientras que la unidad de intrapredicción 74 puede generar datos de predicción basados en indicadores de modo de intrapredicción recibidos desde la unidad de decodificación por entropía 70.
Durante el proceso de decodificación, el decodificador de video 30 recibe un flujo de bits de video codificado que representa bloques de video de un segmento de video codificado y elementos de sintaxis asociados del codificador de video 20. La unidad de decodificación por entropía 70 del decodificador de video 30 decodifica por entropía el flujo de bits para generar coeficientes cuantificados, vectores de movimiento o indicadores de modo de intrapredicción, y demás elementos de sintaxis. La unidad de decodificación por entropía 70 envía los vectores de movimiento y otros elementos de sintaxis a la unidad de compensación de movimiento 72. El decodificador de video 30 puede recibir los elementos de sintaxis en el nivel de segmento de video y/o en el nivel de bloque de video.
Cuando el segmento de video se codifica como un segmento intracodificado (I), la unidad de intrapredicción 74 puede generar datos de predicción para un bloque de video del segmento de video actual en base a un modo de intrapredicción señalizado y datos de bloques previamente decodificados de la trama o imagen actual. Cuando la trama de video se codifica como un segmento intercodificado (es decir, B, P o GPB), la unidad de compensación de movimiento 72 produce bloques predictivos para un bloque de video del segmento de video actual basado en los vectores de movimiento y otros elementos de sintaxis recibidos de la unidad de decodificación por entropía 70. Los bloques predictivos pueden producirse a partir de una de las imágenes de referencia dentro de una de las listas de imágenes de referencia. El decodificador de video 30 puede construir las listas de tramas de referencia, Lista 0 y Lista 1, usando técnicas de construcción predeterminadas basadas en imágenes de referencia almacenadas en la memoria de la trama de referencia 82. La unidad de compensación de movimiento 72 determina información de predicción para un bloque de video del segmento de video actual analizando los vectores de movimiento y otros elementos de sintaxis, y usa la información de predicción para producir los bloques predictivos para el bloque de video actual que se está decodificando. Por ejemplo, la unidad de compensación de movimiento 72 usa algunos de los elementos de sintaxis recibidos para determinar un modo de predicción (por ejemplo, intra o interpredicción) usado para codificar los bloques de video del segmento de video, un tipo de segmento de interpredicción (por ejemplo, el segmento B o el segmento P o el segmento GPB), información de construcción para una o más de las listas de imágenes de referencia para el segmento, vectores de movimiento para cada bloque de video intercodificado del segmento, estado de interpredicción para cada bloque de video intercodificado del segmento, y otra información para decodificar los bloques de video en el segmento de video actual.
La unidad de compensación de movimiento 72 también puede realizar una interpolación basada en filtros de interpolación. La unidad de compensación de movimiento 72 puede usar filtros de interpolación como los usa el codificador de video 20 durante la codificación de los bloques de video para calcular valores interpolados para píxeles subenteros de bloques de referencia. En este caso, la unidad de compensación de movimiento 72 puede determinar los filtros de interpolación usados por el codificador de video 20 a partir de los elementos de sintaxis recibidos y usar los filtros de interpolación para producir bloques predictivos.
La unidad de cuantificación inversa 76 cuantifica inversamente, es decir, descuantifica, los coeficientes de transformada cuantificados proporcionados en el flujo de bits y decodificados por la unidad de decodificación por entropía 70. El proceso de cuantificación inversa puede incluir el uso de un parámetro de cuantificación QPy calculado por el decodificador de video 30 para cada bloque de video en el segmento de video para determinar un grado de cuantificación e, igualmente, un grado de cuantificación inversa que debería aplicarse.
La unidad de transformada inversa 78 aplica una transformación inversa, por ejemplo, una DCT inversa, una transformada inversa de número entero o un proceso de transformada inversa conceptualmente similar, a los coeficientes de transformada para producir bloques residuales en el dominio de píxeles.
Después de que la unidad de compensación de movimiento 72 genera el bloque predictivo para el bloque de video actual basado en los vectores de movimiento y otros elementos de sintaxis, el decodificador de video 30 forma un bloque de video decodificado sumando los bloques residuales de la unidad de transformada inversa 78 con los correspondientes bloques predictivos generados por la unidad de compensación de movimiento 72. El sumador 80 representa el componente o componentes que realizan esta operación de suma. Si se desea, también se puede aplicar un filtro de desbloqueo para filtrar los bloques decodificados con el fin de eliminar los artefactos de bloqueo. También se pueden utilizar otros filtros de bucle (ya sea en el bucle de codificación o después del bucle de codificación) para suavizar las transiciones de píxeles o mejorar de otro modo la calidad del video. Los bloques de video decodificados en una trama o imagen determinadas se almacenan luego en la memoria de trama de referencia 82, que almacena imágenes de referencia utilizadas para la compensación de movimiento subsiguiente. La memoria de trama de referencia 82 también almacena vídeo decodificado para una presentación posterior en un dispositivo de visualización, tal como el dispositivo de visualización 32 de la figura 1.
El decodificador de video 30 de la figura 3 representa un ejemplo de un decodificador de video configurado para realizar varios métodos descritos en esta divulgación. Los métodos descritos en esta divulgación se pueden realizar mediante un decodificador de video 30. Por ejemplo, la unidad de decodificación por entropía 70, que puede estar dentro del decodificador de video 30, puede realizar uno o más aspectos descritos en esta divulgación. Por ejemplo, usando los elementos de sintaxis descritos anteriormente, un decodificador de video 30 puede usar información de ISP o información de región de primer plano de GDR para identificar segmentos que transportan datos de video de región de primer plano de ROI o GDR, y decodificar selectivamente información de región de primer plano de ROI o GDR, ya sea como región de primer plano de ISP o GDR, como se describe en la presente. Como se describe en esta divulgación, en un ejemplo, el decodificador de video 30 puede configurarse para realizar un método de codificación de datos de video. El método puede incluir decodificar información que indica si las ISP están habilitadas. En otras palabras, la información puede indicar cuándo las ISP están presentes y es posible procesar solo las regiones cubiertas por las ISP. Cuando se habilitan subimágenes independientes, el método puede incluir codificar información que indica un ID de ISP para una de las ISP y decodificar los datos de vídeo correspondientes a una ROI como una de las ISP. Parte o toda la decodificación, por ejemplo, posiblemente de los elementos de sintaxis de ROI o GDR, puede ocurrir dentro de la unidad de decodificación por entropía 70. Sin embargo, por lo general la decodificación puede ocurrir en otra unidad de procesamiento del decodificador de video 30 tal como, por ejemplo, la unidad de intrapredicción 74 u otra unidad de procesamiento.
Decodificar información para indicar si las ISP están habilitadas puede incluir decodificar la información en uno de un conjunto de parámetros de secuencia, un conjunto de parámetros de vídeo o un conjunto de parámetros de imagen para indicar si las ISP están habilitadas. En algunos ejemplos, esta información puede indicar que las ISP están habilitadas para todas las imágenes en secuencia, todas las imágenes en una capa de una secuencia o imágenes individuales. Por ejemplo, en algunos casos, es posible que no se utilicen las ISP. En otros casos, las ISP se pueden utilizar en todas las imágenes de una secuencia, todas las imágenes en una capa de una secuencia o para imágenes individuales. Decodificar información para indicar el ID de ISP para cada una de una o más ISP puede comprender decodificar la información en un encabezado de segmento o un mensaje de SEI para indicar el ID de ISP para cada uno de una o más ISP. De esta forma, el ID de ISP de cada ISP se puede señalar, por ejemplo, en el encabezado del segmento o en un mensaje de SEI. Esta señalización también puede permitir la asociación de segmentos a ISP. Además, cuando una ISP particular correspondiente a una ROI es la única región deseada, los segmentos que no pertenecen a la ISP en cada imagen pueden descartarse, y los segmentos que pertenecen a la ISP pueden decodificarse y procesarse como datos de vídeo de la ROI.
Como se describe en esta divulgación, en otro ejemplo, el decodificador de video 30, por ejemplo, la unidad de decodificación por entropía 70 u otras partes del decodificador de video 30, pueden configurarse para realizar un método de decodificación de datos de video. El método puede incluir decodificar información que indica si la GDR de imágenes está habilitada, y cuando la GDR está habilitada, decodificar información que indica si los segmentos pertenecen a una región de primer plano o una región de fondo de una imagen. Una región de primer plano también puede denominarse región actualizada, y una región de fondo (una región que no es una región de primer plano) también puede denominarse región no actualizada. Cuando se accede aleatoriamente desde un punto de inicio de GDR, que es una unidad de acceso que no es RAP que contiene un mensaje de SEI de punto de recuperación, los segmentos en todas las imágenes desde el punto de inicio hasta el punto de recuperación (pero sin incluir el punto de recuperación) que no pertenecen a las regiones de primer plano pueden descartarse.
En algunos ejemplos, el decodificador de video 30 puede configurarse para realizar un método de decodificación de datos de video que incluye decodificar información que indica imágenes correspondientes al punto de inicio de GDR y un punto de recuperación de GDR. El método puede incluir la decodificación de datos de video correspondientes a los segmentos que pertenecen a las regiones de primer plano. Como ejemplo adicional, el método puede incluir decodificar datos de video correspondientes a los segmentos que pertenecen a las regiones de primer plano entre el punto de inicio de GDR y el punto de recuperación de GDR.
Decodificar información para indicar si la GDR está habilitada puede incluir decodificar la información en uno de un conjunto de parámetros de secuencia, un conjunto de parámetros de vídeo o un conjunto de parámetros de imagen para indicar si la GDR está habilitada. En algunos ejemplos, esta información puede indicar si la GDR está habilitada para todas las imágenes en una secuencia (también conocida como secuencia de video codificada), todas las imágenes en una capa de una secuencia o imágenes individuales en una secuencia. Decodificar información para indicar si un segmento pertenece a una región de primer plano de una imagen puede comprender decodificar la información en un encabezado de segmento, por ejemplo, un indicador que indica que el segmento en particular está en primer plano o en el fondo, o un mensaje de s Ei para indicar si un segmento asociado con el mensaje de SEI pertenece a la región de primer plano de la imagen. Los ejemplos que usan un mensaje de SEI para indicar si el segmento pertenece a la región de primer plano de la imagen pueden enviar un mensaje de SEI por segmento o un mensaje de SEI podría aplicarse a una serie de segmentos. En algunos ejemplos, se puede indicar un número predeterminado de segmentos. En otro ejemplo, un mensaje de SEI podría aplicarse a una serie de segmentos hasta que se reciba el siguiente mensaje de SEI. Por lo tanto, puede haber múltiples segmentos entre mensajes de SEI sucesivos.
Nuevamente, este método puede realizarse, en algunos ejemplos, mediante un decodificador de vídeo 30. En el caso de la decodificación, el método puede incluir además recibir la información que indica si los segmentos de las imágenes pertenecen a una región de primer plano de la imagen respectiva en un flujo de bits de video codificado, decodificar la información que indica si los segmentos de las imágenes pertenecen a una región de primer plano de la imagen respectiva y decodificar datos de vídeo usando la información. Además, el método puede incluir decodificar los segmentos que pertenecen a la región de primer plano, por ejemplo, como lo indica un mensaje de SEI o un indicador o elemento de sintaxis en un encabezado de segmento y descartar los segmentos que no pertenecen a la región de primer plano, y generar datos de video correspondientes a la región de primer plano en base a los segmentos decodificados que pertenecen a la región de primer plano. Como ejemplo adicional, el método implementado por el decodificador de video 30 puede incluir realizar un acceso aleatorio desde un punto de inicio de GDR, decodificar segmentos en imágenes desde el punto de inicio de GDR a un punto de recuperación de GDR que pertenecen a la región de primer plano, y descartar segmentos en imágenes desde el punto de inicio de GDR al punto de recuperación de GDR que no pertenece a la región de primer plano.
Como se describe en esta divulgación, en un ejemplo, los sistemas, aparatos y métodos de decodificación de datos de video pueden incluir decodificar información que indica si la GDR de imágenes está habilitada. Cuando la GDR está habilitada, estos sistemas, aparatos y métodos pueden decodificar información que indica si los segmentos pertenecen a una región de primer plano de una imagen. Dichos sistemas, aparatos y métodos pueden incluir además decodificar información que indica imágenes correspondientes al punto de inicio de GDR y un punto de recuperación de GDR.
En algunos ejemplos, el decodificador de video 30 puede decodificar datos de video correspondientes a los segmentos que pertenecen a las regiones de primer plano entre el punto de inicio de GDR y el punto de recuperación de GDR, como se indica en el mensaje de SEI del punto de recuperación. Decodificar información para indicar si la GDR está habilitada puede incluir decodificar la información que indica si los segmentos de las imágenes pertenecen a una región de primer plano de la imagen respectiva en uno de un conjunto de parámetros de secuencia, conjunto de parámetros de video o conjunto de parámetros de imagen para indicar si la GDR está habilitada en algunos ejemplos. Decodificar información para indicar si un segmento pertenece a una región de primer plano de una imagen puede incluir decodificar la información en un encabezado de segmento o un mensaje de SEI para indicar si el segmento pertenece a la región de primer plano de la imagen en algunos ejemplos. La información puede, por ejemplo, estar indicada por un mensaje de SEI o un indicador o elemento de sintaxis en un encabezado del segmento. La unidad de decodificación por entropía 70 puede realizar parte o la totalidad de la decodificación descrita con respecto a la figura 3.
En un decodificador 30 de video de ejemplo, por ejemplo, la unidad de decodificación por entropía 70 puede recibir información en un flujo de bits de video codificado. La unidad de decodificación por entropía 70 puede decodificar la información y decodificar datos de video usando la información. El decodificador de vídeo 30 puede decodificar además los segmentos que pertenecen a la región de primer plano y descartar los segmentos que no pertenecen a la región de primer plano. En algunos ejemplos, el decodificador de video 30 puede generar datos de video correspondientes a la región de primer plano en base a los segmentos decodificados que pertenecen a la región de primer plano. El decodificador de video 30 también puede realizar un acceso aleatorio desde un punto de inicio de GDR, decodificar segmentos en imágenes desde el punto de inicio de GDR a un punto de recuperación de GDR que pertenece a la región de primer plano y descartar segmentos en imágenes desde el punto de inicio de GDR al punto de recuperación de GDR que no pertenecen a la región de primer plano. En algunos ejemplos, este intervalo puede estar entre el punto de inicio y el punto de recuperación. En otros ejemplos, este intervalo puede estar entre el punto de inicio y el punto de recuperación e incluir uno, el otro o ambos. Por lo general, en una implementación, cuando se accede aleatoriamente desde un punto de inicio de GDR, que es una unidad de acceso que no es RAP que contiene un mensaje de SEI de punto de recuperación, los segmentos en todas las imágenes desde el punto de inicio hasta el punto de recuperación (pero sin incluir el punto de recuperación) que no pertenecen a las regiones de primer plano pueden descartarse.
La figura 4 es un diagrama de bloques de una serie de ejemplos de mensajes de SEI que utilizan las técnicas descritas en esta divulgación. Como se describe en la presente, se puede usar un mensaje de SEI o un elemento de sintaxis en un encabezado de segmento para indicar si un segmento está en primer plano o en el fondo para los propósitos del proceso de GDR o para indicar el ID de ISP del segmento para el procesamiento de la ROl. En el ejemplo ilustrado de la figura 4 un mensaje de SEI puede incluir un elemento de sintaxis que indica que todos los segmentos que siguen al mensaje de SEI son segmentos de primer plano para propósitos de GDR o que indican el ID de ISP de todos los segmentos que siguen al mensaje de SEI para propósitos de la ROI, hasta que se recibe un siguiente mensaje de SEI. Después de recibir el siguiente mensaje de SEI, el estado de fondo o de primer plano o el ID de ISP de los segmentos que siguen al siguiente mensaje de SEI pueden determinarse basándose en una indicación en el siguiente mensaje de SEI. Por ejemplo, en la figura 4, un primer mensaje de SEI (SEI 1) indica que los segmentos (Segmentos 1 y 2) que siguen al primer mensaje de SEI son segmentos que pertenecen a una región de fondo. En el ejemplo ilustrado de la figura 4, SEI 1 indica esto usando un indicador en el mensaje de SEI que es igual a "0". Se entenderá, sin embargo, que podría usarse un indicador igual a "1" para proporcionar dicha indicación.
Un segundo mensaje de SEI (SEI 2) indica que los segmentos (Segmentos 3 y 4) que siguen al segundo mensaje de SEI son segmentos que pertenecen a una región de primer plano. En el ejemplo ilustrado de la figura 4, SEI 2 indica esto usando un indicador que es igual a "1". Una vez más, se entenderá, sin embargo, que podría usarse un indicador igual a "0" para proporcionar dicha indicación.
Un tercer mensaje de SEI (SEI 3) indica que los segmentos (segmentos 5 y 6) que siguen al tercer mensaje de SEI son segmentos que pertenecen a una región de fondo. En el ejemplo ilustrado de la figura 4, SEI 3 indica esto usando un indicador que es igual a "0". Una vez más, se entenderá, sin embargo, que podría usarse un indicador igual a "1" para proporcionar dicha indicación. Por lo tanto, los segmentos que siguen a SEI 1 son de fondo hasta que se recibe otro mensaje de SEI (SEI 2), lo que indica que los segmentos que siguen a SEI 2 son segmentos de primer plano. SEI 3 indica que los segmentos que siguen al SEI 3 son segmentos de fondo. Por consiguiente, los segmentos entre SEI 2 y SEI 3 son segmentos de primer plano. Aunque se muestran dos segmentos entre cada mensaje de SEI, se podría proporcionar cualquier número de segmentos entre los mensajes de SEI. Los segmentos que siguen a un mensaje de SEI en particular tendrán el estado de primer plano o de fondo indicado por el mensaje de SEI. El estado de primer plano o de fondo seguirá siendo el mismo para los segmentos que siguen al mensaje de SEI hasta que se reciba el siguiente mensaje de SEI, en cuyo punto los segmentos que siguen al siguiente mensaje de SEI tendrán el estado de primer plano o de fondo, según lo especificado por el siguiente mensaje de SEI.
Por consiguiente, para resumir, en el ejemplo ilustrado de la figura 4, un indicador en el encabezado del segmento o mensaje de SEI de primer plano pueden indicar que todos los segmentos que siguen al indicador o al mensaje de SEI son segmentos de fondo si el mensaje de SEI indica que los segmentos son de fondo, por ejemplo, el indicador es igual a "0", o segmentos de primer plano si el mensaje de SEI indica que los segmentos están en primer plano, por ejemplo, el indicador es igual a "1". Como se ilustra en la figura 4, el indicador en el mensaje de SEI puede usarse como indicador de primer plano o de fondo hasta el siguiente mensaje de SEI que incluya tal indicación. En el ejemplo ilustrado de la figura 4, un indicador que es igual a "0" indica el fondo y un indicador que es igual a "1" indica el primer plano. No obstante, se entenderá que también se puede usar lo contrario. En otras palabras, un indicador que es igual a "1" puede usarse para indicar el fondo y un indicador que es igual a "0" puede indicar el primer plano.
Las imágenes 5 y 6 son diagramas de flujo que ilustran métodos de ejemplo que implementan uno o más aspectos de esta divulgación. Como se describe en la presente, algunas implementaciones de ejemplo pueden señalar información relacionada con GDR. Otras implementaciones de ejemplo pueden señalar información relacionada con ROI. La figura 5 se refiere a los aspectos de GDR de esta divulgación, mientras que la figura 6 se relaciona con los aspectos de la ROI de esta divulgación. Además, como se describe en la presente, algunas implementaciones de ejemplo pueden señalar información relacionada tanto con GDR como con ROI.
La figura 5 es un diagrama de flujo que ilustra un método de ejemplo relacionado con GDR y que implementa uno o más aspectos de esta divulgación. En varios ejemplos según los sistemas y métodos descritos en la presente, un codificador de video 20 o un decodificador de video 30 pueden codificar información que indica si la GDR de imágenes está habilitada (500). Por ejemplo, la unidad de codificación por entropía 56 en el codificador de video 20 puede codificar información que indica si la GDR de imágenes está habilitada o la unidad de decodificación por entropía 70 del decodificador de video 30 puede decodificar información que indica si la GDR de imágenes está habilitada. Por lo tanto, la codificación puede referirse a la codificación o decodificación. En algunos ejemplos, cuando la GDR está habilitada, un codificador de video 20 o un decodificador de video 30 pueden codificar información que indica si los segmentos pertenecen a una región de primer plano de una imagen (502). En algunos ejemplos, si la GDR está habilitada, entonces, por ejemplo, el decodificador de video 30 buscará la información de primer plano (por ejemplo, en un encabezado de segmento o en un mensaje de SEI. La unidad de codificación por entropía 56 en el codificador de video 20 puede, en un ejemplo, codificar información que indica si los segmentos pertenecen a una región de primer plano de una imagen o la unidad de decodificación por entropía 70 del decodificador de video 30 puede codificar información que indica si los segmentos pertenecen a una región de primer plano de una imagen. Algunos ejemplos pueden codificar dicha información como parte de un encabezado de segmento, por ejemplo, como un indicador u otro elemento de sintaxis, en un mensaje de SEI. En algunos ejemplos, un procesador o procesadores en un aparato que implementa el método pueden configurarse para realizar uno o más de esos pasos.
En algunos ejemplos, el codificador de vídeo 20 o el decodificador de vídeo 30 pueden codificar información que indica imágenes correspondientes al punto de inicio de GDR y un punto de recuperación de GDR (504). Además, en algunos ejemplos, el codificador de vídeo 20 o el decodificador de vídeo 30 pueden codificar datos de vídeo correspondientes a los segmentos que pertenecen a las regiones de primer plano entre el punto de inicio de GDR y el punto de recuperación de GDR.
En algunos ejemplos, el codificador de vídeo 20 o el decodificador de vídeo 30 pueden codificar información para indicar si la GDR está habilitada codificando la información en uno de un conjunto de parámetros de secuencia, conjunto de parámetros de vídeo o conjunto de parámetros de imagen para indicar si la g Dr está habilitada.
En algunos ejemplos, un codificador de video puede configurarse además para codificar información que indica si un segmento pertenece a una región de primer plano de una imagen codificando la información en un encabezado de segmento o un mensaje de SEI para indicar si el segmento pertenece a la región de primer plano de la imagen. La información puede, por ejemplo, estar indicada por un mensaje de SEI o un indicador o elemento de sintaxis en un encabezado del segmento. Los ejemplos que usan un mensaje de SEI para indicar si el segmento pertenece a la región de primer plano de la imagen pueden enviar un mensaje de SEI por segmento o un mensaje de SEI podría aplicarse a una serie de segmentos. En algunos ejemplos, el mensaje de SEI puede indicar un número predeterminado de segmentos. En otro ejemplo, un mensaje de SEI podría aplicarse a una serie de segmentos hasta que se reciba el siguiente mensaje de SEI. Por ejemplo, un indicador de primer plano en el mensaje de SEI puede indicar un estado para uno o más segmentos siguientes recibidos antes de un siguiente mensaje de SEI. Un indicador en un encabezado del segmento puede tener una funcionalidad similar. El indicador puede enviarse una vez para cada segmento o el indicador podría aplicarse a una serie de segmentos o un número conocido de segmentos. En algunos ejemplos, el uso de un indicador en un mensaje de SEI o un indicador en un encabezado de segmento, se puede indicar explícitamente el primer plano o el fondo. El codificador de video puede ser un codificador de video 20 o un decodificador de video 30.
Según algunos ejemplos descritos en la presente, los sistemas, métodos y aparatos pueden recibir la información en un flujo de bits de video codificado, decodificar la información y decodificar datos de video usando la información. Estos ejemplos también pueden decodificar segmentos que pertenecen a la región de primer plano y descartar segmentos que no pertenecen a la región de primer plano.
En otro ejemplo, los sistemas, métodos y aparatos pueden configurarse además para generar datos de video correspondientes a una región de primer plano en base a los segmentos decodificados que pertenecen a la región de primer plano. En otro ejemplo, los sistemas, métodos y aparatos pueden configurarse para realizar un acceso aleatorio desde un punto de inicio de GDR, decodificar segmentos en imágenes desde el punto de inicio de GDR a un punto de recuperación de GDR que pertenecen a la región de primer plano, y descartar segmentos en imágenes desde el punto de inicio de GDR al punto de recuperación de GDR que no pertenece a la región de primer plano.
La figura 6 es un diagrama de flujo que ilustra un método de ejemplo relacionado con ROI y que implementa uno o más aspectos de esta divulgación. En el ejemplo ilustrado, un aparato para codificar datos de video, como un codificador de video 20 o un decodificador de video 30, puede incluir un procesador o procesadores configurados para codificar información que indica si el uso de una o más ISP está habilitado (600) para segmentos particulares. Además, cuando se habilitan subimágenes independientes, el aparato codifica información que indica un ID de ISP para una de las ISP (602). El procesador o procesadores también pueden configurarse para codificar datos de video correspondientes a una ROI como una de las ISP (604). En un ejemplo, un mensaje de SEI o un encabezado de segmento indica un ID de ISP para un segmento o múltiples segmentos consecutivos en el caso de un mensaje de SEI. El decodificador de video 30 usa ese ID de ISP para identificar los segmentos que corresponden a la ROI y los decodifica. Algunos ejemplos pueden usar un ID de ISP para indicar segmentos que están en la ISP de la ROI. Los mensajes de SEI también pueden asociar el ID de ISP con segmentos.
Según esta divulgación, los sistemas, métodos o aparatos para la codificación de datos de video pueden codificar información para indicar si las ISP están habilitadas comprenden codificar la información en uno de un conjunto de parámetros de secuencia, un conjunto de parámetros de video o un conjunto de parámetros de imagen para indicar si las ISP están habilitadas. Los sistemas, métodos o aparatos para codificar datos de vídeo también pueden codificar información que indique el ID de ISP para cada una de una o más ISP comprenden codificar la información en un encabezado de segmento o un mensaje de SEI para indicar el ID de ISP para cada una de una o más ISP. La información puede, por ejemplo, estar indicada por un mensaje de SEI o un indicador o elemento de sintaxis en un encabezado del segmento. En algunos ejemplos, se puede proporcionar un ID de ISP en un mensaje de SEI o en un encabezado de segmento. En consecuencia, algunos sistemas de ejemplo pueden determinar una ROI basada en el ID del ISP. Por ejemplo, algunos sistemas pueden determinar si uno o más de los segmentos es un segmento de ROI o sin ROI según el ID del ISP.
Estos sistemas, métodos o aparatos para codificar datos de video pueden asociar uno o más segmentos de datos de video con las ISP. Según esta divulgación, los sistemas, métodos o aparatos para codificar datos de video pueden codificar características de la ISP que incluyen varias ISP, posiciones de las ISP y tamaños de las ISP en una secuencia de video codificada. Estos sistemas, métodos o aparatos pueden codificar las características de la ISP en un mensaje de SEI, un conjunto de parámetros de secuencia, un conjunto de parámetros de vídeo o un conjunto de parámetros de imagen.
En algunos ejemplos, el decodificador de video 30 puede usar los ID de ISP para decodificar la ROI. Por ejemplo, un mensaje de SEI puede indicar un ID de ISP. Los segmentos que siguen al mensaje de SEI pueden estar asociados con la misma ISP hasta el siguiente mensaje de SEI. Esto puede ser similar a la metodología utilizada con respecto a GDR analizada con respecto a la figura 4. En algunos ejemplos, se puede utilizar un ID de ISP para todos los segmentos de la ROI. También se pueden utilizar segmentos con un valor especial de ID de ISP (valor no válido, por ejemplo). Por ejemplo, también se puede usar un valor nulo para indicar segmentos que no están en la ROI. Debe reconocerse que, dependiendo del ejemplo, ciertos actos o eventos de cualquiera de las técnicas descritas en la presente pueden realizarse en una secuencia diferente, pueden agregarse, fusionarse u omitirse por completo (por ejemplo, no todos los actos o eventos descritos son necesarios para la poner en práctica las técnicas). Además, en ciertos ejemplos, los actos o eventos se pueden realizar al mismo tiempo, por ejemplo, mediante el procesamiento de múltiples subprocesos, procesamiento de interrupción o múltiples procesadores, en lugar de secuencialmente.
En uno o más ejemplos, las funciones descritas pueden implementarse en hardware, software, firmware o cualquier combinación de los mismos. Si se implementan en software, las funciones pueden almacenarse o transmitirse, como una o más instrucciones o código en un medio legible por ordenador y ejecutarse mediante una unidad de procesamiento basada en hardware. Los medios legibles por ordenador pueden incluir medios de almacenamiento legibles por ordenador, que corresponden a un medio tangible, como medios de almacenamiento de datos, o medios de comunicación, incluido cualquier medio que facilite la transferencia de un programa informático de un lugar a otro, por ejemplo, según un protocolo de comunicación. De esta manera, los medios legibles por ordenador generalmente pueden corresponder a (1) medios de almacenamiento legibles por ordenador tangibles que no son transitorios o (2) un medio de comunicación tal como una señal u onda portadora. Los medios de almacenamiento de datos pueden ser cualquier medio disponible al que se pueda acceder mediante uno o más ordenadores o uno o más procesadores para recuperar instrucciones, código y/o estructuras de datos para la implementación de las técnicas descritas en esta divulgación. Un producto de programa informático puede incluir un medio legible por ordenador.
A modo de ejemplo, y no restrictivo, dichos medios de almacenamiento legibles por ordenador pueden comprender RAM, ROM, EEPROM, CD-ROM u otro almacenamiento en disco óptico, almacenamiento en disco magnético u otros dispositivos de almacenamiento magnético, memoria flash o cualquier otro medio que se puede utilizar para almacenar el código de programa deseado en forma de instrucciones o estructuras de datos y al que se puede acceder mediante un ordenador. Además, cualquier conexión se denomina correctamente un medio legible por ordenador. Por ejemplo, si las instrucciones se transmiten desde un sitio web, servidor u otra fuente remota utilizando un cable coaxial, cable de fibra óptica, par trenzado, línea de suscriptor digital (DSL) o tecnologías inalámbricas como infrarrojos, radio y microondas, entonces el cable coaxial, cable de fibra óptica, par trenzado, DSL o tecnologías inalámbricas como infrarrojos, radio y microondas se incluyen en la definición de medio. Sin embargo, debe entenderse que los medios de almacenamiento legibles por ordenador y los medios de almacenamiento de datos no incluyen conexiones, ondas portadoras, señales u otros medios transitorios, sino que están dirigidos a medios de almacenamiento tangibles no transitorios. El disco, como se usa en la presente, incluye disco compacto (CD), disco láser, disco óptico, disco versátil digital (DVD), disquete y disco Blu-ray, donde los discos generalmente reproducen datos magnéticamente, mientras que los discos reproducen datos ópticamente con láser. Las combinaciones de los anteriores también deben incluirse dentro del alcance de los medios legibles por ordenador.
Las instrucciones pueden ser ejecutadas por uno o más procesadores, como uno o más procesadores de señales digitales (DSP), microprocesadores de propósito general, circuitos integrados específicos de la aplicación (ASIC), matrices lógicas programables en campo (FPGA) u otro circuito lógico integrado o discreto equivalente. Por consiguiente, el término "procesador", como se usa en la presente, puede referirse a cualquiera de las estructuras anteriores o cualquier otra estructura adecuada para la implementación de las técnicas descritas en la presente. Además, en algunos aspectos, la funcionalidad descrita en la presente puede proporcionarse dentro de módulos de hardware y/o software dedicados configurados para codificar y decodificar, o incorporarse en un códec combinado. Además, las técnicas podrían implementarse completamente en uno o más circuitos o elementos lógicos.
Las técnicas de esta divulgación pueden implementarse en una amplia variedad de dispositivos o aparatos, incluido un microteléfono, un circuito integrado (IC) o un conjunto de IC (por ejemplo, un conjunto de chips). En esta divulgación se describen varios componentes, módulos o unidades para enfatizar los aspectos funcionales de los dispositivos configurados para realizar las técnicas divulgadas, pero no necesariamente requieren la realización por diferentes unidades de hardware. Más bien, como se describió anteriormente, varias unidades pueden combinarse en una unidad de hardware de códec o proporcionarse mediante una colección de unidades de hardware interoperativas, que incluyen uno o más procesadores como se describió anteriormente, junto con software y/o firmware adecuados.

Claims (15)

REIVINDICACIONES
1. Un método de decodificación de datos de video, el método comprende:
decodificar información que indica si la actualización de decodificación gradual, GDR, de una imagen está habilitada; y
cuando la GDR está habilitada, decodificar información en un mensaje de información de mejora complementaria, SEI, que indica para un segmento respectivo de la imagen y para uno o más segmentos siguientes recibidos antes de un siguiente mensaje de SEI si dichos segmentos pertenecen a una región de primer plano de GDR de la imagen, en donde la región de primer plano de GDR contiene solo bloques intracodificados, y en donde la región de primer plano de GDR se puede decodificar de forma independiente a partir de segmentos codificados que pertenecen a imágenes codificadas que preceden, en orden de decodificación, un conjunto de imágenes de una imagen asociada con el mensaje de SEI a una imagen de punto de recuperación incluida, y se puede decodificar de forma independiente de segmentos codificados que no son regiones de primer plano de GDR en el conjunto de imágenes.
2. El método de la reivindicación 1, que comprende además generar datos de video correspondientes a la región de primer plano de GDR de la imagen en base a uno o más segmentos respectivos de la imagen que se indican como la región de primer plano de GDR de la imagen.
3. El método de la reivindicación 1, en donde decodificar información que indica si la GDR está habilitada comprende decodificar la información para indicar si la GDR está habilitada en uno de un conjunto de parámetros de secuencia, un conjunto de parámetros de vídeo, un conjunto de parámetros de imagen o un mensaje de SEI.
4. El método de la reivindicación 3, que comprende además realizar un acceso aleatorio desde el punto de inicio de la GDR.
5. El método de la reivindicación 1, en donde la información que indica si el segmento respectivo de la imagen es la región de primer plano de GDR comprende un indicador en el mensaje de SEI, y en donde la información que indica si el segmento respectivo de la imagen es la región de primer plano de GDR comprende un indicador en el mensaje de SEI.
6. Un método de codificación de datos de video, el método comprende:
codificar información que indica si la GDR de una imagen está habilitada; y
cuando la GDR está habilitada, codificar información en un mensaje de información de mejora complementaria, SEI, que indica para un segmento respectivo de la imagen y para uno o más segmentos siguientes recibidos antes de un siguiente mensaje de SEI si dichos segmentos pertenecen a una región de primer plano de GDR de la imagen, en donde la región de primer plano de GDR contiene solo bloques intracodificados, y en donde la región de primer plano de GDR se puede decodificar de forma independiente a partir de segmentos codificados que pertenecen a imágenes codificadas que preceden, en orden de decodificación, un conjunto de imágenes de una imagen asociada con el mensaje de SEI a una imagen de punto de recuperación incluida, y se puede decodificar de forma independiente de segmentos codificados que no son regiones de primer plano de GDR en el conjunto de imágenes.
7. El método de la reivindicación 1 o la reivindicación 6, en donde la información que indica si el segmento respectivo de la imagen es la región de primer plano de GDR comprende un indicador en el mensaje de SEI.
8. El método de la reivindicación 1 o la reivindicación 6, en donde la imagen comprende una de una pluralidad de imágenes del mismo conjunto de imágenes, la región de primer plano de GDR comprende una de una pluralidad de regiones de primer plano, cada una de la pluralidad de imágenes tiene una región de primer plano y cada una de estas regiones de primer plano tiene uno o más segmentos, el método comprende además codificar información que indica que la pluralidad de imágenes están entre un punto de inicio de GDR y un punto de recuperación de GDR.
9. El método de la reivindicación 8, que comprende además codificar datos de vídeo correspondientes a los segmentos respectivos indicados como regiones de primer plano en la pluralidad de imágenes.
10. El método de la reivindicación 9, que comprende además descartar datos de vídeo correspondientes a segmentos no indicados como regiones de primer plano en la pluralidad de imágenes.
11. El método de la reivindicación 6, en donde codificar información que indica si la GDR está habilitada comprende codificar la información para indicar si la GDR está habilitada en uno de un conjunto de parámetros de secuencia, un conjunto de parámetros de vídeo, un conjunto de parámetros de imagen o un mensaje de SEI.
12. Un aparato para codificar datos de video que comprende:
medios para codificar información que indican si la GDR de una imagen está habilitada; y
medios para codificar información en un mensaje de información de mejora complementaria, SEI, que indica para un segmento respectivo de la imagen y para uno o más segmentos siguientes recibidos antes de un siguiente mensaje de SEI si dichos segmentos pertenecen a una región de primer plano de GDR de la imagen cuando la GDR está habilitada, en donde la región de primer plano de GDR contiene solo bloques intracodificados, y en donde la región de primer plano de GDR se puede decodificar de forma independiente a partir de segmentos codificados que pertenecen a imágenes codificadas que preceden, en orden de decodificación, un conjunto de imágenes de una imagen asociada con el mensaje de SEI a una imagen de punto de recuperación incluida, y se puede decodificar de forma independiente de segmentos codificados que no son regiones de primer plano de GDR en el conjunto de imágenes.
13. El aparato de la reivindicación 12, en donde la información que indica si el segmento respectivo de la imagen es la región de primer plano de GDR comprende un indicador en el mensaje de SEI.
14. El aparato de la reivindicación 12, en donde la imagen comprende una de una pluralidad de imágenes del mismo conjunto de imágenes, la región de primer plano de GDR comprende una de una pluralidad de regiones de primer plano, cada una de la pluralidad de imágenes tiene una región de primer plano y cada una de estas regiones de primer plano tiene uno o más segmentos, y que además comprende medios para codificar información que indica que la pluralidad de imágenes están entre el punto de inicio de GDR y un punto de recuperación de GDR, en donde el aparato comprende preferiblemente además medios para codificar datos de video correspondientes a los respectivos segmentos indicados como la región de primer plano en la pluralidad de imágenes, y preferiblemente comprende además medios para descartar datos de video correspondientes a los segmentos no indicados como regiones de primer plano en las imágenes entre el punto de inicio de GDR y el punto de recuperación de GDR.
15. Un medio de almacenamiento legible por ordenador que tiene almacenadas en él instrucciones que, cuando se ejecutan, hacen que uno o más procesadores de un dispositivo realicen el método según cualquiera de las reivindicaciones 1 a 11.
ES13759098T 2012-09-28 2013-08-27 Señalización de regiones de interés y actualización de decodificación gradual en la codificación de video Active ES2884723T3 (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201261707729P 2012-09-28 2012-09-28
US14/010,054 US9491457B2 (en) 2012-09-28 2013-08-26 Signaling of regions of interest and gradual decoding refresh in video coding
PCT/US2013/056859 WO2014051915A1 (en) 2012-09-28 2013-08-27 Signaling of regions of interest and gradual decoding refresh in video coding

Publications (1)

Publication Number Publication Date
ES2884723T3 true ES2884723T3 (es) 2021-12-10

Family

ID=50385163

Family Applications (1)

Application Number Title Priority Date Filing Date
ES13759098T Active ES2884723T3 (es) 2012-09-28 2013-08-27 Señalización de regiones de interés y actualización de decodificación gradual en la codificación de video

Country Status (9)

Country Link
US (1) US9491457B2 (es)
EP (1) EP2901677B1 (es)
JP (2) JP2015534775A (es)
KR (1) KR101743852B1 (es)
CN (1) CN104823449B (es)
DK (1) DK2901677T3 (es)
ES (1) ES2884723T3 (es)
HU (1) HUE055955T2 (es)
WO (1) WO2014051915A1 (es)

Families Citing this family (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4221217A1 (en) 2012-09-26 2023-08-02 Sun Patent Trust Image decoding method and image decoding apparatus
PL2901688T3 (pl) * 2012-09-28 2020-05-18 Nokia Technologies Oy Aparat i sposób do kodowania i dekodowania wideo
US10178398B2 (en) * 2013-10-11 2019-01-08 Telefonaktiebolaget Lm Ericsson (Publ) Method and arrangement for video transcoding using mode or motion or in-loop filter information
US10567765B2 (en) * 2014-01-15 2020-02-18 Avigilon Corporation Streaming multiple encodings with virtual stream identifiers
US9787986B2 (en) * 2014-06-30 2017-10-10 Intel Corporation Techniques for parallel video transcoding
CN104469395B (zh) * 2014-12-12 2017-11-07 华为技术有限公司 图像传输方法和装置
US10574988B2 (en) * 2015-11-19 2020-02-25 Qualcomm Incorporated System and methods for reducing slice boundary visual artifacts in display stream compression (DSC)
KR20170091323A (ko) * 2016-02-01 2017-08-09 삼성전자주식회사 영상표시장치, 영상표시장치의 구동방법 및 컴퓨터 판독가능 기록매체
US10582201B2 (en) 2016-05-19 2020-03-03 Qualcomm Incorporated Most-interested region in an image
CN109691103B (zh) 2016-07-14 2023-02-28 皇家Kpn公司 视频编码
CN109997310B (zh) * 2016-10-14 2022-12-09 奥罗技术公司 通过用修改后的有效载荷校验和加扰有效载荷来避免错误同步的记录和回放设备
US11290755B2 (en) 2017-01-10 2022-03-29 Qualcomm Incorporated Signaling data for prefetching support for streaming media data
CN107734331A (zh) * 2017-11-17 2018-02-23 南京理工大学 一种基于hevc标准的视频转码方法
CN108600863A (zh) * 2018-03-28 2018-09-28 腾讯科技(深圳)有限公司 多媒体文件处理方法和装置、存储介质及电子装置
US10567781B2 (en) * 2018-05-01 2020-02-18 Agora Lab, Inc. Progressive I-slice reference for packet loss resilient video coding
US11431972B2 (en) * 2018-05-15 2022-08-30 Sharp Kabushiki Kaisha Image encoding device, encoded stream extraction device, and image decoding device
WO2020032049A1 (ja) * 2018-08-06 2020-02-13 シャープ株式会社 動画像復号装置、および動画像符号化装置
JPWO2020045248A1 (ja) * 2018-08-29 2021-08-12 シャープ株式会社 動画像復号装置および動画像符号化装置
GB201817784D0 (en) * 2018-10-31 2018-12-19 V Nova Int Ltd Methods,apparatuses, computer programs and computer-readable media
CN109618186B (zh) * 2018-11-15 2021-01-01 中国航空工业集团公司洛阳电光设备研究所 一种采用fpga实现的h264/avc视频辅助增强信息封装电路
US10972755B2 (en) * 2018-12-03 2021-04-06 Mediatek Singapore Pte. Ltd. Method and system of NAL unit header structure for signaling new elements
SG11202106524PA (en) 2018-12-20 2021-07-29 Ericsson Telefon Ab L M Normative indication of recovery point
WO2020146616A1 (en) * 2019-01-09 2020-07-16 Futurewei Technologies, Inc. Sub-picture sizing in video coding
CN113545045A (zh) * 2019-02-01 2021-10-22 弗劳恩霍夫应用研究促进协会 允许按照子画面或区域随机接入的视频编解码器以及使用该视频编解码器的视频合成概念
KR20220021036A (ko) * 2019-02-05 2022-02-21 베이징 다지아 인터넷 인포메이션 테크놀로지 컴퍼니 리미티드 인트라 서브-파티션 코딩 모드를 이용한 비디오 코딩
CN111263156B (zh) * 2019-02-20 2022-03-25 北京达佳互联信息技术有限公司 视频解码方法、视频编码方法及装置
KR20210134390A (ko) * 2019-03-11 2021-11-09 후아웨이 테크놀러지 컴퍼니 리미티드 인코더, 디코더 및 대응 방법
JP7485689B2 (ja) * 2019-03-11 2024-05-16 華為技術有限公司 エンコーダ、デコーダ及び対応する方法
KR20200110213A (ko) * 2019-03-12 2020-09-23 현대자동차주식회사 영상 부호화 및 복호화 방법 및 장치
EP3941048A4 (en) 2019-03-13 2022-12-28 LG Electronics Inc. IMAGE CODING/DECODING METHOD AND DEVICE, AND METHOD FOR TRANSMITTING A BITSTREAM
US11368698B2 (en) * 2019-04-16 2022-06-21 Tencent America LLC Method and apparatus for video coding using planar intra prediction mode for intra sub-partition coding mode
PL3910952T3 (pl) 2019-04-23 2023-10-30 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Sposób dekodowania obrazu, dekoder i nośnik danych
US11581022B2 (en) * 2019-05-29 2023-02-14 Nokia Technologies Oy Method and apparatus for storage and signaling of compressed point clouds
EP3997868A4 (en) 2019-08-10 2023-02-22 Beijing Bytedance Network Technology Co., Ltd. BUFFER MANAGEMENT DURING SUBPICTURE DECODING
WO2021039578A1 (ja) * 2019-08-29 2021-03-04 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法、および復号方法
WO2021045147A1 (ja) * 2019-09-06 2021-03-11 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法、および復号方法
JP7304419B2 (ja) * 2019-09-06 2023-07-06 株式会社ソニー・インタラクティブエンタテインメント 送信装置、送信方法及びプログラム
MX2022003452A (es) 2019-09-23 2022-05-18 Huawei Tech Co Ltd Indicación de un segmento por subimagen en codificación de video basada en subimágenes.
EP4018665A4 (en) * 2019-09-24 2022-11-09 Huawei Technologies Co., Ltd. SUPPORT FOR MIXED IRAP AND NON-IRAP IMAGES WITHIN AN ACCESS UNIT IN MULTI-LAYER VIDEO BITSTREAMS
MX2022003553A (es) * 2019-09-24 2022-06-02 Huawei Tech Co Ltd Señalización de encabezado de imagen en codificación de video.
US11936880B2 (en) * 2019-09-27 2024-03-19 Tencent America LLC Method for signaling output subpicture layer set
CN114556952A (zh) 2019-10-02 2022-05-27 北京字节跳动网络技术有限公司 包括子图片的视频比特流中的条带级信令通知
EP4032290A4 (en) 2019-10-18 2022-11-30 Beijing Bytedance Network Technology Co., Ltd. SYNTAX CONSTRAINTS IN REPORTING SUBPICTURE PARAMETER SETS
KR20220114555A (ko) * 2019-12-25 2022-08-17 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 비디오 비트스트림에서 서브픽처 레벨의 파라미터들의 시그널링
US11758171B2 (en) 2019-12-27 2023-09-12 Alibaba Group Holding Limited Methods and systems for performing gradual decoding refresh processing on pictures
US11228777B2 (en) 2019-12-30 2022-01-18 Tencent America LLC Method for layerwise random access in a coded video stream
US11330305B2 (en) * 2020-02-24 2022-05-10 Qualcomm Incorporated Signaling constraints and sequence parameter set sharing in video coding
WO2021177794A1 (ko) * 2020-03-05 2021-09-10 엘지전자 주식회사 혼성 nal 유닛 타입에 기반하는 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법
WO2021188810A1 (en) 2020-03-20 2021-09-23 Bytedance Inc. Constraints on reference picture lists for subpictures
WO2021201559A1 (ko) * 2020-04-01 2021-10-07 엘지전자 주식회사 Gdr에 대한 리커버리 포인트 관련 정보의 시그널링 기반 영상 또는 비디오 코딩
WO2021211576A1 (en) * 2020-04-13 2021-10-21 Op Solutions, Llc Methods and systems for combined lossless and lossy coding
CN115462070A (zh) 2020-04-20 2022-12-09 字节跳动有限公司 对参考图片列表的约束

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI114679B (fi) * 2002-04-29 2004-11-30 Nokia Corp Satunnaisaloituspisteet videokoodauksessa
CN101232615A (zh) 2002-07-16 2008-07-30 诺基亚有限公司 用于在视频编码中随机存取和逐步更新图像的方法
US20040260827A1 (en) * 2003-06-19 2004-12-23 Nokia Corporation Stream switching based on gradual decoder refresh
US20080095228A1 (en) 2006-10-20 2008-04-24 Nokia Corporation System and method for providing picture output indications in video coding
JP4935746B2 (ja) * 2008-04-07 2012-05-23 富士通株式会社 動画像符号化装置、動画像復号化装置及びその符号化、復号化方法
US20100189182A1 (en) * 2009-01-28 2010-07-29 Nokia Corporation Method and apparatus for video coding and decoding
TW201210325A (en) * 2010-07-21 2012-03-01 Nokia Corp Method and apparatus for indicating switching points in a streaming session
US8723914B2 (en) 2010-11-19 2014-05-13 Cisco Technology, Inc. System and method for providing enhanced video processing in a network environment
WO2013030458A1 (en) * 2011-08-31 2013-03-07 Nokia Corporation Multiview video coding and decoding
SG11201404251QA (en) * 2012-01-20 2014-08-28 Fraunhofer Ges Forschung Coding concept allowing parallel processing, transport demultiplexer and video bitstream
CN108933943B (zh) * 2012-07-02 2020-12-25 太阳专利托管公司 图像编码方法及图像编码装置

Also Published As

Publication number Publication date
HUE055955T2 (hu) 2022-01-28
US20140092963A1 (en) 2014-04-03
EP2901677B1 (en) 2021-07-28
KR20150065762A (ko) 2015-06-15
CN104823449A (zh) 2015-08-05
DK2901677T3 (da) 2021-08-30
JP6495390B2 (ja) 2019-04-03
JP2015534775A (ja) 2015-12-03
KR101743852B1 (ko) 2017-06-05
JP2017225159A (ja) 2017-12-21
EP2901677A1 (en) 2015-08-05
US9491457B2 (en) 2016-11-08
CN104823449B (zh) 2018-04-20
WO2014051915A1 (en) 2014-04-03

Similar Documents

Publication Publication Date Title
ES2884723T3 (es) Señalización de regiones de interés y actualización de decodificación gradual en la codificación de video
ES2895270T3 (es) Codificación de mensajes SEI de MCTS-EIS de una unidad de acceso
EP2901678B1 (en) Error resilient decoding unit association
ES2901503T3 (es) Decodificación de datos de vídeo usando una estructura de árbol de múltiples tipos de dos niveles
ES2701786T3 (es) Procesamiento de memoria intermedia de imágenes descodificadas para imágenes de punto de acceso aleatorio en secuencias de vídeo
ES2913456T3 (es) Tiempos de llegada y de extracción nominal en memoria intermedia de imágenes codificadas en la codificación de vídeo
ES2897708T3 (es) Modelado de contexto eficiente en memoria
ES2833149T3 (es) Refresco gradual de descodificación con soporte de adaptabilidad temporal a escala en la codificación de vídeo
ES2899642T3 (es) Procesamiento en paralelo de mosaicos y de frente de onda
ES2608765T3 (es) Codificación de las unidades de la NAL de SEI para la codificación de vídeo
ES2707892T3 (es) Operaciones de almacenamiento en memoria intermedia de vídeo para acceso aleatorio en la codificación de vídeo
ES2647948T3 (es) Reutilización de conjuntos de parámetros para la codificación de vídeo
ES2736312T3 (es) Señalización de imágenes de referencia a largo plazo para codificación de vídeo
ES2899664T3 (es) Construcción de listas de imágenes de referencia para codificación de vídeo multivistas o 3DV
ES2684546T3 (es) Codificación de vídeo con comportamientos de imagen de punto de acceso aleatorio mejorados
ES2856099T3 (es) Señalización mejorada de identificadores de capa para puntos de operación de un codificador de vídeo
AU2013280848A1 (en) Random access and signaling of long-term reference pictures in video coding