MX2014008695A - Concepto de codificacion permitiendo el procesamiento paralelo, demultiplexor de transporte y tren de bits de video. - Google Patents

Concepto de codificacion permitiendo el procesamiento paralelo, demultiplexor de transporte y tren de bits de video.

Info

Publication number
MX2014008695A
MX2014008695A MX2014008695A MX2014008695A MX2014008695A MX 2014008695 A MX2014008695 A MX 2014008695A MX 2014008695 A MX2014008695 A MX 2014008695A MX 2014008695 A MX2014008695 A MX 2014008695A MX 2014008695 A MX2014008695 A MX 2014008695A
Authority
MX
Mexico
Prior art keywords
wpp
portions
subtrenes
slabs
image
Prior art date
Application number
MX2014008695A
Other languages
English (en)
Other versions
MX350507B (es
Inventor
Detlev Marpe
Valeri George
Heiner Kirchhoffer
Anastasia Henkel
Thomas Schierl
Karsten Grüneberg
Original Assignee
Fraunhofer Ges Zur Förderung Der Angewandten Forschung E V
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 Fraunhofer Ges Zur Förderung Der Angewandten Forschung E V filed Critical Fraunhofer Ges Zur Förderung Der Angewandten Forschung E V
Publication of MX2014008695A publication Critical patent/MX2014008695A/es
Publication of MX350507B publication Critical patent/MX350507B/es

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/436Methods 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 using parallelised computational 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/65Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience
    • 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

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)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Color Television Systems (AREA)
  • Television Signal Processing For Recording (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Time-Division Multiplex Systems (AREA)

Abstract

Una carga útil de secuencias de bytes en bruto describiendo una imagen en los sectores, los subtrenes o las losas del WPP, y codificada usando la codificación aritmética binaria adaptiva basada en el contexto, es subdividida o cortada en porciones, con la continuación de la adaptación de la probabilidad de la codificación aritmética binaria adaptiva basada en el contexto, a través de los límites de las porciones. Mediante esta medida, los límites de las porciones introducidos adicionalmente dentro de los sectores, los subtrenes o las losas del WPP, no conducen a una reducción en la eficiencia de la codificación entrópica de estos elementos. Por el otro lado, sin embargo, las porciones son más pequeñas que los sectores originales, los subtrenes o las losas del WPP y, en consecuencia, ella puede ser transmitidas más temprano, por ejemplo, con retraso más bajo, que las entidades originales no cortadas, por ejemplo, los sectores, los subtrenes o las losas del WPP. De acuerdo con otro aspecto, el cual se puede combinar con el primer aspecto, las unidades de la NAL de los marcadores de subtrenes son usadas dentro de una secuencia de unidades de la NAL de un tren de bits de vídeo, con el fin de permitir a un demultiplexor de transporte de asignar los datos de los sectores dentro de las unidades de la NAL, con los correspondientes subtrenes o las losas, así como para ser capaz de, en paralelo, servir a un decodificador multihilos con los correspondientes subtrenes o losas.

Description

CONCEPTO DE CODIFICACION PERMITIENDO EL PROCESAMIENTO PARALELO. DEMULTIPLEXOR DE TRANSPORTE Y TREN DE BITS DE VIDEO La presente invención está relacionada con los conceptos de codificación permitiendo un procesamiento paralelo, tal como en la HEVC {codificación de vídeo de alta eficiencia) en desarrollo, un demultiplexor de transporte y un tren de bits de vídeo.
La paralelización del codificador y decodificador es muy importante debido a los requerimientos del procesamiento incrementados por el estándar de la HEVC, así como también por el incremento esperado de la resolución del vídeo. Las arquitecturas multi-núcleo se están volviendo disponibles en un amplio rango de dispositivos electrónicos modernos. Consecuentemente, son requeridos los métodos eficientes para permitir el uso de las arquitecturas de núcleo múltiple.
La codificación o la decodificación de las LCUs {unidades codificadoras más grandes) ocurren en barrido reticular, mediante el cual las probabilidades de la CABAC {codificación aritmética binaria adoptiva basada en el contexto) están adaptadas a las especificidades de cada imagen. Las dependencias espaciales existen entre las LCUs adyacentes. Cada LCU depende de sus LCUs vecinas a la izquierda, arriba, izquierda arriba y derecha arriba, debido a los diferentes componentes, por ejemplo, el vector de movimiento, la predicción, la intra-predicción y otros. Con el fin de permitir la paralelización en la decodificación, estas dependencias necesitan, típicamente, ser interrumpidas o están interrumpidas en las aplicaciones del estado actual del arte.
Algunos conceptos de la paralelización, a saber el procesamiento del frente de onda usando sectores entrópicos [3], las operaciones del procesamiento paralelo del frente de onda (WPP) usando los subtrenes [2] [4], [11], o las losas [5] han sido propuestos. Estos últimos no necesitan de ser combinados, de forma necesaria, con el procesamiento del frente de onda para permitir la paralelización en el decodificador o el codificador. Desde este punto de vista, las losas son similares a los subtrenes del WPP. Nuestro motivador inicial para el estudio ulterior del concepto sector entrópico, es la realización de técnicas, las cuales reducen la pérdida de la eficiencia de codificación y, por consiguiente, reducen la carga sobre el tren de bits para las aproximaciones de la paralelización en el codificador y el decodificador.
Con el fin de proveer un mejor entendimiento, en particular del uso de las LCUs, uno puede primero echar una mirada en la estructura de H.264/AVC [1].
Una secuencia de vídeo codificada en H.264/AVC consta de una serie de unidades de acceso, que son recolectadas en el tren específico de la NAL (capa de abstracción de red), y ellas usan solamente un conjunto de parámetros secuencia. Cada secuencia de vídeo puede ser decodificada de forma independiente. Una secuencia codificada consta de una secuencia de imágenes codificadas. Un cuadro codificado puede ser un cuadro entero o un campo individual. Cada imagen está separada en macrobloques de tamaño fijo (en HEVC[5]: LCUs). Varios macrobloques o LCUs pueden ser mezclados entre sí en un sector. Una imagen es, por lo tanto, una recolección de uno o más sectores. La meta de esta separación de datos es la de permitir una decodificación independiente de las muestras en el área de la imagen, la cual está representada por el sector, sin el uso de los datos de otros sectores.
Una técnica que a menudo es referida como "sectores entrópicos" [3], es una separación del sector tradicional en subsectores adicionales. Específicamente, esto significa la sectorización de los datos entrópicos codificados de un sector individual. La disposición de los sectores entrópicos en un sector puede tener diferentes variedades. La más simple es el uso de cada fila de las LCUs/los macrobloques en un cuadro como un sector entrópico. Las columnas o las regiones separadas alternativas pueden ser utilizadas como sectores entrópicos, los cuales incluso pueden ser interrumpidos y alternado el uno con el otro, por ejemplo, sector 1 en la Figura 1.
Un objetivo obvio del concepto sector entrópico es el de permitir el uso de CPU/GPU paralelos y las arquitecturas multi-núcleo, con el fin de mejorar el tiempo de el proceso de decodificación, por ejemplo, para acelerar el proceso. El sector actual puede ser en particiones que pueden ser analizadas de forma sintáctica y reconstruida sin referencia con los otros datos del sector. Aunque un par de ventajas puede ser logrado con la aproximación al sector entrópico, emergiendo con ello algunas desventajas.
El concepto de sector entrópico ha sido extendido ulteriormente el procesamiento del frente de onda (WPP) del subtren como propuesto en [2], [10], [11] y parcialmente integrado en [5]. Aquí está definido un esquema de repetición de los subtrenes. El cual si tiene una inicialización en estado entrópico mejorada por línea, comparado con los sectores entrópicos.
El concepto de losa permite la separación de la información de la imagen a ser codificada, mientras que cada losa tiene su propio orden de barrido reticular. Una losa está definida por una estructura común, la cual es repetida en el cuadro. Una losa también puede tener un cierto ancho de columna y una altura de línea en términos de LCUs o CUs. Las losas también pueden ser codificadas de forma independiente, y también pueden ser codificadas en una forma que ellas no requieren de un procesamiento de unión con las otras losas, de manera que los hilos del decodificador pueden procesar las losas de una unidad de acceso completamente, o al menos por algunos pasos de operación de codificación en una forma independiente, por ejemplo, la codificación entrópica y la codificación de transformación.
Por lo tanto, una losa permite poner en marcha, de forma extraordinaria, los codificadores de la losa, así como también los decodificadores independientes, completamente o de forma parcial, en una forma paralela hacia arriba, en el último caso, por ejemplo, hacia la etapa de filtrado del códec de la HEVC.
Con el fin de hacer uso completo de las técnicas de paralelización en la captura, la codificación, la transmisión, la decodificación y la cadena de presentación de un sistema de comunicación de vídeo o los sistemas similares, el transporte de y el acceso a los datos entre los participantes de las comunicaciones, es un paso importante y que requiere de mucho tiempo para la completa inyección retardada de extremo a extremo. Esto es especialmente un problema, si se usan las técnicas de paralelización, tal como las losas, los subtrenes o los sectores entrópicos.
Las aproximaciones de datos de los subtrenes del WPP implican que los datos codificados de las particiones, si son procesados, no tienen localidad de datos, por ejemplo, un hilo individual decodificando la unidad de acceso, necesita saltar sobre las porciones de memoria potencialmente grandes, con el fin de acceder a los datos de la siguiente línea de subtren del WPP. Un sistema decodificador multihilos necesita esperar para la transmisión de ciertos datos, por ejemplo, los subtrenes del WPP, con el fin de trabajar en una forma completamente paralelizada, explotando de esa forma el procesamiento del frente de onda.
En la retransmisión de vídeo, la posibilidad de resoluciones más altas (Full-HD, QUAD-HD etc.) conduce a cantidades más grandes de datos que han de ser transmitidas. Para los escenarios sensibles respecto al tiempo, el así llamado caso de uso de retardo bajo, tal como la videoconferencia (<145 ms) o las aplicaciones de juegos, (<40 ms) son requeridas demoras de extremo a extremo muy bajas. Por lo tanto, el tiempo de transmisión se vuelve en un factor crítico. Considerar el enlace para la subida de la ADSL (línea de abonado digital asimétrica) para una aplicación de una videoconferencia. Aquí, los así llamados puntos de acceso aleatorios del flujo, estos se refieren usualmente a los cuadros I, serán los candidatos para causar un cuello de botella durante la transmisión.
La HEVC posibilita el así llamado procesamiento del frente de onda, así como también el procesamiento de la losa en el codificador, así como también el lado del decodificador. Esto está posibilitado mediante el uso de los sectores entrópicos, los subtrenes del WPP o incluso la combinación de ellos. El procesamiento paralelo también está permitido mediante la codificación y la decodificación de la losa en paralelo.
En el caso "objetivación de no paralelización", los datos de un sector completo podrían ser entregados enseguida, por consiguiente, la última CU de los sectores es accesible mediante el decodificador si ellos han sido transmitidos. Esto no es un problema, si existe un decodificador de hilo individual.
En el caso del multihilos, si pueden ser usados múltiples CPUs (unidades centrales de procesamiento) o núcleos, el proceso de decodificación quisiera, sin embargo, de iniciar tan pronto cuando los datos codificados han arribado al decodificador del frente de onda o a los hilos del decodificador de la losa.
Por consiguiente, podría ser favorable de tener conceptos a la mano los cuales permiten la reducción del retraso en la codificación, en los entornos del procesamiento paralelo, con reducciones menos severas en la eficiencia de la codificación.
En consecuencia, es un objetivo de la presente invención el de proveer un concepto de codificación, un concepto de demultiplexación del transporte y un tren de bits de vídeo, los cuales permiten tal codificación de retardo bajo, más eficiente, en los entornos del procesamiento paralelo.
Este objetivo es logrado mediante el tema en cuestión de las reivindicaciones independientes adjuntas.
De acuerdo con un primer aspecto de la presente solicitud, una carga útil de secuencia de bytes en bruto describiendo una imagen en sectores, los subtrenes o las losas del WPP y codificados usando codificación aritmética binaria adaptiva basada en el contexto, está subdividida o cortada en porciones con la continuación de la adaptación de la probabilidad de la codificación aritmética binaria adaptiva basada en el contexto, a través de los límites de las porciones. Mediante esta medida, los límites de las porciones, introducidos adicionalmente dentro de los sectores, los subtrenes o las losas del WPP, no conducen a una reducción en la eficiencia de la codificación entrópica de estos elementos. Por el otro lado, sin embargo, las porciones son más pequeñas que los sectores originales, los subtrenes o las losas del WPP y, en consecuencia, ellas pueden ser transmitidas más temprano, por ejemplo, con retraso más bajo, que las entidades originales no cortadas, por ejemplo, los sectores, los subtrenes o las losas del WPP.
De acuerdo con un otro aspecto, el cual se puede combinar con el primer aspecto, las unidades de la NAL marcadoras de subtrenes son usadas dentro de una secuencia de las unidades de la NAL de un tren de bits de vídeo, con el fin de habilitar un demultiplexor de transporte para asignar los datos de los sectores dentro de las unidades de la NAL, con los correspondientes subtrenes o losas, así como para ser capaces, en paralelo, de servir un decodificador multihilos con los correspondientes subtrenes o losas.
Las implementaciones ventajosas son el objetivo de las reivindicaciones dependientes. Además, las puestas en práctica preferidas de la presente invención están explicadas en forma detallada más adelante con respecto a las figuras, entre las cuales La Figura 1 muestra una vista esquemática ilustrando los posibles compuestos de los sectores entrópicos; La Figura 2 muestra una vista esquemática ilustrando tres losas distribuidas sobre tres sectores; La Figura 3 muestra una vista esquemática ilustrando un ejemplo de entrelazado de las porciones de un esquema de entrelazado cíclico de porciones de cuatro longitudes variables; La Figura 4 muestra una vista esquemática ilustrando una codificación, una segmentación, un entrelazado y una decodificación de los datos del sector entrópico; La Figura 5 muestra una vista esquemática ilustrando un ejemplo de entrelazado de las partes, del esquema de entrelazado cíclico de porciones de cuatro longitudes variables, usando siempre códigos marcadores y la distribución de los datos actuales del sector sobre múltiples unidades de la NAL. Los códigos marcadores son usados, incluso si la partición no está presente. Esto puede ser aumentado ulteriormente usando un identificador de partes, siguiendo el marcador, indicando el número de la parte. Esto obsoleta la necesidad de enviar siempre un marcador, como requerido para el modo cíclico; La Figura 6A-B muestra una tabla de pseudocódigos ilustrando la sintaxis de la unidad de la NAL; La Figura 7 muestra una tabla de pseudocódigos ilustrando la sintaxis de un conjunto de parámetros secuencia; La Figura 8 muestra una tabla de pseudocódigos ilustrando la sintaxis de una RBSP de capa de sector de retraso bajo; La Figura 9 muestra una tabla de pseudocódigos ilustrando la sintaxis de un encabezado del sector; La Figura 10 muestra una tabla de pseudocódigos ilustrando la sintaxis de un marcador de subtren; La Figura 11 muestra una vista esquemática ilustrando un ejemplo para un encapsulado simple de los datos del sector entrópico. (AF es el campo de adaptación de MPEG-2 TS); La Figura 12 muestra una vista esquemática ilustrando otro ejemplo para un encapsulado simple ES de los datos del sector entrópico; La Figura 13 muestra una vista esquemática ilustrando otro ejemplo para un encapsulado Multi-ES compactado de los datos del sector entrópico; La Figura 14 muestra un diagrama de bloques esquemático mostrando un demultiplexor de transporte para ES individual; y La Figura 15 muestra un diagrama de bloques esquemático mostrando un demultiplexor de transporte para multi-ES.
La Figura 16 muestra un diagrama de bloques esquemático mostrando un codificador; La Figura 17 muestra un diagrama de bloques esquemático mostrando un decodificador; La Figura 18 muestra un diagrama de tren de los pasos realizados por el decodificador; y La Figura 19 muestra una vista esquemática ilustrando un ejemplo para multi-ES usando TP {protocolo de transporte en tiempo real).
Con el fin de reducir el tiempo, en el cual un hilo de decodificador paralelo puede arrancar y finalizar sus datos de un cuadro, las puestas en práctica más adelante usan una segmentación de los datos, estructurados para la paralelización, tal como los datos de una o más de las losas o los datos de uno o más de los subtrenes del WPP en porciones pequeñas, mediante una aproximación de entrelazado de retraso bajo.
Por lo tanto, el codificador puede entregar datos, correspondientes a un conjunto particular de las LCUs, o al menos la porción alineada de bytes de un subtren o losa, o porciones de ellos, en la forma de una porción para el decodificador a través del trayecto de transmisión desde el codificador hasta el decodificador.
Puesto que las porciones son más pequeñas que el subtren o la losa del WPP completo, y/o pueden ser adaptadas a la unidad de transferencia máxima (MTU) actual del trayecto de transmisión, de manera que las porciones de los subtrenes o las losas del WPP múltiple pueden estar dispuestas en una unidad de transferencia, entre el codificador y el decodificador, antes de la finalización de la unidad de acceso completa, decodificando en el lado de decodificación, pueden ser arrancadas significativamente más temprano que si se usa una transmisión secuencial de los subtrenes o las losas del WPP completa de una unidad de acceso.
Esto obviamente tiene por resultado la transmisión más rápida de las porciones, y un arranque más temprano de un proceso de decodificación paralelo en el decodificador. La aproximación también puede ser aplicada sobre los límites del cuadro, en caso, si los siguientes sectores del cuadro o los sectores entrópico pueden ser ya decodificado, por ejemplo, en la manera del frente de onda, basada en el conocimiento que la información requerida para la decodificación de un sector entrópico de un siguiente cuadro, debido a la disponibilidad de las referencias entre cuadros. Aquellos datos ya decodificables de un cuadro sucediendo en el orden de decodificación, puede ser derivado del largo del vector de movimiento máximo permitido/señalizado, o la información adicional en el tren indicando las dependencias de las porciones de los datos para los cuadros precedentes, o un esquema de referencia fijo, indicando la posición usada señalizada en una posición de secuencia fija, tal como un conjunto de parámetros.
Una imagen puede ser codificada con un sector entrópico por fila o filas de la unidad codificadora más grande (LCU), o usando subtren del WPP, o incluso una combinación como un subtren del WPP por fila, la cual puede estar contenida ulteriormente en un sector entrópico separado. Tales estructuras de datos son necesarias para hacer uso de la técnica de procesamiento del frente de onda en el lado del decodifícador. O las losas pueden ser usadas para permitir el procesamiento paralelo.
Durante el proceso de codificación, el tren de bits de cada sector, conteniendo los datos de los trenes o las losas del WPP, puede ser dividido en porciones de tamaño variable para coincidir con el tamaño de unidad de transferencia máximo, entre el codificador y el decodifícador. Después, las porciones resultantes son entrelazadas y pueden ser pasadas para la transmisión, y puestas en paquetes del tamaño de la MTU.
Con el fin de de permitir un procesamiento en el lado del decodifícador, delante o detrás de cada porción, puede ser insertado un código marcador. Un código marcador apropiado para HEVC puede ser "0x00 00 02", el cual podría incluso pasar la prevención de emulación del código de arranque. Después de la recepción de un paquete incluyendo porciones múltiples, el receptor o el decodificador puede analizar el tren de bits contenido actual, durante el proceso de la prevención de emulación del código de arranque, con el fin de no requerir un paso de análisis adicional. Esto puede ser, por ejemplo, dos modos para la identificación de la porción. Puede haber siempre una disposición cíclica de las porciones, comenzando desde la porción con tranche id (identificador de porciones) igual a 1 hasta porción con tranche id igual a n. Esto puede asegurar los datos de señalización para el segundo método general. Un método alternativo puede ser un encabezado específico siguiendo el marcador, indicando la tranche id, por ejemplo, como un valor de 8 bits.
El desentrelazado de los datos de la porción entrelazada puede ser aplicado basado en el conocimiento del número de porciones por paquete, el cual puede ser un paquete de unidad de NAL. Por lo tanto, puede haber adicionalmente un mapeo de los subtrenes o de las losas del WPP para las porciones. Este mapeo puede ser derivado implícitamente a partir del número de losas/el número de los subtrenes del WPP, o puede ser señalizado directamente en SPS. El mapeo es importante para el proceso de desentrelazado, de manera que los datos de ciertos subtrenes o losas del WPP pueden ser identificados y dispuestos para el frente de onda o el hilo del decodificador paralelo encargado de la decodificación del subtren o losa del WPP en cuestión.
Con el fin de informar al decodificador sobre el uso del esquema de entrelazado para el encapsulado de retraso bajo, debe haber un low_delay_flag en el encabezado de la unidad de NAL.
Otro modo puede ser un entrelazado y desentrelazado en la capa de transporte, por ejemplo, fuera del proceso de decodificación puede ser en la capa del RTP [8] [9] [13] o Tren de Transporte MPEG-2 [7]: Por lo tanto, un encabezado puede ser puesto al frente del paquete, indicando la presencia de una porción mediante una bandera, incluyendo una información del tamaño en bytes por porción presente. Puesto que la capa de transporte es desacoplada del proceso de decodificación, puede no existir la necesidad por la integración de un código marcador, ya que la información adicional de la capa de transporte necesita ser removida, de todas formas, antes de pasar aquellos datos hacia el decodificador. La capa de transporte entonces también reordena los datos para la entrega del tren de bits hacia el decodificador.
Un encabezado de longitud variable, puede ser usado sobre una capa de multiplexión extra. Esta capa de multiplexión también puede ser parte del códec (codificador-decodificador) y puede ser introducido antes que los actuales datos de la carga útil de secuencia de bytes en bruto (RBSP) accedan al decodificador. Un esquema de encabezado puede ser encontrado en la Figura 3. Pero también puede haber un encabezado directamente en el frontis de cada porción, indicando la longitud, así como también su indicador. Donde todavía existe la necesidad de realizar un mapeo del indicador hacia las estructuras del tren de bits, como ya se ha establecido anteriormente.
El tamaño de la porción también puede ser de tamaño constante, por ejemplo, x bytes por porción. Esto tiene por resultado a esquema de multiplexión simple, tal como se muestra en la Figura 4.
El tamaño constante de los segmentos puede acarrear un problema al final del tren de bits, debido a su longitud variable.
Estas son dos posibles soluciones generales. La primera es una generación de los segmentos de x-bytes cíclicos (usualmente la representación del tren de bits del sector está alineada respecto a los bytes), y controlando el consumo de los bytes por cada motor del decodificador, por ejemplo, el decodificador descubre la completación de un sector entrópico o incluyendo un código marcador.
El segundo método son las longitudes de la porción de señalización, si las porciones son de una longitud variable en un encabezado, como se muestra en la figura.
El tamaño del segmento y el modo de entrelazado pueden ser señalizados ya sea en un mensaje de SEI o en SPS.
El esquema de transmisión se muestra en la Figura 4.
Otro método interesante es usando los códigos de finalización o los códigos marcadores al final del conjunto de porciones en el paquete, tal como el paquete de NAL o del sector. En este caso, los segmentos de longitud variable son posibles, por consiguiente es requerido un análisis completo del tren de bits. Con el fin de limitar el acceso a la memoria aquí, este proceso de análisis adicional para la multiplexión puede ser combinado con el análisis de la prevención de emulación del código de arranque, requerido como el primer paso antes del acceso a los datos de la RBSP contenidos en una unidad de NAL. Tal un esquema marcador se muestra en la Figura 5.
La idea es aquí de separar en una manera el entrelazado, una estructura de nivel más alto, tal como un sector actual, sector entrópico o similar, en su estructura de datos de nivel más bajo contenida, tal como los subtrenes o las losas del WPP, mientras son entrelazados los datos en las porciones. Estas porciones, cada una perteneciendo a una estructura de nivel más bajo, por ejemplo, un subtren o una losa específicos del WPP, son entrelazados en un paquete de retraso bajo, el cual puede ser una unidad específica de NAL, una unidad de NAL con señalización adicional mediante una bandera de entrelazado de retraso bajo, o incluso un sector o encabezado del sector ponderado ligero, indicando la aproximación del entrelazado de retraso bajo mediante una bandera o el tipo de sector, como mostrado para "NAL unit #1" (unidad #1 de NAL) en la figura, por consiguiente, el decodificador es informado de aplicar una función de reordenamiento para un decodificador de hilo "individual", que está usando un procesamiento secuencial de las porciones en el orden original/desentrelazado en el decodificador. Con el fin de dividir los datos de un sector actual como porciones entrelazadas sobre múltiples paquetes, con el fin de ganar la característica de retraso bajo, una capa de transporte puede fragmentar la unidad de NAL, conteniendo los datos entrelazados de retraso bajo, en paquetes de redes de tamaño de MTU máximo. La fragmentación de los datos actuales del sector en múltiples unidades de la NAL, también puede ser aplicada directamente por la capa de codificación, por consiguiente, existe una necesidad de señalizar tal tipo de unidad de NAL conteniendo la continuación de un sector, como se muestra en la Figura 5 para "NAL unit #2" {unidad #2 de NAL). Con el fin de detectar la finalización de los datos entrelazados en múltiples paquetes, tal como las unidades de NAL, puede existir la necesidad de un código de finalización específico, como también se muestra para "NAL unit #2" {unidad #2 de NAL) en la figura, o una bandera la cual indica la completación en el sector o el encabezado de NAL.
En el caso de la pérdida de los paquetes de NAL, existe también una necesidad por la detección de las pérdidas. Esto puede ser aplicado mediante la información adicional en el encabezado, por ejemplo, el encabezado del sector ponderado ligero, tal como las primeras memorias intermedias de multiplexación (MBs) de las porciones contenidas, o solamente de una porción #1 específica. Teniendo la información, tal como los desplazamientos para los subtrenes del WPP o el tamaño actual de la porción, alguien puede también usar estos valores de tamaño (valores de desplazamiento para un subtren o una losa del WPP específicos), con el fin de hacer una revisión de estado después de la recepción de la unidad de NAL, con el código de finalización y las unidades de la NAL precedentes.
Es decir, como descrito, las porciones pueden ser compactadas en paquetes 300 en una forma, de manera que cada paquete 300 comprende una porción T# de cada subtren o losa del WPP de la imagen, o un subconjunto de los subtrenes o de las losas del WPP de la imagen (debido a que, por ejemplo, un cierto subtren o cierta losa del WPP ya han sido completamente transportados por la vía de los paquetes precedentes), dispuestos en un orden # definido entre los subtrenes o las losas del WPP, comprendiendo cada paquete un encabezado 302, que comprende la información revelando las posiciones y/o las longitudes de las porciones T# compactadas dentro del respectivo paquete 300, o los marcadores 304 separando las porciones T# dentro del respectivo paquete 300, el uno del otro, donde el decodificador puede ser configurado para, al recibir la carga útil de secuencia de bytes en bruto, usar la información comprendida por el encabezados 302 o los marcadores 304, así como para acceder a las porciones dentro de los paquetes. Los paquetes 300a los cuales comprenden primero - de acuerdo con el orden definido entre los subtrenes o las losas del WPP - las porciones de los subtrenes o de las losas del WPP de la imagen, pueden comprender un indicador 306 de característica de retraso bajo, y los paquetes 300b comprendiendo segundo o subsiguiente - de acuerdo con el orden definido entre los subtrenes o las losas del WPP - las porciones T# de los subtrenes o de las losas del WPP de la imagen, puede comprender a indicador 308 de continuación. Los paquetes 300 pueden ser los sectores o las unidades de la NAL.
En lo siguiente, está provisto un ejemplo de la señalización de la sintaxis y la semántica para el entrelazado de retraso bajo dentro de las porciones.
No obstante, la separación de los datos de la porción, tal como los datos de un subtren o una losa del WPP, también puede ser aplicada a nivel de sector o más abajo, como determinado anteriormente.
Ahora, se muestra una aproximación, la cual puede ser combinada con el análisis para la prevención de emulación del código de arranque, con el fin de reducir los pasos de procesamiento adicionales. Por lo tanto, un entrelazado es aplicado a nivel de la RBSP del códec de la HEVC.
Una porción puede ser vista como la separación de los datos de la RBSP en las secciones a ser entrelazadas en la sección de carga útil de la unidad de NAL para el acceso a los datos de retraso bajo. La finalización de una porción puede ser indicada mediante el código 0x000002, y puede ser seguida por un identificador de porciones tranche_id de 8 bit. Las porciones pueden ser entrelazadas en una forma cíclica, de manera que el código final de la porción no es seguido por la tranche id, el cual es derivado implícitamente. Los datos de la RBSP en una porción individual corresponden ya sea a los datos de una losa, los datos de un subtren, los datos de un sector o los datos de un sector entrópico.
En la sintaxis de la unidad de la NAL, dos modos pueden ser permitidos para el entrelazado de retraso bajo, como indicado mediante la "low delay encapsulation_flag", que es una disposición cíclica de las porciones, así como también una indicación de la porción a través de un identificador adicional "tranche_id", siguiendo el codificador marcador a través de una bandera, tal como la "low delay cyclic flag" en el encabezado de la unidad de NAL. Estas dos banderas también pueden estar presentes en los Conjuntos de Parámetros Secuencia, o incluso el APS. Para las disposiciones de la porción cíclica, puede existir todavía la necesidad por el conocimiento del número de porciones durante el análisis, tal como provisto en el SPS como "num_low_delay_tranches".
En la unidad de NAL, los "LD_rbsp_byte"s entrelazados son leídos por el analizador como un reordenamiento respecto al actual, orden secuencial de la RBSP en el último for-loop (para lazo) en la sintaxis de la NAL: for ( i= 0, i++, i<num_low_delay_tranches){ for ( j= 0, j++, j <NumBytesInRBSP[i] ){ rbsp_byte[ NumBytesInRBSP++ ] = LD_rbsp_byte[j][i] } También puede haber una señalización explícita en el SPS o el APS, para un tamaño fijo de las porciones dispuestas cíclicamente como indicado en "low_delay_tranche_lenght_minusl". La última no ha sido usada en el ejemplo de la sintaxis de la unidad de NAL, pero es sencillo si tiene en mente una compactación una compactación como se muestra en la Figura 4. En la sintaxis de la unidad de NAL de la Figura 6A-B, lo básico fue una compactación como se muestra en la Figura 5 y discutida anteriormente.
Con el fin de permitir esta característica de entrelazado de las porciones sobre los paquetes múltiples, tal como los sectores y/o las unidades de la NAL, puede existir un requerimiento para una memoria intermedia global, tal como la matriz de LD_rbsp_byte para las porciones, con el fin de tener acceso repetido a los datos de la RBSP de las unidades de la NAL ya recibidas.
Con el fin de permitir la resiliencia a los errores, después de la recepción de un código de finalización, o si la suma del número de bytes recibidos para una porción es igual al tamaño de la porción, el cual puede ser derivado a partir de los valores de desplazamiento, como provisto para los datos contenidos en la porción, por ejemplo, a partir de los datos que conciernen al subtren o a la losa respectivos del WPP, cuya porción forma parte del tema.
Un requerimiento importante para los subtrenes del WPP dispuestos en las porciones de retraso bajo entrelazadas, es que mediante una porción n+1 solamente los datos de la porción n son accedidos, los cuales ya están provistos en la porción n, y ya están almacenados o disponibles en el decodificador.
La sintaxis de la RBSP de la capa del Sector de Retraso Bajo para el reordenamiento/desentrelazado en el nivel del sector podría ser diseñada como sigue. En particular, la sintaxis debiera en ese caso tener casi el mismo comportamiento como en cada unidad de NAL, pero el reordenamiento ha de ser definido en el nivel del sector. La Figura 8 muestra la sintaxis de la RBSP de la capa del Sector de Retraso Bajo.
En el caso de hacer uso del encabezado del sector para la compactación de las porciones entrelazadas, puede haber el requerimiento para indicar en nivel del códec, si se recibe un nuevo sector, de no restablecer el estado de la CABAC, puesto que la codificación entrópica de las porciones de, por ejemplo, un subtren del WPP, no debiera ser interrumpido. No restablecer la CABAC en un sector es indicado como "no cabac reset flag" en el encabezado del sector. El encabezado del sector mostrado es adecuado para los sectores de retraso bajo, por consiguiente, también las características de entropy slice debieran estar presentes. Una correspondiente sintaxis del encabezado del sector se muestra en la Figura 9.
La capa de transporte permite la optimización de la programación de los datos transmitidos hacia las unidades del decodificador, basado en el hecho si un número de subtrenes/losas/porciones (en la capa de transporte, nosotros asumimos una entidad abstracta que puede estar representada mediante un subtren, una losa, parte de un subtren o de una losa, o una parte del tren de bits, el cual tiene una función similar, por ejemplo, permite la decodificación paralela o el refrescamiento gradual del decodificador) en la capa de codificación puede ser procesado de forma independiente el uno del otro. Una posibilidad es la de arrancar el envío de las porciones en paralelo hacia varias unidades del decodificador con el mínimo retraso. El tren de bits consta de una secuencia de unidades de la NAL, las cuales son los ítemes más pequeños que pueden ser manejados individualmente sobre la capa de transporte. Consecuentemente, los siguientes métodos para el manejo sobre la capa de transporte están basados en los subtrenes/losas/porciones, los cuales están contenidos en sectores separados o sectores entrópicos de las unidades de la NAL.
La capa de transporte también debiera optimizar el rendimiento del decodificador y la resiliencia a los errores, basado en el hecho si la capa de codificación usa el refrescamiento gradual del decodificador. Una opción es la de dejar caer las partes irrelevantes del tren de bits si las previas partes del tren de bits no han sido recibidas correctamente, por ejemplo, debido a errores de transmisión, o no han sido recibidas del todo, por ejemplo, debido a un interruptor entre los canales de transporte.
Con el fin de permitir una tal explotación/optimización, diferente información es señalizada sobre la capa de transporte.
La información lateral general es señalizada usando los descriptores: - El número de los subtrenes/losas, donde "1" significa que hay solamente un tren/losa que contienen la imagen de vídeo completa - La información común para todos los subtrenes/las losas, por ejemplo, si todos los subtrenes/las losas son del mismo tamaño o los requerimientos de la memoria intermedia son los mismos - La información individual sobre cada subtren/losa, por ejemplo, si los subtrenes/las losas son de tamaño diferente o sus requerimientos de la memoria intermedia difieren - El número de los pasos del refrescamiento gradual del decodificador , donde "1" significa que el refrescamiento gradual del decodificador no es usado - Una bandera indicando si estos subtrenes/losas permiten el procesamiento paralelo de retraso bajo Si el número de los subtrenes/losas > 1, los elementos de la sintaxis son insertados en el tren antes de cada bloque de datos que contiene un cierto subtren/losa. Estos elementos de la sintaxis siguen la sintaxis de la unidad de la NAL, pero usan un tipo único de unidad de NAL, el cual no es usado por la capa de codificación (por ejemplo, nal unit type = 0 19 ó nal_unit_type=OxlF), en lo siguiente referidos como marcadores de subtren.
Estos elementos de la sintaxis son usados como marcadores y portan información sobre el bloque de datos que sigue, al menos un campo de datos el cual identifica el subtren/la losa.
Si el número de los pasos del refrescamiento gradual del decodificador > 1, estos elementos de la sintaxis también portan una bandera, la cual indica si el subtren/la losa están codificados intra (permite el refrescamiento gradual del decodificador).
Una sintaxis correspondiente se muestra en la Figura 10. Las siguientes restricciones podrían ser aplicadas: forbidden zero bit será igual a 0. nal_ref_flag será igual a 0. nal unit type será igual a 0x19. substream ID : valor contador comenzando con 0 para el primer sector que pertenece a una imagen, incrementado por cada otro sector o sector entrópico que pertenece a la misma imagen. is_intra: si T, la siguiente unidad de NAL contiene un sector codificado intra o un sector entrópico codificado intra.
Un método para el encapsulado del tren de vídeo en un multiplexor de transporte se muestra en la Figura 11, donde cada sector o sector entrópico es transportado separadamente en un número entero de paquetes del tren de transporte. Si el tamaño de la carga útil no coincide exactamente con los bytes disponibles en los paquetes de TS de tamaño fijo, el último paquete de TS contiene un campo de adaptación.
Debiera considerarse que un comportamiento similar del Tren Elemental del Tren de Transporte MPEG-2, también puede ser provisto por una Sesión del RTP o un tren del RTP, del Protocolo de Transporte en Tiempo Real como ilustrado en la Figura 19. En el RTP [8], un Tren del RTP (identificado mediante el tipo de medio y el tipo de carga útil, como indicado en el SDP [12]), puede estar contenido en su propia Sesión del RTP, donde una Sesión del RTP es identificada mediante la dirección de la red (IP), el puerto (UDP) así como el identificador (SSRC) de la fuente. Una sesión de medio como indicado en el SDP puede contener múltiples sesiones del RTP, conteniendo cada una un tipo de medio diferente. Pero también es posible de transportar el mismo tren de medios (por ejemplo, vídeo) en diferentes trenes del RTP, donde los trenes del RTP pueden estar contenidos en la misma sesión del RTP (análogo a 1. más adelante), o puede estar contenidos es sus propias sesiones del RTP (análogo a 2. más adelante). La Figura 19 ilustra el caso 2.
Los formatos [9][13] de la carga útil del RTP tienen un número de orden de decodificación (DON), los cuales permiten de recuperar el orden de decodificación de las unidades de la NAL en el receptor, en el caso que ellas son intencionalmente transmitidas fuera del orden de decodificación, para los propósitos de la resiliencia a los errores como descrito en [9][13]. Por lo tanto, los marcadores adicionales MKR no son necesarios. En el caso de las porciones de transporte de los subtrenes o de las losas del WPP, en el orden cuando se están volviendo disponibles a partir de los procesos de codificación, el DON también puede ser usado para recuperar el orden de decodificación de las porciones, antes de proveerlas con un decodificador individual. Pero en este caso, un retraso adicional podría ser introducido en el decodificador, debido al proceso de desentrelazado separado, antes del proceso de decodificación. El sistema descrito aquí puede proveer las porciones codificadas directamente a los procesos de decodificación de los subtrenes o de las losas del WPP diferentes, mientras los datos están llegando al receptor. La identificación de las porciones, asociadas con un subtren o una losa del WPP, puede ser derivada por la dirección del sector en el encabezado del segmento del sector, del segmento del sector y del orden de transmisión de los paquetes, como indicado mediante el número de secuencia del RTP en el encabezado del RTP. En este escenario, el DON es usado solamente para la retrocompatibilidad, por ejemplo, para los decodificadores no proveyendo la capacidad aumentada de las porciones de decodificación de los subtrenes o de las losas del WPP, transmitidas fuera del orden de decodificación cuando llegan. La transmisión de los datos de las porciones fuera del orden de decodificación, es aplicada justamente con respecto al nivel del subtren o de la losa del WPP, por ejemplo, en los datos transmitidos, las porciones de un subtren o una losa del WPP individuales son transmitidas en el orden de decodificación, cuando los datos de los subtrenes o de las losas del WPP diferentes son entrelazados.
Existen dos posibles opciones: 1. Todos los sectores y los sectores entrópicos están contenidos en el mismo tren elemental, por ejemplo, el mismo PID es asignado a todos los paquetes TS de aquel tren de vídeo; en el texto siguiente, este método es referido al encapsulado de ES individual. 2. Los PIDs diferentes son asignados a los sectores y los sectores entrópicos del mismo tren de bits de vídeo; en el texto siguiente, este método es referido al encapsulado de ES múltiple.
La Figura 11 tiene validez para ambas opciones si la primera opción es considerada un caso especial, de la estructura más general, mediante el ajuste del mismo PID para todos los ES.
Una forma más eficiente para el encapsulado en un ES individual se muestra en la Figura 12. Aquí, a lo sumo es necesario un campo de adaptación por imagen.
Una forma más eficiente para el encapsulado en un ES múltiple se muestra en la Figura 13. Aquí, los campos de adaptación son evitados; en su lugar, otro sector, por ejemplo, la losa colocada de la siguiente imagen, arranca inmediatamente en el mismo paquete de tren de transporte.
Una posible estructura del demultiplexor de transporte para el encapsulado con un tren elemental (ES) individual, objetivando un decodificador multihilos, se muestra en la Figura 14. El sector entrópico en la figura puede contener los datos de un subtren o una losa del WPP específicos.
La memoria intermedia de transporte (TB) recolecta los datos que pertenecen a un paquete de transporte y lo envía a la memoria intermedia de multiplexación (MB). En la salida de la MB, los encabezados de la unidad de NAL son evaluados y los marcadores del subtren son desechados, mientras que los datos portados en el marcador del subtren son almacenados. Los datos de cada sector o de cada sector entrópico son almacenados en una memoria intermedia del sector (SB) separada, desde donde son sacados mediante un decodificador multihilos una vez que un hilo del decodificador está disponible.
Una posible estructura del demultiplexor de transporte para el encapsulado con trenes elementales múltiples, objetivando un decodificador multihilos, se muestra en la Figura 15.
Los conceptos delineados anteriormente, están descritos nuevamente más adelante en otras palabras. La descripción más adelante es, por lo tanto, combinable con los detalles adicionales de la descripción anterior de forma individual.
La Figura 16 muestra una estructura general de un codificador de acuerdo con una puesta en práctica de la presente solicitud. El codificador 10 podría ser implementado para ser capaz de operar en una forma multihilos o no, por ejemplo, meramente de hilo individual. Es decir, el codificador 10 podría, por ejemplo, ser implementado usando múltiples núcleos de la CPU (unidad central de procesamiento). En otras palabras, el codificador 10 podría soportar el procesamiento paralelo, pero tampoco debe hacerlo. El concepto de codificación de la presente solicitud permite a los codificadores del procesamiento paralelo de aplicar eficientemente el procesamiento paralelo, sin embargo, sin la forma comprometedora de la eficiencia de la compresión. En consideración con la capacidad de procesamiento paralelo, las declaraciones similares tiene validez para el decodificador, el cual está descrito más adelante con respecto a con respecto a la Figura 17.
El codificador 10 es un codificador de vídeo, pero en general el codificador 10 también puede ser un codificador de imagen. Una imagen 12 de un vídeo 14 se muestra cuando entra en el codificador 10 en una entrada 16.
El codificador 10 es un codificador híbrido, por ejemplo, la imagen 12 está prevista en un predictor 18 y el residual 20 de predicción como es obtenido por un determinador 22 del residual, tal como un sustractor, es sometido a una transformación, tal como una descomposición espectral tal como una DCT {transformada de coseno discreta), y una cuantificación en un módulo 24 de transformación/cuantificación. Un residual cuantificado 26 obtenido de ese modo es sometido a la codificación entrópica en un codificador entrópico 28, a saber la codificación aritmética binaria adaptiva basada en el contexto. La versión reconstruible del residual cuando está disponible para el decodificador, por ejemplo, la señal residual 30 decuantificada y retransformada, es recuperada mediante un módulo 31 de retransformación y de recuantificación, y combinada con la señal 32 de predicción del predictor 18 mediante el combinador 33, teniendo de ese modo por resultado una reconstrucción 34 de la imagen 12. Sin embargo, el codificador 10 opera en una base de bloques. En consecuencia, la señal reconstruida 34 sufre de las discontinuidades en los límites de los bloque y, en consecuencia, un filtro 36 puede ser aplicado a la señal reconstruida 34 con el fin de producir una imagen 38 de referencia sobre la base de cual predictor 18 prevé de forma subsiguiente las imágenes codificadas. Como se muestra mediante las líneas a trazos en la Figura 16, el predictor 18 puede, sin embargo, explotar también la señal reconstruida 34 directamente sin el filtro 36 o una versión intermediaria. En el caso de la codificación de la imagen, el filtro 36 puede ser dejado de lado.
El predictor 18 puede elegir entre diferentes modos de predicción con el fin de prever ciertos bloques de la imagen 12. Puede haber un modo de predicción temporal de acuerdo con el cual, un bloque está previsto sobre la base de imágenes codificadas previamente, un modo de predicción espacial de acuerdo con el cual, un bloque está previsto sobre la base de bloques codificados previamente de la misma imagen, modos de predicción intercapas de acuerdo con los cuales, un bloque de una imagen mostrando la escena en una capa más alta, tal como en resolución espacial más alta o desde otro punto de vista, está prevista sobre la base de una correspondiente imagen mostrando esta escena en una capa más baja, tal como en la resolución espacial más baja o desde otro punto de vista.
Una cierta sintaxis es usada con el fin de compilar los datos residuales 26 cuantificados, por ejemplo, niveles de coeficientes de transformación y otros datos residuales, así como también los datos del modo de codificación incluyendo, por ejemplo, los modos de predicción y los parámetros de predicción para los bloques individuales de la imagen 12, como determinado por el predictor 18, y estos elementos de la sintaxis son sometidos a la codificación entrópica mediante el codificador entrópico 28. El tren de datos obtenidos de ese modo, como una salida mediante el codificador entrópico 28, es llamado una carga útil de secuencia de bytes en bruto 40.
Los elementos del codificador 10 de la Figura 16 están interconectados como se muestra en la Figura 16.
La Figura 17 muestra un decodificador el cual encaja con el codificador de la Figura 16, por ejemplo, es capaz de la decodificación de la carga útil de secuencia de bytes en bruto. El decodificador de la Figura 17 está indicado, generalmente, por el signo 50 de referencia, y comprende un decodificador entrópico 52, un módulo 54 de retransformación/descuantificación, un combinador 56, un filtro 58 y un a predictor 60. El decodificador entrópico 42 recibe la carga útil 40 de secuencia de bytes en bruto, y realiza la decodificación entrópica usando la decodificación aritmética binaria adaptiva basada en el contexto, con el fin de recuperar la señal residual 62 y los parámetros 64 de codificación. El módulo 54 de retransformación/descuantificación descuantifica y retransforma los datos residuales 62, y transmite la señal residual obtenida de ese modo al combinador 56. El combinador 56 también recibe una señal 66 de predicción desde el predictor 60 el cual, a su vez, forma la señal 66 de predicción usando los parámetros 64 de codificación sobre la base de la señal reconstruida 68, determinada por el combinador 56 mediante la recombinación de la señal 66 de predicción y la señal residual 65. Como ya se ha explicado anteriormente con respecto a la Figura 16, el predictor 60 puede usar la versión filtrada de la señal reconstruida 68, o alguna versión intermediaria de ella, alternativamente o de forma adicional. La imagen a ser reproducida finalmente y entregada en la salida 70 del decodificador 50, puede ser determinada de igual modo en una versión no filtrada de la señal 68 de combinación o alguna versión no filtrada de ella.
De acuerdo con el concepto de losa, la imagen 12 está subdividida en las losas, y al menos las predicciones de los bloques dentro de estas losas están restringidas a usar, como una base para la predicción espacial, meramente los datos relacionados con la misma losa. Mediante esta medida, al menos la predicción puede ser realizada para cada losa individualmente en paralelo. Solamente para los propósitos ilustrativos, la Figura 16 ilustra la imagen 12 como está subdividida en nueve losas. La subdivisión de cada losa en nueve bloques, como se muestra en la Figura 16, también sirve meramente como un ejemplo. Además, por los motivos de la integridad, cabe hacer notar que la forma de la codificación de las losas separadamente, puede no estar restringida a la predicción espacial (intra-predicción). Más bien, cualquier predicción de los parámetros de codificación de una respectiva losa, a través de los límites de la losa, y cualquier dependencia de la selección del contexto en la codificación entrópica de una respectiva losa, a través de los respectivos límites de la losa, también puede ser prohibida así como para ser restringida de ser dependiente solamente en los datos de la misma losa. Por consiguiente, el decodificador es capaz de realizar las operaciones en paralelo recién mencionadas, es decir en unidades de las losas.
Con el fin de ser transmitido a través de algún canal de transmisión, los elementos de la sintaxis han de ser codificado de forma entrópica por sector mediante el codificador entrópico 28. A este fin, el codificador entrópico 28 escanea los bloques de las losas atravesando los bloques de una primera losa primero, después procediendo con los bloques de la siguiente losa en el orden de las losas y así sucesivamente. Un orden de barrido reticular puede, por ejemplo, ser usado con el fin de escanear los bloques dentro de los subtrenes y de las losas, respectivamente. Los sectores son entonces compactados dentro de las unidades de la NAL, las cuales son las unidades más pequeñas para la transmisión. Antes de la codificación entrópica de un sector, el codificador entrópico 28 inicializa sus probabilidades de la CABAC, por ejemplo, las probabilidades usadas para codificar aritméticamente el elemento de la sintaxis de ese sector. El decodificador entrópico 52 hace lo mismo, por ejemplo, inicializa sus probabilidades en los comienzos del sector. Cada inicialización, sin embargo, afecta negativamente la eficiencia de la codificación entrópica, puesto que las probabilidades son adaptadas continuadamente a las estadísticas de probabilidad de símbolos actuales de los varios contextos y, en consecuencia, la reposición de las probabilidades de la CABAC representa una desviación de un estado adaptado. Como es conocido para una persona experimentada en el arte, la codificación entrópica conduce a una compresión óptima solamente si las probabilidades encajan con las estadísticas de probabilidad de símbolos actuales.
En consecuencia, un decodificador, de acuerdo con una puesta en práctica de la presente solicitud, opera como se muestra en la Figura 18. El decodificador recibe en el paso 80 la carga útil de secuencia de bytes en bruto describiendo una imagen 12 en las losas 82, en las porciones de las losas. En la Figura 18, la primera losa 82 en el orden 84 de la losa se muestra ejemplarmente para ser cortada o dividida en dos porciones 86a y 86b, cada una cubriendo ejemplarmente una subsecuencia de la secuencia de bloques dentro de esa losa. Después, en el paso 82, las porciones 86a y 86b son decodificadas de forma entrópica. Sin embargo, en la decodificación entrópica de las porciones 86a and 86b, la adaptación de la probabilidad de la CABAC es continuada a través de los límites de las porciones. Es decir, durante la decodificación de la porción 86a, las probabilidades de la CABAC son adaptadas continuadamente a las estadísticas de símbolos actuales, y el estado al final de la decodificación entrópica de la porción 86a es adaptado en el arranque de la decodificación entrópica de la porción 86b. En el paso 90, la carga útil de secuencia de bytes en bruto, decodificada de forma entrópica de ese modo, es entonces decodificada con el fin de obtener la imagen 12.
Debido a la continuación de la adaptación de la probabilidad de la CABAC a través de los límites de las porciones 92, posicionadas en el interior de las losas 82, estos límites de las porciones no afectan negativamente la eficiencia de la codificación entrópica, más allá de la subdivisión de la imagen 12 dentro de las losas 82. Por el otro lado, el procesamiento paralelo de la losa es aún posible. Además de ello, es posible de transmitir las porciones individualmente y, como las porciones son más pequeñas que las losas 82 completas, es posible de arrancar, en el paso 90, la decodificación de cada tan pronto como la primera porción de la respectiva losa ha sido recibida y decodificada de forma entrópica.
La descripción de las Figs. 16 hasta 18 están relacionadas primariamente con el uso de las losas. Como descrito anteriormente, las losas resultan de un particionamiento espacial de una imagen. Similar a las losas, los sectores también subdividen espacialmente una imagen.
Los sectores son, en consecuencia, también un medio para permitir la codificación/la decodificación paralela. Similar a las losas, la predicción y así sucesivamente está prohibida de manera que los sectores son decodificables individualmente. En consecuencia, la descripción de las Figs. 16 hasta 18 también tiene validez para la división de los sectores en porciones.
Lo mismo tiene aplicación cuando se usan los subtrenes del WPP. Los subtrenes del WPP también representan un particionamiento espacial de una imagen 12, es decir dentro de los subtrenes del WPP. En contraposición a las losas y a los sectores, los subtrenes del WPP no imponen restricciones sobre las predicciones y las selecciones de contacto a través de los subtrenes del WPP. Los subtrenes del WPP se extienden a lo largo de las filas de bloques tal como las filas de la LCU, como se muestra en la Figura 4, y con el fin de permitir el procesamiento paralelo, meramente un compromiso está hecho en relación con la codificación entrópica de la CABAC, en el orden como definido entre los subtrenes 92 del WPP (véase la Figura 4) y para cada uno de los subtrenes 92 del WPP, excepto para el primer subtren del WPP, las probabilidades de la CABAC no están completamente en reposición pero adoptadas, o ajustadas para ser igual a, las probabilidades de la CABAC resultantes después de haber sido decodificadas de forma entrópica el subtren del WPP inmediatamente precedente hasta la segunda LCU 94 de él, con el orden de arranque de la LCU, para cada subtren del WPP, en el mismo lado de la imagen 12, tal como el lado de la mano izquierda como ilustrado en la Figura 4. En consecuencia, mediante el obedecimiento de algún retraso de codificación entre la secuencia de los subtrenes del WPP, estos subtrenes 92 del WPP son decodificables en paralelo, de manera que las porciones en las cuales la imagen 12 es decodificada en paralelo, por ejemplo, de forma concurrente, forma un tipo de frente 96 de onda el cual se mueve a través de la imagen en una manera inclinada de izquierda a derecha.
En la transferencia de la descripción de la Figura 16 hasta 18 a los subtrenes del WPP, cualquier subtren 92 del WPP (Figura 4) también puede ser subdividido en las porciones 98a y 98b sin la interrupción de la adaptación de la probabilidad de la CABAC en el límite 100, entre estas porciones 98a y 98b en el interior del respectivo subtren 92 del WPP, evitando de ese modo las penalidades con respecto a la eficiencia de la codificación entrópica, debido a la transmitabilidad individual de ambas porciones 98a y 98b, pero manteniendo la capacidad de usar el frente de la onda del procesamiento paralelo, y permitiendo de arrancar este frente de onda del procesamiento paralelo más temprano, puesto que las porciones son más pequeñas que los subtrenes 92 completos del WPP.
Como descrito anteriormente con respecto a las Figs. 1 hasta 15, existen varias posibilidades para transmitir las porciones compactadas dentro de las unidades de la NAL. Se hace referencia a la Figura 3 donde las losas o los subtrenes o los sectores de tales porciones, o los subtrenes, han sido separados en porciones en el dominio codificado aritméticamente, con un encabezado precediendo la n&ima porción de cada subtren o losa, y presentando información permitiendo la ubicación de los límites de las porciones. Una otra puesta en práctica fue la una presentada en la Figura 9. Allí, la subdivisión de las losas o de los subtrenes del WPP en porciones, fue hecha cambiando levemente la estructura del sector: los sectores arrancando en una losa o en un límite de un subtren del WPP, por ejemplo, arrancando en el comienzo de una losa o de un subtren del WPP, tiene el no_cabac_reset_fiag ajustado a cero, causando de ese modo la usual probabilidad de inicialización/reposición de la CABAC. Sin embargo, los sectores portando las porciones, las cuales comienzan en el interior de una losa o de un subtren del WPP, tienen el no cabac reset fiag ajustado en uno, causando de ese modo la continuación anteriormente descrita de la adaptación de la probabilidad de la CABAC.
Hasta donde está relacionado el desentrelazado, el cual tiene lugar en el paso 80 de recepción, para cada porción está determinado como a cual subtren o losa del WPP pertenece la respectiva porción. Las diferentes posibilidades han sido descritas anteriormente tal como, por ejemplo, una selección round-robin a través del número de los subtrenes o de las losas del WPP de una imagen actual. Alternativamente, en el caso de hacer uso del encabezado de los sectores para transportar las porciones, el encabezado de los sectores puede comprender una indicación permitiendo la ubicación del comienzo del respectivo sector dentro de la actual la imagen 12.
En este sentido, cabe hacer notar que la descomposición de los sectores, los subtrenes o las losas del WPP en porciones, es realizada a lo largo de un orden de decodificación definido dentro de cada sector, subtren o losa del WPP: es decir, dentro de cada sector, subtren o losa del WPP, la porción de la imagen espacialmente cubierta mediante el respectivo sector, subtren o losa del WPP, es codificada en, o decodificada desde, el respectivo sector, subtren o losa del WPP en ese orden de decodificación, y cada porción de un respectivo sector, subtren o losa del WPP cubre una porción continuada del respectivo sector, subtren o losa del WPP a lo largo de ese orden de decodificación. Mediante esta manera, un orden es definido entre las porciones pertenecientes al mismo sector, subtren o losa del WPP, es decir el orden de codificación/decodificación, y cada porción tiene un rango dentro de ese orden. Como la subdivisión de la imagen en los subtrenes o las losas del WPP es señalizada hacia el decodificador, el decodificador toma conocimiento sobre la subdivisión. En consecuencia, para la asociación de cada porción con un respectivo subtren o losa del WPP, por ejemplo, podría ser suficiente si cada porción tiene una dirección de arranque identificando una posición de arranque, desde donde en la respectiva porción continuadamente cubre la imagen, usando el orden de codificación/decodificación de la losa/los subtrenes del WPP de la que es parte la respectiva porción. Incluso el orden entre las porciones, las cuales pertenecen a una cierta losa o a un subtren del WPP, por ejemplo, pueden ser reconstruidas en un demultiplexor de transporte o mediante el decodificador usando las posiciones de arranque. Sin embargo, para el recurso, la información de los encabezados del paquete de transporte de las capas OSI (interconexión de sistemas abiertos) más bajas, como descrito anteriormente con respecto a la transmisión del RTP, puede ser usado, también, tal como el número de orden de decodificación, por ejemplo, los DON's. Un demultiplexor de transporte del tipo recientemente mencionado puede ser configurado de forma similar al demultiplexor de transporte anteriormente expuesto, así como para almacenar los datos de las porciones de igual subtren o losa del WPP en una memoria intermedia del sector, y los datos de las porciones de los subtrenes o las losas del WPP asociadas con los subtrenes o las losas del WPP diferentes en diferentes memorias intermedias del sector. Como mencionado anteriormente, la estructura del sector, por ejemplo, los encabezados de los sectores, pueden ser usados para transportar las porciones.
A continuación, se ha hecho referencia a las puestas en práctica de las Figs. 11 hasta 15, con el fin de describirlas nuevamente en otras palabas. Como descrito en estas figuras, los sectores Si están compactados dentro de las unidades de la NAL con cada unidad 110 de NAL (véase la Figura 11) comprendiendo un encabezado 112 de la unidad de NAL. Debiera considerarse que los sectores Si pueden ser sectores normales o los sectores portando las porciones de acuerdo con la Figura 9. En consecuencia, estos sectores exclusivamente portan los datos concernientes a un subtren o una losa del WPP de una imagen actual, a saber el i6"681"10 subtren o losa del WPP, respectivamente. A través de la fragmentación, las unidades 110 de la NAL son transportadas a través de los paquetes 114 del tren de transporte (TS), es decir la sección 116 de la carga útil de él. Haciéndolo de esa forma, cada unidad 110 de NAL y el correspondiente sector S¡ está precedido por un respectivo marcador M R del subtren, indicando i, por ejemplo, el subtren o la losa del WPP a que pertenece el inmediatamente siguiente sector de la inmediatamente siguiente unidad 110 de la NAL.
Las unidades 110 de la NAL portando los sectores pertenecientes a los subtrenes o las losas del WPP diferentes, pueden ser distribuidas sobre más que un tren elemental ES, o sobre el mismo tren elemental, como explicado en las Figs. 11 hasta 13. Como mencionado anteriormente, "tren elemental" también puede identificar un tren del RTP separado en su propia sesión del RTP.
Como explicado con respecto a las Figs. 14 y 15, un demultiplexor de transporte puede comprender una memoria intermedia de multiplexación MB, las memorias intermedias SB y una memoria intermedia de transporte TB. Las memorias intermedias SB son sacadas por un decodificador multihilos MTD, el cual permite la decodificación paralela de una imagen en los subtrenes o las losas del WPP. La memoria intermedia de transporte TB está configurada para recolectar los datos pertenecientes a un paquete de TS, de un tren elemental predeterminado de un tren de bits de vídeo, y transmitir los datos a la memoria intermedia de multiplexación MB. El demultiplexor de transporte está configurado entonces para evaluar los encabezados de las unidades de NAL, de las unidades de la NAL de una secuencia de unidades de la NAL compactada en los paquetes de TS, en una salida de la memoria intermedia de multiplexación MB, desechando las unidades de la NAL de los marcadores MKR del subtren con el almacenamiento de los datos del marcador del subtren, portados dentro de las unidades de la NAL del marcador del subtren, y almacenando los datos de los sectores de los subtrenes o de las losas dentro de las unidades de la NAL, siguiendo las unidades de la NAL del marcador del subtren, un campo de datos de los cuales identifica un subtren o losa del WPP igual en una, por ejemplo, la misma, memoria intermedia del sector SB y los datos de los sectores de los subtrenes o de las losas del WPP, dentro de las unidades de la NAL, siguiendo las unidades de la NAL del marcador del subtrenes, un campo de datos de los cuales identifica los subtrenes o las losas del WPP diferentes en las diferentes memorias intermedias SB. Como se muestra en la Figura 15, el demultiplexor de transporte puede comprender un demultiplexor llamado demux de TS en la Figura 15, y configurado para recibir el tren de bits de vídeo y dividir los paquetes de TS del tren de bits de vídeo en diferentes trenes elementales, por ejemplo, distribuir el paquete de TS del tren de bits de vídeo a los diferentes trenes elementales. El demultiplexor realiza esta división o distribución de acuerdo con los PIDs contenidos dentro de los encabezados de TS del paquete de TS, de manera que cada tren elemental está compuesto de los paquetes de TS de un PAD diferente de los PADs de los paquetes de TS de otros trenes elementales.
Es decir, si los sectores corresponden a las porciones en el sentido de la puesta en práctica de la Figura 9, el MTD, por ejemplo, el decodificador multihilos, es capaz de arrancar el procesamiento en más que un subtren o losa del WPP de una imagen actual, tan pronto como la correspondiente memoria intermedia del sector SB, del respectivo subtren o losa del WPP, tiene los datos contenidos en ella, reduciendo de ese modo el retraso.
Aunque algunos aspectos han sido descritos en el contexto de un aparato, queda claro que estos aspectos también representan una descripción del correspondiente método, donde un bloque o dispositivo corresponde a un paso del método o a una característica de un paso del método. De forma análoga, los aspectos descritos en el contexto de un paso del método, también representan una descripción de un correspondiente bloque o ítem o característica de un correspondiente aparato. Algunos o todos de los pasos del método pueden ser ejecutados mediante (o usando) un aparato de soporte físico, como por ejemplo, un microprocesador, una computadora programable o un circuito electrónico. En algunas puestas en práctica, algunos o más de los pasos más importantes del método pueden ser ejecutados mediante tal un aparato.
El tren de bits codificado inventivo puede ser almacenado en un medio de almacenamiento digital, o puede ser transmitido en un medio de transmisión, tal como un medio de transmisión inalámbrico, o un medio de transmisión cableado, tal como la Internet.
Estas contribuciones anteriores, por consiguiente, ínter alias, describe los métodos para el encapsulado de retraso bajo y la transmisión los datos de vídeo estructurados, como provisto por el nuevo estándar de codificación de la HEVC, tal como estructurados en las losas, los subtrenes del procesamiento paralelo del frente de onda (WPP), los sectores o los sectores entrópicos. Las técnicas han sido, ínter alias, presentadas lo cual permite el transporte de retraso bajo en un entorno de codificador - transmisor - receptor -decodificador de forma paralela, a través del transporte entrelazado de los sectores entrópicos / los sectores / las losas / los subtrenes. Con el fin de resolver los problemas de cuello de botella, delineados en la porción de la introducción de la especificación, y para minimizar el retraso del tiempo de la transmisión y de la decodificación, por ejemplo, el retraso de extremo a extremo, la técnica para un esquema de sector entrópico entrelazado para la transmisión y el procesamiento paralelos han sido, ínter alias, presentados.
Dependiendo de ciertos requerimientos de implementación, las puestas en práctica de la invención pueden ser implementadas en soporte físico o en soporte lógico. La implementación puede ser realizada usando un medio de almacenamiento digital, por ejemplo, un disco flexible, un DVD, un Blu-Ray, un CD, una ROM, una PROM, una EPROM, una EEPROM o una memoria FLASH, teniendo señales de control legibles electrónicamente almacenadas en ellos, los cuales cooperan (o son capaces de cooperar) con un sistema computacional programable, de manera que es realizado el respectivo método. Por lo tanto, el medio de almacenamiento digital puede ser legible por computadora.
Algunas puestas en práctica de acuerdo con la invención, comprenden un portador de datos que tiene señales de control legibles electrónicamente, las cuales son capaces de la cooperación con un sistema computacional programable, de manera que es realizado uno de los métodos descritos aquí.
Generalmente, las puestas en práctica de la presente invención pueden ser implementadas como un producto de programa computacional con un código del programa, estando el código del programa operativo para la realización de uno de los métodos, cuando el producto de programa computacional marcha sobre una computadora. El código del programa puede, por ejemplo, ser almacenado sobre un portador legible por máquina.
Otras puestas en práctica comprenden el programa computacional para la realización de uno de los métodos descritos aquí, almacenados en un portador legible por máquina.
En otras palabras, una puesta en práctica del método inventivo es, por lo tanto, un programa computacional que tiene un código del programa, para la realización de uno de los métodos descritos aquí, cuando el programa computacional marcha sobre una computadora.
Una otra puesta en práctica de los métodos inventivos es, por lo tanto, un portador de datos (o un medio de almacenamiento digital, o un medio legible por computadora) comprendiendo, grabada sobre ellos, el programa computacional para la realización de uno de los métodos descritos aquí. El portador de datos, el medio de almacenamiento digital o el medio grabado son típicamente tangibles y/o no transitorios.
Una otra puesta en práctica del método inventivo es, por lo tanto, un tren de datos o una secuencia de señales representando el programa computacional, para la realización de uno de los métodos descritos aquí. El tren de datos o la secuencia de señales pueden, por ejemplo, ser configurado para ser transferido a través de una conexión de comunicación de datos, por ejemplo, a través de la Internet.
Una otra puesta en práctica comprende un medio de procesamiento, por ejemplo, una computadora, o un dispositivo de lógica programable, configurada para o adaptado para realizar uno de los métodos descritos aquí.
Una otra puesta en práctica comprende una computadora, que tiene instalada sobre ella el programa computacional, para la realización de uno de los métodos descritos aquí.
Una otra puesta en práctica, de acuerdo con la invención, comprende un aparato o un sistema configurado para transferir (por ejemplo, electrónicamente o de forma óptica) un programa computacional, para la realización de uno de los métodos descritos aquí hacia un receptor. El receptor puede, por ejemplo, ser una computadora, un dispositivo móvil, un dispositivo de memoria o los similares. El aparato o el sistema pueden, por ejemplo, comprender un servidor de archivos para la transferencia del programa computacional hacia el receptor.
En algunas puestas en práctica, un dispositivo de lógica programable (por ejemplo, a matriz de puertas programable en campo) puede ser usado para realizar alguna o todas de las funcionalidades de los métodos descritos aquí. En algunas puestas en práctica, una matriz de puertas programable en campo puede cooperar con un microprocesador, con el fin de realizar uno de los métodos descritos aquí. Generalmente, los métodos son realizados, preferiblemente, mediante cualquier aparato de soporte físico.
Las puestas en práctica descritas anteriormente son meramente ilustrativas para los principio de la presente invención. Debe quedar entendido que las modificaciones y las variaciones de las disposiciones y los detalles descritos aquí, serán aparentes a otras personas experimentadas en el arte. Esto es el intento, por lo tanto, de ser limitado solamente por el alcance de las reivindicaciones inminentes de patente, y no por los detalles específicos presentados por la vía de la descripción y explicación de las puestas en práctica aquí. omas Wiegand, Gary J. Sullivan, GisleBjontegaard, Ajay Luthra, "Overview of the Video Coding Standard" {Aspecto general del estándar de codificación de vídeo H.264/AVC), IEEE Trans. Circuits Syst. Video Technol., vol. 13, N7, July 2003.
JCTVC-E196, "Wavefront Parallel Processing" {Procesamiento paralelo de frente de onda), 5th JCT-VC Meeting, Geneva 2011.
JCTVC-D070, "Lightweight slicing for entropy coding" {Sectorización ligera para la codificación entrópica), 4th Meeting, Daegu, 2011.
JCTVC-D073, "Periodic initialization for wavefront coding functionality" {Inicialización periódica para la funcionalidad de la codificación del frente de onda), 4th Meeting, Daegu, 2011. [5] HEVC WD5: Working Draft 5 of High-Efficiency Video Coding JTCVC- Gl 103 {Borrador de trabajo N° 5 sobre codificación de vídeo de alta eficiencia JTCVC-G1103), 5th JCT-VC Meeting, Geneva Meeting November 2011.
JTCVC-D243, "Analysis of entropy slices approaches" {Análisis de aproximaciones de sectores entrópicos), 4th Meeting, Daegu, 2011. [7] ISO/IEC 13818-1/2011, MPEG-2 Transport Stream including AMDs 1 - 6 (Tren de transporte de MPEG-2 incluyendo AMDs 1—6). [8] IETF Real-time transport protocol (Protocolo de transporte en tiempo real de IEFT), RTP RFC 3550. [9] IETF RTP Payload Format (Formato de carga útil del RTP de IETF), IETF RFC 6184. [10] JCTVC-F275, Wavefront and Cabac Flush: Different Degrees of Parallelism Without Transcoding, (Nivelado del frente de onda y CABAC: diferentes grados de paralelismo sin transcodificación), Torino Meeting [11] JCT-VC-F724, Wavefront Parallel Processing for HEVC Encoding and Decoding (Procesamiento paralelo del frente de onda para codificación y decodificación HEVC), Torino Meeting** at end of description (al final de la descripción) [12] IETF Session Description Protocol (SDP) (Protocolo de descripción de sesión (SDP) de IETF), RFC 4566 [13] IETF RTP Payload Format for High Efficiency Video Coding, draft-schierl- payload-h265 (Formato de carga útil del RTP de IETF para codificación de vídeo de alta eficiencia, draft-schierl-payload-h265)

Claims (1)

  1. REIVINDICACIONES Un decodificador, CARACTERIZADO porque está configurado para recibir la carga útil de secuencia de bytes en bruto, describiendo una imagen en los subtrenes del WPP, con un subtren del WPP por fila de LCU de la imagen, y codificada usando la CABAC desde un codificador en porciones, en las cuales los subtrenes del WPP están segmentados teniendo de ese modo los límites de las porciones introducidos en ellas; la decodificación entrópica de las porciones con la continuación de la adaptación de la probabilidad de la CABAC, a través de los límites de las porciones introducidas dentro de los subtrenes del WPP; y decodificar la carga útil de secuencia de bytes en bruto para obtener la imagen. El decodificador de acuerdo con cualquiera de las reivindicaciones previas, CARACTERIZADO porque las porciones están compactadas usando los encabezados de los sectores, y el decodificador está configurado para, al recibir las porciones, ser sensible, después de recibir un nuevo sector, a una bandera en el encabezado del sector del nuevo sector, un sector type del nuevo sector, o un tipo de unidad de NAL de una unidad de NAL conteniendo el nuevo sector, así como para ya sea interrumpir la adaptación de la probabilidad de la CABAC, mediante el restablecimiento de las probabilidades de la CABAC, o para continuar con la adaptación de la probabilidad de la CABAC. El decodificador de acuerdo con la reivindicación 1 ó 2, CARACTERIZADO porque el decodificador está configurado para, al recibir las porciones, desentrelazar las porciones mediante la identificación, para cada porción, como a cual subtren del WPP pertenece la respectiva porción. El decodificador de acuerdo con cualquiera de las reivindicaciones previas, CARACTERIZADO porque las porciones están compactados dentro de paquetes, de manera que cada paquete comprende una porción de cada subtren del WPP de la imagen, o un subconjunto de los subtrenes del WPP de la imagen, dispuestos en un orden definido entre los subtrenes del WPP, comprendiendo cada paquete un encabezado comprendiendo la revelación de las posiciones y/o las longitudes de las porciones compactadas dentro del respectivo paquete, o los marcadores separando las porciones dentro del respectivo paquete el uno del otro, donde el decodificador está configurado para, al recibir la carga útil de secuencia de bytes en bruto, usar la información comprendida por los encabezados o los marcadores, así como para acceder a las porciones dentro de los paquetes. El decodificador de acuerdo con la reivindicación 4, CARACTERIZADO porque paquetes comprendiendo primero - de acuerdo con el orden definido entre los subtrenes o las losas del WPP - las porciones de los subtrenes o las losas del WPP de la imagen, comprende un indicador de la característica de retraso bajo, y los paquetes comprendiendo unas segundas o subsiguientes - de acuerdo con el orden definido entre los subtrenes o las losas del WPP - porciones de los subtrenes o las losas del WPP de la imagen, comprende un indicador de continuación. El decodificador de acuerdo con la reivindicación 4 ó 5, CARACTERIZADO porque los paquetes son las unidades de la NAL o los sectores. Un decodificador, CARACTERIZADO porque está configurado para recibir la carga útil de secuencia de bytes en bruto describiendo una imagen en los subtrenes del WPP, y codificada usando la CABAC desde un codificador en porciones, dentro de las cuales los subtrenes del WPP están segmentados, teniendo de ese modo los límites de las porciones introducidos dentro de ellas; la decodificación entrópica de las porciones con la continuación de la adaptación de la probabilidad de la CABAC, a través de los límites de las porciones introducidas dentro de los subtrenes del WPP, mediante la adopción de, arrancando la decodificación entrópica de una porción del subtren del WPP, las probabilidades de la CABAC al final de la decodificación entrópica otra porción del subtren del WPP; y decodificar la carga útil de secuencia de bytes en bruto para obtener la imagen. Un codificador, CARACTERIZADO porque está configurado para formar, mediante la codificación de una imagen, una carga útil de secuencia de bytes en bruto, así como para describir la imagen en los subtrenes del WPP con un subtren del WPP por fila de LCU de la imagen, con la codificación entrópica de la secuencia de bytes en bruto usando la CABAC, la transmisión de la secuencia de bytes en bruto en porciones dentro de las cuales los subtrenes del WPP están segmentados, teniendo de ese modo los límites de las porciones introducidos dentro de ellas, y la continuación de la adaptación de la probabilidad de la CABAC en la codificación entrópica a través de los límites de las porciones introducidas dentro de los subtrenes del WPP. El codificador de acuerdo con la reivindicación 8, CARACTERIZADO porque el codificador está configurado para formar la secuencia de bytes en bruto, de manera que las porciones coinciden con un tamaño máximo de unidad de transferencia. Un tren de bits de vídeo, CARACTERIZADO porque comprende la carga útil de secuencia de bytes en bruto, describiendo una imagen en los subtrenes del WPP, con un subtren del WPP por fila de LCU de la imagen, y codificada usando la CABAC, siendo el tren de bits de vídeo descompuesto en porciones de los subtrenes del WPP, dentro de las cuales los subtrenes del WPP están segmentados, teniendo de ese modo los límites de las porciones introducidos dentro de ellas, con la continuación de la adaptación de la probabilidad de la CABAC, a través de los límites de las porciones introducidas dentro de los subtrenes del WPP, donde cada porción incluye una indicación explícita de su rango entre las porciones, dentro de cual subtren del WPP pertenece la respectiva porción, está secuencialmente descompuesta. Un tren de bits de vídeo de acuerdo con la reivindicación 10, CARACTERIZADO porque las porciones están compactadas dentro de los paquetes, de manera que cada paquete comprende una porción de cada subtren o losa del WPP de la imagen, o un subconjunto de los subtrenes o las losas del WPP de la imagen, dispuesto en un orden definido entre los subtrenes o las losas del WPP, comprendiendo cada paquete un encabezado comprendiendo la revelación de las posiciones y/o las longitudes de las porciones compactadas dentro del respectivo paquete, o los marcadores separando las porciones dentro del respectivo paquete el uno del otro. Un tren de bits de vídeo de acuerdo con la reivindicación 10 u 11, CARACTERIZADO porque los paquetes comprenden primero - de acuerdo con el orden definido entre los subtrenes o las losas del WPP - las porciones de los subtrenes o las losas del WPP de la imagen, comprendiendo un indicador de la característica de retraso bajo, y los paquetes comprendiendo las segundas o subsiguientes— de acuerdo con el orden definido entre los subtrenes o las losas del WPP - porciones de los subtrenes o las losas del WPP de la imagen, comprendiendo un indicador de continuación. Un tren de bits de vídeo de acuerdo con cualquiera de las reivindicaciones de la 10 a la 12, CARACTERIZADO porque los paquetes son las unidades de la NAL o los sectores. Un método para la decodificación, CARACTERIZADO porque comprende La recepción de la carga útil de secuencia de bytes en bruto, describiendo una imagen en los subtrenes del WPP, con un subtren del WPP por fila de LCU de la imagen, y codificada usando la CABAC desde un codificador en porciones de los subtrenes del WPP, dentro de las cuales los subtrenes del WPP están segmentados, teniendo de ese modo los límites de las porciones introducidos dentro de ellas; la decodificación entrópica de las porciones con la continuación de la adaptación de la probabilidad de la CABAC, a través de los límites de las porciones introducidas dentro de los subtrenes del WPP; y la decodificación de la carga útil de secuencia de bytes en bruto para obtener la imagen. Método para la demultiplexación del transporte, CARACTERIZADO porque comprende la recepción de un tren de bits de vídeo, comprendiendo la carga útil de secuencia de bytes en bruto, describiendo una imagen en los subtrenes del WPP con un subtren del WPP por fila de LCU de la imagen, y codificada usando la CABAC, siendo el tren de bits de vídeo descompuesto en porciones de los subtrenes del WPP, dentro de las cuales los subtrenes del WPP están segmentados, teniendo de ese modo los límites de las porciones introducidos dentro de ellas, con la continuación de la adaptación de la probabilidad de la CABAC, a través de los límites de las porciones introducidas dentro de los subtrenes del WPP, donde cada porción comprende la información identificando, para cada porción, como a cual subtren o losa del WPP pertenece la respectiva porción, y asociando las porciones con los sectores, los subtrenes o las losas del WPP usando la información. Método para la codificación, CARACTERIZADO porque comprende la formación, mediante la codificación de una imagen, de una carga útil de secuencia de bytes en bruto, así como para describir la imagen en los subtrenes del WPP con un subtren del WPP por fila de LCU de la imagen, con la codificación entrópica de la secuencia de bytes en bruto usando la CABAC, la transmisión de la secuencia de bytes en bruto en porciones dentro de las cuales los subtrenes del WPP están segmentados, teniendo de ese modo los límites de las porciones introducidos dentro de ellas, y la continuación de la adaptación de la probabilidad de la CABAC, en la codificación entrópica a través de los límites de las porciones introducidas dentro de los subtrenes del WPP. Un programa computacional, CARACTERIZADO porque tiene un código del programa para la realización de, cuando está marchando sobre una computadora, un método de acuerdo con cualquiera de las reivindicaciones de la 13 a la 16. Un demultiplexor de transporte, CARACTERIZADO porque comprende una memoria intermedia de multiplexación; una memoria intermedia de los sectores para ser sacada mediante un decodificador multihilos, permitiendo la decodificación paralela de una imagen en los subtrenes o en las losas del WPP; una memoria intermedia de transporte, configurada para recolectar los datos pertenecientes a un paquete de TS, de un predeterminado tren elemental de un tren de bits de vídeo, y la transmisión de los datos hacia la memoria intermedia de multiplexación; donde el demultiplexor de transporte está configurado para evaluar los encabezados de las unidades de NAL de las unidades de la NAL de una secuencia de unidades de la NAL, compactadas en los paquetes de TS en una salida de la memoria intermedia de multiplexación, desechando los marcadores del subtren insertados dentro de la secuencia de unidades de la NAL, con el almacenamiento de los datos del marcador del subtren portados dentro de los marcadores del subtren, y almacenar los datos de los sectores de los subtrenes o de las losas dentro de las unidades de la NAL, siguiendo los marcadores del subtren un campo de datos de los cuales identifica un subtren o una losa del WPP iguales en una memoria intermedia del sector, y los datos de los sectores de los subtrenes o las losas del WPP, dentro de las unidades de la NAL, siguiendo los marcadores del subtren un campo de datos de los cuales se identifican los diferentes subtrenes o losas del WPP, en las diferentes memorias intermedias del sector. El demultiplexor de transporte de acuerdo con la reivindicación 18, CARACTERIZADO porque los marcadores del subtren son unidades de la NAL de marcadores del subtren que tienen un tipo de unidad de NAL diferente de las unidades de la NAL, dentro de las cuales están los datos de los sectores de los subtrenes o de las losas. El demultiplexor de transporte de acuerdo con la reivindicación 18 ó 19, CARACTERIZADO porque comprende, además, un demultiplexor configurado para recibir el tren de bits de vídeo, y dividir los paquetes de TS del tren de bits de vídeo en diferentes trenes elementales, de acuerdo con los PIDs contenidos dentro de los encabezados de TS de los paquetes de TS, de manera que cada tren elemental está compuesto de los paquetes de TS de un PID diferente de los PIDs de los paquetes de TS de otros trenes elementales. El demultiplexor de transporte, CARACTERIZADO porque está configurado para recibir un tren de bits de vídeo, comprendiendo la carga útil de secuencia de bytes en bruto, describiendo una imagen en los sectores, los subtrenes o las losas del WPP, y codificada usando la CABAC, estando el tren de bits de vídeo descompuesto en porciones de los sectores, los subtrenes o las losas del WPP, con la continuación de la adaptación de la probabilidad de la CABAC, a través de los límites de las porciones, donde cada porción comprende la información identificando, para cada porción, como a cual subtren o losa del WPP pertenece la respectiva porción, y para asociar las porciones con los sectores, los subtrenes o las losas del WPP usando la información. El demultiplexor de transporte de acuerdo con la reivindicación 21, CARACTERIZADO porque para cada porción, la información comprendida por la respectiva porción, comprende una dirección de una posición de arranque dentro de la imagen, arrancando a partir de cuya respectiva porción cubre continuadamente una porción del sector, subtren o losa del WPP, a la cual pertenece la respectiva porción. El demultiplexor de transporte de acuerdo con la reivindicación 21 ó 22, CARACTERIZADO porque el demultiplexor de transporte está configurado para clasificar, para cada sector, subtren o losa del WPP, las porciones de ellos que usan un número de orden de decodificación en los encabezados del paquete de los paquetes, dentro de los cuales las porciones están compactadas. Un sistema, CARACTERIZADO porque comprende un demultiplexor de transporte, de acuerdo con cualquiera de las reivindicaciones de la 19 a la 20, y el decodificador multihilos, donde el decodificador multihilos se ha puesto en práctica de acuerdo con la reivindicación 5. Un tren de bits de vídeo, CARACTERIZADO porque transmite una secuencia de unidades de la NAL, comprendiendo los encabezados de las unidades de NAL, la secuencia de unidades de la NAL que tienen insertado allí dentro de los marcadores del subtren, donde las unidades de la NAL portando los datos de los sectores de uno igual de los subtrenes o las losas, siguiendo los marcadores del subtren un campo de datos de los cuales identifica el subtren o la losa iguales, y los datos de los sectores de diferentes subtrenes o losas, siguiendo los diferentes marcadores del subtren un campo de datos del cual identifican los subtrenes o las losas diferentes. Método para la demultiplexación del transporte, CARACTERIZADO porque usa una memoria intermedia de multiplexación, las memorias intermedias de los sectores para ser sacadas por un decodificador multihilos, permitiendo la decodificación paralela de una imagen en los subtrenes o las losas del WPP, y una memoria intermedia de transporte configurada para recolectar los datos pertenecientes a un paquete de TS, de un predeterminado tren elemental de un tren de bits de vídeo, y transmitir los datos hacia la memoria intermedia de multiplexación, comprendiendo el método la evaluación de los encabezados de las unidades de NAL de las unidades de la NAL de una secuencia de unidades de NAL, compactadas en los paquetes de TS en una salida de la memoria intermedia de multiplexación, el desecho de las unidades de la NAL de los marcadores de subtrenes, con el almacenamiento de los datos del marcador del subtren, portados dentro de las unidades de la NAL del marcador del subtren y el almacenamiento de los datos de los sectores de los subtrenes o de las losas dentro de las unidades de la NAL, siguiendo las unidades de la NAL de los marcadores de los subtrenes un campo de datos, de los cuales identifica un subtren o losa del WPP igual, en una memoria intermedia del sector, y los datos de los sectores de los subtrenes o de las losas del WPP dentro de las unidades de la NAL, siguiendo las unidades de la NAL de los marcadores de los subtrenes un campo de datos, de los cuales identifica los subtrenes o las losas del WPP diferentes en las diferentes memorias intermedias de los sectores. Un programa computacional, CARACTERIZADO porque tiene un código del programa para la realización, cuando marcha sobre una computadora, de un método de acuerdo con la reivindicación 26.
MX2014008695A 2012-01-20 2013-01-21 Concepto de codificacion permitiendo el procesamiento paralelo, demultiplexor de transporte y tren de bits de video. MX350507B (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201261588849P 2012-01-20 2012-01-20
PCT/EP2013/051043 WO2013107906A2 (en) 2012-01-20 2013-01-21 Coding concept allowing parallel processing, transport demultiplexer and video bitstream

Publications (2)

Publication Number Publication Date
MX2014008695A true MX2014008695A (es) 2014-11-21
MX350507B MX350507B (es) 2017-09-08

Family

ID=47594765

Family Applications (1)

Application Number Title Priority Date Filing Date
MX2014008695A MX350507B (es) 2012-01-20 2013-01-21 Concepto de codificacion permitiendo el procesamiento paralelo, demultiplexor de transporte y tren de bits de video.

Country Status (23)

Country Link
US (6) US9930368B2 (es)
EP (2) EP2805491B1 (es)
JP (5) JP2015507899A (es)
KR (11) KR101863181B1 (es)
CN (5) CN109729355B (es)
AU (7) AU2013211002B2 (es)
BR (2) BR112014017915B1 (es)
CA (2) CA2861951C (es)
CL (1) CL2014001886A1 (es)
ES (1) ES2886119T3 (es)
HK (1) HK1204182A1 (es)
HU (1) HUE055964T2 (es)
IL (8) IL310411A (es)
IN (1) IN2014KN01699A (es)
MX (1) MX350507B (es)
MY (1) MY167465A (es)
PH (5) PH12014501660A1 (es)
RU (2) RU2679551C2 (es)
SG (3) SG11201404251QA (es)
TW (5) TWI753214B (es)
UA (2) UA124569C2 (es)
WO (1) WO2013107906A2 (es)
ZA (1) ZA201406040B (es)

Families Citing this family (107)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2972588A1 (fr) 2011-03-07 2012-09-14 France Telecom Procede de codage et decodage d'images, dispositif de codage et decodage et programmes d'ordinateur correspondants
FR2977111A1 (fr) * 2011-06-24 2012-12-28 France Telecom Procede de codage et decodage d'images, dispositif de codage et decodage et programmes d'ordinateur correspondants
EP2805491B1 (en) * 2012-01-20 2021-05-12 GE Video Compression, LLC Coding concept allowing parallel processing, transport demultiplexer and video bitstream
KR102489001B1 (ko) * 2012-03-22 2023-01-18 엘지전자 주식회사 비디오 인코딩 방법, 비디오 디코딩 방법 및 이를 이용하는 장치
JP6055080B2 (ja) * 2012-04-16 2016-12-27 テレフオンアクチーボラゲット エルエム エリクソン(パブル) 圧縮動画のシーケンスにおける並列処理の可能性を示す固定タイル構造フラグ
US9621905B2 (en) * 2012-06-29 2017-04-11 Qualcomm Incorporated Tiles and wavefront parallel processing
JP6080405B2 (ja) * 2012-06-29 2017-02-15 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
WO2014024491A1 (ja) 2012-08-09 2014-02-13 パナソニック株式会社 画像復号方法、画像符号化方法、画像復号装置、画像符号化装置および画像符号化復号装置
US9491457B2 (en) * 2012-09-28 2016-11-08 Qualcomm Incorporated Signaling of regions of interest and gradual decoding refresh in video coding
MY189391A (en) * 2013-01-04 2022-02-09 Samsung Electronics Co Ltd Method for entropy-encoding slice segment and apparatus therefor, and method for entropy-decoding slice segment and apparatus therefor
US9924165B1 (en) * 2013-07-03 2018-03-20 Ambarella, Inc. Interleaved video coding pipeline
US9578328B2 (en) * 2013-07-15 2017-02-21 Qualcomm Incorporated Cross-layer parallel processing and offset delay parameters for video coding
KR102435018B1 (ko) 2013-07-15 2022-08-22 지이 비디오 컴프레션, 엘엘씨 네트워크 장치 및 오류 처리
JP6268066B2 (ja) * 2013-09-20 2018-01-24 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 送信方法、受信方法、送信装置及び受信装置
US9305325B2 (en) 2013-09-25 2016-04-05 Apple Inc. Neighbor context caching in block processing pipelines
US9270999B2 (en) 2013-09-25 2016-02-23 Apple Inc. Delayed chroma processing in block processing pipelines
US9299122B2 (en) 2013-09-25 2016-03-29 Apple Inc. Neighbor context processing in block processing pipelines
US9571846B2 (en) 2013-09-27 2017-02-14 Apple Inc. Data storage and access in block processing pipelines
US9218639B2 (en) 2013-09-27 2015-12-22 Apple Inc. Processing order in block processing pipelines
US9596470B1 (en) * 2013-09-27 2017-03-14 Ambarella, Inc. Tree-coded video compression with coupled pipelines
US9215472B2 (en) 2013-09-27 2015-12-15 Apple Inc. Parallel hardware and software block processing pipelines
US9578372B2 (en) * 2013-09-27 2017-02-21 Cisco Technology, Inc. Delay tolerant decoder
KR102275639B1 (ko) 2013-10-14 2021-07-08 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 비디오 및 영상 코딩 및 디코딩에 대한 기본 색상 인덱스 맵 모드의 특징
AU2013403224B2 (en) 2013-10-14 2018-10-18 Microsoft Technology Licensing, Llc Features of intra block copy prediction mode for video and image coding and decoding
CN105659602B (zh) 2013-10-14 2019-10-08 微软技术许可有限责任公司 用于视频和图像编码的帧内块复制预测模式的编码器侧选项
US10390034B2 (en) 2014-01-03 2019-08-20 Microsoft Technology Licensing, Llc Innovations in block vector prediction and estimation of reconstructed sample values within an overlap area
WO2015100726A1 (en) 2014-01-03 2015-07-09 Microsoft Corporation Block vector prediction in video and image coding/decoding
US11284103B2 (en) 2014-01-17 2022-03-22 Microsoft Technology Licensing, Llc Intra block copy prediction with asymmetric partitions and encoder-side search patterns, search ranges and approaches to partitioning
KR101895296B1 (ko) * 2014-02-12 2018-09-05 주식회사 칩스앤미디어 동영상 처리 방법 및 장치
US10542274B2 (en) 2014-02-21 2020-01-21 Microsoft Technology Licensing, Llc Dictionary encoding and decoding of screen content
AU2014385769B2 (en) 2014-03-04 2018-12-06 Microsoft Technology Licensing, Llc Block flipping and skip mode in intra block copy prediction
CA2950171C (en) * 2014-05-28 2019-11-19 Arris Enterprises Llc Content aware scheduling in a hevc decoder operating on a multi-core processor platform
KR102311815B1 (ko) 2014-06-19 2021-10-13 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 통합된 인트라 블록 카피 및 인터 예측 모드
US9807410B2 (en) 2014-07-02 2017-10-31 Apple Inc. Late-stage mode conversions in pipelined video encoders
JP2017535145A (ja) 2014-09-30 2017-11-24 マイクロソフト テクノロジー ライセンシング,エルエルシー 波面並列処理が可能にされた場合のピクチャ内予測モードに関する規則
US9591325B2 (en) 2015-01-27 2017-03-07 Microsoft Technology Licensing, Llc Special case handling for merged chroma blocks in intra block copy prediction mode
US10027989B2 (en) * 2015-05-06 2018-07-17 Integrated Device Technology, Inc. Method and apparatus for parallel decoding
WO2016197314A1 (en) 2015-06-09 2016-12-15 Microsoft Technology Licensing, Llc Robust encoding/decoding of escape-coded pixels in palette mode
US10003811B2 (en) 2015-09-01 2018-06-19 Microsoft Technology Licensing, Llc Parallel processing of a video frame
US20170105010A1 (en) * 2015-10-09 2017-04-13 Microsoft Technology Licensing, Llc Receiver-side modifications for reduced video latency
US10230948B2 (en) 2016-02-03 2019-03-12 Mediatek Inc. Video transmitting system with on-the-fly encoding and on-the-fly delivering and associated video receiving system
JP6714078B2 (ja) * 2016-05-10 2020-06-24 オリンパス株式会社 画像処理装置、画像処理方法及び画像処理プログラム
CN114125505A (zh) * 2016-05-26 2022-03-01 弗劳恩霍夫应用研究促进协会 针对交互式客户端的全景视频的广播流
CN107483950A (zh) * 2016-06-07 2017-12-15 北京大学 图片并行编码方法及系统
US20180020228A1 (en) * 2016-07-12 2018-01-18 Mediatek Inc. Video processing system with multiple syntax parsing circuits and/or multiple post decoding circuits
EP3603074A2 (en) * 2017-03-20 2020-02-05 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Advanced video data stream extraction and multi-resolution video transmission
WO2018207956A1 (ko) * 2017-05-10 2018-11-15 엘지전자(주) 비디오 신호를 엔트로피 인코딩, 디코딩하는 방법 및 장치
US10897269B2 (en) 2017-09-14 2021-01-19 Apple Inc. Hierarchical point cloud compression
US10861196B2 (en) 2017-09-14 2020-12-08 Apple Inc. Point cloud compression
US11818401B2 (en) 2017-09-14 2023-11-14 Apple Inc. Point cloud geometry compression using octrees and binary arithmetic encoding with adaptive look-up tables
US10909725B2 (en) 2017-09-18 2021-02-02 Apple Inc. Point cloud compression
US11113845B2 (en) 2017-09-18 2021-09-07 Apple Inc. Point cloud compression using non-cubic projections and masks
GB2569269B (en) * 2017-10-20 2020-07-15 Graphcore Ltd Synchronization in a multi-tile processing arrangement
US10607373B2 (en) 2017-11-22 2020-03-31 Apple Inc. Point cloud compression with closed-loop color conversion
GB2569645B (en) * 2017-12-22 2022-02-23 Displaylink Uk Ltd Managing data for transportation
US10986349B2 (en) 2017-12-29 2021-04-20 Microsoft Technology Licensing, Llc Constraints on locations of reference blocks for intra block copy prediction
US10909727B2 (en) 2018-04-10 2021-02-02 Apple Inc. Hierarchical point cloud compression with smoothing
US10939129B2 (en) 2018-04-10 2021-03-02 Apple Inc. Point cloud compression
US11010928B2 (en) 2018-04-10 2021-05-18 Apple Inc. Adaptive distance based point cloud compression
US10909726B2 (en) 2018-04-10 2021-02-02 Apple Inc. Point cloud compression
US11252429B2 (en) * 2018-04-27 2022-02-15 Ati Technologies Ulc Low-latency consumption of an encoded video bitstream
CN114900694A (zh) 2018-06-29 2022-08-12 抖音视界(北京)有限公司 哪个查找表需要更新或不更新
JP7460617B2 (ja) 2018-06-29 2024-04-02 北京字節跳動網絡技術有限公司 Lut更新条件
EP3794825A1 (en) 2018-06-29 2021-03-24 Beijing Bytedance Network Technology Co. Ltd. Update of look up table: fifo, constrained fifo
BR112020024142A2 (pt) 2018-06-29 2021-03-02 Beijing Bytedance Network Technology Co., Ltd. método para processamento de vídeo, aparelho para codificação de dados de vídeo, meio de armazenamento e meio de gravação legíveis por computador não transitório
EP4322533A3 (en) 2018-06-29 2024-03-06 Beijing Bytedance Network Technology Co., Ltd. Checking order of motion candidates in lut
JP7295230B2 (ja) * 2018-06-29 2023-06-20 北京字節跳動網絡技術有限公司 スライス/タイル/lcuの行ごとのルックアップテーブルのリセット
EP3791586A1 (en) 2018-06-29 2021-03-17 Beijing Bytedance Network Technology Co. Ltd. Concept of using one or multiple look up tables to store motion information of previously coded in order and use them to code following blocks
WO2020003282A1 (en) 2018-06-29 2020-01-02 Beijing Bytedance Network Technology Co., Ltd. Managing motion vector predictors for video coding
TWI719525B (zh) 2018-06-29 2021-02-21 大陸商北京字節跳動網絡技術有限公司 Lut與amvp之間的交互
US11017566B1 (en) 2018-07-02 2021-05-25 Apple Inc. Point cloud compression with adaptive filtering
TWI748202B (zh) 2018-07-02 2021-12-01 大陸商北京字節跳動網絡技術有限公司 Lamvr中取整和修剪的順序
EP3591975A1 (en) * 2018-07-03 2020-01-08 Industrial Technology Research Institute Method and apparatus for processing patches of a point cloud
US11202098B2 (en) 2018-07-05 2021-12-14 Apple Inc. Point cloud compression with multi-resolution video encoding
US11012713B2 (en) 2018-07-12 2021-05-18 Apple Inc. Bit stream structure for compressed point cloud data
CN111064961B (zh) 2018-09-12 2023-06-09 北京字节跳动网络技术有限公司 视频处理方法和装置
KR20210065161A (ko) * 2018-09-28 2021-06-03 지티이 코포레이션 비디오 인코딩 및 디코딩 방법 및 장치
US11367224B2 (en) 2018-10-02 2022-06-21 Apple Inc. Occupancy map block-to-patch information compression
US11206244B2 (en) * 2018-12-21 2021-12-21 ARRIS Enterprise LLC Method to preserve video data obfuscation for video frames
WO2020143741A1 (en) 2019-01-10 2020-07-16 Beijing Bytedance Network Technology Co., Ltd. Invoke of lut updating
CN113383554B (zh) 2019-01-13 2022-12-16 北京字节跳动网络技术有限公司 LUT和共享Merge列表之间的交互
CN113302937A (zh) 2019-01-16 2021-08-24 北京字节跳动网络技术有限公司 运动候选推导
WO2020192611A1 (en) 2019-03-22 2020-10-01 Beijing Bytedance Network Technology Co., Ltd. Interaction between merge list construction and other tools
US20220182681A1 (en) * 2019-03-24 2022-06-09 Lg Electronics Inc. Image or video coding based on sub-picture handling structure
US11057564B2 (en) 2019-03-28 2021-07-06 Apple Inc. Multiple layer flexure for supporting a moving image sensor
KR20200132761A (ko) 2019-05-15 2020-11-25 현대자동차주식회사 동영상 데이터의 병렬 부호화 및 복호화를 위한 방법 및 장치
WO2020231220A1 (ko) * 2019-05-15 2020-11-19 현대자동차주식회사 동영상 데이터의 병렬 부호화 및 복호화를 위한 방법 및 장치
US11711544B2 (en) 2019-07-02 2023-07-25 Apple Inc. Point cloud compression with supplemental information messages
US11627314B2 (en) 2019-09-27 2023-04-11 Apple Inc. Video-based point cloud compression with non-normative smoothing
US11562507B2 (en) 2019-09-27 2023-01-24 Apple Inc. Point cloud compression using video encoding with time consistent patches
US11398833B2 (en) 2019-10-02 2022-07-26 Apple Inc. Low-latency encoding using a bypass sub-stream and an entropy encoded sub-stream
US11538196B2 (en) 2019-10-02 2022-12-27 Apple Inc. Predictive coding for point cloud compression
US11895307B2 (en) 2019-10-04 2024-02-06 Apple Inc. Block-based predictive coding for point cloud compression
US11798196B2 (en) 2020-01-08 2023-10-24 Apple Inc. Video-based point cloud compression with predicted patches
US11475605B2 (en) 2020-01-09 2022-10-18 Apple Inc. Geometry encoding of duplicate points
WO2021252978A1 (en) * 2020-06-12 2021-12-16 Bytedance Inc. Constraints on picture output ordering in a video bitstream
CN111726626B (zh) * 2020-06-18 2022-05-03 格兰菲智能科技有限公司 集成电路及用于视频解码的概率表存储方法
US11615557B2 (en) 2020-06-24 2023-03-28 Apple Inc. Point cloud compression using octrees with slicing
US11620768B2 (en) 2020-06-24 2023-04-04 Apple Inc. Point cloud geometry compression using octrees with multiple scan orders
TWI774233B (zh) * 2020-09-23 2022-08-11 瑞昱半導體股份有限公司 訊號傳輸系統與發射端編碼裝置
EP4241452A1 (en) * 2020-12-10 2023-09-13 Apple Inc. Concatenation of chunked entropy streams
US11375242B1 (en) 2021-01-27 2022-06-28 Qualcomm Incorporated Compression of bitstream indexes for parallel entropy coding
US11948338B1 (en) 2021-03-29 2024-04-02 Apple Inc. 3D volumetric content encoding using 2D videos and simplified 3D meshes
CN112995237B (zh) * 2021-05-21 2021-10-08 杭州博雅鸿图视频技术有限公司 一种用于处理视频数据流的方法、装置、设备及存储介质
KR20230022061A (ko) 2021-08-06 2023-02-14 삼성전자주식회사 디코딩 장치 및 그의 동작 방법
CN114339349A (zh) * 2021-12-10 2022-04-12 海信视像科技股份有限公司 一种显示设备、数据传输方法及存储介质
GB2621917A (en) * 2022-06-16 2024-02-28 Mbda Uk Ltd Method for image encoding

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5926205A (en) 1994-10-19 1999-07-20 Imedia Corporation Method and apparatus for encoding and formatting data representing a video program to provide multiple overlapping presentations of the video program
US6683909B1 (en) * 2000-03-16 2004-01-27 Ezenial Inc. Macroblock parsing without processing overhead
CN101043626B (zh) 2002-07-15 2010-06-09 株式会社日立制作所 动态图像编码方法
JP2007525038A (ja) 2003-01-09 2007-08-30 トムソン ライセンシング Wlan配信のためmpegトランスポートストリームをipパケットに変換する方法及び装置
US7688895B2 (en) * 2003-07-22 2010-03-30 Lsi Corporation Method and/or circuit for binary arithmetic decoding decisions before termination
US7558954B2 (en) 2003-10-31 2009-07-07 Hewlett-Packard Development Company, L.P. Method and apparatus for ensuring the integrity of data
JP4931034B2 (ja) * 2004-06-10 2012-05-16 株式会社ソニー・コンピュータエンタテインメント 復号装置および復号方法、並びに、プログラムおよびプログラム記録媒体
US20060002479A1 (en) 2004-06-22 2006-01-05 Fernandes Felix C A Decoder for H.264/AVC video
US20060062312A1 (en) * 2004-09-22 2006-03-23 Yen-Chi Lee Video demultiplexer and decoder with efficient data recovery
US7675872B2 (en) 2004-11-30 2010-03-09 Broadcom Corporation System, method, and apparatus for displaying pictures
BRPI0620645B8 (pt) * 2006-01-05 2022-06-14 Nippon Telegraph & Telephone Método e aparelho de codificação de vídeo, e método e aparelho de decodificação de vídeo
US8315308B2 (en) * 2006-01-11 2012-11-20 Qualcomm Incorporated Video coding with fine granularity spatial scalability
JP2007214998A (ja) * 2006-02-10 2007-08-23 Fuji Xerox Co Ltd 符号化装置、復号化装置、符号化方法、復号化方法、及びプログラム
KR101450921B1 (ko) 2006-07-05 2014-10-15 톰슨 라이센싱 멀티뷰 비디오 엔코딩 및 디코딩을 위한 방법 및 장치
US20080040498A1 (en) 2006-08-10 2008-02-14 Nokia Corporation System and method of XML based content fragmentation for rich media streaming
JP2008141483A (ja) * 2006-12-01 2008-06-19 Brother Ind Ltd ツリー型配信システム、ノード装置、情報処理プログラム及び情報配信方法
KR100849495B1 (ko) 2006-12-04 2008-07-31 한국전자통신연구원 Rtp 패킷화 모드별 비트율 생성 방법
CN101198051B (zh) * 2006-12-07 2011-10-05 深圳艾科创新微电子有限公司 基于h.264的熵解码器的实现方法及装置
KR101008608B1 (ko) * 2007-08-22 2011-01-17 니폰덴신뎅와 가부시키가이샤 비디오 품질 평가 장치, 비디오 품질 평가 방법, 프레임 유형 결정 방법, 및 기록 매체
US8938009B2 (en) * 2007-10-12 2015-01-20 Qualcomm Incorporated Layered encoded bitstream structure
CN101170688B (zh) * 2007-11-26 2010-12-01 电子科技大学 一种宏块模式的快速选择方法
US8542748B2 (en) * 2008-03-28 2013-09-24 Sharp Laboratories Of America, Inc. Methods and systems for parallel video encoding and decoding
JP4875024B2 (ja) * 2008-05-09 2012-02-15 株式会社東芝 画像情報伝送装置
US8619856B2 (en) * 2008-10-03 2013-12-31 Qualcomm Incorporated Video coding with large macroblocks
US7932843B2 (en) * 2008-10-17 2011-04-26 Texas Instruments Incorporated Parallel CABAC decoding for video decompression
US9467699B2 (en) * 2008-12-03 2016-10-11 Hfi Innovation Inc. Method for performing parallel coding with ordered entropy slices, and associated apparatus
KR101063424B1 (ko) 2009-02-02 2011-09-07 주식회사 코아로직 비디오 데이터 처리 장치 및 방법
JP2010278668A (ja) * 2009-05-27 2010-12-09 Sony Corp 符号化装置及び符号化方法、並びに復号装置及び復号方法
JP5212319B2 (ja) 2009-09-08 2013-06-19 ブラザー工業株式会社 符号化装置、符号化方法、および符号化プログラム
US20110194613A1 (en) * 2010-02-11 2011-08-11 Qualcomm Incorporated Video coding with large macroblocks
TWI403170B (zh) 2010-05-21 2013-07-21 Univ Nat Chiao Tung 背景調適性二進制算術解碼裝置及其解碼方法
US8344917B2 (en) * 2010-09-30 2013-01-01 Sharp Laboratories Of America, Inc. Methods and systems for context initialization in video coding and decoding
US20120163457A1 (en) * 2010-12-28 2012-06-28 Viktor Wahadaniah Moving picture decoding method, moving picture coding method, moving picture decoding apparatus, moving picture coding apparatus, and moving picture coding and decoding apparatus
US9370647B2 (en) 2011-07-14 2016-06-21 W. L. Gore & Associates, Inc. Expandable medical devices
BR112014001026B1 (pt) * 2011-07-15 2022-05-03 Ge Video Compression, Llc Codificação de matriz de amostra de baixo atrasdo
EP2805491B1 (en) * 2012-01-20 2021-05-12 GE Video Compression, LLC Coding concept allowing parallel processing, transport demultiplexer and video bitstream
SG11201406493RA (en) * 2012-04-13 2014-11-27 Ge Video Compression Llc Low delay picture coding

Also Published As

Publication number Publication date
SG10201606621XA (en) 2016-09-29
US20140334557A1 (en) 2014-11-13
EP2805491B1 (en) 2021-05-12
SG11201404251QA (en) 2014-08-28
RU2017103637A (ru) 2019-01-18
TW202339503A (zh) 2023-10-01
CN104081781B (zh) 2018-11-02
AU2023266237A1 (en) 2024-02-08
CN109729350B (zh) 2023-04-07
US10880579B2 (en) 2020-12-29
BR112014017915B1 (pt) 2021-03-16
IL262644A (en) 2018-12-31
IL298776B1 (en) 2024-03-01
JP6808341B2 (ja) 2021-01-06
JP2015507899A (ja) 2015-03-12
KR102365958B1 (ko) 2022-02-23
CA2861951A1 (en) 2013-07-25
AU2017210565A1 (en) 2017-08-24
IL310411A (en) 2024-03-01
HK1204182A1 (en) 2015-11-06
RU2610291C2 (ru) 2017-02-08
KR20170078851A (ko) 2017-07-07
TW201336314A (zh) 2013-09-01
PH12014501660B1 (en) 2014-10-13
CN109729357A (zh) 2019-05-07
AU2020244429B2 (en) 2021-09-30
WO2013107906A3 (en) 2013-09-26
TW202315404A (zh) 2023-04-01
KR20150003407A (ko) 2015-01-08
US10873766B2 (en) 2020-12-22
AU2017210565B2 (en) 2019-06-20
EP2805491A2 (en) 2014-11-26
KR20170077295A (ko) 2017-07-05
AU2013211002A1 (en) 2014-09-18
UA114618C2 (uk) 2017-07-10
WO2013107906A2 (en) 2013-07-25
TW201921939A (zh) 2019-06-01
IN2014KN01699A (es) 2015-10-23
KR102210228B1 (ko) 2021-02-01
PH12018500346B1 (en) 2018-07-09
JP2022165992A (ja) 2022-11-01
RU2679551C2 (ru) 2019-02-11
TWI775701B (zh) 2022-08-21
IL290402B2 (en) 2023-05-01
AU2013211002B2 (en) 2016-01-14
US20180167641A1 (en) 2018-06-14
AU2019226180B2 (en) 2020-07-02
US20190124364A1 (en) 2019-04-25
UA124569C2 (uk) 2021-10-13
CN109729355A (zh) 2019-05-07
PH12018500347B1 (en) 2018-07-09
RU2014134041A (ru) 2016-03-20
RU2019102609A3 (es) 2021-11-23
IL251266A0 (en) 2017-05-29
TW202218426A (zh) 2022-05-01
TWI645715B (zh) 2018-12-21
KR20200010606A (ko) 2020-01-30
JP2016158267A (ja) 2016-09-01
ZA201406040B (en) 2015-12-23
HUE055964T2 (hu) 2022-01-28
KR20180059571A (ko) 2018-06-04
JP2018198447A (ja) 2018-12-13
KR20170078850A (ko) 2017-07-07
KR101863181B1 (ko) 2018-05-31
RU2019102609A (ru) 2020-07-30
AU2020244429A1 (en) 2020-10-29
KR20230038817A (ko) 2023-03-21
CN109729357B (zh) 2022-07-26
PH12018500346A1 (en) 2018-07-09
AU2016202208B2 (en) 2017-05-04
IL262644B (en) 2019-07-31
JP2020167719A (ja) 2020-10-08
KR101863177B1 (ko) 2018-05-31
CA2861951C (en) 2020-08-11
IL284595A (en) 2021-08-31
BR112014017915A2 (pt) 2019-10-08
IL298776A (en) 2023-02-01
IL290402B1 (en) 2023-01-01
US20180167640A1 (en) 2018-06-14
US20190306537A1 (en) 2019-10-03
IL290402A (en) 2022-04-01
PH12018500344B1 (en) 2018-07-09
KR20220025288A (ko) 2022-03-03
KR20210012066A (ko) 2021-02-02
US10887625B2 (en) 2021-01-05
AU2021290315B2 (en) 2023-08-17
MY167465A (en) 2018-08-29
IL284595B (en) 2022-03-01
KR101752879B1 (ko) 2017-06-30
JP7111771B2 (ja) 2022-08-02
CL2014001886A1 (es) 2014-11-21
MX350507B (es) 2017-09-08
AU2019226180A1 (en) 2019-09-26
PH12014501660A1 (en) 2014-10-13
EP3923578A1 (en) 2021-12-15
IL267776A (en) 2019-08-29
PH12018500345A1 (en) 2018-07-09
KR101718488B1 (ko) 2017-03-21
AU2021290315A1 (en) 2022-01-27
IL233699A0 (en) 2014-09-30
KR20140131926A (ko) 2014-11-14
PH12018500347A1 (en) 2018-07-09
PH12018500345B1 (en) 2018-07-09
IL267776B (en) 2021-07-29
CN109729356A (zh) 2019-05-07
IL251266B (en) 2018-10-31
KR102510411B1 (ko) 2023-03-16
TWI804390B (zh) 2023-06-01
US20190124365A1 (en) 2019-04-25
US9930368B2 (en) 2018-03-27
JP6721638B2 (ja) 2020-07-15
CA3081964A1 (en) 2013-07-25
KR101862329B1 (ko) 2018-05-29
TWI753214B (zh) 2022-01-21
AU2016202208A1 (en) 2016-05-05
KR101863179B1 (ko) 2018-05-31
PH12018500344A1 (en) 2018-07-09
IL233699A (en) 2017-04-30
US10880578B2 (en) 2020-12-29
KR20170078852A (ko) 2017-07-07
SG10202001107WA (en) 2020-04-29
ES2886119T3 (es) 2021-12-16
BR122020007529B1 (pt) 2021-09-21
CN109729355B (zh) 2022-07-26
CN104081781A (zh) 2014-10-01
US10880577B2 (en) 2020-12-29
CN109729356B (zh) 2022-07-08
KR102070887B1 (ko) 2020-01-29
CN109729350A (zh) 2019-05-07
US20210044835A1 (en) 2021-02-11
TW201728174A (zh) 2017-08-01
RU2017103637A3 (es) 2019-01-18
TWI559744B (zh) 2016-11-21

Similar Documents

Publication Publication Date Title
US10880579B2 (en) Coding concept allowing parallel processing, transport demultiplexer and video bitstream
RU2808541C1 (ru) Принцип кодирования, делающий возможной параллельную обработку, транспортный демультиплексор и битовый поток видео
RU2773795C2 (ru) Принцип кодирования, делающий возможной параллельную обработку, транспортный демультиплексор и битовый поток видео
TWI835639B (zh) 允許平行處理之編碼器、解碼器、傳送解多工器、系統、儲存媒體、方法及電腦程式

Legal Events

Date Code Title Description
FG Grant or registration