ES2197172T3 - Compensacion de movimiento para señales de video digital entrelazado. das. - Google Patents
Compensacion de movimiento para señales de video digital entrelazado. das.Info
- Publication number
- ES2197172T3 ES2197172T3 ES95101754T ES95101754T ES2197172T3 ES 2197172 T3 ES2197172 T3 ES 2197172T3 ES 95101754 T ES95101754 T ES 95101754T ES 95101754 T ES95101754 T ES 95101754T ES 2197172 T3 ES2197172 T3 ES 2197172T3
- Authority
- ES
- Spain
- Prior art keywords
- field
- frame
- motion
- blocks
- video
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/577—Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/223—Analysis of motion using block-matching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/112—Selection of coding mode or of prediction mode according to a given display mode, e.g. for interlaced or progressive display mode
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
Abstract
SE PRESENTA UN METODO Y UN APARATO PARA LA CODIFICACION COMPENSADA DEL MOVIMIENTO DE SEÑALES DE VIDEO, DIGITALES, ENTRELAZADAS. SE OBTIENE UNA PRIMERA SEÑAL DE PREDICCION DE ERROR (74) INDICATIVA DE LA DIFERENCIA ENTRE UNA PARTE ACTUAL DE UN CAMPO DE UNA TOMA DE VIDEO ACTUAL Y UNA PRIMERA PARTE SIMILARMENTE SITUADA EN EL MISMO CAMPO DE UNA TOMA DE VIDEO ANTERIOR. SE OBTIENE UNA SEGUNDA SEÑAL DE PREDICCION DE ERROR (76) INDICATIVA DE LA DIFERENCIA ENTRE LA PARTE ACTUAL Y LA SEGUNDA PARTE SIMILARMENTE SITUADA EN UN CAMPO OPUESTO DE LA TOMA DE VIDEO ANTERIOR. SE OBTIENE UNA TERCERA SEÑAL DE PREDICCION DE ERROR (78) INDICATIVA DE LA DIFERENCIA ENTRE LA PARTE ACTUAL Y UNA MEDIA DE LA PRIMERA Y SEGUNDA PARTES. UNA DE ENTRE LA PRIMERA Y LA SEGUNDA SEÑAL DE PREDICCION DE ERROR SE SELECCIONA (80) PARA REPRESENTAR LA PARTE ACTUAL. SE SUMINISTRA UNA INFORMACION DE VECTOR DE MOVIMIENTO (72) PARA HACER POSIBLE QUE LA PARTE DE LA TOMA ACTUAL CON LA QUE SE CORRESPONDE LA SEÑAL DE PREDICCION DE ERROR SELECCIONADA SEA REPRODUCIDA POR UN DESCODIFICADOR.
Description
Compensación de movimiento para señales de vídeo
digital entrelazado.
La presente invención trata de la compresión de
datos digitales, y más concretamente, de un procedimiento y un
aparato que proporcionan compensación de movimiento a una señal de
vídeo digital entrelazado, como por ejemplo, una señal de
televisión.
La transmisión digital de señales de televisión
puede proporcionar servicios de audio y vídeo de una calidad mucho
mayor que las técnicas analógicas anteriores. Los esquemas de
transmisión digital son particularmente ventajosos para las señales
difundidas por satélite a los abonados de televisión por cable o
directamente a los receptores particulares de televisión por
satélite. También pueden transmitirse dichas señales mediante una
red de televisión por cable.
En cualquier sistema de televisión digital hay
que transmitir una cantidad importante de datos digitales. Eso es
especialmente cierto para la televisión de alta definición
(``HDTV''). En un sistema de televisión digital, un abonado recibe
los datos digitales mediante un receptor/desaleatorizador que
proporciona al abonado el vídeo, audio y datos. Para usar más
eficazmente el espectro de radiofrecuencia disponible, resulta
beneficioso comprimir las señales de televisión digital para
minimizar la cantidad de datos que es necesario transmitir.
La porción de vídeo de una señal de televisión
comprende una secuencia de ``cuadros'' de vídeo que forman la imagen
en movimiento. En. los sistemas de televisión digital, cada línea de
un cuadro de vídeo se define mediante una secuencia de bits de datos
digitales llamados ``píxeles''. Se necesita una gran cantidad de
datos para definir cada cuadro de vídeo de una señal de televisión.
Para manejar esta cantidad de datos, en particular para las
aplicaciones HDTV, hay que comprimir los datos.
Las técnicas de compresión de vídeo permiten la
transmisión eficaz de señales de vídeo digital por los canales de
comunicación convencionales. Dichas técnicas usan unos algoritmos de
compresión que aprovechan la correlación entre los píxeles
adyacentes para extraer una representación más eficaz de la
información importante de una señal de vídeo. Los sistemas de
compresión más avanzados no sólo aprovechan la correlación espacial,
sino que también usan similitudes entre los cuadros adyacentes para
compactar los datos todavía más. En dichos sistemas, se usa la
codificación diferencial para transmitir sólo la diferencia entre un
cuadro actual y una predicción del cuadro actual. La predicción se
basa en la información extraída de un cuadro anterior de la misma
secuencia de vídeo. Pueden encontrarse ejemplos de dichos sistemas
en las patentes de Estados Unidos de Graus y col. 5.068.724,
5.091.782 y 5.093.720 que tratan de varios esquemas de compensación
de movimiento para vídeo digital.
En los sistemas de compensación de movimiento del
tipo descrito en las patentes referenciadas, los vectores de
movimiento se extraen comparando una porción (es decir, un bloque)
de datos de píxeles de un campo de un cuadro actual con las
porciones similares del cuadro anterior. Un estimador de movimiento
determina el ajuste necesario del vector de movimiento
correspondiente en el cuadro anterior para poder usarlo en el campo
actual. Dichos sistemas con muy eficaces en la reducción de la
cantidad de datos que hay que transmitir, sobre todo cuando la
fuente vídeo es un formato de barrido progresivo. Sin embargo,
cuando se aplican al vídeo entrelazado en el que las líneas
numeradas pares e impares de una imagen se transmiten
consecutivamente como dos campos separados intercalados, la eficacia
de las técnicas existentes de compensación de movimiento se reduce
notablemente.
El documento
EP-A-0526163 describe un
procedimiento de codificación de imágenes que comprende los pasos de
compensar un movimiento de señales de reproducción de N (siendo un
entero igual a o mayor que 2) cuadros posicionados antes de
codificar un cuadro para obtener unas señales de predicción 1 a N,
determinar una combinación lineal de las señales de predicción 1 a N
para obtener una señal de predicción, y codificar una diferencia
entre el cuadro que se va a codificar y la señal de predicción.
El documento
EP-A-0538834 describe un sistema de
codificación adaptativo de bloque de imágenes para codificar una
señal de imagen de entrada obtenida por un barrido entrelazado en
unidades de bloques de N píxeles x N líneas.
El borrador de documento ``Grand Alliance HDTV
System Specification'', presentado ante el ACATS Technical Subgroup,
el 22 de febrero de 1994, reimpreso a partir de las actas del
congreso anual de ingeniería de la radiodifusión, celebrada en Las
Vegas del 20 al 24 de marzo de 1994, nº congreso 48, 22 de febrero
de 1994, National Association of Broadcasters (NAB), páginas 12 a
17, describe un procedimiento de estimación y compensación de
movimiento.
El documento
WO-A-92/10061 describe un sistema de
codificación predictivo interpolativo multimodo de campos de vídeo y
un sistema de decodificación de campos de vídeo.
El objeto subyacente de la presente invención es
proporcionar un sistema de compensación de movimiento para señales
de vídeo digital entrelazado con el que puede conseguirse una mayor
compresión de datos.
La presente invención proporciona dicho sistema
de acuerdo con el objeto de las reivindicaciones independientes 1 y
9.
Se explican realizaciones adicionales en las
reivindicaciones dependientes.
Según la presente invención, se proporciona un
procedimiento de codificación del movimiento compensado de señales
de vídeo digital. Las señales de vídeo digital definen unos cuadros
sucesivos de datos de vídeo entrelazado. Se obtiene una primera
señal de error de predicción indicativa de la diferencia entre una
porción actual de un campo de un cuadro actual de vídeo y una
primera porción situada de forma similar en el campo idéntico de un
cuadro anterior de vídeo. Se obtiene una segunda señal de error de
predicción indicativa de la diferencia entre la porción actual y una
porción situada de forma similar en un campo opuesto del cuadro
anterior de vídeo. Se obtiene una tercera señal de error de
predicción que es indicativa de la diferencia entre la porción
actual y un promedio de las porciones primera y segunda. Se
selecciona una de las señales de error de predicción primera,
segunda o tercera para representar la porción actual.
Puede proporcionarse una información del vector
de movimiento para permitir que un decodificador reproduzca la
porción del cuadro actual al que se corresponde la señal de error de
predicción seleccionada. En un sistema práctico, cada una de las
primera, segunda y tercera señales de error de predicción se
obtienen de una pluralidad de porciones en el cuadro actual de
vídeo. Para conseguirlo, un campo impar del cuadro actual de vídeo
se subdivide en porciones de datos de píxeles de campo impar. El
campo par del cuadro actual de vídeo se subdivide en porciones de
datos de píxeles del campo par. Cada porción de datos de píxeles del
cuadro actual se compara con unas porciones situadas de forma
similar en los campos pares e impares del cuadro anterior de vídeo
para encontrar el equivalente preferido F de cuadro anterior y campo
idéntico y un equivalente preferido G de cuadro anterior y campo
opuesto para cada porción del cuadro actual. La primera señal de
error de predicción para cada porción del cuadro actual es
indicativa de la diferencia entre la porción y su equivalente F. La
segunda señal de error de predicción para cada porción del cuadro
actual es indicativa de la diferencia entre la porción y su
equivalente G. La tercera señal de error de predicción para cada
porción del cuadro actual es indicativa de la diferencia entre la
porción y el promedio de sus equivalentes F y G.
La señal de error de predicción seleccionada para
cada porción del cuadro actual puede codificarse con unos datos
indicativos de la ubicación en el cuadro anterior de vídeo del
equivalente F cuando se selecciona la primera señal de error de
predicción. Cuando se selecciona la segunda señal de error de
predicción, la señal de error de predicción seleccionada se codifica
con unos datos indicativos de la ubicación en el cuadro anterior de
vídeo del equivalente G. Cuando se selecciona la tercera señal de
error de predicción, ésta se codifica con unos datos indicativos de
la ubicación en el cuadro anterior de vídeo de los equivalentes F y
G. Los datos codificadores pueden comprender la información del
identificador de campo y los vectores de movimiento.
En una forma algo diferente, la puesta en
práctica ``modo cuadro'', cada una de las primera, segunda y tercera
señales de error de predicción se obtienen de una pluralidad de
porciones en el cuadro actual de vídeo definido por unos pares de
bloques que tienen datos de píxeles de los campos pares e impares.
Específicamente, el cuadro actual de vídeo se subdivide en pares de
bloques de datos de píxeles de los campos pares e impares. Los datos
de píxeles de los campos pares e impares de cada par de bloque del
cuadro actual de vídeo se comparan con los datos de píxeles de los
campos pares e impares, respectivamente, situados de forma similar
en el cuadro anterior de vídeo para encontrar un equivalente
preferido F de cuadro anterior y campo idéntico para cada par de
bloque del cuadro actual. Los datos de píxeles de los campos pares e
impares de cada par de bloque del cuadro actual de vídeo también se
comparan con los datos de píxeles de los campos pares e impares,
respectivamente, situados de forma similar en el cuadro anterior de
vídeo para encontrar un equivalente preferido G cuadro anterior y
campo opuesto para cada par de bloque del cuadro actual. La primera
señal de error de predicción para cada par de bloque del cuadro
actual es indicativa de la diferencia entre el par de bloque y su
equivalente F. La segunda señal de error de predicción para cada par
de bloque del cuadro actual es indicativa de la diferencia entre el
par de bloque y su equivalente G. La tercera señal de error de
predicción para cada par de bloque del cuadro actual es indicativa
de la diferencia entre el bloque y el promedio de los equivalentes F
y G para dicho par de bloque.
La señal de error de predicción seleccionada para
cada par de bloque del cuadro actual se codifica con unos datos
indicativos de la ubicación en el cuadro anterior de vídeo del
equivalente F cuando se selecciona la primera señal de error de
predicción, del equivalente G cuando se selecciona la segunda señal
de error de predicción, y de los equivalentes F y G cuando se
selecciona la tercera señal de error de predicción. La codificación
de los datos comprende información del identificador de campo y
vectores de movimiento.
También se proporciona un procedimiento de
codificación de movimiento compensado de los datos de vídeo digital
en el que se comparan los procesamientos del modo campo y del modo
cuadro. Un cuadro actual de vídeo se subdivide en pares de bloques
de datos de píxeles de los campos pares e impares. Los datos de
píxeles de los campos pares e impares de cada par de bloque del
cuadro actual de vídeo se comparan con los datos de píxeles de los
campos pares e impares, respectivamente, situados de forma similar
en el cuadro anterior de vídeo para encontrar el equivalente
preferido F de cuadro anterior y campo idéntico para cada par de
bloque del cuadro actual, comprendiendo la diferencia entre el par
de bloque del cuadro actual y su equivalente F una primera señal de
error de predicción del modo cuadro. Los datos de píxeles de los
campos pares e impares de cada par de bloque del cuadro actual de
vídeo se comparan con los datos de píxeles de los campos pares e
impares, respectivamente, situados de forma similar en el cuadro
anterior de vídeo para encontrar un equivalente preferido G de
cuadro anterior y campo opuesto para cada par de bloque del cuadro
actual, comprendiendo la diferencia entre el par de bloque del
cuadro actual y su equivalente G una segunda señal de error de
predicción del modo cuadro. Los datos de píxeles de cada par de
bloque se comparan con el promedio de los equivalentes F y G para
dicho par de bloque, comprendiendo la diferencia una tercera señal
de error de predicción del modo cuadro. Se selecciona una de las
señales de error de predicción primera, segunda o tercera del modo
cuadro como la señal de error de predicción preferida del modo
cuadro. Los datos de píxeles del campo impar de cada par de bloque
del cuadro actual se comparan con los datos de píxeles del campo
impar situados de forma similar en el cuadro anterior de vídeo para
encontrar un equivalente preferido F1 para el cuadro anterior y
campo idéntico para los datos de píxeles del campo impar del par de
bloque del cuadro actual. La diferencia entre los datos de píxeles
del campo impar del par de bloque del cuadro actual y su equivalente
F1 comprende una primera señal de error de predicción del modo
campo. Los datos de píxeles del campo impar de cada par de bloque
del cuadro actual se comparan con los datos de píxeles del campo par
situados de forma similar en dicho cuadro anterior de vídeo para
encontrar un equivalente preferido G1 del cuadro anterior y campo
opuesto para los datos de píxeles del campo impar del par de bloque
del cuadro actual. La diferencia entre los datos de píxeles del
campo impar del par de bloque del cuadro actual y su equivalente G1
comprende una segunda señal de error de predicción del modo campo.
Los datos de píxeles del campo par de cada par de bloque del cuadro
actual se comparan con los datos de píxeles del campo par situados
de forma similar en el cuadro anterior de vídeo para encontrar un
equivalente preferido F2 del cuadro anterior y campo idéntico para
los datos de pixeles del campo par del par de bloque del cuadro
actual. La diferencia entre los datos de píxeles del campo par del
par de bloque del cuadro actual y su equivalente F2 comprende una
tercera señal de error de predicción del modo campo. Los datos de
píxeles del campo par de cada par de bloque del cuadro actual se
comparan con los datos de píxeles del campo impar situados de forma
similar en el cuadro anterior de vídeo para encontrar un equivalente
preferido G2 del cuadro anterior y campo opuesto para los datos de
píxeles del campo par del par de bloque del cuadro actual.. La
diferencia entre los datos de píxeles del campo par del par de
bloque del cuadro actual y su equivalente G2 comprende una cuarta
señal de error de predicción del modo campo.
Los datos de pixeles del campo impar de cada par
de bloque del cuadro actual se comparan con el promedio de los
equivalentes F1 y G1 para obtener una quinta señal de error de
predicción del modo campo. Los datos de píxeles del campo par de
cada par de bloque del cuadro actual se comparan con el promedio de
los equivalentes F2 y G2 para obtener una sexta señal de error de
predicción del modo campo.
Se selecciona una de las señales de error de
predicción del modo campo primera, segunda o quinta como la señal de
error de predicción preferida del modo campo impar. Se selecciona
una de las señales de error de predicción del modo campo tercera,
cuarta o sexta como la señal de error de predicción preferida del
modo campo par. Se seleccionan la señal de error de predicción
preferida del modo cuadro o las señales de error de predicción
preferidas del modo campo par e impar para representar un par de
bloque actual.
La información del vector de movimiento se
proporciona para permitir que se reconstruya el par de bloque actual
en un decodificador. La información del vector de movimiento incluye
al menos uno de los vectores de movimiento F y G cuando se
selecciona la señal de error de predicción preferida del modo cuadro
para representar el par de bloque actual. Cuando se seleccionan las
señales de error de predicción preferidas del modo campo par e impar
para representar el par de bloque actual, al menos uno de los
vectores de movimiento F1 y G1 y al menos uno de los vectores de
movimiento F2 y G2 se incluyen en la información del vector de
movimiento. En una realización preferida, los vectores de movimiento
G, G1 Y G2 corresponden a los equivalentes de campo opuestos G, G1 Y
G2, respectivamente, y se escalan para justificar una diferencia en
la distancia que resulta de usar una comparación del bloque de
campos opuestos en lugar de una comparación del bloque de campos
idénticos. Cada uno de los vectores de movimiento F, F1 Y F2 y de
los vectores de movimiento escalados G, G1 Y G2 incluidos en la
información del vector de movimiento para un par de bloque actual se
codifica diferencialmente con un vector de movimiento anterior
correspondiente para la transmisión con el par de bloque actual.
La selección de la señal de error de predicción
para usarla en cada par de bloque puede basarse en la elección que
minimizaría los datos que es necesario transmitir para permitir que
un decodificador reproduzca el par de bloque actual. Pueden
encontrarse los equivalentes F y G minimizando la suma de la
magnitud de los errores de los campos pares e impares entre el par
de bloque actual y los datos de píxeles situados de forma similar en
el cuadro anterior de vídeo.
En una realización más general, se proporciona un
procedimiento de codificación de movimiento compensado de cuadros
entrelazados de datos de vídeo digital. Un cuadro actual de vídeo se
subdivide en pares de bloques, comprendiendo cada par de bloque un
bloque de datos de píxeles de campo impar y un bloque de datos de
píxeles de campo par. Los pares de bloques del cuadro actual de
vídeo se comparan con los pares de bloques situados de forma similar
en un cuadro anterior de vídeo usando un procesamiento de cuadro
para obtener, para cada par de bloque actual, una señal de error de
predicción preferida del modo cuadro basada en la consideración de
unas comparaciones del par de bloque del campo idéntico, unas
comparaciones del par de bloque del campo opuesto y un promedio de
las comparaciones del par de bloque del campo idéntico y opuesto.
Los bloques de datos de píxeles de los campos pares e impares que
forman los pares de bloques del cuadro actual de vídeo se comparan
con los bloques del cuadro anterior de vídeo situados de forma
similar usando un procesamiento de campo para obtener, para cada uno
de los bloques de datos de píxeles de los campos pares e impares,
una señal de error de predicción preferida del modo campo basada en
la consideración de unas comparaciones del bloque del campo
idéntico, unas comparaciones del bloque del campo opuesto, y un
promedio de las comparaciones del bloque del campo idéntico y campo
opuesto. Para cada par de bloque actual, se selecciona la señal de
error de predicción preferida del modo cuadro o las señales de error
de predicción preferidas del modo par e impar asociadas a dicho par
de bloque.
Se proporciona un aparato codificador según la
invención para la codificación de movimiento compensado de las
señales de vídeo digital entrelazado, en las que los sucesivos
campos entrelazados de datos de píxeles pares e impares forman unos
cuadros sucesivos de vídeo. Se proporcionan unos módulos para
subdividir los cuadros en pares de bloques, conteniendo cada uno un
bloque de datos de píxeles de campo impar y un bloque de datos de
píxeles de campo par. Se proporciona un módulo para almacenar los
bloques a partir de al menos tres campos sucesivos para usarlos en
la generación de unas señales de error de predicción indicativas de
la diferencia entre los bloques pares e impares de cada par de
bloque de un cuadro actual y los datos de predicción de campo
idéntico y campo opuesto situados de forma similar en un cuadro
anterior. Se proporciona un módulo para almacenar los bloque de al
menos tres campos sucesivos usados en la generación de las señales
de error de predicción indicativas de la diferencia entre los
bloques pares e impares de cada par de bloque de un cuadro actual y
los datos de predicción de campo opuesto y campo idéntico situados
de forma similar en un cuadro anterior. Se proporciona un módulo
para seleccionar una señal de error de predicción preferida del modo
campo para cada bloque de los pares de bloques del cuadro actual a
partir de un error de predicción de campo idéntico, un error de
predicción de campo opuesto, y un error de predicción basado en un
promedio de los datos de predicción de campo idéntico y campo
opuesto para el bloque. Se selecciona una señal de error de
predicción preferida del modo cuadro para cada par de bloque del
cuadro actual a partir de un error de predicción de campo idéntico,
un error de predicción de campo opuesto, y un error de predicción
basado en un promedio de los datos de predicción de campo idéntico y
campo opuesto para el par de bloque. Se proporciona un módulo para
seleccionar las señales de error de predicción preferida del modo
campo o la señal de error de predicción preferida del modo cuadro
para representar el correspondiente par de bloque.
El aparato codificador puede incluir un módulo
que proporciona un vector de movimiento para cada uno de los errores
de predicción de campo idéntico y campo opuesto de los bloques par e
impar y para cada uno de los errores de predicción de campo idéntico
y campo opuesto de los pares de bloques. Se proporciona un módulo
para extraer los vectores de movimiento correspondientes a las
señales de error de predicción seleccionadas por el módulo selector.
También se proporciona un módulo en el aparato codificador para
escalar los vectores de movimiento asociados a los errores de
predicción de campo opuesto para justificar una diferencia en la
distancia que resulta de usar una comparación del bloque de campo
opuesto en lugar de una comparación del bloque de campo idéntico. Se
proporciona un módulo para codificar diferencialmente los vectores
de movimiento sucesivos con los vectores de movimiento
inmediatamente anteriores para unas señales de error de predicción
sucesivas seleccionadas por el módulo selector.
El módulo que selecciona las señales de error de
predicción del modo cuadro y modo campo en el aparato codificador
puede comprender un primer y segundo módulos estimadores de
movimiento. El primer módulo estimador de movimiento está conectado
para recibir los bloques pares del cuadro actual para compararlos
con los bloques de campo par situados de forma similar y está
conectado para recibir los bloques impares del cuadro actual para
compararlos con los bloques de campo par situados de forma similar.
El primer estimador de movimiento suministra las predicciones de
campo idéntico y bloque par F2 y los vectores del movimiento
F2_{v} para cada bloque par del cuadro actual, y suministra las
predicciones de campo opuesto y bloque impar G1 y los vectores del
movimiento G1_{v} para cada bloque impar del cuadro actual. El
segundo estimador de movimiento está conectado para recibir los
bloques impares del cuadro actual para compararlos con los bloques
de campo impar anteriores situados de forma similar y está conectado
para recibir los bloques pares del cuadro actual para compararlos
con los bloques de campo impar anteriores situados de forma similar.
El segundo estimador de movimiento suministra las predicciones de
campo idéntico y bloque impar F1 y los vectores del movimiento
F1_{v} para cada una de las predicciones de campo opuesto de
bloque par y bloque impar del cuadro actual G2 y los vectores de
movimiento G2_{v} para cada bloque par del cuadro actual. Se
proporciona un módulo para comprobar cada una de las predicciones
F1, F2, G1 y G2 para cada bloque de cuadro actual con un criterio
para obtener el error de predicción de campo idéntico del modo campo
y el error de predicción de campo opuesto del modo campo para cada
bloque. Se proporciona un módulo para promediar los bloques de los
campos pares e impares anteriores, respectivamente, usados para
obtener las predicciones F1 y F2 para proporcionar las predicciones
F a los pares de bloques y para promediar los bloques de los campos
pares e impares anteriores, respectivamente, usados para obtener las
predicciones G1 y G2 para proporcionar las predicciones G a los
pares de bloques. Se promedian las predicciones F y G para
proporcionar los errores de predicción F/G a los pares de bloques.
Se proporciona un módulo para comprobar cada una de las predicciones
F, G y F/G para cada par de bloque del cuadro actual con un criterio
para obtener dicho error de predicción de campo idéntico del modo
cuadro, dicho error de predicción de campo opuesto del modo cuadro y
dicho error de predicción basado en el promediado para cada par de
bloque.
El aparato codificador puede incluir además un
módulo para escalar los vectores de movimiento G1_{v} Y G2_{v}
para justificar una diferencia en la distancia que resulta de usar
una comparación de bloque del campo opuesto en lugar de una
comparación de bloque del campo idéntico durante la obtención de las
predicciones de campo opuesto G1, G2 y G.
Un aparato decodificador decodifica las señales
de vídeo digital entrelazado de movimiento compensado. El módulo de
memoria almacena los datos de píxeles de los campos pares e impares
para un primer cuadro de vídeo. Se proporciona un módulo para
recibir los datos de píxeles de movimiento compensado de unas
porciones de los campos pares e impares de un segundo cuadro de
vídeo junto con el vector de movimiento y la información del modo de
compensación de movimiento de dichas porciones. La información del
vector de movimiento identifica los datos de pixeles en el campo
idéntico o en el campo opuesto del primer cuadro de vídeo almacenado
que es necesario para reconstruir el segundo cuadro de vídeo a
partir de los datos de píxeles de movimiento compensado recibidos.
Un primer módulo compensador de movimiento es sensible a la
información recibida del vector de movimiento del campo idéntico
para recuperar los datos de píxeles desde el campo idéntico del
primer cuadro de vídeo almacenado como una porción del segundo
cuadro de vídeo que se está procesando. Un segundo módulo
compensador de movimiento es sensible a la información recibida del
vector de movimiento del campo opuesto para recuperar los datos de
píxeles a partir del campo opuesto del primer cuadro de vídeo como
una porción del segundo cuadro de vídeo que se está procesando. Se
proporciona un módulo sensible a la información del modo de
compensación de movimiento que combina los datos de píxeles
recibidos de movimiento compensado con los datos de píxeles
recuperados por el primer módulo compensador de movimiento, con los
datos de píxeles recuperados por el segundo módulo compensador de
movimiento, o con un promedio de los datos de píxeles recuperados
por el primer y segundo módulos compensadores de movimiento. Los
datos combinados se usan para reconstruir el segundo cuadro de
vídeo.
La figura 1 es una ilustración esquemática de un
esquema de predicción de movimiento del modo campo de la técnica
anterior;
La figura 2 es una ilustración esquemática de
otro esquema de predicción de movimiento del modo campo de la
técnica anterior;
La figura 3 es una ilustración esquemática de un
esquema de predicción de movimiento del modo cuadro de la técnica
anterior;
La figura 4 es una ilustración esquemática de un
esquema de predicción de movimiento del modo cuadro según la
presente invención;
La figura 5 es una ilustración esquemática de un
esquema de predicción de movimiento del modo campo usando una
estructura de cuadro según la presente invención;
La figura 6 es una ilustración esquemática de un
esquema de predicción de movimiento del modo campo según la presente
invención que usa una estructura de campo en lugar de la estructura
de cuadro;
La figura 7 es un diagrama de bloque de un
aparato codificador según la presente invención;
La figura 8 es un diagrama de bloque detallado de
la porción del estimador de movimiento del codificador de la figura
7;
La figura 9 es una ilustración esquemática de los
acumuladores usados en el estimador de movimiento de la figura 8;
y
La figura 10 es un diagrama de bloque de un
decodificador según la presente invención.
En el pasado, se ha aplicado la compensación de
movimiento para las señales de vídeo entrelazado usando la
predicción de movimiento del modo campo o la predicción de
movimiento del modo cuadro. En la figura 1 se ilustra una forma de
predicción de movimiento del modo campo. En esta técnica anterior,
los campos anteriores uno y dos se usan para predecir el contenido
de vídeo de los campos actuales tres y cuatro. La predicción para el
campo tres se extrae del campo uno, indicado por el vector 10, o del
campo dos, indicado por el vector 12. De manera parecida, la
predicción para el campo cuatro se extrae del campo dos, indicado
por el vector 14, o del campo tres, indicado por el vector 16. Como
existe un desplazamiento vertical entre las líneas de campos
adyacentes debido a la naturaleza inherente del vídeo entrelazado,
resulta beneficioso considerar los dos campos más recientes para
predecir un nuevo campo actual. El campo más reciente que
proporciona la predicción más precisa del campo actual es el que se
selecciona para proporcionar una señal de error de predicción para
la transmisión.
En la figura 2 se ilustra una segunda forma de la
predicción de movimiento del modo campo de la técnica anterior, y es
el modo más comúnmente usado cuando la compresión se aplica a
cuadros en lugar de campos de datos de vídeo. En esta realización,
los campos uno y dos representan un único cuadro ``anterior'' y los
campo tres y cuatro representan un único cuadro ``actual''. Como
ambos campos del cuadro actual se comprimen simultáneamente, no es
posible usar el campo tres para predecir el campo cuatro, como se
hizo en la realización ilustrada en la figura 1. Por tanto, en la
realización de la figura 2, se usa el campo 1 o el campo 2 para
realizar la predicción de los campos tres y cuatro. De esta manera,
se predice el campo tres a partir del campo uno, indicado por el
vector 20, o a partir del campo dos, indicado por el vector 22. De
manera parecida, se predice el campo cuatro usando el vector 24 a
partir del campo uno o el vector 26 del campo dos.
Como el intervalo de tiempo entre el campo de
predicción y el campo actual es mayor para el vector 24 en la
realización de la figura 2 que para el vector 16 de la realización
de la figura 1, la predicción será ligeramente menos precisa. Sin
embargo, esto se puede compensar normalmente con la eficacia
incrementada de la compresión del modo cuadro comparada con el
esquema de compresión estrictamente del modo de campo ilustrado en
la figura 1.
En la figura 3 se ilustra un ejemplo de una
compensación de movimiento anteriormente conocida del modo cuadro.
En esta realización, se usa un único vector de movimiento para
predecir tanto el campo tres como el campo cuatro a partir de los
campos uno y/o dos. El vector de movimiento seleccionado es el que
minimiza la suma del error de predicción del campo tres y el error
de predicción del campo cuatro. Dependiendo del vector de movimiento
seleccionado, ocurrirá una de las dos posibilidades. Cualquiera de
los campos uno y dos, o los campos dos y uno predecirán los campos
tres y cuatro, respectivamente. En la práctica, la segunda
posibilidad es más improbable que ocurra porque el intervalo de
tiempo entre los campos uno y cuatro es mucho mayor que el intervalo
de tiempo entre los campos dos y tres. Por tanto, si la velocidad de
movimiento es constante, el vector de movimiento usado para predecir
el campo cuatro debe ser proporcionalmente mayor que el usado para
predecir el campo tres. Este es uno de los problemas con los
sistemas de compensación de movimiento del modo cuadro
existentes.
La presente invención supera los defectos de los
sistemas de compensación de movimiento de la técnica anterior usados
para el vídeo entrelazado, y se aplica tanto al procesamiento del
modo cuadro como al del modo campo. En la figura 4 se ilustra la
compensación de movimiento del modo cuadro según la presente
invención. Cuando se usa la compensación de movimiento del modo
cuadro, hay que calcular dos vectores de movimiento. El primero es
el vector de movimiento de ``campo idéntico'' (F1 o F2) usado para
predecir el campo uno de un cuadro actual a partir del campo uno de
un cuadro anterior (F1) o para predecir el campo dos del cuadro
actual a partir del campo dos del cuadro anterior (F2). El otro
vector de movimiento se indica como vector de movimiento de ``campo
opuesto'' (G1 o G2) que se usa para predecir el campo uno del cuadro
actual a partir del campo dos del cuadro anterior (G1) o para
predecir el campo dos del cuadro actual a partir del campo uno del
cuadro anterior (G2).
En la figura 4 puede verse que el vector de
movimiento 40 (F1) es igual al vector de movimiento 44 (F2) y que el
vector de movimiento 42 (G1) es igual al vector de movimiento 46
(G2) excepto que G1 y G2 están escalados para justificar la
diferencia en la distancia entre los campos correspondientes. En
concreto, 2(G1)=2(G2)/3. El vector de campo idéntico
F1 o F2 y el vector de campo opuesto G1 o G2 se calculan para
minimizar la suma del error de predicción del campo uno y el error
de predicción del campo dos para el cuadro actual. A continuación,
se toma la decisión de usar el vector de campo idéntico (F1, F2), el
vector de campo opuesto (2G1, (2/3)G2), o ambos. Si se usan
tanto los vectores de campo idéntico como opuesto, entonces las
predicciones de campo idéntico y de campo opuesto realizadas a
partir del cuadro anterior se promedian antes de realizar las
diferencias con el cuadro actual. Obsérvese que se promedian las dos
predicciones a partir del cuadro anterior, no los vectores.
Según la presente invención, se usan dos esquemas
de predicción de movimiento del modo campo. En el primero, ilustrado
en la figura 5, se usa una estructura de cuadro en donde se comparan
unas porción de datos de píxeles de los campos pares e impares (es
decir, un ``par de bloque'' que comprende un bloque de datos de
campo impar y un bloque de datos de campo par) del cuadro actual con
las porciones par e impar situadas de forma similar del cuadro
anterior. Esto se indica como la compensación de movimiento del modo
campo usando una estructura de cuadro. En el segundo esquema, las
porciones pares y las porciones impares individuales del cuadro
actual se comparan con las porciones situadas de forma similar en
los campos pares e impares del cuadro anterior. Esto se indica como
la compensación de movimiento del modo campo usando una estructura
de campo.
En la compensación de movimiento del modo campo,
los vectores de movimiento de campo idéntico y campo opuesto se
generan de forma independiente para el campo uno y para el campo dos
del cuadro actual. Como se muestra en la figura 5, el vector 52 (F1)
puede diferir del vector 56 (F2). De manera parecida, el vector 50
(G1) puede diferir del vector 54 (G2). La decisión de usar los
vectores de campo idéntico o de campo opuesto se determina de forma
independiente para los dos campos. En otras palabras, la predicción
para el campo uno se obtiene usando F1, G1, o promediando las
predicciones asociadas a los vectores F1 y G1. De manera parecida,
para el campo dos se obtiene usando F2, G2, o un promedio de las
predicciones asociadas a los vectores E2 y G2.
Como ejemplo, la predicción para una porción 51
del campo uno del cuadro actual ilustrado en la figura 5 puede
obtenerse comparando los datos de vídeo contenidos en la porción 51
con los datos de vídeo situados de forma similar en el campo uno del
cuadro anterior (tal y como indica el vector de movimiento 52) o
comparando los datos de vídeo de la porción 51 del campo uno del
cuadro actual con los datos de vídeo situados de forma similar en el
campo dos del cuadro anterior (tal y como indica el vector de
movimiento 50). Alternativamente, la mejor predicción puede resultar
de comparar los datos de vídeo de la porción 51 del cuadro actual
con un promedio de los datos de vídeo que forman las mejores
predicciones individuales en el campo uno y en el campo dos del
cuadro anterior. En este caso, los datos de vídeo en el campo uno
del cuadro anterior correspondientes al vector de movimiento 52 se
promedian con los datos de vídeo del campo dos del cuadro anterior
correspondientes al vector de movimiento 50. El promedio de estos
datos se compara con los datos de vídeo contenidos en la porción 51
del cuadro actual. A continuación, se toma la decisión de si se
minimiza el error de predicción (es decir, la diferencia entre la
porción 51 y los datos F1, G1 o F1/G1 promediado a partir del cuadro
anterior) usando las opciones F1, G1 o F1/G1. La selección de la
señal de error de predicción puede realizarse basándose en la que
proporciona el mínimo error cuadrático medio o el error absoluto
mínimo.
En la puesta en práctica del modo campo de la
estructura de campo ilustrada en la figura 6, las imágenes no se
estructuran en cuadros. En este caso, el vector de movimiento 64
(G2) puede indicar el vector usado para predecir el campo dos del
cuadro actual a partir del campo uno del cuadro actual. Los
restantes vectores de la realización de la figura 6 son idénticos a
los de la realización de la figura 5. Concretamente, el vector 60
(G1) es igual al vector 50, el vector 62 (F1) es igual al vector 52,
y el vector 66 (F2) es igual al vector 56.
Con referencia a la figura 7, se proporciona un
diagrama de bloque de un codificador que pone en práctica la
presente invención. Los datos de vídeo que se van a codificar se
introducen en un terminal 70. Normalmente, los datos de vídeo se
procesan en formato de bloque. Cada bloque se diferencia en un
restador 82 con una predicción para esa salida de bloque proveniente
de un circuito de decisión de modo 80. La diferencia se indica como
la señal de error de predicción, y se comprime usando un algoritmo
conveniente, como el algoritmo ilustrado de la transformada discreta
del coseno (DCT) 84. El cuantificador 86 cuantifica los coeficientes
de la transformada antes de introducirlos a un codificador de
longitud variable 92 para realizar una compresión adicional. El
codificador de longitud variable puede comprender, por ejemplo, el
conocido codificador de Huffman.
Para obtener una predicción para cada entrada de
bloque de vídeo en el terminal 70, los bloques se comparan en un
estimador de movimiento 72 con los datos situados de forma similar
en un cuadro anterior de vídeo o en un campo anterior del mismo
cuadro de vídeo donde se proporciona el procesamiento de modo campo
de la estructura de campo. El estimador de movimiento 72 aplica un
vector de movimiento de campo idéntico F y un vector de movimiento
del campo opuesto G a los compensadores de movimiento 74, 76,
respectivamente.
El compensador de movimiento 74 recuperará una
porción de datos de vídeo a partir de un campo anterior de vídeo
almacenado en el almacén de cuadro 90 como respuesta a la salida del
vector de movimiento F proveniente del estimador de movimiento 72.
De manera parecida, el compensador de movimiento 76 recuperará una
porción de datos de vídeo a partir de un campo opuesto anterior
almacenado en el almacén de cuadro 90 como respuesta a la salida del
vector de movimiento G. El almacén de cuadro 90 recibe los datos
anteriores de vídeo provenientes de un sumador 89, que combina la
predicción del cuadro anterior con la señal de error de predicción
reconstruida a la que los circuitos 88 han aplicado la
cuantificación inversa y la transformada inversa discreta del coseno
(IDCT). Un circuito de decisión de modo 80 se conecta para recibir
unos datos de predicción provenientes del compensador de movimiento
74 y del compensador de movimiento 76 y para recibir la suma del
sumador 78. Una circuitería 80 determina si la predicción
proveniente del compensador de movimiento 74, la predicción
proveniente del compensador de movimiento 76 o un promedio de las
dos resulta en la mejor predicción global para el bloque de datos
actual de vídeo. La decisión se basa en la elección que produzca los
datos mínimos (incluyendo el encabezado necesario como la
identificación del modo campo/cuadro y la identificación de campo
idéntico o campo opuesto) que deben transmitirse para el bloque.
El estimador de movimiento 72 se ilustra con más
detalle en la figura 8. Un estimador de movimiento calcula los
vectores de movimiento F1, F2, G1 y G2 ilustrados en la figura 5, y
los vectores F y G ilustrados en la figura 4, en donde
F\approxF1\approxF2 y G=2G1=(2/3)G2. El estimador de
movimiento también calcula una vector adicional F/G que es el mejor
vector único dada la restricción F=G.
La decisión respecto al uso del modo campo o modo
cuadro, y campo idéntico o campo opuesto puede realizarse
minimizando el error de predicción o usando unas técnicas de
decisión más complejas a posteriori. Aunque el número de vectores de
movimiento que se transmiten puede variar entre uno y cuatro, el
estimador de movimiento de la figura 8 calcula un total de seis
vectores de movimiento. Dos de los vectores de movimiento (F, G) se
refieren al modo cuadro y cuatro (F1, F2, G1, G2) se refieren al
modo campo. Sin embargo, obsérvese que todos los vectores de
movimiento se calculan a partir de los pares de campo y, por tanto,
requieren sólo la mitad de cálculos para cubrir el mismo intervalo
de búsqueda que el vector de movimiento extraído a partir de un par
de cuadro. Por tanto, los dos vectores de movimiento de cuadro
pueden calcularse usando el mismo número de cálculos que se necesita
para un vector de movimiento convencional. Además, como el intervalo
de búsqueda correspondiente a cada uno de los cuatro vectores de
campo se limita a un único campo, el número total de cálculos para
estimar los cuatro vectores de campo es el mismo que el número
requerido para un único vector de movimiento convencional. Obsérvese
que la presente invención añade algo de complejidad adicional en la
estimación del vector de movimiento de campo opuesto en el
funcionamiento de modo de cuadro, ya que el error de predicción
debido al vector G1 escalado debe sumarse al error de predicción
correspondiente al vector G2 escalado. Desde el punto de vista
práctico, esta complejidad adicional puede eliminarse poniendo en
práctica el estimador en un circuito integrado personalizado.
La precisión subpíxel se consigue para los
vectores de movimiento de cuadro y de campo mediante la
interpolación dentro del campo y no dentro del cuadro. Una técnica
para proporcionar la interpolación se describe en la solicitud de
patente pendiente de Estados Unidos 08/009.831 comúnmente asignada a
Liu y col. y presentada el 27 de enero de 1993. En la presente
invención, no es necesario interpolar entre las líneas adyacentes
dentro de un cuadro ya que se consigue el mismo efecto promediando
las predicciones a partir de los dos campos del cuadro.
El estimador de movimiento de la figura 8 ilustra
tres almacenes de campo 102, 104 y 106. Estos almacenes de campo
reciben entradas de datos de vídeo en el terminal 100 y cada uno
retarda el vídeo de entrada en un campo. De este modo, en el
estimador se almacenan tres campos consecutivos de datos. Un primer
estimador de movimiento 110 y un segundo estimador de movimiento 112
calculan los errores de desplazamiento de bloque correspondientes a
todos los desplazamientos posibles dentro de un predeterminado
intervalo de búsqueda. Estos estimadores de movimiento son de un
diseño convencional y bien conocido en la técnica de compensación de
movimiento. Los estimadores de movimiento reciben los datos de vídeo
anteriores provenientes de los almacenes de campo 102, 104 y 106 a
través de un conmutador 108. El estimador de movimiento 110 recibe
los datos retardados en un campo del almacén de campo 102 o los
datos retardados en dos campos del almacén de campo 104. El
estimador de movimiento 112 recibe los datos retardados en dos
campos del almacén de campo 104 o los datos retardados en tres
campos del almacén de campo 106. El conmutador 108 es sensible a la
señal ``CAMPO'' que indica si la predicción se debe aplicar al campo
uno o al campo dos del cuadro anterior. La señal se bascula después
de recibir cada nuevo campo. Los estimadores de movimiento comparan
la porción de cuadro actual con un área de búsqueda en el cuadro
anterior y encuentran la mejor correspondencia basada en un criterio
predefinido. Los estimadores de movimiento suministran la señal de
error de predicción que identifica la ubicación de los datos con
mejor correspondencia en el cuadro anterior.
Las señales de error de predicción (``ERR'')
provenientes de los estimadores de movimiento se aplican a los
bancos de memoria respectivos 114, 116. Estos bancos de memoria se
usan para almacenar los errores de predicción G1, F2 y F1, G2,
respectivamente, para realizar un promediado posterior de los
errores F1 y F2 en el sumador 118 y un promediado posterior de los
errores G1 y G2 en el sumador 120. Los valores promediados se usan
para proporcionar los vectores de movimiento F y G a través de unos
acumuladores descritos con más detalle a continuación. Los dos
promedios también se promedian entre sí en un sumador 122 para
obtener el vector de movimiento F/G.
Se proporciona un banco de siete acumuladores
124, 126, 128, 130, 132, 134 y 136 para guardar los respectivos
vectores de movimiento F1, F2, G1, G2, F, G y F/G con el error
mínimo. Los acumuladores del modo campo 124 y 130 reciben el vector
de movimiento y los datos de error del estimador de movimiento 112.
Los acumuladores del modo campo 126 y 128 reciben el vector de
movimiento y los datos de error del estimador de movimiento 110. El
acumulador del modo cuadro 132 recibe la información del vector de
movimiento del estimador de movimiento 110 y la información de error
del sumador 118. El acumulador del modo cuadro 134 recibe la
información del vector de movimiento del estimador de movimiento 112
y la información de error del sumador 120. El acumulador F/G 136
recibe la información del vector de movimiento del estimador de
movimiento 110 (o alternativamente, del estimador de movimiento 112
ya que F=G para el modo F/G) y la información de error del sumador
122.
La salida de cada acumulador se actualiza con un
nuevo vector de movimiento de entrada sólo si el correspondiente
error de desplazamiento es menor que el error correspondiente al
anterior vector de movimiento almacenado en el acumulador. Sólo se
permite la actualización de los acumuladores F1 y G1 durante el
primer campo de cada cuadro (campo=0) y sólo se permite la
actualización de los demás acumuladores durante el segundo campo de
cada cuadro (campo=1). Esta restricción en la actualización se
controla introduciendo la señal de campo a través del terminal 148
directamente en los acumuladores 124 y 128. Un inversor 138 invierte
la señal de campo antes de aplicarse a los acumuladores restantes.
Los acumuladores se reinician a través del terminal 146 para cada
nueva porción (es decir, bloque) de los datos de entrada de vídeo
que se procesa. El reinicio fuerza a que se actualice el acumulador
con el primer vector de movimiento candidato para la nueva porción
que se está procesando.
Como se comentó anteriormente, los vectores de
movimiento G1, G2 y G están escalados. Se aplica un factor de escala
de dos a un multiplicador 140 para el vector G1. Se aplica un factor
de escala de 2/3 a través de un multiplicador 142 para el vector G2.
También se aplica un factor de escala de 2/3 al vector G a través de
un multiplicador 144.
Como la estimación de movimiento del modo cuadro
requiere que se sumen los errores correspondientes a los vectores de
movimiento F1 y F2 y los vectores de movimiento G1 y G2, se
necesitan unos bancos de memoria 114 y 116. Como F1 y G1 sólo se
calculan durante el campo 1 (campo=0) y F2 y G2 se calculan sólo
durante el campo 2 (campo=1), es necesario almacenar los errores
correspondientes a todos los posibles desplazamientos para cada
bloque de un campo. Obsérvese que es posible eliminar los bancos de
memoria si se introducen dos estimadores adicionales de movimiento
para calcular F2 y G2 simultáneamente a F1 y G1. Sin embargo, se
necesitará todavía memoria para realizar la correspondencia de un
vector escalado G con cada vector F. En este caso, la cantidad de
memoria necesaria dependerá del intervalo del vector de
movimiento.
En la figura 9 se ilustra una puesta en práctica
del acumulador 124. Cada uno de los demás acumuladores puede tener
una configuración idéntica. Los vectores de movimiento se aplican al
acumulador a través de un terminal 150. Los errores de predicción
asociados a los vectores de movimiento se aplican a través del
terminal 152. Después de la recepción de una señal de reinicio en el
terminal 146, una puerta AND 164 y una puerta OR 166 provocan que el
primer circuito de cierre 158 guarde el primer vector de movimiento
para la siguiente porción de datos de vídeo que se va a procesar. Al
mismo tiempo, el error asociado a dicho vector de movimiento se
guardará en un segundo circuito de cierre 160. Conforme el estimador
de movimiento asociado (es decir, el estimador de movimiento 112)
busca en un área del cuadro anterior de vídeo una correspondencia
con la porción de datos de vídeo que se están procesando
actualmente, unos nuevos vectores de movimiento y unos errores
asociados al mismo se introducen en el acumulador a través de los
terminales 150, 152, respectivamente. Los nuevos errores se comparan
en un comparador 162 con el anterior error guardado en el circuito
de cierre 160. Cuando el comparador 162 determina que un nuevo error
recibido es mejor que un error guardado anteriormente, provocará que
el circuito de cierre 158 almacene el vector de movimiento asociado
a dicho error y que el circuito de cierre 160 guarde el error
propiamente dicho. De esta manera, el acumulador obtendrá el mejor
error de predicción y el vector de movimiento asociado para cada
nueva porción de datos de vídeo procesados.
Todos los vectores de movimiento se representan
en términos de su magnitud cuando se ajustan para una distancia de
un cuadro (es decir, dos campos). Por tanto, los vectores del campo
idéntico (F1 y F2) nunca necesitan el escalado. Por otra parte, los
vectores de campo opuesto (G1 y G2) se corresponden con las
distancias de cuadro de 1/2 y 3/2, respectivamente. Por tanto, el
vector que se transmite tendría un tamaño doble en el caso de G1 y
dos tercios de tamaño en el caso de G2. Cuando se usa el modo
cuadro, G1 y G2 serán idénticas cuando se representen con una
distancia de un cuadro. Cada vector se representa con una precisión
de medio píxel antes del escalado, cuando la distancia de cuadro es
uno. Después del escalado, los vectores se redondean de nuevo al
semipíxel más cercano.
Una ventaja de esta representación es que
simplifica la predicción de los vectores de movimiento. Como la
distancia del vector de movimiento es ahora fija en todos los casos,
sólo se necesita almacenar un vector de movimiento para que pueda
usarse para la predicción del siguiente vector de movimiento.
Como ejemplo, supóngase que se van a transmitir
el conjunto de vectores de movimiento explicado en la figura 4.
Primero se comprimen estos vectores para minimizar el encabezado
necesario para enviarlos. Siempre es deseable enviar los vectores de
movimiento como diferencias, ya que es más fácil de comprimir la
distribución resultante de media cero. Por lo tanto, el primer paso
es enviar las diferencias entre F1 y el último vector de movimiento
que se ha codificado. A continuación, se transmite la diferencia
entre 2G1 (que es igual a (2/3)G2) y F1. No es necesario
enviar F2 ya que es igual a F1. Cuando se codifica el siguiente
vector de movimiento, primero se calcula la diferencia con 2G1.
Ahora supóngase que hay que transmitir los
vectores de movimiento de la figura 5. El primer paso será enviar la
diferencia entre F1 y el último vector de movimiento que se ha
codificado. A continuación, se envía la diferencia entre 2G1 y F1.
Después, se envía la diferencia entre F2 y 2G1, seguida de la
diferencia entre (2/3)G2 y F2. Se calculará la diferencia del
siguiente vector de movimiento con (2/3)G2. En cuanto a los
vectores de movimiento que no están seleccionados para la
transmisión, simplemente se omitirán sin cambiar el orden de la
transmisión de los vectores restantes.
La figura 10 ilustra un decodificador que puede
usarse según la presente invención. Los datos de vídeo y el
encabezado transmitidos se reciben en el terminal de entrada 170 y
el demultiplexor 172 los demultiplexa. El demultiplexor suministra
los datos de vídeo codificados de longitud variable por la línea
171. Los datos de encabezado, que incluye los vectores de movimiento
y la información de selección del modo se suministran por la línea
173.
El decodificador de longitud variable 174
decodifica los datos de vídeo codificados de longitud variable y los
descomprime el circuito de descompresión 176, que puede comprender,
por ejemplo, un cuantificador inverso y un circuito IDCT similar a
los circuitos 88 del codificador de la figura 7. Los errores de
predicción de longitud variable decodificados y descomprimidos se
conectan a una entrada de un sumador 178 que se usa para reconstruir
los datos de vídeo originales. La otra entrada del sumador 178
comprende las predicciones recuperadas usando los datos del cuadro
anterior previamente reconstruidos. Un primer compensador de
movimiento 182 recibe los vectores de movimiento F por la línea 173
y un segundo compensador de movimiento 184 recibe los vectores de
movimiento G por la línea 173. Estos compensadores de movimiento son
similares a los compensadores de movimiento 74, 76, respectivamente,
del codificador de la figura 7. Los compensadores de movimiento
reciben los datos del cuadro anterior de un almacén de cuadro 180,
que se conecta para recibir los cuadros anteriores provenientes de
la salida del sumador 178.
Las salidas de los compensadores de movimiento
182 y 184 se aplican a un selector 188 y a un sumador 186. El
sumador 186 proporciona al selector 188 el promedio de la salida de
datos de predicción proveniente de los compensadores de movimiento.
El selector 188 es sensible a los datos de selección del modo
recibidos por la línea 173 para seleccionar la salida de predicción
para el compensador de movimiento 182, o la salida de predicción
para el compensador de movimiento 184, o el promedio de las dos
salidas de predicción del sumador 186. El sumador 186 usa la
predicción seleccionada para reconstruir los datos originales de
vídeo para presentarlos a la salida.
Debe entenderse que la presente invención
proporciona unos procedimientos y un aparato para codificar y
decodificar datos de vídeo entrelazado de movimiento compensado. El
mejor vector de campo idéntico F y el mejor vector de campo opuesto
G se seleccionan independientemente. El error de predicción que
resulta de usar ambos vectores F y G (con las dos predicciones
promediadas) se compara con el error de predicción que resulta de
usar F o G únicamente. A continuación, se selecciona el vector o
vectores que provoca el error mínimo. Esto difiere de los sistemas
de la técnica anterior, en los que sólo se generaba un vector (es
decir, el vector de campo idéntico o el de campo opuesto).
Al realizar la estimación del modo cuadro, la
presente invención encuentra el vector G que minimiza la suma de los
errores de los campo primero y segundo cuando se aplica el escalado
a G1 y G2. De manera parecida, se encuentra el mejor vector de la
señal F/G (donde F=G) a la vez que justifica el escalado de G1 y G2.
En la puesta en práctica del estimador de movimiento de la figura 8,
todos los vectores de movimiento se calculan sin incrementar el
número requerido de estimadores de movimiento comparado con las
puestas en práctica de la técnica anterior.
La presente invención proporciona además una
predicción del vector de movimiento en la que todos los vectores de
movimiento se escalan para corresponderse con un intervalo de tiempo
común, como por ejemplo un tiempo de cuadro, antes de calcular las
diferencias del vector de movimiento. El resultado es que sólo es
necesario almacenar un único vector de movimiento. Los vectores de
movimiento F2 o G2 se codifican diferencialmente de forma ventajosa
con los vectores F1 o G1.
Claims (20)
1. Un procedimiento de codificación de movimiento
compensado de señales de vídeo digital que definen unos cuadros de
datos de vídeo entrelazados sucesivos incluyendo un cuadro actual
con campos pares e impares de datos de píxeles, y un cuadro anterior
con campos pares e impares de datos de píxeles, comprendiendo los
pasos de:
subdividir el cuadro actual en pares de bloques
de datos de píxeles de campos pares e impares;
comparar los pares de bloques de dicho cuadro
actual de vídeo con los pares de bloques situados de forma similar
de dicho cuadro anterior de vídeo usando un procesamiento de cuadro
para obtener, para cada par de bloque actual, una señal de error de
predicción preferida del modo cuadro basada en la consideración de
al menos unas comparaciones del par de bloque de campo idéntico y
unas comparaciones del par de bloque de campo opuesto;
comparar los bloques de datos de píxeles de los
campos pares e impares que forman los pares de bloques de dicho
cuadro actual de vídeo con los bloques situados de forma similar de
dicho cuadro anterior de vídeo usando el procesamiento del modo
campo para obtener, para cada uno de los bloques de datos de píxeles
de los campos pares e impares, una señal de error de predicción
preferida del modo campo basada en la consideración de al menos unas
comparaciones del bloque de campo idéntico y unas comparaciones del
bloque de campo opuesto;
para cada par de bloque actual, seleccionar la
señal de error de predicción preferida del modo cuadro o las señales
de error de predicción preferidas del modo campo asociadas a dicho
par de bloque para representar cada par de bloque de acuerdo con la
predicción más precisa o que tenga como resultado una cantidad
mínima de los datos que hay que transmitir de las señales de
vídeo.
2. El procedimiento según la reivindicación 1, en
el que:
la señal de error de predicción preferida del
modo cuadro se basa además en la consideración de un promedio de
unas comparaciones del par de bloque de campo idéntico y de unas
comparaciones del par de bloque de campo opuesto.
3. El procedimiento de la reivindicación 1 ó 2,
en el que:
la señal de error de predicción preferida del
modo campo se basa además en la consideración de un promedio de unas
comparaciones de los bloques de campo idéntico y unas de
comparaciones de los bloques de campo opuesto.
4. El procedimiento según cualquiera de las
reivindicaciones 1 a 3, en el que:
para la señal de error de predicción preferida
del modo cuadro, los equivalentes preferidos de cuadro anterior y
campo idéntico para los campos pares e impares se describen mediante
unos vectores de movimiento equivalentes respectivos.
5. El procedimiento según cualquiera de las
reivindicaciones 1 a 4, en el que:
para la señal de error de predicción preferida
del modo cuadro, los equivalentes preferidos de campo cuadro
anterior y opuesto para los campos pares e impares se describen
mediante unos vectores de movimiento unidireccionales
respectivos.
6. El procedimiento según la reivindicación 5, en
el que:
los vectores de movimiento unidireccionales se
escalan para justificar una diferencia de distancia que resulta de
usar una comparación de campo opuesto en lugar de una comparación de
campo idéntico.
7. El procedimiento según cualquiera de las
reivindicaciones 1 a 6, comprendiendo además el paso de:
proporcionar unos vectores de movimiento para
permitir que un decodificador reproduzca una porción del cuadro
actual correspondiente.
8. El procedimiento según cualquiera de las
reivindicaciones 1 a 7, comprendiendo además el paso de:
proporcionar información del identificador de
campo y vectores de movimiento según dicho paso seleccionado,
permitiendo con ello que un decodificador reproduzca una porción del
cuadro actual correspondiente.
9. Un aparato codificador para codificar el
movimiento compensado de unas señales de vídeo digital que definen
unos cuadros sucesivos de datos de vídeo entrelazado incluyendo un
cuadro actual con campos pares e impares de datos de píxeles, y un
cuadro anterior con campos pares e impares de datos de píxeles,
comprendiendo:
un módulo para subdividir el cuadro actual en
pares de bloques de datos de pixeles de los campos pares e
impares;
un módulo (72) que compara los pares de bloques
de dicho cuadro actual de vídeo con los pares de bloques situados de
forma similar de dicho cuadro anterior de vídeo usando un
procesamiento de cuadro para obtener para cada par actual de bloque,
una señal de error de predicción preferida del modo cuadro basada en
la consideración de al menos unas comparaciones de pares de los
bloques de campo idéntico y unas comparaciones de los pares de
bloques de campo opuesto;
un módulo (72) que compara los bloques de datos
de píxeles de los campos pares e impares que forman los pares de
bloques de dicho cuadro actual de vídeo con los bloques de dicho
cuadro anterior de vídeo situados de forma similar usando un
procesamiento del modo campo para obtener, para uno de los bloques
de datos de píxeles de los campos pares e impares, una señal de
error de predicción preferida del modo campo preferida basada en la
consideración de al menos unas comparaciones de los bloques de campo
idéntico y unas comparaciones de los bloques de campo opuesto;
un módulo (80) que selecciona, para cada par
actual de bloque, o la señal de error de predicción preferida del
modo cuadro o las señales de error de predicción preferidas del modo
campo preferidas asociadas a dicho par de bloque para representar
cada par de bloque de acuerdo a la predicción más precisa o que
resulte en una cantidad mínima de datos que hay que transmitir de
las señales de vídeo.
10. El aparato según la reivindicación 9, en el
que:
la señal de error de predicción preferida del
modo cuadro se basa además en la consideración de un promedio de
unas comparaciones del par de bloque de campo idéntico y unas
comparaciones del par de bloque de campo opuesto.
11. El aparato según las reivindicaciones 9 ó 10,
en el que:
la señal de error de predicción preferida del
modo campo se basa además en la consideración de un promedio de unas
comparaciones de los bloques de campo idéntico y unas comparaciones
de los bloques de campo opuesto.
12. El aparato según cualquiera de las
reivindicaciones 9 a 11, en el que:
para la señal de error de predicción preferida
del modo cuadro, los equivalentes preferidos de cuadro anterior y
campo idéntico para los campos pares e impares se describen mediante
unos vectores de movimiento equivalentes respectivos.
13. El aparato según cualquiera de las
reivindicaciones 9 a 12, en el que:
para la señal de error de predicción preferida
del modo cuadro, los equivalentes preferidos de cuadro anterior y
campo opuesto para los campos pares e impares se describen mediante
unos vectores de movimiento unidireccionales respectivos.
14. El aparato según la reivindicación 13, en el
que:
los vectores de movimiento unidireccionales se
escalan para justificar una diferencia de distancia que resulta de
usar una comparación de campo opuesto en lugar de una comparación de
campo idéntico.
15. El aparato según cualquiera de las
reivindicaciones 9 a 14, comprendiendo además:
un módulo (72) que proporciona unos vectores de
movimiento para permitir que un decodificador reproduzca la porción
del cuadro actual correspondiente.
16. El aparato según cualquiera de las
reivindicaciones 9 a 15, comprendiendo además:
un módulo (72) que proporciona una información
del identificador de campo y unos vectores de movimiento de acuerdo
a dicho módulo seleccionado, permitiendo con ello que un
decodificador reproduzca la porción del cuadro actual
correspondiente.
17. Un procedimiento para codificar y decodificar
las señales de vídeo digital entrelazado de movimiento compensado,
incluyendo para la codificación el procedimiento según cualquiera de
las reivindicaciones 1 a 8, y para la decodificación los pasos
de:
almacenar los datos de píxeles de los campos
pares e impares para un primer cuadro de vídeo;
recibir los datos de píxeles de movimiento
compensado a partir de los pares de bloques de los datos de píxeles
de los campos pares e impares de un segundo cuadro de vídeo junto
con un vector de movimiento y una información del modo de
compensación del movimiento para dichos pares de bloques,
identificando dicha información del vector de movimiento unos
bloques de datos de píxeles en el campo idéntico o en el campo
opuesto del primer cuadro de vídeo que son necesarios para
reconstruir dicho segundo cuadro de vídeo a partir de los datos de
píxeles de movimiento compensado recibidos;
recuperar, como respuesta a la información
recibida del vector de movimiento del campo idéntico, los datos de
píxeles a partir del campo idéntico de dicho primer cuadro de vídeo
almacenado como una porción de dicho segundo cuadro de vídeo que se
está procesando;
recuperar, como respuesta a la información
recibida del vector de movimiento del campo opuesto, los datos de
píxeles a partir del campo opuesto de dicho primer cuadro de vídeo
como una porción de dicho segundo cuadro de vídeo que se está
procesando;
seleccionar, como respuesta a dicha información
del modo de compensación de movimiento, bien los datos de píxeles de
campo idéntico recuperados, o bien los datos de píxeles de campo
opuesto recuperados, para reconstruir los datos de píxeles recibidos
de movimiento compensado de dicho segundo cuadro de vídeo.
18. El procedimiento de la reivindicación 17, en
el que:
dicho paso de selección selecciona un promedio de
los datos de píxeles de campo idéntico recuperados y los datos de
píxeles de campo opuesto recuperados para reconstruir los datos de
píxeles de movimiento compensado recibidos de dicho segundo cuadro
de vídeo.
19. Un aparato para codificar y decodificar las
señales de vídeo digital entrelazado de movimiento compensado,
incluyendo para la codificación el aparato según cualquiera de las
reivindicaciones 9 a 16, y para la decodificación un aparato que
comprende:
un módulo de memoria (180) que almacena los datos
de píxeles de los campos pares e impares para un primer cuadro de
vídeo;
un módulo (170) que recibe los datos de píxeles
de campo de movimiento compensado par e impar de unos pares de
bloques de unos datos de píxeles de los campos pares e impares de un
segundo cuadro de vídeo junto con un vector de movimiento y la
información del modo de compensación de movimiento para dichos pares
de bloques, identificando dicha información del vector de movimiento
unos bloques de datos de píxeles en el campo idéntico o en el campo
opuesto del primer cuadro de vídeo que son necesarios para
reconstruir dicho segundo cuadro de vídeo a partir de los datos de
píxeles de movimiento compensado recibidos;
un primer módulo compensador de movimiento (182)
sensible a la información recibida del vector de movimiento de campo
idéntico para recuperar los datos de píxeles a partir del campo
idéntico de dicho primer cuadro de vídeo almacenado como una porción
de dicho segundo cuadro de vídeo que se está procesando;
un segundo módulo compensador de movimiento (184)
sensible a la información recibida del vector de movimiento de campo
opuesto para recuperar los datos de píxeles a partir del campo
opuesto de dicho primer cuadro de vídeo como la porción de dicho
segundo cuadro de vídeo que se está procesando; y
un módulo (188) que selecciona, como respuesta a
dicha información del modo de compensación de movimiento, bien los
datos de píxeles recuperados por dicho primer módulo compensador de
movimiento, o bien los datos de píxeles recuperados por dicho
segundo módulo compensador de movimiento para reconstruir los datos
de píxeles de movimiento compensado recibidos de dicho segundo
cuadro de vídeo.
20. El aparato según la reivindicación 19, en el
que:
dicho módulo de selección selecciona un promedio
de los datos de píxeles recuperados por dicho primer módulo de
compensador de movimiento para reconstruir los datos de pixeles de
movimiento compensado recibidos de dicho segundo cuadro de
vídeo.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US22553394A | 1994-04-11 | 1994-04-11 | |
US08/225533 | 1994-04-11 |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2197172T3 true ES2197172T3 (es) | 2004-01-01 |
Family
ID=22845256
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES95101754T Expired - Lifetime ES2197172T3 (es) | 1994-04-11 | 1995-02-09 | Compensacion de movimiento para señales de video digital entrelazado. das. |
Country Status (13)
Country | Link |
---|---|
US (1) | US5565922A (es) |
EP (2) | EP0676900B1 (es) |
JP (1) | JPH07307943A (es) |
KR (1) | KR100264430B1 (es) |
AT (1) | ATE237907T1 (es) |
AU (1) | AU684141B2 (es) |
CA (1) | CA2142150C (es) |
DE (1) | DE69530336T2 (es) |
DK (1) | DK0676900T3 (es) |
ES (1) | ES2197172T3 (es) |
HK (1) | HK1012139A1 (es) |
NO (1) | NO313440B1 (es) |
TW (1) | TW283289B (es) |
Families Citing this family (65)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5614952A (en) * | 1994-10-11 | 1997-03-25 | Hitachi America, Ltd. | Digital video decoder for decoding digital high definition and/or digital standard definition television signals |
JP3050736B2 (ja) * | 1993-12-13 | 2000-06-12 | シャープ株式会社 | 動画像符号化装置 |
JP3319133B2 (ja) * | 1994-03-29 | 2002-08-26 | ソニー株式会社 | 画像プリンタ装置 |
DE19541457C1 (de) * | 1995-11-07 | 1997-07-03 | Siemens Ag | Verfahren zur Codierung eines Videodatenstroms einer aus Bildblöcken bestehenden Videosequenz |
US5737023A (en) * | 1996-02-05 | 1998-04-07 | International Business Machines Corporation | Hierarchical motion estimation for interlaced video |
TW388173B (en) * | 1996-02-29 | 2000-04-21 | Ibm | Method and apparatus to calculate field motion estimations in frame pictures |
JP3297293B2 (ja) * | 1996-03-07 | 2002-07-02 | 三菱電機株式会社 | 動画像復号方法および動画像復号装置 |
US5778097A (en) * | 1996-03-07 | 1998-07-07 | Intel Corporation | Table-driven bi-directional motion estimation using scratch area and offset valves |
GB2311184A (en) * | 1996-03-13 | 1997-09-17 | Innovision Plc | Motion vector field error estimation |
US5774677A (en) * | 1996-06-28 | 1998-06-30 | Intel Corporation | Dual interleaved block motion compensation |
DE69735437T2 (de) * | 1996-12-12 | 2006-08-10 | Matsushita Electric Industrial Co., Ltd., Kadoma | Bildkodierer und bilddekodierer |
JP3351705B2 (ja) * | 1997-04-25 | 2002-12-03 | 日本ビクター株式会社 | 動き補償符号化装置、動き補償符号化方法、及び記録媒体への記録方法 |
US5870148A (en) * | 1997-06-17 | 1999-02-09 | Intel Corporation | Method and apparatus for adaptively enabling and disabling PB frames in an H.263 video coder |
JP4086344B2 (ja) * | 1997-07-31 | 2008-05-14 | キヤノン株式会社 | 画像送信装置及び制御方法 |
US20020044692A1 (en) * | 2000-10-25 | 2002-04-18 | Goertzen Kenbe D. | Apparatus and method for optimized compression of interlaced motion images |
US6904174B1 (en) * | 1998-12-11 | 2005-06-07 | Intel Corporation | Simplified predictive video encoder |
US6408029B1 (en) | 1998-04-02 | 2002-06-18 | Intel Corporation | Method and apparatus for simplifying real-time data encoding |
JP4026238B2 (ja) * | 1998-07-23 | 2007-12-26 | ソニー株式会社 | 画像復号装置及び画像復号方法 |
US6983018B1 (en) * | 1998-11-30 | 2006-01-03 | Microsoft Corporation | Efficient motion vector coding for video compression |
US6859799B1 (en) | 1998-11-30 | 2005-02-22 | Gemstar Development Corporation | Search engine for video and graphics |
US6470050B1 (en) * | 1999-04-09 | 2002-10-22 | Matsushita Electric Industrial Co., Ltd. | Image coding apparatus and its motion vector detection method |
KR100624355B1 (ko) * | 1999-04-26 | 2006-09-18 | 코닌클리케 필립스 일렉트로닉스 엔.브이. | 서브-픽셀 정밀 움직임 벡터 추정 및 움직임-보상 보간 |
JP2001054075A (ja) * | 1999-08-06 | 2001-02-23 | Hitachi Ltd | 画像信号の動き補償走査変換回路 |
US6449312B1 (en) * | 2000-06-08 | 2002-09-10 | Motorola, Inc. | Method of estimating motion in interlaced video |
CN101715109A (zh) | 2000-10-11 | 2010-05-26 | 联合视频制品公司 | 提供数据存储到点播媒体传递系统中服务器上的系统和方法 |
US6859494B2 (en) | 2001-07-27 | 2005-02-22 | General Instrument Corporation | Methods and apparatus for sub-pixel motion estimation |
JP2003143609A (ja) * | 2001-08-21 | 2003-05-16 | Canon Inc | 画像処理装置、画像処理方法、記録媒体及びプログラム |
US20030099294A1 (en) * | 2001-11-27 | 2003-05-29 | Limin Wang | Picture level adaptive frame/field coding for digital video content |
KR100412501B1 (ko) * | 2001-11-30 | 2003-12-31 | 삼성전자주식회사 | 움직임 보상을 위한 화소값 선택 장치 및 방법 |
AU2002351131A1 (en) * | 2001-12-20 | 2003-07-09 | Koninklijke Philips Electronics N.V. | Adjustment of motion vectors in digital image processing systems |
US7003035B2 (en) | 2002-01-25 | 2006-02-21 | Microsoft Corporation | Video coding methods and apparatuses |
US7305034B2 (en) * | 2002-04-10 | 2007-12-04 | Microsoft Corporation | Rounding control for multi-stage interpolation |
US7620109B2 (en) * | 2002-04-10 | 2009-11-17 | Microsoft Corporation | Sub-pixel interpolation in motion estimation and compensation |
US20040001546A1 (en) | 2002-06-03 | 2004-01-01 | Alexandros Tourapis | Spatiotemporal prediction for bidirectionally predictive (B) pictures and motion vector prediction for multi-picture reference motion compensation |
US7224731B2 (en) * | 2002-06-28 | 2007-05-29 | Microsoft Corporation | Motion estimation/compensation for screen capture video |
US7280700B2 (en) | 2002-07-05 | 2007-10-09 | Microsoft Corporation | Optimization techniques for data compression |
US7154952B2 (en) | 2002-07-19 | 2006-12-26 | Microsoft Corporation | Timestamp-independent motion vector prediction for predictive (P) and bidirectionally predictive (B) pictures |
US20050013498A1 (en) | 2003-07-18 | 2005-01-20 | Microsoft Corporation | Coding of motion vector information |
US10554985B2 (en) | 2003-07-18 | 2020-02-04 | Microsoft Technology Licensing, Llc | DC coefficient signaling at small quantization step sizes |
US7426308B2 (en) | 2003-07-18 | 2008-09-16 | Microsoft Corporation | Intraframe and interframe interlace coding and decoding |
US7499495B2 (en) | 2003-07-18 | 2009-03-03 | Microsoft Corporation | Extended range motion vectors |
US7738554B2 (en) | 2003-07-18 | 2010-06-15 | Microsoft Corporation | DC coefficient signaling at small quantization step sizes |
US7609763B2 (en) | 2003-07-18 | 2009-10-27 | Microsoft Corporation | Advanced bi-directional predictive coding of video frames |
US7623574B2 (en) * | 2003-09-07 | 2009-11-24 | Microsoft Corporation | Selecting between dominant and non-dominant motion vector predictor polarities |
US7616692B2 (en) * | 2003-09-07 | 2009-11-10 | Microsoft Corporation | Hybrid motion vector prediction for interlaced forward-predicted fields |
US8064520B2 (en) | 2003-09-07 | 2011-11-22 | Microsoft Corporation | Advanced bi-directional predictive coding of interlaced video |
US7577200B2 (en) * | 2003-09-07 | 2009-08-18 | Microsoft Corporation | Extended range variable length coding/decoding of differential motion vector information |
US7620106B2 (en) * | 2003-09-07 | 2009-11-17 | Microsoft Corporation | Joint coding and decoding of a reference field selection and differential motion vector information |
US7599438B2 (en) * | 2003-09-07 | 2009-10-06 | Microsoft Corporation | Motion vector block pattern coding and decoding |
US7317839B2 (en) | 2003-09-07 | 2008-01-08 | Microsoft Corporation | Chroma motion vector derivation for interlaced forward-predicted fields |
US7724827B2 (en) | 2003-09-07 | 2010-05-25 | Microsoft Corporation | Multi-layer run level encoding and decoding |
US7567617B2 (en) * | 2003-09-07 | 2009-07-28 | Microsoft Corporation | Predicting motion vectors for fields of forward-predicted interlaced video frames |
CN101189880B (zh) * | 2005-06-03 | 2010-06-16 | Nxp股份有限公司 | 带有混合参考纹理的视频解码器 |
US9077960B2 (en) * | 2005-08-12 | 2015-07-07 | Microsoft Corporation | Non-zero coefficient block pattern coding |
US8254455B2 (en) | 2007-06-30 | 2012-08-28 | Microsoft Corporation | Computing collocated macroblock information for direct mode macroblocks |
CN101919251B (zh) * | 2007-11-28 | 2013-07-10 | 法国电信 | 一种运动编码和解码 |
US20090245374A1 (en) * | 2008-03-26 | 2009-10-01 | Mediatek Inc. | Video encoder and motion estimation method |
US20090262249A1 (en) * | 2008-04-22 | 2009-10-22 | Himax Media Solutions, Inc. | Interpolated frame generating method |
US8189666B2 (en) | 2009-02-02 | 2012-05-29 | Microsoft Corporation | Local picture identifier and computation of co-located information |
US8179474B2 (en) * | 2009-09-02 | 2012-05-15 | Sony Corporation | Fast iterative motion estimation method on gradually changing images |
US8805418B2 (en) | 2011-12-23 | 2014-08-12 | United Video Properties, Inc. | Methods and systems for performing actions based on location-based rules |
US9749642B2 (en) | 2014-01-08 | 2017-08-29 | Microsoft Technology Licensing, Llc | Selection of motion vector precision |
US9942560B2 (en) | 2014-01-08 | 2018-04-10 | Microsoft Technology Licensing, Llc | Encoding screen capture data |
US9774881B2 (en) | 2014-01-08 | 2017-09-26 | Microsoft Technology Licensing, Llc | Representing motion vectors in an encoded bitstream |
CN111683216A (zh) * | 2020-05-25 | 2020-09-18 | 福建云视听信息科技有限公司 | 一种交织模式下隔行视频处理方法、系统、设备及介质 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2231751B (en) * | 1989-04-27 | 1993-09-22 | Sony Corp | Motion dependent video signal processing |
US5091782A (en) * | 1990-04-09 | 1992-02-25 | General Instrument Corporation | Apparatus and method for adaptively compressing successive blocks of digital video |
US5068724A (en) * | 1990-06-15 | 1991-11-26 | General Instrument Corporation | Adaptive motion compensation for digital television |
US5093720A (en) * | 1990-08-20 | 1992-03-03 | General Instrument Corporation | Motion compensation for interlaced digital television signals |
DE69131257T2 (de) * | 1990-10-31 | 1999-09-23 | Victor Company Of Japan | Verfahren zur Kompression von bewegten Bildsignalen nach dem Zeilensprungverfahren |
US5193004A (en) * | 1990-12-03 | 1993-03-09 | The Trustees Of Columbia University In The City Of New York | Systems and methods for coding even fields of interlaced video sequences |
TW199257B (es) * | 1991-07-30 | 1993-02-01 | Sony Co Ltd | |
JP2699703B2 (ja) * | 1991-07-31 | 1998-01-19 | 松下電器産業株式会社 | 動き補償予測方法とそれを用いた画像信号符号化方法 |
JP2586260B2 (ja) * | 1991-10-22 | 1997-02-26 | 三菱電機株式会社 | 適応的ブロッキング画像符号化装置 |
US5270813A (en) * | 1992-07-02 | 1993-12-14 | At&T Bell Laboratories | Spatially scalable video coding facilitating the derivation of variable-resolution images |
JP3201079B2 (ja) * | 1992-07-03 | 2001-08-20 | ケイディーディーアイ株式会社 | インターレース動画像信号の動き補償予測方法、符号化方法及び装置 |
US5412435A (en) * | 1992-07-03 | 1995-05-02 | Kokusai Denshin Denwa Kabushiki Kaisha | Interlaced video signal motion compensation prediction system |
JPH0662389A (ja) * | 1992-08-04 | 1994-03-04 | Matsushita Electric Ind Co Ltd | 映像信号符号化装置 |
-
1994
- 1994-05-16 TW TW083104396A patent/TW283289B/zh active
-
1995
- 1995-02-09 CA CA002142150A patent/CA2142150C/en not_active Expired - Fee Related
- 1995-02-09 DK DK95101754T patent/DK0676900T3/da active
- 1995-02-09 EP EP95101754A patent/EP0676900B1/en not_active Expired - Lifetime
- 1995-02-09 ES ES95101754T patent/ES2197172T3/es not_active Expired - Lifetime
- 1995-02-09 DE DE69530336T patent/DE69530336T2/de not_active Expired - Lifetime
- 1995-02-09 EP EP03001998A patent/EP1309199A3/en not_active Withdrawn
- 1995-02-09 AT AT95101754T patent/ATE237907T1/de not_active IP Right Cessation
- 1995-02-23 NO NO19950678A patent/NO313440B1/no unknown
- 1995-04-05 AU AU16280/95A patent/AU684141B2/en not_active Ceased
- 1995-04-11 KR KR1019950008358A patent/KR100264430B1/ko not_active IP Right Cessation
- 1995-04-11 JP JP7110130A patent/JPH07307943A/ja active Pending
-
1996
- 1996-01-24 US US08/590,867 patent/US5565922A/en not_active Expired - Lifetime
-
1998
- 1998-12-09 HK HK98113000A patent/HK1012139A1/xx not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
NO313440B1 (no) | 2002-09-30 |
EP1309199A2 (en) | 2003-05-07 |
NO950678D0 (no) | 1995-02-23 |
EP0676900B1 (en) | 2003-04-16 |
KR950035435A (ko) | 1995-12-30 |
CA2142150A1 (en) | 1995-10-12 |
JPH07307943A (ja) | 1995-11-21 |
EP0676900A3 (en) | 1998-04-08 |
NO950678L (no) | 1995-10-12 |
HK1012139A1 (en) | 1999-07-23 |
AU1628095A (en) | 1995-10-19 |
EP0676900A2 (en) | 1995-10-11 |
DE69530336T2 (de) | 2004-02-12 |
EP1309199A3 (en) | 2003-12-10 |
CA2142150C (en) | 1999-06-01 |
TW283289B (es) | 1996-08-11 |
AU684141B2 (en) | 1997-12-04 |
US5565922A (en) | 1996-10-15 |
DK0676900T3 (da) | 2003-08-11 |
ATE237907T1 (de) | 2003-05-15 |
DE69530336D1 (de) | 2003-05-22 |
KR100264430B1 (ko) | 2000-08-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2197172T3 (es) | Compensacion de movimiento para señales de video digital entrelazado. das. | |
ES2431289T3 (es) | Método de decodificación de señal de imagen y aparato asociado | |
KR100294999B1 (ko) | 디지탈비디오데이타스트림의시간적인압축방법및탐색프로세서 | |
USRE44663E1 (en) | Image decoding apparatus for persistently storing reference images | |
ES2204797T3 (es) | Procedimiento de codificacion de secuencia de imagenes. | |
US6104753A (en) | Device and method for decoding HDTV video | |
US6091460A (en) | Video signal encoding method and system | |
US20030169931A1 (en) | Coding dynamic filters | |
US20040233990A1 (en) | Image coding device, image coding method, image decoding device, image decoding method and communication apparatus | |
WO1998042134A1 (en) | Image encoder, image decoder, image encoding method, image decoding method and image encoding/decoding system | |
JPH11275592A (ja) | 動画像符号列変換装置及びその方法 | |
ES2299171T3 (es) | Procedimiento de codificacion de imagenes en movimiento y aparato de codificacion de imagenes en movimiento. | |
US20100086048A1 (en) | System and Method for Video Image Processing | |
EP1443771A2 (en) | Video encoding/decoding method and apparatus based on interlaced frame motion compensation | |
KR20010034255A (ko) | 비디오 프레임의 해상도 증가 방법 | |
JPH10215457A (ja) | 動画像復号方法及び動画像復号装置 | |
CN100375536C (zh) | 信号处理设备和方法、图像显示器及数据生成设备和方法 | |
KR100272818B1 (ko) | 동화상 데이타 복호화 장치 | |
JP2001086508A (ja) | 動画像復号方法及び動画像復号装置 | |
JP2897649B2 (ja) | 動き補償予測符号化装置 | |
JP4039221B2 (ja) | 画像処理装置、符号化装置、復号装置およびそれらの方法 | |
KR0183155B1 (ko) | 동영상 압축부호화시 움직임 보상을 위한 시작 및 끝주소 발생회로 | |
KR100504416B1 (ko) | 화상부호화방법및장치 | |
JPH09261661A (ja) | 2つの基準ピクチャから双方向コード化ピクチャを形成するための方法 | |
KR0128883B1 (ko) | 영상 복호기에 있어서 개선된 구조의 메모리부를 갖는 반픽셀 움직임 보상회로 |