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 PDF

Info

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
Application number
ES02019057.5T
Other languages
English (en)
Inventor
Henrique S. Malvar
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
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 Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Application granted granted Critical
Publication of ES2615488T3 publication Critical patent/ES2615488T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • G06F17/147Discrete 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods 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
    • 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
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

  • Engineering & Computer Science (AREA)
  • 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
imagen1
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:
imagen2

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:
imagen3
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:
imagen4
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)

  1. 5
    10
    15
    20
    25
    30
    35
    40
    REIVINDICACIONES
    1. 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 grupo
    seleccionado; y
    multiplicar el coeficiente de transformacion cuantificado por el factor de cambio de escala seleccionado; y
    aplicar 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. 2. El procedimiento de la reivindicacion 1 en el que son accesibles tres grupos de factores de cambio de escala.
  3. 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. 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. 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 -1
    1 -1/2 -1 1
    1-11 -1/2
    teniendo 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. 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; y
    cuantificar (212) los coeficientes de transformacion en los coeficientes (216) de transformacion cuantificados.
  7. 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-1
    10
    15
    20
    25
    30
    35
    40
    teniendo 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. 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. 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; y
    2) 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; y
    2) 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. 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. 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-1
    teniendo 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. 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. 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.
    5
    10
    15
    20
    25
  14. 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 -1
    1 -1/2 -1
    1-11
    1/2
    -1
    1
    -1/2
    teniendo 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. 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; y
    aplicar 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 -1
    1 -1/2 -1 1
    1-11 -1/2
    en 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. 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; y
    cambiar 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. 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.
ES02019057.5T 2001-09-18 2002-08-27 Transformación y cuantificación de bloques mejorada para codificación de imagen y vídeo Expired - Lifetime ES2615488T3 (es)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Also Published As

Publication number Publication date
EP1768418A2 (en) 2007-03-28
CN1764277A (zh) 2006-04-26
EP1750450B1 (en) 2017-03-29
US20110116543A1 (en) 2011-05-19
KR100839308B1 (ko) 2008-06-19
JP3964925B2 (ja) 2007-08-22
EP1750449B1 (en) 2017-03-29
JP2007151131A (ja) 2007-06-14
ES2628527T3 (es) 2017-08-03
US8971405B2 (en) 2015-03-03
KR100839310B1 (ko) 2008-06-19
JP4560028B2 (ja) 2010-10-13
US7881371B2 (en) 2011-02-01
KR20060112256A (ko) 2006-10-31
ES2628532T3 (es) 2017-08-03
KR100839309B1 (ko) 2008-06-19
ES2628498T3 (es) 2017-08-03
EP1750450A3 (en) 2011-02-02
CN100463522C (zh) 2009-02-18
CN1764278A (zh) 2006-04-26
US20050213659A1 (en) 2005-09-29
CN100459712C (zh) 2009-02-04
JP2003204552A (ja) 2003-07-18
US20050175097A1 (en) 2005-08-11
JP2007122711A (ja) 2007-05-17
CN1231068C (zh) 2005-12-07
EP1294198A2 (en) 2003-03-19
JP4560033B2 (ja) 2010-10-13
EP1750449A2 (en) 2007-02-07
DE20222025U1 (de) 2012-04-02
KR20060112254A (ko) 2006-10-31
EP1294198A3 (en) 2006-04-12
US20050180503A1 (en) 2005-08-18
JP2007128504A (ja) 2007-05-24
TWI221388B (en) 2004-09-21
KR100839311B1 (ko) 2008-06-17
CN1409558A (zh) 2003-04-09
HK1053033B (zh) 2017-11-24
US7773671B2 (en) 2010-08-10
US7839928B2 (en) 2010-11-23
JP3964765B2 (ja) 2007-08-22
CN1764279A (zh) 2006-04-26
EP1750449A3 (en) 2011-02-02
KR20060112255A (ko) 2006-10-31
US20030081674A1 (en) 2003-05-01
CN100484247C (zh) 2009-04-29
JP2007122710A (ja) 2007-05-17
US6882685B2 (en) 2005-04-19
EP1768418B1 (en) 2017-03-29
EP1768418A3 (en) 2011-02-02
US7106797B2 (en) 2006-09-12
JP4560027B2 (ja) 2010-10-13
KR20030024581A (ko) 2003-03-26
US20050141609A1 (en) 2005-06-30
EP1294198B1 (en) 2016-11-16
EP1750450A2 (en) 2007-02-07

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