ES2871858T3 - Método de codificación de imágenes y dispositivo de codificación de imágenes - Google Patents

Método de codificación de imágenes y dispositivo de codificación de imágenes Download PDF

Info

Publication number
ES2871858T3
ES2871858T3 ES17204865T ES17204865T ES2871858T3 ES 2871858 T3 ES2871858 T3 ES 2871858T3 ES 17204865 T ES17204865 T ES 17204865T ES 17204865 T ES17204865 T ES 17204865T ES 2871858 T3 ES2871858 T3 ES 2871858T3
Authority
ES
Spain
Prior art keywords
signal
unit
decoding
encoding
binary
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES17204865T
Other languages
English (en)
Inventor
Hisao Sasai
Takahiro Nishi
Youji Shibahara
Toshiyasu Sugio
Kyoko Tanikawa
Toru Matsunobu
Kengo Terada
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tagivan II LLC
Original Assignee
Tagivan II LLC
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=48289424&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=ES2871858(T3) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Tagivan II LLC filed Critical Tagivan II LLC
Application granted granted Critical
Publication of ES2871858T3 publication Critical patent/ES2871858T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • 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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Abstract

Un método de codificación para codificar información de última posición que indica una posición de un último coeficiente distinto de cero en un orden predeterminado en un bloque actual que va a codificarse, comprendiendo el método de codificación: binarizar (S401, S405) la información de última posición para generar (i) una señal binaria que incluye una primera señal que tiene una longitud menor que o igual a una longitud máxima predeterminada y no incluye una segunda señal o (ii) una señal binaria que incluye la primera señal que tiene la longitud máxima predeterminada y la segunda señal; primera codificación (S402, S405) para codificar de manera aritmética cada uno de los símbolos binarios incluidos en la primera señal usando un contexto conmutado entre una pluralidad de contextos según una posición de bit del símbolo binario; y segunda codificación (S404, S407) para codificar de manera aritmética la segunda señal usando una probabilidad fijada cuando la señal binaria incluye la segunda señal, caracterizado porque en la primera codificación, un símbolo binario en una última posición de bit de la primera señal se codifica de manera aritmética usando un contexto exclusivo para la última posición de bit, cuando la primera señal tiene la longitud máxima predeterminada; y cada uno de los símbolos binarios en dos o más posiciones de bits distintas de la última posición de bit de la primera señal se codifica de manera aritmética usando un contexto común para las dos o más posiciones de bits.

Description

DESCRIPCIÓN
Método de codificación de imágenes y dispositivo de codificación de imágenes
La presente invención se refiere a una técnica de codificación de imágenes para codificación aritmética.
Cada vez hay más aplicaciones para proporcionar servicios a través de Internet (por ejemplo, videoconferencia, difusión de vídeo digital y servicios de vídeo bajo demanda, incluyendo transmisión continua de contenido de vídeo). Estas aplicaciones se basan en la transmisión de datos de vídeo. Cuando las aplicaciones transmiten datos de vídeo, la mayor parte de los datos de vídeo se transmiten a través de un trayecto de transmisión convencional que tiene un ancho de banda limitado. Además, cuando las aplicaciones graban datos de vídeo, la mayor parte de los datos de vídeo se graban en un medio de grabación convencional que tiene una capacidad limitada. Para transmitir datos de vídeo a través del trayecto de transmisión convencional o grabar datos de vídeo en el medio de grabación convencional, resulta indispensable comprimir o reducir la cantidad de datos de los datos de vídeo.
En vista de esto, se han desarrollado muchas normas de codificación de vídeo para comprimir datos de vídeo. Estas normas de codificación de vídeo son, por ejemplo, las normas ITU-T denominadas H.26x y las normas ISO/IEC denominadas MPEG-x. En la actualidad, la norma de codificación de vídeo más reciente y más avanzada es la norma denominada H.264/MPEG-4 AVC (véase la bibliografía no de patentes (NPL) 1 y la bibliografía no de patentes (NPL) 2).
El enfoque de codificación subyacente a la mayor parte de estas normas de codificación de vídeo se basa en codificación predictiva que incluye las siguientes etapas principales de (a) a (d): (a) Dividir cada trama de vídeo en bloques que tienen cada uno píxeles para comprimir datos de la trama de vídeo para un bloque cada vez. (b) Predecir cada bloque basándose en datos de vídeo anteriormente codificados para identificar redundancia temporal y espacial. (c) Restar los datos predichos de los datos de vídeo para eliminar la redundancia identificada. (d) Comprimir los datos restantes (bloques residuales) mediante transformada de Fourier, cuantificación y codificación por entropía.
En cuanto a la etapa (a), la norma de codificación de vídeo actual proporciona diferentes modos de predicción dependiendo de un macrobloque que va a predecirse. Según la mayor parte de las normas de codificación de vídeo, se usan estimación del movimiento y compensación del movimiento para predecir datos de vídeo basándose en una trama anteriormente codificada y descodificada (predicción inter-tramas). Alternativamente, pueden extrapolarse datos de bloque a partir de un bloque adyacente de la misma trama (predicción intra-tramas).
En la etapa (d), coeficientes cuantificados incluidos en un bloque actual que va a codificarse se exploran en un orden predeterminado (orden de exploración). Después se codifica información (indicador significativo) que indica si los coeficientes explorados son coeficientes cero o coeficientes distintos de cero (por ejemplo, información binaria (símbolo) que indica un coeficiente distinto de cero como 1 y un coeficiente cero como 0).
Además, se binariza información que indica la posición del último coeficiente distinto de cero en el orden de exploración (información de última posición), se codifica mediante codificación aritmética binaria adaptativa de contexto, y se descodifica mediante descodificación aritmética binaria adaptativa de contexto (véase la bibliografía no de patentes (NPL) 3).
[Bibliografía no de patentes]
[NPL 1] Recomendación de ITU-T H.264 “Advanced video coding for generic audiovisual services”, marzo de 2010.
[NPL 2] JCT-VC “WD4: Working Draft 4 of High-Efficiency Video Coding”, JCTVC-F803, julio de 2011.
[NPL 3] SEREGIN V et al: “Binarisation modification for last position coding”, 97. MPEG MEETING, 18-7-2011 - 22-7­ 2011, TURÍN (GRUPO DE EXPERTOS EN IMÁGENES EN MOVIMIENTO O ISO/IEC JTC1/SC29/WG11).
Sin embargo, con la técnica convencional, una conmutación apropiada entre contextos resulta difícil en la codificación aritmética binaria adaptativa de contexto y la descodificación aritmética binaria adaptativa de contexto de la información de última posición. Por ejemplo, cuando se usa el mismo contexto para símbolos binarios que son significativamente diferentes en cuanto a la probabilidad de aparición de símbolo, la precisión de la predicción de la probabilidad de aparición de símbolo disminuye, y por tanto la eficiencia de codificación también disminuye.
En vista de esto, una realización a modo de ejemplo y no limitativa proporciona un método de codificación de imágenes y un aparato de codificación de imágenes para codificar de manera aritmética la información de última posición usando un contexto que se conmuta de manera apropiada entre una pluralidad de contextos.
Debe observarse que este aspecto general puede implementarse usando un sistema, un aparato, un circuito integrado, un programa informático, o un medio de grabación legible por ordenador tal como un CD-ROM, o cualquier combinación de sistemas, aparatos, circuitos integrados, programas informáticos o medios de grabación legibles por ordenador.
Con el método de codificación de imágenes según un aspecto de la presente invención, es posible codificar de manera aritmética la información de última posición usando un contexto que se conmuta de manera apropiada entre una pluralidad de contextos.
La figura 1 es un diagrama de bloques que muestra un ejemplo de una configuración de un aparato de descodificación de imágenes según el conocimiento subyacente.
La figura 2 es un diagrama de flujo que muestra un ejemplo de un método de descodificación de imágenes según el conocimiento subyacente.
La figura 3A es un diagrama que muestra un ejemplo de señales binarias de información de última posición cuando el tamaño de bloque es de 4x4.
La figura 3B es un diagrama que muestra un ejemplo de señales binarias de información de última posición cuando el tamaño de bloque es de 8x8.
La figura 3C es un diagrama que muestra un ejemplo de señales binarias de información de última posición cuando el tamaño de bloque es de 16x16.
La figura 3D es un diagrama que muestra un ejemplo de señales binarias de información de última posición cuando el tamaño de bloque es de 32x32.
La figura 4 es un diagrama
Figure imgf000003_0001
de flujo que muestra descodificación aritmética binaria adaptativa de contexto. La figura 5 es un diagrama
Figure imgf000003_0002
de flujo que muestra descodificación de derivación.
La figura 6 es un diagrama
Figure imgf000003_0003
de flujo que muestra normalización.
La figura 7 es un diagrama de bloques que muestra una configuración funcional de un aparato de descodificación de imágenes según la realización 1.
La figura 8A es un diagrama de flujo que muestra un ejemplo de operaciones de procesamiento de un aparato de descodificación de imágenes según la realización 1.
La figura 8B es un diagrama de flujo que muestra otro ejemplo de operaciones de procesamiento de un aparato de descodificación de imágenes según la realización 1.
La figura 9A es un diagrama de flujo que muestra un ejemplo de operaciones de procesamiento de una segunda unidad de descodificación según la realización 1.
La figura 9B es un diagrama que muestra un ejemplo de una relación entre el tamaño de bloque y la longitud máxima de una parte de prefijo según la realización 1.
La figura 9C es un diagrama que muestra otro ejemplo de una relación entre el tamaño de bloque y la longitud máxima de una parte de prefijo según la realización 1.
La figura 9D es un diagrama que muestra un ejemplo de una relación entre el tamaño de bloque y el parámetro de Rice según la realización 1.
La figura 9E es un diagrama que muestra otro ejemplo de una relación entre el tamaño de bloque y el parámetro de Rice según la realización 1.
La figura 10A es un diagrama de flujo que muestra un ejemplo de un método de determinación de un valor de RP y una longitud máxima de una parte de prefijo.
La figura 10B es un diagrama de flujo que muestra otro ejemplo de un método de determinación de un valor de RP y una longitud máxima de una parte de prefijo.
La figura 10C es un diagrama de flujo que muestra otro ejemplo de un método de determinación de un valor de RP y una longitud máxima de una parte de prefijo.
La figura 10D es un diagrama de flujo que muestra otro ejemplo de un método de determinación de un valor de RP y una longitud máxima de una parte de prefijo.
La figura 11A es un diagrama para describir una relación entre posiciones de bits y contextos según la realización 1. La figura 11B es un diagrama para describir una relación entre posiciones de bits y contextos según un ejemplo comparable.
La figura 12 es un diagrama de bloques que muestra un ejemplo de una configuración de un aparato de descodificación de imágenes según una variación de la realización 1.
La figura 13 es un diagrama de bloques que muestra una configuración funcional de un aparato de codificación de imágenes según la realización 2.
La figura 14A es un diagrama de flujo que muestra un ejemplo de operaciones de procesamiento de un aparato de codificación de imágenes según la realización 2.
La figura 14B es un diagrama de flujo que muestra otro ejemplo de operaciones de procesamiento de un aparato de codificación de imágenes según la realización 2.
La figura 15 es un diagrama que muestra un ejemplo de señales binarias de información de última posición cuando el tamaño de bloque es de 16x16.
La figura 16 es un diagrama de bloques que muestra un ejemplo de una configuración de un aparato de codificación de imágenes según la realización 2.
La figura 17 muestra una configuración global de un sistema para proporcionar contenido para implementar servicios de distribución de contenido.
La figura 18 muestra una configuración global de un sistema de difusión digital.
La figura 19 muestra un diagrama de bloques que ilustra un ejemplo de una configuración de una televisión.
La figura 20 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 21 muestra un ejemplo de una configuración de un medio de grabación que es un disco óptico.
La figura 22A muestra un ejemplo de un teléfono celular.
La figura 22B es un diagrama de bloques que muestra un ejemplo de una configuración de un teléfono celular.
La figura 23 ilustra una estructura de datos multiplexados.
La figura 24 muestra esquemáticamente cómo se multiplexa cada flujo para dar datos multiplexados.
La figura 25 muestra cómo se almacena un flujo de vídeo en un flujo de paquetes de PES en más detalle.
La figura 26 muestra una estructura de paquetes de TS y paquetes de fuente en los datos multiplexados.
La figura 27 muestra una estructura de datos de un PMT.
La figura 28 muestra una estructura interna de información de datos multiplexados.
La figura 29 muestra una estructura interna de información de atributos de flujo.
La figura 30 muestra etapas para identificar datos de vídeo.
La figura 31 muestra un ejemplo de una configuración de un circuito integrado para implementar el método de codificación de imágenes en movimiento y el método de descodificación de imágenes en movimiento según cada una de las realizaciones.
La figura 32 muestra una configuración para conmutar entre frecuencias motrices.
La figura 33 muestra etapas para identificar datos de vídeo y conmutar entre frecuencias motrices.
La figura 34 muestra un ejemplo de una tabla de consulta en la que normas de datos de vídeo están asociadas con frecuencias motrices.
La figura 35A 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 35B es un diagrama que muestra otro ejemplo de una configuración para compartir un módulo de la unidad de procesamiento de señales.
(Conocimiento subyacente que forma la base de la presente invención)
Los inventores han encontrado el siguiente contenido referente a la codificación aritmética y la descodificación aritmética de la información de última posición descrita en la sección de “antecedentes”.
Debe observarse que en la siguiente descripción, la información de última posición indica una posición horizontal y una posición vertical del último coeficiente distinto de cero en un orden predeterminado en un bloque actual. En este caso, la información de última posición incluye una componente horizontal (denominada a continuación en el presente documento “componente X”) y una componente vertical (denominada a continuación en el presente documento “componente Y”). La componente X indica una posición horizontal en el bloque actual. La componente Y indica una posición vertical en el bloque actual.
La figura 1 es un diagrama de bloques que muestra un ejemplo de una configuración de un aparato de descodificación de imágenes 1000 según el conocimiento subyacente. La figura 2 es un diagrama de flujo que muestra un ejemplo de un método de descodificación de imágenes según el conocimiento subyacente. Tal como se muestra en la figura 1, el aparato de descodificación de imágenes 1000 incluye una primera unidad de descodificación 1001, una segunda unidad de descodificación 1002, una unidad de control de descodificación 1003, y una unidad de reconstrucción 1004.
El aparato de descodificación de imágenes 1000 obtiene un flujo de bits BS que incluye la información de última posición. Entonces, el aparato de descodificación de imágenes 1000 introduce el flujo de bits BS en la primera unidad de descodificación 1001, la segunda unidad de descodificación 1002 y la unidad de control de descodificación 1003.
La unidad de control de descodificación 1003 gestiona si cada señal en el flujo de bits obtenido BS es la componente X o la componente Y de la información de última posición.
La primera unidad de descodificación 1001 descodifica de manera aritmética una parte de prefijo de la componente X de la información de última posición incluida en el flujo de bits BS (S1001). Más específicamente, la primera unidad de descodificación 1001 descodifica de manera aritmética la parte de prefijo de la componente X mediante descodificación aritmética binaria adaptativa de contexto. En este caso, la parte de prefijo es una parte de la señal binaria de la componente X o la componente Y, que se codifica mediante codificación aritmética binaria adaptativa de contexto.
A continuación, la primera unidad de descodificación 1001 determina si la señal binaria de la componente X incluye una parte de sufijo o no (S1002). La parte de sufijo es una parte de la señal binaria de la componente X o la componente Y, que se codifica mediante codificación de derivación.
La parte de prefijo y la parte de sufijo se determinan según cada valor (también denominado a continuación en el presente documento “último valor”) de la componente X y la componente Y tal como se muestra en la figura 3A a la figura 3D, por ejemplo. Por tanto, con un método predeterminado, la primera unidad de descodificación 1001 puede determinar si la señal binaria de la componente X incluye la parte de sufijo o no.
Más específicamente, cuando el tamaño de un bloque transformado (denominado a continuación en el presente documento “tamaño transformado”) es de 4x4, por ejemplo, la señal binaria de la componente X incluye únicamente la parte de prefijo y no incluye la parte de sufijo independientemente del último valor tal como se muestra en la figura 3A. Por tanto, la primera unidad de descodificación 1001 determina que la señal binaria de la componente X no incluye la parte de sufijo cuando el tamaño de un bloque que va a descodificarse es de 4x4.
En el caso en el que el tamaño transformado es de 8x8, por ejemplo, la primera unidad de descodificación 1001 determina que la señal binaria descodificada de la componente X no incluye la parte de sufijo cuando cualquiera de los valores de símbolo binario hasta el valor de símbolo binario del 4° bit de la señal binaria de la componente X es “1” tal como se muestra en la figura 3B. Por otro lado, la primera unidad de descodificación 1001 determina que la señal binaria descodificada de la componente X incluye una parte de sufijo que tiene una longitud fija de 2 bits cuando los valores de símbolo binario hasta el valor de símbolo binario del 4° bit de la señal binaria de la componente X son todos “0”.
En el caso en el que el tamaño transformado es de 16x16, por ejemplo, la primera unidad de descodificación 1001 determina que la señal binaria descodificada de la componente X no incluye la parte de sufijo cuando cualquiera de los valores de símbolo binario hasta el valor de símbolo binario del 8° bit de la señal binaria de la componente X es “1” tal como se muestra en la figura 3C. Por otro lado, la primera unidad de descodificación 1001 determina que la señal binaria descodificada de la componente X incluye una parte de sufijo que tiene una longitud fija de 3 bits cuando los valores de símbolo binario hasta el valor de símbolo binario del 8° bit de la señal binaria de la componente X son todos “0”.
En el caso en el que el tamaño transformado es de 32x32, por ejemplo, la primera unidad de descodificación 1001 determina que la señal binaria descodificada de la componente X no incluye la parte de sufijo cuando cualquiera de los valores de símbolo binario hasta el valor de símbolo binario del 16° bit de la señal binaria de la componente X es “1” tal como se muestra en la figura 3D. Por otro lado, la primera unidad de descodificación 1001 determina que la señal binaria descodificada de la componente X incluye una parte de sufijo que tiene una longitud fija de 4 bits cuando los valores de símbolo binario hasta el valor de símbolo binario del 16° bit de la señal binaria de la componente X son todos “0”.
En este caso, cuando la señal binaria de la componente X incluye la parte de sufijo (Sí en S1002), la segunda unidad de descodificación 1002 descodifica de manera aritmética la parte de sufijo que tiene una longitud de bits fija, predeterminada (S1003). Más específicamente, la segunda unidad de descodificación 1002 descodifica la parte de sufijo de la componente X mediante descodificación de derivación. Por otro lado, cuando la señal binaria de la componente X no incluye la parte de sufijo (No en S1002), se omite el procedimiento de descodificación para la parte de sufijo.
La unidad de reconstrucción 1004 reconstruye la componente X de la información de última posición usando la parte de prefijo y la parte de sufijo que se han descodificado (S1004). Más específicamente, cuando la señal binaria de la componente X incluye la parte de sufijo, la unidad de reconstrucción 1004 reconstruye la componente X desbinarizando la señal binaria que incluye la parte de prefijo y parte de sufijo descodificadas. Por otro lado, cuando la señal binaria de la componente X no incluye la parte de sufijo, la unidad de reconstrucción 1004 reconstruye la componente X desbinarizando la señal binaria que incluye la parte de prefijo descodificada.
A continuación, la primera unidad de descodificación 1001 descodifica de manera aritmética la parte de prefijo de la componente Y de la información de última posición como en la etapa S1001 (S1005). Después de eso, la primera unidad de descodificación 1001 determina si la señal binaria de la componente Y incluye la parte de sufijo o no como en la etapa S1002 (S1006).
En este caso, cuando la señal binaria de la componente Y incluye la parte de sufijo (Sí en S1006), la segunda unidad de descodificación 1002 descodifica de manera aritmética la parte de sufijo que tiene una longitud fija predeterminada como en la etapa S1003 (S1007). Por otro lado, cuando la señal binaria de la componente Y no incluye la parte de sufijo (No en S1006), se omite el procedimiento de descodificación para la parte de sufijo.
Por último, la unidad de reconstrucción 1004 reconstruye la componente Y de la información de última posición como en la etapa S1004 (S1008). Más específicamente, cuando la señal binaria de la componente Y incluye la parte de sufijo, la unidad de reconstrucción 1004 reconstruye la componente Y desbinarizando la señal binaria que incluye la parte de prefijo y parte de sufijo descodificadas. Por otro lado, cuando la señal binaria de la componente Y no incluye la parte de sufijo, la unidad de reconstrucción 1004 reconstruye la componente Y desbinarizando la señal binaria que incluye la parte de prefijo descodificada.
Esta es la manera en la que se reconstruyen la componente X y la componente Y incluidas en la información de última posición.
A continuación, se describirá la codificación de longitud variable y la descodificación de longitud variable. H.264 emplea codificación aritmética binaria adaptativa de contexto (CABAC) como uno de los métodos de codificación de longitud variable. La parte de prefijo se codifica mediante CABAC. En cambio, la parte de sufijo se codifica mediante codificación de derivación, que es codificación aritmética en la que se usa una probabilidad fijada (por ejemplo, “0,5”). A continuación en el presente documento, se describirán la descodificación aritmética binaria adaptativa de contexto y la descodificación de derivación usando la figura 4 a la figura 6.
La figura 4 es un diagrama de flujo que muestra descodificación aritmética binaria adaptativa de contexto. Debe observarse que la figura 4 se ha extraído del documento NPL 1. A menos que se especifique lo contrario, la descripción de la figura 4 es tal como se facilita en el documento NPL 1.
Con la descodificación aritmética, en primer lugar, se introduce contexto (ctxIdx) que se determina basándose en el tipo de señal de una señal actual que va a descodificarse.
A continuación, se realiza el siguiente procedimiento en la etapa S2001.
En primer lugar, se calcula qCodIRangeIdx a partir de un primer parámetro codIRange que indica un estado actual de descodificación aritmética. Además, se obtiene pStateIdx que es un valor de estado correspondiente a ctxIdx. Entonces, se obtiene codIRangeLPS correspondiente a los dos valores (qCodIRangeIdx y pStateIdx) mediante consulta de una tabla (rangeTableLPS).
Debe observarse que codIRangeLPS indica un estado de descodificación aritmética cuando se ha producido LPS en un estado de descodificación aritmética indicado por el primer parámetro codIRange. LPS especifica uno de los símbolos “0” y “1” que tiene una menor probabilidad de aparición.
Además, se establece un valor obtenido restando el codIRangeLPS anteriormente mencionado del codIRange actual para codIRange.
A continuación, en la etapa S2002, se realiza una comparación entre codIRange y un segundo parámetro codIOffset que indica un estado de descodificación aritmética.
En este caso, cuando codIOffset es mayor que o igual a codIRange (Sí en S2002), se realiza el siguiente procedimiento en la etapa S2003.
En primer lugar, se determina que se ha producido LPS, y se establece un valor diferente de valMPS (“0” cuando valMPS = 1, y “1” cuando valMPS = 0) para binVal que es un valor de salida de descodificación. valMPS indica un valor específico de MPS (“0” o “1”). MPS especifica uno de los valores de símbolo binario “0” y “1” que tiene una mayor probabilidad de aparición.
Además, se establece un valor obtenido restando codIRange del codIOffset actual para el segundo parámetro codIOffset que indica un estado de descodificación aritmética. Además, el valor de codIRangeLPS que se ha establecido en la etapa S2001 se establece para el primer parámetro codIRange que indica un estado de descodificación aritmética.
A continuación, en la etapa S2005, se determina si el valor de pStateIdx es “0” o no.
En este caso, cuando el valor de pStateIdx es “0” (Sí en S2005), significa que la probabilidad de LPS es mayor que la probabilidad de MPS. Por tanto, se conmuta el valor de valMPS (es decir, se establece “0” cuando valMPS = 1, y se establece “1” cuando valMPS = 0) (etapa S2006). Por otro lado, cuando el valor de pStateIdx no es “0” (No en S2005), se actualiza el valor de pStateIdx basándose en una tabla de transformada transIdxLPS que se consulta cuando se produce LPS (etapa S2007).
Además, cuando codIOffset es menor que codIRange (No en S2002), se determina que se ha producido MPS. Por tanto, se establece valMPS para binVal que es un valor de salida de descodificación, y se actualiza el valor de pStateIdx basándose en una tabla de transformada transIdxMPS que se consulta cuando se produce MPS (etapa S2004).
Por último, se realiza la normalización (RenormD) (etapa S2008) y la descodificación aritmética termina.
Tal como se mostró anteriormente, con la descodificación aritmética binaria adaptativa de contexto, múltiples probabilidades de aparición de símbolo, que son probabilidades de aparición de símbolos binarios, se mantienen en asociación con índices de contexto. Los contextos se conmutan según una condición (por ejemplo, valor de un bloque adyacente), y por tanto, es necesario mantener el orden de procesamiento.
La figura 5 es un diagrama de flujo que muestra la descodificación de derivación. Debe observarse que la figura 5 se ha extraído del documento NPL 1. A menos que se especifique lo contrario, la descripción de la figura 5 es tal como se facilita en el documento NPL 1.
En primer lugar, el segundo parámetro codIOffset que indica un estado actual de descodificación aritmética se desplaza a la izquierda (se duplica). Además, se lee un bit del flujo de bits, y cuando el bit leído es “1”, se añade 1 a codIOffset (etapa S3001).
A continuación, cuando codIOffset es mayor que o igual al primer parámetro codIRange que indica un estado de descodificación aritmética (Sí en S3002), se establece “1” para binVal que es un valor de salida de descodificación, y se establece un valor obtenido restando codIRange del codIOffset actual para codIOffset (etapa S3003). Por otro lado, cuando codIOffset es menor que el primer parámetro codIRange que indica un estado de descodificación aritmética (No en S3002), se establece “0” para binVal que es un valor de salida de descodificación (etapa S3004). La figura 6 es un diagrama de flujo para describir en detalle la normalización (RenormD) mostrada en la etapa S2008 en la figura 4. La figura 6 se ha extraído del documento NPL 1. A menos que se especifique lo contrario, la descripción de la figura 6 es tal como se facilita en el documento NPL 1.
Cuando el primer parámetro codIRange que indica un estado de descodificación aritmética se ha vuelto menor que 0x100 (en base 16: 256 (en base 10)) (Sí en S4001), codIRange se desplaza a la izquierda (se duplica). Además, el segundo parámetro codIOffset que indica un estado de descodificación aritmética se desplaza a la izquierda (se duplica). Además, se lee un bit del flujo de bits, y cuando el bit leído es “1”, se añade 1 a codIOffset (etapa S4002). Cuando codIRange alcanza finalmente 256 o más mediante este procedimiento en la etapa S4002 (No en S4001), la normalización termina.
Esta es la manera en la que se realiza la descodificación aritmética.
Sin embargo, una conmutación apropiada entre contextos (modelos de contexto) resulta difícil cuando se codifica o descodifica la parte de prefijo mediante codificación aritmética binaria adaptativa de contexto o descodificación aritmética binaria adaptativa de contexto. Por ejemplo, en codificación aritmética y descodificación aritmética de la parte de prefijo, los contextos se conmutan según la posición de bit en la señal binaria. En este momento, si un contexto es común para una pluralidad de posiciones de bits para reducir la capacidad requerida de la memoria y reducir el acceso a memoria, en algunos casos se usa un contexto idéntico para posiciones de bits que son significativamente diferentes en cuanto a la probabilidad de aparición de símbolo. En un caso de este tipo, la precisión de predicción de la probabilidad de aparición de símbolo disminuye, y por tanto la eficiencia de codificación también disminuye.
En vista de lo anterior, un método de codificación de imágenes según un aspecto de la presente invención es un método de codificación de imágenes para codificar información de última posición que indica una posición de un último coeficiente distinto de cero en un orden predeterminado en un bloque actual que va a codificarse, incluyendo el método de codificación de imágenes: binarizar la información de última posición para generar (i) una señal binaria que incluye una primera señal que tiene una longitud menor que o igual a una longitud máxima predeterminada y no incluye una segunda señal o (ii) una señal binaria que incluye la primera señal que tiene la longitud máxima predeterminada y la segunda señal; primera codificación para codificar de manera aritmética cada uno de los símbolos binarios incluidos en la primera señal usando un contexto conmutado entre una pluralidad de contextos según una posición de bit del símbolo binario; y segunda codificación para codificar de manera aritmética la segunda señal usando una probabilidad fijada cuando la señal binaria incluye la segunda señal, en el que en la primera codificación, un símbolo binario en una última posición de bit de la primera señal se codifica de manera aritmética usando un contexto exclusivo para la última posición de bit, cuando la primera señal tiene la longitud máxima predeterminada.
El símbolo binario en la última posición de bit de la primera señal indica si la señal binaria incluye la segunda señal o no. Esto significa que el símbolo binario en la última posición de bit de la primera señal tiene una gran influencia sobre la eficiencia de codificación. Por tanto, el símbolo binario en la última posición de bit de la primera señal tiene una característica en la aparición de símbolo diferente de la de los símbolos binarios en las otras posiciones de bits. En vista de esto, es posible aumentar la eficiencia de codificación codificando de manera aritmética el símbolo binario en la última posición de bit de la primera señal usando el contexto exclusivo para la última posición de bit. Por ejemplo, en la primera codificación, cada uno de los símbolos binarios en dos o más posiciones de bits distintas de la última posición de bit de la primera señal pueden codificarse de manera aritmética usando un contexto común para las dos o más posiciones de bits.
Con esto, cada uno de los símbolos binarios en dos o más posiciones de bits distintas de la última posición de bit de la primera señal pueden codificarse de manera aritmética usando un contexto común para las dos o más posiciones de bits. Esto reduce el número de contextos en comparación con el caso de usar un contexto diferente para cada posición de bit, y por tanto puede reducirse la capacidad requerida de la memoria.
Por ejemplo, la binarización puede incluir hacer variar la longitud máxima predeterminada según un tamaño del bloque actual.
Con esto, la longitud máxima de la primera señal puede hacerse variar según el tamaño del bloque actual que va a codificarse. Esto hace posible establecer de manera apropiada la longitud máxima de la primera señal, aumentando así la eficiencia de codificación.
Por ejemplo, el método de codificación de imágenes puede incluir además: conmutar un procedimiento de codificación a o bien un primer procedimiento de codificación que cumple con una primera norma o bien un segundo procedimiento de codificación que cumple con una segunda norma; y añadir, a un flujo de bits, información de identificación que indica o bien la primera norma o bien la segunda norma que cumple el procedimiento de codificación al que se conmuta, en el que cuando se conmuta el procedimiento de codificación al primer procedimiento de codificación, la binarización, la primera codificación y la segunda codificación pueden realizarse como el primer procedimiento de codificación.
Esto hace posible conmutar entre el primer procedimiento de codificación que cumple con la primera norma y el segundo procedimiento de codificación que cumple con la segunda norma.
Además, un método de descodificación de imágenes según un aspecto de la presente invención es un método de descodificación de imágenes para descodificar información de última posición que indica una posición de un último coeficiente distinto de cero en un orden predeterminado en un bloque actual que va a descodificarse, incluyendo el método de descodificación de imágenes: primera descodificación para descodificar de manera aritmética cada uno de los símbolos binarios incluidos en una primera señal usando un contexto conmutado entre una pluralidad de contextos según una posición de bit del símbolo binario, incluyéndose la primera señal en una señal binaria de la información de última posición y teniendo una longitud menor que o igual a una longitud máxima predeterminada; y segunda descodificación para, cuando la señal binaria de la información de última posición incluye una segunda señal, descodificar de manera aritmética la segunda señal usando una probabilidad fijada, en el que en la primera descodificación, un símbolo binario en una última posición de bit de la primera señal se descodifica de manera aritmética usando un contexto exclusivo para la última posición de bit, cuando la primera señal tiene la longitud máxima predeterminada.
El símbolo binario en la última posición de bit de la primera señal indica si la señal binaria incluye la segunda señal o no. Esto significa que el símbolo binario en la última posición de bit de la primera señal tiene una gran influencia sobre la eficiencia de codificación. Por tanto, el símbolo binario en la última posición de bit de la primera señal tiene una característica en la aparición de valor diferente de la de los símbolos binarios en las otras posiciones de bits. En vista de esto, es posible aumentar la eficiencia de codificación descodificando de manera aritmética el símbolo binario en la última posición de bit de la primera señal usando el contexto exclusivo para la última posición de bit. Por ejemplo, en la primera descodificación, cada uno de los símbolos binarios en dos o más posiciones de bits distintas de la última posición de bit de la primera señal puede descodificarse de manera aritmética usando un contexto común para las dos o más posiciones de bits.
Con esto, cada uno de los símbolos binarios en dos o más posiciones de bits distintas de la última posición de bit de la primera señal puede descodificarse de manera aritmética usando un contexto común para las dos o más posiciones de bits. Esto reduce el número de contextos en comparación con el caso de usar un contexto diferente para cada posición de bit, y por tanto puede reducirse la capacidad requerida de la memoria.
Por ejemplo, la longitud máxima predeterminada puede variar según el tamaño del bloque actual.
Con esto, la longitud máxima de la primera señal puede hacerse variar según el tamaño del bloque actual que va a descodificarse. Esto hace posible establecer de manera apropiada la longitud máxima de la primera señal, aumentando así la eficiencia de codificación.
Por ejemplo, el método de descodificación de imágenes puede incluir además conmutar un procedimiento de descodificación a o bien un primer procedimiento de descodificación que cumple con una primera norma o bien un segundo procedimiento de descodificación que cumple con una segunda norma, según información de identificación que se añade a un flujo de bits e indica o bien la primera norma o bien la segunda norma, en el que cuando el procedimiento de descodificación se conmuta al primer procedimiento de descodificación, la primera descodificación y la segunda descodificación pueden realizarse como el primer procedimiento de descodificación.
Esto hace posible conmutar entre el primer procedimiento de descodificación que cumple con la primera norma y el segundo procedimiento de descodificación que cumple con la segunda norma.
Debe observarse que estos aspectos generales y específicos pueden implementarse usando un sistema, un aparato, un circuito integrado, un programa informático o un medio de grabación legible por ordenador tal como un CD-ROM, o cualquier combinación de sistemas, aparatos, circuitos integrados, programas informáticos o medios de grabación legibles por ordenador.
A continuación en el presente documento, se describirán realizaciones en detalle usando los dibujos.
Debe observarse que cada una de las realizaciones descritas a continuación muestra un ejemplo general o específico. Los valores numéricos, formas, materiales, elementos estructurales, la disposición y conexión de los elementos estructurales, etapas, el orden de procesamiento de las etapas, etc., mostrados en las siguientes realizaciones son simplemente ejemplos, y por tanto no se pretende que limiten el alcance de las reivindicaciones. Además, entre los elementos estructurales en las siguientes realizaciones, los elementos estructurales no mencionados en ninguna de las reivindicaciones independientes que representan los conceptos más genéricos se describen como elementos estructurales arbitrarios.
(Realización 1)
La figura 7 es un diagrama de bloques que muestra una configuración funcional de un aparato de descodificación de imágenes 100 según la realización 1. El aparato de descodificación de imágenes 100 descodifica la información de última posición.
Tal como se muestra en la figura 7, el aparato de descodificación de imágenes 100 incluye una unidad de descodificación aritmética 110 y una unidad de reconstrucción 104. La unidad de descodificación aritmética 110 incluye una primera unidad de descodificación 101, una segunda unidad de descodificación 102, y una unidad de control de descodificación 103.
El aparato de descodificación de imágenes 100 obtiene un flujo de bits BS que incluye la información de última posición codificada.
La primera unidad de descodificación 101 descodifica de manera aritmética cada símbolo binario incluido en una primera señal que se incluye en una señal binaria de la información de última posición, usando un contexto conmutado entre una pluralidad de contextos según la posición de bit del símbolo binario. En otras palabras, la primera unidad de descodificación 101 descodifica la primera señal mediante descodificación aritmética binaria adaptativa de contexto.
La primera señal es una parte de la señal binaria de la información de última posición, que se ha codificado de manera aritmética usando un contexto conmutado entre una pluralidad de contextos. La primera señal tiene una longitud menor que o igual a una longitud máxima predeterminada. La primera señal corresponde a la parte de prefijo, por ejemplo.
En este caso, cuando la primera señal tiene la longitud máxima predeterminada, la primera unidad de descodificación 101 descodifica de manera aritmética el símbolo binario en la última posición de bit de la primera señal usando un contexto exclusivo para la última posición de bit. En otras palabras, la primera unidad de descodificación 101 descodifica de manera aritmética el símbolo binario en la última posición de bit de la primera señal usando un contexto diferente de contextos usados para la descodificación aritmética de símbolos binarios en las otras posiciones de bits.
Por ejemplo, cuando va a descodificarse la parte de prefijo correspondiente al último valor “7” mostrado en la figura 3C, la primera unidad de descodificación 101 descodifica de manera aritmética el símbolo binario del 8° bit usando un contexto exclusivo para el símbolo binario del 8° bit. En otras palabras, la primera unidad de descodificación 101 descodifica de manera aritmética el símbolo binario del 8° bit usando, como contexto para la posición de bit del 8° bit, un contexto diferente de contextos para las posiciones de bits de los bits 1° a 7°.
Cuando la señal binaria de la información de última posición incluye una segunda señal, la segunda unidad de descodificación 102 descodifica de manera aritmética la segunda señal usando una probabilidad fijada. En otras palabras, la segunda unidad de descodificación 102 descodifica la segunda señal mediante descodificación de derivación.
La segunda señal es una parte de la señal binaria de la información de última posición, que se ha codificado de manera aritmética usando una probabilidad fijada. La segunda señal corresponde a la parte de sufijo, por ejemplo. La unidad de control de descodificación 103 gestiona, para cada parte del flujo de bits BS, si la parte es la componente X o la componente Y de la información de última posición. Debe observarse que no se necesita incluir la unidad de control de descodificación 103 en la unidad de descodificación aritmética 110. Es decir, no se necesita que el aparato de descodificación de imágenes 100 incluya la unidad de control de descodificación 103.
La unidad de reconstrucción 104 reconstruye la componente horizontal o la componente vertical incluida en la información de última posición desbinarizando (i) la señal binaria que incluye la primera señal y no incluye la segunda señal o (ii) la señal binaria que incluye la primera señal y la segunda señal.
A continuación, usando la figura 8A y la figura 8B, lo siguiente describe en detalle operaciones del aparato de descodificación de imágenes 100 que tiene la configuración anterior. A continuación en el presente documento se describe el caso en el que la primera señal es la parte de prefijo y la segunda señal es la parte de sufijo.
La figura 8A es un diagrama de flujo que muestra un ejemplo de operaciones de procesamiento del aparato de descodificación de imágenes 100 según la realización 1. En cuanto a la figura 8A, la parte de prefijo de la componente X, la parte de sufijo de la componente X, la parte de prefijo de la componente Y, y la parte de sufijo de la componente Y se codifican y colocan en el flujo de bits BS en este orden. Debe observarse que en algunos casos la parte de sufijo de cada componente no se incluye en el flujo de bits BS dependiendo del valor de la componente. En primer lugar, la primera unidad de descodificación 101 descodifica, a partir del flujo de bits BS, la parte de prefijo codificada de la componente X mediante descodificación aritmética binaria adaptativa de contexto (S101). Por ejemplo, la primera unidad de descodificación 101 descodifica de manera aritmética la parte de prefijo codificada para un bit cada vez hasta que se alcanza una longitud máxima predeterminada o hasta que se descodifica “1”. Debe observarse que la conmutación de contexto se describirá más adelante.
A continuación, la primera unidad de descodificación 101 determina si la señal binaria de la componente X incluye la parte de sufijo o no (S102). Por ejemplo, la primera unidad de descodificación 101 determina que la señal binaria de la componente X incluye la parte de sufijo cuando la parte de prefijo tiene la longitud máxima predeterminada y los valores de símbolo binario incluidos en la parte de prefijo son todos “0”.
Debe observarse que la longitud máxima de la parte de prefijo se predetermina según el tamaño transformado, por ejemplo. Por ejemplo, la longitud máxima de la parte de prefijo se determina de la manera mostrada en la figura 9B o la figura 9C.
En este caso, cuando la señal binaria de la componente X incluye la parte de sufijo (Sí en S102), la segunda unidad de descodificación 102 descodifica la parte de sufijo codificada de la componente X mediante descodificación de derivación (S103). Por otro lado, cuando la señal binaria de la componente X no incluye la parte de sufijo (No en S102), se omite la etapa S103.
A continuación, la unidad de reconstrucción 104 reconstruye la componente X de la información de última posición desbinarizando la señal binaria de la componente X que incluye tanto la parte de prefijo como la parte de sufijo o que incluye únicamente la parte de prefijo (S104).
Después de eso, la primera unidad de descodificación 101 descodifica, a partir del flujo de bits BS, la parte de prefijo codificada de la componente Y mediante la descodificación aritmética binaria adaptativa de contexto (S105). Más específicamente, la primera unidad de descodificación 101 descodifica la parte de prefijo de la componente Y de la misma manera que la descodificación de la parte de prefijo de la componente X.
Entonces, la primera unidad de descodificación 101 determina si la señal binaria de la componente Y incluye la parte de sufijo o no (S106). Más específicamente, la primera unidad de descodificación 101 determina si la señal binaria de la componente Y incluye la parte de sufijo o no de la misma manera que la determinación en cuanto a si la señal binaria de la componente X incluye la parte de sufijo o no.
En este caso, cuando la señal binaria de la componente Y incluye la parte de sufijo (Sí en S106), la segunda unidad de descodificación 102 descodifica la parte de sufijo codificada de la componente Y mediante descodificación de derivación (S107). Por otro lado, cuando la señal binaria de la componente Y no incluye la parte de sufijo (No en S106), se omite la etapa S107.
Por último, la unidad de reconstrucción 104 reconstruye la componente Y de la información de última posición desbinarizando la señal binaria de la componente Y que incluye tanto la parte de prefijo como la parte de sufijo o que incluye únicamente la parte de prefijo (S108).
A continuación, lo siguiente describe el caso en el que la parte de prefijo y la parte de sufijo de cada componente se colocan en el flujo de bits en un orden diferente del de la figura 8A.
La figura 8B es un diagrama de flujo que muestra otro ejemplo de operaciones de procesamiento del aparato de descodificación de imágenes 100 según la realización 1. Debe observarse que en la figura 8B, los procedimientos realizados en las etapas indicadas mediante los mismos signos de referencia que los de la figura 8A son básicamente los mismos que los procedimientos descritos en la figura 8A. Además, en este caso, se supone que un indicador de sufijo se establece a “OFF” (desactivado) como valor por defecto. Debe observarse que el indicador de sufijo es un indicador interno que indica si la señal binaria de la componente X de la información de última posición incluye la parte de sufijo o no.
En cuanto a la figura 8B, la parte de prefijo de la componente X, la parte de prefijo de la componente Y, la parte de sufijo de la componente Y, y la parte de sufijo de la componente X se codifican y colocan en el flujo de bits BS en este orden. Debe observarse que en algunos casos la parte de sufijo de cada componente no se incluye en el flujo de bits BS dependiendo del valor de la componente, como en el caso de la figura 8A.
En primer lugar, la primera unidad de descodificación 101 descodifica la parte de prefijo codificada de la componente X mediante descodificación aritmética binaria adaptativa de contexto (S101). Entonces, la primera unidad de descodificación 101 determina si la señal binaria de la componente X incluye la parte de sufijo o no (S102). En este caso, cuando la señal binaria de la componente X incluye la parte de sufijo (Sí en S102), la primera unidad de descodificación 101 establece el indicador de sufijo a “ON” (activado) (S111).
Por otro lado, cuando la señal binaria de la componente X no incluye la parte de sufijo (No en S102), la primera unidad de descodificación 101 no establece el indicador de sufijo a “ON”. En otras palabras, el indicador de sufijo permanece en “OFF”, que es el valor por defecto. Debe observarse que la primera unidad de descodificación 101 puede establecer el indicador de sufijo a “OFF” en este caso.
A continuación, desde la etapa S105 hasta la etapa S108, se realiza un procedimiento relacionado con la componente Y de la misma manera que en la figura 8A.
Después de eso, la segunda unidad de descodificación 102 determina si el indicador de sufijo se establece a “ON” o no (S112). En este caso, cuando el indicador de sufijo se establece a “ON” (Sí en S112), la segunda unidad de descodificación 102 descodifica la parte de sufijo de la componente X mediante descodificación de derivación (S103). Por otro lado, cuando el indicador de sufijo no se establece a “ON” (No en S112), se omite la etapa S103. Por último, la unidad de reconstrucción 104 reconstruye la componente X de la información de última posición desbinarizando la señal binaria de la componente X que incluye tanto la parte de prefijo como la parte de sufijo o que incluye únicamente la parte de prefijo (S104).
Descodificando consecutivamente las partes de prefijo de la componente X y la componente Y, y descodificando consecutivamente las partes de sufijo de la componente X y la componente Y de esta manera, se hace posible reducir el número de veces que se conmutan los métodos de descodificación aritmética (descodificación aritmética binaria adaptativa de contexto y descodificación de derivación). Esto permite que la unidad de descodificación aritmética 110 descodifique de manera aritmética la información de última posición codificada de manera eficiente. Además, descodificando consecutivamente las partes de sufijo de la componente X y la componente Y se hace más fácil realizar la descodificación de derivación en paralelo, aumentando así la velocidad de procesamiento.
Además, descodificando consecutivamente la parte de prefijo y la parte de sufijo de y la componente Y se elimina la necesidad de establecer el indicador de sufijo para la componente Y. En otras palabras, puede reducirse la capacidad requerida de la memoria en comparación con el caso de descodificar la parte de prefijo de la componente X, la parte de prefijo de la componente Y, la parte de sufijo de la componente X, y la parte de sufijo de la componente Y en este orden.
A continuación, lo siguiente describe un ejemplo del procedimiento de descodificación en las partes de sufijo codificadas de la componente X y la componente Y (S108 y S111). En el presente documento se describe el caso en el que las partes de sufijo se binarizan mediante codificación de Golomb-Rice.
Con la codificación de Golomb-Rice, no se fija la longitud de cada parte de sufijo. La parte de sufijo puede dividirse en dos partes, la primera mitad y la segunda mitad.
La segunda mitad es una parte de longitud fija que tiene una longitud indicada por un parámetro de Rice (denominado a continuación en el presente documento “RP”).
La primera mitad puede representarse mediante: “1” que aumenta en la unidad de un número que puede representarse por 2 a la potencia RP (2RP) (por ejemplo, en la unidad de “4” cuando RP es “2”); y “0” que se establece en la última posición de bit. Más específicamente, cuando RP es “2”, la longitud de la primera mitad aumenta en 1 bit para cada unidad de 2 a la potencia RP de la siguiente manera: 0, 0, 0, 0, 10, 10, 10, 10, 110, 110, 110, 110, ....
Debe observarse que en este caso se conoce la cantidad de información que va a representarse mediante la parte de sufijo, y por tanto es posible omitir el último “0” de la primera mitad cuando la primera mitad tiene la longitud máxima. Por ejemplo, cuando RP es “2” y la cantidad máxima de información es “12”, la primera mitad puede representarse mediante uno cualquiera de 0, 0, 0, 0, 10, 10, 10, 10, 11, 11, 11 y 11. Al omitir el último “0” de la primera mitad de esta manera, la cantidad de codificación de la señal binaria puede reducirse en 1 bit.
La cantidad máxima de información puede representarse mediante la diferencia entre la longitud en el tamaño transformado y la longitud de la parte de prefijo. Esto reduce el/los bit(s) redundante(s).
Es suficiente siempre que RP se predetermine según el tamaño transformado tal como se muestra en la figura 9D o la figura 9E, por ejemplo. Esto hace posible representar la parte de sufijo con una señal binaria que tiene una longitud adaptada al tamaño transformado, y por tanto, puede aumentarse la eficiencia de codificación.
Lo siguiente describe, usando la figura 9A, operaciones de la segunda unidad de descodificación 102 para descodificar la parte de sufijo binarizada mediante codificación de Golomb-Rice tal como se describió anteriormente. La figura 9A es un diagrama de flujo que muestra un ejemplo de operaciones de procesamiento de la segunda unidad de descodificación 102 según la realización 1.
En primer lugar, la segunda unidad de descodificación 102 establece un valor de RP (S201). Más específicamente, la segunda unidad de descodificación 102 consulta una tabla predeterminada, por ejemplo, para establecer el valor de RP. La tabla predeterminada en este caso es una tabla mostrada en la figura 9D o la figura 9E, por ejemplo. Debe observarse que la segunda unidad de descodificación 102 puede establecer el valor de RP sin consultar la tabla. El establecimiento del valor de RP se describirá más adelante en detalle usando la figura 10A a la figura 10D. A continuación, la segunda unidad de descodificación 102 establece un valor máx. (S202). En este caso, el valor máx. indica el valor máximo de la longitud de la primera mitad del código de Golomb-Rice. Más específicamente, el valor máx. indica la longitud más corta de la señal binaria que puede representar un valor obtenido restando la longitud máxima de la parte de prefijo del valor máximo del último valor. Por tanto, la segunda unidad de descodificación 102 deriva el valor máx. (i) restando la longitud de la parte de prefijo del valor máximo del último valor y (ii) dividiendo el valor resultante entre 2 a la potencia RP o realizando una operación de desplazamiento a la derecha con el valor resultante en RP bit(s).
Debe observarse que la longitud máxima de la parte de prefijo puede hacerse variar según el tamaño transformado tal como se muestra en la figura 9B o la figura 9C.
A continuación, la segunda unidad de descodificación 102 descodifica, a partir del flujo de bits BS, una señal correspondiente a 1 bit del código de Golomb-Rice mediante descodificación de derivación, e incrementa el valor de recuento (por defecto es “0”) en 1 (S203).
En este caso, cuando la señal descodificada correspondiente a 1 bit es “0” (Sí en S204), la descodificación de la primera mitad del código de Golomb-Rice termina, y el procedimiento avanza a la etapa S206.
Por otro lado, cuando la señal descodificada no es “0” (cuando la señal descodificada es “1”) (No en S204), se determina si el valor de recuento es igual al valor máx. o no (S205). En este caso, cuando el valor de recuento no es igual al valor máx. (No en S205), el procedimiento vuelve a la etapa S203. Más específicamente, la segunda unidad de descodificación 102 descodifica una señal correspondiente al siguiente 1 bit del código de Golomb-Rice mediante descodificación de derivación.
Por otro lado, cuando el valor de recuento es igual al valor máx. (Sí en S205), la descodificación de la primera mitad de la parte de sufijo termina, y el procedimiento avanza a la etapa S206.
A continuación, la segunda unidad de descodificación 102 descodifica la segunda mitad del código de Golomb-Rice (una señal binaria que tiene una longitud fija de RP bit(s)) mediante descodificación de derivación (S206).
Por último, la segunda unidad de descodificación 102 reconstruye el valor representado mediante codificación de Golomb-Rice (S207). En este caso, el valor se reconstruye sumando la segunda mitad del código de Golomb-Rice y un valor obtenido mediante desplazamiento, a la izquierda en los RP bit(s), de un valor obtenido restando 1 del valor representado por la primera mitad del código de Golomb-Rice.
Debe observarse que en algunos casos el valor de la señal binaria de la segunda mitad se binariza en forma de un valor invertido. En tales casos, la segunda unidad de descodificación 102 realiza la reconstrucción teniendo en cuenta esta inversa. Debe observarse que es suficiente siempre que el aparato de descodificación y el aparato de codificación determinen por adelantado si el valor de la señal binaria debe invertirse o no. Ni la eficiencia de codificación ni la carga de procesamiento se ven afectadas independientemente de si el valor de la señal binaria se invierte o no.
A continuación, lo siguiente describe, usando la figura 10A a la figura 10D, un método de determinación del valor de RP y la longitud máxima de la parte de prefijo.
La figura 10A muestra un método de determinación del valor de RP y la longitud máxima de la parte de prefijo según el tamaño transformado.
En primer lugar, la segunda unidad de descodificación 102 obtiene el tamaño transformado (S301). Entonces, la segunda unidad de descodificación 102 consulta una tabla tal como se muestra en la figura 9D o la figura 9E que indica una relación entre el tamaño transformado y el valor de RP, para determinar el valor de RP asociado con el tamaño transformado obtenido (S302). Además, la segunda unidad de descodificación 102 consulta una tabla tal como se muestra en la figura 9B o la figura 9C que indica una relación entre el tamaño transformado y la longitud máxima de la parte de prefijo, para determinar la longitud máxima de la parte de prefijo (S303).
La figura 10B muestra un método de determinación del valor de RP y la longitud máxima de la parte de prefijo según información de predicción.
En primer lugar, la segunda unidad de descodificación 102 obtiene información de predicción (S311). La información de predicción es información relacionada con la predicción de un bloque transformado que es un bloque actual que va a descodificarse. Por ejemplo, la información de predicción indica si el bloque transformado tiene que descodificarse mediante intra-predicción o inter-predicción. Además, por ejemplo, la información de predicción puede ser información que indica una dirección de predicción en intra-predicción.
A continuación, la segunda unidad de descodificación 102 determina el valor de RP basándose en la información de predicción (S312). Por ejemplo, se sabe que en el caso de inter-predicción, generalmente hay menos componentes de alta frecuencia que en la intra-predicción. Por tanto, cuando la información de predicción indica inter-predicción, es suficiente siempre que la segunda unidad de descodificación 102 determine un valor de RP de este tipo que permite que la componente X y la componente Y que tienen valores pequeños se representen mediante señales binarias cortas. Más específicamente, cuando la información de predicción indica inter-predicción, es suficiente siempre que la segunda unidad de descodificación 102 determine un valor de RP menor que un valor de RP determinado cuando la información de predicción indica intra-predicción.
Además, cuando la dirección de intra-predicción es la dirección horizontal, generalmente se espera que la componente Y de la información de última posición sea menor que la componente X. En vista de esto, cuando la dirección de predicción de intra-predicción es la dirección horizontal, es suficiente siempre que la segunda unidad de descodificación 102 determine, como valor de RP de la componente Y, un valor de RP menor que el valor de RP de la componente X. Debe observarse que cuando la dirección de predicción de intra-predicción es la dirección vertical, es suficiente siempre que la segunda unidad de descodificación 102 determine, como valor de RP de la componente X, un valor de RP menor que el valor de RP de la componente Y.
Por último, la segunda unidad de descodificación 102 determina la longitud máxima de la parte de prefijo basándose en la información de predicción (S313).
Tal como se describió anteriormente, la segunda unidad de descodificación 102 puede variar la longitud de código de la señal binaria según la información de predicción, y por tanto, puede aumentarse la eficiencia de codificación. La figura 10C muestra un método de determinación del valor de RP y la longitud máxima de la parte de prefijo según información estadística.
En primer lugar, la segunda unidad de descodificación 102 obtiene información estadística (S321). La información estadística es, por ejemplo, información sobre datos estadísticos de la longitud de la señal binaria de la componente X o la componente Y incluidos en la información de última posición de un bloque anteriormente descodificado.
A continuación, la segunda unidad de descodificación 102 determina el valor de RP basándose en la información estadística (S322). Por último, la segunda unidad de descodificación 102 determina la longitud máxima de la parte de prefijo basándose en la información estadística (S323).
Tal como se describió anteriormente, la segunda unidad de descodificación 102 puede hacer variar la longitud de código de la señal binaria según la información estadística, y por tanto, la eficiencia de codificación puede aumentarse adicionalmente.
La figura 10D muestra un método de determinación del valor de RP y la longitud máxima de la parte de prefijo según una componente anteriormente descodificada de la componente X y la componente Y.
En primer lugar, la segunda unidad de descodificación 102 obtiene una componente anteriormente descodificada de la componente X y la componente Y (S331). Por ejemplo, la segunda unidad de descodificación 102 obtiene una componente X anteriormente descodificada cuando se descodifica una componente Y codificada. Además, por ejemplo, la segunda unidad de descodificación 102 puede obtener una componente Y anteriormente descodificada cuando se descodifica una componente X codificada.
Entonces, la segunda unidad de descodificación 102 determina, usando la componente anteriormente descodificada de la componente X y la componente Y, el valor de RP de la otra, aún por descodificar, de la componente X y la componente Y (S332). Generalmente, es probable que la componente X y la componente Y tengan valores iguales o similares. Por tanto, cuando el valor de una componente X anteriormente descodificada es menor que un determinado valor (por ejemplo, la mitad del tamaño transformado), por ejemplo, la segunda unidad de descodificación 102 determina, como valor de RP de la componente Y, un valor menor que el valor de RP de la componente X.
Por último, la segunda unidad de descodificación 102 determina, usando la componente anteriormente descodificada de la componente X y la componente Y, la longitud máxima de la parte de prefijo de la otra, aún por descodificar, de la componente X y la componente Y (S333).
Tal como se describió anteriormente, la segunda unidad de descodificación 102 puede hacer variar la longitud de código de la señal binaria según una componente anteriormente descodificada de la componente X y la componente Y, y por tanto, puede aumentarse adicionalmente la eficiencia de codificación.
Debe observarse que los métodos de determinación del valor de RP y la longitud máxima de la parte de prefijo mostrados en la figura 10A a la figura 10D pueden usarse en combinación. Por ejemplo, cuando no hay ninguna información que consultar, la segunda unidad de descodificación 102 puede determinar el valor de RP basándose en una tabla predeterminada, mientras que cuando hay información que consultar, la segunda unidad de descodificación 102 puede determinar el valor de RP según la información que puede consultarse.
Además, la segunda unidad de descodificación 102 puede determinar la longitud máxima de la parte de prefijo de la misma manera que el valor de RP. Debe observarse que cuando se predice que los valores de la componente X y la componente Y son grandes, es suficiente siempre que la segunda unidad de descodificación 102 determine que la longitud máxima de la parte de prefijo es más corta que cuando se predice que la componente X y la componente Y son pequeñas. Reducir la longitud de prefijo de esta manera reduce el número de contextos necesarios.
A continuación, lo siguiente describe los contextos usados para descodificar la información de última posición mediante descodificación aritmética binaria adaptativa de contexto.
La figura 11A es un diagrama que muestra un ejemplo de una relación entre posiciones de bits y contextos según la realización 1. La figura 11B es un diagrama que muestra un ejemplo de una relación entre posiciones de bits y contextos según un ejemplo comparable.
La figura 11A y la figura 11B muestran una relación entre posiciones de bits y contextos para cuatro tipos de tamaño transformado (4x4, 8x8, 16x16 y 32x32). En la figura 11A y la figura 11B, los bloques rectangulares dispuestos en la dirección horizontal corresponden a las posiciones de bits del 1er bit, el 2° bit, el 3er bit, etc., en secuencia desde la izquierda. Además, el valor numérico en cada bloque es un valor de índice del contexto usado para derivar una probabilidad que va a usarse en la descodificación del símbolo binario en esa posición de bit.
En la figura 11A hay 16 tipos (de 0 a 15) de contextos usados en la descodificación de la parte de prefijo. Además, en la figura 11A, la longitud máxima de la parte de prefijo es “3”, “4”, “4” y “8” para el tamaño transformado de 4x4, 8x8, 16x16 y 32x32, respectivamente.
En cuanto a la figura 11A, cuando el tamaño transformado es de 8x8, por ejemplo, se usa un valor de probabilidad derivado del contexto identificado mediante un valor de índice de “3” como valor de probabilidad para descodificar el símbolo binario del 1er bit de la parte de prefijo. De manera similar, se usa un valor de probabilidad derivado del contexto identificado mediante un valor de índice de “4” como valor de probabilidad para descodificar los símbolos binarios del 2° bit y el 3er bit. De manera similar, se usa un valor de probabilidad derivado del contexto identificado mediante un valor de índice de “5” como valor de probabilidad para descodificar el símbolo binario del 4° bit.
De tal manera, en cuanto a la figura 11A, el símbolo binario en la última posición de bit de la parte de prefijo se descodifica de manera aritmética usando un contexto exclusivo para la última posición de bit. En otras palabras, el contexto para la última posición de bit es un contexto diferente de los contextos para las otras posiciones de bits. El símbolo binario en la última posición de bit de la parte de prefijo indica si la señal binaria de la componente X o la componente Y incluye la parte de sufijo o no. Esto significa que el símbolo binario en la última posición de bit de la parte de prefijo tiene una gran influencia sobre la eficiencia de codificación. Por tanto, el símbolo binario en la última posición de bit de la parte de prefijo tiene una característica en la aparición de símbolo diferente de la de los símbolos binarios en las otras posiciones de bits. En vista de esto, la eficiencia de codificación puede aumentarse descodificando el símbolo binario en la última posición de bit de la parte de prefijo usando el contexto exclusivo para la última posición de bit.
Además, un contexto puede ser común para una pluralidad de posiciones de bits, tales como las posiciones de bits del 2° bit y el 3er bit para el tamaño transformado de 8x8 o las posiciones de bits del 5° bit al 7° bit para el tamaño transformado de 32x32 en la figura 11A. En otras palabras, cada uno de los símbolos binarios en dos o más posiciones de bits distintas de la última posición de bit de la parte de prefijo pueden descodificarse de manera aritmética usando un contexto común para las dos o más posiciones de bits.
Esto reduce el número de contextos en comparación con el caso de usar un contexto diferente para cada posición de bit, y por tanto puede reducirse la capacidad requerida de la memoria.
Debe observarse que, aunque en la figura 11A el símbolo binario en la última posición de bit de la parte de prefijo se descodifica usando el contexto exclusivo para la última posición de bit para todos los tamaños transformados predeterminados, no se necesita que el símbolo binario en la última posición de bit se descodifique necesariamente de esta manera para todos los tamaños transformados. En otras palabras, un contexto puede ser común para la última posición de bit y otra posición de bit de la parte de prefijo para algunos de los tamaños transformados.
Por ejemplo, cuando la parte de sufijo tiene una longitud fija de 1 bit, un contexto puede ser común para la última posición de bit de la parte de prefijo y una posición de bit que precede inmediatamente a la última posición de bit. Esto permite la estimación estable de la probabilidad incluso cuando el flujo de bits incluye pocas partes de prefijo que tienen la longitud máxima predeterminada, por ejemplo. Por ejemplo, la eficiencia de codificación puede aumentarse en el caso en el que la última posición se cambie de manera dinámica con la longitud de código tenida en cuenta en el momento de la codificación.
Tal como se ha descrito hasta ahora, el aparato de descodificación de imágenes 100 según la presente realización puede descodificar de manera aritmética el símbolo binario en la última posición de bit de la primera señal usando el contexto exclusivo para la última posición de bit. Es decir, el aparato de descodificación de imágenes 100 puede descodificar de manera aritmética la información de última posición usando un contexto conmutado de manera apropiada entre una pluralidad de contextos, y por tanto, puede aumentarse la eficiencia de codificación.
Debe observarse que los valores de RP y las longitudes máximas de la parte de prefijo mostrados en la figura 9B a la figura 9E son simples ejemplos, y puede haber diferentes valores de RP y diferentes longitudes máximas de la parte de prefijo. Por ejemplo, la longitud máxima de la parte de prefijo puede ser más corta y la parte de sufijo puede ser más larga. Esto permite adicionalmente la descodificación aritmética en paralelo y aumenta adicionalmente la velocidad de descodificación aritmética.
Debe observarse que cada uno de los elementos estructurales en la presente realización puede configurarse en forma de un producto de hardware exclusivo, o puede implementarse ejecutando un programa de software adecuado para el elemento estructural. Cada elemento estructural puede implementarse por medio de una unidad de ejecución de programa, 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 de semiconductor. En este caso, el programa de software para implementar el aparato de descodificación de imágenes según la presente realización es un programa descrito a continuación.
Este programa hace que un ordenador ejecute un método de descodificación de imágenes para descodificar información de última posición que indica una posición de un último coeficiente distinto de cero en un orden predeterminado en un bloque actual que va a descodificarse, incluyendo el método de descodificación de imágenes: una primera descodificación para descodificar de manera aritmética cada uno de los símbolos binarios incluidos en una primera señal usando un contexto conmutado entre una pluralidad de contextos según una posición de bit del símbolo binario, incluyéndose la primera señal en una señal binaria de la información de última posición y teniendo una longitud menor que o igual a una longitud máxima predeterminada; y una segunda descodificación para, cuando la señal binaria de la información de última posición incluye una segunda señal, descodificar de manera aritmética la segunda señal usando una probabilidad fijada, en el que, en la primera descodificación, un símbolo binario en una última posición de bit de la primera señal se descodifica de manera aritmética usando un contexto exclusivo para la última posición de bit, cuando la primera señal tiene la longitud máxima predeterminada.
(Variación de la realización 1)
El aparato de descodificación de imágenes 100 según la realización 1 puede incluirse en un aparato de descodificación de imágenes a continuación. La figura 12 es un diagrama de bloques que muestra un ejemplo de una configuración de un aparato de descodificación de imágenes 200 según una variación de la realización 1.
El aparato de descodificación de imágenes 200 descodifica datos de imagen codificados generados mediante codificación por compresión. Por ejemplo, el aparato de descodificación de imágenes 200 recibe datos de imagen codificados para un bloque cada vez como señal actual que va a descodificarse. El aparato de descodificación de imágenes 200 realiza descodificación de longitud variable, cuantificación inversa y transformada inversa con la señal actual recibida para reconstruir datos de imagen.
Tal como se muestra en la figura 12, el aparato de descodificación de imágenes 200 incluye una unidad de descodificación por entropía 210, una unidad de cuantificación inversa y transformada inversa 220, un sumador 225, un filtro de desbloqueo 230, una memoria 240, una unidad de intra-predicción 250, una unidad de compensación de movimiento 260 y un conmutador de intra/inter-predicción 270.
La unidad de descodificación por entropía 210 realiza la descodificación de longitud variable con una señal de entrada (flujo de bits) para reconstruir coeficientes cuantificados. En este caso, la señal de entrada es una señal actual que va a descodificarse y corresponde a datos para un bloque cada vez de los datos de imagen codificados. Los datos de imagen codificados incluyen la información de última posición codificada. Además, la unidad de descodificación por entropía 210 obtiene datos de movimiento a partir de la señal de entrada y emite los datos de movimiento a la unidad de compensación de movimiento 260.
Debe observarse que el aparato de descodificación de imágenes 100 según la realización 1 corresponde a parte de la unidad de descodificación por entropía 210. Es decir, la unidad de descodificación por entropía 210 descodifica la información de última posición codificada.
La unidad de cuantificación inversa y transformada inversa 220 realiza la cuantificación inversa con los coeficientes cuantificados reconstruidos por la unidad de descodificación por entropía 210, para reconstruir coeficientes transformados. Entonces, la unidad de cuantificación inversa y transformada inversa 220 realiza la transformada inversa sobre los coeficientes transformados para reconstruir un error de predicción.
El sumador 225 suma el error de predicción y una señal de predicción para generar una imagen descodificada. El filtro de desbloqueo 230 aplica un filtro de desbloqueo a la imagen descodificada. La imagen descodificada resultante se emite como señal descodificada.
La memoria 240 es una memoria para almacenar una imagen de referencia usada en la compensación de movimiento. Más específicamente, la memoria 240 almacena la imagen descodificada a la que se le ha aplicado el filtro de desbloqueo.
La unidad de intra-predicción 250 realiza la intra-predicción para generar una señal de predicción (señal de intrapredicción). Más específicamente, la unidad de intra-predicción 250 genera una señal de intra-predicción realizando la intra-predicción mediante referencia a una imagen circundante al bloque actual que va a descodificarse (señal de entrada) en la imagen descodificada generada mediante el sumador 225.
La unidad de compensación de movimiento 260 realiza la compensación de movimiento basándose en los datos de movimiento emitidos por la unidad de descodificación por entropía 210, para generar una señal de predicción (señal de inter-predicción).
El conmutador de intra/inter-predicción 270 selecciona o bien la señal de intra-predicción o bien la señal de inter­ predicción, y emite la señal seleccionada al sumador 225 como señal de predicción.
Con la configuración anterior, el aparato de descodificación de imágenes 200 descodifica los datos de imagen codificados generados mediante codificación por compresión.
(Realización 2)
Lo siguiente describe un aparato de codificación de imágenes según la realización 2 usando los dibujos.
La figura 13 es un diagrama de bloques que muestra una configuración funcional de un aparato de codificación de imágenes 300 según la realización 2. El aparato de codificación de imágenes 300 codifica la información de última posición. El aparato de codificación de imágenes 300 incluye una unidad de binarización 310 y una unidad de codificación aritmética 320. La unidad de codificación aritmética 320 incluye una primera unidad de codificación 321, una segunda unidad de codificación 322, y una unidad de control de codificación 323.
La unidad de binarización 310 binariza la información de última posición para generar (i) una señal binaria que incluye la primera señal que tiene una longitud menor que o igual a la longitud máxima predeterminada y no incluye la segunda señal o (ii) una señal binaria que incluye la primera señal que tiene la longitud máxima predeterminada y la segunda señal.
La primera señal es una señal codificada de manera aritmética usando un contexto conmutado entre una pluralidad de contextos. La primera señal corresponde a la parte de prefijo, por ejemplo.
La segunda señal es una señal codificada de manera aritmética usando una probabilidad fijada. La segunda señal corresponde a la parte de sufijo, por ejemplo.
La primera unidad de codificación 321 codifica de manera aritmética cada uno de los símbolos binarios incluidos en la primera señal, usando un contexto conmutado entre una pluralidad de contextos según la posición de bit del símbolo binario. En otras palabras, la primera unidad de codificación 321 codifica la primera señal mediante codificación aritmética binaria adaptativa de contexto.
En este caso, cuando la primera señal tiene la longitud máxima predeterminada, la primera unidad de codificación 321 codifica de manera aritmética el símbolo binario en la última posición de bit de la primera señal usando un contexto exclusivo para la última posición de bit. En otras palabras, la primera unidad de codificación 321 codifica de manera aritmética el símbolo binario en la última posición de bit de la primera señal que tiene la longitud máxima predeterminada, usando un contexto diferente de contextos usados para símbolos binarios en posiciones de bits distintas de la última posición de bit.
La segunda unidad de codificación 322 codifica de manera aritmética la segunda señal usando una probabilidad fijada cuando la señal binaria incluye la segunda señal. En otras palabras, la segunda unidad de codificación 322 codifica la segunda señal mediante codificación de derivación.
A continuación, usando la figura 14A y la figura 14B, lo siguiente describe operaciones del aparato de codificación de imágenes 300 que tienen la configuración anterior. A continuación en el presente documento se describe el caso en el que la primera señal es la parte de prefijo y la segunda señal es la parte de sufijo. Debe observarse que se supone que el indicador de sufijo se establece a “OFF” como valor por defecto.
La figura 14A es un diagrama de flujo que muestra un ejemplo de operaciones de procesamiento del aparato de codificación de imágenes 300 según la realización 2. De manera más específica, la figura 14A muestra un método de codificación para generar un flujo de bits que puede descodificarse mediante el método de descodificación mostrado en la figura 8A.
En primer lugar, la unidad de binarización 310 binariza cada una de la componente X y la componente Y de la información de última posición (S401). Más específicamente, la unidad de binarización 310 binariza cada una de la componente X y la componente Y (últimos valores) tal como se muestra en la figura 15, por ejemplo. En este caso, la parte de sufijo se binariza mediante codificación de Golomb-Rice.
A continuación, la primera unidad de codificación 321 codifica, mediante codificación aritmética binaria adaptativa de contexto, la parte de prefijo de la componente X incluida en la información de última posición (S402).
La codificación aritmética binaria adaptativa de contexto es la codificación correspondiente a la descodificación aritmética binaria adaptativa de contexto mostrada en la figura 4. Con codificación aritmética binaria adaptativa de contexto, se conmutan contextos según una condición, y se obtiene una probabilidad de aparición de símbolo correspondiente al contexto al que se conmuta. Entonces, se codifica de manera aritmética un símbolo binario usando la probabilidad de aparición de símbolo obtenida. Además, se actualiza el valor de probabilidad correspondiente al contexto según el valor de símbolo binario codificado (véase el documento NPL 1).
En este caso, como en la realización 1, cuando la parte de prefijo tiene la longitud máxima predeterminada, la primera unidad de codificación 321 codifica de manera aritmética el símbolo binario en la última posición de bit de la parte de prefijo usando un contexto exclusivo para la última posición de bit.
Debe observarse que la primera unidad de codificación 321 puede codificar de manera aritmética cada uno de los símbolos binarios en dos o más posiciones de bits distintas de la última posición de bit de la parte de prefijo usando un contexto común para las dos o más posiciones de bits. Esto permite que la primera unidad de codificación 321 reduzca el número de contextos en comparación con el caso de usar un contexto diferente para cada posición de bit, y por tanto, puede reducirse la capacidad requerida de la memoria.
A continuación, la primera unidad de codificación 321 determina si la señal binaria de la componente X incluye la parte de sufijo o no (S403). Más específicamente, la primera unidad de codificación 321 determina si la señal binaria de la componente X incluye la parte de sufijo o no de la misma manera que en la etapa S102 en la figura 8A.
En este caso, cuando la señal binaria de la componente X incluye la parte de sufijo (Sí en S403), la segunda unidad de codificación 322 codifica la parte de sufijo de la componente X mediante codificación de derivación (S404). Por otro lado, cuando la señal binaria de la componente X no incluye la parte de sufijo (No en S403), se omite la etapa S404.
A continuación, la primera unidad de codificación 321 codifica la parte de prefijo de la componente Y mediante codificación aritmética binaria adaptativa de contexto (S405). En este caso, la primera unidad de codificación 321 codifica la parte de prefijo de la componente Y de la misma manera que en la etapa S402.
Entonces, la primera unidad de codificación 321 determina si la señal binaria de la componente Y incluye la parte de sufijo o no (S406). En este caso, la primera unidad de codificación 321 determina si la señal binaria de la componente Y incluye la parte de sufijo o no de la misma manera que en la etapa S403.
En este caso, cuando la señal binaria de la componente Y incluye la parte de sufijo (Sí en S406), la segunda unidad de codificación 322 codifica la parte de sufijo de la componente Y mediante codificación de derivación (S407). Por otro lado, cuando la señal binaria de la componente Y no incluye la parte de sufijo (No en S406), se omite la etapa S407.
Esta es la manera en la que se codifica la información de última posición.
A continuación, lo siguiente describe el caso en el que la parte de prefijo y la parte de sufijo de cada componente se codifican en un orden diferente del de la figura 14A.
La figura 14B es un diagrama de flujo que muestra otro ejemplo de operaciones de procesamiento del aparato de codificación de imágenes 300 según la realización 2. De manera más específica, la figura 14B muestra un método de codificación para generar un flujo de bits que puede descodificarse mediante el método de descodificación mostrado en la figura 8B. Debe observarse que, en la figura 14B, los procedimientos realizados en etapas indicadas con los mismos signos de referencia que los de la figura 14A son básicamente los mismos que los procedimientos descritos en la figura 14A.
En primer lugar, la unidad de binarización 310 binariza cada una de la componente X y la componente Y de la información de última posición (S401). A continuación, la primera unidad de codificación 321 codifica, mediante codificación aritmética binaria adaptativa de contexto, la parte de prefijo de la componente X incluida en la información de última posición (S402). A continuación, la primera unidad de codificación 321 determina si la señal binaria de la componente X incluye la parte de sufijo o no (S403).
En este caso, cuando la señal binaria de la componente X incluye la parte de sufijo (Sí en S403), la primera unidad de codificación 321 establece el indicador de sufijo a “ON” (S411). Por otro lado, cuando la señal binaria de la componente X no incluye la parte de sufijo (No en S403), la primera unidad de codificación 321 no establece el indicador de sufijo de la componente X a “ON”. En otras palabras, el indicador de sufijo de la componente X permanece en “OFF”. Debe observarse que la primera unidad de codificación 321 puede establecer el indicador de sufijo de la componente X a “OFF” en este caso.
A continuación, desde la etapa S405 hasta la etapa S407, se realiza un procedimiento relacionado con la componente Y de la misma manera que en la figura 14A.
Después de eso, la segunda unidad de codificación 322 determina si el indicador de sufijo se establece a “ON” o no (S412). En este caso, cuando el indicador de sufijo se establece a “ON” (Sí en S412), la segunda unidad de codificación 322 codifica la parte de sufijo de la componente X mediante codificación de derivación (S404). Por otro lado, cuando el indicador de sufijo no se establece a “ON” (No en S412), se omite la etapa S404.
Codificando consecutivamente la parte de prefijo y la parte de sufijo de la componente Y de la manera anteriormente descrita, es posible codificar la señal binaria de la componente Y sin retener, en una memoria, información que indica si la señal binaria de la componente Y incluye la parte de sufijo o no (por ejemplo, el indicador de sufijo de la componente Y). Esto reduce la capacidad requerida de la memoria.
A continuación, usando la figura 15, lo siguiente describe brevemente un método de codificación de la parte de prefijo y la parte de sufijo incluidas en la información de última posición.
La figura 15 es un diagrama que muestra un ejemplo de señales binarias de la información de última posición cuando el tamaño de bloque es de 16x16. En la figura 15, la longitud máxima de la parte de prefijo es “4” y RP es “2”.
Cuando la parte de prefijo es más corta que la longitud máxima de la parte de prefijo, la primera unidad de codificación 321 codifica, mediante codificación aritmética binaria adaptativa de contexto, tantos “0” como el número indicado por el valor de la componente X. Por último, la primera unidad de codificación 321 codifica “1” mediante codificación aritmética binaria adaptativa de contexto. En este caso, la señal binaria de la componente X no incluye la parte de sufijo, y por tanto la codificación de la componente X termina aquí.
Por otro lado, cuando la parte de prefijo es más larga que la longitud máxima de la parte de prefijo, la primera unidad de codificación 321 codifica, mediante codificación aritmética binaria adaptativa de contexto, tantos “0” como el número de la longitud máxima.
A continuación, la segunda unidad de codificación 322 codifica la primera mitad de la parte de sufijo. Más específicamente, la segunda unidad de codificación 322 añade “1” a la primera mitad en la unidad del número que puede representarse por 2 a la potencia RP (por ejemplo, en la unidad de “4” cuando RP es “2”), codifica el valor resultante, y por último codifica “0”.
Es decir, cuando el valor de la componente X es mayor que o igual a 4 y menor que 8, la segunda unidad de codificación 322 sólo codifica “0” como primera mitad. Cuando el valor de la componente X es mayor que o igual a 8 y menor que 12, la segunda unidad de codificación 322 codifica “10” como primera mitad. Cuando el valor de la componente X es mayor que o igual a 12 y menor que 16, la segunda unidad de codificación 322 codifica “110” como primera mitad.
Debe observarse que en el ejemplo de la figura 15, la cantidad de información que va a representarse mediante la parte de sufijo es “12” (16 - 4 = 12), y por tanto, cuando el valor de la componente X es mayor que o igual a 12 y menor que 16, en lugar de codificar “110” como primera mitad, se codifica “11” que se obtiene omitiendo el último “0” de “110”. Esto reduce la longitud de código.
A continuación, la segunda unidad de codificación 322 codifica la segunda mitad de la parte de sufijo. La segunda mitad es una parte de longitud fija que tiene una longitud indicada por el valor de RP. En el ejemplo de la figura 15, la segunda mitad indica un valor que se obtiene binarizando un número entre los números hasta 2 a la potencia RP y emitiendo el valor resultante desde el número a la izquierda hasta el número a la derecha. Más específicamente, la segunda mitad indica un valor obtenido binarizando 0, 1, 2 ó 3. Esto es un simple ejemplo, y la eficiencia de codificación no se ve afectada en particular siempre que haya coherencia entre el método usado por el aparato de codificación y el método usado por el aparato de descodificación.
Tal como se describió anteriormente, el aparato de codificación de imágenes 300 según la presente realización puede codificar de manera aritmética el símbolo binario en la última posición de bit de la primera señal usando el contexto exclusivo para la última posición de bit cuando la primera señal tiene la longitud máxima predeterminada. El símbolo binario en la última posición de bit de la primera señal indica si la señal binaria incluye la segunda señal o no. Esto significa que el símbolo binario en la última posición de bit de la primera señal tiene una gran influencia sobre la eficiencia de codificación. Por tanto, el símbolo binario en la última posición de bit de la primera señal tiene una característica en la aparición de símbolo diferente de la de los símbolos binarios en las otras posiciones de bits.
En vista de esto, el aparato de codificación de imágenes 300 puede aumentar la eficiencia de codificación codificando de manera aritmética el símbolo binario en la última posición de bit de la primera señal usando el contexto exclusivo para la última posición de bit.
Debe observarse que cada uno de los elementos estructurales en la presente realización puede configurarse en forma de un producto de hardware exclusivo, o puede implementarse ejecutando un programa de software adecuado para el elemento estructural. Cada elemento estructural puede implementarse por medio de una unidad de ejecución de programa, 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 de semiconductor. En este caso, el programa de software para implementar el aparato de codificación de imágenes según la presente realización es un programa descrito a continuación.
Este programa hace que un ordenador ejecute un método de codificación de imágenes para codificar información de última posición que indica una posición de un último coeficiente distinto de cero en un orden predeterminado en un bloque actual que va a codificarse, incluyendo el método de codificación de imágenes: binarizar la información de última posición para generar (i) una señal binaria que incluye una primera señal que tiene una longitud menor que o igual a una longitud máxima predeterminada y no incluye una segunda señal o (ii) una señal binaria que incluye la primera señal que tiene la longitud máxima predeterminada y la segunda señal; primera codificación para codificar de manera aritmética cada uno de los símbolos binarios incluidos en la primera señal usando un contexto conmutado entre una pluralidad de contextos según una posición de bit del símbolo binario; y segunda codificación para codificar de manera aritmética la segunda señal usando una probabilidad fijada cuando la señal binaria incluye la segunda señal, en el que en la primera codificación, un símbolo binario en una última posición de bit de la primera señal se codifica de manera aritmética usando un contexto exclusivo para la última posición de bit, cuando la primera señal tiene la longitud máxima predeterminada.
(Variación de la realización 2)
El aparato de codificación de imágenes 300 según la realización 2 puede incluirse en un aparato de codificación de imágenes a continuación. La figura 16 es un diagrama de bloques que muestra un ejemplo de una configuración de un aparato de codificación de imágenes 400 según una variación de la realización 2.
El aparato de codificación de imágenes 400 realiza la codificación por compresión con datos de imagen. Por ejemplo, el aparato de codificación de imágenes 400 recibe los datos de imagen para un bloque cada vez como señal de entrada. El aparato de codificación de imágenes 400 realiza la transformada, cuantificación y codificación de longitud variable con la señal de entrada para generar una señal codificada (flujo de bits).
Tal como se muestra en la figura 16, el aparato de codificación de imágenes 400 incluye un restador 405, una unidad de transformada y cuantificación 410, una unidad de codificación por entropía 420, una unidad de cuantificación inversa y transformada inversa 430, un sumador 435, un filtro de desbloqueo 440, una memoria 450, una unidad de intra-predicción 460, una unidad de estimación de movimiento 470, una unidad de compensación de movimiento 480 y un conmutador de intra/inter-predicción 490.
El restador 405 calcula una diferencia entre la señal de entrada y la señal de predicción como un error de predicción.
La unidad de transformada y cuantificación 410 transforma el error de predicción en el dominio espacial para generar coeficientes transformados en el dominio de frecuencia. Por ejemplo, la unidad de transformada y cuantificación 410 realiza la transformada de coseno discreta (DCT) con el error de predicción para generar los coeficientes transformados. Además, la unidad de transformada y cuantificación 410 cuantifica los coeficientes transformados para generar coeficientes cuantificados.
La unidad de codificación por entropía 420 realiza la codificación de longitud variable con los coeficientes cuantificados para generar una señal codificada. Además, la unidad de codificación por entropía 420 codifica datos de movimiento (por ejemplo, vector de movimiento) detectados mediante la unidad de estimación de movimiento 470, para emitir la señal codificada con los datos de movimiento incluidos en la misma.
Debe observarse que el aparato de codificación de imágenes 300 según la realización 2 corresponde a parte de la unidad de codificación por entropía 420. Es decir, la unidad de codificación por entropía 420 codifica la información de última posición.
La unidad de cuantificación inversa y transformada inversa 430 realiza la cuantificación inversa con los coeficientes cuantificados para reconstruir los coeficientes transformados. Además, la unidad de cuantificación inversa y transformada inversa 430 realiza la transformada inversa con los coeficientes transformados reconstruidos para reconstruir un error de predicción. Debe observarse que al error de predicción reconstruido le falta información debido a la cuantificación y por tanto no es el mismo que el error de predicción generado por el restador 405. En otras palabras, el error de predicción reconstruido contiene un error de cuantificación.
El sumador 435 suma el error de predicción reconstruido y una señal de predicción para generar una imagen descodificada local.
El filtro de desbloqueo 440 aplica un filtro de desbloqueo a la imagen descodificada local.
La memoria 450 es una memoria para almacenar una imagen de referencia usada en compensación de movimiento. Más específicamente, la memoria 450 almacena la imagen descodificada local a la que se le ha aplicado el filtro de desbloqueo.
La unidad de intra-predicción 460 realiza la intra-predicción para generar una señal de predicción (señal de intrapredicción). Más específicamente, la unidad de intra-predicción 460 genera una señal de intra-predicción realizando intra-predicción mediante referencia a una imagen circundante al bloque actual que va a codificarse (señal de entrada) en la imagen descodificada local generada por el sumador 435.
La unidad de estimación de movimiento 470 detecta datos de movimiento (por ejemplo, vector de movimiento) entre la señal de entrada y la imagen de referencia almacenada en la memoria 450.
La unidad de compensación de movimiento 480 realiza la compensación de movimiento basándose en los datos de movimiento para generar una señal de predicción (señal de inter-predicción).
El conmutador de intra/inter-predicción 490 selecciona o bien la señal de intra-predicción o bien la señal de inter­ predicción, y emite la señal seleccionada al restador 405 y al sumador 435 como señal de predicción.
Con la configuración anterior, el aparato de codificación de imágenes 400 realiza la codificación por compresión con los datos de imagen.
Aunque sólo se han descrito anteriormente algunas realizaciones a modo de ejemplo, el alcance de las reivindicaciones de la presente solicitud no se limita a estas realizaciones. Los expertos en la técnica apreciarán fácilmente que pueden realizarse diversas modificaciones en estas realizaciones a modo de ejemplo y que pueden obtenerse otras realizaciones combinando de manera arbitraria los elementos estructurales de las realizaciones sin apartarse significativamente de las enseñanzas novedosas y ventajas del contenido mencionado en las reivindicaciones adjuntas. Por consiguiente, todas tales modificaciones y otras realizaciones se incluyen en la presente invención.
Además, aunque la parte de sufijo se binariza mediante codificación de Golomb-Rice en cada realización anterior, la parte de sufijo puede binarizarse con un método diferente. Por ejemplo, la parte de sufijo puede binarizarse con una longitud fija tal como se muestra en la figura 3A a la figura 3D.
Además, el método de binarización de la componente X y la componente Y en cada realización anterior es un simple ejemplo, y pueden binarizarse con un método de binarización diferente. Por ejemplo, en la figura 3A a la figura 3D, el último valor puede binarizarse con “0” y “1” invertidos. Más específicamente, en la figura 3B, el último valor “3” puede binarizarse para dar “1110”, por ejemplo.
Además, la configuración del aparato de descodificación de imágenes o el aparato de codificación de imágenes según cada realización descrita anteriormente es un simple ejemplo. No se necesita que el aparato de descodificación de imágenes o el aparato de codificación de imágenes incluyan todos los elementos estructurales mostrados en la figura 7 o la figura 13. Además, el diagrama de flujo que muestra el método de descodificación de imágenes o el método de codificación de imágenes según cada realización descrita anteriormente también es un simple ejemplo, y no se necesita realizar necesariamente todas las etapas.
Por ejemplo, cuando la información de última posición se representa mediante un valor (por ejemplo, orden de exploración), no se necesita realizar el procedimiento para una de la componente X y la componente Y. Por ejemplo, en la figura 8A, es suficiente siempre que se realicen al menos la etapa S101 y la etapa S103. En este caso, no se necesita que el aparato de descodificación de imágenes 100 incluya la unidad de control de descodificación 103 ni la unidad de reconstrucción 104. Además, en la figura 14A, es suficiente siempre que se realicen al menos la etapa S401, la etapa S402 y la etapa S404. En este caso, no se necesita que el aparato de codificación de imágenes 300 incluya la unidad de control de codificación 323.
Incluso en tales casos, la eficiencia de codificación puede aumentarse mediante descodificación aritmética o codificación aritmética del símbolo binario en la última posición de bit de la primera señal usando el contexto exclusivo para la última posición de bit.
(Realización 3)
El procesamiento descrito en cada una de las realizaciones puede implementarse simplemente en un sistema informático independiente, grabando, en un medio de grabación, un programa para implementar las configuraciones del método de codificación de imágenes en movimiento (método de codificación de imágenes) y el método de descodificación de imágenes en movimiento (método de descodificación de imágenes) descritos en cada una de las realizaciones. Los medios de grabación pueden ser cualquier medio de grabación siempre que pueda grabarse el programa, tal como un disco magnético, un disco óptico, un disco magneto-óptico, una tarjeta IC y una memoria de semiconductor.
A continuación en el presente documento, se describirán las aplicaciones al método de codificación de imágenes en movimiento (método de codificación de imágenes) y al método de descodificación de imágenes en movimiento (método de descodificación de imágenes) descritos en cada una de las realizaciones y sistemas que usan los mismos. El sistema tiene una característica de tener un aparato de codificación y de descodificación de imágenes que incluye un aparato de codificación de imágenes que usa el método de codificación de imágenes y un aparato de descodificación de imágenes que usa el método de descodificación de imágenes. Otras configuraciones en el sistema pueden cambiarse según sea apropiado dependiendo de los casos.
La figura 17 ilustra una configuración global de un sistema para proporcionar contenido ex100 para implementar servicios de distribución de contenido. El área para proporcionar servicios de comunicación se divide en células de tamaño deseado, y se colocan estaciones base ex106, ex107, ex108, ex109 y ex110 que son estaciones inalámbricas fijas en cada una de las células.
El sistema para proporcionar contenido ex100 está conectado a dispositivos, tales como un ordenador ex111, una agenda electrónica (PDA) ex112, una cámara ex113, un teléfono celular ex114 y un consola de videojuegos ex115, a través de Internet ex101, un proveedor de servicios de Internet ex102, una red telefónica ex104, así como las estaciones base ex106 a ex110, respectivamente.
Sin embargo, la configuración del sistema para proporcionar contenido ex100 no se limita a la configuración mostrada en la figura 17, y una combinación en la que cualquiera de los elementos están conectados es aceptable. Además, cada dispositivo puede conectarse directamente a la red telefónica ex104, en vez de a través de las estaciones base ex106 a ex110 que son las estaciones inalámbricas fijas. Además, los dispositivos pueden interconectarse entre sí mediante una comunicación inalámbrica de corta distancia y otros.
La cámara ex113, tal como una cámara de vídeo digital, puede captar vídeo. Una cámara ex116, tal como una cámara digital, puede captar tanto imágenes estáticas como vídeo. Además, el teléfono celular ex114 puede ser el que cumple cualquiera de las normas tales como sistema global para comunicaciones móviles (GSM) (marca registrada), acceso múltiple por división de código (CDMA), acceso múltiple por división de código de banda ancha (W-CDMA), evolución a largo plazo (LTE) y acceso de paquetes a alta velocidad (HSPA). Alternativamente, el teléfono celular ex114 puede ser un sistema de teléfonos personales (PHS).
En el sistema para proporcionar contenido ex100, un servidor de transmisión continua ex103 está conectado a la cámara ex113 y otros a través de la red telefónica ex104 y la estación base ex109, lo que permite la distribución de imágenes de un espectáculo en directo y otros. En una distribución de este tipo, un contenido (por ejemplo, vídeo de un espectáculo musical en directo) captado por el usuario que usa la cámara ex113 se codifica tal como se describió anteriormente en cada una de las realizaciones (es decir, la cámara funciona como el aparato de codificación de imágenes según un aspecto de la presente invención), y el contenido codificado se transmite al servidor de transmisión continua ex103. Por otro lado, el servidor de transmisión continua ex103 lleva a cabo distribución de flujo de los datos de contenido transmitidos a los clientes a petición de los mismos. Los clientes incluyen el ordenador ex111, la PDA ex112, la cámara ex113, el teléfono celular ex114 y la consola de videojuegos ex115 que pueden descodificar los datos codificados anteriormente mencionados. Cada uno de los dispositivos que han recibido los datos distribuidos descodifica y reproduce los datos codificados (es decir, funciona como el aparato de descodificación de imágenes según un aspecto de la presente invención).
Los datos captados pueden codificarse por la cámara ex113 o el servidor de transmisión continua ex103 que transmite los datos, o los procedimientos de codificación pueden compartirse entre la cámara ex113 y el servidor de transmisión continua ex103. De manera similar, los datos distribuidos pueden descodificarse por los clientes o el servidor de transmisión continua ex103, o los procedimientos de descodificación pueden compartirse entre los clientes y el servidor de transmisión continua ex103. Además, los datos de las imágenes estáticas y vídeo captados no sólo por la cámara ex113 sino también por la cámara ex116 pueden transmitirse al servidor de transmisión continua ex103 a través del ordenador ex111. Los procedimientos de codificación pueden realizarse mediante la cámara ex116, el ordenador ex111 o el servidor de transmisión continua ex103, o compartirse entre los mismos.
Además, los procedimientos de codificación y de descodificación pueden realizarse mediante un LSI ex500 incluido generalmente en cada uno del ordenador ex111 y los dispositivos. El LSI ex500 puede configurarse a partir de un único chip o una pluralidad de chips. Puede integrarse software para codificar y descodificar vídeo en algún tipo de medio de grabación (tal como un CD-ROM, un disquete flexible y un disco duro) que puede leerse por el ordenador ex111 y otros, y los procedimientos de codificación y de descodificación pueden realizarse usando el software. Además, cuando el teléfono celular ex114 está equipado con una cámara, pueden transmitirse los datos de vídeo obtenidos por la cámara. Los datos de vídeo son datos codificados por el LSI ex500 incluido en el teléfono celular ex114.
Además, el servidor de transmisión continua ex103 puede estar compuesto por servidores y ordenadores, y puede descentralizar datos y procesar los datos descentralizados, grabar o distribuir datos.
Tal como se describió anteriormente, los clientes pueden recibir y reproducir los datos codificados en el sistema para proporcionar contenido ex100. En otras palabras, los clientes pueden recibir y descodificar información transmitida por el usuario, y reproducir los datos descodificados en tiempo real en el sistema para proporcionar contenido ex100, de modo que el usuario que no tiene ningún equipo y derecho particular puede implementar difusión personal.
Aparte del ejemplo del sistema para proporcionar contenido ex100, al menos uno del aparato de codificación de imágenes en movimiento (aparato de codificación de imágenes) y el aparato de descodificación de imágenes en movimiento (aparato de descodificación de imágenes) descrito en cada una de las realizaciones puede implementarse en un sistema de difusión digital ex200 ilustrado en la figura 18. Más específicamente, una estación de difusión ex201 comunica o transmite, a través de ondas de radio a un satélite de difusión ex202, datos multiplexados obtenidos multiplexando datos de audio y otros en datos de vídeo. Los datos de vídeo son datos codificados mediante el método de codificación de imágenes en movimiento descrito en cada una de las realizaciones (es decir, datos codificados por el aparato de codificación de imágenes según un aspecto de la presente invención). Tras recibir los datos multiplexados, el satélite de difusión ex202 transmite ondas de radio para la difusión. Entonces, una antena doméstica ex204 con una función de recepción de difusión por satélite recibe las ondas de radio. A continuación, un dispositivo tal como una televisión (receptor) ex300 y un módulo descodificador (STB) ex217 descodifica los datos multiplexados recibidos y reproduce los datos descodificados (es decir, funciona como el aparato de descodificación de imágenes según un aspecto de la presente invención).
Además, un lector/grabador ex218 (i) lee y descodifica los datos multiplexados grabados en un medio de grabación ex215, tal como un DVD y un BD, o (i) codifica señales de vídeo en el medio de grabación ex215, y en algunos casos, escribe datos obtenidos multiplexando una señal de audio en los datos codificados. El lector/grabador ex218 puede incluir el aparato de descodificación de imágenes en movimiento o el aparato de codificación de imágenes en movimiento tal como se muestra en cada una de las realizaciones. En este caso, las señales de vídeo reproducidas se visualizan en el monitor ex219, y pueden reproducirse por otro dispositivo o sistema usando el medio de grabación ex215 en el que se graban los datos multiplexados. También es posible implementar el aparato de descodificación de imágenes en movimiento en el módulo descodificador ex217 conectado al cable ex203 para una televisión por cable o a la antena ex204 para difusión por satélite y/o terrestre, de modo que se visualizan las señales de vídeo en el monitor ex219 de la televisión ex300. El aparato de descodificación de imágenes en movimiento no puede implementarse en el módulo descodificador sino en la televisión ex300.
La figura 19 ilustra la televisión (receptor) ex300 que usa el método de codificación de imágenes en movimiento y el método de descodificación de imágenes en movimiento descritos en cada una de las realizaciones. La televisión ex300 incluye: un sintonizador ex301 que obtiene o proporciona datos multiplexados obtenidos multiplexando datos de audio en datos de vídeo, a través de la antena ex204 o el cable ex203, etc. que recibe una difusión; una unidad de modulación/desmodulación ex302 que desmodula los datos multiplexados recibidos o modula datos para dar datos multiplexados que van a suministrarse al exterior; y una unidad de multiplexado/desmultiplexado ex303 que desmultiplexa los datos multiplexados modulados para dar datos de vídeo y datos de audio, o multiplexa datos de vídeo y datos de audio codificados por una unidad de procesamiento de señales ex306 para dar 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 vídeo ex305 que descodifican datos de audio y datos de vídeo y codifican datos de audio y datos de vídeo, respectivamente (que funcionan como el aparato de codificación de imágenes y el aparato de descodificación de imágenes según 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 descodificada, y una unidad de visualización ex308 que visualiza la señal de vídeo descodificada, tal como una pantalla. Además, la televisión ex300 incluye una unidad de interfaz ex317 que incluye una unidad de entrada de operación ex312 que recibe una entrada de una operación de usuario. Además, 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 circuito de suministro de potencia ex311 que suministra potencia a cada uno de los elementos. Aparte de la unidad de entrada de operación ex312, la unidad de interfaz 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 permitir el acoplamiento del medio de grabación ex216, tal como una tarjeta SD; un controlador ex315 para conectarse a un medio de grabación externo, tal como un disco duro; y un módem ex316 para conectarse a una red telefónica. En este caso, el medio de grabación ex216 puede grabar eléctricamente información usando un elemento de memoria de semiconductor volátil/no volátil para el almacenamiento. Los elementos constituyentes de la televisión ex300 están conectados entre sí a través de un bus síncrono.
En primer lugar, se describirá la configuración en la que la televisión ex300 descodifica datos multiplexados obtenidos desde el exterior a través de la antena ex204 y otros y reproduce los datos descodificados. En la televisión ex300, tras una operación de usuario a través de un mando a distancia ex220 y otros, la unidad de multiplexado/desmultiplexado ex303 desmultiplexa los datos multiplexados desmodulados por la unidad de modulación/desmodulación ex302, bajo el control de la unidad de control ex310 que incluye una CPU. Además, la unidad de procesamiento de señales de audio ex304 descodifica los datos de audio desmultiplexados, y la unidad de procesamiento de señales de vídeo ex305 descodifica los datos de vídeo desmultiplexados, usando el método de descodificación descrito en cada una de las realizaciones, en la televisión ex300. La unidad de salida ex309 proporciona la señal de vídeo y la señal de audio descodificadas al exterior, respectivamente. Cuando la unidad de salida ex309 proporciona la señal de vídeo y la señal de audio, las señales pueden almacenarse temporalmente en memorias intermedias ex318 y ex319, y otros de modo que las señales se reproducen de manera sincronizada entre sí. Además, la televisión ex300 puede leer datos multiplexados no mediante una difusión y otros sino a partir de los medios de grabación ex215 y ex216, tal como un disco magnético, un disco óptico y una tarjeta SD. A continuación, se describirá una configuración en la que la televisión ex300 codifica una señal de audio y una señal de vídeo, y transmite los datos al exterior o escribe los datos en un medio de grabación. En la televisión ex300, tras una operación de usuario a través del mando a distancia 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 vídeo ex305 codifica una señal de vídeo, bajo el control de la unidad de control ex310 usando el método de codificación descrito en cada una de las realizaciones. La unidad de multiplexado/desmultiplexado ex303 multiplexa la señal de vídeo y la señal de audio codificadas, y proporciona la señal resultante al exterior. Cuando la unidad de multiplexado/desmultiplexado ex303 multiplexa la señal de vídeo y la señal de audio, las señales pueden almacenarse temporalmente en las memorias intermedias ex320 y ex321, y otros de modo que las señales se reproducen de manera sincronizada entre sí. En este caso, las memorias intermedias ex318, ex319, ex320 y ex321 pueden ser varias tal como se ilustra, o puede compartirse al menos una memoria intermedia en la televisión ex300. Además, pueden almacenarse datos en una memoria intermedia de modo que puede evitarse el desbordamiento y subdesbordamiento del sistema entre la unidad de modulación/desmodulación ex302 y la unidad de multiplexado/desmultiplexado ex303, por ejemplo.
Además, la televisión ex300 puede incluir una configuración para recibir una entrada de AV a partir de un micrófono o una cámara distinta de la configuración para obtener datos de audio y de vídeo a partir de una difusión o un medio de grabación, y puede codificar los datos obtenidos. Aunque la televisión ex300 puede codificar, multiplexar y proporcionar datos exteriores en la descripción, puede que sólo pueda recibir, descodificar y proporcionar datos exteriores pero no codificar, multiplexar y proporcionar datos exteriores.
Además, cuando el lector/grabador ex218 lee o escribe datos multiplexados a partir de o en un medio de grabación, uno de la televisión ex300 y el lector/grabador ex218 puede descodificar o codificar los datos multiplexados, y la televisión ex300 y el lector/grabador ex218 pueden compartir la descodificación o codificación.
Como ejemplo, la figura 20 ilustra una configuración de una unidad de reproducción/grabación de información ex400 cuando se leen o escriben datos a partir de o en un disco óptico. La unidad de reproducción/grabación de información ex400 incluye elementos constituyentes ex401, ex402, ex403, ex404, ex405, ex406 y ex407 que van a describirse a continuación en el presente documento. El cabezal óptico ex401 irradia un punto 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 luz reflejada desde 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 acciona eléctricamente un láser semiconductor incluido en el cabezal óptico ex401, y modula la luz de láser según datos grabados. La unidad de desmodulación de reproducción ex403 amplifica una señal de reproducción obtenida detectando eléctricamente la luz reflejada desde la superficie de grabación usando un fotodetector incluido en el cabezal óptico ex401, y desmodula la señal de reproducción separando una componente de señal grabada en el medio de grabación ex215 para reproducir la información necesaria. La memoria intermedia ex404 retiene temporalmente la información que va a grabarse en el medio de grabación ex215 y la información reproducida a partir del medio de grabación ex215. El motor de disco ex405 hace girar el medio de grabación ex215. La unidad de servocontrol ex406 mueve el cabezal óptico ex401 a una pista de información predeterminada mientras controla el accionador de rotación del motor de disco ex405 para seguir el punto de láser. La unidad de control de sistema ex407 controla en conjunto la unidad de reproducción/grabación de información ex400. Los procedimientos de lectura y escritura pueden implementarse mediante la unidad de control de sistema ex407 usando diversa información almacenada en la memoria intermedia ex404 y generando y añadiendo nueva información según sea necesario, y mediante la unidad de grabación de modulación ex402, la unidad de desmodulación de reproducción ex403 y la unidad de servocontrol ex406 que graban y reproducen información a través del cabezal óptico ex401 mientras se hace funcionar de una manera coordinada. La unidad de control de sistema ex407 incluye, por ejemplo, un microprocesador, y ejecuta el procesamiento haciendo que un ordenador ejecute un programa para leer y escribir.
Aunque el cabezal óptico ex401 irradia un punto de láser en la descripción, puede realizar grabación por alta densidad usando luz en campo cercano.
La figura 21 ilustra el medio de grabación ex215 que es el disco óptico. Sobre la superficie de grabación del medio de grabación ex215, hay surcos de guía formados en espiral, y una pista de información ex230 graba, por adelantado, información de dirección que indica una posición absoluta en el disco según un cambio de una forma de los surcos de 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 pueden conducir a la determinación de las posiciones de los bloques de grabación. Además, el medio de grabación ex215 incluye un área de grabación de datos ex233, un área de circunferencia interna ex232, y un área de circunferencia externa ex234. El área de grabación de datos ex233 es un área para su uso en la grabación de datos de usuario. El área de circunferencia interna ex232 y el área de circunferencia externa ex234 que están dentro y fuera del área de grabación de datos ex233, respectivamente, son para un uso específico excepto para grabar los datos de usuario. La unidad de reproducción/grabación de información 400 lee y escribe audio codificado, datos de vídeo codificados o datos multiplexados obtenidos multiplexando los datos de audio y de vídeo codificados, a partir de, y en, el área de grabación de datos ex233 del medio de grabación ex215.
Aunque se describe un disco óptico que tiene una capa, tal como un DVD y un BD, como ejemplo en la descripción, el disco óptico no se limita al mismo, y puede ser un disco óptico que tiene una estructura de múltiples capas y que puede grabarse en una parte distinta de la superficie. Además, el disco óptico puede tener una estructura para grabación/reproducción multidimensional, tal como grabación de información usando luz de colores con diferentes longitudes de onda en la misma parte del disco óptico y para grabación de información que tiene diferentes capas desde diversos ángulos.
Además, un coche ex210 que tiene una antena ex205 puede recibir datos desde el satélite ex202 y otros, y reproducir vídeo en un dispositivo de visualización tal como un sistema de navegación de coche ex211 instalado en el coche ex210, en el sistema de difusión digital ex200. En este caso, una configuración del sistema de navegación de coche ex211 será una configuración, por ejemplo, que incluye una unidad de recepción de GPS a partir de la configuración ilustrada en la figura 19. Lo mismo será cierto para la configuración del ordenador ex111, el teléfono celular ex114, y otros.
La figura 22A ilustra el teléfono celular ex114 que usa el método de codificación de imágenes en movimiento y el método de descodificación de imágenes en movimiento descritos en las realizaciones. El teléfono celular ex114 incluye: una antena ex350 para transmitir y recibir ondas de radio a través de la estación base ex110; una unidad de cámara ex365 que puede captar imágenes en movimiento y estáticas; y una unidad de visualización ex358 tal como una pantalla de cristal líquido para visualizar los datos tales como vídeo descodificado captado por la unidad de cámara ex365 o recibido por la antena ex350. El teléfono celular ex114 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 emitir audio; una unidad de entrada de audio ex356 tal como un micrófono para introducir audio; una unidad de memoria ex367 para almacenar vídeo o imágenes estáticas captadas, audio grabado, datos codificados o descodificados del vídeo recibido, las imágenes estáticas, correos electrónicos u otros; y una unidad de ranura ex364 que es una unidad de interfaz para un medio de grabación que almacena datos de la misma manera que la unidad de memoria ex367.
A continuación, se describirá un ejemplo de una configuración del teléfono celular ex114 con referencia a la figura 22B. En el teléfono celular ex114, una unidad de control principal ex360 diseñada para controlar en conjunto cada unidad del cuerpo principal incluyendo la unidad de visualización ex358 así como la unidad de teclas de operación ex366 se conecta mutuamente, a través de un bus síncrono ex370, a una unidad de circuito de suministro de potencia ex361, una unidad de control de entrada de operación ex362, una unidad de procesamiento de señales de vídeo ex355, una unidad de interfaz de cámara ex363, una unidad de control de pantalla de cristal líquido (LCD) ex359, una unidad de modulación/desmodulación ex352, una unidad de multiplexado/desmultiplexado ex353, una unidad de procesamiento de señales de audio ex354, la unidad de ranura ex364, y la unidad de memoria ex367. Cuando se activa una tecla de fin de llamada o una tecla de alimentación mediante una operación de un usuario, la unidad de circuito de suministro de potencia ex361 suministra potencia a las unidades respectivas desde un conjunto de baterías para activar el teléfono celular ex114.
En el teléfono celular ex114, la unidad de procesamiento de señales de audio ex354 convierte las señales de audio recopiladas por la unidad de entrada de audio ex356 en modo de conversación de voz en señales de audio digitales bajo el control de la unidad de control principal ex360 que incluye una CPU, ROM y RAM. Entonces, la unidad de modulación/desmodulación ex352 realiza el procesamiento de amplio espectro con las señales de audio digitales, y la unidad de transmisión y recepción ex351 realiza la conversión de digital a analógico y la conversión de frecuencia con los datos, para transmitir los datos resultantes a través de la antena ex350. Además, en el teléfono celular ex114, 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 analógico a digital con los datos. Entonces, la unidad de modulación/desmodulación ex352 realiza el procesamiento de amplio espectro inverso con los datos, y la unidad de procesamiento de señales de audio ex354 los convierte en señales de audio analógicas, para emitirlas a través de la unidad de salida de audio ex357.
Además, cuando se transmite un correo electrónico en modo de comunicación de datos, datos de texto del correo electrónico introducidos haciendo funcionar la unidad de teclas de operación ex366 y otros del cuerpo principal se envían a la unidad de control principal ex360 mediante la unidad de control de entrada de operación ex362. La unidad de control principal ex360 hace que la unidad de modulación/desmodulación ex352 realice el procesamiento de amplio espectro con los datos de texto, y la unidad de transmisión y recepción ex351 realiza la conversión de digital a analógico y la conversión de frecuencia con los datos resultantes para transmitir los datos a la estación base ex110 a través de la antena ex350. Cuando se recibe un correo electrónico, se realiza un procesamiento que es aproximadamente el inverso al procesamiento para transmitir un correo electrónico con los datos recibidos, y se proporcionan los datos resultantes a la unidad de visualización ex358.
Cuando se transmiten vídeo, imágenes estáticas o vídeo y audio en modo de comunicación de datos, la unidad de procesamiento de señales de vídeo ex355 comprime y codifica señales de vídeo suministradas desde la unidad de cámara ex365 usando el método de codificación de imágenes en movimiento mostrado en cada una de las realizaciones (es decir, funciona como el aparato de codificación de imágenes según el aspecto de la presente invención), y transmite los datos de vídeo codificados a la unidad de multiplexado/desmultiplexado ex353. En cambio, cuando la unidad de cámara ex365 capta vídeo, imágenes estáticas, y otros, la unidad de procesamiento de señales de audio ex354 codifica señales de audio recopiladas por la unidad de entrada de audio ex356, y transmite los datos de audio codificados a la unidad de multiplexado/desmultiplexado ex353.
La unidad de multiplexado/desmultiplexado ex353 multiplexa los datos de vídeo codificados suministrados desde la unidad de procesamiento de señales de vídeo ex355 y los datos de audio codificados suministrados desde la unidad de procesamiento de señales de audio ex354, usando un método predeterminado. Entonces, la unidad de modulación/desmodulación (unidad de circuito de modulación/desmodulación) ex352 realiza el procesamiento de amplio espectro con los datos multiplexados, y la unidad de transmisión y recepción ex351 realiza la conversión de digital a analógico y la conversión de frecuencia con los datos de modo que se transmiten los datos resultantes a través de la antena ex350.
Cuando se reciben datos de un archivo de vídeo que está vinculado a una página Web y otros en modo de comunicación de datos o cuando se recibe un correo electrónico con vídeo y/o audio adjunto, con el fin de descodificar los datos multiplexados recibidos a través de la antena ex350, la unidad de multiplexado/desmultiplexado ex353 desmultiplexa los datos multiplexados para dar unos flujo de bits de datos de vídeo y un flujo de bits de datos de audio, y suministra a la unidad de procesamiento de señales de vídeo ex355 los datos de vídeo codificados y a la unidad de procesamiento de señales de audio ex354 los datos de audio codificados, a través del bus síncrono ex370. La unidad de procesamiento de señales de vídeo ex355 descodifica la señal de vídeo usando un método de descodificación de imágenes en movimiento correspondiente al método de codificación de imágenes en movimiento mostrado en cada una de las realizaciones (es decir, funciona como el aparato de descodificación de imágenes según el aspecto de la presente invención), y después la unidad de visualización ex358 visualiza, por ejemplo, el vídeo y las imágenes estáticas incluidos en el archivo de vídeo vinculado a la página Web a través de la unidad de control de LCD ex359. Además, la unidad de procesamiento de señales de audio ex354 descodifica la señal de audio, y la unidad de salida de audio ex357 proporciona el audio. Además, de manera similar a la televisión ex300, un terminal tal como el teléfono celular ex114 tiene probablemente 3 tipos de configuraciones de implementación incluyendo no sólo (i) un terminal de transmisión y recepción que incluye tanto un aparato de codificación como un aparato de descodificación, sino también (ii) un terminal de transmisión que incluye únicamente un aparato de codificación y (iii) un terminal de recepción que incluye únicamente un aparato de descodificación. Aunque el sistema de difusión digital ex200 recibe y transmite los datos multiplexados obtenidos multiplexando datos de audio en datos de vídeo en la descripción, los datos multiplexados pueden ser datos obtenidos multiplexando no datos de audio sino datos de caracteres relacionados con vídeo en datos de vídeo, y pueden no ser datos multiplexados sino los propios datos de vídeo.
Como tal, el método de codificación de imágenes en movimiento y el método de descodificación de imágenes en movimiento en cada una de las realizaciones pueden usarse en cualquiera de los dispositivos y sistemas descritos. Por tanto, pueden obtenerse las ventajas descritas en cada una de las realizaciones.
Además, la presente invención no se limita a las realizaciones, y diversas modificaciones y revisiones son posibles sin apartarse del alcance de la presente invención.
(Realización 4)
Pueden generarse datos de vídeo conmutando, según sea necesario, entre (i) el método de codificación de imágenes en movimiento o el aparato de codificación de imágenes en movimiento mostrados en cada una de las realizaciones y (ii) un método de codificación de imágenes en movimiento o un aparato de codificación de imágenes en movimiento según una norma diferente, tal como MPEG-2, MPEG-4 AVC, y vC-1.
En este caso, cuando se genera una pluralidad de datos de vídeo que cumplen las diferentes normas y después se decodifica, se necesita seleccionar los métodos de descodificación para adaptarse a las diferentes normas. Sin embargo, dado que no puede detectarse qué norma cumple cada uno de la pluralidad de los datos de vídeo que van a descodificarse, existe un problema en cuanto a que no puede seleccionarse un método de descodificación apropiado.
Con el fin de resolver el problema, los datos multiplexados obtenidos multiplexando datos de audio y otros en datos de vídeo tienen una estructura que incluye información de identificación que indica qué norma cumplen los datos de vídeo. A continuación en el presente documento se describirá la estructura específica de los datos multiplexados que incluyen los datos de vídeo generados en el método de codificación de imágenes en movimiento y mediante el aparato de codificación de imágenes en movimiento mostrados en cada una de las realizaciones. Los datos multiplexados son un flujo digital en el formato de flujo de transporte de MPEG-2.
La figura 23 ilustra una estructura de los datos multiplexados. Tal como se ilustra en la figura 23, los datos multiplexados pueden obtenerse multiplexando al menos uno de un flujo de vídeo, un flujo de audio, un flujo de gráficos de presentación (PG), y un flujo de gráficos interactivos. El flujo de vídeo representa vídeo primario y vídeo secundario de una película, el flujo de audio (IG) representa una parte de audio primario y una parte de audio secundario que va a mezclarse con la parte de audio primario, y el flujo de gráficos de presentación representa subtítulos de la película. En este caso, el vídeo primario es vídeo normal que va a visualizarse en una pantalla, y el vídeo secundario es vídeo que va a visualizarse en una ventana más pequeña en el vídeo primario. Además, el flujo de gráficos interactivos representa una pantalla interactiva que va a generarse disponiendo los componentes de GUI en una pantalla. El flujo de vídeo se codifica en el método de codificación de imágenes en movimiento o mediante el aparato de codificación de imágenes en movimiento mostrados en cada una de las realizaciones, o en un método de codificación de imágenes en movimiento o mediante un aparato de codificación de imágenes en movimiento según una norma convencional, tal como MPEG-2, MPEG-4 ARC, y VC-1. El flujo de audio se codifica según una norma, tal como Dolby-AC-3, Dolby Digital Plus, MLP, DTS, DTS-HD y PCM lineal.
Cada flujo incluido en los datos multiplexados se identifica mediante PID. Por ejemplo, se asigna 0x1011 al flujo de vídeo que va a usarse para vídeo de una película, se asignan de 0x1100 a 0x111F a los flujos de audio, se asignan de 0x1200 a 0x121F a los flujos de gráficos de presentación, se asignan de 0x1400 a 0x141F a los flujos de gráficos interactivos, se asignan de 0x1B00 a 0x1B1F a los flujos de vídeo que van a usarse para vídeo secundario de la película, y se asignan de 0x1A00 a 0x1A1F a los flujos de audio que van a usarse para el audio secundario que va a mezclarse con el audio primario.
La figura 24 ilustra esquemáticamente cómo se multiplexan datos. En primer lugar, un flujo de vídeo ex235 compuesto por tramas de vídeo y un flujo de audio ex238 compuesto por tramas de audio se transforman en un flujo de paquetes de PES ex236 y un flujo de paquetes de PES ex239, y adicionalmente en paquetes de TS ex237 y paquetes de TS ex240, respectivamente. De manera similar, datos de un flujo de gráficos de presentación ex241 y datos de un flujo de gráficos interactivos ex244 se transforman en un flujo de paquetes de PES ex242 y un flujo de paquetes de PES ex245, y adicionalmente en paquetes de TS ex243 y paquetes de TS ex246, respectivamente. Estos paquetes de TS se multiplexan para dar un flujo para obtener datos multiplexados ex247.
La figura 25 ilustra cómo se almacena un flujo de vídeo en un flujo de paquetes de PES en más detalle. La primera barra en la figura 25 muestra una trama de flujo de vídeo en un flujo de vídeo. La segunda barra muestra el flujo de paquetes de PES. Tal como se indica mediante flechas indicadas como yy1, yy2, yy3 y yy4 en la figura 25, el flujo de vídeo se divide en imágenes como imágenes I, imágenes B e imágenes P, cada una de las cuales es una unidad de presentación de vídeo, y las imágenes se almacenan en una carga útil de cada uno de los paquetes de PES. Cada uno de los paquetes de PES tiene una cabecera de PES, y la cabecera de PES almacena un sello de tiempo de presentación (PTS) que indica un tiempo de visualización de la imagen, y un sello de tiempo de descodificación (DTS) que indica un tiempo de descodificación de la imagen.
La figura 26 ilustra un formato de paquetes de TS que van a escribirse finalmente en los datos multiplexados. Cada uno de los paquetes de TS es un paquete de longitud fija de 188 bytes que incluye una cabecera de TS de 4 bytes que tiene información, tal como un PID para identificar un flujo y una carga útil de TS de 184 bytes para almacenar datos. Los paquetes de PES se dividen y se almacenan en las cargas útiles de TS, respectivamente. Cuando se usa un BD-ROM, a cada uno de los paquetes de TS se le da una cabecera adicional de TP de 4 bytes, dando por tanto como resultado paquetes de fuente de 192 bytes. Los paquetes de fuente se escriben en los datos multiplexados. La cabecera adicional de TP almacena información tal como un sello de tiempo de llegada (ATS). El ATS muestra un tiempo de inicio de transferencia en el que cada uno de los paquetes de TS tiene que transferirse a un filtro de PID. Los paquetes de fuente están dispuestos en los datos multiplexados tal como se muestra en la parte inferior de la figura 26. Los números que incrementan desde el principio de los datos multiplexados se denominan números de paquete de fuente (SPN).
Cada uno de los paquetes de TS incluidos en los datos multiplexados incluye no sólo flujos de audio, vídeo, subtítulos y otros, sino también una tabla de asociación de programa (PAT), una tabla de mapa de programa (PMT), y una referencia de reloj de programa (PCR). La PAT muestra lo que indica un PID en una PMT usada en los datos multiplexados, y un PID de la propia PAT se registra como cero. La PMT almacena PID de los flujos de vídeo, audio, subtítulos y otros incluidos en los datos multiplexados, e información de atributos de los flujos correspondientes a los PID. La PMT también tiene diversos descriptores relacionados con los datos multiplexados. Los descriptores tienen información tal como información de control de copia que muestra si se permite la copia de los datos multiplexados o no. La PCR almacena información de tiempo de STC correspondiente a un ATS que muestra cuándo se transfiere el paquete de PCR a un descodificador, con el fin de lograr la sincronización entre un reloj de tiempo de llegada (ATC) que es un eje de tiempo de ATS, y un reloj de tiempo de sistema (STC) que es un eje de tiempo de PTS y DTS. La figura 27 ilustra la estructura de datos de la PMT en detalle. Se dispone una cabecera de PMT en la parte superior de la PMT. La cabecera de PMT describe la longitud de datos incluidos en la PMT y otros. Se dispone una pluralidad de descriptores relacionados con los datos multiplexados después de la cabecera de PMT. En los descriptores se describe información tal como la información de control de copia. Después de los descriptores, se dispone una pluralidad de fragmentos de información de flujo relacionados con los flujos incluidos en los datos multiplexados. Cada fragmento de información de flujo incluye descriptores de flujo que describen cada uno información, tal como un tipo de flujo para identificar un códec de compresión de un flujo, un PID de flujo, e información de atributos de flujo (tal como una tasa de transmisión de tramas o una relación de aspecto). El número de los descriptores de flujo es igual al número de flujos 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 tal como se muestra en la figura 28. Los archivos de información de datos multiplexados están en una 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 flujo y un mapa de entradas.
Tal como se ilustra en la figura 28, la información de datos multiplexados incluye una tasa de transmisión de sistema, un tiempo de inicio de reproducción, y un tiempo de final de reproducción. La tasa de transmisión de sistema indica la tasa de transferencia máxima a la que un descodificador objetivo de sistema que va a describirse posteriormente transfiere los datos multiplexados a un filtro de PID. Los intervalos de los ATS incluidos en los datos multiplexados se establecen a no más de una tasa de transmisión de sistema. El tiempo de inicio de reproducción indica un PTS en una trama de vídeo en el principio de los datos multiplexados. Se añade un intervalo de una trama a un PTS en una trama de vídeo al final de los datos multiplexados, y el PTS se establece al tiempo de final de reproducción.
Tal como se muestra en la figura 29, se registra un fragmento de información de atributos en la información de atributos de flujo, para cada PID de cada flujo incluido en los datos multiplexados. Cada fragmento de información de atributos tiene diferente información dependiendo de si el flujo correspondiente es un flujo de vídeo, un flujo de audio, un flujo de gráficos de presentación o un flujo de gráficos interactivos. Cada fragmento de información de atributos de flujo de vídeo porta información que incluye qué clase de códec de compresión se usa para comprimir el flujo de vídeo, y la resolución, relación de aspecto y tasa de transmisión de tramas de los fragmentos de datos de imagen que se incluyen en el flujo de vídeo. Cada fragmento de información de atributos de flujo de audio porta información que incluye qué clase de códec de compresión se usa para comprimir el flujo de audio, cuántos canales se incluyen en el flujo de audio, qué lenguaje soporta el flujo de audio y cómo de alta es la frecuencia de muestreo. La información de atributos de flujo de vídeo y la información de atributos de flujo de audio se usan para la inicialización de un descodificador antes de que el reproductor reproduzca la información.
En la presente realización, los datos multiplexados que van a usarse son de un tipo de flujo incluido en la PMT. Además, cuando los datos multiplexados se graban en un medio de grabación, se usa la información de atributos de flujo de vídeo incluida en la información de datos multiplexados. Más específicamente, el método de codificación de imágenes en movimiento o el aparato de codificación de imágenes en movimiento descritos en cada una de las realizaciones incluye una etapa o una unidad para asignar información única que indica datos de vídeo generados mediante el método de codificación de imágenes en movimiento o el aparato de codificación de imágenes en movimiento en cada una de las realizaciones, al tipo de flujo incluido en la PMT o la información de atributos de flujo de vídeo. Con la configuración, los datos de vídeo generados mediante el método de codificación de imágenes en movimiento o el aparato de codificación de imágenes en movimiento descritos en cada una de las realizaciones pueden distinguirse de datos de vídeo que cumplen otra norma.
Además, la figura 30 ilustra etapas del método de descodificación de imágenes en movimiento según la presente realización. En la etapa exS100, se obtiene el tipo de flujo incluido en la PMT o la información de atributos de flujo de vídeo incluida en la información de datos multiplexados a partir de los datos multiplexados. A continuación, en la etapa exS101, se determina si el tipo del flujo o la información de atributos de flujo de vídeo indica o no que los datos multiplexados se generan mediante el método de codificación de imágenes en movimiento o el aparato de codificación de imágenes en movimiento en cada una de las realizaciones. Cuando se determina que el tipo de flujo o la información de atributos de flujo de vídeo indica que los datos multiplexados se generan mediante el método de codificación de imágenes en movimiento o el aparato de codificación de imágenes en movimiento en cada una de las realizaciones, en la etapa exS102, se realiza la descodificación mediante el método de descodificación de imágenes en movimiento en cada una de las realizaciones. Además, cuando el tipo de flujo o la información de atributos de flujo de vídeo indica cumplimiento de las normas convencionales, tales como MPEG-2, MPEG-4 AVC, y VC-1, en la etapa exS103, se realiza la descodificación mediante un método de descodificación de imágenes en movimiento según las normas convencionales.
Como tal, asignar un nuevo valor único al tipo de flujo o la información de atributos de flujo de vídeo permite la determinación de si el método de descodificación de imágenes en movimiento o el aparato de descodificación de imágenes en movimiento que se describen en cada una de las realizaciones puede realizar la descodificación o no. Incluso cuando se introducen datos multiplexados que cumplen una norma diferente, puede seleccionarse un método o aparato de descodificación apropiado. Por tanto, se vuelve posible descodificar información sin ningún error. Además, el método o aparato de codificación de imágenes en movimiento, o el método o aparato de descodificación de imágenes en movimiento en la presente realización pueden usarse en los dispositivos y sistemas descritos anteriormente.
(Realización 5)
Cada uno del método de codificación de imágenes en movimiento, el aparato de codificación de imágenes en movimiento, el método de descodificación de imágenes en movimiento y el aparato de descodificación de imágenes en movimiento en cada una de las realizaciones se obtiene normalmente en forma de un circuito integrado o un circuito integrado a gran escala (LSI). Como ejemplo del LSI, la figura 31 ilustra una configuración del LSI ex500 que se fabrica en un chip. El LSI ex500 incluye elementos ex501, ex502, ex503, ex504, ex505, ex506, ex507, ex508, y ex509 que van a describirse a continuación, y los elementos se conectan entre sí a través de un bus ex510. La unidad de circuito de suministro de potencia ex505 se activa suministrando potencia a cada uno de los elementos cuando se activa la unidad de circuito de suministro de potencia ex505.
Por ejemplo, cuando se realiza la codificación, el LSI ex500 recibe una señal de AV de un micrófono ex117, una cámara ex113, y otros a través de una IO AV ex509 bajo el control de una unidad de control ex501 que incluye una CPU ex502, un controlador de memoria ex503, un controlador de flujo ex504, y una unidad de control de frecuencia motriz ex512. La señal de AV recibida se almacena temporalmente en una memoria externa ex511, tal como una SDRAM. Bajo el control de la unidad de control ex501, los datos almacenados se dividen en porciones de datos según la cantidad y velocidad de procesamiento que va a transmitirse a una unidad de procesamiento de señales ex507. Entonces, la unidad de procesamiento de señales ex507 codifica una señal de audio y/o una señal de vídeo. En este caso, la codificación de la señal de vídeo es la codificación descrita en cada una de las realizaciones. Además, la unidad de procesamiento de señales ex507 multiplexa algunas veces los datos de audio codificados y los datos de vídeo codificados, y un IO de flujo ex506 proporciona los datos multiplexados al exterior. Los datos multiplexados proporcionados se transmiten a la estación base ex107, o se escriben en el medio de grabación ex215. Cuando se multiplexan conjuntos de datos, los datos deben almacenarse temporalmente en la memoria intermedia ex508 de modo que los conjuntos de datos se sincronizan entre sí.
Aunque la memoria ex511 es un elemento externo al LSI ex500, puede incluirse en el LSI ex500. La memoria intermedia ex508 no se limita a una memoria intermedia, sino que puede estar compuesta por memorias intermedias. Además, el LSI ex500 puede fabricarse en un chip o una pluralidad de chips.
Además, aunque la unidad de control ex501 incluye la CPU ex502, el controlador de memoria ex503, el controlador de flujo ex504, la unidad de control de frecuencia motriz ex512, la configuración de la unidad de control ex501 no se limita a ello. 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. Además, como otro ejemplo, la CPU ex502 puede servir como, o 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 un caso de este tipo, 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 usado aquí es LSI, pero también puede denominarse IC, sistema LSI, super-LSI, o ultra-LSI dependiendo del grado de integración.
Además, las maneras de lograr la integración no se limitan al LSI, y un circuito especial o un procesador de uso general, etc., también pueden lograr la integración. Puede usarse una matriz de compuerta programable en el campo (FPGA) que puede programarse tras fabricar los LSI, o un procesador reconfigurable que permite la reconfiguración de la conexión o configuración de un LSI, con el mismo fin.
En el futuro, con el avance en la tecnología de semiconductores, una tecnología totalmente nueva puede sustituir al LSI. Los bloques funcionales pueden integrarse usando una tecnología de este tipo. La posibilidad es que la presente invención se aplique a la biotecnología.
(Realización 6)
Cuando se descodifican datos de vídeo generados en el método de codificación de imágenes en movimiento o mediante el aparato de codificación de imágenes en movimiento descritos en cada una de las realizaciones, en comparación con cuando se descodifican datos de vídeo que cumplen con una norma convencional, tal como MPEG-2, MPEG-4 AVC y VC-1, la cantidad de procesamiento probablemente aumenta. Por tanto, se necesita establecer el LSI ex500 a una frecuencia motriz superior a la de la CPU ex502 que va a usarse cuando se descodifican datos de vídeo según la norma convencional. Sin embargo, cuando se establece una frecuencia motriz superior, existe un problema en cuanto a que aumenta el consumo de potencia.
Con el fin de resolver el problema, el aparato de descodificación de imágenes en movimiento, tales como la televisión ex300 y el LSI ex500 está configurado para determinar qué norma cumplen los datos de vídeo, y conmutar entre las frecuencias motrices según la norma determinada. La figura 32 ilustra una configuración ex800 en la presente realización. Una unidad de conmutación de frecuencia motriz ex803 establece una frecuencia motriz a una frecuencia motriz superior cuando se generan datos de vídeo mediante el método de codificación de imágenes en movimiento o el aparato de codificación de imágenes en movimiento descritos en cada una de las realizaciones. Entonces, la unidad de conmutación de frecuencia motriz ex803 le indica a una unidad de procesamiento de descodificación ex801 que ejecute el método de descodificación de imágenes en movimiento descrito en cada una de las realizaciones para descodificar los datos de vídeo. Cuando los datos de vídeo cumplen con la norma convencional, la unidad de conmutación de frecuencia motriz ex803 establece una frecuencia motriz a una frecuencia motriz inferior a la de los datos de vídeo generados mediante el método de codificación de imágenes en movimiento o el aparato de codificación de imágenes en movimiento descritos en cada una de las realizaciones. Entonces, la unidad de conmutación de frecuencia motriz ex803 le indica a la unidad de procesamiento de descodificación ex802 que cumpla con la norma convencional para descodificar los datos de vídeo.
Más específicamente, la unidad de conmutación de frecuencia motriz ex803 incluye la CPU ex502 y la unidad de control de frecuencia motriz ex512 en la figura 31. En este caso, cada una de la unidad de procesamiento de descodificación ex801 que ejecuta el método de descodificación de imágenes en movimiento descrito en cada una de las realizaciones y la unidad de procesamiento de descodificación ex802 que cumple con la norma convencional corresponde a la unidad de procesamiento de señales ex507 en la figura 31. La CPU ex502 determina qué norma cumplen los datos de vídeo. Entonces, la unidad de control de frecuencia motriz ex512 determina una frecuencia motriz basándose en una señal procedente de la CPU ex502. Además, la unidad de procesamiento de señales ex507 descodifica los datos de vídeo basándose en la señal procedente de la CPU ex502. Por ejemplo, la información de identificación descrita en la realización 4 se usa probablemente para identificar los datos de vídeo. La información de identificación no se limita a la descrita en la realización 4 sino que puede ser cualquier información siempre que la información indiqué qué norma cumplen los datos de vídeo. Por ejemplo, cuando puede determinarse qué norma cumplen los datos de vídeo basándose en una señal externa para determinar que los datos de vídeo se usan para una televisión o un disco, etc., la determinación puede realizarse basándose en una señal externa de este tipo. Además, la CPU ex502 selecciona una frecuencia motriz basándose, por ejemplo, en una tabla de consulta en la que las normas de los datos de vídeo están asociadas con las frecuencias motrices tal como se muestra en la figura 34. La frecuencia motriz puede seleccionarse almacenando 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 mediante la CPU ex502.
La figura 33 ilustra etapas para ejecutar un método en la presente realización. En primer lugar, en la etapa exS200, la unidad de procesamiento de señales ex507 obtiene información de identificación a partir de los datos multiplexados. A continuación, en la etapa exS201, la CPU ex502 determina si los datos de vídeo se generan mediante el método de codificación y el aparato de codificación descritos cada una de las realizaciones o no, basándose en la información de identificación. Cuando los datos de vídeo se generan mediante el método de codificación de imágenes en movimiento y el aparato de codificación de imágenes en movimiento descritos en cada una de las realizaciones, en la etapa exS202, la CPU ex502 transmite una señal para establecer la frecuencia motriz a una frecuencia motriz superior a la unidad de control de frecuencia motriz ex512. Entonces, la unidad de control de frecuencia motriz ex512 establece la frecuencia motriz a la frecuencia motriz superior. Por otro lado, cuando la información de identificación indica que los datos de vídeo cumplen con la norma convencional, tal como MPEG-2, MPEG-4 AVC y VC-1, en la etapa exS203, la CPU ex502 transmite una señal para establecer la frecuencia motriz a una frecuencia motriz inferior a la unidad de control de frecuencia motriz ex512. Entonces, la unidad de control de frecuencia motriz ex512 establece la frecuencia motriz a la frecuencia motriz inferior a la del caso en el que los datos de vídeo se generan mediante el método de codificación de imágenes en movimiento y el aparato de codificación de imágenes en movimiento descritos en cada de realización.
Además, junto con la conmutación de las frecuencias motrices, puede mejorarse el efecto de conservación de potencia cambiando la tensión que va a aplicarse al LSI ex500 o un aparato que incluye el LSI ex500. Por ejemplo, cuando se establece la frecuencia motriz para ser inferior, la tensión que va a aplicarse al LSI ex500 o al aparato que incluye el LSI ex500 se establece probablemente a una tensión inferior a la del caso en el que se establece la frecuencia motriz para ser superior.
Además, cuando la cantidad de procesamiento para descodificar es mayor, la frecuencia motriz puede establecerse para ser superior, y cuando la cantidad de procesamiento para descodificar es menor, la frecuencia motriz puede establecerse para ser inferior como método para establecer la frecuencia motriz. Por tanto, el método de establecimiento no se limita a los descritos anteriormente. Por ejemplo, cuando la cantidad de procesamiento para descodificar datos de vídeo según MPEG-4 AVC es mayor que la cantidad de procesamiento para descodificar datos de vídeo generados mediante el método de codificación de imágenes en movimiento y el aparato de codificación de imágenes en movimiento descritos en cada una de las realizaciones, la frecuencia motriz se establece probablemente en un orden inverso al establecimiento descrito anteriormente.
Además, el método para establecer la frecuencia motriz no se limita al método para establecer la frecuencia motriz para que sea inferior. Por ejemplo, cuando la información de identificación indica que los datos de vídeo se generan mediante el método de codificación de imágenes en movimiento y el aparato de codificación de imágenes en movimiento descritos en cada una de las realizaciones, la tensión que va a aplicarse al LSI ex500 o al aparato que incluye el LSI ex500 se establece probablemente para ser superior. Cuando la información de identificación indica que los datos de vídeo cumplen con la norma convencional, tal como MPEG-2, MPEG-4 AVC, y VC-1, la tensión que va a aplicarse al LSI ex500 o al aparato que incluye el LSI ex500 se establece probablemente para ser inferior. Como otro ejemplo, cuando la información de identificación indica que los datos de vídeo se generan mediante el método de codificación de imágenes en movimiento y el aparato de codificación de imágenes en movimiento descritos en cada una de las realizaciones, probablemente el accionamiento de la CPU ex502 no tiene que suspenderse. Cuando la información de identificación indica que los datos de vídeo cumplen con la norma convencional, tal como MPEG-2, MPEG-4 AVC y VC-1, el accionamiento de la CPU ex502 se suspende probablemente en un momento dado porque la CPU ex502 tiene capacidad de procesamiento adicional. Incluso cuando la información de identificación indica que los datos de vídeo se generan mediante el método de codificación de imágenes en movimiento y el aparato de codificación de imágenes en movimiento descritos en cada una de las realizaciones, en el caso en el que la CPU ex502 tiene capacidad de procesamiento adicional, probablemente se suspende el accionamiento de la CPU ex502 en un momento dado. En un caso de este tipo, el tiempo de suspensión se establece probablemente para ser más corto que en el caso en el que la información de identificación indica que los datos de vídeo cumplen con la norma convencional, tal como MPEG-2, MPEG-4 AVC y VC-1.
Por consiguiente, el efecto de conservación de potencia puede mejorarse conmutando entre las frecuencias motrices según la norma que cumplen los datos de vídeo. Además, cuando el LSI ex500 o el aparato que incluye el LSI ex500 se acciona usando una batería, la vida útil de la batería puede prolongarse con el efecto de conservación de potencia.
(Realización 7)
Hay casos en los que se proporciona una pluralidad de datos de vídeo que cumplen con diferentes normas a los dispositivos y sistemas, tales como una televisión y un teléfono celular. Con el fin de permitir descodificar la pluralidad de datos de vídeo que cumplen con las diferentes normas, la unidad de procesamiento de señales ex507 del LSI ex500 necesita cumplir con las diferentes normas. Sin embargo, surgen los problemas del aumento a escala del circuito del LSI ex500 y el aumento del coste con el uso individual de las unidades de procesamiento de señales ex507 que cumplen con las respectivas normas.
Con el fin de resolver el problema, lo que se concibe es una configuración en la que la unidad de procesamiento de descodificación para implementar el método de descodificación de imágenes en movimiento descrito en cada una de las realizaciones y la unidad de procesamiento de descodificación que cumple con la norma convencional, tal como MPEG-2, MPEG-4 AVC y VC-1, se comparten parcialmente. Ex900 en la figura 35A muestra un ejemplo de la configuración. Por ejemplo, el método de descodificación de imágenes en movimiento descrito en cada una de las realizaciones y el método de descodificación de imágenes en movimiento que cumple con MPEG-4 AVC tienen, parcialmente en común, los detalles de procesamiento, tal como codificación por entropía, cuantificación inversa, filtración de desbloqueo y predicción de movimiento compensado. Los detalles de procesamiento que van a compartirse incluyen probablemente el uso de una unidad de procesamiento de descodificación ex902 que cumple con MPEG-4 AVC. En cambio, se usa probablemente una unidad de procesamiento de descodificación dedicada ex901 para el resto del procesamiento único para un aspecto de la presente invención. Dado que el aspecto de la presente invención se caracteriza en particular por descodificación por entropía, por ejemplo, la unidad de procesamiento de descodificación dedicada ex901 se usa para descodificación por entropía. De lo contrario, la unidad de procesamiento de descodificación se comparte probablemente para una de filtración de desbloqueo, compensación de movimiento y cuantificación inversa, o todos los procesamientos. La unidad de procesamiento de descodificación para implementar el método de descodificación de imágenes en movimiento descrito en cada una de las realizaciones puede compartirse para el procesamiento que va a compartirse, y puede usarse una unidad de procesamiento de descodificación dedicada para un procesamiento único para el de MPEG-4 AVC.
Además, ex1000 en la figura 35B muestra otro ejemplo en el que se comparte parcialmente el procesamiento. Este ejemplo usa una configuración que incluye una unidad de procesamiento de descodificación dedicada ex1001 que soporta el procesamiento único para un aspecto de la presente invención, una unidad de procesamiento de descodificación dedicada ex1002 que soporta el procesamiento único para otra norma convencional, y una unidad de procesamiento de descodificación ex1003 que soporta el procesamiento que va a compartirse entre el método de descodificación de imágenes en movimiento según el aspecto de la presente invención y el método de descodificación de imágenes en movimiento convencional. En este caso, las unidades de procesamiento de descodificación dedicadas ex1001 y ex1002 no están necesariamente especializadas para el procesamiento según el aspecto de la presente invención y el procesamiento de la norma convencional, respectivamente, y pueden ser las que pueden implementar un procesamiento general. Además, la configuración de la presente realización puede implementarse mediante el LSI ex500.
Como tal, es posible reducir la escala del circuito de un LSI y reducir el coste compartiendo la unidad de procesamiento de descodificación para el procesamiento que va a compartirse entre el método de descodificación de imágenes en movimiento según el aspecto de la presente invención y el método de descodificación de imágenes en movimiento según la norma convencional.
Aplicabilidad industrial
El aparato de codificación de imágenes y el aparato de descodificación de imágenes según un aspecto de la presente invención pueden aplicarse a receptores de televisión, grabadores de vídeo digital, sistemas de navegación de coche, teléfonos móviles, cámaras digitales o cámaras de vídeo digitales, por ejemplo.
Lista de signos de referencia
100, 200, 1000 Aparato de descodificación de imágenes
101, 1001 Primera unidad de descodificación
102, 1002 Segunda unidad de descodificación
103, 1003 Unidad de control de descodificación
104, 1004 Unidad de reconstrucción
110 Unidad de descodificación aritmética
210 Unidad de descodificación por entropía
220, 430 Unidad de cuantificación inversa y transformada inversa
225, 435 Sumador
230, 440 Filtro de desbloqueo
240, 450 Memoria
250, 460 Unidad de intra-predicción
260, 480 Unidad de compensación de movimiento
270, 490 Conmutador de intra/inter-predicción
300, 400 Aparato de codificación de imágenes
310 Unidad de binarización
320 Unidad de codificación aritmética
321 Primera unidad de codificación
322 Segunda unidad de codificación
323 Unidad de control de codificación
405 Restador
410 Unidad de transformada y cuantificación
420 Unidad de codificación por entropía
470 Unidad de estimación de movimiento

Claims (1)

  1. REIVINDICACIONES
    Un método de codificación para codificar información de última posición que indica una posición de un último coeficiente distinto de cero en un orden predeterminado en un bloque actual que va a codificarse, comprendiendo el método de codificación:
    binarizar (S401, S405) la información de última posición para generar (i) una señal binaria que incluye una primera señal que tiene una longitud menor que o igual a una longitud máxima predeterminada y no incluye una segunda señal o (ii) una señal binaria que incluye la primera señal que tiene la longitud máxima predeterminada y la segunda señal;
    primera codificación (S402, S405) para codificar de manera aritmética cada uno de los símbolos binarios incluidos en la primera señal usando un contexto conmutado entre una pluralidad de contextos según una posición de bit del símbolo binario; y
    segunda codificación (S404, S407) para codificar de manera aritmética la segunda señal usando una probabilidad fijada cuando la señal binaria incluye la segunda señal,
    caracterizado porque en la primera codificación,
    un símbolo binario en una última posición de bit de la primera señal se codifica de manera aritmética usando un contexto exclusivo para la última posición de bit, cuando la primera señal tiene la longitud máxima predeterminada; y
    cada uno de los símbolos binarios en dos o más posiciones de bits distintas de la última posición de bit de la primera señal se codifica de manera aritmética usando un contexto común para las dos o más posiciones de bits.
    Un aparato de codificación para codificar información de última posición que indica una posición de un último coeficiente distinto de cero en un orden predeterminado en un bloque actual que va a codificarse, comprendiendo el aparato de codificación:
    un conjunto de circuitos de procesamiento; y
    almacenamiento acoplado al conjunto de circuitos de procesamiento; en el que
    el conjunto de circuitos de procesamiento está adaptado para realizar el método de codificación según la reivindicación 1.
    Un aparato de codificación para codificar información de última posición que indica una posición de un último coeficiente distinto de cero en un orden predeterminado en un bloque actual que va a codificarse, comprendiendo el aparato de codificación:
    una unidad de binarización (310) configurada para binarizar la información de última posición para generar (i) una señal binaria que incluye una primera señal que tiene una longitud menor que o igual a una longitud máxima predeterminada y no incluye una segunda señal o (ii) una señal binaria que incluye la primera señal que tiene la longitud máxima predeterminada y la segunda señal;
    una primera unidad de codificación (321) configurada para codificar de manera aritmética cada uno de los símbolos binarios incluidos en la primera señal usando un contexto conmutado entre una pluralidad de contextos según una posición de bit del símbolo binario;
    y una segunda unidad de codificación (322) configurada para codificar de manera aritmética la segunda señal usando una probabilidad fijada cuando la señal binaria incluye la segunda señal;
    caracterizado porque la primera unidad de codificación (321) está configurada
    para codificar de manera aritmética un símbolo binario en una última posición de bit de la primera señal usando un contexto exclusivo para la última posición de bit, cuando la primera señal tiene la longitud máxima predeterminada; y
    para codificar de manera aritmética cada uno de los símbolos binarios en dos o más posiciones de bits distintas de la última posición de bit de la primera señal usando un contexto común para las dos o más posiciones de bits.
ES17204865T 2011-11-07 2012-11-06 Método de codificación de imágenes y dispositivo de codificación de imágenes Active ES2871858T3 (es)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US201161556398P 2011-11-07 2011-11-07

Publications (1)

Publication Number Publication Date
ES2871858T3 true ES2871858T3 (es) 2021-11-02

Family

ID=48289424

Family Applications (5)

Application Number Title Priority Date Filing Date
ES12848721.2T Active ES2636258T3 (es) 2011-11-07 2012-11-06 Método de descodificación de imágenes y dispositivo de descodificación de imágenes
ES16195297.3T Active ES2664851T3 (es) 2011-11-07 2012-11-06 Codificación aritmética de la posición del último coeficiente distino de cero
ES17204865T Active ES2871858T3 (es) 2011-11-07 2012-11-06 Método de codificación de imágenes y dispositivo de codificación de imágenes
ES21158451T Active ES2938079T3 (es) 2011-11-07 2012-11-06 Método de descodificación de imágenes y dispositivo de descodificación de imágenes
ES21158463T Active ES2940577T3 (es) 2011-11-07 2012-11-06 Método de descodificación de imágenes y dispositivo de descodificación de imágenes

Family Applications Before (2)

Application Number Title Priority Date Filing Date
ES12848721.2T Active ES2636258T3 (es) 2011-11-07 2012-11-06 Método de descodificación de imágenes y dispositivo de descodificación de imágenes
ES16195297.3T Active ES2664851T3 (es) 2011-11-07 2012-11-06 Codificación aritmética de la posición del último coeficiente distino de cero

Family Applications After (2)

Application Number Title Priority Date Filing Date
ES21158451T Active ES2938079T3 (es) 2011-11-07 2012-11-06 Método de descodificación de imágenes y dispositivo de descodificación de imágenes
ES21158463T Active ES2940577T3 (es) 2011-11-07 2012-11-06 Método de descodificación de imágenes y dispositivo de descodificación de imágenes

Country Status (19)

Country Link
US (5) US8781001B2 (es)
EP (5) EP3310060B1 (es)
JP (5) JP5415656B2 (es)
KR (5) KR102107644B1 (es)
CN (5) CN107087189B (es)
AU (1) AU2012333936B9 (es)
BR (1) BR112013031212B8 (es)
CA (1) CA2838219C (es)
ES (5) ES2636258T3 (es)
HU (3) HUE054498T2 (es)
LT (3) LT3849199T (es)
MX (1) MX2013013777A (es)
MY (1) MY164594A (es)
PH (1) PH12016502481A1 (es)
PL (5) PL3139617T3 (es)
RU (2) RU2714377C2 (es)
SG (1) SG195276A1 (es)
TW (2) TWI580247B (es)
WO (1) WO2013069255A1 (es)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2781087A4 (en) * 2011-11-15 2015-08-12 Intel Corp VIDEO ENCODER WITH CODING CABO WITH TWO CELLS PER CLOCK
WO2013175736A1 (ja) 2012-05-25 2013-11-28 パナソニック株式会社 動画像符号化方法、動画像符号化装置、動画像復号方法、動画像復号装置、および、動画像符号化復号装置
RU2623800C2 (ru) 2012-05-25 2017-06-29 Сан Пэтент Траст Способ кодирования видеоизображений, способ декодирования видеоизображений, устройство кодирования видеоизображений, устройство декодирования видеоизображений и устройство кодирования-декодирования видеоизображений
RU2679984C2 (ru) 2012-05-25 2019-02-14 Вилос Медиа Интернэшнл Лимитед Способ кодирования изображений, устройство кодирования изображений, способ декодирования изображений, устройство декодирования изображений и устройство кодирования и декодирования изображений
EP4020990A1 (en) * 2012-06-04 2022-06-29 Sun Patent Trust Video image encoding device, video image decoding device
KR20150116840A (ko) * 2013-01-02 2015-10-16 엘지전자 주식회사 비디오 신호 처리 방법 및 장치
GB2521828A (en) * 2013-12-23 2015-07-08 Sony Corp Data encoding and decoding
US9769417B1 (en) * 2014-11-05 2017-09-19 Lattice Semiconductor Corporation Metadata transfer in audio video systems
US10171810B2 (en) 2015-06-22 2019-01-01 Cisco Technology, Inc. Transform coefficient coding using level-mode and run-mode
US10616604B2 (en) * 2015-09-01 2020-04-07 Qualcomm Incorporated Coefficient level coding in video coding
CN109788285B (zh) * 2019-02-27 2020-07-28 北京大学深圳研究生院 一种量化系数结束标志位的上下文模型选取方法及装置
WO2020196655A1 (ja) * 2019-03-25 2020-10-01 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法、および復号方法
KR20220038166A (ko) * 2019-08-31 2022-03-25 엘지전자 주식회사 영상 코딩 시스템에서 단순화된 레지듀얼 데이터 코딩을 사용하는 영상 디코딩 방법 및 그 장치
TWI726525B (zh) * 2019-12-09 2021-05-01 新唐科技股份有限公司 影像二值化方法與電子裝置
JP7311036B2 (ja) * 2020-03-31 2023-07-19 富士通株式会社 画像処理制御装置、画像処理制御プログラム、及び画像処理制御方法

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003003745A1 (en) 2001-06-29 2003-01-09 Ntt Docomo, Inc. Image encoder, image decoder, image encoding method, and image decoding method
US6856701B2 (en) * 2001-09-14 2005-02-15 Nokia Corporation Method and system for context-based adaptive binary arithmetic coding
US7206448B2 (en) * 2002-02-28 2007-04-17 At&T Corp. System and method for using pattern vectors for video and image coding and decoding
US6795584B2 (en) * 2002-10-03 2004-09-21 Nokia Corporation Context-based adaptive variable length coding for adaptive block transforms
JP2005184511A (ja) * 2003-12-19 2005-07-07 Nec Access Technica Ltd デジタル画像符号化装置及びその方法並びにデジタル画像復号化装置及びその方法
MX2007000459A (es) * 2004-07-14 2007-07-25 Agency Science Tech & Res Codificacion y descodificacion de senales, basadas en contexto.
KR100624432B1 (ko) * 2004-08-05 2006-09-19 삼성전자주식회사 내용 기반 적응적 이진 산술 복호화 방법 및 장치
US8311119B2 (en) * 2004-12-31 2012-11-13 Microsoft Corporation Adaptive coefficient scan order
KR100636229B1 (ko) * 2005-01-14 2006-10-19 학교법인 성균관대학 신축형 부호화를 위한 적응적 엔트로피 부호화 및 복호화방법과 그 장치
JP4542107B2 (ja) * 2005-07-22 2010-09-08 三菱電機株式会社 画像復号装置及び画像復号方法
KR100873636B1 (ko) * 2005-11-14 2008-12-12 삼성전자주식회사 단일 부호화 모드를 이용하는 영상 부호화/복호화 방법 및장치
DE102006012449A1 (de) * 2006-03-17 2007-09-20 Benq Mobile Gmbh & Co. Ohg Verfahren zum Dekodieren eines Datenstroms und Empfänger
US7778472B2 (en) * 2006-03-27 2010-08-17 Qualcomm Incorporated Methods and systems for significance coefficient coding in video compression
CN100551072C (zh) * 2006-06-05 2009-10-14 华为技术有限公司 一种编码中量化矩阵选择方法、装置及编解码方法及系统
JP4660433B2 (ja) * 2006-06-29 2011-03-30 株式会社東芝 符号化回路、復号回路、エンコーダ回路、デコーダ回路、cabac処理方法
CN101175210B (zh) * 2006-10-30 2010-08-11 中国科学院计算技术研究所 用于视频预测残差系数解码的熵解码方法及熵解码装置
JP2008227946A (ja) * 2007-03-13 2008-09-25 Toshiba Corp 画像復号装置
RU2420023C1 (ru) * 2007-03-13 2011-05-27 Нокиа Корпорейшн Система и способ кодирования и декодирования видеосигналов
MX2009010182A (es) * 2007-03-23 2009-10-12 Thomson Licensing Modificar una corriente de bits codificada.
TWI341657B (en) * 2007-04-03 2011-05-01 Nat Univ Tsing Hua Cabac decoding method
US7535387B1 (en) * 2007-09-10 2009-05-19 Xilinx, Inc. Methods and systems for implementing context adaptive binary arithmetic coding
CN101478672B (zh) * 2008-01-04 2012-12-19 华为技术有限公司 视频编码、解码方法及装置和视频处理系统
US8594366B2 (en) * 2008-08-19 2013-11-26 Thomson Licensing Context-based adaptive binary arithmetic coding (CABAC) video stream compliance
EP2182732A1 (en) * 2008-10-28 2010-05-05 Panasonic Corporation Switching between scans in image coding
JP4962476B2 (ja) * 2008-11-28 2012-06-27 ソニー株式会社 算術復号装置
US20110194613A1 (en) * 2010-02-11 2011-08-11 Qualcomm Incorporated Video coding with large macroblocks
US20120163448A1 (en) * 2010-12-22 2012-06-28 Qualcomm Incorporated Coding the position of a last significant coefficient of a video block in video coding
US20120207400A1 (en) * 2011-02-10 2012-08-16 Hisao Sasai Image coding method, image coding apparatus, image decoding method, image decoding apparatus, and image coding and decoding apparatus
CN102186075B (zh) * 2011-04-28 2012-10-10 北京大学 一种熵编码器及其实现方法

Also Published As

Publication number Publication date
US10631014B2 (en) 2020-04-21
ES2664851T3 (es) 2018-04-23
JP2014075808A (ja) 2014-04-24
ES2636258T3 (es) 2017-10-05
RU2714377C2 (ru) 2020-02-14
US20170064340A1 (en) 2017-03-02
US9712849B2 (en) 2017-07-18
BR112013031212B1 (pt) 2022-06-28
JP2018121358A (ja) 2018-08-02
KR20200029623A (ko) 2020-03-18
CN107087188A (zh) 2017-08-22
EP2779644A4 (en) 2015-04-29
KR102073868B1 (ko) 2020-02-05
CN107087188B (zh) 2020-03-20
CA2838219C (en) 2018-09-25
CA2838219A1 (en) 2013-05-16
AU2012333936A1 (en) 2014-01-09
US10334280B2 (en) 2019-06-25
EP2779644A1 (en) 2014-09-17
SG195276A1 (en) 2013-12-30
RU2017102475A (ru) 2018-12-19
HUE061628T2 (hu) 2023-07-28
MX2013013777A (es) 2014-01-08
US20170289578A1 (en) 2017-10-05
CN107087187B (zh) 2019-12-17
EP3310060B1 (en) 2021-04-07
CN107087186A (zh) 2017-08-22
PL3139617T3 (pl) 2018-06-29
PH12016502481B1 (en) 2017-04-10
LT3849198T (lt) 2023-01-25
RU2610249C2 (ru) 2017-02-08
AU2012333936B2 (en) 2016-07-21
KR102107645B1 (ko) 2020-05-08
EP3849199B1 (en) 2022-12-28
KR102107643B1 (ko) 2020-05-08
KR20140097973A (ko) 2014-08-07
CN107087189A (zh) 2017-08-22
KR102090722B1 (ko) 2020-03-19
ES2938079T3 (es) 2023-04-04
JP6125408B2 (ja) 2017-05-10
KR20200011552A (ko) 2020-02-03
EP3849198B1 (en) 2022-12-28
EP3139617A1 (en) 2017-03-08
KR20200029622A (ko) 2020-03-18
JP6498811B2 (ja) 2019-04-10
WO2013069255A1 (ja) 2013-05-16
PL2779644T3 (pl) 2017-10-31
JP5450883B1 (ja) 2014-03-26
JP2017147742A (ja) 2017-08-24
HUE054498T2 (hu) 2021-09-28
AU2012333936B9 (en) 2017-02-09
RU2017102475A3 (es) 2019-12-26
LT3310060T (lt) 2021-05-10
CN107087187A (zh) 2017-08-22
MY164594A (en) 2018-01-15
US8781001B2 (en) 2014-07-15
EP3139617B1 (en) 2018-01-17
TW201334548A (zh) 2013-08-16
CN103597830B (zh) 2017-03-22
KR102107644B1 (ko) 2020-05-08
TW201722151A (zh) 2017-06-16
PL3310060T3 (pl) 2021-09-06
PL3849199T3 (pl) 2023-04-17
TWI580247B (zh) 2017-04-21
PL3849198T3 (pl) 2023-02-13
TWI604717B (zh) 2017-11-01
JP5415656B2 (ja) 2014-02-12
BR112013031212A8 (pt) 2017-10-31
HUE060954T2 (hu) 2023-04-28
EP3849198A1 (en) 2021-07-14
EP3310060A1 (en) 2018-04-18
RU2013153531A (ru) 2015-12-20
ES2940577T3 (es) 2023-05-09
US9491465B2 (en) 2016-11-08
US20140086335A1 (en) 2014-03-27
BR112013031212B8 (pt) 2022-07-19
EP3849199A1 (en) 2021-07-14
JP2014075807A (ja) 2014-04-24
AU2012333936A2 (en) 2014-01-23
BR112013031212A2 (pt) 2017-08-08
CN107087189B (zh) 2018-05-01
CN107087186B (zh) 2019-11-29
JPWO2013069255A1 (ja) 2015-04-02
CN103597830A (zh) 2014-02-19
KR20200029624A (ko) 2020-03-18
EP2779644B1 (en) 2017-05-10
US20190261023A1 (en) 2019-08-22
PH12016502481A1 (en) 2017-04-10
JP6313501B2 (ja) 2018-04-18
US20130148742A1 (en) 2013-06-13
LT3849199T (lt) 2023-01-25

Similar Documents

Publication Publication Date Title
ES2871858T3 (es) Método de codificación de imágenes y dispositivo de codificación de imágenes
ES2944949T3 (es) Método y aparato de codificación de imágenes
JP5404961B1 (ja) 復号方法および復号装置
ES2936333T3 (es) Procedimiento de codificación de imágenes de vídeo, procedimiento de decodificación de imágenes de vídeo, dispositivo de codificación de imágenes de vídeo, dispositivo de decodificación de imágenes de vídeo y dispositivo de codificación-decodificación de imágenes de vídeo
ES2754784T3 (es) Procedimiento de decodificación de vídeo, aparato de decodificación de vídeo
WO2012108205A1 (ja) 画像符号化方法、画像符号化装置、画像復号方法、画像復号装置および画像符号化復号装置
KR20130139224A (ko) 화상 부호화 방법, 화상 복호 방법, 화상 부호화 장치, 화상 복호 장치 및 화상 부호화 복호 장치
ES2936058T3 (es) Procedimiento y aparato de codificación de imágenes
WO2012105267A1 (ja) 画像符号化方法