ES2431289T3 - Método de decodificación de señal de imagen y aparato asociado - Google Patents

Método de decodificación de señal de imagen y aparato asociado Download PDF

Info

Publication number
ES2431289T3
ES2431289T3 ES10012181T ES10012181T ES2431289T3 ES 2431289 T3 ES2431289 T3 ES 2431289T3 ES 10012181 T ES10012181 T ES 10012181T ES 10012181 T ES10012181 T ES 10012181T ES 2431289 T3 ES2431289 T3 ES 2431289T3
Authority
ES
Spain
Prior art keywords
signal
image
motion vector
macroblock
motion
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
ES10012181T
Other languages
English (en)
Inventor
Motoki Kato
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.)
Sony Corp
Original Assignee
Sony 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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=26406823&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=ES2431289(T3) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Sony Corp filed Critical Sony Corp
Application granted granted Critical
Publication of ES2431289T3 publication Critical patent/ES2431289T3/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/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
    • H04N19/43Hardware specially adapted for motion estimation or compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/24Systems for the transmission of television signals using pulse code modulation
    • H04N7/52Systems for transmission of a pulse code modulated video signal with one or more other pulse code modulated signals, e.g. an audio signal or a synchronizing signal
    • H04N7/54Systems for transmission of a pulse code modulated video signal with one or more other pulse code modulated signals, e.g. an audio signal or a synchronizing signal the signals being synchronous
    • 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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • 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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • 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/513Processing of motion vectors
    • 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/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • 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
    • 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
    • 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/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

Un método de decodificación que comprende las etapas de: recibir una señal de imagen codificada que comprende grupos de imágenes que representan una imagen de vídeocodificada por compresión, incluyendo los grupos de imágenes a imágenes de un tipo de codificación de imagen y unaestructura de imagen y codificada para representar una secuencia de macrobloques, teniendo cada macrobloque almenos un vector de movimiento codificado en tanto como vector de movimiento de diferencia;decodificar un macrobloque actual de la señal de imagen codificada utilizando un nuevo vector de movimientoreconstruido mediante detección de un orden de recepción de vectores de movimiento de diferencia en un sentido predeterminado dentro delmacrobloque actual, la selección de una de cuatro memorias registro de vectores de movimiento (PMV1, PMV2, PMV3, PMV4) para vectoresde movimiento en el sentido predeterminado en función del orden detectado de recepción para la lectura de un vector demovimiento reconstruido en el sentido predeterminado y la adición del vector de movimiento de diferencia del macrobloque actual en el sentido predeterminado y el vector demovimiento reconstruido objeto de lectura de las memorias de registro de vectores de movimiento (PMV1, PMV2, PMV3,PMV4) en el sentido predeterminado para formar el nuevo vector de movimiento reconstruido; incluyendo ladecodificación la detección, comparando una dirección de macrobloque actual con una dirección de macrobloque anterior, de lapresencia de un macrobloque objeto de salto operativo que presenta una imagen B como tipo de codificación de imageny una estructura de campo como su estructura de imagen en una imagen actual a partir de datos asociados con la señalde imagen codificada y en respuesta a la detección de un macrobloque objeto de salto operativo que presente una imagen B como su tipo decodificación de imagen y una estructura de campo como su estructura de imagen, la decodificación del macrobloqueobjeto de salto operativo copiando los datos de un macrobloque anterior de la imagen actual bajo las condiciones endonde: la señal de error predictiva del macrobloque actual de la señal de imagen codificada es nula; un vector de movimiento del macrobloque está ajustado en un valor memorizado en una primera memoria registro paraun nuevo vector de movimiento reconstruido (PMV3), un modo de compensación de movimiento del macrobloque actual, en la imagen actual, es idéntico al modo decompensación de movimiento del macrobloque anterior en la imagen actual y un tipo de predicción es una predicción de campo de 16x16 y la actualización del valor de un segundo vector de movimiento predictivo posterior (PMV4) del mismo valor que la primeramemoria registro que se actualiza con un primer vector de movimiento predictivo posterior (PMV3), yla decodificación, cuando la presencia del macrobloque objeto de salto operativo no es detectada, de un macrobloqueactual como macrobloque no objeto de salto operativo utilizando el nuevo vector de movimiento reconstruido.

Description

Método de decodificación de señal de imagen y aparato asociado
DESCRIPCIÓN
CAMPO TÉCNICO
La presente invención se refiere a un método de determinación (cálculo) de la diferencia de vector de movimiento y un elemento de determinación (cálculo) de diferencia de vector de movimiento para determinar (calcular) una diferencia entre vectores de movimiento mediante la predicción de compensación de movimiento de una imagen móvil, un método para determinación de un vector de movimiento reconstruido a partir de la diferencia y un elemento para la determinación del vector de movimiento reconstruido a partir de la diferencia así como un aparato de codificación de imagen en movimiento y un aparato de decodificación de imagen en movimiento para codificar y decodificar una señal de imagen en movimiento para lo que se aplica la determinación de la diferencia y la determinación del vector de movimiento reconstruido a partir de la diferencia, respectivamente.
ANTECEDENTES DE LA INVENCIÓN
En el caso de digitalizar una señal de una imagen en movimiento para registrar y transmitir los datos digitales así obtenidos, puesto que su cantidad de datos se hace muy grande, se pone en práctica la codificación (compresión) para los datos. Como un sistema de codificación representativo, existe una codificación predictiva de compensación de movimiento.
El principio de la predicción de la compensación del movimiento se ilustra en la Figura 9. En la Figura 9, la codificación predictiva de compensación del movimiento es un método que utiliza la correlación en una dirección de base de tiempos de una señal de imagen. Este método predice una imagen actualmente introducida (imagen de trama actual) a partir de una señal de imagen conocida ya decodificada y reproducida (señal de imagen de trama anterior) para desplazar la señal de imagen conocida, decodificada y reproducida (señal de imagen de trama anterior) en correspondencia con el movimiento de la señal para transmitir solamente la información de movimiento (vector de movimiento MV) en ese momento y la información de error predictiva en ese momento, con lo que se comprime la cantidad de información requerida para la codificación.
Como representación de uno de los métodos de codificación y de decodificación predictiva de compensación de movimiento, según se describió anteriormente, existe el así denominado MPEG (Grupo de Expertos para Imágenes en Movimiento) 1. Este grupo MPEG1 es una denominación popular del sistema de codificación de imagen en movimiento que ha progresado en el WG (Grupo de Trabajo) 11 de SC (Sub-Comité) 29 de JTC (Comité Técnico Conjunto) 1 de la así denominada ISO (Organización de Normalización Internacional) y la IEC (Comisión Electrotécnica Internacional).
MPEG1 tiene un procesamiento de codificación de intratrama y de intertramas y la codificación predictiva de compensación de movimiento se utiliza en el caso del procesamiento de codificación de intertramas. Una predicción de compensación de movimiento, a modo de ejemplo, en este momento, se ilustra en la Figura 10. En esta Figura 10, en la predicción de compensación de movimiento en este momento, una trama (imagen) se divide en pequeños bloques (denominados macrobloques (MB) y cada uno de ellos está constituido por 16 líneas x 16 pixels) para realizar la codificación predictiva de compensación de movimiento en unidades de dichos pequeños bloques. En la Figura 10, a modo de ejemplo, se representa la predicción de compensación de movimiento en el caso de procesamiento de codificación de intertramas, la predicción en sentido directo entre, a modo de ejemplo, la trama anterior presente, con anterioridad, en el punto del tiempo y la trama actual y la predicción en sentido inverso entre, a modo de ejemplo, la trama futura presente en el futuro en el punto de tiempo y en la trama actual se ilustran en esta figura.
Una forma de realización práctica, a modo de ejemplo, de la compensación del movimiento, en este momento, se ilustra en la Figura 11. Inicialmente, como procesamiento de la primera etapa, la imagen P (a codificarse) indicada por P en la figura, que salta operativamente sobre varias imágenes, es codificada de forma predictiva utilizando la imagen I, indicada por I en la figura, o cualquier otra imagen P. Dicha operación de codificación predictiva se realiza de forma cíclica. A continuación, como procesamiento de la segunda etapa, las imágenes B, indicadas por B en la figura situadas entre imágenes P, imágenes I o entre la imagen P y la imagen I son objeto de codificación predictiva secuencial desde la imagen P o la imagen I antes o después de dichas imágenes B. Conviene señalar que la imagen I es la imagen codificada intratrama que se prepara sin uso de compensación del movimiento. Además, flechas (excepto la flecha que indica la dirección de tiempo t) en la Figura 11 indican direcciones de predicciones del movimiento.
Para la compensación del movimiento en MPEG1, existen cuatro clases de modos, descritos a continuación, en unidades de macrobloques. Esto es, existen:
un modo de predicción desde una trama presente, con anterioridad, en un punto en el tiempo como primer modo de compensación de movimiento (modo predictivo en sentido directo);
un modo de predicción a partir de una trama presente en el futuro, en un punto del tiempo, como segundo modo de compensación del movimiento (modo predictivo en sentido inverso);
un modo de predicción lineal a partir de tramas anteriores y futuras como un tercer modo de compensación de movimiento (modo predictivo bidireccional) (esto es, bloques predictivos desde una trama anterior y bloques predictivos desde una trama futura se someten a un cálculo del valor medio en cada pixel) y
un modo que no tenga ninguna compensación de movimiento como cuarto modo de compensación de movimiento (esto es, un modo intracodificado).
Entre estas cuatro clases de modos de compensación del movimiento, en la imagen P, un modo óptimo de entre los primeros y cuartos modos de compensación de movimiento se seleccionan en unidades de macrobloques. En este momento, como la trama anterior a la que se hace referencia en el momento de la predicción de la compensación de movimiento con respecto a la imagen de trama actual, existe una sola trama. Además, en la imagen B, un modo óptimo de entre los primeros a cuartos modos de compensación de movimiento se selecciona en unidades de macrobloques. En este momento, como la trama pasada y la trama futura a la que se hace referencia en el momento de la predicción de la compensación del movimiento con respecto a la imagen de la trama actual, existen tramas únicas, respectivamente.
En la imagen P y la imagen B, como vector de movimiento en unidades del macrobloque, un vector de movimiento que hace referencia a la trama anterior existe en predicción en el primer modo de compensación de movimiento. En predicción en el segundo modo de compensación de movimiento, un vector de movimiento que hace referencia a la trama futura existe en este modo. En la predicción en el tercer modo de compensación de movimiento, existen vectores de movimiento que hacen referencia a las tramas anteriores y futuras, respectivamente.
En MPEG1, los vectores de movimiento proporcionados en unidades de estos macrobloques se hacen someter a determinación (cálculo) de la diferencia mediante el elemento de determinación (cálculo) de la diferencia representado en la Figura 12 haciendo uso del hecho de que la información del vector de movimiento dada en unidades de macrobloques tienen una alta correlación espacial y se transmite la información de la diferencia así obtenida.
En un sentido más práctico, en este elemento de determinación de la diferencia, el terminal 404 se alimenta con las señales del modo de compensación de movimiento dadas como cuatro clases de los primeros a cuartos modos de compensación de movimiento y el terminal 401 es alimentado con una señal de vector de movimiento actualmente introducida. La señal de vector de movimiento actualmente introducida se envía al terminal común del conmutador 406 y se añade al terminal de entrada del circuito de diferencia 405 y la señal del modo de compensación de movimiento se envía al dispositivo de conmutación 403.
El terminal seleccionado (conmutado) a del conmutador 406 está conectado al terminal de entrada de registro 402a para el vector de referencia de trama anterior del grupo de registros 402 y el terminal seleccionado b está conectado al terminal de entrada de registro 402b para un futuro vector de referencia de trama del grupo de registro 402. Además, el terminal de salida de registro 402a para el vector de referencia de trama anterior del grupo de registro 402 está conectado al terminal seleccionado a del conmutador 407 y el terminal de salida del registro 402b, para el vector de referencia de trama futura, está conectado al terminal seleccionado b del conmutador 407. Estos conmutadores 406 y 407 son de una estructura tal que cualquiera de los terminales seleccionados a y b se selecciona en función de la señal de conmutación de registro S401 proporcionada a la salida del dispositivo de conmutación 403 suministrada con la señal de modo de compensación de movimiento. Una salida del conmutador 407 se envía para sustraer el terminal de entrada del circuito de diferencia 405.
En consecuencia, el circuito de diferencia 405 toma una diferencia entre la señal de vector de movimiento S402, que ha sido objeto de lectura a través del conmutador 407 desde el grupo de registro 402, en conformidad con la señal de conmutación de registro S401 proporcionada desde el dispositivo de conmutación 403 y de la señal de vector de movimiento procedente del terminal 401. Una diferencia proporcionada por el circuito de referencia 405 se genera a la salida del terminal 408 como un vector de movimiento de diferencia desde el circuito de determinación de la diferencia.
La señal de vector de movimiento, actualmente introducida, es objeto de sobre-escritura en el registro 402a o 402b designado por la señal de conmutación de registro S401 por intermedio del conmutador 406 y está recientemente memorizada en ella.
Según se describió anteriormente, en el elemento de determinación de la diferencia, los vectores de movimiento que hacen referencia a la trama anterior y los vectores de movimiento que hacen referencia a la trama futura se someten, con independencia, al procesamiento para determinación de la diferencia.
Una forma de realización más práctica, a modo de ejemplo, de la operación del elemento de determinación de la diferencia, anteriormente descrito, se ilustra en la Figura 13. En esta Figura, la componente X de las coordenadas (X, Y) del vector de movimiento indica el movimiento en una dirección horizontal y su componente Y indica el movimiento en una dirección vertical. Valores positivos se proporcionan a los movimientos espacialmente en la dirección a la derecha y en dirección más baja y valores negativos se asignan a los movimientos en dirección izquierda y en dirección superior.
En esta forma de realización, a modo de ejemplo, (0, 0) se proporciona como un valor inicial en el momento de la determinación de la diferencia. Además, en esta Figura, FMV representa el vector de movimiento de referencia de la trama anterior y BMV representa el vector de movimiento de referencia de la trama futura. Además, en esta Figura, el modo (1) representa el modo de compensación del movimiento de predicción en sentido directo, el modo (2) representa el modo de compensación del movimiento de predicción en sentido inverso y el modo (3) representa el modo de compensación del movimiento de predicción bidireccional.
Esto es, en la Figura 13, a modo de ejemplo, cuando el modo de compensación del movimiento de un pequeño bloque en el extremo izquierdo de la Figura es el modo (3), el vector de movimiento de referencia de trama anterior FMV es (10, 10) y el vector de movimiento de referencia de trama futura BMV es (8, 8), si el vector de movimiento, en un pequeño bloque del modo (1) adyacente al lado derecho es (8, 5), el vector de movimiento de la diferencia se hace igual a (-2, -5) de (8, 5) – (10, 10) y si el vector de movimiento en el pequeño bloque del modo (1) adyacente en el lado derecho es (7, 6), el vector de movimiento de la diferencia se hace igual a (-1, 1) de (7, 6) – (8, 5). Además, si el vector de movimiento en el bloque pequeño del modo (2) adyacente en el lado derecho es (9, 10), el vector de movimiento de la diferencia se hace igual a (1, 2) de (9, 10) – (8, 8) y si los vectores de movimiento de entrada en el pequeño bloque del modo (3) adyacente en el lado derecho son (5, 4) y (8, 9), sus vectores de movimiento de diferencia se hacen igual a (-2, -2) de (5, 4) – (7, 6) y (-1, -1) de (8, 9) – (9, 10).
Un elemento de determinación de la diferencia inversa para reconstruir el vector de movimiento a partir del vector de movimiento que se hace representar por el vector de la diferencia, que es una configuración complementaria al elemento de determinación de la diferencia ilustrado en la Figura 13, se representa en la Figura 14.
En un sentido más práctico, en el elemento de determinación de diferencia inversa, al terminal 414 se le suministra señales de modo de compensación de movimiento dadas como cuatro clases de los primeros a cuartos modos de compensación del movimiento y al terminal 408 se le suministra la señal de vector de movimiento de la diferencia actualmente introducida. La señal de vector de movimiento de la diferencia se envía a un terminal de entrada de adición del circuito sumador 409 y la señal del modo de compensación de movimiento se envía al dispositivo de conmutación
413.
Además, el terminal seleccionado a del conmutador 411 está conectado al terminal de salida de registro 410a para el vector de referencia de trama anterior del grupo de registros 410 y el terminal seleccionado b está conectado al terminal de salida del registro 410b para el vector de referencia de trama futura. Este conmutador 411 es de una estructura tal que cualquiera de los terminales seleccionados a y b se selecciona en función de la señal de conmutación de registro S403 procedente del dispositivo de conmutación 413 suministrado con la señal de modo de compensación de movimiento. El terminal común del conmutador 411 está conectado al otro terminal de entrada de adición del circuito sumador 409.
En consecuencia, el circuito sumador 409 admite una adición de la señal de vector de movimiento S404 que ha sido objeto de lectura a través del conmutador 411 desde el grupo de registro 410 en función de la señal de conmutación de registro S403 procedente del dispositivo de conmutación 413 y la señal de vector de movimiento de la diferencia desde el terminal 408. Una salida de adición del circuito sumador 409 se proporciona desde el terminal 415 como una señal de vector de movimiento reconstruido a partir del elemento de determinación de la diferencia inversa.
Además, la señal del vector de movimiento reconstruido a partir del circuito sumador 409 se envía también al terminal común del conmutador 412. Este conmutador 412 es de una estructura tal que cualquiera de los terminales seleccionados a y b se selecciona sobre la base de la señal de conmutación de registro S403. El terminal seleccionado a está conectado al registro 410a para el vector de referencia de trama anterior del grupo de registro 410 y el terminal seleccionado b está conectado al registro 410b para el vector de referencia de trama futura.
Por este motivo, la información del vector de movimiento reconstruido es objeto de sobre-escritura, por intermedio del conmutador 412, hacia el registro 410a o 410b designado por la señal de conmutación de registros S403 y está recientemente memorizada en ella.
Mientras tanto, puesto que MPEG1 antes citado es el método de codificación de imagen en movimiento adecuado para la imagen no entrelazada, no puede decirse que MPEG1 sea necesariamente adecuado para la codificación de la señal entrecruzada tal como el así denominado sistema NTSC o sistema PAL, etc. que es una señal de televisión. Éste era realmente el problema.
Por este motivo, en los últimos años, se ha propuesto un sistema para poner en práctica la codificación predictiva de compensación de movimiento eficiente para la señal entrecruzada en MPEG2 como sucesor del MPEG1. En este sistema, según se ilustra en la Figura 15, se adopta un método de realización adaptativa de la conmutación entre la unidad para gestionar la imagen en la trama y la de gestión en el campo. En la Figura 15, fr indica trama, fi indica campo, la flecha FRP indica predicción de base de trama y la flecha FIP indica la predicción de la base de campo.
En este momento, en el MPEG2, en el caso de que la estructura de imagen sea una trama, se adopta un método de conmutación adaptativa si la predicción de compensación del movimiento se realiza por macrobloque de base de trama o macrobloque de base de campo.
Además, en el MPEG2, se adopta un método en el que el macrobloque se divide en áreas de 16 pixels x 8 líneas de la parte superior y la parte inferior según demande la ocasión operativa para realizar, de forma independiente, la predicción de compensación del movimiento en las áreas respectivas.
5 En este momento, el número de vectores de movimiento dados en unidades de macrobloques es como sigue. Esto es, en la predicción anteriormente descrita del primer modo de compensación del movimiento, existen uno o más vectores de movimiento que hacen referencia a la trama anterior (o campo); en la predicción del segundo modo de compensación del movimiento, existen uno o más vectores de movimiento que hacen referencia a la trama futura (o campo) y en la predicción del tercer modo de compensación del movimiento, existen uno o más vectores de movimiento que hacen referencia, a la vez, a las tramas (o campos) anteriores y futuras, respectivamente. Los números de vectores de movimiento en los modos de compensación de movimiento respectivos se varían en unidades de macrobloques.
Según se indicó anteriormente, como el método de predicción de compensación del movimiento en MPEG2, se proponen sistemas más complejos que el MPEG1. En consecuencia, se obtienen más clases de vectores de
15 movimiento, en ese momento, en comparación con MPEG1. Bajo dichas circunstancias, se plantean dos problemas en la gestión de estos vectores de movimiento.
Esto es, el primer problema es que el método utilizado en MPEG1 no puede aplicarse en la codificación del vector de movimiento. Por este motivo, se hicieron varias propuestas. Están sometidas a la inspección pública, p.e., en P.32, P.44, P.145, P.148 de ISO-IEC/JTC1/SC29/WG11 MPEG93/225b Modelo de prueba 4 (depositado en febrero de 1993).
Sin embargo, no puede decirse que estas propuestas soportan todos los modos de compensación del movimiento y por lo tanto, son insuficientes hasta ahora. Además, estas propuestas tienen el inconveniente de que no pueden resolver el segundo problema descrito a continuación.
25 El segundo problema reside en que la gestión del macrobloque, objeto de salto operativo, no se indica con claridad.
En este caso, los macrobloques, objeto de salto operativo, en MPEG1, son macrobloques según se caracteriza a continuación: a saber, están caracterizados por cuanto que:
en primer lugar, el macrobloque, objeto de salto operativo, está en la imagen P,
no existe ninguna señal de error de compensación de movimiento a transmitirse (condición a_1e),
35 el modo de compensación del movimiento es una predicción en sentido directo (condición a_2e) y
el valor del vector de movimiento es cero (condición a_3e);
en segundo lugar, el macrobloque objeto de salto operativo en la imagen B
no existe ninguna señal de error de compensación de movimiento a transmitirse (condición b_1e),
el modo de compensación del movimiento es el mismo que el del macrobloque transmitido inmediatamente antes (condición b_2e) y
45 el valor del vector de movimiento que ha de ser el vector de diferencia obtenido por el elemento de determinación de diferencia ilustrado en la Figura 12 es cero (condición b_3e).
Además, en el decodificador, los macrobloques objeto de salto operativo serán gestionados en MPEG1 como sigue: a saber, en MPEG1, los macrobloques objeto de salto operativo se gestionan de tal manera que
en primer lugar, el procesamiento de los macrobloques objeto de salto operativo en la imagen P es que
la señal de error de compensación del movimiento que ha sido transmitida se considera que es nula (condición a_1d),
55 el modo de compensación del movimiento se hace objeto de predicción en sentido directo (condición a_2d) y
el valor del vector de movimiento se establece en cero (condición a_3d),
en segundo lugar, el procesamiento de los macrobloques objeto de salto operativo en la imagen B es que
la señal de error de compensación del movimiento, que se ha transmitido, se considera que es nula (condición b_1d),
el modo de compensación del movimiento de un macrobloque recibido inmediatamente antes de que se requiera su 65 copia (condición b_2d) y
el vector de movimiento de un macrobloque recibido inmediatamente antes es requerido para copiarse (condición b_3d).
Simplemente dicho de otro modo, en MPEG1, el procesamiento de decodificación del macrobloque, objeto de salto operativo, en la imagen P es copia de la imagen anterior y el procesamiento de decodificación de los macrobloques 5 objeto de salto operativo en la imagen B es copia del macrobloque adyacente en el lado izquierdo decodificado inmediatamente antes dentro de la misma trama.
Según se describió anteriormente, en el MPEG1, con respecto al macrobloque que es un macrobloque objeto de salto operativo, el codificador no transmite ningún dato. Como se indicó anteriormente, el macrobloque objeto de salto
10 operativo es una importante tecnología de codificación con miras a la mejora en la eficiencia de la codificación. A modo de ejemplo, en el caso en donde aún cuando una imagen a procesarse sea una secuencia de imágenes en movimiento, su contenido es una escena operativa en donde imágenes fijas (imágenes que tienen un movimiento muy suave) son sucesivas, pudiéndose la mayor parte de los macrobloques gestionarse como macrobloques objeto de salto operativo. En el caso extremo, puede utilizarse un procedimiento para codificar la primera trama dentro de la imagen sin
15 compensación de movimiento para transmitir información de trama codificada, permitiendo así que los macrobloques procedentes de las segundas tramas y de las tramas sucesivas sean casi gestionados como macrobloques objeto de salto operativo. En este caso, puede esperarse una gran mejora en la eficiencia de la codificación.
A partir de los hechos anteriormente descritos, un método para codificar el vector de movimiento en la predicción de
20 compensación del movimiento del MPEG2 anteriormente descrito se requiere para ser un método en el que se tome también en consideración la gestión del macrobloque objeto de salto operativo.
Sin embargo, en el caso de métodos de codificación del vector de movimiento convencionalmente propuestos al MPEG2, no se toma en consideración la gestión del macrobloque objeto de salto operativo. Por este motivo, dichos métodos
25 tienen el inconveniente de tener fallos operativos en la gestión de los macrobloques objeto de salto operativo.
A modo de ejemplo, el problema se describirá ahora sobre la base de la configuración del elemento de determinación de la diferencia ilustrado en la Figura 16. Éste es el método descrito en ISO-IEC/JTC1/SC29/WG11 MPEG93/225b Modelo de Prueba 4, del material anteriormente descrito.
30 En la Figura 16, al terminal 504 se le suministra información de modos de predicción progresiva, regresiva o bidireccional como la señal de modo de la compensación del movimiento, información indicadora de la predicción de trama o de la predicción de campo, etc., como señal de tipo de predicción que se describirá más adelante e información que indica la estructura de trama, la estructura de campo o progresiva como señal de estructura de imagen y se suministra además,
35 en adición a la anterior, con información que indica el primer campo (campo 1, p.e., campo impar) o el segundo campo (campo 2, p.e., campo par) como señal de paridad del vector de movimiento de campo, información que indica, de forma similar, el primer campo o el segundo campo como la señal de paridad de campo prevista y la información que indica la imagen P o la imagen B como señal de tipo de codificación de imagen. Además, al terminal 501 se le suministra una señal de vector de movimiento actualmente introducida.
40 La señal que ha sido entregada al terminal 504 se envía al dispositivo de conmutación 503. Además, la señal de vector de movimiento actualmente introducida se envía al terminal común del conmutador 506 por intermedio del convertidor de escalas 509 para poner en práctica una conversión de escala predeterminada B para el vector de movimiento actualmente introducido sobre la base de la señal de indicación de escala SCB procedente del dispositivo de
45 conmutación 503 y se envía directamente al terminal de entrada de adición del circuito de diferencia 505.
El conmutador 506 tiene terminales seleccionados a a d. El terminal seleccionado a se conecta al terminal de entrada de la memoria registro PMV1 del grupo de memorias registros 502 para memorizar el vector de movimiento que se describirá más adelante; el terminal seleccionado b está conectado al terminal de entrada de la memoria registro PMV2
50 del grupo de registro 502; el terminal seleccionado c se conecta al terminal de entrada de la memoria registro PMV3 y el terminal seleccionado d se conecta al terminal de entrada de la memoria registro PMV4. Además, el terminal de salida de la memoria registro PMV1 del grupo de memorias registros 502 para memorizar el vector de movimiento se conecta al terminal seleccionado a del conmutador 507; el terminal de salida de la memoria registro PMV2 está conectado al terminal seleccionado b del conmutador 507; el terminal de salida de la memoria registro PMV3 está conectado al
55 terminal seleccionado c del conmutador 507 y el terminal de salida de la memoria registro PMV4 está conectado al terminal seleccionado d del conmutador 507. Estos conmutadores 506 y 507 son de una estructura tal que cualquiera de los terminales seleccionados a a d se selecciona en función de la señal de conmutación de registros procedente del dispositivo de conmutación 503.
60 Una salida del conmutador 507 se envía al terminal de entrada de sustracción del circuito de la diferencia 505 a través del convertidor de escalas 510 para poner en práctica una conversión de escala predeterminada A sobre la base de la señal de indicación de escala SCA desde el dispositivo de conmutación 503. El circuito de la diferencia 505 toma una diferencia entre la información procedente del convertidor de escala 510 y la señal de vector de movimiento desde el terminal 501. La diferencia obtenida por este circuito de la diferencia 505 se proporciona desde el terminal 508 como una
65 señal de vector de movimiento de la diferencia desde el elemento de determinación de la diferencia.
Además, la información del vector de movimiento actualmente introducido es objeto de sobreescritura, a través del convertidor de escala 509 y a través del conmutador 506, en cualquiera de las memorias registro PMV1 – PMV4 designadas por la señal de conmutación de registros y está recientemente memorizada en ella.
5 Según se indicó anteriormente, en el elemento de determinación de la diferencia para determinar la diferencia entre vectores de movimiento ilustrados en la Figura 16, se prepara el grupo de memorias de registro 502 constituido por cuatro memorias registros PMV1 – PMV4 para memorizar la señal del vector de movimiento.
La operación del grupo de memorias registro 502 para memorizar el vector de movimiento se describirá a continuación.
En ISO-IEC/JTC1/SC29/WG11 MPEG93/225b, Modelo de Prueba 4, en el caso de la imagen P, se ha propuesto utilizar las respectivas memorias registro PMV1 – PMV4 del grupo de memorias registro 502 de la Figura 16 en una manera descrita a continuación.
15 A saber, a modo de ejemplo, la información del vector de movimiento en sentido directo en donde la imagen de referencia (imagen que sirve como referencia de la imagen predictiva) es el primer campo y el campo previsto a tal respecto (campo que ha de codificarse en lo sucesivo) es el primer campo que se memoriza en la memoria registro PMV1. Además, la información del vector de movimiento en sentido directo en donde la imagen de referencia es el segundo campo y el campo previsto es el primer campo se memoriza en la memoria registro PMV2. La información del vector de movimiento en sentido directo en donde la imagen de referencia es el primer campo y el campo previsto es el segundo campo se memoriza en la memoria registro PMV3. Además, la información del vector de movimiento en sentido directo en donde la imagen de referencia es el segundo campo y el campo previsto es el segundo campo se memoriza en la memoria registro PMV4. Esto es, en la imagen P, la relación entre las señales del vector de movimiento y las memorias registro respectivas, en donde se memorizan, fue determinada mediante combinaciones de imágenes de
25 referencia y campos objeto de predicción.
Por otro lado, en ISO-IEC/JTC1/SC29/WG11 MPEG93/225b, Modelo de Prueba 4, en el caso de la imagen B, se ha propuesto utilizar las respectivas memorias registro PMV1 – PMV4 de la Figura 16 en una manera descrita a continuación.
Esto es, a modo de ejemplo, dos memorias registro PMV se preparan para el vector de movimiento en sentido directo. A modo de ejemplo, la información del vector de movimiento en sentido directo, en donde la imagen de referencia es el primer campo, se memoriza en la memoria registro PMV1 y la información del vector de movimiento en sentido directo, en donde la imagen de referencia es el segundo campo, se memoriza en la memoria registro PMV2. Además, dos
35 memorias registro PMV se preparan también para el vector de movimiento en sentido inverso. La información del vector de movimiento en sentido inverso, en donde la imagen de referencia es el primer campo, se memoriza en la memoria registro PMV3 y la información del vector de movimiento en sentido inverso, en donde la imagen de referencia es el segundo campo, se memoriza en la memoria de registro PMV4. Esto es, en la imagen B, haciendo caso omiso de si un campo es objeto de predicción como el primer campo o como el segundo campo, las señales del vector de movimiento, en donde la imagen de referencia y la dirección de predicción son las mismas, se memorizaron en la misma memoria registro.
En el elemento de determinación de la diferencia, representado en la Figura 16, al permitir que el vector de movimiento actualmente introducido sea el vector de la diferencia, se utiliza un método para extraer el valor de la memoria registro 45 PMV correspondiente a ese vector de movimiento (esto es, PMV en donde un vector de movimiento que tenga paridad de la imagen de referencia y el campo previsto que son los mismos que el vector de movimiento se memoriza en el caso de que el vector de movimiento se utilice para la codificación de la imagen P y, PMV en donde un vector de movimiento que tenga paridad de imagen de referencia y dirección de predicción que sean las mismas que las del vector de movimiento se memoriza en el caso en donde ese vector de movimiento se utilice para la codificación de la imagen B) para poner en práctica una conversión de escala A predeterminada por el convertidor de escala 510 cuando la ocasión operativa lo demanda (en conformidad con la señal de indicación de escala SCA), en adelante, para realizar el cálculo entre el valor de escala convertido A y el vector de movimiento actualmente introducido, antes citado, por el circuito de diferencia 505. Además, la conversión de escala B se pone en práctica para el valor del vector de movimiento actualmente introducido por el convertidor de escala 509 cuando lo demanda la ocasión operativa, en lo sucesivo, para
55 su sobreescritura en cualquiera de las memorias registro PMV seleccionadas y sometidas a referencia en el momento de la determinación del vector de movimiento de la diferencia según se describió anteriormente aunque no se ilustre para su reciente memorización en ella. El elemento de determinación de la diferencia se construye de esta manera.
La Figura 17 representa un elemento de determinación de la diferencia inversa correspondiente al elemento de determinación de la diferencia para el vector de movimiento representado en la Figura 16.
En el elemento de determinación de la diferencia inversa, que se ilustra en la Figura 17, se suministra al terminal 524 la señal de modo de compensación de movimiento, la señal del tipo de predicción, la señal de la estructura de imagen, la señal de paridad del vector de movimiento de campo, la señal de paridad de campo prevista y la señal del tipo de
65 codificación de imagen. Además, al terminal 518 se le suministra la señal del vector de movimiento de diferencia actualmente introducido.
La información a través del terminal 524 se envía al dispositivo de conmutación 523 y el vector de movimiento de diferencia se envía a un terminal de entrada de adición del circuito sumador 519.
Además, el terminal seleccionado a del conmutador 521 se conecta al terminal de salida de la memoria registro PMV1 del grupo de memorias registro 520 de memorización del vector de movimiento para realizar una memorización similar a la del grupo de memorias registro 502 de memorización del vector de movimiento que se representa en la Figura 16; el terminal seleccionado b se conecta al terminal de salida de la memoria de registro PMV2, el terminal seleccionado c se conecta al terminal de salida de la memoria de registros PMV3 y el terminal seleccionado d se conecta al terminal de salida de la memoria de registro PMV4. Este conmutador 521 es de una estructura tal que cualquiera de los terminales seleccionados a a d se selecciona en función de la señal de conmutación de registro procedente del dispositivo de conmutación 523. El terminal común de este conmutador 521 está conectado al otro terminal de entrada de adición del circuito sumador 519 a través del convertidor de escala 529 para poner en práctica una conversión de escala C predeterminada para una señal entregada sobre la base de la señal de indicación de escala SCC procedente del dispositivo de conmutación 123.
En consecuencia, el circuito sumador 519 toma una adición de la señal del vector de movimiento transmitida a través del conmutador 521 desde el grupo de memorias registro 520 en función de la señal de conmutación de registros proporcionada desde el dispositivo de conmutación 523 y además, a través del convertidor de escalas 529 y la señal del vector de movimiento de diferencia desde el terminal 518. Una salida de adición del circuito sumador 519 se proporciona desde el terminal 525 como vector de movimiento reconstruido a partir del elemento de determinación de la diferencia inversa.
Además, la señal del vector de movimiento reconstruido desde el circuito sumador 519 se envía también al terminal común del conmutador 522 por intermedio del convertidor de escala 530 para poner en práctica una conversión de escala predeterminada D para una señal entregada sobre la base de la señal de indicación de escala SCD procedente del dispositivo de conmutación 523. Este conmutador 522 es de una estructura tal que cualquiera de los terminales seleccionados a-d se selecciona sobre la base de la señal de conmutación de registros. En este conmutador 522, el terminal seleccionado a está conectado al terminal de entrada de la memoria registro PMV1 del grupo de memorias registro 520, el terminal seleccionado b está conectado al terminal de entrada de la memoria registro PMV2, el terminal seleccionado c está conectado al terminal de entrada de la memoria registro PMV3 y el terminal seleccionado d está conectado al terminal de entrada de la memoria registro PMV4.
De este modo, la información del vector de movimiento reconstruido es objeto de sobre-escritura y está recientemente memorizada en cualquiera de las memorias registro PMV1 – PMV4 designada por la señal de conmutación de registros por intermedio del conmutador 522.
Es decir, en el elemento de determinación de la diferencia inversa representado en la Figura 17, el valor memorizado en la memoria registro PMV correspondiente al vector de movimiento de la diferencia aplicado a la entrada (es decir, PMV en donde el vector de movimiento reconstruido que presenta valores de paridad de la imagen de referencia y campo previsto, que son los mismos que el vector de movimiento de la diferencia, se memoriza en el caso en donde el vector de movimiento de la diferencia se utiliza para la decodificación de la imagen P o PMV en donde el vector de movimiento reconstruido, que presenta una paridad de imagen de referencia y una dirección de predicción que son las mismas que las del vector de movimiento de diferencia que se memoriza en el caso en el que el vector de movimiento de referencia se emplea para decodificar la imagen B), que corresponde al vector de movimiento diferencial introducido, se extrae para poner en práctica la conversión de escalas C a ese valor utilizando el convertidor de escalas 529 cuando la ocasión operativa lo demanda, en lo sucesivo, para realizar un cálculo de adición de ese valor convertido de escala y el vector de movimiento de diferencia actualmente introducido con el uso del circuito sumador 519, con lo que se reconstruyen los vectores de movimiento correspondientes al vector de movimiento original. El vector de movimiento reconstruido se somete a la conversión de escala D por intermedio del convertidor de escala 530 cuando lo demanda la ocasión operativa, en lo sucesivo, para la sobreescritura y reciente memorización del valor convertido de escala en cualquiera de las memorias registro PMV1 – PMV4 seleccionadas y sujetas a referencia en el momento de reconstrucción del vector de movimiento. De este modo, se construye el elemento de determinación de diferencia inversa.
Una operación, a modo de ejemplo, en el elemento de determinación de la diferencia de la Figura 16, en la imagen B, se describirá ahora haciendo referencia a la Figura 18.
En la Figura 18, con respecto al macrobloque (pequeño bloque) MB1, se supone que no existe ninguna señal de error predictiva a transmitirse (se satisface la condición antes citada de b_1e). Además, los macrobloques MB0 y MB1 se supone que tienen el mismo modo de predicción en sentido directo (se satisface la condición b_2e antes citada).
En este momento, se supone que, a modo de primer ejemplo, la estructura de la imagen es la estructura del campo y la paridad del campo previsto es el primer campo (el campo previsto es el primer campo). El tipo de predicción es una predicción basada en un campo de 16x8 en el caso de realizar con independencia, respectivamente, la predicción con respecto al área de 16 pixels x 8 líneas de la parte superior y el área de 16 pixels x 8 líneas de la parte inferior. En la Figura 18, a modo de ejemplo, el vector de movimiento de la parte superior del macrobloque MB0 es (5, 1)(1), el vector de movimiento de la parte inferior del macrobloque MB0 es (5, 5)(2), el vector de movimiento de la parte superior del macrobloque MB1 es (5, 5)(3), el vector de movimiento de la parte inferior del macrobloque MB1 es (5, 5)(4), el vector de movimiento de la parte superior del macrobloque MB2 es (5, 5)(5) y el vector de movimiento de la parte inferior del macrobloque MB2 es (5, 5)(6).
5 Además, se supone que todos los vectores de movimiento de macrobloques MB0 y MB1 hacen referencia al mismo primer campo. En este caso, puesto que la paridad de la imagen de referencia y la dirección de la predicción son las mismas con respecto a todos los vectores de movimiento, las diferencias entre vectores de movimiento memorizados en una memoria registro PMV1 de la Figura 16, se toman para transmitir el vector de movimiento de diferencia. Se supone que (0, 0) se memoriza como un valor inicial en la memoria registro PMV1 de la Figura 16.
Es decir, en el caso de la Figura 18, a modo de ejemplo, en el macrobloque MB0, (5, 1)(1) - PMV1 = (5, 1) que es una diferencia entre el vector de movimiento (5, 1)(1) de la parte superior y se obtiene el valor inicial (0, 0) de la memoria registro PMV1. El valor así obtenido se proporciona, a la salida, como vector de movimiento de diferencia de la parte superior de MB0. El vector de movimiento (5, 1)(1) se memoriza en la memoria registro PMV1. Además, (5, 5)(2) – PMV1 =
15 (0, 4) que es una diferencia entre el vector de movimiento (5, 5)(2) de la parte inferior y el valor (5, 1) de la memoria registro PMV1 se obtiene de esta manera. El valor así obtenido se proporciona, a la salida, como el vector de movimiento de diferencia de la parte inferior. El vector de movimiento (5, 5)(2) se memoriza en la memoria registro PMV1. A continuación, tomando, de forma similar, una diferencia también con respecto al macrobloque MB1, todos los vectores de movimiento de diferencia se hacen iguales a cero (0, 0) en el macrobloque MB1. (Se satisface la condición antes citada de b_3e).
Además, a modo de segundo ejemplo, cuando la condición b_1e y la condición b_2e se satisfacen según se describió anteriormente, se supone que la estructura de la imagen es la estructura de la trama. El tipo de predicción se supone que es la predicción basada en el campo para predecir, de forma independiente, respectivamente, el primer campo y el
25 segundo campo del macrobloque MB (el campo previsto se supone que es el primer campo y el segundo campo). Además, se supone que el primer campo del macrobloque MB0 es (5, 1)(1), un vector de movimiento del segundo campo es (5, 5)(2), el vector de movimiento del segundo campo del macrobloque MB1 es (5, 5)(3), el vector de movimiento del segundo campo es (5, 5)(4), el vector de movimiento del segundo campo del macrobloque MB2 es (5, 5)(5) y el vector de movimiento del segundo campo es (5, 5)(6).
Además, todos los vectores de movimiento del macrobloque MB0 y del macrobloque MB1 se supone que hacen referencia al mismo primer campo. También en este caso, puesto que la prioridad de la imagen de referencia y la dirección predictiva son las mismas con respecto a todos los vectores de movimiento, se toman las diferencias entre los vectores de movimiento memorizados en la memoria registro PMV1 de la Figura 16 para transmitir el vector de
35 movimiento de diferencia. De este modo, también a modo de ejemplo, el método de tomar la diferencia es el mismo que el de la Figura 18. En el macrobloque MB1, los vectores de movimiento de la diferencia se hacen todos ellos igual a cero (0, 0) (se satisface la condición b_3e).
A partir de los hechos anteriormente descritos, en los dos ejemplos antes citados, en conformidad con la regla establecida en MPEG1, las condiciones antes citadas b_1e, b_2e, b_3e se satisfacen en el macrobloque MB1. En consecuencia, se supone ahora que el codificador ha procesado este macrobloque MB1 como un macrobloque objeto de salto operativo.
En este caso, sin embargo, existe una selección errónea. Esto es así porque, en el lado del decodificador, el
45 procesamiento de las condiciones b_1d y b_2d antes citadas, se realizan de forma correcta, pero la copia se realiza aunque los vectores de movimiento de los macrobloques MB0 y MB1 son realmente distintos. Es decir, si el macrobloque MB1 se considera que es un macrobloque objeto de salto operativo, en el caso de realización anterior, a modo de ejemplo, aunque el vector de movimiento (5, 1)(1) de la parte superior del macrobloque MB0 y el vector de movimiento (5, 5)(3) de la parte superior del macrobloque MB1 son diferentes (5, 1)(1) ≠ (5, 5)(3), se realiza la copia del vector de movimiento desde el macrobloque MB0 al macrobloque MB1. En consecuencia, la decodificación no se realiza de forma correcta. Además, también en el caso de la última realización, a modo de ejemplo, aunque el vector de movimiento (5, 1)(1) del primer campo del macrobloque MB0 y el vector de movimiento (5, 5)(3) del primer campo del macrobloque MB1 son realmente diferentes, se realiza una copia errónea.
55 Este problema resulta del hecho de que, en la técnica anterior, en la imagen B, al permitir vectores de movimiento dentro del mismo macrobloque para ser un vector de movimiento de la diferencia para su transmisión, se utiliza la misma memoria registro (PMV), dos o más veces, para actualizar su contenido.
Además, el hecho de que la misma memoria registro (PMV) se utiliza dos o más veces con respecto al vector de movimiento dentro del mismo macrobloque, además, da lugar a problemas según se describe a continuación, en el lado del decodificador.
La Figura 19 representa la operación para reconstruir el vector de movimiento a partir del vector de movimiento de diferencia transmitido con respecto a la imagen B. Conviene señalar, también a modo de ejemplo, que la estructura de la 65 imagen es la estructura de campo y los macrobloques MB0, MB1, MB2 se codifican en el modo predictivo en sentido directo, respectivamente, con independencia en el área de 16 pixels x 8 líneas de la parte superior y el área de 16 pixels
x 8 líneas de la parte inferior. Además, se supone que el área de 16 pixels x 8 líneas de la parte superior y el área de 16 pixels x 8 líneas de la parte inferior se hacen ambas el primer campo único.
En la forma de realización, a modo de ejemplo, de la Figura 19, puesto que el área de la parte superior y el área de la parte inferior tienen la misma paridad de imagen de referencia y la misma dirección de predicción, p.e., solamente se utiliza la memoria registro PMV1, de modo que el contenido de esa memoria registro PMV1 varía dentro del mismo macrobloque. Por este motivo, con el fin de mantener el vector de movimiento del macrobloque procesado inmediatamente antes, resulta necesario tener cuatro memorias registro adicionales (respectivamente, dos memorias registro para los vectores en sentido directo y en sentido inverso) exceptuado para las memorias registro PMV. Conviene señalar que el método de mantener el vector de movimiento del macrobloque inmediatamente antes se suele realizar también con miras a llevar a cabo una corrección de errores, etc., en el lado del decodificador.
Es decir, en la Figura 19, se supone que, como vector de movimiento de la diferencia obtenido a partir de la configuración de la Figura 18, (5, 1)(1) del vector de movimiento de diferencia de la parte superior del macrobloque MB0, (0, 4)(2) del vector de movimiento de diferencia de la parte inferior del macrobloque MB0 (0, 0)(3) del vector de movimiento de diferencia de la parte superior del macrobloque MB1, (0, 0)(4) del vector de movimiento de diferencia la parte inferior del macrobloque MB1, (0, 0)(5) del vector de movimiento de la diferencia de la parte superior del macrobloque MB2 y (0, 0)(5) del vector de movimiento de la diferencia de la parte inferior del macrobloque MB2 se obtienen de esta manera. Además, se supone que (0, 0) se memoriza con valor inicial en la memoria registro PMV1.
En el caso de la Figura 19, a modo de ejemplo, en el macrobloque MB0, (5, 1)(1) + PMV1 = (5, 1)A mediante la adición del vector de movimiento de la diferencia (5, 1)(1) de la parte superior y el valor inicial (0, 0) de la memoria registro PMV1 se obtiene como el vector de movimiento reconstruido. Este vector de movimiento reconstruido se envía a la memoria registro PMV1. Además, en la parte inferior del macrobloque MB0, (0, 4)(2) + PMV1 = (5, 5)B mediante la adición del vector de movimiento de diferencia (0, 4)(2) de la parte inferior y el vector de movimiento reconstruido en la memoria registro PMV1 se obtiene como vector de movimiento reconstruido. Este vector de movimiento reconstruido se envía a la memoria registro PMV1. De forma similar, en el macrobloque MB1, (0, 0)(3) + PMV1 = (5, 5)C mediante la adición del vector de movimiento de diferencia (0, 0)(3) de la parte superior y el vector de movimiento reconstruido (5, 5)B en la memoria registro PMV1 se obtiene como vector de movimiento reconstruido. Este vector de movimiento reconstruido se envía a la memoria registro PMV1. Además, en la parte inferior de este macrobloque MB1, (0, 0)(4) + PMV1 = (5, 5)D mediante la adición del vector de movimiento de la diferencia (0, 0)(4) de la parte inferior y el vector de movimiento reconstruido (5, 5)C en la memoria registro PMV1 se obtiene como vector de movimiento reconstruido. Este vector de movimiento reconstruido se envía a la memoria registro PMV1. Según se indicó anteriormente, puesto que los vectores de movimiento reconstruidos así obtenidos son objeto de sobreescritura secuencial en la memoria registro PMV1, desaparece el vector de movimiento reconstruido del macrobloque inmediatamente anterior.
Según se indicó con anterioridad, en el lado del decodificador, con el fin de mantener el valor del vector de movimiento reconstruido en el macrobloque MB inmediatamente antes, es necesario tener, además, dos memorias registros PMV con respecto a una sola dirección de predicción y memorizar, p.e., valores de los vectores de movimiento (5, 1)A y (5, 5)B en el macrobloque MB0 y valores de los vectores de movimiento (5, 5)C y (5, 5)D en el macrobloque MB1.
Según se describió anteriormente, en el método convencional de codificación del vector de movimiento propuesto para MPEG2, no se hace ninguna consideración con respecto a la gestión del macrobloque objeto de salto operativo. Por este motivo, este método de codificación tiene el problema de que es incapaz de gestionar el macrobloque objeto de salto operativo.
Además, en el lado del decodificador, con el fin de mantener el vector de movimiento del macrobloque inmediatamente procesado antes, es necesario disponer de memorias registro además de las memorias registro PMV, con el fin de permitir que sea complicada la configuración del elemento de determinación de la diferencia inversa para vector (vector de movimiento de la diferencia).
Además, en la técnica anterior, el control para la conmutación entre las memorias registro PMV en el elemento de determinación de la diferencia del vector y/o el elemento de determinación de la diferencia inversa es complicado, lo que da lugar al problema de que la escala de hardware del dispositivo de conmutación de la memoria registro PMV es de gran magnitud.
SUMARIO DE LA INVENCIÓN
La presente invención se refiere a un método de decodificación y a un aparato de decodificación según se define en las reivindicaciones adjuntas.
Según la presente invención, en la configuración del elemento de determinación de la diferencia para el vector de movimiento, las memorias registro para memorizar vectores de movimiento están preparadas de modo que su número se haga igual al número equivalente a la suma (N + M) del número de transmisión máximo N de vectores de movimiento en sentido directo y el número de transmisión máximo M de los vectores de movimiento en sentido inverso, dentro del macrobloque, para proporcionar índices de 1~N en orden de transmisión de vectores de movimiento en sentido directo dentro del macrobloque y para proporcionar índices de (N+1) ~ (N+M) en el orden de trnsmisión de vectores de movimiento en sentido inverso dentro del macrobloque para permitir que los vectores tengan índices respectivos y las memorias registro tengan una relación de correspondencia, una a una, en donde al permitir que los vectores de movimiento estén dentro del mismo macrobloque sean un vector de movimiento de la diferencia para su transmisión, no
5 existe posibilidad alguna de que la misma memoria registro (PMV) se utilice dos o más veces.
Además, en la configuración del elemento de determinación de la diferencia inversa para reconstruir el vector de movimiento a partir del vector de movimiento de la diferencia, están preparadas memorias registro para memorizar el vector de movimiento reconstruido, de modo que su número sea igual al número equivalente a la suma (M + N) del 10 número de recepción máximo N de vectores de movimiento de la diferencia en sentido directo y el número de recepción máximo M de los vectores de movimiento de la diferencia en sentido inverso dentro del macrobloque para proporcionar Índices de 1 ~ N en orden de recepción de los vectores de movimiento de la diferencia en sentido directo para proporcionar índices de (N+1) ~ (N+M) en orden de recepción de los vectores de movimiento de la diferencia en sentido inverso, dentro del macrobloque, para permitir que los vectores de movimiento de la diferencia tengan los índices
15 respectivos y las memorias registro tengan una relación de correspondencia, una a una, que haga, de este modo, que sea innecesario cualquier registro exceptuado para memorias registro (PMV).
BREVE DESCRIPCIÓN DE LOS DIBUJOS
20 La Figura 1 es un diagrama circuital, que representa en una forma de bloques, una representación de la configuración de un codificador utilizado en un aparato de codificación de señales de imagen de esta invención.
La Figura 2 es un diagrama circuital que representa, en una forma de bloques, la representación del elemento de determinación de la diferencia para el vector de movimiento utilizado en el aparato de codificación de señales de imagen 25 de esta invención.
La Figura 3 es una vista que representa la memoria registro para explicar el elemento de determinación de la diferencia y el elemento de determinación de la diferencia inversa para el vector de movimiento utilizado en el aparato de codificación de señales de imagen de esta invención.
30 La Figura 4 es un diagrama circuital que representa, en una forma de bloques, un elemento de determinación de macrobloque, objeto de salto operativo, del codificador utilizado en el aparato de codificación de señales de imagen de esta invención.
35 La Figura 5 es un diagrama circuital que representa, en una forma de bloques, un decodificador utilizado en un aparato de decodificación de señales de imagen de esta invención.
La Figura 6 es un diagrama circuital que representa, en una forma de bloques, la configuración del elemento de determinación de diferencia inversa para el vector de movimiento utilizado en el aparato de decodificación de señales de 40 imagen de esta invención.
La Figura 7 es una vista para explicar una configuración más práctica del vector de la diferencia en el aparato de decodificación de señales de imagen de esta invención.
45 La Figura 8 es una vista para explicar una forma de realización, a modo de ejemplo, real, para reconstruir el vector de movimiento a partir del vector de movimiento de la diferencia en el aparato de decodificación de señales de imagen de esta invención.
La Figura 9 es una vista para explicar el principio de la predicción de compensación del movimiento. 50 La Figura 10 es una vista para explicar la predicción de compensación del movimiento en unidades de macrobloques.
La Figura 11 es una vista para explicar la predicción de compensación del movimiento entre imágenes.
55 La Figura 12 es un diagrama circuital que representa, en una forma de bloques, el elemento de determinación de la diferencia para el vector de movimiento en MPEG1.
La Figura 13 es una vista para explicar una operación, a modo de ejemplo, del elemento de determinación de la diferencia para el vector de movimiento en MPEG1.
60 La Figura 14 es un diagrama circuital que representa, en una forma de bloques, la configuración del elemento de determinación de la diferencia inversa para el vector de movimiento en MPEG1.
La Figura 15 es una vista para explicar la predicción adaptativa de trama/campo. 65
La Figura 16 es un diagrama circuital que ilustra, en una forma de bloques, un modo de realización convencional, a modo de ejemplo, del elemento de determinación de la diferencia para el vector de movimiento.
La Figura 17 es un diagrama circuital que representa, en una forma de bloques, un modo de realización convencional, a modo de ejemplo, del elemento de determinación de la diferencia inversa para el vector de movimiento.
La Figura 18 es una vista para explicar el problema del elemento de determinación de la diferencia convencional para el vector de movimiento.
La Figura 19 es una vista para explicar una forma de realización, a modo de ejemplo real, para reconstruir el vector de movimiento a partir del vector de movimiento de la diferencia.
DESCRIPCIÓN DETALLADA DE UNA FORMA DE REALIZACIÓN PREFERIDA DE LA INVENCIÓN
Un aparato (codificador) de codificación de imagen en movimiento, en conformidad con esta invención, se describirá primero haciendo referencia a la Figura 1.
Información para controlar el funcionamiento básico del codificador, según esta invención, se proporciona a partir de una sección de entrada de información de control de codificación de imagen 30 y se memoriza en una memoria de almacenamiento de información de control de codificación de imagen 29. Estas informaciones son la magnitud de la trama de imagen, la tasa de bits de transmisión de salida de la información de codificación y datos similares. Estas informaciones se proporcionan, a la salida, desde la memoria 29 como señal de control de codificación de imagen S25. Además, la señal de estructura de imagen S26 (señal para discriminar si la estructura de imagen es una trama, una estructura de campo o progresiva) se proporciona, a la salida, a través de la memoria 29 desde la sección de entrada de la información de codificación de imagen 30 y la señal del tipo de codificación de imagen S27 (señal para discriminar si el tipo de imagen es imagen I, imagen P o imagen B) es también proporcionada desde ella.
Además, una señal de imagen introducida desde el terminal de entrada de imagen 10 se proporciona a un grupo de memorias de campos 11. Además, una señal de sincronización (sync.) vertical S11, que es una señal de sincronización de imagen de entrada, se proporciona desde el terminal de entrada 26 y se proporciona luego a un elemento de control de imagen de referencia 23. Para el elemento de control de imagen de referencia 23, la señal de control de codificación de imagen S25, la señal de estructura de imagen S26 y la señal del tipo de codificación de imagen S27 se proporcionan también a través del terminal 1. Cuando este elemento de control de imagen de referencia 23 recibe la señal de sincronización vertical S11, proporciona, a la salida, una señal de indicación de imagen de referencia S10 que se describirá más adelante y la proporciona al grupo de memorias de campos 11.
Una imagen de una señal de imagen, que ha sido entregada al grupo de memorias de campos 11, es una imagen para ser actualmente codificada. En sincronismo con la parte inicial de la imagen que es objeto de lectura desde el grupo de memorias de campo 11, el grupo de memorias de campo 11 establece u obtiene el indicador de inicio de imagen S22 que se describirá más adelante para proporcionarlo al elemento de control de imagen de referencia 24 a través de los terminales 2 y 9. El elemento de control de imagen de referencia 24 proporciona las señales de indicación de imágenes de referencia S12, S13, que se describirán, más adelante, cuando se establezca el indicador de inicio de imagen S22 para su suministro al grupo de memorias de campo 17. Además, el indicador de inicio de imagen S22, que se hace pasar a través del terminal 9, se proporciona también a un elemento de control de imagen de salida 25. El elemento de control de imagen de salida 25 proporciona la señal de indicación de imagen de salida S14 que se describirá más adelante cuando el indicador de inicio de imagen S22 se establezca para su suministro al grupo de memorias de campo 17. En esta forma de realización, la señal de control de codificación de imagen S25, la señal de estructura de imagen S26 y la señal del tipo de codificación de imagen S27 se proporcionan al elemento de control de imagen de referencia 24 y el elemento de control de imagen de salida 25 a través del terminal 30.
Además, una señal de imagen que ha sido proporcionada al grupo de memorias de campo 11 se envía un circuito de predicción de movimiento 12 y la señal de control de codificación de imagen S25, la señal de estructura de imagen S26 y la señal del tipo de codificación de imagen S27, desde el terminal 1, se proporcionan al circuito de predicción de movimiento 12. Este circuito de predicción de movimiento 12 pone en práctica la predicción de movimiento de pixels, en una imagen, para codificarse actualmente para la señal de imagen, que se ha proporcionado al grupo de memorias de campo 11 haciendo referencia a la imagen anterior y a la imagen futura. La predicción de movimiento antes citada es la adaptación de bloques de una señal de pixels de bloques en una imagen que ha de codificarse actualmente y la imagen anterior o imagen futura a la que se hace referencia y la magnitud del bloque es, a modo de ejemplo, 16x16 pixels, 16x8 pixels 8x8 pixels.
Las imágenes de referencia, anteriores y futuras, en este momento, se designan a partir del grupo de memorias de campo 11 en función de la señal de indicación de imagen de referencia S10 de predicción del movimiento que proceden del elemento de control de imagen de referencia 23. El circuito de predicción de movimiento 12 detecta cada posición de bloque en la imagen de referencia en donde el error predictivo, en la adaptación de bloques, se hace mínimo con respecto a los respectivos modos de compensación de movimiento seleccionables para proporcionar el vector de movimiento correspondiente a esa posición como la señal del vector de movimiento S7 al circuito compensador de movimiento 18. Conviene señalar que el modo de compensación de movimiento, que puede seleccionarse, se determina por la señal de estructura de imagen S26 y la señal del tipo de codificación de imagen S27.
Además, el circuito de predicción del movimiento 12 proporciona, al circuito compensador de movimiento 18, la señal del
5 tipo de predicción S30, la señal de paridad de referencia del vector de movimiento de campo S31, la señal de sub-vector de movimiento S32 y la señal de paridad del campo prevista S33 como información adicional de la señal del vector de movimiento S7 también en esta disposición operativa.
En esta instancia operativa, la señal del tipo de predicción S30 es información, p.e., que indica si se realiza la predicción
10 del movimiento mediante la base de trama o la base de campo, se realiza la adaptación de bloques por 16x16 pixels, 16x8 pixels u 8x8 pixels, la predicción del movimiento es DUAL-PRIME o no lo es. Conviene señalar que puesto que los detalles de la predicción de bloques de 8x8 pixels y DUAL-PRIME se describen en el documento anteriormente descrito ISO-IEC/JTC1/SC29/WG11 MPEG93/225b, Modelo de Prueba 4, su explicación se omite en esta descripción.
15 Además, la señal de paridad de referencia del vector de movimiento de campo S31 es una señal que indica si un campo que hace referencia al vector es el primer campo (campo 1) o el segundo campo (campo 2) en el caso de que la predicción del movimiento se realice mediante una base de campo.
La señal de sub-vector de movimiento S32 es, a modo de ejemplo, una señal asociada al vector de predicción de 20 bloques de 8x8 pixels y DUAL-PRIME.
La señal de paridad de campo prevista S33 es una señal que indica si el campo de destino de predicción (campo previsto) del vector de movimiento es el primer campo o el segundo campo en el caso de que la predicción del movimiento se realice mediante base de campo.
25 El circuito compensador del movimiento 18 proporciona instrucciones, a la salida, de la señal de imagen de bloque S3 situada en una dirección designada por la señal de vector de movimiento S7, la señal de tipo de predicción S30, la señal de paridad de referencia de vector de movimiento de campo S31, la señal de sub-vector de movimiento S32 y la señal de paridad de campo prevista S33 a partir del grupo de memorias de campo 17 en donde se memorizan imágenes ya
30 decodificadas y reproducidas (que se describirán más adelante). La imagen de referencia, en este momento, es designada a partir del grupo de memorias de campo 17 en función de la señal de indicación de imagen de referencia de compensación de movimiento S12 procedente del elemento de control de imagen de referencia 24.
Una salida de la señal de imagen de bloque S3, procedente del circuito compensador de movimiento 18, se hace que
35 realice una operación adaptativa, con lo que se posibilita realizar la conmutación a un modo óptimo de entre modos de compensación de movimiento seleccionables de cuatro clases de operaciones que se describen a continuación en unidad de macrobloques.
Esto es, cuatro clases de operaciones son cuatro clases de modos:
40 en primer lugar, el modo de compensación del movimiento a partir de una imagen reproducida anterior (modo predictivo en sentido directo),
en segundo lugar, el modo de compensación de movimiento a partir de una imagen reproducida futura (modo predictivo 45 en sentido inverso),
en tercer lugar, el modo de compensación de movimiento a partir de ambas imágenes reproducidas anterior y futura (bloque de referencia a partir de la imagen reproducida anterior y bloque de referencia a partir de la imagen reproducida futura han de someterse a una operación lineal (p.e., cálculo del valor medio) en cada pixel) (modo bidireccionalmente
50 predictivo).
En cuarto lugar, un modo sin compensación del movimiento (es decir, un modo intracodificado. En este caso, la salida de la señal de imagen de bloque S3 es igual a cero). Entre estos modos, la conmutación al modo óptimo se realiza a partir de cualquier modo seleccionable.
55 En la conmutación del modo de compensación del movimiento, p.e., un modo en el que la suma total de valores absolutos de valores de diferencias en cada pixel entre las señales de imagen S3 respectivas se proporciona, a la salida, en las cuatro clases de modos y la señal de pixel de bloque S1 a codificarse actualmente es mínimo, se selecciona en esta operación.
60 El modo así seleccionado se envía a los respectivos componentes, a través de terminal 3, como una señal de modo de compensación del movimiento S9, señal de vector de movimiento S8 en ese momento, señal de tipo de predicción S40, señal de paridad de referencia de vector de movimiento de campo S41, señal de sub-vector de movimiento S42 y señal de paridad de campo prevista S43.
Además, la señal de pixel de macrobloque S1, a codificarse actualmente, se proporciona desde el grupo de memorias de campo 11 y el indicador de inicio de MB S300 se proporciona en sincronismo con la salida de esta señal de pixel de macrobloque S1. El contador MB 49 realiza el conteo de su número en sincronismo con el indicador de inicio de MB S300. Además, el contador MB 49 es objeto de reposición cuando el indicador de inicio de imagen S22, proporcionado a través del terminal 48, se establece a este respecto. Conviene señalar que la señal de control de codificación de imagen S25 se proporciona también a través del terminal 46 al contador MB 49.
El indicador de inicio de segmento S301, procedente del terminal 45, desde el contador MB 49, se activa cuando el valor de conteo de MB se hace igual a un múltiplo de una longitud de segmento predeterminada (el número de macrobloques que compone el segmento). En este caso, el segmento es una unidad constituida por uno o varios macrobloques sucesivos en orden de exploración de imágenes. Se toma en consideración de modo que el primer macrobloque transmite datos que indican la posición dentro de la imagen en la parte de inicio del segmento, de modo que los datos recibidos se puedan restablecer a su estado normal incluso en el caso en donde cualquier error tiene lugar en el lado de recepción. La longitud del segmento se hace susceptible de cambio con independencia del estado de error de la ruta de transmisión del flujo de bits. En general, en función de que la probabilidad de error de la ruta de transmisión se haga más alta, la longitud del segmento se hace corta. La longitud del segmento designada, en este momento, se memoriza en la memoria 29.
La señal de pixel de macrobloque S1 y la señal de pixel de bloque S3, procedentes del circuito compensador del movimiento 18, se someten al cálculo del valor de diferencia cada pixel en un dispositivo restador 13. En consecuencia, se obtiene una señal de diferencia de bloque S2. La señal de diferencia de bloque S2 se proporciona a una sección de codificación de señales de bloques 14, desde donde se obtiene una señal codificada S4. La señal codificada S4 se proporciona a una sección de decodificación de señales de bloques 15, en donde se decodifica. De este modo, se obtiene una señal de diferencia de reproducción de bloque S5.
En esta forma de realización, la señal de control de codificación de imagen S25 se hace pasar a través del terminal 7 y la señal de tabla de quantización S15 se hace pasar a través de los terminales 31 y 8 proporcionándose también a la sección de codificación de señales de control 14. Como la configuración de la sección de codificación de señales de bloques 14, puede aplicarse la configuración constituida por un elemento de DCT (Transformada de Coseno Discreta) y un dispositivo cuantizador para la quantización de los coeficientes de salida por la señal de tabla de quantización S15 designada desde la memoria intermedia 21. En este caso, la señal de control de codificación de imagen S25 y la señal de tabla de quantización S15 se proporcionan también a la sección de decodificación de señales de bloque 15. Como la configuración de la sección de decodificación de señales de bloque 15, se puede aplicar la configuración constituida por un dispositivo cuantizador inverso para la quantización inversa de los coeficientes por la señal de tabla de quantización S15 y un elemento de DCT inverso para poner en práctica la Transformada DCT inversa a sus coeficientes de salida.
La señal de diferencia de reproducción de bloque S5 se añade a la señal de imagen de bloque S3, proporcionada desde el dispositivo compensador de movimiento 18 cada pixel en el dispositivo sumador 16. En consecuencia, se obtiene una señal de reproducción de bloque S6. Esta señal de reproducción de bloque S6 se memoriza en la memoria de campo designada por la señal de indicación de imagen actual S13 a partir del grupo de memorias de campo 17. La imagen de reproducción memorizada en el grupo de memorias de campo 17 se proporciona desde el terminal 129 como una señal de imagen de reproducción designada en función de la señal de indicación de imagen de salida S14 anteriormente descrita.
Por otro lado, la señal codificada de bloque S4 se envía también a una sección de generación de señales unidimensionales 19 que se alimenta con la señal de control de codificación de imagen S25 a través del terminal 6, en donde se memoriza en una disposición matricial unidimensional. De este modo, se obtiene la señal codificada unidimensional S16. La configuración de la sección generadora de señales unidimensionales 19 está constituida por un convertidor de exploración para la exploración, en zigzag, de los coeficientes de DCT de quantización de bloques en orden desde la baja frecuencia a la alta frecuencia. Una señal codificada unidimensional S16 se hace que sea un código de longitud variable tal como un código Huffman en el VLC (Codificador de Longitud Variable) 20.
Además, la señal de vector de movimiento S8 se envía al elemento de determinación de diferencia del vector (elemento de diferencia etiquetado en la Figura) 27, en donde se obtiene una diferencia entre el vector de movimiento S8 y el vector de movimiento S8 posteriormente entregado, de modo que se derive una señal de vector de movimiento de la diferencia S50. Esta señal de vector de movimiento de la diferencia S50 se hace que tenga un código de longitud variable tal como un código Huffman, etc., en el elemento de VLC 20. En esta forma de realización, el indicador de inicio de MB S300, el indicador de inicio de segmento S301, la señal de modo de compensación del movimiento S9, la señal de estructura de imagen S26 y la señal del tipo de predicción S40 se proporcionan también al terminal 4.
El detalle del elemento de determinación de diferencia del vector 27 se describirá haciendo referencia a la Figura 2. En la Figura 2, el indicador de inicio de segmento S301 se aplica a la entrada del terminal 77 del elemento de determinación de diferencia de vector 27, el indicador de inicio de MB S300 que se hizo pasar a través de los terminales 47 y 4 de la Figura 1 se proporciona al terminal 71, la señal de vector de movimiento S8, que se hizo pasar a través de los terminales 3 y 4 de la Figura 1, se introduce en el terminal 70, la señal del modo de compensación del movimiento S9 que se hizo pasar a través de los terminales 3 y 4 de la Figura 1, se introduce en el terminal 72, la señal del tipo de predicción S40, que se hizo pasar a través de los terminales 3 y 4 de la Figura 1, se aplica a la entrada del terminal 73 y la señal de estructura de imagen S26, que se hizo pasar a través del terminal 4 de la Figura 1, se aplica a la entrada del terminal 74.
En este caso, el número de transmisión de los vectores de movimiento en sentido directo o de vectores de movimiento
5 en sentido inverso, a transmitirse dentro del macrobloque, se reconoce por la señal de estructura de imagen S26 y la señal de tipo de predicción S40. Se determina según se indica por las tablas 1, 2 y 3 ilustradas a continuación. En esta forma de realización, los respectivos números máximos de transmisión de vectores de movimiento en sentido directo y de vectores de movimiento en sentido inverso, a transmitirse, son 2. En consecuencia, cuatro vectores de movimiento se transmiten, como máximo, dentro del macrobloque. Conviene señalar que, en el caso de que el número de transmisión
10 de vectores de movimiento en sentido directo o en sentido inverso, a transmitirse dentro del macrobloque, sea 2, el orden de transmisión de estos dos vectores de movimiento se determina por anticipado. A modo de ejemplo, en el caso de predicción con base del campo de la tabla 1, el vector de movimiento en donde el campo previsto es el primer campo se transmite con anterioridad y el vector de movimiento en el que el campo previsto es el segundo campo se transmite más adelante. Además, en el caso de predicción basada en el campo de 16x8 de la tabla 2, el vector de movimiento de la
15 parte superior se transmite con anterioridad y el vector de movimiento de la parte inferior se transmite más tarde. Además, el circuito compensador de movimiento 18, en esta forma de realización, proporciona el vector de movimiento S8 en el mismo orden que este orden de transmisión.
Tabla 1
20 Caso en donde la estructura de imagen es imagen de trama (entrelazada)
Tipo de predicción
Conteo de vector de movimiento Formato mv
Predicción basada en el campo Predicción basada en la trama Dual-prime
2 1 1 Campo Trama Campo
Tabla 2
Caso en donde la estructura de imagen es imagen de campo
Tipo de predicción
Conteo de vector de movimiento Formato mv
Predicción basada en campo 16 x 16 Predicción basada en campo 16 x 8 Dual-prime
1 2 1 Campo Campo campo
Tabla 3
Caso en donde la estructura de imagen es una imagen progresiva
Tipo de predicción
Conteo de vector de movimiento Formato mv
Predicción basada en campo 16 x 16 Predicción basada en campo 16 x 8 Predicción basada en campo 8 x 8
1 2 1 Trama Trama Trama
En esta forma de realización, el grupo de registros 81, en el elemento de determinación de diferencia de vector 27 de la 35 Figura 2, se construye según se indica en la Figura 3, a modo de ejemplo. En la Figura 3, cuatro memorias registro PMV1 – PMV4 para memorizar vectores de movimiento se preparan como grupos de registros 81.
Además, los vectores de movimiento en sentido directo y los vectores de movimiento en sentido inverso se hace que tengan, respectivamente, una relación de correspondencia, uno a uno, con respecto a las memorias registro PMV1 – 40 PMV4 en conformidad con el orden de transmisión dentro del macrobloque. En un sentido más práctico, el vector de movimiento en sentido directo transmitido en primer lugar dentro del macrobloque se memoriza en la memoria registro PMV1. El vector de movimiento en sentido inverso transmitido en segundo lugar dentro del macrobloque, se memoriza en la memoria registro PMV2. Además, el vector de movimiento en sentido inverso, transmitido primero dentro del macrobloque, se memoriza en la memoria de registro PMV3. El vector de movimiento en sentido inverso, transmitido en
45 segundo lugar dentro del macrobloque, se memoriza en la memoria registro PMV4. Según se indicó anteriormente, en esta forma de realización, el orden de transmisión dentro del macrobloque de los vectores de movimiento respectivos proporciona índices que indican la relación entre los respectivos vectores de movimiento y los registros dentro de las memorias registro PMV1 – PMV4 en donde se memorizan dichos vectores de movimiento.
50 Dicho de otro modo, en esta forma de realización, los índices de “1” ~ “2” se proporcionan en el orden de transmisión de los vectores de movimiento en sentido directo dentro del macrobloque y los índices de “3” ~ “4” se proporcionan en el orden de transmisión de los vectores de movimiento en sentido inverso en ellos, con lo que se permite que los vectores
de movimiento tengan respectivos índices y las memorias registro PMV1 – PMV4 presenten una relación de
correspondencia ‘uno a uno’. Conviene señalar que los respectivos terminales de entrada a-d de memorias registro
PMV1 ~ PMV4 de la Figura 3 están conectados a los correspondientes terminales seleccionados del conmutador 80
5 según se ilustra en la Figura 2 y los terminales de salida e~h están conectados a los correspondientes terminales
seleccionados del conmutador 82 según se representa en la Figura 2.
La sintaxis del flujo de bits, en el momento de transmisión del vector de movimiento se muestra en la tabla 4.
10 Tabla 4
001 motion_vector ( ) {/* flujo de bits · sintaxis de vector de movimiento * /
002 motion_horizontal_code: / * componente horizontal X del vector de movimiento * /
003 motion_vertical_code: / * componente vertical Y del vector de movimiento * /
004 }
006 forward_filed_motion_vector ( ) {
007 motion_vertical_field_select: / * paridad · referencia vector de movimiento campo * /
008 motion_vector ( ):
009 }
011 backward_field motion_vector ( ) {
012 motion_vertical_field_select: / * paridad · referencia vector de movimiento campo * /
013 motion_vector ( ):
014 }
016 forward_motion_vector ( ) {/ * flujo de bits · sintaxis con respecto al vector de movimiento en sentido directo * /
017 si (motion_vector_count == 1) {/* cuando el nº de vectores de movimiento es 1 * /
018 si (mv_format==frame) {/* caso en donde el formato de mv es de trama * /
019 motion_vector ( ); / * Index_1 (� PMV1). PMV2 = PMV1 * /
020 } else {/* caso en donde el formato de mv es de campo * /
021 forward_filed_motion_vector ( ); * Index_1 (� PMV1). PMV2 = PMV1 * /
022 si (dmv==1) {/* caso de dual-prime * /
023 dmv_horizontal; /* sub-vector de movimiento * /
024 dmv_vertical; / * sub-vector de movimiento * /
025 }
026 }
027 } else {/* motion_vector_count==2; cuando el nº de vectores de movimiento es 2 * /
028 forward_filed_motion_vector ( ); * Index_1 (� PMV1) */
029 forward_filed_motion_vector ( ); * Index_2 (� PMV2) */
030 }
031 }
033 backward_motion_vector ( ) {/* flujo de bits · sintaxis con respecto al vector de movimiento en sentido inverso */
034 si (motion_vector_count == 1) {/* cuando el nº de vectores de movimiento es 1 * /
035 si (mv_format==frame) {/* caso en donde el formato de mv es de trama * /
036 motion_vector ( ); / * Index_3 (� PMV3). PMV4 = PMV3 * /
037 } else {/* caso en donde el formato de mv es de campo * /
038 forward_filed_motion_vector ( ); * Index_3 (� PMV3). PMV4 = PMV3 * /
039 si (dmv==1) {/* caso de dual-prime * /
040 dmv_horizontal; /* sub-vector de movimiento * /
041 dmv_vertical; / * sub-vector de movimiento * /
042 }
043 }
044 } else {/* motion_vector_count==2; cuando el nº de vectores de movimiento es 2 * /
045 backward_filed_motion_vector ( ); * Index_3 (� PMV3) */
046 backward_filed_motion_vector ( ); * Index_4 (� PMV4) */
047 }
048 }
En esta tabla 4, la función “forward_motion_vector ( )” es una función en relación con el vector de movimiento en sentido
directo y la función “backward_motion_vector ( )” es una función en relación con el vector de movimiento en sentido 15 inverso. Además, la expresión abarcada por “/*” y “*/” es un comentario. Según se indica en esta tabla, los vectores de
movimiento a transmitirse y las memorias registro PMV se hacen que correspondan, respectivamente, entre sí. En este
caso, se utilizan los parámetros de “mv_format”, “motion_vector_count” y estos parámetros se proporcionan sobre la
base de las tablas 1 – 3. Como “mv_format” según se indica en la tabla 1 – 2, existen el tipo de “trama” y el tipo de “campo”. La paridad de referencia del vector de movimiento de campo se añade básicamente al vector del tipo de “campo”. Además, “motion_vector_count” indica el número de transmisión de vectores de movimiento en sentido directo
o en sentido inverso a transmitirse dentro de un macrobloque, según se muestra en las tablas 1 – 3.
5 En este caso, “forward_motion_vector ( )” se describirá a continuación. Inicialmente, en el caso en donde exista un “motion_vector_count” (línea 017), la información del vector de movimiento se memoriza en la memoria registro PMV1. Además, en el caso en donde existan dos funciones “motion_vector_count”, la información del vector de movimiento, transmitida en primer lugar, (línea 028), se memoriza en la memoria registro PMV1 y la información del vector de movimiento transmitida en segundo lugar (línea 029), se memoriza en la memoria registro PMV2. Con más detalle, en el caso en donde exista una información del vector de movimiento a transmitirse (línea 017), la ruta de decisión se bifurca en dos casos del caso en donde “mv_format” es “trama” (línea 018) y el caso en donde “mv_format” es “campo” (línea 020). Bajo el caso en donde “mv_format” es “campo”, además en el caso en donde “dmv==1” (línea 022), el “prediction_type” es “Dual_prime”. En consecuencia, se transmiten “dmv_horizontal” y “dmv_vertical”. Hay un sub-vector de movimiento cuando el tipo de predicción es “Dual_prime”. Esto se aplica, de modo similar, a la función
15 “backward_motion_vector ( )”.
En el macrobloque en donde existe un vector de movimiento en sentido directo a transmitirse, en la actualización de la memoria registro PMV1, la memoria registro PMV2 se actualiza en el mismo valor. Además, en el macrobloque en donde existe un vector de movimiento en sentido inverso a transmitirse, al actualizar la memoria registro PMV3, se actualiza la memoria registro PMV4 en el mismo valor.
La operación de sintaxis de flujo de bits, que ha sido explicada en la tabla 4 antes citada, se describirá ahora utilizando la configuración ilustrada en la Figura 2.
25 En la Figura 2, en respuesta a la señal de vector de movimiento S8 introducida a través del terminal 70, el generador de indicadores de señales de vectores de movimiento 87 proporciona, a la salida, el indicador de señal de vector de movimiento S86. Dichos indicadores de señales de vectores de movimiento S86 son objeto de conteo por el contador de vectores de movimiento 88. Conviene señalar que el contador de vectores de movimiento 88 es objeto de reposición cuando se establece el indicador de inicio de MB S300 que se hace pasar a través del terminal 71. La señal del número del contador de vectores de movimiento S87, procedente del contador de vectores de movimiento 88, se aplica a la entrada del generador de señales de designación de índice de registro 89. La señal de modo de compensación de imagen S9, la señal del tipo de predicción S40 y la señal de estructura de imagen S26 que se hacen pasar a través de los terminales 72, 73, 74, se aplican a la entrada del generador de señales de designación de índice de registro 89.
35 En el caso de esta forma de realización, el número de transmisión de vectores de movimiento en sentido directo o de vectores de movimiento en sentido inverso a transmitirse (motion_vector_count) dentro del macrobloque, se reconoce por la señal de estructura de imagen S26 y la señal del tipo de predicción S40 y el número de todos los vectores de movimiento a transmitirse, dentro del macrobloque, se reconoce por la señal del modo de compensación del movimiento S9. A modo de ejemplo, en el caso en donde “motion_vector_count” es 2 y la señal del modo de compensación de movimiento S9 es el modo bidireccionalmente predictivo, puesto que los vectores de movimiento a transmitirse dentro del macrobloque se transmiten en orden de dos vectores de movimiento en sentido directo y dos vectores de movimiento en sentido inverso, el número de todos los vectores de movimiento, transmitidos dentro del macrobloque, es 4.
Sobre la base de esta información, el generador de señales de designación de índices de registro S89 genera una señal
45 de designación de índices de registro S88 desde la señal del número de conteo de vectores de movimiento S87 para su salida. A modo de ejemplo, según se ilustra en la Figura 3 antes citada, cuando la señal del número de conteo de vectores de movimiento S87 toma el valor 1, la memoria registro PMV1 se designa en el grupo de registros 81; cuando esa señal toma el valor 2, la memoria registro PMV2 se designa en el grupo de registros 81, cuando esa señal toma el valor 3, la memoria registro PMV3 se designa en el grupo de registros 81 y cuando esa señal toma el valor 4, la memoria registro PMV4 se designa en el grupo de registros 81.
A modo de otro ejemplo, en el caso en donde existe una función “motion_vector_count” y la señal del modo de compensación de movimiento S9 es el modo predictivo en sentido inverso, puesto que existe un solo vector de movimiento en sentido inverso como el número de todos los vectores de movimiento a transmitirse dentro del
55 macrobloque, la memoria registro PMV3 se designa en el grupo de registros 81 cuando la señal del número del conteo de vectores de movimiento S87 toma el valor 1.
En respuesta a la señal de designación del índice de registro S88, el grupo de registros 81 proporciona, a la salida, la señal de vector de movimiento S82 memoriza en el registro designado por intermedio del conmutador 82.
Esta señal de vector de movimiento de salida de registro S82 es objeto de conversión de escala por la señal de indicación de escala S85 (señal de indicación de escala A) procedente del circuito de conmutación 85 sobre la base de la señal del tipo de predicción S40 desde el terminal 75 en el convertidor de escala 84 de la conversión de escala A cuando la ocasión operativa lo demande y a continuación, se aplica a la entrada del circuito de la diferencia 86. En este circuito, 65 se calcula un valor de diferencia entre el vector de movimiento de escala convertida y la señal de vector de movimiento
actualmente introducida S8. De este modo, se obtiene la señal de vector de movimiento de diferencia S50. Esta señal se proporciona desde el terminal 76.
Por otro lado, la señal del vector de movimiento actualmente introducida S8 es objeto de conversión de escala (señal de vector de movimiento de escala convertida S80) por la señal de indicación de escala S83 (señal de indicación de escala B) procedente desde el circuito de conmutación 85 en el convertidor de escala 83 de la conversión de escala B cuando la ocasión operativa lo demanda y a continuación, es objeto de sobreescritura y está recientemente memoriza en el registro designado por la señal de designación de índice de registros S88 a través del conmutador 80. Conviene señalar que el convertidor de escalas 84 y el convertidor de escalas 83, según se indicó con anterioridad, pueden utilizarse para el ajuste de escala espacial en el momento de calcular del vector de movimiento de diferencia entre el vector de movimiento que hace referencia a la trama y el vector de movimiento que hace referencia al campo y/o el ajuste de escala basado en la causa, en el punto en la base de tiempos, en el momento de calcular el vector de diferencia entre los vectores de movimiento en donde las diferencias, en ese punto en el tiempo hasta el campo de referencia, son diferentes.
La reposición de la memoria registro PMV del elemento de determinación de diferencia de vector 27 se realiza en el macrobloque en donde la señal del modo de compensación del movimiento S9, que se hizo pasar a través del terminal 77, es el modo intracodificado y el macrobloque en donde se establece el indicador de inicio S301 desde el terminal 77. En este momento, todos los registros del grupo de registros 81 son objeto de reposición a cero. La instrucción de reposición de este registro se realiza por el elemento de instrucción de reposición de registro 78.
En esta forma de realización, el elemento de determinación de la diferencia 27 para el vector de movimiento se construye en la forma anteriormente indicada. Conviene señalar que aunque, en la forma de realización antes descrita, el orden de salida de los vectores de movimiento S8 del circuito de compensación del movimiento 18 es el mismo que el orden de transmisión de los vectores de movimiento determinados por anticipado, el primero puede ser diferente del último. Sin embargo, también en este caso, puesto que el orden de entrada de vectores de movimiento de diferencia S50 al elemento de VLC 20 se requiere que sea finalmente el mismo que el orden de transmisión, es necesario que una configuración adicional o extra para proporcionar la señal de paridad de campo prevista al generador de señales de designación de índice de registros 89 para la transposición o intercambio del orden de salida de los vectores de movimiento de diferencia S50 o similares.
La configuración del elemento de determinación de macrobloque objeto de salto operativo 28 de la Figura 1 se describirá ahora con referencia a la Figura 4.
En la Figura 4, la señal de error predictiva de compensación del movimiento S16 se proporciona al terminal 96 del elemento de determinación de macrobloque objeto de salto operativo 28. Además, la señal de vector de movimiento de diferencia S50, la señal de vector de movimiento S8 desde el terminal 4 de la Figura 1, la señal del modo de compensación de movimiento S9, la señal de estructura de imagen S26, la señal del tipo de predicción S40, la señal de paridad de referencia de vector de movimiento de campo S41 desde el terminal 5 de la Figura 1, la señal de sub-vector de movimiento S42, la señal de paridad de campo prevista S43 y la señal del tipo de codificación de imagen S27 se proporcionan al elemento de determinación del macrobloque objeto de salto operativo 28 en adición a la señal de error predictiva de compensación del movimiento S16. Esto es, la señal del vector de movimiento S8, la señal del vector de movimiento de diferencia S50, la señal del modo de compensación de movimiento S9, la señal del tipo de predicción S40, la señal de paridad de referencia del vector de movimiento de campo S41, la señal de sub-vector de movimiento S42, la señal de paridad de campo prevista S43, la señal del tipo de codificación de imagen S27 y la señal de estructura de imagen S26 se introducen al terminal 95 de la Figura 4. Estas señales se memorizan en la memoria 91 para almacenamiento de los parámetros del macrobloque actuales.
La señal de error predictiva de compensación del movimiento S16 del macrobloque se hace someterse a la determinación, en el elemento de determinación de coeficiente no cero 94, en cuanto a si la señal a transmitirse existe o no. Cuando existe la señal a transmitirse, el elemento de determinación 94 informa al elemento de determinación 94 sobre ese hecho. En respuesta a esta incidencia operativa, el elemento de determinación 93 establece el indicador de macrobloque S90 a “FALSO” para su salida.
Por otro lado, en el caso en donde no exista ninguna señal de error predictiva a transmitirse (es decir, todos los coeficientes de S16 son cero), el elemento de determinación 94 notifica la señal de “VERDADERO” al elemento de determinación 93. En este caso, el elemento de determinación 93 realiza, además, una determinación comparativa del contenido de la memoria 91 y del contenido de la memoria 92 para memorización de los parámetros de macrobloque anteriores.
En este caso, en el elemento de determinación 93, en el caso en donde la señal del tipo de codificación de imagen S27 es la imagen P,
se realiza una determinación comparativa de las condiciones en donde:
en primer lugar, la señal del vector de movimiento S8 es cero; en segundo lugar, la señal del modo de compensación del movimiento S9 es la predicción en sentido directo;
en tercer lugar, la señal de paridad de referencia del vector de movimiento de campo S41 es la misma que la paridad del campo previsto en el caso en donde la señal del tipo de predicción S40 sea la predicción del campo y 5 en cuarto lugar, la señal del sub-vector de movimiento S42 es cero.
Cuando se satisfacen estas condiciones, el elemento de determinación 93 establece el indicador de macrobloque objeto de salto operativo S90 a “VERDADERO” para su salida. Cuando no es así, el indicador de macrobloque objeto de salto
10 operativo S90 es “FALSO”. Este indicador de macrobloque S90 se proporciona a través del terminal 97 y se envía al elemento de VLC 20 representado en la Figura 1.
Además, en el elemento de determinación 93, en el caso en donde la señal del tipo de codificación de imagen S27 es la imagen B,
15 se realiza una determinación comparativa de las condiciones en donde:
en primer lugar, la señal del vector de movimiento de referencia S50 es cero y
20 en segundo lugar, la señal del modo de compensación del movimiento S9, la señal del tipo de predicción S40, la señal de paridad de referencia del vector de movimiento de campo S41, la señal de sub-vector de movimiento S42 y la señal de paridad de campo prevista S43 son, respectivamente, las mismas con respecto a los contenidos de las memorias 91 y
92.
25 Cuando se satisfacen estas condiciones, el elemento de determinación 93 establece el indicador de macrobloque objeto de salto operativo S90 a “VERDADERO” para su salida. Cuando no es así, el indicador de macrobloque objeto de salto operativo S90 es “FALSO”.
Conviene señalar que, en los macrobloques del inicio y del final del segmento, se inhibe el macrobloque, objeto de salto 30 operativo, incluso en el caso en donde se satisfagan las condiciones anteriormente descritas.
En el caso en donde el indicador de macrobloque objeto de salto operativo S90 es “FALSO”, el contenido de la memoria 91 se copia en la memoria 92. Además, con respecto al macrobloque en el que el indicador de macrobloque objeto de salto operativo S90 es “VERDADERO”, el elemento de VLC 20 no tiene datos.
35 El elemento de determinación de macrobloque objeto de salto operativo 28 se construye en la forma anteriormente indicada.
Además, con respecto a la determinación del macrobloque objeto de salto operativo, se describirá a continuación otra
40 forma de realización. En otra forma de realización, la condición para permitir que el macrobloque objeto de salto operativo de la imagen P y de la imagen B se mantenga en la forma de realización anteriormente descrita está limitada, además, como sigue. Esto es, en el caso en donde la estructura de imagen sea la estructura de trama, el tipo de predicción está limitado a solamente el caso de predicción basada en la trama. Además, en el caso en donde la estructura de imagen es la estructura de campo, el tipo de predicción está limitado a solamente el caso de predicción
45 basada en el campo 16x16. Esto es, el tipo de predicción de una imagen B se hace también no importante para el tipo de predicción del macrobloque anterior.
El resumen de la condición para permitir al macrobloque objeto de salto operativo, mantenerse en este caso es como sigue. En el caso en donde el elemento de determinación no cero 94 determina los respectivos macrobloques como
50 siendo un macrobloque, en el que no existe ninguna señal a transmitirse, el elemento de determinación 93 determina, además, si los respectivos macrobloques satisfacen, o no, esta condición requerida para permitir el mantenimiento del macrobloque objeto de salto operativo. Inicialmente, en el caso en donde la señal de tipo de codificación de imagen S27 es la imagen P y la señal de estructura de imagen S26 es la estructura de campo,
55 la condición para permitir que se mantenga el macrobloque objeto de salto operativo es:
en primer lugar, la señal de vector de movimiento S8 es cero;
en segundo lugar, la señal de modo de compensación de movimiento S9 es de predicción en sentido directo;
60 en tercer lugar, la señal del tipo de predicción S40 es de predicción de campo de 16x16 y
en cuarto lugar, la señal de paridad de referencia del vector de movimiento de campo S41 es igual a la paridad de la señal de paridad del campo prevista S43.
65 Además, en el caso en donde la señal del tipo de codificación de imagen S27 es la imagen P y la señal de estructura de imagen P S26 es la estructura de trama,
la condición para permitir mantener el macrobloque objeto de salto operativo es: 5 en primer lugar, la señal del vector de movimiento S8 es cero;
en segundo lugar, la señal del modo de compensación de movimiento S9 es la predicción en sentido directo y
10 en tercer lugar, la señal del tipo de predicción S40 es la predicción de trama.
Además, en el caso en donde la señal del tipo de codificación de imagen S27 es la imagen B y la señal de estructura de imagen S26 es la estructura de campo,
15 la condición para permitir el mantenimiento del macrobloque objeto de salto operativo es:
en primer lugar, la señal del vector de movimiento de diferencia S50 es cero;
en segundo lugar, la señal del modo de compensación del movimiento S9 es la misma que la del macrobloque anterior; 20 en tercer lugar, la señal del tipo de predicción S40 es la predicción de campo de 16x16;
en cuarto lugar, la señal de paridad de referencia del vector de movimiento de campo S41 es la misma que la del macrobloque anterior y 25 en quinto lugar, la señal de paridad de campo prevista S43 es la misma que la del macrobloque anterior.
Además, en el caso en donde la señal del tipo de codificación de imagen S27 es la imagen B y la señal de estructura de imagen S26 es la trama, 30 la condición para permitir el mantenimiento del macrobloque objeto de salto operativo es:
en primer lugar, la señal del vector de movimiento de diferencia S50 es cero;
35 en segundo lugar, la señal del modo de compensación del movimiento S9 es la misma que la del macrobloque anterior y
en tercer lugar, la señal del tipo de predicción S40 es la predicción de trama.
Volviendo a hacer referencia a la Figura 1, después de que una salida desde el elemento de VLC 20 se memoriza en la 40 memoria intermedia 21, se envía un flujo de bits a una tasa de transmisión fija desde el terminal de salida 22.
El aparato de codificación de imagen en movimiento está construido de una manera tal como se indicó anteriormente para realizar la codificación de la imagen en movimiento, la salida del flujo de bits y la salida de la imagen codificada.
45 Un aparato (decodificador) de decodificación de imágenes en movimiento, que presenta un elemento de determinación de diferencia inversa para el vector de movimiento, se describirá a continuación haciendo referencia a la Figura 5.
En la Figura 5, la señal de flujo de bits introducida desde el terminal de entrada 50 se memoriza en la memoria intermedia 51 y luego, se proporciona al elemento de VLC inverso 52.
50 Cuando el elemento de VLC inverso 52 detecta la parte de inicio de la imagen a decodificarse, establece el indicador de inicio de imagen S102 para proporcionarlo al elemento de control de imagen de referencia 58. En esta forma de realización, este indicador de inicio de imagen S102 se envía al elemento de control de imagen de referencia 58 a través de los terminales 67 y 61. Cuando se establece el indicador de inicio de imagen S102, el elemento de imagen de
55 referencia 58 proporciona, a la salida, señales de indicación de imagen de referencia, que se describirán más adelante, para suministrarlas al grupo de memorias de campo 57.
Además, cuando el elemento de VLC inverso 52 detecta la parte de inicio del elemento a decodificarse, establece el indicador de inicio del segmento S211.
60 De modo similar, el indicador de inicio de imagen S102 se proporciona también al elemento de control de imagen de salida 59. Cuando se establece el indicador de inicio de imagen S102, el elemento de control de imagen de salida 59 proporciona la señal de indicación de imagen de salida S60, que se describirá más adelante, para proporcionarla al grupo de memorias de campo 57.
La información de control para controlar el aparato de decodificación de imágenes en movimiento de esta invención, obtenida a partir del elemento de VLC inverso 52, se memoriza en la memoria 201. Esta información de control se proporciona como señal de control S104 a la salida. Además, la señal de estructura de imagen S201 y la señal del tipo de codificación de imagen S202 se proporcionan desde la memoria 201. Se entregan al elemento de VLC inverso 52.
La señal de macrobloque codificada S50, que ha sido extraída desde el elemento de VLC inverso 52, se proporciona a la sección de generación de señales bidimensionales 53. Además, el indicador de inicio MB S210 se proporciona, en sincronismo, con una salida de la señal de macrobloque codificada S50, desde el elemento de VLC inverso 52.
La señal de macrobloque codificada S50 se hace que sea la señal de bloque bidimensional S51 en la sección de generación de señales bidimensionales 53. Esta señal de bloque bidimensional S51 se proporciona a la sección de decodificación de señales de bloques 54, en donde se decodifica. De este modo, se obtiene la señal de diferencia de reproducción de bloque S52.
Como la configuración de la sección de decodificación de señales de bloques 54, la configuración constituida por el dispositivo de quantización inversa para los coeficientes de quantización inversa mediante la señal de la tabla de quantización S57 extraída desde el elemento de VLC inverso 52 y el elemento de DCT inverso para la puesta en práctica de la función de DCT (Transformada de Coseno Discreta) inversa para proporcionar sus coeficientes puede aplicarse en esta situación operativa.
Además, como la configuración de la sección de generación de señales bidimensionales 53, la configuración constituida por el convertidor de exploración inversa para la exploración en zigzag inversa, la señal de bloque codificada S50 puede aplicarse en el orden de coeficiente desde baja frecuencia a alta frecuencia.
Por otro lado, la señal del vector de movimiento de diferencia S90, asociada al macrobloque a decodificarse actualmente, que ha sido extraída desde el elemento de VLC inverso 52, se reconstruye en el elemento de determinación de diferencia inversa (elemento de diferencia inversa etiquetado MV en la Figura) 202. La señal de vector de movimiento reconstruido S55, procedente del elemento de determinación de diferencia inversa 202 y la señal del modo de compensación del movimiento S56, la señal del tipo de predicción S91, la señal de paridad de referencia del vector de movimiento de campo S92, la señal de sub-vector de movimiento S93 y la señal de paridad de campo prevista S94 se envían al dispositivo compensador de movimiento 56 que se proporciona desde el elemento de VLC inverso 52 y que se hace pasar a través de la memoria 204. En respuesta a estas señales, este dispositivo compensador del movimiento 56 da instrucciones de salida de la señal de imagen de bloque desde el grupo de memorias de campo 57 en donde se memorizan las imágenes ya codificadas y reproducidas.
En un sentido más práctico, el dispositivo compensador de movimiento 56 reconoce la imagen de reproducción designada desde el grupo de memorias de campo 57 mediante la señal de indicación de imagen de referencia S58, anteriormente descrita, como imagen de referencia para dar instrucciones a la salida de la señal de imagen de bloque situada en una dirección dentro de la imagen de referencia designada por la señal del modo de compensación del movimiento S56, la señal del vector de movimiento S55, la señal del tipo de predicción S91, la señal de paridad de referencia del vector de movimiento de campo S92, la señal del sub-vector de movimiento S93 y la señal de paridad de campo prevista S94.
El dispositivo compensador de movimiento 56 está adaptado para realizar una operación adaptativa que corresponda a la señal del modo de compensación del movimiento S56, esto es, para realizar cuatro clases de operaciones descritas a continuación en unidades de macrobloques. Conviene señalar que la magnitud del bloque es, p.e., 16x16 pixels, 16x8 pixels u 8x8 pixels.
A saber, como modos de cuatro clases de operaciones en este caso, existen
en primer lugar, un modo de compensación del movimiento a partir de la imagen de reproducción anterior,
en segundo lugar, un modo de compensación del movimiento a partir de la imagen de reproducción futura,
en tercer lugar, un modo de compensación del movimiento a partir de las imágenes de reproducción anterior y futura (puesta en práctica de operación lineal (p.e., cálculo del valor medio) en cada pixel para bloques de referencia a partir de la imagen de reproducción anterior y del bloque de referencia a partir de la imagen de reproducción futura) y
en cuarto lugar, el modo de compensación sin movimiento (es decir, el modo intracodificado. En este caso, la salida de la señal de imagen de bloque S54 es igual a cero). El dispositivo compensador de movimiento 56 selecciona una de cuatro clases de modos de operación en función de la señal del modo de compensación de movimiento S56.
La señal de diferencia de reproducción de bloque S52, procedente de la sección de decodificación de señales de bloques 54, se añade a la señal de imagen del bloque S54 procedente del dispositivo compensador de movimiento 56 en cada pixel en el dispositivo sumador 55. En consecuencia, se obtiene la señal de reproducción de bloque S53. Esta señal de reproducción de bloque S53 se memoriza en una memoria de campo designada por la señal de indicación de imagen actual S59 a partir del grupo de memorias de campo 57.
La imagen en movimiento se reconstruye a partir del flujo de bits en una manera anteriormente establecida.
5 La imagen de reproducción designada en función de la señal de indicación de imagen de salida S60 anteriormente descrita de las imágenes de reproducción memorizadas en el grupo de memorias de campo 57 se proporciona desde el terminal 60.
Conviene señalar que la señal de control S104, la señal de estructura de imagen S201 y la señal del tipo de codificación de imagen S202 se proporcionan, a través del terminal 62, al dispositivo compensador de movimiento 56, al elemento de control de imagen de referencia 58 y al elemento de control de imagen de salida 59.
El elemento de determinación de la diferencia inversa 202, para el vector de movimiento, se describirá a continuación 15 haciendo referencia a la Figura 6.
En la Figura 6, la señal del vector de movimiento de la diferencia S90, proporcionada a través del terminal 311, se reconstruye en el elemento de determinación de la diferencia inversa 202 que se representa en la Figura 6. Al elemento de determinación de diferencia inversa del vector 202 se le aplican el indicador de inicio de segmento S211, el indicador de inicio de MB S210, la señal de vector de movimiento de la diferencia S90, la señal del modo de compensación de movimiento S56, la señal de tipo de predicción S91 y la señal de estructura de imagen S201. Esto es, el indicador de inicio de MB S210 se entrega al terminal 312, la señal del modo de compensación de movimiento S56 se entrega al terminal 313, la señal del tipo de predicción S91 se entrega a los terminales 314 y 316 y la señal de estructura de imagen S201 se entrega al terminal 315.
25 En este caso, el número de recepción de los vectores de movimiento de diferencia en sentido directo o vectores de movimiento de diferencia en sentido inverso, a recibirse dentro del macrobloque, se reconoce por la señal de estructura de imagen S201 y la señal del tipo de predicción S91. Dicho número de recepción se determina según se indica en las tablas 1 a 3 antes citadas. En esta forma de realización, los números máximos respectivos de recepciones de vectores de movimiento de diferencia en sentido directo y vectores de movimiento de diferencia en sentido inverso son 2. En consecuencia, cuatro vectores de movimiento de diferencia se reciben, como máximo, dentro del macrobloque.
Por este motivo, en esta forma de realización, el grupo de registros 305, en el elemento de determinación de diferencia inversa de vectores 202 de la Figura 6, se construye según se ilustra en la Figura 3 antes citada. En este caso, cuatro
35 memorias registro PMV1 – PMV4, para memorizar vectores de movimiento se preparan en una manera similar a la anteriormente descrita.
Los vectores de movimiento de diferencia en sentido directo y los vectores de movimiento de diferencia en sentido inverso se hacen tener una relación de correspondencia uno a uno, respectivamente, con respecto a las memorias registro PMV1 – PMV4 en función del orden de recepción dentro del macrobloque. En un sentido más práctico, el vector de movimiento de diferencia en sentido directo recibido, en primer lugar, dentro del macrobloque, se añade al vector de movimiento reconstruido memorizado en la memoria registro PMV1. Además, el vector de movimiento de diferencia en sentido directo, recibido en segundo lugar dentro del macrobloque, se añade al vector de movimiento reconstruido memorizado en la memoria de registro PMV2. Además, el vector de movimiento de diferencia en sentido inverso, recibido
45 en primer lugar dentro del macrobloque, se añade al vector de movimiento reconstruido memorizado en la memoria registro PMV3. Además, el vector de movimiento de diferencia en sentido inverso, recibido en segundo lugar dentro del macrobloque, se añade al vector de movimiento reconstruido memorizado en la memoria registro PMV4. En esta forma de realización, el orden de recepción dentro del macrobloque de los respectivos vectores de movimiento proporciona índices que indican qué registro de las memorias registro PMV1 – PMV4 memoriza el vector de movimiento reconstruido a añadirse a los respectivos vectores de movimiento de diferencia.
Dicho de otro modo, en esta forma de realización, los índices de “1” – “2” se proporcionan en orden de recepciones de vectores de movimiento de diferencia en sentido directo dentro del macrobloque y los índices de “3” – “4” se proporcionan en orden de recepciones de vectores de movimiento de diferencia en sentido inverso allí contenidos. De este modo, los
55 vectores de movimiento que tengan respectivos índices y las memorias registro PMV se hace que presenten una relación de correspondencia de tipo ‘uno a uno’.
Además, la sintaxis del flujo de bits del vector de movimiento es tal como se ha ilustrado ya en la tabla 4 antes citada. Además, en este caso, según se indica por la tabla, los vectores de movimiento a transmitirse y los registros PMV se hacen corresponder, respectivamente, entre sí. La explicación de la tabla 4 es la misma que la que se ha realizado en el calculador del codificador.
Conviene señalar que, al actualizar la memoria registro PMV1, el macrobloque en el que el número de recepción de vectores de movimiento de diferencia en sentido directo es 1 actualiza la memoria registro PMV2 en el mismo valor.
65 Además, al actualizar la memoria registro PMV3, el macrobloque en el que el número de recepción de los vectores de movimiento de diferencia en sentido inverso es 1 actualiza la memoria registro PMV4 en el mismo valor.
La operación de conmutación de las memorias registro PMV se describirá a continuación haciendo referencia a la Figura
6.
En la Figura 6, en respuesta a la señal del vector de movimiento de diferencia S90 introducida a través del terminal 311, el generador de indicadores de señales de vector de movimiento de diferencia 308 proporciona, a la salida, el indicador de señal de vector de movimiento de diferencia S306. Dichos indicadores de señales de vectores de movimiento de diferencia S306 se recuentan por el contador de vectores de movimiento de diferencia 309. Conviene señalar que cuando se establece el indicador de inicio de MB S210, el contador de vectores de movimiento de diferencia 309 es objeto de reposición. La señal del número de conteo de vectores de movimiento S307 procedente del contador de vectores de movimiento 309, se aplica a la entrada del generador de señales de designación de índices de registro 310. A este generador, se aplica a la entrada la señal del modo de compensación de movimiento S56, la señal del tipo de Presidente S91 y la señal de estructura de imagen S201.
En este caso, el número de transmisión de vectores de movimiento de diferencia en sentido directo o vectores de movimiento de diferencia en sentido inverso (motion_vector_count) a transmitirse, dentro del macrobloque, se reconoce por la señal de estructura de imagen S201 y la señal del tipo de predicción S91 y el número de transmisión de todos los vectores de movimiento a transmitirse, dentro del macrobloque, se reconoce por la señal del modo de compensación de movimiento S56. A modo de ejemplo, en el caso en donde “motion_vector_count” es 2 y la señal del modo de compensación de movimiento S56 indica el modo bidireccionalmente predictivo, puesto que los vectores de movimiento a recibirse dentro del macrobloque se reciben en el orden de 2 vectores de movimiento de diferencia en sentido directo y 2 vectores de movimiento de diferencia en sentido inverso, el número de transmisión de todos los vectores de movimiento de diferencia es 4.
Sobre la base de esta información, el generador de señales de designación de índices de registros 310 genera una señal de designación de índices de registro S308 a partir de la señal del número de conteo de vectores de movimiento S307 y la proporciona a la salida. En conformidad con esta señal de designación de índices de registro S308, en la forma de realización antes descrita, a modo de ejemplo, cuando la señal del número de conteo de vectores de movimiento S307 toma el valor 1, la memoria registro PMV1 es designada en el grupo de registros 305; cuando esa señal toma el valor 2, la memoria registro PMV2 es designada en el grupo de registros 305; cuando esa señal toma el valor 3, la memoria de registro PMV3 es designada en el grupo de registros 305 y cuando la señal toma el valor 4, la memoria registro PMV4 es designada en el grupo de registros 305.
A modo de otro ejemplo, en el caso en donde existe una función “motion_vector_count” y la señal del modo de compensación de movimiento S56 indica el modo predictivo en sentido inverso, puesto que solamente un vector de movimiento de diferencia en sentido inverso se transmite como el número de transmisión de todos los vectores de movimiento de diferencia transmitidos dentro del macrobloque, cuando la señal del número de conteo de vectores de movimiento S307 toma el valor 1, la memoria registro PMV3 es designada en el grupo de registros 305.
El grupo de registros 305 responde a la señal de designación de índices de registros S308 para proporcionar la señal de vector de movimiento S302, memoriza en el registro designado, a través del conmutador 303.
Esta señal de vector de movimiento de salida S302 es objeto de conversión de escala (señal de vector de movimiento de salida de escala convertida S302) en el convertidor de escalas 302 de la conversión de escala C, cuando la ocasión operativa lo demanda, mediante la conversión de señal de indicación de escala CONVERSION (señal de indicación de escala C) procedente del circuito de conmutación 307 que se suministra con la señal del tipo de predicción S91 y a continuación, se aplica a la entrada del circuito sumador 301, en donde se añade a la señal de vector de movimiento de diferencia actualmente introducida S90. De este modo, se reconstruye la señal del vector de movimiento S55. Esta señal de vector de movimiento S55 se proporciona desde el terminal 317 como el vector de movimiento reconstruido.
Por otro lado, la señal de vector de movimiento actualmente reconstruido S55 es objeto de conversión de escala por la señal de indicación de escala S305 (señal de indicación de escala D) en el dispositivo convertidor de escala 306 de la conversión de escala D cuando la ocasión operativa lo demanda y a continuación, es objeto de sobreescritura en la memoria registro PMV del grupo de registros 305 designada por la señal de designación de índices de registro S308 y que está recientemente memorizada en ella.
Conviene señalar que el convertidor de escalas 302 y el convertidor de escalas 306 pueden utilizarse para el ajuste de escala espacial en el momento de calcular el vector de movimiento de la diferencia entre el vector de movimiento que hace referencia a la trama y el vector de movimiento que hace referencia al campo y/o el ajuste de la escala en función de la causa, en el punto de la base de tiempos, en el momento de calcular el vector de la diferencia entre los vectores de movimiento que presenten distancias distintas en el punto en el tiempo hasta el campo de referencia.
Además, la reposición de la memoria registro PMV del elemento de determinación de la diferencia inversa 202 de la Figura 6 se realiza el macrobloque en donde la señal del modo de compensación de movimiento S56 indica el modo intracodificado y el macrobloque en donde se establece el indicador de inicio del segmento S211. En este momento, todos los registros en el grupo de registros 305 son objeto de reposición a cero. La instrucción de reposición de este grupo de registros 305 se realiza mediante el elemento de instrucción de reposición de registros 318. En esta forma de realización, este elemento de instrucción de reposición de registro 318 está provisto de un indicador de inicio de segmento S211 a través del terminal 68 de la Figura 5 y a través del terminal 319 de la Figura 6, la señal del modo de compensación de movimiento S56, la señal del tipo de codificación de imagen S202 a través del terminal 64 de la Figura 5 y del terminal 319 de la Figura 6 y el indicador de macrobloque objeto de salto operativo S95 a través del terminal 63
5 de la Figura 5 y del terminal 319 de la Figura 6.
El elemento de determinación de la diferencia inversa 202 para el vector de movimiento se construye en una manera anteriormente descrita.
Volviendo a la referencia de la Figura 5, se describirá a continuación la gestión del macrobloque, objeto de salto operativo, en el lado del decodificador.
En la Figura 5, después de que se reciba el macrobloque, se obtiene la dirección sobre la imagen de dicho macrobloque a partir de la información de cabecera del macrobloque. Esto es, la señal de dirección de macrobloque S94 obtenida en
15 el elemento de VLC inverso 52 se aplica a la entrada del comparador de direcciones del macrobloque 203.
En este comparador de direcciones del macrobloque 203, se memoriza la dirección del macrobloque anteriormente recibida por uno. Se realiza la comparación entre ese valor y la señal de dirección del macrobloque S94. En consecuencia, cuando las direcciones de macrobloques son discontinuas, esto es, la diferencia es 2 o más, se reconoce que existe un macrobloque objeto de salto operativo. El número que es más pequeño que el valor de la diferencia en 1 es el número de macrobloques objeto de salto operativo. A continuación, el comparador de direcciones de macrobloques 203 establece el indicador de macrobloque objeto de salto operativo S95.
Cuando se establece el indicador de macrobloque objeto de salto operativo S95, el decodificador de esta forma de
25 realización entra en el procesamiento del macrobloque objeto de salto operativo. Inicialmente, el VLC inverso 52 proporciona una salida cero como la señal de bloque codificada S50 cuando se establece el indicador de macrobloque objeto de salto operativo S95. En consecuencia, en este momento, la señal de diferencia de reproducción del bloque S52 se hace también igual a cero.
Además, en el caso en donde, p.e., la señal del tipo de codificación de imagen S202 es la imagen P,
en primer lugar, el elemento de instrucción de reposición de registros 318 realiza la reposición de todos los registros PMV en el elemento de determinación de la diferencia inversa 202 para el vector de movimiento a cero,
35 en segundo lugar, el elemento de determinación de la diferencia inversa 202 proporciona la salida cero como la señal de vector de movimiento S55,
en tercer lugar, el elemento de VLC inverso 52 proporciona la señal de modo de compensación de movimiento S56 como predicción en sentido directo,
en cuarto lugar, el elemento de VLC inverso 52 permite que la señal del tipo de predicción S91 sea de “predicción basada en la trama” cuando la señal de estructura de imagen S201 es una estructura de trama, lo que permite que sea una “predicción basada en el campo 16x16” cuando la señal de estructura de imagen S201 es una estructura de campo y permite que sea una “predicción basada en trama 16x16” cuando la señal de estructura de imagen S201 es progresiva,
45 en quinto lugar, el elemento de VLC inverso 52 permite que la señal de paridad de referencia del vector de movimiento de campo S92 sea igual a la señal de paridad de campo prevista S94 y
en sexto lugar, proporciona una salida cero como la señal de sub-vector de movimiento S93.
Además, en el caso en donde, p.e., la señal del tipo de codificación de imagen S202 es la imagen B,
en primer lugar, el elemento de determinación de la diferencia inversa 202 proporciona el valor memorizado en la memoria registro PMV como la señal de vector de movimiento S55 y
55 en segundo lugar, la memoria 204 proporciona, a la salida, la señal del modo de compensación del movimiento S56, la señal de tipo de predicción S91, la señal de paridad de referencia del vector de movimiento de campo S92, la señal de sub-vector de movimiento S93 y la señal de paridad de campo prevista S94 del macrobloque decodificado inmediatamente antes de que se memoricen.
Además, el procesamiento del decodificador en el caso en donde el macrobloque, objeto de salto operativo, se determina por otra forma de realización en el lado del codificador, se muestra colectivamente a continuación. Inicialmente, en el caso en donde se establece el indicador de macrobloque objeto de salto operativo S95 en la imagen en la que la señal del tipo de codificación de imagen S202 es la imagen P y la señal de estructura de imagen S201 es la estructura de
65 campo, en primer lugar, el elemento de instrucción de reposición de registro 78 efectúa la reposición a cero de todas las memorias registro PMV en el elemento de determinación de la diferencia inversa 202 para el vector de movimiento,
en segundo lugar, el elemento de determinación de la diferencia inversa 202 proporciona la salida cero como señal de 5 vector de movimiento S55 para el dispositivo compensador de movimiento 56,
en tercer lugar, el elemento de VLC inverso 52 da instrucciones al dispositivo compensador de movimiento 56 para realizar la predicción en sentido directo como el modo de compensación de movimiento S56,
en cuarto lugar, el elemento de VLC inverso 52 da instrucciones al dispositivo compensador de movimiento 56 para realizar la predicción de campo de 16x16 como la señal del tipo de predicción S91 y
en quinto lugar, el elemento de VLC inverso 52 da instrucciones al dispositivo compensador de movimiento 56 para proporcionar la misma paridad que la de la señal de paridad de campo prevista S94 como la señal de paridad de
15 referencia del vector de movimiento de campo S92.
En el caso en donde se establece el indicador de macrobloque objeto de salto operativo S95 en la imagen, en donde la señal del tipo de codificación de imagen S202 es la imagen P y la señal de estructura de imagen S201 es la estructura de trama,
en primer lugar, el elemento de instrucción de reposición del registro 78 realiza la reposición a cero de todas las memorias registro PMV en el elemento de determinación de la diferencia inversa 202 para el vector de movimiento,
en segundo lugar, el elemento de determinación de la diferencia inversa 202 proporciona una salida cero como la señal 25 de vector de movimiento S55 para el dispositivo compensador de movimiento 56,
en tercer lugar, el elemento de VLC inverso 52 da instrucciones al dispositivo compensador de movimiento 56 para realizar la predicción en sentido directo como el modo de compensación de movimiento S56 y
en cuarto lugar, el elemento de VLC inverso 52 da instrucciones al dispositivo compensador de movimiento 56 para realizar la predicción de trama como la señal del tipo de predicción S91.
En el caso en donde se establece el indicador de macrobloque objeto de salto operativo S95 en la imagen en donde la señal del tipo de codificación de imagen S202 es la imagen B y la señal de estructura de imagen S201 es una estructura
35 de campo,
en primer lugar, el elemento de determinación de la diferencia inversa 202 proporciona, a la salida, el valor memorizado en la memoria registro PMV como señal de vector de movimiento S55 al dispositivo compensador de movimiento 56,
en segundo lugar, la memoria 204 proporciona, al dispositivo compensador de movimiento 56, la señal del modo de compensación de movimiento S56, la señal de paridad de referencia del vector de movimiento de campo S92 y la señal de paridad de campo prevista S94 del macrobloque decodificado inmediatamente antes de que se memoricen y
en tercer lugar, el elemento de VLC inverso 52 da instrucciones al dispositivo compensador de movimiento 56 para 45 realizar la predicción del campo de 16x16 como la señal del tipo de predicción S91.
En el caso en donde se establece el indicador de macrobloque objeto de salto operativo S95 en la imagen en donde la señal del tipo de codificación de imagen S202 es la imagen B y la señal de estructura de imagen S201 es una estructura de trama,
en primer lugar, el elemento de determinación de la diferencia inversa 202 proporciona, al dispositivo compensador de movimiento 56, el valor memorizado en la memoria registro PMV como la señal del vector de movimiento S55,
en segundo lugar, la memoria 204 proporciona, al dispositivo compensador de movimiento 56, la señal del modo de 55 compensación de movimiento S56 del macrobloque decodificado inmediatamente antes de que se memorice y
en tercer lugar, el elemento de VLC inverso 52 da instrucciones al dispositivo compensador de movimiento 56 para realizar la predicción de trama como la señal del tipo de predicción S91.
El procesamiento del macrobloque objeto de salto operativo, se realiza de esta manera. Este procesamiento se repite por el número de macrobloques objeto de salto operativo. El decodificador realiza la decodificación de forma similar al macrobloque ordinario, sobre la base de la señal así obtenida.
Cuando se obtiene un macrobloque que no es el macrobloque objeto de salto operativo, esto es, el indicador del
65 macrobloque objeto de salto operativo S95 proporcionado a través del terminal 66 es “FALSO”, el contenido de la memoria 204 se actualiza por la señal del modo de compensación de movimiento S56, la señal del tipo de predicción
S91, la señal de paridad de referencia del vector de movimiento de campo S92, la señal de sub-vector de movimiento S93 y la señal de paridad de campo prevista S94 de ese macrobloque. En esta forma de realización, la señal de estructura imagen S201 y la señal de tipo de codificación de imagen S202 se proporcionan también a través del terminal 65 a la memoria 204.
El aparato de decodificación de imagen en movimiento está construido en una manera anteriormente descrita, de modo que pueda reproducir la imagen a partir del flujo de bits.
Por último, se describirá ahora una operación más práctica de esta forma de realización.
La Figura 7 representa la operación en el caso en donde la primera realización, a modo de ejemplo, (Figura 18) de la determinación de la diferencia entre los vectores de movimiento en el lado del codificador convencional, previamente descrito, se lleva a cabo en esta forma de realización.
En la Figura 7, a modo de ejemplo, el vector de movimiento de la parte superior del macrobloque MB0 es (5, 1)(1), el vector de movimiento de la parte inferior del macrobloque MB0 es (5, 5)(2), el vector de movimiento de la parte superior del macrobloque MB1 es el vector (5, 5)(3), el vector de movimiento de la parte inferior del macrobloque MB1 es (5, 5)(4), el vector de movimiento de la parte superior del macrobloque MB2 es (5, 5)(5) y el vector de movimiento de la parte inferior del macrobloque MB2 es (5, 5)(6). Además, (0, 0) se memoriza en las memorias registro PMV1 y PMV2 de la Figura 2 antes citada (esto es, Figura 3) como un valor inicial.
En el caso de la realización, a modo de ejemplo, de la Figura 7, en el macrobloque MB0, (5, 1)(1) - PMV1 = (5, 1) (1) que es la diferencia entre el vector de movimiento (5, 1) de la parte superior y el valor inicial (0, 0) de la memoria registro PMV1 se obtiene con esta operación. El valor así obtenido se proporciona, a la salida, como vector de movimiento de la diferencia de la parte superior de MB0. El vector de movimiento (5, 1)(1) se memoriza en la memoria registro PMV1. Además, (5, 5)(2) – PMV1 = (5, 5) que es la diferencia entre el vector de movimiento (5, 5)(2) de la parte inferior y el valor inicial (0, 0) de la memoria registro PMV2 se obtiene de esta manera. El valor así obtenido se proporciona como el vector de movimiento de la diferencia de la parte inferior de MB0. El vector de movimiento (5, 5)(2) de la parte inferior se memoriza en la memoria registro PMV2. Además, en el macrobloque MB1, (5, 5)(3) – PMV1 = (0, 4), que es la diferencia entre el vector de movimiento (5, 5)(3), de la parte superior y el valor (5, 1) de la memoria registro PMV1 se obtiene de esta manera. Este valor se proporciona, a la salida, como el vector de movimiento de la diferencia de la parte superior de MB1. El vector de movimiento (5, 5)(3) de la parte superior se memoriza en la memoria registro PMV1. Además, (5, 5)(4) – PMV2 = (0, 0) que es la diferencia entre el vector de movimiento (5, 5)(4) de la parte inferior del macrobloque MB1 y el valor (5, 5)(2) de la memoria registro PMV2 se obtiene de esta manera. Este valor se proporciona, a la salida, como el vector de movimiento de la diferencia de la parte inferior de MB1. El vector de movimiento (5, 5)(4) de la parte inferior se memoriza en la memoria registro PMV2. De forma similar, en el macrobloque MB2, (5, 5)(5) – PMV1 = (0, 0) que es la diferencia entre el vector de movimiento (5, 5)(5) de la parte superior y el valor (5, 5)(3) de la memoria registro PMV1 se obtiene de esta manera. Este valor se proporciona, a la salida, como el vector de movimiento de referencia de la parte superior de MB2. El vector de movimiento (5, 5)(5) de la parte superior se memoriza en la memoria registro PMV1. Además, (5, 5)(6) – PMV2 = (0, 0), que es la diferencia entre el vector de movimiento (5, 5)(6) de la parte inferior del macrobloque MB2 y el valor (5, 5)(4) de la memoria registro PMV2 se obtiene de esta manera. Este valor se proporciona, a la salida, como el vector de movimiento de la diferencia de la parte inferior de MB2. El vector de movimiento (5, 5)(6) de la parte inferior se memoriza en la memoria registro PMV2.
Según se describió anteriormente, el macrobloque MB2 no presenta ninguna señal de error predictiva a transmitirse y el modo de compensación del movimiento, etc., es el mismo que el del macrobloque inmediatamente anterior. En este caso, el macrobloque MB2 es el macrobloque objeto de salto operativo. Esto es, en el caso en donde el macrobloque MB2 es el macrobloque objeto de salto operativo, el vector de movimiento se copia desde el macrobloque MB1 inmediatamente antes en el lado del decodificador.
La Figura 8 representa la operación en el lado del decodificador. Esto es, en la Figura 8, se supone ahora que (5, 1)(1) del vector de movimiento de la diferencia de la parte superior del macrobloque MB0 (5, 5)(2) del vector de movimiento de la diferencia de la parte inferior del macrobloque MB0 (0, 4)(3) del vector de movimiento de la diferencia de la parte superior del macrobloque MB1 y (0, 0)(4) del vector de movimiento de la diferencia de la parte inferior del macrobloque MB1 se obtiene como el vector de movimiento de la diferencia en la forma de realización, a modo de ejemplo, antes citada de la Figura 7 y ese macrobloque MB2 es el macrobloque objeto de salto operativo. Además, (0, 0) se memoriza como un valor inicial en las memorias registro PMV1 y PMV2 de la Figura 6 (esto es, Figura 3) anteriormente descrita.
En el caso de la realización, a modo de ejemplo, representada en la Figura 8, en el macrobloque MB0 (5, 1)(1) + PMV1 = (5, 1) mediante la adición del vector de movimiento de la diferencia (5, 1)(1) de la parte superior y el valor inicial (0, 0) de la memoria registro PMV1 se obtiene como el vector de movimiento reconstruido. Este vector de movimiento reconstruido se envía a la memoria registro PMV1. Además, en el macrobloque MB0 (5, 5)(2) + PMV2 = (5, 5) mediante la adición del vector de movimiento de la diferencia (5, 5)(2) de la parte inferior y el valor inicial (0, 0) de la memoria registro PMV2 se obtiene como el vector de movimiento reconstruido. Este vector de movimiento reconstruido se envía a la memoria registro PMV2. De forma similar, en el macrobloque MB1, (0, 4)(3) + PMV1 = (5, 5) mediante la adición del vector de movimiento de la diferencia (0, 4)(3) de la parte superior y el vector de movimiento reconstruido (5, 1) de la memoria
registro PMV1 se obtiene como el vector de movimiento reconstruido. Este vector de movimiento reconstruido se envía a la memoria registro PMV1. Además, en el macrobloque MB1, (0, 0)(4) + PMV2 = (5, 5) mediante la adición del vector de movimiento de la diferencia (0, 0)(4) de la parte inferior y el vector de movimiento reconstruido (5, 5) de la memoria registro PMV2 se obtiene como el vector de movimiento reconstruido. Este vector de movimiento reconstruido se envía a la memoria registro PMV2. Además, en el macrobloque MB2, puesto que este macrobloque es el macrobloque objeto de salto operativo, se copia (5, 5)(5) en la parte superior y (5, 5)(6) se copia en la parte inferior como el vector de movimiento reconstruido.
Esto es, en la forma de realización, a modo de ejemplo, representada en la Figura 8, puesto que el macrobloque MB2 es el macrobloque objeto de salto operativo, el vector se copia desde la memoria registro PMV y el modo de compensación de movimiento se copia también desde el macrobloque MB1 inmediatamente antes. Como se indicó con anterioridad, en conformidad con esta forma de realización, es posible proporcionar un vector de movimiento reconstruido correcto también con respecto al macrobloque objeto de salto operativo.
Los aparatos de codificación y de decodificación de imagen en movimiento, así caracterizados, se construyen a este respecto.
APLICABILIDAD INDUSTRIAL
En conformidad con esta invención, en aparatos para efectuar las operaciones de codificación y de decodificación predictivas de compensación del movimiento de la imagen en movimiento, en el caso en donde, con respecto a los vectores de movimiento dados en unidades de macrobloques, existan uno o más vectores de movimiento que hagan referencia a la trama (campo) anterior en la predicción en sentido directo, existen uno o más vectores de movimiento que hacen referencia a la futura trama (campo) en la predicción en sentido inverso y existen, respectivamente, uno o más vectores de movimiento que hacen referencia a las tramas anterior y futura (campos) y en el caso en donde los números de vectores de movimiento, en los respectivos modos de compensación de movimiento, varían en unidades de macrobloques, el elemento de determinación de la diferencia para permitir que se pueda construir el vector de movimiento de la diferencia en el lado del codificador y se puede determinar así el macrobloque objeto de salto operativo.
En el lado de decodificador, el elemento de determinación de la diferencia inversa para reconstruir el vector de movimiento a partir del vector de movimiento de la diferencia recibido se puede construir en este lado. Este elemento de determinación de la diferencia inversa se caracteriza por cuanto que no existe ninguna necesidad de proporcionar una memoria registro, con la excepción de la memoria registro PMV, para poder mantener el vector de movimiento del macrobloque procesado inmediatamente antes. Además, en el lado del decodificador, se hace posible gestionar el macrobloque objeto de salto operativo.
En el caso anteriormente descrito, es conveniente que se haga posible gestionar, mediante esta técnica, el macrobloque objeto de salto operativo que no se podría gestionar en la técnica anterior. Con respecto al macrobloque que es el macrobloque objeto de salto operativo, el codificador no transmitirá ningún dato. El macrobloque objeto de salto operativo es importante en la tecnología de codificación con miras a mejorar la eficiencia de la codificación.
A modo de ejemplo, en el caso en donde aún cuando una imagen, a procesarse, es una secuencia de imágenes en movimiento, su contenido es un escenario operativo en donde imágenes fijas (o imágenes que presentan un movimiento muy suave) son sucesivas, la mayor parte de los macrobloques se pueden gestionar como un macrobloque objeto de salto operativo. En un caso extremo, la primera trama puede codificarse dentro de la imagen sin compensación del movimiento para su transmisión para gestionar ese macrobloque como un macrobloque casi objeto de salto operativo desde la segunda trama y las tramas sucesivas. En este caso, puede esperarse una gran mejora de la eficiencia de codificación.
Otras formas de realización, a modo de ejemplo, se establecen en las cláusulas numeradas siguientes:
1. Un método de codificación de señal de imagen que comprende la etapa de:
la codificación de una señal de imagen de entrada en cada macrobloque sobre la base de una pluralidad de modos, en donde cuando el tipo de codificación de imagen en la pluralidad de modos es la imagen P y la estructura de imagen, en la pluralidad de modos, es la estructura de campo,
el método comprende, además, las etapas de:
la determinación, en cada macrobloque codificado, de si se satisfacen, o no, las condiciones en donde
la señal de error predictiva es cero,
el vector de movimiento es cero,
el modo de compensación de movimiento, en la pluralidad de modos, es la predicción en sentido directo, el tipo de predicción en la pluralidad de modos, es la predicción de campo de 16 x 16 y
la paridad de referencia del vector de movimiento de campo del macrobloque es la misma que la paridad de campo
prevista,
de modo que se procesa el macrobloque codificado, como un macrobloque objeto de salto operativo, cuando se
satisfacen dichas condiciones respectivas.
2. Un método de codificación de señal de imagen que comprende la etapa de: la codificación de una señal de imagen de entrada, en cada macrobloque, sobre la base de una pluralidad de modos, en donde cuando el tipo de codificación de imagen, en la pluralidad de modos, es la imagen P y la estructura de imagen, en la pluralidad de modos, es la estructura de tramas,
15 el método comprende, además, las etapas de:
la determinación, en cada macrobloque codificado, de si se satisfacen, o no, las condiciones en donde
la señal de error predictiva es cero,
el vector de movimiento es cero,
el modo de compensación de movimiento, en la pluralidad de modos, es la predicción en sentido directo y
25 el tipo de predicción en la pluralidad de modos, es la predicción de trama, de modo que se procese el macrobloque codificado, como un bloque objeto de salto operativo, cuando se satisfacen dichas condiciones respectivas.
3. Un método de codificación de señal de imagen que comprende la etapa de: la codificación de una señal de imagen de entrada, en cada macrobloque, sobre la base de una pluralidad de modos, en donde cuando el tipo de codificación de imagen, en la pluralidad de modos, es la imagen B y la estructura de imagen,
en la pluralidad de modos, es la estructura de campo, 35 el método comprende, además, la etapa de:
la determinación, en cada macrobloque codificado, de si se satisfacen, o no, al menos las condiciones en donde
la señal de error predictiva es cero,
el vector de movimiento de la diferencia es cero,
el modo de compensación de movimiento, en la pluralidad de modos, es el mismo que el del macrobloque anterior y
45 el tipo de predicción en la pluralidad de modos, es la predicción de campo de 16 x 16, de modo que se procese el macrobloque codificado, como un macrobloque objeto de salto operativo, cuando se satisfagan dichas condiciones respectivas.
4. Un método de codificación de señal de imagen que comprende la etapa de: la codificación de una señal de imagen de entrada, en cada macrobloque, sobre la base de una pluralidad de modos, en donde cuando el tipo de codificación de imagen, en la pluralidad de modos, es la imagen B y la estructura de imagen,
55 en la pluralidad de modos, es la estructura de trama,
el método comprende, además, la etapa de:
la determinación, en cada macrobloque codificado, de si se satisfacen, o no, las condiciones en donde
la señal de error predictiva es cero,
el vector de movimiento de la diferencia es cero,
65 el modo de compensación de movimiento, en la pluralidad de modos, es el mismo que el del macrobloque anterior y
el tipo de predicción en la pluralidad de modos, es la predicción de trama,
de modo que se procese el macrobloque codificado, como un macrobloque objeto de salto operativo, cuando se satisfagan dichas condiciones respectivas. 5
5. Un método de decodificación de señal de imagen que comprende la etapa de: detectar un macrobloque, objeto de salto operativo, a partir de una señal de imagen codificada, en donde cuando el tipo de codificación de imagen del macrobloque objeto de salto operativo es la imagen P y su estructura de imagen es la estructura de campo,
el método comprende, además, la etapa de:
la reposición a cero de todas las memorias en un elemento para la determinación del vector de movimiento reconstruido a partir de la diferencia y
15 la realización de la decodificación bajo las condiciones en donde la señal de bloque codificado es cero, el vector de movimiento es cero, el modo de compensación de movimiento es la predicción en sentido directo, el tipo de predicción es la predicción de campo de 16 x 16 y la paridad de referencia del vector de movimiento de campo es la misma que la paridad del campo prevista.
6. Un método de decodificación de señal de imagen que comprende la etapa de:
la detección de un macrobloque objeto de salto operativo a partir de una señal de imagen codificada, en donde cuando el tipo de codificación de imagen del macrobloque objeto de salto operativo es la imagen P y la estructura de imagen es la estructura de trama,
25 el método comprende, además, la etapa de:
la reposición a cero de todas las memorias en un elemento para la determinación del vector de movimiento reconstruido a partir de la diferencia y
la realización de la decodificación bajo las condiciones en donde la señal de bloque codificado es cero, el vector de movimiento es cero, el modo de compensación de movimiento es la predicción en sentido directo y el tipo de predicción es la predicción de trama.
35 7. Un método de decodificación de señal de imagen que comprende la etapa de:
la detección de un macrobloque objeto de salto operativo a partir de una señal de imagen codificada,
en donde cuando el tipo de codificación de imagen del macrobloque objeto de salto operativo es la imagen B y la estructura de imagen es la estructura de campo,
el método comprende, además, la etapa de:
la realización de la decodificación al menos bajo las condiciones en donde la señal de bloque codificada es cero, el
45 vector de movimiento se establece a un valor memorizado en una memoria de un elemento para la determinación del vector de movimiento reconstruido a partir de la diferencia, el modo de compensación de movimiento es el modo de compensación de movimiento de un macrobloque decodificado inmediatamente antes y el tipo de predicción es la predicción de campo de 16 x 16.
8. Un método de decodificación de señal de imagen que comprende la etapa:
la detección de un macrobloque, objeto de salto operativo, a partir de una señal de imagen codificada,
en donde cuando el tipo de codificación de imagen del macrobloque objeto de salto operativo es la imagen B y la 55 estructura de imagen es la estructura de trama,
el método comprende la etapa de:
la realización de la decodificación bajo las condiciones en donde la señal de bloque codificada es cero, el vector de movimiento se establecer a un valor memorizado en una memoria de un elemento para la determinación del vector de movimiento reconstruido a partir del a diferencia, el modo de compensación de movimiento es el modo de compensación de movimiento de un macrobloque decodificación inmediatamente antes y el valor de predicción es la predicción de trama.
65 9. Un aparato de codificación de señal de imagen que comprende: un medio para codificar una señal de imagen de entrada, en cada macrobloque, sobre la base de una pluralidad de modos,
un medio de determinación tal que cuando el tipo de codificación de imagen, en la pluralidad de modos, es la imagen P y 5 la estructura de imagen, en la pluralidad de modos, es la estructura de campo, dicho medio de determinación determina, en cada macrobloque codificado, si se satisfacen, o no, las condiciones en donde
la señal de error predictiva es cero,
el vector de movimiento es cero,
el modo de compensación de movimiento, en la pluralidad de modos, es la predicción en sentido directo,
el tipo de predicción, en la pluralidad de modos, es la predicción de campo de 16 x 16 y
15 la paridad de referencia del vector de movimiento de campo del macrobloque es la misma que la paridad de campo prevista y
un medio de procesamiento tal que cuando se satisfagan dichas condiciones respectivas, dicho medio de procesamiento efectúa el proceso del macrobloque codificado como un macrobloque objeto de salto operativo.
10. Un aparato de codificación de señal de imagen que comprende: un medio para codificar una señal de imagen de entrada, en cada macrobloque, sobre la base de una pluralidad de 25 modos, un medio de determinación de modo que cuando el tipo de codificación de imagen, en la pluralidad de modos, es la
imagen P y la estructura de imagen, en la pluralidad de modos, es la estructura de trama, dicho medio de determinación determina, en cada macrobloque, si se satisfacen, o no, las condiciones en donde la señal de error predictiva es cero, el vector de movimiento es cero,
35 el modo de compensación de movimiento, en la pluralidad de modos, es la predicción en sentido directo y el tipo de predicción, en la pluralidad de modos, es la predicción de trama y un medio de procesamiento de modo que cuando se satisfagan dichas condiciones respectivas, dicho medio de
procesamiento efectúa el proceso del macrobloque codificado como un macrobloque objeto de salto operativo.
11. Un aparato de codificación de señal de imagen que comprende:
un medio para codificar una señal de imagen de entrada, en cada macrobloque, sobre la base de una pluralidad de 45 modos,
un medio de determinación para determinar, en cada macrobloque codificado, si se satisfacen, o no, al menos la condición en donde la señal de error predictiva es cero,
el vector de movimiento es cero,
el modo de compensación de movimiento, en la pluralidad de modos, es el mismo que en el macrobloque anterior y
el tipo de predicción, en la pluralidad de modos, es la predicción de campo de 16 x 16 y
55 un medio de procesamiento para procesar el macrobloque codificado como un macrobloque objeto de salto operativo, cuando se satisfagan dichas condiciones respectivas.
12. Un aparato de codificación de señal de imagen que comprende:
un medio para codificar una señal de imagen de entrada, en cada macrobloque, sobre la base de una pluralidad de modos,
un medio de determinación de modo que cuando el tipo de codificación de imagen, en la pluralidad de modos, es la 65 imagen B y la estructura de imagen, en la pluralidad de modos, es la estructura de trama, dicho medio de determinación determina, en cada macrobloque codificado, si se satisfacen, o no, las condiciones en donde
la señal de error predictiva es cero, el vector de movimiento es cero,
5 el modo de compensación de movimiento, en la pluralidad de modos, es el mismo que en el macrobloque anterior y el tipo de predicción, en la pluralidad de modos, es la predicción de trama y un medio de procesamiento para procesar el macrobloque codificado como un macrobloque objeto de salto operativo
cuando se satisfagan dichas condiciones respectivas.
13. Un aparato de decodificación de señal de imagen que comprende:
un medio para detectar un macrobloque objeto de salto operativo, a partir de una señal de imagen codificada,
15 un medio de decodificación de modo que cuando el tipo de codificación de imagen del macrobloque objeto de salto operativo es la imagen P y la estructura de imagen es la estructura de campo,
dicho medio de decodificación efectúa la reposición a cero de todas las memorias en un elemento para la determinación del vector de movimiento reconstruido a partir de la diferencia,
de modo que la realización de la decodificación bajo las condiciones en donde la señal de bloque codificada es cero, el vector de movimiento es cero, el modo de compensación de movimiento es la predicción en sentido directo, el tipo de predicción es la predicción de campo de 16 x 16 y la paridad de referencia del vector de movimiento de campo es la
25 misma que la paridad de campo prevista.
14. Un aparato de decodificación de señal de imagen que comprende:
un medio para detectar un macrobloque, objeto de salto operativo, a partir de una señal de imagen codificada y
un medio de decodificación de modo que cuando el tipo de codificación de imagen del macrobloque objeto de salto operativo es la imagen P y la estructura de imagen es la estructura de trama,
dicho medio de decodificación efectúa la reposición a cero de todas las memorias en un elemento para determinación del 35 vector de movimiento reconstruido a partir de la diferencia,
de modo que al realizar la decodificación bajo las condiciones en donde la señal de bloque codificada es cero, el vector de movimiento es cero, el modo de compensación de movimiento es la predicción en sentido directo y el tipo de predicción es la predicción de trama.
15. Un aparato de decodificación de señal de imagen que comprende:
un medio para detectar un macrobloque objeto de salto operativo, a partir de una señal de imagen codificada y
45 un medio de decodificación tal que cuando el tipo de codificación de imagen del macrobloque, objeto de salto operativo, es la imagen B y la estructura de imagen es la estructura de campo,
dicho medio de decodificación realiza la decodificación al menos bajo las condiciones en donde la señal de bloque codificada es cero, el vector de movimiento se establece a un valor memorizado en una memoria de un elemento para determinación del vector de movimiento reconstruido a partir de la diferencia, el modo de compensación de movimiento es el modo de compensación de movimiento de un macrobloque codificado inmediatamente antes y el tipo de predicción es la predicción del campo de 16 x 16.
16. Un aparato de decodificación de señal de imagen que comprende:
55 un medio para detectar un macrobloque, objeto de salto operativo, a partir de una señal de imagen codificada y
un medio de decodificación tal que cuando el tipo de codificación de imagen del macrobloque objeto de salto operativo es la imagen B y la estructura de imagen es la estructura de trama,
dicho medio de decodificación realiza la decodificación bajo las condiciones en donde la señal de bloque codificada es cero, el vector de movimiento se establece a un valor memorizado en una memoria de un elemento para determinación del vector de movimiento reconstruido a partir de la diferencia, el modo de compensación de movimiento es un modo de compensación de movimiento de un macrobloque decodificado inmediatamente antes y el tipo de predicción es la
65 predicción de trama.
17. Un método de codificación de vector de movimiento de macrobloque codificado en el modo de predicción en sentido directo, el modo de predicción en sentido inverso o el modo de predicción bidireccional,
el método comprende las etapas de:
5 la detección del orden de transmisión de vectores de movimiento actuales en una dirección predeterminada dentro de un macrobloque,
la selección de uno de entre un número L de memorias para vectores de movimiento, en la dirección predeterminada, sobre la base del orden de transmisión detectado para efectuar la lectura de un vector de movimiento anterior en la dirección predeterminada y
la sustracción del vector de movimiento anterior, en la dirección predeterminada, a partir de los vectores de movimiento actuales en la dirección predeterminada, de modo que se generen secuencialmente vectores de movimiento de la
15 diferencia actuales en la dirección predeterminada.
18.
Un método de codificación de vector de movimiento según se establece en la cláusula 17,
en donde las memorias seleccionadas, sobre la base del orden de transmisión, se actualizan secuencialmente por los vectores de movimiento actuales en la dirección predeterminada.
19.
Un método de codificación de vector de movimiento, según se establece en la cláusula 18, en donde en el caso de que el número de transmisión de los vectores de movimiento actuales, en la dirección predeterminada con respecto a un macrobloque, sea menor que L, las restantes memorias para el vector de movimiento, en la dirección predeterminada, se
25 actualizan secuencialmente por los vectores de movimiento actuales en la dirección predeterminada.
20. Un método de reconstrucción del vector de movimiento de la diferencia del macrobloque codificado en el modo de predicción en sentido directo, el modo de predicción en sentido inverso o el modo de predicción bidireccional,
comprendiendo el método las etapas de:
la detección del orden de recepción dentro del macrobloque de los vectores de movimiento de la diferencia recibidos en una dirección predeterminada;
35 la selección de uno de entre el número L de memorias para vectores de movimiento, en la dirección predeterminada, sobre la base del orden de recepción detectado para efectuar la lectura de un vector de movimiento reconstruido en la dirección predeterminada ya reconstruida,
la adición de los vectores de movimiento de la diferencia en la dirección predeterminada y el vector de movimiento reconstruido en la dirección predeterminada ya reconstruido, de modo que se generen secuencialmente nuevos vectores de movimiento reconstruidos en la dirección predeterminada.
21. Un método de reconstrucción del vector de movimiento de la diferencia según se establece en la cláusula 20,
45 en donde las memorias seleccionadas sobre la base del orden de recepción se actualizan secuencialmente por los nuevos vectores de movimiento reconstruidos en la dirección predeterminada.
22. Un método de reconstrucción del vector de movimiento de la diferencia según se establece en la cláusula 21,
en donde en el caso de que el número de recepción de los vectores de movimiento de la diferencia, en la dirección predeterminada con respecto a un bloque sea inferior a L, las restantes memorias para el vector de movimiento en la dirección predeterminada sean secuencialmente actualizadas por los nuevos vectores de movimiento reconstruidos en la dirección predeterminada.
55 23. Un aparato para la codificación del vector de movimiento del macrobloque codificado en el modo de predicción en sentido directo, el modo de predicción en sentido inverso y el modo de predicción bidireccional, que comprende:
un número L de memorias para el vector de movimiento, en una dirección predeterminada, para memorizar vectores de movimiento en la dirección predeterminada,
un medio para detectar el orden de transmisión de vectores de movimiento actuales en la dirección predeterminada dentro de un macrobloque,
un medio para seleccionar uno de entre el número L de memorias para el vector de movimiento, en la dirección
65 predeterminada, sobre la base de que detectaron el orden de transmisión, de modo que se efectúe la lectura de un vector de movimiento anterior en la dirección predeterminada y
un medio para la sustracción del vector de movimiento anterior, en la dirección predeterminada, a partir de los vectores de movimiento actuales en la dirección predeterminada, de modo que se genere secuencialmente vectores de movimiento de la diferencia actuales en la dirección predeterminada.
5 24. Un aparato de codificación de vector de movimiento según se establece en la cláusula 23,
en donde la memoria seleccionada sobre la base del orden de transmisión detectado sean secuencialmente actualizadas por los vectores de movimiento actuales en la dirección predeterminada.
10 25. Un aparato de codificación de vectores de movimiento según se establece en la Cláusula 24,
en donde en el caso de que el número de transmisión de los vectores de movimiento actuales, en la dirección predeterminada con respecto a un macrobloque, sea inferior a L, las restantes memorias para el vector de movimiento, en la dirección predeterminada, sean secuencialmente actualizadas por los vectores de movimiento actuales en la
15 dirección predeterminada.
26. Un aparato para reconstruir un vector de movimiento de la diferencia de un macrobloque codificado en el modo de predicción en sentido directo, el modo de predicción en sentido inverso o el modo de predicción bidireccional, que comprende:
20 un número L de memorias para vector de movimiento, en una dirección predeterminada, para memorizar vectores de movimiento en la dirección predeterminada,
un medio para detectar el orden de recepción dentro del macrobloque de vectores de movimiento recibidos en la 25 dirección predeterminada,
un medio para seleccionar uno de entre un número L de memorias para vector de movimiento, en la dirección predeterminada, sobre la base del orden de recepción detectado para la lectura de un vector de movimiento reconstruido en la dirección predeterminada ya reconstruida y
30 un medio para añadir el vector de movimiento de la diferencia en la dirección predeterminada y el vector de movimiento reconstruido en la dirección predeterminada ya reconstruida, de modo que se generen secuencialmente nuevos vectores de movimiento reconstruidos en la dirección predeterminada.
35 27. Un aparato para reconstruir un vector de movimiento de la diferencia según se establece en la cláusula 26,
en donde las memorias seleccionadas sobre la base del orden de recepción sean secuencialmente actualizadas por los nuevos vectores de movimiento reconstruidos en la dirección predeterminada.
40 28. Un aparato para reconstruir un vector de movimiento de la diferencia según se establece en la cláusula 27,
en donde en el caso de que el número de recepción de los vectores de movimiento, en la dirección predeterminada con respecto a un macrobloque sea inferior a L, se actualizan secuencialmente las memorias restantes para el vector de movimiento en la dirección predeterminada.

Claims (2)

  1. REIVINDICACIONES
    1. Un método de decodificación que comprende las etapas de:
    recibir una señal de imagen codificada que comprende grupos de imágenes que representan una imagen de vídeo codificada por compresión, incluyendo los grupos de imágenes a imágenes de un tipo de codificación de imagen y una estructura de imagen y codificada para representar una secuencia de macrobloques, teniendo cada macrobloque al menos un vector de movimiento codificado en tanto como vector de movimiento de diferencia;
    decodificar un macrobloque actual de la señal de imagen codificada utilizando un nuevo vector de movimiento reconstruido mediante
    detección de un orden de recepción de vectores de movimiento de diferencia en un sentido predeterminado dentro del macrobloque actual,
    la selección de una de cuatro memorias registro de vectores de movimiento (PMV1, PMV2, PMV3, PMV4) para vectores de movimiento en el sentido predeterminado en función del orden detectado de recepción para la lectura de un vector de movimiento reconstruido en el sentido predeterminado y
    la adición del vector de movimiento de diferencia del macrobloque actual en el sentido predeterminado y el vector de movimiento reconstruido objeto de lectura de las memorias de registro de vectores de movimiento (PMV1, PMV2, PMV3, PMV4) en el sentido predeterminado para formar el nuevo vector de movimiento reconstruido; incluyendo la decodificación
    la detección, comparando una dirección de macrobloque actual con una dirección de macrobloque anterior, de la presencia de un macrobloque objeto de salto operativo que presenta una imagen B como tipo de codificación de imagen y una estructura de campo como su estructura de imagen en una imagen actual a partir de datos asociados con la señal de imagen codificada y
    en respuesta a la detección de un macrobloque objeto de salto operativo que presente una imagen B como su tipo de codificación de imagen y una estructura de campo como su estructura de imagen, la decodificación del macrobloque objeto de salto operativo copiando los datos de un macrobloque anterior de la imagen actual bajo las condiciones en donde:
    la señal de error predictiva del macrobloque actual de la señal de imagen codificada es nula;
    un vector de movimiento del macrobloque está ajustado en un valor memorizado en una primera memoria registro para un nuevo vector de movimiento reconstruido (PMV3),
    un modo de compensación de movimiento del macrobloque actual, en la imagen actual, es idéntico al modo de compensación de movimiento del macrobloque anterior en la imagen actual y
    un tipo de predicción es una predicción de campo de 16x16 y
    la actualización del valor de un segundo vector de movimiento predictivo posterior (PMV4) del mismo valor que la primera memoria registro que se actualiza con un primer vector de movimiento predictivo posterior (PMV3), y
    la decodificación, cuando la presencia del macrobloque objeto de salto operativo no es detectada, de un macrobloque actual como macrobloque no objeto de salto operativo utilizando el nuevo vector de movimiento reconstruido.
  2. 2. Un aparato de decodificación que comprende:
    un medio para recibir una señal de imagen codificada que comprende grupos de imágenes que representan una imagen de vídeo codificada por compresión, incluyendo los grupos de imágenes a imágenes de un tipo de codificación de imagen y una estructura de imagen y codificadas para representar una secuencia de macrobloques, teniendo cada macrobloque al menos un vector de movimiento codificado en tanto como un vector de movimiento de diferencia;
    un medio para decodificar un macrobloque actual de la señal de imagen codificada utilizando un nuevo vector de movimiento reconstruido
    detectando un orden de recepción de vectores de movimiento de diferencia en un sentido predeterminado dentro del macrobloque actual,
    seleccionando una de cuatro memorias registro de vectores de movimiento (PMV1, PMV2, PMV3, PMV4) para vectores de movimiento en el sentido predeterminado en función del orden detectado de recepción para la lectura de un vector de movimiento reconstruido en el sentido predeterminado y
    añadiendo los vectores de movimiento de diferencia del macrobloque actual en el sentido predeterminado y el vector de movimiento reconstruido objeto de lectura de las memorias de registro de vectores de movimiento (PMV1, PMV2, PMV3, PMV4) en el sentido predeterminado para formar el nuevo vector de movimiento reconstruido, comprendiendo el medio de decodificación
    5 un medio para detectar, comparando una dirección de macrobloque actual con una dirección de macrobloque anterior, la presencia de un macrobloque objeto de salto operativo que presenta una imagen B como su tipo de codificación de imagen y una estructura de campo como su estructura de imagen en una imagen actual, a partir de datos asociados a la señal de imagen codificada y
    10 en respuesta a la detección de un macrobloque objeto de salto operativo que presenta una imagen B como su tipo de codificación de imagen y una estructura de campo como su estructura de imagen,
    un medio para decodificar el macrobloque objeto de salto operativo copiando los datos de un macrobloque anterior de la 15 imagen actual bajo las condiciones en donde:
    la señal de error predictiva del macrobloque actual de la señal de imagen codificada es nula;
    un vector de movimiento del macrobloque se ajusta en un valor memorizado en una primera memoria de registros para 20 un nuevo vector de movimiento reconstruido (PMV3),
    un modo de compensación de movimiento del macrobloque actual en la imagen actual, es el mismo modo que el modo de compensación de movimiento del macrobloque anterior en la imagen actual y
    25 un tipo de predicción es una predicción de campo de 16x16,
    un medio para actualizar el valor de un segundo vector de movimiento predictivo posterior (PMV4) del mismo valor que la primera memoria registro que se actualiza con un primer vector de movimiento predictivo posterior (PMV3) y
    30 un medio para decodificar, cuando la presencia del macrobloque objeto de salto operativo no es detectada, un macrobloque actual como macrobloque no objeto de salto operativo utilizando el nuevo vector de movimiento reconstruido.
    CONTADORMB
    GRUPO
    IMAGEN
    MEMORIA
    ENTRADA
    CAMPOS
    ELEMENTOCIRCUITOCONTROLPREDICIÓNSEÑAL SINC.IMAGENMOVIMIENTO ENTRADA S11 REFERENCIA
    INDICADOR INICIO SEGMENTO
    INDICADOR INICIO BM
    INDICADOR INICIOIMAGEN
    SECCIÓN CODIF. SEÑAL BLOQUE
    CIRCUITO COMPENSACIÓN MOVIMIENTO
    MEMORIA PARA
    SECCIÓN ENTRADA
    INFORMACIÓN CONTROL
    INFORMACIÓN CONTROL
    CODIFICACIÓN IMAGEN
    CODIFICACIÓN IMAGEN
    SECCIÓN GENERACIÓN SEÑALELEMENTO UNIDIMENSIONAL
    VLC BUFFER FLUJO DEBITS
    VECTOR
    SECCIÓN
    MOVIMIENTO
    DECODIF.
    DIFERENCIA TABLA DE
    SEÑAL
    QUANTIZACIÓN
    BLOQUE
    S15
    ELEMENTOELEMENTODETERMINACIÓNDIFERENCIAMB SALTADOVECTOR
    GRUPO MEMORIA CAMPOS
    SALIDA IMAGEN
    ELEMENTO CONTROL IMAGEN REFERENCIA
    ELEMENTO CONTROL IMAGEN SALIDA
    GENERADOR VECTORINDICADORMOVIMIENTOSEÑAL VECTORS8 MOVIMIENTO CONVERSIÓN DEESCALAS B
    CONTADOR VECTOR INIDICADORMOVIMIENTO INICIO MB S300
    MODO COMPENSACIÓN
    GENERADOR
    MOVIMIENTO S9
    SEÑAL TIPO DE
    DESIGNACIÓN PREDICCIÓN S40
    ÍNDICE REGISTROS ESTRUCTURA DE IMAGEN S26
    SEÑAL INDICACIÓNESCALA S83
    SEÑAL DESIGNACIÓN ÍNDICESREGISTROS S88
    VECOTR MOVIMIENTO DIFERENCIA S50
    ELEMENTO INSTRUCCIÓN REPOSICIÓN
    CONVERSIÓN DEREGISTROESCALAS A GRUPO DE
    REGISTROS
    SEÑAL INDICACIÓNESCALA S85
    DISPOSITIVO CONMUTACIÓN
    TIPO DEPREDICCIÓN S40
    INDICADOR
    MEMORIA PARA PARÁMETRO
    MACROBLOQUE SALTADO
    ACTUAL
    ELEMENTO
    DETERMINACIÓN
    (COMPARADOR)
    MEMORIA PARA
    PARÁMETRO
    ANTERIOR
    VERDADERO / FALSO
    ELEMENTOSEÑAL DE ERROR DE DETERMINACIÓNCOMPENSACIÓN COEFICIENTE NOMOVIMIENTO CEROMACROBLOQUE
    MEMORIA PARA INFORMACIÓN CONTROL DECODIFICACIÓN
    SECCIÓNSECCIÓN GENERACIÓNDECODIFICACIÓ
    FLUJO DEBUFFERVLC
    SEÑAL N SEÑAL DE
    BITS INVERSO
    BIDIMENSIONAL BLOQUE
    INDICADORDIRECCIÓN
    VECTOR
    MACROBLOQUEMACROBLOQUE
    MOVIMIENTO
    SALTADO S95S94 COMPENESADORGRUPO
    S55 MOVIMIENTO MEMORIASALIDA
    CAMPOSIMAGEN
    COMPRADOR DIRECCIÓN MB
    ELEMENTO
    ELEMENTOCONTROL IMAGEN
    DIFERENCIAREFERENCIA
    INVERSA MV
    ELEMENTO CONTROL IMAGEN SALIDA
    MEMORIA
    VECTOR MOVIMIENTO DIFERENCIA S90
    PREDICCIÓN S91
    DETERMINACIÓN DE DIFERENCIA
    PMV1 = (0, 0) (VALOR INICIAL)
    PMV2 = (0, 0) (VALOR INICIAL)
    SALTO
    DETERMINACIÓN DE VECTOR DE MOVIMIENTO
    RECONSTRUIDO DESDE DIFERENCIA PMV1 = (0, 0) (VALOR INICIAL) PMV2 = (0, 0) (VALOR INICIAL)
    A
    A A A
    (PMV1 COPIA) (PMV2 COPIA)
    VECTOR MOVIMIENTO
    VECTOR MOVIMIENTO DIFERENCIA
    GRUPO DEREGISTROS
    REGISTRO PARA VECTOR REFERENCIA TRAMA ANTERIOR
    REGISTRO PARA VECTOR REFERENCIA TRAMA FUTURA
    DISPOSITIVOCOMUNTACIÓN
    MODO COMPENSACIÓN MOVIMIENTO
    VECTOR MOVIMIENTO DIFERENCIA
    VECTOR MOVIMIENTO RECONSTRUIDO
    GRUPO DEREGISTROS
    REGISTRO PARA VECTOR REFERENCIA TRAMA ANTERIOR
    REGISTRO PARA VECTOR REFERENCIA TRAMA FUTURA
    DISPOSITIVOCOMUNTACIÓN
    MODO COMPENSACIÓN MOVIMIENTO
    VECTORMOVIMIENTO
    CONVERSIÓNESCALAS B
    SEÑALINDICACIÓNESCALA SCB
    VECTORMOVIMIENTODIFERENCIA
    CONVERSIÓNESCALAS A
    SEÑAL CONMUTACIÓN REGISTROS
    SEÑALINDICACIÓNDISPOSITIVOESCALA SCACOMUNTACIÓN
    VECTORVECTORMOVIMIENTOMOVIMIENTODIFERENCIA RECONSTRUIDO
    CONVERSIÓNCONVERSIÓN ESCALAS C ESCALAS D
    SEÑAL CONMUTACIÓN REGISTROS
    SEÑALSEÑAL INDICACIÓNINDICACIÓN ESCALA SCC DISPOSITIVOESCALA SCD
    COMUNTACIÓN
    DETERMINACIÓN DE DIFERENCIA PMV1 = (0, 0) (VALOR INICIAL)
ES10012181T 1993-03-24 1994-03-24 Método de decodificación de señal de imagen y aparato asociado Expired - Lifetime ES2431289T3 (es)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP6568993 1993-03-24
JP6568993 1993-03-24
JP12468693 1993-04-30
JP12468693 1993-04-30

Publications (1)

Publication Number Publication Date
ES2431289T3 true ES2431289T3 (es) 2013-11-25

Family

ID=26406823

Family Applications (4)

Application Number Title Priority Date Filing Date
ES94910528T Expired - Lifetime ES2159553T3 (es) 1993-03-24 1994-03-24 Metodo y aparato para codificar/descodificar un vector de movimiento, y metodo y aparato para codificar/descodificar una señal de imagen.
ES00204184T Expired - Lifetime ES2438184T3 (es) 1993-03-24 1994-03-24 Método de codificación y decodificación de vector de movimiento y aparato asociado y método de codificación y decodificación de señal de imagen y aparato asociado
ES10012180T Expired - Lifetime ES2430060T3 (es) 1993-03-24 1994-03-24 Método de codificación y decodificación de vector de movimiento y aparato asociado y método de codificación y decodificación de señal de imagen y aparato asociado
ES10012181T Expired - Lifetime ES2431289T3 (es) 1993-03-24 1994-03-24 Método de decodificación de señal de imagen y aparato asociado

Family Applications Before (3)

Application Number Title Priority Date Filing Date
ES94910528T Expired - Lifetime ES2159553T3 (es) 1993-03-24 1994-03-24 Metodo y aparato para codificar/descodificar un vector de movimiento, y metodo y aparato para codificar/descodificar una señal de imagen.
ES00204184T Expired - Lifetime ES2438184T3 (es) 1993-03-24 1994-03-24 Método de codificación y decodificación de vector de movimiento y aparato asociado y método de codificación y decodificación de señal de imagen y aparato asociado
ES10012180T Expired - Lifetime ES2430060T3 (es) 1993-03-24 1994-03-24 Método de codificación y decodificación de vector de movimiento y aparato asociado y método de codificación y decodificación de señal de imagen y aparato asociado

Country Status (13)

Country Link
US (3) US5701164A (es)
EP (4) EP2375753B1 (es)
JP (4) JP3393234B2 (es)
KR (1) KR100308099B1 (es)
CN (2) CN1075323C (es)
AT (1) ATE204691T1 (es)
AU (2) AU673250B2 (es)
CA (1) CA2118118C (es)
DE (1) DE69428019T2 (es)
DK (1) DK0651574T3 (es)
ES (4) ES2159553T3 (es)
PT (4) PT2375753E (es)
WO (1) WO1994022269A1 (es)

Families Citing this family (123)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19509418A1 (de) * 1995-03-16 1996-09-19 Thomson Brandt Gmbh Verfahren und Schaltungsanordnung zur Unterabtastung bei Bewegungsschätzung
JPH09182083A (ja) 1995-12-27 1997-07-11 Matsushita Electric Ind Co Ltd ビデオ画像符号化方法及び復号化方法とその装置
DE19603808C1 (de) * 1996-02-02 1997-04-17 Siemens Ag Anordnung und Verfahren zur Codierung und Decodierung von mit einem blockbasierten Codierungsverfahren codierten Bildern
TW312770B (en) * 1996-10-15 1997-08-11 Japen Ibm Kk The hiding and taking out method of data
DE69735437T2 (de) * 1996-12-12 2006-08-10 Matsushita Electric Industrial Co., Ltd., Kadoma Bildkodierer und bilddekodierer
US5870146A (en) * 1997-01-21 1999-02-09 Multilink, Incorporated Device and method for digital video transcoding
GB9703470D0 (en) 1997-02-19 1997-04-09 Thomson Consumer Electronics Trick play reproduction of MPEG encoded signals
US6185340B1 (en) * 1997-02-18 2001-02-06 Thomson Licensing S.A Adaptive motion vector control
US6018368A (en) * 1997-07-11 2000-01-25 Samsung Electro-Mechanics Co., Ltd. Scalable encoding apparatus and method with improved function of scaling motion vector
JPH11275587A (ja) * 1998-03-20 1999-10-08 Pioneer Electron Corp 動きベクトル生成装置、画像符号化装置、動きベクトル生成方法及び画像符号化方法
US6501799B1 (en) * 1998-08-04 2002-12-31 Lsi Logic Corporation Dual-prime motion estimation engine
US6983018B1 (en) * 1998-11-30 2006-01-03 Microsoft Corporation Efficient motion vector coding for video compression
US6563953B2 (en) * 1998-11-30 2003-05-13 Microsoft Corporation Predictive image compression using a single variable length code for both the luminance and chrominance blocks for each macroblock
US6499060B1 (en) * 1999-03-12 2002-12-24 Microsoft Corporation Media coding for loss recovery with remotely predicted data units
FR2813001B1 (fr) * 2000-08-11 2002-12-20 Thomson Multimedia Sa Procede de conversion de format couleur d'une sequence d'images
US6700934B2 (en) 2001-03-14 2004-03-02 Redrock Semiconductor, Ltd. Error detection using a maximum distance among four block-motion-vectors in a macroblock in a corrupted MPEG-4 bitstream
US7602847B1 (en) * 2001-03-27 2009-10-13 Vixs Systems, Inc. Device and method for compression of a video stream
US8107524B2 (en) * 2001-03-30 2012-01-31 Vixs Systems, Inc. Adaptive bandwidth footprint matching for multiple compressed video streams in a fixed bandwidth network
US20070053428A1 (en) * 2001-03-30 2007-03-08 Vixs Systems, Inc. Managed degradation of a video stream
KR100378795B1 (ko) * 2001-04-02 2003-04-03 엘지전자 주식회사 동영상에서 b픽쳐의 신축적인 다이렉트 모드 코딩 방법
GB2374479B (en) * 2001-04-12 2005-05-04 Snell & Wilcox Ltd Video signal processing
FR2824988B1 (fr) * 2001-05-21 2003-08-01 Thomson Licensing Sa Procede et dispositif de codage video utilisant la norme mpeg4
US6941343B2 (en) * 2001-06-02 2005-09-06 Polycom, Inc. System and method for point to point integration of personal computers with videoconferencing systems
US7675972B1 (en) 2001-07-30 2010-03-09 Vixs Systems, Inc. System and method for multiple channel video transcoding
US6959348B1 (en) * 2001-07-30 2005-10-25 Vixs Systems, Inc. Method and system for accessing data
US20030039226A1 (en) * 2001-08-24 2003-02-27 Kwak Joseph A. Physical layer automatic repeat request (ARQ)
US7139330B1 (en) 2001-10-31 2006-11-21 Vixs Systems, Inc. System for signal mixing and method thereof
US7596127B1 (en) 2001-10-31 2009-09-29 Vixs Systems, Inc. System for allocating data in a communications system and method thereof
WO2003041385A2 (en) * 2001-11-06 2003-05-15 Matsushita Electric Industrial Co., Ltd. Moving image coding method, and moving image decoding method
US7106715B1 (en) 2001-11-16 2006-09-12 Vixs Systems, Inc. System for providing data to multiple devices and method thereof
US7356079B2 (en) 2001-11-21 2008-04-08 Vixs Systems Inc. Method and system for rate control during video transcoding
US7403564B2 (en) * 2001-11-21 2008-07-22 Vixs Systems, Inc. System and method for multiple channel video transcoding
ES2545213T3 (es) * 2001-11-21 2015-09-09 Google Technology Holdings LLC Codificación de cuadro/campo adaptativa de nivel de macrobloques para contenido de vídeo digital
US7165180B1 (en) 2001-11-27 2007-01-16 Vixs Systems, Inc. Monolithic semiconductor device for preventing external access to an encryption key
US7200275B2 (en) * 2001-12-17 2007-04-03 Microsoft Corporation Skip macroblock coding
JP4114859B2 (ja) 2002-01-09 2008-07-09 松下電器産業株式会社 動きベクトル符号化方法および動きベクトル復号化方法
JP4150742B2 (ja) * 2002-01-09 2008-09-17 松下電器産業株式会社 動きベクトル復号化方法
CN100574437C (zh) * 2002-01-09 2009-12-23 松下电器产业株式会社 移动向量解码方法和移动向量解码装置
US6690307B2 (en) * 2002-01-22 2004-02-10 Nokia Corporation Adaptive variable length coding of digital video
US7003035B2 (en) 2002-01-25 2006-02-21 Microsoft Corporation Video coding methods and apparatuses
PT1486065E (pt) * 2002-03-15 2016-03-30 Nokia Technologies Oy Método para codificação de movimento numa sequência de vídeo
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
JP4130783B2 (ja) * 2002-04-23 2008-08-06 松下電器産業株式会社 動きベクトル符号化方法および動きベクトル復号化方法
US7310679B1 (en) 2002-04-29 2007-12-18 Vixs Systems Inc. Method and system for transmitting video content while preventing other transmissions in a contention-based network
US7120253B2 (en) * 2002-05-02 2006-10-10 Vixs Systems, Inc. Method and system for protecting video data
US7072402B2 (en) * 2002-05-13 2006-07-04 General Instrument Corporation Methods and apparatus for dynamically adjusting f-codes for a digital picture header
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
EP1408696A4 (en) 2002-07-02 2008-04-09 Matsushita Electric Ind Co Ltd METHOD FOR EVALUATING MOTION VECTORS, METHOD FOR CYCLING A DYNAMIC IMAGE, METHOD FOR DECODING A DYNAMIC IMAGE
US7280700B2 (en) 2002-07-05 2007-10-09 Microsoft Corporation Optimization techniques for data compression
KR100865034B1 (ko) 2002-07-18 2008-10-23 엘지전자 주식회사 모션 벡터 예측 방법
US7154952B2 (en) 2002-07-19 2006-12-26 Microsoft Corporation Timestamp-independent motion vector prediction for predictive (P) and bidirectionally predictive (B) pictures
JP4007594B2 (ja) * 2002-09-26 2007-11-14 株式会社東芝 動画像符号化装置及び方法、動画像符号化方式変換装置及び方法
KR100522595B1 (ko) * 2002-11-29 2005-10-19 삼성전자주식회사 엠펙 비디오 복호화방법 및 엠펙 비디오 복호화기
JP4003128B2 (ja) * 2002-12-24 2007-11-07 ソニー株式会社 画像データ処理装置および方法、記録媒体、並びにプログラム
US20040141555A1 (en) * 2003-01-16 2004-07-22 Rault Patrick M. Method of motion vector prediction and system thereof
US7408989B2 (en) * 2003-01-16 2008-08-05 Vix5 Systems Inc Method of video encoding using windows and system thereof
US7327784B2 (en) * 2003-02-24 2008-02-05 Vixs Systems, Inc. Method and system for transcoding video data
US7133452B1 (en) 2003-02-24 2006-11-07 Vixs Systems, Inc. Method and system for transcoding video data
US7606305B1 (en) 2003-02-24 2009-10-20 Vixs Systems, Inc. Method and system for transcoding video data
US7130350B1 (en) 2003-02-28 2006-10-31 Vixs Systems, Inc. Method and system for encoding and decoding data in a video stream
US7739105B2 (en) * 2003-06-13 2010-06-15 Vixs Systems, Inc. System and method for processing audio frames
US7499493B2 (en) * 2003-06-20 2009-03-03 Lsi Corporation Dual block motion vector storage in compressed form
US20050013496A1 (en) * 2003-07-16 2005-01-20 Bruls Wilhelmus Hendrikus Alfonsus Video decoder locally uses motion-compensated interpolation to reconstruct macro-block skipped by encoder
US7609763B2 (en) 2003-07-18 2009-10-27 Microsoft Corporation Advanced bi-directional predictive coding of video frames
US7499495B2 (en) 2003-07-18 2009-03-03 Microsoft Corporation Extended range motion vectors
US20050013498A1 (en) * 2003-07-18 2005-01-20 Microsoft Corporation Coding of motion vector information
US7738554B2 (en) 2003-07-18 2010-06-15 Microsoft Corporation 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
US10554985B2 (en) 2003-07-18 2020-02-04 Microsoft Technology Licensing, Llc DC coefficient signaling at small quantization step sizes
US7623574B2 (en) * 2003-09-07 2009-11-24 Microsoft Corporation Selecting between dominant and non-dominant motion vector predictor polarities
US7606308B2 (en) 2003-09-07 2009-10-20 Microsoft Corporation Signaling macroblock mode information for macroblocks of interlaced forward-predicted fields
US7567617B2 (en) 2003-09-07 2009-07-28 Microsoft Corporation Predicting motion vectors for fields of forward-predicted interlaced video frames
US7317839B2 (en) 2003-09-07 2008-01-08 Microsoft Corporation Chroma motion vector derivation for interlaced forward-predicted fields
US7092576B2 (en) * 2003-09-07 2006-08-15 Microsoft Corporation Bitplane coding for macroblock field/frame coding type 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
US7577200B2 (en) * 2003-09-07 2009-08-18 Microsoft Corporation Extended range variable length coding/decoding of differential motion vector information
US7599438B2 (en) 2003-09-07 2009-10-06 Microsoft Corporation Motion vector block pattern coding and decoding
US8064520B2 (en) * 2003-09-07 2011-11-22 Microsoft Corporation Advanced bi-directional predictive coding of interlaced video
US7616692B2 (en) * 2003-09-07 2009-11-10 Microsoft Corporation Hybrid motion vector prediction for interlaced forward-predicted fields
US7724827B2 (en) 2003-09-07 2010-05-25 Microsoft Corporation Multi-layer run level encoding and decoding
US7277101B2 (en) 2003-09-29 2007-10-02 Vixs Systems Inc Method and system for scaling images
US7668396B2 (en) * 2003-09-29 2010-02-23 Vixs Systems, Inc. Method and system for noise reduction in an image
US20050117639A1 (en) * 2003-10-24 2005-06-02 Turaga Deepak S. Optimal spatio-temporal transformations for reduction of quantization noise propagation effects
US7346111B2 (en) * 2003-12-10 2008-03-18 Lsi Logic Corporation Co-located motion vector storage
US20050169376A1 (en) * 2004-01-30 2005-08-04 Pai Ramadas L. Motion vector address computer error detection
US7406598B2 (en) * 2004-02-17 2008-07-29 Vixs Systems Inc. Method and system for secure content distribution
TWI268715B (en) * 2004-08-16 2006-12-11 Nippon Telegraph & Telephone Picture encoding method, picture decoding method, picture encoding apparatus, and picture decoding apparatus
US8861601B2 (en) 2004-08-18 2014-10-14 Qualcomm Incorporated Encoder-assisted adaptive video frame interpolation
US8634413B2 (en) 2004-12-30 2014-01-21 Microsoft Corporation Use of frame caching to improve packet loss recovery
US7421048B2 (en) * 2005-01-20 2008-09-02 Vixs Systems, Inc. System and method for multimedia delivery in a wireless environment
US7609766B2 (en) * 2005-02-08 2009-10-27 Vixs Systems, Inc. System of intra-picture complexity preprocessing
US8949920B2 (en) * 2005-03-17 2015-02-03 Vixs Systems Inc. System and method for storage device emulation in a multimedia processing system
US7400869B2 (en) * 2005-03-22 2008-07-15 Vixs Systems Inc. System and method for adaptive DC offset compensation in wireless transmissions
US9077960B2 (en) 2005-08-12 2015-07-07 Microsoft Corporation Non-zero coefficient block pattern coding
US20070064809A1 (en) * 2005-09-14 2007-03-22 Tsuyoshi Watanabe Coding method for coding moving images
US7707485B2 (en) 2005-09-28 2010-04-27 Vixs Systems, Inc. System and method for dynamic transrating based on content
US20070112826A1 (en) * 2005-11-10 2007-05-17 Vixs Systems, Inc. Multimedia transcoding based on remaining storage capacity
US8131995B2 (en) * 2006-01-24 2012-03-06 Vixs Systems, Inc. Processing feature revocation and reinvocation
JP5045674B2 (ja) * 2007-02-07 2012-10-10 ソニー株式会社 画像処理装置、撮像装置、画像処理方法、及びプログラム
US8254455B2 (en) 2007-06-30 2012-08-28 Microsoft Corporation Computing collocated macroblock information for direct mode macroblocks
JP4325708B2 (ja) * 2007-07-05 2009-09-02 ソニー株式会社 データ処理装置、データ処理方法およびデータ処理プログラム、符号化装置、符号化方法および符号化プログラム、ならびに、復号装置、復号方法および復号プログラム
US8184715B1 (en) * 2007-08-09 2012-05-22 Elemental Technologies, Inc. Method for efficiently executing video encoding operations on stream processor architectures
US8121197B2 (en) 2007-11-13 2012-02-21 Elemental Technologies, Inc. Video encoding and decoding using parallel processors
US7925774B2 (en) 2008-05-30 2011-04-12 Microsoft Corporation Media streaming using an index file
KR101377660B1 (ko) * 2008-09-30 2014-03-26 에스케이텔레콤 주식회사 복수 개의 움직임 벡터 추정을 이용한 움직임 벡터 부호화/복호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
US8189666B2 (en) 2009-02-02 2012-05-29 Microsoft Corporation Local picture identifier and computation of co-located information
US20100232511A1 (en) * 2009-03-12 2010-09-16 Himax Media Soltuions, Inc. Motion compensator, motion compensating method, and motion-compensated video decoder implementing the same
US9100656B2 (en) * 2009-05-21 2015-08-04 Ecole De Technologie Superieure Method and system for efficient video transcoding using coding modes, motion vectors and residual information
KR101452859B1 (ko) 2009-08-13 2014-10-23 삼성전자주식회사 움직임 벡터를 부호화 및 복호화하는 방법 및 장치
US8861879B2 (en) 2009-09-17 2014-10-14 Samsung Electronics Co., Ltd. Method and apparatus for encoding and decoding image based on skip mode
US11284081B2 (en) 2010-11-25 2022-03-22 Lg Electronics Inc. Method for signaling image information, and method for decoding image information using same
KR101505755B1 (ko) * 2010-11-25 2015-03-24 엘지전자 주식회사 영상 정보의 시그널링 방법 및 이를 이용한 영상 정보의 복호화 방법
US9490839B2 (en) 2011-01-03 2016-11-08 Qualcomm Incorporated Variable length coding of video block coefficients
US9516316B2 (en) 2011-06-29 2016-12-06 Qualcomm Incorporated VLC coefficient coding for large chroma block
US9338456B2 (en) 2011-07-11 2016-05-10 Qualcomm Incorporated Coding syntax elements using VLC codewords
US9571833B2 (en) 2011-11-04 2017-02-14 Nokia Technologies Oy Method for coding and an apparatus
JP5748225B2 (ja) * 2012-01-26 2015-07-15 日本電信電話株式会社 動画像符号化方法,動画像符号化装置および動画像符号化プログラム
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
US9749642B2 (en) 2014-01-08 2017-08-29 Microsoft Technology Licensing, Llc Selection of motion vector precision
BR122022003217B1 (pt) * 2017-09-12 2023-12-05 Samsung Electronics Co., Ltd. Método para decodificar informações de movimento, método para codificar informações de movimento, e meio legível por computador não transitório para registrar um fluxo de bits
US11979608B2 (en) 2018-10-11 2024-05-07 Lg Electronics Inc. Transform coefficient coding method and device

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR910009092B1 (ko) * 1988-02-29 1991-10-28 미쯔비시덴끼 가부시끼가이샤 프레임간의 벡터 양자화 부호화 및 복호화 장치
JPH0666948B2 (ja) * 1988-02-29 1994-08-24 三菱電機株式会社 フレーム間ベクトル量子化符号化復号化装置
US5194950A (en) * 1988-02-29 1993-03-16 Mitsubishi Denki Kabushiki Kaisha Vector quantizer
DE69033782T2 (de) * 1989-10-14 2002-06-20 Sony Corp Verfahren und Anordnung zum Kodieren/Dekodieren eines Videosignales
DE69131257T2 (de) * 1990-10-31 1999-09-23 Victor Company Of Japan Verfahren zur Kompression von bewegten Bildsignalen nach dem Zeilensprungverfahren
US5455629A (en) * 1991-02-27 1995-10-03 Rca Thomson Licensing Corporation Apparatus for concealing errors in a digital video processing system
US5317397A (en) * 1991-05-31 1994-05-31 Kabushiki Kaisha Toshiba Predictive coding using spatial-temporal filtering and plural motion vectors
US5210605A (en) * 1991-06-11 1993-05-11 Trustees Of Princeton University Method and apparatus for determining motion vectors for image sequences
TW245871B (en) * 1994-08-15 1995-04-21 Gen Instrument Corp Method and apparatus for efficient addressing of dram in a video decompression processor

Also Published As

Publication number Publication date
EP1098529A3 (en) 2008-10-29
JP2003179935A (ja) 2003-06-27
EP2334083A1 (en) 2011-06-15
PT2375753E (pt) 2013-10-21
AU6291294A (en) 1994-10-11
PT2334083E (pt) 2013-09-30
AU673250B2 (en) 1996-10-31
DE69428019T2 (de) 2002-05-29
CN1075323C (zh) 2001-11-21
EP0651574A1 (en) 1995-05-03
JP3614159B2 (ja) 2005-01-26
US5701164A (en) 1997-12-23
CN1251513C (zh) 2006-04-12
ATE204691T1 (de) 2001-09-15
JP2003179934A (ja) 2003-06-27
EP1098529A2 (en) 2001-05-09
DK0651574T3 (da) 2001-10-08
US5946042A (en) 1999-08-31
CN1349354A (zh) 2002-05-15
KR100308099B1 (ko) 2001-12-01
WO1994022269A1 (en) 1994-09-29
CA2118118A1 (en) 1994-09-25
JP3393234B2 (ja) 2003-04-07
CA2118118C (en) 2004-02-24
EP2334083B1 (en) 2013-08-28
EP0651574A4 (en) 1998-06-17
JP2001204033A (ja) 2001-07-27
DE69428019D1 (de) 2001-09-27
ES2159553T3 (es) 2001-10-16
JP3614160B2 (ja) 2005-01-26
US6040863A (en) 2000-03-21
PT1098529E (pt) 2013-11-25
AU700535B2 (en) 1999-01-07
PT651574E (pt) 2002-02-28
KR950701487A (ko) 1995-03-23
JP3381169B2 (ja) 2003-02-24
ES2438184T3 (es) 2014-01-16
EP1098529B1 (en) 2013-10-16
CN1106199A (zh) 1995-08-02
EP0651574B1 (en) 2001-08-22
AU6558496A (en) 1996-11-07
EP2375753B1 (en) 2013-09-11
ES2430060T3 (es) 2013-11-18
EP2375753A1 (en) 2011-10-12

Similar Documents

Publication Publication Date Title
ES2431289T3 (es) Método de decodificación de señal de imagen y aparato asociado
ES2197172T3 (es) Compensacion de movimiento para señales de video digital entrelazado. das.
US7447370B2 (en) Method and apparatus for encoding and decoding motion vectors
EP1096800B1 (en) Image coding apparatus and image decoding apparatus
KR100604392B1 (ko) 비디오 부호화 방법 및 장치
ES2213232T3 (es) Metodo de decodificacion de señales de imagenes animadas y aparato de decodificacion de señales de imagenes animadas que lo utiliza.
JP3778721B2 (ja) 動画像符号化方法および装置
KR970003791B1 (ko) 동영상 신호처리기의 메모리장치
JPH11313327A (ja) 動き補償装置