ES2615488T3 - Transformación y cuantificación de bloques mejorada para codificación de imagen y vídeo - Google Patents
Transformación y cuantificación de bloques mejorada para codificación de imagen y vídeo Download PDFInfo
- Publication number
- ES2615488T3 ES2615488T3 ES02019057.5T ES02019057T ES2615488T3 ES 2615488 T3 ES2615488 T3 ES 2615488T3 ES 02019057 T ES02019057 T ES 02019057T ES 2615488 T3 ES2615488 T3 ES 2615488T3
- Authority
- ES
- Spain
- Prior art keywords
- transformation
- coefficients
- inverse
- procedure
- quantified
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/14—Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
- G06F17/147—Discrete orthonormal transforms, e.g. discrete cosine transform, discrete sine transform, and variations therefrom, e.g. modified discrete cosine transform, integer transforms approximating the discrete cosine transform
-
- 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/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
-
- 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/124—Quantisation
- H04N19/126—Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Optimization (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Theoretical Computer Science (AREA)
- Discrete Mathematics (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Algebra (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)
- Complex Calculations (AREA)
- Image Processing (AREA)
Abstract
Un procedimiento para decodificar información de vídeo o de imagen, que comprende: recibir un conjunto de coeficientes (226) de transformación cuantificados; descuantificar (228) los coeficientes de transformación cuantificados en coeficientes (232) de transformación descuantificados, en el que los coeficientes de transformación cuantificados están dispuestos lógicamente en un bloque, y en el que para cada uno de los coeficientes de transformación cuantificados la descuantificación incluye: basándose en una posición del coeficiente de transformación cuantificado en el bloque, seleccionar un grupo de entre diversos grupos de factores (230) de cambio de escala; dependiendo de un parámetro de cuantificación, seleccionar un factor de cambio de escala en el grupo seleccionado; y multiplicar el coeficiente de transformación cuantificado por el factor de cambio de escala seleccionado; y aplicar un procedimiento (234) de transformación inversa a los coeficientes de transformación descuantificados para reconstruir información a partir de los mismos, aplicando el procedimiento de transformación inversa cálculos de transformación inversa que tienen valores tales que cada operación de multiplicación entre uno de los valores y uno de los coeficientes de transformación descuantificados en los cálculos de transformación inversa puede realizarse mediante una operación de desplazamiento, en el que el procedimiento de transformación inversa es ortogonal.
Description
5
10
15
20
25
30
35
40
45
50
55
DESCRIPCION
Transformacion y cuantificacion de bloques mejorada para codificacion de imagen y video Campo de la invencion
La invencion se refiere en general a la codificacion y decodificacion de senales de imagen y de video, y mas particularmente a una transformacion de bloques mejorada y transformacion inversa, junto con procedimientos de cuantificacion y descuantificacion, para codificar y decodificar senales de video de imagen.
Antecedentes de la invencion
La Transformada de Coseno Discreta (DCT) se usa comunmente en codificacion de transformacion de bloques de imagen y video (secuencias de imagenes), por ejemplo, JPEG y MPEG. Entre otras razones, esto es debido a que la DCT separa senales aleatorias (tales como las que corresponden a datos de imagen) en partes de frecuencia baja de importancia mayor y partes de frecuencia alta de importancia menor con respecto a la calidad visual de la imagen, facilitando por lo tanto la compresion.
A modo de ejemplo, H.26L es una tecnologia de codec de imagen y/o video que construye fotogramas usando bloques de pixeles de cuatro por cuatro. A diferencia de MPEG y JPEG, que usa bloques de ocho por ocho, H.26L obtiene compresion de calidad relativamente alta con bloques de pixeles de cuatro por cuatro usando informacion de prediction de otros bloques existentes en el mismo fotograma, (es decir, codificacion intra-fotograma), ademas de estimation y compensation de movimiento entre fotogramas, (es decir, codificacion inter-fotograma). En general, para conseguir prediccion intra-fotograma, un codificador H.26L indica al correspondiente decodificador H.26L cual otro bloque de pixeles anterior en el fotograma que se esta creando se esta usando como una base para la prediccion, junto con identificar cuales de los seis posibles predictores (formulas) usar al determinar los pixeles para el nuevo bloque (a partir de aquellos del bloque intra-fotograma anterior). Esto conduce a un error de prediccion, que se proporciona tambien al decodificador para corregir el nuevo bloque. La informacion de error de prediccion se codifica con la transformacion de bloques (DCT) y se envia codificada al decodificador, para recalcular la informacion de error, que incluye mediante una transformacion inversa, corregir el bloque predicho.
La codificacion o decodificacion de imagen y video toma una cantidad significativa de potencia de procesamiento. Como es conocido, un codificador tipicamente tiene mucha mas potencia de procesamiento que muchos de los decodificadores que conviertan los datos a imagenes, ya que los decodificadores se implementan tipicamente en dispositivos de consumo. Por ejemplo, la decodificacion de imagen y video puede tener lugar en decodificadores de salon de television, asistentes digitales personales (PDA), ordenadores personales de tamano de bolsillo y telefonos celulares mas avanzados.
Por lo tanto, cuando se consideran procedimientos de codificacion y decodificacion de imagen y video, mantener la decodificacion sencilla es importante, incluso si significa que la codificacion tiene que realizarse computacionalmente de manera mas compleja. Cualquier cosa que pueda simplificar la decodificacion es deseable, con la codificacion de que al hacer esto, los procedimientos de codificacion y decodificacion no impacten de manera adversa los niveles de compresion existentes, la calidad de imagen final y la cantidad de otros recursos necesarios en el decodificador en cualquier manera sustancial con relation a la tecnologia existente.
Sumario de la invencion
En resumen, la presente invencion proporciona un procedimiento, sistema y transformacion de bloques mejorados que simplifican significativamente la complejidad computacional para imagenes y video tanto en el codificador como en el decodificador. Al mismo tiempo, la compresion, la calidad de imagen / video y otros recursos unicamente se ven afectados de manera despreciable.
Mas particularmente, se proporciona una transformacion de bloques ortogonal y correspondiente transformacion inversa con nuevas aproximaciones de numeros enteros a la Transformada de Coseno Discreta (DCT), junto con otros cambios informaticos que reducen significativamente la complejidad computacional tanto en el codificador como en el decodificador. De hecho, en una implementation, en el codificador y decodificador, el numero de operaciones de transformacion, por coeficiente, se ha reducido a cuatro adiciones y un desplazamiento en aritmetica de 16 bits, (de cuatro adiciones y tres multiplicaciones en aritmetica de 32 bits requeridas con la transformacion especificada para H.26L). La presente invencion transforma correctamente la informacion de pixel (por ejemplo, datos de correction de errores) debido a la cuantificacion (cambio de escala y redondeo a un numero entero) durante la codificacion, y a la descuantificacion durante la decodificacion, mediante el uso de una de tres tablas seleccionadas basandose en cada position del coeficiente, tener valores de parametros que ya compensan factores de otras multiplicaciones de transformacion, excepto para el realizado mediante la operation de desplazamiento durante los procedimientos de transformacion y transformacion inversa.
Ademas, durante la decodificacion, en cada coeficiente cuantificado, el decodificador puede realizar una multiplication de dieciseis bits para descuantificar ese coeficiente cuantificado en un coeficiente de transformacion, en lugar de una multiplicacion de treinta y dos bits (como se requiere en H.26L). En muchos dispositivos, con
5
10
15
20
25
30
35
40
45
50
55
imageries y video tlpicos, los beneficios de procesamiento de la presente invencion son por lo tanto significativos con relacion a H.26L, especialmente en el decodificador, unicamente con una perdida de calidad y/o compresion despreciable, si es que la hubiera.
Otros beneficios y ventajas seran evidentes a partir de la siguiente descripcion detallada cuando se toma en conjunto con los dibujos, en los que:
Breve descripcion de los dibujos
La Figura 1 es un diagrama de bloques que representa un sistema informatico ejemplar en el que puede incorporarse la presente invencion;
la Figura 2 es un diagrama de bloques que representa componentes usados al codificar plxeles de datos de video o de imagen en video codificado, y decodificar el video codificado en informacion de pixel, incluyendo transformacion, cuantificacion y descuantificacion y transformation inversa de acuerdo con un aspecto de la presente invencion;
la Figura 3 es una representation de una estructura en mariposa que representa la matriz de transformacion mejorada de acuerdo con un aspecto de la presente invencion; y
la Figura 4 es una representacion de una estructura en mariposa que representa la matriz de transformacion inversa mejorada de acuerdo con un aspecto de la presente invencion.
Descripcion detallada
ENTORNO DE OPERACION EJEMPLAR
La Figura 1 ilustra un ejemplo de un entorno 120 informatico adecuado en el que puede implementarse la invencion, particularmente para decodificar datos de imagen y/o video. El entorno 120 de operation es unicamente un ejemplo de un entorno informatico adecuado y no se pretende sugerir ninguna limitation en cuanto al alcance de uso o funcionalidad de la invencion. Otros sistemas, entornos y/o configuraciones informaticas bien conocidas que pueden ser adecuadas para uso con la invencion incluyen, pero sin limitacion, ordenadores personales, ordenadores de servidor, dispositivos de mano o portatiles, sistemas multiprocesador, sistemas basado en microprocesador, electronica de consumo programable, PC de red, miniordenadores, ordenadores centrales, entornos informaticos distribuidos que incluyen cualquiera de los sistemas o dispositivos y similares. Por ejemplo, es probable que la imagen de codification y/o los datos de imagen de video a menudo se realicen en un ordenador con mas potencia de procesamiento que los ordenadores personales portatiles modernos, pero no hay razon para que la codificacion no pueda realizarse en el dispositivo ejemplar, o la decodificacion en una maquina mas potente.
La invencion puede describirse en el contexto general de instrucciones ejecutables por ordenador, tales como modulos de programa, ejecutados mediante uno o mas componentes u otros dispositivos. En general, los modulos de programa incluyen rutinas, programas, objetos, componentes, estructuras de datos y as! sucesivamente que realizan tareas particulares o implementan tipos de datos abstractos particulares. Tlpicamente la funcionalidad de los modulos de programa puede combinarse o distribuirse segun se desee en diversas realizaciones. El dispositivo 120 informatico tlpicamente incluye al menos alguna forma de medio legible por ordenador. Medio legible por ordenador puede ser cualquier medio disponible que pueda accederse por el dispositivo 120 informatico. A modo de ejemplo, y no como limitacion, el medio legible por ordenador puede comprender medio de almacenamiento informatico y medio de comunicacion. Medio de almacenamiento informatico incluye, medio extralble y no extralble volatil y no volatil implementado en cualquier procedimiento o tecnologla para almacenamiento de informacion tal como instrucciones legibles por ordenador, estructuras de datos, modulos de programa u otros datos. Medio de almacenamiento informatico incluye, pero sin limitacion, RAM, ROM, EEPROM, memoria flash u otra tecnologla de memoria, CD-ROM, discos versatiles digitales (DVD) u otro almacenamiento optico, casetes magneticos, cinta magnetica, almacenamiento de disco magnetico u otros dispositivos de almacenamiento magnetico, o cualquier otro medio que pueda usarse para almacenar la informacion deseada y que pueda accederse por el dispositivo 120 informatico. Los medios de comunicacion tlpicamente incorporan instrucciones legibles por ordenador, estructuras de datos, modulos de programa u otros datos en una senal de datos modulada tal como una onda portadora u otros mecanismos de transporte e incluyen cualquier medio de entrega de informacion. La expresion “senal de datos modulada” significa una senal que tiene una o mas de sus caracterlsticas establecidas o cambiadas de tal manera para codificar informacion en la senal. A modo de ejemplo, y no como limitacion, medio de comunicacion incluye medio cableado tal como una red cableada o conexion cableada directa, y medio inalambrico tal como medio acustico, RF, infrarrojos y otro. Las combinaciones de cualquiera de lo anterior deberlan incluirse tambien en el alcance de medio legible por ordenador.
La Figura 1 muestra componentes funcionales de un dispositivo 120 informatico portatil de este tipo, que incluye un procesador 122, una memoria 124, una pantalla 126, y un teclado 128 (que pueden ser un teclado flsico o virtual). La memoria 124 incluye en general tanto memoria volatil (por ejemplo, RAM) como memoria no volatil (por ejemplo, ROM, tarjetas PCMCIA, y as! sucesivamente). Un sistema 130 operativo esta residente en la memoria 124 y se ejecuta en el procesador 122, tal como el sistema operativo Windows® CE de Microsoft® Corporation, u otro sistema operativo.
5
10
15
20
25
30
35
40
45
50
Uno o mas programas 132 de aplicacion se cargan en memoria 124 y se ejecutan en el sistema 130 operativo. Ejemplos de aplicaciones incluyen programas de correo electronico, programas de agenda, programas de PIM (gestion de informacion personal), programas de procesamiento de textos, programas de hojas de calculo, programas de explorador de internet y as! sucesivamente. El ordenador 120 personal portatil puede incluir tambien un gestor 134 de notificacion cargado en la memoria 124, que se ejecuta en el procesador 122. El gestor 134 de notificacion maneja solicitudes de notificacion, por ejemplo, desde los programas 132 de aplicacion.
El ordenador 120 personal portatil tiene una fuente 136 de alimentacion, que se implementa como una o mas baterlas. La fuente 136 de alimentacion puede incluir adicionalmente una fuente de alimentacion externa que reemplaza o recarga las baterlas integradas, tal como un adaptador de CA o una base de acoplamiento alimentada.
El ordenador 120 personal portatil ejemplar representado en la Figura 1 se muestra con tres tipos de mecanismos de notificacion externos: uno o mas diodos 140 de emision de luz (LED) y un generador 144 de audio. Estos dispositivos pueden estar directamente acoplados a la fuente 136 de alimentacion de modo que cuando se activan, pueden permanecer encendidos durante una duracion dictada por un mecanismo de notificacion incluso aunque el procesador 122 del ordenador personal portatil y otros componentes deban desconectarse para conservar potencia de baterla. El LED 140 permanece encendido preferentemente o de manera indefinida hasta que el usuario actua. Observese que las versiones modernas del generador 144 de audio usan demasiada potencia para las baterlas de los ordenadores personales portatiles de hoy en dla y por eso estan configurados para apagarse cuando el resto del sistema lo hace o a alguna duracion finita despues de la activacion.
CODIFICACION Y DECODIFICACION
Por medio de los antecedentes, la Transformada de Coseno Discreta (DCT) mapea un vector x de longitud N en un nuevo vector X de coeficientes de transformation mediante una transformation lineal X=H x, donde el elemento en la k-esima fila y la n-esima columna de H se define por
C ~ -v/ z
para k = 0, 1, N-1, y n = 0, 1, N-1, con 0 ^ y c* = 1 para k > 1. La matriz de DCT es ortogonal, por lo
que su inversa equivale a su traspuesta, es decir x = H-1 X = HT X.
Una desventaja de la DCT es que las entradas H(k,n) son numeros irracionales, y por esto los datos de entrada de numeros enteros x(n) se mapearan a coeficientes de transformacion irracionales X(k). Como resultado, con ordenadores digitales, cuando las transformaciones directa e inversa se calculan en cascada, los datos de salida no son exactamente iguales a los datos de entrada. En otras palabras, si se calculan como X = H x, y u = redondear(HT X), entonces no se cumple que u(n) = x(n) para toda n. Sin embargo, introduciendo factores de escala apropiados a, g, por ejemplo, X = g H x y u = redondear(a HT X), entonces u(n) = G x(n), donde G es un numero entero, para casi
toda n, cuando a y g se eligen para que sean lo suficientemente grandes, pero esto no garantiza un resultado exacto.
En un codificador de video de movimiento compensado, por ejemplo, los datos de fotogramas decodificados pasados se usan como informacion de referencia para informacion de prediction que se usara para generar el fotograma actual. Por lo tanto, como parte de la codification, el codificador genera sus propios fotogramas decodificados, por los que el codificador necesita calcular transformadas inversas. Si se usa formula u = redondear(a HT X), entonces se usan diferentes formatos de punto flotante y estrategias de redondeo en diferentes procesadores que conducen a diferentes resultados. Como resultado, habra una desviacion entre los datos decodificados en el codificador frente a los decodificados por los decodificadores (que tienen diferentes procesadores), en la cual la imagen empeora cada vez mas por cada nuevo fotograma, puesto que el codificador esta basando en prediccion / informacion de movimiento en fotogramas de bloques que cada vez son menos y menos como los fotogramas de bloques que el decodificador esta produciendo.
Una solution al problema de desviacion de datos aproxima la matriz H por una matriz que contiene unicamente numeros enteros, en la cual se eliminan errores de redondeo. Si las filas de H son ortogonales y tienen la misma norma (suma de los cuadrados), entonces se deduce que u puede calcularse exactamente en aritmetica de numeros enteros para todos los enteros x. En otras palabras, cuando la transformacion directa se calcula por X = H x y la transformacion inversa por u = HT X, entonces resulta u = G x, donde G es un numero entero igual a la norma cuadrada de cualquiera de las filas en H.
Una manera para generar aproximaciones de numeros enteros a la DCT es usando la formula general:
Q(k,n) = redondear(a H(k,n))
donde a es un parametro de escala.
5
10
15
20
25
30
35
En la norma de compresion de video H.26L, la imagen esta compuesta de bloques de cuatro pixeles por cuatro pixeles, en la cual N = 4 en la formula de DCT en H.26L. Esto da como resultado que la matriz de DCT equivalga a:
'1 1 1 1 "
c s -s -c
1-1-1 1
s -c c -s
donde ^ = >/2cos(^/8) y s± V2sen(;r/8) .
La matriz de transformacion en la version actual de H.26L se obtiene estableciendo a = 26, en la cual los valores calculan:
13 13 13 13
17 7 -7 -17
13 -13 -13 13
7 -17 17 -7
Con un valor de parametro de cambio de escala de 26, las filas y columnas de Qo son ortogonales entre si (es decir, el producto interno de cualesquiera dos columnas es cero), y todas las filas y columnas tienen una norma igual a 676. De hecho, para valores en los que a < 50, unicamente a = 2 o a = 26 proporcionan matrices ortogonales con filas de igual norma. Sin embargo, la solucion para a = 2 no conduce a buena compresion, y los valores mayores para a no son atractivos debido al aumento en la complejidad computacional (por ejemplo, longitud de palabra) requeridos para calcular los resultados de la transformacion directa X = Qo x. Por lo tanto, se ha elegido hasta ahora a = 26 en H.26L.
La transformacion inversa se define por x’ = Q0 X, de modo que puede calcularse tambien con aritmetica de numeros enteros. A partir de la definicion anterior, x’ = 676 x, es decir los datos reconstruidos x’ son iguales a los datos originales x amplificados por una ganancia de numeros enteros de 676 (que es la norma de cualquiera de las filas en Q0).
De acuerdo con un aspecto de la presente invencion, se proporciona una matriz de transformacion de bloques que usa aproximaciones de numeros enteros que son ortogonales, aunque tienen diferentes valores que reducen significativamente la complejidad computacional cuando se codifica y decodifica. Mas particularmente, usando a = 2,5, se genera la siguiente matriz:
Q0 =redondear(26H)=
1111 2 1-1-2 1-1-1 1 1 -2 2 -1
Observese que las filas de Qd son ortogonales entre si, y, aunque sus normas son diferentes (las filas cero y dos tienen normas igual a cuatro, mientras que las filas uno y tres tienen normas iguales a diez), como se describe a continuacion esto se maneja en cuantificacion y descuantificacion de manera que no aumenta significativamente la complejidad computacional.
Volviendo a la Figura 2 de los dibujos, se muestra un codificador 200 de transformacion de bloques y decodificador 222 de transformacion de bloques, conectable mediante algun tipo de medio y/o dispositivos 220 intermedios. Como se entiende, un codificador 200 no es necesario que haga su salida directamente disponible al decodificador 222, y por lo tanto la linea etiquetada 220 en la Figura 2 puede representar virtualmente cualquier tipo de medio o dispositivos, tales como un cable de red, medio de transmision inalambrica, linea de telefono, dispositivo de almacenamiento, encaminador y/o virtualmente cualquier combination de los mismos.
En general, el codificador 200 opera transformando cada bloque de NxN datos 202 de pixeles de entrada (por ejemplo, representando information de correction de error) mediante unas transformaciones 204 bidimensionales que pueden separarse. Mas particularmente, en primer lugar las filas de datos de pixel en el bloque se transforman mediante un procedimiento 206 de transformacion de fila, y a continuacion los resultados de la transformacion de fila
Qd = redondear(2,5H) =
5
10
15
20
25
30
(no representadas especlficamente en la Figura 2) se transforman mediante un procedimiento 208 de transformacion de columna en los coeficientes 210 de transformacion resultantes. En otras palabras, la DCT bidimensional esencialmente realiza una DCT unidimensional en cada fila de un bloque de plxeles, seguido por una DCT unidimensional en cada columna de los bloques de plxeles que se produjeron por las DCT unidimensionales en las filas. Las transformaciones de fila y columna pueden realizarse en orden inverso, con el mismo resultado obtenido.
En H.26L, la matriz de transformacion especificada da como resultado las siguientes formulas para calcular los coeficientes de transformacion:
A = 13a + 13b + 13c + 13d
B = 17a + 7b - 7c - 17d C = 13a - 13b - 13c + 13d
D = 7a - 17b + 17c - 7d
donde [abcd] representa en primer lugar una fila de valores de plxeles, y a continuacion, despues de la transformacion de fila, representa una columna de aquellos valores de datos transformados en fila, en un bloque de cuatro por cuatro. Sin embargo, en la practica, estas formulas pueden simplificarse, y la matriz de DCT tiene una estructura recursiva que reduce el numero de operaciones de multiplicacion y adicion requeridas. Sin embargo, la matriz anterior requiere al menos cuatro adiciones y tres multiplicaciones para calcular los coeficientes de transformacion para cada pixel. Ademas, puesto que cada pixel puede ser un valor de nueve bits con signo, cuando se multiplica por los factores de fila y columna (la ganancia equivale a la norma de 676) el calculo requiere aritmetica de 32 bits, en la que un unico calculo lleva tanto tiempo como los calculos de 16 bits. Aunque estas consideraciones no son normalmente tan significativas como durante la codificacion, con estos valores de matriz especificados de H.26L, las operaciones adicionales y aritmetica de 32-bits tambien tienen lugar durante la decodificacion, en el que el gasto es significativo.
En contraste a la matriz de H.26L especificada, usando la misma representacion de formula general, como se ha descrito anteriormente, la matriz de transformacion de bloques de la presente invencion es:
1
-2
1
-1
que proporciona las siguientes formulas para calcular los coeficientes de transformacion:
A = a + b + c + d
B=2a+ b- c - 2d
C = a - b - c + d
D = a - 2b + 2c - d
Parte de la razon de que esta formula / matriz funciona de manera mas optima es que en lugar de realizar multiplicaciones individuales en la etapa de transformacion, los factores de multiplicacion se manejan esencialmente en la fase de cuantificacion, simplemente cambiando los valores usados en el cambio de escala. Como resultado, la unica multiplicacion con estas formulas es por una potencia de dos, que en los procesadores se consigue mediante una unica operacion de desplazamiento a la izquierda, no una multiplicacion real. Con u, v, y y z usadas como variables auxiliares, y en la que “<< 1” significa desplazamiento a la izquierda un bit (equivalente a multiplicar por dos pero computacionalmente mas rapido, las formulas anteriores simplifican las siguientes formulas:
5
10
15
20
25
30
35
u = a + d;
v = b + c;
y = b - c; z = a - d;
A = u + v;
C = u - v;
B = y + (z « 1) /
D = z - (y « 1) ;
Mediante la estructura en mariposa representada en la Figura 3, (en la que una llnea entre dos puntos indica una suma, y los numeros en las llneas (los -1, 2 y -2 indican un factor de multiplicacion) que hallan estos coeficientes de transformacion realmente requieren unicamente cuatro adiciones y un desplazamiento para cada pixel dado, proporcionando una mejora de rendimiento muy sustancial con relacion a los factores especificados en H.26L. Ademas, debido a los valores de coeficientes inferiores, todas las operaciones de transformacion pueden realizarse en aritmetica de 16 bits (con datos de plxeles de 9 bits). Mas particularmente, con la matriz de transformacion Qd anteriormente definida, despues de una transformacion bidimensional 2-D, la amplificacion de senal maxima es 36, en la cual los coeficientes de salida despues de la transformacion bidimensional abarcaran 6 bits mas que la entrada. Por lo tanto, para entrada de 9 bits, los coeficientes de salida tienen un rango dinamico de 15 bits, que significa que la transformacion directa bidimensional puede calcularse con aritmetica de 16 bits. Ademas, como se describe a continuacion, el aumento de rendimiento resultante de muchas menos operaciones, cada una de las cuales requiere unicamente aritmetica de 16 bits, se repite esencialmente durante las operaciones de decodificacion con la transformacion inversa, proporcionando un aumento significativo en rendimiento de decodificacion.
Una vez que se calculan los coeficientes 210 de transformacion, el bloque de los coeficientes 210 se cuantifica cambiando de escala los valores y redondeandolos a sus numeros enteros mas cercanos. Esto se representa en la Figura 2 por el procedimiento 212 de cuantificacion, que selecciona de entre los valores de cuantificacion a partir de los parametros 214 de cuantificacion para cambiar de escala los coeficientes 210 de transformacion en coeficientes 216 cuantificados. Como se ha descrito anteriormente, debido a que no existe una norma, sino tres en la matriz mejorada, tres tablas de cuantificacion Q0, Q1 y Q2 contienen estos valores, dependiendo de donde se posicione en el bloque el coeficiente transformado cuantificar.
La formula de cuantificacion para cambio de escala y redondeo es como sigue, que deberia calcularse con precision de 32 bits:
L = [K x A(QP,r) + fX] » 20
donde L es el coeficiente cuantificado, K es el coeficiente transformado, A(QP,r) es el factor de escala indexado por el parametro de cuantificacion QP y r, en el que r identifica que tabla (Q0, Q1 o Q2 usar), fX esta en el intervalo [00,5] x 220 (fX tiene el mismo signo que K), y >> 20 significa desplazamiento a la derecha veinte lugares (divido por 1.048.576), para cambiar de escala el numero hacia abajo. El procedimiento de cuantificacion por lo tanto introduce errores. Observese que aunque se usa aritmetica de 32 bits para cuantificacion, esto se requiere unicamente cuando se realiza codificacion, que no es tan significativo como cuando se realiza decodificacion (en el que la descuantificacion necesita unicamente precision de 16 bits, como se describe a continuacion).
El indice r por lo tanto selecciona cuales de las tres tablas de cuantificacion Q0, Q1 o Q2 usar para ajustar las tres normas diferentes, basandose en la posicion del coeficiente K en el bloque:
r=0 (usar Q0) si el coeficiente proviene de una de las posiciones {(0,0), (0,1), (1,0), (1,1)};
r=1 (usar Q1) si el coeficiente proviene de una de las posiciones {(0,2), (0,3), (1,2), (1,3), (2,0), (2,1), (3,0), (3,1)};
5
10
15
20
25
30
35
40
45
50
r=2 (usar Q2) si el coeficiente proviene de una de las posiciones {(2, 2), (2,3), (3,2), (3,3)}.
Despues del desplazamiento a la derecha en 20 bits, cada resultado cuantificado L se ajusta a un numero entero de 16 bits.
En una implementacion ejemplar, el factor de cambio de escala A(QP, r) depende del parametro de cuantificacion QP y grupo de posicion de coeficiente r de acuerdo con las siguientes tablas:
A(QP=0..31, r=0) = {104858, 93418, 83226, 74146, 66056, 58849, 52429, 46709, 41613, 37073, 33028, 29425, 26214, 23354, 20806, 18536, 16514, 14712, 13107, 11677, 10403, 9268, 8257, 7356, 6554, 5839, 5202, 4634, 4129, 3678, 3277, 2919};
A(QP=0..31, r=1) = {66318, 59082, 52636, 46894, 41778, 37220, 33159, 29541, 26318, 23447, 20889, 18610, 16579, 14771, 13159, 11723, 10444, 9305, 8290, 7385, 6580, 5862, 5222, 4652, 4145, 3693, 3290, 2931, 2611, 2326, 2072, 1846};
A(QP=0..31, r=2) = (41943, 37367, 33290, 29658, 26422, 23540, 20972, 18684, 16645, 14829, 13211, 11770, 10486, 9342, 8323, 7415, 6606, 5885, 5243, 4671, 4161, 3707, 3303, 2942, 2621, 2335, 2081, 1854, 1651, 1471, 1311, 1168}.
Los valores particulares anteriores se disenaron para satisfacer la especificacion de diseno en H.26L de que los tamanos de etapa de cuantificacion deberlan doblarse por cada incremento de seis en el Indice de tabla. Para otras aplicaciones de codificacion de video o de imagen fija, pueden disenarse otras tablas de cuantificacion, en vista de los incrementos de fidelidad deseados. Observese que para almacenar las tablas de cuantificacion en el codificador, es necesario algun espacio de tabla adicional para almacenar tres tablas en lugar de una, pero esta cantidad de espacio adicional es unicamente 64 bytes, que es despreciable.
Volviendo a la Figura 2, que sigue al procedimiento de cuantificacion, los coeficientes 216 cuantificados se alimentan a un codificador 218 por entropla que, en general, reduce adicionalmente el numero de bits necesarios para codificar el bloque. Los codificadores por entropla (y decodificadores) son conocidos, y por lo tanto no se describen en el presente documento, ya que la presente invencion opera antes y esencialmente de manera independiente de la codificacion por entropla, y despues y esencialmente de manera independiente de la decodificacion por entropla.
Volviendo a una consideration de decodificacion en el decodificador 222 de transformation de bloques, en algun momento, independientemente de como se entreguen, los bits de salida codificados por entropla se alimentan como bits de entrada a un decodificador 224 por entropla. En general, tales decodificadores por entropla son conocidos, y por lo tanto entre otras posibles operaciones, es suficiente establecer que el codificador 224 por entropla reproduzca los coeficientes 226 cuantificados para un bloque dado. Observese que tlpicamente la codificacion y decodificacion no tienen perdidas, es decir, los coeficientes 216 cuantificados alimentados en el codificador 218 por entropla seran identicos a los coeficientes 226 cuantificados producidos por el decodificador 224 por entropla.
En general, el decodificador 222 de transformacion de bloques refleja la operation del codificador 200 de transformacion de bloques, aunque como se describe a continuation y de acuerdo con la presente invencion, se proporciona una matriz de transformacion inversa modificada que posibilita que se use aritmetica de 16 bits a traves de todo el procedimiento de decodificacion, simplificando enormemente en general la complejidad computacional del decodificador.
Una vez que los coeficientes 226 cuantificados se recuperan del decodificador 224 por entropla, cada coeficiente cuantificado L se convierte a un valor reconstruido (descuantificado) K' mediante un procedimiento 228 de descuantificacion implementando la formula:
K' = LxB(QP,r)
donde el factor de cambio de escala B depende del Indice QP usado cuando se codifica, y r determina los parametros de descuantificacion 230 seleccionando un parametro de una de las tablas D0, D1, o D2 (para ajustar las tres normas). Observese que r puede deducirse a partir de la posicion del coeficiente que se esta descuantificando en el bloque, como se ha descrito anteriormente con respecto a cuantificacion, aunque es factible enviar el valor r desde el codificador, que posiblemente reducirla la complejidad computacional en el decodificador pero requerirla que se enviaran al menos dos mas bits por coeficiente para identificar r.
De esta manera, el factor de cambio de escala B(QP, r) depende del Indice de parametro de cuantificacion para QP usado cuando se realiza codificacion, y el grupo de posicion de coeficiente r. En una implementacion ejemplar, esa dependencia se especifica de acuerdo con las siguientes tablas:
B(QP=0..31, r=0) = {80, 90, 101, 113, 127, 143, 160, 180, 202, 226, 254, 285, 320, 359, 403, 453, 508, 570, 640, 718, 806, 905, 1016, 1140, 1280, 1437, 1613, 1810, 2032, 2281, 2560, 2874};
5
10
15
20
25
30
35
40
45
B(QP=0..31, r=1) = {101, 114, 127, 143, 161, 180, 202, 227, 255, 286, 321, 361, 405, 454, 510, 572, 643, 721, 810, 909, 1020, 1145, 1285, 1443, 1619, 1817, 2040, 2290, 2570, 2885, 3239, 3635};
B(QP=0..31, r=2) = {128, 144, 161, 181, 203, 228, 256, 287, 323, 362, 406, 456, 512, 575, 645, 724, 813, 912, 1024, 1149, 1290, 1448, 1625, 1825, 2048, 2299, 2580, 2896, 3252, 3650, 4095, 4596}.
Como con las tablas de codificacion, los valores particulares anteriores se disenaron para satisfacer la especificacion de diseno en H.26L de que los tamanos de la etapa de cuantificacion deberfan doblarse por cada incremento de seis en el fndice de tabla. Para otras aplicaciones de codificacion de video o de imagen fija, pueden disenarse otras tablas de cuantificacion, en vista de los incrementos de fidelidad deseados.
Como puede apreciarse, la formula de descuantificacion cambia de escala los coeficientes de vuelta a valores mayores, aunque cada uno de estos valores de cambio de escala es suficientemente bajo para asegurar que unicamente es necesaria aritmetica de 16 bits en el decodificador. Deberfa observarse que puesto que cada entrada en una tabla esta relacionada matematicamente (basandose en la norma) para corresponder a entradas de tabla de QP indexados en las otras dos tablas, es posible de manera alternativa tener unicamente una tabla de valores QP, con un ajuste matematico apropiado basandose en el valor r, en lugar de tener tres tablas. Sin embargo, las consultas en tablas pequenas son relativamente ineficaces, y el numero de bytes requeridos para almacenar tres tablas de treinta y dos entradas en dos bytes por entrada en lugar de una tabla de treinta y dos entradas a cuatro bits por entrada (requerida con la transformacion de H.26L especificada) son sesenta y cuatro bytes adicionales, que es insignificante en dispositivos informaticos modernos, considerando especialmente que los coeficientes de transformacion generados por descuantificacion se adaptan en dieciseis palabras de bits en lugar de palabras dobles de 32 bits, reduciendo de esta manera la cantidad total de memoria necesaria.
Tambien como se representa en la Figura 2, una vez que se han descuantificando los coeficientes 226 cuantificados mediante la formula y tablas anteriores, esta presente una matriz de cuatro por cuatro de coeficientes 232 de transformacion reconstruidos. A partir de estos coeficientes 232 de transformacion, los pfxeles reconstruidos se generan alimentandolos a un procedimiento 234 de transformacion inverso bidimensional que comprende los procedimientos 236 y 238 de transformacion inversa de columna y fila, respectivamente.
De acuerdo con la presente invencion, en lugar de usar la transformacion inversa Qi = Qdt, como se harfa normalmente, para permitir el calculo de descuantificacion de 16 bits y transformacion inversa, la presente invencion
ara uso:
1 1 1/2 ‘
1/2 -1 -1
-1/2 -1 1
-1 1 -1/2
Observese que las columnas de Qi son ortogonales entre si, pero sus normas son diferentes. Sin embargo, esto se manejo mediante el valor “r” usado al seleccionar el parametro de descuantificacion, como se ha descrito anteriormente. Ademas, observese que al generar Qi desde Qd, se realizo transposicion en Qd, con las columnas uno y tres multiplicadas por una mitad. De nuevo, sin embargo, los valores QP ya presentes en las tablas D0, D1 y D2 se han ajustado para esto con antelacion, eliminando la necesidad de compensar cualquier complejidad computacional adicional. Ademas, la unica “multiplicacion” que sera necesaria hacer cuando se calculan las transformaciones inversas con una matriz de este tipo es por una mitad, que realmente se realiza por una operacion de desplazamiento a la derecha altamente eficaz. Observese que la pequena cantidad de ruido introducido por tal division imprecisa no tiene esencialmente impacto en el rendimiento de tasa-distorsion.
Con Qi definida como anteriormente, su ganancia maxima equivale a cuatro. Por lo tanto, el procedimiento de transformacion inversa bidimensional unicamente expande el intervalo dinamico en cuatro bits, permitiendo el calculo en aritmetica de 16 bits.
El procedimiento 236 de transformacion inversa de columna y el procedimiento 238 de transformacion inversa de fila (que opera en el resultado del procedimiento de transformacion inversa de columna) representado en la Figura 2 generan los datos 240 de pixel de salida. Para este fin, usando la matriz de transformacion inversa anterior y denominado [A B C D] una fila o columna particular para que se transforme a la inversa, los correspondientes valores transformados inversos [a' b' c' d'] se calculan por:
5
10
15
20
25
30
u = A + C
v = A - C;
y = (B » 1) - D;
z = (D » 1) + B;
a' = u + z;
b' = v + y; c' = v - y;
d' = u - z;
donde u, v, y y z son variables auxiliares y >>1 significa desplazar un bit a la derecha (equivalente a multiplicar por una mitad). Similar a la codificacion, mediante la estructura en mariposa representada en la Figura 4, estas ecuaciones realmente reducen hasta cuatro operaciones de adicion y una operacion de desplazamiento por coeficiente, todas en aritmetica de 16 bits. Finalmente, el procedimiento de transformacion inversa 234 (Figura 2) cambia de escala los valores de plxeles reconstruidos por un factor de 2‘7 (realizado mediante una operacion de desplazamiento a la derecha de 7 bits).
Los valores de plxeles reconstruidos despues del desplazamiento de 7 bits tienen un intervalo de 9 bits, por lo que la transformacion inversa puede calcularse en aritmetica de 16 bits. Las tablas de descuantificacion D0, D1 y D2 establecidas anteriormente son de manera que las ecuaciones de descuantificacion no se desbordaran cuando se calculan en aritmetica de 16 bits. Las siguientes tablas resumen algunas de las ventajas computacionales cuando se usan la transformacion y la transformacion inversa de la presente invencion con relacion a aquellas especificadas en H.26L:
- Transformacion
- Operaciones por pixel, transformacion directa Cuantificacion Descuantificacion Operaciones por pixel, transformacion inversa
- Especificada en H.26L
- 4 adiciones, 3 multiplicaciones en aritmetica de 32 bits 1 multiplication en aritmetica de 32 bits 1 multiplicacion en aritmetica de 32 bits 4 adiciones, 3 multiplicaciones en aritmetica de 32 bits
- Presente invencion
- 4 adiciones, 1 desplazamiento, en aritmetica de 16 bits 1 multiplicacion en aritmetica de 32 bits 1 multiplicacion en aritmetica de 16 bits 4 adiciones, 1 desplazamiento, en aritmetica de 16 bits
Como puede apreciarse facilmente, tales ahorros son significativos, particularmente en procesadores de 16 bits. Por ejemplo, en la practica un procesador de PDA de 16 bits tlpico puede ver una mejora en la decodificacion de aproximadamente el doble de la velocidad con la presente invencion.
Ademas, la transformacion / transformacion inversa se ha probado con respecto a su impacto en calidad y compresion. Los resultados para ganancia de codificacion (normalmente definidos como un aumento en la relacion de senal a ruido) muestran que el uso de las transformaciones de la presente invencion con datos de prueba dan como resultado una perdida de unicamente alrededor de 0,01 dB con relacion a las transformaciones de H.26L, que es despreciable, y de hecho es probable que sea mucho menor que con la information de senal de video real, tal como errores de prediction de pixel. Ademas, el rendimiento global se probo con relacion a las transformaciones de H.26L especificadas a traves de cada uno de los treinta y dos parametros de cuantificacion, dando como resultado unicamente mas o menos medio por ciento de intervalo de diferencias, con una media muy cercana a cero, indicando de esta manera que la transformacion de la presente invencion rindio as! como la transformacion especificada en H.26L.
Como puede observarse a partir de la anterior description detallada, se proporcionan unas matrices de transformacion y transformacion inversa mejoradas para codificacion y decodificacion de imagen o video,
respectivamente, que reducen significativamente la complejidad computacional con respecto a otras transformaciones conocidas sin impactar de manera adversa la compresion o calidad. Las multiplicaciones de transformacion se eliminan aunque se obtienen resultados corregidos puesto que los valores de parametros de cuantificacion y descuantificacion compensan aquellos factores de multiplicacion, excepto para uno realizado por 5 una operacion de desplazamiento durante los procedimientos de transformacion y transformacion inversa. Debido a que los valores usados, las operaciones de transformacion durante las operaciones de codificacion, y descuantificacion y transformacion durante la decodificacion pueden realizarse en aritmetica de 16 bits (para datos de plxeles representados por nueve bits o menos).
Aunque la invencion es susceptible de diversas modificaciones y construcciones alternativas, se muestran ciertas 10 realizaciones ilustradas de la misma en los dibujos y se han descrito anteriormente en detalle. Deberla entenderse, sin embargo, que no hay intencion de limitar la invencion a las formas especlficas desveladas, sino por el contrario, la intencion es cubrir todas las modificaciones, construcciones alternativas y equivalentes que caen en el alcance de la invencion.
Claims (17)
- 510152025303540REIVINDICACIONES1. Un procedimiento para decodificar informacion de video o de imagen, que comprende:recibir un conjunto de coeficientes (226) de transformation cuantificados;descuantificar (228) los coeficientes de transformacion cuantificados en coeficientes (232) de transformacion descuantificados, en el que los coeficientes de transformacion cuantificados estan dispuestos logicamente en un bloque, y en el que para cada uno de los coeficientes de transformacion cuantificados la descuantificacion incluye:basandose en una position del coeficiente de transformacion cuantificado en el bloque,seleccionar un grupo de entre diversos grupos de factores (230) de cambio de escala;dependiendo de un parametro de cuantificacion, seleccionar un factor de cambio de escala en el gruposeleccionado; ymultiplicar el coeficiente de transformacion cuantificado por el factor de cambio de escala seleccionado; yaplicar un procedimiento (234) de transformacion inversa a los coeficientes de transformacion descuantificados para reconstruir informacion a partir de los mismos, aplicando el procedimiento de transformacion inversa calculos de transformacion inversa que tienen valores tales que cada operation de multiplication entre uno de los valores y uno de los coeficientes de transformacion descuantificados en los calculos de transformacion inversa puede realizarse mediante una operacion de desplazamiento, en el que el procedimiento de transformacion inversa es ortogonal.
- 2. El procedimiento de la reivindicacion 1 en el que son accesibles tres grupos de factores de cambio de escala.
- 3. El procedimiento de la reivindicacion 1 en el que los coeficientes de transformacion cuantificados y los valores de factor de cambio de escala posibilitan la descuantificacion en aritmetica de 16 bits.
- 4. El procedimiento de la reivindicacion 1 en el que la aplicacion de un procedimiento de transformacion inversa a los coeficientes de transformacion descuantificados se realiza en aritmetica de 16 bits.
- 5. El procedimiento de una cualquiera de las reivindicaciones 1 a 4 en el que el procedimiento de transformacion inversa corresponde a una transformacion bidimensional en la que los valores de calculo de transformacion inversa estan basados en la matriz de transformacion inversa:1 1 11/2 1 1/2 -1 -11 -1/2 -1 11-11 -1/2teniendo diversas columnas de la matriz de transformacion inversa diferentes normas, en el que la descuantificacion compensa al menos en parte las diferentes normas de las diversas columnas de la matriz de transformacion inversa.
- 6. El procedimiento de una cualquiera de las reivindicaciones 1 a 5 que comprende adicionalmente, antes de recibir el conjunto de coeficientes de transformacion cuantificados:aplicar un procedimiento (204) de transformacion para introducir informacion y construir coeficientes (210) de transformacion a partir de los mismos, aplicando el procedimiento de transformacion calculos de transformacion que tienen valores tales que cada operacion de multiplicacion entre uno de los valores de calculo de transformacion y uno de los coeficientes de transformacion en los calculos de transformacion puede realizarse mediante una operacion de desplazamiento; ycuantificar (212) los coeficientes de transformacion en los coeficientes (216) de transformacion cuantificados.
- 7. El procedimiento de la reivindicacion 6 en el que el procedimiento de transformacion corresponde a una transformacion bidimensional en la que los valores de calculo de transformacion estan basados en la matriz de transformacion:1111 21-1-2 1-1-1 1 1-2 2-110152025303540teniendo diversas filas de la matriz de transformacion diferentes normas, en el que la cuantificacion y la descuantificacion compensan las diferentes normas de las diversas filas de la matriz de transformacion y las diferentes normas de las diversas columnas de la matriz de transformacion inversa.
- 8. El procedimiento de una cualquiera de las reivindicaciones 1 a 7 en el que instrucciones ejecutables por ordenador almacenadas en un medio legible por ordenador implementan el procedimiento.
- 9. Un sistema para proporcionar informacion de video o imagen, que comprende:un codificador (200) de transformacion de bloques, que incluye:1) un procedimiento (204) de transformacion que aplica una transformacion a informacion para construir coeficientes (210) de transformacion a partir de la misma, aplicando el procedimiento de transformacion calculos de transformacion que tienen valores tales que cada operacion de multiplicacion entre uno de los valores de calculo de transformacion y uno de los coeficientes de transformacion en los calculos de transformacion puede realizarse mediante una operacion de desplazamiento, en el que el procedimiento de transformacion es ortogonal; y2) un procedimiento (212) de cuantificacion que cuantifica los coeficientes de transformacion en un conjunto de coeficientes (216) de transformacion de numeros enteros cuantificados;un mecanismo que proporciona los coeficientes de transformacion de numeros enteros cuantificados desde el codificador de transformacion de bloques a un decodificador (222) de transformacion de bloques; y el decodificador de transformacion de bloques, que incluye:1) un procedimiento (228) de descuantificacion que descuantifica los coeficientes (226) de transformacion de numeros enteros cuantificados en coeficientes (232) de transformacion descuantificados, en el que el procedimiento de descuantificacion cambia de escala los coeficientes de transformacion de numeros enteros cuantificados seleccionando, para cada uno de los coeficientes de transformacion de numeros enteros cuantificados, un factor de cambio de escala desde uno seleccionado de tres grupos de factores (230) de cambio de escala, seleccionandose el grupo seleccionado basandose en una posicion relativa del coeficiente de transformacion de numeros enteros cuantificados en relacion con otros coeficientes de transformacion de numeros enteros cuantificados; y2) un procedimiento (234) de transformacion inversa que genera informacion reconstruida desde los coeficientes de transformacion descuantificados, aplicando el procedimiento de transformacion inversa calculos de transformacion inversa que tienen valores tales que cada operacion de multiplicacion entre uno de los valores de calculo de transformacion inversa y uno de los coeficientes de transformacion descuantificados en los calculos de transformacion inversa puede realizarse mediante una operacion de desplazamiento, en el que el procedimiento de transformacion inversa es ortogonal.
- 10. El sistema de la reivindicacion 9 en el que el procedimiento de transformacion corresponde a procedimientos de transformacion (206) de fila y transformacion (208) de columna bidimensionales.
- 11. El sistema de la reivindicacion 10 en el que los procedimientos de transformacion de fila y transformacion de columna y los valores de calculo de transformacion estan basados en la matriz de transformacion:1111 21-1-2 1-1-1 1 1-2 2-1teniendo diversas filas de la matriz de transformacion diferentes normas, en el que el procedimiento de cuantificacion compensa al menos en parte las diferentes normas de las diversas filas de la matriz de transformacion.
- 12. El sistema de una cualquiera de las reivindicaciones 9 a 11 en el que el mecanismo que proporciona los coeficientes de transformacion de numeros enteros cuantificados incluye un codificador (218) por entropia en el codificador de transformacion de bloques, al menos un medio o dispositivo (220) de comunicacion que conecta logicamente el codificador de transformacion de bloques al decodificador de transformacion de bloques y un decodificador (224) por entropia en el decodificador de transformacion de bloques.
- 13. El sistema de una cualquiera de las reivindicaciones 9 a 12 en el que el procedimiento de transformacion inversa corresponde a procedimientos de transformacion (236) inversa de columna y transformacion (238) inversa de fila bidimensionales.510152025
- 14. El sistema de la reivindicacion 13 en el que los procedimientos de transformation inversa de columna y transformation inversa de fila y los valores de calculo de transformacion inversa estan basados en la matriz de transformacion inversa:111 1 1/2 -11 -1/2 -11-111/2-11-1/2teniendo diversas columnas de la matriz de transformacion inversa diferentes normas, en el que el procedimiento de descuantificacion compensa al menos en parte las diferentes normas de las diversas columnas de la matriz de transformacion inversa.
- 15. Un procedimiento para decodificar information de video o de imagen, que comprende: recibir un conjunto de coeficientes (226) de transformacion cuantificados;descuantificar (228) los coeficientes de transformacion cuantificados en coeficientes (232) de transformacion descuantificados; yaplicar un procedimiento (234) de transformacion inversa a los coeficientes de transformacion descuantificados, aplicando el procedimiento de transformacion inversa calculos de transformacion inversa a los coeficientes de transformacion descuantificados basandose en valores representados en la matriz:1 1 11/2 1 1/2 -1 -11 -1/2 -1 11-11 -1/2en el que los calculos de transformacion inversa incluyen diversas operaciones de multiplication, y en el que cada una de las diversas operaciones de multiplicacion puede realizarse mediante una operation de desplazamiento.
- 16. El procedimiento de la reivindicacion 15 en el que la descuantificacion comprende, seleccionar cada coeficiente de transformacion cuantificado, y para cada coeficiente de transformacion cuantificado seleccionado:seleccionar un grupo de factores (230) de cambio de escala basandose en una position relativa logica del coeficiente de transformacion cuantificado con relation a coeficientes de transformacion cuantificados; buscar un factor de cambio de escala en el grupo que se selecciono; ycambiar de escala el coeficiente de transformacion cuantificado en un coeficiente de transformacion descuantificado multiplicando el coeficiente de transformacion cuantificado por el factor de cambio de escala.
- 17. El procedimiento de la reivindicacion 15 en el que diversas columnas de la matriz tienen diferentes normas, y en el que la descuantificacion compensa al menos en parte las diferentes normas de las diversas columnas de la matriz.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/955,577 US6882685B2 (en) | 2001-09-18 | 2001-09-18 | Block transform and quantization for image and video coding |
US955577 | 2001-09-18 |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2615488T3 true ES2615488T3 (es) | 2017-06-07 |
Family
ID=25497025
Family Applications (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES02019057.5T Expired - Lifetime ES2615488T3 (es) | 2001-09-18 | 2002-08-27 | Transformación y cuantificación de bloques mejorada para codificación de imagen y vídeo |
ES06020298.3T Expired - Lifetime ES2628532T3 (es) | 2001-09-18 | 2002-08-27 | Transformación y cuantificación de bloques mejoradas para codificación de imagen y vídeo |
ES06020296.7T Expired - Lifetime ES2628498T3 (es) | 2001-09-18 | 2002-08-27 | Transformación y cuantificación de bloques mejoradas para codificación de imagen y vídeo |
ES06020297.5T Expired - Lifetime ES2628527T3 (es) | 2001-09-18 | 2002-08-27 | Transformación y cuantificación de bloques mejoradas para codificación de imagen y vídeo |
Family Applications After (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES06020298.3T Expired - Lifetime ES2628532T3 (es) | 2001-09-18 | 2002-08-27 | Transformación y cuantificación de bloques mejoradas para codificación de imagen y vídeo |
ES06020296.7T Expired - Lifetime ES2628498T3 (es) | 2001-09-18 | 2002-08-27 | Transformación y cuantificación de bloques mejoradas para codificación de imagen y vídeo |
ES06020297.5T Expired - Lifetime ES2628527T3 (es) | 2001-09-18 | 2002-08-27 | Transformación y cuantificación de bloques mejoradas para codificación de imagen y vídeo |
Country Status (9)
Country | Link |
---|---|
US (6) | US6882685B2 (es) |
EP (4) | EP1750450B1 (es) |
JP (5) | JP3964765B2 (es) |
KR (4) | KR100839311B1 (es) |
CN (4) | CN100463522C (es) |
DE (1) | DE20222025U1 (es) |
ES (4) | ES2615488T3 (es) |
HK (1) | HK1053033B (es) |
TW (1) | TWI221388B (es) |
Families Citing this family (93)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100335055B1 (ko) * | 1999-12-08 | 2002-05-02 | 구자홍 | 압축 영상신호의 블럭현상 및 링현상 제거방법 |
US7113646B2 (en) * | 2001-06-29 | 2006-09-26 | Equator Technologies, Inc. | Decoding of predicted AC coefficient without division |
US7068850B2 (en) * | 2001-06-29 | 2006-06-27 | Equator Technologies, Inc. | Decoding of predicted DC coefficient without division |
US7185037B2 (en) * | 2001-08-23 | 2007-02-27 | Texas Instruments Incorporated | Video block transform |
US6882685B2 (en) * | 2001-09-18 | 2005-04-19 | Microsoft Corporation | Block transform and quantization for image and video coding |
US7460993B2 (en) * | 2001-12-14 | 2008-12-02 | Microsoft Corporation | Adaptive window-size selection in transform coding |
US7920624B2 (en) * | 2002-04-01 | 2011-04-05 | Broadcom Corporation | Inverse quantizer supporting multiple decoding processes |
US7242713B2 (en) * | 2002-05-02 | 2007-07-10 | Microsoft Corporation | 2-D transforms for image and video coding |
US7760950B2 (en) * | 2002-09-26 | 2010-07-20 | Ntt Docomo, Inc. | Low complexity and unified transforms for video coding |
US7471726B2 (en) * | 2003-07-15 | 2008-12-30 | Microsoft Corporation | Spatial-domain lapped transform in digital media compression |
US7813574B2 (en) * | 2003-09-24 | 2010-10-12 | Ntt Docomo, Inc. | Low complexity and unified transforms for video coding |
EP2713619A3 (en) | 2003-11-18 | 2015-01-07 | Mobile Imaging in Sweden AB | Method for processing a digital image and image representation format |
US7487193B2 (en) * | 2004-05-14 | 2009-02-03 | Microsoft Corporation | Fast video codec transform implementations |
KR101320260B1 (ko) * | 2004-06-18 | 2013-10-23 | 톰슨 라이센싱 | 비디오 신호 데이터를 인코딩 및 디코딩하기 위한 방법 및 장치 |
US7428342B2 (en) * | 2004-12-17 | 2008-09-23 | Microsoft Corporation | Reversible overlap operator for efficient lossless data compression |
US7471850B2 (en) * | 2004-12-17 | 2008-12-30 | Microsoft Corporation | Reversible transform for lossy and lossless 2-D data compression |
CN1282107C (zh) * | 2005-01-07 | 2006-10-25 | 北京北大方正电子有限公司 | 一种对图像进行快速压缩和解压缩的方法 |
US7778327B2 (en) * | 2005-02-08 | 2010-08-17 | Texas Instruments Incorporated | H.264 quantization |
US7546240B2 (en) * | 2005-07-15 | 2009-06-09 | Microsoft Corporation | Coding with improved time resolution for selected segments via adaptive block transformation of a group of samples from a subband decomposition |
CN101253774B (zh) * | 2005-07-18 | 2011-04-06 | 韩国电子通信研究院 | 使用视角时间参考图像缓冲器的预测编码/解码装置及使用其的方法 |
CN100370834C (zh) * | 2005-08-08 | 2008-02-20 | 北京中星微电子有限公司 | 多模图像编解码芯片中的系数缩放计算模块 |
US8036274B2 (en) * | 2005-08-12 | 2011-10-11 | Microsoft Corporation | SIMD lapped transform-based digital media encoding/decoding |
US8705617B2 (en) * | 2005-09-27 | 2014-04-22 | Qualcomm Incorporated | Multiple layer video encoding |
US7689052B2 (en) * | 2005-10-07 | 2010-03-30 | Microsoft Corporation | Multimedia signal processing using fixed-point approximations of linear transforms |
CN100539704C (zh) * | 2005-12-08 | 2009-09-09 | 香港中文大学 | 视频信号的编码系数的转换装置及其方法 |
US20070199011A1 (en) * | 2006-02-17 | 2007-08-23 | Sony Corporation | System and method for high quality AVC encoding |
US7912129B2 (en) * | 2006-03-16 | 2011-03-22 | Sony Corporation | Uni-modal based fast half-pel and fast quarter-pel refinement for video encoding |
US20070223590A1 (en) * | 2006-03-24 | 2007-09-27 | Mediatek Inc. | System, apparatus, method, and computer program product for processing an integer transform |
US7929608B2 (en) * | 2006-03-28 | 2011-04-19 | Sony Corporation | Method of reducing computations in intra-prediction and mode decision processes in a digital video encoder |
US8077769B2 (en) * | 2006-03-28 | 2011-12-13 | Sony Corporation | Method of reducing computations in transform and scaling processes in a digital video encoder using a threshold-based approach |
US7884742B2 (en) * | 2006-06-08 | 2011-02-08 | Nvidia Corporation | System and method for efficient compression of digital data |
WO2008019524A1 (en) * | 2006-07-17 | 2008-02-21 | Thomson Licensing | Method and apparatus for encoding video color enhancement data, and method and apparatus for decoding video color enhancement data |
US8179961B2 (en) | 2006-07-17 | 2012-05-15 | Thomson Licensing | Method and apparatus for adapting a default encoding of a digital video signal during a scene change period |
JP4952282B2 (ja) * | 2007-02-14 | 2012-06-13 | パナソニック株式会社 | 画像符号化装置、画像符号化方法、および画像符号化プログラム |
US8942289B2 (en) * | 2007-02-21 | 2015-01-27 | Microsoft Corporation | Computational complexity and precision control in transform-based digital media codec |
US8019804B2 (en) * | 2007-03-26 | 2011-09-13 | City University Of Hong Kong | Method and apparatus for calculating an SSD and encoding a video signal |
US7761290B2 (en) | 2007-06-15 | 2010-07-20 | Microsoft Corporation | Flexible frequency and time partitioning in perceptual transform coding of audio |
US8819095B2 (en) | 2007-08-28 | 2014-08-26 | Qualcomm Incorporated | Fast computation of products by dyadic fractions with sign-symmetric rounding errors |
US7965900B2 (en) * | 2007-09-26 | 2011-06-21 | Hewlett-Packard Development Company, L.P. | Processing an input image to reduce compression-related artifacts |
KR101496324B1 (ko) | 2007-10-17 | 2015-02-26 | 삼성전자주식회사 | 영상의 부호화, 복호화 방법 및 장치 |
US8369638B2 (en) * | 2008-05-27 | 2013-02-05 | Microsoft Corporation | Reducing DC leakage in HD photo transform |
US8447591B2 (en) * | 2008-05-30 | 2013-05-21 | Microsoft Corporation | Factorization of overlapping tranforms into two block transforms |
US8275209B2 (en) * | 2008-10-10 | 2012-09-25 | Microsoft Corporation | Reduced DC gain mismatch and DC leakage in overlap transform processing |
WO2010085125A2 (ko) | 2009-01-22 | 2010-07-29 | 삼성전자 주식회사 | 영상의 변환 방법 및 장치, 역변환 방법 및 장치 |
US9110849B2 (en) * | 2009-04-15 | 2015-08-18 | Qualcomm Incorporated | Computing even-sized discrete cosine transforms |
CN101605259B (zh) * | 2009-05-31 | 2012-11-21 | 华亚微电子(上海)有限公司 | 对多媒体数据进行变换编、解码的装置及方法 |
US8762441B2 (en) * | 2009-06-05 | 2014-06-24 | Qualcomm Incorporated | 4X4 transform for media coding |
US9069713B2 (en) * | 2009-06-05 | 2015-06-30 | Qualcomm Incorporated | 4X4 transform for media coding |
US8451904B2 (en) | 2009-06-24 | 2013-05-28 | Qualcomm Incorporated | 8-point transform for media data coding |
US9081733B2 (en) * | 2009-06-24 | 2015-07-14 | Qualcomm Incorporated | 16-point transform for media data coding |
US9075757B2 (en) * | 2009-06-24 | 2015-07-07 | Qualcomm Incorporated | 16-point transform for media data coding |
US9118898B2 (en) * | 2009-06-24 | 2015-08-25 | Qualcomm Incorporated | 8-point transform for media data coding |
JP5670444B2 (ja) | 2010-05-13 | 2015-02-18 | シャープ株式会社 | 符号化装置および復号装置 |
KR101885258B1 (ko) | 2010-05-14 | 2018-08-06 | 삼성전자주식회사 | 비디오 신호의 부호화 방법과 그 장치, 및 비디오 복호화 방법과 그 장치 |
BR122020016581B1 (pt) | 2010-09-28 | 2022-03-03 | Samsung Electronics Co., Ltd. | Método de decodificação de vídeo, e método de codificação de vídeo |
JP5678593B2 (ja) * | 2010-11-12 | 2015-03-04 | 沖電気工業株式会社 | 符号化支援装置、符号化装置、復号支援装置、復号装置、符号化支援プログラム、及び復号支援プログラム |
US9824066B2 (en) | 2011-01-10 | 2017-11-21 | Qualcomm Incorporated | 32-point transform for media data coding |
HUE046377T2 (hu) | 2011-01-14 | 2020-03-30 | Ge Video Compression Llc | Entrópia kódoló és dekódoló séma |
AU2016219700B2 (en) * | 2011-01-18 | 2018-06-28 | Dolby International Ab | Video decoder with reduced dynamic range transform with inverse transform shifting memory |
US20120183044A1 (en) * | 2011-01-18 | 2012-07-19 | Louis Joseph Kerofsky | Video decoder with reduced dynamic range transform with memory storing |
US20120183048A1 (en) * | 2011-01-18 | 2012-07-19 | Louis Joseph Kerofsky | Video decoder with reduced dynamic range transform with multiple clipping |
US9807395B2 (en) | 2011-01-18 | 2017-10-31 | Dolby International Ab | Video decoder with reduced dynamic range transform with inverse transform shifting memory |
US20120183047A1 (en) * | 2011-01-18 | 2012-07-19 | Louis Joseph Kerofsky | Video decoder with reduced dynamic range transform with inverse transform clipping |
US20120183045A1 (en) * | 2011-01-18 | 2012-07-19 | Louis Joseph Kerofsky | Video decoder with reduced dynamic range transform including clipping |
KR20120098500A (ko) * | 2011-02-25 | 2012-09-05 | 삼성전자주식회사 | 영상의 변환 및 역변환 방법, 및 이를 이용한 영상의 부호화 및 복호화 장치 |
KR101522391B1 (ko) | 2011-03-10 | 2015-05-21 | 니폰덴신뎅와 가부시키가이샤 | 양자화 제어 장치 및 방법, 및 양자화 제어 프로그램 |
US20120307889A1 (en) * | 2011-06-01 | 2012-12-06 | Sharp Laboratories Of America, Inc. | Video decoder with dynamic range adjustments |
US8571099B2 (en) * | 2011-06-01 | 2013-10-29 | Sharp Laboratories Of America, Inc. | Decoder with dynamic range compensation |
JP2013038768A (ja) * | 2011-07-13 | 2013-02-21 | Canon Inc | 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム |
US20130114685A1 (en) * | 2011-11-07 | 2013-05-09 | Sharp Laboratories Of America, Inc. | Video decoder with constrained dynamic range |
JP6120490B2 (ja) * | 2011-11-07 | 2017-04-26 | キヤノン株式会社 | 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム |
US9167261B2 (en) | 2011-11-07 | 2015-10-20 | Sharp Laboratories Of America, Inc. | Video decoder with constrained dynamic range |
US9749633B2 (en) | 2012-01-19 | 2017-08-29 | Vid Scale, Inc. | System and method of video coding quantization and dynamic range control |
US9104473B2 (en) * | 2012-03-30 | 2015-08-11 | Altera Corporation | Conversion and compression of floating-point and integer data |
US9277214B2 (en) * | 2013-02-15 | 2016-03-01 | Cisco Technology, Inc. | Sub-picture hierarchical QP coding |
CN110033779B (zh) * | 2014-02-27 | 2023-11-17 | 瑞典爱立信有限公司 | 用于棱椎矢量量化编索引和解索引的方法和装置 |
US9787332B2 (en) * | 2015-09-15 | 2017-10-10 | Intel Corporation | Error-checking compressed streams in heterogeneous compression accelerators |
US10257394B2 (en) | 2016-02-12 | 2019-04-09 | Contrast, Inc. | Combined HDR/LDR video streaming |
US10264196B2 (en) | 2016-02-12 | 2019-04-16 | Contrast, Inc. | Systems and methods for HDR video capture with a mobile device |
WO2018031441A1 (en) | 2016-08-09 | 2018-02-15 | Contrast, Inc. | Real-time hdr video for vehicle control |
CN106341689B (zh) * | 2016-09-07 | 2019-04-23 | 中山大学 | 一种avs2量化模块和反量化模块的优化方法及*** |
JP6822121B2 (ja) * | 2016-12-19 | 2021-01-27 | ソニー株式会社 | 画像処理装置、画像処理方法及びプログラム |
JP7313330B2 (ja) * | 2017-07-05 | 2023-07-24 | レッド.コム,エルエルシー | 電子機器でのビデオ画像データ処理 |
KR102432486B1 (ko) * | 2017-11-22 | 2022-08-12 | 삼성전자주식회사 | 비디오 복호화 장치 및 이를 포함하는 컴퓨팅 시스템 및 비디오 복호화 방법 |
US10951888B2 (en) | 2018-06-04 | 2021-03-16 | Contrast, Inc. | Compressed high dynamic range video |
US11303932B2 (en) * | 2018-08-14 | 2022-04-12 | Contrast, Inc. | Image compression |
CN110944177B (zh) * | 2018-09-21 | 2024-03-01 | 华为技术有限公司 | 视频解码方法及视频解码器,视频编码方法及视频编码器 |
GB2578633B (en) * | 2018-11-02 | 2021-10-13 | Advanced Risc Mach Ltd | Encoding data arrays |
US11665368B2 (en) | 2018-12-06 | 2023-05-30 | Lg Electronics Inc. | Method and device for processing video signal by using transform having low complexify |
JP2020098984A (ja) | 2018-12-17 | 2020-06-25 | キヤノン株式会社 | 画像符号化装置及び画像復号装置及びそれらの制御方法及びプログラム |
US10992960B2 (en) | 2019-02-06 | 2021-04-27 | Jared Michael Cohn | Accelerated video exportation to multiple destinations |
US20220295104A1 (en) * | 2019-09-20 | 2022-09-15 | Nokia Technologies Oy | An apparatus, a method and a computer program for video coding and decoding |
US20220237259A1 (en) * | 2021-01-28 | 2022-07-28 | Stmicroelectronics, Inc. | Methods and devices for fast fourier transforms |
Family Cites Families (123)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06105296B2 (ja) | 1986-09-30 | 1994-12-21 | 株式会社島津製作所 | Ect装置の散乱線補正法 |
JPH0654307B2 (ja) | 1986-10-08 | 1994-07-20 | 動力炉・核燃料開発事業団 | 液体一固体系内の超音波可視化方法及び装置 |
JPS63219066A (ja) | 1987-03-06 | 1988-09-12 | Matsushita Electric Ind Co Ltd | 直交変換装置 |
US4922537A (en) * | 1987-06-02 | 1990-05-01 | Frederiksen & Shu Laboratories, Inc. | Method and apparatus employing audio frequency offset extraction and floating-point conversion for digitally encoding and decoding high-fidelity audio signals |
JPH0645949B2 (ja) | 1988-06-14 | 1994-06-15 | ナショナル住宅産業株式会社 | 小屋組 |
JPH0645948Y2 (ja) | 1988-11-16 | 1994-11-24 | 京セラ株式会社 | カメラの逆入射光防止装置 |
US5357594A (en) * | 1989-01-27 | 1994-10-18 | Dolby Laboratories Licensing Corporation | Encoding and decoding using specially designed pairs of analysis and synthesis windows |
US5379351A (en) * | 1992-02-19 | 1995-01-03 | Integrated Information Technology, Inc. | Video compression/decompression processing and processors |
US5319724A (en) | 1990-04-19 | 1994-06-07 | Ricoh Corporation | Apparatus and method for compressing still images |
JP2945487B2 (ja) * | 1990-12-26 | 1999-09-06 | 株式会社日立製作所 | 行列乗算器 |
JPH04282988A (ja) | 1991-03-12 | 1992-10-08 | Sony Corp | データ変換装置及び方法 |
US5168375A (en) * | 1991-09-18 | 1992-12-01 | Polaroid Corporation | Image reconstruction by use of discrete cosine and related transforms |
DE4207895A1 (de) * | 1992-03-12 | 1993-09-16 | Vaw Ver Aluminium Werke Ag | Verfahren und anordnung zum vertikalstranggiessen von metall |
KR0150955B1 (ko) * | 1992-05-27 | 1998-10-15 | 강진구 | 비트고정을 위한 영상압축방법과 신장방법 및 그 장치 |
US5394349A (en) * | 1992-07-10 | 1995-02-28 | Xing Technology Corporation | Fast inverse discrete transform using subwords for decompression of information |
JPH0645949A (ja) | 1992-07-27 | 1994-02-18 | Victor Co Of Japan Ltd | 直交変換装置及び逆直交変換装置 |
JPH0645948A (ja) | 1992-07-27 | 1994-02-18 | Victor Co Of Japan Ltd | 直交変換装置及び逆直交変換装置 |
JPH0654307A (ja) | 1992-07-29 | 1994-02-25 | Casio Comput Co Ltd | データ圧縮装置 |
JP3348310B2 (ja) | 1992-09-28 | 2002-11-20 | ソニー株式会社 | 動画像符号化方法および動画像符号化装置 |
JP3069455B2 (ja) * | 1992-12-22 | 2000-07-24 | 富士写真フイルム株式会社 | 画像データ圧縮伸張装置における量子化・逆量子化回路 |
US5995539A (en) * | 1993-03-17 | 1999-11-30 | Miller; William J. | Method and apparatus for signal transmission and reception |
JP3697717B2 (ja) * | 1993-09-24 | 2005-09-21 | ソニー株式会社 | 2次元離散コサイン変換装置および2次元逆離散コサイン変換装置 |
US5587708A (en) * | 1994-01-19 | 1996-12-24 | Industrial Technology Research Institute | Division technique unified quantizer-dequantizer |
US5604502A (en) * | 1994-03-21 | 1997-02-18 | Lucent Technologies Inc. | Motion video compression system with inverse discrete cosine transform mismatch control |
KR0126109B1 (ko) * | 1994-05-12 | 1997-12-19 | 아더 와이.씨. 치아오 | 이산적 코사인변환 및 역변환을 위한 집적회로 프로세서 |
JPH08214307A (ja) * | 1995-02-02 | 1996-08-20 | Canon Inc | 符号化装置 |
JP3046224B2 (ja) * | 1994-07-26 | 2000-05-29 | 三星電子株式会社 | 固定ビット率の符号化方法および装置とこれを利用した高速探索のためのトラッキング方法 |
EP0714212A3 (en) * | 1994-11-21 | 1999-03-31 | SICAN, GESELLSCHAFT FÜR SILIZIUM-ANWENDUNGEN UND CAD/CAT NIEDERSACHSEN mbH | Video decoder using concurrent processing and resource sharing |
US5864637A (en) * | 1995-04-18 | 1999-01-26 | Advanced Micro Devices, Inc. | Method and apparatus for improved video decompression by selective reduction of spatial resolution |
US6002801A (en) * | 1995-04-18 | 1999-12-14 | Advanced Micro Devices, Inc. | Method and apparatus for improved video decompression by selection of IDCT method based on image characteristics |
JPH08305684A (ja) * | 1995-04-28 | 1996-11-22 | Matsushita Electric Ind Co Ltd | バタフライ演算装置及び逆離散余弦変換装置 |
CN1154193A (zh) * | 1995-05-15 | 1997-07-09 | 宝丽来公司 | 用于降低图象数据压缩噪声的方法和设备 |
JP2778622B2 (ja) * | 1995-06-06 | 1998-07-23 | 日本電気株式会社 | 2次元dct回路 |
JP2914226B2 (ja) | 1995-06-16 | 1999-06-28 | 日本電気株式会社 | 可逆変換を可能にするディジタル信号の変換符号化方式 |
JP3274593B2 (ja) * | 1995-09-27 | 2002-04-15 | 日本電気株式会社 | 可逆変換可能な変換装置及び逆変換装置 |
US5933535A (en) * | 1995-10-05 | 1999-08-03 | Microsoft Corporation | Object-based video compression process employing arbitrarily-shaped features |
US6085221A (en) * | 1996-01-08 | 2000-07-04 | International Business Machines Corporation | File server for multimedia file distribution |
US6957350B1 (en) * | 1996-01-30 | 2005-10-18 | Dolby Laboratories Licensing Corporation | Encrypted and watermarked temporal and resolution layering in advanced television |
JP3168922B2 (ja) * | 1996-08-27 | 2001-05-21 | 日本ビクター株式会社 | デジタル画像情報の記録再生装置 |
KR100229795B1 (ko) * | 1996-08-30 | 1999-11-15 | 전주범 | 개선된 영상 복호화 시스템 |
JPH1091614A (ja) | 1996-09-13 | 1998-04-10 | Hitachi Ltd | Idctの整数化法 |
JPH10107644A (ja) * | 1996-09-26 | 1998-04-24 | Sony Corp | 量子化装置および方法、並びに、符号化装置および方法 |
SG54383A1 (en) * | 1996-10-31 | 1998-11-16 | Sgs Thomson Microelectronics A | Method and apparatus for decoding multi-channel audio data |
US5883823A (en) | 1997-01-15 | 1999-03-16 | Sun Microsystems, Inc. | System and method of a fast inverse discrete cosine transform and video compression/decompression systems employing the same |
DE69805583T2 (de) * | 1997-02-08 | 2003-01-23 | Matsushita Electric Ind Co Ltd | Quantisierungsmatrix für die codierung von stand- und bewegtbildern |
US5974184A (en) * | 1997-03-07 | 1999-10-26 | General Instrument Corporation | Intra-macroblock DC and AC coefficient prediction for interlaced digital video |
US6351570B1 (en) * | 1997-04-01 | 2002-02-26 | Matsushita Electric Industrial Co., Ltd. | Image coding and decoding apparatus, method of image coding and decoding, and recording medium for recording program for image coding and decoding |
US6058215A (en) * | 1997-04-30 | 2000-05-02 | Ricoh Company, Ltd. | Reversible DCT for lossless-lossy compression |
US6134270A (en) * | 1997-06-13 | 2000-10-17 | Sun Microsystems, Inc. | Scaled forward and inverse discrete cosine transform and video compression/decompression systems employing the same |
US6057855A (en) * | 1997-07-02 | 2000-05-02 | Hewlett-Packard Company | Method and apparatus for providing polygon pixel sub-sample information using incremental means |
JPH11122624A (ja) * | 1997-10-16 | 1999-04-30 | Matsushita Electric Ind Co Ltd | ビデオデコーダ処理量を低減する方法および装置 |
US6006179A (en) * | 1997-10-28 | 1999-12-21 | America Online, Inc. | Audio codec using adaptive sparse vector quantization with subband vector classification |
US6137916A (en) * | 1997-11-17 | 2000-10-24 | Sony Electronics, Inc. | Method and system for improved digital video data processing using 8-point discrete cosine transforms |
US6600785B1 (en) * | 1997-12-01 | 2003-07-29 | Matsushita Electric Industrial | Image processor, image data processor and variable length encoder/decoder |
ES2251116T3 (es) * | 1997-12-19 | 2006-04-16 | Infineon Technologies Ag | Dispositivo para la multiplicacion con factores constantes y su utilizacion para la compresion de video (mpeg). |
RU2201654C2 (ru) | 1997-12-23 | 2003-03-27 | Томсон Лайсенсинг С.А. | Способ низкошумового кодирования и декодирования |
EP0926899A3 (en) * | 1997-12-25 | 1999-12-15 | SANYO ELECTRIC Co., Ltd. | An apparatus and process for decoding motion pictures |
JP3953183B2 (ja) | 1998-03-27 | 2007-08-08 | パナソニック コミュニケーションズ株式会社 | 画像通信方法および画像通信装置 |
BR9910270A (pt) * | 1998-05-07 | 2001-10-02 | Sarnoff Corp | Método e aparelho para aumentar a utilização de recurso de memória em um decodificador de fluxo de informação |
US6115689A (en) * | 1998-05-27 | 2000-09-05 | Microsoft Corporation | Scalable audio coder and decoder |
US6029126A (en) * | 1998-06-30 | 2000-02-22 | Microsoft Corporation | Scalable audio coder and decoder |
US6073153A (en) * | 1998-06-03 | 2000-06-06 | Microsoft Corporation | Fast system and method for computing modulated lapped transforms |
US6154762A (en) * | 1998-06-03 | 2000-11-28 | Microsoft Corporation | Fast system and method for computing modulated lapped transforms |
US6301304B1 (en) * | 1998-06-17 | 2001-10-09 | Lsi Logic Corporation | Architecture and method for inverse quantization of discrete cosine transform coefficients in MPEG decoders |
GB9819648D0 (en) * | 1998-09-10 | 1998-11-04 | Nds Ltd | Determining visually noticeable differences between two images |
US6353808B1 (en) * | 1998-10-22 | 2002-03-05 | Sony Corporation | Apparatus and method for encoding a signal as well as apparatus and method for decoding a signal |
EP1125235B1 (en) * | 1998-10-26 | 2003-04-23 | STMicroelectronics Asia Pacific Pte Ltd. | Multi-precision technique for digital audio encoder |
US7194138B1 (en) * | 1998-11-04 | 2007-03-20 | International Business Machines Corporation | Reduced-error processing of transformed digital data |
US6421464B1 (en) * | 1998-12-16 | 2002-07-16 | Fastvdo Llc | Fast lapped image transforms using lifting steps |
US6363117B1 (en) * | 1998-12-31 | 2002-03-26 | Sony Corporation | Video compression using fast block motion estimation |
US6473534B1 (en) * | 1999-01-06 | 2002-10-29 | Hewlett-Packard Company | Multiplier-free implementation of DCT used in image and video processing and compression |
US6496795B1 (en) * | 1999-05-05 | 2002-12-17 | Microsoft Corporation | Modulated complex lapped transform for integrated signal enhancement and coding |
US6487574B1 (en) * | 1999-02-26 | 2002-11-26 | Microsoft Corp. | System and method for producing modulated complex lapped transforms |
US6370502B1 (en) * | 1999-05-27 | 2002-04-09 | America Online, Inc. | Method and system for reduction of quantization-induced block-discontinuities and general purpose audio codec |
US6574651B1 (en) * | 1999-10-01 | 2003-06-03 | Hitachi, Ltd. | Method and apparatus for arithmetic operation on vectored data |
US6507614B1 (en) * | 1999-10-19 | 2003-01-14 | Sony Corporation | Efficient de-quantization in a digital video decoding process using a dynamic quantization matrix for parallel computations |
US7028063B1 (en) * | 1999-10-26 | 2006-04-11 | Velocity Communication, Inc. | Method and apparatus for a DFT/IDFT engine supporting multiple X-DSL protocols |
WO2001040985A2 (en) | 1999-12-06 | 2001-06-07 | Hrl Laboratories, Llc | Method and apparatus for calculating wavelet transform using variable precision |
WO2001052550A1 (en) * | 2000-01-12 | 2001-07-19 | Koninklijke Philips Electronics N.V. | Image data compression |
JP3593944B2 (ja) * | 2000-03-08 | 2004-11-24 | 日本電気株式会社 | 画像データ処理装置及びそれに用いる動き補償処理方法 |
JP4560694B2 (ja) | 2000-04-05 | 2010-10-13 | ソニー株式会社 | 符号化装置及びその方法 |
US6606725B1 (en) * | 2000-04-25 | 2003-08-12 | Mitsubishi Electric Research Laboratories, Inc. | MAP decoding for turbo codes by parallel matrix processing |
SE522261C2 (sv) * | 2000-05-10 | 2004-01-27 | Global Ip Sound Ab | Kodning och avkodning av en digital signal |
US8374237B2 (en) * | 2001-03-02 | 2013-02-12 | Dolby Laboratories Licensing Corporation | High precision encoding and decoding of video images |
JP4063508B2 (ja) * | 2001-07-04 | 2008-03-19 | 日本電気株式会社 | ビットレート変換装置およびビットレート変換方法 |
US20030112873A1 (en) | 2001-07-11 | 2003-06-19 | Demos Gary A. | Motion estimation for video compression systems |
US7123655B2 (en) * | 2001-08-09 | 2006-10-17 | Sharp Laboratories Of America, Inc. | Method for reduced bit-depth quantization |
US7185037B2 (en) * | 2001-08-23 | 2007-02-27 | Texas Instruments Incorporated | Video block transform |
KR100433709B1 (ko) | 2001-08-31 | 2004-05-31 | (주)씨앤에스 테크놀로지 | 행렬 변화를 통한 분산산술처리 방식의 이산여현변환 방법 |
US6882685B2 (en) * | 2001-09-18 | 2005-04-19 | Microsoft Corporation | Block transform and quantization for image and video coding |
US7295609B2 (en) * | 2001-11-30 | 2007-11-13 | Sony Corporation | Method and apparatus for coding image information, method and apparatus for decoding image information, method and apparatus for coding and decoding image information, and system of coding and transmitting image information |
US7200275B2 (en) * | 2001-12-17 | 2007-04-03 | Microsoft Corporation | Skip macroblock coding |
US7379498B2 (en) * | 2002-03-11 | 2008-05-27 | Broadcom Corporation | Reconstructing a compressed still image by transformation to a compressed moving picture image |
JP2003348598A (ja) | 2002-04-12 | 2003-12-05 | Seiko Epson Corp | メモリ効率のいい圧縮領域ビデオ処理のための且つ因数分解及び整数近似法を用いる高速逆動き補償のための方法並びに装置 |
US7190724B2 (en) * | 2002-04-12 | 2007-03-13 | Seiko Epson Corporation | Method and apparatus for transform domain video processing |
US7242713B2 (en) | 2002-05-02 | 2007-07-10 | Microsoft Corporation | 2-D transforms for image and video coding |
US6944224B2 (en) * | 2002-08-14 | 2005-09-13 | Intervideo, Inc. | Systems and methods for selecting a macroblock mode in a video encoder |
US7197525B2 (en) * | 2002-11-26 | 2007-03-27 | Analog Devices, Inc. | Method and system for fixed point fast fourier transform with improved SNR |
US7075530B2 (en) * | 2003-02-27 | 2006-07-11 | International Business Machines Corporation | Fast lighting processors |
US7330866B2 (en) * | 2003-07-01 | 2008-02-12 | Nvidia Corporation | System for frequency-domain scaling for discrete cosine transform |
JP4617644B2 (ja) | 2003-07-18 | 2011-01-26 | ソニー株式会社 | 符号化装置及び方法 |
US7609763B2 (en) * | 2003-07-18 | 2009-10-27 | Microsoft Corporation | Advanced bi-directional predictive coding of video frames |
US8218624B2 (en) * | 2003-07-18 | 2012-07-10 | Microsoft Corporation | Fractional quantization step sizes for high bit rates |
US7499495B2 (en) * | 2003-07-18 | 2009-03-03 | Microsoft Corporation | Extended range motion vectors |
US7502415B2 (en) * | 2003-07-18 | 2009-03-10 | Microsoft Corporation | Range reduction |
US7688895B2 (en) * | 2003-07-22 | 2010-03-30 | Lsi Corporation | Method and/or circuit for binary arithmetic decoding decisions before termination |
US8014450B2 (en) * | 2003-09-07 | 2011-09-06 | Microsoft Corporation | Flexible range reduction |
KR100965881B1 (ko) * | 2003-10-10 | 2010-06-24 | 삼성전자주식회사 | 비디오 데이터 인코딩 시스템 및 디코딩 시스템 |
ES2392437T3 (es) | 2004-01-30 | 2012-12-10 | Panasonic Corporation | Procedimiento de decodificación de vídeos que utiliza matrices de cuantificación adaptativas |
US20050213835A1 (en) * | 2004-03-18 | 2005-09-29 | Huazhong University Of Science & Technology And Samsung Electronics Co., Ltd. | Integer transform matrix selection method in video coding and related integer transform method |
US20050259729A1 (en) * | 2004-05-21 | 2005-11-24 | Shijun Sun | Video coding with quality scalability |
JP4241517B2 (ja) | 2004-06-15 | 2009-03-18 | キヤノン株式会社 | 画像符号化装置及び画像復号装置 |
JP4074868B2 (ja) * | 2004-12-22 | 2008-04-16 | 株式会社東芝 | 画像符号化制御方法及びその装置 |
JP2008536451A (ja) | 2005-04-14 | 2008-09-04 | トムソン ライセンシング | 空間スケーラブルビデオ符号化及び復号化向けスライス適応型動きベクトル符号化のための方法及び装置 |
BRPI0611672A2 (pt) * | 2005-07-22 | 2009-01-13 | Mitsubishi Electric Corp | codificador e decodificador de imagem, mÉtodo de codificaÇço de imagem, programa de codificaÇço de imagem, meio de gravaÇço legÍvel por computador, mÉtodo de decodificaÇço de imagem, programa de decodificaÇço de imagem, e, corrente de bits codificada por imagem |
CN100539437C (zh) * | 2005-07-29 | 2009-09-09 | 上海杰得微电子有限公司 | 一种音频编解码器的实现方法 |
US8548265B2 (en) * | 2006-01-05 | 2013-10-01 | Fastvdo, Llc | Fast multiplierless integer invertible transforms |
US20070271321A1 (en) * | 2006-01-11 | 2007-11-22 | Qualcomm, Inc. | Transforms with reduce complexity and/or improve precision by means of common factors |
US8942289B2 (en) * | 2007-02-21 | 2015-01-27 | Microsoft Corporation | Computational complexity and precision control in transform-based digital media codec |
JP5277180B2 (ja) * | 2007-03-23 | 2013-08-28 | トムソン ライセンシング | 符号化ビットストリームの修正 |
BRPI0811626B1 (pt) * | 2007-06-14 | 2019-08-20 | Contentarmor | Método e dispositivo imprimir marca d'água em dados codificados de extensão variável, fluxo contínuo de dados codificados de extensão variável e mídia legível por processador |
US20120014431A1 (en) * | 2010-07-14 | 2012-01-19 | Jie Zhao | Methods and Systems for Parallel Video Encoding and Parallel Video Decoding |
US9313514B2 (en) * | 2010-10-01 | 2016-04-12 | Sharp Kabushiki Kaisha | Methods and systems for entropy coder initialization |
-
2001
- 2001-09-18 US US09/955,577 patent/US6882685B2/en not_active Expired - Lifetime
-
2002
- 2002-08-27 ES ES02019057.5T patent/ES2615488T3/es not_active Expired - Lifetime
- 2002-08-27 EP EP06020298.3A patent/EP1750450B1/en not_active Expired - Lifetime
- 2002-08-27 EP EP06020297.5A patent/EP1768418B1/en not_active Expired - Lifetime
- 2002-08-27 EP EP06020296.7A patent/EP1750449B1/en not_active Expired - Lifetime
- 2002-08-27 ES ES06020298.3T patent/ES2628532T3/es not_active Expired - Lifetime
- 2002-08-27 ES ES06020296.7T patent/ES2628498T3/es not_active Expired - Lifetime
- 2002-08-27 ES ES06020297.5T patent/ES2628527T3/es not_active Expired - Lifetime
- 2002-08-27 DE DE2002222025 patent/DE20222025U1/de not_active Expired - Lifetime
- 2002-08-27 EP EP02019057.5A patent/EP1294198B1/en not_active Expired - Lifetime
- 2002-09-10 KR KR20020054526A patent/KR100839311B1/ko active IP Right Grant
- 2002-09-18 CN CNB2005101192207A patent/CN100463522C/zh not_active Expired - Lifetime
- 2002-09-18 TW TW91121390A patent/TWI221388B/zh not_active IP Right Cessation
- 2002-09-18 CN CNB2005101192211A patent/CN100459712C/zh not_active Expired - Lifetime
- 2002-09-18 CN CNB021432058A patent/CN1231068C/zh not_active Expired - Lifetime
- 2002-09-18 CN CNB2005101192194A patent/CN100484247C/zh not_active Expired - Lifetime
- 2002-09-18 JP JP2002272011A patent/JP3964765B2/ja not_active Expired - Lifetime
-
2003
- 2003-07-22 HK HK03105290.3A patent/HK1053033B/zh not_active IP Right Cessation
-
2005
- 2005-02-25 US US11/067,101 patent/US7881371B2/en not_active Expired - Fee Related
- 2005-04-12 US US11/104,956 patent/US7773671B2/en active Active
- 2005-04-12 US US11/105,216 patent/US7839928B2/en active Active
- 2005-04-12 US US11/104,943 patent/US7106797B2/en not_active Expired - Lifetime
-
2006
- 2006-09-28 KR KR1020060094699A patent/KR100839309B1/ko active IP Right Grant
- 2006-09-28 KR KR1020060094696A patent/KR100839308B1/ko active IP Right Grant
- 2006-09-28 KR KR1020060094777A patent/KR100839310B1/ko active IP Right Grant
- 2006-10-12 JP JP2006279189A patent/JP4560028B2/ja not_active Expired - Lifetime
- 2006-10-12 JP JP2006279188A patent/JP3964925B2/ja not_active Expired - Lifetime
- 2006-10-12 JP JP2006279187A patent/JP4560027B2/ja not_active Expired - Lifetime
- 2006-11-29 JP JP2006322322A patent/JP4560033B2/ja not_active Expired - Lifetime
-
2011
- 2011-01-19 US US13/009,755 patent/US8971405B2/en not_active Expired - Fee Related
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2615488T3 (es) | Transformación y cuantificación de bloques mejorada para codificación de imagen y vídeo | |
ES2380936T3 (es) | Normalización de transformada entera y cuantificación conjuntas usando una representación mantisa-exponente de un parámetro de cuantificación | |
US7949196B2 (en) | Low complexity and unified transforms for video coding | |
US7627187B2 (en) | Low complexity and unified transforms for video coding | |
CN104519355A (zh) | 用于紧凑比特平面数据压缩的装置和方法 | |
Yang et al. | An efficient two-dimensional inverse discrete cosine transform algorithm for HDTV receivers | |
Kasperovich | High-performance software-only H. 261 video compression on PC |