ES2909066T3 - Identificadores de codificación para conjuntos de mosaicos con movimiento restringido - Google Patents

Identificadores de codificación para conjuntos de mosaicos con movimiento restringido Download PDF

Info

Publication number
ES2909066T3
ES2909066T3 ES18710749T ES18710749T ES2909066T3 ES 2909066 T3 ES2909066 T3 ES 2909066T3 ES 18710749 T ES18710749 T ES 18710749T ES 18710749 T ES18710749 T ES 18710749T ES 2909066 T3 ES2909066 T3 ES 2909066T3
Authority
ES
Spain
Prior art keywords
mcts
value
tile
video
sei message
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
ES18710749T
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 ES2909066T3 publication Critical patent/ES2909066T3/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/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/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • 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/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/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • 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/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/176Methods 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 block, e.g. a macroblock
    • 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/184Methods 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 bits, e.g. of the compressed video stream
    • 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/188Methods 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 a video data packet, e.g. a network abstraction layer [NAL] unit
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • 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
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/55Motion estimation with spatial constraints, e.g. at image or region borders
    • 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
    • H04N19/587Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal sub-sampling or interpolation, e.g. decimation or subsequent interpolation of pictures in a video sequence
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/31Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the temporal domain

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Display Devices Of Pinball Game Machines (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Un método de procesar datos de vídeo, comprendiendo en método: determinar (122) un valor de un primer elemento de sintaxis de un mensaje de información de mejoras complementarias, SEI, de conjuntos de mosaicos con movimiento restringido, MCTS, temporales de una unidad de acceso, en donde el valor del primer elemento de sintaxis representa si cada mosaico de una o más imágenes correspondientes está incluido o no en un MCTS separado; y cuando el valor del primer elemento de sintaxis no indica que cada mosaico de la una o más imágenes correspondientes está incluido en un MCTS separado: i) determinar (126), basándose en un valor de un segundo elemento de sintaxis del mensaje SEI de MCTS temporal, un número de conjuntos de MCTS en el mensaje SEI de MCTS temporal, en donde el mensaje SEI de MCTS temporal incluye un bucle del número de conjuntos de MCTS en el mensaje SEI de MCTS temporal, incluyendo el bucle una iteración por conjunto que señaliza valores para uno o más elementos de sintaxis adicionales para cada conjunto de MCTS; y ii) basándose en el bucle del número de conjuntos de MCTS en el mensaje SEI de MCTS temporal, procesar (128) valores del uno o más elementos de sintaxis adicionales para cada conjunto de MCTS en el mensaje SEI de MCTS temporal y establecer (130) un valor de identificador de MCTS de un MCTS de una imagen actual de la unidad de acceso igual a un valor de un índice del conjunto de MCTS dentro del bucle, siendo la imagen actual una de la una o más imágenes correspondientes, en donde el valor del índice del conjunto de MCTS dentro del bucle es el valor de una variable i, la cual es un contador de bucle que incrementa en cada iteración del bucle.

Description

DESCRIPCIÓN
Identificadores de codificación para conjuntos de mosaicos con movimiento restringido
Campo técnico
Esta divulgación se refiere a la codificación de vídeo.
Antecedentes
Las capacidades de vídeo digital pueden ser incorporadas dentro de una amplia gama de dispositivos, incluidos televisores digitales, sistemas de radiodifusión directa digital, sistemas de radiodifusión inalámbrica, asistentes digitales personales (PDA), ordenadores portátiles o de escritorio, ordenadores de tableta, lectores de libros electrónicos, cámaras digitales, dispositivos de grabación digital, reproductores de medios digitales, dispositivos de videojuegos, consolas de videojuegos, teléfonos móviles o de radio por satélite, así denominados “teléfonos inteligentes”, dispositivos de videoteleconferencia, dispositivos de transmisión de vídeo, y similares. Los dispositivos de vídeo digital implementan técnicas de codificación de vídeo, tales como aquellas 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 vídeo avanzada (AVC), el estándar de codificación de vídeo de alta eficiencia (HEVC), ITU-T H.265/codificación de vídeo de alta eficiencia (HEVC), y extensiones de tales estándares. Los dispositivos de vídeo pueden transmitir, recibir, codificar, decodificar, y/o almacenar información de vídeo digital más eficientemente implementando tales técnicas de codificación de vídeo.
Las técnicas de codificación de vídeo incluyen predicción espacial (intraimagen) y/o predicción temporal (interimagen) para reducir o eliminar la redundancia inherente en las secuencias de vídeo. Para la codificación de vídeo basada en bloques, un segmento de vídeo (p. ej., una imagen de vídeo o una porción de una imagen de vídeo) puede ser particionado en bloques de vídeo, a los cuales también se puede hacer referencia como unidades de árbol de codificación (CTU), unidades de codificación (CU) y/o nodos de codificación. Los bloques de vídeo en un segmento intracodificado (I) de una imagen son codificados usando predicción espacial con respecto a muestras de referencia en bloques colindantes en la misma imagen. Los bloques de vídeo en un segmento intercodificado (P o B) de una imagen pueden usar predicción espacial con respecto a muestras de referencia en bloques colindantes en la misma imagen o predicción temporal con respecto a muestras de referencia en otras imágenes de referencia. A las imágenes se puede hacer referencia como fotogramas, y a las imágenes de referencia se puede hacer referencia como fotogramas de referencia.
La predicción espacial o temporal resulta en un bloque predictivo para un bloque a ser codificado. Los datos residuales representan diferencias de píxeles entre el bloque original a ser codificado y el bloque predictivo. Un bloque intercodificado es codificado de acuerdo con un vector de movimiento que apunta a un bloque de muestras de referencia que forman el bloque predictivo, y los datos residuales que indican la diferencia entre el bloque codificado y el bloque predictivo. Un bloque intracodificado es codificado de acuerdo con un modo de intracodificación y los datos residuales. Para mayor compresión, los datos residuales pueden ser transformados del dominio de píxel a un dominio de transformación, resultando en coeficientes de transformación residuales, los cuales luego pueden ser cuantizados. Los coeficientes de transformación cuantizados, inicialmente dispuestos en una matriz bidimensional, pueden ser escaneados para producir un vector unidimensional de coeficientes de transformación, y codificación por entropía puede ser aplicada para lograr incluso más compresión.
“HEVC Screen Content Coding Draft Text 6” [Borrador 6 del texto de codificación de contenido en pantalla HEVC] de Joshi et al (23er encuentro JCT-VC; 2-19-20l6 - 2-26-2016; San Diego; documento n.° JCTVC-W1005) es un borrador del texto de codificación de contenido en pantalla HEVC en el cual las secciones D.2.30 y D.3.30 divulgan sintaxis y semántica respectivamente de un mensaje SEI de conjuntos de mosaicos con movimiento restringido temporal.
Sumario
En general, esta divulgación describe técnicas de codificación de vídeo usando diseños mejorados para conjuntos de mosaicos con movimiento restringido (MCTS) que posibilitan la extracción limpia de un flujo de bits conforme que incluye un subconjunto de los MCTS contenidos en un flujo de bits de vídeo original. En general, las técnicas de esta divulgación están descritas en el contexto de la codificación de vídeo de alta eficiencia (HEVC). Sin embargo, estas técnicas pueden ser aplicadas generalmente a cualquier códec de vídeo que posibilita regiones codificadas independientemente extraíbles.
Aunque los siguientes párrafos describen varios ejemplos que implementan técnicas descritas en esta divulgación, la invención está definida por las reivindicaciones independientes.
La Fig. 5, comentada abajo, ilustra un ejemplo que representa la invención. Los ejemplos restantes en esta divulgación se refieren a otras técnicas que no representan por sí mismas la presente invención. Pero las técnicas de estos otros ejemplos podrían no obstante ser combinadas con la presente invención como está comentado abajo y por lo tanto pueden inscribirse dentro del alcance de la presente invención si ellas incluyen las características de las reivindicaciones independientes.
En un ejemplo, un método de procesar datos de vídeo como en la reivindicación independiente 1 está divulgado.
En otro ejemplo, un dispositivo para procesar datos de vídeo como en la reivindicación independiente 5 está divulgado.
En otro ejemplo, un medio de almacenamiento legible por ordenador como en la reivindicación independiente 11 está divulgado.
Los detalles de uno o más ejemplos están expuestos en los dibujos adjuntos y la descripción abajo. Otras características, objetos, y ventajas serán aparentes a partir de la descripción y los dibujos, y a partir de las reivindicaciones.
Descripción breve de los dibujos
La FIG. 1 es un diagrama de bloques que ilustra un sistema de codificación y decodificación de vídeo de ejemplo que puede utilizar técnicas para procesar datos de vídeo usando conjuntos de mosaicos con movimiento restringido (MCTS).
La FIG. 2 es un diagrama de bloques que ilustra un ejemplo de un codificador de vídeo que puede implementar técnicas para procesar datos de vídeo usando conjuntos de mosaicos con movimiento restringido (MCTS).
La FIG. 3 es un diagrama de bloques que ilustra un ejemplo de un decodificador de vídeo que puede implementar técnicas para procesar datos de vídeo usando conjuntos de mosaicos con movimiento restringido (MCTS).
La FIG. 4 es un diagrama de flujo que ilustra un método de ejemplo para extraer un subflujo de bits de acuerdo con las técnicas de esta divulgación.
La FIG. 5 es un diagrama de flujo que ilustra otro método de ejemplo para extraer un subflujo de bits de acuerdo con las técnicas de esta divulgación.
Descripción detallada
Los estándares de codificación de vídeo 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 de codificación de vídeo escalable (SVC) y codificación de vídeo multivista (MVC), e ITU-T H.265 (también conocido como ISO/IEC MPEG-4 codificación de vídeo de alta eficiencia (HEVC)), incluidas sus extensiones escalable y multivista SHVC y MV-HEVC, respectivamente.
HEVC soporta la codificación de regiones codificadas independientemente extraíbles usando conjuntos de mosaicos con movimiento restringido (MCTS), y la señalización de MCTS usando un mensaje de información sobre mejoras complementarias (SEI) de MCTS temporal y mensaje SEI de conjuntos de mosaicos restringidos entre capas.
El mensaje SEI de MCTS temporal indica que el proceso de interpredicción es restringido de tal modo que ningún valor de muestra por fuera de cada conjunto de mosaicos identificado, y ningún valor de muestra en una posición de muestra fraccional que es derivado usando uno o más valores de muestra por fuera del conjunto de mosaicos identificado es usado para la interpredicción de ninguna muestra por dentro del conjunto de mosaicos identificado. Alguna información de los MCTS indicados, tal como el tier y nivel, está también señalizada en el mensaje SEI de MCTS temporal, de acuerdo con HEVC.
Dos mensajes SEI relativos a MCTS están actualmente siendo desarrollados por el JCT-VC. Una especificación en borrador que incluye los diseños está incluida en el documento JCTVC-Z1005, disponible desde phenix.intevry.fr/jct/doc_end_user/documents/26_Geneva/wg11/JCTVC-Z1005-v1.zip. En JCTVC-Z1005, estos dos mensajes SEI se denominan mensaje SEI de conjunto de información de extracción de MCTS (MCTS-EIS) y mensaje SEI de anidación de información de extracción de MCTS (MCTS-EIN), respectivamente. La Tabla 1 abajo proporciona la sintaxis para el mensaje SEI de MCTS de acuerdo con HEVC. La Tabla 2 abajo proporciona la sintaxis para el mensaje SEI de MCTS-EIS de JCTVC-Z1005. La Tabla 3 abajo proporciona la sintaxis para el mensaje SEI de MCTS-EIN de JCTVC-Z1005.
Tabla1
Figure imgf000003_0001
continuación
Figure imgf000004_0002
Tabla 2
Figure imgf000004_0001
continuación
Figure imgf000005_0002
Tabla 3
Figure imgf000005_0001
El mensaje SEI de MCTS-EIS de JCTVC-Z1005 proporciona información complementaria que puede ser usada en la extracción de un subflujo de bits para un MCTS. La información incluye un número de conjuntos de información de extracción, conteniendo cada uno identificadores de los MCTS a los cuales se aplica el conjunto de información de extracción. Cada conjunto de información de extracción contiene bytes de RBSP de conjuntos de parámetros de vídeo de reemplazo, conjuntos de parámetros de secuencia, y conjuntos de parámetros de imagen a ser usados durante el proceso de extracción de subflujo de bits de MCTS.
El mensaje SEI de MCTS-EIS de JCTVC-Z1005, al cual se puede hacer referencia como un “mensaje SEI de anidación de MCTS” para simplificar, proporciona un mecanismo para transmitir y asociar mensajes SEI con subconjuntos de flujos de bits que corresponden a uno o más MCTS. A un mensaje SEI contenido en un mensaje SEI de anidación de MCTS se hace referencia como anidado en MCTS o un mensaje SEI anidado en MCTS, y a un mensaje SEI que no está contenido en un mensaje SEI de anidación de MCTS se hace referencia como no anidado en MCTS o un mensaje SEI no anidado en MCTS. Cuando un subflujo de bits es extraído para un MCTS, los mensajes SEI anidados en MCTS aplicables a un MCTS en una unidad de acceso pueden ser incluidos en la unidad de acceso correspondiente del subflujo de bits extraído como mensajes SEI no anidados en MCTS.
El uso de los diseños del mensaje SEI de MCTS temporal en la especificación HEVC actual así como los dos mensajes SEI relativos a MCTS en JCTVC-Z 1005 pueden encontrar los siguientes problemas:
1) Para ser significativo, un mensaje SEI de MCTS-EIS tiene que depender de un mensaje SEI de MCTS temporal, al cual se hace referencia como el mensaje SEI de MCTS temporal asociado. Sin embargo, la presencia de un mensaje SEI de MCTS-EIS en una unidad de acceso no está condicionada por la presencia de un mensaje SEI de MCTS temporal. Esto hace la semántica del mensaje SEI de MCTS-EIS innecesariamente complicada, en particular con la necesidad de especificar su propio conjunto de imágenes asociadas/aplicables y la necesidad de especificar algunas restricciones de flujo de bits complicadas sobre este mismo mensaje SEI y sobre el mensaje SEI de MCTS temporal. Estas harían la generación de flujos de bits más complicada y acarrearían mayores costes en ensayos de conformidad.
2) Para ambos de los dos mensajes SEI relativos a MCTS en JCTVC-Z1005, identificadores de MCTS representados por instancias del elemento de sintaxis mcts_id[ i ] del mensaje SEI de MCTS temporal asociado son usados en la semántica. Sin embargo, los siguientes problemas existen aquí:
a. La semántica actual del mensaje SEI de MCTS temporal especifica que mcts_id[ i ] contiene un número identificador que puede ser usado para identificar el propósito del i-ésimo conjunto de mosaicos identificado. En otras palabras, mcts_id[ i ] no es el identificador de MCTS, sino el propósito, y diferentes MCTS pueden tener el mismo valor de mcts_id[ i ] (para el mismo propósito). Además, valores para mcts_id[ i ] son actualmente o bien reservados para el uso futuro por ITU-T | ISO/ie C o bien especificados como que “pueden ser determinados por la aplicación” y los decodificadores que encuentran mensajes SEI de MCTS temporales con mcts_id[ i ] que tienen valores de la primera categoría ignorarán los mensajes SEI (y en este caso estos dos mensajes SEI relativos a MCTS también se volverían inútiles porque ellos dependen de mensajes SEI de MCTS temporales), mientras que los valores para mcts_id[ i ] de la segunda categoría serían insignificantes para cualquier aplicación a menos que esa aplicación especifique los valores.
b. Cuando each_tile_one_tile_set_flag del mensaje SEI de MCTS temporal asociado es igual a 1, no hay mcts_id[ i ] presente o inferido. Consecuentemente, este escenario, el cual es común, no es soportado.
3) Hay un paso en el proceso de extracción de subflujo de bits de MCTS especificado en la semántica del mensaje SEI de MCTS-EIS para eliminar todas las unidades NAL SEI que tienen nuh_layer_id igual a 0 y que contienen mensajes SEI no anidados en MCTS. Sin embargo, tener la condición “que tienen nuh_layer_id igual a 0” mantendría todas las unidades NAL SEI con nuh layer id mayor que 0 en el flujo de bits extraído, mientras que los mensajes SEI no anidados en MCTS en unidades NAL SEI con nuh layer id mayor que 0, si están presentes, no se aplicarían a un subconjunto extraído de MCTS, y por lo tanto no deberían ser incluidos en el subflujo de bits extraído.
4) El paso final del proceso de extracción de subflujo de bits de MCTS especificado en la semántica del mensaje SEI de MCTS-EIS es ajustar la cabecera de segmento de segmento de cada unidad NAL VCL, incluido establecer los valores de los elementos de sintaxis de cabecera de segmento de segmento first_slice_segment_in_pic_flag y slice_segment_address. Sin embargo, cuando hay dependencia de la cabecera de segmento de segmento de un segmento de segmento dependiente del MCTS objetivo de un segmento de segmento independiente de otro MCTS, este proceso de extracción de subflujo de bits no generará un flujo de bits conforme, porque muchos de los elementos de sintaxis del segmento de segmento no están disponibles para esa cabecera de segmento de segmento dependiente.
5) Para ser significativo, un mensaje SEI de anidación de MCTS tiene que depender de un mensaje SEI de MCTS temporal así como de un mensaje SEI de MCTS-EIS. Sin embargo, la presencia de un mensaje SEI de anidación de MCTS en una unidad de acceso no está condicionada por la presencia de un mensaje SEI de MCTS temporal o un mensaje SEI de MCTS-EIS.
6) Una unidad NAL SEI que contiene un mensaje SEI de anidación de MCTS puede contener mensajes SEI no anidados en MCTS. Sin embargo, esto complica innecesariamente la extracción de un flujo de bits conforme para un MCTS que contiene mensajes SEI, y en realidad, un paso del proceso de extracción de subflujo de bits de MCTS como está especificado en la semántica del mensaje SEI de MCTS-EIS eliminaría tales unidades NAL SEI.
7) Un MCTS que contiene mosaicos no colindantes no es soportado por el diseño del mensaje SEI de MCTS temporal, mientras que el proceso de extracción de subflujo de bits de MCTS especificado en la semántica del mensaje SEI de MCTS-EIS especifica la extracción de un subflujo de bits para solo un MCTS. Sin embargo, en aplicaciones de vídeo de realidad virtual o de 360 grados, los mosaicos no colindantes pueden en realidad corresponder a una región en la superficie esférica, y puede ser deseable indicar la capacidad de decodificación requerida, p. ej., nivel, de un conjunto tal de mosaicos no colindantes y/o habilitar la extracción de un flujo de bits conforme para un conjunto tal de mosaicos no colindantes.
8) El valor de num_sets_in_message_minus1 del mensaje SEI de MCTS temporal está especificado para estar en el rango de 0 a 255, inclusive, esto es, el número de MCTS permitidos para ser señalizados es como máximo 256. Sin embargo, en aplicaciones de vídeo de realidad virtual o de 360 grados, el número posible de combinaciones de mosaicos, correspondiendo cada combinación a un MCTS, incluidos los casos donde un mosaico particular puede estar incluido en múltiples MCTS, el número máximo 256 puede no ser suficiente.
9) Para ambos del mensaje SEI de MCTS-EIS y el mensaje SEI de anidación de MCTS, el rango de valor de algunos elementos de sintaxis está especificado para ser 0 a 232 - 2, inclusive, incluyendo el número de conjuntos de información de extracción y el número de MCTS asociados con un conjunto de información de extracción o los mensajes SEI anidados en MCTS. Este límite superior puede, para algunas situaciones, ser irrazonablemente alto.
Las técnicas de esta divulgación, las cuales pueden ser aplicadas solas o en cualquier combinación, pueden solucionar cualquiera o todos estos problemas. La presente invención, como está definida por las reivindicaciones independientes, aborda el problema 2a. Los otros problemas están presentados para fines ilustrativos.
El mensaje SEI de MCTS puede incluir un elemento de sintaxis que indica si los mosaicos de una o más imágenes correspondientes están incluidos en MCTS separados, de tal modo que hay una correspondencia de uno a uno entre mosaicos y MCTS. En un ejemplo, el elemento de sintaxis es una each_tile_one_tile_set_flag. En algunos ejemplos, un valor de uno para la each_tile_one_tile_set_flag indica que los mosaicos de la una o más imágenes correspondientes están incluidos en los MCTS separados, y un valor de cero para la each_tile_one_tile_set_flag indica que dos o más mosaicos de la una o más imágenes correspondientes pueden estar incluidos en un MCTS común (esto es, la restricción de cada mosaico que está en su propio MCTS no se aplica).
La FIG. 1 es un diagrama de bloques que ilustra un sistema de codificación y decodificación de vídeo 10 de ejemplo que puede utilizar técnicas para procesar datos de vídeo usando conjuntos de mosaicos con movimiento restringido (MCTS). Como está mostrado en la FIG. 1, el sistema 10 incluye un dispositivo de origen 12 que proporciona datos de vídeo codificados a 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, incluidos ordenadores de escritorio, ordenadores notebook (esto es, portátiles), ordenadores de tableta, decodificadores, terminales telefónicos tales como los así denominados teléfonos “inteligentes”, así denominadas almohadillas “ inteligentes”, televisores, cámaras, dispositivos de pantalla, reproductores de medios digitales, consolas de videojuegos, dispositivo de transmisión de vídeo, o similares. En algunos casos, el dispositivo de origen 12 y el dispositivo de destino 14 pueden estar equipados para la comunicación inalámbrica.
El dispositivo de destino 14 puede recibir los datos de vídeo codificados a ser decodificados a través del 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 vídeo codificados del 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 habilitar el dispositivo de origen 12 para transmitir datos de vídeo codificados directamente al dispositivo de destino 14 en tiempo real. Los datos de vídeo codificados pueden ser modulados de acuerdo con un estándar de comunicación, tal como un protocolo de comunicación inalámbrica, y transmitidos al dispositivo de destino 14. El medio de comunicación puede comprender cualquier medio de comunicación alámbrico o inalámbrico, tal 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, tal como una red de área local, una red de área extendida, o una red global tal como la Internet. El medio de comunicación puede incluir rúters, interruptores, estaciones base, o cualquier otro equipo que puede ser útil para facilitar la comunicación desde el dispositivo de origen 12 al dispositivo de destino 14.
En el ejemplo de la FIG. 1, la unidad de extracción de subflujo de bits 24 está proporcionada con el medio legible por ordenador 16. La unidad de extracción de subflujo de bits 24 puede formar parte de un dispositivo, tal como un elemento de red consciente de medios (MANE), rúter, u otro dispositivo que está configurado para extraer subflujos de bits de flujos de bits originales, p. ej., de conformidad con las técnicas de esta divulgación. La unidad de extracción de subflujo de bits 24 incluye memoria 26, para almacenar temporalmente datos recibidos de un flujo de bits y datos extraídos para un subflujo de bits. La unidad de extracción de subflujo de bits 24 puede enviar los datos extraídos para el subflujo de bits al dispositivo de destino 14. Adicionalmente o alternativamente, la interfaz de entrada 28 puede estar configurada para extraer subflujos de bits de flujos de bits originales, p. ej., de conformidad con las técnicas de esta divulgación. El codificador de vídeo 20 y/o la interfaz de salida 22 puede estar configurado para señalizar datos para extraer subflujos de bits de conformidad con las técnicas de esta divulgación.
En algunos ejemplos, los datos codificados pueden ser transmitidos desde la interfaz de salida 22 a un dispositivo de almacenamiento. Similarmente, los datos codificados pueden ser accedidos desde el dispositivo de almacenamiento por la interfaz de entrada. El dispositivo de almacenamiento puede incluir cualquiera de una variedad de medios de almacenamiento de datos accedidos localmente o distribuidos tales como un disco duro, discos Blu-ray, DVD, CD-ROM, memoria flash, memoria volátil o no volátil, o cualquier otro medio de almacenamiento digital apropiado para almacenar datos de vídeo codificados. En un otro ejemplo, el dispositivo de almacenamiento puede corresponder a un servidor de archivos u otro dispositivo de almacenamiento intermedio que puede almacenar el vídeo codificado generado por el dispositivo de origen 12. El dispositivo de destino 14 puede acceder a los datos de vídeo almacenados desde el dispositivo de almacenamiento a través de streaming o descarga. El servidor de archivos puede ser cualquier tipo de servidor capaz de almacenar datos de vídeo codificados y transmitir esos datos de vídeo codificados al dispositivo de destino 14. Servidores de archivos de ejemplo incluyen un servidor web (p. ej., para un sitio web), un servidor FTP, dispositivos de almacenamiento conectados a la red (NAS), o un disco duro local. El dispositivo de destino 14 puede acceder a los datos de vídeo codificados a través de cualquier conexión de datos estándar, incluida una conexión a Internet. Esto puede incluir un canal inalámbrico (p. ej., una conexión Wi-Fi), una conexión por cable (p. ej., DSL, módem de cable, etc.), o una combinación de ambos que es apropiada para acceder a datos de vídeo codificados almacenados en un servidor de archivos. La transmisión de datos de vídeo codificados desde el dispositivo de almacenamiento puede ser una transmisión por streaming, una transmisión por descarga, o una combinación de ellas.
Las técnicas de esta divulgación no están necesariamente limitadas a aplicaciones o contextos inalámbricos. Las técnicas pueden ser aplicadas a codificación de vídeo en soporte de cualquiera de una variedad de aplicaciones multimedia, tales como radiotransmisiones televisivas por aire, transmisiones televisivas por cable, transmisiones televisivas por satélite, transmisiones de vídeo por streaming en Internet, tal como transmisión adaptativa dinámica por HTTP (DASH), vídeo digital que está codificado en un medio de almacenamiento de datos, decodificación de vídeo digital almacenado en un medio de almacenamiento de datos, u otras aplicaciones. En algunos ejemplos, el sistema 10 puede estar configurado para soportar transmisión de vídeo unidireccional o bidireccional para soportar aplicaciones tales como transmisión de vídeo, reproducción de vídeo, radiotransmisión de vídeo, y/o videotelefonía.
En el ejemplo de la FIG. 1, el dispositivo de origen 12 incluye fuente de vídeo 18, codificador de vídeo 20, e interfaz de salida 22. El dispositivo de destino 14 incluye interfaz de entrada 28, decodificador de vídeo 30, y dispositivo de pantalla 32. De conformidad con esta divulgación, el codificador de vídeo 20 del dispositivo de origen 12, la interfaz de salida 22, la unidad de extracción de subflujo de bits 24, la interfaz de entrada 28, y/o el decodificador de vídeo 30 pueden estar configurados para aplicar las técnicas para procesar datos de vídeo usando conjuntos de mosaicos con movimiento restringido (MCTS). En otros ejemplos, un dispositivo de origen y un dispositivo de destino pueden incluir otros componentes o disposiciones. Por ejemplo, el dispositivo de origen 12 puede recibir datos de vídeo desde una fuente de vídeo 18 externa, tal como una cámara externa. De igual modo, el dispositivo de destino 14 puede interactuar con un dispositivo de pantalla externo, más que incluir un dispositivo de pantalla integrado.
El sistema 10 ilustrado de la FIG. 1 es meramente un ejemplo. Las técnicas para procesar datos de vídeo usando conjuntos de mosaicos con movimiento restringido (MCTS) pueden ser realizadas por cualquier dispositivo de codificación y/o decodificación de vídeo digital. Aunque generalmente las técnicas de esta divulgación son realizadas por un dispositivo de codificación de vídeo, las técnicas también pueden ser realizadas por un codificador/decodificador de vídeo, típicamente referido como un “CÓDEC”. Además, las técnicas de esta divulgación también pueden ser realizadas por un preprocesador de vídeo. El dispositivo de origen 12 y el dispositivo de destino 14 son meramente ejemplos de tales dispositivos de codificación en los cuales el dispositivo de origen 12 genera datos de vídeo codificados para la transmisión al dispositivo de destino 14. En algunos ejemplos, los dispositivos 12, 14 pueden operar de una manera sustancialmente simétrica de tal modo que cada uno de los dispositivos 12, 14 incluyen componentes de codificación y decodificación de vídeo. Por consiguiente, el sistema 10 puede soportar transmisión de vídeo unidireccional o bidireccional entre los dispositivos de vídeo 12, 14, p. ej., para la transmisión de vídeo, reproducción de vídeo, radiotransmisión de vídeo, o videotelefonía.
La fuente de vídeo 18 del dispositivo de origen 12 puede incluir un dispositivo de captura de vídeo, tal como una cámara de vídeo, un archivo de vídeo que contiene vídeo capturado previamente, y/o una interfaz de transmisión de vídeo para recibir vídeo desde un proveedor de contenido de vídeo. Como una otra alternativa, la fuente de vídeo 18 puede generar datos basados en gráficos por ordenador como el vídeo de origen, o una combinación de vídeo en directo, vídeo archivado, y vídeo generado por ordenador. En algunos casos, si la fuente de vídeo 18 es una cámara de vídeo, el dispositivo de origen 12 y el dispositivo de destino 14 pueden formar así denominados teléfonos de cámara o teléfonos de vídeo. Como está mencionado arriba, sin embargo, las técnicas descritas en esta divulgación pueden ser aplicables a la codificación de vídeo en general, y pueden ser aplicadas a aplicaciones por cable y/o inalámbricas. En cada caso, el vídeo capturado, precapturado, o generado por ordenador puede ser codificado por el codificador de vídeo 20. La información de vídeo codificada puede luego ser transmitida por la interfaz de salida 22 en un medio legible por ordenador 16.
El medio legible por ordenador 16 puede incluir medios transitorios, tales como una radiotransmisión inalámbrica o transmisión de red por cable, o medios de almacenamiento (esto es, medios de almacenamiento no transitorios), tales como un disco duro, memoria flash, disco compacto, disco de vídeo digital, disco Blu-ray, u otros medios legibles por ordenador. En algunos ejemplos, un servidor de red (no mostrado) puede recibir datos de vídeo codificados desde el dispositivo de origen 12 y proporcionar los datos de vídeo codificados al dispositivo de destino 14, p. ej., a través de transmisión de red. Similarmente, un dispositivo computacional de una instalación de producción de medio, tal como una instalación de estampación de disco, puede recibir datos de vídeo codificados desde el dispositivo de origen 12 y producir un disco que contiene los datos de vídeo codificados. Por lo tanto, puede entenderse que el medio legible por ordenador 16 incluye uno o más medios legibles por ordenador de varias 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 vídeo 20, la cual también es usada por el decodificador de vídeo 30, que incluye elementos de sintaxis que describen características y/o procesado de bloques y otras unidades codificadas. El dispositivo de pantalla 32 muestra los datos de vídeo decodificados a un usuario, y puede comprender cualquiera de una variedad de dispositivos de pantalla tales como un tubo de rayos catódicos (CRT), una pantalla de cristal líquido (LCD), una pantalla de plasma, una pantalla de diodo orgánico de emisión de luz (OLED), u otro tipo de dispositivo de pantalla.
El codificador de vídeo 20 y el decodificador de vídeo 30 pueden operar de acuerdo con un estándar de codificación de vídeo, tal como el estándar de codificación de vídeo de alta eficiencia (HEVC), también referido como ITU-T H.265. Alternativamente, el codificador de vídeo 20 y el decodificador de vídeo 30 pueden operar de acuerdo con otros estándares propietarios o industriales, tal como el estándar ITU-T H.264, alternativamente referido como MPEG-4, Parte 10, codificación de vídeo avanzada (AVC), o extensiones de tales estándares. Las técnicas de esta divulgación, sin embargo, no están limitadas a ningún estándar de codificación particular. Otros ejemplos de estándares de codificación de vídeo incluyen MPEG-2 e ITU-T H.263. Aunque no está mostrado en la FIG. 1, en algunos aspectos, el codificador de vídeo 20 y el decodificador de vídeo 30 pueden estar cada uno integrados con un codificador y decodificador de audio, y pueden incluir unidades MUX-DEMUX apropiadas, u otro hardware y software, para gestionar la codificación de tanto audio como vídeo en un flujo de datos común o flujos de datos separados. Si es aplicable, las unidades MUX-DEMUX pueden adecuarse al protocolo de multiplexor ITU H.223, u otros protocolos tales como el protocolo de datagramas de usuario (UDP).
El codificador de vídeo 20 y el decodificador de vídeo 30 pueden ser cada uno implementados como cualquiera de una variedad de circuitería de codificador apropiada, tales 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 ellos. Cuando las técnicas son implementadas parcialmente en software, un dispositivo puede almacenar instrucciones para el software en un medio legible por ordenador no transitorio apropiado y ejecutar las instrucciones en hardware usando uno o más procesadores para realizar las técnicas de esta divulgación. Cada uno del codificador de vídeo 20 y el decodificador de vídeo 30 puede estar incluido en uno o más codificadores o decodificadores, cualquiera de los cuales puede estar integrado como parte de un codificador/decodificador (CÓDEC) combinado en un dispositivo respectivo.
En general, de acuerdo con ITU-T H.265, una imagen de vídeo puede ser dividida en una secuencia de unidades de árbol de codificación (CTU) (o unidades de codificación máxima (LCU)) que pueden incluir muestras tanto luma como croma. Alternativamente, las CTU pueden incluir datos monocromo (esto es, solo muestras luma). Los datos de sintaxis dentro de un flujo de bits pueden definir un tamaño para la CTU, que es una unidad de codificación máxima en términos del número de píxeles. Un segmento incluye un número de CTU consecutivas en orden de codificación. Una imagen de vídeo puede ser particionada en uno o más segmentos. Cada CTU puede ser dividida en unidades de codificación (CU) de acuerdo con un árbol cuaternario. En general, una estructura de datos de árbol cuaternario incluye un nodo por CU, con un nodo raíz que corresponde a la CTU. Si una CU es dividida en cuatro subCU, el nodo que corresponde a la CU incluye cuatro nodos hoja, cada uno de los cuales corresponde a una de las subCU.
Cada nodo de la estructura de datos de árbol cuaternario puede proporcionar datos de sintaxis para la CU correspondiente. Por ejemplo, un nodo en el árbol cuaternario puede incluir una bandera de división, que indica si la CU que corresponde al nodo está dividida en subCU. Los elementos de sintaxis para una CU pueden ser definidos recursivamente, y pueden depender de si la CU está dividida en subCU. Si una CU no está más dividida, es referida como una CU hoja. En esta divulgación, cuatro subCU de una CU hoja también serán referidas como CU hoja incluso si no hay división explícita de la CU hoja original. Por ejemplo, si una CU a tamaño 16x16 no está más dividida, las cuatro subCU 8x8 también serán referidas como CU hoja aunque la CU 16x16 nunca fue dividida.
Una CU tiene un propósito similar como un macrobloque del estándar H.264, excepto que una CU no tiene una distinción de tamaño. Por ejemplo, una CTU puede ser dividida en cuatro nodos hijo (también referidos como subCU), y cada nodo hijo puede a su vez ser un nodo padre y ser dividido en otros cuatro nodos hijo. Un nodo hijo no dividido final, referido como un nodo hoja del árbol cuaternario, comprende un nodo de codificación, también referido como una CU hoja. Datos de sintaxis asociados con un flujo de bits codificado pueden definir un número máximo de veces que una c Tu puede ser dividida, referido como una profundidad de CU máxima, y también pueden definir un tamaño mínimo de los nodos de codificación. Correspondientemente, un flujo de bits también puede definir una unidad de codificación mínima (SCU). Esta divulgación usa el término “bloque” para referirse a cualquiera de una CU, unidad de predicción (PU), o unidad de transformación (TU), en el contexto de HEVC, o estructuras de datos similares en el contexto de otros estándares (p. ej., macrobloques y subbloques de ellas en H.264/AVC).
Una CU incluye un nodo de codificación y unidades de predicción (PU) y unidades de transformación (TU) asociadas con el nodo de codificación. Un tamaño de la CU corresponde a un tamaño del nodo de codificación y es generalmente de forma cuadrada. El tamaño de la CU puede oscilar de 8x8 píxeles hasta el tamaño de la CTU con un tamaño máximo, p. ej., 64x64 píxeles o mayor. 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 partición pueden diferir entre si la CU es codificada con modo directo u omisión, codificada con modo intrapredicción, o codificada con modo interpredicción. Las PU pueden ser particionadas para ser de forma no cuadrada. Los datos de sintaxis asociados con una CU también pueden describir, por ejemplo, la partición de la CU en una o más TU de acuerdo con un árbol cuaternario. Una TU puede ser de forma cuadrada o no cuadrada (p. ej., rectangular).
El estándar HEVC permite transformaciones de acuerdo con TU, las cuales pueden ser diferentes para diferentes CU. Las TU son típicamente dimensionadas en función del tamaño de las PU (o particiones de una CU) dentro de una CU dada definida para una CTU particionada, aunque esto puede no ser siempre el caso. Las TU son típicamente del mismo tamaño o más pequeñas que las PU (o particiones de una CU, p. ej., en el caso de intrapredicción). En algunos ejemplos, las muestras residuales que corresponden a una CU pueden ser subdivididas en unidades más pequeñas usando una estructura de árbol cuaternario conocida como un “árbol cuaternario residual” (RQT). Los nodos hoja del RQT pueden ser referidos como unidades de transformación (TU). Valores de diferencia de píxeles asociados con las TU pueden ser transformados para producir coeficientes de transformación, los cuales pueden ser cuantizados.
Una CU hoja puede incluir una o más unidades de predicción (PU) cuando es predicha usando interpredicción. En general, una Pu representa un área espacial que corresponde a todas o una porción de la CU correspondiente, y puede incluir datos para recuperar y/o generar una muestra de referencia para la PU. Además, una PU incluye datos relativos a la predicción. Cuando la CU es codificada con modo inter, una o más PU de la CU pueden incluir datos que definen información de movimiento, tal como uno o más vectores de movimiento, o las PU pueden ser codificadas con modo omisión. 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 (p. ej., precisión de un cuarto de píxel o precisión de un octavo de píxel), una imagen de referencia a la cual apunta el vector de movimiento, y/o una lista de imágenes de referencia (p. ej., Lista 0 o Lista 1) para el vector de movimiento.
Las CU hoja también pueden ser predichas con modo intra. En general, la intrapredicción implica predecir una CU hoja (o particiones de ella) usando un modo intra. Un codificador de vídeo puede seleccionar un conjunto de píxeles codificados previamente colindantes para la CU hoja a usar para predecir la CU hoja (o particiones de ella).
Una CU hoja también puede incluir una o más unidades de transformación (TU). Las unidades de transformación pueden ser especificadas usando un RQT (también referido como una estructura de árbol cuaternario de TU), como está comentado arriba. Por ejemplo, una bandera de división puede indicar si una CU hoja es dividida en cuatro unidades de transformación. Entonces, cada TU puede ser dividida más en más subTU. Cuando una TU no está más dividida, ella puede ser referida como una TU hoja. Generalmente, para la intracodificación, todas las TU hoja que pertenecen a una CU hoja comparten el mismo modo de intrapredicción. Esto es, el mismo modo de intrapredicción es generalmente aplicado para calcular valores predichos para todas las TU de una CU hoja. Para la intracodificación, un codificador de vídeo puede calcular un valor residual para cada TU hoja usando el modo de intrapredicción, como una diferencia entre la porción de la CU que corresponde a la TU y el bloque original. Una TU no está necesariamente limitada 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, las particiones de una CU, o la propia CU, pueden ser colocadas con una TU hoja correspondiente para la CU. En algunos ejemplos, el tamaño máximo de una TU hoja puede corresponder al tamaño de la CU hoja correspondiente.
Además, las TU de CU hoja también pueden ser asociadas con estructuras de datos de árbol cuaternario respectivas, referidas como árboles cuaternarios residuales (RQT). Esto es, una CU hoja puede incluir un árbol cuaternario que indica cómo la CU hoja es particionada en TU. El nodo raíz de un árbol cuaternario de TU corresponde generalmente a una CU hoja, mientras que el nodo raíz de un árbol cuaternario de CU corresponde generalmente a una CTU (o LCU). Las TU del RQT que no son divididas son referidas como TU hoja. En general, esta divulgación usa los términos CU y TU para referirse a CU hoja y TU hoja, respectivamente, a menos que se indique lo contrario.
Una secuencia de vídeo incluye típicamente una serie de fotogramas o imágenes de vídeo, comenzando con una imagen de punto de acceso aleatorio (RAP). Una secuencia de vídeo puede incluir datos de sintaxis en un conjunto de parámetros de secuencia (SPS) que características de la secuencia de vídeo. 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 vídeo 20 opera típicamente en bloques de vídeo dentro de segmentos de vídeo individuales para codificar los datos de vídeo. Un bloque de vídeo puede corresponder a un nodo de codificación dentro de una CU. Los bloques de vídeo pueden tener tamaños fijos o variables, y pueden diferir en tamaño de acuerdo con un estándar de codificación especificado.
Como un ejemplo, la predicción puede ser realizada para PU de varios tamaños. Asumiendo que el tamaño de una CU particular es 2Nx2N, la intrapredicción puede ser realizada en tamaños de PU de 2Nx2N o NxN, y la interpredicción puede ser realizada en tamaños de PU simétricos de 2Nx2N, 2NxN, Nx2N, o NxN. Partición asimétrica para interpredicción también puede ser realizada para tamaños de PU de 2NxnU, 2NxnD, nLx2N, y nRx2N. En la partición asimétrica, una dirección de una CU no es particionada, mientras que la otra dirección es particionada hasta 25 % y 75 %. La porción de la CU que corresponde a la partición de 25 % es indicada por una “n” seguida por una indicación de “Up”, “Down”, “Left”, o “Right”. Por lo tanto, por ejemplo, “2NxnU” se refiere a una CU 2Nx2N que es particionada horizontalmente con una PU 2Nx0,5N arriba y una PU 2Nx1,5N debajo.
En esta divulgación, “NxN” y “N por N” pueden ser usados intercambiablemente para referirse a las dimensiones de píxel de un bloque de vídeo en términos de dimensiones vertical y horizontal, p. ej., 16x16 píxeles o 16 por 16 píxeles. En general, un bloque 16x16 tendrá 16 píxeles en una dirección vertical (y = 16) y 16 píxeles en una dirección horizontal (x = 16). Del mismo modo, un bloque NxN tiene generalmente 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 en un bloque pueden estar dispuestos en filas y columnas. Además, los bloques no necesitan necesariamente tener el mismo número de píxeles en la dirección horizontal como 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 vídeo 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 de generar datos de píxel predictivos en el dominio espacial (también referido como el dominio de píxel) y las TU pueden comprender coeficientes en el dominio de transformación tras la aplicación de una transformación, p. ej., una transformación de coseno discreta (DCT), una transformación de entero, una transformación de ondícula, o una transformación conceptualmente similar a los datos de vídeo residuales. Los datos residuales pueden corresponder a diferencias de píxel entre los píxeles de la imagen no codificada y los valores de predicción que corresponden a las PU. El codificador de vídeo 20 puede formar las TU para incluir coeficientes de transformación cuantizados representativos de los datos residuales para la CU. Esto es, el codificador de vídeo 20 puede calcular los datos residuales (en la forma de un bloque residual), transformar el bloque residual para producir un bloque de coeficientes de transformación, y luego cuantizar los coeficientes de transformación para formar coeficientes de transformación cuantizados. El codificador de vídeo 20 puede formar una TU que incluye los coeficientes de transformación cuantizados, así como otra información de sintaxis (p. ej., información de división para la TU).
Como está mencionado arriba, después de cualquier transformación para producir coeficientes de transformación, el codificador de vídeo 20 puede realizar cuantización de los coeficientes de transformación. La cuantización se refiere generalmente a un proceso en el cual los coeficientes de transformación son cuantizados para reducir posiblemente la cantidad de datos usados para representar los coeficientes, proporcionando más compresión. El proceso de cuantización puede reducir la profundidad de bit asociada con algunos o todos los coeficientes. Por ejemplo, un valor n-bit puede ser redondeado hacia abajo hasta un valor m-bit durante la cuantización, donde n es mayor que m.
Después de la cuantización, el codificador de vídeo puede escanear los coeficientes de transformación, produciendo un vector unidimensional a partir de la matriz bidimensional que incluye los coeficientes de transformación cuantizados. El escaneo puede estar diseñado para situar coeficientes de mayor energía (y por lo tanto menor frecuencia) al frente de la matriz y para situar coeficientes de menor energía (y por lo tanto mayor frecuencia) al final de la matriz. En algunos ejemplos, el codificador de vídeo 20 puede utilizar un orden de escaneo predefinido para escanear los coeficientes de transformación cuantizados para producir un vector serializado que puede ser codificado por entropía. En otros ejemplos, el codificador de vídeo 20 puede realizar un escaneo adaptativo. T ras escanear los coeficientes de transformación cuantizados para formar un vector unidimensional, el codificador de vídeo 20 puede codificar por entropía el vector unidimensional, p. ej., de acuerdo con codificación adaptativa según el contexto de longitud variable (CAVLC), codificación aritmética binaria adaptativa al contexto (CABAC), codificación aritmética binaria adaptativa al contexto basada en sintaxis (SBAC), codificación por entropía de partición de intervalos de probabilidad (PIPE) u otra metodología de codificación por entropía. El codificador de vídeo 20 también puede codificar por entropía elementos de sintaxis asociados con los datos de vídeo codificados para el uso por parte del decodificador de vídeo 30 en la decodificación de los datos de vídeo.
Para realizar CABAC, el codificador de vídeo 20 puede asignar un contexto dentro de un modelo de contexto a un símbolo a ser transmitido. El contexto puede referirse a, por ejemplo, si valores colindantes 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 un símbolo a ser transmitido. Las palabras de código en VLC pueden ser construidas de tal modo que los códigos relativamente más cortos corresponden a símbolos más probables, mientras que los códigos más largos corresponden a símbolos menos probables. De esta forma, el uso de VLC puede lograr un ahorro de bits al, por ejemplo, usar palabras de código de misma longitud para cada símbolo a ser transmitido. La determinación de probabilidad puede estar basada en un contexto asignado al símbolo.
En general, el decodificador de vídeo 30 realiza un proceso sustancialmente similar, aunque recíproco, a ese realizado por el codificador de vídeo 20 para decodificar datos codificados. Por ejemplo, el decodificador de vídeo 30 cuantiza inversamente y transforma inversamente coeficientes de una TU recibida para reproducir un bloque residual. El decodificador de vídeo 30 usa un modo de predicción señalizado (intra o interpredicción) para formar un bloque predicho. Luego el decodificador de vídeo 30 combina el bloque predicho y el bloque residual (píxel por píxel) para reproducir el bloque original. Procesamiento adicional puede ser realizado, tal como realizar un proceso de desbloqueo para reducir artefactos visuales por los límites de bloque. Además, el decodificador de vídeo 30 puede decodificar elementos de sintaxis usando CABAC de una manera sustancialmente similar a, aunque recíproca a, el proceso de codificación CABAC del codificador de vídeo 20.
De acuerdo con las técnicas de esta divulgación, el dispositivo de origen 12 (p. ej., codificador de vídeo 20 y/o interfaz de salida 22) puede estar configurado para señalizar datos y una unidad de extracción de subflujo de bits, tal como la unidad de extracción de subflujo de bits 24 y/o la interfaz de entrada 28 del dispositivo de destino 14, puede estar configurada para extraer un subflujo de bits usando los datos señalizados. En particular, estos elementos pueden implementar cualquiera o todas las técnicas de esta divulgación para abordar los problemas enumerados comentados arriba. Las varias técnicas descritas abajo pueden ser realizadas solas o en cualquier combinación. Sin embargo las reivindicaciones independientes se refieren a la solución 2a en lo siguiente.
1) Una solución potencial al primer problema comentado arriba es imponer una restricción de que un mensaje SEI de MCTS-EIS no estará presente en una unidad de acceso a menos que haya un mensaje SEI de MCTS temporal presente en la unidad de acceso. Consecuentemente, el conjunto de imágenes asociadas associatedPicSet del mensaje SEI de MCTS temporal se aplica al mensaje SEI de MCTS-EIS. Y además, la definición de associatedPicSet y las restricciones sobre la presencia del mensaje s E i de MCTS-EIS y la presencia del mensaje SEI de MCTS temporal en la semántica del mensaje SEI de MCTS-ElS pueden ser eliminadas. De esta manera, el dispositivo de origen 12, la unidad de extracción de subflujo de bits 24, y el dispositivo de destino 14 pueden codificar un mensaje SEI de MCTS-EIS de una unidad de acceso solo cuando la unidad de acceso incluye un mensaje SEI de MCTS temporal.
2) Las soluciones al segundo problema comentado arriba incluyen las siguientes:
a. Las reivindicaciones independientes definen una solución al problema 2a arriba. La solución es como sigue. Cuando el valor de each_tile_one_tile_set_flag del mensaje SEI de MCTS temporal asociado es igual a 0, el identificador de MCTS de un MCTS de la imagen actual es especificado como el valor del índice del MCTS, donde el índice es la variable i dentro del bucle de los conjuntos num_sets_in_message_minus1 1 de información de MCTS especificada por el mensaje SEI de MCTS asociado. Por lo tanto, cuando el valor del elemento de sintaxis each_tile_one_tile_set_flag es igual a cero, el dispositivo de origen 12, la unidad de extracción de subflujo de bits 24, y el dispositivo de destino 14 establecen un identificador de MCTS de un MCTS de una imagen actual de la unidad de acceso igual a un valor de un índice del MCTS.
b. Una solución potencial al problema 2b arriba es definir el identificador de MCTS para cada MCTS como la posición de mosaico del mosaico único en el MCTS en orden de escaneo ráster de mosaico cuando each_tile_one_tile_set_flag del mensaje SEI de MCTS temporal asociado es igual a 1. Por lo tanto, cuando el valor del elemento de sintaxis each_tile_one_tile_set_flag es igual a uno, el dispositivo de origen 12, la unidad de extracción de subflujo de bits 24, y el dispositivo de destino 14 pueden establecer identificadores de MCTS para cada MCTS igual a una posición de mosaico de un mosaico correspondiente en el MCTS en orden de escaneo ráster de mosaico.
3) Una solución potencial al tercer problema comentado arriba es eliminar la condición “que tienen nuh_layer_id igual a 0” de la formulación del paso en el proceso de extracción de subflujo de bits de MCTS especificado en la semántica del mensaje SEI de MCTS-EIS que especifica la eliminación de todas las unidades SEI NAL que tienen nuh_layer_id igual a 0 y que contienen mensajes SEI no anidados en MCTS, p. ej., el paso es cambiado para especificar la eliminación de todas las unidades NAL SEI que contienen mensajes SEI no anidados en MCTS. Por lo tanto, la unidad de extracción de subflujo de bits 24 y/o el dispositivo de destino 14 pueden, cuando se extrae un subflujo de bits de MCTS, omitir todas las unidades NAL SEI que contienen mensajes SEI no anidados en MCTS de la inclusión en el subflujo de bits de MCTS extraído, independientemente de un valor de un valor de identificador de capa de cabecera de unidad de capa de abstracción de red (NAL) para los mensajes SEI no anidados en MCTS.
4) Una solución potencial al cuarto problema comentado arriba es imponer una restricción de que un segmento de segmento que contiene uno o más mosaicos que pertenecen a cualquier MCTS particular mctsA no será un segmento de segmento dependiente de un segmento de segmento independiente que contiene uno o más mosaicos que no pertenecen a mctsA. Esta restricción debe ser especificada como parte de la semántica de o bien el mensaje SEI de MCTS temporal o el mensaje SEI de MCTS-EIS. Por lo tanto, el codificador de vídeo 20 y el decodificador de vídeo 30 pueden codificar todos los segmentos de segmento que contienen uno o más mosaicos que pertenecen a MCTS respectivos de los datos de vídeo de tal modo que los segmentos de segmento dependen como máximo de segmentos de segmento dentro del mismo MCTS.
5) Una solución potencial al quinto problema comentado arriba es imponer una restricción de que un mensaje SEI de anidación de MCTS no estará presente en una unidad de acceso a menos que haya un mensaje SEI de MCTS-EIS presente en la unidad de acceso. Por lo tanto, el dispositivo de origen 12, la unidad de extracción de subflujo de bits 24, y el dispositivo de destino 14 pueden codificar un mensaje SEI de anidación de MCTS de una unidad de acceso solo cuando la unidad de acceso incluye un mensaje SEI de MCTS-EIS.
a. Alternativamente, una restricción puede ser impuesta de que un mensaje SEI de anidación de MCTS no estará presente en la unidad de acceso actual a menos que la imagen actual pertenezca al associatedPicSet de un mensaje SEI de MCTS-EIS. Por lo tanto, cuando una unidad de acceso incluye un mensaje SEI de MCTS-EIS, el dispositivo de origen 12, la unidad de extracción de subflujo de bits 24, y el dispositivo de destino 14 pueden determinar un conjunto de imágenes asociadas del mensaje SEI de MCTS-EIS, determinar si una imagen actual de la unidad de acceso está incluida en el conjunto de imágenes asociadas, y codificar un mensaje SEI de anidación de MCTS de la unidad de acceso solo cuando la imagen actual está incluida en el conjunto de imágenes asociadas.
6) Una solución potencial al sexto problema comentado arriba es imponer una restricción de que una unidad NAL SEI que contiene un mensaje SEI de anidación de MCTS no contendrá ningún otro mensaje SEI que no esté anidado en MCTS en el mensaje SEI de anidación de MCTS. Por lo tanto, el dispositivo de origen 12, la unidad de extracción de subflujo de bits 24, y el dispositivo de destino 14 pueden determinar que un mensaje SEI de anidación de MCTS no contiene ningún mensaje SEI no de anidación de MCTS en respuesta a un mensaje SEI original que contiene el mensaje SEI de anidación de MCTS (y por lo tanto, puede evitar codificar cualquier mensaje SEI no de anidación de MCTS).
7) Las siguientes técnicas pueden ser usadas para solucionar el séptimo problema comentado arriba:
a. Una técnica es cambiar el mensaje SEI de MCTS-EIS como sigue. En el proceso de extracción de subflujo de bits de MCTS especificado como parte de la semántica, en vez de extraer un subflujo de bits para un MCTS, un subflujo de bits es extraído para un conjunto de uno o más MCTS. Consecuentemente, el tier y el nivel del conjunto de MCTS serían señalizados en los SPS de reemplazo para la inclusión dentro del subflujo de bits extraído. Para el acceso conveniente de la información de tier y nivel, el tier y el nivel para cada conjunto de MCTS también pueden ser adicionalmente señalizados en el mensaje SEI de MCTS-EIS cuando el conjunto de MCTS contiene más de un MCTS. Por lo tanto, la unidad de extracción de subflujo de bits 24 y el dispositivo de destino 14 pueden extraer un subflujo de bits de MCTS de un flujo de bits original de tal modo que el subflujo de bits de MCTS incluye un conjunto de dos o más MCTS. Se debe mencionar que esta solución también puede solucionar el octavo problema comentado arriba.
i. Cada conjunto de MCTS para el cual un flujo de bits conforme puede ser extraído puede corresponder a un conjunto de información de extracción indicado en el mensaje SEI de MCTS-EIS.
ii. Alternativamente, para mantener la funcionalidad para la compartición de VPS, SPS, y PPS de reemplazo por múltiples conjuntos de datos extraíbles, los siguientes cambios de sintaxis pueden ser aplicados: dentro del bucle de conjuntos de información de extracción, añadir un bucle más, de tal modo que hay una lista de conjuntos extraíbles de MCTS señalizados para cada conjunto de información de extracción, y para cada conjunto extraíble de MCTS, la lista de los identificadores de MCTS es señalizada. Los VPS, SPS, y PPS de reemplazo de un conjunto de información de extracción se aplican a la extracción de un subflujo de bits para cualquier conjunto extraíble particular de MCTS.
b. Otra solución es definir un nuevo mensaje SEI para permitir la agrupación de mosaicos no colindantes en un MCTS, siempre que el conjunto de mosaicos pueda ser fusionado hasta una región de muestras rectangular. Por lo tanto, el dispositivo de origen 12, la unidad de extracción de subflujo de bits 24, y el dispositivo de destino 14 pueden codificar un mensaje SEI de un flujo de bits original que incluye información representativa de mosaicos no colindantes que pueden ser agrupados en un conjunto de mosaicos con movimiento restringido (MCTS) común, y codificar una lista de índices de mosaico para los mosaicos no colindantes que pueden ser agrupados en el MCTS común. Un ejemplo de tal un nuevo mensaje SEI es el mismo como el mensaje SEI de MCTS temporal excepto en los siguientes aspectos:
i. Un tipo de carga útil SEI diferente es usado.
ii. Para indicar el conjunto de mosaicos en un MCTS, en vez de usar los dos elementos de sintaxis top_left_tile_index[ i ]] j ] y bottom_right_tile_index[ i ][ j ] que identifican la posición de mosaico del mosaico superior izquierdo y la posición de mosaico del mosaico inferior derecho en una región rectangular del i-ésimo conjunto de mosaico con movimiento restringido temporal identificado, respectivamente, en orden de escaneo ráster de mosaico, una lista de índices de mosaico es usada.
8) Una solución potencial al octavo problema comentado arriba es cambiar la señalización del número máximo de MCTS permitidos para ser un valor mayor, p. ej., 1024, 2048, o 4096. Por lo tanto, el dispositivo de origen 12, la unidad de extracción de subflujo de bits 24, y el dispositivo de destino 14 pueden codificar un valor para un elemento de sintaxis del mensaje SEI de MCTS, donde el elemento de sintaxis representa un número de MCTS señalizados en el mensaje SEI de MCTS temporal, y el valor del elemento de sintaxis indica que el número de MCTS es mayor que 256.
9) Una solución potencial al noveno problema comentado arriba es cambiar el límite superior a un valor práctico más razonable tal como 255, 511, 1023, 2047 o 4095. Como un ejemplo y como será explicado en mayor detalle abajo, en vez del valor del elemento de sintaxis num_extraction_info_sets_minus1 estando en el rango de 0 a 232 - 2, inclusive, el valor puede estar en el rango de 0 a 2047, inclusive.
Abajo hay algunas combinaciones de ejemplo de las técnicas descritas arriba. Esta lista de combinaciones propuestas no tiene la intención de ser exhaustiva, ya que cualquier otra combinación puede ser implementada también. Las reivindicaciones independientes se refieren a una solución al problema 2a. Las combinaciones de las técnicas descritas arriba que no se refieren a una solución al problema 2a están presentadas para fines ilustrativos.
1) Técnicas 1, 2a, 2b, 3, 4, 5, y 6
2) Técnicas 1, 2a, 2b, 3, 4, 5, 6, 8
3) Técnicas 1, 2a, 2b, 3, 4, 5, 6, y 7a
4) Técnicas 1, 2a, 2b, 3, 4, 5, 6, 7a, y 8
5) Técnicas 1, 2a, 2b, 3, 4, 5a, y 6
6) Técnicas 1, 2a, 2b, 3, 4, 5a, 6, y 7a
7) Técnicas 1, 2a, 2b, 3, y 4
8) Técnicas 2a, 2b, 3, y 4
9) Técnicas 2a, 2b, 5 y 6
10) Técnica 1 solo
11) Técnica 2a solo
12) Técnica 2b solo
13) Técnicas 2a y 2b
14) Técnica 3 solo
15) Técnica 4 solo
16) Técnica 5 solo
17) Técnica 5a solo
18) Técnica 6 solo
19) Técnica 7b solo
20) Técnica 8 solo
21) Técnicas 7b y 8, con el mensaje SEI de MCTS temporal en la técnica 8 siendo reemplazado con el nuevo mensaje SEI en la técnica 7b.
22) Técnicas 1, 2a, 2b, 3, 4, 5, y 7b, con el mensaje SEI de MCTS temporal en las técnicas distintas de la técnica 7b siendo reemplazado con el nuevo mensaje SEI en la técnica 7b.
23) Técnicas 1, 2a, 2b, 3, 4, 5, 7b, y 8, con el mensaje SEI de MCTS temporal en las técnicas distintas de la técnica 7b siendo reemplazado con el nuevo mensaje SEI en la técnica 7b.
24) Cada una de las técnicas de arriba más la técnica 9.
El codificador de vídeo 20 puede además enviar datos de sintaxis, tales como datos de sintaxis basados en bloques, datos de sintaxis basados en imágenes, y datos de sintaxis basados en secuencias, al decodificador de vídeo 30, p. ej., en una cabecera de imagen, una cabecera de bloque, una cabecera de segmento, u otros datos de sintaxis, tales como un conjunto de parámetros de secuencia (SPS), conjunto de parámetros de imagen (PPS), o conjunto de parámetros de vídeo (VPS).
El codificador de vídeo 20 y el decodificador de vídeo 30 pueden ser cada uno implementados como cualquiera de una variedad de circuitería de codificador o decodificador apropiada, como sea aplicable, tales 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), circuitería de lógica discreta, software, hardware, firmware o cualquier combinación de ellos. Cada uno del codificador de vídeo 20 y el decodificador de vídeo 30 puede estar incluido en uno o más codificadores o decodificadores, cualquiera de los cuales puede estar integrado como parte de un codificador/decodificador (CÓDEC) de vídeo combinado. Un dispositivo que incluye codificador de vídeo 20 y/o decodificador de vídeo 30 puede comprender un circuito integrado, un microprocesador, y/o un dispositivo de comunicación inalámbrica, tal como un teléfono móvil.
La FIG. 2 es un diagrama de bloques que ilustra un ejemplo de codificador de vídeo 20 que puede implementar técnicas para procesar datos de vídeo usando conjuntos de mosaicos con movimiento restringido (MCTS). El codificador de vídeo 20 puede realizar intra e intercodificación de bloques de vídeo dentro de segmentos de vídeo. La intracodificación se basa en la predicción espacial para reducir o eliminar la redundancia espacial en vídeo dentro de un fotograma o imagen de vídeo dados. La intercodificación se basa en la predicción temporal para reducir o eliminar la redundancia temporal en vídeo dentro de fotogramas o imágenes adyacentes de una secuencia de vídeo. El modo intra (modo I) se puede referir a cualquiera de varios modos de codificación con base espacial. Los modos inter, tales como la predicción unidireccional (modo P) o la bipredicción (modo B), se pueden referir a cualquiera de varios modos de codificación con base temporal.
Como está mostrado en la FIG. 2, el codificador de vídeo 20 recibe un bloque de vídeo actual dentro de un fotograma de vídeo a ser codificado. En el ejemplo de la FIG. 2, el codificador de vídeo 20 incluye unidad de selección de modo 40, memoria de imágenes de referencia 64 (la cual también puede ser referida como un búfer de imágenes decodificadas (DPB)), sumador 50, unidad de procesamiento de transformación 52, unidad de cuantización 54, y unidad de codificación por entropía 56. La unidad de selección de modo 40, a su vez, incluye unidad de compensación de movimiento 44, unidad de estimación de movimiento 42, unidad de intrapredicción 46, y unidad de partición 48. Para la reconstrucción de bloques de vídeo, el codificador de vídeo 20 también incluye unidad de cuantización inversa 58, unidad de transformación inversa 60, y sumador 62. Un filtro de desbloqueo (no mostrado en la FIG. 2) también puede estar incluido para filtrar límites de bloque para eliminar artefactos de bloque del vídeo reconstruido. Si se desea, el filtro de desbloqueo filtraría típicamente el producto del sumador 62. Filtros adicionales (en bucle o posbucle) también pueden ser usados además del filtro de desbloqueo. Tales filtros no están mostrados por brevedad, pero si se desea, pueden filtrar el producto del sumador 50 (como un filtro en bucle).
Durante el proceso de codificación, el codificador de vídeo 20 recibe un fotograma o segmento de vídeo a ser codificado. El fotograma o segmento puede ser dividido en múltiples bloques de vídeo. La unidad de estimación de movimiento 42 y la unidad de compensación de movimiento 44 realizan codificación interpredictiva del bloque de vídeo recibido en relación con uno o más bloques en uno o más fotogramas de referencia para proporcionar predicción temporal. La unidad de intrapredicción 46 puede alternativamente realizar codificación intrapredictiva del bloque de vídeo recibido en relación con uno o más bloques colindantes en el mismo fotograma o segmento como el bloque a ser codificado para proporcionar predicción espacial. El codificador de vídeo 20 puede realizar múltiples pases de codificación, p. ej., para seleccionar un modo de codificación apropiado para cada bloque de datos de vídeo.
Además, la unidad de partición 48 puede particionar bloques de datos de vídeo en subbloques, basándose en la evaluación de esquemas de partición previos en pases de codificación previos. Por ejemplo, la unidad de partición 48 puede inicialmente particionar un fotograma o segmento en CTU, y particionar cada una de las CTU en subCU basándose en el análisis de la tasa de distorsión (p. ej., optimización de tasa de distorsión). La unidad de selección de modo 40 puede además producir una estructura de datos de árbol cuaternario indicativa de la partición de una CTU en subCU. Las CU de nodo hoja del árbol cuaternario puede 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 predicción, intra o inter, p. ej., basándose en resultados de error, y proporciona el bloque predicho resultante al sumador 50 para generar datos residuales y al sumador 62 para reconstruir el bloque codificado para el uso como un fotograma de referencia. La unidad de selección de modo 40 también proporciona elementos de sintaxis, tales como vectores de movimiento, indicadores de intramodo, información de partición, y otra tal información de sintaxis, 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 altamente integradas, pero están ilustradas separadamente por fines conceptuales. La estimación de movimiento, realizada por la unidad de estimación de movimiento 42, es el proceso de generar vectores de movimiento, los cuales estiman el movimiento para bloques de vídeo. Un vector de movimiento, por ejemplo, puede indicar el desplazamiento de una PU de un bloque de vídeo dentro de un fotograma o imagen de vídeo actual en relación con un bloque predictivo dentro de un fotograma de referencia (u otra unidad codificada) en relación con el bloque actual que es codificado dentro del fotograma actual (u otra unidad codificada). Un bloque predictivo es un bloque que resulta que coincide estrechamente con el bloque a ser codificado, en términos de diferencia de píxel, la cual puede ser determinada mediante suma de diferencia absoluta (SAD), suma de diferencia al cuadrado (SSD), u otra métrica de diferencia. En algunos ejemplos, el codificador de vídeo 20 puede calcular valores para posiciones de píxel subentero de imágenes de referencia almacenadas en la memoria de imágenes de referencia 64. Por ejemplo, el codificador de vídeo 20 puede interpolar valores de posiciones de un cuarto de píxel, posiciones de un octavo de píxel, u otras posiciones de píxel fraccionales 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íxel completo y las posiciones de píxel fraccional y transmitir un vector de movimiento con precisión de píxel fraccional.
La unidad de estimación de movimiento 42 calcula un vector de movimiento para una PU de un bloque de vídeo en un segmento intercodificado comparando la posición de la PU con la posición de un bloque predictivo de una imagen de referencia. La imagen de referencia puede ser seleccionada 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 identifican una o más imágenes de referencia almacenadas en la memoria de imágenes 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 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 extraer o generar el bloque predictivo basándose en el vector de movimiento determinado por la unidad de estimación de movimiento 42. De nuevo, la unidad de estimación de movimiento 42 y la unidad de compensación de movimiento 44 pueden estar funcionalmente integradas, en algunos ejemplos. Tras recibir el vector de movimiento para la PU del bloque de vídeo actual, la unidad de compensación de movimiento 44 puede ubicar el bloque predictivo al cual apunta el vector de movimiento en una de las listas de imágenes de referencia. El sumador 50 forma un bloque de vídeo residual restando valores de píxel del bloque predictivo de los valores de píxel del bloque de vídeo actual que es codificado, formando valores de diferencia de píxel, como está comentado abajo. En general, la unidad de estimación de movimiento 42 realiza estimación de movimiento en relación con componentes luma, y la unidad de compensación de movimiento 44 usa vectores de movimiento calculados basándose en los componentes luma para tanto componentes croma como componentes luma. La unidad de selección de modo 40 también puede generar elementos de sintaxis asociados con los bloques de vídeo y el segmento de vídeo para el uso por parte del decodificador de vídeo 30 en la decodificación de los bloques de vídeo del segmento de vídeo.
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 está descrito arriba. En particular, la unidad de intrapredicción 46 puede determinar un modo de intrapredicción a usar 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, p. ej., durante pases de codificación separados, y la unidad de intrapredicción 46 (o unidad de selección de modo 40, en algunos ejemplos) puede seleccionar un modo de intrapredicción apropiado a usar a partir de los modos probados.
Por ejemplo, la unidad de intrapredicción 46 puede calcular valores de tasa-distorsión usando un análisis de tasadistorsión para los varios modos de intrapredicción probados, y seleccionar el modo de intrapredicción que tiene las mejores características de tasa-distorsión de entre los modos probados. El análisis de tasa-distorsión determina generalmente 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 (esto es, un número de bits) usada para producir el bloque codificado. La unidad de intrapredicción 46 puede calcular ratios a partir de las distorsiones y tasas para los varios bloques codificados para determinar cuál modo de intrapredicción exhibe el mejor valor de tasadistorsión para el bloque.
Tras 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 cuales pueden incluir una pluralidad de tablas de índices de modos de intrapredicción y una pluralidad de tablas de índices de modos de intrapredicción (también referidas como tablas de asignación de palabras de código) modificadas, definiciones de contextos de codificación para varios bloques, e indicaciones de un modo de intrapredicción sumamente probable, una tabla de índices de modos de intrapredicción, y una tabla de índices de modos de intrapredicción modificada a usar 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 es codificado. El sumador 50 representa el componente o los componentes que realizan esta operación de resta. La unidad de procesamiento de transformación 52 aplica una transformación, tal como una transformación de coseno discreta (DCT) o una transformación conceptualmente similar, al bloque residual, produciendo un bloque de vídeo que comprende valores de coeficiente de transformación. Transformaciones de ondícula, transformaciones de entero, transformaciones de subbanda, transformaciones de seno discretas (DST), u otros tipos de transformaciones podrían ser usadas en vez de una DCT. En cualquier caso, la unidad de procesamiento de transformación 52 aplica la transformación al bloque residual, produciendo un bloque de coeficientes de transformación. La transformación puede convertir la información residual de un dominio de píxel a un dominio de transformación, tal como un dominio de frecuencia. La unidad de procesamiento de transformación 52 puede enviar los coeficientes de transformación resultantes a la unidad de cuantización 54. La unidad de cuantización 54 cuantiza los coeficientes de transformación para reducir más la tasa de bits. El proceso de cuantización puede reducir la profundidad de bit asociada con algunos o todos los coeficientes. El grado de cuantización puede ser modificado ajustando un parámetro de cuantización.
Después de la cuantización, la unidad de codificación por entropía 56 codifica por entropía los coeficientes de transformación cuantizados. Por ejemplo, la unidad de codificación por entropía 56 puede realizar codificación adaptativa según el contexto de longitud variable (CAVLC), codificación aritmética binaria adaptativa al contexto (CABAC), codificación aritmética binaria adaptativa al contexto basada en sintaxis (SBAC), codificación por entropía de partición de intervalos 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 estar basado en bloques colindantes. Después de la codificación por entropía por parte de la unidad de codificación por entropía 56, el flujo de bits codificado puede ser transmitido a otro dispositivo (p. ej., decodificador de vídeo 30) o archivado para la posterior transmisión o recuperación.
La unidad de cuantización inversa 58 y la unidad de transformación inversa 60 aplican cuantización inversa y transformación inversa, respectivamente, para reconstruir el bloque residual en el dominio de píxel. En particular, el sumador 62 añade el bloque residual reconstruido al bloque de predicción con compensación de movimiento producido por la unidad de compensación de movimiento 44 o la unidad de intrapredicción 46 para producir un bloque de vídeo reconstruido para el almacenamiento en la memoria de imágenes de referencia 64. El bloque de vídeo reconstruido puede ser usado 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 un fotograma de vídeo subsiguiente.
La FIG. 3 es un diagrama de bloques que ilustra un ejemplo de un decodificador de vídeo 30 que puede implementar técnicas para procesar datos de vídeo usando conjuntos de mosaicos con movimiento restringido (MCTs ). En el ejemplo de la FIG. 3, el decodificador de vídeo 30 incluye una unidad de decodificación por entropía 70, unidad de compensación de movimiento 72, unidad de intrapredicción 74, unidad de cuantización inversa 76, unidad de transformación inversa 78, memoria de imágenes de referencia 82 y sumador 80. El decodificador de vídeo 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 vídeo 20 (FIG. 2). La unidad de compensación de movimiento 72 puede generar datos de predicción basándose 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 basándose 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 vídeo 30 recibe un flujo de bits de vídeo codificado que representa bloques de vídeo de un segmento de vídeo codificado y elementos de sintaxis asociados desde el codificador de vídeo 20. La unidad de decodificación por entropía 70 del decodificador de vídeo 30 decodifica por entropía el flujo de bits para generar coeficientes cuantizados, vectores de movimiento o indicadores de modo de intrapredicción, y otros elementos de sintaxis. La unidad de decodificación por entropía 70 transmite los vectores de movimiento a y otros elementos de sintaxis a la unidad de compensación de movimiento 72. El decodificador de vídeo 30 puede recibir los elementos de sintaxis en el nivel de segmento de vídeo y/o el nivel de bloque de vídeo.
Cuando el segmento de vídeo es codificado como un segmento intracodificado (I), la unidad de intrapredicción 74 puede generar datos de predicción para un bloque de vídeo del segmento de vídeo actual basándose en un modo de intrapredicción señalizado y datos de bloques decodificados previamente del fotograma o imagen actual. Cuando el fotograma de vídeo es codificado como un segmento intercodificado (esto es, B o P), la unidad de compensación de movimiento 72 produce bloques predictivos para un bloque de vídeo del segmento de vídeo actual basándose en los vectores de movimiento y otros elementos de sintaxis recibidos desde la unidad de decodificación por entropía 70. Los bloques predictivos pueden ser producidos a partir de una de las imágenes de referencia dentro de una de las listas de imágenes de referencia. El decodificador de vídeo 30 puede construir las listas de fotogramas de referencia, Lista 0 y Lista 1, usando técnicas de construcción por defecto basándose en imágenes de referencia almacenadas en la memoria de imágenes de referencia 82. La unidad de compensación de movimiento 72 determina información de predicción para un bloque de vídeo del segmento de vídeo 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 vídeo actual que es decodificado. 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 (p. ej., intra o interpredicción) usado para codificar los bloques de vídeo del segmento de vídeo, un tipo de segmento de interpredicción (p. ej., segmento B o segmento P), 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 vídeo intercodificado del segmento, estado de interpredicción para cada bloque de vídeo intercodificado del segmento, y otra información para decodificar los bloques de vídeo en el segmento de vídeo actual.
La unidad de compensación de movimiento 72 también puede realizar interpolación basándose en filtros de interpolación. La unidad de compensación de movimiento 72 puede usar filtros de interpolación como son usados por el codificador de vídeo 20 durante la codificación de los bloques de vídeo 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 vídeo 20 a partir de los elementos de sintaxis recibidos y usar los filtros de interpolación para producir bloques predictivos.
La unidad de cuantización inversa 76 cuantiza inversamente, esto es, decuantiza, los coeficientes de transformación cuantizados proporcionados en el flujo de bits y decodificados por la unidad de decodificación por entropía 70. El proceso de cuantización inversa puede incluir el uso de un parámetro de cuantización QP y calculado por el decodificador de vídeo 30 para cada bloque de vídeo en el segmento de vídeo para determinar un grado de cuantización y, de igual modo, un grado de cuantización inversa que debe ser aplicado.
La unidad de transformación inversa 78 aplica una transformación inversa, p. ej., una DCT inversa, una transformación de entero inversa, o un proceso de transformación inversa conceptualmente similar, a los coeficientes de transformación para producir bloques residuales en el dominio de píxel.
Después de que la unidad de compensación de movimiento 72 genera el bloque predictivo para el bloque de vídeo actual basándose en los vectores de movimiento y otros elementos de sintaxis, el decodificador de vídeo 30 forma un bloque de vídeo decodificado sumando los bloques residuales desde la unidad de transformación inversa 78 con los bloques predictivos correspondientes generados por la unidad de compensación de movimiento 72. El sumador 80 representa el componente o los componentes que realizan esta operación de suma. Si se desea, un filtro de desbloqueo también puede ser aplicado para filtrar los bloques decodificados para eliminar artefactos de bloque. Otros filtros de bucle (o bien en el bucle de codificación o tras el bucle de codificación) también pueden ser usados para suavizar las transiciones de píxeles, o de lo contrario mejorar la calidad de vídeo. Los bloques de vídeo decodificados en un fotograma o imagen dados son luego almacenados en la memoria de imágenes de referencia 82, la cual almacena imágenes de referencia usadas para la subsiguiente compensación de movimiento. La memoria de imágenes de referencia 82 también almacena vídeo decodificado para la posterior presentación en un dispositivo de pantalla, tal como el dispositivo de pantalla 32 de la FIG. 1.
La FIG. 4 es un diagrama de flujo que ilustra un método de ejemplo para extraer un subflujo de bits de acuerdo con las técnicas de esta divulgación. El método de la FIG. 4 está explicado como que es realizado por la unidad de extracción de subflujo de bits 24 de la FIG. 1. Sin embargo, se debe entender que otras unidades o dispositivos pueden estar configurados para realizar el método de la FIG. 4. Por ejemplo, el dispositivo de destino 14 o el decodificador de vídeo 30 pueden estar configurados para realizar el método de la FIG. 4.
Inicialmente, la unidad de extracción de subflujo de bits 24 recibe un mensaje SEI de MCTS temporal para un flujo de bits (100). En particular, la unidad de extracción de subflujo de bits 24 puede recibir el mensaje SEI de MCTS en una unidad de acceso del flujo de bits. En este ejemplo, la unidad de extracción de subflujo de bits 24 también recibe un mensaje SEI de MCTS-EIS para el flujo de bits (102). De conformidad con algunos ejemplos de las técnicas de esta divulgación, la unidad de extracción de subflujo de bits 24 decodifica un mensaje SEI de MCTS-EIS de una unidad de acceso solo cuando la unidad de acceso incluye un mensaje SEI de MCTS temporal.
La unidad de extracción de subflujo de bits 24 determina luego un subflujo de bits a extraer del flujo de bits (104). Por ejemplo, la unidad de extracción de subflujo de bits 24 puede recibir una petición desde el dispositivo de destino 14 para uno o más MCTS particulares. La unidad de extracción de subflujo de bits 24 determina conjuntos de parámetros (p. ej., conjuntos de parámetros de vídeo, secuencia, y/o imagen) a ser extraídos para el uno o más MCTS a ser extraídos. Esto es, el mensaje SEI de MCTS-EIS puede incluir identificadores de conjuntos de parámetros que corresponden a cada MCTS. Correspondientemente, la unidad de extracción de subflujo de bits 24 extrae los conjuntos de parámetros para los MCTS a ser extraídos usando el mensaje SEI de MCTS-EIS (106).
En algunos ejemplos, en respuesta a la determinación de extraer el subflujo de bits usando el mensaje SEI de MCTS-EIS, la unidad de extracción de subflujo de bits 24 omite todas las unidades NAL SEI que contienen mensajes SEI no anidados en MCTS de la inclusión en el subflujo de bits extraído, independientemente de un valor de un valor de identificador de capa de cabecera de unidad de capa de abstracción de red (NAL) para los mensajes SEI no anidados en MCTS (108). Esto es, la unidad de extracción de subflujo de bits 24 puede extraer otras unidades NAL SEI (p. ej., aquellas que incluyen solo mensajes SEI anidados en MCTs , p. ej., mensajes SEI que contienen un mensaje SEI de anidación de MCTS) e incluir estas unidades NAL SEI extraídas en el flujo de bits extraído.
En algunos ejemplos, tras decodificar una unidad NAL SEI que contiene un mensaje SEI de anidación de MCTS, la unidad de extracción de subflujo de bits 24 es configurada para determinar que el mensaje SEI de anidación de MCTS no contiene ningún mensaje SEI no de anidación de MCTs . Esto es, la unidad de extracción de subflujo de bits 24 puede determinar, basándose en una restricción impuesta sobre el flujo de bits original, que cualquier unidad NAL SEI que contiene un mensaje SEI de anidación de MCTS solo contiene mensajes SEI de anidación de MCTS, y no contiene ningún mensaje SEI no de anidación de MCTS. Correspondientemente, en respuesta a decodificar el mensaje SEI de anidación de MCTS, la unidad de extracción de subflujo de bits 24 puede decodificar mensajes SEI subsiguientes de la unidad NAL SEI como mensajes SEI de anidación de MCTS en respuesta a la determinación.
La unidad de extracción de subflujo de bits 24 también puede determinar un conjunto de imágenes que incluyen MCTS asociados con el mensaje SEI de MCTS-EIS usando, p. ej., un elemento de sintaxis associatedPicSet del mensaje SEI de MCTS temporal. En particular, la unidad de extracción de subflujo de bits 24 puede evitar decodificar un elemento de sintaxis associatedPicSet del mensaje SEI de MCTS-EIS, y solo decodificar el elemento de sintaxis associatedPicSet del mensaje SEI de MCTS temporal.
La unidad de extracción de subflujo de bits 24 extrae luego datos de vídeo para el subflujo de bits usando los mensajes SEI (110) desde las imágenes asociadas. Por ejemplo, la unidad de extracción de subflujo de bits 24 puede extraer datos para uno o más segmentos o mosaicos de las imágenes asociadas en el flujo de bits original que corresponde a los MCTS, para ser enviados al dispositivo de destino 14. En algunos ejemplos, la unidad de extracción de subflujo de bits 24 puede determinar que los segmentos de segmento del subflujo de bits que contienen uno o más mosaicos que pertenecen a MCTS respectivos dependen como máximo de segmentos de segmento dentro del mismo MCTS. De esta manera, la unidad de extracción de subflujo de bits 24 no necesita extraer ningún dato de MCTS excepto los MCTS determinados para ser presentados. De esta manera, la unidad de extracción de subflujo de bits 24 puede extraer un subconjunto de MCTs disponibles desde la unidad de acceso usando el mensaje s E i de MCTS-EIS. La unidad de extracción de subflujo de bits 24 envía luego el subflujo de bits extraído al dispositivo de destino 14 y decodificador de vídeo 30 de él (112).
De esta manera, el método de la FIG. 4 representa un ejemplo de un método que incluye determinar si una unidad de acceso de los datos de vídeo incluye un mensaje de información sobre mejoras complementarias (SEI) de conjunto de mosaico con movimiento restringido (MCTS); y decodificar un mensaje SEI de conjunto de información de extracción de MCTS (MCTS-EIS) de la unidad de acceso solo cuando la unidad de acceso incluye el mensaje SEI de MCTS temporal.
Adicionalmente, el método de la FIG. 4 representa un ejemplo de un método que incluye determinar extraer un subflujo de bits de conjuntos de mosaico con movimiento restringido (MCTS) de un flujo de bits original basándose al menos en parte en información de un mensaje de información sobre mejoras complementarias (SEI) de conjunto de información de extracción de MCTS (MCTS-EIS); y en respuesta a determinar extraer el subflujo de bits de MCTS, omitir todas las unidades de capa de abstracción de red (NAL) SEI que contienen mensajes SEI no anidados en MCTS de la inclusión en el subflujo de bits de MCTS extraído, independientemente de un valor de un valor de identificador de capa de cabecera de unidad NAL para los mensajes SEI no anidados en MCTS.
Además, el método de la FIG. 4 representa un ejemplo de un método que incluye decodificar una unidad de capa de abstracción de red (NAL) de información de mejoras complementarias (SEI) de un flujo de bits de vídeo, conteniendo la unidad NAL SEI un mensaje SEI de anidación de conjuntos de mosaicos con movimiento restringido (MCTS), determinar que la unidad NAL SEI no contiene ningún mensaje SEI no de anidación de MCTS en respuesta a la unidad NAL SEI que contiene el mensaje SEI de anidación de MCTS, y decodificar mensajes SEI subsiguientes de la unidad NAL SEI como mensajes SEI de anidación de MCTS en respuesta a la determinación.
La FIG. 5 es un diagrama de flujo que ilustra otro método de ejemplo para extraer un subflujo de bits de acuerdo con las técnicas de esta divulgación. La FIG. 5 está mostrada como un método separado de la FIG. 4 por claridad, aunque se debe entender que en algunos ejemplos, los métodos de las FIG. 4 y 5 pueden ser realizados juntos. Por ejemplo, partes del método de la FIG. 5 pueden corresponder generalmente al paso 110 de la FIG. 4. De igual modo, el método de la FIG. 5 también está explicado como que es realizado por la unidad de extracción de subflujo de bits 24 de la FIG. 1. Sin embargo, se debe entender que otras unidades o dispositivos pueden ser configurados para realizar el método de la FIG. 5. Por ejemplo, el dispositivo de destino 14 o el decodificador de vídeo 30 pueden ser configurados para realizar el método de la FIG. 5.
En este ejemplo, la unidad de extracción de subflujo de bits 24 recibe inicialmente un mensaje SEI de MCTS temporal para un flujo de bits (120). La unidad de extracción de subflujo de bits 24 también determina extraer un subflujo de bits, y determina si cada mosaico de imágenes en el flujo de bits original es su propio MCTS separado (122). Por ejemplo, la unidad de extracción de subflujo de bits 24 puede determinar un valor de un elemento de sintaxis each_tile_one_tile_set_flag del mensaje SEI de MCTS temporal para determinar si cada mosaico corresponde a un conjunto de mosaicos separado.
Si cada mosaico corresponde a un conjunto de mosaicos separado (rama “SÍ” de 122), la unidad de extracción de subflujo de bits 24 puede establecer valores de identificador para cada MCTS para posiciones de mosaico de mosaicos en una o más imágenes correspondientes (124), p. ej., en orden de escaneo ráster. Por lo tanto, en algunos ejemplos, cuando each_tile_one_tile_set_flag del mensaje SEI de MCTS temporal asociado es igual a 1, la unidad de extracción de subflujo de bits 24 puede establecer identificadores de MCTS para cada MCTS igual a una posición de mosaico de un mosaico correspondiente en el MCTS en orden de escaneo ráster de mosaico.
En cambio, si cada mosaico no corresponde a un conjunto de mosaicos separado (rama “NO” de 124), p. ej., si un conjunto de mosaicos puede incluir dos o más mosaicos, la unidad de extracción de subflujo de bits 24 puede determinar un número de conjuntos de MCTS en el mensaje SEI de MCTS temporal (126). El número de conjuntos de MCTS puede estar indicado por el valor del elemento de sintaxis num_sets_in_message_minus1 del mensaje SEI de MCTS temporal. Como está mostrado en el ejemplo de la Tabla 1 arriba, el mensaje SEI de MCTS temporal incluye un bucle del número de conjuntos de MCTS en el mensaje SEI de MCTS temporal, incluyendo el bucle una iteración por conjunto que señaliza valores para varios elementos de sintaxis para cada conjunto de MCTS. Tales parámetros pueden incluir, por ejemplo, mcts_id[i]. De conformidad con las técnicas de esta divulgación, la unidad de extracción de subflujo de bits 24 procesa iterativamente valores de elementos de sintaxis para MCTS del mensaje SEI de MCTS temporal como está mostrado en, p. ej., la Tabla 1 (128). Además, la unidad de extracción de subflujo de bits 24 establece un valor de identificador (p. ej., mcts_id[i]) para cada MCS igual a la posición de iteración (130), p. ej., “i” en el para el bucle que itera por los MCTS como está mostrado en la Tabla 1.
En cualquier caso, la unidad de extracción de subflujo de bits 24 puede luego extraer un subflujo de bits usando los identificadores de MCTS (132) y enviar el subflujo de bits al decodificador de vídeo 30 (FIG. 1) (134).
De esta manera, el método de la FIG. 5 representa un ejemplo de un método que incluye determinar un valor de un elemento de sintaxis de un mensaje de información sobre mejoras complementarias (SEI) de conjuntos de mosaicos con movimiento restringido (MCTS) temporales de una unidad de acceso, en donde el valor del elemento de sintaxis representa si todos los mosaicos de una o más imágenes correspondientes están incluidos en MCTS separados; y cuando el valor del elemento de sintaxis indica que cada mosaico de las imágenes correspondientes no está incluido en el MCTS separado, establecer un identificador de MCTS del MCTS de una imagen actual de la unidad de acceso igual a un valor de un índice del MCTS, siendo la imagen actual una de las imágenes correspondientes.
Se debe reconocer que dependiendo del ejemplo, ciertos actos o eventos de cualquiera de las técnicas descritas aquí pueden ser realizados en una secuencia diferente, pueden ser añadidos, fusionados, u omitidos completamente (p. ej., no todos los actos o eventos descritos son necesarios para la práctica de las técnicas). Además, en ciertos ejemplos, los actos o eventos pueden ser realizados concurrentemente, p. ej., a través de procesamiento multihilado, procesamiento de interrupción, o múltiples procesadores, más que secuencialmente.
En uno o más ejemplos, las funciones descritas pueden ser implementadas en hardware, software, firmware, o cualquier combinación de ellos. Si se implementan en software, las funciones pueden ser almacenadas en o transmitidas a través de como una o más instrucciones o código en un medio legible por ordenador y ejecutadas por una unidad de procesamiento basada en hardware. Los medios legibles por ordenador pueden incluir medios de almacenamiento legibles por ordenador, los cuales corresponden a un medio tangible tal como medios de almacenamiento de datos, o medios de comunicación que incluyen cualquier medio que facilita la transferencia de un programa de ordenador de un lugar a otro, p. ej., de acuerdo con un protocolo de comunicación. De esta manera, los medios legibles por ordenador pueden generalmente corresponder a (1) medios de almacenamiento legibles por ordenador tangibles que son no 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 que puede ser accedido por 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 de ordenador puede incluir un medio legible por ordenador.
A modo de ejemplo, y no de limitación, tales medios de almacenamiento legibles por ordenador pueden comprender RAM, ROM, EEPROM, CD-ROM u otro almacenamiento de disco óptico, almacenamiento de disco magnético, u otros dispositivos de almacenamiento magnético, memoria flash, o cualquier otro medio que puede ser usado para almacenar código de programa deseado en la forma de instrucciones o estructuras de datos y que puede ser accedido por un ordenador. También, cualquier conexión está adecuadamente designada como medio legible por ordenador. Por ejemplo, si las instrucciones son transmitidas desde un sitio web, servidor, u otra fuente remota usando un cable coaxial, cable de fibra óptica, par trenzado, línea de abonado digital (DSL), o tecnologías inalámbricas tales como infrarrojos, radio, y microondas, entonces el cable coaxial, cable de fibra óptica, par trenzado, DSL, o tecnologías inalámbricas tales como infrarrojos, radio, y microondas están incluidas en la definición de medio. Debe entenderse, sin embargo, 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 en cambio dirigidos a medios de almacenamiento tangibles no transitorios. De disco y disco, como están usados aquí, incluye disco compacto (CD), disco láser, disco óptico, disco versátil digital (DVD), disquete y disco Blu-ray, donde las unidades de disco usualmente reproducen datos magnéticamente, mientras que los discos reproducen datos ópticamente con láseres. Las combinaciones de lo de arriba deben también ser incluidas dentro del alcance de medios legibles por ordenador.
Las instrucciones pueden ser ejecutadas por uno o más procesadores, tales como uno o más procesadores de señales digitales (DSP), microprocesadores de uso general, circuitos integrados de aplicación específica (ASIC), matrices de puertas programables en campo (FPGA), u otra circuitería de lógica discreta o integrada equivalente. Correspondientemente, el término “procesador”, como está usado aquí puede referirse a cualquiera de las estructuras anteriores o cualquier otra estructura apropiada para la implementación de las técnicas descritas aquí. Además, en algunos aspectos, la funcionalidad descrita aquí puede estar proporcionada dentro de módulos de software y/o hardware dedicados configurados para codificar y decodificar, o incorporada en un códec combinado. También, las técnicas podrían ser plenamente implementadas en uno o más circuitos o elementos lógicos.
Las técnicas de esta divulgación pueden ser implementadas en una amplia variedad de dispositivos o aparatos, incluido un terminal inalámbrico, un circuito integrado (IC) o un conjunto de IC (p. ej., un conjunto de chips). Varios componentes, módulos, o unidades están descritos en esta divulgación para enfatizar aspectos funcionales de los dispositivos configurados para realizar las técnicas divulgadas, pero no requieren necesariamente la realización por parte de diferentes unidades de hardware. Más bien, como está descrito arriba, varias unidades pueden ser combinadas en una unidad de hardware códec o proporcionadas por una colección de unidades de hardware interoperativas, incluidos uno o más procesadores como está descrito arriba, en conjunción con software y/o firmware apropiado.
Varios ejemplos han sido descritos.

Claims (11)

REIVINDICACIONES
1. Un método de procesar datos de vídeo, comprendiendo en método:
determinar (122) un valor de un primer elemento de sintaxis de un mensaje de información de mejoras complementarias, SEI, de conjuntos de mosaicos con movimiento restringido, MCTS, temporales de una unidad de acceso, en donde el valor del primer elemento de sintaxis representa si cada mosaico de una o más imágenes correspondientes está incluido o no en un MCTS separado; y cuando el valor del primer elemento de sintaxis no indica que cada mosaico de la una o más imágenes correspondientes está incluido en un MCTS separado:
i) determinar (126), basándose en un valor de un segundo elemento de sintaxis del mensaje SEI de MCTS temporal, un número de conjuntos de MCTS en el mensaje SEI de MCTS temporal, en donde el mensaje SEI de MCTS temporal incluye un bucle del número de conjuntos de MCTS en el mensaje SEI de MCTS temporal, incluyendo el bucle una iteración por conjunto que señaliza valores para uno o más elementos de sintaxis adicionales para cada conjunto de MCTS; y
ii) basándose en el bucle del número de conjuntos de MCTS en el mensaje SEI de MCTS temporal, procesar (128) valores del uno o más elementos de sintaxis adicionales para cada conjunto de MCTS en el mensaje SEI de MCTS temporal y establecer (130) un valor de identificador de MCTS de un MCTS de una imagen actual de la unidad de acceso igual a un valor de un índice del conjunto de MCTS dentro del bucle, siendo la imagen actual una de la una o más imágenes correspondientes, en donde el valor del índice del conjunto de MCTS dentro del bucle es el valor de una variable i, la cual es un contador de bucle que incrementa en cada iteración del bucle.
2. El método de la reivindicación 1, que comprende además, cuando el valor del primer elemento de sintaxis indica que todos los mosaicos de las imágenes correspondientes están incluidos en los MCTS separados, establecer (124) identificadores de MCTS para cada uno de los MCTS iguales a una posición de mosaico de un mosaico correspondiente en el MCTS en orden de escaneo ráster de mosaico.
3. El método de la reivindicación 1, en donde el primer elemento de sintaxis comprende each_tile_one_tile_set_flag, en donde un valor de uno para la each_tile_one_tile_set_flag indica que todos los mosaicos de la una o más imágenes correspondientes están incluidos en los MCTS separados, y en donde un valor de cero para la each_tile_one_tile_set_flag indica que dos o más mosaicos de la una o más imágenes correspondientes están incluidos en un MCTS común.
4. El método de la reivindicación 1, que comprende además:
extraer (132) un subflujo de bits de los datos de vídeo de acuerdo con el mensaje SEI de MCTS; y
pasar (134) el subflujo de bits extraído a un decodificador de vídeo.
5. Un dispositivo para procesar datos de vídeo, comprendiendo el dispositivo:
una memoria configurada para almacenar datos de vídeo; y
uno o más procesadores implementados en circuitería y configurados para:
determinar (122) un valor de un primer elemento de sintaxis de un mensaje de información de mejoras complementarias, SEI, de conjuntos de mosaicos con movimiento restringido, MCTS, temporales de una unidad de acceso, en donde el valor del primer elemento de sintaxis representa si cada mosaico de una o más imágenes correspondientes está incluido o no en un MCTS separado; y
cuando el valor del primer elemento de sintaxis no indica que los mosaicos de las imágenes correspondientes están incluidos en un MCTS separado:
i) determinar (126), basándose en un valor de un segundo elemento de sintaxis del mensaje SEI de MCTS temporal, un número de conjuntos de MCTS en el mensaje SEI de MCTS temporal, en donde el mensaje SEI de MCTS temporal incluye un bucle del número de conjuntos de MCTS en el mensaje SEI de MCTS temporal, incluyendo el bucle una iteración por conjunto que señaliza valores para uno o más elementos de sintaxis adicionales para cada conjunto de MCTS; y
ii) basándose en el bucle del número de conjuntos de MCTS en el mensaje SEI de MCTS temporal, procesar (128) valores del uno o más elementos de sintaxis adicionales para cada conjunto de MCTS en el mensaje SEI de MCTS temporal y establecer (130) un valor de identificador de MCTS de un MCTS de una imagen actual de la unidad de acceso igual al valor de un índice de un conjunto de MCTS dentro del bucle, siendo la imagen actual una de la una o más imágenes correspondientes, en donde el valor del índice del conjunto de MCTS dentro del bucle es el valor de una variable i, la cual es un contador de bucle que incrementa en cada iteración del bucle.
6. El dispositivo de la reivindicación 5, en donde el uno o más procesadores están además configurados para, cuando el valor del primer elemento de sintaxis indica que todos los mosaicos de las imágenes correspondientes están incluidos en los MCTS separados, establecer (124) identificadores de MCTS para cada MCTS iguales a una posición de mosaico de un mosaico correspondiente en el MCTS en orden de escaneo ráster de mosaico.
7. El dispositivo de la reivindicación 5, en donde el primer elemento de sintaxis comprende each_tile_one_tile_set_flag, en donde un valor de uno para la each_tile_one_tile_set_flag indica que todos los mosaicos de la una o más imágenes correspondientes están incluidos en los MCTS separados, y en donde un valor de cero para la each_tile_one_tile_set_flag indica que dos o más mosaicos de la una o más imágenes correspondientes están incluidos en un MCTS común.
8. El dispositivo de la reivindicación 5, en donde el uno o más procesadores están además configurados para: extraer (132) un subflujo de bits de los datos de vídeo de acuerdo con el mensaje SEI de MCTS; y
pasar (134) el subflujo de bits extraído a un decodificador de vídeo.
9. El dispositivo de la reivindicación 5, que comprende además una pantalla configurada para mostrar los datos de vídeo.
10. El dispositivo de la reivindicación 5, en donde el dispositivo comprende una o más de una cámara, un ordenador, un dispositivo móvil, un dispositivo receptor de radiodifusión, o un decodificador.
11. Un medio de almacenamiento legible por ordenador que tiene almacenado en él instrucciones que, cuando son ejecutadas por un procesador, hacen que el procesador realice el método de cualquiera de las reivindicaciones 1 a 4.
ES18710749T 2017-03-03 2018-03-02 Identificadores de codificación para conjuntos de mosaicos con movimiento restringido Active ES2909066T3 (es)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201762466871P 2017-03-03 2017-03-03
US201762473947P 2017-03-20 2017-03-20
US15/909,418 US10897612B2 (en) 2017-03-03 2018-03-01 Coding identifiers for motion constrained tile sets
PCT/US2018/020662 WO2018160964A1 (en) 2017-03-03 2018-03-02 Coding identifiers for motion constrained tile sets

Publications (1)

Publication Number Publication Date
ES2909066T3 true ES2909066T3 (es) 2022-05-05

Family

ID=63355493

Family Applications (4)

Application Number Title Priority Date Filing Date
ES18710753T Active ES2867583T3 (es) 2017-03-03 2018-03-02 Codificación de mensajes de SEI de MCTS anidados
ES18710745T Active ES2895270T3 (es) 2017-03-03 2018-03-02 Codificación de mensajes SEI de MCTS-EIS de una unidad de acceso
ES18710752T Active ES2867624T3 (es) 2017-03-03 2018-03-02 Extracción de subflujos de bits de MCTS para codificación de vídeo
ES18710749T Active ES2909066T3 (es) 2017-03-03 2018-03-02 Identificadores de codificación para conjuntos de mosaicos con movimiento restringido

Family Applications Before (3)

Application Number Title Priority Date Filing Date
ES18710753T Active ES2867583T3 (es) 2017-03-03 2018-03-02 Codificación de mensajes de SEI de MCTS anidados
ES18710745T Active ES2895270T3 (es) 2017-03-03 2018-03-02 Codificación de mensajes SEI de MCTS-EIS de una unidad de acceso
ES18710752T Active ES2867624T3 (es) 2017-03-03 2018-03-02 Extracción de subflujos de bits de MCTS para codificación de vídeo

Country Status (6)

Country Link
US (4) US10687055B2 (es)
EP (4) EP3590263B1 (es)
CN (4) CN110326298B (es)
ES (4) ES2867583T3 (es)
SG (4) SG11201906486SA (es)
WO (4) WO2018160964A1 (es)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10687055B2 (en) 2017-03-03 2020-06-16 Qualcomm Incorporated Coding MCTS-EIS SEI messages of an access unit
WO2019009473A1 (ko) * 2017-07-04 2019-01-10 엘지전자 주식회사 360도 비디오의 영역 기반 처리 방법 및 장치
US10638151B2 (en) * 2018-05-31 2020-04-28 Verizon Patent And Licensing Inc. Video encoding methods and systems for color and depth data representative of a virtual reality scene
WO2020056356A1 (en) * 2018-09-14 2020-03-19 Futurewei Technologies, Inc. Tile signaling in video coding
WO2020084556A1 (en) 2018-10-24 2020-04-30 Beijing Bytedance Network Technology Co., Ltd. Sub-block motion candidate list in video coding
BR112021014857A2 (pt) * 2019-02-01 2021-10-05 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Decodificador e codificador de vídeo e seus métodos, aparelho de composição de vídeo, composição de vídeo e fluxo de dados
WO2020175908A1 (ko) * 2019-02-26 2020-09-03 엘지전자 주식회사 시그널링된 정보에 기반한 픽처 파티셔닝 방법 및 장치
JP2022539489A (ja) * 2019-06-25 2022-09-12 インテル コーポレイション レベル導出を伴うサブピクチャおよびサブピクチャセット
US11159827B2 (en) * 2019-09-23 2021-10-26 Tencent America LLC Method for signaling output layer set with sub picture
AU2021276676A1 (en) 2020-05-22 2023-01-05 Bytedance Inc. Scalable nested SEI message handling in video sub-bitstream extraction process
KR20230015385A (ko) 2020-05-22 2023-01-31 바이트댄스 아이엔씨 액세스 유닛들에서 픽처 정보의 시그널링
JP2023529423A (ja) * 2020-06-09 2023-07-10 バイトダンス インコーポレイテッド 映像コーディングにおけるサブピクチャレベル情報の信号通知
EP4150912A4 (en) 2020-06-09 2023-11-08 ByteDance Inc. VIDEO PARAMETER SET CONSTRAINTS FOR SUB-BIT STREAM EXTRACTION FROM SUB-PICTURES
JP2023529823A (ja) 2020-06-09 2023-07-12 バイトダンス インコーポレイテッド マルチレイヤ映像ビットストリームのサブビットストリーム抽出
US11321878B2 (en) 2020-06-26 2022-05-03 Sony Group Corporation Decoded tile hash SEI message for V3C/V-PCC
WO2022063256A1 (en) 2020-09-25 2022-03-31 Beijing Bytedance Network Technology Co., Ltd. Nested and non-nested sei messages in video bitstreams
US11770498B2 (en) 2020-09-29 2023-09-26 Lemon Inc. Supplemental enhancement information for multi-layer video streams

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6214235B2 (ja) * 2012-07-02 2017-10-18 キヤノン株式会社 ファイル生成方法、ファイル生成装置、及びプログラム
US9521393B2 (en) * 2013-01-07 2016-12-13 Qualcomm Incorporated Non-nested SEI messages in video coding
SG10201913539SA (en) 2013-04-07 2020-02-27 Dolby Int Ab Signaling change in output layer sets
US9749627B2 (en) * 2013-04-08 2017-08-29 Microsoft Technology Licensing, Llc Control data for motion-constrained tile set
GB2516224A (en) * 2013-07-11 2015-01-21 Nokia Corp An apparatus, a method and a computer program for video coding and decoding
US11218710B2 (en) * 2013-07-12 2022-01-04 Sony Corporation Image decoding device and method
JP6261215B2 (ja) * 2013-07-12 2018-01-17 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
US10250897B2 (en) 2013-07-14 2019-04-02 Sharp Kabushiki Kaisha Tile alignment signaling and conformance constraints
WO2015009693A1 (en) 2013-07-15 2015-01-22 Sony Corporation Layer based hrd buffer management for scalable hevc
JP6150011B2 (ja) 2013-07-15 2017-06-21 ソニー株式会社 インタラクティビティのための動き制約タイルセットseiメッセージの拡張
CN105393532B (zh) 2013-07-22 2019-04-19 索尼公司 信息处理设备和方法
KR20150029593A (ko) 2013-09-10 2015-03-18 주식회사 케이티 스케일러블 비디오 신호 인코딩/디코딩 방법 및 장치
KR101869882B1 (ko) 2013-10-11 2018-06-25 브이아이디 스케일, 인크. Hevc 확장을 위한 하이 레벨 구문
US10187662B2 (en) 2013-10-13 2019-01-22 Sharp Kabushiki Kaisha Signaling parameters in video parameter set extension and decoder picture buffer operation
US10284858B2 (en) * 2013-10-15 2019-05-07 Qualcomm Incorporated Support of multi-mode extraction for multi-layer video codecs
WO2015060295A1 (ja) 2013-10-22 2015-04-30 シャープ株式会社 画像復号装置、及び画像復号方法
WO2015103462A1 (en) * 2014-01-02 2015-07-09 Vidyo, Inc. Overlays using auxiliary pictures
US10178397B2 (en) 2014-03-24 2019-01-08 Qualcomm Incorporated Generic use of HEVC SEI messages for multi-layer codecs
US20170150160A1 (en) 2014-06-17 2017-05-25 Sharp Kabushiki Kaisha Bitstream partitions operation
US9716900B2 (en) * 2014-06-20 2017-07-25 Qualcomm Incorporated Extensible design of nesting supplemental enhancement information (SEI) messages
CN111836049A (zh) * 2014-06-20 2020-10-27 索尼公司 图像解码设备和方法
US10609419B2 (en) 2015-06-24 2020-03-31 Sony Corporation Encoding apparatus, decoding apparatus and transmission control method
KR102433227B1 (ko) * 2016-02-09 2022-08-18 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. 효율적인 감소성 또는 효율적인 랜덤 액세스를 허용하는 픽처/비디오 데이터 스트림들에 대한 개념
KR102535168B1 (ko) 2016-05-26 2023-05-30 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. 상호작용을 하는 클라이언트를 위한 파노라마 비디오 브로드캐스트 스트리밍
JP7018447B2 (ja) 2017-01-05 2022-02-10 シャープ株式会社 仮想現実アプリケーション用の、動き制約タイルセットのシグナリングのためのシステム及び方法
US10687055B2 (en) 2017-03-03 2020-06-16 Qualcomm Incorporated Coding MCTS-EIS SEI messages of an access unit

Also Published As

Publication number Publication date
EP3590264B1 (en) 2021-04-14
CN110313182B (zh) 2022-03-22
SG11201906482UA (en) 2019-09-27
EP3590263A1 (en) 2020-01-08
EP3590263B1 (en) 2021-04-14
ES2867624T3 (es) 2021-10-20
EP3590261B1 (en) 2021-09-22
CN110326299A (zh) 2019-10-11
EP3590262B1 (en) 2022-02-23
CN110337814B (zh) 2022-03-29
US20180255296A1 (en) 2018-09-06
US20180255323A1 (en) 2018-09-06
CN110313182A (zh) 2019-10-08
EP3590262A1 (en) 2020-01-08
ES2895270T3 (es) 2022-02-18
US10764575B2 (en) 2020-09-01
WO2018160976A2 (en) 2018-09-07
EP3590261A1 (en) 2020-01-08
CN110326299B (zh) 2022-04-05
US10897612B2 (en) 2021-01-19
CN110337814A (zh) 2019-10-15
SG11201906481WA (en) 2019-09-27
US10687055B2 (en) 2020-06-16
CN110326298A (zh) 2019-10-11
SG11201906486SA (en) 2019-09-27
EP3590264A2 (en) 2020-01-08
ES2867583T3 (es) 2021-10-20
CN110326298B (zh) 2021-09-28
WO2018160957A1 (en) 2018-09-07
WO2018160964A1 (en) 2018-09-07
WO2018160970A1 (en) 2018-09-07
WO2018160976A3 (en) 2018-10-18
US20180255322A1 (en) 2018-09-06
US10904521B2 (en) 2021-01-26
US20180255305A1 (en) 2018-09-06
SG11201906484YA (en) 2019-09-27

Similar Documents

Publication Publication Date Title
ES2909066T3 (es) Identificadores de codificación para conjuntos de mosaicos con movimiento restringido
ES2774664T3 (es) Sistemas y procedimientos para copia intrabloque
ES2898663T3 (es) Perfil, capa, nivel para la 0-ésima capa de salida establecida en la codificación de vídeo
ES2884723T3 (es) Señalización de regiones de interés y actualización de decodificación gradual en la codificación de video
ES2897708T3 (es) Modelado de contexto eficiente en memoria
ES2899642T3 (es) Procesamiento en paralelo de mosaicos y de frente de onda
ES2647948T3 (es) Reutilización de conjuntos de parámetros para la codificación de vídeo
ES2715314T3 (es) Acceso aleatorio completo desde imágenes de acceso aleatorio limpio en codificación de vídeo
ES2744235T3 (es) Actualizaciones de conjuntos de parámetros en la codificación de vídeo
US9936196B2 (en) Target output layers in video coding
US9525883B2 (en) Cross-layer alignment of intra random access point pictures
ES2886344T3 (es) Predicción residual generalizada para codificación de vídeo escalable y codificación de vídeo 3D
KR20140043483A (ko) 내부 뷰 모션 예측 (ivmp) 모드를 지원하는 mvc 기반 3dvc 코덱
ES2780686T3 (es) Tipo de dependencia entre vistas en MV-HEVC
ES2711954T3 (es) Dispositivo y procedimiento para codificación escalable de información de vídeo basándose en codificación de vídeo de alta eficiencia
JP7427688B2 (ja) ビデオ符号化におけるタイルグループ情報をシグナリングするためのシステム及び方法
ES2903013T3 (es) Capas de referencia de señalización para la predicción del color 3D para la escalabilidad de la gama de color
ES2856099T3 (es) Señalización mejorada de identificadores de capa para puntos de operación de un codificador de vídeo
US20140092213A1 (en) Sub-bitstream extraction for multiview, three-dimensional (3d) and scalable media bitstreams