ES2282729T3 - Metodo y aparato para codificarlos datos de imagen y/o audio. - Google Patents

Metodo y aparato para codificarlos datos de imagen y/o audio. Download PDF

Info

Publication number
ES2282729T3
ES2282729T3 ES03798272T ES03798272T ES2282729T3 ES 2282729 T3 ES2282729 T3 ES 2282729T3 ES 03798272 T ES03798272 T ES 03798272T ES 03798272 T ES03798272 T ES 03798272T ES 2282729 T3 ES2282729 T3 ES 2282729T3
Authority
ES
Spain
Prior art keywords
coding
data
image
block
artifacts
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
ES03798272T
Other languages
English (en)
Inventor
Richard J. Philips Intel. Prop. & Std. CALDWELL
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.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips Electronics NV
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 Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Application granted granted Critical
Publication of ES2282729T3 publication Critical patent/ES2282729T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/007Transform coding, e.g. discrete cosine transform
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Discrete Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Método de codificación de datos recibidos desde una fuente (100, 105, 140), en el que la codificación es de un tipo que impone una estructura (200, 210, 220, 230) sobre los datos, estructura que no está definida en los datos cuando se reciben, comprendiendo el método las etapas de: - analizar (300) los datos recibidos para detectar artefactos contenidos dentro de los datos que indican que los datos han pasado por un proceso (105, 110, 140) de codificación y decodificación previas del mismo tipo; - extraer mediante el análisis de dichos artefactos información acerca de la estructura impuesta sobre los datos por dicho proceso de codificación previa; - codificar los datos recibidos mientras que se hace referencia a la información de estructura extraída para alinear al menos algunas características de la estructura impuesta por la codificación que está realizándose con aquellas impuestas por la estructura de codificación previa.

Description

Método y aparato para codificar datos de imagen y/o audio.
La invención se refiere a un método y aparato para la codificación de datos recibidos desde una fuente, en el que la codificación es de un tipo que impone una estructura sobre los datos, estructura que no está definida en los datos cuando se reciben. La invención encuentra aplicación particular en la compresión basada en bloques de datos de imagen o audio digitalizados derivados de fuentes analógicas, por ejemplo utilizando la codificación MPEG.
Tal como se conoce ampliamente, las imágenes, y en particular las secuencias de imágenes en movimiento para aplicaciones de grabación de televisión y vídeo, pueden transmitirse y almacenarse o bien en formatos analógicos o bien digitales. La transmisión y almacenamiento digitales están volviéndose cada vez más factibles, tanto para las aplicaciones profesionales como de consumidor. Normalmente es necesario digitalizar y codificar imágenes de fuentes analógicas para su transmisión o almacenamiento, y viceversa. Estas pueden ser imágenes fijas, tales como aquéllas generadas en fotografía digital o escaneadas a partir de una película o papel, o un flujo de imágenes que forman una secuencia de imágenes en movimiento. El vídeo digital de una cámara o grabador puede convertirse a forma analógica para la emisión y luego convertirse a forma digital de nuevo para el almacenamiento, tal como en un aparato grabador de vídeo digital (DVR, Digital Vídeo Recorder) doméstico.
Los sistemas de transmisión y almacenamiento digitales utilizan en general la compresión basada en bloques, tales como JPEG o MPEG-2, para conseguir una calidad de imagen aceptable dentro del ancho de banda de transmisión y capacidad de almacenamiento disponibles. JPEG es un sistema de compresión de vídeo basado en la realización de la transformada de coseno discreta (DCT, Discrete Cosine Transformation) en grupos, o bloques, o datos de píxeles. MPEG-2 es un sistema de compresión de vídeo en movimiento basado en los mismos principios. Para conseguir una compresión de datos sustancial, los coeficientes de DCT que representan cada bloque de píxeles se someten a una cuantificación adaptativa y codificación de longitud variable (VLE, Variable Length Encoding). Los bloques también se agrupan conjuntamente de cuatro en cuatro, para formar "macrobloques", de tal modo que las componentes de crominancia (color) pueden representarse con la mitad de la resolución espacial proporcionada para la componente de luminancia (brillo). Estas técnicas pueden aplicarse tanto en imágenes fijas (JPEG) como en vídeo en movimiento (MPEG). Para imágenes en movimiento, se realiza la codificación predictiva entre fotogramas compensada en movimiento basándose en macrobloques, para conseguir una compresión adicional.
Debido a la cuantificación, estos sistemas de compresión son sistemas "con pérdidas", por lo que los datos codificados, después de la decodificación, no son idénticos a los datos originales antes de la codificación. Esto puede manifestarse por sí mismo como diferencias en la luminancia y/o crominancia de píxeles, apareciendo todo ello en general como ruido en la imagen reconstruida. Una forma perceptible en particular de ruido en sistemas de compresión basada en bloques tales como JPEG y MPEG, es la aparición de discontinuidades en el color y/o brillo de píxeles por los límites de bloque. Se hará referencia a estos artefactos en el presente documento como "ruido de bloque". El ojo humano es muy sensible a cambios bruscos en el contraste tales como este, produciéndose la aparición en la forma de un patrón a modo de rejilla superpuesto sobre una imagen en movimiento, normal. El documento EP 0998146 A por ejemplo, describe un aparato para detectar ruido de bloque y suavizar las discontinuidades en los límites de bloque, para minimizar la molestia de los límites de bloque en la imagen vista.
Los codificadores de compresión implementan en general un compromiso continuo entre calidad de imagen y ancho de banda de transmisión o tamaño de archivo. La calidad de imagen disponible depende considerablemente del contenido y también de la calidad de la imagen fuente. El ruido en la imagen fuente lleva a un deterioro marcado en la calidad, puesto que las características aleatorias son de manera inherente más costosas de representar que las señales más coherentes para las que el sistema está diseñado. Por otro lado, la codificación repetida y luego la recodificación de imágenes que se han codificado mediante estos métodos no da como resultado necesariamente una mayor degradación, porque la información restante ya está adaptada a lo que el proceso de recodificación puede reproducir dentro del ancho de banda disponible. Aunque la imagen que está recodificándose puede contener ruido de bloque perceptible, por ejemplo, porque cada bloque se trata por separado por el proceso DCT, estos artefactos pueden reproducirse en la imagen recodificada, pero no se agravarán, ni consumirán ningún ancho de banda adicional, puesto que son efectivamente "invisibles" al recodificador.
El inventor ha reconocido un problema, sin embargo, cuando las imágenes decodificadas que contienen ruido de bloque se transmiten o almacenan en forma analógica, y se suministran entonces al codificador para su transmisión o almacenamiento digitales. En este caso, no habrá en general alineación entre los artefactos de ruido de bloque presentes en la imagen fuente y los límites de bloque aplicados por el codificador. Por consiguiente, el codificador "verá" el ruido de bloque como parte de la señal que va a codificarse. Entonces, no sólo se reproducirá el ruido de bloque en la imagen codificada, el ancho de banda requerido para representar estas discontinuidades súbitas dentro de los bloques de píxeles del codificador reducirá el ancho de banda disponible para representar el contenido de imagen real, llevando a una degradación marcada en la calidad de imagen. Al decodificar la imagen, se incluirán dos conjuntos de ruido de bloque, y cualquier transmisión adicional mediante un canal analógico y recodificación agravará el problema adicionalmente.
Cuando se maneja vídeo en movimiento, según un método de codificación basado en bloques tal como MPEG-2, se codifica una secuencia de fotogramas como un grupo de imágenes (GOP, Group Of Pictures) teórico que emplea diferentes esquemas de codificación. Los esquemas comprenden normalmente fotogramas "I" de intracodificación que se codifican sólo utilizando información de sí mismos (similar a JPEG), fotogramas "P" de codificación predictiva que se codifican utilizando vectores de movimiento basados en un fotograma I anterior; y fotogramas "B" de codificación predictiva bidireccional, que se codifican mediante la predicción de fotogramas I y/o P antes y después de ellos en secuencia. La elección de esquemas de codificación y el orden en el que se secuencian depende de la integridad del medio de comunicación que está utilizándose para transportar el vídeo en movimiento. Por ejemplo, si existe un riesgo elevado de corrupción, puede decidirse repetir un número mayor de fotogramas "I" en un GOP que el que se utilizaría en un enlace más seguro, de tal modo que en la interrupción puede reconstruirse rápidamente una imagen.
Idealmente, para conseguir la mayor compresión y minimizar la degradación a través de etapas de decodificación y recodificación, se utilizaría la misma secuencia GOP por todas las fases de codificación. El documento EP 1069779 A busca enviar datos de "historia" con señales de vídeo digitales, de tal modo que la remodificación puede realizarse con respecto a la estructura GOP de un flujo de datos predecesor. De nuevo, sin embargo, si las imágenes han pasado a través del dominio analógico mientras tanto, tales datos de historia no están disponibles. Cuando esto sucede, los fotogramas que eran originariamente fotogramas I pueden codificarse posteriormente como fotogramas B o P, y los fotogramas que eran originariamente fotogramas B o P pueden posteriormente codificarse como un fotograma I. Esto en general dará como resultado una pérdida de calidad de imagen, que podría agravarse si el proceso de decodificación y recodificación se repitiese.
Surgen cuestiones similares en la codificación de datos de audio de una fuente analógica, que pueden haberse comprimido previamente. Por ejemplo, muchos sistemas de compresión de audio dividen el flujo de muestras de audio en bloques cortos similares a los bloques de píxeles pero sólo en una dimensión, y codifican cada bloque en cuanto a su contenido espectral. En este caso, los bloques representan la estructura temporal más que la estructura espacial, pero la presencia de artefactos de límite de bloque, y los problemas de robo de ancho de banda ocasionan problemas análogos a los anteriormente descritos. J. Fletcher: "ISO/MPEG Layer 2 - Optimum re-encoding of decoded audio using a MOLE signal", ediciones preliminares de artículos presentados en la convención AES (05-1998), propone el uso de señales adicionales para transportar información estructural sobre una señal de audio, de tal modo que pueden codificarse con una degradación mínima entre las etapas de decodificación y recodificación. El documento US-A-2001010707 y el documento EP-A-1168651 son documentos adicionales que proponen utilizar parámetros retenidos de una etapa de decodificación para facilitar la recodificación con una menor degradación.
Por consiguiente, es un objetivo de la invención proporcionar métodos y aparatos mejorados para realizar la codificación basada en bloques de datos tales como imágenes y sonidos derivados de fuentes analógicas, en particular métodos que puedan conservar la calidad de imágenes/sonidos que se han codificado previamente basándose en bloques y contienen ruido de bloque y otros artefactos estructurados.
Según un primer aspecto de la presente invención, se proporciona un método de codificación de datos recibidos desde una fuente, en el que la codificación es de un tipo que impone una estructura sobre los datos, estructura que no está definida en los datos cuando se reciben, comprendiendo el método las etapas de:
- analizar los datos recibidos para detectar artefactos contenidos dentro de los datos que indican que los datos han pasado por un proceso de codificación y decodificación previas del mismo tipo;
- extraer mediante el análisis de dichos artefactos información acerca de la estructura impuesta sobre los datos por dicho proceso de codificación previa;
- codificar los datos recibidos mientras se hace referencia a la información de estructura extraída para alinear al menos algunas características de la estructura impuestas por la codificación que está realizándose con aquéllas impuestas por la estructura de codificación previa.
La etapa de codificación puede realizarse para maximizar la alineación entre la estructura impuesta por el proceso de codificación y la impuesta por el proceso de codificación previa.
Tal como se observará a partir de los siguientes ejemplos, la utilización de la misma estructura que la que se utilizó anteriormente permite la propagación de los datos de audio o imágenes a través de un sistema que implica múltiples fases de codificación/decodificación con una degradación reducida de la calidad. Una ventaja particular es evitar el consumo de ancho de banda por la codificación innecesaria de artefactos del proceso de codificación previa.
Cuando los datos recibidos representan una imagen, tal como una imagen recibida a través de un proceso de transmisión o almacenamiento analógicos, la estructura impuesta por el proceso de codificación puede incluir una estructura espacial en la que los píxeles de la imagen se procesan en bloques, realizándose la codificación para alinear límites de bloque del proceso de codificación sustancialmente con los artefactos de límite de bloque presentes en los datos de imagen recibidos como una consecuencia del proceso de codificación previa.
El proceso de codificación puede ser de un tipo que impone una estructura espacial en la que los bloques de píxeles se agrupan en macrobloques. En tal caso, la codificación puede realizarse para alinear los límites de macrobloque del proceso de codificación sustancialmente con los artefactos de límite de macrobloque presentes en los datos de imagen recibidos como una consecuencia del proceso de codificación previa. En datos de imagen derivados de JPEG o MPEG, pueden detectarse los artefactos de límites de macrobloque sólo en las componentes de crominancia de los datos de imagen, contrariamente a los datos de luminancia. El término "bloque" debería interpretarse como que incluye "macrobloque", excepto cuando el contexto requiera lo contrario.
En casos en los que la resolución relativa entre las componentes de crominancia y luminancia de la imagen no está fijada por adelantado, la detección de artefactos de límite de bloque por separado en las componentes de crominancia y luminancia también permitirá determinar la resolución relativa como una etapa preliminar. Esto puede utilizarse entonces para configurar el decodificador con los mismos parámetros, como alternativa o (preferiblemente) además de alinear los límites de bloque de la manera anteriormente descrita.
Los datos de imagen recibidos pueden ser (adicionalmente) una secuencia de imágenes de imágenes en movimiento. En este caso, la información de estructura utilizada para cada imagen sucesiva puede derivarse en su totalidad mediante el análisis de la presente imagen, en su totalidad a partir de una imagen previa, o a partir de una combinación de imágenes previas y presentes. Estas realizaciones pueden seleccionarse según las circunstancias. La primera opción permite una inestabilidad en la estructura de fotograma a fotograma, pero puede tener dificultad en identificar la estructura cuando el contenido de los datos de imagen es tal que carece de artefactos fuertes en un fotograma dado (tal como una imagen en blanco entre escenas). La segunda opción puede evitar este problema, mientras que todavía permite que el codificador se adapte a una desviación más lenta en la estructura de los artefactos en relación con los datos de imagen recibidos.
La etapa de analizar los datos recibidos puede incluir almacenar toda o al menos una parte sustancial de una imagen y realizar un análisis espectral para identificar componentes periódicas que indican la presencia de artefactos de límite de bloque. La etapa de extraer información de la estructura puede comprender analizar dicha imagen para determinar la separación (frecuencia) y ubicación (fase) de esos artefactos. Si los datos de imagen se almacenan para su análisis en un almacenamiento de imágenes, el análisis espectral puede comprender aplicar una transformada rápida de Fourier (FFT, Fast Fourier Transform) a los datos almacenados.
La etapa de codificación puede realizarse mediante etapas separadas de preprocesamiento de los datos para producir datos que tienen una estructura estandarizada. Esto permite aplicar un proceso de codificación genérico (software y/o hardware) sin modificación. Por ejemplo, en un proceso de codificación MPEG el codificador aplica en general una estructura de bloque/macrobloque de 8 x 8/16 x 16 píxeles, comenzando en el píxel izquierdo superior de la imagen. Dicha etapa de preprocesamiento puede realizarse remuestreando los datos de imagen totalmente en el dominio digital. Puede aplicarse un filtrado para interpolar valores de píxel para este fin. Los datos de imagen recibidos pueden sobremuestrearse cuando se digitalizan inicialmente a partir de los analógicos, para minimizar la pérdida de calidad en la etapa de remuestreo.
El remuestreo puede realizarse sobre una imagen en su totalidad antes de que comience la codificación, o puede realizarse durante la extracción mediante la lectura de datos de píxeles para la codificación.
Cuando los datos de imagen recibidos representan una secuencia de imágenes en movimiento, la estructura impuesta por el proceso de codificación puede ser una estructura temporal (estructura GOP) en la que diferentes imágenes de la secuencia se procesan de manera diferente, realizándose la codificación para aplicar sustancialmente la misma estructura GOP a la secuencia tal como se aplicó en el proceso de codificación previa. Como alternativa, la codificación puede realizarse para aplicar una estructura GOP diferente a, pero temporalmente asociado con, la que se utilizó en el proceso de codificación previa. En particular, el análisis de artefactos puede distinguir entre imágenes intra e intercodificadas.
El análisis de estructura GOP puede realizarse analizando varias imágenes almacenadas por completo en una memoria, o puede realizarse conservando sólo parámetros de imágenes pasadas y analizando la presente imagen con respecto a esos parámetros. Puede ser que la estructura GOP sólo se reconozca después de analizar varios fotogramas de la secuencia. Las imágenes intracodificadas surgirán normalmente en una base bastante regular y contendrán más componentes de alta frecuencia, y pueden identificarse de esta manera. Obsérvese que el aparato de DCT del proceso de codificación podría utilizarse para medir las componentes de alta frecuencia. Por otro lado, puede ser más sencillo proporcionar filtros separados para este fin, para retener el codificador genérico y reducir la incertidumbre y el esfuerzo de diseño. El diseñador puede elegir si retrasar la codificación hasta que se haya determinado la estructura GOP, o codificar inicialmente sin referencia a la estructura GOP. Si se desea, la alineación de las estructuras podría empezar cuando hubiese suficiente información disponible. Claramente se preferirá la última opción, especialmente cuando se alimentan transmisiones de TV para una visualización simultánea, en la que los segmentos de vídeo con y sin artefactos de codificación pueden editarse conjuntamente de manera libre.
Los datos recibidos pueden comprender de manera alternativa datos de audio. La estructura impuesta por el proceso de codificación puede incluir una estructura temporal en la que las muestras de una señal de audio se procesan en bloques, representando cada uno un corto intervalo de tiempo, realizándose la codificación para maximizar la alineación de límites de bloque del proceso de codificación sustancialmente con artefactos de límite de bloque presentes en los datos de audio recibidos como una consecuencia del proceso de codificación previa. Los principios aplicados en las realizaciones del procesamiento de imagen descritos anteriormente y a continuación pueden adaptarse en general al proceso de codificación de audio. Una diferencia es que los datos de audio son unidimensionales y continuos, más que datos bidimensionales organizados en fotogramas de imagen separados que pueden procesarse, si se desea, aislados entre sí. Los métodos adoptados para un flujo de audio serán por lo tanto de la variedad continua en la que se detectará la existencia y posición de artefactos en curso y la etapa de codificación se adaptará en curso para maximizar la alineación de los límites de bloque en el tiempo, más que en cada parte del flujo de datos.
En el caso de los datos de audio, por lo tanto, la etapa de análisis puede incluir un proceso de bucle de bloqueo de fase (PLL) que se adapta para detectar y luego bloquear los artefactos de límite de bloque en un flujo de datos continuo. La etapa de codificación puede incluir entonces un segundo bucle de bloqueo de fase o proceso similar para maximizar la alineación de los límites de bloque del proceso de codificación con los artefactos de límite de bloque detectados gradualmente en el tiempo, para evitar discontinuidades repentinas en la estructura de bloque impuesta por la etapa de codificación.
La invención proporciona adicionalmente un aparato para codificar datos, estando adaptado el aparato para implementar el método según la invención tal como se expuso anteriormente.
El aparato puede comprender un grabador de vídeo digital o grabador de audio digital, según sea apropiado.
Tal como se mencionó anteriormente, la invención puede implementarse utilizando un preprocesamiento y un proceso de codificación genérico o aparato de procesamiento.
Por consiguiente, la invención ya proporciona adicionalmente un método de preprocesamiento de datos recibidos desde una fuente, para la aplicación posterior a un proceso de codificación que impone una estructura predeterminada sobre los datos, estructura que no está definida en los datos cuando se reciben, comprendiendo el método las etapas de:
- analizar (300) los datos recibidos para detectar artefactos contenidos dentro de los datos que indican que los datos han pasado por un proceso de codificación previa de imponer una estructura que tiene características en común con dicha estructura predeterminada;
- extraer mediante el análisis de dichos artefactos información acerca de la estructura impuesta sobre los datos por dicho proceso de codificación previa;
- procesar (630) los datos recibidos mientras se hace referencia a la información de estructura extraída para alinear al menos algunas características entre la estructura impuesta por el proceso de codificación previa y dicha estructura predeterminada.
Un consumidor que tiene equipo o software de codificación genérico pueden entonces en principio añadir la capacidad de procesamiento. El preprocesamiento podría también realizarse mediante el emisor antes de transmitir los datos como una señal de emisión de audio o de TV digital, de tal manera que los abonados que tienen equipos de codificación genéricos puedan beneficiarse de la invención sin inversión por su parte.
Las realizaciones particulares descritas anteriormente pueden aplicarse en esta forma de método. Se proporciona de manera similar un aparato de preprocesamiento.
La invención aún proporciona adicionalmente un producto de programa informático que comprende instrucciones para provocar que un ordenador programable implemente las características de etapas de aparato y/o método específicas de la invención en cualquiera de sus aspectos tal como se expone en el presente documento. El producto de programa informático puede suministrarse independientemente de cualquier hardware de ordenador, y puede suministrase o bien en la forma de un soporte de grabación o bien en forma electrónica por una red.
Las realizaciones de la invención se describirán ahora, a modo de ejemplo, mediante referencia a los dibujos adjuntos, en los que:
la figura 1 representa una imagen original que tiene bordes suaves, antes de la codificación basada en bloques;
la figura 2 representa la imagen de la figura 1 después de la codificación basada en bloques con pérdida;
la figura 3 muestra ruido de bloques frecuente en la imagen real que se representó en la figura 2;
la figura 4 ilustra un sistema típico que tiene un número de fases de codificación y posterior decodificación para transmitir vídeo en movimiento analógico desde la fuente al usuario por enlaces de comunicación que tienen ancho de banda limitado;
la figura 5 ilustra el efecto sobre límites de bloque de una imagen que ha pasado a través de diversas fases (A, B, C) del sistema de la figura 4;
la figura 6 ilustra un codificador mejorado de la presente invención para detectar parámetros de codificación, para uso posterior en codificación basada en bloques;
la figura 7 es un diagrama de bloques del detector de borde de límite del codificador de la figura 6;
la figura 8 muestra algunos límites detectables que podrían existir en una imagen codificada basándose en bloques típica;
la figura 9 muestra los límites detectables de la figura 8 que el detector de borde de límite de la figura 7 ha realizado una interpolación para formar una rejilla de codificación; y
la figura 10 muestra la derivación de reloj de píxel a partir de límites de bloque detectados e interpolados.
Debe, y deberá seguir siendo, una meta de diseñadores de sistemas de procesamiento de imágenes minimizar la cantidad de ruido introducido en una señal a medida que avanza a través del sistema.
Existen diversas técnicas para la supresión de ruido dentro de una imagen de vídeo, antes de la visualización. Por ejemplo, un filtro paso bajo reducirá la brusquedad de cualquier transición de alta frecuencia (y por lo tanto perceptible), haciendo la imagen visualmente más aceptable. Sin embargo, al hacerlo reducirá también el ancho de banda de la imagen en su totalidad, dando como resultado una imagen menos nítida y por lo tanto degradada.
Como alternativa, se prefiere minimizar la generación de ruido en sí, más que intentar suprimirlo una vez que se ha introducido en el sistema. Actualmente existen diversas técnicas de apantallamiento (screening) para minimizar un ruido de captación de sistema mediante el propio sistema. La compresión de imagen utilizando codificación basada en bloques realmente genera automáticamente una cantidad de ruido, que puede propagarse y en ciertas circunstancias acentuarse a medida que la señal avanza a través del sistema.
La figura 1 representa una imagen derivada previa a la codificación basada en bloques. Las líneas representan regiones de alto cambio de contraste. Las líneas y curvas son suaves. (La imagen original a partir de la que ésta se derivó también presentaba un rango de tonos dinámico amplio).
La figura 2 representa la imagen de la figura 1 después de que se ha comprimido a un tamaño de archivo reducido, utilizando codificación basada en bloques tal como JPEG. Como antes, las líneas ilustran puntos de alto contraste. El lector experto apreciará que si la imagen era una seleccionada a partir de una secuencia de vídeo en movimiento entonces la compresión utilizada puede haber sido codificación MPEG. Debido a que el esquema de codificación es "con pérdidas", se han introducido un número de artefactos en la imagen. Por ejemplo, los objetos nítidos sobresalen ahora de las líneas. Las líneas suaves se has sustituido por bordes irregulares.
El rango de tonos amplio de la imagen original se sustituiría por bloques cuadrados pequeños de tono uniforme (no mostrados). Como resultado, ahora se sustituye una transición suave de tono en una zona seleccionada por etapas de diferentes valores de tono uniformes. Algunas de las etapas entre bloques son de diferencia suficientemente grande para ser perceptible dentro de la imagen.
La figura 3 es la imagen representada en la figura 2, después de procesarse mediante un detector de borde. Esta imagen se derivó detectando puntos de alto contraste entre píxeles adyacentes. Si el proceso se realizó sobre la imagen original tal como se representó mediante la figura 1 entonces sería bastante similar a la figura 1 tal como se muestra. Sin embargo, cuando se realiza sobre la imagen que había sido codificada basándose en bloques, tal como se representa mediante la figura 2, además de la imagen de base uno puede observar claramente los bloques definidos de igual tamaño y forma. Los bloques se refieren a grupos de píxeles de 8 por 8 píxeles, y se conocen como "ruido de bloque", porque ocurre en determinadas transiciones entre bloques.
Un esquema de compresión basado en bloques reduce el tamaño de un archivo de imagen (y/o el ancho de banda requerido para transmitir la imagen a través de una portadora de ancho de banda limitado) codificando por separado regiones dentro de la imagen. Cada bloque se procesa para eliminar componentes de la señal que no son esenciales para transportar la imagen (generalmente altas frecuencias). Una secuencia en movimiento se comprime adicionalmente transmitiendo sólo datos de imagen que han cambiado respecto al fotograma previo. Se reducen los errores acumulativos enviando un fotograma nuevo de referencia a intervalos regulares. Los medios por los que se procesa vídeo en movimiento se describen más adelante.
Los bloques dentro de cada imagen son visibles porque la reconstrucción para la visualización de cada píxel dentro de cada bloque ahora es sólo una aproximación de su valor original. Esto se debe a que algunos de los datos utilizados para reconstruir el bloque se han desechado por el proceso de codificación. Cuanto mayor es la compresión seleccionada, mayor es la aproximación resultante de cada valor de píxel dentro del bloque. Los bloques adyacentes se harán visibles porque la gradación suave entre píxeles en la imagen original se ha sustituido por etapas entre valores de píxeles. La variación de la desviación del valor de píxel alrededor de su valor original contribuye a hacer las etapas más visibles.
La figura 4 ilustra un sistema típico de producción, procesamiento y distribución de vídeo. Se filma una fuente 100 multimedia 105 y se pasa al estudio 110 para el procesamiento. El video se transmite 120 posteriormente y se recibe 130 en un ambiente doméstico, para la decodificación 140 y visualización 150. Opcionalmente, el vídeo puede grabarse 160 para su visionado posterior. El sistema incluye un número de fases (A, B, C) de codificación y posterior decodificación, basadas en bloques para transmitir vídeo en movimiento dentro del sistema a través de enlaces de comunicación que tienen ancho de banda limitado.
En el ejemplo mostrado, la fuente 100 multimedia se filma por una unidad de emisión exterior y el vídeo analógico resultante se graba en una cinta de vídeo. El grabador de vídeo utiliza codificación MPEG para comprimir el vídeo, para proporcionar suficiente tiempo de grabación utilizando un casete pequeño. Esta es la primera fase (A) de codificación basada en bloques en el sistema de ejemplo. La cinta 105 de vídeo se transfiere entonces al estudio 110, donde se decodifica otra vez a vídeo analógico. En este momento, un número de artefactos se introducen en el vídeo analógico, como resultado de la falta de eficacia de la anterior codificación y posterior proceso de decodificación.
Una vez que el vídeo se ha procesado por el estudio, por ejemplo mezclándolo con otro contenido multimedia, la señal se transmite 120 al consumidor 130. La transmisión implica una etapa (B) adicional de codificación basada en bloques, tal como MPEG-2, ya que el ancho de banda de cada canal de transmisión puede estar limitado. El consumidor recibe la señal, que entonces se decodifica 140 para proporcionar vídeo VID analógico para visualizar mediante un monitor 150. El consumidor puede desear grabar el vídeo que se está visualizando en el monitor, y tiene un dispositivo 160 de grabación sin casete, tal como uno que utiliza un disco duro para almacenar vídeo digitalizado. El vídeo VID se comprime otra vez (C) utilizando codificación basada en bloques, para maximizar la capacidad del disco duro. Cuando se visualiza posteriormente, el vídeo se reproduce y se decodifica de manera similar a las dos fases anteriores.
La información de vídeo que pasa a través de este sistema tiene que pasar a través de tres fases (A, B, C) de codificación y posterior decodificación basada en bloques, transportándose la señal entre fases en forma analógica. Como resultado de utilizar vídeo analógico, no se pasa información entre las fases que permitiría en cada fase de codificación que los píxeles de la misma imagen se codifiquen según las mismas reglas, y por lo tanto exactamente de la misma manera que para fases de codificación previas.
La figura 5 ilustra el efecto en los límites de bloque de una imagen que ha pasado a través de varias fases (A, B, C) del sistema de la figura 4. Las líneas 200 continuas indican los límites de bloque utilizados por la primera fase de codificación/decodificación. Las líneas 210, 220 y 230 discontinuas indican los límites de bloque utilizados por las fases posteriores de codificación/descodificación. Puede observarse que los límites de bloque se ubican de manera diferente dentro del fotograma de imagen. Esto se debe a que las ubicaciones de los límites de bloque están dictadas por varios factores, tales como velocidad de reloj, tamaño de imagen y desplazamiento de imagen. Varianzas en base de tiempo como las causadas por mecanismos de transporte de la cinta del grabador de cinta de vídeo, factores ambientales tales como la temperatura, pueden causar que los límites se muevan unos respecto a otros en un periodo de tiempo, cuando se digitalizan las señales analógicas.
La consecuencia de estos límites variables es una reducción de la calidad de las imágenes dentro de la secuencia de imágenes. Esto se debe a que los artefactos de límites de bloque introducidos en fases previas de codificación/decodificación 200 basada en bloques se tratan entonces como datos de contenido de imagen significativos en cualquiera de las fases de codificación sucesivas.
Tratando de resolver el problema, el inventor ha observado que codificar una imagen analógica utilizando la misma estructura de bloques y de píxeles que se ha utilizado en una fase previa de codificación hace a los artefactos de límite de bloque efectivamente invisibles para el codificador, que trata cada bloque de píxeles sustancialmente como una unidad independiente. Esto mejora significativamente la calidad de las imágenes sin impacto en los requisitos de ancho de banda, porque los artefactos introducidos en la primera fase de codificación no consumirán ancho de banda por ser tratados como contenido de imagen en fases de codificación adicionales.
El inventor ha descubierto adicionalmente que es posible analizar una imagen analógica para determinar si se ha codificado previamente o no utilizando un sistema de compresión de imagen basado en bloques y utiliza los resultados del análisis para dirigir el proceso de codificación.
La figura 6 ilustra un codificador mejorado, que realiza las dos funciones principales de a) analizar el vídeo IV analógico de entrada para detectar los parámetros de codificación utilizados en una fase de codificación previa, tal como límites de bloque y píxel y reloj de píxel, y b) utilizar los parámetros de codificación detectados para dirigir la codificación del vídeo de entrada basada en bloques.
Se utiliza un detector 300 de borde de límite BED (Boundary Edge Detector) para analizar el vídeo analógico de entrada para determinar los parámetros de codificación tales como límites horizontal "H" y vertical "V" de bloque dentro de cada imagen, y a partir estos límites derivar un reloj "CLK" de píxel que se corresponda directamente con las ubicaciones de píxeles dentro de cada bloque. Se han realizado intentos previamente para analizar vídeo analógico para suprimir ruido de bloque, un ejemplo de lo cual se ilustra en el documento EP 0998146A. Los límites de bloque vertical y horizontal detectables dentro de un fotograma de vídeo previamente codificado en bloques se utilizan para suprimir el ruido de bloque, pero sólo adyacente a estos límites detectados.
El detector 300 de borde de límite BED incluye un extremo 304 frontal de digitalización y almacenamiento DIG/BUF, al que se accede para el análisis, para determinar los bordes de límite, y como una fuente de datos de vídeo digital para el codificador basado en bloques.
En una realización en la que el controlador también detecta estructura GOP de artefactos en los datos de imagen recibidos, entonces el controlador puede indicar al codificador que imponga una estructura GOP correspondiente en la nueva codificación. La estructura GOP se transportaría a través de una interfaz entre el BED y el controlador del codificador (no mostrado). De manera alternativa, sin embargo, la información en cuanto a la estructura GOP puede utilizarse para influir en el codificador en cuanto a la estructura GOP o la fuerza de cuantificación, pero no para imponer rígidamente una estructura GOP para el proceso de codificación. Los procesos de codificación MPEG tienden a requerir libertad para seleccionar la estructura GOP, por ejemplo, para controlar el ancho de banda.
Las fases de procesamiento del codificador comprenden fases convencionales de un codificador basado en bloques; siendo éstas la transformada 320 de coseno discreta (DCT), cuantificación 330 (Q), codificador 340 de longitud variable de longitud de recorrido (RL-VLC), memoria 350 intermedia de flujo de bits (BB), cuantificación 360 inversa (IQ), transformada 370 inversa de coseno discreta (IDCT), compensador 380 de movimiento (MC), estimación 390 de movimiento (ME) y memoria 400 intermedia de fotograma (BUF). El flujo de salida OS se toma de la memoria 350 intermedia de flujo de bits (BB), y corresponde a un flujo de datos de vídeo codificados basados en bloques.
La figura 7 es un diagrama de bloque de un detector 300 de borde de límite BED, en el que las imágenes se digitalizan DIG 600, se almacenan doblemente mediante memorias intermedias BUF 610, 620, y se procesan mediante el procesador PROC 630 para derivar límites de bloque H, V y un CLK de píxel. El procesador podría ser una solución DSP o FGPA.
El experto en la técnica comprenderá que pueden utilizarse diversas técnicas para analizar los datos de imagen para obtener los artefactos de límites de bloque, incluyendo por ejemplo técnicas explicadas en detalle en el documento EP 0998146A, mencionado en la introducción. En el codificador mejorado de la primera realización, los límites H y V detectados y el reloj CLK de píxel se utilizan específicamente para normalizar la estructura de la imagen en una compatible con el codificador. El codificador no realiza supresión de ruido de bloque adyacente a los límites. Sin embargo, empleando un almacenamiento de imagen y un detector de borde de límite, garantiza que la codificación se realiza utilizando los mismos límites que se han utilizado antes. Haciéndolo así se garantiza que cada bloque se codifica utilizando los mismos límites a medida que la imagen avanza a través de diferentes fases de codificación, eliminando la codificación de límites de bloque como datos de imagen. El experto en la técnica, sin embargo, comprenderá que esto no excluye introducir medios adicionales para suprimir ruido de bloque en una realización adicional.
La fase de codificación es un codificador basado en bloques convencional, tal como uno para realizar codificación MPEG de vídeo en movimiento. El codificador se podrá seleccionar para operar según diferentes normas de visualización, tales como VGA o SVGA, aunque una realización adicional puede incluir autodetección de la norma de vídeo a partir de un amplia gama de normas de vídeo entrante mediante análisis del sincronismo influido por las señales de sincronismo derivadas por la detección de límites de bloque y derivación de reloj de píxel.
Cada fotograma de vídeo de entrada contendrá un número de límites detectables que el detector 300 de borde de límite BED podrá detectar y utilizar para derivar todos los bordes de límite.
La figura 8 ilustra límites detectables dentro de un único fotograma de imagen. Puede observarse que están presentes huecos que frustran la detección de una rejilla completa. En la descripción de la patente europea EP 0998146A descrita anteriormente, no importa si los límites no pueden detectarse en estas regiones, porque no hay ruido de bloque entre los huecos que necesitan suprimirse y por lo tanto no es necesario derivar una rejilla completa. Sin embargo, se requiere una rejilla completa en las realizaciones del codificador mejorado porque se requiere un sincronismo preciso para todos los bloques y píxeles dentro de cada fotograma de vídeo.
La figura 9 muestra la imagen de la figura 8, en la que el detector de borde de límite de la figura 7 ha realizado una interpolación entre los límites detectables (representados mediante líneas discontinuas) para formar una rejilla de codificación.
El BED 300 digital ilustrado en la figura 7 digitaliza la imagen analógica a una tasa adecuada y la almacena en un almacenamiento de fotogramas. Según la teoría de Nyquist, la tasa de digitalización puede estar en el orden de dos veces el ancho de banda de la imagen, o mayor, dependiendo de la precisión requerida por el BED para determinar correctamente la verdadera ubicación de límites de bloque dentro de la imagen. La imagen se procesa a continuación (o bien mientras se está cargando en memoria, o bien una vez se ha almacenado un fotograma completo) para derivar la estructura de bloques. Métodos para conseguir esto se conocen ampliamente, e incluyen núcleos de filtro ponderados (pequeñas matrices de coeficientes) que se pasan por la imagen. Puede aplicarse un almacenamiento en memoria intermedia doble cuando sea apropiado, para mantener la continuidad. En ese caso, mientras se procesa una memoria intermedia para derivar la estructura de bloque y de píxeles, otra se está cargando con el siguiente fotograma. Las memorias intermedias conmutan a una tasa de campo o de fotograma, dependiendo de la norma de vídeo que se esté procesando. El reloj de píxel se proporciona mediante un sintetizador de frecuencia, controlado por el procesador y derivado de la estructura de bloque medida.
La figura 10 muestra los límites horizontales (H) detectables, la ubicación estimada para los límites (Hest) no detectables, los límites derivados para el posterior procesamiento (Hder) y el reloj CLK de píxel, que sale del procesador 630 y corresponde a los píxeles dentro de cada fotograma de vídeo de entrada. Este reloj se deriva mediante síntesis digital dentro de cada núcleo 630 de procesador digital, aunque hay disponibles otros métodos. Un pequeño grado de varianza es aceptable, siempre que el reloj no se aleje cerca de los límites de píxel, donde el sincronismo de configuración y mantenimiento del digitalizador de vídeo de codificador puede verse comprometida.
El límite horizontal H, el límite vertical V y la sincronización de reloj CLK de píxel derivados se utilizan, los tres, por el procesador para alinear los límites de bloque del nuevo proceso de codificación con aquellos utilizados en la fase previa. Se utilizan como señales de sincronismo de base a partir de las cuales se derivan todas las demás señales de sincronismo del BED 300. Por lo tanto, a medida que el sincronismo de base del vídeo de entrada cambia (por ejemplo, debido a fluctuación y diafonía de una cinta de vídeo durante la reproducción, o cambios en un periodo de tiempo más largo), el sincronismo del procesamiento variará para adaptarse, siguiendo el sincronismo de entrada de manera continua.
La imagen se prepara para la codificación modificando la estructura de píxeles para alinearse con los límites derivados. Esto puede conseguirse de diferentes maneras, por ejemplo aplicando una función "Warp" que remuestrea la imagen utilizando correlación (mapping) de píxeles no lineal; o modificando el direccionamiento de lectura cuando se extraen datos desde el almacenamiento de fotograma para pasarse al codificador. El experto en la técnica comprenderá que el mismo resultado podría obtenerse preprocesando durante el almacenamiento, modificando la tasa de digitalización y/o los parámetros de direccionamiento.
Cambios significativos en el sincronismo de entrada, por ejemplo el causado por la interrupción de la señal de vídeo, introducirían un pequeño periodo de transición para la estabilización, durante el cual no es probable que el sincronismo sea exacto y la superposición precisa de los límites de bloque no se conseguiría.
Codificar el vídeo utilizando los mismos límites de bloque y reloj de píxel que se utilizaron originalmente en una etapa de codificación anterior garantiza que los límites de bloque no se codifican como datos de imagen. En lugar de ello, son artefactos que se propagan pero no se exacerban durante fases de codificación sucesivas. Como resultado, la codificación de cada bloque implicará predominantemente las mismas componentes de frecuencia tal como se utilizaron en fases de codificación previas. Esto no habría sido posible si la ubicación de la rejilla de límite de bloque hubiese sido aproximada, codificándose los límites de bloque como datos de imagen. Como consecuencia, no es probable que pudiera conseguirse el mismo nivel de compresión. Por lo tanto, el tamaño de un archivo correspondiente a cada imagen aumentaría su tamaño a medida que la imagen se propaga a través de todo el sistema, o en caso de que el ancho de banda esté limitado, el nivel de compresión a medida que la imagen se propaga a través de todo el sistema habría tenido que aumentar regularmente para ajustarse al ancho de banda limitado, deteriorándose la calidad de la imagen entre la fuente y el objetivo.
Debe observarse que las normas MPEG-4 permiten que el tamaño de bloque varíe dentro de una única imagen, según las propiedades de cada región dentro de la imagen. Estos tamaños de bloque variables se disponen encima de la estructura original de bloques MPEG en forma de "quad tree". BED 300 en una realización de este tipo puede adaptarse para identificar bloques de tamaño variable. De manera alternativa, BED 300 puede disponerse simplemente para identificar la estructura de bloques más pequeña dentro de la imagen y alinear los píxeles a los mediante un reloj. El codificador que sigue al BED 300 puede entonces, si es un codificador MPEG-4 u otro codificador similar, imponer una estructura de bloques similar, en virtud de su propio análisis.
Como una realización adicional, para vídeo en movimiento, es posible determinar la estructura de grupo de imágenes (GOP) a partir de la señal de entrada con respecto a si cada imagen analizada se codificó como fotograma-I, fotograma-B o fotograma-P. A diferencia de operar independientemente como en la figura 6, en esta realización el codificador basado en bloques retroalimenta parámetros al detector 300 de borde de límite BED para complementar el análisis de cada imagen.
Los parámetros usados para diferenciar entre los diferentes fotogramas es como sigue: los fotogramas-I serán generalmente de mejor calidad que los fotogramas-P, que a su vez serán generalmente mejores que los fotogramas-B. Los fotogramas-I contienen generalmente una cantidad mayor de contenido de alta frecuencia que los fotogramas-P o los fotogramas-B. Los fotogramas-I se producen con frecuencia a intervalos regulares dentro de la secuencia de GOP, por lo tanto habrá una caída detectable en el ruido de bloque en esta frecuencia, y un aumento en contenido de imagen de alta frecuencia.
Los datos de audio digitalizados (PCM) se procesarían de manera muy similar. Una señal de audio se digitalizaría a la tasa apropiada (fijada o modificada de la misma manera que para procesamiento de vídeo, descrito anteriormente), y el flujo se almacenaría en una matriz de una única dimensión. El análisis se realizaría en los datos almacenados para derivar artefactos de límite de bloque, y los datos alineados de manera apropiada pasarían al codificador de audio para la posterior codificación.
Los otros fotogramas pueden detectarse buscando artefactos a los que se les atribuye movimiento, que existen en fotogramas-B o fotogramas-P, pero no en fotogramas-I. Por ejemplo, el seccionamiento de imágenes puede ser frecuente cuando existe discontinuidad dentro de objetos en movimiento.
La cantidad de ruido de bloque en cada fotograma se mide por el detector 300 de borde de límite BED, el contenido de frecuencia de cada fotograma puede derivarse analizando los coeficientes DCT producidos por el DCT 320 del codificador, y los atributos de movimiento se derivan mediante análisis del patrón de ruido de bloque en una región de interés, analizando una porción de la propia imagen para buscar objetos no consecutivos o analizando los datos de movimiento dentro del compensador 380 de movimiento MC y/o motor 390 de movimiento ME del codificador. Estos atributos se analizan mediante el codificador mejorado frente a cada fotograma, y se utilizan para derivar un patrón que es relativo a la secuencia GOP.
La secuencia GOP derivada se utiliza entonces para establecer la secuencia de GOP para la codificación, o al menos como una referencia para influir en la secuencia GOP (por ejemplo, sincronizar cada duodécimo fotograma-I y permitir que el dispositivo que está controlando el codificador seleccione el resto de la secuencia GOP).
El lector experto comprenderá que son posibles numerosas variaciones dentro del alcance de las reivindicaciones adjuntas. En consecuencia se comprenderá que las realizaciones ilustradas en la presente memoria se presentan como ejemplos para ayudar a la comprensión, y no tienen intención de ser limitativas del alcance de la invención reivindicada.

Claims (18)

1. Método de codificación de datos recibidos desde una fuente (100, 105, 140), en el que la codificación es de un tipo que impone una estructura (200, 210, 220, 230) sobre los datos, estructura que no está definida en los datos cuando se reciben, comprendiendo el método las etapas de:
- analizar (300) los datos recibidos para detectar artefactos contenidos dentro de los datos que indican que los datos han pasado por un proceso (105, 110, 140) de codificación y decodificación previas del mismo tipo;
- extraer mediante el análisis de dichos artefactos información acerca de la estructura impuesta sobre los datos por dicho proceso de codificación previa;
- codificar los datos recibidos mientras que se hace referencia a la información de estructura extraída para alinear al menos algunas características de la estructura impuesta por la codificación que está realizándose con aquellas impuestas por la estructura de codificación previa.
2. Método según la reivindicación 1, en el que los datos recibidos representan una imagen (IV), tal como una imagen recibida a través de un proceso de transmisión (120) o almacenamiento (160) analógicos, la estructura (200, 210, 220, 230) impuesta por el proceso de codificación que incluye una estructura espacial en la que los píxeles de la imagen se procesan en bloques, realizándose la codificación para alinear límites de bloque del proceso de codificación sustancialmente con artefactos de límite de bloque presentes en los datos de imagen recibidos como una consecuencia del proceso de codificación previa.
3. Método según la reivindicación 2, en el que el proceso de codificación es de un tipo que impone una estructura espacial en la que los bloques de píxeles se agrupan en macrobloques, realizándose la codificación para alinear límites de macrobloque del proceso de codificación sustancialmente con artefactos de límite de macrobloque presentes en los datos de imagen recibidos como una consecuencia del proceso de codificación previa.
4. Método según la reivindicación 2 ó 3, en el que los datos de imagen recibidos son una secuencia de imágenes en movimiento de imágenes y la información de estructura utilizada para cada imagen sucesiva se deriva totalmente mediante el análisis (300) de al menos una de las imágenes previas y presentes.
5. Método según cualquiera de las reivindicaciones 2 a 4 anteriores, en el que los datos de imagen recibidos se sobremuestrean cuando se digitalizan (600) inicialmente a partir de una señal analógica.
6. Método según cualquier reivindicación anterior, en el que la codificación se realiza para aplicar sustancialmente la misma estructura GOP a la secuencia tal como se aplicó en el proceso de codificación previa.
7. Método según cualquiera de las reivindicaciones 1 a 5, en el que los datos de imagen recibidos representan una secuencia de imágenes en movimiento, la estructura impuesta por el proceso de codificación es una estructura GOP temporal en la que diferentes imágenes de la secuencia se procesan de manera diferente, realizándose la codificación para aplicar una estructura GOP diferente a, pero asociada temporalmente con, la que se utilizó en el proceso de terminación previo.
8. Método según la reivindicación 6 ó 7, en el que el análisis de artefactos distingue entre imágenes intra e intercodificadas.
9. Método según cualquiera de las reivindicaciones 6, 7 u 8, en el que el análisis de la estructura GOP se realiza analizando varias imágenes almacenadas completamente en una memoria (610, 620).
10. Método según cualquiera de las reivindicaciones 6, 7 y 8, en el que el análisis de artefactos se realiza conservando sólo parámetros de imágenes pasadas, contrariamente a almacenarlos por completo, y analizando la presente imagen con respecto a esos parámetros.
11. Método según cualquier reivindicación anterior, en el que los datos recibidos comprenden datos de audio, incluyendo la estructura impuesta por el proceso de codificación una estructura temporal en la que las muestras de una señal de audio se procesan en bloques, representando cada una un intervalo corto de tiempo, realizándose la codificación para maximizar la alineación de límites de bloque del proceso de codificación sustancialmente con artefactos de límite de bloque presentes en los datos de audio recibidos como una consecuencia del proceso de codificación previa.
12. Método según la reivindicación 11, en el que la existencia y posición de artefactos dentro de los datos de audio se detectan en curso y la etapa de codificación se adapta en curso para maximizar la alineación de los límites de bloque en el tiempo.
13. Método según la reivindicación 11 ó 12, en el que la etapa de análisis incluye un proceso de bucle de bloqueo de fase PLL (Phase-Locked Loop) que se adapta para detectar y entonces bloquear los artefactos de límite de bloque en un flujo de datos continuo.
14. Método según la reivindicación 13, en el que la etapa de codificación incluye un segundo proceso para maximizar la alineación de los límites de bloque del proceso de codificación con los artefactos de límite de bloque detectados gradualmente en el tiempo, para evitar discontinuidades repentinas en la estructura de bloque impuesta por la etapa de codificación.
15. Aparato para codificar datos, adaptado para implementar el método según la invención según cualquier reivindicación anterior.
16. Aparato según la reivindicación 15, que comprende un grabador de vídeo digital o grabador de audio digital.
17. Método de preprocesamiento de datos recibidos desde una fuente (100, 105, 140), para la aplicación posterior a un proceso de codificación que impone una estructura (200, 210, 220, 230) predeterminada sobre los datos, estructura que no está definida en los datos cuando se reciben, comprendiendo el método las etapas de:
- analizar (300) los datos recibidos para detectar artefactos contenidos dentro de los datos que indican que los datos han pasado por un proceso de codificación previa de imponer una estructura que tiene características en común con dicha estructura predeterminada;
- extraer mediante el análisis de dichos artefactos información acerca de la estructura impuesta sobre los datos por dicho proceso de codificación previa;
- procesar (630) los datos recibidos mientras se hace referencia a la información de estructura extraída para alinear al menos algunas características entre la estructura impuesta por el proceso de codificación previa y dicha estructura predeterminada.
18. Producto de programa informático que comprende instrucciones para hacer que un ordenador programable implemente las etapas del método específico de la invención en cualquiera de sus aspectos según cualquiera de las reivindicaciones 1 a 14 y 17.
ES03798272T 2002-09-28 2003-09-12 Metodo y aparato para codificarlos datos de imagen y/o audio. Expired - Lifetime ES2282729T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB0222562 2002-09-28
GBGB0222562.1A GB0222562D0 (en) 2002-09-28 2002-09-28 Method and apparatus for encoding image and or audio data

Publications (1)

Publication Number Publication Date
ES2282729T3 true ES2282729T3 (es) 2007-10-16

Family

ID=9944948

Family Applications (1)

Application Number Title Priority Date Filing Date
ES03798272T Expired - Lifetime ES2282729T3 (es) 2002-09-28 2003-09-12 Metodo y aparato para codificarlos datos de imagen y/o audio.

Country Status (11)

Country Link
US (1) US20050254692A1 (es)
EP (1) EP1547016B1 (es)
JP (1) JP2006500851A (es)
KR (1) KR20050062570A (es)
CN (1) CN1685368A (es)
AT (1) ATE357707T1 (es)
AU (1) AU2003259499A1 (es)
DE (1) DE60312711T2 (es)
ES (1) ES2282729T3 (es)
GB (1) GB0222562D0 (es)
WO (1) WO2004029879A1 (es)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8780957B2 (en) 2005-01-14 2014-07-15 Qualcomm Incorporated Optimal weights for MMSE space-time equalizer of multicode CDMA system
US9197912B2 (en) 2005-03-10 2015-11-24 Qualcomm Incorporated Content classification for multimedia processing
US9955205B2 (en) * 2005-06-10 2018-04-24 Hewlett-Packard Development Company, L.P. Method and system for improving interactive media response systems using visual cues
US8879856B2 (en) * 2005-09-27 2014-11-04 Qualcomm Incorporated Content driven transcoder that orchestrates multimedia transcoding using content information
US8948260B2 (en) 2005-10-17 2015-02-03 Qualcomm Incorporated Adaptive GOP structure in video streaming
US8654848B2 (en) 2005-10-17 2014-02-18 Qualcomm Incorporated Method and apparatus for shot detection in video streaming
US9131164B2 (en) 2006-04-04 2015-09-08 Qualcomm Incorporated Preprocessor method and apparatus
EP2112833B1 (en) 2008-04-24 2014-12-17 Psytechnics Ltd Method and apparatus for measuring blockiness in video images
JP2010206593A (ja) * 2009-03-04 2010-09-16 Sony Corp 画像処理装置、画像処理方法、及びプログラム
US20110038416A1 (en) * 2009-08-14 2011-02-17 Apple Inc. Video coder providing improved visual quality during use of heterogeneous coding modes
CN102104777B (zh) * 2009-12-16 2016-10-05 晨星软件研发(深圳)有限公司 区块边界侦测方法及区块边界侦测装置
US9426477B2 (en) * 2010-02-25 2016-08-23 International Business Machines Corporation Method and apparatus for encoding surveillance video
JP5325164B2 (ja) * 2010-05-25 2013-10-23 日本電信電話株式会社 符号化ブロックサイズ及び位置推定方法並びにプログラム
US9148644B2 (en) * 2012-12-14 2015-09-29 Tektronix, Inc. System for detecting structured artifacts in video sequences
CN103745443B (zh) * 2014-01-10 2017-06-13 北京优纳科技有限公司 提高图像质量的方法和设备
US10587800B2 (en) * 2017-04-10 2020-03-10 Intel Corporation Technology to encode 360 degree video content
US20210127125A1 (en) * 2019-10-23 2021-04-29 Facebook Technologies, Llc Reducing size and power consumption for frame buffers using lossy compression

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6738528B1 (en) * 1998-05-22 2004-05-18 Matsushita Electric Industrial Co., Ltd. Block noise detector and block noise eliminator
JP2001218213A (ja) * 2000-01-31 2001-08-10 Mitsubishi Electric Corp 画像信号変換符号化装置
JP2002014697A (ja) * 2000-06-30 2002-01-18 Hitachi Ltd ディジタルオーディオ装置

Also Published As

Publication number Publication date
JP2006500851A (ja) 2006-01-05
CN1685368A (zh) 2005-10-19
ATE357707T1 (de) 2007-04-15
DE60312711D1 (de) 2007-05-03
AU2003259499A1 (en) 2004-04-19
WO2004029879A1 (en) 2004-04-08
KR20050062570A (ko) 2005-06-23
EP1547016A1 (en) 2005-06-29
DE60312711T2 (de) 2008-04-03
EP1547016B1 (en) 2007-03-21
US20050254692A1 (en) 2005-11-17
GB0222562D0 (en) 2002-11-06

Similar Documents

Publication Publication Date Title
ES2282729T3 (es) Metodo y aparato para codificarlos datos de imagen y/o audio.
KR0134177B1 (ko) 가변장 부호의 기록 재생 장치
KR960010857B1 (ko) 고능률 부호화 기록 재생 장치
KR100447200B1 (ko) Pvr 지원 비디오 디코딩 시스템
KR960002730B1 (ko) 고능률 부호화 신호 처리 장치
JP3603364B2 (ja) ディジタルデータ記録/再生装置及び方法
US20040120403A1 (en) Method and apparatus for altering the picture updating frequency of a compressed video data stream
KR100676093B1 (ko) 비디오 데이터 기록 장치, 비디오 데이터 기록 방법,비디오 데이터 재생 장치, 비디오 데이터 재생 방법,비디오 데이터 기록 및 재생 장치, 및 비디오 데이터 기록및 재생 방법
KR20010022752A (ko) 디지털 비디오 레코더용 트릭 플레이 신호 발생
US8903196B2 (en) Video presentation at fractional speed factor using time domain interpolation
US9185407B2 (en) Displaying audio data and video data
KR100796885B1 (ko) 신호 프로세서
KR100262788B1 (ko) 디지탈 정보 신호 전달 장치 및 방법
JP2940422B2 (ja) 変換符号化された画像データの復号化時に生じるブロック歪の低減方法及び変換符号化された画像データの復号化装置
JP3172643B2 (ja) ディジタル記録再生装置
KR100721267B1 (ko) 데이터 기록 장치, 데이터 기록/재생 장치, 데이터 기록방법, 및 데이터 기록/재생 방법
US6128340A (en) Decoder system with 2.53 frame display buffer
CA2073736C (en) Apparatus and method for recording digital video signals
JP3034172B2 (ja) 画像データ記録再生装置
JP3506504B2 (ja) ディジタル映像信号記録再生装置
KR100252810B1 (ko) 엠펙디코더
US20070165999A1 (en) Coded-data decoding/playback apparatus
JPH08140041A (ja) ディジタル映像信号記録装置および再生装置
KR100268489B1 (ko) 비디오정보기록및재생방법과장치와그에따른디지탈비디오카세트레코더
KR100425136B1 (ko) 비디오 디코딩 시스템