MX2015002890A - Metodo de decodificacion de imagenes, metodo de codificacion de imagenes, aparato de decodificacion de imagenes, aparato de codificacion de imagenes y aparato de codificacion y decodificacion de imagenes. - Google Patents

Metodo de decodificacion de imagenes, metodo de codificacion de imagenes, aparato de decodificacion de imagenes, aparato de codificacion de imagenes y aparato de codificacion y decodificacion de imagenes.

Info

Publication number
MX2015002890A
MX2015002890A MX2015002890A MX2015002890A MX2015002890A MX 2015002890 A MX2015002890 A MX 2015002890A MX 2015002890 A MX2015002890 A MX 2015002890A MX 2015002890 A MX2015002890 A MX 2015002890A MX 2015002890 A MX2015002890 A MX 2015002890A
Authority
MX
Mexico
Prior art keywords
cut
row
image
coding
decoding
Prior art date
Application number
MX2015002890A
Other languages
English (en)
Other versions
MX341067B (es
Inventor
Matthias Narroschke
Thomas Wedi
Semih Esenlik
Original Assignee
Panasonic Ip Corp America
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=50338837&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=MX2015002890(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Panasonic Ip Corp America filed Critical Panasonic Ip Corp America
Publication of MX2015002890A publication Critical patent/MX2015002890A/es
Publication of MX341067B publication Critical patent/MX341067B/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/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/189Recording image signals; Reproducing recorded image signals
    • 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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/167Position within a video image, e.g. region of interest [ROI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/184Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream

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)

Abstract

La presente invención se refiere a un método de decodificación de imágenes para decodificar una corriente de bits que incluye una señal codificada que resulta de la codificación de cortes en los cuales se divide una imagen y cada uno de los cuales incluye unidades de codificación, incluye decodificar la señal codificada, en donde cada uno de los cortes es ya sea un corte normal que tiene, en un encabezado de corte, información utilizada para otro corte o un corte dependiente el cual se decodifica utilizando información incluida en un encabezado de corte de otro corte, la imagen incluye hileras cada una de las cuales incluye unidades de codificación y cuando el corte normal inicia en una posición diferente del comienzo de la primera hilera, la segunda hilera inmediatamente después de la primera hilera no inicia con el corte dependiente.

Description

MÉTODO DE DECODIFICACIÓN DE IMÁGENES, MÉTODO DE CODIFICACIÓN DE IMÁGENES, APARATO DE DECODIFICACIÓN DE IMÁGENES, APARATO DE CODIFICACIÓN DE IMÁGENES Y APARATO DE CODIFICACIÓN Y DECODIFICACION DE IMAGENES Campo de la Invención La presente invención se refiere a un método de codificación de imágenes y un método de decodificación de imágenes.
Antecedentes de la Invención En la actualidad, la mayoría de algoritmos de codificación de video estandarizados se basan en la codificación híbrida de video. Los métodos de codificación híbrida de video combinan típicamente varios esquemas diferentes de compresión sin pérdida y con pérdida con el propósito de lograr la ganancia de compresión deseada. La codificación híbrida de video híbrido también es la base para los estándares de ITU-T (estándares H.26x tales como H.261 y H.263) así como también estándares de ISO/IEC (estándares MPEG-X tales como MPEG-1, MPEG-2 y MPEG-4).
El estándar de codificación de video más reciente y avanzado es actualmente el estándar denominado como codificación avanzada de video H.264/MPEG-4 (AVC, por sus siglas en inglés) el cual es el resultado de esfuerzos de estandarización por parte del Equipo Conjunto de Video (JVT, REF: 252686 por sus siglas en inglés), un equipo conjunto de los grupos ITU-T e ISO/IEC MPEG.
Un estándar de codificación de video referido como Codificación de Video de Alta Eficiencia (HEVC, por sus siglas en inglés) también es examinado actualmente por el Equipo Cooperativo Conjunto en la Codificación de Video (JCT-VC, por sus siglas en inglés) con el propósito de mejorar la eficiencia con respecto a la codificación de video de alta resolución.
Lista de Referencias Bibliografía que no es Patente [Bibliografía que no es Patente 1] "Wavefront Parallel Processing for HEVC Encoding and Decoding" por C. Gordon y colaboradores, no. JCTVC-F274-v2, de the Meeting in Torino, Julio de 2011 [Bibliografía que no es Patente 2] "Tiles" por A. Fuldseth y colaboradores, no. JCTVC-F355-vi, de the Meeting in Torino, Julio de 2011 [Bibliografía que no es Patente 3] JCTVC-J1003_d7, "High efficiency video coding (HEVC) text specification draft 8" de Julio de 2012 Breve Descripción de la Invención Problema Téenico En estos métodos de codificación de imágenes y métodos de decodificación de imágenes, ha habido una demanda por una eficiencia mejorada en una situación donde se utiliza tanto el procesamiento paralelo como cortes dependientes.
Un objetivo de la presente invención es proporcionar un método de codificación de imágenes y un método de decodificación de imágenes los cuales hacen posible mejorar la eficiencia cuando se utiliza tanto el procesamiento paralelo como los cortes dependientes.
Solución al Problema Un método de decodificación de imágenes de acuerdo con un aspecto de la presente invención es un método de decodificación de imágenes para decodificar una corriente de bits que incluye una señal codificada que resulta de la codificación de una pluralidad de cortes en los cuales se divide una imagen y cada uno de los cuales incluye una pluralidad de unidades de codificación, el método comprende decodificar la señal codificada, en donde cada uno de los cortes es ya sea un corte normal que tiene, en un encabezado de corte, información utilizada para otro corte o un corte dependiente el cual se decodifica utilizando información incluida en un encabezado de corte de otro corte, la imagen incluye una pluralidad de hileras cada una de las cuales incluye dos o más de las unidades de codificación y cuando el corte normal inicia en una posición diferente del comienzo de una primera hilera, una segunda hilera inmediatamente después de la primera hilera no inicia con el corte dependiente.
Estos aspectos generales y específicos se pueden implementar utilizando un sistema, método, circuito integrado, programa de computadora o medio de grabación legible por computadora tal como un CD-ROM o cualquier combinación de sistemas, métodos, circuitos integrados, programas de computadora o medios de grabación legibles por computadora.
Efectos Ventajosos de la Invención La presente invención puede proporcionar un método de codificación de imágenes y un método de decodificación de imágenes los cuales hacen posible mejorar la eficiencia cuando se utiliza tanto el procesamiento paralelo como los cortes dependientes.
Breve Descripción de las Figuras La FIGURA 1 es un diagrama de bloques que muestra un aparato de codificación de imágenes de acuerdo con modalidades.
La FIGURA 2 es un diagrama de bloques que muestra un aparato de decodificación de imágenes de acuerdo con las modalidades.
La FIGURA 3A es un diagrama esquemático para ilustrar el WPP de acuerdo con las modalidades.
La FIGURA 3B es un diagrama esquemático para ilustrar los cortes dependientes en el WPP de acuerdo con las modalidades.
La FIGURA 4A es un diagrama esquemático para ilustrar los cortes dependientes cuando el WPP no se aplica de acuerdo con las modalidades.
La FIGURA 4B es un diagrama esquemático para ilustrar los cortes dependientes cuando el WPP se aplica de acuerdo con las modalidades.
La FIGURA 5 es un diagrama que muestra un encabezado de corte de un corte entrópico o un corte dependiente de acuerdo con las modalidades.
La FIGURA 6 es un diagrama que muestra una estructura de corte no permitida ejemplar cuando el WPP se aplica de acuerdo con las modalidades.
La FIGURA 7 es un diagrama que muestra una estructura de corte permitida, ejemplar cuando el WPP se aplica de acuerdo con las modalidades.
La FIGURA 8 es un diagrama esquemático que muestra un proceso de inicialización de CABAC de acuerdo con las modalidades.
La FIGURA 9 es un diagrama de flujo para un proceso de determinación en un método de inicialización de CABAC para un corte dependiente en función de las características de un corte precedente de acuerdo con las modalidades.
La FIGURA 10 es un diagrama que muestra una estructura de corte ejemplar de acuerdo con las modalidades.
La FIGURA 11 es un diagrama que muestra una estructura de corte ejemplar de acuerdo con las modalidades.
La FIGURA 12 es un diagrama que muestra la sintaxis ejemplar de un encabezado de corte de acuerdo con la Modalidad 1.
La FIGURA 13 es un diagrama de flujo para un proceso de determinación en un método de inicialización de CABAC para un corte dependiente de acuerdo con la Modalidad 1.
La FIGURA 14 es un diagrama que muestra una representación visual ejemplar dividida en cortes de acuerdo con la Modalidad 2.
La FIGURA 15 es un diagrama de flujo para un proceso de determinación en un método de inicialización de CABAC de acuerdo con la Modalidad 2.
La FIGURA 16 es un diagrama que muestra una representación visual ejemplar dividida en cortes de acuerdo con la Modalidad 2.
La FIGURA 17A es un diagrama que muestra una estructura de corte no permitida, ejemplar de acuerdo con la Modalidad 2.
La FIGURA 17B es un diagrama que muestra una estructura de corte permitida, ejemplar de acuerdo con la Modalidad 2.
La FIGURA 17C es un diagrama que muestra una estructura de corte permitida, ejemplar de acuerdo con la Modalidad 2.
La FIGURA 17D es un diagrama que muestra una estructura de corte permitida, ejemplar de acuerdo con la Modalidad 2.
La FIGURA 18 es un diagrama que muestra una representación visual ejemplar dividida en cortes de acuerdo con la Modalidad 2.
La FIGURA 19 es un diagrama que muestra una representación visual ejemplar dividida en cortes de acuerdo con la Modalidad 3.
La FIGURA 20 muestra una configuración global de un sistema de provisión de contenido para implementar servicios de distribución de contenido.
La FIGURA 21 muestra una configuración global de un sistema de difusión digital.
La FIGURA 22 muestra un diagrama de bloques que ilustra un ejemplo de una configuración de una televisión.
La FIGURA 23 muestra un diagrama de bloques que ilustra un ejemplo de una configuración de una unidad de reproducción/grabación de información que lee y escribe información de y en un medio de grabación que es un disco óptico.
La FIGURA 24 muestra un ejemplo de una configuración de un medio de grabación que es un disco óptico.
La FIGURA 25A muestra un ejemplo de un teléfono celular.
La FIGURA 25B muestra un diagrama de bloques que ilustra un ejemplo de una configuración de un teléfono celular.
La FIGURA 26 ilustra una estructura de datos multiplexados.
La FIGURA 27 muestra esquemáticamente como cada corriente es multiplexada en datos multiplexados.
La FIGURA 28 muestra con mayor detalle como una corriente de video se almacena en una corriente de paquetes PES.
La FIGURA 29 muestra una estructura de paquetes TS y paquetes fuente en los datos multiplexados.
La FIGURA 30 ilustra una estructura de datos de una PMT.
La FIGURA 31 muestra una estructura interna de información de datos multiplexados.
La FIGURA 32 muestra una estructura interna de información de atributos de corriente.
La FIGURA 33 muestra pasos para identificar datos de video.
La FIGURA 34 muestra un diagrama de bloques que ilustra un ejemplo de una configuración de un circuito integrado para implementar el método de codificación de representaciones visuales en movimiento y el método de decodificación de representaciones visuales en movimiento de acuerdo con cada una de las modalidades.
La FIGURA 35 muestra una configuración para la conmutación entre frecuencias impulsoras.
La FIGURA 36 muestra pasos para identificar datos de video y para la conmutación entre frecuencias impulsoras.
La FIGURA 37 muestra un ejemplo de una tabla de consulta en la cual los estándares de datos de video se asocian con frecuencias impulsoras.
La FIGURA 38A es un diagrama que muestra un ejemplo de una configuración para compartir un módulo de una unidad de procesamiento de señales.
La FIGURA 38B es un diagrama que muestra otro ejemplo de una configuración para compartir un módulo de la unidad de procesamiento de señales.
Descripción Detallada de la Invención Conocimiento Fundamental que Forma la Base de la Presente Invención En relación con el método de codificación de imágenes y el método de decodificación de imágenes dados a conocer en la sección de Antecedentes de la Invención, los inventores han descubierto los siguientes problemas.
En primer lugar, se describe un aparato de codificación de imágenes y un aparato de decodificación de imágenes en HEVC.
Una entrada de señal de video a un aparato de codificación de imágenes incluye imágenes cada una referida como una trama (representación visual). Cada trama incluye pixeles dispuestos en una matriz bidimensional. En todos los estándares mencionados anteriormente basados en la codificación híbrida de video, cada trama individual se divide en bloques cada uno que incluye pixeles. El tamaño de los bloques puede variar, por ejemplo, de acuerdo con el contenido de una imagen. Un método de codificación diferente se puede utilizar en una base por bloques. Por ejemplo, el tamaño más grande de los bloques es 64 x 64 pixeles en HEVC. Este tamaño más grande es referido como una unidad de codificación más grande (LCU, por sus siglas en inglés). La LCU puede dividirse recursivamente en cuatro unidades de codificación (CUs, por sus siglas en inglés).
En el H.264/MPEG-4 AVC, la codificación se realiza en una base por macrobloques (usualmente bloques de 16 x 16 pixeles). Existe un caso donde el macrobloque se divide en sub-bloques.
Típicamente, un paso de codificación en la codificación híbrida de video incluye la predicción espacial y/o temporal. En resumen, cada uno de los bloques actuales que son codificados se predice utilizando bloques espacial o temporalmente adyacentes al bloque actual, es decir, tramas de video codificadas. Después, se calcula un bloque residual que es una diferencia entre el bloque actual y el resultado de la predicción. Después, el bloque residual se transforma de dominio espacial (pixel) a dominio de frecuencia. La transformación se dirige a la reducción de la correlación de un bloque de entrada.
Después, se cuantifica un coeficiente de transformación que resulta de la transformación. Esta cuantificación es una compresión con pérdida. La compresión sin pérdida se realiza en el coeficiente de cuantificación obtenido de esta manera, utilizando la codificación entrópica. Además, la información secundaria que es necesaria para reconstruir la señal de video codificada se codifica y se envía con la señal de video codificada. Esta información es, por ejemplo, información acerca de la predicción espacial, predicción temporal y/o cuantificación.
La FIGURA 1 es un diagrama de bloques que muestra un aparato de codificación de imágenes ejemplar 100 compatible con el H.264/MPEG-4 AVC y/o el HEVC.
Un sustractor 105 calcula una señal residual 106 (bloque residual) que es una diferencia entre un bloque actual que es codificado de una señal de imagen de entrada 101 y una señal de predicción correspondiente 181 (bloque de predicción). La señal de predicción 181 es generada por medio de la predicción temporal o predicción espacial por una unidad de predicción 180. Un tipo de la predicción se puede cambiar en una base por tramas o bloques. Un bloque y/o una trama predicho utilizando la predicción temporal es referido como que es ínter-codificado y un bloque y/o una trama predicho utilizando la predicción espacial es referido como que es intra-codificado.
Una señal de predicción utilizada para la predicción temporal se obtiene utilizando una imagen codificada y decodificada que está almacenada en una memoria. Una señal de predicción utilizada para la predicción espacial se obtiene utilizando valores de pixeles límite de bloques codificados y decodificados adyacentes que están almacenados en la memoria. Además, el número de direcciones de intra-predicción se determina de acuerdo con un tamaño de unidades de codificación.
La señal residual 106 también es referida como un error de predicción o un residual de predicción. Una unidad de transformación 110 transforma la señal residual 106 para generar un coeficiente de transformación 111. Una unidad de cuantificación 120 cuantifica el coeficiente de transformación 111 para generar un coeficiente de cuantificación 121.Una unidad de codificación entrópica 190 realiza la codificación entrópica en el coeficiente de cuantificación 121, con el propósito de una reducción adicional en una cantidad de datos que son almacenados y una transmisión sin pérdida. Por ejemplo, la codificación entrópica es una codificación de longitud variable. Además, una longitud de una contraseña se determina con base en una probabilidad de ocurrencia de un código.
Una señal codificada 191 (corriente de bits codificada) se genera a través del procesamiento anterior.
El aparato de codificación de imágenes 100 incluye una unidad de decodificación para obtener una señal de imagen decodificada (señal de imagen reconstruida). Específicamente, una unidad de transformación inversa 130 realiza la cuantificación inversa y la transformación inversa en el coeficiente de cuantificación 121 para generar una señal residual 131. Esta señal residual 131 es, en el estricto sentido de la palabra, diferente de la señal residual original 106 debido a un error de cuantificación también referido como ruido de cuantificación.
Después, un adicionador 140 agrega la señal residual 131 y la señal de predicción 181 para generar una señal de imagen decodificada 141. Como se estableciera anteriormente, para mantener la compatibilidad entre el aparato de codificación de imágenes y el aparato de decodificación de imágenes, cada uno del aparato de codificación de imágenes y el aparato de decodificación de imágenes genera la señal de predicción 181 utilizando la señal de imagen codificada y decodificada.
Con la cuantificación, el ruido de cuantificación es superimpuesto sobre la señal de imagen decodificada 141. El ruido superimpuesto difiere frecuentemente para cada uno de los bloques debido a que la codificación se realiza en una base por bloques. Con esto, cuando se realiza una cuantificación especialmente fuerte, los límites de bloques de la señal de imagen decodificada se vuelven salientes. Este ruido de bloqueo causa que la calidad de imagen parezca degradada en el reconocimiento visual humano. Para reducir el ruido de bloqueo, un filtro de desbloqueo 150 realiza el procesamiento de filtro de desbloqueo en la señal de imagen decodificada 141.
Por ejemplo, en el procesamiento de filtro de desbloqueo en el H.264/MPEG-4 AVC, el procesamiento de filtro adecuado para cada una de las regiones se selecciona para cada región. Por ejemplo, cuando el ruido de bloqueo es grande, se utiliza un filtro de paso bajo (banda estrecha) fuerte, y cuando el ruido de bloqueo es pequeño, se utiliza un filtro de paso bajo (banda amplia) débil. La intensidad del filtro de paso bajo se determina de acuerdo con la señal de predicción 181 y la señal residual 131. El procesamiento de filtro de desbloqueo alisa los bordes de los bloques. Con esto, la calidad subjetiva de la imagen de la señal de imagen decodificada se mejora. Una imagen en la cual se ha realizado un procesamiento de filtro se utiliza para la predicción de compensación de movimiento de la siguiente imagen. Consecuentemente, este procesamiento de filtro reduce un error de predicción, que hace posible de ese modo mejorar eficientemente la codificación.
Un filtro de bucle adaptativo 160 realiza un procesamiento de compensación adaptativa de muestra y/o un procesamiento de filtro de bucle adaptativo en una señal de imagen decodificada 151 después del procesamiento de filtro de desbloqueo, para generar una señal de imagen decodificada 161. Como antes, el procesamiento de filtro de desbloqueo mejora la calidad subjetiva de la imagen. En contraste, el procesamiento de compensación adaptativa de muestra (SAO, por sus siglas en inglés) y el procesamiento de filtro de bucle adaptativo (ALF, por sus siglas en inglés) se dirigen a incrementar la confiabilidad en una base por pixeles (calidad objetiva).
La SAO es un procesamiento para agregar un valor de compensación a un pixel de acuerdo con los pixeles adyacentes. El ALF se utiliza para compensar la distorsión de imagen causada por la compresión. Por ejemplo, el ALF es un filtro de Wiener que tiene un coeficiente de filtro determinado de una manera que un error cuadrático medio (MSE, por sus siglas en inglés) entre la señal de imagen decodificada 151 y la señal de imagen de entrada 101 se minimiza. Por ejemplo, un coeficiente del ALF se calcula y se transmite en una base por tramas. Por otra parte, el ALF puede aplicarse a una trama completa (imagen) o una región local (bloque). Además, la información secundaria que indica una región en la cual se debe realizar el procesamiento de filtro puede ser transmitida en una base por bloques, una base por tramas o una base por árboles cuádruples.
Para decodificar un bloque inter-codificado, es necesario que una parte de una imagen codificada y luego decodificada se almacene en una memoria intermedia de tramas de referencia 170. La memoria intermedia de tramas de referencia 170 mantiene la señal de imagen decodificada 161 como una señal de imagen decodificada 171. La unidad de predicción 180 realiza la inter-predicción utilizando la predicción por compensación de movimiento. Específicamente, un estimador de movimiento busca primero bloques incluidos en una trama de video codificada y decodificada para un bloque más similar a un bloque actual. Este bloque similar se utiliza como la señal de predicción 181. Un desplazamiento relativo (movimiento) entre el bloque actual y el bloque similar se transmite como datos de movimiento al aparato de decodificación de imágenes. Estos datos de movimiento son, por ejemplo, vectores de movimiento tridimensionales que están incluidos en la información secundaria provista con datos de video codificados. En este documento, la expresión "tridimensional" incluye dos dimensiones espaciales y una dimensión temporal.
Se debe observar que para optimizar la exactitud de predicción, se puede utilizar un vector de movimiento que tiene una resolución de sub-pixel espacial tal como una resolución de medio pixel y una resolución de un cuarto de pixel. El vector de movimiento que tiene la resolución de sub-pixel espacial indica una ubicación espacial en una trama decodificada donde no existe un valor de pixel, es decir, una ubicación de un subpixel. De esta manera, es necesario interpolar espacialmente un valor de pixel para realizar la predicción por compensación de movimiento. Esta interpolación es realizada por un filtro de interpolación (incluido en la unidad de predicción 180 mostrada en la FIGURA 1), por ejemplo.
Tanto en el modo de intra-codificación como en el modo de inter-codificación, el coeficiente de cuantificación 121 se genera al transformar y cuantificar la señal residual 106 que es la diferencia entre la señal de imagen de entrada 101 y la señal de predicción 181. Generalmente, la unidad de transformación 110 utiliza, para esta transformación, una transformación ortogonal tal como una transformación de coseno discreta bidimensional (DCT, por sus siglas en inglés) o una versión de números enteros de la misma. Esto reduce eficientemente la correlación del video natural. Además, un componente de baja frecuencia es generalmente más importante para la calidad de la imagen que un componente de alta frecuencia, y de esta manera se utilizan más bits para el componente de baja frecuencia que para el componente de alta frecuencia.
La unidad de codificación entrópica 190 transforma una matriz bidimensional del coeficiente de cuantificación 121 en una matriz unidimensional. Típicamente, la comúnmente llamada exploración en zigzag se utiliza para la transformación. En la exploración en zigzag, una matriz bidimensional se explora en un orden predeterminado de un coeficiente DC en la esquina superior izquierda de la matriz bidimensional a un coeficiente AC en la esquina inferior derecha de la misma. La energía se concentra normalmente en coeficientes en la parte superior izquierda de la matriz bidimensional la cual corresponde a una baja frecuencia y de esta manera cuando se realiza la exploración en zigzag, los últimos valores tienden a ser cero. Con esto, es posible lograr una codificación eficiente mediante el uso de la codificación de coordenada diferencial limitada como parte de o el pre-procesamiento de la codificación entrópica.
En la H.264/MPEG-4 AVC y HEVC, se utilizan varios tipos de codificación entrópica. Aunque la codificación de longitud fija se realiza en algunos de los elementos de sintaxis, la codificación de longitud variable se realiza en la mayoría de los elementos de sintaxis. En particular, la codificación de longitud variable adaptativa al contexto se realiza en un residual de predicción y otros diversos tipos de codificación con números enteros se realizan en otros elementos de sintaxis. Además, también existe un caso donde se utiliza la codificación aritmética binaria adaptativa al contexto (CABAC, por sus siglas en inglés).
La codificación de longitud variable hace posible la compresión sin pérdida de una corriente de bits codificada. Sin embargo, las contraseñas son de longitud variable, y de esta manera es necesario decodificar continuamente las contraseñas. En otras palabras, antes de que una contraseña precedente sea codificada o decodificada, la siguiente contraseña no puede ser codificada o decodificada sin reiniciar (inicializar) la codificación entrópica o sin indicar por separado una ubicación de la primera contraseña (punto de entrada) cuando se realiza la decodificación.
Una secuencia de bits se codifica en una contraseña por medio de la codificación aritmética basada en un modelo de probabilidad predeterminado. El modelo de probabilidad predeterminado se determina con base en el contenido de una secuencia de video en el caso de la CABAC. De esta manera, la codificación aritmética y la CABAC se realizan más eficientemente ya que una longitud de una corriente de bits que es codificada es más grande. Por decirlo de otra manera, la CABAC aplicada a la secuencia de bits es más eficiente en un bloque más grande. La CABAC se reinicia al comienzo de cada secuencia. Establecido de modo diferente, el modelo de probabilidad se inicializa al comienzo de cada secuencia de video con un valor determinado o un valor predeterminado.
La H.264/MPEG-4, H.264/MPEG-4 AVC y HEVC incluyen dos capas funcionales, la capa de codificación de video (VCL, por sus siglas en inglés) y la capa de abstracción de red (NAL, por sus siglas en inglés). La capa de codificación de video proporciona una función de codificación. La NAL encapsula elementos de información en unidades estándar referidas como unidades de NAL, dependiendo de un uso tal como la transmisión sobre un canal o el almacenamiento en un dispositivo de almacenamiento. Los elementos de información son, por ejemplo, señales de error de predicción codificadas e información necesaria para decodificar una señal de video. La información necesaria para decodificar una señal de video es un tipo de predicción, un parámetro de cuantificación, un vector de movimiento y así por el estilo.
Cada una de las unidades de NAL se puede clasificar en: una unidad de VCL NAL que incluye datos de video comprimidos e información relacionada; una unidad que no es de VCL que encapsula datos adicionales tal como un conjunto de parámetros en relación con una secuencia de video completa; e información de mejoramiento complementaria (SEI, por sus siglas en inglés) para proporcionar información adicional utilizable para incrementar la exactitud de decodificación.
Por ejemplo, la unidad que no es de VCL incluye un conjunto de parámetros. El conjunto de parámetros se refiere a un conjunto de parámetros que se relacionan con la codificación y decodificación de una cierta secuencia de video. Los ejemplos del conjunto de parámetros incluyen un conjunto de parámetros de secuencia (SPS, por sus siglas en inglés) que incluye parámetros que se relacionan con la codificación y la decodificación de una secuencia de video completa (secuencia de representación visual).
El conjunto de parámetros de secuencia tiene una estructura de sintaxis que incluye elementos de sintaxis. El conjunto de parámetros de representación visual (PPS, por sus siglas en inglés) que es referido es especificado por pic_parameter_set_id, un elemento de sintaxis incluido en cada encabezado de corte. Además, un SPS que es referido es especificado por seq_parameter_set_id, un elemento de sintaxis incluido en el PPS. Como antes, los elementos de sintaxis incluidos en el SPS se aplican a la secuencia de video codificada completa.
El PPS es un conjunto de parámetros que define parámetros aplicados a la codificación y la decodificación de una representación visual incluida en una secuencia de video. El PPS tiene una estructura de sintaxis que incluye elementos de sintaxis. El conjunto de parámetros de representación visual (PPS) que es referido se especifica por pic_parameter_set_id, un elemento de sintaxis incluido en cada encabezado de corte. Como antes, los elementos de sintaxis incluidos en el SPS se aplican a una representación visual codificada completa.
Por lo tanto, es más fácil seguir la pista del SPS que del PPS. Esto es debido a que el PPS cambia para cada representación visual, mientras que el SPS permanece constante para la secuencia de video completa que puede durar varios minutos o varias horas.
Un VPS es parámetros en la capa más alta e incluye información que se relaciona con secuencias de video. La información incluida en el VPS es una velocidad de transferencia de bits, una estructura temporal_layering de las secuencias de video y así por el estilo. Además, el VPS incluye información acerca de una dependencia entre capas (dependencia entre diferentes secuencias de video). Como resultado, el VPS se puede considerar como información acerca de las secuencias de video y un perfil de cada una de las secuencias de video se puede obtener con base en el VPS.
La FIGURA 2 es un diagrama de bloques que muestra un aparato de decodificación de imágenes ejemplar 200 compatible con el estándar de codificación de video H.264/MPEG-4 AVC O HEVC.
Una señal codificada 201 (corriente de bits) introducida al aparato de decodificación de imágenes 200 se transmite a una unidad de decodificación entrópica 290. La unidad de decodificación entrópica 290 decodifica la señal codificada 201 para obtener un coeficiente de cuantificación y elementos de información necesarios para decodificar estos datos de movimiento y un modo de predicción. Además, la unidad de decodificación entrópica 290 explora inversamente el coeficiente de cuantificación obtenido con el propósito de obtener una matriz bidimensional, para generar un coeficiente de cuantificación 291 y envía el coeficiente de cuantificación 291 a una unidad de transformación inversa 230.
La unidad de transformación inversa 230 cuantifica y transforma de manera inversa el coeficiente de cuantificación 291 para generar una señal residual 231. La señal residual 231 corresponde a una diferencia obtenida al sustraer una señal de predicción de una señal de imagen de entrada que no tiene ruido y error de cuantificación y se introduce a un aparato de codificación de imágenes.
Una unidad de predicción 280 genera una señal de predicción 281 utilizando la predicción temporal o la predicción espacial. Normalmente, los elementos de información decodificados incluyen además información tal como un tipo de predicción en el caso de la intra-predicción o información necesaria para la predicción tal como datos de movimiento en el caso de la predicción por compensación de movimiento.
Un adicionador 240 agrega la señal residual 231 en un dominio espacial y la señal de predicción 281 generada por la unidad de predicción 280, para generar una señal de imagen decodificada 241. Un filtro de desbloqueo 250 realiza el procesamiento de filtro de desbloqueo en la señal de imagen decodificada 241 para generar una señal de imagen decodificada 251. Un filtro de bucle adaptativo 260 realiza un procesamiento de compensación adaptativa de muestra y un procesamiento de filtro de bucle adaptativo en la señal de imagen decodificada 251, para generar una señal de imagen decodificada 261. La señal de imagen decodificada 261 es enviada como una imagen de pantalla y almacenada como una señal de imagen decodificada 271 en una memoria intermedia de tramas de referencia 270. La señal de imagen decodificada 271 se utiliza para un bloque subsecuente o la predicción temporal o espacial de una imagen.
En comparación con la H.264/MPEG-4 AVC, la HEVC tiene una función para ayudar en el procesamiento paralelo avanzado de codificación y decodificación. Como con la H.264/MPEG-4 AVC, la HEVC hace posible la partición de una trama en cortes. En este documento, cada uno de los cortes incluye LCUs consecutivas en un orden de exploración. En la H.264/MPEG-4 AVC, cada corte es decodificable y la predicción espacial no se realiza entre los cortes. De esta manera, es posible realizar el procesamiento paralelo en una base por cortes.
Sin embargo, el corte tiene un encabezado considerablemente grande y no hay dependencia entre los cortes, disminuyendo de ese modo la eficiencia de compresión. Además, cuando la CABAC se realiza en un bloque de datos pequeño, la eficiencia de la codificación CABAC se disminuye.
En respuesta a esto, el procesamiento paralelo de frente de onda (WPP, por sus siglas en inglés) ha sido propuesto para permitir un procesamiento paralelo más eficiente. En el WPP, se utiliza un modelo de probabilidad de CABAC para el uso en el restablecimiento de la LCU la cual está localizada primero (LCU principal) en cada una de las hileras de LCU (en lo sucesivo, también referidas simplemente como "hileras") de una representación visual que es un modelo de probabilidad después de que se procesa la LCU la cual está localizada en segundo lugar en una hilera previa. Esto mantiene una dependencia entre bloques. De esta manera, es posible decodificar las hileras de LCU en paralelo. Además, el procesamiento de cada hilera es retrasado por dos LCUs en relación con la hilera previa.
La información que indica un punto de entrada, una posición en la cual se inicia la decodificación de una hilera de LCU, es señalada en un encabezado de corte. Se debe observar que la Bibliografía que no es Patente (NPL, por sus siglas en inglés) 1 describe los detalles del WPP.
Un método para utilizar un mosaico está disponible como otro planteamiento para mejorar la paralelización. Una trama (representación visual) se divide en mosaicos. Cada uno de los mosaicos es rectangular e incluye LCUs. Los límites entre los mosaicos se establecen para la partición de la representación visual en matrices. Además, los mosaicos se procesan en un orden de exploración con trama.
Todas las dependencias se pierden en el límite de cada mosaico. La codificación entrópica tal como la CABAC se restablece al comienzo del mosaico. Se debe observar que solo el procesamiento de filtro de desbloqueo y el procesamiento de compensación adaptativa de muestra se aplican sobre los límites entre los mosaicos. De esta manera, es posible codificar o decodificar los mosaicos en paralelo. Se debe observar que la NPL 2 y la NPL 3 describen los detalles de los mosaicos.
Por otra parte, el concepto de cortes dependientes y cortes entrópicos ha sido propuesto para hacer que el concepto de cortes sea adecuado para la paralelización preferiblemente que para la resiliencia de errores la cual fue el propósito original de los cortes en la H.264/MPEG-4 AVC. En otras palabras, los siguientes tres tipos de cortes se utilizan en la HEVC: un corte normal, un corte dependiente y un corte entrópico.
El corte normal es un corte ya conocido a partir de H.264/MPEG-4 AVC. La predicción espacial no puede realizarse entre cortes normales. En resumen, la predicción no puede realizarse sobre límites entre cortes. Por decirlo de otra manera, el corte normal se codifica sin hacer referencia a otro corte. La CABAC se reinicia al comienzo de cada corte para permitir la decodificación separada del corte.
El corte normal se utiliza para el comienzo de una trama. Establecido de modo diferente, cada trama debe iniciar a partir del corte normal. El corte normal tiene un encabezado que incluye parámetros necesarios para decodificar datos de corte.
El corte entrópico es un corte que hace posible la predicción espacial entre un corte precursor y el corte entrópico, por ejemplo. En este documento, el corte precursor es un corte normal que precede inmediatamente al corte entrópico. El corte precursor y el corte entrópico se analizan independientemente.
Los datos de corte se analizan independientemente del corte precursor y el corte entrópico excepto los elementos de sintaxis de un encabezado de corte. En otras palabras, la decodificación CABAC del corte entrópico requiere elementos de sintaxis incluidos en un encabezado de corte del corte precursor. Por ejemplo, los elementos de sintaxis incluyen información de conmutación que indica si los datos de corte incluyen parámetros de filtración. Cuando los datos de corte incluyen parámetros de filtración, una unidad de decodificación CABAC extrae la información de conmutación. De otra manera, la unidad de decodificación CABAC no asume los datos de filtración. Por decirlo de otra manera, después de analizar un encabezado de corte del corte normal, la unidad de decodificación CABAC es capaz de procesar el corte precursor y el corte entrópico en paralelo.
Sin embargo, el corte precursor puede ser, por ejemplo, el corte normal y se requiere reconstruir valores de pixeles del corte entrópico. Además, la CABAC se reinicia al comienzo del corte para permitir el análisis independiente del corte entrópico.
Un encabezado de corte más corto que el encabezado de corte del corte normal se puede utilizar para el corte entrópico. El encabezado de corte incluye un subconjunto de parámetros de codificación con respecto a la información transmitida dentro del encabezado de corte del corte normal. La información no incluida en el encabezado de corte del corte entrópico es copiada del encabezado de corte del corte precursor.
El corte dependiente es similar a un corte entrópico para el cual no se reinicia la CABAC. El reinicio de la CABAC incluye un proceso de inicialización en el cual una tabla de contexto (tabla de probabilidad) se inicializa a un valor por defecto y un proceso de terminación (proceso terminado) en la codificación aritmética o decodificación aritmética.
El encabezado de corte del corte precursor se utiliza para analizar y/o decodificar el corte dependiente. Puesto que el corte dependiente no puede ser analizado sin el corte precursor, el corte dependiente no puede ser decodificado cuando el corte precursor no se obtiene. El corte precursor es usualmente un corte que precede al corte dependiente en el orden de codificación y que incluye un encabezado de corte completo. Lo mismo es válido para un corte precursor del corte entrópico.
Generalmente, el corte entrópico se puede considerar como dependiente de parámetros de encabezado de otro corte y de esta manera la presente invención se puede aplicar tanto al corte dependiente como al corte entrópico.
Como se describiera anteriormente, el corte dependiente y el corte entrópico utilizan el encabezado de corte (la información no incluida en el encabezado de corte del corte dependiente) del corte inmediatamente precedente en el orden de codificación de los cortes. Esta regla se aplica recursivamente. Se reconoce que un corte precursor en el cual depende un corte dependiente objetivo es referible. La referencia incluye el uso de la predicción espacial entre cortes, un estado de CABAC común y así por el estilo. El corte dependiente utiliza una tabla de contexto de CABAC generada al final del corte inmediatamente precedente. De esta manera, el corte dependiente utiliza continuamente la tabla generada sin inicializar una tabla de CABAC a un valor por defecto. La NPL 3 describe el corte entrópico y el corte dependiente (véase "dependent_slice_flag" en la página 73, por ejemplo).
En el caso del uso del WPP, cuando un corte dependiente inicia al comienzo de una hilera de LCU y un corte que incluye una LCU localizada en la parte superior derecha del comienzo de la hilera de LCU se indica como que es referible, el corte dependiente utiliza una tabla de contexto de CABAC de la LCU.
La HEVC presenta varios perfiles. Un perfil incluye ajustes de un aparato de codificación de imágenes y un aparato de decodificación de imágenes adecuados para una aplicación particular. Por ejemplo, un "perfil principal" incluye solo cortes normales y cortes dependientes, pero no cortes entrópicos.
Como se estableciera anteriormente, un corte codificado se encapsula en una unidad de NAL, se encapsula además en, por ejemplo, un protocolo en tiempo real (RTP, por sus siglas en inglés) y se encapsula finalmente en un paquete de protocolos de Internet (IP, por sus siglas en inglés). Esta pila de protocolos u otra pila de protocolos permiten la transmisión de video codificado en la Internet o una red orientada a paquetes tal como una red privada.
Típicamente, una red incluye por lo menos un ruteador, y el ruteador incluye hardware (componentes físicos) especializado que opera a una velocidad extremadamente alta. El ruteador recibe paquetes de IP, analiza sus encabezados y envía apropiadamente los paquetes de IP a sus destinos respectivos. Se requiere que el ruteador procese comunicación de muchas fuentes y de esta manera los paquetes que controlan la lógica deben ser tan simples como sea posible. El ruteador necesita por lo menos verificar los campos de dirección de destino incluidos en los encabezados de IP, para determinar las rutas a través de las cuales son enviados los paquetes de IP. Un ruteador inteligente (consciente de medios) verifica adicionalmente campos especializados en encabezados de protocolos de red tales como los encabezados de IP, encabezados de RTP y encabezados de NALU, para proporcionar además soporte para la calidad de servicio (QoS, por sus siglas en inglés).
Como es claro a partir de la descripción anterior de la codificación de video, los diferentes tipos de cortes definidos para el procesamiento paralelo, tal como el corte dependiente y el corte entrópico difieren en la importancia para la degradación de imágenes cuando se pierden datos. El corte dependiente no puede ser analizado y decodificado sin el corte precursor. Esto es debido a que una unidad de codificación entrópica o una unidad de decodificación entrópica no puede reiniciarse al comienzo del corte dependiente. De esta manera, se puede decir que el corte precursor es más importante en la reconstrucción de una imagen o video que el corte precursor.
En la HEVC, el corte dependiente y el corte entrópico tienen una dependencia entre cortes (dependencia dentro de una trama) como un aspecto adicional de la dependencia. Esta dependencia no es la única dependencia dentro de la trama.
Puesto que el procesamiento paralelo de cortes se realiza para cada mosaico, los contextos de una unidad de codificación aritmética y una unidad de decodificación aritmética son determinados por ajustes por defecto o cortes codificados o decodificados. Sin embargo, una dependencia de un encabezado y una dependencia de inicialización de codificación aritmética son diferentes entre sí y de esta manera existe la posibilidad de retraso o complejidad adicional en contradicción a los propósitos del procesamiento paralelo y un mecanismo de cortes dependientes.
El corte dependiente se puede utilizar en conjunción con una herramienta de procesamiento paralelo tal como el WPP y mosaicos. Además, un frente de onda (subcorriente) que hace posible reducir el retraso de transmisión sin causar pérdida de codificación se puede generar utilizando el corte dependiente.
La CABAC no se reinicia para el corte dependiente y de esta manera el corte dependiente se puede utilizar como un punto de entrada de una subcorriente de CABAC. Además, para indicar un punto de entrada para el análisis independiente, la información que indica el punto de entrada se puede señalar en una corriente de bits. En particular, cuando dos o más subcorrientes de CABAC se encapsulan en un corte normal o un corte dependiente, un punto de entrada se señala explícitamente utilizando el número de bytes para cada subcorriente. En este documento, la subcorriente indica una porción de una corriente analizable por separado con base en el punto de entrada. Por otra parte, cada corte dependiente requiere un encabezado de una unidad de NAL y de esta manera el corte dependiente se puede utilizar como un "marcador" de un punto de entrada. En resumen, el punto de entrada que corresponde a este marcador se puede señalar.
Es posible utilizar simultáneamente un método para señalar explícitamente un punto de entrada y un método para hacer un punto de entrada a través de un corte dependiente. En este documento, existe la necesidad de identificar un punto de entrada de cada unidad de NAL (comienzo de cada encabezado de NAL). Se debe observar que se puede utilizar cualquier método para el método de identificación. Por ejemplo, se pueden utilizar los siguientes dos métodos.
El primer método es insertar un código de inicio de 3 bytes al comienzo de cada encabezado de NAL, por ejemplo. El segundo método es empaquetar cada unidad de NAL en un paquete diferente. Además, un tamaño de un encabezado de corte se puede reducir debido a la dependencia del corte.
Estos métodos permiten el análisis de CABAC paralelo de un corte entrópico. Esto es debido a que la CABAC siempre se reinicia al comienzo del corte entrópico. En el procesamiento paralelo de la CABAC, un cuello de botella se puede superar por medio del análisis de CABAC paralelo después del procesamiento de reconstrucción de pixeles consecutivo. Específicamente, con una herramienta de paralelización de WPP, la decodificación de cada hilera de LCU puede ser lograda por un núcleo de procesamiento. Se debe observar que diferentes hileras de LCU se pueden asignar a núcleos respectivos. Por ejemplo, dos hileras se pueden asignar a un núcleo y una hilera se puede asignar a dos núcleos.
La FIGURA 3A es un diagrama que muestra una representación visual 300 dividida en dos hileras. Cada una de las hileras incluye unidades de codificación más grandes (LCUs). Una hilera 301 (Frente de Onda 1) y una hilera 302 (Frente de Onda 2) se procesan en paralelo. Como es mostrado por una flecha de los estados de CABAC en la FIGURA 3A, después de que las primeras dos LCUs se decodifican en la hilera 301, se inicia el procesamiento de la hilera 302. Además, los estados de CABAC después de que las primeras dos LCUs de la hilera 301 se codifican o decodifican se utilizan para la inicialización de CABAC de la hilera 302. De esta manera, el procesamiento de la hilera 302 se puede iniciar después de que el procesamiento de las primeras dos LCUs de la hilera 301 se termina. En resumen, el retraso de las dos LCUs existe entre los dos núcleos de procesamiento.
La FIGURA 3B es un diagrama que muestra un ejemplo de uso de cortes dependientes para el WPP. Una representación visual 310 mostrada en la FIGURA 3B incluye las hileras 311 a 314. En este documento, la hilera 311 (Frente de Onda 1), la hilera 312 (Frente de Onda 2) y la hilera 313 (Frente de Onda 3) se procesan utilizando núcleos separados.
Los cortes dependientes permiten el WPP que es capaz de reducir el retraso. Los cortes dependientes no tienen un encabezado de corte completo. Por otra parte, cuando se conocen los puntos de entrada (los puntos de entrada de los cortes dependientes los cuales son conocidos para la regla anterior), los cortes dependientes se pueden decodificar independientemente de otros cortes. Adicionalmente, los cortes dependientes permiten el WPP adecuado para aplicaciones de retraso bajo sin causar pérdida de codificación.
En un caso normal donde una subcorriente (hilera de LCU) se encapsula en un corte, es necesario insertar un punto de entrada claro en un encabezado de corte para realizar de manera segura la codificación entrópica y la decodificación entrópica en paralelo. Por esta razón, la transmisión del corte se puede preparar solo después de que la última subcorriente del corte se codifique completamente. Además, el encabezado de corte se completa solo después de que se termina la codificación de todas las subcorrientes en el corte. En otras palabras, la transmisión del comienzo del corte no se puede iniciar a través de la fragmentación de paquetes en la capa de RTP/IP hasta que se termine el procesamiento del corte completo.
Sin embargo, cuando se utiliza un corte dependiente, el corte dependiente se puede utilizar como un marcador de punto de entrada y de esta manera no es necesario realizar una notificación utilizando una señal explícita de un punto de entrada. Consecuentemente, es posible dividir un corte normal en muchos cortes dependientes sin pérdida de codificación. Además, los cortes dependientes se pueden transmitir inmediatamente después de que se termina la codificación de la subcorriente encapsulada (o antes de la codificación en el caso de la fragmentación de paquetes).
Los cortes dependientes no disminuyen una dependencia de predicción espacial. Además, los cortes dependientes no disminuyen una dependencia de análisis. Esto es debido a que el análisis de un corte dependiente objetivo requiere normalmente estados de CABAC de un corte precedente.
Cuando no se permite el corte dependiente, cada hilera de LCU se puede utilizar como un corte. Aunque esta configuración reduce el retraso de transmisión, una pérdida de codificación significativa es causada de manera simultánea como se estableciera anteriormente.
Lo siguiente asume un caso donde una trama completa (representación visual) se encapsula en un corte. En este caso, para hacer posible el análisis paralelo, es necesario señalar, en un encabezado de corte, un punto de entrada de una subcorriente (hilera de LCU). Esto causa un retraso de transmisión a un nivel de trama. Por decirlo de otra manera, es necesario modificar el encabezado después de que se codifica la trama completa. El encapsulamiento de la representación visual completa en el corte mismo no empeora el retraso de transmisión. Por ejemplo, la transmisión de una parte del corte se puede iniciar antes de que se termine completamente la codificación. Sin embargo, cuando se utiliza el WPP, es necesario modificar el encabezado de corte posterior para indicar el punto de entrada. De esta manera, es necesario retrasar la transmisión del corte completo.
Como antes, el uso del corte dependiente hace posible reducir el retraso. Como se muestra en la FIGURA 3B, la representación visual 310 se divide en la hilera 311, un corte normal y las hileras 312, 313 y 314, cortes dependientes. Cuando cada hilera es un corte dependiente, es posible retrasar la transmisión de la hilera sin pérdida de codificación. Esto es debido a que el corte dependiente no disminuye la dependencia espacial y no reinicia un motor de CABAC.
Cada una de la FIGURA 4A y la FIGURA 4B es un diagrama que muestra otro ejemplo de la inicialización de CABAC. La FIGURA 4A muestra la inicialización de CABAC cuando no se utiliza el WPP. El WPP y los mosaicos no se utilizan ambos. Se permite el uso de los cortes normales y los cortes dependientes conjuntamente.
Un corte dependiente (3) copia el encabezado de un corte normal (2). En resumen, el corte normal (2) es un corte precursor del corte dependiente (3). El corte dependiente (3) utiliza una tabla de contexto generada al final del corte normal (2). El corte dependiente (3) no depende de un corte normal (1) sino del corte normal (2). En conclusión, no existe una predicción espacial entre el corte normal (1) y el corte dependiente (3).
La FIGURA 4B es un diagrama que muestra la inicialización de CABAC cuando se utiliza el WPP. Se permite el uso de los cortes normales, los cortes dependientes y el WPP conjuntamente.
Un corte dependiente (3) copia el encabezado de un corte normal (2). Se espera que el corte dependiente (3) utilice una tabla de contexto generada al final de la LCU localizada en segundo lugar en el corte normal (1). Sin embargo, puesto que el corte (2) es un corte normal, se indica que la LCU localizada en segundo lugar en el corte (1) no puede ser referida. En resumen, el corte (1) no es referido, debido a que el corte (1) no es un corte inmediatamente precedente de un corte dependiente en el orden de codificación.
Sin embargo, el corte (2) se utiliza como un corte de referencia para el corte (3) y un corte (4). En otras palabras, cuando se inicia la decodificación del corte (3) es necesario inicializar los estados de CABAC a un valor por defecto (indicado por una flecha discontinua en la FIGURA 4B). El corte dependiente (4) utiliza estados de CABAC (flecha sólida) después de la segunda LCU superior derecha la cual satisface las condiciones de WPP mencionadas anteriormente.
La FIGURA 5 es un diagrama que muestra una sintaxis ejemplar de un encabezado de corte compatible con un modelo de referencia de HEVC actual (HM8.0). Un encabezado de corte 320 incluye un elemento de sintaxis dependent_slice_flag el cual indica si un corte objetivo en un corte dependiente o un corte normal.
Como es claro a partir de una hilera 321 mostrada en la FIGURA 5, cuando el dependent_slice_flag es igual a 0, el encabezado tiene información de encabezado de corte. En resumen, el corte tiene un encabezado completo. De otra manera, el encabezado no tiene la información de encabezado de corte. Por decirlo de otra manera, como antes, el corte dependiente y un corte entrópico no tienen un encabezado de corte completo y se refieren al encabezado de un corte normal precedente.
Los puntos de entrada se señalan después de soportar el procesamiento paralelo. Incluso cuando la unidad de codificación entrópica o la unidad de decodificación entrópica no es reiniciada, es posible realizar independientemente la decodificación paralela de parte de una corriente de video (subcorriente) entre los puntos de entrada, utilizando los puntos de entrada. Como se estableciera anteriormente, los puntos de entrada se marcan para el corte dependiente, el corte normal y el corte entrópico.
En la HEVC, están disponibles varias herramientas de procesamiento paralelo. Como se mencionara anteriormente, las herramientas incluyen el WPP, el corte dependiente, el corte entrópico y el mosaico. Sin embargo, puesto que estas herramientas no son compatibles entre sí, existe un límite para el uso combinado de las herramientas. Generalmente, se permite el uso del mosaico y el corte conjuntamente.
Sin embargo, existe una restricción respecto a que en un perfil mayor, un corte necesita ser subdividido en un número entero de mosaicos mayor que o igual a 1 y un mosaico necesita ser subdividido en un número entero de cortes mayor que o igual a 1. Esta restricción se aplica típicamente a un perfil específico (o un nivel específico de un perfil). El propósito de la restricción es reducir la complejidad de la implementación de hardware.
Cuando el entropy_coding_sync_enabled_flag de un PPS es igual a 1 (es decir, se utiliza el WPP) y el bloque de codificación localizado primero en un corte no es el bloque de codificación localizado primero en el bloque arbóreo de codificación localizado primero en una hilera de bloques arbóreos de codificación en un mosaico, una condición bajo la cual una corriente de bits cumple los estándares es que el último bloque de codificación en el corte pertenece a la misma hilera de los bloques arbóreos de codificación que el bloque de codificación localizado primero en el corte. Un árbol de codificación indica una estructura de una LCU y una subdivisión adicional recursiva de cada una de las LCUs en cuatro bloques. Establecido de modo diferente, cuando se puede utilizar el WPP, y el corte no inicia al comienzo de una hilera de LCU objetivo, el corte tiene que terminar en o antes del final de la hilera de LCU objetivo. La NPL 3 describe detalles con respecto no solo a un medio de procesamiento paralelo sino también de la sintaxis de HEVC.
Lo siguiente describe esta restricción con referencia a la FIGURA 6. Una representación visual 330 mostrada en la FIGURA 6 incluye los cortes 331, 332 y 333, cortes normales. Los cortes 331 y 332 se incluyen en una hilera de LCU. El corte 333 es un corte no permitido, debido a que el corte 333 se extiende sobre las hileras de LCU (tres hileras en este ejemplo). El corte 333 tiene que terminar al final de la primera hilera de LCU de acuerdo con la restricción anterior.
La FIGURA 7 es un diagrama que muestra una representación visual 340 que tiene una estructura de corte permitida cuando se utiliza el WPP. La representación visual 340 incluye los cortes 341, 342 y 343, cortes normales, y un corte 344, un corte dependiente. Los cortes 341, 342 y 343 se incluyen en la primera hilera de LCU. El corte 344 incluye dos hileras subsecuentes.
La inicialización de CABAC del corte 344 depende de los otros cortes 341, 342 y/o 343, debido a que el corte 344 es el corte dependiente. Cuando cualquiera de los cortes 342 y 343 es un corte normal como se muestra en la FIGURA 7, el corte 344 se inicializa a estados de CABAC por defecto. De otra manera, se utiliza una tabla de WPP. En otras palabras, los estados de CABAC después de que se procesa la LCU localizada en segundo lugar en una hilera de LCU arriba de una hilera objetivo se utilizan para la inicialización.
En este ejemplo, como se describe en la FIGURA 4B y se establece en la descripción relacionada de la inicialización de CABAC, la inicialización de CABAC del corte dependiente 344 se realiza utilizado los estados de CABAC por defecto predeterminados.
De esta manera, la inicialización de CABAC se basa en cortes precedentes. De esta manera, el procesamiento, especialmente el análisis, de un corte objetivo depende de otros cortes. Específicamente, se determina si un contexto de CABAC se inicializa con un valor por defecto o un valor de WPP dependiendo de un tipo de los cortes precedentes del corte objetivo. De esta manera, se verifica si los cortes precedentes se pueden utilizar o no y se determina un método de inicialización que se aplica al corte objetivo. En resumen, se requiere un procesamiento que tiene un orden muy complicado. Lo siguiente describe este procesamiento.
Un primer corte 341 tiene por lo menos dos LCUs y de esta manera los estados de CABAC después de que se codifican o decodifican las primeras dos LCUs pueden ser referidos.
Cuando un corte 342 o un corte 343 se pierde, el corte 344 no puede ser decodificado de manera exacta. Esto es debido a que la inicialización de CABAC no se puede realizar debido a un tipo desconocido del corte 342 o el corte 343. En otras palabras, debido a que la inicialización de CABAC no se puede realizar en el corte 344 incluso cuando solo la información acerca de los dos cortes precedentes está ausente y el corte 344 se ha obtenido correctamente, los datos del corte obtenido actualmente 344 se desechan. De esta manera, es necesario realizar un ocultamiento de error en el corte 344. Por esta razón, existe la posibilidad de que la degradación de imagen resulte de la distorsión debido al ocultamiento de error incompleto.
En este documento, en un encabezado de corte, la mayoría de los elementos de sintaxis (éstos son principalmente la conmutación del control tal como la operación de filtración específica) necesitan ser determinados para todos los cortes incluidos en una trama. Además, aunque algunos de los elementos de sintaxis se pueden cambiar en una base de cortes, todos los parámetros de control determinados para una trama completa son mantenidos en la mayoría de procesos por un aparato de codificación de imágenes. De esta manera, el siguiente método se puede utilizar como un método de ocultamiento de error. Este método requiere únicamente información que indica si un corte perdido es un corte dependiente o un corte normal.
Cuando los paquetes no llegan en orden, un retraso de decodificación incrementa. En otras palabras, cuando se espera un reordenamiento de paquetes, existe la posibilidad de un incremento del retraso de decodificación. Esto es contradictorio con la provisión de un retraso extremadamente bajo utilizando un corte dependiente, el objetivo fundamental del WPP.
La FIGURA 8 es un diagrama que muestra otro ejemplo del proceso de inicialización de CABAC. En la FIGURA 8, se asume la estructura de los cortes mostrada en la FIGURA 7. Una representación visual 350 mostrada en la FIGURA 8 incluye un corte 351 y un corte 354. El corte 351 es un corte normal y está localizado primero en una trama e incluye cuatro LCUs. La CABAC se inicializa a un valor de estado por defecto (estado cero) al comienzo de la trama, es decir, el comienzo del corte 351. Se debe observar que los estados por defecto pueden estar presentes, y en este caso, uno de los estados por defecto se selecciona. En este documento, el estado por defecto se refiere a un valor predeterminado en un modelo de probabilidad de codificación aritmética.
Cuando los datos del corte 342 y el corte 343 (véase la FIGURA 7) están ausentes debido a la pérdida o un error aunque se obtienen datos que pertenecen a un corte dependiente 354, el corte dependiente 354 no se puede decodificar. Esto es debido a que, como se estableciera anteriormente, el motor de CABAC no puede inicializarse sin los datos de los cortes 342 y 343.
La FIGURA 9 es un diagrama de flujo para un proceso de determinación en un método de inicialización el cual se realiza cuando se obtiene el corte dependiente 354. Por decirlo de otra manera, este diagrama de flujo muestra un método de dependencia en dos o más cortes en la inicialización de CABAC.
Se asume que se establecen las siguientes condiciones para un corte (4) (corte dependiente 354). El WPP se puede utilizar. El dependent_slice_enabled_flag de un SPS se establece a l. La posición del corte (4) satisface la Expresión 1. slice_address % numLCUinRow = 0 (Expresión 1) En este documento, "%" representa una operación de módulo (resto de la división de números enteros). El parámetro numLCUinRow representa el número de LCUs por hilera de la representación visual 350. De esta manera, la condición de la Expresión 1 se satisface al comienzo de la hilera. El parámetro numLCUinRow se puede derivar de los ajustes del SPS.
En primer lugar, se determina si el corte (4) es o no un corte dependiente (S101). Cuando el corte (4) no es un corte dependiente (No en S101), se realiza una inicialización por defecto.
Como se muestra en la FIGURA 8, cuando el corte (4) es un corte dependiente (Si en S101), i se establece a 3 (S102). En resumen, el corte (3) que precede inmediatamente al corte (4) se establece como un corte i.
Después, se determina si el corte i inicia o no a partir de una hilera arriba de una hilera del corte (4) (S103). En este documento, puesto que i se establece a 3, el corte i es el corte (3) que precede inmediatamente un corte dependiente que es procesado (corte (4)).
Cuando el corte i no inicia a partir de la hilera arriba de la hilera del corte (4) (No en S103), la inicialización de WPP (inicialización utilizando una tabla de WPP) se realiza (S107).
En contraste, cuando el corte i inicia a partir de la hilera arriba de la hilera del corte (4) (Si en S103), es decir, en el caso mostrado en la FIGURA 8, se determina si el corte i es o no un corte dependiente (S104).
Cuando el corte i no es un corte dependiente (No en SI04), entonces se analiza una posición de inicio del corte i. Específicamente, se determina si el slice_address % numLCUinRow es o no menor que 2 (S106). En resumen, se determina si la posición de inicio del corte i es la primera LCU o la segunda LCU en la hilera.
Cuando slice_address % numLCUinRow es menor que 2 (Si en S106), la inicialización de WPP se realiza (S107). En contraste, cuando slice_address % numLCUinRow es mayor que o igual a 2 (No en S106), la inicialización por defecto se realiza (S108).
Por otra parte, cuando el corte i es un corte dependiente (Si en S104), una posición de inicio del corte i se analiza. Específicamente, se determina si el slice_address % numLCUinRow es o no menor que 3 (S105). En resumen, se determina si la posición de inicio del corte i es la LCU localizada en primer lugar, en segundo lugar o en tercer lugar en la hilera.
Cuando el slice_address % numLCUinRow es menor que 3 (Si en S105), la inicialización de WPP se realiza (S107).
En contraste, cuando el slice_address % numLCUinRow es mayor que o igual a 3 (No en S105), la inicialización no se realiza y el índice i se disminuye por 1 (S109). En resumen, en este ejemplo, el corte (2) que precede al corte objetivo (corte (4)) por dos cortes se establece como el corte i. Entonces, los procesos subsecuentes al paso S103 se realizan en el corte (2). Por otra parte, cuando se hace la misma determinación para el corte (2), el corte (1) entonces se establece como el corte i.
La FIGURA 10 es un diagrama que muestra una representación visual 360. La representación visual 360 incluye cinco cortes 361 a 365. El corte 361 es un corte normal e incluye la primera hilera completa. El corte 362 es un corte dependiente e incluye la segunda hilera completa. La tercera hilera incluye el corte dependiente 363 y el corte 364. El corte 365 es un corte dependiente e incluye la cuarta hilera completa.
Lo siguiente plantea casos donde el corte 364 es un corte dependiente y donde el corte 364 es un corte normal cuando el corte 364 se pierde o se retrasa. Además, en este documento, el corte 363 tiene por lo menos dos LCUs.
Cuando el corte 364 se pierde, un aparato de decodificación de imágenes no puede determinar un tipo del corte 364. Cuando el corte perdido 364 es un corte dependiente, es posible continuar la decodificación del corte 365 y los cortes subsecuentes con un margen pequeño de error en el procesamiento de reconstrucción. Esto es debido a que, como se describe con referencia a las FIGURAS 8 y 9, el corte 365 utiliza estados de CABAC de la LCU localizada en segundo lugar en el corte 363. De esta manera, el procesamiento de inicialización de CABAC no causa un error. Sin embargo, puesto que el corte 365 utiliza la predicción espacial del corte 364, existe la posibilidad de que el procesamiento de reconstrucción de pixeles cause un error.
En contraste, cuando el corte perdido 364 es un corte normal, el corte 365 no puede ser decodificado. Esto es debido a que algunos de los elementos de sintaxis podrían utilizar información de un encabezado de corte del corte perdido 364. Establecido de modo diferente, es debido a que el corte normal 364 es un corte precursor del corte dependiente 365 y la información del corte precursor se requiere para el análisis y la decodificación del corte dependiente 365.
Cuando se desconoce el tipo del corte perdido 364, el aparato de decodificación de imágenes desecha el corte decodificable 365 para evitar una decodificación errónea que es probable que ocurra cuando el corte perdido 364 es un corte normal. Esto no es eficiente debido a que el corte 365 se desecha incluso cuando los datos del corte 365 se obtienen correctamente. Además, no es necesario desechar todos los cortes dependientes que son subsecuentes al corte 365.
Cuando el corte 364 es un corte normal, un motor de CABAC se inicializa a un valor de CABAC por defecto (hacer referencia al caso de No en el paso S101 mostrado en la FIGURA 9) para decodificar el corte 365. De esta manera, el corte 365 no depende del corte 363. Además, la predicción espacial entre el corte 363 y el corte 365 no se realiza. Como antes, la CABAC se inicializa al valor por defecto en la posición de inicio del corte 365 y de esta manera el corte dependiente 365 se vuelve similar al corte normal.
Sin embargo, el corte normal tiene un encabezado de corte completo. En contraste, el corte 365 solo tiene un encabezado de corte corto y depende de parámetros establecidos por un encabezado de corte de un corte normal de predicción. En otras palabras, cuando el corte 365 es un corte dependiente, aunque existe la ventaja respecto a que el tamaño del encabezado se puede reducir, la ventaja no es muy grande. En contraste, cuando el corte 365 es un corte normal 15, el corte 365 se puede decodificar. Como se describió recientemente, en los casos anteriores, la ventaja se considera que es más grande cuando el corte 365 se establece como el corte normal que cuando el corte 365 se establece como el corte dependiente.
Sin embargo, en el WPP, el corte dependiente no se diseña para asegurar la robustez contra la pérdida sino para hacer posible una operación de WPP en un retraso extremadamente bajo. Por otra parte, en el caso de una aplicación de retraso extremadamente bajo sobre una red tal como una aplicación en tiempo real, se espera la pérdida de paquetes y el reordenamiento de paquetes. En este caso, cuando el corte 364 puede obtenerse finalmente, el corte 365 se puede decodificar. Sin embargo, por lo menos se causa un retraso incrementado y la pérdida de paquetes. De esta manera, el WPP no se realiza en un estado óptimo en un ambiente con pérdidas.
La FIGURA 11 es un diagrama que muestra otro problema asociado con la inicialización de CABAC cuando se utiliza el WPP y que muestra una representación visual 370. La representación visual 370 incluye cuatro cortes 371 a 374.
El corte 371 es un corte normal y el corte 372 es un corte dependiente. En este documento, el corte 371 tiene por lo menos dos LCUs. La primera hilera de la representación visual 370 incluye los cortes 371 y 372. La segunda hilera de la representación visual 370 incluye los cortes 373 y 374, cortes dependientes.
En este caso, se asume que un aparato de codificación de imágenes utiliza por lo menos dos núcleos procesadores. Por decirlo de otra manera, cuando se utiliza el WPP, el aparato de codificación de imágenes codifica y analiza dos hileras de LCU en paralelo. De esta manera, el corte 373 se vuelve disponible mucho tiempo antes de que el corte 372 se vuelva disponible.
Sin embargo, puesto que la inicialización de CABAC para el corte 373 depende del corte 372, la decodificación del corte 373 no puede iniciarse. De esta manera, no es posible hacer un retraso de la codificación o decodificación de inicio entre hileras más pequeñas que la hilera completa de una LCU. Esto es contradictorio con respecto al propósito del WPP de disminuir el retraso hasta dos LCUs.
Lo siguiente describe el procesamiento paralelo de la codificación y la transmisión de un corte, como se muestra en la FIGURA 11. Dos unidades de procesamiento, tales como los núcleos procesadores y procesadores codifican simultáneamente los cortes (corte 371 y corte 373) localizados en primer lugar en hileras respectivas. Cuando la codificación termina, los cortes codificados 371 y 373 son encapsulados en paquetes que tienen números de paquete (packet_id) de 0 a 4, respectivamente. En este documento, el número de paquete de 4 se selecciona para reservar un número pequeño para el corte 372 y posiblemente para otra NALU.
Cuando se completa la codificación del corte 372, el corte 372 es encapsulado en un paquete que tiene un número de paquete de 1 y se transmite. Además, dos unidades NAL que tienen números de paquete correspondientes de 2 y 3 y datos falsos (relleno) se generan para evitar la determinación de números de paquetes perdidos de 2 y 3 como pérdida de paquetes.
En la HEVC, esto se logra mediante el uso de un mensaje de SEI filler_data o un tipo de unidad NAL predeterminado reservado para datos de relleno. Como antes, cuando una identificación de paquete necesita ser incrementada por 1 para cada unidad NAL, una NALU tipo relleno se utiliza para llenar la abertura.
La inicialización de una hilera objetivo depende de la LCU localizada en segundo lugar en una hilera arriba de la hilera objetivo. Por otra parte, una inserción de corte después de la LCU localizada en segundo lugar es problemática en términos de influencia de la determinación de la inicialización de CABAC. La presente invención proporciona un método para obtener una relación más eficiente entre el WPP y el uso de un corte dependiente, con base en este análisis y problema. Se debe evitar una situación donde la inicialización de CABAC para una hilera depende de otra hilera para mantener la eficiencia del WPP.
Un método de decodificación de imágenes de acuerdo con una aspecto de la presente invención es un método de decodificación de imágenes para decodificar una corriente de bits que incluye una señal codificada que resulta de la codificación de una pluralidad de cortes en los cuales se divide una imagen y cada uno de los cuales incluye una pluralidad de unidades de codificación, el método comprende decodificar la señal codificada, en donde cada uno de las cortes es ya sea un corte normal que tiene, en un encabezado de corte, información utilizada para otro corte o un corte dependiente el cual se decodifica utilizando información incluida en un encabezado de corte de otro corte, la imagen incluye una pluralidad de hileras cada una de las cuales incluye dos o más de las unidades de codificación y cuando el corte normal inicia en una posición diferente del comienzo de una primera hilera, una segunda hilera que sigue inmediatamente a la primera hilera no inicia con el corte dependiente.
Con esto, es posible impedir la ocurrencia de un caso donde un corte al comienzo de la segunda hilera se refiere a un corte en una posición diferente del comienzo de la primera hilera, permitiendo de ese modo una eficiencia mejorada en relación a cuando el procesamiento paralelo y los cortes dependientes se utilizan conjuntamente.
Por ejemplo, en la decodificación, puede ser que la primera hilera y la segunda hilera sean decodificadas en paralelo y cuando se inicia la decodificación de la segunda hilera, la segunda hilera se decodifica sin hacer referencia a la información de partición que indica una estructura de corte de la primera hilera.
Por ejemplo, en la decodificación, la decodificación aritmética de la segunda hilera se puede inicializar utilizando un contexto obtenido después de la decodificación aritmética de una de las unidades de codificación que está localizada en segundo lugar en la primera hilera.
Por ejemplo, el método de decodificación de imágenes puede comprender además la obtención, de un encabezado de corte de un corte, de información que indica si el corte es ya sea el corte normal o el corte dependiente.
Por ejemplo, puede ser que un corte en el comienzo de la imagen sea el corte normal y cada uno de todos los otros cortes sea el corte dependiente.
Por ejemplo, cada uno de los cortes puede incluir la totalidad de una o más de las hileras.
Por ejemplo, la decodificación aritmética del corte dependiente se puede inicializar utilizando un contexto de un corte precursor cuyo encabezado de corte se utiliza para el corte dependiente.
Por ejemplo, el método de decodificación de imágenes puede comprender además la obtención de un indicador de restricción de la corriente de bits cuando se habilita el corte dependiente, el indicador de restricción señala que la partición de una representación visual está restringida.
Adicionalmente, un método de codificación de imágenes de acuerdo con un aspecto de la presente invención es un método de codificación de imágenes para codificar una pluralidad de cortes en los cuales se divide una imagen y cada uno de los cuales incluye una pluralidad de unidades de codificación, para generar una corriente de bits, el método comprende: dividir la imagen en cortes; y codificar los cortes que resultan de la partición, en donde cada uno de los cortes es ya sea un corte normal que tiene, en un encabezado de corte, información utilizada para otro corte o un corte dependiente el cual se decodifica utilizando información incluida en un encabezado de corte de otro corte, la imagen incluye una pluralidad de hileras cada una de las cuales incluye dos o más de las unidades de codificación, y en la partición, cuando el corte normal inicia en una posición diferente del comienzo de una primera hilera, la imagen se divide en los cortes para causar que una segunda hilera inmediatamente después de la primera hilera no inicie con el corte dependiente.
Con esto, es posible impedir la ocurrencia de un caso donde un corte al comienzo de la segunda hilera se refiere a un corte en una posición diferente del comienzo de la primera hilera, permitiendo de ese modo una eficiencia mejorada en relación a cuando el procesamiento paralelo y los cortes dependientes se utilizan conjuntamente.
Por ejemplo, en la partición, puede ser que, en el caso donde un aparato de decodificación de imágenes decodifica la primera hilera y la segunda hilera en paralelo, la imagen sea dividida en los cortes para permitir la decodificación de la segunda hilera sin hacer referencia a información de partición cuando el aparato de decodificación de imágenes inicia la decodificación de la segunda hilera, la información de partición indica una estructura de corte de la primera hilera.
Por ejemplo, en la codificación, la codificación aritmética de la segunda hilera se puede inicializar utilizando un contexto obtenido después de la codificación aritmética de una de las unidades de codificación que está localizada en segundo lugar en la primera hilera.
Por ejemplo, el método de codificación de imágenes puede comprender además incorporar, en un encabezado de corte de un corte, información que indica si el corte es ya sea el corte normal o el corte dependiente.
Por ejemplo, puede ser que un corte al comienzo de la imagen sea el corte normal y cada uno de todos los otros cortes sea el corte dependiente.
Por ejemplo, cada uno de los cortes puede incluir la totalidad de una o más de las hileras.
Por ejemplo, la codificación aritmética del corte dependiente se puede inicializar utilizando un contexto de un corte precursor cuyo encabezado de corte se utiliza para el corte dependiente.
Por ejemplo, el método de codificación de imágenes puede comprender además incorporar un indicador de restricción en la corriente de bits cuando el corte dependiente se habilita, el indicador de restricción señala que la partición de una representación visual está restringida.
Además, un aparato de decodificación de imágenes de acuerdo con un aspecto de la presente invención es un aparato de decodificación de imágenes el cual decodifica una corriente de bits que incluye una señal codificada que resulta de la codificación de una pluralidad de cortes en los cuales se divide una imagen y cada uno de los cuales incluye una pluralidad de unidades de codificación, el aparato comprende una unidad de decodificación configurada para decodificar la señal codificada, en donde cada uno de los cortes es ya sea un corte normal que tiene, en un encabezado de corte, información utilizada para otro corte o un corte dependiente el cual se decodifica utilizando información incluida en un encabezado de corte de otro corte, la imagen incluye una pluralidad de hileras cada una de las cuales incluye dos o más de las unidades de codificación y cuando el corte normal inicia en una posición diferente del comienzo de una primera hilera, una segunda hilera que sigue inmediatamente a la primera hilera no inicia con el corte dependiente.
Con esto, es posible impedir la ocurrencia de un caso donde un corte al comienzo de la segunda hilera se refiere a un corte en una posición diferente del comienzo de la primera hilera, permitiendo de ese modo una eficiencia mejorada en relación a cuando el procesamiento paralelo y los cortes dependientes se utilizan conjuntamente.
Adicionalmente, un aparato de codificación de imágenes de acuerdo con un aspecto de la presente invención es un aparato de codificación de imágenes el cual codifica una pluralidad de cortes en los cuales se divide una imagen y cada uno de los cuales incluye una pluralidad de unidades de codificación, para generar una corriente de bits, el aparato comprende: una unidad de partición configurada para dividir la imagen en los cortes; y una unidad de codificación configurada para codificar los cortes que resultan de la partición, en donde cada uno de los cortes es ya sea un corte normal que tiene, en un encabezado de corte, información utilizada para otro corte o un corte dependiente el cual se decodifica utilizando información incluida en un encabezado de corte de otro corte, la imagen incluye una pluralidad de hileras cada una de las cuales incluye dos o más de las unidades de codificación y la unidad de partición se configura para, cuando el corte normal inicia en una posición diferente del comienzo de una primera hilera, dividir la imagen en los cortes para causar que una segunda hilera inmediatamente después de la primera hilera no inicie con el corte dependiente.
Con esto, es posible impedir la ocurrencia de un caso donde un corte al comienzo de la segunda hilera se refiere a un corte en una posición diferente del comienzo de la primera hilera, permitiendo de ese modo una eficiencia mejorada en relación a cuando el procesamiento paralelo y los cortes dependientes se utilizan conjuntamente.
Adicionalmente, un aparato de codificación y decodificación de imágenes de acuerdo con un aspecto de la presente invención incluye el aparato de codificación de imágenes y el aparato de decodificación de imágenes.
Cada una de las modalidades descritas a continuación muestra un ejemplo específico. Los valores numéricos, configuraciones, materiales, elementos estructurales, la ordenación y conexión de los elementos estructurales, pasos, el orden de los pasos etcétera que se muestran en las siguientes modalidades son solo ejemplos y por lo tanto no limitan la presente invención. Por lo tanto, entre los elementos estructurales mostrados en las siguientes modalidades, los elementos estructurales no expuestos en ninguna de las reivindicaciones independientes que muestran los conceptos más genéricos se describen como elementos estructurales arbitrarios.
Modalidad 1 En un método de codificación de imágenes y un método de decodificación de imágenes de acuerdo con la Modalidad 1, se agrega un indicador el cual especifica claramente la inicialización de CABAC.
La FIGURA 12 es un diagrama que muestra la sintaxis de un encabezado de corte de acuerdo con la Modalidad 1. Un encabezado de corte 380 incluye una nueva hilera 381 que tiene un nuevo elemento de sintaxis "entropy_default_initialization_flag".
Este entropy_deafult_initialization_flag es un indicador que señala, cuando se establece a un valor predeterminado, que la CABAC de un corte se inicializa con un valor por defecto (predeterminado) de CABAC. El señalizador es un indicador de un bit que tiene el primer valor tal como "1" que señala que un corte se inicializa con un valor de CABAC y el segundo valor tal como "0" que indica que la inicialización se realiza por medio de un método diferente. Se debe observar que las asignaciones de los valores de "1" y "0" se pueden conmutar.
El "método diferente" para determinar la inicialización puede ser un método predeterminado tal como la inicialización basada en un valor de un corte precedente. Sin embargo, el "método diferente" puede incluir otro flujo de determinación similar al flujo mostrado en la FIGURA 9, obteniendo posiblemente de ese modo un método de inicialización que utiliza un valor por defecto de CABAC.
Un aparato de decodificación de imágenes de acuerdo con esta modalidad decodifica una corriente de bits de una secuencia de video codificada que incluye cortes de imagen codificados por lo menos parcialmente mediante la codificación aritmética. El aparato de decodificación de imágenes incluye: una unidad de análisis la cual extrae, de los datos de la corriente de bits de un corte, un indicador de inicialización que señala si un modelo de probabilidad de decodificación aritmética del corte se inicializa o no con un valor predeterminado; una unidad de control la cual controla si el modelo de probabilidad de decodificación aritmética se inicializa o no con el valor predeterminado, de acuerdo con el indicador de inicialización; y una unidad de decodificación aritmética la cual decodifica el corte al aplicar la decodificación aritmética.
Por ejemplo, la codificación aritmética puede ser la codificación aritmética adaptativa al contexto como se define en HEVC. Sin embargo, la presente invención no está limitada a la misma.
El valor predeterminado es un valor por defecto conocido para un aparato de codificación de imágenes y el aparato de decodificación de imágenes, y no cambia con el contenido codificado.
El indicador de inicialización se refiere preferiblemente a un señalizador de 1 bit en donde "1" señala que un modelo de probabilidad de decodificación aritmética se inicializa con el valor predeterminado y "0" indica que un modelo de probabilidad de decodificación aritmética se inicializa por medio de un método diferente.
Solo cuando un corte objetivo es un corte dependiente, es necesario que el indicador esté presente. Esto es debido a que cuando el corte objetivo es un corte normal, el valor por defecto de CABAC se utiliza para la inicialización (hacer referencia al caso de No en el paso S101 mostrado en la FIGURA 9). De esta manera, se analiza primero si el corte objetivo es o no un corte dependiente al verificar una condición dependent_slice_flag == 1.
Por otra parte, cuando se realiza el procesamiento paralelo de un corte y otro corte, el indicador de inicialización (señalizador) es ventajoso. Por ejemplo, el procesamiento paralelo puede ser el WPP. De esta manera, solo cuando la condición entropy_coding_sync_enabled_flag == 1 es verdadera, la sintaxis del encabezado de corte mostrado en la FIGURA 12 incluye un indicador de inicialización entropy_default_initialization_flag.
Adicionalmente, el indicador de inicialización es apropiado solo cuando el corte inicia al comienzo de una hilera de LCU. Esto es debido a que la inicialización inmediata de la CABAC solo se requiere entonces para permitir el procesamiento paralelo. Esto es indicado por una condición slice_address % PicWidthlnCtbsY == 0 en la sintaxis mostrada en la FIGURA 12.
Como se estableciera anteriormente, un elemento de sintaxis "slice_address" indica el inicio del corte con una compensación incluida en la corriente de bits. "PicWidthlnCtbsY" indica una anchura de una trama con el número de unidades de bloques de árbol de codificación (LCUs).
Como se muestra en la hilera 381, un producto lógico de las tres condiciones se utiliza para la determinación. En otras palabras, el entropy_default_initialization_flag se transmite para señalar claramente el método de inicialización solo cuando la Expresión 2 posterior es verdadera. dependent_slice_flag == 1 && entropy_coding_sync_enabled_flag == 1 & slice_address % PicWidthlnCtibsY == 0 (Expresión 2) Cuando la Expresión 2 no es verdadera, la inicialización se realiza con base en un método normal, es decir, reglas de WPP.
Por decirlo de otra manera, el método de codificación de imágenes y el método de decodificación de imágenes de acuerdo con esta modalidad incluyen: subdividir un corte de una imagen en unidades de codificación que corresponden a los bloques de pixeles de la imagen; y extraer, por medio de la unidad de análisis, un indicador de inicialización de datos de encabezado, solo cuando el corte es un corte dependiente. Una unidad de decodificación aritmética de cortes dependientes se inicializa con base en un contexto de una unidad de decodificación aritmética de cortes precursores que corresponden a los cortes dependientes respectivos.
Por otra parte, solo cuando se permite la decodificación paralela de una hilera compuesta de las unidades de codificación, la unidad de análisis puede extraer el indicador de inicialización de los datos de encabezado.
Establecido de modo diferente, de acuerdo con esta modalidad, el corte de la imagen es subdividido en las unidades de codificación que corresponden a los bloques de pixeles de la imagen y el indicador de inicialización de los datos de encabezado es extraído por la unidad de análisis solo cuando el corte inicia desde el comienzo de la hilera compuesta de los bloques de unidades de codificación de la imagen.
La FIGURA 13 es un diagrama de flujo para un método de determinación de inicialización de CABAC para un corte de acuerdo con esta modalidad. La FIGURA 13 asume un caso de la representación visual 350 mostrada en la FIGURA 8. Asumiendo que el corte (4) (corte 354) y el corte (1) (corte 351) son analizados en paralelo, se hace la siguiente determinación.
En primer lugar, se determina si el corte (4) es o no un corte dependiente (Slll). Cuando el corte (4) es un corte dependiente y otras condiciones (el procesamiento paralelo de hileras se realiza y un corte inicia al comienzo de una hilera de LCU) se satisfacen (Si en el paso Slll), un indicador de inicialización "entropy_default_initialization_flag" se verifica para determinar un método de ejecución de inicialización (S112).
Cuando el entropy_default_initialization_flag indica una aplicación de inicialización por defecto (No en el paso S112), se aplica la inicialización por defecto (S114). En contraste, cuando el entropy_default_initialization_flag no indica la aplicación de la inicialización por defecto (Si en el paso S112), se aplica la inicialización del WPP en la cual un corte precedente es referido (S113).
Se debe observar que esta modalidad no está limitada al señalamiento del indicador de inicialización en el encabezado de corte. El mismo indicador puede ser incorporado en otra estructura de datos, por ejemplo un mensaje de información de mejoramiento complementario. Modalidad 2 La Modalidad 1 hace posible lograr un procesamiento paralelo eficiente de hileras de LCU tal como el WPP y el corte dependiente. Por otra parte, un nuevo elemento de sintaxis se incorpora en un encabezado de corte. En respuesta, la independencia de la inicialización de CABAC para cortes durante el procesamiento paralelo se puede lograr al modificar reglas de inicialización, para evitar la adición del nuevo elemento de sintaxis.
En la Modalidad 2, la definición del corte dependiente y las operaciones para un corte dependiente por medio de un aparato de codificación de imágenes y un aparato de decodificación de imágenes se modifican. Esto se puede lograr al agregar restricciones a los estándares de corrientes de bits.
En otras palabras, el aparato de decodificación de imágenes de acuerdo con esta modalidad decodifica una corriente de bits de una secuencia de video codificada que incluye cortes de imagen subdivididos en unidades de codificación y codificados por lo menos parcialmente por medio de la codificación aritmética. El aparato de decodificación de imágenes incluye una unidad de análisis la cual extrae, de una corriente de bits, una primera hilera de unidades de codificación y una segunda hilera de unidades de codificación, en donde las unidades de codificación de la primera hilera y la segunda hilera se asignan a cortes para evitar la referencia a información de partición de un primer corte en la primera hilera cuando una unidad. de decodificación aritmética para un segundo corte en la segunda hilera se inicializa. Una posición de inicio del primer corte en la primera hilera está detrás del segundo corte en la segunda hilera por un número predeterminado de unidades de codificación. El aparato de decodificación de imágenes incluye además la unidad de decodificación aritmética la cual realiza la decodificación aritmética del primer corte y el segundo corte por lo menos parcialmente en paralelo, para decodificar cada uno de los cortes.
La FIGURA 14 es un diagrama para describir la función de esta modalidad y muestra una representación visual 390 dividida en cortes. La representación visual 390 incluye cuatro cortes que son un corte normal 391, un corte normal 392, un corte dependiente 393 y un corte normal 394.
Los tres cortes 391, 392 y 393 están incluidos en la primera hilera de unidades de codificación (LCUs). El corte 394 incluye la segunda hilera y la tercera hilera completas.
La primera restricción ejemplar aplicada al corte y procesamiento paralelo en una base de hileras es que "cuando entropy_code_sync_enabled_flag y dependent_slice_enabled_flag son igual a l, un corte normal puede iniciar solo al comienzo de una hilera de bloques de árboles de codificación". Además, ambos señalizadores, el entropy_code_sync_enabled_flag y el dependent_slice_enabled_flag, están incluidos en un conjunto de parámetros de representación visual. Se debe observar que un bloque de árbol de codificación (CTB, por sus siglas en inglés) y una unidad de codificación más grande (LCU) se refieren a la misma unidad. El CTB se utiliza en un texto estándar (hacer referencia a la NPL 3). Además, aunque la LCU se utiliza en un texto estándar de la versión previa, el CTB se utiliza en un texto estándar de la versión actual.
Cuando el corte normal inicia solo al comienzo de una hilera de unidades de codificación (hilera de LCU), un corte dependiente en otra hilera el cual es subsecuente al corte normal siempre puede referirse a estados de CABAC del corte normal. En este documento, los estados de CABAC son estados de CABAC después de la primera LCU o las primeras dos LCUs son procesadas por medio del WPP. Además, puesto que un encabezado del corte dependiente depende de un encabezado del corte normal que precede al corte dependiente, cuando el corte normal 394 se pierde, es necesario desechar el corte dependiente.
De esta manera, en la primera restricción ejemplar, un corte normal siempre inicia al comienzo de una hilera de LCU. Por decirlo de un modo diferente, en una hilera de LCU, el primer corte es un corte normal y los otros cortes son cortes dependientes. Esto significa que el corte normal se permite solo como el primer corte en una LCU. Además, en una hilera de LCU, los cortes diferentes del primer corte siempre son cortes dependientes.
La primera restricción ejemplar no necesita ser estricta. Solo es necesario hacer que por lo menos una o dos LCUs del corte normal en una hilera precedente estén disponibles para el corte dependiente, para permitir la aplicación de la inicialización de WPP.
Alternativamente, la segunda restricción ejemplar se puede aplicar como otra restricción (regla). En la segunda restricción ejemplar, un corte normal no inicia después del bloque de árbol de codificación localizado en segundo lugar en una hilera de bloques de árboles de codificación. El corte normal tiene que iniciar al comienzo de una hilera de LCU, y de esta manera, por ejemplo, no es aceptable establecer, como el corte normal, el corte 392 localizado en segundo lugar como se muestra en la FIGURA 14.
Es suficiente que la posición de inicio del primer corte sea antes de la unidad de codificación localizada en segundo lugar en la primera hilera. Por otra parte, el primer corte puede ser un corte normal y el segundo corte puede ser un corte dependiente que utiliza un encabezado de corte del corte normal. Adicionalmente, la posición de inicio del primer corte puede ser al comienzo de la primera hilera.
La FIGURA 15 es un diagrama de flujo para un proceso de determinación en un método de inicialización de CABAC cuando se establecen las reglas anteriores. Lo siguiente describe el proceso de determinación utilizando el ejemplo mostrado en la FIGURA 8.
En primer lugar, se determina si el corte (4) es o no un corte dependiente (Slll). Cuando el corte (4) es un corte dependiente (Si en el paso Slll), la inicialización de WWP se realiza (S113). En contraste, cuando el corte (4) no es un corte dependiente (No en el paso Slll), la inicialización por defecto se realiza (S114).
Como se describiera anteriormente, una unidad de codificación entrópica adaptativa al contexto se utiliza en un método de codificación de imágenes de acuerdo con esta modalidad. El método de codificación de imágenes se aplica a una trama de representación visual dividida en por lo menos dos porciones. Por lo menos las dos porciones son una primera porción y una segunda porción las cuales pueden ser codificadas y decodificadas por lo menos parcialmente en paralelo.
De acuerdo con esta modalidad, la inicialización de una tabla de contexto de la segunda porción de una corriente se determina, cuando la primera porción de una subcorriente es subdividida en cortes, por medio de un método que no depende de la subdivisión de la primera porción. Por ejemplo, el WPP se realiza para cada hilera (cada hilera de LCU) y de esta manera una porción de la corriente puede corresponder a la hilera de LCU.
Se debe observar que la presente invención no está limitada a las restricciones ejemplares anteriores. Las restricciones ejemplares se pueden formular de una manera diferente. Lo siguiente describe otras restricciones ejempiares.
Cuando un corte normal satisface una condición de la Expresión 3 posterior, un corte que inicia al comienzo de una hilera de LCU subsecuente no es un corte dependiente. slice_address % PicWidthlnCtbsY > 1 (Expresión 3) Por motivos de simplicidad, la condición puede ser representada por la Expresión 4 a continuación. slice_address % PicWidthlnCtbsY ! = 0 (Expresión 4) En este documento, "! =" indica desigualdad. Cuando el entropy_coding_sync_enabled_flag es igual a l, es decir, el procesamiento paralelo de hileras de LCU se permite, estas restricciones son aplicables. Por otra parte, "slice_address" indica una posición de un corte que inicia en una corriente de bits y el parámetro "PicWidthlnCtbsY" indica una anchura de una representación visual (trama) en una LCU (bloque de árbol de codificación).
Por decirlo de otra manera, cuando el corte normal no inicia al comienzo de la hilera, un corte que inicia en una hilera inmediatamente subsecuente no es un corte dependiente (tercera restricción ejemplar). Esta condición elimina la necesidad de decodificación de un corte en la segunda hilera para esperar hasta que un corte normal en una posición en la primera hilera sea analizado (decodificado).
Esto significa que cuando un corte normal inicia en una posición diferente del comienzo de la primera hilera, la segunda hilera inmediatamente después de la primera hilera no inicia con un corte dependiente. Establecido de modo diferente, cuando por lo menos uno del corte localizado en segundo lugar y un corte subsecuente en la primera hilera es un corte normal, el corte al comienzo de la segunda hilera es un corte normal.
Lo siguiente describe la influencia de la tercera restricción ejemplar con referencia a la FIGURA 16. Una representación visual 400 mostrada en la FIGURA 16 incluye tres cortes 401 a 403 incluidos en la primera hilera. Entre los tres cortes, los primeros dos cortes 401 y 402 localizados en primer lugar y segundo lugar son cortes normales y el corte 403 localizado en tercer lugar es un corte dependiente.
Esta condición no permite que el corte 404 localizado en cuarto lugar sea establecido como el corte dependiente. Esto se indica en la FIGURA 16 al marcar una cruz al corte 404.
De esta manera, la corriente de bits puede incluir cortes normales y cortes dependientes y la decodificación de los cortes normales y los cortes dependientes se basa en parámetros señalados en encabezados de corte de los cortes normales. Cuando un corte normal inicia en una posición después del comienzo de una hilera de LCU, la siguiente hilera de LCU no inicia con un corte dependiente.
Adicionalmente, los ejemplos específicos se describen con referencia de la FIGURA 17A a la FIGURA 17D. Por ejemplo, como se muestra en la FIGURA 17A, cuando la primera hilera incluye un corte normal (3), el corte dependiente no puede establecerse como un corte (4) al comienzo de la segunda hilera. Además, cuando por lo menos uno de un corte (2) y el corte (3) es un corte normal, el corte (4) no puede establecerse como el corte dependiente. Como resultado, como se muestra en la FIGURA 17B, el corte (4) necesita ser establecido como el corte normal. Adicionalmente, en la tercera restricción ejemplar, también se permiten representaciones visuales como se muestra en la FIGURA 17C y la FIGURA 17D.
Se debe observar que aunque las representaciones visuales mostradas en la FIGURA 17A, FIGURA 17B y FIGURA 17D no se permiten en la primera restricción ejemplar establecida anteriormente, la representación visual mostrada en la FIGURA 17C se permite. Además, aunque las representaciones visuales mostradas en la FIGURA 17A y la FIGURA 17B no se permiten en la segunda restricción ejemplar, las representaciones visuales mostradas en la FIGURA 17C y la FIGURA 17D se permiten.
Lo siguiente describe la cuarta restricción ejemplar con referencia a la FIGURA 18. Cuando el entropy_coding_sync_enabled_flag y el dependent_slice_enabled_flag son iguales a l, no se permite el corte normal excepto el primer corte en una trama (cuarta restricción ejemplar).
Establecido de un modo diferente, cuando se permite el procesamiento paralelo y los cortes dependientes son habilitados, un corte normal se permite solo como el primer corte en la trama. En resumen, todos los cortes en la trama son cortes dependientes excepto el primer corte. En otras palabras, el corte al comienzo de una imagen es un corte normal y todos los otros cortes en la imagen son cortes dependientes.
Una representación visual 410 mostrada en la FIGURA 18 incluye cinco cortes 411 a 415. Los cortes 411, 412 y 415 son cortes normales y los cortes 413 y 414 son cortes dependientes. Los cortes normales 412 y 415 no se permiten excepto el corte normal 411 localizado en primer lugar, de acuerdo con la cuarta restricción ejemplar. En resumen, los cortes 412 y 415 tienen que ser cortes dependientes. Adicionalmente, entre las representaciones visuales mostradas en la FIGURA 17A a la FIGURA 17D, solo la representación visual mostrada en la FIGURA 17D se permite en la cuarta restricción ejemplar.
Se debe observar que el uso de la cuarta restricción ejemplar causa un demérito con respecto a la robustez contra la pérdida de paquetes. Los cortes normales se utilizan usualmente para reducir una dependencia o propagación de error en un ambiente de pérdida. Una trama donde solo el corte localizado en primer lugar es un corte normal asume el riesgo respecto a que todos los cortes no pueden ser decodificados cuando el corte localizado en primer lugar no puede ser decodificado.
Por otra parte, la siguiente restricción se puede utilizar como otra restricción. Cuando un corte (corte normal o dependiente) inicia a la mitad de una hilera de LCU (es decir, una posición diferente del comienzo de la hilera), la siguiente hilera de unidades de codificación no inicia con un corte dependiente (quinta restricción ejemplar).
Se debe observar que como es claro para una persona experta en el campo, es posible combinar arbitrariamente las restricciones descritas anteriormente. En otras palabras, de la primera restricción ejemplar a la quinta restricción ejemplar se pueden aplicar en combinación.
Lo siguiente describe además otra restricción ejemplar. Cuando el entropy_coding_sync_enabled_flag es igual a l, la hilera de una LCU no puede ser subdividida en cortes (sexta restricción ejemplar) . Cuando se aplica esta restricción, los cortes 412 y 413 no se permiten en la estructura de corte mostrada en la FIGURA 18. Por decirlo de otra manera, cuando el procesamiento paralelo de hileras de unidades de codificación está habilitado, solo se permite que un corte incluya una hilera completa de unidades de codificación o hileras completas de unidades de codificación.
Como se estableciera anteriormente, la corriente de bits incluye los cortes normales y los cortes dependientes. La decodificación de los cortes normales y los cortes dependientes se basa en los parámetros señalados en los encabezados de corte de los cortes normales. Después de que se determina que solo el corte localizado en primer lugar en una imagen sería un corte normal y los cortes restantes serían cortes dependientes, la imagen se divide en cortes.
Cada uno de los cortes incluye la totalidad de un número m de hileras de unidades de codificación. En este documento, m es un número entero mayor que o igual a 1. Específicamente, cada uno de los cortes incluye la totalidad de una o más hileras.
Cuando los cortes dependientes son habilitados y uno del WPP y el mosaico se habilita además de o en lugar de la aplicación de la restricción, un indicador que señala la restricción se puede incorporar en la corriente de bits. Por ejemplo, este indicador se incorpora en un SPS o un PPS. Se debe observar que el indicador se puede incorporar en otro mensaje tal como un mensaje de SEI o en cualquier mensaje de información de capacidad de uso de video (VUI, por sus siglas en inglés).
El aparato de decodificación de imágenes identifica una restricción que se aplica, con base en el indicador. Por ejemplo, esta restricción es que un corte normal se permite solo al comienzo de una hilera de LCU (WPP) o un mosaico. Se debe observar que ésta es solamente una restricción ejemplar y se puede aplicar cualquiera de las restricciones mencionadas anteriormente, una combinación de las restricciones o una restricción adicional no descrita explícitamente.
Por ejemplo, el indicador puede ser un señalizador de 1 bit que indica, para una restricción predeterminada, si la restricción debe ser aplicada o no. Las restricciones seleccionables pueden estar disponibles y la información que indica una restricción seleccionada se señala en la corriente de bits para el aparato de decodificación de imágenes. Establecido de modo diferente, en lugar de limitar explícitamente el uso como se describe en los ejemplos anteriores, el aparato de codificación de imágenes puede notificar al aparato de decodificación de imágenes que se utilizan estas restricciones. De esta manera, se puede aplicar cualquiera de los ejemplos con respecto a las restricciones.
De esta manera, un método de decodificación de imágenes de acuerdo con una implementación de la presente invención incluye obtener, de una corriente de bits, un indicador de restricción que señala que la partición de una representación visual está restringida, cuando el corte dependiente se habilita. Un método de codificación de imágenes de acuerdo con una implementación de la presente invención incluye incorporar, en una corriente de bits, un indicador de restricción que señala que la partición de una representación visual está restringida, cuando el corte dependiente se habilita.
Se debe observar que si se agrega o no el indicador no es necesario que se determine dependiendo si el WPP, mosaico o corte dependiente se habilita o no.
Adicionalmente, un método de decodificación de imágenes de acuerdo con una implementación de la presente invención es un método de decodificación de imágenes para decodificar una corriente de bits que incluye una señal codificada que resulta de la codificación de una pluralidad de cortes en los cuales se divide una imagen y cada uno de los cuales incluye una pluralidad de unidades de codificación (LCUs) y el método de decodificación de imágenes incluye decodificar la señal codificada. Un método de codificación de imágenes de acuerdo con una implementación de la presente invención es un método de codificación de imágenes para codificar una pluralidad de cortes en los cuales se divide una imagen y cada uno de los cuales incluye una pluralidad de unidades de codificación (LCU), para generar una corriente de bits, y el método de codificación de imágenes incluye: dividir la imagen en los cortes; y codificar los cortes que resultan de la partición.
Cada uno de los cortes es ya sea un corte normal o un corte dependiente. El corte normal es un corte que tiene, en un encabezado de corte, información que se utiliza probablemente para otro corte. El corte dependiente es un corte el cual se decodifica utilizando información incluida en un encabezado de corte de otro corte. En este documento, el otro corte es, por ejemplo, un corte normal que precede y que está más cerca del corte dependiente.
En la decodificación, la decodificación aritmética de un corte dependiente se inicializa utilizando un contexto de un corte precursor cuyo encabezado de corte se utiliza para el corte dependiente. En la codificación, la codificación aritmética de un corte dependiente se inicializa utilizando un contexto de un corte precursor cuyo encabezado de corte se utiliza para el corte dependiente.
La imagen incluye una pluralidad de hileras cada una de las cuales incluye una pluralidad de unidades de codificación.
En la partición, la imagen se divide en los mosaicos y los cortes satisfacen una o más de las restricciones mencionadas anteriormente.
Puede ser que en la decodificación, la primera hilera y la segunda hilera sean decodificadas en paralelo, y cuando se inicia la decodificación de la segunda hilera, la segunda hilera se decodifica sin referirse a la información de partición que indica una estructura de corte de la primera hilera. Puede ser que en la partición, en el caso donde un aparato de decodificación de imágenes decodifica la primera hilera y la segunda hilera en paralelo, la imagen se divida en los cortes para permitir la decodificación de la segunda hilera sin referirse a información de partición que indica una estructura de corte de la primera hilera, cuando el aparato de decodificación de imágenes inicia a decodificar la segunda hilera.
En este documento, la información de partición es, por ejemplo, información que indica una posición de corte (posición de inicio) o una posición de un encabezado de corte. El aparato de decodificación de imágenes realiza el procesamiento para determinar el método de inicialización de CABAC establecido anteriormente al referirse a esta información de partición.
Adicionalmente, el procesamiento paralelo es el WPP establecido anteriormente, por ejemplo. Específicamente, en la decodificación, la decodificación aritmética de la segunda hilera se inicializa utilizando un contexto obtenido después de la decodificación aritmética de la unidad de codificación localizada en segundo lugar en la primera hilera. En la codificación, la codificación aritmética de la segunda hilera se inicializa utilizando un contexto obtenido después de la codificación aritmética de la unidad de codificación localizada en segundo lugar en la primera hilera.
Como se estableciera anteriormente, el encabezado de corte tiene la información (dependent_slice_flag) que indica si el corte es un corte normal o un corte dependiente. En otras palabras, el método de decodificación de imágenes incluye obtener, de un encabezado de corte, información que indica si un corte es un corte normal o un corte dependiente. Además, el método de codificación de imágenes incluye incorporar, en un encabezado de corte, información que indica si un corte es un corte normal o un corte dependiente.
Como se describiera anteriormente, esta modalidad hace posible impedir que el procesamiento de cortes dependientes sea retrasado por al menos dos o al menos tres unidades de codificación, por la inicialización de CABAC en vista de los cortes precedentes en el procesamiento paralelo. Con esto, el procesamiento paralelo de codificación, decodificación y análisis de las hileras se puede realizar eficientemente.
Se debe observar que la presente invención no está limitada a la modalidad en la cual se restringe el método de corte. Además, la restricción puede referirse a un corte del cual se puede obtener un contexto de CABAC.
Modalidad 3 En esta modalidad, se cambia un método de inicialización de CABAC para un corte dependiente en un tiempo de WPP. Específicamente, se cambia la regla de asignación de corte precursor para el corte dependiente.
Por ejemplo, se determina una regla en la cual un corte dependiente siempre obtiene un encabezado de corte y un contexto de CABAC del mismo corte independientemente de la subdivisión de una hilera de LCU en cortes (y/o un tipo de un corte subsecuente) Una representación visual 420 mostrada en la FIGURA 29, incluye los cortes 421 a 424. En la HEVC actual, el corte 422 es un corte precursor del corte dependiente 424. En otras palabras, un encabezado de corte del corte dependiente 424 se obtiene del corte 422, el corte normal, precedente, más cercano.
Como se describe con referencia a la FIGURA 9, existe un caso donde la inicialización de CABAC se realiza en el corte dependiente utilizando un corte normal el cual está al comienzo de una hilera de LCU precedente. Sin embargo, cuando el corte 422 se pierde, aunque la inicialización de CABAC se puede realizar en el corte 424, el corte 424 no se puede decodificar debido a la ausencia de la información de encabezado de corte.
En vista de esto, en esta modalidad, el corte dependiente tiene, como el corte precursor, el corte normal más cercano que inicia desde la misma hilera que el corte dependiente o una hilera que precede a la hilera del corte dependiente. En esta modalidad, como se muestra en la FIGURA 19, el corte precursor del corte 424 se establece como el corte 421 de acuerdo con esta regla. La inicialización de CABAC se realiza en el corte dependiente 424 utilizando un encabezado de corte del corte 421 así como también los estados de CABAC del corte 421.
Además, una unidad de decodificación aritmética de cada corte dependiente establece una dependencia de corte para realizar la inicialización con base en un contexto de una unidad de decodificación aritmética del corte precursor.
Se debe observar que la información que indica una tabla de contexto de CABAC utilizada para la inicialización de corte se puede señalar explícitamente en un mensaje de SEI. En resumen, todos los valores de inicialización considerados que se utilizan para la inicialización del motor de CABAC pueden ser señalados explícitamente en el mensaje de SEI.
Se debe observar que el término "corte (corte normal o corte dependiente) " utilizado en la descripción anterior algunas veces es referido como un "segmento de corte (segmento de corte normal o segmento de corte dependiente)".
En este caso, una unidad que incluye uno o más segmentos de corte consecutivos es referida como un "corte". Específicamente, un corte incluye un segmento de corte normal y uno o más segmentos de corte dependiente consecutivos después del segmento de corte normal. Establecido de modo diferente, cuando un segmento de corte normal sigue inmediatamente a otro segmento de corte normal, un corte incluye solo el segmento de corte normal. Además, cuando uno o más segmentos de corte dependientes siguen inmediatamente a un segmento de corte normal, un corte incluye el segmento de corte normal y uno o más de los segmentos de corte dependiente. En conclusión, un corte varía de un segmento de corte normal a uno o más cortes dependientes que preceden inmediatamente al siguiente segmento de corte normal.
Cuando se utiliza esta definición, se puede decir que las terceras restricciones ejemplares descritas anteriormente para las hileras de LCU y cortes corresponden a las siguientes definiciones.
Cuando el entropy_coding_sync_enabled_flag es igual a 1 y el primer bloque de árbol de codificación (LCU) en un corte no es el primer bloque de árbol de codificación de una hilera de bloques de árbol de codificación, un requerimiento de conformidad de corriente de bits es que el último bloque de árbol de codificación en el corte deberá pertenecer a la misma hilera de bloques de árbol de codificación que el primer bloque de árbol de codificación en el corte.
En este documento, el caso donde el primer bloque de árbol de codificación incluido en un corte no es el primer bloque de árbol de codificación en una hilera de bloques de árbol de codificación es un caso donde un segmento de corte normal inicia en una posición diferente del comienzo de la hilera de bloques de árbol de codificación. La situación en la cual el último bloque de árbol de codificación incluido en el corte pertenece a la misma hilera de bloques de árbol de codificación que el primer bloque de árbol de codificación incluido en el corte corresponde a la situación en la cual la siguiente hilera no inicia con un corte dependiente.
Por ejemplo, en el ejemplo mostrado en la FIGURA 17B, los segmentos de corte (1) y (2) (indicados por el corte (1) y el corte (2) en la FIGURA 17B; estas indicaciones aplicarán del mismo modo a los siguientes segmentos de corte) forman un corte, un segmento de corte (3) forma un corte y los segmentos de corte (4) y (5) forman un corte. Entre estos cortes, un corte el primer bloque de árbol de codificación del cual es diferente del primer bloque de árbol de codificación en una hilera de bloques de árbol de codificación es solo el corte formado del segmento de corte (3). El último bloque de árbol de codificación en este corte pertenece a la misma hilera de bloques de árbol de codificación (la primera hilera) que el primer bloque de árbol de codificación en el corte. Por lo tanto, se permite la estructura mostrada en la FIGURA 17B.
Por otra parte, en el ejemplo mostrado en la FIGURA 17A, los segmentos de corte (3) a (5) forman un corte. El primer bloque de árbol de codificación en este corte (el primer bloque de árbol de codificación en el segmento de corte (3)) y el último bloque de árbol de codificación en este corte (el último bloque de árbol de codificación en el segmento de corte (5)) pertenecen a diferentes hileras de bloques de árbol de codificación. Por lo tanto, no se permite la estructura mostrada en la FIGURA 17A.
En la FIGURA 17C, los segmentos de corte (1) a (3) forman un corte y los segmentos de corte (4) y (5) forman un corte. En la FIGURA 17D, los segmentos de corte (1) a (5) forman un corte. Esto significa que el corte el primer bloque de árbol de codificación del cual es diferente del primer bloque de árbol de codificación en una hilera de bloques de árbol de codificación, es decir, el corte el cual inicia a la mitad de una hilera, no está presente en la FIGURA 17C y la FIGURA 17D. Por lo tanto, se permiten las estructuras mostradas en la FIGURA 17C y la FIGURA 17D.
Cuando el entropy_coding_sync_enabled_flag es igual a 1 y el primer bloque de árbol de codificación (LCU) en un segmento de corte no es el primer bloque de árbol de codificación de una hilera de bloques de árbol de codificación, un requerimiento de la conformidad de corriente de bits es que el último bloque de árbol de codificación en el segmento de corte deberá pertenecer a la misma hilera de bloques de árbol de codificación que el primer bloque de árbol de codificación en el segmento de corte.
Aunque hasta ahora se ha descrito el método de codificación de imágenes y el método de decodificación de imágenes de acuerdo con las modalidades, la presente invención no está limitada a las modalidades.
El método de codificación de imágenes y el método de decodificación de imágenes son realizados por el aparato de codificación de imágenes y el aparato de decodificación de imágenes, respectivamente. El aparato de codificación de imágenes y el aparato de decodificación de imágenes tienen las mismas estructuras que, por ejemplo, aquellas mostradas en la FIGURA 1 y la FIGURA 2, respectivamente, y los pasos característicos incluidos en el método de codificación de imágenes y el método de decodificación de imágenes son ejecutados por cualquiera de las unidades de procesamiento respectivas que se muestran en la FIGURA 1 y la FIGURA 2 o unidades de procesamiento las cuales no se muestran.
Por otra parte, las unidades de procesamiento respectivas que están incluidas en el aparato de codificación de imágenes y el aparato de decodificación de imágenes de acuerdo con las modalidades se implementan típicamente como un LSI el cual es un circuito integrado. Estas unidades de procesamiento pueden ser configuradas individualmente como chips individuales o pueden ser configuradas de modo que una parte o la totalidad de las unidades de procesamiento estén incluidas en un chip individual.
Adicionalmente, el método de integración de circuitos no está limitado a LSIs y la iplementación a través de un circuito especializado o un procesador de uso general también es posible. Una Matriz de Puertas Programables de Campo (FPGA, por sus siglas en inglés) la cual permite la programación después de la manufactura de LSI o un procesador reconfigurable el cual permite la reconfiguración de las conexiones y ajustes de las celdas de circuitos dentro del LSI también se puede utilizar.
Cada uno de los elementos estructurales en cada una de las modalidades descritas anteriormente se puede configurar en la forma de un hardware especializado o se puede implementar al ejecutar un programa de software adecuado para el elemento estructural. Cada uno de los elementos estructurales puede ser implementado por medio de una unidad de ejecución de programas, tal como una CPU o un procesador, que lee y ejecuta el programa de software grabado en un medio de grabación tal como un disco duro o una memoria semiconductora.
En otras palabras, cada uno del aparato de codificación de imágenes y el aparato de decodificación de imágenes incluye circuitería de control y almacenamiento conectado eléctricamente a la circuitería de control (accesible desde la circuitería de control). La circuitería de control incluye por lo menos uno del hardware especializado y la unidad de ejecución de programas. Además, cuando la circuitería de control incluye la unidad de ejecución de programas, el almacenamiento guarda un programa de software ejecutado por la unidad de ejecución de programas.
Por otra parte, la presente invención puede ser el programa de software o un medio de grabación legible por computadora no transitorio en el cual se graba el programa. Adicionalmente, no hace falta decir que el programa puede ser distribuido por vía de un medio de trasmisión tal como la Internet.
Por otra parte, todas las figuras numéricas utilizadas en la siguiente descripción se ejemplifican solamente para describir la presente invención en términos específicos y de esta manera la presente invención no está limitada a las figuras numéricas ejemplificadas.
Adicionalmente, la separación de los bloques funcionales en los diagramas de bloques es solamente un ejemplo y se pueden implementar numerosos bloques funcionales como un bloque funcional individual, un bloque funcional individual se puede separar en numerosos bloques funcionales, o una parte de funciones de un bloque funcional se puede transferir a otro bloque funcional. Además, las funciones de bloques funcionales que tienen funciones similares se pueden procesar, en paralelo o por tiempo compartido, por un hardware o software individual.
Por otra parte, la secuencia en la cual se ejecutan los pasos incluidos en el método de codificación de imágenes y el método de decodificación de imágenes se proporciona como un ejemplo para describir la presente invención en términos específicos y de esta manera son posibles otras secuencias. Adicionalmente, parte de los pasos pueden ejecutarse simultáneamente (en paralelo) con otro paso.
Aunque el aparato de codificación de imágenes y el aparato de decodificación de imágenes de acuerdo con una o más implementaciones de la presente invención han sido descritos anteriormente con base en las modalidades ejemplares, la presente invención no está limitada a esas modalidades. Otras modalidades que resultan de la aplicación de modificaciones concebibles por aquellas personas expertas en el campo a las modalidades y cualquier combinación de los elementos estructurales en las modalidades también están incluidas en el alcance de uno o más aspectos de la presente invención sin apartarse de la esencia de la presente invención.
Modalidad 4 El procesamiento descrito en cada una de las modalidades puede ser implementado simplemente en un sistema informático independiente, al grabar, en un medio de grabación, un programa para implementar las configuraciones del método de codificación de representaciones visuales en movimiento (método de codificación de imágenes) y el método de decodificación de representaciones visuales en movimiento (método de decodificación de imágenes) descritos en cada una de las modalidades. Los medios de grabación pueden ser cualquier medio de grabación siempre y cuando el programa pueda ser grabado, tal como un disco magnético, un disco óptico, un disco óptico magnético, una tarjeta IC y una memoria semiconductora.
En lo sucesivo, se describirán las aplicaciones para el método de codificación de representaciones visuales en movimiento (método de codificación de imágenes) y el método de decodificación de representaciones visuales en movimiento (método de decodificación de imágenes) descritos en cada una de las modalidades y sistemas utilizando los mismos. El sistema tiene una cualidad que consiste en tener un aparato de codificación y decodificación de imágenes que incluye un aparato de codificación de imágenes que utiliza el método de codificación de imágenes y un aparato de decodificación de imágenes que utiliza el método de decodificación de imágenes. Otras configuraciones en el sistema se pueden cambiar apropiadamente dependiendo de las situaciones.
La FIGURA 20 ilustra una configuración global de un sistema de provisión de contenido exlOO para implementar los servicios de distribución de contenido. El área para proporcionar servicios de comunicación se divide en celdas del tamaño deseado y las estaciones base exl06, exl07, exl08, exl09 y exllO las cuales son estaciones inalámbricas fijas se colocan en cada una de las celdas.
El sistema de provisión de contenido exlOO se conecta a dispositivos, tal como una computadora exlll, un asistente digital personal (PDA, por sus siglas en inglés) exll2, una cámara exll3, un teléfono celular exll4 y una consola de videojuegos exll5, por vía de la Internet exlOl, un proveedor de servicios de Internet exl02, una red telefónica exl04, así como también las estaciones base exl06 a exllO, respectivamente.
Sin embargo, la configuración del sistema de provisión de contenido exlOO no está limitada a la configuración mostrada en la FIGURA 20 y es aceptable una combinación en la cual cualquiera de los elementos se conecta. Además, cada dispositivo se puede conectar directamente a la red telefónica exl04, preferiblemente que por vía de las estaciones base exl06 a exllO las cuales son las estaciones inalámbricas fijas. Adicionalmente, los dispositivos se pueden interconectar entre sí por vía de una comunicación inalámbrica a corta distancia y otras.
La cámara exll3, tal como una cámara de video digital, es capaz de capturar video. Una cámara exll6, tal como una cámara digital, es capaz de capturar tanto imágenes fijas como video. Adicionalmente, el teléfono celular exll4 puede ser aquel que cumpla con cualquiera de los estándares tales como el Sistema Global para Comunicaciones Móviles (GSM, por sus siglas en inglés) (marca registrada), Acceso Múltiple por División de Código (CDMA, por sus siglas en inglés), Acceso Múltiple por División de Código de Banda Ancha (W-CDMA, por sus siglas en inglés), Evolución a Largo Plazo (LTE, por sus siglas en inglés) y Acceso de Paquetes a Alta Velocidad (HSPA, por sus siglas en inglés). Alternativamente, el teléfono celular exll4 puede ser un Sistema de Teléfonos Personales (PHS, por sus siglas en inglés).
En el sistema de provisión de contenido exlOO, un servidor de transmisión ininterrumpida exl03 se conecta a la cámara exll3 y otros por vía de la red telefónica exl04 y la estación base exl09, lo cual hace posible la distribución de imágenes de un espectáculo en vivo y otros. En esta distribución, un contenido (por ejemplo, video de un espectáculo musical en vivo) capturado por el usuario utilizando la cámara exll3 se codifica como se describiera anteriormente en cada una de las modalidades (es decir, la cámara funciona como el aparato de codificación de imágenes de acuerdo con un aspecto de la presente invención), y el contenido codificado se transmite al servidor de transmisión ininterrumpida exl03 . Por otra parte, el servidor de transmisión ininterrumpida exl03 lleva a cabo la distribución ininterrumpida de los datos de contenido transmitidos a los clientes cuando lo soliciten. Los clientes incluyen la computadora exlll, el PDA exll2, la cámara exll3, el teléfono celular exll4 y la consola de videojuegos exll5 que son capaces de decodificar los datos codificados mencionados anteriormente. Cada uno de los dispositivos que han recibido los datos distribuidos decodifica y reproduce los datos codificados (es decir, funciona como el aparato de decodificación de imágenes de acuerdo con un aspecto de la presente invención).
Los datos capturados pueden ser codificados por la cámara exll3 o el servidor de transmisión ininterrumpida exl03 que transmite los datos, o los procesos de codificación pueden ser compartidos entre la cámara exll3 y el servidor de transmisión ininterrumpida exl03. Similarmente, los datos distribuidos pueden ser decodificados por los clientes o el servidor de transmisión ininterrumpida exl03, o los procesos de decodificación pueden ser compartidos entre los clientes y el servidor de transmisión ininterrumpida exl03. Adicionalmente, los datos de las imágenes fijas y video capturados no solo por la cámara exll3 sino también la cámara exll6 pueden ser transmitidos al servidor de transmisión ininterrumpida exl03 a través de la computadora exlll. Los procesos de codificación pueden ser realizados por la cámara exll6, la computadora exlll o el servidor de transmisión ininterrumpida exl03, o pueden ser compartidos entre los mismos.
Adicionalmente, los procesos de codificación y decodificación pueden ser realizados por un LSI ex500 incluido generalmente en cada uno de la computadora exlll y los dispositivos. El LSI ex500 se puede configurar de un chip individual o una pluralidad de chips. El software para codificar y decodificar video puede ser integrado en algún tipo de medio de grabación (tal como un CD-ROM, disco flexible y disco duro) que es legible por la computadora exlll y otros, y los procesos de codificación y decodificación se pueden realizar utilizando el software. Adicionalmente, cuando el teléfono celular exll4 se equipa con una cámara, los datos de video obtenidos por la cámara se pueden transmitir. Los datos de video son datos codificados por el LSI ex500 incluido en el teléfono celular exll4.
Adicionalmente, el servidor de transmisión ininterrumpida exl03 puede estar compuesto de servidores y computadoras y puede descentralizar datos y procesar los datos descentralizados, grabar o distribuir datos.
Como se describiera anteriormente, los clientes pueden recibir y reproducir los datos codificados en el sistema de provisión de contenido exlOO. En otras palabras, los clientes pueden recibir y decodificar información transmitida por el usuario y pueden reproducir los datos decodificados en tiempo real en el sistema de provisión de contenido exlOO, de modo que el usuario que no tiene ningún derecho y equipo particular puede implementar una radiodifusión personal.
Además del ejemplo del sistema de provisión de contenido exlOO, por lo menos uno del aparato de codificación de representaciones visuales en movimiento (aparato de codificación de imágenes) y el aparato de decodificación de representaciones visuales en movimiento (aparato de decodificación de imágenes) descritos en cada una de las modalidades se puede implementar en un sistema de radiodifusión digital ex200 ilustrado en la FIGURA 21. Más específicamente, una estación de radiodifusión ex201 comunica o transmite, por vía de ondas de radio a un satélite de radiodifusión ex202, datos multiplexados que se obtienen al multiplexar datos de audio y otros en datos de video. Los datos de video son datos codificados por medio del método de codificación de representaciones visuales en movimiento descrito en cada una de las modalidades (es decir, los datos codificados por el aparato de codificación de imágenes de acuerdo con un aspecto de la presente invención). Con la recepción de los datos multiplexados, el satélite de radiodifusión ex202 transmite ondas de radio para la radiodifusión. Luego, una antena de uso casero ex204 con una función de recepción de radiodifusión satelital recibe las ondas de radio. Después, un dispositivo tal como una televisión (receptor) ex300 y un sintonizador externo (STB, por sus siglas en inglés) ex217 decodifica los datos multiplexados recibidos y reproduce los datos decodificados (es decir, funciona como el aparato de decodificación de imágenes de acuerdo con un aspecto de la presente invención).
Adicionalmente, un lector/grabador ex218 (i) lee y decodifica los datos multiplexados que están grabados en un medio de grabación ex215, tal como un DVD y un BD o (i) codifica señales de video en el medio de grabación ex215, y en algunos casos, escribe datos obtenidos al multiplexar una señal de audio en los datos codificados. El lector/grabador ex218 puede incluir el aparato de decodificación de representaciones visuales en movimiento o el aparato de codificación de representaciones visuales en movimiento como se muestra en cada una de las modalidades. En este caso, las señales de video reproducidas son exhibidas en el monitor ex219 y pueden ser reproducidas por otro dispositivo o sistema utilizando el medio de grabación ex215 en el cual se graban los datos multiplexados. También es posible implementar el aparato de decodificación de representaciones visuales en movimiento en el sintonizador externo ex217 conectado al cable ex203 para una televisión de cable o a la antena ex204 para la radiodifusión satelital y/o terrestre, con el fin de exhibir las señales de video en el monitor ex219 de la televisión ex300. El aparato de decodificación de representaciones visuales en movimiento puede no ser imple entado en el sintonizador externo sino en la televisión ex300.
La FIGURA 22 ilustra la televisión (receptor) ex300 que utiliza el método de codificación de representaciones visuales en movimiento y el método de decodificación de representaciones visuales en movimiento descritos en cada una de las modalidades. La televisión ex300 incluye: un dispositivo de sintonización ex301 que obtiene o proporciona datos multiplexados obtenidos al multiplexar datos de audio en datos de video, a través de la antena ex204 o el cable ex203, etcétera que recibe una radiodifusión; una unidad de modulación/desmodulación ex302 que desmodula los datos multiplexados recibidos o modula datos en datos multiplexados para ser suministrados al exterior; y una unidad de multiplexión/desmultiplexión ex303 que desmultiplexa los datos multiplexados modulados en datos de video y datos de audio o multiplexa datos de video y datos de audio codificados por una unidad de procesamiento de señales ex306 en datos.
La televisión ex300 incluye además: una unidad de procesamiento de señales ex306 que incluye una unidad de procesamiento de señales de audio ex304 y una unidad de procesamiento de señales de video ex305 que decodifican datos de audio y datos de video y codifican datos de audio y datos de video, respectivamente (las cuales funcionan como el aparato de codificación de imágenes y el aparato de decodificación de imágenes de acuerdo con los aspectos de la presente invención); y una unidad de salida ex309 que incluye un altavoz ex307 que proporciona la señal de audio decodificada y una unidad de exhibición ex308 que exhibe la señal de video decodificada, tal como una pantalla. Adicionalmente, la televisión ex300 incluye una unidad de interconexión ex317 que incluye una unidad de entrada de operación ex312 que recibe una entrada de una operación del usuario. Adicionalmente, la televisión ex300 incluye una unidad de control ex310 que controla en conjunto cada elemento constituyente de la televisión ex300 y una unidad de circuitos de suministro de energía ex311 que suministra energía a cada uno de los elementos. A diferencia de la unidad de entrada de operación ex312, la unidad de interconexión ex317 puede incluir: un puente ex313 que se conecta a un dispositivo externo, tal como el lector/grabador ex218; una unidad de ranura ex314 para hacer posible la unión del medio de grabación ex216, tal como una tarjeta SD; un controlador ex315 que es conectado a un medio de grabación externo, tal como un disco duro; y un módem ex316 que es conectado a una red telefónica. En este documento, el medio de grabación ex216 puede grabar eléctricamente información utilizando un elemento de memoria semiconductora no volátil/volátil para el almacenamiento. Los elementos constituyentes de la televisión ex300 se conectan entre sí a través de un enlace común sincrónico.
En primer lugar, se describirá la configuración en la cual la televisión ex300 decodifica los datos multiplexados obtenidos del exterior a través de la antena ex204 y otros y reproduce los datos decodificados. En la televisión ex300, con la operación de un usuario a través de un controlador distante ex220 y otros, la unidad de multiplexión/desmultiplexión ex303 desmultiplexa los datos multiplexados que son desmodulados por la unidad de modulación/desmodulación ex302, bajo control de la unidad de control ex310 que incluye una CPU. Adicionalmente, la unidad de procesamiento de señales de audio ex304 decodifica los datos de audio desmultiplexados y la unidad de procesamiento de señales de video ex305 decodifica los datos de video desmultiplexados, utilizando el método de decodificación descrito en cada una de las modalidades, en la televisión ex300. La unidad de salida ex309 proporciona la señal de video y la señal de audio decodificadas al exterior, respectivamente. Cuando la unidad de salida ex309 proporciona la señal de video y la señal de audio, las señales pueden ser almacenadas temporalmente en las memorias intermedias ex318 y ex319 y otras de modo que las señales sean reproducidas en sincronización entre sí. Adicionalmente, la televisión ex300 puede leer datos multiplexados no a través de una radiodifusión y otros sino de los medios de grabación ex215 y ex216, tal como un disco magnético, un disco óptico y una tarjeta SD. Después, se describirá una configuración en la cual la televisión ex300 codifica una señal de audio y una señal de video y transmite los datos al exterior o escribe los datos en un medio de grabación. En la televisión ex300, con la operación de un usuario a través del controlador distante ex220 y otros, la unidad de procesamiento de señales de audio ex304 codifica una señal de audio y la unidad de procesamiento de señales de video ex305 codifica una señal de video, bajo control de la unidad de control ex310 utilizando el método de codificación descrito en cada una de las modalidades. La unidad de multiplexión/desmultiplexión ex303 multiplexa la señal de video y la señal de audio codificadas y proporciona la señal resultante al exterior. Cuando la unidad de multiplexión/desmultiplexión ex303 multiplexa la señal de video y la señal de audio, las señales pueden ser almacenadas temporalmente en las memorias intermedias ex320 y ex321 y otras de modo que las señales sean reproducidas en sincronización entre sí. En este documento, las memorias intermedias ex318, ex319, ex320 y ex321 pueden ser plurales como se ilustra o por lo menos una memoria intermedia puede ser compartida en la televisión ex300. Adicionalmente, se pueden almacenar datos en una memoria intermedia de modo que se puede evitar el desbordamiento y subdesbordamiento del sistema entre la unidad de modulación/desmodulación ex302 y la unidad de multiplexión/desmultiplexión ex303, por ejemplo.
Adicionalmente, la televisión ex300 puede incluir una configuración para recibir una entrada de AV de un micrófono o una cámara diferente de la configuración para obtener datos de audio y video de una radiodifusión o un medio de grabación y puede codificar los datos obtenidos. Aunque la televisión ex300 puede codificar, multiplexar y proporcionar datos al exterior en la descripción, puede ser capaz de únicamente recibir, decodificar y proporcionar datos al exterior pero no de codificar, multiplexar y proporcionar datos al exterior.
Adicionalmente, cuando el lector/grabador ex218 lee o escribe datos multiplexados de o en un medio de grabación, uno de la televisión ex300 y el lector/grabador ex218 puede decodificar o codificar los datos multiplexados y la televisión ex300 y el lector/grabador ex218 pueden compartir la decodificación o codificación.
Como un ejemplo, la FIGURA 23 ilustra una configuración de una unidad de reproducción/grabación de información ex400 cuando los datos son leídos o escritos de o en un disco óptico. La unidad de reproducción/grabación de información ex400 incluye los elementos constituyentes ex401, ex402, ex403, ex404, ex405, ex406 y ex407 que se describen posteriormente en este documento. La cabeza óptica ex401 irradia un foco de láser en una superficie de grabación del medio de grabación ex215 que es un disco óptico para escribir información y detecta la luz reflejada de la superficie de grabación del medio de grabación ex215 para leer la información. La unidad de grabación de modulación ex402 activa eléctricamente un láser semiconductor incluido en la cabeza óptica ex401 y modula la luz láser de acuerdo con datos grabados. La unidad de desmodulación de reproducción ex403 amplifica una señal de reproducción obtenida al detectar eléctricamente la luz reflejada de la superficie de grabación utilizando un fotodetector incluido en la cabeza óptica ex401 y desmodula la señal de reproducción al separar un componente de señal grabado en el medio de grabación ex215 para reproducir la información necesaria. La memoria intermedia ex404 mantiene temporalmente la información a ser grabada en el medio de grabación ex215 y la información reproducida del medio de grabación ex215. El motor del disco ex405 hace girar el medio de grabación ex215. La unidad de servomando ex406 mueve la cabeza óptica ex401 a una pista de información predeterminada mientras que controla el impulso de rotación del motor del disco ex405 con el fin de seguir el foco de láser. La unidad de control del sistema ex407 controla en conjunto la unidad de reproducción/grabación de información ex400. Los procesos de lectura y escritura pueden ser implementados por la unidad de control del sistema ex407 utilizando diversa información almacenada en la memoria intermedia ex404 y generando y agregando nueva información como sea necesario y por medio de la unidad de grabación de modulación ex402, la unidad de desmodulación de reproducción ex403 y la unidad de servomando ex406 que graban y reproducen información a través de la cabeza óptica ex401 mientras que son operados de manera coordinada. La unidad de control del sistema ex407 incluye, por ejemplo, un microprocesador y ejecuta el procesamiento al causar que una computadora ejecute un programa para leer y escribir.
Aunque la cabeza óptica ex401 irradia un foco de láser en la descripción, puede realizar la grabación de alta densidad utilizando luz de campo próximo.
La FIGURA 24 ilustra el medio de grabación ex215 que es el disco óptico. En la superficie de grabación del medio de grabación ex215, las acanaladuras guía se forman en espiral y una pista de información ex230 graba, anticipadamente, información de dirección que indica una posición absoluta en el disco de acuerdo con un cambio en una configuración de las acanaladuras guía. La información de dirección incluye información para determinar posiciones de bloques de grabación ex231 que son una unidad para grabar datos. La reproducción de la pista de información ex230 y la lectura de la información de dirección en un aparato que graba y reproduce datos puede conducir a la determinación de las posiciones de los bloques de grabación. Adicionalmente, el medio de grabación ex215 incluye un área de grabación de datos ex233, un área de circunferencia interior ex232 y un área de circunferencia exterior ex234. El área de grabación de datos ex233 es un área para el uso en la grabación de los datos del usuario. El área de circunferencia interior ex232 y el área de circunferencia exterior ex234 que son el interior y el exterior del área de grabación de datos ex233, respectivamente, son para uso específico excepto para la grabación de los datos del usuario. La unidad de reproducción/grabación de información 400 lee y escribe datos de audio codificados, datos de video codificados o datos multiplexados que se obtienen al multiplexar los datos de audio y video codificados, de y sobre el área de grabación de datos ex233 del medio de grabación ex215.
Aunque un disco óptico que tiene una capa, tal como un DVD y un BD se proporciona como un ejemplo en la descripción, el disco óptico no está limitado a ese tipo y puede ser un disco óptico que tenga una estructura de múltiples capas y que pueda ser grabado en una parte diferente de la superficie. Adicionalmente, el disco óptico puede tener una estructura para la grabación/reproducción multidimensional, tal como la grabación de información utilizando luz de colores con diferentes longitudes de onda en la misma porción del disco óptico y para grabar información que tiene diferentes capas desde varios ángulos.
Adicionalmente, un automóvil ex210 que tiene una antena ex205 puede recibir datos del satélite ex202 y otros, y puede reproducir video en un dispositivo de exhibición tal como un sistema de navegación de automóvil ex211 establecido en el automóvil ex210, en el sistema de radiodifusión digital ex200. En este documento, una configuración del sistema de navegación de automóvil ex211 será una configuración, por ejemplo, que incluye una unidad de recepción de GPS de la configuración ilustrada en la FIGURA 22. Lo mismo será cierto para la configuración de la computadora exlll, el teléfono celular exll4 y otros.
La FIGURA 25A ilustra el teléfono celular exll4 que utiliza el método de codificación de representaciones visuales en movimiento y el método de decodificación de representaciones visuales en movimiento descritos en las modalidades. El teléfono celular exll4 incluye: una antena ex350 para transmitir y recibir ondas de radio a través de la estación base exllO; una unidad de cámara ex365 capaz de capturar imágenes en movimiento y fijas; y una unidad de exhibición ex358 tal como una pantalla de cristal líquido para exhibir los datos tales como video decodificado que es capturado por la unidad de cámara ex365 o es recibido por la antena ex350. El teléfono celular exll4 incluye además: una unidad de cuerpo principal que incluye una unidad de teclas de operación ex366; una unidad de salida de audio ex357 tal como un altavoz para la salida de audio; una unidad de entrada de audio ex356 tal como un micrófono para la entrada de audio; una unidad de memoria ex367 para almacenar video o imágenes fijas capturados, audio grabado, datos codificados o decodificados del video recibido, las imágenes fijas, correos electrónicos u otros; y una unidad de ranura ex364 que es una unidad de interconexión para un medio de grabación que almacena datos de la misma manera que la unidad de memoria ex367.
Después, un ejemplo de una configuración del teléfono celular exll4 se describirá con referencia a la FIGURA 25B. En el teléfono celular exll4, una unidad de control principal ex360 diseñada para controlar en conjunto cada unidad del cuerpo principal que incluye la unidad de exhibición ex358 así como también la unidad de teclas de operación ex366 se conecta mutuamente, por vía de un enlace común sincrónico ex370, a una unidad de circuitos de suministro de energía ex361, una unidad de control de entrada de operación ex362, una unidad de procesamiento de señales de video ex355, una unidad de interconexión de cámara ex363, una unidad de control de la pantalla de cristal líquido (LCD, por sus siglas en inglés) ex359, una unidad de modulación/desmodulación ex352, una unidad de multiplexión/desmultiplexión ex353, una unidad de procesamiento de señales de audio ex354, la unidad de ranura ex364 y la unidad de memoria ex367.
Cuando una tecla de final de llamada o una tecla de energía es ENCENDIDA por la operación de un usuario, la unidad de circuitos de suministro de energía ex361 provee a las unidades respectivas con energía de un empaque de baterías con el fin de activar el teléfono celular exll4.
En el teléfono celular exll4, la unidad de procesamiento de señales de audio ex354 convierte las señales de audio recolectadas por la unidad de entrada de audio ex356 en modo de conversación de voz en señales de audio digital bajo el control de la unidad de control principal ex360 que incluye una CPU, ROM y RAM. Luego, la unidad de modulación/desmodulación ex352 realiza un procesamiento de espectro expandido en las señales de audio digital y la unidad de transmisión y recepción ex351 realiza la conversión de digital a análogo y la conversión de frecuencia en los datos, con el fin de transmitir los datos resultantes por vía de la antena ex350. También, en el teléfono celular exll4, la unidad de transmisión y recepción ex351 amplifica los datos recibidos por la antena ex350 en modo de conversación de voz y realiza la conversión de frecuencia y la conversión de análogo a digital en los datos. Luego, la unidad de modulación/desmodulación ex352 realiza el procesamiento de espectro expandido inverso en los datos y la unidad de procesamiento de señales de audio ex354 los convierte en señales de audio análogo, con el fin de enviarlos por vía de la unidad de salida de audio ex357.
Adicionalmente, cuando un correo electrónico en modo de comunicación de datos se transmite, los datos de texto del correo electrónico introducidos por medio de la operación de la unidad de teclas de operación ex366 y otros del cuerpo principal se envían a la unidad de control principal ex360 por vía de la unidad de control de entrada de operación ex362. La unidad de control principal ex360 causa que la unidad de modulación/desmodulación ex352 realice un procesamiento de espectro expandido en los datos de texto y la unidad de transmisión y recepción ex351 realiza la conversión de digital a análogo y la conversión de frecuencia en los datos resultantes para transmitir los datos a la estación base exllO por vía de la antena ex350. Cuando se recibe un correo electrónico, el procesamiento que es aproximadamente inverso al procesamiento para transmitir un correo electrónico se realiza en los datos recibidos y los datos resultantes se proporcionan a la unidad de exhibición ex358.
Cuando se transmite video, imágenes fijas o video y audio en el modo de comunicación de datos, la unidad de procesamiento de señales de video ex355 comprime y codifica señales de video suministradas de la unidad de cámara ex365 utilizando el método de codificación de representaciones visuales en movimiento mostrado en cada una de las modalidades (es decir, funciona como el aparato de codificación de imágenes de acuerdo con el aspecto de la presente invención), y transmite los datos de video codificados a la unidad de multiplexión/desmultiplexión ex353. En contraste, cuando la unidad de cámara ex365 captura video, imágenes fijas y otros, la unidad de procesamiento de señales de audio ex354 codifica señales de audio recolectadas por la unidad de entrada de audio ex356 y transmite los datos de audio codificados a la unidad de multiplexión/desmultiplexión ex353.
La unidad de multiplexión/desmultiplexión ex353 multiplexa los datos de video codificados que son suministrados de la unidad de procesamiento de señales de video ex355 y los datos de audio codificados que son suministrados de la unidad de procesamiento de señales de audio ex354, utilizando un método predeterminado. Luego, la unidad de modulación/desmodulación (unidad de circuito de modulación/desmodulación) ex352 realiza el procesamiento de espectro expandido en los datos multiplexados y la unidad de transmisión y recepción ex351 realiza la conversión de digital a análogo y la conversión de frecuencia en los datos con el fin de transmitir los datos resultantes por vía de la antena ex350.
Cuando se reciben datos de un archivo de video el cual está vinculado con una página Web y otros en el modo de comunicación de datos o cuando se recibe un correo electrónico con video y/o audio anexo, con el propósito de decodificar los datos multiplexados que son recibidos por vía de la antena ex350, la unidad de multiplexión/desmultiplexión ex353 desultiplexa los datos multiplexados en una corriente de bits de datos de video y una corriente de bits de datos de audio y provee a la unidad de procesamiento de señales de video ex355 con los datos de video codificados y la unidad de procesamiento de señales de audio ex354 con los datos de audio codificados, a través del enlace común sincrónico ex370. La unidad de procesamiento de señales de video ex355 decodifica la señal de video utilizando un método de decodificación de representaciones visuales en movimiento que corresponde al método de codificación de representaciones visuales en movimiento mostrado en cada una de las modalidades (es decir, funciona como el aparato de decodificación de imágenes de acuerdo con el aspecto de la presente invención), y luego la unidad de exhibición ex358 exhibe, por ejemplo, el video y las imágenes fijas que están incluidos en el archivo de video vinculado con la página Web por vía de la unidad de control de LCD ex359. Adicionalmente, la unidad de procesamiento de señales de audio ex354 decodifica la señal de audio y la unidad de salida de audio ex357 proporciona el audio.
Adicionalmente, de manera similar a la televisión ex300, es posible que una terminal tal como el teléfono celular exll4 tenga 3 tipos de configuraciones de implementación que incluyen no únicamente (i) una terminal de transmisión y recepción que incluye tanto un aparato de codificación como un aparato de decodificación, sino también (ii) una terminal de transmisión que incluye únicamente un aparato de codificación y (iii) una terminal de recepción que incluye únicamente un aparato de decodificación. Aunque el sistema de radiodifusión digital ex200 recibe y transmite los datos multiplexados que se obtienen al multiplexar datos de audio en datos de video en la descripción, los datos multiplexados pueden ser datos obtenidos al multiplexar no datos de audio sino datos de carácter relacionados con video en datos de video y pueden no ser datos multiplexados sino datos de video mismos.
Como tal, el método de codificación de representaciones visuales en movimiento y el método de decodificación de representaciones visuales en movimiento en cada una de las modalidades se pueden utilizar en cualquiera de los dispositivos y sistemas descritos. De esta manera, se pueden obtener las ventajas descritas en cada una de las modalidades.
Adicionalmente, la presente invención no está limitada a las modalidades anteriores y se pueden hacer varias modificaciones y revisiones a la misma dentro del alcance de la presente invención.
Modalidad 5 Los datos de video se pueden generar al conmutar, como sea necesario, entre (i) el método de codificación de representaciones visuales en movimiento o el aparato de codificación de representaciones visuales en movimiento mostrados en cada una de las modalidades y (ii) un método de codificación de representaciones visuales en movimiento o un aparato de codificación de representaciones visuales en movimiento de conformidad con un estándar diferente, tal como MPEG-2, MPEG-4 AVC y VC-1.
En este documento, cuando una pluralidad de datos de video que cumplen con los diferentes estándares se generan y luego se decodifican, es necesario que los métodos de decodificación se seleccionen para cumplir con los diferentes estándares. Sin embargo, puesto que no se puede detectar que estándar cumple cada uno de la pluralidad de datos de video que son decodificados, no se puede seleccionar un método de decodificación apropiado.
En vista de esto, los datos multiplexados que se obtienen al multiplexar datos de audio y otros en datos de video tienen una estructura que incluye información de identificación que indica que estándar cumplen los datos de video. La estructura específica de los datos multiplexados que incluyen los datos de video generados en el método de codificación de representaciones visuales en movimiento y por el aparato de codificación de representaciones visuales en movimiento mostrados en cada una de las modalidades se describirá en lo sucesivo. Los datos multiplexados son una corriente digital en el formato de Corriente de Transporte de MPEG-2.
La FIGURA 26 ilustra una estructura de los datos multiplexados. Como se ilustra en la FIGURA 26, los datos multiplexados se pueden obtener al multiplexar por lo menos una de una corriente de video, una corriente de audio, una corriente de gráficos de presentación (PG, por sus siglas en inglés) y una corriente de gráficos interactivos. La corriente de video representa video primario y video secundario de una película, la corriente de audio (IG) representa una parte de audio primario y una parte de audio secundario que se mezcla con la parte de audio primario y la corriente de gráficos de presentación representa subtítulos de la película. En este documento, el video primario es video normal que es exhibido en una pantalla y el video secundario es video que es exhibido en una ventana más pequeña en el video primario. Adicionalmente, la corriente de gráficos interactivos representa una pantalla interactiva que es generada al ordenar los componentes de GUI en una pantalla. La corriente de video se codifica en el método de codificación de representaciones visuales en movimiento o por el aparato de codificación de representaciones visuales en movimiento mostrados en cada una de las modalidades, o en un método de codificación de representaciones visuales en movimiento o por un aparato de codificación de representaciones visuales en movimiento de conformidad con un estándar convencional, tal como MPEG-2, MPEG-4 AVC y VC-1. La corriente de audio se codifica de acuerdo con un estándar, tal como Dolby-AC-3, Dolby Digital Plus, MLP, DTS, DTS-HD y PCM lineal.
Cada corriente incluida en los datos multiplexados es identificada por un PID. Por ejemplo, 0x1011 se asigna a la corriente de video que se utiliza para el video de una película, de 0x1100 a OxlllF se asignan a las corrientes de audio, de 0x1200 a 0xl21F se asignan a las corrientes de gráficos de presentación, de 0x1400 a 0xl41F se asignan a las corrientes de gráficos interactivos, de OxlBOO a OxlBlF se asignan a las corrientes de video que se utilizan para el video secundario de la película y de OxlAOO a OxlAlF se asignan a las corrientes de audio que se utilizan para el audio secundario que se mezcla con el audio primario.
La FIGURA 27 ilustra esquemáticamente como se multiplexan los datos. En primer lugar, una corriente de video ex235 compuesta de tramas de video y una corriente de audio ex238 compuesta de tramas de audio se transforman en una corriente de paquetes PES ex236 y una corriente de paquetes PES ex239 y además en paquetes TS ex237 y paquetes TS ex240, respectivamente. Similarmente, los datos de una corriente de gráficos de presentación ex241 y los datos de una corriente de gráficos interactivos ex244 se transforman en una corriente de paquetes PES ex242 y una corriente de paquetes PES ex245 y además en paquetes TS ex243 y paquetes TS ex246, respectivamente. Estos paquetes TS son multiplexados en una corriente para obtener datos multiplexados ex247.
La FIGURA 28 ilustra con mayor detalle como se almacena una corriente de video en una corriente de paquetes PES. La primera barra en la FIGURA 28 muestra una corriente de tramas de video en una corriente de video. La segunda barra muestra la corriente de paquetes PES. Como es indicado por las flechas designadas como yyl, yy2, yy3 e yy4 en la FIGURA 28, la corriente de video se divide en representaciones visuales como representaciones visuales I, representaciones visuales B y representaciones visuales P cada una de las cuales es una unidad de presentación de video y las representaciones visuales se almacenan en una carga útil de cada uno de los paquetes PES. Cada uno de los paquetes PES tiene un encabezado de PES y el encabezado de PES almacena un Registro de Tiempos de Presentación (PTS, por sus siglas en inglés) que indica un tiempo de exhibición de la representación visual y un Registro de Tiempos de Decodificación (DTS, por sus siglas en inglés) que indica un tiempo de decodificación de la representación visual.
La FIGURA 29 ilustra un formato de paquetes TS que se escriben finalmente en los datos multiplexados. Cada uno de los paquetes TS es un paquete de longitud fija de 188 bytes, que incluye un encabezado de TS de 4 bytes que tiene información, tal como un PID para identificar una corriente y una carga útil de TS de 184 bytes para almacenar datos. Los paquetes PES se dividen y se almacenan en las cargas útiles de TS, respectivamente. Cuando se utiliza un BD ROM, a cada uno de los paquetes TS se proporciona un TP_Extra_Header (Encabezado Adicional TP) de 4 bytes, dando por resultado de esta manera paquetes fuente de 192 bytes. Los paquetes fuente se escriben en los datos multiplexados. El TP_Extra_Header almacena información tal como un Arrival_Time_Stamp (Registro de Tiempos de Llegada) (ATS, por sus siglas en inglés). El ATS muestra un tiempo de inicio de transferencia en el cual cada uno de los paquetes TS deben ser transferidos a un filtro de PID. Los paquetes fuente se ordenan en los datos multiplexados como se muestra en el fondo de la FIGURA 29. Los números que incrementan desde la cabeza de los datos multiplexados son llamados números de paquete fuente (SPNs, por sus siglas en inglés).
Cada uno de los paquetes TS incluidos en los datos multiplexados incluye no únicamente corrientes de audio, video, subtítulos y otros, sino también una Tabla de Asociación de Programas (PAT, por sus siglas en inglés), una Tabla de Mapa de Programas (PMT, por sus siglas en inglés) y una Referencia de Reloj de Programa (PCR, por sus siglas en inglés). La PAT muestra lo que indica un PID en una PMT utilizada en los datos multiplexados y un PID de la PAT misma se registra como cero. La PMT almacena PIDs de las corrientes de video, audio, subtítulos y otros incluidas en los datos multiplexados y la información de atributos de las corrientes correspondientes a los PIDs. La PMT también tiene varios descriptores que se refieren a los datos multiplexados. Los descriptores tienen información tal como información de control de copias que muestra si se permite o no el copiado de los datos multiplexados. La PCR almacena la información de tiempo de STC que corresponde a un ATS que muestra cuando el paquete de PCR se transfiere a un decodificador, con el propósito de lograr una sincronización entre un Reloj de Tiempo de Llegada (ATC, por sus siglas en inglés) que es un eje de tiempo de ATSs y un Reloj de Tiempo de Sistema (STC, por sus siglas en inglés) que es un eje de tiempo de PTSs y DTSs.
La FIGURA 30 ilustra detalladamente la estructura de datos de la PMT. Un encabezado de PMT se coloca en la parte más alta de la PMT. El encabezado de PMT describe la longitud de datos incluidos en la PMT y otros. Una pluralidad de descriptores que se refieren a los datos multiplexados se coloca después del encabezado de PMT. Información tal como la información de control de copias se describe en los descriptores. Después de los descriptores, se coloca una pluralidad de piezas de información de corriente que se refiere a las corrientes incluidas en los datos multiplexados. Cada pieza de información de corriente incluye descriptores de corriente cada uno que describe información, tal como un tipo de corriente para identificar un códec de compresión de una corriente, un PID de corriente e información de atributos de corriente (tal como una velocidad de tramas o una relación dimensional). Los descriptores de corriente son iguales en número al número de corrientes en los datos multiplexados.
Cuando los datos multiplexados se graban en un medio de grabación y otros, se graban junto con archivos de información de datos multiplexados.
Cada uno de los archivos de información de datos multiplexados es información de gestión de los datos multiplexados como se muestra en la FIGURA 31. Los archivos de información de datos multiplexados están en correspondencia de uno a uno con los datos multiplexados y cada uno de los archivos incluye información de datos multiplexados, información de atributos de corriente y un mapa de entrada.
Como se ilustra en la FIGURA 31, la información de datos multiplexados incluye una velocidad de sistema, un tiempo de inicio de reproducción y un tiempo de final de reproducción. La velocidad de sistema indica la velocidad de transferencia máxima a la cual un decodificador objetivo del sistema que se describe posteriormente transfiere los datos multiplexados a un filtro de PID. Los intervalos de los ATSs incluidos en los datos multiplexados se establecen a un nivel no más alto que una velocidad de sistema. El tiempo de inicio de reproducción indica un PTS en una trama de video en la cabeza de los datos multiplexados. Un intervalo de una trama se agrega a un PTS en una trama de video al final de los datos multiplexados y el PTS se establece al tiempo de final de reproducción.
Como se muestra en la FIGURA 32, una pieza de información de atributos se registra en la información de atributos de corriente, para cada PID de cada corriente incluida en los datos multiplexados . Cada pieza de información de atributos tiene diferente información dependiendo si la corriente correspondiente es una corriente de video, una corriente de audio, una corriente de gráficos de presentación o una corriente de gráficos interactivos. Cada pieza de información de atributos de corriente de video lleva información que incluye que clase de códec de compresión se utiliza para la compresión de la corriente de video y la resolución, relación dimensional y velocidad de trama de las piezas de datos de representación visual que se incluyen en la corriente de video. Cada pieza de información de atributos de corriente de audio lleva información que incluye que clase de códec de compresión se utiliza para comprimir la corriente de audio, cuantos canales se incluyen en la corriente de audio, que lenguaje soporta la corriente de audio y que tan alta es la frecuencia de muestreo. La información de atributos de corriente de video y la información de atributos de corriente de audio se utilizan para la inicialización de un decodificador antes de que el reproductor repita la información.
En la presente modalidad, los datos multiplexados que se utilizan son de un tipo de corriente incluido en la PMT. Adicionalmente, cuando los datos multiplexados se graban en un medio de grabación, la información de atributos de corriente de video incluida en la información de datos multiplexados se utiliza. Más específicamente, el método de codificación de representaciones visuales en movimiento o el aparato de codificación de representaciones visuales en movimiento descritos en cada una de las modalidades incluye un paso o una unidad para asignar información única que indica los datos de video generados por el método de codificación de representaciones visuales en movimiento o el aparato de codificación de representaciones visuales en movimiento en cada una de las modalidades, al tipo de corriente incluido en la PMT o la información de atributos de corriente de video. Con la configuración, los datos de video generados por el método de codificación de representaciones visuales en movimiento o el aparato de codificación de representaciones visuales en movimiento descritos en cada una de las modalidades se pueden distinguir de los datos de video que cumplen con otro estándar.
Adicionalmente, la FIGURA 33 ilustra pasos del método de decodificación de representaciones visuales en movimiento de acuerdo con la presente modalidad. En el Paso exSlOO, el tipo de corriente incluido en la PMT o la información de atributos de corriente de video incluida en la información de datos multiplexados se obtiene de los datos multiplexados. Después, en el Paso exSlOl, se determina si el tipo de corriente o la información de atributos de corriente de video indica o no que los datos multiplexados son generados por el método de codificación de representaciones visuales en movimiento o el aparato de codificación de representaciones visuales en movimiento en cada una de las modalidades. Cuando se determina que el tipo de corriente o la información de atributos de corriente de video indica que los datos multiplexados son generados por el método de codificación de representaciones visuales en movimiento o el aparato de codificación de representaciones visuales en movimiento en cada una de las modalidades, en el Paso exS102, la decodificación es realizada por el método de decodificación de representaciones visuales en movimiento en cada una de las modalidades. Adicionalmente, cuando el tipo de corriente o la información de atributos de corriente de video indica el cumplimiento de los estándares convencionales, tales como MPEG-2, MPEG-4 AVC y VC-1, en el Paso exS103, la decodificación es realizada por un método de decodificación de representaciones visuales en movimiento de conformidad con los estándares convencionales.
Como tal, la asignación de un nuevo valor único al tipo de corriente o a la información de atributos de corriente de video hace posible la determinación si el método de decodificación de representaciones visuales en movimiento o el aparato de decodificación de representaciones visuales en movimiento que se describen en cada una de las modalidades pueden realizar o no la decodificación . Incluso cuando se introducen datos multiplexados que cumplen con un estándar diferente, se puede seleccionar un metodo o aparato de decodificación apropiado. De esta manera, se hace posible decodificar información sin ningún error. Adicionalmente, el método o aparato de codificación de representaciones visuales en movimiento, o el método o aparato de decodificación de representaciones visuales en movimiento en la presente modalidad se puede utilizar en los dispositivos y sistemas descritos anteriormente .
Modalidad 6 Cada uno del método de codificación de representaciones visuales en movimiento, el aparato de codificación de representaciones visuales en movimiento, el método de decodificación de representaciones visuales en movimiento y el aparato de decodificación de representaciones visuales en movimiento en cada una de las modalidades se logra típicamente en la forma de un circuito integrado o un circuito Integrado a Gran Escala (LSI, por sus siglas en inglés). Como un ejemplo del LSI, la FIGURA 34 ilustra una configuración del LSI ex500 que se hace en un chip. El LSI ex500 incluye los elementos ex501, ex502, ex503, ex504, ex505, ex506, ex507, ex508 y ex509 que se describen posteriormente, y los elementos se conectan entre sí a través de un enlace común ex510. La unidad de circuitos de suministro de energía ex505 es activada al proveer a cada uno de los elementos con energía cuando la unidad de circuitos de suministro de energía ex505 se enciende.
Por ejemplo, cuando se realiza la codificación, el LSI ex500 recibe una señal de AV de un micrófono exll7, una cámara exll3 y otros a través de una 10 de AV ex509 bajo control de una unidad de control ex501 que incluye una CPU ex502, un controlador de memoria ex503, un controlador de corriente ex504 y una unidad de control de frecuencia impulsora ex512. La señal de AV recibida se almacena temporalmente en la memoria externa ex511, tal como una SDRAM. Bajo control de la unidad de control ex501, los datos almacenados son segmentados en porciones de datos de acuerdo con la cantidad y velocidad de procesamiento que se transmite a una unidad de procesamiento de señales ex507. Luego, la unidad de procesamiento de señales ex507 codifica una señal de audio y/o una señal de video. En este documento, la codificación de la señal de video es la codificación descrita en cada una de las modalidades. Adicionalmente, la unidad de procesamiento de señales ex507 multiplexa algunas veces los datos de audio codificados y los datos de video codificados, y una 10 de corriente ex506 proporciona los datos multiplexados al exterior. Los datos multiplexados proporcionados son transmitidos a la estación base ex!07, o se escriben en el medio de grabación ex215. Cuando se multiplexan los conjuntos de datos, los datos se deben almacenar temporalmente en la memoria intermedia ex508 de modo que los conjuntos de datos se sincronizan entre sí.
Aunque la memoria ex511 es un elemento fuera del LSI ex500, se puede incluir en el LSI ex500. La memoria intermedia ex508 no está limitada a una memoria intermedia, sino que puede estar compuesta de memorias intermedias. Adicionalmente, el LSI ex500 se puede hacer en un chip o una pluralidad de chips.
Adicionalmente, aunque la unidad de control ex501 incluye la CPU ex502, el controlador de memoria ex503, el controlador de corriente ex504, la unidad de control de frecuencia impulsora ex512, la configuración de la unidad de control ex501 no está limitada a éstos. Por ejemplo, la unidad de procesamiento de señales ex507 puede incluir además una CPU. La inclusión de otra CPU en la unidad de procesamiento de señales ex507 puede mejorar la velocidad de procesamiento. Adicionalmente, como otro ejemplo, la CPU ex502 puede servir como o puede ser una parte de la unidad de procesamiento de señales ex507 y, por ejemplo, puede incluir una unidad de procesamiento de señales de audio. En este caso, la unidad de control ex501 incluye la unidad de procesamiento de señales ex507 o la CPU ex502 que incluye una parte de la unidad de procesamiento de señales ex507.
El nombre utilizado en este documento es LSI, pero también se puede llamar IC, sistema LSI, super LSI o ultra-LSI dependiendo del grado de integración.
Por otra parte, las maneras para lograr la integración no están limitadas al LSI y un circuito especial o un procesador de uso general y así por el estilo también puede lograr la integración. La Matriz de Puerta Programable de Campo (FPGA, por sus siglas en inglés) que se puede programar después de la manufactura de LSIs o un procesador reconfigurable que permite la reconfiguración de la conexión o la configuración de un LSI se puede utilizar para el mismo propósito. Este dispositivo lógico programable puede ejecutar típicamente el método de codificación de representaciones visuales en movimiento y el método de decodificación de representaciones visuales en movimiento descritos en cada una de las modalidades al cargar o leer, desde una memoria, un programa que se incluye en el software o firmware.
En el futuro, con el avance en la teenología de los semiconductores, una nueva tecnología puede reemplazar el LSI. Los bloques funcionales se pueden integrar utilizando esta tecnología. La posibilidad es que la presente invención se aplique a la biotecnología.
Modalidad 7 Cuando se decodifican los datos de video generados en el método de codificación de representaciones visuales en movimiento o por el aparato de codificación de representaciones visuales en movimiento descritos en cada una de las modalidades, es posible que la cantidad de procesamiento se incremente en comparación a cuando se decodifican los datos de video que cumplen con un estándar convencional, tales como MPEG-2, MPEG-4 AVC y VC-1. De esta manera, el LSI ex500 necesita ser establecido a una frecuencia impulsora más alta que aquella de la CPU ex502 que se utiliza cuando se decodifican datos de video de conformidad con el estándar convencional. Sin embargo, cuando la frecuencia impulsora se establece más alta, el consumo de energía incrementa.
En vista de esto, el aparato de decodificación de representaciones visuales en movimiento, tal como la televisión ex300 y el LSI ex500 se configuran para determinar que estándar cumplen los datos de video y conmutar entre las frecuencias impulsoras de acuerdo con el estándar determinado. La FIGURA 35 ilustra una configuración ex800 en la presente modalidad. Una unidad de conmutación de frecuencias impulsoras ex803 establece una frecuencia impulsora a una frecuencia impulsora más alta cuando los datos de video son generados por el método de codificación de representaciones visuales en movimiento o el aparato de codificación de representaciones visuales en movimiento descritos en cada una de las modalidades. Luego, la unidad de conmutación de frecuencias impulsoras ex803 da instrucciones a una unidad de procesamiento de decodificación ex801 que ejecuta el método de decodificación de representaciones visuales en movimiento descrito en cada una de las modalidades para decodificar los datos de video. Cuando los datos de video cumplen con el estándar convencional, la unidad de conmutación de frecuencias impulsoras ex803 establece una frecuencia impulsora a una frecuencia impulsora más baja que aquella de los datos de video generados por el método de codificación de representaciones visuales en movimiento o el aparato de codificación de representaciones visuales en movimiento descritos en cada una de las modalidades. Luego, la unidad de conmutación de frecuencias impulsoras ex803 da instrucciones a la unidad de procesamiento de decodificación ex802 que cumple con el estándar convencional para decodificar los datos de video.
Más específicamente, la unidad de conmutación de frecuencias impulsoras ex803 incluye la CPU ex502 y la unidad de control de frecuencias impulsoras ex512 en la FIGURA 34. En este documento, cada unidad de procesamiento de decodificación ex801 que ejecuta el método de decodificación de representaciones visuales en movimiento descrito en cada una de las modalidades y la unidad de procesamiento de decodificación ex802 que cumple con el estándar convencional corresponde a la unidad de procesamiento de señales ex507 de la FIGURA 34. La CPU ex502 determina que estándar cumplen los datos de video. Luego, la unidad de control de frecuencias impulsoras ex512 determina una frecuencia impulsora con base en una señal de la CPU ex502. Adicionalmente, la unidad de procesamiento de señales ex507 decodifica los datos de video con base en la señal de la CPU ex502. Por ejemplo, es posible que la información de identificación descrita en la Modalidad 5 se utilice para identificar los datos de video. La información de identificación no está limitada a aquella descrita en la Modalidad 5 sino que puede ser cualquier información siempre y cuando la información indique que estándar cumplen los datos de video. Por ejemplo, cuando se puede determinar que estándar cumplen los datos de video con base en una señal externa para determinar que los datos de video se utilizan para una televisión o un disco, etcétera, la determinación se puede hacer con base en esta señal externa. Adicionalmente, la CPU ex502 selecciona una frecuencia impulsora con base en, por ejemplo, una tabla de consulta en la cual los estándares de los datos de video se asocian con las frecuencias impulsoras como se muestra en la FIGURA 37. La frecuencia impulsora se puede seleccionar al almacenar la tabla de consulta en la memoria intermedia ex508 y en una memoria interna de un LSI y con referencia a la tabla de consulta por la CPU ex502.
La FIGURA 36 ilustra pasos para ejecutar un método en la presente modalidad. En primer lugar, en el Paso exS200, la unidad de procesamiento de señales ex507 obtiene información de identificación de los datos multiplexados. Después, en el Paso exS201, la CPU ex502 determina si los datos de video se generan o no por medio del método de codificación y el aparato de codificación descritos en cada una de las modalidades, con base en la información de identificación. Cuando los datos de video son generados por medio del método de codificación de representaciones visuales en movimiento y el aparato de codificación de representaciones visuales en movimiento descritos en cada una de las modalidades, en el Paso exS202, la CPU ex502 transmite una señal para establecer la frecuencia impulsora a una frecuencia impulsora más alta a la unidad de control de frecuencias impulsoras ex512. Luego, la unidad de control de frecuencias impulsoras ex512 establece la frecuencia impulsora a la frecuencia impulsora más alta. Por otra parte, cuando la información de identificación indica que los datos de video cumplen con el estándar convencional, tal como MPEG-2, MPEG-4 AVC y VC-1, en el Paso exS203, la CPU ex502 transmite una señal para establecer la frecuencia impulsora a una frecuencia impulsora más baja a la unidad de control de frecuencias impulsoras ex512. Luego, la unidad de control de frecuencias impulsoras ex512 establece la frecuencia impulsora a la frecuencia impulsora más baja que aquella en el caso donde los datos de video son generados por medio del método de codificación de representaciones visuales en movimiento y el aparato de codificación de representaciones visuales en movimiento descritos en cada una de las modalidades.
Adicionalmente, junto con la conmutación de las frecuencias impulsoras, el efecto de conservación de energía se puede mejorar al cambiar el voltaje que se aplica al LSI ex500 o un aparato que incluye el LSI ex500. Por ejemplo, cuando la frecuencia impulsora se establece más baja, es posible que el voltaje que se aplica al LSI ex500 o el aparato que incluye el LSI ex500 se establezca a un voltaje más bajo que aquel en el caso donde la frecuencia impulsora se establece más alta.
Adicionalmente, cuando la cantidad de procesamiento para la decodificación es más grande, la frecuencia impulsora se puede establecer más alta, y cuando la cantidad de procesamiento para la decodificación es más pequeña, la frecuencia impulsora se puede establecer más baja como el método para establecer la frecuencia impulsora. De esta manera, el método de establecimiento no está limitado a aquellos descritos anteriormente. Por ejemplo, cuando la cantidad de procesamiento para decodificar datos de video de conformidad con MPEG-4 AVC es más grande que la cantidad de procesamiento para la decodificación de datos de video generados por medio del método de codificación de representaciones visuales en movimiento y el aparato de codificación de representaciones visuales en movimiento descritos en cada una de las modalidades, es posible que la frecuencia impulsora se establezca en orden inverso al establecimiento descrito anteriormente.
Adicionalmente, el método para establecer la frecuencia impulsora no está limitado al método para establecer la frecuencia impulsora más baja. Por ejemplo, cuando la información de identificación indica que los datos de video se generan por medio del método de codificación de representaciones visuales en movimiento y el aparato de codificación de representaciones visuales en movimiento descritos en cada una de las modalidades, es posible que el voltaje que se aplica al LSI ex500 o el aparato que incluye el LSI ex500 se establezca más alto. Cuando la información de identificación indica que los datos de video cumplen con el estándar convencional, tal como MPEG-2, MPEG-4 AVC y VC-1, es posible que el voltaje que se aplica al LSI ex500 o el aparato que incluye el LSI ex500 se establezca más bajo. Como otro ejemplo, es posible que cuando la información de identificación indica que los datos de video se generan por medio del método de codificación de representaciones visuales en movimiento y el aparato de codificación de representaciones visuales en movimiento descritos en cada una de las modalidades, la activación de la CPU ex502 no tenga que suspenderse. Cuando la información de identificación indica que los datos de video cumplen con el estándar convencional, tal como MPEG-2, MPEG-4 AVC y VC-1, es posible que la activación de la CPU ex502 se suspenda en un tiempo determinado debido a que la CPU ex502 tiene capacidad de procesamiento adicional. Incluso cuando la información de identificación indica que los datos de video se generan por medio del método de codificación de representaciones visuales en movimiento y el aparato de codificación de representaciones visuales en movimiento descritos en cada una de las modalidades, en el caso donde la CPU ex502 tiene capacidad de procesamiento adicional, es posible que la activación de la CPU ex502 se suspenda en un tiempo determinado. En este caso, es posible que el tiempo de suspensión se establezca más corto que aquel en el caso cuando la información de identificación indica que los datos de video cumplen con el estándar convencional, tal como MPEG-2, MPEG-4 AVC y VC-1.
Por consiguiente, el efecto de conservación de energía se puede mejorar al conmutar entre las frecuencias impulsoras de acuerdo con el estándar que cumplen los datos de video. Adicionalmente, cuando el LSI ex500 o el aparato que incluye el LSI ex500 se activa utilizando una batería, la vida útil de la batería se puede extender con el efecto de conservación de energía.
Modalidad 8 Existen casos donde una pluralidad de datos de video que cumplen con diferentes estándares, se proporciona a los dispositivos y sistemas, tal como una televisión y un teléfono celular. Con el propósito de hacer posible la decodificación de la pluralidad de datos de video que cumplen con los diferentes estándares, la unidad de procesamiento de señales ex507 del LSI ex500 necesita cumplir con los diferentes estándares. Sin embargo, el incremento en la escala del circuito del LSI ex500 y el incremento en el costo surgen con el uso individual de las unidades de procesamiento de señales ex507 que cumplen con los estándares respectivos.
En vista de esto, lo que se idea es una configuración en la cual la unidad de procesamiento de decodificación para implementar el método de decodificación de representaciones visuales en movimiento descrito en cada una de las modalidades y la unidad de procesamiento de decodificación que cumple con el estándar convencional, tal como MPEG-2, MPEG-4 AVC y VC-1 se comparten parcialmente. Ex900 en la FIGURA 38A muestra un ejemplo de la configuración. Por ejemplo, el método de decodificación de representaciones visuales en movimiento descrito en cada una de las modalidades y el método de decodificación de representaciones visuales en movimiento que cumple con MPEG-4 AVC tienen, parcialmente en común, los detalles del procesamiento, tal como la codificación entrópica, cuantificación inversa, filtración de desbloqueo y predicción con compensación de movimiento. Es posible que los detalles del procesamiento que es compartido incluyan el uso de 1 unidad de procesamiento de decodificación ex900 que cumple con la MPEG-4 AVC. En contraste, es posible que una unidad de procesamiento de decodificación especializada ex901 se utilice para otro procesamiento el cual es único para un aspecto de la presente invención y no cumpla con la MPEG-4 AVC. Puesto que el aspecto de la presente invención se caracteriza por la división de una representación visual en particular, por ejemplo, la unidad de procesamiento de decodificación especializada ex901 se utiliza para la división de una representación visual. De otra manera, es posible que la unidad de procesamiento de decodificación sea compartida para una de la cuantificación inversa, decodificación entrópica, filtración de desbloqueo y compensación de movimiento, o la totalidad del procesamiento. La unidad de procesamiento de decodificación para implementar el método de decodificación de representaciones visuales en movimiento descrito en cada una de las modalidades puede ser compartida para que el procesamiento sea compartido y una unidad de procesamiento de decodificación especializada se puede utilizar para el procesamiento único para aquel de MPEG-4 AVC.
Adicionalmente, exlOOO en la FIGURA 38B muestra otro ejemplo en que se comparte parcialmente el procesamiento. Este ejemplo utiliza una configuración que incluye una unidad de procesamiento de decodificación especializada exlOOl que soporta el procesamiento único para un aspecto de la presente invención, una unidad de procesamiento de decodificación especializada exl002 que soporta el procesamiento único para otro estándar convencional y una unidad de procesamiento de decodificación exl003 que soporta el procesamiento que es compartido entre el método de decodificación de representaciones visuales en movimiento de acuerdo con el aspecto de la presente invención y el método de decodificación de representaciones visuales en movimiento convencional. En este documento, las unidades de procesamiento de decodificación especializadas exlOOl y exl002 no están especializadas necesariamente para el procesamiento de acuerdo con el aspecto de la presente invención y el procesamiento del estándar convencional, respectivamente, y pueden ser aquellas capaces de implementar el procesamiento general. Adicionalmente, la configuración de la presente modalidad puede ser implementada por el LSI ex500.
Como tal, la reducción de la escala del circuito de un LSI y la reducción del costo son posibles al compartir la unidad de procesamiento de decodificación para que el procesamiento sea compartido entre el método de decodificación de representaciones visuales en movimiento de acuerdo con el aspecto de la presente invención y el método de decodificación de representaciones visuales en movimiento de conformidad con el estándar convencional.
Aplicabilidad Industrial La presente invención se puede aplicar a un método de codificación de imágenes, un método de decodificación de imágenes, un aparato de codificación de imágenes y un aparato de decodificación de imágenes. Además, la presente invención se puede utilizar en dispositivos de exhibición de información de alta definición o dispositivos de captura de imágenes los cuales incluyen aparatos de codificación de imágenes, tales como una televisión, una grabadora de video digital, un sistema de navegación de autos, un teléfono celular, una cámara digital y una cámara de video digital. Lista de Signos de Referencia 100 Aparato de codificación de imágenes 101 Señal de imagen de entrada 105 Sustractor 106 Señal residual 110 Unidad de transformación 111 Coeficiente de transformación 120 Unidad de cuantificación 121, 291 Coeficiente de cuantificación 130, 230 Unidad de transformación inversa 131, 231 Señal residual 140, 240 Adicionador 141, 151, 161, 171, 241, 251, 261, 271 Señal de imagen decodificada 150, 250 Filtro de desbloqueo 160, 260 Filtro de bucle adaptable 170, 270 Memoria intermedia de tramas de referencia 180, 280 Unidad de predicción 181, 281 Señal de predicción 190 Unidad de codificación entrópica 191, 201 Señal codificada 200 Aparato de decodificación de imágenes 290 Unidad de decodificación entrópica 300, 310, 330, 340, 350, 360, 370, 390, 400, 410, 420 Representación visual 301, 302, 311, 312, 313, 314, 321, 381 Hilera 320, 380 Encabezado de corte 331, 332, 333, 341, 342, 343, 344, 351, 354, 361, 362, 363, 364, 365, 371, 372, 373, 374, 391, 392, 393, 394, 401, 402, 403, 404, 411, 412, 413, 414, 415, 421, 422, 423, 424 Corte Se hace constar que con relación a esta fecha, el mejor método conocido por la solicitante para llevar a la práctica la citada invención, es el que resulta claro de la presente descripción de la invención.

Claims (19)

REIVINDICACIONES Habiéndose descrito la invención como antecede, se reclama como propiedad lo contenido en las siguientes reivindicaciones:
1. Un método de decodificación de imágenes para decodificar una corriente de bits que incluye una señal codificada que resulta de la codificación de una pluralidad de cortes en los cuales se divide una imagen y cada uno de los cuales incluye una pluralidad de unidades de codificación, caracterizado porque comprende: decodificar la señal codificada, en donde cada uno de los cortes es ya sea un corte normal que tiene, en un encabezado de corte, información utilizada para otro corte o un corte dependiente el cual se decodifica utilizando información incluida en un encabezado de corte de otro corte, la imagen incluye una pluralidad de hileras cada una de las cuales incluye dos o más de las unidades de codificación y cuando el corte normal inicia en una posición diferente del comienzo de una primera hilera, una segunda hilera inmediatamente después de la primera hilera no inicia con el corte dependiente.
2. El método de decodificación de imágenes de conformidad con la reivindicación 1, caracterizado porque en la decodificación, la primera hilera y la segunda hilera se decodifican en paralelo y cuando se inicia la decodificación de la segunda hilera, la segunda hilera se decodifica sin referirse a información de partición que indica una estructura de corte de la primera hilera.
3. El método de decodificación de imágenes de conformidad con la reivindicación 1 o 2, caracterizado porque en la decodificación, la decodificación aritmética de la segunda hilera se inicializa utilizando un contexto obtenido después de la decodificación aritmética de una de las unidades de codificación que está localizada en segundo lugar en la primera hilera.
4. El método de decodificación de imágenes de conformidad con cualquiera de las reivindicaciones 1 a 3, caracterizado porque comprende además obtener, de un encabezado de corte de un corte, información que indica si el corte es ya sea el corte normal o el corte dependiente.
5. El método de decodificación de imágenes de conformidad con cualquiera de las reivindicaciones 1 a 4, caracterizado porque un corte al comienzo de la imagen es el corte normal y cada uno de la totalidad de los otros cortes es el corte dependiente.
6. El método de decodificación de imágenes de conformidad con cualquiera de las reivindicaciones 1 a 5, caracterizado porque cada uno de los cortes incluye la totalidad de una o más de las hileras.
7. El método de decodificación de imágenes de conformidad con cualquiera de las reivindicaciones 1 a 6, caracterizado porque la decodificación aritmética del corte dependiente se inicializa utilizando un contexto de un corte precursor cuyo encabezado de corte se utiliza para el corte dependiente.
8. El método de decodificación de imágenes de conformidad con cualquiera de las reivindicaciones 1 a 7, caracterizado porque comprende además obtener un indicador de restricción de la corriente de bits cuando el corte dependiente se habilita, el indicador de restricción señala que la partición de una representación visual está restringida.
9. Un método de codificación de imágenes para codificar una pluralidad de cortes en los cuales se divide una imagen y cada uno de los cuales incluye una pluralidad de unidades de codificación, para generar una corriente de bits, caracterizado porque comprende: dividir la imagen en los cortes; y codificar los cortes que resultan de la partición, en donde cada uno de los cortes es ya sea un corte normal que tiene, en un encabezado de corte, información utilizada para otro corte o un corte dependiente el cual se decodifica utilizando información incluida en un encabezado de corte del otro corte, la imagen incluye una pluralidad de hileras cada una de las cuales incluye dos o más de las unidades de codificación, y en la partición, cuando el corte normal inicia en una posición diferente del comienzo de una primera hilera, la imagen se divide en los cortes para causar que una segunda hilera inmediatamente después de la primera hilera no inicie con el corte dependiente.
10. El método de codificación de imágenes de conformidad con la reivindicación 9, caracterizado porque en la partición, en el caso donde un aparato de decodificación de imágenes decodifica la primera hilera y la segunda hilera en paralelo, la imagen se divide en los cortes para permitir la decodificación de la segunda hilera sin referirse a información de partición cuando el aparato de decodificación de imágenes comienza la decodificación de la segunda hilera, la información de partición indica una estructura de corte de la primera hilera.
11. El método de codificación de imágenes de conformidad con la reivindicación 9 o 10, caracterizado porque en la codificación, la codificación aritmética de la segunda hilera se inicializa utilizando un contexto obtenido después de la codificación aritmética de una de las unidades de codificación que está localizada en segundo lugar en la primera hilera.
12. El método de codificación de imágenes de conformidad con cualquiera de las reivindicaciones 9 a 11, caracterizado porque comprende incorporar, en un encabezado de corte de un corte, información que indica si el corte es ya sea el corte normal o el corte dependiente.
13. El método de codificación de imágenes de conformidad con cualquiera de las reivindicaciones 9 a 12, caracterizado porque un corte al comienzo de la imagen es el corte normal y cada uno de la totalidad de los otros cortes es el corte dependiente.
14. El método de codificación de imágenes de conformidad con cualquiera de las reivindicaciones 9 a 13, caracterizado porque cada uno de los cortes incluye la totalidad de una o más de las hileras.
15. El método de codificación de imágenes de conformidad con cualquiera de las reivindicaciones 9 a 14, caracterizado porque la codificación aritmética del corte dependiente se inicializa utilizando un contexto de un corte precursor cuyo encabezado de corte se utiliza para el corte dependiente.
16. El método de codificación de imágenes de conformidad con cualquiera de las reivindicaciones 9 a 15, caracterizado porque comprende además incorporar un indicador de restricción en la corriente de bits cuando el corte dependiente es habilitado, el indicador de restricción señala que la partición de una representación visual está restringida.
17. Un aparato de decodificación de imágenes el cual decodifica una corriente de bits que incluye una señal codificada que resulta de la codificación de una pluralidad de cortes en los cuales se divide una imagen y cada uno de los cuales incluye una pluralidad de unidades de codificación, caracterizado porque comprende una unidad de decodificación configurada para decodificar la señal codificada, en donde cada uno de los cortes es ya sea un corte normal que tiene, en un encabezado de corte, información utilizada para otro corte o un corte dependiente el cual se decodifica utilizando información incluida en un encabezado de corte de otro corte, la imagen incluye una pluralidad de hileras cada una de las cuales incluye dos o más de las unidades de codificación y cuando el corte normal inicia en una posición diferente del comienzo de una primera hilera, una segunda hilera inmediatamente después de la primera hilera no inicia con el corte dependiente.
18. Un aparato de codificación de imágenes el cual codifica una pluralidad de cortes en los cuales se divide una imagen y cada uno de los cuales incluye una pluralidad de unidades de codificación, para generar una corriente de bits, caracterizado porque comprende: una unidad de partición configurada para dividir la imagen en los cortes; y una unidad de codificación configurada para codificar los cortes que resultan de la partición, en donde cada uno de los cortes es ya sea un corte normal que tiene, en un encabezado de corte, información utilizada para otro corte o un corte dependiente el cual se decodifica utilizando información incluida en un encabezado de corte de otro corte, la imagen incluye una pluralidad de hileras cada una de las cuales incluye dos o más de las unidades de codificación y la unidad de partición se configura para, cuando el corte normal inicia en una posición diferente del comienzo de una primera hilera, dividir la imagen en los cortes para causar que una segunda hilera inmediatamente después de la primera hilera no inicie con el corte dependiente.
19. Un aparato de codificación y decodificación de imágenes, caracterizado porque comprende: el aparato de codificación de imágenes de conformidad con la reivindicación 18; y el aparato de decodificación de imágenes de conformidad con la reivindicación 17.
MX2015002890A 2012-09-26 2013-09-18 Metodo de decodificacion de imagenes, metodo de codificacion de imagenes, aparato de decodificacion de imagenes, aparato de codificacion de imagenes y aparato de codificacion y decodificacion de imagenes. MX341067B (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201261705864P 2012-09-26 2012-09-26
PCT/JP2013/005514 WO2014050030A1 (ja) 2012-09-26 2013-09-18 画像復号方法、画像符号化方法、画像復号装置、画像符号化装置及び画像符号化復号装置

Publications (2)

Publication Number Publication Date
MX2015002890A true MX2015002890A (es) 2015-07-06
MX341067B MX341067B (es) 2016-08-05

Family

ID=50338837

Family Applications (1)

Application Number Title Priority Date Filing Date
MX2015002890A MX341067B (es) 2012-09-26 2013-09-18 Metodo de decodificacion de imagenes, metodo de codificacion de imagenes, aparato de decodificacion de imagenes, aparato de codificacion de imagenes y aparato de codificacion y decodificacion de imagenes.

Country Status (14)

Country Link
US (9) US9100634B2 (es)
EP (3) EP2903269B1 (es)
JP (1) JP6124221B2 (es)
KR (2) KR102063239B1 (es)
CN (2) CN104584554B (es)
AU (1) AU2013322000B2 (es)
BR (1) BR112015004246B1 (es)
CA (1) CA2882792C (es)
ES (1) ES2716579T3 (es)
MX (1) MX341067B (es)
MY (1) MY181830A (es)
TW (1) TWI581618B (es)
WO (1) WO2014050030A1 (es)
ZA (1) ZA201501520B (es)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9621905B2 (en) * 2012-06-29 2017-04-11 Qualcomm Incorporated Tiles and wavefront parallel processing
WO2014050030A1 (ja) 2012-09-26 2014-04-03 パナソニック株式会社 画像復号方法、画像符号化方法、画像復号装置、画像符号化装置及び画像符号化復号装置
RU2608465C1 (ru) * 2013-01-04 2017-01-18 Самсунг Электроникс Ко., Лтд. Способ энтропийного кодирования сегмента слайса и устройство для него и способ энтропийного декодирования сегмента слайса и устройство для него
GB2513303B (en) * 2013-04-16 2017-06-07 Canon Kk Method and device for partitioning an image
US20150049105A1 (en) * 2013-08-13 2015-02-19 Mediatek Inc. Data processing apparatus for transmitting/receiving indication information of pixel data grouping setting via display interface and related data processing method
KR102257269B1 (ko) 2013-10-14 2021-05-26 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 비디오 및 이미지 코딩 및 디코딩을 위한 인트라 블록 카피 예측 모드의 피쳐
CN105659602B (zh) 2013-10-14 2019-10-08 微软技术许可有限责任公司 用于视频和图像编码的帧内块复制预测模式的编码器侧选项
KR102275639B1 (ko) 2013-10-14 2021-07-08 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 비디오 및 영상 코딩 및 디코딩에 대한 기본 색상 인덱스 맵 모드의 특징
US9736488B2 (en) * 2013-11-27 2017-08-15 Nxp Usa, Inc. Decoding for high efficiency video transcoding
US10469863B2 (en) 2014-01-03 2019-11-05 Microsoft Technology Licensing, Llc 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
WO2015192353A1 (en) 2014-06-19 2015-12-23 Microsoft Technology Licensing, Llc Unified intra block copy and inter prediction modes
EP3202150B1 (en) 2014-09-30 2021-07-21 Microsoft Technology Licensing, LLC Rules for intra-picture prediction modes when wavefront parallel processing is enabled
CN106664405B (zh) 2015-06-09 2020-06-09 微软技术许可有限责任公司 用调色板模式对经逸出编码的像素的稳健编码/解码
US10382793B2 (en) * 2015-06-23 2019-08-13 Integrated Device Technology, Inc. Apparatuses and methods for performing information extraction and insertion on bitstreams
US20170105010A1 (en) * 2015-10-09 2017-04-13 Microsoft Technology Licensing, Llc Receiver-side modifications for reduced video latency
WO2017171438A1 (ko) * 2016-03-30 2017-10-05 한국전자통신연구원 픽쳐 분할 정보를 사용하는 비디오의 부호화 및 복호화를 위한 방법 및 장치
US10593015B2 (en) 2016-05-04 2020-03-17 Texas Instruments Incorporated Apparatus and method for efficient motion estimation
CN108063948B (zh) * 2016-11-08 2020-08-04 联发科技股份有限公司 配合多个处理器的影像处理装置及影像处理方法
CN107147916B (zh) * 2017-06-09 2021-01-29 苏州蜗牛数字科技股份有限公司 一种在传输层上传输h.265编码视频数据的方法
CN107197296B (zh) * 2017-06-22 2019-08-13 华中科技大学 一种基于COStream的HEVC并行编码方法和系统
BR112020024566A2 (pt) 2018-06-14 2021-03-09 Panasonic Intellectual Property Corporation Of America Método de codificação de dados tridimensionais, método de decodificação de dados tridimensionais, dispositivo de codificação de dados tridimensionais e dispositivo de decodificação de dados tridimensionais
KR20210093877A (ko) * 2018-12-07 2021-07-28 파나소닉 인텔렉츄얼 프로퍼티 코포레이션 오브 아메리카 부호화 장치, 복호 장치, 부호화 방법 및 복호 방법
CN113785583A (zh) * 2019-04-10 2021-12-10 华为技术有限公司 视频译码中的条带入口点
WO2021029646A1 (ko) * 2019-08-12 2021-02-18 한국항공대학교산학협력단 하이 레벨 영상 분할과 영상 부호화/복호화 방법 및 장치
CN110933436A (zh) * 2019-12-17 2020-03-27 展讯通信(上海)有限公司 图像编码方法、装置、计算机设备及存储介质

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2673494C (en) * 2006-10-16 2014-07-08 Nokia Corporation System and method for using parallelly decodable slices for multi-view video coding
CN101267564B (zh) * 2008-04-16 2011-06-15 中国科学院计算技术研究所 一种多处理器视频编码芯片装置和方法
CN101836454B (zh) * 2008-12-03 2012-08-22 联发科技股份有限公司 对有序熵切片执行平行cabac码处理的方法及装置
WO2010100875A1 (ja) 2009-03-02 2010-09-10 パナソニック株式会社 記録媒体、再生装置、及び集積回路
CN101656885B (zh) * 2009-09-17 2011-12-07 中兴通讯股份有限公司 多核处理器中并行解码的方法和装置
US20120014431A1 (en) * 2010-07-14 2012-01-19 Jie Zhao Methods and Systems for Parallel Video Encoding and Parallel Video Decoding
US9313514B2 (en) * 2010-10-01 2016-04-12 Sharp Kabushiki Kaisha Methods and systems for entropy coder initialization
US20120230399A1 (en) * 2011-03-10 2012-09-13 Christopher Andrew Segall Video decoder parallelization including a bitstream signal
US20130003823A1 (en) * 2011-07-01 2013-01-03 Kiran Misra System for initializing an arithmetic coder
US9247258B2 (en) * 2011-10-26 2016-01-26 Qualcomm Incorporated Unified design for picture partitioning schemes
US9077998B2 (en) * 2011-11-04 2015-07-07 Qualcomm Incorporated Padding of segments in coded slice NAL units
TWI752680B (zh) 2012-04-13 2022-01-11 美商Ge影像壓縮有限公司 用以自資料串流重構圖像的解碼器及方法、用以將圖像編碼入資料串流的編碼器及方法、與相關電腦程式及機器可存取媒體
CN115442623B (zh) * 2012-06-29 2024-08-23 Ge视频压缩有限责任公司 解码视频数据流的方法、存储介质、编码器、解码器
WO2014050030A1 (ja) 2012-09-26 2014-04-03 パナソニック株式会社 画像復号方法、画像符号化方法、画像復号装置、画像符号化装置及び画像符号化復号装置
US20180020222A1 (en) * 2016-07-12 2018-01-18 Mediatek Inc. Apparatus and Method for Low Latency Video Encoding

Also Published As

Publication number Publication date
US20200336752A1 (en) 2020-10-22
KR102160372B1 (ko) 2020-09-28
US9992505B2 (en) 2018-06-05
MY181830A (en) 2021-01-08
JP6124221B2 (ja) 2017-05-10
EP3876538A1 (en) 2021-09-08
TW201417583A (zh) 2014-05-01
CN108769698B (zh) 2021-07-02
CN104584554B (zh) 2018-07-31
US9693067B2 (en) 2017-06-27
US20160323586A1 (en) 2016-11-03
BR112015004246A2 (pt) 2017-07-04
EP3503552A1 (en) 2019-06-26
BR112015004246A8 (pt) 2023-01-24
TWI581618B (zh) 2017-05-01
ES2716579T3 (es) 2019-06-13
MX341067B (es) 2016-08-05
EP2903269B1 (en) 2019-01-02
US20160150233A1 (en) 2016-05-26
AU2013322000A1 (en) 2015-03-12
WO2014050030A1 (ja) 2014-04-03
KR102063239B1 (ko) 2020-01-07
US10743010B2 (en) 2020-08-11
CA2882792C (en) 2021-08-03
KR20200003286A (ko) 2020-01-08
AU2013322000B2 (en) 2017-02-09
US9420297B2 (en) 2016-08-16
BR112015004246B1 (pt) 2023-02-07
US11212544B2 (en) 2021-12-28
CA2882792A1 (en) 2014-04-03
US9100634B2 (en) 2015-08-04
EP3503552B1 (en) 2021-05-12
US11863772B2 (en) 2024-01-02
US9282334B2 (en) 2016-03-08
US20150245040A1 (en) 2015-08-27
US20170244977A1 (en) 2017-08-24
ZA201501520B (en) 2016-01-27
EP2903269A4 (en) 2015-09-30
CN104584554A (zh) 2015-04-29
EP2903269A1 (en) 2015-08-05
US20240089478A1 (en) 2024-03-14
KR20150063364A (ko) 2015-06-09
US20220086471A1 (en) 2022-03-17
CN108769698A (zh) 2018-11-06
US20180255311A1 (en) 2018-09-06
JPWO2014050030A1 (ja) 2016-08-22
US20140086306A1 (en) 2014-03-27

Similar Documents

Publication Publication Date Title
AU2018201049C1 (en) Image coding method, image decoding method, image coding apparatus, image decoding apparatus, and image coding and decoding apparatus
AU2013322000B2 (en) Image decoding method, image coding method, image decoding apparatus, image coding apparatus, and image coding and decoding apparatus
AU2013322041B2 (en) Image decoding method, image coding method, image decoding apparatus, image coding apparatus, and image coding and decoding apparatus
AU2013322008B2 (en) Image coding method, image decoding method, image coding apparatus, image decoding apparatus, and image coding and decoding apparatus
AU2012294053B2 (en) Image coding method, image decoding method, image coding apparatus, image decoding apparatus, and image coding and decoding apparatus
AU2017201384B2 (en) Moving picture coding method, moving picture decoding method, moving picture coding apparatus, moving picture decoding apparatus, and moving picture coding and decoding apparatus
AU2013254214B2 (en) Encoding method, decoding method, encoding apparatus, decoding apparatus, and encoding and decoding apparatus
MX2013014752A (es) Metodo de codificacion de imagenes, metodo de decodificacion de imagenes, aparato de codificacion de imagenes, aparato de decodificacion de imagenes y aparato de codificacion y decodificacion de imagenes.
MX2013015086A (es) Metodo de codificacion de imagenes, metodo de decodificacion de imagenes, aparato de codificacion de imagenes, aparato de decodificacion de imagenes y aparato de codificacion y decodificacion de imagenes.
MX2015000630A (es) Metodo decodificador de imagen, metodo codificador de imagen, aparato decodificador de imagen, aparato codificador de imagen, y aparato codificador y decodificador de imagen.

Legal Events

Date Code Title Description
FG Grant or registration