ES2599624T3 - Procedimiento de codificación de longitud variable y procedimiento de decodificación de longitud variable - Google Patents
Procedimiento de codificación de longitud variable y procedimiento de decodificación de longitud variable Download PDFInfo
- Publication number
- ES2599624T3 ES2599624T3 ES10180714.7T ES10180714T ES2599624T3 ES 2599624 T3 ES2599624 T3 ES 2599624T3 ES 10180714 T ES10180714 T ES 10180714T ES 2599624 T3 ES2599624 T3 ES 2599624T3
- Authority
- ES
- Spain
- Prior art keywords
- value
- series
- variable length
- level
- code
- 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
-
- 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/30—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
- H04N19/31—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the temporal domain
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/005—Statistical coding, e.g. Huffman, run length coding
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/14—Digital recording or reproducing using self-clocking codes
- G11B20/1403—Digital recording or reproducing using self-clocking codes characterised by the use of two levels
- G11B20/1423—Code representation depending on subsequent bits, e.g. delay modulation, double density code, Miller code
- G11B20/1426—Code representation depending on subsequent bits, e.g. delay modulation, double density code, Miller code conversion to or from block codes or representations thereof
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M5/00—Conversion of the form of the representation of individual digits
- H03M5/02—Conversion to or from representation by pulses
- H03M5/04—Conversion to or from representation by pulses the pulses having two levels
- H03M5/14—Code representation, e.g. transition, for a given bit cell depending on the information in one or more adjacent bit cells, e.g. delay modulation code, double density code
- H03M5/145—Conversion to or from block codes or representations thereof
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/40—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/46—Conversion to or from run-length codes, i.e. by representing the number of consecutive digits, or groups of digits, of the same kind by a code word and a digit indicative of that kind
-
- 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
-
- 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/162—User input
-
- 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/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/18—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 a set of transform coefficients
-
- 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
-
- 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/65—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience
- H04N19/69—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience involving reversible variable length codes [RVLC]
-
- 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/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
- H04N19/89—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder
-
- 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/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/93—Run-length coding
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Image Processing (AREA)
Abstract
Un método para decodificar datos codificados de una imagen de bloque, incluyendo los datos codificados un valor de serie codificado y un valor de nivel codificado, donde el valor de serie codificado se obtiene por codificación de longitud variable de un valor de serie que indica el número de coeficientes cuantificados sucesivos, cada uno con un valor cero, y el valor de nivel codificado se obtiene por codificación de longitud variable de un valor de nivel que indica un valor de un coeficiente cuantificado que tiene un valor no cero seguido de coeficientes cuantificados que tienen valores cero; caracterizado por que el método comprende: recibir los datos codificados; la decodificación de longitud variable del valor de serie codificado para obtener un valor de serie decodificado; decodificación de longitud variable del valor de nivel codificado para obtener un valor de nivel decodificado; y obtener coeficientes cuantificados de la imagen de bloque del valor de nivel decodificado y el valor de serie decodificado, donde la decodificación del valor de serie codificado se realiza desde un componente de alta frecuencia hacia un componente de baja frecuencia usando varias tablas de códigos, donde una tabla de códigos de la pluralidad de tablas de códigos se selecciona de acuerdo con información que representa un número total de coeficientes de valor cero no decodificados que no se han decodificado.
Description
DESCRIPCION
Procedimiento de codificacion de longitud variable y procedimiento de decodificacion de longitud variable 5 Campo Tecnico
La presente invencion se refiere a un procedimiento de codificacion de longitud variable y un procedimiento de decodificacion de longitud variable y, mas particularmente, a un procedimiento para convertir coeficientes plurales que se obtienen cuantificando los componentes de frecuencia de datos de imagenes (coeficientes de cuantificacion) 10 en datos codificados de acuerdo con un procedimiento de codificacion de longitud variable, y un procedimiento para decodificar los datos codificados de acuerdo con un procedimiento de decodificacion de longitud variable para reconstituir la pluralidad de coeficientes.
Tecnica Anterior
15
En anos recientes, se ha dado la bienvenida a la era multimedia, en la que el audio, el video y otros datos se manejan integralmente, y los medios de informacion convencionales (es decir, medios para transmitir informacion a personas), tales como periodicos, revistas, televisiones, radios y telefonos se han adoptado como objetos multimedia. Generalmente, "multimedia" significa representar no solo caracteres sino tambien diagramas, palabras y 20 especialmente imagenes simultaneamente en relacion entre sn Con objeto de manejar los medios de informacion convencionales como los objetos multimedia, es esencial transformar la informacion a formato digital.
Cuando la cantidad de procedimientos de datos para cada medio de informacion que se ha descrito anteriormente se estima como la cantidad de datos digitales, en el caso de caracteres, la cantidad de datos para cada caracter es 25 1~2 bytes. Sin embargo, en el caso de palabras, la cantidad de datos es 64 kbits por segundo (calidad para telecomunicacion) y, en el caso de cinematograffa, es mas de 100 Mbits por segundo (calidad para la radiodifusion televisiva actual). Asf, en cuanto a los medios de informacion que se han descrito anteriormente, no es practico manejar dichos datos masivos cuando estan en el formato digital. Por ejemplo, los telefonos visuales ya se han puesto en practica por ISDN (Red Digital de Servicios Integrados) que tienen una velocidad de transmision de 64 30 kbps~1,5 Mbps, pero es imposible transmitir una imagen de salida de una camara de television que tiene una gran cantidad de datos cuando es a traves de ISDN.
Asf, se demandan tecnologfas de compresion de datos. Por ejemplo, en el caso de telefonos visuales, se emplean tecnologfas de compresion de imagenes en movimiento estandarizadas como H.261 y H.263 por ITU-T (Union 35 Internacional de Telecomunicaciones-Sector de las Telecomunicaciones). Ademas, de acuerdo con la tecnologfa de compresion de datos en base a MPEG-1, es posible grabar datos de imagenes, junto con datos de audio, en un CD (disco compacto) de musica ordinaria.
En este punto, MPEG (Grupo de Expertos en Imagenes en Movimiento) es un estandar internacional asociado con la 40 compresion digital para senales de imagen de imagenes en movimiento. En MPEG-1, se comprime una senal de imagen de una imagen en movimiento a 1,5 Mbps, es decir, los datos de una senal de television se comprimen a aproximadamente 1/100. Puesto que la velocidad de transmision a la que el MPEG-1 se dirige se limita principalmente a aproximadamente 1,5 Mbps, el MPEG-2 se estandariza para satisfacer las demandas de mayor calidad de imagen. En el MPEG-2, una senal de imagen de una imagen en movimiento se comprime a 2~15 Mbps. 45
Bajo las circunstancias existentes, la estandarizacion de MPEG-4 que tiene una velocidad de compresion mayor se ha realizado por el grupo de trabajo para la estandarizacion de MPEG-1 y MPEG-2 (ISO/IEC JTC1/SC29/WG11). El MPEG-4 no solamente posibilita la codificacion a una baja velocidad de transferencia de bits con alta eficiencia, sino tambien realiza la introduccion de una fuerte tecnologfa resistente al error que puede reducir un deterioro subjetivo 50 de la calidad de imagen aun cuando aparece un error de lmea de transmision. Ademas, el ITU-T esta desarrollando la estandarizacion de H.26L como un procedimiento de codificacion de imagenes de la proxima generacion, y el procedimiento de codificacion mas reciente en este momento de tiempo es un procedimiento llamado "Modelo de Prueba 8" (TML8).
55 La figura 30 es un diagrama de bloques que ilustra un aparato de codificacion de imagenes convencional.
Este aparato de codificacion de imagenes 201a tiene una unidad de bloqueo Blk para bloquear una senal de imagen de entrada Vin en las areas de la unidad (bloques), comprendiendo cada una un numero predeterminado de pfxeles, y la transmision de una senal de imagen bloqueada BlkS, y una unidad de transformacion de frecuencia Trans para
someter la BlkS de salida a transformacion de frecuencia para transmitir los componentes de frecuencia TransS correspondientes a los respectivos bloques. En este punto, el bloque es un area de un tamano predeterminado en una imagen (espacio de imagen), que es una unidad para un procedimiento de codificacion de una senal de imagen, y esta compuesto de un numero predeterminado de p^xeles. En este punto, la senal de imagen Vin corresponde a 5 una imagen en movimiento que esta compuesta de varias imagenes.
El aparato de codificacion de imagenes 201a incluye adicionalmente una unidad de cuantificacion Q para cuantificar las transmisiones (componentes de frecuencia) TransS de la unidad de transformacion de frecuencia y para transmitir los componentes cuantificados (coeficientes de cuantificacion) QS correspondientes a los respectivos 10 bloques, y una unidad de codificacion RLE0a para someter las transmisiones Qs (componentes cuantificados) de la unidad de cuantificacion a un procedimiento de codificacion de longitud variable.
A continuacion, se describira su funcionamiento.
15 Cuando una senal de imagen Vin se introduce al aparato de codificacion de imagenes 201a, la unidad de bloqueo Blk divide la senal de imagen introducida Vin en senales de imagen correspondientes a la unidades de bloqueo, para generar una senal de imagen (senal de imagen bloqueada) BlkS correspondiente a cada bloque. La unidad de transformacion de frecuencia Trans transforma la senal de imagen bloqueada BlkS en componentes de frecuencia TransS de acuerdo con DCT (Transformacion de Coseno Discreta) o la transformacion de ondfcula. La unidad de 20 cuantificacion Q cuantifica los componentes de frecuencia TransS en una etapa de cuantificacion predeterminada en base a un parametro de cuantificacion QP para transmitir componentes cuantificados QS, asf como transmitir el parametro de cuantificacion QP. Despues, la unidad de codificacion RLE0a somete los componentes cuantificados QS a un procedimiento de codificacion de longitud variable, y transmite una corriente codificada Str0a.
25 La figura 31 es un diagrama de bloques para explicar la unidad de codificacion RLE0a que constituye el aparato de codificacion de imagenes 201a.
Esta unidad de codificacion RLE0a tiene un escaner en zigzag Scan para transformar las transmisiones (componentes cuantificados) QS de la unidad de cuantificacion Q en una matriz bidimensional en el componente 30 cuantificado Coef en una matriz unidimensional (es decir, orden predeterminado), y un codificador de longitud variable VLC para someter los componentes cuantificados Coef transmitidos por el escaner en zigzag Scan a un procedimiento de codificacion de longitud variable.
Cuando los componentes cuantificados QS transmitidos por la unidad de cuantificacion Q se introducen a la unidad 35 de codificacion RLE0a, el escaner en zigzag Scan transforma los componentes cuantificados QS en una matriz bidimensional de la unidad de cuantificacion Q en componentes cuantificados Coef en una matriz unidimensional (orden predeterminado), y transmite los componentes cuantificados.
La figura 43 es un diagrama para explicar espedficamente el procedimiento para transformar los componentes 40 cuantificados QS por el escaner en zigzag Scan.
Como se muestra en la figura 43, los componentes cuantificados QS transmitidos por la unidad de cuantificacion Q tienen una matriz bidimensional, es decir, una matriz en la que los componentes cuantificados QS se disponen en forma de matriz en una region de frecuencia de dos dimensiones Fr de acuerdo con la altura del componente de 45 frecuencia horizontal y la altura del componente de frecuencia vertical.
El escaner en zigzag Scan realiza un procedimiento para explorar los componentes cuantificados QS en la matriz bidimensional en zigzag como se muestra por las flechas Y1 a Y7, para transformar los componentes en componentes cuantificados Coef en una matriz unidimensional. Es decir, en este procedimiento de exploracion, se 50 establece un orden predeterminado a lo largo del transcurso de la exploracion con respecto a los varios componentes cuantificados QS en la matriz bidimensional.
Despues, el codificador de longitud variable VLC asigna codigos a los componentes cuantificados Coef que se transmiten desde el escaner en zigzag Scan, usando una tabla de codigos que muestra una correlacion entre los 55 valores numericos indicando los tamanos de los componentes cuantificados y los codigos (palabras de codigo), para transformar los componentes cuantificados en una corriente codificada Str0a correspondiente a cada bloque.
La figura 32 es un diagrama de bloques para explicar un aparato de decodificacion de imagenes 202a correspondiente al aparato de codificacion de imagenes 201a como se muestra en la figura 30.
Este aparato de decodificacion de imagenes 202a decodifica la corriente codificada StrOa que se transmite desde el aparato de codificacion de imagenes convencional 201a como se muestra en la figura 30.
5 El aparato de decodificacion de imagenes 202a tiene una unidad de decodificacion RLDOa para decodificar la corriente codificada Str0a que se transmite por el aparato de codificacion de imagenes 201a, y una unidad de cuantificacion inversa IQ para someter las transmisiones (componentes de cuantificacion decodificados) QDS de la unidad de decodificacion RLD0a a un procedimiento de cuantificacion inversa.
10 El aparato de decodificacion de imagenes 202a incluye adicionalmente una unidad de transformacion de frecuencia inversa ITrans para someter las transmisiones (componentes de frecuencia decodificados) ITransS de la unidad de cuantificacion inversa IQ a un procedimiento de transformacion de frecuencia inversa, y una unidad de desbloqueo Deblk para generar una senal de imagen decodificada Vout correspondiente a cada imagen en base a las transmisiones (senales de imagen bloqueadas decodificadas) DBlkS de la unidad de transformacion de frecuencia 15 inversa ITrans.
A continuacion, se describira su funcionamiento.
Cuando la corriente codificada Str0a se introduce desde el aparato de codificacion de imagenes 201a al aparato de 20 decodificacion de imagenes 202a, la unidad de decodificacion RLD0a decodifica la corriente codificada Str0a y transmite los componentes cuantificados decodificados DQS. El funcionamiento de la unidad de decodificacion RLD0a es lo inverso del funcionamiento de la unidad de codificacion RLE0a.
La unidad de cuantificacion inversa IQ realiza lo inverso del funcionamiento de la unidad de cuantificacion Q, es 25 decir, una operacion para cuantificar inversamente los componentes cuantificados decodificados DQS con referencia al parametro de cuantificacion QP, y transmite los componentes de frecuencia decodificados ITransS. La unidad de transformacion de frecuencia inversa ITrans realiza lo inverso del funcionamiento de la unidad de transformacion de frecuencia Trans, es decir, una operacion para someter los componentes de frecuencia decodificados ITransS a DCT inversa o transformacion de ondula inversa, para reconstituir las senales de imagen decodificadas DBlkS 30 correspondientes a los respectivos bloques. Despues, la unidad de desbloqueo DeBlk integra las senales de imagen decodificadas DBlkS de los respectivos bloques para transmitir una senal de imagen decodificada Vout correspondiente a cada imagen (cuadro).
La figura 33 es un diagrama de bloques para explicar la unidad de decodificacion RLD0a que constituye el aparato 35 de decodificacion de imagenes 202a.
La unidad de decodificacion RLD0a tiene un decodificador de longitud variable VLD para someter la corriente codificada Str0a a un procedimiento de decodificacion de longitud variable para decodificar el componente cuantificado Coef correspondiente a cada codigo incluido en la corriente codificada Str0a, y un escaner en zigzag 40 inverso IScan para reconstituir los componentes cuantificados DQS en una matriz bidimensional de los componentes cuantificados decodificados Coef en una matriz unidimensional, que se transmiten por el decodificador de longitud variable VLD.
En esta unidad de decodificacion RLD0a, el decodificador de longitud variable VLD decodifica la corriente codificada 45 Str0a de acuerdo con la operacion inversa al codificador de longitud variable VLC, y transmite los componentes cuantificados Coef correspondientes a los codigos (palabras de codigo). Despues, el escaner en zigzag inverso IScan realiza la operacion inversa para el escaner en zigzag Scan, para reconstituir los componentes cuantificados decodificados dQs en una matriz bidimensional de los componentes cuantificados Coef en una matriz unidimensional, que se transmiten desde el decodificador de longitud variable VLD, y transmite los componentes 50 cuantificados decodificados DQS a la unidad de cuantificacion inversa IQ.
La Solicitud de Patente Publicada Japonesa N° Hei. 6-311534 describe un procedimiento en el que una senal de imagen se divide en una senal de luminancia y una senal de diferencia de color para someter las senales obtenidas a un procedimiento de codificacion de longitud variable.
55
Los varios componentes cuantificados correspondientes a los respectivos bloques, a los que se ha establecido el orden predeterminado, son datos que incluyen una alta redundancia, es decir, datos en los cuales los muchos coeficientes cuyo valor es cero (coeficientes cero) continuan despues de un coeficiente cuyo valor no es cero (coeficiente no cero). Para codificar dichos componentes cuantificados, se ha empleado un procedimiento en el que
los componentes cuantificados se codifican con su informacion redundante borrada, por ejemplo, un procedimiento de codificacion por longitud de series en el que los componentes cuantificados se codifican usando un valor de serie que indica el numero de coeficientes cero sucesivos y un valor de nivel que indica un valor de un coeficiente no cero seguido de los coeficientes cero.
5
En lo sucesivo en este documento, se describira un aparato de codificacion de imagenes convencional usando el procedimiento de codificacion por longitud de series.
La figura 34 es un diagrama de bloques que ilustra un aparato de codificacion de imagenes convencional que realiza 10 la codificacion por longitud de series.
Este aparato de codificacion de imagenes 201b incluye, en lugar de la unidad de codificacion RLE0a del aparato de codificacion de imagenes 201a mostrado en la figura 30, una unidad de codificacion por longitud de series RLE0b para someter las transmisiones (componentes cuantificados) QS transmitidas de la unidad de cuantificacion Q a 15 codificacion por longitud de series y transmitir una corriente codificada Str0b. Los demas componentes son los mismos que los del aparato de codificacion de imagenes 201a.
El funcionamiento del aparato de codificacion de imagenes 201b es diferente del funcionamiento del aparato de codificacion de imagenes 201a unicamente en el funcionamiento de la unidad de codificacion RLE0b.
20
La figura 35 es un diagrama de bloques que ilustra una construccion espedfica de la unidad de codificacion RLE0b en el aparato de codificacion de imagenes 201b.
Esta unidad de codificacion por longitud de series RLE0b tiene, de forma similar a la unidad de codificacion RLE0a, 25 un escaner en zigzag Scan para transformar las transmisiones (componentes cuantificados) QS de una matriz bidimensional de la unidad de cuantificacion Q en componentes cuantificados Coef en una dimension (es decir, un orden predeterminado).
Despues, esta unidad de codificacion por longitud de series RLE0b incluye adicionalmente una calculadora de serie 30 RunCal para calcular el numero de componentes cuantificados sucesivos cuyos valores son cero (coeficientes cero) Coef y transmitir un valor de serie Run que indica el numero de coeficientes cero sucesivos, y una calculadora de nivel LevCal para calcular un valor de un componente cuantificado cuyo valor no es cero (coeficiente no cero), seguido de los coeficientes cero, y transmitir un valor de nivel Lev que indica el valor del coeficiente no cero.
35 La unidad de codificacion por longitud de series RLE0b incluye adicionalmente un codificador de longitud variable LevVLC para someter el valor de nivel Lev que se transmite desde la calculadora de nivel LevCal a un procedimiento de codificacion de longitud variable y transmitir una secuencia de codigos (secuencia de codigos de valor de nivel) LStr, un codificador de longitud variable RunVLC para someter el valor de serie Run que se transmite desde la calculadora de serie RunCal a un procedimiento de codificacion de longitud variable y transmitir una secuencia de 40 codigos (secuencia de codigos de valor de serie) RStr, y un multiplexor MUX para multiplexar la secuencia de codigos de valor de nivel LStr y la secuencia de codigos de valor de serie RStr para cada bloque y transmitir una corriente codificada multiplexada Str0b.
A continuacion, se describira su funcionamiento.
45
El escaner en zigzag Scan transforma los componentes cuantificados QS en una matriz bidimensional, que se transmiten desde la unidad de cuantificacion Q, en componentes cuantificados Coef en una matriz unidimensional (orden predeterminado), y transmite los componentes cuantificados Coef. El procedimiento de transformacion para los componentes cuantificados Qs por el escaner en zigzag Scan se realiza de la misma manera que en la unidad de 50 codificacion RLE0a del aparato de codificacion de imagenes 201a.
La calculadora de serie RunCal calcula el numero de coeficientes cero sucesivos en base a los componentes cuantificados Coef que se transmiten desde el escaner en zigzag Scan, y transmite un valor de serie Run que indica el numero calculado. La calculadora de nivel LevCal calcula un valor de un coeficientes no cero seguido de los 55 coeficientes cero sucesivos, en base a los componentes cuantificados Coef transmitidos desde el escaner en zigzag Scan, y transmite un valor de nivel Lev que indica este valor.
En este punto, la calculadora de serie RunCal genera un valor especial EOB (Final de Bloque) cuando detecta el componente de frecuencia mas alto (el ultimo coeficiente no cero) en el bloque objetivo que se va a procesar, para
informar que todos los componentes de frecuencia mayor subsiguientes tienen valor cero.
Ademas, el codificador de longitud variable RunVLC somete el valor de serie Run que se transmite por la calculadora de serie RunCal a un procedimiento de codificacion de longitud variable para asignar un codigo (palabra 5 de codigo) al valor de serie de acuerdo con una tabla de codigos o una operacion aritmetica, y transmite una secuencia de codigos Rstr. El codificador de longitud variable LevVLC somete el valor de nivel Lev que se transmite desde la calculadora de nivel LevCal a un procedimiento de codificacion de longitud variable para asignar un codigo (palabra de codigo) al valor de nivel de acuerdo con una tabla de codigos o una operacion aritmetica, y transmite una secuencia de codigos LStr.
10
El multiplexor MUX multiplexa la secuencia de codigos LStr y la secuencia de codigos RStr para cada bloque, y transmite una corriente codificada multiplexada StrOb.
En este punto, el procedimiento para multiplexar la secuencia de codigos LStr y la secuencia de codigos RStr se 15 realiza para cada bloque, por ejemplo, de tal manera que la secuencia de codigos RStr correspondiente a todos los valores de serie para un bloque objetivo se sigue por la secuencia de codigos LStr correspondiente a todos los valores de nivel para el bloque objetivo, o la secuencia de codigos LStr correspondiente a todos los valores de nivel para un bloque objetivo se sigue por la secuencia de codigos RStr correspondiente a todos los valores de serie para el bloque objetivo.
20
El aparato de codificacion de imagenes, como se ha descrito anteriormente para varios los coeficientes cuantificados de codificacion en un orden predeterminado, usando el valor de serie Run que indica el numero de componentes cuantificados cuyo valor es cero (coeficientes cero) Coef, y el valor de nivel Lev que indica un valor de un componente cuantificado cuyo valor no es cero (coeficiente no cero) Coef, seguido de los coeficientes cero, puede 25 codificar los varios coeficientes cuantificados con una mayor eficiencia de codificacion, mientras que elimina su informacion redundante.
La figura 36 es un diagrama de bloques para explicar un aparato de decodificacion de imagenes 202b correspondiente al aparato de codificacion de imagenes 201b como se muestra en la figura 34.
30
Este aparato de decodificacion de imagenes 202b decodifica la corriente codificada Str0 que se transmite desde el aparato de codificacion de imagenes convencional 201b como se muestra en la figura 34.
El aparato de decodificacion de imagenes 202b tiene, en lugar de la unidad de decodificacion RLD0a del aparato de 35 decodificacion de imagenes 202a mostrado en la figura 32, una unidad de decodificacion por longitud de series RLD0b para someter la corriente codificada Str0b que se transmite desde el aparato de codificacion de imagenes 201b a un procedimiento de decodificacion por longitud de series. Los demas componentes son identicos a los del aparato de decodificacion de imagenes 202a.
40 El funcionamiento del aparato de decodificacion de imagenes 202b es diferente a la del aparato de decodificacion de imagenes 202a unicamente en el funcionamiento de la unidad de decodificacion RLD0b.
La figura 37 es un diagrama de bloques que ilustra una construccion espedfica de la unidad de decodificacion por longitud de series RLD0b en el aparato de decodificacion de imagenes 202b.
45
Esta unidad de decodificacion por longitud de series RLD0b tiene un desmultiplexor DMUX para desmultiplexar la corriente codificada multiplexada Str0b que se transmite desde el aparato de codificacion de imagenes 201b para obtener la secuencia de codigos LStr correspondiente a los valores de nivel y la secuencia de codigos RStr correspondiente a los valores de serie, un decodificador de longitud variable LevVLD para someter la secuencia de 50 codigos LStr a un procedimiento de decodificacion de longitud variable para reconstituir los valores de nivel Lev, un decodificador de longitud variable RunVLC para someter la secuencia de codigos RStr a un procedimiento de decodificacion de longitud variable para reconstituir los valores de serie Run, y un escaner en zigzag inverso IScan para reconstituir los componentes cuantificados decodificados DQS en una matriz bidimensional de los componentes cuantificados decodificados en una matriz unidimensional, que se representan por los valores de nivel Lev y los 55 valores de serie Run.
A continuacion, se describira su funcionamiento.
En el aparato de decodificacion de imagenes 202b, la unidad de decodificacion por longitud de series RLD0b realiza
la operacion inversa a la unidad de codificacion por longitud de series RLEOb. Es dedr, la unidad de decodificacion por longitud de series RLDOb desmultiplexa la corriente codificada multiplexada StrOb para obtener la secuencia de codigos Lstr correspondiente a los valores de nivel y la secuencia de codigos RStr correspondiente a los valores de serie.
5
Despues, el decodificador de longitud variable LevVLD decodifica la secuencia de codigos LStr correspondiente a los valores de nivel por la operacion inversa al codificador de longitud variable LevVLC, y transmite los valores de nivel Lev. El decodificador de longitud variable RunVLD decodifica la secuencia de codigos RStr correspondiente a los valores de serie por la operacion inversa al codificador de longitud variable RunVLC, y transmite los valores de 10 serie Run.
El escaner en zigzag inverso IScan reconstituye los componentes cuantificados decodificados DQS en una matriz bidimensional de los componentes cuantificados en una matriz unidimensional, que se representan por los valores de nivel Lev y los valores de serie Run, por la operacion inversa al escaner en zigzag Scan, y transmite los 15 componentes cuantificados decodificados a la unidad de cuantificacion inversa IQ. Sin embargo, este escaner en zigzag inverso IScan (vease la figura 37) es diferente del escaner en zigzag inverso IScan como se muestra en la figura 33 en que el valor de nivel Lev y el valor de serie Run se introducen al mismo. Por lo tanto, el escaner en zigzag inverso IScan mostrado en la figura 37 tiene la funcion de convertir un coeficiente que se representa por el valor de nivel Lev y el valor de serie Run en unos componentes cuantificados Coef.
20
De acuerdo con el aparato de decodificacion de imagenes que realiza un procedimiento de decodificacion para decodificar varios coeficientes cuantificados en un orden predeterminado, usando el valor de serie Run que indica el numero de componentes cuantificados cuyos valores son cero (coeficientes cero) Coef y el valor de nivel Lev que indica un valor de un componente cuantificado cuyo valor no es cero (coeficiente no cero) Coef, seguido de los 25 coeficientes cero, se decodifican satisfactoriamente los datos codificados que se obtienen codificando los varios componentes cuantificados de acuerdo con la codificacion por longitud de series eliminando su informacion redundante a una mayor eficiencia de codificacion.
En lo sucesivo en este documento, se describira otro ejemplo del aparato de codificacion de imagenes convencional 30 usando el procedimiento de codificacion por longitud de series.
La figura 38 es un diagrama de bloques que ilustra otro ejemplo del aparato de codificacion de imagenes que emplea la unidad de codificacion por longitud de series. Casi todos los aparatos de codificacion de imagenes convencionales, que acatan los estandares, tales como MPEG, o H.261 y H.263 (ITU), o un borrador del estandar 35 H26L (TML8) ahora se planea que tengan una construccion como se muestra en la figura 38.
Este aparato de codificacion de imagenes 201c realiza la codificacion de los coeficientes cuantificados usando el valor de serie y el valor de nivel, similar al aparato de codificacion de imagenes 201b mostrado en la figura 34, mientras que este aparato de codificacion de imagenes 201c no realiza un procedimiento de codificacion de longitud 40 variable para el valor de serie y el valor de nivel separadamente similar al aparato de codificacion de imagenes 201b, pero realiza un procedimiento de codificacion de longitud variable para un par del valor de serie y el valor de nivel (par de serie-nivel).
Para ser mas espedficos, el aparato de codificacion de imagenes 201c tiene, similar al aparato de codificacion de 45 imagenes 201b, una unidad de bloqueo Blk a la que se introduce una senal de imagen Vin, una unidad de transformacion de frecuencia Trans para someter una transmision Blks de la unidad de bloqueo a transformacion de frecuencia, y una unidad de cuantificacion Q para cuantificar las transmisiones (componentes de frecuencia) TransS de la unidad de transformacion. El aparato de codificacion de imagenes 201c incluye adicionalmente una unidad de codificacion por longitud de series RLE0c para someter las transmisiones (componentes cuantificados) QS de la 50 unidad de cuantificacion a un procedimiento de codificacion por longitud de series para transformar un par de serie- nivel que comprende un valor de serie y un valor de nivel en un codigo de longitud variable.
A continuacion, se describira su funcionamiento.
55 La unidad de bloqueo Blk divide la senal de imagen Vin en senales de imagen correspondientes a las unidades de bloque para generar componentes de valores de pfxeles (senales de imagen bloqueadas) BlkS. La unidad de transformacion de frecuencia Trans transforma los componentes de valores de pfxeles BlkS en componentes de frecuencia TransS de acuerdo con DCT (Transformacion de Coseno Discreta) o transformacion de ondula. La unidad de cuantificacion Q cuantifica los componentes de frecuencia TransS en base a un parametro de cuantificacion QP
para transmitir los componentes cuantificados QS, as^ como transmite el parametro de cuantificacion Q. La unidad de codificacion por longitud de series RLE0c somete los componentes cuantificados QS a la codificacion por longitud de series, y transmite una corriente codificada StrOc.
5 En este punto, el bloque es un area de un tamano predeterminado en la imagen (espacio de imagen), que es una unidad en un procedimiento de codificacion para una senal de imagen, y compuesto de un numero predeterminado de pfxeles. La codificacion por longitud de series es un procedimiento para la transformacion de un par que comprende un valor de serie que indica el numero de componentes cuantificados sucesivos cuyos valores son cero (coeficientes cero) y un valor de nivel que indica un valor de un componente cuantificado cuyo valor no es cero 10 (coeficiente no cero), seguido de los coeficientes cero, en un codigo de longitud variable, en otras palabras, un procedimiento para asignar un codigo de longitud variable (palabra de codigo) a un par de un valor de serie y un valor de nivel (par de serie-nivel).
A continuacion, se describira espedficamente la unidad de codificacion por longitud de series RLEOc.
15
La figura 39 es un diagrama de bloques que ilustra una unidad de codificacion por longitud de series convencional RLE0c.
Esta unidad de codificacion por longitud de series RLEOc tiene, similar a la unidad de codificacion por longitud de 20 series RLEOb como se muestra en la figura 35, un escaner en zigzag Scan para transformar las transmisiones (componentes cuantificados) QS de una matriz bidimensional de la unidad de cuantificacion Q, en componentes cuantificados Coef en una matriz unidimensional (es decir, un orden predeterminado); una calculadora de serie RunCal para calcular el numero de componentes cuantificados sucesivos cuyos valores son cero (coeficientes cero) Coef y transmitir un valor de serie Run; y una calculadora de nivel LevCal para calcular un valor de un componente 25 cuantificado cuyo valor no es cero (coeficiente no cero) Coef, seguido de los coeficientes cero, y transmitir un valor de nivel Lev.
La unidad de codificacion por longitud de series RLEOc incluye adicionalmente un codificador de serie-nivel RunLevEnc para obtener un numero de codigo Code correspondiente a un par del valor de nivel Lev y el valor de 30 serie Run de acuerdo con una tabla de codigos o una operacion aritmetica en base a las transmisiones de la calculadora de serie RunCal y la calculadora de nivel LevCal; y un codificador de longitud variable VLC para asignar una palabra de codigo al numero de codigo Code para generar una corriente codificada StrOc correspondiente a la senal de imagen Vin.
35 A continuacion, se describira su funcionamiento.
En la unidad de codificacion por longitud de series RLEOc, similar a la unidad de codificacion por longitud de series RLEOb, el escaner en zigzag Scan transforma los componentes cuantificados QS en una matriz bidimensional, que se transmiten desde la unidad de cuantificacion Q, en componentes cuantificados Coef en una matriz unidimensional 4O (orden predeterminado), y transmite los componentes cuantificados obtenidos.
La figura 43 es un diagrama para explicar espedficamente un procedimiento para transformar los componentes cuantificados QS por el escaner en zigzag Scan.
45 Los componentes cuantificados QS transmitidos por la unidad de cuantificacion Q tienen una matriz bidimensional como se muestra en la figura 43, es decir, una matriz en la que los componentes cuantificados QS se disponen en forma de matriz en una region de frecuencia de dos dimensiones Fr de acuerdo con el tamano del componente de frecuencia horizontal y el tamano del componente de frecuencia vertical.
5O El escaner en zigzag Scan realiza el procedimiento para explorar los componentes cuantificados QS en la matriz bidimensionales en zigzag, como se muestra por las flechas Y1 a Y7, para transformar los componentes cuantificados QS en componentes cuantificados Coef en una matriz unidimensional. Es decir, este procedimiento de exploracion establece un orden predeterminado a lo largo del transcurso de la exploracion, con respecto a los varios componentes cuantificados QS en la matriz bidimensional.
55
La calculadora de serie RunCal calcula el numero de coeficientes cero sucesivos en base a los componentes cuantificados Coef transmitidos desde el escaner en zigzag Scan, y transmite un valor de serie Run que indica el numero calculado. La calculadora de nivel LevCal calcula un valor de un coeficiente no cero seguido de los coeficientes cero sucesivos, en base a los componentes cuantificados Coef transmitidos desde el escaner en zigzag
Scan, y transmite un valor de nivel que indica el valor calculado. En este punto, la calculadora de serie RunCal produce un valor espedfico EOB (Fin de Bloque) al detectar el componente de frecuencia mas alta (el ultimo coeficiente no cero) en un bloque objetivo que se va a procesar, para informar que todos los componentes de frecuencia mayores posteriores tienen valor cero.
5
Ademas, el codificador de serie-nivel RunLevEnc obtiene un numero de codigo Code correspondiente a un par del valor de nivel Lev y el valor de serie Run en base a las transmisiones de la calculadora de serie RunCal y la calculadora de nivel LevCal, de acuerdo con una tabla de codigos o una operacion aritmetica. El codificador de longitud variable VLC codifica el numero de codigo Code que se obtiene por el convertidor RunLevEnc, es decir, 10 asigna una palabra de codigo (secuencia de bits) al numero de codigo para generar una corriente codificada Str0.
La figura 42 muestra un ejemplo de una tabla de codigos que se emplea por la unidad de codificacion por longitud de series RLEOc. La tabla de codigos (primera tabla de codificacion) T1 mostrada en la figura 42 muestra una tabla de codigos correspondiente a los componentes de DC de una senal de diferencia de color que acata un borrador del 15 estandar H.26L (TML8) que se esta planeando actualmente.
Esta tabla de codigos T esta compuesta de una parte regularmente generable que incluye numeros de codigo correspondientes a los pares de valores de nivel y valores de serie, que pueden calcularse de acuerdo con una operacion aritmetica usando valores de nivel y valores de serie (construir regularmente VLC), y una parte irregular 20 que incluye numeros de codigo correspondientes a los pares de valores de nivel y valores de serie, que no pueden calcularse por la operacion aritmetica (consultar tabla para VLC) . Ademas, se asigna una secuencia de bits (no mostrada) para cada numero de codigo Code como una palabra de codigo en una relacion uno a uno. Se asigna una palabra de codigo mas corta a un numero de codigo Code que tiene un valor mas pequeno.
25 A continuacion, se describira un aparato de decodificacion convencional correspondiente al aparato de codificacion de imagenes 201c.
La figura 40 es un diagrama de bloques que ilustra un aparato de decodificacion de imagenes 202c que emplea una unidad de decodificacion por longitud de series convencional RLD0.
30
Este aparato de decodificacion de imagenes 202c decodifica la corriente codificada Str0c que se transmite desde el aparato de codificacion de imagenes convencional 201c mostrado en la figura 39.
El aparato de decodificacion de imagenes 202c decodifica los coeficientes cuantificados usando el valor de serie y el 35 valor de nivel, como el aparato de decodificacion de imagenes 202b en la figura 36, mientras que este aparato de decodificacion de imagenes 202c no realiza la decodificacion de longitud variable del valor de serie y el valor de nivel separadamente similar al aparato de decodificacion de imagenes 202b, pero realiza la decodificacion de longitud variable de un par que comprende el valor de serie y el valor de nivel (par de serie-nivel).
40 Para ser mas espedficos, el aparato de decodificacion de imagenes 202c tiene una unidad de decodificacion por longitud de series RLD0c que somete la corriente codificada Str0c transmitida desde el aparato de codificacion de imagenes 201c a un procedimiento de decodificacion por longitud de series usando un par de serie-nivel que comprende un valor de serie y un valor de nivel. El aparato de decodificacion de imagenes 202c tiene adicionalmente, como el aparato de decodificacion de imagenes 202b, una unidad de cuantificacion inversa IQ para 45 someter las transmisiones (componentes cuantificados decodificados) DQS por la unidad de decodificacion por longitud de series RLDc a un procedimiento de cuantificacion inversa; una unidad de transformacion de frecuencia inversa ITrans para someter las transmisiones (componentes de frecuencia decodificados) ITransS por la unidad de cuantificacion inversa IQ a un procedimiento de transformacion de frecuencia inversa; y una unidad de desbloqueo DeBlk para generar una senal de imagen decodificada Vout correspondiente a cada imagen en base a las 50 transmisiones (componentes de valores de pfxeles decodificados) DBlkS de la unidad de transformacion de frecuencia inversa ITrans.
A continuacion, se describira su funcionamiento.
55 En el aparato de decodificacion de imagenes 202c, la unidad de decodificacion por longitud de series RLD0c realiza lo inverso de la operacion de la unidad de codificacion por longitud de series RLE0c. Para ser mas espedficos, la unidad de decodificacion por longitud de series RLD0c somete la corriente codificada Str0c a un procedimiento de decodificacion por longitud de series para transmitir componentes cuantificados decodificados dQs. La unidad de cuantificacion inversa IQ realiza la operacion inversa a la unidad de cuantificacion Q, es decir, una operacion de
cuantificar inversamente los componentes cuantificados decodificados DQS con referencia a un parametro de cuantificacion QP para transmitir componentes de frecuencia decodificados ITransS. La unidad de transformacion de frecuencia inversa ITrans realiza la operacion inversa a la unidad de transformacion de frecuencia Trans, es decir, una operacion para someter los componentes de frecuencia decodificados ITransS a la transformacion DCT inversa 5 o de ondula inversa, para reconstituir una senal de valores de pfxeles decodificada (senal de imagen bloqueada decodificada) DBlks correspondiente a cada bloque. La unidad de desbloqueo DeBl, integra los componentes de valores de pfxeles de imagenes en los respectivos bloques, y transmite una senal de imagen decodificada Vout correspondiente a cada imagen (marco).
10 A continuacion, se describira espedficamente la unidad de decodificacion por longitud de series RLDOc.
La figura 41 es un diagrama de bloques para explicar una construccion espedfica de la unidad de decodificacion por longitud de series RLDOc.
15 Esta unidad de decodificacion por longitud de series RLDOc tiene un decodificador de longitud variable VLD para someter la corriente codificada StrOc a un procedimiento de decodificacion de longitud variable para obtener un numero de codigo Code correspondiente a cada codigo (palabra de codigo) incluido en la corriente codificada StrOc; un detector de serie-nivel RunLevDec para detectar un par de un valor de nivel Lev y un valor de serie Run, correspondientes al numero de codigo Code; y un escaner de zigzag inverso IScan para reconstituir los 20 componentes cuantificados decodificados DQS en una matriz bidimensional, que se representan por los valores de nivel Lev y los valores de serie Run, en base a los pared de los valores de nivel Lev y los valores de serie Run.
A continuacion, se describira su funcionamiento.
25 En esta unidad de decodificacion por longitud de series RLDOc, el decodificador de longitud variable VLD decodifica la corriente codificada StrOc, y transmite un numero de codigo Code correspondiente a una palabra de codigo (secuencia de bits) de acuerdo con la operacion inversa al codificador de longitud variable VLC. El detector de serie- nivel RunLevDec se refiere a una tabla de codigos o realiza una operacion aritmetica para transmitir un par de un valor de nivel Lev y un valor de serie Run, correspondientes al numero de codigo Code, de acuerdo con la operacion 3O inversa al codificador de serie-nivel RunLevEnc. El escaner en zigzag inverso IScan reconstituye los componentes cuantificados decodificados DQS en una matriz bidimensional de los componentes cuantificados en una matriz unidimensional que se representan por los pares de los valores de nivel Lev y los valores de serie Run de acuerdo con la operacion inversa en el escaner en zigzag Scan, y transmite los componentes cuantificados decodificados DQS a la unidad de cuantificacion inversa IQ.
35
La Solicitud de Patente Publicada Japonesa N° Hei. 6-237184 describe un procedimiento de codificacion por longitud de series en el que los varios coeficientes en un orden predeterminado se codifican usando un valor de serie Run que indica el numero de componentes cuantificados cuyos valores son cero (coeficientes cero) Coef, y un valor de nivel Lev que indica un valor de un componente cuantificado cuyo valor no es cero (coeficiente no cero) Coef, 4O seguido de los coeficientes cero.
La Patente Japonesa N° 3144456 (que corresponde a la Solicitud de Patente Publicada Japonesa N° Hei. 8-79O88 y al documento US 572962O) describe un procedimiento por el que una tabla de codificacion de longitud variable (tabla VLC) se cambia de acuerdo con el valor de un valor del vector de movimiento diferencial cuando el valor del vector 45 de movimiento diferencial se codifica usando una tabla de codificacion de longitud variable en un procedimiento para codificar de forma predecible datos de video digital.
Ademas, se conoce una codificacion aritmetica como otro procedimiento por el que los valores de pfxeles se codifican por longitud variable, en el que la codificacion de longitud variable se realiza de acuerdo con una operacion 5O aritmetica usando la probabilidad en la que el valor de pfxeles pueda tomar un valor predeterminado. De acuerdo con la codificacion aritmetica, se obtiene un codigo a partir de la probabilidad, de forma que una tabla de probabilidad en la que se describen las probabilidades correspondientes a las situaciones individuales, corresponde a la tabla VLC. En este punto, "All about MPEG-4" (primera edicion, primera impresion, publicado el 2O de septiembre de 1998, escrito y editado por Miki Sukeichi, pags. 69-73, Kogyo Chosakai Publishing Co., Ltd.) describe 55 un procedimiento por el que los valores de pfxeles de los pfxeles correspondientes a un objetivo de codificacion se someten a la codificacion aritmetica cambiando una tabla de probabilidad en base a un procedimiento de prediccion (contexto) para un pixel objetivo de codificacion que se predice de los valores de pfxeles de los pfxeles circundantes.
La unidad de codificacion RLEOa que se ha mencionado anteriormente del aparato de codificacion de imagenes
convencional 201a realiza la codificacion de longitud variable para varios coeficientes cuantificados que se obtienen cuantificando los componentes de frecuencia de los datos de imagen, para cada unidad de procesamiento predeterminada (bloque). Esta unidad de codificacion emplea una tabla de codigos predeterminada que indica las correspondencias entre la informacion de valor numerico que muestra el tamano de cada coeficiente cuantificado y 5 un codigo (palabra de codigo). En el procedimiento de codificacion de longitud variable por la unidad de codificacion, no se puede eliminar suficientemente informacion redundante incluida en el coeficiente cuantificado (datos que se van a procesar) y, por lo tanto, la velocidad de compresion puede mejorarse adicionalmente.
Ademas, en la unidad de codificacion por longitud de series que realiza la codificacion de longitud variable de varios 10 coeficientes cuantificados usando un valor de serie que indica el numero de componentes cuantificados cuyos valores son cero (coeficientes cero) Coef, y un valor de nivel que indica un valor de un componente cuantificado cuyo valor no es cero (coeficiente no cero) Coef, seguido de los coeficientes cero, similar a las unidades de codificacion RLE0b o RLE0c en el aparato de codificacion de imagenes convencional 201b o 201c, no se elimina lo suficiente la informacion redundante incluida en los coeficientes cuantificados en el procedimiento de codificacion de 15 longitud variable.
Ademas, la unidad de decodificacion RLD0a del aparato de decodificacion de imagenes convencional 202a o la unidad de decodificacion por longitud de series RLD0b o RLD0c del aparato de decodificacion de imagenes convencional 202b o 202c corresponde a una unidad de codificacion que no puede eliminar suficientemente la 20 informacion redundante incluida en los coeficientes cuantificados en el procedimiento de codificacion de longitud variable para los coeficientes cuantificados.
Ademas, en cuanto al procedimiento mediante por el que se cambia una tabla de codificacion de longitud variable (tabla VLC) de acuerdo con el valor de un valor del vector de movimiento diferencial cuando el valor del vector de 25 movimiento diferencial se codifica usando una tabla de codificacion de longitud variable en un procedimiento para codificar de manera predecible datos de video digital, no se ha conocido un cambio eficaz de la tabla de codificacion en un procedimiento de codificacion de longitud variable para datos que tiene dichas caractensticas que los varios coeficientes cero siguen con exito, similar a los coeficientes cuantificados que se obtienen cuantificando los componentes de frecuencia de una senal de imagen.
30
La presente invencion se hace para resolver los problemas mencionados anteriormente, y esta invencion tiene por su objeto, proporcionar un procedimiento de codificacion de longitud variable y un procedimiento de decodificacion de longitud variable, que pueden eliminar la informacion redundante incluida en los datos objetivo (coeficientes cuantificados) por un procedimiento de codificacion de longitud variable, mas eficazmente de acuerdo con las 35 caractensticas de los coeficientes cuantificados y estados de un procedimiento de codificacion para los componentes cuantificados, aumentando de esta manera adicionalmente la velocidad de compresion de una senal de imagen o similar.
C. Auyeung, "Results on 3D-VLC and Adaptive 3D-VLC", 9. LBC Meeting, marzo de 1995 desvela una propuesta 40 para una codificacion de longitud variable tridimensional adaptativa (VLC).
Divulgacion de la invencion
De acuerdo con la presente invencion, se proporciona un metodo para decodificar datos codificados de una imagen 45 de bloque, incluyendo los datos codificados un valor de serie codificado y un valor de nivel codificado, como se define en la reivindicacion 1. Ademas, de acuerdo con la presente invencion, tambien se proporciona un aparato de decodificacion para decodificar datos codificados de una imagen de bloque, incluyendo los datos codificados un valor de serie codificado y un valor de nivel codificado.
50 Breve descripcion de las figuras
La figura 1 es un diagrama de bloques para explicar un aparato de codificacion de imagenes 101 de acuerdo con una primera realizacion de la presente invencion.
55 La figura 2 es un diagrama de bloques que ilustra una unidad de codificacion por longitud de series RLE1 que constituye el aparato de codificacion de imagenes 101 de acuerdo con la primera realizacion.
Las figuras 3(a)-3(d) son diagramas para explicar la exploracion en zigzag por la unidad de codificacion por longitud de series RLE1, y las figuras 3(e) y 3(f) son diagramas para explicar la reordenamiento de los valores de serie y
valores de nivel.
Las figuras 4 son diagramas para explicar el procesamiento en un codificador de longitud variable LVLC de la unidad de codificacion por longitud de series RLE1: la figura 4(a) es un diagrama de flujo que muestra un procedimiento de 5 codificacion de longitud variable para un valor de nivel, y la figura 4(b) es una tabla de codigos que se usa en el procedimiento de codificacion de longitud variable para el valor de nivel.
Las figuras 5 son diagramas para explicar el procesamiento en un codificador de longitud variable RVLC o de la unidad de codificacion por longitud de series RLE1: la figura 5(a) es un diagrama de flujo que muestra un 10 procedimiento de codificacion de longitud variable para un valor de serie, y la figura 5(b) es una tabla de codigos que se usa en el procedimiento de codificacion de longitud variable para el valor de serie.
Las figuras 6 son diagramas que muestran el numero total de bits correspondiente a los codigos que se asignan a los valores de niveles (un parametro de cuantificacion es relativamente pequeno) por el codificador de longitud 15 variable LevVLC en un caso en el que se emplee una tabla de codigos L2 (figura 6 (a)), y en un caso en el que se emplee una tabla de codigos L1 (figura 6(b)), respectivamente.
Las figuras 7 son diagramas que muestran el numero total de bits correspondiente a los codigos que se asignan a valores de nivel (un parametro de cuantificacion es relativamente grande) por el codificador de longitud variable 20 LevVLC en un caso en el que se emplee la tabla de codigos L2 (figura 7 (a)), y en un caso en el que se emplee la tabla de codigos L1 (figura 7(b)), respectivamente.
Las figuras 8 son diagramas que muestran el numero total de bits correspondiente a los codigos que se asignan a valores de serie por el codificador de longitud variable RVLC en un caso en el que se emplee una tabla de codigos 25 espedfica (figura 8 (a)), un caso en el que se realice el cambio de una tabla de codigos y la reordenamiento de los valores de serie (figura 8(b)), y un caso en el que solamente se realice el cambio de una tabla de codigos (figura 8 (c)), respectivamente.
La figura 9 es un diagrama de bloques para explicar un aparato de decodificacion de imagenes 102 de acuerdo con 30 una segunda realizacion de la presente invencion.
La figura 10 es un diagrama de bloques que ilustra una unidad de decodificacion por longitud de series RLD1 que constituye el aparato de decodificacion de imagenes 102 de acuerdo con la segunda realizacion.
35 Las figuras 11 son diagramas para explicar un procedimiento de decodificacion de longitud variable por un decodificador de longitud variable LVLD: la figura 11 (a) es un diagrama de flujo que muestra un procedimiento de decodificacion de longitud variable para reconstituir un valor de nivel, y la figura 11(b) es una tabla de codigos que se emplea en el procedimiento de decodificacion de longitud variable.
40 Las figuras 12 son diagramas para explicar un procedimiento de decodificacion de longitud variable por un decodificador de longitud variable RVLD: la figura 12(a) es un diagrama de flujo que muestra un procedimiento de decodificacion de longitud variable para reconstituir un valor de serie, y la figura 12(b) es una tabla de codigos que se emplea en el procedimiento de decodificacion de longitud variable.
45 La figura 13 es un diagrama de bloques para explicar un aparato de codificacion de imagenes 103 de acuerdo con una tercera realizacion de la presente invencion.
La figura 14 es un diagrama de bloques que ilustra una unidad de codificacion por longitud de series RLE2 que constituye el aparato de codificacion de imagenes 103 de acuerdo con la tercera realizacion.
50
Las figuras 15 son diagramas que muestran los ejemplos T2a (figura 15 (a)) y T2b (figura 15 (b)) de una tabla de codigos (segunda tabla de codigos) que se forma por la unidad de codificacion por longitud de series RLE2 de acuerdo con la tercera realizacion.
55 Las figuras 16 son diagramas que muestran otros ejemplos T2c (figura 16 (a)), T2d (figura 16(b)), T2e (figura 16 (c)) de la tabla de codigos (segunda tabla de codigos) que se forma por la unidad de codificacion por longitud de series RLE2 de acuerdo con la tercera realizacion.
La figura 17 es un diagrama que muestra un ejemplo de un orden en el que los componentes cuantificados se
codifican por la unidad de codificacion por longitud de series RLE2 de acuerdo con la tercera realizacion.
La figura 18 es un diagrama de bloques para explicar un aparato de decodificacion de imagenes 104 de acuerdo con una cuarta realizacion de la presente invencion.
5
La figura 19 es un diagrama de bloques que ilustra una unidad de decodificacion por longitud de series RLD2 que constituye el aparato de decodificacion de imagenes 104 de acuerdo con la cuarta realizacion.
La figura 20 es un diagrama de bloques para explicar un aparato de codificacion de imagenes 105 de acuerdo con 10 una quinta realizacion de la presente invencion.
La figura 21 es un diagrama de bloques que ilustra una unidad de codificacion por longitud de series RLE3 que constituye el aparato de codificacion de imagenes 105 de acuerdo con la quinta realizacion.
15 La figura 22 es un diagrama de bloques para explicar un aparato de decodificacion de imagenes 106 de acuerdo con una sexta realizacion de la presente invencion.
La figura 23 es un diagrama de bloques que ilustra una unidad de decodificacion por longitud de series RLD3 que constituye el aparato de decodificacion de imagenes 106 de acuerdo con la sexta realizacion.
20
Las figuras 24 son diagramas que muestran los ejemplos Ta (figura 24(a)), Tb (figura 24(b)) y Tc (figura 24 (c)) de una tabla de codigos de longitud variable que se emplea por la unidad de codificacion por longitud de series RLE3 de acuerdo con la quinta realizacion y la unidad de decodificacion por longitud de series RLD3 de acuerdo con la sexta realizacion.
25
Las figuras 25 son diagramas para explicar un medio de almacenamiento de datos que contiene un programa para implementar un procedimiento de codificacion de longitud variable o un procedimiento de decodificacion de longitud variable de acuerdo con cualquiera de las realizaciones anteriores por un sistema informatico (figura 25(a) y 25(b)), y el sistema informatico (figura 25 (c)).
30
La figura 26 es un diagrama para explicar una aplicacion de un procedimiento de codificacion de imagenes y un procedimiento de decodificacion de imagenes de acuerdo con cualquiera de las realizaciones, y esta figura muestra un sistema de suministro de contenidos que implementa los servicios de distribucion de contenidos.
35 La figura 27 es un diagrama para explicar un telefono movil que emplea un procedimiento de codificacion de imagenes y un procedimiento de codificacion de imagenes de acuerdo con cualquiera de las realizaciones.
La figura 28 es un diagrama de bloques que ilustra el telefono movil como se muestra en la figura 27.
40 La figura 29 es un diagrama que muestra un sistema de radiodifusion que emplea un aparato de codificacion de imagenes o un aparato de decodificacion de imagenes de acuerdo con cualquiera de las realizaciones.
La figura 30 es un diagrama de bloques que ilustra un aparato de codificacion de imagenes convencional 201a.
45 La figura 31 es un diagrama de bloques para explicar una unidad de codificacion RLE0a que constituye el aparato de codificacion de imagenes convencional 201a.
La figura 32 es un diagrama de bloques para explicar un aparato de decodificacion convencional 202a correspondiente al aparato de codificacion de imagenes convencional 201a.
50
La figura 33 es un diagrama de bloques para explicar una unidad de decodificacion RLD0a que constituye el aparato de decodificacion de imagenes convencional 202a.
La figura 34 es un diagrama de bloques que ilustra un aparato de codificacion de imagenes 201b que realiza una 55 codificacion por longitud de series convencional.
La figura 35 es un diagrama de bloques para explicar una unidad de codificacion por longitud de series RLE0b que constituye el aparato de codificacion de imagenes convencional 201b.
La figura 36 es un diagrama de bloques para explicar un aparato de decodificacion de imagenes convencional 202b correspondiente al aparato de codificacion de imagenes convencional 201b.
La figura 37 es un diagrama de bloques para explicar una unidad de decodificacion por longitud de series RLD0b 5 que constituye el aparato de decodificacion de imagenes convencional 202b.
La figura 38 es un diagrama de bloques para explicar otro aparato de codificacion de imagenes 201c que realiza la codificacion por longitud de series convencional.
10 La figura 39 es un diagrama de bloques que ilustra una unidad de codificacion por longitud de series RLE0c que constituye el aparato de codificacion de imagenes convencional 201c.
La figura 40 es un diagrama de bloques para explicar un aparato de decodificacion de imagenes convencional 202c correspondiente al aparato de codificacion de imagenes convencional 201c.
15
La figura 41 es un diagrama de bloques para explicar una unidad de decodificacion por longitud de series RLD0c que constituye el aparato de decodificacion de imagenes convencional 202c.
La figura 42 es un diagrama que muestra un ejemplo de una tabla de codigos que se emplea por la unidad de 20 codificacion por longitud de series RLE0c que constituye el aparato de codificacion de imagenes convencional 201c.
La figura 43 es un diagrama que muestra un ejemplo de un orden en el que los componentes cuantificados se codifican por las unidades de codificacion por longitud de series convencionales RLE0a, RLE0b o RLE0c.
25 Mejor modo de realizacion de la invencion
Inicialmente, se describiran los principios fundamentales de la presente invencion.
Generalmente, cuando la etapa de cuantificacion es desigual, los componentes cuantificados tienen valores 30 absolutos mas pequenos. Despues, la serie (la longitud de coeficientes cero que continuan sucesivamente) se hace mas larga, y por consiguiente el valor de nivel (el valor de un coeficiente no cero) tiene un valor absoluto mas pequeno. Por el contrario, cuando la etapa de cuantificacion es buena, los componentes cuantificados tienen valores absolutos mayores. Por lo tanto, la serie se hace mas corta y, por consiguiente, el valor de nivel tiene un valor absoluto mas grande.
35
Ademas, cuando la codificacion de longitud variable de muchos componentes cuantificados ya se ha completado en un bloque de objeto que se va a procesar y el numero de componentes cuantificados que no estan codificados es pequeno, nunca aparece un valor de serie que exceda el numero de componentes cuantificados no codificados. Por lo tanto, cuando los pares de estos valores de serie y valores de nivel se eliminan, la eficiencia de la codificacion 40 aumenta.
A partir de este punto de vista, la presente invencion cambia una tabla de codigos que indica las correspondencias entre la informacion de valor numerico que muestra el tamano de un coeficiente cuantificado y un codigo, de acuerdo con un estado de un procedimiento de codificacion de longitud variable o un procedimiento de decodificacion de 45 longitud variable para coeficientes cuantificados y un parametro asociado con la generacion de coeficientes cuantificados (parametro de cuantificacion), eliminando de esta manera de forma eficaz la informacion redundante incluida en los datos objetivo (coeficiente cuantificado) del procedimiento de codificacion de longitud variable.
Por ejemplo, el cambio de la tabla de codigos se realiza seleccionando una tabla de codigos (primera tabla de 50 codigos), que se emplea en el procedimiento de codificacion o decodificacion de longitud variable convencional, o una segunda tabla de codigos que se forma en base a la primera tabla de codigos y se optimiza por los datos que se van a procesar, en base a un estado de procesamiento de coeficientes cuantificados. No es necesario formar la segunda tabla de codigos siempre en base a la primera tabla de codigos, pero cualquier tabla de codigos que se adapte para procesar datos objetivo puede seleccionarse como una tabla de codigos.
En lo sucesivo en este documento, se describiran las realizaciones de la presente invencion referencia a las figuras 1 a 25.
[Realizacion 1]
La figura 1 es un diagrama de bloques para explicar un aparato de codificacion de imagenes de acuerdo con una primera realizacion de la presente invencion.
5 Este aparato de codificacion de imagenes 101 de acuerdo con la primera realizacion, en lugar de la unidad de codificacion por longitud de series RLEOb en el aparato de codificacion de imagenes convencional 201b mostrado en la figura 34, que somete una transmision (componentes cuantificados) QS de la unidad de cuantificacion Q a un procedimiento de codificacion de longitud variable y transmite una corriente codificada Str0b, tiene una unidad de codificacion por longitud de series RLE1 para someter la transmision por la unidad de cuantificacion Q a un 10 procedimiento de codificacion de longitud variable en base a un parametro de cuantificacion QP y a una senal de seleccion de VLC VlcSel, y transmite una corriente codificada Str1.
En este punto, el parametro de cuantificacion QP es un parametro que indica un valor de una etapa de cuantificacion, y la etapa de cuantificacion es aproximadamente proporcional al parametro de cuantificacion QP. 15 Para ser mas espedficos, cuando el parametro de cuantificacion QP es mayor, los componentes cuantificados tienen valores absolutos mas pequenos, entonces la serie cero de los componentes cuantificados (la longitud de componentes que continuan sucesivamente cuyos valores son cero) se hace mas larga, y un valor de nivel tiene un valor absoluto mas pequeno.
20 La figura 2 es un diagrama de bloques para explicar una construccion espedfica de la unidad de codificacion por longitud de series RLE1.
Esta unidad de codificacion por longitud de series, similar a la unidad de codificacion por longitud de series convencional RLE0b mostrada en la figura 35, tiene un escaner en zigzag Scan para transformar una transmision de 25 la unidad de cuantificacion Q (componentes cuantificados) QS en una matriz bidimensional, en coeficientes cuantificados Coef en una matriz unidimensional (es decir, un orden predeterminado); una calculadora de serie RunCal para calcular el numero de componentes cuantificados sucesivos cuyos valores son cero (coeficientes cero) Coef y transmitir un valor de serie Run que indica el numero de coeficientes cero sucesivos; y una calculadora de nivel LevCal para calcular un valor de un componente cuantificado cuyo valor no es cero (coeficiente no cero) Coef, 30 seguido de los coeficientes cero, y transmitir un valor de nivel Lev que indica el valor del coeficiente no cero.
La figura 3(a) muestra una matriz bidimensional de componentes cuantificados Q1 a Q6 correspondientes a un bloque, y la figura 3(b) muestra el transcurso de una exploracion de los componentes cuantificados Q1 a Q6 en el escaner en zigzag Scan por las flechas A1 a A15. En este punto, se obtiene un componente cuantificado Q1 35 cuantificando los componentes DC de componentes de frecuencia correspondientes a una senal de imagen, y los componentes cuantificados Q2 a Q16 se obtienen cuantificando los componentes AC de componentes de frecuencia correspondientes a la senal de imagen. La figura 3(c) muestra una matriz unidimensional (orden de codificacion) de los componentes cuantificados Q1 a Q16, que se obtiene por la exploracion en zigzag en el escaner en zigzag Scan, y la figura 3(d) muestra una matriz unidimensional de valores numericos concretos que indican los valores de los 40 componentes cuantificados Q1 a Q16.
La unidad de codificacion por longitud de series RLE1 incluye adicionalmente una unidad de reordenamiento Lreodr para reordenar los valores de nivel Lev que se transmiten de la calculadora de nivel LevCal; una unidad de reordenamiento Rreodr para reordenar los valores de serie Run que se transmiten de la calculadora de serie 45 RunCal; y una calculadora numerica NumClc para calcular el numero Cnum de coeficientes no codificados en un bloque objetivo en base a las transmisiones de la calculadora de serie RunCal y transmitir el numero calculado. La figura 3(e) muestra los ordenes de los valores de serie y valores de nivel que se obtienen de los valores numericos de los componentes cuantificados que tienen las disposiciones que se muestra en las figuras 3(c) y 3(d). La figura 3(f) muestra los ordenes de los valores de serie y los valores de nivel despues de la reordenamiento.
50
La unidad de codificacion por longitud de series RLE1 incluye adicionalmente un codificador de longitud variable LVLC para someter una transmision ROLev de la unidad de reordenamiento Lreodr a un procedimiento de codificacion de longitud variable en base al parametro de cuantificacion QP y una senal de seleccion VISel, y transmitir una secuencia de codigos (secuencia de codigos de valor de nivel) LStr; un codificador de longitud variable 55 RVLC para someter una transmision RORun de la unidad de reordenamiento Rreodr a un procedimiento de codificacion de longitud variable en base al numero Cnum de los coeficientes no codificados, y transmitir una secuencia de codigos (secuencia de codigos de valor de serie) RStr; y un multiplexor MUX para multiplexar la secuencia de codigos LStr y la secuencia de codigos RStr para cada bloque y transmitir una corriente codificada multiplexada Str1.
Las figuras 4 son diagramas para explicar el procedimiento de codificacion de longitud variable por el codificador de longitud variable LVLC. La figura 4 (a) es un diagrama de flujo que explica el procedimiento de codificacion de longitud variable para un valor de nivel, y la figura 4(b) es un diagrama explicativo que muestra las tablas de codigos 5 que se emplean en el procedimiento de codificacion de longitud variable para el valor de nivel.
La figura 4(b) muestra una disposicion Alev de valores de nivel (Level), una disposicion Cal de codigos (palabras de codigo) en un caso en el que el parametro de cuantificacion QP sea mas pequeno que un umbral, y una disposicion Ca2 de codigos (palabras de codigo) en un caso en el que el parametro de cuantificacion QP sea igual a o mayor 10 que el umbral.
En este punto, una tabla de codigos L1 esta constituida por la disposicion Alev de los valores de nivel (Level) y la disposicion Cal de los codigos (palabras de codigo) en el caso en el que el parametro de cuantificacion QP sea mas pequeno que el umbral. Esta tabla de codigos L1 muestra la correspondencia entre el valor de nivel (Level) y el 15 codigo en el caso en el que el parametro de cuantificacion QP sea mas pequeno que el umbral. Una tabla de codigos L2 esta constituida por la disposicion Alev de los valores de nivel (Level) y la disposicion Ca2 de los codigos (palabras de codigo) en el caso en el que el parametro de cuantificacion QP sea igual a o mayor que el umbral. Esta tabla de codigos L2 muestra la correspondencia entre el valor de nivel (Level) y el codigo en el caso en el que el parametro de cuantificacion QP sea igual a o mayor que el umbral.
20
Las figuras 5 son diagramas para explicar el procedimiento de codificacion de longitud variable por el codificador de longitud variable RVLC. La figura 5(a) es un diagrama de flujo para explicar un procedimiento de codificacion de longitud variable para un valor de serie, y la figura 5(b) es un diagrama explicativo que muestra las tablas de codigos que se emplean en el procedimiento de codificacion de longitud variable para el valor de serie.
25
La figura 5(b) muestra una disposicion Arun de los valores de serie (Run), una disposicion Cbl de codigos (palabras de codigo) en un caso en el que el numero de coeficientes cero no codificados sea uno, una disposicion Cb2 de codigos (palabras de codigo) en un caso en el que el numero de coeficientes cero no codificados sea dos, una disposicion Cb3 de codigos (palabras de codigos) en un caso en el que el numero de coeficientes cero no 30 codificados sea tres, una disposicion Cb4 de codigos (palabras de codigo) en un caso en el que el numero de coeficientes cero no codificados sea cuatro, una disposicion Cb5 de codigos (palabras de codigos) en un caso en el que el numero de coeficientes cero no codificados sea cinco, una disposicion Cb6 de codigos (palabras de codigo) en un caso en el que el numero de coeficientes cero no codificados sea seis, una disposicion Cb7 de codigos (palabras de codigo) en un caso en el que el numero de coeficientes cero no codificados sea siete, y una disposicion 35 Cb8 de codigos (palabras de codigo) en un caso en el que el numero de coeficientes cero no codificados sea ocho o mas.
En este punto, una tabla de codigos R1 esta constituida por la disposicion Arun de los valores de serie (Run) y la disposicion Cbl de codigos (palabras de codigo) en el caso en el que el numero de coeficientes cero no codificados 40 sea uno, y esta tabla de codigos R1 muestra las correspondencias entre el valor de serie (Run) y el codigo en el caso en el que el numero de coeficientes cero no codificados sea uno. De manera similar, las tablas de codigo R2, R3, R4, R5, R6 y R7 estan constituidas por la disposicion Arun de los valores de serie (Run), y las disposiciones Cb2, Cb3, Cb4, Cb5, Cb6 y Cb7 de codigos (palabras de codigo) en los casos en los que los numeros de coeficientes cero no codificados sean dos, tres, cuatro, cinco, seis y siete, respectivamente, y muestran las 45 correspondencias entre el valor de serie (Run) y el codigo en los casos en los que los numeros de coeficientes cero no codificados son dos, tres, cuatro, cinco, seis y siete, respectivamente. Ademas, una tabla de codigos R8 esta constituida por la disposicion Arun de los valores de serie (Run), y la disposicion Cb8 de codigos (palabras de codigo) en el caso en el que el numero de coeficientes cero no codificados sea ocho o mas, y muestra la correspondencia entre el valor de serie (Run) y el codigo en el caso en el que el numero de coeficientes cero no 50 codificados sea ocho o mas.
A continuacion, se describira su funcionamiento.
En el aparato de codificacion de imagenes 101 de acuerdo con la primera realizacion, la unidad de bloqueo Blk, la 55 unidad de transformacion de frecuencia Trans, y la unidad de cuantificacion Q funcionan de las misma manera que en el aparato de codificacion de imagenes convencional 201a (vease la figura 30) o el aparato de codificacion de imagenes 201b (vease la figura 34).
Mas espedficamente, cuando una senal de imagen Vin se introduce al aparato de codificacion de imagenes 101, la
unidad de bloqueo Blk divide la senal de imagen introducida Vin en unidades de bloque, para generar senales de imagen (componentes de valores de pfxeles) BlkS correspondientes a los respectivos bloques. La unidad de transformacion de frecuencia Trans transforma los componentes de valores de pfxeles BlkS en componentes de frecuencia TransS de acuerdo con la transformacion DCT (Transformacion de Coseno Discreta) o de ondula. La 5 unidad de cuantificacion Q cuantifica los componentes de frecuencia TransS en una etapa de cuantificacion predeterminada en base a un parametro de cuantificacion QP para transmitir componentes cuantificados QS, asf como tambien transmite el parametro de cuantificacion QP. La unidad de codificacion por longitud de series RLE1 somete los componentes cuantificados QS a un procedimiento de codificacion de longitud variable, y transmite una corriente codificada Str1.
10
En lo sucesivo en este documento, se describira espedficamente el funcionamiento de la unidad de codificacion por longitud de series RLE1.
El escaner en zigzag Scan realiza la exploracion en zigzag de los componentes cuantificados QS que se transmiten 15 desde la unidad de cuantificacion Q (es decir, coeficientes cuantificados plurales Q1 a Q16 en una matriz bidimensional como se muestra en la figura 3(a)), para transformar los componentes cuantificados QS en coeficientes cuantificados Coef. En este punto, la exploracion en zigzag de los componentes cuantificados QS se realiza explorando los varios componentes cuantificados Q1 a Q16 en una matriz bidimensional como se muestra en la figura 3(a) a lo largo del transcurso indicado por las flechas A1 a A15 en la figura 3(b), para transformar la 20 disposicion de la pluralidad de coeficientes cuantificados Q1 a Q16 en una matriz unidimensional (orden de procesamiento) como se muestra en la figura 3(c). En este punto, la figura 3(d) muestra una disposicion de los valores numericos concretos de la pluralidad de coeficientes cuantificados Q1 a Q16 que se han sometido a la exploracion en zigzag (20, -10, 5, 0, 2, 0, 0, 0, 1, 0, 0, 0, -1, 0, 0, 1).
25 La calculadora de serie RunCal calcula el numero de coeficientes cero sucesivos en base a los componentes cuantificados Coef que se transmiten desde el escaner en zigzag Scan, y transmite un valor de serie Run que indica el numero calculado. La figura 3(e) muestra los valores de serie espedficos que se transmiten sucesivamente desde la calculadora de serie RunCal, de acuerdo con un orden en el que los valores de serie se transmiten: (0, 0, 0, 1, 3, 3, 2). Por otra parte, la calculadora de nivel LevCal calcula un valor de un coeficiente no cero seguido de los 30 coeficientes cero sucesivos en base a los componentes cuantificados Coef transmitidos desde el escaner en zigzag Scan, y transmite un valor de nivel Lev que indica el valor calculado. La figura 3(e) muestra los valores de nivel espedficos que se transmiten sucesivamente desde la calculadora de nivel LevCal, de acuerdo con un orden en el que los valores de nivel se transmiten: (20, -10, 5, 2, 1, -1, 1).
35 La unidad de reordenamiento Rreodr reordena los valores de serie que se han transmitido sucesivamente desde la calculadora de serie RunCal en un orden inverso a como los valores de serie se han transmitido. La figura 3(f) muestra un orden cambiado de los valores de serie espedficos que se han reordenados por la unidad de reordenamiento Rreodr: (2, 3, 3, 1, 0, 0, 0). La calculadora numerica NumClc calcula el numero de coeficientes no codificados en base a los valores de serie Run que se producen de la calculadora de serie RunCal, y transmite el 40 numero calculado de coeficientes no codificados (en lo sucesivo en este documento, tambien denominado como numero de coeficiente no codificado) Cnum. Por otra parte, la unidad de reordenamiento Lreodr reordena los valores de nivel que se han transmitido sucesivamente desde la calculadora de nivel LevCal en un orden inverso a como los valores de nivel se han transmitido. La figura 3(f) muestra un cambio del orden de los valores de nivel espedficos que se han reordenado por la unidad de reordenamiento Lreodr: (1, -1, 1, 2, 5, -10, 20).
45
El codificador de longitud variable RVLC somete los valores de serie RORun que se han reordenado como la transmision de la unidad de reordenamiento Rreodr, a un procedimiento de codificacion de longitud variable para asignar codigos (palabras de codigo) a los valores de serie RORun usando varias tablas de codigos que indican las correspondencias entre los valores de serie y el codigo (palabra de codigo), en base al numero de coeficiente cero 50 no codificado Cum transmitido por la calculadora numerica NumClc, y transmite una secuencia de codigo de valor de serie RStr. Por otra parte, el codificador de longitud variable LVLC somete los valores de nivel ROLev que se han reordenado como la transmision desde la unidad de reordenamiento Lreodr a un procedimiento de codificacion de longitud variable para asignar codigos (palabra de codigos) a los valores de nivel ROL, usando varias tablas de codigos que indican las correspondencias entre el valor de nivel y el codigo (palabra de codigo) en base al 55 parametro de cuantificacion QP de la unidad de cuantificacion Q y una senal de seleccion VlcSel de la seleccion de instruccion exterior de la codificacion de longitud variable, y transmite una secuencia de codigos de valor de nivel LStr.
Despues, el multiplexor MUX multiplexa la secuencia de codigos de valor de nivel Lstr y la secuencia de codigos de
valor de serie Rstr, bloque por bloque, y transmite una corriente codificada multiplexada Str1.
En este punto, el procedimiento para mutiplexar la secuencia de codigos de valor de nivel LStr y la secuencia de codigos de valor de serie RStr se realiza bloque por bloque, por ejemplo, de tal manera que la secuencia de codigos 5 RStr correspondiente a todos los valores de serie de un bloque objetivo se sigue por la secuencia de codigos LStr correspondiente a todos los valores de nivel del bloque objetivo, o la secuencia de codigos LStr correspondiente a todos los valores de nivel del bloque objetivo se sigue por la secuencia de codigos RStr correspondiente a todos los valores de serie del bloque objetivo.
10 En lo sucesivo en este documento, se describira espedficamente el funcionamiento del codificador de longitud variable con referencia a las figuras 4.
El codificador de longitud variable LVLC obtiene el parametro de cuantificacion QP de la unidad de cuantificacion Q (etapa Sal), y determina si el valor del parametro de cuantificacion obtenido QP es igual a o mayor que un umbral 15 del parametro de cuantificacion QP, que se mantiene en el codificador de longitud variable LVLC (etapa Sa2).
Cuando un resultado de esta determinacion indica que el valor del parametro de cuantificacion obtenido QP es mas pequeno que el umbral del parametro de cuantificacion QP, el codificador de longitud variable LVLC selecciona la tabla de codigos L1 que esta constituida por la disposicion Alev de los valores de nivel y la disposicion Ca1 de 20 codigos (palabras de codigo) (vease la figura 4(b)) (etapa Sa3), mientras que cuando el valor del parametro de cuantificacion obtenido QP es igual o mayor que el umbral del parametro de cuantificacion QP, selecciona la tabla de codigos L2 que esta constituida por la disposicion Alev de los valores de nivel y la disposicion Ca2 de codigos (palabras de codigos) (vease la figura 4(b)) (etapa Sa4) .
25 Despues, el codificador de longitud variable LVLC determina si existe algun valor de nivel no codificado Lev en un bloque objetivo (etapa Sa5). Cuando un valor de nivel no codificado Lev esta incluido en el bloque objetivo, el codificador de longitud variable LVLC realiza un procedimiento para codificar el valor de nivel usando la tabla de codigos seleccionada, es decir, un procedimiento para asignar un codigo correspondiente al valor de nivel (etapa Sa6), y a partir de entonces realiza el procedimiento de la etapa Sa5. Por otra parte, cuando el resultado de la 30 decision en la etapa Sa5 indica que no existe valor de nivel no codificado Lev en el bloque objetivo, el codificador de longitud variable LVLC finaliza el procedimiento de codificacion de longitud variable para los valores de nivel Lev.
En este punto, cuando la senal de seleccion de VLC VlcSel designa previamente un procedimiento de codificacion de longitud variable usando una tabla de codigos espedfica, el codificador de longitud variable LVLC realiza un 35 procedimiento de codificacion de longitud variable para los valores de nivel usando la tabla de codigos espedfica, independientemente del valor del parametro de cuantificacion QP.
A continuacion, se describira espedficamente el funcionamiento del codificador de longitud variable RVLC con referencia a las figuras 5.
40
El codificador de longitud variable RVLC determina si existe algun coeficiente no cero no codificado en el bloque objetivo en base a la transmision (el numero de coeficientes no codificados) Cnum de la calculadora numerica NumClc (etapa Sb1). Cuando un resultado de la determinacion indica que existe un coeficiente no cero no codificado, el codificador de longitud variable RVLC calcula el numero de coeficientes cero no codificados en el 45 bloque objetivo en base a la transmision Cnum de la calculadora numerica NumClc (etapa Sb2).
Despues, el codificador de longitud variable RVLC selecciona una tabla de codigos de acuerdo con el numero calculado de coeficientes cero no codificados (etapa Sb3). Para ser mas espedficos, el codificador de longitud variable RVLC selecciona la tabla de codigos R1 que esta constituida por la disposicion Arun de los valores de serie 50 y la disposicion Cbl de codigos (palabras de codigo) (vease la figura 5 (b)) cuando el numero de coeficientes cero no codificados es uno. De manera similar, el codificador de longitud variable RVLC selecciona la tabla de codigos R2 cuando el numero de coeficientes cero no codificados es dos, la tabla de codigos R3 cuando el numero de los coeficientes es cuatro. Ademas, el codificador de longitud variable RVLC selecciona la tabla de codigos R5 cuando el numero de los coeficientes cero no codificados es cinco, la tabla de codigos R6 cuando el numero de los 55 coeficientes es seis, y la tabla de codigos R7 cuando el numero de los coeficientes es siete, respectivamente. Ademas, cuando el numero de coeficientes cero no codificados es ocho o mas, el codificador de longitud variable RVLC selecciona la tabla de codigos R8.
A continuacion, el codificador de longitud variable RVLC realiza un procedimiento para codificar valores de serie Run
usando la tabla de codigos seleccionada, es decir, un procedimiento para asignar codigos correspondientes a los valores de serie (etapa Sb4), y despues realiza el procedimiento de determinacion de la etapa Sb1.
En este punto, cuando el resultado de la determinacion en la etapa Sb1 indica que no existe coeficiente no cero no 5 codificado, el codificador de longitud variable RVLC finaliza el procedimiento de codificacion de longitud variable para los valores de serie.
A continuacion, se describira un ejemplo espedfico en el que se selecciona una tabla de codigos en base al parametro de cuantificacion en la codificacion de longitud variable de los valores de nivel como se ha descrito 10 anteriormente, para aumentar de esta manera la eficiencia de la codificacion.
Las figuras 6 muestran el numero total de bits correspondiente a los codigos que se asignan a los valores de nivel cuando el parametro de cuantificacion QP es relativamente mas pequeno, es decir, cuando las transmisiones (valores de nivel) de la calculadora de nivel LevCal que se han reordenado y se transmiten desde la unidad de 15 reordenamiento Lreodr son 1, -1, 1, 2, 5, -10, 20 como se muestra en la figura 3(f).
Cuando el parametro de cuantificacion QP se determina que es igual a o mayor que un umbral y se emplea la tabla de codigos L2, los codigos (palabras de codigo) se asignan a valores de niveles respectivos como se muestra en la figura 6(a), y el numero total de bits correspondiente a los codigos asignados es 75 bits.
20
Por otra parte, cuando el parametro de cuantificacion QP se determina que es mas pequeno que el umbral y se emplea la tabla de codigos L1, los codigos (palabras de codigo) se asignan a los valores de nivel respectivos como se muestra en la figura 6 (b), y el numero total de bits correspondiente a los codigos asignados es 47 bits.
25 Cuando el parametro de cuantificacion QP es relativamente mas pequeno, la frecuencia de aparicion de componentes cuantificados que tiene valores mas grandes es mayor. Por lo tanto, es eficaz seleccionar la tabla de codigos L1 en la que los codigos mas cortos se hacen corresponder en promedio tambien a los valores de nivel cuyos valores absolutos son relativamente grandes en comparacion con la tabla de codigos L2 para aumentar la eficiencia de la codificacion.
30
Las figuras 7 muestran el numero total de bits correspondiente a los codigos que se asignan a los valores de nivel cuando el parametro de cuantificacion QP es relativamente mas grande, es decir, cuando las transmisiones (los valores de nivel) de la calculadora de nivel LevCal que se han reordenado y se transmiten desde la unidad de reordenamiento Lreodr son 1, -1, 1, 1, 1, -2, 3, a diferencia del caso mostrado en la figura 3(f).
35
Cuando se determina que el parametro de cuantificacion QP es igual a o mayor que el umbral y se emplea la tabla de codigos L2, los codigos (palabras de codigos) se asignan a los respectivos valores de nivel como se muestra en la figura 7(a), y el numero total de bits correspondiente a los codigos asignados es 15 bits.
40 Por otra parte, cuando se determina que el parametro de cuantificacion QP es mas pequeno que el umbral y se emplea la tabla de codigos L1, los codigos (palabras de codigo) se asignan a los valores de nivel respectivos como se muestra en la figura 7(b), y el numero total de bits correspondiente a los codigos asignados es 17 bits.
Como se ha descrito anteriormente, cuando el valor del parametro de cuantificacion QP es relativamente mas 45 grande, la frecuencia de aparicion de los coeficientes de cuantificacion que tienen valores mas grandes es menor. Por consiguiente, es eficaz seleccionar la tabla de codigos L2 en la que los codigos mas cortos se hacen corresponder intensivamente a los valores de nivel cuyos valores absolutos son relativamente mas pequenos en comparacion con la tabla de codigos L1, para aumentar la eficiencia de la codificacion.
50 Las figuras 8 muestran el numero total de bits correspondiente a los codigos que se asignan a los valores de serie transmitidos desde la calculadora de serie RunCal cuando los valores de serie son 0, 0, 0, 1, 3, 3, 2 como se muestra en la figura 3(e).
Cuando la reordenamiento de los valores de serie como en la unidad de codificacion por longitud de series RLE1 y el 55 cambio de la tabla de codigos no se realiza, pero siempre se emplea la tabla de codigos R8 mostrada en la figura 5(b), los codigos (palabras de codigo) se asignan a los valores de serie respectivos como se muestra en la figura 8 (a), y el numero total de bits correspondiente al codigo asignado es 21 bits.
Cuando la reordenamiento de los valores de serie y el cambio de la tabla de codigos de acuerdo con el numero de
coeficientes cero no codificados se realiza como en la unidad de codificacion por longitud de series RLE1, se asignan codigos (palabras de codigo) a los valores de serie respectivos como se muestra en la figura 8(b), y el numero total de bits correspondiente a los codigos asignados es 13 bits. En este punto, cada vez que se asigna un codigo a un valor de serie, el numero de coeficientes no codificados se reduce por un valor que se obtiene 5 anadiendo uno a uno un valor de serie que se ha codificado inmediatamente antes. Esto es debido a que unos coeficientes cero sucesivos o unicos siempre estan seguidos de un coeficiente no cero. Ademas, el numero de coeficientes cero no codificados obtenido de varios valores de serie reordenados correspondientes a un bloque, que se transmiten de la unidad de reordenamiento Rreodr, es 15. Esto se debe a que un bloque que se procesa siempre tiene al menos un coeficiente no cero.
10
Cuando el reordenamiento de los valores de serie similar a la unidad de codificacion por longitud de series RLE1 no se realiza, sino que solamente se realiza el cambio de la tabla de codigos de acuerdo con el numero de coeficientes no cero, los codigos (palabras de codigo) se asignan a los respectivos valores de serie como se muestra en la figura 8(c), y el numero total de bits correspondiente a los codigos asignados es 20 bits.
15
Como se ha descrito anteriormente, el aparato de codificacion de imagenes 101 de acuerdo con la primera realizacion, incluye la unidad de codificacion por longitud de series RLE1 que codifica los coeficientes cuantificados que se obtienen cuantificando los componentes de frecuencia de una senal de imagen, usando un valor de serie Run que indica el numero de componentes cuantificados sucesivos cuyos valores son cero (coeficientes cero) Coef y 20 un valor de nivel Lev que indica un valor de un componente cuantificado Coef cuyo valor no es cero (coeficiente no cero), seguido de los coeficientes cero. Por lo tanto, los coeficientes cuantificados pueden codificarse a una mayor eficiencia de codificacion, siendo eliminada su informacion redundante.
Ademas, la unidad de codificacion por longitud de series RLE1 de acuerdo con la primera realizacion incluye el 25 codificador de longitud variable LVLC que selecciona una tabla de codigos de acuerdo con el valor del parametro de cuantificacion QP y realiza una codificacion de longitud variable de valores de nivel usando la tabla de codigos seleccionada, por lo que se reduce el numero total de bits correspondiente a los codigos que se asignan a los valores de nivel. La unidad de codificacion por longitud de series RLE1 incluye adicionalmente la unidad de reordenamiento Rreodr que reordena varios valores de serie que se obtienen de los coeficientes cuantificados a los 30 que se ha dado un orden de procesamiento predeterminado, del componente de alta frecuencia a componente de baja frecuencia; y el codificador de longitud variable RVLC que selecciona una tabla de codigos de acuerdo con el numero de coeficientes cero no codificados en el boque objetivo, y realiza la codificacion de longitud variable de los valores de serie reordenados usando la tabla de codigos seleccionada. Por lo tanto, el numero total de bits correspondiente a los codigos que se asignan a los valores de serie es eficazmente reducido, por lo que aumenta la 35 eficiencia de la codificacion.
En esta primera realizacion, el codificador de longitud variable RVLC selecciona una tabla de codigos de acuerdo con el numero, de coeficientes cero no codificados en el bloque objetivo (es decir, la transmision Cnum de la calculadora numerica NumClc). Sin embargo, el codificador de longitud variable RVLC puede seleccionar una tabla 40 de codigos en base a no solo la transmision Cnum de la calculadora numerica, sino tambien en base a la senal de seleccion de VLC VlcSel. Por ejemplo, cuando se indica previamente un procedimiento de codificacion de longitud variable que una tabla de codigos espedfica por la senal de seleccion de VLC VlcSel, el codificador de longitud variable RVLC realiza un procedimiento de codificacion de longitud variable para el valor de serie usando la tabla de codigos espedfica, independientemente del numero de coeficientes cero no codificados en el bloque objetivo.
45
[Realizacion 2]
La figura 9 es un diagrama de bloques para explicar un aparato de decodificacion de imagenes de acuerdo con una segunda realizacion de la presente invencion.
50
Este aparato de decodificacion de imagenes 102 de acuerdo con la segunda realizacion, por ejemplo, decodifica la corriente codificada Str1 que se transmite por el aparato de codificacion de imagenes 101 de la primera realizacion.
El aparato de decodificacion de imagenes 102, en lugar de la unidad de decodificacion por longitud de series RLD0b 55 en el aparato de decodificacion de imagenes convencional 202b mostrado en la figura 36 que somete una corriente codificada introducida Str0b a un procedimiento de decodificacion de longitud variable, tiene una unidad de decodificacion por longitud de series RLD1 que somete la corriente codificada introducida Str1 a un procedimiento de decodificacion de longitud variable en base al parametro de cuantificacion QP y una senal de seleccion de VLD VldSel, para reconstituir los coeficientes cuantificados. La construccion, excepto para la unidad de decodificacion por
longitud de series RLD1, es la misma que la del aparato de decodificacion de imagenes 202b como se muestra en la figura 36.
La figura 10 es un diagrama de bloques para explicar una construccion espedfica de la unidad de decodificacion por 5 longitud de series RLD1.
La unidad de decodificacion por longitud de series RLD1 tiene un desmultiplexor DMUX para desmultiplexar la corriente codificada multiplexada Str1 que se transmite desde el aparato de codificacion de imagenes 101 para obtener una secuencia de codigos LStr correspondiente a los valores de nivel y una secuencia de codigos RStr 10 correspondiente a los valores de serie, como la unidad de decodificacion de longitud de serie convencional RLD0b que se muestra en la figura 37.
La unidad de decodificacion por longitud de series RLD1 tiene un decodificador de longitud variable LVLD para someter una secuencia de codigos de valor de nivel LStr que se obtiene multiplexando la corriente codificada 15 multiplexada Str1 a un procedimiento de decodificacion de longitud variable en base al parametro de cuantificacion QP y la senal de seleccion de VLD VldSel, para reconstituir los valores de nivel ROLev; y un decodificador de longitud variable RVLD para someter una secuencia de codigos de valor de serie RStr que se obtiene desmultiplexando la corriente codificada multiplexada Str1 a un procedimiento de decodificacion de longitud variable en base al numero de coeficientes no decodificados para reconstituir los valores de serie RORun.
20
La unidad de decodificacion por longitud de series RLD1 incluye adicionalmente una unidad de reordenamiento inversa LIreodr que reordena los valores de nivel ROLev producidos del decodificador de longitud variable LVLD en un orden inverso al de la unidad de reordenamiento Lreodr en la codificacion final para reconstituir las transmisiones Lev de la calculadora de nivel en al codificacion final; una unidad de reordenamiento inversa Rlreodr que reordena 25 los valores de serie RORun transmitidos por el decodificador de longitud variable RVLD en un orden inverso al de la unidad de reordenamiento Rreodr en la codificacion final para reconstituir las transmisiones Run de la calculadora de serie en la codificacion final; y una calculadora numerica NumClc que calcula el numero Cnum de los coeficientes no decodificados en un bloque objetivo en base a las transmisiones Run por la unidad de reordenamiento inversa Rlreodr y transmite el numero obtenido.
30
La unidad de decodificacion por longitud de series RLD1 incluye adicionalmente un escaner en zigzag inverso IScan que reconstituye los componentes cuantificados decodificados DQS en una matriz bidimensional de los componentes cuantificados decodificados en una matriz unidimensional, que se representan por los valores de nivel Lev y los valores de serie Run.
35
Las figuras 11 son diagramas para explicar un procedimiento de decodificacion de longitud variable por el decodificador de longitud variable LVLD. La figura 11(a) es un diagrama de flujo para explicar el procedimiento de decodificacion por longitud de series para reconstituir los valores de nivel, y la figura 11(b) es un diagrama explicativo que muestra una tabla de codigos que se emplea en el procedimiento de decodificacion de longitud 40 variable. En este punto, las tablas de codigo L1 y L2 que se emplean en el procedimiento de decodificacion de longitud variable para los valores de nivel son las mismas como las tablas de codigos L1 y L2 que se emplean en el procedimiento de codificacion para los valores de nivel en la unidad de codificacion por longitud de series RLE1 de acuerdo con la primera realizacion.
45 Las figuras 12 son diagramas para explicar un procedimiento de decodificacion de longitud variable por el decodificador de longitud variable RVLD. La figura 12(a) es un diagrama de flujo para explicar un procedimiento de decodificacion de longitud variable para reconstituir los valores de serie. La figura 12(b) es un diagrama explicativo que muestra las tablas de codigos que se emplean en el procedimiento de decodificacion de longitud variable. En este punto, las tablas de codigos R1 a R8 que se emplean en el procedimiento de decodificacion de longitud variable 50 para valores de serie son las mismas como las tablas de codigos R1 a R8, respectivamente, que se emplean en el procedimiento de codificacion para valores de serie en la unidad de codificacion por longitud de series RLE1 de acuerdo con la primera realizacion.
A continuacion, se describira su funcionamiento.
55
Cuando una corriente codificada multiplexada Str1, por ejemplo, se introduce al aparato de decodificacion de imagenes 102 desde el aparato de codificacion de imagenes 101 de acuerdo con la primera realizacion, la unidad de decodificacion por longitud de series RLD1 somete la corriente codificada Str1 a un procedimiento de decodificacion y transmite los componentes cuantificados decodificados DQS. La operacion de la unidad de decodificacion por
longitud de series RLD1 es contraria a la de la unidad de codificacion por longitud de series RLE1.
Para ser mas espedficos, en la unidad de decodificacion por longitud de series RLD1, el desmultiplexor DMUX desmultiplexa la corriente codificada multiplexada introducida Strt1 para obtener una secuencia de codigos de valor 5 de nivel LStr correspondiente a los valores de nivel y una secuencia de codigos de valor de serie RStr correspondiente a los valores de serie, y transmite la secuencia de codigos de valor de nivel y la secuencia de codigos de valor de serie al decodificador de longitud variable LVLD y el decodificador de longitud variable RVLD, respectivamente.
10 El decodificador de longitud variable LVLD obtiene los valores de nivel ROLev correspondientes a los respectivos codigos (palabras de codigo) para la secuencia de codigos de valor de nivel LStr obtenida del desmultiplexor DMUX, usando varias tablas de codigos las cuales indican las correspondencias entre el valor de nivel y el codigo (palabras de codigo), en base al parametro de cuantificacion QP de la unidad de cuantificacion Q y una senal de seleccion de VLD VldSel de la seleccion de instruccion exterior de la decodificacion de longitud variable, y transmite los valores 15 de nivel obtenidos para la unidad de reordenamiento inversa LIreodr. Por otra parte, el decodificador de longitud variable RVLD obtiene valores de serie ROLev correspondientes a los codigos respectivos (palabras de codigo) para la secuencia de codigos de valor de serie RStr obtenida del desmultiplexor DMUX, usando varias tablas de codigos las cuales indican las correspondencias entre el valor de serie y el codigo (palabras de codigos), en base al numero Cnum de los coeficientes no decodificados producidos de la calculadora numerica NumClc, y transmite los valores 20 de serie obtenidos para la unidad de reordenamiento inversa Rlreodr.
La unidad de reordenamiento inversa LIreodr somete los valores de nivel ROLev transmitidos del decodificador de longitud variable LVLD a un procedimiento de disposicion inverso para el procedimiento por la unidad de reordenamiento Lreodr en la codificacion final, para reconstituir las transmisiones Lev de la calculadora de nivel en la 25 codificacion final. Por otra parte, la unidad de reordenamiento inversa Rlreodr somete los valores de serie RORun producidos del decodificador de longitud variable RVLD a un procedimiento de disposicion que es uno inverso al procedimiento de la unidad de reordenamiento Rreodr en la codificacion final, para reconstituir las transmisiones Run de la calculadora de serie en la codificacion final. Ademas, la calculadora numerica NumClc calcula el numero Cnum de los coeficientes no decodificados en un bloque objetivo en base a las transmisiones Run por la unidad de 30 reordenamiento inversa Rlreodr, y transmite el numero obtenido Cnum para el decodificador de longitud variable RVLD.
Despues, el escaner en zigzag inverso IScan realiza una operacion que es una contraria a la del escaner en zigzag Scan para reconstituir los componentes cuantificados decodificados DQS en una matriz bidimensional de los 35 componentes cuantificados en una matriz unidimensional, que se representan por los valores de nivel Lev y los valores de serie Run, y transmite los componentes cuantificados obtenidos DQS a la unidad de cuantificacion inversa IQ.
En lo sucesivo en este documento, se describira espedficamente el funcionamiento del decodificador de longitud 40 variable LVLD con referencia a las figuras 11.
El decodificador de longitud variable LVLD obtiene el parametro de cuantificacion QP de la unidad de cuantificacion Q del aparato de codificacion de imagenes 101 (etapa Sc1), y determina si el parametro de cuantificacion obtenido QP es igual a o mayor que un umbral del parametro de cuantificacion QP, que se mantiene en el decodificador de 45 longitud variable LVLD (etapa Sc2).
Cuando el resultado de la determinacion indica que el parametro de cuantificacion obtenido QP es mas pequeno que el umbral del parametro de cuantificacion QP, el decodificador de longitud variable LVLD selecciona la tabla de codigos L1 (vease la figura 11(b)) que esta constituida por la disposicion Alev de valores de nivel y la disposicion Cal 50 de codigos (palabras de codigo) (etapa Sc3), y cuando el parametro de cuantificacion obtenido QP es igual a o mayor que el umbral del parametro de cuantificacion QP, selecciona la tabla de codigos L2 (vease la figura 11(b)) que esta constituida por la disposicion Alev de los valores de nivel y la disposicion Ca2 de codigos (palabras de codigo) (vease la figura 11(b)) (etapa Sc4).
55 Despues de esto, el decodificador de longitud variable LVLD determina si existe algun valor de nivel no decodificado Lev en el bloque objetivo (etapa Sc5). Cuando los valores de nivel no decodificados Lev se incluyen en el bloque objetivo, el decodificador de longitud variable realiza un procedimiento de decodificacion para reconstituir los valores de nivel Lev usando la tabla de codigos seleccionada, es decir, un procedimiento para obtener valores de nivel correspondientes a codigos (etapa Sc6), y despues realiza el procedimiento mencionado anteriormente de la etapa
Sc5. Por otra parte, el resultado de la determinacion en la etapa Sc5 indica que no existe valor de nivel no decodificado Lev en el bloque objetivo, el decodificador de longitud variable finaliza el procedimiento de decodificacion de longitud variable para reconstituir los valores de nivel Lev.
5 En este punto, la senal de seleccion de LVD VldSel designa previamente un procedimiento de decodificacion de longitud variable usando una tabla de codigos espedfica, el decodificador de longitud variable LVLD realiza un procedimiento de decodificacion de longitud variable para reconstituir los valores de nivel usando la tabla de codigos espedfica, independientemente del valor del parametro de cuantificacion.
10 A continuacion, se describira espedficamente el funcionamiento del decodificador de longitud variable RVLD con referencia a las figuras 12.
El decodificador de longitud variable RVLD determina si existe alguno de los coeficientes no cero no decodificados en un bloque objetivo en base a la transmision (el numero de coeficientes no decodificados) Cnum de la calculadora 15 numerica NumClc (etapa Sd1). Cuando el resultado de la determinacion muestra que existen coeficientes no cero no decodificados, el decodificador de longitud variable calcula el numero de coeficientes cero no decodificados en el bloque objetivo en base al numero Cnum de los coeficientes no decodificados (etapa Sd2).
El decodificador de longitud variable RVLD selecciona una tabla de codigos de acuerdo con el numero obtenido de 20 coeficientes cero no decodificados (etapa Sd3). Para ser mas espedficos, cuando el numero de coeficientes cero no decodificados es uno, el decodificador de longitud variable selecciona la tabla de codigos R1 que esta constituida por la disposicion Arun de los valores de serie y la disposicion Cbl de codigos (palabras de codigo) (vease la figura 12(b)). De manera similar, el decodificador de longitud variable selecciona la tabla de codigos R2 cuando el numero de coeficientes cero no decodificados es dos, la tabla de codigos R3 cuando el numero de coeficientes cero no 25 decodificados es tres, y la tabla de codigos R4 cuando el numero de coeficientes cero no decodificados es cuatro. Ademas, el decodificador de longitud variable selecciona la tabla de codigos R5 cuando el numero de coeficientes cero no decodificados es cinco, la tabla de codigos R6 cuando el numero de coeficientes cero no decodificados es seis, y la tabla de codigos R7 cuando el numero de coeficientes cero no decodificados es siete, respectivamente. Ademas, cuando el numero de coeficientes cero no decodificados es ocho o mas, el decodificador de longitud 30 variable RVLD selecciona la tabla de codigos R8.
A continuacion, el decodificador de longitud variable RVLD realiza un procedimiento de decodificacion para reconstituir los valores de serie Run usando la tabla de codigos seleccionada, es decir, un procedimiento para obtener los valores de serie correspondientes a los respectivos codigos (etapa Sd4), y despues realiza el 35 procedimiento de determinacion que se ha mencionado anteriormente de la etapa Sd1.
Ademas, cuando el resultado de la determinacion en la etapa Sd1 indica que no existe coeficiente no cero no decodificado, el decodificador de longitud variable RVLD finaliza el procedimiento de decodificacion de longitud variable para reconstituir los valores de nivel.
40
En este aparato de decodificacion de imagenes 102 de acuerdo con la segunda realizacion, la unidad de cuantificacion inversa IQ, la unidad de transformacion de frecuencia inversa ITrans, y la unidad de desbloqueo DeBlk funcionan de la misma manera a la del aparato de decodificacion de imagenes convencional 202a (vease la figura 32) y el aparato de decodificacion de imagenes 202b (vease la figura 36).
45
Para ser mas espedficos, la unidad de cuantificacion inversa IQ realiza una operacion inversa de la unidad de cuantificacion Q, es decir, una operacion para cuantificar inversamente los componentes cuantificados decodificados DQS con referencia al parametro de cuantificacion QP, para transmitir los componentes de frecuencia decodificados ITransS. La unidad de transformacion de frecuencia inversa ITrans realiza una operacion inversa de la unidad de 50 transformacion de frecuencia Trans, es decir, una operacion para transformar los componentes de frecuencia decodificados ITransS correspondientes a cada bloque de acuerdo con la transformacion inversa de DCT inversa o de ondula, para reconstituir las senales de valores de pfxeles decodificadas DBlkS correspondientes a los bloques respectivos. Despues, la unidad de desbloqueo DeBlk integra los componentes de valores de pfxeles decodificados DBlkS de los bloques respectivos, y transmite una senal de imagen decodificada Vout correspondiente a cada 55 imagen (cuadro).
Como se ha descrito anteriormente, el aparato de decodificacion de imagenes 102 de acuerdo con la segunda realizacion incluye la unidad de decodificacion por longitud de series RLD1 que transforma una secuencia de codigos de serie RStr y una secuencia de codigos de nivel LStr que constituyen los datos de codigos,
respectivamente, en un valor de serie Run que indica el numero de coeficientes cero sucesivos Coef y un valor de nivel Lev que indica un valor de un coeficiente no cero seguido de los coeficientes cero, para reconstituir los coeficientes cuantificados en base al valor de serie y el valor de nivel. Por lo tanto, puede realizarse satisfactoriamente un procedimiento de decodificacion correspondiente a un procedimiento de codificacion de 5 longitud variable por el que los coeficientes cuantificados pueden codificarse a una mayor eficiencia de codificacion eliminando su informacion redundante.
Ademas, la unidad de decodificacion por longitud de series RLD1 de acuerdo con la segunda realizacion incluye el decodificador de longitud variable LVLD que selecciona una tabla de codigos de acuerdo con el valor del parametro 10 de cuantificacion QP y realiza la decodificacion de longitud variable para reconstituir los valores de nivel usando la tabla de codigos selecciona. Por lo tanto, puede decodificarse satisfactoriamente una secuencia de codigos de valor de nivel que esta compuesta de un numero total reducido de bits correspondiente a los codigos que se asignan a los valores de nivel.
15 La unidad de decodificacion por longitud de series RLD1 incluye adicionalmente el decodificador de longitud variable RVLD que selecciona una tabla de codigos de acuerdo con el numero de coeficientes cero no decodificados en un bloque objetivo y decodifica una secuencia de codigos correspondiente a los valores de serie reordenados usando la tabla de codigos seleccionada, y la unidad de reordenamiento inversa Rlreodr que reordena los valores de serie que se obtienen por el procedimiento de decodificacion en un orden inverso al procedimiento de reordenamiento para 20 valores de serie en la unidad de codificacion por longitud de series RLD1. Por lo tanto, el numero total de bits correspondiente a los codigos que se asignan a los valores de serie puede reducirse significativamente, y la secuencia de codigos de valor de serie que comprende los valores de serie puede decodificarse satisfactoriamente.
En esta segunda realizacion, el decodificador de longitud variable RVLD selecciona una tabla de codigos de acuerdo 25 con el numero de coeficientes cero no decodificados en el bloque objetivo (es decir, el Cnum producido de la calculadora numerica NumClc), pero este decodificador de longitud variable RVLD puede seleccionar la tabla de codigos en base no solo a la transmision Cnum de la calculadora numerica NumClc sino tambien a la senal de seleccion de VLD VldSel. Por ejemplo, cuando un procedimiento de decodificacion de longitud variable que usa una tabla de codigos especifica es previamente indicado por la senal de seleccion de VLD VldSel, el decodificador de 30 longitud variable RVLD realiza un procedimiento de decodificacion de longitud variable usando la tabla de codigos espedfica para reconstituir los valores de nivel, independientemente del numero de coeficientes cero no decodificados en el bloque objetivo.
[Realizacion 3]
35
La figura 13 es un diagrama de bloques para explicar un aparato de codificacion de imagenes de acuerdo con una tercera realizacion de la presente invencion.
Este aparato de codificacion de imagenes 103 de acuerdo con la tercera realizacion, en lugar de la unidad de 40 codificacion por longitud de series RLE0c en el aparato de codificacion de imagenes 201c mostrado en la figura 38 que somete las transmisiones (componentes cuantificados) QS de la unidad de cuantificacion Q a un procedimiento de codificacion de longitud variable y transmite una corriente codificada Str0c, tiene una unidad de codificacion por longitud de series RLE2 que somete las transmisiones QS de la unidad de cuantificacion Q a un procedimiento de codificacion de longitud variable en base a un parametro de cuantificacion QP o una senal de seleccion de VLC 45 VlcSel y transmite una corriente codificada Str2. Otros componentes del aparato de codificacion de imagenes 103 de la tercera realizacion son los mismos a los del aparato de codificacion de imagenes convencional 201c.
Para ser mas espedficos, la unidad de codificacion por longitud de series RLE2, similar a la unidad de codificacion por longitud de series RLE0c, tiene la primera tabla de codigos T1 (vease la figura 42) que muestra la 50 correspondencia entre el par de un valor de serie y un valor de nivel (despues, denominado como un par de serie- nivel) y un codigo correspondiente, de acuerdo con las combinaciones de los valores de serie y los valores de nivel. Esta unidad de codificacion por longitud de series RLE2 cambia regularmente las correspondencias entre el par de serie-nivel y el codigo en la primera tabla de codigos, en base a la primera tabla de codigos, para formar una segunda tabla de codigos que tiene diferentes correspondencias de la primera tabla de codigos, y selecciona una de 55 las primera y segunda tablas de codigos en base al parametro de cuantificacion QP que se transmite de la unidad de cuantificacion Q o la senal de seleccion de VLC VlcSel del exterior, asf como asigna los codigos a los pares de serie- nivel asociados con los coeficientes en los datos objetivo que se van a procesar, en base a la tabla de codigos seleccionada.
En este punto, el parametro de cuantificacion QP es un parametro que indica el valor de la etapa de cuantificacion, y la etapa de cuantificacion es aproximadamente proporcional al parametro de cuantificacion QP. Para ser mas espedficos, cuando el parametro de cuantificacion Qp es mas grande, los componentes de cuantificacion tienen valores absolutos mas pequenos, entonces la serie cero en los componentes cuantificados (la longitud de 5 componentes que continuan sucesivamente cuyos valores son cero) se hacer mas larga, y por consiguiente el valor de nivel tiene un valor absoluto mas pequeno. Por lo tanto, en este caso, se selecciona una tabla de codigos en la que los codigos mas pequenos se asignan a los pares de serie-nivel que comprenden valores de serie grandes y valores de nivel pequenos, por lo que aumenta la eficiencia de la codificacion. A la inversa, cuando el parametro de cuantificacion QP es mas pequeno, los componentes cuantificados tienen valores absolutos mayores. Por lo tanto, 10 se selecciona una tabla de codigos en la cual los codigos mas pequenos se asignan a los pares de serie-nivel que comprenden valores de serie mas pequenos y valores de nivel mas grandes, aumentando de esta manera la eficiencia de la codificacion.
Ademas, cuando se introduce la senal de seleccion de VLC VlcSel del exterior del aparato de codificacion de 15 imagenes 103, la unidad de codificacion por longitud de series RLE2 selecciona una tabla de codigos que se emplea en el procedimiento de codificacion de acuerdo con la senal de seleccion VlcSel. Por consiguiente, cuando una tabla de codigos apropiada se selecciona del exterior de acuerdo con las caractensticas de imagen (el valor de movimiento de una imagen, la complejidad del movimiento, la meticulosidad de un patron o similares), o cuando una corriente que puede decodificarse por un aparato de decodificacion de imagenes que incluye una tabla de codigos 20 solamente se forma en el lado del aparato de codificacion de imagenes 103, este aparato de codificacion de imagenes 103 se puede controlar por la senal de seleccion de VLC VlcSel usando siempre una tabla de codigos predeterminada. Es decir, tambien es posible realizar un procedimiento de codificacion de longitud variable sin cambiar una tabla de codigos pero usando solamente una tabla de codigos.
25 La figura 14 es un diagrama de bloques para explicar una construccion espedfica de la unidad de codificacion por longitud de series RLE2.
La unidad de codificacion por longitud de series RLE2, similar a la unidad de codificacion por longitud de series convencional RLE0c (vease la figura 39), tiene un escaner en zigzag Scan para transformar las transmisiones 30 (componentes cuantificados) QS de una matriz bidimensional de la unidad de cuantificacion Q en componentes cuantificados Coef en una matriz unidimensional (es decir, orden predeterminado); una calculadora de serie RunCal para calcular el numero de componentes cuantificados sucesivos cuyos valores son cero (coeficientes cero) Coef y transmitir un valor de serie Run; y una calculadora de nivel LevCal para calcular un valor de un componente cuantificado cuyo valor no es cero (coeficientes no cero) Coef, seguido de los coeficientes cero, y transmitir un valor 35 de nivel Lev.
En esta tercera realizacion, la unidad de codificacion por longitud de series RLE2 adicionalmente tiene un convertidor de serie RunConv para realizar un procedimiento de conversion de dividir la transmision (el valor de serie) Run de la calculadora de serie RunCal en un valor de serie Run1 que indica un digito superior del valor de 40 serie Run y un valor de serie Run2 que indica un dfgito inferior del valor de serie Run, en base al parametro de cuantificacion QP o la senal de seleccion de VLC VlcSel; y un convertidor de nivel LevConv para realizar un procedimiento de conversion de dividir la transmision (el valor de nivel) Lev de la calculadora de nivel LevCal en un valor de nivel Lev1 que indica un dfgito superior del valor de nivel Lev y un valor de nivel Lev2 que indica un dfgito inferior del valor de nivel Lev en base al parametro de cuantificacion QP o la senal de seleccion de VLC VlcSel.
45
La unidad de codificacion por longitud de series RLE2 ademas incluye un codificador de serie-nivel RunLevEnc para obtener un numero de codigos Code que corresponde a un par del valor de serie Run1 y el valor de nivel Lev1 (en lo sucesivo en este documento, denominado como un par de digito superior de serie-nivel) de acuerdo con una tabla de codigos o una operacion aritmetica; y una unidad de reordenamiento ReOdr para realizar un procedimiento para 50 reordenar los pares de dfgitos superiores de serie-nivel de modo que los pares de dfgitos superiores de serie-nivel para componentes de frecuencia superior, que corresponden a un bloque objeto que se va a procesar, corresponden a numeros de codigos mas pequenos en base a las correspondencias entre el par de dfgitos superiores de serie- nivel y el numero de codigos Code, de acuerdo con el parametro de cuantificacion QP o la senal de seleccion de VLC VlcSel, y transmitir un numero de codigos ReOdrCode que corresponde a un par de dfgitos superiores de serie- 55 nivel reordenados.
La unidad de codificacion por longitud de series RLE2 ademas incluye una calculadora de posicion PosClc para calcular el numero de componentes cuantificados codificados (coeficientes codificados) del valor de serie Run y transmitir el numero Pos de los coeficientes codificados; un transformador de codigos CodeTrans para transmitir un
numero de codigos ExtCode que corresponden a un par de serie-nivel, indicado por una segunda tabla de codigos, del valor de nivel Lev2 y el valor de serie Run2, en base a las correspondencias entre el par de dfgitos superiores de serie-nivel y el numero de codigos ReOdrCode; y un codificador de longitud variable VLC para asignar una secuencia de bits (palabra de codigo) al numero de codigos ExtCode para generar una secuencia de codigos Str2.
5
El escaner en zigzag Scan, la calculadora de serie RunCal, la calculadora de nivel LevCal, y el codificador de longitud variable VLC en la unidad de codificacion por longitud de series RLE2 son los mismos como los de la unidad de codificacion por longitud de series convencional RLEOc como se muestra en la Figura 39.
10 A continuacion, se describiran las funciones y efectos.
El escaner en zigzag Scan transforma los componentes cuantificados QP en una matriz bidimensional en componentes cuantificados Coef en una matriz unidimensional, es decir, a la que se ajusta un orden. La calculadora de serie RunCal calcula el numero de componentes cero sucesivos (componentes cuantificados cuyos valores son 15 cero) Coef, y transmite un valor de serie Run que indica el numero obtenido. La calculadora de nivel LevCal calcula un valor de un componente no cero (un componente cuantificado cuyo valor no es cero, seguido de los componentes cero) Coef, y transmite un valor de nivel Lev que indica el valor del componente no cero.
El convertidor de serie RunConv realiza un procedimiento de conversion para dividir el valor de serie Run en el valor 20 de serie Run1 que indica un digito superior del valor de serie Run y el valor de serie Run2 que indica un digito inferior del valor de serie Run. El convertidor de nivel LevConv realiza un procedimiento de conversion para dividir el valor de nivel Lev en el valor de nivel Levi que indica un digito superior del valor de nivel Lev y el valor de nivel Lev2 que indica un digito inferior del valor de nivel Lev.
25 El codificador de serie-nivel RunLevEnc obtiene un numero de codigos Code que corresponde a un par del valor de nivel Levi y el valor de serie Runi (par de dfgitos superiores de serie-nivel) de acuerdo con una tabla de codigos "(primera tabla de codigos) mostrada en la figura 42 o una operacion aritmetica. La unidad de reordenamiento ReOdr realiza un procedimiento de reordenamiento de los pares de dfgitos superiores de serie-nivel de acuerdo con el parametro de cuantificacion QP o la senal de seleccion de VLC VlcSel, y transmite un numero de codigos 30 ReOdrCode que corresponde a un par de dfgitos superiores de serie-nivel reordenado. De acuerdo con el procedimiento de reordenamiento los pares de dfgitos superiores de serie-nivel, las correspondencias entre el par de dfgitos superiores de serie-nivel y el numero de codigos Code, que se obtienen por el codificador de serie-nivel RunLevEnc, se convierten en correspondencias en las que los numeros de codigos mas pequenos corresponden a los pares de dfgitos superiores de serie-nivel que corresponden a los componentes de frecuencia superior en el 35 bloque objetivo que se va a procesar.
La calculadora de posicion PosClc calcula el numero de componentes codificados del valor de serie Run, y transmite el numero Pos de coeficientes codificados. El transformador de codigos CodeTrans transmite un numero de codigos ExtCode que corresponde al par de serie-nivel del valor de nivel Lev2 y el valor de serie Run2, en base a las 40 correspondencias entre el par de dfgitos superiores de serie-nivel y el numero de codigos ReOdrCode. En este momento, el transformador de codigos CodeTrans emplea el numero Pos de coeficientes codificados que se transmite desde la calculadora de posicion PosClc, para obtener el numero de componentes no codificados.
En este punto, el numero de codigos ExtCode que corresponde al par de serie-nivel, que se transmite desde el 45 transformador de codigos CodeTrans, se obtiene en base a la segunda tabla de codigos que tiene correspondencias diferentes entre el par de serie-nivel y el numero de codigos de aquellos de la primera tabla de codigos. Esta segunda tabla de codigos se forma como se indica a continuacion: una tabla de codigos que tiene correspondencias diferentes entre un par de serie-nivel y un numero de codigos a partir de la primera tabla de codigos se forma inicialmente por el procedimiento de reordenamiento por la unidad de reordenamiento ReOdr, y despues esta tabla 50 de codigos formada por la unidad de reordenamiento ReOdr se modifica por el transformador de numeros CodeTrans en base al numero Pos de coeficientes codificados de modo que no incluye correspondencias entre el par de serie-nivel y el numero de codigos, que corresponden a valores de serie Run que exceden el numero de componentes no codificados.
55 El codificador de longitud variable VLC asigna una secuencia de bits (palabra de codigo) al numero de codigos ExtCode para generar una corriente codificada Str2.
Las Figuras 15 muestran los ejemplos de la segunda tabla de codigos que se forma por la unidad de codificacion por longitud de series RLE2 en base a la primera tabla de codigos. En este punto, la primera tabla de codigos es la
misma que la tabla de codigos mostrada en la Figura 42, que se emplea en la unidad de codificacion por longitud de series convencional RLE0c. En las primera y segunda tablas de codigos, se asigna una secuencia de bits (palabra de codigo) al numero de codigos en una relacion uno a uno, aunque no hace falta decir que las palabras de codigos mas cortas se asignan a numeros de codigos Code que tienen valores mas pequenos.
5
La Figura 15(a) muestra, como un ejemplo de la segunda tabla de codigos, una segunda tabla de codigos T2a que es adecuada para un caso en el que el parametro de cuantificacion QP sea mas pequeno.
Esta segunda tabla de codigos T2a se forma como se indica a continuacion.
10
Inicialmente, se asigna un valor que corresponde a 1/2 del nivel Lev como el valor de nivel Levi, y se asigna un valor absoluto de (Levi x 2 - Lev) como el valor de nivel Lev2.
En este punto, cuando el valor de nivel Lev es un numero impar, se emplea un valor que se obtiene dividiendo un 15 numero par que tiene un valor absoluto que es un mas grande que el del valor de nivel Lev, por 2 como el valor de nivel Levi. Para ser mas espedficos, cuando el valor de nivel Lev es positivo, se asigna un valor que corresponde a 1/2 de (Lev + 1) al valor de nivel Levi, mientras que cuando el valor de nivel es negativo, se asigna un valor que corresponde a 1/2 de (Lev - 1) al valor de nivel Lev1.
20 Despues, se obtiene un numero de codigos Code que corresponde a un par del valor de nivel Lev1 y el valor de serie Run a partir de la primera tabla de codigos (vease la figura 42) de acuerdo con las combinaciones de los valores de nivel Lev y el valor de serie Run.
Adicionalmente, el numero de codigos Code que corresponde a un par del valor de nivel Lev1 y el valor de serie Run 25 se convierte de acuerdo con la formula siguiente (1) cuando el valor Lev es positivo, y de acuerdo con la formula (2) cuando el valor Lev es negativo. La segunda tabla de codigos T2a muestra correspondencias entre el numero de codigos y el par de serie-nivel que se obtienen por la conversion anterior.
2 x (Code - Lev2) - 1... (1)
30 2 x (Code - Lev2)... (2)
Por ejemplo, cuando se centra la atencion en un par de serie-nivel (nivel = -2, serie = 1) en la tabla de codigos (primera tabla de codigos) en la Figura 42, un numero de codigos Code que corresponde a este par de serie-nivel se convierte de "10", indicado por la primera tabla de codigos T1 en la Figura 42, en "12", indicado por la segunda tabla 35 de codigos T2a en la Figura 15(a).
Es decir, ya que el par de serie-nivel (Lev, Run) es (-2, 1) en este caso, Lev1 y Lev2 se calculan como se indica a continuacion.
40 Lev1 = Lev ■ (1/2) = -1
Lev2 = I Lev1 ■ 2 - Levi = 1-1 ■ 2 - (-2) I = 0
Por lo tanto, (Lev1, Run) es (-1, 1), y este par de serie-nivel corresponde a un numero de codigos (Code = 6) de acuerdo con la primera tabla de codigos (vease la figura 42).
45
Despues, se calcula un numero de codigos que corresponde al par de serie-nivel (Lev, Run) = (-2, 1) empleando la formula (2):
2 x (Code - Lev2) - 2 x (6-0) = 12 50
La tabla de codigos en la Figura 15 (a) se caracteriza porque se asignan numeros de codigos mas pequenos (es decir, palabras de codigo mas cortas) a pares de serie-nivel que comprenden valores de serie mas pequenos y valores de nivel mas grandes en comparacion con la tabla de codigos (primera tabla de codigos) mostrada en la Figura 42, y esto es adecuado para un caso en el que el parametro de cuantificacion QP sea mas pequeno.
55
La Figura 15 (b) muestra, como otro ejemplo de la segunda tabla de codigos, una segunda tabla de codigos T2b que es adecuada para un caso en el que el parametro de cuantificacion QP sea mas grande.
Esta segunda tabla de codigos T2b se forma como se indica a continuacion.
Inicialmente, un valor que corresponde a 1/2 del valor de serie Run se asigna como el valor de serie Run1, y un valor absoluto de (Run1 x 2-Run) se asigna como el valor de serie Run2. En este punto, cuando el valor de serie es un numero impar, se asigna un par de numeros enteros del valor que corresponde a 1/2 de (Run + 1) al valor de serie 5 Run1.
Despues, se obtiene un numero de codigos Code que corresponde a un par del valor de nivel Lev y el valor de serie Run1 a partir de la primera tabla de codigos (vease la figura 42), de acuerdo con las combinaciones de los valores de nivel Lev y los valores de serie Run1.
10
Adicionalmente, el numero de codigos Code que corresponde a un par del valor de nivel Lev y el valor de serie Run1 se convierte en base a la siguiente formula (3) cuando el valor Lev es positivo, y la formula (4) cuando el valor Lev es negativo. La segunda tabla de codigos T2b muestra correspondencias entre el numero de codigos y el par de serie- nivel que se obtienen como resultado de la conversion.
15
2 x (Code + Run2) - 1... (3)
2 x (Code + Run2) - 2... (4)
Por ejemplo, cuando se centra la atencion en un par de serie-nivel (nivel = -1, serie = 2) en la tabla de codigos 20 (primera tabla de codigos) de la Figura 42, un numero de codigos Code que corresponde a este par de serie-nivel se convierte de "12", indicado por la primera tabla de codigos T1 en la Figura 42, a "10", indicado por la segunda tabla de codigos T2b en la Figura 15(b).
Para ser mas espedficos, ya que el par de serie-nivel (Lev, Run) en este caso es (-1, 2), Run1 y Run2 se calculan 25 como se indica a continuacion.
Run1 = Run ■ (1/2) = 1
Run2 = I Run1 ■ 2 - Runl = 11 ■ 2 - 2 I = 0
30 Por lo tanto, (Lev, Run1) es (-1, 1), y este par de serie-nivel corresponde a un numero de codigos (Code = 6) de acuerdo con la primera tabla de codigos (Figura 42).
Despues, se calcula un numero de codigos que corresponde al par de serie-nivel (Lev, Run) = (-1, 2) usando la formula (4):
35
2 x (Code + Run2) = 2 x (6-0) - 2 = 10
La segunda tabla de codigos T2b mostrada en la Figura 15(b) se caracteriza porque se asignan numeros de codigos mas pequenos (es decir, palabras de codigos mas cortas) a pares de serie-nivel que comprenden valores de serie 40 mas grandes y valores de nivel mas pequenos en comparacion con la tabla de codigos (primera tabla de codigos) T1 mostrada en la Figura 42, y esto es adecuado para un caso en el que el parametro de cuantificacion QP sea mas grande.
Las Figuras 16 muestran otros ejemplos de la segunda tabla de codigos que se forma en base a la primera tabla de 45 codigos por la unidad de codificacion por longitud de series RLE2. En este punto, la primera tabla de codigos es la misma que la tabla de codigos T1 mostrada en la Figura 42, que se emplea en la unidad de codificacion por longitud de series convencional RLE0c.
El transformador de numeros CodeTrans calcula el numero de componentes no codificados (el numero de 50 coeficientes que todavfa no se han sometido a un procedimiento de codificacion) en un bloque objetivo que se va a procesar, en base al numero Pos de coeficientes codificados que se transmiten a partir de la calculadora de posicion PosClc. Adicionalmente, la segunda tabla de codigos que se forma a partir de la primera tabla de codigos se hace incluir palabras sin codigo que corresponden a pares de serie-nivel que incluyen valores de serie que exceden el numero de componentes no codificados. De esta manera, se permite la codificacion a la eficiencia de compresion 55 mas alta.
La Figura 16(a) muestra una segunda tabla de codigos T2c que se forma cuando el numero de componentes no codificados es tres o mas. La Figura 16(b) muestra una segunda tabla de codigos T2d que se forma cuando el numero de componentes no codificados es dos. La Figura 16(c) muestra una segunda tabla de codigos T2e que se
forma cuando el numero de componentes no codificados es uno.
Cuando las correspondencias entre pares de serie-nivel que incluyen valores-de serie que nunca se usaran y se borran los codigos de la tabla de codigos como se ha descrito anteriormente, se asigna un codigo mas corto al par 5 de serie-nivel. Por ejemplo, de acuerdo con la segunda tabla de codigos T2e como se muestra en la Figura 16(c), un par de serie-nivel que comprende un valor de serie [0] y un valor de nivel [4] corresponde a un numero de codigos [7]. El par de serie-nivel que comprende el valor de serie [0] y el valor de nivel [4] corresponde a un numero de codigos [11] de acuerdo con la segunda tabla de codigos T2d mostrada en la Figura 16(b), aunque el par de serie- nivel que comprende el valor de serie [0] y el valor de nivel [4] corresponde a un numero de codigos que tienen un 10 valor mas grande adicional (no mostrado) de acuerdo con la segunda tabla de codigos T2c mostrada en la Figura 16(a).
La Figura 17 muestra un ejemplo de un orden de codificacion en la unidad de codificacion por longitud de series RLE2 del aparato de codificacion de imagenes 103 de acuerdo con la tercera realizacion.
15
Generalmente, los valores absolutos de los valores de nivel que corresponden a los componentes de baja frecuencia son grandes y, en la tabla de codigos, los numeros de codigos Code que tienen valores mas grandes corresponden a pares de serie-nivel que corresponden a los componentes de baja frecuencia. Por el contrario, los valores absolutos de los valores de nivel que corresponden a componentes de frecuencia superior son pequenos y, en la 20 tabla de codigos, los numeros de codigos que tienen valores mas pequenos corresponden a pares de serie-nivel que corresponden a los componentes de frecuencia superior.
Como se describe con referencia a las Figuras 16, el aumento en la eficiencia de compresion, que se obtiene borrando los numeros de codigos (palabras de codigo) que corresponden a pares de serie-nivel que incluyen valores 25 de serie que exceden el numero de componentes no codificados de la tabla de codigos, se hace mas grande cuando el numero de componentes no codificados es mas pequeno, asf como mas grande segun el valor absoluto del valor de nivel es mas grande, debido a que la proporcion de disminucion en el valor del numero de codigos asignado es mas grande en comparacion con el caso en el que los numeros de codigos aun no han eliminado.
30 Por consiguiente, cuando los componentes cuantificados que tienen valores absolutos mas grandes de los valores de nivel y que corresponden a componentes de baja frecuencia se codifican mas tarde en la codificacion de componentes cuantificados por la unidad de codificacion de serie-nivel RLE2, similar al aparato de codificacion de imagenes 103 de acuerdo con la tercera realizacion, la eficiencia de compresion aumenta adicionalmente.
35 Para ser mas espedficos, la unidad de reordenamiento ReOdr reordena los componentes cuantificados para que se dispongan sucesivamente a partir de un par de serie-nivel de un componente cuantificado que corresponde a un componente de frecuencia superior (el ultimo componente no cero) con respecto un par de serie-nivel de un componente cuantificado que corresponde a un componente de frecuencia inferior, como se muestra por las flechas X1 a X7 en la Figura 17, para anadir un EOB que indica el ultimo componente codificado en un bloque de objetivo 40 despues de una palabra de codigo que corresponde a un par de serie-nivel de un componente cuantificado que tiene el componente de frecuencia mas baja, aumentando de esta manera la eficiencia de compresion.
Adicionalmente, en la tercera realizacion, el parametro de cuantificacion QP y la senal de seleccion de VLC VlcSel se suministran al convertidor de nivel LevConv, el convertidor de serie RunConv, la unidad de reordenamiento 45 ReOdr, y el transformador de numeros CodeTrans. Por lo tanto, una tabla de codigos puede cambiarse de acuerdo con el parametro de cuantificacion QP, o una tabla de codigos apropiada se puede seleccionar desde el exterior de acuerdo con el contenido de una imagen (el valor de un movimiento de la imagen, la complicidad del movimiento o la meticulosidad de un patron).
50 Por ejemplo, cuando la tabla de codigos que se emplea en el procedimiento de codificacion se cambia de acuerdo con la senal de seleccion de VLC VlcSel del exterior del aparato de codificacion de imagenes, el aparato de decodificacion de imagenes puede crear una corriente que puede decodificarse por una unidad de decodificacion que tiene solamente una tabla de codigos.
55 En esta tercera realizacion, el aparato de codificacion de imagenes 103 que codifica los coeficientes cuantificados de una senal de imagen como datos objetivo que se van a procesar, incluye la unidad de codificacion por longitud de series RLE2 que asigna los codigos de longitud variable al coeficiente cuantificado usando una tabla de codigos, y esta unidad de codificacion por longitud de series RLE2 forma la segunda tabla de codigos que se optimiza para los datos objetivo que se van a procesar en base a la primera tabla de codigos, y se selecciona una de las primera y
segunda tablas de codigos como una tabla de codigos que se emplea para la asignacion de codigos de longitud variable, en base al parametro de cuantificacion QP o la senal de seleccion de VLC VISel. Por lo tanto, la informacion redundante incluida en los datos objetivo pueden eliminarse de forma eficaz, aumentando de esta manera adicionalmente la velocidad de compresion para senales de imagen o similares.
5
En esta tercera realizacion, la unidad de codificacion por longitud de series RLE2 incluye varios dispositivos para aumentar la velocidad de compresion, es decir, el convertidor de serie RunConv, el convertidor de nivel LevConV, la unidad de reordenamiento ReOdr, y el transformador de numeros CodeTrans, como se muestra en la Figura 14. Sin embargo, la unidad de codificacion por longitud de series RLE2 puede incluir solamente algunos de los dispositivos 10 para aumentar la velocidad de compresion. En este caso, la unidad de codificacion por longitud de series RLE2 puede montarse facilmente.
Adicionalmente, en la tercera realizacion, la segunda tabla de codigos se obtiene modificando correspondencias entre los pares de serie-nivel y los numeros de codigos en ambas partes que constituyen la primera tabla de 15 codigos: una parte que puede generarse regularmente por una operacion aritmetica (VLC construido regularmente), y una parte que no puede generarse regularmente (Tabla consultada para VLC). Sin embargo, cuando la primera tabla de codigos tiene la parte que puede generarse regularmente por una operacion aritmetica (VLC regularmente construido) y la parte la cual no se puede generar regularmente (tabla consultada para VLC), la segunda tabla de codigos puede formarse modificando solamente la parte como la parte de la primera tabla de codigos, que puede 20 generarse regularmente por una aritmetica cuya operacion se realiza facilmente. En este caso, el montaje de la unidad de codificacion por longitud de series rLE2 puede realizarse mas facilmente.
De acuerdo con esta tercera realizacion, en la unidad de codificacion por longitud de series que realiza la codificacion de longitud variable de componentes cuantificados usando pares de serie-nivel, los componentes 25 cuantificados se someten sucesivamente a la codificacion de longitud variable del componente de alta frecuencia al componente de baja frecuencia. Sin embargo, sin decir que en una unidad de codificacion de longitud variable que somete los valores de serie y valores de nivel que corresponden a componentes cuantificados en el bloque objetivo por separado al procedimiento de codificacion de longitud variable como en la primera realizacion, los valores de serie y los valores de nivel que corresponden a los componentes cuantificados en el bloque objetivo pueden 30 someterse a codificacion de longitud variable, sucesivamente del componente de alta frecuencia al componente de baja frecuencia.
[Realizacion 4]
35 La Figura 18 es un diagrama de bloques para explicar un aparato de decodificacion de imagenes de acuerdo con una cuarta realizacion de la presente invencion.
Este aparato de decodificacion de imagenes 104 de acuerdo con la cuarta realizacion, en lugar de la unidad de decodificacion por longitud de series RLD0c en el aparato de decodificacion de imagenes convencional 202c como 40 se muestra en la Figura 40 que somete una corriente codificada Str0c a un procedimiento de decodificacion de longitud variable y transmite los componentes cuantificados decodificados DQS, tiene una unidad de decodificacion por longitud de series RLD2 que somete una corriente codificada Str2 a un procedimiento de decodificacion de longitud variable en base al parametro de cuantificacion QP o una senal de seleccion de decodificacion de longitud variable (senal de seleccion de VLD) VldSel y transmite componentes de cuantificacion decodificadas DQS. Otros 45 componentes del aparato de decodificacion de imagenes 104 de acuerdo con la cuarta realizacion son los mismos que en el aparato de decodificacion de imagenes convencional 202c.
Para ser mas espedficos, la unidad de decodificacion por longitud de series RLD2, similar a la unidad de decodificacion por longitud de series convencional RLD0c, tiene una primera tabla de codigos T1 (ver la Figura 42) 50 que indica la correspondencia entre el par de un valor de serie y un valor de nivel (en lo sucesivo en este documento, denominado como pares de serie-nivel) y el codigo correspondiente, de acuerdo con combinaciones de los valores de serie y los valores de nivel. Despues, la unidad de decodificacion por longitud de series RLD2 cambia regularmente las correspondencias entre los pares de serie-nivel y los codigos en la primera tabla de codigos, en base a la primera tabla de codigos, para formar una segunda tabla de codigos que tiene correspondencias diferentes 55 a partir de las de la primera tabla de codigos, y selecciona una de la primera y segunda tablas de codigos de acuerdo con el parametro de cuantificacion QP transmitido desde la unidad de cuantificacion Q o la senal de seleccion de VLD VldSel del exterior, asf como tambien transforma palabras de codigos (secuencia de bits) que constituyen la corriente codificada Str2 en pares de valores de serie y valores de nivel asociados con coeficientes en los datos objetivos que se van a procesar, en base a la tabla de codigos seleccionada.
Como se ha descrito anteriormente, el parametro de cuantificacion QP es un parametro que indica el valor de la etapa de cuantificacion, y la etapa de cuantificacion es aproximadamente proporcional al parametro de cuantificacion QP. Para ser mas espedficos, cuando el parametro de cuantificacion QP es mas grande, los componentes 5 cuantificados tienen valores absolutos mas pequenos, entonces la de serie cero de los componentes cuantificados (la longitud de componentes que continuan sucesivamente cuyos valores son cero) se hace mas corta, y por consiguiente los valores de nivel tienen valores absolutos mas pequenos. En este caso, por lo tanto, se selecciona una tabla de codigos en la que se asignan codigos mas pequenos a pares de serie-nivel que comprenden valores de serie mas grandes y valores de nivel mas pequenos, mejorando de esta manera adicionalmente la eficiencia de la 10 codificacion. Por el contrario, cuando el parametro de cuantificacion QP es mas pequeno, los componentes cuantificados tienen valores absolutos, y por lo tanto se selecciona una tabla de codigos en la que se asignan codigos mas pequenos a pares de serie-nivel que comprenden valores de serie mas pequenos y valores de nivel mas grandes, aumentando de esta manera la eficiencia de la codificacion.
15 La Figura 19 es un diagrama de bloques que ilustra una construccion espedfica de la unidad de decodificacion por longitud de series RLD2.
La unidad de decodificacion por longitud de series RLD2, como la unidad de decodificacion por longitud de series convencional RLDOc, tiene un decodificador de longitud variable VLD, y este decodificador VLD decodifica la 20 corriente codificada Str2 transmitida desde el aparato de codificacion de imagenes 103 de acuerdo con la tercera realizacion y transmite un numero de codigos ExtCode.
En esta cuarta realizacion, la unidad de decodificacion por longitud de series RLD2 tiene un transformador inverso numerico IcodeTrans para realizar un procedimiento de transformacion inverso numerica para dividir el numero de 25 codigos ExtCode en un -numero de codigos PrmCode que corresponde a un par de dfgitos superiores de serie-nivel que comprende un valor de nivel Lev1 y un valor de serie Run1, un valor de nivel Lev2, y un valor de serie Run2 en base al parametro de cuantificacion QP o la senal de seleccion de VLD VldSel; y una unidad de reordenamiento inversa IReOdr para reordenar varios numeros de codigos PrmCode que corresponden a un bloque objetivo que se va a procesar para aumentar la frecuencia del par de serie-nivel, y transmitir la pluralidad de numeros de codigos 30 Code que corresponden al bloque objetivo y tienen un orden cambiado.
La unidad de decodificacion por longitud de series RLD2 incluye adicionalmente un detector de serie-nivel RunLevDec para detectar un par de serie-nivel que corresponde a un numero de codigos Code de acuerdo con una tabla de codigos o una operacion aritmetica, y transmitir un valor de nivel Lev1 y un valor de serie Run1 que 35 constituye el par de serie-nivel; un convertidor inverso de serie IrunConv para la reconstitucion de un valor de serie Run del valor de serie Run1 que indica el dfgito superior del valor de serie Run y el valor de serie Run2 que indica el dfgito inferior del valor de serie Run; y un convertidor inverso de nivel ILevConv para la reconstitucion de un valor de nivel Lev del valor de nivel Lev1 que indica el dfgito superior del valor de nivel Lev y el valor de nivel Lev2 que indica el digito inferior del valor de nivel Lev.
40
La unidad de decodificacion por longitud de series RLD2 incluye adicionalmente, como la unidad de decodificacion por longitud de series convencional RLD0c, un escaner en zigzag inverso IScan. Este escaner IScan transforma los componentes cuantificados en una matriz unidimensional, que se representan por los valores de nivel Lev y los valores de serie Run, en componentes cuantificados decodificados DQS en una matriz bidimensional, y transmite la 45 misma.
En este punto, el decodificador de longitud variable VLD, el detector de serie-nivel RunLevDec y el escaner en zigzag IScan inverso de la unidad de decodificacion por longitud de series RLD2 son los mismos que los de la unidad de decodificacion por longitud de series RLD0c mostrada en la Figura 41.
50
A continuacion, se describiran las funciones y efectos.
En la unidad de decodificacion por longitud de series RLD2, el decodificador de longitud variable VLD realiza una operacion inversa a la del codificador de longitud variable VLC. Es decir, el decodificador de longitud variable VLD 55 decodifica la corriente codificada Str2 y transmite un numero de codigos ExtCode que corresponde a una palabra de codigo (secuencia de bits) que constituye la corriente. El transformador inverso de numeros IcodeTrans realiza una operacion inversa a la del transformador de numeros CodeTrans en base al parametro de cuantificacion QP o la senal de seleccion de YLD VldSel, para dividir el numero de codigos ExtCode en un numero de codigos PrmCode que corresponde a un par de dfgitos superiores de serie-nivel que comprende el valor de nivel Lev1 y el valor de
serie Run1, un valor de nivel Lev2, y un valor de serie Run2.
La unidad de reordenamiento inversa IreOdr realiza una operacion inversa a la de la unidad de reordenamiento ReOdr en base al parametro de cuantificacion QP o la senal de seleccion de VLD VldSel. De esta manera, se realiza 5 un procedimiento para reordenar varios numeros de codigos PrmCode que corresponden al bloque objetivo que se va a procesar en orden de aumento de frecuencia del par de serie-nivel, y se transmiten varios numeros de codigos Code que tienen un orden cambiado y corresponden al bloque. El detector de serie-nivel RunLevDec detecta un par de serie-nivel que corresponde a un numero de codigos Code de acuerdo con una tabla de codigos o una operacion aritmetica, y transmite el valor de nivel Levi y el valor de serie Run1 que constituye el par de serie-nivel detectado.
10
El convertidor inverso de serie IrunConv realiza una operacion inversa a la del convertidor de serie RunConv en base al parametro de cuantificacion QP o la senal de seleccion de VLD VldSel, para reconstituir el valor de serie Run del valor de serie Runi que indica el digito superior del valor de serie Run y el valor de serie Run2 que indica el dfgito inferior del valor de serie Run. Adicionalmente, el convertidor inverso de nivel ILevConv realiza una operacion 15 inversa a la del convertidor de nivel LevConv en base al parametro de cuantificacion QP o la senal de seleccion de VLD VldSel, para reconstituir el valor de nivel Lev del valor de nivel Levi que indica el dfgito superior del valor de nivel Lev y el valor de nivel Lev2 que indica el dfgito inferior del valor de nivel Lev.
En este punto, en el transformador inverso numerico IcodeTrans, la unidad de reordenamiento inversa IReOdr, el 20 convertidor inverso de serie IRunConv y el convertidor inverso de nivel ILevConv, la seleccion de la primera y segunda tabla de codigos se realiza en base al parametro de cuantificacion QP o la senal de seleccion de VLD VldSel, y las operaciones se realizan de acuerdo con la tabla de codigos seleccionada.
El escaner en zigzag inverso IScan realiza una operacion inversa a la operacion del escaner en zigzag Scan, para 25 transformar los componentes cuantificados en una matriz unidimensional que se representan por los valores de nivel Lev y los valores de serie Run, en componentes cuantificados decodificados DQS en una matriz bidimensional, en base a los valores de nivel Lev y los valores de serie Run.
Adicionalmente, cuando la senal de seleccion de VLD VldSel se alimenta del exterior, la unidad de decodificacion 30 por longitud de series RLD2 selecciona una tabla de codigos apropiada que corresponde al contenido de una imagen (el valor de un movimiento de la imagen, la complicidad del movimiento, la meticulosidad de un patron), que se indica por la senal de seleccion de VLD VldSel.
En esta cuarta realizacion, el parametro de cuantificacion QP y la senal de seleccion de VLD VldSel se suministran 35 al transformador inverso numerico IcodeTrans, la unidad de reordenamiento inversa IReOdr, el convertidor inverso de serie IRunConv, y el convertidor inverso de nivel ILevConv, respectivamente. Por lo tanto, una tabla de codigos puede cambiarse de acuerdo con el parametro de cuantificacion QP, o una tabla de codigos apropiada puede seleccionarse del exterior del aparato de decodificacion de imagenes, de acuerdo con las caractensticas de una imagen, es decir, el valor de un movimiento de la imagen, la complejidad del movimiento, la meticulosidad de un 40 patron, o similares.
Como se ha descrito anteriormente, en esta cuarta realizacion, el aparato de decodificacion de imagenes 104 que decodifica los datos codificados que se obtienen por coeficientes cuantificados de codificacion de longitud variable de una senal de imagen, incluye la unidad de decodificacion por longitud de series RLD2 para la transformacion de 45 un codigo de longitud variable en componentes cuantificados usando una tabla de codigos. Ademas, la unidad de decodificacion por longitud de series RLD2 forma una segunda tabla de codificacion que se optimiza para los datos objetivos que se van a procesar, en base a la primera tabla de codigos, y selecciona una de las primera y segunda tablas de codigos como una tabla de codigos que se emplea en la conversion de un codigo de longitud variable en coeficientes cuantificados, de acuerdo con el parametro de cuantificacion QP o la senal de seleccion de VLD VldSel. 50 Por lo tanto, puede realizarse satisfactoriamente un procedimiento de decodificacion que corresponde a un procedimiento de codificacion de longitud variable que puede eliminar de forma eficaz la informacion redundante incluida en los datos objetivos que se van a procesar.
En esta cuarta realizacion, como se muestra en la Figura 19, la unidad de decodificacion por longitud de series 55 RLD2 tiene varios dispositivos para aumentar la velocidad de compresion, es decir, el transformador inverso de numeros ICodeTrans, la unidad de reordenamiento inversa IReOdr, el convertidor inverso de serie IRunConv, y el convertidor inverso de nivel ILevConv, aunque la unidad de decodificacion por longitud de series RLD2 puede tener solamente algunos de estos dispositivos para aumentar la velocidad de compresion. En este caso, la unidad de decodificacion por longitud de series RLD2 puede montarse mas facilmente.
Adicionalmente, en la cuarta realizacion, la segunda tabla de codigos se forma cambiando las correspondencias entre pares de serie-nivel y numeros de codigos en ambas partes que constituyen la primera tabla de codigos: la parte que puede generarse regularmente por una operacion aritmetica (VLC regularmente construido) y la parte que 5 no puede generarse regularmente (tabla consultada para VLC). Sin embargo, cuando la primera tabla de codigos tiene la parte que puede generarse regularmente por una operacion aritmetica (VLC regularmente construido) y la parte que no puede generarse regularmente (tabla consultada para VLC), la segunda tabla de codigos puede formarse cambiando solamente la parte en forma de una parte de la primera tabla de codigos, que puede generarse regularmente por la aritmetica cuya operacion se realiza facilmente. En este caso, el montaje de la unidad de 10 decodificacion por longitud de series RLD2 puede realizarse mas facilmente.
De acuerdo con esta cuarta realizacion, en la unidad de decodificacion por longitud de series que realiza la decodificacion de longitud variable de datos codificados que corresponden a componentes cuantificados usando pares de serie-nivel, la decodificacion de longitud variable de los datos codificados que corresponden a los 15 componentes cuantificados se realiza sucesivamente a partir del componente de alta frecuencia al componente de baja frecuencia. Sin embargo, es posible que, en una unidad de decodificacion por longitud de series que somete datos codificados de valores de serie y valores de nivel que corresponden a componentes cuantificados en un bloque objetivo por separado a decodificacion de longitud variable como en la segunda realizacion, los datos codificados de los valores de serie y valores de nivel que corresponden a los componentes cuantificados del bloque 20 objetivo se sometan a la decodificacion de longitud variable, sucesivamente del componente de alta frecuencia al componente de baja frecuencia.
[Realizacion 5]
25 La Figura 20 es un diagrama de bloques para explicar un aparato de codificacion de imagenes de acuerdo con una quinta realizacion de la presente invencion.
Este aparato de codificacion de imagenes 105 incluye, en lugar de la unidad de codificacion por longitud de series RLE2 en el aparato de codificacion de imagenes 103 de acuerdo con la tercera realizacion como se muestra en la 30 Figura 13, una unidad de codificacion por longitud de series RLE3 que codifica un par de serie-nivel asf como tambien codifica el numero de componentes no cero, similar a la unidad de codificacion por longitud de series RLE2. Otros componentes del aparato de codificacion de imagenes 105 de acuerdo con la quinta realizacion son los mismos que los del aparato de codificacion de imagenes 103 de acuerdo con la tercera realizacion.
35 La Figura 21 muestra una construccion espedfica de la unidad de codificacion por longitud de series RLE3 en el aparato de codificacion de imagenes 105.
Esta unidad de codificacion por longitud de series RLE3 de acuerdo con la quinta realizacion, en lugar de la calculadora de posicion PosClc en la unidad de codificacion por longitud de series RLE2 de acuerdo con la tercera 40 realizacion como se muestra en la Figura 14, tiene un contador de coeficiente no cero NZcount para contar el numero NZnum de coeficientes no cero en base a los componentes cuantificados alimentados, y una calculadora de posicion PosClc2 para calcular el numero Pos2 de coeficientes codificados en base al numero contado Nznum de coeficientes no cero y un valor de serie Run calculado por la calculadora de serie RunCal.
45 La unidad de codificacion por longitud de series RLE3 de acuerdo con la quinta realizacion codifica una transmision (numero de codigos) ExtCode del transformador de numeros CodeTrans, asf como tambien codifica el numero NZnum de componentes no cero, a diferencia del codificador de longitud variable VLC de la unidad de codificacion por longitud de series RLE2 de acuerdo con la tercera realizacion.
50 Otros componentes de la unidad de codificacion por longitud de series RLE3 son los mismos como los de la unidad de codificacion por longitud de series RLE2 de acuerdo con la tercera realizacion.
A continuacion, se describiran las funciones y efectos.
55 Las operaciones de la unidad de bloqueo Blk, la unidad de transformacion de frecuencia Trans, y la unidad de cuantificacion Q en el aparato de codificacion de imagenes 105 de acuerdo con la quinta realizacion son las mismas como las del aparato de codificacion de imagenes 103 de acuerdo con la tercera realizacion. Adicionalmente, las operaciones de componentes diferentes del contador de coeficientes no cero NZcount, la calculadora de posicion PosClc2, el transformador de numero CodeTrans, y el codificador de longitud variable VLC2 en la unidad de
codificacion por longitud de series RLE3 de acuerdo con la quinta realizacion, es dedr, el escaner Scan, la calculadora de serie RunCal, la calculadora de nivel LevCal, el convertidor de serie RunConv, el convertidor de nivel LevConv, el codificador de serie-nivel RunLevEnc, y la unidad de reordenamiento ReOdr son identicos a los de la unidad de codificacion por longitud de series RLE2 de acuerdo con la tercera realizacion. Por lo tanto, en lo sucesivo 5 en este documento se describiran principalmente las operaciones del contador de coeficiente no cero NZcount, la calculadora de posicion PosClc2, el transformador de numeros CodeTrans, y el codificador de longitud variable VLC2.
Cuando los componentes cuantificados QS transmitidos por la unidad de cuantificacion Q se introducen en la unidad 10 de codificacion por longitud de series RLE3, el contador de coeficientes no cero Nzcount en la unidad de codificacion por longitud de series RLE3 cuenta el numero de componentes no cero Nznum en la pluralidad de componentes cuantificados correspondientes a los respectivos bloques en base a los componentes cuantificados QS, y transmite el numero obtenido Nznum de los componentes no cero a la calculadora de posicion PosClc2 y el codificador de longitud variable VLC2.
15
La calculadora de posicion PosClc2 calcula una suma del numero de componentes cero codificados y el numero de componentes no cero en un bloque objetivo en base al numero Nznum de los componentes no cero del contador de coeficientes no cero Nzcount y un valor de serie Run de la calculadora de serie RunCal, y transmite el valor obtenido Pos2.
20
El transformador numerico CodeTrans transmite un numero de codigos ExtCode correspondiente a un par de serie- nivel de un valor de nivel Lev2 y un valor de serie Run2, en base a las correspondencias entre los pares de dfgitos superiores de serie-nivel y los numeros de codigos ReOdrCode. En este momento, el transformador numerico CodeTrans emplea el valor calculado Pos2 que se transmite desde la calculadora de posicion PosClc2 para obtener 25 el numero de componentes no codificados en el bloque objetivo.
En este punto, el numero de codigos ExtCode que corresponde a un par de serie-nivel, que se transmite a partir del transformador de numeros CodeTrans, se obtiene en base a la segunda tabla de codigos que tiene correspondencias diferentes entre pares de serie-nivel y numeros de codigos de la primera tabla de codigos. Esta 30 segunda tabla se forma como se indica a continuacion: una tabla de codigos que tiene correspondencias diferentes entre pares de serie-nivel y numeros de codigos de la primera tabla de codigos se forma inicialmente por el procedimiento de reordenamiento en la unidad de reordenamiento ReOdr, y despues la tabla de codigos formada por la unidad de reordenamiento ReOdr se modifica por el transformador numerico CodeTrans en base al valor calculado Pos2 de modo que los pares de serie-nivel que tengan valores de serie que sean mayores que el valor de 35 serie maximo Run en la tabla de codigos correspondan a los numeros de codigos ExtCode a los que no se les asignan codigos.
El codificador de longitud variable VLC2 codifica el numero NZnum de componentes no cero, asf como tambien realiza la codificacion del numero de codigos ExtCode para asignar una secuencia de bits (palabra de codigos) al 40 numero de codigos ExtCode con el fin de generar una corriente codificada Str3.
En lo sucesivo en este documento, se describira espedficamente la operacion del codificador de longitud variable VLC2.
45 A diferencia del codificador de longitud variable VLC de acuerdo con la tercera realizacion, el codificador de longitud variable VLC2 de acuerdo con la quinta realizacion no solamente codifica el numero de codigos ExtCode que corresponde a un par de serie-nivel de un bloque objetivo sino que tambien codifica el numero NZnum de componentes no cero en el bloque objetivo antes de la codificacion del numero de codigo ExtCode del bloque.
50 Como se ha descrito anteriormente, cuando el numero NZnum de coeficientes no cero se codifica antes de codificar el numero de codigos ExtCode de un bloque, el numero NZnum de componentes no cero del bloque objetivo puede decodificarse inicialmente en la decodificacion, y puede verificarse que se ha completado la reconstitucion del ultimo par de serie-nivel en el bloque objetivo, en un momento en el que los pares de serie-nivel que corresponden al numero NZnum de componentes no cero se han reconstituido. En consecuencia, un valor especifico eOb que se 55 codifica al final del bloque objetivo (un valor que se transmite despues del ultimo componente no cero), que se requiere por el codificador de longitud variable VLC de acuerdo con la tercera realizacion, no es necesario para el codificador de longitud variable VLC2.
A continuacion, se describiran espedficamente las operaciones de la calculadora de posicion PosC12 y el
transformador numerico CodeTrans.
Asumiendo que un bloque objetivo incluye componentes cuantificados QS de NBlock (incluyendo tanto componentes cero como componentes no cero), la longitud de serie maxima (el numero maximo de coeficientes cero de 5 continuacion sucesiva) es (NBlock-NZnum) en base al numero NZnum de coeficientes no cero en el bloque objetivo. Adicionalmente, el valor de serie maximo (el numero maximo de coeficientes cero que continuan sucesivamente) MaxRun(1) en el momento en el que la codificacion del primer par de serie-nivel se ha completado, se representa por la siguiente formula (5), usando un valor de serie FRun del primer par de serie-nivel del bloque objetivo.
10 MaxRun(1) = NBlock - NZnum - FRun... (5)
Generalmente, el valor de serie maximo MaxRun(i) en el momento en el que la codificacion de un par de serie-nivel i-esimo en un bloque se ha completado, se representa por la siguiente formula (6).
15 MaxRun(i) = NBlock - NZnum - {la suma de valores de serie i-esimo}...(6)
Por lo tanto, la calculadora de posicion PosClc2 produce un valor calculado Pos2 representado por la siguiente formula (7), indicando de esta manera al transformador numerico CodeTrans que el valor de serie maximo MaxRun(i) es un valor representado por la formula (8).
20
Pos2 = NZnum + {la suma de valores de serie i-esimo}... (7)
MaxRun(i) = NBlock - Pos2... (8)
El transformador numerico CodeTrans forma la segunda tabla de codigos en que los numeros de codigos ExtCode a 25 los que no se asignan codigos se hacen corresponder con los pares de serie-nivel que tienen valores de serie que son mas grandes que el valor de serie maximo MaxRun. De esta manera, se suprime la redundancia en el procedimiento de codificacion debido a la asignacion de codigos a pares de serie-nivel que nunca aparece, aumentando de esta manera la velocidad de compresion.
30 Cuando una tabla de codigos de longitud variable que esta compuesta por una primera parte que puede generarse por una operacion aritmetica (VLC regularmente construido) y una segunda parte que no puede generarse regularmente por una operacion aritmetica (tabla consultada para VLC) se emplea como las primera y segunda tablas de codigos cuando se realiza el procedimiento de codificacion de longitud variable para los componentes cuantificados, la segunda tabla de codigos puede realizarse cambiando tanto las primera como segunda partes en la 35 primera tabla de codigos de acuerdo con el valor de serie maximo, o la segunda tabla de codigos puede formarse cambiando solamente la primera parte en la primera tabla de codigos, que puede generarse por una aritmetica cuya operacion se realiza facilmente de acuerdo con el valor de serie maximo.
Adicionalmente, en lugar de cambiar la tabla de codigos a una en que no se asignan codigos a pares de serie-nivel 40 que tengan valores de serie Run que sean mas grandes que el valor de serie maximo MaxRun(i) cuando la tabla de codificacion de longitud variable se cambia de acuerdo con el valor de serie maximo MaxRun(i) en el momento en el que se ha completado la codificacion de un par de serie-nivel i-esimo, una tabla de codigos de longitud variable puede cambiarse directamente a una en la que no se asignan codigos a pares de serie-nivel que tienen valores de serie Run que son mas grandes que el valor de serie maximo MaxRun(i).
45
Las Figuras 24 son diagramas que muestran ejemplos de las tablas de codigos de longitud variable. En una tabla de codigos Ta (Figura 24(a)), los codigos mas cortos se asignan a valores de serie mas pequenos en comparacion con una tabla de codigos Tb (Figura 24 (b)). En la tabla de codigos Tb (Figura 24 (b)), se asignan adicionalmente codigos mas cortos a valores de serie mas pequenos en comparacion con una tabla de codigos Tc (Figura 24(c)). 50
Ademas, en la tabla de codigos Tc (Figura 24(c)), se asignan los codigos mas cortos a valores de nivel que tienen valores absolutos mas pequenos en comparacion con la tabla de codigos Tb (Figura 24 (b)). En la tabla de codigos Tb, se asignan adicionalmente codigos mas cortos a valores de nivel que tienen valores absolutos mas pequenos en comparacion con la tabla de codigos Ta (Figura 24 (a)).
55
Por lo tanto, es preferible seleccionar la tabla de codigos Ta de la Figura 24(a) cuando el valor de serie maximo MaxRun es mas pequeno, la tabla de codigos Tc en la Figura 24(c) cuando el valor de serie maximo MaxRun es mas grande, y la tabla de codigos Tb en la Figura 24 (b) cuando el valor de serie maximo MaxRun es un valor intermediario.
De acuerdo con la quinta realizacion, el aparato de codificacion de imagenes 105 que codifica los coeficientes cuantificados que se obtienen cuantificando los componentes de frecuencia de una senal de imagen, se proporciona con la unidad de codificacion por longitud de series RLE3 que asigna codigos de longitud variable a los 5 componentes cuantificados usando una tabla de codigos. Despues, la unidad de codificacion por longitud de series RLE3 selecciona una tabla de codigos en la que se suprimen los pares de serie-nivel que nunca aparecen en base a la suma del numero de coeficientes procesados (coeficientes codificados) en un bloque objetivo que se va a codificar y el numero de coeficientes no cero no codificados en el bloque objetivo, en otras palabras, la suma del numero de coeficientes no cero en el bloque objetivo y el numero de valores de serie ya procesados en el bloque objetivo, 10 aumentando de esta manera la eficiencia de la codificacion de longitud variable.
De acuerdo con esta quinta realizacion, en una unidad de codificacion por longitud de series que realiza la codificacion de longitud variable de los componentes cuantificados correspondientes a cada bloque usando los pares de serie-nivel, se codifica el numero NZnum de los componentes no cero en un bloque objetivo. Sin embargo, es 15 posible que la codificacion del numero NZnum de los componentes no cero de un bloque objetivo se pueda realizar en una unidad de codificacion por longitud de series que realiza la codificacion de longitud variable de valores de serie y valores de nivel correspondientes a los componentes cuantificados de cada bloque por separado, como en la primera realizacion. En este caso, el valor de serie maximo en el bloque objetivo se puede ajustar a un valor que se obtiene restando el numero NZnum de los componentes no cero del numero de todos los componentes en el bloque 20 objetivo.
[Realizacion 6]
La figura 22 es un diagrama de bloques para explicar un aparato de decodificacion de imagenes de acuerdo con una 25 sexta realizacion de la presente invencion.
El aparato de decodificacion de imagenes 106 de acuerdo con la sexta realizacion, en lugar de la unidad de decodificacion por longitud de series RLD2 en el aparato de decodificacion de imagenes 104 de acuerdo con la cuarta realizacion como se muestra en la figura 18, tiene una unidad de decodificacion por longitud de series RLD3 30 que realiza un procedimiento de decodificacion de datos codificados para reconstituir el numero de pares de serie- nivel y el numero de componentes no cero en cada bloque, como en la unidad de decodificacion por longitud de series RLD2. Los demas componentes del aparato de decodificacion de imagenes 106 de acuerdo con la sexta realizacion son los mismos que los del aparato de decodificacion de imagenes 104 de acuerdo con la cuarta realizacion.
35
La figura 23 muestra una construccion espedfica de la unidad de decodificacion por longitud de series RLD3 en el aparato de decodificacion de imagenes 106.
Esta unidad de decodificacion por longitud de series RLD3 de la sexta realizacion incluye, en lugar de la calculadora 40 de posicion PosClc en la unidad de decodificacion por longitud de series RLD2 de acuerdo con la cuarta realizacion como se muestra en la figura 19, una calculadora de posicion PosClc2 para calcular la suma Pos2 del numero de valores de serie decodificados en un bloque objetivo que se va a decodificar y el numero NZnum de los coeficientes no cero en el bloque objetivo.
45 Ademas, un decodificador de longitud variable VLD2 de la unidad de decodificacion por longitud de series RLD3 de acuerdo con la sexta realizacion es diferente del decodificador de longitud variable VLD en la unidad de decodificacion por longitud de series RLD2 de acuerdo con la cuarta realizacion en que se realiza un procedimiento de decodificacion para reconstituir un numero de codigo ExtCode y un procedimiento de decodificacion para reconstituir el numero codificado NZnum de los componentes no cero.
50
A continuacion, se describiran las funciones y efectos.
Las operaciones de la unidad de cuantificacion inversa IQ, la unidad de transformacion de frecuencia inversa ITrans, y la unidad de desbloqueo DeBlk en el aparato de decodificacion de imagenes 106 de acuerdo con la sexta 55 realizacion son las mismas como las del aparato de decodificacion de imagenes 104 de la cuarta realizacion. Ademas, las operaciones de los componentes de la unidad de decodificacion por longitud de series RLD3 de acuerdo con la sexta realizacion diferentes del decodificador de longitud variable VLD2, la calculadora de posicion PosClc2 y el transformador inverso de numero IcodeTrans, es decir, la unidad de reordenamiento inversa IReOdr, el detector de serie-nivel RunLevDec, el convertidor inverso de nivel ILevConv, el convertidor inverso de serie
IRunConv, y el escaner en zigzag inverso IScan son identicas a las de la unidad de decodificacion por longitud de series RLD2 de acuerdo con la cuarta realizacion. Por lo tanto, en lo sucesivo en este documento se describiran principalmente las operaciones del decodificador de longitud variable VLD2, la calculadora de posicion PosClc2, y el transformador inverso de numero ICodeTrans.
5
El decodificador de longitud variable VLD2 decodifica la corriente codificada Str3, y transmite un numero de codigo ExtCode correspondiente a una palabra de codigo (secuencia de bits) que compone la corriente codificada. El transformador inverso de numero ICodeTrans realiza una operacion inversa a la del transformador de numero CodeTrans en base a al menos el parametro de cuantificacion QP o la senal de seleccion de VLD VldSel, y la suma 10 Pos2 del numero de coeficientes decodificados y el numero de coeficientes no cero no decodificados, para dividir el numero de codigo ExtCode en un numero de codigo PrmCode correspondiente al par de dfgito superior de serie- nivel que comprende el valor de nivel Levi y el valor de serie Run1, un valor de nivel Lev2, y un valor de serie Run2.
La unidad de reordenamiento inversa IReOdr, el detector de serie-nivel RunLevDec, el convertidor inverso de serie 15 IRunConv, el convertidor inverso de nivel ILevConv, y el escaner en zigzag inverso IScan realizan las mismas operaciones que en la cuarta realizacion.
En este punto, el transformador inverso de numero ICodeTrans, la unidad de reordenamiento inversa IReOdr, el convertidor inverso de serie IRunConv, y el convertidor inverso de nivel ILevConv seleccionan una de las primera y 20 segunda tablas de codigos en base a al menos el parametro de cuantificacion QP o la senal de seleccion de VLD VldSel, y la suma Pos2 de coeficientes, y realizan las operaciones en base a la tabla de codigos seleccionada.
En lo sucesivo en este documento, se describira espedficamente la operacion del decodificador de longitud variable VLD2.
25
El decodificador de longitud variable VLD2 de acuerdo con la sexta realizacion es diferente del decodificador de longitud variable VLD de acuerdo con la cuarta realizacion porque no solo decodifica el numero de codigo ExtCode correspondiente al par de serie-nivel sino que tambien el numero codificado NZnum de los componentes no cero en el bloque objetivo. Cuando el numero NZnum de los componentes no cero se obtiene mediante la decodificacion, en 30 el momento en el que los pares de serie-nivel de NZnum se han decodificado, este par de serie-nivel de NZnum- esimo se determina que es el ultimo par de serie-nivel. Por consiguiente, el decodificador de longitud variable VLD2 no requiere un valor EOB que se requiere por el decodificador de longitud variable VLD y se codifica al final del bloque objetivo.
35 Por ejemplo, asumiendo que existen componentes cuantificados de NBlock QS en el bloque objetivo, incluyendo componentes cero y componentes no cero, el valor de serie maximo (el numero maximo de coeficientes cero que continuan sucesivamente) es (NBlock-NZnum) en base al numero NZnum de los coeficientes no cero en el bloque objetivo. Ademas, el valor de serie maximo (el numero maximo de coeficientes cero que continuan sucesivamente) MaxRun(1) en el momento en el que la decodificacion para reconstituir el primer par de serie-nivel se ha realizado es 40 (NBlock-NZnum-FRun) como se describe en la quinta realizacion.
Generalmente, el valor de serie maximo MaxRun(i) en el momento de la decodificacion para reconstituir un par de serie-nivel i-esimo en un bloque se ha realizado, se obtiene como se indica a continuacion:
45 MaxRun(i) = Nblock - Nznum - {la suma de los valores de serie i-esimo}
Por lo tanto, la calculadora de posicion PosClc2 transmite la suma Pos2 de coeficientes [=NZnum + {la suma de los valores de serie i-esimo}], indicando de esta manera al transformador numerico CodeTrans que el valor de serie maximo en el momento en el que la decodificacion para reconstituir un par de serie-nivel i-esimo se ha realizado es 50 (NBlock-Pos2).
El transformador inverso de numero ICodeTrans emplea una tabla de codigos en la que no se asigna ningun codigo a los numeros de codigo correspondientes a los pares de serie-nivel que comprenden valores de serie que son mas grandes que el valor de serie maximo Run, para obtener un numero de codigo ExtCode correspondiente a un 55 codigo, decodificando de esta manera un codigo que se asigna a un numero de codigo de acuerdo con la asignacion de codigos que evita la asignacion de codigos a los pares de serie-nivel.
En este punto, cuando se emplea una tabla de codigos de longitud variable que esta compuesta por la primera parte que puede generarse por una operacion aritmetica (VLC regularmente construido) y la segunda parte que no puede
generarse regularmente (tabla de ciclo de VLC) como las primera y segunda tablas de codigos en el procedimiento de decodificacion de longitud variable, la segunda tabla de codigos puede formarse cambiando tanto las primera y segunda partes en la primera tabla de codigos de acuerdo con el valor de serie maximo, mientras que la segunda tabla de codigos puede formarse cambiando solamente la primera parte de la primera tabla de codigos que puede 5 generarse por una aritmetica cuya operacion se realiza facilmente, de acuerdo con el valor de serie maximo.
Ademas, cuando se ha completado una tabla de codigos de longitud variable se cambia de acuerdo con el valor de serie maximo MaxRun en el momento de la decodificacion para la reconstitucion de un par de serie-nivel i-esimo, la tabla de codigos de longitud variable puede cambiarse directamente a la tabla de codigos Ta en la figura 24(a), la 10 tabla de codigos Tb en la figura 24(b), o la tabla de codigos Tc en la figura 24 (c), en lugar de cambiar la tabla de codigos a una en la que no se asigna ningun codigo a los pares de serie-nivel que comprenden valores de serie que son mayores que el valor de serie maximo MaxRun.
Por ejemplo, es preferible seleccionar la tabla de codigos Ta en la figura 24 (a) cuando el valor de serie maximo 15 MaxRun es mas pequeno, la tabla de codigos Tc en la figura 24 (c) cuando el valor de serie maximo MaxRun es mayor, y la tabla de codigos Tb en la figura 24 (b) cuando el valor de serie maximo MaxRun es un valor intermedio.
Como se ha descrito anteriormente, de acuerdo con la sexta realizacion, el aparato de decodificacion de imagenes 106 que reconstituye los coeficientes cuantificados que se obtienen cuantificando los componentes de frecuencia de 20 una senal de imagen por un procedimiento de decodificacion para datos codificados, se proporciona con la unidad de decodificacion por longitud de series RLD3 para obtener un coeficiente cuantificado correspondiente a un codigo de longitud variable empleando una tabla de codigos. Despues, esta unidad de decodificacion por longitud de series RLD3 selecciona una tabla de codigos que no incluye pares de serie-nivel que nunca apareceran, en base a la suma del numero de coeficientes procesados (coeficientes decodificados) en un bloque objetivo y el numero de 25 coeficientes no cero no decodificados en el bloque objetivo. Por lo tanto, puede realizarse satisfactoriamente un procedimiento de decodificacion correspondiente a un procedimiento de codificacion de longitud variable que puede eliminar mas eficazmente la informacion redundante incluida en los coeficientes cuantificados que se van a procesar.
De acuerdo con esta sexta realizacion, en la unidad de decodificacion por longitud de series que realiza la 30 decodificacion de longitud variable para componentes cuantificados de cada bloque usando pares de serie-nivel, el numero codificado NZnum de los componentes no cero en un bloque objetivo se decodifica. Sin embargo, es posible que, por ejemplo, en una unidad de decodificacion por longitud de series que somete los valores de serie y valores de nivel correspondientes a los componentes cuantificados de cada bloque por separado al procedimiento de decodificacion de longitud variable como en la segunda realizacion, el numero codificado NZnum de los 35 componentes no cero del bloque objetivo se decodifique. En este caso, se puede determinar que el valor de nivel de NZnum-esimo es el ultimo valor de nivel en el bloque objetivo, en el momento en el que los valores de nivel NZnum se han decodificado.
En cualquiera de las realizaciones que se han mencionado anteriormente, la tabla de codigos se cambia de acuerdo 40 con el parametro de cuantificacion QP, mientras que la tabla de codigos puede cambiarse de acuerdo con otro parametro. Por ejemplo, puede obtenerse recientemente otro parametro y expresamente conmutarse en cada bloque.
En las realizaciones que se han mencionado anteriormente, como un procedimiento para someter los coeficientes, 45 tales como componentes cuantificados a un procedimiento de codificacion (decodificacion) de longitud variable, se muestra un procedimiento en el que se emplea una tabla de VLC, y la tabla de VLC se cambia en base a al menos la informacion acerca de los coeficientes procesados que se han sometido al procedimiento de codificacion (decodificacion), o un parametro relacionado con la generacion de los coeficientes. Sin embargo, el procedimiento para la codificacion (decodificacion) de longitud variable de coeficientes, tales como componentes cuantificados de 50 acuerdo con la presente invencion no se limita a uno que use la tabla de VLC. Por ejemplo, el procedimiento para la codificacion de longitud variable de los componentes cuantificados como se describe en cualquiera de las primera, tercera y quinta realizaciones, puede ser un procedimiento de codificacion de longitud variable en el que no se emplee la tabla de VLC, y una tabla de codigos correspondiente a la tabla de VLC se cambia en base a al menos la informacion acerca de los coeficientes procesados, o el parametro relacionado con la generacion de los coeficientes. 55 Ademas, el procedimiento para la decodificacion de longitud variable de los datos codificados correspondientes a los componentes cuantificados de acuerdo con cualquiera de las segunda, cuarta y sexta realizaciones, puede ser un procedimiento de decodificacion de longitud variable por el que no se emplee la tabla de VLC, y una tabla de codigos correspondiente a la tabla de VLC se cambia en base de a al menos la informacion acerca de los coeficientes procesados, o el parametro relacionado con la generacion de los coeficientes.
El aparato de codificacion de imagenes que realiza un procedimiento de codificacion de longitud variable o el aparato de decodificacion de imagenes que realiza un procedimiento de decodificacion de longitud variable de acuerdo con cualquiera de las realizaciones que se han mencionando anteriormente, se implementa por hardware, 5 mientras que estos aparatos pueden implementarse por software. En este caso, cuando un programa para ejecutar el procedimiento de codificacion o decodificacion de longitud variable de acuerdo con cualquiera de las realizaciones que se han mencionado anteriormente se graba en un medio de almacenamiento de datos, tal como un disco flexible, el aparato de codificacion de imagenes o el aparato de decodificacion de imagenes de acuerdo con cualquiera de las realizaciones que se han mencionado anteriormente puede implementarse facilmente en un 10 sistema informatico independiente.
Las figuras 25 son diagramas para explicar un sistema informatico para ejecutar el procedimiento de codificacion de longitud variable de acuerdo con la primera, tercera o quinta modalidad, o el procedimiento de decodificacion de longitud variable de acuerdo con la segunda, cuarta o sexta realizacion.
15
La figura 25 (a) muestra una vista frontal de un disco flexible FD que es un medio que contiene un programa empleado en el sistema informatico, una vista en seccion transversal del mismo, y un cuerpo de disco flexible D. La figura 25(b) muestra un ejemplo de un formato ffsico del cuerpo de disco flexible D.
20 El disco flexible FD se compone del cuerpo de disco flexible D y una carcasa FC que contiene el cuerpo de disco flexible D. En la superficie del cuerpo de disco D, una pluralidad de pistas Tr se forman concentricamente desde la circunferencia externa del disco hacia la circunferencia interna. Cada pista se divide en 16 sectores Se en la direccion angular. Por lo tanto, en el disco flexible FD de acuerdo con el programa que se ha mencionado anteriormente, los datos del programa para ejecutar el procedimiento de codificacion de longitud variable o el 25 procedimiento de decodificacion de longitud variable se graban en las areas de almacenamiento asignadas (sectores) en el cuerpo de disco flexible D.
La figura 25(c) muestra la estructura para grabar o reproducir el programa en/desde el disco flexible FD. Cuando el programa se graba en el disco flexible FD, los datos del programa se escriben en el disco flexible FD del sistema 30 informatico Cs a traves de la unidad de disco flexible fDd. Cuando el aparato de codificacion de imagenes o el aparato de decodificacion de imagenes que se ha mencionado anteriormente se construye en el sistema informatico Cs mediante el programa grabado en el disco flexible FD, el programa se lee desde el disco flexible FD por la unidad de disco flexible FDD y despues se carga al sistema informatico Cs.
35 Aunque en la descripcion anterior se emplea un disco flexible como un medio de almacenamiento que contiene un programa para ejecutar el procedimiento de codificacion de longitud variable o el procedimiento de decodificacion de longitud variable, puede emplearse un disco optico como medio de almacenamiento. Ademas en este caso, el procedimiento de codificacion de longitud variable o el procedimiento de decodificacion de longitud variable pueden realizarse por software de manera similar como en el caso de usar un disco flexible. El medio de almacenamiento no 40 se limita a estos discos, y puede emplearse cualquier medio siempre que pueda contener el programa, por ejemplo, un CD-ROM, una tarjeta de memoria o un casete ROM. Ademas, cuando se emplea dicho medio de almacenamiento de datos, el procedimiento de codificacion de longitud variable o decodificacion de longitud variable puede realizarse por el sistema informatico de la misma manera como en el caso de usar el disco flexible.
45 En lo sucesivo en este documento, se describira las aplicaciones del procedimiento de codificacion de imagenes o procedimiento de decodificacion de imagenes de acuerdo con cualquiera de las realizaciones que se han mencionado anteriormente y sistemas que usan los mismos.
La figura 26 es un diagrama de bloques que ilustra una construccion completa de un sistema de provision de 50 contenido 1100 que realiza los servicios de distribucion de contenido.
Un area de provision de servicio de comunicaciones se divide en regiones (celdas) del tamano deseado, y las estaciones de base 1107 a 1110, que cada una es una estacion de radio fijas, se establecen en las respectivas celdas.
55
En este sistema de provision de contenidos 1100, diversos dispositivos, tales como un ordenador 1111, un PDA (asistente digital personal) 1112, una camara 1113, un telefono movil 1114, y un telefono movil con una camara 1200, estan conectados por ejemplo, a la Internet 1101 a traves de un proveedor de servicios de Internet 1102, una red telefonica 1104 y las estaciones de base 1107 a 1110.
Sin embargo, el sistema de provision de contenido 1100 no se limita a un sistema que incluye toda la pluralidad de dispositivos mostrados en la figura 26, pero puede ser uno que incluye algunos de la pluralidad de dispositivos mostrados en la figura 26. Ademas, los respectivos dispositivos pueden conectarse directamente a la red telefonica 5 1104, no a traves de las estaciones de base 1107 a 1l1o como las estaciones de radio fijas.
La camara 1113 es un dispositivo que puede captar imagenes en movimiento de un objeto, similar a una camara de video digital. El telefono movil puede ser un conjunto de telefono movil de acuerdo con cualquier sistema PDC (Comunicaciones Digitales Personales), sistema CDMA (Acceso Multiple de Division de Codigos), sistema W-CDMA 10 (Acceso Multiple de Division de Codigos de Banda Ancha), y sistema GSM (Sistema Global para Comunicaciones Moviles), o PHS (Sistema de Telefono Portatil Personal).
Un servidor de flujo continuo 1103 se conecta a la camara 1113 a traves de la estacion de base 1109 y la red telefonica 1104. En este sistema, puede realizarse la distribucion en vivo basada en los datos codificados que se 15 transmiten por un usuario que usa la camara 1113. El procedimiento de codificacion para los datos de las imagenes capturadas puede realizarse por la camara 1113 o el servidor que transmite los datos. Los datos de imagenes en movimiento, que se obtienen capturando imagenes en movimiento de un objeto por medio de la camara 116, pueden transmitirse al servidor de flujo continuo 1103 a traves del ordenador 1111. La camara 1116 es un dispositivo que puede capturar imagenes fijas o en movimiento de un objeto, tal como camara digital. En este caso, la codificacion 20 de los datos de imagenes en movimiento puede realizarse por la camara 1116 o el ordenador 1111. Ademas, el procedimiento de codificacion se realiza por una LSI 1117 incluida en el ordenador 1111 o la camara 1116.
El software de codificacion o decodificacion de imagenes puede almacenarse en un medio de almacenamiento (un CD-ROM, un disco flexible, un disco duro, o similar) que es un medio de grabacion que contiene datos legibles por el 25 ordenador 1111 o similares. Los datos de imagenes en movimiento pueden transmitirse a traves del telefono movil con una camara 1200. Los datos de imagenes en movimiento son datos que se han codificado por una LSI incluida en el telefono movil 1200.
En este sistema de provision de contenido 1100, el contenido correspondiente a las imagenes capturadas por el 30 usuario por medio de la camara 1113 o la camara 1116 (por ejemplo, video en vivo de un concierto de musica) se codifican en la camara de la misma manera que cualquiera de las realizaciones que se han mencionado anteriormente, y se transmiten de la camara al servidor de flujo continuo 1103. Los datos de contenidos se someten a la distribucion de flujo continuo desde el servidor de flujo continuo 1103 a un cliente solicitante.
35 El cliente puede ser cualquiera del ordenador 1111, el PDA 1112, la camara 1113, el telefono movil 1114 y similares, que pueden decodificar los datos codificados.
En este sistema de provision de contenidos 1100, los datos codificados pueden recibirse y reproducirse por parte del cliente. Cuando los datos se reciben, decodifican, y reproducen en tiempo real por parte del cliente, puede realizarse 40 la radiodifusion privada.
La codificacion o decodificacion en los respectivos dispositivos que constituyen este sistema puede realizarse usando el aparato de codificacion de imagenes o el aparato de decodificacion de imagenes de acuerdo con cualquiera de las realizacion que se han mencionado anteriormente.
45
Ahora se describira un telefono movil como un ejemplo del aparato de codificacion o decodificacion de imagen.
La figura 27 es un diagrama que ilustra un telefono movil 1200 que emplea el procedimiento de codificacion de imagenes y el procedimiento de decodificacion de imagenes de acuerdo con cualquiera de las realizaciones que se 50 han mencionado anteriormente.
Este telefono movil 1200 incluye una antena 1201 para transmitir/recibir ondas de radio a/desde la estacion de base 1110, una unidad de camara 1203 que puede captar imagenes fijas o de video de un objeto, tal como una camara CCD y una unidad de visualizacion 1202, tal como una pantalla de cristal liquido para visualizar los datos del video 55 captado por la unidad de camara 1203 o el video recibido a traves de la antena 1201.
El telefono movil 1200 incluye adicionalmente un cuerpo principal 1204 que incluye una pluralidad de teclas de control, una unidad de salida de voz 1208 para transmitir voces, tal como un altavoz, una unidad de entrada de voz 1205 para introducir voces, tal como un microfono, un medio de almacenamiento 1207 para retener los datos
codificados o los datos decodificados, tales como imagenes en movimiento o solo imagenes capturadas, o datos, datos de imagenes en movimiento o solo datos de imagenes de mensajes de correo electronico recibidos, y una unidad de ranura 1206 que permite que el medio de almacenamiento 1207 se introduzca en el telefono movil 1200.
5 El medio de almacenamiento 1207 tiene un elemento de memoria flash como un tipo de EEPROM (Memoria de Solo Lectura Programable y Borrable Electronicamente) que es una memoria no volatil borrable y programable electronicamente contenida en una carcasa de plastico, como una tarjeta SD.
El telefono movil 1200 se describira mas espedficamente con referencia a la figura 28.
10
El telefono movil 1200 tiene una unidad de control principal 1241 que realiza el control general de las respectivas unidades del cuerpo principal, incluyendo la unidad de visualizacion 1202 y las teclas de control 1204.
El telefono movil 1200 incluye adicionalmente un circuito de alimentacion 1240, una unidad de control de entrada de 15 operacion 1234, una unidad de codificacion de imagenes 1242, una unidad de interfaz de camara 1233, una unidad de control de LCD (Pantalla de Cristal Liquido) 1232, una unidad de decodificacion de imagenes 1239, una unidad de multiplexacion/desmultiplexacion 1238, una unidad de grabacion/reproduccion 1237, una unidad de modulacion/desmodulacion 1236, y una unidad de procesamiento de audio 1235. Las respectivas unidades del telefono movil 1200 se conectan entre sf a traves de un bus de sincronizacion 1250.
20
El circuito de alimentacion 1240 suministra energfa desde un paquete de batenas a las unidades respectivas cuando una tecla de final de llamada/suministro de energfa se enciende bajo el control de un usuario, activando de esta manera el telefono movil digital con una camara 1200 que se establece en un estado operable.
25 En el telefono movil 1200, las respectivas unidades operan bajo el control de la unidad de control principal 1241 que esta constituida por una CPU, una ROM, una RAM y similares. Para ser mas espedficos, en el telefono movil 1200, una senal de audio que se obtiene por la entrada de voz en la unidad de entrada de voz 1205 en un modo de comunicacion de voz, se convierte en datos de audio digital por la unidad de procesamiento de audio 1235. Los datos de audio digital se someten a un procedimiento de amplitud de espectro mediante el circuito de 30 modulacion/desmodulacion 1236, ademas se someten a un procedimiento de conversion DA y un procedimiento de transformacion de frecuencia por el circuito de transmision/recepcion 1231, y se transmiten a traves de la antena 1201.
En este aparato de telefono movil 1200, se amplifica una senal recibida a traves de la antena 1201 en el modo de 35 comunicacion de voz, y despues se somete a un procedimiento de transformacion de frecuencia y un procedimiento de conversion AD. La senal recibida se somete adicionalmente a un procedimiento de amplitud inversa de espectro en el circuito de modulacion/desmodulacion 1236, se convierte en una senal de audio analogica por la unidad de procesamiento de audio 1235, y esta senal de audio analogica se transmite a traves de la unidad de salida de voz 1208.
40
Cuando el telefono movil 1200 transmite un correo electronico en un modo de comunicacion de datos, los datos de texto del correo electronico que se introducen por la manipulacion de las teclas de control 1204 en el cuerpo principal se transmiten a la unidad de control principal 1241 a traves de la unidad de control de entrada de operacion 1234. La unidad de control principal 1241 controla las respectivas unidades de modo que los datos de texto se 45 someten al procedimiento de amplitud de espectro en el circuito de modulacion/desmodulacion 1236, despues se someten al procedimiento de conversion DA y el procedimiento de transformacion de frecuencia en el circuito de transmision/recepcion 1231, y despues se transmiten a la estacion de base 1110 a traves de la antena 1201.
Cuando este telefono movil 1200 transmite los datos de imagen en el modo de comunicacion, los datos de una 50 imagen captada por la unidad de camara 1203 se suministran a la unidad de codificacion de imagenes 1242 a traves de la unidad de interfaz de camara 1233. Cuando el telefono movil 1200 no transmite los datos de imagen, los datos de la imagen captada por la unidad de camara 1203 se pueden visualizar directamente en la unidad de visualizacion 1202 a traves de la unidad de interfaz de camara 1233 y la unidad de control de LCD 1232.
55 La unidad de codificacion de imagenes 1242 incluye el aparato de codificacion de imagenes de acuerdo con cualquiera de las realizaciones que se han mencionado anteriormente. Esta unidad de codificacion de imagenes 1242 codifica de manera compresiva los datos de imagen suministrados de la unidad de camara 1203 por el procedimiento de codificacion de imagenes de acuerdo con cualquiera de las realizaciones anteriores para convertir los mismos en datos de imagenes codificados, y transmite los datos de imagenes codificados obtenidos a la unidad
de multiplexacion/desmultiplexacion 1238. Al mismo tiempo, el telefono movil 1200 transmite voces que se introducen en la unidad de entrada de voz 1205 mientras que la imagen que se captura por la unidad de camara 1203, como datos de audio digital, a la unidad de multiplexacion/desmultiplexacion 1238 a traves de la unidad de procesamiento de audio 1235.
5
La unidad de multiplexacion/desmultiplexacion 1238 multiplexa los datos de imagen codificados suministrados de la unidad de codificacion de imagenes 1242 y los datos de audio suministrados de la unidad de procesamiento de audio 1235 por un procedimiento predeterminado. Los datos multiplexados resultantes se someten a un procedimiento de amplitud de espectro en el circuito de modulacion/desmodulacion 1236, despues se someten 10 adicionalmente al procedimiento de conversion DA y el procedimiento de transformacion de frecuencia en el circuito de transmision/recepcion 1231, y los datos obtenidos se transmiten a traves de la antena 1201.
Cuando el telefono movil 1200 recibe los datos de un archivo de imagenes en movimiento que se vincula a una pagina principal o similar en el modo de comunicacion de datos, una senal recibida de la estacion de base 1110 a 15 traves de la antena 1201 se somete a un procedimiento de amplitud inversa de espectro por el circuito de modulacion/desmodulacion 1236, y los datos multiplexados resultantes se transmiten a la unidad de multiplexacion/desmultiplexacion 1238.
Cuando los datos multiplexados que se reciben a traves de la antena 1201 se decodifican, la unidad de 20 multiplexacion/desmultiplexacion 1238 desmultiplexa los datos multiplexados para dividir los datos en una corriente de bits codificada correspondiente con los datos de imagen y una corriente de bits codificada correspondiente con los datos de audio, y los datos de imagen codificados se suministran a la unidad de decodificacion de imagenes 1239, y los datos de audio se suministran a la unidad de procesamiento de audio 1235, a traves del bus de sincronizacion 1250.
25
La unidad de decodificacion de imagenes 1239 incluye el aparato de decodificacion de imagenes de acuerdo con cualquiera de las realizaciones antes mencionadas. La unidad de decodificacion de imagenes 1239 decodifica la corriente de bits codificada de los datos de imagen por el procedimiento de decodificacion correspondiente al procedimiento de codificacion de acuerdo con cualquiera de las realizaciones que se han mencionado 30 anteriormente, para reproducir los datos de imagenes en movimiento, y suministra los datos reproducidos a la unidad de visualizacion 1202 a traves de la unidad de control de LCD 1232. Por lo cual, por ejemplo, se visualizan los datos de las imagenes en movimiento incluidos en el archivo de imagenes en movimiento que se vincula a la pagina principal. Al mismo tiempo, la unidad de procesamiento de audio 1235 convierte los datos de audio en una senal de audio analogica, y despues suministra la senal de audio analogica a la unidad de salida de voz 1208. Por lo cual, por 35 ejemplo, se reproducen los datos de audio incluidos en el archivo de imagenes en movimiento que se vincula a la pagina principal.
En este punto, un sistema al que es aplicable el procedimiento de codificacion de imagenes y el procedimiento de decodificacion de imagenes de acuerdo con cualquiera de las realizaciones que se han mencionado anteriormente, 40 no se limita al sistema de provision de contenidos que se ha mencionado anteriormente.
Recientemente, se ha discutido con frecuencia de la radiodifusion digital que usa ondas por satelite o terrestres, y el aparato de codificacion de imagenes y el aparato de decodificacion de imagenes de acuerdo con las realizaciones anteriores tambien son aplicables a un sistema de radiodifusion digital como se muestra en la figura 29.
45
Mas espedficamente, una corriente de bits codificada correspondiente a la informacion de video se transmite desde una estacion de radiodifusion 1409 a un satelite 1410, tal como un satelite de comunicaciones o un satelite de radiodifusion, a traves de comunicacion por radio. Cuando el satelite de radiodifusion 1410 recibe la corriente de bits codificada correspondiente a la informacion de video, el satelite 1410 produce las ondas de radiodifusion, y estas 50 ondas se reciben por una antena 1406 en el hogar que incluye la instalacion de recepcion de radiodifusion por satelite. Por ejemplo, un aparato, tal como una television (receptor) 1401 o un aparato que integra el convertidor y decodificador (STB) 1407 decodifica la corriente de bits codificada, y reproduce la informacion de video.
Ademas, el aparato de decodificacion de imagenes de acuerdo con cualquiera de las realizaciones que se han 55 mencionado anteriormente tambien puede montarse en un aparato de reproduccion 1403 que puede leer y decodificar la corriente de bits codificada grabada en un medio de almacenamiento 1402, tal como un CD o un DVD (medio de grabacion).
En este caso, una senal de video reproducida se visualiza en un monitor 1404. El aparato de decodificacion de
imagenes puede montarse en el aparato que integra el convertidor y decodificador 1407 que esta conectado a un cable para television por cable 1405 o una antena para radiodifusion por satelite/terrestre 1406, para reproducir una transmision del aparato de decodificacion de imagenes que se visualiza en un monitor 1408 de la television. En este caso, el aparato de decodificacion de imagenes no puede incorporarse en el aparato que integra el convertidor y 5 decodificador sino en la television. Un vehnculo 1412 que tiene una antena 1411 puede recibir una senal del satelite 1410 o la estacion de base 1107, y reproducir una imagen en movimiento para visualizar la misma en un dispositivo de visualizacion de un sistema de navegacion de automoviles 1413 o similar que esta montado en el vetnculo 1412.
Ademas, tambien es posible que una senal de imagen pueda codificarse por el aparato de codificacion de imagenes 10 de acuerdo con cualquiera de las realizaciones que se han mencionado anteriormente y grabarse en un medio de grabacion.
Un ejemplo espedfico de un dispositivo de grabacion es un grabador 1420, tal como una grabadora de DVD que graba senales de imagen en un disco DVD 1421, y una grabadora de disco que graba senales de imagen en un 15 disco duro. Las senales de imagen pueden grabarse en una tarjeta SD 1422. Ademas, cuando la grabadora 1420 incluye el aparato de decodificacion de imagenes de acuerdo con cualquiera de las realizaciones que se han mencionado anteriormente, las senales de imagen que se graban en el disco DVD 1421 o la tarjeta SD 1422 pueden reproducirse por la grabadora 1420 y se visualizan en el monitor 1408.
20 En este punto, la estructura del sistema de navegacion de automoviles 1413 puede incluir, por ejemplo, los
componentes del telefono movil mostrado en la figura 28 diferentes de la unidad de camara 1203, la unidad de
interfaz de camara 1233 y la unidad de codificacion de imagenes 1242, y lo mismo se aplica para el ordenador 1111, o la television (receptor) 1401.
25 Ademas, como terminal, tal como el telefono movil 1114, puede montarse uno de los tres tipos de terminales: una terminal de tipo transmision-recepcion que tiene tanto un codificador como un decodificador, una terminal de transmision que tiene solamente un codificador, y una terminal de recepcion que tiene solamente un decodificador.
Como se ha descrito anteriormente, el procedimiento de codificacion de imagenes o el procedimiento de
30 decodificacion de imagenes de acuerdo con cualquiera de las realizaciones que se han mencionado anteriormente
es aplicable a cualquiera de los dispositivos o sistemas que se han mencionado anteriormente, por lo que pueden obtenerse los efectos que se han descrito en las realizaciones anteriores.
Aplicacion industrial
35
El procedimiento de codificacion de longitud variable y el procedimiento de decodificacion de longitud variable de acuerdo con la presente invencion eliminan de forma eficaz la informacion redundante incluida en los datos de coeficiente como un objetivo de un procedimiento de codificacion de longitud variable, seleccionando una tabla de codigos de forma adaptable a las caractensticas de los coeficientes que componen los datos de coeficientes o 40 estados de un procedimiento de codificacion para los coeficientes, mejorando de esta manera en gran medida la eficiencia de la codificacion de un procedimiento de codificacion de longitud variable para senales de imagen o similares. Estos procedimientos de codificacion de longitud variable y procedimiento de decodificacion de longitud variable son utiles en el procesamiento de datos para transmitir o almacenar datos de imagenes en movimiento.
Claims (2)
- REIVINDICACIONES1. Un metodo para decodificar datos codificados de una imagen de bloque, incluyendo los datos codificados un valor de serie codificado y un valor de nivel codificado, donde el valor de serie codificado se obtiene5 por codificacion de longitud variable de un valor de serie que indica el numero de coeficientes cuantificados sucesivos, cada uno con un valor cero, y el valor de nivel codificado se obtiene por codificacion de longitud variable de un valor de nivel que indica un valor de un coeficiente cuantificado que tiene un valor no cero seguido de coeficientes cuantificados que tienen valores cero;10 caracterizado por que el metodo comprende:recibir los datos codificados;la decodificacion de longitud variable del valor de serie codificado para obtener un valor de serie decodificado;15decodificacion de longitud variable del valor de nivel codificado para obtener un valor de nivel decodificado; yobtener coeficientes cuantificados de la imagen de bloque del valor de nivel decodificado y el valor de serie decodificado,20donde la decodificacion del valor de serie codificado se realiza desde un componente de alta frecuencia hacia un componente de baja frecuencia usando varias tablas de codigos, donde una tabla de codigos de la pluralidad de tablas de codigos se selecciona de acuerdo con informacion que representa un numero total de coeficientes de valor cero no decodificados que no se han decodificado.25
- 2. Un aparato de decodificacion para decodificar datos codificados de una imagen de bloque, incluyendo los datos codificados un valor de serie codificado y un valor de nivel codificado, donde el valor de serie codificado se obtiene por la codificacion de longitud variable de un valor de serie que indica el numero de coeficientes cuantificados sucesivos, cada uno con un valor cero, y el valor de nivel codificado se obtiene por codificacion de30 longitud variable de un valor de nivel que indica un valor de un coeficiente cuantificado que tiene un valor no cero seguido de coeficientes cuantificados que tienen valores cero;caracterizado por que dicho aparato de decodificacion comprende:35 una unidad operativa para recibir los datos codificados;una unidad operativa para la decodificacion de longitud variable del valor de serie codificado para obtener un valor de serie decodificado;40 una unidad operativa para la decodificacion de longitud variable del valor de nivel codificado para obtener un valor de nivel decodificado; yuna unidad operativa para obtener coeficientes cuantificados de la imagen de bloque del valor de nivel decodificado y el valor de serie decodificado,45donde la decodificacion del valor de serie codificado se realiza desde un componente de alta frecuencia hacia un componente de baja frecuencia usando una pluralidad de tablas de codigos, donde una tabla de codigos de la pluralidad de tablas de codigos se selecciona de acuerdo con informacion que representa un numero total de coeficientes de valor cero no decodificados que no se han decodificado.
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001358197 | 2001-11-22 | ||
JP2001358197 | 2001-11-22 | ||
JP2002099227 | 2002-04-01 | ||
JP2002099227 | 2002-04-01 |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2599624T3 true ES2599624T3 (es) | 2017-02-02 |
Family
ID=26624666
Family Applications (6)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES02803564T Expired - Lifetime ES2373944T3 (es) | 2001-11-22 | 2002-11-22 | Procedimiento de codificación de longitud variable y procedimiento de decodificación de longitud variable. |
ES16175243T Expired - Lifetime ES2752804T3 (es) | 2001-11-22 | 2002-11-22 | Procedimiento de codificación de longitud variable y procedimiento de decodificación de longitud variable |
ES16175245T Expired - Lifetime ES2741562T3 (es) | 2001-11-22 | 2002-11-22 | Procedimiento de codificación de longitud variable y procedimiento de decodificación de longitud variable |
ES16175248T Expired - Lifetime ES2741563T3 (es) | 2001-11-22 | 2002-11-22 | Procedimiento de codificación de longitud variable y procedimiento de decodificación de longitud variable |
ES10180714.7T Expired - Lifetime ES2599624T3 (es) | 2001-11-22 | 2002-11-22 | Procedimiento de codificación de longitud variable y procedimiento de decodificación de longitud variable |
ES10180698.2T Expired - Lifetime ES2587022T3 (es) | 2001-11-22 | 2002-11-22 | Procedimiento de codificación de longitud variable y procedimiento de decodificación de longitud variable |
Family Applications Before (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES02803564T Expired - Lifetime ES2373944T3 (es) | 2001-11-22 | 2002-11-22 | Procedimiento de codificación de longitud variable y procedimiento de decodificación de longitud variable. |
ES16175243T Expired - Lifetime ES2752804T3 (es) | 2001-11-22 | 2002-11-22 | Procedimiento de codificación de longitud variable y procedimiento de decodificación de longitud variable |
ES16175245T Expired - Lifetime ES2741562T3 (es) | 2001-11-22 | 2002-11-22 | Procedimiento de codificación de longitud variable y procedimiento de decodificación de longitud variable |
ES16175248T Expired - Lifetime ES2741563T3 (es) | 2001-11-22 | 2002-11-22 | Procedimiento de codificación de longitud variable y procedimiento de decodificación de longitud variable |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES10180698.2T Expired - Lifetime ES2587022T3 (es) | 2001-11-22 | 2002-11-22 | Procedimiento de codificación de longitud variable y procedimiento de decodificación de longitud variable |
Country Status (14)
Country | Link |
---|---|
US (16) | US6967600B2 (es) |
EP (7) | EP3099068B1 (es) |
JP (7) | JP4158995B1 (es) |
KR (16) | KR100993443B1 (es) |
CN (3) | CN1301014C (es) |
AT (1) | ATE528924T1 (es) |
AU (5) | AU2002357584B2 (es) |
BR (3) | BR0206628A (es) |
CA (2) | CA2450360C (es) |
DK (3) | DK1413139T3 (es) |
ES (6) | ES2373944T3 (es) |
MX (2) | MXPA04000912A (es) |
PT (3) | PT2268033T (es) |
WO (2) | WO2003045065A2 (es) |
Families Citing this family (83)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
MXPA04000912A (es) | 2001-11-22 | 2004-04-02 | Matsushita Electric Ind Co Ltd | Metodo de codificacion de longitud variable y metodo de decodificacion de longitud variable. |
JP4368575B2 (ja) * | 2002-04-19 | 2009-11-18 | パナソニック株式会社 | 可変長復号化方法、可変長復号化装置およびプログラム |
ES2378462T3 (es) | 2002-09-04 | 2012-04-12 | Microsoft Corporation | Codificación entrópica por adaptación de codificación entre modalidades de nivel y de longitud/nivel de cadencia |
US7133523B2 (en) * | 2002-12-20 | 2006-11-07 | Pitney Bowes Inc. | Method and system for solving the word problem in braid group cryptosystems |
CN1214649C (zh) * | 2003-09-18 | 2005-08-10 | 中国科学院计算技术研究所 | 用于视频预测残差系数编码的熵编码方法 |
US7522774B2 (en) * | 2004-03-10 | 2009-04-21 | Sindhara Supermedia, Inc. | Methods and apparatuses for compressing digital image data |
US7519229B2 (en) * | 2004-03-30 | 2009-04-14 | Apple, Inc. | Video coding system providing separate coding chains for dynamically selected small-size or full-size playback |
JP2005333609A (ja) * | 2004-04-22 | 2005-12-02 | Sanyo Electric Co Ltd | 符号化制御回路及び符号化回路 |
ATE532270T1 (de) * | 2004-07-14 | 2011-11-15 | Slipstream Data Inc | Verfahren, system und computerprogramm für die optimierung von datenkomprimierung |
CN101032081B (zh) * | 2004-07-14 | 2010-05-26 | 喷流数据有限公司 | 用于数据压缩优化的方法和系统 |
US7570827B2 (en) * | 2004-07-14 | 2009-08-04 | Slipstream Data Inc. | Method, system and computer program product for optimization of data compression with cost function |
JP3990392B2 (ja) * | 2004-08-31 | 2007-10-10 | 松下電器産業株式会社 | 可変長復号化装置、可変長復号化方法および撮像システム |
US7209059B2 (en) * | 2004-12-06 | 2007-04-24 | Matsushita Electric Industrial Co., Ltd. | Decoding method and encoding method |
US8599925B2 (en) | 2005-08-12 | 2013-12-03 | Microsoft Corporation | Efficient coding and decoding of transform blocks |
JP4682102B2 (ja) | 2005-09-02 | 2011-05-11 | キヤノン株式会社 | 画像符号化装置及び画像符号化方法 |
JP4548348B2 (ja) * | 2006-01-18 | 2010-09-22 | カシオ計算機株式会社 | 音声符号化装置及び音声符号化方法 |
JP4749195B2 (ja) | 2006-03-28 | 2011-08-17 | 京セラ株式会社 | 通信制御装置、無線通信装置、通信制御方法及び無線通信方法 |
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 |
JP2007329903A (ja) * | 2006-05-11 | 2007-12-20 | Matsushita Electric Ind Co Ltd | 可変長復号化装置、可変長復号化方法および撮像システム |
US7324026B2 (en) * | 2006-05-19 | 2008-01-29 | Nvidia Corporation | Optimization of decoder memory usage for VLC tables |
US7884742B2 (en) * | 2006-06-08 | 2011-02-08 | Nvidia Corporation | System and method for efficient compression of digital data |
EP2067356A1 (en) * | 2006-09-28 | 2009-06-10 | THOMSON Licensing | Flexible redundancy coding |
US7796825B2 (en) * | 2007-02-16 | 2010-09-14 | Cisco Technology, Inc. | Losslessly improving compression of compressed image data |
US7774205B2 (en) * | 2007-06-15 | 2010-08-10 | Microsoft Corporation | Coding of sparse digital media spectral data |
CN101106715B (zh) * | 2007-07-26 | 2012-08-29 | 昊迪移通(北京)技术有限公司 | 一种视频带宽适配方法及装置 |
NO20074463A (no) * | 2007-09-03 | 2009-02-02 | Tandberg Telecom As | Metode for entropikoding av transformasjonskoeffisienter i videokomprimeringssystemer |
US8031959B2 (en) * | 2008-02-22 | 2011-10-04 | Himax Technologies Limited | Compression system for a bit-plane |
US8902972B2 (en) * | 2008-04-11 | 2014-12-02 | Qualcomm Incorporated | Rate-distortion quantization for context-adaptive variable length coding (CAVLC) |
US8179974B2 (en) * | 2008-05-02 | 2012-05-15 | Microsoft Corporation | Multi-level representation of reordered transform coefficients |
US20090304073A1 (en) * | 2008-06-06 | 2009-12-10 | Mohammad Usman | Systems and Methods for the Bandwidth Efficient Processing of Data |
JPWO2009157581A1 (ja) * | 2008-06-27 | 2011-12-15 | ソニー株式会社 | 画像処理装置及び画像処理方法 |
KR101501568B1 (ko) * | 2008-07-04 | 2015-03-12 | 에스케이 텔레콤주식회사 | 영상 부호화 및 복호화 장치 및, 방법 |
US7791509B2 (en) * | 2008-07-15 | 2010-09-07 | International Business Machines Corporation | Preprocessing variable-length code (VLC) bitstream information |
US7777653B2 (en) * | 2008-07-15 | 2010-08-17 | International Business Machines Corporation | Decoding variable-length code (VLC) bitstream information |
US8406307B2 (en) | 2008-08-22 | 2013-03-26 | Microsoft Corporation | Entropy coding/decoding of hierarchically organized data |
TWI482499B (zh) * | 2008-10-03 | 2015-04-21 | Ind Tech Res Inst | 影像訊號處理裝置和方法 |
AU2009324014A1 (en) * | 2008-12-03 | 2011-06-23 | Nokia Corporation | Switching between DCT coefficient coding modes |
US8676775B2 (en) * | 2008-12-12 | 2014-03-18 | At&T Intellectual Property I, L.P. | Support 3-screen user experience in the context of a services marketplace |
JP5490404B2 (ja) * | 2008-12-25 | 2014-05-14 | シャープ株式会社 | 画像復号装置 |
EP2395755A4 (en) | 2009-02-09 | 2015-01-07 | Samsung Electronics Co Ltd | VIDEO PROCESSING AND DEVICE WITH LOW-COMPLEX FREQUENCY CONVERSION AND VIDEO PROCESSING AND DEVICE |
WO2010133763A1 (en) * | 2009-05-19 | 2010-11-25 | Nokia Corporation | Method for variable length coding and apparatus |
JP5492206B2 (ja) | 2009-07-27 | 2014-05-14 | 株式会社東芝 | 画像符号化方法および画像復号方法、ならびに、画像符号化装置および画像復号装置 |
US20110158310A1 (en) * | 2009-12-30 | 2011-06-30 | Nvidia Corporation | Decoding data using lookup tables |
TWI415397B (zh) * | 2010-05-19 | 2013-11-11 | Mstar Semiconductor Inc | 媒體編碼系統、量化係數編碼裝置及量化係數編碼方法 |
JP2012010263A (ja) * | 2010-06-28 | 2012-01-12 | Sony Corp | 符号化装置、撮像装置、符号化伝送システムおよび符号化方法 |
US20120147947A1 (en) * | 2010-12-08 | 2012-06-14 | Qualcomm Incorporated | Codeword adaptation for variable length coding |
US9338449B2 (en) | 2011-03-08 | 2016-05-10 | Qualcomm Incorporated | Harmonized scan order for coding transform coefficients in video coding |
JP2012253420A (ja) * | 2011-05-31 | 2012-12-20 | Toshiba Corp | 可変長符号復号装置、復号システムおよび可変長符号復号方法 |
KR101943425B1 (ko) * | 2011-06-30 | 2019-01-30 | 에스케이 텔레콤주식회사 | 비균등 양자화를 이용한 효과적인 부호화/복호화 방법 및 장치 |
JP5685683B2 (ja) * | 2011-10-28 | 2015-03-18 | 株式会社Gnzo | バイトアラインメント装置及びバイトアラインメント方法 |
US20130114687A1 (en) * | 2011-11-07 | 2013-05-09 | Sharp Laboratories Of America, Inc. | Fixed intra run-level mode for cavlc in hevc |
WO2013077108A1 (ja) * | 2011-11-24 | 2013-05-30 | タツタ電線株式会社 | シールドフィルム、シールドプリント配線板、及び、シールドフィルムの製造方法 |
US9654139B2 (en) | 2012-01-19 | 2017-05-16 | Huawei Technologies Co., Ltd. | High throughput binarization (HTB) method for CABAC in HEVC |
US9860527B2 (en) | 2012-01-19 | 2018-01-02 | Huawei Technologies Co., Ltd. | High throughput residual coding for a transform skipped block for CABAC in HEVC |
US9743116B2 (en) | 2012-01-19 | 2017-08-22 | Huawei Technologies Co., Ltd. | High throughput coding for CABAC in HEVC |
US10616581B2 (en) | 2012-01-19 | 2020-04-07 | Huawei Technologies Co., Ltd. | Modified coding for a transform skipped block for CABAC in HEVC |
US20130188736A1 (en) * | 2012-01-19 | 2013-07-25 | Sharp Laboratories Of America, Inc. | High throughput significance map processing for cabac in hevc |
PL3910947T3 (pl) | 2012-03-26 | 2023-12-27 | JVC Kenwood Corporation | Urządzenie do dekodowania obrazu, sposób dekodowania obrazu i program do dekodowania obrazu |
US9386326B2 (en) | 2012-10-05 | 2016-07-05 | Nvidia Corporation | Video decoding error concealment techniques |
JP6213879B2 (ja) * | 2012-12-17 | 2017-10-18 | パナソニックIpマネジメント株式会社 | 情報処理装置および制御方法 |
WO2014110652A1 (en) * | 2013-01-16 | 2014-07-24 | Blackberry Limited | Context determination for entropy coding of run-length encoded transform coefficients |
US9160363B2 (en) * | 2014-02-27 | 2015-10-13 | Samsung Display Co., Ltd. | Run length encoding with non-sequential input |
US10750198B2 (en) | 2014-05-22 | 2020-08-18 | Qualcomm Incorporated | Maximum palette parameters in palette-based video coding |
US10264285B2 (en) * | 2014-05-22 | 2019-04-16 | Qualcomm Incorporated | Coding runs in palette-based video coding |
JP6512928B2 (ja) * | 2015-04-28 | 2019-05-15 | キヤノン株式会社 | 画像符号化装置、画像処理装置、画像符号化方法 |
JP6502739B2 (ja) | 2015-04-28 | 2019-04-17 | キヤノン株式会社 | 画像符号化装置、画像処理装置、画像符号化方法 |
US10171810B2 (en) | 2015-06-22 | 2019-01-01 | Cisco Technology, Inc. | Transform coefficient coding using level-mode and run-mode |
KR101746799B1 (ko) | 2015-11-04 | 2017-06-14 | 주식회사 쏠리드 | 분산 안테나 시스템 |
US10063892B2 (en) * | 2015-12-10 | 2018-08-28 | Adobe Systems Incorporated | Residual entropy compression for cloud-based video applications |
US10264262B2 (en) | 2016-02-29 | 2019-04-16 | Adobe Inc. | Codebook generation for cloud-based video applications |
WO2018173862A1 (ja) * | 2017-03-21 | 2018-09-27 | シャープ株式会社 | 画像復号装置及び画像符号化装置 |
JP6787231B2 (ja) * | 2017-04-04 | 2020-11-18 | 富士通株式会社 | データ処理プログラム、データ処理方法およびデータ処理装置 |
CN106941610B (zh) * | 2017-04-25 | 2019-12-24 | 西安电子科技大学 | 基于改进方块编码的二值roi掩模编码方法 |
US11086843B2 (en) | 2017-10-19 | 2021-08-10 | Adobe Inc. | Embedding codebooks for resource optimization |
US10942914B2 (en) | 2017-10-19 | 2021-03-09 | Adobe Inc. | Latency optimization for digital asset compression |
US11120363B2 (en) | 2017-10-19 | 2021-09-14 | Adobe Inc. | Latency mitigation for encoding data |
US11044495B1 (en) | 2018-02-13 | 2021-06-22 | Cyborg Inc. | Systems and methods for variable length codeword based data encoding and decoding using dynamic memory allocation |
US10491240B1 (en) * | 2019-01-17 | 2019-11-26 | Cyborg Inc. | Systems and methods for variable length codeword based, hybrid data encoding and decoding using dynamic memory allocation |
KR101997599B1 (ko) * | 2019-01-22 | 2019-07-08 | 에스케이 텔레콤주식회사 | 비균등 양자화를 이용한 효과적인 부호화/복호화 방법 및 장치 |
CN110545437B (zh) * | 2019-08-30 | 2021-07-20 | 北京大学 | 系数编码、解码方法、电子设备及介质 |
JP2021177628A (ja) * | 2020-05-07 | 2021-11-11 | ブラックマジック デザイン ピーティーワイ リミテッドBlackmagic Design Pty Ltd | 変換係数処理方法 |
CN117097906B (zh) * | 2023-10-20 | 2023-12-26 | 河北天英软件科技有限公司 | 一种区域医疗资源高效利用的方法及系统 |
Family Cites Families (84)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
LU42775A1 (es) * | 1962-11-28 | 1964-05-28 | ||
JPH03285460A (ja) | 1990-04-02 | 1991-12-16 | Fuji Facom Corp | 画像データ圧縮符号化方式 |
DE69132076T2 (de) | 1990-12-28 | 2000-08-24 | Canon K.K., Tokio/Tokyo | Vorrichtung zur Bildverarbeitung |
US5230938A (en) * | 1991-03-11 | 1993-07-27 | Moore Business Forms, Inc. | Protected fold and seal label for demand printing |
US5838834A (en) * | 1991-11-07 | 1998-11-17 | Canon Kabushiki Kaisha | Image processing apparatus and method for quantizing image data and quantization errors using single quantizing unit and pluralities of quantization tables |
US5233348A (en) * | 1992-03-26 | 1993-08-03 | General Instrument Corporation | Variable length code word decoder for use in digital communication systems |
KR0162197B1 (ko) * | 1992-05-30 | 1998-12-15 | 강진구 | 영상데이타의 가변장부호와/복호화방법 및 장치 |
GB2268667B (en) * | 1992-06-24 | 1995-11-08 | Sony Broadcast & Communication | Serial data decoding |
JPH0621830A (ja) * | 1992-06-30 | 1994-01-28 | Sony Corp | 2次元ハフマン符号化方法 |
US5821885A (en) * | 1994-07-29 | 1998-10-13 | Discovision Associates | Video decompression |
US5325092A (en) * | 1992-07-07 | 1994-06-28 | Ricoh Company, Ltd. | Huffman decoder architecture for high speed operation and reduced memory |
KR950010913B1 (ko) | 1992-07-23 | 1995-09-25 | 삼성전자주식회사 | 가변장부호화 및 복호화시스템 |
KR940017747A (ko) * | 1992-12-29 | 1994-07-27 | 에프. 제이. 스미트 | 영상 처리 디바이스 |
US5400075A (en) * | 1993-01-13 | 1995-03-21 | Thomson Consumer Electronics, Inc. | Adaptive variable length encoder/decoder |
JPH06237184A (ja) * | 1993-02-10 | 1994-08-23 | Fujitsu Ltd | 可変長符号化回路 |
US5381145A (en) * | 1993-02-10 | 1995-01-10 | Ricoh Corporation | Method and apparatus for parallel decoding and encoding of data |
US5583500A (en) * | 1993-02-10 | 1996-12-10 | Ricoh Corporation | Method and apparatus for parallel encoding and decoding of data |
US5717394A (en) * | 1993-02-10 | 1998-02-10 | Ricoh Company Ltd. | Method and apparatus for encoding and decoding data |
US5861921A (en) * | 1993-03-29 | 1999-01-19 | Canon Kabushiki Kaisha | Controlling quantization parameters based on code amount |
JPH0766982A (ja) | 1993-08-26 | 1995-03-10 | Canon Inc | 符号量制御装置 |
JP3382292B2 (ja) | 1993-04-22 | 2003-03-04 | キヤノン株式会社 | 画像符号化装置及びその方法 |
JPH079088A (ja) | 1993-06-28 | 1995-01-13 | Sumitomo Heavy Ind Ltd | 小ロット生産用連続鋳造設備による鋳片の製造法 |
JP3210996B2 (ja) * | 1993-07-30 | 2001-09-25 | 三菱電機株式会社 | 高能率符号化装置及び高能率復号化装置 |
JPH0766882A (ja) | 1993-08-23 | 1995-03-10 | Matsushita Electric Works Ltd | インターホンシステム |
JPH07143488A (ja) * | 1993-11-19 | 1995-06-02 | Fujitsu Ltd | 画像データ復号化方法および装置 |
US5479527A (en) * | 1993-12-08 | 1995-12-26 | Industrial Technology Research Inst. | Variable length coding system |
KR0155784B1 (ko) * | 1993-12-16 | 1998-12-15 | 김광호 | 영상데이타의 적응형 가변장 부호화/복호화방법 |
KR970009408B1 (ko) * | 1994-01-18 | 1997-06-13 | 대우전자 주식회사 | 인터/인트라 테이블 선택 회로 |
KR0148151B1 (ko) * | 1994-05-11 | 1998-09-15 | 김광호 | 개선된 차분동부호테이블을 이용한 차분동벡터값의 가변장부호화방법 및 그 장치 |
JP3220598B2 (ja) * | 1994-08-31 | 2001-10-22 | 三菱電機株式会社 | 可変長符号テーブルおよび可変長符号化装置 |
KR0147948B1 (ko) * | 1994-09-15 | 1998-09-15 | 배순훈 | 영상 부호화장치 |
US6141446A (en) * | 1994-09-21 | 2000-10-31 | Ricoh Company, Ltd. | Compression and decompression system with reversible wavelets and lossy reconstruction |
US6549666B1 (en) * | 1994-09-21 | 2003-04-15 | Ricoh Company, Ltd | Reversible embedded wavelet system implementation |
CA2156889C (en) | 1994-09-30 | 1999-11-02 | Edward L. Schwartz | Method and apparatus for encoding and decoding data |
JP3144456B2 (ja) | 1995-01-20 | 2001-03-12 | 三菱自動車工業株式会社 | 助手席エアバッグモジュールのリアクションカン構造 |
JP3285460B2 (ja) | 1995-01-31 | 2002-05-27 | 株式会社ケット科学研究所 | 近赤外成分分析器の光源装置 |
KR100209410B1 (ko) * | 1995-03-28 | 1999-07-15 | 전주범 | 영상 신호 부호화 장치 |
US5740283A (en) * | 1995-07-06 | 1998-04-14 | Rubin, Bednarek & Associates, Inc. | Digital video compression utilizing mixed vector and scalar outputs |
US5812788A (en) * | 1995-07-21 | 1998-09-22 | Intel Corporation | Encoding/decoding video signals using quantization tables based on explicitly encoded base and scale matrices |
JP3883618B2 (ja) * | 1995-10-26 | 2007-02-21 | 株式会社ハイニックスセミコンダクター | データ圧縮方法 |
US5835145A (en) * | 1996-01-19 | 1998-11-10 | Lsi Logic Corporation | Conversion system using programmable tables for compressing transform coefficients |
JP3141149B2 (ja) | 1996-04-26 | 2001-03-05 | 株式会社日立製作所 | 画像符号化装置 |
CN1183769C (zh) * | 1996-05-28 | 2005-01-05 | 松下电器产业株式会社 | 图像预测编码/解码装置和方法以及记录媒体 |
US5825312A (en) * | 1996-11-25 | 1998-10-20 | Xerox Corporation | DX JPEG Huffman decoder |
US5995148A (en) * | 1997-02-14 | 1999-11-30 | At&T Corp | Video coder having scalar dependent variable length coder |
JPH10271017A (ja) | 1997-03-27 | 1998-10-09 | Kawasaki Steel Corp | 符号量制御装置 |
JP3189876B2 (ja) * | 1997-06-09 | 2001-07-16 | 日本電気株式会社 | 可変長符号復号化回路 |
US6151075A (en) * | 1997-06-11 | 2000-11-21 | Lg Electronics Inc. | Device and method for converting frame rate |
FI107496B (fi) * | 1997-07-18 | 2001-08-15 | Nokia Mobile Phones Ltd | Kuvan kompressointi |
US6016111A (en) * | 1997-07-31 | 2000-01-18 | Samsung Electronics Co., Ltd. | Digital data coding/decoding method and apparatus |
KR19990036476A (ko) * | 1998-04-28 | 1999-05-25 | 백정한 | 가변양자의 부호화를 이용한 화상압축방법및 그 장치 |
US6477280B1 (en) * | 1999-03-26 | 2002-11-05 | Microsoft Corporation | Lossless adaptive encoding of finite alphabet data |
US6241778B1 (en) * | 1999-06-18 | 2001-06-05 | Lucent Technologies Inc. | Methods and apparatus for implementing run-length limited and maximum transition run codes |
JP2001025053A (ja) * | 1999-07-09 | 2001-01-26 | Mitsubishi Electric Corp | 携帯電話のメモリシステム |
AUPQ668500A0 (en) * | 2000-04-04 | 2000-05-04 | Canon Kabushiki Kaisha | Accessing items of information |
AU769072B2 (en) | 2000-04-04 | 2004-01-15 | Canon Kabushiki Kaisha | Accessing items of information |
JP4109404B2 (ja) * | 2000-04-26 | 2008-07-02 | 松下電器産業株式会社 | 符号化装置および符号化方法 |
US6731814B2 (en) * | 2000-05-01 | 2004-05-04 | Xerox Corporation | Method for compressing digital documents with control of image quality and compression rate |
US6912070B1 (en) * | 2000-08-08 | 2005-06-28 | Qualcomm, Inc. | Sub-optimal variable length coding |
US6661355B2 (en) * | 2000-12-27 | 2003-12-09 | Apple Computer, Inc. | Methods and apparatus for constant-weight encoding & decoding |
US6757429B2 (en) * | 2001-02-21 | 2004-06-29 | Boly Media Communications Inc. | Method of compressing digital images |
US20030012287A1 (en) * | 2001-03-05 | 2003-01-16 | Ioannis Katsavounidis | Systems and methods for decoding of systematic forward error correction (FEC) codes of selected data in a video bitstream |
US6763070B1 (en) | 2001-05-29 | 2004-07-13 | Cisco Technology, Inc. | Methods and apparatus for selecting a cut-off index |
US7046852B2 (en) * | 2001-09-13 | 2006-05-16 | Sharp Laboratories Of America, Inc. | Fast image decompression via look up table |
US6856701B2 (en) * | 2001-09-14 | 2005-02-15 | Nokia Corporation | Method and system for context-based adaptive binary arithmetic coding |
MXPA04000912A (es) * | 2001-11-22 | 2004-04-02 | Matsushita Electric Ind Co Ltd | Metodo de codificacion de longitud variable y metodo de decodificacion de longitud variable. |
CN101448162B (zh) | 2001-12-17 | 2013-01-02 | 微软公司 | 处理视频图像的方法 |
US6690307B2 (en) * | 2002-01-22 | 2004-02-10 | Nokia Corporation | Adaptive variable length coding of digital video |
US6823015B2 (en) * | 2002-01-23 | 2004-11-23 | International Business Machines Corporation | Macroblock coding using luminance date in analyzing temporal redundancy of picture, biased by chrominance data |
US7206448B2 (en) | 2002-02-28 | 2007-04-17 | At&T Corp. | System and method for using pattern vectors for video and image coding and decoding |
US6717394B2 (en) * | 2002-03-21 | 2004-04-06 | Eaton Corporation | Method and apparatus for determining frequency of an alternating current signal of an electric power system |
US7099387B2 (en) * | 2002-03-22 | 2006-08-29 | Realnetorks, Inc. | Context-adaptive VLC video transform coefficients encoding/decoding methods and apparatuses |
JP4130780B2 (ja) * | 2002-04-15 | 2008-08-06 | 松下電器産業株式会社 | 画像符号化方法および画像復号化方法 |
EP1478190B1 (en) * | 2002-04-26 | 2013-01-02 | NTT DoCoMo, Inc. | Image encoding device, image encoding method, and image encoding program |
PT1467491E (pt) * | 2002-05-02 | 2007-03-30 | Fraunhofer Ges Forschung | Codificação aritmética de coeficientes de transformação |
US6731841B1 (en) * | 2002-05-24 | 2004-05-04 | Alliance Fiber Optic Products, Inc. | Folded waveguide optical devices |
JP3707456B2 (ja) * | 2002-08-12 | 2005-10-19 | ヤマハ株式会社 | 画像データ圧縮方法および画像データ伸張装置並びに伸張プログラム |
JP3679083B2 (ja) * | 2002-10-08 | 2005-08-03 | 株式会社エヌ・ティ・ティ・ドコモ | 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置、画像符号化プログラム、画像復号プログラム |
US6646578B1 (en) * | 2002-11-22 | 2003-11-11 | Ub Video Inc. | Context adaptive variable length decoding system and method |
EP1494413A1 (en) * | 2003-07-02 | 2005-01-05 | CoreOptics, Inc., c/o The Corporation Trust Center | Channel estimation and sequence estimation for the reception of optical signal |
US7724827B2 (en) * | 2003-09-07 | 2010-05-25 | Microsoft Corporation | Multi-layer run level encoding and decoding |
JP4484630B2 (ja) * | 2004-01-29 | 2010-06-16 | パナソニック株式会社 | 可変長復号化装置および可変長復号化方法および再生システム |
US7450775B2 (en) * | 2004-03-12 | 2008-11-11 | Kabushiki Kaisha Toshiba | Image processing apparatus for efficient storage of variable block length data |
US7132963B2 (en) * | 2004-09-13 | 2006-11-07 | Ati Technologies Inc. | Methods and apparatus for processing variable length coded data |
-
2002
- 2002-11-22 MX MXPA04000912A patent/MXPA04000912A/es active IP Right Grant
- 2002-11-22 ES ES02803564T patent/ES2373944T3/es not_active Expired - Lifetime
- 2002-11-22 AT AT02803564T patent/ATE528924T1/de active
- 2002-11-22 KR KR1020097017951A patent/KR100993443B1/ko active IP Right Grant
- 2002-11-22 EP EP16175248.0A patent/EP3099068B1/en not_active Expired - Lifetime
- 2002-11-22 KR KR1020037015866A patent/KR100947399B1/ko active IP Right Grant
- 2002-11-22 DK DK02803564T patent/DK1413139T3/da active
- 2002-11-22 EP EP16175243.1A patent/EP3099066B1/en not_active Expired - Lifetime
- 2002-11-22 CN CNB028132823A patent/CN1301014C/zh not_active Expired - Lifetime
- 2002-11-22 WO PCT/JP2002/012230 patent/WO2003045065A2/en active Application Filing
- 2002-11-22 KR KR1020107007955A patent/KR101030908B1/ko active IP Right Grant
- 2002-11-22 KR KR1020107007956A patent/KR101030903B1/ko active IP Right Grant
- 2002-11-22 KR KR1020107007957A patent/KR101030850B1/ko active IP Right Grant
- 2002-11-22 PT PT101806982T patent/PT2268033T/pt unknown
- 2002-11-22 WO PCT/JP2002/012232 patent/WO2003044964A1/ja not_active Application Discontinuation
- 2002-11-22 KR KR10-2004-7007783A patent/KR20040054794A/ko not_active Application Discontinuation
- 2002-11-22 AU AU2002357584A patent/AU2002357584B2/en not_active Expired
- 2002-11-22 KR KR1020087009133A patent/KR100921031B1/ko active IP Right Grant
- 2002-11-22 CN CN2006101436850A patent/CN101001385B/zh not_active Expired - Lifetime
- 2002-11-22 ES ES16175243T patent/ES2752804T3/es not_active Expired - Lifetime
- 2002-11-22 EP EP10180698.2A patent/EP2268033B1/en not_active Expired - Lifetime
- 2002-11-22 KR KR1020087009127A patent/KR100913633B1/ko active IP Right Grant
- 2002-11-22 DK DK10180698.2T patent/DK2268033T3/en active
- 2002-11-22 CA CA002450360A patent/CA2450360C/en not_active Expired - Lifetime
- 2002-11-22 EP EP16175245.6A patent/EP3099067B1/en not_active Expired - Lifetime
- 2002-11-22 US US10/480,038 patent/US6967600B2/en not_active Expired - Lifetime
- 2002-11-22 BR BR0206628A patent/BR0206628A/pt not_active Application Discontinuation
- 2002-11-22 KR KR1020087009136A patent/KR100921032B1/ko active IP Right Grant
- 2002-11-22 MX MXPA04004770A patent/MXPA04004770A/es unknown
- 2002-11-22 PT PT02803564T patent/PT1413139E/pt unknown
- 2002-11-22 KR KR1020097023346A patent/KR100992336B1/ko active IP Right Grant
- 2002-11-22 CN CNA028224728A patent/CN1586042A/zh not_active Withdrawn
- 2002-11-22 EP EP20020790698 patent/EP1453208A1/en not_active Withdrawn
- 2002-11-22 EP EP20020803564 patent/EP1413139B1/en not_active Expired - Lifetime
- 2002-11-22 KR KR1020107007960A patent/KR101022091B1/ko active IP Right Grant
- 2002-11-22 ES ES16175245T patent/ES2741562T3/es not_active Expired - Lifetime
- 2002-11-22 US US10/494,753 patent/US20050015248A1/en not_active Abandoned
- 2002-11-22 PT PT101807147T patent/PT2268034T/pt unknown
- 2002-11-22 KR KR1020097023335A patent/KR100992246B1/ko active IP Right Grant
- 2002-11-22 AU AU2002366142A patent/AU2002366142A1/en not_active Withdrawn
- 2002-11-22 ES ES16175248T patent/ES2741563T3/es not_active Expired - Lifetime
- 2002-11-22 KR KR1020087009140A patent/KR100921033B1/ko active IP Right Grant
- 2002-11-22 EP EP10180714.7A patent/EP2268034B1/en not_active Expired - Lifetime
- 2002-11-22 ES ES10180714.7T patent/ES2599624T3/es not_active Expired - Lifetime
- 2002-11-22 BR BRPI0206629-7A patent/BRPI0206629B1/pt unknown
- 2002-11-22 CA CA 2467266 patent/CA2467266A1/en not_active Withdrawn
- 2002-11-22 ES ES10180698.2T patent/ES2587022T3/es not_active Expired - Lifetime
- 2002-11-22 BR BR0206629A patent/BR0206629A/pt active IP Right Grant
- 2002-11-22 KR KR1020087009131A patent/KR100921034B1/ko active IP Right Grant
- 2002-11-22 DK DK10180714.7T patent/DK2268034T3/en active
- 2002-11-22 KR KR1020087009132A patent/KR100921030B1/ko active IP Right Grant
- 2002-11-22 KR KR1020107007959A patent/KR101030862B1/ko active IP Right Grant
-
2005
- 2005-04-21 US US11/110,922 patent/US7161508B2/en not_active Expired - Lifetime
- 2005-04-21 US US11/110,921 patent/US6992605B2/en not_active Expired - Lifetime
- 2005-04-21 US US11/110,916 patent/US6954157B2/en not_active Expired - Lifetime
- 2005-11-08 US US11/268,667 patent/US7109898B2/en not_active Expired - Lifetime
-
2006
- 2006-07-31 US US11/495,600 patent/US7541948B2/en not_active Expired - Lifetime
- 2006-07-31 US US11/495,601 patent/US7411526B2/en not_active Expired - Lifetime
- 2006-07-31 US US11/495,598 patent/US7283071B2/en not_active Expired - Lifetime
- 2006-10-06 US US11/543,860 patent/US7339506B2/en not_active Expired - Lifetime
- 2006-10-06 US US11/543,854 patent/US7312730B2/en not_active Expired - Lifetime
- 2006-10-06 US US11/543,857 patent/US7312731B2/en not_active Expired - Lifetime
-
2007
- 2007-05-31 AU AU2007202509A patent/AU2007202509B2/en not_active Expired
- 2007-10-31 US US11/980,403 patent/US7714752B2/en not_active Expired - Lifetime
-
2008
- 2008-04-21 JP JP2008109896A patent/JP4158995B1/ja not_active Expired - Lifetime
- 2008-04-21 JP JP2008109899A patent/JP4158998B1/ja not_active Expired - Lifetime
- 2008-04-21 JP JP2008109900A patent/JP4158999B1/ja not_active Expired - Lifetime
- 2008-04-21 JP JP2008109895A patent/JP4158994B1/ja not_active Expired - Lifetime
- 2008-04-21 JP JP2008109898A patent/JP4158997B1/ja not_active Expired - Lifetime
- 2008-04-21 JP JP2008109894A patent/JP4158993B1/ja not_active Expired - Lifetime
- 2008-04-21 JP JP2008109897A patent/JP4158996B2/ja not_active Expired - Lifetime
-
2010
- 2010-02-19 US US12/708,884 patent/US7956774B2/en not_active Expired - Fee Related
- 2010-03-10 AU AU2010200907A patent/AU2010200907B2/en not_active Expired
- 2010-03-10 AU AU2010200906A patent/AU2010200906B2/en not_active Expired
-
2011
- 2011-04-21 US US13/091,611 patent/US8604947B2/en not_active Expired - Lifetime
-
2013
- 2013-11-04 US US14/070,857 patent/US8941514B2/en not_active Expired - Lifetime
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2599624T3 (es) | Procedimiento de codificación de longitud variable y procedimiento de decodificación de longitud variable | |
CA2608610C (en) | Variable length coding method and variable length decoding method | |
AU2007202520B2 (en) | Variable length coding method and variable length decoding method |