ES2885527T3 - Tiempos de eliminación del almacenamiento temporal de las imágenes codificadas independientes de la unidad de acceso en la codificación de vídeo - Google Patents

Tiempos de eliminación del almacenamiento temporal de las imágenes codificadas independientes de la unidad de acceso en la codificación de vídeo Download PDF

Info

Publication number
ES2885527T3
ES2885527T3 ES13771729T ES13771729T ES2885527T3 ES 2885527 T3 ES2885527 T3 ES 2885527T3 ES 13771729 T ES13771729 T ES 13771729T ES 13771729 T ES13771729 T ES 13771729T ES 2885527 T3 ES2885527 T3 ES 2885527T3
Authority
ES
Spain
Prior art keywords
cpb
subpicture
time
decoding
video
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
ES13771729T
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 ES2885527T3 publication Critical patent/ES2885527T3/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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • 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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • 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/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

Un procedimiento para decodificar datos de vídeo de acuerdo con la Codificación de Video de Alta Eficiencia, HEVC, comprendiendo los datos de vídeo una unidad de acceso, AU, comprendiendo la unidad de acceso una pluralidad de unidades de decodificación, DU, incluyendo la pluralidad de DU de la AU una DU que es la última en la AU en el orden de decodificación y una pluralidad de DU que no son las últimas en la AU en el orden de decodificación, comprendiendo el procedimiento, cuando una primera bandera tiene un valor que indica que los parámetros del almacenamiento temporal de las imágenes codificadas, CPB, de la subimagen están presentes en los datos del vídeo: decodificar (200), para cada DU de la AU distinta de la DU de la AU que es la última en el orden de decodificación, un valor de duración, en términos de un número de tics de reloj de la subimagen, entre un tiempo de eliminación nominal de la CPB (140-1, 142-1) de la DU (110-1, 112-1) y un tiempo de eliminación nominal de la CPB (140-2, 142-2) de una DU inmediatamente posterior (110-2, 112-2) en el orden de decodificación, los valores de duración para las DU se decodifican a partir de un mensaje de información de mejora suplementaria, SEI, del tipo temporización de imagen asociado con la AU cuando una segunda bandera tiene un valor que indica que los parámetros de la CPB de la subimagen están presentes en los mensajes SEI del tipo temporización de imagen y se decodifican a partir de un mensaje SEI del tipo temporización de subimagen asociado con la AU cuando la segunda bandera tiene un valor que indica que los parámetros de la CPB de la subimagen no están presentes en los mensajes SEI del tipo temporización de imagen, en el que la segunda bandera es una bandera de nivel de secuencia; determinar (202), para cada DU de la AU, un tiempo de eliminación de la CPB para la DU; y para cada DU de la AU, en el tiempo de eliminación determinado de la CPB para la DU, decodificar los datos de vídeo asociados con la DU y la eliminación de la DU de la CPB, en el que la decodificación de los datos de vídeo se realiza con low_delay_hrd_flag igual a 0, en el que el tiempo de eliminación de la CPB para la DU que es la última en la AU en el orden de decodificación se establece igual a un tiempo de eliminación nominal de la CPB para la AU y el tiempo de eliminación de la CPB para las DU restantes de la AU se establecen en los respectivos tiempos de eliminación nominales de la CPB para las DU, en el que, cuando la segunda bandera tiene un valor que indica que los parámetros de la CPB de la subimagen están presentes en los mensajes SEI del tipo temporización de imagen, el tiempo de eliminación nominal de la CPB para cada DU en la AU que no sea la última DU en el orden de decodificación se determina calculando el tiempo de eliminación nominal de la CPB de la DU inmediatamente posterior en el orden de decodificación menos un período de tiempo igual al valor de duración decodificado multiplicado por la duración de un tic de reloj de la subimagen, en el que, cuando la segunda bandera tiene un valor que indica que los parámetros de la CPB de la subimagen no están presentes en los mensajes SEI del tipo temporización de imagen, el tiempo de eliminación nominal para cada DU en la AU que no sea la última DU en el orden de decodificación se determina calculando el tiempo de eliminación nominal de la CPB para la AU menos un período de tiempo igual al valor de duración decodificado multiplicado por la duración de un tic de reloj de la subimagen.

Description

DESCRIPCIÓN
Tiempos de eliminación del almacenamiento temporal de las imágenes codificadas independientes de la unidad de acceso en la codificación de vídeo
Campo técnico
Esta divulgación se refiere a la codificación de vídeo.
Antecedentes
Las capacidades de vídeo digital se pueden incorporar en una amplia gama de dispositivos, que incluye televisores digitales, sistemas de difusión digital directa, sistemas de difusión inalámbrica, asistentes digitales personales (PDA), ordenadores portátiles o de escritorio, tabletas, lectores de libros electrónicos, cámaras digitales, dispositivos de grabación digital, reproductores de medios digitales, dispositivos de videojuegos, consolas de videojuegos, celular o teléfonos por radio satélite, los denominados "teléfonos inteligentes", dispositivos de videoconferencia, dispositivos de transmisión de vídeo en directo, y similares. Los dispositivos de vídeo digital implementan técnicas de compresión de vídeo, tales como las descritas en los estándares definidos por MPEG-2, MPEG-4, ITU-T H.263, ITU-T H.264/MPEG-4, Parte 10, Codificación de Vídeo Avanzada (AVC), el estándar de Codificación de Vídeo de Alta Eficiencia (HEVC), y las extensiones de tales estándares. Los dispositivos de vídeo pueden transmitir, recibir, codificar, decodificar y/o almacenar información de vídeo digital de manera más eficiente implementando tales técnicas de compresión de vídeo.
Las técnicas de compresión de vídeo realizan predicción espacial (intraimagen) y/o predicción temporal (entre imágenes) para reducir o eliminar la redundancia inherente en las secuencias de vídeo. Para la codificación de vídeo en base a bloques, un segmento de vídeo (es decir, una trama de vídeo o una porción de una trama de vídeo) se puede particionar en bloques de vídeo, que también se pueden denominar bloques de árbol, unidades de codificación (CU) y/o nodos de codificación. Los bloques de vídeo en un segmento intracodificado (I) de una imagen se codifican mediante el uso de la predicción espacial con respecto a las muestras de referencia en los bloques vecinos de 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 vecinos en la misma imagen o predicción temporal con respecto a muestras de referencia en otras imágenes de referencia. Las imágenes se pueden denominar tramas y las imágenes de referencia se pueden denominar tramas de referencia.
La predicción espacial o temporal da como resultado un bloque predictivo para un bloque a codificar. Los datos residuales representan las diferencias de píxeles entre el bloque original a codificar y el bloque predictivo. Un bloque intercodificado se codifica de acuerdo con un vector de movimiento que apunta a un bloque de muestras de referencia que forma el bloque predictivo, y los datos residuales indican la diferencia entre el bloque codificado y el bloque predictivo. Un bloque intracodificado se codifica de acuerdo con un modo de intracodificación y los datos residuales. Para una compresión adicional, los datos residuales se pueden transformar del dominio de píxeles a un dominio de transformación, dando como resultado coeficientes de transformación residuales, que luego se pueden cuantificar. Los coeficientes de transformación que se cuantifican, dispuestos inicialmente en una matriz bidimensional, pueden escanearse con el fin de producir un vector unidimensional de coeficientes de transformación, y puede aplicarse codificación de entropía para lograr una compresión aún mayor.
El documento US 2010/0246662 A1 de Koto Shinichiro y otros se refiere a un procedimiento de codificación de imágenes en movimiento que incluye la salida de datos codificados que comprenden una secuencia de código de imagen correspondiente a los cortes de una imagen en movimiento y la primera información de tiempo que indica los momentos en los que los cortes se van a decodificar.
En el documento de entrada para JCT-VC, "AHG9: Improvement of HRD for sub-picture based operation" de Kazui y otros, JCT-VC de ITU-T SG 16 WP 3 e ISO/IEC JTC 1/SC 29/WG 11, 10ma reunión: Estocolmo, SE, del 11 al 20 de julio de 2012, (JCTVC-J0136), se proponen mejoras del HRD para la operación basada en subimágenes en el borrador 7 de la memoria descriptiva de texto HEVc . Las mejoras propuestas son i) definición modificada del tiempo de eliminación cuando low_delay_hrd_flag es igual a 1, ii) nuevo SEI como un indicio de visualización temprana de imágenes decodificadas, y iii) definición modificada de du_cpb_removal_delay.
Sumario
En general, las técnicas descritas en esta divulgación están relacionadas con la señalización y la derivación de los tiempos de eliminación del almacenamiento temporal de las imágenes codificadas en la codificación de vídeo.
De acuerdo con aspectos de la invención, se proporcionan procedimientos y dispositivos para decodificar datos de vídeo como se establece en las reivindicaciones independientes adjuntas.
Los detalles de uno o más ejemplos se establecen en los dibujos acompañantes y en la descripción de más abajo.
Otras características, objetivos y ventajas serán evidentes a partir de la descripción y los dibujos, y a partir de las reivindicaciones.
Breve descripción de los dibujos
La Figura 1 es un diagrama de bloques que ilustra un sistema de codificación y decodificación de vídeo de ejemplo que puede usar las técnicas descritas en esta divulgación.
La Figura 2 es un diagrama de bloques que ilustra un ejemplo de codificador de vídeo que puede implementar las técnicas descritas en esta divulgación.
La Figura 3 es un diagrama de bloques que ilustra un ejemplo de decodificador de vídeo que puede implementar las técnicas descritas en esta divulgación.
La Figura 4 es un diagrama conceptual que ilustra dos unidades de acceso (AU) en el orden de decodificación consecutivo que pueden tener tiempos de decodificación determinados de acuerdo con las técnicas descritas en esta divulgación.
La Figura 5 es un diagrama de flujo que ilustra un procedimiento para determinar un tiempo de eliminación del almacenamiento temporal de imágenes codificadas (CPB) de una primera unidad de decodificación (DU) en una AU en base al tiempo de eliminación de la CPB para una segunda DU de la AU de acuerdo con las técnicas descritas en esta divulgación.
La Figura 6 es un diagrama de flujo que ilustra otro procedimiento para determinar un tiempo de eliminación del almacenamiento temporal de las imágenes codificadas (CPB) de una primera unidad de decodificación en una unidad de acceso en base al tiempo de eliminación de la CPB para una segunda unidad de decodificación de la unidad de acceso de acuerdo con las técnicas descritas en esta divulgación.
La Figura 7 es un diagrama de flujo que ilustra un procedimiento para derivar un tiempo de eliminación de la CPB de la primera DU basado al menos en parte en el mensaje SEI del tipo temporización de subimagen de acuerdo con las técnicas descritas en esta divulgación.
La Figura 8 es un diagrama de flujo que ilustra otro procedimiento para derivar un tiempo de eliminación de la CPB de la primera DU basado al menos en parte en la codificación de un mensaje SEI del tipo temporización de subimagen de acuerdo con las técnicas descritas en esta divulgación.
La Figura 9 es un diagrama de flujo que ilustra un procedimiento para decodificar una bandera de nivel de secuencia para un parámetro del almacenamiento temporal de las imágenes codificadas a nivel de la subimagen de acuerdo con las técnicas descritas en esta divulgación.
La Figura 10 es un diagrama de flujo que ilustra un procedimiento para codificar una bandera de nivel de secuencia para un parámetro del almacenamiento temporal de las imágenes codificadas a nivel de la subimagen de acuerdo con las técnicas descritas en esta divulgación.
La Figura 11 es un diagrama de flujo que ilustra un procedimiento para decodificar una DU que tiene una definición ampliada de acuerdo con las técnicas descritas en esta divulgación.
La Figura 12 es un diagrama de flujo que ilustra un procedimiento para codificar una DU que tiene una definición ampliada de acuerdo con las técnicas descritas en esta divulgación.
La Figura 13 es un diagrama de flujo que ilustra un procedimiento para decodificar el período de almacenamiento temporal de acuerdo con las técnicas descritas en esta divulgación.
La Figura 14 es un diagrama de flujo que ilustra un procedimiento para codificar el período de almacenamiento temporal de acuerdo con las técnicas descritas en esta divulgación.
La Figura 15 es un diagrama de flujo que ilustra un procedimiento para decodificar la llegada del almacenamiento temporal de las imágenes codificadas y los tiempos de eliminación nominales de acuerdo con las técnicas descritas en esta divulgación.
La Figura 16 es un diagrama de flujo que ilustra un procedimiento para codificar la llegada del almacenamiento temporal de las imágenes codificadas y los tiempos de eliminación nominales de acuerdo con las técnicas descritas en esta divulgación.
Descripción detallada
Esta divulgación describe técnicas para la señalización eficaz y resistente a errores y la derivación de tiempos de eliminación del almacenamiento temporal de las imágenes codificadas (CPB) de unidades de datos codificados en la codificación de vídeo. Los tiempos de eliminación de la CPB también se conocen como tiempos de decodificación. La divulgación proporciona técnicas para determinar un tiempo de eliminación de la CPB para una unidad de decodificación (Du ) de una unidad de acceso (AU) que es independiente de los tiempos de eliminación de cualquier otra AU. Por ejemplo, los tiempos de eliminación de la CPB para una DU actual de una AU se señalarán en base a la duración entre un tiempo de eliminación de la CPB de una DU siguiente en un orden de decodificación en la AU y la DU actual o una duración entre el tiempo de eliminación de la CPB de la última DU en la UA y la DU actual. En otro ejemplo, la derivación del tiempo de eliminación de la CPB se especifica de tal manera que utiliza información transportada en mensajes de información de mejora suplementaria (SEI) de temporización de la subimagen. Se señaliza la duración entre la eliminación de la CPB de la última DU en la AU en el orden de decodificación y la DU asociada con un mensaje SEI del tipo temporización de subimagen.
Además, se proporcionan técnicas para incluir una bandera de nivel de secuencia que se puede señalar para indicar si los parámetros de la CPB de subimagen presiden solo uno de los mensajes SEI del tipo temporización de imagen o en mensajes SEI de temporización de la subimagen, pero nunca en ambos, de acuerdo con las técnicas descritas en la presente memoria. La bandera que es igual a 1 indica que los parámetros de retardo de eliminación de la CPB a nivel de la subimagen están presentes en los mensajes SEI del tipo temporización de imagen y no hay ningún mensaje SEI del tipo temporización de subimagen. La bandera que es igual a 0 indica que los parámetros de retardo de eliminación de la CPB a nivel de la subimagen están presentes en los mensajes SEI de temporización de la subimagen y los mensajes SEI del tipo temporización de imagen no incluyen parámetros de retardo de eliminación de la CPB a nivel de la subimagen.
Esta divulgación también proporciona técnicas para ampliar una definición de una unidad de decodificación. Esta divulgación proporciona además técnicas para restringir los mensajes SEI del período de almacenamiento temporal y los mensajes SEI del punto de recuperación de modo que no puedan asociarse con las AU con una variable, TemporalId, mayor que 0. La variable TemporalId se deriva de un elemento de sintaxis asociado con cada AU. Esta divulgación también proporciona técnicas para proporcionar una bandera para señalar si se deben derivar los tiempos de eliminación de la CPB a un nivel de la AU o a un nivel de subimagen.
Las técnicas descritas en la presente memoria pueden aplicarse a varios estándares de codificación de vídeo. 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 y ITU-T H.264 (conocido además, como ISO/IEC MPEG-4 AVC), incluidas sus extensiones Codificación de Vídeo Escalable (SVC) y Codificación de Vídeo Multivista (MVC).
Adicionalmente, existe un nuevo estándar de codificación de vídeo, específicamente Codificación de Vídeo de Alta Eficacia (HEVC), desarrollado por el Equipo de Colaboración Conjunta sobre Codificación de Vídeo (JCT-VC) del Grupo de Expertos en Codificación de Vídeo ITU-T (VCEG) y por el Grupo de Expertos en Imágenes en Movimiento ISO/IEC (MPEG). Un Borrador de Trabajo (WD) reciente de HEVC es el Borrador de Trabajo 8, y en lo sucesivo se denominará HEVC WD8. Bross y otros, High Efficiency Video Coding (HEVC) Text Specification Draft 8, julio de 2012, Estocolmo, disponible a partir del 2 de mayo de 2013 en http://phenix.intevry.fr/jct/doc_end_user/documents/10_Stockholm/wg11/ JCTVC-J1003-v8.zip.
Las técnicas descritas en esta divulgación se describen con respecto al estándar HEVC, aunque los aspectos de esta divulgación no están tan limitados y pueden extenderse a otros estándares de codificación de vídeo, así como a técnicas de codificación de vídeo patentadas.
Un codificador de vídeo puede generar un flujo de bits que incluye datos de vídeo codificados. El flujo de bits puede comprender una serie de unidades de capa de abstracción de red (NAL). Las unidades NAL del flujo de bits pueden incluir unidades NAL de capa de codificación de vídeo (VCL) y unidades NAL no VCL. Las unidades NAL VCL pueden incluir segmentos codificados de imágenes. Una unidad NAL no VCL puede incluir un conjunto de parámetros de vídeo (VPS), un conjunto de parámetros de secuencia (SPS), un conjunto de parámetros de imagen (PPS), información de mejora suplementaria (SEI) u otros tipos de datos. Un VPS es una estructura de sintaxis que puede contener elementos de sintaxis que se aplican a cero o más secuencias de vídeo codificadas completas. Un PPS es una estructura de sintaxis que puede contener elementos de sintaxis que se aplican a cero o más secuencias de vídeo codificadas completas. Un solo VPS puede ser aplicable a múltiples SPS. Un PPS es una estructura de sintaxis que puede contener elementos de sintaxis que se aplican a cero o más imágenes codificadas completas. Un único SPS puede ser aplicable a varios PPS. Se pueden formar varios aspectos del VPS, SPS y PPS, en general, de acuerdo con lo definido por el estándar HEVC.
Las unidades NAL pueden incluir un elemento de sintaxis que sea indicativo del valor de la variable temporalId. El temporalId de una unidad NAL especifica un identificador temporal de la unidad NAL. Si el identificador temporal de una primera unidad NAL es menor que el identificador temporal de una segunda unidad NAL, los datos encapsulados por la primera unidad NAL pueden decodificarse sin referencia a los datos encapsulados por la segunda unidad NAL.
Cada estándar de codificación de vídeo generalmente incluye una memoria descriptiva de un modelo de almacenamiento temporal de vídeo. En AVC y HEVC, el modelo de almacenamiento temporal se conoce como un decodificador de referencia hipotético (HRD) que describe cómo los datos se almacenarán temporalmente para la decodificación y cómo los datos decodificados se almacenan temporalmente para la salida. E1HRD incluye un modelo de almacenamiento temporal tanto del almacenamiento temporal de las imágenes codificadas (CPB) como del almacenamiento temporal de imagen decodificada (DPB). La CPB es un almacenamiento temporal de primero en entrar, primero en salir que contiene unidades de acceso en el orden de decodificación especificado por e1HRD. El DPB es un almacenamiento temporal que contiene imágenes decodificadas para referencia, reordenamiento de salida o retardo de salida especificado por el HRD. Los parámetros del decodificador de referencia hipotéticos especifican matemáticamente los comportamientos de la CPB y del DPB. El HRD puede imponer directamente restricciones sobre diferentes parámetros, incluidos tiempos, tamaños del almacenamiento temporal y velocidades de bits, y puede imponer indirectamente restricciones sobre las características y estadísticas del flujo de bits. En algunos ejemplos, un conjunto completo de parámetros del HRD puede incluir cinco parámetros básicos: retardo de eliminación de la CPB inicial, tamaño de la CPB, velocidad de bits, retardo de salida de DPB inicial y tamaño de DPB.
En AVC y HEVC, la conformidad del flujo de bits y la conformidad del decodificador se especifican como parte de la memoria descriptiva del HRD. Aunque el nombre del decodificador de referencia hipotético se refiere a un tipo de decodificador, el HRD se necesita típicamente en el lado del codificador para la conformidad del flujo de bits, aunque no necesariamente se necesita en el lado del decodificador. Sin embargo, los aspectos de esta divulgación no están tan limitados, y el HRD también puede ser parte del decodificador. AVC y HEVc pueden especificar dos tipos de conformidad de flujo de bits o el HRD, a saber, Tipo I y Tipo II. Además, AVC y HEVC especifican dos tipos de conformidad del decodificador: conformidad del decodificador de temporización de salida y conformidad del decodificador de orden de salida.
En los modelos AVC y HEVC HRD, la decodificación o eliminación de la CPB está en base a las unidades de acceso, y los estándares asumen que la decodificación de imágenes es instantánea. En aplicaciones prácticas, si un decodificador conforme sigue estrictamente los tiempos de decodificación señalados (por ejemplo, en mensajes de información de mejora suplementaria (SEI)) para comenzar a decodificar las unidades de acceso, entonces el tiempo más temprano posible para generar una imagen decodificada en particular es igual al tiempo de decodificación de esa imagen en particular más el tiempo necesario para decodificar esa imagen en particular. Es decir, el tiempo más temprano para generar la imagen decodificada es el tiempo de decodificación más el tiempo para decodificar la imagen. Sin embargo, el tiempo necesario para decodificar una imagen en el mundo real no puede ser igual a cero. En HEVC WD8, el decodificador de referencia hipotético (HRD) se especifica en el anexo C. E1HRD se basa en los parámetros del HRD, que pueden proporcionarse en el flujo de bits en la estructura de sintaxis hrd_parameters () (en el conjunto de parámetros de vídeo (VPS) y/o el conjunto de parámetros de secuencia (SPS)), los mensajes SEI del período de almacenamiento temporal y el mensaje SEI del tipo temporización de imagen. La Solicitud Provisional de Estados Unidos Núm. 61/705,102, presentada el 24 de septiembre de 2012, propone la mejora de la señalización y la selección de los parámetros del HRD.
Puede haber problemas asociados con los procedimientos existentes para la señalización y la derivación de los tiempos de eliminación de la CPB, también conocidos como tiempos de decodificación. A continuación, se describen algunos de estos problemas.
Los tiempos de eliminación de la CPB de la unidad de decodificación pueden no ser resistentes a errores cuando los tiempos de eliminación de la CPB para las unidades de decodificación dentro de una unidad de acceso dependen de la información de temporización de una unidad de acceso anterior. Una unidad de acceso puede comprender una o más unidades de decodificación. Se puede determinar un tiempo de eliminación para cada DU en una AU. Se puede señalar un tiempo de eliminación de la CPB para la AU y para una o más DU dentro de la AU. Un mensaje SEI para una AU puede incluir un tiempo de eliminación de la CPB para la propia AU, que también corresponde al tiempo de eliminación de la CPB para la última DU dentro de la AU.
El almacenamiento temporal de las imágenes codificadas puede funcionar en dos niveles: un nivel de unidad de acceso y un nivel de subimagen. Cuando la CPB opera en el nivel de subimagen (es decir, cuando SubPicCpbFlag es igual a 1), la señalización y derivación de los tiempos de eliminación de la CPB de la unidad de decodificación (DU) que están en base a la temporización de la imagen, los mensajes SEI pueden no ser resistentes a errores en circunstancias en las que la información se pierde de una AU anterior en el orden de decodificación. Por ejemplo, la información de temporización que se señala para una AU actual incluye una duración entre un tiempo de eliminación de la CPB para una primera Du en la AU actual y una última DU en una AU anterior. Por tanto, si se pierde la información de temporización de la última DU en la AU anterior, el decodificador no puede determinar el tiempo de eliminación de la primera DU en la AU actual porque el tiempo de eliminación de la primera DU depende de la información de temporización perdida.
En otras palabras, la señalización de la duración entre los tiempos de eliminación de la CPB de la primera unidad de decodificación en una AU actual y la última DU en la AU anterior en el orden de decodificación, así como el uso de dicha señalización en la derivación del tiempo de eliminación de la CPB, hace al sistema o codificador vulnerable a la pérdida de información de temporización. Por ejemplo, si la información de eliminación de la CPB (es decir, el mensaje SEI del tipo temporización de imagen) de la AU anterior se pierde, entonces el tiempo de eliminación de la CPB de la primera DU en la AU actual no se puede derivar correctamente. Además, a excepción de la última DU de la AU actual, para el cual el tiempo de eliminación de la CPB se deriva como igual al de la AU actual, cada uno de los tiempos de eliminación de la CPB de todas las demás DU en la AU actual se basa en el tiempo de eliminación de la CPB de la DU anterior en el orden de decodificación. Por lo tanto, si ocurre la pérdida anterior, el tiempo de eliminación de la CPB de cada DU en la AU actual, excepto para la última DU, no se puede derivar correctamente. Por el contrario, en la presente memoria se describen técnicas que pueden reducir la vulnerabilidad del sistema o del codificador a la pérdida de información de tiempo. Por ejemplo, se proporcionan técnicas para determinar un tiempo de eliminación del almacenamiento temporal de las imágenes codificadas para una DU de una AU que es independiente de los tiempos de eliminación de cualquier otra unidad de acceso. Por ejemplo, un codificador de vídeo señalará, en el mensaje SEI del tipo temporización de imagen, los tiempos de eliminación de la CPB para que una DU de una AU sea recibida por un decodificador de vídeo, en base a una duración de tiempo entre una DU actual y un tiempo de eliminación de la CPB de una DU siguiente en un orden de decodificación en la AU o un tiempo de eliminación de la CPB de la última DU en la AU. Por lo tanto, esta divulgación describe técnicas para una señalización y derivación más eficiente y resistente a errores de tiempos de eliminación de la CPB de unidades de datos codificados en la codificación de vídeo, porque la información de temporización para cada DU en una AU no depende de la información de temporización de otra AU diferente.
Otro problema asociado con los procedimientos existentes para la señalización y la derivación de los tiempos de eliminación de la CPB es que la información de temporización en los mensajes SEI de temporización de la subimagen puede no utilizarse, aunque esté presente. Por ejemplo, pueden estar presentes mensajes SEI de temporización de la subimagen, que transportan información de retardo de eliminación de la CPB de la DU. Sin embargo, la operación CPB a nivel de la subimagen se especifica de manera que el decodificador de vídeo siempre utiliza mensajes SEI del tipo temporización de imagen y nunca utiliza mensajes SEI de temporización de la subimagen. Por tanto, los bits utilizados para representar mensajes SEI de temporización de la subimagen pueden desperdiciarse. Además, el retardo de eliminación de la CPB de DU señalado en un mensaje SEI del tipo temporización de subimagen es la diferencia entre el tiempo de eliminación de la CPB de la DU asociada y el tiempo de eliminación de la CPB de la primera DU de la AU precedente asociada con un mensaje SEI del período de almacenamiento temporal. Si bien esto puede ser algo resistente a errores, también puede no ser eficiente, ya que la diferencia de tiempo puede ser un valor significativo.
Sin embargo, en esta divulgación se proporcionan técnicas para especificar la derivación del tiempo de eliminación de la CPB de una manera que puede utilizar información transportada en mensajes de información de mejora suplementaria (SEI) de temporización de la subimagen. Por ejemplo, la derivación del tiempo de eliminación de la CPB se especifica de una manera que puede utilizar información transportada en mensajes SEI de temporización de la subimagen, y el codificador de vídeo puede señalar la duración entre la eliminación de la CPB de la última DU en la AU en el orden de decodificación y la DU asociada con un mensaje SEI del tipo temporización de subimagen, lo que hace que la señalización del codificador y la derivación del decodificador sean más eficientes y resistentes a errores.
Otro problema asociado con los procedimientos existentes para la señalización y la derivación de los tiempos de eliminación de la CPB es que los parámetros de la CPB a nivel de la subimagen en los mensajes SEI del tipo temporización de imagen y los mensajes SEI de temporización de la subimagen pueden estar presentes para la misma funcionalidad. Esa funcionalidad puede proporcionarse para soportar la operación de la CPB basada en subimágenes. La duplicación de estos parámetros para la misma funcionalidad puede resultar ineficaz. Es posible que solo un conjunto de parámetros de la CPB a nivel de la subimagen, en cualquier tipo de mensajes SEI, sea suficiente. En la presente memoria se describen técnicas que configuran un codificador de vídeo para proporcionar una bandera de nivel de secuencia que puede ser señalizado para indicar la presencia de parámetros de la CPB de subimagen en solo uno de los mensajes SEI del tipo temporización de imagen o en mensajes SEI de temporización de la subimagen, pero no en ambos. Usando esta bandera de nivel de secuencia, un decodificador de vídeo determina si buscar parámetros de la CPB de subimagen, tales como parámetros de retardo de eliminación de la CPB a nivel de la subimagen, en un mensaje SEI del tipo temporización de imagen o en un mensaje SEI del tipo temporización de subimagen.
Otro problema asociado con los procedimientos existentes para la señalización y la derivación de los tiempos de eliminación de la CPB es que la definición de unidades de decodificación no consideró unidades NAL no v Cl con nal_unit_type igual a UNSPECO, EOS_NUT, EOB_NUT, en el intervalo de RSV_NVCL44 a RSV_NVCL47, o en el intervalo de UNSPEC48 a UNSPEC63. Por lo tanto, cuando algunas de estas unidades NAL no VCL están presentes, puede ocurrir un comportamiento inesperado de la CPB a nivel de la subimagen. En contraste, esta divulgación proporciona técnicas para expandir una definición de una unidad de decodificación para incluir unidades NAL no VCL con nal_unit_type igual a UNSPECO, EOS_NUT, EOB_NUT, en el intervalo de RSV_NVCL44 a RSV_NVCL47, o en el intervalo de UNSPEC48 a UNSPEC63.
Otro problema potencial asociado con los procedimientos existentes para la señalización y la derivación de los tiempos de eliminación de la CPB es que el mensaje SEI del período de almacenamiento temporal y el mensaje SEI del punto de recuperación pueden asociarse con las AU con cualquier valor de un valor de identificación temporal (TemporalId). Por tanto, el codificador puede inicializar el HRD en una AU con TemporalId mayor que 0. En este caso, cuando se admite la escalabilidad temporal, el tiempo de eliminación de la CPB de una AU con un valor de TemporalId más pequeño, en el mismo período de almacenamiento temporal, puede depender de la información en la AU con un valor de TemporalId más grande. Sin embargo, para que funcione la escalabilidad temporal, el procedimiento de decodificación de cualquier AU puede no depender de otra AU con un TemporalId mayor. Esta divulgación proporciona además técnicas para restringir los mensajes SEI del período de almacenamiento temporal y los mensajes SEI del punto de recuperación de modo que no puedan asociarse con las AU con TemporalId mayor que 0.
El valor de identificación temporal (TemporalId) puede ser un valor jerárquico que indica qué imágenes se pueden usar para codificar la imagen actual. En general, una imagen con un valor TemporalId particular puede ser posiblemente una imagen de referencia para imágenes con valores TemporalId iguales o mayores, pero no al revés. Por ejemplo, una imagen con un valor de TemporalId de 1 puede ser posiblemente una imagen de referencia para imágenes con valores de TemporalId de 1, 2, 3,..., pero no para una imagen con un valor de TemporalId de 0.
El valor de TemporalId más bajo también puede indicar la tasa de visualización más baja. Por ejemplo, si un decodificador de vídeo solo decodifica imágenes con valores TemporalId de 0, la velocidad de visualización puede ser de 7,5 imágenes por segundo. Si el decodificador de vídeo solo decodifica imágenes con valores TemporalId de 0 y 1, la velocidad de visualización puede ser de 15 imágenes por segundo, y así sucesivamente.
Otro problema potencial asociado con los procedimientos existentes para la señalización y la derivación de los tiempos de eliminación de la CPB es en el procedimiento de derivación del tiempo de eliminación de la CPB, cuando sub_pic_cpb_params_present_flag es igual a 1, la derivación del tiempo de eliminación de la CPB utiliza los tiempos de llegada final y los tiempos de eliminación nominales para ambos casos con SubPicCpbFlag igual a 0 (cuando la CPB opera a nivel de la AU) y con SubPicCpbFlag igual a 1 (cuando la CPB opera a nivel de la subimagen). Sin embargo, los valores utilizados para los tiempos de llegada final y los tiempos de eliminación nominales pueden derivarse solo para uno de los dos casos (por ejemplo, para el SubPicCPBFlag igual a 0 o para el SubPicCPBFlag igual a 1) y, por lo tanto, no están disponibles para el otro caso. Las técnicas descritas en la presente memoria proporcionan una bandera para señalar si el decodificador debe derivar tiempos de eliminación de la CPB a un nivel de la AU o un nivel de subimagen. Por ejemplo, el decodificador deriva los tiempos de llegada de la CPB y los tiempos de eliminación nominales para el nivel de la AU y el nivel de subimagen independientemente del valor de SubPicCpbFlag, mientras que el decodificador deriva los tiempos de eliminación de la CPB solo para el nivel de la AU cuando SubPicCpbFlag es igual a 0 y solo para el nivel de subimagen cuando SubPicCpbFlag es igual a 1, de acuerdo con las técnicas descritas en la presente memoria. Como se describe en la presente memoria, un tiempo de eliminación nominal de la CPB puede ser un valor predeterminado para el tiempo de eliminación de la CPB. En algunos ejemplos con condiciones típicas, el tiempo de eliminación de la CPB es igual al tiempo de eliminación nominal de la CPB. Sin embargo, bajo ciertas condiciones son diferentes y el tiempo de eliminación de la CPB puede ser ligeramente diferente del valor predeterminado.
Las siguientes técnicas, descritas en esta divulgación, pueden abordar los problemas descritos anteriormente. Por ejemplo, las técnicas descritas en esta divulgación pueden proporcionar una determinación más resistente a errores del tiempo de eliminación del almacenamiento temporal de las imágenes codificadas. Además, además de mejorar la resistencia a errores, las técnicas pueden promover la eficiencia de la señalización, lo que reduce el ancho de banda, la sobrecarga de señalización y aumenta la eficiencia de la codificación. Además, las técnicas descritas en esta divulgación pueden permitir una escalabilidad temporal adecuada.
Tales técnicas pueden incluir, por ejemplo, determinar un tiempo de eliminación del almacenamiento temporal de las imágenes codificadas para una unidad de decodificación (DU) de una unidad de acceso (AU) que es independiente de los tiempos de eliminación de cualquier otra unidad de acceso. Por ejemplo, los tiempos de eliminación de la CPB para una DU de una AU se señalarán en base a la duración entre una DU actual y un tiempo de eliminación de la CPB de una DU siguiente en un orden de decodificación en la AU o un tiempo de eliminación de la CPB de la última DU en la AU. Las técnicas también pueden incluir señalizar una bandera de nivel de secuencia para controlar la presencia de parámetros de la CPB de subimagen en sólo uno de los mensajes SEI del tipo temporización de imagen o en mensajes SEI de temporización de la subimagen de acuerdo con las técnicas descritas en la presente memoria. Las técnicas también pueden incluir ampliar una definición de una unidad de decodificación. Las técnicas adicionales proporcionan mensajes SEI del período de almacenamiento temporal restringidos y mensajes SEI de punto de recuperación de modo que no se puedan asociar con las AU con una variable, TemporalId, mayor que 0. Las técnicas también pueden incluir proporcionar una bandera para señalar si se deben derivar los tiempos de eliminación de la CPB a un nivel de la AU o a un nivel de subimagen.
Los detalles para la implementación de estas técnicas se describen con más detalle a continuación. Otras partes no mencionadas pueden ser las mismas que en HEVC WD8.
La Figura 1 es un diagrama de bloques que ilustra un sistema de codificación y decodificación de vídeo 10 de ejemplo que puede usar las técnicas descritas en esta divulgación. Como se muestra en la Figura 1, el sistema 10 incluye un dispositivo fuente 12 que genera los datos de vídeo codificados a decodificarse en un momento posterior por un dispositivo de destino 14. El dispositivo fuente 12 y el dispositivo de destino 14 pueden comprender cualquiera de una amplia gama de dispositivos, que incluyen ordenadores de escritorio, ordenadores portátiles (es decir, laptop), tabletas, módulos de conexión, teléfonos móviles tal como los denominados teléfonos "inteligentes", las denominadas smartpads, televisores, cámaras, dispositivos de visualización, reproductores de medios digitales, consolas de videojuegos, dispositivos de transmisión en tiempo real de vídeos o similares. En algunos casos, el dispositivo fuente 12 y el dispositivo de destino 14 se pueden equipar para la comunicación inalámbrica.
En el ejemplo de la Figura 1, el dispositivo fuente 12 incluye una fuente de vídeo 18, un codificador de vídeo 20 y una interfaz de salida 22. En algunos casos, la interfaz de salida 22 puede incluir un modulador/demodulador (módem) y/o un transmisor. En el dispositivo fuente 12, la fuente de vídeo 18 puede incluir una fuente tal como un dispositivo de captura de vídeo, por ejemplo, una cámara de vídeo, un archivo de vídeo que contiene vídeo capturado previamente, una interfaz de alimentación de vídeo para recibir el vídeo de un proveedor de contenido de vídeo, y/o un sistema de gráficos por ordenador para generar los datos de gráficos por ordenador como fuente de vídeo, o una combinación de tales fuentes. Como un ejemplo, si la fuente de vídeo 18 es una cámara de vídeo, el dispositivo fuente 12 y el dispositivo de destino 14 pueden formar los denominados teléfonos con cámara o videoteléfonos. Sin embargo, las técnicas descritas en esta divulgación pueden ser aplicables a la codificación de vídeo en general, y se pueden aplicar a aplicaciones inalámbricas y/o alámbricas.
El vídeo capturado, precapturado, o generado por ordenador puede ser codificado por el codificador de vídeo 20. Los datos de vídeo codificados se pueden transmitir de manera directa al dispositivo de destino 14 a través de la interfaz de salida 22 del dispositivo fuente 12. Los datos de vídeo codificados también (o de manera alternativa) se pueden almacenar en el dispositivo de almacenamiento 32 para un acceso posterior por el dispositivo de destino 14 u otros dispositivos, para la decodificación y/o reproducción.
El dispositivo de destino 14 incluye una interfaz de entrada 28, un decodificador de vídeo 30 y un dispositivo de visualización 32. En algunos casos, la interfaz de entrada 28 puede incluir un receptor y/o un módem. La interfaz de entrada 28 del dispositivo de destino 14 recibe los datos de vídeo codificados a través del enlace 16. Los datos de vídeo codificados comunicados a través del enlace 16, o proporcionados en el dispositivo de almacenamiento 32, pueden incluir una variedad de elementos de sintaxis generados por el codificador de vídeo 20 para su uso por un decodificador de vídeo, tal como el decodificador de vídeo 30, en la decodificación de los datos de vídeo. Tales elementos de sintaxis pueden incluirse con los datos de vídeo codificados transmitidos en un medio de comunicación, almacenados en un medio de almacenamiento o almacenados en un servidor de archivos.
El dispositivo de visualización 32 puede integrarse con, o ser externo a, el dispositivo de destino 14. En algunos ejemplos, el dispositivo de destino 14 puede incluir un dispositivo de visualización integrado y también se configura para interactuar con un dispositivo de visualización externo. En otros ejemplos, el dispositivo de destino 14 puede ser un dispositivo de visualización. En general, el dispositivo de visualización 32 muestra los datos de vídeo decodificados a un usuario, y puede comprender cualquiera de una variedad de dispositivos de visualización como una pantalla de cristal líquido (LCD), una pantalla de plasma, un visualizador de matriz, una pantalla de diodo orgánico emisor de luz (OLED), u otro tipo de dispositivo de visualización.
El dispositivo de destino 14 puede recibir los datos de vídeo codificados a decodificar a través de un enlace 16. El enlace 16 puede comprender cualquier tipo de medio o dispositivo capaz de mover los datos de vídeo codificados desde el dispositivo fuente 12 al dispositivo de destino 14. En un ejemplo, el enlace 16 puede comprender un medio de comunicación para permitir al dispositivo fuente 12 transmitir los datos de vídeo codificados de manera directa al dispositivo de destino 14 en directo. Los datos de vídeo codificados se pueden modular de acuerdo con un estándar de comunicación, tal como un protocolo de comunicación inalámbrica, y transmitir al dispositivo de destino 14. El medio de comunicación puede comprender cualquier medio de comunicación inalámbrica o alámbrica, tal como un espectro de radiofrecuencia (RF) o una o más líneas de transmisión física. El medio de comunicación puede formar parte de una red en base a paquetes, tal como una red de área local, una red de área amplia, o una red global tal como Internet. El medio de comunicación puede incluir enrutadores, conmutadores, estaciones base, o cualquier otro equipo que pueda ser útil para facilitar la comunicación desde el dispositivo fuente 12 al dispositivo de destino 14.
De manera alternativa, los datos codificados se pueden enviar desde la interfaz de salida 22 a un dispositivo de almacenamiento 32. De manera similar, se puede acceder a los datos codificados desde el dispositivo de almacenamiento 32 mediante la interfaz de entrada. El dispositivo de almacenamiento 32 puede incluir cualquiera de una variedad de medios de almacenamiento de datos distribuidos o de acceso local, tal 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 adecuado para almacenar los datos de vídeo codificados. En un ejemplo adicional, el dispositivo de almacenamiento 32 puede corresponder a un servidor de archivos u otro dispositivo de almacenamiento intermedio que puede contener el vídeo codificado generado por el dispositivo fuente 12. El dispositivo de destino 14 puede acceder a los datos de vídeo almacenados desde el dispositivo de almacenamiento 32 a través de la transmisión en directo o de la descarga. El servidor de archivos puede ser cualquier tipo de servidor capaz de almacenar los datos de vídeo codificados y transmitir esos datos de vídeo codificados al dispositivo de destino 14. Los servidores de archivos de ejemplo incluyen un servidor web (por ejemplo, para un sitio web), un servidor FTP, dispositivos de almacenamiento conectados a la red (NAS), o una unidad de disco local. El dispositivo de destino 14 puede acceder a los datos de vídeo codificados a través de cualquier conexión de datos estándar, que incluye una conexión a Internet. Esto puede incluir un canal inalámbrico (por ejemplo, una conexión Wi-Fi), una conexión alámbrica (por ejemplo, DSL, módem por cable, etc.), o una combinación de ambos que sea adecuada para acceder a los 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 32 puede ser una transmisión en directo, una transmisión de descarga, o una combinación de ambas.
Las técnicas de esta divulgación no se limitan necesariamente a las aplicaciones o configuraciones inalámbricas. Las técnicas se pueden aplicar a la codificación de vídeo en soporte de cualquiera de una variedad de aplicaciones multimedia, tal como difusiones de televisión por aire, transmisiones de televisión por cable, transmisiones de televisión por satélite, transmisiones de vídeo en directo, por ejemplo, a través de Internet, codificación de vídeo digital para almacenamiento 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 se puede configurar para soportar la transmisión de vídeo unidireccional o bidireccional para soportar aplicaciones tal como el vídeo en directo, la reproducción de vídeo, la difusión de vídeo, y/o la telefonía de vídeo.
El codificador de vídeo 20 y el decodificador de vídeo 30 pueden funcionar de acuerdo con un estándar de compresión de vídeo, como el estándar de codificación de vídeo de alta eficiencia (HEVC) actualmente en desarrollo por el Equipo de colaboración conjunta sobre codificación de vídeo (JCT-VC) del Grupo de Expertos en Codificación de Vídeo (VCEG) ITU-T y Grupo de Expertos en Imágenes en Movimiento ISO/IEC (MPEG). El codificador de vídeo 20 y el descodificador de vídeo 30 pueden funcionar de acuerdo con HEVC WD8. Alternativamente, el codificador de vídeo 20 y el decodificador de vídeo 30 pueden operar de acuerdo con otros estándares de propiedad o de la industria, como 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 y ITU-T H.264 (también conocido como ISO/IEC MPEG-4 AVC), incluida su codificación de vídeo escalable (SVC) y extensiones de codificación de vídeo de vista múltiple (MVC) o extensiones de dichas normas. Las técnicas de esta divulgación, sin embargo, no se limitan a ningún estándar de codificación particular.
En algunos ejemplos, el codificador de vídeo 20 y el decodificador de vídeo 30 se pueden integrar cada uno con un codificador y decodificador de audio, y pueden incluir unidades MUX-DEMUX apropiadas, u otro hardware y software, para manejar la codificación de audio y de vídeo en un flujo de datos común o en flujos de datos separados. Si corresponde, en algunos ejemplos, las unidades MUX-DEMUX se pueden ajustar al protocolo multiplexor ITU H.223, o a 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 implementarse cada uno como cualquiera de una variedad de circuitos codificadores adecuados, como uno o más microprocesadores, procesadores de señales digitales (DSP), circuitos integrados de aplicación específica (ASIC), matriz de puertas lógicas programables en campo (FPGA), lógica discreta, software, hardware, microprograma o cualquiera de sus combinaciones. Cuando las técnicas se implementan de manera parcial en el software, un dispositivo puede almacenar instrucciones para el software en un medio legible por ordenador no transitorio adecuado y ejecutar las instrucciones en el hardware mediante el uso de uno o más procesadores para realizar las técnicas de esta divulgación. Cada uno de los codificadores de vídeo 20 y el descodificador de vídeo 30 puede incluirse en uno o más codificadores o descodificadores, cualquiera de los cuales puede integrarse como parte de un codificador/descodificador combinado (CODEC) en un dispositivo respectivo.
El JCT-VC está trabajando en el desarrollo del estándar HEVC. Los esfuerzos de estandarización de HEVC son en base a un modelo en evolución de un dispositivo de codificación de vídeo denominado modelo de prueba HEVC (HM). El HM presupone diversas capacidades adicionales de los dispositivos de codificación de vídeo con relación a los dispositivos existentes de acuerdo con, por ejemplo, ITU-T H.264/AVC. Por ejemplo, mientras que H.264 proporciona nueve modos de codificación de intrapredicción, el HM puede proporcionar hasta treinta y tres modos de codificación de intrapredicción.
En general, el modelo de trabajo del HM describe que una trama o imagen de vídeo se puede dividir en una secuencia de bloques de árbol o unidades de codificación más grandes (LCU) que incluyen tanto las muestras de luma como de croma. Un bloque de árbol tiene un propósito similar al de un macrobloque del estándar H.264. Un segmento incluye una serie de bloques de árbol consecutivos en el orden de codificación. Una trama o una imagen de vídeo se pueden dividir en una o más secciones. Cada bloque de árbol se puede dividir en unidades de codificación (CU) de acuerdo con un árbol cuádruple. Por ejemplo, un bloque de árbol, como un nodo raíz del árbol cuádruple, se puede dividir en cuatro nodos hijo, y cada nodo hijo puede ser a su vez un nodo padre y dividirse en otros cuatro nodos hijo. Un nodo hijo no dividido final, como un nodo hoja del árbol cuádruple, comprende un nodo de codificación, es decir, un bloque de vídeo codificado. Los datos de sintaxis asociados con un flujo de bits codificado pueden definir un número máximo de veces que un bloque de árbol se puede dividir, y también pueden definir un tamaño mínimo de los nodos de codificación.
Una CU incluye un nodo de codificación y las unidades de predicción (PU) y las unidades de transformación (TU) asociadas con el nodo de codificación. Un tamaño de la CU corresponde al tamaño del nodo de codificación y debe ser típicamente de forma cuadrada. El tamaño de la CU puede variar desde 8x8 píxeles hasta el tamaño del bloque de árbol con un máximo de 64x64 píxeles o superior. 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 particionamiento pueden diferir entre si la CU es codificada en modo directo o en modo de salto, codificada en modo de intrapredicción, o codificada en modo de interpredicción. Las PU se pueden dividir para que sean 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 cuádruple. Una TU puede ser de forma cuadrada o no cuadrada.
El estándar HEVC permite transformaciones de acuerdo con las TU, que pueden ser diferentes para diferentes CU. El tamaño de las TU es usualmente en base a el tamaño de las PU dentro de una CU determinada definida para una LCU particionada, aunque esto puede no ser siempre así. Las TU usualmente son del mismo tamaño o más pequeñas que las PU. En algunos ejemplos, las muestras residuales correspondientes a una CU se pueden subdividir en unidades más pequeñas utilizando una estructura de árbol cuádruple conocida como "árbol cuádruple residual" (RQT). Los nodos hoja del RQT pueden referirse como unidades de transformación (TU). Los valores de diferencia de píxeles asociados con las TU se pueden transformar para producir coeficientes de transformación, que se pueden cuantificar.
En general, una PU incluye los datos relacionados con el proceso de predicción. Por ejemplo, cuando la PU se codifica dentro de modos, la PU puede incluir los datos que describen un modo de intrapredicción para la PU. Como otro ejemplo, cuando la PU se codifica entre modos, la PU puede incluir los datos que definen un vector de movimiento para la PU. Los datos que definen el vector de movimiento para una PU pueden describir, por ejemplo, un componente horizontal del vector de movimiento, un componente vertical del vector de movimiento, una resolución para el vector de movimiento (por ejemplo, precisión de un cuarto de píxel o precisión de un octavo de píxel), una imagen de referencia a la que apunta el vector de movimiento, y/o una lista de imágenes de referencia (por ejemplo, Lista 0, Lista 1, o Lista C) para el vector de movimiento.
En general, una TU se utiliza para los procedimientos de transformación y cuantificación. Una CU dada que tiene una o más PU también puede incluir una o más unidades de transformación (TU). Tras la predicción, el codificador de vídeo 20 puede calcular los valores residuales del bloque de vídeo identificado por el nodo de codificación de acuerdo con la PU. El nodo de codificación se actualiza entonces para hacer referencia a los valores residuales en lugar del bloque de vídeo original. Los valores residuales comprenden valores de diferencia de píxeles que pueden transformarse en coeficientes de transformación, cuantificarse y escanearse mediante el uso de las transformaciones y otra información de transformación especificada en las TU para producir coeficientes de transformación serializados para la codificación de entropía. El nodo de codificación puede actualizarse de nuevo para hacer referencia a estos coeficientes de transformación serializados. Esta divulgación usa típicamente el término "bloque de vídeo" para referirse a un nodo de codificación de una CU. En algunos casos específicos, esta divulgación también puede utilizar el término "bloque de vídeo" para referirse a un bloque de árbol, es decir, LCU, o CU, que incluye un nodo de codificación y las PU y las TU.
Una secuencia de vídeo usualmente incluye una serie de cuadros o imágenes de vídeo. Un grupo de imágenes (GOP) de manera general comprende una serie de una o más de las imágenes de vídeo. Un GOP puede incluir los datos de sintaxis en un encabezado del GOP, un encabezado de una o más de las imágenes, o en cualquier otro lugar, que describa una serie de imágenes incluidas en el GOP. Cada segmento de una imagen puede incluir los datos de sintaxis del segmento que describen un modo de codificación para el segmento respectivo. El codificador de vídeo 20 usualmente opera en los bloques de vídeo dentro de los 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 específico.
Como un ejemplo, el HM soporta la predicción en varios tamaños de PU. Asumiendo que el tamaño de una CU particular es 2Nx2N, el HM soporta la intrapredicción en los tamaños de PU de 2Nx2N o NxN, y la interpredicción en los tamaños de PU simétricos de 2Nx2N, 2NxN, Nx2N o NxN. El HM también soporta particiones asimétricas para la interpredicción en los tamaños de PU de 2NxnU, 2NxnD, nLx2N, y nRx2N. En la partición asimétrica, una dirección de una CU no se particiona, mientras que la otra dirección se particiona en 25 % y 75 %. La parte de la CU correspondiente a la partición del 25 % se indica mediante una "n" seguida de una indicación de "Arriba", "Abajo", "Izquierda", o "Derecha". Por tanto, por ejemplo, "2NxnU" se refiere a una CU de 2Nx2N que se particiona de manera horizontal con una PU de 2Nx0,5N en la parte superior y una PU de 2Nx1,5N en la parte inferior.
En esta divulgación, "NxN" y "N por N" se pueden utilizar indistintamente para referirse a las dimensiones de los píxeles de un bloque de vídeo en términos de dimensiones verticales y horizontales, por ejemplo, 16x16 píxeles o 16 por 16 píxeles. En general, un bloque de 16x16 tendrá 16 píxeles en una dirección vertical (y = 16) y 16 píxeles en una dirección horizontal (x = 16). Del mismo modo, un bloque NxN de manera general tiene N píxeles en una dirección vertical y N píxeles en una dirección horizontal, donde N representa un valor entero no negativo. Los píxeles de un bloque se pueden organizar en filas y columnas. Además, los bloques no necesitan tener necesariamente el mismo número de píxeles en la dirección horizontal que en la dirección vertical. Por ejemplo, los bloques pueden comprender NxM píxeles, donde M no es necesariamente igual a N.
Después de la codificación intrapredictiva o interpredictiva utilizando las PU de una CU, el codificador de vídeo 20 puede calcular los datos residuales para las transformaciones especificadas por las TU de la CU. Los datos residuales pueden corresponder a las diferencias de píxeles entre los píxeles de la imagen no codificada y los valores de predicción correspondientes a las PU. El codificador de vídeo 20 puede formar los datos residuales para la CU y luego transformar los datos residuales para producir coeficientes de transformación.
Después de cualquier transformación para producir los coeficientes de transformación, el codificador de vídeo 20 puede realizar la cuantificación de los coeficientes de transformación. La cuantificación de manera general se refiere a un procedimiento en el que los coeficientes de transformación se cuantifican para de manera posible reducir la cantidad de datos utilizados para representar los coeficientes, proporcionando compresión adicional. El procedimiento de cuantificación puede reducir la profundidad de bits que se asocia con algunos o todos los coeficientes. Por ejemplo, un valor de bits n se puede redondear a un valor de bits m durante la cuantificación, donde n es mayor que m.
En algunos ejemplos, el codificador de vídeo 20 puede utilizar un orden de exploración predefinido para explorar los coeficientes de transformación cuantificados para producir un vector serializado que puede codificarse por entropía. En otros ejemplos, el codificador de vídeo 20 puede realizar una exploración adaptativa. Después de explorar los coeficientes de transformación cuantificados para formar un vector unidimensional, el codificador de vídeo 20 puede codificar por entropía el vector unidimensional, por ejemplo, de acuerdo con la codificación de longitud variable adaptativa al contexto (CAVLC), la codificación aritmética binaria adaptativa al contexto (CABAC), la codificación aritmética binaria adaptativa al contexto basada en la sintaxis (SBAC), la codificación por Entropía de Particionamiento del Intervalo de Probabilidad (PIPE), o con otra metodología de codificación por entropía. El codificador de vídeo 20 también puede codificar por entropía los elementos de sintaxis asociados con los datos de vídeo codificados para su uso por el decodificador de vídeo 30 al decodificar los datos de vídeo.
Para realizar la CABAC, el codificador de vídeo 20 puede asignar un contexto dentro de un modelo de contexto a un símbolo a transmitir. El contexto se puede relacionar a, por ejemplo, si los valores vecinos del símbolo son o no de valor cero. Para realizar la CAVLC, el codificador de vídeo 20 puede seleccionar un código de longitud variable para transmita un símbolo a transmitir. Las palabras de código en VLC se pueden construir de modo que los códigos relativamente más cortos correspondan a los símbolos más probables, mientras que los códigos relativamente más largos correspondan a los símbolos menos probables. De esta manera, el uso de VLC puede lograr un ahorro de bits con respecto a, por ejemplo, mediante el uso de palabras de código de igual longitud para cada símbolo a transmitir. La determinación de la probabilidad puede estar en base a un contexto asignado al símbolo.
En algunos ejemplos, el codificador de vídeo 20 y el descodificador de vídeo 30 pueden configurarse para implementar una o más técnicas de ejemplo descritas en esta divulgación. El codificador de vídeo 20 puede codificar datos de vídeo en forma de una unidad de acceso que se divide en una o más unidades de decodificación. Estas unidades de acceso pueden almacenarse temporalmente en un almacenamiento temporal de las imágenes codificadas. El decodificador de vídeo 30 puede extraer las DU para decodificarlas en un orden de decodificación en base a la información de tiempo incluida en los elementos de sintaxis para las respectivas AU o DU.
De acuerdo con las técnicas descritas en esta divulgación, el término "unidad de decodificación" puede definirse como sigue. Una unidad de decodificación es una unidad de acceso o un subconjunto de una unidad de acceso. Si el elemento de sintaxis SubPicCpbFlag es igual a 0, una unidad de decodificación es una unidad de acceso. De lo contrario, una DU incluye una o más unidades NAL VCL en una AU y las unidades NAL no VCL asociadas. Si una unidad NAL no VCL tiene nal_unit_type igual a UNSPECO, EOS_NuT, EOB_NUT, FD_NUT, en el intervalo de RSV_NVCL44 a RSV_NVCL47, o en el intervalo de UNSPEC48 a UNSPEC63, la unidad NAL no VCL está asociada con la unidad NAL VCL anterior más reciente en el orden de decodificación; de lo contrario, la unidad NAL no VCL se asocia con la primera unidad NAL VCL subsiguiente en el orden de decodificación. Para considerar correctamente las unidades NAL no VLC de acuerdo con las técnicas descritas en la presente memoria, la DU puede definirse para considerar unidades NAL no VCL con nal_unit_type igual a UNSPECO, EOS_NUT, EOB_NUT, en el intervalo de RSV_NVCL44 a RSV_NVCL47 o en el intervalo de UNSPEC48 a UNSPEC63.
De acuerdo con las técnicas descritas en esta divulgación, el término "punto de operación" puede definirse como sigue. Un punto de operación se identifica por un conjunto de valores nuh_reserved_zero_6bits (denotado como OpLayerIdSet) y un valor TemporalId (denotado como OpTid) y el subconjunto de flujo de bits asociado derivado como la salida del procedimiento de extracción de subflujo de bits como se especifica en la subcláusula 10.1 de HEVC WD8. Los elementos de sintaxis OpTid y OpLayerIdSet pueden funcionar como entradas y ser decodificables de forma independiente.
Algunos ejemplos de flujos de bits generados de acuerdo con las técnicas descritas en la presente memoria pueden tener un nivel de conformidad de flujo de bits. La subcláusula 10.1 de HEVC WD8 describe que puede ser un requisito de conformidad del flujo de bits que cualquier subflujo de bits que se incluya en la salida del procedimiento especificado en la subcláusula 10.1 con tIdTarget sea igual a cualquier valor en el intervalo de 0 a 6, inclusive, y con targetDecLayerIdSet que contiene el valor 0 puede ser conforme a HEVC.
En algunos ejemplos, un flujo de bits conforme puede contener una o más unidades NAL de segmento codificadas con nuh_reserved_zero_6bits igual a 0 y TemporalId igual a 0.
Las entradas al procedimiento descrito en la presente memoria pueden ser una variable tIdTarget y una lista targetDecLayerIdSet. Las salidas incluyen un subflujo de bits. El subflujo de bits puede derivarse eliminando del flujo de bits todas las unidades NAL con TemporalId mayor que tIdTarget o nuh_reserved_zero_6bits que no se encuentran entre los valores de targetDecLayerIdSet.
Cada unidad NAL puede estar asociada con información de encabezado. Para la semántica de encabezado de unidad NAL, se puede especificar lo siguiente. Durante la decodificación, el decodificador 30 puede ignorar (por ejemplo, eliminar del flujo de bits y descartar) el contenido de todas las unidades NAL que utilizan valores reservados de nal_unit_type. En las operaciones del HRD como se especifica en el Anexo C de HEVC WD8, en función del punto de operación seleccionado bajo prueba, las unidades NAL con valores reservados de nal_unit_type pueden considerarse en la derivación de los tiempos de llegada y eliminación de la CPB, pero durante la decodificación pueden ignorarse de manera segura (eliminado y descartado).
Durante la decodificación, los decodificadores pueden ignorar (por ejemplo, eliminar del flujo de bits y descartar) todas las unidades NAL con valores de nuh_reserved_zero_6bits no iguales a 0. En las operaciones de1HRD como se especifica en el Anexo C de HEVC WD8, en función del punto de operación seleccionado bajo prueba, las unidades NAL con valores reservados de nuh_reserved_zero_6bits pueden considerarse en la derivación del tiempo de llegada y eliminación de la CPB, pero durante la decodificación pueden ignorarse de manera segura (eliminado y descartado).
Los tiempos de llegada y eliminación del almacenamiento temporal de las imágenes codificadas pueden estar en base a dos niveles: un nivel de unidad de acceso y un nivel de subimagen. Se puede configurar un codificador de vídeo (por ejemplo, codificador de vídeo 20 o decodificador de vídeo 30) para derivar un tiempo de llegada de la CPB y un tiempo de eliminación nominal de la CPB para el nivel de la unidad de acceso y el nivel de subimagen independientemente del valor de un elemento de sintaxis que define si una DU es una a U (por ejemplo, si la AU incluye solo una DU). El elemento de sintaxis puede ser SubPicCpbFlag, que se señalaría para cada AU. Como se mencionó anteriormente, cuando SubPicCpbFlag es igual a 0, una DU constituye la AU completa. De lo contrario, cuando SubPicCpbFlag es igual a un valor distinto de cero, una DU incluye una o más unidades NAL VCL en una AU y las unidades NAL no VCL asociadas. En algunos ejemplos, el codificador de vídeo puede configurarse para derivar también los tiempos de eliminación de la CPB para el nivel de la AU cuando el elemento de sintaxis indica que la DU es una AU. En algunos de estos ejemplos, el codificador de vídeo puede configurarse para derivar los tiempos de eliminación de la CPB solo para el nivel de la AU cuando el elemento de sintaxis indica que la DU es una AU.
En algunos ejemplos, el codificador de vídeo (por ejemplo, codificador de vídeo 20 o decodificador de vídeo 30) puede configurarse para derivar también tiempos de eliminación de la CPB para el nivel de subimagen cuando el elemento de sintaxis indica que la DU no es una AU. En algunos de estos ejemplos, el codificador de vídeo puede configurarse para derivar los tiempos de eliminación de la CPB solo para el nivel de subimagen cuando el elemento de sintaxis indica que la DU no es una AU.
El codificador de vídeo puede configurarse para derivar el tiempo de llegada de la CPB y el tiempo de eliminación nominal de la CPB cuando un segundo elemento de sintaxis especifica que los parámetros de retardo de eliminación de la CPB en el nivel de subimagen están presentes y la CPB puede funcionar a nivel de la AU o a nivel de la subimagen. El segundo elemento de sintaxis puede ser un sub_pic_cpb_params_present_flag. Cuando sub_pic_cpb_params_present_flag es igual a 1, los parámetros de retardo de eliminación de la CPB a nivel de la subimagen están presentes y la CPB puede funcionar a nivel de unidad de acceso o nivel de subimagen, y cuando sub_pic_cpb_params_present_flag es igual a 0, los parámetros de retardo de eliminación de la CPB a nivel de la subimagen no están presentes y la CPB opera a nivel de unidad de acceso.
En algunos de los ejemplos donde sub_pic_cpb_params_present_flag es igual a 1, el codificador de vídeo puede configurarse para establecer la variable subPicParamsPresentFlag igual a 0, y derivar los tiempos de llegada inicial y final de AU. Luego, el codificador de vídeo puede configurarse para establecer la variable subPicParamsPresentFlag igual a 1, y derivar los tiempos de llegada inicial y final de DU para DU dentro de la AU.
Además, en algunos ejemplos, un codificador de vídeo (por ejemplo, un codificador de vídeo 20 o un decodificador de vídeo 30) puede configurarse para codificar (por ejemplo, codificar o decodificar) una duración de tiempo entre la eliminación de la CPB de una primera unidad de decodificación en una unidad de acceso y una segunda DU en la unidad de acceso. En este ejemplo, la segunda DU es posterior a la primera DU en el orden de decodificación y en la misma AU que la DU. El codificador de vídeo puede configurarse para determinar un tiempo de eliminación de la primera DU basándose al menos en la duración codificada. En algunas técnicas, el codificador de vídeo puede determinar el tiempo de eliminación de la primera DU sin codificar el retardo y la compensación de eliminación de la CPB iniciales. En algunos ejemplos, la segunda DU es inmediatamente posterior a la primera DU en la unidad de acceso. En algunos ejemplos, la segunda DU es la última DU en la unidad de acceso en el orden de decodificación.
El codificador de vídeo (por ejemplo, el codificador de vídeo 20 o el descodificador de vídeo 30) también puede configurarse para codificar parámetros de la CPB a nivel de la subimagen. En estos ejemplos, el codificador de vídeo puede determinar el tiempo de eliminación de la primera DU basándose en al menos uno de los parámetros de la CPB de la duración codificada y del nivel de subimagen. Por ejemplo, los parámetros de la CPB a nivel de la subimagen pueden ser un mensaje SEI del tipo temporización de subimagen que está asociado con la primera DU. En algunos ejemplos, el codificador de vídeo puede codificar la duración entre el tiempo de eliminación de la última DU en la AU en el orden de decodificación y la primera DU en el mensaje SEI de subimagen. En algunos ejemplos, el codificador de vídeo puede codificar una bandera de nivel de secuencia para indicar la presencia de los parámetros de la CPB a nivel de la subimagen en mensajes SEI del tipo temporización de imagen o en mensajes SEI de temporización de la subimagen.
Por ejemplo, el codificador de vídeo 20 puede configurarse para codificar una duración de tiempo entre la eliminación de la CPB de una primera DU en una AU y una segunda DU en la AU. El codificador de vídeo 20 puede codificar parámetros de la CPB a nivel de la subimagen, tales como los parámetros de retardo de eliminación de la CPB a nivel de la subimagen, en uno de un mensaje SEI del tipo temporización de imagen o un mensaje SEI del tipo temporización de subimagen. El codificador de vídeo 20 puede codificar una bandera, sub_pic_cpb_params_in_pic_timing_sei_flag, para indicar si los parámetros de la CPB a nivel de la subimagen están presentes en el mensaje SEI del tipo temporización de imagen o un mensaje SEI del tipo temporización de subimagen.
Por ejemplo, el descodificador de vídeo 30 puede descodificar una duración de tiempo entre la eliminación de la CPB de una primera DU en una AU y una segunda DU en la AU. El decodificador de vídeo 30 puede configurarse para determinar un tiempo de eliminación de la primera DU basándose al menos en la duración decodificada. En algunas técnicas, el codificador de vídeo puede determinar el tiempo de eliminación de la primera DU sin decodificar el retardo y la compensación de eliminación de la CPB iniciales. El descodificador 30 de vídeo puede descodificar parámetros de la CPB a nivel de la subimagen a partir de un mensaje SEI del tipo temporización de imagen o un mensaje SEI del tipo temporización de subimagen recibido desde el codificador de vídeo 20. El decodificador de vídeo 30 puede determinar qué mensaje SEI buscar los parámetros de la CPB a nivel de la subimagen en base a la presencia de la bandera, sub_pic_cpb_params_in_pic_timing_sei_flag,
En algunas de las técnicas de ejemplo descritas en esta divulgación, el valor de identificación temporal (TemporalId) de la segunda DU puede no ser mayor que el Temporalld de la primera DU. En algunos ejemplos, el Temporalld de la segunda DU puede no ser mayor que cero.
Por ejemplo, las técnicas descritas en esta divulgación pueden proporcionar una determinación más resistente a errores del tiempo de eliminación del almacenamiento temporal de las imágenes codificadas. Adicionalmente, además de mejorar la resistencia a errores, las técnicas pueden promover la eficiencia de la señalización, lo que reduce el ancho de banda, la sobrecarga de señalización y aumenta el tiempo de codificación. Además, las técnicas descritas en esta divulgación pueden permitir una escalabilidad temporal mejorada.
La Figura 2 es un diagrama de bloques que ilustra un codificador de vídeo 20 de ejemplo que puede implementar las técnicas descritas en esta divulgación. El codificador de vídeo 20 puede realizar la intracodificación y la intercodificación de los bloques de vídeo dentro de los segmentos de vídeo. La intracodificación se basa en la predicción espacial para reducir o eliminar la redundancia espacial en el vídeo dentro de una trama o imagen de vídeo determinado. La intercodificación se basa en la predicción temporal para reducir o eliminar la redundancia temporal en el vídeo dentro de tramas o imágenes adyacentes de una secuencia de vídeo. El intramodo (modo I) se puede referir a cualquiera de diversos modos de compresión basados en el espacio. Los intermodos, tal como la predicción unidireccional (modo P) o la predicción bidireccional (modo B), se pueden referir a cualquiera de diversos modos de compresión basados en el tiempo.
En el ejemplo de la Figura 2, el codificador de vídeo 20 incluye una unidad de partición 35, una unidad de procesamiento de predicción 41, un sumador 50, una unidad de procesamiento de transformación 52, una unidad de cuantificación 54, una unidad de codificación por entropía 56. La unidad de procesamiento de predicción 41 incluye la unidad de estimación de movimiento 42, la unidad de compensación de movimiento 44 y la unidad de procesamiento de predicción 46. Para la reconstrucción de los bloques de vídeo, el codificador de vídeo 20 incluye además la unidad de cuantificación inversa 58, la unidad de procesamiento de transformación inversa 60, el sumador 62, la unidad de filtro 64 y el almacenamiento temporal de imágenes decodificadas (DPB) 66. El almacenamiento temporal de imágenes decodificadas 66 también puede denominarse memoria de imágenes de referencia. En otros ejemplos, el codificador de vídeo 20 puede incluir más, menos, o diferentes componentes funcionales.
Como se muestra en la Figura 2, el codificador de vídeo 20 recibe datos de vídeo y la unidad de partición 35 divide los datos en bloques de vídeo. Esta partición de los datos de vídeo también puede incluir la partición de los datos de vídeo en segmentos, mosaicos u otras unidades más grandes, así como también la partición de bloques de vídeo, por ejemplo, de acuerdo con una estructura de cuatro árboles de las LCU y CU. El codificador de vídeo 20 generalmente ilustra los componentes que codifican bloques de vídeo dentro de un segmento de vídeo a codificar. El segmento puede dividirse en múltiples bloques de vídeo (y posiblemente en conjuntos de bloques de vídeo denominados mosaicos).
La unidad de procesamiento de predicción 41 puede seleccionar uno de una pluralidad de modos de codificación posibles, tal como uno de una pluralidad de modos de intracodificación o uno de una pluralidad de modos de codificación mutua, para el bloque de vídeo actual en base a resultados de error (por ejemplo, tasa de codificación y el nivel de distorsión). La unidad de procesamiento de predicción 41 puede proporcionar el bloque intra o inter codificado resultante al sumador 50 para generar datos de bloque residuales y al sumador 62 para reconstruir el bloque codificado para su uso como imagen de referencia.
La unidad de procedimiento de intrapredicción 46 dentro de la unidad de procesamiento de predicción 41 puede realizar la codificación intrapredictiva del bloque de vídeo actual con relación a uno o más bloques vecinos en la misma trama o segmento que el bloque actual a codificar para proporcionar compresión espacial. La unidad de estimación de movimiento 42 y la unidad de compensación de movimiento 44 dentro de la unidad de procesamiento de predicción 41 realizan una codificación interpredictiva del bloque de vídeo actual en relación con uno o más bloques predictivos en una o más imágenes de referencia para proporcionar la compresión temporal.
La unidad de estimación de movimiento 42 puede configurarse para determinar el modo de interpredicción para un segmento de vídeo de acuerdo con un patrón predeterminado para una secuencia de vídeo. El patrón predeterminado puede designar segmentos de vídeo en la secuencia como segmentos P, segmentos B o segmentos GPB. La unidad de estimación de movimiento 42 y la unidad de compensación de movimiento 44 pueden estar muy integradas, pero se ilustran por separado con fines conceptuales. La estimación de movimiento, realizada por la unidad de estimación de movimiento 42, es el procedimiento de generar los vectores de movimiento, que estiman el movimiento para los 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 una imagen o trama de vídeo actual con relación a un bloque predictivo dentro de una imagen de referencia.
Un bloque predictivo es un bloque que se encuentra que coincide estrechamente con la PU del bloque de vídeo a codificar en términos de diferencia de píxeles, que se puede determinar mediante la suma de la diferencia absoluta (SAD), la suma de la diferencia cuadrada (SSD), o mediante otras métricas de diferencia. En algunos ejemplos, el codificador de vídeo 20 puede calcular valores para posiciones de píxeles subenteros de imágenes de referencia que se almacenan en el almacenamiento temporal de imágenes decodificadas 66. 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íxeles fraccionarios de la imagen de referencia. Por lo tanto, la unidad de estimación de movimiento 42 puede realizar una búsqueda de movimiento con relación a las posiciones de píxeles completos y a las posiciones de píxeles fraccionarios y generar un vector de movimiento con precisión de píxeles fraccionarios.
La unidad de estimación de movimiento 42 calcula un vector de movimiento para una PU de un bloque de 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 seleccionarse de una primera lista de imágenes de referencia (Lista 0) o una segunda lista de imágenes de referencia (Lista 1), cada una de las cuales identifica una o más imágenes de referencia que se almacenan en el almacenamiento temporal de imágenes decodificadas 66. La unidad de estimación de movimiento 42 envía el vector de movimiento calculado a la unidad de codificación por entropía 56 y a la unidad de compensación de movimiento 44.
La compensación de movimiento, realizada por la unidad de compensación de movimiento 44, puede implicar buscar o generar el bloque predictivo en base al vector de movimiento determinado por la estimación de movimiento, posiblemente realizando interpolaciones con precisión de subpíxeles. Al recibir el vector de movimiento para la PU del bloque de vídeo actual, la unidad de compensación de movimiento 44 puede localizar el bloque predictivo al que apunta el vector de movimiento en una de las listas de imágenes de referencia. El codificador de vídeo 20 forma un bloque de vídeo residual restando los valores de píxeles del bloque predictivo de los valores de píxeles del bloque de vídeo actual que se codifica, formando valores de diferencia de píxeles. Los valores de diferencia de píxeles forman los datos residuales para el bloque y pueden incluir componentes de diferencia de luma y croma. El sumador 50 representa el componente o componentes que realizan esta operación de sustracción. La unidad de compensación de movimiento 44 también puede generar los elementos de sintaxis asociados con los bloques de vídeo y el segmento de vídeo para su uso por el decodificador de vídeo 30 al decodificar los bloques de vídeo del segmento de vídeo.
La unidad de procesamiento de intrapredicción 46 puede intrapredecir un bloque actual, como una alternativa a la interpredicción que se realiza mediante la unidad de estimación de movimiento 42 y la unidad de compensación de movimiento 44, como se describió anteriormente. En particular, la unidad de procesamiento de intrapredicción 46 puede determinar un modo de intrapredicción para usar para codificar un bloque actual. En algunos ejemplos, la unidad de procesamiento de intrapredicción 46 puede codificar un bloque actual al usar varios modos de intrapredicción, por ejemplo, durante pasadas de codificación separadas, y la unidad de procesamiento de intrapredicción 46 (o la unidad de selección de modo 40, en algunos ejemplos) puede seleccionar un modo de intrapredicción apropiado para usar de los modos probados. Por ejemplo, la unidad de procesamiento de intrapredicción 46 puede calcular valores de tasa de distorsión al usar un análisis de tasa de distorsión para varios modos de intrapredicción probados, y seleccionar el modo de intrapredicción que tiene las mejores características de tasa de distorsión entre los modos probados. El análisis de la tasa de distorsión generalmente determina una cantidad de distorsión (o error) entre un bloque codificado y uno original, el bloque no codificado que se codificó para producir el bloque codificado, así como también una tasa de bits (es decir, una cantidad de bits) que se usa para producir el bloque codificado. La unidad de procesamiento de intrapredicción 46 puede calcular las relaciones de las distorsiones y tasas para varios bloques codificados para determinar qué modo de intrapredicción exhibe el mejor valor de tasa de distorsión para el bloque.
Después de seleccionar un modo de intrapredicción para un bloque, la unidad de procesamiento de intrapredicción 46 puede proporcionar información indicativa del modo de intrapredicción que se selecciona para el bloque a la unidad de codificación de entropía 56. La unidad de codificación de entropía 56 puede codificar la información que indica el modo de intrapredicción seleccionado de acuerdo con las técnicas de esta divulgación. El codificador de vídeo 20 puede incluir en los datos de configuración del flujo de bits transmitido, que pueden incluir una pluralidad de tablas de índice en modo de intrapredicción y una pluralidad de tablas de índice en modo de intrapredicción modificadas (que se refieren además, a tablas de asignación de palabras de código), definiciones de contextos de codificación para varios bloques e indicaciones de un modo de intrapredicción más probable, una tabla de índice de modo de intrapredicción y una tabla de índice de modo de intrapredicción modificada para usar en cada uno de los contextos.
Después de que la unidad de procesamiento de predicción 41 genera el bloque predictivo para el bloque de vídeo actual, ya sea a través de intrapredicción o interpredicción, el codificador de vídeo 20 forma un bloque de vídeo residual restando el bloque predictivo del bloque de vídeo actual. Los datos de vídeo residuales en el bloque residual pueden incluirse en una o más TU y aplicarse a la unidad 52 de procesamiento de transformación. La unidad de procesamiento de transformación 52 transforma los datos de vídeo residuales en coeficientes de transformación residual mediante el uso de una transformación, tal como una transformada de coseno discreta (DCT) o una transformada conceptualmente similar. La unidad de procesamiento de transformación 52 puede convertir los datos de vídeo residuales de un dominio de píxeles 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 cuantificación 54. La unidad de cuantificación 54 cuantifica los coeficientes de transformación para reducir aún más la tasa de bits. El procedimiento de cuantificación puede reducir la profundidad de bits que se asocia con algunos o todos los coeficientes. El grado de cuantificación puede modificarse mediante el ajuste de un parámetro de cuantificación. En algunos ejemplos, la unidad de cuantificación 54 puede luego realizar una exploración de la matriz que incluye los coeficientes de transformación cuantificados. Alternativamente, la unidad de codificación de entropía 56 puede realizar la exploración.
Después de la cuantificación, la entropía de la unidad de codificación por entropía 56 codifica los coeficientes de transformación cuantificados. Por ejemplo, la unidad de codificación por entropía 56 puede realizar codificación de longitud variable adaptativa al contexto (CAVLC), codificación aritmética binaria adaptativa al contexto (CABAC), codificación aritmética binaria adaptativa al contexto en base a sintaxis (SBAC), codificación por entropía de partición de intervalo de probabilidad (PIPE) u otra metodología o técnica de codificación por entropía. Después de la codificación por entropía mediante la unidad de codificación por entropía 56, el flujo de bits codificado se puede transmitir al decodificador de vídeo 30, o archivar para su posterior transmisión o recuperación mediante el decodificador de vídeo 30. La unidad de codificación por entropía 56 también puede codificar por entropía los vectores de movimiento y los otros elementos de sintaxis para el segmento de vídeo actual que se codifica.
La unidad de cuantificación inversa 58 y la unidad de procesamiento de transformación inversa 60 aplican cuantificación inversa y transformación inversa, respectivamente, para reconstruir el bloque residual en el dominio de píxeles para su uso posterior como bloque de referencia de una imagen de referencia. La unidad de compensación de movimiento 44 puede calcular un bloque de referencia añadiendo el bloque residual a un bloque predictivo de una de las imágenes de referencia dentro de una de las listas de imágenes de referencia. La unidad de compensación de movimiento 44 también puede aplicar uno o más filtros de interpolación al bloque residual reconstruido para calcular valores de píxeles subenteros para su uso en la estimación de movimiento. El sumador 62 añade el bloque residual reconstruido al bloque predictivo compensado por el movimiento producido por la unidad de compensación de movimiento 44 para producir un bloque de referencia para almacenar en el almacenamiento temporal de imágenes decodificadas 66. El bloque de referencia se puede utilizar por la unidad de estimación de movimiento 42 y por la unidad de compensación de movimiento 44 como un bloque de referencia para interpredecir un bloque en una trama o imagen de vídeo subsecuente.
El codificador de vídeo 20 también incluye la unidad de filtro 64 que puede filtrar los límites de los bloques para eliminar los artefactos de bloqueo del vídeo reconstruido. La unidad de filtro 64 puede realizar una o más operaciones de desbloqueo para reducir los artefactos de bloqueo en los bloques de codificación asociados con una CU. La unidad de filtro 64 puede ser un filtro de desbloqueo y filtra la salida del sumador 62. Pueden además, usarse filtros de lazo adicionales (en lazo o lazo posterior) además de la unidad de filtro 64.
El almacenamiento temporal de imágenes decodificadas 66 puede almacenar los bloques de codificación reconstruidos después de que la unidad de filtro 64 realice una o más operaciones de desbloqueo en los bloques de codificación reconstruidos. La unidad de procesamiento de predicción 41 puede utilizar una imagen de referencia que contiene los bloques de codificación reconstruidos para realizar la predicción en las PU de otras imágenes. Además, la unidad de procesamiento de intrapredicción 46 puede utilizar los bloques de codificación reconstruidos en el almacenamiento temporal de imágenes decodificadas 66 para realizar la intrapredicción en otras PU en la misma imagen que la CU.
El codificador de vídeo 20 puede generar elementos de sintaxis relacionados con los tiempos de eliminación de la CPB de la DU dentro de una AU de acuerdo con las técnicas descritas en la presente memoria. Una vez que se generan estos elementos de sintaxis, el codificador de vídeo 20 los codifica en uno o más flujos de bits y genera los flujos de bits.
De acuerdo con esta divulgación, la unidad de procesamiento de predicción 41 representa una unidad de ejemplo para realizar las funciones de ejemplo descritas anteriormente. En otros ejemplos, una unidad distinta de la unidad de procesamiento de predicción 41 puede implementar los ejemplos descritos anteriormente. En algunos otros ejemplos, la unidad de procesamiento de predicción 41 junto con una o más de otras unidades del codificador de vídeo 20 pueden implementar los ejemplos descritos anteriormente. En algunos otros ejemplos más, un procesador o unidad de codificador de vídeo 20 puede, solo o junto con otras unidades de codificador de vídeo 20, implementar los ejemplos descritos anteriormente.
La Figura 3 es un diagrama de bloques que ilustra un decodificador de vídeo 30 de ejemplo que puede implementar las técnicas descritas en esta divulgación. En el ejemplo de la Figura 3, el decodificador de vídeo 30 incluye la unidad de decodificación por entropía 80, la unidad de procesamiento de predicción 81, la unidad de cuantificación inversa 86, la unidad de procesamiento de transformación inversa 88, el sumador 90 y el almacenamiento temporal de imágenes decodificadas (DPB) 92. La unidad de procesamiento de predicción 81 incluye la unidad de compensación de movimiento 82 y la unidad de intrapredicción 84. Un almacenamiento temporal de las imágenes codificadas (CPB) 94 se muestra como una entrada al decodificador de vídeo 30. Sin embargo, en algunos ejemplos, la CPB 94 puede ser parte del decodificador de vídeo 30. 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 de la Figura 2.
Durante el procedimiento de decodificación, el decodificador de vídeo 30 recibe un flujo de bits de vídeo codificado que representa los bloques de vídeo de un segmento de vídeo codificado y los elementos de sintaxis asociados del codificador de vídeo 20. Los bloques de vídeo del segmento de vídeo codificado y los elementos de sintaxis asociados del codificador de vídeo 20 pueden extraerse del almacenamiento temporal de las imágenes codificadas 94. El vídeo codificado de la CPB 94 puede incluir, por ejemplo, unidades de acceso (AU) que comprenden unidades de decodificación (DU). Los elementos de sintaxis pueden incluir variables y banderas indicativas de los tiempos de eliminación de la CPB para las unidades de acceso y las unidades de decodificación.
La unidad de decodificación por entropía 80 del decodificador de vídeo 30 decodifica la entropía del flujo de bits para generar coeficientes cuantificados, vectores de movimiento, y otros elementos de sintaxis. La unidad de decodificación por entropía 80 envía los vectores de movimiento y otros elementos de sintaxis a la unidad de procesamiento de predicción 81. El decodificador de vídeo 30 puede recibir los elementos de sintaxis a nivel de segmento de vídeo y/o a nivel de bloque de vídeo.
Cuando el segmento de vídeo se codifica como un segmento intracodificado (I), la unidad de procesamiento de intrapredicción 84 de la unidad de procesamiento de predicción 81 puede generar datos de predicción para un bloque de vídeo del segmento de vídeo actual en base a un modo de intrapredicción señalizado y datos de los bloques decodificados previamente de la trama o imagen actual. Cuando la trama de vídeo se codifica como un segmento intercodificado (es decir, segmento B o segmento GPB), la unidad de compensación de movimiento 82 de la unidad de procesamiento de predicción 81 produce bloques predictivos para un bloque de vídeo del segmento de vídeo actual en base a los vectores de movimiento y a otros elementos de sintaxis recibidos de la unidad de decodificación por entropía 80. Los bloques predictivos se pueden producir 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 tramas de referencia, Lista 0 y Lista 1, al usar técnicas de construcción predeterminadas en base a imágenes de referencia que se almacenan en el almacenamiento temporal de imágenes decodificadas 92.
La unidad de compensación de movimiento 82 determina la 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 se está decodificando. Por ejemplo, la unidad del compensación de movimiento 82 usa algunos de los elementos de sintaxis recibidos para determinar un modo de predicción (por ejemplo, intrapredicción o interpredicción) utilizado para codificar los bloques de vídeo del segmento de vídeo, un tipo de segmento de interpredicción (por ejemplo, segmento B o segmento P, o segmento GPB), la información de construcción para una o más de las listas de imágenes de referencia para el segmento, los vectores de movimiento para cada bloque de vídeo intercodificado del segmento, el 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 82 también puede realizar una interpolación en base a filtros de interpolación. La unidad de compensación de movimiento 82 puede usar filtros de interpolación como los usa 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 82 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 cuantificación inversa 86 cuantifica inversamente, es decir, descuantifica, los coeficientes de transformación cuantificados proporcionados en el flujo de bits y decodificados por la unidad de decodificación por entropía 80. El procedimiento de cuantificación inversa puede incluir el uso de un parámetro de cuantificación calculado por el codificador de vídeo 20 para cada bloque de vídeo en el segmento de vídeo para determinar un grado de cuantificación e, igualmente, un grado de cuantificación inversa que debería aplicarse. La unidad de procesamiento de transformación inversa 88 aplica una transformada inversa, por ejemplo, una DCT inversa, una transformación de entero inverso o un procedimiento de transformación inversa conceptualmente similar, a los coeficientes de transformación para producir bloques residuales en el dominio de píxeles.
Después de que la unidad de compensación de movimiento 82 genera el bloque predictivo para el bloque de vídeo actual en base a los vectores de movimiento y otros elementos de sintaxis, el decodificador de vídeo 30 forma un bloque de vídeo decodificado mediante la suma de los bloques residuales de la unidad de procesamiento de transformación inversa 88 con los correspondientes bloques predictivos que se generan mediante la unidad de compensación de movimiento 82. El sumador 90 representa el componente o componentes que realizan esta operación de suma. Si se desea, también puede aplicarse un filtro de desbloqueo para filtrar los bloques decodificados con el fin de eliminar los artefactos de bloqueo. Pueden además, usarse otros filtros de bucle (ya sea en el bucle de codificación o después del bucle de codificación) para suavizar las transiciones de píxeles o mejorar de cualquier otro modo la calidad del vídeo. Los bloques de vídeo decodificados en una trama o imagen dados se almacenan luego en la DPB 92, que almacena imágenes de referencia usadas para el desplazamiento de movimiento subsecuente. La DPB 92 almacena además, vídeo decodificado para su presentación posterior en un dispositivo de visualización, tal como el dispositivo de visualización 32 de la Figura 1.
De acuerdo con esta divulgación, la unidad de procesamiento de predicción 81 representa una unidad de ejemplo para realizar las funciones de ejemplo descritas anteriormente. En otros ejemplos, una unidad distinta de la unidad de procesamiento de predicción 81 puede implementar los ejemplos descritos anteriormente. En algunos otros ejemplos, la unidad de procesamiento de predicción 841 junto con una o más de otras unidades del decodificador de vídeo 30 puede implementar los ejemplos descritos anteriormente. En algunos otros ejemplos más, un procesador o unidad de decodificador de vídeo 30 puede, solo o junto con otras unidades de decodificador de vídeo 30, implementar los ejemplos descritos anteriormente.
El decodificador de vídeo 30 puede almacenar datos de vídeo recibidos en forma de un flujo de bits, incluyendo la AU y la DU, en un almacenamiento temporal de las imágenes codificadas (CPB) 94. El decodificador de vídeo 30 puede extraer las DU y las AU de la CPB 94 en tiempos de eliminación determinados a partir del decodificador de vídeo de elementos de sintaxis 30 recibidos en el flujo de bits. Las banderas y variables presentes en los mensajes SEI pueden informar al decodificador de vídeo 30 cuándo eliminar las DU de la CPB 94. En el tiempo de eliminación determinado para una DU actual, el descodificador de vídeo 30 extrae la DU actual de la CPB 94 y descodifica la DU. En algunos ejemplos, el decodificador de vídeo 30 también extrae una AU cuando la DU actual es la última DU de la AU.
A continuación, se describe el funcionamiento de la CPB 94. Esta descripción puede aplicarse independientemente a cada uno de los parámetros de la CPB que están presentes y a los puntos de conformidad de Tipo I y Tipo II que se muestran en la Figura C-1 en el HEVC WD8, donde el conjunto de parámetros de la CPB se selecciona como se especifica en la subcláusula C.1 de HEVC WD8. El funcionamiento de la CPB 94 puede incluir la temporización de la llegada del flujo de bits y la temporización de la eliminación de la unidad de decodificación y la decodificación de la unidad de decodificación. Cada uno se describe a su vez.
En primer lugar, se describirá el momento de llegada del flujo de bits. Para el tiempo de llegada del flujo de bits, antes de la inicialización del HRD, la CPB 94 está vacía. En algunos ejemplos, después de la inicialización, es posible que el HRD no se vuelva a inicializar mediante mensajes SEI del período de almacenamiento temporal posterior.
En los ejemplos descritos en esta divulgación, cada unidad de acceso se denomina unidad de acceso "n", donde el número "n" identifica la unidad de acceso particular. La unidad de acceso que está asociada con el mensaje SEI del período de almacenamiento temporal que inicializa la CPB 94 se denomina unidad de acceso 0. El valor de n se incrementa en 1 para cada unidad de acceso subsiguiente en el orden de decodificación.
Cada unidad de decodificación se denomina unidad de decodificación "m", donde el número "m" identifica la unidad de decodificación particular. La primera unidad de decodificación en el orden de decodificación en la unidad de acceso 0 se denomina unidad de decodificación 0. El valor de m se incrementa en 1 para cada unidad de decodificación subsiguiente en el orden de decodificación.
Cuando sub_pic_cpb_params_present_flag es igual a 1, se invoca en primer lugar el siguiente procedimiento, con la variable subPicParamsPresentFlag igual a 0, para la derivación de los tiempos de llegada inicial y final de la unidad de acceso (AU) para la unidad de acceso n. Luego, se invoca el siguiente procedimiento, con subPicParamsPresentFlag establecido igual a 1, para derivar los tiempos de llegada inicial y final de la unidad de decodificación para las unidades de decodificación en la unidad de acceso n.
Las variables InitCpbRemovalDelay [SchedSelIdx] e InitCpbRemovalDelayOffset [SchedSelIdx] se pueden configurar de la siguiente manera: Si se cumple una de las siguientes tres condiciones, InitCpbRemovalDelay [SchedSelIdx] e InitCpbRemovalDelayOffset [SchedSelIdx] se establecen en los valores de initial_alt_cpb_removal_delay [SchedSelIdx] e initial_alt_cpbMovalingHx_delay_offset[SchedSelIdx] correspondiente a NalHrdModeFlag, respectivamente, en el mensaje SEI del período de almacenamiento temporal. La primera condición puede ser cuando la unidad de acceso 0 es una unidad de acceso de acceso de enlace roto (BLA) para la cual las imágenes codificadas tiene nal_unit_type igual a BLA_W_DLP o BLA_N_LP, y el valor de rap_cpb_params_present_flag del mensaje SEI del período de almacenamiento temporal es igual a 1. La segunda condición puede ser que DefaultInitCpbParamsFlag sea igual a 0. La tercera condición puede ser que subPicParamsPresentFlag sea igual a 1. Tenga en cuenta que, en algunos ejemplos, cuando sub_pic_cpb_params_present_flag es igual a 1, la secuencia de vídeo codificada puede no tener imágenes claras de acceso aleatorio (CRA) o BLA y, por tanto, las dos primeras condiciones pueden ser ambas falsas.
De lo contrario, si ninguna de las tres condiciones anteriores es verdadera, InitCpbRemovalDelay [SchedSelIdx] e InitCpbRemovalDelayOffset [SchedSelIdx] se establecen en los valores de initial_cpb_removal_delay [SchedSelIdx] y initial_cpb_removal_delayS_offset correspondiente a NalHrdModeFlag, respectivamente en el mensaje SEI del período de almacenamiento temporal seleccionado como se especifica en la subcláusula C.1 de HEVC w D8.
En los ejemplos descritos en la presente memoria, el momento en el que el primer bit de la unidad de decodificación m comienza a ingresar al CPB 94 se denomina tiempo de llegada inicial tai(m). El tiempo de llegada inicial de la unidad de decodificación m se obtiene como sigue. Si la unidad de decodificación es la unidad de decodificación 0 (es decir, m = 0), tai(0) = 0. Es decir, la primera unidad de decodificación llega en el tiempo 0. De lo contrario, para las unidades de decodificación después de la primera unidad de decodificación (unidad de decodificación m con m> 0), se aplica lo siguiente.
Si cbr_flag [SchedSelIdx] es igual a 1, el tiempo de llegada inicial para la unidad de decodificación m es igual al tiempo de llegada final (tai, derivado a continuación) de la unidad de decodificación m -1, la unidad de decodificación anterior. La ecuación 1 proporciona una relación:
Figure imgf000018_0001
De lo contrario (por ejemplo, Cbr_flag [SchedSelIdx] es igual a 0), el tiempo de llegada inicial para la unidad de decodificación m (por ejemplo, Para m> 0) se obtiene mediante la Ecuación ("Ecuación") 2:
Figure imgf000018_0002
El tiempo de llegada de la unidad de decodificación tai,más temprano se deriva de la siguiente manera. Si la unidad de decodificación m no es la primera unidad de decodificación de un período de almacenamiento temporal posterior, taimas temprano se deriva como se muestra en la Ecuación 3:
t c ii .m A s te m p ra n o ( j A ) (3) = tT,n(m)
lnitCpbRemovalDelay[SckedSelIdx] 4- !nitCpbRemovalDelayOffset[SchedSelIdx]
90.000
Con tr, n (m) siendo el tiempo de eliminación nominal de la unidad de decodificación m de la CPB 94.
El tiempo de llegada final para la unidad de decodificación m se obtiene con la Ecuación 4:
Figure imgf000018_0003
donde B(m) es el tamaño, en bits, de la unidad de decodificación m. Si se aplica el punto de conformidad de Tipo I, B(m) incluye contar los bits de las unidades NAL VCL y las unidades NAL de datos de relleno. Si se aplica el punto de conformidad Tipo II, B(m) incluye contar todos los bits del flujo de bits de Tipo II para el punto de conformidad de Tipo II. Los puntos de conformidad Tipo I y Tipo II se muestran en la Figura C-1 del Anexo C de HEVC WD8.
Los valores de SchedSelIdx, BitRate [SchedSelIdx], y CpbSize[SchedSelIdx] están restringidos de la siguiente manera. Si el contenido de las estructuras de sintaxis hrd_parameters () seleccionadas para la AU que contiene la unidad de decodificación m y la anterior en el orden de decodificación de la AU (en el orden de decodificación) difieren, un programador de entrega (HSS) selecciona un valor SchedSelIdx1 de SchedSelIdx de entre los valores de SchedSelIdx proporcionado en la estructura de sintaxis hrd_parameters () seleccionada para la unidad de acceso que contiene la unidad de decodificación m que da como resultado un BitRate[SchedSelIdx1] o CpbSize[SchedSelIdx1] para la unidad de acceso que contiene la unidad de decodificación m. El valor de BitRate[SchedSelIdx1] o CpbSize[SchedSelIdx1] puede diferir del valor de BitRate[SchedSelIdx0] o CpbSize[SchedSelIdx0] por el valor SchedSelIdx0 de SchedSelIdx que estaba en uso para la unidad de acceso anterior. De lo contrario, si el contenido de las estructuras de sintaxis hrd_parameters () seleccionadas para las dos AU es el mismo, el HSS continúa operando con los valores anteriores de SchedSelIdx, BitRate[SchedSelIdx], y CpbSize[SchedSelIdx].
Cuando el HSS selecciona valores de BitRate[SchedSelIdx] o CpbSize[SchedSelIdx] que difieran de los de la unidad de acceso anterior, se aplica lo siguiente. La variable BitRate[SchedSelIdx] entra en vigor en el momento tai(m). La variable CpbSize[SchedSelIdx] entra en vigor en determinadas condiciones.
Si el nuevo valor de CpbSize[SchedSelIdx] es mayor que el tamaño de la CPB anterior, CpbSize[SchedSelIdx] entra en vigor en el momento tai(m). De lo contrario, si el nuevo valor de CpbSize[SchedSelIdx] es menor o igual que el tamaño de la CPB anterior, el nuevo valor de CpbSize[SchedSelIdx] entra en vigor en el momento de eliminación de la CPB de la última unidad de decodificación de la unidad de acceso que contiene la unidad de decodificación m. Cuando SubPicCpbFlag es igual a 1, el tiempo de llegada inicial de la CPB de la unidad de acceso n, tai(n), se fija al tiempo de llegada inicial de la CPB de la primera unidad de decodificación en la unidad de acceso n. El tiempo de llegada final de la CPB de la unidad de acceso n, ta (n), se fija al tiempo de llegada final de la CPB de la última unidad de decodificación en la unidad de acceso n. Cuando SubPicCpbFlag es igual a 0, cada DU es una AU, por lo tanto, los tiempos de llegada iniciales y finales de la CPB de la unidad de acceso n son los tiempos de llegada iniciales y finales de la CPB de la unidad de decodificación n.
Esta divulgación pasa ahora a describir el funcionamiento de la CPB 94 con respecto a la temporización de la eliminación de la unidad de decodificación y la decodificación de las unidades de decodificación.
Las variables InitCpbRemovalDelay[SchedSelIdx] y InitCpbRemovalDelayOffset[SchedSelIdx] se utilizan para los tiempos de eliminación de la DU. Estas dos variables se establecen de la siguiente manera. Si se cumple alguna de las dos condiciones, InitCpbRemovalDelay[SchedSelIdx] y InitCpbRemovalDelayOffset[SchedSelIdx] se establecen, en un mensaje SEI del período de almacenamiento temporal, a los valores de Initial_alt_cpb_removal_delay[SchedSelIdx] y Initial_alt_cpb_removal_delay_offset[SchedSelIdx] correspondiente a NalHrdModeFlag, respectivamente. La primera condición es que la unidad de acceso 0 sea una unidad de acceso BLA para la cual las imágenes codificadas tenga na_unit_type igual a BLA_W_DLP o BLA_N_LP, y el valor de rap_cpb_params_present_flag del mensaje SEI del período de almacenamiento temporal sea igual a 1. La segunda condición es que DefaultInitCpbParamsFlag sea igual a 0.
Si ninguna de esas dos condiciones es cierta, InitCpbRemovalDelay[SchedSelIdx] y InitCpbRemovalDelayOffset[SchedSelIdx] se establecen en los valores de initial_cpb_removal_delay[SchedSelIdx] y initial_cpb_removal_delay_offset[SchedSelIdx] correspondiente a NalHrdModeFlag, respectivamente, en el mensaje SEI del período de almacenamiento temporal asociado y seleccionado como se especifica en la subcláusula C.1 del anexo C de HEVC WD8.
La variable CpbRemovalDelay(m), relevante para el tiempo de retardo de la eliminación de la unidad de decodificación m de la CPB 94, puede derivarse de la siguiente manera cuando sub_pic_cpb_params_present_flag es igual a 1. Si sub_pic_cpb_params_in_pic_timing_sei_flag es igual a 0, CpbRemovalDelay(m) se establece en du_spt_cpb_removal_delay en el mensaje SEI del tipo temporización de subimagen asociado con la unidad de decodificación m. El mensaje SEI del tipo temporización de subimagen puede seleccionarse como se especifica en la subcláusula C.1 del anexo C de HEv C WD8.
Si du common cpb_removal_delay_flag es igual a 0, la variable CpbRemovalDelay(m) se fija al valor de du_cpb_removal_delay_minus1[i] 1 para la unidad de decodificación m en el mensaje SEI del tipo temporización de imagen, seleccionado como se especifica en la subcláusula C.1 del anexo C de HEVC WD8, asociado con la unidad de acceso que contiene la unidad de decodificación m. El valor de i es 0 para las primeras num_nalus_in_du_minus1[0] 1 unidades de decodificación consecutivas en la unidad de acceso que contiene la unidad de decodificación m, 1 para las siguientes num_nalus_in_du_minus1[1] 1 unidades de decodificación en la misma unidad de acceso, 2 para las siguientes num_nalus_in_du_minus1[2] 1 unidades de decodificación en la misma unidad de acceso, etc.
De lo contrario, si ni sub_pic_cpb_params_present_flag es igual a 1 ni du_common_cpb_removal_delay_flag es igual a 0, CpbRemovalDelay(m) se fija al valor de du_common_cpb_removal_delay_minus1 1 en el mensaje SEI del tipo temporización de imagen, seleccionado como se especifica en la subcláusula C.1 del anexo C de HEVC WD8, asociado con la unidad de acceso que contiene la unidad de decodificación m.
El tiempo de eliminación nominal de la unidad de acceso n de la CPB 94 también se puede determinar de la siguiente forma. Si la unidad de acceso n es la unidad de acceso 0 (es decir, la unidad de acceso que inicializa el HRD), el tiempo de eliminación nominal de la unidad de acceso 0, de la CPB 94, tr, n (0), se especifica mediante la Ecuación 5:
lnitCpbRemovalDelay[SchedSelldx] (5)
ír,n (0 ) = ------------------------------------------------------------
9.000
De lo contrario, para la unidad de acceso n donde n es distinto de cero o no ha inicializado e1HRD, se aplica lo siguiente. Cuando la unidad de acceso n es la primera unidad de acceso de un período de almacenamiento temporal que no inicializa el HRD, el tiempo de eliminación nominal de la unidad de acceso n de la CPB 94, tr, n (n), se especifica mediante la Ecuación 6:
trn (n) = tr ,n(nb) tc ■ (au_cpd_removal_delay_minusl(n) 1) (6)
donde tr, n (nB) es el tiempo de eliminación nominal de la primera unidad de acceso del período de almacenamiento temporal anterior, y au_cpd_removal_delay_minus1 (n) es el valor de au_cpd_removal_delay_plus1 en el mensaje SEI del tipo temporización de imagen, seleccionado como se especifica en HEVC WD8, anexo C, subcláusula C.1, asociado con la unidad de acceso n. Cuando la unidad de acceso n es la primera unidad de acceso de un período de almacenamiento temporal, nB se establece igual a n en el tiempo de eliminación nominal tr, n (n) de la unidad de acceso n. Cuando la unidad de acceso n no es la primera unidad de acceso de un período de almacenamiento temporal, tr, n(n) viene dada por la Ecuación 6, donde tr, n(nB) es el tiempo de eliminación nominal de la primera unidad de acceso del período de almacenamiento temporal actual.
Cuando sub_pic_cpb_params_present_flag es igual a 1, el tiempo de eliminación nominal para eliminar la unidad de decodificación m de la CPB 94 se especifica de la siguiente manera, donde tr, n(n) es el tiempo de eliminación nominal de la unidad de acceso n: Si la unidad de decodificación m es la última unidad de decodificación en la unidad de acceso n, el tiempo de eliminación nominal de la unidad de decodificación m tr, n(m) se establece en tr, n (n). Es decir, la unidad de acceso y su última unidad de decodificación se eliminan de la CPB 94 aproximadamente al mismo tiempo. De lo contrario, (es decir, la unidad de decodificación m no es la última unidad de decodificación en la unidad de acceso n), el tiempo de eliminación nominal de la unidad de decodificación m, tr, n(m), se deriva como se muestra en la Ecuación 7, donde tr, n(n) es el tiempo de eliminación nominal de la unidad de acceso n.
If (sub_pic_cpb_params_in_pic_timing_sei_flag)
trn m = trn m 1 — tc sub ■ C dRemovalDela m
Figure imgf000020_0001
í r n ( m ) = trn(n) - tc Sub ' CpdRemovalDelay(m)
El tiempo de eliminación de la unidad de acceso n de la CPB 94 se especifica según la Ecuación 8, donde ta (m) y tr, n (m) son el tiempo de llegada final y el tiempo de eliminación nominal, respectivamente, de la última unidad de decodificación en la unidad de acceso n.
if (! low_delay_hrd_flag || tr, n (n) > taf(n))
Figure imgf000020_0002
además si (sub_pic_cpb_params_present_flag)
Figure imgf000020_0003
Cuando SubPicCpbFlag es igual a 1, el tiempo de eliminación de la unidad de decodificación m de la CPB 94 se especifica de la siguiente forma. Si low_delay_hrd_flag es igual a 0 o tr, n (m) > taf(m), el tiempo de eliminación de la unidad de decodificación m se especifica mediante la Ecuación 9:
tr(m) = tr „ (m) (9)
De lo contrario, si la unidad de decodificación m no es la última unidad de decodificación de la unidad de acceso n, el tiempo de eliminación de la unidad de decodificación m se especifica mediante la Ecuación 10:
Figure imgf000021_0001
De lo contrario, si la unidad de decodificación m es la última unidad de decodificación de la unidad de acceso n, el tiempo de eliminación de la unidad de decodificación m se especifica mediante la Ecuación 11:
tr (m) — trn (n) (11)
En algunos ejemplos, cuando low_delay_hrd_flag es igual a 1 y tr, n(m) < taf (m), el tamaño de la unidad de decodificación m, b (m), es tan grande que impide la eliminación en el tiempo de eliminación nominal.
En el momento de la eliminación de la CPB de la unidad de decodificación m, la unidad de decodificación se decodifica instantáneamente. La imagen n se considera decodificada después de decodificar la última unidad de decodificación de la imagen.
Las siguientes tablas ilustran la sintaxis y la semántica que pueden usarse para implementar las técnicas de ejemplo descritas en esta divulgación. La Tabla 1 proporciona ejemplos de sintaxis y semántica para un mensaje SEI del período de almacenamiento temporal. La Tabla 2 proporciona ejemplos de sintaxis y semántica para un mensaje SEI del tipo temporización de imagen. La funcionalidad de la CPB 94 puede estar determinada por la sintaxis y la semántica de los mensajes SEI. Por ejemplo, el decodificador de vídeo 30 extrae la DU de la CPB 94 basándose, al menos en parte, en el período de almacenamiento temporal y en los mensajes SEI del tipo temporización de imagen. Un mensaje de información de mejora suplementaria (SEI) del período de almacenamiento temporal proporciona información del retardo de eliminación de la CPB inicial y la compensación del retardo de eliminación de la CPB inicial. La sintaxis del mensaje SEI del período de almacenamiento temporal puede ser la misma que la sintaxis del mensaje SEI del período de almacenamiento temporal en Solicitud Provisional de Estados Unidos Núm. 61/705,102, presentada el 24 de septiembre de 2012, y la semántica se cambia de la siguiente manera. La sintaxis del mensaje SEI del período de almacenamiento intermedio se proporciona en la Tabla 1, que se muestra a continuación.
Figure imgf000021_0002
continuación
Figure imgf000022_0001
Un período de almacenamiento temporal se especifica como el conjunto de unidades de acceso entre dos instancias consecutivas del mensaje SEI del período de almacenamiento temporal en el orden de decodificación.
Lo siguiente se aplica a la sintaxis y la semántica del mensaje SEI del período de almacenamiento temporal. El flujo de bits (o una parte del mismo) se refiere al subconjunto del flujo de bits (o una parte del mismo) asociado con cualquiera de los puntos de operación a los que se aplica el mensaje SEI del período de almacenamiento temporal. Para un mensaje SEI del período de almacenamiento temporal, los elementos de sintaxis initial_cpb_removal_delay_length_minus1 y sub_pic_cpb_params_present_flag, y las variables NalHrdBpPresentFlag, VclHrdBpPresentFlag, CpbSize [SchedSelIdx], BitRate[SchedSelIdx], y CpbCnt se encuentran en o se derivan de los elementos de sintaxis encontrados en la estructura de sintaxis hrd_parameters( ) y la estructura de sintaxis sub_layer_hrd_parameters () que son aplicables a cualquiera de los puntos de operación a los que se aplica el mensaje SEI del período de almacenamiento temporal.
Un mensaje SEI del período de almacenamiento temporal puede tener dos puntos de operación con diferentes valores de OpTid, tIdA y tIdB. Tener dos puntos de operación cualesquiera con valores de OpTid diferentes indica que los valores de cpb_cnt_minus1 [tIdA] y cpb_cnt_minus1 [tIdB] codificados en la estructura de sintaxis hrd_parameters (), aplicables a los puntos de operación respectivos, son idénticos. Además, el mensaje SEI del período de almacenamiento temporal puede tener dos puntos de operación en el mensaje SEI del período de almacenamiento temporal que tienen diferentes valores de OpLayerIdSet, layerIdSetA y layerIdSetB. Tener dos puntos de operación cualesquiera con diferentes valores de OpLayerIdSet indica que los valores de nal_hrd_parameters_present_flag y vcl_hrd_parameters_present_flag, para dos estructuras de sintaxis hrd_parameters () aplicables a los dos puntos de operación, respectivamente, son idénticos.
Si NalHrdBpPresentFlag o VclHrdBpPresentFlag son iguales a 1, un mensaje SEI del período de almacenamiento temporal aplicable a los puntos de operación especificados puede estar presente en cualquier AU con TemporalId igual a 0 en la secuencia de vídeo codificada, y un mensaje SEI del período de almacenamiento temporal aplicable a los puntos de operación especificados puede estar presente en cada AU de punto de acceso aleatorio (RAP) y en cada AU asociada con un mensaje SEI del punto de recuperación. De lo contrario (NalHrdBpPresentFlag y VclHrdBpPresentFlag son ambos iguales a 0), ninguna unidad de acceso en la secuencia de vídeo codificada puede tener un mensaje SEI del período de almacenamiento temporal aplicable a los puntos de operación especificados. Para algunas aplicaciones, puede ser deseable la presencia frecuente de un mensaje SEI del período de almacenamiento temporal.
Cuando está presente una unidad SEI NAL que contiene un mensaje SEI del período de almacenamiento temporal y tiene nuh_reserved_zero_6bits igual a 0, la unidad SEI NAL puede preceder, en el orden de decodificación, a la primera unidad NAL VCL en la AU.
La unidad de acceso asociada con un mensaje SEI del período de almacenamiento temporal puede tener Temporalld igual a 0.
La variable CpbCnt se deriva para ser igual a cpb_cnt_minus1 [tId] 1, donde cpb_cnt_minus1 [tId] se codifica en la estructura de sintaxis hrd_parameters () que es aplicable a cualquiera de los puntos de operación a los que se aplica el mensaje SEI del período de almacenamiento temporal y que tienen OpTid igual a tId.
Los siguientes elementos de sintaxis y variables en los mensajes SEI del período de almacenamiento temporal se pueden definir de la siguiente manera: seq_parameter_set_id se refiere al conjunto de parámetros de secuencia activa. El valor de seq_parameter_set_id puede ser igual al valor de seq_parameter_set_id en el conjunto de parámetros de imagen ("PPS") referenciado por las imágenes codificadas asociadas con el mensaje SEI del período de almacenamiento temporal. El valor de seq_parameter_set_id puede estar en el intervalo de 0 a 31, inclusive. La bandera rap_cpb_params_present_flag igual a 1 especifica la presencia de los elementos de sintaxis initial_alt_cpb_removal_delay [SchedSelIdx] e initial_alt_cpb_removal_delay_offset [SchedSelIdx]. Cuando no está presente, se puede inferir que el valor de rap_cpb_params_present_flag es igual a 0. Cuando la imagen asociada no es una imagen CRA ni una imagen BLA, el valor de rap_cpb_params_present_flag puede ser igual a 0.
Los elementos de secuencia initial_cpb_removal_delay [SchedSelIdx] e initial_alt_cpb_removal_delay [SchedSelIdx] especifican los retardos de eliminación de la CPB iniciales predeterminados y alternativos, respectivamente, para SchedSelIdx-th CPB. Los elementos de sintaxis tienen una longitud en bits dada por initial_cpb_removal_delay_length_minus1 1, y están en unidades de un reloj de 90 kHz, por ejemplo. Los valores de los elementos de sintaxis pueden no ser iguales a 0 y pueden ser menores o iguales que
CpbSize[SchedSelldx] ( 12)
Valor del elemento de sintaxis < 90.000
BitRate[SchedSelldx]
que es el tiempo equivalente al tamaño de la CPB en unidades de reloj de 90 kHz.
Los elementos de sintaxis initial_cpb_removal_delay_offset [SchedSelIdx] e initial_alt_cpb_removal_delay_offset [SchedSelIdx] especifican las compensaciones de eliminación de la CPB iniciales predeterminadas y alternativas, respectivamente, para SchedSelIdx-th CPB. Los elementos de sintaxis tienen una longitud en bits dada por initial_cpb_removal_delay_length_minus1 1 y están en unidades de un reloj de 90 kHz. Estos elementos de sintaxis pueden no ser utilizados por los decodificadores y pueden ser necesarios solo para el planificador de entrega (HSS) especificado en el anexo C de HEVC WD8.
En toda la secuencia de vídeo codificada, la suma de initial_cpb_removal_delay [SchedSelIdx] y initial_cpb_removal_delay_offset [SchedSelIdx] puede ser constante para cada valor de SchedSelIdx, y la suma de inicial_alt_cpb_removal_delay_cpb.
El mensaje SEI del tipo temporización de imagen proporciona información sobre el retardo de eliminación de la CPB y el retardo de salida de DPB para la unidad de acceso asociada con el mensaje SEI. Un ejemplo de sintaxis y semántica de mensajes SEI del tipo temporización de imagen es el siguiente en la Tabla 2.
Tabla 2: Sintaxis semántica de mensaes SEI del ti o tem orización de ima en
Figure imgf000023_0001
Lo siguiente se aplica a la sintaxis y la semántica del mensaje SEI del tipo temporización de imagen. El sub_pic_cpb_params_present_flag elementos de sintaxis, sub_pic_cpb_params_in_pic_timing_sei_flag, cpb_removal_delay_length_minus1, dpb_output_delay_length_minus1, y du_cpb_removal_delay_length_minus1, y la variable CpbDpbDelaysPresentFlag se encuentran en o se deriva de los elementos de sintaxis encuentra en la estructura de sintaxis hrd_parameters () y la estructura de sintaxis sub_layer_hrd_parameters () aplicables a cualquiera de los puntos de funcionamiento a los que se aplica el mensaje SEI del tipo temporización de imagen. El flujo de bits (o una parte del mismo) se refiere al subconjunto del flujo de bits (o una parte del mismo) asociado con cualquiera de los puntos de operación a los que se aplica el mensaje SEI del tipo temporización de imagen. Sin embargo, tenga en cuenta que la sintaxis del mensaje SEI del tipo temporización de imagen puede depender del contenido de las estructuras de sintaxis hrd_parameters () aplicables a los puntos de operación a los que se aplica el mensaje SEI del tipo temporización de imagen. Estas estructuras de sintaxis hrd_parameters () pueden estar en el conjunto de parámetros de vídeo y/o en el conjunto de parámetros de secuencia que están activos para las imágenes codificadas asociada con el mensaje s Ei del tipo temporización de imagen. Cuando el mensaje SEI del tipo temporización de imagen está asociado con una unidad de acceso CRA que es la primera unidad de acceso en el flujo de bits, una unidad de acceso IDR o una unidad de acceso BLA, a menos que esté precedida por un mensaje SEI del período de almacenamiento temporal dentro de la misma unidad de acceso, la activación del conjunto de parámetros de vídeo y el conjunto de parámetros de secuencia (y, para imágenes IDR o BLA que no son la primera imagen en el flujo de bits, la determinación de que la imágenes codificadas es una imagen IDR o una imagen BLA) no ocurre hasta que la decodificación de la primera unidad NAL de segmento codificado de las imágenes codificadas. Dado que la unidad NAL de segmento codificado de las imágenes codificadas sigue el mensaje SEI del tipo temporización de imagen en el orden de unidades NAL, puede haber casos en los que sea necesario que un decodificador almacene la carga útil de secuencia de bytes sin procesar (RBSP) que contiene el mensaje SEI del tipo temporización de imagen hasta determinar el conjunto de parámetros de vídeo activo y/o el conjunto de parámetros de secuencia activa, y luego realizar el análisis sintáctico del mensaje SEI del tipo temporización de imagen.
La presencia de un mensaje SEI del tipo temporización de imagen en el flujo de bits se especifica como sigue. Si CpbDpbDelaysPresentFlag es igual a 1, un mensaje SEI del tipo temporización de imagen aplicable a los puntos de operación especificados puede estar presente en cada unidad de acceso de la secuencia de vídeo codificada. De lo contrario, por ejemplo, si CpbDpbDelaysPresentFlag es igual a 0, ningún mensaje SEI del tipo temporización de imagen aplicable a los puntos de operación especificados puede estar presente en ninguna unidad de acceso de la secuencia de vídeo codificada.
Cuando está presente una unidad SEI NAL que contiene un mensaje SEI del tipo temporización de imagen y tiene nuh_reserved_zero_6bits igual a 0, la unidad SEI NAL puede preceder, en el orden de decodificación, a la primera unidad NAL VCL en la unidad de acceso.
El elemento de sintaxis au_cpb_removal_delay_minus1 plus 1 especifica cuántos tics de reloj esperar después de la eliminación de la unidad de acceso asociada con el mensaje SEI del período de almacenamiento temporal más reciente en una unidad de acceso anterior de la CPB, como la CPB 94, antes de eliminar de la CPB 94 la unidad de acceso asociado con el mensaje SEI del tipo temporización de imagen. Este valor también se puede utilizar para calcular el momento más temprano posible de llegada de los datos de la unidad de acceso al c Pb para e1HSS. El elemento de sintaxis es un código de longitud fija cuya longitud en bits viene dada por cpb_removal_delay_length_minus1 1.
El valor de cpb_removal_delay_length_minus1 que determina la longitud (en bits) del elemento de sintaxis au_cpb_removal_delay_minus1 es el valor de cpb_removal_delay_length_minus1 codificado en el conjunto de parámetros de vídeo o el conjunto de parámetros de secuencia que está activo para la imagen codificada asociada con el mensaje SEI del tipo temporización de imagen, aunque au_cpb_removal_delay_minus1 más 1 especifica un número de pulsos de reloj en relación con el tiempo de eliminación de la unidad de acceso anterior que contiene un mensaje sEl del período de almacenamiento temporal, que puede ser una unidad de acceso de una secuencia de vídeo codificada diferente.
El elemento de sintaxis pic_dpb_output_delay se utiliza para calcular el tiempo de salida DPB de la imagen. pic_dpb_output_delay especifica cuántos tics de reloj esperar después de la eliminación de la última unidad de decodificación en una unidad de acceso desde la CPB antes de que la imagen decodificada sea emitida desde un DPB. Es posible que una imagen no se elimine del DPB en su momento de salida cuando la imagen todavía esté marcada como "utilizada como referencia a corto plazo" o "utilizada como referencia a largo plazo". En algunos ejemplos, solo se especifica un pic_dpb_output_delay para una imagen decodificada.
La longitud del elemento de sintaxis pic_dpb_output_delay viene dada en bits por dpb_output_delay_length_minus1 1. Cuando sps_max_dec_pic_buffering [minTid] es igual a 1, donde minTid es el mínimo de los valores OpTid de todos los puntos de operación a los que se aplica el mensaje SEl del tipo temporización de imagen, pic_dpb_output_delay será igual a 0. El tiempo de salida derivado del pic_dpb_output_delay de cualquier imagen que se emite desde un decodificador conforme a la temporización de salida puede preceder al tiempo de salida derivado del pic_dpb_output_delay de todas las imágenes en cualquier secuencia de vídeo codificada subsiguiente en el orden de decodificación. El orden de salida de la imagen establecido por los valores de este elemento de sintaxis será el mismo que el establecido por los valores de PicOrderCntVal (es decir, valores POC que indican el orden de salida o visualización de las imágenes).
Para las imágenes que no son emitidas por el procedimiento de "golpeteo" porque preceden, en el orden de decodificación, una imagen de actualización de decodificación instantánea (IDR) o una imagen de acceso a enlace roto (BLA) sin_output_of_prior_pics_flag igual a 1 o inferido como igual a 1, los tiempos de salida derivados de pic_dpb_output_delay pueden aumentar al aumentar el valor de PicOrderCntVal relativo para todas las imágenes dentro de la misma secuencia de vídeo codificada.
El elemento de sintaxis num_decoding_units_minus1 más 1 especifica el número de unidades de decodificación en la unidad de acceso asociada con el mensaje SEI del tipo temporización de imagen. El valor de num_decoding_units_minus1 puede estar en el intervalo de 0 a PicSizeInCtbsY - 1, inclusive. La bandera du_common_cpb_removal_delay_flag que es igual a 1 especifica que el elemento de sintaxis du_common_cpb_removal_delay_minus1 está presente. Cuando du_common_cpb_removal_delay_flag es igual a 0 especifica que el elemento de sintaxis du_common_cpb_removal_delay_minus1 no está presente.
El elemento de sintaxis du_common_cpb_removal_delay_minus1 más 1 especifica la duración, en unidades de tics de reloj de la subimagen (ver subcláusula E.2.1 de HEVc WD8), entre la eliminación de un CPB, como la CPB 94, de dos unidades de decodificación consecutivas en el orden de decodificación en la unidad de acceso asociada con el mensaje SEI de temporización de imágenes. Este valor también se utiliza para calcular el tiempo más temprano posible de llegada de los datos de la unidad de decodificación al CPB para e1HSS, como se especifica en HEVC WD8, Anexo C. El elemento de sintaxis es un código de longitud fija cuya longitud en bits viene dada por du_cpb_removal_delay_length_minus1 1.
El elemento de sintaxis num_nalus_in_du_minus1[i] más 1 especifica el número de unidades NAL en la ith DU de la AU asociada con el mensaje SEI del tipo temporización de imagen. El valor de num_nalus_in_du_minus1[i] estará en el intervalo de 0 a PicSizeInCtbsY - 1, inclusive. Por ejemplo, el decodificador de vídeo 30 puede determinar cuántas unidades NAL hay en una DU actual en base a la decodificación del elemento de sintaxis num_nalus_in_du_minus1[i] más 1 del mensaje SEI del tipo temporización de imagen.
La primera DU de la AU puede incluir las primeras num_nalus_in_du_minus1[0] 1 unidades NAL consecutivas en el orden de decodificación en la AU. El yoth (con i mayor que 0) La DU de la AU consta de num_nalus_in_du_minus1[i] 1 unidades NAL consecutivas inmediatamente después de la última unidad NAL en la DU anterior de la AU, en el orden de decodificación. Puede haber al menos una unidad NAL VCL en cada DU. Todas las unidades NAL no VCL asociadas con una unidad NAL VCL se incluirán en la misma DU que la unidad NAL VCL. El decodificador de vídeo 30 determina las unidades NAL en una DU en base a elementos de sintaxis de decodificación tales como num_nalus_in_du_minus1[i].
El elemento de sintaxis du_cpb_removal_delay_minus1[i] más 1 especifica la duración, en unidades de tics de reloj de la subimagen, entre la eliminación de la CPB, como la CPB 94, del (i 1)th DU y la ith DU, en el orden de decodificación, en la AU asociada con el mensaje SEI del tipo temporización de imagen. Este valor también se puede utilizar para calcular el tiempo más temprano posible de llegada de los datos de la DU al CPB para e1HSS, como se especifica en HEVC WD8, Anexo C. El elemento de sintaxis es un código de longitud fija cuya longitud en bits viene dada por du_cpb_removal_delay_length_minus1 1.
En algunos ejemplos, aunque la longitud del elemento de sintaxis es la misma que du_common_cpb_removal_delay_minus1, es posible que el valor se haya especificado en relación con el tiempo de eliminación de la CPB de la AU del inicio del período de almacenamiento temporal. Por ejemplo, el decodificador de vídeo 30 puede determinar el valor de un elemento de sintaxis en relación con un tiempo de eliminación de la CPB decodificado. En algunos ejemplos, es posible que esto sea inconsistente con la semántica de du_common_cpb_removal_delay_minus1. Por ejemplo, esto puede potencialmente entrar en conflicto con la Ecuación 7 (Ecuación C-10 en HEVc WD8, Anexo C), que define que si sub_pic_cpb_params_in_pic_timing_sei_flag está marcado, entonces tr, n (m) = tr, n (m + 1) - tc_sub CpdRemovalDelay(m).
En algunos ejemplos, du_cpb_removal_delay_minus1[i] más 1 especifica alternativamente la duración, en unidades de tics de reloj de la subimagen, entre la eliminación de la CPB de la AU asociada con el mensaje SEI del tipo temporización de imagen y la ith DU en la AU asociada con el mensaje SEI del tipo temporización de imagen. En este caso, se puede evitar la señalización del valor de la última DU en la AU. Por tanto, el decodificador de vídeo 30 no tiene que determinar un valor de la última DU en la AU a partir del mensaje SEI del tipo temporización de imagen porque el tiempo de eliminación de la última DU es el mismo que el tiempo de eliminación de la AU correspondiente. Alternativamente, en la semántica de au_cpb_removal_delay_minus1, du_common_cpb_removal_delay_minus1 y du_cpb_removal_delay_minus1[i] especifique el retardo/diferencia/duración entre "tiempos de eliminación nominales de la CPB" en lugar de "tiempos de eliminación de la CPB".
La Tabla 3, a continuación, proporciona un ejemplo de sintaxis de mensaje SEI del tipo temporización de subimagen. El mensaje SEI del tipo temporización de subimagen proporciona información de retardo de eliminación de la CPB para la unidad de decodificación asociada con el mensaje SEI. Un ejemplo de sintaxis y semántica de mensaje SEI del tipo temporización de subimagen es como sigue.
Tabl
Figure imgf000026_0001
Lo siguiente se aplica a la sintaxis y semántica del mensaje SEI del tipo temporización de subimagen. Los elementos de sintaxis sub_pic_cpb_params_present_flag, sub_pic_cpb_params_in_pic_timing_sei_flag, y cpb_removal_delay_length_minus1 y la variable CpbDpbDelaysPresentFlag se encuentran en o se derivan de los elementos de sintaxis en la estructura de sintaxis hrd_parameters( ) y de la sintaxis de la estructura de sintaxis sub_layer_hrd_parameters( ) aplicables a cualquiera de los puntos de operación a los que se aplica el mensaje SEI del tipo temporización de subimagen. El flujo de bits (o una parte del mismo) se refiere al subconjunto del flujo de bits (o una parte del mismo) asociado con cualquiera de los puntos de operación a los que se aplica el mensaje SEI del tipo temporización de subimagen.
La presencia del mensaje SEI del tipo temporización de subimagen en el flujo de bits se especifica como sigue. Si CpbDpbDelaysPresentFlag es igual a 1, sub_pic_cpb_params_present_flag es igual a 1 y sub_pic_cpb_params_in_pic_timing_sei_flag es igual a 0, un mensaje SEI del tipo temporización de subimagen aplicable a los puntos de operación especificados puede estar presente en cada unidad de decodificación de vídeo codificada. De lo contrario, no habrá mensajes SEI de temporización de la subimagen aplicables a los puntos de operación especificados en la secuencia de vídeo codificada. Por tanto, si el decodificador de vídeo 30 decodifica las banderas y determina que los valores son los establecidos anteriormente, el decodificador de vídeo 30 determina que no hay mensajes SEI de temporización de la subimagen aplicables a los puntos de operación especificados. La unidad de decodificación asociada con un mensaje SEI del tipo temporización de subimagen consta, en el orden de decodificación, de la unidad SEI NAL que contiene el mensaje SEI del tipo temporización de subimagen, seguida de una o más unidades NAL que no contienen un mensaje SEI del tipo temporización de subimagen, incluidas todas las unidades NAL subsiguientes en la AU hasta, pero sin incluir, cualquier unidad SEI NAL subsiguiente que contenga un mensaje SEI del tipo temporización de subimagen. Puede haber al menos una unidad NAL VCL en cada DU. Todas las unidades NAL no VCL asociadas con una unidad NAL VCL pueden incluirse en la misma DU que la unidad NAL VCL.
En algunos ejemplos, el elemento de sintaxis du_spt_cpb_removal_delay especifica la duración, en unidades de tics de reloj de la subimagen (ver subcláusula E.2.1 de HEVC WD8), entre la eliminación de la CPB de la última unidad de decodificación en el orden de decodificación en la unidad de acceso actual que contiene el mensaje SEI del tipo temporización de subimagen y la unidad de decodificación asociada con el mensaje SEI del tipo temporización de subimagen. Este valor también puede usarse para calcular el tiempo más temprano posible de llegada de los datos de la unidad de decodificación al CPB para el HSS, como se especifica en HEVC WD8, Anexo C. El elemento de sintaxis está representado por un código de longitud fija cuya longitud en bits se da por du_cpb_removal_delay_length_minus1 1. Cuando la DU asociada con el mensaje SEI del tipo temporización de subimagen es la última DU en la AU actual, el valor de du_spt_cpb_removal_delay será igual a 0.
Alternativamente, en otros ejemplos, el elemento de sintaxis du_spt_cpb_removal_delay especifica la duración, en unidades de pulsos de reloj de la subimagen (ver subcláusula E.2.1 de HEVC WD8), entre la eliminación de la CPB 94 de la siguiente DU en el orden de decodificación en la AU actual que contiene el mensaje SEI del tipo temporización de subimagen y la DU asociada con el mensaje SEI del tipo temporización de subimagen. Este valor también se puede usar para calcular el tiempo más temprano posible de llegada de los datos de la unidad de decodificación en CPB 94 para el HSS, como se especifica en HEVC WD8, Anexo C. El elemento de sintaxis está representado por un código de longitud fija cuya longitud en bits se da por du_cpb_removal_delay_length_minus1 1. Cuando la unidad de decodificación asociada con el mensaje SEI del tipo temporización de subimagen es la última unidad de decodificación en la unidad de acceso actual, el valor de du_spt_cpb_removal_delay será igual a 0. Alternativamente, ningún mensaje SEI del tipo temporización de subimagen está asociado con la última unidad de decodificación en cada unidad de acceso.
En algunos ejemplos, el elemento de sintaxis du_spt_cpb_removal_delay se codifica alternativamente como du_spt_cpb_removal_delay_minus1. El elemento de sintaxis du_spt_cpb_removal_delay_minus1 plus1 especifica cuántos tics de reloj de la subimagen esperar después de que el decodificador de vídeo 30 elimina la última DU en la AU asociada con el mensaje SEI del período de almacenamiento temporal más reciente de una AU anterior de la CPB 94 antes de eliminar la DU asociada con el mensaje SEI del tipo temporización de subimagen procedente de la CPB 94. Este valor también puede usarse para calcular el tiempo más temprano posible de llegada de los datos de la unidad de decodificación al CPB para el HSS, como se especifica en HEVC WD8, Anexo C. El elemento de sintaxis está representado por un código de longitud fija cuya longitud en bits se da por cpb_removal_delay_length_minus1 1.
La Tabla 4, que se proporciona a continuación, describe un ejemplo de sintaxis y semántica de los parámetros del HRD. Para los elementos de sintaxis para los que la semántica no se incluye a continuación, su semántica es la misma que en la Solicitud Provisional de Estados Unidos Núm. 61/705,102, presentada el 24 de septiembre de 2012. La sintaxis y la semántica de los parámetros del HRD pueden ser las siguientes.
Figure imgf000027_0001
(continuación)
Figure imgf000028_0001
El elemento de sintaxis sub_pic_cpb_params_in_pic_timing_sei_flag igual a 1 especifica que los parámetros de retardo de eliminación de la CPB a nivel de la subimagen están presentes en los mensajes SEI del tipo temporización de imagen y no hay mensaje SEI del tipo temporización de subimagen presente. sub_pic_cpb_params_in_pic_timing_sei_flag igual a 0 especifica que los parámetros de retardo de eliminación de la CPB a nivel de la subimagen están presentes en los mensajes SEI de temporización de la subimagen y los mensajes SEI del tipo temporización de imagen no incluyen parámetros de retardo de eliminación de la CPB a nivel de la subimagen.
El elemento de sintaxis sub_pic_cpb_params_present_flag igual a 1 especifica que los parámetros de retardo de eliminación de la CPB a nivel de la subimagen están presentes y la CPB puede funcionar a nivel de unidad de acceso o a nivel de la subimagen. sub_pic_cpb_params_present_flag igual a 0 especifica que los parámetros de retardo de eliminación de la CPB a nivel de la subimagen no están presentes y que la CPB funciona a nivel de unidad de acceso. Cuando sub_pic_cpb_params_present_flag no está presente, se puede inferir que su valor es igual a 0.
La Figura 4 es un diagrama conceptual que ilustra dos unidades de acceso 100 y 102 en el orden de decodificación consecutivo que pueden tener tiempos de decodificación de acuerdo con las técnicas descritas en esta divulgación. Se discutirán ejemplos de tiempos de eliminación del almacenamiento temporal de las imágenes codificadas en términos de las AU 100 y 102, así como los elementos de sintaxis y las variables para los mensajes SEI asociados con las AU 100 y 102. La Figura 4 también ilustra una línea de tiempo 130.
Como se describe en la presente memoria, AU 100 es la unidad de acceso ny AU 102 es la unidad de acceso n 1, en el que n es anterior en el tiempo en el orden de decodificación que n 1. La AU 100 incluye cuatro unidades de decodificación 110-1, 110-2, 110-3 y 110-4 (denominadas colectivamente "unidades de decodificación 110"). Como se describe en la presente memoria, DU 110-1 puede denominarse DU a M, DU 110-2 como DU a M+1, DU 110-3 como DU a M+2 y DU 110-4 como DU a M+3, por ejemplo. La AU 102 incluye cuatro unidades de decodificación 112-1, 112-2, 112-3 y 112-4 (denominadas colectivamente "unidades de decodificación 112").
De manera similar, como se describe en la presente memoria, DU 112-1 puede denominarse DU a M, DU 112-2 como DU a M+1, DU 112-3 como DU a M+2 y DU 112-4 como DU a M+3, por ejemplo. Sin embargo, cualquier unidad de acceso puede ser "unidad de acceso n" y cualquier unidad de decodificación puede ser "unidad de decodificación m". En otros ejemplos, las AU 100 y 102 pueden tener diferentes números de DU 110 y 112, respectivamente. Cualquier DU 110 o 112 puede ser una unidad de capa de abstracción de red (NAL) sin capa de codificación de vídeo (VCL) con nal_unit_type igual a UNSPECO, EOS_NUT, EOB_NUT, en el intervalo de RSV_NVCL44 a RSV_NVCL47 o en el intervalo de UNSPEC48 a UNSPEC63.
En este ejemplo, las unidades de acceso 100 y 102 se almacenan en un almacenamiento temporal de las imágenes codificadas, por ejemplo, CPB 94 de la Figura 3. El decodificador de vídeo 30 extrae las unidades de decodificación 110 y 112 y las unidades de acceso 100 y 102 de la CPB 94 para decodificar en momentos determinados. Los tiempos para extraer una AU o DU de la CPB 94 se denominan tiempos de eliminación de la CPB. Como se muestra en la Figura 4, los tiempos de eliminación de la CPB para DU 110 en AU 100 son tiempos de eliminación de la CPB 140-1, 140-2, 140-3 y 140-4 (denominados colectivamente "tiempos de eliminación de la CPB 140"). Asimismo, los tiempos de eliminación de la CPB para DU 112 en AU 102 son tiempos de eliminación de la CPB 142-1, 142-2, 142­ 3 y 142-4 (denominados colectivamente "tiempos de eliminación de la CPB 142"). El tiempo de eliminación de la CPB de una AU puede ser el mismo que el tiempo de eliminación de la CPB de la última DU de la AU. Por ejemplo, el tiempo de eliminación de la CPB de AU 100 es aproximadamente el mismo que el tiempo de eliminación de la CPB de DU 110-4, el tiempo de eliminación de la CPB 140-4.
En un ejemplo, para cada DU 112 en AU 102, se señaliza la duración entre los tiempos de eliminación de la CPB de la siguiente DU 112 en el orden de decodificación en AU 102 y la DU 112 particular. Por ejemplo, la DU 112-2 es una DU actual, en el orden de decodificación, que se extraerá de la CPB 94 y se decodificará mediante el decodificador de vídeo 30. Una duración de tiempo 132 entre el tiempo de eliminación de la CPB 142-2 para DU 112-2 y el tiempo de eliminación de la CPB 142-3 para DU 112-3, la siguiente DU en el orden de decodificación, se señaliza, por ejemplo, en un mensaje SEI asociado con la unidad de acceso 102. El decodificador de vídeo 30 determina el tiempo de eliminación de la CPB 142-2 para DU 112-2 en base a la duración 132 de tiempo señalado.
Es decir, el decodificador de vídeo 30 puede derivar el tiempo de eliminación de la CPB para cada DU 112 en la unidad de acceso 102 en base a los tiempos de eliminación de la DU 112 dentro de la AU 102 y no en los tiempos de eliminación de otras DU dentro de otras AU, como la AU 100 anterior, en el orden de decodificación. Por tanto, el decodificador de vídeo 30 puede tener una señalización mejorada y una resistencia a errores para los tiempos de eliminación de la CPB de DU y AU.
El tiempo de eliminación de la CPB para DU 112-2 de AU 102 puede indicarse de forma alternativa. Por ejemplo, en un mensaje SEI asociado con AU 102, se señala una duración de 134 entre el tiempo de eliminación de la CPB 142­ 2 para DU 112-2 y el tiempo de eliminación de la CPB 142-4 para la última DU en AU 102, DU 112-4. El decodificador de vídeo 30 determina el tiempo de eliminación de la CPB 142-2 para DU 112-2 en base al tiempo de eliminación de la CPB señalado 142-4 de d U 112-4.
En cualquiera de los ejemplos anteriores, el descodificador de vídeo 30 determina los tiempos de eliminación de la CPB para las DU de otras DU dentro de la misma AU. De esta manera, los tiempos de eliminación de la CPB para cualquier DU no dependen de ninguna otra AU además de la AU de la DU en particular. La pérdida de la información de tiempo de eliminación de la CPB en la AU anterior no causaría una derivación incorrecta de los tiempos de eliminación de la CPB de una AU actual. Por ejemplo, la pérdida de tiempos de eliminación de la CPB 140 para AU 100 no afectaría la determinación de los tiempos de eliminación de la CPB 142 para AU 102. Por lo tanto, el decodificador de vídeo 30 puede tener una señalización mejorada y una resistencia a errores para determinar los tiempos de eliminación de la CPB de DU y AU.
El decodificador de vídeo 30 también puede determinar los tiempos de eliminación de la CPB basándose, al menos en parte, en los parámetros de la CPB a nivel de la subimagen transportados en mensajes SEI de temporización de la subimagen. En tal ejemplo, la señalización de los tiempos de eliminación de la CPB y la derivación de los tiempos de eliminación de la CPB son tanto eficaces como resistentes a errores. Se puede señalar una bandera de nivel de secuencia para controlar la presencia de parámetros de la CPB a nivel de la subimagen en mensajes SEI del tipo temporización de imagen o en mensajes SEI de temporización de la subimagen, pero nunca en ambos. La bandera de nivel de secuencia puede ser sub_pic_cpb_params_present_flag, descrita anteriormente. La bandera también puede controlar el uso de parámetros de la CPB a nivel de la subimagen a partir de qué tipo de mensaje SEI para operaciones de la CPB a nivel de la subimagen. Cuando sub_pic_cpb_params_present_flag es igual a 1, se señalan los tiempos de llegada de la CPB y los tiempos de eliminación de la CPB tanto para el nivel de la AU como para el nivel de subimagen, independientemente del valor de SubPicCpbFlag.
En algunos ejemplos, si una AU, como AU 100, tiene TemporalId mayor que 0, no se puede asociar ningún mensaje SEI del período de almacenamiento temporal o mensaje SEI del punto de recuperación con la AU 100.
La Figura 5 es un diagrama de flujo que ilustra un procedimiento para determinar un tiempo de eliminación del almacenamiento temporal de las imágenes codificadas (CPB) de una primera unidad de decodificación en una unidad de acceso en base al tiempo de eliminación de la CPB para una segunda unidad de decodificación de la unidad de acceso de acuerdo con las técnicas descritas en esta divulgación. Un decodificador de vídeo puede realizar el procedimiento de la Figura 5. El decodificador de vídeo puede ser el decodificador de vídeo 30 de la Figura 1 o en la Figura 3, por ejemplo.
El procedimiento de la Figura 5 incluye decodificar una duración entre la eliminación de la CPB de una primera DU en una AU y la eliminación de la CPB de una segunda DU, en el que la segunda DU es posterior a la primera DU en el orden de decodificación y en la misma AU que la primera DU (200). La segunda DU puede ser inmediatamente posterior a la primera DU en la AU en el orden de decodificación. Alternativamente, la segunda DU puede ser una última DU en la AU en el orden de decodificación. Por ejemplo, el descodificador de vídeo 30 puede recibir el flujo de bits del codificador de vídeo 20 y las AU del almacenamiento temporal y sus respectivas DU en la CPB 94 para su extracción en los tiempos de eliminación determinados. Por ejemplo, el decodificador de vídeo 30 puede decodificar una duración entre la eliminación de la CPB de una primera Du en una AU de la CPB 94 y la eliminación de la CPB de una segunda DU de la CPB 94, en el que la segunda DU es posterior a la primera DU en el orden de decodificación y en la misma AU que la primera DU.
El procedimiento incluye además determinar un tiempo de eliminación de la primera DU basándose, al menos en parte, en la duración codificada (202). Por ejemplo, el descodificador de vídeo 30 puede determinar un tiempo de eliminación de la CPB para la primera DU en base a la duración descodificada entre la eliminación de la CPB de la primera DU en una AU y la eliminación de la CPB de la segunda DU. El decodificador de vídeo 30 puede extraer la DU de la CPB 94 aproximadamente al tiempo de eliminación determinado de la CPB.
En algunos ejemplos, el procedimiento de la Figura 5 incluye además decodificar parámetros de la CPB a nivel de la subimagen, en el que determinar el tiempo de eliminación de la primera DU comprende determinar el tiempo de eliminación de la primera DU basándose al menos en parte en la duración decodificada y en los parámetros de la CPB a nivel de la subimagen. La decodificación de parámetros de la CPB a nivel de la subimagen puede incluir la decodificación de un mensaje de información de mejora suplementaria (SEI) del tipo temporización de subimagen que está asociado con la primera DU.
En los ejemplos en los que la segunda DU es una última DU en la AU en el orden de decodificación, la codificación del mensaje SEI de la subimagen incluye la decodificación de la duración entre un tiempo de eliminación de la última DU y el tiempo de eliminación de la primera DU en el mensaje SEI del tipo temporización de subimagen. En algunos ejemplos, se decodifica una bandera de nivel de secuencia para determinar la presencia de los parámetros de la CPB a nivel de la subimagen en mensajes SEI del tipo temporización de imagen o en mensajes SEI de temporización de la subimagen. Por ejemplo, en respuesta a decodificar la bandera de nivel de secuencia y determinar que los parámetros de la CPB a nivel de la subimagen están presentes en un mensaje SEI del tipo temporización de imagen, el decodificador de vídeo 30 puede decodificar el mensaje SEI del tipo temporización de imagen para analizar los parámetros de la CPB a nivel de la subimagen. Asimismo, en respuesta a la decodificación de la bandera de nivel de secuencia y determinando que los parámetros de la CPB a nivel de la subimagen están presentes en un mensaje SEI del tipo temporización de subimagen, el decodificador de vídeo 30 puede decodificar el mensaje SEI del tipo temporización de subimagen para analizar los parámetros de la CPB a nivel de la subimagen.
En algunos ejemplos, determinar el tiempo de eliminación de la primera DU incluye determinar el tiempo de eliminación de la primera DU sin decodificar un retardo y compensación de eliminación iniciales de la CPB. Cuando la AU tiene un Temporalld menor o igual a 0, el procedimiento puede incluir además decodificar al menos uno de un mensaje SEI del período de almacenamiento temporal o un mensaje SEI del punto de recuperación asociado con la AU.
Las unidades de decodificación descritas en la presente memoria pueden ser cualquier unidad de decodificación, así como una unidad de capa de abstracción de red (NAL) sin capa de codificación de vídeo (VCL) con nal_unit_type igual a UNSPECO, EOS_NUT, EOB_NUT, en el intervalo de RSV_NVCL44 a RSV_NVCL47 o en el intervalo de UNSPEC48 a UNSPEC63. Por tanto, el decodificador de vídeo 30 puede decodificar la DU de acuerdo con las técnicas descritas en esta divulgación, incluidas las unidades NAL no VCL con nal_unit_type igual a UNSPECO, EOS_NUT, EOB_NUT, en el intervalo de RSV_NVCL44 a RSV_NVCL47 o en el intervalo de UNSPEC48 a UNSPEC63.
En otro ejemplo, el procedimiento incluye derivar al menos uno de un tiempo de llegada de la CPB y un tiempo de eliminación nominal de la CPB para la AU tanto a un nivel de la unidad de acceso como a un nivel de la subimagen independientemente del valor de un elemento de sintaxis que define si la primera DU es la AU. Por ejemplo, el decodificador de vídeo 30 deriva el tiempo de llegada de la CPB o el tiempo de eliminación nominal de la CPB para la AU tanto en niveles de unidad de acceso como en niveles de subimagen, independientemente de si un valor de un elemento de sintaxis que define si la primera DU es la AU.
En algunos ejemplos, el procedimiento incluye derivar al menos uno de un tiempo de llegada de la CPB y un tiempo de eliminación nominal de la CPB para la AU tanto a un nivel de la unidad de acceso como a un nivel de la subimagen independientemente del valor de un elemento de sintaxis que define si la primera DU es la AU. El procedimiento puede incluir derivar tiempos de eliminación de la CPB para el nivel de la AU cuando el elemento de sintaxis indica que la primera DU es una AU. La derivación de los tiempos de eliminación de la CPB para el nivel de la AU puede incluir la derivación de los tiempos de eliminación de la CPB solo para el nivel de la AU cuando el elemento de sintaxis indica que la DU es una Au .
El elemento de sintaxis puede ser SubPicCpbFlag, en el que cuando SubPicCpbFlag es igual a 0, una DU es una AU; de lo contrario, una DU incluye una o más unidades de capa de abstracción de red (NAL) de capa de codificación de vídeo (VCL) en una Au y las unidades NAL no VCL asociadas. En algunos ejemplos, el elemento de sintaxis incluye un primer elemento de sintaxis, y en el que derivar el tiempo de llegada de la CPB y el tiempo de eliminación nominal de la CPB comprende derivar el tiempo de llegada de la CPB y el tiempo de eliminación nominal de la CPB cuando un segundo elemento de sintaxis especifica que los parámetros de retardo de eliminación de la CPB a nivel de la subimagen están presentes y la CPB puede funcionar a nivel de la unidad de acceso o a nivel de la subimagen.
El segundo elemento de sintaxis puede ser sub_pic_cpb_params_present_flag, en el que cuando sub_pic_cpb_params_present_flag es igual a 1, los parámetros de retardo de eliminación de la CPB en el nivel de subimagen están presentes y la CPB puede operar a nivel de la unidad de acceso o a nivel de la subimagen, y cuando sub_pic_cpb_params_present_flag es igual a 0, los parámetros de retardo de eliminación de la CPB a nivel de la subimagen no están presentes y la CPB opera a nivel de la unidad de acceso. El segundo elemento de sintaxis especifica que los parámetros de retardo de eliminación de la CPB en el nivel de subimagen están presentes y la CPB puede operar en el nivel de la AU o en el nivel de subimagen, y el procedimiento puede incluir además determinar que la variable subPicParamsPresentFlag es igual a 0, derivando un tiempo de llegada inicial de AU y tiempo de llegada final de AU, determinando que la variable subPicParamsPresentFlag es igual a 1, y derivando una tiempo de llegada inicial de DU y una tiempo de llegada final de DU para las unidades de decodificación dentro de la unidad de acceso.
Los tiempos de eliminación de la CPB para el nivel de subimagen también pueden obtenerse cuando el elemento de sintaxis indica que la DU no es una AU. La derivación de los tiempos de eliminación de la CPB para el nivel de subimagen puede incluir derivar los tiempos de eliminación de la CPB solo para el nivel de subimagen cuando el elemento de sintaxis indica que la DU no es una AU. Por ejemplo, el decodificador de vídeo 30 puede derivar tiempos de eliminación de la CPB para el nivel de subimagen cuando el elemento de sintaxis indica que la DU no es una AU.
La Figura 6 es un diagrama de flujo que muestra otro procedimiento para determinar un tiempo de eliminación del almacenamiento temporal de las imágenes codificadas (CPB) de una primera unidad de decodificación en una unidad de acceso en base al tiempo de eliminación de la CPB para una segunda unidad de decodificación de la unidad de acceso de acuerdo con las técnicas descritas en esta divulgación. Un codificador de vídeo puede realizar el procedimiento de la Figura 6. El codificador de vídeo puede ser el codificador de vídeo 20 de la Figura 1 o en la Figura 2, por ejemplo.
El procedimiento incluye determinar, para una AU que incluye una primera unidad de decodificación DU, un tiempo de eliminación de la CPB de una segunda DU, en el que la segunda DU es posterior a la primera DU en el orden de decodificación y en la misma AU que la primera DU (210). La segunda DU puede ser inmediatamente posterior a la primera DU en la AU en el orden de decodificación. Alternativamente, la segunda DU puede ser una última DU en la AU en el orden de decodificación. En algunos ejemplos, el codificador de vídeo 20 programa un tiempo de eliminación de la CPB para la AU. En algunos ejemplos, los tiempos de eliminación de la CPB son programados por un dispositivo externo al codificador de vídeo 20 y el programa se proporciona al codificador de vídeo 20.
El tiempo de eliminación de la CPB para la AU puede ser el mismo que el tiempo de eliminación de la CPB para la última Du en la AU. Por tanto, el codificador de vídeo 20 puede determinar el tiempo de eliminación de la CPB de la segunda DU en base al tiempo de eliminación programado de la CPB de la AU. En algunos ejemplos, determinar el tiempo de eliminación de la CPB de la segunda DU en base al tiempo de eliminación programado de la CPB de la AU incluye determinar cuántas DU se incluyen en la AU y determinar un tiempo programado para cada CPB. Por ejemplo, el codificador de vídeo 20 puede determinar, para una AU que incluye una primera unidad de decodificación DU, un tiempo de eliminación de la CPB de una segunda DU, en el que la segunda DU es posterior a la primera DU en el orden de decodificación y en la misma AU que la primera Du , de acuerdo con las técnicas descritas en la presente memoria.
El procedimiento incluye además determinar una duración entre el tiempo de eliminación de la CPB de la primera DU y el tiempo de eliminación determinado de la CPB de la segunda DU (212). Por ejemplo, el codificador de vídeo 20 puede determinar la duración entre el tiempo de eliminación de la CPB para la primera DU en base a un tiempo de eliminación programado de la CPB de la Au y el número de DU en la AU. En algunos ejemplos, el codificador de vídeo 20 determina la duración en base a los tiempos de eliminación de la CPB programados para cada DU en la AU.
El procedimiento incluye además codificar la duración determinada (214). El codificador de vídeo 20 puede codificar la duración determinada como un elemento de sintaxis, por ejemplo, en un conjunto de parámetros de la CPB a nivel de la subimagen. Por ejemplo, el procedimiento puede incluir además codificar parámetros de la CPB a nivel de la subimagen, en el que codificar la duración determinada incluye codificar la duración determinada como uno o más parámetros de la CPB a nivel de la subimagen. La codificación de parámetros de la CPB a nivel de la subimagen puede incluir la codificación de un mensaje de información de mejora suplementaria (SEI) del tipo temporización de subimagen que está asociado con la primera DU. En un ejemplo, codificar la duración determinada como uno o más parámetros de la CPB a nivel de la subimagen comprende además codificar la duración determinada en el mensaje SEI del tipo temporización de subimagen.
En los ejemplos en los que la segunda DU es una última DU en la AU en el orden de decodificación, la codificación del mensaje SEI de la subimagen incluye codificar la duración entre un tiempo de eliminación de la última DU y el tiempo de eliminación de la primera DU en el mensaje SEI del tipo temporización de subimagen. En algunos ejemplos, se codifica una bandera de nivel de secuencia para indicar la presencia de los parámetros de la CPB a nivel de la subimagen en mensajes SEI del tipo temporización de imagen o en mensajes SEI de temporización de la subimagen. En algunos ejemplos, determinar el tiempo de eliminación de la primera DU incluye determinar el tiempo de eliminación de la primera DU sin codificar un retardo y una compensación de eliminación iniciales de la CPB. Cuando la AU tiene un Temporalld menor o igual a 0, el procedimiento puede incluir además la codificación de al menos uno de un mensaje SEI del período de almacenamiento temporal o un mensaje SEI del punto de recuperación asociado con la AU.
Las DU descritas en la presente memoria pueden ser cualquier tipo de DU, así como una unidad de capa de abstracción de red (NAL) sin capa de codificación de vídeo (VCL) con nal_unit_type igual a UNSPECO, EOS NUT, EOB NUT, en el intervalo de RSV NVCL44 a RSV NVCL47 o en el intervalo de UNSPEC48 a UNSPEC63. El codificador de vídeo 20 puede codificar cualquier DU de acuerdo con las técnicas descritas en esta divulgación, incluidas las DU que no son unidades NAL v Cl con nal_unit_type igual a UNSPECO, EOS NUT, EOB NUT, en el intervalo de RSV NVCL44 a RSV_NVCL47 o en el intervalo de UNSPEC48 de acuerdo con UNSPEC63.
En otro ejemplo, el procedimiento incluye derivar al menos uno de un tiempo de llegada de la CPB y un tiempo de eliminación nominal de la CPB para la Au tanto a un nivel de la unidad de acceso como a un nivel de la subimagen independientemente del valor de un elemento de sintaxis que define si la primera DU es la AU.
En algunos ejemplos, el procedimiento incluye derivar al menos uno de un tiempo de llegada de la CPB y un tiempo de eliminación nominal de la CPB para la AU tanto a un nivel de la unidad de acceso como a un nivel de la subimagen independientemente del valor de un elemento de sintaxis que define si la primera DU es la AU. El procedimiento puede incluir derivar tiempos de eliminación de la CPB para el nivel de la AU cuando el elemento de sintaxis indica que la primera DU es una AU. La derivación de los tiempos de eliminación de la CPB para el nivel de la AU puede incluir la derivación de los tiempos de eliminación de la CPB solo para el nivel de la AU cuando el elemento de sintaxis indica que la DU es una Au .
El elemento de sintaxis puede ser SubPicCpbFlag, en el que cuando SubPicCpbFlag es igual a 0, una DU es una AU; de lo contrario, una DU incluye una o más unidades de capa de abstracción de red (NAL) de capa de codificación de vídeo (VCL) en una Au y las unidades NAL no VCL asociadas. En algunos ejemplos, el elemento de sintaxis incluye un primer elemento de sintaxis, y en el que derivar el tiempo de llegada de la CPB y el tiempo de eliminación nominal de la CPB comprende derivar el tiempo de llegada de la CPB y el tiempo de eliminación nominal de la CPB cuando un segundo elemento de sintaxis especifica que los parámetros de retardo de eliminación de la CPB a nivel de la subimagen están presentes y la CPB puede funcionar a nivel de la unidad de acceso o a nivel de la subimagen.
El segundo elemento de sintaxis puede ser sub_pic_cpb_params_present_flag, en el que cuando sub_pic_cpb_params_present_flag es igual a 1, los parámetros de retardo de eliminación de la CPB en el nivel de subimagen están presentes y la CPB puede operar a nivel de la unidad de acceso o a nivel de la subimagen, y cuando sub_pic_cpb_params_present_flag es igual a 0, los parámetros de retardo de eliminación de la CPB a nivel de la subimagen no están presentes y la CPB opera a nivel de la unidad de acceso. El segundo elemento de sintaxis especifica que los parámetros de retardo de eliminación de la CPB en el nivel de subimagen están presentes y la CPB puede operar en el nivel de la AU o en el nivel de subimagen, y el procedimiento puede incluir además establecer la variable subPicParamsPresentFlag igual a 0, derivando un tiempo de llegada inicial de AU y un tiempo de llegada final de AU, estableciendo la variable subPicParamsPresentFlag igual a 1, y derivando un tiempo de llegada inicial de DU y un tiempo de llegada final de DU para las unidades de decodificación dentro de la unidad de acceso.
Los tiempos de eliminación de la CPB para el nivel de subimagen también pueden obtenerse cuando el elemento de sintaxis indica que la DU no es una Au . La derivación de los tiempos de eliminación de la CPB para el nivel de subimagen puede incluir derivar los tiempos de eliminación de la CPB solo para el nivel de subimagen cuando el elemento de sintaxis indica que la DU no es una AU. Por ejemplo, el codificador de vídeo 20 puede derivar tiempos de eliminación de la CPB para el nivel de subimagen cuando el elemento de sintaxis indica que la DU no es una Au .
La Figura 7 es un diagrama de flujo que ilustra un procedimiento para derivar un tiempo de eliminación de la CPB de la primera DU basado al menos en parte en el mensaje SEI del tipo temporización de subimagen de acuerdo con las técnicas descritas en esta divulgación. El procedimiento puede realizarse mediante un dispositivo de decodificación de vídeo. El dispositivo de decodificación de vídeo puede ser un decodificador de vídeo 30 de las Figuras 1 y 3, por ejemplo.
El procedimiento incluye decodificar un mensaje SEI del tipo temporización de subimagen asociado con una primera unidad de decodificación de una unidad de acceso (300). Por ejemplo, el descodificador de vídeo 30 puede descodificar un flujo de bits que incluye datos codificados y elementos de sintaxis correspondientes y un mensaje SEI del tipo temporización de subimagen asociado con una primera DU de una AU, de acuerdo con las técnicas descritas en la presente memoria. El decodificador de vídeo 30 puede almacenar temporalmente las AU y sus respectivas DU en la CPB 94 para la extracción en determinados tiempos de eliminación. Por ejemplo, el decodificador de vídeo 30 puede decodificar el mensaje SEI del tipo temporización de subimagen asociado con una primera DU de una AU.
En algunos ejemplos, el procedimiento incluye decodificar una bandera de nivel de secuencia para determinar la presencia de parámetros de la CPB a nivel de la subimagen en el mensaje SEI del tipo temporización de subimagen o en un mensaje SEI del tipo temporización de imagen asociado con la primera DU. El procedimiento puede incluir además decodificar los parámetros de la CPB a nivel de la subimagen, en el que la determinación del tiempo de eliminación de la CPB de la primera DU se basa además, al menos en parte, en los parámetros de la CPB a nivel de la subimagen. En respuesta a la recepción de un flujo de bits codificado, el decodificador de vídeo 30 puede decodificar una bandera de nivel de secuencia y determinar a partir del valor de la bandera de nivel de secuencia si los parámetros de la CPB a nivel de la subimagen se encuentran en el mensaje SEI del tipo temporización de subimagen o en el mensaje SEI del tipo temporización de imagen. En base al valor de la bandera de nivel de secuencia, el descodificador de vídeo 30 puede descodificar el mensaje SEI del tipo temporización de subimagen o el mensaje SEI del tipo temporización de imagen para descodificar los parámetros de la CPB a nivel de la subimagen.
En los ejemplos en los que la bandera de nivel de secuencia indica que los parámetros de la CPB a nivel de la subimagen deben estar presentes en el mensaje SEI del tipo temporización de subimagen, la decodificación de los parámetros de la CPB a nivel de la subimagen puede incluir decodificar el mensaje SEI del tipo temporización de subimagen asociado con la primera DU. En los ejemplos en los que la segunda DU es una última DU en la AU en el orden de decodificación, la decodificación del mensaje SEI de la subimagen puede comprender además decodificar la duración entre un tiempo de eliminación de la última DU y el tiempo de eliminación de la primera DU en el mensaje SEI del tipo temporización de subimagen.
El procedimiento incluye además decodificar una duración entre la eliminación del almacenamiento temporal de las imágenes codificadas (CPB) de una segunda DU de la AU en el orden de decodificación y eliminación de la CPB de la primera DU en el mensaje SEI de la subimagen, en el que la duración está en el mensaje SEI del tipo temporización de subimagen (302). Por ejemplo, a partir de un flujo de bits recibido, el decodificador de vídeo 30 puede decodificar la duración entre la eliminación del almacenamiento temporal de las imágenes codificadas (CPB) de una segunda DU de la AU en el orden de decodificación y la eliminación de la CPB de la primera DU en el mensaje SEI de subimagen.
El procedimiento también incluye derivar un tiempo de eliminación de la CPB de la primera DU basándose, al menos en parte, en el mensaje SEI del tipo temporización de subimagen (304). El decodificador de vídeo 30 puede extraer la primera DU para decodificar de la CPB 94 en el tiempo de eliminación determinado de la CPB.
En algunos ejemplos, la segunda DU es una última DU en la AU en el orden de decodificación. La segunda DU puede ser inmediatamente posterior a la primera DU en la AU en el orden de decodificación. En algunos ejemplos, determinar el tiempo de eliminación de la primera DU comprende determinar el tiempo de eliminación de la primera DU sin codificar un retardo y compensación de eliminación iniciales de la CPB.
La DU puede ser cualquier tipo de unidad de decodificación, incluida una unidad de capa de abstracción de red (NAL) sin capa de codificación de vídeo (VCL) con nal_unit_type igual a UNSPECO, EOS_NUT, EOB NUT, en el intervalo de RSV _NVCL44 a RSV_NVCL47 o en el intervalo de UNSPEC48 a UNSPEC63.
Las técnicas descritas en la presente memoria pueden proporcionar una determinación más resistente a errores del tiempo de eliminación del almacenamiento temporal de las imágenes codificadas. Adicionalmente, además de mejorar la resistencia a errores, las técnicas pueden promover la eficiencia de la señalización, lo que reduce el ancho de banda, la sobrecarga de señalización y aumenta el tiempo de codificación. Además, las técnicas descritas en esta divulgación pueden permitir una escalabilidad temporal adecuada.
Tales técnicas pueden incluir, por ejemplo, determinar un tiempo de eliminación del almacenamiento temporal de las imágenes codificadas para una DU de una AU que es independiente de los tiempos de eliminación de cualquier otra unidad de acceso. Por ejemplo, los tiempos de eliminación de la CPB para una Du de una AU se señalarán en base a la duración entre un tiempo de eliminación de la CPB de una DU siguiente en un orden de decodificación en la AU o una duración entre el tiempo de eliminación de la CPB de la última DU en la AU. Las técnicas también pueden incluir señalizar una bandera de nivel de secuencia para controlar la presencia de parámetros de la CPB de subimagen en sólo uno de los mensajes SEI del tipo temporización de imagen o en mensajes SEI de temporización de la subimagen de acuerdo con las técnicas descritas en la presente memoria. Las técnicas también pueden incluir ampliar una definición de una unidad de decodificación. Las técnicas adicionales proporcionan mensajes SEI del período de almacenamiento temporal restringidos y mensajes SEI de punto de recuperación de modo que no se puedan asociar con las AU con una variable, TemporalId, mayor que 0. Las técnicas también pueden incluir proporcionar una bandera para señalar si se deben derivar los tiempos de eliminación de la CPB a un nivel de la AU o a un nivel de subimagen.
La Figura 8 es un diagrama de flujo que ilustra otro procedimiento para derivar un tiempo de eliminación de la CPB de la primera DU basado al menos en parte en la codificación de un mensaje SEI del tipo temporización de subimagen de acuerdo con las técnicas descritas en esta divulgación. El procedimiento puede realizarse mediante un dispositivo de codificación de vídeo. El dispositivo de codificación de vídeo puede ser el codificador de vídeo 20 de las Figuras 1 y 2, por ejemplo.
El procedimiento incluye determinar una duración entre el tiempo de eliminación del almacenamiento temporal de las imágenes codificadas (CPB) de una primera unidad de decodificación (DU) en una unidad de acceso (AU) y el tiempo de eliminación de la CPB de una segunda DU en la AU (310). La duración puede determinarse, por ejemplo, restando un tiempo de eliminación programado de la CPB para la primera DU de un tiempo de eliminación programado de la CPB para la segunda DU.
El procedimiento incluye además codificar la duración en un mensaje de información de mejora suplementaria (SEI) de temporización de la subimagen asociado con la AU (312). Por ejemplo, el codificador de vídeo 20 puede codificar una duración entre la eliminación del almacenamiento temporal de las imágenes codificadas (CPB) de una segunda DU de la AU en el orden de decodificación y la eliminación de la CPB de la primera DU en el mensaje SEI de subimagen en un flujo de bits. Por ejemplo, el codificador de vídeo 20 puede codificar un flujo de bits que incluye datos codificados y elementos de sintaxis correspondientes, mensaje SEI del tipo temporización de subimagen asociado con una primera DU de una AU, de acuerdo con las técnicas descritas en la presente memoria.
En algunos ejemplos, el procedimiento de la Figura 8 incluye codificar una bandera de nivel de secuencia para indicar la presencia de parámetros de la CPB a nivel de la subimagen en el mensaje SEI del tipo temporización de subimagen o en un mensaje SEI del tipo temporización de imagen asociado con la primera DU. El procedimiento puede incluir además codificar los parámetros de la CPB a nivel de la subimagen, en el que la determinación del tiempo de eliminación de la CPB de la primera DU se basa además, al menos en parte, en los parámetros de la CPB a nivel de la subimagen. Por ejemplo, el codificador de vídeo 20 puede codificar una bandera de nivel de secuencia para indicar la presencia de parámetros de la CPB a nivel de la subimagen en el mensaje SEI del tipo temporización de subimagen o en un mensaje SEI del tipo temporización de imagen asociado con la primera DU en un flujo de bits. El codificador de vídeo 20 puede codificar además los parámetros de la CPB a nivel de la subimagen en el flujo de bits.
En los ejemplos en los que la bandera de nivel de secuencia indica que los parámetros de la CPB a nivel de la subimagen deben estar presentes en el mensaje SEI del tipo temporización de subimagen, la codificación de los parámetros de la CPB a nivel de la subimagen puede incluir codificar el mensaje SEI del tipo temporización de subimagen asociado con la primera DU. En los ejemplos en los que la segunda DU es una última DU en la AU en el orden de decodificación, la codificación del mensaje SEI de la subimagen puede comprender además codificar la duración entre un tiempo de eliminación de la última DU y el tiempo de eliminación de la primera DU en el mensaje SEI del tipo temporización de subimagen.
En algunos ejemplos, la segunda DU es una última DU en la AU en el orden de decodificación. La segunda DU puede ser inmediatamente posterior a la primera DU en la AU en el orden de decodificación. En algunos ejemplos, determinar el tiempo de eliminación de la primera DU comprende determinar el tiempo de eliminación de la primera DU sin codificar un retardo y una compensación de eliminación iniciales de la CPB.
La DU puede ser cualquier tipo de unidad de decodificación, incluida una unidad de capa de abstracción de red (NAL) sin capa de codificación de vídeo (VCL) con nal_unit_type igual a UNSPECO, EOS_NUT, EOB_NUT, en el intervalo de RSV _NVCL44 a RSV_NVCL47 o en el intervalo de UNSPEC48 a UNSPEC63.
La Figura 9 es un diagrama de flujo que ilustra un procedimiento para decodificar una bandera de nivel de secuencia para un parámetro del almacenamiento temporal de las imágenes codificadas a nivel de la subimagen de acuerdo con las técnicas descritas en esta divulgación. El procedimiento puede realizarse mediante un dispositivo de decodificación de vídeo. El dispositivo de decodificación de vídeo puede ser un decodificador de vídeo 30 de las Figuras 1 y 3, por ejemplo.
El procedimiento incluye decodificar una bandera de nivel de secuencia para determinar la presencia de uno o más parámetros de la CPB a nivel de la subimagen para una DU de una AU, ya sea en un mensaje SEI del tipo temporización de imagen o en un mensaje SEI del tipo temporización de subimagen asociado con la DU (400). Por ejemplo, el descodificador de vídeo 30 descodifica una bandera de nivel de secuencia para determinar la presencia de uno o más parámetros de la CPB a nivel de la subimagen. El decodificador de vídeo 30 también decodifica la bandera de nivel de secuencia para determinar la ubicación de uno o más parámetros de la CPB a nivel de la subimagen. La bandera de nivel de secuencia puede ser sub_pic_cpb_params_present_flag. En algunos ejemplos, el uno o más parámetros de la CPB a nivel de la subimagen están presentes sólo en uno del mensaje SEI del tipo temporización de imagen o el mensaje SEI del tipo temporización de subimagen.
El procedimiento puede incluir además decodificar el uno o más parámetros de la CPB a nivel de la subimagen del mensaje SEI del tipo temporización de imagen o del mensaje SEI del tipo temporización de subimagen en base a la bandera de nivel de secuencia (402). Por ejemplo, en respuesta a la bandera de nivel de secuencia que indica que uno o más parámetros de la CPB a nivel de la subimagen están presentes en el mensaje SEI del tipo temporización de imagen, el decodificador de vídeo 30 decodifica el mensaje s Ei del tipo temporización de imagen para determinar uno o más parámetros de la CPB a nivel de la subimagen. Asimismo, en respuesta a la bandera de nivel de secuencia que indica que uno o más parámetros de la CPB a nivel de la subimagen están presentes en el mensaje SEI del tipo temporización de subimagen, el decodificador de vídeo 30 decodifica el mensaje SEI del tipo temporización de subimagen para determinar uno o más parámetros de la CPB a nivel de subimágenes.
El procedimiento puede incluir además determinar un tiempo de eliminación de la CPB de la DU basándose, al menos en parte, en uno o más parámetros de la CPB a nivel de la subimagen. En algunos ejemplos, determinar el tiempo de eliminación de la CPB de la DU comprende determinar el tiempo de eliminación de la CPB de la DU sin decodificar un retardo y compensación de eliminación iniciales de la CPB.
En un ejemplo en el que la bandera de nivel de secuencia indica que los parámetros de la CPB a nivel de la subimagen están presentes en el mensaje SEI del tipo temporización de subimagen, la decodificación de los parámetros de la CPB a nivel de la subimagen puede incluir decodificar el mensaje SEI del tipo temporización de subimagen asociado con la DU. En otro ejemplo, el procedimiento puede incluir derivar al menos uno de un tiempo de llegada de la CPB y un tiempo de eliminación nominal de la CPB para la AU tanto a un nivel de unidad de acceso como a un nivel de subimagen independientemente del valor de un elemento de sintaxis que defina si la primera DU es la AU. Es decir, el decodificador de vídeo 30 puede derivar al menos uno de entre el tiempo de llegada de la CPB y un tiempo de eliminación nominal de la CPB para la AU tanto a un nivel de unidad de acceso como a un nivel de subimagen.
En otro ejemplo, la DU es una primera DU, y el procedimiento incluye además derivar un tiempo de eliminación de la CPB de la primera DU basándose al menos en parte en los parámetros de la CPB a nivel de la subimagen y decodificar una duración entre el tiempo de eliminación de la CPB de una segunda DU de la AU en el orden de decodificación y el tiempo de eliminación de la CPB de la primera DU. El procedimiento puede incluir además la decodificación de datos de vídeo de la primera DU basándose, al menos en parte, en los tiempos de eliminación de la CPB. En algunos ejemplos, la segunda DU es una última DU en la AU en el orden de decodificación o inmediatamente posterior a la primera DU en la AU en el orden de decodificación.
La DU puede ser cualquier DU, incluida una unidad NAL no VCL con nal_unit_type igual a UNSPECO, EOS NUT, EOB_NUT, en el intervalo de RSV_NVCL44 a RSV NVCL47 o en el intervalo de UNSPEC48 a UNSPEC12.
En los ejemplos en los que la AU tiene un Temporalld igual a 0, el procedimiento puede incluir además decodificar al menos uno de un mensaje SEI del período de almacenamiento temporal o un mensaje SEI del punto de recuperación asociado con la AU. Por ejemplo, el descodificador de vídeo 30 puede descodificar al menos uno del mensaje SEI del período de almacenamiento temporal o el mensaje SEI del punto de recuperación asociado con la AU que tiene un valor TemporalId igual a 0.
La Figura 10 es un diagrama de flujo que ilustra un procedimiento para codificar una bandera de nivel de secuencia para un parámetro del almacenamiento temporal de las imágenes codificadas a nivel de la subimagen de acuerdo con las técnicas descritas en esta divulgación. El procedimiento puede realizarse mediante un dispositivo de codificación de vídeo. El dispositivo de codificación de vídeo puede ser el codificador de vídeo 20 de las Figuras 1 y 2, por ejemplo.
El procedimiento incluye codificar uno o más parámetros del almacenamiento temporal de las imágenes codificadas (CPB) a nivel de la subimagen para una unidad de decodificación (DU) de una unidad de acceso (AU) en un mensaje SEI del tipo temporización de imagen o un mensaje SEI del tipo temporización de subimagen (410). El codificador de vídeo 20 puede codificar el mensaje SEI del tipo temporización de imagen en uno o más parámetros de la CPB a nivel de la subimagen. Alternativamente, el codificador de vídeo 20 puede codificar el mensaje SEI del tipo temporización de subimagen en uno o más parámetros de la CPB a nivel de la subimagen.
El procedimiento incluye además codificar una bandera de nivel de secuencia para indicar la presencia de uno o más parámetros de la CPB a nivel de la subimagen para una DU de una AU, ya sea en el mensaje SEI del tipo temporización de imagen o en el mensaje SEI del tipo temporización de subimagen asociado con la DU (412). Por ejemplo, el codificador de vídeo 20 codifica una bandera de nivel de secuencia para indicar la presencia y ubicación de uno o más parámetros de la CPB a nivel de la subimagen. La bandera de nivel de secuencia puede ser sub_pic_cpb_params_present_flag. En algunos ejemplos, el codificador de vídeo 20 codifica el uno o más parámetros de la CPB a nivel de la subimagen en sólo uno del mensaje SEI del tipo temporización de imagen o el mensaje SEI del tipo temporización de subimagen.
El procedimiento puede incluir además determinar un tiempo de eliminación de la CPB de la DU basándose, al menos en parte, en uno o más parámetros de la CPB a nivel de la subimagen. En algunos ejemplos, determinar el tiempo de eliminación de la CPB de la DU comprende determinar el tiempo de eliminación de la CPB de la DU sin codificar un retardo y compensación de eliminación iniciales de la CPB.
En un ejemplo, codificar uno o más parámetros de la CPB a nivel de la subimagen comprende además codificar el uno o más parámetros de la CPB a nivel de la subimagen en el mensaje SEI del tipo temporización de subimagen asociado con la DU. En tal ejemplo, el codificador de vídeo 20 codifica la bandera de nivel de secuencia para indicar que los parámetros de la CPB a nivel de la subimagen están presentes en el mensaje SEI del tipo temporización de subimagen. En otro ejemplo, codificar uno o más parámetros de la CPB a nivel de la subimagen comprende además codificar el uno o más parámetros de la CPB a nivel de la subimagen en el mensaje SEI del tipo temporización de imagen asociado con la DU. En ese ejemplo, el codificador de vídeo 20 codifica la bandera de nivel de secuencia para indicar que los parámetros de la CPB a nivel de la subimagen están presentes en el mensaje SEI del tipo temporización de imagen.
En otro ejemplo, la DU es una primera DU, y el procedimiento incluye además derivar un tiempo de eliminación de la CPB de la primera DU basado al menos en parte en los parámetros de la CPB a nivel de la subimagen y codificar una duración entre el tiempo de eliminación de la CPB de una segunda DU de la AU en el orden de decodificación y el tiempo de eliminación de la CPB de la primera DU. El procedimiento puede incluir además la codificación de datos de vídeo de la primera DU basándose, al menos en parte, en los tiempos de eliminación de la CPB. En algunos ejemplos, la segunda DU es una última DU en la AU en el orden de decodificación o inmediatamente posterior a la primera DU en la AU en el orden de decodificación.
La DU puede ser cualquier DU, incluida una unidad NAL no VCL con nal_unit_type igual a UNSPECO, EOS_NUT, EOB_NUT, en el intervalo de RSV _NVCL44 a RSV_NVCL47 o en el intervalo de UNSPEC48 a UNSPEC12.
En los ejemplos en los que la AU tiene un Temporalld igual a 0, el procedimiento puede incluir además la codificación de al menos uno de un mensaje SEI del período de almacenamiento temporal o un mensaje SEI del punto de recuperación asociado con la AU. Por ejemplo, el codificador de vídeo 20 puede codificar al menos uno del mensaje SEI del período de almacenamiento temporal o el mensaje SEI del punto de recuperación asociado con la AU que tiene un valor TemporalId igual a 0.
La Figura 11 es un diagrama de flujo que ilustra un procedimiento para decodificar una DU que tiene una definición ampliada de acuerdo con las técnicas descritas en esta divulgación. El procedimiento puede realizarse mediante un dispositivo de decodificación de vídeo. El dispositivo de decodificación de vídeo puede ser un decodificador de vídeo 30 de las Figuras 1 y 3, por ejemplo.
El procedimiento incluye decodificar una duración entre la eliminación del almacenamiento temporal de las imágenes codificadas (CPB) de una primera unidad de decodificación (DU) en una unidad de acceso (AU) y la eliminación de la CPB de una segunda DU, en el que la primera DU comprende una unidad de capa de abstracción de red (NAL) sin capa de codificación de vídeo (VCL) con nal_unit_type igual a UNSPECO, EOS_NUT, EOB_NUT, en el intervalo de RSV NVCL44 a RSV_NVCL47 o en el intervalo de UNSPEC48 a UNSPEC63 (500). Es decir, el decodificador de vídeo 30 puede decodificar DU que son una unidad de capa de abstracción de red (NAL) sin capa de codificación de vídeo (VCL) con nal_unit_type igual a UNSPECO, EOS_NUT, EOB NUT, en el intervalo de RSV _NVCL44 a RSV NVCL47 o en el intervalo de UNSPEC48 a UNSPEC63, además de otros tipos de DU definidas en HEVC WD8. En algunos ejemplos, la segunda DU es posterior a la primera DU en el orden de decodificación y en la misma AU que la primera DU. La segunda DU puede ser inmediatamente posterior a la primera DU en la Au en el orden de decodificación. En otros ejemplos, la segunda DU es una última Du en la AU en el orden de decodificación.
El procedimiento también incluye determinar un tiempo de eliminación de la primera DU basándose, al menos en parte, en la duración decodificada (502). El procedimiento incluye además decodificar datos de vídeo de la primera DU basándose, al menos en parte, en el tiempo de eliminación (504). Por ejemplo, el descodificador de vídeo 30 determina un tiempo de eliminación de la primera DU en base a parte en la duración descodificada y luego descodifica los datos de vídeo de la primera DU en base al tiempo de eliminación.
En un ejemplo, el procedimiento puede incluir además la decodificación de uno o más parámetros de la CPB a nivel de la subimagen, en el que la determinación del tiempo de eliminación de la primera DU comprende determinar el tiempo de eliminación de la primera DU basándose al menos en parte en la duración decodificada y los parámetros de la CPB a nivel de la subimagen. La decodificación de uno o más parámetros de la CPB a nivel de la subimagen puede incluir además la decodificación de un mensaje de información de mejora suplementaria (SEI) de temporización de la subimagen que está asociado con la primera DU.
En otro ejemplo en el que la segunda DU es una última DU en la AU en el orden de decodificación, la decodificación del mensaje SEI de la subimagen incluye la decodificación de la duración entre un tiempo de eliminación de la última DU y el tiempo de eliminación de la primera DU en el mensaje SEI del tipo temporización de subimagen. En algunos ejemplos, el descodificador de vídeo 30 descodifica una bandera de nivel de secuencia para determinar la presencia de los parámetros de la CPB a nivel de la subimagen en mensajes SEI del tipo temporización de imagen o en mensajes SEI de temporización de la subimagen.
En otro ejemplo, cuando la AU tiene un TemporalId igual a 0, el decodificador de vídeo 30 puede decodificar al menos uno de un mensaje SEI del período de almacenamiento temporal o un mensaje SEI del punto de recuperación asociado con la AU. El procedimiento también puede incluir derivar al menos uno de un tiempo de llegada de la CPB y un tiempo de eliminación nominal de la c Pb para la AU tanto a un nivel de la unidad de acceso como a un nivel de la subimagen independientemente del valor de un elemento de sintaxis que define si la primera DU es la AU.
La Figura 12 es un diagrama de flujo que ilustra un procedimiento para codificar una DU que tiene una definición ampliada de acuerdo con las técnicas descritas en esta divulgación. El procedimiento puede realizarse mediante un dispositivo de codificación de vídeo. El dispositivo de codificación de vídeo puede ser el codificador de vídeo 20 de las Figuras 1 y 2, por ejemplo.
El procedimiento incluye determinar, para una AU que incluye una primera DU, un tiempo de eliminación de la CPB de una segunda DU, en el que la segunda DU es posterior a la primera DU en el orden de decodificación y en la misma AU que la primera DU, y en el que la primera DU comprende una unidad de capa de abstracción de red (NAL) sin capa de codificación de vídeo (VCL) con nal_unit_type igual a UNSPECO, EOS_NUT, EOB_NUT, en el intervalo de RSV_NVCL44 a RSV_NVCL47 o en el intervalo de UNSPEC48 a UNSPEC63 (510). Es decir, el codificador de vídeo 20 puede codificar DU que no son unidades NAL VCL con nal_unit_type igual a UNSPECO, EOS NUT, EOB NUT, en el intervalo de RSV_NVCL44 a RSV_NVCL47 o en el intervalo de UNSPEC48 a UNSPEC63, además de otros tipos de DU definido en HEVC WD8. La segunda DU puede ser posterior, incluso inmediatamente posterior, a la primera DU en el orden de decodificación y en la misma AU que la primera DU. En otros ejemplos, la segunda DU es una última DU en la AU en el orden de decodificación.
El procedimiento también incluye determinar una duración entre el tiempo de eliminación de la CPB de la primera DU y el tiempo de eliminación determinado de la CPB de la segunda DU (512). La determinación de la duración entre el tiempo de eliminación de la CPB de la primera DU y el tiempo de eliminación determinado de la CPB de la segunda DU puede estar en base a un tiempo de eliminación programado de la CPB de la AU. El procedimiento incluye además codificar la duración determinada (514). Por ejemplo, el codificador de vídeo 20 determina una duración de tiempo entre la eliminación de la CPB de la primera DU y una segunda DU y luego codifica la duración determinada como un elemento de sintaxis.
En un ejemplo, el procedimiento puede incluir además la codificación de uno o más parámetros de la CPB a nivel de la subimagen, en el que determinar la duración determinada de la primera DU comprende determinar el tiempo de eliminación de la primera DU basándose al menos en parte en la duración decodificada y los parámetros de la CPB a nivel de la subimagen. La codificación de uno o más parámetros de la CPB a nivel de la subimagen puede incluir además codificar un mensaje SEI del tipo temporización de subimagen que está asociado con la primera DU.
En otro ejemplo en el que la segunda DU es una última DU en la AU en el orden de decodificación, la codificación del mensaje SEI de la subimagen incluye codificar la duración entre un tiempo de eliminación de la última DU y el tiempo de eliminación de la primera Du en el mensaje SEI del tipo temporización de subimagen. En algunos ejemplos, el codificador de vídeo 20 codifica una bandera de nivel de secuencia para indicar la presencia de los parámetros de la CPB a nivel de la subimagen en mensajes SEI del tipo temporización de imagen o en mensajes SEI de temporización de la subimagen.
En otro ejemplo, cuando la AU tiene un TemporalId igual a 0, el codificador de vídeo 20 puede codificar al menos uno de un mensaje SEI del período de almacenamiento temporal o un mensaje SEI del punto de recuperación asociado con la AU. El procedimiento también puede incluir derivar al menos uno de un tiempo de llegada de la CPB y un tiempo de eliminación nominal de la CPB para la AU tanto a un nivel de la unidad de acceso como a un nivel de la subimagen independientemente del valor de un elemento de sintaxis que define si la primera DU es la AU.
La Figura 13 es un diagrama de flujo que ilustra un procedimiento para decodificar mensajes SEI del período de almacenamiento temporal y del punto de recuperación de acuerdo con las técnicas descritas en esta divulgación. El procedimiento puede realizarse mediante un dispositivo de decodificación de vídeo. El dispositivo de decodificación de vídeo puede ser un decodificador de vídeo 30 de las Figuras 1 y 3, por ejemplo.
El procedimiento incluye decodificar un mensaje SEI del período de almacenamiento temporal asociado con una AU (530). El AU tiene un temporalId igual o menor que 0. Es decir, el mensaje SEI del período de almacenamiento temporal está restringido de manera que no se puede asociar con una AU que tenga un tiempo de duración mayor que 0.
El procedimiento incluye además decodificar una duración entre la eliminación de la CPB de una primera DU en la AU y la eliminación de la CPB de una segunda DU del mensaje SEI del período de almacenamiento temporal (532). La segunda DU puede estar en la misma AU que la primera DU. La segunda DU puede ser posterior, incluso inmediatamente posterior, a la primera DU en el orden de decodificación. En otros ejemplos, la segunda DU puede ser la última DU en el orden de decodificación en la AU. Las DU pueden ser cualquier tipo de DU aceptadas en HEVC WD8 y además pueden ser una unidad NAL VCL con nal_unit_type igual a UnSp Ec O, EOS_NUT, Eo B NUT, en el intervalo de RSV _NVCL44 a RSV_NVCL47 o en el intervalo de UNSPEC48 a UNSPEC63.
El procedimiento puede incluir además determinar un tiempo de eliminación de la primera DU basándose, al menos en parte, en la duración decodificada (534). En algunos ejemplos, el descodificador de vídeo 30 puede descodificar uno o más parámetros de la CPB a nivel de la subimagen. La determinación del tiempo de eliminación de la primera DU puede incluir además la determinación del tiempo de eliminación de la primera DU basándose, al menos en parte, en la duración decodificada y los parámetros de la CPB a nivel de la subimagen. La decodificación de uno o más parámetros de la CPB a nivel de la subimagen puede incluir además decodificar un mensaje SEI del tipo temporización de subimagen que está asociado con la primera DU.
El procedimiento puede incluir además decodificar datos de vídeo de la primera DU basándose, al menos en parte, en el tiempo de eliminación (536). En los ejemplos en los que la segunda DU es una última DU en la AU en el orden de decodificación, la decodificación del mensaje SEI de la subimagen incluye además la decodificación de la duración entre un tiempo de eliminación de la última DU y el tiempo de eliminación de la primera DU en el mensaje SEI del tipo temporización de subimagen.
El procedimiento puede incluir además la decodificación de una bandera de nivel de secuencia para determinar la presencia de los parámetros de la CPB a nivel de la subimagen en los mensajes SEI del tipo temporización de imagen o en los mensajes SEI de temporización de la subimagen. El procedimiento también puede incluir derivar al menos uno de un tiempo de llegada de la CPB y un tiempo de eliminación nominal de la CPB para la AU tanto a un nivel de la unidad de acceso como a un nivel de la subimagen independientemente del valor de un elemento de sintaxis que define si la primera DU es la AU.
La Figura 14 es un diagrama de flujo que ilustra un procedimiento para codificar mensajes SEI del período de almacenamiento temporal de acuerdo con las técnicas descritas en esta divulgación. El procedimiento puede realizarse mediante un dispositivo de codificación de vídeo. El dispositivo de codificación de vídeo puede ser el codificador de vídeo 20 de las Figuras 1 y 2, por ejemplo.
El procedimiento incluye codificar un mensaje de información de mejora suplementaria (SEI) del período de almacenamiento temporal asociado con una unidad de acceso (AU), en el que la duración se codifica dentro de al menos uno de los mensajes SEI del período de almacenamiento temporal o el mensaje SEI del punto de recuperación (540). Debido a que la AU tiene una temporalld igual o menor que 0, el mensaje SEI del período de almacenamiento temporal está restringido de manera que no puede asociarse con una AU que tenga una temporalld mayor que 0.
El procedimiento también puede incluir codificar una duración entre el tiempo de eliminación de la CPB de una primera DU en la AU y el tiempo de eliminación de la CPB de una segunda DU del mensaje SEI del período de almacenamiento temporal, en el que la AU tiene un temporalId igual a 0 (542). El procedimiento puede incluir además determinar un tiempo de eliminación de la primera DU basándose, al menos en parte, en la duración decodificada (544). Además, el procedimiento puede incluir codificar datos de vídeo de la primera DU (546).
El procedimiento puede incluir además determinar una duración entre la eliminación del almacenamiento temporal de las imágenes codificadas (CPB) de una primera unidad de decodificación (DU) en una unidad de acceso (AU) y la eliminación de la CPB de una segunda DU en la AU, en el que la AU tiene un TemporalId igual a 0. La segunda DU puede estar en la misma AU que la primera DU. La segunda DU puede ser posterior, incluso inmediatamente posterior, a la primera DU en el orden de decodificación. En otros ejemplos, la segunda DU puede ser la última DU en el orden de decodificación en la AU. Las DU pueden ser cualquier tipo de DU aceptadas en HEVC WD8 y además pueden ser una unidad NAL VCL con nal_unit_type igual a u Ns PECO, EOS_NUT, EOB_NUT, en el intervalo de RSV _NVCL44 a RSV_NVCL47 o en el intervalo de UNSPEC48 a UNSPEC63.
En un ejemplo, la determinación de la duración entre la eliminación de la CPB de la primera DU puede incluir determinar un tiempo de eliminación de la primera y la segunda DU. El tiempo de eliminación de la primera DU se puede restar del tiempo de eliminación de la segunda DU para determinar la duración.
En algunos ejemplos, el codificador de vídeo 20 puede codificar uno o más parámetros de la CPB a nivel de la subimagen. La determinación del tiempo de eliminación de la primera DU puede incluir además la determinación del tiempo de eliminación de la primera DU basándose, al menos en parte, en la duración codificada y los parámetros de la CPB a nivel de la subimagen. La codificación de uno o más parámetros de la CPB a nivel de la subimagen puede incluir además codificar un mensaje SEI del tipo temporización de subimagen que está asociado con la primera DU. El procedimiento puede incluir además codificar datos de vídeo de la primera DU. La codificación de los datos de vídeo de la primera DU puede basarse, al menos en parte, en el tiempo de eliminación. En los ejemplos en los que la segunda DU es una última DU en la AU en el orden de decodificación, la codificación del mensaje SEI de la subimagen incluye además codificar la duración entre un tiempo de eliminación de la última DU y el tiempo de eliminación de la primera DU en el mensaje SEI del tipo temporización de subimagen.
El procedimiento puede incluir además codificar una bandera de nivel de secuencia para indicar la presencia de los parámetros de la CPB a nivel de la subimagen en mensajes SEI del tipo temporización de imagen o en mensajes SEI de temporización de la subimagen. El procedimiento también puede incluir derivar al menos uno de un tiempo de llegada de la CPB y un tiempo de eliminación nominal de la CPB para la AU tanto a un nivel de la unidad de acceso como a un nivel de la subimagen independientemente del valor de un elemento de sintaxis que defina si la primera DU es la AU.
La Figura 15 es un diagrama de flujo que ilustra un procedimiento para decodificar la llegada del almacenamiento temporal de las imágenes codificadas y los tiempos de eliminación nominales de acuerdo con las técnicas descritas en esta divulgación. El procedimiento puede realizarse mediante un dispositivo de decodificación de vídeo. El dispositivo de codificación de vídeo puede ser un decodificador de vídeo 30 de las Figuras 1 y 3, por ejemplo.
El procedimiento incluye derivar al menos uno de un tiempo de llegada de la CPB y un tiempo de eliminación nominal de la CPB para una AU tanto a un nivel de la unidad de acceso como a un nivel de la subimagen independientemente del valor de un elemento de sintaxis que define si una DU es la AU completa. La DU puede estar asociada con la AU (560). El procedimiento puede incluir un decodificador de vídeo 30 que determina un valor del elemento de sintaxis. El elemento de sintaxis puede tener la forma SubPicCpbFlag. En respuesta al elemento de sintaxis que tiene un valor verdadero (por ejemplo, SubPicCpbFlag es 1), el procedimiento puede incluir derivar un tiempo de eliminación de la CPB solo para el nivel de la AU. En respuesta al elemento de sintaxis que tiene un valor falso (por ejemplo, SubPicCpbFlag es 0), se deriva un tiempo de eliminación de la CPB solo para el nivel de subimagen. En algunos ejemplos, al menos uno de un tiempo de llegada de la CPB y un tiempo de eliminación nominal de la CPB se obtienen solo cuando una bandera de sintaxis que indica que los parámetros de la CPB están presentes tiene un valor verdadero.
El procedimiento puede incluir además la determinación de un tiempo de eliminación de la AU basándose, al menos en parte, en uno de los tiempos de llegada de la CPB y un tiempo de eliminación nominal de la CPB (562). El procedimiento incluye además decodificar datos de vídeo de la AU basándose, al menos en parte, en el tiempo de eliminación (564).
El procedimiento puede incluir además la decodificación de una duración entre la eliminación de la CPB de una primera DU en la AU y la eliminación de la CPB de una segunda DU, determinando un tiempo de eliminación de la primera DU basado al menos en parte en la duración decodificada, y decodificando datos de vídeo de la primer DU basado, al menos en parte, en al menos uno de los tiempos de eliminación, el tiempo de llegada de la CPB y el tiempo de eliminación nominal de la CPB. En algunos ejemplos, la segunda DU es posterior a la primera DU en el orden de decodificación y en la misma AU que la primera DU. El procedimiento puede incluir además la decodificación de uno o más parámetros de la CPB a nivel de la subimagen, en el que la determinación del tiempo de eliminación de la primera DU comprende determinar el tiempo de eliminación de la primera DU basándose, al menos en parte, en la duración decodificada y los parámetros de la CPB a nivel de la subimagen.
En algunos ejemplos, el procedimiento también incluye decodificar una bandera de nivel de secuencia para determinar la presencia de parámetros de la CPB a nivel de la subimagen en mensajes SEI del tipo temporización de imagen o en mensajes SEI de temporización de la subimagen.
Las DU pueden ser cualquier tipo de DU descritas en HEVC WD8, incluidas las unidades NAL no VCL con nal_unit_type igual a UNSPECO, EOS_NUT, EOB_NUT, en el intervalo de RSV NVCL44 a RSV_NVCL47 o en el intervalo de UNSPEC48 a UNSPEC63.
En otro ejemplo en el que la AU tiene un Temporalld no mayor que 0, el procedimiento incluye además decodificar al menos uno de un mensaje de información de mejora suplementaria (SEI) del período de almacenamiento temporal o un mensaje SEI del punto de recuperación asociado con la AU.
La Figura 16 es un diagrama de flujo que ilustra un procedimiento para codificar la llegada del almacenamiento temporal de las imágenes codificadas y los tiempos de eliminación nominales de acuerdo con las técnicas descritas en esta divulgación. El procedimiento puede realizarse mediante un dispositivo de codificación de vídeo. El dispositivo de codificación de vídeo puede ser el codificador de vídeo 20 de las Figuras 1 y 2, por ejemplo.
El procedimiento incluye derivar al menos uno de un tiempo de llegada de la CPB y un tiempo de eliminación nominal de la CPB para una AU tanto a un nivel de la unidad de acceso como a un nivel de la subimagen independientemente del valor de un elemento de sintaxis que define si una DU es la AU completa. La DU puede estar asociada con la AU (570). El procedimiento puede incluir un codificador de vídeo 20 que determina un valor del elemento de sintaxis. El elemento de sintaxis puede tener la forma SubPicCpbFlag. En respuesta al elemento de sintaxis que tiene un valor verdadero (por ejemplo, SubPicCpbFlag es 1), el codificador de vídeo 20 puede derivar un tiempo de eliminación de la CPB solo para el nivel de la AU. En respuesta al elemento de sintaxis que tiene un valor falso (por ejemplo, SubPicCpbFlag es 0), el codificador de vídeo 20 puede derivar un tiempo de eliminación de la CPB solo para el nivel de subimagen. En algunos ejemplos, al menos uno de un tiempo de llegada de la CPB y un tiempo de eliminación nominal de la CPB se obtienen solo cuando una bandera de sintaxis que indica que los parámetros de la CPB están presentes tiene un valor verdadero.
El procedimiento puede incluir además la determinación de un tiempo de eliminación de la AU basándose, al menos en parte, en uno de los tiempos de llegada de la CPB y un tiempo de eliminación nominal de la CPB (572). El procedimiento incluye además codificar el tiempo de eliminación determinado (574). En algunos ejemplos, la codificación del tiempo de eliminación puede incluir codificar una duración entre la eliminación de la CPB de una primera DU en la AU y la eliminación de la CPB de una segunda DU, determinando un tiempo de eliminación de la primera DU basado al menos en parte en la duración codificada, y codificar datos de vídeo de la primera DU basándose, al menos en parte, en al menos uno de entre el tiempo de eliminación, el tiempo de llegada de la CPB y el tiempo de eliminación nominal de la CPB. En algunos ejemplos, la segunda DU es posterior a la primera DU en el orden de decodificación y en la misma AU que la primera DU. El procedimiento puede incluir además la codificación de uno o más parámetros de la CPB a nivel de la subimagen, en el que la determinación del tiempo de eliminación de la primera Du comprende determinar el tiempo de eliminación de la primera DU basándose, al menos en parte, en la duración codificada y el nivel de subimagen de los parámetros de la CPB. El procedimiento puede incluir además codificar una duración entre la eliminación de la CPB de una primera DU en la AU y la eliminación de la CPB de una segunda DU, en el que codificar el tiempo de eliminación comprende además codificar la duración.
En algunos ejemplos, el procedimiento también incluye codificar una bandera de nivel de secuencia para indicar la presencia de parámetros de la CPB a nivel de la subimagen en mensajes SEI del tipo temporización de imagen o en mensajes SEI de temporización de la subimagen.
Las DU pueden ser cualquier tipo de DU descritas en HEVC WD8, incluidas las unidades NAL no VCL con nal_unit_type igual a UNSPECO, EOS_NUT, EOB_NUT, en el intervalo de RSV _NVCL44 a RSV_NVCL47 o en el intervalo de UNSPEC48 a UNSPEC63.
En otro ejemplo en el que la AU tiene un Temporalld no mayor que 0, el procedimiento incluye además codificar al menos uno de un mensaje SEI del período de almacenamiento temporal o un mensaje SEI del punto de recuperación asociado con la AU.
En uno o más ejemplos, las funciones descritas pueden implementarse en hardware, software, microprograma o cualquiera de sus combinaciones. Si se implementan en software, las funciones pueden almacenarse en un medio legible por ordenador o transmitirse a través de él, como una o más instrucciones o código, y ejecutarse por una unidad de procesamiento basada en hardware. Los medios legibles por ordenador pueden incluir medios de almacenamiento legibles por ordenador, que corresponden a un medio tangible, como medios de almacenamiento de datos, o medios de comunicación, que incluyen cualquier medio que facilite transferir un programa informático de un lugar a otro, por ejemplo, de acuerdo con un protocolo de comunicación. De esta manera, los medios legibles por ordenador generalmente pueden corresponder a (1) medios de almacenamiento legibles por ordenador tangibles que no son transitorios o (2) un medio de comunicación como una señal u onda portadora. Los medios de almacenamiento de datos pueden ser cualquier medio disponible al que se pueda acceder 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 informático puede incluir un medio legible por ordenador.
A manera de ejemplo, y no de limitación, tales medios legibles por ordenador pueden comprender RAM, ROM, EPROM, EEPROM, CD-ROM u otro almacenamiento en disco óptico, almacenamiento en disco magnético u otros dispositivos de almacenamiento magnéticos, memoria flash o cualquier otro medio que pueda usarse para almacenar el código del programa deseado en forma de instrucciones o estructuras de datos y al que puede accederse por un ordenador. También, cualquier conexión se califica apropiadamente como un medio legible por ordenador. Por ejemplo, si las instrucciones se transmiten desde un sitio web, servidor, u otra fuente remota utilizando un cable coaxial, un cable de fibra óptica, un par trenzado, una línea de suscriptor digital (DSL), o las tecnologías inalámbricas como infrarrojos, radio y microondas, entonces el cable coaxial, el cable de fibra óptica, el par trenzado, la DSL o las tecnologías inalámbricas tales como infrarrojos, radio y microondas se incluyen en la definición de medio. Sin embargo, debe entenderse que los medios de almacenamiento legibles por ordenador y los medios de almacenamiento de datos no incluyen conexiones, ondas portadoras, señales u otros medios transitorios, sino que se dirigen a medios de almacenamiento tangibles no transitorios. Disco y disco, como se usa en la presente memoria, incluye el disco compacto (CD), el disco de láser, el disco óptico, el disco digital versátil (DVD), el disquete, y el disco Blu-ray donde existen discos que usualmente reproducen los datos de manera magnética, mientras que otros discos reproducen los datos de manera óptica con láseres. Las combinaciones de los medios anteriores pueden incluirse además dentro del ámbito de los medios legibles por ordenador.
Las instrucciones pueden ejecutarse por uno o más procesadores, como uno o más procesadores de señales digitales (DSP), microprocesadores de propósito general, circuitos integrados para aplicaciones específicas (ASIC), matriz de puertas lógicas programable en campo (FPGA) u otro circuito integrado lógico o discreto equivalente. En consecuencia, el término "procesador", como se usa en la presente memoria puede referirse a cualquiera de las estructuras anteriores o cualquier otra estructura adecuada para la implementación de las técnicas descritas en la presente memoria. Además, en algunos aspectos, la funcionalidad descrita en la presente memoria puede proporcionarse dentro de módulos de hardware y/o software dedicados configurados para la codificación y decodificación, o incorporarse en un códec combinado. Asimismo, las técnicas se podrían implementar completamente en uno o más circuitos o elementos lógicos.
Las técnicas de esta divulgación pueden implementarse en una amplia variedad de dispositivos o aparatos, que incluyen un teléfono inalámbrico, un circuito integrado (IC) o un conjunto de IC (por ejemplo, un conjunto de chips). En esta divulgación se describen varios componentes, módulos o unidades para enfatizar los aspectos funcionales de los dispositivos configurados para realizar las técnicas divulgadas, pero no necesariamente requieren la realización por diferentes unidades de hardware. Más bien, como se describió anteriormente, varias unidades pueden combinarse en una unidad de hardware de códec o proporcionarse por una colección de unidades de hardware interoperativas, que incluyen uno o más procesadores como se describió anteriormente, junto con software y/o microprograma adecuados.

Claims (11)

  1. REIVINDICACIONES
    i . Un procedimiento para decodificar datos de vídeo de acuerdo con la Codificación de Video de Alta Eficiencia, HEVC, comprendiendo los datos de vídeo una unidad de acceso, AU, comprendiendo la unidad de acceso una pluralidad de unidades de decodificación, DU, incluyendo la pluralidad de DU de la AU una DU que es la última en la AU en el orden de decodificación y una pluralidad de DU que no son las últimas en la Au en el orden de decodificación, comprendiendo el procedimiento, cuando una primera bandera tiene un valor que indica que los parámetros del almacenamiento temporal de las imágenes codificadas, CPB, de la subimagen están presentes en los datos del vídeo:
    decodificar (200), para cada DU de la AU distinta de la DU de la AU que es la última en el orden de decodificación, un valor de duración, en términos de un número de tics de reloj de la subimagen, entre un tiempo de eliminación nominal de la CPB (140-1, 142-1) de la DU (110-1, 112-1) y un tiempo de eliminación nominal de la CPB (140-2, 142-2) de una DU inmediatamente posterior (110-2, 112-2) en el orden de decodificación, los valores de duración para las DU se decodifican a partir de un mensaje de información de mejora suplementaria, SEI, del tipo temporización de imagen asociado con la AU cuando una segunda bandera tiene un valor que indica que los parámetros de la CPB de la subimagen están presentes en los mensajes SEI del tipo temporización de imagen y se decodifican a partir de un mensaje SEI del tipo temporización de subimagen asociado con la AU cuando la segunda bandera tiene un valor que indica que los parámetros de la CPB de la subimagen no están presentes en los mensajes SEI del tipo temporización de imagen, en el que la segunda bandera es una bandera de nivel de secuencia; determinar (202), para cada DU de la AU, un tiempo de eliminación de la CPB para la DU; y
    para cada DU de la AU, en el tiempo de eliminación determinado de la CPB para la DU, decodificar los datos de vídeo asociados con la DU y la eliminación de la DU de la CPB,
    en el que la decodificación de los datos de vídeo se realiza con low_delay_hrd_flag igual a 0, en el que el tiempo de eliminación de la CPB para la DU que es la última en la AU en el orden de decodificación se establece igual a un tiempo de eliminación nominal de la CPB para la AU y el tiempo de eliminación de la CPB para las DU restantes de la AU se establecen en los respectivos tiempos de eliminación nominales de la CPB para las DU,
    en el que, cuando la segunda bandera tiene un valor que indica que los parámetros de la CPB de la subimagen están presentes en los mensajes SEI del tipo temporización de imagen, el tiempo de eliminación nominal de la CPB para cada DU en la AU que no sea la última DU en el orden de decodificación se determina calculando el tiempo de eliminación nominal de la CPB de la DU inmediatamente posterior en el orden de decodificación menos un período de tiempo igual al valor de duración decodificado multiplicado por la duración de un tic de reloj de la subimagen,
    en el que, cuando la segunda bandera tiene un valor que indica que los parámetros de la CPB de la subimagen no están presentes en los mensajes SEI del tipo temporización de imagen, el tiempo de eliminación nominal para cada DU en la AU que no sea la última DU en el orden de decodificación se determina calculando el tiempo de eliminación nominal de la CPB para la AU menos un período de tiempo igual al valor de duración decodificado multiplicado por la duración de un tic de reloj de la subimagen.
  2. 2. El procedimiento de la reivindicación 1, en el que la AU tiene un Temporalld igual a 0 y el procedimiento comprende además:
    decodificar al menos uno de un mensaje de información de mejora suplementaria, SEI, del período de almacenamiento temporal o un mensaje SEI del punto de recuperación asociado con la AU (100, 102).
  3. 3. El procedimiento de la reivindicación 1, en el que una o más DU de la AU comprende una unidad de capa de abstracción de red, NAL, sin capa de codificación de vídeo, VCL con nal_unit_type igual a UNSPECO, EOS_NUT, EOB_NUT, en el intervalo de RSV_NVCL44 a RSV_NVCL47 o en el intervalo de UNSPEC48 a UNSPEC63.
  4. 4. El procedimiento de cualquiera de las reivindicaciones 1 a 3, en el que la segunda bandera se decodifica de un conjunto de parámetros de secuencia.
  5. 5. El procedimiento de cualquiera de las reivindicaciones 1 a 3, en el que la segunda bandera se decodifica de un conjunto de parámetros de vídeo.
  6. 6. Un dispositivo para decodificar datos de vídeo de acuerdo con la Codificación de Video de Alta Eficiencia, HEVC, comprendiendo los datos de vídeo una unidad de acceso, AU, comprendiendo la unidad de acceso una pluralidad de unidades de decodificación, DU, incluyendo la pluralidad de DU de la AU una DU que es la última en la AU en el orden de decodificación y una pluralidad de DU que no son las últimas en la Au en el orden de decodificación, el dispositivo configurado para, cuando una primera bandera tiene un valor que indica que los parámetros del almacenamiento temporal de las imágenes codificadas, CPB, de la subimagen están presentes en los datos del vídeo:
    decodificar (200), para cada DU de la AU distinta de la DU de la AU que es la última en el orden de decodificación, un valor de duración, en términos de un número de tics de reloj de la subimagen, entre un tiempo de eliminación nominal de la CPB de la DU (110-1, 112-1) y un tiempo de eliminación nominal de la CPB de una DU inmediatamente posterior (110-2, 112-2) en el orden de decodificación, los valores de duración para las DU se decodifican a partir de un mensaje de información de mejora suplementaria, SEI, del tipo temporización de imagen asociado con la AU cuando una segunda bandera tiene un valor que indica que los parámetros de la CPB de la subimagen están presentes en los mensajes SEI del tipo temporización de imagen y decodificados a partir de un mensaje SEI del tipo temporización de subimagen asociado con la AU cuando la segunda bandera tiene un valor que indica que los parámetros de la CPB de la subimagen no están presentes en los mensajes SEI del tipo temporización de imagen, en el que la segunda bandera es una bandera de nivel de secuencia;
    determinar (202), para cada DU de la AU, un tiempo de eliminación nominal de la CPB de la DU; y para cada DU de la AU, en el tiempo de eliminación determinado de la CPB para la DU, la decodificar de los datos de vídeo asociados con la DU y la eliminación la DU de la CPB,
    en el que la decodificación de los datos de vídeo se realiza con low_delay_hrd_flag igual a 0, en el que el tiempo de eliminación de la CPB para la DU que es la última en la AU en el orden de decodificación se establece igual a un tiempo de eliminación nominal de la CPB para la AU y el tiempo de eliminación de la CPB para las DU restantes de la AU se establecen en los respectivos tiempos de eliminación nominales de la CPB para las DU,
    en el que, cuando la segunda bandera tiene un valor que indica que los parámetros de la CPB de la subimagen están presentes en los mensajes SEI del tipo temporización de imagen, el tiempo de eliminación nominal de la CPB para cada DU en la AU que no sea la última DU en el orden de decodificación se determina calculando el tiempo de eliminación nominal de la CPB de la DU inmediatamente posterior en el orden de decodificación menos un período de tiempo igual al valor de duración decodificado multiplicado por la duración de un tic de reloj de la subimagen,
    en el que, cuando la segunda bandera tiene un valor que indica que los parámetros de la CPB de la subimagen no están presentes en los mensajes SEI del tipo temporización de imagen, el tiempo de eliminación nominal para cada DU en la AU que no sea la última Du en el orden de decodificación se determina calculando el tiempo de eliminación nominal de la CPB para la AU menos un período de tiempo igual al valor de duración decodificado multiplicado por la duración de un tic de reloj de la subimagen.
  7. 7. El dispositivo de la reivindicación 4, en el que el dispositivo se implementa en uno o más circuitos integrados.
  8. 8. El dispositivo de la reivindicación 4, en el que el dispositivo es un ordenador de escritorio, un ordenador portátil, una tableta, un decodificador, un auricular de teléfono, una televisión, una cámara, un reproductor de medios digitales, una consola de videojuegos o un dispositivo de transmisión de vídeo.
  9. 9. El dispositivo de cualquiera de las reivindicaciones 6 a 8, en el que la segunda bandera se descodifica a partir de un conjunto de parámetros de secuencia.
  10. 10. El dispositivo de cualquiera de las reivindicaciones 6 a 8, en el que la segunda bandera se decodifica de un conjunto de parámetros de vídeo.
  11. 11. Un medio de almacenamiento legible por ordenador que tiene almacenadas en el mismo instrucciones que, cuando se ejecutan, hacen que un procesador ejecute el procedimiento de acuerdo con cualquiera de las reivindicaciones 1 a 5.
ES13771729T 2012-09-24 2013-09-23 Tiempos de eliminación del almacenamiento temporal de las imágenes codificadas independientes de la unidad de acceso en la codificación de vídeo Active ES2885527T3 (es)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201261705119P 2012-09-24 2012-09-24
US201261708475P 2012-10-01 2012-10-01
US14/033,141 US9479773B2 (en) 2012-09-24 2013-09-20 Access unit independent coded picture buffer removal times in video coding
PCT/US2013/061217 WO2014047577A1 (en) 2012-09-24 2013-09-23 Access unit independent coded picture buffer removal times in video coding

Publications (1)

Publication Number Publication Date
ES2885527T3 true ES2885527T3 (es) 2021-12-14

Family

ID=50338852

Family Applications (5)

Application Number Title Priority Date Filing Date
ES13771729T Active ES2885527T3 (es) 2012-09-24 2013-09-23 Tiempos de eliminación del almacenamiento temporal de las imágenes codificadas independientes de la unidad de acceso en la codificación de vídeo
ES13774005T Active ES2739225T3 (es) 2012-09-24 2013-09-23 Momentos de eliminación de memoria intermedia de imágenes codificadas señalados en los mensajes de información de mejora complementaria de temporización de imágenes y sub-imágenes
ES13770826T Active ES2884724T3 (es) 2012-09-24 2013-09-23 Definición de unidad de decodificación ampliada
ES13774006T Active ES2855129T3 (es) 2012-09-24 2013-09-23 Indicador de nivel de secuencia para parámetros de búfer de imágenes codificadas a nivel de subimagen
ES13774009T Active ES2913456T3 (es) 2012-09-24 2013-09-23 Tiempos de llegada y de extracción nominal en memoria intermedia de imágenes codificadas en la codificación de vídeo

Family Applications After (4)

Application Number Title Priority Date Filing Date
ES13774005T Active ES2739225T3 (es) 2012-09-24 2013-09-23 Momentos de eliminación de memoria intermedia de imágenes codificadas señalados en los mensajes de información de mejora complementaria de temporización de imágenes y sub-imágenes
ES13770826T Active ES2884724T3 (es) 2012-09-24 2013-09-23 Definición de unidad de decodificación ampliada
ES13774006T Active ES2855129T3 (es) 2012-09-24 2013-09-23 Indicador de nivel de secuencia para parámetros de búfer de imágenes codificadas a nivel de subimagen
ES13774009T Active ES2913456T3 (es) 2012-09-24 2013-09-23 Tiempos de llegada y de extracción nominal en memoria intermedia de imágenes codificadas en la codificación de vídeo

Country Status (23)

Country Link
US (6) US9479774B2 (es)
EP (6) EP2898685B1 (es)
JP (6) JP2015533056A (es)
KR (6) KR101743850B1 (es)
CN (6) CN104662915B (es)
AR (3) AR093239A1 (es)
AU (6) AU2013317763B2 (es)
BR (6) BR112015006479B1 (es)
CA (6) CA2884302C (es)
DK (2) DK2898685T3 (es)
ES (5) ES2885527T3 (es)
HK (6) HK1206177A1 (es)
HU (4) HUE044912T2 (es)
IL (6) IL237682A (es)
MX (1) MX341441B (es)
MY (6) MY181707A (es)
PH (6) PH12015500479A1 (es)
RU (6) RU2628196C2 (es)
SG (7) SG11201501580RA (es)
TW (6) TWI555382B (es)
UA (2) UA116997C2 (es)
WO (6) WO2014047577A1 (es)
ZA (4) ZA201502382B (es)

Families Citing this family (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011199396A (ja) 2010-03-17 2011-10-06 Ntt Docomo Inc 動画像予測符号化装置、動画像予測符号化方法、動画像予測符号化プログラム、動画像予測復号装置、動画像予測復号方法、及び動画像予測復号プログラム
CN104185992A (zh) * 2012-02-08 2014-12-03 汤姆逊许可公司 用于使用假设参考解码器的超低延迟模式的方法和装置
KR101865014B1 (ko) * 2012-06-25 2018-06-05 닛본 덴끼 가부시끼가이샤 비디오 디코딩 장치, 방법 및 프로그램
US9716892B2 (en) 2012-07-02 2017-07-25 Qualcomm Incorporated Video parameter set including session negotiation information
EP2870762A4 (en) 2012-07-06 2016-03-02 Sharp Kk ELECTRONIC DEVICES FOR SIGNALING REFERENCE FIXED DECODER PARAMETERS BASED ON SUB-IMAGES
US9479774B2 (en) 2012-09-24 2016-10-25 Qualcomm Incorporated Buffering period and recovery point supplemental enhancement information messages
US9351005B2 (en) 2012-09-24 2016-05-24 Qualcomm Incorporated Bitstream conformance test in video coding
US9374585B2 (en) * 2012-12-19 2016-06-21 Qualcomm Incorporated Low-delay buffering model in video coding
IL287526B (en) * 2013-04-07 2022-07-01 Dolby Int Ab Signal change in systems layer output
US9591321B2 (en) 2013-04-07 2017-03-07 Dolby International Ab Signaling change in output layer sets
EP2965524B1 (en) * 2013-04-08 2021-11-24 ARRIS Enterprises LLC Individual buffer management in video coding
US20140307803A1 (en) 2013-04-08 2014-10-16 Qualcomm Incorporated Non-entropy encoded layer dependency information
US9402083B2 (en) * 2014-04-24 2016-07-26 Vidyo, Inc. Signaling conformance points using profile space
US10432951B2 (en) * 2014-06-24 2019-10-01 Qualcomm Incorporated Conformance and inoperability improvements in multi-layer video coding
US11595652B2 (en) * 2019-01-28 2023-02-28 Op Solutions, Llc Explicit signaling of extended long term reference picture retention
US10623755B2 (en) 2016-05-23 2020-04-14 Qualcomm Incorporated End of sequence and end of bitstream NAL units in separate file tracks
CN107612953B (zh) * 2016-07-12 2020-10-27 中国电信股份有限公司 增强信息生成和获取方法、装置、终端设备、平台和***
US10999605B2 (en) * 2017-01-10 2021-05-04 Qualcomm Incorporated Signaling of important video information in file formats
US10521880B2 (en) * 2017-04-17 2019-12-31 Intel Corporation Adaptive compute size per workload
ES2963602T3 (es) 2017-04-27 2024-04-01 Samsung Electronics Co Ltd Procedimiento de adquisición de información sobre el área disponible en la red
CN113597768A (zh) 2019-01-28 2021-11-02 Op方案有限责任公司 扩展长期参考图片保留的在线和离线选择
BR112021017426A2 (pt) * 2019-03-01 2022-01-18 Fraunhofer Ges Forschung Decodificador de referência hipotético
WO2020256048A1 (ja) * 2019-06-18 2020-12-24 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法、および復号方法
CN114026863A (zh) * 2019-06-24 2022-02-08 交互数字Vc控股公司 使用高级语法元素发信号通知解码数据的方法和装置
WO2020263817A1 (en) * 2019-06-25 2020-12-30 Intel Corporation Sub-pictures and sub-picture sets with level derivation
CN114009051B (zh) * 2019-06-27 2023-07-18 华为技术有限公司 用于v-pcc的假设参考解码器
US20220312042A1 (en) * 2019-08-21 2022-09-29 Sharp Kabushiki Kaisha Systems and methods for signaling buffering period information in video coding
EP4030764A4 (en) * 2019-09-11 2022-11-23 Panasonic Intellectual Property Corporation of America CODING DEVICE, DECODING DEVICE, CODING METHOD AND DECODING METHOD
PL4018658T3 (pl) * 2019-09-17 2023-06-05 Huawei Technologies Co., Ltd. Sygnalizacja identyfikatorów obrazu częściowego w kodowaniu wideo opartym na obrazach częściowych
JP2022550320A (ja) * 2019-09-24 2022-12-01 ホアウェイ・テクノロジーズ・カンパニー・リミテッド ビデオ符号化におけるseiメッセージ依存性の簡略化
KR20220063260A (ko) * 2019-09-24 2022-05-17 후아웨이 테크놀러지 컴퍼니 리미티드 시간적 스케일러빌러티를 위한 픽처 타이밍 및 디코딩 단위 정보
CN117528101A (zh) * 2019-09-24 2024-02-06 华为技术有限公司 序列级hrd参数
WO2021022265A2 (en) * 2019-10-07 2021-02-04 Futurewei Technologies, Inc. Video-based point cloud compression (v-pcc) component synchronization
US11509938B2 (en) * 2019-11-05 2022-11-22 Hfi Innovation Inc. Method and apparatus of signaling subpicture information in video coding
CN114788290A (zh) * 2019-12-05 2022-07-22 夏普株式会社 用于在视频编码中发送信号通知画面定时和解码单元信息的***和方法
CN114930825A (zh) 2019-12-26 2022-08-19 字节跳动有限公司 用于在编解码图片中实现解码顺序的技术
JP7427176B2 (ja) 2019-12-27 2024-02-05 国立研究開発法人情報通信研究機構 無線通信情報更新システム及び無線通信情報更新方法
WO2021142369A1 (en) * 2020-01-09 2021-07-15 Bytedance Inc. Signalling of the wavefront parallel processing
WO2021160176A1 (en) 2020-02-14 2021-08-19 Beijing Bytedance Network Technology Co., Ltd. Use of general constraint flags in video bitstreams
JP7400115B2 (ja) 2020-02-24 2023-12-18 バイトダンス インコーポレイテッド サブピクチャとタイル行シグナリングとの間のインタラクション
JP7479492B2 (ja) 2020-03-03 2024-05-08 バイトダンス インコーポレイテッド ビデオ・コーディングにおける低周波ノン・セパラブル変換シグナリング
BR112022018108A2 (pt) 2020-03-17 2022-10-25 Bytedance Inc Método de processamento de vídeo, aparelho para processamento de dados de vídeo, e, meios de armazenamento e de gravação legíveis por computador
US12022101B2 (en) 2020-03-31 2024-06-25 Lg Electronics Inc. Image encoding/decoding method and apparatus based on subpicture information aligned between layers, and recording medium storing bitstream
CN115668918A (zh) * 2020-03-31 2023-01-31 Lg电子株式会社 基于画面划分信息和子画面信息的图像编码/解码方法和设备及存储比特流的记录介质
US11706428B2 (en) * 2020-04-06 2023-07-18 Tencent America LLC Method for signaling picture header in coded video stream
CN115868167A (zh) 2020-05-22 2023-03-28 抖音视界有限公司 子比特流提取处理中对编解码视频的处理
WO2021237123A1 (en) 2020-05-22 2021-11-25 Bytedance Inc. Sei message handling in video sub-bitstream extraction process
KR20230015382A (ko) * 2020-05-22 2023-01-31 바이트댄스 아이엔씨 비디오 비트스트림 처리에서 픽처 유형들에 대한 제약들
CN115943627A (zh) 2020-06-08 2023-04-07 字节跳动有限公司 对编解码视频图片中条带计数的约束
JP2023529447A (ja) 2020-06-09 2023-07-10 バイトダンス インコーポレイテッド サブピクチャサブビットストリーム抽出プロセスの拡張
KR20230020425A (ko) 2020-06-09 2023-02-10 바이트댄스 아이엔씨 비디오 코딩에서 보충 향상 정보 메시지의 스케일러블 네스팅
JP2023529823A (ja) * 2020-06-09 2023-07-12 バイトダンス インコーポレイテッド マルチレイヤ映像ビットストリームのサブビットストリーム抽出
CN115699773A (zh) 2020-06-09 2023-02-03 字节跳动有限公司 在编解码视频中信令通知图片定时信息
US20220086387A1 (en) 2020-09-17 2022-03-17 Lemon Inc. Subpicture entity groups in video coding
EP3972278A1 (en) 2020-09-17 2022-03-23 Lemon Inc. Subpicture tracks in coded video
US11962936B2 (en) 2020-09-29 2024-04-16 Lemon Inc. Syntax for dependent random access point indication in video bitstreams
US20220109865A1 (en) * 2020-10-02 2022-04-07 Sharp Kabushiki Kaisha Systems and methods for signaling picture buffer information for intra random access point picture sub-bitstreams in video coding
US20220345725A1 (en) 2021-04-15 2022-10-27 Lemon Inc. Level Indicator For Sub-Picture Entity Group
US11695965B1 (en) * 2022-10-13 2023-07-04 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Video coding using a coded picture buffer

Family Cites Families (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7551672B1 (en) 1999-02-05 2009-06-23 Sony Corporation Encoding system and method, decoding system and method, multiplexing apparatus and method, and display system and method
RU2229176C2 (ru) * 2000-06-14 2004-05-20 Жуков Николай Анатольевич Тепловыделяющая сборка с микротвэлами
RU2273109C2 (ru) * 2000-09-07 2006-03-27 Сони Корпорейшн Способ и устройство обработки информации, программа и носитель записи
PT2175452E (pt) * 2001-03-08 2013-01-29 Sony Corp Aparelho de gravação de dados
US7257162B2 (en) * 2002-07-02 2007-08-14 Conexant Systems, Inc. Hypothetical reference decoder for compressed image and video
US7532670B2 (en) 2002-07-02 2009-05-12 Conexant Systems, Inc. Hypothetical reference decoder with low start-up delays for compressed image and video
JP4002878B2 (ja) * 2003-01-17 2007-11-07 松下電器産業株式会社 画像符号化方法
EP1589768A1 (en) * 2003-01-20 2005-10-26 Matsushita Electric Industrial Co., Ltd. Image encoding method
MXPA06006107A (es) * 2003-12-01 2006-08-11 Samsung Electronics Co Ltd Metodo y aparato de codificacion y decodificacion escalables de video.
EP1704720A1 (en) * 2004-01-16 2006-09-27 General Instrument Corporation Method, protocol, and apparatus for transporting advanced video coding content
US20050201471A1 (en) * 2004-02-13 2005-09-15 Nokia Corporation Picture decoding method
US8406293B2 (en) 2004-06-27 2013-03-26 Apple Inc. Multi-pass video encoding based on different quantization parameters
JP4091582B2 (ja) 2004-09-06 2008-05-28 株式会社東芝 動画像符号化装置、及び動画像符号化方法
US20060104356A1 (en) 2004-11-15 2006-05-18 Microsoft Corporation Timing for decoder buffer examination
US20060143678A1 (en) 2004-12-10 2006-06-29 Microsoft Corporation System and process for controlling the coding bit rate of streaming media data employing a linear quadratic control technique and leaky bucket model
CA2604203A1 (en) * 2005-04-13 2006-10-19 Nokia Corporation Coding, storage and signalling of scalability information
JP4311570B2 (ja) 2005-07-01 2009-08-12 株式会社ソニー・コンピュータエンタテインメント 再生装置、ビデオ復号装置および同期再生方法
WO2007042914A1 (en) 2005-10-11 2007-04-19 Nokia Corporation Efficient decoded picture buffer management for scalable video coding
US7477692B2 (en) 2005-12-16 2009-01-13 Tut Systems, Inc. Video encoding for seamless splicing between encoded video streams
KR100809301B1 (ko) 2006-07-20 2008-03-04 삼성전자주식회사 엔트로피 부호화/복호화 방법 및 장치
WO2008018626A2 (en) 2006-08-10 2008-02-14 Canon Kabushiki Kaisha Image decoding apparatus
JP2008109637A (ja) * 2006-09-25 2008-05-08 Toshiba Corp 動画像符号化装置及びその方法
AU2007342468B2 (en) 2007-01-05 2011-11-24 Interdigital Vc Holdings, Inc. Hypothetical reference decoder for scalable video coding
EP2123044A1 (en) 2007-01-08 2009-11-25 Thomson Licensing Methods and apparatus for video stream splicing
US8355448B2 (en) * 2007-01-18 2013-01-15 Nokia Corporation Carriage of SEI messages in RTP payload format
EP2198620A2 (en) 2007-10-05 2010-06-23 Thomson Licensing Methods and apparatus for incorporating video usability information (vui) within a multi-view video (mvc) coding system
JP4577357B2 (ja) * 2007-12-27 2010-11-10 ソニー株式会社 符号化装置及び方法、並びにプログラム
US8345774B2 (en) * 2008-01-11 2013-01-01 Apple Inc. Hypothetical reference decoder
WO2010021665A1 (en) * 2008-08-20 2010-02-25 Thomson Licensing Hypothetical reference decoder
US8136736B2 (en) * 2008-12-09 2012-03-20 Vasco Data Security, Inc. Slim electronic device with detector for unintentional activation
WO2010092740A1 (ja) 2009-02-10 2010-08-19 パナソニック株式会社 画像処理装置、画像処理方法、プログラムおよび集積回路
JP5072893B2 (ja) * 2009-03-25 2012-11-14 株式会社東芝 画像符号化方法および画像復号化方法
JP4957823B2 (ja) 2009-04-08 2012-06-20 ソニー株式会社 再生装置および再生方法
US8948241B2 (en) * 2009-08-07 2015-02-03 Qualcomm Incorporated Signaling characteristics of an MVC operation point
US8731053B2 (en) 2009-11-18 2014-05-20 Tektronix, Inc. Method of multiplexing H.264 elementary streams without timing information coded
US9992456B2 (en) 2010-02-24 2018-06-05 Thomson Licensing Dtv Method and apparatus for hypothetical reference decoder conformance error detection
US8724710B2 (en) * 2010-02-24 2014-05-13 Thomson Licensing Method and apparatus for video encoding with hypothetical reference decoder compliant bit allocation
US9456015B2 (en) 2010-08-10 2016-09-27 Qualcomm Incorporated Representation groups for network streaming of coded multimedia data
CN102055981B (zh) * 2010-12-31 2013-07-03 北京大学深圳研究生院 用于视频编码器的去块滤波器及其实现方法
US9020039B2 (en) * 2011-01-06 2015-04-28 Sonic Ip, Inc. Systems and methods for encoding alternative streams of video for use in adaptive bitrate streaming
US9706227B2 (en) * 2011-03-10 2017-07-11 Qualcomm Incorporated Video coding techniques for coding dependent pictures after random access
US9069893B2 (en) 2011-03-23 2015-06-30 International Business Machines Corporation Automatic verification of determinism for parallel programs
US20130170561A1 (en) 2011-07-05 2013-07-04 Nokia Corporation Method and apparatus for video coding and decoding
US8768079B2 (en) 2011-10-13 2014-07-01 Sharp Laboratories Of America, Inc. Tracking a reference picture on an electronic device
US9414085B2 (en) 2012-01-20 2016-08-09 Telefonaktiebolaget Lm Ericsson (Publ) Sub-bitstream extraction
CN107801029B (zh) 2012-04-23 2020-06-05 太阳专利托管公司 编码方法及编码装置
PL3471419T3 (pl) * 2012-06-25 2023-07-17 Huawei Technologies Co., Ltd. Obrazy stopniowego dostępu do warstwy czasowej w kompresji wideo
EP2868103B1 (en) * 2012-06-29 2016-12-07 GE Video Compression, LLC Video data stream concept
EP2871567A4 (en) * 2012-07-06 2016-01-06 Samsung Electronics Co Ltd METHOD AND APPARATUS FOR ENCODING MULTILAYER VIDEO, AND METHOD AND APPARATUS FOR DECODING MULTILAYER VIDEO
EP2870762A4 (en) * 2012-07-06 2016-03-02 Sharp Kk ELECTRONIC DEVICES FOR SIGNALING REFERENCE FIXED DECODER PARAMETERS BASED ON SUB-IMAGES
US9479774B2 (en) 2012-09-24 2016-10-25 Qualcomm Incorporated Buffering period and recovery point supplemental enhancement information messages
US9351005B2 (en) 2012-09-24 2016-05-24 Qualcomm Incorporated Bitstream conformance test in video coding

Also Published As

Publication number Publication date
JP6092398B2 (ja) 2017-03-08
SG11201501518XA (en) 2015-04-29
RU2646378C2 (ru) 2018-03-02
TW201419859A (zh) 2014-05-16
EP2898684B1 (en) 2019-05-01
HUE055800T2 (hu) 2021-12-28
AU2013317764A1 (en) 2015-03-19
IL237681B (en) 2018-08-30
SG11201501519QA (en) 2015-04-29
TW201415902A (zh) 2014-04-16
SG11201501520YA (en) 2015-04-29
AR093287A1 (es) 2015-05-27
ES2739225T3 (es) 2020-01-29
PH12015500537A1 (en) 2015-05-04
IL237682A (en) 2017-08-31
CN104662915A (zh) 2015-05-27
HK1207776A1 (en) 2016-02-05
IL237681A0 (en) 2015-04-30
PH12015500580A1 (en) 2015-05-11
AU2013317765B2 (en) 2017-08-03
TW201424396A (zh) 2014-06-16
CA2884447A1 (en) 2014-03-27
JP2015533059A (ja) 2015-11-16
RU2015115466A (ru) 2016-11-20
PH12015500593B1 (en) 2015-05-11
JP6239627B2 (ja) 2017-11-29
ZA201502491B (en) 2017-06-28
US20140086340A1 (en) 2014-03-27
WO2014047586A1 (en) 2014-03-27
EP2898683A1 (en) 2015-07-29
WO2014047577A1 (en) 2014-03-27
BR112015006479A2 (pt) 2017-07-04
KR20150060857A (ko) 2015-06-03
BR112015006486B1 (pt) 2022-08-09
BR112015006488B1 (pt) 2022-08-09
KR20150063455A (ko) 2015-06-09
RU2628215C2 (ru) 2017-08-15
ES2884724T3 (es) 2021-12-10
CA2883898C (en) 2018-08-28
JP2015533056A (ja) 2015-11-16
HUE044912T2 (hu) 2019-11-28
BR112015006488A2 (pt) 2017-07-04
RU2628196C2 (ru) 2017-08-15
WO2014047580A1 (en) 2014-03-27
RU2015115513A (ru) 2016-11-20
AU2013317758A1 (en) 2015-04-23
AU2013317761A1 (en) 2015-03-19
AU2013317764B2 (en) 2017-08-24
RU2015115465A (ru) 2016-11-20
ZA201502641B (en) 2017-11-29
TWI555382B (zh) 2016-10-21
BR112015006480A2 (pt) 2017-07-04
US9503753B2 (en) 2016-11-22
IL237697A (en) 2017-08-31
CN104662917B (zh) 2018-02-16
PH12015500510B1 (en) 2015-04-27
PH12015500479B1 (en) 2015-04-20
WO2014047583A1 (en) 2014-03-27
IL237680A0 (en) 2015-04-30
BR112015006486A2 (pt) 2017-07-04
UA114930C2 (uk) 2017-08-28
TW201424394A (zh) 2014-06-16
RU2630374C2 (ru) 2017-09-07
MY172354A (en) 2019-11-21
CN104662916A (zh) 2015-05-27
JP2015533057A (ja) 2015-11-16
JP6224109B2 (ja) 2017-11-01
UA116997C2 (uk) 2018-06-11
KR101773268B1 (ko) 2017-08-31
AU2013317763A1 (en) 2015-03-19
HUE052209T2 (hu) 2021-04-28
CN104662915B (zh) 2018-04-10
AR093286A1 (es) 2015-05-27
EP2898687A1 (en) 2015-07-29
CN104662916B (zh) 2019-01-11
US9479773B2 (en) 2016-10-25
MY181707A (en) 2021-01-04
KR101788416B1 (ko) 2017-10-19
PH12015500479A1 (en) 2015-04-20
RU2015115463A (ru) 2016-11-20
HK1206524A1 (en) 2016-01-08
US9648352B2 (en) 2017-05-09
EP2898683B1 (en) 2021-08-11
RU2015115518A (ru) 2016-11-20
AU2013317767A1 (en) 2015-03-19
CA2884289A1 (en) 2014-03-27
HK1206177A1 (en) 2015-12-31
BR112015006481A2 (pt) 2017-07-04
EP2898686B1 (en) 2021-04-07
AR093239A1 (es) 2015-05-27
BR112015006492B1 (pt) 2022-08-02
CN104704840B (zh) 2019-04-05
US20140086344A1 (en) 2014-03-27
BR112015006481B1 (pt) 2022-08-09
SG11201501578QA (en) 2015-04-29
TWI581611B (zh) 2017-05-01
US9654802B2 (en) 2017-05-16
BR112015006479B1 (pt) 2022-08-09
CA2884302A1 (en) 2014-03-27
PH12015500511A1 (en) 2015-04-27
MX2015003694A (es) 2015-06-15
AU2013317758B2 (en) 2017-07-06
CN104662919B (zh) 2018-10-30
CN104704840A (zh) 2015-06-10
KR20150060855A (ko) 2015-06-03
HK1206527A1 (en) 2016-01-08
EP2898686A1 (en) 2015-07-29
PH12015500580B1 (en) 2015-05-11
CA2884286A1 (en) 2014-03-27
SG11201501580RA (en) 2015-04-29
RU2641475C2 (ru) 2018-01-17
TWI569626B (zh) 2017-02-01
ZA201502492B (en) 2017-11-29
TW201415901A (zh) 2014-04-16
EP2898687B1 (en) 2022-04-20
JP2015529438A (ja) 2015-10-05
CN104662917A (zh) 2015-05-27
TW201424395A (zh) 2014-06-16
AU2013317767B2 (en) 2017-02-23
BR112015006480B1 (pt) 2022-08-09
AU2013317763B2 (en) 2017-12-07
MY182448A (en) 2021-01-25
DK2898685T3 (da) 2021-02-22
CA2884286C (en) 2018-11-06
HK1207928A1 (en) 2016-02-12
DK2898683T3 (da) 2021-09-20
WO2014047582A1 (en) 2014-03-27
TWI530197B (zh) 2016-04-11
RU2627098C2 (ru) 2017-08-03
MY171506A (en) 2019-10-16
IL237680B (en) 2018-05-31
TWI524779B (zh) 2016-03-01
EP2898681B1 (en) 2021-07-28
US20140086342A1 (en) 2014-03-27
US20140086343A1 (en) 2014-03-27
CA2884447C (en) 2020-02-18
HUE058715T2 (hu) 2022-09-28
TWI574549B (zh) 2017-03-11
SG11201501576RA (en) 2015-05-28
ES2855129T3 (es) 2021-09-23
PH12015500593A1 (en) 2015-05-11
MX341441B (es) 2016-08-18
CA2884302C (en) 2018-11-06
EP2898685B1 (en) 2020-12-02
KR101760195B1 (ko) 2017-07-20
PH12015500537B1 (en) 2015-05-04
JP2015533060A (ja) 2015-11-16
JP2015533058A (ja) 2015-11-16
US9479774B2 (en) 2016-10-25
CA2884298A1 (en) 2014-03-27
IL237679A0 (en) 2015-04-30
IL237679A (en) 2017-09-28
KR20150060854A (ko) 2015-06-03
MY181871A (en) 2021-01-11
EP2898681A1 (en) 2015-07-29
CN104662919A (zh) 2015-05-27
KR102149072B1 (ko) 2020-08-27
ES2913456T3 (es) 2022-06-02
AU2013317765A1 (en) 2015-03-19
PH12015500511B1 (en) 2015-04-27
KR101743850B1 (ko) 2017-06-05
JP6239626B2 (ja) 2017-11-29
US9491456B2 (en) 2016-11-08
IL237682A0 (en) 2015-04-30
AU2013317761B2 (en) 2017-12-07
CN104662918B (zh) 2018-04-06
WO2014047584A1 (en) 2014-03-27
BR112015006492A2 (pt) 2017-07-04
RU2015115521A (ru) 2016-11-20
CA2884289C (en) 2020-06-16
ZA201502382B (en) 2019-10-30
EP2898685A1 (en) 2015-07-29
KR20150063454A (ko) 2015-06-09
MY169387A (en) 2019-03-26
KR102244410B1 (ko) 2021-04-23
EP2898684A1 (en) 2015-07-29
HK1208581A1 (en) 2016-03-04
CN104662918A (zh) 2015-05-27
KR20150060856A (ko) 2015-06-03
SG10201707888PA (en) 2017-10-30
JP6121539B2 (ja) 2017-04-26
US20140086332A1 (en) 2014-03-27
US20140086341A1 (en) 2014-03-27
PH12015500510A1 (en) 2015-04-27
CA2884298C (en) 2020-04-28
IL237696A (en) 2017-09-28
CA2883898A1 (en) 2014-03-27

Similar Documents

Publication Publication Date Title
ES2885527T3 (es) Tiempos de eliminación del almacenamiento temporal de las imágenes codificadas independientes de la unidad de acceso 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
ES2928690T3 (es) Almacenamiento en memoria intermedia de vídeo con bajo retardo en la codificación de video
ES2707892T3 (es) Operaciones de almacenamiento en memoria intermedia de vídeo para acceso aleatorio en la codificación de vídeo