ES2730953T3 - Método de decodificación de señal, dispositivo de decodificación de señal, y programa de decodificación de señal - Google Patents

Método de decodificación de señal, dispositivo de decodificación de señal, y programa de decodificación de señal Download PDF

Info

Publication number
ES2730953T3
ES2730953T3 ES15155943T ES15155943T ES2730953T3 ES 2730953 T3 ES2730953 T3 ES 2730953T3 ES 15155943 T ES15155943 T ES 15155943T ES 15155943 T ES15155943 T ES 15155943T ES 2730953 T3 ES2730953 T3 ES 2730953T3
Authority
ES
Spain
Prior art keywords
coding
probability
configuration information
information
signal
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.)
Expired - Lifetime
Application number
ES15155943T
Other languages
English (en)
Inventor
Mitsuru Kobayashi
Minoru Etoh
Satoru Adachi
Choong Seng Boon
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.)
NTT Docomo Inc
Original Assignee
NTT Docomo Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NTT Docomo Inc filed Critical NTT Docomo Inc
Application granted granted Critical
Publication of ES2730953T3 publication Critical patent/ES2730953T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • 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
    • H03M7/4006Conversion to or from arithmetic code
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/07Arithmetic codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/154Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/184Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/192Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computing Systems (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Error Detection And Correction (AREA)

Abstract

Un método de decodificación de señal de video de llevar a cabo una decodificación aritmética de coeficientes de transformada ortogonal de una señal de video codificada en unidades de partición, usando un diagrama de transición de estados en el que cada uno de entre una pluralidad de números de estado está asociado a una probabilidad de un respectivo símbolo menos probable y/o una probabilidad de un respectivo símbolo más probable, y donde una variación de probabilidades es escalonada, de modo que al menos dos de los números de estado se asocian a la misma probabilidad, donde el método de decodificación de señal comprende: obtener un número de estado inicial basado en un valor de paso de cuantización e información de configuración incluida en una cabecera de una unidad de partición de la señal de video codificada, donde la información de configuración es un código de longitud fija o un código de longitud variable respectivamente asignado a cada uno de los al menos dos números de estado asociados a la misma probabilidad; y decodificar aritméticamente los coeficientes de transformada ortogonal de la señal de video codificada usando la probabilidad del respectivo símbolo menos probable asociado al número de estado inicial obtenido en el diagrama de transición como un valor inicial de la probabilidad del respectivo símbolo menos probable en la decodificación aritmética de los coeficientes de transformada ortogonal en la unidad de partición.

Description

DESCRIPCIÓN
Método de decodificación de señal, dispositivo de decodificación de señal, y programa de decodificación de señal.
Campo de la técnica
La invención se refiere a un método de decodificación de señal, un dispositivo de decodificación de señal, y un programa de decodificación de señal adecuadamente aplicable a sistemas de transmisión de imagen tales como sistemas de transmisión de video móvil.
Antecedentes de la técnica
El documento de Gisle Bjontegaard (ED): “H.26L test model long-term number 8 (TML-8) draft0”, Video standards and drafts, ITU Q.6/SG16, VCEG, n° VCEG-N10, 20 de septiembre de 2001 (2001-09-20), páginas 1-46, XP002518166 describe una descripción de un método de codificación de referencia para su uso en el desarrollo de una recomendación ITU-T de método de compresión - H.26L.
El documento de Detlev Marpe et al: “ Improved CABAG”, 15. VCEEG Meeting; 58. MPEG Meeting; 04-12-2001 - 06-12­ 2001; Pattaya, Tailandia; (Grupo de expertos en codificación de vídeo de ITU-T SG.16), N° VCEG-018, 28 de noviembre de 2001 (2001-11-28), XP030003351, ISSN: 0000-0459 se refiere a Codificación Aritmética Binaria Adaptativa basada en el contexto (CABAG), presentando modificaciones en el algoritmo tanto conceptualmente como computacionalmente.
El documento de Thomas Wiegand: “Draft ISO/IEC 14496-10: 2002 (E)”, 3. JVT Meeting; 60. MPEG Meeting; 06-05-2002 - 10-05-2002; Fairfax, Estados Unidos; (Equipo de video conjunto de ISO/IEC JTC1/SC29/WG11 y ITU-T SG.16), N° JVT-C165, 10 de mayo de 2002 (2002-05-10), XP030005278, ISSN: 0000-0442 especifica una recomendación ITU-T H.264 I ISO/IEC International standard ISO/IEC 14496-10 codificación de video y describe una inicialización basada en QP de codificación aritmética.
El documento de Base: “Additional results related to the CABAG AHG”, 2. JVT Meeting; 29-01-2002 - 01-02-2002; Ginebra, Suiza; (Equipo de video conjunto de ISO/IEC JTC1/SC29/WG11 y ITU-T SG.16), N° JVT-B064, 1 de febrero de 2002 (2002-02-01), XP030005064, ISSN: 0000-0443 describe resultados adicionales para CE relacionado con CABAG de acuerdo con el método propuesto en VCEG-034.
De acuerdo con el documento US 6351569 B1, se establece con antelación un valor de predicción en una tabla MPS correspondiente a un número de estado, se obtiene un número de estado para un píxel de codificación a partir de una tabla de ESTADO, se determina el valor de la predicción basándose en la tabla m Ps usando el número de estado, un convertidor pixel-a-símbolo compara el valor de la predicción y el píxel de codificación para obtener un símbolo, y un codificador aritmético obtiene un intervalo LPS p de una tabla lSz utilizando el número de estado para el pixel de codificación, y el codificador aritmético implementa una codificación basándose en el símbolo y en el intervalo LPS.
El documento de Taubman D et al “JPEG2000: image compression fundamentales, standards and practice”, 1 de enero de 2002 (2002-01-01), JPEG2000 Compression fundamentals, stantards and practice; [Kluwer international series in engineering and computer science], Norwell, Ma: Kluwer academic publ., US, página(s) 71-77, XP002566993, ISBN: 978­ 0-7923-7519-7, se refiere a técnicas de entropía y codificación incluyendo una estimación de probabilidad adaptativa.
El documento ISO/IEC JTC1/SC29 WG1 et al: “JPEG 2000 Part I final committee draft version 1.0”, ITU-T draft; período de estudio 1997-2000, International telecommunication union, Ginebra, Suiza, vol. Study Group 8, 4 de abril de 2000 (2000-04-04), páginas 1-205, XP017492944 describe un conjunto de métodos de compresión con pérdidas y sin pérdidas (preservación de bits) para codificar imágenes digitales fijas de tono continuo, bi-nivel, en escala de grises o con color.
Los métodos convencionalmente conocidos de codificar películas en movimiento incluyen unas Normas Internacionales de codificación de vídeo tales como serie la ITU-T H.26x, la serie ISO/IEC MPEG, y otras. Estos métodos de codificación de vídeo están configurados para procesar cada una de las imágenes de macrobloques obtenidos dividiendo una imagen de fotograma, mediante operaciones de transformación de datos predeterminadas que incluyen Compensación de Movimiento (MC, Motion Compensation) y Transformada Discreta de Coseno (DCT, Discrete Cosine Transform) para crear datos de imagen como un objeto de codificación.
Los datos de imagen creados por las operaciones de transformación de datos se someten además a una codificación de entropía para obtener datos codificados que constituyen datos comprimidos que se utilizan en la transmisión de película. Se usa Codificación Aritmética (AC, Arithmetic Coding) como uno de tales métodos de codificación de entropía. La codificación aritmética se esbozará brevemente más adelante, aunque se debería hacer referencia para los detalles de la codificación aritmética al documento “The data compression book”, de M. Nelson y J. L. Gailley y traducido por Takeshi Ogiwara y Suguru Yamaguchi, y otros.
En general, cuando se efectúa codificación aritmética sobre una secuencia de una fuente de información (secuencia de símbolos) como una combinación de varios tipos de símbolos, primero se asignan a los símbolos unos intervalos fijos respectivos de acuerdo con la ocurrencia de los símbolos, en una línea numérica (línea numérica de probabilidad) de [0.0, 1.0) . En este momento, se denomina una tabla de probabilidad a una tabla que indica la correspondencia entre los símbolos y los intervalos en la línea numérica. La secuencia de fuente de información se somete a codificación de entropía mediante la codificación aritmética haciendo referencia a esta tabla de probabilidad, de modo que se crea una palabra de código como una expresión de la secuencia de fuente de información sobre la línea numérica.
Vamos a explicar aquí la codificación aritmética haciendo referencia a las Figs. 14-16. Específicamente, se explicará la codificación aritmética con un ejemplo en el que una cadena de caracteres “ARITHMETIC” es una secuencia de fuente de información como un objeto de codificación y es codificada mediante codificación aritmética.
Aparecen ocho tipos de caracteres (símbolos) A, C, E, H, I, M, R y T en la secuencia de fuente de información anterior. Se asigna a estas letras unos respectivos intervalos en la línea numérica (línea numérica de probabilidad) de [0.0, 1.0), como se muestra en la tabla de la Fig. 14, de modo que los intervalos tienen longitudes respectivas proporcionales a las probabilidades de ocurrencia de las respectivas letras en la cadena de letras. La tabla mostrada en la Fig. 14 para ilustrar la correspondencia entre las letras y los intervalos en la línea numérica es la tabla de probabilidad usada en la codificación aritmética.
La Fig. 15 es un diagrama que muestra la codificación de la cadena de letras “ARITHMETIC” mediante el uso de la tabla de probabilidad mostrada en la Fig. 14. En la codificación aritmética, se llevan a cabo operaciones de reducción de intervalo basadas en la tabla de probabilidad para los respectivos símbolos en la secuencia de fuente de información, para generar una palabra de código como datos codificados de la secuencia de fuente de información.
En el ejemplo mostrado en la Fig. 15, para la primera letra “A” en la cadena de caracteres “ARITHMETIC” como un objeto de codificación, se divide primero el intervalo [0, 1) en ocho intervalos correspondientes a las respectivas letras con relación a la tabla de probabilidad mostrada en la Fig. 14. Luego, se reduce el intervalo al intervalo [0,0, 0,1) correspondiente a la letra “A” de entre esos intervalos. A continuación, para la segunda letra “R”, se divide el intervalo [0,0, 1.0) en ocho intervalos. Entonces, se reduce el intervalo al intervalo [0,07, 0,08) correspondiente a la letra “R” de entre esos intervalos.
A continuación, se llevan a cabo sucesivamente operaciones de codificación para esta reducción de intervalo para las letras respectivas. Obtenemos finalmente entonces el intervalo [0,0757451536, 0,0757451552) en la línea numérica y se genera el número “0,0757451536” en el intervalo como una palabra de código como resultado de la codificación aritmética de la cadena de letras “ARITHMETIC”.
La Fig. 16 es un diagrama que muestra la decodificación de la palabra de código “0,0757451536” para obtener la cadena de letras “ARITHMETIC” con la tabla de probabilidad mostrada en la Fig. 14.
En el ejemplo mostrado en la Fig. 16, el intervalo [0,0, 0,1) de la longitud de intervalo 0,1 que incluye la palabra de código se identifica en primer lugar a partir de la palabra de código “0,0757451536” como un objeto de decodificación, con referencia a la tabla de probabilidad mostrada en la Fig. 14. Entonces, se emite la letra “A” correspondiente al intervalo identificado como la primera letra y se genera una nueva palabra de código “0,757451536” de acuerdo con (palabra de código-límite inferior) / (longitud de intervalo). Entonces, a partir de la palabra de código “0,757451536”, se identifica el intervalo [0,7, 0,8) de la longitud de intervalo 0,1 que incluye la palabra código con referencia a la tabla de probabilidad. La letra “R” correspondiente al intervalo identificado se emite como la segunda letra y se genera una nueva palabra de código “0,57451536”.
A continuación, se llevan a cabo sucesivamente dichas operaciones de decodificación para la palabra de código. El resultado es la restauración de la cadena de letras “ARITHMETIC” a partir de los datos aritméticos codificados de la palabra de código “0,0757451536”.
Como se ha descrito anteriormente, la codificación de entropía de la secuencia de fuente de información mediante codificación aritmética implica realizar la correspondencia entre símbolos en la secuencia de fuente de información e intervalos en la línea numérica, de modo que pueda expresar cualquier secuencia de fuente de información mediante una palabra de código sobre la línea numérica de [0,0, 1,0). Al establecer la tabla de probabilidad de modo que proporciona la correspondencia entre símbolos e intervalos de acuerdo con las probabilidades de ocurrencia de los símbolos respectivos, es posible llevar a cabo de manera eficiente la codificación de entropía de la secuencia de fuente de información y de ese modo incrementar la eficiencia de la compresión de datos mediante codificación.
Descripción de la invención
La Fig. 5 es un diagrama de flujo que muestra un ejemplo del método de codificación de vídeo que usa la codificación de entropía mediante la codificación aritmética descrita anteriormente. En el método de codificación de imagen mostrado en la Fig. 5, se lleva a cabo la codificación aritmética mediante el método denominado CABAC (Context-based Adaptative Binary Arithmetic Coding) usando el modelado de contexto adoptado en el método de codificación ITU-T H.26L. Con relación a los detalles del método de codificación ITU-T H.26L y CABAC, se debería hacer referencia a VCEG-M10 H.26L Test Model Long Term Number 8 (TML-8) draft0.
En la codificación de datos de película en movimiento en el método de codificación de vídeo H.26L, en primer lugar se divide una imagen como objeto de codificación en bloques de imagen de un tamaño predeterminado. Los bloques de imagen son bloques de imagen como unidades de procesado de datos, que se denominan macrobloques. Cada macrobloque es sometido a las operaciones de transformación de datos necesarias, incluyendo Intra-Frame Coding (codificación dentro de un fotograma) o Inter-Frame Coding (codificación entre fotogramas), una transformación ortogonal tal como DCT, etc. Para generar datos de imagen que representan una imagen dentro del macrobloque. Entonces, se someten los datos de imagen a la codificación de entropía mediante la codificación aritmética para generar datos codificados como datos comprimidos.
En el método de codificación de vídeo mostrado en la Fig. 5, particularmente, la codificación no se lleva a cabo bajo una condición fijada preliminarmente, sino que se implementa el modelado de contexto en la codificación de datos de imagen en cada macrobloque (paso S901, Modelado de Contexto). La codificación aritmética usando el modelado de contexto se implementa como la tabla de probabilidad usada en la codificación de datos de imagen, de modo que la tabla de probabilidad aplicada a los datos de imagen de un macrobloque como un objeto de codificación se establecen como conmutada con referencia a una condición de codificación, tal como el resultado del proceso de codificación de imagen en un macrobloque adyacente.
Después de terminar el ajuste de la tabla de probabilidad mediante el modelado de contexto, los datos de imagen como un objeto de codificación (por ejemplo, coeficientes DCT) se binarizan para generar una secuencia de datos para su codificación aritmética (S902, Binarización). Entonces, la secuencia de datos binarizados se somete a codificación aritmética (S903, Codificación Aritmética Binaria Adaptativa) para obtener datos codificados.
Específicamente, cada uno de los bits en la secuencia de datos binarizados se somete a estimación de probabilidad con asignación de la tabla de probabilidad establecida por el modelado de contexto (S904, Estimación de Probabilidad). Entonces, la secuencia de datos es sometida a codificación aritmética con la tabla de probabilidad asignada, para generar una palabra de código en la línea numérica como datos codificados (S905, Codificación Aritmética). La evaluación de probabilidad es actualizada por información de alimentación, tal como las frecuencias de ocurrencia de bits codificados de vuelta a la tabla de probabilidad, basándose en el resultado del proceso de codificación aritmética, para hacer que la tabla de probabilidad refleje la tendencia de codificación (S906, Actualización de Estimación de Probabilidad).
De acuerdo con el método de codificación de vídeo anterior mediante la codificación aritmética usando modelado de contexto, la tabla de probabilidad utilizada es conmutada de acuerdo con la condición de codificación y el resultado del proceso, de modo que es posible reducir la redundancia en los datos codificados.
En el caso de datos codificados resultantes de la codificación de una imagen de fotograma, para una capa de fotograma correspondiente a la imagen de fotograma, hay casos en los que la capa de fotograma se divide en una o más rodajas en una capa de rodaja y los datos codificados se generan a partir de cada rodaja. La capa de rodaja está configurada para permitir una decodificación independiente en cada unidad de rodaja, y está dotada de un código de sincronización, y paquetizada para su transmisión. Por tanto, incluso si se produce un error durante la transmisión de una cierta rodaja para provocar pérdida de datos, puede volver a iniciarse la decodificación para las rodajas subsiguientes.
La tabla de probabilidad aplicada a la codificación aritmética es inicializada en cada rodaja. La inicialización de la tabla de probabilidad tiene efectos que incluyen el efecto de habilitar la decodificación de información de codificación aritmética deshabilitada debido a la aparición de un error, así como la recuperación de la sincronización descrita anteriormente.
Los valores en la tabla de probabilidad usada para la inicialización son normalmente valores constantes promedio, independientes de la película en movimiento como objetos de codificación. Por este motivo, los valores son a veces inapropiados como valores iniciales de la tabla de probabilidad para algunas imágenes de objetos codificados, por que las propiedades de las mismas se desvían mucho de aquellas de las imágenes promedio. En tales casos, el método CABAC está configurado para actualizar la tabla de probabilidad sobre la base de tasas de ocurrencia de símbolos en una señal objetivo de codificación con progreso de codificación. Esto permite aprender acerca de la tabla de probabilidad adecuada para las propiedades de las imágenes, de modo que pueda llevarse a cabo de manera efectiva la codificación aritmética eventualmente con la tabla de probabilidad adecuada. Sin embargo, la codificación aritmética no se lleva a cabo de manera eficiente cuando el aprendizaje se lleva a cabo antes de una adecuada actualización de la tabla de probabilidad. Particularmente, cuando una tabla de probabilidad está en un uso bajo y por tanto no se actualiza bien, el aprendizaje de la tabla de probabilidad es inadecuado, y por tanto es difícil llevar a cabo una codificación eficiente. Como la tabla de probabilidad se inicializa en unidades de particiones, es necesario implementar el aprendizaje sobre la tabla de probabilidad en unidades de particiones. Por este motivo, un montón de períodos de aprendizaje descritos anteriormente aparecen regularmente durante la transmisión, lo que hace que la codificación sea ineficiente.
Un objeto de la presente invención es, por tanto, resolver el problema anterior y de ese modo proporcionar un método de codificación de señal, un aparato de codificación de señal, y un programa de codificación de señal capaces de implementar una codificación eficiente, y un método de decodificación de señal, un aparato de decodificación de señal, y un programa de decodificación de señal capaz de implementar una decodificación eficiente de una señal codificada.
El objeto de la invención se consigue mediante la materia descrita en las reivindicaciones independientes.
En la cuarta realización se halla una descripción suficiente de la invención según se define en las reivindicaciones.
Para conseguir el objetivo anterior, un método de codificación de señal de acuerdo con un ejemplo es un método de codificación de señal de dividir una señal objetivo de codificación como un objeto de codificación en unidades de partición y llevar a cabo una codificación aritmética basada en información relacionada con la probabilidad inicializada en la cabecera de las unidades de partición, donde el método de codificación de señal comprende:
(1) un paso de obtención de información de codificación de analizar la señal objetivo de codificación en cada una de las unidades de partición para obtener un valor inicial de la información relacionada con la probabilidad utilizada en la codificación aritmética de la señal de objetivo de codificación en la unidad de partición en cuestión, y convertir el valor inicial de la información relacionada con la probabilidad en información previa unida de manera separada a una cabecera para la señal de objetivo de la codificación y un valor de ajuste para su combinación con la información anterior mediante un método predeterminado, para obtener el valor del ajuste como información de configuración; (2) un paso de codificación de llevar a cabo la codificación aritmética de la señal objetivo de codificación en cada una de las unidades de partición, basándose en la información de configuración y la información previa; y (3) un paso de adición de información de configuración de añadir la cabecera que contiene la información de configuración y la información previa a la señal codificada aritméticamente en cada una de las unidades de partición.
Similarmente, un aparato de codificación de señal de acuerdo con un ejemplo es un aparato de codificación de señal para dividir una señal objetivo de codificación como un objeto de codificación en unidades de partición y llevar a cabo una codificación aritmética basada en información relacionada con la probabilidad inicializada en la cabecera de las unidades de partición, donde el aparato de codificación de señal comprende: (1) medios de obtención de información de configuración para analizar la señal de objetivo de codificación en cada una de las unidades de partición para obtener un valor inicial de la información relacionada con la probabilidad usada en la codificación aritmética de la señal objetivo de codificación en la unidad de partición en cuestión, y convertir el valor inicial de la información relacionada con la probabilidad en una información previa unida por separado a una cabecera para la señal objetivo de codificación y un valor de ajuste para su combinación con la información anterior mediante un método predeterminado, para obtener el valor de ajuste como información de configuración; (2) medios de codificación para llevar a cabo la codificación aritmética de la señal objetivo de codificación en cada una de las unidades de partición, basándose en la información de configuración obtenida en el paso anterior de obtención de información de configuración y la información previa; y (3) medios de adición de información de configuración para añadir la cabecera que contiene la información de configuración y la información anterior a la señal codificada aritméticamente en cada una de las unidades de partición.
Similarmente, un programa de codificación de señal de acuerdo con un ejemplo es un programa de codificación de señal para dividir una señal objetivo de codificación como un objeto de codificación en unidades de partición y llevar a cabo una codificación aritmética basada en información relacionada con la probabilidad inicializada en la cabecera de las unidades de partición, donde el programa de codificación de señal hace que un ordenador ejecute: (1) un paso de obtención de información de configuración de analizar la señal de objetivo de codificación en cada una de las unidades de partición para obtener un valor inicial de la información relacionada con la probabilidad usada en la codificación aritmética de la señal objetivo de codificación en la unidad de partición en cuestión, y convertir el valor inicial de la información relacionada con la probabilidad en una información previa unida por separado a una cabecera para la señal objetivo de codificación y un valor de ajuste para su combinación con la información anterior mediante un método predeterminado, para obtener el valor de ajuste como información de configuración; (2) un paso de codificación de llevar a cabo la codificación aritmética de la señal objetivo de codificación en cada una de las unidades de partición, basándose en la información de configuración y la información previa; y (3) un paso de adición de información de configuración de añadir la cabecera que contiene la información de configuración y la información anterior a la señal codificada aritméticamente en cada una de las unidades de partición.
De acuerdo con estos ejemplos, la cabecera contiene la información previa anterior e información de configuración para obtener el valor inicial de la información relacionada con la probabilidad en cada unidad de partición, de modo que es posible llevar a cabo la codificación usando los valores iniciales de la información relacionada con la probabilidad diferente entre las unidades de partición. Como la información de configuración usada en cada unidad de partición se obtiene analizando la señal objetivo de codificación en cada una de las unidades de partición, la información de configuración capaz de conseguir una codificación eficiente puede usarse de acuerdo con la señal objetivo de codificación en cada unidad de partición.
Un método de decodificación de información de acuerdo con un ejemplo es un método de decodificación de señal de llevar a cabo una decodificación aritmética de una señal codificada en unidades de partición, donde el método de decodificación de señal comprende: (1) un paso de ajuste de valor inicial de ajustar un valor inicial de la información relacionada con la probabilidad, basándose en información previa en una cabecera de la señal codificada y basándose en información de configuración incluida en la cabecera de la señal codificada, que es información para obtener el valor inicial de la información relacionada con la probabilidad usada en la decodificación aritmética de la señal objetivo codificada en la unidad de partición mediante su combinación con la información previa mediante un método predeterminado; y (2) un paso de decodificación aritmética de llevar a cabo la decodificación aritmética de la señal codificada en cada una de las unidades de partición basándose en la información relacionada con la probabilidad cuyo valor inicial se ajustó en el paso de ajuste de valor inicial.
Un aparato de decodificación de señal de acuerdo con un ejemplo es un aparato de decodificación de señal para llevar a cabo una decodificación aritmética de una señal codificada en unidades de partición, donde el aparato de decodificación de señal comprende: (1) medios de ajuste de valor inicial para ajustar un valor inicial de la información relacionada con la probabilidad, basándose en información previa en una cabecera de la señal codificada y basándose en información de configuración incluida en la cabecera de la señal codificada, que es información para obtener el valor inicial de la información relacionada con la probabilidad usada en la decodificación aritmética de la señal objetivo codificada en la unidad de partición mediante su combinación con la información previa mediante un método predeterminado; y (2) medios de decodificación aritmética para llevar a cabo la decodificación aritmética de la señal codificada en cada una de las unidades de partición basándose en la información relacionada con la probabilidad cuyo valor inicial se ajustó en el paso de ajuste de valor inicial.
Un programa de decodificación de señal de acuerdo con un ejemplo es un programa de decodificación de señal para llevar a cabo una decodificación aritmética de una señal codificada en unidades de partición, donde el programa de decodificación de señal permite que un ordenador ejecute: (1) un paso de ajuste de valor inicial de ajustar un valor inicial de la información relacionada con la probabilidad, basándose en información previa en una cabecera de la señal codificada y basándose en información de configuración incluida en la cabecera de la señal codificada, que es información para obtener el valor inicial de la información relacionada con la probabilidad usada en la decodificación aritmética de la señal objetivo codificada en la unidad de partición mediante su combinación con la información previa mediante un método predeterminado; y (2) un paso de decodificación aritmética de llevar a cabo la decodificación aritmética de la señal codificada en cada una de las unidades de partición basándose en la información relacionada con la probabilidad cuyo valor inicial se ajustó en el paso de ajuste de valor inicial.
Los valores iniciales de la información relacionada con la probabilidad se ajustan basándose en la información previa anterior e información de configuración en la cabecera y la decodificación aritmética de la señal codificada se lleva a cabo en cada unidad de partición basándose en los valores iniciales ajustados de ese modo, como se descrito anteriormente, de modo que es posible decodificar la señal codificada mediante la información de configuración en cada unidad de partición.
Para conseguir el objetivo anterior, otro método de codificación de señal de acuerdo con un ejemplo es un método de codificación de señal de dividir una señal objetivo codificada como un objeto de codificación en particiones y llevar a cabo una codificación aritmética de la señal objetivo codificada en cada una de las particiones, usando un diagrama de transición de estados en el que cada uno de los números de estado está relacionado con información relacionada con ala probabilidad, donde el método de codificación de señal comprende: (1) un paso de obtención de información de configuración de analizar la señal objetivo de codificación en cada una de las unidades de partición para obtener un valor inicial de la información relacionada con la probabilidad utilizada en la codificación aritmética de la señal de objetivo de codificación en la unidad de partición en cuestión, y convertir un número de estado relacionado con el valor inicial de la información relacionada con la probabilidad en un valor obtenido basándose en información previa unida por separado a una cabecera para la señal de objetivo de la codificación y un valor de ajuste para su combinación con el valor mencionado mediante un método predeterminado, para obtener el valor del ajuste como información de configuración; (2) un paso de codificación de llevar a cabo la codificación aritmética de la señal objetivo de codificación en cada una de las unidades de partición, basándose en el valor inicial de la información relacionada con la probabilidad en el paso de obtención de información de configuración; y (3) un paso de adición de información de configuración de añadir la cabecera que contiene la información previa y la información de configuración a la señal codificada aritméticamente en cada una de las unidades de partición.
Similarmente, otro aparato de codificación de señal de acuerdo con un ejemplo es un aparato de codificación de señal para dividir una señal objetivo de codificación como un objeto de codificación en particiones y llevar a cabo una codificación aritmética de la señal objetivo de codificación en cada una de las particiones, usando un diagrama de transición de estados donde cada uno de los números de estado está relacionado con información relacionada con la probabilidad, donde el aparato de codificación de señal comprende: (1) medios de obtención de información de configuración para analizar la señal de objetivo de codificación en cada una de las unidades de partición para obtener un valor inicial de la información relacionada con la probabilidad usada en la codificación aritmética de la señal objetivo de codificación en la unidad de partición en cuestión, y convertir un número de estado relacionado con el valor inicial de la información relacionada con la probabilidad en un valor obtenido basado en información previa unida por separado a una cabecera para la señal objetivo de codificación y un valor de ajuste para su combinación con el valor mencionado mediante un método predeterminado, para obtener el valor de ajuste como información de configuración; (2) medios de codificación para llevar a cabo la codificación aritmética de la señal objetivo de codificación en cada una de las unidades de partición, basándose en el valor inicial de la información relacionada con la probabilidad obtenida en el paso de obtención de información de configuración; y (3) medios de adición de información de configuración para añadir la cabecera que contiene la información previa y la información de configuración a la señal codificada aritméticamente en cada una de las unidades de partición.
Similarmente, otro programa de codificación de señal de acuerdo con un ejemplo es un programa de codificación de señal para dividir una señal objetivo de codificación como un objeto de codificación en particiones y llevar a cabo una codificación aritmética de la señal objetivo de la codificación en cada una de las particiones, usando un diagrama de transición de estados en el que cada uno de los números de estado está relacionado con información relacionada con la probabilidad, donde el programa de codificación de señal permite que un ordenador ejecute (1) un paso de obtención de información de configuración de analizar la señal objetivo de codificación en cada una de las unidades de partición para obtener un valor inicial de la información relacionada con la probabilidad usada en la codificación aritmética de la señal objetivo de codificación en la unidad de partición en cuestión, y convertir un número de estado relacionado con el valor inicial de la información relacionada con la probabilidad en un valor obtenido basado en información previa unida por separado a una cabecera para la señal objetivo de codificación y un valor de ajuste para su combinación con el valor mencionado mediante un método predeterminado, para obtener el valor de ajuste como información de configuración; (2) un paso de codificación de señal de llevar a cabo la codificación aritmética de la señal objetivo de codificación en cada una de las unidades de partición, basándose en el valor inicial de la información relacionada con la probabilidad obtenida en el paso de obtención de información de configuración; y (3) un paso de adición de información de configuración de añadir la cabecera que contiene la información previa y la información de configuración a la señal codificada aritméticamente en cada una de las unidades de partición.
De acuerdo con estos ejemplos, la cabecera contiene la información previa anterior e información de configuración para obtener el número de estado inicial asociado al valor inicial de la información relacionada con la probabilidad usada en la codificación aritmética de la señal objetivo de codificación en cada unidad de partición, de modo que es posible llevar a cabo la codificación usando los valores iniciales de la información relacionada con la probabilidad diferentes entre las unidades de partición. Como la información de configuración usada en cada unidad de configuración se obtiene analizando la señal objetivo de la codificación en cada una de las unidades de partición, la información de configuración capaz de conseguir una codificación eficiente puede usarse de acuerdo con la señal objetivo de la codificación en cada unidad de partición.
Otro método de decodificación de señal de acuerdo con un ejemplo es un método de decodificación de señal de llevar a cabo una decodificación aritmética de una señal codificada en unidades de partición, usando un diagrama de transición de estados donde cada uno de los números de estado está relacionado con la información relacionada con la probabilidad, donde el método de decodificación de señal comprende: (1) un paso de ajuste de valor inicial de obtener un número de estado inicial, basándose en información previa e información de configuración para su combinación con la información previa, incluida en una cabecera de la señal codificada para obtener mediante un método predeterminado el número de estado inicial relacionado con el valor inicial de la información relacionada con la probabilidad usada en la decodificación aritmética de la señal objetivo codificada en la unidad de partición; y (2) un paso de decodificación aritmética de llevar a cabo la decodificación aritmética de la señal codificada basándose en la información relacionada con la probabilidad relacionada con el número de estado inicial.
Otro aparato de decodificación de señal de acuerdo con un ejemplo es un aparato de decodificación de señal para llevar a cabo una decodificación aritmética de una señal codificada en unidades de partición, usando un diagrama de transición de estados en el que cada uno de los números de estado está relacionado con información relacionada con la probabilidad, donde el aparato de decodificación de señal comprende: (1) medios de ajuste de valor inicial para obtener un número de estado inicial, basándose en información previa e información de configuración para su combinación con la información previa, incluida en una cabecera de la señal codificada para obtener mediante un método predeterminado el número de estado inicial relacionado con el valor inicial de la información relacionada con la probabilidad usada en la decodificación aritmética de la señal objetivo codificada en la unidad de partición; y (2) medios de decodificación aritmética para llevar a cabo la decodificación aritmética de la señal codificada basándose en la información relacionada con la probabilidad relacionada con el número de estado inicial.
Otro programa de decodificación de señal de acuerdo con un ejemplo es un programa de decodificación de señal para llevar a cabo la decodificación aritmética de una señal codificada en unidades de partición, usando un diagrama de transición de estados en el que cada uno de los números de estado está relacionado con información relacionada con la probabilidad, donde el programa de decodificación de señal permite que un ordenador ejecute: (1) un paso de ajuste de valor inicial de obtener un número de estado inicial, basándose en información previa e información de configuración para su combinación con la información previa, incluida en una cabecera de la señal codificada para obtener mediante un método predeterminado el número de estado inicial relacionado con el valor inicial de la información relacionada con la probabilidad usada en la decodificación aritmética de la señal objetivo codificada en la unidad de partición; y (2) un paso de decodificación aritmética de llevar a cabo la decodificación aritmética de la señal codificada basándose en la información relacionada con la probabilidad relacionada con el número de estado inicial.
Como se ha descrito anteriormente, el número de estado inicial asociado con el valor inicial de la información relacionada con la probabilidad puede obtenerse basándose en la información previa anterior e información de configuración en la cabecera y la decodificación aritmética de la señal codificada se lleva a cabo en cada unidad de partición a través del uso de la información relacionada con la probabilidad asociada con el número de estado inicial, de modo que es posible decodificar la señal codificada mediante la información de configuración en cada unidad de partición.
Aún otro método de codificación de señal de acuerdo con un ejemplo es un método de codificación de señal de dividir una señal objetivo de codificación como un objeto de codificación en unidades de partición y llevar a cabo una codificación aritmética basándose en información relacionada con la probabilidad inicializada en la cabecera de las unidades de partición, donde el método de codificación de señal comprende: (1) un paso de obtención de información de configuración de analizar la señal objetivo de codificación en cada una de las unidades de partición para obtener como información de configuración, información acerca de un valor inicial para la inicialización de la información relacionada con la probabilidad usada en la codificación aritmética de la señal objetivo de codificación en la unidad de partición en cuestión; (2) un paso de codificación de llevar a cabo la codificación aritmética de la señal objetivo de codificación en cada una de las unidades de partición, basándose en la información de configuración; y (3) un paso de adición de información de configuración de añadir una cabecera que contiene la información de configuración a la señal codificada aritméticamente en cada una de las unidades de partición; donde el paso de obtención de información de configuración está configurado para obtener la información de configuración mediante la combinación de los valores iniciales de la información relacionada con la probabilidad obtenida mediante el análisis de la señal objetivo de la codificación, con información unida por separado como información previa de la señal objetivo de la codificación a la cabecera, mediante un método predeterminado.
De acuerdo con este ejemplo, la cabecera contiene la información previa anterior e información de configuración para obtener el valor inicial de la información relacionada con la probabilidad en cada unidad de partición, de modo que es posible llevar a cabo la codificación usando los valores iniciales de la información relacionada con la probabilidad entre varias unidades de partición. Como la información de configuración usada en cada unidad de partición se obtiene analizando la señal objetivo de la codificación en cada unidad de partición, la información de configuración capaz de conseguir una codificación eficiente puede usarse de acuerdo con la señal objetivo de codificación en cada unidad de partición.
Todavía otro método de decodificación de señal de acuerdo con un ejemplo es un método de decodificación de señal de llevar a cabo una decodificación aritmética de una señal codificada en unidades de partición, donde el método de decodificación de señal comprende: (1) un paso de ajuste de valor inicial de ajustar un valor inicial de información relacionada con la probabilidad sobre la base de información de configuración que es información acerca del valor inicial para la inicialización de la información relacionada con la probabilidad usada en la decodificación aritmética de la señal objetivo codificada en la unidad de partición y que está incluida en una cabecera unida a la señal codificada; y (2) un paso de decodificación aritmética de llevar a cabo la decodificación aritmética de la señal codificada en cada una de las unidades de partición basándose en la información relacionada con la probabilidad, cuyo valor inicial se ajustó en el paso de ajuste de valor inicial; donde el paso de ajuste de valor inicial está configurado para ajustar los valores iniciales de la información relacionada con la probabilidad mediante la combinación de la información de configuración en la cabecera unida a la señal codificada con información previa en la cabecera de la señal codificada mediante un método predeterminado.
Como se ha descrito anteriormente, el valor inicial de la información relacionada con la probabilidad se ajusta basándose en la información previa anterior e información de configuración en la cabecera y la decodificación aritmética de la señal codificada se lleva a cabo en cada unidad de partición basándose en los valores iniciales ajustados de ese modo, de modo que es posible decodificar la señal codificada mediante la información de configuración en cada unidad de partición.
Para conseguir el objetivo anterior, todavía otro método de codificación de señal de acuerdo con un ejemplo es un método de codificación de señal de dividir una señal objetivo de codificación como un objeto de codificación en unidades de partición y llevar a cabo una codificación aritmética basada en información relacionada con la probabilidad inicializada en la cabecera de las unidades de partición, donde el método de codificación de señal comprende: (1) un paso de obtención de información de configuración de analizar la señal objetivo de codificación en cada una de las unidades de partición para obtener como información de configuración, información acerca de un valor inicial para la inicialización de la información relacionada con la probabilidad usada en la codificación aritmética de la señal objetivo de codificación en la unidad de partición en cuestión; (2) un paso de codificación de llevar a cabo la codificación aritmética de la señal objetivo de codificación en cada una de las unidades de partición, basándose en información de configuración obtenida en el paso de obtención de información de configuración; y (3) un paso de adición de información de configuración de añadir una cabecera que contiene la información de configuración a la señal codificada aritméticamente en cada una de las unidades de partición.
Similarmente, todavía otro aparato de codificación de señal de acuerdo con un ejemplo es un aparato de codificación de señal para dividir una señal objetivo de codificación como un objeto de codificación en unidades de partición y llevar a cabo una codificación aritmética basándose en información relacionada con la probabilidad inicializada en la cabecera de las unidades de partición, donde el aparato de codificación de señal comprende: (1) medios de obtención de información de configuración para analizar la señal objetivo de codificación en cada una de las unidades de partición para obtener como información de configuración, información acerca de un valor inicial para la inicialización de la información relacionada con la probabilidad usada en la codificación aritmética de la señal objetivo de codificación en la unidad de partición en cuestión; (2) medios de codificación para llevar a cabo la codificación aritmética de la señal objetivo de codificación en cada una de las unidades de partición, basándose en información de configuración obtenida por los medios de obtención de información de configuración; y (3) medios de adición de información de configuración para añadir una cabecera que contiene la información de configuración a la señal codificada aritméticamente en cada una de las unidades de partición.
En el método y aparato de codificación de señal de acuerdo con el ejemplo, como se ha descrito anteriormente, la cabecera de la señal codificada contiene la información de configuración usada en la codificación en cada una de las unidades de partición, de modo que es posible llevar a cabo la codificación usando los valores iniciales de la información relacionada con la probabilidad (información de configuración) diferente entre las unidades de partición. Como la información de configuración utilizada en cada unidad de partición es la obtenida mediante el análisis de la señal objetivo de la codificación en cada unidad de partición y la obtención de la información de configuración usada para la codificación aritmética, la información de configuración capaz de llevar a cabo una codificación eficiente puede usarse de acuerdo con la señal objetivo de la codificación en cada unidad de partición.
Todavía otro método de decodificación de acuerdo con un ejemplo es un método de decodificación de señal para llevar a cabo la decodificación aritmética de una señal codificada en unidades de partición, donde el método de decodificación de señal comprende: un paso de ajuste de valor inicial de ajustar un valor inicial de información relacionada con la probabilidad basándose en información de configuración incluida en una cabecera unida a la señal codificada; y un paso de decodificación aritmética de llevar a cabo la decodificación aritmética de la señal codificada en cada una de las señales de partición basándose en la información relacionada con la probabilidad cuyo valor inicial se ajustó en el paso de ajuste de valor inicial.
Similarmente, todavía otro aparato de decodificación de señal de acuerdo con un ejemplo es un aparato de decodificación de señal para llevar a cabo la codificación aritmética de una señal codificada en unidades de partición, donde el aparato de decodificación de señal comprende: medios de ajuste de valor inicial para ajustar un valor inicial de información relacionada con la probabilidad basándose en información de configuración incluida en una cabecera unida a la señal codificada; y medios de decodificación aritmética para llevar a cabo la decodificación aritmética de la señal codificada en cada una de las señales de partición basándose en la información relacionada con la probabilidad cuyo valor inicial se ajustó por los medios de ajuste de valor inicial.
Como se ha descrito anteriormente, el valor inicial de la información relacionada con la probabilidad se ajusta basándose en la información de configuración incluida en la cabecera y la decodificación aritmética de la señal codificada se lleva a cabo en cada unidad de partición basándose en los valores iniciales así ajustados, de modo que es posible decodificar la señal codificada mediante la información de configuración en cada unidad de partición.
En el método de codificación de señal anterior (aparato de codificación de señal), preferiblemente, el paso de obtención de información de configuración (paso de obtención de información de configuración) está configurado para definir el valor inicial de la propia información relacionada con la probabilidad como
En el método de decodificación de señal anterior (aparato de decodificación de señal), preferiblemente, el paso de ajuste de valor inicial (medios de ajuste de valor inicial) está configurado para ajustar la información de configuración incluida e la cabecera como los valores iniciales.
El método de codificación de señal anterior (aparato de codificación de señal) puede disponerse de modo que el paso de obtención de información de configuración (medios de obtención de información de configuración) está configurado para definir como la información de configuración, diferencias del valor inicial de la información relacionada con la probabilidad obtenida mediante el análisis de la señal objetivo de codificación, con relación a un valor predeterminado.
El método de decodificación de señal anterior (aparato de decodificación de señal) puede disponerse de modo que el paso de ajuste de valor inicial está configurado para ajustar como el valor inicial un valor obtenido añadiendo un valor predeterminado a la información de configuración en la cabecera.
Esta configuración es preferible porque el volumen de información de configuración se hace más bajo definiendo como la información de configuración las diferencias entre el valor predeterminado y el valor inicial.
El método de codificación de señal anterior (aparato de codificación de señal) puede disponerse para que comprende preparar una lista en la que unos candidatos para la información de configuración están asociados a identificadores, y disponerse de modo que el paso de adición de información de configuración (medios de adición de información de codificación ) está configurado para seleccionar un candidato correspondiente a la información de configuración obtenida en el paso de obtención de información de configuración, de la lista y poner un identificador asociado a la misma como la información de configuración en la cabecera.
El método de decodificación de señal anterior (aparato de decodificación de señal) puede disponerse para que comprenda preparar una lista en la que unos candidatos para la información de configuración están asociados con identificadores, y dispuestos de modo que la cabecera con tiene un identificador de un candidato seleccionado como la información de configuración de la lista, y de modo que el paso de ajuste de valor inicial (medios de ajuste de valor inicial) está configurado para extraer la información de configuración de la lista basándose en el identificador en la cabecera y ajustar el valor inicial de la información relacionada con la probabilidad basándose en la información de configuración extraída.
Como se ha descrito anteriormente, se añade un identificador en la lista preparada con antelación como la información de configuración de la cabecera, de modo que es posible disminuir el volumen de la transmisión de señal.
El método de codificación de señal anterior (aparato de codificación de señal) puede disponerse de modo que, cuando la lista no contiene ningún candidato para la información de configuración obtenido en el paso de obtención de información de configuración (u obtenido por los medios de obtención de información de configuración), el paso de adición de información de configuración (medios de adición de información de configuración) se configura para poner en la cabecera un identificador que indica información de identificación excepto por los candidatos almacenados en la lista, junto con la información de configuración obtenida en el paso de obtención de información de configuración (u obtenida por los medios de obtención de información de configuración).
El método de decodificación de señal anterior (aparato de decodificación de señal) puede disponerse de modo que, cuando el identificador en la cabecera está ausente en la lista, el paso de ajuste de valor inicial (medios de ajuste de valor inicial) está configurado para ajustar el valor inicial de la información relacionada con la probabilidad basándose en la información de configuración en la cabecera.
Cuando se permite que la cabecera contenga como la información de configuración el valor inicial ausente en la lista preparada con antelación, como se ha descrito anteriormente, es posible aumentar los grados de libertad para los valores iniciales de la información relacionada con la probabilidad.
El método de codificación de señal anterior (aparato de codificación de señal) puede estar configurado de modo que en el paso de codificación (por los medios de codificación), cuando se produce la codificación de la señal objetivo de la codificación, la información relacionada con la probabilidad se calcula secuencialmente sobre la base de las tasas de ocurrencia de los símbolos respectivos en la señal objetivo de codificación y la codificación aritmética de la señal objetivo de codificación se lleva a cabo basándose en la información relacionada con la probabilidad calculada.
El método de decodificación de señal anterior (aparato de decodificación de señal) puede estar configurado de modo que en el paso de decodificación aritmética (por los medios de decodificación aritméticos), cuando se lleva a cabo la decodificación aritmética de la señal codificada, la información relacionada con la probabilidad se calcula secuencialmente basándose en tasas de ocurrencia de los símbolos respectivos en la señal codificada y la decodificación aritmética de la señal objetivo codificada se lleva a cabo basándose en la información relacionada con la probabilidad calculada.
La información relacionada con la probabilidad se actualiza basándose en las tasas de ocurrencia de los símbolos en la señal objetivo codificada, como se ha descrito anteriormente, de modo que es posible llevar a cabo el aprendizaje acerca de la información relacionada con la probabilidad más adecuada.
El método de codificación de señal anterior (aparato de codificación de señal) puede disponerse de modo que el paso de obtención de información de configuración (medios de obtención de información de configuración) está configurado para analizar tasas de ocurrencia de los respectivos símbolos en la señal objetivo de la codificación en las unidades de partición y obtener la información de configuración basándose en las tasas de ocurrencia.
Como se ha descrito anteriormente, los símbolos en la información de objetivo de codificación en cada unidad de partición se compilan para analizar las tasas de ocurrencia de los símbolos y la información de configuración se obtiene basándose en las tasas de ocurrencia de los símbolos, de modo que es posible obtener los valores iniciales adecuados de la información relacionada con la probabilidad para codificar la señal en la unidad de partición en cuestión.
El método de codificación de señal anterior (aparato de codificación de señal) puede disponerse de modo que la cabecera añadida en el paso de adición de información de configuración (o añadido por los medios de adición de información de codificación) contiene un indicador de presencia/ausencia que indica la presencia o ausencia de la información de configuración, y de modo que, cuando la información de configuración es la misma que la usada para la codificación de una unidad de partición anterior, el paso (medios) de adición de información de configuración está configurado para ajustar el indicador de presencia/ausencia y no poner la información de configuración en la cabecera.
El método de decodificación de señal anterior (aparato de decodificación de señal) puede estar dispuesto de modo que la cabecera contiene un indicador de presencia/ausencia que indica la presencia o ausencia de la información de configuración, y de modo que el paso de ajuste del valor inicial (medios de ajuste del valor inicial) está configurado para ajustar el valor inicial de la información relacionada con la probabilidad basándose en la información de configuración usada para la codificación de una unidad de partición anterior, cuando el indicador de presencia/ausencia indica ausencia.
Cuando la codificación puede llevarse a cabo usando la misma información de configuración que la usada para la codificación de la unidad de partición previa, el indicador de presencia/ausencia se ajusta a ausencia, como se ha descrito anteriormente, y esto evita la necesidad de transmitir la misma información de configuración, lo que puede reducir el volumen de la transmisión de señal.
En el método de codificación de señal anterior (aparato de codificación de señal) o método de decodificación de señal (aparato de decodificación de señal), preferiblemente, la señal objetivo de codificación es una señal relacionada con codificación de video obtenida mediante la realización de una operación de transformación de datos predeterminados sobre información de vídeo.
El método de codificación de señal anterior (aparato de codificación de señal) puede disponerse de modo que la señal relacionada con la codificación de video tiene una estructura estratificada que tiene una capa de secuencia particionada por una secuencia de información de vídeo a codificar, una capa de fotograma particionada en fotogramas de la información de vídeo que se va a codificar, y una capa de rodaja resultante de la partición de las tramas en una o más rodajas, y de modo que el paso de adición de información de configuración (medios de adición de información de configuración) está configurado para poner la información de configuración en una cabecera de una unidad de partición en cualquiera de entre la capa de secuencia, la capa de fotograma, y la capa de rodaja.
El método de decodificación de señal anterior (aparato de decodificación de señal) puede disponerse de modo que la señal codificada tiene una estructura estratificada que tiene una capa de secuencia particionada por una secuencia de la información de vídeo codificada, una capa de fotograma particionada en fotogramas de la información de vídeo codificada, y una capa de rodaja resultante de la partición de las tramas en una o más rodajas, y de modo que el paso de ajuste del valor inicial (medios de ajuste del valor inicial) está configurado para ajustar el valor inicial de la información relacionada con la probabilidad basándose en la información de configuración en una cabecera de una unidad de partición en cualquiera de entre la capa de secuencia, la capa de fotograma, y la capa de rodaja.
Cuando la señal objetivo de la codificación está configurada según una estructura estratificada que consiste en la capa de secuencia, la capa de fotograma, y la capa de rodaja según se ha descrito anteriormente, es posible implementar una codificación de señal eficiente dejando que una cabecera en cualquier capa contenga la información de configuración. Por ejemplo, cuando dos o más rodajas bajo un cierto fotograma se codifican basándose en la misma información de configuración, se hace que la cabecera del fotograma contenga la información de configuración, de modo que las rodajas bajo el fotograma puedan codificarse mediante la misma información de configuración.
El método de codificación de señal anterior (aparato de codificación de señal) puede disponerse de modo que la señal relacionada con la codificación de video tenga una estructura estratificada que tiene una capa de secuencia particionada por una secuencia de información de video a codificar, una capa de fotograma particionada por fotogramas de la información de video a codificar, y una capa de rodaja resultante de la partición de los fotogramas en una o más rodajas, y de modo que el paso de adición de información de configuración (medios de adición de información de configuración) se configura para poner la información de configuración en una cabecera en la capa de rodaja.
El método de decodificación de señal anterior (aparato de decodificación de señal) puede disponerse de modo que la señal codificada tiene una estructura estratificada que tiene una capa de secuencia particionada por una secuencia de información de vídeo codificada, una capa de fotograma particionada por fotogramas de la información de video codificada, y una capa de rodaja resultante de la partición de cada fotograma en una o más rodajas, y de modo que el paso de ajuste de valor inicial (medios de ajuste de valor inicial) está configurado para ajustar el valor inicial de la información relacionada con la probabilidad basándose en la información de configuración en una cabecera de la capa de rodaja.
Al hacer que la cabecera en la capa de rodaja contenga la información de codificación de este modo, es posible ajustar finamente los valores iniciales de la información relacionada con la probabilidad y de ese modo llevar a cabo una codificación eficiente.
El método de codificación de señal anterior (aparato de codificación de señal) puede disponerse de modo que la información de configuración se obtiene combinando el valor inicial de la información relacionada con la probabilidad obtenida mediante el análisis de la señal objetivo de codificación, con la información unida por separado a la información previa de la señal objetivo de codificación a la cabecera, mediante un método predeterminado.
El método de decodificación de señal anterior (aparato de decodificación de señal) puede estar dispuesto de modo que el valor inicial de la información relacionada con la probabilidad se ajuste mediante la combinación de la información de configuración en la cabecera unida a la señal codificada, con la información previa en la cabecera de la señal codificada mediante un método predeterminado.
Un sistema de transmisión de señal de acuerdo con un ejemplo es un sistema de transmisión de señal para dividir una señal objetivo de codificación como un objeto de codificación en particiones, e implementar una transmisión de señal de una señal codificada resultante de la codificación aritmética en cada unidad de partición, que comprende el aparato de codificación de señal anteriormente mencionado para generar y emitir la señal codificada a partir de la señal objetivo de codificación, y el aparato de decodificación de señal anteriormente mencionado para recibir la señal codificada del aparato de codificación de señal y decodificar la señal codificada así recibida.
El sistema de transmisión de señal de esta configuración es capaz de transmitir la señal eficientemente codificada en cada unidad de partición.
Breve descripción de los dibujos.
La Fig. 1 es un diagrama de flujo que muestra esquemáticamente una realización del método de codificación de imagen. La Fig. 2 es un diagrama de bloques que muestra una configuración de una realización del aparato de codificación de imagen.
Las Figs. 3A a 3J son ilustraciones esquemáticas que muestran un ejemplo de modos de codificación en compensación de movimiento.
Las Figs. 4A-4B son ilustraciones que muestran la transformación ortogonal de los datos de imagen.
La Fig. 5 es un diagrama de flujo que muestra un ejemplo del método de codificación de imagen usando la codificación aritmética.
La Fig. 6 es un diagrama que muestra el flujo de inicialización en Modo de Alta Complejidad.
La Fig. 7 es un diagrama que muestra un ejemplo de codificación mediante UVLC.
La Fig. 8 es un diagrama para ilustrar un ejemplo de transmisión de datos donde la información de configuración se añade a la cabecera de la capa de secuencia.
La Fig. 9 es un diagrama para ilustrar un ejemplo de transmisión de datos donde la información de configuración se añade a la cabecera de la capa de rodaja.
La Fig. 10 es un diagrama de flujo que muestra esquemáticamente una realización del método de decodificación de imagen.
La Fig. 11 es un diagrama de bloques que muestra una configuración de una realización del aparato de decodificación de imagen.
Las Figs. 12A a 12C son diagramas que muestran ejemplos de listas de valores iniciales y tablas de códigos de los mismos.
La Fig. 13 es una ilustración esquemática que muestra una configuración de una realización del sistema de transmisión de imagen.
La Fig. 14 es una tabla que muestra un ejemplo de la tabla de probabilidad usada en la codificación aritmética.
La Fig. 15 es una ilustración que muestra la codificación de la cadena de caracteres usando la tabla de probabilidad mostrada en la Fig. 14.
La Fig. 16 es una ilustración que muestra la decodificación de la cadena de caracteres usando la tabla de probabilidad mostrada en la Fig. 14.
La Fig. 17 es un diagrama que muestra un ejemplo de determinación de los valores iniciales a partir de la información de cabecera.
La Fig. 18 es un diagrama que muestra un ejemplo de ajuste de valores iniciales mediante la lista descrita en la segunda realización.
La Fig. 19 es un diagrama que muestra un ejemplo de preparación de una pluralidad de listas de valores iniciales usando la información previa en la cabecera y diciendo un código que indica una lista utilizada como información de configuración de valor inicial.
La Fig. 20 es un diagrama que muestra un ejemplo del diagrama de transición de estados de probabilidad.
La Fig. 21 es un diagrama que muestra un ejemplo en el que el estado inicial del diagrama de transición de estados sobre la codificación aritmética de un vector de movimiento se define utilizando el tamaño de la pantalla como un parámetro previo.
La Fig. 22 es un diagrama que muestra un ejemplo de la información de configuración.
La Fig. 23 es una ilustración que muestra esquemáticamente un formato de datos donde la información de configuración se añade a la cabecera de la capa de secuencia.
La Fig. 24 es una ilustración que muestra esquemáticamente un formato de datos donde la información de configuración se añade a la cabecera de la capa de rodaja.
La Fig. 25 es un diagrama que muestra el procedimiento de ajuste del número de estado inicial en la codificación aritmética usando el diagrama de transición de estados.
Mejores modos de llevar a cabo la invención
Se describirán a continuación con detalle haciendo referencia a los dibujos las realizaciones preferidas del método de codificación de señal, método de decodificación de señal, aparato de codificación de señal, aparato de decodificación de señal, y sistema de transmisión de señal usándolos de acuerdo con la presente invención. Los mismos elementos serán designados mediante los mismos símbolos de referencia a lo largo de la descripción de los dibujos, evitándose una descripción redundante de los mismos. También se remarca que las relaciones de dimensiones en los dibujos no siempre coinciden con las de la descripción.
En primer lugar, se describirá el método de codificación de señal de acuerdo con la presente realización. En este documento se describe como un ejemplo un método de codificación de video de realizar la codificación aritmética de una señal relacionada con codificación de video obtenida realizando las operaciones de transformación de datos predeterminadas sobre una película en movimiento (información de video).
La Fig. 1 es un diagrama de flujo que muestra esquemáticamente el método de codificación de video de acuerdo con la presente invención. El método de codificación es un método de codificación de vídeo de someter una imagen D1 de fotograma de entrada en una película en movimiento a una operación de transformación de datos predeterminada y a una operación de codificación para generar datos D7 codificados como datos comprimidos, que pueden transmitirse en el sistema de transmisión de video.
En primer lugar, se divide la imagen D1 de fotograma de entrada en macrobloques de un tamaño predeterminado (número de píxeles predeterminado) (paso S100), y se somete una imagen de cada macrobloque en la imagen D1 de fotograma a la operación de transformación de datos predeterminada para crear datos D6 de imagen como un objeto de codificación (S101, paso de transformación). En la presente realización, este paso de transformación consiste en dos pasos S102, S103.
Específicamente, la imagen D1 de fotograma se somete a una operación de procesado de datos predeterminada de conversión de los datos de imagen para obtener datos de imagen (datos de imagen espacial) D1 expresados mediante coordenadas espaciales (paso S102). La operación de procesamiento de datos ejecutada en este documento puede ser, por ejemplo, la predicción inter-fotograma con compensación de movimiento (MC: Compensación de Movimiento) donde la imagen de fotograma en la película en movimiento se somete a una codificación inter-fotograma (codificación entre fotogramas). Cuando la imagen de fotograma se somete a codificación inter-fotograma (codificación dentro del fotograma), por ejemplo, los datos de imagen de la imagen D1 de fotograma de entrada se utilizan como datos D5 de imagen espacial tal cual.
A continuación, se someten los datos D5 de imagen espacial a la operación de transformada ortogonal para generar una pluralidad de coeficientes D6 de transformada ortogonal que son datos de imagen expresados mediante frecuencias espaciales (datos de imagen de frecuencia) (S103, paso de transformación ortogonal). Esta transformada ortogonal se lleva a cabo en cada uno de los macrobloques obtenidos mediante la división de la imagen de fotograma, y los coeficientes de transformación ortogonal se obtienen a partir de cada macrobloque en la imagen D1 de fotograma de entrada. Estos coeficientes de transformada ortogonal se someten además a una operación de cuantización de acuerdo con las necesidades, para generar coeficientes de transformada ortogonal cuantizados que son datos de imagen como un objeto de codificación de entropía.
Posteriormente, la codificación de entropía por la codificación aritmética se lleva a cabo con la pluralidad de coeficientes D6 de transformada ortogonal para generar datos D7 codificados como datos comprimidos (S104, paso de codificación). En concreto, se establece una tabla de probabilidad predeterminada como una tabla de probabilidad (información relacionada con la probabilidad) aplicada a los coeficientes D6 de transformada ortogonal cuantizados (S105).
Los datos D7 codificados en este documento tiene la estructura estratificada consistente en la capa de rodaja, la capa de fotograma y la capa de secuencia. La capa de rodaja es una capa que consiste en una pluralidad de macrobloques, la capa de fotograma es una capa que consiste en una o más capas de rodaja y que corresponde a una imagen de fotograma, y la capa de secuencia es una capa que corresponde a todos los datos codificados. Los valores iniciales en la tabla de probabilidad utilizada para la codificación de entropía se determinan de modo que permitan codificar de manera eficiente los datos de cada capa de rodaja, y este método se describirá más adelante. Luego, los coeficientes D6 de transformada ortogonal cuantificada se codifican aritméticamente mediante el uso de la tabla de probabilidad establecida (S106) para obtener datos D7 codificados. A continuación, los valores iniciales de la tabla de probabilidad usados para la generación de los datos codificados se añaden como información de codificación a la cabecera de los datos codificados (S107).
Conjuntamente se añade en S107 una condición para codificar toda la imagen o toda la rodaja, por ejemplo, información que indica bien la codificación intra-fotograma o la codificación inter-fotograma.
La Fig. 2 es un diagrama de bloques que muestra la configuración de una realización del aparato de codificación de video de acuerdo con la presente invención. El método de codificación de video de la Fig. 1 se describirá con mayor detalle a continuación haciendo referencia al aparato de codificación de vídeo mostrado en la Fig. 2. En la descripción siguiente, se supone que la imagen D1 de fotograma de entrada alimentada como un objeto de codificación en el aparato de codificación de video es una película en movimiento que consiste fundamentalmente en imágenes de fotograma en una serie temporal. Sin embargo, nótese que el método de codificación de vídeo y el aparato de codificación de video de acuerdo con la presente invención son similarmente aplicables a imágenes fijas, cada una de las cuales consiste en un fotograma, mediante la omisión de los bloques asociados a la compensación de movimiento de la ilustración de la Fig. 2.
La imagen D1 de fotograma de entrada alimentada como un objeto de codificación se divide en primer lugar en macrobloques del tamaño de 16 píxeles x 16 líneas mediante una parte 10 de división de imagen de fotograma. En la DCT (transformada ortogonal) que se describe más adelante, por ejemplo, el método de codificación H.26L utiliza bloques DCT de un tamaño de 4 píxeles x 4 líneas. En este caso, un macrobloque tiene dieciséis bloques de luminancia (Luma) y ocho bloques de diferencia de color (Croma) en el DCT. Se lleva a cabo la codificación de imagen para cada uno de estos bloques.
La imagen D1 de fotograma se alimenta en una parte 11 de detección de movimiento para detectar el movimiento de una imagen en cada macrobloque de detección de movimiento. La parte 11 de detección de movimiento compara los datos de imagen en un macrobloque que se va a someter a detección de movimiento con datos de imagen en una imagen de fotograma como un fotograma de referencia, para detectar un vector D2 de movimiento que indica el movimiento de la imagen.
Específicamente, la parte 11 de detección de movimiento se refiere a una región de imagen predeterminada en una imagen D8 decodificada local almacenada como una imagen de fotograma ya codificada en una memoria 20 de fotograma, par buscar un patrón similar al macrobloque de la imagen D1 de fotograma de entrada como un objeto de codificación actual. Entonces, se determina el vector D2 de movimiento basándose en una magnitud de movimiento espacial entre el patrón similar y el macrobloque. En este momento, un modo de codificación usado para la compensación de movimiento en el macrobloque se selecciona de entre una pluralidad de modos de codificación preparados para la compensación de movimiento.
Las Figs. 3A a 3J son diagramas esquemáticos que muestran un ejemplo de los modos de codificación preparados para la compensación de movimiento. En el ejemplo de las Figs. 3A a 3J, los modos de codificación preparados son diez modos de codificación que incluyen un modo 0 de salto (Salto) en el que no se realiza ninguna compensación de movimiento, unos inter-modos 1-7 en los que la codificación inter-fotograma se lleva a cabo usando una de las formas de segmentación de bloque en bloques de compensación de movimiento diferentes entre los modos, y unos intra-modos en los que la codificación intra-fotograma se lleva a cabo usando uno de los modos de segmentación de bloques diferente entre los modos. El vector D2 de movimiento anteriormente mencionado se asigna a cada uno de los bloques de compensación de movimiento segmentados mostrados en las Figs. 3B-3H, para que cada macrobloque en los inter-modos 1-7 lleve a cabo la misma codificación inter-fotograma.
Después de la obtención del vector D2 de movimiento, la parte 12 de compensación de movimiento genera una imagen predictiva usando el vector D2 de movimiento del detector 11 de movimiento y la imagen D8 decodificada local de la memoria 20 de fotograma. Se obtiene una imagen D4 de fotograma predictiva contra la imagen D1 de fotograma de entrada mediante la determinación de los vectores D2 de movimiento de todos los macrobloques en la imagen D1 de fotograma y la generación de imágenes predictivas de movimiento usando los mismos. Posteriormente, un restador 13 genera una imagen D5 de fotograma de diferencia (residual de predicción) entre la imagen D1 de fotograma de entrada y la imagen D4 de fotograma predictiva. En el caso en que la imagen de fotograma está codificada mediante codificación intra-fotograma, no se crea la imagen D4 de fotograma predictiva sino que se usa la imagen D1 de fotograma de entrada como una imagen D5 de fotograma tal como es. Esta imagen D5 de fotograma comprende datos de imagen expresados por coordenadas espaciales, al igual que era la imagen D1 de fotograma de entrada, y estos datos D5 de imagen espacial son un objeto de la subsiguiente transformada ortogonal y codificación aritmética.
Los datos de imagen de la imagen D5 de fotograma se alimentan a la parte de transformada ortogonal (medios de transformada ortogonal) 14. La parte 14 de transformada ortogonal lleva a cabo la transformada ortogonal de cada uno de los bloques de transformada ortogonal (por ejemplo, dieciséis bloques de luminancia y ocho bloques de diferencia de color) de cada macrobloque, para la imagen D5 de fotograma mediante coordenadas espaciales. Luego, genera una pluralidad de coeficientes de transformada ortogonal como datos espaciales mediante frecuencias espaciales. Los coeficientes de transformada ortogonal se cuantizan usando parámetros de cuantización predeterminados mediante un cuantizador 15 para obtener unos coeficientes D6 de transformada ortogonal cuantizados finales como un objeto de la codificación aritmética.
Las Figs. 4A y 4B son ilustraciones que muestran la transformada ortogonal de los datos de imagen. Los datos de imagen que resultan de la división para la transformada ortogonal en la imagen D5 de fotograma son datos de imagen espaciales y se expresan mediante unos componentes 4 x 4 de imagen espacial a11-a44 definidos mediante coordenadas horizontales y verticales, como se muestra a modo de ejemplo mediante los componentes de imagen 4 x 4 de la Fig. 4A. La parte 14 de transformada ortogonal lleva a cabo la transformada ortogonal de los datos de imagen espacial mediante un método de transformación predeterminado para transformarlos en datos de imagen mostrados en la Fig. 4B. Los datos de imagen resultantes son datos de imagen de frecuencia y se expresan mediante unos coeficientes de transformada ortogonal f11-f44, que son componentes de imagen de frecuencia 4 x 4 definidos por frecuencias horizontales y verticales.
Una transformada ortogonal específica aplicable es, por ejemplo, la Transformada Discreta de Coseno (DCT, Discrete Cosine Transform). La DCT es la transformada ortogonal que utiliza términos de coseno de la transformada de Fourier y se utiliza con frecuencia en codificación de vídeo. La DCT de datos de imagen espaciales dan como resultado la generación de coeficientes DCT f11-f44 como datos de imagen en frecuencia. La DCT, por ejemplo, en el método de codificación H.26L, utiliza bloques DCT 4 x 4, como se muestra en las Figs. 4A-4B, como bloques de transformada ortogonal.
Los coeficientes D6 de transformada ortogonal cuantizados generados por la parte 14 de transformada ortogonal y el cuantizador 15 son codificados por entropía mediante la codificación aritmética usando la tabla de probabilidad predeterminada, en la parte de codificación de entropía (correspondiente a los medios de codificación y los medios de obtención de información de configuración) 16. Esto genera los datos D7 codificados como datos comprimidos de la imagen D1 de fotograma de entrada.
La codificación aritmética del vector D2 de movimiento y la información D3 de modo de codificación normalmente se lleva a cabo usando la tabla de probabilidad diferente de la utilizada en la codificación aritmética de los coeficientes D6 de transformada ortogonal cuantizados. En la codificación aritmética de los coeficientes D6 de transformada ortogonal cuantizados, también es posible utilizar diferentes tablas de probabilidad entre la codificación aritmética de los bloques de luminancia y la codificación aritmética de los bloques de diferencia de color. Aunque no se muestra, se añade conjuntamente a la cabecera una condición para la codificación de toda la imagen o toda la rodaja, por ejemplo, la información para indicar bien la codificación intra-fotograma o la codificación inter-fotograma.
En el presente aparato de codificación de video, los coeficientes D6 de transformada ortogonal cuantizados generados por la parte 14 de transformada ortogonal y el cuantizador 15 se someten a decodificación por el decuantizador 17 y la parte 18 de transformada ortogonal inversa. Los datos de imagen decodificada y la imagen D4 de fotograma predictiva se añaden en el sumador 19 para generar la imagen D8 decodificada local. Esta imagen D8 decodificada local se almacena en una memoria 20 de fotograma para ser utilizada en la compensación de movimiento para otras imágenes de fotograma.
Se describirá a continuación el paso de codificación aritmética (S106, Fig. 1) con mayor detalle. Aquí, se describirá un ejemplo de la codificación aritmética con referencia a la Fig. 5. En primer lugar, las tablas de probabilidad usadas en la codificación aritmética son preparadas mediante el número de transiciones por el modelado de contexto. En la presente realización, se prepara una pluralidad de tablas de probabilidad de acuerdo con el resultado del proceso de codificación de imagen (bien inter-fotograma o intra-fotograma, etc.) en un macrobloque adyacente como el modelado de contexto. Cada tabla de probabilidad está dotada de un contador a para almacenar la frecuencia de ocurrencia de la señal [1] y un contador b para almacenar la frecuencia de ocurrencia de todas las señales (el número de señal [0] señal [1 ]). Antes de comenzar la codificación en una rodaja, primero se ponen los valores iniciales en todos los contadores de esta tabla de probabilidad. Entonces, el codificador 16 de entropía lleva a cabo el modelado de contexto basándose en los datos codificados de entrada (S901 en la Fig. 5) y la binarización de la tabla de codificación (S902 en la Fig. 5) para determinar la tabla de probabilidad usada para cada uno de los bits así binarizados. A continuación, el codificado aritmético binario adaptativo calcula primero una probabilidad a/b de ocurrencia de la señal [1] a partir de los contadores en la tabla de probabilidad utilizada, y lleva a cabo la codificación aritmética usando esta probabilidad. Después de completar esta codificación aritmética, para efectuar el aprendizaje de la tabla de probabilidad, el contador o contadores en la tabla de probabilidad utilizada se incrementan: donde los datos codificados fueron la señal [0], el contador b se incrementa en 1; donde los datos codificados fueron la señal [1 ], los contadores a y b se incrementan en 1. Si se ajusta la probabilidad más finalmente, dependiendo de la capacidad de un búfer que retiene el límite superior del intervalo como un resultado intermedio de la codificación aritmética, se puede provocar que el resultado del cálculo no sea completamente adecuado. Por tanto, cuando el valor del contador b alcanza un cierto valor fijo, ambos contadores a, b se dividen entre dos, para disminuir los valores de los contadores. Este procesamiento secuencial se lleva a cabo para todos los datos codificados en una rodaja, implementando así la codificación de entropía mediante CABAC.
A continuación, se describirá específicamente un método de ajustar los valores iniciales en la codificación de entropía, que es una de las características de la presente realización.
Para ajustar los valores iniciales de la tabla de probabilidad con el propósito de ajustar las características de una imagen en movimiento como un objeto de codificación, es deseable analizar toda la imagen en movimiento como un objeto de codificación y determinar los valores iniciales basándose en la misma. Se describirá un método de implementar esto. En primer lugar, una señal de video original como un objeto de codificación es procesada por la operación de codificación descrita en la Fig. 1, incluyendo la compensación de movimiento, la transformada ortogonal, etc. Para crear datos de los coeficientes de transformada ortogonal cuantizados, vectores de movimiento, etc., como datos objetivo para ser sometidos a la codificación aritmética. Entonces, los datos así creados son sometidos al modelado de contexto en CABAC y la operación de binarización, y las cuentes de ocurrencia de símbolos [0] y [1] se compilan en cada tabla de probabilidad asignada por el modelado de contexto. En este momento, no hay necesidad de llevar a cabo realmente el proceso de codificación aritmética, y es suficiente con conocer las frecuencias de ocurrencia [0] y [1] en cada tabla de probabilidad. Entonces, se calculan los valores iniciales adecuados para la codificación a partir de las frecuencias de ocurrencia de los símbolos en cada tabla de probabilidad obtenida en este documento. Un método deseado de este cálculo es un método para obtener tales valores iniciales para proporcionar una relación de enteros aproximadamente equivalente a la relación de frecuencias de [0] y [1]. También es necesario no superar un valor mínimo permitido en la expresión de cada tabla de probabilidad en CABAC. Por ejemplo, suponiendo que el resultado de la operación de compilación fue [0]:4000 y [1]:1000 y que el máximo disponible para las tablas de probabilidad fue de 50 como un total de [0] y [1], los valores a ajustar deberían deseablemente ser cualquiera de entre ( [0]:[1] ) = (4:1), (8:2), (12:3), ..., (36:9). A este respecto, cuando las tendencias de ocurrencia de 0 y 1 son aproximadamente constantes a lo largo de cada rodaja, en lugar de valores pequeños como (4:1), los valores iniciales deberían mejor ajustarse a valores mayores para hacer que la variación de probabilidades sea más suave. Inversamente, si el cambio en las tendencias de ocurrencia de [0] y [1] es grande entre rodajas, los valores iniciales deberían mejor ajustarse a valores menores para hacer que la velocidad de aprendizaje sea mayor.
Desde el punto de vista de conseguir una mejora en la eficiencia de la codificación inmediatamente después de la inicialización, también es posible analizar solo cada rodaja en lugar de toda la imagen, llevar a cabo el proceso de codificación y el proceso de compilación anteriormente mencionados, y luego obtener los valores iniciales. Esto puede reducir la carga del proceso de codificación para comprobar las características de toda la película como en la técnica anterior y también aumentar la eficiencia de la codificación inmediatamente después de la inicialización. En la realización anterior, los valores iniciales se ajustan analizando la imagen/rodaja como un objeto de codificación, aunque también es posible ajustar los valores iniciales basándose en las estadísticas de las imágenes/rodajas codificadas entes de la imagen/rodaja en cuestión como un objeto de codificación.
El método H.26L permite el uso de la técnica de optimización denominada Modo de Alta Complejidad, y el ajuste de valor inicial de este modo puede implementarse mediante el método descrito a continuación. La Fig. 6 muestra el flujo de procesamiento sobre el Modo de Alta Complejidad.
En el Modo de Alta Complejidad, primero se ajustan los valores iniciales (S300); la codificación se lleva a cabo realmente en cada uno de los modos de codificación, como se muestra en las Figs. 3A-8J, basándose en los valores iniciales (S302); las calidades de las imágenes decodificadas y el número de bits necesario para la codificación se determinan a partir de los resultados de la codificación, y se selecciona el mejor modo de codificación como los dos resultados en términos de eficiencia de codificación (S304). Esto nos permite buscar un modo de codificación capaz de conseguir la mayor eficiencia de codificación sin cambios en los valores iniciales. Este flujo se repite para todos los macrobloques que constituyen una rodaja que constituye una unidad de partición de la codificación (S306) para buscar el modo de codificación óptimo. Posteriormente, cuando el ajuste de valores iniciales de esta realización se lleva a cabo en ese modo, el resultado almacenado en los contadores en cada tabla de probabilidad se compila a partir del resultado del modo seleccionado (S308), y después de finalizar el cálculo para todos los macrobloques en una rodaja, se calculan los valores iniciales de cada tabla de probabilidad basándose en los valores de los contadores finalmente obtenidos (S310). Se determina si debería llevarse a cabo la optimización de los valores iniciales basándose en diferencias entre los valores iniciales calculados y los valores iniciales ajustados inicialmente en el paso S300 (S312). Cuando se determina que se detiene la optimización, se lleva a cabo de nuevo la codificación de la rodaja en cuestión en el Modo de Alta Complejidad utilizando los valores (S314) iniciales calculados. Lo anterior permite que la codificación según el Modo de Alta Complejidad se lleve a cabo al mismo tiempo que la búsqueda del valor inicial óptimo. Si este trabajo se lleva a cabo hasta que los valores iniciales de la tabla de probabilidad ajustados y los valores de la tabla de probabilidad finalmente obtenidos después del cálculo anterior convergen dentro de un intervalo fijado, será posible buscar los valores iniciales óptimos y que el modo de codificación sea capaz de conseguir el resultado de la codificación con una máxima eficiencia mediante los valores iniciales.
El método de cálculo de valor inicial descrito en este documento es solo un ejemplo de la presente realización, y los valores iniciales pueden calcularse mediante cualquier otro método. Por ejemplo, un método potencial es tal que se investiga preliminarmente una relación entre algunos candidatos a convertirse valores iniciales, y las propiedades de variación de valores de señal de películas en movimiento con esos valores candidatos son aplicables adecuadamente, solo se lleva a cabo un análisis sobre la variación de los valores de señal de una imagen móvil sin pre-codificación en la operación de codificación, y luego se determinan los valores a utilizar.
La presente realización describió las configuraciones de acuerdo con el método de codificación de vídeo ITU-T H.26L, pero la presente invención no tiene que estar limitada al método H.26L o los métodos de codificación de video. La presente invención también puede aplicarse a varios métodos de codificación de señal en los que la codificación aritmética se lleva a cabo en unidades de partición de una señal objetivo de codificación y donde la información relacionada con la probabilidad en la codificación aritmética es inicializada en cada una de las particiones.
A continuación, se describe un método en el que la parte de adición de información de configuración (que corresponde a los medios de adición de información de configuración) 30 añade la información de configuración acerca de los valores iniciales de la tabla de probabilidad a la cabecera.
Una técnica de colocación de la información de configuración en la cabecera puede ser un método para binarizar los valores iniciales y ponerlos como códigos de longitud fijas tal como son, o un método de transmisión usando la codificación de entropía tal como la codificación Huffman o similar. Cuando se utiliza la codificación Huffman, también es posible aplicar UVLC (VLC Universal), que se adopta, por ejemplo, en H.26L. Un ejemplo de la codificación mediante UVLc se muestra en la Fig. 7. Mediante la definición mostrada en la Fig. 7, cualquier valor inicial puede ser codificado. La temporización de la notificación de la información de configuración debe ser anterior a los datos de codificación aritmética en una capa como un objeto. Se describirá con relación a la Fig. 8 un ejemplo de transmisión de datos donde la información de configuración es añadida a la cabecera de la capa de secuencia.
Haciendo referencia a la Fig. 8, se inicia la codificación de una secuencia (S400), se lleva a cabo la determinación de valor inicial anteriormente mencionada (S402), y a continuación se emiten los valores iniciales determinados (S404). A continuación, se inicia la codificación de la capa de fotograma (S046) y, posteriormente, se inicia la codificación de la capa de rodaja (S408). En la codificación de la capa de rodaja, se inicializa la tabla de probabilidad mediante los valores iniciales determinados (S410), y se lleva a cabo la codificación aritmética en la capa de rodaja usando la tabla de probabilidad (S412). Después de finalizar la codificación aritmética, los datos aritméticos codificados se notifican (S414), y termina la codificación de la capa de rodaja (S416). A continuación, se lleva a cabo repetidamente la codificación de manera similar antes de la codificación de todas las capas de rodaja en el fotograma (S418). Después de finalizar la codificación de la capa de fotograma (S420), se lleva a cabo repetidamente de manera similar antes de que se hayan codificado todas las capas de fotograma en la secuencia (S422). Después de terminar la codificación de todos los fotogramas, la codificación de la capa de secuencia termina (S424).
La Fig. 23 muestra el formato de datos generado por el proceso mostrado en la Fig. 8. El formato de datos mostrado en la Fig. 23 contiene una cabecera 1010 de secuencia, una cabecera 1011 de fotograma, cabeceras 1012 y 1014 de rodaja, datos 1013 y 1015 de imagen de respectivas rodajas, y datos 1016 codificados de la información de configuración. La cabecera 1010 de secuencia indica el inicio de una secuencia. La cabecera 1010 de secuencia contiene información común acerca de toda la secuencia, por ejemplo, el tamaño de imagen, un exploración progresiva o exploración entrelazada, y otros. Una cabecera de fotograma contiene información común acerca de una imagen de fotograma como información que indica el tipo de codificación, por ejemplo, bien codificación inter-fotograma o codificación inter-fotograma. La Fig. 23 muestra la cabecera 1011 de fotograma del primer fotograma de la secuencia. Una cabecera de rodaja contiene información común acerca de una rodaja como el valor inicial del paso de cuantización para la cuantización de datos en la rodaja. La Fig. 23 muestra la cabecera 1012 de rodaja de la primera rodaja y la cabecera 1014 de rodaja de la segunda rodaja en el primer fotograma. En el procesamiento mostrado en la Fig. 8, los datos codificados 1016 de la información de configuración acerca de los valores iniciales usados en la configuración aritmética se almacenan en la cabecera 1010 de secuencia.
En la presente realización, la cabecera de secuencia contiene la información acerca de los valores iniciales de la tabla de probabilidad que se van a notificar, aunque también es posible poner la información de configuración en las cabeceras de la capa de fotograma o la capa de rodaja que es una capa inferior con relación a la capa de secuencia. En este caso, la información de configuración puede variar más frecuentemente que cuando se pone en la cabecera de secuencia. Por tanto, se aplica de manera efectiva a casos donde la información de configuración que se va a usar en la inicialización de la tabla de probabilidad debería variarse de varias maneras en la misma secuencia, por ejemplo, en caso de películas en movimiento donde las características de las imágenes frecuentemente varían mucho en mitad debido a cambios de escena, casos de películas en movimiento donde las características de las imágenes móviles varían mucho dentro del mismo fotograma debido a movimiento rápida, y otros. En tales casos, es deseable determinar los valores iniciales para cada fotograma para cada rodaja basándose en el resultado de la codificación en el fotograma o rodaja en cuestión.
Por otro lado, poner la información de configuración en cada capa de fotograma o capa de rodaja puede dar como resultado un aumento del volumen de información de la información de configuración añadida más que el efecto mediante el cambio de los valores iniciales y un fracaso en cuanto a contribuir al aumento de la eficiencia de la codificación en su conjunto. Un método potencial para resolverlo es poner en la cabecera de cada capa de fotograma o en la cabecera de cada capa de rodaja, o en ambas, un indicador que indica si hay un cambio o no en la información de configuración; cuando el cambio en los valores iniciales puede conseguir un efecto adecuado, el indicador se ajusta a ON y se notifica la información de configuración; cuando se determina que el cambio tiene poco efecto, el indicador se ajusta a OFF y se notifica la información de configuración. En esta ocasión, la información de configuración que se usa para la inicialización sin notificación de valores iniciales puede ser la información de configuración usada en la rodaja o fotograma inmediatamente precedente, o puede ser la información de configuración determinada en una capa superior tal como la capa de secuencia o la capa de fotograma. La primera es efectiva en casos donde los valores iniciales modificados se utilizan mucho tiempo debido a una variación en las propiedades con el cambio de escena en una película en movimiento, y la segunda es efectiva en casos donde un cambio de propiedad de una película en movimiento es local y se puede conseguir una codificación más eficiente mediante los valores iniciales modificados solo en la rodaja o fotograma en cuestión. Cuando se utiliza el método siguiente en el caso de que los valores iniciales no se modifiquen como se describe, es posible conseguir un acuerdo de determinación sobre la información de configuración entre el lado del codificador y el lado del decodificador sin una notificación explícita. En concreto, es posible utilizar una configuración tal que el cambio de la información de configuración se utiliza normalmente solo en la rodaja pertinente y a continuación se devuelve la información de configuración a la determinada en la capa superior como en la anterior, y tal que el cambio en la información de configuración se produce de manera continua en una pluralidad de rodajas o fotogramas y el número de cambios continuos supera un umbral predeterminado, se supone que la información de configuración ha cambiado y se ajusta la información de configuración que se va a usar a la de la rodaja o fotograma inmediatamente precedente como en la anterior.
A continuación, la Fig. 9 muestra un diagrama de flujo sobre un ejemplo de la técnica de codificación y emisión de datos donde la información de configuración es notificada por las cabeceras de las rodajas. En primer lugar, se inicia la codificación de una capa de secuencia (S500); a continuación, se inicia la codificación de una capa de fotograma en la capa de secuencia (S502); además, se inicia la codificación de una capa de rodaja en la capa de fotograma (S504). En primer lugar, se ajustan los valores iniciales para la inicialización de la capa de rodaja (S506); se notifican entonces los valores iniciales así ajustados (S508); se inicializa la tabla de probabilidad mediante los valores iniciales (S510). La codificación aritmética de la capa de rodaja se lleva a cabo usando la tabla de probabilidad con los valores iniciales ajustados (S512); después de finalizar la codificación aritmética, se notifican los datos codificados aritméticamente (S514); termina la codificación de la capa de rodaja (S516). A continuación, se lleva a cabo repetidamente la codificación de manera similar antes de codificar todas las capas de rodaja en el fotograma (S518). Después de terminar la codificación de la capa de fotograma (S520), se lleva a cabo repetidamente la codificación de manera similar antes de codificar todas las capas de fotograma en la secuencia (S522). Después de terminar la codificación de todos los fotogramas, termina la codificación de la capa de secuencia (S524).
La Fig. 24 muestra el formato de datos generado por el proceso mostrado en la Fig. 9. El formato de datos mostrado en la Fig. 24 contiene una cabecera 1020 de secuencia, una cabecera 1021 de fotograma, cabeceras 1022 y 1024 de rodaja, datos 1023 y 1025 de imagen, y datos 1026 y 1027 codificados de la información de configuración. La cabecera 1020 de secuencia es una cabecera que indica el inicio de la secuencia. La cabecera 1020 de secuencia contiene información común acerca de toda la secuencia, por ejemplo, el tamaño de imagen, bien exploración progresiva o exploración entrelazada, y otros. Cada cabecera de fotograma contiene información común acerca de una imagen de fotograma como información que indica el tipo de codificación, por ejemplo, bien codificación intra-fotograma o codificación inter-fotograma. La Fig. 24 muestra la cabecera 1021 de fotograma del primer fotograma en la secuencia. Cada cabecera de rodaja contiene información común sobre una rodaja como el valor inicial del paso de cuantización de datos en la rodaja. La Fig. 24 muestra la cabecera 1022 de rodaja de la primera rodaja y la cabecera 1024 de rodaja de la segunda rodaja en el primer fotograma. En el procesamiento mostrado en la Fig. 9, los datos 1026, 1027 codificados de la información de configuración acerca de los valores iniciales usados en la codificación aritmética son almacenados en las correspondientes cabeceras 1022, 1024 de rodaja, respectivamente.
En caso de que la información de configuración sea notificada por la cabecera de la capa de fotograma, la determinación del valor inicial y la notificación de información del valor inicial pueden llevarse a cabo entre el inicio de la capa de fotograma y el inicio de la capa de rodaja.
En cuanto a la información de configuración a incluir en la cabecera, en lugar de transmitir los valores iniciales de la tabla de probabilidad como la información de configuración tal cual están, también es posible enviar diferencias de los mismos con relación a los valores iniciales en el fotograma o rodaja anterior según se ha descrito anteriormente, o enviar diferencias de los mismos con relación a los valores iniciales ajustados en una capa superior. Insertando la información de configuración de esas formas, cuando se notifica la información de configuración mediante codificación de entropía, tal como la codificación Huffman o similar, las probabilidades de ocurrencia de la información de configuración pueden variar, lo que puede reducir la sobrecarga necesaria para la información de configuración mediante un diseño apropiado de los códigos de longitud variable.
A continuación, se describirá el programa de codificación de video de acuerdo con la primera realización. Este programa de codificación de video es un programa para permitir que el ordenador ejecute el método de codificación de video anteriormente mencionado. En concreto, este programa de codificación de video es un programa que permite que el ordenador ejecute el paso de dividir un fotograma objetivo de codificación en macrobloques (S100); el paso de transformación (paso S101) que incluye la predicción inter-fotograma con compensación de movimiento (S102) y la transformación ortogonal y cuantización (S103); el paso de codificación (S104) que incluye el ajuste de valores iniciales de la tabla de probabilidad y la derivación de información de configuración (S105, el paso de obtención de información de configuración), y la codificación aritmética (S106); y el paso (S107, el paso de adición de información de configuración) de añadir la cabecera que contiene la información de configuración a la señal codificada. Este programa de codificación de vídeo se proporciona, por ejemplo, en forma de señales de datos de ordenador superpuestas sobre una onda portadora.
A continuación, se describen los efectos del método de codificación de vídeo y el aparato de codificación de video de acuerdo con la primera realización.
En el método de codificación de video mostrado en la Fig. 1, la imagen D1 de fotograma es sometida a la operación de transformación de datos tal como la compensación de movimiento y la transformación ortogonal para obtener los coeficientes D6 de transformada ortogonal cuantizados como un objeto de la codificación de entropía y a continuación los coeficientes D6 de transformada ortogonal cuantizados son sometidos a la codificación aritmética usando la tabla de probabilidad predeterminada, para generar los datos D7 codificados como datos comprimidos. En la ocasión en que se emiten finalmente los datos d 7 codificados, se ponen en la cabecera los valores iniciales de la tabla de probabilidad.
Esto permite que el lado del codificador configure libremente los valores iniciales de la tabla de probabilidad utilizada en la codificación aritmética. En concreto, cuando se ajustan los valores iniciales a tales valores para ajustar las características de una película en movimiento como un objeto de codificación tal como se describe en la presente realización, es posible mantener pequeña la disminución de la eficiencia de codificación que se produce durante el período desde inmediatamente antes de la inicialización de la tabla de probabilidad hasta la actualización y aprendizaje de la tabla de probabilidad.
Como el aparato de codificación de video de acuerdo con la presente invención también está configurado para insertar los valores iniciales de la tabla de probabilidad en la cabecera como en el método de codificación anterior, es posible ajustar los valores iniciales en cada unidad de partición. Como se ha descrito anteriormente en la presente realización, cuando los valores iniciales se ajustan a tales valores para ajustarse a las características de una película en movimiento como un objeto de codificación, es posible mantener pequeña la disminución en la eficiencia de la codificación que se produce durante el período desde inmediatamente antes de la inicialización de la tabla de probabilidad hasta la actualización y aprendizaje de la tabla de probabilidad.
Se describen a continuación el método de decodificación de video y el aparato de decodificación de vídeo que utiliza la presente invención.
La Fig. 10 es un diagrama de flujo que muestra esquemáticamente una realización del método de decodificación de video de acuerdo con la presente invención. El presente método de decodificación es un método de decodificación de video de llevar a cabo una operación de decodificación predeterminada y una operación de restauración de video para los datos D7 codificados generados por el método de codificación de video mostrado en la Fig. 1, restaurando así una imagen D10 de fotograma de salida como una imagen correspondiente a la imagen D1 de fotograma de entrada.
En el método de decodificación de video mostrado en la Fig. 10, en primer lugar, se lleva a cabo la decodificación de entropía usando la decodificación aritmética para los datos D7 codificados para generar una pluralidad de coeficientes D6 de transformada ortogonal cuantizados como datos de imagen expresados mediante frecuencias espaciales (S201, paso de decodificación).
Los datos D7 codificados tienen la estructura estratificada que consiste en la capa de rodaja, la capa de fotograma, y la capa de secuencia. La inicialización de la tabla de probabilidad se lleva a cabo en cada capa de rodaja. En la presente realización en este documento, se ajustan los valores iniciales de la tabla de probabilidad basándose en la información de configuración de los valores iniciales de la tabla de probabilidad añadidos a la cabecera. En concreto, los valores iniciales de la tabla de probabilidad aplicada a los datos D7 codificados son notificados por la cabecera de los datos D7 codificados, y se ajustan como valores iniciales de la tabla de probabilidad (S202). Entonces, se lleva a cabo la decodificación aritmética de los datos D7 codificados usando la tabla de probabilidad inicializada por los valores iniciales (S203) para obtener los coeficientes D6 de transformada ortogonal cuantizados como datos de imagen de frecuencia.
A continuación, se lleva a cabo la operación de restauración de datos predeterminados para los coeficientes D6 de transformada ortogonal cuantizados como datos de imagen para cada uno de los macrobloques en una imagen de fotograma, restaurando así la imagen de fotograma (S200, paso de restauración). En la presente realización, el paso de restauración consiste en dos pasos S204, S205.
Específicamente, se llevan a cabo sucesivamente una operación de decuantización y una operación de transformada ortogonal inversa para los coeficientes D6 de transformada ortogonal cuantizados para generar datos de imagen (datos de imagen espacial) D9 expresados mediante coordenadas espaciales (S204, paso de transformación ortogonal inversa). Entonces, se lleva a cabo una operación de procesamiento de datos predeterminados para los datos D9 de imagen espacial para llevar a cabo la transformación de los datos de imagen, restaurando así la imagen D10 de fotograma de salida (S205).
La Fig. 11 es un diagrama de bloques que muestra una configuración de una realización del aparato de decodificación de video de acuerdo con la presente invención.
Los datos D7 codificados alimentados como un objeto de decodificación se suministran a un codificador de entropía (que corresponde a los medios de ajuste de valor inicial y los medios de decodificación aritmética) 21 para ser sometidos a decodificación de entropía mediante la decodificación aritmética usando la tabla de probabilidad, para generar información D3 de modo de codificación, vectores D2 de movimiento, coeficientes D6 de transformada ortogonal cuantizados como datos de imagen de frecuencia, y otros. El ajuste e inicialización de la tabla de probabilidad usada en la decodificación aritmética en el decodificador 21 de entropía, y la recepción de los valores iniciales de la tabla de probabilidad son iguales que los descritos anteriormente en la descripción del diagrama de flujo mostrado en la Fig. 10.
Los coeficientes D6 de transformada ortogonal cuantizados decodificados en el decodificador 21 de entropía son suministrados a los medios de restauración que comprenden un decuantizador 21, una parte 23 de transformada ortogonal inversa, un compensador 24 de movimiento, y un sumador 26. Los medios de restauración llevan a cabo la operación de restauración de datos predeterminada para los coeficientes D6 de transformada ortogonal cuantizada como datos de imagen para cada uno de los bloques en una imagen de fotograma, restaurando así la imagen D10 de fotograma.
En primer lugar, los coeficientes D6 de transformada ortogonal cuantizados son sometidos a la decuantización y la transformada ortogonal inversa por el decuantizador 22 y la parte de transformada ortogonal inversa (medios de transformada ortogonal inversa) 23. Esto da como resultado la generación de una imagen D9 de fotograma restaurada como datos de imagen espacial. La imagen D9 de fotograma restaurada es una imagen de fotograma que corresponde a la imagen D5 de fotograma antes de la codificación.
Por otro lado, los vectores D2 de movimiento son alimentados al compensador 24 de movimiento. El compensador 24 de movimiento genera una imagen D4 de fotograma predictiva, usando los vectores D2 de movimiento del decodificador 21 de entropía y una imagen de fotograma ya decodificada en la memoria 25 de fotograma. Entonces, el sumador 26 añade la imagen D9 de fotograma restaurada a la imagen D4 de fotograma predictiva, y la imagen de fotograma así restaurada es emitida como una imagen D10 de fotograma de salida. Cuando los datos codificados son los codificados mediante codificación intra-fotograma, se emite la imagen D9 de fotograma restaurada como una imagen D10 de fotograma de salida tal como es.
Se describe a continuación el programa de decodificación de video de acuerdo con la primera realización. Este programa de decodificación de video es un programa para hacer que un ordenador ejecute el método de decodificación de video anteriormente mencionado. Concretamente, el programa de decodificación de video es un programa para hacer que el ordenador ejecute el paso de codificación (S201), incluyendo el paso de ajustar los valores iniciales de la tabla de probabilidad basándose en la información de configuración en la cabecera de la señal codificada (S202, el paso de ajuste de valor inicial), y el paso de llevar a cabo la decodificación aritmética basándose en la tabla de probabilidad con los valores iniciales así ajustados (S203, el paso de decodificación aritmética); y el paso de restauración (S200) que incluye el paso de llevar a cabo la decuantización y la transformada ortogonal inversa de los datos así decodificados (S204), y el paso de restaurar los datos de imagen mediante la operación de procesamiento de datos predeterminados (S205). El programa de decodificación de video se proporciona, por ejemplo, en forma de señales de datos de ordenador superpuestas a una onda portadora.
Se describirán ahora los efectos de del método de decodificación de video de acuerdo con la presente invención.
En el método de decodificación de video mostrado en la Fig. 10 los datos D7 codificados se someten a la decodificación aritmética usando la tabla de probabilidad predeterminada para obtener los datos D6 de imagen, y a continuación se someten los datos D6 de imagen a la operación de restauración de datos para restaurar la imagen D10 de fotograma. Los valores iniciales de la tabla de probabilidad usada en la decodificación aritmética se ajustan a los valores leídos de la cabecera.
Esto permite que el lado del decodificador utilice también la tabla de probabilidad adecuadamente ajustada para ajustar las propiedades de cada película en movimiento en el lado del codificador. En consecuencia, se ajusta adecuadamente la tabla de probabilidad para los datos D7 codificados de la estructura estratificada que consiste en la capa de rodaja, la capa de fotograma, y la capa de secuencia, y la imagen de fotograma puede ser adecuadamente restaurada a partir de los datos D7 codificados mejorados en la eficiencia de la compresión de datos.
Se describirá a continuación el método de codificación de video (aparato) y el método de decodificación de video (aparato) de acuerdo con la segunda realización de la presente invención. El método de codificación de video (aparato) y el método de decodificación de video (aparato) de acuerdo con la segunda realización son idénticos en el flujo fundamental a aquellos de acuerdo con la primera realización y por tanto se describirán con referencia a los mismos dibujos (Figs. 1, 2, 10 y 11). Se describirán a continuación el método de codificación de video (aparato) y el método de decodificación de video (aparato) de la segunda realización con relación a porciones diferentes de la primera realización.
El método de codificación de video (aparato) de la segunda realización es diferente del método de codificación de video de la primera realización en que el paso de adición de información de configuración (medios de adición de información de configuración) está configurado para seleccionar los valores iniciales de la tabla de probabilidad usada en la codificación, a partir de una lista de valores iniciales conocida, o notificados por la cabecera, y ponerlos como información de configuración en la cabecera. El programa de codificación de video de la segunda realización para hacer que un ordenador ejecute el método de codificación de video de acuerdo con la segunda realización también es diferente en el paso de obtención de información de configuración y el paso de adición de información de configuración ejecutados por el ordenador, con relación al programa de codificación de video de la primera realización. En concreto, en el paso de obtención de información de configuración, que el programa de codificación de video de la segunda realización hace que ejecute el ordenador, los valores iniciales de la tabla de probabilidad usados en la codificación son seleccionados a partir de la lista de valores iniciales conocida, o notificados por la cabecera, y en el paso de adición de información de configuración los valores seleccionados de la lista de valores iniciales se insertan como información de configuración en la cabecera. Esto permite que el método de codificación de video (aparato) de la segunda realización designe los valores iniciales de la tabla de probabilidad usada para la codificación aritmética, en el lado del codificador, justo como en el caso de la primera realización. Si los valores iniciales designados en este momento se ajustan a valores tales para ajustarse las características de una película en movimiento como un objeto de codificación, es posible hacer pequeña la disminución de la eficiencia de la codificación que se produce durante el período desde inmediatamente después de la inicialización de la tabla de probabilidad hasta la actualización y aprendizaje de la tabla de probabilidad. Además, los datos realmente transmitidos no son los propios valores iniciales, sino un número en la lista de valores iniciales, y esta configuración presenta la ventaja de que incluso si esto se notifica en cada cabecera de rodaja, el volumen de códigos necesarios para la notificación no aumentará en exceso.
El método de decodificación de video (aparato) de la segunda realización está configurado para recibir un número que indica los valores iniciales de la tabla de probabilidad en la cabecera, cotejar el número con la lista de valores iniciales para extraer los valores iniciales, y llevar a cabo la inicialización de una rodaja en cuestión mediante los valores. El programa de decodificación de video de la segunda realización para hacer que un ordenador ejecute el método de decodificación de video de la segunda realización también es diferente en el paso de ajuste de valores iniciales ejecutado por el ordenador, con relación al programa de decodificación de video de la primera realización. En concreto, en el paso de ajuste de valores inicial, que el programa de decodificación de video de la segunda realización hace que ejecute el ordenador, el número que indica los valores iniciales de la tabla de probabilidad es recibido en la cabecera, y el número es cotejado con la lista de valores iniciales para ajustar los valores iniciales de la tabla de probabilidad. En la segunda realización, por tanto, las tablas de probabilidad ajustadas para ajustarse a las propiedades de las respectivas películas en movimiento en el lado del codificador también pueden usarse en el lado del decodificador. Por tanto, es posible ajustar adecuadamente la tabla de probabilidad para los datos D7 codificados que tienen la estructura estratificada que consiste en la capa de rodaja, la capa de fotograma, y la capa de secuencia y restaurar adecuadamente la imagen de fotograma de los datos D7 codificados mejorada en la eficiencia de la compresión de datos.
A continuación se describe una técnica de selección de valores iniciales de entre la lista de valores iniciales y de notificar los valores iniciales seleccionados.
Cuando las frecuencias de ocurrencia de los símbolos en cada tabla se obtienen como información estadística de una película en movimiento, un método deseable de seleccionar los valores iniciales óptimos de entre la lista es determinar una relación de frecuencias de ocurrencia de [0] y [1] y seleccionar los valores iniciales más cercanos a la relación de entre la lista. Las Figs. 12A-12C muestran ejemplos de listas de valores iniciales y tablas de códigos de las mismas. Por ejemplo, cuando las frecuencias son [0]:2000 y [1]:3000, los valores iniciales deseablemente seleccionados de entre la lista de la Fig. 12A son (2, 3).
Los valores iniciales seleccionados de entre la lista pueden ser notificados mediante la notificación de un número que indica los valores iniciales. Este método de notificación mediante número puede implementarse utilizando códigos de longitud fija o utilizando códigos de longitud variable tales como los códigos Huffman, como se ha descrito como método de notificación de valor inicial en la primera realización. En particular, este último método consigue una codificación eficiente, porque puede determinar las longitudes de código de acuerdo con las probabilidades de ocurrencia de los valores iniciales. Un ejemplo de codificación de números mediante códigos de Huffmann está indicado mediante códigos en la Fig. 12A. En este ejemplo, a medida que el número de valores iniciales disminuye, la longitud de código se hace más corta, para implementar una codificación eficiente. Para adaptar la magnitud del cambio en las características de películas en movimiento, como se ha descrito en la primera realización, es también posible disponer un código multiplicador que indica un multiplicador a los valores iniciales, posteriormente al código de valor inicial, y de ese modo permitir el uso de varios de los valores iniciales predeterminados. Utilizando dichos valores iniciales grandes, es posible controlar la influencia de la actualización de la tabla de probabilidad basándose en el aprendizaje posterior a la inicialización y evitar que la actualización de la tabla de probabilidad en mitad del aprendizaje afecte negativamente a la eficiencia de la codificación aritmética.
En la Fig. 12B se muestra un ejemplo de los códigos de multiplicador. Por ejemplo, en el caso en que se selecciona (2, 3) como valores iniciales en la Fig. 12A y donde se selecciona 2 como un multiplicador, se añade el código “10” posteriormente a “11100” que indica (2, 3). Esto hace posible llevar a cabo la codificación y decodificación usando los valores iniciales (4, 6).
Nótese que esta lista de valores iniciales y tabla de códigos de valores iniciales son solo un ejemplo, y es también posible usar cualquier otra lista de valores iniciales y tabla de códigos de valor inicial. Por ejemplo, en el caso en que se conoce con antelación que la probabilidad de ocurrencia de 0 es muy alta, podemos usar una lista de valores iniciales y una tabla de códigos de valor inicial para hacer que las longitudes de código de los valores iniciales con altas probabilidades de 0, como se muestra en la Fig. 12C, sean cortas. También es posible preparar una pluralidad de dichas listas de valores iniciales y tablas de código de valores iniciales y utilizarlas selectivamente de acuerdo con los tipos de tablas de probabilidad. En este caso, un patrón del uso selectivo puede ser compartido por el codificador y decodificador con antelación, o puede ser designado mediante la asignación de números a las respectivas listas de valores iniciales y el envío de información que indica la lista de valores iniciales usada en cada tipo de la tabla de probabilidad, por parte de la cabecera de secuencia.
Si no hay valores iniciales adecuados para la codificación de una cierta rodaja en la lista de valores iniciales, pueden notificarse los valores iniciales actuales, en lugar del número de valores iniciales, para la rodaja en cuestión. Una técnica deseable de esta notificación es un método de transmitir un código de escape que no corresponde a ninguno de los valores iniciales de la lista y colocar los valores de los valores iniciales después de estos. Esto permite la transmisión de los valores iniciales adecuados y un aumento en la eficiencia de la codificación aritmética incluso en el caso en que no hay valores iniciales en la tabla de probabilidad adecuados para aumentar la eficiencia de la codificación aritmética en la lista de valores iniciales.
El número de valores iniciales que pueden ser controlados por un número de valor inicial puede ser uno, o puede agruparse una pluralidad de tablas de probabilidad para su control conjunto por un número de valor inicial. El primer método permite un ajuste fino del valor inicial, mientras que el segundo método permite disminuir el volumen de información de los números de valor inicial que se tienen que transmitir. En cuanto a cómo combinar las tablas de probabilidad en este momento, es deseable agrupar tablas de probabilidad de elementos de codificación con propiedades similares en una sola. Por ejemplo, en el caso de la codificación en los modos de macrobloque mostrados en las Figs.
3A-3J, se lleva a cabo la codificación aritmética usando una pluralidad de tablas de probabilidad para datos binarizados de la información de modo, en lugar de usar una tabla de probabilidad. Como se considera que una tabla de probabilidad acerca de un elemento de codificación tiene una correlación con otras tablas, es deseable controlar los valores iniciales mediante un grupo que las incluye a todas. En aquellos casos en los que la luminancia varía a lo largo de toda la rodaja, por ejemplo, cuando toda la pantalla se vuelve oscura, es probable que la propiedad acerca del coeficiente DC de entre los coeficientes DCT asociados a la luminancia varíe. El número de tablas de probabilidad utilizadas no es uno en la codificación del coeficiente DC, sino que se lleva a cabo la codificación aritmética usando una pluralidad de tablas de probabilidad para la información binarizada del coeficiente DC; por tanto, es deseable manejar estas tablas de probabilidad conjuntamente.
Para controlar una pluralidad de tablas de probabilidad juntas como grupo, es posible controlar los valores iniciales de todas las tablas de probabilidad mediante un código. Por ejemplo, un método potencial es definir valores iniciales para tipos de películas respectivas. Como las películas de deporte tienden a contener información de movimiento significativa, puede prepararse y ajustarse un conjunto de valores iniciales de tablas de probabilidad respectivas para conseguir una mejor eficiencia con gran movimiento. Por el contrario, películas de paisaje contienen solo movimiento simple, y por tanto puede ajustarse un conjunto de valores iniciales para conseguir una mejor eficiencia con movimiento bajo.
Anteriormente se describió la técnica de transmitir la información por parte de las cabeceras de rodaja, pero también puede transmitirse el número de valores iniciales descrito en la presente realización por parte de la otra cabecera de secuencia o cabecera de rodaja, o puede transmitirse simultáneamente por varios tipos de capas incluyendo las cabeceras de rodaja.
Se describirá a continuación el método de codificación de video (aparato) y el método de decodificación de video (aparato) de acuerdo con la tercera realización de la presente invención. El método de codificación de video (aparato) y el método de decodificación de video (aparato) de acuerdo con la tercera realización son idénticas en el flujo fundamental a los de la primera realización y la segunda realización, y por tanto se describirán con referencia a los mismos dibujos (Figs. 1, 2, 10, y 11). El método de codificación de video (aparato) y el método de decodificación de video (aparato) de acuerdo con la primera realización y la segunda realización se describirán con relación solo a las diferencias con relación a las realizaciones primera y segunda.
El método de codificación de video (aparato) de la tercera realización es diferente de los métodos de codificación de video de las realizaciones primera y segunda por que los valores iniciales de la tabla de probabilidad utilizada en la codificación se determinan mediante la combinación de la información de configuración insertada en la cabecera en el paso de adición de información de configuración con información previa en la cabecera. El programa de codificación de video de la tercera realización para hacer que un ordenador lleve a cabo el método de codificación de video de la tercera realización también es diferente en el paso de obtención de información de configuración y el paso de adición de información de configuración ejecutados por el ordenador, con relación a los programas de codificación de video de las realizaciones primera y segunda. Concretamente, en el paso de adición de información de configuración, que el programa de codificación de video de la tercera realización hace que ejecute el ordenador, los valores iniciales de la tabla de probabilidad utilizada en la codificación se convierten en una combinación de la información previa en la cabecera con la información de configuración que se pone en la cabecera, mediante un método predeterminado, y en el paso de adición de información de configuración la información previa y la información de configuración se ponen en la cabecera de la señal codificada. Esto permite que el método (aparato) de codificación de video de la tercera realización designe los valores iniciales de la tabla de probabilidad utilizada en la codificación aritmética, en el lado del codificador, como en el caso de las realizaciones primera y segunda. Si los valores iniciales designados en este momento se ajustan a unos valores tales que se ajustan a las características de una película en movimiento como un objeto de codificación, se hace posible mantener pequeña la disminución en la eficiencia de la codificación que se produce durante el período desde inmediatamente después de la inicialización de la tabla de probabilidad hasta la actualización y aprendizaje de la tabla de probabilidad. Además, como la información previa en la cabecera también se usa, el volumen de información necesario para la notificación de valores iniciales puede reducirse utilizando la correlación de los valores iniciales en la codificación aritmética con el tamaño de imagen, valor del paso de cuantización, ya sea codificación intra-fotograma o codificación inter-fotograma, etc.
El método (aparato) de decodificación de video de la tercera realización está configurado para recibir la información de configuración que indica los valores iniciales de la tabla de probabilidad en la cabecera, calcular los valores iniciales mediante la combinación de la información de configuración con la información previa en la cabecera, y llevar a cabo la inicialización de la rodaja en cuestión mediante los valores. El programa de decodificación de video de la tercera realización para hacer que un ordenador ejecute el método de decodificación de video de la tercera realización también es diferente en el paso de ajuste de valor inicial ejecutado por el ordenador, a partir de los programas de decodificación de video de las realizaciones primera y segunda. Concretamente, en el paso de ajuste de valores iniciales que el programa de decodificación de video de la tercera realización hace que ejecute el ordenador, la información de configuración que indica los valores iniciales de la tabla de probabilidad es recibida en la cabecera, y los valores iniciales de la tabla de probabilidad son calculados mediante la combinación de la información de configuración con la información previa en la cabecera. En la tercera realización, por tanto, el lado del decodificador también puede usar la tabla de probabilidad adecuadamente ajustada para ajustarse a la propiedad de cada película en movimiento en el lado del codificador. En consecuencia, es posible ajustar adecuadamente la tabla de probabilidad para datos D7 codificados que tienen la estructura estratificada que consiste en la capa de rodaja, la capa de fotograma, y la capa de secuencia, y restaurar adecuadamente la imagen de fotograma a partir de los datos D7 codificados mejorados en cuanto a eficiencia de compresión de datos.
A continuación, se describe una técnica de notificación de los valores iniciales usando la información previa en la cabecera.
La información descrita en varias cabeceras de una película en movimiento incluye el tamaño de video, valor de paso de cuantización, código de tiempo, el tipo de codificación de fotograma (intra-fotograma o inter-fotograma), etc. Estos parámetros están muy correlacionados con los parámetros de video a codificar. Por ejemplo, el tamaño de video tiene una correlación tal con los vectores de movimiento que indican la magnitud del movimiento en una película que los vectores de movimiento se hacen mayores con el aumento en el tamaño de video. A medida que el paso de cuantización se hace más grande, los coeficientes de transformada ortogonal frecuentemente se hacen más pequeños o nulos. El código de tiempo indica el número de fotogramas por tiempo definido y por tanto puede ser un índice de la tendencia de magnitud de los vectores de movimiento.
Un método de combinar la información de cabecera con la información de valor inicial puede ser un método para determinar valores aproximados de los valores iniciales mediante la información previa en la cabecera y llevar a cabo un ajuste fino mediante la información de configuración de valor inicial. En la Fig. 17 se muestra un ejemplo para determinar los valores iniciales a partir de la información de la cabecera. La Fig. 17 muestra una tabla de probabilidad usada en la codificación de la información del vector de movimiento. El número bin mostrado en la Fig. 17 indica cada bit de una señal binaria que indica la información de vector de movimiento, y el valor inicial de 0 y el valor inicial de 1 indican los valores iniciales de la tabla de probabilidad en la codificación aritmética en cada bin. En este ejemplo, los valores iniciales de la tabla de probabilidad son diferentes entre el tamaño de imagen de QCIF (176 x 144 píxeles) y el tamaño de imagen de CIF (352 x 288 píxeles). Por ejemplo, el número bin 0 es el contexto que indica si existe un vector de movimiento, es decir, la presencia o ausencia de movimiento; como frecuentemente se da el caso de que un movimiento difícil de discriminar como movimiento en el tamaño QCIF puede ser discriminado como movimiento en el tamaño CIF, se espera que exista una diferencia entre las probabilidades de ocurrencia de los símbolos en este bin. Por tanto, disponiendo la diferencia entre valores iniciales como en la Fig. 17, se hace posible realizar un ajuste más cercano a valores para su uso como valores iniciales. Entonces, se añade un valor para la adición o resta de los valores iniciales aproximados como información de configuración en la cabecera. Esta información de configuración puede ser el propio valor añadido por la técnica descrita en la primera realización, o puede añadirse preparando una lista según se describe en la segunda realización y añadiendo un valor seleccionado de la misma en la forma de un código de longitud fija o un código de longitud variable. La Fig. 18 muestra un ejemplo del ajuste de valor inicial mediante la lista descrita en la segunda realización. Este ejemplo permite la codificación en un volumen de información más bajo que en el caso de designar directamente los valores iniciales.
El método del combinar la información de cabecera con la información de valor inicial, como se describe en este documento, es solo un ejemplo, y es posible utilizar cualquier otro método. Por ejemplo, la información de configuración de valor inicial puede ser el código de multiplicador, tal como se muestra en la Fig. 12B, en lugar del valor para la adición o resta tal como se muestra en la Fig. 18, o puede ser ambas al mismo tiempo que se preparan ambos códigos. Es también posible entonces preparar una pluralidad de listas de valores iniciales usando la información previa en la cabecera y proporcionar una notificación de un código que indica una lista usada como la información de configuración de valor inicial. Se muestra un ejemplo en la Fig. 19. En la Fig. 19, se preparan tres tipos de listas de valores iniciales de acuerdo con las magnitudes de movimiento en cada uno de los tres tamaños de pantalla idéntica, además del cambio en bin0 dependiendo de los tamaños de pantalla, y se proporciona información acerca de la lista utilizada como información de configuración de valor inicial. Las especies de la información previa de cabecera pueden ser de un tipo o de dos o más tipos.
Los valores iniciales pueden calcularse mediante una fórmula que incorpora la información previa de cabecera. Por ejemplo, puede ajustarse el valor del paso de cuantización mediante pasos de 0 a 31 en H.26L, y por tanto es probable que el ajuste de las listas según se muestra en la Fig. 17 o Fig. 19 para todos los pasos de cuantización aumente el volumen de información en las listas y llene la memoria. El consumo de memoria puede mantenerse bajo mediante el ajuste de los valores iniciales de acuerdo con la expresión de función usando el valor del paso de cuantización. Un ejemplo de la expresión de función descrita más adelante es un caso de valores iniciales del contexto para la codificación de los coeficientes de transformada ortogonal. En el caso de los coeficientes de transformada ortogonal, las probabilidades de que los coeficientes se hagan 0 disminuye con la disminución en el valor del paso de cuantización, mientras que las probabilidades de que los coeficientes se hagan 0 aumenta con el aumento en el valor del paso de cuantización. Las siguientes fórmulas son un ejemplo de la expresión de función.
Ini (0) = (valor ajustado) QP/10
Ini(1) = (valor ajustado - QP/10 (QP: valor del paso de cuantización)
El valor inicial de 0 obtenido mediante la función anterior descrita en este documento se define como Ini(0), y el valor inicial de 1 como Ini(1). El valor ajustado es un valor obtenido de acuerdo con la tabla de códigos anterior o similar a partir de la información de configuración de valor inicial unida a la cabecera. Mediante la determinación de los valores iniciales como en el ejemplo anterior, puede utilizarse de manera efectiva el valor del paso de cuantización en el ajuste del valor inicial y puede reducirse el volumen de información necesario para la información de configuración de valor inicial. El valor del paso de cuantización se utilizó en este documento igual que en la información de cabecera previa, aunque la información de cabecera previa puede ser cualquier otro parámetro. Por ejemplo, en la cabecera de rodaja se describe el número de macrobloques en una rodaja, es decir, el tamaño de la rodaja. Por este motivo, puede estimarse un período posible de aprendizaje a partir del número de macrobloques en la rodaja, y por tanto puede controlarse la velocidad de aprendizaje modificando el multiplicador a la información de configuración de valor inicial de acuerdo con este valor.
A continuación, se describirá el método (aparato) de codificación de video y el método (aparato) de decodificación de video de acuerdo con la cuarta realización de la presente invención. La presente realización utiliza el diagrama de transición de estado de probabilidad mostrado en la Fig. 20 como un método de codificación aritmética. Con relación a los detalles del diagrama de transición de estados, se debería hacer referencia a “Basic technologies on international image coding standards”, de Fumitaka Ono y Hiroshi Watanabe y publicado por CORONA PUBLISHING CO., LTD. Se describirá brevemente en este documento. El método (aparato) de codificación de video y el método (aparato) de decodificación de video de la cuarta realización son iguales en el flujo excepto por el método de codificación aritmética tal como en las realizaciones hasta la tercera, y en este documento se omite una descripción del mismo.
En la codificación aritmética con el diagrama de transición de estados, se implementa la variación y adaptación de probabilidades basándose en la transición en una tabla de estimación de probabilidad con una pluralidad de estados de probabilidad. La Fig. 20 muestra un ejemplo del diagrama de transición de estados de la tabla de estimación de probabilidad. Aquí, el dominante de entre 0 y 1 en términos del número de ocurrencia se trata como el símbolo más probable, y el otro como el símbolo menos probable. En la Fig. 20, # representa valores de direcciones que indican respectivos estados, LSZ formas hexadecimales de probabilidades del símbolo menos probable, NM valores de código de estados en la siguiente transición cuando se selecciona el símbolo más probable, Nl direcciones de estados de la siguiente transición cuando se selecciona el símbolo menos probable, y SW una conmutación entre el símbolo más probable y el símbolo menos probable cuando se selecciona el símbolo menos probable en el estado en cuestión. En el estado de #, las probabilidades se ajustan aproximadamente al 50%.
La codificación aritmética usando la Fig. 20 se inicia al principio a partir del estado inicial de #0, es decir, un estado en el que las probabilidades del símbolo más probable y el símbolo menos probable son aproximadamente iguales. Entonces, se aplica LSZ en #0 a la probabilidad en la codificación y a continuación se hace una transición de probabilidades hasta otro estado dependiendo del símbolo seleccionado. Por ejemplo, suponiendo en #0 que se selecciona el símbolo más probable, se realiza la transición a #1, y se aplica LSZ en #1 al cálculo en la codificación del siguiente símbolo. Inversamente, suponiendo que se selecciona el símbolo menos probable en #0, se realiza la transición a #1 y se realiza una conmutación entre el símbolo más probable y el símbolo menos probable. Al realizar dichas transiciones progresivas de este modo, se hace posible conseguir una variación al mismo tiempo que se aplican las probabilidades al objeto de codificación. Para conseguir un aprendizaje rápido de probabilidades a valores estacionarios, el diagrama de transición se configura para modificar la variación de probabilidades mediante la transición de estados grande durante la etapa inicial de codificación y el ajuste del cambio a pequeño con el progreso de la codificación. En el diagrama de transición de la Fig. 20 como un ejemplo, los estados se separan en tres etapas de #0 a #5, #6 a #13, y #14 a #45.
En el método (aparato) de codificación de video en la cuarta realización, el estado inicial en el diagrama de transición de estados usado en la codificación se fija en el paso de adición de información de codificación. Esto permite que el método (aparato) de codificación de video de la cuarta realización designe los valores iniciales de las probabilidades utilizadas en la codificación aritmética, en el lado del codificador, tal como en el caso de las realizaciones hasta ahora. Si los valores iniciales designados en este momento se ajustan a tales valores para ajustarse a las características de una película en movimiento como un objeto de codificación, se hace posible reducir la disminución en la eficiencia de la codificación que se produce durante el período desde inmediatamente después de la inicialización de probabilidades al momento en que la variación de probabilidades mediante la transición de estado pasa al estado estacionario.
El método (aparato) de decodificación de video de acuerdo con la cuarta realización está configurado para recibir la información de configuración que indica el estado inicial del diagrama de transición de estados en la cabecera y llevar a cabo la inicialización de la rodaja en cuestión mediante el valor de la información de configuración. En la cuarta realización, por tanto, el lado del decodificador también puede usar las probabilidades adecuadamente ajustadas para ajustar las propiedades de las respectivas películas en movimiento en el lado del codificador. En consecuencia, se hace posible ajustar adecuadamente las probabilidades para los datos D7 codificados que tienen la estructura estratificada que consiste en la capa de rodaja, la capa de fotograma, y la capa de secuencia y restaurar adecuadamente la imagen de fotograma a partir de los datos D7 codificados mejorados en cuanto la eficiencia de la compresión de datos.
Se describirá a continuación una técnica de notificación del estado inicial del diagrama de transición de estados.
Una técnica concebible de notificación del estado inicial es un método para convertir un número que indica un estado en un código de longitud fija o longitud variable y fijarlo en la cabecera. Este método, sin embargo, presenta el problema de que, como existen cuarenta y seis estados en el diagrama de transición de estados de la Fig. 20, las longitudes de los códigos que se deben preparar se hacen muy largas y la longitud promedio del código también se hace larga. Por tanto, es deseable usar la información previa en la cabecera para reducir el volumen de información fijada, como se describe en la tercera realización. En las Figs. 21 y 22 se describe un ejemplo de este método. En la Fig. 21 se determina el estado inicial del diagrama de transición de estados acerca de la codificación aritmética de vectores de movimiento mediante el uso del tamaño de pantalla, que es un parámetro proporcionado con anterioridad. Aquí, el número bin representa un número de cada bit en la información del vector de movimiento, como en la tercera realización, la posición de arranque inicial un número de estado del diagrama de transición de estados en el contexto de un bit en concreto, y el símbolo más probable un símbolo que se define como un símbolo más probable en el estado inicial de entre “0” y “1”. La Fig. 22 define la información de configuración para la conversión de la posición de arranque inicial para cada bit mostrado en la Fig. 21. En la Fig. 22, “número” representa números de serie dados a las entidades de información de configuración respectivas, y el valor de transición la magnitud de la transición desde el número de estado inicial en la Fig. 21. “Dirección” representa la dirección de transición y se asigna un valor bien para positivo o negativo dependiendo de la dirección de transición. “Código” representa códigos de longitud variable asignados a las respectivas entidades de información de configuración, y la inserción de este código en varias cabeceras permite la adición de la información de configuración.
La Fig. 25 muestra el procedimiento de ajuste del número de estado inicial en la decodificación con las Figs. 21 y 22. Como se muestra en la Fig. 25, para ajustar el número de estado inicial en la decodificación, primero se extraen los datos acerca del tamaño de una película de la cabecera de la información (S601) de video. Luego, se extrae la información S de configuración acerca del binN como información acerca del binN de la cabecera (S602). Entonces, la posición P0 de arranque inicial y el símbolo M0 más probable del binN mostrado en la Fig. 21 se leen en vista del tamaño anterior de la película (S603). Entonces, la posición P0 de arranque inicial y el símbolo M0 más probable se convierten basándose en la información S de configuración para obtener una posición P de arranque inicial convertida y un símbolo M más probable convertido (S604). La conversión basada en la información S de configuración se implementa de tal modo que se lleva a cabo la transición en el diagrama de transición de estados al mismo tiempo que se supone que con el valor de transición de la dirección positiva el MPS es seleccionado por el número del valor de transición o al mismo tiempo que se supone que con el valor de transición de la dirección negativa el LPS es seleccionado por el número del valor de transición. Por ejemplo, en la Fig. 20, el estado P0 de arranque inicial es 30, el símbolo más probable M0 = 1, y el valor de transición de la información S de configuración es 3, la posición P de arranque inicial convertida obtenida es 33. En este caso, el símbolo M más probable convertido es todavía 1 igual a M0. P y M así obtenidos mediante la conversión se ajustan como la posición de arranque inicial del binN (S605). A continuación, se repite este procesamiento para todos los bins (S606, S607). Esta tabla de códigos de estado inicial y método de conversión son solo un ejemplo, y también es posible usar cualquier otra tabla de códigos de estado inicial y método de conversión.
Nótese también que el uso de la información de tamaño de pantalla en este documento es solo un ejemplo y la invención no se limita a esto. Por ejemplo, puede ajustarse el estado inicial definiendo las expresiones de función descritas en la tercera realización, usando el valor del parámetro de cuantización que es la condición de codificación para la codificación de la imagen, o puede ajustarse usando la información acerca de si la imagen es codificada mediante codificación intrafotograma o mediante codificación intra-fotograma. Cuando la variación de probabilidades es escalonada como en el diagrama de transición de estados de la Fig. 20, puede notificarse un estado de variación de inicio mediante la información de configuración para permitir un cambio en la variación de la probabilidad en el arranque. Por ejemplo, en la Fig. 20, #0, #6, y #14 tienen la misma probabilidad, pero sus pendientes de variación de probabilidad son diferentes. Por tanto, es posible asignar a cada uno de los estados anteriores un código de longitud fija o un código de longitud variable y fijarlo a la cabecera como información de configuración.
A continuación, se describirá el programa de codificación de video de la cuarta realización para hacer que un ordenador lleve a cabo el método de codificación de video de acuerdo con la cuarta realización. En el paso de adición de información de configuración, que el programa de codificación de video hace que ejecute el ordenador, el número de estado inicial asociado a la tabla de probabilidad inicial usada en la codificación se convierte en una combinación de la información previa anterior con la información de configuración añadida a la cabecera mediante el método predeterminado. En el paso de codificación, se lleva a cabo codificación aritmética al mismo tiempo que se actualiza la tabla de probabilidad mediante la transición del número de estado con el diagrama de transición de estados descrito anteriormente. En el paso de adición de información de configuración, la información anteriormente mencionada y la información de configuración se añaden a la cabecera fijadas a la señal de codificación.
A continuación, se describe el programa de decodificación de video de la cuarta realización para hacer que un ordenador lleve a cabo el método de decodificación de video de acuerdo con la cuarta realización. En el paso de ajuste de valor inicial, que el programa de decodificación de video hace que ejecute el ordenador, el número de estado inicial asociado a la tabla de probabilidad inicial usada en la codificación se obtiene mediante la combinación de la información previa anterior con la información de configuración anterior unida a la cabecera, mediante el método predeterminado. En el paso de decodificación aritmética, se lleva a cabo la decodificación aritmética al mismo tiempo que se actualiza la tabla de probabilidad mediante la transición del número de estado con el diagrama de transición de estados tal como se ha descrito anteriormente.
En las realizaciones tercera y cuarta anteriores, si se usa una lista para ajustar la información de configuración de valor inicial y la información de configuración de estado inicial como en la segunda realización, el número de valores iniciales que puede ser controlado por una información de configuración de valor inicial e información de configuración de estado inicial puede ser uno, o una pluralidad de entidades de información de probabilidad pueden ser controladas conjuntamente como agrupadas. El primero permite un ajusta de probabilidad inicial más fino, mientras que el segundo permite una reducción en el volumen de información de la información de configuración de valor inicial y la información de configuración de estado inicial a transmitir. El modo de combinar la información de probabilidad en este momento es deseablemente agrupar la información de probabilidad de elementos de codificación que presentan propiedades similares en uno. Por ejemplo, en el caso de la codificación en los modos de macrobloque mostrados en las Figs. 3A-3J, la información de probabilidad usada no es solo una, sino que se lleva codificación aritmética usando una pluralidad de entidades de información de probabilidad para información binarizada de la información de modo. Se espera que en este caso la información de probabilidad acerca de un elemento de codificación tenga una correlación con otra información de probabilidad, y por tanto es deseable controlar los valores iniciales mediante un grupo que los incluya a todos en conjunto. En casos en que la luminancia demuestra cambio a lo largo de toda la rodaja, por ejemplo, cuando toda la pantalla se oscurece, se considera que la propiedad acerca del coeficiente DC de entre los coeficientes DCT, asociados a la luminancia, varía. En la codificación del coeficiente DC, la información de probabilidad usada no es solo una, sino que se lleva a cabo la codificación aritmética usando una pluralidad de entidades de información de probabilidad para la información binarizada del coeficiente DC; por tanto, es deseable manejar estas entidades de información de probabilidad conjuntamente.
Para controlar una pluralidad de entidades de información agrupadas, los valores de todas las entidades de información de probabilidad pueden ser controladas mediante un código. Por ejemplo, un método potencial es definir valores iniciales para tipos respectivos de películas. Como las películas de deportes tienden a tener mucha información de movimiento, puede prepararse el conjunto de valores iniciales de las respectivas entidades de información de probabilidad y pueden ajustarse para conseguir una mejor eficiencia con mucho movimiento. En contraste, como las películas de paisajes contienen movimiento simple, puede ajustarse el conjunto de valores iniciales para conseguir una mejor eficiencia con poco movimiento.
Por último, se describirá un ejemplo del sistema de transmisión de señal. Un ejemplo descrito en este documento es un sistema de transmisión de imagen configurado para codificar información de vídeo y transmitirla. La Fig. 13 es una ilustración que muestra la configuración del sistema de transmisión de imagen (por ejemplo, un sistema de transmisión de video móvil) de acuerdo con el ejemplo. El sistema de transmisión de imagen comprende un aparato de codificación de imagen (por ejemplo, el aparato de codificación de imagen mostrado en la Fig. 2) para implementar el método de codificación de imagen mostrado en la Fig. 1, y un aparato de decodificación de imagen (por ejemplo, el aparato de decodificación de imagen mostrado en la Fig. 11) para implementar el método de decodificación de imagen mostrado en la Fig. 10.
En el presente sistema, la imagen D1 de fotograma de entrada está codificada en el aparato 1 de codificación de imagen para generar datos D7 codificados, y los datos codificados se emiten sobre una línea de transmisión cableada o inalámbrica predeterminada. Los datos D7 codificados transmitidos a través de la línea de transmisión a partir del aparato 1 de codificación de imagen se alimentan al aparato 2 de decodificación de imagen para su restauración como imagen D10 de fotograma de salida.
El sistema de transmisión de imagen de esta configuración puede codificar eficientemente los datos de imagen de cada una de las unidades de partición y transmitir eficientemente la imagen.
Aplicabilidad industrial
La presente invención proporciona el método de decodificación de señal, aparato de decodificación de señal, y programa de decodificación de señal capaces de llevar a cabo la decodificación eficiente de la señal codificada.

Claims (3)

REIVINDICACIONES
1. Un método de decodificación de señal de video de llevar a cabo una decodificación aritmética de coeficientes de transformada ortogonal de una señal de video codificada en unidades de partición, usando un diagrama de transición de estados en el que cada uno de entre una pluralidad de números de estado está asociado a una probabilidad de un respectivo símbolo menos probable y/o una probabilidad de un respectivo símbolo más probable, y donde una variación de probabilidades es escalonada, de modo que al menos dos de los números de estado se asocian a la misma probabilidad, donde el método de decodificación de señal comprende:
obtener un número de estado inicial basado en un valor de paso de cuantización e información de configuración incluida en una cabecera de una unidad de partición de la señal de video codificada, donde la información de configuración es un código de longitud fija o un código de longitud variable respectivamente asignado a cada uno de los al menos dos números de estado asociados a la misma probabilidad; y
decodificar aritméticamente los coeficientes de transformada ortogonal de la señal de video codificada usando la probabilidad del respectivo símbolo menos probable asociado al número de estado inicial obtenido en el diagrama de transición como un valor inicial de la probabilidad del respectivo símbolo menos probable en la decodificación aritmética de los coeficientes de transformada ortogonal en la unidad de partición.
2. Un aparato de decodificación de señal de video para llevar a cabo la decodificación aritmética de coeficientes de transformada ortogonal de una señal de vídeo codificada en unidades de partición, usando un diagrama de transición de estados en el que cada uno de una pluralidad de números de estado está asociado a una probabilidad de un respectivo símbolo menos probable y/o una probabilidad de un respectivo símbolo más probable, y donde una variación de probabilidades es escalonada, de modo que al menos dos de los números de estado se asocian a la misma probabilidad, donde el aparato de decodificación de video comprende:
medios de obtención de número de estado inicial para obtener un número de estado inicial basándose en un valor de paso de cuantización e información de configuración incluida en una cabecera de una unidad de partición de la señal de video codificada, donde la información de configuración es un código de longitud fija o un código de longitud variable respectivamente asignado a cada uno de los al menos dos de los números de estado asociados a la misma probabilidad; y
medios de decodificación aritmética para decodificar aritméticamente los coeficientes de transformada ortogonal de la señal de video codificada usando la probabilidad del respectivo símbolo menos probable asociado al número de estado inicial obtenido en el diagrama de transición como un valor inicial de la probabilidad del respectivo símbolo menos probable en la decodificación aritmética de los coeficientes de transformada ortogonal en la unidad de partición.
3. Un programa de decodificación de señal de video para llevar a cabo la decodificación aritmética de los coeficientes de transformada ortogonal de una señal de video codificada en unidades de partición, usando un diagrama de transición de estados en el que cada uno de entre una pluralidad de números de estado está asociada a una probabilidad de un respectivo símbolo menos probable y/o una probabilidad de un respectivo símbolo más probable, y donde una variación de probabilidades es escalonada, de manera que al menos dos de los números de estado se asocian a la misma probabilidad, donde el programa de decodificación de señal de video comprende instrucciones que, cuando son ejecutadas por un ordenador, hacen que el ordenador lleve a cabo los pasos de:
obtener un número de estado inicial basado en un valor de paso de cuantización e información de configuración incluida en una cabecera de una unidad de partición de la señal de video codificada, donde la información de configuración es un código de longitud fija o un código de longitud variable respectivamente asignado a cada uno de los al menos dos números de estado asociados a la misma probabilidad; y
decodificar aritméticamente los coeficientes de transformada ortogonal de la señal de video codificada usando la probabilidad del respectivo símbolo menos probable asociado al número de estado inicial obtenido en el diagrama de transición como un valor inicial de la probabilidad del respectivo símbolo menos probable en la decodificación aritmética de los coeficientes de transformada ortogonal en la unidad de partición.
ES15155943T 2002-04-26 2003-04-25 Método de decodificación de señal, dispositivo de decodificación de señal, y programa de decodificación de señal Expired - Lifetime ES2730953T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2002127534 2002-04-26
JP2002220316 2002-07-29

Publications (1)

Publication Number Publication Date
ES2730953T3 true ES2730953T3 (es) 2019-11-13

Family

ID=29272383

Family Applications (1)

Application Number Title Priority Date Filing Date
ES15155943T Expired - Lifetime ES2730953T3 (es) 2002-04-26 2003-04-25 Método de decodificación de señal, dispositivo de decodificación de señal, y programa de decodificación de señal

Country Status (8)

Country Link
US (2) US7190289B2 (es)
EP (4) EP2479896A1 (es)
JP (1) JP3842803B2 (es)
KR (1) KR100701810B1 (es)
CN (1) CN100495931C (es)
ES (1) ES2730953T3 (es)
TW (1) TWI232682B (es)
WO (1) WO2003092169A1 (es)

Families Citing this family (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI232682B (en) * 2002-04-26 2005-05-11 Ntt Docomo Inc Signal encoding method, signal decoding method, signal encoding device, signal decoding device, signal encoding program, and signal decoding program
SE527621C2 (sv) * 2003-06-10 2006-04-25 Jan-Olov Stroemberg Metod och system för komprimering av bilddata
US7688895B2 (en) * 2003-07-22 2010-03-30 Lsi Corporation Method and/or circuit for binary arithmetic decoding decisions before termination
US8107531B2 (en) * 2003-09-07 2012-01-31 Microsoft Corporation Signaling and repeat padding for skip frames
US8064520B2 (en) 2003-09-07 2011-11-22 Microsoft Corporation Advanced bi-directional predictive coding of interlaced video
US7961786B2 (en) * 2003-09-07 2011-06-14 Microsoft Corporation Signaling field type information
US7724827B2 (en) * 2003-09-07 2010-05-25 Microsoft Corporation Multi-layer run level encoding and decoding
US7564381B1 (en) * 2004-02-16 2009-07-21 Cisco Technology, Inc. System and method for code-based compression in a communications environment
US7400277B2 (en) * 2004-04-06 2008-07-15 International Business Machines Corporation Method and system for the compression of probability tables
US7023365B1 (en) * 2004-04-15 2006-04-04 Rockwell Collins, Inc. System and method for compression of words and phrases in text based on language features
US20060079187A1 (en) * 2004-10-03 2006-04-13 Struck James T GPS, infrasonics, audio tools armband for location and assistance in response to astronomical and other crises
EP1829027A1 (en) * 2004-12-15 2007-09-05 Telefonaktiebolaget LM Ericsson (publ) Method and device for encoding mode changing of encoded data streams
KR100694098B1 (ko) 2005-04-04 2007-03-12 한국과학기술원 산술 복호 방법 및 그 장치
KR100672585B1 (ko) * 2005-12-14 2007-01-24 엘지전자 주식회사 비디오 압축 형식 신호의 복호방법
US7262722B1 (en) * 2006-06-26 2007-08-28 Intel Corporation Hardware-based CABAC decoder with parallel binary arithmetic decoding
JP4513841B2 (ja) * 2007-08-28 2010-07-28 ソニー株式会社 符号化装置、符号化方法、符号化方法のプログラム及び符号化方法のプログラムを記録した記録媒体
WO2009075326A1 (ja) 2007-12-11 2009-06-18 Nippon Telegraph And Telephone Corporation 符号化方法、復号化方法、これらの方法を用いた装置、プログラム、記録媒体
JP2009152990A (ja) 2007-12-21 2009-07-09 Panasonic Corp 画像符号化装置及び画像復号化装置
US9008171B2 (en) 2008-01-08 2015-04-14 Qualcomm Incorporated Two pass quantization for CABAC coders
US8891615B2 (en) 2008-01-08 2014-11-18 Qualcomm Incorporated Quantization based on rate-distortion modeling for CABAC coders
GB2457262A (en) * 2008-02-08 2009-08-12 Linear Algebra Technologies Compression / decompression of data blocks, applicable to video reference frames
US8542748B2 (en) 2008-03-28 2013-09-24 Sharp Laboratories Of America, Inc. Methods and systems for parallel video encoding and decoding
US7714754B2 (en) * 2008-07-14 2010-05-11 Vixs Systems, Inc. Entropy decoder with pipelined processing and methods for use therewith
WO2010041858A2 (en) * 2008-10-06 2010-04-15 Lg Electronics Inc. A method and an apparatus for decoding a video signal
US7932843B2 (en) * 2008-10-17 2011-04-26 Texas Instruments Incorporated Parallel CABAC decoding for video decompression
US8131770B2 (en) * 2009-01-30 2012-03-06 Nvidia Corporation System, method, and computer program product for importance sampling of partitioned domains
JP5274317B2 (ja) * 2009-03-17 2013-08-28 パナソニック株式会社 符号量推定装置、符号量推定方法、符号量推定プログラムおよび、符号量推定集積回路
EP2449781B1 (en) * 2009-06-29 2016-12-28 Thomson Licensing Methods and apparatus for adaptive probability update for non-coded syntax
CN104639941B (zh) * 2009-10-29 2018-03-27 太阳专利托管公司 图像解码方法及图像解码装置
EP2534643A4 (en) * 2010-02-11 2016-01-06 Nokia Technologies Oy METHOD AND APPARATUS FOR PROVIDING MULTIFIL VIDEO DECODING
US20120163457A1 (en) * 2010-12-28 2012-06-28 Viktor Wahadaniah Moving picture decoding method, moving picture coding method, moving picture decoding apparatus, moving picture coding apparatus, and moving picture coding and decoding apparatus
CA2822929C (en) 2011-01-04 2016-07-12 Research In Motion Limited Coding of residual data in predictive compression
CA2822925C (en) 2011-01-04 2017-09-19 Research In Motion Limited Coding of residual data in predictive compression
KR20120084639A (ko) 2011-01-20 2012-07-30 한국전자통신연구원 엔트로피 부호화를 위한 적응적 정렬 테이블
WO2012099433A2 (ko) * 2011-01-20 2012-07-26 한국전자통신연구원 인덱스 매핑 테이블을 이용한 엔트로피 코딩 방법 및 이러한 방법을 사용하는 영상 부호화/복호화 장치 및 방법
AU2012221588B2 (en) 2011-02-22 2015-12-17 Sun Patent Trust Image coding method, image decoding method, image coding apparatus, image decoding apparatus, and image coding and decoding apparatus
TWI547152B (zh) 2011-02-22 2016-08-21 太格文 Ii有限責任公司 影像解碼方法及影像解碼裝置
WO2012114693A1 (ja) 2011-02-24 2012-08-30 パナソニック株式会社 算術復号方法および算術符号化方法
CA2780711A1 (en) * 2011-06-10 2012-12-10 Research In Motion Limited Method and system to reduce modelling overhead for data compression
LT3661201T (lt) 2011-07-19 2021-04-12 Tagivan Ii Llc Filtravimo būdas, vaizdo dekodavimo būdas, vaizdo kodavimo būdas, vaizdo dekodavimo aparatas, vaizdo kodavimo aparatas ir vaizdo kodavimo/dekodavimo aparatas
CA2807959C (en) 2011-07-29 2018-06-12 Panasonic Corporation Video encoding method, video decoding method, video encoding apparatus, video decoding apparatus, and video encoding/decoding apparatus
US9654772B2 (en) 2012-01-19 2017-05-16 Qualcomm Incorporated Context adaptive entropy coding with a reduced initialization value set
US9124385B2 (en) * 2012-08-10 2015-09-01 Infinera Corporation Optical connection hitless bandwidth or spectrum resizing
US20150189269A1 (en) * 2013-12-30 2015-07-02 Google Inc. Recursive block partitioning
US10368072B2 (en) * 2015-05-29 2019-07-30 Qualcomm Incorporated Advanced arithmetic coder
US10972733B2 (en) 2016-07-15 2021-04-06 Qualcomm Incorporated Look-up table for enhanced multiple transform
TWI808483B (zh) * 2021-09-08 2023-07-11 群聯電子股份有限公司 解碼方法、記憶體儲存裝置及記憶體控制電路單元
US20230247206A1 (en) * 2022-02-03 2023-08-03 Tencent America LLC Methods, devices, and storage medium for multi-symbol arithmetic coding

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3093830B2 (ja) * 1991-07-19 2000-10-03 株式会社リコー 画像デ−タ圧縮伝送方法
JP3123791B2 (ja) * 1991-10-25 2001-01-15 株式会社リコー 算術符号を用いる符号化装置および復号化装置
JP3123792B2 (ja) * 1991-11-05 2001-01-15 株式会社リコー 算術符号を用いる符号化装置および復号化装置
JP2831602B2 (ja) * 1995-01-13 1998-12-02 富士通株式会社 圧縮データ管理装置及び圧縮データ管理方法
GB2311704B (en) * 1995-08-31 1998-04-15 Ricoh Kk Method and apparatus for compressing arbitrary data
JPH09121359A (ja) * 1995-10-26 1997-05-06 Hitachi Ltd 画像符号化方法および画像復号化方法
EP0826275B1 (en) * 1996-03-15 2003-12-10 Koninklijke Philips Electronics N.V. Method of and device for coding a digital information signal
JPH1174868A (ja) * 1996-09-02 1999-03-16 Toshiba Corp 情報伝送方法およびその方法が適用される情報伝送システムにおける符号化装置/復号化装置、並びに符号化・多重化装置/復号化・逆多重化装置
CN1177482C (zh) * 1997-01-29 2004-11-24 三菱电机株式会社 编码方法,解码方法,编码装置以及解码装置
JPH10215228A (ja) 1997-01-30 1998-08-11 Fuji Xerox Co Ltd 伝送符号誤り訂正システムならびに該システムに用いる符号化装置および復号化装置
ES2273474T3 (es) * 1998-03-19 2007-05-01 Koninklijke Philips Electronics N.V. Codificacion/decodificacion aritmetica de una señal de informacion digital.
JP3391251B2 (ja) * 1998-03-25 2003-03-31 三菱電機株式会社 適応確率推定方法及び適応符号化方法並びに適応復号方法
JPH11341496A (ja) * 1998-05-28 1999-12-10 Matsushita Electric Ind Co Ltd 画像処理方法,画像処理装置,及びデータ記憶媒体
JPH11341497A (ja) 1998-05-29 1999-12-10 Matsushita Electric Ind Co Ltd 画像符号化復号化装置及び、画像符号化復号化方法
US6728377B1 (en) * 1998-07-09 2004-04-27 Ricoh Company, Ltd. Coding apparatus and an information processing apparatus provided with the coding apparatus
JP4160689B2 (ja) * 1998-11-10 2008-10-01 株式会社リコー 算術符号化装置および算術復号装置
CN101692610B (zh) * 2002-03-27 2014-06-25 松下电器产业株式会社 可变长度译码方法,可变长度译码设备
JP3807342B2 (ja) 2002-04-25 2006-08-09 三菱電機株式会社 デジタル信号符号化装置、デジタル信号復号装置、デジタル信号算術符号化方法、およびデジタル信号算術復号方法
TWI232682B (en) * 2002-04-26 2005-05-11 Ntt Docomo Inc Signal encoding method, signal decoding method, signal encoding device, signal decoding device, signal encoding program, and signal decoding program
JP3853710B2 (ja) * 2002-07-15 2006-12-06 Necアクセステクニカ株式会社 ディジタル画像符号化装置およびディジタル画像符号化方法
JP4522199B2 (ja) * 2003-11-27 2010-08-11 キヤノン株式会社 画像符号化装置及び画像処理装置及びそれらの制御方法、並びにコンピュータプログラム及びコンピュータ可読記憶媒体

Also Published As

Publication number Publication date
TWI232682B (en) 2005-05-11
TW200307464A (en) 2003-12-01
EP1515446A4 (en) 2009-12-23
US7298303B2 (en) 2007-11-20
CN100495931C (zh) 2009-06-03
US20060202872A1 (en) 2006-09-14
KR20040106401A (ko) 2004-12-17
EP2479896A1 (en) 2012-07-25
WO2003092169A1 (en) 2003-11-06
EP2894855A1 (en) 2015-07-15
US20050146451A1 (en) 2005-07-07
US7190289B2 (en) 2007-03-13
CN1650526A (zh) 2005-08-03
EP3540946A1 (en) 2019-09-18
EP1515446A1 (en) 2005-03-16
JP3842803B2 (ja) 2006-11-08
EP2894855B1 (en) 2019-05-22
KR100701810B1 (ko) 2007-04-02
JPWO2003092169A1 (ja) 2005-09-02

Similar Documents

Publication Publication Date Title
ES2730953T3 (es) Método de decodificación de señal, dispositivo de decodificación de señal, y programa de decodificación de señal
US11997307B2 (en) Apparatus for decoding video data
US11800111B2 (en) Encoding method that encodes a first denominator for a luma weighting factor, transfer device, and decoding method
US8401321B2 (en) Method and apparatus for context adaptive binary arithmetic coding and decoding
RU2619891C1 (ru) Устройство кодирования изображений, устройство декодирования изображений, способ кодирования изображений и способ декодирования изображений
US7379608B2 (en) Arithmetic coding for transforming video and picture data units
ES2442851T3 (es) Método y sistema para codificación aritmética binaria adaptativa basada en contexto
US7286710B2 (en) Coding of a syntax element contained in a pre-coded video signal
DK2840789T3 (en) PARAMETER UPDATE PROCEDURE FOR ENTROPIA CODING OF TRANSFORMATION COEFFICIENT LEVEL, AND ENTROPIA CODING APPLY RATE OF TRANSFORMATION COEFFICIENT LEVEL USING THE SAME
JP5492206B2 (ja) 画像符号化方法および画像復号方法、ならびに、画像符号化装置および画像復号装置
WO2011007719A1 (ja) 画像処理装置および方法
EP2804377A1 (en) Image decoding device, image encoding device, and data structure of encoded data
CN104041040A (zh) 用于无损视频编码的预测残差编码
CN101132534A (zh) 用于自适应块变换的基于上下文的自适应可变长度编码
JP2009081860A (ja) 損失の無い方法でディジタル画像を符号化するための装置および方法
WO2012138032A1 (ko) 영상 정보 부호화 방법 및 복호화 방법
KR20190026062A (ko) 이미지들을 코딩 및 디코딩하는 방법, 코딩 및 디코딩 디바이스 및 그에 대응하는 컴퓨터 프로그램들
CN111684810A (zh) 数据编码和解码
CN1874509B (zh) 基于上下文的自适应二进制算术编码的方法和系统
JP2012186763A (ja) 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法
JP2012023613A (ja) 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法
KR102402532B1 (ko) 간단한 로컬 예측기를 사용하는 개선된 유의 플래그 코딩을 위한 방법 및 장치
JP2012023611A (ja) 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法
JP4388771B2 (ja) 動画像復号装置、および動画像復号方法
JP2004129206A (ja) 信号符号化方法、信号復号方法、信号符号化装置、信号復号装置、信号符号化プログラム、及び、信号復号プログラム