ES2598403T3 - Selección de parámetros en la compresión y descompresión de datos - Google Patents

Selección de parámetros en la compresión y descompresión de datos Download PDF

Info

Publication number
ES2598403T3
ES2598403T3 ES03796288.3T ES03796288T ES2598403T3 ES 2598403 T3 ES2598403 T3 ES 2598403T3 ES 03796288 T ES03796288 T ES 03796288T ES 2598403 T3 ES2598403 T3 ES 2598403T3
Authority
ES
Spain
Prior art keywords
block
size
value
bit
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
ES03796288.3T
Other languages
English (en)
Inventor
Senthil Govindaswamy
Jeffrey A. Levin
Judith Larocca
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Application granted granted Critical
Publication of ES2598403T3 publication Critical patent/ES2598403T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/005Statistical coding, e.g. Huffman, run length coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/182Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

Un procedimiento, que comprende: descodificar con longitud variable información comprimida (DC, PQR, AC) para generar un bloque de datos descodificados de longitud variable; determinar una dirección de datos dentro del bloque de datos descodificados de longitud variable, en el que la determinación de la dirección de los datos comprende la determinación de los índices Y y X para una posición de coeficiente de transformación cuantizado dentro del bloque de datos descodificados de longitud variable, en base a un sistema de índices Y y X, en el que los índices Y y X determinan una ubicación del dominio de la frecuencia en la que se encuentra el coeficiente de transformación cuantizado; determinar (1410) un valor variable en base a una información de asignación de tamaño de bloque (PQR) y a los índices Y y X; seleccionar (1450) un parámetro de cuantización (paso Q, FWM) en base al valor variable determinado; y cuantizar de forma inversa los datos dentro del bloque de datos descodificados de longitud variable, utilizando el parámetro de cuantización seleccionado.

Description

5
10
15
20
25
30
35
40
45
50
55
60
65
DESCRIPCION
Seleccion de parametros en la compresion y descompresion de datos ANTECEDENTES DE LA INVENCION I. Campo de la invencion
La invencion se refiere, en general, a la compresion de datos y, mas especificamente, a la descompresion de datos comprimidos usando un proceso adaptativo de transformacion de coseno discreta.
Descripcion de la tecnica relacionada
La compresion es un factor clave de los multimedios. Una compresion digital eficaz puede reducir el coste, asi como aumentar la calidad del video exhibido por cualquier canal de comunicacion digital. Una aplicacion para las tecnicas de compresion es la industria del cine.
Durante varias decadas, la industria del cine ha dependido de la duplicacion, distribucion y proyeccion de la pelicula de celuloide para la entrega de material de programacion a cines geograficamente diversos de todo el pais y del mundo. En gran medida, los procedimientos y mecanismos para la distribucion de material de pelicula se han mantenido relativamente sin cambios desde hace decadas. Generalmente, el proceso actual de duplicacion y distribucion de peliculas implica la generacion de una copia principal de la pelicula a partir de un negativo de camara de calidad excepcional, produciendo un negativo de distribucion a partir de la copia principal de la pelicula, y produciendo copias de distribucion a partir del negativo de distribucion. En funcion de la magnitud del estreno o del numero de copias deseadas para la distribucion de la pelicula, puede haber mas pasos intermedios o multiples copias producidas en cada etapa. Las copias de distribucion (conocidas como "positivos") son a continuacion distribuidas por medios fisicos a varios cines y se exhiben utilizando un proyector de cine.
Aunque el proceso de distribucion anterior funciona, hay limitaciones inherentes. Debido a la utilizacion de material de celuloide para la pelicula y las limitaciones de ancho de banda de los medios cinematograficos, existen restricciones para la capacidad de ofrecer programacion de audio multicanal de alta fidelidad. Luego, esta el alto coste de fabricacion de un gran numero de copias de la pelicula, que puede costar varios cientos de dolares por cada copia de cada pelicula de largo metraje. Existe tambien el gasto, la complejidad y el retardo asociados a la distribucion fisica de grandes envases de pelicula de celuloide a un numero grande y creciente de ubicaciones de cines.
Por consiguiente, nuevas y emergentes tecnologias se estan desarrollando para proporcionar enfoques alternativos a los problemas actuales de distribucion de peliculas. Uno de tales procedimientos es el uso de la transmision por satelite. Sin embargo, con el fin de transmitir una senal de audio / video (AV) de alta calidad en "tiempo real", el requisito de velocidad de datos (en bits por segundo) es del orden de 1.500 millones de bits por segundo. Esta alta velocidad de datos requiere la capacidad equivalente de todo un satelite para transmitir un unico programa, lo cual es prohibitivamente caro. Por lo tanto, las transmisiones por satelite todavia no son comercialmente viables para la distribucion de material de AV de alta calidad.
Los avances en la tecnologia digital tambien han llevado a un concepto de distribucion por el cual el material de programacion se almacena electronicamente en un formato digitalizado. Las imagenes digitalizadas se pueden distribuir en varios medios magneticos o discos opticos compactos, o transmitirse a traves de sistemas de comunicacion por cable, fibra optica, inalambricos o por satelite. Estos medios de almacenamiento suelen tener capacidades de almacenamiento que van desde alrededor de 4,5 gigaoctetos (GB) a aproximadamente 18 GB. Sin embargo, una pelicula de dos horas de media, que tiene una velocidad media de bits de imagenes comprimidas de alrededor de 40 Mbps para la pista de imagenes y de unos ocho Mbps para la informacion de control y audio, requiere aproximadamente 45 GB de espacio de almacenamiento. Por lo tanto, incluso si se implementa un disco DVD-ROM de alta capacidad de almacenamiento, una pelicula de dos horas requiere el uso de varios discos de DVD-ROM para una capacidad adecuada.
Para reducir el requisito de velocidad de datos para el almacenamiento de imagenes electronicas de alta calidad, se estan desarrollando algoritmos de compresion. Una tecnica de compresion digital dinamica de imagenes, capaz de ofrecer una compresion significativa preservando al mismo tiempo la calidad de las senales de imagen, utiliza bloques y sub-bloques, de tamano adaptativo, de datos codificados de coeficientes de transformacion de coseno discreta (DCT). En lo sucesivo se hara referencia a esta tecnica como el procedimiento de transformacion de coseno discreta de tamano de bloque adaptativo (ABSDCT). Los tamanos de bloque adaptativos se eligen para explotar la redundancia que existe para la informacion dentro de una trama de datos de imagen. La tecnica se divulga en la patente estadounidense n° 5.021.891, titulada "Procedimiento y sistema para la compresion de imagenes de tamano de bloque adaptativo", cedida al cesionario de la presente invencion e incorporada en este documento por referencia. Las tecnicas de DCT se divulgan tambien en la patente estadounidense n° 5.107.345, titulada "Procedimiento y sistema para la compresion de imagenes de tamano de bloque adaptativo", cedida al cesionario de
5
10
15
20
25
30
35
40
45
50
55
60
65
la presente invencion e incorporada en este documento como referencia. Ademas, el uso de la tecnica ABSDCT en combinacion con una tecnica de transformacion en arbol cuadruple discreta se expone en la patente estadounidense n° 5.452.104, titulada "Procedimiento y sistema de compresion de imagenes de tamano de bloque adaptativo", tambien cedida al cesionario de la presente invencion e incorporada por referencia en este documento. Los sistemas divulgados en estas patentes utilizan codificacion intra-trama, en la que cada trama de una secuencia de imagenes se codifica sin tener en cuenta el contenido de ninguna otra trama
En general, la compresion de secuencias de datos comprende la cuantizacion tras la transformacion de coseno discreta. Ademas, los diferentes parametros de cuantizacion se utilizan a menudo para diferentes tamanos de bloque de datos. De manera similar, la descompresion de los flujos de datos comprimidos comprende la cuantizacion inversa, y se utilizan diferentes parametros de cuantizacion para diferentes tamanos de bloque de datos.
En una tipica transformacion de coseno discreta, el tamano de cada bloque de datos es fijo y el mismo parametro de cuantizacion puede utilizarse para la cuantizacion y la cuantizacion inversa de cada bloque de datos. Sin embargo, si se implementa la ABSDCT, los bloques de datos se pueden dividir en diferentes combinaciones de sub-bloques para la transformacion de coseno discreta. En consecuencia, en funcion de como se divide un bloque de datos, se utilizan diferentes parametros de cuantizacion para la cuantizacion de cada bloque de datos. De manera similar, en funcion de como se divide un bloque de datos, se utilizan diferentes parametros de cuantizacion para la cuantizacion inversa de cada bloque de datos. Por lo tanto, con el fin de realizar la cuantizacion inversa durante la descompresion, es necesario conocer los parametros de cuantizacion adecuados para cada bloque de datos procesado.
Se reclama atencion al documento WO 01/56298 A, que se refiere a un sistema y un procedimiento para la compresion de imagenes basado en la calidad, utilizando bloques y sub-bloques de tamano adaptativo de datos de coeficientes de transformacion de coseno discreta y un factor de escala de cuantizacion basado en la calidad. Un elemento de asignacion de tamano de bloque en un elemento codificador selecciona el bloque o sub-bloque de un bloque de entrada de datos de pixeles a procesar. Los bloques con varianzas mas grandes que un umbral se subdividen, mientras que los bloques con varianzas mas pequenas que un umbral no se subdividen. Un elemento de transformacion transforma los valores de pixeles de los bloques seleccionados al dominio de la frecuencia. Los valores del dominio de la frecuencia se cuantizan, ya sea bloque a bloque o trama a trama, utilizando un factor de escala que se correlaciona con la calidad de la imagen. A continuacion, los datos se serializan y se codifican en preparacion para la transmision.
Se reclama atencion adicional al documento WO 01/35673 A, que se refiere a un sistema y un procedimiento para la compresion de imagenes utilizando bloques y sub-bloques de tamano adaptativo de datos de coeficientes de transformacion de coseno discreta. Un elemento de asignacion de tamano de bloque en el codificador selecciona el bloque o sub-bloque de un bloque de entrada de pixeles a procesar. La seleccion se basa en la varianza de los valores de los pixeles. Los bloques con varianzas mas grandes que un umbral se subdividen, mientras que los bloques con varianzas mas pequenas que un umbral no se subdividen. Un elemento de transformacion transforma los valores de pixeles de los bloques seleccionados al dominio de la frecuencia. A continuacion, los valores del dominio de la frecuencia pueden cuantizarse, serializarse y codificarse con una longitud variable en preparacion para la transmision.
Asimismo, se reclama atencion al documento WO 01/41443 A, que se refiere a un aparato y a un procedimiento para la descodificacion de senales codificadas que representen, al menos, informacion de imagen a partir de un medio de almacenamiento. Un dispositivo de almacenamiento esta configurado para recibir el medio de almacenamiento. Un descodificador esta configurado para recibir las senales codificadas cifradas comprimidas desde el medio de almacenamiento, y enviar las senales a un descifrador. El descifrador esta configurado para descifrar las senales codificadas comprimidas cifradas, y enviar las senales a un descompresor. El descompresor esta configurado para recibir las senales codificadas comprimidas desde el descifrador y para descomprimir las senales codificadas comprimidas para permitir la exhibicion de la imagen.
RESUMEN DE LA INVENCION
De acuerdo a la presente invencion, se proporciona un procedimiento, como se expone en la reivindicacion 1, y un aparato, como se expone en la reivindicacion 6. Los modos de realizacion adicionales son reivindicados en las reivindicaciones dependientes.
Los modos de realizacion divulgados en este documento abordan las necesidades indicadas anteriormente, proporcionando un procedimiento para la seguridad en un sistema de procesamiento de datos. Mas especificamente, los modos de realizacion permiten la seleccion del parametro de cuantizacion adecuado durante la descompresion de datos comprimidos, utilizando la tecnica de transformacion de coseno discreta de tamano de bloque adaptativo. La seleccion se basa en el pixel, la posicion de los datos y la asignacion de tamano de los bloques.
En un modo de realizacion, un aparato y un procedimiento comprenden medios para la descodificacion de longitud variable de informacion comprimida, para generar un(os) bloque(s) de datos descodificados de longitud variable. El
5
10
15
20
25
30
35
40
45
50
55
60
65
aparato y el procedimiento tambien comprenden medios para la cuantizacion inversa del bloque de datos descodificado de longitud variable, usando un parametro de cuantizacion seleccionado en base a la informacion de asignacion de tamano de bloque y a la direccion de los datos dentro del bloque de datos. El aparato y el procedimiento pueden comprender ademas medios para la transformacion inversa de coseno discreta, de tamano de bloque adaptativo, del bloque de datos inversamente cuantizados, para recuperar los datos originales. Aqui, el parametro de cuantizacion puede ser seleccionado por los medios para la cuantizacion inversa del bloque de datos descodificados de longitud variable. Alternativamente, el aparato y el procedimiento pueden comprender ademas medios para seleccionar el parametro de cuantizacion. Ademas, el aparato y el procedimiento pueden comprender ademas un medio para descodificar la direccion de los datos en los indices Y y X, en base a un sistema de indice de Y y X.
En otro modo de realizacion, las instrucciones se cargan en un medio legible por maquina, en el que un primer conjunto de instrucciones es informacion comprimida de descodificacion de longitud variable, para generar un(os) bloque(s) de datos descodificados de longitud variable. Un segundo conjunto de instrucciones es para seleccionar un parametro de cuantizacion en base a la informacion de asignacion de tamano de bloque y a la direccion de los datos dentro del bloque de datos. Un tercer conjunto de instrucciones es para cuantizar inversamente el bloque de datos descodificados de longitud variable, utilizando el parametro de cuantizacion seleccionado.
En otro modo mas de realizacion, un aparato comprende medios para la exhibicion de informacion de imagenes descomprimidas, y medios para la reproduccion de informacion de audio descomprimida. El aparato tambien comprende un medio para descodificar informacion comprimida, en el que el medio para la descodificacion comprende medios de descompresion de imagenes y un medio de descompresion de audio. El medio de descompresion de imagenes esta configurado para descomprimir la informacion de imagenes comprimidas, convirtiendola en informacion de imagenes descomprimidas, en base a la informacion de asignacion de tamano de bloque y a la direccion de los datos dentro de un bloque de datos. El medio de descompresion de audio esta configurado para descomprimir informacion de audio comprimida, convirtiendola en informacion de audio descomprimida.
En un modo de realizacion adicional, un aparato y un procedimiento comprenden medios para la descodificacion de una direccion de un bloque de datos en los indices Y y X, en base a un sistema de indices de Y y X. El aparato y el procedimiento tambien comprenden medios para recibir informacion de asignacion de tamano de bloque. El aparato y el procedimiento comprenden ademas medios para seleccionar un parametro de cuantizacion adecuado, en base a la informacion de asignacion de tamano de bloque y a los indices Y y X. Aqui, el bloque de datos puede ser un bloque de datos de tamano 16x16, en el que la informacion de asignacion de tamano de bloque comprende un primer bit que indica si el bloque de datos de tamano 16x16 se divide en sub-bloques de tamano 8x8; segundos bits si el primer bit indica que el bloque de tamano 16x16 se divide en sub-bloques de tamano 8x8, indicando cada segundo bit si un sub-bloque de tamano 8x8 correspondiente se divide en sub-bloques de tamano 4x4; y terceros bits si al menos un segundo bit indica que el correspondiente sub-bloque de tamano 8x8 se divide en sub-bloques de tamano 4x4, indicando cada tercer bit si un correspondiente sub-bloque de tamano 4x4 se divide en sub-bloques de tamano 2x2.
BREVE DESCRIPCION DE LOS DIBUJOS
La invencion se describira en detalle con referencia a los siguientes dibujos, en los que numeros iguales de referencia se refieren a elementos similares, en los que:
la figura 1 muestra un modo de realizacion de un sistema de cine digital;
la figura 2 muestra un modo de realizacion de un codificador;
las figuras 3A a 3D ilustran un modo de realizacion de divisiones de bloque y sub-bloque para una imagen de un bloque de tamano 16x16;
las figuras 4A y 4B ilustran un modo de realizacion de datos de asignacion de tamano de bloque; las figuras 5A a 5D muestran ejemplos de los datos de asignacion de tamano de bloque;
las figuras 6A a 6C ilustran un modo de realizacion del sistema de indice Y-X para representar las posiciones de los pixeles de la imagen;
la figura 7 muestra un modo de realizacion de un compresor de imagenes:
la figura 8 muestra un modo de realizacion de un descodificador;
la figura 9 muestra un modo de realizacion de un descompresor de imagenes;
5
10
15
20
25
30
35
40
45
50
55
60
65
las figuras 10A y 10B ilustran un modo de realizacion del ordenamiento de datos de asignacion de tamano de
bloque;
las figuras 11A y 11B ilustran un modo de realizacion de la seleccion de bloque en base a los indices Y y X;
las figuras 12 y 13 muestran diferentes modos de realizacion de un modulo de seleccion de parametros; y
las figuras 14 a 16 muestran diferentes modos de realizacion de un procedimiento para seleccionar el parametro
adecuado.
DESCRIPCION DE LA INVENCION
En general, el aparato y el procedimiento permiten la seleccion de los parametros de cuantizacion adecuados durante la descompresion, en base a las posiciones de los pixeles en un bloque de datos. En particular, cuando se implementa la compresion de la transformacion de coseno discreta de tamano de bloque adaptativo (ABSDCT), se selecciona el valor de paso Q adecuado para la cuantizacion inversa de las diferentes combinaciones de sub- bloques. Ademas, si se utiliza la ponderacion de frecuencia, la tabla de FWM adecuada tambien se selecciona para la cuantizacion inversa.
Las tecnologias tales como la tecnica de compresion ABSDCT ofrecen la posibilidad de un sistema de "cine digital". Definido de forma general, el cine digital se refiere a la distribucion y exhibicion electronica de la programacion de peliculas de alta calidad, que se ha convertido en una representacion digital electronica con fines de almacenamiento, transmision y exhibicion. Un sistema de cine digital podria superar muchas de las limitaciones del proceso actual de distribucion de peliculas. Un sistema digital no estaria sujeto a la degradacion de la calidad a lo largo del tiempo, experimentada por la pelicula de celuloide. Ademas, un sistema digital puede eliminar el robo y la duplicacion ilegal de peliculas, permitiendo la implementacion de medidas de seguridad dentro del propio sistema digital. Ademas, la distribucion de informacion de la pelicula, utilizando un formato electronico digital, en realidad, aumenta el potencial de duplicacion rapida y barata, sin degradacion de la calidad.
El cine digital puede incluir la generacion electronica, la compresion, el cifrado y el almacenamiento de programacion audiovisual, tal como peliculas en sistemas de cine, cines, complejos de cines y/o sistemas de presentacion. En consecuencia, la invencion es aplicable a la presentacion de la informacion de imagen y audio en una amplia variedad de lugares tales como un cine o complejo de cines, anfiteatros al aire libre, complejos de auto-cine, auditorios civicos, escuelas y restaurantes especializados. Para los fines de la explicacion, la invencion se describira con referencia a un cine o complejo de cine. Sin embargo, los expertos en la tecnica entenderan inmediatamente que la invencion puede aplicarse a otros tipos de ubicaciones, sistemas y campos.
Tambien, como se divulga en el presente documento, el termino "programa" se refiere a una o mas peliculas para su exhibicion en cines, televisiones y / u otros sistemas y / o ubicaciones de presentacion. El termino "pelicula" se refiere a diversas imagenes en movimiento, incluyendo, pero sin limitarse a, la totalidad, o una parte, de una pelicula, un videoclip, un anuncio, un drama o una combinacion de los mismos. Una parte de imagen de peliculas puede consistir en tramas individuales (es decir, imagenes fijas), una secuencia de imagenes fijas de una sola trama, o secuencias de imagenes en movimiento de corta o larga duracion. El termino "medio de almacenamiento" representa uno o mas dispositivos para almacenar datos, incluyendo memora de solo lectura (ROM), memoria de acceso aleatorio (RAM), medios de almacenamiento de disco magnetico, medios de almacenamiento optico, dispositivos de memoria flash, disco versatil digital (DVD), disco duro extraible (RHD) y/u otros medios legibles por maquina para almacenar informacion. El termino "medio legible por maquina" incluye, pero sin limitacion, dispositivos de almacenamiento portatiles o fijos, dispositivos de almacenamiento optico, canales inalambricos y otros diversos dispositivos capaces de almacenar, contener o transportar codigos y/o datos. El termino "cifrado" se refiere a diversos medios de procesamiento de flujos de datos digitales de varios origenes, usando cualquiera entre un cierto numero de tecnicas criptograficas para aleatorizar, cubrir o directamente cifrar flujos digitales usando secuencias generadas usando valores digitales secretos ("claves"), de tal manera que sea muy dificil recuperar la secuencia de datos original sin conocimiento de los valores de la clave secreta.
Un modo de realizacion de un sistema de cine digital 100 se ilustra en la figura 1. El sistema de cine digital 100 comprende dos sistemas principales: al menos una instalacion o nodo central 102 y al menos un subsistema de presentacion o de cine 104. El nodo 102 y el subsistema de cine 104 pueden implementarse mediante un diseno similar al de las solicitudes de patente estadounidense con n° de serie 09/564.174 y 09/563.880, ambas presentadas el 3 de mayo de 2000 y cedidas al mismo cesionario de la presente invencion, ambas incorporadas en este documento por referencia.
Generalmente, el nodo 102 incluye un generador de origen 110 para recibir y convertir el material de programa en una version digital del programa. La informacion digital se comprime usando un formato o proceso preseleccionado por un codificador 120, y es almacenada en un medio de almacenamiento por un modulo de almacenamiento de nodo 130. Aqui, el material de programa incluye informacion de imagen e informacion de audio, o ambas. En consecuencia, la informacion digital puede incluir informacion digital de imagen o informacion digital de audio, o
5
10
15
20
25
30
35
40
45
50
55
60
65
ambas. Un administrador de red 140 monitoriza y envfa informacion de control al generador de origen 110, al codificador 120 y al modulo de almacenamiento de nodo 130. La informacion digital tambien puede ser cifrada por el codificador 120. En tal caso, el nodo 102 puede incluir, optativamente, un administrador de acceso condicional 150 para proporcionar informacion de codificacion electronica especifica, tal que solo las ubicaciones especificas, por ejemplo, los cines, esten autorizados para exhibir programas especificos y/o en momentos especificos.
Es de senalar que, aunque el generador de origen 110 y el codificador 120 son partes del nodo 102, como se muestra en la figura 1, el generador de origen 110, el codificador 120 o ambos, pueden estar situados en instalaciones separadas, tales como un estudio de produccion de cine o television. Ademas, algunos datos tal vez no requieran la conversion mediante el generador de origen 110. Por ejemplo, se puede proporcionar informacion digital al codificador 120 mediante una camara digital u otro dispositivo de generacion de informacion digital.
El subsistema de cine 104 puede incluir un administrador de cine 160 que controla uno o mas modulos de auditorio 170. Cada modulo de auditorio 170 comprende un descodificador 175, un proyector 177 y un sistema de sonido 179. Bajo el control del administrador de cine 160, se recibe informacion digital comprimida desde el nodo 102, descodificada por el descodificador 175, descifrada (si es necesario) y reproducida por los modulos de auditorio 170 mediante el proyector 177 y el sistema de sonido 179. La informacion comprimida puede recibirse a traves de un medio de almacenamiento o puede transmitirse en tiempo real, segun se desee. Ademas, la informacion comprimida se puede preparar como una secuencia, tamano y velocidad de datos, seleccionados antes de ser descodificada.
Por lo general, el flujo de datos introducido en el codificador 120 se compone de tramas de imagen. Una trama de imagen, en general, se puede dividir en tajadas, una tajada se puede dividir en bloques de datos, y un bloque de datos se puede dividir en pixeles, que son las unidades mas pequenas de una imagen. Cada trama de imagen incluye un numero entero de tajadas y cada tajada de imagen suele representar la informacion de imagen para un conjunto de 16 lineas de exploracion consecutivas. En tal caso, cada bloque de datos corresponde a un bloque de 16x16 pixeles entre la imagen de la trama. Ademas, una trama puede separarse en tajadas pares e impares, formando de este modo una media trama par y una media trama impar. En un modo de realizacion, las medias tramas son los paquetes fundamentales de informacion de datos comprimidos que son procesados por un descodificador. Ademas, un pixel de imagen puede representarse comunmente en el sistema de componentes de color rojo, verde y azul (RGB). Sin embargo, debido a que el ojo humano es mas sensible a los cambios de luminancia y menos sensible a los cambios de crominancia, el espacio de color YCbCr se usa habitualmente en la compresion de video para representar pixeles de imagen. El espacio de color YCbCr es una transformacion lineal de los componentes RGB, donde Y es el componente de crominancia, y Cb y Cr son los componentes de color. Si una trama se divide en tramas pares / impares, una trama de imagen se compondra de tres medias tramas pares y tres medias tramas impares correspondientes a los componentes Y, Cb y Cr.
En la descripcion anterior, una tajada puede representar un conjunto de lineas de exploracion consecutivas, diferentes a 16 lineas de exploracion consecutivas. Ademas, se puede utilizar un espacio de color diferente con el mismo numero, o un numero distinto, de componentes de color para representar un pixel de imagen. Sin embargo, un tamano de bloque de 16x16 pixeles y el espacio de color YCbCr se utilizan para fines explicativos.
La figura 2 muestra un modo de realizacion de un codificador 200 que comprende un compresor de imagenes 210, un compresor de audio 230 y un procesador de trasfondo 250. Cuando el codificador 200 recibe informacion digital, la informacion de imagen y audio digital se puede almacenar en memorias temporales de tramas (no mostradas) antes del procesamiento adicional. El compresor de imagenes 210 comprime la informacion de imagen digital utilizando cualquier numero de tecnicas de compresion. En un modo de realizacion, el compresor de imagenes 210 comprime la informacion de imagen digital usando la tecnica ABSDCT descrita en las patentes estadounidenses n° 5.021.891,5.107.345 y 5.452.104.
En general, cada uno de los componentes de luminancia y crominancia se pasa a un intercalador de bloques (no mostrado). En un modo de realizacion, como se muestra en las figuras 3A a 3D, un bloque de tamano 16x16 se presenta al intercalador de bloques, que ordena las muestras de la imagen dentro de los bloques de tamano 16x16 para producir bloques y sub-bloques de datos compuestos para el analisis de la DCT. Una DCT de tamano 16x16 se aplica a un primer ordenamiento, cuatro DCT de tamano 8x8 se aplican a un segundo ordenamiento, 16 DCT de tamano 4x4 se aplican a un tercer ordenamiento y 64 DCT de tamano 2x2 se aplican a un cuarto ordenamiento. La operacion de la DCT reduce la redundancia espacial inherente al origen de la imagen. Despues de que se realice la DCT, la mayor parte de la energia de la senal de imagen tiende a concentrarse en unos pocos coeficientes de la DCT.
Para el bloque de tamano 16x16 y cada sub-bloque, se analizan los coeficientes transformados para determinar el numero de bits necesarios para codificar el bloque o sub-bloque. A continuacion, se escoge el bloque, o la combinacion de sub-bloques, que requiera el menor numero de bits a codificar, para representar el segmento de imagen. Por ejemplo, pueden escogerse dos sub-bloques de tamano 8x8, seis sub-bloques de tamano 4x4 y ocho sub-bloques de tamano 2x2 para representar el segmento de imagen. A continuacion, el bloque, o combinacion de sub-bloques, escogido se dispone en el orden adecuado.
5
10
15
20
25
30
35
40
45
50
55
60
65
En un modo de realizacion, el compresor de imageries 210 comprende un modulo de ABSDCT 212 que analiza los coeficientes transformados y selecciona el bloque o la combinacion de sub-bloques para representar el segmento de imagen. El modulo de ABSDCT 212 tambien genera informacion de asignacion de tamano de bloque, que representa la asignacion de tamano de bloque dentro de un bloque de tamano n x n. Para el bloque de datos de tamano 16x16, el modulo de ABSDCT 212 genera datos conocidos como informacion de PQR, que representa la asignacion de tamano de bloque dentro del bloque de tamano 16x16. La informacion de PQR es un dato de ancho de bits variable que describe en que medida se subdivide un bloque de tamano 16x16. El bit R del campo de PQR representa si el bloque de tamano 16x16 se subdivide en cuatro bloques de tamano 8x8. Como se muestra en la figura 4A, si el bit R es "0", el bloque permanece entero. En este caso no se requiere ninguna informacion adicional de PQR y el campo de PQR tiene solo 1 bit de longitud. Si el bit R es "1", entonces el bloque de tamano 16x16 se subdivide en cuatro bloques de tamano 8x8, como se muestra en la figura 3B, y existiran al menos cuatro bits adicionales en el campo de PQR.
Los cuatro bits adicionales se conocen como informacion "Q". Cada bit de Q indica una subdivision de un bloque de tamano 8x8 en cuatro bloques de tamano 4x4. Para cada bit de Q que se fija, estan presentes cuatro bits de "P" mas, para indicar si alguno de los bloques de 4x4 se subdivide en bloques de tamano 2x2. En consecuencia, la longitud de los datos de PQR puede ser de 1 a 21 bits de longitud, en funcion de la asignacion de tamano de bloque dentro del bloque de tamano 16x16. Si cada bloque de tamano 8x8 se subdivide en bloques de tamano 2x2, entonces, la informacion de PQR sera de 21 bits de longitud. Las figuras 5A a 5D muestran algunos ejemplos de los bloques de tamano 16x16 con los datos de PQR correspondientes. En la figura 5A, PQR = 0 indica que el bloque de tamano 16x16 no se subdivide. En la figura 5B, PQR = 0000 0100 1 indica que el bloque de tamano 16x16 se subdivide en cuatro bloques de tamano 8x8 y uno de los bloques de tamano 8x8 se subdivide en cuatro bloques de tamano 4x4. En la figura 5C, PQR = 0110 0000 0101 1 indica que el bloque de tamano 16x16 se subdivide en cuatro bloques de tamano 8x8, uno de los cuales se subdivide en cuatro bloques de tamano 4x4 y dos de los bloques de tamano 4x4 se dividen en cuatro bloques de tamano 2x2. En la figura 5D, PQR = 0000 1 indica que el bloque de tamano 16x16 se subdivide en cuatro bloques de tamano 8x8.
El compresor de imagenes 210 puede comprender ademas un modulo de indice (no mostrado) que determina un sistema de indice para representar las posiciones de los pixeles de la imagen en un bloque de tamano n x n. Algunos modos de realizacion pueden proporcionar una pluralidad de sistemas de indice, uno de los cuales es seleccionado por el modulo de indice, en funcion de la tecnica de compresion. En tal caso, el codificador 120 y el descodificador 175 almacenan la pluralidad de sistemas de indice y el modulo de indice transmitiria una senal para indicar el sistema de indice seleccionado. En otros modos de realizacion, puede utilizarse un sistema de indice fijo para representar las posiciones de los pixeles de la imagen.
La figura 6A muestra un modo de realizacion de un sistema de indice Y-X que representa posiciones de los pixeles de la imagen en un bloque de tamano 16x16 con cuatro ordenamientos, como se ha descrito anteriormente. Como se muestra en la figura 6B, cada conjunto Y, X de los indices Y y X de cuatro bits determina un cuadrante de un bloque o sub-bloque correspondiente dentro del bloque de tamano 16x16. Por ejemplo, la figura 6C muestra una posicion de pixeles de la imagen con los indices Y, X correspondientes. Aqui, los bits Y 3 y X 3 determinan el cuadrante del bloque de 8x8, los bits Y 2 y X 2 determinan el cuadrante bloque de 4 x 4, los bits Y 1 y X 1 determinan el cuadrante 2X2, y los bits Yo y X0 determinan la ubicacion de los pixeles de la imagen de pixeles dentro del sub- bloque de 2x2.
La figura 7 muestra un modo de realizacion de un compresor de imagenes 700 que comprende un modulo de ABSDCT 710, un modulo de cuantizacion 720 y un modulo de codificacion de longitud variable (VLC) 730. El modulo de ABSDCT 710 convierte la informacion de la imagen digital desde el dominio espacial al de la frecuencia, usando la tecnica ABSDCT, y genera los coeficientes de la DCT con la correspondiente informacion de asignacion de tamano de bloque, tal como la informacion de PQR para el bloque de datos de tamano 16x16. El modulo de cuantizacion 720 cuantiza los coeficientes de la DCT y el VLC 730 comprime los coeficientes de la DCT cuantizados, usando una tecnica de codificacion de longitud variable. El compresor de imagenes 700 puede comprender ademas un modulo de indice 740 que genera senales que indican el sistema de indice utilizado durante la compresion.
El modulo de cuantizacion 720 cuantiza los coeficientes de la DCT utilizando pasos de cuantizacion (paso Q) en base a la asignacion de tamano de bloque y a la posicion, segun lo determinado por el sistema de indice. El paso Q puede utilizarse como un nivel de cuantizacion programable y puede mantenerse mediante el software almacenado en un medio de almacenamiento (no mostrado). En un modo de realizacion, hay diferentes valores del paso Q para cada componente de color (Y, Cb, Cr) y un conjunto diferente de valores del paso Q para cada tamano de bloque o sub-bloque (16x16, 8x8, 4x4 y 2x2). Ademas, en un modo de realizacion, los coeficientes de la DCT pueden cuantizarse utilizando funciones de ponderacion tales como mascaras de ponderacion de frecuencia (FWM), optimizadas para el ojo humano. Si se utiliza en combinacion con la ABSDCT, habria una tabla de FWM diferente para cada tamano de bloque o sub-bloque (16x16, 8x8, 4x4 y 2x2). Tambien habria al menos tres conjuntos diferentes de tablas de FWM, una para cada componente Y, Cb y Cr.
En un modo de realizacion, la cuantizacion se implementa mediante dos multiplicadores. El coeficiente de la DCT se puede multiplicar por el paso Q en base al tamano y la posicion del bloque o sub-bloque. A continuacion, el resultado
5
10
15
20
25
30
35
40
45
50
55
60
65
se multiplica por una ponderacion de frecuencia, en una posicion de pixeles correspondiente, a partir de una tabla de FWM, en base a la asignacion de tamano de bloque.
En la codificacion de longitud variable de los coeficientes de la DCT cuantizados, el VLC 730 puede incluir un motor de Huffman para la codificacion de Huffman de los valores de los coeficientes AC distintos a cero, junto con la longitud de la secuencia de ceros. Es decir, un codigo de Huffman representa el numero de ceros que preceden a un coeficiente de AC distinto a cero y el tamano (numero de bits minimo requerido para la representacion) de dicho coeficiente AC distinto a cero. En consecuencia, los coeficientes de la DCT son codificados con longitud de secuencia para generar los diferentes pares de longitudes de secuencias de ceros y el tamano correspondiente del posterior coeficiente de AC distinto a cero. Aqui, la exploracion en zigzag, u otros patrones de exploracion, se pueden utilizar para aumentar las secuencias de ceros. Las tablas se utilizan a continuacion para asignar codigos a los diferentes pares codificados de longitud de secuencia, en base a las probabilidades con las que se producen los codigos. Los codigos cortos son asignados a los pares que aparecen con mas frecuencia y los codigos mas largos son asignados a los pares que aparecen con menos frecuencia. Se adosa al codigo de Huffman el valor real del coeficiente de AC, y se transmite.
Por lo tanto, en un modo de realizacion, cada paquete de imagen que se transmite puede comprender el campo de valor DC de longitud fija, el campo de PQR de longitud variable y un numero variable de campos de valor de Ac. El campo de valor de DC contiene el desplazamiento de DC sin signo para el bloque de pixeles. El campo de PQR contiene informacion de PQR que describe si, y como, el bloque de pixeles de tamano 16x16 se ha subdividido en bloques mas pequenos. Este campo puede tener 1, 5, 9, 13, 17 o 21 bits de longitud. Despues del PQR, el campo de valor de AC contiene la longitud de secuencia de ceros de la codificacion de Huffman y el tamano de los valores de los coeficientes de AC.
Con referencia de nuevo a la figura 2, la parte de audio de la informacion digital generalmente se pasa al compresor de audio 230 para su compresion. El compresor de audio 230 tambien puede comprimir la informacion de la imagen de audio digital, utilizando cualquier numero de tecnicas de compresion. A continuacion, la informacion digital comprimida es recibida y procesada por el procesador de trasfondo 250. Por ejemplo, la imagen comprimida y la informacion de audio pueden cifrarse usando una cualquiera entre una serie de tecnicas de cifrado conocidas. La informacion comprimida puede ser multiplexada junto con informacion de sincronizacion, y paquetizada. En este caso, la informacion de sincronizacion permite que la informacion transmitida por flujo de imagen y audio se reproduzca de manera alineada en el tiempo en el subsistema de cine 104. En otro modo de realizacion, la informacion de imagen y audio tambien puede tratarse por separado, en lugar de ser multiplexada, y paquetizarse por separado. La informacion de imagen y audio procesada se puede enviar al medio de almacenamiento de nodo 130 para su almacenamiento en un medio de almacenamiento.
Cuando un programa se va a ver, la informacion del programa puede recuperarse y transferirse al modulo de auditorio 170 mediante el administrador de cine 160. Cada modulo de auditorio 170 puede procesar y exhibir un programa diferente a los de otros modulos de auditorio 170 en el mismo subsistema de cine 104, o uno o mas modulos de auditorio 170 pueden procesar y exhibir el mismo programa simultaneamente.
En el auditorio 170, la informacion comprimida es descifrada, si es necesario, y es descomprimida por el descodificador 175 utilizando un algoritmo de descompresion que es inverso al algoritmo de compresion utilizado en el codificador 120. Por ejemplo, el proceso de descompresion puede incluir la descodificacion de longitud variable, la cuantizacion inversa, la ABSDCT inversa y la des-intercalacion para combinar los bloques de la DCT. La informacion de la imagen descomprimida se convierte a continuacion a un formato de video estandar para su exhibicion (que puede ser un formato analogico o bien digital) y puede ser exhibida. La informacion de audio tambien se descomprime y se proporciona para su reproduccion con la informacion de imagen.
La figura 8 muestra un modo de realizacion de un descodificador 800. En general, el descodificador 800 procesa la informacion comprimida / cifrada para ser proyectada visualmente por el proyector 177 sobre una pantalla o superficie, y presentada de forma audible usando el sistema de sonido 179. El descodificador 800 puede comprender un procesador de interfaz de usuario (FE) 810, un descompresor de imagenes 810 y un descompresor de audio 820. El descodificador 800 puede implementarse en uno o mas montajes de tarjetas de circuitos, y los montajes de tarjetas de circuitos se pueden instalar en un recinto auto-contenido que se monta sobre el, dentro del o adyacente al, proyector 177.
En funcionamiento, el procesador de FE 810 identifica y separa los paquetes de control, imagen y audio individuales que llegan desde el administrador de cine 160. Los paquetes de control pueden enviarse al administrador de cine 160 mientras que los paquetes de imagen y de audio se envian, respectivamente, a los descompresores de imagen y audio 820 y 830. Aqui, si se implementa una pluralidad de sistemas de indice para la compresion de los datos de imagen, los paquetes de control pueden incluir informacion que indica el sistema de indice seleccionado. Las operaciones de lectura y escritura tienden a ocurrir en rafagas. Por lo tanto, pueden utilizarse grandes memorias temporales para transmitir por flujo datos sin dificultad desde el descodificador 175, directamente al proyector 179. En algunos modos de realizacion, puede implementarse una tarjeta inteligente criptografica para la transferencia y el almacenamiento de la informacion de claves criptograficas, especifica de la unidad.
5
10
15
20
25
30
35
40
45
50
55
60
65
El descompresor de imageries 820 realiza el descifrado si es necesario, descomprime los paquetes de imageries comprimidas y vuelve a ensamblar la imagen original para su presentacion en la pantalla. La salida de esta operacion proporciona generalmente senales RGB analogicas estandar para el proyector de cine digital 177. El descifrado y la descompresion se pueden realizar en tiempo real, permitiendo la reproduccion en tiempo real del material de programacion.
Los elementos de procesamiento usados para la descompresion pueden implementarse en hardware especializado dedicado, configurado para esta funcion, tal como un ASIC y/o uno o mas montajes de tarjetas de circuitos. Como alternativa, los elementos de procesamiento de descompresion pueden implementarse como elementos estandar y/o hardware generalizado, incluyendo una amplia variedad de procesadores de senales digitales, dispositivos electronicos programables y / u ordenadores que funcionan bajo el control de software de funcion especial y/o programacion de firmware. Pueden implementarse multiples ASIC para procesar la informacion de imagenes en paralelo, para prestar soporte a altas velocidades de datos de imagen.
En el descompresor de imagenes 820, los flujos de datos de imagenes comprimidas se someten a una descompresion de imagenes simetrica a la compresion de imagenes usada en el codificador 120. Por ejemplo, la figura 9 muestra un modo de realizacion de una descompresion de imagenes 900 que es simetrica con respecto a la compresion de imagenes 700 que se muestra en la figura 7. El descompresor de imagenes 900 puede incluir un modulo de descodificacion de longitud variable (VLD) 910 para descomprimir la informacion de imagenes comprimidas, un modulo de cuantizacion inversa 920 para cuantizar de forma inversa la informacion de imagenes descomprimidas y un modulo de ABSDCT inversa 930 para convertir la informacion de imagenes inversamente cuantizadas, desde el dominio de la frecuencia al dominio espacial, para permitir la exhibicion de la imagen. El descompresor de imagenes 900 puede comprender ademas un descodificador de direcciones 940 para descodificar las ubicaciones de pixeles en base al sistema de indice y a un modulo de seleccion de parametros 950, para seleccionar los parametros de cuantizacion adecuados.
El modulo de descodificacion de longitud variable 910 descodifica la informacion de imagenes comprimidas para generar bloques de datos descodificados de longitud variable. El modulo de cuantizacion inversa 920 realiza la cuantizacion inversa. Dado que la cuantizacion en el compresor de imagenes 700 se basa en informacion de asignacion de tamano de bloque, la cuantizacion inversa en el descompresor de imagenes 900 tambien se basa en la asignacion de tamano de bloque. En particular, la asignacion de tamano de bloque y la direccion de los datos dentro del bloque de tamano n x n se utilizan para determinar el paso Q adecuado. Por otra parte, si la cuantizacion en el compresor de imagenes 700 se ha realizado usando funciones de ponderacion, se utiliza la informacion sobre la asignacion de tamano de bloque y la direccion de los datos para determinar la tabla de FWM adecuada.
Aunque la figura 9 muestra el modulo de direccion 940 y el modulo de seleccion de parametros 950 tal como se implementan por separado del modulo de cuantizacion 930, puede implementarse el modulo de direccion 940 o el modulo de seleccion de parametros 950, o ambos, como una parte del modulo de cuantizacion 930. Como alternativa, el modulo de direccion 940 y el modulo de seleccion de parametros de 950 pueden ser combinados e implementados por separado del modulo de cuantizacion 930. Ademas, el modulo de direccion 940 o el modulo de seleccion de parametros 950, o ambos, pueden implementarse mediante software, firmware o una combinacion de software, firmware y hardware.
Ademas, la cuantizacion inversa se puede implementar mediante dos multiplicadores. La posicion de los datos y la informacion de asignacion de tamano de bloque se utilizan por primera vez para seleccionar el valor inverso del paso Q. Un primer multiplicador multiplica los datos por el valor del paso Q. Al mismo tiempo, la posicion de los datos y la informacion de asignacion de tamano de bloque tambien se utilizan para seleccionar la tabla de FWM adecuada y para consultar el segundo multiplicador de cuantizacion inversa. A continuacion, un segundo multiplicador multiplica el resultado de la primera multiplicacion por el valor de FWM.
En un modo de realizacion, el descodificador de direcciones 940 descodifica la direccion de los datos en base al sistema de indice Y-X, como se describe con referencia a las figuras 6A a 6C. En consecuencia, la seleccion del (de los) parametro(s) de cuantizacion se basa en el sistema de indice Y-X y en la informacion de asignacion de tamano de bloque. Por ejemplo, para los datos de bloque de tamano 16x16, los indices Y y X se utilizan para determinar un valor de PQR variable en base a la ubicacion de los datos, y el valor de PQR variable se utiliza para seleccionar el paso Q adecuado y la tabla de FWM. Las figuras 10A y 10B muestran un modo de realizacion del ordenamiento de los bits de PQR Q0 a Q3 y P0 a P3, en base a la ubicacion de los datos, descodificada por el descodificador de direcciones 940, y las figuras 11A y 11B muestran un modo de realizacion de la seleccion de bloques de tamanos 8x8 y 4x4, en base a los indices Y y X.
Como se muestra, Q0 corresponde a (Y 3, X 3) = (0, 0), Q1 corresponde a (Y 3, X 3) = (0, 1), Q2 corresponde a (Y 3, X 3) = (1 , 0) y Q3 corresponde a (Y 3, X 3) = (1, 1). P0-0, P0-1, P0-2 y P0-3 corresponden a (Y 2, X 2) = (0, 0), (0, 1), (1, 0) y (1, 1), respectivamente, para (Y 3, X 3) = (0, 0). De forma similar, P1 -0, P1 -1, P1-2 y P1 -3 corresponden a (Y 2, X 2) = (0, 0), (0, 1), (1, 0) y (1, 1) respectivamente, para (Y 3 X 3) = (0, 1); P2-0, P2-1, P2-2 y P2-3 corresponden a (Y 2, X 2) = (0, 0), (0, 1), (1, 0) y (1, 1), respectivamente, para (Y 3 X 3) = (1, 0); y P3-0, P3-1, P3-2 y P3-3 corresponden a
5
10
15
20
25
30
35
40
45
50
55
60
65
(Y 2 X 2) = (0,0), (0,1), (1,0) y (1,1), respectivamente, para (Y3 X3) = (1,1).
En base al sistema de fndice Y-X, el descodificador de direcciones 940 determina los fndices Y-X para cada una de las posiciones de los pfxeles de los datos del bloque de tamano 16x16. El modulo de seleccion de parametros 950 recibe los fndices Y-X desde el descodificador de direcciones y tambien recibe la informacion de PQR para el bloque de tamano 16x16. Utilizando los fndices Y-X y la informacion de PQR, el modulo de seleccion de parametros 950 determina el valor de PQR y selecciona el paso Q y la tabla de FWM adecuados. A continuacion, el modulo de cuantizacion 930 puede cuantizar los datos de imagenes descomprimidas usando los valores seleccionados del paso Q y de la ponderacion de frecuencia.
La figura 12 muestra un modo de realizacion de un modulo de seleccion de parametros 1200 que comprende los multiplexores (MUX) 1210 a 1260 y una formacion 1270. La figura 13 muestra otro modo de realizacion de un modulo de seleccion de parametros 1300 que comprende los multiplexores (MUX) 1310 a 1330 y una formacion 1370. En el modulo de seleccion de parametros 1200 y 1300, la formacion 1270 y la formacion 1370 comprenden, cada una, campos que representan los bits de Q0 a Q3 y los bits de P0 a P3 para cada bit de Q0 a Q3. En un modo de realizacion, los valores de las formaciones 1270 y 1370 se fijan inicialmente en un valor por omision, por ejemplo, cero. Una vez que se recibe la informacion de PQR, los modulos de seleccion de parametros 1200 y 1300 almacenan la informacion de PQR en los campos correspondientes. Ademas, el primer valor, o valor R, del valor PQR variable es el bit R de la informacion de PQR. Por otra parte, el MUX 1210 y el MUX 1310, respectivamente, seleccionan un segundo valor, o valor Q, del valor PQR variable en base a los fndices Y 3 y X 3.
En el modulo de seleccion de parametros 1200, cada uno de los MUX 1220 a 1250 selecciona un bit P en base a los fndices Y 2 y X 2. A continuacion, el tercer valor, o valor P, del valor PQR variable es seleccionado por el MUX 1260 en base a los fndices Y3 y X 3. Como alternativa, en el modulo de seleccion de parametros 1300, un conjunto de bits P, correspondiente a P0, P1, P2 o P3, son seleccionados por el MUX 1320 en base a los fndices Y 3 y X 3. A continuacion, el tercer valor, o valor P, es seleccionado por el MUX 1330 en base a los fndices Y2 y X2.
La figura 14 muestra un modo de realizacion de un procedimiento 1400 para seleccionar el parametro de cuantizacion adecuado para un bit de datos de un bloque de datos de tamano 16x16. El procedimiento 1400 comprende la determinacion de un valor de PQR variable basado en los fndices Y-X (1410) y la seleccion del parametro de cuantizacion en base al valor de PQR variable (1450). El valor de R se selecciona directamente a partir del primer bit, o bit R, de la informacion de PQR (1412). El valor de Q se selecciona mediante el MUX 1210, en base a los fndices Y 3 y X 3 (1414). Por ejemplo, si (Y3, X3) = (0, 1), se selecciona el valor del campo Ql. A continuacion, se selecciona el valor de P en base a todos los fndices Y 3, X 3 e Y2, X 2 (1416).
En un modo de realizacion, cada uno de los MUX 1220 a 1250 selecciona un valor de un campo P en base a los fndices Y 2 y X 2. Por ejemplo, si (Y 2, X2) = (1, 1), cada uno de los MUX 1220 a 1250 seleccionarfa, respectivamente, el valor de los campos P0-3, P1 -3, P2-3 y P3-3. A continuacion, el valor P es seleccionado por el MUX 1260 a partir de uno de los MUX 1220 a 1250, en base a los fndices Y 3 y X 3. Por ejemplo, para (Y3, X3) = (0, 1), se selecciona P1-3 desde el MUX 1230. En un segundo modo de realizacion, un conjunto de valores P son seleccionados por el MUX 1320 en base a los fndices Y 3 y X 3. Por ejemplo, si (Y 3, X 3) = (0, 1), se seleccionan los valores P que corresponden a PI y se emitiran los valores de los campos P1-0, P1-1, P1-2 y P1-3. A continuacion, el valor P es seleccionado por el MUX 1330 a partir de uno de los campos P, en base a los fndices Y2 X2. Por ejemplo, para (Y 2, X2,) = (1, 1), se selecciona el valor del campo P1 -3.
A partir de entonces, puede implementarse la seleccion de la tabla de FWM y del paso Q adecuados, de la forma siguiente. Si PQR = 000, se selecciona un parametro de tamano 16x16 (1452 y 1454). Si PQR = 001, se selecciona un parametro de tamano 8x8 (1456 y 1458). Si PQR = 011, se selecciona un parametro de tamano 4x4 (1460 y 1462). De lo contrario, se selecciona un parametro de tamano 2x2 (1464).
La figura 15 muestra otro modo de realizacion de un procedimiento 1500 para seleccionar el parametro de cuantizacion adecuado para un bloque de datos de tamano 16x16. Aquf, el parametro de cuantizacion puede ser el paso Q, o tanto el paso Q como la tabla de FWM, como se ha descrito anteriormente. Para cada dato de pfxel del bloque de tamano 16x16, se toma una determinacion en cuanto a si R = 0 o no (1510). Si el valor de R = 0, entonces se selecciona el paso Q y la tabla de FWM de tamano 16x16 (1520). Si el valor de R ^ 0, se obtiene el bit Q correspondiente a Y3 y X3 (bloque 1530) y se toma una determinacion en cuanto a si el valor obtenido de Q = 0 o no (1540). Si el valor de Q = 0, entonces se seleccionan el paso Q y la tabla de FWM de tamano 8x8 (1550). Si el valor de Q ^ 0, se obtiene el bit P correspondiente a Y2 y X2 para el cuadrante correspondiente a Y3 y X 3 (1560) y se toma una determinacion en cuanto a si el valor obtenido de P = 0 o no (1570). Si el valor de P = 0, entonces se seleccionan el paso Q y la tabla de FWM de tamano 4x4 (1580). De lo contrario, se selecciona la etapa Q y la tabla de FWM 2X 2 (1590).
Como alternativa, la figura 16 muestra otro modo de realizacion de un procedimiento 1600 para seleccionar el parametro de cuantizacion adecuado para unos datos de bloque de tamano 16x16. Como en el procedimiento 1500, el parametro de cuantizacion puede ser el paso Q, o tanto el paso Q como la tabla de FWM. Ademas, en este modo de realizacion, se utiliza un medio de almacenamiento para almacenar la tabla de FWM y/o los valores del paso Q,
5
10
15
20
25
30
35
40
45
50
55
60
65
segun lo determinado para cuadrantes o sub-bloques. En primer lugar, se toma una determinacion en cuanto a si los datos son los primeros datos de pfxeles del bloque de imagen (bloque 1610). Si los datos son los primeros datos de pfxeles, se toma una determinacion en cuanto a si R = 0 o no (bloque 1615). Si R = 0, entonces se seleccionan la tabla de FWM de tamano 16x16 y el paso Q, y se almacenan en el medio de almacenamiento para su uso en los datos restantes del bloque de tamano 16x16 (bloque 1620). Si los datos no son los primeros datos de pfxeles o si R * 0, se toma una determinacion en cuanto a si se conoce el parametro para la posicion de los pfxeles de los datos (bloque 1625). Si se conoce, se selecciona el parametro conocido (bloque 1630). Aquf, se comprueba el medio de almacenamiento para determinar si se ha almacenado una seleccion de parametros para la posicion de pfxel correspondiente. En un modo de realizacion, el medio de almacenamiento puede ser una tabla de consulta.
Si el parametro no se conoce, se determina el cuadrante o sub-bloque de tamano 8x8 en el que se encuentra la posicion de pfxeles de los datos, utilizando los fndices Y3 y X3 (bloque 1635). Si el correspondiente Q = 0, se seleccionan la tabla de FWM de tamano 8x8 y el paso Q, y se almacenan para los datos restantes en el cuadrante correspondiente de tamano 8x8 (bloques 1640 y 1645). Si Q * 0, el cuadrante o sub-bloque de tamano 4x4, en el que se encuentra la posicion de pfxeles de los datos, se determina usando los fndices Y2, X 2 e Y 3, X 3 (bloque 1650). Si el correspondiente P = 0, se seleccionan la tabla de FWM de tamano 4x4 y el paso Q, y se almacenan para los datos restantes en el correspondiente cuadrante de tamano 4x4 (bloques 1655 y 1660). Si P * 0, se seleccionan la tabla de FWM de tamano 2x2 y el paso Q, y se almacenan para los datos en los correspondientes cuadrantes o sub-bloques de tamano 2x2 del cuadrante de tamano 4x4 (bloque 1665).
Por lo tanto, pueden seleccionarse los parametros de cuantizacion adecuados en base a las posiciones de los pfxeles de los datos y a la asignacion de tamano de bloque. En consecuencia, el descompresor de imagenes 900 descodifica con longitud variable y cuantiza inversamente los datos comprimidos, usando los parametros de cuantizacion adecuados. Despues de la cuantizacion inversa, se lleva a cabo una ABSDCT inversa para recuperar la informacion de imagenes original.
Los datos de imagenes descomprimidas pasan por una conversion de digital a analogico, y las senales analogicas se emiten al proyector 177. Como alternativa, se puede utilizar una interfaz digital para transmitir los datos de imagenes digitales descomprimidas al proyector 177, obviando la necesidad del proceso de digital a analogico. El descompresor de audio 830 realiza el descifrado, si es necesario, y re-ensambla el audio original para su presentacion en los altavoces de un cine, o en el modulo de sonido de audio 179. La salida de esta operacion puede proporcionar senales de audio de nivel de lfnea estandar al modulo de sonido 179. De manera similar al descompresor de imagenes 820, la descompresion de audio se realiza con un algoritmo simetrico al usado en el nodo central 102 para la compresion de audio. Como se ha expuesto anteriormente, las pistas de audio y de datos pueden sincronizarse temporalmente con los programas de imagen, o pueden presentarse de manera asfncrona sin sincronizacion temporal directa.
Cabe apreciar que los modos de realizacion anteriores son simplemente ejemplares y no han de interpretarse como limitadores de la invencion. Por ejemplo, la invencion puede implementarse mediante hardware, software, firmware o cualquier combinacion de los mismos. Cuando se implementan en software o firmware, los elementos de la invencion son el codigo de programa o los segmentos de codigo para realizar las tareas necesarias. Un segmento de codigo puede representar un procedimiento, una funcion, un subprograma, un programa, una rutina, una subrutina, un modulo, un paquete de software, una clase o cualquier combinacion de instrucciones, estructuras de datos o sentencias de programa. Un segmento de codigo puede acoplarse a otro segmento de codigo o a un circuito de hardware, pasando y/o recibiendo informacion, datos, argumentos, parametros o contenidos de memoria. La informacion, los argumentos, los parametros, los datos, etc., se pueden pasar, remitir o transmitir mediante cualquier medio adecuado que incluya la comparticion de memoria, el paso de mensajes, el paso de testigos, la transmision por red, etc.
El codigo de programa, o los segmentos de codigo, pueden almacenarse en un medio legible por maquina, tal como un medio legible por procesador o un producto de programa de ordenador, o transmitirse mediante una senal de datos de ordenador, realizada en una onda portadora o una senal modulada por una portadora sobre un medio de transmision o enlace de comunicacion. El medio legible por maquina o el medio legible por procesador pueden incluir cualquier medio que pueda almacenar o transferir informacion en un formato legible y ejecutable por una maquina (por ejemplo, un procesador, un ordenador, etc.). Entre los ejemplos de medio legibles por maquina / procesador se incluyen un circuito electronico, un dispositivo de memoria de semiconductores, una memoria de solo lectura (ROM), una memoria flash, una ROM programable y borrable (EPROM), un disquete, un CD-ROM en disco compacto y un disco optico, un disco duro, un medio de fibra optica y un enlace de radiofrecuencia (RF). La senal de datos de ordenador puede incluir diversas senales que pueden propagarse por un medio de transmision, tal como los canales de red electronica, las fibras opticas, el aire, los campos electromagneticos, los enlaces de RF, etc. Los segmentos de codigo se pueden descargar mediante redes tales como Internet, una Intranet, etc.
Ademas, el modulo de reproduccion 173 y el descodificador 175 pueden integrarse en un unico modulo reproductor- descodificador. La codificacion puede incluir otros procesos tales como la transformacion diferencial de arbol cuadruple. En tal caso, la descodificacion incluina la transformacion diferencial inversa de arbol cuadruple. Ademas, se puede utilizar un valor de bit de 1, en lugar de 0, para indicar que un bloque esta subdividido en la informacion de
PQR. De manera similar, los valores de bit de los indices X e Y pueden invertirse. Ademas, aunque la invencion se ha descrito con referencia a un bloque de datos de tamano n x n, la invencion es aplicable a un bloque de tamano n x m, donde n * m. Ademas, la invencion es aplicable para la seleccion de parametros distintos a los parametros de cuantizacion si el parametro depende del tamano de bloque de datos, donde haya diferentes tamanos de bloque de 5 datos.
Por consiguiente, la descripcion de la invencion pretende ser ilustrativa, y no limitar el alcance de las reivindicaciones. Como tal, las presentes ensenanzas pueden aplicarse inmediatamente a otros tipos de aparatos, y muchas alternativas, modificaciones y variaciones seran evidentes para los expertos en la tecnica.
10

Claims (3)

  1. 5
    10
    15
    20
    25
    30
    35
    40
    45
    50
    55
    60
    65
    REIVINDICACIONES
    Un procedimiento, que comprende:
    descodificar con longitud variable informacion comprimida (DC, PQR, AC) para generar un bloque de datos descodificados de longitud variable;
    determinar una direccion de datos dentro del bloque de datos descodificados de longitud variable, en el que la determinacion de la direccion de los datos comprende la determinacion de los indices Y y X para una posicion de coeficiente de transformacion cuantizado dentro del bloque de datos descodificados de longitud variable, en base a un sistema de indices Y y X, en el que los indices Y y X determinan una ubicacion del dominio de la frecuencia en la que se encuentra el coeficiente de transformacion cuantizado;
    determinar (1410) un valor variable en base a una informacion de asignacion de tamano de bloque (PQR) y a los indices Y y X;
    seleccionar (1450) un parametro de cuantizacion (paso Q, FWM) en base al valor variable determinado; y
    cuantizar de forma inversa los datos dentro del bloque de datos descodificados de longitud variable, utilizando el parametro de cuantizacion seleccionado.
    El procedimiento de la reivindicacion 1, en el que el bloque de datos es un bloque de datos de tamano 16x16, y en el que la informacion de asignacion de tamano de bloque comprende:
    un primer bit que indica si el bloque de datos de tamano 16x16 se divide en sub-bloques de tamano 8x8; y
    segundos bits, si el primer bit indica que el bloque de tamano 16x16 se divide en sub-bloques de tamano 8x8, indicando cada segundo bit si un correspondiente sub-bloque de tamano 8x8 se divide en sub- bloques de tamano 4x4.
    El procedimiento de la reivindicacion 2, en el que la determinacion del valor variable comprende:
    determinar (1412) un primer valor del valor variable como el primer bit de la informacion de asignacion de tamano de bloque;
    seleccionar (1414) uno de los segundos bits de la informacion de asignacion de tamano de bloque como un segundo valor del valor variable, en base a los indices Y y X, si la informacion de asignacion de tamano de bloque comprende segundos bits y, en caso contrario, seleccionar un valor por omision como el segundo valor del valor variable; y
    seleccionar (1416) uno de los terceros bits de la informacion de asignacion de tamano de bloque como un tercer valor del valor variable, en base a los indices Y y X, si la informacion de asignacion de tamano de bloque comprende terceros bits y, en caso contrario, seleccionar un valor por omision como el tercer valor del valor variable.
    El procedimiento de la reivindicacion 2, en el que la seleccion del parametro de cuantizacion comprende: determinar (1510) si el primer bit es un cierto valor de bit;
    seleccionar (1520) un parametro de tamano 16x16 en base a los indices Y y X si el primer bit es un cierto valor de bit, determinar (1540) si un segundo bit, correspondiente a un sub-bloque de tamano 8x8, es un cierto valor de bit;
    seleccionar (1550) un parametro de tamano 8x8 en base a los indices Y y X si el segundo bit es un cierto valor de bit; y, en caso contrario, seleccionar (1580) un parametro de tamano 4x4 en base a los indices Y y X.
    El procedimiento de la reivindicacion 2, en el que la seleccion del parametro de cuantizacion comprende: determinar (1615) si el primer bit es un cierto valor de bit;
    seleccionar y almacenar (1620) un parametro de tamano 16x16 para el bloque de tamano 16x16, si el primer bit es un cierto valor de bit y, en caso contrario, determinar (1625) si se conoce el parametro de cuantizacion para la ubicacion de los datos dentro del bloque de datos;
    determinar (1635) el sub-bloque de tamano 8x8 en el que los datos se localizan en base a los indices Y y
    5
    10
    15
    20
    25
    30
    35
    40
    45
    50
    55
    60
    65
    X, si no se conoce el parametro de cuantizacion para la ubicacion de los datos;
    determinar (1650) si el segundo bit correspondiente al sub-bloque de tamano 8x8 es un cierto valor de bit;
    seleccionar y almacenar (1645) un parametro de tamano 8x8 para el sub-bloque de tamano 8x8 si el segundo bit es un cierto valor de bit y, en otro caso, determinar el sub-bloque de tamano 4x4 en el que se localizan los datos en base a los indices Y y X;
    determinar (1655) si un tercer bit correspondiente al sub-bloque de tamano 4x4 es un cierto valor de bit; y
    seleccionar y almacenar (1660) un parametro de tamano 4x4 para el sub-bloque de tamano 4x4 si el tercer bloque es un cierto valor de bit y, de lo contrario, seleccionar y almacenar un parametro de tamano 2x2 para los sub-bloques de tamano 2x2 del sub-bloque de tamano 4x4.
    Un aparato (900), que comprende:
    medios (910) para la descodificacion de longitud variable de informacion comprimida (DC, PQR, AC) para generar un bloque de datos descodificados de longitud variable;
    medios (940) para determinar una direccion de datos dentro del bloque de datos descodificados de longitud variable, en el que los medios para la determinacion estan configurados para determinar los indices Y y X para una posicion de coeficiente de transformacion cuantizado, dentro del bloque de datos descodificados de longitud variable, en base a un sistema de indices Y y X, en el que los indices Y y X determinan una ubicacion del dominio de la frecuencia en la que se localiza el coeficiente de transformacion cuantizado;
    medios para determinar un valor variable en base a la informacion de asignacion de tamano de bloque (PQR) y a los indices Y y X;
    medios (950) para seleccionar un parametro de cuantizacion (paso Q, FWM) en base al valor variable determinado; y
    medios (920) para cuantizar de forma inversa los datos dentro del bloque de datos descodificados de longitud variable, utilizando el parametro de cuantizacion seleccionado.
    El aparato (900) de la reivindicacion 6, en el que el bloque de datos descodificados de longitud variable es un bloque de datos de tamano 16x16 y en el que la informacion de asignacion de tamano de bloque comprende:
    un primer bit que indica si el bloque de datos de tamano 16x16 se divide en sub-bloques de tamano 8x8; y
    segundos bits, si el primer bit indica que el bloque de tamano 16x16 se divide en sub-bloques de tamano 8x8, indicando cada segundo bit si un correspondiente sub-bloque de tamano 8x8 se divide en sub- bloques de tamano 4x4.
    El aparato (900) de la reivindicacion 7, en el que el medio para determinar el valor variable comprende:
    medios para determinar un primer valor del valor variable como el primer bit de la informacion de asignacion de tamano de bloque;
    medios para seleccionar uno de los segundos bits de la informacion de asignacion de tamano de bloque, como un segundo valor del valor variable, en base a los indices Y y X, si la informacion de asignacion de tamano de bloque comprende segundos bits y, en caso contrario, seleccionar un valor por omision como el segundo valor del valor variable; y
    medios para seleccionar uno de los terceros bits de la informacion de asignacion de tamano de bloque como un tercer valor del valor variable, en base a los indices Y y X, si la informacion de asignacion de tamano de bloque comprende terceros bits y, en caso contrario, seleccionar un valor por omision como el tercer valor del valor variable.
    El aparato (900) de la reivindicacion 6, en el que el medio para seleccionar el parametro de cuantizacion comprende:
    medios para determinar si el primer bit es un cierto valor de bit;
    medios para seleccionar un parametro de tamano 16x16 en base a los indices Y y X si el primer bit es un cierto valor de bit, y
    5
    10
    15
    20
    25
    30
    determinar si un segundo bit correspondiente a un sub-bloque de tamano 8x8 es un cierto valor de bit;
    medios para seleccionar un parametro de tamano 8x8 en base a los indices Y y X si el segundo bit es un cierto valor de bit; y, en caso contrario, seleccionar un parametro de tamano 4x4 en base a los indices Y y X.
  2. 10. El aparato (900) segun la reivindicacion 7, en el que la seleccion del parametro de cuantizacion comprende:
    medios para determinar si el primer bit es un cierto valor de bit;
    medios para seleccionar y almacenar un parametro de tamano 16x16 para el bloque de tamano 16x16, si el primer bit es un cierto valor de bit y, en caso contrario, determinar si se conoce el parametro de cuantizacion para la ubicacion de los datos dentro del bloque de datos;
    medios para determinar el sub-bloque de tamano 8x8 en el que se encuentran los datos, en base a los indices Y y X, si no se conoce el parametro de cuantizacion para la ubicacion de los datos;
    medios para determinar si el segundo bit, correspondiente al sub-bloque de tamano 8x8, es un cierto valor de bit;
    medios para seleccionar y almacenar un parametro de tamano 8x8 para el sub-bloque de tamano 8x8 si el segundo bit es un cierto valor de bit y, en caso contrario, determinar el sub-bloque de tamano 4x4 en el que se encuentran los datos, en base a los indices Y y X;
    medios para determinar si un tercer bit, correspondiente al sub-bloque de tamano 4x4, es un cierto valor de bit; y
    medios para seleccionar y almacenar un parametro de tamano 4x4 para el sub-bloque de tamano 4x4 si el tercer bloque es un cierto valor de bit y, de lo contrario, seleccionar y almacenar un parametro de tamano 2x2 para los sub-bloques de tamano 2x2 del sub-bloque de tamano 4x4.
  3. 11. Un medio legible por ordenador que realiza instrucciones que, cuando son ejecutadas por un procesador, hacen que el procesador lleve a cabo el procedimiento de una cualquiera de las reivindicaciones 1 a 5.
ES03796288.3T 2002-07-30 2003-07-30 Selección de parámetros en la compresión y descompresión de datos Expired - Lifetime ES2598403T3 (es)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US39983802P 2002-07-30 2002-07-30
US399838P 2002-07-30
US10/630,511 US6975773B1 (en) 2002-07-30 2003-07-29 Parameter selection in data compression and decompression
US630511 2003-07-29
PCT/US2003/024152 WO2004036501A2 (en) 2002-07-30 2003-07-30 Parameter selection in data compression and decompression

Publications (1)

Publication Number Publication Date
ES2598403T3 true ES2598403T3 (es) 2017-01-27

Family

ID=32853150

Family Applications (1)

Application Number Title Priority Date Filing Date
ES03796288.3T Expired - Lifetime ES2598403T3 (es) 2002-07-30 2003-07-30 Selección de parámetros en la compresión y descompresión de datos

Country Status (15)

Country Link
US (3) US6975773B1 (es)
EP (1) EP1525562B1 (es)
JP (1) JP4819361B2 (es)
KR (2) KR20100113645A (es)
CN (1) CN1320504C (es)
AU (1) AU2003298536B2 (es)
CA (1) CA2493757A1 (es)
DK (1) DK1525562T3 (es)
ES (1) ES2598403T3 (es)
HK (1) HK1079317A1 (es)
HU (1) HUE028871T2 (es)
MX (1) MXPA05001144A (es)
PT (1) PT1525562T (es)
TW (1) TWI314302B (es)
WO (1) WO2004036501A2 (es)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6975773B1 (en) * 2002-07-30 2005-12-13 Qualcomm, Incorporated Parameter selection in data compression and decompression
US7126955B2 (en) 2003-01-29 2006-10-24 F5 Networks, Inc. Architecture for efficient utilization and optimum performance of a network
US8116374B2 (en) 2004-05-07 2012-02-14 Broadcom Corporation Method and system for generating a transform size syntax element for video decoding
US8159940B1 (en) 2004-11-11 2012-04-17 F5 Networks, Inc. Obtaining high availability using TCP proxy devices
GB0504570D0 (en) * 2005-03-04 2005-04-13 Falanx Microsystems As Method of and apparatus for encoding data
US20060222186A1 (en) * 2005-04-05 2006-10-05 Paige Robert F Multi-channel audio switch
US7783781B1 (en) 2005-08-05 2010-08-24 F5 Networks, Inc. Adaptive compression
KR100799904B1 (ko) * 2005-11-16 2008-01-31 엠텍비젼 주식회사 역 양자화기, 역 양자화 방법 및 그 방법을 기록한 기록 매체
US8275909B1 (en) 2005-12-07 2012-09-25 F5 Networks, Inc. Adaptive compression
US7882084B1 (en) 2005-12-30 2011-02-01 F5 Networks, Inc. Compression of data transmitted over a network
US8711925B2 (en) * 2006-05-05 2014-04-29 Microsoft Corporation Flexible quantization
US9418450B2 (en) 2006-08-31 2016-08-16 Ati Technologies Ulc Texture compression techniques
US8417833B1 (en) 2006-11-29 2013-04-09 F5 Networks, Inc. Metacodec for optimizing network data compression based on comparison of write and read rates
JP4901772B2 (ja) 2007-02-09 2012-03-21 パナソニック株式会社 動画像符号化方法及び動画像符号化装置
US8897359B2 (en) 2008-06-03 2014-11-25 Microsoft Corporation Adaptive quantization for enhancement layer video coding
KR20100095992A (ko) 2009-02-23 2010-09-01 한국과학기술원 비디오 부호화에서의 분할 블록 부호화 방법, 비디오 복호화에서의 분할 블록 복호화 방법 및 이를 구현하는 기록매체
US10897625B2 (en) * 2009-11-20 2021-01-19 Texas Instruments Incorporated Block artifact suppression in video coding
US8879632B2 (en) 2010-02-18 2014-11-04 Qualcomm Incorporated Fixed point implementation for geometric motion partitioning
SG184528A1 (en) * 2010-04-09 2012-11-29 Mitsubishi Electric Corp Moving image encoding device and moving image decoding device
ES2549734T3 (es) 2010-04-13 2015-11-02 Ge Video Compression, Llc Codificación de vídeo que usa subdivisiones multi-árbol de imágenes
KR102166520B1 (ko) 2010-04-13 2020-10-16 지이 비디오 컴프레션, 엘엘씨 샘플 영역 병합
KR101584480B1 (ko) 2010-04-13 2016-01-14 지이 비디오 컴프레션, 엘엘씨 평면 간 예측
CN106454371B (zh) 2010-04-13 2020-03-20 Ge视频压缩有限责任公司 解码器、数组重建方法、编码器、编码方法及存储介质
DK3177017T3 (da) * 2010-06-04 2020-03-02 Sony Corp Kodning af en qp og en delta qp for billedblokke, der er større end en minimumsstørrelse
JP5551274B2 (ja) * 2010-12-14 2014-07-16 シャープ株式会社 画像フィルタ装置
US20120183048A1 (en) * 2011-01-18 2012-07-19 Louis Joseph Kerofsky Video decoder with reduced dynamic range transform with multiple clipping
AU2016219700B2 (en) * 2011-01-18 2018-06-28 Dolby International Ab Video decoder with reduced dynamic range transform with inverse transform shifting memory
US20120183045A1 (en) * 2011-01-18 2012-07-19 Louis Joseph Kerofsky Video decoder with reduced dynamic range transform including clipping
US20120183047A1 (en) 2011-01-18 2012-07-19 Louis Joseph Kerofsky Video decoder with reduced dynamic range transform with inverse transform clipping
US9807395B2 (en) 2011-01-18 2017-10-31 Dolby International Ab Video decoder with reduced dynamic range transform with inverse transform shifting memory
US9201652B2 (en) 2011-05-03 2015-12-01 Qualcomm Incorporated Methods and apparatus for storage and translation of entropy encoded software embedded within a memory hierarchy
US20140286406A1 (en) * 2011-11-08 2014-09-25 Samsung Electronics Co., Ltd. Method for determining quantization parameters on basis of size of conversion block, and device for same
CN103458460B (zh) 2012-05-31 2017-04-12 国际商业机器公司 对信号数据进行压缩和解压缩的方法和装置
KR101367777B1 (ko) * 2012-08-22 2014-03-06 주식회사 핀그램 적응 이미지 압축시스템 및 그 방법
US8751832B2 (en) * 2013-09-27 2014-06-10 James A Cashin Secure system and method for audio processing
US9584701B2 (en) * 2014-01-06 2017-02-28 Panamorph, Inc. Image processing system and method
US11350015B2 (en) 2014-01-06 2022-05-31 Panamorph, Inc. Image processing system and method
KR102201027B1 (ko) 2014-03-24 2021-01-11 돌비 인터네셔널 에이비 고차 앰비소닉스 신호에 동적 범위 압축을 적용하는 방법 및 디바이스
KR102139159B1 (ko) * 2015-11-06 2020-07-29 후아웨이 테크놀러지 컴퍼니 리미티드 변환 계수의 역양자화 방법 및 장치, 그리고 디코딩 기기
CN111052742A (zh) * 2017-09-30 2020-04-21 深圳市大疆创新科技有限公司 图像处理

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6143875A (ja) * 1984-08-08 1986-03-03 Nippon Telegr & Teleph Corp <Ntt> ベ−シツクセル式全探索ベクトル量子化符号化器
US5241395A (en) * 1989-08-07 1993-08-31 Bell Communications Research, Inc. Adaptive transform coding using variable block size
US5021891A (en) 1990-02-27 1991-06-04 Qualcomm, Inc. Adaptive block size image compression method and system
US5107345A (en) 1990-02-27 1992-04-21 Qualcomm Incorporated Adaptive block size image compression method and system
JP3093233B2 (ja) * 1990-03-16 2000-10-03 キヤノン株式会社 画像符号化装置及びその方法
DE69222766T2 (de) 1991-06-04 1998-05-07 Qualcomm, Inc., San Diego, Calif. System zur adaptiven kompression der blockgrössen eines bildes
JPH0583566A (ja) * 1991-09-24 1993-04-02 N T T Data Tsushin Kk 画像符号化装置
US5764807A (en) * 1995-09-14 1998-06-09 Primacomp, Inc. Data compression using set partitioning in hierarchical trees
US6233017B1 (en) * 1996-09-16 2001-05-15 Microsoft Corporation Multimedia compression system with adaptive block sizes
JPH1118087A (ja) * 1997-06-20 1999-01-22 Olympus Optical Co Ltd 画像データの変換装置および変換方法
US20020056081A1 (en) * 1999-12-02 2002-05-09 Qualcomm Incorporated Apparatus and method for decoding digital image and audio signals
US6529634B1 (en) 1999-11-08 2003-03-04 Qualcomm, Inc. Contrast sensitive variance based adaptive block size DCT image compression
RU2257686C2 (ru) 1999-12-02 2005-07-27 Квэлкомм Инкорпорейтед Устройство и способ декодирования цифровых сигналов изображения и звука
US6600836B1 (en) 2000-01-28 2003-07-29 Qualcomm, Incorporated Quality based image compression
US20030053637A1 (en) * 2001-09-14 2003-03-20 Michael Rodemer Audio distributor
US6975773B1 (en) * 2002-07-30 2005-12-13 Qualcomm, Incorporated Parameter selection in data compression and decompression

Also Published As

Publication number Publication date
AU2003298536A1 (en) 2004-05-04
KR20050024513A (ko) 2005-03-10
CN1320504C (zh) 2007-06-06
JP2006516072A (ja) 2006-06-15
TWI314302B (en) 2009-09-01
HUE028871T2 (en) 2017-01-30
AU2003298536B2 (en) 2009-12-10
US20070248274A1 (en) 2007-10-25
WO2004036501A3 (en) 2004-07-08
TW200426712A (en) 2004-12-01
MXPA05001144A (es) 2005-05-16
US20060034532A1 (en) 2006-02-16
CA2493757A1 (en) 2004-04-29
HK1079317A1 (en) 2006-03-31
EP1525562A2 (en) 2005-04-27
US7593582B2 (en) 2009-09-22
KR101228391B1 (ko) 2013-01-31
WO2004036501A8 (en) 2004-08-19
US7388993B2 (en) 2008-06-17
US6975773B1 (en) 2005-12-13
CN1672177A (zh) 2005-09-21
WO2004036501A2 (en) 2004-04-29
DK1525562T3 (en) 2016-09-19
EP1525562B1 (en) 2016-08-17
KR20100113645A (ko) 2010-10-21
PT1525562T (pt) 2016-11-08
JP4819361B2 (ja) 2011-11-24

Similar Documents

Publication Publication Date Title
ES2598403T3 (es) Selección de parámetros en la compresión y descompresión de datos
KR101150576B1 (ko) 디지털 이미지 인코딩
JP2010176691A (ja) 情報ストリームを安全化する方法及びその装置
US20100095114A1 (en) Method and system for encrypting and decrypting data streams
JP4571412B2 (ja) ディジタル画像中のエラーを検出するための装置及び方法
ES2309379T3 (es) Aparato y procedimiento para codificacion por multiples descripciones.
TWI276360B (en) Apparatus and method for detecting error in a digital image