ES2608453T3 - Método de codificación de imágenes en movimiento y método de decodificación de imágenes en movimiento - Google Patents

Método de codificación de imágenes en movimiento y método de decodificación de imágenes en movimiento Download PDF

Info

Publication number
ES2608453T3
ES2608453T3 ES10186098.9T ES10186098T ES2608453T3 ES 2608453 T3 ES2608453 T3 ES 2608453T3 ES 10186098 T ES10186098 T ES 10186098T ES 2608453 T3 ES2608453 T3 ES 2608453T3
Authority
ES
Spain
Prior art keywords
image
images
block
target
coding
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
ES10186098.9T
Other languages
English (en)
Inventor
Satoshi Kondo
Shinya Kadono
Makoto Hagai
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 Intellectual Property Corp of America
Original Assignee
Panasonic Intellectual Property Corp of America
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 Intellectual Property Corp of America filed Critical Panasonic Intellectual Property Corp of America
Application granted granted Critical
Publication of ES2608453T3 publication Critical patent/ES2608453T3/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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • 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/109Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
    • 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/127Prioritisation of hardware or computational resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/16Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter for 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/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/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/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/43Hardware specially adapted for motion estimation or compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • 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
    • 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/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/58Motion compensation with long-term prediction, i.e. the reference frame for a current frame not being the temporally closest one
    • 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

Abstract

Un método de decodificación para decodificar imágenes plurales que constituyen una imagen en movimiento a partir de un flujo de bits, comprendiendo dicho método de decodificación: una etapa de extracción de primera y segunda informaciones para extraer, a partir del flujo de bits sobre una base imagen por imagen, o bien (i) una primera información que indica que una imagen objetivo, que es una de entre una imagen I, una imagen P, y una imagen B, puede ser una imagen de referencia a la que se hace referencia cuando se decodifica al menos una de las imágenes P que siguen a la imagen objetivo o cuando se decodifica al menos una de las imágenes B que siguen a la imagen objetivo, o (ii) una segunda información que indica que la imagen objetivo no puede ser una imagen de referencia a la que se hace referencia cuando se decodifica cada una de las imágenes P que siguen a la imagen objetivo o cuando se decodifica cada una de las imágenes B que siguen a la imagen objetivo; una etapa de extracción de tercera información para extraer, a partir del flujo de bits sobre una base imagen por imagen, (iii) una tercera información que indica una pluralidad de imágenes de referencia candidatas, siendo la imagen de referencia candidata una candidata para una imagen de referencia seleccionada de entre las imágenes para las cuales sólo se adjunta la primera información, cuando se decodifica una imagen P objetivo o cuando se decodifica una imagen B objetivo; una etapa de extracción de cuarta información para extraer, a partir del flujo de bits sobre una base bloque por bloque, (iv) una cuarta información que indica una imagen de referencia específica a la que se hace referencia cuando se realiza una decodificación predictiva en un bloque objetivo incluido en la imagen P objetivo o indica una o dos imágenes de referencia específicas a las que se hace referencia cuando se realiza una decodificación predictiva en un bloque objetivo incluido en la imagen B de objetivo; una etapa de almacenamiento para almacenar, imagen por imagen, la imagen objetivo en una memoria como una imagen de referencia candidata sólo cuando la primera información se extrae por la etapa de extracción de primera y segunda informaciones; y una etapa de decodificación para decodificar, sobre una base bloque por bloque, el bloque objetivo usando la citada imagen de referencia específica cuando se realiza la decodificación predictiva en el bloque objetivo incluido en la imagen P objetivo, o usando las citadas una o dos imágenes de referencia específicas a las que se hace referencia cuando se realiza la decodificación predictiva en el bloque objetivo incluido en la imagen B objetivo, en el que dicha una imagen de referencia específica se especifica, sobre una base bloque por bloque, de entre una pluralidad de imágenes de referencia candidatas que están almacenadas en la memoria, y el boque objetivo se decodifica predictivamente con referencia a la citada imagen de referencia específica cuando se realiza la decodificación predictiva en el bloque objetivo incluido en la imagen P objetivo, y en el que dichas una o dos imágenes de referencia específicas se especifican, sobre una base bloque por bloque, de entre una pluralidad de imágenes de referencia candidatas que están almacenadas en la memoria, y el bloque objetivo se decodifica predictivamente con referencia a las citadas una o dos imágenes de referencia específicas cuando se realiza la decodificación predictiva en el bloque objetivo incluido en la imagen B objetivo.

Description

5
10
15
20
25
30
35
40
45
50
DESCRIPCION
Metodo de codificacion de imagenes en movimiento y metodo de decodificacion de imagenes en movimiento Campo tecnico
La presente invencion se refiere a un metodo de codificacion de imagenes en movimiento y un metodo de decodificacion de imagenes en movimiento y, mas particularmente, a un metodo para codificar o decodificar imagenes que constituyen una imagen en movimiento, con referencia otras imagenes de la imagen en movimiento.
Antecedentes de la tecnica
Generalmente, en codificacion de imagenes que constituyen una imagen en movimiento, cada imagen se divide en bloques plurales y la codificacion compresiva (en lo sucesivo, tambien referida simplemente como “codificacion”) de informacion de imagen posefda por cada imagen se lleva a cabo para cada bloque, utilizando redundancias en la direccion de espacio y la direccion de tiempo de la imagen en movimiento. Como un proceso de codificacion que utiliza redundancia en la direccion de espacio, hay una codificacion dentro de una imagen que utiliza correlacion de valores de pixel en una imagen. Como un proceso de codificacion que utiliza redundancia en la direccion de tiempo hay una codificacion predictiva entre imagenes que utilizan correlacion de valores de pixel entre imagenes. La codificacion predictiva entre imagenes es un proceso de codificacion de una imagen objetivo a ser codificada, con referencia a una imagen que se coloca en cuanto al tiempo hacia delante de la imagen objetivo (imagen hacia delante) o una imagen que se coloca en cuanto al tiempo hacia atras de la imagen objetivo (imagen hacia atras).
La imagen hacia delante es una imagen cuyo tiempo de visualizacion es anterior al de la imagen objetivo y se coloca hacia delante de la imagen objetivo en un eje de tiempo indicando los tiempos de visualizacion de las imagenes respectivas (en lo sucesivo, referido como “eje de tiempo de visualizacion”). La imagen hacia atras es una imagen cuyo tiempo de visualizacion es posterior al de la imagen objetivo y se coloca hacia atras de la imagen objetivo en el eje de tiempo de visualizacion. Ademas, en la siguiente descripcion, una imagen a ser referida en la codificacion de la imagen objetivo se llama imagen de referencia.
En la codificacion predictiva entre imagenes, espedficamente, se detecta un vector de movimiento de la imagen objetivo con respecto a la imagen de referencia y se obtienen datos de prediccion para datos de imagenes de la imagen objetivo mediante compensacion de movimiento basada en el vector de movimiento. Entonces, se elimina la redundancia de datos de diferencia entre los datos de prediccion y los datos de imagen de la imagen objetivo en la direccion de espacio de la imagen, con lo que se lleva a cabo la codificacion compresiva de la cantidad de datos de la imagen objetivo.
Por otra parte, como un proceso para decodificar una imagen codificada, hay decodificacion dentro de una imagen que corresponde a la codificacion dentro de una imagen y la decodificacion entre imagenes que corresponde a la codificacion entre imagenes. En la decodificacion entre imagenes, se hace referencia a la misma imagen que una imagen a la que se hace referencia en la codificacion entre imagenes. Es decir, una imagen Xtg que se codifica con referencia a imagenes Xra y Xrb se decodifica con referencia a las imagenes Xra y Xrb.
Las figuras 43(a)-43(c) son diagramas que ilustran las imagenes plurales que constituyen una imagen en movimiento.
En la figura 43(a), se muestra una parte de las imagenes plurales que constituyen una imagen en movimiento Mpt, es decir, imagenes F(k)~F(k+2n-1) [k,n: enteros]. Los tiempos de visualizacion t(k)~t(k+2n-1) se fijan en las imagenes respectivas F(k)~F(k+2n-1). Como se muestra en la figura 43(a), las imagenes respectivas se disponen sucesivamente desde la que tiene el tiempo de visualizacion anterior en un eje de tiempo de visualizacion X que indica tiempos de visualizacion Tdis de las imagenes respectivas y estas imagenes se agrupan para cada numero predeterminado (n) de imagenes. Cada uno de estos grupos de imagenes se llaman un GOP (Grupo de Imagenes) y esta es una unidad minima de acceso aleatorio a datos codificados de una imagen en movimiento. En la siguiente descripcion, un grupo de imagenes algunas veces se abrevia como un GOP.
Por ejemplo, un grupo de imagenes de orden (i) Gp(i) esta constituido por imagenes F(k)~F(k+n-1). Un grupo de imagenes de orden (i+1) Gp(i+1) esta constituido por imagenes F(n+k)~F(k+2n-1).
Cada imagen se divide en segmentos plurales cada uno que comprende macrobloques plurales. Por ejemplo, un macrobloque es un area rectangular que tiene 16 pfxeles en la direccion vertical y 16 pfxeles en la direccion en la direccion horizontal. Ademas, como se muestra en la figura 43(b), una imagen F(k+1) se divide en segmentos plurales SL1~SLm [m: numero natural]. Un segmento SL2 esta constituido por macrobloques plurales MB1~MBr [r: numero natural] como se muestra en la figura 43(c).
La figura 44 es un diagrama para explicar datos codificados de una imagen en movimiento que ilustra una estructura de un flujo obtenido codificando las imagenes respectivas que constituyen la imagen en movimiento.
5
10
15
20
25
30
35
40
45
50
55
Un flujo Smp son datos codificados que corresponden a una secuencia de imagenes (por ejemplo, una imagen en movimiento). El flujo Smp se compone de un area (area de informacion comun) Cstr en la que se disponen flujos de bits que corresponden a informacion comun tal como una cabecera y un area (area GOP) Dgop en la que se disponen flujos de bits que corresponden a los GOP respectivos. El area de informacion comun Cstr incluye datos de sincronismo Sstr y una cabecera Hstr que corresponde al flujo. El area de GOP Dgop incluye flujos de bits Bg(1)~Bg(i-1), Bg(i), Bg(i+1)~Bg(I) que corresponden a grupos de imagenes (GOP) Gp(1)~Gp(i-1), Gp(i), Gp(i+1)~Gp(I) [i,I: enteros].
Cada flujo de bits que corresponde a cada GOP se compone de un area (area de informacion comun) Cgop en la que se disponen flujos de bits que corresponden a informacion comun tal como una cabecera y un area (area de imagen) Dpct en la que se disponen flujos de bits que corresponden a las imagenes respectivas. El area de informacion comun Cgop incluye datos de sincronismo Sgop y una cabecera Hgop que corresponde al GOP. Un area de imagen Dpct en el flujo de bits Bg(i) que corresponde al grupo de imagenes G(i) incluye flujos de bits Bf(k'), Bf(k'+1), Bf(k'+2), Bf(k'+3), ..., Bf(k'+s) que corresponden a imagenes F(k'), F(k'+1), F(k'+2), F(k'+3), ..., F(k'+s) [k', s: enteros]. Las imagenes F(k'), F(k'+1), F(k'+2), F(k'+3), ..., F(k'+s) se obtienen reordenando, en orden de codificacion, las imagenes F(k)~F(k+n-1) dispuestas en orden de tiempos de visualizacion.
Cada flujo de bits que corresponde a cada imagen se compone de un area (area de informacion comun) Cpct en la que se disponen flujos de bits que corresponden a informacion comun tal como una cabecera y un area (area de segmento) Dslc en la que se disponen flujos de bits que corresponden a los segmentos respectivos. El area de informacion comun Cpct incluye datos de sincronismo Spct y una cabecera Hpct que corresponde a la imagen. Por ejemplo, cuando la imagen F(k'+1) en la disposicion en orden de tiempos de codificacion (disposicion de orden de codificacion) es la imagen F(k+1) en la disposicion en orden de tiempos de visualizacion (disposicion de orden de visualizacion), el area de segmento Dslc en el flujo de bits Bf(k'+1) que corresponde a la imagen F(k'+1) incluye flujos de bits Bs1~Bsm que corresponden a los segmentos SL1~SLm respectivos.
Cada flujo de bits que corresponde a cada segmento se compone de un area (area de informacion comun) Cslc en la que se disponen flujos de bits que corresponden a informacion comun tal como una cabecera y un area (area de macrobloque) Dmb en la que se disponen flujos de bits que corresponden a los macrobloques respectivos. El area de informacion comun Cslc incluye datos de sincronismo Sslc y una cabecera Hslc que corresponde al segmento. Por ejemplo, cuando la imagen F(k'+1) en la disposicion de orden de codificacion es la imagen F(k+1) en la disposicion de orden de visualizacion, el area de macrobloque Dmb en el flujo de bits Bs2 que corresponde al segmento SL2 incluye flujos de bits Bm1~Bmr que corresponden a los macrobloques MB1~MBr respectivos.
Como se describio anteriormente, datos codificados que corresponden a una imagen en movimiento (es decir, una secuencia de imagenes) tienen una estructura jerarquica que comprende una capa de flujo que corresponde a un flujo Smp como los datos codificados, unas capas de GOP que corresponden a los GOP que constituyen el flujo, unas capas de imagenes que corresponden a imagenes que constituyen cada uno de los GOP y unas capas de segmentos que corresponden a segmentos que constituyen cada una de las imagenes.
Por cierto, en metodos de codificacion de imagenes en movimiento tales como MPEG (Grupo de Expertos de Imagenes en Movimiento)-1, MPEG-2, MPEG-4, recomendacion ITU-T H.263, H.26L, y similares, una imagen a ser sometida a codificacion dentro de una imagen se llama una imagen I y una imagen a ser sometida a codificacion predictiva entre imagenes se llama una imagen P o una imagen B.
En lo sucesivo, se describiran definiciones de una imagen I, una imagen P y una imagen B.
Una imagen I es una imagen a ser codificada sin hacer referencia a otra imagen. Una imagen P o imagen B es una imagen a ser codificada con referencia a otra imagen. Para ser exactos, una imagen P es una imagen para la cual se puede seleccionar o bien codificacion de modo I o bien codificacion de modo P cuando se codifica cada bloque en la imagen. Una imagen B es una imagen para la cual se puede seleccionar una de codificacion de modo I, codificacion de modo P y codificacion de modo B cuando se codifica cada bloque en la imagen.
La codificacion de modo I es un proceso de realizacion de codificacion dentro de una imagen para un bloque objetivo en una imagen objetivo sin hacer referencia a otra imagen. La codificacion de modo P es un proceso de realizacion de codificacion predictiva entre imagenes para un bloque objetivo en una imagen objetivo con referencia a una imagen ya codificada. La codificacion de modo B es un proceso de realizacion de codificacion predictiva entre imagenes para un bloque objetivo en una imagen objetivo con referencia a dos imagenes ya codificadas.
Una imagen a ser referida durante la codificacion de modo P o codificacion de modo B es una imagen I o una imagen B distinta de la imagen objetivo y puede ser o bien una imagen hacia delante colocada hacia delante de la imagen objetivo o bien una imagen hacia atras colocada hacia atras de la imagen objetivo.
No obstante, hay tres formas de combinar dos imagenes a ser referidas durante la codificacion de modo B. Es decir, hay tres casos de codificacion de modo B como sigue: un caso en el que se hace referencia a dos imagenes hacia delante, un caso en el que se hace referencia a dos imagenes hacia atras y un caso en el que se hace referencia a una imagen hacia delante y una imagen hacia atras.
5
10
15
20
25
30
35
40
45
50
55
La figura 45 es un diagrama para explicar un metodo de codificacion de imagenes en movimiento tal como el MPEG descrito anteriormente. La figura 45 ilustra realizaciones entre imagenes objetivo y las imagenes de referencia correspondientes (imagenes a ser referidas cuando se codifican las imagenes objetivo respectivas).
La codificacion de las imagenes respectivas F(k)~F(k+7), ..., F(k+17)~F(k+21) que constituye la imagen en movimiento se lleva a cabo con referencia a otras imagenes como se muestra por las flechas Z. Para ser espedficos, una imagen al final de una flecha Z se codifica mediante codificacion predictiva entre imagenes con referencia a una imagen al comienzo de la misma flecha Z. En la figura 45, las imagenes F(k)~F(k+7), ..., F(k+17)~F(k+21) son identicas a las imagenes F(k)~F(k+4), ..., F(k+n-2)~F(k+n+4), ..., F(k+2n-2), F(k+2n-1) mostradas en la figura 43(a). Estas imagenes se disponen sucesivamente desde una que tiene un tiempo de visualizacion anterior en el eje de tiempo de visualizacion X. Los tiempos de visualizacion de las imagenes F(k)~F(k+7), ..., F(k+17)~F(k+2l) son tiempos t(k)~t(k+7), ..., t(k+17)~t(k+2l). Los tipos de imagen de las imagenes F(k)~F(k+7) son I, B, B, P, B, B, P, B y los tipos de imagen de las imagenes F(k+17)~F(k+21) son B, P, B, B, P.
Por ejemplo, cuando se realiza la codificacion de modo B para la segunda imagen B F(k+1) mostrada en la figura 45, se hace referencia a la primera imagen I F(k) y a la cuarta imagen P F(k+3). Ademas, cuando se realiza la codificacion de modo P para la cuarta imagen P F(k+3) mostrada en la figura 45, se hace referencia a la primera imagen I F(k).
Aunque se hace referencia a una imagen hacia delante en codificacion de modo P de una imagen P en la figura 45, se puede hacer referencia a una imagen hacia atras. Ademas, aunque se hace referencia a una imagen hacia delante y una imagen hacia atras en la codificacion de modo B de una imagen B en la figura 45, se puede hacer referencia a dos imagenes hacia delante o dos imagenes hacia atras.
Ademas, en un metodo de codificacion de imagenes en movimiento tal como MPEG-4 o H.26L, se puede seleccionar un modo de codificacion llamado “modo directo” cuando se codifica una imagen B.
Las figuras 46(a) y 46(b) son diagramas para explicar una codificacion predictiva entre imagenes a ser realizada con el modo directo. La figura 46(a) muestra vectores en movimiento a ser usados en el modo directo.
En la figura 46(a), las imagenes P1, B2, B3 y P4 corresponden a las imagenes F(k+3)~F(k+6) [k=-2] mostradas en la figura 45 y los tiempos t(1), t(2), t(3) y t(4) (t(1)<t(2)<t(3)<t(4)) son tiempos de visualizacion de las imagenes P1, B2, B3 y P4, respectivamente. Ademas, X es un eje de tiempo de visualizacion que indica tiempos de visualizacion Tdis.
En lo sucesivo, se describira espedficamente un caso en el que un bloque BL3 en la imagen B3 se codifica en el modo directo.
En este caso, una imagen objetivo a ser codificada es la imagen B3 y un bloque objetivo a ser codificado es un bloque BL3.
En la codificacion predictiva del bloque BL3 en la imagen B3, se usa un vector de movimiento MV4 de un bloque BL4 en la imagen P4, cuyo bloque se ha codificado mas recientemente y se coloca hacia atras de la imagen B3. La posicion relativa del bloque BL4 a la imagen P4 es igual a la posicion relativa del bloque BL3 a la imagen B3. Es decir, como se muestra en la figura 46(b), las coordenadas (x4, y4) de un origen Ob4 del bloque BL4 con respecto a un origen 04 de la imagen P4 son iguales a las coordenadas (x3, y3) de un origen Ob3 del bloque BL3 con respecto a un origen 03 de la imagen P3. Ademas, el vector de movimiento MV4 del bloque BL4 es el vector de movimiento que se usa en la codificacion predictiva del bloque BL4. El vector de movimiento MV4 del bloque BL4 se obtiene mediante deteccion de movimiento del bloque BL4 con referencia a la imagen hacia delante P1 y muestra una region R4f que corresponde al bloque BL4, de la imagen hacia delante P1.
Entonces, el bloque BL3 en la imagen B3 se somete a codificacion predictiva bidireccional con referencia a la imagen hacia delante P1 y la imagen hacia atras P4, usando los vectores de movimiento MV3f y MV3b que son paralelos al vector de movimiento MV4. El vector de movimiento MV3f indica una region R3f que corresponde al bloque BL3, de la imagen hacia delante P1 a ser referida cuando se codifica el bloque BL3. El vector de movimiento MV3b indica una region R3b que corresponde al bloque BL3, de la imagen hacia atras P4 a ser referida cuando se codifica el bloque BL3.
Por cierto, la recomendacion de la ITU-T (H.263++ Anexo U) describe acerca de un marco en un caso en el que las imagenes plurales se usan como candidatas para una imagen de referencia. En esta descripcion, una memoria de imagenes de referencia para contener datos de imagen de imagenes a ser candidatas para una imagen de referencia (imagenes candidatas) se clasifica en una memoria de imagenes a corto plazo y una memoria de imagenes a largo plazo. La memoria de imagenes a corto plazo es un area de memoria para contener datos de imagenes candidatas que son en cuanto al tiempo cercanas a una imagen objetivo (imagenes candidatas colindantes). La memoria de imagenes a largo plazo es un area de memoria para contener imagenes candidatas que estan en cuanto al tiempo alejadas de la imagen objetivo (imagenes candidatas distantes). Para ser espedficos, una imagen candidata distante esta separada de la imagen objetivo por tal distancia que el numero de imagenes candidatas de la imagen objetivo a la imagen candidata distante excede el numero de imagenes candidatas que se pueden almacenar en la memoria de imagenes a corto plazo.
5
10
15
20
25
30
35
40
45
50
Ademas, la recomendacion de la ITU-T (H.263++ Anexo U) describe acerca de un metodo de utilizacion de la memoria de imagenes a corto plazo y la memoria de imagenes a largo plazo y, ademas, tambien describe un metodo para designar indices de imagenes de referencia (en lo sucesivo, tambien referidos simplemente como indices de referencia) a imagenes.
Inicialmente, se describira brevemente el metodo de designacion de indices de referencia a imagenes.
Las figuras 47(a) y 47(b) son diagramas para explicar el metodo de designacion de indices de referencia a imagenes plurales que constituyen una imagen en movimiento. La figura 47(a) muestra candidatas (imagenes candidatas) para una imagen a ser referida cuando se codifica una imagen P16. La figura 47(b) muestra candidatas (imagenes candidatas) para una imagen a ser referida cuando se codifica una imagen B15.
En la figura 47(a), las imagenes P4, B2, B3, P7, B5, B6, P10, B8, B9, P13, B11, B12, P16, B14, B15, P19, B17 y P18 se obtienen reordenando las imagenes F(k+1)~F(k+17) [k=1] mostradas en la figura 45 en orden de codificacion. La asignacion de imagenes plurales mostradas en la figura 47(a) es una disposicion de imagenes en un eje de tiempo (eje de tiempo de codificacion) Y que indica tiempos (tiempos de codificacion) Tenc para codificar las imagenes respectivas.
Una descripcion se dara de un caso en el que, como se muestra en la figura 47(a), un bloque en la imagen P P16 se somete a codificacion de modo P.
En este caso, entre cuatro imagenes P hacia delante (imagenes P4, P7, P10 y P13), se hace referencia a una imagen adecuada para codificacion. Es decir, las imagenes P hacia delante P4, P7, P10 y P13 son imagenes candidatas que se pueden designar como una imagen de referencia en la realizacion de codificacion de modo P de la imagen P16. Estas imagenes candidatas P4, P7, P10 y P13 son indices de referencia asignados, respectivamente.
Cuando se asignan indices de referencia a estas imagenes candidatas, un mdice de referencia que tiene un valor menor se asigna a una imagen candidata mas cercana a la imagen objetivo P16 a ser codificada. Para ser espedficos, como se muestra en la figura 47(a), los indices de referencia [0], [1], [2] y [3] se asignan a las imagenes P13, P10, P7 y P4, respectivamente. Ademas, se describe informacion que indica los indices de referencia asignados a las imagenes candidatas respectivas como un parametro de compensacion de movimiento en un flujo de bits que corresponde a un bloque objetivo en la imagen Pl6.
A continuacion, se dara una descripcion de un caso en el que, como se muestra en la figura 47(b) un bloque en la imagen B B15 se somete a codificacion de modo B.
En este caso, entre cuatro imagenes hacia delante (imagenes P4, P7, P10 y P13) y una imagen hacia atras (imagen P16), se hace referencia a dos imagenes adecuadas para codificacion. Es decir, las imagenes hacia delante P4, P7, P10 y P13 y la imagen hacia atras P16 son imagenes candidatas que se pueden designar como imagenes de referencia la codificacion de modo B para la imagen B B15. Cuando cuatro imagenes hacia delante y una imagen hacia atras son imagenes candidatas, a las imagenes hacia delante P4, P7, P10 y P13 se asignan indices de referencia y a la imagen hacia atras P16 se asigna un codigo [b] que indica que esta imagen es una imagen candidata a ser referida hacia atras.
En la asignacion de indices de referencia a las imagenes candidatas, en cuanto a imagenes hacia delante como imagenes candidatas, un mdice de referencia menor se asigna a una imagen hacia delante (imagen candidata) mas cercana a la imagen objetivo B15 a ser codificada sobre el eje de tiempo de codificacion Y. Para ser espedficos, como se muestra en la figura 47(b), los indices de referencia [0], [1]. [2] y [3] se asignan a las imagenes Pl3, P10, P7 y P4, respectivamente. Ademas, se describe informacion que indica el mdice de referencia asignado a cada imagen candidata, como un parametro de imagen en movimiento, en un flujo de bits que corresponde a un bloque objetivo en la imagen B15.
A continuacion, el metodo de asignacion de indices de referencia, que se describe en la recomendacion de la ITU-T (H.263++ Anexo U), se describira en asociacion con el metodo de utilizacion de la memoria de imagenes a corto plazo y la memoria de imagenes a largo plazo.
En la memoria de imagenes a corto plazo, las imagenes candidatas que se pueden designar como una imagen de referencia para una imagen objetivo se almacenan sucesivamente y a las imagenes candidatas almacenadas se asignan indices de referencia en orden de almacenamiento en la memoria (es decir, en el orden de decodificacion o el orden de flujos de bits). Ademas, cuando se decodifica una imagen B, una imagen que se ha almacenado mas recientemente en la memoria se trata como una imagen de referencia hacia atras mientras que a las otras imagenes se asignan indices de referencia en orden de almacenamiento en la memoria.
En lo sucesivo, se dara una descripcion de un caso en el que se pueden usar cuatro imagenes hacia delante como candidatas para una imagen de referencia para una imagen objetivo.
5
10
15
20
25
30
35
40
45
50
Las figuras 48(a) y 48(b) son diagramas que ilustran parte de imagenes plurales que constituyen una imagen en movimiento, en las que se disponen imagenes en orden de visualizacion (48(a)) y se disponen imagenes en orden de codificacion (48(b)). La imagenes P1, B2, B3, P4, B5, B6, P7, B8, B9, P10, B11, B12, P13, B14, B15, P16, B17, B18 y P19 mostradas en la figura 48(a) corresponden a las imagenes F(k+3)~F(k+21) [k=-2] mostradas en la figura 45.
La figura 49 es un diagrama para explicar la gestion de una memoria para imagenes de referencia para las imagenes dispuestas como se describio anteriormente.
En la figura 49, imagenes ya codificadas que se almacenan en la memoria de imagenes de referencia cuando se codifican imagenes objetivo se muestran en asociacion con numeros de memoria logica que corresponden a areas de memoria en las que se almacenan las imagenes ya codificadas e indices de referencia asignados a las imagenes ya codificadas.
En la figura 49, las imagenes P16, B14 y B15 son imagenes objetivo. Los numeros de memoria logica (0) ~ (4) indican posiciones logicas (areas de memoria) en la memoria de imagenes de referencia. Cuanto mas tardm sea el tiempo de codificacion (o decodificacion) una imagen ya procesada almacenada en un area de memoria, menor sera el numero de memoria logica que corresponden al area de memoria.
En lo sucesivo, se describira mas espedficamente la gestion de la memoria de imagenes de referencia.
Cuando se codifica (decodifica) la imagen P16, las imagenes P13, P10, P7 y P4 se almacenan en las areas de memoria indicadas por los numeros de memoria logica (0), (1), (2) y (3) en la memoria de imagenes de referencia, respectivamente. A las imagenes, P13, P10, P7 y P4 se asignan los indices de referencia [0], [1], [2] y [3], respectivamente.
Cuando se codifican (se decodifican) las imagenes B14 y B15, las imagenes P16, P13, P10, P7 y P4 se almacenan en las areas de memoria indicadas por los numeros de memoria logica (0), (1), (2), (3) y (4) en la memoria de imagenes de referencia, respectivamente. En este momento, a la imagen P16 se asigna un codigo [b] que indica que esta imagen es una imagen candidata para referida hacia atras y a las imagenes candidatas restantes P13, P10, P7 y P4 a ser referidas hacia atras se asignan los indices de referencia [0], [1], [2] y [3], respectivamente.
La informacion que indica los indices de referencia asignados a las imagenes candidatas respectivas es un parametro de compensacion de movimiento y, cuando se codifica un bloque en una imagen objetivo, se describe en un flujo de bits que corresponde al bloque como informacion que indica cual de las imagenes candidatas plurales se debena usar como una imagen de referencia. En este momento, un codigo mas corto se asigna a un mdice de referencia menor.
En el metodo de codificacion convencional descrito anteriormente, no obstante, dado que una imagen I o una imagen P se designa como una imagen de referencia cuando se realiza codificacion predictiva para un bloque en una imagen B, se podna aumentar una distancia (en lo sucesivo, tambien referida como una distancia basada en tiempo) entre la imagen objetivo y la imagen de referencia sobre el eje de tiempo de visualizacion.
Por ejemplo, en la codificacion predictiva sobre un bloque en la imagen B B15 mostrada en la figura 48(b), cuando la imagen hacia delante P13 y la imagen hacia atras P16 se designan como imagenes de referencia, la distancia basada en el tiempo Ltd (=t(15)-t(13)) entre la imagen B B15 (imagen objetivo) y la imagen hacia delante P13 (imagen de referencia) llega a ser un intervalo de dos imagenes (2Pitv) como se muestra en la figura 50(a).
Ademas, en la codificacion predictiva para un bloque en la imagen B B15 mostrada en la figura 48(b), cuando las imagenes hacia delante P13 y P10 se designan como imagenes de referencia, la distancia basada en el tiempo Ltd (=t(15)-t(10)) entre la imagen B B15 (imagen objetivo) y la imagen hacia delante P10 (imagen de referencia) llega a ser un intervalo de cinco imagenes (5Pitv) como se muestra en la figura 50(b).
Especialmente cuando se aumenta el numero de imagenes B insertadas entre una imagen I y una imagen P o entre dos imagenes P adyacentes, se aumenta la distancia basada en el tiempo Ltd entre la imagen objetivo y la imagen de referencia, provocando una reduccion considerable en eficiencia de codificacion.
Ademas, en el metodo de codificacion convencional, cuando se realiza codificacion de modo B en la cual se puede hacer referencia a imagenes hacia atras plurales, hay casos en los que a una imagen colindante que es en cuanto al tiempo cercana a una imagen objetivo se asigna un mdice de referencia mayor que un mdice de referencia asignado a una imagen distante que esta en cuanto al tiempo alejada de la imagen objetivo.
En este caso, en la deteccion de movimiento para un bloque en la imagen objetivo, va a ser probablemente hecha referencia a una imagen candidata que es en cuanto al tiempo mas cercana a la imagen objetivo, en otras palabras, una imagen candidata que es en cuanto al tiempo mas cercana a la imagen objetivo va a ser probablemente designada como una imagen de referencia, provocando degradacion de la eficiencia de codificacion.
5
10
15
20
25
30
35
40
45
50
En lo sucesivo, se dara una descripcion de un caso en el que se hace referencia a dos imagenes hacia atras P16 y P19 en la codificacion de modo B para un bloque en una imagen B B15 mostrada en la figura 51(a).
En este caso, las imagenes B2, B3, P4, B5, B6, P7, B8, B9, P10, B11, B12, P13, B14, B15, P16, B17, B18 y P19 que se disponen en orden de visualizacion como se muestra en la figura 51(a) se reordenan en orden de codificacion, dando como resultado P7, B2, B3, P10, B5, B6, P13, B8, B9, P16, B11, B12, P19, B14 y B15 como se muestra en la figura 51(b).
Ademas, en este caso, entre tres imagenes hacia delante (imagenes P7, P10 y P13) y dos imagenes hacia atras (imagenes P16 y P19), se hace referencia a dos imagenes adecuadas para codificacion. Para ser espedficos, las imagenes hacia delante P7, P10 y P13 y las imagenes hacia atras P16 y P19 son imagenes candidatas que se pueden designar como una imagen de referencia cuando se codifica un bloque en la imagen B15. Cuando tres imagenes hacia delante y dos imagenes hacia atras son imagenes candidatas como se describio anteriormente, los indices de referencia se asignan a las imagenes hacia delante P7, P10 y P13 y las imagenes hacia atras P16 y P19.
En la asignacion de indices de referencia a las imagenes candidatas, un mdice de referencia menor se asigna a una imagen candidata que es mas cercana a la imagen objetivo B15 a ser codificada en el eje de tiempo de codificacion Y. Para ser espedficos, como se muestra en la figura 51(b), los indices de referencia [0], [1], [2], [3] y [4] se asignan a las imagenes P19, P16, P13, P10 y P7, respectivamente.
En este caso, no obstante, el mdice de referencia [1] asignado a la imagen P P16 que es el mas cercano a la imagen objetivo (imagen B B15) en el eje de tiempo de visualizacion X llega a ser mayor que el mdice de referencia [0] asignado a la imagen P P19 que esta lejos de la imagen B B15, provocando degradacion de la eficiencia de codificacion.
La presente invencion se hace para resolver los problemas descritos anteriormente y tiene para su objeto proporcionar un metodo de codificacion de imagenes en movimiento que puede evitar una reduccion en la eficiencia de codificacion debida a un aumento en una distancia basada en el tiempo entre una imagen objetivo y una imagen de referencia y un metodo de decodificacion de imagenes en movimiento que corresponde al metodo de codificacion de imagenes en movimiento que puede evitar una reduccion en la eficiencia de codificacion.
Ademas, otro objeto de la presente invencion es proporcionar un metodo de codificacion de imagenes en movimiento que pueda asignar indices de referencia a las imagenes candidatas a las que se puede hacer referencia en la codificacion predictiva, sin degradar la eficiencia de codificacion, y un metodo de decodificacion de imagenes en movimiento que corresponde al metodo de codificacion de imagenes en movimiento que puede evitar la degradacion en la eficiencia de codificacion.
Descripcion de la invencion
Segun la presente invencion, se proporciona un metodo de decodificacion de imagenes en movimiento como se define en la reivindicacion 1 y un aparato de decodificacion como se define en la reivindicacion 2.
Breve descripcion de los dibujos
La figura 1 es un diagrama de bloques para explicar un aparato de codificacion de imagenes en movimiento segun una primera realizacion de la presente invencion.
Las figuras 2(a) y 2(b) son diagramas esquematicos para explicar un metodo de codificacion de imagenes en movimiento segun la primera realizacion, en la que la figura 2(a) muestra imagenes dispuestas en orden de visualizacion y la figura 2(b) muestra imagenes dispuestas en orden de codificacion.
La figura 3 es un diagrama esquematico para explicar el aparato de codificacion de imagenes en movimiento segun una primera realizacion y un aparato de decodificacion de imagenes en movimiento segun una segunda realizacion, que ilustra un metodo para gestionar colectivamente imagenes P y B en una memoria.
Las figuras 4(a) y 4(b) son diagramas para explicar la primera realizacion, que ilustran un primer ejemplo (4(a)) y un segundo ejemplo (4(b)) de codificacion de modo directo (para la imagen B11).
Las figuras 5(a) y 5(b) son diagramas para explicar la primera realizacion, que ilustran un tercer ejemplo (5(a)) y un cuarto ejemplo (5(b)) de codificacion de modo directo (para la imagen B11).
Las figuras 6(a)-6(c) son diagramas para explicar la primera realizacion, que ilustran un quinto ejemplo (6(a)) de codificacion de modo directo (para la imagen B11), un bloque de salto (6(b)) y un identificador de salto (6(c)).
Las figuras 7(a) y 7(b) son diagramas para explicar la primera realizacion, que ilustran un primer ejemplo (7(a)) y un segundo ejemplo (7(b)) de codificacion de modo directo (para la imagen B12).
Las figuras 8(a) y 8(b) son diagramas para explicar la primera realizacion, que ilustran un tercer ejemplo (8(a)) y un cuarto ejemplo (8(b)) de codificacion de modo directo (para la imagen B12).
5
10
15
20
25
30
35
40
45
Las figuras 9(a) y 9(b) son diagramas para explicar la primera realizacion, que ilustran un primer ejemplo (9(a)) y un segundo ejemplo (9(b)) de codificacion en los que se hace referencia a una imagen B colocada hacia delante de una imagen P hacia delante mas cercana.
Las figuras 10(a) y 10(b) son diagramas para explicar la primera realizacion, que ilustran un primer ejemplo (10(a)) y un segundo ejemplo (10(b)) de codificacion en los que no se hace referencia a una imagen B colocada hacia delante de una imagen I o P hacia delante mas cercana.
La figura 11 es un diagrama para explicar la primera y segunda realizaciones, que ilustra un primer metodo para gestionar imagenes P e imagenes B en una memoria, separadamente unas de otras.
La figura 12 es un diagrama para explicar la primera y segunda realizaciones, que ilustra un segundo metodo para gestionar imagenes P e imagenes B en una memoria, separadamente unas de otras.
La figura 13 es un diagrama para explicar la primera y segunda realizaciones, que ilustra un tercer metodo para gestionar imagenes P e imagenes B en una memoria, separadamente unas de otras.
La figura 14 es un diagrama para explicar la primera y segunda realizaciones, que ilustra un cuarto metodo para gestionar imagenes P e imagenes B en una memoria, separadamente unas de otras.
La figura 15 es un diagrama de bloques para explicar un aparato de decodificacion de imagenes en movimiento segun la segunda realizacion de la invencion.
Las figuras 16(a) y 16(b) son diagramas esquematicos para explicar un metodo de decodificacion de imagenes en movimiento segun la segunda realizacion, en las que la figura 16(a) muestra imagenes dispuestas en orden de decodificacion y la figura 16(b) muestra imagenes dispuestas en orden de visualizacion.
La figura 17 es un diagrama para explicar la segunda realizacion, que ilustra decodificacion predictiva bidireccional (para la imagen B11)
Las figuras 18(a) y 18(b) son diagramas para explicar la segunda realizacion, que ilustran un primer ejemplo (18(a)) y un segundo ejemplo (18(b)) de decodificacion de modo directo (para la imagen B11).
Las figuras 19(a) y 19(b) son diagramas para explicar la segunda realizacion, que ilustran un tercer ejemplo (19(a)) y un cuarto ejemplo (19(b)) de decodificacion de modo directo (para la imagen B11).
La figura 20 es un diagrama para explicar la segunda realizacion, que ilustra decodificacion predictiva bidireccional (para la imagen B12).
Las figuras 21(a) y 21(b) son diagramas para explicar la segunda realizacion, que ilustran un primer ejemplo (21(a)) y un segundo ejemplo (21(b)) de decodificacion de modo directo (para la imagen B12).
Las figuras 22(a) y 22(b) son diagramas para explicar la segunda realizacion, que ilustran un tercer ejemplo (22(a)) y un cuarto ejemplo (22(b)) de decodificacion de modo directo (para la imagen B12).
La figura 23 es un diagrama de bloques para explicar un aparato de codificacion de imagenes en movimiento segun una tercera realizacion de la invencion.
La figura 24 es un diagrama esquematico para explicar el aparato de codificacion de imagenes en movimiento segun la tercera realizacion, que ilustra un metodo para gestionar imagenes P y B colectivamente en una memoria.
Las figuras 25(a) y 25(b) son diagramas para explicar la tercera realizacion, que ilustran un caso en el que la decodificacion de una imagen B inmediatamente despues de una imagen P no se lleva a cabo (25(a)) y un caso en el que no se decodifica una imagen predeterminada.
La figura 26 es un diagrama de bloques para explicar un aparato de decodificacion de imagenes en movimiento segun una cuarta realizacion de la invencion.
La figura 27 es un diagrama de bloques para explicar un aparato de codificacion de imagenes en movimiento segun una quinta realizacion de la invencion.
La figura 28 es un diagrama para explicar la quinta realizacion, que ilustra un metodo para gestionar una memoria de imagenes y un metodo para asignar indices de imagenes de referencia.
Las figuras 29(a) y 29(b) son diagramas para explicar la quinta realizacion, que ilustran imagenes dispuestas en orden de visualizacion (29(a)') e imagenes dispuestas en orden de codificacion.
La figura 30 es un diagrama para explicar la quinta realizacion, que ilustra un metodo para gestionar una memoria de imagenes y un metodo para asignar indices de imagenes de referencia.
5
10
15
20
25
30
35
40
45
La figura 31 es un diagrama para explicar la quinta realizacion, que ilustra una estructura de datos de un flujo de bits que corresponde a un bloque en un caso en el que se usan dos sistemas de indices de imagenes de referencia.
La figura 32 es un diagrama de bloques para explicar un aparato de decodificacion de imagenes en movimiento segun una sexta realizacion de la presente invencion.
La figura 33 es un diagrama de bloques para explicar un aparato de codificacion de imagenes en movimiento segun una septima realizacion de la invencion.
Las figuras 34(a) y 34(b) son diagramas esquematicos para explicar un metodo de codificacion de imagenes en movimiento segun la septima realizacion, que ilustran imagenes dispuestas en orden de visualizacion (34(a)) e imagenes dispuestas en orden de codificacion (34(b)).
La figura 35 es un diagrama de bloques para explicar un aparato de decodificacion de imagenes en movimiento segun una octava realizacion de la invencion.
Las figuras 36(a) y 36(b) son diagramas esquematicos para explicar un metodo de decodificacion de imagenes en movimiento segun la octava realizacion, que ilustran imagenes dispuestas en orden de decodificacion (36(a)) e imagenes dispuestas en orden de visualizacion (36(b)).
La figura 37 es un diagrama para explicar la octava realizacion, que ilustra un metodo para gestionar una memoria de imagenes.
Las figuras 38(a) y 38(b) son diagramas que ilustran un medio de almacenamiento que contiene un programa para implementar los aparatos segun las realizaciones respectivas con software y la figura 38(c) es un diagrama que ilustra un sistema informatico que usa el medio de almacenamiento.
La figura 39 es un diagrama para explicar aplicaciones de los metodos de codificacion y metodos de decodificacion de imagenes en movimiento segun las realizaciones respectivas, que ilustra un sistema de suministro de contenidos que realiza servicios de distribucion de contenidos.
La figura 40 es un diagrama para explicar un telefono portatil que utiliza los metodos de codificacion y metodos de decodificacion de imagenes en movimiento segun las realizaciones respectivas.
La figura 41 es un diagrama de bloques que ilustra una construccion espedfica del telefono portatil mostrado en la figura 40.
La figura 42 es un diagrama conceptual que ilustra un sistema para difusion digital que utiliza los metodos de codificacion y metodos de decodificacion de imagenes en movimiento segun las realizaciones respectivas.
Las figuras 43(a)-43(c) son diagramas para explicar un metodo de codificacion de imagenes en movimiento convencional, que ilustran una disposicion de imagenes que constituyen una imagen en movimiento (43(a)), un segmento obtenido dividiendo una imagen (43(b)) y un macrobloque (43(c)).
La figura 44 es un diagrama para explicar datos codificados de una imagen en movimiento ordinaria, que ilustra estructuras de flujos que se obtienen codificando imagenes que constituyen una imagen en movimiento.
La figura 45 es un diagrama para explicar un metodo de codificacion de imagenes en movimiento convencional tal como MPEG, que ilustra las relaciones entre imagenes objetivo e imagenes a ser referidas cuando se codifican las imagenes objetivo.
Las figuras 46(a) y 46(b) son diagramas para explicar la codificacion de modo directo convencional, que ilustran vectores de movimiento usados en el modo directo (46(a)) y posiciones relativas de imagenes a bloques (46(b)).
Las figuras 47(a) y 47(b) son diagramas para explicar un metodo convencional para asignar indices de imagenes de referencia, que ilustran indices de referencia a ser asignados a imagenes candidatas a las cuales se hace referencia cuando se codifican imagenes P e imagenes B, respectivamente.
Las figuras 48(a) y 48(b) son diagramas para explicar un metodo de codificacion de imagenes en movimiento convencional, que ilustran imagenes que constituyen una imagen en movimiento que se disponen en orden de visualizacion (48(a)) y aquellas imagenes dispuestas en orden de codificacion (48(b)).
La figura 49 es un diagrama para explicar un metodo de codificacion de imagenes en movimiento convencional, que ilustra un ejemplo de gestion de una memoria de cuadro para las imagenes dispuestas en orden de codificacion.
Las figuras 50(a) y 50(b) son diagramas para explicar problemas del metodo de codificacion predictiva entre imagenes convencional, que ilustran un caso en el que se lleva a cabo una referencia bidireccional (50(a)) y un caso en el que se hace referencia hacia atras a dos imagenes (50(b)).
5
10
15
20
25
30
35
40
45
50
55
Las figuras 51(a) y 51(b) son diagramas para explicar problemas del metodo convencional de asignacion de mdices de imagenes de referencia, que ilustran imagenes dispuestas en orden de visualizacion (51(a)) e imagenes dispuestas en orden de codificacion (51(b)).
Mejor modo para ejecutar la invencion
[Realizacion 1]
La figura 1 es un diagrama de bloques para explicar un aparato de codificacion de imagenes en movimiento 10 segun una primera realizacion de la presente invencion.
El aparato de codificacion de imagenes en movimiento 10 segun esta primera realizacion divide cada una de las imagenes plurales que constituyen una imagen en movimiento en unidades (bloques) de procesamiento de datos predeterminados y codifica datos de imagen de cada imagen para cada bloque.
Para ser espedficos, el aparato de codificacion de imagenes en movimiento 10 incluye una memoria de imagenes de entrada (en lo sucesivo tambien referida como una memoria de cuadro) 101 para contener datos de imagen (datos de entrada) Id de imagenes introducidas y sacar los datos almacenados Id para cada bloque; una unidad de calculo de diferencia 102 para calcular datos de diferencia entre datos de imagen Md de un bloque objetivo a ser codificados, que se sacan de la memoria de cuadro 101 y datos de prediccion Pd del bloque objetivo, como datos de error de prediccion PEd del bloque objetivo; y una unidad de codificacion de error de prediccion 103 para codificar de manera compresiva los datos de imagen Md del bloque objetivo o los datos de error de prediccion PEd. En la memoria de cuadro 101, un proceso de reordenacion de los datos de imagen de las imagenes respectivas introducidos en orden de visualizacion a aquellos en orden de codificacion de imagen se lleva a cabo sobre la base de la relacion entre cada imagen objetivo y una imagen a ser referida (imagen de referencia) en la codificacion predictiva de la imagen objetivo.
El aparato de codificacion de imagenes en movimiento 10 incluye ademas una unidad de decodificacion de error de prediccion 105 para decodificar de manera expandible los datos de salida (datos codificados) Ed a partir de la unidad de codificacion de error de prediccion 103 para sacar datos de diferencia decodificados PDd del bloque objetivo; una unidad de adicion 106 para anadir los datos de diferencia decodificados PDd del bloque objetivo y los datos de prediccion Pd del bloque objetivo para sacar datos decodificados Dd del bloque objetivo; y una memoria de imagenes de referencia (en lo sucesivo tambien referida como una memoria de cuadro) 117 para contener los datos decodificados Dd segun una senal de control de memoria Cd2 y sacar los datos decodificados Dd almacenados, como datos Rd de candidatas (imagenes candidatas) de imagenes a ser referidos cuando se codifica el bloque objetivo.
El aparato de codificacion de imagenes en movimiento 10 incluye ademas una unidad de deteccion de vector de movimiento 108 para detectar un vector de movimiento MV del bloque objetivo, sobre la base de los datos de salida (datos de imagen del bloque objetivo) Md de la memoria de cuadro 101 y los datos de salida (datos de imagen candidata) Rf de la memoria de cuadro 117; y una unidad de seleccion de modo 109 para determinar un modo de codificacion adecuado al bloque objetivo sobre la base del vector de movimiento MV del bloque objetivo y los datos de salida Md y Rd de las memorias de cuadro 101 y 117 respectivas, y sacar una senal de control de conmutacion Cs2. La unidad de deteccion de vector de movimiento 108 realiza deteccion de movimiento para detectar el vector de movimiento antes mencionado con referencia a imagenes candidatas plurales a las que se puede hacer referencia en la codificacion predictiva para el bloque objetivo. Ademas, la unidad de seleccion de modo 109 selecciona un modo de codificacion para el bloque objetivo de entre los modos de codificacion plurales, cuyo modo de codificacion proporciona una eficiencia de codificacion optima. Cuando se selecciona codificacion predictiva entre imagenes, se selecciona una imagen optima de entre las imagenes candidatas plurales a las que se puede hacer referencia.
En el aparato de codificacion de imagenes en movimiento 10 segun la primera realizacion, para una imagen P (es decir, una imagen a la cual hace referencia una imagen ya codificada cuando un bloque en esta imagen se somete a codificacion predictiva), se selecciona uno de los siguientes modos de codificacion: modo de codificacion entre imagenes, modo de codificacion predictiva entre imagenes usando un vector de movimiento y modo de codificacion predictiva entre imagenes no usando un vector de movimiento (es decir, el vector de movimiento se considera como 0). Ademas, para una imagen B (es decir, una imagen para la cual dos imagenes ya codificadas hacen referencia cuando un bloque en esta imagen se somete a la codificacion predictiva), se selecciona uno de los siguientes modos de codificacion: modo de codificacion entre imagenes, modo de codificacion predictiva entre imagenes usando un vector de movimiento hacia delante, modo de codificacion predictiva entre imagenes usando una imagen de movimiento hacia atras, modo de codificacion predictiva entre imagenes usando vectores de movimiento bidireccionales y modo directo. Ademas, en esta primera realizacion, cuando un bloque en la imagen B se codifica en el modo directo, se hace referencia a una imagen ya codificada que se coloca justo anterior a la imagen objetivo en el eje de tiempo de visualizacion.
Ademas, el aparato de codificacion de imagenes en movimiento 10 incluye un conmutador de seleccion 111 colocado entre la memoria de cuadro 101 y la unidad de calculo de diferencia 102; un conmutador de seleccion 112
5
10
15
20
25
30
35
40
45
50
55
colocado entre la unidad de calculo de diferencia 102 y la unidad de codificacion de error de prediccion 103; un conmutador de ENCENDIDO/APAGADO 113 colocado entre la memoria de cuadro 101 y la unidad de seleccion de modo 109 y la unidad de deteccion de vector de movimiento 108; un conmutador de eNcENDIDO/APAGADO 114 colocado entre la unidad de seleccion de modo 109 y la unidad de adicion 106; y un conmutador de ENCENDIDO/APAGADO 115 colocado entre la unidad de codificacion de error de prediccion 103 y la unidad de decodificacion de error de prediccion 105.
Por otra parte, el aparato de codificacion de imagenes en movimiento 10 incluye una unidad de control de codificacion 110 para controlar las operaciones de ENCENDIDO/APAGADO de los conmutadores 113~115 segun una senal de control de conmutacion Cs1 y sacar una senal de control de generacion de codigo Cd1 y una senal de control de memoria Cd2; y una unidad de generacion de flujo de bits 104 para realizar codificacion de longitud variable para los datos de salida (datos codificados) Ed de la unidad de codificacion de error de prediccion 103 sobre la base de la senal de control de generacion de codigo Cd1 para sacar un flujo de bits Bs que corresponde al bloque objetivo. La unidad de generacion de flujo de bits 104 se suministra con el vector de movimiento MV detectado por la unidad de deteccion de vector de movimiento 108 y la informacion que indica el modo de codificacion Ms determinado por la unidad de seleccion de modo 109. El flujo de bits Bs que corresponde al bloque objetivo incluye el vector de movimiento MV que corresponde al bloque objetivo y la informacion que indica el modo de codificacion Ms.
El conmutador de seleccion 111 tiene un terminal de entrada Ta y dos terminales de salida Tb1 y Tb2 y el terminal de entrada Ta se conecta a uno de los terminales de salida Tb1 y Tb2 segun la senal de control de conmutacion Cs2. El conmutador de seleccion 112 tiene dos terminales de entrada Tc1 y Tc2 y un terminal de salida Td y el terminal de salida Td se conecta a uno de los terminales de entrada Tc1 y Tc2 segun la senal de control de conmutacion Cs2. Ademas, en el conmutador de seleccion 111, los datos de imagen Md sacados de la memoria de cuadro 101 se aplican al terminal de entrada Ta y los datos de imagen Md se sacan a traves de un terminal de salida Tb1 al terminal de entrada Tc1 del conmutador de seleccion 112 mientras que los datos de imagen Md se sacan a traves del otro terminal de salida Tb2 a la unidad de calculo de diferencia 102. En el conmutador de seleccion 112, los datos de imagen Md de la memoria de cuadro 101 se aplican a un terminal de entrada Tc1 mientras que los datos de diferencia PEd obtenidos en la unidad de calculo de diferencia 102 se aplican al otro terminal de entrada Tc2 y o bien los datos de imagen Md o bien los datos de diferencia PEd se sacan a traves del terminal de salida Td a la unidad de codificacion de error de prediccion 103.
A continuacion, se describira la operacion.
En las siguientes descripciones de las realizaciones respectivas, se hace referencia a una imagen (imagen hacia delante) cuyo tiempo de visualizacion es anterior al de una imagen a ser codificada (imagen objetivo) como una imagen que se coloca en cuanto al tiempo hacia delante de la imagen objetivo o simplemente como una imagen que se coloca hacia delante de la imagen objetivo. Ademas, se hace referencia a una imagen (imagen hacia atras) cuyo tiempo de visualizacion es posterior que el de la imagen objetivo como una imagen que se coloca en cuanto al tiempo hacia atras de la imagen objetivo o simplemente como una imagen que se coloca hacia atras de la imagen objetivo. Ademas, en las siguientes descripciones de las realizaciones respectivas, “en cuanto al tiempo” significa “en orden de tiempos de visualizacion” a menos que se especifique de otro modo.
En el aparato de codificacion de imagenes en movimiento 10 segun la primera realizacion, los datos de imagen de entrada Id se introducen en la memoria de cuadro 101 en unidades de imagenes segun el orden de tiempos de visualizacion.
La figura 2(a) es un diagrama para explicar el orden en que los datos de imagen de las imagenes respectivas se almacenan en la memoria de cuadro 101. En la figura 2(a), las lmeas verticales indican imagenes. En cuanto a un sfmbolo en el lado inferior derecho de cada imagen, la primera letra del alfabeto indica un tipo de imagen (I, P o B) y el siguiente numero indica un numero de imagen en orden de tiempo. Es decir, las imagenes P1, B2, B3, P4, B5, B6, P7, B8, B9, P10, B11, B12, P13, B14, B15 y P16 mostradas en la figura 2(a) corresponden a las imagenes F(k+3)~F(k+18) [k=-2] mostradas en la figura 45 y estas imagenes se disponen en orden de visualizacion, es decir, desde una que tiene un tiempo de visualizacion anterior a lo largo del eje de tiempo de visualizacion X.
Los datos de imagen de las imagenes se almacenan en la memoria de cuadro 101 en orden de visualizacion de imagenes. Los datos de imagen de las imagenes almacenados en la memoria de cuadro 101, que se disponen en orden de visualizacion de imagenes, se reordenan en orden de codificacion de imagenes. En lo sucesivo, por simplificacion, se hace referencia a los datos de imagen de cada imagen simplemente como una imagen.
Para ser espedficos, el proceso de reordenacion de las imagenes almacenadas en la memoria de cuadro 101 de orden de entrada (orden de visualizacion) al orden de codificacion se lleva a cabo sobre la base de las relaciones entre imagenes objetivo e imagenes de referencia en codificacion predictiva entre imagenes. Es decir, este proceso de reordenacion se lleva a cabo de manera que una segunda imagen a ser usada como una imagen de referencia cuando se codifica una primera imagen se codifica anterior a la primera imagen.
5
10
15
20
25
30
35
40
45
50
55
Cuando se codifica una imagen P, tres imagenes (imagenes I o P) que se colocan cerca de y en cuanto al tiempo hacia delante de la imagen objetivo a ser codificada (imagen P) se usan como imagenes candidatas para una imagen de referencia. En la codificacion predictiva para un bloque en la imagen P, se hace referencia a una de las tres imagenes candidatas como maximo.
Ademas, cuando se codifica una imagen B, dos imagenes (imagen I o P) que se colocan cerca de y en cuanto al tiempo hacia delante de la imagen objetivo (imagen B), una imagen B que se coloca la mas cercana a y en cuanto al tiempo hacia delante de la imagen objetivo y una imagen I o P que se coloca en cuanto al tiempo hacia atras de la imagen objetivo, se usan como imagenes candidatas para una imagen de referencia. En la codificacion predictiva para un bloque en la imagen B, se hace referencia a dos de las cuatro imagenes candidatas como maximo.
Para ser espedficos, las correspondencias entre las imagenes P10, B11, B12 y P13 y las imagenes candidatas para imagenes de referencia que corresponden a las imagenes respectivas se muestran mediante flechas en la figura 2(a). Es decir, cuando se codifica la imagen P P10, las imagenes P1, P4 y P7 se usan como imagenes candidatas para una imagen de referencia. Cuando se codifica la imagen P P13, las imagenes P4, P7 y P10 se usan como imagenes candidatas para una imagen de referencia. Ademas, cuando se codifica la imagen B B11, las imagenes P7, B9, P10 y P13 se usan como imagenes candidatas para una imagen de referencia. Cuando se codifica la imagen B B12, las imagenes P7, P10, B11 y P13 se usan como imagenes candidatas para una imagen de referencia.
La Figura 2(b) muestra las imagenes en orden de codificacion, que se obtienen reordenando las imagenes P1~P16 mostradas en la figura 2(a) de orden de visualizacion a orden de codificacion. Despues de la reordenacion, como se muestra en la figura 2(b) las imagenes mostradas en la figura 2(a) se disponen desde una que tiene un tiempo de codificacion anterior en el eje de tiempo Y que indica los tiempos de codificacion (eje de tiempo de codificacion), es decir, las imagenes se disponen en orden de P4, B2, B3, P7, B5, B6, P10, B8, B9, P13, B11, B12 y P16.
Los datos de las imagenes reordenadas en la memoria de cuadro 101 se leen sucesivamente, para cada unidad de procesamiento de datos predeterminados, desde una que tiene un tiempo de codificacion anterior. En esta primera realizacion, la unidad de procesamiento de datos predeterminada es una unidad de datos en la que se lleva a cabo compensacion de movimiento y, mas espedficamente, es un espacio de imagen rectangular (macrobloque) en el que se disponen 16 pfxeles tanto en la direccion horizontal como en la direccion vertical. En la siguiente descripcion, tambien se hace referencia a un macrobloque simplemente como un bloque.
En lo sucesivo, los procesos de codificacion de las imagenes P13, B11 y B12 se describiran en este orden.
<Proceso de codificacion para la imagen P13>
Inicialmente, se describira el proceso de codificacion para la imagen P13.
Dado que la imagen P13 a ser codificada (imagen objetivo) es una imagen P, como una codificacion predictiva entre imagenes para un bloque objetivo en la imagen P13, se lleva a cabo una codificacion predictiva entre imagenes unidireccional en la que se hace referencia a una imagen ya codificada que se coloca en cuanto al tiempo hacia delante o hacia atras de la imagen objetivo.
En la siguiente descripcion, una imagen P que se coloca hacia delante de la imagen objetivo se usa como una imagen de referencia.
En este caso, la codificacion predictiva entre imagenes que usa una referencia hacia delante se lleva a cabo como un proceso de codificacion para la imagen P13. Ademas, las imagenes B no se usan como imagenes de referencia en la codificacion de imagenes P. Por consiguiente, tres imagenes I o P hacia delante se usan como imagenes candidatas para una imagen de referencia, mas espedficamente, se usan las imagenes P4, P7 y P10. La codificacion de estas imagenes candidatas ya se ha completado cuando se codifica la imagen objetivo, y los datos (datos decodificados) Dd que corresponden a las imagenes candidatas se almacenan en la memoria de cuadro 101.
Cuando se codifica una imagen P, la unidad de control de codificacion 110 controla los conmutadores respectivos con la senal de control de conmutacion Cs1 de manera que los conmutadores 113, 114 y 115 estan en sus estados de ENCENDIDO. Los datos de imagen Md que corresponden al macrobloque en la imagen P13, que se leen desde la memoria de cuadro 101, se introducen en la unidad de deteccion de vector de movimiento 108, la unidad de seleccion de modo 109 y la unidad de calculo de diferencia 102.
La unidad de deteccion de vector de movimiento 108 detecta el vector de movimiento MV del macrobloque en la imagen P13, usando los datos de imagen codificados Rd de las imagenes P4, P7 y P10 almacenadas en la memoria de cuadro 117. Entonces, el vector de movimiento MV detectado se saca a la unidad de seleccion de modo 109. La unidad de seleccion de modo 109 determina un modo de codificacion para el bloque en la imagen P13, usando el vector de movimiento detectado por la unidad de deteccion de vector de movimiento 108. El modo de codificacion indica un metodo para codificar el bloque. Por ejemplo, en el caso de la codificacion de una imagen P, como se describio anteriormente, se selecciona un modo de codificacion de entre la codificacion dentro de una imagen, la codificacion predictiva entre imagenes usando un vector de movimiento y la codificacion predictiva entre imagenes
5
10
15
20
25
30
35
40
45
50
55
no usando un vector de movimiento (es decir, el movimiento se considera como 0). En la determinacion de un modo de codificacion, en general, se selecciona un modo de codificacion que minimiza el error de codificacion cuando una cantidad predeterminada de bits se da al bloque como una cantidad de codigos. En este caso, cuando se selecciona codificacion predictiva entre imagenes, una imagen mas adecuada se selecciona como una imagen de referencia de entre las imagenes P4, P7 y P10.
El modo de codificacion Ms determinado por la unidad de seleccion de modo 109 se saca a la unidad de generacion de flujo de bits 104. Ademas, cuando el modo de codificacion determinado Ms es el modo de codificacion que se refiere a una imagen hacia delante, un vector (vector de movimiento hacia delante) MVp que se obtiene mediante deteccion de movimiento con referencia a la imagen hacia delante asf como informacion Rp que indica a cual de las imagenes P4, P7 y P10 se hace referencia cuando se detecta el vector de movimiento, se saca tambien a la unidad de generacion de flujo de bits 104.
Cuando el modo de codificacion Ms determinado por la unidad de seleccion de modo 109 es el modo de codificacion predictiva entre imagenes, el vector de movimiento MVp a ser usado en la codificacion predictiva entre imagenes y la informacion Rp que indica a cual de las imagenes P4, P7 y P10 se hace referencia cuando se detecta el vector de movimiento, se almacenan en la unidad de almacenamiento de vector de movimiento 116.
Ademas, la unidad de seleccion de modo 109 realiza compensacion de movimiento segun el modo de codificacion determinado para el bloque objetivo, usando los vectores de movimiento que corresponden a la imagen de referencia y al bloque objetivo. Entonces, los datos de prediccion Pd para el bloque objetivo, que se obtienen mediante la compensacion de movimiento, se sacan a la unidad de calculo de diferencia 102 y la unidad de adicion 106.
No obstante, cuando se selecciona el modo de codificacion dentro de una imagen, la unidad de seleccion de modo 109 no genera datos de prediccion Pd. Ademas, cuando se selecciona el modo de codificacion dentro de una imagen, el conmutador 111 se controla de manera que el terminal de entrada Ta se conecta al terminal de salida Tb1 y el conmutador 112 se controla de manera que el terminal de salida Td se conecta al terminal de entrada Tc1. Por otra parte, cuando se selecciona la codificacion predictiva entre imagenes, el conmutador 111 se controla de manera que el terminal de entrada Ta se conecta al terminal de salida Tb2 y el conmutador 112 se controla de manera que el terminal de salida Td se conecta al terminal de entrada Tc2.
En lo sucesivo, se dara una descripcion de un caso en el que se selecciona el modo de codificacion predictivo entre imagenes como el modo de codificacion Ms.
La unidad de calculo de diferencia 102 se suministra con los datos de imagen Md del bloque objetivo en la imagen P13 y los datos de prediccion Pd correspondientes de la unidad de seleccion de modo 109. La unidad de calculo de diferencia 102 calcula datos de diferencia entre los datos de imagen del bloque de la imagen P13 y los datos predictivos Pd correspondientes y saca los datos de diferencia como datos de error de prediccion PEd.
Los datos de error de prediccion PEd se introducen en la unidad de codificacion de error de prediccion 103. La unidad de codificacion de error de prediccion 103 somete los datos de error de prediccion PEd introducidos a procesos de codificacion tales como conversion de frecuencia y cuantificacion para generar datos codificados Ed. Los procesos tales como conversion de frecuencia y cuantificacion se llevan a cabo en unidades de datos que corresponden a un espacio de imagen rectangular (subbloque) en el que ocho pfxeles se disponen tanto en la direccion horizontal como en la direccion vertical.
Los datos codificados Ed sacados de la unidad de codificacion de error de prediccion 103 se introducen a la unidad de generacion de flujo de bits 104 y la unidad de decodificacion de error de prediccion 105.
La unidad de generacion de flujo de bits 104 genera un flujo de bits sometiendo los datos codificados Ed introducidos a codificacion de longitud variable. Ademas, la unidad de generacion de flujo de bits 104 anade, al flujo de bits, informacion tal como el vector de movimiento MVp y el modo de codificacion Ms, informacion de cabecera suministrada desde la unidad de control de codificacion 110 y similares, generando por ello un flujo de bits Bs.
Cuando el modo de codificacion es uno que realiza una referencia hacia delante, informacion (informacion de imagen de referencia) Rp que indica a cual de las imagenes P4, P7 y P10 se hace referencia cuando se detecta el vector de movimiento hacia delante tambien se anade al flujo de bits.
A continuacion, se dara una descripcion de un metodo para gestionar la memoria de cuadro y la informacion que indica una imagen de referencia entre imagenes candidatas (informacion de imagen de referencia).
La figura 3 es un diagrama que ilustra como cambian con el tiempo las imagenes almacenadas en la memoria de imagenes de referencia (memoria de cuadro) 117. La gestion de esta memoria de cuadro 117 se lleva a cabo segun la senal de control de memoria Cd2 de la unidad de control de codificacion 110. Ademas, la memoria de cuadro 117 tiene areas de memoria (#1)~(#5) para cinco imagenes. Cada area de memoria puede contener datos de imagen que corresponden a una imagen. No obstante, cada area de memoria no es necesariamente un area en una memoria de cuadro, puede ser una memoria.
5
10
15
20
25
30
35
40
45
50
55
Inicialmente, se describira un metodo para gestionar la memoria de cuadro (memoria de imagenes de referencia).
Cuando se inicia la codificacion de una imagen P13, las imagenes B8, P4, P7, P10 y B9 se almacenan en las areas de memoria (#1)~(#5) respectivas en la memoria de cuadro 117, respectivamente. Aunque la imagen B9 no se usa para codificar la imagen Pl3, la imagen B9 se almacena en la memoria de cuadro 117 debido a que se usa para codificar la imagen B11. La imagen P13 se codifica usando las imagenes P4, P7 y P10 como imagenes candidatas para una imagen de referencia. La imagen codificada P13 se almacena en el area de memoria (#1) en la que se habfa almacenado la imagen P8. La razon es la siguiente. Aunque las imagenes P4, P7, P10 y B9 se usan como imagenes candidatas para una imagen de referencia cuando se codifica la imagen P13 y las imagenes siguientes, la imagen B8 no se usa como una imagen de referencia cuando se codifican estas imagenes. En la figura 3, cada imagen en un cmculo es una imagen (imagen objetivo) que se almacena finalmente en la memoria de cuadro 117 cuando se ha completado la codificacion de la imagen objetivo.
A continuacion, se dara una descripcion de un metodo para asignar un mdice de imagen de referencia espedfico como informacion de imagen de referencia, a cada imagen candidata.
El mdice de imagen de referencia es informacion que indica cual de las imagenes candidatas plurales para una imagen de referencia se usa como una imagen de referencia cuando se codifica cada bloque. En otras palabras, el mdice de imagen de referencia es informacion que indica cual de las imagenes candidatas P4, P7 y P10 para una imagen de referencia se usa cuando se detecta el vector de movimiento del bloque objetivo en la imagen objetivo (imagen P13). Como para la asignacion de indices de imagenes de referencia, un metodo para asignar sucesivamente los indices a las imagenes candidatas respectivas, comenzando desde una imagen candidata que es en cuanto al tiempo la mas cercana a la imagen objetivo.
Para ser espedficos, cuando la imagen P10 se designa como una imagen de referencia en la codificacion del bloque objetivo en la imagen objetivo P13, informacion que indica que una imagen candidata justo anterior a la imagen objetivo P13 se designa como una imagen de referencia (mdice de imagen de referencia [0]) se anade en el flujo de bits de la imagen objetivo P13. Cuando se hace referencia a la imagen P7 en la codificacion del bloque en la imagen objetivo P13, informacion que indica que una imagen candidata dos imagenes anterior a la imagen objetivo P13 se designa como una imagen de referencia (mdice de imagen de referencia [1]) se anade en el flujo de bits de la imagen objetivo P13. Cuando se hace referencia a la imagen P4 en la codificacion del bloque en la imagen objetivo P13, informacion que indica que una imagen candidata tres imagenes anteriores a la imagen objetivo P13 se designa como una imagen de referencia (mdice de imagen de referencia [2]) se anade en el flujo de bits de la imagen objetivo P13.
En la figura 3, una imagen a la que se asigna un codigo [b] como informacion de imagen de referencia sera una candidata para una imagen de referencia hacia atras cuando se codifica la imagen objetivo.
<Proceso de codificacion para la imagen B11>
A continuacion, se describira el proceso de codificacion para la imagen B11.
Dado que la imagen a ser codificada (imagen objetivo) es la imagen B11, la codificacion predictiva entre imagenes a ser realizada para un bloque objetivo de la imagen B11 es codificacion predictiva entre imagenes bidireccional en la que se hace referencia a dos imagenes ya codificadas que estan en cuanto al tiempo hacia delante o hacia atras de las imagenes objetivo.
En lo sucesivo, se dara una descripcion de un caso en el que una imagen (imagen I, imagen P o imagen B) colocada hacia delante de la imagen objetivo y una imagen (imagen I o imagen P) colocada hacia atras de la imagen objetivo se usan como imagenes de referencia.
Es decir, en este caso, como imagenes de referencia hacia delante, se usan dos imagenes (imagenes I o P) colocadas en cuanto al tiempo cerca de la imagen objetivo (imagen B11) y una imagen B colocada en cuanto al tiempo la mas cercana a la imagen objetivo. Ademas, como una imagen de referencia hacia atras, se usa una imagen I o P colocada en cuanto al tiempo la mas cercana a la imagen objetivo. Por consiguiente, en este caso, imagenes candidatas para una imagen de referencia para la imagen B11 son las imagenes P7, B9 y P10 (imagenes hacia delante) y la imagen P13 (imagen hacia atras).
En la codificacion de una imagen B a ser usada como una imagen de referencia cuando se codifica otra imagen, la unidad de control de codificacion 110 controla los conmutadores respectivos con la senal de control de conmutacion Cs1 de manera que los conmutadores 113, 114 y 115 esten ENCENDIDOS. Dado que la imagen B11 va a ser usada como una imagen de referencia cuando se codifica otra imagen, la unidad de control de codificacion 110 controla los conmutadores respectivos con la senal de control de conmutacion Cs2 de manera que los conmutadores 113, 114 y 115 estan ENCENDIDOS. Los datos de imagen Md que corresponden al bloque en la imagen B11, que se lee desde la memoria de cuadro 101, se introducen en la unidad de deteccion de vector de movimiento 108, la unidad de seleccion de modo 109 y la unidad de calculo de diferencia 102.
La unidad de deteccion de vector de movimiento 108 detecta un vector de movimiento hacia delante y un vector de movimiento hacia atras del bloque objetivo en la imagen B11. En la deteccion de estos vectores de movimiento, las imagenes P7, B9 y P10 almacenadas en la memoria de cuadro 117 se usan como imagenes de referencia hacia delante y la imagen P13 se usa como una imagen de referencia hacia atras. La deteccion de un vector de 5 movimiento hacia atras se lleva a cabo en base a la imagen P13 como imagen de referencia hacia atras. Los
vectores de movimiento detectados por la unidad de deteccion de vector de movimiento 108 se sacan a la unidad de
seleccion de modo 109.
La unidad de seleccion de modo 109 determina un modo de codificacion para el bloque objetivo en la imagen B11, usando los vectores de movimiento detectados por la unidad de deteccion de vector de movimiento 108. Por
10 ejemplo, un modo de codificacion para la imagen B B11 se selecciona de entre el modo de codificacion dentro de
una imagen, el modo de codificacion predictiva entre imagenes usando un vector de movimiento hacia delante, el modo de codificacion predictiva entre imagenes usando una imagen de movimiento hacia atras, el modo de codificacion predictiva entre imagenes usando vectores de movimiento bidireccionales, y el modo directo. Cuando el modo de codificacion es codificacion predictiva entre imagenes usando un vector de movimiento hacia delante, se 15 selecciona una imagen mas adecuada como imagen de referencia de entre las imagenes P7, B9 y P10.
En lo sucesivo, se describira un proceso de codificacion de los bloques en la imagen B11 por el modo directo.
[Primer ejemplo de codificacion de modo directo]
La figura 4(a) muestra un primer ejemplo de codificacion de modo directo para un bloque (bloque objetivo) BLa1 en la imagen (imagen objetivo) B11. Esta codificacion de modo directo utiliza un vector de movimiento (vector de 20 movimiento base) MVc1 de un bloque (bloque base) BLb1 que se incluye en la imagen (imagen base) P13 como una imagen de referencia colocada hacia atras de la imagen B11 y se situa en la misma posicion que el bloque objetivo BLa1. El vector de movimiento MVc1 es un vector de movimiento que se usa cuando se codifica el bloque BLb1 en la imagen P13 y se almacena en la unidad de almacenamiento de vector de movimiento 116. Este vector de movimiento MVc1 se detecta con referencia a la imagen P10 e indica un area CRc1 en la imagen P10, cuya area 25 corresponde al bloque BLb1. El bloque BLa1 se somete a codificacion predictiva bidireccional, usando los vectores de movimiento MVd1 y MVe1 que son paralelos al vector de movimiento MVc1 y las imagenes P10 y P13 que se seleccionan como imagenes de referencia. Los vectores de movimiento MVd1 y MVe1 que se usan en la codificacion del bloque BLa1 son un vector de movimiento hacia delante que indica un area CRd1 en la imagen P10, que corresponde al bloque BLa1 y un vector de movimiento hacia atras que indica un area CRe1 en la imagen P13, 30 que corresponde al bloque BLa1, respectivamente.
En este caso, la magnitud MVF del vector de movimiento hacia delante MVd1 y la magnitud MVB del vector de movimiento hacia atras MVe1 se obtienen mediante las formulas (1) y (2) como sigue.
MVF = MVR X TRF/TRD ... (1)
MVB = (TRB - TRD) X MVR/TRD ... (2)
35 donde MVF y MVB representan la componente horizontal y la componente vertical de los vectores de movimiento, respectivamente.
Ademas, MVR es la magnitud del vector de movimiento MVc1 (una direccion en un espacio bidimensional se expresa por un signo) y TRD es la distancia basada en el tiempo entre la imagen de referencia hacia atras (imagen P13) para la imagen objetivo (imagen B11) y la imagen P10 a la que se hace referencia cuando se codifica el bloque 40 BLb1 en la imagen de referencia hacia atras (imagen P13). Ademas, TRF es la distancia basada en el tiempo entre la imagen objetivo (imagen B11) y la imagen de referencia justo anterior (imagen P10) y TRB es la distancia basada en el tiempo entre la imagen objetivo (imagen B11) y la imagen P10 a la que se hace referencia cuando se codifica el bloque BLb1 en la imagen de referencia hacia atras (imagen P13).
[Segundo ejemplo de codificacion de modo directo]
45 A continuacion, se describira un segundo ejemplo de codificacion de modo directo.
La figura 4(b) muestra un segundo ejemplo de un proceso para codificar un bloque (bloque objetivo) BLa2 en la imagen (imagen objetivo) B11 por el modo directo.
Esta codificacion de modo directo utiliza un vector de movimiento (vector de movimiento base) MVf2 de un bloque (bloque base) BLb2 que se incluye en la imagen (imagen base) P13 como una imagen de referencia colocada hacia 50 atras de la imagen B11 y se situa en la misma posicion que el bloque objetivo BLa2. El vector de movimiento MVf2 es un vector de movimiento que se usa cuando se codifica el bloque BLb2 y se almacena en la unidad de almacenamiento de vector de movimiento 116. Este vector de movimiento MVf2 se detecta con referencia a la imagen P7 e indica un area CRf2 en la imagen P7, cuya area corresponde al bloque BLb2. El bloque BLa2 se somete a codificacion predictiva bidireccional, usando vectores de movimiento MVg2 y MVh2 que son paralelos al 55 vector de movimiento MVf2 y las imagenes P10 y P13 las cuales se seleccionan como imagenes de referencia. Los
5
10
15
20
25
30
35
40
45
50
vectores de movimiento MVg2 y MVh2 los cuales se usan en la codificacion del bloque BLa2 son un vector de movimiento hacia delante que indica un area CRg2 en la imagen P10, que corresponde al bloque BLa2 y un vector de movimiento hacia atras que indica un area CRh2 en la imagen P13, que corresponde al bloque BLa2, respectivamente.
En este caso, las magnitudes MVF y MVB de los vectores de movimiento MVg2 y MVh2 se obtienen mediante las formulas anteriormente descritas (1) y (2), respectivamente.
Como se describio anteriormente, en el modo directo, el vector de movimiento MVf2 del bloque BLb2, que se incluye en la imagen a ser usada como una imagen de referencia hacia atras cuando se codifica el bloque objetivo BLa2 y se situa relativamente en la misma posicion que el bloque objetivo, se escala, obteniendo por ello el vector de movimiento hacia delante MVg2 y el vector de movimiento hacia atras MVh2 para el bloque objetivo. Por lo tanto, cuando se selecciona el modo directo, no es necesario enviar informacion del vector de movimiento del bloque objetivo. Ademas, dado que la imagen ya codificada que se coloca en cuanto al tiempo la mas cercana a la imagen objetivo se usa como una imagen de referencia hacia delante, se puede mejorar la eficiencia de prediccion.
[Tercer ejemplo de codificacion de modo directo]
A continuacion, se describira un tercer ejemplo de codificacion de modo directo.
La figura 5 (a) muestra un tercer ejemplo de un proceso de codificacion de un bloque (bloque objetivo) BLa3 en la imagen (imagen objetivo) B11 por el modo directo.
Esta codificacion de modo directo utiliza un vector de movimiento (vector de movimiento base) MVc3 de un bloque (bloque base) BLb3 que se incluye en la imagen (imagen base) P13 que es una imagen de referencia hacia atras para la imagen B11 y se situa en la misma posicion que el bloque objetivo BLa3. El vector de movimiento MVc3 es un vector de movimiento que se usa cuando se codifica el bloque BLb3 y se almacena en la unidad de almacenamiento de vector de movimiento 116. Este vector de movimiento MVc3 se detecta con referencia a la imagen P7 e indica un area CRc3 en la imagen P7, cuya area corresponde al bloque BLb3. El bloque BLa3 se somete a codificacion predictiva bidireccional, sobre la base de los vectores de movimiento MVd3 y MVe3 que son paralelos al vector de movimiento MVc3, la imagen a la que se hace referencia cuando se codifica el bloque BLb3 (la imagen P7 seleccionada como una imagen de referencia hacia delante) y la imagen P13 como una imagen de referencia hacia atras. En este caso, los vectores de movimiento MVd3 y MVe3 que se usan en la codificacion del bloque BLa3 son un vector de movimiento hacia delante que indica un area CRd3 en la imagen P7, que corresponde al bloque BLa3 y un vector de movimiento hacia atras que indica un area CRe3 en la imagen P13, que corresponde al bloque BLa3, respectivamente.
Las magnitudes MVF y MVB de los vectores de movimiento MVd3 y MVe3 se obtienen mediante la siguiente formula (3) y la formula anteriormente descrita (2), respectivamente.
MVF = MVR X TRB/TRD ... (3)
donde MVR es la magnitud del vector de movimiento MVc3.
Como se describio anteriormente, en la codificacion de modo directo mostrada en la figura 5(a), el vector de movimiento MVc3 del bloque BLb3, que se incluye en la imagen a ser usada como una imagen de referencia hacia atras cuando se codifica el bloque objetivo y se situa relativamente en la misma posicion que el bloque objetivo, se escala, obteniendo por ello el vector de movimiento hacia delante MVd3 y el vector de movimiento hacia atras MVe4 para el bloque objetivo. Por lo tanto, cuando se selecciona el modo directo, no es necesario enviar informacion del vector de movimiento del bloque objetivo.
Cuando la imagen P13 a ser referida en la codificacion del bloque BLb3 ya se ha borrado de la memoria de cuadro 117, la imagen de referencia hacia delante P10 que es en cuanto al tiempo la mas cercana a la imagen objetivo se usa como una imagen de referencia hacia delante en el modo directo. La codificacion de modo directo en este caso es identica a la mostrada en la figura 4(a) (primer ejemplo).
[Cuarto ejemplo de codificacion de modo directo]
A continuacion, se describira un cuarto ejemplo de codificacion de modo directo.
La figura 5(b) muestra un cuarto ejemplo de un proceso de codificacion de un bloque (bloque objetivo) BLa4 en la imagen (imagen objetivo) B11 por el modo directo.
En este caso, el bloque objetivo BLa4 se somete a codificacion predictiva bidireccional con un vector de movimiento que es 0, sobre la base de la imagen P10 mas cercana que se selecciona como una imagen de referencia hacia delante y la imagen P13 como una imagen de referencia hacia atras. Es decir, los vectores de movimiento MVf4 y MVh4 a ser usados para codificar el bloque BLa4 son un vector de movimiento que indica un area (bloque) CRf4 que se incluye en la imagen P10 y se situa relativamente en la misma posicion que el bloque objetivo BLa4 y un vector
5
10
15
20
25
30
35
40
45
50
de movimiento que indica un area (bloque) CRh4 que se incluye en la imagen P13 y se situa relativamente en la misma posicion que el bloque objetivo BLa4, respectivamente.
Como se describio anteriormente, en la codificacion de modo directo mostrada en la figura 5(b), dado que el vector de movimiento del bloque objetivo se ajusta a la fuerza a 0, cuando se selecciona el modo directo, no es necesario enviar informacion del vector de movimiento del bloque objetivo y el escalado del vector de movimiento llega a ser innecesario, provocando una reduccion de la complejidad de procesamiento de senal. Este metodo es aplicable a, por ejemplo, un caso en el que un bloque que se incluye en la imagen P13 como una imagen de referencia hacia atras de la imagen B11 y se situa en la misma posicion ya que el bloque BLa4 es un bloque que no tiene vector de movimiento como un bloque codificado dentro del cuadro. Por consiguiente, incluso cuando un bloque que se incluye en la imagen de referencia hacia atras y se situa en la misma posicion que el bloque objetivo se codifica sin un vector de movimiento, se puede mejorar la eficiencia de codificacion usando el modo directo.
El procesamiento de modo directo anteriormente mencionado (primer al cuarto ejemplos) es aplicable no solamente cuando el intervalo de tiempos de visualizacion de imagenes es constante sino tambien cuando el intervalo de tiempos de visualizacion de imagenes es variable.
[Quinto ejemplo de codificacion de modo directo]
A continuacion, la codificacion predictiva de modo directo a ser realizada cuando el intervalo de tiempos de visualizacion de imagenes es variable se describira como un quinto ejemplo de codificacion de modo directo.
La figura 6(a) es un diagrama para explicar un quinto ejemplo de una codificacion de modo directo, en la que la codificacion predictiva de modo directo (segundo ejemplo) se aplica al caso en que el intervalo de visualizacion de imagenes es variable.
En este caso, la codificacion predictiva bidireccional para un bloque objetivo BLa5 en la imagen objetivo B11 se lleva a cabo usando un vector de movimiento (vector de movimiento base) MVf5 de un bloque (bloque base) BLb5 que se incluye en la imagen (imagen base) P13 como una imagen de referencia colocada hacia atras de la imagen B11 y se situa en la misma posicion que el bloque objetivo BLa5, de la misma manera que la codificacion predictiva de modo directo (segundo ejemplo) mostrada en la figura 4(b). El vector de movimiento MVf5 es un vector de movimiento que se usa cuando se codifica el bloque BLb5 en la imagen P13 e indica un area CRf5 en la imagen P7, cuya area corresponde al bloque BLb5. Ademas, los vectores de movimiento MVg5 y MVh5 que corresponden al bloque objetivo son paralelos al vector de movimiento MVf5. Ademas, estos vectores de movimiento MVg5 y MVh5 son un vector de movimiento hacia delante que indica un area CRg5 en la imagen P10, que corresponde al bloque BLa5 y un vector de movimiento hacia atras que indica un area CRh5 en la imagen P13, que corresponde al bloque BLa5, respectivamente.
Tambien en este caso, las magnitudes MVF y MVB de los vectores de movimiento MVg5 y MVh5 se pueden obtener mediante las formulas anteriormente descritas (1) y (2), respectivamente, como en el procesamiento de modo directo del segundo ejemplo.
[Proceso de salto de bloque espedfico]
A continuacion, se dara una descripcion de codificacion de modo directo en la que un bloque espedfico se trata como un bloque de salto.
Cuando los datos de diferencia que corresponden a un bloque objetivo llegan a ser cero en codificacion de modo directo, la unidad de codificacion de error de prediccion 103 no genera datos codificados que corresponden al bloque objetivo y la unidad de generacion de flujo de bits 104 no saca un flujo de bits que corresponde al bloque objetivo. De esta manera, un bloque cuyos datos de diferencia llegan a ser cero se trata como un bloque de salto.
En lo sucesivo, se describira un caso en el que un bloque espedfico se trata como un bloque de salto.
La figura 6(b) muestra una imagen F espedfica como un componente de una imagen en movimiento.
En esta imagen F, entre bloques adyacentes MB(r-1)~MB(r+3), los valores de datos de diferencia (datos de error de prediccion) que corresponden a los bloques MB(r-1), MB(r) y MB(r+3) no son cero, sino que los valores de datos de diferencia (datos de error de prediccion) que corresponden a los bloques MB(r+1) y MB(r+2) que se colocan entre el bloque MB(r) y el bloque MB(r+3), son cero.
En este caso, los bloques MB(r+1) y MB(r+2) se tratan como bloques de salto en el modo directo y un flujo de bits Bs que corresponde a una imagen en movimiento no incluye flujos de bits que corresponden a los bloques MB(r+1) y MB(r+2).
La figura 6(c) es un diagrama para explicar una estructura de flujo en el caso en el que los bloques MB(r+1) y MB(r+2) se tratan como bloques de salto, en los cuales se muestran partes del flujo de bits Bs que corresponden a los bloques MB(r) y MB(r+3).
5
10
15
20
25
30
35
40
45
50
55
Entre un flujo de bits Bmb(r) que corresponde al bloque MB(r) y un flujo de bits Bmb(r+3) que corresponde al bloque MB(r+3), se coloca un identificador de salto Sf(Sk:2) que indica que hay dos bloques considerados como bloques de salto entre estos bloques. Ademas, entre un flujo de bits Bmb(r-1) que corresponde al bloque MB(r-1) y el flujo de bits Bmb(r) que corresponde al bloque MB(r), se coloca un identificador de salto Sf(Sk:0) que indica que no hay ningun bloque considerado como un bloque de salto entre estos bloques.
El flujo de bits Bmb(r) que corresponde al bloque MB(r) se compone de una seccion de cabecera Hmb y una seccion de datos Dmb y la seccion de datos Dmb incluye datos de imagen codificados que corresponden a este bloque. Ademas, la seccion de cabecera Hmb incluye una marca de modo Fm que indica un tipo de macrobloque, es decir, un modo de codificacion en el que se codifica este bloque; informacion de imagen de referencia Rp que indica una imagen a la que se hace referencia en la codificacion de este bloque, e informacion Bmvf y Bmvb que indica vectores de movimiento que se usan en la codificacion de este bloque. Este bloque MB(r) se codifica mediante codificacion predictiva bidireccional y la informacion Bmvf y Bmbv de los vectores de movimiento indica los valores de un vector de movimiento hacia delante y un vector de movimiento hacia atras que se usan en la codificacion predictiva bidireccional, respectivamente. Ademas, flujos de bits que corresponden a otros bloques, tales como un flujo de bits Bmb(r+3) que corresponde al bloque MB(r+3), tienen la misma estructura que la del flujo de bits Bmb(r) que corresponde al bloque MB(r).
Como se describio anteriormente, en el modo directo, se puede reducir la cantidad de codigos tratando un bloque cuyos datos de diferencia llegan a ser cero, como un bloque de salto, es decir, saltando, en el flujo de bits, la informacion que corresponde a este bloque junto con la informacion de modo.
Si se salta o no un bloque se puede detectar a partir del identificador de salto Sf que se coloca justo antes del flujo de bits de cada bloque. Ademas, si se salta o no un bloque se puede conocer a partir de la informacion del numero de bloque o similar, que se describe en el flujo de bits que corresponde a cada bloque.
Ademas, en el procesamiento de modo directo mostrado en la figura 4(a) (primer ejemplo), el procesamiento de modo directo mostrado en la figura 4(b) (segundo ejemplo) y el procesamiento de modo de direccion mostrado en la figura 5(a) (tercer ejemplo), todos los bloques cuyos datos de diferencia llegan a ser cero no se tratan necesariamente como bloques de salto. Es decir, un bloque objetivo se somete a prediccion bidireccional usando una imagen que se coloca justo anterior a la imagen objetivo como una imagen de referencia hacia delante y un vector de movimiento cuya magnitud es cero y solamente cuando los datos de diferencia del bloque objetivo llegan a ser cero, este bloque objetivo se puede tratar como un bloque de salto.
Por cierto, la seleccion de un modo de codificacion para un bloque objetivo se lleva a cabo, generalmente, para minimizar un error de codificacion que corresponde a una cantidad de bits predeterminada. El modo de codificacion determinado por la unidad de seleccion de modo 109 se saca de la unidad de generacion de flujo de bits 104. Ademas, los datos de prediccion que se obtienen de la imagen de referencia segun el modo de codificacion determinado en la unidad de seleccion de modo 109 se sacan a la unidad de calculo de diferencia 102 y la unidad de adicion 106. No obstante, cuando se selecciona codificacion dentro de una imagen, no se sacan datos de prediccion. Ademas, cuando la unidad de seleccion de modo 109 selecciona codificacion dentro de una imagen, el conmutador 111 se controla de manera que el terminal de entrada Ta se conecta al terminal de salida Tb1 y el conmutador 112 se controla de manera que el terminal de salida Td se conecta al terminal de entrada Tc1. Cuando se selecciona codificacion predictiva entre imagenes, el conmutador 111 se controla de manera que el terminal de entrada Ta se conecta al terminal de salida Tb2 y el conmutador 112 se controla de manera que el terminal de salida Td se conecta al terminal de entrada Tc2.
En lo sucesivo, se dara una descripcion de la operacion del aparato de codificacion de imagenes en movimiento 10 en el caso en que la unidad de seleccion de modo 109 selecciona codificacion predictiva entre imagenes.
La unidad de calculo de diferencia 102 recibe los datos de prediccion Pd sacados de la unidad de seleccion de modo 109. La unidad de calculo de diferencia 102 calcula datos de diferencia entre datos de imagen que corresponden a un bloque objetivo en la imagen B11 y los datos de prediccion y saca los datos de diferencia como datos de error de prediccion PEd. Los datos de error de prediccion PEd se introducen a la unidad de codificacion de error de prediccion 103. La unidad de codificacion de error de prediccion 103 somete los datos de error de prediccion PEd introducidos a procesos de codificacion, tales como conversion de frecuencia y cuantificacion, generando por ello datos codificados Ed. Los datos codificados Ed sacados de la unidad de codificacion de error de prediccion 103 se introducen a la unidad de generacion de flujo de bits 104 y a la unidad de decodificacion de error de prediccion 105.
La unidad de generacion de flujo de bits 104 somete los datos codificados Ed introducidos a codificacion de longitud variable y anade informacion tal como un vector de movimiento y un modo de codificacion a los datos codificados Ed para generar un flujo de bits Bs, y saca este flujo de bits Bs. Cuando el modo de codificacion es uno que realiza referencia hacia delante, informacion (informacion de imagen de referencia) Rp que indica a cual de las imagenes P7, B9 y P10 se hace referencia cuando se detecta el vector de movimiento hacia delante tambien se anade al flujo de bits Bs.
5
10
15
20
25
30
35
40
45
50
55
A continuacion, se dara una descripcion de un metodo para gestionar la memoria de cuadro, y un metodo para asignar informacion de imagen de referencia, en la codificacion de la imagen B11, con referencia a la figura 3.
Cuando se inicia la codificacion de la imagen B11, las imagenes P4, P7, P10, P13 y B9 se almacenan en la memoria de cuadro 117. La imagen B11 se somete a codificacion predictiva bidireccional, usando las imagenes P7, B9 y P10 como imagenes candidatas para una referencia hacia delante y la imagen P13 como una imagen candidata para una imagen de referencia hacia atras. La imagen ya codificada Bl1 se almacena en el area de memoria (#2) en la que la imagen P4 se habfa almacenado, debido a que la imagen P4 no se usa como una imagen de referencia en la codificacion de las imagenes desde la imagen Bl1 en adelante.
En la codificacion de la imagen B11, como un metodo para anadir informacion que indica a cual de las imagenes P7, B9 y P10 se hace referencia en la deteccion del vector de movimiento hacia delante para el bloque objetivo (informacion de imagen de referencia), se emplea un metodo de asignacion de indices sucesivamente a las imagenes candidatas de referencia, comenzando desde una que esta en cuanto al tiempo mas cercana a la imagen objetivo (imagen B11). Las imagenes candidatas de referencia son imagenes que se pueden seleccionar como una imagen de referencia en la codificacion de la imagen objetivo.
Para ser espedficos, se asigna a la imagen P10 un mdice de imagen de referencia [0], se asigna a la imagen B9 un mdice de imagen de referencia [1] y se asigna a la imagen 7 un mdice de imagen de referencia [2].
Por consiguiente, cuando se hace referencia a la imagen P10 en la codificacion de la imagen objetivo, el mdice de imagen de referencia [0] se describe en el flujo de bits que corresponde al bloque objetivo, como informacion que indica que se hace referencia a una imagen candidata justo anterior a la imagen objetivo. Del mismo modo, cuando se hace referencia a la imagen B9, el mdice de imagen de referencia [1] se describe en el flujo de bits que corresponde al bloque objetivo, como informacion que indica que se hace referencia a una imagen candidata dos imagenes anterior a la imagen objetivo. Ademas, cuando se hace referencia a la imagen P7, el mdice de imagen de referencia [2] se describe en el flujo de bits que corresponde al bloque objetivo, como informacion que indica que se hace referencia a una imagen candidata tres imagenes anterior a la imagen objetivo.
La asignacion de codigos a los indices de imagenes de referencia [0], [1] y [2] se lleva a cabo de manera que un codigo de una longitud mas corta se asigna a un mdice menor.
Generalmente, una imagen candidata que es en cuanto al tiempo mas cercana a una imagen objetivo es mas probable que sea usada como una imagen de referencia. Por consiguiente, asignando los codigos como se describio anteriormente, se puede reducir la cantidad total de codigos, cada uno que indica a cual de las imagenes candidatas plurales se hace referencia en la deteccion del vector de movimiento del bloque objetivo.
La unidad de decodificacion de error de prediccion 105 somete los datos codificados introducidos que corresponden al bloque objetivo a procesos de decodificacion tales como cuantificacion inversa y conversion de frecuencia inversa para generar datos de diferencia decodificados PDd del bloque objetivo. Los datos de diferencia decodificados PDd se anaden a los datos de prediccion Pd en la unidad de adicion 106 y los datos decodificados Dd de la imagen objetivo que se obtienen mediante la adicion se almacenan en la memoria de cuadro 117.
Los bloques restantes de la imagen B11 se codifican de la misma manera que se describio anteriormente. Cuando se han procesado todos los bloques en la imagen B11, tiene lugar la codificacion de la imagen B12.
<Proceso de codificacion para la imagen B12>
A continuacion, se describira el proceso de codificacion para la imagen B12.
Dado que la imagen B12 es una imagen B, la codificacion predictiva entre imagenes a ser realizada para un bloque objetivo en la imagen B12 es codificacion predictiva entre imagenes bidireccional en la que se hace referencia a dos imagenes ya codificadas que se colocan en cuanto al tiempo hacia delante o hacia atras de la imagen objetivo.
En lo sucesivo, se dara una descripcion de un caso en el que una codificacion predictiva entre imagenes usando referencia bidireccional se realiza como un proceso de codificacion para la imagen B12. Por consiguiente, en este caso, como candidatas para una imagen de referencia hacia delante, se usa/usan dos imagenes I o P colocadas cerca de la imagen objetivo en orden de tiempos de visualizacion o una imagen B colocada la mas cercana a la imagen objetivo en orden de tiempos de visualizacion. Ademas, como imagen de referencia hacia atras, se usa una imagen I o P colocada la mas cercana a la imagen objetivo en orden de tiempos de visualizacion. Por consiguiente, las imagenes candidatas de referencia para la imagen B12 son las imagenes P7, P10 y B11 (imagenes hacia delante) y la imagen P13 (imagen hacia atras).
En la codificacion de una imagen B a ser usada como una imagen de referencia cuando se codifica otra imagen, la unidad de control de codificacion 110 controla los conmutadores respectivos de manera que los conmutadores 113, 114 y 115 estan ENCENDIDOS. Dado que la imagen B12 va a ser usada como una imagen de referencia en la codificacion de otra imagen, la unidad de control de codificacion 110 controla los conmutadores respectivos de manera que los conmutadores 113, 114 y 115 estan ENCENDIDOS. Por consiguiente, los datos de imagen que
corresponden al bloque en la imagen B12, que se lee de la memoria de cuadro 101, se introducen a la unidad de deteccion de vector de movimiento 108, la unidad de seleccion de modo 109 y la unidad de calculo de diferencia 102.
La unidad de deteccion de vector de movimiento 108 detecta un vector de movimiento hacia delante y un vector de 5 movimiento hacia atras que corresponden al bloque objetivo en la imagen B12, usando las imagenes P7, P10 y B11 almacenadas en la memoria de cuadro 117 como imagenes candidatas de referencia hacia delante y la imagen P13 almacenada en la memoria de cuadro 117 como una imagen de referencia hacia atras.
Los vectores de movimiento detectados se sacan a la unidad de seleccion de modo 109.
La unidad de seleccion de modo 109 determina un modo de codificacion para el bloque objetivo en la imagen B12, 10 usando los vectores de movimiento detectados por la unidad de deteccion de vector de movimiento 108. Por ejemplo, se selecciona un modo de codificacion para la imagen B B12 de entre el modo de codificacion dentro de una imagen, el modo de codificacion predictiva entre imagenes usando un vector de movimiento hacia delante, el modo de codificacion predictiva entre imagenes usando una imagen de movimiento hacia atras, el modo de codificacion predictiva entre imagenes usando vectores de movimiento bidireccionales y el modo directo. Cuando el 15 modo de codificacion es codificacion predictiva entre imagenes usando un vector de movimiento hacia delante, se selecciona una imagen mas adecuada como una imagen de referencia de entre las imagenes P7, P10 y B11.
En lo sucesivo, se describira un proceso de codificacion de los bloques en la imagen B12 por el modo directo.
[Primer ejemplo de codificacion de modo directo]
La figura 7 (a) muestra un caso en el que un bloque (bloque objetivo) BLa5 en la imagen (imagen objetivo) B12 se 20 codifica en el modo directo. Esta codificacion de modo directo utiliza un vector de movimiento (vector de movimiento base) MVc5 de un bloque (bloque base) BLb5 que se incluye en la imagen (imagen base) P13 como una imagen de referencia colocada hacia atras de la imagen B12 y se situa en la misma posicion que el bloque objetivo BLa5. El vector de movimiento MVc5 es un vector de movimiento que se usa cuando se codifica el bloque BLb5 y se almacena en la unidad de almacenamiento de vector de movimiento 116. Este vector de movimiento MVc5 indica un 25 area CRc5 en la imagen P10, cuya area corresponde al bloque BLb5. El bloque BLa5 se somete a codificacion predictiva bidireccional, usando vectores de movimiento paralelos al vector de movimiento MVc5, sobre la base de las imagenes B11 y P13 como imagenes de referencia para el bloque BLa5. Los vectores de movimiento a ser usados en la codificacion del bloque BLa5 son un vector de movimiento MVe5 que indica un area CRd5 en la imagen B11, que corresponde al bloque BLa5 y un vector de movimiento MVe5 que indica un area CRe5 en la 30 imagen P13, que corresponde al bloque BLa5. Las magnitudes MVF y MVB de los vectores de movimiento MVd5 y MVe5 se pueden obtener mediante las formulas anteriormente mencionadas (1) y (2), respectivamente.
[Segundo ejemplo de codificacion de modo directo]
A continuacion, se describira un segundo ejemplo de codificacion de modo directo.
La figura 7(b) muestra un caso en el que un bloque (bloque objetivo) BLa6 en la imagen (imagen objetivo) B12 se 35 codifica en el de modo directo. Esta codificacion de modo directo utiliza un vector de movimiento (vector de movimiento base) MVc6 de un bloque (bloque base) BLb6 que se incluye en la imagen (imagen base) P13 como una imagen de referencia colocada hacia atras de la imagen B12 y se situa en la misma posicion que el bloque objetivo BLa6. El vector de movimiento MVc6 es un vector de movimiento que se usa cuando se codifica el bloque BLb6 y se almacena en la unidad de almacenamiento de vector de movimiento 116. Este vector de movimiento MVc6 indica un 40 area CRc6 en la imagen P7, cuya area corresponde al bloque BLb6. El bloque BLa6 se somete a codificacion predictiva bidireccional, usando vectores de movimiento paralelos al vector de movimiento MVc6, sobre la base de las imagenes B11 y P13 como imagenes de referencia. Los vectores de movimiento a ser usados en la codificacion del bloque BLa6 son un vector de movimiento MVg6 que indica un area CRg6 en la imagen B11, que corresponde al bloque BLa6 y un vector de movimiento MVh6 que indica un area CRh6 en la imagen P13, que corresponde al 45 bloque BLa6. Las magnitudes MVF y MVB de los vectores de movimiento MVg6 y MVh6 se pueden obtener mediante las formulas anteriormente mencionadas (1) y (2), respectivamente.
Como se describio anteriormente, en el modo directo, el vector de movimiento MVf6 del bloque BLb6, que se incluye en la imagen a ser referida como una imagen de referencia hacia atras cuando se codifica el bloque objetivo BLa6 y se situa relativamente en la misma posicion que el bloque objetivo, se escala, obteniendo por ello el vector de 50 movimiento hacia delante MVg6 y el vector de movimiento hacia atras MVh6 que corresponde al bloque objetivo. Por lo tanto, cuando se selecciona el modo directo, no es necesario enviar informacion del vector de movimiento del bloque objetivo. Ademas, dado que la imagen ya codificada que se coloca la mas cercana a la imagen objetivo en orden de tiempos de visualizacion se usa como una imagen de referencia hacia delante, se puede mejorar la eficiencia de prediccion.
55 [Tercer ejemplo de codificacion de modo directo]
A continuacion, se describira un tercer ejemplo de codificacion de modo directo.
5
10
15
20
25
30
35
40
45
50
55
La figura 8(a) muestra un tercer ejemplo de un proceso para codificar un bloque (bloque objetivo) BLa7 en la imagen (imagen objetivo) B12 por el modo directo.
Esta codificacion de modo directo utiliza un vector de movimiento (vector de movimiento base) MVc7 de un bloque (bloque base) BLb7 que se incluye en la imagen (imagen base) P13 como una imagen de referencia colocada hacia atras de la imagen Bl2 y se situa en la misma posicion que el bloque objetivo BLa7. El vector de movimiento MVc7 es un vector de movimiento que se usa cuando se codifica el bloque BLb7 y se almacena en la unidad de almacenamiento de vector de movimiento 116. Este vector de movimiento MVc7 indica un area CRc7 en la imagen P7, cuya area corresponde al bloque BLb7. El bloque BLa7 se somete a codificacion predictiva bidireccional, usando vectores de movimiento paralelos al vector de movimiento MVc7, la misma imagen como a la que se hace referencia en la codificacion del bloque BLb7 (es decir, la imagen P7) como una imagen de referencia hacia delante) y la imagen P13 como una imagen de referencia hacia atras. Los vectores de movimiento a ser usados en la codificacion del bloque BLa7 son un vector de movimiento MVd7 que indica un area CRd7 en la imagen P7, que corresponde al bloque BLa7 y un vector de movimiento MVe7 que indica un area CRe7 en la imagen P13, que corresponde al bloque BLa7.
Las magnitudes MVF y MVB de los vectores de movimiento MVd7 y MVe7 se pueden obtener mediante las formulas anteriormente mencionadas (2) y (3), respectivamente.
Cuando la imagen a la que se hace referencia cuando se codifica el bloque BLb7 ya se ha borrado de la memoria de cuadro 117, una imagen de referencia hacia delante que es en cuanto al tiempo la mas cercana a la imagen objetivo se puede usar como una imagen de referencia hacia delante en el modo directo. La codificacion de modo directo en este caso es identica a la descrita como el primer ejemplo de codificacion de modo directo.
Como se describio anteriormente, en la codificacion de modo directo mostrada en la figura 8(a), el vector de movimiento MVf7 del bloque BLb7, que se incluye en la imagen a ser usada como una imagen de referencia hacia atras cuando se codifica el bloque objetivo y se situa relativamente en la misma posicion que el bloque objetivo, se escala, obteniendo por ello el vector de movimiento hacia delante MVd7 y el vector de movimiento hacia atras MVe7 que corresponden al bloque objetivo. Por lo tanto, cuando se selecciona el modo directo, no es necesario enviar informacion del vector de movimiento del bloque objetivo.
[Cuarto ejemplo de codificacion de modo directo]
A continuacion, se describira un cuarto ejemplo de codificacion de modo directo.
La figura 8(b) muestra un cuarto ejemplo de un proceso de codificacion de un bloque (bloque objetivo) BLa8 en la imagen (imagen objetivo) B12 por el modo directo.
En este caso, el bloque objetivo BLa8 se somete a codificacion predictiva bidireccional con un vector de movimiento que es cero, sobre la base de la imagen P10 mas cercana que se selecciona como una imagen de referencia hacia delante y la imagen P13 como una imagen de referencia hacia atras. Es decir, los vectores de movimiento MVf8 y MVh8 a ser usados para codificar el bloque BLa8 son un vector de movimiento que indica un area (bloque) CRf8 que se incluye en la imagen B11 y se situa relativamente en la misma posicion que el bloque objetivo BLa8 y un vector de movimiento que indica un area (bloque) CRh8 que se incluye en la imagen P13 y se situa relativamente en la misma posicion que el bloque objetivo BLa8, respectivamente.
Como se describio anteriormente, en la codificacion de modo directo mostrada en la figura 8(b), el vector de movimiento del bloque objetivo se fija a la fuerza a cero. Por lo tanto, cuando se selecciona el modo directo, no es necesario enviar informacion del vector de movimiento del bloque objetivo y el escalado del vector de movimiento llega a ser innecesario, provocando una reduccion de la complejidad de procesamiento de senal. Este metodo es aplicable a, por ejemplo, un caso en el que un bloque que se incluye en la imagen P13 como una imagen de referencia hacia atras de la imagen B12 y se situa en la misma posicion que el bloque BLa8 es un bloque que no tiene ningun vector de movimiento como un bloque codificado dentro del cuadro. Por consiguiente, incluso cuando un bloque que se incluye en la imagen de referencia hacia atras y se situa en la misma posicion que el bloque objetivo se codifica sin un vector de movimiento, se puede mejorar la eficiencia de codificacion usando el modo directo.
El procesamiento de modo directo anteriormente mencionado para la imagen B12 (primer a cuarto ejemplos) es aplicable no solamente cuando el intervalo de tiempos de visualizacion de imagenes es constante sino tambien cuando el intervalo de tiempos de visualizacion de imagenes es variable, como en el caso de la imagen B11 mostrada en la figura 6(a).
Ademas, en la codificacion de modo directo para la imagen B12, como la codificacion de modo directo para la imagen B11, cuando los datos de diferencia que corresponden al bloque objetivo llegan a ser cero, la unidad de codificacion de error de prediccion 103 no genera datos codificados que corresponden al bloque objetivo y la unidad de generacion de flujo de bits 104 no saca un flujo de bits que corresponde al bloque objetivo. De esta manera, un bloque cuyos datos de diferencia llegan a ser cero se trata como un bloque de salto, como en el caso de la imagen B11 mostrada en las figuras 6(b) y 6(c).
5
10
15
20
25
30
35
40
45
50
55
Ademas, en el procesamiento de modo directo mostrado en la figura 7(a) (primer ejemplo), el procesamiento de modo directo mostrado en la figura 7(b) (segundo ejemplo) y el procesamiento de modo de direccion mostrado en la figura 8(a) (tercer ejemplo), todos los bloques cuyos datos de diferencia llegan a ser cero no se tratan necesariamente como bloques de salto. Es decir, un bloque objetivo se somete a prediccion bidireccional usando una imagen que se coloca justo anterior a la imagen objetivo como una imagen de referencia hacia delante y un vector de movimiento cuya magnitud es cero y solamente cuando los datos de diferencia del bloque objetivo llegan a ser cero, este bloque objetivo se puede tratar como un bloque de salto.
Cuando el modo de codificacion para el bloque objetivo en la imagen B12 se determina por la unidad de seleccion de modo 109, se generan datos de prediccion PEd para el bloque objetivo y se sacan a la unidad de calculo de diferencia 102 y la unidad de adicion 106, como en el proceso de codificacion para el bloque objetivo en la imagen B11. No obstante, cuando se selecciona la codificacion dentro de una imagen, no se sacan datos de prediccion de la unidad de seleccion de modo 109. Ademas, los conmutadores 111 y 112 se controlan de la misma manera que se describe para codificar la imagen B11, segun se seleccione o bien codificacion dentro de una imagen o bien codificacion entre imagenes como un modo de codificacion por la unidad de seleccion de modo 109.
En lo sucesivo, se dara una descripcion de la operacion del aparato de codificacion de imagenes en movimiento 10 en el caso en que la unidad de seleccion de modo 109 selecciona codificacion predictiva entre imagenes cuando se codifica la imagen P12.
En este caso, la unidad de calculo de diferencia 102, la unidad de codificacion de error de prediccion 103, la unidad de generacion de flujo de bits 104, la unidad de decodificacion de error de prediccion 105, la unidad de adicion 106 y la memoria de cuadro 117 se operan de la misma manera que se describe para el caso en que la unidad de seleccion de modo 109 selecciona codificacion predictiva entre imagenes para codificar la imagen P11.
En este caso, no obstante, dado que las imagenes candidatas para una imagen de referencia hacia delante son diferentes de aquellas para codificar la imagen P11, cuando el modo de codificacion para el bloque objetivo es uno que realiza referencia hacia delante, la informacion de imagen de referencia a ser anadida al flujo de bits del bloque objetivo llega a ser informacion que indica a cual de las imagenes P7, P10 y B11 se hace referencia en la deteccion del vector de movimiento hacia delante.
Ademas, un metodo de gestion de memoria de cuadro y un metodo de asignacion informacion de imagen de referencia, que van a ser empleados en la codificacion de la imagen B12 son identicos a los empleados en la codificacion de la imagen B11 mostrada en la figura 3.
Como se describio anteriormente, segun la primera realizacion de la invencion, cuando se codifica una imagen B (imagen objetivo), una imagen B se usa como imagen candidata para una imagen de referencia hacia delante asf como imagenes P. Por lo tanto, una imagen hacia delante colocada la mas cercana a la imagen B objetivo se puede usar como una imagen de referencia para la imagen B objetivo, por lo cual se puede aumentar la precision de prediccion de compensacion de movimiento para la imagen B, provocando un aumento de la eficiencia de codificacion.
En esta primera realizacion, ninguna imagen B se usa como una imagen de referencia en la codificacion de una imagen P. Por lo tanto, incluso cuando ocurre un error en una imagen durante la decodificacion, la recuperacion del error se puede realizar perfectamente reanudando la decodificacion de una imagen I o P cerca de la imagen en la que ocurre el error de decodificacion. No obstante, los otros efectos obtenidos por la primera realizacion no se cambian incluso cuando una imagen B se usa como una imagen de referencia en la codificacion de una imagen P.
Ademas, dado que dos imagenes P y una imagen B se usan como imagenes candidatas para una imagen de referencia hacia delante en la codificacion de una imagen B, el numero de imagenes candidatas para una imagen de referencia hacia delante para una imagen B no se cambia en comparacion con el caso convencional en el que tres imagenes P se usan como imagenes candidatas para una imagen de referencia hacia delante para una imagen B. Por lo tanto, es posible evitar un aumento en la capacidad de la memoria de cuadro para contener imagenes candidatas de referencia y un aumento en la cantidad de procesamiento para deteccion de movimiento, cuyos aumentos se causan por la inclusion de la imagen B en las imagenes candidatas para una imagen de referencia hacia delante para una imagen B.
Ademas, en esta primera realizacion, informacion que indica que una imagen B se somete a codificacion de prediccion entre imagenes con referencia a una imagen B hacia delante e informacion que indica cuantas imagenes I o P y cuantas imagenes B se usan como imagenes candidatas para referencia hacia delante, se describen como informacion de cabecera de un flujo de bits a ser generado. Por lo tanto, es posible conocer la capacidad de una memoria de cuadro que se necesita cuando se decodifica el flujo de bits generado en el aparato de codificacion de imagenes en movimiento.
Ademas, cuando informacion tal como un vector de movimiento, un modo de codificacion y similares, se anade a un flujo de bits, si el modo de codificacion es uno que realiza referencia hacia delante, informacion de imagen de referencia para identificar imagenes de referencia, que se asignan a imagenes candidatas a ser referidas, se anade al flujo de bits y, ademas, informacion de imagen de referencia asignada a una imagen candidata que es en cuanto
5
10
15
20
25
30
35
40
45
50
55
al tiempo la mas cercana a la imagen objetivo se expresa con un codigo de una longitud de codigo mas corta, segun un metodo de gestion de la memoria de cuadro para imagenes de referencia. Por lo tanto, se puede reducir la cantidad total de codigos que expresan la informacion de imagen de referencia. Ademas, en la gestion de la memoria de cuadro, dado que la memoria de cuadro se gestiona con independencia del tipo de imagen, se puede minimizar la capacidad de la memoria de cuadro.
Por otra parte, en esta primera realizacion, cuando la memoria de cuadro para imagenes de referencia se gestiona con un area para imagenes P y un area para imagenes B que estan separadas una de la otra, se facilita la gestion de la memoria de cuadro.
Ademas, cuando un bloque en una imagen B se codifica en el modo directo, una imagen que se coloca la mas cercana a la imagen B en orden de tiempos de visualizacion se usa como una imagen de referencia hacia adelante, por lo cual se puede mejorar la eficiencia de prediccion en el modo directo para la imagen B.
Ademas, cuando un bloque en una imagen B va a ser codificado en el modo directo, una imagen a la que se hace referencia hacia delante en la codificacion de una imagen de referencia hacia atras se usa como imagen de referencia hacia delante, por lo cual se puede mejorar la eficiencia de prediccion en el modo directo para la imagen B.
Ademas, cuando un bloque en una imagen B va a ser codificado en el modo directo, la prediccion bidireccional con un vector de movimiento que es cero se lleva a cabo sobre la base de una imagen de referencia hacia delante y una imagen de referencia hacia atras, por lo cual el escalado del vector de movimiento en el modo directo llega a ser innecesario, provocando una reduccion en la complejidad de procesamiento de informacion. En este caso, incluso cuando un bloque que se incluye en la imagen de referencia hacia atras y se situa en la misma posicion que el bloque objetivo se codifica sin un vector de movimiento, la eficiencia de codificacion se puede mejorar usando el modo directo.
Ademas, cuando un bloque en una imagen B va a ser codificado en el modo directo, si un error de prediccion con respecto al bloque objetivo llega a ser cero, la informacion relativa al bloque objetivo no se describe en el flujo de bits, por lo cual se puede reducir la cantidad de codigos.
En esta primera realizacion, la compensacion de movimiento se realiza en unidades de espacios de imagenes (macrobloques) cada uno que comprende 16 pfxeles en la direccion horizontal X 16 pfxeles en la direccion vertical y la codificacion de una imagen de error de prediccion se realiza en unidades de espacios de imagenes (subbloques) cada uno que comprende 8 pfxeles en la direccion horizontal X 8 pfxeles en la direccion vertical. No obstante, el numero de pfxeles en cada macrobloque (subbloque) en compensacion de movimiento (codificacion de una imagen de error de prediccion) puede ser diferente del descrito para la primera realizacion.
Ademas, mientras que en esta primera realizacion el numero de imagenes B continuas es dos, el numero de imagenes B continuas puede ser tres o mas.
Por ejemplo, el numero de imagenes B colocadas entre una imagen I y una imagen P o entre dos imagenes P puede ser tres o cuatro.
Ademas, en esta primera realizacion, un modo de codificacion para una imagen P se selecciona de entre codificacion dentro de una imagen, codificacion predictiva entre imagenes usando un vector de movimiento y codificacion predictiva entre imagenes no usando un vector de movimiento, mientras que un modo de codificacion para una imagen B se selecciona de entre la codificacion dentro de una imagen, la codificacion predictiva entre imagenes usando un vector de movimiento hacia delante, la codificacion predictiva entre imagenes usando un vector de movimiento hacia atras, la codificacion predictiva entre imagenes usando vectores de movimiento bidireccionales y el modo directo. No obstante, el modo de codificacion para una imagen P o una imagen B puede ser distinto de los mencionados anteriormente.
Por ejemplo, cuando el modo directo no se usa como un modo de codificacion para una imagen B, se prescinde de la unidad de almacenamiento de vector de movimiento 116 en el aparato de codificacion de imagenes en movimiento 10.
Ademas, mientras que en esta primera realizacion la imagen B11 o B12 como una imagen B llega a ser una imagen candidata para una imagen de referencia en la codificacion de otra imagen, no es necesario almacenar una imagen B que no se va a ser usada como una imagen de referencia en la codificacion de otra imagen, en la memoria de imagenes de referencia 117. En este caso, la unidad de control de codificacion 110 apaga los conmutadores 114 y 115.
Ademas, mientras que en esta primera realizacion se usan tres imagenes como imagenes candidatas para referencia hacia delante en la codificacion de una imagen P, la presente invencion no se restringe a las mismas. Por ejemplo, se pueden usar dos imagenes o cuatro o mas imagenes como imagenes candidatas para referencia hacia delante en la codificacion de una imagen P.
5
10
15
20
25
30
35
40
45
50
55
Mientras que en esta primera realizacion se usan dos imagenes P y una imagen B como imagenes candidatas para referencia hacia delante en la codificacion de una imagen B, las imagenes candidatas para referencia hacia delante en la codificacion de una imagen B no se restringen a las mencionadas anteriormente.
Por ejemplo, en la codificacion de una imagen B, las imagenes candidatas para referencia hacia delante pueden ser una imagen P y dos imagenes B o dos imagenes P y dos imagenes B o tres imagenes las mas cercanas a la imagen objetivo con independencia del tipo de imagen. Ademas, no una imagen B la mas cercana a la imagen objetivo en el eje de tiempo de visualizacion sino una imagen B separada de la imagen objetivo en el eje de tiempo de visualizacion se puede usar como una imagen candidata de referencia.
Ademas, en un caso en el que, en la codificacion de un bloque en una imagen B, se hace referencia a una imagen hacia atras y solamente se usa una imagen la mas cercana a la imagen objetivo como una imagen candidata para referencia hacia delante, no es necesario describir informacion que indica a que imagen se hace referencia en la codificacion del bloque objetivo (informacion de imagen de referencia) en el flujo de bits.
Ademas, en esta primera realizacion, cuando se codifica una imagen B, se hace referencia a una imagen B que se coloca hacia delante de una imagen P que se coloca hacia delante y la mas cercana a la imagen objetivo. No obstante, en la codificacion de una imagen B, no se hace referencia necesariamente a una imagen B que se coloca hacia delante de una imagen I o P que esta hacia delante y la mas cercana a la imagen objetivo. En este caso, cuando se decodifica un flujo de bits generado, incluso si ocurre un error durante la decodificacion, la recuperacion del error se puede llevar a cabo perfectamente reanudando la decodificacion de una imagen I o P junto a la imagen en la que ocurre el error.
Por ejemplo, las figuras 9(a) y 9(b) son diagramas que ilustran un caso en el que, cuando se codifica una imagen B, se hace referencia a una imagen B que esta colocada hacia delante de una imagen P que se coloca hacia delante y la mas cercana a la imagen objetivo.
La figura 9(a) ilustra una disposicion de imagen y las relaciones entre imagenes B e imagenes de referencia. Para ser espedficos, en la figura 9(a), se colocan dos imagenes B entre imagenes P adyacentes y se usan una imagen P y dos imagenes B como imagenes candidatas para una imagen de referencia hacia delante para una imagen B (es decir, una imagen a ser referida cuando se codifica la imagen B objetivo).
La figura 9(b) ilustra otra disposicion de imagen y las relaciones entre imagenes B e imagenes de referencia. Para ser espedficos, en la figura 9(b), se colocan cuatro imagenes B entre imagenes P adyacentes y dos imagenes que son en cuanto al tiempo las mas cercanas a la imagen objetivo, con independencia del tipo de imagen, se usan como imagenes candidatas para una imagen de referencia hacia delante para una imagen B.
Ademas, las figuras 10(a) y 10(b) son diagramas que ilustran un caso en el que, cuando se codifica una imagen B, no se hace referencia a una imagen B que se coloca hacia delante de una imagen I o P que se coloca hacia delante y la mas cercana a la imagen objetivo.
Para ser espedficos, en la figura 10(a), se colocan dos imagenes B entre imagenes P adyacentes, una imagen P y una imagen B se usan como imagenes candidatas para una imagen de referencia hacia delante para una imagen B y una imagen B que se coloca hacia delante de una imagen P que se coloca hacia delante y la mas cercana a la imagen objetivo no se usa como una imagen candidata para la imagen de referencia hacia delante.
En la figura 10(b), se colocan cuatro imagenes B entre imagenes P adyacentes, una imagen P y una imagen B se usan como imagenes candidatas para una imagen de referencia hacia delante para una imagen B y una imagen B que se coloca hacia delante de una imagen P que se coloca hacia delante y la mas cercana a la imagen objetivo no se usa como una imagen candidata para la imagen de referencia hacia delante.
Ademas, en esta primera realizacion, se usan tres imagenes como imagenes candidatas de referencia para una imagen P y dos imagenes P y una imagen B se usan como imagenes candidatas para referencia hacia delante para una imagen B, es decir, el numero de imagenes al que se puede hacer referencia cuando se codifica una imagen P es igual al numero de imagenes al que se puede hacer referencia hacia delante cuando se codifica una imagen B. No obstante, el numero de imagenes al que se puede hacer referencia hacia delante cuando se codifica una imagen B puede ser menor que el numero de imagenes al que se puede hacer referencia cuando se codifica una imagen P.
Ademas, mientras que en esta primera realizacion se describen cuatro metodos como ejemplos de codificacion de modo directo, uno de estos cuatro metodos o algunos de estos cuatro metodos se pueden emplear en el modo directo. No obstante, cuando se emplean metodos plurales, es deseable describir informacion que indica los modos directos empleados (informacion de modo DM) en el flujo de bits.
Por ejemplo, cuando se usa un metodo sobre la secuencia entera, se describe informacion de modo DM en la cabecera de la secuencia entera. Cuando se selecciona un metodo para cada imagen, se describe informacion de modo DM en la cabecera de la imagen. Cuando se selecciona un metodo para cada bloque, se describe informacion de modo DM en la cabecera del bloque.
5
10
15
20
25
30
35
40
45
50
Aunque se describe una imagen o un bloque como una unidad para la cual se selecciona uno de los metodos de codificacion de modo directo, puede ser un GOP (Grupo de imagenes) que comprende imagenes plurales, un GOB (Grupo de Bloques) que comprende bloques plurales o un segmento que se obtiene dividiendo una imagen.
Ademas, mientras que en esta primera realizacion un metodo de gestion de memoria de cuadro se describe con referencia a la figura 3, los metodos de gestion de memoria de cuadro aplicables no se restringen al mostrado en la figura 3.
A continuacion, se describiran otros metodos de gestion de memoria de cuadro.
Inicialmente, un primer ejemplo de un metodo de gestion de memoria de cuadro en el que todas las imagenes usadas como imagenes de referencia se separan en imagenes P e imagenes B a ser gestionadas, se describira con referencia a la figura 11.
En este caso, la memoria de cuadro 117 tiene areas de memoria para seis imagenes en total, es decir, las areas de memoria de imagenes P (#1)~(#4) y areas de memoria de imagenes B (#1) y (#2). Un almacenamiento para cada imagen no se restringe a un area en la memoria de cuadro y puede ser una memoria.
Cuando se inicia la codificacion de la imagen P13, las imagenes P1, P4, P7 y P10 se almacenan en las areas de memoria de imagenes P (#1)~(#4) en la memoria de cuadro 117, respectivamente y las imagenes B8 y B9 se almacenan en las areas de memoria de imagenes B (#1) y (#2), respectivamente. La imagen P13 se codifica usando las imagenes P4, P7 y P10 como imagenes candidatas para una imagen de referencia y la imagen codificada P13 se almacena en el area (#1) en la que se habfa almacenado la imagen P1, debido a que la imagen P1 no se usa como una imagen de referencia cuando se codifica la imagen P13 y las imagenes posteriores.
En este caso, un metodo para asignar informacion de imagen de referencia a las imagenes P4, P7 y P10 como imagenes candidatas es identico al metodo mostrado en la figura 3, es decir, un mdice de imagen de referencia menor se asigna a una imagen candidata que es en cuanto al tiempo mas cercana a la imagen objetivo.
Para ser espedficos, un mdice de imagen de referencia [0] se asigna a una imagen candidata hacia delante que es la mas cercana a la imagen objetivo, un mdice de imagen de referencia [1] se asigna a una imagen candidata que es la segunda cercana a la imagen objetivo y un mdice de imagen de referencia [2] se asigna a una imagen candidata que es la mas distante de la imagen objetivo.
En la figura 11, a las imagenes a ser usadas como imagenes de referencia hacia atras se asignan codigos [b] como informacion de imagen de referencia y a las imagenes que no se usan como imagenes de referencia cuando se codifica la imagen objetivo y las imagenes posteriores se asignan codigos [n].
A continuacion, un segundo ejemplo de un metodo de gestion de memoria de cuadro en el que todas las imagenes usadas como imagenes de referencia se separan en imagenes P e imagenes B a ser gestionadas, se describira con referencia a la figura 12.
Dado que la gestion de memoria en este segundo ejemplo es identica a la del primer ejemplo mostrado en la figura 11, no es necesaria una descripcion repetida.
En este segundo ejemplo, como un metodo de asignacion de indices de imagenes de referencia, la asignacion de indices a las imagenes almacenadas en las areas de memoria de imagenes P se lleva a cabo con prioridad. No obstante, en la codificacion de la imagen P13, dado que no se usan imagenes B como imagenes de referencia, no se asignan indices a las imagenes B. Por consiguiente, un mdice de imagen de referencia [0] se asigna a la imagen P10, un mdice de imagen de referencia [1] se asigna a la imagen P7 y un mdice de imagen de referencia [2] se asigna a la imagen P4.
A continuacion, un tercer ejemplo de un metodo de gestion de memoria de cuadro en el que todas las imagenes usadas como imagenes de referencia se separan en imagenes P e imagenes B a ser gestionadas, se describira con referencia a la figura 13.
Dado que la gestion de memoria en este tercer ejemplo es identica a la del primer ejemplo mostrado en la figura 11, no es necesaria una descripcion repetida.
En este tercer ejemplo, como un metodo para asignar indices de imagenes de referencia, la asignacion de indices a las imagenes almacenadas en las areas de memoria de imagenes B se lleva a cabo con prioridad. No obstante, en la codificacion de la imagen P13, dado que no se usan imagenes B como imagenes de referencia, no se asignan indices a las imagenes B. Por consiguiente, un mdice de imagen de referencia [0] se asigna a la imagen P10, un mdice de imagen de referencia [1] se asigna a la imagen P7 y un mdice de imagen de referencia [2] se asigna a la imagen P4.
A continuacion, un cuarto ejemplo de un metodo de gestion de memoria de cuadro en el que todas las imagenes usadas como imagenes de referencia se separan en imagenes P e imagenes B a ser gestionadas, se describira con referencia a la figura 14.
5
10
15
20
25
30
35
40
45
50
55
Dado que la gestion de memoria en este cuarto ejemplo es identica a la del primer ejemplo mostrado en la figura 11, no es necesaria una descripcion repetida.
En este tercer ejemplo, como un metodo para asignar indices de imagenes de referencia, o bien las imagenes almacenadas en el area de memoria de imagenes P o bien las imagenes almacenadas en el area de memoria de imagenes B se seleccionan para cada imagen objetivo a ser codificada y se dan indices de imagenes de referencia a las imagenes seleccionadas con prioridad.
Para ser espedficos, segun el tipo de imagen de referencia que es en cuanto al tiempo la mas cercana a la imagen objetivo, se determina que o bien la imagen almacenada en el area de memoria de imagenes P o bien la imagen almacenada en el area de memoria de imagenes B se la debena dar prioridad en la asignacion de indices de imagenes de referencia.
En la codificacion de la imagen P13, dado que no se usa una imagen B como una imagen de referencia, los indices de imagenes de referencia se asignan a las imagenes almacenadas en el area de memoria de imagenes P con prioridad. Por consiguiente, un mdice de imagen de referencia [0] se asigna a la imagen P10, un mdice de imagen de referencia [1] se asigna a la imagen P7 y un mdice de imagen de referencia [2] se asigna a la imagen P4. En este caso, informacion que indica que los indices de imagenes de referencia se dan a las imagenes almacenadas en las areas de memoria de imagenes P con prioridad, se describe en la cabecera de cada imagen.
En los metodos de asignacion de mdice de imagen de referencia mostrados en las figuras 3 y 11 a 14, cuanto menor sea el mdice de imagen de referencia, mas corta sera la longitud de un codigo que indica el mdice de imagen de referencia. Dado que, en general, una imagen que es en cuanto al tiempo mas cercana a la imagen objetivo es mas probable que sea usada como una imagen de referencia, la cantidad total de codigos que expresan los indices de imagenes de referencia se puede reducir determinando las longitudes de los codigos que expresan los indices de imagenes de referencia, como se menciono anteriormente.
Mientras que los cinco metodos mostrados en las figuras 3 y 11~14 se describen relativos a la gestion de memoria de cuadro y la asignacion de indices de imagenes de referencia, uno de estos metodos se puede seleccionar previamente para su uso. Ademas, algunos de estos metodos se pueden usar conmutandolos. En este caso, no obstante, es deseable describir informacion acerca de los metodos que se usan, como informacion de cabecera o similar.
Ademas, cuando informacion que indica que cada imagen P se somete a codificacion predictiva entre imagenes usando tres imagenes candidatas de referencia se describe como informacion de cabecera, es posible conocer la capacidad de una memoria de cuadro que se necesita en la decodificacion del flujo de bits Bs generado en el aparato de codificacion de imagenes en movimiento 10 segun la primera realizacion. Estas informaciones de cabecera se pueden describir en la cabecera de la secuencia entera, la cabecera de cada GOP (Grupo de Imagenes) que comprende imagenes plurales o la cabecera de cada imagen.
Subsecuentemente, como un metodo de gestion de memoria de cuadro y un metodo de asignacion de informacion de imagen de referencia a ser usados en la codificacion de la imagen B11, se describiran metodos distintos del mostrado en la figura 3 (es decir, metodos de separacion de las imagenes candidatas de referencia en imagenes P e imagenes B para gestion).
Inicialmente, se dara una descripcion de un primer ejemplo de un metodo para separar las imagenes candidatas de referencia en imagenes P e imagenes B a ser gestionadas, con referencia a la figura 11.
Cuando se inicia la codificacion de la imagen B11, en la memoria de cuadro 117, las imagenes P4, P7, P10 y P13 se almacenan en las areas de memoria de imagenes P mientras que las imagenes B8 y B9 se almacenan en las areas de memoria de imagenes B. La imagen P11 se codifica usando las imagenes P7, B9 y P10 como imagenes candidatas para referencia hacia delante y la imagen P13 como una imagen candidata para referencia hacia atras y entonces la imagen codificada P11 se almacena en el area en la que la imagen P8 se habfa almacenado, debido a que la imagen P8 no se usa como una imagen de referencia en la codificacion de la imagen P11 y las imagenes posteriores.
En este caso, como un metodo para asignar informacion de imagen de referencia a cada imagen (es decir, informacion que indica cual de las imagenes candidatas de referencia P7, B9 y P10 se usa como una imagen de referencia en la deteccion del vector de movimiento hacia adelante), un metodo para asignar indices de imagenes de referencia a las imagenes candidatas de referencia, comenzando desde una que es en cuanto al tiempo la mas cercana a la imagen objetivo, se usa como se describio con respecto a la figura 3.
Es decir, un mdice de imagen de referencia [0] se asigna a una imagen candidata (imagen P10) que esta justo anterior a la imagen objetivo (imagen B11), un mdice de imagen de referencia [1] se asigna a una imagen candidata (imagen B9) que es dos imagenes anterior a la imagen objetivo y un mdice de imagen de referencia [3] se asigna a una imagen candidata (imagen 7), que es tres imagenes anterior a la imagen objetivo.
5
10
15
20
25
30
35
40
45
50
A continuacion, un segundo ejemplo de un metodo de gestion de memoria de cuadro en el que las imagenes candidatas de referencia se separan en imagenes P e imagenes B a ser gestionadas en la codificacion de la imagen B11, se describira con referencia a la figura 12.
Dado que la gestion de memoria en este segundo ejemplo es identica a la del primer ejemplo mostrado en la figura 11, no es necesaria una descripcion repetida.
En este segundo ejemplo, como un metodo para asignar indices de imagenes de referencia, la asignacion de indices a las imagenes almacenadas en las areas de memoria de imagenes P se lleva a cabo con prioridad. Por consiguiente, un mdice de imagen de referencia [0] se asigna a la imagen P10, un mdice de imagen de referencia [1] se asigna a la imagen P7 y un mdice de imagen de referencia [2] se asigna a la imagen B9.
A continuacion, un tercer ejemplo de un metodo de gestion de memoria de cuadro en el que imagenes candidatas de referencia se separan en imagenes P e imagenes B a ser gestionadas en la codificacion de la imagen B11, se describira con referencia a la figura 13.
Dado que la gestion de memoria en este tercer ejemplo es identica a la del primer ejemplo mostrado en la figura 11, no es necesaria una descripcion repetida.
En este tercer ejemplo, como un metodo para asignar indices de imagenes de referencia, la asignacion de indices a las imagenes almacenadas en las areas de memoria de imagenes B se lleva a cabo con prioridad. Por consiguiente, un mdice de imagen de referencia [0] se asigna a la imagen B9, un mdice de imagen de referencia [1] se asigna a la imagen P10 y un mdice de imagen de referencia [2] se asigna a la imagen P7.
A continuacion, un cuarto ejemplo de un metodo de gestion de memoria de cuadro en el que imagenes candidatas de referencia se separan en imagenes P e imagenes B a ser gestionadas en la codificacion de la imagen B11, se describiran con referencia a la figura 14.
Dado que la gestion de memoria en este cuarto ejemplo es identica a la del primer ejemplo mostrado en la figura 11, no es necesaria una descripcion repetida.
En este cuarto ejemplo, como un metodo para asignar indices de imagenes de referencia o bien las imagenes almacenadas en las areas de memoria de imagenes P o bien las imagenes almacenadas en las areas de memoria de imagenes B se seleccionan para cada imagen objetivo a ser codificada y se dan indices de imagenes de referencia a las imagenes seleccionadas con prioridad.
Para ser espedficos, se determina a cual de la memoria de imagenes P y la memoria de imagenes B se la debenan asignar indices de imagenes de referencia, segun el tipo de imagen candidata de referencia que es en cuanto al tiempo la mas cercana a la imagen objetivo a ser codificada.
En la codificacion de la imagen B11, dado que la imagen de referencia hacia delante que es en cuanto al tiempo la mas cercana a la imagen objetivo es la imagen P10, los indices de imagenes de referencia se asignan a las imagenes almacenadas en el area de memoria de imagenes P con prioridad.
Por consiguiente, un mdice de imagen de referencia [0] se asigna a la imagen P10, un mdice de imagen de referencia [1] se asigna a la imagen P7 y un mdice de imagen de referencia [2] se asigna a la imagen B9. En este caso, informacion que indica que los indices de imagenes de referencia se dan a las imagenes almacenadas en las areas de memoria de imagenes P con prioridad, se describe en la cabecera de cada imagen.
En los metodos de asignacion de indices de imagenes de referencia cuando se codifica la imagen B11 (los cinco metodos mostrados en las figuras 3 y 11 a 14), como en el caso de codificacion de la imagen P13, cuanto menor sea el mdice de imagen de referencia, mas corta sera la longitud de un codigo que indica el mdice de imagen de referencia.
Ademas, en la codificacion de la imagen B B11, como en el caso de codificacion de la imagen P P13, uno de los cinco metodos se puede seleccionar previamente para su uso. Ademas, algunos de estos metodos se pueden usar conmutandolos. No obstante, en el caso en el que se usan metodos plurales conmutandolos, es deseable que informacion acerca de los metodos que se usan se debiera describir como informacion de cabecera o similar.
Ademas, describiendo, como informacion de cabecera, informacion que indica que una imagen B se somete a codificacion predictiva entre imagenes usando una imagen B hacia delante como una imagen candidata de referencia e informacion que indica que imagenes candidatas para referencia hacia delante, que se usan en la codificacion de la imagen B, son dos imagenes I o P y una imagen B, es posible conocer la capacidad de almacenamiento de una memoria de cuadro que se necesita en la decodificacion del flujo de bits generado en el aparato de codificacion de imagenes en movimiento 10 segun la primera realizacion. Estas informaciones de cabecera se pueden describir en la cabecera de la secuencia entera, la cabecera de cada GOP (Grupo de Imagenes) que comprende imagenes plurales o la cabecera de cada imagen.
5
10
15
20
25
30
35
40
45
50
Finalmente, como un metodo de gestion de memoria de cuadro y un metodo de asignacion de informacion de imagen de referencia a ser empleado en la codificacion de la imagen B12, se describiran metodos distintos del mostrado en la figura 3 (es decir, los metodos de separacion de imagenes candidatas de referencia en imagenes P e imagenes B a ser gestionadas).
Dado que del primer a tercer ejemplos mostrados en las figuras 11 a 13 son identicos a los del caso de codificacion de la imagen B11, no es necesaria una descripcion repetida.
Asf, solamente un cuarto ejemplo de gestion de imagenes candidatas de referencia que se separan en imagenes P e imagenes B se describira para la imagen B12, con referencia a la figura 14.
Dado que la gestion de memoria en este cuarto ejemplo es identica a la del primer ejemplo en el que imagenes candidatas de referencia se separan en imagenes P e imagenes B a ser gestionadas en la codificacion de la imagen B11, no es necesaria una descripcion repetida.
En este cuarto ejemplo, como para un metodo de asignacion, a cada imagen, de informacion que indica a cual de las imagenes candidatas de referencia P7, P10 y B11 se hace referencia en la deteccion del vector de movimiento hacia delante, se usa un metodo de determinacion, para cada imagen a ser codificada, se debena dar prioridad o bien a las imagenes candidatas almacenadas en las areas de memoria de imagenes P o bien a las imagenes candidatas almacenadas en las areas de memoria de imagenes B.
Para ser espedficos, en la codificacion de la imagen B12, a cual de la imagen candidata en el area de memoria de imagenes P y la del area de memoria de imagenes B se debena asignar un mdice de imagen de referencia con prioridad, se determina segun el tipo de la imagen de referencia que es en cuanto al tiempo la mas cercana a la imagen objetivo.
En la codificacion de la imagen B12, dado que la imagen candidata de referencia hacia delante que es en cuanto al tiempo la mas cercana a la imagen objetivo (imagen B12) es la imagen B11, a las imagenes almacenadas en las areas de memoria de imagenes B se asignan indices con prioridad.
Por consiguiente, un mdice de imagen de referencia [0] se asigna a la imagen B11, un mdice de imagen de referencia [1] se asigna a la imagen P10 y un mdice de imagen de referencia [2] se asigna a la imagen P7. En este caso, informacion que indica que tiene prioridad la asignacion de indices de imagenes de referencia para las imagenes en las areas de memoria de imagenes B se describe en la cabecera de cada imagen.
Ademas, como en el caso de la codificacion de la imagen B11, se describen, como informacion de cabecera, que la imagen B se somete a codificacion predictiva entre imagenes usando tambien la imagen B hacia delante como una imagen candidata de referencia y que las imagenes candidatas de referencia hacia delante usadas en la codificacion de la imagen B son dos imagenes I o P y una imagen B.
Ademas, en esta primera realizacion, los cinco ejemplos de metodos de gestion de memoria de cuadro (figuras 3, 11~14) se describen con respecto al caso en el que hay tres imagenes candidatas de referencia para una imagen P y hay dos imagenes P y una imagen B como imagenes candidatas de referencia hacia delante para una imagen B. No obstante, cada uno de los cinco ejemplos de metodos de gestion de memoria de cuadro se puede aplicar a casos en los que el numero de imagenes candidatas de referencia es diferente de los mencionados para la primera realizacion. Cuando el numero de imagenes candidatas de referencia difiere de los de la primera realizacion, la capacidad de la memoria de cuadro difiere de la de la primera realizacion.
Ademas, en esta primera realizacion, en los metodos de gestion de la memoria de cuadro en la que las imagenes candidatas de referencia se separan en imagenes P e imagenes B (cuatro ejemplos mostrados en las figuras 11~14), las imagenes P se almacenan en las areas de memoria de imagenes P mientras que las imagenes B se almacenan en las areas de memoria de imagenes B. No obstante, una memoria de imagenes a corto plazo y una memoria de imagenes a largo plazo que se definen en H.263 ++ se pueden usar como areas de memoria en las que se almacenan imagenes. Por ejemplo, la memoria de imagenes a corto plazo y la memoria de imagenes a largo plazo se pueden usar como un area de memoria de imagenes P y un area de memoria de imagenes B, respectivamente.
[Realizacion 2]
En lo sucesivo, se describira una segunda realizacion de la presente invencion.
La figura 15 es un diagrama de bloques para explicar un aparato de decodificacion de imagenes en movimiento 20 segun una segunda realizacion de la presente invencion.
El aparato de decodificacion de imagenes en movimiento 20 decodifica el flujo de bits Bs sacados del aparato de codificacion de imagenes en movimiento 10 segun con la primera realizacion.
Para ser espedficos, el aparato de decodificacion de imagenes en movimiento 20 incluye una unidad de analisis de flujo de bits 201 para analizar el flujo de bits Bs y extraer diversos tipos de datos; una unidad de decodificacion de
5
10
15
20
25
30
35
40
45
50
55
error de prediccion 202 para decodificar datos codificados Ed sacados de la unidad de analisis de flujo de bits 201 para sacar datos de error de prediccion PDd; y una unidad de decodificacion de modo 223 para sacar una senal de control de conmutacion Cs sobre la base de informacion de modo (modo de codificacion) Ms relativa a la seleccion de modo, que se extrae por la unidad de analisis de flujo de bits 201.
El aparato de decodificacion de imagenes en movimiento 20 incluye ademas una memoria de imagenes de referencia 207 para contener datos de imagen decodificados Dld y sacar los datos de imagen almacenados como datos de referencia Rd o datos de imagen de salida Od; una unidad de decodificacion de compensacion de movimiento 205 para generar datos de prediccion Pd sobre la base de los datos (datos de imagen de referencia) Rd que se leen de la memoria de imagenes de referencia 207, informacion de un vector de movimiento MV que se extrae por la unidad de analisis de flujo de bits 201 y el modo de codificacion Ms que se saca de la unidad de decodificacion de modo 223; y una unidad de adicion 208 para anadir los datos de prediccion Pd a los datos de salida PDd desde la unidad de decodificacion de error de prediccion 202 para generar datos decodificados Ad.
El aparato de decodificacion de imagenes en movimiento 20 incluye ademas una unidad de control de memoria 204 para controlar la memoria de imagenes de referencia 207 con una senal de control de memoria Cm sobre la base de informacion de cabecera Ih que se extrae por la unidad de analisis de flujo de bits 201; un conmutador de seleccion
209 colocado entre la unidad de decodificacion de error de prediccion 202 y la unidad de adicion 208; y un conmutador de seleccion 210 colocado entre la unidad de adicion 208 y la memoria de imagenes de referencia 207.
El conmutador de seleccion 201 tiene un terminal de entrada Te y dos terminales de salida Tf1 y Tf2, y el terminal de entrada Te se conecta a uno de los terminales de salida Tf1 y Tf2, segun la senal de control de conmutacion Cs. El conmutador de seleccion 210 tiene dos terminales de entrada Tg1 y Tg2 y un terminal de salida Th y el terminal de salida Th se conecta a uno de los terminales de entrada Tg1 y Tg2, segun la senal de control de conmutacion Cs. Ademas, en el conmutador de seleccion 209, los datos de salida PDd de la unidad de decodificacion de error de prediccion 202 se aplican al terminal de entrada Te y los datos de salida PDd de la unidad de decodificacion de error de prediccion 202 se sacan desde un terminal de salida Tf1 al terminal de entrada Tg1 del conmutador de seleccion
210 mientras que los datos de salida PDd se sacan desde el otro terminal de salida Tf2 a la unidad de adicion 208. En el conmutador de seleccion 210, los datos de salida PDd de la unidad de decodificacion de error de prediccion 202 se aplican a un terminal de entrada Tg1 mientras que los datos de salida Ad de la unidad de adicion 208 se introducen al otro terminal de entrada Tg1 y o bien los datos de salida PDd o bien los datos de salida Ad se sacan desde el terminal de salida Th a la memoria de imagenes de referencia 207 como datos de imagen decodificados Dld.
Ademas, el aparato de decodificacion de imagenes en movimiento 20 incluye una unidad de almacenamiento de vector de movimiento 226 para contener el vector de movimiento MV de la unidad de decodificacion de compensacion de movimiento 205 y sacar el vector de movimiento MV almacenado a la unidad de decodificacion de compensacion de movimiento 205.
A continuacion, se describira la operacion.
En la siguiente descripcion, a una imagen que se coloca hacia delante o hacia atras de una imagen objetivo a ser decodificada en un eje de tiempo de visualizacion se hace referencia como una imagen que esta en cuanto al tiempo hacia delante o hacia atras de la imagen objetivo o simplemente como una imagen hacia delante o una imagen hacia atras.
El flujo de bits B generado en el aparato de codificacion de imagenes en movimiento 10 de la primera realizacion se introduce en el aparato de decodificacion de imagenes en movimiento 20 mostrado en la figura 15. En esta segunda realizacion, un flujo de bits de una imagen P se obtiene realizando codificacion predictiva entre imagenes con referencia a una imagen seleccionada de entre tres imagenes candidatas (imagenes I o P) que estan colocadas cerca de y en cuanto al tiempo hacia delante o hacia atras de la imagen P. Ademas, un flujo de bits de una imagen B se obtiene realizando codificacion predictiva entre imagenes con referencia a dos imagenes seleccionadas de entre cuatro imagenes candidatas colocadas hacia delante o hacia atras de la imagen B (es decir, hacia delante de dos imagenes I o P que son en cuanto al tiempo las mas cercanas a la imagen objetivo, una imagen B que es en cuanto al tiempo la mas cercana a la imagen objetivo y una imagen I o P que esta colocada en cuanto al tiempo detras de la imagen objetivo). Las cuatro imagenes candidatas para la imagen B objetivo incluyen otra imagen B que esta colocada en cuanto al tiempo delante de la imagen B objetivo.
Ademas, a que imagenes candidatas se hace referencia cuando se codifica la imagen P o la imagen B objetivo se puede describir como informacion de cabecera del flujo de bits. Por consiguiente, es posible conocer a que imagenes se hace referencia cuando se codifica la imagen objetivo, extrayendo la informacion de cabecera en la unidad de analisis de flujo de bits 201. Esta informacion de cabecera Ih tambien se saca a la unidad de control de memoria 204.
En este caso, los datos codificados que corresponden a imagenes en el flujo de bits se disponen en orden de codificacion como se muestra en la figura 16(a).
5
10
15
20
25
30
35
40
45
50
55
Para ser espedficos, los datos codificados de las imagenes en el flujo de bits Bs se disponen en el orden de P4, B2, B3, P7, B5, B6, P10, B8, B9, P13, B11, B12, P16, B14 y B15. En otras palabras, en esta disposicion de imagenes, las imagenes respectivas se disponen sucesivamente desde una que tiene un tiempo de decodificacion anterior en un eje de tiempo de decodificacion Y que indica los tiempos de decodificacion Tdec de las imagenes (disposicion en orden de decodificacion).
La figura 16(b) muestra una disposicion de imagenes en la que las imagenes dispuestas en orden de decodificacion se reordenan en orden de visualizacion. Es decir, en la figura 16(b), las imagenes B2, B3, P4, B5, B6, P7, B8, B9, P10, B11, B12, P13, B14, B15 y P16 se disponen sucesivamente desde una que tiene un tiempo de visualizacion anterior en un eje de tiempo de visualizacion X que indica los tiempos de visualizacion Td es de las imagenes respectivas (disposicion en orden de visualizacion).
En lo sucesivo, los procesos de decodificacion de las imagenes P13, B11 y B12 se describiran en este orden. <Proceso de decodificacion para la imagen P13>
El flujo de bits de la imagen P13 se introduce a la unidad de analisis de flujo de bits 201. La unidad de analisis de flujo de bits 201 extrae varios tipos de datos a partir del flujo de bits introducido. Los datos respectivos son como sigue: informacion para realizar la seleccion de modo, es decir, informacion que indica un modo de codificacion Ms (en lo sucesivo referido simplemente como un modo de codificacion); informacion que indica un vector de movimiento MV (en lo sucesivo referido simplemente como un vector de movimiento), informacion de cabecera, datos codificados (informacion de imagen) y similares. El modo de codificacion extrafdo Ms se saca a la unidad de decodificacion de modo 203. Ademas, el vector de movimiento MV extrafdo se saca a la unidad de decodificacion de compensacion de movimiento 205. Ademas, los datos codificados de error de prediccion Ed extrafdos por la unidad de analisis de flujo de bits 201 se sacan a la unidad de decodificacion de error de prediccion 202.
La unidad de decodificacion de modo 203 controla los conmutadores 209 y 210 sobre la base del modo de codificacion Ms extrafdo del flujo de bits. Cuando el modo de codificacion indica codificacion entre imagenes, el conmutador 209 se controla de manera que el terminal de entrada Te se conecta al terminal de salida Tf1 y el conmutador 210 se controla de manera que el terminal de salida Th se conecta al terminal de entrada Tg1. Ademas, cuando el modo de codificacion indica codificacion de prediccion entre imagenes, el conmutador 209 se controla de manera que el terminal de entrada Te se conecta al terminal de salida Tf2 y el conmutador 210 se controla de manera que el terminal de salida Th se conecta al terminal de entrada Tg2. Ademas, la unidad de decodificacion de modo 203 saca el modo de codificacion Ms a la unidad de decodificacion de compensacion de movimiento 205.
En lo sucesivo, se dara una descripcion del caso en el que el modo de codificacion es codificacion predictiva entre imagenes.
La unidad de decodificacion de error de prediccion 202 decodifica los datos codificados Ed introducidos para generar datos de error de prediccion PDd. Los datos de error de prediccion PDd generados se sacan al conmutador 209. En este caso, dado que el terminal de entrada Te del conmutador 209 se conecta al terminal de salida Tf2, los datos de error de prediccion PDd se sacan a la unidad de adicion 208.
La unidad de decodificacion de compensacion de movimiento 205 realiza compensacion de movimiento sobre la base del vector de movimiento MV y el mdice de imagen de referencia Rp que se extraen por la unidad de analisis 201 y obtiene una imagen de compensacion de movimiento de la memoria de imagenes de referencia 207. Esta imagen de compensacion de movimiento es una imagen en un area en la imagen de referencia, cuya area corresponde a un bloque objetivo a ser decodificado.
La imagen P13 se ha codificado usando las imagenes P4, P7 y P10 como imagenes candidatas para referencia hacia delante. Cuando se decodifica la imagen P13, estas imagenes candidatas ya se han decodificado y se almacenan en la memoria de imagenes de referencia 207.
Asf, la unidad de decodificacion de compensacion de movimiento 205 determina cual de las imagenes P4, P7 y P10 se usan como una imagen de referencia cuando se codifica el bloque objetivo de la imagen P13. Entonces, la unidad de decodificacion de compensacion de movimiento 205 obtiene una imagen en un area en la imagen de referencia, cuya area corresponde al bloque objetivo, como una imagen de compensacion de movimiento de la memoria de imagenes de referencia 207 sobre la base del vector de movimiento.
En lo sucesivo, se dara una descripcion de como cambian con el tiempo las imagenes almacenadas en la memoria de imagenes de referencia 207 y un metodo para determinar una imagen de referencia, con referencia a la figura 3.
La memoria de imagenes de referencia 207 se controla por la unidad de control de memoria 204 sobre la base de informacion que indica que tipo de referencia se ha llevado a cabo para obtener imagenes P e imagenes B (informacion de imagen de referencia), cuya informacion se extrae de la informacion de cabecera del flujo de bits.
Como se muestra en la figura 3, la memoria de imagenes de referencia 207'tiene areas de memoria (#1)~(#5) para cinco imagenes. Cuando se inicia la decodificacion de la imagen P13, las imagenes B8, P4, P7, P10 y B9 se
5
10
15
20
25
30
35
40
45
50
almacenan en la memoria de imagenes de referencia 207. La imagen P13 se decodifica usando las imagenes P4, P7 y P10 como imagenes candidatas para una imagen de referencia. La imagen decodificada P13 se almacena en el area de memoria en la que se ha almacenado la imagen P8. La razon es como sigue. Mientras que las imagenes P4, P7 y P10 se usan como imagenes candidatas para una imagen de referencia cuando se decodifican la imagen P13 y las siguientes imagenes, la imagen B8 no se usa como una imagen de referencia cuando se decodifican estas imagenes.
En la figura 3, cada imagen en un drculo es una imagen (imagen objetivo) que se almacena finalmente en la memoria de imagenes de referencia 207 cuando se ha completado la decodificacion de la imagen objetivo.
En este caso, a que imagen se ha hecho referencia en la deteccion del vector de movimiento del bloque objetivo en la imagen P13 se puede determinar a partir de la informacion de imagen de referencia que se anade al vector de movimiento.
Concretamente, la informacion de imagen de referencia es indices de imagenes de referencia y los indices de imagenes de referencia se asignan a las imagenes candidatas de referencia para la imagen P13. Esta asignacion de los indices de imagenes de referencia a las imagenes candidatas de referencia se lleva a cabo de manera que un mdice menor se asigna a una imagen candidata de referencia que es en cuanto al tiempo mas cercana a la imagen objetivo (imagen P13).
Para ser espedficos, cuando se ha hecho referencia a la imagen P10 en la codificacion del bloque objetivo de la imagen P13, informacion que indica que la imagen candidata (imagen P10) justo anterior a la imagen objetivo se ha usado como una imagen de referencia (por ejemplo, mdice de imagen de referencia [0]) se describe en el flujo de bits del bloque objetivo. Ademas, cuando se ha hecho referencia a la imagen P7 en la codificacion del bloque objetivo, informacion que indica que la imagen candidata que es dos imagenes anterior a la imagen objetivo se ha usado como una imagen de referencia (por ejemplo, mdice de imagen de referencia [1]) se describe en el flujo de bits del bloque objetivo. Ademas, cuando se ha hecho referencia a la imagen P4 en la codificacion del bloque objetivo de la imagen P13, informacion que indica que la imagen candidata que es tres imagenes anterior a la imagen objetivo se ha usado como una imagen de referencia (por ejemplo, mdice de imagen de referencia [2]) se describe en el flujo de bits del bloque objetivo.
Es posible conocer cual de las imagenes candidatas se ha usado como una imagen de referencia en la codificacion del bloque objetivo, mediante el mdice de imagen de referencia.
De este modo, la unidad de decodificacion de compensacion de movimiento 205 obtiene la imagen de compensacion de movimiento, es decir, la imagen en el area en la imagen de referencia que corresponde al bloque objetivo, de la memoria de imagenes de referencia 207, segun el vector de movimiento y la informacion de imagen de referencia.
La imagen de compensacion de movimiento generada de esta manera se saca a la unidad de adicion 208.
Ademas, cuando se realiza decodificacion de una imagen P, la unidad de decodificacion de compensacion de movimiento 205 saca el vector de movimiento MV y la informacion de imagen de referencia Rp a la unidad de almacenamiento de vector de movimiento 226.
La unidad de adicion 208 anade los datos de error de prediccion PDd y los datos (datos de prediccion) Pd de la imagen de compensacion de movimiento para generar datos decodificados Ad. Los datos decodificados Ad asf generados se sacan como datos de imagen decodificados Did, a traves del conmutador 210 a la memoria de imagenes de referencia 207.
De este modo, los bloques en la imagen P13 se decodifican sucesivamente. Cuando todos los bloques en la imagen P13 se han decodificado, tiene lugar la decodificacion de la imagen B11.
(Proceso de decodificacion para la imagen B11)
Dado que la unidad de analisis de flujo de bits 201, la unidad de decodificacion de modo 203 y la unidad de decodificacion de error de prediccion 202 operan de la misma forma que se describe para la decodificacion de la imagen P13, no es necesaria una descripcion repetida.
La unidad de decodificacion de compensacion de movimiento 205 genera datos de compensacion de movimiento a partir de la informacion introducida tal como el vector de movimiento. La unidad de analisis de flujo de bits 201 saca el vector de movimiento y el mdice de imagen de referencia a la unidad de decodificacion de compensacion de movimiento 205. La imagen P11 se obtiene mediante codificacion predictiva usando las imagenes P7, B9 y P10 como imagenes candidatas para referencia hacia delante y la imagen P13 como una imagen candidata para referencia hacia atras. En la decodificacion de la imagen objetivo, estas imagenes candidatas de referencia ya se han decodificado y se almacenan en la memoria de imagenes de referencia 207.
5
10
15
20
25
30
35
40
45
50
En lo sucesivo, se dara una descripcion de como las imagenes almacenadas en la memoria de imagenes de referencia 207 cambian con el tiempo y un metodo para determinar una imagen de referencia, con referencia a la figura 3.
La memoria de imagenes de referencia 207 se controla por la unidad de control de memoria 204 sobre la base de informacion lh que indica que tipo de referencia se ha llevado a cabo en la codificacion de imagenes P e imagenes B, cuya informacion se extrae de la informacion de cabecera del flujo de bits.
Cuando se inicia la decodificacion de la imagen P11, las imagenes P13, P4, P7, P10 y B9 se almacenan en la memoria de imagenes de referencia 207 como se muestra en la figura 3. La imagen B11 se decodifica usando las imagenes P7, B9 y P10 como imagenes candidatas para referencia hacia delante y la imagen P13 como una imagen de referencia hacia atras. La imagen decodificada B11 se almacena en el area de memoria en la que la imagen P4 se habfa almacenado, debido a que la imagen P4 no se usa como una candidata para una imagen de referencia cuando se decodifica la imagen Bll y las siguiente imagenes.
En este caso, a que imagen candidata se ha hecho referencia en la deteccion del vector de movimiento hacia delante se puede determinar a partir de la informacion de imagen de referencia anadida al vector de movimiento.
Para ser espedficos, cuando se ha hecho referencia a la imagen P10 en la codificacion de bloque objetivo de la imagen B11, informacion que indica que la imagen candidata (imagen P10) justo anterior a la imagen objetivo se ha usado como una imagen de referencia (por ejemplo, mdice de imagen de referencia [0]) se describe en el flujo de bits del bloque de imagen. Ademas, cuando se ha hecho referencia a la imagen B9 en la codificacion del bloque objetivo, informacion que indica que la imagen que es dos imagenes anterior a la imagen objetivo se ha usado como una imagen de referencia (por ejemplo, mdice de imagen de referencia [1]) se describe en el flujo de bits del bloque objetivo. Ademas, cuando se ha hecho referencia a la imagen P7 en la codificacion del bloque objetivo de la imagen P13, informacion que indica que la imagen candidata que es tres imagenes anterior a la imagen objetivo se ha usado como una imagen de referencia (por ejemplo, mdice de imagen de referencia [2]) se describe en el flujo de bits del bloque objetivo.
Por consiguiente, es posible conocer cual de las imagenes candidatas se ha usado como una imagen de referencia en la codificacion del bloque objetivo, a partir del mdice de imagen de referencia.
Cuando el modo seleccionado es codificacion predictiva bidireccional, la unidad de decodificacion de compensacion de movimiento 205 determina cual de las imagenes P7, B9 y P10 se ha usado para referencia hacia delante, a partir del mdice de imagen de referencia. Entonces, la unidad de decodificacion de compensacion de movimiento 205 obtiene una imagen de compensacion de movimiento hacia delante de la memoria de imagenes de referencia 207 sobre la base del vector de movimiento hacia delante y, ademas, obtiene una imagen de compensacion de movimiento hacia atras de la memoria de imagenes de referencia 207 sobre la base del vector de movimiento hacia atras.
Entonces, la unidad de decodificacion de compensacion de movimiento 205 realiza adicion y promediado de la imagen de compensacion de movimiento hacia delante y la imagen de compensacion de movimiento hacia atras para generar una imagen de compensacion de movimiento.
A continuacion, se describira un proceso de generacion de una imagen de compensacion de movimiento usando vectores de movimiento hacia delante y hacia atras.
(Modo de prediccion bidireccional)
La figura 17 ilustra un caso en el que la imagen objetivo a ser decodificada es la imagen B11 y una decodificacion predictiva bidireccional se realiza en un bloque (bloque objetivo) BLa01 a ser decodificado, en la imagen B11.
Inicialmente, se dara una descripcion de un caso en el que la imagen de referencia hacia delante es la imagen P10 y la imagen de referencia hacia atras es la imagen P13.
En este caso, el vector de movimiento hacia delante es un vector de movimiento MVe01 que indica un area CRe01 en la imagen P10, cuya area corresponde al bloque BLa01. El vector de movimiento hacia atras es un vector de movimiento MVg01 que indica un area CRg01 en la imagen P13, cuya area corresponde al bloque BLa01.
Por consiguiente, la unidad de decodificacion de compensacion de movimiento 205 obtiene una imagen en el area CRe01 en la imagen P10 como una imagen de referencia hacia delante y una imagen en el area CRg01 en la imagen P13 como una imagen de referencia hacia atras, de la memoria de imagenes de referencia 207 y realiza adicion y promediado de datos de imagen sobre las imagenes en ambas areas CRe01 y CRg01 para obtener una imagen de compensacion de movimiento que corresponde al bloque objetivo BLa01.
A continuacion, se dara una descripcion de un caso en el que la imagen de referencia hacia delante es la imagen B9 y la imagen de referencia hacia atras es la imagen P13.
5
10
15
20
25
30
35
40
45
50
55
En este caso, el vector de movimiento hacia delante es un vector de movimiento MVf01 que indica un area CRf01 en la imagen B9, cuya area corresponde al bloque BLa01. El vector de movimiento hacia atras es un vector de movimiento MVg01 que indica un area CRg01 en la imagen P13, cuya area corresponde al bloque BLa01.
Por consiguiente, la unidad de decodificacion de compensacion de movimiento 205 obtiene una imagen en el area CRf01 en la imagen B9 como una imagen de referencia hacia delante y una imagen en el area CRg01 en la imagen P13 como una imagen de referencia hacia atras, de la memoria de imagenes de referencia 207 y realiza adicion y promediado de datos de imagen para las imagenes en ambas areas CRf01 y CRg01 para obtener una imagen de compensacion de movimiento que corresponde al bloque BLa01.
(Modo directo)
Ademas, cuando el modo de codificacion es el modo directo, la unidad de decodificacion de compensacion de movimiento 205 obtiene un vector de movimiento (vector de movimiento base) de un bloque que se incluye en la imagen de referencia hacia atras P13 para la imagen objetivo B11 y se coloca relativamente en la misma posicion que el bloque objetivo, cuyo vector de movimiento se almacena en la unidad de almacenamiento de vector de movimiento 226. La unidad de decodificacion de compensacion de movimiento 205 obtiene una imagen de referencia hacia delante y una imagen de referencia hacia atras de la memoria de imagenes de referencia 207 usando el vector de movimiento base. Entonces, la unidad de decodificacion de compensacion de movimiento 205 realiza adicion y promediado de datos de imagen para la imagen de referencia hacia delante y la imagen de referencia hacia atras, generando por ello una imagen de compensacion de movimiento que corresponde al bloque objetivo. En la siguiente descripcion, un bloque en una imagen, cuya posicion relativa con respecto a una imagen es igual a la de un bloque espedfico en otra imagen se refiere simplemente como un bloque que se situa en la misma posicion que un bloque espedfico en una imagen.
La figura 18(a) muestra un caso en el que el bloque BLa10 en la imagen B11 se decodifica en el modo directo con referencia a la imagen P10 que es justo anterior a la imagen B11 (primer ejemplo de decodificacion de modo directo).
Un vector de movimiento base a ser usado para decodificacion de modo directo del bloque BLa10 es un vector de movimiento hacia delante (vector de movimiento base) MVh10 de un bloque (bloque base) BLg10 situado en la misma posicion que el bloque BLa10, cuyo bloque BLg10 se incluye en la imagen (imagen base) P13 a la que se hace referencia hacia atras cuando se decodifica el bloque BLa10. El vector de movimiento hacia atras Mvh10 indica un area CRh10 que corresponde al bloque base BLg10, en la imagen P10 que es justo anterior a la imagen B11.
En este caso, como un vector de movimiento hacia delante MVk10 del bloque objetivo BLa10 a ser decodificado, se emplea un vector de movimiento que es paralelo al vector de movimiento base MVh10 e indica un area CRk10 incluida en la imagen P10 y que corresponde al bloque objetivo BLa10. Ademas, como un vector de movimiento hacia atras MVi10 del bloque objetivo BLa10 a ser decodificado, se emplea un vector de movimiento que es paralelo al vector de movimiento base MVh10 e indica un area CRi10 incluida en la imagen P13 y que corresponde al bloque objetivo BLa10.
Por consiguiente, la unidad de decodificacion de compensacion de movimiento 205 obtiene una imagen en el area CRk10 de la imagen de referencia hacia delante P10 como una imagen de referencia hacia delante y una imagen en el area CRi10 de la imagen de referencia hacia atras P13 como una imagen de referencia hacia atras, de la memoria de imagenes de referencia 207 y realiza adicion y promediado de datos de imagen de ambas imagenes para obtener una imagen de compensacion de movimiento (imagen de prediccion) que corresponde al bloque objetivo BLa10.
En este caso, la magnitud (MVF) del vector de movimiento hacia delante MVk10 y la magnitud (MVB) del vector de movimiento hacia atras MVi10 se obtienen mediante las formulas anteriormente descritas (1) y (2), usando la magnitud (MVR) del vector de movimiento base MVh10.
Las magnitudes MVF y MVB de los vectores de movimiento respectivos muestran la componente horizontal y la componente vertical del vector de movimiento, respectivamente.
Ademas, TRD indica una distancia basada en el tiempo entre la imagen de referencia hacia atras P13 para el bloque objetivo BLa10 en la imagen B11 y la imagen P10 a la que se hace referencia hacia delante cuando se decodifica el bloque (bloque base) BLg10 en la imagen de referencia hacia atras (imagen base) P13. Ademas, TRF es la distancia basada en el tiempo entre la imagen objetivo B11 y la imagen de referencia justo anterior P10 y TRB es la distancia basada en el tiempo entre la imagen objetivo B11 y la imagen P10 a la que se hace referencia cuando se decodifica el bloque BLg10 en la imagen de referencia hacia atras P13.
La figura 18(b) muestra un caso en el que un bloque BLa20 en la imagen B11 se decodifica en el modo directo con referencia a la imagen P10 que es justo anterior a la imagen B11 (segundo ejemplo de decodificacion de modo directo).
5
10
15
20
25
30
35
40
45
50
55
En este segundo ejemplo de decodificacion de modo directo, en contraste con el primer ejemplo de decodificacion de modo directo mostrado en la figura 18(a), una imagen a la que se hace referencia hacia delante en la decodificacion del bloque base (es decir, un bloque colocado en la misma posicion que el bloque objetivo, en la imagen de referencia hacia atras del bloque objetivo) es la imagen P7.
Es decir, un vector de movimiento base a ser usado para decodificacion de modo directo del bloque BLa20 es un vector de movimiento MVh20 de un bloque BLg20 situado en la misma posicion que el bloque BLa20, cuyo bloque BLg20 se incluye en la imagen P13 a la que se hace referencia hacia atras cuando se decodifica el bloque BLa20. El vector de movimiento hacia atras MVh2o indica un area CRh20 que corresponde al bloque base BLg20, en la imagen P7 que se coloca hacia delante de la imagen objetivo B11.
En este caso, como un vector de movimiento hacia delante MVk20 del bloque objetivo BLa20 a ser decodificado, se emplea un vector de movimiento, que es paralelo al vector de movimiento base MVh20 e indica un area CRk20 incluida en la imagen P10 y que corresponde al bloque objetivo BLa20. Ademas, como un vector de movimiento hacia atras MVi20 del bloque objetivo BLa20 a ser decodificado, se emplea un vector de movimiento, el cual es paralelo al vector de movimiento base MVh20 e indica un area CRi20 incluida en la imagen P13 y que corresponde al bloque objetivo BLa20.
Por consiguiente, la unidad de decodificacion de compensacion de movimiento 205 obtiene una imagen en el area CRk20 de la imagen de referencia hacia delante P10 como una imagen de referencia hacia delante y una imagen en el area CRi20 de la imagen de referencia hacia atras P13 como una imagen de referencia hacia atras, de la memoria de imagenes de referencia 207 y realiza adicion y promediado de datos de imagen de ambas imagenes para obtener una imagen de compensacion de movimiento (imagen de prediccion) que corresponde al bloque objetivo BLa20.
En este caso, la magnitud (MVF) del vector de movimiento hacia delante MVk20 y la magnitud (MVB) del vector de movimiento hacia atras MVi20 se obtienen mediante las formulas anteriormente descritas (1) y (2), usando la magnitud (MVR) del vector de movimiento base MVh20, como se describio para el primer ejemplo de decodificacion de modo directo.
La figura 19(a) muestra un caso en el que un bloque BLa30 en la imagen B11 se decodifica en el modo directo con referencia a la imagen P7 que se coloca hacia delante de la imagen P10 que se coloca justo anterior a la imagen B11 (tercer ejemplo de decodificacion de modo directo).
En este tercer ejemplo de decodificacion de modo directo, en contraste con el primer y segundo ejemplos de codificacion de modo directo mostrados en las figuras 18(a) y 18(b), una imagen a ser referida hacia delante en la decodificacion del bloque objetivo no es una imagen justo anterior a la imagen objetivo, sino una imagen a la que se hace referencia hacia delante en la decodificacion del bloque base (un bloque en la misma posicion que el bloque objetivo) en la imagen base. La imagen base es una imagen a la que se hace referencia hacia atras en la decodificacion del bloque objetivo.
Es decir, un vector de movimiento base a ser usado para decodificacion de modo directo del bloque BLa30 es un vector de movimiento MVh30 de un bloque BLg30 situado en la misma posicion que el bloque BLa30, cuyo bloque BLg30 se incluye en la imagen P13 a la que se hace referencia hacia atras en la decodificacion del bloque BLa30. El vector de movimiento hacia delante MVh30 indica un area CRh30 que corresponde al bloque base BLg30, en la imagen P7 que se coloca hacia delante de la imagen objetivo B11.
En este caso, como un vector de movimiento hacia delante MVk30 del bloque objetivo BLa30 a ser decodificado, se emplea un vector de movimiento, que es paralelo al vector de movimiento base MVh30 e indica un area CRk30 incluida en la imagen P7 y que corresponde al bloque objetivo BLa30. Ademas, como un vector de movimiento hacia atras MVi30 del bloque objetivo BLa30 a ser decodificado, se emplea un vector de movimiento, que es paralelo al vector de movimiento base MVh30 e indica un area CRi30 incluida en la imagen P13 y que corresponde al bloque objetivo BLa30.
Por consiguiente, la unidad de decodificacion de compensacion de movimiento 205 obtiene una imagen en el area CRk30 de la imagen de referencia hacia delante P7 como una imagen de referencia hacia delante y una imagen en el area CRi30 de la imagen de referencia hacia atras P13 como una imagen de referencia hacia atras, de la memoria de imagenes de referencia 207 y realiza adicion y promediado de datos de imagen de ambas imagenes para obtener una imagen de compensacion de movimiento (imagen de prediccion) que corresponde al bloque objetivo BLa30.
En este caso, la magnitud (MVF) del vector de movimiento hacia delante MVk30 y la magnitud (MVB) del vector de movimiento hacia atras MVi30 se obtienen mediante las formulas anteriormente descritas (2) y (3), usando la magnitud (MVR) del vector de movimiento base MVh30.
Cuando la imagen a ser referida en la decodificacion del bloque BLg30 ya se ha borrado de la memoria de imagenes de referencia 207, la imagen de referencia hacia delante P10 que es en cuanto al tiempo la mas cercana a la imagen objetivo se usa como una imagen de referencia hacia delante en el tercer ejemplo de decodificacion de modo directo, el tercer ejemplo de decodificacion de modo directo es identico al primer ejemplo de decodificacion de modo directo.
5
10
15
20
25
30
35
40
45
50
55
La figura 19(b) muestra un caso en el que un bloque BLa40 en la imagen B11 se decodifica en el modo directo usando un vector de movimiento cuya magnitud es cero (cuarto ejemplo de decodificacion de modo directo).
En este cuarto ejemplo de decodificacion de modo directo, la magnitud del vector de movimiento de referencia empleado en el primer y segundo ejemplos mostrados en las figuras 18(a) y 18(b) es cero.
En este caso, como un vector de movimiento hacia delante MVk40 y un vector de movimiento hacia atras MVi40 del bloque BLa40 a ser decodificado, se emplea un vector de movimiento cuya magnitud es cero.
Es decir, el vector de movimiento hacia delante MVk40 indica un area (bloque) CRk40 del mismo tamano que el bloque objetivo, cuya area se incluye en la imagen P10 y se coloca en la misma posicion que el bloque objetivo BLa40. Ademas, el vector de movimiento hacia atras MVi40 indica un area (bloque) CRi40 del mismo tamano que el bloque objetivo, cuya area se incluye en la imagen P13 y se coloca en la misma posicion que el bloque objetivo BLa40.
Por consiguiente, la unidad de decodificacion de compensacion de movimiento 205 obtiene una imagen en el area (bloque) CRk40 de la imagen de referencia hacia delante P10 como una imagen de referencia hacia delante y una imagen en el area (bloque) CRi40 de la imagen de referencia hacia atras P13 como una imagen de referencia hacia atras, de la memoria de imagenes de referencia 207 y realiza adicion y promediado de datos de imagen de ambas imagenes para obtener una imagen de compensacion de movimiento (imagen de prediccion) que corresponde al bloque objetivo BLa40. Este metodo es aplicable, por ejemplo, a un caso en el que un bloque que se incluye en la imagen Pl3 como una imagen de referencia hacia atras de la imagen B11 y se situa en la misma posicion que el bloque BLa40 es un bloque que no tiene vector de movimiento como un bloque codificado dentro del cuadro.
Los datos de la imagen de compensacion de movimiento generados de esta manera se sacan a la unidad de adicion 208. La unidad de adicion 208 anade los datos de error de prediccion introducidos y los datos de imagen de compensacion de movimiento para generar datos de imagen decodificados. Los datos de imagen decodificados asf generados se sacan a traves del conmutador 210 a la memoria de imagenes de referencia 207 y la imagen decodificada se almacena en la memoria de imagenes de referencia 207.
La unidad de control de memoria 204 controla la memoria de imagenes de referencia 207 sobre la base de la informacion de cabecera Ih que indica que tipo de referencia se ha llevado a cabo en la codificacion de las imagenes P y las imagenes B extrafdas de la informacion de cabecera del flujo de bits.
Como se describio anteriormente, los bloques en la imagen B11 se decodifican sucesivamente. Cuando todos los bloques en la imagen B11 se han decodificado, tiene lugar la decodificacion de la imagen B12.
En la decodificacion de la imagen B descrita anteriormente, un bloque espedfico se trata algunas veces como un bloque de salto. En lo sucesivo, se describira brevemente la decodificacion de un bloque de salto.
Cuando se encuentra que un bloque espedfico se trata como un bloque de salto durante la decodificacion de un flujo de bits introducido, desde un identificador de salto o una informacion de numero de bloque que se describe en el flujo de bits, se lleva a cabo en el modo directo una compensacion de movimiento, es decir, una adquisicion de una imagen de prediccion que corresponde al bloque objetivo.
Por ejemplo, como se muestra en la figura 6(b), cuando los bloques MB(r+1) y MB(r+2) entre el bloque MB(r) y el bloque MB(r+3) en la imagen B11 se tratan como bloques de salto, la unidad de analisis de flujo de bits 201 detecta el identificador de salto Sf a partir del flujo de bits Bs. Cuando el identificador de salto Sf se introduce a la unidad de decodificacion de modo 223, la unidad de decodificacion de modo 223 da instrucciones a la unidad de decodificacion de compensacion de movimiento 205 para realizar compensacion de movimiento en el modo directo.
Entonces, la unidad de decodificacion de compensacion de movimiento 205 obtiene las imagenes de prediccion de los bloques MB(r+1) y MB(r+2), sobre la base de una imagen (imagen de referencia hacia delante) de un bloque que se incluye en la imagen de referencia hacia delante P10 y se coloca en la misma posicion que el bloque tratado como un bloque de salto y una imagen (imagen de referencia hacia atras) de un bloque en la misma posicion que el bloque tratado como un bloque de salto y entonces saca los datos de las imagenes de prediccion a la unidad de adicion 208. La unidad de decodificacion de error de prediccion 202 saca datos cuyo valor es cero, como datos de diferencia de los bloques tratados como bloques de salto. En la unidad de adicion 208, dado que los datos de diferencia de los bloques tratados como bloques de salto son cero, los datos de las imagenes de prediccion de los bloques MB(r+1) y MB(r+2) se sacan a la memoria de imagenes de referencia 207 como imagenes decodificadas de los bloques MB(r+1) y MB(r+2).
Ademas, en el procesamiento de modo directo mostrado en la figura 18(a) (primer ejemplo), el procesamiento de modo directo mostrado en la figura 18(b) (segundo ejemplo) y el procesamiento de modo de direccion mostrado en la figura 19(a) (tercer ejemplo), todos los bloques cuyos datos de diferencia llegan a ser cero no se tratan necesariamente como bloques de salto. Es decir, un bloque objetivo se somete a prediccion bidireccional usando una imagen que se coloca justo anterior a la imagen objetivo como una imagen de referencia hacia delante y un
5
10
15
20
25
30
35
40
45
50
vector de movimiento cuya magnitud es cero y solamente cuando los datos de diferencia del bloque objetivo llegan a ser cero, este bloque objetivo se puede tratar como un bloque objetivo.
En este caso, cuando se encuentra, a partir del identificador de salto o similar en el flujo de bits Bs, que un bloque espedfico se trata como un bloque de salto, se debena llevar a cabo compensacion de movimiento mediante prediccion bidireccional cuyo movimiento es cero, usando una imagen de referencia justo anterior como una imagen de referencia hacia delante.
(Proceso de decodificacion para la imagen B12)
Dado que la unidad de analisis de flujo de bits 201, la unidad de decodificacion de modo 223 y la unidad de decodificacion de error de prediccion 202 operan del mismo modo que se describe para la decodificacion de la imagen P10, no es necesaria una descripcion repetida.
La unidad de decodificacion de compensacion de movimiento 205 genera datos de imagen de compensacion de movimiento a partir de la informacion introducida tal como el vector de movimiento. El vector de movimiento MV y el mdice de imagen de referencia Rp se introducen a la unidad de decodificacion de compensacion de movimiento 205. La imagen P12 se ha codificado usando las imagenes P7, P10 y B11 como imagenes candidatas para referencia hacia delante y la imagen P13 como una imagen candidata para referencia hacia atras. Al decodificar la imagen objetivo, estas imagenes candidatas ya se han decodificado y se almacenan en la memoria de imagenes de referencia 207.
El cambio en cuanto al tiempo de las imagenes almacenadas en la memoria de imagenes de referencia 207 y el metodo para determinar una imagen de referencia son identicos a los del caso de decodificacion de la imagen B11 descrita con respecto a la figura 3.
Cuando el modo de codificacion es codificacion predictiva bidireccional, la unidad de decodificacion de compensacion de movimiento 205 determina cual de las imagenes P7, P10 y B11 se han usado para referencia hacia delante, a partir del mdice de imagen de referencia. Entonces, la unidad de decodificacion de compensacion de movimiento 205 obtiene una imagen de referencia hacia delante a partir de la memoria de imagenes de referencia 207 sobre la base del vector de movimiento hacia delante y, ademas, obtiene una imagen de referencia hacia atras de la memoria de imagenes de referencia 207 sobre la base del vector de movimiento hacia atras. Entonces, la unidad de decodificacion de compensacion de movimiento 205 realiza adicion y promediado de los datos de imagen de la imagen de referencia hacia delante y la imagen de referencia hacia atras para generar una imagen de compensacion de movimiento que corresponde al bloque objetivo.
(Modo de prediccion bidireccional)
La figura 20 ilustra un caso en el que la imagen objetivo a ser decodificada es la imagen B12 y la decodificacion predictiva bidireccional se realiza para un bloque (bloque objetivo) BLa02 a ser decodificado, en la imagen B12.
Inicialmente, se dara una descripcion de un caso en el que la imagen de referencia hacia delante es la imagen B11 y la imagen de referencia hacia atras es la imagen P13.
En este caso, el vector de movimiento hacia delante es un vector de movimiento MVe02 que indica un area CRe02 en la imagen B11 que corresponde al bloque BLa02. El vector de movimiento hacia atras es un vector de movimiento MVg02 que indica un area CRg02 en la imagen P13 que corresponde al bloque BLa02.
Por consiguiente, la unidad de decodificacion de compensacion de movimiento 205 obtiene una imagen en el area CRe02 en la imagen B11 como una imagen de referencia hacia delante y una imagen en el area CRg02 en la imagen P13 como una imagen de referencia hacia atras, de la memoria de imagenes de referencia 207 y realiza adicion y promediado de datos de imagen de las imagenes en ambas areas CRe02 y CRg02 para obtener una imagen de compensacion de movimiento que corresponden al bloque objetivo BLa02.
A continuacion, se dara una descripcion de un caso en el que la imagen de referencia hacia delante es la imagen P10 y la imagen de referencia hacia atras es la imagen P13.
En este caso, el vector de movimiento hacia delante es un vector de movimiento MVf02 que indica un area CRf02 en la imagen P10, que corresponde al bloque BLa02. El vector de movimiento hacia atras es un vector de movimiento MVg02 que indica un area CRg02 en la imagen P13, que corresponde al bloque BLa02.
Por consiguiente, la unidad de decodificacion de compensacion de movimiento 205 obtiene una imagen en el area CRf02 en la imagen P10 como una imagen de referencia hacia delante y una imagen en el area CRg02 en la imagen P13 como una imagen de referencia hacia atras de la memoria de imagenes de referencia 207 y realiza adicion y promediado de datos de imagen de las imagenes en ambas areas CRf02 y CRg02 para obtener una imagen de compensacion de movimiento que corresponden al bloque objetivo BLa02.
5
10
15
20
25
30
35
40
45
50
55
(Modo directo)
Ademas, cuando el modo de codificacion es el modo directo, la unidad de decodificacion de compensacion de movimiento 205 obtiene un vector de movimiento (vector de movimiento base) de un bloque de referencia (un bloque cuya posicion relativa es la misma que la de la posicion objetivo) en la imagen de referencia hacia atras P13 para la imagen objetivo B12, cuyo vector de movimiento se almacena en la unidad de almacenamiento de vector de movimiento 226. La unidad de decodificacion de compensacion de movimiento 205 obtiene una imagen de referencia hacia delante y una imagen de referencia hacia atras de la memoria de imagenes de referencia 207 usando un vector de movimiento base. Entonces, la unidad de decodificacion de compensacion de movimiento 205 realiza adicion y promediado de datos de imagen de la imagen de referencia hacia delante y la imagen de referencia hacia atras, generando por ello una imagen de compensacion de movimiento que corresponde al bloque objetivo.
La figura 21(a) muestra un caso en el que el bloque BLa50 en la imagen B12 se decodifica en el modo directo con referencia a la imagen B11 que es justo anterior a la imagen B12 (primer ejemplo de decodificacion de modo directo).
Un vector de movimiento base a ser usado para decodificacion de modo directo del bloque BLa50 es un vector de movimiento hacia delante MVj50 del bloque base (es decir, el bloque BLg50 colocado en la misma posicion que el bloque BLa50) en la imagen P13 al que se hace referencia cuando se decodifica el bloque BLa50. El vector de movimiento hacia delante MVj50 indica un area CRj50 que corresponde al bloque base BLg50 en la imagen P10 que se coloca delante y cerca de la imagen B11.
En este caso, como un vector de movimiento hacia delante MVk50 del bloque objetivo BLa50 a ser decodificado, se emplea un vector de movimiento que es paralelo al vector de movimiento base MVj50 e indica un area CRk50 incluida en la imagen B11 y que corresponde al bloque objetivo BLa50. Ademas, como un vector de movimiento hacia atras MVi50 del bloque objetivo BLa50 a ser decodificado, se emplea un vector de movimiento que es paralelo al vector de movimiento base MVj50 e indica un area CRi50 incluida en la imagen P13 y que corresponde al bloque objetivo BLa50.
Por consiguiente, la unidad de decodificacion de compensacion de movimiento 205 obtiene una imagen en el area CRk50 de la imagen de referencia hacia delante B11 como una imagen de referencia hacia delante y una imagen en el area CRi50 de la imagen de referencia hacia atras P13 como una imagen de referencia hacia atras de la memoria de imagenes de referencia 207 y realiza adicion y promediado de datos de imagen de ambas imagenes para obtener una imagen de compensacion de movimiento (imagen de prediccion) que corresponde al bloque objetivo BLa50.
En este caso, la magnitud (MVF) del vector de movimiento hacia delante MVk50 y la magnitud (MVB) del vector de movimiento hacia atras MVi50 se obtienen mediante las formulas anteriormente descritas (1) y (2) usando la magnitud (MVR) del vector de movimiento base MVh10.
Las magnitudes MVF y MVB de los vectores de movimiento respectivos muestran la componente horizontal y la componente vertical del vector de movimiento, respectivamente.
La figura 21(b) muestra un caso en el que el bloque BLa60 en la imagen B12 se decodifica en el modo directo con referencia a la imagen B11 que se coloca hacia delante de la imagen B12 (segundo ejemplo de decodificacion de modo directo).
En este segundo ejemplo de decodificacion de modo directo, en contraste con el primer ejemplo de decodificacion de modo directo mostrado en la figura 21(a), una imagen a la que se hace referencia hacia delante en la decodificacion del bloque base (es decir, un bloque situado en la misma posicion que el bloque objetivo, en la imagen de referencia hacia atras para el bloque objetivo) es la imagen P7.
Es decir, un vector de movimiento base a ser usado para decodificacion de modo directo del bloque BLa60 es un vector de movimiento hacia delante MVj60 del bloque de referencia (bloque BLg60 en la misma posicion que el bloque BLa60) en la imagen P13 a la que se hace referencia hacia atras cuando se decodifica el bloque BLa60. El vector de movimiento hacia delante MVj60 indica un area CRj60 que corresponde al bloque base BLg60, en la imagen P7 que se coloca hacia delante de la imagen objetivo B12.
En este caso, como un vector de movimiento hacia delante MVk60 del bloque objetivo BLa60 a ser decodificado, se emplea un vector de movimiento, que es paralelo al vector de movimiento base MVj60 e indica un area CRk60 incluida en la imagen B11 y que corresponde al bloque objetivo BLa60. Ademas, como un vector de movimiento hacia atras MVi60 del bloque objetivo BLa60 a ser decodificado, se emplea un vector de movimiento, que es paralelo al vector de movimiento base MVj60 e indica un area CRi60 incluida en la imagen P13 y que corresponde al bloque objetivo BLa60.
Por consiguiente, la unidad de decodificacion de compensacion de movimiento 205 obtiene una imagen en el area CRk60 de la imagen de referencia hacia delante B11 como una imagen de referencia hacia delante y una imagen en el area CRi60 de la imagen de referencia hacia atras P13 como una imagen de referencia hacia atras de la memoria
5
10
15
20
25
30
35
40
45
50
de imagenes de referencia 207 y realiza adicion y promediado de datos de imagen de ambas imagenes para obtener una imagen de compensacion de movimiento (imagen de prediccion) que corresponde al bloque objetivo BLa60.
En este caso, la magnitud (MVF) del vector de movimiento hacia delante MVk60 y la magnitud (MVB) del vector de movimiento hacia atras MVi60 se obtienen mediante las formulas anteriormente descritas (1) y (2), usando la magnitud (MVR) del vector de movimiento base MVj60, como se describio para el primer ejemplo de decodificacion de modo directo.
La figura 22(a) muestra un caso en el que un bloque BLa70 en la imagen B12 se decodifica en el modo directo con referencia a la imagen P7 que se coloca hacia delante de la imagen P10 hacia delante que es la mas cercana a la imagen B12 (tercer ejemplo de decodificacion de modo directo).
En este tercer ejemplo de decodificacion de modo directo, en contraste con el primer y segundo ejemplos de codificacion de modo directo mostrados en las figuras 21(a) y 21(b), una imagen a ser referida hacia delante en la decodificacion del bloque objetivo no es una imagen justo anterior a la imagen objetivo, sino una imagen a la que se hace referencia hacia delante en la decodificacion del bloque base en la imagen base. La imagen base es una imagen a la que se hace referencia hacia atras en la decodificacion del bloque objetivo.
Es decir, un vector de movimiento base a ser usado en decodificacion de modo directo del bloque BLa70 es un vector de movimiento hacia delante MVj70 de un bloque base bloque BLg70 (un bloque en la misma posicion que el bloque BLa70) en la imagen P13 a la que se hace referencia hacia atras en la decodificacion del bloque BLa7o. El vector de movimiento hacia delante MVj70 indica un area CRj70 que corresponde al bloque base BLg70 en la imagen P7 que se coloca hacia delante de la imagen objetivo Bl2.
En este caso, como un vector de movimiento hacia delante MVk70 del bloque objetivo BLa70 a ser decodificado, se emplea un vector de movimiento que es paralelo al vector de movimiento base MVj70 e indica un area CRk70 incluida en la imagen P7 y que corresponde al bloque objetivo BLa70. Ademas, como un vector de movimiento hacia atras MVi70 del bloque objetivo BLa70, se emplea un vector de movimiento que es paralelo al vector de movimiento base MVj70 e indica un area CRi70 incluida en la imagen P13 y que corresponde al bloque objetivo BLa70.
Por consiguiente, la unidad de decodificacion de compensacion de movimiento 205 obtiene una imagen en el area CRk70 de la imagen de referencia hacia delante P7 como una imagen de referencia hacia delante y una imagen en el area CRi70 de la imagen de referencia hacia atras P13 como una imagen de referencia hacia atras de la memoria de imagenes de referencia 207 y realiza adicion y promediado de datos de imagen de ambas imagenes para obtener una imagen de compensacion de movimiento (imagen de prediccion) que corresponde al bloque objetivo BLa70.
En este caso, la magnitud (MVF) del vector de movimiento hacia delante MVk70 y la magnitud (MVB) del vector de movimiento hacia atras MVi70 se obtienen mediante las formulas anteriormente descritas (2) y (3), usando la magnitud (MVR) del vector de movimiento base MVj70.
Cuando la imagen a ser referida en la decodificacion del bloque BLg70 ya se ha borrado de la memoria de imagenes de referencia 207, la imagen de referencia hacia delante P10 es en cuanto al tiempo la mas cercana a la imagen objetivo se usa como una imagen de referencia hacia delante en el tercer ejemplo de decodificacion de modo directo. En este caso, el tercer ejemplo de decodificacion de modo directo es identico al primer ejemplo de decodificacion de modo directo.
La figura 22(b) muestra un caso en el que un bloque BLa80 en la imagen B12 se decodifica en el modo directo usando un vector de movimiento cuya magnitud es cero (cuarto ejemplo de decodificacion de modo directo).
En este cuarto ejemplo de decodificacion de modo directo, la magnitud del vector de movimiento de referencia empleado en el primer y segundo ejemplos mostrados en las figuras 21(a) y 21(b) es cero.
En este caso, como un vector de movimiento hacia delante MVk80 y un vector de movimiento hacia atras MVi80 del bloque objetivo BLa80 a ser decodificado, se emplea un vector de movimiento cuya magnitud es cero.
Es decir, el vector de movimiento hacia delante MVk80 indica un area (bloque) CRk80 del mismo tamano que el bloque objetivo, cuya area se incluye en la imagen B11 y se coloca en la misma posicion que el bloque objetivo BLa80. Ademas, el vector de movimiento hacia atras MVi80 indica un area (bloque) CRi80 del mismo tamano que el bloque objetivo, cuya area se incluye en la imagen P13 y se coloca en la misma posicion que el bloque objetivo BLa80.
Por consiguiente, la unidad de decodificacion de compensacion de movimiento 205 obtiene una imagen en el area (bloque) CRk80 de la imagen de referencia hacia delante B11 como una imagen de referencia hacia delante y una imagen en el area (bloque) CRi80 de la imagen de referencia hacia atras P13 como una imagen de referencia hacia atras de la memoria de imagenes de referencia 207 y realiza adicion y promediado de datos de imagen de ambas imagenes para obtener una imagen de compensacion de movimiento (imagen de prediccion) que corresponde al bloque objetivo BLa80. Este metodo es aplicable, por ejemplo, a un caso en el que un bloque que se incluye en la
5
10
15
20
25
30
35
40
45
50
55
imagen P13 como una imagen de referencia hacia atras de la imagen B11 y se situa en la misma posicion que el bloque BLa80 es un bloque que no tiene vector de movimiento como un bloque codificado dentro del cuadro.
Los datos de la imagen de compensacion de movimiento generados de esta manera se sacan a la unidad de adicion 208. La unidad de adicion 208 anade datos de error de prediccion introducidos y los datos de imagen de compensacion de movimiento para generar datos de imagen decodificados. Los datos de imagen decodificados asf generados se sacan a traves del conmutador 210 a la memoria de imagenes de referencia 207.
Como se describio anteriormente, los bloques en la imagen B12 se decodifican sucesivamente. Los datos de imagen de las imagenes respectivas almacenadas en la memoria de imagenes de referencia 207 se reordenan en orden de tiempo a ser sacados como datos de imagen de salida Od.
A partir de entonces, las imagenes que siguen a la imagen B12, que se disponen tiempos de orden de decodificacion como se muestra en la figura 16(a), se decodifican sucesivamente segun el tipo de imagen, de la misma manera que se describio para las imagenes P13, B11 y B12. La figura 16(b) muestra las imagenes reordenadas en orden de tiempos de visualizacion.
Durante la decodificacion del flujo de bits introducido, si se encuentra que un bloque espedfico se trata como un bloque de salto, desde un identificador de salto o una informacion de numero de bloque que se describe en el flujo de bits, una compensacion de movimiento, es decir, adquisicion de una imagen de prediccion que corresponde a un bloque objetivo, se lleva a cabo en el modo directo como en el caso de decodificacion de la imagen B11.
Como se describio anteriormente, en el aparato de decodificacion de imagenes en movimiento 20 segun la segunda realizacion, cuando se decodifica un bloque en una imagen B, se genera una imagen de prediccion que corresponde al bloque objetivo usando una imagen P ya decodificada y una imagen B ya decodificada como imagenes candidatas para referencia hacia delante, sobre la base de informacion (mdice de imagen de referencia) que indica imagenes candidatas a las que se hace referencia hacia delante en la codificacion del bloque objetivo, cuya informacion se incluye en el flujo de bits que corresponde al bloque objetivo a ser decodificado. Por lo tanto, es posible decodificar correctamente un bloque en una imagen B objetivo que se ha codificado usando una imagen B como una imagen candidata para referencia hacia delante.
Ademas, en el aparato de decodificacion de imagenes en movimiento 20, cuando un bloque objetivo a ser decodificado que se incluye en una imagen B se ha codificado en el modo directo, un vector de movimiento del bloque objetivo se calcula sobre la base de un vector de movimiento de un bloque que se coloca en la misma posicion que el bloque objetivo. Por lo tanto, no es necesario para el extremo de decodificacion obtener la informacion que indica el vector de movimiento del bloque que se codifica en el modo directo, desde el extremo de codificacion.
Ademas, en el aparato de decodificacion de imagenes en movimiento 20, los datos de las imagenes ya decodificadas que se almacenan en la memoria de imagenes de referencia se gestionan sobre la base de la informacion que indica las imagenes candidatas que se usan en la codificacion de imagenes P e imagenes B, cuya informacion se incluye como informacion de cabecera en el flujo de bits. Por ejemplo, a la terminacion de la decodificacion de una imagen, se borran sucesivamente datos de imagenes que no van a ser usadas como imagenes de referencia en la decodificacion de las siguientes imagenes, por lo cual la memoria de imagenes se puede usar con eficiencia.
Ademas, cuando se decodifica un bloque objetivo en una imagen P, es posible determinar cual de las imagenes candidatas plurales se usa como una imagen de referencia (es decir, a cual de las imagenes candidatas se hace referencia en la deteccion del vector de movimiento del bloque objetivo a ser decodificado) de la informacion de imagen de referencia anadida a la informacion de vector de movimiento.
Del mismo modo, cuando se decodifica un bloque objetivo en una imagen B, es posible determinar cual de las imagenes candidatas plurales para referencia hacia delante se usa como una imagen de referencia (es decir, a cual de las imagenes candidatas se hace referencia en la deteccion del vector de movimiento hacia delante del bloque objetivo a ser decodificado) a partir de la informacion de imagen de referencia anadida a la informacion de vector de movimiento.
Mientras que en esta segunda realizacion se usa el modo directo como uno de los modos de codificacion plurales para imagenes B, el modo directo no se usa necesariamente como el modo de codificacion para imagenes B. En este caso, se prescinde de la unidad de almacenamiento de vector de movimiento 226 en el aparato de decodificacion de imagenes en movimiento 20.
Ademas, mientras que en esta segunda realizacion se describen cuatro metodos espedficos como ejemplos de modo directo (es decir, el primer ejemplo mostrado en la figura 18(a) o 21(a), el segundo ejemplo mostrado en la figura 18(b) o 21(b), el tercer ejemplo mostrado en la figura 19(a) o 22(a) y el cuarto ejemplo mostrado en la figura 19(b) o 22(b), el aparato de codificacion realiza codificacion usando un metodo adecuado para un metodo de codificacion que se usa como modo directo mediante el aparato de codificacion. Mas espedficamente, cuando se emplean metodos plurales como modo directo, el aparato de decodificacion realiza decodificacion, usando
5
10
15
20
25
30
35
40
45
50
55
informacion que indica cual de los metodos plurales se usa como modo directo espedfico, que se describe en el flujo de bits.
En este caso, la operacion de la unidad de decodificacion de compensacion de movimiento 205 vana segun la informacion. Por ejemplo, cuando esta informacion se anade en unidades de bloques para compensacion de movimiento, la unidad de decodificacion de modo 223 determina cual de los cuatro metodos mencionados anteriormente se usa como modo directo en la codificacion e informa a la unidad de decodificacion de compensacion de movimiento 205 del metodo determinado. La unidad de decodificacion de compensacion de movimiento 205 realiza decodificacion predictiva de compensacion de movimiento adecuada segun el metodo determinado de modo directo.
Ademas, cuando la informacion (informacion de modo DM) que indica cual de los metodos plurales se usa como modo directo se describe en la cabecera de la secuencia entera, la cabecera del GOP, la cabecera de imagen o la cabecera de segmento, la informacion de modo DM se transfiere para cada secuencia, GOP, imagen o segmento, desde la unidad de analisis de flujo de bit 201 a la unidad de decodificacion de compensacion de movimiento 205 y la unidad de decodificacion de compensacion de movimiento 205 cambia la operacion.
Mientras que en esta segunda realizacion se colocan dos imagenes B entre una imagen I y una imagen P o entre imagenes P adyacentes, el numero de imagenes B continuas puede ser tres o cuatro.
Ademas, mientras que en esta segunda realizacion se usan tres imagenes como imagenes candidatas para una imagen de referencia hacia delante para una imagen P, el numero de imagenes candidatas de referencia para una imagen P puede ser distinto de tres.
Ademas, mientras que en esta segunda realizacion se usan dos imagenes I o P y una imagen B como imagenes candidatas para una imagen de referencia hacia delante en la decodificacion de una imagen B, las imagenes candidatas de referencia hacia delante en la decodificacion de una imagen B no estan restringidas a las mismas.
Por otra parte, en esta segunda realizacion, como un metodo para gestionar la memoria de imagenes de referencia en la decodificacion de la imagen P13, la imagen B11 y la imagen B12, se describe un metodo de gestion de manera colectiva de las imagenes P y las imagenes B a ser usadas como candidatas de una imagen de referencia, como se muestra en la figura 3. No obstante, el metodo de gestion de memoria de imagenes de referencia puede ser cualquiera de los cuatro metodos que se describen para la primera realizacion con referencia a las figuras 11 a 14, en las que todas las imagenes a ser usadas como candidatas para una imagen de referencia se separan en imagenes P e imagenes B a ser gestionadas.
En este caso, la memoria de imagenes de referencia 207 tiene areas de memoria para seis imagenes, es decir, las areas de memoria de imagenes P (#1)~(#4) y las areas de memoria de imagenes B (#1) y (#2). Ademas, estas seis areas de memoria no se forman necesariamente en una memoria de imagenes de referencia, sino que cada una de las seis areas de memoria se puede constituir por una memoria de imagenes de referencia independiente.
Ademas, cuando el extremo de codificacion emplea un metodo de asignacion de mdice de imagen de referencia en el que se determina, para cada imagen a ser decodificada, a cual del area de memoria de imagenes P y el area de imagen B se da prioridad en la asignacion de indices de imagenes de referencia como se muestra en la figura 14, el aparato de decodificacion de imagenes en movimiento puede identificar facilmente una imagen que se usa como una imagen de referencia entre imagenes candidatas plurales, sobre la base de los indices de imagenes de referencia, usando informacion descrita en el flujo de bits, que indica el area de memoria que tiene prioridad.
Por ejemplo, cuando la imagen objetivo a ser decodificada es la imagen B11, dado que la imagen de referencia hacia delante que es en cuanto al tiempo la mas cercana a la imagen objetivo es la imagen P10, se asignan indices de imagenes de referencia a las imagenes almacenadas en la memoria de imagenes P con prioridad. Por consiguiente, un mdice de imagen de referencia [0] se anade como informacion de cabecera al flujo de bits del bloque objetivo cuando la imagen P10 se usa como una imagen de referencia en la codificacion del bloque objetivo de la imagen B11. Del mismo modo, un mdice de imagen de referencia [1] se anade como informacion de cabecera cuando la imagen P7 se usa como una imagen de referencia y un mdice de imagen de referencia [2] se anade como informacion de cabecera cuando se usa la imagen B9 como una imagen de referencia. Por consiguiente, el aparato de decodificacion de imagenes en movimiento puede conocer que imagen candidata se usa como una imagen de referencia en la codificacion del bloque objetivo, segun el mdice de imagen de referencia.
En este caso, dado que la informacion que indica que los indices de imagenes de referencia se asignan a las imagenes candidatas en la memoria de imagenes P con prioridad se incluye como informacion de cabecera en el flujo de bits, la identificacion de la imagen de referencia se facilita ademas usando esta informacion.
Ademas, cuando la imagen objetivo a ser decodificada es la imagen B12, dado que la imagen de referencia hacia delante que es en cuanto al tiempo la mas cercana a la imagen objetivo es la imagen B11, se asignan indices de imagenes de referencia a las imagenes almacenadas en la memoria de imagenes B con prioridad. Por consiguiente, un mdice de imagen de referencia [0] se anade como informacion de cabecera al flujo de bits del bloque objetivo cuando la imagen B11 se usa como una imagen de referencia en la codificacion del bloque objetivo de la imagen
5
10
15
20
25
30
35
40
45
50
55
B12. Del mismo modo, un mdice de imagen de referencia [1] se anade como informacion de cabecera cuando la imagen P10 se usa como una imagen de referencia y un mdice de imagen de referencia [2] se anade como informacion de cabecera cuando la imagen P7 se usa como una imagen de referencia. Por consiguiente, el aparato de decodificacion de imagenes en movimiento puede conocer que imagen candidata se usa como una imagen de referencia en la codificacion del bloque objetivo, segun el mdice de imagen de referencia.
En este caso, dado que la informacion que indica que los indices de imagenes de referencia se asignan a las imagenes candidatas en la memoria de imagenes B con prioridad se incluye como informacion de cabecera en el flujo de bits, la identificacion de la imagen de referencia se facilita ademas usando esta informacion.
Ademas, hay casos en los que, en el extremo de codificacion, uno de los cinco metodos mencionados anteriormente para gestionar la memoria de imagenes de referencia (consultar las figuras 3, 11 a 14) se selecciona previamente o algunos de estos cinco metodo se usan conmutandolos. Por ejemplo, cuando el extremo de codificacion emplea algunos de los metodos plurales conmutandolos, el aparato de decodificacion de imagenes en movimiento puede determinar el mdice de imagen de referencia, segun informacion que indica que metodo se usa para cada imagen, que se describe en el flujo de bits.
Ademas, en esta segunda realizacion, los cinco metodos para gestionar la memoria de imagenes de referencia (consultar las figuras 3, 11 a 14) se describen para el caso en el que hay tres imagenes candidatas de referencia para una imagen P y hay dos imagenes P y una imagen B como imagenes candidatas de referencia hacia delante para una imagen B. No obstante, los cinco metodos para gestionar la memoria de imagenes de referencia tambien son aplicables a casos en los que el numero de imagenes candidatas de referencia es diferente a las mencionadas anteriormente. Cuando el numero de imagenes candidatas de referencia es diferente de los mencionados para la segunda realizacion, la capacidad de la memoria de imagenes de referencia tambien es diferente de la descrita para la segunda realizacion.
Por otra parte, en esta segunda realizacion, en el metodo de gestion de la memoria de imagenes de referencia en la que las candidatas de referencia almacenadas se separan en imagenes P e imagenes B (cuatro ejemplos mostrados en las figuras 11 a 14), las imagenes P se almacenan en el area de memoria de imagenes P mientras que las imagenes B se almacenan en el area de memoria de imagenes B. No obstante, una memoria de imagenes a corto plazo y una memoria de imagenes a largo plazo que se definen en H.263++ se pueden usar como areas de memoria en las que se almacenan imagenes. Por ejemplo, la memoria de imagenes a corto plazo y la memoria de imagenes a largo plazo se pueden usar como un area de memoria de imagenes P y un area de memoria de imagenes B, respectivamente.
[Realizacion 3]
La figura 23 es un diagrama de bloques que ilustra un aparato de codificacion de imagenes en movimiento 30 segun una tercera realizacion de la presente invencion.
El aparato de codificacion de imagenes en movimiento 30 puede conmutar, segun una senal de control suministrada desde el exterior, un metodo para asignar indices de imagenes de referencia a imagenes candidatas, entre un metodo de asignacion de indices de imagenes de referencia a imagenes candidatas segun una regla inicializada (metodo de asignacion por defecto) y un metodo de asignacion adaptativa de asignacion de indices de imagenes de referencia a imagenes candidatas mediante el metodo de asignacion por defecto y, ademas, cambiar adaptativamente los indices de imagenes de referencia asignados segun el estado de codificacion.
Para ser espedficos, un modo de operacion del aparato de codificacion de imagenes en movimiento 30 segun la tercera realizacion es la operacion del aparato de codificacion de imagenes en movimiento 10 segun la primera realizacion. En otras palabras, cuando se selecciona el metodo de asignacion por defecto como un metodo de asignacion de mdice de imagen de referencia del aparato de codificacion de imagenes en movimiento 30, el aparato de codificacion de imagenes en movimiento 30 realiza el mismo procesamiento que el del aparato de codificacion de imagenes en movimiento 10.
En lo sucesivo, se describira en detalle el aparato de codificacion de imagenes en movimiento 30.
El aparato de codificacion de imagenes en movimiento 30 se dota con una unidad de control de codificacion 130, en lugar de la unidad de control de codificacion 110 del aparato de codificacion de imagenes en movimiento 10 segun la primera realizacion. La unidad de control de codificacion 130 conmuta, segun una senal de control externa Cont, un metodo para asignar indices de imagenes de referencia a imagenes candidatas, entre un metodo de asignacion de indices de imagenes de referencia segun una regla inicializada (metodo de asignacion por defecto) y un metodo que incluye un primer paso de asignacion de indices de imagenes de referencia a imagenes candidatas por el metodo de asignacion por defecto y un segundo paso de cambio de manera adaptativa de los indices de imagenes de referencia que se asignan a las imagenes candidatas por el metodo de asignacion por defecto (metodo de asignacion adaptativa).
Ademas, la unidad de control de codificacion 130 incluye una unidad de deteccion (no mostrada) que detecta, para cada imagen objetivo a ser codificada, la eficiencia de codificacion en un caso en el que cada una de las imagenes
5
10
15
20
25
30
35
40
45
50
candidatas de referencia plurales se usa como una imagen de referencia. La unidad de control de codificacion 130 cambia el mdice de imagen de referencia que se asigna a cada imagen candidata mediante el metodo de asignacion por defecto, segun la eficiencia de codificacion detectada por la unidad de deteccion.
Mas espedficamente, la unidad de control de codificacion 130 cambia el mdice de imagen de referencia que se asigna a cada imagen candidata por el metodo de asignacion por defecto, de manera que, entre imagenes candidatas plurales para una imagen objetivo, a una imagen candidata que proporciona una eficiencia de codificacion mayor de la imagen objetivo cuando se usa como una imagen de referencia se da un mdice de imagen de referencia menor.
Entonces, la unidad de seleccion de modo 139 selecciona, en el modo directo, una imagen que se asigna a un mdice de imagen de referencia [0], como una imagen de referencia hacia delante para un bloque objetivo. En un modo de codificacion predictiva distinto del modo directo tal como el modo de codificacion predictiva bidireccional, la unidad de seleccion de modo 139 selecciona una imagen de referencia de entre imagenes candidatas plurales segun la eficiencia de codificacion.
Otros componentes del aparato de codificacion de imagenes en movimiento 30 segun la tercera realizacion son identicos a los del aparato de codificacion de imagenes en movimiento 10 segun la primera realizacion.
En lo sucesivo se describira la operacion.
En el aparato de codificacion de imagenes en movimiento 30, cuando el metodo de asignacion por defecto se selecciona como un metodo para asignar indices de imagenes de referencia a imagenes candidatas segun la senal de control externa Cont, la operacion del aparato de codificacion de imagenes en movimiento 30 es identica a la operacion del aparato de codificacion de imagenes en movimiento 10 segun la primera realizacion.
Por otra parte, cuando se selecciona el metodo de asignacion adaptativa como un metodo para asignar indices de imagenes de referencia a imagenes candidatas segun la senal de control externa Cont, el aparato de codificacion de imagenes en movimiento 30 realiza, en el primer paso, asignacion de indices de imagenes de referencia de la misma manera que se describio para el aparato de codificacion de imagenes en movimiento 10.
Cuando se selecciona el metodo de asignacion adaptativa, el aparato de codificacion de imagenes en movimiento 30 realiza, en el segundo paso, un cambio adaptativo de los indices de imagenes de referencia que se asignan por el metodo de asignacion por defecto.
En lo sucesivo, se dara una descripcion de metodos espedficos de asignacion de indices de imagenes de referencia en el caso en el que se selecciona el metodo de asignacion adaptativa. En la siguiente descripcion, se supone que una imagen objetivo es la imagen B12.
Inicialmente, en el primer paso, como se muestra en la figura 3, los indices de imagenes de referencia se asignan a imagenes candidatas para referencia hacia delante de manera que un mdice de imagen de referencia menor se asigna a una imagen candidata que es mas cercana a la imagen objetivo. Es decir, un mdice de imagen de referencia [1] se asigna a la imagen de referencia P10, un mdice de imagen de referencia [0] se asigna a la imagen de referencia B11 y un mdice de imagen de referencia [2] se asigna a la imagen de referencia P7.
A continuacion, en el segundo paso, como se muestra en la figura 24, el mdice de imagen de referencia [1] de la imagen de referencia P10 se cambia a [0] y el mdice de imagen de referencia [0] de la imagen de referencia B11 se cambia a [1].
Tal reescritura de indices de imagenes de referencia se lleva a cabo para cada imagen objetivo, segun la eficiencia de codificacion. Ademas, el aparato de codificacion de imagenes en movimiento 30 inserta informacion que indica cual del metodo de asignacion por defecto y el metodo de asignacion adaptativa se fija como un metodo de asignacion, como informacion de cabecera, en el flujo de bits. Ademas, cuando se fija el metodo de asignacion adaptativa, informacion que indica como se lleva a cabo la asignacion de indices de imagenes de referencia tambien se inserta como informacion de cabecera en el flujo de bits.
Como se describio anteriormente, en esta tercera realizacion, el mdice de imagen de referencia de la imagen candidata que va a ser usado como una imagen de referencia hacia delante en el modo de direccion, se puede cambiar a [0].
Es decir, dado que, en la primera realizacion, un mdice de imagen de referencia menor se da a una imagen candidata de referencia que es en cuanto al tiempo mas cercana a la imagen objetivo, solamente se puede hacer referencia en el modo directo a la imagen B11 que es en cuanto al tiempo la mas cercana a la imagen objetivo B12. En esta tercera realizacion, no obstante, cualquier imagen distinta de la imagen B11 la mas cercana a la imagen objetivo B12 se puede usar como una imagen de referencia hacia delante, si se mejora la eficiencia de codificacion.
Ademas, en este caso, dado que la imagen a ser referida en la codificacion de la imagen B12 en el modo directo no es la imagen B11 sino la imagen B10, la decodificacion de la imagen B11 llega a ser innecesaria. Por consiguiente,
5
10
15
20
25
30
35
40
45
50
como se muestra en la figura 25(a), una imagen B inmediatamente despues de una imagen P se puede procesar sin decodificarla, por lo cual se logra la aceleracion de la decodificacion cuando la imagen B11 no es necesaria. Ademas, dado que la decodificacion se puede llevar a cabo incluso cuando los datos de la imagen B11 se pierdan debido a error de transmision o similar, se mejora la fiabilidad de la decodificacion.
Como se describio anteriormente, cuando un mdice de imagen de referencia se puede asignar arbitrariamente a una imagen candidata para determinar intencionadamente una imagen a ser referida en el modo directo, una imagen predeterminada se puede procesar sin decodificarla, como se muestra en la figura 25(a).
Ademas, incluso cuando tres imagenes B se colocan entre imagenes P como se muestra en la figura 25(b), una imagen predeterminada se puede procesar sin decodificarla. Por lo tanto, cuando una imagen que no se necesita por el usuario se conoce previamente en el extremo de codificacion, tal imagen se puede omitir para reducir el tiempo de procesamiento en la decodificacion.
En la figura 25(b), incluso cuando la imagen B3 no se decodifica, se pueden decodificar otras imagenes.
Es decir, en el metodo de asignacion de la primera realizacion, dado que la imagen B4 se refiere a la imagen B3 en el modo directo, la imagen B3 se debe decodificar para decodificar la imagen B4. En esta tercera realizacion, no obstante, dado que una imagen a ser referida en el modo directo se puede fijar arbitrariamente, se puede prescindir de la decodificacion de la imagen B3.
Ademas, en esta tercera realizacion, la asignacion de indices de imagenes de referencia se lleva a cabo de manera que un mdice de imagen de referencia menor se asigna a una imagen candidata que es en cuanto al tiempo mas cercana a la imagen objetivo y una imagen de referencia a ser usada en el modo directo se determina segun los indices de imagenes de referencia. Por lo tanto, la eficiencia de codificacion se puede mejorar mediante una reduccion en el vector de movimiento y, ademas, se puede reducir el tiempo de procesamiento.
Ademas, cuando se procesa el bloque objetivo en el modo directo en el extremo de decodificacion, dado que la imagen candidata de referencia hacia delante a la cual se asigna el mdice de imagen de referencia [0] se usa inmediatamente como una imagen de referencia, se puede reducir el tiempo de decodificacion.
Ademas, mientras que en esta tercera realizacion una imagen candidata cuyo mdice de imagen de referencia se debena cambiar a [0] se determina segun la eficiencia de codificacion, un mdice de imagen de referencia de una imagen a la que mas probablemente va a ser hecha referencia, por ejemplo, una imagen P que es en cuanto al tiempo la mas cercana a la imagen objetivo, se puede cambiar a [0].
Por otra parte, mientras que en esta tercera realizacion una imagen a ser referida en el modo directo es una imagen cuyo mdice de imagen de referencia es [0], la presente invencion no esta restringida a la misma. Por ejemplo, se codifica una informacion que indica que se va a hacer referencia a una imagen en el modo directo y la decodificacion se puede llevar a cabo en el modo directo sobre la base de esta informacion.
[Realizacion 4]
La figura 26 es un diagrama de bloques para explicar un aparato de decodificacion de imagenes en movimiento 40 segun una cuarta realizacion de la presente invencion.
El aparato de decodificacion de imagenes en movimiento 40 recibe el flujo de bits sacados del aparato de codificacion de imagenes en movimiento 30 de la tercera realizacion y realiza decodificacion de cada imagen, sobre la base de informacion que indica cual del metodo de asignacion por defecto y el metodo de asignacion adaptativa se debena usar cuando se asignan indices de imagenes de referencia (informacion de instrucciones del metodo de asignacion), cuya informacion se incluye en el flujo de bits.
Es decir, un modo de operacion del aparato de decodificacion de imagenes en movimiento 40 segun la cuarta realizacion es la operacion del aparato de codificacion de imagenes en movimiento 20 segun la segunda realizacion. En otras palabras, cuando el metodo de asignacion por defecto se usa como un metodo de asignacion de indices de imagenes de referencia en el aparato de decodificacion de imagenes en movimiento 40, la operacion del aparato de decodificacion de imagenes en movimiento 40 es identica a la del aparato de decodificacion de imagenes en movimiento 20.
En lo sucesivo, se describira en detalle el aparato de decodificacion de imagenes en movimiento 40.
El aparato de decodificacion de imagenes en movimiento 40 se dota con una unidad de control de memoria 244, en lugar de la unidad de control de memoria 204 del aparato de decodificacion de imagenes en movimiento 20 segun la segunda realizacion. La unidad de control de memoria 244 realiza gestion de memoria segun o bien el metodo de asignacion por defecto o bien el metodo de asignacion adaptativa, sobre la base de la informacion de instrucciones del metodo de asignacion incluida en el flujo de bits como informacion de cabecera.
Otros componentes del aparato de decodificacion de imagenes en movimiento 40 segun la cuarta realizacion son identicos a los del aparato de decodificacion de imagenes en movimiento 20 segun la segunda realizacion.
5
10
15
20
25
30
35
40
45
50
55
En lo sucesivo se describira la operacion.
El aparato de decodificacion de imagenes en movimiento 40 opera segun la informacion de instrucciones del metodo de asignacion que se incluye como informacion de cabecera en el flujo de bits suministrado desde el aparato de codificacion de imagenes en movimiento 30.
Es decir, cuando se selecciona el metodo de asignacion por defecto como un metodo de asignacion de mdice de imagen de referencia en el extremo de codificacion, es decir, cuando informacion que indica que se selecciona el metodo de asignacion por defecto se incluye en el flujo de bits, el aparato de decodificacion de imagenes en movimiento 40 opera de la misma manera que el aparato de decodificacion de imagenes en movimiento 20 de la segunda realizacion.
Por otra parte, cuando se selecciona el metodo de asignacion adaptativa como un metodo de asignacion de mdice de imagen de referencia en el extremo de codificacion, es decir, cuando informacion que indica que se selecciona el metodo de asignacion adaptativa se incluye en el flujo de bits, el aparato de decodificacion de imagenes en movimiento 40 opera segun el metodo de asignacion adaptativa. En este caso, dado que informacion que indica como se lleva a cabo la asignacion de indices de imagenes de referencia tambien se incluye como informacion de cabecera en el flujo de bits, la asignacion de indices de imagenes de referencia se lleva a cabo segun esta informacion.
En lo sucesivo, se dara una descripcion de la operacion del aparato de decodificacion de imagenes en movimiento 40 en el caso en el que se selecciona el metodo de asignacion adaptativa.
En la memoria de imagenes de referencia 207, como se muestra en la figura 24, imagenes candidatas de referencia almacenadas en el area de memoria respectiva se reescriben cada vez que se procesa una imagen objetivo.
Para ser espedficos, cuando la imagen objetivo a ser decodificada es la imagen B12, la decodificacion de un bloque objetivo en la imagen B12 se lleva a cabo sin referencia a una imagen de referencia que se selecciona a partir de imagenes candidatas segun la informacion de cabecera del bloque objetivo.
Por ejemplo, cuando el modo de codificacion para el bloque objetivo es el modo predictivo bidireccional, una imagen candidata a la que se da el mismo mdice de imagen de referencia como el mdice de imagen de referencia que se incluye en la informacion de cabecera del bloque objetivo, se selecciona como una imagen de referencia hacia delante de entre las imagenes candidatas P10, B11 y P7. Cuando el mdice de imagen de referencia incluido en la informacion de cabecera del bloque objetivo es [1], la imagen candidata B11 se selecciona como una imagen de referencia hacia delante. Entonces, el bloque objetivo se somete a decodificacion predictiva bidireccional con referencia a la imagen candidata B11 como una imagen de referencia hacia delante, y la imagen P13 como una imagen de referencia hacia atras.
Ademas, cuando el modo de decodificacion del bloque objetivo es el modo directo, una imagen candidata (imagen P10) a la que se da el mdice de imagen de referencia [0] se selecciona como una imagen de referencia hacia delante de entre las imagenes candidatas P7, P10 y B9. Entonces, el bloque objetivo se decodifica con referencia a la imagen candidata P10 como una imagen de referencia hacia delante y la imagen P13 como una imagen de referencia hacia atras.
Como se describio anteriormente, segun la cuarta realizacion, la memoria de imagenes de referencia 207 se gestiona como se muestra en la figura 24, es decir, la gestion de memoria se lleva a cabo usando, como los indices de imagenes de referencia de las imagenes candidatas respectivas, los obtenidos cambiando los indices de imagenes de referencia asignados por el metodo de asignacion por defecto, segun el estado de codificacion. Por lo tanto, es posible realizar un metodo de decodificacion adaptativo a un metodo de codificacion en el que los indices de imagenes de referencia de las imagenes candidatas se reescriben segun la eficiencia de codificacion.
Es decir, dado que, en la segunda realizacion, se da un mdice de imagen de referencia menor a una imagen candidata de referencia que es en cuanto al tiempo mas cercana a la imagen objetivo, solamente la imagen B11 que es en cuanto al tiempo la mas cercana a la imagen objetivo B12 se puede usar como una imagen de referencia en el modo directo. En esta cuarta realizacion, no obstante, una imagen distinta de la imagen B11 la mas cercana a la imagen objetivo B12 se puede usar como una imagen de referencia hacia delante.
Ademas, en este caso, dado que la imagen a ser referida en la decodificacion de un bloque en la imagen B12 en el modo directo no es la imagen B11 sino la imagen B10, la decodificacion de la imagen B11 llega a ser innecesaria. Por consiguiente, como se muestra en la figura 25(a), una imagen B inmediatamente despues de una imagen P se puede procesar sin decodificarla, por lo cual se logra la aceleracion de la decodificacion cuando la imagen B11 no es necesaria. Ademas, dado que la decodificacion se puede llevar a cabo incluso cuando los datos de la imagen B11 se pierdan debido a error de transmision o similar, se mejora la fiabilidad de la decodificacion.
Como se describio anteriormente, cuando se selecciona arbitrariamente un mdice de imagen de referencia a ser asignado a cada imagen candidata de referencia segun el estado de codificacion para determinar intencionadamente
5
10
15
20
25
30
35
40
45
50
55
una imagen a ser referida en el modo directo, una imagen predeterminada se puede procesar sin decodificarla como se muestra en la figura 25(a).
Ademas, incluso cuando tres imagenes B se colocan entre imagenes P como se muestra en la figura 25(b), una imagen predeterminada se puede procesar sin decodificarla. Por lo tanto, si una imagen que no se necesita por el usuario se conoce previamente en el extremo de codificacion, tal imagen se puede omitir para reducir el tiempo de procesamiento para la decodificacion.
En la figura 25(b), incluso cuando no se decodifica la imagen B3, se pueden decodificar otras imagenes.
Es decir, dado que, en la segunda realizacion, la imagen B4 se decodifica con referencia a la imagen B3 en el modo directo, se debe decodificar la imagen B3. En esta cuarta realizacion, no obstante, dado que una imagen a ser referida en el modo directo se fija arbitrariamente en el extremo de codificacion, se puede prescindir de la decodificacion de la imagen B3.
Ademas, cuando se procesa el bloque objetivo en el modo directo en el extremo de decodificacion, dado que la imagen candidata de referencia hacia delante a la que se asigna el mdice de imagen de referencia [0] se usa inmediatamente como una imagen de referencia, se puede reducir el tiempo de decodificacion.
Mientras que en la primera a cuarta realizaciones no se hace referencia a una imagen B cuando se codifica o decodifica una imagen P, se puede hacer referencia a una imagen B cuando se codifica o decodifica una imagen P.
Ademas, mientras que en la primera a cuarta realizaciones una distancia basada en el tiempo entre imagenes se calcula segun los tiempos de visualizacion de las imagenes respectivas, se puede calcular segun informacion distinta de informacion de tiempo tal como tiempos de visualizacion de imagenes.
Por ejemplo, se fija un valor de contador que se aumenta cada vez que se procesa una imagen y una distancia basada en el tiempo entre imagenes se pueden calcular segun este valor de recuento.
Para ser espedficos, cuando se incluye informacion de tiempo en ambos de un flujo de video y un flujo de audio que corresponde a contenidos unicos, no es facil gestionar datos de video y datos de audio sobre la base de la informacion de tiempo para mantener la sincronizacion entre estos datos, debido a que una unidad de informacion de tiempo es pequena. No obstante, se facilita la gestion considerando sincronizacion entre datos de video y datos de audio gestionando la disposicion de las imagenes respectivas con el valor de contador.
Ademas, en la primera a cuarta realizaciones, una seccion de cabecera y una seccion de datos en una unidad de procesamiento de datos, tal como un GOP o una imagen, no estan separadas una de otra y se incluyen en un flujo de bits que corresponde a cada unidad de procesamiento de datos a ser transferidos. No obstante, la seccion de cabecera y la seccion de datos pueden estar separadas una de otra para ser transferidas en diferentes flujos.
Por ejemplo, cuando un flujo se transfiere en unidades de transferencia de datos tales como paquetes en los cuales se divide el flujo, una seccion de cabecera y una seccion de datos que corresponden a una imagen se pueden transferir separadamente una de otra. En este caso, la seccion de cabecera y la seccion de datos no siempre se incluyen en el mismo flujo. No obstante, en la transferencia de datos usando paquetes, incluso cuando la seccion de cabecera y la seccion de datos no se transfieren continuamente, la seccion de cabecera correspondiente y la seccion de datos se transfieren meramente en diferentes paquetes y la relacion entre la seccion de cabecera y la seccion de datos correspondientes se almacena en la informacion de cabecera de cada paquete y, por lo tanto, es sustancialmente identica a la de la seccion de cabecera y la seccion de datos se incluyen en el mismo flujo de bits.
Ademas, mientras que en la primera a cuarta realizaciones los indices de imagenes de referencia se usan como informacion para identificar a cual de imagenes candidatas de referencia plurales se hace referencia en la codificacion de un bloque objetivo, los indices de imagenes de referencia se pueden usar como informacion que indica las posiciones de imagenes candidatas de referencia hacia delante para una imagen objetivo a ser codificada o decodificada. Para ser espedficos, en los metodos de asignacion de indices de imagenes de referencia segun la primera y segunda realizaciones o los metodos de asignacion por defecto segun la tercera y cuarta realizaciones, los indices de imagenes de referencia se asignan a las imagenes candidatas de referencia hacia delante de manera que un mdice de imagen de referencia menor se asigna a una imagen candidata mas cercana a la imagen objetivo y, por lo tanto, la posicion de cada imagen candidata de referencia hacia delante (es decir, la categona ordinal de cada imagen candidata de referencia hacia delante en las cercamas de la imagen objetivo, entre todas las imagenes candidatas de referencia hacia delante) se puede detectar segun el mdice de imagen de referencia asignado a la imagen candidata de referencia hacia delante.
Ademas, informacion de identificacion de posicion que indica las posiciones de las imagenes respectivas que constituyen una imagen en movimiento en el eje de tiempo de visualizacion se puede incluir en el flujo de bits que corresponde a la imagen en movimiento, separadamente de los indices de imagenes de referencia que indican las posiciones relativas de las imagenes candidatas de referencia hacia delante. La informacion de identificacion de posicion es diferente de la informacion de tiempo que indica los tiempos de visualizacion de imagenes y es informacion que especifica las posiciones relativas de las imagenes respectivas.
5
10
15
20
25
30
35
40
45
50
55
Por otra parte, en la primera a cuarta realizaciones, una imagen a la que va a ser hecha referencia hacia atras cuando se codifica un bloque en una imagen objetivo a ser codificada o decodificada (imagen de referencia hacia atras para una imagen objetivo) se usa como una imagen base en el modo directo. No obstante, una imagen base a ser usada en el modo directo puede ser una imagen ya procesada distinta de la imagen de referencia hacia atras para la imagen objetivo, por ejemplo, una imagen a ser referida hacia delante cuando se codifica el bloque en la imagen objetivo.
[Realizacion 5]
La figura 27 es un diagrama de bloques para explicar un aparato de codificacion de imagenes en movimiento 50 segun una quinta realizacion de la presente invencion.
El aparato de codificacion de imagenes en movimiento 50 segun la quinta realizacion es diferente del aparato de codificacion de imagenes en movimiento 10 segun la primera realizacion en imagenes candidatas para imagenes de referencia hacia delante a ser referidas cuando se codifica una imagen P y una imagen B y modos de codificacion para una imagen B.
Es decir, el aparato de codificacion de imagenes en movimiento 50 se dota con, en lugar de la unidad de control 110 y la unidad de seleccion de modo 109 segun la primera realizacion, una unidad de control 150 y una unidad de seleccion de modo 159 que opera de maneras diferentes de las descritas para la primera realizacion.
Para ser espedficos, la unidad de control 150 segun la quinta realizacion controla una memoria de imagenes de referencia 117 de tal manera que, cuando se codifica una imagen P, cuatro imagenes (imagenes I o P) que se colocan hacia delante de la imagen P se usan como imagenes candidatas para referencia hacia delante y cuando se codifica una imagen B, cuatro imagenes (imagenes I o P) que se colocan hacia delante de la imagen B, una imagen B hacia delante que es la mas cercana a la imagen B y una imagen I o P hacia atras se usan como imagenes candidatas.
Ademas, cuando se codifica un bloque (bloque objetivo) en una imagen P, la unidad de seleccion de modo 159 segun la quinta realizacion selecciona, como un modo de codificacion para el bloque objetivo, uno de entre la codificacion dentro de una imagen, la codificacion predictiva entre imagenes usando un vector de movimiento y la codificacion predictiva entre imagenes no usando un vector de movimiento (un movimiento se trata como cero). Cuando se codifica un bloque (bloque objetivo) en una imagen B, la unidad de seleccion de modo 159 selecciona, como un modo de codificacion para el bloque objetivo, uno de entre la codificacion dentro de una imagen, la codificacion predictiva entre imagenes usando un vector de movimiento hacia delante, la codificacion predictiva entre imagenes usando un vector de movimiento hacia atras y la codificacion predictiva entre imagenes usando un vector de movimiento hacia delante y un vector de movimiento hacia atras. Es decir, la unidad de seleccion de modo 159 del aparato de codificacion de imagenes en movimiento 50 segun esta quinta realizacion es diferente de la unidad de seleccion de modo 109 del aparato de codificacion de imagenes en movimiento 10 segun la primera realizacion solamente en que no usa el modo directo y, por lo tanto, el aparato de de codificacion de imagenes en movimiento 50 no tiene la unidad de almacenamiento de vector de movimiento 116 del aparato de codificacion de imagenes en movimiento 10.
Ademas, el aparato de codificacion de imagenes en movimiento 50 segun la quinta realizacion es identico al aparato de codificacion de imagenes en movimiento 10 segun la primera realizacion excepto la unidad de control de codificacion 150 y la unidad de seleccion de modo 159.
A continuacion se describira la operacion.
Las imagenes de entrada se almacenan en la memoria de imagenes de entrada 101, en unidades de imagenes en orden de tiempos de visualizacion. Como se muestra la figura 29(a), las imagenes de entrada P0, B1, B2, P3, B4, B5, P6, B7, B8, P9, B10, B11, P12, B13, B14, P15, B16, B17 y P18 se almacenan en la memoria de imagenes de entrada 101 en orden de tiempos de visualizacion.
Las imagenes respectivas almacenadas en la memoria de imagenes de entrada 101 se reordenan en orden de codificacion de codificacion como se muestra la figura 29(b). Esta reordenacion se lleva a cabo segun las relaciones entre imagenes objetivo e imagenes de referencia durante la codificacion predictiva entre imagenes. Es decir, la reordenacion de las imagenes de entrada se lleva a cabo de manera que una segunda imagen a ser usada como candidata para una imagen de referencia cuando se codifica una primera imagen se debena codificar anterior a la primera imagen.
En esta quinta realizacion, cuando se codifica una imagen P (imagen objetivo), cuatro imagenes (imagenes I o P) que se colocan en cuanto al tiempo hacia delante y cerca de la imagen objetivo se usan como candidatas para una imagen de referencia. Ademas, cuando se codifica una imagen B, cuatro imagenes (imagenes I o P) que se colocan en cuanto al tiempo hacia delante y cerca de la imagen objetivo, una imagen B que se coloca en cuanto al tiempo hacia delante y la mas cercana a la imagen objetivo y una imagen I o P que se coloca en cuanto al tiempo hacia atras y la mas cercana a la imagen objetivo, se usan como candidatas para la imagen de referencia.
5
10
15
20
25
30
35
40
45
50
55
Las imagenes respectivas reordenadas en la memoria de imagenes de entrada 101 se leen para cada unidad de compensacion de movimiento. En esta quinta realizacion, la unidad de compensacion de movimiento es un area rectangular (macrobloque) en la cual se disponen pfxeles en una matriz, que tiene un tamano de 16 pfxeles en la direccion horizontal X 16 pfxeles en la direccion vertical. En la siguiente descripcion, se hace referencia a un macrobloque simplemente como un bloque.
En lo sucesivo, se describiran en este orden procesos de codificacion para las imagenes P15, B13 y B14.
(Proceso de codificacion para la imagen P15)
Dado que la imagen P15 es una imagen P, esta imagen se somete a codificacion predictiva entre imagenes usando referencia hacia delante. Ademas, en la codificacion de una imagen P, no se usa una imagen B como una imagen de referencia.
La figura 28 muestra la manera de gestion de imagenes en la memoria de imagenes de referencia 117.
Por ejemplo, al inicio de la codificacion de la imagen P15, en la memoria de imagenes de referencia 117, las imagenes P12, B11, P9, P6 y P3 se almacenan en areas de memoria a las cuales se asignan numeros de memoria logica, en orden ascendente de los numeros de memoria logica. Estas imagenes ya se han codificado y los datos de imagen almacenados en la memoria de imagenes de referencia 117 son datos imagen que se han decodificado en el aparato de codificacion de imagenes en movimiento 50. En lo sucesivo, por simplificacion, a una imagen cuyos datos de imagen se almacenan en la memoria se hace referencia como una imagen almacenada en la memoria.
A las imagenes candidatas de referencia almacenadas en la memoria de imagenes de referencia 117 se asignan indices de imagenes de referencia, bajo el control de la unidad de control de codificacion 150. La asignacion de indices de imagenes de referencia se lleva a cabo no en orden de codificacion de imagenes sino en orden de tiempos de visualizacion. Para ser espedficos, un mdice de imagen de referencia menor se asigna a una imagen candidata de referencia mas reciente, es decir, una imagen candidata de referencia que es posterior en orden de visualizacion. No obstante, en la codificacion de una imagen P, no se asignan indices de imagenes de referencia a imagenes B. Ademas, en la codificacion de una imagen B, a una imagen candidata de referencia la mas reciente se asigna un codigo [b] que indica que esta imagen se debena tratar como una imagen de referencia hacia atras.
Segun el metodo de determinacion de mdice de imagen de referencia mencionado anteriormente, como se muestra la figura 28, los indices de imagenes de referencia [0], [1], [2] y [3] se asignan a las imagenes P12, P9, P6, y P3, respectivamente y no se asigna ningun mdice de imagen de referencia a la imagen B11.
Por cierto, en la codificacion de una imagen P, la unidad de control de codificacion 150 controla los conmutadores respectivos de manera que los conmutadores 113, 114 y 115 se ENCIENDEN. Un bloque en la imagen P15 que se lee de la memoria de imagenes de entrada 101 se introduce a la unidad de deteccion de vector de movimiento 108, la unidad de seleccion de modo 109, y la unidad de calculo de diferencia 102.
La unidad de deteccion de vector de movimiento 108 detecta un vector de movimiento del bloque en la imagen P15, usando las imagenes P12, P9, P6 y P3 a las cuales se asignan los indices de imagenes de referencia, entre las imagenes almacenadas en la memoria de imagenes de entrada 117. En este caso, se selecciona una imagen candidata de referencia optima de entre las imagenes P12, P9, P6 y P3 y se lleva a cabo una deteccion del vector de movimiento con referencia a la imagen de referencia seleccionada. Entonces, el vector de movimiento detectado se saca a la unidad de seleccion de modo 159 y la unidad de generacion de flujo de bits 104. Ademas, informacion Rp que indica a cual de las imagenes P12, P9, P6 y P3 se hace referencia en la deteccion del vector de movimiento, es decir, el mdice de imagen de referencia, tambien se saca a la unidad de seleccion de modo 159.
La unidad de seleccion de modo 159 determina un modo de codificacion para el bloque en la imagen P15, usando el vector de movimiento detectado por la unidad de deteccion de vector de movimiento 108. El modo de codificacion indica un metodo para codificar el bloque. Por ejemplo, para un bloque en una imagen P, se selecciona un modo de codificacion de entre la codificacion dentro de una imagen, la codificacion predictiva entre imagenes usando un vector de movimiento y la codificacion predictiva entre imagenes no usando vector de movimiento (es decir, el movimiento se considera como cero). Generalmente, la seleccion de un modo de codificacion se lleva a cabo de manera que se minimiza el error de codificacion en una cantidad de bits predeterminada.
El modo de codificacion Ms determinado por la unidad de seleccion de modo 159 se saca a la unidad de generacion de flujo de bits 104. Ademas, cuando el modo de codificacion determinado es el modo de codificacion que realiza referencia hacia delante, el mdice de imagen de referencia tambien se saca a la unidad de generacion de flujo de bits 104.
Ademas, una imagen de prediccion Pd que se obtiene sobre la base del modo de codificacion determinado por la unidad de seleccion de modo 152 se saca a la unidad de calculo de diferencia 102 y la unidad de adicion 106. No obstante, cuando se selecciona codificacion dentro de una imagen, no se saca ninguna imagen de prediccion Pd. Ademas, cuando se selecciona la codificacion dentro de una imagen, el conmutador 111 se controla de manera que
5
10
15
20
25
30
35
40
45
50
55
el terminal de entrada Ta se conecta al terminal de salida Tb2 y el conmutador 112 se controla de manera que el terminal de salida Td se conecta al terminal de entrada Tc2.
En lo sucesivo, se dara una descripcion de un caso en el que se selecciona codificacion predictiva entre imagenes en la unidad de seleccion de modo 109. Dado que las operaciones de la unidad de calculo de diferencia 102, unidad de codificacion de error de prediccion 103, unidad de generacion de flujo de bits 104 y unidad de decodificacion de error de prediccion 105 son identicas a las mencionadas en la primera realizacion, no es necesaria una descripcion repetida.
Cuando se completa la codificacion de todos los bloques en la imagen P15, la unidad de control de codificacion 150 actualiza los numeros de memoria logica y los indices de imagenes de referencia que corresponden a las imagenes almacenadas en la memoria de imagenes de referencia 117.
Es decir, dado que la imagen codificada P15 es posterior en el orden de tiempos de visualizacion que cualquier imagen almacenada en la memoria de imagenes de referencia 117, la imagen P15 se almacena en el area de memoria en la que se fija el numero de memoria logica (0). Entonces, los numeros de memoria logica de las areas de memoria en las que ya se han almacenado otras imagenes de referencia se aumentan en 1. Ademas, dado que la siguiente imagen objetivo a ser codificada es la imagen B13 que es una imagen B, tambien se asigna un mdice de imagen de referencia a la imagen B11. Por ello, las imagenes P15, P12, B11, P9, P6 y P3 se almacenan en las areas de memoria en las cuales se fijan los numeros de memoria logica (0)~(5), respectivamente y los indices de imagenes de referencia [0], [1], [2], [3] y [4] se asignan a las imagenes P12, B11, P9, P6 y P3, respectivamente. Dado que la siguiente imagen objetivo es una imagen B, a la imagen P15 almacenada en el area de memoria del numero de memoria logica 0 se la asigna un codigo [b] que indica que esta imagen se trata como una imagen de referencia hacia atras, en lugar del mdice de imagen de referencia.
(Proceso de codificacion para la imagen B13)
Dado que la imagen B13 es una imagen B, esta imagen se somete a codificacion predictiva entre imagenes usando referencia bidireccional. En este caso, cuatro imagenes I o P que son en cuanto al tiempo cercanas a la imagen objetivo y una imagen B que es en cuanto al tiempo la mas cercana a la imagen objetivo se usan como imagenes candidatas para referencia hacia delante y una imagen I o P que es en cuanto al tiempo la mas cercana a la imagen objetivo se usa como una imagen candidata para referencia hacia atras. Por consiguiente, las imagenes candidatas para referencia hacia delante para la imagen B13 son las imagenes P12, B11, P9, P6 y P3 y la imagen candidata para referencia hacia atras para la imagen B13 es la imagen P15. Estas imagenes candidatas de referencia se almacenan en la memoria de imagenes de referencia 117. A estas imagenes candidatas de referencia se las asignan numeros de memoria logica e indices de imagenes de referencia como se muestra en la figura 28.
En la codificacion de una imagen B, la unidad de control de codificacion 150 controla los conmutadores respectivos de manera que los conmutadores 113, 114 y 115 estan ENCENDIDOS. Por consiguiente, un bloque en la imagen B11 que se lee de la memoria de imagenes de entrada 101 se introduce a la unidad de deteccion de vector de movimiento 108, la unidad de seleccion de modo 109 y la unidad de calculo de diferencia 102.
La unidad de deteccion de vector de movimiento 108 detecta un vector de movimiento hacia delante y un vector de movimiento hacia atras del bloque en la imagen B13, usando las imagenes P12, B11, P9, P6 y P3 almacenadas en la memoria de imagenes de referencia 117, como imagenes candidatas para referencia hacia delante y la imagen P15 como una imagen candidata para referencia hacia atras. En este caso, se selecciona una imagen optima de entre las imagenes P12, B11, P9, P6 y P3 y la deteccion del vector de movimiento hacia delante se lleva a cabo con referencia a la imagen seleccionada. Entonces, el vector de movimiento detectado se saca a la unidad de seleccion de modo 159 y la unidad de generacion de flujo de bits 104. Ademas, informacion Rp que indica a cual de las imagenes P12, B11, P9, P6 y P3 se hace referencia en la deteccion del vector de movimiento hacia delante, es decir, el mdice de imagen de referencia, se saca tambien a la unidad de seleccion de modo 159.
Las operaciones de la unidad de seleccion de modo 150, unidad de calculo de diferencia 102, unidad de generacion de flujo de bits 104 y unidad de decodificacion de error de prediccion 105 son identicas a aquellas para codificar la imagen P15.
Cuando se completa la codificacion de todos los bloques en la imagen B13, la unidad de control de codificacion 150 actualiza los numeros de memoria logica y los indices de imagenes de referencia que corresponden a las imagenes almacenadas en la memoria de imagenes de referencia 117.
Es decir, dado que la imagen B13 se coloca, en orden de tiempos de visualizacion, antes de la imagen P15 almacenada en la memoria de imagenes de referencia 117 y despues de la imagen P12 almacenada en la memoria de imagenes de referencia 117, la imagen B13 se almacena en el area de memoria en la que se fija el numero de memoria logica (1). Ademas, dado que la imagen B11 no se usa como una imagen de referencia en la codificacion de las imagenes posteriores, se borra la imagen B11. En este momento, informacion que indica que la imagen B11 se borra de la memoria de imagenes de referencia se saca a la unidad de generacion de flujo de bits 104 como una senal de control Cs1. La unidad de generacion de flujo de bits 104 describe esta informacion como informacion de
5
10
15
20
25
30
35
40
45
50
55
cabecera en el flujo de bits. Ademas, el numero de memoria logica del area de memoria que corresponde a la imagen P12 se aumenta en 1.
La siguiente imagen objetivo a ser codificada es la imagen B14 como una imagen B. Por consiguiente, la imagen almacenada en el area de memoria con el numero de memoria logica (0) se usa como una imagen de referencia hacia atras y los indices de imagen de referencia se asignan a las otras imagenes. Por ello, las imagenes P15, B13, P12, P9, P6 y P3 se almacenan en las areas de memoria que corresponden a los numeros de memoria logica (0)~(5), respectivamente y los indices de imagenes de referencia [0], [1], [2], [3] y [4] se asignan a las imagenes B13, P12, P9, P6 y P3, respectivamente.
<Proceso de codificacion para la imagen B14>
Dado que la imagen B14 es una imagen B, esta imagen se somete a codificacion predictiva entre imagenes usando referencia bidireccional. Como imagenes de referencia para la imagen B14, las imagenes B13, P12, P9, P6 y P3 se usan como imagenes de referencia hacia delante mientras que la imagen P15 se usa como una imagen de referencia hacia atras. En el procesamiento de una imagen B, la unidad de control de codificacion 150 controla los conmutadores respectivos de manera que los conmutadores 113, 114 y 115 estan ENCENDIDOS. Por consiguiente, un bloque en la imagen B14 que se lee de la memoria de imagenes de entrada 101 se introduce a la unidad de deteccion de vector de movimiento 108, la unidad de seleccion de modo 109 y la unidad de calculo de diferencia 102.
La unidad de deteccion de vector de movimiento 108 detecta un vector de movimiento hacia delante y un vector de movimiento hacia atras del bloque en la imagen B14, usando las imagenes B13, P12, P9, P6 y P3 almacenadas en la memoria de imagenes de referencia 117 como imagenes candidatas para referencia hacia delante asf como la imagen P15 como una imagen candidata para referencia hacia atras. En este caso, se selecciona una imagen optima de entre las imagenes B13, P12, P9, P6 y P3 y la deteccion del vector de movimiento hacia delante se lleva a cabo con referencia a la imagen seleccionada. Entonces, el vector de movimiento detectado se saca a la unidad de seleccion de modo 159 y la unidad de generacion de flujo de bits 104. Ademas, informacion Rp que indica a cual de las imagenes B13, P12, P9, P6 y P3 se hace referencia en la deteccion del vector de movimiento hacia delante, es decir, el mdice de imagen de referencia, tambien se saca a la unidad de seleccion de modo 159.
Las operaciones de la unidad de seleccion de modo 150, unidad de calculo de diferencia 102, unidad de generacion de flujo de bits 104, unidad de decodificacion de error de prediccion 105 y unidad de adicion 106 son similares a aquellas para codificar la imagen P15.
Cuando se completa la codificacion de todos los bloques en la imagen B14, la unidad de control de codificacion 150 actualiza los numeros de memoria logica y los indices de imagenes de referencia que corresponden a las imagenes almacenadas en la memoria de imagenes de referencia 117.
Es decir, dado que la imagen B14 se coloca, en orden de tiempos de visualizacion, antes de la imagen P15 almacenada en la memoria de imagenes de referencia 117, y posterior a la imagen B13 almacenada en la memoria de imagenes de referencia 117, la imagen B14 se almacena en el area de memoria en la que se fija el numero de memoria logica (1). Ademas, dado que la imagen B13 no se usa como una imagen de referencia en la codificacion de las imagenes posteriores, se borra la imagen B13. En este momento, informacion que indica que la imagen B13 se borra de la memoria de imagenes de referencia se saca a la unidad de generacion de flujos de bits 104 como una senal de control Cd1. La unidad de generacion de flujo de bits 104 describes esta informacion como informacion de cabecera en el flujo de bits.
La siguiente imagen objetivo a ser codificada es la imagen P18 que es una imagen P. Por consiguiente, se asignan indices de imagenes de referencia a las imagenes distintas de las imagenes B. Por ello, las imagenes P15. B14, P12, P9 y P6 se almacenan en las areas de memoria que corresponden a los numeros de memoria logica (0)~(5), respectivamente y los indices de imagenes de referencia [0], [1], [2] y [3] se asignan a las imagenes P15. P12, P9 y P6, respectivamente.
Como se describio anteriormente, segun la quinta realizacion, a las imagenes candidatas plurales para referencia hacia delante para una imagen objetivo a ser codificada se las asignan indices de imagenes de referencia de manera que un mdice menor se asigna a una imagen candidata cuyo tiempo de visualizacion es posterior (es decir, informacion para identificar cual de las imagenes candidatas se usa en la deteccion del vector de movimiento hacia delante del bloque objetivo). Por lo tanto, a una imagen candidata que es mas probable que sea seleccionada como una imagen de referencia entre las imagenes candidatas plurales se asigna un mdice de imagen de referencia menor. Por consiguiente, se puede minimizar la cantidad de codigos de los indices de imagenes de referencia, provocando un aumento en la eficiencia de codificacion.
En lo sucesivo, los efectos de esta quinta realizacion se describiran tomando un caso en el que la codificacion de una imagen B se lleva a cabo usando otras imagenes B como una imagen candidata de referencia, junto con los problemas de la tecnica anterior.
5
10
15
20
25
30
35
40
45
50
55
Por ejemplo, se supone que las imagenes de una imagen en movimiento se disponen en orden de visualizacion como se muestra la figura 29(a) y cuatro imagenes P y una imagen B se usan como imagenes candidatas para referencia hacia delante en la codificacion de una imagen objetivo.
La figura 30 muestra un ejemplo de gestion de imagenes almacenadas en la memoria de imagenes de referencia. Las imagenes candidatas se almacenan en orden de codificacion, en la memoria.
Cuando se codifica la imagen P15, en la memoria de imagenes de referencia, las imagenes B11, P12, P9, P6 y P3 se almacenan en las areas de memoria, en orden ascendente de los numeros de memoria logica. Ademas se asignan a estas imagenes candidatas los indices de imagenes de referencia [0], [1], [2], [3] y [4], respectivamente. Por lo tanto, se asigna un mdice de imagen de referencia a una imagen B (imagen Bl1 en este caso) que no se usa como una imagen de referencia en la codificacion de una imagen P y el mdice de imagen de referencia a no ser usado causa degradacion en la eficiencia de codificacion.
Ademas, cuando se codifica la imagen B13, en la memoria de imagenes de referencia, las imagenes P15, B11, P12, P9. P6 y P3 se almacenan en las areas de memoria, en orden ascendente de los numeros de memoria logica. A la imagen P15 se la asigna un codigo [b] que indica que esta imagen se usa como una imagen de referencia hacia atras y a las imagenes restantes se las asignan los indices de imagenes de referencia [0], [1], [2], [3] y [4],
respectivamente. Por lo tanto, el mdice de imagen de referencia asignado a imagen B11 que esta en cuanto al
tiempo lejos de la imagen B13 (imagen objetivo) es menor que el mdice de imagen de referencia asignado a la imagen P12 que es en cuanto al tiempo cercana a la imagen objetivo B13. En la realizacion de deteccion de movimiento, generalmente, una imagen candidata que es en cuanto al tiempo mas cercana a la imagen objetivo es mas probable que sea usada como una imagen de referencia. Por consiguiente, cuando el mdice de imagen de referencia de la imagen B11 que esta lejos de la imagen objetivo es menor que el mdice de imagen de referencia de la imagen P12 que es cercana a la imagen objetivo, se degrada la eficiencia de codificacion.
Ademas, cuando se codifica la imagen B14, en la memoria de imagenes de referencia, las imagenes B13, P15, B11, P12, P9 y P6 se almacenan en las areas de memoria, en orden ascendente de los numeros de memoria logica. A la imagen B13 se la asigna un codigo [b] que indica que esta imagen se usa como una imagen de referencia hacia atras y a las imagenes restantes se las asignan los indices de imagenes de referencia [0], [1], [2], [3] y [4],
respectivamente. Por lo tanto, la imagen P15 que se debena usar realmente como una imagen candidata para
referencia hacia atras para la imagen B14, se usa como una imagen candidata para referencia hacia delante. Por otra parte, la imagen B13 que se debena usar realmente como una imagen candidata para referencia hacia delante para la imagen B14, se usa como una imagen candidata para referencia hacia atras. Como resultado, llega a ser diffcil realizar una codificacion correcta. Ademas, en la codificacion de la imagen B14, la imagen B11 que no se usa como una imagen de referencia existe en la memoria de imagenes de referencia.
Por otra parte, segun la quinta realizacion de la invencion, como se muestra la figura 28, las imagenes candidatas de referencia para la imagen objetivo se almacenan en orden de visualizacion en la memoria de imagenes de referencia y a las imagenes candidatas para referencia hacia delante se las asignan los indices de imagenes de referencia de manera que a una imagen candidata cuyo tiempo de visualizacion es posterior se la asigna un mdice de imagen de referencia menor y, por lo tanto, a una imagen candidata que es mas probable que sea seleccionada como una imagen de referencia de entre las imagenes candidatas se la asigna un mdice de imagen de referencia menor. Por ello, se puede minimizar la cantidad de codigos de los indices de imagenes de referencia, provocando un aumento en la eficiencia de codificacion.
Ademas, dado que, en la codificacion de una imagen P, no se asignan indices de imagenes de referencia a imagenes B, se evita la aparicion de indices de imagenes de referencia que nunca se usaran, provocando un aumento adicional en la eficiencia de codificacion.
Por otra parte, cuando se codifica una imagen B, no se asigna un mdice de imagen de referencia a la imagen que esta almacenada en el area de memoria que corresponde al numero de memoria logica menor y esta imagen se usa como una imagen de referencia hacia atras. Por lo tanto, en la codificacion predictiva de una imagen B, una imagen P a ser usada como una imagen de referencia hacia atras se evita que se use como una imagen de referencia hacia delante.
Ademas, cuando una imagen que no se usa como una imagen de referencia se borra de la memoria de imagenes de referencia, la informacion que indica este borrado se describe en el flujo de bits. Por lo tanto, el extremo de decodificacion puede detectar que la imagen que no va a ser usada como una imagen de referencia en la decodificacion de una imagen objetivo y las siguientes imagenes, esta borrada de la memoria de imagenes de referencia.
En esta quinta realizacion, se realiza compensacion de movimiento en unidades de espacios imagen (macrobloques) cada uno que comprende 16 pfxeles en la direccion horizontal X 16 pfxeles en la direccion vertical y la codificacion de una imagen de error de prediccion se realiza en unidades de espacios de imagen (subbloques) cada uno que comprende 8 pfxeles en la direccion horizontal X 8 pfxeles en la direccion vertical. No obstante, el numero de pfxeles
5
10
15
20
25
30
35
40
45
50
en cada macrobloque (subbloque) en compensacion de movimiento (codificacion de una imagen de error de prediccion) puede ser diferente del descrito para la quinta realizacion.
Ademas, mientras que en esta quinta realizacion el numero de imagenes B contiguas es dos, el numero de imagenes B contiguas puede ser tres o mas.
Ademas, mientras que en esta quinta realizacion se usan cuatro imagenes como imagenes candidatas para una imagen de referencia hacia delante en la codificacion de una imagen P, el numero de imagenes candidatas de referencia hacia delante para una imagen P puede ser distinto de cuatro.
Ademas, mientras que en esta quinta realizacion se usan cuatro imagenes P y una imagen B como imagenes candidatas para una imagen de referencia hacia delante en la codificacion de una imagen B, las imagenes candidatas de referencia hacia delante para una imagen B no se restringen a las mismas.
Ademas, en esta quinta realizacion, cada una de las imagenes plurales que constituyen una imagen en movimiento, que es una imagen objetivo a ser codificada, se usa como una imagen de referencia cuando se codifica otra imagen que sigue a la imagen objetivo. No obstante, las imagenes plurales que constituyen una imagen en movimiento pueden incluir imagenes a no ser usadas como imagenes de referencia. En este caso, las imagenes a no ser usadas como imagenes de referencia no se almacenan en la memoria de imagenes de referencia, por lo cual se pueden lograr los mismos efectos que se describen para la quinta realizacion.
Ademas, mientras que en esta quinta realizacion la codificacion de una imagen B se lleva a cabo usando otra imagen B como una imagen candidata de referencia, la codificacion de una imagen B se puede llevar a cabo sin hacer referencia a otra imagen B. En este caso, no se almacenan imagenes B en la memoria de imagenes de referencia. Tambien en este caso, se puede lograr los mismos efectos que se describen para la quinta realizacion asignando indices de imagenes de referencia segun el orden de tiempos de visualizacion de imagenes.
Ademas, mientras que en esta quinta realizacion se asigna un unico sistema de indices de imagenes de referencia, se pueden asignar diferentes sistemas de indices de imagenes de referencia en la direccion hacia delante y en la direccion hacia atras, respectivamente.
Por otra parte, mientras que en esta quinta realizacion se asigna un mdice de imagen de referencia menor a una imagen candidata para un referencia hacia delante cuyo tiempo de visualizacion es posterior, el metodo de asignacion de mdice de imagen de referencia no esta restringido al mismo en tanto en cuanto un mdice de imagen de referencia menor se asigna a una imagen candidata que es mas probable que sea seleccionada como una imagen de referencia.
La figura 31 es un diagrama conceptual que ilustra la estructura de un flujo de bits (formato de una senal de imagen codificada) que corresponde a imagenes a las que se asignan indices de imagenes de referencia.
Una senal codificada Pt equivalente a una imagen incluye informacion de cabecera Hp colocada al principio de la imagen y una seccion de datos Dp que sigue a la informacion de cabecera Hp. La informacion de cabecera Hp incluye una senal de control (RPSL). La seccion de datos Dp incluye datos codificados (flujo de bits) que corresponden a cada bloque.
Por ejemplo, un flujo de bits BLx es un flujo de bits de un bloque que se codifica en un modo de codificacion dentro de una imagen y un flujo de bits BLy es un flujo de bits de un bloque que se codifica en un modo de codificacion predictiva entre imagenes distinto de un modo de codificacion dentro de una imagen.
El flujo de bits de bloque BLx incluye informacion de cabecera Hbx, informacion Prx relativa a un modo de codificacion e informacion de imagen codificada Dbx. El flujo de bits de bloque BLy incluye informacion de cabecera Hby, informacion Pry en relacion a un modo de codificacion, un primer mdice de imagen de referencia R1d1, un segundo mdice de imagen de referencia R1d2, un primer vector de movimiento MV1, un segundo vector de movimiento MV2 e informacion de imagen codificada Dby. Cual del primer y segundo indices de imagenes de referencia R1d1 y R1d2 se debena usar se determina a partir de la informacion Pry relativa al modo de codificacion.
Un mdice de imagen de referencia R1d1 se asigna a una imagen candidata de referencia hacia delante con prioridad sobre una imagen candidata de referencia hacia atras. Un mdice de imagen de referencia R1d2 se asigna a una imagen candidata de referencia hacia atras con prioridad sobre una imagen candidata referencia hacia delante.
[Realizacion 6]
La figura 32 es un diagrama de bloques para explicar un aparato de decodificacion de imagenes en movimiento 60 segun una sexta realizacion de la presente invencion.
El aparato de decodificacion de imagenes en movimiento 60 segun la sexta realizacion decodifica el flujo de bits Bs sacado del aparato de codificacion de imagenes en movimiento 50 segun la quinta realizacion.
5
10
15
20
25
30
35
40
45
50
55
El aparato de decodificacion de imagenes en movimiento 60 es diferente del aparato de decodificacion de imagenes en movimiento 20 segun la segunda realizacion en imagenes candidatas para imagenes de referencia hacia delante a ser referidas cuando se codifica una imagen P y una imagen B y modos de codificacion para una imagen B.
Es decir, el aparato de decodificacion de imagenes en movimiento 60 se dota con, en lugar de las unidades de control de memoria 204 y la unidad de decodificacion de modo 223 segun la segunda realizacion, una unidad de control de memoria 264 y una unidad de decodificacion de modo 263 las cuales operan de diferentes maneras de las descritas para la segunda realizacion.
Para ser espedficos, la unidad de control de memoria 264 segun la sexta realizacion controla una memoria de imagenes de referencia 207 de manera que, cuando se decodifica una imagen P, cuatro imagenes (imagenes I o P) que se colocan hacia delante de la imagen P se usan como imagenes candidatas para referencia hacia delante y cuando se decodifica una imagen B, cuatro imagenes (imagenes I o P) que se colocan hacia delante de la imagen B, una imagen B hacia delante que es la mas cercana a la imagen B y una imagen I o P hacia atras se usan como imagenes candidatas.
Ademas, cuando se decodifica un bloque (bloque objetivo) en una imagen P, la unidad de decodificacion de modo 263 segun la sexta realizacion selecciona, como un modo de codificacion para el bloque objetivo, uno de entre los modos plurales como sigue: decodificacion dentro de una imagen, decodificacion predictiva entre imagenes usando un vector de movimiento y decodificacion predictiva entre imagenes no usando ningun vector de movimiento (un movimiento se trata como cero). Cuando se decodifica un bloque (bloque objetivo) en una imagen B, la unidad de decodificacion de modo 263 selecciona, como un modo de decodificacion para el bloque objetivo, uno de entre los modos plurales como sigue: decodificacion dentro de una imagen, decodificacion predictiva entre imagenes usando un vector de movimiento hacia delante, decodificacion predictiva entre imagenes usando un vector de movimiento hacia atras y decodificacion predictiva entre imagenes usando un vector de movimiento hacia delante y un vector de movimiento hacia atras.
Es decir, la unidad de decodificacion de modo 263 del aparato de decodificacion de imagenes en movimiento 60 segun esta sexta realizacion es diferente de la unidad de decodificacion de modo 223 del aparato de decodificacion de imagenes en movimiento 20 segun la segunda realizacion solamente en que no usa un proceso de decodificacion que corresponde al modo directo y, por lo tanto, el aparato de decodificacion de imagenes en movimiento 60 no tiene la unidad de almacenamiento de vector de movimiento 226 del aparato de decodificacion de imagenes en movimiento 20.
Ademas, el aparato de decodificacion de imagenes en movimiento 60 segun la sexta realizacion es identico al aparato de decodificacion de imagenes en movimiento 20 segun la segunda realizacion excepto la unidad de control de memoria 264 y la unidad de decodificacion de modo 263.
A continuacion, se describira la operacion del aparato de decodificacion de imagenes en movimiento 60.
El flujo de bits Bs sacado desde el aparato de codificacion de imagenes en movimiento 50 segun la quinta realizacion se introduce al aparato de decodificacion de imagenes en movimiento 60 mostrado la figura 32. En el flujo de bits Bs, cada imagen P se ha sometido a codificacion predictiva entre imagenes, usando cuatro imagenes I o P que se colocan en cuanto al tiempo hacia delante y cerca de la imagen P, como imagenes candidatas de referencia. Ademas, cada imagen B se ha codificado usando cuatro imagenes P que se colocan en cuanto al tiempo hacia delante y las mas cercanas a la imagen B, una imagen B que se coloca en cuanto tiempo hacia delante de la imagen B y una imagen I o P que se coloca en cuanto al tiempo hacia atras y la mas cercana a la imagen B.
En este caso, el orden de las imagenes en el flujo de bits es como sigue en la figura es se muestra en la figura 29(b).
En lo sucesivo, se describiran en este orden procesos de decodificacion para las imagenes P15, B13 y B14.
(Proceso de decodificacion para la imagen P15)
El flujo de bits de la imagen P15 se introduce a la unidad de analisis de flujo de bits 201. La unidad de analisis de flujo de bits 201 extrae diversos tipos de datos a partir del flujo de bits introducido Bs. Los diversos tipos de datos son informacion tal como un modo de codificacion, un vector de movimiento y similares. La informacion extrafda para seleccion de modo (modo de codificacion) Ms se introduce a la unidad de decodificacion de modo 263. Ademas, el detector de movimiento MV extrafdo se saca a la unidad de decodificacion de compensacion de movimiento 205. Ademas, los datos codificados de error de prediccion Ed se sacan a la unidad de decodificacion de error de prediccion 202.
La unidad de decodificacion de modo 263 controla los conmutadores 209 y 210 con referencia al modo de codificacion Ms extrafdo a partir del flujo de bits. Cuando el modo de codificacion es codificacion entre imagenes, el conmutador 209 se controla de manera que el terminal de entrada Te se conecta al terminal de salida Tf1 y el conmutador 210 se controla de manera que el terminal de salida Th se conecta al terminal de entrada Tg1. Cuando el modo de codificacion es codificacion predictiva entre imagenes, el conmutador 209 se controla de manera que el
5
10
15
20
25
30
35
40
45
50
terminal de entrada Te se conecta al terminal de salida Tf1 y el conmutador 210 se controla de manera que el terminal de salida Th se conecta al terminal de entrada Tg2.
Ademas, la unidad de decodificacion de modo 263 saca el modo de codificacion Ms tambien a la unidad de decodificacion de compensacion de movimiento 205.
En lo sucesivo, se dara una descripcion del caso en el que el modo de codificacion es codificacion predictiva entre imagenes.
La unidad de decodificacion de error de prediccion 202 decodifica los datos codificados Ed introducidos para generar datos de error de prediccion PDd. Los datos de error de prediccion PDd generados se sacan al conmutador 209. Dado que el terminal entrada Te del conmutador 209 esta conectado al terminal de salida Tf1, los datos de error de prediccion se sacan a la unidad de adicion. 208.
La unidad de decodificacion de compensacion de movimiento 205 genera una imagen de compensacion de movimiento a partir de la informacion introducida tal como el detector de movimiento. La informacion introducida a la unidad de decodificacion de compensacion de movimiento 205 es el vector de movimiento MV y el mdice de imagen de referencia Rp. La unidad de decodificacion de compensacion de movimiento 205 obtiene una imagen de compensacion de movimiento (imagen de prediccion) a partir de la memoria de imagen de referencia 207, sobre la base de la informacion introducida. La imagen P15 se ha codificado usando las imagenes P12, P9, P6 y P3 como candidatas para una imagen de referencia y estas imagenes candidatas ya se han decodificado y se almacenan en la memoria de imagenes de referencia 207.
La figura 28 muestra las imagenes almacenadas en la memoria de imagenes de referencia 207. Como se muestra en la figura 28, cuando se decodifica la imagen P15, las imagenes P12, B11, P9, P6 y P3 se almacenan en la memoria de imagenes de referencia 207.
La unidad de control de memoria 264 asigna indices de imagenes de referencia a las imagenes candidatas de referencia almacenadas en la memoria de imagenes de referencia 117. Esta asignacion de indices de imagenes de referencia se lleva a cabo segun el orden de tiempos de visualizacion de imagenes de manera que un mdice de imagen de referencia menor se asigna a una imagen candidata de referencia mas reciente. En la decodificacion de una imagen P, no se asignan indices de imagenes de referencia a imagenes B. Por consiguiente, los indices de imagenes de referencia [0], [1], [2] y [3] se asignan a las imagenes P12, P9, P6 y P3, respectivamente y ningun mdice de imagen de referencia se asigna a la imagen B11.
La unidad de decodificacion de compensacion de movimiento 205 determina cual de las imagenes P12, P9, P6 y P3 se usa como una imagen de referencia cuando se codifica el bloque objetivo, a partir de los indices de imagenes de referencia. Entonces, la unidad de decodificacion de compensacion de movimiento 205 obtiene una imagen de prediccion (datos de prediccion Pd) de la memoria de imagenes de referencia 207 sobre la base de la imagen de referencia determinada y del vector de movimiento para generar una imagen de compensacion de movimiento. La imagen de compensacion de movimiento asf generada se introduce a la unidad de adicion 208.
La unidad de adicion 208 anade los datos de error de prediccion PDd y la imagen de compensacion de movimiento para generar una imagen decodificada (datos Ad). La imagen decodificada asf generada se saca a traves del conmutador 210 a la memoria de imagenes de referencia 207.
Cuando se han decodificado todos los macrobloques de la imagen P15, la unidad de control de memoria 264 actualiza los numeros de memoria logica y los indices de imagenes de referencia que corresponden a las imagenes almacenadas en la memoria de imagenes de referencia 207.
En este momento, dado que, en orden de tiempo, la imagen P15 es posterior a cualquier imagen almacenada en la memoria de imagenes de referencia 117, la imagen P15 se almacena en el area de memoria en la cual se fija el numero de memoria logica (0). Entonces, los numeros de memoria logica de las areas de memoria en las que ya se han almacenado otras imagenes de referencia se aumentan en 1.
Ademas, dado que la siguiente imagen objetivo a ser decodificada es la imagen B13, un mdice de imagen de referencia se asigna a la imagen B11. Por ello, las imagenes P15, P12, B11, P9, P6 y P3 se almacenan en las areas de memoria en las que se fijan los numeros de memoria logica (0)~(5), respectivamente y los indices de imagenes de referencia [0], [1], [2], [3] y [4] se asignan a las imagenes P12, B11, P9, P6 y P3, respectivamente.
(Proceso de decodificacion para la imagen B13)
Dado que las operaciones de la unidad de analisis de flujo de bits 201, la unidad de decodificacion de modo 203 y la unidad de decodificacion de error de prediccion 202 son identicas a las descritas para la decodificacion de la imagen P15, no es necesaria una descripcion repetida.
La unidad de decodificacion de compensacion de movimiento 205 genera una imagen de compensacion de movimiento a partir de la informacion introducida tal como el detector de movimiento. La informacion introducida a la
5
10
15
20
25
30
35
40
45
50
55
unidad de decodificacion de compensacion de movimiento 205 es el detector de movimiento y el mdice de imagen de referencia. La imagen B13 se ha codificado usando las imagenes P12, B11, P9, P6 y P3 como imagenes candidatas para referencia hacia delante y la imagen P15 como una imagen candidata para referencia hacia atras. En la decodificacion de la imagen B13, ya se han decodificado estas imagenes candidatas y se almacenan en la memoria de imagenes de referencia 207.
Cuando el modo de codificacion es codificacion predictiva hacia delante o codificacion predictiva bidireccional, la unidad de decodificacion de compensacion de movimiento 205 determina cual de las imagenes candidatas P12, B11, P9, P6 y P3 se usa como una imagen de referencia hacia delante cuando se codifica la imagen B13, sobre la base de los indices de imagenes de referencia. Entonces, la unidad de decodificacion de compensacion de movimiento 205 obtiene una imagen de compensacion de movimiento hacia delante a partir de la memoria de imagenes de referencia 207 sobre la base de la imagen de referencia y el vector de movimiento determinados. Cuando el modo de codificacion es codificacion predictiva bidireccional o codificacion predictiva hacia atras, la unidad de decodificacion de compensacion de movimiento 205 obtiene una imagen de compensacion de movimiento hacia atras hacia atras de la memoria de imagenes de referencia 207 sobre la base de la imagen de referencia determinada y el detector de movimiento hacia atras. Entonces, la unidad de decodificacion de compensacion de movimiento 205 genera una imagen de compensacion de movimiento (imagen de prediccion) usando la imagen de compensacion de movimiento hacia delante y la imagen de compensacion de movimiento hacia atras.
La imagen de compensacion de movimiento asf generada se saca a la unidad de adicion 208. La unidad de adicion 208 anade la imagen de error de prediccion introducida y la imagen de compensacion de movimiento para generar una imagen decodificada. La imagen decodificada asf generada se saca traves del conmutador 210 a la memoria de imagenes de referencia 207.
Cuando todos los bloques en la imagen B13 se han decodificado, la unidad de control de memoria 264 actualiza los numeros de memoria logica y los indices imagenes de referencia que corresponden a las imagenes almacenadas en la memoria de imagenes de referencia 207. Dado que la imagen B13 esta hacia delante de la imagen P15 almacenada en la memoria de imagenes de referencia 207 en el orden de tiempos de visualizacion y es posterior a la imagen P12 almacenada en la memoria de imagenes de referencia 207, la imagen B13 se almacena en el area de memoria en la cual se fija el numero de memoria logica (1).
Ademas, informacion que indica que la imagen B11 va ser borrada de la memoria de imagenes de referencia se describe en el flujo de bits, la unidad de control de memoria 264 controla la memoria de imagenes de referencia 207 para borrar la imagen B11 de la memoria.
Ademas, el numero de memoria logica del area de memoria en el que se almacena la otra imagen candidata de referencia P12 se aumenta en 1. Por ello, las imagenes P15, B13, P12, P9, P6 y P3 se almacenan en las areas de memoria en las que se fijan los numeros de memoria logica (0)~(5), respectivamente y los indices de imagenes de referencia [0], [1], [2], [3] y [4] se asignan a las imagenes B13, P12, P9, P6 y P3, respectivamente.
(Proceso de decodificacion para la imagen B14)
Dado que las operaciones de la unidad de analisis de flujo de bits 201, la unidad de decodificacion de modo 203 y la unidad de decodificacion de error de prediccion 202 son identicas a las descritas para la decodificacion de la imagen P15, no es necesaria una descripcion repetida.
La unidad de decodificacion de compensacion de movimiento 205 genera una imagen de compensacion de movimiento a partir de la informacion introducida tal como el vector de movimiento. La informacion introducida a la unidad de decodificacion de compensacion de movimiento 205 es el vector de movimiento y el mdice de imagen de referencia. La imagen B14 se ha codificado usando las imagenes B13, P12, P9, P6 y P3 como imagenes candidatas a la referencia hacia delante y la imagen P15 como una imagen candidata para referencia hacia atras. En la decodificacion de la imagen B14, ya se han decodificado estas imagenes candidatas y se almacenan en la memoria de imagenes de referencia 207.
Cuando el modo de codificacion es codificacion predictiva hacia delante o codificacion predictiva bidireccional, la unidad de decodificacion de compensacion de movimiento 205 determina cual de las imagenes candidatas B13, P12, P9, P6 y P3 se usa como una imagen de referencia hacia delante cuando se codifica la imagen B14, sobre la base de los indices de imagenes de referencia. Entonces, la unidad de decodificacion de compensacion de movimiento 205 obtiene una imagen de compensacion de movimiento hacia delante de la memoria de imagenes de referencia 207 sobre la base de la imagen de referencia determinada y el vector de movimiento hacia delante. Cuando el modo de codificacion es codificacion predictiva bidireccional o codificacion predictiva hacia atras, la unidad de decodificacion de compensacion de movimiento 205 obtiene una imagen de compensacion de movimiento hacia atras de la memoria de imagenes de referencia 207 sobre la base de la imagen de referencia determinada y el vector de movimiento hacia atras. Entonces, la unidad de decodificacion de compensacion de movimiento 205 genera una imagen de compensacion de movimiento, usando la imagen de compensacion de movimiento hacia delante y la imagen de compensacion de movimiento hacia atras.
5
10
15
20
25
30
35
40
45
50
55
La imagen de compensacion de movimiento as^ generada se saca a la unidad de adicion 208. La unidad de adicion 208 anade la imagen de error de prediccion introducida y la imagen de compensacion de movimiento para generar una imagen decodificada. La imagen decodificada asf generada se saca a traves del conmutador 210 a la memoria de imagenes de referencia 207.
Cuando se han decodificado todos los bloques de la imagen B14, la unidad de control de memoria 264 actualiza los numeros de memoria logica y los indices de imagenes de referencia que corresponden a las imagenes almacenadas en la memoria de imagenes de referencia 207. Dado que la imagen B14 esta hacia delante de la imagen P15 almacenada en la memoria de imagenes de referencia 207 en el orden de tiempos de visualizacion y es posterior a la imagen B13 almacenada en la memoria de imagenes de entrada 207, la imagen B14 se almacena en el area de memoria en la cual se fija el numero de memoria logica (1). Ademas, dado que informacion que indica que la imagen B13 va ser borrada de la memoria de imagenes de referencia se describe en el flujo de bits, la unidad de control de memoria 264 controla la memoria de imagenes de referencia 207 para borrar la imagen B13 de la memoria.
Dado que la siguiente imagen objetivo a ser decodificada es la imagen P18 que es una imagen P, los indices de imagenes de referencia se asignan a imagenes distintas de imagenes B. Por ello, las imagenes P15, B14, P12, P9 y P6 se almacenan en las areas de memoria en las que se fijan los numeros de memoria logica (0)~(5), respectivamente y los indices de imagenes de referencia [0], [1], [2], [3] y [4] se asignan a las imagenes P15, P12, P9 y P6, respectivamente.
Ademas, las imagenes decodificadas se sacan de la memoria de imagenes de referencia 207, como imagenes de salida dispuestas en orden de tiempos de visualizacion.
A partir de entonces, las imagenes posteriores se decodifican de manera similar segun el tipo de imagen.
Como se describio anteriormente, segun la sexta realizacion, los indices de imagenes de referencia se asignan a imagenes candidatas plurales para referencia hacia delante para una imagen objetivo a ser decodificada de manera que un mdice de imagen de referencia menor se asigna a una imagen candidata cuyo tiempo de visualizacion es posterior (es decir, informacion para identificar a que imagen candidata se hace referencia en la deteccion de un vector de movimiento hacia delante de un bloque objetivo) y se determina una imagen de referencia de entre las imagenes candidatas plurales sobre la base de los indices de imagenes de referencia incluidos en el flujo de bits de la imagen objetivo. Por lo tanto, un mdice imagen de referencia menor se asigna a una imagen candidata que es mas probable que sea usada como una imagen de referencia. Por consiguiente, es posible de codificar correctamente un flujo de bits que se obtiene por un metodo de codificacion altamente eficiente que puede minimizar la cantidad de codigos que corresponden a los indices imagenes de referencia.
Ademas, dado que, en la decodificacion de una imagen P, no se asignan indices de imagenes de referencia a imagenes B, es posible decodificar correctamente un flujo de bits que se obtiene por un metodo de codificacion altamente eficiente que puede evitar la aparicion de indices de imagenes de referencia que nunca se usaran.
Ademas, dado que, en la decodificacion de una imagen B, una imagen almacenada en una memoria en la cual se fija un numero de memoria logica menor se usa como una imagen de referencia hacia atras y no se asigna ningun mdice de imagen de referencia a esta imagen, es posible decodificar correctamente un flujo de bits que se obtiene por un metodo de codificacion altamente eficiente que puede evitar que una imagen P sea usada como una imagen de referencia hacia delante en codificacion predictiva de una imagen B.
Por otra parte, cuando informacion que indica que una imagen que nunca se usara como una imagen de referencia se borrar de la memoria de imagenes de referencia, se describe en el flujo de bits, la imagen de referencia se borra de la memoria de imagenes de referencia segun la informacion, por lo cual la memoria de imagenes de referencia se puede usar eficazmente.
Ademas, en esta sexta realizacion, como una disposicion de imagenes plurales que constituyen una imagen en movimiento, una disposicion de imagenes en las que dos imagenes se colocan entre imagenes P adyacentes. No obstante, el numero de imagenes B colocadas entre imagenes P adyacentes puede ser distinto de dos, por ejemplo puede ser tres o cuatro.
Ademas, aunque en esta sexta realizacion se usan cuatro imagenes como imagenes candidatas para referencia hacia delante para una imagen P, el numero de imagenes candidatas de referencia hacia delante para una imagen P puede ser distinto de cuatro.
Mientras que en esta sexta realizacion se usan cuatro imagenes P y una imagen B como imagenes candidatas para referencia hacia delante para una imagen B, las imagenes candidatas de referencia hacia delante para una imagen B no estan restringidas a las mismas.
Mientras que en esta sexta realizacion cada una de las imagenes plurales que constituyen una imagen en movimiento se usa como una imagen de referencia cuando se decodifica otra imagen que sigue a esta imagen, las imagenes plurales que constituyen una imagen en movimiento, que van a ser de codificadas, pueden incluir imagenes que nunca se usaran como imagenes de referencia. En este caso, las imagenes inutiles como imagenes
5
10
15
20
25
30
35
40
45
50
55
de referencia no se almacenan en la memoria de imagenes de referencia, por lo cual se pueden lograr los mismos efectos que se describen para la sexta realizacion.
Mientras que en esta sexta realizacion la decodificacion de una imagen B se lleva a cabo usando otra imagen B como una imagen candidata de referencia, la decodificacion de una imagen B se puede llevar a cabo sin hacer referencia a otra imagen B. En este caso, no se almacenan imagenes B en la memoria de imagenes de referencia. Tambien en este caso, los mismos efectos que se describen para la sexta realizacion se pueden lograr asignando indices de imagenes de referencia segun el orden de tiempos de visualizacion de imagenes.
Mientras que en esta sexta realizacion, por simplificacion, una memoria para gestionar imagenes candidatas de referencia y una memoria para reordenar imagenes decodificadas en orden de visualizacion para sacarlas no estan separadas sino que se describen como una unica memoria de imagenes de referencia, el aparato de decodificacion de imagenes en movimiento 60 se puede dotar con una memoria de gestion para gestionar imagenes candidatas de referencia y una memoria de reordenacion para reordenar imagenes decodificadas en orden de visualizacion, respectivamente.
En este caso, la memoria de gestion se controla por el controlador de memoria 264 y saca imagenes candidatas de referencia a la unidad de decodificacion de compensacion de movimiento 205. Ademas, la memoria de reordenacion reordena las imagenes decodificadas dispuestas en orden de decodificacion, en orden de visualizacion y saca secuencialmente las imagenes.
Ademas, en esta sexta realizacion, la asignacion de indices de imagenes de referencia a imagenes candidatas se lleva a cabo segun una unica regla, es decir, se usa un sistema de indices de imagenes de referencia. No obstante, se pueden usar dos sistemas de indices de imagenes de referencia, como se describio para la quinta realizacion.
[Realizacion 7]
La figura 33 es un diagrama de bloques para explicar un aparato de codificacion de imagenes en movimiento 70 segun una septima realizacion de la presente invencion.
Este aparato de codificacion de imagenes en movimiento 70 es diferente del aparato de codificacion de imagenes en movimiento 10 segun la primera realizacion en las imagenes candidatas para imagenes de referencia hacia delante a ser referidas cuando se codifica una imagen P y una imagen B y modos de codificacion para una imagen B.
Es decir, el aparato de codificacion de imagenes en movimiento 70 se dota con, en lugar de la unidad de control 110 y la unidad de seleccion de modo 109 segun la primera realizacion, una unidad de control de codificacion 170 y una unidad de seleccion de modo 109 que operan de maneras diferentes de las descritas para la primera realizacion.
Para ser espedficos, la unidad de control de codificacion 170 segun la septima realizacion controla una memoria de imagenes de referencia 117 de manera que, cuando se codifica un imagen P, tres imagenes (imagenes I o P) que se colocan hacia delante de la imagen P se usan como imagenes candidatas para referencia hacia delante y cuando se codifica un imagen B, dos imagenes (imagenes I o P) que se colocan hacia delante de la imagen B, una imagen B hacia delante que es la mas cercana a la imagen B y una imagen I o P hacia atras se usan como imagenes candidatas. No obstante, no se hace referencia a una imagen, que se coloca hacia delante de una imagen I o P que se coloca hacia delante y la mas cercana a la imagen objetivo.
La unidad de control de codificacion 170 controla la unidad de generacion de flujo de bits 104 con una senal de control Cd de manera que una marca que indica si se va a hacer referencia o no a una imagen objetivo cuando se codifican imagenes posteriores se inserta en el flujo de bits. Para ser espedficos, la unidad de generacion de codigo 104 se controla con la senal de control Cd de manera que informacion que indica que datos de la imagen objetivo se debenan almacenar en la memoria de imagenes de referencia 117 en la codificacion asf como informacion que indica un periodo de tiempo para el almacenamiento se anaden al flujo de bits.
Ademas, cuando se codifica un bloque (bloque objetivo) en una imagen P, la unidad de seleccion de modo 109 segun la septima realizacion selecciona, como un modo de codificacion para el bloque objetivo, uno de entre los modos plurales como sigue: codificacion dentro de una imagen, codificacion predictiva entre imagenes usando un vector de movimiento y codificacion predictiva entre imagenes no usando un vector de movimiento (o el movimiento se trata como cero). Cuando se codifica un bloque (bloque objetivo) en una imagen B, la unidad de seleccion de modo 179 selecciona, como un modo de codificacion para el bloque objetivo, uno de entre los modos plurales como sigue: codificacion dentro de una imagen, codificacion predictiva entre imagenes usando un vector de movimiento hacia delante, codificacion predictiva entre imagenes usando un vector de movimiento hacia atras y codificacion predictiva entre imagenes usando un vector de movimiento hacia delante y un vector de movimiento hacia atras. Es decir, la unidad de seleccion de modo 179 del aparato de codificacion de imagenes en movimiento 70 segun esta septima realizacion es diferente de la unidad de seleccion de modo 109 del aparato de codificacion de imagenes en movimiento 10 segun la primera realizacion solamente en que no usa el modo directo y, por lo tanto, el aparato de codificacion de imagenes en movimiento 70 no tienen la unidad de almacenamiento de vector de movimiento 116 del aparato de codificacion de imagenes en movimiento 10. Otros componentes del aparato de codificacion de imagenes
5
10
15
20
25
30
35
40
45
50
en movimiento 70 segun la septima realizacion son identicos a los del aparato de codificacion de imagenes en movimiento 10 segun la primera realizacion.
El aparato de codificacion de imagenes en movimiento 70 segun la septima realizacion es diferente del aparato de codificacion de imagenes en movimiento 50 segun la quinta realizacion en que la unidad de control de codificacion 170 controla la unidad de generacion de flujo de bits 104 de manera que una marca que indica si va a hacerse referencia o no a una imagen objetivo cuando se codifican imagenes sucesivas se inserta en el flujo de bits. Para ser espedficos, la unidad de generacion de codigo 104 se controla con la senal de control Cd de manera que una marca que indica si se va hacer referencia o no a una imagen objetivo cuando se codifican imagenes posteriores se inserta en el flujo de bits que corresponde a la imagen objetivo. Ademas, el aparato de codificacion de imagenes en movimiento 70 es diferente del aparato de codificacion de imagenes en movimiento 50 en las imagenes candidatas a las que se hace referencia en la codificacion de una imagen P y una imagen B. El aparato de codificacion de imagenes en movimiento 70 es identico al aparato de codificacion de imagenes en movimiento 50 en aspectos distintos a los mencionados anteriormente.
A continuacion, se describira la operacion del aparato de codificacion de imagenes en movimiento 70.
Los datos de imagen Id introducidos se almacenan en la memoria de imagenes de entrada 101, en unidades de imagenes, en orden de tiempo.
La figura 34(a) muestra el orden de las imagenes introducidas a la memoria de imagenes de entrada 101.
Como se muestra la figura 34(a), las imagenes respectivas se introducen sucesivamente a la memoria de imagenes de entrada 101, comenzando desde la imagen P1. En la figura 34(a), las imagenes P1, P4, P7, P10, P13, P16, P19 y P22 son imagenes P, mientras que las imagenes B2, B3, B5, B6, B8, B9, B11, B12, B14, P15, B17, P18, B20 y B21 son imagenes B.
Cuando se codifica una imagen P, tres imagenes (imagenes I o P) que estan en cuanto al tiempo hacia delante y cerca de la imagen P se usan como candidatas para una imagen de referencia. Ademas, cuando se codifica una imagen B, dos imagenes (imagenes I o P) que estan en cuanto al tiempo hacia delante y cerca de la imagen B, una imagen B que esta hacia adelante y la mas cerca de la imagen B y una imagen I o P que esta hacia delante de la imagen B, se usan como candidatas para una imagen de referencia. No obstante, en la codificacion de una imagen B, no se hace referencia a una imagen B que se coloca hacia delante de una imagen I o P que estan en cuanto al tiempo hacia delante y las mas cercanas a la imagen B. Cuando se codifica una imagen I, no se hace referencia a otras imagenes.
Los datos Id de las imagenes respectivas introducidos a la memoria de imagenes de entrada 101 se reordenan en orden de codificacion. A partir de entonces se hace referencia a los datos de cada imagen simplemente como una imagen.
Es decir, en el proceso de cambio del orden de las imagenes desde el orden entrada al orden de codificacion se lleva a cabo sobre la base de las relaciones entre las imagenes objetivo y las imagenes de referencia en codificacion predictiva entre imagenes. En la reordenacion, las imagenes respectivas se reordenaron de manera que una segunda imagen a ser usada como una candidata para una imagen de referencia en la codificacion de una primera imagen se codifica anterior a la primera imagen.
Para ser espedficos, las correspondencias entre las imagenes P10~P13 y las imagenes candidatas de referencia se muestran por las flechas en la figura 34(a). Es decir, cuando se codifica la imagen P P10, se hace referencia a las imagenes P1, P4 y P7 y cuando se codifica la imagen P P13, se hace referencia a las imagenes P4, P7 y P10. Ademas, cuando se codifica la imagen B B11, se hace referencia a las imagenes P7, P10 y P13 y cuando se codifica la imagen B B12, se hace referencia a las imagenes P7, P10, B11 y P13.
La figura 34(b) muestra el orden de las imagenes despues de reordenar las imagenes B2 a P22 mostradas en la figura 34(a). Despues de la reordenacion, las imagenes respectivas se disponen en orden de P4, B2, B3, P7, B5, B6, P10, B8, B9, P13, B11, B12, P16, B14, B15, P19, B17, B18 y P22.
Las imagenes respectivas reordenadas en la memoria de imagenes de referencia 101 se leen sucesivamente, para cada unidad de procesamiento de datos predeterminada, en orden de tiempos de codificacion. En esta septima realizacion, la unidad de procesamiento de datos es una unidad de datos de la cual se lleva a cabo una compensacion el movimiento y, mas espedficamente, es un espacio de imagen rectangular (macrobloque) en el cual se disponen 16 pfxeles tanto en la direccion horizontal como en la direccion vertical. En la siguiente descripcion, se hace referencia a un macrobloque simplemente como un bloque.
En lo sucesivo, los procesos de codificacion para las imagenes P13, B11 y B12 se describiran en este orden. (Proceso de codificacion para la imagen P13)
5
10
15
20
25
30
35
40
45
50
55
Dado que la imagen P13 es una imagen P, la codificacion predictiva entre imagenes usando referencia hacia delante se lleva a cabo como un proceso de codificacion para la imagen P13. En este caso, tres imagenes I o P que se colocan hacia delante de la imagen objetivo (imagen P13) se usan como imagenes candidatas de referencia y, espedficamente, se usan las imagenes P4, P7 y P10. Estas imagenes candidatas de referencia ya se han codificado y las que corresponden a datos imagen decodificados Dd se almacenan en la memoria de imagenes de referencia 117.
En la codificacion de una imagen P, la unidad de control de codificacion 170 controla los conmutadores respectivos de manera que los conmutadores 113, 114 y 115 estan ENCENDIDOS.
Los datos Md que corresponden a un bloque en la imagen P13, que se leen de la memoria del imagenes de entrada 101, se introducen a la unidad de deteccion de vector de movimiento 108, la unidad de seleccion de modo 179 y la unidad de calculo de diferencia 102.
La unidad de deteccion vector de movimiento 108 detecta el vector de movimiento MV del bloque en la imagen P13, usando los datos de imagen decodificados Rd de las imagenes P4, P7 y P10 almacenadas en la memoria de imagenes de referencia 117. En este caso, se selecciona una imagen optima de entre las imagenes P4, P7 y P10 y se lleva a cabo de deteccion del vector de movimiento con referencia a la imagen seleccionada. Entonces, el detector de movimiento MV detectado se saca a la unidad de seleccion de modo 179 y la unidad de generacion de flujo de bits 104. Ademas, informacion que indica a cual de las imagenes P4, P7 y P10 se hace referencia en la deteccion del vector de movimiento MV (informacion de imagen de referencia) tambien se saca a la unidad de seleccion de modo 179.
La unidad de seleccion de modo 179 determina un modo de codificacion para el bloque en la imagen P13, usando el detector de movimiento detectado por la unidad de deteccion de vector de movimiento 108.
Para ser espedficos, en el caso de codificacion de una imagen P, se selecciona un modo de codificacion de entre los siguientes modos de codificacion: codificacion dentro de una imagen, codificacion predictiva entre imagenes usando un vector de movimiento y codificacion predictiva entre imagenes no usando un vector de movimiento (es decir, el movimiento se considera como 0). En la determinacion de un modo de codificacion, generalmente, se selecciona un modo de codificacion que minimiza los errores de codificacion cuando se da una cantidad de bits predeterminada al bloque como una cantidad de codigos.
El modo de codificacion Ms determinado por la unidad de seleccion de modo 179 se saca a la unidad de generacion de flujo de bits 104. Ademas, cuando el modo de codificacion Ms determinado es el modo de codificacion que realiza referencia hacia delante, informacion que indica a cual de las imagenes P4, P7 y P10 se hace referencia en la deteccion del vector de movimiento hacia delante (vector de movimiento hacia delante) tambien se saca a la unidad de generacion de flujos de bits 104.
Entonces, los datos de imagen de prediccion Pd, que se obtienen a partir de la imagen de referencia segun el modo de codificacion Ms que se determina por la unidad de seleccion de modo 179, se sacan a la unidad de calculo de diferencia 102 y la unidad de adicion 106. No obstante, cuando se selecciona el modo de codificacion dentro de una imagen, no se sacan datos de imagen de prediccion Pd. Ademas, cuando se selecciona la codificacion dentro de una imagen, los conmutadores 111 y 112 se controlan de la misma manera que se describio para la quinta realizacion.
En lo sucesivo, se dara una descripcion de un caso en el que se selecciona el modo de codificacion predictiva entre imagenes como el modo de codificacion Ms.
La unidad de calculo de diferencia 102, la unidad de codificacion de error de prediccion 103, la unidad de generacion de flujos de bits 104, la unidad de decodificacion de error de prediccion 105 y la unidad de control de codificacion 170 son identicas a las descritas para la quinta realizacion.
No obstante, en esta septima realizacion, informacion que indica que la imagen P13 se codifica usando tres imagenes I o P hacia delante como imagenes candidatas de referencia, se anade como informacion de cabecera de la imagen P13. Ademas, dado que se hara referencia a la imagen P13 cuando se codifica otra imagen, informacion (marca) que indica que los datos decodificados Dd que corresponden a la imagen P13 se debenan almacenar en la memoria de imagenes de referencia 117 en la decodificacion, tambien se anade como informacion de cabecera de la imagen P13. Ademas, informacion que indica que la imagen P13 se debena almacenar en la memoria de imagenes de referencia hasta que se completa la decodificacion de la imagen P22, tambien se anade como informacion de cabecera de la imagen P13.
El periodo de almacenamiento para la imagen P13 se puede indicar mediante informacion de tiempo de la imagen P22 (por ejemplo, informacion de posicion basada en el tiempo tal como un numero de imagen, informacion de tiempo de decodificacion o informacion de tiempo de visualizacion) o informacion del penodo desde la imagen P13 a la imagen P22 (por ejemplo, el numero de imagenes). La informacion de cabecera descrita anteriormente se puede describir como informacion de cabecera en unidades de imagenes, es decir, como informacion de cabecera para cada imagen objetivo a ser codificada. Alternativamente, se puede describir como informacion de cabecera de la
5
10
15
20
25
30
35
40
45
50
55
secuencia entera o como informacion de cabecera en unidades de cuadros (por ejemplo, en unidades de GOP en MPEG).
Cuando el modo de codificacion para cada bloque en la imagen P13 es uno que realiza referencia hacia delante, informacion que indica a cual de las imagenes P4, P7 y P10 se hace referencia en la deteccion del vector de movimiento hacia delante (informacion de imagen de referencia) tambien se anade al flujo de bits. Por ejemplo, cuando se obtiene el vector de movimiento con referencia la imagen P10, informacion que indica que la imagen P justo anterior a la imagen objetivo se usa como una imagen de referencia (mdice de imagen de referencia) se anade al flujo de bits. Cuando el vector de movimiento se obtiene con referencia a la imagen P7, informacion que indica que la imagen P dos imagenes anterior a la imagen objetivo se usa como una imagen de referencia (mdice de imagen de referencia) se anade al flujo de bits. Cuando el vector de movimiento se obtiene con referencia a la imagen P4, informacion que indica que la imagen P tres imagenes anterior a la imagen objetivo se usa como una imagen de referencia (mdice de imagen de referencia) se anade al flujo de bits. Por ejemplo, un mdice de imagen de referencia [0] se puede usar para indicar que la imagen P justo anterior a la imagen objetivo se usa como una imagen de referencia, un mdice de imagen de referencia [1] se puede usar para indicar que la imagen P dos imagenes anterior a la imagen objetivo se usa como una imagen de referencia y un mdice de imagen de referencia [2] se puede usar para indicar que la imagen P tres imagenes anterior a la imagen objetivo se usa como una imagen de referencia.
Ademas, informacion que indica que la imagen P se somete a codificacion predictiva entre imagenes usando tres imagenes candidatas de referencia se describe como informacion de cabecera.
Los macrobloques restantes en la imagen P13 se codifican de la misma manera que se describio anteriormente. Cuando se han codificado todos los macrobloques en la imagen P13, tiene lugar la codificacion de la imagen B11.
(Proceso de codificacion para la imagen B11)
Dado que la imagen B11 es una imagen B, una codificacion predictiva entre imagenes usando referencia bidireccional se lleva a cabo como un proceso de codificacion para la imagen B11. En este caso, dos imagenes (imagenes I o P) que son en cuanto al tiempo cercanas a la imagen objetivo (imagen B11) y una imagen B que es en cuanto al tiempo la mas cercana a la imagen objetivo se usan como imagenes candidatas para referencia hacia delante y una imagen I o P que es en cuanto al tiempo la mas cercana a la imagen objetivo se usa como una imagen candidata para referencia hacia atras. No obstante, nunca se hace referencia a una imagen B que se coloca mas alla de una imagen I o P la mas cercana a la imagen objetivo.
Por consiguiente, las imagenes P7 y P10 se usan como imagenes de referencia hacia delante para la imagen B11 y la imagen P13 se usa como una imagen de referencia hacia atras para la imagen B11. En el procesamiento de una primera imagen B entre dos imagenes B continuas, dado que esta primera imagen B se usa como una imagen de referencia en la codificacion de la otra imagen B, la unidad de control de codificacion 170 controla los conmutadores respectivos de manera que los conmutadores 113, 114 y 115 estan ENCENDIDOS. Por consiguiente, los datos de imagen Md que corresponden al bloque en la imagen B11, que se leen de la memoria de imagen de entrada 101, se introducen a la unidad de deteccion de vector de movimiento 108, la unidad de seleccion de modo 179 y la unidad de calculo de diferencia 102.
La unidad de deteccion de vectores de movimiento 108 detecta un vector de movimiento hacia delante y un vector de movimiento hacia atras que corresponden al bloque objetivo en la imagen B11, con referencia las imagenes P7 y P10 almacenadas en la memoria de imagenes de referencia 117, como imagenes candidatas para referencia hacia delante y la imagen P13 almacenada en la memoria de imagenes de referencia 117, como una imagen de referencia hacia atras. En este caso, o bien la imagen P7 o bien la imagen P10 se selecciona como una imagen de referencia mas adecuada y se lleva a cabo una deteccion de un vector de movimiento hacia delante segun la imagen seleccionada. Los vectores de movimiento detectados se sacan a la unidad de seleccion de modo 179 y la unidad de generacion de flujos de bits 104. Ademas, informacion que indica a cual de las imagenes P7 y P10 se hace referencia en la deteccion del vector de movimiento hacia delante (informacion de imagen de referencia) tambien se saca a la unidad de seleccion de modo 179.
La unidad de seleccion de modo 179 determina un modo de codificacion para el bloque objetivo en la imagen B11, usando los vectores de movimiento detectados por la unidad de deteccion de vector de movimiento 108. Como un modo de codificacion para la imagen B, se selecciona uno de los siguientes modos de codificacion: modo de codificacion dentro de una imagen, modo de codificacion predictiva entre imagenes usando un vector de movimiento hacia delante, modo de codificacion predictiva entre imagenes usando una imagen en movimiento hacia atras y el modo de codificacion predictiva entre imagenes usando vectores de movimiento bidireccionales. Tambien en este caso, se debena seleccionar un metodo general (modo) que minimiza los errores de codificacion cuando una cantidad predeterminada de bits se da como la cantidad de codigos.
El modo de codificacion determinado por la unidad de seleccion de modo 179 se saca a la unidad de generacion de flujo de bits 104. Ademas, los datos de imagen de prediccion Pd, que se obtienen a partir de la imagen de referencia segun el modo de codificacion Ms que se determina por la unidad de seleccion de modo 179, se sacan a la unidad
5
10
15
20
25
30
35
40
45
50
55
de calculo de diferencia 102 y la unidad de adiccion 106. No obstante, cuando el modo de codificacion dentro de una imagen se selecciona por la unidad de seleccion de modo 179, no se sacan datos de imagen de prediccion Pd. Ademas, cuando se selecciona codificacion dentro de una imagen, los conmutadores 111 y 112 se controlan de la misma manera que se describio para el proceso de codificacion de la imagen P13.
En lo sucesivo, se dara una descripcion de un caso en el que se selecciona la codificacion predictiva entre imagenes por la unidad de seleccion de modo 179.
En este caso, las operaciones de la unidad de calculo de diferencia 102, la unidad de codificacion de error de prediccion 103, la unidad de generacion de flujo de bits 104, la unidad de decodificacion de error de prediccion 105 y la unidad de control de codificacion 170 son identicas a las descritas para la quinta realizacion.
Cuando el modo de codificacion es uno que realiza referencia hacia delante, informacion que indica a cual de las imagenes P7 y P10 se hace referencia en la decodificacion del vector de movimiento hacia delante (informacion de imagen de referencia) tambien se anade al flujo de bits. Por ejemplo, cuando se hace referencia a la imagen P10, informacion de imagen de referencia que indica que una imagen candidata justo anterior a la imagen objetivo se usa como una imagen de referencia se anade al flujo de bits. Cuando se hace referencia a la imagen P7, informacion de imagen de referencia que indican que una imagen candidata dos imagenes anterior a la imagen objetivo se usa como una imagen de referencia se anade al flujo de bits. Por ejemplo, un mdice de imagen de referencia [0] se puede usar para indicar que una imagen candidata justo anterior a la imagen objetivo se usan como una imagen de referencia y un mdice de imagen de referencia [1] se puede usar para indicar que una imagen candidata dos imagenes anterior a la imagen objetivo se usa como una imagen de referencia.
Ademas, en este caso, informacion que indica que la imagen B objetivo se somete a codificacion predictiva entre imagenes usando una imagen B hacia delante como una imagen de referencia no se anade como informacion de cabecera. Ademas informacion que indica que las imagenes candidatas de referencia hacia delante para la imagen B objetivo son dos imagenes I o P y una imagen B se anade como informacion de cabecera. Por otra parte, informacion que indica que no se hace referencia a una imagen B, que se coloca hacia delante de una imagen I o P que se coloca hacia delante y la mas cercana a la imagen B objetivo, se anade como informacion de cabecera.
Por ello, es posible conocer la capacidad de una memoria de imagenes de referencia que se necesita en la decodificacion del flujo de bits Bs generado en el aparato de codificacion de imagenes en movimiento 70 segun la septima realizacion. La informacion de cabecera descrita anteriormente se puede describir como informacion de cabecera en unidades de imagenes, es decir, como informacion de cabecera para cada imagen objetivo a ser codificada. Alternativamente, se puede describir como informacion de cabecera de la secuencia entera o como informacion de cabecera en unidades de varias imagenes (por ejemplo, en unidades de GOP en MPEG).
Ademas, dado que la imagen B11 se usa como una imagen de referencia cuando se codifica una imagen colocada hacia atras de la imagen B11, informacion que indica que datos de imagen decodificados Dd que corresponden a la imagen B11 se debenan almacenar en la memoria de imagenes de referencia 117 en la decodificacion, tambien se anade como informacion de cabecera. Ademas, informacion que indica que los datos Dd se debenan almacenar en la memoria de imagenes de referencia 117 hasta que se completa la decodificacion de la imagen B12, tambien se anade como informacion de cabecera.
Cuando se han codificado todos los bloques restantes en la imagen B11, tiene lugar la codificacion de la imagen B12.
(Proceso de codificacion para la imagen B12)
Dado que la imagen B12 es una imagen B, una codificacion predictiva entre imagenes usando referencia bidireccional se lleva a cabo como un proceso de codificacion para la imagen B12. En este caso, dos imagenes I o P que estan en cuanto al tiempo cerca de la imagen objetivo B12 y una imagen B que esta en cuanto al tiempo la mas cercana a la imagen objetivo B12 se usan como imagenes candidatas para referencia hacia delante. Ademas, una imagen I o P, que es en cuanto al tiempo la mas cercana a la imagen objetivo B12 se usa como una imagen candidata para referencia hacia atras. Para ser espedficos, las imagenes P7, P10 y B11 se usan como imagenes candidatas para referencia hacia delante para la imagen B12 y la imagen P13 se usa como una imagen de referencia hacia atras para la imagen B12.
Dado que la imagen B12 no se usa como una imagen de referencia cuando se codifica otra imagen, la unidad de control de codificacion 170 controla los conmutadores respectivos con la senal de control Cs1 de manera que el conmutador 113 esta ENCENDIDO y los conmutadores 114 y 115 estan APAGADOS. Por consiguiente, los datos de imagen Md que corresponden al bloque en la imagen B12, que se leen de la memoria de imagenes de entrada 101, se introducen a la unidad de deteccion de vector de movimiento 108, la unidad de seleccion de modo 179 y la unidad de calculo de diferencia 102.
La unidad de deteccion de vector de movimiento 108 detecta un vector de movimiento hacia delante y un vector movimiento hacia atras que corresponden al macrobloque en la imagen B12, con referencia las imagenes P7, P10 y
5
10
15
20
25
30
35
40
45
50
B11 almacenadas en la memoria de imagenes de referencia 117, como imagenes de referencia hacia delante y la imagen P13 almacenada en la memoria de imagenes de referencia 117, como una imagen de referencia hacia atras.
En este caso, se selecciona una imagen de referencia mas adecuada de entre las imagenes P7, P10 y B11 y una deteccion de un vector de movimiento hacia delante se lleva a cabo segun la imagen seleccionada. Los vectores de movimiento detectados se sacan a la unidad de seleccion de modo 179 y la unidad de generacion de flujo de bits 104. Ademas, informacion que indica a cual de las imagenes P7, P10 y B11 se hace referencia en la deteccion del vector de movimiento hacia delante (informacion de imagen de referencia) tambien se saca a la unidad de seleccion de modo 179.
La unidad de seleccion del modo 179 determina un modo de codificacion para el bloque en la imagen B12, usando los vectores de movimiento detectados por la unidad de deteccion de vector de movimiento 108. Como un modo de codificacion para la imagen B, se selecciona uno de los siguientes modos de codificacion: modo de codificacion dentro de una imagen, modo de codificacion predictiva entre imagenes usando un vector de movimiento hacia delante, modo de codificacion predictiva entre imagenes usando un vector de movimiento hacia atras y modo de codificacion predictiva entre imagenes usando vectores de movimiento bidireccionales.
El modo de codificacion Ms determinado por la unidad de seleccion de modo 179 se saca a la unidad de generacion de flujo de bits 104. Ademas, datos de imagen de prediccion Pd, que se obtienen a partir de la imagen de referencia segun el modo de codificacion que se determina por la unidad de seleccion de modo 179, se sacan a la unidad de calculo de diferencia 102 y la unidad de adicion 106. No obstante, cuando se selecciona el modo de codificacion dentro de una imagen, no se sacan datos de imagen de prediccion Pd.
Ademas, cuando se selecciona el modo de codificacion dentro de una imagen por la unidad de seleccion de modo 179, los conmutadores 111 y 112 se controlan de la misma manera que se describio para el proceso de codificacion de la imagen P13.
En lo sucesivo, se dara una descripcion de un caso en el que se selecciona el modo de codificacion predictiva entre imagenes por la unidad de seleccion de modo 179.
En este caso, las operaciones de la unidad de calculo de diferencia 102, la unidad de codificacion de error de prediccion 103, la unidad de generacion de flujo de bits 104, la unidad de decodificacion de error de prediccion 105 y la unidad de control de codificacion 170 son identicas a las descritas para la quinta realizacion.
Cuando el modo de codificacion es uno que realiza referencia hacia delante, informacion que indica a cual de las imagenes P7, P10 y B11 se hace referencia en la deteccion del vector de movimiento hacia delante (informacion de imagen de referencia) tambien se anade al flujo de bits.
Ademas, informacion que indica que la imagen B objetivo B12 se somete a codificacion predictiva entre imagenes usando una imagen B B11 hacia delante como una candidata para una imagen de referencia se describe como informacion de cabecera. Ademas, informacion que indica que las imagenes candidatas para referencia hacia delante son dos imagenes I o P y una imagen B se describe como informacion de cabecera.
Por otra parte, informacion que indica que la imagen B12 no va ser usada como imagen de referencia cuando se codifican las siguientes imagenes se anade como informacion de cabecera.
Por ello, se determina facilmente que no hay que almacenar necesariamente los datos de imagen decodificados Dd que corresponden a la imagen B12 en la memoria de imagenes de referencia en la codificacion, por lo cual se facilita la gestion de la memoria de imagenes de referencia.
La informacion de cabecera antes mencionada se puede describir como informacion de cabecera en unidades de imagenes, es decir, como informacion de cabecera para cada imagen objetivo a ser codificada. Alternativamente, se puede escribir como informacion de cabecera de la secuencia entera o como informacion de cabecera en unidades de varias imagenes (por ejemplo, en unidades de GOP en MPEG).
Los bloques restantes en la imagen B12 se codifican de la misma manera que se describio anteriormente.
A partir de entonces, los datos de imagen que corresponden a las imagenes respectivas que siguen a la imagen B12 se codifican de la misma manera que se describio anteriormente segun el tipo de imagen. Por ejemplo, las imagenes P se procesan como la imagen P13 y la primera imagen B de las imagenes B continuas (imagen B14, B17 o similares) se procesa como la imagen P11. Ademas, la segunda imagen B de las imagenes B continuas (imagen B15, B18 o similares) se procesa como la imagen P12.
Como se describio anteriormente, en el aparato de codificacion de imagenes en movimiento 70 segun la septima realizacion, cuando se codifica una imagen B como una imagen objetivo, dado que una imagen B tambien se usa como una imagen candidata para referencia hacia delante asf como imagenes P, una imagen de referencia hacia delante que se coloca la mas cercana a la imagen objetivo se puede usar como una imagen de referencia hacia
5
10
15
20
25
30
35
40
45
50
55
delante. Por ello, se puede aumentar la precision de prediccion en compensacion de movimiento para una imagen B, provocando una eficiencia de codificacion mejorada.
Por otra parte, cuando se codifica una imagen B como una imagen objetivo, informacion que indica si la imagen objetivo va ser usada o no como una imagen de referencia cuando se codifica (se decodifica) otra imagen se anade como informacion de cabecera. Ademas, cuando la imagen objetivo se usa como una imagen de referencia cuando se codifica (se decodifica) otra imagen, se anade informacion que indica un periodo durante el cual se debena almacenar la imagen objetivo en la memoria de imagenes de referencia. Por lo tanto, cuando se decodifica el flujo de bits Bs sacado del aparato de codificacion de imagenes en movimiento 70, el extremo de decodificacion puede conocer facilmente el extremo de codificacion puede conocer facilmente que imagen se debena almacenar en la memoria de imagenes y cuanto es el penodo del almacenamiento, por lo cual se facilita la gestion de la memoria de imagenes de referencia en la decodificacion.
En esta septima realizacion, cuando se codifica una imagen B objetivo usando otra imagen B como una imagen de referencia, esto se describe como informacion de cabecera de la imagen B objetivo. No obstante, la informacion de cabecera no se describe necesariamente en unidades de imagenes. Se puede describir como informacion de cabecera de la secuencia entera o como informacion de cabecera en unidades de varias imagenes (por ejemplo, GOP en MPEG).
En esta septima realizacion, una compensacion de movimiento se realiza en unidades de macrobloques cada uno que comprende 16 pfxeles (direccion horizontal) X 16 pfxeles (direccion vertical) y una codificacion de unos datos de imagen de error de prediccion se realiza en unidades de bloques cada uno que comprende 4 pfxeles (direccion horizontal) X 4 (direccion vertical) o en unidades de bloques cada uno que comprende 8 pfxeles (direccion horizontal) X 8 (direccion vertical). No obstante, una compensacion de movimiento y una codificacion de datos de imagen de error de prediccion se pueden llevar a cabo en unidades de espacios de imagen, cada uno que comprende diferente numero de pfxeles de los mencionados anteriormente.
Ademas, en esta septima realizacion, un modo de codificacion para una imagen P se selecciona de entre modo de codificacion dentro de una imagen, modo de codificacion predictiva entre imagenes usando un vector de movimiento y modo de codificacion predictiva entre imagenes no usando un vector de movimiento, mientras que un modo de codificacion para una imagen B se selecciona de entre modo de codificacion dentro de una imagen, modo de codificacion predictiva entre imagenes usando un vector de movimiento hacia delante, modo de codificacion predictiva entre imagenes usando un vector de movimiento hacia atras y modo de codificacion predictiva entre imagenes usando vectores de movimiento bidireccionales. No obstante, la seleccion de un modo de codificacion para una imagen P o una imagen B no se restringe a la mencionada para la septima realizacion.
Ademas, mientras que esta septima realizacion emplea una secuencia de imagenes en la que dos imagenes B se insertan entre una imagen I y una imagen P o entre imagenes P adyacentes, el numero de imagenes B insertadas entre una imagen I y una imagen P o entre imagenes P adyacentes en una secuencia de imagenes puede ser distinto de dos, por ejemplo, puede ser de tres o cuatro.
Ademas, mientras que en esta septima realizacion se usan tres imagenes como imagenes candidatas para referencia hacia delante cuando se codifica una imagen P, el numero de imagenes candidatas de referencia hacia delante para una imagen P no se restringe a las mismas.
Ademas, mientras que en esta septima realizacion se usan dos imagenes P y una imagen B como imagenes candidatas para referencia hacia delante cuando se codifica una imagen B, imagenes candidatas de referencia hacia delante a ser usadas en la codificacion de una imagen B no se restringen a las mismas. Por ejemplo, imagenes candidatas de referencia hacia delante para una imagen B pueden ser una imagen P y dos imagenes B o dos imagenes P y dos imagenes B o tres imagenes que son en cuanto al tiempo las mas cercanas a la imagen objetivo, con independencia del tipo de imagen.
Cuando, en la codificacion de una imagen B, solamente una imagen que es la mas cercana a la imagen B objetivo se usa como una imagen de referencia, no es necesario describir informacion que indica a que imagen se hace referencia en la codificacion de un bloque objetivo en la imagen B (informacion de imagen de referencia), en el flujo de bits.
Ademas, en esta septima realizacion, cuando se codifica una imagen B, no se hace referencia a una imagen B que se coloca hacia delante de una imagen I o P que se coloca hacia delante y la mas cercana a la imagen B objetivo. No obstante, cuando se codifica una imagen B, una imagen B que se coloca hacia delante de una imagen I o P que se coloca hacia delante y la mas cercana a la imagen B objetivo, se puede usar como una imagen de referencia.
[Realizacion 8]
La figura 35 es un diagrama de bloques para explicar un aparato de decodificacion de imagenes en movimiento 80 segun una octava realizacion de la presente invencion.
5
10
15
20
25
30
35
40
45
50
55
El aparato de decodificacion de imagenes en movimiento 80 segun la octava realizacion decodifica el flujo de bits Bs sacados desde el aparato de codificacion de imagenes en movimiento 70 segun la septima realizacion.
El aparato de decodificacion de imagenes en movimiento 80 es diferente del aparato de decodificacion de imagenes en movimiento 20 segun la segunda realizacion en imagenes candidatas para imagenes de referencia hacia delante a ser referidas cuando se codifica una imagen P y una imagen B y modos de decodificacion para una imagen B.
Es decir, el aparato de decodificacion de imagenes en movimiento 80 se dota con, en lugar de la unidad de control de memoria 204 y la unidad de decodificacion de modo 223 segun la segunda realizacion, una unidad de control de memoria 284 y una unidad de decodificacion de modo 283 que operan de diferentes maneras de las descritas para la segunda realizacion.
Para ser espedficos, la unidad de control de memoria 284 segun la octava realizacion controla una memoria de imagenes de referencia 287 de manera que, cuando se decodifica una imagen P, tres imagenes (imagenes I o P) que se colocan hacia delante de la imagen P se usan como imagenes candidatas para referencia hacia delante y cuando se decodifica una imagen B, dos imagenes (imagenes I o P) que se colocan hacia delante de la imagen B, una imagen B hacia delante que es la mas cercana a la imagen B y una imagen I o P hacia atras se usan como imagenes candidatas. No obstante, no se hace referencia a una imagen B que se coloca hacia delante de una imagen I o P que se coloca hacia delante y la mas cercana a la imagen objetivo.
La unidad de control de memoria 284 controla la memoria de imagenes de referencia 287, con una senal de control Cm, sobre la base de una marca que indica si va a ser hecha referencia o no a la imagen objetivo en la codificacion de una imagen que sigue a la imagen objetivo, dicha marca se inserta en la cadena de codigo que corresponde a la imagen objetivo.
Para ser espedficos, informacion (marca) que indica que los datos de la imagen objetivo se debenan almacenar en la memoria de imagenes de referencia 287 en la decodificacion e informacion que indica un penodo durante el cual se debenan almacenar los datos de la imagen objetivo, se incluyen en el flujo de bits que corresponde a la imagen objetivo.
Ademas, cuando se decodifica un bloque (bloque objetivo) en una imagen P, la unidad de decodificacion de modo 283 segun la octava realizacion selecciona, como un modo de codificacion para el bloque objetivo, uno de entre los siguientes modos: decodificacion dentro de una imagen, decodificacion predictiva entre imagenes usando un vector de movimiento y decodificacion predictiva entre imagenes no usando un vector de movimiento (un movimiento se trata como cero). Cuando se decodifica un bloque (bloque objetivo) en una imagen B, la unidad de decodificacion de modo 283 selecciona, como un modo de decodificacion para el bloque objetivo, uno de entre los siguientes modos: decodificacion dentro de una imagen, decodificacion predictiva entre imagenes usando un vector de movimiento hacia delante, decodificacion predictiva entre imagenes usando un vector de movimiento hacia atras y decodificacion predictiva entre imagenes usando un vector de movimiento hacia delante y un vector de movimiento hacia atras. Es decir, la unidad de decodificacion de modo 283 del aparato de decodificacion de imagenes en movimiento 80 segun esta octava realizacion es diferente de la unidad de decodificacion de modo 223 del aparato de decodificacion de imagenes en movimiento 20 segun la segunda realizacion solamente en que no usa el modo directo y, por lo tanto, el aparato de decodificacion de imagenes en movimiento 80 no tiene la unidad de almacenamiento de vector de movimiento 226 del aparato de decodificacion de imagenes en movimiento 20. Otros componentes del aparato de decodificacion de imagenes en movimiento 80 segun la septima realizacion son identicos a los del aparato de decodificacion de imagenes en movimiento 20 segun la segunda realizacion.
Ademas, el aparato de decodificacion de imagenes en movimiento 80 segun la octava realizacion diferente del aparato de decodificacion de imagenes en movimiento 60 segun la sexta realizacion en que la unidad de control de memoria 284 controla la unidad de generacion de flujo de bits 104 de manera que una marca que indica si se va a hacer referencia o no a la imagen objetivo en la codificacion de una imagen despues de que el bloque objetivo se inserta en el flujo de bits que corresponde a la imagen objetivo. Ademas, en el aparato de decodificacion de imagenes en movimiento 80, imagenes candidatas a ser referidas en la decodificacion de una imagen P y una imagen B tambien son diferentes de las empleadas en el aparato de decodificacion de imagenes en movimiento segun la sexta realizacion. Otros componentes del aparato de decodificacion de imagenes en movimiento 80 segun la septima realizacion son identicos a los del aparato de decodificacion de imagenes en movimiento 60 segun la sexta realizacion.
A continuacion, se describira la operacion del aparato de decodificacion de imagenes en movimiento 80.
El flujo de bits Bs sacado del aparato de codificacion de imagenes en movimiento 70 segun la septima realizacion se introduce en el aparato de decodificacion de imagenes en movimiento 80.
En esta octava realizacion, cuando se decodifica una imagen P, tres imagenes (imagenes I o P) que estan en cuanto al tiempo hacia delante y cerca de la imagen P se usan como candidatas para una imagen de referencia. Por otra parte, cuando se decodifica una imagen B, dos imagenes (imagenes I o P) que se colocan en cuanto al tiempo hacia delante y cerca de la imagen B, una imagen B que se coloca hacia delante y la mas cercana a la imagen B y una imagen I o P que se coloca hacia atras de la imagen objetivo, se usan como imagenes candidatas para una imagen
5
10
15
20
25
30
35
40
45
50
de referencia. No obstante, en la decodificacion de una imagen B, no se hace referencia a una imagen B que se coloca hacia delante de una imagen I o P que se coloca hacia delante y la mas cercana a la imagen objetivo. Ademas, en la decodificacion de una imagen I, no se hace referencia a otras imagenes.
Ademas, informacion que indica cual de las imagenes candidatas se usa como una imagen de referencia en la decodificacion de una imagen P o una imagen B se describe como informacion de cabecera Ih del flujo de bits Bs y la informacion de cabecera Ih se extrae por la unidad de analisis de flujo de bits 201.
La informacion de cabecera Ih se saca a la unidad de control de memoria 284. La informacion de cabecera se puede describir como informacion de cabecera de la secuencia entera, informacion de cabecera en unidades de varias imagenes (por ejemplo, GOP en MPEG) o informacion de cabecera en unidades de imagen.
Las imagenes en el flujo de bits Bs introducidas al aparato de decodificacion de imagenes en movimiento 80 se disponen en orden de decodificacion de imagenes como se muestra en la figura 36(a). En lo sucesivo, los procesos de decodificacion de las imagenes P13, B11 y B12 se describiran espedficamente en este orden.
(Proceso de decodificacion para la imagen P13)
Cuando el flujo de bits que corresponde a la imagen P13 se introduce en la unidad de analisis de flujo de bits 201, la unidad de analisis de flujo de bits de 201 extrae diversos tipos de datos a partir del flujo de bits introducido. Los diversos tipos de datos son informacion (modo de codificacion) Ms relativa al modo de seleccion, informacion del vector de movimiento MV, la informacion de cabecera descrita anteriormente y similares. El modo de codificacion Ms extrafdo se saca a la unidad de decodificacion de modo 283. Ademas, el vector de movimiento MV extrafdo se saca a la unidad de decodificacion de compensacion de movimiento 205. Ademas, los datos codificados Ed extrafdos por la unidad de analisis de flujo de bits 201 se sacan a la unidad de decodificacion de error de prediccion 202.
La unidad de decodificacion de modo 283 controla los conmutadores 209 y 210 con referencia a la informacion de seleccion de modo (modo de codificacion) MS extrafdo a partir del flujo de bits. Cuando el modo de codificacion Ms es el modo de codificacion dentro de una imagen y cuando el modo de codificacion Ms es el modo de codificacion predictiva entre imagenes, los conmutadores 209 y 210 se controlan de la misma manera que se describio para la sexta realizacion.
Ademas, la unidad de decodificacion de modo 283 saca el modo de codificacion Ms a la unidad de decodificacion de compensacion de movimiento 205.
En lo sucesivo, se dara una descripcion del caso en el que el modo de codificacion es modo de codificacion predictivo entre imagenes.
Dado que las operaciones de la unidad de decodificacion de error de prediccion 202, la unidad de decodificacion de compensacion de movimiento 205 y la unidad de adicion 208 son identicas a las descritas para la sexta realizacion, no es necesaria una descripcion repetida.
La figura 37 muestra como las imagenes, cuyos datos se almacenan en la memoria de imagenes de referencia 207, cambian con el tiempo.
Cuando se inicia la decodificacion de la imagen P13, las imagenes B8, P7 y P10 se almacenan en las areas R1, R2 y R3 de la memoria de imagenes de referencia 207. La imagen P13 se decodifica usando las imagenes P7 y P10 como candidatas para una imagen de referencia y la imagen P13 se almacena en el area de memoria R1 en la que se habfa almacenado la imagen B8. Tal reescritura de datos de imagen de cada imagen en la memoria de imagenes de referencia se lleva a cabo en base a la informacion de cabecera de cada imagen que se anade al flujo de bits. Esta informacion de cabecera indica que la imagen P7 se debena almacenar en la memoria de imagenes de referencia 207 hasta que se completa la decodificacion de la imagen P13, la imagen P10 se debena almacenar en la memoria hasta que se completa la decodificacion de la imagen P16 y la imagen B8 se debena almacenar en la memoria hasta que se completa la decodificacion de la imagen B9.
En otras palabras, dado que se puede decidir que la imagen B8 no es necesaria para la decodificacion de la imagen P13 y las siguientes imagenes, la imagen P13 se escribe sobre el area de memoria de imagenes de referencia R1 en la que se almacena la imagen B8.
Ademas, dado que la informacion que indica que la imagen P13 se debena almacenar en la memoria de imagenes de referencia hasta que se completa la decodificacion de la imagen P19 se describe como informacion de cabecera de la imagen P13, la imagen P13 se almacena en la memoria de imagenes de referencia al menos hasta ese momento.
Como se describio anteriormente, los bloques en la imagen P13 se decodifican sucesivamente. Cuando todos los datos codificados que corresponden a los bloques en la imagen P13 se han decodificado, tiene lugar la decodificacion de la imagen B11.
5
10
15
20
25
30
35
40
45
50
55
<Proceso de decodificacion para la imagen B11>
Dado que las operaciones de la unidad de analisis de flujo de bits 201, la unidad de decodificacion de modo 203 y la unidad de decodificacion de error de prediccion 202 son identicas a las descritas para la decodificacion de la imagen P13, no es necesaria una descripcion repetida.
La unidad de decodificacion de compensacion de movimiento 205 genera datos de imagen de compensacion de movimiento Pd a partir de la informacion introducida tal como el vector de movimiento. Es decir, la informacion introducida a la unidad de decodificacion de compensacion de movimiento 205 es el vector de movimiento MV y el mdice de imagen de referencia que corresponde a la imagen B11. La imagen B11 se ha codificado usando la imagen P10 como una imagen de referencia hacia delante y la imagen P13 como una imagen de referencia hacia atras. Por consiguiente, en la decodificacion de la imagen B11, estas imagenes candidatas P10 y P13 ya se han decodificado y los datos de imagen decodificados Did correspondientes se almacenan en la memoria de imagenes de referencia 207.
Cuando el modo de codificacion es el modo de codificacion predictivo bidireccional, la unidad de decodificacion de compensacion de movimiento 205 obtiene una imagen de referencia hacia delante de la memoria de imagenes de referencia 207 sobre la base de la informacion que indica el vector de movimiento hacia delante y obtiene una imagen de referencia hacia atras de la memoria 207 sobre la base de la informacion que indica el vector de movimiento hacia atras. Entonces, la unidad de decodificacion de compensacion de movimiento 205 realiza adicion y promediado de la imagen de referencia hacia delante y la imagen de referencia hacia atras para generar una imagen de compensacion de movimiento. Los datos Pd de la imagen de compensacion de movimiento asf generados se sacan a la unidad de adicion 208.
La unidad de adicion 208 anade los datos de imagen de error de prediccion PDd introducidos y los datos de imagen de compensacion de movimiento Pd para sacar datos de imagen de adicion Ad. Los datos de imagen de adicion Ad asf generados se sacan como datos de imagen decodificados Did, a traves del conmutador 210 a la memoria de imagenes de referencia 207.
La unidad de control de memoria 284 controla la memoria de imagenes de referencia 207 sobre la base de informacion que indica a que imagenes candidatas se hace referencia en la codificacion de la imagen P y la imagen B, cuya informacion es informacion de cabecera del flujo de bits.
La figura 37 muestra como las imagenes almacenadas en la memoria de imagenes de referencia 207 cambian con el tiempo.
Cuando se inicia la decodificacion de la imagen P11, las imagenes P13, P7 y P10 se almacenan en la memoria de imagenes de referencia 207. La imagen P11 se decodifica usando las imagenes P10 y P13 como imagenes de referencia y la imagen P11 se almacena en el area de memoria R2 en la que se habfa almacenado la imagen P7. Tal reescritura de cada imagen en la memoria de imagenes de referencia 207 se lleva a cabo en base a la informacion de la cabecera de cada imagen que se anade al flujo de bits. Esta informacion de cabecera indica que la imagen P7 se debena almacenar en la memoria de imagenes de referencia 207 hasta que se completa la decodificacion de la imagen P13, la imagen P10 se debena almacenar en la memoria hasta que se completa la decodificacion de la imagen P16 y la imagen P13 se debena almacenar en la memoria hasta que se completa la decodificacion de la imagen P19.
En otras palabras, dado que se decide que la imagen P7 no es necesaria para la decodificacion de la imagen P13 y las siguientes imagenes, la imagen P11 se almacena en el area de memoria de imagenes de referencia R2 en la que se almacena la imagen P7.
Ademas, dado que informacion que indica que la imagen B11 se debena almacenar en la memoria de imagenes de referencia 207 hasta que se completa la decodificacion de la imagen B12 se describe como informacion de cabecera de la imagen B11, la imagen B11 se almacena en la memoria de imagenes de referencia 207 al menos hasta ese momento.
Como se describio anteriormente, los datos codificados que corresponden a los bloques en la imagen B11 se decodifican sucesivamente. Cuando todos los datos codificados que corresponden a los bloques en la imagen B11 se han decodificado, tiene lugar la decodificacion de la imagen B12.
(Proceso de decodificacion para la imagen B12)
Dado que las operaciones de la unidad de analisis de flujo de bits 201, la unidad de decodificacion de modo 203 y la unidad de decodificacion de error de prediccion 202 son identicas a las descritas para la decodificacion de la imagen P13, no es necesaria una descripcion repetida.
La unidad de decodificacion de compensacion de movimiento 205 genera datos de imagen de compensacion de movimiento Pd a partir de la informacion introducida tal como el vector de movimiento. Es decir, la informacion introducida a la unidad de decodificacion de compensacion de movimiento 205 es el vector de movimiento MV y el
5
10
15
20
25
30
35
40
45
50
55
mdice de imagen de referencia que corresponde a la imagen B12. La imagen B12 se ha codificado usando las imagenes P10 y B11 como candidatas para una imagen de referencia hacia delante y la imagen P13 como una imagen de referencia hacia atras. Estas imagenes candidatas de referencia P10, B11 y P13 ya se han decodificado y los datos de imagen decodificados correspondientes se almacenan en la memoria de imagenes de referencia 207.
Cuando el modo de codificacion es el modo de codificacion predictiva bidireccional, la unidad de decodificacion de compensacion de movimiento 205 determina cual de las imagenes P10 y B11 se usa como una imagen de referencia hacia delante en la codificacion de la imagen B12, segun los indices de imagenes de referencia y obtiene una imagen de referencia hacia delante de la memoria de imagenes de referencia 207 segun la informacion que indica el vector de movimiento hacia delante. Ademas, la unidad de decodificacion de compensacion de movimiento 205 obtiene una imagen de referencia hacia atras de la memoria 207 segun la informacion que indica el vector de movimiento hacia atras. Entonces, la unidad de decodificacion de compensacion de movimiento 205 realiza adicion y promediado de la imagen de referencia hacia delante y la imagen de referencia hacia atras para generar una imagen de compensacion de movimiento. Los datos Pd de la imagen de compensacion de movimiento asf generados se sacan a la unidad de adicion 208.
La unidad de adicion 208 anade los datos de imagen de error de prediccion PDd introducidos y los datos de imagen de compensacion de movimiento Pd para sacar los datos de imagen de adicion Ad. Los datos de imagen de adicion Ad asf generados se sacan como datos de imagen decodificados Dld, a traves del conmutador 210 a la memoria de imagenes de referencia 207.
La unidad de control de memoria 284 controla la memoria de imagenes de referencia 207 sobre la base de informacion que indica que imagenes de referencia se usan en la codificacion de la imagen P y la imagen B, cuya informacion se extrae a partir de la informacion de cabecera del flujo de bits.
La figura 37 muestra como las imagenes almacenadas en la memoria de imagenes de referencia 207 cambian con el tiempo. Cuando se inicia la decodificacion de la imagen B12, las imagenes P13, B11 y P10 estan almacenadas en la memoria de imagenes de referencia 207. La imagen B12 se decodifica usando las imagenes P13, B11 y P10 como imagenes candidatas de referencia. Dado que informacion que indica que la imagen B12 no va a ser usada como una imagen de referencia cuando se decodifica otra imagen se describe como informacion de cabecera, los datos decodificados de la imagen B12 no se almacenan en la memoria de imagenes de referencia 207 sino que se sacan como datos de imagen de salida Od.
Como se describio anteriormente, los datos codificados que corresponden a los bloques en la imagen B12 se decodifican sucesivamente. Los datos de imagen decodificados de las imagenes respectivas que se almacenan en la memoria de imagenes de referencia 207 y los datos de imagen decodificados que no se almacenan en la memoria de imagenes de referencia 207 se reordenan en orden de sus tiempos de visualizacion como se muestra en la figura 36(b) y se sacan como datos de imagen de salida Od.
A partir de entonces, los datos codificados que corresponden a las imagenes respectivas se decodifican de la misma manera que se describio anteriormente segun el tipo de imagen.
Para ser espedficos, los datos codificados de las imagenes P se decodifican como la imagen P13 y la primera imagen B (imagen B14, B17 o similares) de las imagenes B continuas se decodifica como la imagen P11. Ademas, la segunda imagen B (imagen B15, B18 o similares) de las imagenes B continuas se decodifica como la imagen P12.
Como se describio anteriormente, en el aparato de decodificacion de imagenes en movimiento 80 segun la octava realizacion, dado que una imagen B se usa como una imagen candidata de referencia cuando se decodifica una imagen B, un flujo de bits, que se obtiene en un proceso de codificacion que usa una imagen B asf como imagenes P como imagenes candidatas de referencia hacia delante cuando se codifica una imagen B, se puede decodificar con precision. Ademas, dado que la memoria de imagenes de referencia se controla usando informacion obtenida del flujo de bits, indicando que imagenes de referencia se usan en la codificacion de una imagen P y una imagen B, la memoria de imagenes de referencia se puede utilizar eficazmente. Es decir, los datos de imagen de imagenes a ser usadas como imagenes de referencia en el siguiente proceso de decodificacion se mantienen en la memoria de imagenes de referencia, mientras que datos de imagen de imagenes a no ser usadas como imagenes de referencia en el siguiente proceso de decodificacion se borran sucesivamente de la memoria, por lo cual la memoria de imagenes de referencia se puede utilizar eficazmente.
Mientras que esta octava realizacion emplea un flujo de bits que corresponde a una secuencia de imagenes en la que dos imagenes B se insertan entre imagenes P adyacentes, el numero de imagenes B colocadas entre imagenes P adyacentes puede ser distinto de dos, por ejemplo, puede ser tres o cuatro.
Ademas, mientras que en esta octava realizacion se usan dos imagenes como imagenes candidatas para referencia hacia delante cuando se decodifica una imagen P, el numero de imagenes candidatas de referencia hacia delante a ser referido en la decodificacion de una imagen P no se restringe al mismo.
Ademas, en esta octava realizacion, cuando se decodifica una imagen B, una imagen P y una imagen B se usan como imagenes candidatas para referencia hacia delante y una imagen B que se coloca hacia delante de una
5
10
15
20
25
30
35
40
45
50
55
imagen I o P que es en cuanto al tiempo la mas cercana a la imagen B objetivo, no se usa como una imagen de referencia. No obstante, las imagenes a ser usadas como imagenes candidatas de referencia en la decodificacion de una imagen B pueden ser distintas de las descritas para la octava realizacion. Ademas, cuando se decodifica una imagen B, una imagen B que se coloca hacia delante de una imagen I o P que es en cuanto al tiempo la mas cercana a la imagen B objetivo, se puede usar como una imagen de referencia.
Ademas, mientras que en la octava realizacion los datos de imagen decodificados de imagenes que no van a ser usadas como imagenes de referencia cuando se decodifican otras imagenes no se almacenan en la memoria de imagenes de referencia, los datos de imagen decodificados de estas imagenes se pueden almacenar en la memoria.
Por ejemplo, cuando la salida de datos de imagen decodificados de cada imagen se lleva a cabo con un pequeno retardo desde la decodificacion de cada imagen, los datos de imagen decodificados de cada imagen se deben almacenar en la memoria de imagenes de referencia. En este caso, un area de memoria, distinta del area de memoria en la que se almacenan los datos de imagen decodificados de las imagenes candidatas de referencia, se proporciona en la memoria de imagenes de referencia y los datos de imagen decodificados de las imagenes a no ser usadas como imagenes de referencia se almacenan en esta area de memoria. Aunque, en este caso, se aumenta la capacidad de almacenamiento de la memoria de imagenes de referencia, el metodo para gestionar la memoria de imagenes de referencia es identico al descrito para la octava realizacion y, por lo tanto, se puede gestionar facilmente la memoria de imagenes de referencia.
Mientras que todas las imagenes se usan como imagenes candidatas de referencia en la segunda, cuarta, sexta y octava realizaciones, todas las imagenes no se usan necesariamente como imagenes candidatas de referencia.
Para ser breves, en un aparato de decodificacion de imagenes en movimiento, normalmente, imagenes ya decodificadas se almacenadas una vez en un almacenador temporal de decodificacion (memoria de cuadro decodificado) con independencia de si se usaran o no como imagenes candidatas de referencia y, a partir de entonces, las imagenes ya decodificadas se leen sucesivamente desde el almacenador temporal de decodificacion para ser visualizadas.
En la segunda, cuarta, sexta y octava realizaciones de la presente invencion, todas las imagenes se usan como imagenes candidatas de referencia y, por lo tanto, todas las imagenes ya decodificadas se almacenan en una memoria de imagenes de referencia para contener imagenes a ser usadas como imagenes candidatas de referencia y, a partir de entonces, las imagenes ya decodificadas se leen sucesivamente de la memoria de imagenes de referencia para ser visualizadas.
No obstante, como se describio anteriormente, todas las imagenes ya decodificadas no se usan necesariamente como imagenes candidatas de referencia. Por consiguiente, las imagenes ya decodificadas se pueden almacenar una vez en un almacenador temporal de decodificacion (memoria de cuadro decodificado) para contener no solamente imagenes a no ser usadas como imagenes candidatas de referencia sino tambien imagenes a ser usadas como imagenes candidatas de referencia y, a partir de entonces, las imagenes ya decodificadas se leen sucesivamente desde el almacenador temporal de decodificacion para ser visualizadas.
El aparato de codificacion de imagenes en movimiento o el aparato de decodificacion de imagenes en movimiento segun cualquiera de las realizaciones antes mencionadas se implementa mediante hardware, si bien estos aparatos se pueden implementar mediante software. En este caso, cuando un programa para ejecutar el proceso de codificacion o decodificacion segun cualquiera de las realizaciones antes mencionadas se graba en un medio de almacenamiento de datos tal como un disco flexible, el aparato de codificacion de imagenes en movimiento o el aparato de decodificacion de imagenes en movimiento segun cualquiera de las realizaciones antes mencionadas se puede implementar facilmente en un sistema informatico independiente.
Las figuras 38(a)-38(c) son diagramas para explicar un sistema informatico para ejecutar el proceso de codificacion de imagenes en movimiento segun cualquiera de la primera, tercera, quinta y septima realizaciones y el proceso de decodificacion de imagenes en movimiento segun cualquiera de la segunda, cuarta, sexta y octava realizaciones.
La figura 38(a) muestra una vista frontal de un disco flexible FD que es un medio que contiene un programa empleado en el sistema informatico, una vista en seccion transversal del mismo y un cuerpo de disco flexible D. La figura 38(b) muestra un ejemplo de un formato ffsico del cuerpo del disco flexible D.
El disco flexible FD se compone del cuerpo de disco flexible D y una envoltura FC que contiene el cuerpo de disco flexible D. En la superficie del cuerpo de disco D, una pluralidad de pistas Tr se forman concentricamente desde la circunferencia exterior del disco hacia la circunferencia interior. Cada pista se divide en 16 sectores Se en la direccion angular. Por lo tanto, en el disco flexible FD que contiene el programa antes mencionado, los datos del programa para ejecutar el proceso de codificacion de imagenes en movimiento o el proceso de decodificacion de imagenes en movimiento se graban en las area de almacenamiento asignadas (sectores) en el cuerpo de disco flexible D.
La figura 38(c) muestra la estructura para grabar o reproducir el programa en/desde el disco flexible FD. Cuando el programa se graba en el disco flexible FD, los datos del programa se escriben en el disco flexible FD desde el
5
10
15
20
25
30
35
40
45
50
55
sistema informatico Csys a traves de la unidad de disco flexible FDD. Cuando el aparato de codificacion o decodificacion de imagenes en movimiento anteriormente mencionado esta construido en el sistema informatico Csys mediante el programa grabado en el disco flexible FD, el programa se lee desde el disco flexible FD por la unidad de disco flexible FDD y luego se carga al sistema informatico Csys.
Aunque en la descripcion anterior se emplea un disco flexible como un medio de almacenamiento, se puede emplear un disco optico. Tambien en este caso, el proceso de codificacion o decodificacion de imagenes en movimiento se puede realizar mediante software de la misma manera que el caso de usar el disco flexible. El medio de almacenamiento no se restringe a estos discos y se puede emplear cualquier medio siempre que pueda contener el programa, por ejemplo, un CD-ROM, una tarjeta de memoria o un casete ROM. Tambien, cuando se emplea tal medio de almacenamiento de datos, el proceso de codificacion o decodificacion de imagenes en movimiento se puede realizar por el sistema informatico de la misma manera que el caso de usar el disco flexible.
Se describiran en lo sucesivo aplicaciones del metodo de codificacion de imagenes en movimiento y del metodo de decodificacion de imagenes en movimiento segun cualquiera de las realizaciones antes mencionadas y sistemas que usan las mismas.
La figura 39 es un diagrama de bloques que ilustra una construccion entera de un sistema de provision de contenidos 1100 que realiza servicios de distribucion de contenidos.
Un area de provision de servicios de comunicacion se divide en regiones (celdas) de tamano deseado y las estaciones de base 1107 a 1110 que son cada una estaciones radio fijas que se establecen en las celdas respectivas.
En este sistema de provision de contenidos 1100, varios dispositivos tales como un ordenador 1111, un PDA (asistente digital personal) 1112, una camara 1113, un telefono portatil 1114 y un telefono portatil con una camara 1200 estan conectados a Internet 1101 a traves de un proveedor de servicios de Internet 1102, una red telefonica 1104 y las estaciones de base 1107 a 1110.
No obstante, el sistema de provision de contenidos 1100 no se restringe a un sistema que incluye todos los dispositivos plurales mostrados en la figura 39, sino que puede ser uno que incluye algunos de los dispositivos plurales mostrados en la figura 39. Ademas, los dispositivos respectivos se pueden conectar directamente a la red telefonica 1104, no a traves de las estaciones de base 1107 a 1110 como las estaciones radio fijas.
La camara 1113 es un dispositivo que puede tomar imagenes en movimiento de un objeto, como una camara de video digital. El telefono portatil puede ser un telefono portatil fijo segun cualquiera del sistema PDC (Comunicaciones Digitales Personales), sistema CDMA (Acceso Multiple por Division de Codigo), sistema W-CDMA (Acceso Multiple por Division de Codigo de Banda Ancha) y sistema gSm (Sistema Global para Comunicaciones Moviles) o PHS (Sistema de Telefoma Portatil Personal).
Un servidor de difusion en forma continua 1103 se conecta a la camara 1113 a traves de la estacion base 1109 y la red telefonica 1104. En este sistema, se puede realizar distribucion en directo basada en datos codificados que se transmiten por un usuario usando la camara 1113. El proceso de codificacion para los datos de imagenes tomadas se puede llevar a cabo o bien por la camara 1113 o bien por el servidor que transmite los datos. Los datos de imagenes en movimiento que se obtienen tomando imagenes en movimiento de un objeto por medio de la camara 1116 se pueden transmitir al servidor de difusion en forma continua 1103 a traves del ordenador 1111. La camara 1116 es un dispositivo que puede tomar imagenes fijas o imagenes en movimiento de un objeto, tal como una camara digital. En este caso, la codificacion de los datos de imagenes en movimiento se puede realizar o bien mediante la camara 1116 o bien mediante el ordenador 1111. Ademas, el proceso de codificacion se lleva a cabo mediante una LSI 1117 incluida en el ordenador 1111 o la camara 1116.
El software de codificacion o decodificacion de imagenes se puede almacenar en un medio de almacenamiento (un CD-ROM, un disco flexible, un disco duro o similares) que es un medio de grabacion que contiene datos legibles por el ordenador 1111 o similar. Los datos de imagen en movimiento se pueden transmitir a traves del telefono portatil con una camara 1200. Los datos de imagen en movimiento son datos que se han codificado por una LSI incluida en el telefono portatil 1200.
En este sistema de provision de contenidos 1100, los contenidos que corresponden a imagenes tomadas por el usuario por medio de la camara 1113 o la camara 1116 (por ejemplo, video en directo de un concierto de musica) se codifican en la camara de la misma manera que cualquiera de las realizaciones antes mencionadas y se transmiten desde la camara hasta el servidor de difusion en forma continua 1103. Los datos de contenidos se someten a distribucion de difusion en forma continua desde el servidor de difusion en forma continua 1103 a un cliente solicitante.
El cliente puede ser cualquiera del ordenador 1111, el PDA 1112, la camara 1113, el telefono portatil 1114 y similares, que pueden decodificar los datos codificados.
5
10
15
20
25
30
35
40
45
50
55
En este sistema de provision de contenidos 1100, los datos codificados se pueden recibir y reproducir en el lado del cliente. Cuando se reciben los datos, decodificados y reproducidos en tiempo real en el lado del cliente, se puede realizar difusion privada.
La codificacion o decodificacion en los dispositivos respectivos que constituye este sistema se puede realizar usando el aparato de codificacion de imagenes en movimiento o el aparato de decodificacion de imagenes en movimiento segun cualquiera de las realizaciones antes mencionadas.
Un telefono portatil se describira ahora como un ejemplo del aparato de codificacion o decodificacion de imagenes en movimiento.
La figura 40 es un diagrama que ilustra un telefono portatil 1200 que emplea el metodo de codificacion de imagenes en movimiento y el metodo de decodificacion de imagenes en movimiento segun cualquiera de las realizaciones antes mencionadas.
Este telefono portatil 1200 incluye una antena 1201 para transmitir/recibir ondas de radio a/desde la estacion base 1110, una unidad de camara 1203 que puede tomar video o imagenes fijas de un objeto, tal como una camara CCD y una unidad de visualizacion 1202 tal como una pantalla de cristal lfquido para visualizar datos del video tomado por la unidad de camara 1203 o video recibido a traves de la antena 1201.
El telefono portatil 1200 incluye ademas un cuerpo principal 1204 que incluye teclas de control plurales, una unidad de salida de voz 1208 para sacar voces tal como un altavoz, una unidad de entrada de voz 1205 para introducir voces tal como un microfono, un medio de grabacion 1207 para retener datos codificados o datos decodificados tales como datos de imagenes en movimiento o imagenes fijas tomadas o datos, datos de imagenes en movimiento o datos de imagenes fijas de correos electronicos recibidos y una unidad de ranura 1206 que permite que el medio de grabacion 1207 sea unido al telefono portatil 1200.
El medio de grabacion 1207 tiene un elemento de memoria rapida como un tipo de EEPROM (Memoria de Solo Lectura Borrable y Programable Electricamente) que es una memoria no volatil programable y borrable electricamente contenida en una envoltura de plastico, como una tarjeta SD.
El telefono portatil 1200 se describira mas espedficamente con referencia a la Figura 41.
El telefono portatil 1200 tiene una unidad de control principal 1241 que realiza un control general de las unidades respectivas del cuerpo principal que incluyen la unidad de visualizacion 1202 y la tecla de control 1204.
El telefono portatil 1200 incluye ademas un circuito de fuente de alimentacion 1240, una unidad de control de entrada de operacion 1234, una unidad de codificacion de imagenes 1242, una unidad de interfaz de camara 1233, una unidad de control de LCD (Visualizador de Cristal Lfquido) 1232, una unidad de decodificacion de imagenes 1239, una unidad de multiplexacion/demultiplexacion 1238, una unidad de grabacion/reproduccion 1237, una unidad de modulacion/demodulacion 1236 y una unidad de procesamiento de audio 1235. Las unidades respectivas del telefono portatil 1200 se conectan entre sf a traves de un bus de sincronizacion 1250.
El circuito de fuente de alimentacion 1240 suministra potencia desde un paquete de batenas a las unidades respectivas cuando una tecla de finalizacion de llamada/fuente de alimentacion se ENCIENDE bajo el control de un usuario, activando por ello el telefono portatil digital con una camara 1200 para ser convertido a un estado operativo.
En el telefono portatil 1200, las unidades respectivas operan bajo el control de la unidad de control principal 1241 que esta constituida por una CPU, una ROM, una RAM y similares. Para ser mas espedficos, en el telefono portatil 1200, una senal de audio que se obtiene introduciendo voz en la unidad de entrada de voz 1205 en un modo de comunicacion de voz se convierte en datos de audio digitales por la unidad de procesamiento de audio 1235. Los datos de audio digitales se someten a un proceso de propagacion de espectro por el circuito de modulacion/demodulacion 1236, sometidos ademas a un proceso de conversion DA y un proceso de transformacion de frecuencia por el circuito de transmision/recepcion 1231 y transmitidos a traves de la antena 1201.
En este conjunto de telefono portatil 1200, una senal recibida a traves de la antena 1201 en el modo de comunicacion de voz se amplifica y luego se somete a un proceso de transformacion de frecuencia y un proceso de conversion AD. La senal recibida se somete ademas a un proceso de propagacion inversa de espectro en el circuito de modulacion/demodulacion 1236, convertida en una senal de audio analogica por la unidad de procesamiento de audio 1235 y esta senal audio analogica se saca a traves de la unidad de salida de voz 1208.
Cuando el telefono portatil 1200 transmite un correo electronico en un modo de comunicacion de datos, los datos de texto del correo electronico que se introducen mediante la manipulacion de la tecla de control 1204 en el cuerpo principal se transmiten a la unidad de control principal 1241 a traves de la unidad de control de entrada de operacion 1234. La unidad de control principal 1241 controla las unidades respectivas de manera que los datos de texto se someten al proceso de propagacion de espectro en el circuito de modulacion/demodulacion 1236, luego se someten al proceso de conversion Da y el proceso de transformacion de frecuencia en el circuito de transmision/recepcion 1231 y luego se transmiten a la estacion de base 1110 a traves de la antena 1201.
5
10
15
20
25
30
35
40
45
50
55
Cuando este telefono portatil 1200 transmite datos de imagen en el modo de comunicacion de datos, los datos de una imagen tomada por la unidad de camara 1203 se suministran a la unidad de codificacion de imagen 1242 a traves de la unidad de interfaz de camara 1233. Cuando el telefono portatil 1200 no transmite los datos de imagen, los datos de la imagen tomada por la unidad de camara 1203 se pueden visualizar directamente en la unidad de visualizacion 1202 a traves de la unidad de interfaz de camara 1233 y la unidad de control LCD 1232.
La unidad de codificacion de imagenes 1242 incluye el aparato de codificacion de imagenes en movimiento segun cualquiera de las realizaciones antes mencionadas. La unidad de codificacion de imagenes 1242 codifica por compresion los datos de imagen suministrados desde la unidad de camara 1203 mediante el metodo de codificacion de imagenes en movimiento segun cualquiera de las realizaciones anteriores para convertir los mismos en datos de imagen codificados y saca los datos de imagen codificados obtenidos a la unidad de multiplexacion/demultiplexacion 1238. Al mismo tiempo, el telefono portatil 1200 transmite voces que se introducen en la unidad de entrada de voz 1205 mientras que la imagen esta siendo tomada por la unidad de camara 1203, como datos de audio digitales, a la unidad de multiplexacion/demultiplexacion 1238 a traves de la unidad de procesamiento de audio 1235.
La unidad de multiplexacion/demultiplexacion 1238 multiplexa los datos de imagen codificados suministrados desde la unidad de codificacion de imagenes 1242 y los datos de audio suministrados desde la unidad de procesamiento de audio 1235 mediante un metodo predeterminado. Los datos multiplexados resultantes se someten a un proceso de propagacion de espectro en el circuito de modulacion/demodulacion 1236, luego se someten ademas al proceso de conversion DA y al proceso de transformacion de frecuencia en el circuito de transmision/recepcion 1231 y los datos obtenidos se transmiten a traves de la antena 1201.
Cuando el telefono portatil 1200 recibe datos de un archivo de imagen en movimiento que esta vinculado a una pagina de inicio o similar en el modo de comunicacion de datos, una senal recibida desde la estacion base 1110 a traves de la antena 1201 se somete a un proceso de propagacion inversa de espectro por el circuito de modulacion/demodulacion 1236 y los datos multiplexados resultantes se transmiten a la unidad de multiplexacion/demultiplexacion 1238.
Cuando se decodifican los datos multiplexados que se reciben a traves de la antena 1201, la unidad de multiplexacion/demultiplexacion 1238 demultiplexa los datos multiplexados para dividir los datos en un flujo de bits codificado que corresponde a los datos de imagen y un flujo de bits codificado que corresponde a los datos de audio y los datos de imagen codificados se suministran a la unidad de decodificacion de imagenes 1239 y los datos de audio se suministran a la unidad de procesamiento de audio 1235, a traves del bus de sincronizacion 1250.
La unidad de decodificacion de imagenes 1239 incluye el aparato de decodificacion de imagenes en movimiento segun cualquiera de las realizaciones antes mencionadas. La unidad de decodificacion de imagenes 1239 decodifica el flujo de bits codificado de los datos de imagen mediante el metodo de decodificacion que corresponde al metodo de codificacion segun cualquiera de las realizaciones antes mencionadas, para reproducir datos de imagen en movimiento y suministra los datos reproducidos a la unidad de visualizacion 1202 a traves de la unidad de control LCD 1232. Por ello, por ejemplo, se muestran los datos de imagenes en movimiento incluidos en el archivo de imagen en movimiento que esta vinculado a la pagina de inicio. Al mismo tiempo, la unidad de procesamiento de audio 1235 convierte los datos de audio en una senal de audio analogica y luego suministra la senal de audio analogica a la unidad de salida de voz 1208. Por ello, por ejemplo, se reproducen los datos de audio incluidos en el archivo de imagen en movimiento que esta vinculado a la pagina de inicio.
Aqrn, un sistema al que es aplicable el metodo de codificacion de imagenes en movimiento y el metodo de decodificacion de imagenes en movimiento segun cualquiera de las realizaciones antes mencionadas no se restringe al sistema de provision de contenidos anteriormente mencionado.
Recientemente, se habla frecuentemente de difusion digital usando satelites u ondas terrestres y el aparato de codificacion de imagenes y el aparato de decodificacion de imagenes segun las realizaciones anteriores es aplicable tambien a un sistema de difusion digital como se muestra en la Figura 42.
Mas espedficamente, un flujo de bits codificado que corresponde a informacion de video se transmite desde una estacion de difusion 1409 a un satelite 1410 tal como un satelite de comunicacion o un satelite de difusion, a traves de radiocomunicacion. Cuando el satelite de difusion 1410 recibe el flujo de bits codificado que corresponde a la informacion de video, el satelite 1410 saca ondas de difusion y estas ondas se reciben por una antena 1406 en casa, incluyendo instalaciones de recepcion de difusion por satelite. Por ejemplo, un aparato tal como una television (receptor) 1401 o un receptor multimedia digital (STB) 1407 decodifica el flujo de bits codificado y reproduce la informacion de video.
Ademas, el aparato de decodificacion de imagenes segun cualquiera de las realizaciones antes mencionadas se puede montar tambien en un aparato de reproduccion 1403 que puede leer y decodificar el flujo de bits grabado en el medio de almacenamiento 1402 tal como un CD o un DVD (medio de grabacion).
En este caso, una senal de video reproducida se visualiza en un monitor 1404. El aparato de decodificacion de imagenes en movimiento se puede montar en el receptor multimedia digital 1407 que se conecta a un cable para television por cable 1405 o una antena para difusion por satelite/terrestre 1406, para reproducir una salida del
5
10
15
20
25
30
35
40
45
50
aparato de decodificacion de imagenes en movimiento a ser visualizada en un monitor 1408 de la television. En este caso, el aparato de decodificacion de imagenes en movimiento se puede incorporar no en el receptor multimedia digital sino en la television. Un vetuculo 1412 que tiene una antena 1411 puede recibir una senal desde el satelite 1410 o la estacion base 1107 y reproducir una imagen en movimiento para visualizar la misma en un dispositivo de visualizacion de un sistema de navegacion de coche 1413 o similar que esta montado en el vetuculo 1412.
Ademas, tambien es posible que una senal de imagen se pueda codificar por el aparato de codificacion de imagenes en movimiento segun cualquiera de las realizaciones antes mencionadas y grabar en un medio de grabacion.
Un ejemplo espedfico de un dispositivo de grabacion es un grabador 1420 tal como un grabador de DVD que graba senales de imagenes en un disco DVD 1421 y un grabador de disco que graba senales de imagenes en un disco duro. Las senales de imagenes se pueden grabar en una tarjeta SD 1422. Ademas, cuando el grabador 1420 incluye el aparato de decodificacion de imagenes en movimiento segun cualquiera de las realizaciones antes mencionadas, las senales de imagenes que se graban en el disco DVD 1421 o la tarjeta SD 1422 se pueden reproducir por el grabador 1420 y visualizar en el monitor 1408.
Aqrn, la estructura del sistema de navegacion de coche 1413 puede incluir, por ejemplo, los componentes del telefono portatil mostrado en la figura 41 distintos de la unidad de camara 1203, la unidad de interfaz de camara 1233 y la unidad de codificacion de imagenes 1242 y lo mismo aplica al ordenador 1111 o la television (receptor) 1401.
Ademas, como el terminal tal como el telefono portatil 1114, se puede montar uno de tres tipos de terminales: un terminal de tipo transmision-recepcion que tiene tanto un codificador como un decodificador, un terminal de transmision que tiene solamente un codificador y un terminal de recepcion que tiene solamente un decodificador.
Como se describio anteriormente, el metodo de codificacion de imagenes en movimiento o el metodo de decodificacion de imagenes en movimiento segun cualquiera de las realizaciones antes mencionadas es aplicable a cualquiera de los dispositivos o sistemas antes mencionados, por lo cual se pueden obtener los efectos que se describen en las realizaciones anteriores.
Por otra parte, es innecesario decir que las realizaciones de la presente invencion y sus aplicaciones no estan limitadas a las descritas en esta memoria descriptiva.
Aplicabilidad industrial
Como se describio anteriormente, en el metodo de codificacion de imagenes en movimiento y el metodo de decodificacion de imagenes en movimiento segun la presente invencion, cuando una imagen objetivo a ser codificada o decodificada es una imagen B, una imagen hacia delante que se coloca la mas cercana a la imagen objetivo se puede usar como una imagen de referencia para la imagen objetivo, por lo cual se aumenta la precision de prediccion en la compensacion de movimiento para la imagen B, provocando una eficiencia de codificacion mejorada. Particularmente, estos metodos son utiles en procesamiento de datos para transferir o grabar datos de imagen en movimiento.
Sigue una lista de otras realizaciones de la invencion:
Realizacion 1 Un metodo de codificacion de imagenes en movimiento para codificar cada una de las imagenes plurales que constituyen una imagen en movimiento para generar un flujo de bits correspondiente a cada imagen, que incluye:
una etapa de codificacion para codificar una imagen objetivo a ser codificada, con referencia a una imagen ya codificada,
en el que, en dicha etapa de codificacion, se describe en el flujo de bits una marca que indica si la imagen objetivo debena o no ser usada como candidata para una imagen de referencia cuando se codifica otra imagen que sigue a la imagen objetivo.
Realizacion 2 Un metodo de decodificacion de imagenes en movimiento para decodificar cada una de las imagenes plurales que constituye una imagen en movimiento para convertir un flujo de bits correspondiente a cada imagen en datos de imagen, que incluye:
una etapa de decodificacion para decodificar una imagen objetivo a ser decodificada, con referencia a una imagen ya decodificada,
en el que se describe en el flujo de bits una marca que indica si la imagen objetivo debena o no ser usada como candidata para una imagen de referencia cuando se decodifica otra imagen que sigue a la imagen objetivo; y
en dicha etapa de decodificacion, la imagen objetivo decodificada se gestiona sobre la base de la marca.

Claims (2)

  1. 5
    10
    15
    20
    25
    30
    35
    40
    45
    50
    55
    1. Un metodo de decodificacion para decodificar imagenes plurales que constituyen una imagen en movimiento a partir de un flujo de bits, comprendiendo dicho metodo de decodificacion:
    una etapa de extraccion de primera y segunda informaciones para extraer, a partir del flujo de bits sobre una base imagen por imagen, o bien (i) una primera informacion que indica que una imagen objetivo, que es una de entre una imagen I, una imagen P, y una imagen B, puede ser una imagen de referencia a la que se hace referencia cuando se decodifica al menos una de las imagenes P que siguen a la imagen objetivo o cuando se decodifica al menos una de las imagenes B que siguen a la imagen objetivo, o (ii) una segunda informacion que indica que la imagen objetivo no puede ser una imagen de referencia a la que se hace referencia cuando se decodifica cada una de las imagenes P que siguen a la imagen objetivo o cuando se decodifica cada una de las imagenes B que siguen a la imagen objetivo;
    una etapa de extraccion de tercera informacion para extraer, a partir del flujo de bits sobre una base imagen por imagen, (iii) una tercera informacion que indica una pluralidad de imagenes de referencia candidatas, siendo la imagen de referencia candidata una candidata para una imagen de referencia seleccionada de entre las imagenes para las cuales solo se adjunta la primera informacion, cuando se decodifica una imagen P objetivo o cuando se decodifica una imagen B objetivo;
    una etapa de extraccion de cuarta informacion para extraer, a partir del flujo de bits sobre una base bloque por bloque, (iv) una cuarta informacion que indica una imagen de referencia espedfica a la que se hace referencia cuando se realiza una decodificacion predictiva en un bloque objetivo incluido en la imagen P objetivo o indica una o dos imagenes de referencia espedficas a las que se hace referencia cuando se realiza una decodificacion predictiva en un bloque objetivo incluido en la imagen B de objetivo;
    una etapa de almacenamiento para almacenar, imagen por imagen, la imagen objetivo en una memoria como una imagen de referencia candidata solo cuando la primera informacion se extrae por la etapa de extraccion de primera y segunda informaciones; y
    una etapa de decodificacion para decodificar, sobre una base bloque por bloque, el bloque objetivo usando la citada imagen de referencia espedfica cuando se realiza la decodificacion predictiva en el bloque objetivo incluido en la imagen P objetivo, o usando las citadas una o dos imagenes de referencia espedficas a las que se hace referencia cuando se realiza la decodificacion predictiva en el bloque objetivo incluido en la imagen B objetivo,
    en el que dicha una imagen de referencia espedfica se especifica, sobre una base bloque por bloque, de entre una pluralidad de imagenes de referencia candidatas que estan almacenadas en la memoria, y el boque objetivo se decodifica predictivamente con referencia a la citada imagen de referencia espedfica cuando se realiza la decodificacion predictiva en el bloque objetivo incluido en la imagen P objetivo, y
    en el que dichas una o dos imagenes de referencia espedficas se especifican, sobre una base bloque por bloque, de entre una pluralidad de imagenes de referencia candidatas que estan almacenadas en la memoria, y el bloque objetivo se decodifica predictivamente con referencia a las citadas una o dos imagenes de referencia espedficas cuando se realiza la decodificacion predictiva en el bloque objetivo incluido en la imagen B objetivo.
  2. 2. Un aparato de decodificacion para decodificar imagenes plurales que constituyen una imagen en movimiento a partir de un flujo de bits, comprendiendo dicho aparato de decodificacion:
    una unidad de extraccion de primera y segunda informaciones accionables para extraer, a partir del flujo de bits sobre una base imagen por imagen, o bien (i) una primera informacion que indica que una imagen objetivo, que es una de entre una imagen I, una imagen P, y una imagen B, puede ser una imagen de referencia a la que se hace referencia cuando se decodifica al menos una de las imagenes P que siguen a la imagen objetivo o cuando se decodifica al menos una de las imagenes B que siguen a la imagen objetivo, o (ii) una segunda informacion que indica que la imagen objetivo no puede ser una imagen de referencia a la que se hace referencia cuando se decodifica cada una de las imagenes P que siguen a la imagen objetivo o cuando se decodifica cada una de las imagenes B que siguen a la imagen objetivo;
    una unidad de extraccion de tercera informacion accionable para extraer, a partir del flujo de bits sobre una base imagen por imagen, (iii) una tercera informacion que indica una pluralidad de imagenes de referencia candidatas, siendo la imagen de referencia candidata una candidata para una imagen de referencia seleccionada de entre las imagenes para las cuales solo se adjunta la primera informacion, cuando se decodifica una imagen P objetivo o cuando se decodifica una imagen B objetivo;
    una unidad de extraccion de cuarta informacion accionable para extraer, a partir del flujo de bits sobre una base bloque por bloque, (iv) una cuarta informacion que indica una imagen de referencia espedfica a la que se hace referencia cuando se realiza una decodificacion predictiva en un bloque objetivo incluido en la imagen P objetivo o indica una o dos imagenes de referencia espedficas a las que se hace referencia cuando se realiza una decodificacion predictiva en un bloque objetivo incluido en la imagen B de objetivo;
    una unidad de almacenamiento accionable para almacenar, sobre una base imagen por imagen, la imagen objetivo en una memoria como una imagen de referencia candidata solo cuando la primera informacion se extrae por la unidad de extraccion de primera y segunda informaciones; y
    una unidad de decodificacion accionable para decodificar, sobre una base bloque por bloque, el bloque objetivo 5 usando la citada imagen de referencia espedfica cuando se realiza la decodificacion predictiva en el bloque objetivo incluido en la imagen P objetivo, o usando las citadas una o dos imagenes de referencia espedficas a las que se hace referencia cuando se realiza la decodificacion predictiva en el bloque objetivo incluido en la imagen B objetivo,
    en el que dicha una imagen de referencia espedfica se especifica sobre una base bloque por bloque, de entre una pluralidad de imagenes de referencia candidatas que estan almacenadas en la memoria, y el boque objetivo se 10 decodifica predictivamente con referencia a la citada imagen de referencia espedfica cuando se realiza la decodificacion predictiva en el bloque objetivo incluido en la imagen P objetivo, y
    en el que dichas una o dos imagenes de referencia espedficas se especifican, bloque por bloque, de entre una pluralidad de imagenes de referencia candidatas que estan almacenadas en la memoria, y el bloque objetivo se decodifica predictivamente con referencia a las citadas una o dos imagenes de referencia espedficas cuando se 15 realiza la decodificacion predictiva en el bloque objetivo incluido en la imagen B objetivo.
ES10186098.9T 2001-11-06 2002-11-06 Método de codificación de imágenes en movimiento y método de decodificación de imágenes en movimiento Expired - Lifetime ES2608453T3 (es)

Applications Claiming Priority (10)

Application Number Priority Date Filing Date Title
JP2001340698 2001-11-06
JP2001340698 2001-11-06
JP2001373311 2001-12-06
JP2001373311 2001-12-06
JP2001388466 2001-12-20
JP2001388466 2001-12-20
JP2002012117 2002-01-21
JP2002012117 2002-01-21
JP2002118598 2002-04-19
JP2002118598 2002-04-19

Publications (1)

Publication Number Publication Date
ES2608453T3 true ES2608453T3 (es) 2017-04-11

Family

ID=27532030

Family Applications (10)

Application Number Title Priority Date Filing Date
ES16182966.8T Expired - Lifetime ES2661697T3 (es) 2001-11-06 2002-11-06 Método de codificación de imágenes en movimiento y método de decodificación de imágenes en movimiento
ES16182963.5T Expired - Lifetime ES2661591T3 (es) 2001-11-06 2002-11-06 Método de codificación de imágenes en movimiento y método de decodificación de imágenes en movimiento
ES16182959.3T Expired - Lifetime ES2665693T3 (es) 2001-11-06 2002-11-06 Método de codificación de imágenes en movimiento y método de decodificación de imágenes en movimiento
ES17199506T Expired - Lifetime ES2721514T3 (es) 2001-11-06 2002-11-06 Procedimiento de codificación de imágenes en movimiento y procedimiento de decodificación de imágenes en movimiento
ES16171956.2T Expired - Lifetime ES2687176T3 (es) 2001-11-06 2002-11-06 Método de codificación de imágenes en movimiento y método de decodificación de imágenes en movimiento
ES02780003.6T Expired - Lifetime ES2602202T3 (es) 2001-11-06 2002-11-06 Método de codificación de imágenes en movimiento y método de decodificación de imágenes en movimiento
ES10186098.9T Expired - Lifetime ES2608453T3 (es) 2001-11-06 2002-11-06 Método de codificación de imágenes en movimiento y método de decodificación de imágenes en movimiento
ES17199599T Expired - Lifetime ES2725714T3 (es) 2001-11-06 2002-11-06 Procedimiento de codificación de imágenes en movimiento y procedimiento de decodificación de imágenes en movimiento
ES10186123.5T Expired - Lifetime ES2602575T3 (es) 2001-11-06 2002-11-06 Método de codificación de imágenes en movimiento y método de decodificación de imágenes en movimiento
ES08166965.7T Expired - Lifetime ES2601356T3 (es) 2001-11-06 2002-11-06 Método de codificación de imágenes en movimiento y método de decodificación de imágenes en movimiento

Family Applications Before (6)

Application Number Title Priority Date Filing Date
ES16182966.8T Expired - Lifetime ES2661697T3 (es) 2001-11-06 2002-11-06 Método de codificación de imágenes en movimiento y método de decodificación de imágenes en movimiento
ES16182963.5T Expired - Lifetime ES2661591T3 (es) 2001-11-06 2002-11-06 Método de codificación de imágenes en movimiento y método de decodificación de imágenes en movimiento
ES16182959.3T Expired - Lifetime ES2665693T3 (es) 2001-11-06 2002-11-06 Método de codificación de imágenes en movimiento y método de decodificación de imágenes en movimiento
ES17199506T Expired - Lifetime ES2721514T3 (es) 2001-11-06 2002-11-06 Procedimiento de codificación de imágenes en movimiento y procedimiento de decodificación de imágenes en movimiento
ES16171956.2T Expired - Lifetime ES2687176T3 (es) 2001-11-06 2002-11-06 Método de codificación de imágenes en movimiento y método de decodificación de imágenes en movimiento
ES02780003.6T Expired - Lifetime ES2602202T3 (es) 2001-11-06 2002-11-06 Método de codificación de imágenes en movimiento y método de decodificación de imágenes en movimiento

Family Applications After (3)

Application Number Title Priority Date Filing Date
ES17199599T Expired - Lifetime ES2725714T3 (es) 2001-11-06 2002-11-06 Procedimiento de codificación de imágenes en movimiento y procedimiento de decodificación de imágenes en movimiento
ES10186123.5T Expired - Lifetime ES2602575T3 (es) 2001-11-06 2002-11-06 Método de codificación de imágenes en movimiento y método de decodificación de imágenes en movimiento
ES08166965.7T Expired - Lifetime ES2601356T3 (es) 2001-11-06 2002-11-06 Método de codificación de imágenes en movimiento y método de decodificación de imágenes en movimiento

Country Status (13)

Country Link
US (17) US7310373B2 (es)
EP (15) EP2148512A3 (es)
KR (6) KR100951485B1 (es)
CN (2) CN1484922A (es)
AU (1) AU2002343215C1 (es)
BR (3) BR0206305A (es)
CA (2) CA2432453C (es)
DK (3) DK2271111T3 (es)
ES (10) ES2661697T3 (es)
MX (2) MXPA03006080A (es)
PT (3) PT2271110T (es)
TR (4) TR201812420T4 (es)
WO (2) WO2003041385A2 (es)

Families Citing this family (83)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2148512A3 (en) 2001-11-06 2010-07-28 Panasonic Corporation Moving image coding method, and moving image decoding method
KR100693669B1 (ko) * 2003-03-03 2007-03-09 엘지전자 주식회사 피일드 매크로 블록의 레퍼런스 픽쳐 결정 방법
CN1225127C (zh) * 2003-09-12 2005-10-26 中国科学院计算技术研究所 一种用于视频编码的编码端/解码端双向预测方法
FR2860678A1 (fr) * 2003-10-01 2005-04-08 Thomson Licensing Sa Procede de codage differentiel
CN1321534C (zh) * 2003-12-31 2007-06-13 中国科学院计算技术研究所 固定参考帧数编码方式下获取图像参考块的方法
TWI268715B (en) * 2004-08-16 2006-12-11 Nippon Telegraph & Telephone Picture encoding method, picture decoding method, picture encoding apparatus, and picture decoding apparatus
US20060062304A1 (en) * 2004-09-17 2006-03-23 Shih-Chang Hsia Apparatus and method for error concealment
US20060109900A1 (en) * 2004-11-23 2006-05-25 Bo Shen Image data transcoding
CN101980540B (zh) * 2004-11-26 2012-04-25 松下电器产业株式会社 解码电路、解码装置及解码系统
US7675872B2 (en) * 2004-11-30 2010-03-09 Broadcom Corporation System, method, and apparatus for displaying pictures
JP4203036B2 (ja) * 2005-04-11 2008-12-24 株式会社東芝 動画像復号装置とこの装置を備えた移動体端末
JP4523886B2 (ja) * 2005-07-08 2010-08-11 富士通株式会社 動画像復号装置、動画像復号方法および動画像復号プログラム
JP4662171B2 (ja) * 2005-10-20 2011-03-30 ソニー株式会社 符号化装置および方法、復号化装置および方法、プログラム、並びに記録媒体
US20070199011A1 (en) * 2006-02-17 2007-08-23 Sony Corporation System and method for high quality AVC encoding
JP4720543B2 (ja) * 2006-03-01 2011-07-13 ソニー株式会社 データ処理装置、データ処理方法およびデータ処理プログラム、記録媒体、ならびに、再生装置、再生方法および再生プログラム
US7912129B2 (en) * 2006-03-16 2011-03-22 Sony Corporation Uni-modal based fast half-pel and fast quarter-pel refinement for video encoding
JP4810298B2 (ja) * 2006-05-09 2011-11-09 キヤノン株式会社 画像符号化装置及び符号化方法並びに画像復号化装置及び復号化方法
US8270492B2 (en) * 2006-05-12 2012-09-18 Panasonic Corporation Moving picture decoding device
JP2008160398A (ja) * 2006-12-22 2008-07-10 Matsushita Electric Ind Co Ltd 動画像符号化装置および動画像符号化方法
US10080034B2 (en) * 2008-03-10 2018-09-18 Thomson Licensing Dtv Method and apparatus for predictive frame selection supporting enhanced efficiency and subjective quality
JP2010063092A (ja) * 2008-08-05 2010-03-18 Panasonic Corp 画像符号化装置、画像符号化方法、画像符号化集積回路およびカメラ
US9253496B2 (en) 2008-12-12 2016-02-02 Qualcomm Incorporated Intelligent decoded picture buffering
JP5332773B2 (ja) * 2009-03-18 2013-11-06 ソニー株式会社 画像処理装置および方法
US8363721B2 (en) * 2009-03-26 2013-01-29 Cisco Technology, Inc. Reference picture prediction for video coding
KR20110068792A (ko) * 2009-12-16 2011-06-22 한국전자통신연구원 적응적 영상 부호화 장치 및 방법
US9036692B2 (en) * 2010-01-18 2015-05-19 Mediatek Inc. Motion prediction method
CN102835111B (zh) 2010-01-19 2015-08-12 三星电子株式会社 使用先前块的运动矢量作为当前块的运动矢量来对图像进行编码/解码的方法和设备
CA2788954A1 (en) 2010-02-09 2011-08-18 Nippon Telegraph And Telephone Corporation Motion vector predictive encoding method, motion vector predictive decoding method, moving picture encoding apparatus, moving picture decoding apparatus, and programs thereof
WO2011099440A1 (ja) 2010-02-09 2011-08-18 日本電信電話株式会社 動きベクトル予測符号化方法、動きベクトル予測復号方法、動画像符号化装置、動画像復号装置およびそれらのプログラム
US9124898B2 (en) * 2010-07-12 2015-09-01 Mediatek Inc. Method and apparatus of temporal motion vector prediction
PT3001686T (pt) 2010-10-06 2020-03-26 Ntt Docomo Inc Dispositivo de descodificação de imagem de previsão dupla, método e programa
KR101782978B1 (ko) 2010-11-12 2017-09-29 삼성전자주식회사 참조 데이터의 가용성에 기초하여 영상 데이터를 복호화하는 장치 및 방법
US9300961B2 (en) * 2010-11-24 2016-03-29 Panasonic Intellectual Property Corporation Of America Motion vector calculation method, picture coding method, picture decoding method, motion vector calculation apparatus, and picture coding and decoding apparatus
JP5668149B2 (ja) * 2010-12-13 2015-02-12 エレクトロニクス アンド テレコミュニケーションズ リサーチ インスチチュートElectronics And Telecommunications Research Institute 参照ユニット決定方法及び装置
KR102390352B1 (ko) 2011-01-07 2022-04-25 엘지전자 주식회사 영상 정보 부호화 방법 및 복호화 방법과 이를 이용한 장치
KR101820997B1 (ko) 2011-01-12 2018-01-22 선 페이턴트 트러스트 동화상 부호화 방법 및 동화상 복호화 방법
KR101912472B1 (ko) * 2011-01-14 2018-10-26 선 페이턴트 트러스트 화상 부호화 방법, 화상 복호 방법, 메모리 관리 방법, 화상 부호화 장치, 화상 복호 장치, 메모리 관리 장치 및 화상 부호화 복호 장치
WO2012114694A1 (ja) * 2011-02-22 2012-08-30 パナソニック株式会社 動画像符号化方法、動画像符号化装置、動画像復号方法、および、動画像復号装置
MX2013009864A (es) 2011-03-03 2013-10-25 Panasonic Corp Metodo de codificacion de imagenes en movimiento, metodo de decodificacion de imagenes en movimiento, aparato de codificacion de imagenes en movimiento, aparato de decodificacion de imagenes en movimiento y aparato de codificacion y decodificacion de imagenes en movimiento.
RU2719308C2 (ru) 2011-04-12 2020-04-17 Сан Пэтент Траст Способ кодирования движущихся изображений, устройство кодирования движущихся изображений, способ декодирования движущихся изображений, устройство декодирования движущихся изображений и устройство кодирования и декодирования движущихся изображений
WO2012160803A1 (ja) 2011-05-24 2012-11-29 パナソニック株式会社 画像符号化方法、画像符号化装置、画像復号方法、画像復号装置、および、画像符号化復号装置
US9485518B2 (en) 2011-05-27 2016-11-01 Sun Patent Trust Decoding method and apparatus with candidate motion vectors
PL2717575T3 (pl) 2011-05-27 2019-03-29 Sun Patent Trust Sposób dekodowania obrazów i urządzenie do dekodowania obrazów
SG194746A1 (en) 2011-05-31 2013-12-30 Kaba Gmbh Image encoding method, image encoding device, image decoding method, image decoding device, and image encoding/decoding device
CN103548351B (zh) 2011-05-31 2017-07-11 太阳专利托管公司 运动图像解码方法及运动图像解码装置
USRE47366E1 (en) 2011-06-23 2019-04-23 Sun Patent Trust Image decoding method and apparatus based on a signal type of the control parameter of the current block
RU2602672C2 (ru) 2011-06-23 2016-11-20 Сан Пэтент Траст Способ декодирования изображения, способ кодирования изображения, устройство декодирования изображения, устройство кодирования изображения и устройство кодирования и декодирования изображения
TWI581615B (zh) 2011-06-24 2017-05-01 Sun Patent Trust A decoding method, a coding method, a decoding device, an encoding device, and a coding / decoding device
EP3407610B1 (en) 2011-06-24 2019-09-04 Sun Patent Trust Coding method and coding apparatus
MY169636A (en) 2011-06-27 2019-04-24 Sun Patent Trust Image decoding method, image coding method, image decoding apparatus, image coding apparatus, and image coding and decoding apparatus
BR122022013246B1 (pt) 2011-06-28 2022-11-16 Sun Patent Trust Aparelho de decodificação para decodificar um parâmetro de controle para controlar decodificação de uma imagem, e aparelho de codificação para codificar um parâmetro de controle para controlar codificação de uma imagem
WO2013001767A1 (ja) 2011-06-29 2013-01-03 パナソニック株式会社 画像復号方法、画像符号化方法、画像復号装置、画像符号化装置及び画像符号化復号装置
WO2013001769A1 (ja) 2011-06-30 2013-01-03 パナソニック株式会社 画像復号方法、画像符号化方法、画像復号装置、画像符号化装置及び画像符号化復号装置
MX2013013029A (es) 2011-06-30 2013-12-02 Panasonic Corp Metodo de decodificacion de imagenes, metodo de codificacion de imagenes, dispositivo de decodificacion de imagenes, dispositivo de codificacion de imagenes y dispositivo de codificacion/decodifi cacion de imagenes.
MX339141B (es) 2011-06-30 2016-05-13 Panasonic Ip Corp America Metodo de decodificacion de imagenes, metodo de codificacion de imagenes, aparato de decodificacion de imagenes, aparato de codificacion de imagenes y aparato de codificacion y decodificacion de imagenes.
MX2014000159A (es) 2011-07-02 2014-02-19 Samsung Electronics Co Ltd Metodo y aparato para la codificacion de video, y metodo y aparato para la decodificacion de video acompañada por inter prediccion utilizando imagen co-localizada.
CN106851295B (zh) 2011-07-11 2019-10-18 太阳专利托管公司 编码方法及编码装置
JP5706264B2 (ja) 2011-08-01 2015-04-22 日本電信電話株式会社 画像符号化方法,画像復号方法,画像符号化装置,画像復号装置,画像符号化プログラムおよび画像復号プログラム
EP3487178A1 (en) 2011-08-03 2019-05-22 Sun Patent Trust Video encoding method, video encoding apparatus, video decoding method, video decoding apparatus, and video encoding/decoding apparatus
KR101999869B1 (ko) 2011-10-19 2019-07-12 선 페이턴트 트러스트 화상 부호화 방법, 화상 부호화 장치, 화상 복호 방법, 및, 화상 복호 장치
AU2012336572B2 (en) 2011-11-08 2015-09-17 Samsung Electronics Co., Ltd. Method and device for determining motion vector for video coding or video decoding
JP6078927B2 (ja) * 2012-01-10 2017-02-15 サン パテント トラスト 動画像符号化方法、動画像符号化装置、動画像復号方法、及び、動画像復号装置
ES2728146T3 (es) 2012-01-20 2019-10-22 Sun Patent Trust Procedimientos y aparato de codificación y decodificación de vídeo utilizando predicción temporal de vector de movimiento
PL2811743T3 (pl) * 2012-02-03 2021-09-13 Sun Patent Trust Sposób kodowania obrazów, sposób dekodowania obrazów, urządzenie do kodowania obrazów, urządzenie do dekodowania obrazów i urządzenie do kodowania/dekodowania obrazów
US8280197B1 (en) * 2012-02-29 2012-10-02 Google Inc. Managed background loading of image resources in resource-constrained devices
WO2013132792A1 (ja) 2012-03-06 2013-09-12 パナソニック株式会社 動画像符号化方法、動画像復号方法、動画像符号化装置、動画像復号装置、及び動画像符号化復号装置
KR101674415B1 (ko) * 2012-04-27 2016-11-09 삼성전자주식회사 디지털 신호 처리 시스템에서 신호 이득 제어 방법 및 장치
KR101624059B1 (ko) * 2012-06-27 2016-05-24 가부시끼가이샤 도시바 암호화 장치 및 암호화 방법
JP6000763B2 (ja) * 2012-08-31 2016-10-05 キヤノン株式会社 画像処理装置及び画像処理方法
CN104704827B (zh) 2012-11-13 2019-04-12 英特尔公司 用于下一代视频的内容自适应变换译码
US9628790B1 (en) 2013-01-03 2017-04-18 Google Inc. Adaptive composite intra prediction for image and video compression
WO2014120368A1 (en) 2013-01-30 2014-08-07 Intel Corporation Content adaptive entropy coding for next generation video
WO2014174591A1 (ja) * 2013-04-23 2014-10-30 富士通株式会社 画像符号化装置、画像符号化方法、及び撮像装置
US9609343B1 (en) 2013-12-20 2017-03-28 Google Inc. Video coding using compound prediction
KR101868203B1 (ko) * 2015-01-28 2018-07-20 한국전자통신연구원 스트림 처리 방법 및 장치
US10805627B2 (en) 2015-10-15 2020-10-13 Cisco Technology, Inc. Low-complexity method for generating synthetic reference frames in video coding
US10136155B2 (en) 2016-07-27 2018-11-20 Cisco Technology, Inc. Motion compensation using a patchwork motion field
CN109479143B (zh) * 2016-09-30 2020-09-08 华为技术有限公司 一种帧间预测的图像编解码方法和装置
WO2018132150A1 (en) 2017-01-13 2018-07-19 Google Llc Compound prediction for video coding
US10735761B2 (en) * 2017-05-19 2020-08-04 Mediatek Inc Method and apparatus of video coding
US11558606B2 (en) 2018-12-28 2023-01-17 Godo Kaisha Ip Bridge 1 Moving image encoding device, moving image encoding method, moving image encoding program, moving image decoding device, moving image decoding method, and moving image decoding program
EP3902244B1 (en) * 2020-04-23 2022-03-23 Axis AB Controlling a pan-tilt-zoom camera
US11582442B1 (en) * 2020-12-03 2023-02-14 Amazon Technologies, Inc. Video encoding mode selection by a hierarchy of machine learning models

Family Cites Families (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69033782T2 (de) * 1989-10-14 2002-06-20 Sony Corp Verfahren und Anordnung zum Kodieren/Dekodieren eines Videosignales
EP0522835B1 (en) 1991-07-12 1997-09-17 Sony Corporation Decoding apparatus for image signal
JPH05137131A (ja) 1991-11-13 1993-06-01 Sony Corp フレーム間動き予測方法
DE69334288D1 (de) * 1992-01-29 2009-07-30 Mitsubishi Electric Corp Hochleistungscodierer und Vorrichtung zur Videodatenaufzeichnung/-wiedergabe
US6101313A (en) * 1992-06-29 2000-08-08 Sony Corporation High efficiency encoding and decoding of picture signals and recording medium containing same
JP2785220B2 (ja) 1992-09-22 1998-08-13 ソニー株式会社 データ符号化装置および方法、並びにデータ復号化装置および方法
TW224553B (en) * 1993-03-01 1994-06-01 Sony Co Ltd Method and apparatus for inverse discrete consine transform and coding/decoding of moving picture
CA2118118C (en) * 1993-03-24 2004-02-24 Motoki Kato Method for coding and decoding motion vectors and apparatus therefor
US5329365A (en) 1993-07-07 1994-07-12 Rca Thomson Licensing Corporation Method and apparatus for providing compressed non-interlaced scanned video signal
US6091460A (en) 1994-03-31 2000-07-18 Mitsubishi Denki Kabushiki Kaisha Video signal encoding method and system
US5943096A (en) 1995-03-24 1999-08-24 National Semiconductor Corporation Motion vector based frame insertion process for increasing the frame rate of moving images
US5809173A (en) * 1995-04-18 1998-09-15 Advanced Micro Devices, Inc. Method and apparatus for improved video decompression using previous frame DCT coefficients
US5724446A (en) * 1995-04-18 1998-03-03 Advanced Micro Devices, Inc. Video decoder apparatus using non-reference frame as an additional prediction source and method therefor
US5774206A (en) * 1995-05-10 1998-06-30 Cagent Technologies, Inc. Process for controlling an MPEG decoder
JPH09182083A (ja) 1995-12-27 1997-07-11 Matsushita Electric Ind Co Ltd ビデオ画像符号化方法及び復号化方法とその装置
JP3628810B2 (ja) 1996-06-28 2005-03-16 三菱電機株式会社 画像符号化装置
JPH1042295A (ja) 1996-07-19 1998-02-13 Sony Corp 映像信号符号化方法および映像信号符号化装置
JP3344576B2 (ja) * 1996-09-09 2002-11-11 ソニー株式会社 画像符号化装置および画像符号化方法、画像復号化装置および画像復号化方法
JPH10191356A (ja) 1996-12-27 1998-07-21 Oki Electric Ind Co Ltd 画像符号化装置
JPH10234045A (ja) 1997-02-21 1998-09-02 Oki Electric Ind Co Ltd 動画像通信装置
US6005980A (en) * 1997-03-07 1999-12-21 General Instrument Corporation Motion estimation and compensation of video object planes for interlaced digital video
US5991447A (en) * 1997-03-07 1999-11-23 General Instrument Corporation Prediction and coding of bi-directionally predicted video object planes for interlaced digital video
DE69834788T2 (de) 1997-03-19 2007-05-16 Sony Corp. Verfahren und vorrichtung zur bildkodierung
US6404813B1 (en) * 1997-03-27 2002-06-11 At&T Corp. Bidirectionally predicted pictures or video object planes for efficient and flexible video coding
WO1999007159A2 (en) * 1997-07-29 1999-02-11 Koninklijke Philips Electronics N.V. Variable bitrate video coding method and corresponding video coder
US6282240B1 (en) * 1997-09-03 2001-08-28 Oki Electric Industry Co., Ltd. Picture coder, picture decoder, and transmission system
JPH11155147A (ja) 1997-09-18 1999-06-08 Casio Comput Co Ltd 画像再生方法、画像符号化装置及び画像符号化方法
US6404872B1 (en) * 1997-09-25 2002-06-11 At&T Corp. Method and apparatus for altering a speech signal during a telephone call
KR100357093B1 (ko) * 1999-06-02 2002-10-18 엘지전자 주식회사 동영상 압축 복원시스템에서의 오류 은폐장치 및 방법
US6792047B1 (en) * 2000-01-04 2004-09-14 Emc Corporation Real time processing and streaming of spliced encoded MPEG video and associated audio
US6891893B2 (en) * 2000-04-21 2005-05-10 Microsoft Corp. Extensible multimedia application program interface and related methods
GB2381403B (en) 2000-05-10 2004-12-01 Picturetel Corp Video coding using multiple buffers
US6504872B1 (en) 2000-07-28 2003-01-07 Zenith Electronics Corporation Down-conversion decoder for interlaced video
US6680973B2 (en) * 2001-03-29 2004-01-20 Koninklijke Philips Electronics N.V. Scalable MPEG-2 video decoder with selective motion compensation
EP1263239A3 (en) * 2001-05-30 2005-02-09 Nippon Telegraph and Telephone Corporation Image compression system
US7266150B2 (en) * 2001-07-11 2007-09-04 Dolby Laboratories, Inc. Interpolation of video compression frames
EP2148512A3 (en) 2001-11-06 2010-07-28 Panasonic Corporation Moving image coding method, and moving image decoding method
CN101715136B (zh) * 2001-11-21 2017-03-29 摩托罗拉移动有限责任公司 对具有多个图像的图像序列进行编码的方法及设备
JP2005510985A (ja) * 2001-11-21 2005-04-21 ジェネラル・インストルメント・コーポレーション デジタルビデオコンテンツのマクロブロックレベルにおける適応フレーム/フィールド符号化
US20030099294A1 (en) * 2001-11-27 2003-05-29 Limin Wang Picture level adaptive frame/field coding for digital video content
JP2004088722A (ja) * 2002-03-04 2004-03-18 Matsushita Electric Ind Co Ltd 動画像符号化方法および動画像復号化方法
JP4215197B2 (ja) * 2002-04-12 2009-01-28 パナソニック株式会社 画像符号化方法および画像復号化方法
JP2004023458A (ja) 2002-06-17 2004-01-22 Toshiba Corp 動画像符号化/復号化方法及び装置
MXPA04001979A (es) 2002-07-11 2004-08-02 Matsushita Electric Ind Co Ltd Metodo de codificacion de imagenes y metodo de decodificacion de imagenes.
WO2004012459A1 (ja) 2002-07-26 2004-02-05 Matsushita Electric Industrial Co., Ltd. 動画像符号化方法、動画像復号化方法および記録媒体
US7263129B2 (en) * 2002-08-29 2007-08-28 Sony Corporation Predictive encoding and data decoding control
KR100506864B1 (ko) * 2002-10-04 2005-08-05 엘지전자 주식회사 모션벡터 결정방법
JP3513148B1 (ja) * 2002-10-11 2004-03-31 株式会社エヌ・ティ・ティ・ドコモ 動画像符号化方法、動画像復号方法、動画像符号化装置、動画像復号装置、動画像符号化プログラム、及び動画像復号プログラム
US7366081B2 (en) * 2004-11-10 2008-04-29 Tdk Corporation Information recording medium
KR20080026010A (ko) * 2006-09-19 2008-03-24 엘지전자 주식회사 위상천이 기반의 프리코딩을 이용한 데이터 전송 방법 및이를 구현하는 송수신 장치

Also Published As

Publication number Publication date
US20150264350A1 (en) 2015-09-17
US9338448B2 (en) 2016-05-10
KR100973374B1 (ko) 2010-07-30
US9241161B2 (en) 2016-01-19
US8126057B2 (en) 2012-02-28
US20080144715A1 (en) 2008-06-19
KR20090068274A (ko) 2009-06-25
EP3122047B1 (en) 2017-12-27
ES2725714T3 (es) 2019-09-26
US7310373B2 (en) 2007-12-18
CA2456377A1 (en) 2003-05-15
US20120287997A1 (en) 2012-11-15
ES2602202T3 (es) 2017-02-20
KR20040052460A (ko) 2004-06-23
US20100014589A1 (en) 2010-01-21
EP3310049B1 (en) 2019-01-30
US9241162B2 (en) 2016-01-19
BR0206305A (pt) 2004-07-13
KR100976285B1 (ko) 2010-08-16
DK1445960T3 (en) 2016-11-21
CN1596545A (zh) 2005-03-16
ES2661697T3 (es) 2018-04-03
CA2456377C (en) 2013-01-15
US8265153B2 (en) 2012-09-11
US8194747B2 (en) 2012-06-05
EP2009923A3 (en) 2010-08-18
AU2002343215B2 (en) 2008-05-22
EP2148512A3 (en) 2010-07-28
US20160234509A1 (en) 2016-08-11
ES2665693T3 (es) 2018-04-26
EP2271110A2 (en) 2011-01-05
US7756204B2 (en) 2010-07-13
US7782936B2 (en) 2010-08-24
US8964839B2 (en) 2015-02-24
EP2009924A2 (en) 2008-12-31
PT1445960T (pt) 2016-11-02
US20080205522A1 (en) 2008-08-28
KR20070119723A (ko) 2007-12-20
AU2002344460A1 (en) 2003-05-19
TR201812420T4 (tr) 2018-09-21
EP2148512A2 (en) 2010-01-27
WO2003041385A2 (en) 2003-05-15
EP2009923B1 (en) 2016-08-17
US20160094856A1 (en) 2016-03-31
US20040151248A1 (en) 2004-08-05
EP2009924A3 (en) 2010-07-28
TR201802383T4 (tr) 2018-03-21
US20160360232A1 (en) 2016-12-08
EP3122045A1 (en) 2017-01-25
AU2002343215A2 (en) 2003-05-19
EP3310045A1 (en) 2018-04-18
EP3310049A1 (en) 2018-04-18
EP2271111B1 (en) 2016-08-10
EP3094088B1 (en) 2018-06-13
PT2271111T (pt) 2016-11-08
US9578323B2 (en) 2017-02-21
EP3094088A1 (en) 2016-11-16
US20100020873A1 (en) 2010-01-28
AU2002343215C1 (en) 2009-01-22
EP3310051B1 (en) 2019-01-23
TR201802625T4 (tr) 2018-03-21
US20070041452A1 (en) 2007-02-22
BRPI0206305B1 (pt) 2018-01-30
EP2271111A2 (en) 2011-01-05
ES2721514T3 (es) 2019-08-01
US8107533B2 (en) 2012-01-31
EP3122046B1 (en) 2017-12-20
ES2601356T3 (es) 2017-02-14
DK2271110T3 (en) 2017-01-09
EP2009923A2 (en) 2008-12-31
KR20090122378A (ko) 2009-11-27
ES2687176T3 (es) 2018-10-24
EP3310050B1 (en) 2019-01-30
EP2271111A3 (en) 2011-08-10
US20080137748A1 (en) 2008-06-12
EP1444835A2 (en) 2004-08-11
EP3122045B1 (en) 2018-01-24
US9344714B2 (en) 2016-05-17
KR20040054618A (ko) 2004-06-25
US20070041451A1 (en) 2007-02-22
CN1484922A (zh) 2004-03-24
EP3310051A1 (en) 2018-04-18
US20160094844A1 (en) 2016-03-31
US8126056B2 (en) 2012-02-28
EP1445960B1 (en) 2016-08-10
US20150110188A1 (en) 2015-04-23
US8213517B2 (en) 2012-07-03
US9078003B2 (en) 2015-07-07
CN100505878C (zh) 2009-06-24
MXPA03006080A (es) 2003-09-10
MXPA03010729A (es) 2004-03-02
KR100952542B1 (ko) 2010-04-12
KR100917521B1 (ko) 2009-09-16
EP3310050A1 (en) 2018-04-18
TR201802352T4 (tr) 2018-03-21
US9462267B2 (en) 2016-10-04
ES2661591T3 (es) 2018-04-02
KR100926850B1 (ko) 2009-11-13
PT2271110T (pt) 2016-12-06
EP3122046A1 (en) 2017-01-25
EP2271110B1 (en) 2016-09-21
EP1445960A1 (en) 2004-08-11
CA2432453C (en) 2013-03-19
BR0206308A (pt) 2004-02-17
BR0206308B1 (pt) 2018-01-09
US20150264349A1 (en) 2015-09-17
AU2002344460B2 (en) 2008-04-10
WO2003041385A3 (en) 2003-10-16
WO2003041415A1 (en) 2003-05-15
EP2271110A3 (en) 2011-08-10
KR20090122379A (ko) 2009-11-27
EP1445960A4 (en) 2005-07-13
KR100951485B1 (ko) 2010-04-07
ES2602575T3 (es) 2017-02-21
CA2432453A1 (en) 2003-05-15
US20040052507A1 (en) 2004-03-18
DK2271111T3 (en) 2016-12-05
EP3310045B1 (en) 2019-02-20
EP3122047A1 (en) 2017-01-25

Similar Documents

Publication Publication Date Title
ES2608453T3 (es) Método de codificación de imágenes en movimiento y método de decodificación de imágenes en movimiento
AU2002343215A1 (en) Moving picture coding method, and moving picture decoding method
AU2008203058B2 (en) Moving picture coding method and moving picture decoding method
BR122017003640B1 (pt) Método de decodificação para decodificar uma pluralidade de imagens