MX2012011695A - Dispositivo codificador de imagen en movimiento y dispositivo decodificador de imagen en movimento. - Google Patents

Dispositivo codificador de imagen en movimiento y dispositivo decodificador de imagen en movimento.

Info

Publication number
MX2012011695A
MX2012011695A MX2012011695A MX2012011695A MX2012011695A MX 2012011695 A MX2012011695 A MX 2012011695A MX 2012011695 A MX2012011695 A MX 2012011695A MX 2012011695 A MX2012011695 A MX 2012011695A MX 2012011695 A MX2012011695 A MX 2012011695A
Authority
MX
Mexico
Prior art keywords
unit
prediction
image
transformation
block
Prior art date
Application number
MX2012011695A
Other languages
English (en)
Inventor
Shunichi Sekiguchi
Kohtaro Asai
Yoshimi Moriya
Kazuo Sugimoto
Tokumichi Murakami
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of MX2012011695A publication Critical patent/MX2012011695A/es

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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/109Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • 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/523Motion estimation or motion compensation with sub-pixel accuracy
    • 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/567Motion estimation based on rate distortion criteria
    • 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/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter

Abstract

Una unidad de control de codificación 3 selecciona un tamaño de bloque de transformación que provee un grado óptimo de eficiencia de codificación a partir de un conjunto de tamaños de bloque de transformación que son determinados de conformidad con un modo de codificación 7, e incluye el tamaño de bloque de transformación seleccionado por la misma en parámetros de compresión óptimos 20a para notificar el tamaño de bloque de transformación a una unidad de transformación/cuantificación 19, y la unidad de transformación/cuantificación 19 divide una señal diferencial de predicción óptima 13a en bloques que tienen el tamaño de bloque de transformación incluido en los parámetros de compresión óptimos 20a, y realiza un proceso de transformación y cuantificación sobre cada uno de los bloques para generar datos comprimidos 21.

Description

DISPOSITIVO CODIFICADOR DE IMAGEN EN MOVIMIENTO Y DISPOSITIVO DECODIFICADOR DE IMAGEN EN MOVIMIENTO CAMPO DE LA INVENCIÓN La presente invención se refiere a un dispositivo codificador de imagen en movimiento que divide una imagen en movimiento en áreas predeterminadas y codifica la imagen en movimiento en unidades de un área, y un dispositivo decodificador de imagen en movimiento que decodifica una imagen en movimiento codificada en unidades de un área predeterminada.
ANTECEDENTES DE LA INVENCIÓN Convencionalmente, en un sistema codificador de video estándar internacional, tal como MPEG o ITU-T H.26x, un método de definición de datos de bloque (referido como "macrobloque" de aquí en adelante) como una unidad, los datos de bloque siendo una combinación de 16x16 píxeles de señal de brillantez y 8*8 pixeles de señal de diferencia de color correspondientes a los 16x16 píxeles de señal de brillantez, y que comprime cada cuadro de una señal de video en unidades de datos de bloque de conformidad con una técnica de compensación de movimiento, y una técnica de cuantificación de transformación ortogonal/coeficiente de transformación se usa.
La técnica de compensación de movimiento se usa para reducir la redundancia de una señal en una dirección de tiempo para cada macrobloque usando una alta correlación existente entre marcos de video. De conformidad con esta técnica de compensación de movimiento, un marco ya codificado que ha sido previamente codificado es almacenado en una memoria como una imagen de referencia, y un área de bloque que provee la diferencia más pequeña en potencia eléctrica entre el área de bloque misma y el macrobloque actual que es un bloque objetivo para la predicción compensada en movimiento es buscado a través de un rango de búsqueda predeterminado en la imagen de referencia, y un desplazamiento espacial entre la posición espacial del macrobloque actual y la posición espacial del área de bloque en la imagen de referencia que es determinada ya que el resultado de la búsqueda es después codificado como un vector de movimiento.
Además, de conformidad con la técnica de cuantificación de transformación ortogonal/coeficiente de transformación, una señal diferencial que es adquirida al sustraer una señal de predicción adquirida como el resultado de la predicción compensada en movimiento del macrobloque actual es ortogonal transformada y cuantificada de tal manera que la cantidad de información es comprimida.
En el caso de MPEG-4 Visual, cada bloque que se usa como una unidad para predicción compensada en movimiento tiene un tamaño mínimo de 8x8 píxeles, y DCT (transformada de coseno discreta) que tiene un tamaño de 8x8 píxeles se usa también para transformación ortogonal. A diferencia de esto, en el caso de (ITU-T H.264) MPEG-4 AVC (Codificación de Video Avanzada del Grupo de Expertos de Imagen en Movimiento-4), una predicción compensada en movimiento con un tamaño de bloque menor que 8x8 píxeles se prepara para llevar a cabo de manera eficiente incluso en un área, tal como una colindancia entre objetos, que tiene una correlación pequeña entre pixeles en una dirección espacial. Además, en la transformación ortogonal, la compresión y codificación se pueden llevar a cabo cambiando adaptativamente entre DCT de 8*8 píxeles que tienen exactitud de píxeles entera y DCT de 4^4 píxeles que tienen exactitud de píxeles entera sobre una base por macrobloque.
De conformidad con dicho método de codificación de imagen de video estándar internacional convencional, particularmente cuando la resolución de la imagen se vuelve más alta que resulta del tamaño del macrobloque que es fijado, un área que es cubierta por cada macrobloque es fácilmente localizada porque el tamaño del macrobloque es fijado. Como resultado, ocurre un caso en el cual un macrobloque periférico es colocado en el mismo modo de codificación o el mismo vector de movimiento es asignado a un macrobloque periférico. En tal caso, debido a que el encabezamiento de información de modo de codificación, información de vector de movimiento, etc., en el cual son codificados aun cuando la eficiencia de predicción no es mejorada se incrementa, la eficiencia de codificación del codificador entero es reducida.
Para resolver dicho problema, un dispositivo que cambia entre tamaños de macrobloque de conformidad con la resolución o los contenidos de una imagen es desglosada (por ejemplo, refiérase a la referencia de patente 1 ). El dispositivo codificador de imagen en movimiento descrito por la referencia de patente 1 puede llevar a cabo compresión y codificación al cambiar entre tamaños de bloque de transformación ortogonal seleccionables o entre conjuntos seleccionables de tamaños de bloque de transformación ortogonal de conformidad con el tamaño de macrobloque.
Documento de la técnica relacionada Referencia a patentes Referencia de patente 1 : WO 2007/034918 BREVE DESCRIPCION DE LA INVENCION Problema que se resolverá por medio de la invención Un problema con los métodos de codificación de imagen de video estándar internacional convencional y la invención descrita por la referencia de patente 1 es, sin embargo, que debido a que la transformación no se puede llevar a cabo al cambiar entre una pluralidad de tamaños de bloque de transformación ortogonal dentro de cada macrobloque, la eficiencia de codificación es reducida particularmente cuando un objeto que tiene un diferente movimiento o un diferente patrón existe en un macrobloque.
La presente invención se hace para resolver el problema antes mencionado, y por lo tanto es un objeto de la presente invención proveer un dispositivo codificador de imagen en movimiento que puede llevar a cabo compresión y codificación al cambiar adaptativamente entre tamaños de bloque de transformación ortogonal para cada área que es una unidad para predicción compensada en movimiento en cada macrobloque, y un dispositivo decodificador de imagen en movimiento.
Medios para resolver el problema De conformidad con la presente invención, se provee un dispositivo codificador de imagen en movimiento que incluye: una unidad de división de bloque para dividir una imagen introducida en imágenes de macrobloque de dos o más bloques cada uno teniendo un tamaño predeterminado y dividiendo cada una de las imágenes de macrobloque en una imagen de bloque de uno o más bloques de conformidad con un modo de codificación para emitir la imagen de bloque; una unidad de intra-predicción para, cuando la imagen de bloque es introducida a la misma, realizar una predicción intra-cuadro sobre la imagen de bloque usando una señal de imagen en un cuadro para generar una imagen de predicción; una unidad de predicción compensada en movimiento para, cuando la imagen de bloque es introducida a la misma, realizar una imagen de predicción compensada en movimiento sobre el bloque usando uno o más cuadros de imágenes de referencia para generar una imagen de predicción; una unidad de transformación/cuantificación para llevar a cabo un proceso de transformación y cuantificación sobre la señal de diferencia de predicción que se genera sustrayendo la imagen de predicción emitida de una cualquiera de la unidad de intra-predicción y la unidad de predicción compensada en movimiento de la imagen de bloque emitida de la unidad de división de bloque para generar datos comprimidos; una unidad codificadora de longitud variable para codificar por entropía los datos comprimidos para multiplexar los datos comprimidos codificados por entropía por la misma hacia un flujo de bits; y una unidad de control de codificación para seleccionar cierto tamaño de bloque de transformación de un conjunto de tamaños de bloque de transformación predeterminados para una imagen de bloque para notificar el tamaño de bloque de transformación seleccionado el mismo a una unidad de transformación/cuantificación, en la cual la unidad de transformación/cuantificación divide una señal de diferencia de predicción en bloques que tienen el tamaño de bloque de transformación notificado a la misma desde la unidad de control de codificación, y realiza un proceso de transformación y cuantificación sobre cada uno de los bloques para generar datos comprimidos.
De conformidad con la presente invención, se provee un dispositivo de decodificación de imagen en movimiento que incluye: una unidad decodificadora de longitud variable para recibir un flujo de bits introducido a la misma y codificado por compresión en unidades de cada uno de los macrobloques que tienen un tamaño predeterminado en el cual una imagen es dividida y después decodificar por entropía un modo de codificación en unidades de uno de los macrobloques desde el flujo de bits, y para decodificación por entropía de los parámetros de predicción, información que indica un tamaño de bloque de transformación y datos comprimidos en unidades de uno de los macrobloques en los cuales la imagen es dividida de conformidad con el modo de codificación decodificado; una unidad de intra-predicción para, cuando los parámetros de predicción son introducidos a la misma, generar una imagen de predicción usando un modo de intra-predicción y una señal de imagen decodificada en un cuadro que son incluidos en los parámetros de predicción; una unidad de predicción compensada en movimiento para, cuando los parámetros de predicción son introducidos a la misma, realizar una predicción compensada en movimiento usando un vector de movimiento incluido en los parámetros de predicción y una imagen de referencia especificada por un índice de imagen de referencia incluido en los parámetros de predicción para generar una imagen de predicción; una unidad de cuantificación inversa/transformación inversa para llevar a cabo un proceso de cuantificación inversa y transformación inversa sobre los datos comprimidos al usar información que indica un tamaño de bloque de transformación para generar una señal de diferencia de predicción decodificada; y una unidad de adición para añadir la imagen de predicción emitida desde cualquiera de una de la unidad de intra-predicción y la unidad de predicción compensada en movimiento a la señal de diferencia de predicción decodificada para emitir una señal de imagen decodificada, en la cual una unidad de cuantificación/transformacion inversa determina un tamaño de bloque de transformación sobre la base de la información decodificada que indica el tamaño de bloque de transformación y lleva a cabo un proceso de transformación inversa y cuantificación inversa sobre los datos comprimidos en unidades de un bloque que tiene el tamaño de bloque de transformación.
Ventajas de la invención Debido a que el dispositivo de codificación de imagen en movimiento de conformidad con la presente invención incluye: una unidad de división de bloque para dividir una imagen introducida en imágenes de macrobloque de dos o más bloques cada uno teniendo un tamaño predeterminado y dividiendo cada una de las imágenes de macrobloque en una imagen de bloque de uno o más bloques de conformidad con un modo de codificación para emitir la imagen de bloque; una unidad de intra-predicción para, cuando la imagen de bloque es introducida a la misma, realizar una predicción intra-cuadro sobre la imagen de bloque usando una señal de imagen en un cuadro para generar una imagen de predicción; una unidad de predicción compensada en movimiento para, cuando la imagen de bloque es introducida a la misma, realizar una imagen de predicción compensada en movimiento sobre el bloque usando uno o más cuadros de imágenes de referencia para generar una imagen de predicción; la unidad de transformación/cuantificación para llevar a cabo un proceso de transformación y cuantificación sobre la señal de diferencia de predicción que se genera sustrayendo la imagen de predicción emitida de una cualquiera de la unidad de intra-predicción y la unidad de predicción compensada en movimiento de la imagen de bloque emitida de la unidad de división de bloque para generar datos comprimidos; una unidad codificadora de longitud variable para codificar por entropía los datos comprimidos para multiplexar los datos comprimidos codificados por entropía por la misma hacia un flujo de bits; y la unidad de control de codificación para notificar cierto tamaño de bloque de transformación entre un conjunto de tamaños de bloque de transformación que se determinan para una imagen de bloque, en la cual la unidad de transformación/cuantificacion divide la señal de diferencia de predicción en bloques que tienen el tamaño de bloque de transformación y lleva a cabo el proceso de transformación y cuantificación sobre cada uno de los bloques para generar datos comprimidos, un dispositivo codificador de imagen en movimiento y un dispositivo decodificador de imagen en movimiento que pueden realizar compresión y codificación por conmutación adaptativa entre los tamaños de bloque de transformación para cada área que es una unidad para predicción compensada en movimiento en cada macrobloque se puede proveer.
BREVE DESCRIPCIÓN DE LAS FIGURAS La figura 1 es un diagrama de bloques que muestra la estructura de un dispositivo codificador de imagen en movimiento de conformidad con la modalidad 1 de la presente invención; La figura 2A es una vista que muestra un ejemplo de modos de codificación para imágenes en cada una de las cuales se realiza codificación predictiva en una dirección de tiempo; La figura 2B es una vista que muestra otro ejemplo de los modos de codificación para imágenes en cada una de las cuales se realiza codificación predictiva en una dirección de tiempo; La figura 3 es un diagrama de bloques que muestra la estructura interna de una unidad de predicción compensada en movimiento del dispositivo codificador de imagen en movimiento de conformidad con la modalidad 1 ; La figura 4 es una vista que explica un método de determinación para determinar un valor predicho de un vector de movimiento de conformidad con un modo de codificación; La figura 5 es una vista que muestra un ejemplo de adaptación de un tamaño de bloque de transformación de conformidad con un modo de codificación; La figura 6 es una vista que muestra otro ejemplo de la adaptación de un tamaño de bloque de transformación de conformidad con un modo de codificación; La figura 7 es un diagrama de bloques que muestra la estructura interna de una unidad de transformación/cuantificación del dispositivo codificador de imagen en movimiento de conformidad con la modalidad 1 ; La figura 8 es un diagrama de bloques que muestra la estructura de un dispositivo decodificador de imagen en movimiento de conformidad con la modalidad 1 de la presente invención; La figura 9 es un diagrama de bloques que muestra la estructura interna de una unidad codificadora de longitud variable de un dispositivo codificador de imagen en movimiento de conformidad con la modalidad 2 de la presente invención; Las figuras 10A y 10B son vistas que explican un procedimiento de generar información de identificación de contexto, figura 10A es una vista que muestra la tabla de binarización en representación de árbol binario, y la figura 10B es una vista que muestra una relación de posición entre un macrobloque que ha de ser codificado y bloques periféricos; La figura 11 es un diagrama de bloques que muestra la estructura interna de una unidad decodificadora de longitud variable de un dispositivo decodificador de imagen en movimiento de conformidad con la modalidad 2 de la presente invención; y La figura 12 es un diagrama de bloques que muestra la estructura interna de una unidad generadora de imagen interpolada con la cual una unidad de predicción compensada en movimiento de un dispositivo codificador de imagen en movimiento de conformidad con la modalidad 3 de la presente invención.
DESCRIPCION DETALLADA DE LA INVENCION De aquí en adelante, las modalidades preferidas de la presente invención se explicarán con detalle con referencia a los dibujos.
Modalidad 1 En esta modalidad 1 , un dispositivo codificador de imagen en movimiento que lleva a cabo una predicción compensada en movimiento entre cuadros adyacentes al usar cada imagen de cuadro de una imagen de video como una entrada y lleva a cabo un proceso de compresión usando transformación ortogonal y cuantificación en una señal de diferencia de predicción adquirida y, después de eso, lleva a cabo codificación de longitud variable para generar un flujo de bits, y un dispositivo decodificador de imagen en movimiento que decodifica el flujo de bits se explicará.
La figura 1 es un diagrama de bloques que muestra la estructura de un dispositivo codificador de imagen en movimiento de conformidad con la modalidad 1 de la presente invención. El dispositivo codificador de imagen en movimiento mostrado en la figura 1 incluye una unidad de división de bloque 2 para dividir cada imagen de cuadro de una señal de video introducida 1 en imágenes de macrobloque de una pluralidad de más bloques cada uno teniendo un tamaño de macrobloque 4 y posteriormente dividiendo cada una de las imágenes de macrobloque en una imagen de macro/sub-bloque 5 de uno o más sub-bloques de conformidad con un modo de codificación 7 para producir esta imagen de macro/sub-bloque 5, una unidad de intra-predicción 8 para, cuando recibe una imagen de macro/sub-bloque 5 introducida en la misma, llevando a cabo una predicción intra-cuadro en la imagen de macro/sub-bloque 5 usando una señal de imagen almacenada en una memoria 28 para intra-predicción para generar una imagen de predicción 1 1 , una unidad de predicción compensada en movimiento 9 para, cuando recibe una imagen de macro/sub-bloque 5 introducida en la misma, llevando a cabo una predicción compensada en movimiento en la imagen de macro/sub-bloque 5 usando una imagen de referencia 15 almacenada en una memoria de cuadro de predicción compensada en movimiento 14 para generar una imagen de predicción 17, una unidad de conmutación 6 para introducir una imagen de macro/sub-bloque 5 a cualquiera de la unidad de intra-predicción 8 y la unidad de predicción compensada en movimiento 9 de conformidad con el modo de codificación 7, una unidad de subtracción 12 para sustraer la imagen de predicción 1 1 ó 17 que es producida de una de la unidad de intra-predicción 8 y la unidad de predicción compensada en movimiento 9 de la imagen de macro/sub-bloque 5 producida desde la unidad de división de bloque 2 para generar una señal de diferencia de predicción 13, una unidad de transformación/cuantificación 19 para llevar a cabo un proceso de transformación y cuantificación en el señal de diferencia de predicción 13 para generar datos comprimidos 21 , una unidad codificadora de longitud variable 23 para codificar por entropía los datos comprimidos 21 para multiplexar estos datos comprimidos en el flujo de bits 30, una unidad de cuantificación inversa/transformación inversa 22 para llevar a cabo un proceso de transformación inversa y cuantificación inversa sobre los datos comprimidos 21 para generar una señal de diferencia de predicción decodificada local 24, una unidad adicionadora 25 para añadir la imagen de predicción 1 1 ó 17 producida desde una de la unidad de intra-predicción 8 y la unidad de predicción compensada en movimiento 9 a la salida de la unidad de cuantificación inversa/transformación inversa 22 para generar una señal de imagen decodificada local 26, la memoria 28 para intra-predicción para almacenar la señal de imagen decodificada local 26, una unidad de filtro de bucle 27 para llevar a cabo filtración en la señal de imagen decodificada local 26 para generar una imagen decodificada local 29, y la memoria de cuadro de predicción compensada en movimiento 14 para almacenar la imagen decodificada local 29.
Una unidad de control de codificación 3 emite piezas de información requeridas para el proceso llevado a cabo por cada unidad (el tamaño del macrobloque 4, modos de codificación 7, un modo óptimo de codificación 7a, parámetros de predicción 10, parámetros óptimos de predicción 10a o 18a, parámetros de compresión 20, y parámetros de compresión óptimos 20a). De aquí en adelante, los detalles del tamaño del macrobloque 4 y el modo de codificación 7 se explicarán. Los detalles de las otras piezas de información se mencionarán más adelante.
La unidad de control de codificación 3 notifica a la unidad de división de bloque 2 del tamaño del macrobloque 4 de cada imagen de cuadro de la señal de video introducida 1 , y también notifica la unidad de división de bloque 2 de todos los modos de codificación seleccionares 7 de conformidad con el tipo de imagen para cada macrobloque que ha de ser codificado. Aunque la unidad de control de codificación 3 puede seleccionar cierto modo de codificación de entre un conjunto de modos de codificación, este conjunto de modos de codificación se prepara arbitrariamente. Por ejemplo, la unidad de control de codificación puede seleccionar cierto modo de codificación de entre un conjunto mostrado en la figura 2A o 2B que se mencionará más adelante.
La figura 2A es una vista que muestra un ejemplo de modos de codificación para una imagen P (Predictiva) en cada uno de los cuales la codificación predictiva en una dirección de tiempo se lleva a cabo. En la figura 2A, mb modoO a mb_modo2 muestran modos (inter) en cada uno de los cuales un macrobloque (bloque de pixeles M*L) es codificado usando una predicción inter-cuadro. mbjnodoO es el modo en el cual un vector de movimiento es asignado a la totalidad de un macrobloque, mc_modo1 y mc_modo2 son los modos en cada uno de los cuales un macrobloque es dividido en partes iguales que son alineadas horizontalmente o verticalmente, y diferentes vectores de movimiento son asignados a los sub-bloques en los cuales el macrobloque es dividido, respectivamente. mc_modo3 es el modo en el cual a macrobloque es dividido en cuatro partes, y diferentes modos de codificación (sub_mb_modo) son asignados a los cuatro sub-bloques en los cuales el macrobloque es dividido, respectivamente. sub_mb_modoO a sub_mb_modo4 son los modos cada uno de los cuales, cuando mb_modo3 es seleccionado como el modo de codificación de un macrobloque, puede ser asignado a cada uno de los cuatro sub-bloques (bloques de píxeles mxl) en los cuales el macrobloque es dividido. sub_mb_modoO es el modo (intra) en el cual un sub-bloque es codificado usando una predicción intra-cuadro. Los otros modos son los modos (inter) que un sub-bloque es codificado usando una predicción inter-cuadro. sub mb modol es el modo en el cual un vector de movimiento es asignado a la totalidad de un sub-bloque, sub_mc_modo2 y sub_mc_modo3 son los modos en cada uno de los cuales un sub-bloque es dividido en partes iguales que son alineadas horizontalmente o verticalmente, y diferentes vectores de movimiento son asignados a los sub-bloques en los cuales el sub-bloque es dividido, respectivamente, y sub_mb_modo4 es el modo en el cual un sub-bloque es dividido en cuatro partes, y diferentes vectores de movimiento son asignados a los cuatro sub-bloques en los cuales el sub-bloque es dividido, respectivamente.
Además, la figura 2B es una vista que muestra otro ejemplo de modos de codificación para una imagen P en cada una de las cuales la codificación predictiva en una dirección de tiempo se lleva a cabo. En la figura 2B, mb modo 0 a 6 son los modos (inter) en cada uno de los cuales un macrobloque (bloque de píxeles M*L) es codificado usando una predicción inter cuadro. mb_modoO es el modo en el cual un vector de movimiento es asignado a la totalidad de un macrobloque, y mb modol a mb_modo6 son los modos en cada uno de los cuales un macrobloque es dividido en dos partes que son alineadas horizontalmente, verticalmente o diagonalmente, y diferentes vectores de movimiento son asignados a los dos sub-bloques en los cuales el macrobloque es dividido, respectivamente. mb_modo7 es el modo en el cual a macrobloque es dividido en cuatro partes, y diferentes modos de codificación (sub_mb_modo) son asignados a los cuatro sub-bloques en los cuales el macrobloque es dividido, respectivamente. sub_mb_modoO a sub_mb_modo8 son los modos cada uno de los cuales, cuando mb_modo7 es seleccionado como el modo de codificación de un macrobloque, puede ser asignado a cada uno de los cuatro sub-bloques (bloques de píxeles mxl) en los cuales el macrobloque es dividido. sub_mb_modo0 es el modo (intra) en el cual un sub-bloque es codificado usando una predicción intra-cuadro. Los otros modos son los modos (inter) que un sub-bloque es codificado usando una predicción inter-cuadro. sub_mb_modo1 es el modo en el cual one vector de movimiento es asignado a la totalidad de un sub-bloque, sub_mb_modo2 a sub_mb_modo7 son los modos en cada uno de los cuales un sub-bloque es dividido en dos partes que son alineadas horizontalmente, verticalmente o diagonalmente, y diferentes vectores de movimiento son asignados a los dos sub-bloques en los cuales el sub-bloque es dividido, respectivamente. sub_mb_modo8 es el modo en el cual a sub-bloque es dividido en cuatro partes, y diferentes vectores de movimiento son asignados a los cuatro sub-bloques en los cuales el sub-bloque es dividido, respectivamente.
La unidad de división de bloque 2 divide cada imagen de cuadro de la señal de video introducida 1, introducida al dispositivo codificador de imagen en movimiento en imágenes de macrobloque cada una teniendo el tamaño del macrobloque 4 notificado a la misma por la unidad de control de codificación 3. Además, cuando un modo de codificación 7 notificado al mismo desde la unidad de control de codificación 3 incluye un modo (uno de sub_mb_modo1 a 4 de la figura 2A o uno de sub_mb_modo1 a sub_mb_modo8 de la figura 2B) en la cual diferentes modos de codificación son respectivamente asignados a sub-bloques en los cuales un macrobloque es dividido, la unidad de división de bloque 2 divide cada imagen de macrobloque en imágenes de sub-bloque mostradas por el modo de codificación 7. Por lo tanto, una imagen de bloque producida desde la unidad de división de bloque 2 es cualquiera de una imagen de macrobloque o una imagen de sub-bloque de conformidad con el modo de codificación 7. De aquí en adelante, esta imagen de bloque es referida como un imagen de macro/sub-bloque 5.
Cuando cada cuadro de la señal de video introducida 1 tiene un tamaño horizontal o vertical que no es un múltiplo integral del tamaño horizontal o tamaño vertical del tamaño del macrobloque 4, un cuadro (cuadro extendido) en el cual los píxeles son adicionalmente provistos en una dirección horizontal u vertical de tal manera que cada cuadro de la señal de video introducida 1 tiene un tamaño horizontal o vertical que es un múltiplo integral del tamaño horizontal o tamaño vertical del tamaño del macrobloque es generado para cada cuadro de la señal de video introducida 1. Como un método de generación para generar píxeles en la región extendida cuando se añaden píxeles para ampliar cada cuadro en, por ejemplo, una dirección vertical, hay un método de relleno de la región extendida al copiar repetidamente una línea de píxeles que corren sobre un borde inferior del cuadro original o al generar repetidamente una línea de píxeles que tienen un valor de píxeles fijo (gris, negro, blanco o similar). También cuando se añaden píxeles para ampliar cada cuadro en una dirección horizontal, hay un método de relleno de la región extendida al copiar repetidamente una línea de píxeles que corren sobre un borde derecho del cuadro original o generando repetidamente una línea de píxeles que tienen un valor de píxeles fijo (gris, negro, blanco o similar). El cuadro extendido que es generado para cada cuadro de la señal de video introducida 1 y cuyo tamaño de cuadro es un múltiplo integral del tamaño del macrobloque, en lugar de cada imagen de cuadro de la señal de vídeo introducida 1 , es introducida a la unidad de división de bloque 2.
El tamaño del macrobloque 4 y el tamaño del cuadro (tamaño horizontal y tamaño vertical) de cada cuadro de la señal de video introducida 1 son producidas a la unidad codificadora de longitud variable 23 para ser multiplexadas en el flujo de bits en unidades de una secuencia que consiste de uno o más cuadros o en unidades de una imagen.
El valor del tamaño del macrobloque puede ser alternativamente definido por un perfil o similar, en lugar de ser multiplexado directamente en el flujo de bits. En este caso, la información de identificación para identificar el perfil sobre una base por secuencia es multiplexada en el flujo de bits.
La unidad de conmutación 6 es un interruptor para conmutar entre los destinos de entrada de la imagen de macro/sub-bloque 5 de conformidad con el modo de codificación 7. Cuando el modo de codificación 7 es el modo en el cual la imagen de macro/sub-bloque es codificada usando una predicción intra-cuadro (referida como el modo de predicción intra-cuadro de aquí en adelante), esta unidad de conmutación 6 introduce la imagen de macro/sub-bloque 5 a la unidad de intra-predicción 8, mientras que cuando el modo de codificación 7 es el modo en el cual la imagen de macro/sub-bloque es codificada usando una predicción inter-cuadro (referida como el modo de predicción inter-cuadro de aquí en adelante), la unidad de conmutación introduce la imagen de macro/sub-bloque 5 a la unidad de predicción compensada en movimiento 9.
La unidad de intra-predicción 8 lleva a cabo una predicción intra-cuadro sobre la imagen de macro/sub-bloque 5 introducida a la misma en unidades de un macrobloque que ha de ser codificado que tiene un tamaño especificado por el tamaño del macrobloque 4 o en unidades de un sub-bloque especificado por el modo de codificación 7. La unidad de intra-predicción 8 genera una imagen de predicción 11 usando la señal de imagen en el cuadro almacenado en la memoria 28 para intra-predicción para cada uno de todos los modos intra-predicción incluidos en los parámetros de predicción 10 notificados a la misma desde la unidad de control de codificación 3.
De aquí en adelante, se explicarán los detalles de los parámetros de predicción 10. Cuando el modo de codificación 7 es el modo de predicción intra-cuadro, la unidad de control de codificación 3 especifica una modo de intra-predicción como un parámetro de predicción 10 correspondiente al modo de codificación 7. Como este modo de intra-predicción, por ejemplo, puede haber un modo en el cual el macrobloque o sub-bloque es dividido en bloques de 4> 4 pixeles, y una imagen de predicción es generada usando pixeles en la vecindad de un bloque unitario de la señal de imagen almacenada en la memoria 28 para intra-predicción, un modo en el cual el macrobloque o sub-bloque es dividido en bloques de 8*8 pixeles, y una imagen de predicción es generada usando pixeles en la vecindad de un bloque unitario de la señal de imagen almacenado en la memoria 28 para intra-predicción, un modo en el cual el macrobloque o sub-bloque es dividido en bloques de 16x16 pixeles, y una imagen de predicción es generada usando pixeles en la vecindad de un bloque unitario de la señal de imagen almacenada en la memoria 28 para intra-predicción, y un modo en el cual una imagen de predicción es generada a partir de una imagen de un interior reducido del macrobloque o sub-bloque.
La unidad de predicción compensada en movimiento 9 especifica una imagen de referencia 15 que es usada para la generación de una imagen de predicción a partir de los datos acerca de uno o más cuadros de imágenes de referencia almacenadas en la memoria de cuadro de predicción compensada en movimiento 14, y realiza una predicción compensada en movimiento usando esta imagen de referencia 15 y la imagen de macro/sub-bloque 5 de conformidad con el modo de codificación 7 notificado a la misma desde la unidad de control de codificación 3 para generar parámetros de predicción 18 y una imagen de predicción 17.
De aquí en adelante, se explicarán los detalles de los parámetros de predicción 18. Cuando el modo de codificación 7 es el modo de predicción de inter cuadro, la unidad de predicción compensada en movimiento 9 determina los vectores de movimiento y el número de identificación (índice de imagen de referencia) o similar de la imagen de referencia indicada por cada uno de los vectores de movimiento como los parámetros de predicción 8 correspondientes al modo de codificación 7. Los detalles del método de generación para generar parámetros de predicción 18 se mencionará más adelante.
La unidad de sustracción 12 sustrae cualquiera de la imagen de predicción 11 y la imagen de predicción 17 de la imagen de macro/sub-bloque 5 para adquirir una señal de diferencia de predicción 13. La señal de diferencia de predicción 13 es generada para cada una de las imágenes de predicción 1 1 que la unidad de intra-predicción 8 genera de conformidad con todos los modos de intra-predicción especificados por los parámetros de predicción 10.
La señal de diferencia de predicción 13 que es generada de conformidad con cada uno de todos los modos de predicción especificados por los parámetros de predicción 10 es evaluada por la unidad de control de codificación 3, y parámetros de predicción óptimos 10a incluyendo un modo intra-predicción óptimo se determinan. Como un método de evaluación de la señal de diferencia de predicción, la unidad de control de codificación usa, por ejemplo, un método para calcular un costo de codificación J2, que se mencionará más adelante, usando los datos comprimidos 21 generados por transformación y cuantificación de la señal de diferencia de predicción 13. La unidad de control de codificación entonces selecciona el modo de intra-predicción que minimiza el costo de codificación J2.
La unidad de control de codificación 3 evalúa la señal de diferencia de predicción 13 que es generada para cada uno de todos los modos incluidos en los modos de codificación 7 por cualquiera de la unidad de intra-predicción 8 o la unidad de predicción compensada en movimiento 9, y determina un modo de codificación óptimo 7a que provee un grado óptimo de eficiencia de codificación de entre los modos de codificación 7 sobre la base del resultado de la evaluación. La unidad de control de codificación 3 además determina parámetros de predicción óptimos 10a o 18a y parámetros de compresión óptimos 20a correspondientes al modo de codificación óptimo 7a a partir de los parámetros de predicción 10 o 18 y los parámetros de compresión 20. Un procedimiento de determinación de los parámetros de predicción óptimos y un procedimiento de determinación de los parámetros de compresión óptimos se mencionarán más adelante. Como se mencionó antes, en el caso del modo de predicción intra-cuadro, el modo de intra-predicción es incluido en los parámetros de predicción 10 y en los parámetros de predicción óptimos 10a. Por el contrario, en el caso del modo de predicción inter-cuadro modo, vectores de movimiento, el número de identificación (índice de imagen de referencia) de la imagen de referencia indicada por cada uno de los vectores de movimiento, etc., se incluyen en los parámetros de predicción 18 y en los parámetros de predicción óptimos 18a. Además, un tamaño de bloque de transformación, un tamaño de paso de cuantificación, etc., se incluyen en los parámetros de compresión 20 y en los parámetros de compresión óptimos 20a.
Como resultado de llevar a cabo este procedimiento de determinación, la unidad de control de codificación 3 emite el modo de codificación óptimo 7a, los parámetros de predicción óptimos 10a o 18a, y los parámetros de compresión óptimos 20a para el macrobloque o sub-bloque que han de ser codificados a la unidad codificadora de longitud variable 23. La unidad de control de codificación 3 también emite los parámetros de compresión óptimos 20a de los parámetros de compresión 20 a la unidad de transformación/cuantificación 19 y a la unidad de cuantificación inversa/transformación inversa 22.
La unidad de transformación/cuantificación 19 selecciona la señal de diferencia de predicción 13 (referida como la señal diferencial de predicción óptima 13a de aquí en adelante) que corresponde a la imagen de predicción 1 1 ó 17 generada sobre la base del modo de codificación óptimo 7a y los parámetros de predicción óptimos 10a o 18a que la unidad de control de codificación 3 ha determinado a partir de entre la pluralidad de señales de diferencia de predicción 13 que son respectivamente generados para todos los modos incluidos en los modos de codificación 7, lleva a cabo un proceso de transformación, tal como un DCT, sobre esta señal diferencial de predicción óptima 13a sobre la base del tamaño de bloque de transformación en los parámetros de compresión óptimos 20a determinados por la unidad de control de codificación 3 para calcular coeficientes de transformación y también cuantifica estos coeficientes de transformación sobre la base del tamaño de paso de cuantificación en los parámetros de compresión óptimos 20a notificados a la misma desde la unidad de control de codificación 3, y después emite los datos comprimidos 21 que son los coeficientes de transformación cuantificados por la misma a la unidad de cuantificación inversa/transformación inversa 22 y a la unidad codificadora de longitud variable 23.
La unidad de cuantificación inversa/transformación inversa 22 cuantifica en forma inversa los datos comprimidos 21 introducidos a la misma desde la unidad de transformación/cuantificación 19 usando los parámetros de compresión óptimos 20a y después realiza un proceso de transformación inversa, tal como una DCT inversa, para generar una señal de diferencia de predicción decodificada local 24 de la señal de diferencia de predicción 13a, y emite esta señal de diferencia de predicción decodificada local 24 a la unidad de adición 25.
La unidad de adición 25 añade la señal de diferencia de predicción decodificada local 24 y la imagen de predicción 11 ó 17 para generar una señal de imagen decodificada local 26, y emite esta señal de imagen decodificada local 26 a la unidad de filtro de bucle 27 mientras almacena la señal de imagen decodificada local en la memoria 28 para intra-predicción. Esta señal de imagen decodificada local 26 sirve como una señal de imagen para predicción intra-cuadro.
La unidad de filtro de bucle 27 realiza un proceso de filtración predeterminado sobre la señal de imagen decodificada local 26 introducida a la misma desde la unidad de adición 25, y almacena la imagen decodificada local 29 sobre la cual la unidad de filtro de bucle ha realizado el proceso de filtración en la memoria de cuadro de predicción compensada en movimiento 14. Esta imagen decodificada local 29 sirve como una imagen de referencia 15 para predicción compensada en movimiento. El proceso de filtración por la unidad de filtro de bucle 27 se puede realizar en unidades de un macrobloque de la señal de imagen decodificada local 26 introducida a la unidad de filtro de bucle, o se puede realizar sobre un tamizado de macrobloques después de que la señal de imagen decodificada local 26 correspondiente a un tamizado de los macrobloques es introducida a la unidad de filtro de bucle.
La unidad codificadora de longitud variable 23 codifica por entropía los datos comprimidos 21 emitidos a la misma desde la unidad de transformación/cuantificación 19, el modo de codificación óptimo 7a emitido a la misma desde la unidad de control de codificación 3, los parámetros de predicción óptimos 10a o 18a, y los parámetros de compresión óptimos 20a para generar un flujo de bits 30 que muestra los resultados de esas codificaciones. Los parámetros de predicción óptimos 10a o 18a y los parámetros de compresión óptimos 20a son codificadas en unidades de un elemento de conformidad con el modo de codificación indicado por el modo de codificación óptimo 7a.
Como se mencionó antes, en el dispositivo codificador de imagen en movimiento de conformidad con esta modalidad 1 , la unidad de predicción compensada en movimiento 9 y la unidad de transformación/cuantificación 19 operan en cooperación con la unidad de control de codificación 3 para determinar el modo de codificación, los parámetros de predicción, y los parámetros de compresión que proveen un grado óptimo de eficiencia de codificación (es decir, el modo de codificación óptimo 7a, los parámetros de predicción óptimos 10a o 18a, y los parámetros de compresión óptimos 20a).
De aquí en adelante, el procedimiento de determinación, que es llevado a cabo por la unidad de control de codificación 3, para determinar el modo de codificación que provee un grado óptimo de eficiencia de codificación, los parámetros de predicción, y los parámetros de compresión se explicarán en el orden de 1. los parámetros de predicción, 2. los parámetros de compresión, y 3. el modo de codificación. 1. Procedimiento para determinar los parámetros de predicción De aquí en adelante, se explicará un procedimiento para cuando el modo de codificación 7 es el modo de predicción inter-cuadro, determinar los parámetros de predicción 18 incluyendo vectores de movimiento relacionados con la predicción inter-cuadro, y el número de identificación (índice de imagen de referencia) o similar de la imagen de referencia indicada por cada uno de los vectores de movimiento.
La unidad de predicción compensada en movimiento 9 determina los parámetros de predicción 18 para cada uno de todos los modos de codificación 7 (v.gr., el conjunto de modos de codificación mostrado en la figura 2A o 2B) que son notificados a partir de la unidad de control de codificación 3 a la unidad de predicción de compensación de movimiento 9, en cooperación con la unidad de control de codificación 3. De aquí en adelante, se explicarán los detalles del procedimiento.
La figura 3 es un diagrama de bloques que muestra la estructura interna de la unidad de predicción compensada en movimiento 9. La unidad de predicción compensada en movimiento 9 mostrada en la figura 3 incluye una unidad de división de región de compensación de movimiento 40, una unidad de detección de movimiento 42, y una unidad generadora de imagen interpolada 43. Además, los datos de entrada introducidos a la unidad de predicción compensada en movimiento incluyen el modo de codificación 7 introducido a la misma desde la unidad de control de codificación 3, la imagen de macro/sub-bloque 5 introducida a la misma desde la unidad de conmutación 6, y la imagen de referencia 15 introducida a la misma desde la memoria de cuadro de predicción compensada en movimiento 14.
La unidad de división de región de compensación de movimiento 40 divide la imagen de macro/sub-bloque 5 introducida desde la unidad de conmutación 6 en imágenes de bloques cada uno de los cuales es una unidad para compensación de movimiento de conformidad con el modo de codificación 7 notificado a la misma desde la unidad de control de codificación 3, y emite esta imagen de bloque de región de compensación de movimiento 41 a la unidad de detección de movimiento 42.
La unidad generadora de imagen interpolada 43 especifica la imagen de referencia 15 que se usa para la generación de una imagen de predicción a partir de los datos acerca de uno o más cuadros de imágenes de referencia almacenados en la memoria de cuadro de predicción compensada en movimiento 14, y la unidad de detección de movimiento 42 detecta un vector de movimiento 44 en un rango de búsqueda de movimiento predeterminado sobre la imagen de referencia 15 especificada por la unidad generadora de imagen interpolada. La unidad de detección de movimiento realiza la detección del vector de movimiento usando un vector de movimiento que tiene exactitud de muestra virtual, como en el caso de los estándares de MPEG-4 AVC o similares. El método de detección incluye los pasos de, para información de píxeles (referidos como pixeles enteros) que tiene la imagen de referencia, generar muestras virtuales (píxeles) entre píxeles enteros al implementar una operación aritmética de interpolación sobre los píxeles enteros, y usando las muestras virtuales como una imagen de predicción. En el caso de los estándares de MPEG-4 AVC, de conformidad con el método de detección, las muestras virtuales que tienen exactitud de 1/8 de píxel pueden ser generadas y usadas. En el caso de los estándares de MPEG-4 AVC, las muestras virtuales que tienen exactitud de 1/2 píxel son generadas al implementar una operación aritmética de interpolación con un filtro de 6 etapas usando seis pixeles enteros que corren en una dirección a vertical u horizontal. Las muestras virtuales que tienen exactitud de 1/4 de píxel son generadas al implementar una operación aritmética de interpolación usando un filtro para adquirir un valor medio de 1/2 pixeles adyacentes o pixeles enteros.
También en la unidad de predicción compensada en movimiento 9 de conformidad con esta modalidad 1 , la unidad generadora de imagen interpolada 43 genera una imagen de predicción 45 de pixeles virtuales de conformidad con la exactitud del vector de movimiento 44 notificado a la misma desde la unidad de detección de movimiento 42. De aquí en adelante, un ejemplo de un procedimiento de detección para detectar un vector de movimiento que tiene exactitud de pixeles virtuales se mostrará.
Procedimiento de detección de vector de movimiento I La unidad generadora de imagen interpolada 43 genera una imagen de predicción 45 para el vector de movimiento 44 que tiene exactitud de pixeles enteros en el rango de búsqueda de movimiento predeterminado de la imagen de bloque de región de compensación de movimiento 41. La imagen de predicción 45 (imagen de predicción 17) generada a exactitud de píxeles enteros es emitida a la unidad de sustracción 12 y es sustraída de la imagen de bloque de región de compensación de movimiento 41 (imagen de macro/sub-bloque 5) por la unidad de sustracción 12, por lo que el resultado de la sustracción se definido como una señal de diferencia de predicción 13. La unidad de control de codificación 3 evalúa un grado de eficiencia de predicción para la señal de diferencia de predicción 13 y para el vector de movimiento 44 (parámetro de predicción 18) que tiene exactitud de píxeles enteros. En la evaluación del grado de eficiencia de predicción, un costo de predicción Ji se calcula de conformidad con, por ejemplo, la siguiente ecuación (1), y el vector de movimiento 44 que tiene exactitud de píxeles enteros que minimiza el costo de predicción Ji en el rango de búsqueda de movimiento predeterminado se determina.
J!=D!+ARi (1 ) Supóngase que y se usan como valores evaluados. Di es la suma de valores absolutos (SAD) en el macrobloque o sub-bloque de la señal de diferencia de predicción, Ri es una cantidad código estimada del vector de movimiento y el número de identificación de la imagen de referencia indicado por este vector de movimiento, y ? es un número positivo.
Cuando se determina el valor evaluado Ri, la cantidad de código del vector de movimiento se predice usando el valor de un vector adyacente de movimiento como el valor del vector de movimiento en cada modo mostrado en la figura 2A o 2B, y el valor de diferencia de predicción es codificado por entropía sobre la base de una distribución de probabilidad. Como una alternativa, el valor evaluado se determina llevando a cabo una estimación de una cantidad código correspondiente al valor evaluado.
La figura 4 es una vista que explica un método de determinación para determinar un valor predicho del vector de movimiento (referido como un valor predicho de aquí en adelante) en cada modo de codificación 7 mostrado en la figura 2B. Con referencia a la figura 4, para un bloque rectangular en mb_modoO, sub_mb_modo1 , o similar, un vector predicho PMV de este bloque rectangular se calcula de conformidad con la siguiente ecuación (2) usando vectores de movimiento MVa, MVb y MVc ya codificados de bloques localizados en un lado izquierdo (posición A), un lado superior (posición B), y un lado derecho superior (posición C) del bloque rectangular. La mediana() corresponde a la mediana del proceso de filtro y es una función de salida de la mediana de los vectores de movimiento MVa, MVb y MVc.
PMV=mediana(MVa,MVb,MVc) (2) Por el contrario, en el caso de bloques en forma de L que tiene un L-letter shape mb_modo1 , sub_mb_modo2, mb_modo2, sub_mb_modo3, mb_modo3, sub_mb_modo4, mb_modo4, y sub_mb_modo5, las posiciones A, B y C sobre el cual la mediana es operada son cambiados de conformidad con la forma de letra L para hacer posible aplicar el mismo proceso que el realizado sobre bloques rectangulares a cada bloque en forma de L. Como resultado, un valor predicho del vector de movimiento se puede calcular de conformidad con la forma de cada región de asignación de vector de movimiento sin cambiar el método de cálculo de un vector predicho PMV, y el costo del valor evaluado puede ser reducido a uno pequeño.
Procedimiento de detección de vector de movimiento II La unidad generadora de imagen interpolada 43 genera a imagen de predicción 45 para uno o más vectores de movimiento 44 que tienen exactitud de 1/2 píxel localizada en la vecindad del vector de movimiento que tiene exactitud de píxeles enteros que es determinada de conformidad con el "procedimiento de detección de vector de movimiento I" antes mencionado. Después de eso, en la misma forma que el "procedimiento de detección de vector de movimiento I" antes mencionado se lleva a cabo, la imagen de predicción 45 (imagen de predicción 17) generada a exactitud de 1/2 píxel es sustraída de la imagen de bloque de región de compensación de movimiento 41 (imagen de macro/sub-bloque 5) por la unidad de sustracción 12, por lo que una señal de diferencia de predicción 13 es adquirida. Enseguida, la unidad de control de codificación 3 evalúa un grado de eficiencia de predicción para esta señal de diferencia de predicción 13 y para el vector de movimiento 44 (predicción parámetro 18) que tiene exactitud de 1/2 píxel, y determina un vector de movimiento 44 que tiene exactitud de 1/2 píxel que minimiza el costo de predicción J-i del uno o más vectores de movimiento que tienen exactitud de 1/2 píxel localizada en la vecindad del vector de movimiento que tiene exactitud de píxeles enteros.
Procedimiento de detección de vector de movimiento III También para vectores de movimiento que tienen exactitud de 1/4 de píxel, la unidad de control de codificación 3 y la unidad de predicción compensada en movimiento 9 determinan un vector de movimiento 44 que tiene exactitud de 1/4 de píxel que minimiza el costo de predicción ^ de uno o más vectores de movimiento que tienen exactitud de 1/4 de píxel localizados en la vecindad del vector de movimiento que tiene exactitud de 1/2 píxel que se determina de conformidad con el "procedimiento de detección de vector de movimiento II" antes mencionado.
Procedimiento de detección de vector de movimiento IV Después de eso, la unidad de control de codificación 3 y la unidad de predicción compensada en movimiento 9 de manera similar detectan un vector de movimiento que tiene exactitud de píxeles virtuales hasta que el vector de movimiento detectado por la misma tiene un grado de exactitud predeterminado.
Aunque en esta modalidad, el ejemplo en el cual la unidad de control de codificación y la unidad de predicción compensada en movimiento detectan un vector de movimiento que tiene exactitud de píxeles virtuales hasta que el vector de movimiento detectado por la misma tiene un grado de exactitud predeterminado se muestra, la detección de un vector de movimiento que tiene exactitud de píxeles virtuales puede ser abortada cuando, por ejemplo, un umbral para el costo de predicción es predeterminado y el costo de predicción Ji se vuelve más pequeño que el umbral predeterminado antes de que el vector de movimiento detectado tenga un grado de exactitud predeterminado.
El vector de movimiento se puede hacer para referirse a un píxel localizado fuera del cuadro definido por el tamaño de cuadro de referencia. En este caso, es necesario generar píxeles localizados fuera del cuadro. Como un método para generar píxeles localizados fuera del cuadro, hay un método de relleno de una región exterior con píxeles que corren en un borde de pantalla del cuadro.
Cuando el tamaño de cuadro de cada cuadro de la señal de video introducida 1 no es un múltiplo integral de tamaño del macrobloque y un cuadro extendido es introducido en lugar de cada cuadro de la señal de video introducida 1 , el tamaño que es extendido a un múltiplo integral del tamaño del macrobloque (el tamaño del cuadro extendido) es definido como el tamaño del cuadro del cuadro de referencia. Por el contrario, cuando la porción decodificada local de la región extendida no es referida, sino sólo la porción decodificada local del cuadro original es referida como píxeles en el cuadro, el tamaño del cuadro de la señal de video introducida original es definida como el tamaño de cuadro del cuadro de referencia.
Para la imagen de bloque de región de compensación de movimiento 41 de cada una de una pluralidad de bloques en los cuales la imagen de macro/sub-bloque 5 es dividida y que es una unidad para la compensación de movimiento indicada por el modo de codificación 7, la unidad de predicción compensada en movimiento 9 emite tanto el vector de movimiento de exactitud de píxeles virtuales que tiene un grado de exactitud predeterminado que es determinado para la imagen de bloque de región de compensación de movimiento, como el número de identificación de la imagen de referencia indicado por el vector de movimiento como los parámetros de predicción 18. La unidad de predicción compensada en movimiento 9 también emite la imagen de predicción 45 (imagen de predicción 17) generada usando los parámetros de predicción 18 a la unidad de sustracción 12, y la imagen de predicción es sustraída de la imagen de macro/sub-bloque 5 por la unidad de sustracción 12, por lo que una señal de diferencia de predicción 13 es adquirida. La señal de diferencia de predicción 13 emitida desde la unidad de sustracción 12 es emitida a la unidad de transformación/cuantificación 19. 2. Procedimiento de determinación para determinar los parámetros de compresión De aquí en adelante, el procedimiento para determinar un parámetro de compresión 20 (tamaño de bloque de transformación) que se usa cuando se lleva a cabo un proceso de transformación y cuantificación sobre la señal de diferencia de predicción 13 generada sobre la base de los parámetros de predicción 18 determinada para cada modo de codificación 7 de conformidad con el antes mencionado "1. Procedimiento de determinación para determinar los parámetros de predicción" se explicará.
La figura 5 es una vista que muestra un ejemplo de adaptación del tamaño de bloque de transformación de conformidad con un modo de codificación 7 mostrado en la figura 2B. Con referencia a la figura 5, un bloque de 32x32 pixeles se usa como un ejemplo de un bloque de MxL pixeles. Cuando el modo indicado por el modo de codificación 7 es uno de mbjTiodoO a mb_modo6, cualquiera del tamaño de 16x16 pixeles o el tamaño de 8 8 pixeles es adaptativamente seleccionare como el tamaño de bloque de transformación. Cuando el modo de codificación 7 indica mb_modo7, cualquiera del tamaño de 8x8 pixeles o el tamaño de 4 4 pixeles es adaptativamente seleccionable como el tamaño de bloque de transformación para cada uno de sub-bloques de 16x16 pixeles en el cual cada macrobloque es dividido. El conjunto de tamaños de bloque de transformación seleccionables para cada modo de codificación puede ser definido de entre tamaños de bloque rectangulares arbitrarios cada uno de los cuales es igual a o más pequeño que el tamaño de sub-bloques iguales en los cuales un macrobloque es dividido de conformidad con el modo de codificación.
La figura 6 es una vista que muestra otro ejemplo de la adaptación del tamaño de bloque de transformación de conformidad con un modo de codificación 7 mostrado en la figura 2B. En el ejemplo de la figura 6, cuando el modo indicado por el modo de codificación 7 es el mb_modo0, mb_modo5 o mb_modo6 antes mencionado, además del tamaño de 16x16 pixeles y el tamaño de 8 8 pixeles, el tamaño de bloque de transformación de conformidad con la forma de cada sub-bloque que es una unidad para la compensación de movimiento es seleccionable como un tamaño de bloque de transformación seleccionarle. En el caso de mb_modoO, el tamaño de bloque de transformación es adaptativamente seleccionable de entre el tamaño de 16x 16 pixeles, el tamaño de 8 8 pixeles, y el tamaño de 32x32 pixeles. En el caso de mb_modo5, el tamaño de bloque de transformación es adaptativamente seleccionable de entre el tamaño de 16x 16 pixeles, el tamaño de 8 8 pixeles, y el tamaño de 16x32 pixeles. En el caso de mb_modo6, el tamaño de bloque de transformación es adaptativamente seleccionable de entre el tamaño de 16x 16 pixeles, el tamaño de 8x8 pixeles, y el tamaño de 32x 16 pixeles. Además, aunque no se ilustra, en el caso de mb_modo7, el tamaño de bloque de transformación es adaptativamente seleccionable de entre el tamaño de 16x 16 pixeles, el tamaño de 8 8 pixeles, y el tamaño de 16x32 pixeles. En el caso de uno de mb_modo1 a mb_modo4, la adaptación se puede realizar de tal manera que el tamaño de bloque de transformación se selecciona del tamaño de 16x 16 pixeles y el tamaño de 8x8 pixeles para una región que no es un rectángulo, mientras el tamaño de bloque de transformación se selecciona del tamaño de 8 8 pixeles y el tamaño de 4x4 pixeles para una región que es un rectángulo.
La unidad de control de codificación 3 define el conjunto de tamaños de bloque de transformación de conformidad con el modo de codificación 7 ilustrado en las figuras 5 y 6 como un parámetro de compresión 20. Aunque en los ejemplos mostrados en las figuras 5 y 6, el conjunto de tamaños de bloque de transformación seleccionabas se determina con anticipación de conformidad con el modo de codificación 7 de cada macrobloque, y un tamaño de bloque de transformación se puede seleccionar adaptativamente para cada macrobloque o sub-bloque, el conjunto de tamaños de bloque de transformación seleccionables se puede determinar alternativamente con anticipación de conformidad con el modo de codificación 7 (uno de sub_mb_modo1 a sub_mb_modo8 mostrado en la figura 2B) de cada uno de los sub-bloques en los cuales cada macrobloque es similarmente dividido, y un tamaño de bloque de transformación se puede seleccionar adaptativamente para cada uno de los sub-bloques o cada uno de los bloques en los cuales cada sub-bloque es adicionalmente dividido. De manera similar, cuando se usa un modo de codificación 7 mostrado en la figura 2A, la unidad de control de codificación 3 puede determinar el conjunto de tamaños de bloque de transformación de conformidad con el modo de codificación 7 por anticipado, y puede seleccionar adaptativamente un tamaño de bloque de transformación a partir del conjunto.
La unidad de transformación/cuantificación 19 determina un tamaño de bloque de transformación óptimo a partir de los tamaños de bloque de transformación en unidades de un macrobloque que tiene un tamaño especificado por el tamaño del macrobloque 4 o en unidades de uno de los sub-bloques en los cuales cada macrobloque es adicionalmente dividido de conformidad con el modo de codificación 7, en cooperación con la unidad de control de codificación 3. De aquí en adelante, los detalles de un procedimiento para determinar un tamaño de bloque de transformación óptimo se explicará.
La figura 7 es un diagrama de bloques que muestra la estructura interna de la unidad de transformación/cuantificación 19. La unidad de transformación/cuantificación 19 mostrada en la figura 7 incluye una unidad de división de tamaño de bloque de transformación 50, una unidad de transformación 52, y una unidad de cuantificación 54. Además, datos de entrada introducidos a la unidad de transformación/cuantificación incluyen los parámetros de compresión 20 (el tamaño de bloque de transformación, el tamaño de paso de cuantificación, etc.) introducidos a la misma desde la unidad de control de codificación 3 y la señal de diferencia de predicción 13 introducida a la misma desde la unidad de control de codificación 3.
La unidad de división de tamaño de bloque de transformación 50 convierte la señal de diferencia de predicción 13 de cada macrobloque o sub-bloque que es el objetivo para determinación del tamaño de bloque de transformación en bloques de conformidad con el tamaño de bloque de transformación en los parámetros de compresión 20, y emite cada uno de los bloques a la unidad de transformación 52 como un bloque objetivo de transformación 51. Cuando una pluralidad de tamaños de bloque de transformación se seleccionan y se especifican para un macrobloque o sub-bloque por los parámetros de compresión 20, la pluralidad de tamaños de bloque de transformación de bloques objetivos de transformación 51 son secuencialmente emitidos a la unidad de transformación 52.
La unidad de transformación 52 realiza una DCT, una transformación de enteros en la cual los coeficientes de transformación de una DCT son aproximados por enteros, y un proceso de transformación de conformidad con un método de transformación, tal como transformación de Hadamard, sobre el bloque de objeto de transformación 51 introducido a la misma para generar coeficientes de transformación 53, y emite los coeficientes de transformación 53 generados por la misma a la unidad de cuantificación 54.
La unidad de cuantificación 54 cuantifica los coeficientes de transformación 53 introducidos a la misma de conformidad con el tamaño de paso de cuantificación en los parámetros de compresión 20 notificados a la misma desde la unidad de control de codificación 3, y emite los datos comprimidos 21 que son los coeficientes de transformación cuantificados a la unidad de cuantificación inversa/transformación inversa 22 y a la unidad de control de codificación 3. Cuando una pluralidad de tamaños de bloque de transformación se seleccionan y se especifican para un macrobloque o sub-bloque por los parámetros de compresión 20, la unidad de transformación 52 y la unidad de cuantificación 54 realizan el proceso de transformación y cuantificación antes mencionado en todos los tamaños de bloque de transformación de bloques objetivos de transformación, y emite los datos comprimidos 21 asociados con cada uno de todos los tamaños de bloque de transformación.
Los datos comprimidos 21 emitidos desde la unidad de cuantificación 54 son introducidos a la unidad de control de codificación 3, y son usados para la evaluación de un grado de eficiencia de codificación por el tamaño de bloque de transformación en los parámetros de compresión 20. La unidad de control de codificación 3 usa los datos comprimidos 21 adquiridos para cada uno de todos los tamaños de bloque de transformación seleccionables en cada modo de codificación incluido en los modos de codificación 7 para calcular un costo de codificación J2 de conformidad con, por ejemplo, la siguiente ecuación (3), y para seleccionar el tamaño de bloque de transformación que minimiza el costo de codificación J2 de entre los tamaños de bloque de transformación seleccionables.
J2=D2+AR2 (3) Supóngase que D2 y R2 se usan como valores evaluados. Como D2, la suma de distorsión de diferencias de cuadrados o similares entre la señal de imagen decodificada local 26, que es adquirida al introducir los datos comprimidos 21 adquiridos para el tamaño de bloque de transformación a la unidad de cuantificación inversa/transformación inversa 22, y al añadir la imagen de predicción 17 a una señal de diferencia de predicción decodificada local 24 que es adquirida al realizar un proceso de transformación inversa y cuantificación inversa sobre los datos comprimidos 21, y la imagen de macro/sub-bloque 5 se puede usar. Como R2, la cantidad código (o cantidad código estimada) adquirida al codificar realmente los datos comprimidos 21 adquiridos para el tamaño de bloque de transformación, y el modo de codificación 7 y los parámetros de predicción 10 o 18 asociados con los datos comprimidos 21 por medio de la unidad codificadora de longitud variable 23 se usa.
Después de determinar el modo de codificación óptimo 7a de conformidad con "3. Procedimiento de determinación para determinar el modo de codificación" que se mencionará más adelante, la unidad de control de codificación 3 selecciona el tamaño de bloque de transformación correspondiente al modo de codificación óptimo 7a determinado e incluye el tamaño de bloque de transformación en los parámetros de compresión óptimos 20a, y después emite los parámetros de compresión óptimos a la unidad codificadora de longitud variable 23. Después de codificar por entropía estos parámetros de compresión óptimos 20a, la unidad codificadora de longitud variable 23 multiplexa los parámetros de compresión óptimos codificados por entropía por la misma en el flujo de bits 30.
Debido a que el tamaño de bloque de transformación se selecciona de entre el conjunto de tamaños de bloque de transformación (ilustrados en las figuras 5 y 6) que son definidos por anticipado de conformidad con el modo de codificación óptimo 7a del macrobloque o sub-bloque, lo que se necesita es simplemente asignar información de identificación, tal como una ID, a cada tamaño de bloque de transformación incluido en cada conjunto de tamaños de bloque de transformación, codificar por entropía la información de identificación como información acerca del tamaño de bloque de transformación, y multiplexa la información de identificación en el flujo de bits 30. En este caso, la información de identificación de cada conjunto de tamaños de bloque de transformación se prepara por anticipado en el dispositivo decodificador. Sin embargo, debido a que el dispositivo decodificador puede determinar el tamaño de bloque de transformación automáticamente a partir del conjunto de tamaños de bloque de transformación cuando sólo un tamaño de bloque de transformación es incluido en el conjunto de tamaños de bloque de transformación, el dispositivo codificador no tiene que multiplexar la información de identificación del tamaño de bloque de transformación en el flujo de bits 30. 3. Procedimiento de determinación para determinar el modo de codificación Después de que los parámetros de predicción 10 ó 18 y los parámetros de compresión 20 para cada uno de todos los modos de codificación 7 especificados por la unidad de control de codificación 3 son determinados de conformidad con el anteriormente mencionado "1. Procedimiento de determinación para determinar los parámetros de predicción", y "2. Procedimiento de determinación para determinar los parámetros de compresión", la unidad de control de codificación 3 usa los datos comprimidos 21 que son adquiridos por transformación y cuantificación adicionales de la señal de diferencia de predicción 13 que es adquirida usando cada uno de los modos de codificación 7, y los parámetros de predicción 10 ó 18 y los parámetros de compresión 20 en ese modo de codificación para determinar el modo de codificación 7 que reduce el costo de codificación J2 a un mínimo de conformidad con la ecuación (3) antes mencionada, y selecciona el modo de codificación 7 como el modo de codificación óptimo 7a del macrobloque que está siendo procesado actualmente.
Como una alternativa, la unidad de control de codificación puede determinar el modo de codificación óptimo 7a de entre todos los modos de codificación incluyendo un modo de salto como un modo del macrobloque o sub-bloque además de los modos de codificación mostrados en la figura 2A 2B. El modo de salto es el modo en el cual una imagen de predicción en la cual se realiza compensación de movimiento usando el vector de movimiento de un macrobloque o sub-bloque adyacente es definido como la señal de imagen decodificada local en el dispositivo codificador. Puesto que no es necesario calcular los parámetros de predicción distintos de los modos de codificación, y los parámetros de compresión para multiplexarlos en el flujo de bits, la imagen introducida puede ser codificada mientras la cantidad código es suprimida. El dispositivo decodificador emite la imagen de predicción en la cual se realiza la compensación de movimiento usando el vector de movimiento de un macrobloque o sub-bloque adyacente de conformidad con el mismo procedimiento que el realizado por el dispositivo codificador como la señal de imagen decodificada.
Cuando el tamaño de cuadro de cada cuadro de la señal de video 1 introducida no es un múltiplo integral del tamaño del macrobloque y un cuadro extendido es introducido en lugar de cada cuadro de la señal de video 1 introducida, una operación de control de seleccionar únicamente el modo de salto para un macrobloque o sub-bloque que incluye una región extendida se puede realizar, y un modo de codificación se puede determinar de tal manera que la cantidad código gastada en la región extendida puede ser suprimida.
La unidad de control de codificación 3 emite el modo de codificación óptimo 7a proveyendo el grado óptimo de eficiencia de codificación que es determinado de conformidad con el anteriormente mencionado "1. Procedimiento de determinación para determinar los parámetros de predicción", "2. Procedimiento de determinación para determinar los parámetros de compresión", y "3. Procedimiento de determinación para determinar el modo de codificación" a la unidad codificadora de longitud variable 23, mientras selecciona los parámetros de predicción 10 ó 18 correspondientes al modo de codificación óptimo 7a como los parámetros de predicción óptimos 10a o 18a y de manera similar seleccionando los parámetros de compresión 20 correspondientes al modo de codificación óptimo 7a como los parámetros de compresión óptimos 20a, y después emitiendo estos parámetros de predicción y compresión óptimos a la unidad codificadora de longitud variable 23. La unidad codificadora de longitud variable 23 codifica por entropía el modo de codificación óptimo 7a, los parámetros de predicción óptimos 10a o 18a, y los parámetros de compresión óptimos 20a, y después los multiplexa en el flujo de bits 30.
Posteriormente, la señal diferencial de predicción óptima 13a adquirida de la imagen de predicción 1 1 ó 17 basada en el modo de codificación óptimo 7a, los parámetros de predicción óptimos 10a o 18a, y el parámetro de compresión óptimo 20a que son determinados como antes es transformada y cuantificada en datos comprimidos 21 por la unidad de transformación/cuantificación 19, como se mencionó antes, y estos datos comprimidos 21 son codificados por entropía por la unidad codificadora de longitud variable 23 y son multiplexados en el flujo de bits 30. Posteriormente, estos datos comprimidos 21 se hacen pasar a través de la unidad de cuantificación inversa/transformación inversa 22 y la unidad de adición 25, y después volver una señal de imagen decodificada local 26 y son introducidos a la unidad de filtro de bucle 27.
Enseguida, el dispositivo decodificador de imagen en movimiento de conformidad con esta modalidad 1 se explicará. La figura 8 es un diagrama de bloques que muestra la estructura del dispositivo decodificador de imagen en movimiento de conformidad con la modalidad 1 de la presente invención. El dispositivo decodificador de imagen en movimiento mostrado en la figura 8 incluye una unidad decodíficadora de longitud variable 61 parar decodifícar por el modo de codificación óptimo 62 multíplexado en el flujo de bits 60 en unidades de un macrobloque mientras se decodifican por entropía los parámetros de predicción óptimos 63, los datos comprimidos 64, y los parámetros de compresión óptimos 65 del flujo de bits 60 en unidades de un macrobloque o sub-bloque dividido de conformidad con el modo de codificación óptimo decodificado 62, una unidad de intra-predicción 69 para, cuando los parámetros de predicción óptimos 63 son introducidos, generar una imagen de predicción 71 usando el modo de intra-predicción incluido en los parámetros de predicción óptimos 63, y una imagen decodificada 74a almacenada en una memoria 77 para intra-predicción, una unidad de predicción compensada en movimiento 70 para, cuando los parámetros de predicción óptimos 63 son introducidos, llevar a cabo una predicción compensada en movimiento usando el vector de movimiento incluido en los parámetros de predicción óptimos 63, y la imagen de referencia 76 en una memoria de cuadro de predicción compensada en movimiento 75 que es especificada por el índice de imagen de referencia incluido en los parámetros de predicción óptimos 63 para generar una imagen de predicción 72, una unidad de conmutación 68 para introducir los parámetros de predicción óptimos 63 que la unidad decódificadora de longitud variable 61 ha decodificado a cualquiera de la unidad de intra-predicción 69 y la unidad de predicción compensada en movimiento 70 de conformidad con el modo de codificación óptimo decodificado 62, una unidad de cuantificación inversa/transformación inversa 66 para llevar a cabo un proceso de cuantificación inversa y transformación inversa sobre los datos comprimidos 64 usando los parámetros de compresión óptimos 65 para generar valores decodificados de señal de diferencia de predicción 67, una unidad de adición 73 para añadir la imagen de predicción 71 ó 72 emitidos desde cualquiera de la unidad de intra-predicción 69 y la unidad de predicción compensada en movimiento 70 a los valores decodificados de señal de diferencia de predicción 67 para generar una imagen decodificada 74, la memoria 77 para intra-predicción para almacenar la imagen decodificada 74, una unidad de filtro de bucle 78 para llevar a cabo filtración sobre la imagen decodificada 74 para generar una imagen reproducida 79, y la memoria de cuadro de predicción compensada en movimiento 75 para almacenar la imagen reproducida 79.
Cuando el dispositivo decodificador de imagen en movimiento de conformidad con esta modalidad 1 recibe el flujo de bits 60, la unidad decodificadora de longitud variable 61 realiza un proceso de decodificación por entropía sobre el flujo de bits 60 para adquirir el tamaño del macrobloque y el tamaño de cuadro en unidades de una secuencia que consiste de uno o más cuadros de imagen o en unidades de una imagen. En un caso en el cual el tamaño del macrobloque es definido por un perfil o similar sin ser multiplexado directamente en el flujo de bits, el tamaño del macrobloque es determinado sobre la base de la información de identificación del perfil que es decodificado del flujo de bits en unidades de una secuencia. El número de macrobloques incluidos en cada cuadro es determinado sobre la base del tamaño del macrobloque decodificado de cada cuadro y el tamaño de cuadro decodificado, y el modo de codificación óptimo 62, los parámetros de predicción óptimos 63, los datos comprimidos 64 (es decir, datos de coeficiente cuantificados y transformados), los parámetros de compresión óptimos 65 (el tamaño de bloque de transformación información y el tamaño de paso de cuantificación), etc., de cada macrobloque incluido en el cuadro son decodificados. El modo de codificación óptimo 62, los parámetros de predicción óptimos 63, los datos comprimidos 64, y los parámetros de compresión óptimos 65 que son decodificados por el dispositivo decodificador corresponden al modo de codificación óptimo 7a, los parámetros de predicción óptimos 10a o 18a, los datos comprimidos 21 , y los parámetros de compresión óptimos 20a que son codificados por el dispositivo codificador, respectivamente.
En este tiempo, debido a que el tamaño de bloque de transformación información en los parámetros de compresión óptimos 65 es la información de identificación para identificar el tamaño de bloque de transformación que ha sido seleccionado del conjunto de tamaños de bloque de transformación definido por anticipado para cada macrobloque o sub-bloque (o sobre una base por-macrobloque o por-sub-bloque) de conformidad con el modo de codificación 7 por el dispositivo codificador, el dispositivo decodificador especifica el tamaño de bloque de transformación del macrobloque o sub-bloque del modo de codificación óptimo 62 y el tamaño de bloque de transformación información en los parámetros de compresión óptimos 65.
La unidad de cuantificación inversa/transformación inversa 66 realiza un proceso de cuantificación inversa y transformación inversa usando los datos comprimidos 64 y los parámetros de compresión óptimos 65 que son introducidos desde la unidad decodificadora de longitud variable 61 en unidades de un bloque cuyo tamaño es especificado por la información del tamaño de bloque de transformación para calcular los valores decodificados de señal de diferencia de predicción 67.
Además, cuando se decodifica el vector de movimiento, la unidad decodificadora de longitud variable 61 se refiere a los vectores de movimiento de bloques periféricos ya decodificados, y determina un vector predicho al realizar un proceso mostrado en la figura 4 para adquirir un valor decodificado del vector de movimiento al añadir los valores de diferencia de predicción decodificados del flujo de bits 60 al vector predicho. La unidad decodificadora de longitud variable 61 incluye el valor decodificado de este vector de movimiento en los parámetros de predicción óptimos 63, y emite estos parámetros de predicción óptimos a la unidad de conmutación 68.
La unidad de conmutación 68 es un interruptor para conmutar entre los destinos de entrada de los parámetros de predicción óptimos 63 de conformidad con el modo de codificación óptimo 62. Cuando el modo de codificación óptimo 62 introducido desde la unidad decodificadora de longitud variable 61 muestra el modo de predicción intra-cuadro, esta unidad de conmutación 68 emites los parámetros de predicción óptimos 63 (modo de intra-predicción) similarmente introducidos de la unidad decodificadora de longitud variable 61 a la unidad de intra-predicción 69, mientras que cuando el modo de codificación óptimo 62 muestra el modo de predicción inter-cuadro, la unidad de conmutación emite los parámetros de predicción óptimos 63 (los vectores de movimiento, el número de identificación (índice de imagen de referencia) de la imagen de referencia indicado por cada uno de los vectores de movimiento, etc.) a la unidad de predicción compensada en movimiento 70.
La unidad de intra-predicción 69 se refiere a la imagen decodificada 74a en el cuadro almacenado en la memoria 77 para intra- predicción (señal de imagen decodificada en el cuadro), y genera y emite una imagen de predicción 71 correspondiente al modo de intra-predicción indicado por los parámetros de predicción óptimos 63.
Aunque un método de generación para generar una imagen de predicción 71 que la unidad de intra-predicción 69 usa es el mismo que la operación realizada por la unidad de intra-predicción 8 en el dispositivo codificador, la unidad de intra-predicción 8 genera una imagen de predicción 11 correspondiente a cada uno de todos los modos de predicción indicados por los modos de codificación 7, mientras la unidad de intra-predicción 69 difiere de la unidad de intra-predicción 8 en que la unidad de intra-predicción 69 genera sólo una imagen de predicción 71 correspondiente al modo de intra-predicción indicado por el modo de codificación óptimo 62.
La unidad de predicción compensada en movimiento 70 genera una imagen de predicción 72 desde uno o más cuadros de imágenes de referencia 76 almacenados en la memoria de cuadro de predicción compensada en movimiento 75 sobre la base del vector de movimiento, el índice de imagen de referencia, etc., que son indicados por los parámetros de predicción óptimos introducidos 63, y emite la imagen de predicción 72.
Un método de generación para generar una imagen de predicción 72 que es implementada por la unidad de predicción compensada en movimiento 70 corresponde a la operación de la unidad de predicción compensada en movimiento 9 en el dispositivo codificador del cual el proceso de búsqueda a través de una pluralidad de imágenes de referencia para vectores de movimiento (correspondientes a las operaciones de la unidad de detección de movimiento 42 y la unidad generadora de imagen interpolada 43 mostrada en la figura 3) es excluido. La unidad de predicción compensada en movimiento realiza sólo el proceso de generar una imagen de predicción 72 de conformidad con los parámetros de predicción óptimos 63 provistos a la misma desde la unidad decodificadora de longitud variable 61. Cuando el vector de movimiento se hace que se refiera a un píxel localizado fuera del cuadro que es definido por el tamaño de cuadro de referencia, la unidad de predicción compensada en movimiento 70 genera una imagen de predicción 72 usando, por ejemplo, un método de relleno de una región de pixeles localizada fuera del cuadro con pixeles corriendo en un borde de la pantalla del cuadro, como el del dispositivo codificador. El tamaño de cuadro de referencia puede ser definido por el tamaño de cuadro decodificado que es extendido de tal manera que para que sea un múltiplo integral del tamaño del macrobloque decodificado, o pueda ser definido por el tamaño de cuadro decodificado, y el dispositivo decodificador determina el tamaño de cuadro de referencia de conformidad con el mismo procedimiento que el llevado a cabo por el dispositivo codificador.
La unidad de adición 73 añade ya sea una de la imagen de predicción 71 y la imagen de predicción 72 y los valores decodificados de señal de diferencia de predicción 67 emitidos a la misma desde la unidad de cuantificación inversa/transformación inversa 66 para generar una imagen decodificada 74.
Aunque esta imagen decodificada 74 es almacenada en la memoria 77 para intra-predicción para usar la imagen decodificada como una imagen de referencia (imagen decodificada 74a) para generar una imagen de intra-predicción para un macrobloque subsiguiente, la imagen decodificada 74 es introducida a la unidad de filtro de bucle 78.
La unidad de filtro de bucle 78 realiza la misma operación que la de la unidad de filtro de bucle 27 en el dispositivo codificador para generar una imagen reproducida 79, y emite esta imagen reproducida al exterior del dispositivo decodificador de imagen en movimiento. Además, esta imagen reproducida 79 es almacenada en la memoria de cuadro de predicción compensada en movimiento 75 para usar la imagen reproducida como una imagen de referencia 76 para generación subsiguiente de una imagen de predicción. El tamaño de la imagen reproducida adquirida después de decodificar todos los macrobloques en el cuadro es un múltiplo integral del tamaño del macrobloque. Cuando el tamaño de la imagen reproducida es mayor que el tamaño de cuadro decodificado correspondiente al tamaño de cuadro de cada cuadro de la señal de video introducida al dispositivo codificador, una región extendida que es extendida en una dirección horizontal o vertical es incluida en la imagen reproducida. En este caso, una imagen decodificada en la cual la imagen decodificada de la región extendida es removida de la imagen reproducida es emitida desde el dispositivo decodificador.
Cuando el tamaño de cuadro de referencia es definido por el tamaño de cuadro decodificado, la imagen decodificada de la región extendida de la imagen reproducida almacenada en la memoria de cuadro de predicción compensada en movimiento 75 no es referida para la generación subsiguiente de una imagen de predicción. Por lo tanto, la imagen decodificada en la cual la imagen decodificada de la región extendida es removida de la imagen reproducida puede ser almacenada en la memoria de cuadro de predicción compensada en movimiento 75.
Como se mencionó antes, debido a que el dispositivo codificador de imagen en movimiento de conformidad con la modalidad 1 es construido de tal manera que para cada una de las imágenes de macro/sub-bloques 5 en la cual una imagen en movimiento introducida es dividida de conformidad con el modo de codificación 7 de cada macrobloque, el dispositivo codificador de imagen en movimiento predetermina un conjunto de bloques de transformación incluyendo una pluralidad de tamaños de bloque de transformación de conformidad con el tamaño de un macrobloque o sub-bloque, la unidad de control de codificación 3 selecciona un tamaño de bloque de transformación que provee un grado óptimo de eficiencia de codificación del conjunto de tamaños de bloque de transformación e incluye el tamaño de bloque de transformación seleccionado por la misma en parámetros de compresión óptimos 20a, y después notifica estos parámetros de compresión óptimos a la unidad de transformación/cuantificación 19, y la unidad de transformación/cuantificación 19 divide una señal diferencial de predicción óptima 13a en bloques cada uno de los cuales tiene el tamaño de bloque de transformación incluido en los parámetros de compresión óptimos 20a, y realiza un proceso de transformación y cuantificación sobre cada uno de los bloques para generar datos comprimidos 21 , el dispositivo codificador de imagen en movimiento puede mejorar la calidad del video codificado con una cantidad código similar en comparación con un método convencional de uso de un conjunto fijo tamaños de bloque de transformación independientemente del tamaño de un macrobloque o sub-bloque.
Además, aunque la unidad codificadora de longitud variable 23 es construida de tal manera que multiplexe el tamaño de bloque de transformación que está adaptativamente seleccionado de conformidad con el modo de codificación 7 del conjunto de tamaños de bloque de transformación hacia el flujo de bits 30, el dispositivo decodificador de imagen en movimiento de conformidad con la modalidad 1 es construido de tal manera que la unidad decodificadora de longitud variable 61 decodifica los parámetros de compresión óptimos 65 del flujo de bits 60 en unidades de un macrobloque o sub-bloque (o sobre una base por-macrobloque o por-sub-bloque), y la unidad de cuantificación inversa/transformación inversa 66 determina un tamaño de bloque de transformación sobre la base del tamaño de bloque de transformación información incluida en estos parámetros de compresión óptimos 65 y realiza un proceso de transformación inversa y cuantificación inversa sobre los datos comprimidos 64 en unidades de un bloque que tiene el tamaño de bloque de transformación. Por lo tanto, debido a que el dispositivo decodificador de imagen en movimiento puede seleccionar el tamaño de bloque de transformación que ha sido usado por el dispositivo codificador del conjunto de tamaños de bloque de transformación que es definido de la misma manera que el conjunto de tamaños de bloque de transformación es definido por el dispositivo codificador de imagen en movimiento para decodificar los datos comprimidos, el dispositivo decodificador de imagen en movimiento puede decodificar correctamente el flujo de bits codificado por el dispositivo codificador de imagen en movimiento de conformidad con la modalidad 1.
Modalidad 2.
En esta modalidad 2, una variante de la unidad codificadora de longitud variable 23 del dispositivo codificador de imagen en movimiento de conformidad con la modalidad 1 antes mencionada se explicará, y una variante de la unidad decodificadora de longitud variable 61 del dispositivo decodificador de imagen en movimiento de conformidad con la modalidad 1 antes mencionada se explicará de manera similar.
Primero, una unidad codificadora de longitud variable 23 de un dispositivo codificador de imagen en movimiento de conformidad con esta modalidad 2 se explicará. La figura 9 es un diagrama de bloques que muestra la estructura interna de la unidad codificadora de longitud variable 23 del dispositivo codificador de imagen en movimiento de conformidad con la modalidad 2 de la presente invención. En la figura 9, los mismos componentes que aquellos mostrados en la figura 1 o componentes similares son designados por los mismos números de referencia que aquellos mostrados en la figura, y la explicación de los componentes se omitirá de aquí en adelante. Además, debido a que la estructure del dispositivo codificador de imagen en movimiento de conformidad con esta modalidad 2 es la misma que aquella de conformidad con la modalidad 1 antes mencionada, y la operación de cada componente excepto la unidad codificadora de longitud variable 23 es la misma que aquella de conformidad con la modalidad 1 antes mencionada, se hará una explicación usando las figuras 1 a 8. Además, para fines de simplicidad, aunque se supone de aquí en adelante que el dispositivo codificador de imagen en movimiento de conformidad con esta modalidad 2 tiene una estructura y un método de procesamiento basado en el uso del conjunto de modos de codificación mostrado en la figura 2A, sobra decir que la modalidad 2 también se puede aplicar a una estructura y un método de procesamiento basado en el uso del conjunto de modos de codificación mostrado en la figura 2B.
La unidad codificadora de longitud variable 23 mostrada en la figura 9 incluye una memoria de tabla de binarización 105 para almacenar una tabla de binarización que indica una correspondencia entre valores de índice que una señal multi-valuada que muestra un modo de codificación 7 (o un parámetro de predicción óptimo 10a o 18a, o un parámetro de compresión óptimo 20a) puede tener, y señales binarias, una unidad de binarización 92 para usar este tabla de binarización para convertir un modo de codificación óptimo 7a (o un parámetro de predicción óptimo 10a o 18a, o un parámetro de compresión óptimo 20a) mostrado por la señal multi-valuada que es seleccionado por una unidad de control de codificación 3 en una señal binaria 103, una unidad de operación de codificación aritmética 104 para referirse a información de identificación de contexto 102 que es generada por una unidad generadora de contexto 99, una memoria de información de contexto 96, una memoria de tabla de probabilidades 97, y una memoria de tabla de transición de estado 98 para realizar codificación aritmética sobre la señal binaria 103 en la cual el modo de codificación óptimo es convertido por la unidad de binarización 92 y emite una secuencia de bits codificada 1 1 1 , y para multiplexar la secuencia de bits codificada 11 1 hacia un flujo de bits 30, una unidad generadora de información de frecuencia 93 para contar la frecuencia de ocurrencia del modo de codificación óptimo 7a (o un parámetro de predicción óptimo 10a o 18a, o un parámetro de compresión óptimo 20a) para generar información de frecuencia 94, y una unidad de actualización de tabla de binarización 95 para actualizar la correspondencia entre posibles valores de la señal multi valuada y señales binarias en la tabla de binarización almacenada en la memoria de tabla de binarización 105 sobre la base de la información de frecuencia 94.
De aquí en adelante, un procedimiento de codificación de longitud variable realizado por la unidad codificadora de longitud variable 23 se explicará tomando el modo de codificación óptimo 7a de un macrobloque emitido desde la unidad de control de codificación 3 como un ejemplo de un parámetro que ha de ser codificado por entropía. Un parámetro de predicción óptimo 10a o 18a, o un parámetro de compresión óptimo 20a, que es similarmente un parámetro que ha de ser codificado, puede ser codificado en longitud variable de conformidad con el mismo procedimiento que aquel de conformidad con el cual la unidad codificadora de longitud variable codifica el modo de codificación óptimo 7a, la explicación del procedimiento realizado sobre un parámetro de predicción óptimo o un parámetro de compresión óptimo se omitirá posteriormente.
La unidad de control de codificación 3 de conformidad con esta modalidad 2 emite una bandera de inicialización de información de contexto 91 , una señal indicadora de tipo 100, información de bloque periférico 101 , y una bandera de actualización de tabla de binarización 113. Los detalles de cada una de las piezas de información se mencionará más adelante.
Una unidad de inicialización 90 inicializa información de contexto 106 almacenada en la memoria de información de contexto 96 de conformidad con la bandera de inicialización de información de contexto 91 notificada a la misma desde la unidad de control de codificación 3 para poner la información de contexto 106 en su estado inicial. Los detalles del proceso de inicialización realizado por la unidad de inicialización 90 se mencionará más adelante.
La unidad de binarización 92 se refiere a la tabla de binarización almacenada en la memoria de tabla de binarización 105 para convertir el valor de índice de la señal multi-valuada que muestra el tipo del modo de codificación óptimo 7a introducido a la misma desde la unidad de control de codificación 3 hacia una señal binaria 103, y emite esta señal binaria a la unidad de operación de codificación aritmética 104.
El cuadro A es una vista que muestra un ejemplo de la tabla de binarización mantenida por la memoria de tabla de binarización 105. En una columna de "modo de codificación" mostrada en el cuadro A, hay cinco tipos de modos de codificación 7 incluyendo un modo de salto (mb_skip: a modo en el cual el dispositivo decodificador usa una imagen de predicción, en la cual la compensación de movimiento se ha realizado usando los vectores de movimiento de macrobloques adyacentes por el dispositivo codificador, para una imagen decodificada) además de los modos de codificación (mbjnodoO a mb_modo3) mostrados en la figura 2A. Un valor de "índice" correspondiente a cada uno de los modos de codificación es almacenado en la tabla de binarización. Además, el valor de índice de cada uno de estos modos de codificación es binarizado en un número binario que tiene uno o tres bits, y es almacenado como una "señal binaria". En este caso, cada bit de la señal binaria es referido como un número "bin". Aunque se menciona más adelante con detalle, en el ejemplo del cuadro A, un valor de índice menor es asignado a un modo de codificación que tiene una frecuencia de ocurrencia más alta, y una señal binaria correspondiente es también fijada para que sea de longitud corta, es decir, 1 bit de longitud.
CUADRO A Vista que muestra un ejemplo de una tabla de binarizaciórt en un estado en el cual el tabla de binarización ha de ser actualizado El modo de codificación óptimo 7a emitido desde la unidad de control de codificación 3 es introducido a la unidad de binarización 92, y es también introducido a la unidad generadora de información de frecuencia 93.
La unidad generadora de información de frecuencia 93 cuenta la frecuencia de ocurrencia del valor de índice del modo de codificación incluido en este modo de codificación óptimo 7a (la frecuencia de selección del modo de codificación que la unidad de control de codificación ha seleccionado) para generar información de frecuencia 94, y emite esta información de frecuencia a la unidad de actualización de tabla de binarización 95 que se mencionará más adelante.
La memoria de tabla de probabilidades 97 contiene una tabla para almacenar dos o más conjuntos de un símbolo (MPS: Símbolo Más Probable) que tiene una probabilidad de ocurrencia más alta de los valores de símbolo "0" y "1" en cada bin incluido en la señal binaria 103, y la probabilidad de ocurrencia del símbolo.
El cuadro B es una vista que muestra un ejemplo de una tabla de probabilidades contenida por la memoria de tabla de probabilidades 97. Haciendo referencia al cuadro B, un "número de tabla de probabilidades" es asignado a cada uno de los valores de probabilidad discretos variando de 0.5 a 1.0 ("probabilidades de ocurrencia").
CUADRO B Vista que muestra un ejemplo de una tabla de probabilidades La memoria de tabla de transición de estado 98 contiene una tabla para almacenar una pluralidad de conjuntos cada uno teniendo un "número de tabla de probabilidades" almacenado en la memoria de tabla de probabilidades 97, y una transición de estado de un estado de probabilidad en el cual el MPS de "O" o "1 ", que es mostrado por el número de tabla de probabilidades, no ha sido codificado a un estado de probabilidad en el cual el MPS de "0" o "1" ha sido codificado.
El cuadro C es una vista que muestra un ejemplo de una tabla de transición de estado contenida por la memoria de tabla de transición de estado 98. Cada conjunto de un "número de tabla de probabilidades", una "transición e probabilidad después de que el LPS es codificado", y una "transición de probabilidad después de que el MPS es codificado", que son mostrado en el cuadro C, corresponde a un número de tabla de probabilidades mostrado en el cuadro B. Por ejemplo, este cuadro muestra que en el tiempo de un estado de probabilidad que tiene el "número de tabla de probabilidades 1" encerrado por una caja mostrada en el cuadro C (en el tiempo que la probabilidad de ocurrencia del MPS es 0.527, como se muestra en el cuadro B), la codificación de un símbolo que tiene una probabilidad de ocurrencia menor (LPS: Símbolo Probable Menor) de "0" y "1" causa que el estado de probabilidad haga una transición a una que tiene el número de tabla de probabilidades 0 (la probabilidad de ocurrencia del MPS es 0.500, como se muestra en el cuadro B), como se puede ver de la "transición de probabilidad después de que el LPS es codificado". De manera más específica, debido a que el LPS ocurre, la probabilidad de ocurrencia del MPS se hace más pequeña. A diferencia de esto, el cuadro muestra que la codificación del MPS causa que el estado de probabilidad haga una transición a uno que tiene el número de tabla de probabilidades 2 (la probabilidad de ocurrencia del MPS es 0.550, como se muestra en el cuadro B), como se puede ver de la "transición de probabilidad después de que el MPS es codificado". De manera más específica, porque el MPS ocurre, la probabilidad de ocurrencia del MPS se vuelve más grande.
CUADRO C Vista que muestra un ejemplo de un cuadro de transición de estado La unidad generadora de contexto 99 se refiere a la señal indicadora de tipo 100 que indica el tipo del parámetro que ha de ser codificado (el modo de codificación óptimo 7a, un parámetro de predicción óptimo 10a o 18a, o un parámetro de compresión óptimo 20a) que es introducido desde la unidad de control de codificación 3, y la información de bloque periférico 101 para generar información de identificación de contexto 102 para cada bin de la señal binaria 103 adquirida al realizar binarización sobre el parámetro que ha de ser codificado. En esta explicación, la señal indicadora de tipo 100 indica el modo de codificación óptimo 7a del macrobloque que ha de ser codificado. Además, la información de bloque periférico 101 indica los modos de codificación óptimos 7a de macrobloques adyacentes al macrobloque que ha de ser codificado. De aquí en adelante, un procedimiento de generación para generar la información de identificación de contexto que se realiza, la unidad generadora de contexto 99 se explicará.
La figura 10A es una vista que muestra la tabla de binarización mostrada en el cuadro A en representación de árbol binario. De aquí en adelante, se hará una explicación tomando un macrobloque que ha de ser codificado denotado por una caja de bordes gruesos mostrada en la figura 10B y bloques periféricos A y B que son adyacentes a este macrobloque que ha de ser codificado como un ejemplo. En la figura 10A, cada punto negro es referido como un nodo, y cada linea que conecta entre nodos es referida como una trayectoria. Los índices de la señal multi-valuada que han de ser binarizados son asignados a los nodos terminales del árbol binario, respectivamente. Además, la posición de cada nodo en una dirección de la profundidad del árbol binario, que se extiende hacia abajo desde una parte superior a una parte inferior en la página, corresponde a su número de bin, y una secuencia de bits que es adquirida al conectar los símbolos (cada 0 ó 1 ) respectivamente asignados a trayectorias que se extienden desde el nodo de raíz a cada nodo terminal muestra una señal binaria 103 correspondiente al índice de la señal multi-valuada al nodo terminal. Para cada nodo progenitor (un nodo que no es cualquier nodo terminal) del árbol binario, una o más piezas de información de identificación de contexto se preparan de conformidad con la información acerca de los bloques periféricos A y B.
Por ejemplo, cuando tres piezas de información de identificación de contexto C0, C1 , y C2 se preparan para el nodo de raíz en el ejemplo de la figura 10A, la unidad generadora de contexto 99 se refiere a las piezas de información de bloque periférico 101 acerca de los bloques periféricos adyacentes A y B para seleccionar cualquiera de las tres piezas de información de identificación de contexto C0, C1 , y C2 de conformidad con la siguiente ecuación (4). La unidad generadora de contexto 99 emite la información de identificación de contexto seleccionada como la información de identificación de contexto 102.
La ecuación (4) anterior se prepara con la suposición de que cuando cada uno de los bloques periféricos A y B es definido como un macrobloque X, hay una probabilidad alta de que el modo de codificación del macrobloque que ha de ser codificado sea "0" (mb_skip) cuando el modo de codificación de cada uno de los bloques periféricos A y B es "0" (mb_skip).
Por lo tanto, la información de identificación de contexto 102 seleccionada de conformidad con la ecuación (4) anterior se basa en la misma suposición.
Una información de identificación de contexto (C3, C4 o C5) es asignada a cada uno de los nodos progenitores distintos del nodo de raíz.
La información de contexto identificada por la información de identificación de contexto 102 contiene el valor (0 ó 1) del MPS y el número de tabla de probabilidades que se aproxima a la probabilidad de ocurrencia del valor. Ahora, la información de contexto se pone en su estado inicial. La memoria de información de contexto 96 almacena esta información de contexto.
La unidad de operación de codificación aritmética 104 realiza codificación aritmética en cada bin de la señal binaria 103 con uno o tres bits introducidos desde la unidad de binarización 92 para generar una secuencia de bits codificada 11 1 , y multiplexa esta secuencia de bits codificada hacia el flujo de bits 30. De aquí en adelante, se explicará un procedimiento de codificación aritmética basado en la información de contexto.
La unidad de operación de codificación aritmética 104 se refiere a la memoria de información de contexto 96 primero para adquirir la información de contexto 106 basada en la información de identificación de contexto 102 correspondiente al bin 0 de la señal binaria 103. Enseguida, la unidad de operación de codificación aritmética 104 se refiere a la memoria de tabla de probabilidades 97 para especificar la probabilidad 108 de ocurrencia del MPS del bin 0 correspondiente al número de tabla de probabilidades 107 contenido por la información de contexto 106.
Enseguida, la unidad de operación de codificación aritmética 104 realiza codificación aritmética sobre el valor de símbolo 109 (0 ó 1 ) del bin 0 sobre la base del valor (0 ó 1) del MPS contenido por la información de contexto 106 y la probabilidad 108 especificada de la ocurrencia del MPS. Enseguida, la unidad de operación de codificación aritmética 104 se refiere a la memoria de tabla de transición de estado 98 y adquiere el número de tabla de probabilidades 110 en un después de que el símbolo del bin 0 es codificado sobre la base del número de tabla de probabilidades 107 contenido por la información de contexto 106, y el valor de símbolo 109 del bin 0 sobre el cual la codificación aritmética se ha realizado anteriormente.
Enseguida, la unidad de operación de codificación aritmética 104 actualiza el valor del número de tabla de probabilidades (es decir, el número de tabla de probabilidades 107) de la información de contexto 106 del bin 0 almacenado en la memoria de información de contexto 96 al número de tabla de probabilidades en un tiempo después de que la transición de estado (es decir, el número de tabla de probabilidades 110 en un tiempo después de que el símbolo del bin 0 es codificado, que ha sido anteriormente adquirido de la memoria de tabla de transición de estado 98).
La unidad de operación de codificación aritmética 104 también realiza codificación aritmética basada en la información de contexto 106 identificada por la información de identificación de contexto 102 sobre el símbolo de cada uno de los bins 1 y 2, y después actualiza la información de contexto 106 después de codificar el símbolo de cada uno de los bins, como en el caso de realizar codificación aritmética sobre el símbolo del bín 0. La unidad de operación de codificación aritmética 104 emite una secuencia de bits codificada 111 que la unidad de operación de codificación aritmética ha adquirido al realizar codificación aritmética sobre los símbolos de todos los bins, y la unidad codificadora de longitud variable 23 multiplexa la secuencia de bits codificados en el flujo de bits 30.
Como se mencionó antes, la información de contexto 106 identificada por la información de identificación de contexto 102 es actualizada cada vez cuando la codificación aritmética se realiza sobre el símbolo de cada bin. De manera más específica, esta actualización significa que el estado de probabilidad de cada nodo hace una transición cada vez cuando el símbolo de cada bin es codificado. La inicialización de la información de contexto 106, es decir, reinicio del estado de probabilidad es realizado por la unidad de inicialización 90 antes mencionada. Aunque la unidad de inicialización 90 inicializa la información de contexto de conformidad con una instrucción mostrada por la bandera de inicialización de información de contexto 91 de la unidad de control de codificación 3, la unidad de inicialización 90 realiza esta inicialización en la cabeza de cada rebanada o similar. Una pluralidad de conjuntos puede ser preparada por anticipado para el estado inicial de cada información de contexto 106 (el valor del PS, y el valor inicial del número de tabla de probabilidades que se aproxima a la probabilidad de ocurrencia del valor), y la unidad de control de codificación 3 puede incluir información que muestra qué estado inicial ha de ser seleccionado de la pluralidad de conjuntos en la bandera de inicialización de información de contexto 91 y notifica esta bandera de inicialización de información de contexto a la unidad de inicialización 90.
La unidad de actualización de tabla de binarización 95 se refiere a la información de frecuencia 94 que muestra la frecuencia de ocurrencia del valor de índice del parámetro que ha de ser codificado (en este caso, el modo de codificación óptimo 7a) que es generado por la unidad generadora de información de frecuencia 93 sobre la base de la bandera de actualización de tabla de binarización 113 notificada a la misma desde la unidad de control de codificación 3 para actualizar la memoria de tabla de binarización 105. De aquí en adelante, un procedimiento para actualizar la tabla de binarización que es realizada por la unidad de actualización de tabla de binarización 95 se explicará.
En este ejemplo, la unidad de actualización de tabla de binarización actualiza una correspondencia entre los modos de codificación en la tabla de binarización y los índices de conformidad con la frecuencia de ocurrencia del modo de codificación especificado por el modo de codificación óptimo 7a que es el parámetro que ha de ser codificado de tal manera que pueda binarizar el modo de codificación que tiene la frecuencia de ocurrencia más alta hacia una contraseña corta, reduciendo así la cantidad código.
El cuadro D es una vista que muestra un ejemplo de la tabla de binarización actualizada. Suponiéndose que la tabla de binarización que aún ha de ser actualizada es colocada en un estado mostrado en el cuadro A, el cuadro D muestra un estado en el cual la tabla de binarización ha sido actualizada. Por ejemplo, cuando la frecuencia de ocurrencia de mb_modo3 es la más alta, la unidad de actualización de tabla de binarización 95 asigna el valor de índice más pequeño a mb_modo3 de conformidad con la información de frecuencia 94 de tal manera que una señal binaria que tiene una contraseña corta es asignada mb_modo3.
CUADRO D Vista que muestra un ejemplo del tabla de binarización en un estado en el cual el tabla de binarización ha sido actualizado Además, después de actualizar la tabla de binarización, la unidad de actualización de tabla de binarización 95 necesita generar información de identificación de actualización de tabla de binarización 1 12 para permitir que el dispositivo decodificador identifique la tabla de binarización actualizada y multiplexe la información de identificación de actualización de tabla de binarización hacia el flujo de bits 30. Por ejemplo, cuando hay una pluralidad de tablas de binarización para cada parámetro que ha de ser codificado, una ID para permitir la identificación de cada parámetro que ha de ser codificado se puede proveer por anticipado tanto para el dispositivo codificador y como el dispositivo decodificador, y la unidad de actualización de tabla de binarización 95 puede ser construida de tal manera que emita la ID de la tabla de binarización actualizada como información de identificación de actualización de tabla de binarización 1 12, y multiplexe esta información de identificación de actualización de tabla de binarización hacia el flujo de bits 30.
La unidad de control de codificación 3 realiza control de un tiempo de actualización al referirse a la información de frecuencia 94 del parámetro que ha de ser codificado en la cabeza de cada rebanada, y, cuando determine que la distribución de la frecuencia de ocurrencia del parámetro que ha de ser codificado ha cambiado y se ha desviado de un rango permisible predeterminado, emitiendo una bandera de actualización de tabla de binarización 1 13. La unidad codificadora de longitud variable 23 simplemente debe multiplexar la bandera de actualización de tabla de binarización 1 13 hacia la cabeza de la rebanada del flujo de bits 30. Además, cuando la bandera de actualización de tabla de binarización 1 13 muestra "hay una actualización de la tabla de binarización", la unidad codificadora de longitud variable 23 multiplexa la información de identificación de actualización de tabla de binarización 1 12 que muestra qué tabla de binarización de las tablas de binarización del modo de codificación, un parámetro de compresión, y un parámetro de predicción han sido actualizados hacia el flujo de bits 30.
Además, la unidad de control de codificación 3 puede notificar la actualización de la tabla de binarización en un tiempo distinto del tiempo que la unidad de control de codificación procesa la cabeza de cada rebanada. Por ejemplo, la unidad de control de codificación puede emitir la bandera de actualización de tabla de binarización 113 en el tiempo que la unidad de control de codificación procesa la cabeza de un macrobloque arbitrario para instruir una actualización de la tabla de binarización. En este caso, la unidad de actualización de tabla de binarización 95 necesita emitir información para identificar la posición del macrobloque para el cual la tabla de binarización ha sido actualizada, y la unidad codificadora de longitud variable 23 también necesita multiplexar la información hacia el flujo de bits 30.
Cuando se emite la bandera de actualización de tabla de binarización 113 a la unidad de actualización de tabla de binarización 95 para hacer que esta unidad de actualización de tabla de binarización actualice la tabla de binarización, la unidad de control de codificación 3 necesita emitir la bandera de inicialización de información de contexto 91 a la unidad de inicialización 90 para hacer que la unidad de inicialización inicialice la memoria de información de contexto 96.
Enseguida, se explicará una unidad decodificadora de longitud variable 61 del dispositivo decodificador de imagen en movimiento de conformidad con esta modalidad 2. La figura es un diagrama de bloques que muestra la estructura interna de la unidad decodificadora de longitud variable 61 del dispositivo decodificador de imagen en movimiento de conformidad con la modalidad 2 de la presente invención. Además, debido a que la estructura del dispositivo decodificador de imagen en movimiento de conformidad con esta modalidad 2 es el mismo que el de conformidad con la modalidad 1 antes mencionada, y la operación de cada componente excepto la unidad decodificadora de longitud variable 61 es la misma que aquella de conformidad con la modalidad 1 antes mencionada, se dará una explicación usando las figuras 1 a 8.
La unidad decodificadora de longitud variable 61 mostrada en la figura 11 incluye una unidad de operación de procesamiento de decodificación aritmética 127 para referirse a la información de identificación de contexto 126 que una unidad generadora de contexto 122 genera, una memoria de información de contexto 128, una memoria de tabla de probabilidades 131 , y una memoria de tabla de transición de estado 135 para realizar decodificación aritmética sobre una secuencia de bits codificada 133 que muestra un modo de codificación óptimo 62 (o un parámetro de predicción óptimo 63 o un parámetro de compresión óptimo 65) multiplexado hacia un flujo de bits 60 para generar una señal binaria 137, una memoria de tabla de binarización 143 para almacenar una tabla de binarización 39 que indica una correspondencia entre el modo de codificación óptimo 62 expresado por una señal binaria (o un parámetro de predicción óptimo 63 o un parámetro de compresión óptimo 65) y una señal multi-valuada, y una unidad de binarización inversa 138 para convertir la señal binaria 137 que la unidad de operación de procesamiento de decodificación aritmética 127 ha generado en un valor decodificado 140 de una señal multi-valuada usando la tabla de binarización 139.
De aquí en adelante, un procedimiento de decodificación de longitud variable realizado por la unidad decodificadora de longitud variable 61 se explicará tomando el modo de codificación óptimo 62 de un macrobloque incluido en el flujo de bits 60 como un ejemplo de un parámetro que ha de ser decodificado por entropía. Debido a que la unidad decodificadora de longitud variable 61 también puede decodificar por longitud variable un parámetro de predicción óptimo 63 o un parámetro de compresión óptimo 65 que es similar a un parámetro que ha de ser decodificado de conformidad con el mismo procedimiento como aquel de conformidad con el cual la unidad decodificadora de longitud variable decodifica por longitud variable el modo de codificación óptimo 62, la explicación del procedimiento de decodificación de longitud variable realizado sobre un parámetro de predicción óptimo o un parámetro de compresión óptimo será omitida.
Información de inicialización de contexto 121 , una secuencia de bits codificada 133, una bandera de actualización de tabla de binarización 142, e información de identificación de actualización de tabla de binarización 144 que son multiplexadas en el flujo de bits 60 por el dispositivo codificador se incluyen en el flujo de bits 60 de conformidad con esta modalidad 2. Los detalles de cada una de estas piezas de información se mencionarán más adelante.
Una unidad de inicialización 120 inicializa la información de contexto almacenada en la memoria de información de contexto 128 en la cabeza de cada rebanada o similar. Como una alternativa, una pluralidad de conjuntos se pueden preparar para un estado inicial de la información de contexto (el valor del MPS, y un valor inicial del número de tabla de probabilidades que se aproxima a la probabilidad de ocurrencia del valor de MPS) en la unidad de inicialización 120, y un estado inicial correspondiente al valor decodificado de la información de inicialización de contexto 121 se puede seleccionar de la pluralidad de conjuntos.
La unidad generadora de contexto 122 se refiere a la señal indicadora de tipo 123 que muestra el tipo del parámetro que ha de ser decodificado (el modo de codificación óptimo 62, un parámetro de predicción óptimo 63, o un parámetro de compresión óptimo 65) e información de bloque periférico 124 para generar información de identificación de contexto 126.
La señal indicadora de tipo 123 muestra el tipo del parámetro que ha de ser decodificado, y el dispositivo decodificador determina que el parámetro que ha de ser decodificado es de conformidad con una sintaxis contenida o la unidad decodificadora de longitud variable 61. Por lo tanto, el dispositivo codificador y el dispositivo decodificador necesita contener la misma sintaxis y, en esta modalidad, se supone que la unidad de control de codificación 3 del dispositivo codificador contiene la sintaxis. El dispositivo codificador secuencialmente emite el tipo de parámetro que ha de ser codificado próximamente y el valor (valor de índice) del parámetro, es decir, la señal indicadora de tipo 100 a la unidad codificadora de longitud variable 23 de conformidad con la sintaxis contenida por la unidad de control de codificación 3.
Además, la información de bloque periférico 124 incluye el modo de codificación que es adquirido al decodificar cada macrobloque o sub- bloque, y es almacenada en una memoria (no mostrada) en la unidad decodificadora de longitud variable 61 para usar la información de bloque periférico 124 como información usada para decodificación subsiguiente de un macrobloque o sub-bloque y es emitida a la unidad generadora de contexto 122 según es necesario.
Un procedimiento de generación para generar información de identificación de contexto 126 que es realizado por la unidad generadora de contexto 122 es el mismo que la operación de la unidad generadora de contexto 99 dispuesta en el dispositivo codificador. También la unidad generadora de contexto 122 en el dispositivo decodificador genera información de identificación de contexto 126 para cada bin de la tabla de binarización 139 que ha de ser referido por la unidad de binarización inversa 138.
En la información de contexto de cada bin, el valor (0 ó 1 ) del MPS, y el número de tabla de probabilidades para especificar la probabilidad de ocurrencia del valor del MPS son contenidos como información de probabilidad usada para llevar a cabo decodificación aritmética sobre el bin. Además, la memoria de tabla de probabilidades 131 y la memoria del cuadro de transición de estado 135 almacena la misma tabla de probabilidades (cuadro B) como la memoria de tabla de probabilidades 97 del dispositivo codificador y la misma tabla de transición de estado (cuadro C) como la memoria de tabla de transición de estado 98 del dispositivo codificador, respectivamente.
La unidad de operación de procesamiento de decodificación aritmética 127 realiza decodificación aritmética sobre la secuencia de bits codificada 133 multiplexada en el flujo de bits 60 sobre una base por bin para generar a señal binaria 137, y emitir esta señal binaria a la unidad de binarización inversa 138.
La unidad de operación de procesamiento de decodificación aritmética 127 se refiere a la memoria de información de contexto 128 primero para adquirir la información de contexto 129 basada en la información de identificación de contexto 126 correspondiente a cada bin de la secuencia de bits codificada 133. Enseguida, la unidad de operación de procesamiento de decodificación aritmética 127 se refiere a la memoria de tabla de probabilidades 131 para especificar la probabilidad 132 de ocurrencia del MPS de cada bin correspondiente al número de tabla de probabilidades 130 contenido por la información de contexto 129.
La unidad de operación de procesamiento de decodificación aritmética 127 entonces realiza decodificación aritmética sobre la secuencia de bits codificada 133 introducida a la unidad de operación de procesamiento de decodificación aritmética 127 sobre la base del valor (0 ó 1 ) del MPS contenido por la información de contexto 129 y la probabilidad especificada 132 de ocurrencia del MPS para adquirir el valor de símbolo 134 (0 ó 1 ) de cada bin. Después de adquirir el valor de símbolo de cada bin a través de la codificación, la unidad de operación de procesamiento de decodificación aritmética 127 se refiere a la memoria de tabla de transición de estado 135, y adquiere el número de tabla de probabilidades 136 en un tiempo después de que el símbolo de cada bin es decodificado (en un tiempo después de que se hace una transición de estado) sobre la base del valor de símbolo 134 de cada bin decodificado y el número de tabla de probabilidades 130 contenido por la información de contexto 129 y de conformidad con el mismo procedimiento como el realizado por la unidad de operación de codificación aritmética 104 del dispositivo codificador.
Enseguida, la unidad de operación de procesamiento de decodificación aritmética 127 actualiza el valor del número de tabla de probabilidades (es decir, el número de tabla de probabilidades 130) de la información de contexto 129 de cada bin que es almacenado en la memoria de información de contexto 128 al número de tabla de probabilidades en un tiempo después de que se hace una transición de estado (es decir, el número de tabla de probabilidades 136 en un tiempo después de que el símbolo de cada bin es decodificado que ha sido anteriormente adquirido de la memoria de tabla de transición de estado 135). La unidad de operación de procesamiento de decodificación aritmética 127 emite una señal binaria 137 en la cual los símbolos de los bins adquiridos como resultado de realizar la decodificación aritmética antes mencionada sobre la secuencia de bits codificada son conectados a otra de la unidad de binarización inversa 138.
La unidad de binarización inversa 138 selecciona la misma tabla de binarización 139 que aquella usada en el tiempo de codificación de entre las tablas de binarización almacenadas en la memoria de tabla de binarización 143 y preparadas para todos los tipos de parámetros que han de ser decodificados y se refiere a la tabla de binarización seleccionada por la misma, y selectivamente emite el valor decodificado 140 del parámetro que ha de ser decodificado de la señal binaria 137 introducida a la misma desde la unidad de operación de procesamiento de decodificación aritmética 127. Cuando el tipo del parámetro que ha de ser decodificado es el modo de codificación (modo de codificación óptimo 62) de un macrobloque, la tabla de binarización 139 es la misma que la tabla de binarización en el dispositivo codificador mostrado en el cuadro A.
La unidad de actualización de tabla de binarización 141 actualiza la tabla de binarización almacenada en la memoria de tabla de binarización 143 sobre la base de la bandera de actualización de tabla de binarización 142 y la información de identificación de actualización de tabla de binarización 144 que son decodificadas del flujo de bits 60.
La bandera de actualización de tabla de binarización 142 es información que corresponde a la bandera de actualización de tabla de binarización 113 en el dispositivo codificador, y que es incluida en la información de cabezal o similar del flujo de bits 60 y muestra si hay o no una actualización a la tabla de binarización. Cuando el valor decodificado de la bandera de actualización de tabla de binarización 142 muestra "hay una actualización a la tabla de binarización", la información de identificación de actualización de tabla de binarización 144 es decodificada del flujo de bits 60.
La información de identificación de actualización de tabla de binarización 144 es información que corresponde a la información de identificación de actualización de tabla de binarización 1 12 en el dispositivo codificador, y que se usa para identificar la tabla de binarización de un parámetro actualizado por el dispositivo codificador. Por ejemplo, cuando una pluralidad de tablas de binarización se provee por anticipado para cada parámetro que ha de ser codificado, como se mencionó antes, una ID que permite a cada parámetro que ha de ser codificado ser identificado y una ID de cada una de las tablas de binarización se proveen por anticipado tanto en el lado del dispositivo codificador como en el dispositivo decodificador, y la unidad de actualización de tabla de binarización 141 actualiza la tabla de binarización correspondiente al valor de ID en la información de identificación de actualización de tabla de binarización 144 que es decodificada del flujo de bits 60. En este ejemplo, dos tipos de tablas de binarización mostrados en el cuadro A y el cuadro D, y IDs de estas tablas de binarización se preparan por anticipado en la memoria de tabla de binarización 143, y, cuando se supone que la tabla de binarización aún ha de ser actualizada se pone en un estado mostrado en el cuadro A, la unidad de actualización de tabla de binarización 141 necesariamente debe seleccionar la tabla de binarización correspondiente a la ID incluida en la información de identificación de actualización de tabla de binarización 144 al llevar a cabo simplemente un proceso de actualización de conformidad con la bandera de actualización de tabla de binarización 142 y la información de identificación de actualización de tabla de binarización 144. Por lo tanto, la tabla de binarización actualizada entra a un estado mostrado en el cuadro D, y se vuelve la misma que la tabla de binarización que ha sido actualizada en el dispositivo codificador.
Como se mencionó antes, el dispositivo codificador de imagen en movimiento de conformidad con la modalidad 2 es construido de tal manera que la unidad de control de codificación 3 selecciona y emite un parámetro que ha de ser codificado, tal como un modo de codificación óptimo 7a que provee un grado óptimo de eficiencia de codificación, un parámetro de predicción óptimo 10a o 18a, o un parámetro de compresión óptimo 20a, la unidad de binarización 92 de la unidad codificadora de longitud variable 23 convierte el parámetro que ha de ser codificado expresado por una señal multi-valuada en una señal binaria 103 usando la tabla de binarización almacenada en la memoria de tabla de binarización 105, la unidad de operación de codificación aritmética 104 realiza codificación aritmética sobre la señal binaria 103 para emitir una secuencia de bits codificada 1 11 , la unidad generadora de información de frecuencia 93 genera información de frecuencia 94 del parámetro que ha de ser codificado, y la unidad de actualización de tabla de binarización 95 actualiza la correspondencia entre la señal multi-valuada en la tabla de binarización y la señal binaria sobre la base de la información de frecuencia 94, la cantidad código puede ser reducida mientras el video codificado que tiene la misma calidad es generado, en comparación con el método convencional que tiene la tabla de binarización que es fijada en todos los tiempos.
Además, debido a que la unidad de actualización de tabla de binarización 95 es construida de tal manera que multiplexe tanto la información de identificación de actualización de tabla de binarización 1 12 que muestra si hay o no una actualización a la tabla de binarización, y la información de identificación de actualización de tabla de binarización 1 12 para identificar la tabla de binarización actualizada hacia flujo de bits 30, el dispositivo decodificador de imagen en movimiento de conformidad con la modalidad 2 es construido de conformidad con la estructura de la unidad de actualización de tabla de binarización de tal manera que la unidad de operación de procesamiento de decodificación aritmética 127 de la unidad decodificadora de longitud variable 61 realiza decodificación aritmética sobre la secuencia de bits codificada 133 multiplexada hacia el flujo de bits 60 para generar una señal binaria 137, la unidad de binarización inversa 138 usa la tabla de binarización 139 de la memoria de tabla de binarización 143 para convertir la señal binaria 137 en una señal multi-valuada y adquiere un valor decodificado 140, y la unidad de actualización de tabla de binarización 141 actualiza una tabla de binarización predeterminada almacenada en la memoria de tabla de binarización 143 sobre la base de la bandera de actualización de tabla de binarización 142 y la información de identificación de actualización de tabla de binarización 144 que son adquiridas a través de la decodificación de información de cabezal multiplexada hacia el flujo de bits 60. Por lo tanto, debido a que el dispositivo decodificador de imagen en movimiento puede actualizar la tabla de binarización de conformidad con el mismo procedimiento que aquel realizado por el dispositivo codificador de imagen en movimiento y puede realizar binarización inversa sobre el parámetro que ha de ser codificado, el dispositivo codificador de imagen en movimiento de conformidad con la modalidad 2 puede decodificar el flujo codificado de bits correctamente.
Modalidad 3 En esta modalidad 3, se explicará una variante del proceso de generación para generar una imagen de predicción usando una predicción compensada en movimiento que está hecha por la unidad de predicción compensada en movimiento 9 en el dispositivo codificador de imagen en movimiento y el dispositivo decodificador de imagen en movimiento de conformidad con cualquiera de las modalidades 1 y 2 antes mencionadas.
Primero, se explicará una unidad de predicción compensada en movimiento 9 de un dispositivo codificador de imagen en movimiento de conformidad con esta modalidad 3. Además, debido a que la estructura del dispositivo codificador de imagen en movimiento de conformidad con esta modalidad 3 es la misma que aquella de conformidad con la modalidad 1 ó 2 antes mencionada, y la operación de cada componente excepto la unidad de predicción compensada en movimiento 9 es la misma que aquella de conformidad con la modalidad 1 ó 2 antes mencionada, una explicación se hará usando las figuras 1 a 12 y cuadros A-D.
La unidad de predicción compensada en movimiento 9 de conformidad con esta modalidad 3 tiene la misma estructura que y opera de la misma manera que aquella de conformidad con la modalidad 1 ó 2 antes mencionada, con la excepción de que una estructura y una operación asociada con una imagen de un proceso generador de predicción que tiene exactitud de muestra virtual difiere de aquellos de conformidad con cualquiera de las modalidades 1 y 2 antes mencionadas. De manera más específica, de conformidad con las modalidades 1 y 2 antes mencionadas, como se muestra en la figura 3, la unidad generadora de imagen interpolada 43 de la unidad de predicción compensada en movimiento 9 genera datos de imagen de referencia que tienen exactitud de pixeles virtuales, tal como exactitud de medio píxel o de 1/4 de píxel, y, cuando se genera una imagen de predicción 45 sobre la base de estos datos de imagen de referencia que tienen exactitud de pixeles virtuales, genera pixeles virtuales al implementar una operación aritmética de interpolación con un filtro de 6 etapas usando seis pixeles enteros que corren en una dirección vertical u horizontal para generar una imagen de predicción, como en el caso de los estándares de MPEG-4 AVC. A diferencia de esto, la unidad de predicción compensada en movimiento 9 de conformidad con esta modalidad 3 agranda una imagen de referencia 15 que tiene exactitud de pixeles enteros almacenados en una memoria de cuadro de predicción compensada en movimiento 14 al realizar un proceso de super-resolución sobre la imagen de referencia 15 para generar una imagen de referencia 207 que tiene exactitud de pixeles virtuales, y después genera una imagen de predicción sobre la base de esta imagen de referencia 207 que tiene exactitud de pixeles virtuales.
Enseguida, la unidad de predicción compensada en movimiento 9 de conformidad con esta modalidad 3 se explicará usando la figura 3. Como aquella de conformidad con cualquiera de las modalidades 1 y 2 anteriormente mencionadas, una unidad generadora de imagen interpolada 43 de conformidad con esta modalidad 3 especifica uno o más cuadros de imágenes de referencia 15 a partir de la memoria de cuadro de predicción compensada en movimiento 14, y una unidad de detección de movimiento 42 detecta un vector de movimiento 44 en un rango de búsqueda de movimiento predeterminado en la imagen de referencia 15 especificado por la unidad generadora de imagen interpolada. La detección del vector de movimiento es implementada usando un vector de movimiento que tiene exactitud de píxeles virtuales, como en el caso de los estándares de MPEG-4 AVC o similares. De conformidad con este método de detección, una operación aritmética de interpolación se realiza sobre información de píxeles (referidos como píxeles enteros) que la imagen de referencia tiene para generar muestras virtuales (píxeles) entre los píxeles enteros, y estas muestras virtuales se usan como una imagen de referencia.
A fin de generar una imagen de referencia que tiene exactitud de píxeles virtuales, es necesario agrandar una imagen de referencia que tiene exactitud de píxeles enteros (genera una imagen de referencia que tiene una resolución más alta) para generar un plano de muestra que consiste de virtual píxeles. Para este fin, cuando una imagen de referencia para búsqueda de movimiento que tiene exactitud de píxeles virtuales es requerida, la unidad generadora de imagen interpolada 43 de conformidad con esta modalidad 3 usa una técnica de super-resolución descrita por "W. T.Freeman, E.C.Pasztor y O.T. Carmichael, "Learning Low-Level Vision", International Journal of Computer Vision, vol.40, No.1 , 2000" para generar una imagen de referencia que tiene exactitud de píxeles virtuales. En la siguiente explicación, una estructura en la cual la unidad de predicción compensada en movimiento 9 realiza un proceso generador de imagen de super-resolución para generar una imagen de referencia 207 que tiene exactitud de píxeles virtuales a partir de los datos de imagen de referencia almacenados en la memoria de cuadro de predicción compensada en movimiento 14, y la unidad de detección de movimiento 42 realiza un proceso de búsqueda de vector de movimiento usando la imagen de referencia se mencionará más adelante.
La figura 12 es un diagrama de bloques que muestra la estructura interna de la unidad generadora de imagen interpolada 43 de la unidad de predicción compensada en movimiento 9 del dispositivo codificador de imagen en movimiento de conformidad con la modalidad 3 de la presente invención. La unidad generadora de imagen interpolada 43 mostrada en la figura 12 incluye una unidad de procesamiento de agrandamiento de imagen 205 para llevar a cabo un proceso de agrandamiento sobre la imagen de referencia 15 almacenada en la memoria de cuadro de predicción compensada en movimiento 14, una unidad de procesamiento de reducción de imagen 200 para llevar a cabo un proceso de reducción sobre la imagen de referencia 15, una unidad de extracción de característica de alta frecuencia 201a para extraer una cantidad de características de un componente de región de alta frecuencia desde la unidad de procesamiento de reducción de imagen 200, una unidad de extracción de característica de alta frecuencia 201 b para extraer una cantidad de características de un componente de región de alta frecuencia desde la imagen de referencia 15, una unidad de cálculo de correlación 202 para calcular el valor de una correlación entre las cantidades de características, una unidad de estimación de componente de alta frecuencia 203 para estimar un componente de alta frecuencia tanto del valor de la correlación como datos previamente aprendidos almacenados en una memoria de patrón de componente de alta frecuencia 204, y una unidad de adición 206 para corregir un componente de alta frecuencia de la imagen agrandada usando el componente de alta frecuencia estimado para generar una imagen de referencia 207 que tiene exactitud de píxeles virtuales.
En la unidad generadora de imagen interpolada mostrado en la figura 12, cuando la imagen de referencia 15 en el rango usado para un proceso de búsqueda de movimiento es introducido desde los datos de imagen de referencia almacenados en la memoria de cuadro de predicción compensada en movimiento 14 a la unidad generadora de imagen interpolada 43, esta imagen de referencia 15 es introducida a la unidad de procesamiento de reducción de imagen 200, a la unidad de extracción de característica de alta frecuencia 201 b, y a la unidad de procesamiento de agrandamiento de imagen 205.
La unidad de procesamiento de reducción de imagen 200 genera una imagen reducida cuya altura y anchura son respectivamente reducidas a 1/N veces (N es una potencia de 2, tal como 2 ó 4) la altura y anchura originales de la imagen de referencia 15, y emite la imagen reducida a la unidad de extracción de característica de alta frecuencia 201a. Un filtro de reducción de imagen típico implementa este proceso de reducción.
La unidad de extracción de característica de alta frecuencia 201a extrae una primera cantidad de características asociada con un componente de alta frecuencia, tal como un componente de borde, a partir de la imagen reducida que es generada por la unidad de procesamiento de reducción de imagen 200. Como la primera cantidad de características, por ejemplo, un parámetro que muestra un DCT en un bloque local o una distribución de coeficiente de transformada de Wavelet se puede usar.
La unidad de extracción de característica de alta frecuencia 201 b realiza un procedimiento de extracción de características de alta frecuencia similar al llevado a cabo por la unidad de extracción de característica de alta frecuencia 201a, y extrae una segunda cantidad de características que tiene una región de componente de frecuencia diferente de aquel de la primera cantidad de características a partir de la imagen de referencia 15. La segunda cantidad de características es emitida a la unidad de cálculo de correlación 202, y también es emitida a la unidad de estimación de componente de alta frecuencia 203.
Cuando la primera cantidad de características es introducida desde la unidad de extracción de características de alta frecuencia 201a y la segunda cantidad de características es introducida desde la unidad de extracción de características de alta frecuencia 201 b, la unidad de cálculo de correlación 202 calcula el valor de una correlación basada en cantidad de características en una región de componente de alta frecuencia entre la imagen de referencia 15 y la imagen reducida en unidades de un bloque local. Como este valor de la correlación, por ejemplo, una distancia entre la primera cantidad de características y la segunda cantidad de características se calcula.
La unidad de estimación de componente de alta frecuencia 203 especifica un patrón aprendido previo del componente de alta frecuencia de la memoria de patrón de componente de alta frecuencia 204 sobre la base tanto de la segunda cantidad de características introducida a la misma desde la unidad de extracción de característica de alta frecuencia 201 b, como el valor de la correlación introducida a la misma desde la unidad de cálculo de correlación 202, y estima y genera un componente de alta frecuencia que la imagen de referencia 207 que tiene exactitud de píxeles virtuales debe tener. El componente de alta frecuencia generado es emitido a la unidad de adición 206.
La unidad de procesamiento de agrandamiento de imagen 205 realiza ya sea una operación aritmética de interpolación con un filtro de 6 etapas usando seis píxeles enteros que corren en una dirección vertical u horizontal o filtración de agrandamiento, tal como filtrado bilineal, sobre la imagen de referencia introducida 15, como en el caso de realizar un proceso de generación para generar muestras que tienen exactitud de mitad de píxel de conformidad con los estándares de MPEG-4 AVC, para agrandar cada una de la altura y anchura de la imagen de referencia 15 por N veces para generar una imagen agrandada.
La unidad de adición 206 añade el componente de alta frecuencia introducida a la misma desde la unidad de estimación de componente de alta frecuencia 203 a la imagen agrandada introducida a la misma desde la unidad de procesamiento de agrandamiento de imagen 205 para generar una imagen de referencia agrandada. De manera más específica, la unidad de adición corrige el componente de alta frecuencia de la imagen agrandada para generar una imagen agrandada de referencia cuya altura y anchura son respectivamente agrandadas a N veces la altura y anchura originales. La unidad generadora de imagen interpolada 43 usa estos datos de imagen de referencia agrandada como una imagen de referencia 207 que tiene exactitud de píxeles virtuales en la cual 1/N se fija a 1.
La unidad generadora de imagen interpolada 43 puede ser construida alternativamente de tal manera que, después de generar una imagen de referencia 207 que tenga una exactitud de la mitad de un píxel (1/2 píxel) al fijar N a 2, genere muestras virtuales (píxeles) que tengan exactitud de 1/4 de píxel al realizar una operación aritmética de interpolación usando un filtro para adquirir un valor medio de 1/2 píxeles adyacentes o píxeles enteros.
Además, la unidad generadora de imagen interpolada 43 puede ser construida de tal manera que incluya una unidad para conmutar si añade o no el componente de alta frecuencia emitido por la unidad de estimación de componente de alta frecuencia 203 a la imagen agrandada emitida por la unidad de procesamiento de agrandamiento de imagen 205 para controlar el resultado de la generación de la imagen de referencia 207 que tiene exactitud de píxeles virtuales además de la estructura mostrada en la figura 12. En el caso en el cual la unidad generadora de imagen interpolada es construida de esta manera, se provee una ventaja de suprimir una mala influencia sobre la eficiencia de codificación cuando la exactitud de estimación de la unidad de estimación de componente de alta frecuencia 203 es mala por alguna razón tal como un patrón de imagen excepcional. Cuando la unidad de adición 206 selectivamente determina si se añade o no el componente de alta frecuencia emitido por la unidad de estimación de componente de alta frecuencia 203 a la imagen agrandada, el dispositivo codificador de imagen en movimiento genera una imagen de predicción 45 tanto para el caso de añadirlas como el caso de no añadirlas y después realiza una predicción compensada en movimiento, y codifica los resultados de la predicción compensada en movimiento y determina una de las imágenes de predicción que provee un grado de eficiencia más alto. El dispositivo codificador de imagen en movimiento entonces multiplexa información de proceso de adición que muestra si la unidad de adición ha añadido el componente de alta frecuencia a la imagen agrandada hacia el flujo de bits 30 como información de control.
Como una alternativa, la unidad generadora de imagen interpolada 43 puede determinar de manera única si se añade o no el componente de alta frecuencia a la imagen agrandada desde otro parámetro que ha de ser multiplexado hacia el flujo de bits 30 para controlar el proceso de adición realizado por la unidad de adición 206. Como un ejemplo de determinarse se añade o no el componente de alta frecuencia a la imagen agrandada desde otro parámetro, por ejemplo, se puede proveer un método de usar el tipo de un modo de codificación 7 como se muestra en la figura 2A o 2B. Cuando se selecciona un modo de codificación que muestra que la división de un macrobloque hacia los bloques de la región de compensación de movimiento es fina, hay una alta probabilidad de que el patrón de imagen tenga un movimiento violento. Por lo tanto, en este caso, suponiendo que el efecto de la super-resolución es bajo, la unidad generadora de imagen interpolada 43 controla la unidad de adición 206 para hacer que esta unidad de adición no añada el componente de alta frecuencia emitido por la unidad de estimación de componente de alta frecuencia 203 a la imagen agrandada. Por el contrario, cuando se selecciona ya sea un modo de codificación que muestra que el tamaño de cada bloque de región de compensación de movimiento en un macrobloque es grande o un modo de intra-predicción en el cual el tamaño de bloque es grande, hay una alta probabilidad de que el patrón de imagen es un área de imagen relativamente estacionaria. Por lo tanto, en este caso, suponiendo que el efecto de la super-resolución es bajo, la unidad generadora de imagen interpolada 43 controla la unidad de adición 206 para hacer que esta unidad de adición añada el componente de alta frecuencia emitido por la unidad de estimación de componente de alta frecuencia 203 a la imagen agrandada.
Como un ejemplo de usar otro parámetro distinto al modo de codificación 7, se puede usar un parámetro, tal como el tamaño del vector de movimiento o una variación en el campo de vector de movimiento en consideración de áreas adyacentes. La unidad generadora de imagen interpolada 43 de la unidad de predicción compensada en movimiento 9 comparte el tipo del parámetro con el dispositivo decodificador para determinar si se añade o no el componente de alta frecuencia a la imagen agrandada. En este caso, el dispositivo codificador de imagen en movimiento no tiene que multiplexar la información de control acerca del proceso de adición directamente hacia el flujo de bits 30, pudiendo así mejorar la eficiencia de compresión.
El dispositivo codificador de imagen en movimiento puede ser construido de tal manera que realice el proceso de super-resolución antes mencionado sobre la imagen de referencia 15, que ha de ser almacenada en la memoria de cuadro de predicción compensada en movimiento 14, para convertir la imagen de referencia en una imagen de referencia 207 que tiene exactitud de píxeles virtuales antes de almacenar la imagen de referencia en la memoria de cuadro de predicción compensada en movimiento 14, y, después de eso, almacenar la imagen de referencia 207 en la memoria de cuadro de predicción compensada en movimiento. En el caso de esta estructura, aunque el tamaño de una memoria requerida como la memoria de cuadro de predicción compensada en movimiento 14 incrementa, el dispositivo codificador de imagen en movimiento no tiene que realizar secuencialmente el proceso de super-resolución durante la búsqueda del vector de movimiento y durante la generación de imagen de predicción y la carga de procesamiento sobre el proceso de predicción compensada en movimiento mismo puede ser reducido, y el dispositivo codificador de imagen en movimiento puede realizar el proceso de codificación de cuadro y el proceso de generación para generar una imagen de referencia 207 que tiene exactitud de pixeles virtuales en paralelo, y puede acelerar los procesos.
De aquí en adelante, un ejemplo de un procedimiento de detección de vector de movimiento para detectar un vector de movimiento que tiene exactitud de pixeles virtuales usando la imagen de referencia 207 que tiene exactitud de pixeles virtuales se mostrará usando la figura 3.
Procedimiento de detección de vector de movimiento G La unidad generadora de imagen interpolada 43 genera una imagen de predicción 45 para el vector de movimiento 44 que tiene exactitud de pixeles enteros en el rango de búsqueda de movimiento predeterminado de una imagen de bloque de región de compensación de movimiento 41. La imagen de predicción 45 (imagen de predicción 17) generada en la exactitud de pixeles enteros es emitida a la unidad de sustracción 12, y es sustraída de la imagen de bloque de región de compensación de movimiento 41 (imagen de macro/sub-bloque 5) por la unidad de sustracción 12, por lo que el resultado de la sustracción es definido como una señal de diferencia de predicción 13. La unidad de control de codificación 3 evalúa un grado de eficiencia de predicción para la señal de diferencia de predicción 13 y para el vector de movimiento 44 (parámetro de predicción 18) que tiene exactitud de pixeles enteros. Debido a que la evaluación de esta eficiencia de predicción se puede realizar de conformidad con la ecuación (1) anterior explicada en la modalidad 1 antes mencionada, la explicación de la evaluación se omitirá más adelante.
Procedimiento de detección de vector de movimiento ?G La unidad generadora de imagen interpolada 43 genera una imagen de predicción 45 al usar la imagen de referencia 207 que tiene exactitud de pixeles virtuales generada dentro de la unidad generadora de imagen interpolada 43 mostrada en la figura 12 para un vector de movimiento 44 que tiene exactitud de 1/2 píxel localizada en la vecindad del vector de movimiento que tiene exactitud de pixeles enteros que es determinada de conformidad con el "procedimiento de detección de vector de movimiento I antes mencionado". Después de eso, igual que en el caso del "procedimiento de detección de vector de movimiento I" antes mencionado, la imagen de predicción 45 (imagen de predicción 17) generado una exactitud de 1/2 píxel es sustraída de la imagen de bloque de región de compensación de movimiento 41 (imagen de macro/sub-bloque 5) por la unidad de sustracción 12 para adquirir una señal de diferencia de predicción 13. Enseguida, la unidad de control de codificación 3 evalúa un grado de eficiencia de predicción para esta señal de diferencia de predicción 13 y para el vector de movimiento 44 (parámetro de predicción 18) que tiene exactitud de 1/2 píxel, y selectivamente determina un vector de movimiento 44 que tiene exactitud de 1/2 píxel que minimiza el costo de predicción J-? de entre uno o más vectores de movimiento que tienen exactitud de 1/2 píxel localizada en la vecindad del vector de movimiento que tiene exactitud de píxeles enteros.
Procedimiento de detección de vector de movimiento III* También en cuanto a un vector de movimiento que tiene exactitud de 1/4 de píxel, la unidad de control de codificación 3 y la unidad de predicción compensada en movimiento 9 selectivamente determinan un vector de movimiento 44 que tiene exactitud de 1/4 de píxel que minimiza el costo de predicción Ji de uno o más vectores de movimiento que tiene exactitud de 1/4 de píxel localizada en la vecindad del vector de movimiento que tiene exactitud de 1/2 píxel que es determinada de conformidad con el "procedimiento de detección de vector de movimiento II" antes mencionado.
Procedimiento de detección de vector de movimiento IV Después de eso, la unidad de control de codificación 3 y la unidad de predicción compensada en movimiento 9 de manera similar detectan un vector de movimiento que tiene exactitud de píxeles virtuales hasta que el vector de movimiento detectado por la misma tiene un grado de exactitud predeterminado.
Por lo tanto, la unidad de predicción compensada en movimiento 9 emite el vector de movimiento de exactitud de píxeles virtuales que tienen la exactitud predeterminada, que es determinada para cada imagen de bloque de región de compensación de movimiento 41 que es uno de una pluralidad de bloques en los cuales la imagen de macro/sub-bloque 5 es dividida y cada uno de los cuales es una unidad para la compensación de movimiento mostrado por el modo de codificación 7, y el número de identificación de la imagen de referencia especificado por el vector de movimiento como parámetros de predicción 18. La unidad de predicción compensada en movimiento 9 también emite la imagen de predicción 45 (imagen de predicción 17) que es generada al usar los parámetros de predicción 18 a la unidad de sustracción 12, y la unidad de sustracción 12 sustrae la imagen de predicción 45 de la imagen de macro/sub-bloque 5 para adquirir una señal de diferencia de predicción 13. La señal de diferencia de predicción 13 emitida desde la unidad de sustracción 12 es emitida a la unidad de transformación/cuantificación 19. Debido a que procesos subsiguientes realizados después de eso son los mismos que aquellos explicados en la modalidad 1 antes mencionada, la explicación de los procesos se omitirá de aquí en adelante.
Enseguida, el dispositivo decodificador de imagen en movimiento de conformidad con esta modalidad 3 se explicará. Debido a que el dispositivo decodificador de imagen en movimiento de conformidad con esta modalidad 3 tiene la misma estructura que el dispositivo decodificador de imagen en movimiento de conformidad con cualquiera de las modalidades 1 y 2 antes mencionadas, con la excepción de que el dispositivo decodificador de imagen en movimiento de conformidad con esta modalidad 3 tiene una estructura diferente de la estructura asociada con el proceso generador de imagen de predicción que tiene exactitud de píxeles virtuales realizada por la unidad de predicción compensada en movimiento 70 de conformidad con cualquiera de las modalidades 1 y 2 antes mencionadas, y el dispositivo decodificador de imagen en movimiento de conformidad con esta modalidad 3 opera de una forma diferente de aquella de conformidad con cualquiera de las modalidades 1 y 2 antes mencionadas cuando realiza el proceso de generación de imagen de predicción, la estructura y operación del dispositivo decodificador de imagen en movimiento de conformidad con esta modalidad 3 se explicará usando las figuras 1 a 12 y cuadros A-D.
De conformidad con cualquiera de las modalidades 1 y 2 antes mencionadas, cuando se genera una imagen de predicción sobre la base de una imagen de referencia que tiene exactitud de píxeles virtuales, tal como exactitud de medio píxel o 1/4 de píxel, la unidad de predicción compensada en movimiento 70 genera virtual píxeles al implementar una operación aritmética de interpolación con un filtro de 6 etapas usando seis píxeles enteros que corren en una dirección vertical u horizontal, o similar para generar una imagen de predicción, como en el caso de los estándares de MPEG-4 AVC. A diferencia de esto, una unidad de predicción compensada en movimiento 70 de conformidad con esta modalidad 3 agranda una imagen de referencia 76 que tiene exactitud de píxeles enteros almacenada en una memoria de cuadro de predicción compensada en movimiento 75 al realizar un proceso de super-resolución sobre la imagen de referencia. Como resultado, la unidad de predicción compensada en movimiento genera una imagen de referencia que tiene exactitud de píxeles virtuales.
La unidad de predicción compensada en movimiento 70 de conformidad con esta modalidad 3 genera a imagen de predicción 72 de la imagen de referencia 76 almacenada en la memoria de cuadro de predicción compensada en movimiento 75 sobre la base de vectores de movimiento incluidos en los parámetros de predicción óptimos introducidos 63, el número de identificación (índice de imagen de referencia) de la imagen de referencia especificado por cada uno de los vectores de movimiento, etc., y emite la imagen de predicción, como aquella de conformidad con cualquiera de las modalidades 1 y 2 antes mencionadas. Una unidad de adición 73 añade la imagen de predicción 72 introducida desde la unidad de predicción compensada en movimiento 70 a valores decodifícados de señal de diferencia de predicción 67 introducidos desde una unidad de cuantificación inversa/transformación inversa 66 para generar una imagen decodificada 74.
Un método de generación para generar la imagen de predicción 72 que es implementada por la unidad de predicción compensada en movimiento 70 corresponde a la operación de la unidad de predicción compensada en movimiento 9 en el dispositivo codificador del cual el proceso de búsqueda a través de una pluralidad de imágenes de referencia para vectores de movimiento (correspondientes a las operaciones de la unidad de detección de movimiento 42 y la unidad generadora de imagen interpolada 43 mostrada en la figura 3) es excluido. La unidad de predicción compensada en movimiento realiza sólo el proceso de generar la imagen de predicción 72 de conformidad con parámetros de predicción óptimos 63 provistos a la misma desde una unidad decodificadora de longitud variable 61.
Cuando se genera una imagen de predicción 72 a exactitud de píxeles virtuales, la unidad de predicción compensada en movimiento 70 realiza el mismo proceso que el que se muestra en la figura 12 sobre la imagen de referencia 76 almacenada en la memoria de cuadro de predicción compensada en movimiento 75 y especificada por el número de identificación (índice de imagen de referencia) de la imagen de referencia para generar una imagen de referencia que tiene exactitud de píxeles virtuales, y entonces genera una imagen de predicción 72 al usar el vector de movimiento decodificado. En este tiempo, cuando el dispositivo codificador ha determinado selectivamente si se añade o no el componente de alta frecuencia emitido por la unidad de estimación de componente de alta frecuencia 203 mostrado en la figura 12 a la imagen agrandada, el dispositivo decodificador extrae la información de control que muestra si el dispositivo codificador ha realizado el proceso de adición desde el flujo de bits 60, o únicamente determina si el dispositivo codificador ha añadido el componente de alta frecuencia a la imagen agrandada desde otro parámetro para controlar un proceso de adición en la unidad de predicción compensada en movimiento 70. En el caso de usar otro parámetro para determinar si el dispositivo codificador ha añadido el componente de alta frecuencia a la imagen agrandada, se puede usar un parámetro, tal como el tamaño del vector de movimiento o una variación en el campo del vector de movimiento en consideración de áreas adyacentes. La unidad de predicción compensada en movimiento 70 comparte el tipo del parámetro con el dispositivo codificador y determina si el dispositivo codificador ha añadido el componente de alta frecuencia a la imagen agrandada. Como resultado, el dispositivo codificador de imagen en movimiento no tiene que multiplexar la información de control acerca del proceso de adición directamente hacia el flujo de bits 30, pudiendo así mejorar la eficiencia de compresión.
La unidad de predicción compensada en movimiento 70 puede realizar el proceso de generar una imagen de referencia que tiene exactitud de pixeles virtuales sólo cuando los vectores de movimiento incluidos en los parámetros de predicción óptimos 18a que son emitidos desde el dispositivo codificador (es decir parámetros de predicción óptimos 63 en el dispositivo decodificador) indican la exactitud de pixeles virtuales. En esta estructura, la unidad de predicción compensada en movimiento 9 conmuta entre el uso de la imagen de referencia 15 almacenada en la memoria de cuadro de predicción compensada en movimiento 14, y la generación y uso de una imagen de referencia 207 que tiene exactitud de pixeles virtuales por medio de la unidad generadora de imagen interpolada 43 de conformidad con el vector de movimiento, y genera una imagen de predicción 17 ya sea de la imagen de referencia 15 o bien de la imagen de referencia 207 que tiene exactitud de píxeles virtuales.
Como una alternativa, la unidad de predicción compensada en movimiento puede ser construida de tal manera que realice el proceso mostrado en la figura 12 sobre la imagen de referencia que aún ha de ser almacenada en la memoria de cuadro de predicción compensada en movimiento 75 y almacene la imagen de referencia que tiene exactitud de píxeles virtuales sobre la cual el proceso de agrandamiento se ha realizado y en el cual un componente de alta frecuencia se ha corregido en la memoria de cuadro de predicción compensada en movimiento 75. En el caso de esta estructura, aunque el tamaño de una memoria que debe ser preparada como la memoria de cuadro de predicción compensada en movimiento 75 incrementa, no es necesario realizar en forma duplicada el proceso mostrado en la figura 12 cuando el número de veces que el vector de movimiento apunta a un píxel en la misma posición de muestra virtual. Por lo tanto, la cantidad de computación puede ser reducida. Además, en un caso en el cual el rango de desplazamiento al que es apuntado por el vector de movimiento es conocido por anticipado por el dispositivo decodificador, la unidad de predicción compensada en movimiento 70 puede ser construida de tal manera que realice el proceso mostrado en la figura 12 sobre la región objetivo mientras limita esta región sólo al rango. Lo que es necesario es simplemente hacer que el dispositivo decodificador conozca el rango de desplazamiento al que es apuntado por el vector de movimiento, por ejemplo, al multiplexar un rango de valor que muestra el rango de desplazamiento al que es apuntado por el vector de movimiento hacia el flujo de bits 60 para transmitir el rango de valor al dispositivo decodificador, o haciendo que tanto el dispositivo codificador como el dispositivo decodificador mutuamente determinen y fijen el rango de valor en sus operaciones.
Como se mencionó antes, el dispositivo codificador de imagen en movimiento de conformidad con la modalidad 3 es construido de tal manera que la unidad de predicción compensada en movimiento 9 tiene la unidad generadora de imagen interpolada 43 para llevar a cabo un proceso de agrandamiento sobre la imagen de referencia 15 almacenada en la memoria de cuadro de predicción compensada en movimiento 14, y también corregir un componente de alta frecuencia para generar una imagen de referencia 207 que tiene exactitud de píxeles virtuales, y conmuta entre el uso de la imagen de referencia 15 o la generación y uso de la imagen de referencia 207 que tiene exactitud de píxeles virtuales de conformidad con el vector de movimiento para generar una imagen de predicción 17, aún cuando realiza compresión alta sobre la señal de video introducida 1 que incluye muchos componentes de frecuencia alta, tal como bordes finos, el dispositivo codificador de imagen en movimiento puede generar la imagen de predicción 17 que ha de ser generada al usar una predicción compensada en movimiento a partir de la imagen de referencia que incluye muchos componentes de frecuencia alta, pudiendo así codificar por compresión eficientemente la señal de video introducida.
Además, también el dispositivo decodificador de imagen en movimiento de conformidad con la modalidad 3 está construido de tal manera que la unidad de predicción compensada en movimiento 70 tiene la unidad generadora de imagen interpolada para generar una imagen de referencia que tiene exactitud de píxeles virtuales de conformidad con el mismo procedimiento que aquel que fue realizado por dispositivo codificador de imagen en movimiento, y conmuta entre el uso de la imagen de referencia 76 almacenada en la memoria de cuadro de predicción compensada en movimiento 75 o la generación y uso de la imagen de referencia que tiene exactitud de píxeles virtuales de conformidad con el vector de movimiento multiplexado hacia el flujo de bits 60 para generar una imagen de predicción 72, el dispositivo decodificador de imagen en movimiento puede decodificar correctamente el flujo de bits codificado por el dispositivo codificador de imagen en movimiento de conformidad con la modalidad 3.
La unidad generadora de imagen interpolada 43 de conformidad con la modalidad 3 antes mencionada realiza el proceso de super-resolución basado en la técnica antes mencionada descrita por W. T. Freeman et al. (2000) para generar una imagen de referencia 207 que tiene exactitud de píxeles virtuales. Sin embargo, el proceso de super-resolución no está limitado a aquel basado en la técnica antes mencionada, y la unidad generadora de imagen interpolada puede ser construida de tal manera que use otra técnica de super-resolución antes mencionada para generar una imagen de referencia 207 que tiene exactitud de píxeles virtuales.
Además, en un caso en el cual el dispositivo codificador de imagen en movimiento de conformidad con cualquiera de las modalidades 1 a 3 antes mencionadas está construido de una computadora, un programa de codificación de imagen en movimiento en el cual los procesos realizados por la unidad de división de bloque 2, la unidad de control de codificación 3, la unidad de conmutación 6, la unidad de intra-predicción 8, la unidad de predicción compensada en movimiento 9, la memoria de cuadro de predicción compensada en movimiento 14, la unidad de transformación/cuantificación 19, la unidad de cuantificación inversa/transformación inversa 22, la unidad codificadora de longitud variable 23, la unidad de filtro de bucle 27, y la memoria 28 para intra-predicción se describen se puede almacenar en una memoria de la computadora, y una CPU de la computadora se puede hacer que ejecute el programa de codificación de imagen en movimiento almacenado en la memoria. De manera similar, en el caso en el cual el dispositivo decodificador de imagen en movimiento de conformidad con cualquiera de las modalidades 1 a 3 antes mencionadas está construido de una computadora, un programa de decodificación de imagen en movimiento en el cual los procesos realizados por la unidad decodificadora de longitud variable 61 , la unidad de cuantificación inversa/transformación inversa 66, la unidad de conmutación 68, la unidad de intra-predicción 69, la unidad de predicción compensada en movimiento 70, la memoria de cuadro de predicción compensada en movimiento 75, la memoria 77 para intra- predicción, y la unidad de filtro de bucle 78 se describen se puede almacenar en una memoria de la computadora, y una CPU de la computadora se puede hacer que ejecute el programa de decodificación de imagen en movimiento almacenado en la memoria.
Aplicación industrial Debido a que el dispositivo codificador de imagen en movimiento y el dispositivo decodificador de imagen en movimiento de conformidad con la presente invención puede conmutar entre tamaños de bloque de transformación adaptativamente para codificar por compresión una imagen en movimiento introducida para cada región que sirve como una unidad para predicción compensada en movimiento en cada macrobloque, el dispositivo codificador de imagen en movimiento y el dispositivo decodificador de imagen en movimiento de conformidad con la presente invención son adecuados para usarse como un dispositivo codificador de imagen en movimiento que divide una imagen en movimiento en regiones predeterminadas para codificar la imagen en movimiento sobre una base por región y como un dispositivo decodificador de imagen en movimiento que decodifica una imagen en movimiento codificada sobre una base por región predeterminada.
Explicaciones de números de referencia 1 señal de video introducida, 2 unidad de división de bloque, 3 unidad de control de codificación, 4 tamaño del macrobloque, 5 imagen de macro/sub-bloque, 6 unidad de conmutación, 7 modo de codificación, 7a modo de codificación óptimo, 8 unidad de intra-predicción, 9 unidad de predicción compensada en movimiento, 10 predicción parámetro, 10a parámetro de predicción óptimo, 1 1 imagen de predicción, 12 unidad de sustracción, 13 señal de diferencia de predicción, 13a señal diferencial de predicción óptima, 14 memoria de cuadro de predicción compensada en movimiento, 15 imagen de referencia, 17 imagen de predicción, 18 parámetro de predicción, 18a parámetro de predicción óptimo, 19 unidad de transformación/cuantificación, 20 parámetro de compresión, 20a parámetro de compresión óptimo, 21 datos comprimidos, 22 unidad de cuantificación inversa/transformación inversa, 23 unidad codificadora de longitud variable, 24 señal de diferencia de predicción decodificada local, 25 unidad de adición, 26 señal de imagen decodificada local, 27 unidad de filtro de bucle, 28 memoria para intra-predicción, 29 imagen decodificada local, 30 flujo de bits, 40 unidad de división de región de compensación de movimiento, 41 imagen de bloque de región de compensación de movimiento, 42 unidad de detección de movimiento, 43 unidad generadora de imagen interpolada, 44 vector de movimiento, 45 imagen de predicción, 50 unidad de división de tamaño de bloque de transformación, 51 bloque de objeto de transformación, 52 unidad de transformación, 53 coeficientes de transformación, 54 unidad de cuantificación, 60 flujo de bits, 61 unidad decodificadora de longitud variable, 62 modo de codificación óptimo, 63 parámetro de predicción óptimo, 64 datos comprimidos, 65 parámetro de compresión óptimo, 66 unidad de cuantificación inversa/transformación inversa, 67 señal de diferencia de predicción valor decodificado, 68 unidad de conmutación, 69 unidad de intra-predicción, 70 unidad de predicción compensada en movimiento, 71 imagen de predicción, 72 imagen de predicción, 73 unidad de adición, 74 y 74a imagen decodificada, 75 memoria de cuadro de predicción compensada en movimiento, 76 imagen de referencia, 77 memoria para intra-predicción, 78 unidad de filtro de bucle, 79 imagen reproducida, 90 unidad de inicialización, 91 bandera de inicialización de información de contexto, 92 unidad de binarización, 93 unidad generadora de información de frecuencia, 94 información de frecuencia, 95 unidad de actualización de tabla de binarización, 96 memoria de información de contexto, 97 memoria de tabla de probabilidades, 98 memoria de tabla de transición de estado, 99 unidad generadora de contexto, 100 señal indicadora de tipo, 101 bloques periféricos información, 102 información de identificación de contexto, 103 señal binaria, 104 unidad de operación de codificación aritmética, 105 memoria de tabla de binarización, 106 información de contexto, 107 número de tabla de probabilidades, 108 probabilidad de ocurrencia de MPS, 109 valor de símbolo, 110 número de tabla de probabilidades, 11 secuencia de bits codificada, 1 12 información de identificación de actualización de tabla de binarización, 1 13 bandera de actualización de tabla de binarización, 120 unidad de inicialización, 121 información de inicialización de contexto, 122 unidad generadora de contexto, 123 señal indicadora de tipo, 124 bloques periféricos información, 126 información de identificación de contexto, 127 unidad de operación de procesamiento de decodificación aritmética, 128 memoria de información de contexto, 129 información de contexto, 130 número de tabla de probabilidades, 131 memoria de tabla de probabilidades, 132 probabilidad de ocurrencia de MPS, 133 secuencia de bits codificada, 134 valor de símbolo, 135 memoria de tabla de transición de estado, 136 número de tabla de probabilidades, 137 señal binaria, 138 unidad de binarización inversa, 139 tabla de binarización, 140 valor decodificado, 141 unidad de actualización de tabla de binarización, 142 bandera de actualización de tabla de binarización, 143 memoria de tabla de binarización, 144 información de identificación de actualización de tabla de binarización, 200 unidad de procesamiento de reducción de imagen, 201 a y 201 b unidad de extracción de característica de alta frecuencia, 202 unidad de cálculo de correlación, 203 unidad de estimación de componente de alta frecuencia, 204 memoria de patrón de componente de alta frecuencia, 205 unidad de proceso de agrandamiento de imagen, 206 unidad de adición, 207 imagen de referencia que tiene exactitud de píxeles virtuales.

Claims (7)

NOVEDAD DE LA INVENCIÓN REIVINDICACIONES
1 .- Un dispositivo codificador de imagen en movimiento que comprende: una unidad de división de bloque para dividir una imagen introducida en imágenes de macrobloque de dos o más bloques cada uno teniendo un tamaño predeterminado y dividiendo cada una de las imágenes de macrobloque en una imagen de bloque de uno o más bloques de conformidad con un modo de codificación para emitir la imagen de bloque; una unidad de intra-predicción para, cuando dicha imagen de bloque es introducida a la misma, realizar una predicción intra-cuadro sobre dicha imagen de bloque usando una señal de imagen en un cuadro para generar una imagen de predicción; una unidad de predicción compensada en movimiento para, cuando dicha imagen de bloque es introducida a la misma, realizar una imagen de predicción compensada en movimiento sobre dicho bloque usando uno o más cuadros de imágenes de referencia para generar una imagen de predicción; una unidad de transformación/cuantificación para llevar a cabo un proceso de transformación y cuantificación sobre una señal de diferencia de predicción que se genera sustrayendo la imagen de predicción emitida de una cualquiera de dicha unidad de intra-predicción y dicha unidad de predicción compensada en movimiento de dicha imagen de bloque emitida de la unidad de división de bloque para generar datos comprimidos; una unidad codificadora de longitud variable para codificar por entropía los datos comprimidos para multiplexar los datos comprimidos codificados por entropía por la misma hacia un flujo de bits; y una unidad de control de codificación para seleccionar cierto tamaño de bloque de transformación desde un conjunto de tamaños de bloque de transformación predeterminado de conformidad con un tamaño de bloque de la imagen de bloque para notificar el tamaño de bloque de transformación seleccionado por la misma a la unidad de transformación/cuantificación, en donde la unidad de transformación/cuantificación divide la señal de diferencia de predicción en bloques cada uno teniendo el tamaño de bloque de transformación notificado a la misma desde la unidad de control de codificación, y realiza un proceso de transformación y cuantificacion sobre cada uno de los bloques para generar datos comprimidos.
2. - El dispositivo codificador de imagen en movimiento de conformidad con la reivindicación 1 , caracterizado además porque dicha unidad de control de codificación notifica cierto tamaño de bloque de transformación entre un conjunto de tamaños de bloque de transformación fijado para cada modo de codificación de dicha imagen de bloque a dicha unidad de transformación/cuantificación, y dicha unidad codificadora de longitud variable codifica por entropía información que indica dicho tamaño de bloque de transformación, y multiplexa dicha información hacia el flujo de bits.
3. - El dispositivo codificador de imagen en movimiento de conformidad con la reivindicación 2, caracterizado además porque dicho dispositivo de codificación de imagen en movimiento incluye una unidad de conmutación para introducir dicha imagen de bloque emitida de dicha unidad de división de bloque a una cualquiera de dicha unidad de intra-predicción y dicha unidad de predicción compensada en movimiento de acuerdo con un modo de codificación de dicha imagen de bloque, y una unidad de sustracción para sustraer la imagen de predicción emitida de una cualquiera de dicha unidad de intra-predicción y dicha unidad de predicción compensada en movimiento de dicha imagen de bloque emitida de dicha unidad de división de bloque para generar la señal de diferencia de predicción.
4.- El dispositivo codificador de imagen en movimiento de conformidad con la reivindicación 2, caracterizado además porque dicha unidad de control de codificación notifica a dicha unidad de transformación/cuantificación de cada uno de uno o más tamaños de bloque de transformación incluidos en el conjunto de tamaños de bloque de transformación, adquiere datos comprimidos asociados con cada uno de uno o más tamaños de bloque de transformación para evaluar un grado de eficiencia de codificación, y selecciona un tamaño de bloque de transformación del conjunto de tamaños de bloque de transformación sobre una base de resultados de la evaluación, dicha unidad de transformación/cuantificación divide la señal de diferencia de predicción en bloques para cada uno de los casos en los cuales los bloques tienen un tamaño igual a cada uno del uno o más tamaños de bloque de transformación, que se incluyen en el conjunto de tamaños de bloque de transformación notificado a la misma desde la unidad de control de codificación, y para un caso en el cual los bloques tienen el tamaño de bloque de transformación seleccionado de dicho conjunto, y realiza un proceso de transformación y cuantificación sobre cada uno de los bloques para generar datos comprimidos en cada uno de los casos, y la unidad codificadora de longitud variable codifica por entropía información que especifica el tamaño de bloque de transformación seleccionado de dicho conjunto y los datos comprimidos asociados con el tamaño de bloque de transformación seleccionado en unidades de un bloque de la imagen de bloque para multiplexar dicha información y dichos datos comprimidos codificados por entropía por las mismas hacia el flujo de bits.
5.- Un dispositivo decodificador de imagen en movimiento que comprende: una unidad decodificadora de longitud variable para recibir un flujo de bits introducido a la misma y codificado por compresión en unidades de cada uno de los macrobloques que tienen un tamaño predeterminado en el cual una imagen es dividida y después decodificar por entropía un modo de codificación en unidades de uno de los macrobloques desde el flujo de bits, y para decodificación por entropía de los parámetros de predicción, información que indica un tamaño de bloque de transformación, y datos comprimidos en unidades de uno de los macrobloques en los cuales la imagen es dividida de conformidad con el modo de codificación decodificado; una unidad de intra-predicción para, cuando los parámetros de predicción son introducidos a la misma, generar una imagen de predicción usando un modo de intra-predicción y una señal de imagen decodificada en un cuadro que son incluidos en los parámetros de predicción; una unidad de predicción compensada en movimiento para, cuando los parámetros de predicción son introducidos a la misma, realizar una predicción compensada en movimiento usando un vector de movimiento incluido en los parámetros de predicción y una imagen de referencia especificada por un índice de imagen de referencia incluido en los parámetros de predicción para generar una imagen de predicción; una unidad de cuantificación inversa/transformación inversa para llevar a cabo un proceso de cuantificación inversa y transformación inversa sobre los datos comprimidos al usar dicha información que indica el tamaño de bloque de transformación para generar una señal de diferencia de predicción decodificada; y una unidad de adición para añadir la imagen de predicción emitida desde cualquiera de una de la unidad de intra-predicción y la unidad de predicción compensada en movimiento a la señal de diferencia de predicción decodificada para emitir una señal de imagen decodificada, en donde dicha unidad de cuantificación inversa/transformación inversa determina un tamaño de bloque de transformación sobre una base de dicha información decodificada que indica el tamaño de bloque de transformación y lleva a cabo un proceso de cuantificación inversa y transformación inversa sobre dichos datos comprimidos en unidades de un bloque que tiene dicho tamaño de bloque de transformación.
6.- El dispositivo codificador de imagen en movimiento de conformidad con la reivindicación 5, caracterizado además porque dicha información que indica el tamaño de bloque de transformación es información de identificación para identificar el tamaño de bloque de transformación entre un conjunto de tamaños de bloque de transformación fijados para cada modo de codificación de dicha imagen de bloque.
7 - El dispositivo codificador de imagen en movimiento de conformidad con la reivindicación 6, caracterizado además porque dicho dispositivo decoficador de imagen en movimiento incluye una unidad de conmutación para introducir los parámetros de predicción decodificados por dicha unidad decodificadora de longitud variable a una cualquiera de dicha unidad de intra-predicción y dicha unidad de predicción compensada en movimiento de acuerdo con dicho modo codificador decoficado.
MX2012011695A 2010-04-09 2011-03-31 Dispositivo codificador de imagen en movimiento y dispositivo decodificador de imagen en movimento. MX2012011695A (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2010090534 2010-04-09
PCT/JP2011/001953 WO2011125313A1 (ja) 2010-04-09 2011-03-31 動画像符号化装置および動画像復号装置

Publications (1)

Publication Number Publication Date
MX2012011695A true MX2012011695A (es) 2012-11-16

Family

ID=44762284

Family Applications (3)

Application Number Title Priority Date Filing Date
MX2015010849A MX353109B (es) 2010-04-09 2011-03-31 Dispositivo codificador de imagen en movimiento y dispositivo decodificador de imagen en movimiento.
MX2012011695A MX2012011695A (es) 2010-04-09 2011-03-31 Dispositivo codificador de imagen en movimiento y dispositivo decodificador de imagen en movimento.
MX2015010847A MX353107B (es) 2010-04-09 2011-03-31 Dispositivo codificador de imagen en movimiento y dispositivo decodificador de imagen en movimiento.

Family Applications Before (1)

Application Number Title Priority Date Filing Date
MX2015010849A MX353109B (es) 2010-04-09 2011-03-31 Dispositivo codificador de imagen en movimiento y dispositivo decodificador de imagen en movimiento.

Family Applications After (1)

Application Number Title Priority Date Filing Date
MX2015010847A MX353107B (es) 2010-04-09 2011-03-31 Dispositivo codificador de imagen en movimiento y dispositivo decodificador de imagen en movimiento.

Country Status (15)

Country Link
US (6) US20130028326A1 (es)
EP (2) EP2557792A4 (es)
JP (8) JPWO2011125313A1 (es)
KR (6) KR101540899B1 (es)
CN (4) CN107046644B (es)
BR (1) BR112012025206B1 (es)
CA (1) CA2795425C (es)
ES (1) ES2899780T3 (es)
HK (1) HK1257212A1 (es)
MX (3) MX353109B (es)
PL (1) PL3101897T3 (es)
RU (7) RU2573222C2 (es)
SG (3) SG10201502226SA (es)
TW (4) TWI520617B (es)
WO (1) WO2011125313A1 (es)

Families Citing this family (78)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5478740B2 (ja) * 2011-01-12 2014-04-23 三菱電機株式会社 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法
JP2013012995A (ja) * 2011-06-30 2013-01-17 Sony Corp 画像処理装置および方法
US8571092B2 (en) * 2011-10-14 2013-10-29 Texas Instruments Incorporated Interconnect coding method and apparatus
WO2013056129A1 (en) 2011-10-14 2013-04-18 Advanced Micro Devices, Inc. Region-based image compression
JP6034010B2 (ja) * 2011-10-24 2016-11-30 ソニー株式会社 符号化装置、符号化方法、およびプログラム
CN104025591A (zh) * 2011-10-31 2014-09-03 三菱电机株式会社 运动图像编码装置、运动图像解码装置、运动图像编码方法以及运动图像解码方法
CN103096053B (zh) 2011-11-04 2015-10-07 华为技术有限公司 一种变换模式的编解码方法和装置
CN103108177B (zh) * 2011-11-09 2016-11-23 华为技术有限公司 图像编码方法及图像编码装置
EP3771209A1 (en) * 2011-12-28 2021-01-27 JVC KENWOOD Corporation Moving picture coding device, moving picture coding method, moving picture decoding device and moving picture decoding method
KR101647242B1 (ko) * 2012-01-19 2016-08-09 미쓰비시덴키 가부시키가이샤 화상 복호 장치, 화상 부호화 장치, 화상 복호 방법, 화상 부호화 방법 및 기억 매체
US11039138B1 (en) * 2012-03-08 2021-06-15 Google Llc Adaptive coding of prediction modes using probability distributions
SG10201803573PA (en) * 2012-04-15 2018-06-28 Samsung Electronics Co Ltd Parameter update method for entropy coding and decoding of conversion coefficient level, and entropy coding device and entropy decoding device of conversion coefficient level using same
JP6080277B2 (ja) * 2012-04-24 2017-02-15 リリカル ラブズ ビデオ コンプレッション テクノロジー、エルエルシー ビデオ圧縮のためのオブジェクト分析を用いたマクロブロックの区画化及び動き予測、ビデオを符号化する方法、ビデオ符号化コンピューティングシステム及びプログラム
KR101436369B1 (ko) * 2013-06-25 2014-09-11 중앙대학교 산학협력단 적응적 블록 분할을 이용한 다중 객체 검출 장치 및 방법
CN105379284B (zh) * 2013-07-22 2020-02-21 瑞萨电子株式会社 动态图像编码装置及其动作方法
JP5719410B2 (ja) * 2013-07-25 2015-05-20 日本電信電話株式会社 画像符号化方法、画像符号化装置及び画像符号化プログラム
WO2015033510A1 (ja) * 2013-09-09 2015-03-12 日本電気株式会社 映像符号化装置、映像符号化方法及びプログラム
US9534469B2 (en) 2013-09-27 2017-01-03 Baker Hughes Incorporated Stacked tray ball dropper for subterranean fracking operations
WO2015115644A1 (ja) * 2014-02-03 2015-08-06 三菱電機株式会社 画像符号化装置、画像復号装置、符号化ストリーム変換装置、画像符号化方法、及び画像復号方法
KR102264840B1 (ko) * 2014-11-27 2021-06-15 삼성전자주식회사 비디오 프레임 인코딩 회로, 그것의 인코딩 방법 및 그것을 포함하는 비디오 데이터 송수신 장치
FR3029333A1 (fr) * 2014-11-27 2016-06-03 Orange Procede de codage et decodage d'images, dispositif de codage et decodage et programmes d'ordinateur correspondants
CN106331722B (zh) 2015-07-03 2019-04-26 华为技术有限公司 图像预测方法和相关设备
US10123045B2 (en) 2015-07-24 2018-11-06 Qualcomm Incorporated Modification to block size for transform mode in display stream compression
US10142635B2 (en) * 2015-12-18 2018-11-27 Blackberry Limited Adaptive binarizer selection for image and video coding
US20170180757A1 (en) * 2015-12-18 2017-06-22 Blackberry Limited Binarizer selection for image and video coding
KR102411911B1 (ko) * 2015-12-24 2022-06-22 삼성전자주식회사 프레임 레이트 변환 장치 및 그 프레임 레이트 변환 방법
US10560702B2 (en) 2016-01-22 2020-02-11 Intel Corporation Transform unit size determination for video coding
EP3397003B1 (en) * 2016-01-25 2020-07-01 Kyocera Corporation Communication method, wireless terminal and base station
KR20180040319A (ko) * 2016-10-12 2018-04-20 가온미디어 주식회사 영상 처리 방법, 그를 이용한 영상 복호화 및 부호화 방법
WO2018047952A1 (ja) * 2016-09-12 2018-03-15 日本電気株式会社 イントラ予測モード決定方法、イントラ予測モード決定装置およびイントラ予測モード決定プログラムを記憶する記憶媒体
KR102322437B1 (ko) 2016-09-30 2021-11-05 후아웨이 테크놀러지 컴퍼니 리미티드 인터 프레임 예측을 위한 이미지 코딩 및 디코딩을 위한 방법 및 디바이스
KR20190086453A (ko) * 2016-11-21 2019-07-22 파나소닉 인텔렉츄얼 프로퍼티 코포레이션 오브 아메리카 부호화 장치, 복호 장치, 부호화 방법 및 복호 방법
US9959586B1 (en) * 2016-12-13 2018-05-01 GoAnimate, Inc. System, method, and computer program for encoding and decoding a unique signature in a video file as a set of watermarks
WO2018174402A1 (ko) * 2017-03-21 2018-09-27 엘지전자 주식회사 영상 코딩 시스템에서 변환 방법 및 그 장치
CN116708780A (zh) 2017-08-11 2023-09-05 华为技术有限公司 视频图像编码和解码的方法、装置及设备
JP6981540B2 (ja) * 2017-12-06 2021-12-15 富士通株式会社 モード情報のコーディングとデコーディング方法、装置及び電子機器
CN110035287B (zh) * 2018-01-12 2023-05-09 富士通株式会社 对统一转换单元模式进行分组标识的方法、装置和电子设备
US11238046B2 (en) * 2018-02-19 2022-02-01 Nippon Telegraph And Telephone Corporation Information management device, information management method, and information management program
JP7273845B2 (ja) * 2018-04-02 2023-05-15 エルジー エレクトロニクス インコーポレイティド 動きベクトルに基づく映像コーディング方法およびその装置
US10986354B2 (en) * 2018-04-16 2021-04-20 Panasonic Intellectual Property Corporation Of America Encoder, decoder, encoding method, and decoding method
US11170481B2 (en) * 2018-08-14 2021-11-09 Etron Technology, Inc. Digital filter for filtering signals
US11425378B2 (en) 2019-01-31 2022-08-23 Hfi Innovation Inc. Method and apparatus of transform type assignment for intra sub-partition in video coding
US10939107B2 (en) 2019-03-01 2021-03-02 Sony Corporation Embedded codec circuitry for sub-block based allocation of refinement bits
EP3915265A4 (en) 2019-03-01 2022-06-22 Beijing Bytedance Network Technology Co., Ltd. DIRECTION-BASED PREDICTION FOR INTRA BLOCK COPY IN VIDEO CODING
JP2022068378A (ja) * 2019-03-08 2022-05-10 ソニーグループ株式会社 画像符号化装置、画像符号化方法、画像復号装置、および画像復号方法
JP7277599B2 (ja) 2019-03-08 2023-05-19 北京字節跳動網絡技術有限公司 映像処理におけるモデルベース再整形に対する制約
WO2020207493A1 (en) 2019-04-12 2020-10-15 Beijing Bytedance Network Technology Co., Ltd. Transform coding based on matrix-based intra prediction
KR102647470B1 (ko) 2019-04-15 2024-03-14 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 비선형 적응형 루프 필터링에서 파라미터의 시간적 예측
WO2020211809A1 (en) 2019-04-16 2020-10-22 Beijing Bytedance Network Technology Co., Ltd. On adaptive loop filtering for video coding
EP3935855A4 (en) 2019-04-23 2022-09-21 Beijing Bytedance Network Technology Co., Ltd. METHOD OF CROSS-COMPONENT DEPENDENCE REDUCTION
EP3954115A4 (en) 2019-05-22 2023-04-19 Beijing Bytedance Network Technology Co., Ltd. MATRIX-BASED INTRAPREDICTION USING UPSAMPLING
EP3954125A4 (en) 2019-05-31 2022-06-22 ByteDance Inc. INTRA-BLOCK COPY PREDICTION PALETTE MODE
WO2020239017A1 (en) 2019-05-31 2020-12-03 Beijing Bytedance Network Technology Co., Ltd. One-step downsampling process in matrix-based intra prediction
KR20220016833A (ko) 2019-06-05 2022-02-10 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 행렬 기반의 인트라 예측을 위한 컨텍스트 결정
CN117478908A (zh) 2019-06-22 2024-01-30 北京字节跳动网络技术有限公司 色度残差缩放的语法元素
EP3973705A4 (en) 2019-06-25 2022-09-28 Beijing Bytedance Network Technology Co., Ltd. MOTION VECTOR DIFFERENCE RESTRICTIONS
CN114128280B (zh) 2019-07-07 2023-11-14 北京字节跳动网络技术有限公司 色度残差缩放的信令通知
CA3146391A1 (en) 2019-07-10 2021-01-14 Beijing Bytedance Network Technology Co., Ltd. Sample identification for intra block copy in video coding
JP7318099B2 (ja) 2019-07-14 2023-07-31 北京字節跳動網絡技術有限公司 ビデオコーディングにおける変換ブロック・サイズ制約
JP2022544260A (ja) 2019-08-13 2022-10-17 北京字節跳動網絡技術有限公司 サブブロックに基づくインター予測における動き精度
KR102650079B1 (ko) 2019-09-02 2024-03-22 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 색상 포맷에 기초한 코딩 모드 결정
MX2022002617A (es) 2019-09-12 2022-03-25 Bytedance Inc Uso de predictor de paleta en codificacion de video.
CN114450959A (zh) 2019-09-28 2022-05-06 北京字节跳动网络技术有限公司 视频编解码中的几何分割模式
JP2021061501A (ja) * 2019-10-04 2021-04-15 シャープ株式会社 動画像変換装置及び方法
KR20220078600A (ko) 2019-10-18 2022-06-10 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 서브픽처들의 파라미터 세트 시그널링에서의 신택스 제약들
JP7395727B2 (ja) 2019-10-23 2023-12-11 北京字節跳動網絡技術有限公司 ビデオ・データを処理する方法、装置及び記憶方法
CN117579823A (zh) 2019-10-28 2024-02-20 北京字节跳动网络技术有限公司 基于颜色分量的语法信令通知和解析
KR20220106116A (ko) 2019-12-09 2022-07-28 바이트댄스 아이엔씨 비디오 코딩에서 양자화 그룹 사용
CN117376567A (zh) 2020-02-05 2024-01-09 抖音视界有限公司 局部双树的调色板模式
KR20220138051A (ko) 2020-02-14 2022-10-12 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 비디오 비트스트림내에서 일반적인 제약 플래그 (general constraint flags )의 사용
EP4104434A4 (en) 2020-03-17 2023-08-23 ByteDance Inc. INDICATING AN IMAGE OUTPUT FLAG IN VIDEO ENCODING
CN115362674A (zh) 2020-03-18 2022-11-18 抖音视界有限公司 帧内块复制缓冲区和调色板预测值更新
EP4104443A4 (en) 2020-03-19 2023-10-11 ByteDance Inc. LIMITATIONS ON REFERENCE IMAGE LIST ENTRY
CN115299044A (zh) 2020-03-20 2022-11-04 字节跳动有限公司 子图片之间的顺序关系
EP4107957A4 (en) 2020-03-21 2023-08-23 Beijing Bytedance Network Technology Co., Ltd. RESAMPLING REFERENCE IMAGE
CN111968151B (zh) * 2020-07-03 2022-04-05 北京博雅慧视智能技术研究院有限公司 一种运动估计精细搜索方法及装置
US20220103847A1 (en) 2020-09-29 2022-03-31 Lemon Inc. Dependent random access point indication in video bitstreams
US11750778B2 (en) 2021-09-30 2023-09-05 Coretronic Corporation Method for adjusting pixel values of blending image and projection system thereof

Family Cites Families (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5107345A (en) 1990-02-27 1992-04-21 Qualcomm Incorporated Adaptive block size image compression method and system
FR2756399B1 (fr) * 1996-11-28 1999-06-25 Thomson Multimedia Sa Procede et dispositif de compression video pour images de synthese
US6600836B1 (en) 2000-01-28 2003-07-29 Qualcomm, Incorporated Quality based image compression
DE10022331A1 (de) * 2000-05-10 2001-11-15 Bosch Gmbh Robert Verfahren zur Transformationscodierung von Bewegtbildsequenzen
WO2003026350A2 (en) 2001-09-14 2003-03-27 The Regents Of The University Of Michigan Audio distributor
EP1445956A4 (en) * 2001-11-16 2009-09-02 Ntt Docomo Inc IMAGE ENCODING METHOD, IMAGE DECODING METHOD, ENCODER AND IMAGE DECODER, PROGRAM, COMPUTER DATA SIGNAL, AND IMAGE TRANSMISSION SYSTEM
JP2003189313A (ja) * 2001-12-20 2003-07-04 Matsushita Electric Ind Co Ltd 画面間予測符号化方法および画面間予測復号化方法
CN1225904C (zh) * 2002-04-12 2005-11-02 精工爱普生株式会社 在压缩域视频处理中降低存储器要求和实施有效的逆运动补偿的方法和设备
JP4090862B2 (ja) * 2002-04-26 2008-05-28 松下電器産業株式会社 可変長符号化方法および可変長復号化方法
JP2003318740A (ja) * 2002-04-23 2003-11-07 Matsushita Electric Ind Co Ltd 可変長符号化方法および可変長復号化方法
JP2003319400A (ja) * 2002-04-26 2003-11-07 Sony Corp 符号化装置、復号装置、画像処理装置、それらの方法およびプログラム
JP2003324731A (ja) * 2002-04-26 2003-11-14 Sony Corp 符号化装置、復号装置、画像処理装置、それらの方法およびプログラム
US6975773B1 (en) * 2002-07-30 2005-12-13 Qualcomm, Incorporated Parameter selection in data compression and decompression
US7336720B2 (en) * 2002-09-27 2008-02-26 Vanguard Software Solutions, Inc. Real-time video coding/decoding
JP3679083B2 (ja) * 2002-10-08 2005-08-03 株式会社エヌ・ティ・ティ・ドコモ 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置、画像符号化プログラム、画像復号プログラム
JP4238553B2 (ja) 2002-10-08 2009-03-18 日本電気株式会社 携帯電話装置および表示装置の画像表示方法
JP2004135252A (ja) * 2002-10-09 2004-04-30 Sony Corp 符号化処理方法、符号化装置及び復号化装置
KR100787655B1 (ko) * 2003-12-22 2007-12-21 닛본 덴끼 가부시끼가이샤 동화상을 부호화하는 방법 및 장치
US20050249278A1 (en) * 2004-04-28 2005-11-10 Matsushita Electric Industrial Co., Ltd. Moving image coding method, moving image decoding method, moving image coding device, moving image decoding device, moving image coding program and program product of the same
US7894530B2 (en) * 2004-05-07 2011-02-22 Broadcom Corporation Method and system for dynamic selection of transform size in a video decoder based on signal content
CN100401780C (zh) * 2004-05-07 2008-07-09 美国博通公司 在视频解码器中动态选择变换尺寸的方法和系统
JP4421940B2 (ja) * 2004-05-13 2010-02-24 株式会社エヌ・ティ・ティ・ドコモ 動画像符号化装置および方法、並びに動画像復号化装置および方法
KR100813958B1 (ko) * 2004-06-07 2008-03-14 세종대학교산학협력단 동영상의 무손실 인코딩 및 디코딩 방법, 그 장치
WO2006028088A1 (ja) * 2004-09-08 2006-03-16 Matsushita Electric Industrial Co., Ltd. 動画像符号化方法および動画像復号化方法
CN102176754B (zh) * 2005-07-22 2013-02-06 三菱电机株式会社 图像编码装置和方法、以及图像解码装置和方法
EP3220647B1 (en) 2005-09-26 2020-07-01 Mitsubishi Electric Corporation Moving image coding apparatus and moving image coding method
JP2007243427A (ja) * 2006-03-07 2007-09-20 Nippon Hoso Kyokai <Nhk> 符号化装置及び復号化装置
US20070286277A1 (en) * 2006-06-13 2007-12-13 Chen Xuemin Sherman Method and system for video compression using an iterative encoding algorithm
JP2008022383A (ja) * 2006-07-13 2008-01-31 Matsushita Electric Ind Co Ltd 画像符号化装置
CA2659351A1 (en) * 2006-07-28 2008-01-31 Kabushiki Kaisha Toshiba Method and apparatus for encoding and decoding image
US8565314B2 (en) * 2006-10-12 2013-10-22 Qualcomm Incorporated Variable length coding table selection based on block type statistics for refinement coefficient coding
US20080170624A1 (en) * 2007-01-12 2008-07-17 Mitsubishi Electric Corporation Image encoding device and image encoding method
JP4635016B2 (ja) * 2007-02-16 2011-02-16 株式会社東芝 情報処理装置およびインター予測モード判定方法
JP2010135864A (ja) * 2007-03-29 2010-06-17 Toshiba Corp 画像符号化方法及び装置並びに画像復号化方法及び装置
JP4364919B2 (ja) * 2007-04-20 2009-11-18 三菱電機株式会社 動画像復号化装置
US8139875B2 (en) * 2007-06-28 2012-03-20 Mitsubishi Electric Corporation Image encoding device, image decoding device, image encoding method and image decoding method
JP4325708B2 (ja) * 2007-07-05 2009-09-02 ソニー株式会社 データ処理装置、データ処理方法およびデータ処理プログラム、符号化装置、符号化方法および符号化プログラム、ならびに、復号装置、復号方法および復号プログラム
JP4821723B2 (ja) * 2007-07-13 2011-11-24 富士通株式会社 動画像符号化装置及びプログラム
JP4922101B2 (ja) * 2007-08-21 2012-04-25 株式会社東芝 情報処理装置およびインター予測モード判定方法
JP2009055236A (ja) * 2007-08-24 2009-03-12 Canon Inc 映像符号化装置及び方法
US20090274213A1 (en) 2008-04-30 2009-11-05 Omnivision Technologies, Inc. Apparatus and method for computationally efficient intra prediction in a video coder
US8908763B2 (en) 2008-06-25 2014-12-09 Qualcomm Incorporated Fragmented reference in temporal compression for video coding
KR101549823B1 (ko) * 2008-09-02 2015-09-04 삼성전자주식회사 적응적 이진화를 이용한 영상 부호화, 복호화 방법 및 장치
JP4937224B2 (ja) * 2008-09-30 2012-05-23 株式会社東芝 画像符号化装置
US8619856B2 (en) 2008-10-03 2013-12-31 Qualcomm Incorporated Video coding with large macroblocks
CA2742390C (en) * 2008-10-03 2015-05-12 Qualcomm Incorporated Video coding using transforms bigger than 4x4 and 8x8
WO2010041857A2 (en) * 2008-10-06 2010-04-15 Lg Electronics Inc. A method and an apparatus for decoding a video signal
CN102308580B (zh) 2009-02-05 2016-05-04 汤姆森特许公司 用于自适应模式视频编码和解码的方法和装置
AU2009339348B2 (en) 2009-02-09 2015-05-28 Robert Bosch Gmbh Method for using a computer network
US20120040366A1 (en) 2009-02-10 2012-02-16 Tissue Genetics, Inc. Compositions, methods and uses for disease diagnosis
CN104717505B (zh) * 2009-04-08 2019-01-11 夏普株式会社 运动图像编码装置以及运动图像解码装置

Also Published As

Publication number Publication date
US20170171543A1 (en) 2017-06-15
RU2012147595A (ru) 2014-06-10
KR101817481B1 (ko) 2018-02-21
RU2699049C1 (ru) 2019-09-03
TW201739254A (zh) 2017-11-01
JP2020017970A (ja) 2020-01-30
KR101540899B1 (ko) 2015-07-30
JPWO2011125313A1 (ja) 2013-07-08
EP3101897B1 (en) 2021-10-20
US9973753B2 (en) 2018-05-15
EP3101897A1 (en) 2016-12-07
JP2020017971A (ja) 2020-01-30
US20130028326A1 (en) 2013-01-31
US10412385B2 (en) 2019-09-10
KR20170013397A (ko) 2017-02-06
CN106998473B (zh) 2020-03-24
KR20140049092A (ko) 2014-04-24
PL3101897T3 (pl) 2022-02-21
TW201143458A (en) 2011-12-01
TWI765223B (zh) 2022-05-21
BR112012025206A2 (pt) 2017-06-27
US10390011B2 (en) 2019-08-20
TWI520617B (zh) 2016-02-01
US20180255297A1 (en) 2018-09-06
MX353107B (es) 2017-12-19
US20190306497A1 (en) 2019-10-03
JP2020017972A (ja) 2020-01-30
TWI688267B (zh) 2020-03-11
RU2015151397A (ru) 2017-06-06
RU2014116111A (ru) 2015-10-27
CA2795425C (en) 2018-01-09
US20190306496A1 (en) 2019-10-03
KR20140010192A (ko) 2014-01-23
CN108462874B (zh) 2022-06-07
KR101500914B1 (ko) 2015-03-10
BR112012025206B1 (pt) 2022-04-12
EP2557792A1 (en) 2013-02-13
RU2523071C1 (ru) 2014-07-20
JP2016129405A (ja) 2016-07-14
EP2557792A4 (en) 2014-08-13
US20180139442A9 (en) 2018-05-17
HK1257212A1 (zh) 2019-10-18
JP7126308B2 (ja) 2022-08-26
JP2018137773A (ja) 2018-08-30
US10554970B2 (en) 2020-02-04
CN106998473A (zh) 2017-08-01
CN108462874A (zh) 2018-08-28
MX353109B (es) 2017-12-19
RU2573222C2 (ru) 2016-01-20
KR101389163B1 (ko) 2014-04-28
KR20130028092A (ko) 2013-03-18
KR20140110074A (ko) 2014-09-16
US20180278931A1 (en) 2018-09-27
JP7126309B2 (ja) 2022-08-26
SG10202001623RA (en) 2020-04-29
RU2663374C1 (ru) 2018-08-03
TWI601415B (zh) 2017-10-01
SG10201502226SA (en) 2015-05-28
RU2716032C1 (ru) 2020-03-05
JP7129958B2 (ja) 2022-09-02
US10469839B2 (en) 2019-11-05
SG184528A1 (en) 2012-11-29
TW202025764A (zh) 2020-07-01
RU2734871C1 (ru) 2020-10-23
RU2627101C2 (ru) 2017-08-03
TW201613355A (en) 2016-04-01
WO2011125313A1 (ja) 2011-10-13
JP2020017973A (ja) 2020-01-30
KR20150013776A (ko) 2015-02-05
ES2899780T3 (es) 2022-03-14
JP6605063B2 (ja) 2019-11-13
CN107046644A (zh) 2017-08-15
CN107046644B (zh) 2020-03-24
JP7126310B2 (ja) 2022-08-26
CN102934438A (zh) 2013-02-13
JP2015029348A (ja) 2015-02-12
CA2795425A1 (en) 2011-10-13

Similar Documents

Publication Publication Date Title
US10554970B2 (en) Moving image encoding device and moving image decoding device based on adaptive switching among transformation block sizes
JP2013131786A (ja) 動画像符号化装置および動画像復号装置
JP2011223319A (ja) 動画像符号化装置および動画像復号装置

Legal Events

Date Code Title Description
FG Grant or registration