ES2281640T3 - Procedimiento de codificacion de longitud variable y procedimiento de decodificacion de longitud variable. - Google Patents

Procedimiento de codificacion de longitud variable y procedimiento de decodificacion de longitud variable. Download PDF

Info

Publication number
ES2281640T3
ES2281640T3 ES03720906T ES03720906T ES2281640T3 ES 2281640 T3 ES2281640 T3 ES 2281640T3 ES 03720906 T ES03720906 T ES 03720906T ES 03720906 T ES03720906 T ES 03720906T ES 2281640 T3 ES2281640 T3 ES 2281640T3
Authority
ES
Spain
Prior art keywords
probability
unit
value
coefficient
decoding
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
ES03720906T
Other languages
English (en)
Inventor
Satoshi Kondo
Shinya Kadono
Makoto Hagai
Kiyofumi Abe
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=29272364&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=ES2281640(T3) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Application granted granted Critical
Publication of ES2281640T3 publication Critical patent/ES2281640T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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
    • 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
    • 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/167Position within a video image, e.g. region of interest [ROI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/18Methods 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 a set of transform coefficients
    • 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/182Methods 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 a pixel
    • 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/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

Un procedimiento de decodificación para decodificar aritméticamente un flujo de bits que se obtiene codificando aritméticamente, sobre una base de bloque, coeficientes de una matriz bidimensional de componentes de frecuencia en un orden de barrido predeterminado empezando en una componente de alta frecuencia hacia una componente de baja frecuencia, siendo generados dichos coeficientes por transformación de frecuencia realizada sobre datos de imágenes de un bloque que tiene un tamaño de píxeles predeterminado, comprendiendo el procedimiento de decodificación: una etapa de decodificación aritmética de decodificar aritméticamente el flujo de bits en cada valor absoluto de los coeficientes, sobre una base de bloque, según un orden de barrido predeterminado empezando en una componente de alta frecuencia hacia una componente de baja frecuencia usando una pluralidad de tablas de probabilidad; una etapa de cambio de cambiar de una tabla de probabilidad a una nueva tabla de probabilidad basada en unresultado de una comparación de un valor absoluto de un coeficiente objetivo que ha de ser decodificado con un valor umbral predeterminado; y una etapa de disposición de coeficientes de disponer, sobre una base de bloque, cada valor absoluto de los coeficientes en la matriz bidimensional de componentes de frecuencia; en el que, en la etapa de cambio, el cambio entre una pluralidad de tablas de probabilidad se realiza en una dirección de manera que cada tabla de probabilidad, que ha sido usada antes que dicha nueva tabla de probabilidad, no se usa después de cambiar a dicha nueva tabla de probabilidad.

Description

Procedimiento de codificación de longitud variable y procedimiento de decodificación de longitud variable.
Campo técnico
La presente invención se refiere a codificación y decodificación de datos de imágenes, y más particularmente a un procedimiento de realización de codificación aritmética y decodificación aritmética sobre valores de coeficientes de datos de imágenes.
Técnica anterior
En el procesamiento de codificación de imágenes en movimiento, la información se comprime generalmente utilizando redundancia espacial y temporal incluida en una imagen en movimiento. Normalmente, se usa transformación en el dominio de frecuencia como un procedimiento de utilización de redundancia espacial, mientras que se usa codificación por predicción entre imágenes como un procedimiento de utilización de redundancia temporal.
En el procedimiento de codificación de imágenes en movimiento H.263, se emplea un modo que usa codificación aritmética como un procedimiento de codificación de longitud variable (por ejemplo, consúltese la "ITU-T Recommendation H.263: "Video Coding for Low Bit Rate Communication" (1998), Annex E").
En tal procedimiento de codificación de longitud variable, se realiza transformación de frecuencia sobre cada bloque de 4x4 píxeles de tamaño, y además se realiza cuantificación sobre tal bloque para generar valores de coeficientes. Después, se realiza escaneado comenzando en una componente de alta frecuencia hacia componentes de frecuencia inferior (componentes de corriente continua), y se generan combinaciones de un número R que indica una serie de "ceros" y un valor de coeficiente L posterior a él. Posteriormente, después de convertir (transformar en binario) números R, los valores absolutos de los valores de coeficiente L, y los signos de los valores de coeficiente L en datos binarios formados de "0" y "1" mediante el uso de una tabla binaria, se realiza codificación aritmética binaria sobre tales datos binarios cambiando el uso entre una pluralidad de tablas de probabilidad. Se usa una tabla mostrada en la Fig. 1, por ejemplo, como una tabla binaria para los valores absolutos de los valores de coeficiente L.
La Fig. 1 es un diagrama de tabla que muestra una tabla binaria de ejemplo.
Cuando se realiza transformación en binario sobre el valor absoluto "2" de un valor de coeficiente L usando la tabla binaria mostrada en la Fig. 1, por ejemplo, tal valor absoluto es convertido en el dato binario "01". También, cuando se realiza transformación en binario del valor absoluto "3" de un valor de coeficiente L, tal valor absoluto es convertido en el dato binario "001".
Cuando se realiza codificación aritmética sobre datos binarios derivados del valor absoluto de un valor de coeficiente L, se cambia una tabla de probabilidad a otra basada en un diagrama de transición mostrado en la Fig. 2, dependiendo del valor absoluto del valor de coeficiente L previo.
La fig. 2 es un diagrama de transición que muestra un procedimiento de cambio entre tablas de probabilidad según una técnica existente.
En primer lugar, se realiza codificación aritmética sobre el valor absoluto del primer valor de coeficiente L, usando una tabla de probabilidad 1. Para los valores de coeficiente L posteriores, se cambia una tabla de probabilidad a otra dependiendo del valor de coeficiente L previo de cada uno de tales valores de coeficiente L. Más específicamente, se usa una tabla de probabilidad 2 cuando del valor absoluto del valor de coeficiente L previo es 1, se usa una tabla de probabilidad 3 cuando el valor absoluto del valor de coeficiente L previo es 2, y se usa una tabla de probabilidad 4 cuando el valor absoluto del valor de coeficiente L previo es 3 o un valor mayor.
En este caso, una determinación sobre una tabla de probabilidad depende completamente del valor absoluto del valor de coeficiente L previo.
Además, cada una de las propias tablas de probabilidad es actualizada dependiendo de si el dato binario introducido es "0" o "1". En este caso, cada actualización se realiza de una manera en que la probabilidad de "0" se incrementa cuando el dato binario introducido es "0" y la probabilidad de "1" se incrementa cuando el dato binario introducido es "1". Por consiguiente, se hacen adaptaciones sobre las tablas de probabilidad de manera que se ajustarán a la frecuencia a la que se introducen datos binarios.
En la técnica existente anterior, se cambia de una tabla de probabilidad a otra dependiendo del valor absoluto del valor de coeficiente L previo. Generalmente, los valores absolutos de coeficientes sobre los que se ha realizado transformación de frecuencia tienden a ser mayores en la dirección de componentes de frecuencia superior hacia componentes de frecuencia inferior. Por lo tanto, existe un problema con el uso de la técnica existente anteriormente mencionada de que el cambio de una tabla de probabilidad no puede soportar una tendencia creciente de coeficientes en un caso en que el valor absoluto de un cierto coeficiente es menor que el del coeficiente previo, conduciendo a menor eficiencia de codificación.
El documento US2001/0048769A1 desvela un procedimiento y un sistema para comprimir información de imágenes en movimiento por medio de codificación predictiva con una alta relación de compresión aunque manteniendo alta calidad de imagen. Una imagen en cada fotograma se divide en bloques de antemano, y cada uno de todos los bloques es aproximado (sustituido por) un único plano definido por tres datos que representan la magnitud de la intensidad del bloque, el gradiente de bloque a bloque de la intensidad en la dirección x, y el gradiente de bloque a bloque de la intensidad en la dirección y. Además, se comparan entre sí los píxeles correspondientes en cada bloque que consta de n x m píxeles entre fotogramas, y se genera información diferencial según el resultado de la comparación. Los píxeles indicados como que no son mayores que un parámetro son tratados (eliminados) como píxeles que no tienen diferencia entre fotogramas. Se lleva a cabo información de compresión para píxeles indicados como que son mayores que el parámetro.
El documento US5.751.232 desvela un aparato de codificación de alta eficiencia que tiene un circuito de división de datos que aplica barrido unidimensional a los datos de transformación ortogonal obtenidos aplicando transformación ortogonal a datos digitales agrupados en bloques en la unidad de bloque y divide los datos en datos de longitud de la serie y datos de coeficientes, un circuito de codificación que aplica codificación de longitud de la serie a los datos de longitud de la serie divididos empleando datos de la más alta probabilidad de aparición (por ejemplo 0), y un circuito de codificación que aplica codificación de longitud de la serie a los datos de coeficientes divididos empleando datos de la más alta probabilidad de aparición (por ejemplo 1), reduce así la cantidad de los datos digitales.
El documento US2001/0024526A1 desvela un aparato de decodificación de imágenes que usa valores de píxeles procedentes de al menos tres píxeles de referencia donde la codificación aritmética de bloques de datos codificados de DCT se realiza seleccionando la tabla de probabilidad según el valor del coeficiente de codificación objetivo.
El documento EP0720379A2 desvela un procedimiento y un dispositivo de decodificación por lo tanto donde el cambio entre una pluralidad de tablas de probabilidad que se han de usar en codificación aritmética se hace según la magnitud del píxel o la situación/combinación de los píxeles circundantes de los datos de imágenes que han de ser codificados.
El documento EP0873017A1 desvela un codificador de imágenes y un decodificador de imágenes donde el cambio entre al menos tres tablas de codificación se hace en correspondencia con el patrón de los datos de imágenes.
En vista del problema anterior, un objeto de la presente invención es proporcionar un procedimiento de decodificación de longitud variable que proporcione una mayor eficiencia de codificación en el momento de realizar codificación de imagen.
Exposición de la invención
Para lograr el objeto anterior, se propone el procedimiento de decodificación tal como se define en la reivindicación 1 según la presente invención.
Generalmente, los valores absolutos de valores de coeficiente son mayores hacia las componentes de frecuencia inferiores. Por lo tanto, cuando se aplica barrido al dominio de alta frecuencia y después al dominio de baja frecuencia, es probable que los valores absolutos de los valores de coeficiente aumenten en tal orden. Así, como se describió anteriormente, en el procedimiento de codificación de longitud variable según la presente invención, una tabla de probabilidad que ha de usarse se cambia a otra en una dirección cuando existe, en los valores de coeficiente codificados aritméticamente, un valor absoluto que excede un valor de coeficiente predeterminado. A partir de entonces, aunque el valor absoluto de un valor de coeficiente se haga menor que tal valor umbral predeterminado, tal valor de coeficiente será codificado aritméticamente sin cambiar una tabla de probabilidad que ha de usarse en la dirección opuesta. Mediante esta operación, la actualización de una tabla de probabilidad se vuelve más fácilmente adaptable a entradas de valores de coeficiente cuyos valores absolutos tienden generalmente a ser mayores en la dirección de las componentes de frecuencia superior a las componentes de frecuencia inferior. Esto posibilita en consecuencia que la probabilidad de aparición de símbolos ("0" o "1" en datos binarios) en cada tabla de probabilidad sea más parcial (es decir, la probabilidad de aparición de "0" o "1" se vuelve un valor más próximo a 1,0). La codificación aritmética tiene una característica de que cuanto más parciales son los valores de probabilidad en una tabla de probabilidad, más alta se vuelve la eficiencia de codificación. En consecuencia, el uso del procedimiento de codificación de longitud variable según la presente invención resulta en una eficiencia de codificación mejorada.
Por consiguiente, se hace posible decodificar apropiadamente un flujo de bits codificado mediante el uso del procedimiento de codificación de longitud variable.
Obsérvese que la presente invención puede llevarse a cabo no sólo como un procedimiento de codificación de longitud variable como se describió anteriormente, sino también como un aparato de decodificación de longitud variable que tiene, como sus etapas, las etapas características incluidas en el procedimiento de decodificación de longitud variable, y llevarse a cabo como un aparato de decodificación de imagen para decodificar una imagen en movimiento que está equipada con el aparato anterior, así como que se lleva a cabo como un programa que hace que un ordenador ejecute tales etapas características. Y debe observarse que tal programa puede ser distribuido por medios de grabación que incluyen CD-ROM y similares, y medios de transmisión que incluyen Internet y similares.
Breve descripción de los dibujos
La Fig. 1 es un diagrama de tabla que muestra una tabla binaria de ejemplo.
La Fig. 2 es un diagrama de transición que muestra un procedimiento de cambio entre tablas de probabilidad según una técnica existente.
La Fig. 3 es un diagrama de bloques que muestra una configuración de un aparato de codificación de imágenes según una primera realización de la presente invención.
La Fig. 4 es un diagrama de bloques que muestra una configuración interna de una unidad de codificación de longitud variable según la primera realización de la presente invención.
La Fig. 5A y la Fig. 5B son diagramas esquemáticos que muestran esquemáticamente bloques de coeficientes producidos por una unidad de cuantificación según la primera realización de la presente invención.
La Fig. 6A, la Fig. 6B y la Fig. 6C son diagramas esquemáticos que muestran esquemáticamente secuencias RL producidas por una unidad de generación de secuencias RL según la primera realización de la presente invención.
La Fig. 7 es un diagrama de transición que muestra un procedimiento de cambio entre tablas de probabilidad según la primera realización de la presente invención.
La Fig. 8 es un diagrama de contenido de tabla de probabilidad que muestra el contenido de una tabla de probabilidad según la primera realización de la presente invención.
La Fig. 9 es un diagrama de transición que muestra un procedimiento de cambio entre las tablas de probabilidad empleadas por una unidad de codificación aritmética según una variación de la presente invención.
La Fig. 10 es un diagrama explicativo que explica un caso en que la unidad de codificación aritmética según la variación de la presente invención usa dos tablas de probabilidad para el valor absoluto de cada valor de coeficiente.
La Fig. 11 es un diagrama de bloques que muestra una configuración de un aparato de decodificación de imágenes según una segunda realización de la presente invención.
La Fig. 12 es un diagrama de bloques que muestra una configuración interna de una unidad de decodificación de longitud variable según la segunda realización de la presente invención.
La Fig. 13A, la Fig. 13B y la Fig. 13C son diagramas explicativos que muestran un medio de grabación según una tercera realización de la presente invención.
La Fig. 14 es un diagrama de bloques que muestra una configuración general de un sistema de suministro de contenido según una cuarta realización de la presente invención.
La Fig. 15 es una vista frontal de un teléfono celular según la cuarta realización de la presente invención.
La Fig. 16 es un diagrama de bloques que muestra el teléfono celular según la cuarta realización de la presente invención.
La Fig. 17 es un diagrama de bloques que muestra una configuración general de un sistema de radiodifusión digital según la cuarta realización de la presente invención.
Mejor modo para llevar a cabo la invención
Primera realización
Lo siguiente explica un aparato de codificación de imágenes según la primera realización de la presente invención con referencia a las figuras.
La Fig. 3 es un diagrama de bloques que muestra la configuración de un aparato de codificación de imágenes 100 según la primera realización de la presente invención.
Este aparato de codificación de imágenes 100, que realiza codificación intra-imágenes sobre una imagen de entrada (datos de imágenes) con eficiencia de codificación mejorada, está compuesto de una unidad de conversión de bloques 101, una unidad de transformación de frecuencia 102, una unidad de cuantificación 103, y una unidad de codificación de longitud variable 104.
La unidad de conversión de bloques 101 divide una imagen de entrada en bloques de píxeles con un tamaño de 4 x 4 píxeles en direcciones horizontal y vertical, y los transfiere a la unidad de transformación de frecuencia 102.
La unidad de transformación de frecuencia 102 realiza transformación de frecuencia sobre cada uno de los bloques de píxeles anteriormente divididos para generar coeficientes de frecuencia. Después, la unidad de transformación de frecuencia 102 transfiere tales coeficientes de frecuencia generados a la unidad de cuantificación 103.
La unidad de cuantificación 103 realiza cuantificación sobre los coeficientes de frecuencia transferidos por la unidad de transformación de frecuencia 102. Cuantificación significa aquí el procesamiento equivalente a dividir un coeficiente de frecuencia por un valor de cuantificación predeterminado. Por otra parte, un valor de cuantificación varía dependiendo generalmente de un bloque de píxeles y una banda de frecuencia. Posteriormente, la unidad de cuantificación 103 transfiere los coeficientes de frecuencia cuantificados a la unidad de codificación de longitud variable 104.
La unidad de codificación de longitud variable 104 realiza codificación de longitud variable sobre los coeficientes de frecuencia cuantificados por la unidad de cuantificación 103.
La Fig. 4 es un diagrama de bloques que muestra una configuración interna de la unidad de codificación de longitud variable 104.
Como se muestra en la Fig. 4, la unidad de codificación de longitud variable 104 está formada de una unidad de generación de secuencia RL 201, una unidad de reordenación 202, una unidad de transformación en binario 203, una unidad de almacenamiento de tablas 204, y una unidad de codificación aritmética 205.
La unidad de generación de secuencia RL 201 convierte los coeficientes de frecuencia cuantificados (en lo sucesivo abreviados como "coeficientes") transferidos por la unidad de cuantificación 103 en coeficientes unidimensionales, usando un procedimiento de barrido predeterminado. Después, la unidad de generación de secuencia RL 201 genera una secuencia (denominada en lo sucesivo "secuencia RL") formada de combinaciones de un número R que indica una serie de coeficientes "cero" y el valor de coeficiente subsiguiente L que indica un coeficiente no "cero" (denominados en lo sucesivo "valores RL"). Se explica un ejemplo de esto con referencia a las Figs. 5 y 6.
La Fig. 5A muestra un bloque de coeficientes formado de una pluralidad de coeficientes transferidos por la unidad de cuantificación 103. Aquí, el coeficiente de frecuencia superior izquierdo indica una componente de corriente continua, y las componentes de frecuencia en la dirección horizontal aumentan hacia la derecha mientras que las componentes de frecuencia en la dirección vertical aumentan hacia abajo.
La Fig. 5B es un diagrama explicativo para explicar un procedimiento de barrido para unidimensionalizar una pluralidad de coeficientes dentro de un bloque de coeficientes. Como se indica por flechas en la Fig. 5B, la unidad de generación de secuencia RL 201 unidimesionaliza coeficientes realizando barrido dentro del bloque de coeficientes empezando desde el dominio de baja frecuencia hacia el dominio de alta frecuencia.
La Fig. 6A muestra una secuencia RL transferida por la unidad de generación de secuencia RL 201. En la Fig. 6A, el primer número indica el número de coeficientes. Generalmente, es más probable que un valor de coeficiente sea "0" en el dominio de alta frecuencia. Por lo tanto, realizando barrido empezando desde el dominio de baja frecuencia hacia el dominio de alta frecuencia, es posible reducir la cantidad de información incluida en una secuencia RL (de la cual, la cantidad de información de los números R). La secuencia RL generada es introducida en la unidad de reordenación 202.
La unidad de reordenación 202 ordena en orden inverso la secuencia RL introducida. Sin embargo, el número de coeficientes no será reordenado.
La Fig. 6B muestra la secuencia RL reordenada por la unidad de reordenación 202. Realizando reordenación de esta manera, es posible reducir la cantidad de información tal como se describió anteriormente, y por consiguiente unidimensionalizar coeficientes aplicando barrido al bloque de coeficientes desde el dominio de lata frecuencia hacia el dominio de baja frecuencia. Posteriormente, la secuencia RL reordenada de la manera anterior es transferida a la unidad de transformación en binario 203.
La unidad de transformación en binario 203 realiza transformación en binario sobre el número de coeficientes y cada valor RL, es decir, los convierte en datos binarios formados de "0" y "1". Aquí, los números R y los valores de coeficiente L son transformados en binario por separado.
La Fig. 6C muestra sólo los valores de coeficiente L en la secuencia RL reordenados por la unidad de reordenación 202. Los valores absolutos y los signos de estos valores de coeficiente L son procesados por separado. Por otra parte, la unidad de transformación en binario 203 realiza transformación en binario sobre los números R y los valores absolutos de los valores de coeficiente L, usando una tabla binaria predeterminada como la mostrada en la Fig. 1, por ejemplo. Después, la unidad de transformación en binario 203 transfiere, a la unidad de codificación aritmética 205, datos binarios resultantes de realizar transformación en binario sobre ellos.
La unidad de codificación aritmética 205 realiza codificación aritmética binaria sobre los números R y los valores absolutos de los valores de coeficiente L representados como datos binarios, mientras que al mismo tiempo codifica los signos de los valores de coeficiente L. Aquí se ofrece una explicación de codificación aritmética que se ha de realizar sobre el valor absoluto de un valor de coeficiente L. La unidad de codificación aritmética 205 usa una pluralidad de tablas de probabilidad cambiando entre ellas, al realizar codificación aritmética sobre el valor absoluto de un valor de coeficiente L representado como datos binarios. Tal pluralidad de tablas de probabilidad es almacenada por la unidad de almacenamiento de tablas 204.
La Fig. 7 es un diagrama de transición que muestra un procedimiento de cambio entre tablas de probabilidad.
Como muestra la Fig. 7, la unidad de codificación aritmética 205 usa cuatro tablas de probabilidad, de la cuales se usa la tabla de probabilidad 1 para realizar codificación aritmética sobre el valor absoluto del primer valor de coeficiente L. Mientras tanto, para un valor de coeficiente L posterior, la unidad de codificación aritmética 205 cambia a otra tabla de probabilidad para uso, dependiendo del número de tabla de una tabla de probabilidad usada para codificar el valor absoluto del valor de coeficiente L previo, así como de tal valor absoluto. Aquí, cuatro tablas de probabilidad son la tabla de probabilidad 1, la tabla de probabilidad 2, la tabla de probabilidad 3 y la tabla de probabilidad 4, y el número de tabla de la tabla de probabilidad 1 es "1", el número de tabla de la tabla de probabilidad 2 es "2", el número de tabla de la tabla de probabilidad 3 es "3", y el número de tabla de la tabla de probabilidad 4 es "4".
Más específicamente, se usa la tabla de probabilidad 2 cuando se satisface una de las siguientes condiciones: cuando se usa la tabla de probabilidad 1 para codificar el valor absoluto del valor de coeficiente L previo y su valor absoluto es "1"; y cuando se usa la tabla de probabilidad 2 para codificar el valor absoluto del valor de coeficiente L previo y su valor absoluto es "1". Mientras tanto, se usa la tabla de probabilidad 3 cuando se satisface una de las siguientes condiciones: cuando se usa la tabla de probabilidad 1 para codificar el valor absoluto del valor de coeficiente L previo y su valor absoluto es "2"; cuando se usa la tabla de probabilidad 2 para codificar el valor absoluto del valor de coeficiente L previo y su valor absoluto es "2"; y cuando se usa la tabla de probabilidad 3 para codificar el valor absoluto del valor de coeficiente L previo y su valor absoluto es "2 o menor". Y se usa la tabla de probabilidad 4 cuando se satisface una de las siguientes condiciones: cuando el valor absoluto del valor de coeficiente L previo es "3 o un valor mayor";
y cuando se usa la tabla de probabilidad 4 para codificar el valor absoluto del valor de coeficiente L previo.
Como se describió anteriormente, las tablas de probabilidad se cambian en una dirección, es decir, de una tabla de probabilidad con un número de tabla menos a una tabla de probabilidad con un número de tabla mayor. Por consiguiente, aun cuando el valor absoluto del valor de coeficiente L previo sea igual o menor que un valor umbral predeterminado, las tablas de probabilidad no serán cambiadas en la dirección opuesta. Este es el punto que distingue la presente invención de la técnica existente.
La Fig. 8 es un diagrama de contenido de tabla de probabilidad que muestra el contenido de las cuatro tablas 1 \sim 4 anteriormente mencionadas.
Como se muestra en la Fig. 8, cada una de las cuatro tablas de probabilidad 1 \sim 4 está formada de la probabilidad con la que se produce "0" y la probabilidad con la que se produce "1".
Por ejemplo, la tabla de probabilidad 1 está formada de la probabilidad "0,1" con la que se produce "0" y la probabilidad "0,9" con la que se produce "1", y la tabla de probabilidad 2 está formada de la probabilidad "0,2" con la que se produce "0" y la probabilidad "0,8" con la que se produce "1".
Para ponerlo de otra manera, cuando el valor absoluto de un valor de coeficiente L es "2", el resultado de transformar en binario "2" es "01" y, por lo tanto, cuando se usa la tabla de probabilidad 1 para realizar codificación aritmética sobre "01", la unidad de codificación aritmética 205 realiza codificación aritmética sobre "01" usando la probabilidad "0,1" que corresponde a "0" en tal "01" y la probabilidad "0,9" que corresponde a "1" en tal "01".
Aquí, como la suma de la probabilidad con la que se produce "0" y la probabilidad con la que se produce "1" es 1,0, no es necesario mantener estas dos probabilidades, y por lo tanto sólo puede conservarse alguna de las probabilidades.
Lo siguiente explica un procedimiento de ejemplo de cambio entre tablas de probabilidad en un caso en que se realiza codificación sobre los valores absolutos (valores transformados en binario) de los valores de coeficiente L mostrados en la Fig. 6C.
La unidad de codificación aritmética 205 usa la tabla de probabilidad 1 para el valor absoluto del primer valor de coeficiente L (-2). Aquí, como el valor absoluto de tal valor de coeficiente L es 2, la unidad de codificación aritmética 205 cambia el uso de la tabla de probabilidad 1 a la tabla de probabilidad 3. En consecuencia, la unidad de codificación aritmética 205 usa la tabla de probabilidad 3 para realizar codificación aritmética sobre el valor absoluto del segundo valor de coeficiente L (3). Aquí, como el valor absoluto de tal valor de coeficiente L es "3", la unidad de codificación aritmética 205 cambia el uso de la tabla de probabilidad 3 a la tabla de probabilidad 4. en consecuencia, la unidad de codificación aritmética 205 usa la tabla de probabilidad 4 para realizar codificación aritmética sobre el valor absoluto del tercer valor de coeficiente L (6). Aquí, como la tabla de probabilidad que ha de usarse ha sido cambiada a la tabla de probabilidad 4, la unidad de codificación aritmética 205 usa la tabla de probabilidad 4 para realizar codificación aritmética sobre los valores absolutos de todos los valores de coeficiente L posteriores. Por ejemplo, el valor absoluto del quinto valor de coeficiente L es "2", pero a diferencia de la técnica existente, la unidad de codificación aritmética 205 usa la tabla de probabilidad 4 cuando realiza codificación aritmética sobre el valor absoluto del sexto valor de coeficiente L y posteriores al mismo, sin cambiar a otra tabla de probabilidad.
Además, como cada una de las tablas de probabilidad son actualizadas según se necesite dependiendo de si una entrada es "0" o "1", tales tablas de probabilidad son actualizadas para adaptarse a las entradas.
Como se describió anteriormente, en el procedimiento de codificación de longitud variable empleado por la unidad de codificación de longitud variable 104 en el aparato de codificación de imágenes 100 según la presente invención, se realiza unidimensionalización sobre coeficientes dentro de un bloque de coeficientes haciendo un barrido de los mismos empezando desde el dominio de baja frecuencia hacia el dominio de alta frecuencia. Después, genera una secuencia de valores RL (secuencia RL) formada de combinaciones de un número R que indica una serie de valores de coeficiente "cero" y un valor de coeficiente L no "cero" posterior a él. Tales valores RL son convertidos luego en códigos de longitud variable en un orden opuesto al que se ha aplicado el barrido. Cuando los valores RL son convertidos en códigos de longitud variable, los números R, los valores absolutos de valores de coeficiente L y los signos de los valores de coeficiente L son convertidos por separado. Cuando son convertidos, la transformación en binario se realiza primero, la cual es seguida por codificación aritmética. Para realizar codificación aritmética sobre los valores absolutos de los valores de coeficiente L, se cambia entre una pluralidad de tablas de probabilidad. Cuando se cambia de una tabla de probabilidad a otra tabla de probabilidad, se determina una tabla de probabilidad que ha de usarse para codificar el valor absoluto del siguiente valor de coeficiente L dependiendo del número de tabla de la tabla de probabilidad actual y del valor absoluto del valor de coeficiente L actual. Las tablas de probabilidad se cambiarán sólo en una dirección, y una vez que el valor absoluto de un valor de coeficiente L excede un valor predeterminado, a partir de entonces se usa la misma tabla de probabilidad para realizar codificación aritmética.
Cuando se aplica barrido primero desde el dominio de alta frecuencia y después al dominio de baja frecuencia, es probable que los valores absolutos de los valores de coeficiente L aumenten en tal orden, ya que los valores absolutos de los valores de coeficiente L son generalmente más grandes hacia el dominio de baja frecuencia. Por lo tanto, una vez que el valor absoluto de un valor de coeficiente L excede un valor predeterminado, aunque el valor absoluto de otro valor de coeficiente L se haga menor que tal valor predeterminado después de eso, es muy posible que sólo sea pequeño el valor absoluto de tal valor de coeficiente. De este modo, realizando codificación aritmética mediante el uso de la misma tabla de probabilidad, la actualización de una tabla de probabilidad se vuelve más fácilmente adaptable a las entradas. Esto posibilita, por consiguiente, que la probabilidad de aparición de símbolos ("0" o "1" en datos binarios) en cada tabla de probabilidad sea más parcial (es decir, la probabilidad de aparición de "0" o "1" se vuelve un valor más próximo a 1,0). La codificación aritmética tiene una característica de que cuanto más parciales son los valores de probabilidad en una tabla de probabilidad, más alta se vuelve la eficiencia de codificación. En consecuencia, el uso del procedimiento de codificación de longitud variable según la presente invención resulta en una eficiencia de codificación mejorada.
Variación
A continuación, se ofrece una explicación de una variación del aparato de codificación de imágenes según la presente realización.
En primer lugar, se explica la variación con respecto al cambio de tablas de probabilidad.
Una unidad de codificación aritmética en el aparato de codificación de imágenes según esta variación realiza codificación aritmética sobre los valores absolutos de valores de coeficiente L (valores transformados en binario) cambiando el uso entre las dos tablas de probabilidad 1 y 4.
La Fig. 9 es un diagrama de transición que muestra un procedimiento de cambio entre las tablas de probabilidad usadas por la unidad de codificación aritmética según la variación.
Como se muestra en la Fig. 9, la unidad de codificación aritmética usa dos tablas de probabilidad, y usa la tabla de probabilidad 1 para realizar codificación aritmética sobre el valor absoluto del primer valor de coeficiente L. Después, la unidad de codificación aritmética cambia de la tabla de probabilidad 1 a la tabla de probabilidad 4 cuando el valor absoluto del valor de coeficiente L previo excede de "1", y usa la tabla de probabilidad 4 para realizar codificación aritmética sobre los valores absolutos de todos loa valores de coeficiente L posteriores que han de ser codificados. En otras palabras, la unidad de codificación aritmética usa la tabla de probabilidad 1 para realizar codificación aritmética sobre el valor absoluto de un valor de coeficiente L que ha de ser codificado cuando no hay valor de coeficiente L con un valor absoluto que exceda de "1" en los valores de coeficiente L codificados aritméticamente. Por otra parte, la unidad de codificación aritmética cambia de la tabla de probabilidad 1 a la tabla de probabilidad 4 cuando existe, en los valores de coeficiente L codificados aritméticamente, un valor de coeficiente L con un valor absoluto que excede de "1", es decir, cuando el número de valores de coeficiente L con un valor absoluto que excede de "1" se vuelve un valor distinto de cero, para realizar codificación aritmética sobre los valores absolutos de todos los valores de coeficiente L posteriores que han de ser codificados usando la tabla de probabilidad 4.
Aquí, a continuación se ofrece una explicación de un ejemplo de cambio entre las tablas de probabilidad en un caso en que los valores de coeficiente L son "-1, 1, -2, 3, 4, 4, 1" empezando desde el dominio de alta frecuencia hasta el dominio de baja frecuencia. La unidad de codificación aritmética usa la tabla de probabilidad 1 para el valor absoluto del primer valor de coeficiente L (-1). Aquí, como el valor absoluto de tal valor de coeficiente L es "1" que no excede de un valor umbral "1", la unidad de codificación aritmética no cambia la tabla de probabilidad que ha de usarse a otra, y sigue usando la tabla de probabilidad 1. Por consiguiente, la unidad de codificación aritmética usa la tabla de probabilidad 1 para realizar codificación aritmética sobre el valor absoluto del segundo valor de coeficiente L (1). Aquí, como el valor absoluto de tal valor de coeficiente L es "1", la unidad de codificación aritmética no cambia la tabla de probabilidad que ha de usarse a otra, y sigue usando la tabla de probabilidad 1, como en el caso anterior. Por consiguiente, la unidad de codificación aritmética usa la tabla de probabilidad 1 para realizar codificación aritmética sobre el valor absoluto del tercer valor de coeficiente L (-2). Aquí, como el valor absoluto es "2" que excede del valor umbral "1", la unidad de codificación aritmética cambia de la tabla de probabilidad 1 a la tabla de probabilidad 4, y usa la tabla de probabilidad 4 para realizar codificación aritmética sobre el valor absoluto del cuarto valor de coeficiente L (3). Con respecto al valor absoluto del quinto valor de coeficiente L y posteriores al mismo, como hay un valor de coeficiente L con un valor absoluto que excede de "1" en los valores de coeficiente L codificados aritméticamente, la unidad de codificación aritmética usa la tabla de probabilidad 4 para realizar codificación sobre el valor absoluto del quinto valor de coeficiente L y los posteriores al mismo.
Como resulta obvio a partir de la Fig. 1, los datos binarios se representan sólo como "1" cuando el valor absoluto de un valor de coeficiente L es "1". Por lo tanto, cuando se establece "1" como valor umbral, se hacen adaptaciones a la tabla de probabilidad 1, que se usa cuando no se excede tal valor umbral, de manera que se produce un símbolo (dato binario) "1" con una alta probabilidad. Por consiguiente, habrá una diferencia significativa en las probabilidades de aparición en la tabla de probabilidad 1, conduciendo a una eficiencia de codificación más mejorada.
A continuación, se ofrece una explicación para el caso en que se usa una pluralidad de tablas de probabilidad para el valor absoluto de cada valor de coeficiente L (valor transformado en binario).
La Fig. 10 es un diagrama explicativo que muestra el caso en que se usan dos tablas de probabilidad para el valor absoluto de cada valor de coeficiente L.
Por ejemplo, como se muestra en la Fig. 10, la unidad de codificación aritmética cambia entre cuatro tablas de probabilidad 1 \sim 4 para usar una de estas para realizar codificación aritmética sobre le primer bit del valor absoluto de cada valor de coeficiente L representado como datos binarios, mientras que cambia entre cuatro tablas de probabilidad 1' \sim 4' diferentes de las tablas de probabilidad 1 \sim 4 anteriores para usarla para realizar codificación aritmética sobre el segundo bit y cada uno de los bits posteriores. Aquí, la tabla de probabilidad 1' corresponde a la tabla de probabilidad 1, la tabla de probabilidad 2' corresponde a la tabla de probabilidad 2, la tabla de probabilidad 3' corresponde a la tabla de probabilidad 3, y la tabla de probabilidad 4' corresponde a la tabla de probabilidad 4. En otras palabras, como en el caso de la realización preferida explicada con referencia a la Fig. 7, una tabla de probabilidad que ha de usarse se cambia dependiendo del valor máximo de los valores absolutos de los coeficientes codificados hasta el anterior, pero al hacerlo, se cambian al mismo tiempo una tabla de probabilidad usada para codificar el primer bit y las tablas de probabilidad usadas para codificar el segundo bit y los posteriores al mismo.
Supongamos que se usan el mismo valor umbral y los números de las tablas de probabilidad que corresponden a tal valor umbral que los usados para la realización preferida explicada con referencia a la Fig. 7. A diferencia del caso en que todos los bits son codificados usando la misma tabla de probabilidad, en las tablas de probabilidad 1 y 2, se establece alta una probabilidad en la que es más probable que se produzca "1" (para adaptarse a las entradas), y en las tablas de probabilidad 3 y 4, se establece alta una probabilidad en la que es más probable que se produzca "0". Igualmente, con respecto a las tablas de probabilidad 1' \sim 4', en las tablas de probabilidad 1' \sim 3' se establece alta una probabilidad en la que es más probables que se produzca "1" (para adaptarse a las entradas), y en la tabla de probabilidad 4 se establece alta una probabilidad en la que es más probable que se produzca "0". En la codificación aritmética, cuanto mayor es una diferencia en las probabilidades de aparición de símbolos ("0" o "1" en datos binarios) almacenados en tablas de probabilidad (es decir, cuanto más cerca de 1,0 está la probabilidad de aparición de "0" o "1"), más alta se vuelve la eficiencia de codificación. Esto conduce en consecuencia a una eficiencia de codificación más mejorada. En este caso, además de dividir los datos binarios en el primer bit y los bits posteriores al mismo, los datos binarios también pueden dividirse en otra posición de bit, y pueden dividirse en tres o más por posiciones de bit. Por otra parte, en lugar de usar el mismo número de tablas de probabilidad para cada una de las posiciones de bit divididas, también es posible, por ejemplo, que se use una pluralidad de tablas de probabilidad para el primer bit y se use la misma tabla de probabilidad para el segundo bit y los bits posteriores (es decir, se usa la misma tabla de probabilidad sean cuales sean los coeficientes). Cuando se usa un mismo número de tablas de probabilidad para cada una de las posiciones de bit divididas como en el caso de la realización anteriormente mencionada, pueden cambiarse entre ellas según una referencia diferente (valor umbral) (es decir, en un momento diferente), en lugar de cambiarse según la misma referencia.
El aparato de codificación de imágenes según la presente invención se ha explicado usando la realización y variación anteriores, pero la presente invención no está limitada a ellas.
En la presente realización y variación, por ejemplo, se proporciona una explicación para el caso en que una imagen es codificada por medio de codificación intra-imágenes, pero también puede lograrse el mismo efecto para el caso en que una imagen es codificada por medio de codificación entre imágenes realizando compensación de movimiento y otros sobre una imagen de entrada en movimiento.
Además, en la presente realización y variación, aunque se ofrece una explicación para el caso en que una imagen de entrada se divide en bloques de píxeles de 4 x 4 píxeles en direcciones horizontal y vertical, un bloque de píxeles puede ser de un tamaño diferente.
También, en la presente realización y variación, aunque la Fig. 5B se usa para explicar un procedimiento de realización de barrido dentro de un bloque de coeficientes, también puede emplearse otro orden de barrido siempre que el barrido se realice desde el dominio de baja frecuencia hacia el dominio de alta frecuencia.
Por otra parte, en la presente realización y variación, se ofrece una explicación para el caso en que la unidad de generación de secuencias RL 201 convierte coeficientes de frecuencia cuantificados en coeficientes unidimensionales usando un procedimiento de barrido predeterminado, y genera una secuencia (secuencia RL) formada de combinaciones de un número R que indica una serie de valores de coeficiente cero y un valor de coeficiente L no cero posterior a ella, pero puede generarse por separado una secuencia de números R y valores de coeficiente L. Cuando se genera una secuencia de valores de coeficiente L, por ejemplo, puede omitirse la unidad de reordenación 202 si tal secuencia se genera realizando barrido empezando desde el dominio de alta frecuencia hasta el dominio de baja frecuencia y seleccionando coeficientes con valores de coeficiente distintos de cero.
Además, en la presente realización se ofrece una explicación para el caso en que se usan cuatro tablas de probabilidad y tales tablas de probabilidad se cambian según la tabla de transición ilustrada en la Fig. 7, y se ofrece una explicación en la variación para el caso en que se usan dos tablas de probabilidad y tales tablas de probabilidad se cambian según la tabla de transición ilustrada en la Fig. 9, pero pueden emplearse valores diferentes como el número de tablas de probabilidad y como un valor umbral para los valores absolutos de valores de coeficiente L cuando las tablas de probabilidad se cambian como se ilustra en las Figs. 7 y 9.
También, la Fig. 1 se presenta como un ejemplo de una tabla binaria, pero puede emplearse otra tabla.
Además, en la presente realización y variación, aunque se ofrece una explicación para el caso en que la unidad de codificación aritmética realiza codificación aritmética binaria, puede realizarse en cambio codificación aritmética multivalor. En tal caso, es posible omitir la unidad de transformación en binario 203.
Segunda realización
Lo siguiente explica un aparato de decodificación de imágenes según la segunda realización de la presente invención con referencia a las figuras.
La Fig. 11 es un diagrama de bloques que muestra la configuración de un aparato de decodificación de imágenes 600 según la segunda realización de la presente invención.
El aparato de decodificación de imágenes 600 realiza decodificación intra-imágenes sobre un flujo de bits resultante de realizar codificación intra-imágenes sobre datos de imágenes, y está compuesto de una unidad de decodificación de longitud variable 601, una unidad de cuantificación inversa 602, una unidad de transformación de frecuencia inversa 603, y una memoria de imagen 604. El flujo de bits que ha de introducirse aquí se genera usando el procedimiento de codificación de longitud variable empleado por el aparato de codificación de imágenes 100 según la primera realización, y se obtiene en primer lugar mediante la unidad de decodificación de longitud variable 601.
Al recibir el flujo de bits, la unidad de decodificación de longitud variable 601 genera un bloque de coeficientes formado de una pluralidad de coeficientes como se muestra en la Fig. 5A realizando decodificación de longitud variable sobre tal flujo de bits.
La unidad de cuantificación inversa 602, cuando recibe el bloque de coeficientes procedente de la unidad de decodificación de longitud variable 601, realiza cuantificación inversa sobre tal bloque de coeficientes. Cuantificación inversa significa aquí integrar un valor de cuantificación predeterminado para cada coeficiente en el bloque de coeficientes. Generalmente, un valor de cuantificación varía sobre la base de un bloque de coeficientes o una banda de frecuencia, y se obtiene a partir de un flujo de bits. Posteriormente, la unidad de cuantificación inversa 602 transfiere el bloque de coeficientes cuantificados inversamente a la unidad de transformación de frecuencia inversa
603.
La unidad de transformación de frecuencia inversa 603 realiza transformación de frecuencia inversa sobre el bloque de coeficientes cuantificados inversamente, y convierte el bloque de coeficientes en un bloque de píxeles. Después, la unidad de transformación de frecuencia inversa 603 transfiere tal bloque de píxeles convertido a la memoria de imagen 604.
La memoria de imagen 604 almacena en secuencia bloques de píxeles decodificados, y cuando se almacenan bloques de píxeles equivalentes a una imagen, transfiere estos bloques de píxeles como una imagen de salida.
Aquí se ofrece una explicación detallada de la unidad de decodificación de longitud variable 601 descrita anteriormente.
La Fig. 12 es un diagrama de bloques que muestra una configuración interna de la unidad de decodificación de longitud variable 601.
\newpage
Como muestra la Fig. 12, la unidad de decodificación de longitud variable 601 está compuesta de una unidad de decodificación aritmética 701, una unidad de conversión multivalor 702, una unidad de almacenamiento de tablas 703, una unidad de reordenación 704, y una unidad de generación de coeficientes 705.
La unidad de almacenamiento de tablas 703 almacena cuatro tablas de probabilidad 1 \sim 4 como se muestra en la Fig. 8, por ejemplo.
Al recibir el flujo de bits, la unidad de decodificación aritmética 701 realiza primero decodificación aritmética sobre tal flujo de bits. Aquí se ofrece una explicación de decodificación aritmética binaria que ha de realizarse sobre los valores absolutos (valores transformados en binario) de valores de coeficiente L codificados incluidos en el flujo de bits.
Cuando realiza decodificación aritmética sobre el valor absoluto de un valor de coeficiente L codificado, la unidad de decodificación aritmética 701 obtiene, de la unidad de conversión multivalor 702, el valor absoluto del valor de coeficiente L previo que ya ha sido decodificado y convertido en un multivalor. Después, la unidad de decodificación aritmética 701 cambia entre las tablas de probabilidad 1 \sim 4 almacenadas por la unidad de almacenamiento de tablas 703 de una manera como la mostrada en la Fig. 7 dependiendo del valor absoluto de tal valor de coeficiente L, y realiza decodificación aritmética binaria sobre el valor absoluto de cada uno de los valores de coeficiente L codificados para transferir datos binarios correspondientes a cada uno de ellos.
La unidad de conversión multivalor 702 convierte los datos binarios transferidos por la unidad de decodificación aritmética 701 en multivalores, usando, por ejemplo, una tabla binaria como se muestra en la Fig. 1, para representarlos como los valores absolutos de valores de coeficiente L. Después, la unidad de conversión multivalor 702 transfiere los valores absolutos de tales valores de coeficiente L a la unidad de decodificación aritmética 701 y la unidad de reordenación 704.
Se ofrece una explicación de una operación detallada de la unidad de decodificación aritmética 701 y la unidad de conversión multivalor 702.
En primer lugar, la unidad de decodificación aritmética 701 usa la tabla de probabilidad 1 para realizar decodificación aritmética sobre el valor absoluto del primer valor de coeficiente L codificado. Después, la unidad de decodificación aritmética 701 transfiere, a la unidad de conversión multivalor 702, datos binarios obtenidos realizando decodificación aritmética. La unidad de conversión multivalor 702 usa la tabla binaria para convertir los datos binarios en el valor absoluto del valor de coeficiente L, y transfiere tal valor absoluto a la unidad de decodificación aritmética 701 y la unidad de reordenación 704.
Después, para los valores absolutos de los valores de coeficiente L codificados posteriores, la unidad de decodificación aritmética 701 cambia la tabla de probabilidad que ha de usarse por otra, dependiendo del número de tabla de la tabla de probabilidad usada cuando el valor absoluto del valor de coeficiente L codificado previo es decodificado aritméticamente en binario, así como del valor absoluto de tal valor de coeficiente L previo obtenido de la unidad de conversión multivalor 702. Como se muestra en la Fig. 7, se usa la tabla de probabilidad 2 cuando se satisface una de las siguientes condiciones: cuando se usó la tabla de probabilidad 1 para realizar decodificación aritmética sobre el valor absoluto del valor de coeficiente L codificado previo y el valor absoluto del valor de coeficiente L previo obtenido de la unidad de conversión multivalor 702 es "1"; y cuando se usó la tabla de probabilidad 2 para realizar decodificación aritmética sobre el valor absoluto del valor de coeficiente L codificado previo y el valor absoluto del valor de coeficiente L previo obtenido de la unidad de conversión multivalor 702 es "1". Se usa la tabla de probabilidad 3 cuando se satisface una de las condiciones siguientes: cuando se usó la tabla de probabilidad 1 para realizar decodificación aritmética sobre el valor absoluto del valor de coeficiente L codificado previo y el valor absoluto del valor de coeficiente L previo obtenido de la unidad de conversión multivalor 702 es "2"; cuando se usó la tabla de probabilidad 2 para realizar decodificación aritmética sobre el valor absoluto del valor de coeficiente L codificado previo y el valor absoluto del valor de coeficiente L previo obtenido de la unidad de conversión multivalor 702 es "2"; y cuando se usó la tabla de probabilidad 3 para realizar decodificación aritmética sobre el valor absoluto del valor de coeficiente L codificado previo y el valor absoluto del valor de coeficiente L previo obtenido de la unidad de conversión multivalor 702 es "2 o menor". Y se usa la tabla de probabilidad 4 cuando se satisface una de las siguientes condiciones: cuando el valor absoluto del valor de coeficiente L previo obtenido de la unidad de conversión multivalor 702 es "3 o un valor mayor"; y cuando se usó la tabla de probabilidad 4 para realizar decodificación aritmética sobre el valor absoluto del valor de coeficiente L codificado previo. Como se mostró anteriormente, las tablas de probabilidad 1 \sim 4 se cambian en una dirección, es decir, de una tabla de probabilidad con un número de tabla menor a una tabla de probabilidad con un número de tabla mayor. Por consiguiente, aunque el valor absoluto del valor de coeficiente L previo obtenido de la unidad de conversión mutlivalor 702 sea igual o menor que un valor umbral predeterminado, las tablas de probabilidad no se cambiarán en la dirección opuesta. Este es el punto que distingue la presente invención de la técnica existente.
Lo siguiente explica un ejemplo de cambio entre las tablas de probabilidad, en un caso en que se realiza decodificación en los valores absolutos de valores de coeficiente L mostrados en la Fig. 6C.
La unidad de decodificación aritmética 701 usa la tabla de probabilidad 1 para realizar decodificación aritmética sobre el valor absoluto del primer valor de coeficiente L codificado (-2) para decodificarlo en el dato binario "01". Como la unidad de decodificación aritmética 701 obtiene "2" de la unidad de conversión multivalor 702, que es un multivalor convertido a partir de tal dato binario "01", cambia de la tabla de probabilidad 1 a la tabla de probabilidad 3 para usarla. Por consiguiente, la unidad de decodificación aritmética 701 usa la tabla de probabilidad 3 para realizar decodificación aritmética sobre el valor absoluto del segundo valor de coeficiente L codificado (3) para decodificarlo en el dato binario "001". Aquí, como la unidad de decodificación aritmética 701 obtiene "3" de la unidad de conversión multivalor 702, que es un multivalor convertido a partir de tal dato binario "001", cambia de la tabla de probabilidad 3 a la tabla de probabilidad 4 para usarla. Por consiguiente, la unidad de decodificación aritmética 701 usa la tabla de probabilidad 4 para realizar decodificación aritmética sobre el valor absoluto del tercer valor de coeficiente L codificado (6) para decodificarlo en el dato binario "000001". Aquí, como la tabla de probabilidad que ha de usarse se cambia a la tabla de probabilidad 4, la unidad de decodificación aritmética 701 usa la tabla de probabilidad 4 para realizar decodificación aritmética sobre los valores absolutos de todos los valores de coeficiente L codificados posteriores. Por ejemplo, el valor absoluto del quinto valor de coeficiente L codificado es decodificado y convertido en un multivalor "2", pero a diferencia de la técnica existente, la unidad de decodificación aritmética 701 usa la tabla de probabilidad 4 para realizar decodificación aritmética sobre el valor absoluto del sexto valor de coeficiente L codificado y los posteriores al mismo, sin cambiar a otra tabla de probabilidad.
Mediante la operación anterior, cuando se generan los valores absolutos de los valores de coeficiente L, los números R, y los signos de los valores de coeficiente L equivalentes a un bloque de coeficientes, son introducidos en la unidad de reordenación 704 como una secuencia RL.
La unidad de reordenación 704 ordena en orden inverso tal secuencia RL introducida. Sin embargo, el número de coeficientes no será reordenado. La Fig. 6A ilustra una secuencia RL reordenada. Posteriormente, la unidad de reordenación 704 transfiere, a la unidad de generación de coeficientes 705, tal secuencia RL reordenada de la manera anterior.
La unidad de generación de coeficientes 705 convierte en un bloque de coeficientes la secuencia RL introducida. Al hacerlo, la unidad de generación de coeficientes 705 hace una conversión de la secuencia RL en un bloque de coeficientes llevando a cabo repetidamente la siguiente operación: genera un coeficiente con el valor "0" sólo el número de veces indicado por un número R y después genera un coeficiente con un valor indicado por un valor de coeficiente L. Aquí, la unidad de generación de coeficientes 705 realiza barrido en zigzag empezando desde el dominio de baja frecuencia hacia el dominio de alta frecuencia, para convertir la secuencia RL mostrada en la Fig. 6A en el bloque de coeficientes mostrado en la Fig. 5A. Después, la unidad de generación de coeficientes 705 transfiere, a la unidad de cuantificación inversa 602, el bloque de coeficientes generado de la manera anterior.
Como se describió anteriormente, en el procedimiento de decodificación aritmética empleado por la unidad de decodificación de longitud variable 601 en el aparato de decodificación de imágenes 600 según la presente invención, se cambia una pluralidad de tablas de probabilidad cuando se realiza decodificación aritmética sobre los valores absolutos de valores de coeficiente L incluidos en un flujo de bits de entrada. Al cambiar a otra tabla de probabilidad, la tabla de probabilidad que ha de usarse al decodificar el valor absoluto del siguiente valor de coeficiente L se determina dependiendo del número de tabla de la tabla de probabilidad actual y del valor absoluto de un valor de coeficiente L resultante de la decodificación. Cuando se hace esto, las tablas de probabilidad se cambian sólo en una dirección, y cuando el valor absoluto de un valor de coeficiente L resultante de la decodificación excede de un valor predeterminado, se usa la misma tabla de probabilidad para realizar decodificación aritmética sobre todos los valores absolutos posteriores.
Como resulta obvio a partir de lo anterior, el uso del procedimiento de decodificación aritmética según la presente invención hace posible decodificar apropiadamente un flujo de bits codificado mediante el uso del procedimiento de codificación de longitud variable según la presente invención.
Variación
A continuación se ofrece una explicación de una variación de la unidad de decodificación aritmética en el aparato de decodificación de imágenes según la presente realización.
En primer lugar, se explica la variación con respecto al cambio de tablas de probabilidad.
Una unidad de decodificación aritmética en el aparato de decodificación de imágenes según esta variación realiza decodificación aritmética binaria sobre los valores absolutos de valores de coeficiente L (valores transformados en binario) que han sido codificados cambiando el uso entre las dos tablas de probabilidad 1 y 4.
Como se muestra en la Fig. 9, esta unidad de decodificación aritmética usa dos tablas de probabilidad, y usa la tabla de probabilidad 1 para realizar decodificación aritmética sobre el valor absoluto del primer valor de coeficiente L codificado. Después, la unidad de decodificación aritmética cambia de la tabla de probabilidad 1 a la tabla de probabilidad 4 cuando el valor absoluto del valor de coeficiente L previo excede de "1", y usa la tabla de probabilidad 4 para realizar decodificación aritmética sobre los valores absolutos de todos loa valores de coeficiente L posteriores que han de ser decodificados. En otras palabras, la unidad de decodificación aritmética usa la tabla de probabilidad 1 para realizar decodificación aritmética sobre el valor absoluto de un valor de coeficiente L codificado que ha de ser decodificado cuando no hay valor de coeficiente L con un valor de absoluto que exceda de "1" en los valores de coeficiente L que han sido decodificados y convertidos en multivalores. Por otra parte, la unidad de decodificación aritmética cambia de la tabla de probabilidad 1 a la tabla de probabilidad 4 cuando existe, en los valores de coeficiente L que han sido decodificados y convertidos en multivalores, un valor de coeficiente L con un valor absoluto que excede de "1", es decir, cuando el número de valores de coeficiente L con un valor absoluto que excede de "1" se vuelve un valor distinto de cero, y cambia de la tabla de probabilidad 1 a la tabla de probabilidad 4, para realizar decodificación aritmética sobre los valores absolutos de todos los valores de coeficiente L posteriores que han de ser decodificados usando la tabla de probabilidad 4.
Aquí, a continuación se ofrece una explicación de un ejemplo de cambio entre las tablas de probabilidad en un caso en que los valores de coeficiente L son "-1, 1, -2, 3, 4, 4, 1" empezando desde el dominio de alta frecuencia hasta el dominio de baja frecuencia. La unidad de decodificación aritmética usa la tabla de probabilidad 1 para realizar decodificación aritmética sobre el valor absoluto del primer valor de coeficiente L codificado para convertirlo en el dato binario "1". Aquí, como la unidad de decodificación aritmética obtiene "1" de la unidad de conversión multivalor 702, que es un multivalor convertido a partir de tal dato binario "1", y juzga que el valor absoluto de tal valor de coeficiente L es "1", el cual no excede un valor umbral "1", no cambia la tabla de probabilidad que ha de usarse, y sigue usando la tabla de probabilidad 1. Por consiguiente, la unidad de decodificación aritmética realiza decodificación aritmética sobre el valor absoluto del segundo valor de coeficiente L codificado para convertirlo en el dato binario "1", usando la tabla de probabilidad 1. Aquí, como la unidad de decodificación aritmética juzga que el valor absoluto de tal valor de coeficiente L es "1" que no excede el valor umbral "1", no cambia la tabla de probabilidad que ha de usarse, y sigue usando la tabla de probabilidad 1, como en el caso anterior. Por consiguiente, la unidad de decodificación aritmética realiza decodificación aritmética sobre el valor absoluto del tercer valor de coeficiente L codificado para convertirlo en el dato binario "01", usando la tabla de probabilidad 1. Aquí, la unidad de decodificación aritmética obtiene "2" de la unidad de conversión multivalor 702, que es un multivalor convertido a partir de tal dato binario "01", y juzga que el valor absoluto es "2" que excede el valor absoluto "1", cambia de la tabla de probabilidad 1 a la tabla de probabilidad 4, y usa la tabla de probabilidad 4 para realizar decodificación aritmética sobre el valor absoluto del cuarto valor de coeficiente L codificado para convertirlo en el dato binario "0001". Con respecto al valor absoluto del quinto valor de coeficiente L codificado y los valores absolutos de sus valores de coeficiente codificados posteriores, como hay un valor de coeficiente L con un valor absoluto que excede de "1" en los valores de coeficiente L que han sido decodificados y convertidos en multivalores, la unidad de decodificación aritmética realiza decodificación aritmética sobre el valor absoluto del quinto valor de coeficiente L codificado y los valores absolutos de todos los valores de coeficiente codificados posteriores usando la tabla de probabilidad 4.
A continuación se ofrece una explicación para el caso en que los datos binarios derivados del valor absoluto de un valor de coeficiente L codificado incluido en un flujo de bits están formados de una pluralidad de elementos, y se usa una tabla de probabilidad diferente sobre una base de elemento por elemento cuando se realiza decodificación aritmética binaria sobre datos binarios del valor absoluto de tal valor de coeficiente L codificado.
Por ejemplo, cuando los datos binarios del valor absoluto de un valor de coeficiente L codificado están formados de dos elementos, la unidad de codificación aritmética, como se muestra en la Fig. 10, realiza decodificación aritmética sobre uno de los dos elementos en los datos binarios codificados para convertirlo en un valor numérico que corresponde al primer bit de los datos binarios, cambiando el uso entre las cuatro tablas de probabilidad 1 \sim 4. Después, la unidad de decodificación aritmética realiza decodificación aritmética sobre el otro elemento de los datos binarios para convertirlo en un valor numérico que corresponde al segundo bit y cada uno de sus bits posteriores en los datos binarios, cambiando el uso entre las cuatro tablas de probabilidad 1' \sim 4' que son diferentes de las cuatro tablas de probabilidad 1 \sim 4 anteriores.
Aquí, la tabla de probabilidad 1' corresponde a la tabla de probabilidad 1, la tabla de probabilidad 2' corresponde a la tabla de probabilidad 2, la tabla de probabilidad 3' corresponde a la tabla de probabilidad 3, y la tabla de probabilidad 4' corresponde a la tabla de probabilidad 4. En otras palabras, como en el caso de la realización preferida explicada con referencia a la Fig. 7, una tabla de probabilidad que ha de usarse se cambia dependiendo del valor máximo de los valores absolutos de los coeficientes codificados hasta el anterior, pero al hacerlo, se cambian al mismo tiempo una tabla de probabilidad usada para codificar el primer bit y las tablas de probabilidad usadas para codificar el segundo bit y los posteriores al mismo.
Supongamos que se usan el mismo valor umbral y los números de las tablas de probabilidad que corresponden a tal valor umbral que los usados para la realización preferida explicada con referencia a la Fig. 7. En este caso, a diferencia del caso en que todos los bits son codificados usando la misma tabla de probabilidad, en las tablas de probabilidad 1 y 2, se establece alta una probabilidad en la que es más probable que se produzca "1" (para adaptarse a las entradas), y en las tablas de probabilidad 3 y 4, se establece alta una probabilidad en la que es más probable que se produzca "0". Igualmente, con respecto a las tablas de probabilidad 1' \sim 4', en las tablas de probabilidad 1' \sim 3' se establece alta una probabilidad en la que es más probables que se produzca "1" (para adaptarse a las entradas), y en la tabla de probabilidad 4' se establece alta una probabilidad en la que es más probable que se produzca "0".
En este caso, además de dividir los datos binarios en el primer bit y los bits posteriores al mismo, los datos binarios también pueden dividirse en otra posición de bit, y pueden dividirse en tres o más por posiciones de bit. Por otra parte, en lugar de usar el mismo número de tablas de probabilidad para cada una de las posiciones de bit divididas, también es posible, por ejemplo, que se use una pluralidad de tablas de probabilidad para el primer bit y se use la misma tabla de probabilidad para el segundo bit y los bits posteriores (es decir, se usa la misma tabla de probabilidad sean cuales sean los coeficientes). Cuando se usa un mismo número de tablas de probabilidad para cada una de las posiciones de bit divididas como en el caso de la realización anteriormente mencionada, pueden cambiarse entre ellas según una referencia diferente (valor umbral).
El aparato de decodificación de imágenes según la presente invención se ha explicado en lo anterior usando la presente realización y variación, pero la presente invención no está limitada a ellas.
En la presente realización y variación, por ejemplo, se proporciona una explicación para el caso en que se realiza decodificación sobre un flujo de bits que ha sido generado por medio de codificación intra-imágenes, pero también puede lograrse el mismo efecto para el caso en que se realiza decodificación sobre un flujo de bits que ha sido generado por medio de codificación entre imágenes realizando compensación de movimiento y otros sobre una imagen de entrada en movimiento.
Además, en la presente realización y variación, aunque se ofrece una explicación para el caso en que un flujo de bits en el que los datos de imágenes se codifican siendo divididos en bloques de píxeles de 4 x 4 píxeles en direcciones horizontal y vertical, un bloque de píxeles puede tener un tamaño diferente.
Por otra parte, en la presente realización se ofrece una explicación para el caso en que se usan y se cambian cuatro tablas de probabilidad según la tabla de transición ilustrada en la Fig. 7, y se ofrece una explicación en la variación para el caso en que se usan y se cambian dos tablas de probabilidad según la tabla de transición ilustrada en la Fig. 9, pero pueden emplearse valores diferentes como el número de tablas de probabilidad y una valor umbral para los valores absolutos de valores de coeficiente L cuando las tablas de probabilidad se cambian como se ilustra en las Figs. 7 y 9.
También en la presente realización y variación, aunque se usa la Fig. 5B para explicar un procedimiento de realización de barrido dentro de un bloque de coeficientes, también puede emplearse otro orden de barrido siempre que sea el mismo que el procedimiento de barrido empleado en el momento de la codificación.
Además, la Fig. 1 se presenta como un ejemplo de una tabla binaria, pero puede emplearse otra tabla siempre que sea la misma que la tabla binaria usada en el momento de la codificación.
Por otra parte, aunque se ofrece una explicación en la presente realización y variación para el caso en que la unidad de decodificación aritmética 701 realiza decodificación aritmética binaria, puede realizarse en cambio decodificación aritmética multivalor. En tal caso, es posible omitir la unidad de conversión multivalor 702.
Tercera realización
Si un programa para realizar el procedimiento de codificación de longitud variable o el procedimiento de decodificación de longitud variable como los mostrados en cada una de las realizaciones anteriormente mencionadas se graba en un medio de grabación como un disco flexible, se hace posible realizar fácilmente el procesamiento presentado en cada una de las realizaciones anteriores en un sistema informático independiente.
Las Figs. 13A, 13B y 13C son diagramas que explican un medio de grabación que almacena un programa para realizar el procedimiento de codificación de longitud variable y el procedimiento de decodificación de longitud variable llevados a cabo por el aparato de codificación de imágenes 100 y el aparato de decodificación de imágenes 600 según la primera y segunda realizaciones.
La Fig. 13B muestra una vista externa de un disco flexible FD visto desde la parte delantera, una vista esquemática de la sección transversal y un cuerpo de disco FD1, mientras que la Fig. 13a ilustra un formato físico de ejemplo del cuerpo de disco FD1 como un medio de grabación en sí.
El cuerpo de disco FD1 está contenido en una caja F, y sobre la superficie del cuerpo de disco FD1 está formada concéntricamente una pluralidad de pistas Tr en la dirección del radio desde la periferia, estando dividida cada pista en 16 sectores Se en la dirección angular. Por lo tanto, en el disco flexible FD que almacena el programa anteriormente mencionado, el procedimiento de codificación de longitud variable o el procedimiento de decodificación de longitud variable se graba como tal programa en un área asignada para ello en el cuerpo de disco FD1.
La Fig. 13C muestra la estructura para grabar y leer el programa en y desde el disco flexible FD.
Cuando se graba el programa en el disco flexible FD, el procedimiento de codificación de longitud variable o el procedimiento de decodificación de longitud variable como el programa anterior se escribe mediante el uso del sistema informático Cs por medio de una unidad de disco flexible FDD. Mientras tanto, cuando el procedimiento de codificación de longitud variable o el procedimiento de decodificación de longitud variable se construye en el sistema informático Cs a través del programa en el disco flexible FD, el programa se lee del disco flexible FD por medio de la unidad de disco flexible FDD y se transfiere al sistema informático Cs.
La explicación anterior se hace suponiendo que un medio de grabación es un disco flexible FD, pero también puede usarse un disco óptico. Además, el medio de grabación no está limitado a este, y también puede usarse cualquier otro medio como una tarjeta IC y una casete ROM capaz de grabar un programa.
Cuarta realización
Lo siguiente explica aplicaciones del procedimiento de codificación de longitud variable y el procedimiento de decodificación de longitud variable como los mostrados en las realizaciones anteriores así como un sistema que los usa.
La Fig. 14 es un diagrama de bloques que muestra una configuración general de un sistema de suministro de contenido ex100 para realizar un servicio de distribución de contenido. El área para proporcionar un servicio de comunicación está dividida en celdas de tamaño deseado, y en celdas respectivas están situadas estaciones base ex107 \sim ex110, que son estaciones inalámbricas fijas.
En este sistema de suministro de contenido ex100, los dispositivos como un ordenador ex111, una PDA (asistente digital personal) ex112, una cámara ex113, un teléfono celular ex114, y un teléfono celular equipado con cámara ex115 están conectados respectivamente a Internet ex101 a través de un proveedor de servicios de Internet ex102, una red telefónica ex104, y las estaciones base ex107 \sim ex110.
Sin embargo, el sistema de suministro de contenido ex100 no está limitado a la combinación como la mostrada en la Fig. 14, y puede estar conectado a una combinación de cualquiera de ellos. Además, cada uno de los dispositivos puede estar conectado directamente a la red telefónica ex104, no a través de las estaciones base ex107 \sim ex110, que son estaciones inalámbricas fijas.
La cámara ex113 es un dispositivo como una cámara de vídeo digital capaz de filmar imágenes en movimiento. El teléfono celular puede ser un teléfono celular de un sistema PDC (comunicación digital personal), un sistema CDMA (acceso múltiple por división de código), un sistema W-CDMA (acceso múltiple por división de código-banda ancha) o un sistema GSM (sistema global para comunicaciones móviles), un PHS (sistema de teléfono personal) o similares, y puede ser uno cualquiera de estos.
Además, un servidor de descarga y reproducción en tiempo real ex103 está conectado a la cámara ex113 a través de la estación base ex109 y la red telefónica ex104, que permite distribución en vivo o similar basada en datos codificados transmitidos por el usuario que usa la cámara ex113. Ya sea la cámara ex113 o un servidor y similar capaz de procesamiento de transmisión de datos puede codificar los datos filmados. También, los datos de imágenes en movimiento filmados por una cámara ex116 pueden ser transmitidos al servidor de descarga y reproducción en tiempo real ex103 a través del ordenador ex111. La cámara ex116 es un dispositivo como una cámara digital capaz de filmar imágenes fijas e imágenes en movimiento. En este caso, la cámara ex116 o el ordenador ex111 pueden codificar los datos de imágenes en movimiento. Un LSI ex117 incluido en el ordenador ex111 o la cámara ex116 realiza procesamiento de codificación. Obsérvese que el software para codificar y decodificar imágenes puede estar integrado en un cierto tipo de medio de almacenamiento (como un CD-ROM, un disco flexible y un disco duro) que es un medio de grabación legible por el ordenador ex111 y similares. Además, el teléfono celular equipado con cámara ex115 puede transmitir los datos de imágenes en movimiento. Estos datos de imágenes en movimiento son datos codificados por un LSI incluido en el teléfono celular ex115.
En el sistema de suministro de contenido ex100, el contenido (por ejemplo, un vídeo de música en directo) que ha sido filmado por el usuario usando la cámara ex113, la cámara ex116 o similar es codificado de la misma manera que las realizaciones descritas anteriormente y transmitido al servidor de descarga y reproducción en tiempo real ex103, y el servidor de descarga y reproducción en tiempo real ex103 hace distribución en tiempo real de los datos de contenido a clientes a petición suya. Los clientes incluyen el ordenador ex111, la PDA ex112, la cámara ex113, el teléfono celular ex114, etcétera, capaces de decodificar los datos codificados anteriormente. El sistema de suministro de contenido ex100 con la estructura anterior es un sistema que permite a los clientes recibir y reproducir los datos codificados y realiza radiodifusión personal permitiéndoles recibir, decodificar y reproducir los datos en tiempo real.
El aparato de codificación de imágenes y el aparato de decodificación de imágenes presentados en las realizaciones anteriores pueden usarse para la codificación y decodificación que ha de realizarse en cada uno de los dispositivos que forman el sistema anterior.
Se ofrece una explicación de un teléfono celular como ejemplo.
La Fig. 15 es un diagrama que muestra un ejemplo del teléfono celular ex115 que emplea la codificación de longitud variable y la decodificación de longitud variable explicadas en las realizaciones anteriores. El teléfono celular ex115 tiene una antena ex201 para transmitir/recibir ondas de radio a y desde la estación base ex110 por medio de ondas de radio, una unidad de cámara ex203 como una cámara CCD capaz de filmar vídeo e imágenes fijas, una unidad de pantalla ex202 como una pantalla de cristal líquido para visualizar los datos obtenidos decodificando vídeo y similares filmados por la unidad de cámara ex203 y vídeo y similares recibidos por la antena ex201, un cuerpo principal que incluye un conjunto de teclas de operación ex204, una unidad de salida de voz ex208 como un altavoz para producir voces, una unidad de entrada de voz ex205 como un micrófono para introducir voces, un medio de grabación ex207 para almacenar datos codificados o datos decodificados como datos de imágenes en movimiento o fijas filmadas por la cámara, datos de correos electrónicos recibidos y datos de imágenes en movimiento o datos de imágenes fijas, y una unidad de ranura ex206 para permitir que el medio de grabación ex207 sea conectado al teléfono celular ex115. El medio de grabación ex207 está plasmado como un elemento de memoria flash, una clase de EEPROM (memoria de sólo lectura borrable y programable electrónicamente) que es una memoria no volátil borrable y regrabable eléctricamente, almacenada en una caja de plástico como una tarjeta SD.
A continuación, haciendo referencia a la Fig. 16, se ofrece una explicación del teléfono celular ex115. En el teléfono celular ex115, una unidad de control principal ex311 para controlar de manera centralizada la unidad de pantalla ex202 y cada unidad del cuerpo principal que tiene las teclas de operación ex204 está configurada de una manera en que una unidad de circuito de alimentación eléctrica ex310, una unidad de control de entrada de operación ex304, una unidad de codificación de imágenes ex312, una unidad de interfaz de cámara ex303, una unidad de control de LCD (pantalla de cristal líquido) ex302, una unidad de decodificación de imágenes ex309, una unidad de multiplexación/demultiplexación ex308, una unidad de grabación/reproducción ex307, una unidad de circuito de módem ex306, y una unidad de procesamiento de voz ex305 están interconectadas a través de un bus síncrono ex313.
Cuando una tecla de fin de llamada o una tecla de encendido es activada por la operación de un usuario, la unidad de circuito de alimentación eléctrica ex310 suministra a cada unidad energía procedente de un paquete de baterías, para activar el teléfono celular digital equipado con cámara ex115 para dejarlo dispuesto para funcionar.
En el teléfono celular ex115, la unidad de procesamiento de voz ex305 convierte una señal de voz recibida por la unidad de entrada de voz ex205 en modo de conversación en datos de voz digital bajo el control de la unidad de control principal ex311 compuesta de una CPU, una ROM, una RAM y otros, la unidad de circuito de módem ex306 realiza sobre ellos procesamiento de espectro ensanchado, y una unidad de circuito de transmisión/recepción ex301 realiza procesamiento de conversión digital a analógica y procesamiento de transformación de frecuencia sobre los datos, para transmitir lo resultante a través de la antena ex201. También, en el teléfono celular ex115, una señal recibida por la antena ex201 en modo de conversación es amplificada y se le realiza procesamiento de transformación de frecuencia y procesamiento de conversión analógica a digital, la unidad de circuito de módem ex306 realiza procesamiento inverso de espectro ensanchado sobre lo resultante, y la unidad de procesamiento de voz ex305 lo convierte en una señal de voz analógica, para sacarla a través de la unidad de salida de voz ex208.
Además, al enviar un correo electrónico en modo de comunicación de datos, los datos de texto del correo electrónico introducido accionando las teclas de operación ex204 en el cuerpo principal son enviados a la unidad de control principal ex311 a través de la unidad de control de entrada de operación ex304. En la unidad de control principal ex311, después de que la unidad de circuito de módem ex306 realiza procesamiento de espectro ensanchado sobre los datos de texto y la unidad de circuito de transmisión/recepción ex301 realiza procesamiento de conversión digital a analógica y procesamiento de transformación de frecuencia sobre ellos, lo resultante es transmitido a la estación base ex110 a través de la antena ex201.
Cuando se transmiten datos de imágenes en el modo de comunicación de datos, los datos de imágenes filmados por la unidad de cámara ex203 son suministrados a la unidad de codificación de imágenes ex312 a través de la unidad de interfaz de cámara ex303. Cuando no se van a transmitir datos de imágenes, también es posible visualizar datos de imágenes filmados por la unidad de cámara ex203 directamente en la unidad de pantalla ex202 a través de la unidad de interfaz de cámara ex303 y la unidad de control de LCD ex302.
La unidad de codificación de imágenes ex312, que incluye en su configuración el aparato de codificación de imágenes según la presente invención, realiza codificación de compresión sobre los datos de imágenes suministrados desde la unidad de cámara ex203 usando el procedimiento de codificación usado por el aparato de codificación de imágenes presentado en las realizaciones anteriormente mencionadas, para convertirlos en datos de imágenes codificados, y los envía a la unidad de multiplexación/demultiplexación ex308. En este momento, el teléfono celular ex115 envía voces recibidas por la unidad de entrada de voz ex205 mientras está teniendo lugar la filmación por la unidad de cámara ex203, a la unidad de multiplexación/demultiplexación ex308 como datos de voz digital a través de la unidad de procesamiento de voz ex305.
La unidad de multiplexación/demultiplexación ex308 multiplexa los datos de imágenes codificados suministrados desde la unidad de codificación de imágenes ex312 y los datos de voz suministrados desde la unidad de procesamiento de voz ex305 usando un procedimiento predeterminado, la unidad de circuito de módem ex306 realiza procesamiento de espectro ensanchado sobre los datos multiplexados resultantes, y la unidad de circuito de transmisión/recepción ex301 realiza procesamiento de conversión digital a analógica y procesamiento de transformación de frecuencia sobre lo resultante, para transmitir los datos procesados a través de la antena ex201.
Al recibir, en el modo de comunicación de datos, datos incluidos en un archivo de imágenes en movimiento que está enlazado a una página Web o similar, la unidad de circuito de módem ex306 realiza procesamiento inverso de espectro ensanchado sobre la señal recibida recibida desde la estación base ex110 a través de la antena ex201, y envía los datos multiplexados resultantes a la unidad de multiplexación/demultiplexación ex308.
Para decodificar los datos multiplexados recibidos a través de la antena ex201, la unidad de multiplexación/demulti-
plexación ex308 separa los datos multiplexados en un flujo de bits codificados de datos de imágenes y un flujo de bits codificados de datos de voz, y suministra tales datos de imágenes codificados a la unidad de decodificación de imágenes ex309 y tales datos de voz a la unidad de procesamiento de voz ex305 a través del bus síncrono ex313.
\newpage
A continuación, la unidad de decodificación de imágenes ex309, que incluye en su configuración el aparato de decodificación de imágenes según la presente invención, decodifica el flujo de bits codificados de los datos de imágenes usando el procedimiento de decodificación junto con el procedimiento de codificación como se muestra en las realizaciones anteriormente mencionadas para generar datos de imágenes en movimiento para reproducción, y suministra tales datos a la unidad de pantalla ex202 a través de la unidad de control de LCD ex302. Por consiguiente, se visualizan los datos de imágenes en movimiento incluidos en el archivo de imágenes en movimiento enlazado a una página Web, por ejemplo. Al mismo tiempo, la unidad de procesamiento de voz ex305 convierte los datos de voz en una señal de voz analógica, y después suministra esta señal a la unidad de salida de voz ex208. Por consiguiente, se reproducen los datos de voz incluidos en el archivo de imágenes en movimiento enlazado a una página Web, por ejemplo.
Obsérvese que el sistema anteriormente mencionado no es un ejemplo exclusivo y por lo tanto que al menos el aparato de codificación de imágenes o el aparato de decodificación de imágenes de las realizaciones anteriores puede ser incorporado a un sistema de radiodifusión digital como se muestra en la Fig. 17, enmarcado en un ambiente en que la radiodifusión digital por satélite/terrestre ha sido un tema reciente de conversación. Para ser más concretos, en una estación de radiodifusión ex409, un flujo de bits codificados de información de vídeo es transmitido, por ondas de radio, a un satélite ex410 para comunicaciones o radiodifusión. Al recibirlo, el satélite de radiodifusión ex410 transmite ondas de radio para radiodifusión, una antena ex406 de una casa equipada con instalaciones de recepción de radiodifusión por satélite recibe tales ondas de radio, y un aparato como una televisión (receptor) ex401 y un decodificador (STP) ex407 decodifica el flujo de bits codificados y reproduce los datos decodificados. El aparato de decodificación de imágenes como el mostrado en las realizaciones anteriormente mencionadas puede implementarse en el aparato de reproducción ex403 para leer y decodificar el flujo de bits codificados grabado en un medio de almacenamiento ex402 que es un medio de grabación como un CD y un DVD. En este caso, una señal de vídeo reproducida se visualiza en un monitor ex404. También se concibe que el aparato de decodificación de imágenes esté implementado en el decodificador ex407 conectado a un cable ex405 para televisión por cable o la antena ex406 para radiodifusión por satélite/basada en tierra para reproducirlas en un monitor de televisión ex408. En este caso, el aparato de decodificación de imágenes puede estar incorporado dentro de la televisión, no en el decodificador. O un automóvil ex412 con una antena ex411 puede recibir una señal procedente del satélite ex410, la estación base ex107 o similares, para reproducir una imagen en movimiento en un dispositivo de visualización como un sistema de navegación de automóvil ex413 montado en el automóvil ex412.
Además, también es posible codificar una señal de imagen mediante el aparato de codificación de imágenes en movimiento presentado en las realizaciones anteriores y grabar lo resultante en un medio de grabación. Ejemplos incluyen un grabador de DVD para grabar una señal de imagen en un disco DVD ex421 y un grabador ex420 como un grabador de disco para grabar una señal de imagen en un disco duro. Por otra parte, puede grabarse una señal de imagen en una tarjeta SD ex422. Si el grabador ex420 está equipado con el aparato de decodificación de imágenes en movimiento presentado en las realizaciones anteriores, es posible reproducir una señal de imagen grabada en el disco DVD ex421 o en la tarjeta SD ex422, y visualizarla en el monitor ex408.
Como la configuración del sistema de navegación de automóvil ex413, es concebible la configuración sin la unidad de cámara ex203 y la unidad de interfaz de cámara ex303, de la configuración mostrada en la Fig. 16. Se puede aplicar lo mismo al ordenador ex111, la televisión ex401 (receptor) y similares.
Con respecto a los terminales como le teléfono celular ex114, son posibles como forma de implementación un terminal de transmisión/recepción que tenga tanto un codificador como un decodificador, así como un terminal de transmisión sólo con un codificador y un terminal de recepción sólo con un decodificador.
Tal como se expuso anteriormente, es posible emplear el procedimiento de codificación de longitud variable y el procedimiento de decodificación de longitud variable presentados en las realizaciones anteriores dentro de uno cualquiera de los dispositivos y sistemas descritos anteriormente. Por consiguiente, se hace posible lograr un efecto explicado en las realizaciones anteriores.
A partir de la invención así descrita, resultará obvio que las realizaciones de la invención pueden variarse de muchas maneras. Tales variaciones no deben ser consideradas como una desviación del espíritu y alcance la invención, y todas las modificaciones semejantes, como resultaría obvio para alguien experto en la materia, están pensadas para su inclusión dentro del alcance las siguientes reivindicaciones.
Aplicabilidad industrial
El procedimiento de codificación de longitud variable y el procedimiento de decodificación de longitud variable según la presente invención son adecuados para usarse en un aparato de codificación de imágenes para codificar una imagen en movimiento, un aparato de decodificación de imágenes para decodificar una imagen en movimiento codificada, y un sistema que incorpore estos aparatos como un sistema de suministro de contenido para suministrar una obra digital y otro contenido, así como un sistema de radiodifusión digital.

Claims (5)

1. Un procedimiento de decodificación para decodificar aritméticamente un flujo de bits que se obtiene codificando aritméticamente, sobre una base de bloque, coeficientes de una matriz bidimensional de componentes de frecuencia en un orden de barrido predeterminado empezando en una componente de alta frecuencia hacia una componente de baja frecuencia, siendo generados dichos coeficientes por transformación de frecuencia realizada sobre datos de imágenes de un bloque que tiene un tamaño de píxeles predeterminado, comprendiendo el procedimiento de decodificación:
una etapa de decodificación aritmética de decodificar aritméticamente el flujo de bits en cada valor absoluto de los coeficientes, sobre una base de bloque, según un orden de barrido predeterminado empezando en una componente de alta frecuencia hacia una componente de baja frecuencia usando una pluralidad de tablas de probabilidad;
una etapa de cambio de cambiar de una tabla de probabilidad a una nueva tabla de probabilidad basada en un resultado de una comparación de un valor absoluto de un coeficiente objetivo que ha de ser decodificado con un valor umbral predeterminado; y
una etapa de disposición de coeficientes de disponer, sobre una base de bloque, cada valor absoluto de los coeficientes en la matriz bidimensional de componentes de frecuencia;
en el que, en la etapa de cambio, el cambio entre una pluralidad de tablas de probabilidad se realiza en una dirección de manera que cada tabla de probabilidad, que ha sido usada antes que dicha nueva tabla de probabilidad, no se usa después de cambiar a dicha nueva tabla de probabilidad.
2. El procedimiento de decodificación según la Reivindicación 1,
en el que, en la etapa de cambio, el cambio a la nueva tabla de probabilidad se realiza después de que un número de coeficientes decodificados que tienen un valor absoluto que excede de 1 se vuelve un valor no nulo, y el cambio entre una pluralidad de tablas de probabilidad no se realiza después del cambio a la nueva tabla de probabilidad.
3. El procedimiento de decodificación según la Reivindicación 1,
en el que, en la etapa de decodificación aritmética, se obtienen datos binarios en la decodificación aritmética del flujo de bits, y cada valor absoluto de los coeficientes se obtiene convirtiendo los datos binarios en datos multivalor.
4. El procedimiento de decodificación según la Reivindicación 3,
en el que, en la etapa de decodificación aritmética, la decodificación aritmética se realiza por separado en una parte y otra parte de dichos datos binarios, y una tabla de probabilidad usada en la decodificación aritmética de dicha una parte de los datos binarios y una tabla de probabilidad usada en la decodificación aritmética de dicha otra parte de los datos binarios son diferentes cuando la decodificación aritmética se realiza sobre los datos binarios.
5. El procedimiento de decodificación según la Reivindicación 4,
en el que dicha una parte de los datos binarios es un primer bit de los datos binarios y dicha otra parte de los datos binarios es un bit distinto del primer bit de los datos binarios.
ES03720906T 2002-04-26 2003-04-16 Procedimiento de codificacion de longitud variable y procedimiento de decodificacion de longitud variable. Expired - Lifetime ES2281640T3 (es)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2002-126029 2002-04-26
JP2002126029 2002-04-26
JP2002363107A JP4090862B2 (ja) 2002-04-26 2002-12-13 可変長符号化方法および可変長復号化方法
JP2002-363107 2002-12-13

Publications (1)

Publication Number Publication Date
ES2281640T3 true ES2281640T3 (es) 2007-10-01

Family

ID=29272364

Family Applications (2)

Application Number Title Priority Date Filing Date
ES03720906T Expired - Lifetime ES2281640T3 (es) 2002-04-26 2003-04-16 Procedimiento de codificacion de longitud variable y procedimiento de decodificacion de longitud variable.
ES06122527T Expired - Lifetime ES2294768T3 (es) 2002-04-26 2003-04-16 Procedimiento de codificacion de longitud variable.

Family Applications After (1)

Application Number Title Priority Date Filing Date
ES06122527T Expired - Lifetime ES2294768T3 (es) 2002-04-26 2003-04-16 Procedimiento de codificacion de longitud variable.

Country Status (13)

Country Link
US (12) US7742528B2 (es)
EP (3) EP1401213B1 (es)
JP (1) JP4090862B2 (es)
KR (2) KR101019358B1 (es)
CN (5) CN100542295C (es)
AT (3) ATE378781T1 (es)
AU (1) AU2003235172B2 (es)
BR (2) BR0304558A (es)
CA (1) CA2452175C (es)
DE (3) DE60323698D1 (es)
ES (2) ES2281640T3 (es)
MX (1) MXPA03011335A (es)
WO (1) WO2003092298A1 (es)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4368575B2 (ja) * 2002-04-19 2009-11-18 パナソニック株式会社 可変長復号化方法、可変長復号化装置およびプログラム
JP4090862B2 (ja) 2002-04-26 2008-05-28 松下電器産業株式会社 可変長符号化方法および可変長復号化方法
CN101835046B (zh) * 2004-08-31 2013-01-23 松下电器产业株式会社 运动图像编码方法及装置
JP4540585B2 (ja) 2005-10-20 2010-09-08 パナソニック株式会社 符号化装置及び復号化装置
JP4902854B2 (ja) * 2006-09-12 2012-03-21 パナソニック株式会社 動画像復号化装置、動画像復号化方法、動画像復号化プログラム、動画像符号化装置、動画像符号化方法、動画像符号化プログラム、及び動画像符号化復号化装置
KR101260285B1 (ko) 2006-11-27 2013-05-03 한국과학기술원 다원화된 확률 모형에 기반한 비.에스.에이.씨 산술 복호화방법
CN101500159B (zh) * 2008-01-31 2012-01-11 华为技术有限公司 一种图像熵编码、熵解码的方法及装置
JP5258664B2 (ja) * 2009-04-14 2013-08-07 株式会社エヌ・ティ・ティ・ドコモ 画像符号化装置、方法およびプログラム、並びに、画像復号装置、方法およびプログラム
CN102667923B (zh) 2009-10-20 2014-11-05 弗兰霍菲尔运输应用研究公司 音频编码器、音频解码器、用于将音频信息编码的方法、用于将音频信息解码的方法
WO2011052142A1 (ja) * 2009-10-29 2011-05-05 パナソニック株式会社 画像符号化方法および画像復号方法
JP5679980B2 (ja) * 2009-11-02 2015-03-04 パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America 画像符号化方法、画像復号方法、画像符号化装置及び画像復号装置
SG182466A1 (en) 2010-01-12 2012-08-30 Fraunhofer Ges Forschung Audio encoder, audio decoder, method for encoding and audio information, method for decoding an audio information and computer program using a modification of a number representation of a numeric previous context value
MX353107B (es) 2010-04-09 2017-12-19 Mitsubishi Electric Corp Dispositivo codificador de imagen en movimiento y dispositivo decodificador de imagen en movimiento.
HUE051391T2 (hu) * 2010-04-13 2021-03-01 Ge Video Compression Llc Szignifikancia térképek és transzformációs együttható blokkok kódolása
US9042440B2 (en) 2010-12-03 2015-05-26 Qualcomm Incorporated Coding the position of a last significant coefficient within a video block based on a scanning order for the block in video coding
US8976861B2 (en) 2010-12-03 2015-03-10 Qualcomm Incorporated Separately coding the position of a last significant coefficient of a video block in video coding
US20120163456A1 (en) 2010-12-22 2012-06-28 Qualcomm Incorporated Using a most probable scanning order to efficiently code scanning order information for a video block in video coding
US8755620B2 (en) 2011-01-12 2014-06-17 Panasonic Corporation Image coding method, image decoding method, image coding apparatus, image decoding apparatus, and image coding and decoding apparatus for performing arithmetic coding and/or arithmetic decoding
US8687904B2 (en) 2011-01-14 2014-04-01 Panasonic Corporation Image coding method, image coding apparatus, image decoding method, image decoding apparatus, and image coding and decoding apparatus which include arithmetic coding or arithmetic decoding
WO2012114711A1 (ja) * 2011-02-23 2012-08-30 パナソニック株式会社 画像符号化方法および画像復号方法
US9106913B2 (en) 2011-03-08 2015-08-11 Qualcomm Incorporated Coding of transform coefficients for video coding
US10499059B2 (en) 2011-03-08 2019-12-03 Velos Media, Llc Coding of transform coefficients for video coding
JP5787135B2 (ja) 2011-04-06 2015-09-30 ソニー株式会社 画像処理装置および方法、プログラム、並びに、記録媒体
US8805099B2 (en) * 2011-06-22 2014-08-12 Panasonic Intellectual Property Corporation Of America Image decoding method and image coding method
US9167253B2 (en) 2011-06-28 2015-10-20 Qualcomm Incorporated Derivation of the position in scan order of the last significant transform coefficient in video coding
JP5368662B1 (ja) 2011-11-07 2013-12-18 パナソニック株式会社 符号化方法および符号化装置
JP6607956B2 (ja) * 2015-05-29 2019-11-20 エスゼット ディージェイアイ テクノロジー カンパニー リミテッド ビデオ処理方法及びビデオ処理システム
US20170180757A1 (en) * 2015-12-18 2017-06-22 Blackberry Limited Binarizer selection for image and video coding
WO2017192995A1 (en) * 2016-05-06 2017-11-09 Vid Scale, Inc. Method and system for decoder-side intra mode derivation for block-based video coding
CN112399181B (zh) * 2019-08-19 2022-08-26 华为技术有限公司 图像编解码的方法、装置和存储介质
CN111726626B (zh) * 2020-06-18 2022-05-03 格兰菲智能科技有限公司 集成电路及用于视频解码的概率表存储方法
CN115209079B (zh) * 2022-02-23 2023-05-02 北京拙河科技有限公司 一种适用于高速摄像机长时间存储数据的方法和设备
CN114245133A (zh) * 2022-02-23 2022-03-25 北京拙河科技有限公司 视频分块编码方法、编码传输方法、系统和设备

Family Cites Families (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US254583A (en) 1882-03-07 And carding curled horse hair
CA1296430C (en) 1986-11-10 1992-02-25 Masahide Kaneko Encoding system capable of accomplishing a high efficiency by anterior and/or posterior processing to quantization
US4813056A (en) * 1987-12-08 1989-03-14 General Electric Company Modified statistical coding of digital signals
JPH04100390A (ja) 1990-08-20 1992-04-02 Hitachi Ltd 高能率符号化方式
JP3205028B2 (ja) 1991-02-05 2001-09-04 キヤノン株式会社 画像圧縮装置及びその方法
US6546145B1 (en) * 1991-02-05 2003-04-08 Canon Kabushiki Kaisha Image compression using selection of quantization method
JPH04315270A (ja) 1991-04-15 1992-11-06 Toshiba Corp 符号化装置
JP3016456B2 (ja) 1992-06-15 2000-03-06 日本電信電話株式会社 適応的可変長符号化方法
JPH06178282A (ja) * 1992-12-02 1994-06-24 Mitsubishi Electric Corp 画像の符号化装置
US5400075A (en) * 1993-01-13 1995-03-21 Thomson Consumer Electronics, Inc. Adaptive variable length encoder/decoder
JP3278948B2 (ja) 1993-02-05 2002-04-30 日本電信電話株式会社 可変長符号化方法
JP3277425B2 (ja) 1993-03-19 2002-04-22 ソニー株式会社 ディジタル信号の符号化方法、符号化用テーブル生成方法、符号化装置及び符号化方法
US5510785A (en) * 1993-03-19 1996-04-23 Sony Corporation Method of coding a digital signal, method of generating a coding table, coding apparatus and coding method
JP3210996B2 (ja) * 1993-07-30 2001-09-25 三菱電機株式会社 高能率符号化装置及び高能率復号化装置
JPH0759086A (ja) 1993-07-30 1995-03-03 Canon Inc 画像処理装置
JP2836467B2 (ja) * 1993-12-16 1998-12-14 日本電気株式会社 2値シンボルの符号化・復号化回路
JP3305140B2 (ja) * 1994-12-28 2002-07-22 キヤノン株式会社 符号化装置及び方法
US5883976A (en) 1994-12-28 1999-03-16 Canon Kabushiki Kaisha Selectively utilizing multiple encoding methods
JP3624450B2 (ja) 1995-02-06 2005-03-02 ソニー株式会社 画像データ符号化方法及び画像データ符号化装置
US6104754A (en) * 1995-03-15 2000-08-15 Kabushiki Kaisha Toshiba Moving picture coding and/or decoding systems, and variable-length coding and/or decoding system
JPH08256266A (ja) * 1995-03-17 1996-10-01 Mitsubishi Electric Corp 画像符号化方式
JP3114796B2 (ja) 1995-09-11 2000-12-04 松下電器産業株式会社 可変長符号化装置及び方法
EP0762771A3 (en) 1995-09-11 1998-09-23 Matsushita Electric Industrial Co., Ltd. Apparatus and method for variable-length coding
US6571019B1 (en) * 1995-10-26 2003-05-27 Hyundai Curitel, Inc Apparatus and method of encoding/decoding a coded block pattern
JPH09307901A (ja) 1996-05-13 1997-11-28 Toshiba Corp 映像信号処理装置
KR100335622B1 (ko) * 1996-06-30 2002-11-20 삼성전자 주식회사 위치적확률모형을이용한문법기반의적응식산술부호화기및/또는복호화기및이를이용한고능률영상부호화기및/또는복호화기
TW366669B (en) * 1996-10-30 1999-08-11 Matsushita Electric Ind Co Ltd Picture encoding device and picture encoding method, picture decoding device and picture decoding method, and data recording media
JP4034380B2 (ja) * 1996-10-31 2008-01-16 株式会社東芝 画像符号化/復号化方法及び装置
EP0873018B1 (en) * 1996-11-06 2002-09-25 Matsushita Electric Industrial Co., Ltd. Image decoding method
US5995148A (en) * 1997-02-14 1999-11-30 At&T Corp Video coder having scalar dependent variable length coder
US6081213A (en) * 1997-03-26 2000-06-27 Sony Corporation Method and apparatus for arithmetic coding, method and apparatus for arithmetic decoding, and storage medium
KR100281328B1 (ko) * 1998-01-30 2001-02-01 전주범 콘텍스트 기반 산술 부호화/복호화 방법 및 장치
JPH11243343A (ja) 1998-02-25 1999-09-07 Victor Co Of Japan Ltd 可変長符号化方法、可変長復号化方法、及び可変長符号記録媒体
JPH11341497A (ja) * 1998-05-29 1999-12-10 Matsushita Electric Ind Co Ltd 画像符号化復号化装置及び、画像符号化復号化方法
JP4160689B2 (ja) * 1998-11-10 2008-10-01 株式会社リコー 算術符号化装置および算術復号装置
US6681049B1 (en) * 1999-05-20 2004-01-20 Matsushita Electric Industrial Co., Ltd. Image encoding method and apparatus
JP2001024515A (ja) 1999-07-07 2001-01-26 Sony Corp 信号処理方法及び装置
JP3603000B2 (ja) * 2000-02-01 2004-12-15 カネボウ株式会社 ハフマン符号化装置、ハフマン符号化方法およびハフマン符号化処理プログラムを記録した記録媒体
TW515192B (en) * 2000-06-06 2002-12-21 Noa Kk Off Compression method of motion picture image data and system there for
US6882751B2 (en) * 2000-06-14 2005-04-19 Canon Kabushiki Kaisha Arithmetic decoding method and device and storage medium
US6888893B2 (en) * 2001-01-05 2005-05-03 Microsoft Corporation System and process for broadcast and communication with very low bit-rate bi-level or sketch video
JP4315270B2 (ja) 2001-01-24 2009-08-19 旭精工株式会社 コインホッパ
US6856701B2 (en) * 2001-09-14 2005-02-15 Nokia Corporation Method and system for context-based adaptive binary arithmetic coding
US7026960B2 (en) * 2001-11-27 2006-04-11 Samsung Electronics Co., Ltd. Method and apparatus for encoding and decoding key data
US7099387B2 (en) * 2002-03-22 2006-08-29 Realnetorks, Inc. Context-adaptive VLC video transform coefficients encoding/decoding methods and apparatuses
JP4090862B2 (ja) * 2002-04-26 2008-05-28 松下電器産業株式会社 可変長符号化方法および可変長復号化方法
JP4100390B2 (ja) 2004-10-07 2008-06-11 三菱自動車工業株式会社 車両の前部車体構造

Also Published As

Publication number Publication date
JP4090862B2 (ja) 2008-05-28
EP1843596B1 (en) 2008-09-17
DE60312620D1 (de) 2007-05-03
US20100150464A1 (en) 2010-06-17
ATE378781T1 (de) 2007-11-15
ATE357816T1 (de) 2007-04-15
AU2003235172B2 (en) 2007-08-02
CA2452175A1 (en) 2003-11-06
CN101242537B (zh) 2010-09-08
US20140321531A1 (en) 2014-10-30
DE60312620T2 (de) 2007-12-13
ATE408962T1 (de) 2008-10-15
DE60317585D1 (de) 2007-12-27
AU2003235172A1 (en) 2003-11-10
DE60317585T2 (de) 2008-09-18
KR20040105545A (ko) 2004-12-16
EP1843596A1 (en) 2007-10-10
US20170041611A1 (en) 2017-02-09
US8284841B2 (en) 2012-10-09
EP1742482B1 (en) 2007-11-14
MXPA03011335A (es) 2004-03-19
CA2452175C (en) 2012-08-14
US8005146B2 (en) 2011-08-23
KR100979604B1 (ko) 2010-09-01
CN100380979C (zh) 2008-04-09
US20040184544A1 (en) 2004-09-23
CN101035288A (zh) 2007-09-12
EP1742482A1 (en) 2007-01-10
CN1522543A (zh) 2004-08-18
US9191666B2 (en) 2015-11-17
US20110243245A1 (en) 2011-10-06
EP1401213A1 (en) 2004-03-24
ES2294768T3 (es) 2008-04-01
DE60323698D1 (de) 2008-10-30
US8098736B2 (en) 2012-01-17
US20080056375A1 (en) 2008-03-06
US9497467B2 (en) 2016-11-15
BRPI0304558B1 (pt) 2018-02-27
CN100542295C (zh) 2009-09-16
US9794567B2 (en) 2017-10-17
KR101019358B1 (ko) 2011-03-07
US7742528B2 (en) 2010-06-22
US7970059B2 (en) 2011-06-28
CN100542297C (zh) 2009-09-16
EP1401213A4 (en) 2004-10-20
CN101035287A (zh) 2007-09-12
US20160037162A1 (en) 2016-02-04
EP1401213B1 (en) 2007-03-21
US8804838B2 (en) 2014-08-12
US20180007357A1 (en) 2018-01-04
US10349054B2 (en) 2019-07-09
CN101035289A (zh) 2007-09-12
US20180007358A1 (en) 2018-01-04
US9521415B2 (en) 2016-12-13
WO2003092298A1 (en) 2003-11-06
US20160037161A1 (en) 2016-02-04
US20120328027A1 (en) 2012-12-27
BR0304558A (pt) 2004-08-03
US10356412B2 (en) 2019-07-16
KR20080048535A (ko) 2008-06-02
CN100542296C (zh) 2009-09-16
JP2004007382A (ja) 2004-01-08
US20100158485A1 (en) 2010-06-24
CN101242537A (zh) 2008-08-13

Similar Documents

Publication Publication Date Title
ES2281640T3 (es) Procedimiento de codificacion de longitud variable y procedimiento de decodificacion de longitud variable.
ES2277313T3 (es) Procedimiento de codificacion de imagen.
ES2549252T3 (es) Método de codificación de longitud variable
JP2007096709A (ja) 画像処理方法、画像符号化方法および画像復号方法
JP4313710B2 (ja) 画像符号化方法および画像復号化方法
JP4091107B1 (ja) 可変長符号化装置および画像符号化装置
JP4091108B1 (ja) 可変長復号化装置および画像復号化装置
JP4091074B2 (ja) 可変長符号化方法および可変長復号化方法
JP2005079965A (ja) 代表点情報符号化方法および代表点情報復号化方法