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
Application number
ES95101754T
Other languages
English (en)
Inventor
Edward A. Krause
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Arris Technology Inc
Original Assignee
Arris Technology Inc
General Instrument Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Arris Technology Inc, General Instrument Corp filed Critical Arris Technology Inc
Application granted granted Critical
Publication of ES2197172T3 publication Critical patent/ES2197172T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/223Analysis of motion using block-matching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/112Selection of coding mode or of prediction mode according to a given display mode, e.g. for interlaced or progressive display mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; 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.
Antecedentes de la invención
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.
Resumen de la invención
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.
Descripción breve de los dibujos
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.
Descripción detallada de las realizaciones preferidas
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.
ES95101754T 1994-04-11 1995-02-09 Compensacion de movimiento para señales de video digital entrelazado. das. Expired - Lifetime ES2197172T3 (es)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 映像信号符号化装置

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) 영상 복호기에 있어서 개선된 구조의 메모리부를 갖는 반픽셀 움직임 보상회로