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 PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/007—Transform coding, e.g. discrete cosine transform
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image 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.
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)
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)
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 | ディジタルオーディオ装置 |
-
2002
- 2002-09-28 GB GBGB0222562.1A patent/GB0222562D0/en not_active Ceased
-
2003
- 2003-09-12 US US10/529,355 patent/US20050254692A1/en not_active Abandoned
- 2003-09-12 JP JP2004539292A patent/JP2006500851A/ja not_active Withdrawn
- 2003-09-12 EP EP03798272A patent/EP1547016B1/en not_active Expired - Lifetime
- 2003-09-12 AT AT03798272T patent/ATE357707T1/de not_active IP Right Cessation
- 2003-09-12 ES ES03798272T patent/ES2282729T3/es not_active Expired - Lifetime
- 2003-09-12 AU AU2003259499A patent/AU2003259499A1/en not_active Abandoned
- 2003-09-12 CN CNA038229374A patent/CN1685368A/zh active Pending
- 2003-09-12 WO PCT/IB2003/003969 patent/WO2004029879A1/en active IP Right Grant
- 2003-09-12 KR KR1020057005367A patent/KR20050062570A/ko not_active Application Discontinuation
- 2003-09-12 DE DE60312711T patent/DE60312711T2/de not_active Expired - Fee Related
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) | 비디오 디코딩 시스템 |