ES2368908T3 - Procedimiento de codificación y decodificación de imágenes en movimiento. - Google Patents

Procedimiento de codificación y decodificación de imágenes en movimiento. Download PDF

Info

Publication number
ES2368908T3
ES2368908T3 ES03758914T ES03758914T ES2368908T3 ES 2368908 T3 ES2368908 T3 ES 2368908T3 ES 03758914 T ES03758914 T ES 03758914T ES 03758914 T ES03758914 T ES 03758914T ES 2368908 T3 ES2368908 T3 ES 2368908T3
Authority
ES
Spain
Prior art keywords
field
frame
coding
block
index
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
ES03758914T
Other languages
English (en)
Inventor
Kiyofumi Abe
Shinya Kadono
Satoshi Kondo
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.)
Panasonic Corp
Original Assignee
Panasonic Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Corp filed Critical Panasonic Corp
Application granted granted Critical
Publication of ES2368908T3 publication Critical patent/ES2368908T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • 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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/112Selection of coding mode or of prediction mode according to a given display mode, e.g. for interlaced or progressive display mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • 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/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
    • 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/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • 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/172Methods 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 picture, frame or field
    • 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/184Methods 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 bits, e.g. of the compressed video stream

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)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

Un procedimiento decodificador para decodificar un bloque mientras cambia entre decodificación de marco y decodificación de campo de forma adaptativa sobre una base bloque a bloque, comprendiendo dicho procedimiento: obtener, a partir de una corriente de bits, una secuencia de comandos para asignar cada uno de los índices de marco para la decodificación de marco a marcos de referencia respectivos; asignar cada uno de los índices de marco para la decodificación de marco a los marcos de referencia respectivos usando la secuencia de comandos, especificar dos campos que constituyan cada uno de los marcos especificados por cada uno de los índices de marco, en el que se asigna un primer valor a un campo que tiene una paridad igual que una paridad de un campo que incluye un bloque actual que se va a decodificar, fuera de los dos campos especificados, como cada uno de los índices de campo, obteniéndose el primer valor doblando un valor de cada uno de dichos índices de marco, y se asigna un segundo valor a otro campo que tiene una paridad diferente de una paridad del campo que incluye el bloque actual como cada uno de dichos índices de campo, obteniéndose el segundo valor añadiendo uno a dicho primer valor, especificar un marco de referencia que hace referencia a cuando un bloque se decodifica, usando un índice de referencia extraído de un área de información de bloque codificado y un índice de marco incluido en los índices de marco aginados, en el caso de que la decodificación de marco se realice en el bloque; y especificar un campo de referencia que hace referencia a cuando el bloque está decodificado, usando un índice de referencia extraído del área de formación de bloque codificado y un índice de campo para la decodificación de campo incluido en los índices de campo asignados, en el caso de que la decodificación de campo se realice en el bloque.

Description

Procedimiento de codificación y decodificación de imágenes en movimiento
Campo técnico
La presente invención se refiere a un procedimiento de codificación de imágenes en movimiento y un procedimiento de decodificación de imágenes en movimiento, y particularmente a un procedimiento de codificación y un procedimiento de decodificación para realizar la predicción entre imágenes con referencia a las imágenes previamente codificadas.
Técnica anterior
Con el desarrollo de aplicaciones multimedia, se ha hecho muy popular manejar integralmente todo tipo de información multimedia, tal como video, audio y texto. Debido a que las imágenes digitalizadas tienen un enorme volumen de datos, las técnicas de compresión de información de imágenes son absolutamente esenciales para el almacenamiento y transmisión de dicha información. También es importante estandarizar dichas técnicas de compresión para la interoperabilidad de datos de imágenes comprimidas. Existen normas internacionales para las técnicas de compresión de imágenes, tales como H.261 y H.263, normalizadas por la Norma ITU-T (Unión Internacional de Telecomunicaciones-Sector de Normalización de las Telecomunicaciones) y MPEG-1, MPEG-2 y MPEG-4 normalizados por la Norma ISO (Organización Internacional para la Normalización). Actualmente, la Norma ITU trabaja para normalizar la técnica H.26L como la última norma para la codificación de imágenes.
En general, la codificación de imágenes en movimiento comprime el volumen de información reduciendo la redundancia tanto en la dirección temporal como espacial. Por lo tanto, en la codificación de predicción entre imágenes, cuyo objetivo es reducir la redundancia temporal, el movimiento de una imagen actual se calcula sobre una base bloque a bloque con referencia a las imágenes anteriores o posteriores con el fin de generar imágenes predictivas de la imagen actual y, después los valores diferenciales entre las imágenes predictivas obtenidas y la imagen actual se codifican.
En este documento, el término "imagen" representa una sola hoja de una imagen, y representa un marco cuando se usa en el contexto de una imagen progresiva, mientras que representa un marco o un campo en el contexto de una imagen entrelazada. En este documento la imagen entrelazada es un solo marco que se constituye de dos campos que tienen diferentes tiempos, respectivamente. En el procedimiento de codificación y de decodificación de la imagen entrelazada, un solo marco puede manejarse como un marco, como dos campos o como una estructura de marco o una estructura de campo en cada bloque del marco.
La siguiente descripción se proporcionará suponiendo que una imagen es un marco en una imagen progresiva, pero puede proporcionarse la misma descripción incluso suponiendo que una imagen es un marco o un campo en una imagen entrelazada.
La Fig. 35 es un diagrama para explicar los tipos de imágenes y relaciones de referencia entre ellas.
Una imagen como Imagen I1, que es una predicción intra-imagen codificada sin referencia a ninguna imagen, se denomina como una imagen I. Una imagen como Imagen P10, que es una predicción entre imágenes codificada con referencia a una imagen, se denomina como una imagen P. Y una imagen, que puede ser una predicción entre imágenes codificada con referencia a dos imágenes al mismo tiempo, se denomina como una imagen B. Las imágenes B, como Imágenes B6, B12 y B18 pueden hacer referencia a dos imágenes ubicadas en direcciones temporales arbitrarias. Las imágenes de referencia pueden especificarse en una base bloque a bloque, sobre la cual se calcula el movimiento, y son discriminadas entre una primera imagen de referencia que se ha descrito anteriormente en una corriente de bits que incluye las imágenes codificadas y una segunda imagen de referencia que se describirá más tarde en la corriente de bits. Sin embargo, para codificar y decodificar las imágenes anteriores se necesita que las imágenes de referencia ya estén codificadas y decodificadas. Las Figs. 36A y 36B muestra ejemplos de un orden de imágenes en el que las imágenes B están codificadas y decodificadas. La Fig. 36A muestra un orden de visualización de las imágenes, y la Fig. 36B muestra un orden de codificación y decodificación reordenado a partir del orden de visualización como se muestra en la Fig. 36A. Estos dibujos muestran que las imágenes se reordenan a fin de que las imágenes que se denominan Imágenes B3 y B6 se codifiquen y decodifiquen previamente.
A continuación, los índices de referencia para especificar las imágenes de referencia se explicarán con referencia a la Fig. 37 y la Fig. 38. Por motivos de simplicidad, los números para identificar las imágenes actuales se denominan números de imagen, mientras que los números usados para especificar las imágenes de referencia para la predicción entre imágenes se denominan como índices de referencia. Particularmente, los índices que indican las primeras imágenes de referencia y las segundas imágenes de referencia se denominan como primeros índices de referencia y segundos índices de referencia, respectivamente. Los valores por defecto como se muestran en la Fig. 37 se asignan normalmente a los índices de referencia en un estado inicial, pero la asignación puede cambiarse según los comandos.
La Fig. 37 muestra la asignación de dos índices de referencia a los números de imagen en el estado inicial de la codificación de marco, y la Fig. 38 muestra una asignación de los índices de referencia actualizados usando comandos de la asignación que se muestra en la Fig. 37. Cuando existe una secuencia de imágenes ordenada en el orden de codificación, los números de imagen se asignan a las imágenes almacenadas en una memoria en el orden de codificación. Los comandos para asignar los índices de referencia a los números de imagen se describen en un encabezamiento de un segmento que es la unidad más pequeña de codificación de una imagen, y por lo tanto la asignación puede actualizarse cada vez que se codifica un segmento. Es posible usar un valor diferencial entre un número de imagen de original y un número de imagen actualizado como el comando anterior y codificar un número arbitrario de dichos comandos como una secuencia de comandos. El primer comando en la secuencia de comandos se aplica a un número de imagen de una imagen actual e indica un número de imagen correspondiente a un número de índice de referencia "0". El segundo comando de la secuencia de comandos se aplica al número de imagen correspondiente al número de índice de referencia "0" e indica un número de imagen correspondiente al número de índice de referencia "1". El tercer comando se aplica al número de imagen correspondiente al número de índice se referencia "1" e indica un número de imagen correspondiente al número de índice de referencia "2". Lo mismo se aplica al cuarto y los siguientes comandos. En el ejemplo de los primeros índices de referencia de la Fig. 38 se proporciona un comando "-2" en primer lugar y por lo tanto se asigna el número del índice de referencia "0" a la imagen con su número "11" añadiendo "-2" al número de imagen "13" de la imagen actual. A continuación, se proporciona un comando "+1" y por lo tanto se asigna el número del índice de referencia "1" a la imagen con su número "12" añadiendo "+1" al número de imagen "11" que corresponde al número de índice de referencia "0". Los siguientes números de imagen se asignan a los números de índice de referencia de la misma manera. Lo mismo pasa para los segundos índices de referencia.
La Fig. 39 es un diagrama esquemático que muestra un ejemplo de una corriente de bits generada como resultado de la codificación que se ha mencionado anteriormente. Como se muestra en esta figura, el número máximo de índices de referencia Max_idx1 para las primeras imágenes de referencia (ref1) y el número máximo de índices de referencia Max_idx2 para las segundas imágenes de referencia (ref2) se describen en la información común de la imagen de la corriente de bits, y las secuencias de comandos de asignación de índices de referencia fdx_cmd1 y idx_cmd2 para ref1 y ref2 se describen en el encabezamiento del segmento.
Un documento relacionado con la tecnología convencional anterior es ITU-T Rec. H.264  ISO/IEC 14496-10 AVC Joint Final Committee Draft of Joint Video Specification (2002-8-10) (pág. 54, 8.3.6.3 Default index orders/pág. 56,
8.3.6.4 Changing the default index orders).
Por cierto, según un procedimiento de codificación de una imagen entrelazada, puede usarse la codificación de marco y la codificación cambiándolas por bloque en una imagen. Esto se denomina como codificación de Marco/Campo Adaptativa en Macrobloque (en lo sucesivo en este documento denominado como MBAFF). En este procedimiento la codificación de marco y la codificación de campo pueden cambiarse por un par de dos macrobloques colocados encima y debajo, como se muestra en la Fig. 40. En un caso de codificación de marco, ambos macrobloques están codificados como una estructura de marco, mientras que en un caso de codificación de campo, un macrobloque que consiste en líneas numeradas impares y un macrobloque consiste en líneas numeradas pares se codifican por separado.
En MBAFF, como se muestra en las Fig. 41A y 41B, las imágenes de referencia se usan por referencia cambiándolas entre una estructura de marco y una estructura de campo dependiendo de los procedimientos de codificación de los pares de macrobloques. Cuando un par de macrobloques actual está codificado como una estructura de marco como se muestra en la Fig. 41A, las Imágenes P1~P3 se denominan como marcos. Cuando un par de macrobloques actual está codificado como una estructura de campo como se muestra en la Fig. 41B, las imágenes se separan en campos superiores y campos inferiores, Imágenes P1T~P3B, y se denominan como campos respectivos. En este momento, el número de imágenes de referencia, que es el número de campos superiores e inferiores, es dos veces el número de marcos. Sin embargo, el número máximo de índices de referencia (véase idx_cmd1 y idx_cmd2 en la Fig. 39) y las secuencias de comandos (véase idx_cmd1 y idx_cmd2 en la Fig. 39) para actualizar la asignación, que se usan para asignar índices de referencia a las imágenes respectivas, no pueden aplicarse a ambos marcos y campos al mismo tiempo. Por lo tanto, existe el problema de que el número máximo de índices de referencia y los comandos de asignación no pueden terminarse de forma apropiada en el caso de MBAFF.
En "Interlace Coding Tools For H.26L Video Coding" de L. Wang y col. -ITU-Grupo de Estudio del Sector de Normalización de las Telecomunicaciones 16 Pregunta 6 Grupo de Expertos en Codificación de Video (VCEG) VCEG-037 (4 de diciembre de 2006-6 de diciembre de 2001, Pattaya, Tailandia) se describe la codificación de marco/campo adaptativa al nivel del macrobloque. El marco o campo de referencia se indica en la sintaxis al nivel del macrobloque. Para la codificación basada en campos, la referencia puede ser el campo superior o el inferior. Para cada marco de referencia, el campo de la misma paridad que el campo actual se indica con un número par, y el campo de la paridad opuesta como el campo actual se indica con un número impar.
En este contexto, la presente invención tiene como objeto proporcionar un procedimiento de codificación de imágenes y de decodificación de imágenes para aplicar índices de referencia de forma apropiada para la codificación de marco o la codificación de campo de MBAFF.
Para conseguir este objeto, el procedimiento de codificación de acuerdo con la presente invención se expone en las reivindicaciones adjuntas. De acuerdo con el aspecto de la invención, un procedimiento de codificación de imágenes en movimiento para codificar una imagen con cambio entre codificación de marco y codificación de campo de forma adaptativa en una base bloque a bloque, comprende una etapa de asignación de índices de referencia de campo a campos usando índices de referencia de marco, especificando los índices de referencia de campo, campos que se refieren al momento de la codificación de campo, y especificando los índices de referencia de marco, marcos que se refieren al momento de la codificación de marco.
De acuerdo con esta estructura, los índices de referencia de marco pueden usarse para asignar índices de referencia de campo. En otras palabras, los índices de referencia de marco pueden aplicarse de forma apropiada no solo a la codificación de marco sino también a la codificación de campo.
En este documento, el procedimiento de codificación de imágenes en movimiento que se ha mencionado anteriormente puede comprender adicionalmente una etapa de especificación para especificar dos campos que constituyen cada uno de los marcos especificados por cada uno de los índices de referencia de marco, y en la etapa de asignación, puede asignarse un primer valor a un campo que tiene una paridad igual que la paridad de un campo que incluye un bloque actual que se va a decodificar, fuera de los dos campos especificados como para uno de los índices de referencia de campo, obteniéndose el primer valor doblando un valor de cada uno de dichos índices de referencia de marco, y un segundo valor puede asignarse a otro campo que tenga una paridad diferente de una paridad del campo que incluye el bloque actual como cada uno de dichos índices de referencia de campo, obteniéndose el segundo valor añadiendo uno a dicho primer valor.
De acuerdo con esta estructura, se asignan el valor obtenido doblando el valor del índice de referencia de marco y el valor obtenido añadiendo uno al valor doble a los índices de referencia de campo dependiendo de la paridad de campo. Por lo tanto, los índices de referencia de campo pueden asignarse de manera extremadamente fácil usando los índices de referencia de marco.
En este documento, el procedimiento de codificación de imágenes en movimiento que se ha mencionado anteriormente puede comprender adicionalmente una etapa de determinación para determinar un número máximo de índices de referencia de campo que será un valor obtenido doblando un número máximo de índices de referencia de marco, y en la etapa de asignación, los índices de referencia de campo pueden asignarse dentro de un intervalo del número máximo determinado.
De acuerdo con esta estructura, el número obtenido doblando el número máximo de índices de referencia de marco puede asignarse como los índices de referencia de campo, y por lo tanto puede maximizarse el uso eficaz de los índices de referencia de marco.
En este documento, el procedimiento de codificación de imágenes en movimiento que se ha mencionado anteriormente puede comprender adicionalmente una etapa de especificación para especificar dos campos que constituyen cada uno de los marcos especificados por cada uno de los índices de referencia, siendo los dos campos un campo superior y un campo inferior, y en la etapa de asignación, puede asignarse un primer valor al campo superior, fuera de los dos campos especificados, como cada uno de los índices de referencia de campo, obteniéndose el primer valor doblando un valor de cada uno de dichos índices de referencia de marco, y puede asignarse un segundo valor al campo inferior como cada uno de los índices de referencia de campo, obteniéndose el segundo valor añadiendo uno a dicho primer valor.
El procedimiento de codificación de imágenes en movimiento que se ha mencionado anteriormente puede comprender adicionalmente una etapa de especificación para especificar dos campos que constituyen cada uno de los marcos especificados por cada uno de los índices de referencia de marco, y en la etapa de asignación, un valor igual que un valor de cada uno de dichos índices de referencia de marco puede asignarse únicamente a un campo que tenga una paridad igual que una paridad de un campo que incluye un bloque actual que se va a codificar, fuera de los dos campos especificados, como cada uno de los índices de referencia de campo.
En este documento, el procedimiento de codificación de imágenes en movimiento que se ha mencionado anteriormente puede comprender adicionalmente una etapa de adición para generar una secuencia de comandos que indica cómo asignar los índices de referencia de marco y una secuencia de comandos que indica cómo asignar los índices de referencia de campo independientemente, codificando dichas dos secuencias de comandos, y añadiendo dichas secuencias de comandos codificadas a una señal codificada.
El procedimiento de codificación de imágenes en movimiento que se ha mencionado anteriormente, en el que los índices de referencia de campo consisten en índices de referencia de campo superior e índices de referencia de campo inferior, puede comprender adicionalmente una etapa de adición para generar una secuencia de comandos que indica cómo asignar los índices de referencia de marco, una secuencia de comandos que indica cómo asignar los índices de referencia de campo superior y una secuencia de comandos que indica cómo asignar los índices de referencia de campo inferior independientemente, codificando dichas tres secuencias de comandos, y añadiendo dichas secuencias de comandos codificadas a una señal codificada.
El procedimiento de codificación de imágenes en movimiento que se ha mencionado anteriormente puede comprender adicionalmente una etapa de determinación para determinar un número máximo de los índices de referencia de campo, y en la etapa de asignación, los índices de referencia de campo pueden asignarse a campos dentro de un intervalo del número máximo usando los índices de referencia de marco.
En este documento, en la etapa de determinación, el número máximo de los índices de referencia de campo puede determinarse que es un valor obtenido doblando un número máximo de los índices de referencia de marco.
De acuerdo con esta estructura, los índices de referencia de marco pueden usarse eficazmente al máximo para los índices de referencia de campo dentro del número obtenido doblando el número máximo de índices de referencia de marco.
En este documento, en la etapa de determinación, el número máximo de los índices de referencia de campo puede determinarse que es un valor igual que un número máximo de los índices de referencia de marco.
De acuerdo con esta estructura, los índices de referencia de marco pueden usarse de forma eficaz al máximo para los índices de referencia de campo dentro del número igual que el número máximo de índices de referencia de marco.
En este documento, el procedimiento de codificación de imágenes en movimiento que se ha mencionado anteriormente puede comprender adicionalmente una etapa de adición para determinar un número máximo de los índices de referencia de marco independientemente del número máximo de los índices de referencia de campo, codificando dichos dos números máximos, y añadiendo dichos números máximos codificados a una señal codificada.
De acuerdo con esta estructura, el número máximo de los índices de referencia de campo puede determinarse independientemente del número máximo de los índices de referencia de marco, y el aparato de decodificación puede notificar el número máximo determinado a través de una señal codificada.
En este documento, el procedimiento de codificación de imágenes en movimiento que se ha mencionado anteriormente, en el que los índices de referencia de campo consisten en índices de referencia de campo superior e índices de referencia de campo inferior, puede comprender adicionalmente una etapa de adición para determinar un número máximo de los índices de referencia de marco, un número máximo de los índices de referencia de campo superior y un número máximo de los índices de referencia de campo inferior independientemente, codificando dichos tres números máximos, y añadiendo dichos números máximos codificados a una señal codificada.
Como se ha descrito anteriormente, de acuerdo con el procedimiento de la presente invención, los índices de referencia, el número máximo de los índices de referencia y los comandos que están diseñados originariamente para la codificación de marco también pueden utilizarse en la codificación de campo, en caso de MBAFF.
Además, el procedimiento de decodificación de imágenes en movimiento, el aparato de codificación de imágenes en movimiento, el aparato de decodificación de imágenes en movimiento y el programa de la presente invención tienen las mismas estructuras, funciones y efectos que se han mencionado anteriormente.
Breve descripción de los dibujos
La Fig. 1 es un diagrama de bloques que muestra una estructura de un aparato de codificación en una primera realización de la presente invención.
La Fig. 2 es una ilustración que muestra un ejemplo de correspondencias entre números de imagen y los primeros y segundos índices de referencia en un caso de codificación de marco de macrobloques (MB).
La Fig. 3 es una ilustración que muestra un ejemplo de correspondencias entre los primeros y segundos índices de referencia, comandos y números de imagen.
La Fig. 4 es una ilustración que muestra un ejemplo de asignación de los primeros y segundos índices de referencia a los números de imagen de campos en un caso de codificación de macrobloques.
La Fig. 5 es un diagrama de flujo que muestra el procesamiento de asignación de índices de referencia y comandos ejecutados por una unidad de conversión de índices de referencia/números de imagen en el aparato de codificación.
La Fig. 6 es un diagrama de flujo que muestra el procesamiento de asignación de índices de referencia para la codificación de campo a campos.
La Fig. 7 es un diagrama de bloques que muestra una estructura de un aparato de decodificación en la primera realización de la presente invención.
La Fig. 8 es un diagrama de bloques que muestra una estructura de un aparato de codificación en una segunda realización de la presente invención.
La Fig. 9 es una ilustración que muestra un ejemplo de asignación de los primeros y segundos índices de referencia a números de imagen de campos en un caso de codificación de campo de un macrobloque.
La Fig. 10 es un diagrama de flujo que muestra el procesamiento de asignación de índices de referencia ejecutados por una unidad de conversión de índices de referencia/números de imagen en el aparato de codificación.
La Fig. 11 es un diagrama de bloques que muestra una estructura de un aparato de decodificación en la segunda realización de la presente invención.
La Fig. 12 es un diagrama de bloques que muestra una estructura de un aparato de codificación en una tercera realización de la presente invención.
La Fig. 13 es una ilustración que muestra un ejemplo de asignación de los primeros y segundos índices de referencia a números de imagen de campos en un caso de codificación de campo de un macrobloque.
La Fig. 14 es un diagrama de bloques que muestra una estructura de un aparato de decodificación en la tercera realización de la presente invención.
La Fig. 15 es un diagrama de bloques que muestra una estructura de un aparato de codificación en una cuarta realización de la presente invención.
La Fig. 16 es una ilustración que muestra un ejemplo de asignación de los primeros y segundos de índices de referencia a números de imagen de campos en un caso de codificación de campo de un macrobloque.
La Fig. 17 es un diagrama de bloques que muestra una estructura de un aparato de codificación en una quinta realización de la presente invención.
La Fig. 18 es una ilustración que muestra un ejemplo de asignación de los primeros y segundos índices de referencia a números de imágenes de campos en un caso de codificación de campo de un macrobloque.
La Fig. 19 es un diagrama de flujo que muestra el procesamiento de asignación de índices de referencia ejecutado por una unidad de conversión de índices de referencia/números de imagen en el aparato de codificación.
La Fig. 20. es un diagrama de bloques que muestra una estructura de un aparato de decodificación en la quinta realización de la presente invención.
La Fig. 21 es un diagrama que muestra una estructura de datos de una corriente de bits en una sexta realización de
la presente invención. La Fig. 22 es una ilustración que muestra un ejemplo de asignación de los primeros y segundos índices de referencia a números de imagen de campos en un caso de codificación de campo de un macrobloque.
La Fig. 23 es un diagrama de bloques que muestra una estructura de un aparato de codificación en una séptima realización de la presente invención.
La Fig. 24 es un diagrama que muestra un ejemplo de una estructura de datos de una corriente de bits. La Fig. 25 es una ilustración que muestra un ejemplo de asignación de los primeros y segundos índices a números de imagen de campos en un caso de codificación de campo de un macrobloque.
La Fig. 26 es un diagrama que muestra un ejemplo de correspondencias entre índices de referencia, comandos y números de imagen de campos aplicados específicamente a campos superiores y campos inferiores en un caso de codificación de campo.
La Fig. 27 es un diagrama de flujo que muestra el procesamiento de asignación de índices de referencia y comandos
en un caso de una mezcla de codificación de marco y codificación de campo. La Fig. 28 es un diagrama de bloques que muestra una estructura de un aparato de decodificación en la séptima realización de la presente invención.
La Fig. 29 es un diagrama que muestra otro ejemplo de una estructura de datos de una corriente de bits. Las Figs. 30A, B y C son ilustraciones de un medio de grabación para almacenar un programa para realizar el
procedimiento de codificación de imágenes en movimiento y el procedimiento de decodificación de imágenes en movimiento en cada una de las realizaciones por un sistema informático. La Fig. 31 es un diagrama de bloques que muestra una configuración general de un sistema de suministro de
contenido. La Fig. 32 es una vista externa de un teléfono móvil. La Fig. 33 es un diagrama de bloques que muestra una estructura del teléfono móvil. La Fig. 34 es un diagrama que muestra de un sistema de difusión digital. La Fig. 35 es un diagrama esquemático para explicar las relaciones de referencia entre las imágenes en la técnica
anterior. Las Figs. 36A y B son diagramas esquemáticos para explicar la reordenación de imágenes en la técnica anterior. La Fig. 37 es un diagrama esquemático para explicar cómo asignar números de imagen a índices de referencia en la
técnica anterior.
La Fig. 38 es un diagrama esquemático que muestra la asignación de índices de referencia actualizados de la asignación como se muestra en la Fig. 37 usando comandos en la técnica anterior. La Fig. 39 es un diagrama esquemático para explicar una estructura de una corriente de bits en la técnica anterior. La Fig. 40 es una ilustración de pares de macrobloques en los casos de codificación de marco y codificación de
campo. Las Figs. 41A y B son ilustraciones que muestran marcos de referencia en la codificación de marco y campos de referencia en la codificación de campo.
Mejor modo de realizar la invención
(Primera realización)
(Descripción de un aparato de codificación y un aparato de decodificación)
En primer lugar, se proporcionara una descripción de un aparato de codificación y un aparato decodificador en la presente invención.
Cuando se realiza la codificación de marco/campo adaptativa de macrobloques (MBAFF), el aparato de codificación y el aparato de decodificación en la presente realización manejan el número máximo de índices de referencia y una secuencia de comandos de las siguientes maneras (1.1) y (1.2), respectivamente. En este documento, los índices de referencia y los comandos son los mismos que los mostrados en la Fig. 38, y el número máximo de índices de referencia son los mismos que los mostrados en la Fig. 39.
(1.1) En cuanto al número máximo de índices de referencia, el aparato de codificación describe el número máximo de índices de referencia para la codificación de marco (índices de referencia de marco) en una corriente de bits que se va a transmitir cuando la codificación de campo y la codificación de marco se mezclan. El aparato de codificación maneja el número máximo de índices de referencia como el número de índices de referencia disponibles en la decodificación de marco, mientras que, en la codificación de campo, considera el valor obtenido doblando el número máximo para la codificación de marco como el número de índices de referencia para la codificación de campo (índices de referencia de campo). Por ejemplo, cuando se asignan los índices de referencia para la codificación de marco 0~2, el número máximo de índices de referencia es "3". En un caso de codificación de marco, este número indica el propio número máximo real. En un caso de codificación de campo, el número "6" obtenido doblando el número máximo de índices de referencia para la codificación de marco "3" se considera como el número máximo de índices de referencia para la codificación de campo. Lo mismo se aplica al aparato de decodificación.
(1.2) En cuanto a la secuencia de comandos, el aparato de codificación describe comandos para la codificación de marco en una corriente de bits que se va a transmitir. El aparato de codificación asigna los índices de referencia para la codificación de marco en un caso de codificación de marco, según se explica usando la Fig. 38. Obsérvese que si la secuencia de comandos no esta codificada, las correspondencias entre los números de imágenes y los índices de referencia se establecen de la manera de asignación por defecto como se muestra en la Fig. 37.
En un caso de codificación de campo, la asignación de índices de referencia se actualiza para la codificación de campo en base a los índices de referencia para codificación de marco que ya se han asignado.
Para ser más específicos, el valor obtenido doblando el valor del índice de referencia para la codificación de marco se asigna a un campo de la misma paridad que un campo que incluye un macrobloque actual que se va a codificar, entre dos campos que constituyen un marco, mientras que el valor obtenido doblando el valor del índice de referencia para la codificación de marco y añadiendo 1 (x2 + 1) se asigna a otro campo de paridad opuesta, como un índice de referencia para la codificación de campo, respectivamente (véase la Fig. 4). En este documento, "paridad" se refiere a una calidad impar o par de un campo (distinción entre un campo superior que consiste en líneas numeradas impares y un campo inferior consiste en líneas numeradas pares).
En otras palabras, cuando un macrobloque actual que se va a codificar pertenece a un campo superior, el valor obtenido doblando un valor de un índice de referencia para la codificación de marco se asigna a un campo superior entre dos campos, mientras que el valor obtenido añadiendo 1 al valor doblado (x2 + 1) se asigna a un campo inferior entre los dos campos. Cuando un macrobloque actual pertenece a un campo inferior, el valor obtenido doblando el valor del índice de referencia para la codificación de marco se asigna al campo inferior entre dos campos, mientras que el valor obtenido añadiendo 1 al valor doblado (x2 + 1) se asigna a un campo superior entre los dos campos.
Por otro lado, el aparato de decodificación decodifica el número máximo de índices de referencia para la codificación de marco y los comandos de asignación incluidos en la corriente de bits transmitida, y asigna los índices de referencia a las imágenes de referencia usando el número máximo en los comandos, exactamente de la misma manera que el aparato de codificación.
<Estructura del aparato de codificación>
A continuación, se explicara la estructura del aparato de codificación.
La Fig. 1 es un diagrama de bloques que muestra la estructura del aparato de codificación de imágenes en movimiento de la primera realización de la presente invención. Usando la figura, se explicará (1) una descripción de la codificación y (2) un procedimiento de asignación de índices de referencia y comandos para la codificación de marco y un procedimiento de asignación de índices de referencia para la codificación de campos en este orden.
(1) Descripción de la codificación
Se asume en este documento que una imagen actual representa un marco o un campo que se va a modificar, y por lo tanto, a continuación se explicará la descripción de la codificación que es común para tanto la codificación de marco como para la codificación de campo.
Una imagen en movimiento que se va a codificar se introduce en una memoria de imágenes 101 en una base imagen por imagen en orden de visualización, y las imágenes introducidas se reordenan en orden de codificación. Las Fig. 36A y 36B son diagramas que muestran un ejemplo de ordenación de imágenes. La Fig. 36A muestra un ejemplo de imágenes en orden de visualización, y la Fig. 36B muestra un ejemplo de las imágenes reordenadas en orden de codificación. En este documento, ya que las Imágenes B3 y B6 se refieren tanto a imágenes anteriores y posteriores temporalmente, las imágenes de referencia necesitan codificarse antes de codificar estas imágenes actuales y por lo tanto, las imágenes se reordenan en la Fig. 36B de forma que las imágenes P4 y P7 se codifiquen en primer lugar. Cada una de las imágenes se divide en bloques denominados macrobloques de 16 píxeles en horizontal x 16 píxeles en vertical, por ejemplo, y el siguiente procedimiento se realiza en una base bloque a bloque.
Una señal de imagen de entrada leída de la memoria de imágenes 101 se introduce a una unidad de cálculo diferencial 112, se calcula una diferencia entre la señal de imagen de entrada y la señal de imagen predicha que es una emisión de una unidad de codificación de compensación del movimiento 107, y la señal de imagen diferencial obtenida (señal de error residual) se emite a una unidad de codificación de error de predicción 102. La unidad de codificación de error de predicción 102 realiza el procesamiento de codificación de imágenes, tal como la cuantificación y la transformación de frecuencia, y emite una señal de error residual codificada. La señal de error residual codificada se introduce en una unidad de decodificación de error de predicción 104, que realiza el procesamiento de decodificación de imágenes, tal como cuantificación inversa y transformación de la frecuencia inversa, y emite una señal de error residual decodificada. Una unidad de adición 111 añade la señal de error residual decodificada y la señal de imagen predicha para generar una señal de imagen reconstruida, y almacena, en una memoria de imágenes 105, las señales reconstruidas que podrían hacerse referencia en la siguiente predicción entre imágenes fuera de la señales de imagen reconstruidas obtenidas.
Por otro lado, la señal de imagen de entrada leída por macrobloque de la memoria de imágenes 101 también se introduce en una unidad de estimación de vectores de movimiento 106. En este documento, las señales de imágenes reconstruidas almacenadas en la memoria de imágenes 105 se buscan para calcular un área de imagen que sea la más cercana a la señal de imágenes de entrada y determinar un vector de movimiento que apunte hacia la posición del área de imagen. La estimación de vectores de movimiento se realiza por bloque que es una parte de un macrobloque, y los vectores de movimiento obtenidos se almacenan en una unidad de almacenamiento de vectores de movimiento 108. En este momento, ya que puede usarse una pluralidad de imágenes por referencia en H.26L que ahora esta bajo consideración para su normalización, se requieren números de identificación para especificar imágenes de referencia por bloque. Los números de identificación se denominan como índices de referencia, y una unidad de conversión de índices de referencia/números de imágenes 109 establece correspondencias entre los índices de referencia y los números de imágenes de las imágenes almacenadas en la memoria de imágenes a fin de permitir la especificación de las imágenes de referencia.
La unidad de codificación de compensación de movimiento 107 extrae el área de imagen que es más adecuada para la imagen predicha de entre las señales de imagen reconstruidas almacenadas en la memoria de imágenes 105, usando vectores de movimiento calculados por el procesamiento que se ha mencionado anteriormente y los índices de referencia. Se determina en este momento que es más eficaz, la codificación productiva de marco o la codificación predictiva de campo, en cada macrobloque, y después se realiza la codificación usando el procedimiento seleccionado. La unidad de generación de corrientes de bits 103 realiza la codificación de longitud variable para la información codificada, tal como los índices de referencia, los vectores de movimiento y las señales de error residual codificadas emitidas como resultado de la serie anterior del procesamiento a fin de obtener una corriente de bits que se va a emitir desde este aparato de codificación.
El flujo de operaciones en un caso de codificación de predicción entre imágenes se ha descrito anteriormente, pero un interruptor 112 o un interruptor 113 cambian entre codificación de predicción entre imágenes y codificación de predicción intra-imágenes. En un caso de codificación de predicción intra-imágenes, una imagen predicha no se genera por compensación del movimiento, pero se genera una señal de imagen diferencial calculando una diferencia a partir de una imagen predicha en un área actual que genera a partir de un área codificada en la imagen actual. La unidad de codificación de error de predicción 112 convierte la señal de imagen diferencial en una señal de error residual codificada de la misma manera que la codificación de predicción entre imágenes, la unidad de generación de corrientes de bits 103 realiza la codificación de longitud variable para la señal a fin de obtener una corriente de bits que se va a emitir.
(2) Procedimiento de asignación de índices de referencia
<Ejemplo de asignación de índices de referencia>
En primer lugar, la Fig. 2~Fig. 4 muestran ejemplos de procedimientos de asignación de índices de referencia para la codificación de marco e índices de referencia para la codificación de campo.
La Fig. 2 muestra un ejemplo de asignación de índices de referencia por defecto en un caso en el que la codificación de marco se realiza en un bloque de una imagen actual que se va a codificar, y los índices de referencia se asignan a los números de imagen en orden descendente del número de imagen. Los índices de referencia siempre se asignan de esta manera cuando los comandos de asignación no están codificados. La Fig. 3 muestra un ejemplo en el que los índices de referencia por defecto, como se muestra en la Fig. 2, se actualizan usando los comandos de asignación. Ya que &quot;-2&quot; se proporcionan en primer lugar como un comando, se asigna una imagen con su número de imagen &quot;11&quot; al número de índice de referencia &quot;0&quot; añadiendo &quot;-2&quot; al número de imagen actual &quot;13&quot;. A continuación, &quot;+1&quot; se proporciona como un comando, se asigna una imagen con su número de imagen &quot;12&quot; al número de índice de referencia &quot;1&quot;. Cada uno de los siguientes de imagen se asigna de la misma manera. Lo mismo se aplica a los segundos índices de referencia. Lo siguiente se explicara en base a la Fig. 2 que muestra la asignación por defecto, pero los índices de referencia pueden asignarse exactamente de la misma manera incluso si la asignación por defecto se actualiza por comandos. Obsérvese que los comandos anteriores son solo un ejemplo, y los índices de referencia pueden asignarse exactamente de la misma manera incluso si la asignación por defecto se actualiza por comandos para asignaciones diferentes de las del ejemplo anterior.
La Fig. 4 es una ilustración que muestra correspondencias de los primeros y segundos índices de referencia para la codificación de campos superior (índices de referencias para campo superior) y la codificación de campo inferior (índices de referencia para campo inferior), respectivamente, actualizados a partir de los primeros y segundos índices de referencia para la codificación de marco como se muestra en la Fig. 2, según las secciones (1.1) y (1.2) anteriores. La Fig. 4 muestra que los valores obtenidos doblando los de los índices de referencia para la codificación de marco se asignan a los campos de la misma paridad que el campo que incluye un macrobloque actual, mientras que los valores obtenidos doblando los de los índices de referencia para la codificación de marco y añadiendo 1 (x2
+ 1) se asignan a los campos de la paridad opuesta.
En la presente realización, si la codificación de campo y la codificación de marco se mezclan en una imagen, el número máximo de índices de referencia para la codificación de campo se maneja como el valor obtenido doblando aquel para la codificación de marco, y por lo tanto el número de índices de la Fig. 4 es &quot;6&quot;, mientras que el número de índices de la Fig. 2 es &quot;3&quot;.
<Procesamiento de asignación de índices de referencia>
La Fig. 5 es un diagrama de flujo que muestra el procesamiento de asignación de índices de referencia ejecutado por la unidad de conversión de índices de referencia/números de imagen del aparato de codificación.
La unidad de conversión de índices de referencia/números de imagen 109 realiza el procesamiento de asignación de índices de referencia por segmento en caso de MBAFF. En este documento, un segmento se refiere a cada una de una o más áreas que constituyen una imagen. La unidad de conversión de índices de referencia/números de imagen 109 omite todo el procesamiento en esta figura cuando no existe ningún cambio de los índices de referencia (en caso de valores por defecto).
Como se muestra en esta figura, la unidad de conversión de índices de referencia/números de imagen 109 en primer lugar realiza el procesamiento de asignación de índices de referencia y comandos para la codificación de marco (S11). Ya que este procesamiento es el mismo que se ha descrito usando Fig. 37, en este documento se omite. A continuación la unidad de conversión de índices de referencia/números de imagen 109 determina si se mezclan o no la codificación de marco y la codificación de campo en el segmento (S12), y si se mezclan, realiza el procesamiento de asignación de índices de referencia para la codificación de campo (S13).
La Fig. 6 es un diagrama de flujo que muestra el procesamiento de asignación de índices de referencia a campos en base a las correspondencias entre los índices de referencia para la codificación marco y los índices de referencia para la codificación de campo. En esta figura, una variable j es 1 y 2 (j = 1, 2) para las Imágenes B y j es 1 (j = 1) para las Imágenes P, y max_idxj indica el número máximo de índices de referencia j para la codificación de marco, e idxj(i) indica el valor de los índices de referencia i-j para la codificación de campo, respectivamente. El bucle 2 puede aplicarse comúnmente a Imágenes B e Imágenes P. El bucle 1 tiene iteraciones para el número máximo de índices de referencia para la codificación de marco (max_idxj), y se asignan dos índices de referencia para la codificación de campo para cada iteración del bucle 1.
El procesamiento de asignación de dos índices de referencia para la codificación de campo usando una iteración del bucle 1, es decir, un índice de referencia para la codificación de marco, se explicará a continuación. La unidad de conversión de índices de referencia/números de imagen 109 lee el valor del índice de referencia i-j para la codificación de marco idxj(i) asignado en S11 de la Fig. 5 (S23), y determina si el macrobloque actual pertenece al campo superior o no (S26).
Cuando se determina que el macrobloque actual pertenece al campo superior, el valor obtenido doblando el del índice de referencia para la codificación de marco idxj(i) (S27) se asigna al campo superior fuera de los dos campos especificados en S25 (S28), y el valor obtenido doblando el valor idxj(i) y añadiendo 1 (S29) se asigna al campo inferior fuera de los dos campos especificados en S25 (S30).
Cuando se determina que el macrobloque actual pertenece al campo inferior, el valor obtenido doblando el del índice de referencia para la codificación de marco idxj(i) (S31) se asigna al campo inferior fuera de los dos campos especificados en S25 (S32), y el valor obtenido doblando el valor idxj(i) y añadiendo 1 (S33) se asigna al campo superior fuera de los dos campos especificados en S25 (S34).
Como se ha descrito anteriormente, el valor obtenido doblando el valor del índice de referencia para la codificación de marco y el valor obtenido añadiendo 1 al valor doble (x2 + 1) se asignan a los índices de referencia para la codificación de campo. Por lo tanto, como se muestra en la Fig. 4, el valor obtenido doblando el número máximo de índices de referencia para la codificación de marco (max_idxj) se asigna al número máximo de índices de referencia para la codificación de campo.
Al codificar un macrobloque, los índices de referencia para la codificación de campo usados como campos de referencia en el macrobloque codificado por campos se configuran en una corriente de bits como ref1 y ref2 (véase la Fig. 39). Por otro lado, los índices de referencia para la codificación de marco usados como marcos de referencia en el macrobloque codificado por marcos se configuran en una corriente de bits como ref1 y ref2 (véase la Fig. 39).
El número de índices de referencia para la codificación de marco es 3 en el ejemplo de la Fig. 2, mientras que el número de índices de referencia para la codificación de campo es 6 en el ejemplo de la Fig. 4.
La Fig. 6 muestra el procesamiento de asignación de índices de referencia para la codificación de campo a cada imagen actual que se va a codificar por campos, pero puede prepararse con antelación una tabla. Para ser más específicos, la presente realización puede estructurarse para crear una tabla que indica correspondencias entre los índices de referencia para la codificación de marco y números de imagen de marcos según los comandos, y además, asignando los índices de referencia para la codificación de campo superior y la codificación de campo inferior, respectivamente de la misma manera que se muestra en la Fig. 6, para crear una tabla que indica las correspondencias entre los índices de referencia para la codificación de campo superior y números de imagen de campos y una tabla que indica las correspondencias entre los índices de referencia para la codificación de campo inferior y números de imagen de campos. Una vez que estas tablas se crean al comienzo de la codificación o decodificación de imágenes, las imágenes de referencia pueden determinarse únicamente con referencia a los índices de referencia indicados en estas tablas.
<Estructura del aparato de decodificación>
La Fig. 7 es un diagrama de bloques que muestra la estructura de un aparato de decodificación en la primera realización de la presente invención. Usando esta figura, se explicará (1) una descripción de la decodificación y (2) el procesamiento de la conversión de los índices de referencia en este orden. En este documento, se asume que una corriente de bits se transmite desde el aparato de codificación como se muestra en la Fig. 1 al presente aparato de decodificación.
(1) Descripción de la decodificación
En primer lugar, una unidad de análisis de corrientes de bits 201 extrae diversa información de la corriente de bits introducida: el número máximo de índices de referencia de un área de información común de la imagen, secuencias de comandos para la asignación de índices de referencia a partir de un área de encabezamiento de segmento, e índices de referencia, información de vectores de movimiento y una señal de error residual codificada de un área de información de bloque codificada, respectivamente.
El número máximo de índices de referencia y las secuencias de comandos para la asignación de índices de referencia extraídos por la unidad de análisis de corrientes de bits 201 se emiten a una unidad de conversión de índices de referencia/números de imagen 206, los índices de referencia se emiten a una unidad de decodificación de compensación del movimiento 204, la información de los vectores de movimiento se emite a una unidad de almacenamiento de vectores de movimiento 205, y la señal de error residual codificada se emite a una unidad de decodificación de error de predicción 202, respectivamente.
La unidad de decodificación de error de predicción 202 realiza el procesamiento de decodificación de imágenes, tal como la cuantificación inversa y la transformación de frecuencia inversa para la señal de error residual codificada introducida, y emite una señal de error residual decodificada. La unidad de adición 207 añade la señal de error residual decodificada y la señal de imagen predicha emitida por la unidad de decodificación de compensación del movimiento 204 para generar una señal de imagen reconstruida. La señal de imagen reconstruida obtenida se almacena en una memoria de imágenes 203 para su uso por referencia en la siguiente predicción entre imágenes y salida para su visualización.
La unidad de decodificación de compensación del movimiento 204 extrae un área de imagen que es más adecuado como una imagen predicha de las señales de imagen reconstruidas almacenadas en la memoria de imágenes 203, usando los vectores de movimiento introducidos de la unidad de almacenamiento de vectores de movimiento 205 y los índices de referencia introducidos de la unidad de análisis de corrientes de bits 201. En este momento, la unidad de conversión de índices de referencia/números de imagen 206 especifica las imágenes de referencia en la memoria de imágenes 203 en base a las correspondencias entre los índices de referencia proporcionados y los números de imagen. Si la codificación de campo se mezcla, especifica los campos de referencia después de la conversión de los índices de referencia para la codificación de marco en los índices de referencia para la codificación de campo.
Adicionalmente, la unidad de decodificación de compensación del movimiento 204 realiza el procesamiento de conversión del valor a píxeles, tal como el procesamiento de interpolación por predicción lineal sobre valores de píxel en el área de imagen extraída para generar la imagen predicha final. La imagen decodificada generada a través de la serie de procesamiento que se ha mencionado anteriormente se almacena en la memoria de imágenes 203 y se emite como una señal de imagen para su visualización según el momento de visualización.
El flujo de operaciones en el caso de una decodificación de predicción entre imágenes se ha descrito anteriormente, pero un conmutador 208 cambia entre decodificación de predicción entre imágenes y decodificación de predicción intra-imágenes. En caso de decodificación intra-imágenes, no se genera una imagen predicha por compensación del movimiento, sino que se genera una imagen decodificada generando una imagen predicha de un área actual que se va a decodificar a partir de un área decodificada en la misma imagen y añadiendo la imagen predicha. La imagen decodificada se almacena en la memoria de imágenes 203, como es el caso, con la decodificación de predicción entre imágenes, y se emite como una señal de imagen para su visualización según el momento de visualización.
(2) Procesamiento de conversión de índices de referencia
La unidad de conversión de índices de referencia/números de imagen 206 asigna números de imagen e índices de referencia usando el número máximo introducido de índices de referencia y comandos para la asignación de índices de referencia. Se asignan exactamente de la misma manera que para el aparato de codificación. En la presente realización, el valor obtenido doblando el número máximo de índices de referencia para la codificación de marco se usa como el número máximo de índices de referencia para la codificación de campo. Por lo tanto, la asignación para la codificación de marco como se muestra en la Fig. 2 resulta ser la asignación como se muestra en la Fig. 4 para la codificación de campo.
Como se ha descrito anteriormente, según el aparato de codificación y el aparato de decodificación en la presente realización, el número máximo de índices de referencia y los comandos de asignación para la codificación de marco, si solo están codificados en una corriente de bits, pueden aplicarse apropiadamente no solo para la codificación de marco, sino también para la codificación de campo en caso de MBAFF. Además, el valor obtenido doblando el número máximo de índices de referencia para la codificación de marco se usa como el número máximo para la codificación de campo, y todos los campos almacenados en la memoria pueden usarse de forma eficaz para la codificación y la decodificación.
(Segunda realización)
<Descripción del aparato de codificación y el aparato de decodificación>
En primer lugar, se explicará una descripción de un aparato de codificación y un aparato de decodificación en la presente realización.
El aparato de codificación y el aparato de decodificación en la presente realización realizan MBAFF, y para este fin, manejan el número máximo de índices de referencia y una secuencia de comandos de las siguientes maneras (2.1) y (2.2), respectivamente.
(2.1) Ya que el número máximo de índices de referencia es igual que para (1.1) como se ha descrito al comienzo de la primera realización, se omite la explicación del mismo.
(2.2) En cuanto a la secuencia de comandos, el aparato de codificación describe comandos para la codificación de marco en una corriente de bits que se va a transmitir. Como se describe usando la Fig. 37 y la Fig. 38, el aparato de codificación asigna índices de referencia para la codificación de marco con el fin de conseguir la codificación de marco. Obsérvese que las correspondencias de los índices de referencia se establecen en forma de asignación por defecto, como se describe usando la Fig. 37, si la secuencia de comandos no está codificada.
Adicionalmente, con el fin de conseguir la codificación de campo, la asignación de los índices de referencia se actualiza en base a los índices de referencia asignados para la codificación de marco.
En la presente realización, a diferencia de la primera realización, independientemente de si un macrobloque actual que se va a codificar está en un campo superior o un campo inferior, el valor obtenido doblando el valor del índice de referencia para la codificación de marco se asigna a un campo superior fuera de dos campos que constituyen un marco, mientras que el valor obtenido doblando el índice de referencia para la codificación de marco y añadiendo 1 (x2 + 1) se asigna a un campo inferior, respectivamente, como índices de referencia para la codificación de campo (véase la Fig. 9).
<Estructura del aparato de codificación>
La Fig. 8 es un diagrama de bloques que muestra la estructura del aparato de codificación en la segunda realización de la presente invención. El aparato de codificación en esta figura es diferente del mostrado en la Fig. 1 en que el anterior incluye una unidad de conversión de índices de referencia/números de imagen 109a, en lugar de la unidad de conversión de índices de referencia/números de imagen 109. Los puntos iguales que los de la Fig. 1 se omiten, y la siguiente explicación se centrará en los puntos diferentes. La unidad de conversión de índices de referencia/números de imagen 109a es diferente de la que se muestra en la Fig. 1 únicamente en que la primera establece un mapeo (asignación de índices de referencia) de (2.2) que se ha mencionado anteriormente, no un mapeo de (1.2).
<Ejemplo de asignación de índices de referencia>
La Fig. 9 es una ilustración que muestra las correspondencias de los primeros y segundos índices de referencia para la codificación de campo, actualizados a partir de los primeros y segundos índices de referencia para la codificación de marco como se muestra en la Fig. 2, según las secciones (2.1) y (2.2) anteriores. Como se muestra en la Fig. 9, el mapeo ejecutado por la unidad de conversión de índices de referencia/números de imagen 109a en la presente realización no es independiente de la asignación de los índices de referencia para la codificación de campo superior y la codificación de campo inferior, sino que tiene una asignación común para tanto la codificación de campo superior como para la codificación de campo inferior.
En la presente realización, cuando se mezclan la codificación de campo y la codificación de marco en una imagen, el valor obtenido doblando el número máximo de índices de referencia para la codificación de marco se trata como el valor para la codificación de campo y, por lo tanto, el número de índices en la Fig. 2 es &quot;3&quot;, mientras que el número de índices en la Fig. 9 es &quot;6&quot;.
<Procesamiento de asignación de índices de referencia>
La Fig. 10 es un diagrama de flujo que muestra el procesamiento de asignación de índices de referencia ejecutado por la unidad de conversión de índices de referencia/números de imagen en el aparato de codificación.
En la Fig. 10, se asignan el mismo número de etapas al mismo procesamiento que en la Fig. 6, y el diagrama de flujo de la Fig. 10 es diferente del mostrado en la Fig. 6 en la que S26 y S31~S34 en la Fig. 6 se eliminan y S27 se ejecuta después de S23 en la Fig. 10. Debido a estas diferentes, el número de índices de referencia obtenido doblando el número de los índices de referencia para la codificación de marco se asigna como los índices de referencia para la codificación de campo, y además, los índices de referencia para la codificación de campo se asignan comúnmente tanto para la codificación de campo superior como para la codificación de campo inferior, como se muestra en la Fig. 9.
<Estructura del aparato de decodificación>
La Fig. 11 es un diagrama de bloques que muestra la estructura del aparato de decodificación en la segunda realización de la presente invención. El aparato de decodificación en la Fig. 11 es diferente del mostrado en la Fig. 7 en que el primero incluye una unidad de conversión de índices de referencia/números de imagen 206a, en lugar de la unidad de conversión de índices de referencia/números de imagen 206. La unidad de conversión de índices de referencia/números de imagen 206a es diferente de la Fig. 7 únicamente en que la anterior convierte los índices de referencia según el mapeo de (2.2), no el mapeo de (1.2).
<Procesamiento de conversión de los índices de referencia>
La unidad de conversión de índices de referencia/números de imagen 206a asigna números de imagen e índices de referencia usando el número máximo introducido de índices de referencia y los comandos de asignación de índices de referencia. Se asignan exactamente de la misma manera que para el aparato de codificación. En la presente realización, el valor obtenido doblando el valor del número máximo de índices de referencia para la codificación de marco se usa como el número máximo de índices de referencia para la codificación de campo. Por lo tanto, la asignación para la codificación de marco como se muestra en la Fig. 2 resulta ser la asignación para la codificación de campo como se muestra en la Fig. 9.
(Tercera realización)
<Descripción del aparato de codificación y el aparato de decodificación>
En primer lugar, se explicará la descripción del aparato de codificación y el aparato de decodificación en la presente realización.
El aparato de codificación y el aparato de decodificación en la presente realización realizan MBAFF, y para este fin, manejan el número máximo de los índices de referencia y la secuencia de comandos de las siguientes maneras (3.1) y (3.2).
(3.1) En cuanto al número máximo de los índices de referencia, el aparato de codificación describe el número máximo de índices de referencia para la codificación de marco en una corriente de bits que se va a transmitir cuando se mezclan la codificación de campo y la codificación de marco. El aparato de codificación maneja este número máximo de índices de referencia como el número de índices de referencia disponible en la codificación de marco y, en la codificación de campo, también maneja el número para la codificación de marco como el número de índices de referencia para la codificación de campo. Por ejemplo, si el número máximo de índices de referencia para la codificación de marco es 3, el aparato de codificación también maneja el número máximo de índices de referencia para la codificación de campo como 3.
(3.2) En cuanto a la secuencia de comandos, ya que se maneja de la misma manera que en (1.2), como se ha descrito al comienzo de la primera realización, se omite la explicación de la misma. Sin embargo, se usa el mismo valor que para el número máximo de índices de referencia proporcionado por (3.1) tanto para la codificación de marco como para la codificación de campo, por lo que solamente puede aplicarse el mismo número de índices de referencia que el que se muestra en la Fig. 2 a la codificación de campo (véase la Fig. 13).
<Estructura del aparato de codificación>
La Fig. 12 es un diagrama de bloques que muestra la estructura del aparato de codificación en la tercera realización de la presente invención. El aparato de codificación en esta figura es diferente del mostrado en la Fig. 1 en que el primero incluye una unidad de conversión de índices de referencia/números de imagen 109b, en lugar de la unidad de conversión de índices de referencia/números de imagen 109. La unidad de conversión de índices de referencia/números de imagen 109b es diferente de la mostrada en la Fig. 1 únicamente en que la primera trata el número de índices de referencia según (3.1), no según (1.1).
<Ejemplo de asignación de índices de referencia>
La Fig. 13 es una ilustración que muestra correspondencias de los primeros y segundos índices de referencia para la codificación de campo, actualizadas a partir de los primeros y segundos índices de referencia para la codificación de marco como se muestra en la Fig. 2, según las secciones (3.1) y (3.2) anteriores. Como se muestra en la Fig. 13, el mapeo ejecutado por la unidad de conversión de índices de referencia/números de imagen 109b en la presente realización es independiente de la asignación de índices de referencia a campos superiores y campos inferiores de la misma manera que la primera realización, pero es diferente en que el número máximo de índices de referencia para la codificación de campo es igual que el número máximo de índices de referencia para la codificación de marco.
<Estructura del aparato de decodificación>
La Fig. 14 es un diagrama de bloques que muestra la estructura del aparato de decodificación en la tercera realización de la presente invención. El aparato de decodificación en la Fig. 14 es diferente del que se muestra en la Fig. 7 en que el primero incluye una unidad de conversión de índices de referencia/números de imagen 206b, en lugar de la unidad de conversión de índices de referencia/números de imagen 206. La unidad de conversión de índices de referencia/números de imagen 206b es diferente de la mostrada en la Fig. 7 únicamente en que la primera realiza el procesamiento de conversión de índices de referencia según el número máximo descrito en (3.2), no el número máximo descrito en (1.1).
(Cuarta realización)
<Descripción del aparato de codificación y el aparato de decodificación>
En primer lugar, se explicará una descripción del aparato de codificación y el aparato de decodificación en la presente realización.
El aparato de codificación y el aparato de decodificación en la presente realización realizan MBAFF, y para este fin, manejan el número máximo de índices de referencia y la secuencia de comandos de las siguientes maneras (4.1) y (4.2).
(4.1) En cuanto al número máximo de índices de referencia, ya que se trata de la misma manera que en (3.1), como se ha descrito al comienzo de la tercera realización, se omite la explicación del mismo.
(4.2) Ya que es igual que en (2.2), como se ha descrito al comienzo de la segunda realización, se omite la explicación del mismo. Sin embargo, se usa el mismo valor como el número máximo de índices de referencia proporcionado por (4.1) tanto para la codificación de marco como para la codificación de campo, por lo que solamente puede aplicarse el mismo número de índices de referencia como se muestra en la Fig. 2 para la codificación de campo (véase la Fig. 16).
<Estructura del aparato de codificación>
La Fig. 15 es un diagrama de bloques que muestra la estructura del aparato de codificación en la cuarta realización de la presente invención. El aparato de codificación en esta figura es diferente del mostrado en la Fig. 8 en que el primero incluye una unidad de conversión de índices de referencia/números de imagen 109c, en lugar de la unidad de conversión de índices de referencia/números de imagen 109a. La unidad de conversión de índices de referencia/números de imagen 109c es diferente de la mostrada en la Fig. 8 únicamente en que la primera trata el número máximo de índices de referencia según (4.1), no según (2,1).
<Ejemplo de asignación de índices de referencia>
La Fig. 16 es una ilustración que muestra correspondencias de los primeros y segundos índices de referencia para la codificación de campo, actualizadas a partir de los primeros y segundos índices de referencia para la codificación de marco como se muestra en la Fig. 2, según las secciones (4.1) y (4.2) anteriores. Como se muestra en la Fig. 16, el mapeo ejecutado por la unidad de conversión de índices de referencia/números de imagen 109c en la presente realización es la asignación de índices de referencia comunes tanto para la codificación de campo superior como para la codificación de campo inferior, de la misma manera que la segunda realización, pero es diferente en que el número máximo de índices de referencia para la codificación de campo es el mismo que el número máximo de índices de referencia para la codificación de marco.
<Estructura del aparato de decodificación>
El aparato de decodificación en la presente realización puede ser igual que el aparato de decodificación de la segunda realización. Sin embargo, el primero es diferente del último en que el primero trata el número máximo de índices de referencia para la codificación de campo como el mismo número que el número máximo de índices de referencia para la codificación de marco, no el número doble.
(Quinta realización)
<Descripción del aparato de codificación y el aparato de decodificación>
En primer lugar, se explicará la descripción del aparato de codificación y el aparato de decodificación en la presente realización.
El aparato de codificación y el aparato de decodificación en la presente realización realizan MBAFF, y para este fin, tratan el número máximo de los índices de referencia y la secuencia de comandos en las siguientes maneras (5.1) y (5.2).
(5.1) En cuanto al número máximo de índices de referencia, ya que se trata de la misma manera que en (3.1), como se ha descrito al comienzo de la tercera realización, se omite la explicación del mismo.
(5.2) En cuanto a la secuencia de comandos, el aparato de codificación describe comandos para la codificación de marco en una corriente de bits que se va a transmitir. Como se describe usando la Fig. 37 y la Fig. 38, el aparato de codificación asigna índices de referencia para la codificación de marco con el fin de conseguir la codificación de marco. Obsérvese que las correspondencias de los índices de referencia se establecen por el procedimiento de asignación por defecto, como se describe usando la Fig. 37, si la secuencia de comandos no está codificada.
Adicionalmente, con el fin de conseguir la codificación de campo, la asignación de índices de referencia se actualiza en base a los índices de referencia asignados para la codificación de marco.
En la presente realización, de forma diferente de la primera realización, el valor del índice de referencia para la codificación de marco se asigna a un campo de la misma paridad que la de un macrobloque actual que se va a codificar, fuera de dos campos que constituyen un marco, como un índice de referencia para la codificación de campo, mientras que no se asigna ningún valor a un campo de la paridad opuesta (véase la Fig. 18).
En otras palabras, cuando el macrobloque actual pertenece al campo superior, el valor del índice de referencia para la codificación de marco se asigna al campo superior fuera de los dos campos anteriores, como un índice de referencia para la codificación de campo. Cuando el macrobloque actual pertenece al campo inferior, el valor del índice de referencia para la codificación de marco se asigna al campo inferior fuera de los dos campos anteriores, como un índice de referencia para la codificación de campo.
Por otro lado, el aparato de decodificación decodifica el número máximo de índices de referencia para la codificación de marco y los comandos de asignación incluidos en la corriente de bits transmitida, y usándolos, asigna las imágenes de referencia y los índices de referencia exactamente de la misma manera que para el aparato de codificación.
<Estructura del aparato de codificación>
La Fig. 17 es un diagrama de bloques que muestra la estructura del aparato de codificación en la quinta realización de la presente invención. El aparato de codificación en esta figura es diferente del mostrado en la Fig. 1, para su adaptación a las secciones (5.1) y (5.2) anteriores, en que el primero incluye una unidad de conversión de índices de referencia/números de imagen 109d, en lugar de la unidad de conversión de índices de referencia/números de imagen 109.
<Ejemplo de asignación de índices de referencia>
La Fig. 18 es una ilustración que muestra correspondencias de los primeros y segundos índices de referencia para la codificación de campo, actualizadas a partir de los primeros y segundos índices de referencia para la codificación de marco como se muestra en la Fig. 2, según las secciones (5.1) y (5.2) anteriores. Como se muestra en la Fig. 18, el valor del índice de referencia para la codificación de marco se aplica a un campo de la misma paridad que un macrobloque actual como el índice para la codificación de campo, mientras que no se aplica ningún índice a un campo de la paridad opuesta.
<Procesamiento de asignación de índices de referencia>
La Fig. 19 es un diagrama de flujo que muestra el procesamiento de asignación de índices de referencia ejecutado por la unidad de conversión de índices de referencia/números de imagen en el aparato de codificación. La Fig. 19 es diferente de la Fig. 6 en que se añade S81 en lugar de S27~S30 y se añade S82 en lugar de S31~S34.
<Estructura del aparato de decodificación>
La Fig. 20 es un diagrama de bloques que muestra la estructura del aparato de decodificación en la quinta realización de la presente invención. El aparato de decodificación de la Fig. 20 es diferente del que se muestra en la Fig. 7 en que el primero incluye una unidad de conversión de índices de referencia/números de imagen 206d, en lugar de la unidad de conversión de índices de referencia/números de imagen 206.
Según la misma operación que el mapeo de (5.2), la unidad de conversión de índices de referencia/números de imagen 206b ejecuta un mapeo de índices para la codificación de campo para campos superiores solo si un macrobloque actual que se va a decodificar está en un campo superior, y para campos inferiores solo si un macrobloque actual está en un campo inferior, respectivamente.
(Sexta realización)
<Descripción del aparato de codificación y el aparato de decodificación>
En primer lugar, se explicará la descripción del aparato de codificación y el aparato de decodificación en la presente realización.
El aparato de codificación y el aparato de decodificación en la presente realización realizan MBAFF, y para este fin, tratan el número máximo de los índices de referencia y la secuencia de comandos de las siguientes maneras (6.1) y (6.2). En este documento, los índices de referencia y los comandos son los mismos que los mostrados en la Fig. 37, y el número máximo de los índices de referencia es igual que el que se muestra en la Fig. 39.
(6.1) En cuanto al número máximo de índices de referencia, cuando tanto la codificación de campo como la codificación de marco se mezclan, el aparato de codificación no solo describe el número máximo de índices de referencia para la codificación de marco, sino también el número máximo de índices de referencia para la codificación de campo superior y el número máximo de índices de referencia para la codificación de campo inferior, respectivamente, en una corriente de bits que se va a transmitir.
El aparato de decodificación usa el número máximo de índices de referencia para la codificación de campo superior y el número máximo de índices de referencia para la codificación de campo inferior descrito en la corriente de bits.
(6.2) En cuanto a la secuencia de comandos, ya que es igual que en (1.2), se omite la explicación de la misma. Sin embargo, los índices de referencia para la codificación de campo superior se tratan de forma que no excedan el número máximo descrito en la corriente de bits. Lo mismo se aplica a los índices de referencia para la codificación de campo inferior.
Por otro lado, el aparato de decodificación decodifica los números máximos de los índices de referencia para la codificación de marco, la codificación de campo superior y la codificación de campo inferior y los comandos de asignación, que se incluyen en la corriente de bits transmitida, y usándolos, asigna las imágenes de referencia y los índices de referencia exactamente de la misma manera que para el aparato de codificación.
<Estructura del aparato de codificación y el aparato de decodificación>
El aparato de codificación y el aparato de decodificación en la presente realización pueden ser iguales que el aparato de codificación y el aparato de decodificación de la primera realización. Sin embargo, según el número máximo de índices de referencia para la codificación de campo superior y el número máximo de índices de referencia para la codificación de campo inferior, usan los valores descritos en la corriente de bits, no los valores obtenidos doblando los valores de los índices de referencia para la codificación de marco.
<Estructura de datos>
La Fig. 21 es un diagrama que muestra la estructura de los datos de la corriente de bits en la sexta realización de la presente invención. En esta figura, la primera imagen de referencia ref1 corresponde a Max_idx1 incluido en la información común de una imagen, y el número máximo de índices de referencia para la codificación de marco (Max_idx_frm), el número máximo de índices de referencia para la codificación de campo superior (Max_idx_top) y el número máximo de índices de referencia para la codificación de campo inferior (Max_idx_btm) se describen en Max_idx1.
La Fig. 22 es una ilustración que muestra un ejemplo de asignación de los primeros y segundos índices de referencia a números de imagen de campos en caso de codificación de campo. En esta figura, &quot;5&quot; se describe en Max_idx_top, mientras que &quot;6&quot; se describe en Max_idx_btm. De este modo, el aparato de codificación y el aparato de decodificación en la presente realización pueden ajustar el número máximo de campos de referencia de forma flexible para los campos superiores y los campos inferiores.
Obsérvese que el número máximo de índices de referencia para la codificación de campo superior y el número máximo de índices de referencia para la codificación de campo inferior se describen en una corriente de bits por separad (véase (6.1)), pero en su lugar puede describirse un número máximo común para tanto la codificación de campo superior como inferior.
En (6.2), al igual que en el caso de (1.2), el valor obtenido doblando el valor del índice de referencia para la codificación de marco se asigna a un campo de la misma paridad que un microbloque actual que se va a codificar, fuera de dos campos que constituyen un marco de referencia especificado por el índice de referencia y el comando para el marco, mientras que el valor obtenido doblando el valor de este índice de referencia para la codificación de marco y añadiendo 1 (x2 + 1) se asigna a otro campo de la paridad opuesta al microbloque actual, respectivamente, como índices de referencia para la codificación de campo (véase la Fig. 4). En su lugar, como en el caso de (2.2), el valor obtenido doblando el valor del índice de referencia para la codificación de marco puede asignarse a un campo superior, fuera de dos campos que constituyen un marco de referencia especificado por el índice de referencia y el comando para el marco, y puede asignarse el valor obtenido doblando el valor del índice de referencia para la codificación de marco y añadiendo 1 (x2 + 1) a un campo inferior, respectivamente, como índices de referencia para la codificación de campo (véase la Fig. 9).
(Séptima realización)
<Descripción del aparato de codificación y el aparato de decodificación>
En primer lugar, se explicará la descripción del aparato de codificación y el aparato de decodificación en la presente realización.
El aparato de codificación y el aparato de decodificación en la presente realización realizan MBAFF, y para este fin, manejan el número máximo de los índices de referencia y la secuencia de comandos de las siguientes maneras (7.1) y (7.2).
En este documento, los índices de referencia y los comandos son los mismos que los que se muestran en la Fig. 37, y el número máximo de los índices de referencia es igual que el que se muestra en la Fig. 39.
(7.1) En cuanto al número máximo de índices de referencia, ya que se trata exactamente de la misma manera que en (6.1), se omite la explicación del mismo.
(7.2) En cuanto a la secuencia de comandos, el aparato de codificación describe no solo los índices de referencia y los comandos para la codificación de marco, sino también los índices de referencia y los comandos para la codificación de campo superior y los índices de referencia y los comandos para la codificación de campo inferior en una corriente de bits que se va a transmitir. El aparato de codificación asigna los índices de referencia para la codificación de marco con el fin de conseguir la codificación de marco, mientras que asigna los índices de referencia para la codificación de campo superior y los índices de referencia para la codificación de campo inferior con el fin de conseguir la codificación de campo.
Por otro lado, el aparato de decodificación decodifica el número máximo de índices de referencia y los comandos de asignación para la codificación de marco, codificación de campo superior y codificación de campo inferior, incluidos en la corriente de bits transmitida, y usándolos, asigna las imágenes de referencia y los índices de referencia exactamente de la misma manera que para el aparato de codificación.
<Estructura del aparato de codificación>
La Fig. 23 es un diagrama de bloques que muestra la estructura del aparato de codificación en la séptima realización de la presente invención. El aparato de codificación en esta figura es diferente del mostrado en la Fig. 1 en que el primero incluye una unidad de conversión de índices de referencia/números de imagen 109e, en lugar de la unidad de conversión de índices de referencia/números de imagen 109.
La Fig. 24 es un diagrama que muestra un ejemplo de una estructura de datos de una corriente de bits de la presente realización. En esta figura, idx_cmd1 es un conjunto de comandos para la primera imagen de referencia ref1, e incluye idx_cmd_frm, idx_cmd_top e idx_cmd_btm. idx_cmd_frm es una secuencia de comandos para índices de referencia para la codificación de marco. idx_cmd_top es una secuencia de comandos para índices de referencia para la codificación de campo superior. idx_cmd_btm es una secuencia de comandos para los índices de referencia para la codificación de campo inferior.
La Fig. 25 es una ilustración que muestra un ejemplo de asignación de los primeros y segundos índices a números de imagen de campos en el caso de una codificación de campo. En esta figura, los índices de referencia para la codificación de campo superior y los índices de referencia para la codificación de campo inferior pueden asignarse independientemente a campos arbitrarios.
La Fig. 26 es un diagrama que muestra un ejemplo de correspondencias entre índices de referencia, comandos y números de imagen de campos en un caso de la Fig. 25.
La Fig. 27 es un diagrama de flujo que muestra el procesamiento de asignación de índices de referencia y comandos ejecutados por la unidad de conversión de índices de referencia/números de imagen 109e. Como se muestra en esta figura, la unidad de conversión de índices de referencia/números de imagen 109e asigna índices de referencia y comandos para la codificación de marco (S11), y cuando la codificación de marco y la codificación de campo se mezclan (S12), asigna índices de referencia y comandos para la codificación de campo superior (S93) y asigna adicionalmente índices de referencia y comandos para la codificación de campo inferior (S94).
Obsérvese que en la Fig. 27, no se asigna ningún comando en S11, S93 y S94 cuando se usan índices de referencia por defecto.
<Estructura del aparato de decodificación>
La Fig. 28 es un diagrama de bloques que muestra la estructura del aparato de decodificación en la séptima realización de la presente invención. La Fig. 28 incluye una unidad de conversión de índices de referencia/números de imagen 206e en lugar de la unidad de conversión de índices de referencia/números de imagen 206 en la Fig. 7. La unidad de conversión de índices de referencia/números de imagen 206e establece correspondencias entre números de imagen e índices de referencia para la codificación de marco, la codificación de campo superior y la codificación de campo inferior, respectivamente, usando comandos de asignación de índices para los introducidos a partir de la unidad de análisis de corrientes de bits 201.
En la presente realización, se describen por separado secuencias de comandos para la codificación de campo superior y codificación de campo inferior en una corriente de bits, pero pueden tener una secuencia de comandos común. La Fig. 29 es un diagrama que muestra la estructura de datos de la corriente de bits en este caso. En esta figura, idx_fld es una secuencia de comandos común a la codificación de campo superior y la codificación de campo inferior.
Obsérvese que el número máximo de índices de referencia para la codificación de campo como se ha descrito en
(7.1) no tiene que ser específica para la codificación de campo superior o la codificación de campo inferior, pero puede ser común para la codificación de campo superior y la codificación de campo inferior.
Además, los índices de referencia y comandos para la codificación de campo como se han descrito en (7.2) no tienen que ser específicos para la codificación de campo superior o la codificación de campo inferior, y pueden ser comunes para codificación de campo superior y la codificación de campo inferior.
Además, el aparato de decodificación en cada una de las realizaciones anteriores puede crear una tabla de referencia entre los índices de referencia para la codificación de campo y los números de imagen de campos antes de comenzar la decodificación de un segmento, y hace referencia a la tabla al decodificar un macrobloque codificado por campo.
(Octava realización)
Si un programa para realizar las estructuras del procedimiento de codificación de imágenes o el procedimiento de decodificación de imágenes como se ha mostrado en cada una de las realizaciones anteriores se graba en un medio de memoria, tal como un disco flexible, será posible realizar el procesamiento como se muestra en cada una de las realizaciones fácilmente en un sistema informático independiente.
Las Figs. 30A, 30B y 30C son ilustraciones que muestran el caso en el que la presente invención se pone en práctica en un sistema informático usando un disco flexible que almacena el procedimiento de codificación de imágenes o el procedimiento de decodificación de imágenes de la primera a la séptima realizaciones.
La Fig. 30B muestra una vista frontal y una vista en sección transversal de la apariencia de un disco flexible, y el propio disco flexible, y la Fig. 30A muestra un ejemplo de un formato físico de un disco flexible en forma de un cuerpo del medio de grabación. El disco flexible FD está contenido en una caja F, y una pluralidad de pistas Tr se forman concéntricamente sobre la superficie del disco en la dirección radial desde la periferia, y cada pista se divide en 16 sectores Se en la dirección angular. Por lo tanto, en cuanto al disco flexible disco que almacena el programa que se ha mencionado anteriormente, el procedimiento de codificación al igual que el programa se graba en un área asignada para éste en el disco flexible FD.
La Fig. 30C muestra la estructura para la grabación y la reproducción del programa en y desde el disco flexible FD. Cuando el programa se graba en el disco flexible FD, el procedimiento de codificación de imágenes o el procedimiento de decodificación de imágenes se escribe como un programa en el disco flexible desde el sistema informático Cs a través de una unidad de disco flexible. Cuando el procedimiento de codificación de imágenes se estructura en el sistema informático por el programa en el disco flexible, el programa se lee desde el disco flexible usando la unidad de disco flexible y se transfiere al sistema informático.
La explicación anterior se realiza en el supuesto de que un medio de grabación es un disco flexible, pero también puede realizarse el mismo procesamiento usando un disco óptico. Además, el medio de grabación no se limita a un disco flexible y un disco óptico, sino que puede usarse cualquier otro medio, tal como una tarjeta IC y un casete ROM capaz de grabar un programa.
(Novena realización)
La Fig. 31 a la Fig. 34 son ilustraciones de dispositivos para el procesamiento de codificación y el procesamiento de decodificación como se ha descrito en las realizaciones anteriores y un sistema que los usa.
La Fig. 31 es un diagrama de bloques que muestra la configuración general de un sistema de suministro de contenido ex100 para realizar el servicio de distribución de contenido. El área para proporcionar el servicio de comunicación se divida en celdas del tamaño deseado, y estaciones base ex107 a ex110 que se fijan a estaciones inalámbricas que se colocan en sus respectivas celdas.
En este sistema de suministro de contenido ex100, los dispositivos, tales como un ordenador ex111, una PDA (asistente personal digital) ex112, una cámara ex113, un teléfono móvil ex114 y un teléfono móvil equipado con cámara ex115 se conectan a la Internet ex101 a través de un proveedor de servicios de Internet ex102, una red de telefonía ex104 y estaciones base ex107 a ex110.
Sin embargo, el sistema de suministro de contenido ex100 no se limita a la configuración que se muestra en la Fig. 31, y puede conectarse una combinación de cualquiera de ellos. Además, cada dispositivo puede conectarse directamente a la red de telefonía ex104, no a través de las estaciones base ex107 a ex110.
La cámara ex113 es un dispositivo, tal como una cámara de video digital capaz de tomar imágenes en movimiento. El teléfono móvil puede ser un teléfono móvil de un sistema PDC (Personal Digital Communications-Sistema de Comunicaciones Digital Personal), un sistema CDMA (Code Division Multiple Access-Acceso Múltiple por División de Códigos), un sistema W-CDMA (Wideband-Code Division Multiple Access-Acceso Múltiple por División de Códigos de Banda Ancha) o un sistema GSM (Global System for Mobile Communications-Sistema Global para Comunicaciones Móviles), un PHS (Personal Handyphone system-Sistema Personal de Teléfono Móvil) o similares.
Un servidor de transmisión ex103 se conecta a la cámara ex113 a través de la estación base ex109 y la red de telefonía ex104, lo que permite la distribución en directo o similar usando la cámara ex113 en base a los datos codificados transmitidos por el usuario. La cámara ex113 o el servidor para transmitir los datos pueden codificar los datos tomados. Además, los datos de las imágenes en movimiento tomados por una cámara ex116 pueden transmitirse al servidor de transmisión ex103 a través del ordenador ex111. La cámara ex116 es un dispositivo, tal como una cámara digital capaz de tomar imágenes fijas y en movimiento. La cámara ex116 o el ordenador ex111 pueden codificar los datos de las imágenes en movimiento. Un LSI ex117 incluido en el ordenador ex111 o la cámara ex116 en realidad realiza el procesamiento de codificación. El software para la codificación y decodificación de imágenes en movimiento puede integrarse en cualquier tipo de medio de almacenamiento (tal como un CD-ROM, un disco flexible y un disco duro) que sea un medio de grabación que pueda leerse por el ordenador ex111 o similares. Además, el teléfono móvil equipado con cámara ex115 puede transmitir los datos de imágenes en movimiento. Estos datos de imágenes en movimiento son los datos codificados por el LSI incluido en el teléfono móvil ex115.
El sistema de suministro de contenido ex100 codifica los contenidos (tales como un video musical en directo) tomado por lo usuarios usando la cámara ex113, la cámara ex116 o similares, de la misma manera que la realización anterior, y los transmite al servidor de transmisión ex103, mientras que el servidor de transmisión ex103 hace la distribución del flujo de los datos de contenido a los clientes que lo soliciten. Los clientes incluyen el ordenador ex111, la PDA ex112, la cámara ex113, el teléfono móvil ex114 y así sucesivamente, capaces de decodificar los datos codificados que se han mencionado anteriormente. En el sistema de suministro de contenido ex100, los clientes reciben y reproducen de este modo los datos codificados, y adicionalmente, los clientes pueden recibir, decodificar y reproducir los datos en tiempo real a fin de realizar una transmisión personal.
Cuando cada dispositivo en este sistema realiza la codificación o decodificación, puede usarse el aparato de codificación de imágenes en movimiento o el aparato de decodificación de imágenes en movimiento, como se muestra en cada una de las realizaciones que se han mencionado anteriormente.
Se describirá un teléfono móvil como un ejemplo de dispositivo.
La Fig. 32 es un diagrama que muestra el teléfono móvil ex115 que usa el procedimiento de codificación de imágenes en movimiento y el procedimiento de decodificación de imágenes en movimiento que se ha explicado en las realizaciones anteriores. El teléfono móvil ex115 tiene una antena ex201 para enviar y recibir ondas de radio a y desde la estación base ex110, una unidad de cámara ex203, tal como un cámara CCD capaz de tomar video e imágenes fijas, una unidad de visualización ex202, tal como una pantalla de cristal líquido para visualizar los datos obtenidos por la decodificación de video y similares tomados por la unidad de cámara ex203 y recibidos a través de la antena ex201, una unidad de cuerpo que incluye un conjunto de teclas de operación ex204, una unidad de salida de voz ex208, tal como un altavoz para la salida de voz, una unidad de entrada de voz 205, tal como un micrófono para la entrada de voz, un medio de almacenamiento ex207 para almacenar datos codificados o decodificados, tales como datos de imágenes en movimiento o fijas tomadas por la cámara, y datos de texto y datos de imágenes en movimiento o fijas de los correos electrónicos recibidos, y una unidad de ranura ex206 para conectar el medio de almacenamiento ex207 al teléfono móvil ex115. El medio de almacenamiento ex207 incluye un elemento de memoria flash, un tipo de EEPROM (Electrically Erasable and Programmable Read Only Memory-Memoria de Solo Lectura Programable y Borrable Eléctricamente) que es una memoria no volátil que puede borrarse y reescribirse eléctricamente, en una caja plástica, tal como una tarjeta SD.
El teléfono móvil ex115 se explicará adicionalmente con referencia a la Fig. 33. En el teléfono móvil ex115, una unidad de control principal ex311 para controlar de forma general la unidad de visualización ex202 y la unidad de cuerpo que incluye las teclas de operación ex204 se conectan a una unidad de circuito de alimentación ex310, una unidad de control de entrada de operación ex304, una unidad de codificación de imágenes ex312, una unidad de interfaz de cámara ex303, una unidad de control LCD (Liquid Crystal Display-Pantalla de Cristal Líquido) ex302, una unidad de decodificación de imágenes ex309, una unidad múltiplex/demúltiplex ex308, una unidad de grabación/reproducción ex307, una unidad de circuito de módem ex306 y una unidad de procesamiento de voz ex305, y se conectan entre sí a través de un bus síncrono ex313.
Cuando una tecla de fin de llamada o una tecla de encendido se pulsa por operación del usuario, la unidad de circuito de alimentación ex310 suministra a las unidades respectivas de energía desde un paquete de baterías a fin de activar el teléfono móvil digital equipado con cámara ex115 para tenerlo listo para su uso.
En el teléfono móvil ex115, la unidad de procesamiento de voz ex305 convierte las señales de voz recibidas por la unidad de entrada de voz ex205 en el modo conversación en datos de voz digitales bajo el control de la unidad de control principal ex311 que incluye una CPU, ROM y RAM, la unidad de circuito de módem ex306 realiza el procesamiento de espectro propagado de los datos de voz digitales, y la unidad de envío/recepción ex301 realiza la conversión de digital a analógica y la transformación de la frecuencia de los datos, a fin de transmitirlos a través de la antena ex201. Además, en el teléfono móvil ex115, después de que los datos recibidos por la antena ex201 en el modo conversación se amplifiquen y se sometan a la transformación de frecuencia y la conversión de análogo a digital, la unidad de circuito de módem ex306 realiza el procesamiento de espectro propagado de los datos, y la unidad de procesamiento de voz ex305 los convierte en datos de voz analógicos, a fin de emitirlos a través de la unidad de salida de voz 208.
Además, al transmitir correo electrónico en el modo de comunicación de datos, los datos de texto del correo electrónico introducido por la operación con las teclas de operación ex204 en la unidad de cuerpo se envían a la unidad de control principal ex311 a través de la unidad de control de entrada de operaciones ex304. En la unidad de control principal ex311, después de que la unidad de circuito de módem ex306 realice el procesamiento de espectro propagado de los datos de texto y la unidad de circuito de envío/recepción ex301 realice la conversión de digital a analógico y la transformación de frecuencia de estos, los datos se transmiten a la estación base ex110 a través de la antena ex201.
Cuando los datos de imágenes se transmiten en el modo comunicación, los datos de imágenes tomados por la unidad de cámara ex203 se suministran a la unidad de codificación de imágenes ex312 a través de la unidad de interfaz de cámara ex303. Cuando los datos de imágenes no se transmiten, también es posible visualizar los datos de imágenes tomados por la unidad de cámara ex203 directamente en la unidad de visualización 202 a través de la unidad de interfaz de cámara ex303 y la unidad de control LCD ex302.
La unidad de codificación de imágenes ex312, que incluye el aparato de codificación de imágenes como se explica en la presente invención, comprime y codifica los datos de imágenes suministrados por la unidad de cámara ex203 mediante el procedimiento de codificación usado para el aparato de codificación de imágenes como se ha mostrado en las realizaciones anteriores a fin de transformarlos en datos de imágenes codificados, y los envía a la unidad múltiplex/demúltiplex ex308. En este momento, el teléfono móvil ex115 envía las voces recibidas por la unidad de entrada de voz ex205 durante la filmación por la unidad de cámara ex203 a la unidad múltiplex/demúltiplex ex308 en forma de datos de voz digitales a través de la unidad de procesamiento de voz ex305.
La unidad múltiplex/demúltiplex ex308 múltiplex los datos de imágenes codificados suministrados por la unidad de codificación de imágenes ex312 y los datos de voz suministrados por la unidad de procesamiento de voz ex305 mediante un procedimiento predeterminado, la unidad de circuito de módem ex306 realiza el procesamiento de espectro propagado de los datos multiplexados obtenidos como resultado de la multiplexación, y la unidad de circuito de envío/recepción ex301 realiza la conversión de digital a analógico y la transformación de frecuencia de los datos para su transmisión a través de la antena ex201.
En cuanto a la recepción de los datos de un archivo de imágenes en movimiento que se vincula a una página Web o similar en el modo de comunicación de datos, la unidad de circuito de módem ex306 realiza el procesamiento de espectro de propagación inverso de la señal recibida de la estación base ex110 a través de la antena ex201, y envía los datos multiplexados obtenidos como resultado del procesamiento a la unidad múltiplex/demúltiplex ex308.
Para decodificar los datos multiplexados recibidos a través de la antena ex201, la unidad múltiplex/demúltiplex ex308 separa los datos multiplexados en una corriente de bits de datos de imágenes y una corriente de bits de datos de voz, y suministra los datos de imágenes codificados a la unidad de decodificación de imágenes ex309 y los datos de voz a la unidad de procesamiento de voz ex305, respectivamente, a través del bus síncrono ex313.
A continuación, la unidad de decodificación de imágenes ex309, que incluye el aparato de decodificación de imágenes como se explica en la presente invención, decodifica la corriente de bits de los datos de imagen mediante el procedimiento de decodificación correspondiente al procedimiento de codificación como se ha mostrado en las realizaciones anteriores, para generar los datos de imágenes en movimiento reproducidos, y suministra estos datos a la unidad de visualización ex202 a través de la unidad de control LCD ex302, y de este modo se muestran los datos de imágenes en movimiento incluidos en un archivo de imágenes en movimiento, por ejemplo, vinculados a una página Web. Al mismo tiempo, la unidad de procesamiento de voz ex305 convierte los datos de voz en datos de voz analógicos, y suministra estos datos a la unidad de salida de voz ex208, y de este modo se reproducen los datos de voz incluidos en un archivo de imágenes en movimiento, por ejemplo, vinculados a una página Web.
La presente invención no se limita al sistema que se ha mencionado anteriormente, y al menos puede incorporarse el aparato de codificación de imágenes o el aparato de decodificación de imágenes en las realizaciones que se han mencionado anteriormente a un sistema para la difusión digital como se muestra en la Fig. 34. Dicha difusión digital terrestre o por satélite ha sido noticia últimamente. Más específicamente, una corriente de bits codificada de información de video se transmite desde una estación emisora ex409 a una satélite de comunicaciones o difusión ex410 a través de ondas de radio. Tras su recepción, el satélite de difusión ex410 transmite las ondas de radio para su difusión, una antena de uso doméstico ex406 con una función de recepción de difusión por satélite recibe las ondas de radio, y una televisión (receptor) ex401 o un sintonizador (STB) ex407 decodifica la corriente de bits para su reproducción. El aparato de decodificación de imágenes como se ha mostrado en las realizaciones que se han mencionado anteriormente puede ponerse en práctica en el aparato de reproducción ex403 para leer y decodificar la corriente de bits graba en el medio de almacenamiento ex402 que es un medio de grabación, tal como un CD y un DVD. En este caso, las señales de video reproducidas se visualizan en un monitor ex404. También se concibe para poner en práctica el aparato de decodificación de imágenes en el sintonizador ex407 conectado a un cable ex405 para una televisión por cable o la antena ex406 para la difusión por satélite y/o terrestre a fin de reproducirlas en un monitor ex408 de la televisión ex401. El aparato de decodificación de imágenes puede incorporarse en la televisión, no en el sintonizador. O, un coche ex412 que tiene una antena ex411 puede recibir señales desde el satélite ex410, la estación base ex107 o similares, para la reproducción de imágenes en movimiento en un dispositivo de visualización, tal como un sistema de navegación para coches ex413 en el coche ex412.
Además, el aparato de codificación de imágenes como se ha mostrado en las realizaciones que se han mencionado anteriormente puede codificar señales de imágenes para su grabación en un medio de grabación. Como un ejemplo concreto, existe un grabador ex420, tal como un grabador de DVD para grabar señales de imágenes en un disco DVD ex421 y un grabador de disco para grabarlas en un disco duro. Pueden grabarse en una tarjeta SD ex422. Si el grabador ex420 incluye el aparato de decodificación de imágenes como se muestra en las realizaciones que se han mostrado anteriormente, las señales de imágenes grabadas en el disco DVD ex421 o la tarjeta SD ex422 pueden reproducirse para su visualización en el monitor ex408.
Al igual que la estructura del sistema de navegación para coches ex413, la estructura sin la unidad de cámara ex203, la unidad de interfaz de cámara ex303 y una unidad de codificación de imágenes ex312 es concebible fuera de las unidades mostradas en la Fig. 33. Lo mismo se aplica al ordenador ex111, la televisión (receptor) ex401 y otros.
Además, pueden concebirse tres tipos de puestas en práctica para un terminal, tal como el teléfono móvil ex114 que se ha mencionado anteriormente; un terminal de envío/recepción que incluye tanto un codificador como un decodificador, un terminal de envío que incluye solo un codificador, y un terminal de recepción que incluye solo un decodificador.
Como se ha descrito anteriormente, es posible usar el procedimiento de codificación de imágenes en movimiento o el procedimiento de decodificación de imágenes en movimiento en las realizaciones que se han mencionado anteriormente en cualquiera de los aparatos y sistemas que se han mencionado anteriormente, y usando este procedimiento, pueden obtenerse los efectos que se han descrito en las realizaciones anteriores.
Aplicabilidad Industrial
La presente invención es adecuada para un aparato de codificación de imágenes para realizar la codificación con cambio entre codificación de marco y codificación de campo en una base bloque a bloque en una imagen y un aparato de decodificación de imágenes. Más específicamente, es adecuado para un servidor Web para la distribución de imágenes en movimiento, un terminal de red para recibirlas, una cámara digital para la grabación y reproducción de imágenes en movimiento, un teléfono móvil equipado con cámara, un grabador/reproductor de DVD, una PDA, un ordenador personal y similares.

Claims (8)

  1. REIVINDICACIONES
    1. Un procedimiento decodificador para decodificar un bloque mientras cambia entre decodificación de marco y decodificación de campo de forma adaptativa sobre una base bloque a bloque, comprendiendo dicho procedimiento:
    obtener, a partir de una corriente de bits, una secuencia de comandos para asignar cada uno de los índices de marco para la decodificación de marco a marcos de referencia respectivos;
    asignar cada uno de los índices de marco para la decodificación de marco a los marcos de referencia respectivos usando la secuencia de comandos,
    especificar dos campos que constituyan cada uno de los marcos especificados por cada uno de los índices de marco,
    en el que se asigna un primer valor a un campo que tiene una paridad igual que una paridad de un campo que incluye un bloque actual que se va a decodificar, fuera de los dos campos especificados, como cada uno de los índices de campo, obteniéndose el primer valor doblando un valor de cada uno de dichos índices de marco, y se asigna un segundo valor a otro campo que tiene una paridad diferente de una paridad del campo que incluye el bloque actual como cada uno de dichos índices de campo, obteniéndose el segundo valor añadiendo uno a dicho primer valor,
    especificar un marco de referencia que hace referencia a cuando un bloque se decodifica, usando un índice de referencia extraído de un área de información de bloque codificado y un índice de marco incluido en los índices de marco aginados, en el caso de que la decodificación de marco se realice en el bloque; y
    especificar un campo de referencia que hace referencia a cuando el bloque está decodificado, usando un índice de referencia extraído del área de formación de bloque codificado y un índice de campo para la decodificación de campo incluido en los índices de campo asignados, en el caso de que la decodificación de campo se realice en el bloque.
  2. 2. El procedimiento decodificador de acuerdo con la reivindicación 1, que comprende adicionalmente:
    obtener, a partir de la corriente de bits, información que indique un número máximo de índices de marco; y
    determinar un número máximo de índices de campo para doblar un valor del número máximo de índices de marco,
    en el que dicha especificación del campo de referencia incluye extraer el índice de referencia dentro de un intervalo del número máximo determinado de índices de campo.
  3. 3. Un aparato decodificador que decodifica un bloque mientras cambia entre decodificación de marco y decodificación de campo de forma adaptativa en una base bloque a bloque, comprendiendo dicho aparato:
    una unidad de obtención de comandos operable para obtener, a partir de una corriente de bits, una secuencia de comandos para asignar cada uno de los índices de marco para la decodificación de marco a marcos de referencia respectivos y para asignar cada uno de los índices de marco para la decodificación de marco a marcos respectivos usando la secuencia de comandos, en el que la unidad de obtención de comandos se adapta adicionalmente para especificar dos campos que constituyen cada uno de los índices de marco,
    en el que un primer valor se asigna a un campo que tiene una paridad igual que una paridad de un campo que incluye un bloque actual que se va a decodificar, fuera de los dos campos especificados, como cada uno de los índices de campo, obteniéndose el primer valor doblando un valor de cada uno de dichos índices de marco, y se asigna un segundo valor a otro campo que tiene una paridad diferente de una paridad del campo que incluye el bloque actual como cada uno de dichos índices de campo, obteniéndose el segundo valor añadiendo uno a dicho primer valor; y
    una unidad de especificación de marco/campo de referencia operable para
    (i)
    especificar un marco de referencia que hace referencia a cuando un bloque se decodifica, usando un índice de referencia extraído de un área de información de bloque codificado y un índice de marco incluido en los índices de marco asignados, en el caso de que la decodificación de marco se realice en el bloque, y
    (ii)
    especificar un campo de referencia que hace referencia a cuando el bloque está decodificado, usando un índice de referencia extraído del área de información de bloque codificado y un índice de campo para la decodificación de campo incluido en los índices de campo asignados, en el caso de que la decodificación de campo se realice en el bloque.
  4. 4.
    Un medio de almacenamiento de datos en el que se graba un programa para decodificar una señal de bloque codificado,
    en el que el programa hace que un ordenador ejecute el procesamiento mediante el procedimiento de decodificación según una de las reivindicaciones 1 a 2.
  5. 5.
    Un procedimiento de codificación para codificar un bloque mientras cambia entre codificación de marco y codificación de campo de forma adaptativa en una base bloque a bloque, comprendiendo dicho procedimiento:
    generar una secuencia de comandos para asignar cada uno de los índices de marco para la codificación de marco a marcos de referencia respectivos;
    asignar cada uno de los índices de marco para la codificación de marco a marcos de referencia respectivos usando la secuencia de comandos,
    especificar un marco de referencia que hace referencia a cuando un bloque está codificado, usando un índice de marco para la codificación de marco asignada por la secuencia de comandos, en el caso de que la codificación de marco se realice en el bloque;
    especificar un campo de referencia que hace referencia a cuando el bloque está codificado, usando un índice de campo para la codificación de campo que se genera usando el índice de marco, en el caso de que la codificación de campo se realice en el bloque;
    codificar, como un índice de referencia, el índice de marco que se usa para especificar el marco de referencia, en el caso de que la codificación de marco se realice en el bloque; y
    codificar, como un índice de referencia, el índice de campo que se usa para especificar el campo de referencia, en el caso de que la codificación de campo se realice en el bloque,
    en el que dicha especificación del campo de referencia incluye:
    especificar, como el índice de campo, un valor doble de un valor del índice de marco que se asigna a un marco de referencia que incluye el campo de referencia, en el caso de que el campo de referencia tenga la misma paridad que la paridad de un campo que incluye el bloque que se va a codificar; y
    especificar, como el índice de campo, un valor obtenido al añadir uno al valor doble del valor del índice de marco que se asigna al marco de referencia incluyendo el campo de referencia, en el caso de que el campo de referencia tenga una paridad diferente de la paridad del campo que incluye el bloque que se va a codificar.
  6. 6. El procedimiento de codificación según la reivindicación 5, que comprende adicionalmente:
    codificar la información que indica un número máximo de índices de marco para la codificación de marco; y
    determinar un número máximo de índices de campo para la codificación de campo para doblar el valor del número máximo de índices de marco para la codificación de marco,
    en el que dicha especificación del campo de referencia para la codificación de campo incluye determinar el índice de campo a fin de que el número de campos de referencia especificados no sea mayor que el número máximo determinado de índices de campo.
  7. 7. Un aparato codificador que codifica un bloque mientras cambia entre codificación de marco y codificación de campo de forma adaptativa en una base bloque a bloque, comprendiendo dicho aparato:
    una unidad de generación de comandos operable para generar una secuencia de comandos para asignar cada uno de los índices de marco para la codificación de marco con respecto a marcos de referencia respectivos y para asignar cada uno de los índices de marco para la codificación de marco con respecto a marcos de referencia respectivos usando la secuencia de comandos;
    una unidad de especificación de marco/campo de referencia operable para
    (i)
    especificar un marco de referencia que hace referencia a cuando un bloque está codificado, usando un índice de marco para la codificación de marco asignada por la secuencia de comandos, en el caso de que la codificación de marco se realice en el bloque, y
    (ii)
    especificar un campo de referencia que hace referencia a cuando el bloque está codificado, usando un índice de campo para la codificación de campo que se genera usando el índice de marco, en el caso de que la codificación de campo se realice en el bloque
    en el que dicha especificación del campo de referencia incluye:
    especificar, como el índice de campo, un valor doble de un valor del índice de marco que se asigna a un marco de referencia que incluye el campo de referencia, en el caso de que el campo de referencia tenga una paridad igual que una paridad de un campo que incluye el bloque que se va a codificar; y
    especificar, como el índice de campo, un valor obtenido añadiendo uno al valor doble del valor del índice de marco que se asigna al marco de referencia que incluye el campo de referencia, en el caso de que el campo de referencia tenga una paridad diferente de la paridad del campo que incluye el bloque que se va a codificar; y
    una unidad de codificación de índices de referencia operable para
    (iii) codificar, como un índice de referencia, el índice de marco que se usa para especificar el marco de referencia, en el caso de que la codificación de marco se realice en el bloque, y
    (iv) codificar, como un índice de referencia, el índice de campo que se usa para especificar el campo de referencia, en el caso de que la codificación de campo se realice en el bloque.
  8. 8. Un medio de almacenamiento de datos en el que se graba un programa para codificar una señal de imagen,
    en el que el programa hace que un ordenador ejecute la codificación mediante el procedimiento de codificación según una de las reivindicaciones 5 a 6.
ES03758914T 2002-11-25 2003-10-27 Procedimiento de codificación y decodificación de imágenes en movimiento. Expired - Lifetime ES2368908T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2002340392 2002-11-25
JP2002340392 2002-11-25

Publications (1)

Publication Number Publication Date
ES2368908T3 true ES2368908T3 (es) 2011-11-23

Family

ID=32375821

Family Applications (1)

Application Number Title Priority Date Filing Date
ES03758914T Expired - Lifetime ES2368908T3 (es) 2002-11-25 2003-10-27 Procedimiento de codificación y decodificación de imágenes en movimiento.

Country Status (14)

Country Link
US (12) US7881375B2 (es)
EP (1) EP1569459B1 (es)
JP (1) JP2011091846A (es)
KR (1) KR101040440B1 (es)
CN (2) CN100428803C (es)
AT (1) ATE523036T1 (es)
AU (1) AU2003275672C1 (es)
BR (3) BRPI0307119B1 (es)
CA (1) CA2473898C (es)
ES (1) ES2368908T3 (es)
MX (1) MXPA04007022A (es)
MY (1) MY139318A (es)
TW (2) TWI350699B (es)
WO (1) WO2004049727A1 (es)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1568622B (zh) 2002-08-08 2010-05-26 松下电器产业株式会社 图像编码方法及图像编码装置
BRPI0307119B1 (pt) 2002-11-25 2018-02-14 Godo Kaisha Ip Bridge 1 “Método e aparelho de decodificação de imagem móvel”
KR100693669B1 (ko) * 2003-03-03 2007-03-09 엘지전자 주식회사 피일드 매크로 블록의 레퍼런스 픽쳐 결정 방법
GB2436981B (en) * 2003-03-03 2007-11-21 Lg Electronics Inc Method of selecting a reference picture
US20050013498A1 (en) 2003-07-18 2005-01-20 Microsoft Corporation Coding of motion vector information
WO2005069633A1 (en) * 2004-01-08 2005-07-28 Koninklijke Philips Electronics, N.V. Distributing candidate vectors based on local motion complexity
US20050207490A1 (en) * 2004-03-18 2005-09-22 Wang Jason N Stored picture index for AVC coding
EP1753242A2 (en) * 2005-07-18 2007-02-14 Matsushita Electric Industrial Co., Ltd. Switchable mode and prediction information coding
KR100914713B1 (ko) * 2006-01-09 2009-08-31 엘지전자 주식회사 영상 신호의 레이어 간 예측 방법
EP2036360B1 (en) * 2006-06-30 2019-11-13 Telecom Italia S.p.A. Method, apparatus and system for robust video transmission with auxiliary information channel
JP4763549B2 (ja) * 2006-08-18 2011-08-31 富士通セミコンダクター株式会社 フレーム間予測処理装置、画像符号化装置、及び画像復号化装置
JP4358215B2 (ja) * 2006-09-27 2009-11-04 株式会社東芝 動画像符号化装置及びその方法
US20080080618A1 (en) * 2006-09-28 2008-04-03 Kazuya Takagi Video decoding apparatus and method of the same
JP2010063092A (ja) * 2008-08-05 2010-03-18 Panasonic Corp 画像符号化装置、画像符号化方法、画像符号化集積回路およびカメラ
US8335256B2 (en) * 2008-11-14 2012-12-18 General Instrument Corporation Motion compensation in video coding
KR101444691B1 (ko) * 2010-05-17 2014-09-30 에스케이텔레콤 주식회사 참조영상 구성 및 인덱싱 장치 및 방법
CN102685479A (zh) * 2011-03-11 2012-09-19 华为技术有限公司 视频编解码处理方法和装置
CN108235032B (zh) * 2012-01-18 2022-01-07 Jvc 建伍株式会社 动图像解码装置以及动图像解码方法
WO2013140807A1 (ja) * 2012-03-23 2013-09-26 株式会社Jvcケンウッド 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、送信装置、送信方法及び送信プログラム、並びに動画像復号装置、動画像復号方法、動画像復号プログラム、受信装置、受信方法及び受信プログラム
ES2850223T3 (es) 2012-04-16 2021-08-26 Samsung Electronics Co Ltd Procedimiento y aparato para determinar un conjunto de imágenes de referencia de una imagen
US9247196B1 (en) 2012-08-30 2016-01-26 Ambarella, Inc. High efficiency video coding for video with interlaced and progressive content using lookahead
JP6156497B2 (ja) * 2013-07-16 2017-07-05 富士通株式会社 動画像符号化装置、動画像符号化方法、及び動画像復号装置ならびに動画像復号方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3166835B2 (ja) * 1991-10-14 2001-05-14 株式会社ディーディーアイ 動画像の高能率符号化方法及び装置
JP3201079B2 (ja) * 1992-07-03 2001-08-20 ケイディーディーアイ株式会社 インターレース動画像信号の動き補償予測方法、符号化方法及び装置
JPH10145779A (ja) * 1996-11-06 1998-05-29 Sony Corp フィールド検出装置およびフィールド検出方法、画像符号化装置および画像符号化方法、並びに記録媒体および記録方法
KR100281329B1 (ko) * 1998-01-31 2001-02-01 전주범 이진 형상 신호의 모드 신호 부호화 방법 및 그 복원 방법
JPH11239351A (ja) 1998-02-23 1999-08-31 Nippon Telegr & Teleph Corp <Ntt> 動画像符号化方法、復号方法、符号化器、復号器、動画像符号化プログラムおよび動画像復号プログラムを記録した記録媒体
KR100328417B1 (ko) * 1998-03-05 2002-03-16 마츠시타 덴끼 산교 가부시키가이샤 화상부호화장치및화상복호화장치, 화상부보화방법 및 화상복호화방법, 및 데이터기억매체
JP2000350211A (ja) 1999-06-07 2000-12-15 Toshiba Corp 動画像符号化方法及び動画像符号化装置
US6980596B2 (en) * 2001-11-27 2005-12-27 General Instrument Corporation Macroblock level adaptive frame/field coding for digital video content
US20030099294A1 (en) * 2001-11-27 2003-05-29 Limin Wang Picture level adaptive frame/field coding for digital video content
EP2320661B8 (en) * 2001-11-29 2015-09-02 Godo Kaisha IP Bridge 1 Coding distortion removal method
JP4015934B2 (ja) * 2002-04-18 2007-11-28 株式会社東芝 動画像符号化方法及び装置
BRPI0307119B1 (pt) 2002-11-25 2018-02-14 Godo Kaisha Ip Bridge 1 “Método e aparelho de decodificação de imagem móvel”
DE102004054219B4 (de) * 2004-11-10 2008-03-06 Uhlmann Pac-Systeme Gmbh & Co Kg Vorrichtung zum Tiefziehen thermoformbarer Folie

Also Published As

Publication number Publication date
US20080069246A1 (en) 2008-03-20
TW200417257A (en) 2004-09-01
US9686552B2 (en) 2017-06-20
US20150326856A1 (en) 2015-11-12
US20120163454A1 (en) 2012-06-28
US9712841B2 (en) 2017-07-18
US8155188B2 (en) 2012-04-10
EP1569459B1 (en) 2011-08-31
US10412405B2 (en) 2019-09-10
JP2011091846A (ja) 2011-05-06
CN100428803C (zh) 2008-10-22
AU2003275672A1 (en) 2004-06-18
US7995651B2 (en) 2011-08-09
TWI350699B (en) 2011-10-11
BR0307119A (pt) 2004-12-28
MXPA04007022A (es) 2004-10-11
AU2003275672B2 (en) 2008-08-28
BRPI0318759B1 (pt) 2018-02-27
US20190020890A1 (en) 2019-01-17
US9998751B2 (en) 2018-06-12
CN101389024A (zh) 2009-03-18
MY139318A (en) 2009-09-30
ATE523036T1 (de) 2011-09-15
CA2473898C (en) 2013-02-12
KR20050083543A (ko) 2005-08-26
EP1569459A4 (en) 2007-07-11
BRPI0307119B1 (pt) 2018-02-14
US20150326855A1 (en) 2015-11-12
US10091522B2 (en) 2018-10-02
US9681136B2 (en) 2017-06-13
US20170280153A1 (en) 2017-09-28
TWI290802B (en) 2007-12-01
US20050041742A1 (en) 2005-02-24
US8483275B2 (en) 2013-07-09
CN101389024B (zh) 2010-09-29
AU2003275672C1 (en) 2009-04-30
WO2004049727A1 (ja) 2004-06-10
US20170280152A1 (en) 2017-09-28
US10097852B2 (en) 2018-10-09
BRPI0318759A8 (pt) 2016-04-26
US20110096843A1 (en) 2011-04-28
US20170041627A1 (en) 2017-02-09
KR101040440B1 (ko) 2011-06-09
CN1685733A (zh) 2005-10-19
EP1569459A1 (en) 2005-08-31
US7881375B2 (en) 2011-02-01
US20130272382A1 (en) 2013-10-17
US20170272772A1 (en) 2017-09-21
TW200711481A (en) 2007-03-16
US9124862B2 (en) 2015-09-01
BRPI0318759A2 (es) 2004-12-28
CA2473898A1 (en) 2004-06-10

Similar Documents

Publication Publication Date Title
ES2368908T3 (es) Procedimiento de codificación y decodificación de imágenes en movimiento.
ES2673393T3 (es) Procedimiento de codificación de imágenes en movimiento y procedimiento de descodificación de imágenes en movimiento
ES2388814T3 (es) Procedimiento de codificación de vectores de movimiento
DK2271108T3 (en) Method for encoding moving pictures and procedure to decode moving pictures
JP4767991B2 (ja) 画像符号化方法および画像符号化装置
JP5085671B2 (ja) 復号化システムおよび復号化装置
JP2004194297A (ja) 動画像の符号化方法および復号化方法
JP2007049746A (ja) 動画像の符号化方法および復号化方法