ES2299170T3 - Procedimiento de descodificacion de imagenes en movimiento y aparato de descodificacion de imagenes en movimiento. - Google Patents

Procedimiento de descodificacion de imagenes en movimiento y aparato de descodificacion de imagenes en movimiento. Download PDF

Info

Publication number
ES2299170T3
ES2299170T3 ES07100241T ES07100241T ES2299170T3 ES 2299170 T3 ES2299170 T3 ES 2299170T3 ES 07100241 T ES07100241 T ES 07100241T ES 07100241 T ES07100241 T ES 07100241T ES 2299170 T3 ES2299170 T3 ES 2299170T3
Authority
ES
Spain
Prior art keywords
image
pixels
maximum number
coding
images
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
ES07100241T
Other languages
English (en)
Inventor
Kiyofumi Abe
Shinya Kadono
Makoto Hagai
Satoshi Kondo
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Application granted granted Critical
Publication of ES2299170T3 publication Critical patent/ES2299170T3/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
    • 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/114Adapting the group of pictures [GOP] structure, e.g. number of B-frames between two anchor frames
    • 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/115Selection of the code volume for a coding unit prior to coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • 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/146Data rate or code amount at the encoder output
    • H04N19/149Data rate or code amount at the encoder output by estimating the code amount by means of a model, e.g. mathematical model or statistical model
    • 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/156Availability of hardware or computational resources, e.g. encoding based on power-saving criteria
    • 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/162User input
    • 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/164Feedback from the receiver or from the transmission channel
    • 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/177Methods 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 a group of pictures [GOP]
    • 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/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

Procedimiento para descodificar una secuencia de código (Bsa) correspondiente a una imagen en movimiento (Id) que está constituida por una pluralidad de imágenes, estando constituida cada una de ellas por un número predefinido de píxeles, comprendiendo dicho procedimiento: una etapa de extracción de identificador de nivel para extraer un identificador de nivel (Lst) para identificar un nivel de codificación que indica una altura del nivel del procedimiento de codificación para la imagen en movimiento (Id) de la secuencia de código (Bsa); y para cada imagen, una etapa de descodificación de los datos codificados (Cd) de la imagen en movimiento del nivel determinado por el identificador de nivel (Lst) que se extrae en dicha etapa de extracción de identificador de nivel, para generar datos de imagen (Dd) de la imagen en movimiento; en el que el identificador de nivel (Lst) es un identificador que identifica el número máximo de píxeles intratrama (Nfpx) de una imagen que se ajusta al nivel de codificación, y el número máximo de píxeles de almacenamiento (Nspx) que indica la cantidad de datos que pueden almacenarse en la memoria de imágenes (503), que se ajusta al nivel de codificación, y el número máximo de imágenes de referencia candidatas que pueden almacenarse en la memoria de imágenes (503) se calcula basándose en el número de píxeles verticales (Ihpx) y el número de píxeles horizontales (Iwpx) de la imagen que se descodifica en dicha etapa de descodificación, y el número máximo de píxeles de almacenamiento (Nspx) que se identifica por el identificador de nivel (Lst).

Description

Procedimiento de descodificación de imágenes en movimiento y aparato de descodificación de imágenes en movimiento.
Campo técnico
La presente invención se refiere a un procedimiento de descodificación de imágenes en movimiento, un aparato relacionado y unos medios de almacenamiento de datos que contienen un programa para implementar el procedimiento de descodificación.
Antecedentes de la técnica
Las imágenes en movimiento están formadas por una pluralidad de imágenes, estando constituida cada una de ellas de un número de píxeles predeterminado. La codificación de las imágenes en movimiento se aplica a cada imagen y la codificación de cada imagen se realiza tomando como unidad un bloque que se obtiene dividiendo la imagen.
En general, en la codificación de una imagen en movimiento, se realiza una compresión de la cantidad de información que elimina la redundancia en la dirección del tiempo y en la dirección del espacio.
Por ejemplo, en la codificación por predicción interimagen, cuya finalidad es eliminar la redundancia temporal, se realiza la estimación del movimiento y la compensación del movimiento para la imagen de destino de codificación en unidades de bloques, haciendo referencia a las imágenes que están situadas temporalmente antes o después de la imagen de destino, para generar información de predicción y, a continuación, se codifica la diferencia entre la información de predicción y la información de la imagen de destino. Una imagen situada temporalmente antes de la imagen de destino es una "imagen precedente" y se presenta antes que la imagen de destino, mientras que una imagen situada temporalmente después de la imagen de destino es una "imagen siguiente" y se presenta después de la imagen de destino.
El sistema de codificación H.264 de estandarización en curso como sistema de codificación de imágenes en movimiento realiza la compensación de movimiento con respecto a la imagen de destino haciendo referencia a dos imágenes arbitrarias que están situadas temporalmente antes y después de la imagen de destino. La numeración del sistema H.264 consiste en un número de recomendación de ITU-T (Sector de Normalización de las Telecomunicaciones de la Unión Internacional de Telecomunicaciones).
La codificación destinada a eliminar la redundancia espacial se realiza utilizando la información de codificación de los bloques que ya han sido codificados y que están situados alrededor del bloque de destino.
No obstante, cuando se diseña un aparato de codificación y un aparato de descodificación según el sistema H.264, se plantea el problema de la incapacidad para decidir correctamente los tamaños de las áreas de memoria que requieren dichos aparatos. Esto se debe a que el grado de libertad relativo al número de imágenes de referencia a las que se hace referencia durante la codificación por predicción interimagen es sumamente elevado.
Generalmente, en el procedimiento de codificación de una imagen en movimiento que consta de una pluralidad de imágenes, la codificación de una imagen en movimiento se aplica a cada imagen y la codificación de cada imagen se realiza tomando como unidad un bloque (en lo sucesivo, macrobloque) que se obtiene dividiendo la imagen.
Por ejemplo, la codificación de una imagen P se aplica en secuencia a cada macrobloque MB que constituye la imagen P, a lo largo de la flecha B representada en la Figura 24(a). Además, la codificación del macrobloque MB12, que es el bloque de destino, se realiza mediante predicción de información tal como un vector de movimiento (es decir, información de codificación) para el macrobloque de destino haciendo referencia a la información de codificación de los macrobloques MB3, MB4, MB5 y MB12, que están situados encima y a los lados del macrobloque de destino MB12.
Por consiguiente, es necesario retener la información de codificación de los macrobloques MB3 a MB11 citados anteriormente, que están situados encima y a un lado del macrobloque de destino MB12, para realizar la predicción de la información de codificación cuando se codifican los macrobloques más recientes con respecto al macrobloque 12, hasta que el procedimiento de codificación del macrobloque MB12 haya finalizado. Dicho de otra forma, en el procedimiento de codificación de cada imagen, siempre se conserva la información codificada de los macrobloques de aproximadamente una fila. Por consiguiente, en el caso en el que la imagen de destino es una imagen lateralmente larga (es decir, larga en dirección horizontal), la cantidad de información codificada que debe retenerse en el procedimiento de codificación es elevada. En consecuencia, cuando se diseña un aparato capaz de realizar la codificación de una imagen lateralmente larga (es decir, larga en dirección horizontal), es necesario proveer un área de memoria de gran tamaño para almacenar la información de codificación. En cambio, cuando se codifica un macrobloque que en el orden de codificación sigue al macrobloque MB12 no se hace uso de la información de codificación de los macrobloques MB1 y MB2 representados en la Figura 24(b).
\newpage
Huelga decir que también se necesita un área de almacenamiento de gran tamaño para almacenar la información de codificación cuando se diseña un aparato de descodificación capaz de descodificar una imagen que presenta un lado de gran longitud, como ocurre con el diseño de un aparato de codificación.
No obstante, en el sistema de codificación H.264, los números de píxeles en las direcciones horizontal y vertical de las imágenes no están sujetos a ningún requisito, actualmente. Esto conlleva que el tamaño mínimo del área de almacenamiento necesaria para realizar la codificación o la descodificación correcta de una imagen de conformidad con la norma H.264 no esté decidido.
Además, cuando se realiza la codificación o la descodificación por predicción interimagen de conformidad con la norma H.264, es necesario almacenar en una memoria de imágenes todas las imágenes precedentes y siguientes que posiblemente sean consultadas.
En resumen, en el procedimiento MPEG (Moving Picture Experts Group) -2 o MPEG-4 convencional, las imágenes a las cuales se puede hacer referencia en la codificación por predicción interimagen o la descodificación por predicción interimagen (las imágenes de referencia candidatas) son compartidas por todos los bloques de la imagen de destino de codificación o descodificación. Por ejemplo, cuando la imagen de destino es una imagen B que puede hacer referencia a otras dos imágenes procesadas como máximo, se seleccionan imágenes a las cuales se hace referencia en la codificación o descodificación de cada bloque (es decir, las imágenes de referencia) de dos imágenes de referencia candidatas que se han elegido para la imagen de destino. Cuando la imagen de destino es una imagen P que puede referirse sólo a una imagen procesada, sólo se utiliza una imagen de referencia que se ha elegido para la imagen de destino, como imagen de referencia en la codificación o descodificación de cada bloque.
\vskip1.000000\baselineskip
Pueden obtenerse las descripciones de las imágenes de referencia en la parte de la norma MPEG-4 indicada a continuación:
ISO/IEC 14496-2:1999(E)
Information technology - coding of audio-visual objects
Parte 2: Visual
(1999-12-01)
PP.328, 329 Anexo N
\vskip1.000000\baselineskip
Por otra parte, en el procedimiento de codificación H.264, se selecciona una imagen a la cual se hace referencia en la codificación por predicción interimagen o la descodificación por predicción interimagen (es decir, una imagen de referencia), de entre una pluralidad de señales procesadas cuyos datos de imagen se almacenan en una memoria de imágenes, para cada bloque de la imagen de destino de codificación o descodificación. Por ejemplo, cuando la imagen de destino es una imagen B cuyos bloques se codifican o descodifican con referencia a otras dos imágenes procesadas como máximo, se hace referencia como máximo a dos imágenes (que se utilizan como imágenes de referencia), seleccionadas a partir de una pluralidad de imágenes procesadas cuyos datos de imagen se almacenan en una memoria de imágenes, en la codificación o descodificación de cada bloque. Cuando la imagen de destino es la imagen P cuyos bloques se codifican o descodifican con referencia sólo a una imagen procesada (que se utiliza como imagen de referencia), se emplea una imagen seleccionada a partir de una pluralidad de imágenes procesadas cuyos datos de imagen se almacenan en la memoria de imágenes como imagen de referencia en la codificación o la codificación de cada bloque.
Tal como se ha indicado anteriormente, de conformidad con el procedimiento MPEG-2 o MPEG-4, cuando la imagen de destino es una imagen P, se dispone de una imagen procesada que es candidata para ser imagen de referencia (es decir, una imagen de referencia candidata), y cuando la imagen de destino es una imagen B, se dispone de dos imágenes procesadas que son imágenes de referencia candidatas. En cambio, de conformidad con el procedimiento H.264, tanto en el caso de una imagen de destino P como en el de una imagen de destino B, se dispone de una pluralidad de imágenes procesadas cuyos datos de imagen se almacenan en la memoria de imágenes que sirven de candidatas para ser imagen de referencia (es decir, son imágenes de referencia candidatas).
La Figura 25 es un diagrama que representa un control específico de una memoria de imágenes según el sistema H.264. La Figura 25 representa el caso de una memoria de imágenes que puede contener datos de imagen de cuatro imágenes. Es decir, en este caso, de estas cuatro imágenes (excluida la imagen de destino de procesamiento), tres son imágenes candidatas a ser imágenes de referencia.
Por ejemplo, en la codificación por predicción interimagen o la descodificación por predicción interimagen con la imagen P5 como imagen de destino de procesamiento representada en la Figura 25, las imágenes P2 a P4 cuyos datos de imagen se almacenan en una memoria de imágenes Mpt se toman como imágenes de referencia candidatas. En este caso, las imágenes P1 a P5 se disponen por orden de codificación (u orden de descodificación) y se codifican o descodifican en dicho orden. Por lo tanto, de las imágenes de referencia candidatas P2 a P4, las que se presentan antes que la imagen de destino P5 son las imágenes precedentes para la imagen de destino P5, y las que se presentan después de la imagen de destino P5 son las imágenes siguientes para la imagen de destino P5.
En un aparato de descodificación, aunque una imagen descodificada previamente sea una imagen descodificada distinta a cualquiera de las imágenes de referencia candidatas a las cuales se hace referencia en la descodificación por predicción interimagen de la imagen de destino (es decir, una imagen descodificada que no se utiliza como imagen de referencia), los datos de imagen de la imagen descodificada deben almacenarse en la memoria de imágenes como una imagen en espera de ser presentada hasta que se recibe la orden de presentación.
Las Figuras 26 son unos diagramas que representan esquemáticamente las imágenes en espera de ser presentadas. La Figura 26(a) representa la pluralidad de imágenes que constituyen una imagen en movimiento, cada una de las cuales puede ser utilizada como imagen de referencia (imagen de referencia candidata) [utilizada] o puede no ser utilizada como imagen de referencia [no utilizada]. La Figura 26(b) representa la relación entre los tiempos de descodificación y los tiempos de presentación de cada imagen.
A título ilustrativo, la Figura 26 representa un caso, en el que las imágenes de referencia [utilizada] que se utilizan en la codificación o la descodificación de cada bloque de la imagen B son ambas o cualquiera de las dos imágenes de referencia candidatas que se utilizan comúnmente con todos los bloques de la imagen B, y las imágenes de referencia [utilizada] que se utilizan en la codificación o descodificación de cada bloque de la imagen P son una imagen de referencia candidata que se utiliza comúnmente con todos los bloques de la imagen P. No obstante, en el procedimiento H.264, se selecciona una imagen a la que se hará referencia en la codificación o codificación de imágenes (es decir, una imagen de referencia) de entre una pluralidad de imágenes procesadas cuyos datos de imagen se almacenan en una memoria de imágenes, para cada bloque de la imagen de destino de codificación o descodificación. Por consiguiente, las imágenes de referencia candidatas que se utilizan en la codificación o la descodificación de la imagen B no se limitan a las dos imágenes específicas para cada imagen B representadas en la Figura 26(a), y la imagen de referencia candidata que se utiliza en la codificación o la descodificación de la imagen P no se limita a la imagen específica para cada imagen P representada en la Figura 26(a).
En la Figura 26(a), las imágenes de referencia candidatas para la imagen B1 de B son la imagen I0 de I y la imagen P4 de P. Además, las imágenes de referencia candidatas para la imagen B3 de B son la imagen B2 de B y la imagen P4 de P, y la imagen de referencia candidata para la imagen P8 de P es la imagen P4 de P.
En la Figura 26(b), se representa cómo se descodifican las respectivas imágenes de la Figura 26(a) en el orden: I0, P4, B2, B1, B3, P8, B6, B5 y B7, y se presentan en el orden: I0, B1, B2, B3, P4, B5, B6, B7 y P8.
En la Figura 26(b), Tdec representa el eje del tiempo para los tiempos de descodificación de las respectivas imágenes, y Tdsp representa el eje del tiempo para los tiempos de presentación de las respectivas imágenes. Además,
tdec(0), tdec(1), tdec(2), tdec(3), tdec(4), tdec(5), tdec(6), tdec(7) y tdec(8) denotan los períodos de tiempo en los que se realiza la descodificación de las imágenes I0, B1, B2, B3, P4, B5, B6, B7 y P8, respectivamente. Además,
tdsp(0), tdsp(1), tdsp(2), tdsp(3), tdsp(4), tdsp(5), tdsp(6), tdsp(7) y tdsp(8) denotan los períodos de tiempo en los que se realiza la presentación de las imágenes I0, B1, B2, B3, P4, B5, B6, B7 y P8, respectivamente.
En este caso, los tiempos de descodificación de las imágenes B2, B1, B3, P8, B6, B5 y B7 coinciden aproximadamente con los respectivos tiempos de presentación de las imágenes I0, B1, B2, B3, P4, B5 y B6, representados en la Figura 26(b). Además, el control de la memoria de imágenes se realiza de tal forma que los datos de imagen de las imágenes descodificadas se almacenan en la memoria de imágenes y los datos de imagen de las imágenes que han sido presentadas se van suprimiendo en secuencia.
En este caso, por ejemplo, la imagen I0 de I se presenta tras esperar a que la imagen B2 de B haya sido descodificada.
Los datos de imagen de las imágenes de referencia candidatas se almacenan en la memoria de imágenes, y estas imágenes se emplean como imágenes de referencia hasta que se presentan más tarde. No obstante, los datos de imagen de las imágenes a las cuales no se hace referencia también deben conservarse hasta que estas imágenes son presentadas una vez descodificadas. Los datos de imagen de dichas imágenes descodificadas que no se emplean como imágenes de referencia se almacenan en una memoria predeterminada como imágenes en espera de ser presentadas hasta que son presentadas.
En la Figura 26(a), la imagen B1 de B, que se descodifica después de que la imagen I0 de I ha sido descodificada, es una imagen que no se utiliza como imagen de referencia y que se presenta después de la imagen I0 de I y que, por consiguiente, puede presentarse inmediatamente después de la descodificación de ésta, mientras que la imagen B3 de B, que se descodifica después de que la imagen B1 de B ha sido descodificada, es una imagen que se presenta después de la imagen B2 de B (que sigue a la imagen B1 de B) y que, por consiguiente, se presenta tras la espera de un período de presentación de una imagen, por ejemplo la imagen B2 de B, una vez que la imagen B1 de B ha sido descodificada.
En este caso, el número de imágenes en espera de ser presentadas en el momento del inicio de la descodificación de la imagen P8 de P es de sólo una (la imagen B3 de B).
El hecho de que los datos de imagen de las imágenes que no van a ser utilizadas como imágenes de referencia deban ser suprimidos inmediatamente después de que la presentación de dichas imágenes haya terminado no supone ningún problema. No obstante, no es necesario que el tiempo de supresión de los datos de imagen de estas imágenes sea justo después de que la presentación de estas imágenes haya terminado.
En dichos casos, los datos de imagen de las imágenes que no se utilizan como imágenes de referencia también se almacenan en la memoria después de que éstas hayan sido presentadas, y dichas imágenes cuyos datos de imagen se mantienen en la memoria de imágenes también se tratan como imágenes en espera de ser presentadas.
Por ejemplo, en el caso en el que el control de la memoria de imágenes se realiza de tal manera que los datos de imagen de una imagen que está almacenada en la memoria de imágenes pero que no se utiliza como imagen de referencia se suprimen de la memoria de imágenes una vez que ha expirado el tiempo de presentación de una imagen tras la presentación de la imagen, el número de imágenes en espera de ser presentadas al inicio de la descodificación de la imagen P8 de P es de dos (es decir, la imagen B2 de B y la imagen B3 de B).
Como se ha indicado anteriormente, las diversas imágenes descodificadas o codificadas se almacenan en la memoria de imágenes del aparato de descodificación o el aparato de codificación, mientras que, en el sistema de codificación H.264, actualmente no existen limitaciones en cuanto al número máximo de imágenes de referencia candidatas que se emplean en la codificación o descodificación por predicción interimagen (es decir, el número máximo de imágenes de referencia).
Por lo tanto, cuando se diseña un aparato de codificación o un aparato de descodificación según el sistema H.264, no puede establecerse el número máximo de imágenes descodificadas o codificadas que pueden almacenarse en la memoria de imágenes y, en consecuencia, no puede decidirse la capacidad del área de almacenamiento que debe instalarse en el aparato.
La presente invención pretende resolver los problemas mencionados y su objetivo es proporcionar un procedimiento de descodificación de imágenes en movimiento que permita evaluar correctamente si es posible o imposible descodificar una imagen en movimiento, así como utilizar de forma eficaz el área de memoria instalada en el aparato de descodificación, y diseñar de ese modo el área de memoria en un aparato de descodificación de conformidad con un procedimiento de codificación que no impone ninguna limitación a la capacidad de la memoria.
Exposición de la invención
Según la presente invención, se proporciona un procedimiento para descodificar una secuencia de código según la reivindicación 1, y un aparato para descodificar una secuencia de código según la reivindicación 3.
Según la presente invención, se proporcionan unos medios de almacenamiento de datos que contienen un programa para implementar un procedimiento de descodificación de una secuencia de código correspondiente a una imagen en movimiento, en los que el programa determina que el ordenador ejecute el procedimiento de descodificación de conformidad con el procedimiento de descodificación de imágenes en movimiento según cualquiera de las reivindicaciones 1 y 2. Por consiguiente, cuando se instala en un ordenador un programa para implementar un procedimiento de descodificación de una secuencia de código correspondiente a una imagen en movimiento, es posible manejar con eficacia el área de memoria de un aparato de descodificación, facilitando de ese modo el diseño del aparato.
Breve descripción de los dibujos
La Figura 1 es un diagrama de bloques que representa un aparato de codificación de imágenes en movimiento 10a según la primera forma de realización de la presente invención.
La Figura 2 es un diagrama de bloques que ilustra la estructura específica de una unidad de evaluación de la capacidad de codificación 108a comprendida en el aparato de codificación de imágenes en movimiento 10a según la primera forma de realización.
La Figura 3 es un diagrama de bloques que ilustra la estructura específica de una unidad de cálculo de número máximo de imágenes de referencia 109a comprendida en el aparato de codificación de imágenes en movimiento 10a según la primera forma de realización.
La Figura 4 es un diagrama de bloques que representa un aparato de codificación de imágenes en movimiento 10b según la segunda forma de realización de la presente invención.
La Figura 5 es un diagrama de bloques que ilustra la estructura específica de una unidad de evaluación de la capacidad de codificación 108b comprendida en el aparato de codificación de imágenes en movimiento 10b según la segunda forma de realización.
La Figura 6 es un diagrama de bloques que representa un aparato de codificación de imágenes en movimiento 10c según la tercera forma de realización de la presente invención.
La Figura 7 es un diagrama de bloques que ilustra la construcción específica de una unidad de evaluación de la capacidad de codificación 108c comprendida en el aparato de codificación de imágenes en movimiento 10c según la tercera forma de realización.
La Figura 8 es un diagrama de bloques que representa un aparato de codificación de imágenes en movimiento 10d según la cuarta forma de realización de la presente invención.
La Figura 9 es un diagrama de bloques que ilustra la estructura específica de una unidad de cálculo de número máximo de imágenes de referencia 109d comprendida en el aparato de codificación de imágenes en movimiento 10d según la cuarta forma de realización.
La Figura 10 es un diagrama de bloques que representa un aparato de descodificación de imágenes en movimiento 50a según la quinta forma de realización de la presente invención.
La Figura 11 es un diagrama de bloques que representa un aparato de descodificación de imágenes en movimiento 50b según la sexta forma de realización de la presente invención.
La Figura 12 es un diagrama de bloques que representa un aparato de descodificación de imágenes en movimiento 50c según la séptima forma de realización de la presente invención.
La Figura 13 es un diagrama de bloques que representa un aparato de descodificación de imágenes en movimiento 50d según la octava forma de realización de la presente invención.
Las Figuras 14 son unos diagramas que representan las estructuras de datos de los trenes de datos generados por el aparato de codificación de imágenes en movimiento según las formas de realización anteriores; representando las Figuras 14(a), 14(b) y 14(c) los trenes de bits Bsa, Bsb y Bsc generados por los aparatos de codificación de imágenes en movimiento 10a, 10b y 10c según la primera, la segunda y la tercera forma de realización, respectivamente.
La Figura 15 es un diagrama que representa una tabla T1 que define la correspondencia entre el identificador de nivel y el par de número máximo de píxeles intratrama y número máximo de píxeles de almacenamiento, que se emplea en el aparato de codificación de imágenes en movimiento 10a según la primera forma de realización.
Las Figura 16 son unos diagramas que representan tablas que se emplean en el aparato de codificación de imágenes en movimiento 10a según la primera forma de realización; representando la Figura 16(a) una tabla T1a que define la correspondencia entre el identificador de nivel y el número máximo de píxeles intratrama, y representando la Figura 16(b) una tabla T1b que define la correspondencia entre el identificador de nivel y el número máximo de píxeles de almacenamiento.
Las Figura 17 son unos diagramas que representan tablas que se emplean en la segunda forma de realización; representando la Figura 17(a) una tabla T2 que define la correspondencia entre el número de identificación y el par de coeficiente de cálculo de número de píxeles verticales y coeficiente de cálculo de número de píxeles horizontales, representando la Figura 17(b) una tabla T2a que define la correspondencia entre el número de identificación y el coeficiente de cálculo de número de píxeles horizontales, y representando la Figura 17(c) una tabla T2b que define la correspondencia entre el número de identificación y el coeficiente de cálculo de número de píxeles verticales.
Las Figuras 18 son unos diagramas que representan tablas que se emplean en la tercera forma de realización, representando la Figura 18(a) una tabla T3 que define la correspondencia entre el número de identificación y el par de número máximo de píxeles verticales y número máximo de píxeles horizontales, representando la Figura 18(b) una tabla T3a que define la correspondencia entre el número de identificación y el número máximo de píxeles horizontales, y representando la Figura 18(c) una tabla T3b que define la correspondencia entre el número de identificación y el número máximo de píxeles verticales.
Las Figuras 19 son unos diagramas que representan unos medios de almacenamiento de datos que contienen un programa para implementar el aparato de codificación de imágenes en movimiento o el aparato de descodificación de imágenes en movimiento según cualquiera de las formas de realización anteriores mediante un sistema informático (Figuras 19(a) y 19(b)), y el sistema informático (Figura 19(c)).
La Figura 20 es un diagrama que representa una aplicación del aparato de codificación de imágenes en movimiento y el aparato de descodificación de imágenes en movimiento según cualquiera de las formas de realización anteriores, y representa un sistema de provisión de contenidos 1100 que proporciona unos servicios de distribución de contenidos.
La Figura 21 es un diagrama que representa un teléfono móvil 1200 que utiliza el aparato de codificación de imágenes en movimiento y el aparato de descodificación de imágenes en movimiento según cualquiera de las reivindicaciones anteriores.
La Figura 22 es un diagrama de bloques que ilustra la estructura específica del teléfono portátil 1200 representado en la Figura 21.
La Figura 23 es un dibujo conceptual que representa un sistema de radiodifusión digital 1400 que utiliza el aparato de codificación de imágenes en movimiento o el aparato de descodificación de imágenes según cualquiera de las reivindicaciones anteriores.
Las Figuras 24 son unos diagramas que representan un procedimiento de codificación convencional, representando la Figura 24(a) el orden de codificación de los macrobloques de una imagen de destino de codificación, y representando la Figura 24(b) los macrobloques circundantes a los cuales se hace referencia en la codificación de un macrobloque de destino de codificación.
La Figura 25 es un diagrama que representa un procedimiento de codificación y un procedimiento de descodificación convencional y representa otras imágenes cuyos datos de imagen se almacenan en una memoria de imágenes en la codificación (o descodificación) de una imagen de destino.
Las Figuras 26 son unos diagramas que representan esquemáticamente el control para las imágenes en espera de ser presentadas realizado en los procedimientos de codificación y descodificación convencionales, representando la Figura 26(a) las imágenes a las cuales se hace referencia ([utilizada]) y las imágenes a las cuales no se hace referencia ([no utilizada]), y representando la Figura 26(b) la relación entre los tiempos de descodificación y los tiempos de codificación de cada imagen.
Mejor modo de poner en práctica la invención
A continuación, se describen las formas de realización de la presente invención.
Forma de realización 1
La Figura 1 es un diagrama de bloques que representa un aparato de codificación de imágenes en movimiento 10a según la primera forma de realización de la presente invención.
El aparato de codificación de imágenes en movimiento 10a según la primera forma de realización divide la pluralidad de imágenes que constituyen una imagen en movimiento en unas respectivas unidades de procesamiento de datos predeterminadas (bloques) y codifica los datos de imagen de cada imagen de cada bloque. Se supone, en este caso, que el bloque es un macrobloque que se compone de 16 píxeles verticales x 16 píxeles horizontales.
Más particularmente, el aparato de codificación de imágenes en movimiento 10a incluye una memoria de imágenes 101, en la cual se almacenan datos de entrada Id de una imagen en movimiento de entrada que se introduce de imagen en imagen, y se generan datos almacenados SId de bloque en bloque; un calculador de diferencia 113 que calcula la diferencia entre los datos de imagen SId de un bloque de destino de codificación, que se obtienen de la memoria de imágenes 101, y los datos de predicción Pd del bloque de destino, y genera datos de predicción residuales Dd del bloque de destino; y un codificador de predicción residual 102 que codifica mediante compresión los datos de imagen SId o los datos de predicción residual Dd del bloque de destino. En este caso, en la memoria de imágenes 101, se ejecuta un procedimiento para reordenar los datos de imagen de las imágenes que se introducen por orden de presentación, para disponerlos en el orden de codificación de las imágenes, basándose en la relación entre la imagen de destino y la imagen a la cual se hará referencia (es decir, la imagen de referencia) en la codificación por predicción. La memoria de imágenes 101 proporciona información que indica el tamaño de la imagen de entrada, es decir, la información del tamaño de la imagen de entrada Ipx, que se compone de la información del número de píxeles verticales Ihpx que indica el número (h) de píxeles verticales de la imagen de entrada, y la información del número de píxeles horizontales Iwpx que indica el número (w) de píxeles horizontales de la imagen de entrada.
El aparato de codificación de imágenes en movimiento 10a comprende un descodificador de predicción residual 104 que descodifica mediante descompresión los datos codificados Cd obtenidos del codificador de predicción residual 102, y suministra datos diferenciales del bloque de destino (en lo sucesivo, datos diferenciales descodificados) PDd; un sumador 114 que suma los datos diferenciales descodificados PDd del bloque de destino y los datos de predicción Pd del bloque de destino y genera datos de imagen del bloque de destino (en lo sucesivo, denominados "datos descodificados") Rd; y una memoria de imágenes 105, donde se almacenan los datos descodificados Rd, que suministra los datos descodificados almacenados Rd como datos CRd de una imagen candidata para ser imagen de referencia en la codificación del bloque de destino (es decir, la imagen de referencia candidata), de conformidad con una señal de designación de imagen CSpd.
El aparato de codificación de imágenes en movimiento 10a comprende una unidad de estimación de movimiento 106 que calcula un vector de movimiento MV para el bloque de destino, basándose en los datos de salida (es decir, los datos de imagen del bloque de destino SId) de la memoria de imágenes 101 y los datos de salida (es decir, los datos de una imagen de referencia candidata CRd) de la memoria de imágenes 105, y genera datos de predicción Pd para el bloque de destino basándose en el vector de movimiento calculado MV; y una unidad de almacenamiento de vectores de movimiento 107, donde se almacena el vector de movimiento MV del bloque de destino que ha sido calculado por la unidad de estimación de vectores de movimiento 106. La unidad de estimación de movimiento 106 efectúa la estimación del movimiento para calcular un vector de movimiento para el bloque de destino, haciendo referencia a una imagen óptima de una pluralidad de imágenes de referencia candidatas, y haciendo referencia también a los vectores de movimiento de los bloques procesados que están situados alrededor del bloque de destino. En este caso, la imagen óptima de la pluralidad de imágenes de referencia candidatas se elige basándose en la eficacia de codificación o una característica similar.
El aparato de codificación de imágenes en movimiento 10a comprende un conmutador selector 111 que selecciona los datos de salida SId de la memoria de imágenes 101 o los datos de salida Dd del calculador de diferencia 113 y genera unos datos seleccionados CEd, y un conmutador de conexión-desconexión 112, situado entre la unidad de estimación de vectores de movimiento 106 y el sumador 114. En este caso, el conmutador selector presenta dos terminales de entrada Ta1 y Ta2 y un terminal de salida Tb, conectándose el terminal de salida Tb a uno de los dos terminales de entrada Ta1 o Ta2, de conformidad con una señal de control de conmutación.
El aparato de codificación de imágenes en movimiento 10a según la primera forma de realización comprende un analizador de nivel 100a que suministra información que indica el número máximo de píxeles intratrama que pueden codificarse (Nfpx) (en lo sucesivo, información de número máximo de píxeles intratrama) Ifpx, e información que indica el número máximo de píxeles de almacenamiento que pueden almacenarse en la memoria de imágenes del aparato de descodificación (Nspx) (en lo sucesivo, información de número máximo de píxeles de almacenamiento) Ispx, basándose en una señal de identificador de nivel que indica un nivel de codificación, por ejemplo señal de nivel Lst, que es introducida mediante una operación del usuario. El analizador de nivel 100a contiene información de la tabla T1 representada en la Figura 15. La tabla T1 representa la correspondencia entre los valores del identificador de nivel y los números máximos de píxeles intratrama y los números máximos de píxeles de almacenamiento.
El aparato de codificación de imágenes en movimiento 10a comprende una unidad de evaluación, concretamente, una unidad de evaluación de la capacidad de codificación 108a, que determina si la codificación de la imagen de entrada es posible o no, basándose en la información de número máximo de píxeles intratrama Ifpx del analizador de nivel 100a y la información de tamaño de imagen de entrada Ipx de la memoria de imágenes 101, y genera una señal que indica el resultado de la evaluación por ejemplo señal de resultado de evaluación CSjd. El aparato de codificación de imágenes en movimiento 10a comprende un calculador, concretamente, un calculador de número máximo de imágenes de referencia 109a, que calcula el número de imágenes de referencia candidatas, es decir, el número máximo de imágenes de referencia Nrpn a las cuales se puede hacer referencia en la codificación por predicción interimagen, basándose en la información de número máximo de píxeles de almacenamiento Ispx y la información de tamaño de imagen de entrada Ipx, y genera información, concretamente, información de número máximo de imágenes de referencia Irpn, que indica el número Nrpn calculado.
El aparato de codificación de imágenes en movimiento 10a comprende asimismo un generador de trenes de bits 103 que realiza la codificación de longitud variable de los datos codificados de salida Cd del codificador de predicción residual 102, añade los códigos correspondientes al vector de movimiento MV, una señal de modalidad Ms y la señal de nivel Lst al tren de datos obtenido mediante la codificación de longitud variable y suministra el tren de bits obtenido Bsa.
El aparato de codificación de imágenes en movimiento 10a comprende asimismo una unidad de control 110 que controla las operaciones de los respectivos componentes del aparato de codificación de imágenes en movimiento 10a, de conformidad con las señales de control Sct1, Sct2, ..., Sctn, basándose en la señal de resultado de evaluación CSjd y los datos de imagen SId de la memoria de imágenes 101. La unidad de control 110 decide la modalidad de codificación de conformidad con los datos de imagen SId de la memoria de imágenes 101, y genera una señal de modalidad Ms que indica la modalidad seleccionada, y también controla los conmutadores 111 y 112 de conformidad con la modalidad de codificación elegida, mediante señales predeterminadas. La unidad de control 110 controla además las operaciones del codificador de predicción residual 102, el descodificador de predicción residual 104, el generador de trenes de bits 103, la unidad de estimación de vectores de movimiento 106 y similares, de conformidad con las señales de control Sct1, Sct2, ..., Sctn, según la señal de resultado de evaluación CSjd. Es decir, la unidad de control 110 controla el codificador de predicción residual 102, el descodificador de predicción residual 104, el generador de trenes de bits 103, la unidad de estimación de vectores de movimiento 106 y similares, para realizar la codificación de la imagen de entrada cuando la señal de resultado de evaluación CSjd indica que es posible codificar la imagen de entrada, y controla el codificador de predicción residual 102, el descodificador de predicción residual 104, el generador de trenes de bits 103 y la unidad de estimación de vectores de movimiento 106 para no realizar la codificación de la imagen de entrada cuando la señal de resultado de evaluación CSjd indica que es imposible codificar la imagen de entrada.
La Figura 14(a) representa la estructura de datos de un tren de bits Bsa correspondiente a una imagen de entrada.
El tren de bits Bsa se compone de un área de cabecera Ha que contiene información diversa de cabecera, y una parte de datos de secuencia Dsq que contiene datos codificados (un tren de bits correspondiente a los datos de imagen de cada imagen).
El área de cabecera Ha del tren de bits Bsa comprende un código H1 correspondiente a la señal de identificador de nivel, es decir, la señal de nivel Lst, como un tipo de información de cabecera. Además, la parte de datos de secuencia Dsp del tren de bits Bsa comprende una cabecera de secuencia Sh que indica el tamaño de la imagen de entrada, es decir, el denominado "número de píxeles verticales de la imagen de entrada" (h) y el denominado "número de píxeles horizontales de la imagen de entrada" (w).
\newpage
La Figura 2 es un diagrama que ilustra la estructura específica de la unidad de evaluación de la capacidad de codificación 108a.
La unidad de evaluación de la capacidad de codificación 108a comprende un multiplicador 206 que calcula el producto (Phw) del número de píxeles verticales de la imagen de entrada (h) y el número de píxeles horizontales de la imagen de entrada (w), basándose en la información de número de píxeles verticales de la imagen de entrada Ihpx y la información del número de píxeles horizontales de la imagen de entrada Iwpx, y genera una señal de multiplicación Shw que indica el resultado de la multiplicación; y un primer comparador 203 que compara el producto (Phw) y el número máximo de píxeles intratrama Nfpx, basándose en la señal de multiplicación Shw y la información de número máximo de píxeles intratrama Ifpx, y genera una primera señal de resultado de comparación Scm1 que indica el resultado de la comparación.
La unidad de evaluación de la capacidad de codificación 108a comprende un calculador, en particular, un calculador de número máximo de píxeles verticales/número máximo de píxeles horizontales 201 que calcula el número máximo de píxeles verticales (H) y el número máximo de píxeles horizontales (W) que pueden procesarse, basándose en la información de número de píxeles verticales de la imagen de entrada Ihpx y la información de número de píxeles horizontales de la imagen de entrada Iwpx, y genera la información Op3a y Op3b que indica los resultados de la operación; y un convertidor a múltiplos de 16 202 que realiza una operación de redondeo para redondear el número máximo de píxeles verticales (H) y el número máximo de píxeles horizontales (W) a múltiplos de 16, basándose en la información de resultado de la operación Op3a y Op3b del calculador 201, y genera información de redondeo Trnd1 que indica el múltiplo de 16 que se utiliza para redondear el número máximo de píxeles verticales (H) (round1(H)) e información de redondeo Trnd2 que indica el múltiplo de 16 que se utiliza para redondear el número máximo de píxeles horizontales (W) (round2(H)).
La unidad de evaluación de la capacidad de codificación 108a comprende un segundo comparador 204 que realiza la comparación entre el número de píxeles verticales de la imagen de entrada (h) y el número máximo de píxeles verticales (H) (comparación de número de píxeles verticales) y la comparación entre el número de píxeles horizontales de la imagen de entrada (w) y el número máximo de píxeles horizontales (W) (comparación de número de píxeles horizontales), basándose en la información de número de píxeles Ihpx e Iwpx y la información de redondeo Trnd1 y Trnd2, y genera una señal de resultado de comparación Scm2a que indica el resultado de la comparación de número de píxeles verticales y una señal de resultado de comparación Scm2b que indica el resultado de la comparación de número de píxeles horizontales; y una unidad AND 205 que aplica una operación AND a las tres señales de resultado de comparación Scm1, Scm2a y Scm2b y genera la señal de resultado de operación CSjd que indica el resultado de la operación AND.
La Figura 3 es un diagrama que ilustra la estructura específica del calculador de número máximo de imágenes de referencia 109a.
El calculador de número máximo de imágenes de referencia 109a incluye un multiplicador 401 que calcula el número total de píxeles de una trama (Phw = hxw) correspondiente al tamaño de la imagen de entrada, basándose en la información de número de píxeles verticales de la imagen de entrada Ihpx y la información de número de píxeles horizontales de la imagen de entrada Iwpx, y genera una salida de operación Ohw que indica el resultado del cálculo; y un divisor 402 que divide el número máximo de píxeles de almacenamiento (Nspx) por el número total de píxeles de una trama (hxw), basándose en la salida de operación Ohw y la información de número máximo de píxeles de almacenamiento Ispx, y genera una señal de salida de operación Dpm que indica el resultado de la división (Nspx/(hxw)). El calculador de número máximo de imágenes de referencia 109a comprende además una unidad de almacenamiento de constantes 404 donde se conserva una señal de valor numérico Sn1 que indica el número de imágenes que se van a codificar, por ejemplo una imagen, y genera la señal de valor numérico Sn1; y un restador 403 que genera una señal de salida de resta Sd1 que indica el valor obtenido restando 1 del resultado de la división (Nspx/(hxw), es decir, calculando Nspx/(hxw) -1.
A continuación, se describirá el funcionamiento.
En el aparato de codificación de imágenes en movimiento 10a según la primera forma de realización, antes de realizar la codificación de la imagen de entrada, se selecciona el nivel deseado de entre una pluralidad de niveles de codificación que se establecen previamente y se emplean como condiciones de codificación, basándose en la estructura de la memoria o similar del aparato de codificación de imágenes en movimiento 10a, y la estructura de la memoria o similar del aparato de descodificación de imágenes en movimiento que recibe los datos codificados. Más particularmente, el usuario selecciona el nivel de codificación haciendo referencia a la tabla T1 y, mediante una operación, introduce la señal de nivel Lst que indica el identificador de nivel correspondiente al nivel seleccionado en el aparato de codificación de imágenes en movimiento 10a.
En este caso, para cada nivel de codificación, se establece un número máximo de píxeles intratrama (Nfpx) y un número máximo de píxeles de almacenamiento particular (Nspx). La tabla T1 de la Figura 15 representa ocho niveles de codificación, que corresponden a los valores (1) a (8) del identificador de nivel, respectivamente. Además, los valores (1) a (8) del identificador de nivel están correlacionados con valores particulares del número máximo de píxeles intratrama (Nfpx) y valores particulares del número máximo de píxeles de almacenamiento (Nspx), respectivamente.
El número máximo de píxeles intratrama (Nfpx) indica el tamaño de una imagen que constituye la imagen de entrada, es decir, la imagen en movimiento de entrada, que puede codificarse mediante el aparato de codificación de imágenes en movimiento 10a y puede descodificarse mediante un aparato de descodificación de imágenes en movimiento que recibe los datos codificados, y éste es el valor máximo que posiblemente adoptará el producto del número de píxeles verticales (h) y el número de píxeles horizontales (w) de la imagen. Más particularmente, el número máximo de píxeles intratrama indica el valor máximo del número de píxeles por imagen.
El número máximo de píxeles de almacenamiento (Nspx) indica el número de píxeles correspondientes a la cantidad de datos de imagen que pueden almacenarse en la memoria de imágenes del aparato de descodificación asociado al aparato de codificación de imágenes en movimiento 10a. Dicho de otro modo, el número máximo de píxeles de almacenamiento (Nspx) es el número de píxeles equivalente a la cantidad máxima de datos de imagen que pueden almacenarse en la memoria de imágenes. Por ejemplo, los datos de imágenes tales como las imágenes de referencia candidatas, las imágenes descodificadas en espera de ser presentadas y la imagen que va a descodificarse se almacenan en la memoria de imágenes del aparato de descodificación de imágenes en movimiento que descodifica un tren de bits del aparato de codificación de imágenes en movimiento 10, y el número máximo de píxeles de almacenamiento es igual al número total de píxeles de estas imágenes.
En este aparato de codificación de imágenes en movimiento 10a, cuando la selección del nivel de codificación es llevada a cabo por medio de una operación del usuario, la señal de selección de nivel Lst se introduce en el analizador de nivel 100a. A continuación, el analizador de nivel 100a consulta la tabla T1 (véase la Figura 15) y genera la información de número máximo de píxeles intratrama Ifpx y la información de número máximo de píxeles de almacenamiento Ispx, de forma adaptativa, con respecto al nivel de codificación indicado por la señal de nivel Lst que es seleccionado por el usuario. La información de número máximo de píxeles intratrama Ifpx se introduce en la unidad de evaluación de la capacidad de codificación 108a, y la información de número máximo de píxeles de almacenamiento Ispx se introduce en el calculador de número máximo de imágenes de referencia 109a.
Cuando los datos de imagen Id de una imagen en movimiento, es decir, la imagen de entrada, se introducen en la memoria de imágenes 101 en unidades de imagen según los tiempos de presentación, los datos de imagen correspondientes a cada imagen se almacenan en secuencia en la memoria de imágenes 101, y los datos de imagen almacenados SId se suministran desde la memoria de imágenes 101 en unidades de bloques (los macrobloques que constituyen la imagen) en el orden de codificación. A continuación, la información que indica el tamaño de la imagen de entrada, es decir, la información de tamaño de la imagen de entrada Ipx se transmite de la memoria de imágenes 101 a la unidad de evaluación de la capacidad de codificación 108a y el calculador de número máximo de imágenes de referencia 109a.
En este caso, por ejemplo, el macrobloque es un bloque, en el que el denominado número de píxeles horizontales es 16 y el denominado "número de píxeles verticales" es 16 (es decir, es un bloque de 16x16 píxeles). A continuación, el procedimiento de codificación del aparato de codificación de imágenes se realiza en unidades de bloques. Como se ha descrito anteriormente, la información de tamaño de la imagen de entrada Ipx se compone de la información Ihpx que indica el número de píxeles verticales (h) de la imagen de entrada y la información Iwpx que indica el número de píxeles horizontales (w) de la imagen de entrada.
A continuación, la unidad de evaluación de la capacidad de codificación 108 determina si la imagen de entrada puede codificarse, basándose en la información de número de píxeles verticales Ihpx y la información de número de píxeles horizontales Iwpx de la imagen de entrada, comprendida en la información de tamaño de imagen de entrada Ipx que se obtiene de la memoria de imágenes 101, y la información de número máximo de píxeles intratrama Ifpx obtenida del analizador de nivel 100a, y transmite una señal que indica el resultado de la evaluación, es decir la señal de resultado de evaluación CSjd, a la unidad de control 110.
La unidad de control 110 controla las respectivas unidades del aparato de codificación de imágenes en movimiento 10a para realizar la codificación de los datos de imagen SId de la memoria de imágenes 101 de conformidad con las señales de control Sct1, Sct2, ..., Sctn, cuando la señal de resultado de evaluación CSjd indica que la imagen de entrada puede codificarse, mientras que controla las respectivas unidades del aparato de codificación de imágenes en movimiento 10a para no realizar la codificación de los datos de imagen SId de la memoria de imágenes 101 de conformidad con las señales de control Sct1, Sct2, ..., Sctn, cuando la señal de resultado de evaluación CSjd indica que es imposible codificar la imagen de entrada.
Además, la unidad de control 110 conmuta entre una modalidad para realizar la codificación por predicción interimagen de los datos de imagen y una modalidad para realizar la codificación por predicción intra-imagen de los datos de imagen, basándose en los datos de imagen SId de la memoria de imágenes 101, cuando la señal de resultado de evaluación CSjd indica que la imagen de entrada puede codificarse. Cuando la unidad de control 110 selecciona la modalidad para realizar la codificación por predicción interimagen de los datos de imagen, controla el conmutador 111 de tal forma que el terminal de salida Tb se conecta al segundo terminal de entrada Ta2, y controla el conmutador 112 de tal forma que éste pasa al estado de conducción, por medio de una señal de control predeterminada. Por otro lado, cuando la unidad de control 110 selecciona la modalidad para realizar la codificación por predicción intra-imagen de los datos de imagen, la unidad de control 110 controla el conmutador 111 de tal forma que el terminal de salida Tb se conecta al primer terminal de entrada Ta1, y controla el conmutador 112 de tal forma que éste abandona el estado de conducción, por medio de una señal de control predeterminada.
El calculador de número máximo de imágenes de referencia 109a calcula el número de imágenes de referencia candidatas a las cuales se puede hacer referencia en la codificación por predicción interimagen (en lo sucesivo, denominado "número máximo de imágenes de referencia") (Nrpn), basándose en la información de número máximo de píxeles de almacenamiento Ispx, la información de número de píxeles verticales de la imagen de entrada Ihpx y la información de número de píxeles horizontales de la imagen de entrada Iwpx, y genera información que indica el número calculado (Nrpn), es decir, información de número máximo de imágenes de referencia Irpn.
A continuación, se describe el funcionamiento en el caso en el que se selecciona la codificación por predicción interimagen.
Los datos de imagen SId de un macrobloque que se han leído de la memoria de imágenes 101 se introducen en la unidad de estimación de vectores de movimiento 106. A continuación, los datos de imagen descodificados Rd correspondientes a las imágenes codificadas se almacenan en la memoria de imágenes 105 como datos de imagen de las imágenes de referencia candidatas, y se designa como imagen de referencia la imagen deseada de las imágenes de referencia candidatas de la memoria de imágenes 105, mediante la señal de designación de imagen CSpd de la unidad de estimación de vectores de movimiento 106. La unidad de estimación de vectores en movimiento 106 emplea los datos de imagen de la imagen de referencia candidata designada como datos de imagen CRd de la imagen de referencia, para realizar un procedimiento de cálculo de un vector de movimiento MV para el macrobloque de destino de codificación. Los datos de imagen de la imagen de referencia correspondientes al macrobloque de destino, que se selecciona mediante el vector de movimiento MV obtenido, se introducen en el calculador de diferencia 113 como datos de predicción Pd para el macrobloque de destino.
El calculador de diferencia 113 calcula la diferencia entre los datos de imagen SId del macrobloque de destino y los datos de predicción Pd para generar datos de imagen de predicción residual Dd y, a continuación, el codificador de predicción residual 102 codifica los datos de imagen de predicción residual Dd y genera datos de predicción residual codificados Cd.
A continuación, el descodificador de predicción residual 104 descodifica los datos de predicción residual codificados Cd y transmite, al sumador 114, los datos de imagen de predicción residual PDd obtenidos mediante la descodificación. El sumador 114 suma los datos de imagen de predicción residual PDd del descodificador de predicción residual 104 y los datos de predicción Pd de la unidad de estimación de vectores de movimiento 106, y los datos de imagen Rd obtenidos mediante la suma se almacenan en la memoria de imágenes 105.
El generador de trenes de bits 103 genera un tren de bits correspondiente a los datos de predicción residual codificados Cd que se obtienen del codificador de predicción residual 102, y genera el tren de bits generado junto con un código correspondiente al vector de movimiento MV de la unidad de estimación de vectores de movimiento 106, un código correspondiente a una señal de modalidad Ms de la unidad de control 110 y un código correspondiente a la señal de nivel Lst, como un tren de bits Bsa. Tal como se representa en la Figura 14(a), el área de cabecera Ha del tren de bits Bsa comprende el código H1 correspondiente a la señal de nivel Lst, y la parte de datos de secuencia Dsp comprende la información de imagen generada mediante la codificación en unidades de los macrobloques, el código correspondiente al vector de movimiento y el código correspondiente a la señal de modalidad, junto con la cabecera de secuencia Sh. La cabecera de secuencia Sh comprende un código correspondiente a la información Ipx que indica el número de píxeles verticales (h) y el número de píxeles horizontales (2) de la imagen de entrada.
A continuación, se describe brevemente el funcionamiento en el caso en el que se selecciona la codificación por predicción intra-imagen.
En este caso, los datos de imagen SId obtenidos de la memoria de imágenes 101 son introducidos en el codificador de predicción residual 102 a través del conmutador 111 y, a continuación, son codificados por el codificador 102 para ser introducidos en el generador de trenes de bits 103.
El generador de trenes de bits 103 genera un tren de bits correspondiente a los datos codificados Cd obtenidos del codificador 102, y suministra el tren de bits generado junto con el código correspondiente a la señal de modalidad Ms de la unidad de control 110 y el código correspondiente a la señal de nivel Lst, como un tren de bits Bsa (véase la Figura 14(a)).
El descodificador de predicción residual 104 descodifica los datos codificados Cd obtenidos del codificador de predicción residual 102 y almacena los datos de imagen de predicción residual PDd obtenidos mediante la descodificación en la memoria de imágenes 105 a través del sumador 114, tal cual, como datos de imagen Rd.
A continuación, se describe una operación particular de la unidad de evaluación de la capacidad de codificación 108 del aparato de codificación de imágenes en movimiento 10a, haciendo referencia a la Figura 2.
La unidad de evaluación de la capacidad de codificación 108a del aparato de codificación de imágenes en movimiento 10a según la primera forma de realización evalúa la capacidad de codificación de una imagen de entrada según las siguientes fórmulas condicionales: (fórmula 1), (fórmula 2a), (fórmula 2b), (fórmula 3a) y (fórmula 3b). Las fórmulas condicionales: (fórmula 1), (fórmula 2a) y (fórmula 2b) son definidas en la reivindicación 3, y las fórmulas condicionales: (fórmula 3a) y (fórmula 3b) son definidas en la reivindicación 7.
1
En este caso, Nfpx designa el número máximo de píxeles intratrama, h designa el número de píxeles verticales de la imagen de destino de codificación, w designa el número de píxeles horizontales de la imagen de destino, H designa el número máximo de píxeles verticales de la imagen de entrada que pueden codificarse mediante el aparato de codificación de imágenes en movimiento 10a, W designa el número máximo de píxeles horizontales de la imagen de entrada que pueden codificarse mediante el aparato de codificación de imágenes en movimiento 10a y N designa un número natural arbitrario. Además, round1() designa el resultado de una operación de redondeo del valor del argumento entre paréntesis a un múltiplo del número de píxeles verticales de un macrobloque, es decir, la unidad de codificación, round2() designa el resultado de la operación de redondeo del valor del argumento entre paréntesis a un múltiplo del número de píxeles horizontales del macrobloque, es decir, la unidad de codificación, y sqrt() designa la raíz cuadrada del argumento entre paréntesis.
Inicialmente, la unidad de evaluación de la capacidad de codificación 108a realiza la operación indicada por la (fórmula 1), basándose en la información de número de píxeles verticales Ihpx y la información de número de píxeles horizontales Iwps de la imagen de entrada contenida dentro de la información de tamaño de imagen de entrada Ipx que se obtiene de la memoria de imágenes 101. Más particularmente, la multiplicación para obtener el producto (hxw) del número de píxeles verticales (h) y el número de píxeles horizontales (w) de la imagen de entrada es realizada por el multiplicador 206, y la comparación entre el resultado de la multiplicación (hxw) y el número máximo de píxeles intratrama (Nfpx) es realizada por el primer comparador 203, basándose en la señal Shw que indica el resultado de la multiplicación y la información de número máximo de píxeles intratrama Ifpx. La señal de resultado de comparación Scm1 que indica el resultado de la comparación se transmite del primer comparador 203 a la unidad AND 205.
A continuación, en la unidad de evaluación de la capacidad de codificación 108a, el calculador de número máximo de píxeles verticales/número máximo de píxeles horizontales 201 calcula el número máximo de píxeles verticales (H) y el número máximo de píxeles horizontales (W) indicados por la (fórmula 3a) y la (fórmula 3b), basándose en la información de número de píxeles verticales Ihpx y la información de número de píxeles horizontales Iwpx de la imagen de entrada.
En este caso, la (fórmula 3a) y la (fórmula 3b) indican que el número máximo de píxeles verticales (H) y el número máximo de píxeles horizontales (W) son ambos la raíz cuadrada positiva de un valor que se obtiene multiplicando por N el producto del número de píxeles verticales (h) y el número de píxeles horizontales (w) de la imagen de entrada. Por ejemplo, cuando N=8, la (fórmula 3a) indica que el número máximo de píxeles verticales (H) se elige de tal forma que la razón entre el número de píxeles verticales y el número de píxeles horizontales es inferior a 8:1, y la (fórmula 3b) indica que el número máximo de píxeles horizontales (W) se selecciona de tal forma que la razón entre el número de píxeles verticales y el número de píxeles horizontales es inferior a 1:8.
Las señales de resultado de operación Op3a y Op3b que indican el número máximo de píxeles verticales (H) y el número máximo de píxeles horizontales (W) que son calculados por el calculador de número máximo de píxeles verticales/número máximo de píxeles horizontales 201 se introducen en el convertidor a múltiplos de 16 202, y el convertidor a múltiplos de 16 202 redondea el número máximo de píxeles verticales (H) y el número máximo de píxeles horizontales (W) a un múltiplo de 16, respectivamente, mediante una operación tal como una omisión, una elevación o un semiajuste. El convertidor a múltiplos de 16 202 transmite información de operación de redondeo Trnd1, que indica un valor, es decir round1(H), que se obtiene redondeando el número máximo de píxeles verticales (H) hasta un múltiplo de 16, e información de operación de redondeo Trnd2, que indica un valor (round2(H)) que se obtiene redondeando el número máximo de píxeles horizontales (W) a un múltiplo de 16, al segundo comparador 204. Además, el segundo comparador 204 realiza la comparación entre el número de píxeles verticales de la imagen de entrada (h) y el número máximo de píxeles verticales (H) (en lo sucesivo, denominada "comparación de número de píxeles verticales") y la comparación entre el número de píxeles horizontales de la imagen de entrada (w) y el número máximo de píxeles horizontales (W) (en lo sucesivo, denominada "comparación de número de píxeles horizontales"), basándose en la información de número de píxeles Ihpx e Iwpx y la información de operación de redondeo Trnd1 y Trnd2, y transmite la señal de resultado de comparación Scm2a, que indica el resultado de la comparación de número de píxeles verticales, y la señal de resultado de comparación Scm2b, que indica el resultado de la comparación de número de píxeles horizontales, a la unidad AND 205.
\newpage
En esta primera forma de realización, la operación de redondeo para el número máximo de píxeles verticales (H) y el número máximo de píxeles horizontales (W) realizada por el convertidor a múltiplos de 16 202 es un procedimiento de redondeo de estos números de píxeles a múltiplos de 16. No obstante, el valor "16" de la operación de redondeo corresponde al número de píxeles que constituyen uno de los lados de un macrobloque y que se considera la unidad de codificación, y a continuación cuando el número de píxeles que constituyen un lado del macrobloque no es 16, se realiza una operación de redondeo que redondea el número máximo de píxeles verticales y el número máximo de píxeles horizontales a múltiplos de un valor que corresponde al número de píxeles que constituyen un lado del macrobloque, que es un valor distinto a 16. Cuando la operación de redondeo redondea el número máximo de píxeles verticales y el número máximo de píxeles horizontales a múltiplos de un valor que corresponde al número de píxeles que constituyen un lado del macrobloque, es decir, un valor distinto a 16, el número de macrobloques de una trama correspondiente a una imagen de entrada que puede codificarse, o el número de macrobloques en la dirección horizontal o vertical con respecto a la trama, se decide de forma exclusiva, siendo entonces posible correlacionar con eficacia los datos de imagen de la memoria de imágenes o similar.
A continuación, la unidad AND 205 aplica una operación AND a la señal de resultado de comparación Scm1 generada por el primer comparador 203 y las señales de resultado de comparación Scm2a y Scm2b generadas por el segundo comparador 204, y genera una señal (una señal de resultado de evaluación CSjd) que indica el resultado final de la evaluación de la capacidad de codificación.
A continuación, se describe una operación específica del calculador de número máximo de imágenes de referencia 109a del aparato de codificación de imágenes en movimiento 10a, con referencia a la Figura 3.
El calculador de número máximo de imágenes de referencia 109a del aparato de codificación de imágenes en movimiento 10a según la primera forma de realización calcula el número máximo de imágenes de referencia candidatas que se van a emplear en la codificación por predicción interimagen, basándose en una operación representada por la (fórmula 4) siguiente. En este caso, la (fórmula 4) se define en la reivindicación 5.
2
En la fórmula anterior, h designa el número de píxeles verticales de la imagen de entrada (es decir, la imagen de destino de codificación), w designa el número de píxeles horizontales de la imagen de entrada (es decir, la imagen de destino de codificación), Nrpn denota el número máximo de imágenes de referencia y Nspx denota el número máximo de píxeles de almacenamiento. En la primera forma de realización, el número máximo de píxeles de almacenamiento Nspx es el valor máximo del número total de píxeles de las imágenes de referencia y la imagen de destino de descodificación, cuyos datos de imagen se almacenan en la memoria de imágenes del aparato de descodificación de imágenes en movimiento que descodifica el tren de bits Bsa obtenido del aparato de codificación de imágenes en movimiento 10a.
El calculador de número máximo de imágenes de referencia 109a calcula el número total de píxeles (hxw) de una trama, como el tamaño de la imagen de entrada, basándose en la información del número de píxeles verticales de la imagen de entrada Ihpx y la información de número de píxeles horizontales de la imagen de entrada Iwpx. Es decir, el multiplicador 401 multiplica el número de píxeles verticales de la imagen de entrada (h), que es indicado en la información de número de píxeles verticales de la imagen de entrada Ihpx, por el número de píxeles horizontales (w) indicado en la información de número de píxeles horizontales de la imagen de entrada Iwpx, y genera una salida de operación Ohw que indica el resultado de la multiplicación (hxw).
Además, el divisor 402 divide el número máximo de píxeles de almacenamiento (Nspx) por el resultado de la multiplicación (hxw), basándose en la salida de operación Ohw del multiplicador 401 y la información de número máximo de píxeles de almacenamiento Ispx del analizador de nivel 100a, y genera una señal de salida de operación Dpm que indica el resultado de la división (Nspx/(hxw)).
El restador 403 resta 1 del resultado de la división (Nspx/(hxw)), basándose en la señal de salida de operación Dpm del divisor 402 y la información de valor numérico Sn1 de la unidad de almacenamiento de constantes 404, y genera una señal de salida de resta Sd1 que indica el resultado de la resta (Nspx/(hxw) -1).
La razón por la cual el restador 403 resta 1 del resultado de la división (Nspx/(hxw) deriva de la necesidad de almacenar los datos de imagen descodificados de la imagen que se va a descodificar en la memoria de imágenes del aparato de descodificación, además de los datos de imagen de las imágenes de referencia candidatas que se emplean en la codificación por predicción interimagen en el aparato de descodificación.
Tal como se ha descrito anteriormente, el aparato de codificación de imágenes en movimiento 10a según la primera forma de realización comprende el analizador de nivel 100a que decide el número máximo de píxeles intratrama (Nfpx) que pueden codificarse y el número máximo de píxeles de almacenamiento (Nspx) que pueden almacenarse en la memoria de imágenes del aparato de descodificación, basándose en la señal de nivel Lst que indica el nivel de codificación que es designado por el usuario, determinando de ese modo si la imagen de entrada puede ser codificada o no, basándose en el número máximo de píxeles intratrama (Nfpx) y el tamaño de la imagen de entrada, es decir, el número de píxeles verticales Nhpx y el número de píxeles horizontales Nwpx, y calculando el número de imágenes de referencia candidatas, es decir, el número máximo de imágenes de referencia Nrpn a las cuales puede hacerse referencia en la codificación por predicción interimagen. Por consiguiente, un aparato de descodificación que recibe un tren de bits del aparato de codificación de imágenes en movimiento 10a siempre puede descodificar de forma satisfactoria el tren de bits y realizar, pues, la descodificación por predicción interimagen correspondiente a la codificación por predicción interimagen de la parte de codificación. En consecuencia, es posible diseñar áreas de memoria en el aparato de codificación, así como en el aparato de descodificación, que se ajustan a un procedimiento de codificación que no está sujeto a ninguna restricción de la capacidad del área de memoria.
En la primera forma de realización, como tabla para definir la correspondencia entre la pluralidad de niveles de códigos, es decir, los valores del identificador de nivel, y el número máximo de píxeles intratrama y el número máximo de píxeles de almacenamiento, se emplea la tabla T1 en la que los niveles de codificación, es decir, los valores del identificador de nivel, están correlacionados con los pares de número máximo de píxeles intratrama y número máximo de píxeles de almacenamiento (véase la Figura 15). No obstante, es posible emplear una tabla T1a en la que los valores del identificador de nivel están correlacionados con los números máximos de píxeles intratrama (Figura 16(a)) y una tabla T1b en la que los valores del identificador de nivel están correlacionados con los números máximos de píxeles de almacenamiento (Figura 16(b)).
Además, en esta primera forma de realización, la decisión del nivel de codificación (es decir, el valor del identificador de nivel) tomada por el usuario tiene lugar haciendo referencia a la Tabla T1 representada en la Figura 15, aunque la decisión del nivel de codificación tomada por el usuario puede tener lugar utilizando la (fórmula 5) siguiente, en lugar de la tabla T1 representada en la Figura 15.
3
En la fórmula anterior, transA() indica una operación de asignación de un valor del identificador de nivel, utilizando el número máximo de píxeles intratrama y el número máximo de píxeles de almacenamiento como argumentos. Según la (fórmula 5), cuando el usuario designa el número máximo de píxeles intratrama y el número máximo de píxeles de almacenamiento de la imagen de entrada que va a ser codificada mediante el aparato de codificación de imágenes en movimiento 10a, se decide el valor correspondiente del identificador de nivel.
Asimismo, pueden emplearse la (fórmula 6a) y la (fórmula 6b) en lugar de la tabla T1a que indica la correspondencia entre el valor del identificador de nivel y el número máximo de píxeles intratrama (Figura 16(a)), y la tabla T1b que indica la correspondencia entre el valor del identificador de nivel y el número máximo de píxeles de almacenamiento (Figura 16(b)).
4
\vskip1.000000\baselineskip
\vskip1.000000\baselineskip
5
En las fórmulas anteriores, transAa() indica una operación de asignación de un valor al identificador de nivel, utilizando el número máximo de píxeles intratrama como argumento. Según la (fórmula 6a), cuando el usuario designa el número máximo de píxeles intratrama de la imagen de entrada que pueden ser codificados por el aparato de codificación de imágenes en movimiento, se decide el correspondiente valor del identificador de nivel.
Además, transAb() indica una operación de asignación de un valor al identificador de nivel, utilizando el número máximo de píxeles de almacenamiento como argumento. Según la (fórmula 6b), cuando el usuario designa el número máximo de píxeles de almacenamiento de la imagen de entrada que pueden ser codificados por el aparato de codificación de imágenes en movimiento, se decide el correspondiente valor del identificador de nivel.
Según el aparato de codificación de imágenes en movimiento de la primera forma de realización, el número máximo de píxeles de almacenamiento es el número total de píxeles de las imágenes, correspondiente a la cantidad más alta de datos de imagen que pueden almacenarse en la memoria de imágenes del aparato de descodificación que recibe un tren de bits. No obstante, en lugar del número máximo de píxeles de almacenamiento, puede emplearse la propia capacidad de la memoria que requiere la memoria de imágenes del aparato de descodificación.
En la primera forma de realización, el número máximo de píxeles de almacenamiento Nspx es el valor máximo del número total de píxeles de todas las imágenes de almacenamiento cuyos datos de imagen están almacenados en la memoria de imágenes del aparato de descodificación de imágenes en movimiento que descodifica el tren de bits que se obtiene del aparato de codificación de imágenes en movimiento 10a. La descripción toma como ejemplo el caso en el que las imágenes de referencia y la imagen de destino de descodificación son las imágenes de almacenamiento, pero el número máximo de píxeles de almacenamiento puede definirse de tal forma que no comprenda el número de píxeles de la imagen de destino de descodificación.
En este caso, se emplea la (fórmula 7a) siguiente en lugar de la (fórmula 4) anterior.
6
En la fórmula anterior, h designa el número de píxeles verticales de la imagen de destino de codificación, w denota el número de píxeles horizontales de la imagen de destino, Nrpn designa el número máximo de imágenes de referencia y Nspx denota el número máximo de píxeles almacenados.
En el calculador de número máximo de imágenes de referencia 109a representado en la Figura 3, el número máximo de imágenes de referencia se decide sin ejecutar el procedimiento de restar 1 al resultado de la división (Nspx/(hxw)).
Forma de realización 2
La Figura 4 es un diagrama de bloques que representa un aparato de codificación de imágenes 10b según una segunda forma de realización de la presente invención.
El aparato de codificación de imágenes en movimiento 10b según la segunda forma de realización presenta, en lugar del analizador de nivel 100a y la unidad de evaluación de la capacidad de codificación 108a del aparato de codificación de imágenes en movimiento 10a de la primera forma de realización, un analizador de nivel 100b que genera información de coeficiente de cálculo de número de píxeles \alphapx, así como información de número máximo de píxeles intratrama Ifpx y de número máximo de píxeles de almacenamiento Ispx, basándose en la señal de nivel Lst y la señal de número de identificación Cid introducidas; y una unidad de evaluación de la capacidad de codificación 108b que determina si la imagen de entrada puede codificarse o no basándose en la información de número máximo de píxeles intratrama Ifpx, la información de coeficiente de cálculo de número de píxeles \alphapx y la información de tamaño de imagen de entrada Ipx. En este caso, el número de identificación Cid indica el valor del número de identificación decidido bajo control del usuario, y este número de identificación se emplea para determinar un valor específico del coeficiente de cálculo de número de píxeles como una condición de codificación adicional. El analizador de nivel 100b comprende información de la tabla T1 representada en la Figura 15 y la Tabla T2 representada en la Figura 17(a). La tabla T1 representa la correspondencia entre el valor del identificador de nivel y el número máximo de píxeles intratrama y el número máximo de píxeles de almacenamiento. La tabla T2 representa la correspondencia entre el valor del número de identificación y el coeficiente de cálculo de número de píxeles verticales (N\alphahpx) y el coeficiente de cálculo de número píxeles horizontales (N\alphawpx). Además, la información de coeficiente de cálculo de número de píxeles \alphapx se compone de información que indica el coeficiente de cálculo de número de píxeles verticales (N\alphahpx) (en lo sucesivo, información de coeficiente de cálculo de número de píxeles verticales) \alphahpx e información que indica el coeficiente de cálculo de número de píxeles horizontales (N\alphawps) (en lo sucesivo, información de coeficiente de cálculo de número de píxeles horizontales) \alphawpx. El generador de trenes de bits 103 del aparato de codificación de imágenes en movimiento 10b somete los datos de salida, es decir, los datos codificados Cd de la unidad de codificación de predicción residual 102, a codificación de longitud variable y genera un tren de bits Bsb que se obtiene añadiendo los códigos correspondientes al vector de movimiento MV, la señal de modalidad Ms, la señal de nivel Lst y la señal de número de identificación Cid, al tren de bits obtenido mediante la codificación de longitud variable.
Las estructuras de los componentes excluido el aparato de codificación de imágenes en movimiento 10b según la segunda forma de realización son iguales a las de los componentes del aparato de codificación de imágenes en movimiento 10a según la primera forma de realización.
En la Figura 14(b), se representa la estructura de datos de un tren de bits Bsb correspondiente a una imagen de entrada.
El tren de bits Bsb se compone de un área de cabecera Hb que contiene diversos tipos de información de cabecera, y una parte de datos de secuencia Dsq que contiene datos codificados, es decir, un tren de bits correspondiente a los datos de imagen de cada imagen.
El área de cabecera Hb del tren de bits Bsb comprende un código H1 correspondiente a la señal del identificador de nivel, es decir la señal de nivel Lst, y un código H2 que corresponde a la señal de número de identificación Cid, como información de cabecera. Además, la parte de datos de secuencia Dsq del tren de bits Bsb comprende una cabecera de secuencia Sh que indica el tamaño de la imagen de entrada, es decir, el número de píxeles verticales de la imagen de entrada (h) y el número de píxeles horizontales de la imagen de entrada (w). Más particularmente, el código H2 se obtiene codificando la señal de número de identificación Cid que indica el valor del número de identificación para identificar el coeficiente de cálculo del número de píxeles verticales (N\alphahpx) y el coeficiente de cálculo de número de píxeles horizontales (N\alphawpx), como se representa en la Figura 17(a).
La Figura 5 es un diagrama que ilustra la estructura específica de la unidad de evaluación de la capacidad de codificación 108b.
Esta unidad de evaluación de la capacidad de codificación 108b presenta, en lugar del calculador de número máximo de píxeles verticales/número máximo de píxeles horizontales 201 de la unidad de evaluación de la capacidad de codificación 108a según la primera forma de realización, un calculador (concretamente, un calculador de número máximo de píxeles verticales/número máximo de píxeles horizontales 301) que calcula el número máximo de píxeles verticales (H) y el número máximo de píxeles horizontales (W) que pueden procesarse, basándose en la información de número máximo de píxeles intratrama Ifpx, la información de coeficiente de cálculo de número de píxeles verticales \alphahpx y la información de coeficiente de cálculo de número de píxeles horizontales \alphawpx, y genera información Op3a y Op3b que indica los resultados del cálculo. Por consiguiente, el multiplicador 306, el primer comparador 303, el segundo comparador 304, el convertidor a múltiplos de 16 302 y la unidad AND 305 de la unidad de evaluación de la capacidad de codificación 108b son iguales al multiplicador 208, el primer comparador 203, el segundo comparador 204, el convertidor a múltiplos de 16 202 y la unidad AND 205 de la unidad de evaluación de la capacidad de codificación 108a según la primera forma de realización.
A continuación, se describe el funcionamiento.
El funcionamiento del aparato de codificación de imágenes en movimiento 10b según la segunda forma de realización difiere del funcionamiento del aparato de codificación de imágenes en movimiento 10a según la primera forma de realización sólo en las operaciones del analizador de nivel 100b, la unidad de evaluación de la capacidad de codificación 108b y el generador de trenes de bits 103.
Por lo tanto, a continuación, se describen principalmente las operaciones del analizador de nivel 100b, la unidad de evaluación de la capacidad de codificación 108b y el generador de trenes de bits 103.
En el aparato de codificación de imágenes en movimiento 10b de la segunda forma de realización, antes de realizar la codificación de la imagen de entrada, se selecciona el nivel deseado de entre una pluralidad de niveles de codificación predefinidos que se emplean como condiciones de codificación, basándose en la estructura de la memoria y similares del aparato de codificación de imágenes en movimiento 10b y la estructura de la memoria y similares del aparato de descodificación de imágenes en movimiento que va a recibir datos codificados, y también se selecciona el nivel deseado de la pluralidad de números de identificación que se emplean como condiciones de codificación adicionales. Más particularmente, el usuario selecciona el nivel de codificación con referencia a la tabla T1 y, mediante una operación, introduce la señal de nivel Lst que indica el identificador de nivel correspondiente al nivel seleccionado en el aparato de codificación de imágenes en movimiento 10b. Además, el usuario selecciona el nivel del número de identificación con referencia a la tabla T2 y, mediante una operación, introduce la señal de número de identificación Cid que indica el número de identificación correspondiente al nivel seleccionado en el aparato de codificación de imágenes en movimiento 10b.
En este caso, el nivel de codificación, el número máximo de píxeles intratrama y el número máximo de píxeles de almacenamiento son iguales a los de la primera forma de realización. La tabla T2 representada en la Figura 17(a) establece cuatro niveles del número de identificación, y los respectivos niveles del número de identificación corresponden a los valores (1) \sim (4) de los números de identificación, respectivamente. Los valores (1) \sim (4) del número de identificación están correlacionados con valores específicos del coeficiente de cálculo de número de píxeles verticales (N\alphahpx) y valores específicos del coeficiente de cálculo de número de píxeles horizontales (N\alphawpx), respectivamente.
Según el aparato de codificación de imágenes en movimiento 10b, cuando la señal de nivel Lst y la señal de número de identificación Cid que se introducen bajo control del usuario se transmiten al analizador de nivel 100b, el analizador de nivel 100b consulta la tabla T1 (Figura 15) y la tabla T2 (Figura 17(a)) disponibles en el aparato de codificación de imágenes en movimiento 10b para generar información de número máximo de píxeles intratrama Ifpx e información de número máximo de píxeles de almacenamiento Ispx correspondientes al nivel de codificación indicado por la señal de nivel Lst, que ha sido seleccionado por el usuario, y generar además la información de coeficiente de cálculo de número de píxeles \alphapx correspondiente al nivel del número de identificación indicado por la señal de número de identificación Cid, que ha sido seleccionado por el usuario. La información de número máximo de píxeles intratrama Ifpx y la información de coeficiente de cálculo de número de píxeles \alphapx se introducen en el calculador de número máximo de imágenes de referencia 109a.
Cuando los datos de imagen SId de una imagen en movimiento (imagen de entrada) se introducen por orden de presentación en la memoria de imágenes 101 en unidades de imagen, los datos de imagen correspondientes a cada imagen se almacenan en secuencia en la memoria de imágenes 101, y los datos de imagen almacenados SId se obtienen de la memoria de imágenes 101 en unidades de bloques (macrobloques) que constituyen la imagen, por orden de codificación. A continuación, la información que indica el tamaño de la imagen de entrada (información de tamaño de la imagen de entrada) Ipx se obtiene de la memoria de imágenes 101 y se introduce en la unidad de evaluación de la capacidad de codificación 108b y el calculador de número máximo de imágenes de referencia 109a.
A continuación, la unidad de evaluación de la capacidad de codificación 108b determina si la imagen de entrada puede codificarse o no basándose en la información de tamaño de la imagen de entrada Ipx de la memoria de imágenes 101, la información del número máximo de píxeles intratrama Ifpx y la información del coeficiente de cálculo de número de píxeles \alphapx del analizador de nivel 100b, y transmite una señal que indica el resultado de la evaluación, es decir, la señal de resultado de evaluación CSjd, a la unidad de control 110.
Cuando la señal de resultado de evaluación CSjd indica que la imagen de entrada puede codificarse, la unidad de control 110 conmuta entre la modalidad de codificación por predicción interimagen de datos de imagen y la modalidad de codificación por predicción intra-imagen de datos de imagen, basándose en los datos de imagen SId de la memoria de imágenes 101, y proporciona señales de control a las respectivas unidades. Las respectivas unidades del aparato de codificación de imágenes en movimiento 10b son controladas de conformidad con las señales de control Sct1,
Sct2, ..., Sctn correspondientes a la señal de resultado de evaluación CSjd de la unidad de control 110, como en la primera forma de realización.
El calculador de número máximo de imágenes de referencia 109a calcula el número máximo de imágenes de referencia (Nrpn), basándose en la información de número máximo de píxeles de almacenamiento Ispx, la información de número de píxeles verticales de la imagen de entrada Ihpx y la información de número de píxeles horizontales de la imagen de entrada Iwpx, y genera información, tal como información de número máximo de imágenes de referencia Irpn que indica el número calculado (Nrpn).
En la segunda forma de realización, cuando se selecciona la modalidad de codificación por predicción interimagen, la codificación por predicción interimagen de la imagen de entrada se realiza de la misma manera que en la primera forma de realización y, cuando se selecciona la modalidad de codificación por predicción intra-imagen, la codificación por predicción intra-imagen de la imagen de entrada se realiza de la misma manera que en la primera forma de realización.
No obstante, cuando en la segunda forma de realización se selecciona la modalidad de codificación por predicción interimagen, el generador de trenes de bits 103 genera un tren de bits correspondiente a los datos codificados mediante codificación por predicción residual Cd que se obtienen del codificador de predicción residual 102, y suministra el tren de bits generado junto con un código correspondiente al vector de movimiento MV de la unidad de estimación de vectores de movimiento 106, un código correspondiente a la señal de modalidad Ms de la unidad de control 110, un código correspondiente a la señal de nivel Lst y un código correspondiente a la señal de número de identificación Cid, como el tren de bits Bsb (véase la Figura 14(b)). Cuando se selecciona la modalidad de codificación por predicción intra-imagen, el generador de trenes de bits 103 genera un tren de bits correspondiente a los datos codificados Cd que se obtienen del codificador 102, y suministra el tren de bits generado junto con el código correspondiente a la señal de modalidad Ms de la unidad de control 110, el código correspondiente a la señal de nivel Lst y el código correspondiente a la señal de número de identificación Cid, como el tren de bits Bsb (véase la Figura 14(b)).
A continuación, se describe una operación específica de la unidad de evaluación de la capacidad de codificación 108b del aparato de codificación de imágenes en movimiento 10b, haciendo referencia a la Figura 5.
En la unidad de evaluación de la capacidad de codificación 108b del aparato de codificación de imágenes en movimiento 10b según la segunda forma de realización, la capacidad de codificación de una imagen de entrada se evalúa basándose en las fórmulas condicionales siguientes: (fórmula 1), (fórmula 2a), (fórmula 2b), (fórmula 8a) y (fórmula 8b). Las fórmulas condicionales (fórmula 1), (fórmula 2a) y (fórmula 2b) se definen en la reivindicación 3, y las fórmulas condicionales (fórmula 8a) y (fórmula 8b) se definen en la reivindicación 9.
7
8
En las fórmulas anteriores, Nfpx designa el número máximo de píxeles intratrama, H designa el número máximo de píxeles verticales de una imagen de entrada que pueden ser codificados por el aparato de codificación de imágenes en movimiento 10b y W designa el número máximo de píxeles horizontales de la imagen de entrada que pueden ser codificados por el aparato de codificación de imágenes en movimiento 10b. N\alphahpx designa un coeficiente de cálculo de número de píxeles verticales y N\alphawpx denota un coeficiente de cálculo de número de píxeles horizontales.
Inicialmente, como la unidad de evaluación de la capacidad de codificación 108a según la primera forma de realización, la unidad de evaluación de la capacidad de codificación 108b realiza la operación indicada por la (fórmula 1), basándose en la información de número de píxeles verticales Inpx y la información de número de píxeles horizontales Iwpx de la imagen de entrada contenida en la información de tamaño de la imagen de entrada Ipx, que se obtiene de la memoria de imágenes 101. Más particularmente, la multiplicación para obtener el producto (hxw) del número de píxeles verticales (h) y el número de píxeles horizontales (w) de la imagen de entrada es realizada por el multiplicador 306, y la comparación entre el resultado de la multiplicación (hxw) y el número máximo de píxeles intratrama (Nfpx) es realizada por el primer comparador 303. El primer comparador 303 transmite una señal de resultado de comparación Scm1 que indica el resultado de la comparación a la unidad AND 305.
A continuación, en la unidad de evaluación de capacidad de codificación 108b, el calculador de número máximo de píxeles verticales/número máximo de píxeles horizontales 301 calcula el número máximo de píxeles verticales (H) indicado por la (fórmula 8a) y el número máximo de píxeles horizontales indicado por (la fórmula 8b), basándose en la información de número máximo de píxeles intratrama Ifpx, la información de coeficiente de cálculo de número de píxeles verticales \alphahpx y la información de coeficiente de cálculo de número de píxeles horizontales \alphawps.
En este caso, la (fórmula 8a) y la (fórmula 8b) indican que el número máximo de píxeles verticales (H) y el número máximo de píxeles horizontales (W) se obtienen dividiendo el número máximo de píxeles intratrama (Nfpx) por el coeficiente de cálculo de número de píxeles verticales (N\alphahpx) y el coeficiente de cálculo de número de píxeles horizontales (N\alphawpx), respectivamente.
Las señales de resultado de operación Op3a y Op3b que indican el número máximo de píxeles verticales (H) y el número máximo de píxeles horizontales (W) obtenidos por el calculador de número máximo de píxeles verticales/número máximo de píxeles horizontales 301 se introducen en el convertidor a múltiplos de 16 302, y el convertidor a múltiplos de 16 302 realiza un procedimiento de redondeo para el número máximo de píxeles verticales (H) y el número máximo de píxeles horizontales (W), de la misma manera que el convertidor a múltiplos de 16 202 según la primera forma de realización. A continuación, el convertidor a múltiplos de 16 302 transmite, al segundo comparador 304, información de operación de redondeo Trnd1 que indica el valor (round1(H)) que se obtiene redondeando el número máximo de píxeles verticales (H) a un múltiplo de 16 e información de operación de redondeo Trnd2 que indica el valor (round2(H)) que se obtiene redondeando el número máximo de píxeles horizontales (W) a un múltiplo de 16.
Además, el segundo comparador 304 realiza la comparación entre el número de píxeles verticales de la imagen de entrada (h) y el número máximo de píxeles verticales (H) (comparación de número de píxeles verticales) y la comparación entre el número de píxeles horizontales de la imagen de entrada (w) y el número máximo de píxeles horizontales (W) (comparación de número de píxeles horizontales), basándose en la información de número de píxeles Ihpx e Iwpx y la información de operación de redondeo Trnd1 y Trnd2, y transmite una señal de resultado de comparación Scm2a que indica el resultado de la comparación de número de píxeles verticales y una señal de resultado de comparación Scm2b que indica el resultado de la comparación de número de píxeles horizontales, a la unidad AND 305.
A continuación, la unidad AND 305 aplica la función AND a las señales de resultado de comparación Scm1, Scm2 y Scm2b obtenidas de los comparadores 303 y 304 y genera una señal CSjd que indica el resultado final de la evaluación de la capacidad/incapacidad para codificar.
Tal como se ha descrito anteriormente, el aparato de codificación de imágenes en movimiento 10b de la segunda forma de realización comprende el analizador de nivel 100b que decide el número máximo de píxeles intratrama (Nfpx) que pueden codificarse y el número máximo de píxeles de almacenamiento (Nspx) que pueden almacenarse en la memoria de imágenes del aparato de descodificación, de conformidad con la señal de nivel (señal del identificador de nivel) Lst que introduce el usuario por medio de una operación, y que elige la información de coeficiente de cálculo \alphapx que indica el coeficiente de cálculo de número de píxeles verticales (N\alphahpx) y el coeficiente de cálculo de número de píxeles horizontales (N\alphawpx), basándose en la señal de número de identificación Cid que introduce el usuario por medio de una operación, para determinar de ese modo si la codificación de una imagen de entrada es posible o no y calcular el número de imágenes de referencia candidatas a las cuales se puede hacer referencia en la codificación por predicción interimagen (número máximo de imágenes de referencia) Nrpn, basándose en el número máximo de píxeles intratrama (Nfpx), el coeficiente de cálculo de número de píxeles verticales (N\alphahpx), el coeficiente de cálculo de número de píxeles horizontales (N\alphawpx) y el tamaño de la imagen de entrada (el número de píxeles verticales (h) y el número de píxeles horizontales (w)). Por consiguiente, el aparato de descodificación que va a recibir el tren de bits del aparato de codificación de imágenes en movimiento 10b siempre puede descodificar de forma satisfactoria el tren de bits y realizar, pues, la descodificación por predicción de las imágenes correspondiente a la codificación por predicción de las imágenes realizada en la parte de codificación. Por consiguiente, pueden diseñarse áreas de memoria en el aparato de codificación y el aparato de descodificación que se correspondan con un procedimiento de codificación que no impone ninguna restricción a la capacidad del área de memoria.
Además, en la segunda forma de realización, el número máximo de píxeles verticales (H) y el número máximo de píxeles horizontales (W) se obtienen dividiendo el número máximo de píxeles intratrama (Nfpx) por el coeficiente de cálculo de número de píxeles verticales (N\alphahpx) y el coeficiente de cálculo de número de píxeles horizontales (N\alphawpx), respectivamente. Por consiguiente, los procedimientos para obtener el número máximo de píxeles verticales (H) y el número máximo de píxeles horizontales (W) se simplifican con respecto a los de la primera forma de realización.
En la segunda forma de realización, el identificador de nivel correspondiente al número máximo de píxeles intratrama (Nfpx) y al número máximo de píxeles de almacenamiento (Nspx), y el número de identificación correspondiente al coeficiente de cálculo de número de píxeles verticales (N\alphahpx) y el coeficiente de cálculo de número de píxeles horizontales (N\alphawpx) son parámetros que indican condiciones de codificación independientes, respectivamente, mientras que el número de identificación puede estar correlacionado con el valor del identificador de nivel.
En este caso, cuando se decide el nivel de codificación, se deciden valores numéricos específicos para el coeficiente de cálculo de número de píxeles verticales (N\alphahpx) y el coeficiente de cálculo de número de píxeles horizontales (N\alphawpx), así como valores numéricos específicos para el número máximo de píxeles intratrama (Nfpx) y el número máximo de píxeles de almacenamiento (Nspx), basándose en el valor del identificador de nivel que indica el nivel decidido. Más particularmente, cuando la señal de nivel Lst que indica el nivel de codificación que ha decidido el usuario se introduce en el analizador de nivel 100b, el analizador de nivel 100b genera la información Ifps e Ispx que indica el número máximo de píxeles intratrama (Nfpx) y el número máximo de píxeles de almacenamiento (Nspx) según la señal de nivel (identificador de nivel) Lst, y genera además información de coeficiente de cálculo de número de píxeles \alphapx, basándose en la señal de número de identificación correspondiente al identificador de nivel. Además, el tren de bits Bsb contiene sólo el código H1 correspondiente a la señal de nivel Lst y, por lo tanto, el código H2 correspondiente a la señal de número de identificación Cid no se transmite a la parte de descodificación.
En la segunda forma de realización, el aparato de codificación de imágenes en movimiento transmite el código H1 de la señal de nivel Lst correspondiente al número máximo de píxeles intratrama (Nfpx) y el número máximo de píxeles de almacenamiento (Nspx), que han sido seleccionados por el usuario y el código H2 de la señal de número de identificación Cid correspondiente al coeficiente de cálculo de número de píxeles verticales (N\alphahpx) y el coeficiente de cálculo de número de píxeles horizontales (N\alphawpx) que han sido seleccionados por el usuario, a la parte de descodificación. No obstante, el aparato de codificación de imágenes en movimiento puede codificar la información del coeficiente de cálculo de número de píxeles \alphapx que indica el coeficiente de cálculo de número de píxeles verticales (N\alphahpx) y el coeficiente de cálculo de número de píxeles horizontales (N\alphawpx) arbitrarios que han sido seleccionados por el usuario, y transmitir la información de coeficiente de cálculo de número de píxeles codificada \alphapx a la parte de descodificación, en lugar del código H2 de la señal de número de identificación Cid.
En este caso, el número máximo de píxeles intratrama (Nfpx) y el número máximo de píxeles de almacenamiento (Nspx) se establecen en valores específicos correspondientes al identificador de nivel que indica el nivel de codificación seleccionado basándose en la Tabla T1, mientras que el usuario establece arbitrariamente valores específicos para el coeficiente de cálculo de número de píxeles verticales (N\alphahpx) y el coeficiente de cálculo de número de píxeles horizontales (N\alphawpx). Es decir, cuando la señal de nivel Lst que indica el nivel de codificación decidido se introduce en el analizador de nivel 100b bajo control del usuario, el analizador de nivel 100b suministra, a la unidad de evaluación de la capacidad de codificación 108b, la información Ifpx que indica el número máximo de píxeles intratrama (Nfpx) que se ha elegido basándose en la tabla T1, de conformidad con la señal de nivel Lst, y suministra, al calculador de número máximo de imágenes de referencia 109a, la información Ispx que indica el número máximo de píxeles de almacenamiento (Nspx) que se ha elegido basándose en la tabla T1. El tren de bits Bsb contiene el código H1 correspondiente a la señal de nivel Lst y el código correspondiente a la información de coeficiente de cálculo de número de píxeles \alphapx; por lo tanto, el código H1 correspondiente a la señal de nivel Lst y el código correspondiente a la información de coeficiente de cálculo de número de píxeles \alphapx se transmiten a la parte de descodificación.
Además, en la segunda forma de realización, la tabla T2, en la que la pluralidad de números de identificación están correlacionados con unos pares de coeficiente de cálculo de número de píxeles verticales y coeficiente de cálculo de número de píxeles horizontales (Figura 17(a)), se emplea como la tabla que define la correspondencia entre la pluralidad de números de identificación y el coeficiente de cálculo de número de píxeles verticales y el coeficiente de cálculo de número de píxeles horizontales. No obstante, en lugar de la tabla T2, puede emplearse una tabla T2a, en la que los valores del número de identificación están correlacionados con los coeficientes de cálculo de número de píxeles verticales (Figura 17(b)), y una tabla T2b, en la que los valores del número de identificación están correlacionados con los coeficientes de cálculo de número de píxeles horizontales (Figura 17(c)).
Además, aunque en la segunda forma de realización la decisión del número de identificación tomada por el usuario se realiza con referencia a la tabla T2 representada en la Figura 17(a), la decisión del número de identificación tomada por el usuario puede realizarse utilizando la (fórmula 9) siguiente, en lugar de la tabla T2 representada en la Figura
17(a).
9
En la fórmula anterior, trans B() indica una operación para obtener el valor del número de identificación, utilizando el coeficiente de cálculo de número de píxeles verticales y el coeficiente de cálculo de número de píxeles horizontales como argumentos.
Además, en lugar de la tabla T2a que define la correspondencia entre los valores del número de identificación y los coeficientes de cálculo de número de píxeles verticales (Figura 17(b)) y la tabla T2b que define la correspondencia entre los valores del número de identificación y los coeficientes de cálculo de número de píxeles horizontales (Figura 17(c)), pueden utilizarse la (fórmula 9a) y la (fórmula 9b) siguientes.
10
\vskip1.000000\baselineskip
11
En las fórmulas anteriores, transBa() indica una operación para obtener el valor del número de identificación, utilizando el coeficiente de cálculo de número de píxeles verticales como argumento. Según la (fórmula 9a), cuando el usuario designa el coeficiente de cálculo de número de píxeles verticales para la imagen de entrada que pueden codificarse mediante el aparato de codificación de imágenes en movimiento, se decide el correspondiente valor del número de identificación.
Además, transBb() indica una operación para obtener el valor del número de identificación, utilizando el coeficiente de cálculo de número de píxeles horizontales como argumento. Según la (fórmula 9b), cuando el usuario designa el coeficiente de cálculo de número de píxeles horizontales para la imagen de entrada que pueden codificarse mediante el aparato de codificación de imágenes en movimiento, se decide el correspondiente valor del número de identificación.
En la primera forma de realización, el número máximo de píxeles verticales (H) y el número máximo de píxeles horizontales (W) se obtienen mediante la (fórmula 1), la (fórmula 2a), la (fórmula 2b), la (fórmula 3a) y la (fórmula 3b), mientras que, en la segunda forma de realización, el número máximo de píxeles verticales (H) y el número máximo de píxeles horizontales (W) se obtienen mediante la (fórmula 1), la (fórmula 2a), la (fórmula 2b), la (fórmula 8a) y la (fórmula 8b). No obstante, el procedimiento para obtener el número máximo de píxeles verticales (H) y el número máximo de píxeles horizontales (W) no se limitan a los descritos en la primera y la segunda formas de realización.
Forma de realización 3
La Figura 6 es un diagrama de bloques que representa un aparato de codificación de imágenes en movimiento 10c según una tercera forma de realización de la presente invención.
El aparato de codificación de imágenes en movimiento 10c de la tercera forma de realización presenta, en lugar del analizador de nivel 100a y la unidad de evaluación de la capacidad de codificación 108a del aparato de codificación de imágenes en movimiento 10a según la primera forma de realización, un analizador de nivel 100c que genera información que indica el tamaño máximo de la imagen (información de tamaño máximo de la imagen) Impx junto con la información de número máximo de píxeles intratrama Ifpx y la información de número máximo de píxeles de almacenamiento Ispx, de conformidad con la señal de nivel Lst introducida y la señal de número de identificación Sid, y una unidad de evaluación de la capacidad de codificación 108c que determina si la codificación de la imagen de entrada es posible o no, basándose en la información de número máximo de píxeles intratrama Ifpx, la información de tamaño máximo de la imagen Impx y la información del tamaño de la imagen de entrada Ipx.
En este caso, la señal de número de identificación Sid indica el valor del número de identificación decidido en la operación del usuario, indicando dicho número de identificación un valor específico de tamaño máximo de la imagen como condición de codificación adicional. El analizador de nivel 100c incluye la información de la tabla T1 representada en la Figura 15 y la información de la tabla T3 representada en la Figura 18(a). La tabla T1 define la correspondencia entre el valor del número de identificación y el número máximo de píxeles intratrama y el número máximo de píxeles de almacenamiento. La tabla T3 representa la correspondencia entre el valor del número de identificación y el número máximo de píxeles verticales (H) y el número máximo de píxeles horizontales (W). Además, la información de tamaño máximo de la imagen Impx se compone de información que indica el número máximo de píxeles verticales (H) (información de número máximo de píxeles verticales) Imhpx e información que indica el número máximo de píxeles horizontales (W) (información de número máximo de píxeles horizontales) Imwpx. El generador de trenes de bits 103 del aparato de codificación de imágenes en movimiento 10c realiza la codificación de longitud variable de los datos de salida (datos codificados) Cd del codificador de predicción residual 102 y genera un tren de bits Bsc que se obtiene añadiendo, al tren de bits obtenido mediante la codificación de longitud variable, los códigos correspondientes al vector de movimiento MV, la señal de modalidad Ms, la señal de nivel Lst y la señal de número de identificación Sid.
Las estructuras de los otros componentes del aparato de codificación de imágenes en movimiento 10c según la tercera forma de realización son iguales a las de los componentes del aparato de codificación de imágenes en movimiento 10a de la primera forma de realización.
La Figura 14(c) representa la estructura de datos del tren de bits Bsc correspondiente a la imagen de entrada.
El tren de bits Bsc se compone de un área de cabecera Hc que contiene diversos tipos de información de cabecera, y una parte de datos de secuencia Dsq que contiene datos codificados (un tren de bits) correspondiente a los datos de imagen de cada imagen.
El área de cabecera Hc del tren de bits Bsc comprende un código H1 correspondiente al identificador de nivel y un código H3 correspondiente a la señal de número de identificación Sid, como información de cabecera. Además, la parte de datos de secuencia Dsq del tren de bits Bsc comprende una cabecera de secuencia Sh que indica el tamaño de la imagen de entrada, es decir, el número de píxeles verticales de la imagen de entrada y el número de píxeles horizontales de la imagen de entrada. Más particularmente, el código H3 se obtiene codificando la señal de número de identificación Sid que indica el valor del número de identificación para identificar el número máximo de píxeles verticales y el número máximo de píxeles horizontales representados en la Figura 18(a).
La Figura 7 es un diagrama que ilustra la estructura específica de la unidad de evaluación de la capacidad de codificación 108c.
La unidad de evaluación de la capacidad de codificación 108c está constituida sólo por el multiplicador 206, el primer comparador 203, el segundo comparador 204 y la unidad AND 205 de la unidad de evaluación de la capacidad de codificación 108a según la primera forma de realización. En lugar de las salidas Trnd1 y Trnd2 del convertidor a múltiplos de 16 202 de la unidad de evaluación de la capacidad de codificación 108a según la primera forma de realización, la información de número máximo de píxeles verticales Imhpx que indica el número máximo de píxeles verticales (H) y la información de número máximo de píxeles horizontales Imwpx que indica el número máximo de píxeles horizontales (W) se transmite del analizador de nivel 100c al segundo comparador 204 como información que indica el tamaño máximo de la imagen (información de tamaño máximo de la imagen) Impx.
A continuación, se describe el funcionamiento.
El funcionamiento del aparato de codificación de imágenes en movimiento 10c según la tercera forma de realización difiere del funcionamiento del aparato de codificación de imágenes en movimiento 10a de la primera forma de realización sólo en las operaciones del analizador de nivel 100c, la unidad de evaluación de la capacidad de codificación 108c y el generador de trenes de bits 103.
En el aparato de codificación de imágenes en movimiento 10c según la tercera forma de realización, antes de realizar la codificación de la imagen de entrada, se selecciona el nivel deseado de una pluralidad de niveles de codificación predefinidos que se emplean como condiciones de codificación, basándose en las estructuras de la memoria o similares del aparato de codificación de imágenes en movimiento 10c, y en la estructura de la memoria o similares del aparato de descodificación de imágenes en movimiento que recibe los datos codificados, y también se selecciona un nivel predeterminado de una pluralidad de niveles del número de identificación que se emplean como condiciones de codificación adicionales. Para concretar, el usuario selecciona el nivel de codificación haciendo referencia a la tabla T1 e introduce la señal de nivel (identificador de nivel) Lst que indica el nivel seleccionado en el aparato de codificación de imágenes en movimiento 10c bajo su control. El usuario selecciona el nivel del número de identificación con referencia a la tabla T3 e introduce la señal de número de identificación Sid que indica el número de identificación correspondiente al nivel seleccionado en el aparato de codificación de imágenes en movimiento 10c bajo su control.
En este caso, el nivel de codificación, el número máximo de píxeles intratrama y el número máximo de píxeles de almacenamiento son idénticos a los de la primera forma de realización. Además, la tabla T3 representada en la Figura 18(a) define cuatro niveles del número de identificación que corresponden a los valores (1) \sim (4) del número de identificación, respectivamente. Los valores (1) \sim (4) del número de identificación están correlacionados con valores específicos del número máximo de píxeles verticales (H) y el número máximo de píxeles horizontales (W), respectivamente.
Cuando en el aparato de codificación de imágenes en movimiento 10c se suministran, al analizador de nivel 100c, el nivel de señal Lst y la señal de número de identificación Sid introducidos mediante la operación del usuario, el analizador de nivel 100c consulta la tabla T1 (Figura 15) y la tabla T3 (Figura 18(a)) comprendidas en el aparato de codificación de imágenes en movimiento 10c y genera la información de número máximo de píxeles intratrama Ifpx y la información del número máximo de píxeles de almacenamiento Ispx correspondientes al nivel de codificación indicado por la señal de nivel Lst, que ha sido seleccionado por el usuario, y genera también la información de tamaño máximo de la imagen Imps correspondiente al nivel del número de identificación indicado por la señal de número de identificación Sid, que ha sido seleccionado por el usurario. La información de número máximo de píxeles intratrama Ifpx y la información de tamaño máximo de la imagen Impx se introducen en la unidad de evaluación de la capacidad de codificación 108c, y la información de número máximo de píxeles de almacenamiento Ispx se introduce en el calculador de número máximo de imágenes de referencia 109a.
A continuación, cuando los datos de imagen Id de una imagen en movimiento (imagen de entrada) se introducen por orden de presentación en la memoria de imágenes 101 en unidades de imágenes, los datos de imagen correspondientes a cada imagen se almacenan en secuencia en la memoria de imágenes 101, y los datos de imagen almacenados SId se obtienen de la memoria de imágenes 101 en unidades de bloques (macrobloques) que constituyen la imagen, por orden de codificación. Entonces, la información que indica el tamaño de los datos de entrada (información de tamaño de la imagen de entrada) Ipx se transmite de la memoria de imágenes 101 a la unidad de evaluación de la capacidad de codificación 108c y el calculador de número máximo de imágenes de referencia 109a.
A continuación, la unidad de evaluación de la capacidad de codificación 108c determina si la codificación de la imagen de entrada es posible o no, basándose en la información de tamaño de la imagen de entrada Ipx obtenida de la memoria de imágenes 101, la información de número máximo de píxeles intratrama Ifpx y la información de tamaño máximo de la imagen Impx obtenidas del analizador de nivel 100c, y suministra una señal que indica el resultado de la evaluación (señal de resultado de evaluación) CSjd a la unidad de control 110.
Cuando la unidad de resultado de evaluación CSjd indica que la codificación de la imagen de entrada es posible, la unidad de control 110 conmuta entre la modalidad de codificación por predicción interimagen de los datos de imagen y la modalidad de codificación por predicción intra-imagen de los datos de imagen, basándose en los datos de imagen SId de la memoria de imágenes 101, y genera señales de control para los respectivos componentes. Los respectivos componentes del aparato de codificación de imágenes en movimiento 10c son controlados mediante las señales de control Sct1, Sct2, ..., Sctn de la unidad de control 110 de conformidad con la señal de resultado de evaluación CSjd, del mismo modo que en la primera forma de realización.
Además, el calculador de número máximo de imágenes de referencia 109a calcula el número máximo de imágenes de referencia (Nrpn) basándose en la información de número máximo de píxeles de almacenamiento Ispx, la información de número de píxeles verticales de la imagen de entrada Ihpx y la información de número de píxeles horizontales de la imagen de entrada Iwpx, y genera información que indica el número calculado (Nrpn) (información de número máximo de imágenes de referencia) Irpn.
En la tercera forma de realización, cuando se selecciona la modalidad de codificación por predicción interimagen, la codificación por predicción interimagen de la imagen de entrada se realiza de la misma manera que en la primera forma de realización, mientras que cuando se selecciona la modalidad de codificación por predicción intra-imagen, la codificación por predicción intra-imagen de la imagen de entrada se realiza de la misma manera que en la primera forma de realización.
Sin embargo, en la tercera forma de realización, cuando se selecciona la modalidad de codificación por predicción interimagen, el generador de trenes de bits 103 genera un tren de bits correspondiente a los datos de predicción residual codificados Cd que se obtienen del codificador de predicción residual 102, y suministra el tren de bits generado junto con un código correspondiente al vector de movimiento MV de la unidad de estimación de vectores de movimiento 106, un código correspondiente a la señal de modalidad Ms de la unidad de control 110, un código correspondiente a la señal de nivel Lst y un código correspondiente a la señal de número de identificación Sid, como el tren de bits Bsc (véase la Figura 14(c)). Cuando se selecciona la modalidad de codificación por predicción intra-imagen, el generador de trenes de bits 103 genera un tren de bits correspondiente a los datos codificados Cd que se obtienen del codificador 102, y suministra el tren de bits generado junto con un código correspondiente a la señal de modalidad Ms de la unidad de control 110, un código correspondiente a la señal de nivel Lst y un código correspondiente a la señal de número de identificación Sid, como el tren de bits Bsc (véase la Figura 14(c)).
A continuación, se describe una operación específica de la unidad de evaluación de la capacidad de codificación 108c del aparato de codificación de imágenes en movimiento 10c, con referencia a la Figura 7.
La unidad de evaluación de la capacidad de codificación 108c del aparato de codificación de imágenes en movimiento 10c según la tercera forma de realización determina si la codificación de la imagen de entrada es posible o no, basándose en las fórmulas condicionales mencionadas anteriormente (fórmula 1), (fórmula 2a) y (fórmula 2b). Dicho de otro modo, el número máximo de píxeles verticales (H) y el número máximo de píxeles horizontales (W) se obtienen basándose en la (fórmula 1), la (fórmula 2a) y la (fórmula 2b) y la información de la tabla T3 representada en la Figura 18(a). En este caso, la (fórmula 1), la (fórmula 2a) y la (fórmula 2b) se definen en la reivindicación 3.
Más particularmente, en la tercera forma de realización, el analizador de nivel 100c comprende la tabla T3 representada en la Figura 18(a) y, en la unidad de evaluación de la capacidad de codificación 108c de la tercera forma de realización, la información Imhpx e Imwpx que indica el número máximo de píxeles verticales (H) y el número máximo de píxeles horizontales (W), obtenida del analizador de nivel 100c basándose en la tabla T3, se introduce directamente en el segundo comparador 204.
A continuación, el segundo comparador 204 realiza la comparación entre el número de píxeles verticales de la imagen de entrada (h) y el número máximo de píxeles verticales (H) (es decir, la comparación de número de píxeles verticales) y la comparación entre el número de píxeles horizontales de la imagen de entrada (w) y el número máximo de píxeles horizontales (W) (es decir, la comparación de número de píxeles horizontales) y transmite una señal de resultado de comparación Scm2a que indica el resultado de la comparación de número de píxeles verticales, y una señal de resultado de comparación Scm2b que indica el resultado de la comparación de número de píxeles horizontales, a la unidad AND 205.
Tal como se ha descrito anteriormente, el aparato de codificación de imágenes en movimiento 10c de la tercera forma de realización comprende el analizador de nivel 100c que decide el número máximo de píxeles intratrama (Nfpx) que pueden codificarse y el número máximo de píxeles de almacenamiento (Nspx) que pueden almacenarse en la memoria de imágenes del aparato de descodificación, de conformidad con la señal de nivel (señal de identificador de nivel) Lst que se introduce bajo control del usuario, y decide el número máximo de píxeles verticales (H) y el número máximo de píxeles horizontales (W) según la señal de número de identificación Sid que se introduce bajo control del usuario, y determina de esta forma si la codificación de la imagen de entrada es posible o no basándose en el número máximo de píxeles intratrama (Nfpx), el número máximo de píxeles verticales (H), el número máximo de píxeles horizontales (W) y el tamaño de la imagen de entrada (el número de píxeles verticales (h) y el número de píxeles horizontales (w)), y calcula el número de imágenes de referencia candidatas (número máximo de imágenes de referencia) Nrpn a las cuales se puede hacer referencia en la codificación por predicción interimagen. Por consiguiente, el aparato de descodificación que recibe el tren de bits del aparato de codificación de imágenes en movimiento 10c siempre puede descodificar de forma satisfactoria el tren de bits y, por lo tanto, puede realizar la descodificación por predicción de imágenes correspondiente a la codificación por predicción de imágenes realizada en la parte de codificación. En consecuencia, es posible diseñar áreas de memoria en el aparato de codificación y el aparato de descodificación que se corresponden con un procedimiento de codificación que no impone ninguna restricción a la capacidad del área de memoria.
En la tercera forma de realización, los valores indicados por la información Impx suministrada por el analizador de nivel 100c se emplean como el número máximo de píxeles verticales (H) y el número máximo de píxeles horizontales (W). Por consiguiente, el procedimiento para obtener el número máximo de píxeles verticales (H) y el número máximo de píxeles horizontales (W) se simplifica con respecto a la primera forma de realización.
En la tercera forma de realización, el identificador de nivel correspondiente al número máximo de píxeles intratrama (Nfpx) y el número máximo de píxeles de almacenamiento (Nspx), y el número de identificación correspondiente al número máximo de píxeles verticales (H) y el número máximo de píxeles horizontales (W) se utilizan como parámetros que indican condiciones de codificación independientes, respectivamente. No obstante, los valores del número de identificación pueden estar correlacionados con los valores del identificador de nivel.
En este caso, los valores específicos del número máximo de píxeles intratrama (Nfpx) y el número máximo de píxeles de almacenamiento (Nspx) son valores que se deciden basándose en la tabla T1 de conformidad con el identificador de nivel que indica el nivel de codificación seleccionado, y los valores específicos del número máximo de píxeles verticales (H) y el número máximo de píxeles horizontales (W) son valores que se deciden basándose en la tabla T3, de conformidad con el número de identificación que está correlacionado con el nivel de codificación seleccionado. Es decir, cuando la señal de nivel Lst que indica el nivel de codificación decidido se introduce en el analizador de nivel 100c bajo control del usuario, el analizador de nivel 100c genera la información Ifpx e Ispx que indica el número máximo de píxeles intratrama (Nfpx) y el número máximo de píxeles de almacenamiento (Nspx), de conformidad con la señal de nivel Lst, y genera además la información de tamaño máximo de la imagen Impx basándose en el número de identificación correspondiente al identificador de nivel. Además, el tren de bits Bsc sólo comprende el código H1 correspondiente a la señal de nivel Lst; por lo tanto, el código H3 correspondiente a la señal de número de identificación Sid no se transmite a la parte de descodificación.
En la tercera forma de realización, el aparato de codificación de imágenes en movimiento transmite, a la parte de descodificación, el código de la señal de nivel Lst correspondiente al número máximo de píxeles intratrama (Nfpx) y el número máximo de píxeles de almacenamiento (Nspx) que han sido seleccionados por el usuario, y el código H3 de la señal de número de identificación Sid correspondiente al número máximo de píxeles verticales (H) y el número máximo de píxeles horizontales (W) que han sido seleccionados por el usuario. No obstante, el aparato de codificación de imágenes en movimiento puede codificar la información de tamaño máximo de la imagen Impx que indica el número máximo de píxeles verticales (H) y el número máximo de píxeles horizontales (W) que han sido elegidos arbitrariamente por el usuario, para transmitir la información de número máximo de píxeles codificada a la parte de descodificación, en lugar del código H3 de la señal de número de identificación Sid.
En este caso, los valores específicos del número máximo de píxeles intratrama (Nfpx) y el número máximo de píxeles de almacenamiento (Nspx) son valores que se deciden basándose en la tabla T1, de conformidad con el identificador de nivel que indica el nivel de codificación seleccionado, mientras que los valores específicos del número máximo de píxeles verticales (H) y el número máximo de píxeles horizontales (W) son elegidos arbitrariamente por el usuario. Es decir, cuando la señal de nivel Lst que indica el nivel de codificación decidido se introduce en el analizador de nivel 100c bajo control del usuario, el analizador de nivel 100c transmite la información Ifpx que indica el número máximo de píxeles intratrama (Nfpx) seleccionado de la tabla T1 de conformidad con la señal de nivel Lst, a la unidad de evaluación de la capacidad de codificación 108c, y transmite la información Ispx que indica el número máximo de píxeles de almacenamiento (Nspx) que se selecciona de la tabla T1, al calculador de número máximo de imágenes de referencia 109a. Además, la información de tamaño máximo de la imagen Impx que indica valores específicos del número máximo de píxeles verticales (H) y el número máximo de píxeles horizontales (W) que el usuario ha elegido se introduce directamente en la unidad de evaluación de la capacidad de codificación 108c desde el exterior. Además, el tren de bits Bsc comprende el código H1 correspondiente a la señal de nivel Lst y el código correspondiente a la información de tamaño máximo de la imagen Impx; en consecuencia, el código H1 correspondiente a la señal de nivel Lst y el código correspondiente a la información de tamaño máximo de la imagen Impx se transmiten a la parte de descodificación.
Además, en la tercera forma de realización, la tabla T3 en la que la pluralidad de valores del número de identificación están correlacionados con pares de número máximo de píxeles verticales y número máximo de píxeles horizontales (Figura 18(a)) se emplea como tabla que define la correspondencia entre la pluralidad de valores del número de identificación y el número máximo de píxeles verticales y el número máximo de píxeles horizontales. Sin embargo, en lugar de la tabla T3, es posible emplear una tabla T3a donde los valores del número de identificación están correlacionados con los números máximos de píxeles verticales (H) (Figura 18(b)), y una tabla T3b en la que los valores del número de identificación están correlacionados con los números máximos de píxeles horizontales (W) (Figura 18(c)). Además, huelga decir que el número de combinaciones del número máximo de píxeles verticales y el número máximo de píxeles horizontales de las tablas T3, T3a y T3b y sus valores no se limitan a los representados en las Figuras 18(a) a 18(c).
Además, en las descripciones de la primera a la tercera forma de realización, el número de píxeles verticales y el número de píxeles horizontales de la imagen de entrada que pueden codificarse están sujetos a las limitaciones impuestas por la (fórmula 2a) y la (fórmula 2b), mientras que el tamaño de la imagen de entrada que puede codificarse puede estar sujeto a una limitación que sólo incumbe al número de píxeles verticales o al número de píxeles horizontales.
Asimismo, es posible evaluar si la codificación de una imagen de entrada es posible o no, basándose sólo en la comparación entre el número máximo de píxeles intratrama y los números de los píxeles verticales y horizontales de la imagen de entrada indicados por la (fórmula 1), sin utilizar la (fórmula 2a), la (fórmula 2b), la (fórmula 3a), la (fórmula 3b), la (fórmula 8a) y la (fórmula 8b) que se emplean en cualquiera de las formas de realización anteriores.
Aunque en la tercera forma de realización el usuario decide el valor del número de identificación con referencia a la tabla T3 representada en la Figura 18(a), el usuario puede decidir el número de identificación utilizando la (fórmula 10) siguiente, en lugar de la tabla T3 representada en la Figura 18(a).
12
En la fórmula anterior, transC indica una operación para obtener un número de identificación, utilizando el número máximo de píxeles verticales y el número máximo de píxeles horizontales como argumentos. Según la (fórmula 10), cuando el usuario designa el número máximo de píxeles verticales y el número máximo de píxeles horizontales de la imagen de entrada que pueden ser codificados por el aparato de codificación de imágenes en movimiento, se decide el correspondiente valor del número de identificación.
Asimismo, en lugar de la tabla T3a que indica la correspondencia entre los valores del número de identificación y los números máximos de píxeles verticales (Figura 18(b)) y la tabla T3b que indica la correspondencia entre los valores del número de identificación y los números máximos de píxeles horizontales (Figura 18(c)), pueden emplearse la (fórmula 10a) y la (fórmula 10b) siguientes.
13
\vskip1.000000\baselineskip
\vskip1.000000\baselineskip
14
En las fórmulas anteriores, transCa() indica una operación para obtener el valor del número de identificación, utilizando el número máximo de píxeles verticales como argumento. Según la (fórmula 10a), cuando el usuario designa el número máximo de píxeles verticales de la imagen de entrada que pueden ser codificados por el aparato de codificación de imágenes en movimiento, se decide el correspondiente valor del número de identificación.
Además, transCb() indica una operación para obtener un valor del número de identificación utilizando el número máximo de píxeles horizontales como argumento. Según la (fórmula 10b), cuando el usuario designa el número máximo de píxeles horizontales de la imagen de entrada que pueden ser codificados por el aparato de codificación de imágenes en movimiento, se decide el correspondiente valor del número de identificación.
Forma de realización 4
La Figura 8 es un diagrama de bloques que representa un aparato de codificación de imágenes en movimiento 10d según una cuarta forma de realización de la presente invención.
El aparato de codificación de imágenes en movimiento 10d de la cuarta forma de realización presenta, en lugar del calculador de número máximo de imágenes de referencia 109a del aparato de codificación de imágenes de movimiento 10a según la primera forma de realización, un calculador de número máximo de imágenes de referencia 109d que calcula el número máximo de imágenes de referencia (Nrpn) basándose en la información de tamaño Ipx de la imagen de entrada (información de número de píxeles verticales de la imagen de entrada Ihpx e información de número de píxeles horizontales de la imagen de entrada Iwpx), la información de número máximo de píxeles de almacenamiento Ispx y la información de número de píxeles en espera de ser presentados Idwp, y genera información que indica el valor calculado (Nrpn) (es decir, información de número máximo de imágenes de referencia) Irpn.
\global\parskip0.900000\baselineskip
En este caso, la información de número de píxeles en espera de ser presentados Idwp es información que indica el número de imágenes en espera de ser presentadas. Las imágenes en espera de ser presentadas son imágenes descodificadas previamente que no se emplean como imágenes de referencia, como se ha descrito con referencia a la Figura 26, y los datos de imagen de las imágenes se almacenan en la memoria de imágenes del aparato de descodificación hasta que son presentadas. Además, el control de la memoria de imágenes según la cuarta forma de realización se aplica de forma adaptativa al control de la memoria de imágenes del aparato de descodificación, de tal modo que los datos de imagen de una imagen que no se emplea como imagen de referencia se suprimen de la memoria de imágenes inmediatamente después de que haya terminado la presentación de la imagen.
Las estructuras de otros componentes del aparato de codificación de imágenes en movimiento 10d según la cuarta forma de realización son iguales a las de los componentes del aparato de codificación de imágenes en movimiento 10a de la primera forma de realización.
La Figura 9 es un diagrama que ilustra la estructura específica del calculador de número máximo de imágenes de referencia 109d.
El calculador de número máximo de imágenes de referencia 109d comprende, aparte del multiplicador 401, el divisor 402, el restador 403 y la unidad de almacenamiento de constantes 404 del calculador de número máximo de imágenes de referencia 109a según la primera forma de realización, un restador 405 que resta el número de imágenes en espera de ser presentadas (Ndwp) de la memoria de imágenes del número de imágenes indicadas por la salida de operación Sd1 del restador 403, basándose en la información de número de imágenes Idwp de la memoria de imágenes 105, y suministra una señal de salida Sd2 del restador 405 como información de número máximo de imágenes de referencia Irpn.
A continuación, se describe el funcionamiento.
El funcionamiento del aparato de codificación de imágenes en movimiento 10d según la cuarta forma de realización difiere del funcionamiento del aparato de codificación de imágenes en movimiento 10a según la primera forma de realización sólo en el funcionamiento del calculador de número máximo de imágenes de referencia 109d.
Por lo tanto, a continuación, sólo se describe el funcionamiento del calculador de número máximo de imágenes de referencia 109d con referencia a la Figura 9.
El calculador de número máximo de imágenes de referencia 109d del aparato de codificación de imágenes en movimiento 10d según la cuarta forma de realización calcula el número máximo de imágenes de referencia candidatas que se emplean en la codificación por predicción interimagen, de conformidad con la operación indicada por la (fórmula 11) siguiente. La (fórmula 11) es definida en la reivindicación 6.
15
En la fórmula anterior, h designa el número de píxeles verticales de la imagen de entrada (imagen de destino de codificación) y w designa el número de píxeles horizontales de la imagen de entrada (imagen de destino). Nrpn designa el número máximo de imágenes de referencia, Nspx designa el número máximo de píxeles de almacenamiento y Ndwp designa el número de imágenes descodificadas en espera de ser presentadas. En la cuarta forma de realización, el número máximo de píxeles de almacenamiento Nspx es el valor máximo el número total de píxeles correspondiente a todas las imágenes de almacenamiento, cuyos datos de imagen se almacenan en la memoria de imágenes del aparato de descodificación de imágenes en movimiento que descodifica el tren de bits obtenido del aparato de codificación de imágenes en movimiento 10d. Las imágenes de almacenamiento son las imágenes de referencia, la imagen de destino de descodificación y las imágenes descodificadas en espera de ser presentadas.
El calculador de número máximo de imágenes de referencia 109d calcula el número total de píxeles de una trama (hxw) correspondiente al tamaño de la imagen de entrada, basándose en la información del número de píxeles verticales de la imagen de entrada Ihpx y la información de número de píxeles horizontales de la imagen de entrada Iwpx. Más particularmente, el multiplicador 401 multiplica el número de píxeles verticales (h) de la imagen de entrada, que se indica en la información de número de píxeles verticales de la imagen de entrada Ihpx, por el número de píxeles horizontales (w), que se indica en la información de número de píxeles horizontales de la imagen de entrada Iwpx, y genera una salida de operación Shw que indica el resultado de la multiplicación (hxw).
El divisor 402 divide el número máximo de píxeles de almacenamiento (Nspx) por el resultado de la multiplicación (hxw), basándose en la salida de operación Shw del multiplicador 401 y la información de número máximo de píxeles de almacenamiento Ispx del analizador de nivel 100a y genera una señal de salida de operación Dpm que indica el resultado de la división (Nspx/(hxw)).
El restador 403 resta 1 del resultado de la división (Nspx/(hxw)) basándose en la señal de salida Dpm del divisor 402 y la información de valor numérico Sn1 de la unidad de almacenamiento de constantes 404 y genera una señal de salida de resta Sd1 que indica el resultado de la resta (Nspx/(hxw)) -1).
\global\parskip1.000000\baselineskip
Además, el restador 405 resta el número de imágenes en espera de ser presentadas (Ndwp) del resultado de la resta (Nspx/(hxw) -1), basándose en la señal de salida de resta Sd1 y la información de número de imágenes Idwp de la memoria de imágenes, y decide de ese modo el número máximo de imágenes de referencia.
La razón por la cual los restadores 403 y 405 restan 1 y el número de imágenes en espera de ser presentadas (Ndwp) del resultado de la división (Nspx/(hxw)), respectivamente, es que los datos de imagen descodificados de la imagen de destino de descodificación y las imágenes en espera de ser presentadas, así como los datos de imagen de las imágenes de referencia candidatas que se emplean en la descodificación por predicción interimagen, deben ser almacenados en la memoria de imágenes del aparato de descodificación.
Tal como se ha indicado anteriormente, el aparato de codificación de imágenes en movimiento 10d de la cuarta forma de realización comprende el analizador de nivel 100a que decide el número máximo de píxeles intratrama (Nfpx) que pueden codificarse y el número máximo de píxeles de almacenamiento (Nspx) que pueden almacenarse en la memoria de imágenes del aparato de descodificación, basándose en la señal de nivel Lst que indica el nivel de codificación designado por el usuario, y determina de ese modo si la codificación de la imagen de entrada es posible o no basándose en el número máximo de píxeles intratrama (Nfpx) y el tamaño de la imagen de entrada (el número de píxeles verticales Nhpx y el número de píxeles horizontales Nwpx), y calcula el número de imágenes de referencia candidatas a las cuales puede hacerse referencia en la codificación por predicción interimagen (número máximo de imágenes de referencia) Nrpn. Por consiguiente, el aparato de descodificación que recibe el tren de bits del aparato de codificación de imágenes en movimiento 10b siempre puede descodificar de forma satisfactoria el tren de bits, y realizar de ese modo la descodificación por predicción de imágenes correspondiente a la codificación por predicción de imágenes realizada en la parte de codificación. En consecuencia, pueden diseñarse áreas de memoria del aparato de codificación y el aparato de descodificación que se correspondan con un procedimiento de codificación que no impone ninguna restricción a la capacidad de las áreas de memoria.
En la cuarta forma de realización, el número máximo de imágenes de referencia que se almacenan en la memoria de imágenes se decide tomando en consideración el número de imágenes a la espera de ser presentadas (Ndwp), lo cual permite un uso eficaz de la memoria de imágenes donde se almacenan los datos de imagen de las imágenes de referencia candidatas, de conformidad con el estado de procesamiento de los datos de imagen.
En la cuarta forma de realización, el número máximo de píxeles de almacenamiento Nspx es el valor máximo del número total de píxeles correspondientes a todas las imágenes de almacenamiento, cuyos datos de imagen se almacenan en la memoria de imágenes del aparato de descodificación de imágenes en movimiento que descodifica el tren de bits obtenido del aparato de codificación de imágenes 10d, y las imágenes de almacenamiento son las imágenes de referencia, la imagen de destino de descodificación y las imágenes en espera de ser descodificadas. No obstante, es posible definir un número máximo de píxeles de almacenamiento que no comprenda el número de píxeles correspondientes a la imagen de destino de descodificación.
En este caso, se emplea la (fórmula 11a) siguiente en lugar de la (fórmula 11):
16
Por lo tanto, el calculador de número máximo de imágenes de referencia 109d representado en la Figura 9 decide el número máximo de imágenes de referencia, sin restar 1 del resultado de la división (Nspx/(hxw)).
En la fórmula anterior, h designa el número de píxeles verticales de la imagen de destino de codificación, w designa el número de píxeles horizontales de la imagen de destino, Nrpn designa el número máximo de imágenes de referencia, Nspx designa el número máximo de píxeles de almacenamiento y Ndwp designa el número de imágenes en espera de ser presentadas.
En la cuarta forma de realización, el control de la memoria de imágenes se aplica de forma adaptativa al control de la memoria de imágenes del aparato de descodificación para suprimir los datos de imagen de las imágenes que no se emplean como imágenes de referencia de la memoria de imágenes, inmediatamente después de que haya terminado la presentación de las imágenes. Sin embargo, no es necesario que los datos de imagen de las imágenes que no se han empleado como imágenes de referencia se supriman inmediatamente después de la presentación, como se indica en la cuarta forma de realización, sino que dicha supresión puede realizarse en cualquier otro momento.
Por ejemplo, el control de la memoria de imágenes según la cuarta forma de realización puede aplicarse de forma adaptativa al control de la memoria de imágenes del aparato de descodificación, para suprimir de la memoria de imágenes los datos de imagen de una imagen que está almacenada en la memoria de imágenes pero que no se utiliza como imagen de referencia, una vez que ha expirado el tiempo de presentación de la imagen tras la presentación de ésta.
\newpage
Forma de realización 5
La Figura 10 es un diagrama de bloques que representa un aparato de descodificación de imágenes en movimiento 50a según una quinta forma de realización de la presente invención.
El aparato de descodificación de imágenes en movimiento 50a según la quinta forma de realización recibe un tren de bits correspondiente a una pluralidad de imágenes que constituyen una imagen en movimiento, y descodifica el tren de bits en unidades de procesamiento de datos predeterminadas, es decir en unidades de bloques. Más particularmente, el aparato de descodificación de imágenes en movimiento 50a descodifica un tren de bits Bsa (véase la Figura 14(a)) generado por el aparato de codificación de imágenes en movimiento 10a según la primera forma de realización. En este caso, el bloque es un macrobloque que se compone de 16 píxeles verticales x 16 píxeles horizontales.
Es decir, el aparato de descodificación de imágenes en movimiento 50a comprende un analizador de trenes de bits 501 que analiza el tren de bits de entrada Bsa y genera diversos tipos de información de cabecera que se almacenan en el área de cabecera Ha del tren de bits Bsa, y unos datos que se almacenan en la parte de datos de secuencia Dsq del tren de bits Bsa. En este caso, el área de cabecera Ha comprende un identificador de nivel H1 como un tipo de información de cabecera. Además, la parte de datos de secuencia Dsq contiene una cabecera de secuencia Sh y también contiene información Ms de la modalidad de codificación, datos codificados Cd, información MV del vector de movimiento e información similar correspondiente a cada macrobloque. Asimismo, la cabecera de secuencia Sh comprende información que indica el tamaño de la imagen de entrada que ha sido sometida al procedimiento de codificación en la parte de codificación (información del tamaño de la imagen de entrada) Ipx. Esta información del tamaño de la imagen de entrada Ipx se compone de la información Ihpx que indica el número de píxeles verticales (Nhpx) de la imagen de entrada, y de la información Iwpx que indica el número de píxeles horizontales (Nwpx) de la imagen de entrada.
El aparato de descodificación de imágenes en movimiento 50a comprende un descodificador de predicción residual 502 que descodifica mediante descompresión los datos codificados Cd del analizador de trenes de bits 501 y genera datos residuales descodificados Dd del bloque de destino; un sumador 511 que suma los datos residuales descodificados Dd del bloque de destino y los datos de predicción Pd del bloque de destino y genera datos de imagen del bloque de destino (en lo sucesivo, denominados "datos descodificados") Rd; y una memoria de imágenes 503, en la que se almacenan temporalmente los datos de salida Dd del descodificador de predicción residual 502 o los datos de salida Rd del sumador 511, que suministra los datos descodificados almacenados Ed como datos DRd de la imagen a la cual se va a hacer referencia en la descodificación del bloque de destino, de conformidad con una señal de designación de imagen DSpd. En este caso, en la memoria de imágenes 503, los datos de imagen de las imágenes descodificadas que están dispuestos en el orden de descodificación se redistribuyen en el orden de presentación. Los datos de imagen de las imágenes descodificadas que han sido redistribuidos en el orden de presentación se obtienen de la memoria de imágenes 503 en unidades de imágenes, como datos de imagen Od de la imagen de salida.
El aparato de descodificación de imágenes en movimiento 50a comprende un descodificador de compensación de movimiento 504 que genera datos de predicción Pd para el bloque de destino, basándose en el vector de movimiento MV del analizador de trenes de bits 501 y los datos de salida (datos de imágenes de referencia candidatas) DRd de la memoria de imágenes 503; y una unidad de almacenamiento de vectores de movimiento 505 en la cual se almacena el vector de movimiento MV del bloque que ha sido suministrado al descodificador de compensación de movimiento 504.
El aparato de descodificación de imágenes en movimiento 50a comprende un conmutador selector 508 que selecciona los datos de salida Dd del descodificador de predicción residual 502 o los datos de salida Rd del sumador 511, y suministra los datos seleccionados como datos de selección Ed. En este caso, el conmutador selector 508 presenta dos terminales de entrada Tc1 y Tc2 y un terminal de salida Td. De conformidad con una señal de control del conmutador, el terminal de salida Td se conecta a uno de los dos terminales de entrada Tc1 o Tc2.
El aparato de descodificación de imágenes en movimiento 50a de la quinta forma de realización comprende un analizador de nivel 509a que genera información que indica el número máximo de píxeles intratrama que pueden descodificarse (Nfpx) (es decir, la información de número máximo de píxeles intratrama) Ifpx, e información que indica el número de píxeles correspondientes al número máximo de datos de imagen que pueden almacenarse en la memoria de imágenes del aparato de descodificación (número máximo de píxeles de almacenamiento (Nspx)) (es decir, la información de número máximo de píxeles de almacenamiento) Ispx, de conformidad con la señal de nivel (identificador de nivel) Lst que indica el nivel de codificación del analizador de trenes de bits 501. Esta unidad de análisis de nivel 509 incluye información de la tabla T1 representada en la Figura 15. La tabla T1 define la correspondencia entre el valor del identificador de nivel y el número máximo de píxeles intratrama y el número máximo de píxeles de almacenamiento.
El aparato de descodificación de imágenes en movimiento 50a comprende una unidad de evaluación (unidad de evaluación de la capacidad de descodificación) 506a que determina si la descodificación del tren de bits de entrada es posible o no, basándose en la información de número máximo de píxeles intratrama Ifpx que se obtiene del analizador de nivel 509a y la información que indica el número de píxeles verticales (h) y el número de píxeles horizontales (w) de la imagen de entrada (información de tamaño de la imagen de entrada) Ipx, que se obtiene del analizador de trenes de bits 501, y genera una señal que indica el resultado de la evaluación (señal de resultado de evaluación) DSjd. El aparato de descodificación de imágenes en movimiento 50a comprende asimismo un calculador (calculador de número máximo de imágenes de referencia) 507a que calcula el número de imágenes de referencia candidatas (número máximo de imágenes de referencia) Nrpn a las cuales se puede hacer referencia en la descodificación por predicción interimagen, basándose en la información de número máximo de píxeles de almacenamiento Ispx y la información del tamaño de la imagen de entrada Ipx, y genera información Irpn que indica el número calculado Nrpn (número máximo de imágenes de referencia).
El aparato de descodificación de imágenes en movimiento 50a comprende asimismo una unidad de control 510 que controla las operaciones de los respectivos componentes del aparato de descodificación de imágenes en movimiento 50a con las señales de control Dct1, Dct2, ..., Dctn, basándose en la señal de resultado de evaluación DSjd y la información de modalidad de codificación Ms del analizador de trenes de bits 501. Esta unidad de control 510 controla el conmutador 508 con una señal de control predeterminada, según la modalidad de codificación indicada por la señal de modalidad Ms del analizador de trenes de bits 501. La unidad de control 510 controla asimismo las operaciones del descodificador de predicción residual 502, el descodificador de compensación de movimiento 504 y similares, con las señales de control Dct1, Dct2, ..., Dctn, basándose en la señal de resultado de evaluación DSjd. Es decir, cuando la señal de resultado de evaluación DSjd indica que la descodificación del tren de datos de entrada Bsa es posible, la unidad de control 510 controla el descodificador de predicción residual 502, el descodificador de compensación de movimiento 504 y similares, para ejecutar la descodificación del tren de bits de entrada Bsa. Por otro lado, cuando la señal de resultado de evaluación DSjd indica que la descodificación del tren de bits de entrada Bsa es imposible, la unidad de control 510 controla el descodificador de predicción residual 502, el descodificador de compensación de movimiento 504 y similares, para no ejecutar la descodificación del tren de bits de entrada Bsa.
La estructura específica de la unidad de evaluación de la capacidad de descodificación 506a del aparato de descodificación de imágenes en movimiento 50a según la quinta forma de realización es igual a la de la unidad de evaluación de la capacidad de codificación 108a del aparato de codificación de imágenes en movimiento 10a según la primera forma de realización representada en la Figura 2.
La estructura específica del calculador de número máximo de imágenes de referencia 507a del aparato de descodificación de imágenes en movimiento 50a según la quinta forma de realización es igual a la del calculador de número máximo de imágenes de referencia 109a del aparato de codificación de imágenes en movimiento 10a según la primera forma de realización representada en la Figura 3.
A continuación, se describe el funcionamiento.
Cuando el tren de bits Bsa se introduce en el aparato de descodificación de imágenes en movimiento 50a, inicialmente, el analizador de trenes de bits 501 analiza el tren de bits Bsa para extraer diversos tipos de información, tales como información de modalidad de codificación Ms, información de vector de movimiento MV y datos codificados Cd del tren de bits Bsa. A continuación, el analizador de trenes de bits 501 extrae de forma simultánea diversos tipos de información de cabecera contenidos en el área de cabecera Ha del tren de bits Bsa, y transmite información de cabecera al analizador de nivel 509a, la unidad de evaluación de la capacidad de descodificación 506 y el calculador de número máximo de imágenes de referencia 507a.
El analizador de nivel 509a decide el número máximo de píxeles intratrama (Nfpx) y el número máximo de píxeles de almacenamiento (Nspx) con referencia a la tabla T1 (Figura 15) de la cual dispone, de conformidad con la señal de nivel Lst correspondiente a un tipo de información de cabecera H1 contenida en el área de cabecera Ha, y genera información de número máximo de píxeles intratrama Ifpx e información de número máximo de píxeles de almacenamiento Ispx. La información de número máximo de píxeles intratrama Ifpx se introduce en la unidad de evaluación de la capacidad de descodificación 506a y la información de número máximo de píxeles de almacenamiento Ispx se introduce en el calculador de número máximo de imágenes de referencia 507a.
A continuación, la unidad de evaluación de la capacidad de descodificación 506a determina si la descodificación del tren de bits de enterada Bsa es posible o no, basándose en la información de número máximo de píxeles intratrama Ifpx del analizador de nivel 509a y la información de tamaño de imagen de entrada Ipx (información de número de píxeles verticales de la imagen de entrada Ihpx e información de número de píxeles horizontales de la imagen de entrada Iwpx) que han sido extraídas de la cabecera de secuencia Sh del tren de bits Bsa por el analizador de trenes de bits 501, y suministra una señal que indica el resultado de la evaluación (señal de resultado de evaluación) DSjd a la unidad de control 510.
Cuando la señal de resultado de evaluación DSjd indica que la descodificación del tren de bits de entrada Bsa es posible, la unidad de control 510 controla los respectivos componentes del aparato de descodificación de imágenes en movimiento 50a de conformidad con las señales de control Dct1, Dct2, ..., Dctn, para ejecutar la descodificación del tren de bits de entrada Bsa, mientras que cuando la señal de resultado de evaluación DSjd indica que la descodificación del tren de bits de entrada Bsa es imposible, la unidad de control controla los respectivos componentes del aparato de descodificación de imágenes en movimiento 50a de conformidad con las señales de control Dct1, Dct2, ..., Dctn, para no ejecutar la descodificación del tren de bits de entrada Bsa.
Cuando la señal de resultado de evaluación DSjd indica que la descodificación del tren de bits de entrada Bsa es posible, la unidad de control 510 realiza la conmutación entre la modalidad de descodificación por predicción interimagen para el tren de bits Bsa y la modalidad de descodificación por predicción intra-imagen para el tren de bits Bsa, de conformidad con la modalidad de codificación indicada por la señal de modalidad Ms del analizador de trenes de bits 501.
A continuación, cuando la unidad de control 510 selecciona la modalidad de descodificación por predicción interimagen, el conmutador 508 es controlado por una señal de control predeterminada de la unidad de control 510, de tal forma que el terminal de salida Td se conecta al segundo terminal de entrada Tc2. Por otro lado, cuando la unidad de control 510 selecciona la modalidad de descodificación por predicción intra-imagen, el controlador 508 es controlado por una señal de control predeterminada de la unidad de control 510, de tal forma que el terminal de salida Td se conecta al primer terminal de entrada Tc1.
Además, el calculador de número máximo de imágenes de referencia 507a calcula el número de imágenes de referencia candidatas a las cuales se puede hacer referencia en la descodificación por predicción interimagen (número máximo de imágenes de referencia) Nrpn, basándose en la información de número máximo de píxeles de almacenamiento Ispx y la información de número de píxeles verticales Ihpx y la información de número de píxeles horizontales Iwpx de la imagen de entrada, y transmite información que indica el número calculado Nrpn (información de número máximo de imágenes de referencia) Irpn al descodificador de compensación de movimiento 504.
A continuación, se describe en primer lugar el funcionamiento en el caso en el que se selecciona la modalidad de descodificación por predicción interimagen.
Cuando se introduce en el descodificador de compensación de movimiento 504 la información de vector de movimiento MV que el analizador de trenes de bits 501 ha extraído del tren de bits Bsa, el descodificador de compensación de movimiento 504 realiza la compensación de movimiento del macrobloque de destino basándose en la información de número máximo de imágenes de referencia Irpn del calculador de número máximo de imágenes de referencia 507a y los vectores de movimiento MV de los macrobloques descodificados y el vector de movimiento MV del bloque de destino que están almacenados en la unidad de almacenamiento de vectores de movimiento 505, con referencia a una imagen de referencia predeterminada, y transmite datos de predicción Pd correspondientes al bloque de destino al sumador 511. Entonces, los datos de imagen descodificados Ed correspondientes a las imágenes descodificadas se almacenan en la memoria de imágenes 503, como datos de imagen de las imágenes de referencia candidatas, y se especifica la imagen de referencia deseada de las imágenes de referencia candidatas de la memoria de imágenes 503, de conformidad con una señal de designación de imagen Dspd del descodificador de compensación de movimiento 504.
Los datos codificados Cd que han sido extraídos del tren de bits Bsa por el analizador de trenes de bits 501 son descodificados por el descodificador de predicción residual 502, y los datos de imagen de predicción residual Dd que se han obtenido mediante la descodificación se transmiten al sumador 511.
El sumador 511 realiza la suma de los datos de imagen de predicción residual Dd del descodificador de predicción residual 502 y los datos de predicción Pd del descodificador de compensación de movimiento 504, y suministra los datos de imagen Rd que se obtienen mediante la suma a la memoria de imágenes 503, por medio del conmutador 508. A continuación, los datos de imagen Rd de la imagen de destino de descodificación se escriben en la memoria de imágenes 503 como datos descodificados, en unidades de macrobloques.
A continuación, los datos de imagen de las imágenes descodificadas que están dispuestos por orden de descodificación se redistribuyen en el orden de presentación y se obtienen de la memoria de imágenes 503 como datos de imagen Od de la imagen de salida, en unidades de imágenes.
A continuación, se describe brevemente el funcionamiento en el caso en el que se selecciona la modalidad de descodificación por predicción intra-imagen.
En este caso, los datos codificados Cd extraídos del tren de bits Bsa por el analizador de trenes de bits 501 son descodificados por el descodificador de predicción residual 502, y los datos de predicción residual Dd obtenidos mediante la descodificación se almacenan tal cual en la memoria de imágenes 503 como datos descodificados Rd, por medio del conmutador 508.
A continuación, se describen brevemente las operaciones específicas de la unidad de evaluación de la capacidad de descodificación 506a y el calculador de número máximo de imágenes de referencia 507a del aparato de descodificación de imágenes en movimiento 50a.
La unidad de evaluación de la capacidad de descodificación 506a del aparato de descodificación de imágenes en movimiento 50a según la quinta forma de realización determina si la descodificación del tren de bits de entrada es posible o no, de conformidad con las fórmulas condicionales (fórmula 1), (fórmula 2a), (fórmula 2b), (fórmula 3a) y (fórmula 3b) mencionadas anteriormente, tal como lo hace la unidad de evaluación de la capacidad de codificación 108a del aparato de codificación de imágenes en movimiento 10a según la primera forma de realización.
Más particularmente, la unidad de evaluación de la capacidad de descodificación 506a realiza la operación indicada por la (fórmula 1) basándose en la información de número de píxeles verticales Ihpx y la información de número de píxeles horizontales Iwpx de la imagen de entrada contenidas en la información de tamaño de la imagen de entrada Ipx que se obtiene del analizador de trenes de bits 501. Dicho de otro modo, se realiza la multiplicación para obtener el producto (hxw) del número de píxeles verticales (h) y el número de píxeles horizontales (w) de la imagen de entrada y, a continuación, la comparación entre el resultado de la multiplicación (hxw) y el número máximo de píxeles intratrama (Nfpx) (es decir, la comparación de número de píxeles intratrama). A continuación, la unidad de evaluación de la capacidad de descodificación 506a calcula el número máximo de píxeles verticales (H) y el número máximo de píxeles horizontales (W) indicados por la (fórmula 3a) y la (fórmula 3b), respectivamente, basándose en la información de número de píxeles verticales Ihpx y la información de número de píxeles horizontales Iwps de la imagen de entrada.
En este caso, la (fórmula 3a) y la (fórmula 3b) indican que el número máximo de píxeles verticales (H) y el número máximo de píxeles horizontales (W) son, respectivamente, la raíz cuadrada positiva del valor que se obtiene multiplicando el producto del número de píxeles verticales (h) y el número de píxeles horizontales (w) de la imagen de entrada, por N. Por ejemplo, cuando N=8, la (fórmula 3a) indica que el número máximo de píxeles verticales se decide de tal modo que la razón entre el número de píxeles verticales y el número de píxeles horizontales es inferior a 8:1, y la (fórmula 3b) indica que el número máximo de píxeles horizontales se decide de tal modo que la razón entre el número de píxeles verticales y el número de píxeles horizontales es inferior a 1:8.
La unidad de evaluación de la capacidad de descodificación 506a realiza una operación, tal como una omisión, una elevación o un semiajuste para redondear a un múltiplo de 16 el número máximo de píxeles verticales (H) y el número máximo de píxeles horizontales (W), respectivamente, y a continuación realiza la comparación entre el número de píxeles verticales de la imagen de entrada (h) y el número máximo de píxeles verticales redondeado (H) (comparación de número de píxeles verticales) y la comparación entre el número de píxeles horizontales de la imagen de entrada (w) y el número máximo de píxeles horizontales redondeado (W) (comparación de número de píxeles horizontales).
A continuación, basándose en los resultados de la comparación de número de píxeles intratrama, la comparación de número de píxeles verticales y la comparación de número de píxeles horizontales, se determina finalmente si la descodificación es posible o no.
El calculador de número máximo de imágenes de referencia 507a del aparato de codificación de imágenes en movimiento 50a según la quinta forma de realización calcula el número máximo de imágenes de referencia candidatas que se emplean en la descodificación por predicción interimagen, de conformidad con la operación indicada por la (fórmula 4).
El calculador de número máximo de imágenes de referencia 507a calcula el número total de píxeles de una trama (hxw) para obtener el tamaño de la imagen de entrada, basándose en la información de número de píxeles verticales Ihpx y la información de número de píxeles horizontales Iwpx de la imagen de entrada del analizador de trenes de bits 501.
Además, el calculador de número máximo de imágenes de referencia 507a realiza la operación de dividir el número máximo de píxeles de almacenamiento (Nspx) por el resultado de la multiplicación (hxw), y también la operación de restar 1 del resultado de la división (Nspx/(hxw)), obteniéndose de ese modo el resultado de la resta (Nspx/(hxw) -1) que constituye el número máximo de imágenes de referencia.
Tal como se ha descrito anteriormente, el aparato de descodificación de imágenes en movimiento 50a de la quinta forma de realización incluye el analizador de nivel 509a que decide el número máximo de píxeles intratrama (Nfpx) que pueden descodificarse y el número máximo de píxeles de almacenamiento (Nspx) que pueden almacenarse en la memoria de imágenes 503, de conformidad con la señal de nivel Lst que indica el identificador de nivel que ha sido extraído del tren de bits Bsa por el analizador de trenes de bits 501, y determina de ese modo si la descodificación del tren de bits de entrada Bsa es posible o no, basándose en el número máximo de píxeles intratrama (Nfpx) y el tamaño de la imagen de entrada (número de píxeles verticales Nfpx y número de píxeles horizontales Nwpx), y calcula el número de imágenes de referencia candidatas a las cuales se puede hacer referencia en la descodificación por predicción interimagen (número máximo de imágenes de referencia) Nrpn. Por consiguiente, el identificador puede hallar, entre los trenes de bits que han sido suministrados desde la parte de codificación, un tren de bits que puede ser descodificado por el aparato de descodificación de imágenes en movimiento, lo cual permite realizar de forma satisfactoria la descodificación por predicción de imágenes correspondiente a la codificación por predicción de imágenes de la parte de codificación. A su vez, esto permite diseñar, en el aparato de descodificación, un área de memoria que se corresponde con el procedimiento de codificación que no impone ninguna restricción a la capacidad del área de memoria.
En la quinta forma de realización, se emplea la tabla T1, en la que los pares de número máximo de píxeles intratrama y número máximo de píxeles de almacenamiento están correlacionados con los niveles de codificación (valores de identificador de nivel) (véase la Figura 15), como tabla para definir la correspondencia entre el nivel de codificación y el número máximo de píxeles intratrama y el número máximo de píxeles de almacenamiento. No obstante, en lugar de la tabla T1, puede utilizarse una tabla T1a que define la correspondencia entre el valor del identificador de nivel y el número máximo de píxeles intratrama (Figura 16(a)) y una tabla T1b que define la correspondencia entre el valor del identificador de nivel y el número máximo de píxeles de almacenamiento (Figura 16(b)).
\newpage
Forma de realización 6
La Figura 11 es un diagrama de bloques que representa un aparato de descodificación de imágenes en movimiento 50b según una sexta forma de realización de la presente invención.
El aparato de descodificación de imágenes en movimiento 50b según la sexta forma de realización recibe un tren de bits correspondiente a la pluralidad de imágenes que constituyen una imagen en movimiento y descodifica el tren de bits en unidades de procesamiento de datos predeterminadas, es decir, en unidades de bloques. Más particularmente, el aparato de descodificación de imágenes en movimiento 50b descodifica el tren de bits Bsb que es generado por el aparato de codificación de imágenes en movimiento 10b según la segunda forma de realización (véase la Figura
14(b)). Por consiguiente, en la sexta forma de realización, el analizador de trenes de bits 501 analiza la información de cabecera H1 y H2 para extraer el identificador de nivel Lst y la señal de número de identificación Cid y analiza la parte de datos de secuencia Dsq para extraer información Ms de modalidad de codificación, datos codificados Cd, información de vector de movimiento Mb, información de tamaño de la imagen de entrada Ipx y otros datos similares correspondientes a cada macrobloque.
Además, el analizador de nivel 509b del aparato de descodificación de imágenes en movimiento 50b según la sexta forma de realización contiene las tablas T1 y T2 y genera información de número máximo de píxeles intratrama Ifpx e información de número máximo de píxeles de almacenamiento Ispx, basándose en la señal de nivel Lst del analizador de trenes de bits 501, y genera asimismo información de coeficiente de cálculo de número de píxeles \alphapx basándose en la señal de número de identificación Cid del analizador de trenes de bits 501. La unidad de evaluación de la capacidad de descodificación 506b según la sexta forma de realización determina si la descodificación del tren de bits de entrada Bsb es posible o no, basándose en la información de número máximo de píxeles intratrama Ifpx y la información de coeficiente de cálculo de número de píxeles \alphapx del analizador de nivel 509b, y la información de tamaño de la imagen de entrada Ipx del analizador de trenes de bits 501. En este caso, la información de coeficiente de cálculo de número de píxeles \alphapx se compone de la información \alphahpx que indica el coeficiente de cálculo de número de píxeles verticales (N\alphahpx) y la información \alphawpx que indica el coeficiente de cálculo de número de píxeles horizontales (N\alphawpx).
Las estructuras de los otros componentes del aparato de descodificación de imágenes en movimiento 50b según la sexta forma de realización son iguales a las de los otros componentes del aparato de descodificación de imágenes en movimiento 50a según la quinta forma de realización.
La estructura específica de la unidad de evaluación de la capacidad de descodificación 506b del aparato de descodificación de imágenes en movimiento 50b según la sexta forma de realización es idéntica a la de la unidad de evaluación de la capacidad de codificación 108b del aparato de codificación de imágenes en movimiento 100b según la segunda forma de realización representada en la Figura 5.
A continuación, se describe el funcionamiento.
El funcionamiento del aparato de descodificación de imágenes en movimiento 50b según la sexta forma de realización difiere del funcionamiento del aparato de descodificación de imágenes en movimiento 50a según la quinta forma de realización sólo en las operaciones del analizador de trenes de bits 501, la unidad de evaluación de la capacidad de descodificación 506b y el analizador de nivel 509b.
A continuación, se describen principalmente las operaciones del analizador de trenes de bits 501, la unidad de evaluación de la capacidad de descodificación 506b y el analizador de nivel 509b.
Cuando se introduce el tren de bits Bsb en el aparato de descodificación de imágenes en movimiento 50b, el analizador de trenes de bits 501 analiza el tren de bits Bsb y extrae diversos tipos de información, tal como información de modalidad de codificación Ms, información de vector de movimiento MV y datos codificados Cd del tren de bits Bsb. A continuación, los diversos tipos de información de cabecera comprendidos en el área de cabecera Hb del tren de bits Bsb son extraídos de forma simultánea e introducidos en el analizador de nivel 509b, la unidad de evaluación de la capacidad de descodificación 506b y el calculador de número máximo de imágenes de referencia 507a.
El analizador de nivel 509b genera información de número máximo de píxeles intratrama Ifpx e información de número máximo de píxeles de almacenamiento Ispx de conformidad con un identificador de nivel (señal de nivel) Lst correspondiente a la información (código) de cabecera H1 del área de cabecera Hb, con referencia a la tabla T1 (Figura 15) de la cual dispone. El analizador de nivel 509b genera información de coeficiente de cálculo de número de píxeles \alphapx (información de coeficiente de cálculo de número de píxeles verticales \alphahpx e información de coeficiente de cálculo de número de píxeles horizontales \alphawpx) de conformidad con la señal de número de identificación Cid correspondiente a la información (código) de cabecera H2 del área de cabecera Hb, con referencia a la tabla T2 (Figura 17(a)) de la cual dispone. La información de número máximo de píxeles intratrama Ifpx y la información de coeficiente de cálculo de número de píxeles \alphapx se introduce en la unidad de evaluación de la capacidad de descodificación 506b, mientras que la información de número máximo de píxeles de almacenamiento Ispx se introduce en el calculador de número máximo de imágenes de referencia 507a.
A continuación, la unidad de evaluación de la capacidad de descodificación 506b determina si la descodificación del tren de bits de entrada Bsb es posible o no, basándose en la información de número máximo de píxeles intratrama Ifpx y la información de coeficiente de cálculo de número de píxeles \alphapx (información de coeficiente de cálculo de número de píxeles verticales \alphahpx e información de coeficiente de cálculo de número de píxeles horizontales \alphawpx) del analizador de nivel 509b, y la información de tamaño de la imagen de entrada Ipx (información de número de píxeles verticales de la imagen de entrada Ihpx e información de número de píxeles horizontales de la imagen de entrada Iwpx) extraída de la cabecera de secuencia Sh por el analizador de trenes de bits 501, y transmite una señal que indica el resultado de la evaluación (señal de resultado de evaluación) DSjd a la unidad de control 510.
En la sexta forma de realización, la descodificación del tren de bits de entrada Bsb se realiza de conformidad con la señal de resultado de evaluación DSjd, de la misma manera que el aparato de descodificación de imágenes en movimiento 50a según la quinta forma de realización.
A continuación, se describe brevemente una operación específica de la unidad de evaluación de la capacidad de descodificación 506b del aparato de descodificación de imágenes en movimiento 50b.
La unidad de evaluación de la capacidad de descodificación 506b del aparato de descodificación de imágenes en movimiento 50b según la sexta forma de realización determina si es posible o no descodificar el tren de bits de entrada Bsb de conformidad con las fórmulas condicionales mencionadas anteriormente, es decir, la (fórmula 1), la (fórmula 2a), la (fórmula 2b), la (fórmula 8a) y la (fórmula 8b).
Inicialmente, la unidad de evaluación de la capacidad de descodificación 506b realiza la operación indicada por la (fórmula 1) basándose en la información de tamaño de la imagen de entrada Ipx (información de número de píxeles verticales Ihpx e información de número de píxeles horizontales Iwpx de la imagen de entrada) que se obtiene del analizador de trenes de bits 501, como en la unidad de evaluación de la capacidad de descodificación 506a según la quinta forma de realización. Dicho de otro modo, se realiza la multiplicación para obtener el producto (hxw) del número de píxeles verticales (h) y el número de píxeles horizontales (w) de la imagen de entrada y, a continuación, la comparación entre el resultado de la multiplicación (hxw) y el número máximo de píxeles intratrama (Nfpx) (es decir, la comparación de número de píxeles intratrama).
A continuación, la unidad de evaluación de la capacidad de descodificación 506b calcula el número máximo de píxeles verticales (H) y el número máximo de píxeles horizontales (W) indicados por la (fórmula 8a) y la (fórmula 8b), basándose en la información de número de píxeles intratrama Ifpx y la información de coeficiente de cálculo de píxeles \alphapx (información de coeficiente de cálculo de número de píxeles verticales \alphahpx e información de coeficiente de cálculo de píxeles horizontales \alphawpx).
En este caso, la (fórmula 8a) y la (fórmula 8b) indican que el número máximo de píxeles verticales (H) y el número máximo de píxeles horizontales (W) se obtienen dividiendo el número máximo de píxeles intratrama (Nfpx) por el coeficiente de cálculo de número de píxeles verticales (N\alphahpx) y el coeficiente de cálculo de número de píxeles horizontales (N\alphawpx), respectivamente.
Además, la unidad de evaluación de la capacidad de descodificación 506b redondea el número máximo de píxeles verticales (H) y el número máximo de píxeles horizontales (W) a un múltiplo de 16, respectivamente, mediante una operación tal como una omisión, una elevación o un semiajuste, compara el número de píxeles verticales de la imagen de entrada (h) y el número máximo de píxeles verticales redondeado (H) (es decir, realiza la comparación de número de píxeles verticales) y compara el número de píxeles horizontales de la imagen de entrada (w) y el número máximo de píxeles horizontales redondeado (W) (es decir, realiza la comparación de número de píxeles horizontales).
A continuación, se obtiene la evaluación definitiva de la capacidad o la incapacidad para realizar la descodificación, basándose en los resultados de la comparación de número de píxeles intratrama, la comparación de número de píxeles verticales y la comparación de número de píxeles horizontales.
Tal como se ha descrito anteriormente, el aparato de descodificación de imágenes en movimiento 50b según la sexta forma de realización comprende la unidad de analizador de nivel 509b que decide el número máximo de píxeles intratrama (Nfpx) que pueden descodificarse y el número máximo de píxeles de almacenamiento (Nspx) que pueden almacenarse en la memoria de imágenes 503, así como el coeficiente de cálculo de número de píxeles (N\alphapx), basándose en el identificador de nivel (señal de nivel) Lst y la señal de número de identificación Cid que son extraídos del tren de bits Bsb por el analizador de trenes de bits 501, y determina de ese modo si la descodificación del tren de bits de entrada Bsb es posible o no basándose en el número máximo de píxeles intratrama (Nfpx) y el coeficiente de cálculo de número de píxeles (N\alphapx) que ha elegido el analizador de nivel 509b y la información de tamaño de la imagen de entrada Ipx comprendida en el tren de bits Bsb, y calcula el número de imágenes de referencia candidatas (número máximo de imágenes de referencia) Nrpn a las cuales se puede hacer referencia en la descodificación por predicción interimagen. Por consiguiente, de los trenes de bits que han sido suministrados desde la parte de codificación, se identifica el tren de bits que puede ser descodificado por el aparato de descodificación de imágenes en movimiento basándose en el identificador de nivel, y de ese modo puede realizarse de forma satisfactoria la descodificación por predicción de imágenes correspondiente a la codificación por predicción de imágenes de la parte de codificación. En consecuencia, puede diseñarse un área de memoria en el aparato de descodificación que se adapta a un procedimiento de codificación que no impone ninguna restricción a la capacidad del área de la memoria.
\newpage
En la sexta forma de realización, el número máximo de píxeles verticales (H) y el número máximo de píxeles horizontales (W) se obtienen dividiendo el número máximo de píxeles intratrama (Nfpx) por el coeficiente de cálculo de número de píxeles verticales (N\alphahpx) y el coeficiente de cálculo de número de píxeles horizontales (N\alphawpx), respectivamente, hecho que permite simplificar el procedimiento de cálculo del número máximo de píxeles verticales (H) y el número máximo de píxeles horizontales (W), en comparación con la quinta forma de realización.
En la sexta forma de realización. el identificador de nivel correspondiente al número máximo de píxeles intratrama (Nfpx) y el número máximo de píxeles de almacenamiento (Nspx), y el número de identificación correspondiente al coeficiente de cálculo de número de píxeles verticales (N\alphahpx) y el coeficiente de cálculo de número de píxeles horizontales (N\alphawpx) son parámetros que indican condiciones de codificación independientes, respectivamente. No obstante, el valor del número de identificación puede estar correlacionado con el valor del identificador de nivel.
En este caso, los valores específicos del coeficiente de cálculo de número de píxeles verticales (N\alphahpx) y el coeficiente de cálculo de número de píxeles horizontales (N\alphawpx) se deciden junto con los valores específicos del numero máximo de píxeles intratrama (Nfpx) y el número máximo de píxeles de almacenamiento (Nspx) basándose en la señal de nivel Lst que indica el identificador de nivel, con referencia a las tablas T1 y T2. Es decir, cuando la señal de nivel Lst del analizador de trenes de bits 501 se introduce en el analizador de nivel 509b, el analizador de nivel 509b genera información Ifpx e Ispx que indica el número máximo de píxeles intratrama (Nfpx) y el número máximo de píxeles de almacenamiento (Nspx), respectivamente, con referencia a la tabla T1, basándose en la señal de nivel Lst, y además genera la información de coeficiente de cálculo de número de píxeles \alphapx basándose en el número de identificación correspondiente al identificador de nivel, con referencia a la tabla T2. En este caso, el tren de bits Bsb comprende sólo el código H1 correspondiente a la señal de nivel Lst, y por lo tanto la señal de número de identificación Cid correspondiente al código H2 no se transmite desde el analizador de trenes de bits 501 hasta el analizador de nivel 509b.
Según la sexta forma de realización, el aparato de descodificación de imágenes en movimiento analiza el código H1 del identificador de nivel correspondiente al número máximo de píxeles intratrama (Nfpx) y el número máximo de píxeles de almacenamiento (Nspx), y el código H2 del número de identificación correspondiente al coeficiente de cálculo de número de píxeles verticales (N\alphahpx) y el coeficiente de cálculo de número de píxeles horizontales (N\alphawpx), obtiene el número máximo de píxeles intratrama (Nfpx) y el número máximo de píxeles de almacenamiento (Nspx) con referencia a la tabla T1, basándose en el identificador de nivel obtenido mediante el análisis del código H1, y finalmente obtiene el coeficiente de cálculo de número de píxeles verticales (N\alphahpx) y el coeficiente de cálculo de número de píxeles horizontales (N\alphawpx) con referencia a la tabla T2, basándose en la señal de número de identificación Cid obtenida mediante el análisis del código H2. No obstante, el aparato de descodificación de imágenes en movimiento puede analizar el código que se obtiene mediante la codificación de la información del coeficiente de cálculo del número de píxeles \alphapx que indica el coeficiente de cálculo de número de píxeles verticales (N\alphahpx) y el coeficiente de cálculo de número de píxeles horizontales (N\alphawpx) que el usuario ha elegido arbitrariamente, y obtener directamente la información de coeficiente de cálculo de número de píxeles \alphapx mediante el análisis del código.
En este caso, la decisión de los valores específicos del número máximo de píxeles intratrama (Nfpx) y el número máximo de píxeles de almacenamiento (Nspx) se toma con referencia a la tabla T1, mientras que la decisión de los valores específicos del coeficiente de cálculo de número de píxeles verticales (N\alphahpx) y el coeficiente de cálculo de número de píxeles horizontales (N\alphawpx) se toma mediante el análisis del código correspondiente a la información de coeficiente de cálculo de número de píxeles \alphapx, sin referencia a la tabla.
Es decir, cuando la señal de nivel Lst del analizador de trenes de bits 501 se introduce en el analizador de nivel 509b, el analizador de nivel 509b transmite la información Ifpx que indica el número máximo de píxeles intratrama (Nfpx) decidido con referencia a la tabla T1, a la unidad de evaluación de la capacidad de descodificación 506b, y transmite la información Ispx que indica el número máximo de píxeles de almacenamiento (Nspx) decidido con referencia a la tabla T1, al calculador de número máximo de imágenes de referencia 507a, de conformidad con la señal de nivel Lst. Además, la información de coeficiente de cálculo de número de píxeles \alphapx que indica los valores específicos del coeficiente de cálculo de número de píxeles verticales (N\alphahpx) y el coeficiente de cálculo de número de píxeles horizontales (N\alphawpx), que se obtienen mediante el análisis del código realizado por el analizador de trenes de bits 501, se introduce directamente en la unidad de evaluación de la capacidad de descodificación 506b.
Forma de realización 7
La Figura 12 es un diagrama de bloques que representa el aparato de descodificación de imágenes en movimiento 50c según la séptima forma de realización de la presente invención.
El aparato de descodificación de imágenes en movimiento 50c según la séptima forma de realización recibe un tren de bits correspondiente a la pluralidad de imágenes que constituye una imagen en movimiento y descodifica el tren de bits en unidades de procesamiento de datos predeterminadas (unidades de bloques). Más particularmente, el aparato de descodificación de imágenes en movimiento 50c descodifica el tren de bits Bsc (Figura 14(c)) generado por el aparato de codificación de imágenes en movimiento 10c según la tercera forma de realización. Por consiguiente, el analizador de trenes de bits 501 según la séptima forma de realización analiza la información de cabecera H1 y H3, para extraer el identificador de nivel Lst y la señal de número de identificación Sid, y analiza los datos de la parte de datos de secuencia Dsq, para extraer información correspondiente a cada macrobloque, tal como información de modalidad de codificación Ms, datos codificados Cd, información de vector de movimiento MV e información de tamaño de imagen de entrada Ipx.
El analizador de nivel 509c del aparato de descodificación de imágenes en movimiento 50c según la séptima forma de realización dispone de las tablas T1 y T3 y genera información de número máximo de píxeles intratrama Ifpx e información de número máximo de píxeles de almacenamiento Ispx, basándose en la señal de nivel Lst generada por el analizador de trenes de bits 501, y genera también información de tamaño máximo de la imagen Impx, basándose en la señal de número de identificación Sid generada por el analizador de trenes de bits 501. Además, la unidad de evaluación de la capacidad de descodificación 506c según la séptima forma de realización determina si la descodificación del tren de bits de entrada Bsc es posible o no basándose en la información de número máximo de píxeles intratrama Ifpx y la información de tamaño máximo de la imagen Impx del analizador de nivel 509c y la información de tamaño de la imagen de entrada Ipx del analizador de trenes de bits 501. En este caso, la información de tamaño máximo de la imagen Impx se compone de la información Imhpx que indica el número máximo de píxeles verticales (H) y la información Imwpx que indica el número máximo de píxeles horizontales (W).
Las estructuras de los otros componentes del aparato de descodificación de imágenes en movimiento 50c según la séptima forma de realización son iguales a las de los otros componentes del aparato de descodificación de imágenes en movimiento 50a según la quinta forma de realización.
Además, la estructura específica de la unidad de evaluación de la capacidad de descodificación 506c del aparato de descodificación de imágenes en movimiento 50c según la séptima forma de realización es idéntica a la de la unidad de evaluación de la capacidad de codificación 108c del aparato de codificación de imágenes en movimiento 10c según la tercera forma de realización representada en la Figura 7.
A continuación, se describe el funcionamiento.
Cuando el tren de bits Bsc se introduce en el aparato de descodificación de imágenes en movimiento 50c, el analizador de trenes de bits 501 analiza primero el tren de bits Bsc y extrae diversos tipos de información, tal como información de modalidad de codificación Ms, información de vector de movimiento MV y datos codificados Cd, del tren de bits Bsc. A continuación, los diversos tipos de información de cabecera comprendidos en el área de cabecera Hc del tren de bits Bsc se extraen de forma simultánea y se transmiten al analizador de nivel 509c, la unidad de evaluación de la capacidad de descodificación 506c y el calculador de número máximo de imágenes de referencia 507a.
El analizador de nivel 509c consulta la tabla T1 (Figura 15) de la cual dispone y genera información de número máximo de píxeles intratrama Ifpx e información de número máximo de píxeles de almacenamiento Ispx de conformidad con la señal de nivel (señal de identificador de nivel) Lst correspondiente a la información (código) de cabecera H1 del área de cabecera Hc. Además, el analizador de nivel 509c consulta la tabla T3 (Figura 18(a)) de la cual dispone y genera información de tamaño máximo de la imagen Impx (información de número máximo de píxeles verticales Imhpx e información de número máximo de píxeles horizontales Imwpx) de conformidad con una señal de número de identificación Sid correspondiente a la información (código) de cabecera H3 del área de cabecera Hc. La información de número máximo de píxeles intratrama Ifpx y la información de tamaño máximo de la imagen Impx se introducen en la unidad de evaluación de la capacidad de descodificación 506c, mientras que la información de número máximo de píxeles de almacenamiento Ispx se introduce en el calculador de número máximo de imágenes de referencia 507a.
A continuación, la unidad de evaluación de la capacidad de descodificación 506c determina si la descodificación del tren de bits de entrada Bsc es posible o no, basándose en la información de número máximo de píxeles intratrama Ifpx y la información de tamaño máximo de la imagen Impx (información de número máximo de píxeles verticales Imhpx e información de número máximo de píxeles horizontales Imwpx) del analizador de nivel 509c y la información de tamaño de la imagen de entrada Ipx (información de número de píxeles verticales de la imagen de entrada Ihpx e información de número de píxeles horizontales de la imagen de entrada Iwpx) que ha sido extraída de la cabecera de secuencia por el analizador de trenes de bits 501, y transmite una señal que indica el resultado de la evaluación (señal de resultado de evaluación) DSjd a la unidad de control 510.
En la séptima forma de realización, la descodificación del tren de bits Bsc se realiza de conformidad con la señal de resultado de evaluación DSjd de la misma manera que el aparato de descodificación de imágenes en movimiento 50a de la quinta forma de realización.
A continuación, se describe brevemente una operación específica de la unidad de evaluación de la capacidad de descodificación 506c del aparato de descodificación de imágenes en movimiento 50c.
En la unidad de evaluación de la capacidad de descodificación 506c del aparato de descodificación de imágenes en movimiento 50a según la séptima forma de realización, se determina si la descodificación del tren de bits de entrada Bsc es posible o no, de conformidad con las fórmulas condicionales (fórmula 1), (fórmula 2a) y (fórmula 2b).
Inicialmente, la unidad de evaluación de la capacidad de descodificación 506c realiza la operación indicada por la (fórmula 1), basándose en la información de tamaño de la imagen de entrada Ipx (información de número de píxeles verticales Ihpx e información de número de píxeles horizontales Iwpx) que se obtiene del analizador de trenes de bits 501, de la misma manera que la unidad de evaluación de la capacidad de descodificación 506a según la quinta forma de realización. Es decir, se realiza la multiplicación para obtener el producto (hxw) del número de píxeles verticales (h) y el número de píxeles horizontales (w) de la imagen de entrada, y la comparación entre el resultado de la multiplicación (hxw) y el número máximo de píxeles intratrama (Nfpx) (es decir, la comparación de número de píxeles
intratrama).
A continuación, basándose en la información de tamaño máximo de la imagen Impx (información de número máximo de píxeles verticales Imhpx y la información de número máximo de píxeles horizontales Imwpx), la unidad de evaluación de la capacidad de descodificación 506c realiza la comparación entre el número de píxeles verticales de la imagen de entrada (h) y el número máximo de píxeles verticales (H) indicado por la información de número máximo de píxeles verticales Imhpx (es decir, la comparación de número de píxeles verticales), y la comparación entre el número de píxeles horizontales de la imagen de entrada (w) y el número máximo de píxeles horizontales (W) indicado por la información de número máximo de píxeles horizontales Imwpx (es decir, la comparación de número de píxeles horizontales).
A continuación, se evalúa finalmente si la descodificación es posible o no basándose en los resultados de la comparación de número de píxeles intratrama, la comparación de número de píxeles verticales y la comparación de número de píxeles horizontales.
Como se ha descrito anteriormente, el aparato de descodificación de imágenes en movimiento 50c según la séptima forma de realización comprende el analizador de nivel 509c que decide el número máximo de píxeles intratrama (Nfpx) que pueden descodificarse y el número máximo de píxeles de almacenamiento (Nspx) que pueden almacenarse en la memoria de imágenes 503 y decide el tamaño máximo de la imagen (Nmpx), basándose en el identificador de nivel (señal de nivel) Lst y la señal de número de identificación Sid que son extraídos del tren de bits Bsc por el analizador de trenes de bits 501, y determina de ese modo si la descodificación del tren de bits de entrada Bsc es posible o no, basándose en el número máximo de píxeles intratrama (Nfpx) y el tamaño máximo de la imagen (Nmpx) que han sido elegidos por el analizador de nivel 509c, y la información de tamaño de la imagen de entrada Ipx comprendida en el tren de bits Bsc, y calcula el número de imágenes de referencia candidatas a las cuales se puede hacer referencia en la descodificación por predicción interimagen (número máximo de imágenes de referencia) Nrpn. Por consiguiente, de los trenes de bits que han sido suministrados desde la parte de codificación, pueden identificarse los trenes de bits que pueden ser descodificados por el aparato de descodificación de imágenes en movimiento basándose en el identificador de nivel, lo cual permite realizar de forma satisfactoria la descodificación por predicción de imágenes correspondiente a la codificación por predicción de imágenes de la parte de codificación. En consecuencia, es posible diseñar un área de memoria en el aparato de descodificación, que se adapta al procedimiento de codificación que no impone ninguna restricción a la capacidad del área de memoria.
En la séptima forma de realización, el número máximo de píxeles verticales (H) y el número máximo de píxeles horizontales (W) se obtienen basándose en la información del tamaño máximo de la imagen Impx comprendida en el tren de bits Bsc. Por consiguiente, el procedimiento de cálculo del número máximo de píxeles verticales (H) y el número máximo de píxeles horizontales (W) se simplifica en comparación con la quinta forma de realización.
En la séptima forma de realización, el identificador de nivel correspondiente al número máximo de píxeles intratrama (Nfpx) y el número máximo de píxeles de almacenamiento (Nspx), y el número de identificación correspondiente al número máximo de píxeles verticales (H) y el número máximo de píxeles horizontales (W) son parámetros que indican condiciones de codificación independientes, respectivamente. No obstante, los valores del número de identificación pueden correlacionarse con los valores del identificador de nivel.
En este caso, los valores específicos del número máximo de píxeles verticales (H) y el número máximo de píxeles horizontales (W) se deciden junto con los valores específicos del número máximo de píxeles intratrama (Nfpx) y el número máximo de píxeles de almacenamiento (Nspx), de conformidad con la señal de nivel Lst que indica el identificador de nivel con referencia a las tablas T1 y T3. Es decir, cuando la señal de nivel Lst del analizador de trenes de bits 501 se introduce en el analizador de nivel 509c, el analizador de nivel 509c genera la información Ifpx e Ispx que indica el número máximo de píxeles intratrama (Nfpx) y el número máximo de píxeles de almacenamiento (Nspx), respectivamente, con referencia a la tabla T1, basándose en la señal de nivel Lst, y además genera la información de tamaño máximo de la imagen Impx con referencia a la tabla T3, basándose en el número de identificación correspondiente al identificador de nivel. En este caso, el tren de bits Bsc incluye sólo el código Hc correspondiente a la señal de nivel Lst, y por lo tanto la señal de número de identificación Sid correspondiente al código H3 no se transmite desde el analizador de trenes de bits 501 hasta el analizador de nivel 509c.
Además, en la séptima forma de realización, el aparato de descodificación de imágenes en movimiento analiza el código H1 del identificador de nivel correspondiente al número máximo de píxeles intratrama (Nfpx) y el número máximo de píxeles de almacenamiento (Nspx), y el código H3 del número de identificación correspondiente al número máximo de píxeles verticales (H) y el número máximo de píxeles horizontales (W), obtiene el número máximo de píxeles intratrama (Nfpx) y el número máximo de píxeles de almacenamiento (Nspx) de la tabla T1 basándose en el identificador de nivel obtenido mediante el análisis del código H1, y obtiene el número máximo de píxeles verticales (H) y el número máximo de píxeles horizontales (W) de la tabla T3 basándose en la señal de número de identificación Sid obtenida mediante el análisis del código H3. Sin embargo, el aparato de descodificación de imágenes en movimiento puede analizar el código que se obtiene codificando la información de tamaño máximo de la imagen Impx que indica el número máximo de píxeles verticales (H) y el número máximo de píxeles horizontales (W) decididos arbitrariamente por el usuario, y obtener la información de tamaño máximo de la imagen Impx directamente mediante el análisis del código.
En este caso, la decisión de los valores específicos del número máximo de píxeles intratrama (Nfpx) y el número máximo de píxeles de almacenamiento (Nspx) se toma basándose en la tabla T1, mientras que la decisión de los valores específicos del número máximo de píxeles verticales (H) y el número máximo de píxeles horizontales (W) se toma mediante el análisis del código correspondiente a la información de tamaño máximo de la imagen Impx, sin utilizar ninguna tabla.
Dicho de otro modo, cuando la señal de nivel Lst del analizador de trenes de bits 501 se introduce en el analizador de nivel 509c, el analizador de nivel 509c transmite la información Ifpx que indica el número máximo de píxeles intratrama (Nfpx), seleccionada mediante la tabla T1, a la unidad de evaluación de la capacidad de descodificación 506c y transmite la información Ispx que indica el número máximo de píxeles de almacenamiento (Nspx), elegida mediante la tabla T1, al calculador de número máximo de imágenes de referencia 507a, de conformidad con la señal de nivel Lst. Además, la información de tamaño máximo de la imagen Impx que indica valores específicos del número máximo de píxeles verticales (H) y el número máximo de píxeles horizontales (W) y que se obtiene mediante el análisis del código del analizador de trenes de bits 501 se introduce directamente en la unidad de evaluación de la capacidad de descodificación 506c.
Forma de realización 8
La Figura 13 es un diagrama de bloques que representa un aparato de descodificación de imágenes en movimiento 50d según una octava forma de realización de la presente invención.
El aparato de descodificación de imágenes en movimiento 50d de la octava forma de realización recibe un tren de bits correspondiente a la pluralidad de imágenes que constituye una imagen en movimiento y descodifica el tren de bits en unidades de procesamiento de datos predeterminadas (unidades de bloques). Más particularmente, el aparato de descodificación de imágenes en movimiento 50d descodifica el tren de bits Bsa (Figura 14(a)) que es generado por el aparato de codificación de imágenes en movimiento 10d según la cuarta forma de realización. No obstante, el tren de bits generado por el aparato de codificación de imágenes en movimiento 10d de la cuarta forma de realización presenta la misma estructura de datos que el tren de bits generado por el aparato de codificación de imágenes en movimiento 10a de la primera forma de realización; en consecuencia, el aparato de descodificación de imágenes en movimiento 50d también puede descodificar el tren de bits generado por el aparato de codificación de imágenes en movimiento 10a de la primera forma de realización.
Es decir, el aparato de descodificación de imágenes en movimiento 50d según la octava forma de realización presenta, en lugar del calculador de número máximo de imágenes de referencia 507a del aparato de descodificación de imágenes en movimiento 50a según la quinta forma de realización, un calculador de número máximo de imágenes de referencia 507d que calcula el número máximo de imágenes de referencia (Nrpn) basándose en la información de tamaño de la imagen de entrada Ipx (información de número de píxeles verticales de la imagen de entrada Ihpx e información de número de píxeles horizontales de la imagen de entrada Iwpx), la información de número máximo de píxeles de almacenamiento Ispx y la información de número de imágenes en espera de ser presentadas Idwp, y genera información que indica el valor calculado (Nrpn) (es decir, información de número máximo de imágenes de referencia) Irpn.
En este caso, la información de número de imágenes en espera de ser presentadas Idwp es información que indica el número de imágenes en espera de ser presentadas, y las imágenes en espera de ser presentadas son imágenes descodificadas que no se emplean como imágenes de referencia, aunque sus datos de imagen se mantienen almacenados en la memoria de imágenes del aparato de descodificación hasta dichas imágenes son presentadas, como se describe con referencia a la Figura 26. Además, el control de la memoria de imágenes según la octava forma de realización se realiza de tal forma que los datos de imagen de una imagen que no se emplea como imagen de referencia se suprimen de la memoria de imágenes inmediatamente después de que termine la presentación de la imagen.
Las estructuras de los otros componentes del aparato de descodificación de imágenes en movimiento 50d según la octava forma de realización son iguales a las de los otros componentes del aparato de descodificación de imágenes en movimiento 50a según la quinta forma de realización.
La estructura específica del calculador de número máximo de imágenes de referencia 507d del aparato de descodificación de imágenes 50d según la octava forma de realización es idéntica a la del calculador de número máximo de imágenes de referencia 109d del aparato de codificación de imágenes en movimiento 10d según la cuarta forma de realización, representada en la Figura 9.
A continuación, se describe el funcionamiento.
El funcionamiento del aparato de descodificación de imágenes en movimiento 50d según la octava forma de realización difiere del funcionamiento del aparato de descodificación de imágenes en movimiento 50a según la quinta forma de realización únicamente en el funcionamiento del calculador de número máximo de imágenes de referencia 507d.
Por lo tanto, a continuación, sólo se describe el funcionamiento del calculador de número máximo de imágenes de referencia 507d.
El calculador de número máximo de imágenes de referencia 507d del aparato de descodificación de imágenes en movimiento 50d según la octava forma de realización calcula el número máximo de imágenes de referencia candidatas que se emplean en la descodificación por predicción interimagen, según la operación indicada por la (fórmula 11).
Es decir, en el calculador de número máximo de imágenes de referencia 507d, se calcula el número total de píxeles de una trama (hxw) para obtener el tamaño de la imagen de entrada, basándose en la información de número de píxeles verticales de la imagen de entrada Ihpx y la información de número de píxeles horizontales de la imagen de entrada Iwpx.
A continuación, se realiza la operación de dividir el número máximo de píxeles de almacenamiento (Nspx) por el resultado de la multiplicación (hxw), y la operación de restar 1 del resultado de la división (Nspx/(hxw)).
A continuación, se decide el número máximo de imágenes de referencia restando el número de imágenes en espera de ser presentadas (Ndwp) del resultado de la resta (Nspx/(hxw) -1).
Tal como se ha descrito anteriormente, el aparato de descodificación de imágenes en movimiento 50d según la octava forma de realización comprende el analizador de nivel 509a que decide el número máximo de píxeles intratrama que pueden descodificarse (Nfpx) y el número máximo de píxeles de almacenamiento que pueden almacenarse en la memoria de imágenes 503 (Nspx), basándose en el identificador de nivel indicado por la señal de nivel Lst que es extraído del tren de bits por el analizador de trenes de bits 501, y determina de ese modo si el tren de bits de entrada Bsa puede o no descodificarse basándose en el número máximo de píxeles intratrama (Nfpx) y el tamaño de la imagen de entrada (el número de píxeles verticales Nhpx y el número de píxeles horizontales Nwpx), y calcula además el número de imágenes de referencia candidatas a las cuales se puede hacer referencia en la descodificación por predicción interimagen (número máximo de imágenes de referencia) Nrpn. Por consiguiente, mediante el identificador de nivel puede identificarse, entre los trenes de bits suministrados por la parte de codificación, el tren de bits que puede ser descodificado por el aparato de descodificación de imágenes en movimiento, lo cual permite realizar de forma satisfactoria la descodificación por predicción de imágenes correspondiente a la codificación por predicción de imágenes de la parte de codificación. En consecuencia, es posible diseñar un área de memoria en el aparato de descodificación que se corresponde con el procedimiento de codificación que no impone ninguna restricción a la capacidad del área de memoria.
En la octava forma de realización, el número máximo de imágenes de referencia que se almacenan en la memoria de imágenes se decide teniendo en cuenta el número de imágenes a la espera de ser presentadas (Ndwp). Por consiguiente, la memoria de imágenes donde se almacenan los datos de imagen de las imágenes de referencia candidatas puede ser utilizada con eficacia dependiendo del estado de procesamiento de los datos de imagen.
En la octava forma de realización, el control de la memoria de imágenes se realiza de tal forma que los datos de imagen de una imagen que no se emplea como imagen de referencia se suprimen de la memoria inmediatamente después de que haya terminado la presentación de la imagen. No obstante, los datos de imagen de una imagen que no se emplea como imagen de referencia pueden suprimirse por orden temporal, en lugar de ser suprimidos inmediatamente después de la presentación, como se indica en la octava forma de realización.
Por ejemplo, el control de la memoria de imágenes de la octava forma de realización puede realizarse de tal forma que los datos de imagen de una imagen que está almacenada en la memoria de imágenes pero que no se emplea como imagen de referencia se suprimen de la memoria de imágenes una vez que ha transcurrido el tiempo de presentación de la imagen después de su presentación. En este caso, los datos de imagen de la imagen en espera de ser presentada se mantienen almacenados en la memoria de imágenes durante un período de tiempo predeterminado una vez que la imagen ha sido presentada.
Además, aunque en las formas de realización primera a octava el aparato de codificación de imágenes en movimiento y el aparato de descodificación de imágenes en movimiento se implementan mediante hardware, el aparato de codificación de imágenes en movimiento y el aparato de descodificación de imágenes en movimiento pueden implementarse mediante software. En este caso, registrando en unos medios de almacenamiento de datos tales como un disco flexible un programa para ejecutar el procedimiento de codificación o el procedimiento de descodificación descritos en cualquiera de las formas de realización anteriores, es posible construir el aparato de codificación de imágenes en movimiento y el aparato de descodificación de imágenes en movimiento en un sistema informático independiente.
Las Figuras 19 son unos diagramas que representan un sistema que implementa, con un sistema informático, el aparato de codificación de imágenes en movimiento según cualquiera de las formas de realización primera a cuarta o el aparato de descodificación de imágenes en movimiento según cualquiera de las formas de realización quinta a octava, utilizando un disco flexible que contiene el programa.
La Figura 19(b) representa una vista frontal de un disco flexible, una vista en sección transversal de un disco flexible y el cuerpo de un disco flexible, y la Figura 19(a) representa un ejemplo del formato físico de un disco flexible que constituye el cuerpo de unos medios de almacenamiento. Para concretar, el cuerpo del disco flexible FD está contenido en la funda del disco flexible F. En la superficie del cuerpo del disco flexible, se forman una pluralidad de pistas Tr concéntricas desde la circunferencia externa hacia la circunferencia interna. Cada pista Tr se divide en 16 sectores angulares Se. En consecuencia, en el disco flexible donde se almacena el programa descrito anteriormente, los datos del programa se registran en los sectores asignados del cuerpo del disco flexible FD.
La Figura 19(c) representa una disposición para registrar el programa en el disco flexible FD o reproducirlo desde el mismo. Cuando se registra el programa en el disco flexible FD, los datos del programa suministrados desde un sistema informático Cs se registran en el disco flexible FD por medio de la unidad de disco flexible. Cuando el aparato de codificación de imágenes en movimiento o el aparato de descodificación de imágenes en movimiento se construye en el sistema informático Cs utilizando el programa registrado en el disco flexible, el programa es leído del disco flexible por la unidad de disco flexible y se copia en el sistema informático.
Aunque en la descripción anterior se emplea un disco flexible como medio de almacenamiento de datos, se posible emplear un disco óptico como medio de almacenamiento de datos. Asimismo en este caso, el aparato de codificación de imágenes en movimiento o el aparato de descodificación de imágenes en movimiento puede implementarse mediante un sistema informático. Asimismo, los medios de almacenamiento de datos no se limitan al disco óptico ni el disco flexible, sino que puede utilizarse cualquier tipo de medios, tal como una tarjeta con CI o un cartucho ROM, siempre y cuando dichos medios tengan capacidad para almacenar el programa.
A continuación, se describen las aplicaciones del aparato de codificación de imágenes en movimiento y el aparato de descodificación de imágenes en movimiento según cualquiera de las formas de realización mencionadas anteriormente, y los sistemas que utilizan la aplicación.
La Figura 20 es un diagrama de bloques que ilustra la estructura completa de un sistema de provisión de contenidos 1100 que provee servicios de distribución de contenidos.
El área de provisión de servicios de comunicación se divide en zonas (células) del tamaño deseado, y las estaciones base 1107 a 1110, todas las cuales son estaciones de radio fijas, se establecen en las respectivas células.
En este sistema de provisión de contenidos 1100, existen diversos dispositivos, tales como un ordenador 1111, un PDA (asistente digital personal) 1112, una cámara 1113, un teléfono portátil 1114 y un teléfono portátil con una cámara 1200, que se conectan a Internet 1101, por ejemplo, a través de un proveedor de servicios de Internet 1102, una red telefónica 1104 y las estaciones base 1107 a 1110.
El sistema de provisión de contenidos 1100 no se limita a un sistema que comprende toda la pluralidad de dispositivos representados en la Figura 20, sino que puede comprender algunos de los dispositivos de la pluralidad representada en la Figura 20. Además, los respectivos dispositivos pueden conectarse directamente a la red telefónica 1104 y no a través de las estaciones base 1107 a 1110 como las estaciones de radio fijas.
La cámara 1113 es un dispositivo que puede obtener imágenes en movimiento de un objeto, tal como una cámara de vídeo digital. El teléfono portátil puede ser un aparato de teléfono portátil que cumpla cualquiera de las normas siguientes: PDC (sistema de comunicaciones digitales personales), CDMA (sistema de acceso múltiple por división del código), W-CDMA (sistema de acceso múltiple por división del código de banda ancha) y GSM (sistema global de comunicaciones móviles) o PHS (sistema de teléfonos portátiles personales).
El servidor de reproducción en tiempo real 1103 está conectado a la cámara 1113 a través de la estación base 1109 y la red telefónica 1104. Este sistema permite la distribución en directo, basada en datos codificados que son transmitidos por el usuario, utilizando la cámara 1113. El procesamiento de los datos codificados de las imágenes obtenidas puede ser realizado por la cámara 1113 o el servidor que transmite los datos. Los datos de imágenes en movimiento que se obtienen tomando imágenes en movimiento de un objeto por medio de la cámara 1116 pueden transmitirse al servidor de reproducción en tiempo real 1103 a través del ordenador 1111. La cámara 1116 es un dispositivo que puede tomar imágenes fijas o imágenes en movimiento de un objeto, tal como una cámara digital. En este caso, la codificación de los datos de imágenes en movimiento puede ser realizada por la cámara 1116 o el ordenador 1111, siendo ejecutado el procedimiento de codificación por un chip LSI 1117 contenido en el ordenador 1111 o la cámara 1116.
El software de codificación o descodificación de imágenes puede almacenarse en unos medios de almacenamiento (un CD-ROM, un disco flexible, un disco duro o similares), que son unos medios de registro que contienen datos legibles por el ordenador 1111 o similar. Además, los datos de imágenes en movimiento pueden transmitirse a través de un teléfono portátil con una cámara 1200. Los datos de imágenes en movimiento son datos que han sido codificados por el chip LSI contenido en el teléfono portátil 1200.
En este sistema de provisión de contenidos 1100, los contenidos cuyas imágenes son tomadas por el usuario con la cámara 1113 o la cámara 1116 (por ejemplo, vídeo en directo de un espectáculo musical) se codifican de la misma manera que cualquiera de las formas de realización mencionadas anteriormente, y se transmiten desde la cámara hasta el servidor de reproducción en tiempo real 1103. Los datos de contenido se distribuyen en tiempo real desde el servidor de reproducción de tiempo real 1103 hasta el cliente solicitante.
\newpage
El cliente puede ser el ordenador 1111, el PDA 1112, la cámara 1113, el teléfono portátil 1114 o un cliente similar que sea capaz de descodificar los datos codificados.
En el sistema de provisión de contenidos 1100, los datos codificados pueden ser recibidos y reproducidos en el cliente. Cuando los datos son recibidos, descodificados y reproducidos en tiempo real en el cliente, es posible realizar una radiodifusión privada.
La codificación o la descodificación en los respectivos dispositivos que constituyen este sistema pueden realizarse utilizando el aparato de codificación de imágenes en movimiento o el aparato de descodificación de imágenes en movimiento según cualquiera de las formas de realización mencionadas anteriormente.
A continuación, se describe el ejemplo de un teléfono portátil.
La Figura 21 es un diagrama que ilustra un teléfono portátil 1200 que utiliza el aparato de codificación de imágenes en movimiento y el aparato de descodificación de imágenes en movimiento según cualquiera de las formas de realización mencionadas anteriormente.
El teléfono portátil 1200 comprende una antena 1201 para transmitir/recibir ondas de radio desde/hasta la estación base 1110, una unidad de cámara 1203 que puede obtener imágenes de vídeo o fijas de un objeto, tal como una cámara CCD, y una unidad de presentación visual 1202, tal como una pantalla de cristal líquido para presentar los datos del vídeo registrado por la unidad de cámara 1203 o el vídeo recibido a través de la antena 1201.
El teléfono portátil 1200 comprende además un cuerpo principal 1204 que comprende una pluralidad de teclas de control; una unidad de salida de voz 1208 para emitir la voz, tal como un altavoz; una unidad de entrada de voz 1205 para introducir la voz, tal como un micrófono; unos medios de almacenamiento 1207 para retener datos codificados o datos descodificados, tales como los datos de las imágenes en movimiento o las imágenes fijas obtenidas, o datos, datos de imágenes en movimiento o datos de imágenes fijas de un mensaje de correo electrónico recibido; y una unidad de ranura 1206 que permite sujetar los medios de almacenamiento 1207 al teléfono portátil 1200.
Los medios de almacenamiento 1207 contienen un elemento de memoria flash como un tipo de EEPROM (Electrically Erasable and Programmable Read Only Memory) que es una memoria no volátil programable y borrable eléctricamente contenida en una funda de plástico, tal como una tarjeta SD.
A continuación, se describe en particular el teléfono portátil 1200 con referencia a la Figura 22.
El teléfono portátil 1200 presenta una unidad de control principal 1241 que realiza el control general de las respectivas unidades del cuerpo principal que comprenden la unidad de presentación visual 1202 y la tecla de control 1204.
El teléfono portátil 1200 comprende además un circuito de fuente de alimentación 1240, una unidad de control de entrada de operación 1234, una unidad de codificación de imágenes 1242, una unidad de interfaz de cámara 1233, una unidad de control de LCD (pantalla de cristal líquido) 1232, una unidad de descodificación de imágenes 1239, una unidad de multiplexación/demultiplexación 1238, una unidad de registro/reproducción 1237, una unidad de modulación/demodulación 1236 y una unidad de procesamiento de audio 1235. Las respectivas unidades del teléfono portátil 1200 se conectan entre sí por medio de un bus de sincronización 1250.
El circuito de fuente de alimentación 1240 suministra la energía de una batería a las respectivas unidades cuando se activa una tecla de fin de llamada/fuente de alimentación bajo control del usuario, activándose de ese modo el teléfono digital portátil con cámara 1200 para pasar al estado operativo.
En el teléfono portátil 1200, las respectivas unidades funcionan bajo control de la unidad de control principal 1241 que está constituida por una CPU, una ROM, una RAM y similares. Para concretar, en el teléfono portátil 1200, la señal de audio que se obtiene mediante la introducción de voz en la unidad de entrada de voz 1205 en la modalidad de comunicación de voz es convertida en datos de audio digitales por la unidad de procesamiento de audio 1235. Los datos de audio digitales son sometidos a un procedimiento de ensanchamiento de espectro por el circuito de modulación/demodulación 1236, son sometidos además a un procedimiento de conversión D/A y un procedimiento de transformación de frecuencia por el circuito de transmisión/recepción 1231 y son transmitidos a través de la antena 1201.
En el teléfono portátil 1200, la señal recibida a través de la antena 1201 en la modalidad de comunicación de voz se amplifica y luego se somete a un procedimiento de transformación de frecuencia y un procedimiento de conversión A/D. La señal recibida es sometida además a un procedimiento de ensanchamiento de espectro inverso en el circuito de modulación/demodulación 1236 y es convertida en una señal de audio analógica por la unidad de procesamiento de audio 1235, y la señal de audio analógica es suministrada a través de la unidad de salida de voz 1208.
Cuando el teléfono portátil 1200 transmite correo electrónico en la modalidad de comunicación de datos, los datos del texto del mensaje electrónico, que se introducen mediante la manipulación de la tecla de control 1204 del cuerpo principal, se transmiten a la unidad de control principal 1241 por medio de la unidad de control de entrada de operación 1234. La unidad de control principal 1241 controla las respectivas unidades, de tal forma que los datos de texto son sometidos al procedimiento de ensanchamiento de espectro en el circuito de modulación/demodulación 1236, a continuación son sometidos al procedimiento de conversión D/A y al procedimiento de transformación de frecuencia en el circuito de transmisión/recepción 1231 y, finalmente, son transmitidos a la estación base 1110 a través de la antena 1201.
Cuando este teléfono portátil 1200 transmite datos de imagen en la modalidad de comunicación de datos, los datos de las imágenes tomadas por la unidad de cámara 1203 se suministran a la unidad de codificación de imágenes 1242 por medio de la unidad de interfaz de cámara 1233. Cuando el teléfono portátil 1200 no transmite datos de imagen, los datos de las imágenes tomadas por la unidad de cámara 1203 pueden presentarse directamente en la unidad de presentación 1202 por medio de la unidad de interfaz de cámara 1233 y la unidad de control LCD 1232.
La unidad de codificación de imágenes 1242 comprende el aparato de codificación de imágenes en movimiento según cualquiera de las formas de realización mencionadas anteriormente. Esta unidad de codificación de imágenes 1242 codifica mediante compresión los datos de imagen suministrados desde la unidad de cámara 1203, utilizando el procedimiento de codificación de imágenes en movimiento según cualquiera de las formas de realización anteriores, para convertirlos en datos de imagen codificados, y transmite los datos de imagen codificados obtenidos a la unidad de multiplexación/demultiplexación 1238. Al mismo tiempo, el teléfono portátil 1200 transmite, como datos de audio digitales, la voz que ha sido introducida en la unidad de entrada de voz 1205 mientras la unidad de cámara 1203 tomaba la imagen, a la unidad de multiplexación/demultiplexación 1238, a través de la unidad de procesamiento de audio 1235.
La unidad de multiplexación/demultiplexación 1238 multiplexa los datos de imagen codificados suministrados por la unidad de codificación de imágenes 1242 y los datos de audio suministrados por la unidad de procesamiento de audio 1235 mediante un procedimiento predeterminado. Los datos multiplexados resultantes son sometidos a un procedimiento de ensanchamiento de espectro en el circuito de modulación/demodulación 1236, y son sometidos además a un procedimiento de conversión DA y a un procedimiento de transformación de frecuencia en el circuito de transmisión/recepción 1231, y los datos obtenidos son transmitidos a través de la antena 1201.
Cuando el teléfono portátil 1200 recibe datos de un archivo de imágenes en movimiento que presenta un enlace con una página de inicio o similar en la modalidad de comunicación de datos, la señal recibida desde la estación base 1110 a través de la antena 1201 es sometida a un procedimiento de ensanchamiento de espectro inverso por el circuito de modulación/demodulación 1236, y los datos multiplexados resultantes son transmitidos a la unidad de multiplexación/demultiplexación 1238.
Cuando se descodifican los datos multiplexados recibidos por medio de la antena 1201, la unidad de multiplexación/demultiplexación 1238 demultiplexa los datos multiplexados para dividir los datos en un tren de bits codificado correspondiente a los datos de imagen y un tren de bits codificado correspondiente a los datos de audio, y los datos de imagen codificados se transmiten a la unidad de descodificación de imágenes 1239 y los datos de audio se transmiten a la unidad de procesamiento de audio 1235, por medio del bus de sincronización 1250.
La unidad de descodificación de imágenes 1239 comprende el aparato de descodificación de imágenes en movimiento según cualquiera de las formas de realización mencionadas anteriormente. La unidad de descodificación de imágenes 1239 descodifica el tren de bits codificado de los datos de imagen mediante un procedimiento de descodificación correspondiente a uno de los procedimientos de codificación según cualquiera de las formas de realización mencionadas anteriormente para reproducir datos de imágenes en movimiento, y transmite los datos reproducidos a la unidad de presentación 1202 a través de la unidad de control de LCD 1232. De este modo, por ejemplo, se presentan en pantalla los datos de imágenes en movimiento comprendidos en el archivo de imágenes en movimiento que presenta un enlace con la página de inicio. Al mismo tiempo, la unidad de procesamiento de audio 1235 convierte los datos de audio en una señal de audio analógica y, a continuación, transmite la señal de audio analógica a la unidad de salida de voz 1208. De este modo, por ejemplo, se realiza la reproducción de los datos de audio comprendidos en el archivo de imágenes en movimiento que presenta un enlace con la página de inicio.
El sistema al cual puede aplicarse el procedimiento de codificación de imágenes en movimiento y el procedimiento de descodificación de imágenes en movimiento según cualquiera de las formas de realización mencionadas anteriormente no se limita al sistema de provisión de contenidos indicado.
Recientemente, se oye con frecuencia hablar de la radiodifusión digital mediante satélites u ondas terrestres. El aparato de codificación de imágenes en movimiento y el aparato de descodificación de imágenes en movimiento según las formas de realización anteriores es aplicable también a un sistema de radiodifusión digital 1400 como el representado en la Figura 23.
Más particularmente, se transmite un tren de bits codificado, correspondiente a la información de vídeo, de una estación de radiodifusión 1409 a un satélite 1410 tal como un satélite de comunicación o un satélite de radiodifusión, por medio de una comunicación de radio. Cuando el satélite de radiodifusión 1410 recibe el tren de bits codificado correspondiente a la información de vídeo, el satélite 1410 genera ondas de radiodifusión que son recibidas por la antena 1406 de un edificio que dispone de un mecanismo de recepción de radiodifusión por satélite. Por ejemplo, un aparato tal como un televisor (receptor) 1401 o un receptor digital externo (STB) 1407 descodifica el tren de bits codificado y reproduce la información de vídeo.
Además, el aparato de descodificación de imágenes en movimiento según cualquiera de las formas de realización mencionadas anteriormente puede instalarse también en un aparato de reproducción 1403 que puede leer y descodificar el tren de bits codificado registrado en unos medios de almacenamiento 1402, tales como un CD o un DVD (medios de registro).
En este caso, el vídeo reproducido se presenta en un monitor 1404. El aparato de descodificación de imágenes en movimiento puede instalarse en el receptor digital externo 1407 que está conectado a un cable 1405 de televisión por cable o una antena 1406 de radiodifusión terrestre/vía satélite, para reproducir la salida del aparato de descodificación de imágenes en movimiento que será presentada en un monitor 1408 de televisión. En este caso, en lugar de incorporarse en el receptor digital externo, el aparato de descodificación de imágenes en movimiento puede incorporarse en el televisor. El vehículo 1412 que dispone de una antena 1411 puede recibir la señal del satélite 1410 o la estación base 1107 (véase la Figura 20) y reproducir la imagen en movimiento que se va a presentar en el dispositivo de presentación del sistema de navegación para automóviles 1413 o similar que está instalado en el vehículo 1412.
Además, el aparato de codificación de imágenes en movimiento según cualquiera de las formas de realización mencionadas anteriormente puede codificar señales imagen y registrarlas en unos medios de registro.
Un ejemplo particular de dispositivo de registro es un aparato registrador 1420, tal como un grabador DVD que registra señales imagen en un disco DVD 1421 y un grabador de discos que registra señales imagen en un disco duro. Las señales imagen pueden registrarse en una tarjeta SD 1422. Además, cuando el grabador 1420 comprende el aparato de descodificación de imágenes en movimiento según cualquiera de las formas de realización mencionadas anteriormente, las señales imagen que se registran en el disco DVD 1421 o la tarjeta SD 1422 pueden ser reproducidas por el grabador 1420 y presentadas en el monitor 1408.
En este caso, la estructura del sistema de navegación para automóviles 1413 puede comprender, por ejemplo, los componentes del teléfono portátil representado en la Figura 22, en lugar de la unidad de cámara 1203, la unidad de interfaz de cámara 1233 y la unidad de codificación de imágenes 1242. Lo mismo es aplicable al ordenador 1111 (véase la Figura 20) o el televisor (receptor) 1401.
Además, el terminal de teléfono portátil 1114 (véase la Figura 20) puede ser uno de los siguientes tres tipos de terminales: un terminal de transmisión-recepción que presenta un codificador y un descodificador, un terminal de transmisión que presenta sólo un codificador y un terminal de recepción que sólo presenta un descodificador.
Como se ha descrito anteriormente, el aparato de codificación de imágenes en movimiento y el aparato de descodificación de imágenes en movimiento según cualquiera de las formas de realización mencionadas anteriormente son aplicables a cualquiera de los dispositivos o sistemas mencionados anteriormente, pudiéndose obtener de ese modo los resultados descritos en las anteriores formas de realización.
Es evidente además que las formas de realización y sus aplicaciones a la presente invención no se limitan a las indicadas en la presente descripción.
Disponibilidad industrial
El aparato de codificación de imágenes en movimiento y el aparato de descodificación de imágenes en movimiento según la presente invención pueden establecer el número máximo de píxeles intratrama de una imagen que pueden ser codificados o descodificados en un valor óptimo seleccionado a partir de una pluralidad de valores que han sido establecidos paso a paso dependiendo del nivel de codificación, según las especificaciones del aparato, siendo de ese modo posible diseñar un área de memoria en el aparato de codificación y el aparato de descodificación que se adapta a un procedimiento de codificación que no impone ninguna restricción a la capacidad del área de memoria, lo cual resulta útil cuando se diseña el aparato de codificación de imágenes en movimiento y el aparato de descodificación de imágenes en movimiento.

Claims (5)

1. Procedimiento para descodificar una secuencia de código (Bsa) correspondiente a una imagen en movimiento (Id) que está constituida por una pluralidad de imágenes, estando constituida cada una de ellas por un número predefinido de píxeles, comprendiendo dicho procedimiento:
una etapa de extracción de identificador de nivel para extraer un identificador de nivel (Lst) para identificar un nivel de codificación que indica una altura del nivel del procedimiento de codificación para la imagen en movimiento (Id) de la secuencia de código (Bsa); y
para cada imagen, una etapa de descodificación de los datos codificados (Cd) de la imagen en movimiento del nivel determinado por el identificador de nivel (Lst) que se extrae en dicha etapa de extracción de identificador de nivel, para generar datos de imagen (Dd) de la imagen en movimiento; en el que
el identificador de nivel (Lst) es un identificador que identifica el número máximo de píxeles intratrama (Nfpx) de una imagen que se ajusta al nivel de codificación, y el número máximo de píxeles de almacenamiento (Nspx) que indica la cantidad de datos que pueden almacenarse en la memoria de imágenes (503), que se ajusta al nivel de codificación, y
el número máximo de imágenes de referencia candidatas que pueden almacenarse en la memoria de imágenes (503) se calcula basándose en el número de píxeles verticales (Ihpx) y el número de píxeles horizontales (Iwpx) de la imagen que se descodifica en dicha etapa de descodificación, y el número máximo de píxeles de almacenamiento (Nspx) que se identifica por el identificador de nivel (Lst).
2. Procedimiento de descodificación de imágenes en movimiento según la reivindicación 1, en el que el número de píxeles verticales (h) y el número de píxeles horizontales (w) de una de las imágenes que componen la imagen en movimiento satisface todas las condiciones siguientes:
hxw \leq (número máximo de píxeles intratrama);
h \leq H, siendo H = (número máximo de píxeles intratrama) \div (coeficiente de cálculo de número de píxeles verticales);
w \leq W, siendo W = (número máximo de píxeles intratrama) \div (coeficiente de cálculo de número de píxeles horizontales);
en el que el número de píxeles verticales (h) de la imagen que se descodifica es un múltiplo de 16, el número de píxeles horizontales (w) de la imagen que se descodifica es un múltiplo de 16, H indica el número máximo de los números de píxeles verticales de la imagen que pueden descodificarse, W indica el número máximo de los números de píxeles horizontales de la imagen que pueden descodificarse, y el coeficiente de cálculo de número de píxeles verticales y el coeficiente de cálculo de número de píxeles horizontales son valores predeterminados que se ajustan al nivel de codificación.
3. Aparato para descodificar una secuencia de código (Bsa) correspondiente a una imagen en movimiento (Id) que está constituida por una pluralidad de imágenes, estando constituida cada una de ellas por un número de píxeles predefinidos, comprendiendo dicho aparato:
unos medios de extracción de identificador de nivel (501) para extraer de la secuencia de código (Bsa) un identificador de nivel (Lst) para identificar un nivel de codificación que indica una altura del nivel del procedimiento de codificación para la imagen en movimiento (Id); y
unos medios de descodificación (502) para descodificar, para cada imagen, los datos codificados (Cd) de la imagen en movimiento del nivel determinado por el identificador de nivel (Lst) que es extraído por dichos medios de extracción de identificador de nivel (501), para generar datos de imagen (Dd) de la imagen en movimiento; en el que
el identificador de nivel (Lst) es un identificador que identifica el número máximo de píxeles intratrama (Nfxp) de una imagen que se ajusta al nivel de codificación, y el número máximo de píxeles de almacenamiento (Nspx) que indica la cantidad de datos que pueden almacenarse en una memoria de imágenes (503), que se ajusta al nivel de codificación; y
el número máximo de imágenes de referencia candidatas que pueden almacenarse en la memoria de imágenes (503) se calcula basándose en el número de píxeles verticales (Ihpx) y el número de píxeles horizontales (Iwpx) de una imagen que se descodifica en dichos medios de descodificación (502) y el número máximo de píxeles de almacenamiento (Nspx) que es identificado por el identificador de nivel (Lst).
\newpage
4. Aparato de descodificación de imágenes en movimiento según la reivindicación 3, en el que el número de píxeles verticales (h) y el número de píxeles horizontales (w) de una de las imágenes que compone la imagen en movimiento satisface todas las condiciones siguientes:
hxw \leq (número máximo de píxeles intratrama);
h \leq H, siendo H = (número máximo de píxeles intratrama) \div (coeficiente de cálculo de número de píxeles verticales);
w \leq W, siendo W = (número máximo de píxeles intratrama) \div (coeficiente de cálculo de número de píxeles horizontales);
en el que el número de píxeles verticales (h) de la imagen que se descodifica es un múltiplo de 16, el número de píxeles horizontales (w) de la imagen que se descodifica es un múltiplo de 16, H indica el número máximo entre los números de píxeles verticales de la imagen que pueden descodificarse, W indica el número máximo entre los números de píxeles horizontales de la imagen que pueden descodificarse, y el coeficiente de cálculo de número de píxeles verticales y el coeficiente de cálculo de número de píxeles horizontales son valores predeterminados que se ajustan al nivel de codificación.
5. Medios de almacenamiento de datos que contienen un programa para implementar un procedimiento de descodificación de una secuencia de código correspondiente a una imagen en movimiento, en los que el programa permite ejecutar a un ordenador un procedimiento de descodificación según el procedimiento de descodificación de imágenes en movimiento según las reivindicaciones 1 ó 2.
ES07100241T 2002-02-01 2003-01-31 Procedimiento de descodificacion de imagenes en movimiento y aparato de descodificacion de imagenes en movimiento. Expired - Lifetime ES2299170T3 (es)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2002-26197 2002-02-01
JP2002026197 2002-02-01
JP2002334422 2002-11-18
JP2002-334422 2002-11-18

Publications (1)

Publication Number Publication Date
ES2299170T3 true ES2299170T3 (es) 2008-05-16

Family

ID=27667487

Family Applications (2)

Application Number Title Priority Date Filing Date
ES07100243T Expired - Lifetime ES2299171T3 (es) 2002-02-01 2003-01-31 Procedimiento de codificacion de imagenes en movimiento y aparato de codificacion de imagenes en movimiento.
ES07100241T Expired - Lifetime ES2299170T3 (es) 2002-02-01 2003-01-31 Procedimiento de descodificacion de imagenes en movimiento y aparato de descodificacion de imagenes en movimiento.

Family Applications Before (1)

Application Number Title Priority Date Filing Date
ES07100243T Expired - Lifetime ES2299171T3 (es) 2002-02-01 2003-01-31 Procedimiento de codificacion de imagenes en movimiento y aparato de codificacion de imagenes en movimiento.

Country Status (14)

Country Link
US (6) US7936825B2 (es)
EP (3) EP1765019B1 (es)
JP (5) JP4223544B2 (es)
KR (2) KR100926845B1 (es)
CN (1) CN1271862C (es)
AT (3) ATE384403T1 (es)
AU (1) AU2003208086B2 (es)
BR (2) BR0302966A (es)
CA (1) CA2442945C (es)
DE (3) DE60312960T2 (es)
ES (2) ES2299171T3 (es)
HK (1) HK1110729A1 (es)
MX (1) MXPA03009131A (es)
WO (1) WO2003065733A1 (es)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4591657B2 (ja) * 2003-12-22 2010-12-01 キヤノン株式会社 動画像符号化装置及びその制御方法、プログラム
US20090168866A1 (en) * 2004-12-02 2009-07-02 Sony Corporation Encoding device, method, and program
JP4570532B2 (ja) * 2005-08-02 2010-10-27 パナソニック株式会社 動き検出装置、動き検出方法、集積回路およびプログラム
JP4702943B2 (ja) * 2005-10-19 2011-06-15 キヤノン株式会社 画像処理装置及びその方法
US8295343B2 (en) * 2005-11-18 2012-10-23 Apple Inc. Video bit rate control method
US8233535B2 (en) 2005-11-18 2012-07-31 Apple Inc. Region-based processing of predicted pixels
US7746961B2 (en) * 2006-04-11 2010-06-29 Telefonaktiebolaget L M Ericsson (Publ) Efficient detection of predetermined sequences
JP4463850B2 (ja) * 2006-06-26 2010-05-19 パナソニック株式会社 フォーマット変換装置、フォーマット変換方法及び動画像復号システム
KR101037642B1 (ko) * 2007-03-20 2011-05-30 후지쯔 가부시끼가이샤 디코딩 방법, 디코더 및 디코딩 장치
JP5211530B2 (ja) * 2007-03-30 2013-06-12 富士ゼロックス株式会社 情報提供システム、情報提供装置、及びプログラム
US8259811B2 (en) * 2007-11-30 2012-09-04 Olympus Imaging Corp Method for determining a number of items of encoded data that can be stored in a memory, and method for controlling sizes of items of encoded image data to be stored in a memory
FR2931610B1 (fr) * 2008-05-20 2010-12-17 Canon Kk Procede et un dispositif de transmission de donnees d'images
US8711930B2 (en) * 2009-07-09 2014-04-29 Qualcomm Incorporated Non-zero rounding and prediction mode selection techniques in video encoding
US8995526B2 (en) * 2009-07-09 2015-03-31 Qualcomm Incorporated Different weights for uni-directional prediction and bi-directional prediction in video coding
US9161057B2 (en) * 2009-07-09 2015-10-13 Qualcomm Incorporated Non-zero rounding and prediction mode selection techniques in video encoding
HUE053802T2 (hu) * 2010-07-14 2021-07-28 Ntt Docomo Inc Kis komplexitású intra predikció videó kódoláshoz
US9736489B2 (en) * 2011-09-17 2017-08-15 Qualcomm Incorporated Motion vector determination for video coding
TWI720750B (zh) * 2011-12-28 2021-03-01 日商Jvc建伍股份有限公司 動態影像編碼裝置及動態影像編碼方法
KR20160071569A (ko) 2014-12-11 2016-06-22 삼성전자주식회사 비디오 장치에서의 영상 처리 방법 및 그에 따른 비디오 장치
US10171810B2 (en) 2015-06-22 2019-01-01 Cisco Technology, Inc. Transform coefficient coding using level-mode and run-mode

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5291281A (en) * 1992-06-18 1994-03-01 General Instrument Corporation Adaptive coding level control for video compression systems
US5508942A (en) 1993-11-24 1996-04-16 Intel Corporation Intra/inter decision rules for encoding and decoding video signals
US5959672A (en) * 1995-09-29 1999-09-28 Nippondenso Co., Ltd. Picture signal encoding system, picture signal decoding system and picture recognition system
US6571019B1 (en) * 1995-10-26 2003-05-27 Hyundai Curitel, Inc Apparatus and method of encoding/decoding a coded block pattern
US6208689B1 (en) * 1996-03-04 2001-03-27 Mitsubishi Denki Kabushiki Kaisha Method and apparatus for digital image decoding
EP1120971B1 (en) * 1996-05-17 2003-09-03 Matsushita Electric Industrial Co., Ltd. Video coding method for coding shape and texture signals using different modes
JP3628810B2 (ja) * 1996-06-28 2005-03-16 三菱電機株式会社 画像符号化装置
JPH1032495A (ja) * 1996-07-18 1998-02-03 Sony Corp データ処理装置および方法
JP3895414B2 (ja) 1996-12-16 2007-03-22 松下電器産業株式会社 映像復号化装置
US6256347B1 (en) * 1996-12-17 2001-07-03 Thomson Licensing S.A. Pixel block compression apparatus in an image processing system
JP3373130B2 (ja) 1997-03-24 2003-02-04 沖電気工業株式会社 画像復号化装置
KR100259136B1 (ko) * 1997-04-19 2000-06-15 김영환 움직임 벡터 검출 장치
US6216157B1 (en) * 1997-11-14 2001-04-10 Yahoo! Inc. Method and apparatus for a client-server system with heterogeneous clients
JP3854738B2 (ja) * 1998-11-16 2006-12-06 キヤノン株式会社 データ処理装置及びその方法、及びデータ処理システム
JP3854737B2 (ja) 1998-11-16 2006-12-06 キヤノン株式会社 データ処理装置及びその方法、及びデータ処理システム
DE69937816T2 (de) 1998-04-28 2008-12-24 Canon K.K. Datenverarbeitungsgerät und Verfahren
JP4224748B2 (ja) 1999-09-13 2009-02-18 ソニー株式会社 画像符号化装置および画像符号化方法、画像復号装置および画像復号方法、記録媒体、並びに画像処理装置
GB2381403B (en) * 2000-05-10 2004-12-01 Picturetel Corp Video coding using multiple buffers
FI120125B (fi) 2000-08-21 2009-06-30 Nokia Corp Kuvankoodaus
CA2317870A1 (en) * 2000-09-08 2002-03-08 Jaldi Semiconductor Corp. A system and method for scaling images
US6968082B2 (en) * 2001-09-06 2005-11-22 Hewlett-Packard Development Company L.P. Resolution dependent image compression
US7224731B2 (en) * 2002-06-28 2007-05-29 Microsoft Corporation Motion estimation/compensation for screen capture video

Also Published As

Publication number Publication date
US8737473B2 (en) 2014-05-27
EP1765019B1 (en) 2008-01-16
EP1765018A1 (en) 2007-03-21
US7715478B2 (en) 2010-05-11
EP1475970B1 (en) 2007-04-04
EP1475970A1 (en) 2004-11-10
JP2011254535A (ja) 2011-12-15
HK1110729A1 (en) 2008-07-18
JP4860011B2 (ja) 2012-01-25
JP4859936B2 (ja) 2012-01-25
JP2009077452A (ja) 2009-04-09
EP1765019A1 (en) 2007-03-21
KR100944552B1 (ko) 2010-02-25
DE60318758T2 (de) 2009-01-08
US7936825B2 (en) 2011-05-03
ES2299171T3 (es) 2008-05-16
JP2008289205A (ja) 2008-11-27
WO2003065733A1 (en) 2003-08-07
CA2442945C (en) 2012-05-08
AU2003208086B2 (en) 2007-11-15
CN1271862C (zh) 2006-08-23
ATE358946T1 (de) 2007-04-15
ATE384403T1 (de) 2008-02-15
AU2003208086A2 (en) 2003-09-02
BR0302966A (pt) 2004-07-06
JP2008301533A (ja) 2008-12-11
US20080063059A1 (en) 2008-03-13
DE60318757D1 (de) 2008-03-06
CN1498502A (zh) 2004-05-19
EP1475970A4 (en) 2006-07-12
KR20070108572A (ko) 2007-11-12
JP4223544B2 (ja) 2009-02-12
EP1765018B1 (en) 2008-01-16
CA2442945A1 (en) 2003-08-07
DE60312960D1 (de) 2007-05-16
DE60318758D1 (de) 2008-03-06
KR100926845B1 (ko) 2009-11-13
ATE384404T1 (de) 2008-02-15
BRPI0302966B1 (pt) 2018-02-14
US20100172406A1 (en) 2010-07-08
DE60312960T2 (de) 2007-12-13
JP4860010B2 (ja) 2012-01-25
US20080069212A1 (en) 2008-03-20
KR20040077444A (ko) 2004-09-04
JP2012010380A (ja) 2012-01-12
US8396132B2 (en) 2013-03-12
US20040233995A1 (en) 2004-11-25
JP4220574B2 (ja) 2009-02-04
US7664179B2 (en) 2010-02-16
US20080063058A1 (en) 2008-03-13
US7664178B2 (en) 2010-02-16
DE60318757T2 (de) 2009-01-15
US20080063087A1 (en) 2008-03-13
MXPA03009131A (es) 2004-02-12

Similar Documents

Publication Publication Date Title
ES2299170T3 (es) Procedimiento de descodificacion de imagenes en movimiento y aparato de descodificacion de imagenes en movimiento.
US10057595B2 (en) Motion compensation method, picture coding method and picture decoding method
WO2003090475A1 (fr) Procede pour calculer un vecteur de mouvement
JP4274378B2 (ja) 動画像符号化方法および動画像復号化方法
JP4119269B2 (ja) 動画像符号化方法および動画像復号化方法