ES2277313T3 - Procedimiento de codificacion de imagen. - Google Patents
Procedimiento de codificacion de imagen. Download PDFInfo
- Publication number
- ES2277313T3 ES2277313T3 ES05017701T ES05017701T ES2277313T3 ES 2277313 T3 ES2277313 T3 ES 2277313T3 ES 05017701 T ES05017701 T ES 05017701T ES 05017701 T ES05017701 T ES 05017701T ES 2277313 T3 ES2277313 T3 ES 2277313T3
- Authority
- ES
- Spain
- Prior art keywords
- coefficients
- unit
- blocks
- value
- image
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/004—Predictors, e.g. intraframe, interframe coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
- H04N19/11—Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/136—Incoming video signal characteristics or properties
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods 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 codificación para codificar, bloque a bloque, una imagen transformando la imagen en coeficientes que muestran componentes de frecuencia espacial, comprendiendo: establecer un valor predictivo de un número de coeficientes no nulos de un bloque actual que se va a codificar en función del número de coeficientes no nulos de un bloque codificado situado en una periferia del bloque actual, en el que cada coeficiente no nulo tiene un valor distinto de "0", seleccionar una tabla de códigos de longitud variable en función del valor predictivo establecido y codificar el número de coeficientes no nulos del bloque actual usando la tabla de códigos de longitud variable seleccionada.
Description
Procedimiento de codificación de imagen.
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.
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.
El documento EP 0876058A1 describe 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.
Bjontegaard, G. en "Improved Low Complexity
Entropy Coding For Tansform Coefficients", Joint Video Team of
ISO/IEC MPEG & ITU-T VCEG (ISO/IEC
JTC1/SC29/WG11 y ITU-T SG 16 26) 29 de enero de
2002, págs. 1 a 8, describe que las tablas de VLC se usan según
el número de coeficientes de un bloque de 4 x 4.
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, se propone un procedimiento de
codificación de imágenes según la presente invención, según se
define en la reivindicación 1.
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.
La Fig. 1 es un diagrama de bloques que muestra
una estructura de una forma de realización de un dispositivo de
codificación de imágenes que usa un procedimiento de codificación de
imágenes según la presente invención.
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 la
primera forma de realización de 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 la
primera forma de realización de 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 la primera forma de realización de 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 la segunda forma de realización de 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 la segunda y la séptima formas 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 la tercera forma de realización de 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 la cuarta forma de realización de 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 la cuarta y la novena
formas de realización de 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 la quinta forma de realización de 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 la quinta forma de realización de 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 sexta 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 sexta 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 sexta 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 séptima 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 la octava forma de
realización de 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 la novena forma de
realización de 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 la décima forma de
realización de 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 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.
Lo que aparece a continuación describe las
formas de realización de la presente invención en relación con los
diagramas y las ecuaciones.
Primera forma de
realización
La Fig. 1 es un diagrama de bloques que muestra
una estructura de una forma de realización de un dispositivo de
codificación de imágenes que usa un procedimiento de codificación de
imágenes según la presente invención.
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
Respecto a los símbolos de la Tabla 1, un
símbolo O 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.
\newpage
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.
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.
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.
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.
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 la presente forma de realización, 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.
Respecto a los símbolos de la Tabla 6, un
símbolo O 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.
\vskip1.000000\baselineskip
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, de
la presente forma de realización, 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 la forma de realización 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.
Segunda forma de
realización
La estructura del dispositivo de codificación de
imágenes y el esquema del proceso de codificación, según la
presente forma de realización, son exactamente iguales a los que se
han descrito en la primera forma de realización, 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 de la segunda forma de
realización, 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.
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 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. 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 de la primera
forma de realización. 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 la primera forma de realización, 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 la primera forma de realización.
Por lo tanto, en la presente forma de
realización, 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 la primera forma de realización, 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 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
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 la primera forma de realización, 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 la primera forma de realización. 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.
\newpage
En la presente forma de realización, 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 la primera
forma de realización, 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 la presente forma de realización 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 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.
VLC.
Tercera forma de
realización
La estructura del dispositivo de codificación de
imágenes y el esquema del proceso de codificación, según la
presente forma de realización, son exactamente iguales a los que se
han descrito en la primera forma de realización, 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 de la tercera forma de
realización, 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 a la primera forma de realización 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.
\vskip1.000000\baselineskip
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.
\newpage
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.
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 la primera
forma de realización.
Por consiguiente, en la presente forma de
realización, 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 la presente forma de realización, 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 de la primera forma
de realización, y un valor del número de coeficientes introducidos
a fin de llevar a cabo una codificación de longitud variable.
Asimismo, en la presente forma de realización,
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 la primera forma de
realización. 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 la primera forma de realización.
Cuarta forma de
realización
La estructura del dispositivo de codificación de
imágenes y el esquema del proceso de codificación, según la
presente forma de realización, son exactamente iguales a los que se
han descrito en la primera forma de realización, 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 de la cuarta forma de
realización, 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
de la primera forma de realización. 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 la primera forma de realización.
En la presente forma de realización, 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 la presente forma de realización, 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 la primera
forma de realización, 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 las formas de realización mencionadas anteriormente.
Asimismo, en la presente forma de realización,
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.
Quinta forma de
realización
La Fig. 15 es un diagrama de bloques que muestra
una estructura de un dispositivo de codificación de imágenes de la
quinta forma de realización 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 de la primera forma de
realización. No obstante, la diferencia es que la presente forma de
realización 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 la primera forma de realización.
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.
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.
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 la primera forma de realización.
En la presente forma de realización, 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 la presente forma de realización, 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 la primera forma de
realización. No obstante, como en la primera forma de realización,
se puede establecer un valor predictivo usando los números de los
coeficientes de los bloques contiguos que están codificados, como en
la primera forma de realización, 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 las formas de
realización que se han mencionado anteriormente.
Asimismo, en la presente forma de realización 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.
Sexta 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 la primera forma de realización.
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 la primera
forma de realización. Respecto a los símbolos de la Tabla 1, un
símbolo o 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.
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 de la primera forma de realización, 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 O 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.
Séptima 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 sexta 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 séptima 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 la segunda forma de realización.
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 sexta 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 sexta 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 sexta 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 sexta 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
sexta 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.
Octava 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 sexta 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 octava forma de realización,
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 la tercera forma de
realización.
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
sexta 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 sexta forma
de realización.
La presente forma de realización, 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.
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 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 sexta 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 sexta forma de realización.
Novena forma de
realización
La estructura del dispositivo de decodificación
de imágenes y el esquema del proceso de decodificación, según la
presente forma de realización, son exactamente iguales a la sexta
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 novena forma de realización, 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 la
cuarta forma de realización.
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 sexta 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 la cuarta forma de realización. 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 sexta forma de
realización.
Por lo tanto, en la presente forma de
realización, 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 sexta 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, 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 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 la presente forma de realización 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.
Décima forma de
realización
La estructura del dispositivo de decodificación
de imágenes y el esquema del proceso de decodificación, según la
presente forma de realización, son exactamente iguales a la sexta
forma de realización, a excepción del decodificador de número de
coeficientes 1403 que se muestra en la Fig. 17. La presente forma de
realización 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 sexta forma de realización. Se
introducirá el flujo de bits que se crea en el dispositivo de
codificación de imágenes según la quinta forma de realización.
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 sexta forma de realización.
Por lo tanto, en la presente forma de
realización 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.
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 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 sexta forma de realización.
Asimismo, en la presente forma de realización,
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.
Undécima 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 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 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 10 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 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 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
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 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 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.
\newpage
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 la primera forma de realización 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 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 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 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 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 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 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 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.
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 (3)
1. Un procedimiento de codificación para
codificar, bloque a bloque, una imagen transformando la imagen en
coeficientes que muestran componentes de frecuencia espacial,
comprendiendo:
establecer un valor predictivo de un número de
coeficientes no nulos de un bloque actual que se va a codificar en
función del número de coeficientes no nulos de un bloque codificado
situado en una periferia del bloque actual, en el que cada
coeficiente no nulo tiene un valor distinto de "0",
seleccionar una tabla de códigos de longitud
variable en función del valor predictivo establecido y
codificar el número de coeficientes no nulos del
bloque actual usando la tabla de códigos de longitud variable
seleccionada.
2. El procedimiento de codificación según la
reivindicación 1, en el que dicho establecimiento se basa en una
pluralidad de los números de coeficientes no nulos de los bloques
codificados situados en la periferia del bloque actual.
3. El procedimiento de codificación según la
reivindicación 2, en el que el valor predictivo se establece usando
un valor correspondiente a un valor medio de los números de
coeficientes no nulos de los bloques codificados situados en la
periferia del bloque actual.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002-112665 | 2002-04-15 | ||
JP2002112665 | 2002-04-15 |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2277313T3 true ES2277313T3 (es) | 2007-07-01 |
Family
ID=29243326
Family Applications (13)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
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. |
ES09168413T Expired - Lifetime ES2348325T3 (es) | 2002-04-15 | 2003-03-27 | Procedimiento y aparato de decodificación de imágenes. |
ES06123556T Expired - Lifetime ES2329823T3 (es) | 2002-04-15 | 2003-03-27 | Procedimiento de decodificacion de imagenes. |
ES10165499T Expired - Lifetime ES2369653T3 (es) | 2002-04-15 | 2003-03-27 | Procedimiento y aparato de codificació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 |
ES06123494T Expired - Lifetime ES2329822T3 (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. |
ES03715476T Expired - Lifetime ES2252666T3 (es) | 2002-04-15 | 2003-03-27 | Procedimiento de codificacion de imagenes y procedimiento de de codificacion de imagenes. |
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. |
ES06123645T Expired - Lifetime ES2330661T4 (es) | 2002-04-15 | 2003-03-27 | Procedimiento de codificacion de imagenes. |
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. |
ES05017701T Expired - Lifetime ES2277313T3 (es) | 2002-04-15 | 2003-03-27 | Procedimiento de codificacion de imagen. |
ES10180980T Expired - Lifetime ES2399226T3 (es) | 2002-04-15 | 2003-03-27 | Procedimiento de descodificación de imágenes |
Family Applications Before (11)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
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. |
ES09168413T Expired - Lifetime ES2348325T3 (es) | 2002-04-15 | 2003-03-27 | Procedimiento y aparato de decodificación de imágenes. |
ES06123556T Expired - Lifetime ES2329823T3 (es) | 2002-04-15 | 2003-03-27 | Procedimiento de decodificacion de imagenes. |
ES10165499T Expired - Lifetime ES2369653T3 (es) | 2002-04-15 | 2003-03-27 | Procedimiento y aparato de codificació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 |
ES06123494T Expired - Lifetime ES2329822T3 (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. |
ES03715476T Expired - Lifetime ES2252666T3 (es) | 2002-04-15 | 2003-03-27 | Procedimiento de codificacion de imagenes y procedimiento de de codificacion de imagenes. |
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. |
ES06123645T Expired - Lifetime ES2330661T4 (es) | 2002-04-15 | 2003-03-27 | Procedimiento de codificacion de imagenes. |
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. |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES10180980T Expired - Lifetime ES2399226T3 (es) | 2002-04-15 | 2003-03-27 | Procedimiento de descodificación de imágenes |
Country Status (20)
Country | Link |
---|---|
US (14) | US7095896B2 (es) |
EP (15) | EP1596608B1 (es) |
JP (22) | JP4130780B2 (es) |
KR (14) | KR101154606B1 (es) |
CN (7) | CN1917643B (es) |
AT (13) | ATE352951T1 (es) |
AU (1) | AU2003227248B2 (es) |
BR (2) | BR0303566A (es) |
CA (2) | CA2444357C (es) |
CY (2) | CY1111051T1 (es) |
DE (8) | DE60334341D1 (es) |
DK (5) | DK1478188T3 (es) |
ES (13) | ES2362563T3 (es) |
HK (4) | HK1136730A1 (es) |
MX (1) | MXPA03010115A (es) |
MY (4) | MY146793A (es) |
PT (6) | PT2131593E (es) |
SI (1) | SI1478188T1 (es) |
TW (4) | TWI330986B (es) |
WO (1) | WO2003088675A1 (es) |
Families Citing this family (81)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
PT2268034T (pt) * | 2001-11-22 | 2016-11-18 | Godo Kaisha Ip Bridge 1 | Método de codificação de comprimento variável e método de descodificação de comprimento variável |
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 |
ES2676119T3 (es) | 2007-03-14 | 2018-07-16 | Nippon Telegraph And Telephone Corporation | Método de control de cuantificación, dispositivo, programa y medio de grabación que contiene el programa |
EP2120463B1 (en) | 2007-03-14 | 2014-12-10 | Nippon Telegraph and Telephone Corporation | Encoding bit rate control method, device, program, and recording medium containing the program |
WO2008111511A1 (ja) | 2007-03-14 | 2008-09-18 | Nippon Telegraph And Telephone Corporation | 符号量推定方法、装置、そのプログラムおよび記録媒体 |
KR101083379B1 (ko) | 2007-03-14 | 2011-11-14 | 니폰덴신뎅와 가부시키가이샤 | 움직임 벡터 탐색 방법 및 장치 그리고 프로그램을 기록한 기록매체 |
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 | 华为技术有限公司 | 一种图像熵编码、熵解码的方法及装置 |
WO2009107777A1 (ja) * | 2008-02-27 | 2009-09-03 | 株式会社 東芝 | 動画像符号化/復号装置 |
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 | 株式会社エヌ・ティ・ティ・ドコモ | 画像符号化装置、方法およびプログラム、並びに、画像復号装置、方法およびプログラム |
WO2010133763A1 (en) * | 2009-05-19 | 2010-11-25 | Nokia Corporation | Method for variable length coding and apparatus |
HRP20231396T1 (hr) * | 2009-06-18 | 2024-05-10 | Kabushiki Kaisha Toshiba | Video kodiranje |
US9628794B2 (en) * | 2009-06-18 | 2017-04-18 | Kabushiki Kaisha Toshiba | Video encoding apparatus and a video decoding apparatus |
US20110158310A1 (en) * | 2009-12-30 | 2011-06-30 | Nvidia Corporation | Decoding data using lookup tables |
KR101702822B1 (ko) | 2010-04-01 | 2017-02-06 | 소니 주식회사 | 화상 처리 장치 및 방법 |
CN106231337B (zh) | 2010-04-13 | 2020-06-19 | Ge视频压缩有限责任公司 | 解码器、解码方法、编码器以及编码方法 |
CN106067983B (zh) | 2010-04-13 | 2019-07-12 | Ge视频压缩有限责任公司 | 解码数据流的方法、生成数据流的方法及解码器 |
BR122020008249B1 (pt) | 2010-04-13 | 2021-02-17 | Ge Video Compression, Llc | herança em amostra de arranjo em subdivisão multitree |
EP3703369B1 (en) | 2010-04-13 | 2024-07-24 | GE Video Compression, LLC | Sample region merging |
US9106933B1 (en) * | 2010-05-18 | 2015-08-11 | Google Inc. | Apparatus and method for encoding video using different second-stage transform |
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 | 画像処理装置及び画像処理方法 |
TWI647950B (zh) * | 2011-12-28 | 2019-01-11 | 日商Jvc建伍股份有限公司 | Dynamic image decoding device, dynamic image decoding method, and recording medium |
JP6000579B2 (ja) | 2012-03-09 | 2016-09-28 | キヤノン株式会社 | 情報処理装置、情報処理方法 |
JP5975685B2 (ja) | 2012-03-09 | 2016-08-23 | キヤノン株式会社 | 情報処理装置、情報処理方法 |
JP5977544B2 (ja) * | 2012-03-09 | 2016-08-24 | キヤノン株式会社 | 情報処理装置、情報処理方法 |
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 |
WO2015194187A1 (en) * | 2014-06-20 | 2015-12-23 | Sharp Kabushiki Kaisha | Harmonized palette coding |
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 |
CN118573835A (zh) | 2018-03-23 | 2024-08-30 | 交互数字Vc控股公司 | 在dibr系统(mfp-dibr)中产生立体视点的基于多焦面的方法 |
CN112585963B (zh) * | 2018-07-05 | 2024-04-09 | Pcms控股公司 | 用于2d显示器上的内容的3d感知的近眼焦平面覆盖层的方法和系统 |
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)
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 | 日本電信電話株式会社 | 適応的可変長符号化方法 |
US5784631A (en) * | 1992-06-30 | 1998-07-21 | Discovision Associates | Huffman decoder |
JP3278948B2 (ja) * | 1993-02-05 | 2002-04-30 | 日本電信電話株式会社 | 可変長符号化方法 |
DE69418372T2 (de) * | 1993-03-15 | 1999-11-25 | Sony Corp., Tokio/Tokyo | Übertragung und Dekodierung von Bildsignalen |
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 | 画像および音声符号化装置 |
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 |
JP3552811B2 (ja) * | 1995-09-29 | 2004-08-11 | 三菱電機株式会社 | ディジタル映像信号符号化装置および復号化装置 |
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符号化画像復号装置 |
KR100371130B1 (ko) * | 1996-05-28 | 2003-02-07 | 마쯔시다덴기산교 가부시키가이샤 | 화상예측 복호화 장치 및 그 방법과 화상예측 부호화 장치및 그 방법 |
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 |
JP3208101B2 (ja) | 1996-11-07 | 2001-09-10 | 松下電器産業株式会社 | 画像符号化方法および画像符号化装置並びに画像符号化プログラムを記録した記録媒体 |
KR100425615B1 (ko) * | 1996-11-07 | 2004-04-01 | 마쯔시다덴기산교 가부시키가이샤 | 부호화 방법 및 장치와 복호화 방법 및 장치 |
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 |
US6212236B1 (en) * | 1997-03-26 | 2001-04-03 | 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 | 多重化音響・動画圧縮符号化信号変換方法、装置および変換プログラムを記録した媒体 |
KR100349650B1 (ko) * | 2000-07-11 | 2002-08-24 | 주식회사 큐리텔 | 동영상 압축 부호화장치의 가변길이부호화 테이블 분할가변길이 부호화 장치 및 그 방법 |
KR100349649B1 (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 |
EP1391121B1 (en) * | 2001-03-23 | 2012-08-15 | 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 | 三菱自動車工業株式会社 | 車両の前部車体構造 |
-
2003
- 2003-03-25 JP JP2003083683A patent/JP4130780B2/ja not_active Expired - Lifetime
- 2003-03-27 CA CA2444357A patent/CA2444357C/en not_active Expired - Lifetime
- 2003-03-27 KR KR1020117002312A patent/KR101154606B1/ko active IP Right Grant
- 2003-03-27 AT AT05017701T patent/ATE352951T1/de not_active IP Right Cessation
- 2003-03-27 DE DE60334341T patent/DE60334341D1/de not_active Expired - Lifetime
- 2003-03-27 DE DE2003602652 patent/DE60302652T2/de not_active Expired - Lifetime
- 2003-03-27 DE DE60328837T patent/DE60328837D1/de not_active Expired - Lifetime
- 2003-03-27 DE DE60328836T patent/DE60328836D1/de not_active Expired - Lifetime
- 2003-03-27 DK DK03715476T patent/DK1478188T3/da active
- 2003-03-27 AT AT06123645T patent/ATE445294T1/de active
- 2003-03-27 CN CN2006101266597A patent/CN1917643B/zh not_active Expired - Lifetime
- 2003-03-27 AU AU2003227248A patent/AU2003227248B2/en not_active Expired
- 2003-03-27 ES ES10165491T patent/ES2362563T3/es not_active Expired - Lifetime
- 2003-03-27 KR KR1020107012045A patent/KR101001753B1/ko active IP Right Grant
- 2003-03-27 SI SI200330131T patent/SI1478188T1/sl unknown
- 2003-03-27 DK DK06123494T patent/DK1744562T3/da active
- 2003-03-27 PT PT09168413T patent/PT2131593E/pt unknown
- 2003-03-27 ES ES09168413T patent/ES2348325T3/es not_active Expired - Lifetime
- 2003-03-27 CA CA2732005A patent/CA2732005C/en not_active Expired - Lifetime
- 2003-03-27 PT PT06123494T patent/PT1744562E/pt unknown
- 2003-03-27 AT AT10165491T patent/ATE511733T1/de not_active IP Right Cessation
- 2003-03-27 DE DE60328838T patent/DE60328838D1/de not_active Expired - Lifetime
- 2003-03-27 CN CNB2006101684899A patent/CN100527841C/zh not_active Expired - Lifetime
- 2003-03-27 CN CNB2006101684884A patent/CN100527840C/zh not_active Expired - Lifetime
- 2003-03-27 EP EP20050017701 patent/EP1596608B1/en not_active Expired - Lifetime
- 2003-03-27 KR KR1020107001036A patent/KR100987548B1/ko active IP Right Grant
- 2003-03-27 MX MXPA03010115A patent/MXPA03010115A/es active IP Right Grant
- 2003-03-27 AT AT06123556T patent/ATE439739T1/de active
- 2003-03-27 CN CNB200610168487XA patent/CN100527839C/zh not_active Expired - Lifetime
- 2003-03-27 ES ES06123556T patent/ES2329823T3/es not_active Expired - Lifetime
- 2003-03-27 CN CNB200610126660XA patent/CN100527846C/zh not_active Expired - Lifetime
- 2003-03-27 BR BR0303566A patent/BR0303566A/pt active IP Right Grant
- 2003-03-27 AT AT09168413T patent/ATE482570T1/de active
- 2003-03-27 ES ES10165499T patent/ES2369653T3/es not_active Expired - Lifetime
- 2003-03-27 EP EP20100165499 patent/EP2254341B1/en not_active Expired - Lifetime
- 2003-03-27 KR KR1020127007087A patent/KR101152507B1/ko active IP Right Grant
- 2003-03-27 DE DE60329639T patent/DE60329639D1/de not_active Expired - Lifetime
- 2003-03-27 CN CNB2006101684865A patent/CN100527838C/zh not_active Expired - Lifetime
- 2003-03-27 KR KR1020117019206A patent/KR101227720B1/ko active IP Right Grant
- 2003-03-27 ES ES10180970T patent/ES2398516T3/es not_active Expired - Lifetime
- 2003-03-27 KR KR1020127019701A patent/KR101257212B1/ko active IP Right Grant
- 2003-03-27 ES ES06123494T patent/ES2329822T3/es not_active Expired - Lifetime
- 2003-03-27 EP EP20100165483 patent/EP2254340B1/en not_active Expired - Lifetime
- 2003-03-27 EP EP20060123468 patent/EP1744561B1/en not_active Expired - Lifetime
- 2003-03-27 AT AT09168411T patent/ATE524020T1/de not_active IP Right Cessation
- 2003-03-27 KR KR1020037011695A patent/KR100954244B1/ko active IP Right Grant
- 2003-03-27 PT PT06123645T patent/PT1746841E/pt unknown
- 2003-03-27 EP EP20060123494 patent/EP1744562B1/en not_active Expired - Lifetime
- 2003-03-27 EP EP03715476A patent/EP1478188B1/en not_active Expired - Lifetime
- 2003-03-27 US US10/479,831 patent/US7095896B2/en not_active Expired - Lifetime
- 2003-03-27 ES ES06123712T patent/ES2329712T3/es not_active Expired - Lifetime
- 2003-03-27 PT PT10165483T patent/PT2254340E/pt unknown
- 2003-03-27 EP EP20090168409 patent/EP2131592B1/en not_active Expired - Lifetime
- 2003-03-27 AT AT10165499T patent/ATE527819T1/de not_active IP Right Cessation
- 2003-03-27 EP EP20060123712 patent/EP1753246B1/en not_active Expired - Lifetime
- 2003-03-27 AT AT09168409T patent/ATE531202T1/de not_active IP Right Cessation
- 2003-03-27 DE DE2003611530 patent/DE60311530T2/de not_active Expired - Lifetime
- 2003-03-27 EP EP20100180970 patent/EP2293577B1/en not_active Expired - Lifetime
- 2003-03-27 DK DK09168413T patent/DK2131593T3/da active
- 2003-03-27 DK DK05017701T patent/DK1596608T3/da active
- 2003-03-27 EP EP20100180980 patent/EP2293578B1/en not_active Expired - Lifetime
- 2003-03-27 ES ES03715476T patent/ES2252666T3/es not_active Expired - Lifetime
- 2003-03-27 KR KR1020067006899A patent/KR100956920B1/ko active IP Right Grant
- 2003-03-27 ES ES10165483T patent/ES2376639T3/es not_active Expired - Lifetime
- 2003-03-27 BR BRPI0303566-2A patent/BRPI0303566B1/pt unknown
- 2003-03-27 EP EP20100165491 patent/EP2239948B1/en not_active Expired - Lifetime
- 2003-03-27 DE DE60329945T patent/DE60329945D1/de not_active Expired - Lifetime
- 2003-03-27 AT AT06123494T patent/ATE439738T1/de active
- 2003-03-27 ES ES06123645T patent/ES2330661T4/es not_active Expired - Lifetime
- 2003-03-27 EP EP20090168411 patent/EP2134097B1/en not_active Expired - Lifetime
- 2003-03-27 CN CNB038011581A patent/CN1293762C/zh not_active Expired - Lifetime
- 2003-03-27 EP EP20060123556 patent/EP1750451B1/en not_active Expired - Lifetime
- 2003-03-27 AT AT06123468T patent/ATE447828T1/de not_active IP Right Cessation
- 2003-03-27 KR KR1020067006898A patent/KR100956927B1/ko active IP Right Grant
- 2003-03-27 KR KR1020107001031A patent/KR100990314B1/ko active IP Right Grant
- 2003-03-27 KR KR1020107001030A patent/KR100987541B1/ko active IP Right Grant
- 2003-03-27 AT AT03715476T patent/ATE312478T1/de not_active IP Right Cessation
- 2003-03-27 KR KR1020067006897A patent/KR100956926B1/ko active IP Right Grant
- 2003-03-27 ES ES09168411T patent/ES2369065T3/es not_active Expired - Lifetime
- 2003-03-27 PT PT10165499T patent/PT2254341E/pt unknown
- 2003-03-27 PT PT10165491T patent/PT2239948E/pt unknown
- 2003-03-27 EP EP20090168413 patent/EP2131593B1/en not_active Expired - Lifetime
- 2003-03-27 AT AT06123712T patent/ATE439740T1/de active
- 2003-03-27 WO PCT/JP2003/003794 patent/WO2003088675A1/ja active IP Right Grant
- 2003-03-27 DK DK06123645T patent/DK1746841T3/da active
- 2003-03-27 KR KR1020107012043A patent/KR101038154B1/ko active IP Right Grant
- 2003-03-27 ES ES05017701T patent/ES2277313T3/es not_active Expired - Lifetime
- 2003-03-27 KR KR1020107012044A patent/KR100980987B1/ko active IP Right Grant
- 2003-03-27 ES ES10180980T patent/ES2399226T3/es not_active Expired - Lifetime
- 2003-03-27 EP EP20060123645 patent/EP1746841B1/en not_active Expired - Lifetime
- 2003-03-27 AT AT10165483T patent/ATE542370T1/de active
- 2003-04-09 TW TW95112402A patent/TWI330986B/zh not_active IP Right Cessation
- 2003-04-09 TW TW95112399A patent/TWI314837B/zh not_active IP Right Cessation
- 2003-04-09 TW TW92108104A patent/TWI281352B/zh not_active IP Right Cessation
- 2003-04-09 TW TW95112401A patent/TWI314838B/zh not_active IP Right Cessation
- 2003-04-14 MY MYPI20081373 patent/MY146793A/en unknown
- 2003-04-14 MY MYPI20070347 patent/MY141699A/en unknown
- 2003-04-14 MY MYPI20081374 patent/MY140969A/en unknown
- 2003-04-14 MY MYPI20031389 patent/MY135378A/en unknown
-
2006
- 2006-03-24 JP JP2006082555A patent/JP4185106B2/ja not_active Expired - Lifetime
- 2006-06-15 US US11/453,085 patent/US7308149B2/en not_active Expired - Lifetime
- 2006-06-15 US US11/453,062 patent/US7184598B2/en not_active Expired - Lifetime
- 2006-06-15 US US11/453,071 patent/US7305134B2/en not_active Expired - Lifetime
- 2006-06-15 US US11/453,078 patent/US7308143B2/en not_active Expired - Lifetime
- 2006-06-15 US US11/453,084 patent/US7308144B2/en not_active Expired - Lifetime
-
2007
- 2007-10-25 US US11/976,539 patent/US8265403B2/en active Active
- 2007-10-25 US US11/976,551 patent/US8139878B2/en active Active
- 2007-10-25 US US11/976,552 patent/US7697770B2/en not_active Expired - Lifetime
- 2007-10-25 US US11/976,550 patent/US7693340B2/en not_active Expired - Lifetime
- 2007-10-26 US US11/976,758 patent/US7769238B2/en not_active Expired - Lifetime
-
2008
- 2008-02-20 JP JP2008039436A patent/JP4185560B2/ja not_active Expired - Lifetime
- 2008-02-20 JP JP2008039437A patent/JP4185561B2/ja not_active Expired - Lifetime
- 2008-03-19 JP JP2008071085A patent/JP4185563B2/ja not_active Expired - Lifetime
- 2008-03-19 JP JP2008071086A patent/JP4185564B2/ja not_active Expired - Lifetime
- 2008-07-10 JP JP2008180637A patent/JP4191793B1/ja not_active Expired - Lifetime
- 2008-08-22 JP JP2008214032A patent/JP4382864B2/ja not_active Expired - Lifetime
- 2008-09-19 JP JP2008241730A patent/JP4982459B2/ja not_active Expired - Lifetime
- 2008-09-29 US US12/240,379 patent/US8290286B2/en active Active
-
2009
- 2009-03-25 JP JP2009075226A patent/JP4465026B2/ja not_active Expired - Lifetime
- 2009-12-08 JP JP2009278929A patent/JP4465035B2/ja not_active Expired - Lifetime
- 2009-12-08 JP JP2009278930A patent/JP4465036B2/ja not_active Expired - Lifetime
-
2010
- 2010-04-23 JP JP2010100347A patent/JP5208157B2/ja not_active Expired - Lifetime
- 2010-04-23 JP JP2010100346A patent/JP5208156B2/ja not_active Expired - Lifetime
- 2010-04-30 HK HK10104300A patent/HK1136730A1/xx not_active IP Right Cessation
- 2010-08-05 JP JP2010176802A patent/JP4598158B1/ja not_active Expired - Lifetime
- 2010-08-05 JP JP2010176803A patent/JP4628498B2/ja not_active Expired - Lifetime
- 2010-08-05 JP JP2010176804A patent/JP4628499B2/ja not_active Expired - Lifetime
- 2010-08-05 JP JP2010176805A patent/JP4598159B2/ja not_active Expired - Lifetime
- 2010-10-28 JP JP2010242682A patent/JP4653258B1/ja not_active Expired - Lifetime
- 2010-12-22 CY CY20101101180T patent/CY1111051T1/el unknown
-
2011
- 2011-03-03 HK HK11102174A patent/HK1148150A1/xx not_active IP Right Cessation
- 2011-03-10 JP JP2011053602A patent/JP4741716B1/ja not_active Expired - Lifetime
- 2011-04-20 HK HK11104016A patent/HK1146562A1/xx not_active IP Right Cessation
- 2011-04-20 HK HK11104015A patent/HK1146561A1/xx not_active IP Right Cessation
- 2011-10-25 CY CY20111101005T patent/CY1111971T1/el unknown
-
2012
- 2012-09-14 US US13/618,546 patent/US8526748B2/en not_active Expired - Lifetime
- 2012-12-21 JP JP2012280193A patent/JP5485363B2/ja not_active Expired - Lifetime
-
2013
- 2013-07-31 US US13/955,450 patent/US8867855B2/en not_active Expired - Lifetime
- 2013-12-24 JP JP2013266162A patent/JP5716082B2/ja not_active Expired - Lifetime
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2277313T3 (es) | Procedimiento de codificacion de imagen. | |
ES2281640T3 (es) | Procedimiento de codificacion de longitud variable y procedimiento de decodificacion de longitud variable. | |
ES2549252T3 (es) | Método de codificación de longitud variable | |
ES2467940T3 (es) | Método de extracción de distorsión de codificación | |
JP4313710B2 (ja) | 画像符号化方法および画像復号化方法 |