MXPA05012402A - Operador de traslape reversible para compresion eficiente de datos sin perdida. - Google Patents
Operador de traslape reversible para compresion eficiente de datos sin perdida.Info
- Publication number
- MXPA05012402A MXPA05012402A MXPA05012402A MXPA05012402A MXPA05012402A MX PA05012402 A MXPA05012402 A MX PA05012402A MX PA05012402 A MXPA05012402 A MX PA05012402A MX PA05012402 A MXPA05012402 A MX PA05012402A MX PA05012402 A MXPA05012402 A MX PA05012402A
- Authority
- MX
- Mexico
- Prior art keywords
- reversible
- sum
- enhancement
- adds
- value
- Prior art date
Links
- 230000002441 reversible effect Effects 0.000 title claims abstract description 124
- 238000001914 filtration Methods 0.000 title abstract description 6
- 230000009466 transformation Effects 0.000 claims description 182
- 238000000034 method Methods 0.000 claims description 48
- 238000000844 transformation Methods 0.000 claims description 37
- 238000012545 processing Methods 0.000 claims description 20
- 239000012536 storage buffer Substances 0.000 claims 1
- 238000007906 compression Methods 0.000 description 30
- 230000006835 compression Effects 0.000 description 30
- 239000011159 matrix material Substances 0.000 description 23
- 238000013144 data compression Methods 0.000 description 13
- 238000011045 prefiltration Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 238000007781 pre-processing Methods 0.000 description 7
- 238000013139 quantization Methods 0.000 description 7
- 238000012805 post-processing Methods 0.000 description 6
- 230000000903 blocking effect Effects 0.000 description 5
- 238000010276 construction Methods 0.000 description 5
- 238000013501 data transformation Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000005236 sound signal Effects 0.000 description 3
- 239000013598 vector Substances 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 239000003086 colorant Substances 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000011002 quantification Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000005056 compaction Methods 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 238000009472 formulation Methods 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 230000002427 irreversible effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 238000009966 trimming Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/52—Multiplying; Dividing
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/0017—Lossless audio signal coding; Perfect reconstruction of coded audio signal by transmission of coding error
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/12—Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
- H04N19/122—Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/14—Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
- G06F17/147—Discrete orthonormal transforms, e.g. discrete cosine transform, discrete sine transform, and variations therefrom, e.g. modified discrete cosine transform, integer transforms approximating the discrete cosine transform
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/02—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
- G10L19/0212—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders using orthogonal transformation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/63—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
- H04N19/86—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/119—Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/80—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- General Physics & Mathematics (AREA)
- Computational Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Physics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Discrete Mathematics (AREA)
- Computational Linguistics (AREA)
- Human Computer Interaction (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Health & Medical Sciences (AREA)
- Acoustics & Sound (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Algebra (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Computing Systems (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Image Processing (AREA)
- Editing Of Facsimile Originals (AREA)
Abstract
Se realiza una transformacion traslapada eficiente que utiliza pre- y post-filtros (u operadores de traslape reversible) que estan estructurados de matices de componentes determinantes de unidad. Los pre- y post-filtros son realizados como una sucesion de transformadores de rotacion planas y transformaciones de clasificacion planas determinantes de unidad. Las transformaciones de clasificacion planas pueden ser implementadas utilizando pedazos planos o pasos de realce. Ademas, las rotaciones planas y pedazos planos tienen una implementacion como operaciones reversibles/sin perdida, dando como un resultado un operador de traslape reversible.
Description
OPERADOR DE TRASLAPE REVERSIBLE PARA COMPRESION EFICIENTE DE DATOS SIN PERDIDA
CAMPO TECNICO
La invención generalmente se refiere a la compresión de medios digitales (por ejemplo, vídeo e imagen) que utiliza transformaciones traslapadas.
ANTECEDENTES
Transformaciones Traslapadas La transformación traslapada es una técnica de procesamiento de señal poderosa que es utilizada en la compresión de datos. Ver, por ejemplo, H. S. Malvar, Procesamiento de Señal con Transformaciones Traslapadas. Boston, Ma.: Artech House, 1992. Sin embargo, hasta la fecha, las transformaciones eficientes traslapadas con fase lineal no han sido ni formuladas ni aplicadas para la compresión de datos sin pérdida (reversible). Como se discute en más detalle más adelante, se conoce que una transformación traslapada puede ser formulada como un pre-filtro seguido por una transformación de datos (y su inversa como la transformación de datos inversa seguida por un post-filtro). Ver, por ejemplo, H. S. Malvar, "Una Técnica de Pre- y Post-Filtrado para la Reducción de Efectos de Bloqueo", en Proc. Simposium de Codificación de Imagen, Estocolmo, Suecia, junio 1987; y T. D. Tran, J. Liang y C. Tu, "Transformación Traslapada a Través de Pre-y Post-Filtrado de Dominio de Tiempo", IEEE Trans, en Procesamiento de Señal, vol. 51, No. 6, Junio 2003. Una transformación de datos sin pérdida puede ser utilizada en esta formulación para lograr una buena medida de reversibilidad. Además, se creyó que solo una cierta variedad restringida de pre- y post-filtro podría ser elegida para reversibilidad. Este grupo restringido está muy limitado en su desempeño de compresión (porción contra distorsión, o R-D). En un artículo reciente (W. Dai y T. Tran, "Pre y Post Filtrado Obligado por Regularidad para Sistemas a Base de DCT de Bloque", IEEE Trans. en Procesamiento de Señal, vol. 51, págs. 2568-2581, octubre 2004), una construcción en la que la mayoría de los elementos son reversibles y que tiene buenas propiedades de compresión fue presentada. En compresión de audio, varias construcciones para transformaciones traslapadas reversibles fueron introducidas. Ver, por ejemplo, R. Geiger, J. Herré, J. Koller, y K. Brandenburg, "IntMDCT - Un enlace entre codificación de audio perceptivo y sin pérdida", en Proc. IEEE Int. Conf. en Procesamiento de acústica, lenguaje, y de señal, Orlando, Florida, mayo 2002; y J. Li, "Levantamiento de Matriz viva FFT y MDCT reversible" en Proc. IEEE Int. Conf. en procesamiento de acústicas, lenguaje y señal, Montreal, Canadá, mayo 2004. Sin embargo, estas construcciones son aplicables solo a la transformación de traslapada modulada (MLT), también conocida como transformación de coseno separado modificado (MDCT), cuyas funciones de bases son ortogonales y son simétricas (eso es, las funciones de base no son fase lineal). Estas transformaciones no son aplicables a aplicaciones de compresión de datos en donde las funciones de fase lineal (simétricas) son requeridas, tal como en compresión de imagen digital. Para la compresión de ilustración (imagen), una de las transformaciones de mejor desempeño en términos de desempeño (R-D es la transformación biortogonal traslapada (LBT). Ver, H. S. Malvar, "Transformaciones Traslapadas y Ortogonales y No Uniformes para Transformación que Codifica con Artefactos de Bloqueo y Sonido Reducido", IEEE Trans. en Procesamiento de Señal, vol. 46, págs. 1043-1053, abril 1998. Diferente a la MLT, las funciones de base de SBT son simétricas, y no son exactamente ortogonales (en la LBT, las funciones de base de análisis son ortogonales a las funciones de base de síntesis, de ahí el término biortogonal). Las LBTs han sido exitosamente utilizadas en aplicaciones de compresión de imagen, pero no han sido aún usadas en compresión de imagen sin pérdidas, debido a que no se conocían las construcciones reversibles por entero.
Revisión de Codificación a Base de Transformación de Bloque La codificación de transformación es una técnica de compresión utilizada en muchos sistemas de compresión de audio, imagen y vídeo. La imagen y vídeo digitales no comprimidos son típicamente representados o capturados como muestras de elementos o colores de imágenes en ubicaciones en un cuadro de imagen o vídeo ordenado en una cuadrícula bidimensional (2D). Esto es denominado como una representación de dominio espacial de la imagen o vídeo. Por ejemplo, un formato típico para imágenes consiste de una corriente de muestras de elemento de imagen a color de 24-bit ordenadas como una cuadrícula. Cada muestra es número que representa componentes de color en una ubicación de píxel en la cuadrícula dentro de un espacio de color, tal como RGB, o YIQ, entre otros. Varios sistemas de imagen y vídeo pueden utilizar varios colores diferentes, resoluciones espaciales y de tiempo de muestreo. Similarmente, el audio digital es típicamente representado como corriente de señal de audio muestreada por tiempo. Por ejemplo, un formato de audio típico consiste de una corriente de muestra de amplitud de 16-bit de una señal de audio tomada en intervalos de tiempo regulares. Las señales de audio, imagen y vídeo digitales no comprimidas pueden consumir almacenamiento y capacidad de transmisión considerable. La codificación de transformación reduce el tamaño de audio, imágenes y vídeo digitales al transformar la representación de dominio espacial de la señal en una representación de domino por frecuencia (u otro dominio de transformación similar), y después reduce la resolución de ciertos componentes de frecuencia generalmente menos perceptibles de la representación de dominio por transformación. Esto generalmente produce degradación mucho menos perceptible de la señal digital comparado a reducir la resolución de color o espacial de imágenes o vídeo en el dominio espacial, o de audio en el dominio de tiempo. Más específicamente, un código basado en transformación de bloque típico 100 mostrado en la Figura 1 divide los píxeles de la imagen digital no comprimida en bloques bidimensionales de tamaño ajustado (X(, ... Xn), cada bloque que posiblemente se traslapa con otros bloques. Una transformación lineal 120-121 cuyo análisis de frecuencia espacial es aplicada a cada bloque, que convierte las muestras espaciadas dentro del bloque a un grupo de coeficientes de frecuencia (o transformación) que generalmente representa la fuerza de la señal digital en bandas de frecuencia correspondientes en el intervalo de bloque. Para compresión, los coeficientes de transformación pueden ser selectivamente cuantificados 130 (es decir, reducidos en resolución, tal como al liberar pedazos menos significativos de los valores de coeficiente o de otra forma delinear valores en un número de resolución más alto establecido a una resolución más baja), y también código de entropía o longitud variable 130 en una corriente de datos comprimida. En la descodificación, los coeficientes de transformación transformarán inversamente 170-171 a casi reconstruir la señal de imagen/vídeo muestreada de color-espacial original (bloques reconstruidos ... X„). La transformación de bloque 120-121 puede ser definida como una operación matemática en un vector x de tamaño N. Más frecuentemente, la operación es una multiplicación lineal, que produce la salida de dominio de transformación = Mx, M siendo la matriz de transformación. Cuando los datos de entrada son arbitriamente largos, está segmentado en vectores de tamaño N y una transformación de bloque es aplicada a cada segmento. Para el propósito de compresión de datos, las transformaciones de bloque reversibles son elegidas. En otras palabras, la matriz M es invertible. En dimensiones múltiples (por ejemplo, para imagen y vídeo), las transformaciones de bloque son típicamente implementadas como operaciones separables. La multiplicación de matriz es aplicada de forma separada junto con cada dimensión de los datos (es decir, tanto flechas como columnas). Para compresión, los coeficientes de transformación (componentes de vector y) pueden ser selectivamente cuantificados (es decir, reducidos en resolución, tal como al liberar pedazos menos importantes de los valores de coeficiente o de otra forma delinear valores en un número de resolución más alto establecido a una resolución más baja), y también código de entropía o longitud variable en una corriente de datos comprimida. En la descodificación en el descodificador 150, la inversa de estas operaciones (descodificación de descuantificación/entropía 160 y transformación de bloque inversa 170-171) son aplicadas en el descodificador 150 lateral, como se muestra en la Figura 1. Mientras se reconstruyen los datos, la matriz inversa M1 (transformación inversa 170-171) es aplicada como un multiplicador para los datos de dominio de transformación. Cuando se aplica a los datos de dominio de transformación, la transformación inversa casi reconstruye los medios digitales de dominio de tiempo originales o de dominio espaciales. En muchas aplicaciones de codificación a base de transformación de bloque, la transformación es deseablemente reversible para apoyar tanto compresión con pérdida como sin pérdida dependiendo del factor de cuantificación. Con ninguna cuantificación (generalmente representado como un factor de cuantificación de 1) por ejemplo, un código que utiliza una transformación reversible puede reproducir exactamente los datos de entrada en descodificación. Sin embargo, el requerimiento de reversibilidad en estas aplicaciones obliga a la elección de transformaciones en las que el código pueda ser diseñado. Muchos sistemas de compresión de imagen y vídeo, tal como
MPEG y Windows Media, entre otros, utilizan transformaciones basados en la Transformación de Coseno Separado (DCT). La DCT es conocida por tener propiedades de compactación de energía favorable que resultan en compresión de datos casi óptima. En estos sistemas de compresión, la DCT inversa (IDCT) es empleada en los giros de reconstrucción tanto en el codificador como en el descodificador del sistema de compresión para reconstruir bloques de imagen individuales. La DCT es descrita por N.Ahmed, T. Natarajan, y K. R. Rao, "Transformación de Coseno Separado", IEEE Transacciones en Computadoras, C-23 (enero 1974), págs. 90-93.
Una implementación ilustrativa de la IDCT es descrita en "Especificación Estándar de IEEE para las lmplementaciones de Transformación de Coseno Separado Inverso de 8 x 8", IEEE Std. 1180-1990, Diciembre 6, 1990. Mientras se comprime una imagen inmóvil (o un cuadro intracodificado en una secuencia de vídeo), los estándares más comunes tal como MPEG-2, MPEG-4 y Windows Media separan la imagen en pedazos cuadrados y aplican una transformación de bloque a cada pedazo de imagen. Los coeficientes de transformación en una separación dada (comúnmente conocida como bloque) son influenciados solo por los componentes de datos incompletos dentro del bloque. Las operaciones irreversibles o con pérdida en lado de codificador tal como cuantificación causan que los artefactos aparezcan en la imagen descodificada. Estos artefactos son independientes a través de bloques y producen un efecto visualmente molesto conocido como el efecto de bloqueo. En forma similar para datos de audio, cuando los bloques de no traslape son independientemente transformaciones codificadas, los errores de cuantificación producirán discontinuidades en la señal en los límites de bloque con la reconstrucción de la señal de audio en el descodificador. Para audio, se escucha un efecto de clic periódico. Diferentes técnicas son utilizadas para combatir el efecto de bloqueo, el más popular entre éstos es el filtro desbloqueo que suaviza los límites de orilla de interbloque, y exploración espacial que codifica diferencias entre los datos de entrada incompletos y una predicción para extremos de bloque colindantes. Estas técnicas no están sin sus defectos. Por ejemplo, el acercamiento de filtro de desbloqueo es "giro abierto", es decir el procedimiento de transformación hacia delante no toma en cuenta el hecho del desbloqueo va a ser realizado antes de la reconstrucción en el lado de descodificador. Además, ambas de estas técnicas son calculablemente costosas. Con el fin de minimizar el efecto de bloqueo, las correlaciones de bloqueo cruzado pueden ser explotadas. Una forma de lograr correlación de bloque cruzado es al utilizar una transformación traslapada como se describió en H. Malvar, "Procesamiento de Señal con Transformaciones Traslapadas", Artech House, Norwood MA, 1992. Una transformación traslapada es una trasformación cuya entrada gira, además de los elementos de datos en el bloque actual, unos cuantos elementos adyacentes en bloques colindantes. De forma similar, en el lado de reconstrucción la transformación inversa influencia a todos los puntos de datos en el bloque actual así como unos cuantos puntos de datos en los bloques colindantes. Para el caso de datos 2-dimensiones (2D), la transformación 2D traslapada es una función del bloque actual, junto con elementos seleccionados del bloque a la izquierda, parte superior, derecha, parte inferior y posiblemente superior izquierdo, superior derecho, inferior izquierdo e inferior derecho. El número de puntos de datos en bloques colindantes que son utilizados para calcular la transformación actual es denominado como el traslape.
Revisión de la Transformación Traslapada de Dominio Espacial La transformación traslapada puede ser implementada en el dominio de transformación, como un paso que fusiona cuantificaciones de dominio de transformación después de una transformación de bloque convencional. También, puede ser implementada en el dominio espacial por una etapa de pre-procesamiento que es aplicada a píxeles dentro del rango de traslape. Estas dos implementaciones están matemáticamente relacionadas y por lo tanto son equivalentes. La Figura 2 muestra un ejemplo de una transformación traslapada de dominio espacial convencional. En el ejemplo mostrado, el traslape son dos píxeles, y dos píxeles cada de uno de los dos bloques adyacentes mostrados son preprocesados en la etapa de pre-procesamiento 210. Las dos salidas preprocesadas son enviadas a cada uno de los bloques para codificación a base de transformación de bloque por código 100 como en la Figura 1. Una inversa de la etapa de procesamiento es aplicada en la etapa de post-procesamiento 220 después de la descodificación. Con una elección juiciosa de pre-procesamiento y transformación de bloque, un rango amplio de transformaciones traslapadas puede ser realizado. Una ventaja clave de la realización de dominio espacial de la transformación de traslape es que un código a base de transformación de bloque existente puede ser retroajustado con una etapa de pre y post procesamiento para derivar los beneficios de las transformaciones traslapadas, es decir, efecto de bloque reducido y mejor compresión, utilizando una estructura de código existente. El pre-procesamiento 210 y el post-procesamiento pueden ser representados como una multiplicación de matriz como se muestra en la Figura 3. Convencionalmente, las matriz de procesamiento y postprocesamiento son inversas una de otra, es decir, la matriz de pre-procesamiento {Pf) y la inversa o matriz de post-procesamiento (P¡) multiplicadas son igual a la matriz de identidad /:
Definiciones En general, la longitud N de una transformación es el número de coeficientes de transformación en cierto bloque de transformación. El soporte K de una transformación es el número de puntos de datos de entrada que influencian coeficientes del bloque de transformación. En forma similar, es el número de puntos de datos de salida que son influenciados por cada coeficiente de transformación, a través de proceso de transformación inversa. Para transformaciones de bloque típicas tal como la transformación de coseno separado (DCT), la longitud y soporte son idénticos. Sin embargo, las transformaciones traslapadas (LTs) son una clase importante de transformaciones para las cuales el soporte K es mayor que la longitud N. La anotación K x N es utilizada para denotar el soporte y longitud de una transformación traslapada. (Transformaciones para las cuales K < N son expansivos y por lo tanto no son utilizados en compresión de datos). Como un ejemplo 300, una LT 6 x 4 310 mostrada en la Figura 3 es una transformación con 6 entradas y 4 salidas. Ya que la transformación es invertible, 2 de las entradas son compartidas con bloques de transformación adyacentes. La transformación traslapada inversa (ILT) 320 produce 6 salidas de sus 4 entradas. Los puntos de datos de salida cerca del límite de bloque (en este caso un punto en cada extremo del bloque) son reconstruidos al sumar las respuestas correspondientes de dos bloques de transformación inversas adyacentes.
Coacciones en Transformaciones Traslapadas Utilizadas en Sistemas de Compresión En el sentido matemático, las transformaciones traslapadas son estructuras invertibles, cuando consideramos las señales de entrada y salida, así como resultados de cálculo intermedios, como números reales. Si la precisión infinita pudiera ser lograda, los datos de entrada podrían ser perfectamente recuperados de sus coeficientes de transformación traslapada. Sin embargo, la precisión infinita no es posible en la práctica; para compresión sin pérdida de datos, el requerimiento es designar una transformación que opere un entero o aritmética de presión fija, aún perfectamente reconstruye los datos dados de la representación entera de coeficiente de transformación. Esto es una condición más fuerte que la inversión matemática, y tal transformación es denominada aquí como una transformación "sin pérdida". Además, se requiere que la transformación sin pérdida sea eficiente para compresión de datos (tanto sin pérdida como con pérdida) por igual. La eficacia puede ser medida por la entropía de los datos transformados; mientras menor sea la entropía, mayor serán los datos transformados que puedan ser comprimidos por técnicas de codificación de entropía estándares, tal como codificación de aritmética a base de contexto o codificación de longitud que corre adaptativa.
COMPENDIO DE LA INVENCION
Varias realizaciones son aquí descritas como una transformación traslapada eficiente que es reversible en aritmética de entero, y puede ser utilizada como la base de un sistema de compresión/descompresión de datos eficientes y sin pérdida. Se pueden mostrar que la mayoría de diseños de transformaciones sin pérdida eficientes (eso es, aquellas con entropía mínima de los datos transformados) requieren que la matriz de transformación sea determinante de unidad (es decir, · la determinante de la matriz de transformación es +.1). En la siguiente descripción, se asume que la transformación puede ser representada como una multiplicación de matriz, aunque se reconoce que puede haber un fenómeno no lineal menor tal como giro de datos. De esa forma, cuando nos referimos a la determinante, los aspectos de truncamiento o giro no son considerados.
La transformación traslapada eficiente es realizada utilizando pre- y post-filtros que son denominados aquí como "operadores de traslape". Esta realización es reversible, aún todo R-D eficiente. Entre otras aplicaciones, estos nuevos operadores de traslape permiten la implementación de LBT reversibles, que pueden ser utilizados para compresión de imagen sin pérdida. Los pre- y postfiltros utilizan operaciones reversibles. Además, los operadores de traslape descritos incluyen simplificaciones para eficacia de cálculo. Una realización de operaciones de pre- y post-filtro es una sucesión de transformaciones de rotación planas y transformaciones de clasificación planas determinantes de unidad. Además, las rotaciones planas y cortes planos tienen una implementación como operaciones reversibles/sin pérdida, que dan como resultado, un operador de traslape reversible. Una aplicación ilustrativa es una transformación traslapada de una dimensión 8 x 4 realizada utilizando aproximaciones calculablemente eficientes de los operadores de traslape reversibles.
Las características y ventajas adicionales de la invención serán evidentes a partir de la siguiente descripción detallada de modalidades que proceden con referencia a los dibujos acompañantes.
BREVE DESCRIPCION DE LOS DIBUJOS
La Figura 1 es un diagrama de bloque de un código basado en transformación de bloque convencional en la técnica anterior. La Figura 2 es un diagrama de bloque de una transformación traslapada de dominio espacial implementada como operaciones de pre- y post-procesamiento en combinación con el código basado en transformación de bloque de la Figura 1, también en la técnica anterior. La Figura 3 es un diagrama de bloque que ¡lustra una transformación traslapada y transformación traslapada inversa pares en datos de una dimensión. La Figura 4 es un diagrama de flujo de un codificador basado en una transformación traslapada que utiliza un operador de traslape reversible. La Figura 5 es un diagrama de flujo de un descodificador basado en la transformación traslapada. La Figura 6 es un diagrama de bloque que ilustra una transformación traslapada y transformación traslapada inversa par en los datos de una dimensión que utilizan operaciones de pre- y postfiltrado (u operador de traslape reversible) en conjunto con una transformación de bloque. La Figura 7 es una gráfica de flujo de señal que ilustra una estructura de'pre- (o post-) filtro de fase lineal para utilizarse como el operador de traslape reversible en la transformación traslapada de la Figura 6. La Figura 8 es un gráfico de flujo de señal de clasificación sin pérdida como cuatro pasos de realce para utilizarse en el operador de traslape reversible. La Figura 9 es una gráfica de flujo de señal de clasificación sin pérdida de cinco pasos de realce para utilizarse en el operador de traslape reversible. La Figura 10 es un gráfico de flujo de señal de una cascada de clasificación de 2 puntos aplicada a una matriz de dimensión mayor para realizar clasificación determinante de unidad sin pérdida. La Figura 11 es un gráfico de flujo de señal de un operador de traslape reversible (o pre-/post-f iltro) que tiene la estructura mostrada en la Figura 7 y que utiliza la clasificación determinante de unidad sin pérdida de la Figura 10. La Figura 12 es un gráfico de flujo de la operación del operador de traslape reversible de la Figura 11. La Figura 13 es un gráfico de flujo de señal que ilustra un ejemplo de una implementación de transformación traslapada reversible que utiliza el operador de traslape reversible de la Figura 11. La Figura 14 es un gráfico de respuesta de impulso del coeficiente DC de la transformación traslapada ilustrativa de la Figura 13. La Figura 15 es un diagrama de bloque de un ambiente de cómputo adecuado para implementar el código basado en transformación de bloque con transformación traslapada de dominio espacial mejorada de las Figuras 4 y 5.
DESCRIPCION DETALLADA
La siguiente descripción se refiere a un sistema o código de compresión de medios digitales, que utiliza un operador de traslape reversible para una transformación traslapada. Para propósitos de ilustración, una modalidad de un sistema de compresión que incorpora el operador de traslape reversible es un sistema de compresión de imagen o vídeo. Alternativamente, el operador de traslape reversible también puede ser incorporado en sistemas o códigos de compresión para otros datos de 2D. El operador de traslape reversible no requiere que el sistema de compresión de medios digitales codifique los datos de medios digitales comprimidos en un formato de codificación particular.
1. Codif icador/Descodif icador Las Figuras 4 y 5 son un diagrama generalizado de los procedimientos empleados en un codificador de datos bidimensional representativo (2D) 400 y descodificador 500 basado en una transformación traslapada que utiliza el operador de traslape reversible. Los diagramas presentan una ilustración generalizada o simplificada del uso y aplicación de este operador de traslape reversible en sistema de compresión que incorporan el codificador y descodificador de datos 2D. En codificadores alternativos basados en este operador de traslape reversible, los procedimientos adicionales o menos procedimientos que aquellos ilustrados en este codificador y descodificador representativos pueden ser utilizados para la compresión de datos 2D. Por ejemplo, algunos codificadores/descodificadores también pueden incluir conversión de color, formatos de color, codificación clasificable, codificación sin pérdida, modos de macrobloques, etc. El sistema de compresión (codificador y descodificador) puede proporcionar compresión sin pérdida y/o con pérdidas de los datos 2D, dependiendo en la cuantificación que puede estar basada en un parámetro de cuantificación que varía sin pérdida a con pérdida. El codificador de datos 2D 400 produce una corriente de bit comprimida 420 que es una representación más compacta (para entrada típica) de datos 2D 410 presentados como entrada al codificador. Por ejemplo, la entrada de datos 2D puede ser una imagen, un cuadro de una secuencia de vídeo, u otros datos que tienen dos dimensiones. El codificador de datos 2D separa 430 los datos de entrada en bloques, que son de 16 x 16 píxeles en tamaño en su codificador representativo. El codificador de datos 2D además separa cada macrobloque en bloques de 4 x 4 432. Un operador de "traslape hacia delante" 440 es aplicado a cada borde entre los bloques, después de que cada bloque de 4 x 4 es transformada utilizando una transformación de bloque 450. Esta transformación de bloque 450 puede ser la transformación reversible, 2D libre de clasificación descrita por Srlnivasan, solicitud de patente de E. U. A. intitulada, "Transformación Reversible Mejorada para Compresión de Datos 2-D con Pérdida y sin Pérdida", presentada concurrentemente con la misma, la descripción que es incorporada aquí por referencia. Alternativamente, la transformación de coseno separado u otras transformaciones de bloque pueden ser utilizadas con el operador de traslape reversible aquí descrito. Subsecuente a la transformación, el coeficiente DC 460 de cada bloque de transformación de 4 x 4 está sujeto a una cadena de procesamiento similar (separación, traslape hacia delante, seguido por transformación de bloque de 4 x 4). Los coeficientes de transformación DC resultantes y los coeficientes de transformación AC son cuantificados 470, codificados de entropía 480 y empacados 490. El descodificador realiza los procedimientos inversos. El descodificador lateral, los recortes de coeficiente de transformación son extraídos 510 de sus paquetes respectivos, de los que los coeficientes son ellos mismos de descodificados 520 y descuantif icados 530. Los coeficientes DC 540 son regenerados al aplicar una transformación inversa, y el plano de coeficientes DC es "traslapado inverso" utilizando un operador de alisamiento adecuado aplicado a través de los extremos de bloque DC. Subsecuentemente, los datos completos son regenerados al aplicar la transformación inversa de 4 x 4 550 a los coeficientes DC, y los coeficientes AC 542 descodificados de la corriente de bit. Finalmente, los extremos de bloque en los planos de imagen resultantes son filtrados de traslape inverso 560. Esto produce una salida de datos 2D reconstruida.
2. Transformación Traslapada Realizada Utilizando Operadores de Traslape Más generalmente, el operador de traslape 440 y transformación de bloque 450 del codificador 400 (Figura 4) es un ejemplo de una gran clase de transformaciones traslapadas 600 que puede ser factorizada en una operación de prefiltrado 610, seguida por una transformación de datos de bloque 620 como se ¡lustró en la Figura 6. La Figura 6 ilustra un ejemplo generalizado de tales transformaciones traslapadas factorizadas. En este caso ilustrado, la transformación traslapada de 6 x 4 310 mostrada en la Figura 3 es factorizada en operación de pre-fíltro 610 y etapas de transformación de bloque 620. La operación de prefiltrado 610 y transformación de bloque 620 están igualmente espaciadas en los puntos de datos. Esto es ilustrado en el ejemplo de transformación traslapada de 6 x 4 600, cada pre-filtro es una transformación de longitud 2 de los puntos de datos colocados en bloques adyacentes. En el lado de descodificador, un post filtro 640 es aplicado después de la transformación de bloque Inverso 630 a través de límites de bloque. De forma similar, para el caso general K x N, el prefiltro es aplicado a los puntos de datos {K-N)/2 de cada bloque adyacente a un límite de bloque. Para inversión, el pre-filtro 610 y post-filtro 640 son inversos uno de otro. Para realizar una transformación traslapada sin pérdidas, sin embargo, esta condición no es suficiente. Las otras coacciones de los pre-filtros y post-filtros 610, 640 van a ser también transformaciones sin pérdida, además de la transformación de bloque (centro) 620 a ser realizado en una forma sin pérdida. La DCT puede ser realizada en una forma sin pérdida, utilizando métodos basados en escalera, reticulado, o de levantamiento, entre otros. Ver, por ejemplo, A. A. M . L. Bruekens y A. W. M. van den Enden. "Nuevas redes para inversión perfecta y reconstrucción perfecta", IEEE J. Comunicaciones de áreas seleccionadas, vol. 10, No. 1, 1992; y I. Daubechies y W, Sweldens, "Factorizar Transformación de Ola Pequeña en Pasos de Realce", J. Fourier Anal. Appl., vol. 4, págs. 247-269, 1998. Una transformación bidimensional libre de clasificación, reversible también descrita por Srinivasan, solicitud de patente de E. U. A. titulada, "Transformación Reversible Mejorada para Compresión de Datos 2-D con Pérdida y sin Pérdida", archivada concurrentemente e incorporada aquí por referencia. Las aproximaciones reversibles basadas en realce a la DCT en una dimensión también son conocidas. Ver, por ejemplo, J. Liang y T. D. Tran, "Aproximaciones sin Multiplicador Rápida para la DCT con el Esquema de Realce", IEEE Trans. Procesamiento de Señal, vol. 49, págs. 3032-3044, Diciembre 2001. La reversibilidad eficiente además requiere que ambos pasos, esto es el pre-/post-filtro y la transformación de bloque, serán determinantes de unidad.
3. Operador de Traslape Reversible Un operador de traslape reversible eficiente para utilizarse como el pre-filtro 610 (Figura 6) de la transformación traslapada sin pérdida 600 en la cual el codificador 400/descodificador 500 (Figuras 4 y 5) está basado en que puede ser realizado como un pre-filtro de fase lineal, que puede estar factorizado en la estructura 700 mostrada en la Figura 7. Una inversa de este prefiltro (es decir, el post-filtro 640) también tiene la misma estructura pero con diferentes coeficientes. Esta estructura de filtro de fase lineal 700 tiene múltiples componentes ortogonales, incluyendo una red Hadamard cruzada 710 como su entrada y salida. Las flechas internas en la red Hadamard ilustrada 710 denotan negación en este diagrama. La estructura 700 además incluye matrices ortogonales U1, U2, V1 y V2. Estos componentes pueden ser implementados en un número sin pérdida al utilizar métodos basados en reticulado/realce. Además, la estructura 700 tiene los factores de escala de no cero ST hasta SM- La coacción determinante de unidad implica que rís¡ = +.1. Cuando todos los factores de clasificación son +_, el pre-/ i post-filtro puede ser realizado como una transformación sin pérdida en donde las matrices de componente U1, U2, V1 y V2 son implementadas como pasos de reticulado/realce sin pérdida. Sin embargo, cuando los factores de escala no son todos +.1 , la realización sin pérdida permanece como un reto que está dirigido como se discute más completamente más adelante. Con esta estructura de pre-filtro de fase lineal 700, el problema de realizar un par de pre-/post-filtro sin pérdida es reducido a los siguientes tres pasos: 1.- Descomponer el filtro F en la siguiente forma, matrices ortogonales U1, U2, V1 y V2:
2. - Derivar las realizaciones sin pérdida para U1, U2, V1 y
V2; y 3. - Derivar una realización sin pérdida para la matriz de clasificación. Como en el paso 1, la primera y última matrices en el lado a mano derecha, que definen transformaciones de Hadamard de 2 puntos, incorpore el factor de ½ en algunos términos para hacer esta determinante de unidad de etapa. El resto es reordenado a una forma de diagonal de bloque con dos bloques, cada uno de la mitad de las dimensiones lineales de F. La descomposición de valor singular o SVD de cada bloque proporciona las matrices ortogonales U1, U2, V1 y V2 así como las clasificaciones. Las realizaciones sin pérdida de las matrices de componente pueden ser derivadas en el paso 2 utilizando técnicas a base de realce estándares, tal como aquellas descritas por A. A. . L.
Bruekens y A. W. M. van den Enden, "Nuevas redes para inversión perfecta y reconstrucción perfecta", IEEE J. Comunicaciones de Areas Seleccionadas, vol. 10, No. 1, 1992. La realización sin pérdida de la matriz de clasificación en el paso 3 está dirigida como sigue. Para simplicidad, permítanos asumir que tenemos un cierto componente de 2 entradas y 2 salidas que es (a) sin pérdida y (b) realiza clasificación por s (0<s<1) para el primer componente y por 1/s para el segundo componente (otros casos pueden ser obtenidos al revertir la señal de una o ambas señales de salida). En otras palabras, tenemos la relación de entrada-salida dada por:
La determinante de la matriz de transformación en la ecuación
(2) es s/s =1. Esta matriz puede ser realizada en el procedimiento de 4 pasos de realce 800 el procedimiento de cinco pasos de realce 900 como se muestra en las Figuras 8 y 9. Usualmente aproximamos todos los pasos de realce en la forma de y = (a.x + r) >> b, en donde X es la entrada e y es la salida, y a, b, y r son enteros y r es utilizado para girar control de error, para obtener una implementación de entero de menos división. La transformación definida para la ecuación (2) es denominada aquí como la transformación de clasificación de determinante de unidad, abreviada como la transformación de clasificación .
De forma interesante, la transformación de clasificación está aproximadamente relacionada con la operación de corte, como se define más adelante:
y = a (3)
Bajo la coacción a1 - b2 =1 (a>0, b>0), las operaciones recorte tienen determinante de unidad y pueden ser realizadas tres pasos de realce:
Por lo tanto:
Aquí los factores de clasificación ½ y 2 en las matrices que cubren la matriz de recorte están distribuidas para los pasos de realce de recorte, y el último paso de realce de la primera matriz está combinado con el primer paso de realce de recorte mientras el primer paso de realce de la última matriz está combinado con el último paso de realce de recorte. La realización de cinco pasos como el procedimiento 900 de la transformación de clasificación mostrada en la Figura 9 está basada en la ecuación (5). Las simplificaciones para la estructura pueden ser posibles al cancelar operaciones inversas, en donde es posible, entre los tres grupos en la ecuación (1), esto es las redes Hadamard, las matrices ortogonales, y las operaciones de clasificación (que pueden a 'su vez ser descompuestas en operaciones de Hadamard y de recorte). Más particularmente, la matriz de transformación efectiva y la realización del cuarto paso de realce de la clasificación sin pérdida s~2 0 como el procedimiento 800 es 0 c2, en donde c2 = 1-s2. Por otro lado, la matriz de transformación efectiva de la realización de cinco pasos de realce en el procedimiento 900 es
en donde c2 = 1 - s2.
Aunque el procedimiento de clasificación 800 mostrada en la
Figura 8 tiene un paso menos que el realce que uno mostrado en la Figura 9, el último procedimiento 900 solo tiene tres pasos de realce no triviales, opuesto al cuarto en el anterior. Por la razón mencionada en el párrafo anterior, el primer o último paso de realce trivial en la Figura 9 puede ser fusionado con pasos de transformación anteriores o subsecuentes (por ejemplo, con la red de Hadamard 710 en cualquier extremo de la Figura 7) bajo ciertas condiciones (por ejemplo cuando U1, U2 y V1 son identidades). El procedimiento de clasificación puede ser fácilmente extendido a matrices más grandes. Esto es ilustrado en la Figura 10, en donde M posiblemente factores de clasificación diferentes Si hasta sM son aplicados a las rutas de datos M como un cascada 1000 de transformaciones de clasificación. Con el fin de lograr esto en una forma reversible, las trasformaciones de clasificación reversible, M-1 son necesarias en general. Un caso especial útil es cuando los factores de clasificación en M s-i hasta sM pueden ser agrupados en grupos M/2 de forma (s, 1/s). En este caso, solo las transformaciones de clasificación reversibles M/2 son necesarias. Un ejemplo es Si=s2= ...=sM/2=s y Una forma preferida de agrupar es mantener simetría a través del eje central, en otras palabras cada grupo clasifica los coeficientes s, y sM+7_,. Si M es probabilidad, el factor de escala 1 no agrupado es 1, correspondiente a la ruta de datos junto con el eje. En los límites de señal en donde los pre-/post-filtros necesitan extenderse fuera de la señal, una solución es extender la señal simétricamente y después aplicar pre-/post-filtros. Eso no es una operación sin pérdida en general debido a la clasificación. Otra solución es saltar el pre-/post-filtrado en los límites. No existe diferencia notable entre las dos soluciones en términos de desempeño de R-D así como calidad perceptiva (por ejemplo, si se utiliza para compresión de imagen/vídeo con pérdida). Cambiando ahora a la Figura 11, el operador de traslape reversible detiene la propiedad eficiente de R-D deseada (es decir, determinante de unidad) después es realizada como una estructura de prefiltro de fase inversa 700 (Figura 7) que incluye redes de Hadamard determinante de unidad, reversibles 710, rotaciones ortogonales reversibles 1110 (para matrices de componente U1, U2, V1 y V2), y clasificación determinante de unidad reversible 1120 (por ejemplo, que utilizan procedimientos de pasos de realce 800, 900 o cascada 1100). El post-filtro es análogo al pre-filtro y está construido utilizando la misma construcción, aunque con pasos de realce inversos en el orden reverso. Esto es ilustrado en la Figura 7, en donde el número de valores de datos M en el bloque es general cualquier número natural. Aunque la ilustración es para incluso M valuada, los valores de posibilidad también son posibles al notar que la transformación "Hadamard de 1 punto" del valor de datos de centro es el mismo. Este procedimiento puede ser generalizado a datos dimensionales superiores. En resumen, la operación del operador de traslape reversible es ilustrado en la Figura 12. En un primer paso 1210, los datos de medios digitales bidimensionales de entrada están divididos en bloques (como también se muestra el codificador 400 en la Figura 4). El operador de traslape reversible aplica una red de Hadamard 710 a través de pedazos adyacentes en el paso 1220. El operador después aplica rotaciones reversibles a sumas y diferencias en el paso 1230, seguido por el operador de clasificación reversible en el paso 1240. Esto es seguido por otra rotación de bloque reversible (paso 1250), y red de Hadamard inversa reversible (paso 1260). Con referencia ahora a la Figura 13, las representaciones de matriz de las rotaciones de bloque reversibles y operadores de clasificación dependen del operador traslapado deseado que se utiliza para el caso de la aritmética descrita en la ecuación (1). La Figura 13 muestra un ejemplo de un post-filtro que tiene la estructura 700 mostrada en las Figuras 7 y 11 , que es precedido por una transformación de bloque reversible (transformación de Hadamard de 4 puntos en este caso). La función de transferencia del post-filtro es:
El componente de paso inferior de la Hadamard produce la respuesta de impulso mostrada en el gráfico en la Figura 14.
4. Ambiente de Cómputo El código antes descrito basado en la transformación traslapada que utiliza un operador de traslape reversible puede ser realizado en cualquiera de una variedad de dispositivos en el que el procesamiento de señal de medios digitales es realizado, incluyendo entre otros ejemplos, computadoras; grabación de imagen y vídeo, equipo de transmisión y recepción; reproductores de vídeo portátiles; conferencia por vídeo; y etc. Las técnicas de codificación de medios digitales pueden ser implementadas en circuitos de hardware, así como en software de procesamiento de medios digitales que ejecuta dentro de una computadora u otro ambiente de cómputo, tal como se muestra en la Figura 15. La Figura 15 ¡lustra un ejemplo generalizado de un ambiente de cómputo adecuado (1500) en el que las modalidades descritas pueden ser implementadas. El ambiente de cómputo (1500) no pretende sugerir cualquier limitación al alcance de uso o funcionalidad de la invención, mientras la presente invención puede ser implementada en diversos ambientes de cómputo de propósito general o propósito especial. Con referencia a la Figura 15, el ambiente de cómputo (1500) incluye al menos una unidad de procesamiento (1510) y memoria (1520). En la Figura 15, esta configuración más básica (1530) está incluida dentro de una línea punteada. La unidad de procesamiento (1510) ejecuta instrucciones ejecutables por computadora y puede ser un procesador real o virtual. En un sistema de multiprocesamiento, las unidades de procesamiento múltiples ejecutan instrucciones ejecutables por computadora para aumentar la energía de procesamiento. La memoria (1520) puede ser memoria volátil (por ejemplo, registradores, memoria caché, RAM), memoria no volátil (por ejemplo, ROM, EEPROM, memoria instantánea, etc.), o alguna combinación de ambas. La memoria (1520) almacena software (1580) que implementa el codificador/descodificador y las transformaciones. Un ambiente de cómputo puede tener características adicionales. Por ejemplo, el ambiente de cómputo (1500) incluye almacenamiento (1540), uno o más dispositivos de entrada (1550), uno o más dispositivos de salida (1560), y uno o más conexiones de comunicación (1570). Un mecanismo de interconexión (no mostrado) tal como un conductor común, controlador, o red que interconecte los componentes del ambiente de cómputo (1500). Típicamente, el software de sistema operativo (no mostrado) proporciona un ambiente operativo para otro software que se ejecuta en el ambiente de cómputo (1500), y coordina actividades de los componentes del ambiente de cómputo (1500). El almacenamiento (1540) puede ser removible o no removible, e incluye discos magnéticos, cintas magnéticas o casetes, CD-ROMs, CD-RWs, DVDs, o cualquier otro medio que puede ser utilizado para almacenar información y que puede ser accedido dentro del ambiente de cómputo (1500). El almacenamiento (1540) almacena instrucciones para el software (1580) que implementa el código basado en una transformación traslapada que utiliza un operador de traslape reversible. El dispositivo(s) de entrada (1550) puede ser un dispositivo de entrada por tacto tal como un teclado, ratón, pluma o seguibola, un dispositivo de entrada por voz, un dispositivo de escaneo, o cualquier otro dispositivo que proporcione entrada al ambiente de cómputo (1500). Para el audio, el dispositivo(s) de entrada (1550) puede ser una tarjeta de sonido o dispositivo similar que acepta entrada de audio en forma análoga o digital,' un lector de CD-ROM que proporciona muestras de audio al ambiente de cómputo. El dispositívo(s) de salida (1560) puede ser una presentación, impresora, bocina, CD-writer u otro dispositivo que proporciona salida del ambiente de cómputo (1500). La conexión(es) de comunicación (1570) permiten comunicación en un medio de comunicación a otra entidad de cómputo. El medio de comunicación transporta información tal como instrucciones ejecutables por computadora, audio comprimido o información de vídeo, u otros datos en una señal de datos modulada. Una señal de datos modulada es una señal que tiene una o más de sus características o cambiadas de tal forma para codificar información en la señal. A manera de ejemplo, y no de limitación, los medios de comunicación incluyen técnicas alámbricas o inalámbricas implementadas con un transportador eléctrico, óptico, de RF, infrarrojo, acústico, u otro transportador. Las técnicas de procesamiento de medio digital aquí pueden ser descritas en el contexto general de medios legibles por computadora. Los medios legibles por computadora con cualquier medio disponible que puede ser accedido dentro de un ambiente de cómputo. A manera de ejemplo, y no de limitación, con el ambiente de cómputo (1500), los medios legibles por computadora incluyen memoria (1520), almacenamiento (1540), medios de comunicación, y combinaciones de cualquiera de los anteriores. Las técnicas de procesamiento de medios digitales aquí pueden ser descritas en el contexto general de instrucciones ejecutables por computadora, tal como aquellas incluidas en módulos de programa, siendo ejecutados en un ambiente de cómputo en un procesador real o virtual de objetivo. Generalmente, los módulos de programa incluyen rutinas, programas, librerías, objetos, clases, componentes, estructuras de datos, etc., que realizan tareas particulares o implementas tipos de datos abstractos particulares. La funcionalidad de los módulos de programa puede ser combinada o dividida entre módulos de programa como se ha deseado en varias modalidades. Las instrucciones ejecutables por computadora para módulos de programa pueden ser ejecutadas dentro de un ambiente de cómputo local o distribuido. Para la búsqueda de presentación, la descripción detallada utiliza términos como "determinar", "generar", "ajustar", y "aplicar" para describir operaciones de computadora en un ambiente de cómputo. Estos términos son abstracciones de nivel superior para operaciones realizadas por una computadora, y no deben ser consumidas con actos realizados por un ser humano. Las operaciones de computadora reales corresponden a estos términos variando dependiendo en la implementación.
5. Variaciones y Extensiones del Operador de Traslape Reversible Se pueden hacer varias modificaciones y extensiones del operador de traslape reversible antes descrito. Aunque las operaciones presentadas anteriormente son para un dato dimensional, el mismo procedimiento puede ser aplicado de forma separada, y de forma no separada a dimensiones de datos múltiples.
La rotaciones ortogonales en la implementación de operador de traslape reversible descrito anteriormente pueden ser reemplazadas por aproximaciones de las mismas, o por otras transformaciones que pueden no ser ortogonales. Además, aunque el enfoque primario en la descripción anterior ha sido en la recuperación sin pérdida de datos de entrada, la misma transformación puede ser utilizada también para compresión de datos con pérdida. En este caso, la pérdida puede ocurrir ya sea en el proceso de cuantificación, o debido a una implementación de precisión/aproximada limitada de ya sea limitada de ya sea pre-filtro o post-filtro, o debido a otras imprecisiones, o a una combinación de múltiples factores. El operador de traslape reversible aquí descrito puede ser aplicados a dominios fuera de compresión de datos. La transformación traslapada que utiliza el operador de traslape reversible por sí misma puede ser expansiva. El operador de traslape reversible puede ser aplicado, en forma modificada apropiadamente, para implementar bancos de filtro de multiclasificación, pequeñas olas, transformaciones traslapadas con intervalos de soporte de mas de 2 bloques de amplitud (K > 2 N). El operador de traslape reversible puede ser aplicado en una forma de variación espacialmente, en el que la extensión y la forma del filtro de traslape pueden variar a través de la extensión espacial de los datos. En vista de las muchas modalidades posibles a las que los principios de nuestra invención pueden ser aplicados, reclamamos como nuestra invención tales modalidades que pueden venir dentro del alcance de y espíritu de las siguientes reivindicaciones equivalentes a las mismas.
Claims (19)
- REIVINDICACIONES 1. - Un método de codificar y/o descodificar datos de medios digitales divididos en bloques, el método comprende: aplicar un operador de traslape reversible a través de al menos r alguno de los límites entre bloques, el operador de traslape reversible siendo determinante de unidad; y aplicar una transformación de bloque reversible a los bloques, en donde la aplicación del operador de traslape reversible y la transformación de bloque reversible son invertidos entre la codificación y descodificación de los datos de medios digitales. 2. - El método de acuerdo con la reivindicación 1, en donde el operador de traslape reversible está estructurado de una pluralidad de componentes cada uno siendo determinante de unidad. 3.- El método de acuerdo con la reivindicación 2, en donde la aplicación del operador de traslape reversible comprende: aplicar una red de Hadamard reversible; aplicar una rotación de bloque reversible; aplicar un operador de clasificación reversible; aplicar otra rotación de bloque reversible; y aplicar una red Hadamard inversa reversible. 4.- El método de acuerdo con la reivindicación 3, en donde la aplicación del operador de clasificación reversible comprende realizar un procedimiento de cuatro pasos de realce que comprende: realizar un primer paso de realce que suma un primer valor con el producto de un segundo valor multiplicado por una porción de un valor de parámetro y uno menos el cuadrado del valor de parámetro; realizar un segundo paso de realce que suma el segundo valor con el producto de la primera suma multiplicado por el valor de parámetro; realizar un tercer paso de realce que suma la primera suma con el producto de la segunda suma multiplicado por el negativo del valor de parámetro; y realizar un cuarto paso de realce que suma la segunda suma con el producto de la tercera suma multiplicado por el negativo de la porción del valor de parámetro y uno menos el cuadro del valor de parámetro. 5.- El método de acuerdo con la reivindicación 3, en donde la aplicación del operador de clasificación reversible comprende realizar un procedimiento de cinco pasos de realce que comprende: realizar un primer paso de realce que suma un segundo valor con el primer valor; realizar un segundo paso de realce que suma el primer valor con el producto de la primera suma multiplicado por s , l en í + c donde s2 + c2 = 1 : realizar un tercer paso de realce que suma la primera suma con el producto de la segunda suma multiplicado por 2s_; c realizar un cuarto de paso de realce que suma la segunda suma con el producto de la tercera suma multiplicado por \( s y + 1 \ + c realizar un quinto paso de realce que suma la tercera suma con el producto de negativo de la cuarta suma. 6. - El método de acuerdo con la reivindicación 5, en donde uno o más de los pasos de realce está combinado con o cancelado por otro paso del operador de traslape reversible. 7. - El método de acuerdo con la reivindicación 5, en donde la aplicación del operador de clasificación reversible comprende clasificar rutas de datos mediante factores de clasificación M Si hasta sM utilizando una cascada de clasificación de 2 puntos. 8.- Un codificador y/o descodificador de medios digitales que comprenden: una memoria intermedia de almacenamiento de datos para almacenar datos de medios digitales para ser codificados y/o descodificados; un procesador programado para: dividir los datos de medios digitales en bloques; aplicar un operador de traslape reversible a través de al menos algunos limites entre bloques, el operador de traslape reversible siendo determinante de unidad; y aplicar una transformación de bloque reversible a los bloques, en donde la aplicación del operador de traslape reversible y la transformación de bloque reversible son invertidos entre la codificación y descodificación de datos de medios digitales. 9.- El codificador y/o descodificador de medios digitales de acuerdo con la reivindicación 8, en donde el operador de traslape reversible está estructurado de una pluralidad de trasformaciones de componentes cada uno siendo determinante de unidad. 10. - El codificador y/o descodificador de medios digitales de acuerdo con la reivindicación 9, en donde el procesador realiza el operador de traslape reversible al: aplicar una red de Hadamard reversible; aplicar una rotación de bloque reversible; aplicar un operador de clasificación reversible; aplicar otra rotación de bloque reversible; y aplicar una red de Hadamard inversa reversible. 11. - El codificador y/o descodificador de medios digitales de acuerdo con la reivindicación 10, en donde el procesador al aplicar el operador de clasificación reversible realiza un procedimiento de cuatro pasos de realce que comprende: realizar un primer paso de realce que suma un primer valor con el producto de un segundo valor multiplicado por una porción de un valor de parámetro y uno menos el cuadrado del valor del parámetro; realizar un segundo paso de realce que suma el segundo valor con el producto de la primera suma multiplicado por el valor de parámetro; realizar-un tercer paso de realce que suma la primera suma con el producto de la segunda suma multiplicado por el negativo del valor de parámetro; y realizar un cuarto paso de realce que suma la segunda suma con el producto de la tercera suma multiplicado por el negativo de la porción del valor de parámetro y uno menos el cuadro del valor de parámetro. 12.- El codificador y/o descodificador de medios digitales de acuerdo con la reivindicación 10,. en donde el procesador al aplicar el operador de clasificación reversible realizar un procedimiento de cinco pasos de realce que comprende: realizar un primer paso de realce que suma un segundo valor con el primer valor; realizar un segundo paso de realce que suma el primer valor s con el producto de la primera suma multiplicado por 1 , en 1 + c donde s2 + c2 = 1 ; realizar un tercer paso de realce que suma la primera suma con el producto de la segunda suma multiplicado por 2s_; c realizar un cuarto de paso de realce que suma la segunda suma con el producto de la tercera suma multiplicado por y realizar un quinto paso de realce que suma la tercera suma con el producto del negativo de la cuarta suma. 13. - El codificador y/o descodificador de medios digitales de acuerdo con la reivindicación 12, en donde uno o más de los pasos de realce está combinado o cancelado por otro paso del operador de traslape reversible. 14. - El codificador y/o descodificador de medios digitales de acuerdo con la reivindicación 12, en donde el procesador realiza el operador de clasificación reversible al clasificar rutas de datos M a través de factores de clasificación M Si hasta sM utilizando una cascada de clasificación de 2 puntos. 15. - Al menos un medio de grabación legible por computadora que transporta un programa de procesamiento de medios digitales ejecutable por computadora en él para realizar un método de medios digitales de procesamiento divididos en bloques, el método comprende: aplicar un operador de traslape reversible a través de al menos algunos límites entre bloques, el operador de traslape reversible determinante de unidad; y aplicar una transformación de bloque reversible a los bloques, en donde la aplicación del operador de traslape reversible y la transformación de bloques reversible son invertidos entre la codificación y descodificación de los datos de medios digitales. 16. - Al menos un medio de grabación legible por computadora de acuerdo con la reivindicación 15, en donde el operador de traslape reversible está estructurado de una pluralidad de componentes cada uno siendo determinante de unidad. 17. - Al menos un medio de grabación legible por computadora de acuerdo con la reivindicación 16, en donde la aplicación del operador de traslape reversible comprende: aplicar una red de Hadamard reversible; aplicar una rotación de bloque reversible; aplicar un operador de clasificación reversible; aplicar otra rotación de bloque reversible; y aplicar una red de Hadamard inversa reversible. 18. - Al menos un medio de grabación legible por computadora de acuerdo con la reivindicación 17, en donde la aplicación del operador de clasificación reversible comprende realizar un procedimiento de cuatro pasos de realce que comprende: realizar un primer paso de realce que suma un primer valor con el producto de un segundo valor multiplicado por una porción de un valor de parámetro y uno menos el cuadrado del valor de parámetro; realizar un segundo paso de realce que suma el segundo valor con el producto de la primera suma multiplicado por el valor de parámetro; realizar un tercer paso de realce que suma la primera suma con el producto de la segunda suma multiplicado por el negativo del valor de parámetro; y realizar un cuarto paso de realce que suma la segunda suma con el producto de la tercera suma multiplicado por el negativo de la porción del valor de parámetro y uno menos el cuadrado del valor de parámetro. 19. - Al menos un medio de grabación legible por computadora de acuerdo con la reivindicación 17, en donde la aplicación del operador de clasificación reversible comprende realizar un procedimiento de cinco pasos de realce que comprende: realizar un primer paso de realce que suma un segundo valor con el primer valor; realizar un segundo paso de realce que suma el primer valor 1 r s con el producto de la primera suma multiplicado por 1 > en 1 + c donde s2 + c2 = 1 ; realizar un tercer paso de realce que suma la primera suma con el producto de la segunda suma multiplicado por 2_s; c realizar un cuarto de paso de realce que suma la segunda suma con el producto de la tercera suma multiplicado por y realizar un quinto paso de realce que suma la tercera suma con el producto de negativo de la cuarta suma. 20.- Al menos un medio de grabación legible por computadora de acuerdo con la reivindicación 19, en donde la aplicación del operador de clasificación reversible comprende clasificar rutas de datos M a través de factores de clasificación M s-i hasta S utilizando una cascada de clasificación de 2 puntos.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/015,148 US7428342B2 (en) | 2004-12-17 | 2004-12-17 | Reversible overlap operator for efficient lossless data compression |
Publications (1)
Publication Number | Publication Date |
---|---|
MXPA05012402A true MXPA05012402A (es) | 2006-06-19 |
Family
ID=35466045
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
MXPA05012402A MXPA05012402A (es) | 2004-12-17 | 2005-11-17 | Operador de traslape reversible para compresion eficiente de datos sin perdida. |
Country Status (10)
Country | Link |
---|---|
US (2) | US7428342B2 (es) |
EP (1) | EP1672929B1 (es) |
JP (2) | JP4994655B2 (es) |
KR (1) | KR101036711B1 (es) |
CN (1) | CN1805547B (es) |
AU (2) | AU2005237164B2 (es) |
BR (1) | BRPI0505190B1 (es) |
CA (1) | CA2526366C (es) |
MX (1) | MXPA05012402A (es) |
RU (1) | RU2377653C2 (es) |
Families Citing this family (61)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005039057A1 (en) | 2003-10-17 | 2005-04-28 | Pacbyte Software Pty Limited | Data compression system and method |
US7778327B2 (en) * | 2005-02-08 | 2010-08-17 | Texas Instruments Incorporated | H.264 quantization |
US8036274B2 (en) * | 2005-08-12 | 2011-10-11 | Microsoft Corporation | SIMD lapped transform-based digital media encoding/decoding |
US8515194B2 (en) * | 2007-02-21 | 2013-08-20 | Microsoft Corporation | Signaling and uses of windowing information for images |
US20080288568A1 (en) * | 2007-05-14 | 2008-11-20 | Hou Hsieh S | Low power Fast Hadamard transform |
TWI370690B (en) | 2008-03-21 | 2012-08-11 | Novatek Microelectronics Corp | Method and apparatus for generating coded block pattern for highpass coeffecients |
TWI382768B (zh) * | 2008-03-24 | 2013-01-11 | Novatek Microelectronics Corp | 具有執行重疊濾波以及核心轉換的運算方法及其裝置 |
CN101552918B (zh) * | 2008-03-31 | 2011-05-11 | 联咏科技股份有限公司 | 高通系数的区块类型信息的产生方法与其产生电路 |
JP4958831B2 (ja) * | 2008-04-02 | 2012-06-20 | キヤノン株式会社 | 画像符号化装置及びその制御方法 |
JP4958832B2 (ja) * | 2008-04-02 | 2012-06-20 | キヤノン株式会社 | 画像符号化装置及びその制御方法 |
CN101552919B (zh) * | 2008-04-02 | 2011-03-02 | 联咏科技股份有限公司 | 具有执行重叠滤波以及核心转换的运算方法及其装置 |
TWI376959B (en) * | 2008-05-02 | 2012-11-11 | Novatek Microelectronics Corp | Entropy decoding circuit, entropy decoding method, and entropy decoding method using a pipeline manner |
JP5127557B2 (ja) * | 2008-05-12 | 2013-01-23 | 株式会社リコー | 画像復号装置、画像復号方法、プログラム、及び、記録媒体 |
JP5167944B2 (ja) * | 2008-05-15 | 2013-03-21 | 株式会社リコー | 情報処理装置、情報処理方法、プログラム及び記録媒体 |
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 |
US8285068B2 (en) * | 2008-06-25 | 2012-10-09 | Cisco Technology, Inc. | Combined deblocking and denoising filter |
EP4376305A3 (en) | 2008-07-11 | 2024-07-03 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Audio encoder and audio decoder |
JP5081113B2 (ja) * | 2008-09-17 | 2012-11-21 | キヤノン株式会社 | 画像符号化装置及び画像復号装置、並びにそれらの制御方法 |
US8275209B2 (en) * | 2008-10-10 | 2012-09-25 | Microsoft Corporation | Reduced DC gain mismatch and DC leakage in overlap transform processing |
US8638395B2 (en) | 2009-06-05 | 2014-01-28 | Cisco Technology, Inc. | Consolidating prior temporally-matched frames in 3D-based video denoising |
US8571117B2 (en) * | 2009-06-05 | 2013-10-29 | Cisco Technology, Inc. | Out of loop frame matching in 3D-based video denoising |
US8358380B2 (en) | 2009-06-05 | 2013-01-22 | Cisco Technology, Inc. | Efficient spatial and temporal transform-based video preprocessing |
US8615044B2 (en) * | 2009-06-05 | 2013-12-24 | Cisco Technology, Inc. | Adaptive thresholding of 3D transform coefficients for video denoising |
JP5199956B2 (ja) * | 2009-06-16 | 2013-05-15 | キヤノン株式会社 | 画像復号装置及びその制御方法 |
JP5199955B2 (ja) * | 2009-06-16 | 2013-05-15 | キヤノン株式会社 | 画像復号装置及びその制御方法 |
GB2475721B (en) * | 2009-11-27 | 2015-03-11 | British Broadcasting Corp | Picture encoding and decoding |
KR101773012B1 (ko) * | 2009-12-31 | 2017-08-30 | 톰슨 라이센싱 | 비디오 인코딩 및 디코딩을 위해 적응형 결합된 전처리 및 후처리 필터들을 위한 방법들 및 장치 |
US8527649B2 (en) | 2010-03-09 | 2013-09-03 | Mobixell Networks Ltd. | Multi-stream bit rate adaptation |
US8798131B1 (en) | 2010-05-18 | 2014-08-05 | Google Inc. | Apparatus and method for encoding video using assumed values with intra-prediction |
TWI600318B (zh) * | 2010-05-18 | 2017-09-21 | Sony Corp | Image processing apparatus and image processing method |
US8472725B2 (en) | 2010-06-02 | 2013-06-25 | Cisco Technology, Inc. | Scene change detection and handling for preprocessing video with overlapped 3D transforms |
US9635308B2 (en) | 2010-06-02 | 2017-04-25 | Cisco Technology, Inc. | Preprocessing of interlaced video with overlapped 3D transforms |
US9628674B2 (en) | 2010-06-02 | 2017-04-18 | Cisco Technology, Inc. | Staggered motion compensation for preprocessing video with overlapped 3D transforms |
US8832709B2 (en) | 2010-07-19 | 2014-09-09 | Flash Networks Ltd. | Network optimization |
CN102025988B (zh) * | 2010-10-19 | 2013-04-17 | 北京工业大学 | 一种模式相关的快速变换方法 |
JP5850214B2 (ja) * | 2011-01-11 | 2016-02-03 | ソニー株式会社 | 画像処理装置および方法、プログラム、並びに記録媒体 |
US9210442B2 (en) | 2011-01-12 | 2015-12-08 | Google Technology Holdings LLC | Efficient transform unit representation |
US9380319B2 (en) | 2011-02-04 | 2016-06-28 | Google Technology Holdings LLC | Implicit transform unit representation |
US8688074B2 (en) | 2011-02-28 | 2014-04-01 | Moisixell Networks Ltd. | Service classification of web traffic |
WO2013019219A1 (en) * | 2011-08-02 | 2013-02-07 | Hewlett-Packard Development Company, L. P. | Inter-block data management |
US10003803B1 (en) | 2012-04-18 | 2018-06-19 | Matrox Graphics Inc. | Motion-based adaptive quantization |
US10003802B1 (en) | 2012-04-18 | 2018-06-19 | Matrox Graphics Inc. | Motion-based adaptive quantization |
US9300984B1 (en) * | 2012-04-18 | 2016-03-29 | Matrox Graphics Inc. | Independent processing of data streams in codec |
TWI535222B (zh) * | 2012-06-29 | 2016-05-21 | Sony Corp | Image processing apparatus and method |
US9558566B2 (en) | 2012-08-21 | 2017-01-31 | EMC IP Holding Company LLC | Lossless compression of fragmented image data |
US9219915B1 (en) | 2013-01-17 | 2015-12-22 | Google Inc. | Selection of transform size in video coding |
US9544597B1 (en) | 2013-02-11 | 2017-01-10 | Google Inc. | Hybrid transform in video encoding and decoding |
US9967559B1 (en) | 2013-02-11 | 2018-05-08 | Google Llc | Motion vector dependent spatial transformation in video coding |
US9674530B1 (en) | 2013-04-30 | 2017-06-06 | Google Inc. | Hybrid transforms in video coding |
US9565451B1 (en) | 2014-10-31 | 2017-02-07 | Google Inc. | Prediction dependent transform coding |
US10123045B2 (en) * | 2015-07-24 | 2018-11-06 | Qualcomm Incorporated | Modification to block size for transform mode in display stream compression |
US9769499B2 (en) | 2015-08-11 | 2017-09-19 | Google Inc. | Super-transform video coding |
US10277905B2 (en) | 2015-09-14 | 2019-04-30 | Google Llc | Transform selection for non-baseband signal coding |
US9807423B1 (en) | 2015-11-24 | 2017-10-31 | Google Inc. | Hybrid transform scheme for video coding |
US9832351B1 (en) | 2016-09-09 | 2017-11-28 | Cisco Technology, Inc. | Reduced complexity video filtering using stepped overlapped transforms |
DE102017208705A1 (de) | 2017-05-23 | 2018-11-29 | Robert Bosch Gmbh | Sendeeinheit zur Emission von Strahlung in die Umgebung |
US10725911B2 (en) * | 2018-12-10 | 2020-07-28 | Sap Se | Non-Uniform pagination of columnar data |
US11122297B2 (en) | 2019-05-03 | 2021-09-14 | Google Llc | Using border-aligned block functions for image compression |
WO2023242588A1 (en) * | 2022-06-16 | 2023-12-21 | Mbda Uk Limited | Method for image encoding |
EP4294006A1 (en) * | 2022-06-16 | 2023-12-20 | MBDA UK Limited | Method for image encoding |
Family Cites Families (52)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4754492A (en) * | 1985-06-03 | 1988-06-28 | Picturetel Corporation | Method and system for adapting a digitized signal processing system for block processing with minimal blocking artifacts |
US5297236A (en) * | 1989-01-27 | 1994-03-22 | Dolby Laboratories Licensing Corporation | Low computational-complexity digital filter bank for encoder, decoder, and encoder/decoder |
JP2639176B2 (ja) | 1990-05-28 | 1997-08-06 | 日本電気株式会社 | 2次元信号符号化復号化方法とその符号化装置・復号化装置 |
JP3052516B2 (ja) * | 1990-12-21 | 2000-06-12 | カシオ計算機株式会社 | 符号化データ処理装置 |
JP2549479B2 (ja) * | 1991-12-06 | 1996-10-30 | 日本電信電話株式会社 | 動き補償フレーム間帯域分割符号化処理方法 |
KR0148130B1 (ko) * | 1992-05-18 | 1998-09-15 | 강진구 | 블럭킹아티팩트를 억제시키는 부호화/복호화 방법 및 그 장치 |
US5982459A (en) * | 1995-05-31 | 1999-11-09 | 8×8, Inc. | Integrated multimedia communications processor and codec |
FR2737931B1 (fr) * | 1995-08-17 | 1998-10-02 | Siemens Ag | Procede destine au traitement de blocs d'images decodes d'un procede de codage d'images a base de blocs |
US6026182A (en) * | 1995-10-05 | 2000-02-15 | Microsoft Corporation | Feature segmentation |
US6064776A (en) * | 1995-10-27 | 2000-05-16 | Kabushiki Kaisha Toshiba | Image processing apparatus |
US5850294A (en) * | 1995-12-18 | 1998-12-15 | Lucent Technologies Inc. | Method and apparatus for post-processing images |
KR100196838B1 (ko) | 1995-12-23 | 1999-06-15 | 전주범 | 블럭벌 상관 관계에 의한 부호화 장치 |
US5805739A (en) * | 1996-04-02 | 1998-09-08 | Picturetel Corporation | Lapped orthogonal vector quantization |
JP2907146B2 (ja) * | 1996-09-11 | 1999-06-21 | 日本電気株式会社 | メモリlsiの特定箇所探索方法および探索装置 |
US5999656A (en) * | 1997-01-17 | 1999-12-07 | Ricoh Co., Ltd. | Overlapped reversible transforms for unified lossless/lossy compression |
US5973755A (en) * | 1997-04-04 | 1999-10-26 | Microsoft Corporation | Video encoder and decoder using bilinear motion compensation and lapped orthogonal transforms |
AU8055798A (en) * | 1997-06-05 | 1998-12-21 | Wisconsin Alumni Research Foundation | Image compression system using block transforms and tree-type coefficient truncation |
JP3375539B2 (ja) * | 1997-07-14 | 2003-02-10 | ペンタックス株式会社 | 画像圧縮装置および画像伸張装置 |
US5859788A (en) * | 1997-08-15 | 1999-01-12 | The Aerospace Corporation | Modulated lapped transform method |
US6393156B1 (en) * | 1998-01-07 | 2002-05-21 | Truong Q. Nguyen | Enhanced transform compatibility for standardized data compression |
US6393061B1 (en) * | 1998-05-15 | 2002-05-21 | Hughes Electronics Corporation | Method for reducing blocking artifacts in digital images |
US6029126A (en) * | 1998-06-30 | 2000-02-22 | Microsoft Corporation | Scalable audio coder and decoder |
US6115689A (en) * | 1998-05-27 | 2000-09-05 | 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 |
US6253165B1 (en) * | 1998-06-30 | 2001-06-26 | Microsoft Corporation | System and method for modeling probability distribution functions of transform coefficients of encoded signal |
US6011625A (en) | 1998-07-08 | 2000-01-04 | Lockheed Martin Corporation | Method for phase unwrapping in imaging systems |
US6421464B1 (en) * | 1998-12-16 | 2002-07-16 | Fastvdo Llc | Fast lapped image transforms using lifting steps |
US6487574B1 (en) * | 1999-02-26 | 2002-11-26 | Microsoft Corp. | System and method for producing modulated complex lapped transforms |
US6496795B1 (en) * | 1999-05-05 | 2002-12-17 | Microsoft Corporation | Modulated complex lapped transform for integrated signal enhancement and coding |
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 |
US6771829B1 (en) * | 1999-10-23 | 2004-08-03 | Fastvdo Llc | Method for local zerotree image coding |
US6865229B1 (en) * | 1999-12-14 | 2005-03-08 | Koninklijke Philips Electronics N.V. | Method and apparatus for reducing the “blocky picture” effect in MPEG decoded images |
US6771828B1 (en) * | 2000-03-03 | 2004-08-03 | Microsoft Corporation | System and method for progessively transform coding digital data |
AU2001273510A1 (en) | 2000-07-17 | 2002-01-30 | Trustees Of Boston University | Generalized lapped biorthogonal transform embedded inverse discrete cosine transform and low bit rate video sequence coding artifact removal |
JP2004509531A (ja) * | 2000-09-12 | 2004-03-25 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | ビデオ符号化方法 |
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 |
CN101448162B (zh) * | 2001-12-17 | 2013-01-02 | 微软公司 | 处理视频图像的方法 |
US6763068B2 (en) * | 2001-12-28 | 2004-07-13 | Nokia Corporation | Method and apparatus for selecting macroblock quantization parameters in a video encoder |
US7006699B2 (en) * | 2002-03-27 | 2006-02-28 | Microsoft Corporation | System and method for progressively transforming and coding digital data |
US7155065B1 (en) * | 2002-03-27 | 2006-12-26 | Microsoft Corporation | System and method for progressively transforming and coding digital data |
US7275036B2 (en) | 2002-04-18 | 2007-09-25 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Apparatus and method for coding a time-discrete audio signal to obtain coded audio data and for decoding coded audio data |
US7120297B2 (en) * | 2002-04-25 | 2006-10-10 | Microsoft Corporation | Segmented layered image system |
US7242713B2 (en) * | 2002-05-02 | 2007-07-10 | Microsoft Corporation | 2-D transforms for image and video coding |
US6728315B2 (en) * | 2002-07-24 | 2004-04-27 | Apple Computer, Inc. | Method and apparatus for variable accuracy inter-picture timing specification for digital video encoding with reduced requirements for division operations |
US7227901B2 (en) * | 2002-11-21 | 2007-06-05 | Ub Video Inc. | Low-complexity deblocking filter |
US7167522B2 (en) * | 2003-02-27 | 2007-01-23 | Texas Instruments Incorporated | Video deblocking filter |
US7471726B2 (en) * | 2003-07-15 | 2008-12-30 | Microsoft Corporation | Spatial-domain lapped transform in digital media compression |
US7315822B2 (en) * | 2003-10-20 | 2008-01-01 | Microsoft Corp. | System and method for a media codec employing a reversible transform obtained via matrix lifting |
US7305139B2 (en) * | 2004-12-17 | 2007-12-04 | Microsoft Corporation | Reversible 2-dimensional pre-/post-filtering for lapped biorthogonal transform |
AU2005239628B2 (en) * | 2005-01-14 | 2010-08-05 | Microsoft Technology Licensing, Llc | Reversible 2-dimensional pre-/post-filtering for lapped biorthogonal transform |
-
2004
- 2004-12-17 US US11/015,148 patent/US7428342B2/en active Active
-
2005
- 2005-11-09 CA CA2526366A patent/CA2526366C/en active Active
- 2005-11-11 KR KR1020050107885A patent/KR101036711B1/ko active IP Right Grant
- 2005-11-14 RU RU2005135425/09A patent/RU2377653C2/ru active
- 2005-11-17 EP EP05025155.2A patent/EP1672929B1/en active Active
- 2005-11-17 MX MXPA05012402A patent/MXPA05012402A/es active IP Right Grant
- 2005-11-21 CN CN2005101271016A patent/CN1805547B/zh active Active
- 2005-11-25 AU AU2005237164A patent/AU2005237164B2/en active Active
- 2005-11-28 BR BRPI0505190-8A patent/BRPI0505190B1/pt active IP Right Grant
- 2005-12-16 JP JP2005364033A patent/JP4994655B2/ja active Active
-
2008
- 2008-09-04 US US12/204,351 patent/US7551789B2/en active Active
-
2010
- 2010-08-09 AU AU2010212245A patent/AU2010212245B2/en active Active
-
2011
- 2011-10-17 JP JP2011228007A patent/JP5036900B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
CN1805547B (zh) | 2012-07-04 |
JP4994655B2 (ja) | 2012-08-08 |
US20060133682A1 (en) | 2006-06-22 |
RU2005135425A (ru) | 2007-05-27 |
AU2005237164B2 (en) | 2010-08-26 |
JP5036900B2 (ja) | 2012-09-26 |
US7428342B2 (en) | 2008-09-23 |
BRPI0505190B1 (pt) | 2019-10-08 |
JP2006174487A (ja) | 2006-06-29 |
CA2526366C (en) | 2013-10-08 |
AU2005237164A1 (en) | 2006-07-06 |
AU2010212245B2 (en) | 2012-12-06 |
BRPI0505190A8 (pt) | 2018-08-14 |
JP2012065328A (ja) | 2012-03-29 |
EP1672929A2 (en) | 2006-06-21 |
CN1805547A (zh) | 2006-07-19 |
KR101036711B1 (ko) | 2011-05-24 |
EP1672929A3 (en) | 2012-01-25 |
BRPI0505190A (pt) | 2006-09-12 |
RU2377653C2 (ru) | 2009-12-27 |
CA2526366A1 (en) | 2006-06-17 |
US7551789B2 (en) | 2009-06-23 |
US20080317368A1 (en) | 2008-12-25 |
EP1672929B1 (en) | 2019-03-13 |
AU2010212245A1 (en) | 2010-09-02 |
KR20060069256A (ko) | 2006-06-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1672929B1 (en) | Reversible operator for efficient lossless data compression | |
JP4771803B2 (ja) | 重ね合わせ双直交変換のための可逆2次元プリ/ポストフィルタリング | |
EP1684521B1 (en) | Reversible 2-dimensional pre-/post-filtering for lapped biorthogonal transform | |
Tran et al. | Lapped transform via time-domain pre-and post-filtering | |
Liang et al. | Fast multiplierless approximations of the DCT with the lifting scheme | |
KR101036731B1 (ko) | 손실 및 무손실 2차원 데이터 압축을 위한 가역 변환 | |
US7471726B2 (en) | Spatial-domain lapped transform in digital media compression | |
KR20090115726A (ko) | 변환-기반 디지털 미디어 코덱에서의 계산 복잡도 및 정밀도 제어 | |
Tran | Modern transform design for practical audio/image/video coding applications | |
Bukhari et al. | Visual data transforms comparison | |
BRPI0506196B1 (pt) | Method for encoding and decoding two-dimensional digital media data and two-dimensional digital media processor | |
Przelaskowski | Effective integer-to-integer transforms for JPEG2000 coder |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FG | Grant or registration |