ES2329823T3 - Procedimiento de decodificacion de imagenes. - Google Patents

Procedimiento de decodificacion de imagenes. Download PDF

Info

Publication number
ES2329823T3
ES2329823T3 ES06123556T ES06123556T ES2329823T3 ES 2329823 T3 ES2329823 T3 ES 2329823T3 ES 06123556 T ES06123556 T ES 06123556T ES 06123556 T ES06123556 T ES 06123556T ES 2329823 T3 ES2329823 T3 ES 2329823T3
Authority
ES
Spain
Prior art keywords
coefficients
unit
value
image
blocks
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
ES06123556T
Other languages
English (en)
Inventor
Kiyofumi Abe
Shinya Kadono
Satoshi Kondo
Makoto Hagai
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 Corp
Original Assignee
Panasonic Corp
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=29243326&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=ES2329823(T3) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Panasonic Corp filed Critical Panasonic Corp
Application granted granted Critical
Publication of ES2329823T3 publication Critical patent/ES2329823T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/004Predictors, e.g. intraframe, interframe coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • 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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • 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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • 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)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Image Processing (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Supplying Of Containers To The Packaging Station (AREA)
  • Holo Graphy (AREA)

Abstract

Un procedimiento de decodificación para decodificar una imagen decodificada, bloque a bloque, siendo obtenida la imagen codificada transformando la imagen en coeficientes que muestran componentes de frecuencia espacial, comprendiendo el procedimiento: establecer un valor predictivo de un número total de coeficientes no nulos de un bloque actual que se va a decodificar en función del número total de coeficientes no nulos de un bloque decodificado situado sobre el bloque actual y un número total de coeficientes no nulos de un bloque decodificado situado a la izquierda del bloque actual, en el que cada coeficiente no nulo es un coeficiente de transformación que tiene un valor de nivel distinto de "0"; seleccionar una tabla de códigos de longitud variable en función del valor predictivo establecido; y decodificar los datos codificados obtenidos codificando el número total de coeficientes no nulos del bloque actual usando la tabla de códigos de longitud variable seleccionada, en el que, se establece que el valor predictivo tenga el valor de "0" en el caso en el que ninguno de los dos bloques codificados esté situado sobre y a la izquierda del bloque actual.

Description

Procedimiento de decodificación de imágenes.
Campo técnico
La presente invención se refiere a un procedimiento de codificación de imágenes y a un procedimiento de decodificación de imágenes para codificar una imagen digitalmente a fin de transferirla o almacenarla.
Técnica anterior
En general, una codificación de imágenes móviles divide una imagen en una cantidad determinada de bloques y lleva a cabo una predicción intra-imagen y una predicción inter-imagen de cada bloque. Posteriormente, se aplica una transformación ortogonal, por ejemplo, una transformada discreta de coseno o similar para cada bloque de la unidad menor de una división (es decir, 4 x 4 píxeles) a fin de llevar a cabo la codificación usando una codificación de longitud variable en función de una codificación de nivel de ejecución de coeficientes que muestran componentes de frecuencia espacial obtenidos mediante transformación ortogonal.
La codificación de longitud variable asigna códigos de longitud variable a valores de los coeficientes contenidos en el bloque al que se aplica (nivel) la transformación ortogonal, así como a los números que comprenden una serie de un coeficiente 0 (ejecución). En este caso, una tabla que corresponde a los valores con códigos de longitud variable se denomina una tabla de VLC. Según el procedimiento convencional, sólo se prepara una tabla como una tabla de VLC respectivamente para codificación intra-predictiva y codificación inter-predictiva (véase ISO/IEC 14496-2:1999(E) Information Technology - coding of audio visual objects Part 2: Visual (1999-12-01) P.119 7.4.1 Variable length coding).
Según el procedimiento de codificación de longitud variable explicado en la técnica existente, sólo se prepara una tabla como una tabla de VLC, respectivamente, para codificación intra-predictiva y codificación inter-predictiva. Por lo tanto, tiene el problema de que el rendimiento de codificación varía mucho en función de la calidad de una imagen actual que se va a codificar.
A fin de solucionar este problema, es posible un procedimiento de preparación de una pluralidad de tablas, a fin de consultar las mismas cambiando entre ellas según el número de coeficientes distintos de 0 contenidos en un bloque actual al que se aplica la transformación ortogonal. Para realizar esto, es necesario llevar a cabo una codificación aplicando una codificación de longitud variable de los números de los coeficientes distintos de 0, no obstante, aún no está establecido el procedimiento de codificación ni el procedimiento de decodificación.
La solicitud de patente europea del presente propietario de patente EP 0876058 se refiere a un codificador de imágenes y a un decodificador. De acuerdo con esta solicitud, se sugiere que los datos de modo de un bloque, que se va a codificar, se predicen a partir de los datos de modo de bloques periféricos ya codificados y se codifican usando una tabla de palabras código que se cambia según una relación de aciertos de predicción. En la tabla de palabras código, la longitud de las palabras código se establece más corta para los modos de codificación con una relación de aciertos elevada.
El artículo de Gisle Bjontegaard "Improved Low Complexity Entropy Coding For Tansform Coefficients" resume una propuesta basada en la codificación de entropía. El trabajo presentado por Bjontegaard trata de sustituir el procedimiento de baja complejidad UVLC; se considera que tiene una baja complejidad pero mejor rendimiento. La idea básica es conseguir un procedimiento más autoadaptativo y el procedimiento propuesto sólo usa una única exploración.
Descripción de la invención
La presente invención se ha ideado en vista de estas circunstancias y es un objetivo de la presente invención proponer un procedimiento de codificación de imágenes, así como un procedimiento de decodificación de imágenes que realice una codificación del número de coeficientes distintos de 0 contenidos en el bloque al que se aplica la transformación ortogonal con un alto rendimiento independientemente de la calidad de la imagen actual.
A fin de solucionar el problema, que se ha mencionado anteriormente, la presente invención proporciona un procedimiento de decodificación para decodificar una imagen decodificada, bloque a bloque, siendo obtenida la imagen codificada transformando la imagen en coeficientes que muestran componentes de frecuencia espacial, comprendiendo el procedimiento: establecer un valor predictivo de un número total de coeficientes no nulos de un bloque actual que se va a decodificar en función del número total de coeficientes no nulos de un bloque decodificado situado sobre el bloque actual y un número total de coeficientes no nulos de un bloque decodificado situado a la izquierda del bloque actual, en el que cada coeficiente no nulo es un coeficiente de transformación que tiene un valor de nivel distinto de "0", seleccionar una tabla de códigos de longitud variable en función del valor predictivo establecido; y decodificar los datos codificados obtenidos codificando el número total de coeficientes no nulos del bloque actual usando la tabla de códigos de longitud variable seleccionada, en el que, se establece que el valor predictivo tenga el valor de "0" en el caso en el que ninguno de los dos bloques codificados esté situado sobre y a la izquierda del bloque actual.
El objeto de la presente invención que se ha mencionado anteriormente se alcanza además mediante un dispositivo de decodificación para decodificar una imagen codificada, bloque a bloque, siendo obtenida la imagen codificada transformando la imagen en coeficientes que muestran componentes de frecuencia espacial, comprendiendo el dispositivo: una unidad de cálculo del valor predictivo que puede ponerse en funcionamiento para establecer un valor predictivo de un número total de coeficientes no nulos de un bloque actual que se va a decodificar en función del número total de coeficientes no nulos de un bloque decodificado situado sobre el bloque actual y un número total de coeficientes no nulos de un bloque decodificado situado a la izquierda del bloque actual, en el que cada coeficiente no nulo es un coeficiente de transformación que tiene un valor de nivel distinto de "0", una unidad de selección de tabla que puede ponerse en funcionamiento para seleccionar una tabla de códigos de longitud variable en función del valor predictivo establecido; y una unidad de decodificación de longitud variable que puede ponerse en funcionamiento para decodificar los datos codificados obtenidos al codificar el número total de coeficientes no nulos del bloque actual usando la tabla de códigos de longitud variable seleccionada, en el que, se establece que el valor predictivo tenga el valor de "0" en el caso en el que ninguno de los dos bloques codificados esté situado sobre y a la izquierda del bloque
actual.
Por lo tanto, se realiza una mejora en el rendimiento de codificación dado que se pueden consultar tablas óptimas de codificación de longitud variable al codificar el número de los coeficientes distintos de 0 contenidos en el bloque actual.
\vskip1.000000\baselineskip
Breve descripción de los dibujos
La Fig. 1 es un diagrama de bloques que muestra una estructura de un ejemplo útil para entender la presente invención de un dispositivo de codificación de imágenes que usa un procedimiento de codificación de imágenes.
La Fig. 2A es un diagrama modelo que muestra un boceto de un orden de procesamiento de macrobloques de cada imagen.
La Fig. 2B es un diagrama modelo que muestra macrobloques que pertenecen a bloques codificados que se usan como referencia a fin de codificar un número de coeficientes de un bloque actual que se va a codificar.
La Fig. 3A es un diagrama de bloques que muestra una estructura de un codificador de número de coeficientes según el primer ejemplo útil para entender la presente invención. La Fig. 3B es un diagrama de bloques que muestra una estructura de un ejemplo de transformación del codificador de número de coeficientes.
La Fig. 4A y la Fig. 4B son diagramas modelo que muestran una posición física de un bloque actual que se va a codificar y de los bloques codificados que se usan como referencia. La Fig. 4A presenta un caso de uso de tres bloques adyacentes, mientras que la Fig. 4B presenta un caso de uso de dos bloques adyacentes.
La Fig. 5 es un diagrama modelo que muestra un ejemplo de un flujo cuando el número de coeficientes se transforma en un flujo de bits consultando las tablas.
La Fig. 6A y la Fig. 6B son diagramas modelo que muestran bloques de referencia para un macrobloque actual que se va a codificar. La Fig. 6A presenta un caso de uso de tres bloques adyacentes, mientras que la Fig. 6B presenta un caso de uso de dos bloques adyacentes.
La Fig. 7A, la Fig. 7B y la Fig. 7C son diagramas modelo que muestran una operación en la que una unidad de almacenamiento de número de coeficientes almacena los números de coeficientes. La Fig. 7A presenta un caso en el que un proceso pasa al macrobloque siguiente, mientras que la Fig. 7B presenta un caso en el que el proceso avanza al macrobloque siguiente. La Fig. 7C presenta un caso en el que el macrobloque actual está situado en el borde derecho de la imagen y el proceso se desplaza hasta el macrobloque siguiente.
La Fig. 8A, la Fig. 8B y la Fig. 8C son diagramas de bloques que muestran una estructura de un ejemplo de transformación de un codificador de número de coeficientes según el primer ejemplo útil para entender la presente invención. La Fig. 8A presenta un caso de fijación de una tabla de códigos. La Fig. 8B presenta un caso de fijación de una tabla de VLC. La Fig. 8C presenta un caso de uso de una única tabla de VLC, sin usar tablas de códigos.
La Fig. 9 es un diagrama de bloques que muestra una estructura de un ejemplo de transformación del codificador de número de coeficientes según el primer ejemplo útil para entender la presente invención.
La Fig. 10A es un diagrama de bloques que muestra una estructura de un codificador de número de coeficientes según el segundo ejemplo útil para entender la presente invención. La Fig. 10B es un diagrama de bloques que muestra una estructura de un ejemplo de transformación del codificador de número de coeficientes.
La Fig. 11A y la Fig. 11B son diagramas modelo para mostrar una posición de bloques propuestos como estadística de los números de coeficientes según el segundo ejemplo útil para entender la invención y la segunda forma de realización de la presente invención.
La Fig. 12A es un diagrama de bloques que muestra una estructura de un codificador de número de coeficientes según el tercer ejemplo útil para entender la presente invención. La Fig. 12B es un diagrama de bloques que muestra una estructura de un ejemplo de transformación del codificador de número de coeficientes.
La Fig. 13A es un diagrama de bloques que muestra una estructura de un codificador de número de coeficientes según el cuarto ejemplo útil para entender la presente invención. La Fig. 13B es un diagrama de bloques que muestra una estructura de un ejemplo de transformación del codificador de número de coeficientes.
La Fig. 14 es un diagrama de bloques para mostrar un procedimiento de cálculo de un valor de evaluación obtenido mediante el cambio de tablas, según el cuarto y el séptimo ejemplo útil para entender la presente invención.
La Fig. 15 es un diagrama de bloques que muestra una estructura de un dispositivo de codificación de imágenes según el quinto ejemplo útil para entender la presente invención.
La Fig. 16 es un diagrama de bloques que muestra una estructura de un codificador de número de coeficientes según el quinto ejemplo útil para entender la presente invención.
La Fig. 17 es un diagrama de bloques que muestra una estructura de una forma de realización de un dispositivo de decodificación de imágenes que usa un procedimiento de decodificación de imágenes según la presente invención.
La Fig. 18A es un diagrama de bloques que muestra una estructura de un decodificador de número de coeficientes según la primera forma de realización de la presente invención. La Fig. 18B es un diagrama de bloques que muestra una estructura de un ejemplo de transformación del decodificador de número de coeficientes.
La Fig. 19 es un diagrama modelo que muestra un ejemplo de un flujo cuando un flujo de bits de un número de coeficientes se transforma en el número de coeficientes consultando las tablas.
La Fig. 20A y la Fig. 20B son diagramas de bloques que muestran una estructura de un ejemplo de transformación de un decodificador de número de coeficientes según la primera forma de realización de la presente invención. La Fig. 20A presenta un caso de fijación de una tabla de códigos. La Fig. 20B presenta un caso de fijación de una tabla de VLC. La Fig. 20C presenta un caso de uso de una tabla de VLC, sin usar tablas de códigos.
La Fig. 21 es un diagrama de bloques que muestra una estructura de un ejemplo de transformación de un decodificador de número de coeficientes según la primera forma de realización de la presente invención.
La Fig. 22A es un diagrama de bloques, para explicar una operación del proceso, que muestra una estructura de un decodificador de número de coeficientes según la segunda forma de realización de la presente invención. La Fig. 22B es un diagrama de bloques que muestra una estructura de un ejemplo de transformación del decodificador de número de coeficientes.
La Fig. 23A es un diagrama de bloques, para explicar una operación del proceso, que muestra una estructura de un decodificador de número de coeficientes según el sexto ejemplo útil para entender la presente invención.
La Fig. 23B es un diagrama de bloques que muestra una estructura de un ejemplo de transformación del decodificador de número de coeficientes.
La Fig. 24A es un diagrama de bloques, para explicar una operación del proceso, que muestra una estructura del decodificador de número de coeficientes según el séptimo ejemplo útil para entender la presente invención.
La Fig. 24B es un diagrama de bloques que muestra una estructura de un ejemplo de transformación del decodificador de número de coeficientes.
La Fig. 25 es un diagrama de bloques, para explicar una operación del proceso, que muestra una estructura de un decodificador de número de coeficientes según el octavo ejemplo útil para entender la presente invención.
La Fig. 26A y la Fig. 26B son ilustraciones relativas a un soporte de grabación para almacenar un programa a fin de realizar un procedimiento de codificación de imágenes, así como un procedimiento de decodificación de imágenes de cada forma de realización y ejemplo en un sistema informático. La Fig. 26A es un diagrama explicativo que muestra un ejemplo de un formato físico de un disco flexible que es un cuerpo principal de un soporte de grabación. La Fig. 26B es un diagrama explicativo que muestra una presentación detallada del disco flexible, una estructura en sección transversal y el disco flexible propiamente dicho. La Fig. 26C es una ilustración que muestra una estructura para grabar y reproducir el programa en el disco flexible FD.
La Fig. 27 es un diagrama de bloques que muestra una estructura completa de un sistema proveedor de contenidos que realiza un servicio de envío de contenidos.
La Fig. 28 es un boceto que muestra un ejemplo de un teléfono móvil.
La Fig. 29 es un diagrama de bloques que muestra una estructura interna del teléfono móvil.
La Fig. 30 es un diagrama de bloques que muestra un sistema completo de un sistema de transmisión digital.
\vskip1.000000\baselineskip
Mejor modo de llevar a cabo la invención
Lo que aparece a continuación describe las formas de realización de la presente invención y ejemplos útiles para entender la presente invención en relación con los diagramas y las ecuaciones.
\vskip1.000000\baselineskip
Primer ejemplo
La Fig. 1 es un diagrama de bloques que muestra una estructura de un ejemplo útil para entender la presente invención de un dispositivo de codificación de imágenes que usa un procedimiento de codificación de imágenes.
Como se muestra en la Fig. 1, el dispositivo de codificación de imágenes incluye memorias de trama 101 y 106, una unidad de transformación ortogonal 102, una unidad de cuantificación 103, una unidad de cuantificación inversa 104, una unidad de transformación ortogonal inversa 105, una unidad de predicción inter-imagen 107, una unidad de predicción intra-imagen 108, una unidad de detección de número de coeficientes 109, una unidad de almacenamiento de número de coeficientes 110, un codificador de número de coeficientes 111, un codificador de valor de coeficientes 112, una unidad de generación de flujo de bits 113, conmutadores 114 y 115, una unidad de cálculo de diferencia 116 y una unidad de cálculo de suma 117.
La memoria de trama 101 almacena imágenes móviles introducidas, imagen a imagen, en el orden de visualización. La unidad de predicción inter-imagen 107 detecta los vectores de movimiento que muestran una posición prevista como óptima en la zona de búsqueda de la imagen, usando datos de imagen reconstruidos en un dispositivo de codificación como imágenes de referencia a fin de crear datos de imagen predictiva a partir de los vectores de movimiento. La unidad de cálculo de diferencia 116 calcula una diferencia entre los datos de imagen de entrada leídos de la memoria de trama 101 y los datos de imagen predictiva introducidos desde la unidad de predicción inter-imagen 107, a fin de crear datos de imagen residual predictiva.
La unidad de predicción intra-imagen 108 crea datos de imagen predictiva usando los datos de imagen de la zona codificada de la imagen actual y crea datos de imagen residual predictiva calculando la diferencia entre los datos de imagen predictiva creados y los datos de imagen de entrada.
La unidad de transformación ortogonal 102 lleva a cabo una transformación ortogonal de los datos de imagen residual predictiva introducidos. La unidad de cuantificación 103 lleva a cabo una cuantificación de los datos transformados ortogonalmente y crea coeficientes que muestran componentes de frecuencia espacial, que es un objetivo de la codificación de longitud variable. La unidad de cuantificación inversa 104 lleva a cabo una cuantificación inversa de los coeficientes creados en el proceso que se ha mencionado anteriormente. La unidad de transformación ortogonal inversa 105 lleva a cabo una transformación ortogonal inversa de los datos cuantificados inversamente y crea datos de imagen residual predictiva reconstruidos. La unidad de cálculo de suma 117 suma los datos de imagen residual reconstruidos, introducidos desde la unidad de transformación ortogonal inversa 105, y los datos de imagen predictiva, introducidos desde la unidad inter-predictiva 107, y crea datos de imagen reconstruidos. La memoria de trama 106 almacena los datos de imagen reconstruidos creados.
La unidad de detección de número de coeficientes 109 detecta el número de coeficientes que tienen un valor distinto de 0 (de ahora en adelante se hará referencia simplemente a número de coeficientes) de cada bloque examinando el valor del coeficiente creado. La unidad de almacenamiento de número de coeficiente 110 almacena los números de coeficientes detectados por la unidad de detección de número de coeficientes 109. El codificador de número de coeficientes 111 consulta los valores de los coeficientes del bloque, que ya están codificados y almacenados en la unidad de almacenamiento de número de coeficientes 110, y lleva a cabo la codificación de los números de los coeficientes usando un procedimiento que se mencionará más adelante. El codificador de valor de coeficientes 112 lleva a cabo una codificación de longitud variable de los valores de los coeficientes propiamente dichos consultando las tablas de VLC, necesarias para una codificación de longitud variable, cambiando entre ellas usando los números de los coeficientes detectados por la unidad de detección de número de coeficientes 109. La unidad de generación de flujo de bits 113 genera un flujo de bits sumando otra información sobre los vectores de movimiento o similar, introducida desde la unidad de predicción inter-imagen 107, a los números de los coeficientes y a los valores de los coeficientes que están codificados.
A continuación, se da una explicación relativa a un funcionamiento de un dispositivo de codificación de imágenes construido según lo anterior.
Las imágenes móviles propuestas para codificación se introducen en la memoria de trama 101, imagen a imagen, en el orden de visualización y, posteriormente, se reordenan en el orden de codificación. Cada imagen se divide en un bloque de, por ejemplo, 16 (horizontal) x 16 (vertical) píxeles, denominado macrobloque, y el proceso posterior se realiza usando la unidad de macrobloque. La Fig. 2A es un diagrama modelo que muestra un boceto de un orden de procesamiento de macrobloques de cada imagen, mientras que la Fig. 2B es un diagrama modelo que muestra macrobloques a los que pertenecen los bloques codificados que se usan como referencia a fin de codificar los números de los coeficientes del bloque actual. La Fig. 2B muestra un caso en el que un macrobloque MB13 es el macrobloque actual.
La codificación de los macrobloques de cada imagen va desde el izquierdo superior, uno a uno, hasta el derecho, como se muestra en la Fig. 2A, baja un escalón cuando llega al borde derecho y vuelve a empezar de izquierda a derecha. El macrobloque, que se lee de la memoria de trama 101, se introduce, en primer lugar, en la unidad de predicción inter-imagen 107 cuando un macrobloque actual que se va a codificar se codifica usando una predicción inter-imagen. La unidad de predicción inter-imagen 107 usa los datos de imagen reconstruidos de las imágenes codificadas almacenados en la memoria de trama 106 como imágenes de referencia para detectar vectores de movimiento de cada bloque [es decir, 4 (horizontal) x 4 (vertical) píxeles] que en un macrobloque aún más dividido. La unidad de predicción inter-imagen 107 envía los datos de imagen predictiva, creados por los vectores detectados de movimiento, a la unidad de cálculo de diferencia 116. La unidad de cálculo de diferencia 116 crea datos de imagen residual predictiva calculando la diferencia entre los datos de imagen predictiva y los datos de imagen de entrada del macrobloque actual.
Por el contrario, para codificar el macrobloque propuesto por medio de una predicción intra-imagen, el macrobloque que se lee de la memoria de trama 101 se introduce, en primer lugar, en la unidad de predicción intra-imagen 108. La unidad de predicción intra-imagen 108 lleva a cabo una predicción intra-imagen usando la información de los bloques circundantes y crea datos de imagen residual predictiva.
Los datos de imagen residual predictiva creados de ese modo se someten a un proceso de transformación ortogonal en la unidad de transformación ortogonal 102, a un proceso de cuantificación en la unidad de cuantificación 103 de cada bloque y, posteriormente, se transforman en los coeficientes en los que se va a llevar a cabo una codificación de longitud variable. Dichos coeficientes se introducen en la unidad de detección de número de coeficientes 109, en el codificador de valor de coeficientes 112 y en la unidad de cuantificación inversa 104.
La unidad de detección de número de coeficientes 109 detecta el número de coeficientes de cada bloque que tienen un valor distinto de 0. Los números de coeficientes detectados se almacenan en la unidad de almacenamiento de número de coeficientes 110. El codificador de número de coeficientes 111 consulta los valores leyendo de la unidad de almacenamiento de número de coeficientes 110 los números de los coeficientes de los bloques codificados y lleva a cabo una codificación del número de los coeficientes del bloque actual. Asimismo, el codificador de valor de coeficientes 112 lleva a cabo una codificación de los valores de los coeficientes propiamente dichos usando los números de los coeficientes detectados por la unidad de detección de número de coeficientes 109. Por último, la unidad de generación de flujo de bits 113 genera un flujo de bits definitivo sumando, al flujo de bits, los números de los coeficientes y los valores de los coeficientes, que están codificados, junto con otra información sobre los vectores de movimiento o similar.
Los coeficientes introducidos en la unidad de cuantificación inversa 104 se someten al proceso de cuantificación inversa en la unidad de cuantificación inversa 104, así como al proceso de transformación ortogonal inversa en la unidad de transformación ortogonal inversa 105 y, posteriormente, se transforman en datos de imagen residual predictiva reconstruidos. A continuación, la unidad de cálculo de suma 117 suma los datos de imagen residual predictiva reconstruidos y los datos de imagen predictiva, introducidos desde la unidad de predicción inter-imagen 107, a fin de crear datos de imagen reconstruidos y los almacena en la memoria de trama 106.
Por lo tanto, se ha explicado una secuencia de codificación. Respecto al proceso de codificación de longitud variable de los números de coeficientes que lleva a cabo el codificador de número de coeficientes 111, los detalles se explican en relación con las Fig. 3 a 9, así como en relación con las Tablas 1 a 7.
La Fig. 3A es un diagrama de bloques que muestra, en detalle, una estructura interna del codificador de número de coeficientes 111.
En este caso, se muestra un ejemplo de uso de dos tablas, de una tabla de códigos y de una tabla de VLC, a fin de llevar a cabo una codificación de longitud variable del número de coeficientes. La tabla de códigos es una tabla para transformar el número de coeficientes en un número de código, mientras que la tabla de VLC es una tabla para transformar el número de código, obtenido mediante la tabla de códigos, en un código de longitud variable.
Como se muestra en la Fig. 3A, el codificador de número de coeficientes 111 incluye una unidad de cálculo del valor predictivo 201, una unidad de almacenamiento de tabla de códigos 202, una unidad de selección de tabla de códigos 203, una unidad de selección de tabla de VLC 204, una unidad de almacenamiento de tabla de VLC 205 y un codificador de número de coeficientes 206.
En primer lugar, los números de coeficientes de bloques codificados de la periferia se introducen, desde la unidad de almacenamiento de número de coeficientes 110 que se muestra en la Fig. 1, en la unidad de cálculo del valor predictivo 201. La unidad de cálculo del valor predictivo 201 establece el valor predictivo calculando un valor medio de dichos valores. En lugar del valor medio se puede usar un valor máximo, un valor mínimo o un valor intermedio, como un procedimiento para establecer el valor predictivo.
La Fig. 4A es un diagrama modelo que muestra una relación de posición entre un bloque actual, que se va a codificar, y los bloques codificados, que se van a usar como referencia. En este caso, un bloque X es un bloque actual, mientras que tres bloques en una posición de los bloques B, C y D son bloques de referencia. Respecto a los tres bloques en la posición de los bloques B, C y D, cuando los bloques no están codificados ni situados fuera de la imagen o fuera del fragmento, que es una imagen dividida en una pluralidad de secciones, se realiza un cambio de los bloques de referencia, tal como en la Tabla 1.
\vskip1.000000\baselineskip
TABLA 1
1
\vskip1.000000\baselineskip
Respecto a los símbolos de la Tabla 1, un símbolo \medcirc significa un bloque codificado y un símbolo X significa un bloque que no se puede consultar dado que no está codificado ni situado fuera de la imagen o fuera del fragmento. Por ejemplo, cuando sólo es un bloque C el que no se puede consultar, muestra que los bloques de referencia son A, B y D. La Tabla 1 muestra una relación entre una condición de los bloques de referencia y los bloques que se pueden consultar, no obstante, los patrones no se limitan a esto. Asimismo, si no se encuentran bloques de referencia, se da directamente un valor 0 u otro valor arbitrario como un valor predictivo.
La unidad de selección de tabla de códigos 203 selecciona una tabla de códigos de uso real a partir de una pluralidad de tablas de códigos almacenadas en la unidad de almacenamiento de tabla de códigos 202 según un valor predictivo calculado por la unidad de cálculo del valor predictivo 201.
La Tabla 2 es un ejemplo de una tabla de códigos, en la que los números de coeficientes corresponden a números de códigos, preparada de antemano por la unidad de almacenamiento de tabla de códigos 202.
\vskip1.000000\baselineskip
TABLA 2
2
Según este ejemplo, una tabla de códigos 1, por ejemplo, asigna números de código que son idénticos a los números de coeficientes, mientras que una tabla de códigos 2 asigna los números de código de manera que un valor 2 del número de coeficientes desempeña un papel fundamental. En este caso se preparan cuatro tipos de tablas de códigos. No obstante, la cantidad de tipos de tablas y los valores de las tablas no se limitan a los que se usan en la Tabla 2. Asimismo, la Tabla 3 presenta criterios de selección de tablas de códigos en función de un valor predictivo.
\vskip1.000000\baselineskip
TABLA 3
3
\vskip1.000000\baselineskip
Según este ejemplo, la unidad de selección de tabla de códigos 203 selecciona una tabla de códigos como sigue: consulta una tabla de códigos 1 cuando el valor predictivo calculado por la unidad de cálculo predictivo 201 no es superior a 2, mientras que consulta una tabla de códigos 2 cuando el valor predictivo es superior o igual a 3 e inferior o igual a 5. El modo de asignación de valores predictivos y los elementos de datos de las tablas de referencia no se limitan a los que se usan en la Tabla 3.
La unidad de selección de tabla de VLC 204 selecciona una tabla de VLC de uso real a partir de una pluralidad de tablas de VLC almacenadas en la unidad de almacenamiento de tabla de VLC 205 según el valor predictivo calculado por la unidad de cálculo predictivo 201.
La Tabla 4 es un ejemplo de una tabla de VLC en la que los números de códigos preparados de antemano por la unidad de almacenamiento de tabla de VLC 205 se corresponden con códigos de longitud variable.
\vskip1.000000\baselineskip
TABLA 4
4
\vskip1.000000\baselineskip
Según este ejemplo, una tabla de VLC 1, comparada con una tabla de VLC 4, se diseña con una tendencia en la que una cantidad de bits aumenta si el número de código es alto y disminuye si el número de código es bajo. Muestra que la tabla de VLC 1 puede llevar a cabo una codificación de longitud variable de un modo más eficaz cuando un probabilidad de aparición del número de código se concentra en la zona en la que los valores son bajos, mientras que la tabla de VLC 4 puede llevar a cabo la codificación de un modo más eficaz cuando la probabilidad de aparición se dispersa en la zona en la que los valores son altos. En este caso, se preparan cuatro tipos de tablas. No obstante, la cantidad de tipos de tablas y los valores de las tablas no se limitan a los que se usan en la Tabla 4. Asimismo, la Tabla 5 presenta criterios de selección de tablas de VLC en función de un valor predictivo.
TABLA 5
5
Según este ejemplo, la unidad de selección de tabla de VLC 204 selecciona una tabla de VLC como sigue: consulta una tabla de VLC 1 cuando el valor predictivo calculado por la unidad de cálculo del valor predictivo 201 no es superior a 1, mientras que consulta una tabla de VLC 2 cuando el valor predictivo es superior o igual a 2 e inferior o igual a 3. El modo de asignación de los valores predictivos y los elementos de datos de las tablas de referencia no se limitan a los que se usan en la Tabla 5.
El codificador de número de coeficientes 206 consulta la tabla de códigos y la tabla de VLC, que se seleccionan mediante el proceso anterior, y lleva a cabo una codificación de longitud variable del número de los coeficientes del bloque actual introducido. El codificador de número de coeficientes 206, en primer lugar, transforma el número de coeficientes en un número de código usando la tabla de códigos y, posteriormente, lo transforma en un código de longitud variable equivalente al número de código, usando la tabla de VLC. La Fig. 5 es un diagrama modelo que muestra un ejemplo de codificación cuando el valor predictivo calculado por la unidad de cálculo predictivo 201 es "6" y el número de los coeficientes del bloque actual es "4". Se selecciona una tabla de códigos 3, que se muestra en la Fig. 5, en la unidad de selección de tabla de códigos 203 usando la Tabla 3 y la Tabla 2 según el valor predictivo "6" y, asimismo, se selecciona una tabla de VLC 3, que se muestra en la Fig. 5, en la unidad de selección de tabla de VLC 204 usando la Tabla 5 y la Tabla 4. El codificador de número de coeficientes 206 transforma el número introducido de los coeficientes "4" en un número de código "2" según la tabla de códigos 3 y además crea un flujo de bits definitivo "0100" según la tabla de VLC 3.
A continuación, se explican los detalles relativos a un proceso de almacenamiento de número de coeficientes que lleva a cabo la unidad de almacenamiento de número de coeficientes 110. La Fig. 6A es un diagrama modelo que muestra bloques de referencia respecto a un macrobloque actual que se va a codificar en la unidad de cálculo del valor predictivo 201. En este caso, un recuadro negro que contiene los bloques codificados como B1 a B16 muestra el macrobloque actual, mientras que una sección sombreada muestra los bloques de referencia respecto al macrobloque actual. Asimismo, los números asignados a los bloques indican el orden de codificación del macrobloque.
La unidad de almacenamiento de número de coeficientes 110, por ejemplo, en el momento de iniciar el procesamiento del macrobloque actual, que se muestra en la Fig. 6A, almacena los números de coeficientes detectados por la unidad de detección de número de coeficientes 109, al menos de los bloques de referencia que se muestran en la Fig. 6A que son necesarios para el macrobloque actual. Concretamente, la unidad de almacenamiento de número de coeficientes 110 almacena los números de coeficientes detectados según los bloques del macrobloque actual (B1, B2, B3,...y B16) que se van a procesar secuencialmente. Por ejemplo, cuando el bloque actual es un bloque B6, la unidad de almacenamiento de número de coeficientes 110 almacena los números de cada coeficiente de B1, B2, B3, B4 y B5, que ya están procesados, además de los bloques de referencia que se muestran sombreados en la Fig. 6A. Posteriormente, la unidad de almacenamiento de número de coeficientes 110 almacena el número de coeficientes de dicho bloque B6 cuando lo detecta la unidad de detección de número de coeficientes 109. Por lo tanto, la unidad de almacenamiento de número de coeficientes 110 almacena los números de los coeficientes detectados en función de los bloques de los macrobloques actuales (B1, B2, B3,... y B16) que se van a procesar secuencialmente.
Por lo tanto, por ejemplo, cuando el macrobloque actual es un macrobloque MB11, que se muestra en la Fig. 2, la unidad de almacenamiento de número de coeficientes 110 almacena al menos los números de los coeficientes de los bloques de una fila inferior y de una columna derecha (bloques sombreados) del macrobloque MB11, como se muestra en la Fig. 7A cuando termina el procesamiento del macrobloque MB11 y pasa al macrobloque siguiente MB12. A continuación, cuando termina el procesamiento del macrobloque MB12 y el proceso pasa al macrobloque siguiente MB13, la unidad de almacenamiento de número de coeficientes 110 almacena al menos los números de los coeficientes de los bloques situados en la fila inferior y en la columna derecha del macrobloque MB12 del mismo modo, así como los números de coeficientes de los bloques de la fila inferior del macrobloque MB11 (bloques sombreados) como se muestra en la Fig. 7B.
Por ejemplo, cuando el macrobloque actual está situado en el borde derecho de la imagen, como el macrobloque MB9 que se muestra en la Fig. 2B, la unidad de almacenamiento de número de coeficientes 110 almacena al menos los números de coeficientes de los bloques de la fila inferior del macrobloque MB9 (bloques sombreados), como se muestra en la Fig. 7B, cuando termina el procesamiento del macrobloque MB9 y el proceso pasa al macrobloque siguiente MB10.
Cuando el macrobloque actual está situado en el borde inferior de la imagen, como el MBm que se muestra en la Fig. 2B, la unidad de almacenamiento de número de coeficientes 110 almacena al menos los números de los coeficientes de los bloques de la columna derecha del macrobloque MBm, como se muestra en la Fig. 7C, cuando termina el procesamiento del macrobloque MBm y el proceso pasa al macrobloque siguiente MBn.
Por lo tanto, la unidad de almacenamiento de número de coeficientes 110 almacena los números de coeficientes de los bloques que se van a consultar. En un momento arbitrario, se puede borrar la información sobre el número de coeficientes de los bloques distintos de los que se van a almacenar, en la explicación anterior, si ya no se usa como referencia. Por ejemplo, se puede borrar cuando el proceso pasa al macrobloque siguiente, así como mientras se procesa el macrobloque. Asimismo, los números de coeficientes de los bloques que ya no se usan como referencia no siempre necesitan un proceso de borrado. Por ejemplo, la unidad de almacenamiento de número de coeficientes 110 puede identificar los números de coeficientes de los bloques que ya no se van a consultar como innecesarios y puede escribir sobre ellos si es necesario.
Se ha explicado anteriormente que se pueden consultar los números de los coeficientes de los bloques codificados almacenándolos en la unidad de almacenamiento de número de coeficientes 110. No obstante, si es necesario, se puede usar un sistema para calcular el número de coeficientes almacenando, no los valores del número de los coeficientes propiamente dichos, sino, por ejemplo, los valores de los coeficientes de los bloques que se transforman en componentes de frecuencia espacial.
En el presente ejemplo, se puede, como se ha mencionado anteriormente, calcular un valor predictivo usando los números de los coeficientes de los bloques adyacentes codificados a fin de llevar a cabo una codificación del número de coeficientes, de un modo eficaz, incluso de las imágenes cuya probabilidad de aparición de los coeficientes no es uniforme, consultando la tabla de códigos y la tabla de VLC, de un modo adaptado, según el valor predictivo.
Asimismo, como se ha descrito anteriormente, puede equivaler a una fluctuación de una posición en la que la probabilidad de aparición del número de coeficientes es la más alta en relación con la tabla de códigos cambiándolas según el valor predictivo. Asimismo puede equivaler al tamaño de la dispersión de la probabilidad de aparición del número de coeficientes cambiando las tablas de VLC como referencia según el valor predictivo. Por consiguiente, se puede llevar a cabo una codificación del número de coeficientes de un modo eficaz.
Asimismo, en la unidad de cálculo del valor predictivo 201 se pueden usar sólo dos bloques situados en la posición de los bloques B y D de un bloque actual X que se va a codificar, como se muestra en la Fig. 4B, en lugar de usar tres bloques contiguos como bloques de referencia, como se muestra en la Fig. 4A. Se realiza un cambio relativo a los bloques de referencia, como en la Tabla 6, cuando cualquiera de los dos bloques en la posición de los bloques B y D no está codificado ni situado fuera de la imagen o fuera del fragmento.
\vskip1.000000\baselineskip
TABLA 6
6
\vskip1.000000\baselineskip
Respecto a los símbolos de la Tabla 6, un símbolo \medcirc significa un bloque codificado y un símbolo X significa un bloque que no se puede consultar dado que no está codificado ni situado fuera de la imagen o fuera del fragmento, como en la Tabla 1. La Tabla 6 muestra una relación entre condiciones de los bloques de referencia y los bloques que se pueden consultar, no obstante los patrones no se limitan a esto. Si no se encuentran bloques de referencia, se puede dar directamente un valor 0 u otro valor arbitrario como un valor predictivo. En este caso, la unidad de almacenamiento de número de códigos 110 puede almacenar sólo los números de coeficientes detectados en la unidad de detección de número de coeficientes 109, al menos de los bloques de referencia que se muestran en la Fig. 6B, que son necesarios para el macrobloque actual.
Por ejemplo, como un procedimiento para calcular un valor predictivo en la unidad de cálculo del valor predictivo 201, se puede seleccionar un procedimiento óptimo según cada secuencia, cada GOP, cada imagen o cada fragmento en lugar de fijar el procedimiento de uso de uno cualquiera de un valor medio, un valor máximo, un valor mínimo o un valor intermedio. El código para identificar el procedimiento de cálculo seleccionado se suma a una sección de cabecera de la secuencia, del GOP o de la imagen o el fragmento. El fragmento es una imagen dividida en una pluralidad de secciones. Una sección de una columna en una dirección transversal seccionada, macrobloque a macrobloque, es un ejemplo de esto.
Asimismo, se puede seleccionar, por ejemplo, uno cualquiera de un valor medio, un valor máximo, un valor mínimo o un valor intermedio según el valor medio del número de los coeficientes de los bloques de referencia codificados. La Tabla 7 muestra sus criterios de selección.
TABLA 7
7
Según este ejemplo, un valor mínimo de los números de los coeficientes de más de un bloque de referencia se aplica como un valor predictivo cuando, por ejemplo, un valor medio es inferior o igual a 4 y se aplica un valor medio como un valor predictivo cuando el valor medio es superior o igual a 5 e inferior o igual a 8. Los efectos positivos de la mejora del rendimiento de codificación se pueden obtener en ambos casos: seleccionando un valor máximo, dado que una probabilidad de que aparezca un número más alto de coeficientes es superior en los bloques en los que la etapa de cuantificación es pequeña y los movimientos son complicados, y seleccionando un valor mínimo dado que una probabilidad de que aparezca un numero más bajo de coeficientes es superior en los bloques en los que la etapa de cuantificación es inversamente mayor y el movimiento es sencillo. El modo de asignación del valor medio o los elementos de datos que se indican como procedimientos de cálculo del valor predictivo no se limitan a los que se indican en la Tabla 7.
El codificador de número de coeficientes 111, del presente ejemplo, lleva a cabo una codificación de longitud variable del valor del número de coeficientes propiamente dichos. La unidad de cálculo de diferencia 207 puede, no obstante, calcular un valor diferencial entre el valor predictivo, calculado en la unidad de cálculo del valor predictivo 201, y el valor de número de coeficientes que se introduce, a fin de llevar a cabo una codificación del valor obtenido con el mismo proceso que se ha descrito en el ejemplo anterior. Los efectos positivos se pueden obtener para la mejora del rendimiento de codificación de una imagen en la que un cambio del número de coeficientes entre los bloques circundantes resulta menor cuando los cambios de luminancia y de crominancia son monótonos en la pantalla.
Asimismo, el codificador de número de coeficientes 111 lleva a cabo una codificación cambiando tanto la tabla de códigos como la tabla de VLC según el valor predictivo en función del número de coeficientes de los bloques contiguos. No obstante, dichas tablas se pueden fijar en lugar de cambiarlas. Esto se puede realizar usando sólo una unidad de almacenamiento que tenga o bien un tipo determinado de tablas de código o bien un tipo determinado de tablas de VLC, en lugar de usar unidades de selección de tabla. La Fig. 8A es un diagrama de bloques que muestra una estructura del codificador de número de coeficientes 111 para llevar a cabo una codificación de longitud variable del número de coeficientes fijando sólo una tabla de códigos. Asimismo, la Fig. 8B es un diagrama de bloques que muestra una estructura del codificador de número de coeficientes 111 para llevar a cabo una codificación de longitud variable del número de coeficientes fijando sólo una tabla de VLC. En caso de que se fije sólo una tabla de códigos, el codificador de número de coeficientes 111, como se muestra en la Fig. 8A, incluye una unidad de almacenamiento de tabla de códigos 301 en lugar de la unidad de almacenamiento de tabla de códigos 202 y la unidad de selección de tabla de códigos 203 que se muestran en la Fig. 3A. La unidad de almacenamiento de tabla de códigos 301 tiene un tipo de tabla de códigos. Por lo tanto, el codificador de número de coeficientes 206 primero transforma el número de coeficientes en un número de código, usando una tabla de códigos almacenada en la unidad de almacenamiento de tabla de códigos 301 y posteriormente transforma el número de código en un código de longitud variable, usando una tabla de VLC seleccionada por la unidad de selección de tabla de VLC 204.
Por otro lado, el codificador de número de coeficientes 111, como se muestra en la Fig. 8B, incluye una unidad de almacenamiento de tabla de VLC 302 en lugar de la unidad de almacenamiento de tabla de VLC 205 y la unidad de selección de tabla de VLC 204 que se muestran en la Fig. 3A. La unidad de almacenamiento de tabla de VLC 302 tiene un tipo de tabla de VLC. Por lo tanto, el codificador de número de coeficientes 206, en primer lugar, transforma el número de coeficientes en un número de código, usando la tabla de códigos seleccionada por la unidad de selección de tabla de códigos 203 y, posteriormente, transforma el número de código en un código de longitud variable usando la tabla de VLC almacenada en la unidad de almacenamiento de tabla de VLC 302.
Por lo tanto, fijando la tabla de códigos o la tabla de VLC en lugar de cambiar entre ellas, se puede reducir el número de tablas de cambio o se puede reducir la cantidad de memoria para almacenar una pluralidad de tablas, si bien los efectos del rendimiento de codificación disminuyen más o menos.
Asimismo, el codificador de número de coeficientes 111 puede llevar a cabo una codificación de longitud variable cambiando sólo las tablas de VLC según el valor predictivo en función de los números de coeficientes de los bloques contiguos, sin usar tablas de códigos. La Fig. 8C es un diagrama de bloques que muestra una estructura del codificador de número de coeficientes 111 para llevar a cabo una codificación de longitud variable del número de coeficientes usando sólo las tablas de VLC, sin tablas de códigos. En este caso, como se muestra en la Fig. 8C, el codificador de número de coeficientes 111 no incluye ni la unidad de almacenamiento de tabla de códigos 202 ni la unidad de selección de tabla de códigos 203. El codificador de número de coeficientes 111 selecciona una tabla de VLC de uso real a partir de una pluralidad de tablas de VLC almacenadas en la unidad de almacenamiento de tabla de VLC 304. Posteriormente, el codificador de número de coeficientes 206 transforma directamente el número de coeficientes en un código de longitud variable sin transformarlo en el número de código como se ha mostrado anteriormente. En este caso, en los ejemplos de tablas de VLC que se muestran en la Tabla 4, la parte que se muestra como números de códigos se da como valores de número de coeficientes.
Asimismo, el caso en el que el codificador de número de coeficientes 111 lleva a cabo una codificación de longitud variable usando un valor diferencial entre un valor predictivo y un valor de número de coeficientes, en lugar de un valor de número de coeficientes se puede tratar del mismo modo. La Fig. 9 es un diagrama de bloques que muestra, como un ejemplo de ello, una estructura del codificador de número de coeficientes 111 para llevar a cabo una codificación variable de un valor diferencial entre el valor predictivo y el número de coeficientes fijando tanto una tabla de códigos como una tabla de VLC. En este caso, el codificador de número de coeficientes 111, como en la Fig. 9, incluye una unidad de almacenamiento de tabla de códigos 301 en lugar de la unidad de almacenamiento de tabla de códigos 202 y la unidad de selección de tabla de códigos 203 que se muestran en la Fig. 3A, así como una unidad de almacenamiento de tabla de VLC 302 en lugar de la unidad de almacenamiento de tabla de VLC 205 y la unidad de selección de tabla de VLC 204. La unidad de almacenamiento de tabla de códigos 301 tiene un tipo de tablas de códigos, mientras que la unidad de almacenamiento de tabla de VLC 302 tiene un tipo de tablas de VLC. Por lo tanto, el codificador de número de coeficientes 206, en primer lugar, transforma el valor diferencial entre el número de coeficientes y el valor predictivo en un número de código usando la tabla de códigos almacenada en la unidad de almacenamiento de tabla de códigos 301 y, posteriormente, transforma el número de código en un código de longitud variable usando la tabla de VLC almacenada en la unidad de almacenamiento de tabla de VLC 302.
\vskip1.000000\baselineskip
Segundo ejemplo
La estructura del dispositivo de codificación de imágenes y el esquema del proceso de codificación, según el presente ejemplo, son exactamente iguales a los que se han descrito en el primer ejemplo, a excepción del codificador de número de coeficientes 111 que se muestra en la Fig. 1. En este caso, los detalles, relativos al proceso de codificación de longitud variable del número de coeficientes que lleva a cabo el codificador de número de coeficientes 111 del segundo ejemplo, se explican usando las Figs. 10 y 11.
La Fig. 10A es un diagrama de bloques que muestra en detalle una estructura interna del codificador de número de coeficientes 111.
Como se muestra en la Fig. 10A, el codificador de número de coeficientes 111 incluye una unidad de generación de tabla de códigos 701 en lugar de la unidad de almacenamiento de tabla de códigos 202 y la unidad de selección de tabla de códigos 203 que se muestran en la Fig. 3A. Los números de coeficientes de los bloques codificados se introducen en la unidad de generación de tabla de códigos 701 desde la unidad de almacenamiento de número de coeficientes 110. La unidad de generación de tabla de códigos 701 cuenta la cantidad de los bloques codificados que tienen el mismo número de coeficientes que el valor del número de coeficientes de cada uno de los valores y crea tablas de códigos asignando números de código en orden descendente empezando desde un número de coeficientes que registró la mayor frecuencia en función de la estadística. La Fig. 11A es un diagrama modelo que presenta una posición de los bloques codificados propuestos como estadística. En este caso, un P1, un P3 y un P4 son imágenes en las que se lleva a cabo una codificación de predicción inter-imagen, mientras que un I2 es una imagen en la que se lleva a cabo una codificación de predicción intra-imagen. Suponiendo que un bloque actual pertenece a la P3, se proponen como estadística todos los bloques que se codifican usando el mismo procedimiento que el que se usa para el bloque actual, contenidos en la P1, que es una imagen justo anterior a la imagen actual. El caso en el que los bloques equivalentes de una imagen que incluye los bloques codificados de la imagen actual se proponen como estadística, como en la Fig. 11B, se puede tratar del mismo modo. Asimismo, se puede usar una tabla correspondiente a la condición inicial en orden ascendente empezando desde el número 0, como una tabla de códigos cuando no existen bloques codificados equivalentes a una imagen que se puede proponer como estadística. En este caso, los bloques equivalentes a una imagen se proponen como estadística, no obstante, el caso en el que la cantidad de bloques, distinta de esta, se usa como un parámetro se puede tratar del mismo modo. En caso de aplicar un procedimiento de referencia, como se muestra en la Fig. 11A, a fin de generar una tabla de códigos, la tabla sólo se puede generar una vez iniciada la codificación de la imagen actual.
Entretanto, los números de coeficientes de los bloques codificados situados en la periferia se introducen en la unidad de cálculo del valor predictivo 201. La unidad de cálculo del valor predictivo 201 establece el valor predictivo calculando un valor medio en función de dichos valores, como se ha descrito en el primer ejemplo. En lugar del valor medio se puede usar un valor máximo, un valor mínimo o un valor intermedio como un procedimiento para establecer el valor predictivo. Los bloques codificados que se usan como referencia se establecen según la Tabla 1 usando tres bloques en la posición de los bloques B, C y D del bloque actual X que se muestra en la Fig. 4A del primer ejemplo. La Tabla 1 muestra una relación entre condiciones de los bloques de referencia y los bloques que se pueden consultar, no obstante, los patrones no se limitan a esto. Cuando no se encuentran bloques de referencia se da directamente un valor 0 u otro valor arbitrario, como un valor predictivo.
El valor predictivo calculado por la unidad de cálculo del valor predictivo 201 se usa sólo en la unidad de selección de tabla de VLC 204. La unidad de selección de tabla de VLC 204 selecciona, como en el primer ejemplo, según dicho valor predictivo, una tabla de VLC para codificar el número de coeficientes a partir de una pluralidad de tablas de VLC preparadas de antemano en la unidad de almacenamiento de tabla de VLC 205, como se muestra en la Tabla 4, según los criterios de selección que se muestran en la Tabla 5.
El codificador de número de coeficientes 206 consulta la tabla de códigos creada por la unidad de generación de tabla de códigos 701 y la tabla de VLC seleccionada por la unidad de selección de tabla de VLC 204 y, posteriormente, lleva a cabo una codificación de longitud variable del número de los coeficientes del bloque actual propuesto para codificar que se introduce del mismo modo que se ha descrito en el primer ejemplo.
Por lo tanto, en el primer ejemplo, se crea una tabla de códigos tomando estadísticas de los números de los coeficientes de los bloques codificados, además, se establece una tabla de VLC según el valor predictivo calculado a partir del número de los coeficientes de los bloques codificados y, consultando ambas tablas, se puede llevar a cabo una codificación del número de coeficientes, de un modo eficaz, incluso de una imagen cuya frecuencia de aparición de coeficientes es irregular.
Como en el primer ejemplo, también se pueden establecer los bloques codificados que se usan como referencia en la unidad de cálculo del valor predictivo 201, al igual que en el primer ejemplo según la Tabla 6, usando sólo dos bloques situados en la posición de los bloques B y D del bloque actual X, que se muestra en la Fig. 4B, en lugar de usar tres bloques contiguos, como se muestra en la Fig. 4A. La Tabla 6 muestra una relación entre condiciones de los bloques de referencia y los bloques que se pueden consultar, no obstante, los patrones no se limitan a esto. Cuando no se encuentran bloques de referencia se da directamente un valor 0 u otro valor arbitrario, como un valor predictivo.
Como en el primer ejemplo, se puede seleccionar, por ejemplo, uno cualquiera de un valor medio, un valor máximo, un valor mínimo o un valor intermedio según un valor medio de los números de los coeficientes de los bloques de referencia codificados, como un procedimiento para calcular un valor predictivo en la unidad de cálculo del valor predictivo 201, como en el primer ejemplo. La Tabla 7 muestra los criterios de selección, no obstante, un modo de asignación del valor medio y los elementos de datos que se indican como procedimientos de cálculo del valor predictivo no se limitan a esto.
En el presente ejemplo, el codificador de número de coeficientes 111 lleva a cabo una codificación de longitud variable del valor del número de coeficientes propiamente dicho. No obstante, como en el primer ejemplo, como se muestra en la Fig. 10, el restador 207 puede calcular un valor diferencial entre el valor predictivo calculado por la unidad de cálculo del valor predictivo 201 y el valor introducido del número de coeficientes y llevar a cabo una codificación de longitud variable del valor obtenido mediante el mismo proceso que se ha descrito anteriormente.
Asimismo, en el presente ejemplo el codificador de número de coeficientes 111 lleva a cabo una codificación de longitud variable cambiando las tablas de VLC según el valor predictivo en función de los números de coeficientes de los bloques contiguos. No obstante, se puede fijar la tabla en lugar de cambiar las tablas de VLC, como en el primer ejemplo. En este caso, esto se realiza usando sólo una unidad de almacenamiento de tabla de VLC que tiene un tipo determinado de tablas de VLC, en lugar de usar la unidad de selección de tabla de VLC.
\vskip1.000000\baselineskip
Tercer ejemplo
La estructura del dispositivo de codificación de imágenes y el esquema del proceso de codificación, según el presente ejemplo, son exactamente iguales a los que se han descrito en el primer ejemplo, a excepción del codificador de número de coeficientes 111 que se muestra en la Fig. 1. En este caso, los detalles, relativos al proceso de codificación de longitud variable del número de coeficientes que lleva a cabo el codificador de número de coeficientes 111 del tercer ejemplo, se explican usando las Figs. 12A y 12B, así como las Tablas 8 y 9.
La Fig. 12A es un diagrama de bloques que muestra en detalle una estructura interna del codificador de número de coeficientes 111.
Como se muestra en la Fig. 12A, el codificador de número de coeficientes 111 no incluye la unidad de cálculo del valor predictivo 201 que se muestra en la Fig. 3A. Por lo tanto, una unidad de selección de tabla de códigos 901 y una unidad de selección de tabla de VLC 902 seleccionan una tabla de uso real de manera diferente al primer ejemplo usando directamente los números de los coeficientes de los bloques codificados, sin usar un valor predictivo. Respecto a los bloques codificados que se usan como referencia, como se muestra en la Fig. 4B, sólo se usan dos bloques en la posición del bloque B (superior) y del bloque D (izquierda) del bloque actual X. No obstante, cuando los bloques situados en la parte superior y en la izquierda no están codificados ni situados fuera de la imagen o fuera del fragmento, se puede dar un valor 0 u otro valor arbitrario.
La Tabla 8 muestra un procedimiento de selección de una tabla de códigos en la unidad de selección de tabla de códigos 901.
TABLA 8
8
La unidad de selección de tabla de códigos 901 clasifica en dos grupos el número respectivo de coeficientes de los bloques situados en la parte superior y en la izquierda del bloque actual, como se muestra en la Tabla 8, según el valor y selecciona una tabla usando una combinación de las cuatro formadas de ese modo. Por ejemplo, se selecciona una tabla de códigos 2 cuando el número de los coeficientes del bloque izquierdo es 3 y el número de los coeficientes del bloque superior es 8. El procedimiento para clasificar el número de los coeficientes de los bloques superior e izquierdo y el modo de asignación de tablas de código no se limitan a los que se usan en la Tabla 8.
La Tabla 9 muestra un procedimiento de selección de una tabla de VLC en la unidad de selección de tabla de VLC 902.
TABLA 9
9
La unidad de selección de tabla de VLC 902 selecciona una tabla de VLC como referencia real usando el procedimiento de selección, como se muestra en la Tabla 9, como en el caso de la unidad de selección de tabla de códigos 901.
El codificador de número de coeficientes 206 consulta la tabla de códigos seleccionada por la unidad de selección de tabla de códigos 901 y la tabla de VLC seleccionada por la unidad de selección de tabla de VLC 902, a fin de llevar a cabo una codificación de longitud variable del número de coeficientes del bloque actual que se introduce del mismo modo que en el primer ejemplo.
Por consiguiente, en el presente ejemplo, clasificando los números de coeficientes de los bloques codificados situados en la parte superior y en la izquierda del bloque actual en grupos "n" según el valor consultando la tabla de códigos y la tabla de VLC según la combinación de modos N x N formada de ese modo y cambiando entre ellas, de un modo adaptado, se puede llevar a cabo, de un modo eficaz, la codificación del número de coeficientes de la imagen cuya frecuencia de aparición de coeficientes es irregular.
En el presente ejemplo, el codificador de número de coeficientes 111 lleva a cabo una codificación de longitud variable del valor del número de coeficientes propiamente dicho. La unidad de cálculo de diferencia 207, puede, no obstante, calcular un valor diferencial entre el valor predictivo calculado en la unidad de cálculo del valor predictivo 201, como se muestra en la Fig. 12B del primer ejemplo, y un valor del número de coeficientes introducidos a fin de llevar a cabo una codificación de longitud variable.
Asimismo, en el presente ejemplo, el codificador de número de coeficientes 111 lleva a cabo una codificación de longitud variable, cambiando tanto la tabla de VLC como la tabla de códigos según los números de los coeficientes de los bloques contiguos. No obstante, se puede fijar cualquiera de dichas tablas en lugar de cambiarlas, como en el primer ejemplo. En este caso, la codificación de longitud variable se realiza usando una unidad de almacenamiento que tiene o bien un tipo determinado de tablas de códigos o bien un tipo determinado de tablas de VLC, en lugar de usar unidades de selección de tabla. Además, se puede llevar a cabo una codificación de longitud variable cambiando sólo las tablas de VLC según los números de los coeficientes de los bloques contiguos, sin usar las tablas de códigos, como en el primer ejemplo.
\vskip1.000000\baselineskip
Cuarto ejemplo
La estructura del dispositivo de codificación de imágenes y el esquema del proceso de codificación, según el presente ejemplo, son exactamente iguales a los que se han descrito en el primer ejemplo, a excepción del codificador de número de coeficientes 111 que se muestra en la Fig. 1. En este caso, los detalles, relativos al proceso de codificación de longitud variable del número de coeficientes que lleva a cabo el codificador de número de coeficientes 111 del cuarto ejemplo, se explican usando las Figs. 13 y 14.
La Fig. 13A es un diagrama de bloques que muestra en detalle una estructura interna del codificador de número de coeficientes 111.
El codificador de número de coeficientes 111, como se muestra en la Fig. 13A, incluye una unidad de selección de tabla 1001 en lugar de la unidad de cálculo del valor predictivo 201, de la unidad de selección de tabla de códigos 203 y de la unidad de selección de tabla de VLC 204 que se muestran en la Fig. 3A. La unidad de selección de tabla 1001 usa directamente el número de coeficientes de los bloques codificados sin usar un valor predictivo, a fin de seleccionar tablas de uso real evaluando tanto una tabla de códigos como una tabla de VLC a la vez, lo que difiere del primer ejemplo. Respecto a los bloques codificados que se usan como referencia, los tres bloques en la posición de los bloques B, C y D del bloque actual X se usan como en la Fig. 4A. No obstante, cuando los bloques situados como tal no están codificados ni situados fuera de la imagen o fuera del fragmento, se puede dar un valor 0 u otro valor arbitrario.
La unidad de selección de tabla 1001 calcula la longitud total de un flujo de bits que se crea como consecuencia de codificar los números de los coeficientes de los bloques de referencia usando tanto la tabla de códigos como la tabla de VLC a la vez y lo establece como un valor de evaluación. La Fig. 14 es un diagrama modelo que muestra un procedimiento para llevar a cabo una codificación de los números de coeficientes de los tres bloques de referencia usando las tablas de códigos y las tablas de VLC y calcular la longitud total del flujo de bits obtenido a fin de establecerlo como el valor de evaluación. Por lo tanto, la unidad de selección de tabla 1001 lleva a cabo este proceso en todas las combinaciones de las tablas de códigos y las tablas de VLC almacenadas tanto en la unidad de almacenamiento de tabla de códigos 202 como en la unidad de almacenamiento de tabla de VLC 205 y selecciona una combinación de una tabla de códigos y de una tabla de VLC en la que el valor de evaluación obtenido es el menor.
El codificador de número de coeficientes 206 consulta la tabla de códigos y la tabla de VLC, seleccionadas por la unidad de selección de tabla 1001, y lleva a cabo una codificación de longitud variable del número de los coeficientes del bloque actual que se introduce del mismo modo que se ha descrito en el primer ejemplo.
En el presente ejemplo, como se ha mostrado anteriormente, se puede llevar a cabo la codificación de los números de los coeficientes de los bloques contiguos que se codifican usando la tabla de códigos y la tabla de VLC y se puede establecer la longitud total del flujo de bits en ese momento como un valor de evaluación, a fin de llevar a cabo, de un modo eficaz la codificación del número de coeficientes incluso de la imagen cuya frecuencia de aparición de coeficientes es irregular.
Respecto a los bloques codificados que se usan como referencia, el caso en el que se usan sólo dos bloques en la posición de los bloques B y D, en lugar de usar tres bloques en la posición de los bloques B, C y D del bloque actual X, como se muestra en la Fig. 4A, se puede tratar del mismo modo. En este sentido, cuando los bloques situados en la parte superior y en la izquierda no están codificados ni situados fuera de la imagen o fuera del fragmento, se puede dar un valor 0 u otro valor arbitrario.
En el presente ejemplo, el codificador de número de coeficientes 111 lleva a cabo una codificación de longitud variable del valor del número de coeficientes propiamente dicho. No obstante, como en el primer ejemplo, es posible, como se muestra en la Fig. 13, que la unidad de cálculo del valor diferencial 207 calcule un valor diferencial entre el valor predictivo, calculado por la unidad de cálculo del valor predictivo 201, y el valor introducido del número de coeficientes y que lleve a cabo una codificación de longitud variable del valor obtenido mediante el mismo proceso que se ha descrito en los ejemplos mencionados anteriormente.
Asimismo, en el presente ejemplo, la tabla de códigos y la tabla de VLC se van a cambiar en el codificador de número de coeficientes 111, no obstante, se puede fijar cualquiera de ellas en lugar de cambiar entre las mismas.
\vskip1.000000\baselineskip
Quinto ejemplo
La Fig. 15 es un diagrama de bloques que muestra una estructura de un dispositivo de codificación de imágenes del quinto ejemplo que usa un procedimiento de codificación de imágenes según la presente invención. Una secuencia del proceso de codificación es exactamente igual a la del primer ejemplo. No obstante, la diferencia es que el presente ejemplo no usa la unidad de almacenamiento de número de coeficientes 110, sino que hace uso de un modo de predicción inter-imagen, en el caso de codificación de predicción inter-imagen, y un modo de predicción intra-imagen, en el caso de codificación de predicción intra-imagen, como información de referencia de un codificador de número de coeficientes 1201, en lugar de usar el número de los coeficientes de los bloques codificados como en el primer ejemplo.
En este caso, los detalles relativos a una explicación del proceso de codificación de longitud variable en el codificador de número de coeficientes 1201, que se muestra en la Fig. 15, se explican usando la Fig. 16, la Tabla 10 y la Tabla 11.
La Fig. 16 es un diagrama de bloques que muestra en detalle una estructura interna del codificador de número de coeficientes 1201.
Como se muestra en la Fig. 16, el codificador de número de coeficientes 1201 no incluye la unidad de cálculo del valor predictivo 201, que se muestra en la Tabla 3A. Un modo de predicción inter-imagen se introduce desde una unidad de predicción inter-imagen 107 y un modo de predicción intra-imagen se introduce desde una unidad de predicción intra-imagen 108 en una unidad de selección de tabla de códigos 1301 y en una unidad de selección de tabla de VLC 1302. Por consiguiente, la unidad de selección de tabla de códigos 1301 selecciona una tabla en función del modo: el modo de predicción inter-imagen para la predicción inter-imagen y el modo de predicción intra-imagen para la predicción intra-imagen. La Tabla 10 muestra un procedimiento de selección de tablas de códigos en la unidad de selección de tablas de códigos 1301.
TABLA 10
10
Por ejemplo, en el caso en que la imagen actual se codifica usando predicción inter-imagen, se selecciona una tabla de códigos 2 para la codificación de longitud variable del número de coeficientes cuando se selecciona una predicción del bloque actual con una dimensión de 8 x 8. Los elementos de datos no se limitan a los que se usan en la Tabla 10. La Tabla 11 muestra un procedimiento de selección de la unidad de selección de tabla de VLC 1302.
TABLA 11
11
La unidad de selección de tabla de VLC 1302 selecciona una tabla de VLC de referencia real usando una procedimiento de selección que se muestra en la Tabla 11, como en el caso de la unidad de selección de tabla de códigos 1301.
El codificador de número de coeficientes 206 consulta la tabla de códigos, seleccionada por la unidad de selección de tabla de códigos 1301, y una tabla de VLC, seleccionada por la unidad de selección de tabla de VLC 1302, y lleva a cabo una codificación de longitud variable de los números de los coeficientes del bloque actual que se introduce del mismo modo que en el primer ejemplo.
En el presente ejemplo, como se ha mostrado anteriormente, se muestra un procedimiento de codificación que realiza una codificación eficaz del número de coeficientes incluso de la imagen cuya frecuencia de aparición de coeficientes es irregular, consultando la tabla de códigos y la tabla de VLC cambiando entre ellas, de un modo adaptado, según el modo: modo de predicción inter-imagen, para la codificación de predicción inter-imagen, y modo de predicción intra-imagen, para la codificación de predicción intra-imagen.
En el presente ejemplo, el codificador de número de coeficientes 1201 lleva a cabo una codificación de longitud variable del valor del número de coeficientes propiamente dicho, como en el primer ejemplo. No obstante, como en el primer ejemplo, se puede establecer un valor predictivo usando los números de los coeficientes de los bloques contiguos que están codificados, como en el primer ejemplo, y obtener un valor diferencial entre dicho valor predictivo y el valor introducido del número de coeficientes, a fin de llevar a cabo una codificación de longitud variable del valor obtenido del mismo modo que en los ejemplos que se han mencionado anteriormente.
Asimismo, en el presente ejemplo el codificador de número de coeficientes 1201 lleva a cabo una codificación de longitud variable cambiando tanto la tabla de códigos como la tabla de VLC. No obstante se puede fijar cualquiera de ellas en lugar de cambiar cualquiera de ellas o las dos. En este caso, esto se realiza preparando sólo una unidad de almacenamiento que tiene un tipo determinado de tablas de códigos o un tipo determinado de tablas de VLC en lugar de usar unidades de selección de tablas.
\vskip1.000000\baselineskip
Primera forma de realización
La Fig. 17 es un diagrama de bloques que muestra una estructura de una forma de realización de un dispositivo de decodificación de imágenes que usa un procedimiento de decodificación de imágenes según la presente invención. En este caso se introducirá el flujo de bits creado por el dispositivo de codificación de imágenes, según el primer
ejemplo.
El dispositivo de decodificación de imágenes incluye una unidad de análisis de flujo de bits 1401, una unidad de almacenamiento de número de coeficientes 1402, un decodificador de número de coeficientes 1403, un decodificador de valor de coeficientes 1404, una unidad de cuantificación inversa 1405, una unidad de transformación ortogonal inversa 1406, una memoria de trama 1407, un decodificador de predicción inter-imagen 1408, un decodificador de predicción intra-imagen 1409 y un conmutador 1410.
La unidad de análisis de flujo de bits 1401 extrae, del flujo de bits introducido, diversos tipos de información, tal como un modo de codificación, vectores de movimiento que se usan para codificar, un flujo de bits del número de coeficientes (el número de coeficientes que muestra un componente de frecuencia espacial que tiene un valor distinto de 0 de cada bloque) y diversos tipos de información sobre el flujo de bits del valor de los coeficientes. La unidad de almacenamiento de número de coeficientes 1402 almacena los números de los coeficientes de los bloques decodificados. El decodificador de número de coeficientes 1403 decodifica el flujo de bits de los números de coeficientes consultando los números de los coeficientes de los bloques decodificados.
El decodificador de valor de coeficientes 1404 decodifica el flujo de bits del valor de los coeficientes usando los números de coeficientes decodificados por el decodificador de número de coeficientes 1403. La unidad de cuantificación inversa 1405 lleva a cabo una cuantificación inversa de los coeficientes decodificados. La unidad de transformación ortogonal inversa 1406 lleva a cabo una transformación ortogonal inversa de los datos cuantificados inversamente y los transforma en datos de imagen residual predictiva.
El decodificador de predicción inter-imagen 1408 crea datos de imagen con compensación de movimiento en función de los vectores de movimiento extraídos por la unidad de análisis de flujo de bits 1401, así como imágenes decodificadas o similar cuando un macrobloque actual que se va a decodificar se codifica con predicción inter-imagen. Una unidad de cálculo de suma 1411 suma los datos de imagen residual predictiva introducidos desde la unidad de transformación ortogonal inversa 1406 y los datos de imagen con compensación de movimiento introducidos desde el decodificador de predicción inter-imagen 1408 a fin de crear datos de imagen decodificada. La memoria de trama 1407 almacena los datos de imagen decodificada creados.
El decodificador de predicción intra-imagen 1409 lleva a cabo una predicción intra-imagen usando información sobre los bloques decodificados adyacentes a fin de crear datos de imagen decodificada cuando el macrobloque actual se codifica con predicción intra-imagen.
A continuación, sigue una explicación de un funcionamiento de un dispositivo de decodificación de imágenes construido según lo anterior.
Para empezar, un flujo de bits se introduce en la unidad de análisis de flujo de bits 1401. La unidad de análisis de flujo de bits 1401 extrae del flujo de bits introducido diversos tipos de información sobre vectores de movimiento, un flujo de bits del número de coeficientes y un flujo de bits del valor de los coeficientes, etcétera. A continuación, la unidad de análisis de flujo de bits 1401 envía respectivamente como sigue: los vectores de movimiento a la unidad de decodificación de predicción inter-imagen 1408, el flujo de bits del número de coeficientes al decodificador de número de coeficientes 1403 y el flujo de bits del valor de los coeficientes al decodificador de valor de coeficientes
1404.
El decodificador de número de coeficientes 1403, en el que se introduce el flujo de bits del número de coeficientes, decodifica dicho flujo de bits como el número de coeficientes que tiene un valor distinto de 0 de cada bloque. En este caso, el decodificador de número de coeficientes 1403 lleva a cabo una decodificación consultando los números de coeficientes de los bloques decodificados almacenados en la unidad de almacenamiento de número de coeficientes 1402 con un procedimiento que se explicará más adelante. Posteriormente, el decodificador de valor de coeficientes 1404 lleva a cabo una decodificación del valor de los coeficientes propiamente dicho consultando las tablas de códigos y las tablas de VLC, necesarias para una decodificación de longitud variable, cambiando entre ellas usando información de número del coeficiente obtenida por el decodificador de número de coeficientes 1403. El coeficiente obtenido se transforma en datos de imagen residual predictiva por medio de la unidad de cuantificación inversa 1405, así como de la unidad de transformación ortogonal inversa 1406.
Los vectores de movimiento extraídos por la unidad de análisis de flujo de bits 1401 se introducen en el decodificador de predicción inter-imagen 1408, cuando un macrobloque actual que se va a decodificar se codifica con predicción inter-imagen. El decodificador de predicción inter-imagen 1408 crea datos de imagen con compensación de movimiento almacenando datos de imagen decodificada de las imágenes decodificadas en la memoria de trama 1407 como imágenes de referencia, en función de la información sobre los vectores de movimiento. Los datos de imagen con compensación de movimiento, obtenidos de ese modo, se crean como datos de imagen decodificada sumándolos a los datos de imagen residual predictiva en la unidad de cálculo de suma 1411 y almacenándolos, posteriormente, en la memoria de trama 1407.
Por otro lado, cuando el macrobloque actual se codifica usando predicción intra-imagen, el decodificador de predicción intra-imagen 1409 lleva a cabo la predicción intra-imagen usando información sobre los bloques decodificados adyacentes y se crean datos de imagen decodificada y se almacenan en la memoria de trama 1407. Posteriormente, la memoria de trama 1407 los envía como imagen de salida definitiva en el orden de visualización.
Se ha explicado el esquema de un flujo de decodificación. A continuación, usando de la Fig. 18 a la Fig. 21 se explica, en detalle, un proceso de decodificación del número de coeficientes que lleva a cabo el decodificador de número de coeficientes 1403.
La Fig. 18A es un diagrama de bloques que muestra, en detalle, una estructura interna del decodificador de número de coeficientes 1403.
En este caso, se da un ejemplo de uso de dos tablas, de una tabla de VLC y de una tabla de códigos, para llevar a cabo una decodificación de longitud variable de los números de coeficientes. La tabla de VLC es una tabla que se usa para transformar un código de longitud variable de un flujo de bits en un número de código, mientras que la tabla de códigos es una tabla que se usa para transformar, el número de código obtenido por la tabla de VLC, en el número de coeficientes.
Como se muestra en la Fig. 18A, el decodificador de número de coeficientes 1403 incluye una unidad de cálculo del valor predictivo 1501, una unidad de almacenamiento de tabla de códigos 1502, una unidad de selección de tabla de códigos 1503, una unidad de selección de tabla de VLC 1504, una unidad de almacenamiento de tabla de VLC 1505 y un decodificador de número de coeficientes 1506.
En primer lugar, los números de los coeficientes de los bloques decodificados situados en la periferia se introducen, desde la unidad de almacenamiento de número de coeficientes 1402, como se muestra en la Fig. 17, en la unidad de cálculo del valor predictivo 1501. La unidad de cálculo del valor predictivo 1501 establece un valor predictivo calculando un valor medio de dichos valores. Para la codificación se puede usar un valor máximo, un valor mínimo o un valor intermedio según el procedimiento de cálculo del valor predictivo. Los bloques decodificados que se van a consultar se establecen siguiendo la Tabla 1 usando tres bloques en la posición de los bloques B, C y D del bloque actual X que se muestra en la Fig. 4a, como en el primer ejemplo. Respecto a los símbolos de la Tabla 1, un símbolo \medcirc significa un bloque codificado y un símbolo X significa un bloque que no se puede consultar dado que no está codificado ni situado fuera de la imagen o fuera del fragmento. La Tabla 1 muestra una relación entre condiciones de los bloques de referencia y los bloques que se pueden consultar, no obstante, los patrones no se limitan a esto. Si no se encuentran bloques de referencia, se puede dar directamente un valor 0 u otro valor arbitrario como un valor predictivo.
\newpage
La unidad de selección de tabla de códigos 1503 selecciona una tabla de códigos de uso real a partir de una pluralidad de tablas de códigos almacenadas en la unidad de almacenamiento de tabla de códigos 1502, según el valor predictivo calculado por la unidad de cálculo del valor predictivo 1501.
La Tabla 2 es un ejemplo de una tabla de códigos que refiere números de coeficientes y números de código, preparada de antemano por la unidad de almacenamiento de tabla de códigos 1502. En este caso, se preparan cuatro tipos de tablas de códigos. No obstante, la cantidad de tipos de tablas y los valores que se indican en las tablas no se limitan a los que se usan en la Tabla 2. No obstante, en este caso, usará la misma tabla que la que se usa para codificar. Asimismo, la Tabla 3 muestra criterios de selección de tablas de códigos en función de un valor predictivo. El modo de asignación del valor predictivo o los elementos de datos de la tabla no se limitan a los que se usan en la Tabla 3. No obstante se usará la misma tabla que la que se usa para codificar.
La unidad de selección de tabla de VLC 1504 selecciona una tabla de VLC de uso real a partir de una pluralidad de tablas de VLC almacenadas en la unidad de selección de tabla de VLC 1505 según el valor predictivo calculado por la unidad de cálculo del valor predictivo 1501.
La Tabla 4 muestra un ejemplo de una tabla de VLC que refiere número de coeficientes y números de códigos, preparada de antemano por la unidad de almacenamiento de tabla de VLC 1505. En este caso, se preparan cuatro tipos de tablas de VLC. No obstante, la cantidad de tipos de tablas y los valores que se indican en las tablas no se limitan a los que se usan en la Tabla 4. No obstante, en este caso, se usará la misma tabla que la que se usa para codificar. Asimismo, la Tabla 5 muestra criterios de selección de tablas de VLC en función de un valor predictivo. El modo de asignación del valor predictivo y los elementos de datos que se indican en las tablas de referencia no se limitan a los que se usan en la Tabla 5. No obstante, en este caso, está condicionado al uso de la misma tabla que la que se usa para codificar.
El decodificador de número de coeficientes 1506 consulta la tabla de códigos, así como la tabla de VLC, seleccionadas en el proceso anterior, y lleva a cabo una decodificación de longitud variable de un flujo de bits del número de los coeficientes del bloque actual introducido. El decodificador de número de coeficientes 1506 primero transforma el número de coeficientes en un número de código usando la tabla de VLC y, posteriormente, lo transforma en un valor del número de coeficientes del número de código usando la tabla de códigos. La Fig. 19 es un diagrama modelo que muestra un ejemplo de decodificación cuando un valor predictivo calculado en la unidad de cálculo del valor predictivo 1501 es "6" y un flujo de bits del número de coeficientes del bloque actual es "0100". Si el valor predictivo es "6", la unidad de selección de tabla de códigos 1503 selecciona una tabla de códigos 3, que se muestra en la Fig. 19, usando la Tabla 3 y la Tabla 2 y la unidad de selección de tabla de VLC 1504 selecciona una tabla de VLC 3, que se muestra en la Fig. 19, usando la Tabla 5 y la Tabla 4. El decodificador de número de coeficientes 1506 transforma el flujo de bits introducido "0100" en un número de código "2" según la tabla de VLC 3 y, posteriormente, establece el número definitivo de coeficientes "4" según la tabla de códigos 3.
Lo siguiente describe, en detalle, el proceso de almacenamiento del número de coeficientes que lleva a cabo la unidad de almacenamiento de número de coeficientes 1402, se explican los detalles. En este caso, se usa la Fig. 6A que se usa para la descripción del primer ejemplo, no obstante, un recuadro negro que contiene bloques codificados B1 a B16 muestra un macrobloque actual que se va a decodificar, mientras que los bloques sombreados muestran bloques de referencia del macrobloque actual. Los números que se han puesto a los bloques indican un orden de decodificación que se lleva a cabo en el macrobloque.
La unidad de almacenamiento de número de coeficientes 1402 almacena los números de coeficientes decodificados por el decodificador de número de coeficientes 1403, al menos de los bloques de referencia que están sombreados como se muestra en la Fig. 6A, necesarios para el macrobloque actual en el momento de iniciar el procesamiento del macrobloque actual que se muestra en la Fig. 6A. Concretamente, la unidad de almacenamiento de número de coeficientes 1402 almacena el número de los coeficientes detectados de los bloques del macrobloque actual (B1, B2, B3,... y B16) que se van a procesar secuencialmente. Por ejemplo, cuando un bloque actual es un bloque B6, la unidad de almacenamiento de número de coeficiente 1402 almacena los números de cada coeficiente de los bloques B1, B2, B3, B4 y B5, que ya están procesados, además de los de los bloques de referencia, como se muestra en la Fig. 6A. Cuando el decodificador de número de coeficientes 1403 decodifica el número de coeficientes del bloque B6, la unidad de almacenamiento de número de coeficientes 1402 lo almacena. Por lo tanto, la unidad de almacenamiento de número de coeficientes 1402 almacena los números de los coeficientes de los bloques del macrobloque actual que se van a procesar secuencialmente.
Cuando un macrobloque actual es un macrobloque MB11, se muestra en la Fig. 2B, la unidad de almacenamiento de número de coeficientes 1402 almacena al menos los números de los coeficientes de los bloques de la fila inferior y de la columna derecha del macrobloque MB11 (bloques sombreados) de la Fig. 7A, cuando termina el procesamiento de dicho macrobloque MB11 y se desplaza al macrobloque siguiente MB12. A continuación, la unidad de almacenamiento de número de coeficientes 1402 almacena al menos los números de los coeficientes de los bloques de la fila inferior y de la columna derecha del macrobloque MB12, del mismo modo, así como los números de los coeficientes de los bloques de la fila inferior del macrobloque MB11 (bloques sombreados), como se muestra en la Fig. 7B, cuando termina el procesamiento del macrobloque MB12 y el proceso pasa al macrobloque siguiente
MB13.
Cuando un macrobloque actual está situado en el borde derecho de la imagen, como en un macrobloque MB9 que se muestra en la Fig. 2B, la unidad de almacenamiento de número de coeficiente 1402 almacena al menos los números de los coeficientes de los bloques de la fila inferior del macrobloque MB9 cuando termina el procesamiento de dicho macrobloque MB9 y pasa al macrobloque siguiente MB10.
Cuando un bloque actual está situado en el borde inferior de la imagen, como un macrobloque MBm que se muestra en la Fig. 2B, la unidad de almacenamiento de número de coeficientes 1402 almacena al menos los números de los coeficientes de los bloques de la columna derecha de dicho macrobloque MBm (bloques sombreados) como se muestra en la Fig. 7C.
Por lo tanto, la unidad de almacenamiento de número de coeficientes 1402 almacena al menos los números de coeficientes de los bloques que se van a consultar. En un momento arbitrario, se puede borrar la información sobre los números de coeficientes de los bloques distintos de los que se van a almacenar, como se ha descrito en la explicación anterior, cuando los bloques ya no se usan como referencia. Por ejemplo, se puede borrar la información cuando el proceso pasa al macrobloque siguiente, así como mientras se procesa el macrobloque. Asimismo, los números de los coeficientes de los bloques que no se usan como referencia no siempre necesitan un proceso de borrado. Por ejemplo, la unidad de almacenamiento de número de coeficientes 1402 puede identificar, como innecesarios, los números de coeficientes de los bloques que ya no se consultan y, si es necesario, puede escribir sobre los mismos.
Se ha explicado anteriormente que se pueden consultar los números de coeficientes de los bloques codificados almacenándolos en la unidad de almacenamiento de número de coeficientes 1402. No obstante, en caso necesario, se puede usar un sistema para calcular el número de coeficientes almacenando, no los valores del número de coeficientes propiamente dichos, sino, por ejemplo, los valores de los coeficientes de los bloques que indican componentes de frecuencia espacial.
Por lo tanto, en la presente forma de realización, se puede calcular el valor predictivo usando los números de coeficientes de los bloques adyacentes decodificados y decodificar el número de coeficientes consultando la tabla de códigos y la tabla de VLC, cambiando entre ellas, de un modo adaptado, según el valor predictivo.
Asimismo, trata los cambios en una posición en la que la probabilidad de aparición del número de coeficientes es la mayor, consultando las tablas de códigos cambiándolas, de un modo adaptado, según el valor predictivo. A la vez, se puede corresponder a la cantidad de la dispersión de la probabilidad de aparición del número de coeficientes consultando las tablas de VLC cambiándolas según el valor predictivo.
Se pueden usar sólo dos bloques en la posición de los bloques B y D, como los bloques que consultará la unidad de cálculo del valor predictivo 1501 del bloque actual X, como se muestra en la Fig. 4B, en lugar de usar tres bloques contiguos, como se muestra en la Fig. 4A. En este caso, se pueden realizar cambios en los bloques de referencia, como en la Tabla 6, cuando los bloques no están decodificados ni situados fuera de la imagen o fuera del fragmento. Respecto a los símbolos de la Tabla 6, un símbolo \medcirc significa un bloque decodificado y un símbolo X significa un bloque que no se puede consultar dado que no está decodificado ni situado fuera de la imagen o fuera del fragmento, como en la Tabla 1. La Tabla 6 muestra una relación entre condiciones de los bloques de referencia y los bloques que se pueden consultar, no obstante, los patrones no se limitan a esto. Cuando no se encuentran bloques de referencia, se da directamente un valor 0 u otro valor arbitrario como un valor predictivo. No obstante, se usará el mismo valor que el que se usa para codificar. En este caso, la unidad de almacenamiento de número de coeficientes 1402 puede almacenar sólo los números de coeficientes decodificados por el decodificador de número de coeficientes 1403, al menos los de los bloques de referencia necesarios para el macrobloque actual que se muestra en la
Fig. 6B.
Asimismo, se puede seleccionar, como un procedimiento para calcular un valor predictivo en la unidad de cálculo del valor predictivo 1501, por ejemplo, un procedimiento óptimo según cada secuencia, cada GOP, cada imagen o cada fragmento, en lugar de fijar el procedimiento de uso de uno cualquiera de un valor medio, un valor máximo, un valor mínimo o un valor intermedio. En este caso, se establece un procedimiento de cálculo decodificando las señales para identificar un procedimiento de cálculo descrito en la sección de cabecera de la secuencia o de la imagen o el fragmento, del flujo de bits. El fragmento es una imagen dividida en una pluralidad de secciones. Una sección equivalente a una columna en la dirección transversal de cada bloque es un ejemplo de esto.
Asimismo, se puede seleccionar, como un procedimiento para calcular un valor predictivo en la unidad de cálculo del valor predictivo 1501, por ejemplo, uno cualquiera de un valor medio, un valor máximo, un valor mínimo o un valor intermedio según el valor medio de los números de coeficientes de los bloques de referencia decodificados. La Tabla 7 muestra los criterios de selección. El modo de asignación del valor medio y los elementos de datos que se indican como procedimientos de cálculo del valor predictivo no se limitan a los que se usan en la Tabla 7. En este sentido, se usará el mismo procedimiento que el que se usa para codificar.
La presente forma de realización muestra un procedimiento de proceso de decodificación de un flujo de bits en el que el decodificador de número de coeficientes 1403 lleva a cabo una codificación de longitud variable de los valores del número de coeficientes propiamente dichos. No obstante, se puede llevar a cabo una decodificación de un flujo de bits en el que se lleva a cabo una codificación de longitud variable de un valor diferencial entre el valor predictivo y el número de coeficientes. En este caso, el número de coeficientes se establece por el hecho de que la unidad de cálculo de suma 1507 suma el valor predictivo, calculado por la unidad de cálculo del valor predictivo 1501, al valor diferencial del número de coeficientes decodificados por el decodificador de número de coeficientes 1506.
Asimismo, el decodificador de número de coeficientes 1403 lleva a cabo una decodificación de longitud variable cambiando tanto la tabla de códigos como la tabla de VLC según el valor predictivo en función de los números de los coeficientes de los bloques contiguos. No obstante, se puede fijar cualquiera de ellas en lugar de cambiar entre las mismas. En este caso, esto se realiza preparando una unidad de almacenamiento que tiene o bien un tipo determinado de tablas de códigos o bien un tipo determinado de tablas de VLC. La Fig. 20A es un diagrama de bloques que muestra una estructura del decodificador de número de coeficientes 1403 para llevar a cabo una decodificación de longitud variable del número de coeficientes fijando sólo la tabla de códigos. La Fig. 20B es un diagrama de bloques que muestra una estructura del decodificador de número de coeficiente 1403 para llevar a cabo una decodificación de longitud variable del número de coeficientes fijando sólo la tabla de VLC. En caso de que sólo se fije la tabla de códigos, el decodificador de número de coeficientes 1403, como se muestra en la Fig. 20A incluye una unidad de almacenamiento de tabla de códigos 1601 en lugar de la unidad de almacenamiento de tabla de códigos 1502 y la unidad de selección de tabla de códigos 1503, que se muestran en la Fig. 18A. La unidad de almacenamiento de tabla de códigos 1601 tiene un tipo determinado de tablas de código. El decodificador de número de coeficientes 1506 primero transforma el código de longitud variable en un número de código usando la tabla de VLC seleccionada por la unidad de selección de tabla de VLC 1504 y, posteriormente, transforma el número de código en el número de coeficientes usando la tabla de códigos almacenada en la unidad de almacenamiento de tabla de códigos 1601.
Por otro lado, en caso de que sólo se fije la tabla de VLC, el decodificador de número de coeficientes 1403, como se muestra en la Fig. 20B, incluye una unidad de almacenamiento de tabla de VLC 1602, en lugar de la unidad de almacenamiento de tabla de VLC 1505 y la unidad de selección de tabla de VLC 1504, que se muestran en la Fig. 18A. La unidad de almacenamiento de tabla de VLC 1602 tiene un tipo determinado de tabla de VLC. El decodificador de número de coeficientes 1506, en primer lugar, transforma un código de longitud variable en un número de código usando la tabla de VLC almacenada en la unidad de almacenamiento de tabla de VLC 1602 y, posteriormente, transforma el número de código en el número de coeficientes usando la tabla de códigos seleccionada por la unidad de selección de tabla de códigos 1503.
Por lo tanto, se puede reducir la capacidad de memoria para almacenar una pluralidad de tablas fijando una cualquiera de una tabla de códigos y una tabla de VLC.
Asimismo, se puede llevar a cabo una decodificación de longitud variable en el decodificador de número de coeficientes 1403 cambiando sólo las tablas de VLC, sin usar las tablas de códigos, según el valor predictivo, en función de los números de coeficientes de los bloques contiguos. La Fig. 20C es un diagrama de bloques que muestra una estructura del decodificador de número de coeficientes 1403 cuando se lleva a cabo una decodificación de longitud variable del número de coeficientes usando sólo una tabla de VLC, sin usar tablas de códigos. En este caso, como se muestra en la Fig. 20C, el decodificador de número de coeficientes 1403 no incluye ni la unidad de almacenamiento de tabla de códigos 1502 ni la unidad de selección de tabla de códigos 1503, que se muestran en la Fig. 18A. En el decodificador de número de coeficientes 1403, la unidad de selección de tabla de VLC 1603 selecciona la tabla de VLC de uso real a partir de una pluralidad de tablas de VLC almacenadas en la unidad de almacenamiento de tabla de VLC 1604, en función del valor predictivo calculado por la unidad de cálculo del valor predictivo 1501. Por lo tanto, el decodificador de número de coeficientes 1506 transforma directamente un código de longitud variable en el número de coeficientes, sin transformar el número de coeficientes en un número de código usando la tabla de códigos como se ha descrito anteriormente.
Por lo tanto, fijando una cualquiera de la tabla de códigos o de la tabla de VLC, en lugar de cambiar entre ellas, se puede reducir el número de tablas de cambio o se puede reducir una cantidad de memoria para almacenar una pluralidad de tablas, si bien los efectos del rendimiento de codificación disminuyen más o menos.
Asimismo, un caso en el que el decodificador de número de coeficientes 1403 decodifica un flujo de bits, en el que se lleva a cabo una codificación de longitud variable del valor diferencial entre el valor predictivo y el número de coeficientes, en lugar del valor del número de coeficientes, se puede tratar del mismo modo. La Fig. 21 es un diagrama de bloques de este ejemplo que muestra una estructura del decodificador de número de coeficientes 1403 para llevar a cabo una decodificación del flujo de bits, en el que se lleva a cabo una decodificación de longitud variable del valor diferencial entre el valor predictivo y el número de coeficientes fijando tanto la tabla de códigos como la tabla de VLC. En este caso, como se muestra en la Fig. 21, el decodificador de número de coeficientes 1403 incluye una unidad de almacenamiento de tabla de códigos 1601, en lugar de la unidad de almacenamiento de tabla de códigos 1502 y la unidad de selección de tabla de códigos 1503, que se muestran en la Fig. 18A, así como una unidad de almacenamiento de tabla de VLC 1602 en lugar de la unidad de almacenamiento de tabla de VLC 1505 y la unidad de selección de tabla de VLC 1504, que se muestran en la Fig. 18A. Dicha unidad de almacenamiento de tabla de códigos 1601 tiene un tipo determinado de tablas de códigos, mientras que la unidad de almacenamiento de tabla de VLC 1602 tiene un tipo determinado de tabla de VLC. El decodificador de número de coeficientes 1506 primero transforma un código de longitud variable en un número de código usando la tabla de VLC almacenada en la unidad de almacenamiento de tabla de VLC 1602 y, posteriormente, transforma el número de código en un valor diferencial entre el valor predictivo y el número de coeficientes usando la tabla de códigos almacenada en la unidad de almacenamiento de tabla de códigos 1601. La unidad de cálculo de suma 1507 calcula el número de coeficientes sumando el valor diferencial al valor predictivo.
\vskip1.000000\baselineskip
Segunda forma de realización
La estructura del dispositivo de decodificación de imágenes y el esquema del proceso de decodificación son exactamente iguales a la primera forma de realización, a excepción del decodificador de número de coeficientes 1403 que se muestra en la Fig. 17. Respecto al proceso de decodificación de longitud variable del número de coeficientes que lleva a cabo el decodificador de número de coeficientes 1403, según la segunda forma de realización, en este caso los detalles se explican usando las Figs. 11 y 22. Se introducirá el flujo de bits creado en el dispositivo de codificación de imágenes según el segundo ejemplo.
La Fig. 22A es un diagrama de bloques que muestra, en detalle, una estructura interna del decodificador de número de coeficientes 1403.
Como se muestra en la Fig. 22A, el decodificador de número de coeficientes 1403 incluye una unidad de generación de tabla de códigos 1901, en lugar de la unidad de almacenamiento de tabla de códigos 1502 y la unidad de selección de tabla de códigos 1503 que se muestran en la Fig. 18A. Los números de coeficientes de los bloques decodificados se introducen desde la unidad de almacenamiento de número de coeficientes 1402, que se muestra en la Fig. 17, en la unidad de generación de tabla de códigos 1901. La unidad de generación de tabla de códigos 1901 cuenta la cantidad de los bloques decodificados que tienen el mismo número de coeficientes como el valor del número de coeficientes en cada valor del número de coeficientes y crea tablas de códigos asignando números de código en orden descendente empezando desde un número de coeficientes que registró la frecuencia más alta en función de la estadística. La Fig. 11A es un diagrama modelo que presenta una posición de bloques decodificados propuestos como estadística. En este caso, un P1, un P3 y un P4 son imágenes en las que se lleva a cabo una predicción inter-imagen, mientras que un I2 es una imagen en la que se lleva a cabo una predicción intra-imagen. Suponiendo que un bloque actual que se va a decodificar pertenece a la P3, se proponen como estadística todos los bloques de la P1, una imagen justo anterior a la imagen actual decodificada con el mismo procedimiento. El caso en el que los bloques equivalentes a una imagen que incluye los bloques decodificados de la imagen actual se proponen como estadística, se puede tratar del mismo modo. Asimismo, se usa una tabla correspondiente a la condición inicial en orden ascendente empezando desde el número 0, cuando no existen bloques decodificados equivalentes a una imagen que se puede proponer como estadística. En este caso, los bloques equivalentes a una imagen se proponen como estadística, no obstante, el caso en el que la cantidad de bloques distinta de esta se usa como un parámetro se puede tratar del mismo modo. En este sentido, se usará la misma cantidad que la que se usa para codificar. En el caso de generar la tabla de códigos como se ha descrito anteriormente, consultando como se muestra en la Fig. 11A, la tabla sólo se puede generar una vez cuando se inicia la codificación de la imagen actual.
Entretanto, los números de coeficientes de los bloques decodificados situados en la periferia se introducen en la unidad de cálculo del valor predictivo 1501. La unidad de cálculo del valor predictivo 1501 establece el valor predictivo calculando un valor medio en función de dichos valores, como en la primera forma de realización. En lugar del valor medio se puede usar un valor máximo, un valor mínimo o un valor intermedio como un procedimiento para establecer el valor predictivo. Como en la primera forma de realización, los bloques decodificados que se usan como referencia se establecen usando los tres bloques situados en la posición de los bloques B, C y D del bloque actual X que se muestra en la Fig. 4A, según la Tabla 1. La Tabla 1 muestra una relación entre condiciones de los bloques de referencia y los bloques que se pueden consultar, no obstante, los patrones no se limitan a esto. Cuando no se encuentran bloques de referencia se da directamente un valor 0 u otro valor arbitrario, como un valor predictivo. En este sentido se usará el mismo valor que el que se usa para codificar.
El valor predictivo calculado por la unidad de cálculo del valor predictivo 1501 se usa sólo en la unidad de selección de tabla de VLC 1504. La unidad de selección de tabla de VLC 1504 selecciona, como en la sexta forma de realización, una tabla de VLC para decodificar el número de coeficientes a partir de una pluralidad de tablas de VLC preparadas de antemano en la unidad de almacenamiento de tabla de VLC 1505, como se muestra en la Tabla 4, según los criterios de selección que se muestran en la Tabla 5.
El decodificador de número de coeficientes 1506 consulta la tabla de códigos creada por la unidad de generación de tabla de códigos 1901 y la tabla de VLC seleccionada por la unidad de selección de tabla de VLC 1504 y lleva a cabo una decodificación de longitud variable del flujo de bits del número de coeficientes introducidos del mismo modo que en la primera forma de realización.
Por lo tanto, en la presente forma de realización, se puede crear una tabla de códigos tomando estadísticas de los números de coeficientes de los bloques decodificados y establecer una tabla de VLC según el valor predictivo calculado usando los números de los coeficientes de los bloques decodificados y llevar a cabo la decodificación del número de coeficientes consultando ambas tablas.
Asimismo, se pueden establecer los bloques decodificados que se van a usar como referencia en la unidad de cálculo del valor predictivo 1501, como en la primera forma de realización, según la Tabla 6, usando sólo dos bloques situados en la posición de los bloques B y D respecto al bloque actual X que se muestra en la Fig. 4B, en lugar de usar tres bloques adyacentes, como se muestra en la Fig. 4A. La Tabla 6 muestra una relación entre condiciones de los bloques de referencia y los bloques que se pueden consultar, no obstante, los patrones no se limitan a esto. Cuando no se encuentran bloques de referencia se puede dar directamente un valor 0 u otro valor arbitrario. En este sentido, se usará el mismo valor que el que se usa para codificar.
Asimismo, se puede seleccionar, como un procedimiento para calcular el valor predictivo en la unidad de cálculo del valor predictivo 1501, por ejemplo, un procedimiento óptimo según cada secuencia, cada GOP, cada imagen o cada fragmento, en lugar de fijar el procedimiento para usar uno cualquiera de un valor medio, un valor máximo, un valor mínimo o un valor intermedio. En este caso, el procedimiento de cálculo se establece decodificando las señales para identificar el procedimiento de cálculo descrito en la cabecera de la secuencia, del GOP o de la imagen o el fragmento, del flujo de bits.
Asimismo, se puede seleccionar, por ejemplo, uno cualquiera de un valor medio, un valor máximo, un valor mínimo o un valor intermedio, según el valor medio de los números de coeficientes de los bloques de referencia decodificados, como un procedimiento para calcular un valor predictivo en la unidad de cálculo del valor predictivo 1501. La Tabla 7 muestra sus criterios de selección. El modo de asignación del valor medio y los elementos de datos que se indican como procedimientos de cálculo del valor predictivo no se limitan a los que se usan en la Tabla 7. En este sentido, se usará el mismo procedimiento que el que se usa para codificar.
Asimismo, la presente forma de realización muestra un procedimiento de proceso de decodificación de un flujo de bits en el que se lleva a cabo una codificación de longitud variable de los valores del número de coeficientes propiamente dichos. No obstante, se puede llevar a cabo una decodificación de un flujo de bits en los que se lleva a cabo una codificación de longitud variable de un valor diferencial entre un valor predictivo y el número de coeficientes. En este caso, el número de coeficientes se establece por el hecho de que la unidad de cálculo de suma 1507 suma el valor diferencial entre el valor predictivo, calculado en la unidad de cálculo del valor predictivo 1501, como se muestra en la Fig. 22, al número de coeficientes decodificados por el decodificador de número de coeficientes
1506.
Asimismo, en la forma de realización que se ha mencionado anteriormente, el decodificador de número de coeficientes 1403 lleva a cabo una decodificación de longitud variable cambiando las tablas de VLC según el valor predictivo en función de los números de coeficientes de los bloques adyacentes. No obstante, se puede fijar la tabla, en lugar de cambiar entre ellas como en la primera forma de realización. En este caso, esto se realiza usando sólo una unidad de almacenamiento de tabla de VLC que tiene un tipo determinado de tablas de VLC, en lugar de usar la unidad de selección de tabla de VLC.
\vskip1.000000\baselineskip
Sexto ejemplo
La estructura del dispositivo de decodificación de imágenes y el esquema del proceso de decodificación son exactamente iguales a la primera forma de realización, a excepción del decodificador de número de coeficientes 1403 que se muestra en la Fig. 17. Respecto al proceso de decodificación de longitud variable del número de coeficientes que lleva a cabo el decodificador de número de coeficientes 1403, según el sexto ejemplo, en este caso los detalles se explican usando la Fig. 23, la Tabla 8 y la Tabla 9. Se introducirá el flujo de bits creado por el dispositivo de codificación de imágenes según el tercer ejemplo.
La Fig. 23A es un diagrama de bloques que muestra en detalle una estructura interna del decodificador de número de coeficientes 1403.
Como se muestra en la Fig. 23A, el decodificador de número de coeficientes 1403 no incluye la unidad de cálculo del valor predictivo 1501 que se muestra en la Fig. 18A. Una unidad de selección de tabla de códigos 2001 y una unidad de selección de tabla de VLC 2002 seleccionan una tabla de uso real usando directamente los números de coeficientes de los bloques decodificados, sin usar un valor predictivo, lo que difiere de la primera forma de realización. Respecto a los bloques decodificados que se usan como referencia, que se muestran en la Fig. 4B, sólo se usan dos bloques en la posición del bloque B (superior) y del bloque D (izquierda) respecto al bloque actual X. No obstante, cuando los bloques situados en la parte superior y en la izquierda no están decodificados ni situados fuera de la imagen o del fragmento, se puede dar un valor 0 u otro valor arbitrario. En este sentido, se usará el mismo valor que el que se usa para codificar.
La Tabla 8 muestra un procedimiento de selección de tablas de códigos en la unidad de selección de tabla de códigos 2001. La unidad de selección de tabla de códigos 2001 clasifica en dos grupos los números respectivos de coeficientes de los bloques situados en la parte superior y en la izquierda del bloque actual, como se muestra en la Tabla 8, según el valor, y selecciona una tabla usando una combinación de las cuatro formadas de ese modo. El procedimiento para clasificar el número de coeficientes de los bloques superiores e izquierdos y el modo de asignación de las tablas de códigos no se limitan a los que se usan en la Tabla 8. En este sentido, en este caso, se usa el mismo procedimiento que el que se usa para codificar. Asimismo, la unidad de selección de tabla de VLC 2002 selecciona una tabla de VLC como referencia real usando el procedimiento de selección que se muestra en la Tabla 9, como en el caso de la unidad de selección de tabla de códigos 2001.
El decodificador de número de coeficientes 1506 consulta la tabla de códigos, seleccionada por la unidad de selección de tabla de códigos 2001, y la tabla de VLC, seleccionada por la unidad de selección de tabla de VLC 2002, y lleva a cabo una decodificación de longitud variable del número de coeficientes del bloque actual que se introduce del mismo modo que en la primera forma de realización.
El presente ejemplo, como se ha mostrado anteriormente, clasificando el número de coeficientes de los bloques decodificados situados en la parte superior y en la izquierda del bloque actual en grupos "N", según el valor consultando la tabla de códigos y la tabla de VLC, según la combinación de modos N x N formada, y cambiando entre ellas, de un modo adaptado, puede llevar a cabo, de un modo eficaz, la decodificación del número de coeficientes.
El presente ejemplo muestra un procedimiento de proceso de decodificación de un flujo de bits en el que se lleva a cabo una codificación de longitud variable de los valores del número de coeficientes propiamente dichos. No obstante, se puede llevar a cabo una decodificación de un flujo de bits en el que se lleva a cabo una codificación de longitud variable de un valor diferencial entre el valor predictivo y el número de coeficientes. En este caso, el número de coeficientes se establece por el hecho de que la unidad de cálculo de suma 1507 suma el valor diferencial entre el valor predictivo, calculado en la unidad de cálculo del valor predictivo 1501, al número de coeficientes decodificados por el decodificador de número de coeficientes 1506.
Asimismo, el decodificador de número de coeficientes 1403 lleva a cabo una decodificación de longitud variable cambiando tanto la tabla de códigos como la tabla de VLC según los números de coeficientes de los bloques contiguos. No obstante, se puede fijar una cualquiera de dichas tablas en lugar de cambiar entre ellas como en la primera forma de realización. En este caso, esto se realiza usando una unidad de almacenamiento que tiene o bien un tipo determinado de tablas de códigos o un tipo determinado de tablas de VLC, en lugar de usar las unidades de selección de tabla. Además, se puede llevar a cabo una decodificación de longitud variable cambiando sólo las tablas de VLC, sin usar tablas de códigos según los números de coeficientes de los bloques adyacentes, como en la primera forma de realización.
\vskip1.000000\baselineskip
Séptimo ejemplo
La estructura del dispositivo de decodificación de imágenes y el esquema del proceso de decodificación, según el presente ejemplo, son exactamente iguales a la primera forma de realización, a excepción del decodificador de número de coeficientes 1403 que se muestra en la Fig. 17. Respecto al proceso de decodificación de longitud variable del número de coeficientes que lleva a cabo el decodificador de número de coeficientes 1403, según el séptimo ejemplo, en este caso, los detalles se explican usando la Figs. 24 y 14. Se introducirá el flujo de bits creado por el dispositivo de codificación de imágenes según el cuarto ejemplo.
La Fig. 24A es un diagrama de bloques que muestra, en detalle, una estructura interna del decodificador de número de coeficientes 1403.
Como se muestra en la Fig. 24A, el decodificador de número de coeficientes 1403 incluye una unidad de selección de tabla 2101 en lugar de la unidad de cálculo del valor predictivo 1501, de la unidad de selección de tabla de códigos 1503 y de la unidad de selección de tabla de VLC 1504, que se muestran en la Fig. 18A. La unidad de selección de tabla 2101 usa directamente el número de los coeficientes de los bloques decodificados, sin usar un valor predictivo, y selecciona una tabla de uso real evaluando tanto la tabla de códigos como la tabla de VLC a la vez, lo que difiere de la primera forma de realización. Respecto a los bloques decodificados que se usan como referencia, se usan los tres bloques en la posición de los bloques B, C y D respecto al bloque actual X, como en la Fig. 4A. En este sentido, cuando los bloques situados de ese modo no están decodificados ni situados fuera de la imagen o fuera del fragmento, se da un valor 0 u otro valor arbitrario como el número de coeficientes. No obstante, se usará el mismo valor que el que se usa para codificar.
Como se muestra en la Fig. 14, la unidad de selección de tabla 2101 calcula una longitud total de un flujo de bits que se crea como consecuencia de codificar los números de los coeficientes de los bloques de referencia usando tanto la tabla de códigos como la tabla de VLC a la vez y la establece como un valor de evaluación, como en el cuarto ejemplo. Por lo tanto, la unidad de selección de tabla 2101 lleva a cabo dicho proceso para todas las combinaciones de la tabla de códigos y de la tabla de VLC almacenadas tanto en la unidad de almacenamiento de tabla de códigos 1502 como en la unidad de almacenamiento de tabla de VLC 1505 y selecciona una combinación de una tabla de códigos y de una tabla de VLC en las que el valor de evaluación obtenido es el menor.
El decodificador de número de coeficientes 1506 consulta la tabla de códigos y la tabla de VLC seleccionadas por la unidad de selección de tabla 2101 y lleva a cabo una codificación de longitud variable del número de los coeficientes del bloque actual que se introduce del mismo modo que en la primera forma de realización.
Por lo tanto, en el presente ejemplo, se lleva a cabo la codificación de los números de coeficientes de los bloques contiguos que se decodifican usando la tabla de códigos y la tabla de VLC, se establece un valor de valoración usando la longitud total del flujo de bits en ese momento y se lleva a cabo la decodificación del número de coeficientes consultando la tabla de códigos y la tabla de VLC cuya combinación genera el menor valor de evaluación.
Respecto a los bloques decodificados que la unidad de selección de tabla 2101 usa como referencia, un caso de uso de sólo dos bloques situados en la posición de los bloques B y D respecto al bloque actual X, como se muestra en la Fig. 4B, en lugar de usar tres bloques contiguos, que se muestran en la Fig. 4A, se puede tratar del mismo modo que en la primera forma de realización. En este sentido, cuando los bloques situados de ese modo no están decodificados ni situados fuera de la imagen o fuera del fragmento, se puede dar un valor 0 u otro valor arbitrario como un número de coeficientes.
Asimismo, el presente ejemplo muestra un procedimiento de proceso de decodificación de un flujo de bits en el que se lleva a cabo una codificación de longitud variable de los valores del número de coeficientes propiamente dichos. No obstante, se puede llevar a cabo una decodificación de un flujo de bits en el que se lleva a cabo una codificación de longitud variable de un valor diferencial entre el valor predictivo y el número de coeficientes. En este caso, el número de coeficientes se establece por el hecho de que la unidad de cálculo de suma 1507 suma el valor diferencial entre el valor predictivo, calculado por la unidad de cálculo del valor predictivo 1501, al número de coeficientes decodificado por el decodificador de número de coeficientes 1506, como se muestra en la Fig. 24B.
Asimismo, en el presente ejemplo se propone la tabla de códigos y la tabla de VLC para cambiar en el decodificador de número de coeficientes 1403, no obstante, se puede fijar cualquiera de ellas en lugar de cambiar entre las mismas.
\vskip1.000000\baselineskip
Octavo ejemplo
La estructura del dispositivo de decodificación de imágenes y el esquema del proceso de decodificación, según el presente ejemplo, son exactamente iguales a la primera forma de realización, a excepción del decodificador de número de coeficientes 1403 que se muestra en la Fig. 17. El presente ejemplo usa un modo de predicción inter-imagen, para la decodificación de predicción inter-imagen, y un modo de predicción intra-imagen, para la decodificación de predicción intra-imagen, como información de referencia del decodificador de número de coeficientes 1403, en lugar de los números de coeficientes de los bloques codificados como en la primera forma de realización. Se introducirá el flujo de bits que se crea en el dispositivo de codificación de imágenes según el quinto ejemplo.
En este caso, respecto al proceso de decodificación de longitud variable del número de coeficientes que lleva a cabo el decodificador de número de coeficientes 1403 que se muestra en la Fig. 17, los detalles se explican en relación con la Fig. 25.
La Fig. 25 es un diagrama de bloques que muestra, en detalle, una estructura interna del decodificador de número de coeficientes 1403.
Como se muestra en la Fig. 25, el decodificador de número de coeficientes 1403 no incluye la unidad de cálculo del valor predictivo 1501 que se muestra en la Fig. 18A. El modo de predicción inter-imagen, para la decodificación de predicción inter-imagen, y el modo de predicción intra-imagen, para la decodificación de predicción intra-imagen, se introducen desde la unidad de análisis de flujo de bits 1401 en una unidad de selección de tabla de códigos 2201, así como en una unidad de selección de tabla de VLC 2202. La unidad de selección de tabla de códigos 2201 selecciona una tabla que se va a usar en función del modo: el modo de predicción inter-imagen, para la decodificación de predicción inter-imagen, y el modo de predicción intra-imagen, para la decodificación de predicción intra-imagen. La Tabla 10 muestra un procedimiento de selección de las tablas de códigos almacenadas en la unidad de selección de tabla de códigos 2201.
Por ejemplo, en el caso en el que la imagen actual se decodifica usando una predicción inter-imagen, se selecciona una tabla de códigos 2 para una decodificación de longitud variable del número de coeficientes cuando se selecciona para predicción el tamaño del bloque actual 8 x 8. Los elementos de datos no se limitan a los que se usan en la Tabla 10. En este sentido, se usarán los mismos elementos de datos que los que se usan para codificar.
Asimismo, la unidad de selección de tabla de VLC 2202 selecciona una tabla de VLC como referencia real usando el procedimiento de selección que se muestra en la Tabla 11, como en el caso de la unidad de selección de tabla de códigos 2201.
El decodificador de número de coeficientes 1506 consulta la tabla de códigos seleccionada por la unidad de selección de tabla de códigos 2201, así como la tabla de VLC seleccionada por la unidad de selección de tabla de VLC 2202 a fin de llevar a cabo una decodificación de longitud variable del número de coeficientes del bloque actual que se introduce del mismo modo que en la primera forma de realización.
Por lo tanto, en el presente ejemplo se puede llevar a cabo una decodificación del número de coeficientes consultando la tabla de códigos y la tabla de VLC al cambiar entre ellas, de un modo adaptado, según el modo: el modo de predicción inter-imagen, para la decodificación de predicción inter-imagen, y el modo de predicción intra-imagen, para la decodificación de modo intra-imagen.
El presente ejemplo muestra un procedimiento de proceso de decodificación de un flujo de bits en el que se lleva a cabo una codificación de longitud variable de los valores del número de coeficientes propiamente dichos. No obstante, se puede llevar a cabo una decodificación de un flujo de bits en el que se lleva a cabo una codificación de longitud variable de un valor diferencial entre un valor predictivo y un número de coeficientes. En este caso, el valor predictivo se establece usando los números de los coeficientes de los bloques decodificados adyacentes y el número de coeficientes se establece sumando dicho valor al valor diferencial del número de coeficientes, que se decodifica con el decodificador de número de coeficientes 1506 como en la primera forma de realización.
Asimismo, en el presente ejemplo, el decodificador de número de coeficientes 1403 lleva a cabo una decodificación de longitud variable cambiando tanto la tabla de códigos como la tabla de VLC. No obstante las mismas se pueden fijar en lugar de cambiar una cualquiera de las mismas o ambas. En este caso, esto se realiza preparando sólo una unidad de almacenamiento que tiene o bien un tipo determinado de tablas de códigos o bien un tipo determinado de tablas de VLC.
\vskip1.000000\baselineskip
Tercera forma de realización
Si se graba un programa para realizar la estructura del procedimiento de codificación o del procedimiento de decodificación, como se muestra en las formas de realización y ejemplos que se han mencionado anteriormente, en un soporte de memoria, tal como un disco flexible, el proceso como se muestra en dichas formas de realización y ejemplos se puede llevar a cabo fácilmente en un sistema informático independiente.
Las Figs. 26A, 26B y 26C son ilustraciones que muestran el caso en el que el proceso que se muestra en las formas de realización 1 a 2 que se han mencionado anteriormente y en los ejemplos 1 a 8 que se han mencionado anteriormente se lleva a cabo en un sistema informático usando un disco flexible que almacena el procedimiento de codificación o el procedimiento de decodificación de las formas de realización y ejemplos que se han mencionado anteriormente.
La Fig. 26B muestra una presentación detallada de un disco flexible, su estructura en sección transversal y el disco flexible propiamente dicho, mientras que la Fig. 26A muestra un ejemplo de un formato físico del disco flexible como un cuerpo principal de un soporte de grabación. Un disco flexible FD está contenido en una carcasa F, una pluralidad de pistas Tr están formadas concéntricamente desde la periferia al interior de la superficie del disco y cada pista está dividida en 16 sectores Se en la dirección angular. Por lo tanto, el disco flexible que almacena el programa que se ha mencionado anteriormente almacena los datos, como el programa mencionado anteriormente, en una zona asignada a tal efecto en el disco flexible FD.
La Fig. 26C muestra una estructura para grabar y leer el programa del disco flexible FD. Cuando el programa se graba en el disco flexible FD el sistema informático Cs añade los datos, como el programa, a través de una unidad de disco flexible. Cuando el dispositivo de codificación y el dispositivo de decodificación se construyen en el sistema informático con el programa del disco flexible, la unidad de disco flexible lee el programa del disco flexible y, posteriormente, lo transfiere al sistema informático.
La explicación anterior se realiza sobre la hipótesis de que se usa un disco flexible como un soporte de grabación de datos, sin embargo el mismo proceso también se puede llevar a cabo usando un disco óptico. Además, el soporte de grabación no se limita a un disco flexible y a un disco óptico, sino que se pueden usar otros soportes capaces de grabar un programa, tales como una tarjeta de CI y un módulo ROM.
A continuación, se da una explicación de las aplicaciones del procedimiento de codificación de imágenes, así como del procedimiento de decodificación de imágenes, como se muestran en las formas de realización y ejemplos que se han mencionado anteriormente, y un sistema que usa los mismos.
La Fig. 27 es un diagrama de bloques que muestra una configuración global de un sistema proveedor de contenidos ex100 para realizar un servicio de distribución de contenido. La zona para proporcionar servicio de comunicación está dividida en células de tamaño deseado y en emplazamientos de células ex107 a ex110 que son estaciones inalámbricas fijas colocadas en las células respectivas.
Dicho sistema proveedor de contenidos ex100 está conectado a dispositivos, tales como un ordenador ex111, un PDA (asistente personal digital) ex112, una cámara ex113, un teléfono móvil ex114 y un teléfono móvil con una cámara ex115 a través de Internet ex101, un proveedor de servicio Internet ex102, una red telefónica ex104 y emplazamientos de células ex107 a ex110.
No obstante, el sistema proveedor de contenidos ex100 no se limita a la configuración como se muestra en la Fig. 27 y puede estar conectado a una combinación de cualquiera de ellos. Asimismo, cada dispositivo puede estar conectado directamente a la red telefónica ex104 no a través de los emplazamientos de células ex107 a ex110.
La cámara ex113 es un dispositivo capaz de filmar video, tal como una cámara de video digital. El teléfono móvil ex114 puede ser un teléfono móvil de un sistema de PDC (comunicaciones personales digitales), de un sistema de CDMA (acceso múltiple por división de códigos), de un sistema de W-CDMA (acceso múltiple por división de códigos de banda ancha) o sistema GSM (sistema global para comunicaciones móviles), de un PHS (sistema personal de telefonía portátil) o similar.
Un servidor de grabación y reproducción en tiempo real ex103 está conectado a la cámara ex113 a través de la red telefónica ex104 y del emplazamiento de células ex109, que realiza una distribución real o similar usando la cámara ex113 en función de los datos codificados transmitidos por el usuario. La cámara ex113 o el servidor, que transmite los datos, puede codificar los datos. Asimismo, los datos de imagen filmados con una cámara ex116 se pueden transmitir al servidor de grabación y reproducción en tiempo real ex103 a través del ordenador ex111. En este caso, la cámara ex116 o el ordenador ex111 pueden codificar los datos de imagen. Un LSI ex117, incluido en el ordenador ex111, o la cámara ex116 lleva a cabo realmente el proceso de codificación. El software para codificar y decodificar imágenes puede estar integrado en cualquier tipo de soporte de almacenamiento (tal como un CD-ROM, un disco flexible y un disco duro) que sea un soporte de grabación que pueda leer el ordenador ex111 o similar. Además, un teléfono móvil con una cámara ex115 puede transmitir los datos de imagen. Dichos datos de imagen son los datos codificados por el LSI incluido en el teléfono móvil ex115.
El sistema proveedor de contenidos ex100 codifica los contenidos (tales como un video en directo de música) filmado por los usuarios usando la cámara ex113, la cámara ex116 o similar, del mismo modo que se muestra en las formas de realización y ejemplos que se han mencionado anteriormente, y transmitirlos al servidor de grabación y reproducción en tiempo real ex103, mientras que el servidor de grabación y reproducción en tiempo real ex103 realiza una distribución en tiempo real de los datos de contenido a los soportes cliente según sus peticiones. Los soportes cliente incluyen el ordenador ex111, el PDA ex112, la cámara ex113, el teléfono móvil ex114, etcétera, capaces de decodificar los datos codificados que se han mencionado anteriormente. En el sistema proveedor de contenidos ex100, los soportes cliente pueden, por lo tanto, recibir y reproducir los datos codificados y además pueden recibir, decodificar y reproducir los datos en tiempo real a fin de realizar una transmisión personal.
Cuando cada dispositivo del sistema lleva a cabo una codificación o una decodificación, se puede usar el dispositivo de codificación de imágenes o el dispositivo de decodificación de imágenes, como se muestra en las formas de realización y ejemplos que se han mencionado anteriormente.
Se explicará un teléfono móvil como un ejemplo del dispositivo.
La Fig. 28 es un diagrama que muestra el teléfono móvil ex115 que usa el procedimiento de codificación de imágenes y el procedimiento de decodificación de imágenes que se han explicado en las formas de realización y ejemplos que se han mencionado anteriormente. El teléfono móvil ex115 tiene una antena ex201 para comunicarse con el emplazamiento de células ex110 a través de ondas de radio, una unidad de cámara ex203, tal como una cámara CCD, capaz de filmar imágenes móviles y fijas, una unidad de visualización ex202, tal como un visualizador de cristal líquido para visualizar los datos, tales como imágenes decodificadas y similar, filmados por la unidad de cámara ex203 y recibidos por la antena ex201, una unidad principal que incluye un conjunto de teclas de operación ex204, una unidad de salida de voz ex208, tal como un altavoz para enviar señales de voz, una unidad de entrada de voz ex205, tal como un micrófono para introducir señales de voz, un medio de almacenamiento ex207 para almacenar datos codificados o decodificados, tales como datos de imágenes móviles o fijas filmadas con la cámara, datos de correos electrónicos recibidos y datos de imágenes móviles o fijas, y una ranura ex206 para acoplar el soporte de almacenamiento ex207 al teléfono móvil ex115. El soporte de almacenamiento ex207 contiene un elemento de memoria flash, un tipo de EEPROM (memoria de sólo lectura que se puede programar y borrar eléctricamente) que es una memoria no volátil que se puede borrar eléctricamente de una carcasa de plástico o reescribir en la misma, tal como una tarjeta
SD.
A continuación, se explicará el teléfono móvil ex115 en relación con la Fig. 29. En el teléfono móvil ex115, una unidad principal de control ex311, diseñada a fin de controlar totalmente cada unidad del cuerpo principal que contiene la unidad de visualización ex202, así como las teclas de operación ex204, está conectada mutuamente a una unidad de circuitos de suministro de energía ex310, a una unidad de control de entrada de operación ex304, a una unidad de codificación de imágenes ex312, a una unidad de interfaz de cámara ex303, a una unidad de control de LCD (visualizador de cristal líquido) ex302, a una unidad de decodificación de imágenes ex309, a una unidad de multiplexación/demultiplexación ex308, a una unidad de lectura/escritura ex307, a una unidad de circuitos de módem ex306 y a una unidad de procesamiento de voz ex305 a través de un canal de transmisión sincrónico ex313.
Cuando, mediante la operación del usuario, se conecta una tecla de fin de llamada o una tecla de encendido, la unidad de circuitos de suministro de energía ex310 suministra energía a las unidades respectivas desde un grupo de baterías a fin de activar el teléfono móvil con cámara digital ex115 en un estado listo.
En el teléfono móvil ex115, la unidad de procesamiento de voz ex305 convierte las señales de voz recibidas por la unidad de entrada de voz ex205 en el modo conversación en datos digitales de voz, mediante el control de la unidad principal de control ex311, que incluye una CPU, una ROM y una RAM, la unidad de circuitos de módem ex306 lleva a cabo un proceso de espectro expandido de los datos digitales de voz y la unidad de circuitos de comunicación ex301 lleva a cabo una conversión de digital a analógico y una transformación de frecuencia de los datos, a fin de transmitirlos a través de la antena ex201. Asimismo, en el teléfono móvil ex115, la unidad de circuitos de comunicación ex301 amplifica los datos recibidos por la antena ex201 en el modo de conversión y lleva a cabo una transformación de frecuencia y una conversión de analógico a digital de los datos, la unidad de circuitos de módem ex306 lleva a cabo un proceso inverso de espectro expandido de los datos y la unidad de procesamiento de voz ex305 los convierte en datos analógicos de voz, a fin de enviarlos a través de la unidad de salida de voz ex208.
Además, cuando se transmite un correo electrónico en el modo de comunicación de datos, los datos de texto del correo electrónico, introducidos accionando las teclas de operación ex204 del cuerpo principal, se envían a la unidad principal de control ex311 a través de la unidad de control de entrada de operación ex304. En la unidad principal de control ex311, una vez que la unidad de circuitos de módem ex306 lleva a cabo un proceso de espectro expandido de los datos de texto y la unidad de circuitos de comunicación ex301 lleva a cabo una conversión de digital a analógico y una transformación de frecuencia de los mismos, los datos se transmiten al emplazamiento de células ex110 a través de la antena ex201.
Cuando los datos de imagen se transmiten en el modo de comunicación de datos, los datos de imagen filmados por la unidad de cámara ex203 se suministran 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 transmiten, también se pueden visualizar los datos de imagen filmados con la unidad de cámara ex203 directamente en la unidad de visualización ex202 a través de la unidad de interfaz de cámara ex303 y de la unidad de control de LCD ex302.
La unidad de codificación de imágenes ex312, que incluye el dispositivo de codificación de imágenes, según se explica en la presente invención, comprime y codifica los datos de imagen suministrados desde la unidad de cámara ex203 mediante el procedimiento de codificación que usa el dispositivo de codificación de imágenes, como se muestra en el primer ejemplo que se ha mencionado anteriormente, a fin de transformarlos en datos de imagen codificada, y los envía a la unidad de multiplexación/demultiplexación ex308. En este momento, el teléfono móvil ex115 envía las voces recibidas por la unidad de entrada de voz ex205, durante la filmación con la unidad de cámara ex203, a la unidad de multiplexación/demultiplexación ex308, como datos digitales de voz, a través de la unidad de procesamiento de voz ex305.
La unidad de multiplexación/demultiplexación ex308 multiplexa los datos de imagen codificada 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 circuitos de módem ex306 lleva a cabo un proceso de espectro expandido de los datos multiplexados, obtenidos como consecuencia de la multiplexación, y la unidad de circuitos de comunicación ex301 lleva a cabo una conversión de digital a analógico y una transformación de frecuencia de los datos para su transmisión a través de la antena ex201.
Respecto a la recepción de datos de un fichero de imágenes móviles que está enlazado a una página Web o similar en el modo de comunicación de datos, la unidad de circuitos de módem ex306 lleva a cabo un proceso inverso de espectro expandido de los datos recibidos desde el emplazamiento de células ex110 a través de la antena ex201 y envía los datos multiplexados, obtenidos como consecuencia del proceso, a la unidad de multiplexación/demultiplexación ex308.
A fin de decodificar los datos multiplexados recibidos a través de la antena ex201, la unidad de multiplexación/demultiplexación ex308 separa los datos multiplexados en un flujo de bits de datos de imagen y en un flujo de bits de datos de voz y suministra los datos de imagen codificada a la unidad de decodificación de imágenes ex309 y los datos de voz a la unidad de procesamiento de voz ex305, respectivamente, a través del canal de transmisión sincrónico ex313.
A continuación, la unidad de decodificación de imágenes ex309, que incluye el dispositivo de decodificación de imágenes según lo explicado en la invención que se ha mencionado anteriormente, decodifica el flujo de bits de datos de imagen mediante el procedimiento de decodificación correspondiente al procedimiento de codificación, como se muestra en las formas de realización y ejemplos que se han mencionado anteriormente, para generar datos de imágenes móviles reproducidas y suministra estos datos a la unidad de visualización ex202 a través de la unidad de control de LCD ex302 y, de ese modo, se visualizan los datos de imagen incluidos, por ejemplo, en un fichero de imágenes móviles enlazado a una página Web. A la vez, la unidad de procesamiento de voz ex305 convierte los datos de voz en datos analógicos de voz, y suministra dichos datos a la unidad de salida de voz ex208 y, de ese modo, se reproducen los datos de voz incluidos, por ejemplo, en el fichero de imágenes móviles enlazado a una página Web.
La presente invención no se limita al sistema que se ha mencionado anteriormente y el dispositivo de codificación de imágenes o el dispositivo de decodificación de imágenes, de las formas de realización y ejemplos que se han mencionado anteriormente, se puede incorporar a un sistema de transmisión digital como se muestra en la Fig. 30. Dicha transmisión digital satélite o terrestre últimamente están de actualidad. Más específicamente, un flujo de bits de información de video se transmite desde una estación de transmisión ex409 a un satélite de transmisión ex410 o se comunica con éste a través de ondas de radio. Al recibirlo, el satélite de transmisión ex410 transmite ondas de radio para transmisión. Posteriormente, una antena de uso doméstico ex406 con una función de recepción de transmisión satélite recibe las ondas de radio y una televisión (receptor) ex401 o un receptor de televisión digital externo (STB) ex407 decodifica el flujo de bits para su reproducción. El dispositivo de decodificación de imágenes, como se muestra en la forma de realización y ejemplo que se ha mencionado anteriormente, puede estar dispuesto en el dispositivo de reproducción ex403 para leer y decodificar el flujo de bits grabado en un soporte de almacenamiento ex402 que es un soporte de grabación, tal como un CD o un DVD. En este caso, las señales de video reproducidas se visualizan en un monitor ex404. Asimismo, el dispositivo de decodificación de imágenes puede estar dispuesto en el receptor de televisión digital externo ex407 conectado a un cable ex405, para una televisión por cable, o a la antena ex406, para una transmisión satélite o terrestre, a fin de reproducirlas en un monitor ex408 de la televisión ex401. El dispositivo de decodificación de imágenes puede estar incorporado en la televisión, no en el receptor de televisión digital externo. Asimismo, un coche ex412 que tenga una antena ex411 puede recibir señales desde el satélite ex410 o desde el emplazamiento de células ex107 para reproducir imágenes móviles en un dispositivo de visualización, tal como un sistema de navegación para coches ex413.
Además, el dispositivo de codificación de imágenes, como se muestra en las formas de realización y ejemplos que se han mencionado anteriormente, puede codificar señales de imagen para grabarlas en un soporte de grabación. Como ejemplo concreto, existe una grabadora ex420, tal como una grabadora de DVD para grabar señales de imagen en un disco DVD ex421 y una grabadora de disco para grabarlas en un disco duro. Las mismas se pueden grabar en una tarjeta SD ex422. Si la grabadora ex420 incluye el dispositivo de decodificación de imágenes, como se muestra en las formas de realización y ejemplos que se han descrito anteriormente, las señales de imagen grabadas en el disco DVD ex421 o en la tarjeta SD ex422 se pueden reproducir para su visualización en el monitor ex408.
Respecto a la estructura del sistema de navegación para coches ex413, es posible la estructura sin la unidad de cámara ex203, sin la unidad de interfaz de cámara ex303 y sin la unidad de codificación de imágenes ex312, de los componentes que se muestran en la Fig. 29. Lo mismo ocurre con el ordenador ex111, la televisión (receptor) ex401 y otros.
Además, son posibles tres tipos de estructuraciones para una terminal, tal como el teléfono móvil ex114 que se ha mencionado anteriormente. Una terminal transmisora/receptora provista tanto de un codificador como de un decodificador, una terminal transmisora provista sólo de un codificador y una terminal receptora provista sólo de un decodificador.
Como se ha descrito anteriormente, se puede usar el procedimiento de codificación de imágenes o el procedimiento de decodificación de imágenes de las formas de realización y ejemplos que se han mencionado anteriormente, para cualquiera de los dispositivos y sistemas que se han mencionado anteriormente y usando este procedimiento, se pueden obtener los efectos que se han descrito en las formas de realización y ejemplos que se han mencionado anteriormente.
Asimismo, la presente invención no se limita a las formas de realización que se han mencionado anteriormente y son posibles una gran variedad de variaciones o modificaciones dentro del alcance de las reivindicaciones siguientes.
Un procedimiento de codificación de imágenes según la presente invención mejora el rendimiento de codificación dado que se pueden consultar tablas óptimas para una codificación de longitud variable cuando se codifica el número de coeficientes distintos de 0 contenidos en un bloque actual que se va a codificar.
Asimismo, un procedimiento de decodificación de imágenes según la presente invención decodifica correctamente un flujo de bits en el que se codifica un número de coeficientes distintos de 0 contenidos en un bloque después de la transformación ortogonal, consultando tablas óptimas para una codificación de longitud variable.
Aplicabilidad industrial
Por lo tanto, el procedimiento de codificación de imágenes y el procedimiento de decodificación de imágenes, según la presente invención, son útiles como un procedimiento tanto para codificar una imagen, a fin de crear un flujo de bits, como para decodificar el flujo de bits creado usando dispositivos, tales como un teléfono móvil, un dispositivo de DVD, un ordenador personal o similar.

Claims (4)

1. Un procedimiento de decodificación para decodificar una imagen decodificada, bloque a bloque, siendo obtenida la imagen codificada transformando la imagen en coeficientes que muestran componentes de frecuencia espacial, comprendiendo el procedimiento:
establecer un valor predictivo de un número total de coeficientes no nulos de un bloque actual que se va a decodificar en función del número total de coeficientes no nulos de un bloque decodificado situado sobre el bloque actual y un número total de coeficientes no nulos de un bloque decodificado situado a la izquierda del bloque actual, en el que cada coeficiente no nulo es un coeficiente de transformación que tiene un valor de nivel distinto de "0";
seleccionar una tabla de códigos de longitud variable en función del valor predictivo establecido; y
decodificar los datos codificados obtenidos codificando el número total de coeficientes no nulos del bloque actual usando la tabla de códigos de longitud variable seleccionada,
en el que, se establece que el valor predictivo tenga el valor de "0" en el caso en el que ninguno de los dos bloques codificados esté situado sobre y a la izquierda del bloque actual.
2. Un procedimiento de decodificación según la reivindicación 1, en el que dicho caso de que no haya bloques decodificados sobre y a la izquierda del bloque actual, es un caso en el que los dos bloques decodificados situados sobre y a la izquierda del bloque actual está situados fuera de una imagen que incluye el bloque actual.
3. Un procedimiento de decodificación según la reivindicación 1, en el que dicho caso en el que no hay bloques decodificados sobre y a la izquierda del bloque actual es un caso en el que cuando los límites superiores e izquierdos del bloque actual son un límite de una imagen.
4. Un dispositivo de decodificación para decodificar una imagen codificada, bloque a bloque, siendo obtenida la imagen codificada transformando la imagen en coeficientes que muestran componentes de frecuencia espacial, comprendiendo el dispositivo:
una unidad de cálculo del valor predictivo (1501) que puede ponerse en funcionamiento para establecer un valor predictivo de un número total de coeficientes no nulos de un bloque actual que se va a decodificar en función del número total de coeficientes no nulos de un bloque decodificado situado sobre el bloque actual y un número total de coeficientes no nulos de un bloque decodificado situado a la izquierda del bloque actual, en el que cada coeficiente no nulo es un coeficiente de transformación que tiene un valor de nivel distinto de "0";
una unidad de selección de tabla (1504) que puede ponerse en funcionamiento para seleccionar una tabla de códigos de longitud variable en función del valor predictivo establecido; y
una unidad de decodificación de longitud variable (1506) que puede ponerse en funcionamiento para decodificar los datos codificados obtenidos al codificar el número total de coeficientes no nulos del bloque actual usando la tabla de códigos de longitud variable seleccionada,
en el que, una unidad de cálculo del valor predictivo (1501) establece que un valor predictivo tiene el valor de "0" en el caso en el que ninguno de los dos bloques codificados esté situado sobre y a la izquierda del bloque actual.
ES06123556T 2002-04-15 2003-03-27 Procedimiento de decodificacion de imagenes. Expired - Lifetime ES2329823T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2002112665 2002-04-15
JP2002-112665 2002-04-15

Publications (1)

Publication Number Publication Date
ES2329823T3 true ES2329823T3 (es) 2009-12-01

Family

ID=29243326

Family Applications (13)

Application Number Title Priority Date Filing Date
ES05017701T Expired - Lifetime ES2277313T3 (es) 2002-04-15 2003-03-27 Procedimiento de codificacion de imagen.
ES06123494T Expired - Lifetime ES2329822T3 (es) 2002-04-15 2003-03-27 Procedimiento de decodificacion de imagenes.
ES09168413T Expired - Lifetime ES2348325T3 (es) 2002-04-15 2003-03-27 Procedimiento y aparato de decodificación de imágenes.
ES09168411T Expired - Lifetime ES2369065T3 (es) 2002-04-15 2003-03-27 Procedimiento de codificación de imágenes y procedimiento de decodificación de imágenes.
ES10165491T Expired - Lifetime ES2362563T3 (es) 2002-04-15 2003-03-27 Procedimiento de codificación de imágenes y procedimiento de decodificación de imágenes.
ES10180970T Expired - Lifetime ES2398516T3 (es) 2002-04-15 2003-03-27 Dispositivo de transmisión y recepción de imágenes
ES06123556T Expired - Lifetime ES2329823T3 (es) 2002-04-15 2003-03-27 Procedimiento de decodificacion de imagenes.
ES06123712T Expired - Lifetime ES2329712T3 (es) 2002-04-15 2003-03-27 Procedimiento de codificacion de imagenes.
ES10165499T Expired - Lifetime ES2369653T3 (es) 2002-04-15 2003-03-27 Procedimiento y aparato de codificación de imágenes.
ES03715476T Expired - Lifetime ES2252666T3 (es) 2002-04-15 2003-03-27 Procedimiento de codificacion de imagenes y procedimiento de de codificacion de imagenes.
ES06123645T Expired - Lifetime ES2330661T4 (es) 2002-04-15 2003-03-27 Procedimiento de codificacion de imagenes.
ES10180980T Expired - Lifetime ES2399226T3 (es) 2002-04-15 2003-03-27 Procedimiento de descodificación de imágenes
ES10165483T Expired - Lifetime ES2376639T3 (es) 2002-04-15 2003-03-27 Procedimiento de codificación de im�?genes y procedimiento de decodificación de im�?genes.

Family Applications Before (6)

Application Number Title Priority Date Filing Date
ES05017701T Expired - Lifetime ES2277313T3 (es) 2002-04-15 2003-03-27 Procedimiento de codificacion de imagen.
ES06123494T Expired - Lifetime ES2329822T3 (es) 2002-04-15 2003-03-27 Procedimiento de decodificacion de imagenes.
ES09168413T Expired - Lifetime ES2348325T3 (es) 2002-04-15 2003-03-27 Procedimiento y aparato de decodificación de imágenes.
ES09168411T Expired - Lifetime ES2369065T3 (es) 2002-04-15 2003-03-27 Procedimiento de codificación de imágenes y procedimiento de decodificación de imágenes.
ES10165491T Expired - Lifetime ES2362563T3 (es) 2002-04-15 2003-03-27 Procedimiento de codificación de imágenes y procedimiento de decodificación de imágenes.
ES10180970T Expired - Lifetime ES2398516T3 (es) 2002-04-15 2003-03-27 Dispositivo de transmisión y recepción de imágenes

Family Applications After (6)

Application Number Title Priority Date Filing Date
ES06123712T Expired - Lifetime ES2329712T3 (es) 2002-04-15 2003-03-27 Procedimiento de codificacion de imagenes.
ES10165499T Expired - Lifetime ES2369653T3 (es) 2002-04-15 2003-03-27 Procedimiento y aparato de codificación de imágenes.
ES03715476T Expired - Lifetime ES2252666T3 (es) 2002-04-15 2003-03-27 Procedimiento de codificacion de imagenes y procedimiento de de codificacion de imagenes.
ES06123645T Expired - Lifetime ES2330661T4 (es) 2002-04-15 2003-03-27 Procedimiento de codificacion de imagenes.
ES10180980T Expired - Lifetime ES2399226T3 (es) 2002-04-15 2003-03-27 Procedimiento de descodificación de imágenes
ES10165483T Expired - Lifetime ES2376639T3 (es) 2002-04-15 2003-03-27 Procedimiento de codificación de im�?genes y procedimiento de decodificación de im�?genes.

Country Status (20)

Country Link
US (14) US7095896B2 (es)
EP (15) EP1753246B1 (es)
JP (22) JP4130780B2 (es)
KR (14) KR101227720B1 (es)
CN (7) CN1293762C (es)
AT (13) ATE447828T1 (es)
AU (1) AU2003227248B2 (es)
BR (2) BRPI0303566B1 (es)
CA (2) CA2444357C (es)
CY (2) CY1111051T1 (es)
DE (8) DE60328837D1 (es)
DK (5) DK2131593T3 (es)
ES (13) ES2277313T3 (es)
HK (4) HK1136730A1 (es)
MX (1) MXPA03010115A (es)
MY (4) MY146793A (es)
PT (6) PT2131593E (es)
SI (1) SI1478188T1 (es)
TW (4) TWI314838B (es)
WO (1) WO2003088675A1 (es)

Families Citing this family (81)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100993443B1 (ko) * 2001-11-22 2010-11-09 파나소닉 주식회사 복호화 방법
JP4130780B2 (ja) 2002-04-15 2008-08-06 松下電器産業株式会社 画像符号化方法および画像復号化方法
CN1214649C (zh) * 2003-09-18 2005-08-10 中国科学院计算技术研究所 用于视频预测残差系数编码的熵编码方法
JP3879741B2 (ja) * 2004-02-25 2007-02-14 ソニー株式会社 画像情報符号化装置および画像情報符号化方法
US7376277B2 (en) * 2004-06-15 2008-05-20 Pegasus Imaging Corporation Data transform for improved compression of multicomponent images
US7477741B1 (en) * 2004-10-01 2009-01-13 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Analysis resistant cipher method and apparatus
US8633985B2 (en) * 2005-08-05 2014-01-21 Vigil Systems Pty. Ltd. Computerized information collection and training method and apparatus
US8599841B1 (en) 2006-03-28 2013-12-03 Nvidia Corporation Multi-format bitstream decoding engine
US8593469B2 (en) * 2006-03-29 2013-11-26 Nvidia Corporation Method and circuit for efficient caching of reference video data
KR100745765B1 (ko) * 2006-04-13 2007-08-02 삼성전자주식회사 화상 데이터의 공간상 예측 장치 및 방법과 그를 이용한부호화 장치 및 방법, 화상 데이터의 공간상 예측 보상장치 및 방법과 그를 이용한 복호화 장치 및 방법
US7884742B2 (en) * 2006-06-08 2011-02-08 Nvidia Corporation System and method for efficient compression of digital data
US20080056381A1 (en) * 2006-08-30 2008-03-06 Chih-Ta Star Sung Image compression and decompression with fast storage device accessing
WO2008062687A1 (en) * 2006-11-24 2008-05-29 Nec Corporation Coding and decoding device, coding and decoding method and program
US7733249B2 (en) * 2007-01-18 2010-06-08 Qin Zhang Method and system of compressing and decompressing data
EP2120461B1 (en) 2007-03-14 2011-07-06 Nippon Telegraph and Telephone Corporation Code quantity estimating method and device, their program, and recording medium
BRPI0808567A2 (pt) 2007-03-14 2014-09-02 Nippon Telegraph & Telephone Método e aparelho de pesquisa de vetor de movimento, programa para o mesmo, e meio de armazenamento, que armazena o programa
CN101637025B (zh) 2007-03-14 2016-03-23 日本电信电话株式会社 量化控制方法和量化控制装置
CA2679767C (en) 2007-03-14 2013-06-25 Nippon Telegraph And Telephone Corporation Encoding bit-rate control method and apparatus, program therefor, and storage medium which stores the program
US20080260023A1 (en) * 2007-04-18 2008-10-23 Chih-Ta Star Sung Digital video encoding and decoding with refernecing frame buffer compression
NO328295B1 (no) * 2007-12-20 2010-01-25 Tandberg Telecom As VLC-fremgangsmate og -innretning
US8213502B2 (en) * 2007-12-31 2012-07-03 Ceva D.S.P. Ltd. Method and system for real-time adaptive quantization control
CN101500159B (zh) * 2008-01-31 2012-01-11 华为技术有限公司 一种图像熵编码、熵解码的方法及装置
JPWO2009107777A1 (ja) * 2008-02-27 2011-07-07 株式会社東芝 動画像符号化/復号装置
JP2010103969A (ja) * 2008-09-25 2010-05-06 Renesas Technology Corp 画像復号方法、画像復号装置、画像符号化方法及び画像符号化装置
KR101458471B1 (ko) * 2008-10-01 2014-11-10 에스케이텔레콤 주식회사 영상 부호화/복호화 방법 및 장치
CN101742278B (zh) * 2008-11-12 2012-11-07 富士通半导体股份有限公司 获取图像的运动矢量和边界强度的方法和系统
JP2012124542A (ja) * 2009-03-03 2012-06-28 Hitachi Ltd 動画像符号化方法及び動画像復号化方法
JP5258664B2 (ja) 2009-04-14 2013-08-07 株式会社エヌ・ティ・ティ・ドコモ 画像符号化装置、方法およびプログラム、並びに、画像復号装置、方法およびプログラム
MX2011012250A (es) * 2009-05-19 2012-03-07 Nokia Corp Procedimiento y aparato para la codificacion de longitud variable.
US9628794B2 (en) 2009-06-18 2017-04-18 Kabushiki Kaisha Toshiba Video encoding apparatus and a video decoding apparatus
EP2530937B1 (en) * 2009-06-18 2015-03-18 Kabushiki Kaisha Toshiba Video encoding apparatus and video decoding apparatus
US20110158310A1 (en) * 2009-12-30 2011-06-30 Nvidia Corporation Decoding data using lookup tables
KR101780921B1 (ko) 2010-04-01 2017-09-21 소니 주식회사 화상 처리 장치, 방법 및 기록매체
RS64605B1 (sr) 2010-04-13 2023-10-31 Ge Video Compression Llc Kodiranje videa primenom podele sa više stabala na slikama
KR102166520B1 (ko) 2010-04-13 2020-10-16 지이 비디오 컴프레션, 엘엘씨 샘플 영역 병합
NO2991355T3 (es) 2010-04-13 2018-04-14
BR122020007923B1 (pt) 2010-04-13 2021-08-03 Ge Video Compression, Llc Predição interplano
US8638863B1 (en) * 2010-05-18 2014-01-28 Google Inc. Apparatus and method for filtering video using extended edge-detection
US8817882B2 (en) * 2010-07-30 2014-08-26 Qualcomm Incorporated Coding blocks of data using a generalized form of golomb codes
JP5064547B2 (ja) * 2010-09-15 2012-10-31 豊田合成株式会社 車両用放電装置
US9025661B2 (en) * 2010-10-01 2015-05-05 Qualcomm Incorporated Indicating intra-prediction mode selection for video coding
JP5652101B2 (ja) * 2010-10-05 2015-01-14 富士通株式会社 画像処理装置及び画像処理方法
US8913662B2 (en) * 2011-01-06 2014-12-16 Qualcomm Incorporated Indicating intra-prediction mode selection for video coding using CABAC
US9210442B2 (en) 2011-01-12 2015-12-08 Google Technology Holdings LLC Efficient transform unit representation
US9380319B2 (en) 2011-02-04 2016-06-28 Google Technology Holdings LLC Implicit transform unit representation
JP5801614B2 (ja) * 2011-06-09 2015-10-28 キヤノン株式会社 画像処理装置、画像処理方法
JP5839848B2 (ja) 2011-06-13 2016-01-06 キヤノン株式会社 画像処理装置、画像処理方法
KR101953522B1 (ko) * 2011-06-17 2019-02-28 가부시키가이샤 제이브이씨 켄우드 화상 부호화 장치, 화상 부호화 방법 및 화상 부호화 프로그램, 및 화상 복호 장치, 화상 복호 방법 및 화상 복호 프로그램
TWI569634B (zh) * 2011-10-31 2017-02-01 Jvc Kenwood Corp Dynamic image decoding device, dynamic image decoding method and dynamic image decoding program
JP2013126093A (ja) * 2011-12-14 2013-06-24 Sony Corp 画像処理装置及び画像処理方法
TWI607650B (zh) * 2011-12-28 2017-12-01 Jvc Kenwood Corp Motion picture decoding apparatus, motion picture decoding method, and motion picture decoding program
JP5977544B2 (ja) * 2012-03-09 2016-08-24 キヤノン株式会社 情報処理装置、情報処理方法
JP5975685B2 (ja) 2012-03-09 2016-08-23 キヤノン株式会社 情報処理装置、情報処理方法
JP6000579B2 (ja) 2012-03-09 2016-09-28 キヤノン株式会社 情報処理装置、情報処理方法
US9219915B1 (en) 2013-01-17 2015-12-22 Google Inc. Selection of transform size in video coding
JP5498597B2 (ja) * 2013-02-07 2014-05-21 株式会社東芝 動画像符号化装置及び方法
JP5547312B2 (ja) * 2013-02-07 2014-07-09 株式会社東芝 動画像復号化装置及び方法
US9544597B1 (en) 2013-02-11 2017-01-10 Google Inc. Hybrid transform in video encoding and decoding
US9967559B1 (en) 2013-02-11 2018-05-08 Google Llc Motion vector dependent spatial transformation in video coding
US9674530B1 (en) 2013-04-30 2017-06-06 Google Inc. Hybrid transforms in video coding
WO2015109598A1 (en) * 2014-01-27 2015-07-30 Mediatek Singapore Pte. Ltd. Methods for motion parameter hole filling
JP2017522839A (ja) * 2014-06-20 2017-08-10 シャープ株式会社 整合パレット符号化
US9565451B1 (en) 2014-10-31 2017-02-07 Google Inc. Prediction dependent transform coding
JP6561644B2 (ja) * 2014-12-25 2019-08-21 オムロン株式会社 導光板、表示装置及び遊技機
US10171810B2 (en) 2015-06-22 2019-01-01 Cisco Technology, Inc. Transform coefficient coding using level-mode and run-mode
US9769499B2 (en) 2015-08-11 2017-09-19 Google Inc. Super-transform video coding
US10531102B2 (en) 2015-09-10 2020-01-07 Samsung Electronics Co., Ltd. Encoding device, decoding device, and encoding and decoding method thereof
US10277905B2 (en) 2015-09-14 2019-04-30 Google Llc Transform selection for non-baseband signal coding
US9807423B1 (en) 2015-11-24 2017-10-31 Google Inc. Hybrid transform scheme for video coding
WO2018030293A1 (ja) * 2016-08-10 2018-02-15 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法及び復号方法
JP6434172B2 (ja) * 2018-01-12 2018-12-05 マクセル株式会社 復号化方法
WO2019143688A1 (en) 2018-01-19 2019-07-25 Pcms Holdings, Inc. Multi-focal planes with varying positions
EP4266113A3 (en) 2018-03-23 2023-12-27 InterDigital VC Holdings, Inc. Multifocal plane based method to produce stereoscopic viewpoints in a dibr system (mfp-dibr)
EP3818694A1 (en) * 2018-07-05 2021-05-12 PCMS Holdings, Inc. Method and system for near-eye focal plane overlays for 3d perception of content on 2d displays
CN109360253B (zh) * 2018-09-28 2023-08-11 共享智能装备有限公司 一种大像素bmp格式图像的绘制方法
US10666985B1 (en) * 2018-11-18 2020-05-26 Sony Corporation Sub-block based entropy coding for image coding
US11122297B2 (en) 2019-05-03 2021-09-14 Google Llc Using border-aligned block functions for image compression
US11663730B2 (en) * 2021-02-19 2023-05-30 Toyota Motor Engineering & Manufacturing North America, Inc. Systems and methods for an improved camera system using a graded lens and filters to estimate depth
CN113436289B (zh) * 2021-08-04 2023-08-22 成都工业学院 一种基于方向向量相关系数的图像编码及分类方法
CN113678849B (zh) * 2021-08-15 2023-06-23 万杰智能科技股份有限公司 一种油条坯转送及拉长装置
CN117498873B (zh) * 2023-11-07 2024-03-29 东莞市杜氏诚发精密弹簧有限公司 一种血管栓塞弹簧组件智能加工系统

Family Cites Families (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4541012A (en) * 1982-01-04 1985-09-10 Compression Labs, Inc. Video bandwidth reduction system employing interframe block differencing and transform domain coding
US5010401A (en) * 1988-08-11 1991-04-23 Mitsubishi Denki Kabushiki Kaisha Picture coding and decoding apparatus using vector quantization
JPH04100390A (ja) * 1990-08-20 1992-04-02 Hitachi Ltd 高能率符号化方式
JP3207198B2 (ja) 1990-11-26 2001-09-10 株式会社東芝 液晶表示プロジェクタの冷却装置
JPH04223773A (ja) * 1990-12-26 1992-08-13 Casio Comput Co Ltd 符号化装置
EP0533195A2 (en) * 1991-09-20 1993-03-24 Sony Corporation Picture signal encoding and/or decoding apparatus
US5475501A (en) * 1991-09-30 1995-12-12 Sony Corporation Picture encoding and/or decoding method and apparatus
US5510840A (en) * 1991-12-27 1996-04-23 Sony Corporation Methods and devices for encoding and decoding frame signals and recording medium therefor
JP3016456B2 (ja) * 1992-06-15 2000-03-06 日本電信電話株式会社 適応的可変長符号化方法
US5842033A (en) * 1992-06-30 1998-11-24 Discovision Associates Padding apparatus for passing an arbitrary number of bits through a buffer in a pipeline system
JP3278948B2 (ja) * 1993-02-05 2002-04-30 日本電信電話株式会社 可変長符号化方法
KR940023248A (ko) * 1993-03-15 1994-10-22 오오가 노리오 화상 신호 부호화 방법 및 장치와, 화상 신호 복호화 방법 및 장치
JPH07107492A (ja) * 1993-10-04 1995-04-21 N T T Data Tsushin Kk 画像符号化方式
US5708659A (en) * 1993-10-20 1998-01-13 Lsi Logic Corporation Method for hashing in a packet network switching system
US5887187A (en) * 1993-10-20 1999-03-23 Lsi Logic Corporation Single chip network adapter apparatus
US5539663A (en) 1993-11-24 1996-07-23 Intel Corporation Process, apparatus and system for encoding and decoding video signals using temporal filtering
US5576765A (en) * 1994-03-17 1996-11-19 International Business Machines, Corporation Video decoder
US5563593A (en) * 1994-03-18 1996-10-08 Lucent Technologies Inc. Video coding with optimized low complexity variable length codes
US5500678A (en) * 1994-03-18 1996-03-19 At&T Corp. Optimized scanning of transform coefficients in video coding
TW393856B (en) 1994-09-07 2000-06-11 Ind Tech Res Inst Video compression method and device
JP4223571B2 (ja) * 1995-05-02 2009-02-12 ソニー株式会社 画像符号化方法及び装置
US5740283A (en) * 1995-07-06 1998-04-14 Rubin, Bednarek & Associates, Inc. Digital video compression utilizing mixed vector and scalar outputs
JP3484834B2 (ja) * 1995-07-28 2004-01-06 ソニー株式会社 データ符号化/復号化方法および装置
JPH0955935A (ja) * 1995-08-15 1997-02-25 Nippon Steel Corp 画像および音声符号化装置
JP3552811B2 (ja) * 1995-09-29 2004-08-11 三菱電機株式会社 ディジタル映像信号符号化装置および復号化装置
US5883678A (en) * 1995-09-29 1999-03-16 Kabushiki Kaisha Toshiba Video coding and video decoding apparatus for reducing an alpha-map signal at a controlled reduction ratio
US5777679A (en) * 1996-03-15 1998-07-07 International Business Machines Corporation Video decoder including polyphase fir horizontal filter
US5668599A (en) * 1996-03-19 1997-09-16 International Business Machines Corporation Memory management for an MPEG2 compliant decoder
JP2848326B2 (ja) * 1996-03-28 1999-01-20 日本電気株式会社 Mpeg符号化画像復号装置
CN100361536C (zh) * 1996-05-28 2008-01-09 松下电器产业株式会社 图像预测编码/解码装置和方法以及记录媒体
JPH1023425A (ja) * 1996-07-01 1998-01-23 Sony Corp 画像符号化装置および方法、画像復号化装置および方法、並びに画像記録媒体
US6341144B1 (en) * 1996-09-20 2002-01-22 At&T Corp. Video coder providing implicit coefficient prediction and scan adaptation for image coding and intra coding of video
EP1689194A3 (en) * 1996-11-07 2008-12-10 Panasonic Corporation Image encoder and image decoder
JP3208101B2 (ja) 1996-11-07 2001-09-10 松下電器産業株式会社 画像符号化方法および画像符号化装置並びに画像符号化プログラムを記録した記録媒体
US5821887A (en) * 1996-11-12 1998-10-13 Intel Corporation Method and apparatus for decoding variable length codes
US6614845B1 (en) * 1996-12-24 2003-09-02 Verizon Laboratories Inc. Method and apparatus for differential macroblock coding for intra-frame data in video conferencing systems
US5974184A (en) 1997-03-07 1999-10-26 General Instrument Corporation Intra-macroblock DC and AC coefficient prediction for interlaced digital video
EP0868085B2 (en) * 1997-03-26 2006-09-27 Matsushita Electric Industrial Co., Ltd. Image decoding apparatus
US6680976B1 (en) * 1997-07-28 2004-01-20 The Board Of Trustees Of The University Of Illinois Robust, reliable compression and packetization scheme for transmitting video
JP3356663B2 (ja) * 1997-10-22 2002-12-16 松下電器産業株式会社 画像符号化装置、画像符号化方法および画像符号化プログラムを記録した記録媒体
JP3738939B2 (ja) * 1998-03-05 2006-01-25 Kddi株式会社 動画像のカット点検出装置
US6563953B2 (en) * 1998-11-30 2003-05-13 Microsoft Corporation Predictive image compression using a single variable length code for both the luminance and chrominance blocks for each macroblock
US6625211B1 (en) * 1999-02-25 2003-09-23 Matsushita Electric Industrial Co., Ltd. Method and apparatus for transforming moving picture coding system
US6658157B1 (en) * 1999-06-29 2003-12-02 Sony Corporation Method and apparatus for converting image information
JP2001028748A (ja) * 1999-07-12 2001-01-30 Sony Corp データ再生伝送装置及びデータ再生伝送方法
FI116819B (fi) * 2000-01-21 2006-02-28 Nokia Corp Menetelmä kuvien lähettämiseksi ja kuvakooderi
JP2001251616A (ja) * 2000-03-02 2001-09-14 Media Glue Corp 多重化音響・動画圧縮符号化信号変換方法、装置および変換プログラムを記録した媒体
KR100349649B1 (ko) * 2000-07-11 2002-08-24 주식회사 큐리텔 동영상압축 부호화장치의 가변 길이 부호화기
KR100349650B1 (ko) * 2000-07-11 2002-08-24 주식회사 큐리텔 동영상 압축 부호화장치의 가변길이부호화 테이블 분할가변길이 부호화 장치 및 그 방법
KR20020006250A (ko) * 2000-07-12 2002-01-19 린 와이-푸 점술을 중심으로 하는 네트워크 마케팅 시스템 및 그 방법
US6748020B1 (en) * 2000-10-25 2004-06-08 General Instrument Corporation Transcoder-multiplexer (transmux) software architecture
WO2002078355A1 (en) * 2001-03-23 2002-10-03 Nokia Corporation Variable length coding
KR100454501B1 (ko) * 2001-12-26 2004-10-28 브이케이 주식회사 영상신호를 부호화 또는 복호화하기 위한 예측 장치 및 방법
JP4130780B2 (ja) 2002-04-15 2008-08-06 松下電器産業株式会社 画像符号化方法および画像復号化方法
FI114679B (fi) * 2002-04-29 2004-11-30 Nokia Corp Satunnaisaloituspisteet videokoodauksessa
JP4223773B2 (ja) 2002-09-13 2009-02-12 株式会社東芝 無線通信端末
JP4100390B2 (ja) 2004-10-07 2008-06-11 三菱自動車工業株式会社 車両の前部車体構造

Also Published As

Publication number Publication date
US20060239575A1 (en) 2006-10-26
EP2239948B1 (en) 2011-06-01
JP2011061834A (ja) 2011-03-24
KR20100074327A (ko) 2010-07-01
MY140969A (en) 2010-02-12
KR20110099348A (ko) 2011-09-07
EP2293578B1 (en) 2012-11-21
EP2254341A1 (en) 2010-11-24
ES2329712T3 (es) 2009-11-30
US7308149B2 (en) 2007-12-11
SI1478188T1 (sl) 2006-04-30
CN1565130A (zh) 2005-01-12
JP4598158B1 (ja) 2010-12-15
ATE542370T1 (de) 2012-02-15
US20040184538A1 (en) 2004-09-23
MY146793A (en) 2012-09-28
CN1976468A (zh) 2007-06-06
EP1744562A3 (en) 2007-02-07
KR20120039761A (ko) 2012-04-25
JP2009171602A (ja) 2009-07-30
TW200307465A (en) 2003-12-01
EP1750451A2 (en) 2007-02-07
JP5716082B2 (ja) 2015-05-13
US8139878B2 (en) 2012-03-20
EP1744561A2 (en) 2007-01-17
KR20100074326A (ko) 2010-07-01
JP4653258B1 (ja) 2011-03-16
US20060233451A1 (en) 2006-10-19
KR101227720B1 (ko) 2013-01-29
EP1744562B1 (en) 2009-08-12
PT2254341E (pt) 2011-10-17
JP4185560B2 (ja) 2008-11-26
JP4382864B2 (ja) 2009-12-16
KR100987548B1 (ko) 2010-10-12
US7184598B2 (en) 2007-02-27
CA2732005C (en) 2012-12-04
ES2252666T3 (es) 2006-05-16
US20060233450A1 (en) 2006-10-19
JP2011010339A (ja) 2011-01-13
US20130315495A1 (en) 2013-11-28
DK1744562T3 (da) 2009-10-12
ES2399226T3 (es) 2013-03-26
JP4982459B2 (ja) 2012-07-25
AU2003227248B2 (en) 2007-08-23
MY141699A (en) 2010-06-15
EP1478188B1 (en) 2005-12-07
CN1293762C (zh) 2007-01-03
CN1976469A (zh) 2007-06-06
ATE439738T1 (de) 2009-08-15
DE60302652T2 (de) 2006-08-10
JP2009005396A (ja) 2009-01-08
ES2330661T3 (es) 2009-12-14
JP2010081646A (ja) 2010-04-08
CA2732005A1 (en) 2003-10-23
TWI281352B (en) 2007-05-11
JP4598159B2 (ja) 2010-12-15
TW200629910A (en) 2006-08-16
JP2011010340A (ja) 2011-01-13
DE60328837D1 (de) 2009-09-24
JP4185564B2 (ja) 2008-11-26
ES2398516T3 (es) 2013-03-19
US20090034616A1 (en) 2009-02-05
KR100980987B1 (ko) 2010-09-07
PT2131593E (pt) 2010-10-11
KR100956920B1 (ko) 2010-05-11
EP1746841A1 (en) 2007-01-24
JP2013070428A (ja) 2013-04-18
HK1136730A1 (en) 2010-07-02
ES2376639T3 (es) 2012-03-15
ES2376639T9 (es) 2012-06-07
US7308144B2 (en) 2007-12-11
EP1744561A3 (en) 2007-02-07
EP2131592A1 (en) 2009-12-09
EP1744562A2 (en) 2007-01-17
JP5208156B2 (ja) 2013-06-12
EP1746841B1 (en) 2009-10-07
DE60329639D1 (de) 2009-11-19
ATE531202T1 (de) 2011-11-15
US8526748B2 (en) 2013-09-03
JP4191793B1 (ja) 2008-12-03
TWI314837B (en) 2009-09-11
ATE511733T1 (de) 2011-06-15
JP4628498B2 (ja) 2011-02-09
EP1478188A1 (en) 2004-11-17
JP4130780B2 (ja) 2008-08-06
KR101257212B1 (ko) 2013-04-23
CN100527841C (zh) 2009-08-12
KR20060040751A (ko) 2006-05-10
EP1753246B1 (en) 2009-08-12
JP2008160887A (ja) 2008-07-10
KR20100012061A (ko) 2010-02-04
KR20100024495A (ko) 2010-03-05
KR100987541B1 (ko) 2010-10-12
CN1976470A (zh) 2007-06-06
WO2003088675A1 (en) 2003-10-23
JP2008193725A (ja) 2008-08-21
CY1111971T1 (el) 2015-11-04
MY135378A (en) 2008-04-30
KR20060040753A (ko) 2006-05-10
TWI330986B (en) 2010-09-21
KR100990314B1 (ko) 2010-10-26
US7095896B2 (en) 2006-08-22
KR20110016508A (ko) 2011-02-17
JP4185563B2 (ja) 2008-11-26
EP2134097B1 (en) 2011-09-07
EP2131592B1 (en) 2011-10-26
HK1146561A1 (en) 2011-06-17
JP4465035B2 (ja) 2010-05-19
HK1148150A1 (en) 2011-08-26
ATE447828T1 (de) 2009-11-15
ATE439739T1 (de) 2009-08-15
CN100527838C (zh) 2009-08-12
JP4741716B1 (ja) 2011-08-10
ES2330661T4 (es) 2010-06-02
JP2009022039A (ja) 2009-01-29
JP2010206823A (ja) 2010-09-16
US7308143B2 (en) 2007-12-11
DK2131593T3 (da) 2010-10-25
ES2369065T3 (es) 2011-11-25
EP2293577B1 (en) 2012-11-21
US20080056362A1 (en) 2008-03-06
KR20100074325A (ko) 2010-07-01
DE60328838D1 (de) 2009-09-24
US8290286B2 (en) 2012-10-16
EP1596608B1 (en) 2007-01-24
US7693340B2 (en) 2010-04-06
JP2004007506A (ja) 2004-01-08
US7769238B2 (en) 2010-08-03
EP2239948A1 (en) 2010-10-13
MXPA03010115A (es) 2004-03-10
ATE524020T1 (de) 2011-09-15
KR20120091468A (ko) 2012-08-17
ATE312478T1 (de) 2005-12-15
ES2369653T3 (es) 2011-12-02
KR20040099093A (ko) 2004-11-26
DK1478188T3 (da) 2006-02-13
PT1746841E (pt) 2009-11-03
US20080063056A1 (en) 2008-03-13
TW200629912A (en) 2006-08-16
DE60311530D1 (de) 2007-03-15
KR20060040752A (ko) 2006-05-10
CN100527846C (zh) 2009-08-12
EP2134097A1 (en) 2009-12-16
TW200629911A (en) 2006-08-16
US8867855B2 (en) 2014-10-21
EP2254340A1 (en) 2010-11-24
PT1744562E (pt) 2009-09-04
US20080175315A1 (en) 2008-07-24
HK1146562A1 (en) 2011-06-17
DE60329945D1 (de) 2009-12-17
DK1746841T3 (da) 2009-11-30
KR20100012103A (ko) 2010-02-05
EP2254340B1 (en) 2012-01-18
US20060233449A1 (en) 2006-10-19
DE60334341D1 (de) 2010-11-04
KR100956926B1 (ko) 2010-05-11
JP2011172236A (ja) 2011-09-01
JP5208157B2 (ja) 2013-06-12
JP4185106B2 (ja) 2008-11-26
AU2003227248A1 (en) 2003-10-27
US8265403B2 (en) 2012-09-11
PT2254340E (pt) 2012-02-02
DE60311530T2 (de) 2007-11-15
ATE482570T1 (de) 2010-10-15
EP1750451A3 (en) 2007-02-21
KR101152507B1 (ko) 2012-06-01
JP4628499B2 (ja) 2011-02-09
KR101038154B1 (ko) 2011-05-31
BR0303566A (pt) 2004-04-20
ES2348325T3 (es) 2010-12-02
EP1478188A4 (en) 2004-11-17
BRPI0303566B1 (pt) 2018-02-06
JP2006246499A (ja) 2006-09-14
PT2239948E (pt) 2011-06-09
TWI314838B (en) 2009-09-11
CN1976471A (zh) 2007-06-06
EP1750451B1 (en) 2009-08-12
ATE352951T1 (de) 2007-02-15
ES2277313T3 (es) 2007-07-01
JP2011010338A (ja) 2011-01-13
EP1744561B1 (en) 2009-11-04
EP2131593A1 (en) 2009-12-09
EP1596608A3 (en) 2005-11-30
US20080117969A1 (en) 2008-05-22
EP2293577A1 (en) 2011-03-09
JP4185561B2 (ja) 2008-11-26
ES2362563T3 (es) 2011-07-07
US20060269154A1 (en) 2006-11-30
DE60302652D1 (de) 2006-01-12
KR100956927B1 (ko) 2010-05-11
US20130034308A1 (en) 2013-02-07
CN100527839C (zh) 2009-08-12
KR100954244B1 (ko) 2010-04-23
JP4465026B2 (ja) 2010-05-19
EP2131593B1 (en) 2010-09-22
ATE527819T1 (de) 2011-10-15
JP2010093842A (ja) 2010-04-22
JP2010193509A (ja) 2010-09-02
JP2010268514A (ja) 2010-11-25
CN100527840C (zh) 2009-08-12
US7305134B2 (en) 2007-12-04
CA2444357C (en) 2012-03-20
KR101154606B1 (ko) 2012-06-08
CN1929608A (zh) 2007-03-14
KR101001753B1 (ko) 2010-12-15
US20080063055A1 (en) 2008-03-13
JP2008312226A (ja) 2008-12-25
JP2008178128A (ja) 2008-07-31
ATE439740T1 (de) 2009-08-15
EP1596608A2 (en) 2005-11-16
ES2329822T3 (es) 2009-12-01
CN1917643A (zh) 2007-02-21
CN1917643B (zh) 2010-12-01
EP1753246A1 (en) 2007-02-14
EP2293578A1 (en) 2011-03-09
DK1596608T3 (da) 2007-03-05
JP2014079003A (ja) 2014-05-01
JP5485363B2 (ja) 2014-05-07
JP2008182756A (ja) 2008-08-07
ATE445294T1 (de) 2009-10-15
US7697770B2 (en) 2010-04-13
EP2254341B1 (en) 2011-10-05
CY1111051T1 (el) 2015-06-11
DE60328836D1 (de) 2009-09-24
JP4465036B2 (ja) 2010-05-19
CA2444357A1 (en) 2003-10-14

Similar Documents

Publication Publication Date Title
ES2329823T3 (es) Procedimiento de decodificacion de imagenes.
ES2467940T3 (es) Método de extracción de distorsión de codificación
ES2281640T3 (es) Procedimiento de codificacion de longitud variable y procedimiento de decodificacion de longitud variable.
ES2754625T3 (es) Método de extracción de distorsión de codificación
ES2549252T3 (es) Método de codificación de longitud variable
JP4313710B2 (ja) 画像符号化方法および画像復号化方法