ES2584035T3 - Optimizador configurable de patrones - Google Patents

Optimizador configurable de patrones Download PDF

Info

Publication number
ES2584035T3
ES2584035T3 ES11007591.8T ES11007591T ES2584035T3 ES 2584035 T3 ES2584035 T3 ES 2584035T3 ES 11007591 T ES11007591 T ES 11007591T ES 2584035 T3 ES2584035 T3 ES 2584035T3
Authority
ES
Spain
Prior art keywords
blocks
block
subdivided
size
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
ES11007591.8T
Other languages
English (en)
Inventor
Senthil Govindaswamy
Kadayam Thyagarajan
Jeffrey A. Levin
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Application granted granted Critical
Publication of ES2584035T3 publication Critical patent/ES2584035T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • 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/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Television Systems (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

Un procedimiento de serialización de datos de vídeo, basado en representaciones del dominio de la frecuencia de los datos de vídeo, comprendiendo el procedimiento: compilar al menos un grupo de los datos de vídeo que puedan ser representados como un bloque de datos de vídeo; dividir el bloque de datos de vídeo en grupos que puedan ser representados como una pluralidad de primeros bloques de datos subdivididos; dividir al menos uno, entre la pluralidad de primeros bloques subdivididos, en dos o más segundos bloques subdivididos; evaluar uno o más valores dentro de cada uno entre la pluralidad de primeros bloques subdivididos, para determinar un esquema de recorrido de serialización para cada uno entre la pluralidad de primeros bloques subdivididos; y serializar independientemente los coeficientes de transformación de cada uno, entre la pluralidad de primeros bloques subdivididos, de acuerdo al esquema determinado, sin serializar independientemente los coeficientes de transformación de cada uno de los dos o más segundos bloques subdivididos.

Description

5
10
15
20
25
30
35
40
45
50
55
60
65
DESCRIPCION
Optimizador configurable de patrones ANTECEDENTES DE LA INVENClON
I. Campo de la invencion
La presente invencion se refiere al procesamiento y a la compresion de imagenes. Mas especificamente, la presente invencion se refiere a un optimizador configurable de patrones para imagenes comprimidas.
II. Descripcion de la tecnica relacionada
El procesamiento de imagenes digitales tiene una posicion prominente en la disciplina general del procesamiento de senales digitales. La importancia de la percepcion visual humana ha alentado un tremendo interes y adelantos en el arte y la ciencia del procesamiento de imagenes digitales. En el campo de la transmision y recepcion de senales de video, tales como las usadas para proyectar filmes o peliculas, se estan haciendo diversas mejoras en las tecnicas de compresion de imagenes. Muchos de los sistemas de video actuales y propuestos hacen uso de tecnicas de codificacion digital. Los aspectos de este campo incluyen la codificacion de imagenes, la restauracion de imagenes y la seleccion de rasgos de imagenes. La codificacion de imagenes representa los intentos de transmitir imagenes de canales de comunicacion digital de forma eficaz, haciendo uso de tan pocos bits como sea posible para minimizar el ancho de banda requerido, mientras se mantienen a la vez las distorsiones dentro de ciertos lfmites. La restauracion de imagenes representa los esfuerzos para recuperar la verdadera imagen del objeto. La imagen codificada, transmitida por un canal de comunicacion, puede haber sido distorsionada por diversos factores. El origen de la degradacion puede haber surgido originalmente en la creacion de la imagen a partir del objeto. La seleccion de rasgos se refiere a la seleccion de ciertos atributos de la imagen. Tales atributos pueden ser requeridos en el reconocimiento, la clasificacion y la decision en un contexto mas amplio.
La codificacion digital del video, tal como la del cine digital, es un area que se beneficia de las tecnicas mejoradas de compresion de imagenes. La compresion de imagenes digitales puede ser clasificada, generalmente, en dos categorfas: procedimientos sin perdidas y con perdidas. Una imagen sin perdidas es recuperada sin ninguna perdida de informacion. Un procedimiento con perdidas implica una perdida irrecuperable de alguna informacion, segun la razon de compresion, la calidad del algoritmo de compresion y la implementacion del algoritmo. Generalmente, los enfoques de compresion con perdidas se consideran para obtener las razones de compresion deseadas para un enfoque del cine digital efectivo en terminos de coste. Para lograr niveles de calidad del cine digital, el enfoque de compresion deberfa proporcionar un nivel de prestaciones sin perdidas visualmente. De tal modo, aunque hay una perdida matematica de informacion como resultado del proceso de compresion, la distorsion de imagenes provocada por esta perdida deberfa ser imperceptible para un espectador en condiciones normales de visualizacion.
Las tecnologfas existentes de compresion de imagenes digitales han sido desarrolladas para otras aplicaciones, esto es, para sistemas de television. Tales tecnologfas han asumido compromisos de diseno adecuados para la aplicacion pretendida, pero no satisfacen los requisitos de calidad necesarios para la presentacion cinematografica.
La tecnologfa de compresion del cine digital deberfa proporcionar la calidad visual que un cinefilo ha experimentado anteriormente. Idealmente, la calidad visual del cine digital deberfa intentar superar la de una pelfcula grabada en version de alta calidad. Al mismo tiempo, la tecnica de compresion deberfa tener una alta eficacia de codificacion para ser practica. Segun lo definido en el presente documento, la eficacia en la codificacion se refiere a la velocidad de bits necesaria para que la calidad de la imagen comprimida satisfaga un cierto nivel cualitativo. Ademas, el sistema y la tecnica de codificacion deberfan tener flexibilidad intrfnseca para asimilar distintos formatos y deberfan ser efectivos en terminos de coste; es decir, un proceso descodificador o codificador de tamano reducido y eficaz.
Muchas tecnicas de compresion disponibles ofrecen niveles significativos de compresion, pero dan como resultado una degradacion de la calidad de la senal de video. Habitualmente, las tecnicas para la transferencia de informacion comprimida requieren que la informacion comprimida sea transferida a una velocidad constante de bits.
Una tecnica de compresion capaz de ofrecer niveles significativos de compresion, preservando a la vez el nivel deseado de calidad para las senales de video, utiliza bloques y sub-bloques, de tamano adaptativo, de datos codificados de coeficientes de la Transformacion Discreta de Coseno (DCT). Esta tecnica sera mencionada a continuacion en el presente documento como el procedimiento de Transformacion Discreta de Coseno de Tamano Adaptativo de Bloque (ABSDCT). Esta tecnica esta divulgada en la patente de los EE.UU. n.° 5.021.891, titulada “Procedimiento y sistema de compresion de imagenes de tamano adaptativo de bloque”, cedida al cesionario de la presente invencion.
Las tecnicas de DCT tambien estan divulgadas en la patente de los EE.UU. N.° 5.107.345, titulada “Procedimiento y sistema de compresion de imagenes de tamano adaptativo de bloque”, cedida al cesionario de la presente invencion.
5
10
15
20
25
30
35
40
45
50
55
60
65
Ademas, el uso de la tecnica de ABSDCT, en combinacion con una tecnica de Transformacion de Arbol Cuadratico Diferencial, se expone en la patente estadounidense N° 5.452.104, titulada “Procedimiento y sistema de compresion de imagenes de tamano adaptativo de bloque”, tambien cedida al cesionario de la presente invencion.
Los sistemas divulgados en estas patentes utilizan lo que se menciona como una codificacion “intra -trama”, donde cada trama de datos de imagenes es codificada sin considerar el contenido de ninguna otra trama. Usando la tecnica de ABSDCT, la velocidad de datos alcanzable puede ser reducida desde alrededor de 1,5 miles de millones de bits por segundo hasta aproximadamente 50 millones de bits por segundo, sin una degradacion perceptible de la calidad de la imagen.
La tecnica de ABSDCT puede ser usada para comprimir una imagen tanto en blanco y negro como en color, o una senal que represente la imagen. La senal de entrada en color puede estar en un formato YIQ, siendo Y la muestra de luminancia, o brillo, y siendo I y Q las muestras de crominancia, o color, para cada bloque de pfxeles de tamano 4x4. Tambien pueden usarse otros formatos conocidos, tales como los formatos YUV, YCbCy o RGT. Debido a la baja sensibilidad espacial del ojo al color, la mayor parte de las investigaciones han mostrado que es razonable una sub-muestra de los componentes de color, en un factor de cuatro, en las direcciones horizontal y vertical. En consecuencia, una senal de video puede ser representada por cuatro componentes de luminancia y dos componentes de crominancia.
Usando la ABSDCT, una senal de video sera generalmente segmentada en bloques de pfxeles para su procesamiento. Para cada bloque, los componentes de luminancia y crominancia son pasados a un entrelazador de bloques. Por ejemplo, un bloque de tamano 16x16 (pfxeles) puede ser presentado al entrelazador de bloques, que ordena u organiza las muestras de imagenes dentro de cada bloque de tamano 16x16, para producir bloques y sub- bloques compuestos de datos para el analisis de la transformacion discreta de coseno (DCT). El operador de la DCT es un procedimiento de conversion de una senal, muestreada en el tiempo y el espacio, en una representacion de frecuencia de la misma senal. Por convertir a una representacion de frecuencia, se ha mostrado que las tecnicas de DCT admiten muy altos niveles de compresion, ya que los cuantizadores pueden ser disenados para aprovechar las caracterfsticas de distribucion de frecuencia de una imagen. En un modo de realizacion preferente, una DCT de tamano 16x16 es aplicada a un primer ordenamiento, cuatro DCT de tamano 8x8 son aplicadas a un segundo ordenamiento, 16 DCT de tamano 4x4 son aplicadas a un tercer ordenamiento y 64 DCT de tamano 2x2 son aplicadas a un cuarto ordenamiento.
La operacion de la DCT reduce la redundancia espacial inherente en el origen de video. Despues de que la DCT es llevada a cabo, la mayor parte de la energfa de la senal de video tiende a concentrarse en unos pocos coeficientes de la DCT. Una transformacion adicional, la Transformacion de Arbol Cuadratico Diferencial (DQT), puede ser usada para reducir la redundancia entre los coeficientes de la DCT.
Para el bloque de tamano 16x16 y cada sub-bloque, los valores de coeficientes de la DCT y el valor de la DQT (si se usa la DQT) son analizados para determinar el numero de bits requeridos para codificar el bloque o sub-bloque. Luego, se escoge el bloque, o la combinacion de sub-bloques, que requiere el mfnimo numero de bits para codificar, para representar el segmento de imagen. Por ejemplo, dos sub-bloques de tamano 8x8, seis sub-bloques de tamano 4x4 y ocho sub-bloques de tamano 2x2 pueden ser escogidos para representar el segmento de imagen.
El bloque, o la combinacion de sub-bloques, escogido es luego debidamente dispuesto en orden en un bloque de tamano 16x16. Los valores de coeficientes de la DCT / DQT pueden luego someterse a ponderacion de frecuencia, cuantizacion y codificacion (tal como la codificacion de longitud variable), en preparacion para su transmision. Aunque la tecnica de ABSDCT descrita anteriormente rinde notablemente bien, es intensiva en terminos de calculo. Por tanto, la implementacion compacta en hardware de la tecnica puede ser diffcil.
La codificacion de longitud variable ha sido lograda en forma de longitud de racha y tamano. Otros procedimientos de compresion, tales como los del Grupo Conjunto de Expertos Fotograficos (JPEG) o del Grupo de Expertos en Imagenes en Movimiento (MPEG-2), usan un procedimiento estandar de recorrido en zig-zag sobre todo el tamano del bloque procesado. Usando la ABSDCT, sin embargo, se generan distintos tamanos de bloque, en base a la varianza dentro de los bloques de datos. En consecuencia, un procedimiento estandar de recorrido en zig-zag no siempre es optimo sobre todo el tamano del bloque procesado. Ademas, el procedimiento estandar de recorrido en zig-zag sobre cada tamano de bloque puede ser diffcil de implementar en hardware. Ademas, un patron en zig-zag no siempre es el patron optimo para un bloque o trama dados. En consecuencia, se necesita un procedimiento y un aparato para determinar el patron optimo.
Se reclama atencion al documento WO 01 / 35673 A, que se refiere a un sistema y a un procedimiento para la compresion de imagenes, utilizando bloques y sub-bloques de tamano adaptativo, de datos de coeficientes de transformaciones discretas de coseno. Un elemento de asignacion de tamano de bloque en el codificador selecciona el bloque o sub-bloque de un bloque de entrada de pfxeles a procesar. La seleccion se basa en la varianza de los valores de pfxeles. Los bloques con varianzas mayores que un umbral son subdivididos, mientras que los bloques con varianzas menores que un umbral no son subdivididos. Un elemento de transformacion transforma los valores de pfxeles de los bloques seleccionados al dominio de la frecuencia.
5
10
15
20
25
30
35
40
45
50
55
60
65
Los valores del dominio de la frecuencia pueden luego ser cuantizados, serializados y codificados con longitud variable, en preparacion para su transmision.
Se reclama atencion adicional al documento EP-A-0 862 339, que se refiere a un aparato de conversion de senales en el cual las senales de imagenes digitales, comprimidas en un formato DVC, son descodificadas en senales de imagenes no comprimidas de un tipo de componente cromatico 4:1:1, que estan compuestas por senales de diferencia cromatica y senales de luminancia. Las senales de diferencia cromatica del tipo de componente cromatico 4:1:1, dispuestas en una matriz, son eliminadas en una fila de cada dos, para reducir a la mitad el numero de senales de diferencia cromatica en una direccion y, y se anade una senal de diferencia cromatica a una posicion entre cada par de senales de diferencia cromatica adyacentes entre si en una direccion x, para duplicar el numero de senales de diferencia cromatica en la direccion x. Por lo tanto, las senales convertidas de diferencia cromatica de un tipo de componente cromatico 4:2:0 son producidas a partir de la senales de diferencia cromatica. Los valores de las senales convertidas de diferencia cromatica son determinados de acuerdo a los valores de las senales de diferencia cromatica. A continuacion, las senales convertidas de diferencia cromatica y las senales de luminancia de las senales de imagenes no comprimidas son combinadas para producir senales convertidas de imagenes digitales del tipo de componente cromatico 4:2:0.
El documento US-A-5 452 104 se refiere a un procedimiento y a un sistema para comprimir los datos de imagenes, para su transmision. Cada bloque y los correspondientes sub-bloques de datos de pfxeles son sometidos a una operacion de transformacion discreta de coseno (DCT). Los niveles variables de sub-bloques de los coeficientes resultantes de la transformacion correspondiente son seleccionados para su estructuracion en un bloque compuesto de coeficientes de transformacion, correspondiente a cada bloque de entrada de datos de pfxeles. La seleccion del tamano de bloque de coeficientes de transformacion para el bloque compuesto esta determinada por un proceso de comparacion entre la eficacia de la codificacion de bloques y sub-bloques. El bloque compuesto es codificado con longitud variable para reducir adicionalmente el numero de bits en los datos comprimidos. Una operacion de transformacion de arbol cuadratico discreto (DQT) suplementa la seleccion de bloques de tamano adaptativo de bloque, con reemplazo de coeficientes, para optimizar la compresion de datos de imagenes.
Tambien se reclama atencion al documento US 5 812 788 A, que se refiere a la codificacion y descodificacion de senales de video usando un conjunto de tablas de cuantizacion, que es generado a partir de una matriz base y una matriz de escala, ambas explfcitamente codificadas en el flujo de bits de video codificado. Los conjuntos de tablas de cuantizacion pueden ser cambiados tan a menudo como sea necesario, mientras las nuevas matrices base y de escala esten codificando explfcitamente en el flujo de bits.
Tambien se reclama atencion al documento US 4 821 119 A, que se refiere a un codificador de video inter-trama de baja velocidad de bits, del tipo conocido como codificador hfbrido. Un codificador hfbrido logra la compresion de imagenes usando una transformacion bidimensional de senales sobre bloques de datos diferenciales de pfxeles en el bucle directo de un codificador DPCM. Los coeficientes de transformacion de cada bloque son luego cuantizados y codificados por entropfa para su transmision. La eficacia de la codificacion esta determinada, en parte, por el tamano del bloque de transformacion. Los bloques mas grandes son mas eficaces en terminos de bits, debido a la menor cantidad de datos de sobregasto requeridos, pero requieren una compleja implementacion de hardware transformador. Ademas, los bloques mas grandes producen una molesta distorsion de bloques. El codificador divulgado tiene las ventajas de la division en tamanos de bloque, tanto grandes como pequenos, de la imagen de video. En el codificador, despues de la combinacion diferencial con un bloque correspondiente procedente de la trama anterior, cada bloque de tamano mxm de datos de pfxeles es subdivido en bloques mas pequenos de tamano nxn (n<m) de datos, que son transformados individualmente por un transformador bidimensional discreto de coseno. Despues de que los coeficientes de cada sub-bloque estan cuantizados, se reconstruye el bloque principal. Un codificador por entropfa recorre los sub-bloques y codifica la cadena resultante de coeficientes recorridos.
Finalmente, se reclama atencion al documento de LEE J H ET AL: “UNA CODIFICACION EFICAZ DE BLOQUES DE DCT CON RECORRIDO ADAPTATIVO DE BLOQUES”, TRANSACCIONES IEICE DE COMUNICACIONES, SOCIEDAD DE COMUNICACIONES; TOKIO, JP, vol. E77-B, n.° 12, 1 de diciembre de 1994, paginas 1.489 a 1.494, XP000498064, ISSN: 0916-8516.
RESUMEN
De acuerdo a la presente invencion, se proporcionan un procedimiento y un aparato de serializacion de datos de imagenes en base a la frecuencia, segun lo enunciado, respectivamente, en las reivindicaciones 1 y 18. Modos de realizacion adicionales son reivindicados en las reivindicaciones dependientes.
Los modos de realizacion de la invencion proporcionan un aparato y un procedimiento para un determinador optimo de patrones. En un modo de realizacion, el patron optimo es configurable trama por trama. En otro modo de realizacion, se usa un patron por omision de un tamano de bloque predeterminado, independientemente del tamano efectivo de bloque, segun lo determinado por la tecnica de la transformacion discreta de coseno de tamano adaptativo de bloque (ABSDCT).
5
10
15
20
25
30
35
40
45
50
55
60
65
La presente invencion es un sistema y un procedimiento, basados en la calidad, de compresion de imagenes que utiliza bloques y sub-bloques de tamano adaptativo, de datos de coeficientes de la Transformacion Discreta de Coseno, y un factor de escala de cuantizacion basado en la calidad. Un bloque de datos de pfxeles es ingresado en un codificador. El codificador comprende un elemento de asignacion de tamano de bloque (BSA), que segmenta el bloque de entrada de pfxeles para su procesamiento. La asignacion del tamano de bloque esta basada en las varianzas del bloque de entrada y los bloques adicionalmente subdivididos. En general, las areas con mayores varianzas son subdivididas en bloques mas pequenos, y las areas con varianzas mas pequenas no han de subdividirse, siempre que los valores medios de bloques y sub-bloques caigan en distintas gamas predeterminadas. Por tanto, en primer lugar, el umbral de varianza de un bloque es modificado a partir de su valor nominal, segun su valor medio, y luego la varianza del bloque es comparada con un umbral y, si la varianza es mayor que el umbral, entonces el bloque es subdividido.
La asignacion del tamano de bloque es proporcionada a un elemento de transformacion, que transforma los datos de pfxeles en datos del dominio de la frecuencia. La transformacion es realizada solamente en el bloque y los sub- bloques seleccionados mediante la asignacion del tamano de bloque. Los datos de transformacion se someten luego al ajuste a escala mediante la cuantizacion y la serializacion. La cuantizacion de los datos de transformacion se cuantiza en base a una metrica de calidad de imagen, tal como un factor de escala que ajusta con respecto al contraste, el numero de coeficientes, la distorsion de velocidad, la densidad de las asignaciones de tamanos de bloque y / o los factores de escala pasados. La serializacion se basa en crear las mas largas duraciones de racha posibles del mismo valor. En un modo de realizacion, se utiliza el recorrido en zigzag con un tamano fijo de bloque para serializar los datos, para producir un flujo de datos, independientemente de la asignacion de tamano de bloque. En otro modo de realizacion, el tamano del bloque es de 8x8. El flujo de datos puede ser codificado por un codificador de longitud variable, en preparacion para la transmision. Los datos codificados son enviados a traves de un canal de transmision a un descodificador, donde los datos de pfxeles son reconstruidos en preparacion para su exhibicion.
En otro modo de realizacion, se describe un procedimiento de serializacion de datos de imagenes en base a la frecuencia, en un sistema de cine digital. Se compila al menos un grupo de datos que pueden ser representados como un bloque de datos de tamano 16x16. Alternativamente, se compila una trama de datos. El grupo de datos es dividido en cuatro grupos, cada uno de los cuales puede ser representado como un bloque de tamano 8x8. Cada uno de los cuatro bloques de datos de dimensiones 8x8 es serializado usando recorrido en zig-zag, recorrido vertical y / o recorrido horizontal.
En consecuencia, es un aspecto de un modo de realizacion procesar bloques de datos usando un patron fijo de recorrido en bloques de tamano 8x8, independientemente de la asignacion efectiva del tamano de bloque.
Es otro aspecto de un modo de realizacion determinar e implementar una tecnica optima de recorrido trama por trama.
Es otro aspecto de un modo de realizacion proporcionar al usuario patrones configurables de recorrido.
BREVE DESCRIPCION DE LOS DIBUJOS
Las caracterfsticas y ventajas de la presente invencion devendran mas evidentes a partir de la descripcion detallada expuesta a continuacion, cuando se considere conjuntamente con los dibujos, en los cuales los caracteres iguales de referencia identifican de forma correspondiente en toda su extension, y en los que:
la FIG. 1 es un diagrama de bloques de una parte codificadora de un sistema de procesamiento de imagenes basado en la calidad, que incorpora el sistema y el procedimiento de asignacion de tamano de bloque basado en la varianza de la presente invencion;
la FIG. 2 es un diagrama de bloques de una parte descodificadora de un sistema de procesamiento de imagenes basado en la calidad, que incorpora el sistema y el procedimiento de asignacion de tamano de bloque basado en la varianza de la presente invencion;
la FIG. 3 es un diagrama de flujo que ilustra las etapas de procesamiento implicadas en la asignacion de tamano de bloque basada en la varianza;
la FIG. 4a ilustra una asignacion ejemplar de tamano de bloque;
la FIG. 4b ilustra un patron de recorrido en zig-zag para un tamano de bloque de 16x16;
la FIG. 4c ilustra un patron de recorrido en zig-zag dentro de cada tamano de bloque variable;
la FIG. 5a ilustra un patron de recorrido en zig-zag de bloques de tamano 8x8, independientes de los tamanos efectivos de bloque;
5
10
15
20
25
30
35
40
45
50
55
la FIG. 5b ilustra distintos patrones de recorrido implementados en bloques de tamano 8x8, independientes de los tamanos efectivos de bloque;
la FIG. 6a ilustra un modo de realizacion de un proceso de serializacion; y
la FIG. 6b ilustra un modo de realizacion alternativo de un proceso de serializacion.
DESCRIPCION DETALLADA DE LOS MODOS DE REALIZACION PREFERENTES
A fin de facilitar la transmision digital de senales digitales, y de disfrutar de las correspondientes ventajas, es generalmente necesario emplear alguna forma de compresion de senales. Para lograr una alta compresion en una imagen resultante, tambien es importante que se mantenga la alta calidad de la imagen. Ademas, se desea la eficacia de calculo para la implementacion compacta en hardware, que es importante en muchas aplicaciones.
Antes de que se explique en detalle un modo de realizacion de la invencion, ha de entenderse que la invencion no esta limitada en su aplicacion a los detalles de la construccion y la disposicion de los componentes, enunciados en la siguiente descripcion o ilustrados en los dibujos. La invencion es capaz de otros modos de realizacion, y se llevan a cabo de diversas maneras. Ademas, se entiende que la fraseologfa y la terminologfa usadas en el presente documento son con fines de descripcion y no deberfan ser consideradas como limitadoras.
La compresion de imagenes empleada en un aspecto de un modo de realizacion se basa en tecnicas de transformacion discreta de coseno (DCT), tales como la divulgada en la Solicitud de Patente de los EE.UU., presentada a la vez, “Compresion de imagenes por DCT de tamano de bloque adaptativo, basada en la varianza sensible al contraste”, con n.° de serie 09 / 436.085, presentada el 8 de noviembre de 1999, cedida al cesionario de la presente invencion. Generalmente, una imagen a procesar en el dominio digital esta compuesta por datos de pfxeles divididos en una formacion de bloques no solapados, de tamano NxN. Puede realizarse una DCT bidimensional en cada bloque. La DCT bidimensional esta definida por la siguiente relacion:
imagen1
donde
imagen2
si k = 0
si k * 0
y x(m,n) es el pixel en la ubicacion (m,n) dentro de un bloque de tamano NxM, y X(k,l) es el correspondiente coeficiente de la DCT.
Dado que los valores de pixel son no negativos, el componente de la DCT X(0,0) es siempre positivo y generalmente tiene la mayor parte de la energfa. De hecho, para imagenes tfpicas, la mayorfa de la energfa de transformacion esta concentrada alrededor del componente X(0,0). Esta propiedad de compactacion de la energfa es lo que hace de la tecnica de la DCT un procedimiento de compresion tan atractivo.
La tecnica de compresion de imagenes utiliza la codificacion adaptativa por contraste para lograr una reduccion adicional de la tasa de bits. Se ha observado que las imagenes mas naturales estan compuestas por areas planas de variacion relativamente lenta, y areas activas tales como fronteras de objetos y textura de alto contraste. Los esquemas de codificacion adaptativa por contraste aprovechan este factor asignando mas bits a las areas activas y menos bits a las areas menos activas.
Los procedimientos adaptativos por contraste utilizan la codificacion intra-trama (procesamiento espacial) en lugar de la codificacion inter-trama (procesamiento espacial-temporal). La codificacion inter-trama requiere inherentemente multiples almacenes temporales de tramas, ademas de circuitos de procesamiento mas complejos. En muchas aplicaciones se necesita una complejidad reducida para la implementacion efectiva. La codificacion intra-trama tambien es util en una situacion que puede hacer que un esquema de codificacion espacial-temporal se desmorone y rinda malamente. Por ejemplo, las pelfculas de 24 tramas por segundo pueden caer en esta categorfa, dado que el tiempo de integracion, debido al obturador mecanico, es relativamente corto. El corto tiempo de integracion permite un mayor grado de irregularidad temporal de trazos. La hipotesis de correlacion de trama a trama se desmorona para el movimiento rapido, segun se torna espasmodico. La codificacion intra-trama tambien es mas facil de estandarizar cuando estan implicadas frecuencias de lfnea de energfa tanto de 50 Hz como de 60 Hz. La television transmite actualmente senales, bien a 50 Hz o bien a 60 Hz. El uso de un esquema intra-trama, siendo un enfoque
5
10
15
20
25
30
35
40
45
50
55
60
digital, puede adaptarse al funcionamiento tanto de 50 Hz como de 60 Hz, o incluso a pelfculas de 24 tramas por segundo, equilibrando la velocidad de tramas con respecto a la resolucion espacial.
Con fines de procesamiento de imagenes, la operacion de la DCT se realiza en datos de pfxeles que estan divididos en una formacion de bloques no solapados. Observese que, aunque los tamanos de bloque se exponen en el presente documento como de tamano NxN, se preve que pueden ser usados diversos tamanos de bloque. Por ejemplo, puede utilizarse un tamano de bloque de NxM, donde tanto N como M son enteros, siendo M mayor o menor que N. Otro aspecto importante es que el bloque es divisible en al menos un nivel de sub-bloques, tales como N//xN//, N/ixN/j, N/ixM/j, etc., donde i y j son enteros. Ademas, el tamano de bloque ejemplar, segun lo expuesto en el presente documento, es un bloque de pfxeles de tamano 16x16, con bloque y sub-bloques correspondientes de coeficientes de la DCT. Se preve ademas que pueden ser usados otros enteros diversos, tales como valores enteros, tanto pares como impares, p. ej., 9x9.
Las FIGs. 1 y 2 ilustran un sistema de procesamiento de imagenes 100 que incorpora el concepto de serializador configurable. El sistema de procesamiento de imagenes 100 comprende un codificador 104 que comprime una senal de video recibida. La senal comprimida es transmitida usando un canal de transmision o un medio ffsico 108, y es recibida por un descodificador 112. El descodificador 112 descodifica los datos codificados recibidos en muestras de imagenes, que pueden ser exhibidas luego.
En general, una imagen es dividida en bloques de pfxeles para su procesamiento. Una senal cromatica puede ser convertida desde el espacio RGB al espacio YC1C2, usando un convertidor de RGB a YC1C2 116, donde Y es el componente de luminancia, o brillo, y C1 y C2 son los componentes de crominancia, o color. Debido a la baja sensibilidad espacial del ojo al color, muchos sistemas sub-muestrean los componentes C1 y C2 en un factor de cuatro, en las direcciones horizontal y vertical. Sin embargo, el sub-muestreo no es necesario. Una imagen de resolucion completa, conocida como de formato 4:4:4, puede ser muy util o necesaria en algunas aplicaciones, tales como las mencionadas como capaces de abarcar el “cine digital”. Dos posibles representaciones de YC1C2 son la representacion YIQ y la representacion YUV, ambas muy bien conocidas en la tecnica. Tambien es posible emplear una variacion de la representacion YUV, conocida como YCbCr. Esto puede ser descompuesto adicionalmente en componentes impares y pares. En consecuencia, en un modo de realizacion se usa la representacion Y-par, Y- impar, Cb-par, Cb-impar, Cr-par, Cr-impar.
En un modo de realizacion preferente, cada uno de los componentes Y, Cb y Cr, par e impar, es procesado sin sub- muestreo. Por tanto, una entrada de cada uno de los seis componentes de un bloque de pfxeles de tamano 16x16 es proporcionada al codificador 104. Con fines de ilustracion, se ilustra el codificador 104 para el componente Y-par. Se usan codificadores similares para el componente Y-impar, y los componentes Cb y Cr par e impar. El codificador 104 comprende un elemento de asignacion de tamano de bloque 120, que realiza la asignacion del tamano de bloque, en preparacion para la compresion de video. El elemento de asignacion del tamano de bloque 120 determina la descomposicion en bloques del bloque de tamano 16x16, en base a las caracterfsticas perceptivas de la imagen en el bloque. La asignacion del tamano de bloque subdivide cada bloque de tamano 16x16 en bloques mas pequenos, tales como de tamano 8x8, 4x4 y 2x2, en forma de arbol cuadratico, segun la actividad dentro de un bloque de tamano 16x16. El elemento de asignacion del tamano de bloque 120 genera datos de arbol cuadratico, llamados los datos PQR, cuya longitud puede estar entre 1 y 21 bits. Por tanto, si la asignacion del tamano de bloque determina que un bloque de tamano 16x16 ha de ser dividido, el bit R de los datos PQR es activado y esta seguido por cuatro bits adicionales de datos Q, correspondientes a los cuatro bloques divididos de tamano 8x8. Si la asignacion del tamano de bloque determina que cualquiera de los bloques de tamano 8x8 ha de ser subdividido, entonces se anaden cuatro bits adicionales de datos P para cada bloque subdividido de tamano 8x8.
Con referencia ahora a la FIG. 3, se proporciona un diagrama de flujo que muestra detalles del funcionamiento del elemento de asignacion del tamano de bloque 120. La varianza de un bloque es usada como una metrica en la decision de subdividir un bloque. Comenzando en la etapa 202, se lee un bloque de pfxeles de tamano 16x16. En la etapa 204, se calcula la varianza, v16, del bloque de tamano 16x16. La varianza se calcula de la siguiente manera:
imagen3
donde N = 16 y Xj es el pixel en la 7esima fila, /esima columna dentro del bloque de tamano NxN. En la etapa 206, primero se modifica el umbral de varianza T16 para proporcionar un nuevo umbral T’16 si el valor medio del bloque esta entre dos valores predeterminados, y luego la varianza del bloque se compara con el nuevo umbral, T’16.
Si la varianza v16 no es mayor que el umbral T16, entonces en la etapa 208 se escribe la direccion de inicio del bloque de tamano 16x16 en un almacenamiento temporal, y el bit R de los datos PQR se fija en 0 para indicar que el bloque de tamano 16x16 no esta subdividido. El algoritmo lee luego el siguiente bloque de pfxeles de tamano 16x16.
5
10
15
20
25
30
35
40
45
50
55
60
65
Si la varianza v16 es mayor que el umbral T16, entonces en la etapa 210 el bit R de los datos PQR se fija en 1 para indicar que el bloque de tamano 16x16 ha de ser subdividido en cuatro bloques de tamano 8x8.
Los cuatro bloques de tamano 8x8, /=1:4, son considerados secuencialmente para una subdivision adicional, segun se muestra en la etapa 212. Para cada bloque de tamano 8x8, se calcula la varianza, v8, en la etapa 214. En la etapa 216, primero se modifica el umbral de varianza T8 para proporcionar un nuevo umbral T’8 si el valor medio del bloque esta entre dos valores predeterminados, y luego la varianza del bloque se compara con este nuevo umbral.
Si la varianza v8/ no es mayor que el umbral T8, entonces en la etapa 218 se escribe la direccion de inicio del bloque de tamano 8x8 en un almacenamiento temporal, y el bit Q correspondiente, Qi, se fija en 0. Luego se procesa el proximo bloque de tamano 8x8. Si la varianza v8/ es mayor que el umbral T8, entonces en la etapa 220 se fija el correspondiente bit Q, Qi, en 1 para indicar que el bloque de tamano 8x8 ha de ser subdividido en cuatro bloques de tamano 4x4.
Los cuatro bloques de tamano 4x4, j,=1:4, son considerados secuencialmente para su subdivision adicional, segun se muestra en la etapa 222. Para cada bloque de tamano 4x4, se calcula la varianza, v4j, en la etapa 224. En la etapa 226 se modifica primero el umbral de varianza T4 para proporcionar un nuevo umbral T’4 si el valor medio del bloque esta entre dos valores predeterminados, y luego se compara la varianza del bloque con este nuevo umbral.
Si la varianza v4j no es mayor que el umbral T4, entonces en la etapa 228 se escribe la direccion del bloque de tamano 4x4, y se fija en 0 el correspondiente bit P, Pj. Se procesa luego el proximo bloque de tamano 4x4. Si la varianza v4j es mayor que el umbral T4, entonces en la etapa 230 se fija en 1 el correspondiente bit P, Pj, para indicar que el bloque de tamano 4x4 ha de ser subdividido en cuatro bloques de tamano 2x2. Ademas, la direccion de los 4 bloques de tamano 2x2 se escribe en un almacenamiento temporal.
Los umbrales T16, T8 y T4 pueden ser constantes predeterminadas. Esto se conoce como la decision dura. Alternativamente, puede ser implementada una decision adaptativa o suave. Por ejemplo, la decision suave varfa los umbrales para las varianzas, segun el valor medio de pfxeles de los bloques de tamano 2Nx2N, donde N puede ser 8, 4 o 2. Por tanto, las funciones de los valores medios de pfxeles pueden ser usadas como los umbrales.
Con fines de ilustracion, considerese el siguiente ejemplo. Sean los umbrales de varianza predeterminados para el componente Y, 50, 1.100 y 880, respectivamente, para los bloques de tamano 16x16, 8x8 y 4x4. En otras palabras, T16 = 50, T8 = 1.100 y T4 = 880. Sea la gama de valores medios 80 y 100. Supongamos que la varianza calculada para el bloque de tamano 16x16 es 60. Dado que 60 es mayor que T16, y el valor medio 90 esta entre 80 y 100, el bloque de tamano 16x16 es subdividido en cuatro sub-bloques de tamano 8x8. Supongamos que las varianzas calculadas para los bloques de tamano 8x8 son 1.180, 935, 980 y 1.210. Dado que dos de los bloques de tamano 8x8 tienen varianzas que superan T8, estos dos bloques son adicionalmente subdivididos para producir un total de ocho sub-bloques de tamano 4x4. Finalmente, supongamos que las varianzas de los ocho bloques de tamano 4x4 son 620, 630, 670, 610, 590, 525, 930 y 690, con los correspondientes valores medios 90, 120, 110, 115. Dado que el valor medio del primer bloque de tamano 4x4 cae en la gama (80, 100), su umbral sera reducido a T’4 = 200, que es menor que 880. Luego, este bloque de tamano 4x4 sera subdividido, asf como el septimo bloque de tamano 4x4. La asignacion resultante del tamano de bloque se muestra en la FIG. 4a. La correspondiente descomposicion en arbol cuadratico se muestra en la FIG. 4b. Adicionalmente, los datos PQR generados por esta asignacion del tamano de bloque se muestran en la FIG. 4c.
Observese que se usa un procedimiento similar para asignar tamanos de bloque para los componentes cromaticos Y-impar, Cb-par, Cb-impar, Cr-par y Cr-impar. Los componentes cromaticos pueden ser diezmados horizontalmente, verticalmente, o en ambos sentidos.
Adicionalmente, observese que, aunque la asignacion del tamano de bloque ha sido descrita como un enfoque de arriba hacia abajo, en el cual el bloque mas grande (de tamano 16x16 en el presente ejemplo) se evalua primero, puede usarse en cambio un enfoque de abajo hacia arriba. El enfoque de abajo hacia arriba evaluara primero los bloques mas pequenos (de tamano 2x2 en el presente ejemplo).
Con referencia de nuevo a la FIG. 1, los datos PQR, junto con las direcciones de los bloques seleccionados, son proporcionados a un elemento de DCT 124. El elemento de DCT 124 usa los datos PQR para realizar transformaciones discretas de coseno de los tamanos adecuados sobre los bloques seleccionados. Solamente los bloques seleccionados necesitan someterse al procesamiento de la DCT.
El sistema de procesamiento de imagenes 100 tambien comprende el elemento de DQT 128 para reducir la redundancia entre los coeficientes DC de las DCT. Un coeficiente DC se encuentra en la esquina superior izquierda de cada bloque de la DCT. Los coeficientes DC son, en general, grandes en comparacion con los coeficientes AC. La discrepancia en los tamanos dificulta disenar un codificador eficaz de longitud variable. En consecuencia, es ventajoso reducir la redundancia entre los coeficientes DC.
5
10
15
20
25
30
35
40
45
50
55
60
El elemento de DQT 128 realiza DCT bidimensionales sobre los coeficientes DC, tornados 2x2 a la vez. A partir de bloques de tamano 2x2 dentro de bloques de tamano 4x4 se realiza una DCT bidimensional sobre los cuatro coeficientes DC. Esta DCT de tamano 2x2 se llama la transformacion de arbol cuadratico diferencial, o DQT, de los cuatro coeficientes DC. Luego, el coeficiente DC de la DQT, junto con los tres coeficientes DC vecinos dentro de un bloque de tamano 8x8, se usan para calcular la DQT del proximo nivel. Finalmente, los coeficientes DC de los cuatro bloques de tamano 8x8 dentro de un bloque de tamano 16x16 se usan para calcular la DQT. Por tanto, en un bloque de tamano 16x16, hay un coeficiente DC verdadero y el resto son coeficientes AC correspondientes a la DCT y la DQT.
Los coeficientes de transformacion (tanto de DCT como de DQT) son proporcionados a un cuantizador para su cuantizacion. En un modo de realizacion preferente, los coeficientes de DCT son cuantizados usando mascaras de ponderacion de frecuencia (FWM) y un factor de escala de cuantizacion. Una FWM es una tabla de ponderaciones de frecuencia de las mismas dimensiones que el bloque de coeficientes de DCT de entrada. Las ponderaciones de frecuencia aplican distintas ponderaciones a los distintos coeficientes de DCT. Las ponderaciones estan disenadas para destacar las muestras de entrada que tengan contenido de frecuencia al que el sistema visual u optico humano es mas sensible y para depreciar las muestras que tengan contenido de frecuencia al que el sistema visual u optico es menos sensible. Las ponderaciones tambien pueden ser disenadas en base a factores tales como distancias de visualizacion, etc.
Las ponderaciones son seleccionadas en base a datos empfricos. Un procedimiento para disenar las mascaras de ponderacion para coeficientes de DCT de tamano 8x8 se divulga en el documento ISO / IEC JTC1 CD 10918, “Compresion y codificacion digital de imagenes fijas de tono continuo - parte 1: Requisitos y directrices”, Organizacion Internacional de Normas, 1994, que esta incorporado al presente documento por referencia. En general, se disenan dos FWM, una para el componente de luminancia y uno para los componentes de crominancia. Las tablas de FWM, para tamanos de bloques 2x2 y 4x4, se obtienen por diezmado, y los de 16x16 por interpolacion de la del bloque de tamano 8x8. El factor de escala controla la calidad y la tasa de bits de los coeficientes cuantizados.
Por tanto, cada coeficiente de DCT es cuantizado de acuerdo a la relacion:
| E*DCT(i,j) Lfwm(i,j)*q
imagen4
donde DCT(i,j) es el coeficiente de DCT de entrada, fwm(i,j) es la mascara de ponderacion de frecuencia, q es el factor de escala y DCTq(i,j) es el coeficiente cuantizado. Observese que, segun el signo del coeficiente de DCT, el primer termino dentro de los corchetes es redondeado hacia arriba o hacia abajo. Los coeficientes de DQT tambien son cuantizados usando una mascara de ponderacion adecuada. Sin embargo, pueden usarse multiples tablas o mascaras y aplicarse a cada uno de los componentes Y, Cb y Cr.
El bloque de datos de pfxeles y las mascaras de ponderacion de frecuencia son luego ajustados a escala por un cuantizador 130, o un elemento de factor de escala. En un modo de realizacion preferente, hay 32 factores de escala correspondientes a tasas medias de bits. A diferencia de otros procedimientos de compresion, tales como MPEG2, la tasa media de bits se controla en base a la calidad de la imagen procesada, en lugar de la tasa de bits deseada y el estado del almacen temporal.
Los coeficientes cuantizados son proporcionados a un serializador de recorrido 152. El serializador 152 recorre los bloques de coeficientes cuantizados para producir un flujo serializado de coeficientes cuantizados. Pueden ser empleados los recorridos en zig-zag, el recorrido por columnas o el recorrido por filas. Tambien puede ser escogido un cierto numero de distintos patrones de recorrido en zigzag, asf como patrones distintos al zigzag. Una tecnica preferente emplea tamanos de bloque de 8x8 para el recorrido en zigzag, aunque pueden ser empleados otros tamanos.
Se describen en el presente documento distintas tecnicas de recorrido, con respecto a las FIGs. 4 y 5. La FIG. 4b ilustra un recorrido en zig-zag por todo un bloque 400 de tamano 16x16. En un bloque basado en la frecuencia, tal como la DCT, los valores son codificados y representados de modo que el valor de DC este en la esquina superior izquierda, y los valores de AC disminuyen en valor al aproximarse a la esquina inferior derecha. Por lo tanto, una tecnica de recorrido en zig-zag por todo el bloque de tamano 16x16, independientemente de la asignacion del tamano de bloque dentro del bloque de tamano 16x16, lleva a ineficacia en la codificacion. En otras palabras, el recorrido en zig-zag de tal forma lleva a longitudes mas cortas de racha del mismo valor.
La FIG. 4c ilustra una tecnica mas eficaz de recorrido, aprovechando el orden en el que los coeficientes estan ordenados en un bloque dado. Cada bloque 404, 406, 408, 410, 412, 414, 416, 418, 420, 422, 424, 426 y 428 emplea un recorrido distinto en zig-zag. En un modo de realizacion, cada bloque puede emplear distintos patrones de recorrido, tales como verticales u horizontales, o en zig-zag inverso. Aunque este modo de realizacion esta
5
10
15
20
25
30
35
40
45
50
55
60
65
sumamente optimizado en la preservacion de las maximas longitudes de racha, calcular recorridos en zig-zag por separado para cada bloque es mas intensivo en terminos de calculo y, en hardware, puede ser mas diffcil de implementar.
En consecuencia, se ha determinado que implementaciones del recorrido, tales como las descritas en las FIGs. 5a y 5b, pueden equilibrar la optimizacion de la maximizacion de longitudes de racha, equilibradas con la facilidad en la implementacion de hardware. La FIG. 5a ilustra un bloque 500 de tamano 16x16, subdividido por la asignacion del tamano de bloque en los bloques 504, 506, 508, 510, 512, 514, 516, 518, 520, 522, 524, 526 y 528. En un modo de realizacion, independientemente de la descomposicion de la BSA, se emplea el recorrido en zig-zag en cada cuadrante de tamano 8x8 del bloque de tamano 16x16. Por tanto, los bloques 504, 506, 508 y 510 son serializados por un recorrido en zig-zag, el bloque 512 es serializado por un recorrido en zig-zag, el bloque 514 es serializado por un recorrido en zig-zag y los bloques 516, 518, 520, 522, 524, 526 y 528 son serializados por un recorrido en zigzag.
La FIG. 5b ilustra un bloque 550 de tamano 16x16, subdividido por la asignacion del tamano de bloque en los bloques 554, 556, 558, 560, 562, 564, 568, 570, 572, 574, 576 y 578. En este modo de realizacion, se emplean distintos tipos de recorrido en cada cuadrante de tamano 8x8 del bloque de tamano 16x16. El tipo de recorrido empleado esta determinado por la evaluacion de los valores dentro del bloque de tamano 8x8 y la determinacion de un procedimiento de recorrido que sea el mas eficaz. Por ejemplo, en la FIG. 5b, se emplea el recorrido horizontal para los bloques 554, 556, 558, 560, el bloque 562 es serializado por un recorrido en zig-zag, el bloque 564 es serializado por un recorrido vertical, y los bloques 566, 568, 570, 572, 574, 576 y 578 son serializados por un recorrido en zig-zag. En un modo de realizacion alternativo, el procedimiento optimo de recorrido es determinado trama por trama, a diferencia de bloque por bloque. La determinacion del procedimiento optimo de recorrido trama por trama es menos intensivo en terminos de calculo, a diferencia del procedimiento bloque por bloque.
La FIG. 6a ilustra un proceso 600 por el cual ocurre la serializacion. Se lee 604 un grupo de datos. Dado que los datos lefdos estan basados en tamanos variables de bloque, los datos lefdos no son de tamano o longitud uniforme. Los datos son compilados 608 o estructurados en una forma que pueda ser representada como un bloque de tamano 16x16. Los datos son luego divididos 612 en cuatro tamanos de bloque de 8x8. Se realiza 616 luego un recorrido en zig-zag en cada bloque de tamano 8x8. Los datos son luego encaminados 620 a un almacen temporal.
La FIG. 6b ilustra un modo de realizacion alternativo 650 de la serializacion. Se lee una trama de datos 654. La trama de datos es evaluada 658 para determinar la tecnica optima de serializacion. En base a la evaluacion, se emplea un recorrido en zig-zag 662, un recorrido vertical 664 o un recorrido horizontal 668. Tras serializar en base a uno de los procedimientos de recorrido, los datos son encaminados 672 a un almacen temporal.
Con referencia de nuevo a la FIG. 1, se proporciona el flujo de coeficientes serializados y cuantizados a un codificador de longitud variable 156. El codificador de longitud variable 156 puede hacer uso de la codificacion por longitud de racha de los ceros, seguida por la codificacion de Huffman. Esta tecnica esta expuesta en detalle en las precitadas Patentes de los EE.UU. con n.° 5.021.891, 5.107.345 y 5.452.104, que estan incorporadas por referencia y resumidas en el presente documento. Un codificador por longitud de racha tomarfa los coeficientes cuantizados y separarfa los coeficientes nulos de los no nulos. Los valores nulos son mencionados como valores de longitud de racha, y son codificados segun Huffman. Los valores no nulos son codificados segun Huffman por separado.
Tambien es posible una codificacion de Huffman modificada de los coeficientes cuantizados y se usa en el modo de realizacion preferente. Aquf, despues del recorrido en zigzag, un codificador por longitud de racha determinara los pares de longitud de racha y tamano dentro de cada bloque de tamano 8x8. Estos pares de longitud de racha y tamano son luego codificados segun Huffman.
Los codigos de Huffman son disenados a partir de las estadfsticas, bien medidas o bien teoricas, de una imagen. Se ha observado que la mayorfa de las imagenes naturales estan compuestas por areas planas, o de variacion relativamente lenta, y areas activas, tales como fronteras de objetos y textura de alto contraste. Los codificadores de Huffman con transformaciones del dominio de la frecuencia, tales como la DCT, explotan estas caracterfsticas asignando mas bits a las areas activas y menos bits a las areas planas. En general, los codificadores de Huffman hacen uso de tablas de consulta para codificar la longitud de racha y los valores no nulos. Se usan generalmente tablas multiples, siendo preferentes 3 tablas en la presente invencion, aunque pueden emplearse 1 o 2, segun se desee.
La senal de imagen comprimida, generada por el codificador 104, puede ser almacenada temporalmente usando un almacen temporal 160, y luego transmitida al descodificador 112 usando el canal de transmision 108. Los datos PQR, que contienen la informacion de asignacion de tamano de bloque, tambien se proporcionan al descodificador 112. El descodificador 112 comprende un almacen temporal 164 y un descodificador de longitud variable 168, que descodifica los valores de longitud de racha y los valores no nulos.
La salida del descodificador de longitud variable 168 es proporcionada a un serializador inverso 172, que ordena los coeficientes de acuerdo al esquema de recorrido empleado. Por ejemplo, si se usaron una mezcla de recorrido en
5
10
15
20
25
30
35
40
45
50
zig-zag, recorrido vertical y recorrido horizontal, el serializador inverso 172 reordenarfa adecuadamente los coeficientes con el conocimiento del tipo de recorrido empleado. El serializador inverso 172 recibe los datos PQR para asistir en el ordenamiento adecuado de los coeficientes, en un bloque compuesto de coeficientes.
El bloque compuesto es proporcionado, usando un selector 174, a un cuantizador inverso 176, para deshacer el procesamiento debido al uso del factor de escala del cuantizador y las mascaras de ponderacion de frecuencia.
El bloque de coeficientes es luego proporcionado a un elemento de IDQT 186, seguido por un elemento de IDCT 186, si se habfa aplicado la transformacion del Arbol Cuadratico Diferencial. En otro caso, el bloque de coeficientes es proporcionado directamente al elemento de IDCT 190. El elemento de IDQT 186 y el elemento de IDCT 190 transforman inversamente los coeficientes para producir un bloque de datos de pfxeles. Los datos de pfxeles luego pueden tener que ser interpolados, convertidos al formato RGB y almacenados luego para su exhibicion futura.
En consecuencia, se presenta un sistema y un procedimiento para la compresion de imagenes que realiza la asignacion del tamano de bloque en base a la varianza de pfxeles. La asignacion del tamano de bloque basada en la varianza ofrece varias ventajas. Debido a que la Transformacion Discreta de Coseno es realizada despues de que son determinados los tamanos de bloque, se logra un calculo eficaz. La transformacion intensiva en terminos de calculo solamente necesita ser realizada en los bloques seleccionados. Ademas, el proceso de seleccion de bloques es eficaz, ya que la varianza de valores de pfxeles es matematicamente sencilla de calcular. Otra ventaja mas de la asignacion del tamano de bloque en base a la varianza es que esta basada perceptivamente. La varianza de pfxeles es una medida de la actividad en un bloque y proporciona una indicacion de la presencia de bordes, texturas, etc. Tiende a capturar los detalles de un bloque mucho mejor que medidas tales como el promedio de valores de pixel. Por tanto, el esquema basado en la varianza de la presente invencion asigna bloques mas pequenos a regiones con mas bordes y bloques mas grandes a las regiones mas planas. Como resultado, puede lograrse una calidad sobresaliente en las imagenes reconstruidas.
Como ejemplos, los diversos bloques logicos ilustrativos, diagramas de flujo y etapas descritas con relacion a los modos de realizacion divulgados en el presente documento pueden ser implementados o realizados en hardware o software, con un circuito integrado especffico de la aplicacion (ASIC), un dispositivo logico programable, compuertas discretas o logica de transistores, componentes discretos de hardware, tales como, p. ej., registros y FIFO, un procesador ejecutando un conjunto de instrucciones de firmware, cualquier software programable convencional y un procesador, o cualquier combinacion de los mismos. El procesador, ventajosamente, puede ser un microprocesador pero, como alternativa, el procesador puede ser cualquier procesador convencional, controlador, micro-controlador o maquina de estados. El software podrfa residir en memoria RAM, memoria flash, memoria ROM, registros, un disco rfgido, un disco extrafble, un CD-ROM, un DVD-ROM o cualquier otra forma de medio de almacenamiento conocido en la tecnica.
La descripcion anterior de los modos de realizacion preferentes se proporciona para permitir a cualquier persona experta en la tecnica hacer o usar la presente invencion. Las diversas modificaciones para estos modos de realizacion seran inmediatamente evidentes para los expertos en la tecnica y los principios genericos definidos en el presente documento pueden ser aplicados a otros modos de realizacion sin el uso de la facultad inventiva. Por tanto, la presente invencion no esta concebida para limitarse a los modos de realizacion mostrados en el presente documento, sino que ha de acordarsele el mas amplio ambito congruente con los principios y caracterfsticas novedosas divulgados en el presente documento.
Otras caracterfsticas y ventajas de la invencion se enuncian en las siguientes reivindicaciones.

Claims (16)

  1. 5
    10
    15
    20
  2. 2.
    25
  3. 3.
    30 4.
    35
  4. 5.
  5. 6. 40
  6. 7.
    45 8.
    50
  7. 9. 55
  8. 10.
  9. 11.
    60
    REIVINDICACIONES
    Un procedimiento de serializacion de datos de video, basado en representaciones del dominio de la frecuencia de los datos de video, comprendiendo el procedimiento:
    compilar al menos un grupo de los datos de video que puedan ser representados como un bloque de datos de video;
    dividir el bloque de datos de video en grupos que puedan ser representados como una pluralidad de primeros bloques de datos subdivididos;
    dividir al menos uno, entre la pluralidad de primeros bloques subdivididos, en dos o mas segundos bloques subdivididos;
    evaluar uno o mas valores dentro de cada uno entre la pluralidad de primeros bloques subdivididos, para determinar un esquema de recorrido de serializacion para cada uno entre la pluralidad de primeros bloques subdivididos; y
    serializar independientemente los coeficientes de transformacion de cada uno, entre la pluralidad de primeros bloques subdivididos, de acuerdo al esquema determinado, sin serializar independientemente los coeficientes de transformacion de cada uno de los dos o mas segundos bloques subdivididos.
    El procedimiento enunciado en la Reivindicacion 1, en el que el bloque de datos de video es de tamano MxM, donde M es un entero mayor que 1.
    El procedimiento enunciado en la Reivindicacion 2, en el que cada uno entre la pluralidad de primeros bloques de datos subdivididos es de tamano NxN, donde N es un entero mayor que 1, siendo M mayor que N.
    El procedimiento enunciado en la Reivindicacion 3, en el que la serializacion de los coeficientes de transformacion de cada uno entre la pluralidad de primeros bloques subdivididos comprende al menos el recorrido en zig-zag de cada uno entre la pluralidad de primeros bloques de datos subdivididos, el recorrido vertical de cada uno entre la pluralidad de primeros bloques de datos subdivididos o el recorrido horizontal de cada uno entre la pluralidad de primeros bloques de datos subdivididos.
    El procedimiento enunciado en la Reivindicacion 2, en el que la compilacion de dicho al menos un grupo comprende compilar una trama de datos que pueda ser representada como una pluralidad de bloques.
    El procedimiento enunciado en la Reivindicacion 1, en donde los datos de video estan separados en componentes cromaticos Y, Cb y Cr.
    El procedimiento enunciado en la Reivindicacion 6, en el que los componentes cromaticos Y, Cb y Cr son adicionalmente separados en componentes cromaticos pares e impares.
    El procedimiento enunciado en la Reivindicacion 3, que comprende ademas:
    dividir dicho al menos un grupo de datos en grupos que puedan ser representados como bloques subdivididos, de tamano menor que 8x8; y
    serializar los bloques divididos de tamano 8x8 que incluyen bloques subdivididos de tamano 4x4 o 2x2, de acuerdo al esquema de recorrido determinado.
    El procedimiento enunciado en la Reivindicacion 3, en el que la division de dicho al menos un grupo de datos comprende dividir un bloque de tamano 16x16 en cuatro bloques subdivididos de tamano 8x8.
    El procedimiento enunciado en la Reivindicacion 5, en el que cada uno entre la pluralidad de bloques es de tamano 16x16.
    El procedimiento enunciado en la Reivindicacion 1, que comprende ademas: leer un grupo de componentes cromaticos de datos de pfxeles;
    generar una asignacion de tamano de bloque para dividir el grupo de componentes cromaticos bloques de datos de pfxeles;
    transformar los sub-bloques en correspondientes representaciones del dominio de la frecuencia;
    en sub- y
    5
    10
    15
    20
    25
    30
    35
    40
    45
    50
    ajustar a escala las correspondientes representaciones del dominio de la frecuencia, en un flujo de datos, en donde el ajuste a escala de las correspondientes representaciones del dominio de la frecuencia esta basado en una metrica de calidad correlacionada con una calidad de la imagen digital.
  10. 12. El procedimiento de la reivindicacion 11, en el que el ajuste a escala de las correspondientes representaciones del dominio de la frecuencia comprende ademas:
    proporcionar una mascara ponderada de frecuencia a los sub-bloques de los datos de pfxeles, de modo que la mascara de ponderacion de frecuencia proporcione mayor enfasis a las partes de la imagen digital donde un sistema visual humano es mas sensible y proporcione menor enfasis a las partes de la imagen digital donde el sistema visual humano es menos sensible; y
    cuantizar los sub-bloques de los datos de pfxeles en base a la calidad de la imagen digital.
  11. 13. El procedimiento enunciado en la reivindicacion 11, en el que la metrica de calidad es una razon entre senal y ruido.
  12. 14. El procedimiento enunciado en la reivindicacion 11, en el que la transformacion de los sub-bloques comprende realizar una tecnica de compresion definida.
  13. 15. El procedimiento enunciado en la Reivindicacion 14, en el que la tecnica de compresion definida es la Transformacion Discreta de Coseno.
  14. 16. El procedimiento enunciado en la Reivindicacion 11, en el que la transformacion de los sub-bloques comprende realizar una primera tecnica de compresion definida, seguida por una segunda tecnica de compresion definida.
  15. 17. El procedimiento enunciado en la Reivindicacion 16, en el que la primera tecnica de compresion definida es la Transformacion Discreta de Coseno y la segunda tecnica de compresion definida es la Transformacion de Arbol Cuadratico Diferencial.
  16. 18. Un aparato para serializar datos de video en base a representaciones del dominio de la frecuencia de los datos de video, comprendiendo el aparato:
    medios para compilar al menos un grupo de los datos de video que puedan ser representados como un bloque de datos de video;
    medios para dividir el bloque de datos de video en grupos que puedan ser representados como una pluralidad de primeros bloques de datos subdivididos;
    medios para dividir al menos uno, entre la pluralidad de primeros bloques subdivididos, en dos o mas segundos bloques subdivididos;
    medios para evaluar uno o mas valores dentro de cada uno entre la pluralidad de primeros bloques subdivididos, para determinar un esquema de recorrido de serializacion para el primer bloque subdividido; y
    medios para serializar independientemente los coeficientes de transformacion de cada uno, entre la pluralidad de primeros bloques de datos subdivididos, de acuerdo al esquema de recorrido determinado, sin serializar independientemente los coeficientes de transformacion de cada uno de los dos o mas segundos bloques subdivididos.
ES11007591.8T 2001-06-15 2002-06-13 Optimizador configurable de patrones Expired - Lifetime ES2584035T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US882753 2001-06-15
US09/882,753 US6870963B2 (en) 2001-06-15 2001-06-15 Configurable pattern optimizer

Publications (1)

Publication Number Publication Date
ES2584035T3 true ES2584035T3 (es) 2016-09-23

Family

ID=25381264

Family Applications (1)

Application Number Title Priority Date Filing Date
ES11007591.8T Expired - Lifetime ES2584035T3 (es) 2001-06-15 2002-06-13 Optimizador configurable de patrones

Country Status (11)

Country Link
US (1) US6870963B2 (es)
EP (2) EP1405524B1 (es)
JP (1) JP2005517316A (es)
KR (1) KR100932412B1 (es)
CN (2) CN102238389A (es)
AU (1) AU2002315160C1 (es)
BR (1) BR0210418A (es)
CA (1) CA2450733C (es)
ES (1) ES2584035T3 (es)
MX (1) MXPA03011623A (es)
WO (1) WO2002104039A1 (es)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101448162B (zh) 2001-12-17 2013-01-02 微软公司 处理视频图像的方法
US7190840B2 (en) * 2002-01-07 2007-03-13 Hewlett-Packard Development Company, L.P. Transform coefficient compression using multiple scans
KR100510137B1 (ko) * 2003-04-30 2005-08-26 삼성전자주식회사 고속 움직임 추정을 위한 참조 픽쳐 및 블록 모드 결정방법, 그 장치, 블록 모드 결정 방법 및 그 장치
JP4066882B2 (ja) * 2003-05-22 2008-03-26 トヨタ自動車株式会社 車載燃料電池発電システムの制御装置および制御方法
US10554985B2 (en) 2003-07-18 2020-02-04 Microsoft Technology Licensing, Llc DC coefficient signaling at small quantization step sizes
US7251372B2 (en) * 2004-01-14 2007-07-31 Nec Solutions (America) Inc. Method and system for compressing digitized fingerprint images by a uniform degree of compression
US20060227865A1 (en) * 2005-03-29 2006-10-12 Bhaskar Sherigar Unified architecture for inverse scanning for plurality of scanning scheme
KR101088375B1 (ko) 2005-07-21 2011-12-01 삼성전자주식회사 가변 블록 변환 장치 및 방법 및 이를 이용한 영상부호화/복호화 장치 및 방법
US20070025345A1 (en) * 2005-07-27 2007-02-01 Bachl Rainer W Method of increasing the capacity of enhanced data channel on uplink in a wireless communications systems
EP1958453B1 (en) 2005-11-30 2017-08-09 Koninklijke Philips N.V. Encoding method and apparatus applying coefficient reordering
US8595281B2 (en) 2006-01-11 2013-11-26 Qualcomm Incorporated Transforms with common factors
US8849884B2 (en) 2006-03-29 2014-09-30 Qualcom Incorporate Transform design with scaled and non-scaled interfaces
KR100882949B1 (ko) 2006-08-17 2009-02-10 한국전자통신연구원 화소 유사성에 따라 적응적인 이산 코사인 변환 계수스캐닝을 이용한 부호화/복호화 장치 및 그 방법
KR100927733B1 (ko) * 2006-09-20 2009-11-18 한국전자통신연구원 잔여계수의 상관성에 따라 변환기를 선택적으로 이용한부호화/복호화 장치 및 그 방법
US8542726B2 (en) * 2006-10-17 2013-09-24 Microsoft Corporation Directional and motion-compensated discrete cosine transformation
KR20090097013A (ko) * 2008-03-10 2009-09-15 삼성전자주식회사 영상 부호화장치 및 영상 복호화장치
KR20090129926A (ko) * 2008-06-13 2009-12-17 삼성전자주식회사 영상 부호화 방법 및 그 장치, 영상 복호화 방법 및 그 장치
KR101619972B1 (ko) 2008-10-02 2016-05-11 한국전자통신연구원 이산 여현 변환/이산 정현 변환을 선택적으로 이용하는 부호화/복호화 장치 및 방법
US9497472B2 (en) 2010-11-16 2016-11-15 Qualcomm Incorporated Parallel context calculation in video coding
US8976861B2 (en) * 2010-12-03 2015-03-10 Qualcomm Incorporated Separately coding the position of a last significant coefficient of a video block in video coding
JP5741076B2 (ja) 2010-12-09 2015-07-01 ソニー株式会社 画像処理装置及び画像処理方法
CN107071460B (zh) * 2010-12-14 2020-03-06 M&K控股株式会社 用于编码运动画面的设备
US9049444B2 (en) 2010-12-22 2015-06-02 Qualcomm Incorporated Mode dependent scanning of coefficients of a block of video data
US20120163456A1 (en) 2010-12-22 2012-06-28 Qualcomm Incorporated Using a most probable scanning order to efficiently code scanning order information for a video block in video coding
US20130003837A1 (en) * 2011-06-29 2013-01-03 General Instrument Corporation Methods and system for using a scan coding pattern during intra coding
US9756360B2 (en) 2011-07-19 2017-09-05 Qualcomm Incorporated Coefficient scanning in video coding
US8848261B1 (en) * 2012-02-15 2014-09-30 Marvell International Ltd. Method and apparatus for using data compression techniques to increase a speed at which documents are scanned through a scanning device
US10304217B2 (en) * 2012-07-30 2019-05-28 Toshiba Medical Systems Corporation Method and system for generating image using filtered backprojection with noise weighting and or prior in
US9826229B2 (en) 2012-09-29 2017-11-21 Google Technology Holdings LLC Scan pattern determination from base layer pixel information for scalable extension
US9350988B1 (en) 2012-11-20 2016-05-24 Google Inc. Prediction mode-based block ordering in video coding
US9681128B1 (en) 2013-01-31 2017-06-13 Google Inc. Adaptive pre-transform scanning patterns for video and image compression
US10630985B2 (en) * 2016-05-27 2020-04-21 Samsung Electronics Co., Ltd. Method for scanning coding blocks inside a video frame by video codecs
WO2018008678A1 (ja) * 2016-07-08 2018-01-11 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 復号装置、符号化装置、復号方法及び符号化方法
US10887589B2 (en) * 2019-04-12 2021-01-05 Realnetworks, Inc. Block size determination for video coding systems and methods

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4821119A (en) * 1988-05-04 1989-04-11 Bell Communications Research, Inc. Method and apparatus for low bit-rate interframe video coding
US5241395A (en) * 1989-08-07 1993-08-31 Bell Communications Research, Inc. Adaptive transform coding using variable block size
US5021891A (en) 1990-02-27 1991-06-04 Qualcomm, Inc. Adaptive block size image compression method and system
US5107345A (en) 1990-02-27 1992-04-21 Qualcomm Incorporated Adaptive block size image compression method and system
DK0587783T3 (da) 1991-06-04 1998-05-04 Qualcomm Inc Billedkompressionssystem med adaptiv blokstørrelse
KR960013055A (ko) * 1994-09-27 1996-04-20 김광호 조건부 퀴드트리 분할방식의 화상압축방법 및 장치
JPH08205140A (ja) * 1995-01-31 1996-08-09 Canon Inc 画像圧縮装置
US5812788A (en) * 1995-07-21 1998-09-22 Intel Corporation Encoding/decoding video signals using quantization tables based on explicitly encoded base and scale matrices
US6028635A (en) * 1996-12-03 2000-02-22 Stmicroelectronics, Inc. Reducing the memory required for decompression by storing compressed information using DCT based techniques
JP3901287B2 (ja) 1997-02-27 2007-04-04 松下電器産業株式会社 映像信号変換装置、映像信号変換方法及び映像提供システム
US6529634B1 (en) 1999-11-08 2003-03-04 Qualcomm, Inc. Contrast sensitive variance based adaptive block size DCT image compression
US6600836B1 (en) 2000-01-28 2003-07-29 Qualcomm, Incorporated Quality based image compression

Also Published As

Publication number Publication date
AU2002315160C1 (en) 2008-07-03
EP2405657B1 (en) 2016-06-01
KR20040010722A (ko) 2004-01-31
CN102238389A (zh) 2011-11-09
CA2450733A1 (en) 2002-12-27
WO2002104039A1 (en) 2002-12-27
CA2450733C (en) 2012-12-11
MXPA03011623A (es) 2004-07-01
AU2002315160B2 (en) 2007-11-15
EP2405657A1 (en) 2012-01-11
EP1405524A1 (en) 2004-04-07
KR100932412B1 (ko) 2009-12-17
HK1166429A1 (en) 2012-10-26
EP1405524B1 (en) 2013-03-27
BR0210418A (pt) 2006-11-14
US6870963B2 (en) 2005-03-22
US20030007698A1 (en) 2003-01-09
CN1593064A (zh) 2005-03-09
JP2005517316A (ja) 2005-06-09

Similar Documents

Publication Publication Date Title
ES2584035T3 (es) Optimizador configurable de patrones
ES2376540T3 (es) Compresión de imagen por dct de tamaño de bloque adaptativo en base a la varianza.
KR100926381B1 (ko) Golomb-rice 코딩을 사용한 dct 압축
JP4800571B2 (ja) 損失の無い方法でディジタル画像を符号化するための装置および方法
AU2002315160A1 (en) Configurable pattern optimizer
JP2005507184A (ja) ゴロム・ライスを使用する無損失フレーム内符号化
US6996283B2 (en) Block size assignment using local contrast ratio
EP1400128A1 (en) Selective chrominance decimation for digital images
AU2002305838A1 (en) Selective chrominance decimation for digital images
ES2299847T3 (es) Tasa de bits fija, compresion y descompresion entre cuadros de un video.
WO2003045069A2 (en) Block size assignment using local contrast ratio
HK1166429B (en) Configurable pattern optimizer
HK1073040A (en) Configurable pattern optimizer
HK1067756B (en) Apparatus and method for lossless intraframe encoding using golomb-rice