MX2013009864A - Metodo de codificacion de imagenes en movimiento, metodo de decodificacion de imagenes en movimiento, aparato de codificacion de imagenes en movimiento, aparato de decodificacion de imagenes en movimiento y aparato de codificacion y decodificacion de imagenes en movimiento. - Google Patents

Metodo de codificacion de imagenes en movimiento, metodo de decodificacion de imagenes en movimiento, aparato de codificacion de imagenes en movimiento, aparato de decodificacion de imagenes en movimiento y aparato de codificacion y decodificacion de imagenes en movimiento.

Info

Publication number
MX2013009864A
MX2013009864A MX2013009864A MX2013009864A MX2013009864A MX 2013009864 A MX2013009864 A MX 2013009864A MX 2013009864 A MX2013009864 A MX 2013009864A MX 2013009864 A MX2013009864 A MX 2013009864A MX 2013009864 A MX2013009864 A MX 2013009864A
Authority
MX
Mexico
Prior art keywords
predictive
vector
list
movement
vectors
Prior art date
Application number
MX2013009864A
Other languages
English (en)
Inventor
Toshiyasu Sugio
Takahiro Nishi
Youji Shibahara
Hisao Sasai
Original Assignee
Panasonic Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Corp filed Critical Panasonic Corp
Publication of MX2013009864A publication Critical patent/MX2013009864A/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/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/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/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction

Abstract

La presente invención se refiere a un método de codificación de imágenes en movimiento que incluye: codificar, utilizando un vector de movimiento, un bloque actual que es codificado; generar una pluralidad de vectores de movimiento predictivos (S11, S12); y codificar el vector de movimiento utilizando uno de los vectores de movimiento predictivos (S13) y cuando un bloque co-localizado que es incluido en una imagen codificada y co-localizado con el bloque actual tiene dos vectores de movimiento de referencia y las direcciones de referencia de los dos vectores de movimiento de referencia son las mismas (S11), un primer vector de predicción se genera utilizando un primer vector de movimiento de referencia y un segundo vector de predicción se genera utilizando un segundo vector de movimiento de referencia en la generación de una pluralidad de vectores de movimiento predictivos (S12).

Description

METODO DE CODIFICACION DE IMAGENES EN MOVIMIENTO, METODO DE DECODIFICACION DE IMAGENES EN MOVIMIENTO, APARATO DE CODIFICACION DE IMAGENES EN MOVIMIENTO, APARATO DE DECODIFICACION DE IMAGENES EN MOVIMIENTO Y APARATO DE CODIFICACION Y DECODIFICACION DE IMAGENES EN MOVIMIENTO Campo de la Invención La presente invención se refiere a métodos de codificación de imágenes en movimiento y a métodos de decodificación de imágenes en movimiento.
Antecedentes de la Invención En los procesos de codificación de imágenes en movimiento, la cantidad de información se reduce generalmente utilizando la redundancia de las imágenes en movimiento en las direcciones espacial y temporal. En este documento, un método que utiliza la redundancia en la dirección espacial es representado generalmente por la transformación en el dominio de frecuencia. Un método que utiliza la redundancia en la dirección temporal es representado por un proceso de codificación de predicción inter-imagen (referido en lo sucesivo como inter-predicción) .
En el proceso de codificación de inter-predicción, cuando se codifica una cierta imagen, una imagen codificada localizada, en el orden del tiempo de exhibición, antes o después de la imagen actual que es codificada se utiliza como Ref. 243120 una imagen de referencia. Subsecuentemente, un vector de movimiento se deriva a través de la estimación del movimiento de la imagen actual con respecto a la imagen de referencia y se calcula una diferencia entre los datos de imagen de la imagen actual y los datos de imagen de predicción resultantes de la compensación de movimiento con base en el vector de movimiento, para retirar la redundancia en la dirección temporal. En este documento, en la estimación de movimiento, se calculan los valores de la diferencia entre bloques dentro de la imagen de referencia y un bloque actual que es codificado el cual se incluye en la imagen actual, y uno de los bloques dentro de la imagen de referencia el cual tiene el valor más pequeño de la diferencia se define como un bloque de referencia. Utilizando el bloque actual y el bloque de referencia, entonces se estima o calcula un vector de movimiento .
En el esquema de codificación de imágenes en movimiento llamado H. 264, el cual ya ha sido estandarizado, tres tipos de imágenes: imagen-I, imagen-P e imagen-B, se utilizan para reducir la cantidad de información. La imagen-I es una imagen en la cual no se realiza un proceso de codificación de inter-predicción, es decir, en la cual solo se realiza un proceso de codificación de predicción intra-imagen (referida en lo sucesivo como intra-predicción) . La imagen-P es una imagen en la cual se realiza un proceso de codificación de inter-predicción con referencia a únicamente una imagen codificada que está localizada antes o después de la imagen actual en el orden del tiempo de exhibición. La imagen-B es una imagen en la cual se realiza el proceso de codificación de inter-predicción con referencia a dos imágenes codificadas que están localizadas antes o después de la imagen actual en el orden del tiempo de exhibición.
En la codificación de inter-predicción, se genera una lista de imágenes de referencia para especificar la imagen de referencia. La lista de imágenes de referencia es una lista en la cual un índice de imagen de referencia se asigna a cada imagen de referencia codificada la cual es referida en la inter-predicción. Por ejemplo, una imagen-B mantiene dos listas de imágenes de referencia debido a que se puede codificar con referencia a dos imágenes. Por el índice de imagen de referencia, una imagen de referencia entonces se especifica a partir de las listas de imágenes de referencia.
La FIGURA 13 muestra un ejemplo de las listas de imágenes de referencia en una imagen-B. Una lista de imágenes de referencia 0 (referida en lo sucesivo como una lista de referencia LO) en la FIGURA 13 es un ejemplo de la lista de imágenes de referencia en una dirección de predicción 0 en la predicción bi-direccional . En el ejemplo de la FIGURA 13, una imagen de referencia 1 en el orden de exhibición 2 se asigna a un valor 0 de un índice de imagen de referencia 0, una imagen de referencia 2 en el orden de exhibición 1 se asigna a un valor 1 del índice de imagen de referencia 0 y una imagen de referencia 3 en el orden de exhibición 0 se asigna a un valor 2 del índice de imagen de referencia 0. En otras palabras, los índices de imágenes de referencia se asignan en orden desde la imagen temporalmente más cercana a la imagen actual en el orden de exhibición.
Mientras tanto, una lista de imágenes de referencia 1 (referida en lo sucesivo como una lista de referencia Ll) es un ejemplo de la lista de imágenes de referencia en una dirección de predicción 1 en una predicción bi-direccional . En el ejemplo de la FIGURA 13, una imagen de referencia 2 en el orden de exhibición 1 se asigna a un valor 0 de un índice de imagen de referencia 1, una imagen de referencia 1 en el orden de exhibición 2 se asigna a un valor 1 del índice de imagen de referencia 1 y una imagen de referencia 3 en el orden de exhibición 0 se asigna a un valor 2 del índice de imagen de referencia 1.
Como se indica anteriormente, es posible que los índices de imágenes de referencia asignados a cada imagen de referencia sean diferentes en cada dirección de predicción (imágenes de referencia 1 y 2 en la FIGURA 13) y que los índices de imágenes de referencia asignados a cada imagen de referencia sean los mismos en las direcciones de . predicción respectivas (una imagen de referencia 3 en la FIGURA 13) . En la codificación de una imagen-B, la inter-predicción se realizará utilizando un vector de movimiento (mvLO) el cual se refiere a la imagen de referencia especificada por el índice de imagen de referencia 0 en la lista de referencia LO y un vector de movimiento (mvLl) el cual se refiere a la imagen de referencia especificada por el índice de imagen de referencia 1 en la lista de referencia Ll . En la codificación de una imagen-P, solo se utilizará una lista de referencia..
Adicionalmente, en el esquema de codificación de imágenes en movimiento llamado H. 264, un modo de codificación llamado modo directo temporal se puede seleccionar al momento de deducir un vector de movimiento en la codificación de una imagen-B. El método de codificación de inter-predicción en la dirección temporal se describe con referencia a la FIGURA 14. La FIGURA 14 ilustra los vectores de movimiento en dirección temporal y muestra el caso donde un bloque "a" en una imagen B2 se codifica en la dirección temporal .
Este caso utiliza un vector de movimiento "a" de un bloque "b" que está co-localizado con el bloque "a" y está incluido en una imagen P3 la cual es una imagen de referencia localizada después de la imagen B2. El vector de movimiento "a" es un vector de movimiento utilizado en la codificación del bloque "b" y se refiere a una imagen Pl. Utilizando un vector de movimiento paralelo al vector de movimiento "a", entonces se obtiene un bloque de referencia de cada una de la imagen Pl la cual es una imagen de referencia hacia adelante y la imagen P3 la cual es una imagen de referencia hacia atrás, y el bloque "a" se codifica con base en la predicción bi-direccional . Específicamente, los vectores de movimiento utilizados en la codificación del bloque "a" son un vector de movimiento "b" con respecto a la imagen Pl y un vector de movimiento "c" con respecto a la imagen P3.
Lista de Referencias Literatura no de Patente NPL1 ITU-T H. 264 03/2010 Breve Descripción de la Invención Problema Técnico Sin embargo, en el caso de la dirección temporal convencional, el vector de movimiento que se utiliza en la dirección temporal se limita a un vector de movimiento el cual es de una imagen de referencia localizada, en el orden del tiempo de exhibición, después de una imagen actual que se codifica y se dirige hacia adelante en el orden del tiempo de exhibición .
Esta limitación del vector de movimiento que se utiliza en la dirección temporal causa problemas lo que hace difícil deducir el vector de movimiento más adecuado para el bloque actual, lo cual conduce a una velocidad de compresión disminuida .
La presente invención tiene como objetivo resolver los problemas anteriores e intenta deducir el vector de movimiento más adecuado para la imagen actual y mejorar la velocidad de compresión al seleccionar de manera adaptativa un vector de movimiento que se utiliza en la dirección temporal .
Solución al Problema Un método de codificación de imágenes en movimiento de acuerdo con un aspecto de la presente invención es un método para codificar, con base en la inter-predicción, un bloque actual que es codificado el cual se incluye en una imagen actual que es codificada. Específicamente, el método de codificación de imágenes en movimiento comprende: codificar el bloque actual utilizando un vector de movimiento; generar una pluralidad de vectores de movimiento predictivos ; y codificar el vector de movimiento utilizando uno de los vectores de movimiento predictivos que se obtienen en la generación. Adicionalmente, cuando un bloque co-localizado que es incluido en una imagen codificada y colocalizado con el bloque actual tiene dos vectores de movimiento de referencia y las direcciones de referencia de los dos vectores de movimiento de referencia son las mismas, en la generación, un primer vector de predicción del bloque actual se genera utilizando un primer vector de movimiento de referencia de entre los dos vectores de movimiento de referencia, el primer vector de predicción y el primer vector de movimiento de referencia corresponden cada uno a una primera lista de imágenes de referencia y un segundo vector de predicción del bloque actual se genera utilizando un segundo vector de movimiento de referencia de entre los dos vectores de movimiento de referencia, el segundo vector de predicción y el segundo vector de movimiento" de referencia corresponden cada uno a una segunda lista de imágenes de referencia .
En el método anterior, un vector de movimiento que se utiliza en la dirección temporal se selecciona de manera adaptativa, lo cual hace posible deducir el vector de movimiento más adecuado para la imagen actual y mejorar la velocidad de compresión.
Como un ejemplo, en la generación, cuando la imagen codificada se localiza antes de la imagen actual en el orden de exhibición y los dos vectores de movimiento de referencia son vectores de movimiento de referencia hacia adelante, el primer vector de predicción se puede generar utilizando el primer vector de movimiento de referencia y el segundo vector de predicción se puede generar utilizando el segundo vector de movimiento de referencia.
Como otro ejemplo, en la generación, cuando la imagen codificada se localiza después de la imagen actual en el orden de exhibición y los dos vectores de movimiento de referencia son vectores de movimiento de referencia hacia atrás, el primer vector de predicción se puede generar utilizando el primer vector de movimiento de referencia y el segundo vector de predicción se puede generar utilizando el segundo vector de movimiento de referencia.
Adicionalmente, en la generación, cuando las direcciones de referencia de los dos vectores de movimiento de referencia son diferentes, el primer vector de predicción y el segundo vector de predicción se pueden generar utilizando un vector de movimiento de referencia dirigido hacia adelante de la imagen actual de entre los dos vectores de movimiento de referencia.
Como un ejemplo, en la generación, cuando la imagen codificada se localiza antes de la imagen actual en el orden de exhibición, el primer vector de predicción y el segundo vector de predicción se pueden generar utilizando un vector de movimiento de referencia hacia atrás de entre los dos vectores de movimiento de referencia.
Como otro ejemplo, en la generación, cuando la imagen codificada se localiza después de la imagen actual en el orden de exhibición, el primer vector de predicción y el segundo vector de predicción se pueden generar utilizando un Vector de movimiento de referencia hacia adelante de entre los dos vectores de movimiento de referencia.
Un método de decodificación de imágenes en movimiento de acuerdo con un aspecto de la presente invención es un método para decodificar, con base en la inter-predicción, un bloque actual que se decodifica el cual se incluye en una imagen actual que es decodificada . Específicamente, el método de decodificación de imágenes en movimiento comprende: generar una pluralidad de vectores de movimiento predictivos ; decodificar un vector de movimiento utilizando uno de los vectores de movimiento predictivos que se obtienen en la generación; y decodificar el bloque actual utilizando el vector .de movimiento decodificado en la decodificación de un vector de movimiento. Adicionalmente , cuando un bloque co-localizado que se incluye en una imagen decodificada y co-localizado con el bloque actual tiene dos vectores de movimiento de referencia y las direcciones de referencia de los dos vectores de movimiento de referencia son las mismas, en la generación, un primer vector de predicción del bloque actual se genera utilizando un primer vector de movimiento de referencia de entre los dos vectores de movimiento de referencia, el primer vector de predicción y el primer vector de movimiento de referencia corresponden cada uno a una primera lista de imágenes de referencia y un segundo vector de predicción del bloque actual se genera utilizando un segundo vector de movimiento de referencia de entre los dos vectores de movimiento de referencia, el segundo vector de predicción y el segundo vector de movimiento de referencia corresponden cada uno a una segunda lista de imágenes de referencia.
Un aparato de codificación de imágenes en movimiento de acuerdo con un aspecto de la presente invención es un aparato el cual codifica,, con base en la inter-predicción, un bloque actual que es codificado el cual se incluye en una imagen actual que es codificada. Específicamente, el aparato de codificación de imágenes en movimiento comprende: una unidad de codificación de imágenes configurada para codificar el bloque actual utilizando un vector de movimiento; una unidad de generación de vectores de movimiento predictivos, candidatos que está configurada para generar una pluralidad de vectores de movimiento predictivos; y una unidad de codificación de vectores de movimiento que está configurada para codificar el vector de movimiento utilizando uno de los vectores de movimiento predictivos que son generados por la unidad de generación de vectores de movimiento predictivos, candidatos. Adicionalmente, cuando un bloque co-localizado que es incluido en una imagen codificada y co-localizado con el bloque actual tiene dos vectores de movimiento de referencia y las direcciones de referencia de los dos vectores de movimiento de referencia son las mismas, la unidad de generación de vectores de movimiento predictivos, candidatos se- configura para: generar un primer vector de predicción del bloque actual utilizando un primer vector de movimiento de referencia de entre los dos vectores de movimiento de referencia, el primer vector de predicción y el primer vector de movimiento de referencia corresponden cada uno a una primera lista de imágenes de referencia; y generar un segundo vector de predicción del bloque actual utilizando un segundo vector de movimiento de referencia de entre los dos vectores de movimiento de referencia, el segundo vector de predicción y el segundo vector de movimiento de referencia corresponden cada uno a una segunda lista de imágenes de referencia.
Un aparato de decodificación de imágenes en movimiento de acuerdo con un aspecto de la presente invención es un aparato el cual decodifica, con base en la inter-predicción, un bloque actual que es decodificado el cual se incluye en una imagen actual que es decodificada . Específicamente, el aparato de. decodificación de imágenes en movimiento comprende: una unidad de generación de vectores de movimiento predictivos, candidatos que está configurada para generar una pluralidad de vectores de movimiento predictivos; una unidad de decodificación de vectores de movimiento que está configurada para decodificar un vector de movimiento utilizando uno de los vectores de movimiento predictivos generados por la unidad de generación de vectores de movimiento predictivos, candidatos; y una unidad de 1 decodificación de imágenes que está configurada para decodificar el bloque actual utilizando el vector de movimiento decodificado por la unidad de decodificación de vectores de movimiento. Adicionalmente, cuando un bloque colocalizado que es incluido en una imagen decodificada y colocalizado con el bloque actual tiene dos vectores de movimiento de referencia y las direcciones de referencia de los dos vectores de movimiento de referencia son las mismas, la unidad de generación de vectores de movimiento predictivos, candidatos se configura para: generar un primer vector de predicción del bloque actual utilizando un primer vector de movimiento de referencia de entre los dos vectores de movimiento de referencia, el primer vector de predicción y el primer vector de movimiento de referencia corresponden cada uno a una primera lista de imágenes de referencia; y generar un segundo vector de predicción del bloque actual utilizando un segundo vector de movimiento de referencia de entre los dos vectores de movimiento de referencia, el segundo vector de predicción y el segundo vector de movimiento de referencia corresponden cada uno a una segunda lista de imágenes de referencia.
Un aparato de codificación y decodificación de imágenes en movimiento de acuerdo con un aspecto de la presente invención es un aparato de codificación y decodificación de imágenes en movimiento el cual comprende: 4 una unidad de codificación de imágenes en movimiento que está configurada para codificar, con base en la inter-predicción, un bloque actual que es codificado el cual se incluye en una imagen actual que es codificada; y una unidad de decodificación de imágenes en movimiento que está configurada para decodificar, con base en la inter-predicción, un bloque actual que es decodificado el cual ha sido generado por la unidad de codificación de imágenes en movimiento. La unidad de codificación de imágenes en movimiento incluye: una unidad de codificación de imágenes que está configurada para codificar, utilizando un vector de movimiento, el bloque actual que es codificado; una primera unidad de generación de vectores de movimiento predictivos, candidatos que está configurada para generar una pluralidad de vectores de movimiento predictivos; y una unidad de codificación de vectores de movimiento que está configurada para codificar el vector de movimiento utilizando- uno de los vectores de movimiento predictivos generados por la primera unidad de generación de vectores de movimiento predictivos, candidatos. Adicionalmente, cuando un bloque co-localizado que es incluido en la imagen codificada y co-localizado con el bloque actual que es codificado tiene dos vectores de movimiento de referencia y las direcciones de referencia de los dos vectores de movimiento de referencia son las mismas, la primera unidad de generación de vectores de movimiento predictivos, candidatos se configura para: generar un primer vector de predicción del bloque actual que es codificado, utilizando un primer vector de movimiento de referencia de entre los dos vectores de movimiento de referencia, el primer vector de predicción y el primer vector de movimiento de referencia corresponden cada uno a una primera lista de imágenes de referencia; y generar un segundo vector de predicción del bloque actual que es codificado, utilizando un segundo vector de movimiento de referencia de entre los dos vectores de movimiento de referencia, el segundo vector de predicción y el segundo vector de movimiento de referencia corresponden cada uno a una segunda lista de imágenes de referencia. El aparato de decodificación de imágenes en movimiento comprende: una segunda unidad de generación de vectores de movimiento predictivos, candidatos que está configurada para generar una pluralidad de vectores de movimiento predictivos; una unidad de decodificación de vectores de movimiento que está configurada para decodificar un vector de movimiento utilizando uno de los vectores de movimiento predictivos generados por la segunda unidad de generación de vectores de movimiento predictivos, candidatos; y una unidad de decodificación de imágenes que está configurada para decodificar el bloque actual que es decodi ficado , utilizando el vector de movimiento decodificado por la unidad de decodificación de vectores de movimiento.
Adicionalmente, cuando un bloque co-localizado que se incluye en una imagen decodificada y co-localizado con el bloque actual que es decodificado tiene dos vectores de movimiento de referencia y las direcciones de referencia de los dos vectores de movimiento de referencia son las mismas, la segunda unidad de generación de vectores de movimiento predictivos, candidatos se configura para: generar un primer vector de predicción del bloque actual que se decodifica, utilizando un primer vector de movimiento de referencia de entre los dos vectores de movimiento de referencia, el primer vector de predicción y el primer vector de movimiento de referencia corresponden cada uno a una primera lista de imágenes de referencia; y generar un segundo vector de predicción del bloque actual que es decodificado, utilizando un segundo vector de movimiento de referencia de entre los dos vectores de movimiento de referencia, el segundo vector de predicción y el segundo vector de movimiento de referencia corresponden cada uno a una segunda lista de imágenes de referencia .
Efectos Ventajosos de la Invención De acuerdo con la presente invención, un vector de movimiento que se utiliza en la dirección temporal se selecciona de manera adaptativa, lo cual hace posible deducir el vector de movimiento más adecuado para la imagen actual y mejorar la velocidad de compresión.
Breve Descripción de las Figuras La FIGURA 1A es un diagrama de bloques que muestra un aparato de codificación de imágenes en movimiento de acuerdo con la Modalidad 1.
La FIGURA IB muestra la posición de un bloque colocalizado .
La FIGURA 2 muestra un bosquejo de un flujo de procesamiento de un método de codificación de imágenes en movimiento de acuerdo con la Modalidad 1.
La FIGURA 3A muestra un ejemplo de vectores de movimiento predictivos, candidatos.
La FIGURA 3B muestra un ejemplo de clasificaciones de prioridad de los vectores de movimiento predictivos, candidatos.
La FIGURA 3C muestra otro ejemplo de las clasificaciones de prioridad de los vectores de movimiento predictivos, candidatos.
La FIGURA 3D muestra otro ejemplo de las clasificaciones de prioridad de los vectores de movimiento predictivos, candidatos.
La FIGURA 3E muestra otro ejemplo de las clasificaciones de prioridad de los vectores de movimiento predictivos, candidatos.
La FIGURA 4 muestra un ejemplo de una tabla de códigos la cual se utiliza en el caso de realizar una codificación de longitud variable en los índices de vectores de movimiento predictivos.
La FIGURA 5 muestra un flujo para determinar un vector de movimiento predictivo, candidato.
La FIGURA 6 muestra en detalle el flujo del procesamiento en el Paso S12 de la FIGURA 2. .
La FIGURA 7A muestra un ejemplo de un método para calcular un vector de dirección temporal, el cual se aplica en el caso donde el bloque co-localizado tiene dos vectores de movimiento de referencia hacia adelante.
La FIGURA 7B muestra un ejemplo de un método para calcular un vector de dirección temporal, el cual se aplica en el caso donde el bloque co-localizado tiene dos vectores de movimiento de referencia hacia atrás.
La FIGURA 8A muestra un ejemplo de un método para calcular un vector de dirección temporal, el cual se aplica en el caso donde el bloque co-localizado es un bloque de referencia hacia atrás y tiene tanto un vector de movimiento de referencia hacia adelante como un vector de movimiento de referencia hacia atrás.
La FIGURA 8B muestra un ejemplo del cálculo de un vector de dirección temporal, el cual se aplica en el caso donde el bloque co-localizado es un bloque de referencia hacia atrás y tiene únicamente un vector de movimiento de referencia hacia atrás.
La FIGURA 9A muestra un ejemplo de un método para calcular un vector de dirección temporal, el cual se aplica en el caso donde el bloque co-localizado es un bloque de referencia hacia adelante y tiene tanto un vector de movimiento de referencia hacia' adelante como un vector de movimiento de referencia hacia atrás.
La FIGURA 9B muestra un ejemplo del cálculo de un vector de dirección temporal, el cual se aplica en el caso donde el bloque co-localizado es un bloque de referencia hacia adelante y tiene únicamente un vector de movimiento de referencia hacia adelante.
La FIGURA 10 muestra en detalle otro ejemplo del flujo del procesamiento en el Paso S12 de la FIGURA 2.
La FIGURA 11 es un diagrama de bloques que muestra un aparato de decodificación de imágenes en movimiento de acuerdo con la Modalidad 3.
La FIGURA 12 muestra un bosquejo de un flujo de procesamiento de un método de decodificación de imágenes en movimiento de acuerdo con la Modalidad 3.
La FIGURA 13 muestra un ejemplo de listas de imágenes de referencia en una imagen-B.
La FIGURA 14 ilustra un método de codificación de inter-predicción en la dirección temporal.
La FIGURA 15 ilustra una configuración completa de un sistema de provisión de contenido para implementar 2? servicios de distribución de contenido.
La FIGURA 16 ilustra una configuración completa de un sistema de difusión digital.
La FIGURA 17 es un diagrama de bloques que ilustra un ejemplo de una configuración de una televisión.
La FIGURA 18 es un diagrama de bloques que ilustra un ejemplo de una configuración de una unidad de reproducción/grabación de información que lee y escribe información de y en un medio de grabación que es un disco óptico.
La FIGURA 19 muestra un ejemplo de una configuración de un medio de grabación que es un disco óptico .
La FIGURA 20A muestra un ejemplo de un teléfono celular y la FIGURA 20B es un diagrama de bloques que muestra un ejemplo de una configuración del teléfono celular.
La FIGURA 21 ilustra una estructura de los datos multiplexados .
La FIGURA 22 ilustra esquemáticamente como cada corriente es multiplexada en datos multiplexados.
La FIGURA 23 ilustra con' mayor detalle como una corriente de video se almacena en una corriente de paquetes PES.
La FIGURA 24 muestra una estructura de paquetes TS y paquetes fuente en los datos multiplexados.
La FIGURA 25 muestra una estructura de datos de una PMT.
La FIGURA 26 ilustra una estructura interna de información de datos multiplexados .
La FIGURA 27 muestra una estructura interna de información de atributos de corriente.
La FIGURA 28 muestra pasos para identificar datos de video.
La FIGURA 29 es un diagrama de bloques que ilustra un ejemplo de una configuración de un circuito integrado para implementar el método de codificación de imágenes en movimiento y el método de decodificación de imágenes en movimiento de acuerdo con cada una de las Modalidades.
La FIGURA 30 muestra una configuración de la conmutación entre frecuencias impulsoras.
La FIGURA 31 muestra pasos para identificar datos de video y conmutar entre frecuencias impulsoras.
La FIGURA 32 muestra un ejemplo de una tabla de consulta en la cual los estándares de datos de video se asocian con las frecuencias impulsoras.
La FIGURA 33A muestra un ejemplo de una configuración para compartir un módulo de una unidad de procesamiento de señales y la FIGURA 33B es un diagrama que muestra otro ejemplo de una configuración para compartir un módulo de una unidad de procesamiento de señales.
Descripción Detallada de la Invención Las Modalidades de la presente invención se describen a continuación con referencia a las figuras.
Modalidad 1 La FIGURA 1A es un diagrama de bloques que muestra un aparato de codificación de imágenes en movimiento de acuerdo con la Modalidad 1 de la presente invención.
Un aparato de codificación de imágenes en movimiento 100 incluye, como se muestra en la FIGURA 1A, una unidad de sustracción 101, una unidad de transformación ortogonal 102, una unidad de cuantificación 103, una unidad de cuantificación inversa .104, una unidad de transformación ortogonal inversa 105, una unidad de adición 106, una memoria de bloques 107, una memoria de tramas 108, una unidad de intra-predicción 109, una unidad de inter-predicción 110, un conmutador 111, una unidad de control de inter-predicción 112, una unidad de determinación de tipo de imagen 113, una unidad de cálculo de vectores de dirección temporal 114, una unidad de determinación de dirección de referencia colocalizada 115 y una unidad de codificación de longitud variable 116.
La unidad de sustracción 101 obtiene, del exterior del aparato, una secuencia de imágenes de entrada que incluye un bloque actual que es codificado y obtiene un bloque de predicción del conmutador 11, y luego envía, a la unidad de transformación ortogonal 102, un bloque residual que se genera al sustraer el bloque de predicción del bloque actual.
La unidad de transformación ortogonal 102 transforma, del dominio de imagen al dominio de frecuencia, el bloque residual obtenido de la unidad de sustracción 101, y envía un coeficiente de transformación a la unidad de cuantificación 103. La unidad de cuantificación 103 cuantifica el coeficiente de transformación obtenido de la unidad de transformación ortogonal 102 y envía el coeficiente cuantificado a la unidad de cuantificación inversa 104 y la unidad de codificación de longitud variable 116.
La unidad de cuantificación inversa 104 cuantifica de manera inversa el coeficiente cuantificado que se obtiene de la unidad de cuantificación 103 y envía el coeficiente de transformación reconstruido a la unidad de transformación ortogonal inversa 105. La unidad de transformación ortogonal inversa 105 transforma, del dominio de frecuencia al dominio de imagen, el coeficiente de transformación reconstruido que se obtiene de la unidad de cuantificación inversa 104 y envía el bloque residual reconstruido a la unidad de adición 106.
La unidad de adición 106 agrega el bloque residual reconstruido que se obtiene de la unidad de trasformación ortogonal inversa 105 y el bloque de predicción obtenido del conmutador 111 y envía el bloque actual reconstruido (secuencia de imágenes de entrada) a la memoria de bloques 107 y la memoria de tramas 108. La memoria de bloques 107 almacena la 5??µ????3 de imágenes de entrada · reconstruida por bloque. La memoria de tramas 108 almacena la secuencia de imágenes de entrada reconstruida por trama.
La unidad de determinación de tipo de imagen 113 determina cual de los tipos de imagen: ' imagen-1, imagen-B e imagen-P, se utiliza para codificar la secuencia de imágenes de entrada y genera información de tipo de imagen. La unidad de determinación de tipo de imagen 113 entonces envía la información de tipo de imagen generada al conmutador 111, la unidad de control de inter-predicción 112, la unidad de determinación de dirección de referencia co-localizada 115, y la unidad de codificación de longitud variable 116.
La unidad de intra-predicción 109 genera el bloque de predicción al realizar una intra-predicción del bloque actual con el uso de la secuencia de imágenes de entrada bloque por bloque reconstruida que se almacena en la memoria de bloques 107 y envía el bloque de predicción generado al conmutador 111. La unidad de inter-predicción 110 genera el bloque de predicción al realizar una inter-predicción para el bloque actual con el uso de la secuencia de imágenes de entrada trama por trama reconstruida que se almacena en la memoria de tramas 108 y un vector de movimiento deducido a través de una estimación de movimiento y envía el bloque de predicción generado al conmutador 111.
El conmutador 111 envía, a la unidad de sustracción 110 y la unidad de adición 106, el bloque de predicción generado por la unidad de intra-predicción 109 o el bloque de predicción generado por la unidad de inter-predicción 110. Por ejemplo, el conmutador 111 se puede diseñar para enviar uno de los dos bloques de predicción el cual tiene un costo de codificación más bajo.
La unidad de determinación de dirección de referencia co-localizada 115 determina cual de un bloque incluido en una imagen localizada, en el orden del tiempo de exhibición, antes de una imagen actual que es codificada (referido en lo sucesivo como un bloque de referencia hacia adelante) y un bloque incluido en una imagen localizada después de la imagen actual en el orden del tiempo de exhibición (referido en lo sucesivo como un bloque de referencia hacia atrás) será un bloque co-localizado . La unidad de determinación de dirección de referencia colocalizada 115 entonces genera un indicador de dirección de referencia co-localizada para cada imagen y envía el indicador de dirección de referencia co-localizada generado a la unidad de cálculo de vector de dirección temporal 114 y la unidad de codificación de longitud variable 116.
En este documento, el bloque co-localizado indica un bloque el cual se incluye en una imagen codificada diferente de la imagen actual que incluye el bloque actual y cuya posición en la imagen codificada es la misma que el bloque actual (bloque A de la FIGURA IB) . Se debe observar que aunque el bloque co-localizado es un bloque cuya posición en la imagen codificada es la misma que el bloque actual en esta modalidad, el bloque co-localizado no siempre está limitado a este bloque. Por ejemplo, los bloques periféricos del bloque A co-localizados con el bloque actual, tal como los bloques B, C, D y E en la FIGURA IB, se pueden utilizar cada uno como el bloque co-localizado. Con esto, en el caso donde el bloque A se codifica con base en una intra-predicción y por lo tanto no tiene vector de movimiento, por ejemplo uno de los bloques periféricos B, C, D y E se puede utilizar como el bloque co-localizado. Como resultado, la exactitud de un vector de dirección temporal se puede mejorar, lo cual permite el mejoramiento en la eficiencia de codificación .
La unidad de cálculo de vectores de dirección temporal 114 deduce, por medio de la dirección temporal utilizando un vector de movimiento de referencia del bloque co-localizado, un vector de dirección temporal el cual es un vector de movimiento predictivo, candidato. La unidad de cálculo de vectores de dirección temporal 114 entonces envia el vector de dirección temporal deducido a la unidad de control de inter-predicción 112.
Específicamente, cuando el bloque co-localizado tiene dos vectores de movimiento de referencia en la misma dirección de referencia, la unidad de cálculo de vectores de dirección temporal 114 deduce, por medio de la dirección temporal utilizando los dos vectores de movimiento del bloque co-localizado, los vectores de movimiento predictivos, candidatos (un vector de dirección temporal TMVLO en una dirección de predicción 0 y un vector de dirección temporal TMVL1 en una dirección de predicción 1) . Adicionalmente, la unidad de cálculo de vectores de dirección temporal 114 asigna cada uno de los vectores de dirección temporal en las direcciones de predicción respectivas con un valor de un índice de vector de movimiento predictivo correspondiente. Se debe observar que "dos vectores de movimiento de referencia en la misma dirección de referencia" indica el caso donde el bloque co-localizado tiene dos vectores de movimiento de referencia hacia adelante (vectores de movimiento calculados con referencia a imágenes localizadas antes de la imagen codificada en el orden de exhibición) o dos vectores de movimiento de referencia hacia atrás (vectores de movimiento calculados con referencia a imágenes localizadas después de la imagen codificada en el orden de exhibición) .
Cuando el bloque co-localizado no tiene dos vectores de movimiento de referencia hacia adelante o hacia atrás (típicamente cuando el bloque co-localizado tiene dos vectores de movimiento de referencia en diferentes direcciones de referencia) , la unidad de cálculo de vectores de dirección temporal 114 determina, con base en si el bloque co-localizado es un bloque de referencia hacia adelante o un bloque de referencia hacia atrás, un vector de movimiento del bloque co-localizado el cual se debe utilizar en la dirección temporal. Específicamente, la unidad de cálculo de vectores de dirección temporal 114 calcula un vector de movimiento predictivo, candidato utilizando uno de los dos vectores de movimiento de referencia del bloque co-localizado el cual se dirige hacia adelante de la imagen actual.
Cuando el bloque co-localizado es un bloque de referencia hacia atrás, la unidad de cálculo de vectores de dirección temporal 114 deduce un vector de movimiento predictivo, candidato (el vector de dirección temporal TMVLO en la dirección de predicción 0 y el vector de dirección temporal TMVL1 en la dirección de predicción 1) por medio de la dirección temporal utilizando un vector de movimiento de referencia hacia adelante del bloque co-localizado.
Se debe observar que cuando el bloque co-localizado no tiene un vector de movimiento de referencia hacia adelante (es decir, cuando el bloque co-localizado tiene únicamente un vector de movimiento de referencia hacia atrás) , la unidad de cálculo de vectores de dirección temporal 114 deduce un vector de movimiento predictivo, candidato (el vector de dirección temporal TMVLO en la dirección de predicción 0 y el vector de dirección temporal TMVL1 en la dirección de predicción 1) por medio de la dirección temporal utilizando el vector de movimiento de referencia hacia atrás del bloque co-localizado .
Cuando el bloque co-localizado es un bloque de referencia hacia adelante, la unidad de cálculo de vectores de dirección temporal 114 deduce un vector de movimiento predictivo, candidato (el vector de dirección temporal TMVLO en la dirección de predicción 0 y el vector de dirección temporal TMVL1 en la dirección de predicción 1) por medio de la dirección temporal utilizando un vector de movimiento de referencia hacia atrás del bloque co-localizado.
Se debe observar que cuando el bloque co-localizado no tiene un vector de movimiento de referencia hacia atrás (es decir, cuando el bloque co-localizado tiene únicamente un vector de movimiento de referencia hacia adelante) , la unidad de cálculo de vectores de dirección temporal 114 deduce un vector de movimiento predictivo, candidato (el vector de dirección temporal TMVLO en la dirección de predicción 0 y el vector de dirección temporal TMVL1 en la dirección de predicción 1) por medio de la dirección temporal que utiliza el vector de movimiento de referencia hacia adelante del bloque co-localizado.
La unidad de control de inter-predicción 112 determina que el vector de movimiento se codifica utilizando uno de una pluralidad de vectores de movimiento predictivos, candidatos el cual tiene el error más pequeño en relación con el vector de movimiento deducido a través de la estimación de movimiento. En este punto, el error indica un valor de diferencia entre el vector de movimiento predictivo, candidato y el vector de movimiento deducido a través de la estimación de movimiento, por ejemplo. Adicionalmente , la unidad de control de inter-predicción 112 genera, por bloque, un índice de vector de movimiento predictivo el cual corresponde al vector de movimiento predictivo, determinado. La unidad de control de inter-predicción 112 entonces envía el índice de vector de movimiento predictivo e información de error sobre el vector de movimiento predictivo, candidato a la unidad de codificación de longitud variable 116.
La unidad de codificación de longitud variable 116 genera una corriente de bits al realizar la codificación de longitud variable en: el coeficiente cuantificado que se obtiene de la unidad de cuantificación 103; el índice de vector de movimiento predictivo y la información de error sobre el vector de movimiento predictivo, candidato, obtenidos de la unidad de control de inter-predicción 112; la información de tipo de imagen obtenida de la unidad de determinación de tipo de imagen 113; y el indicador de dirección de referencia co-localizada obtenido de la unidad de determinación de dirección de referencia co-localizada 115.
La FIGURA 2 muestra un bosquejo de un flujo de procesamiento de un método de codificación de imágenes en movimiento de acuerdo con la Modalidad 1 de la presente invención.
Cuando un vector de movimiento predictivo, candidato se deduce en una dirección temporal, la unidad de determinación de dirección de referencia co-localizada 115 determina cual del bloque de referencia hacia adelante y el bloque de referencia hacia atrás será el bloque co-localizado (Sil). Adicionalmente, la unidad de determinación de dirección de referencia co-localizada 115 genera, por imagen, un indicador de referencia de bloque co-localizado que indica si el bloque co-localizado es un bloque de referencia hacia adelante o un bloque de referencia hacia atrás, y envía el indicador de referencia de bloque co-localizado generado a la unidad de cálculo de vectores de dirección temporal 114 y la unidad de codificación de longitud variable 116.
Después, la unidad cálculo de vectores de dirección temporal 114 deduce un vector de movimiento predictivo, candidato por medio . de la dirección temporal utilizando un vector de movimiento de referencia del bloque co-localizado. Cuando el bloque co-localizado tiene dos vectores de movimiento de referencia hacia adelante o hacia atrás, la unidad de cálculo de vectores de dirección temporal 114 deduce, por medio de la dirección temporal utilizando los dos vectores de movimiento del bloque co-localizado, vectores de movimiento predictivos, candidatos (el vector de dirección temporal TMVLO en la dirección de predicción 0 y el vector de dirección temporal T VL1 en la dirección de predicción 1). Adicionalmente, la unidad de cálculo de vectores de dirección temporal 114 asigna cada uno de los vectores de dirección temporal en las direcciones de predicción respectivas con un valor de un índice de vector de movimiento predictivo, correspondiente.
Más específicamente, la unidad de cálculo de vectores de dirección temporal 114 genera un primer vector de predicción (TV LO) que corresponde a una primera lista de imágenes de referencia del bloque actual, utilizando un primer vector de movimiento de referencia que corresponde a la primera lista de imágenes de entre dos vectores de movimiento de referencia del bloque co-localizado. Adicionalmente, la unidad de cálculo de vectores de dirección temporal 114 genera un segundo vector de predicción (TVML1) que corresponde a una segunda lista de imágenes de referencia del bloque actual, utilizando un segundo vector de movimiento de referencia que corresponde a la segunda lista de imágenes de entre dos vectores de movimiento de referencia del bloque co-localizado.
En este punto, en general, cuando el índice de vector de movimiento predictivo tiene un valor pequeño, la cantidad requerida de información es pequeña, y cuando el índice de vector de movimiento predictivo tiene un valor qrande, la cantidad requerida de información es qrande. Por consiguiente, la asignación de un pequeño índice de vector de movimiento predictivo a un vector de movimiento el cual es sumamente probable que se vuelva un vector de movimiento más exacto incrementará la eficiencia de codificación.
Cuando el bloque co-localizado no tiene dos vectores de movimiento de referencia hacia adelante o hacia atrás, la unidad de cálculo de vectores de dirección temporal 114 determina, con base en si el bloque co-localizado es un bloque de referencia hacia adelante o un bloque de referencia hacia atrás, un vector de movimiento del bloque co-localizado el cual se debe utilizar en la dirección temporal.
Cuando el bloque co-lo.calizado es un bloque de referencia hacia atrás, la unidad de cálculo de vectores de dirección temporal 114 deduce un vector de movimiento predictivo, candidato (el vector de dirección temporal TMVLO en la dirección de predicción 0 y el vector de dirección temporal TMVL1 en la dirección de predicción 1) por medio de la dirección temporal utilizando un vector de movimiento de referencia hacia adelante del bloque co-localizado. Se debe observar que cuando el bloque co-localizado no tiene un vector de movimiento de referencia hacia adelante, la unidad de cálculo de vectores de dirección temporal 114 deduce un vector de movimiento predictivo, candidato (el vector de dirección temporal TMVLO en la dirección de predicción 0 y el vector de dirección temporal TMVL1 en la dirección de predicción 1) por medio de la dirección temporal utilizando un vector de movimiento de referencia hacia atrás del bloque co-localizado .
Cuando el bloque co-localizado es un bloque de referencia hacia adelante, la unidad de cálculo de vectores de dirección temporal 114 deduce un vector de movimiento predictivo, candidato (el vector de dirección temporal TMVLO en la dirección de predicción 0 y el vector de dirección temporal TMVL1 en la dirección de predicción 1) por medio de la dirección temporal utilizando un vector de movimiento de referencia hacia atrás del bloque co-localizado. Se debe observar que , cuando el bloque co-localizado no tiene un vector de movimiento de referencia hacia atrás, la unidad de cálculo de vectores de dirección temporal 114 deduce un vector de movimiento predictivo, candidato (el vector de dirección temporal TMVLO en la dirección de predicción 0 y el vector de dirección temporal TMVL1 en la dirección de predicción 1) por medio de la dirección temporal utilizando un vector de movimiento de referencia hacia adelante del bloque co-localizado.
Después, la unidad de inter-predicción 110 codifica la imagen actual con base en la inter-predicción utilizando el vector de movimiento deducido a través de la estimación de movimiento. Adicionalmente, la unidad de control de inter-predicción 112 determina que el vector de movimiento en cada una de las direcciones de predicción se codifica utilizando el vector de movimiento predictivo el cual tiene el error más pequeño de entre los vectores de movimiento predictivos, candidatos en las direcciones de predicción respectivas. Por ejemplo, la unidad de control de inter-predicción 112 determina, como errores, los valores de la diferencia entre vectores de movimiento predictivos, candidatos y el vector de movimiento deducido a través de la estimación de movimiento, y determina . que uno de los vectores de movimiento predictivos, candidatos el cual tiene el error más pequeño se utiliza para codificar el vector de movimiento. La unidad de codificación de longitud variable 116 entonces realiza la codificación de longitud variable en el índice de vector de movimiento predictivo el cual corresponde al vector seleccionado de los vectores de movimiento predictivos, candidatos, y la información de error sobre el vector de movimiento predictivo, candidato, determinado, junto con el coeficiente cuantificado y similares (S13).
La FIGURA 3A muestra un ejemplo del vector de movimiento predictivo, candidato. Los vectores de movimiento MVL0_A y MVL1_A son un vector de movimiento en la dirección de predicción O y un vector de movimiento en la dirección de predicción 1, respectivamente, de un bloque adyacente A localizado junto a la izquierda del bloque actual. Los vectores de movimiento MVL0_B y MVL1_B son un vector de movimiento en la dirección de predicción 0 y un vector de movimiento en la dirección de predicción 1, respectivamente, de un bloque adyacente B inmediatamente arriba del bloque actual. Un vector de movimiento VL0_C es un vector de movimiento en la dirección de predicción 0 de un bloque adyacente C localizado junto al lado superior derecho del bloque actual. Los bloques adyacentes A y B utilizan la predicción bidireccional mientras que el bloque adyacente C utiliza la predicción unidireccional. Media (MVLX_A, MVLX_B, MVLX_C) de una dirección de predicción X (X = 0, 1) indica un valor intermedio de los vectores de movimiento MVLX_A, MVLX_B y MVLX_C. En este documento, el valor intermedio se deduce de la siguiente manera, por ejemplo.
Ecuación Matemática 1 Media(x, y, z) = x + y + z ~ Min(x,Min(y, z)) - Max(x, Max(y, z)) ( Expresión 1 ) Ecuación Matemática 2 (Expresión 2) Ecuación Matemática 3 (Expresión 3) (x < y) El índice de vector de movimiento predictivo de la dirección de predicción 0 tiene un valor 0 para Media (MVL0_A, MVL0_B> MVL0_C) , un valor 1 para el vector de movimiento MVL0_A, un valor 2 para el vector de movimiento MVL0_B, un valor .3 para el vector de movimiento MVL0_C y un valor 4 para el vector de dirección temporal TMVLO. El índice de vector de movimiento predictivo de la dirección de predicción 1 tiene un valor de 0 para Media (MVL1_A, MVL1_B, 0) , un valor 1 para el vector de movimiento MVL1_A, un valor 2 para el vector de movimiento MVL1_B y un valor 3 para el vector de dirección temporal TMVL1.
Se debe observar que el método para asignar índices de vectores de movimiento predictivos no está limitado a este ejemplo. Por ejemplo, es concebible que la asignación de los índices de vectores de movimiento predictivos se puede conmutar de acuerdo con la dirección de referencia del vector de movimiento del bloque co-localizado . Los ejemplos específicos se muestran en las FIGURAS 3B a 3E.
La FIGURA 3B muestra un ejemplo de la asignación de los índices de vectores de movimiento predictivos la cual se aplica cuando el bloque co-localizado tiene dos vectores de movimiento los cuales son ambos vectores de movimiento de referencia hacia adelante (referidos en lo sucesivo como "dos vectores de movimiento de referencia hacia adelante") o vectores de movimiento de referencia hacia atrás (referidos en lo sucesivo como "dos vectores de movimiento de referencia hacia atrás") y la dirección de referencia de cada uno de los vectores de movimiento coincide con la dirección hacia la imagen actual que incluye el bloque actual. En este caso, existe la posibilidad de que el vector de dirección temporal TMVLX en la dirección de predicción X, calculada de cada uno de los vectores de movimiento, sea más exacto que otros vectores de movimiento predictivos, candidatos. Por lo tanto, el vector de dirección temporal TMVLX se asigna con un índice de vector de movimiento predictivo más pequeño como se muestra en la FIGURA 3B.
La FIGURA 3C muestra un ejemplo de la asignación de los índices de vectores de movimiento predictivos la cual se aplica cuando el bloque co-localizado tiene dos vectores de movimiento los cuales son ambos vectores de movimiento de referencia hacia adelante o hacia atrás y la dirección de referencia de cada uno de los vectores de movimiento es opuesta a la dirección hacia la imagen actual que incluye el bloque actual. En este caso, en lugar del vector de dirección temporal en la dirección de predicción X, calculada de cada uno de los vectores de movimiento, otros vectores de movimiento predictivos, candidatos se asignan con índices de vectores de movimiento predictivos más pequeños.
La FIGURA 3D muestra un ejemplo de la asignación de los índices de vectores de movimiento predictivos la cual se aplica cuando el bloque co-localizado tiene un vector de movimiento el cual es un vector de movimiento de referencia hacia adelante o hacia atrás y la dirección de referencia del vector de movimiento es la dirección hacia la imagen actual que incluye el bloque actual. En este caso, existe la posibilidad de que el vector de dirección temporal en la dirección de predicción X, calculada del vector de movimiento, sea más exacto que otros vectores de movimiento predictivos, candidatos. Por lo tanto, el vector de dirección temporal se asigna con un índice de vector de movimiento predictivo más pequeño como se muestra en la FIGURA 3D.
La FIGURA 3E muestra un ejemplo de la asignación de los índices de vectores de movimiento predictivos la cual se aplica cuando el bloque co-localizado tiene un vector de movimiento el cual es un vector de movimiento de referencia hacia adelante o hacia atrás y la dirección de referencia del vector de movimiento es opuesta a la dirección hacia la imagen actual que incluye el bloque actual. En este caso, en lugar del vector de dirección temporal en la dirección de predicción X, calculada del vector de movimiento, otros vectores de movimiento predictivos, candidatos se asignan con índices de vectores de movimiento predictivos más pequeños.
Como se indica anteriormente, la conmutación entre diferentes maneras de asignar los índices de vectores de movimiento predictivos de acuerdo con la dirección de 4 referencia del vector de movimiento del bloque co-localizado hace posible asignar un índice de vector de movimiento predictivo pequeño a un vector de movimiento de predicción, candidato el cual es probable que proporcione una exactitud de predicción alta, de modo que la eficiencia de codificación de puede mejorar.
La FIGURA 4 muestra un ejemplo de una tabla de códigos la cual se utiliza en el caso de realizar una codificación de longitud variable en los índices de vectores de movimiento predictivos. En el ejemplo de la FIGURA 4, los códigos de longitud más corta se asignan con los índices de vectores de movimiento predictivos en orden ascendente del valor de los mismos. De esta manera, la asignación de un índice de vector de movimiento predictivo pequeño a un vector de movimiento predictivo, candidato el cual es probable que proporcione una exactitud de predicción alta permite el mejoramiento en la eficiencia de codificación.
La FIGURA 5 muestra un flujo para determinar un vector de movimiento predictivo, candidato en la unidad de control de inter-predicción 112. En el flujo mostrado en la FIGURA 5, la unidad de control de inter-predicción 112 determina que, de entre una pluralidad de vectores de movimiento predictivos, candidatos, un vector de movimiento predictivo el cual tiene el error más pequeño en relación con el vector de movimiento en cada una de las direcciones de predicción deducido a través de la estimación de movimiento se debe utilizar en la codificación del vector de movimiento en la dirección de predicción. La unidad de codificación de longitud variable 116 realiza una codificación de longitud variable en la información de error sobre el vector de movimiento predictivo, candidato, determinado y el índice de vector de movimiento predictivo el cual indica el vector de movimiento predictivo, determinado.
Específicamente, en primer lugar, la unidad de control de inter-predicción 112 inicia un índice de vector de movimiento predictivo, candidato mvp_idx y un error de vector de movimiento mínimo (S21) . Después, la unidad de control de inter-predicción 112 compara el índice del vector de movimiento predictivo, candidato mvp_idx y el número de vectores de movimiento predictivos, candidatos (el número de registros en la tabla mostrada en la FIGURA 3) (S22) .
Cuando mvp_idx < el número de vectores de movimiento predictivos, candidatos (Sí en S22), la unidad de control de inter-predicción 112 calcula un error de vector de movimiento (información de error) utilizando uno de la pluralidad de vectores de movimiento predictivos, candidatos (S23). Por ejemplo, la unidad de control de inter-predicción 112 calcula el error de vector de movimiento al sustraer el vector de movimiento predictivo que es asignado con el índice de vector de movimiento predictivo = 0 en la FIGURA 3 del vector de movimiento utilizado en la codificación del bloque actual .
Después, la unidad de control de inter-predicción 112 compara el error de vector de movimiento calculado en el Paso S23 con el error de vector de movimiento mínimo (S24) . Cuando el error de vector de movimiento < el error de vector de movimiento mínimo (Sí en S24) , la unidad de control de inter-predicción 112 establece (sobrescribe), como (en la parte más alta de) el error de -vector de movimiento mínimo, el error de vector de movimiento calculado en el Paso S23, y establece (sobrescribe) el mvp_idx actual como (en la parte más alta de) el índice de vector de movimiento predictivo (S25) . Cuando el error de vector de movimiento > el error de vector de movimiento mínimo (No en S24), el Paso S25 se omite.
Subsecuentemente, la unidad de control de inter-predicción 112 incrementa el mvp_idx por 1 (S26) y ejecuta repetidamente cada uno de los procesos anteriores (Pasos S22 a S26) el número de veces igual al número de vectores de movimiento predictivos, candidatos. La unidad de control de inter-predicción 112 entonces envía los valores establecidos como el error de vector de movimiento mínimo y el índice de vector de movimiento predictivo, a la unidad de codificación de longitud variable 118 en un punto en el tiempo de mvp_idx = el número de vectores de movimiento predictivos, candidatos \ (S22) y lleva el procesamiento de la FIGURA 5 hasta el final (S27) .
La FIGURA 6 muestra en detalle el flujo del procesamiento en el Paso S12 de la FIGURA 2. Lo siguiente describe acerca de la FIGURA 6.
En primer lugar, la unidad de cálculo de vectores de dirección temporal 114 determina si el bloque colocalizado tiene o no un vector de movimiento de referencia (S31) . Cuando se determina que el bloque co-localizado tiene un vector de movimiento de referencia (Si en S31), la unidad de cálculo de vectores de dirección temporal 114 determina si el bloque co-localizado tiene o no dos vectores de movimiento de referencia hacia adelante o hacia atrás (S32).
Cuando se determina que el bloque co-localizado tiene dos vectores de movimiento de referencia hacia adelante o hacia atrás (Si en S32) , la unidad de cálculo de vectores de dirección temporal 114 deduce el vector de dirección temporal TMVLO en la dirección de predicción 0 por medio de la dirección temporal utilizando el vector de movimiento (mvLo) del bloque co-localizado (S33) . Adicionalmente, la unidad de cálculo de vectores de dirección temporal 114 deduce el vector de dirección temporal TMVL1 en la dirección de predicción 1 por medio de la dirección temporal utilizando el vector de movimiento (mvLl) del bloque co-localizado (S34) . La unidad de cálculo de vectores de dirección temporal 114 entonces agrega los vectores de dirección temporal T VLO y TMVLl a los vectores de movimiento predictivos, candidatos, respectivos en las direcciones de predicción 0 y 1 (S35) .
Cuando se determina que el bloque co-localizado no ' tiene dos vectores de movimiento de referencia hacia adelante o hacia atrás (No en S32), la unidad de cálculo de vectores de dirección temporal 114 determina si el bloque co- localizado es o no un bloque de referencia hacia atrás (S36) .
Cuando se determina que el bloque co-localizado es un bloque de referencia hacia atrás (Si en S36) , la unidad de cálculo de vectores de dirección temporal 114 determina si el bloque co-localizado tiene o no un vector de movimiento de referencia hacia adelante (mvLO) (S37). Cuando se determina que el bloque co-localizado tiene un vector de movimiento de referencia hacia adelante (mvLo) (Si en S37), la unidad de cálculo de vectores de dirección temporal 114 deduce el vector de dirección temporal TMVLO en la dirección de predicción 0 y el vector de dirección temporal TMVLl en la dirección de predicción 1 por medio de la dirección temporal utilizando el vector de movimiento de referencia hacia adelante (mvLO) (S38) y los agrega al vector de movimiento de predicción, candidato en las direcciones de predicción 0 y 1 (S35) .
Cuando se determina que el bloque co-localizado no tiene un vector de movimiento de referencia hacia adelante (mvLO) (No en S37), la unidad de cálculo de vectores de dirección temporal 114 deduce el vector de dirección temporal TMVLO en la dirección de predicción 0 y el vector de dirección temporal T VLl en la dirección de predicción 1 por medio de la dirección temporal utilizando el vector de movimiento de referencia hacia atrás (mvLl) del bloque colocalizado (S39) y los agrega a los vectores de movimiento predictivos, candidatos en las direcciones de predicción 0 y 1 (S35) .
Cuando se determina que el bloque co-localizado no es un bloque de referencia hacia atrás, es decir, el bloque co-localizado es un bloque de referencia hacia adelante (No en S36), la unidad de cálculo de vectores de dirección temporal 114 determina si el bloque co-localizado tiene o no un vector de movimiento de referencia hacia atrás (mvLl) (S40) .
Cuando se determina que el bloque co-localizado tiene un vector de movimiento de referencia hacia atrás (mvLl) (Si en S40) , la unidad de cálculo de vectores de dirección temporal 114 deduce el vector de dirección temporal TMVLO en la dirección de predicción 0 y el vector de dirección temporal TMVLl en la dirección de predicción 1 por medio de la dirección temporal utilizando el vector de movimiento de referencia hacia atrás (mvLl) (S41) y los agrega a los vectores de movimiento predictivos, candidatos en las direcciones de predicción 0 y 1 (S35) .
Cuando se determina que el bloque co-localizado no tiene un vector de movimiento de referencia hacia atrás (mvLl) (No en S40), la unidad de cálculo de vectores de dirección temporal 114 deduce el vector de dirección temporal TMVLO en la dirección de predicción 0 y el vector de dirección temporal TMVL1 en la dirección de predicción 1 por medio de la dirección temporal utilizando el vector de movimiento de referencia hacia adelante (mvLO) del bloque co-localizado (S42) y los agrega a los vectores de movimiento predictivos, candidatos en las direcciones de predicción 0 y 1 (S35).
Adicionalmente, cuando se determina que el bloque co-localizado no tiene vectores de movimiento de referencia (mvLO, mvLl) (No en S31), la unidad de cálculo de vectores de dirección temporal 114 evita la deducción basada en la dirección temporal de un vector de movimiento predictivo, candidato (S43) .
Después, un método para deducir un vector de movimiento por medio de la dirección temporal se describe en detalle .
La FIGURA 7A muestra un ejemplo de un método para calcular un vector de dirección temporal, el cual se aplica en el caso donde el bloque co-localizado tiene dos vectores de movimiento de referencia hacia adelante, específicamente, dos vectores de movimiento de referencia hacia adelante mvLO y mvLl. En el caso de la FIGURA 7A, la unidad de cálculo de vectores de dirección temporal 114 deduce el vector de dirección temporal TMVLO en la dirección de predicción 0 y el vector de dirección temporal TMVLl en la dirección de predicción 1 por medio de la dirección temporal utilizando los vectores de movimiento respectivos. Específicamente, la unidad de cálculo de vectores de dirección temporal 114 deduce el vector de dirección temporal TMVLO en la dirección de predicción 0 y el vector de dirección temporal TMVLl en la dirección de predicción 1 de acuerdo con la siguiente Expresión 4 y Expresión 5.
TMVLO = mvLO x (B8 - B4)/(B4 - B2) (Expresión 4) TMVLl = mvLl x (B8 - B4)/(B4 - B0) (Expresión 5) En este documento, (B4 - B2) representa información sobre una diferencia en el tiempo de exhibición entre la imagen B4 y la imagen B2. (B4 - B0) representa información sobre una diferencia en el tiempo de exhibición entre la imagen B4 y la imagen B0. (B8 - B4) representa información sobre una diferencia en el tiempo de exhibición entre la imagen B8 y la imagen B .
La FIGURA 7B muestra un ejemplo de un método para calcular un vector de dirección temporal, el cual se aplica en el caso donde el bloque co-localizado tiene dos vectores de movimiento de referencia hacia atrás, específicamente, dos vectores de movimiento de referencia hacia atrás mvLO y mvLl . En el caso de la FIGURA 7B, la unidad de cálculo de vectores de dirección temporal 114 deduce el vector de dirección temporal TMVLO en la dirección de predicción 0 y el vector de dirección temporal TMVL1 en la dirección de predicción 1 por medio de la dirección temporal utilizando los vectores de movimiento respectivos. Específicamente, la unidad de cálculo de vectores de dirección temporal 114 deduce el vector de dirección temporal TMVLO en la dirección de predicción 0 y el vector de dirección temporal TMVL1 en la dirección de predicción 1 de acuerdo con la siguiente Expresión 6 y Expresión 7.
TMVLO = mvLO x (B2 - B0)/(B4 - B2) (Expresión 6) TMVL1 = mvLl x (B2 - B0)/(B8 - B2) (Expresión 7) En este documento, (B4 - B2) representa información sobre una diferencia en el tiempo de exhibición entre la imagen B4 y la imagen B2. (B8 - B2) representa información sobre una diferencia en el tiempo de exhibición entre la imagen B8 y la imagen B2. (B2 - B0) representa información sobre una diferencia en el tiempo de exhibición entre la imagen B2 y la imagen B0.
La FIGURA 8A muestra un ejemplo de un método para calcular un vector de dirección temporal, el cual se aplica en el caso donde el bloque co-localizado es un bloque de referencia hacia atrás y tiene tanto un vector de movimiento de referencia hacia adelante como un vector de movimiento de referencia hacia atrás. En el caso de la FIGURA 8A, la unidad de cálculo de vectores de dirección temporal 114 deduce el vector de dirección temporal TMVLO en la dirección de predicción 0 y el vector de dirección temporal TMVL1 en la dirección de predicción 1 por medio de la dirección temporal utilizando el vector de movimiento de referencia hacia adelante. Específicamente, la unidad de cálculo de vectores de dirección temporal 114 deduce, utilizando el vector de movimiento de referencia hacia adelante, el vector de dirección temporal TMVLO en la dirección de predicción 0 y el vector de dirección temporal TMVL1 en la dirección de predicción 1 de acuerdo con la siguiente Expresión 8 y Expresión 9.
TMVLO = mvLO x (B2 - B0)/(B4 - BO) (Expresión 8) TMVL1 = mvLO x (B2 - B4)/(B4 - BO) (Expresión 9) En este documento, (B2 - BO) representa información sobre una diferencia en el tiempo de exhibición entre la imagen B2 y la imagen BO. (B2 - B4) representa información sobre una diferencia en el tiempo de exhibición entre la imagen B2 y la imagen B4. (B4 - BO) representa información sobre una diferencia en el tiempo de exhibición entre la imagen B4 y la imagen BO.
La FIGURA 8B muestra un ejemplo del cálculo de un vector de dirección temporal, el cual se aplica en el caso donde el bloque co-localizado es un bloque de referencia hacia atrás y tiene únicamente un vector de movimiento de referencia hacia atrás. En el caso de la FIGURA 8B, la unidad de cálculo de vectores de dirección temporal 114 deduce el vector de dirección temporal TMVLO en la dirección de predicción 0 y el vector de dirección temporal TMVL1 en la dirección de predicción 1 por medio de la dirección temporal utilizando el vector de movimiento de referencia hacia atrás. Específicamente, la unidad, de cálculo de vectores de dirección temporal 114 deduce, utilizando el vector de movimiento de referencia hacia atrás, el vector de dirección temporal TMVLO en la dirección de predicción 0 y el vector de dirección temporal TMVL1 en la dirección de predicción 1 de acuerdo con la siguiente Expresión 10 y Expresión 11.
TMVLO = mvLl x (B2 - B0)/(B4 - B8) (Expresión 10) ' TMVL1 = mvLl x (B2 - B4)/(B4 - B8) (Expresión 11) En este documento, (B2 - B0) representa información sobre una diferencia en el tiempo de exhibición entre la imagen B2 y la imagen B0. (B2 - B4) representa información sobre una diferencia en el tiempo de exhibición entre la imagen B2 y la imagen B4. (B4 - B8) representa información sobre una diferencia en el tiempo de exhibición entre la imagen B4 y la imagen B8.
La FIGURA 9A muestra un ejemplo de un método para calcular un vector de dirección temporal, el cual se aplica en el caso donde el bloque co-localizado es un bloque de referencia hacia adelante y tiene tanto un vector de movimiento de referencia hacia adelante como un vector de movimiento de referencia hacia atrás. En el caso de la FIGURA 9A, la unidad de cálculo de vectores de dirección temporal 114 deduce el vector de dirección temporal TMVLO en la dirección de predicción 0 y el vector de dirección temporal TMVL1 en la dirección de predicción 1 por medio de la dirección temporal utilizando el vector de movimiento de referencia hacia atrás. Específicamente, la unidad de cálculo de vectores de dirección temporal 114 deduce, utilizando el vector de movimiento de referencia hacia atrás, un vector de movimiento predictivo, candidato de acuerdo con la siguiente Expresión 12 y Expresión 13.
TMVLO = mvLl x (B6 - B8)/(B4 - B8) (Expresión 12) TMVL1 = mvLl x (B6 - B4)/(B4 - B8) (Expresión 13) En este documento, (B6 - B8) representa información sobre una diferencia en el tiempo de exhibición entre la imagen B6 y la imagen B8. (B6 - B ) representa información sobre una diferencia en el tiempo de exhibición entre la imagen B6 y la imagen B . (B4 - B8) representa información sobre una diferencia en el tiempo de exhibición entre la imagen B4 y la imagen B8.
La FIGURA 9B muestra un ejemplo del cálculo de un vector de dirección temporal, el cual se aplica en el caso donde el bloque co-localizado es un bloque de referencia hacia adelante y tiene únicamente un vector de movimiento de referencia hacia adelante. En el caso de la FIGURA 9B, la unidad de cálculo de vectores de dirección temporal 114 deduce el vector de dirección temporal TMVLO en la dirección de predicción 0 y el vector de dirección temporal TMVLl en la dirección de predicción 1 por medio de la dirección temporal utilizando el vector de movimiento de referencia hacia adelante. Específicamente, la unidad de cálculo de vectores de dirección temporal 114 deduce, utilizando el vector de movimiento de referencia hacia atrás, un vector de movimiento predictivo, candidato de acuerdo con la siguiente Expresión 14 y Expresión 15.
TMVLO = mvLO x (B6 - B8)/(B4 - B0) (Expresión 14) TMVLl = mvLO x (B6 - B4)/(B4 - B0) (Expresión 15) En este documento, (B6 - B8) representa información sobre una diferencia en el tiempo de exhibición entre la imagen B6 y la imagen B8. (B6 - B4) representa información sobre una diferencia en el tiempo de exhibición .entre la imagen B6 y la imagen B4. (B4 - BO) representa información sobre una diferencia en el tiempo de exhibición entre la imagen B4 y la imagen BO .
Como se indica anteriormente, la Modalidad 1 de la presente invención utiliza, al momento de codificar un vector de movimiento, un vector de movimiento predictivo el cual tiene el valor de error más pequeño de entre una pluralidad de vectores de movimiento predictivos, candidatos, con el resultado de que la eficiencia de codificación se puede mejorar. Por ejemplo, el valor de error es un valor de diferencia entre un vector de movimiento deducido a través de la estimación de movimiento y un vector de movimiento predictivo, seleccionado.
Adicionalmente, en la Modalidad 1, un vector de movimiento de referencia del bloque co-localizado que se utiliza en la dirección temporal se selecciona de acuerdo con la posición del bloque co-localizado y el número de vectores de movimiento de referencia del bloque co-localizado. Esto hace posible restringir los vectores de movimiento predictivos, candidatos a vectores exactos y hace posible de ese modo reducir la carga de procesamiento para la codificación y decodificación.
Específicamente, cuando el bloque co-localizado tiene dos vectores de movimiento de referencia hacia adelante o hacia atrás, es probable que el vector de movimiento del bloque actual y el vector de movimiento del bloque colocalizado sean aproximados en la misma dirección de predicción. Por consiguiente, el cálculo de un vector de dirección temporal en cada una de las direcciones de predicción a partir del vector de movimiento del bloque co-localizado en la misma dirección de predicción permite un 4 mejoramiento en la eficiencia de codificación. Más específicamente, el vector de dirección temporal TMVLO en la dirección de predicción 0 se calcula en la dirección temporal a partir del vector de movimiento mvLO del bloque co-localizado en la dirección de predicción 0 y el vector de dirección temporal TMVLl en la dirección de predicción 1 se calcula en la dirección temporal a partir del vector de movimiento mvLl del bloque co-localizado en la dirección de predicción 1.
Cuando el bloque co-localizado tiene tanto un vector de movimiento de referencia hacia adelante como un vector de movimiento de referencia hacia atrás, un vector de movimiento que se utiliza para el cálculo de cada uno del vector de dirección temporal TMVLO en la dirección de predicción 0 y el vector de dirección temporal TMVLl en la dirección de predicción 1 se selecciona de acuerdo con la posición del bloque co-localizado.
Por ejemplo, cuando el bloque co-localizado es un bloque de referencia hacia atrás, se utiliza un vector de movimiento de referencia hacia adelante. Específicamente, esto es debido a que el vector de movimiento de referencia hacia adelante es un vector de movimiento dirigido desde una imagen que incluye el bloque co-localizado hacia la imagen actual que incluye el bloque actual, el cual es probable que tenga un error de predicción más pequeño que un vector de movimiento de referencia hacia atrás. Cuando el bloque colocalizado es un bloque de referencia hacia adelante, se utiliza un vector de movimiento de referencia hacia atrás. Específicamente, esto es debido a que el vector de movimiento de referencia hacia atrás es un vector de movimiento dirigido desde la imagen que incluye el bloque co-localizado hacia la imagen actual que incluye el bloque actual, el cual es probable que tenga un error de predicción más pequeño que un vector de movimiento de referencia hacia adelante.
Se debe observar que aunque se determina en esta Modalidad 1 si el bloque co-localizado tiene o no dos vectores de movimiento de referencia hacia adelante o hacia atrás, también puede ser posible determinar adicionalmente la posición del bloque co-localizado al mismo tiempo. Específicamente, en el Paso S32 de la FIGURA 6, se determina si el bloque co-localizado tiene dos vectores de movimiento de referencia hacia adelante cuando el bloque co-localizado es un bloque de referencia hacia adelante o si el bloque colocalizado tiene dos vectores de movimiento de referencia hacia atrás cuando el bloque co-localizado es un bloque de referencia hacia atrás.
Cuando el bloque co-localizado es un bloque de referencia hacia atrás, el vector de movimiento de referencia hacia atrás es un vector de movimiento el cual se extiende hacia una imagen localizada en una posición opuesta a la imagen que incluye el bloque actual a través de la imagen que incluye el bloque co-localizado, con el resultado de que la exactitud de predicción se puede reducir.. En este caso, la unidad de cálculo de vectores de dirección temporal 114 calcula, en la dirección temporal, el vector de dirección temporal T VLO en la dirección de predicción 0 a partir del vector de movimiento mvLO en la dirección de predicción 0, y calcula, en la dirección temporal, el vector de dirección temporal TMVL1 en la dirección de predicción 1 a partir del vector de movimiento mvLl en la dirección de predicción 1. Esto hace posible incrementar la exactitud de predicción y reducir la carga de procesamiento al mismo tiempo.
Adicionalmente, en el Paso S43 de la FIGURA 6, cuando el bloque co-localizado no tiene un vector de movimiento de referencia, no se calcula un vector de dirección temporal. Sin embargo, es posible calcular un vector de dirección temporal mediante el uso de otro bloque como el bloque co-localizado.
Por ejemplo, cuando el bloque co-localizado es un bloque de referencia hacia atrás y no tiene un vector de movimiento de referencia, es concebible utilizar un bloque de referencia hacia adelante como el bloque co-localizado. En este caso, el uso de un vector de movimiento de referencia hacia atrás de entre los vectores de movimiento de referencia del bloque de referencia hacia adelante permite un mejoramiento en la exactitud de predicción. Adicionalmente, cuando el bloque de referencia hacia adelante no tiene un vector de movimiento de referencia hacia atrás, el uso de un vector de movimiento de referencia hacia adelante permite que se deduzca un vector de dirección temporal.
Cuando el bloque co-localizado es un bloque de referencia hacia adelante y no tiene un vector de movimiento de referencia, es concebible utilizar un bloque de referencia hacia atrás como el bloque co-localizado. En este caso, el uso de un vector de movimiento de referencia hacia adelante de entre los vectores de movimiento de referencia del bloque de referencia hacia atrás permite un mejoramiento en la exactitud de predicción. Adicionalmente, cuando el bloque de referencia hacia atrás no tiene un vector de movimiento de referencia hacia adelante, el uso de un vector de movimiento de referencia hacia atrás permite que se deduzca un vector de dirección temporal.
Por ejemplo, cuando el bloque co-localizado es un bloque dentro de una imagen asignada con un índice 0 en la lista de imágenes de referencia LO de la imagen actual y el bloque co-localizado que es especificado por el índice 0 en la lista de imágenes de referencia LO no tiene un vector de movimiento de referencia, es concebible utilizar un vector de movimiento de referencia de un bloque co-localizado que es especificado por un índice 0 en la lista de imágenes de referencia Ll.
Adicionalmente, aunque esta Modalidad 1 ha descrito el método para calcular un vector de dirección temporal en el cual un vector de movimiento deducido a través de la estimación de movimiento se utiliza como uno de los vectores de movimiento predictivos, candidatos que se utilizan al momento de la codificación, la presente invención no siempre está limitada a esta modalidad. Por ejemplo, como un modo de codificación para la inter-predicción del bloque actual en una imagen-B o una imagen-P en H. 264, existe un modo directo en el cual solo se codifica un valor de diferencia de datos de imagen y un vector de movimiento se predice con base en un bloque periférico o similar, y un modo de omisión en el cual ningún valor de diferencia de datos de imagen y ningún vector de movimiento se codifican y una imagen pronosticada en una posición indicada por un vector de movimiento pronosticado con base en un bloque periférico o similar se proporciona directamente como una imagen codificada. También en este modo directo y este modo de omisión, un vector de dirección temporal calculado por medio del mismo método o un método similar se puede aplicar como uno de los vectores de movimiento predictivos.
Adicionalmente, como un modo de inter-predicción para el bloque actual en una imagen-B o una imagen-P, existe un modo de agrupación en el cual un vector de movimiento y un índice de imagen de referencia se copian de un bloque adyacente o un bloque co-localizado del bloque actual para codificar el bloque actual. En el modo de agrupación, el índice del bloque adyacente o similar que se utiliza para el copiado se agrega a una corriente de bits, lo cual permite que se seleccione un vector de movimiento y un índice de imagen de referencia. También en este modo de agrupación, un vector de dirección temporal calculado por medio del fmismo método o un método similar se puede aplicar como un vector de movimiento predictivo del bloque co-localizado.
Adicionalmente, aunque, utilizando el indicador de dirección de referencia co-localizado, ya sea el bloque de referencia hacia adelante o el bloque de referencia hacia atrás se selecciona como un bloque co-localizado para calcular un vector de dirección temporal en esta Modalidad 1, la presente invención no siempre está limitada a esta modalidad. Por ejemplo, el bloque de referencia hacia adelante se define como un bloque co-localizado 1 y el bloque de referencia hacia atrás se define como un bloque colocalizado 2. Entonces puede ser posible que de acuerdo con la dirección de un vector de movimiento de referencia o el número de vectores de movimiento de referencia de cada uno del bloque co-localizado 1 y el bloque co-localizado 2, un vector de dirección temporal se calcule y se agregue a los vectores de movimiento predictivos, candidatos. El uso de ambos bloques co-localizados, los cuales son el bloque de referencia hacia adelante y el bloque de referencia hacia atrás como se indica anteriormente permite un mejoramiento en la exactitud para un vector de dirección temporal y de ese modo permite un mejoramiento en la eficiencia de codificación .
Adicionalmente, en la Modalidad 1, cuando el bloque co-localizado tiene dos vectores de movimiento de referencia hacia adelante o hacia atrás, el vector de dirección temporal TMVLO en la dirección de predicción 0 se calcula en la dirección temporal a partir del vector de movimiento mvLO del bloque co-localizado en la dirección de predicción 0, y el vector de dirección temporal TMVL1 en la dirección de predicción 1 se calcula en la dirección temporal a partir del vector de movimiento mvLl del bloque co-localizado en la dirección de predicción 1. Los vectores de dirección temporal TMVLO y TVML1 entonces se agregan a los vectores de movimiento predictivos, candidatos en las direcciones de predicción respectivas, pero la presente invención no siempre está limitada a esta modalidad. Por ejemplo, puede ser posible que ambos vectores de dirección temporal calculados TMVLO y TVML1 se agreguen a los vectores de movimiento predictivos, candidatos en cada uno de las direcciones de predicción. Esto permite un mejoramiento en la exactitud de los vectores de movimiento predictivos, candidatos y de ese modo permite un mejoramiento en la eficiencia de codificación .
Modalidad 2 En esta Modalidad 2, el Paso S52 es diferente del Paso S32 de la Modalidad 1. Las siguientes descripciones se enfocan en las diferencias de la Modalidad 1.
En el Paso S52 de la FIGURA 10, se determina si las imágenes de referencia en las listas de referencia LO y Ll de una imagen codificada se asignan con índices de imagen de referencia de la misma manera. Generalmente, en la lista de referencia Ll, las imágenes localizadas después de la imagen actual en el orden del tiempo de exhibición se asignan con índices de imágenes de referencia. Mientras tanto, en la lista de referencia LO, las imágenes localizadas antes de la imagen actual en el orden del tiempo de exhibición se asignan con índices de imágenes de referencia. Por consiguiente, cuando las imágenes de referencia en las listas de referencia Ll y LO de una imagen codificada se asignan con índices de imágenes de referencia de la misma manera, la dirección de referencia se limita a cualquiera de las direcciones hacia adelante y hacia atrás en el orden de exhibición de la imagen actual .
Más específicamente, cuando se determina que las imágenes de referencia en las listas de referencia LO y Ll de una imagen codificada se asignan con índices de imágenes de 2 referencia de la misma manera (Si en S52), la unidad de cálculo de vectores de dirección temporal 114 deduce el vector de dirección temporal TMVLO en la dirección de predicción 0 y el vector de dirección temporal TMVL1 en la dirección de predicción 1 por medio de la dirección temporal utilizando los vectores de movimiento de referencia mvLO y mvLl de un bloque co-localizado (S53, S54) .
Es probable que el vector de movimiento del bloque actual y el vector de movimiento del bloque co-localizado se aproximen en la misma dirección de predicción. Por consiguiente, el cálculo de un vector de dirección temporal en cada una de las direcciones de predicción del vector de movimiento del bloque co-localizado en la misma dirección de predicción permite un mejoramiento en la eficiencia de codificación. Más específicamente, la unidad de cálculo de vectores de dirección temporal 114 calcula, en la dirección temporal, el vector de dirección temporal TMVLO en la dirección de predicción 0 a partir del vector de movimiento mvLO del bloque co-localizado en la dirección de predicción 0, y calcula, en la dirección temporal, el vector de dirección temporal TMVLl en la dirección de predicción 1 a partir del vector de movimiento mvLl del bloque co-localizado en la dirección de predicción 1.
Cuando el bloque co-localizado tiene solo uno de los vectores de movimiento de referencia mvLO y mvLl (No en S52), la unidad de cálculo de vectores de dirección temporal 114 deduce el vector de dirección temporal TMVLO en la dirección de predicción 0 y el vector de dirección temporal T VL1 en la dirección de predicción 1 por medio de la dirección temporal utilizando solo uno de los vectores de movimiento de referencia mvLO y mvLl (de S56 a S62) . El procesamiento subsecuente al Paso S56 es el mismo que los Pasos de S36 a S42 de la Modalidad 1 y por lo tanto no se describe .
De esta manera, en la Modalidad 2 de la presente invención, la carga de procesamiento para la codificación y decodificación se reduce al hacer determinaciones con base en las listas de referencia. Puesto que las listas de referencia son mantenidas por cada imagen, la determinación se hace por imagen. Esto significa que la determinación por bloque ya no es necesaria lo cual permite una reducción en la carga de procesamiento.
Se debe observar que aunque el vector de dirección temporal TMVLO en la dirección de predicción 0 se calcula en la dirección temporal del vector de movimiento mvLO de un bloque co-localizado en la dirección de predicción 0 y el vector de dirección temporal TMVL1 en la dirección de predicción 1 se calcula en la dirección temporal a partir del vector de movimiento mvLl en la dirección de predicción 1 cuando las imágenes de referencia en las listas de referencia LO y Ll se asignan con índices de imágenes de referencia de la misma manera en esta Modalidad 2, la presente invención no está limitada a esta modalidad.
Por ejemplo, puede ser posible que cuando las imágenes de referencia en las listas de referencia LO y Ll de una imagen de referencia que incluye un bloque co-localizado sean asignadas con índices de imágenes de referencia de la misma manera, el vector de dirección temporal TMVLO en la dirección de predicción 0 se calcula en la dirección temporal a partir del vector de movimiento mvLO del bloque colocalizado en la dirección de predicción 0, y el vector de dirección temporal TMVL1 en la dirección de predicción 1 se calcula en la dirección temporal a partir del vector de movimiento mvLl del bloque co-localizado en la dirección de predicción 1.
Como todavía otro ejemplo, también puede ser posible que cuando todas las imágenes de referencia mantenidas en las listas de referencia LO y Ll de una imagen codificada se localicen antes de la imagen actual en el orden de exhibición o se localicen después de la imagen actual en el orden de exhibición, el vector de dirección temporal TMVLO en la dirección de predicción 0 se calcula en la dirección temporal a partir del vector de movimiento mvLO del bloque co-localizado en la dirección de predicción 0, y el vector de dirección temporal TVMLl en la dirección de predicción 1 se 5 calcula en la dirección temporal a partir del vector de movimiento mvLl del bloque co-localizado en la dirección de predicción 1.
Modalidad 3 Después, con referencia a las FIGURAS 11 y 12, se describe un método de decodificación de imágenes en movimiento y un aparato de decodificación de imágenes en movimiento de acuerdo con la modalidad 3. Las descripciones detalladas en común con la Modalidad 1 se omiten mientras que las diferencias de la Modalidad 1 se describen principalmente .
La FIGURA 11 es un diagrama de bloques que muestra un aparato de decodificación de imágenes en movimiento de acuerdo con la Modalidad 3 de la presente invención.
En la Modalidad 3, un bloque incluido en una imagen la cual está localizada, en el orden del tiempo de exhibición, antes de una imagen actual que es codificada es referido como un bloque de referencia hacia adelante. Un bloque incluido en una imagen la cual está localizada después de la imagen actual en el orden del tiempo de exhibición es referido como un bloque de referencia hacia atrás.
Un aparato de decodificación de imágenes en movimiento 200 incluye, como se muestra en la FIGURA 11, una unidad de codificación de longitud variable 201, una unidad de cuantificación inversa 202, una unidad de trasformación ortogonal inversa 203, una unidad de adición 204, una memoria de bloques 205, una memoria de tramas 206, una unidad de intra-predicción 207, una unidad de inter-predicción 208, un conmutador 209, una unidad de control de inter-predicción 210 y una unidad de cálculo de vectores de dirección temporal 211. Este aparato de decodificación de imágenes en movimiento 200 decodifica una corriente de bits, por ejemplo, fuera del aparato de codificación de imágenes en movimiento 100 de acuerdo con la Modalidad 1.
La unidad de decodificación de longitud variable 201 realiza una decodificación de longitud variable en la corriente de bits recibida, envía coeficientes cuantificados a la unidad de cuantificación inversa 202, envía información de tipo de imagen al conmutador 209 y la unidad de control de inter-predicción 210, envía un índice de vector de movimiento predictivo a la unidad de control de inter-predicción 210, y envía un indicador de dirección de referencia co-localizada a la unidad de cálculo de vectores de dirección temporal 211.
La unidad de cuantificación inversa 202 reconstruye un coeficiente de transformación al cuantificar de manera inversa el coeficiente cuantificado que se obtiene de la unidad de decodificación de longitud variable 201 y envía el coeficiente de transformación reconstruido a la unidad de transformación ortogonal inversa 203. La unidad de transformación ortogonal inversa 203 reconstruye un bloque residual al transformar, del dominio de frecuencia al dominio de imagen, el coeficiente de transformación reconstruido que se obtiene de la unidad de cuantificación inversa 202, y envía el bloque residual reconstruido a la unidad de adición 204.
La unidad de adición 204 reconstruye un bloque decódificado al agregar el bloque residual reconstruido que se obtiene de la unidad de trasformación ortogonal inversa 203 y un bloque de predicción obtenido del conmutador 209. La unidad de adición 204 entonces envía, al exterior del aparato, una secuencia de imagen decodificada que incluye el bloque decódificado que se reconstruye como antes y almacena la secuencia de imagen decodificada en la memoria de bloques 205 y la memoria de tramas 206. La memoria de bloques 205 almacena, por bloque, la secuencia de imagen decodificada que se obtiene de la unidad de adición 204. La memoria de tramas 206 almacena, por trama, la secuencia de imagen decodificada que se obtiene de la unidad de adición 204.
La unidad de intra-predicción 207 realiza una intra-predicción utilizando la secuencia de imagen bloque por bloque decodificada que se almacena en la memoria de bloques 205, para generar un bloque de predicción del bloque actual y envía el bloque de predicción generado al conmutador 209. La unidad de inter-predicción 208 realiza una inter-predicción utilizando la secuencia de imagen trama por trama decodificada que se almacena en la memoria de tramas 206, para generar un bloque de predicción del bloque actual y envía el bloque de predicción generado al conmutador. El conmutador 209 envía, a la unidad de adición 204, el bloque de predicción generado por la unidad de intra-predicción 207 o el bloque de predicción generado por la unidad de inter- predicción 208.
La unidad de cálculo de vectores de dirección temporal 211 deduce un vector de movimiento predictivo, candidato por medio de la dirección temporal utilizando el indicador de dirección de referencia co-localizada que se obtiene de la unidad de decodificación de longitud variable 201. Específicamente, cuando el bloque co-localizado que es identificado por el indicador de dirección de referencia co- localizada tiene dos vectores de movimiento de referencia ¦ hacia adelante o hacia atrtás, la unidad de cálculo de vectores de dirección temporal 211 deduce el vector de dirección temporal TMVLO en la dirección de predicción 0 y el vector de dirección temporal TMVL1 en la dirección de predicción 1 por medio de la dirección temporal utilizando los dos vectores de movimiento del bloque co-localizado. Adicionalmente, la unidad de cálculo de vectores de dirección temporal 211 asigna cada uno de los vectores de dirección temporal en las direcciones de predicción respectivas con un valor de un índice de vector de movimiento predictivo correspondiente .
Cuando el bloque co-localizado que es identificado por el indicador de dirección de referencia co-localizada no tiene dos vectores de movimiento de referencia hacia adelante o hacia atrás, la unidad de cálculo de vectores de dirección temporal 211 determina, con base en si el bloque colocalizado es un bloque de referencia hacia adelante o un bloque de referencia hacia atrás, un vector de movimiento del bloque co-localizado el cual se debe utilizar en la dirección temporal.
Específicamente, cuando el bloque co-localizado es un bloque de referencia hacia atrás, la unidad de cálculo de vectores de dirección temporal 211 deduce el vector de dirección temporal TMVLO en la dirección de predicción 0 y el vector de dirección temporal TMVLl en la dirección de predicción 1 por medio de la dirección temporal utilizando un vector de movimiento de referencia hacia adelante del bloque co-localizado. Se debe observar que cuando el bloque colocalizado no tiene un vector de movimiento de referencia hacia adelante, la unidad de cálculo de vectores de dirección temporal 211 deduce el vector de dirección temporal TMVLO en la dirección de predicción 0 y el vector de dirección temporal TMVLl en la dirección de predicción 1 por medio de la dirección temporal utilizando un vector de movimiento de referencia hacia atrás del bloque co-localizado.
Cuando el bloque co-localizado es un bloque de referencia hacia adelante, la unidad de cálculo de vectores de dirección temporal 211 deduce el vector de dirección temporal TMVLO en la dirección de predicción 0 y el vector de dirección temporal TMVL1 en la dirección de predicción 1 por medio de la dirección temporal utilizando un vector de movimiento de referencia hacia atrás del bloque colocalizado. Se debe observar que cuando el bloque colocalizado no tiene un vector de movimiento de referencia hacia atrás, la unidad de cálculo de vectores de dirección temporal 211 deduce el vector de dirección temporal TMVLO en la dirección de predicción 0 y el vector de dirección temporal TMVL1 en la dirección de predicción 1 por medio de la dirección temporal utilizando un vector de movimiento de referencia hacia adelante del bloque co-localizado.
La unidad de control de inter-predicción 208 especifica, de entre una pluralidad de vectores de movimiento predictivos, candidatos, un vector de movimiento predictivo el cual corresponde al índice de vector de movimiento predictivo que se obtiene de la unidad de decodificación de longitud variable 201. La unidad de control de inter-predicción 210 entonces agrega, al vector de movimiento predictivo, especificado, información de error sobre el vector de movimiento predictivo en relación con el vector de movimiento, para calcular de ese modo un vector de movimiento el cual se debe utilizar para la inter-predicción .
La FIGURA 12 muestra un bosquejo de un flujo de procesamiento del método de decodificación de imágenes en movimiento de acuerdo con la Modalidad 3 de la presente invención.
En primer lugar, la unidad de decodificación de longitud variable 201 realiza una decodificación de longitud variable en el indicador de dirección de referencia colocalizada por imagen (S71). La unidad de decodificación de longitud variable 201 entonces envía el indicador decodificado de dirección de referencia co-localizada a la unidad de cálculo de vectores de dirección temporal 211.
Después, la unidad de cálculo de vectores de dirección temporal 211 determina, con base en el indicador decodificado de dirección de referencia co-localizada, si un bloque de referencia hacia adelante debe ser un bloque colocalizado o un bloque de referencia hacia atrás debe ser un bloque co-localizado . Adicionalmente, la unidad de cálculo de vectores de dirección temporal 211 deduce un vector de dirección temporal por medio de la dirección temporal utilizando un vector de movimiento de referencia del bloque co-localizado. La unidad de cálculo de vectores de dirección temporal 211 entonces envía, como un vector de movimiento predictivo, candidato, el vector de dirección temporal deducido a la unidad de control de inter-predicción 210 Específicamente, cuando el bloque co-localizado tiene dos vectores de movimiento de referencia hacia adelante o hacia atrás, la unidad de cálculo de vectores de dirección temporal 211 deduce el vector de dirección temporal TMVLO en la dirección de predicción 0 y el vector de dirección temporal TMVL1 en la dirección de predicción 1 por medio de la dirección temporal utilizando los dos vectores de movimiento del bloque co-localizado. Adicionalmente , la unidad de cálculo de vectores de dirección temporal 211 asigna cada uno de los vectores de dirección temporal en las direcciones de predicción respectivas con un valor de un índice de vector de movimiento predictivo, correspondiente. Los índices de vectores de movimiento predictivos se asignan de acuerdo con el método para asignar índices de vectores de movimiento predictivos de la Modalidad 1.
Cuando el bloque co-localizado no tiene dos vectores de movimiento de referencia hacia adelante o hacia atrás, la unidad de cálculo de vectores de dirección temporal 211 determina, con base en si el bloque co-localizado es un bloque de referencia hacia adelante o un bloque de referencia hacia atrás, un vector de movimiento del bloque co-localizado el cual se debe utilizar en la dirección temporal.
Específicamente, cuando el bloque co-localizado es un bloque de referencia hacia atrás, la unidad de cálculo de vectores de dirección temporal 211 deduce el vector de dirección temporal TMVLO en la dirección de predicción 0 y el vector de dirección temporal TMVL1 en la dirección de predicción 1 por medio de la dirección temporal utilizando un vector de movimiento de referencia hacia adelante del bloque co-localizado . Se debe observar que cuando el bloque colocalizado no tiene un vector de movimiento de referencia hacia adelante, la unidad de cálculo de vectores de dirección temporal 211 deduce el vector de dirección temporal TMVLO en la dirección de predicción 0 y el vector de dirección temporal TMVL1 en la dirección de predicción 1 por medio de la dirección temporal utilizando un vector de movimiento de referencia hacia atrás.
Cuando el bloque co-localizado es un bloque de referencia hacia adelante, la unidad de cálculo de vectores de dirección temporal 211 deduce el vector de dirección temporal TMVLO en la dirección de predicción 0 y el vector de dirección temporal TMVL1 en la dirección de predicción 1 por medio de la dirección temporal utilizando un vector de movimiento de referencia hacia atrás del bloque colocalizado. Se debe observar que cuando el bloque colocalizado no tiene un vector de movimiento de referencia hacia atrás, la unidad de cálculo de vectores de dirección temporal 211 deduce el vector de dirección temporal TMVLO en la dirección de predicción 0 y el vector de dirección temporal TMVL1 en la dirección de predicción 1 por medio de la dirección temporal utilizando un vector de movimiento de referencia hacia adelante.
Después, la unidad de control de inter-predicción 210 determina, de entre una pluralidad de vectores de movimiento predictivos, candidatos, un vector de movimiento el cual se utiliza para la inter-predicción, con base en el índice de vector de movimiento predictivo que se obtiene de la unidad de decodificación de longitud variable 201. Adicionalmente, la unidad de control de inter-predicción agrega la información de error al vector de movimiento predictivo determinado, deduce un vector de movimiento y envía el vector de movimiento deducido a la unidad de inter-predicción 208 (S73). La unidad de inter-predicción 208 realiza. una inter-predicción utilizando un vector de movimiento que- se obtiene de la unidad de control de inter-predicción 210.
Como se indica anteriormente, en la Modalidad 3 de la presente invención, se puede seleccionar el vector de movimiento que es más adecuado para el bloque actual, lo cual permite que una corriente de bits comprimida con alta eficiencia sea decodificada apropiadamente.
Adicionalmente, un vector de movimiento de referencia del bloque co-localizado el cua-1 se debe utilizar en la dirección temporal se selecciona de acuerdo con la posición del bloque co-localizado y el número de vectores de movimiento de referencia del bloque co-localizado, lo cual hace posible restringir los vectores de movimiento predictivos, candidatos, a vectores exactos y hace posible de ese modo reducir la carga de procesamiento.
Específicamente, cuando el bloque co-localizado tiene dos vectores de movimiento de referencia hacia adelante o hacia atrás, es probable que el vector de movimiento del bloque actual y el vector de- movimiento del bloque co-localizado sean aproximados en la misma dirección de predicción. Por consiguiente, el cálculo de un vector de dirección temporal en cada una de las direcciones de predicción a partir del vector de movimiento del bloque colocalizado en la misma dirección de predicción permite un mejoramiento en la eficiencia de codificación. Más específicamente, la unidad de cálculo de vectores de dirección temporal 211 calcula, en la dirección temporal, el vector de dirección temporal T VLO en la dirección de predicción 0 a partir del vector de movimiento mvLO del bloque co-localizado en la dirección de predicción 0, y calcula, en la dirección temporal, el vector de dirección temporal TMVL1 en la dirección de predicción 1 a partir del vector de movimiento mvLl en la dirección de predicción 1.
Cuando el bloque co-localizado tiene tanto un vector de movimiento de referencia hacia adelante como un vector de movimiento de referencia hacia atrás, un vector de movimiento que se utiliza para el cálculo de cada uno del vector de dirección temporal TMVLO en la dirección de predicción 0 y el vector de dirección temporal TMVL1 en la dirección de predicción 1 se selecciona de acuerdo con la posición del bloque co-localizado.
Por ejemplo, cuando el bloque co-localizado es un bloque de referencia hacia atrás, se utiliza un vector de movimiento de referencia hacia adelante. Esto es debido a que el vector de movimiento de referencia hacia adelante es un vector de movimiento dirigido desde una imagen que incluye el bloque co-localizado hacia una imagen que incluye el bloque actual, el cual es probable que tenga un error de predicción más pequeño que un vector de movimiento de referencia hacia atrás. Cuando el bloque co-localizado es un bloque de referencia hacia adelante, se utiliza un vector de movimiento de referencia hacia atrás. Esto es debido a que el vector de movimiento de referencia hacia atrás es un vector de movimiento dirigido desde la imagen que incluye el bloque co-localizado hacia la imagen actual que incluye el bloque actual, el cual es probable que tenga un error de predicción más pequeño que un vector de movimiento de referencia hacia adelante .
Adicionalmente , en lugar de determinar si el bloque co-localizado tiene dos vectores de movimiento de referencia hacia adelante o hacia atrás, puede ser posible determinar si las 'imágenes de referencia en las listas de referencia LO y Ll se asignan con índices de imágenes de referencia de la misma manera. Generalmente, en la lista de referencia Ll, las imágenes localizadas después de la imagen actual en el orden del tiempo de exhibición se asignan con índices de imágenes de referencia. Mientras tanto, en la lista de referencia LO, las imágenes localizadas . antes de la imagen actual en el orden del tiempo de exhibición se asignan con índices de imágenes de referencia.
Por consiguiente, cuando las imágenes de referencia en las listas de referencia Ll y LO se asignan con índices de imágenes de referencia de la misma manera, la dirección de referencia se limita a cualquiera de las direcciones hacia adelante y hacia atrás en el orden de exhibición de la imagen actual. De esta manera, la determinación con base en las listas de referencia permite una reducción en la carga de procesamiento. Puesto que las listas de referencia son mantenidas por cada imagen, es suficiente que la determinación se haga por imagen, con el resultado de que la determinación por bloque ya no es necesaria.
Como todavía otro ejemplo, también puede ser posible que cuando todas las imágenes de referencia mantenidas en las listas de referencia LO y Ll de una imagen decodificada se localicen antes de la imagen actual en el orden de exhibición o se localicen después de la imagen actual en el orden de exhibición, el vector de dirección temporal TMVLO en la dirección de predicción 0 se calcula en la dirección temporal a partir del vector de movimiento mvLO del bloque co-localizado en la dirección de predicción 0 y el vector de dirección temporal TVML1 en la dirección de predicción 1 se calcula en la dirección temporal a partir del vector de movimiento mvLl del bloque co-localizado en la dirección de predicción 1.
Aunque en la descripción anterior no se calcula un vector de dirección temporal cuando el bloque co-localizado no tiene un vector de movimiento de referencia, es posible calcular un vector de dirección temporal mediante el uso de otro bloque como el bloque co-localizado.
Por ejemplo, cuando el bloque co-localizado es un bloque de referencia hacia atrás y no tiene un vector de movimiento de referencia, es concebible utilizar un bloque de referencia hacia adelante como el bloque co-localizado. En este caso, el uso de un vector de movimiento de referencia hacia atrás de entre los vectores de movimiento de referencia del bloque de referencia hacia adelante permite un mejoramiento en la exactitud de predicción. Cuando el bloque de referencia hacia adelante no tiene un vector de movimiento de referencia hacia atrás, el uso de un vector de movimiento de referencia hacia adelante permite que se deduzca un vector de dirección temporal.
Cuando el bloque co-localizado es un bloque de referencia hacia adelante y no tiene un vector de movimiento de referencia, es concebible utilizar un bloque de referencia hacia atrás como el bloque co-localizado. En este caso, el uso de un vector de movimiento de referencia hacia adelante de entre los vectores de movimiento de referencia del bloque de referencia hacia atrás permite un mejoramiento en la exactitud de predicción. Cuando el bloque de referencia hacia atrás no tiene un vector de movimiento de referencia hacia adelante, el uso de un vector de movimiento de referencia hacia atrás permite que se deduzca un vector de dirección temporal .
Por ejemplo, cuando el bloque co-localizado es un bloque dentro de una imagen asignada con un índice 0 en la lista de imágenes de referencia LO de la imagen actual y el bloque co-localizado que es especificado por el índice 0 en la lista de imágenes de referencia LO no tiene un vector de movimiento de referencia, es concebible utilizar un vector de movimiento de referencia de un bloque co-localizado que es especificado por un índice 0 en la lista de imágenes de referencia Ll .
Adicionalmente, aunque esta Modalidad 3 ha descrito un método para calcular un vector de dirección temporal en el cual un vector de movimiento deducido a través de la estimación de movimiento se utiliza como uno de los vectores de movimiento predictivos, candidatos que se utilizan al momento de la codificación, la presente invención no siempre está limitada a esta modalidad. Por ejemplo, como un modo de decodificación para la inter-predicción del bloque actual en una imagen-B o una imagen-P en H. 264, existe un modo directo en el cual solo se decodifica un valor de diferencia de datos de imagen y un vector de movimiento se predice con base en un bloque periférico o similar, y un modo de -omisión en el cual ningún valor de diferencia de datos de imagen y ningún vector de movimiento se decodifican y una imagen pronosticada en una posición indicada por un vector de movimiento pronosticado con base en un bloque periférico o similar se proporciona directamente como una imagen codificada. También en este modo directo y este modo de omisión, un vector de dirección temporal calculado por medio del mismo método o un método similar se puede aplicar como uno de los vectores de movimiento predictivos, candidatos.
Adicionalmente, como un modo de inter-predicción para el bloque actual en una imagen-B o una imagen-P, existe un modo de agrupación en el cual un vector de movimiento y un índice de imagen de referencia se copian de un bloque adyacente o un bloque co-localizado del bloque actual para decodificar el bloque actual. En el modo de agrupación, el índice del bloque adyacente o similar que se utiliza para el copiado se agrega a una corriente de bits, lo cual permite que se seleccione un vector de movimiento y un índice de imagen de referencia. También en este modo de agrupación, un vector de dirección temporal calculado por medio del mismo método o un método similar se puede aplicar como un vector de movimiento predictivo del bloque co-localizado .
Modalidad 4 El procesamiento descrito en cada una de las Modalidades se puede implementar simplemente en un sistema de computadora independiente, al grabar, en un medio de grabación, un programa para implementar la configuración del método de codificación de imágenes en movimiento (el método de codificación de imágenes) o el método de .decodificación de imágenes en movimiento (el método de decodificación de imágenes) descritos en la modalidad. Los medios de grabación pueden ser cualquier medio de grabación siempre y cuando el programa pueda ser grabado, tal como un disco magnético, un disco óptico, un disco óptico magnético, una tarjeta IC y una memoria semiconductora.
En lo sucesivo, se describirán las aplicaciones para el método de codificación de imágenes en movimiento (el método de codificación de imágenes) y el método de decodificación de imágenes en movimiento (el método de decodificación de imágenes) descritos en las Modalidades y sistemas utilizando los mismos. Este sistema se caracteriza por incluir un aparato de codificación y decodificación de imágenes compuesto del aparato de codificación de imágenes que utiliza el método de codificación de imágenes y el aparato de decodificación de imágenes que utiliza el método de decodificación de imágenes. La otra estructura del sistema se puede cambiar apropiadamente dependiendo de las situaciones.
La FIGURA 15 ilustra una configuración completa de un sistema de provisión de contenido exlOO para implementar los servicios de distribución de contenido. El área para proporcionar servicios de comunicación se divide en celdas del tamaño deseado y las estaciones base exl07, exl08, exl09 y exllO las cuales son estaciones inalámbricas fijas se colocan en cada una de las celdas.
El sistema de provisión de contenido exlOO se conecta a dispositivos, tal como una computadora exlll, un asistente digital personal (PDA, .por sus siglas en inglés) exll2, una cámara exll3, un teléfono celular exll4 y una consola de videojuegos exll5, por vía de la Internet exlOl, un proveedor de servicios de Internet exl02, una red telefónica exl04, asi como también las estaciones base exl06 a exllO, respectivamente.
Sin embargo, la configuración del sistema de provisión de contenido exlOO no está limitada a la configuración mostrada en la FIGURA 15 y es aceptable una combinación en la cual cualquiera de los elementos se conecta. Además, cada dispositivo se puede conectar directamente a la red telefónica exl04, preferiblemente que por vía de las estaciones base exl06 a exllO las cuales son las estaciones inalámbricas fijas. Adicionalmente, los dispositivos se pueden interconectar entre si por vía de una comunicación inalámbrica a corta distancia y otras.
La cámara exll3, tal como una cámara de video digital, es capaz de capturar video. Una cámara exll6, tal como una cámara de video digital, es capaz de capturar tanto imágenes fijas como video. Adicionalmente, el teléfono celular exll4 puede ser aquel que cumpla con cualquiera de los estándares tales como el Sistema Global para Comunicaciones Móviles (GSM, por sus siglas en inglés) (marca registrada) , Acceso Múltiple por División de Código (CDMA, por sus siglas en inglés), Acceso Múltiple por División de Código de Banda Ancha (W-CDMA, por sus siglas en inglés) , Evolución a Largo Plazo (LTE, por sus siglas en inglés) y Acceso de Paquetes a Alta Velocidad (HSPA, por sus siglas en inglés) . Alternativamente, el teléfono celular exll4 puede ser un Sistema de Teléfonos Personales (PHS, por sus siglas en inglés ) .
En el sistema de provisión de contenido exlOO, un servidor de transmisión ininterrumpida exl03 se conecta a la cámara exll3 y otros por vía de la red telefónica exl04 y la estación base exl09, lo cual hace posible la distribución de imágenes de un espectáculo en vivo y otros. En esta distribución, un contenido (por ejemplo, video de un espectáculo musical en vivo) capturado por el usuario utilizando la cámara exll3 se codifica como se describiera anteriormente en las Modalidades (es decir, el sistema funciona como el aparato de codificación de imágenes de acuerdo con una implementacion de la presente invención) y el contenido codificado se transmite al servidor de transmisión ininterrumpida exl03. Por otra parte, el servidor de transmisión ininterrumpida exl03 lleva a cabo, la distribución ininterrumpida de los datos de contenido transmitidos a los clientes cuando lo soliciten. Los clientes incluyen la computadora exlll, el PDA exll2, la cámara exll3, el teléfono celular exll4 y la consola de videojuegos exll5 que son capaces de decodificar los datos codificados que se mencionaron anteriormente. Cada uno de los dispositivos que han recibido los datos distribuidos decodifica y reproduce los datos recibidos (es decir, el sistema funciona como el aparato de decodificación de imágenes de acuerdo con la implementacion de la presente invención) .
Los datos capturados pueden ser codificados por la cámara exll3 o el servidor de transmisión ininterrumpida exl03 que transmite los datos, o los procesos de codificación pueden ser compartidos entre la cámara exll3 y el servidor de transmisión ininterrumpida exl03. Similarmente, los datos distribuidos pueden ser decodificados por los clientes o el servidor de transmisión ininterrumpida exl03, o los procesos de decodificación pueden ser compartidos entre los clientes y el servidor de transmisión ininterrumpida exl03. Adicionalmente, los datos de las imágenes fijas y video capturados no solo por la cámara exll3 sino también la cámara exll6 pueden ser transmitidos al servidor de transmisión ininterrumpida exl03 a través de la computadora exlll. Los procesos de codificación pueden ser realizados por · la cámara exll6, la computadora exlll o el servidor de transmisión ininterrumpida exl03, o pueden ser compartidos entre los mismos.
Adicionalmente, los procesos de codificación y decodificación pueden ser realizados por un LSI ex500 incluido generalmente en cada uno de la computadora exlll y los dispositivos. El LSI ex500 se puede configurar de un chip individual o una pluralidad de chips . El software para codificar y decodificar video puede ser sintetizado en algún tipo de medio de grabación (tal como un CD-ROM, disco flexible y disco duro) que es legible por la computadora exlll y otros, y los procesos de codificación y decodificación se pueden realizar utilizando el software. Adicionalmente, cuando el teléfono celular exll4 se equipa con una cámara, los datos de imagen obtenidos por la cámara se pueden transmitir. Los datos de video son datos codificados por el LSI ex500 incluido en el teléfono celular exll4.
Adicionalmente, el servidor de transmisión ininterrumpida exl03 puede estar compuesto de servidores y computadoras y puede descentralizar datos y procesar los datos descentralizados, grabar o distribuir datos.
Como se describiera anteriormente, los clientes pueden recibir y reproducir los datos codificados en el sistema de provisión de contenido exlOO. En otras palabras, los clientes pueden recibir y decodificar información transmitida por el usuario y pueden reproducir los datos decodificados en tiempo real en el sistema de provisión de contenido exlOO, de modo que el usuario que no tiene ningún derecho y equipo particular puede implementar una difusión personal .
Además del ejemplo del sistema de provisión de contenido exlOO, por lo menos uno del aparato de codificación de imágenes en movimiento (aparato de codificación de imágenes) y el aparato de decodificación de imágenes en movimiento (aparato de decodificación de imágenes) descritos en cada una de las Modalidades se pueden implementar en un sistema de difusión digital ex200 ilustrado en la FIGURA 16. Más específicamente, una estación de difusión ex201 comunica o transmite, por vía de ondas de radio a un satélite de difusión ex202, datos multiplexados que se obtienen al raultiplexar datos de audio y otros en datos de video. Los datos de video son datos codificados por medio del método de codificación de imágenes en movimiento descrito en cada una de las Modalidades (es decir, los datos de video son datos codificados por el aparato de codificación de imágenes de acuerdo con una implementacion de la presente invención) . Con la recepción de los datos multiplexados, el satélite de difusión ex202 transmite ondas de radio para la difusión. Luego, una antena de uso casero ex204 con una función de recepción de difusión satelital recibe las ondas de radio. Después, un dispositivo tal como una televisión (receptor) ex300 y un sintonizador externo (STB, por sus siglas en inglés) ex217 decodifica los datos multiplexados recibidos y reproduce los datos decodificados (es decir, el sistema funciona como el aparato de decodificación de imágenes de acuerdo con una implementacion de la presente invención) .
Adicionalmente, un lector/grabador ex218 (i) lee y decodifica los datos multiplexados . que están grabados en un medio de grabación ex215, tal como un DVD y un BD o (ii) codifica señales de video en el medio de grabación ex215, y en algunos casos, escribe datos obtenidos al multiplexar una señal de audio en los datos codificados. El lector/grabador ex218 puede incluir el aparato de decodificación de imágenes en movimiento o el aparato de codificación de imágenes en movimiento como se muestra en cada una de las Modalidades. En este caso, las señales de video reproducidas son exhibidas en el monitor ex219 y pueden ser reproducidas por otro dispositivo o sistema utilizando el medio de grabación ex215 en, el cual se graban los datos multiplexados . También es posible implementar el aparato de decodificación de imágenes en movimiento en el sintonizador externo ex217 conectado al cable ex203 para una televisión de cable o a la antena ex204 para la difusión satelital y/o terrestre, con el fin de exhibir las señales de video en el monitor ex219 de la-televisión ex300. El aparato de decodificación de imágenes en movimiento puede no ser implementado en el sintonizador externo sino en la televisión ex300.
La FIGURA 17 ilustra la televisión (receptor) ex300 que utiliza el método de codificación de imágenes en movimiento y el método de decodificación de imágenes en movimiento descritos en cada una de las Modalidades. La televisión ex30Q incluye: un dispositivo de sintonización ex301 que obtiene o proporciona datos multiplexados obtenidos al multiplexar datos de audio en datos de video, a través de la antena ex204 o el cable ex203, etcétera que recibe una difusión; una unidad de modulación/desmodulación ex302 que desmodula los datos multiplexados recibidos o modula datos en datos multiplexados para ser suministrados al exterior; y una unidad de multiplexión/desmultiplexión ex303 que desmultiplexa los datos multiplexados modulados en datos de video y datos de audio o multiplexa datos de video y datos de audio codificados por una unidad de procesamiento de señales ex306 en datos.
Adicionalmente, la televisión ex300 incluye además: una unidad de procesamiento de señales ex306 que incluye una unidad de procesamiento de señales de audio ex304 y una unidad de procesamiento de señales de video ex305 (que funcionan como el aparato de codificación de imágenes o el aparato de decodificación de imágenes de acuerdo con una implementación de la presente invención) que decodifican datos de audio y datos de video y codifican datos de audio y datos de video, respectivamente; y una unidad de salida ex309 que incluye un altavoz ex307 que proporciona la señal de audio decodificada y una unidad de exhibición ex308 que exhibe la señal de video decodificada, tal como una pantalla. Adicionalmente, la televisión ex300 incluye una unidad de interconexión ex317 que incluye una unidad de entrada de operación ex312 que recibe una entrada de una operación del usuario. Adicionalmente, la televisión ex300 incluye una unidad de control ex310 que controla en conjunto cada elemento constituyente de la televisión ex300 y una unidad de circuitos de suministro de energía ex311 que suministra energía a cada uno de los elementos. A diferencia de la unidad de entrada de operación ex312, la unidad de interconexión ex317 puede incluir: un puente ex313 que se conecta a un dispositivo externo, tal como el lector/grabador ex218; una unidad de ranura ex314 para hacer posible la unión del medio de grabación ex216, tal como una tarjeta SD; un controlador ex315 que es conectado a un medio de grabación externo, tal como un disco duro; y un módem ex316 que es conectado a una red telefónica. En este punto, el medio de grabación ex216 puede grabar eléctricamente información utilizando un elemento de memoria semiconductora no volátil/volátil para el almacenamiento. Los elementos constituyentes de la televisión ex300 se conectan entre si a través de una barra colectora sincrónica.
En primer lugar, se describirá la configuración en la cual la televisión ex300 decodifica los datos multiplexados obtenidos del exterior a través de la antena ex204 y otros y reproduce los datos decodificados . En la televisión ex300, con la operación de un usuario a través de un controlador distante ex220 y otros, la unidad de multiplexión/desmultiplexión ex303 desmultiplexa los datos multiplexados que son desmodulados por la unidad de modulación/desmodulación ex302, bajo control de la unidad de control ex310 que incluye una CPU. Adicionalmente, la unidad de procesamiento de señales de audio ex304 decodifica los datos de audio desmultiplexados y la unidad de procesamiento de señales de video ex305 decodifica los datos de video desmultiplexados , utilizando el método de decodificación descrito en cada una de las Modalidades, en la televisión ex300. La unidad de salida ex309 proporciona la señal de video y la señal de audio decodificadas al exterior, respectivamente. Cuando la unidad de salida ex309 proporciona la señal de video y la señal de audio, las señales pueden ser almacenadas temporalmente en las memorias intermedias ex318 y ex319 y otras de modo que las señales sean reproducidas en sincronización entre si. Adicionalmente, la televisión ex300 puede leer datos multiplexados no a través de una difusión y otros sino de los medios de grabación. ex215 y ex216, tal como un disco magnético, un disco óptico y una tarjeta SD. Después, se describirá una configuración en la cual la televisión ex300 codifica una señal de audio y una señal de video y transmite los datos al exterior o escribe los datos en un medio de grabación. En la televisión ex300, con la operación de un usuario a través del controlador distante ex220 y otros, la unidad de procesamiento de señales de audio ex304 codifica una señal de audio y la unidad de procesamiento de señales de video ex305 codifica una señal de video, bajo control de la unidad de control ex310 utilizando el método de codificación descrito en cada una de las Modalidades. La unidad de multiplexión/desmultiplexión ex303 multiplexa la señal de video y la señal de audio codificadas y proporciona la señal resultante al exterior. Cuando la unidad de multiplexión/desmultiplexión ex303 multiplexa la señal de video y la señal de audio, las señales pueden ser almacenadas temporalmente en las memorias intermedias ex320 y ex321 y otras de modo que las señales sean reproducidas en sincronización entre si. En este punto, las memorias intermedias ex318, ex319, ex320 y ex321 pueden ser plurales como se ilustra o por lo menos una memoria intermedia puede ser compartida en la televisión ex300. Adicionalmente, aunque no se ilustra, se pueden almacenar datos en una memoria intermedia de modo que se puede evitar el desbordamiento y subdesbordamiento del sistema entre la unidad de modulación/desmodulación ex302 y la unidad de multiplexión/desmultiplexión ex303, por ejemplo.
Adicionalmente, la televisión ex300 puede incluir una configuración para recibir una entrada de AV de un micrófono o una cámara diferente de la configuración para obtener datos de audio y video de una difusión o un medio de grabación y puede codificar los datos obtenidos. Aunque la televisión ex300 puede codificar, multiplexar y proporcionar datos al exterior en la descripción, puede ser capaz de únicamente recibir, decodificar y proporcionar datos al exterior pero no de codificar, multiplexar y proporcionar datos al exterior.
Adicionalmente, cuando el lector/grabador ex218 lee o escribe datos multiplexados de o en un medio de grabación, uno de la televisión ex300 y el lector/grabador ex218 puede decodificar o codificar los datos multiplexados y la televisión ex300 y el lector/grabador ex218 pueden compartir la decodificación o codificación.
Como un ejemplo, la FIGURA 18 ilustra una configuración de una unidad de reproducción/grabación de información ex400 cuando los datos son leídos o escritos de o en un disco óptico. La unidad de reproducción/grabación de información ex400 incluye los elementos constituyentes ex401, ex402, ex403, ex404, ex405, ex406 y ex407 que se describen posteriormente en este documento. La cabeza óptica ex401 irradia un foco de láser en una superficie de grabación del medio de grabación ex215 que es un disco óptico para escribir información y detecta la luz reflejada de la superficie de grabación del medio de grabación ex215 para leer la información. La unidad de grabación de modulación ex402 impulsa eléctricamente un láser semiconductor incluido en la cabeza óptica ex401 y modula la luz láser de acuerdo con datos grabados. La unidad de desmodulación de reproducción ex403 amplifica una señal de reproducción obtenida al detectar eléctricamente la luz reflejada de la superficie de grabación utilizando un fotodetector incluido en la cabeza óptica ex401 y desmodula la señal de reproducción al separar un componente de señal grabado en el medio de grabación ex215 para reproducir la información necesaria. La memoria intermedia ex404 mantiene temporalmente la información a ser grabada en el medio de grabación ex215 y la información reproducida del medio de grabación ex215. El motor del disco ex405 hace girar el medio de grabación ex215. La unidad de servomando ex406 mueve la cabeza óptica ex401 a una pista de información predeterminada mientras que controla el impulso de rotación del motor del disco ex405 con el 'fin de seguir el foco de láser. La unidad de control del sistema ex407 controla en conjunto la unidad de reproducción/grabación de información ex400. Los procesos de lectura y escritura pueden ser implementados por la unidad de control del sistema ex407 utilizando diversa información almacenada en la memoria intermedia ex404 y generando y agregando nueva información como sea necesario y por medio de la unidad de grabación de modulación ex402, la unidad de desmodulación de reproducción ex403 y la unidad de servomando ex406 que graban y reproducen información a través de la cabeza óptica ex401 mientras que son operados de manera coordinada. La unidad de control del sistema ex407 incluye, por ejemplo, un microprocesador y ejecuta el procesamiento al causar que una computadora ejecute un programa para leer y escribir.
Aunque la cabeza óptica ex401 irradia un foco de láser en la descripción, puede realizar la grabación de alta densidad utilizando luz de campo próximo.
La FIGURA 19 ilustra de manera esquemática el medio de grabación ex215 que es el disco óptico. En la superficie de grabación del medio de grabación ex215, las acanaladuras guia se forman en espiral y una pista de información ex230 graba, anticipadamente, información de dirección que indica una posición absoluta en el disco- de acuerdo con un cambio en una forma de las acanaladuras guia. La información de dirección incluye información para determinar posiciones de bloques de grabación ex231 que son una unidad para grabar datos. La reproducción de la pista de información ex230 y la lectura de la información de dirección en un aparato que graba y reproduce datos puede conducir a la determinación de las posiciones de los bloques de grabación. Adicionalmente , el medio de grabación ex215 incluye un área de grabación de datos ex233, un área de circunferencia interior ex232 y un área de circunferencia exterior ex234. El área de grabación de datos ex233 es un área para el uso en la grabación de los datos del usuario. El área de circunferencia interior ex232 y el área de circunferencia exterior ex234 que son el interior y el exterior del área de grabación de datos ex233, respectivamente, son para uso especifico excepto para la grabación de los datos del usuario. La unidad de reproducción/grabación de información 400 lee y escribe datos de audio codificado, datos de video codificado o datos multiplexados obtenidos al multiplexar los datos de audio y video codificados, de y sobre el área de grabación de datos ex233 del medio de grabación ex215.
Aunque un disco óptico que tiene una capa, tal como un DVD y un BD se proporciona como un ejemplo en la descripción, el disco óptico no está limitado a ese tipo y puede ser un disco óptico que tenga una estructura de múltiples capas y que pueda ser grabado en una parte diferente de la superficie. Adicionalmente , el disco óptico puede tener una estructura para la grabación/reproducción multidimensional, tal como la grabación de información utilizando luz de colores con diferentes longitudes de onda en la misma porción del disco óptico y para grabar información que tiene diferentes capas desde varios ángulos.
Adicionalmente, un carro ex210 que tiene una antena ex205 puede recibir datos del satélite ex202 y otros, y puede reproducir video en un dispositivo de exhibición tal como un sistema de navegación de carro ex211 establecido en el carro ex210, en el sistema de difusión digital ex200. En este punto, una configuración del sistema de navegación de carro ex211 será una configuración, por ejemplo, que incluye una unidad de recepción de GPS de la configuración ilustrada en la FIGURA 17. Lo mismo será cierto para la configuración de la computadora exlll, el teléfono celular exll4 y otros.
La FIGURA 20A ilustra el teléfono celular exll4 que utiliza el método de codificación de imágenes en movimiento y el método de decodificación de imágenes en movimiento descritos en las Modalidades. El teléfono celular exll4 incluye: una antena ex350 para transmitir y recibir ondas de radio a través de la estación base exllO; una unidad de cámara ex365 capaz de capturar imágenes en movimiento y fijas; y una unidad de exhibición ex358 tal como una pantalla de cristal liquido para exhibir los datos tales como video decodificado que es capturado por la unidad de cámara ex365 o es recibido por la antena ex350. El teléfono celular exll4 incluye además: una unidad de cuerpo principal que incluye una unidad clave de operación ex366; una unidad de salida de audio ex357 tal como un altavoz para la salida de audio; una unidad de entrada de audio ex356 tal como un micrófono para la entrada de audio; una unidad de memoria ex367 para almacenar video o imágenes fijas capturados, audio grabado, datos codificados o decodificados del video recibido, las imágenes fijas, correos electrónicos u otros; y una unidad de ranura ex364 que es una unidad de interconexión para un medio de grabación que almacena datos de la misma manera que la unidad de memoria ex367.
Después, un ejemplo de una configuración del teléfono celular exll4 se describirá con referencia a la FIGURA 20B. En el teléfono celular exll4, una unidad de control principal ex360 diseñada para controlar en conjunto cada unidad del cuerpo principal que incluye la unidad de exhibición ex358, asi como también la unidad clave de operación ex366 se conecta mutuamente, por vía de una barra colectora ex370, a una unidad de circuitos de suministro de energía ex361, una unidad de control de entrada de operación ex362, una unidad de procesamiento de señales de video ex355, una unidad de interconexión de cámara ex363, una unidad de control de la pantalla de cristal líquido (LCD, por sus siglas en inglés) ex359, una unidad de modulación/desmodulación ex352, una unidad de multiplexión/desmultiplexión ex353, una unidad de procesamiento de señales de audio ex354, la unidad de ranura ex364 y la unidad de memoria ex367.
Cuando una tecla de final de llamada o una tecla de energía es encendida por la operación de un usuario, la unidad de circuitos de suministro de energía ex361 provee a las unidades respectivas con energía de un empaque de baterías con el fin de activar el teléfono celular exll4.
En el teléfono celular exll4, la unidad de procesamiento de señales de audio ex354 convierte las señales de audio recolectadas por la unidad de entrada de audio ex356 en modo de conversación de voz en señales de audio digital bajo el control de la unidad de control principal ex360 que incluye una CPU, ROM y RAM. Luego, la unidad de modulación/desmodulación ex352 realiza un procesamiento de espectro expandido en las señales de audio digital y la unidad de transmisión y recepción ex351 realiza la conversión de digital a análogo y la conversión de frecuencia en los datos, con el fin de transmitir los datos resultantes por vía de la antena ex350. También, en el teléfono celular exll4, la unidad de transmisión y recepción ex351 amplifica los datos recibidos por la antena ex350 en modo de conversación de voz y realiza la conversión de frecuencia y la conversión de análogo ' a digital en los datos. Luego, la .unidad de modulación/desmodulación ex352 realiza el procesamiento de espectro expandido inverso en los datos y la unidad de procesamiento de señales de audio ex354 los convierte en señales de audio análogo, con el fin de enviarlos por via de la unidad de salida de audio ex357.
Adicionalmente, cuando un correo electrónico en modo de comunicación de datos se transmite, los datos de texto del correo electrónico introducidos por medio de la operación de la unidad clave de operación ex366 y otros del cuerpo principal se envían a la unidad de control principal ex360 por vía de la unidad de control de entrada de operación ex362. La unidad de control principal ex360 causa que la unidad de modulación/desmodulación ex352 realice un procesamiento de espectro expandido en los datos de texto y la unidad de transmisión y recepción ex351 realiza la conversión de digital a análogo y la conversión de frecuencia en los datos resultantes para transmitir los datos a la estación base exllO por vía de la antena ex350. Cuando se recibe un correo electrónico, el procesamiento que es aproximadamente inverso al procesamiento para transmitir un correo electrónico se realiza en los datos recibidos y los datos resultantes se proporcionan a la unidad de exhibición ex358.
Cuando se transmite video, imágenes fijas o video y audio en el modo de comunicación de datos, la unidad de procesamiento de señales de video ex355 comprime y codifica señales de video suministradas de la unidad de cámara ex365 utilizando el método de codificación de imágenes en movimiento mostrado en cada una de las Modalidades (es decir, la unidad de procesamiento de señales de video ex355 funciona como el aparato de codificación de imágenes de acuerdo con una implementación de la presente invención) y transmite los datos de video codificados a la unidad de multiplexión/desmultiplexión ex353. En contraste, cuando la unidad de cámara ex365 captura video, imágenes fijas y otros, la unidad de procesamiento de señales de audio ex354 codifica señales de audio recolectadas por la unidad de entrada de audio ex356 y transmite los datos de audio codificados a la unidad de multiplexión/desmultiplexión ex353.
La unidad de multiplexión/desmultiplexión ex353 multiplexa los datos de video codificados que son suministrados de la unidad de procesamiento de señales de video ex355 y los datos de audio codificados que son suministrados de la unidad de procesamiento de señales de audio ex354, utilizando un método predeterminado. Luego, la unidad de circuitos de modulación/desmodulación (unidad de circuitos de modulación/desmodulación) ex352 realiza el procesamiento de espectro expandido en los datos multiplexados y la unidad de transmisión y recepción ex351 realiza la conversión de digital a análogo y la conversión de frecuencia en los datos con el fin de transmitir los datos resultantes por vía de la antena ex350.
Cuando se reciben datos de un archivo de video el cual está vinculado con una página Web y otros en el modo de comunicación de datos o cuando se recibe un correo electrónico con video y/o audio anexo, con el propósito de decodificar los datos multiplexados que son recibidos por via de la antena ex350, la unidad de multiplexión/desmultiplexión ex353 desmultiplexa los datos multiplexados en una corriente de bits de datos de video y una corriente de bits de datos de audio y provee a la unidad de procesamiento ' de señales de video ex355 con los datos de video codificados y la unidad de procesamiento de señales de audio ex354 con los datos de audio codificados, a través de la barra colectora sincrónica ex370. La unidad de procesamiento de señales de video ex355 decodifica la señal de video utilizando un método de decodificación de imágenes en movimiento que corresponde al método de codificación de imágenes en movimiento mostrado en cada una de las Modalidades (es decir, la unidad de procesamiento de señales de video ex355 funciona como el aparato de decodificación de imágenes de acuerdo con una implementación de la presente invención) y luego la unidad de exhibición ex358 exhibe, por ejemplo, las imágenes de video y fijas que están incluidas en el archivo de video vinculado con la página Web por via de la unidad de control de LCD ex359. Adicionalmente, la unidad de procesamiento de señales de audio ex354 decodifica la señal de audio y la unidad de salida de audio ex357 proporciona el audio.
Adicionalmente, de manera similar a la televisión ex300, es posible que una terminal tal como el teléfono celular exll4 tenga 3 tipos de configuraciones de implementación que incluyen no únicamente (i) una terminal de transmisión y recepción que incluye tanto un aparato de codificación como un aparato de decodificación, sino también (ii) una terminal de transmisión que incluye únicamente un aparato de codificación y (iii) una terminal de recepción que incluye únicamente un aparato de decodificación. Aunque el sistema de difusión digital ex200 recibe y transmite los datos multiplexados que se obtienen al multiplexar datos de audio en datos de video en la descripción, los datos multiplexados pueden ser datos obtenidos al multiplexar no datos de audio sino datos de carácter relacionados con video en datos de video y pueden no ser datos multiplexados sino datos de video mismos.
Como tal, el método de codificación de imágenes en movimiento y el método de decodificación de imágenes en movimiento en cada una de las Modalidades se pueden utilizar en cualquiera de los dispositivos y sistemas descritos. De esta manera, se pueden obtener las ventajas descritas en cada una de las Modalidades.
Adicionalmente , la presente invención no está limitada a las Modalidades, y son posibles varias modificaciones y revisiones sin apartarse del alcance de la presente invención.
Modalidad 5 Los datos de video se pueden generar al conmutar, como sea necesario, entre (i) el método de codificación de imágenes en movimiento o el aparato de codificación de imágenes en movimiento mostrados en cada una de las Modalidades y (ii) un método de codificación de imágenes en movimiento o un aparato de codificación de imágenes en movimiento de conformidad con un estándar diferente, tal como MPEG-2, MPEG4-AVC y VC-1.
En este punto, cuando una pluralidad de datos de video que cumplen con los diferentes estándares se generan y luego se decodifican, es necesario que los métodos de decodificación se seleccionen para cumplir con los diferentes estándares. Sin embargo, puesto que no se puede detectar que estándar cumple cada uno de la pluralidad de datos de video a ser decodificados , existe el problema de que no se puede seleccionar un método de decodificación apropiado.
Con el propósito de resolver el problema, los datos multiplexados que se obtienen al multiplexar datos de audio y otros en datos de video tienen una estructura que incluye información de identificación que indica que estándar cumplen los datos de video. La estructura específica de los datos multiplexados que incluyen los datos de video generados en el método de codificación de imágenes en movimiento y por el aparato de codificación de imágenes en movimiento mostrados en cada una de las Modalidades se describirá en lo sucesivo. Los datos multiplexados son una corriente digital en el formato de Corriente de Transporte de MPEG2.
La FIGURA 21 ilustra una estructura de los datos multiplexados. Como se ilustra en la FIGURA 21, los datos multiplexados se pueden obtener al multiplexar por lo menos una de una corriente de video, una corriente de audio, una corriente de gráficos de presentación (PG, por sus siglas en inglés) y una corriente de gráficos interactivos. La corriente de video representa video primario y video secundario de una película, la corriente de audio (IG) representa una parte de audio primario y una parte de audio secundario que se mezcla con la parte de audio primario y la corriente de gráficos de presentación representa subtítulos de la película. En este punto, el video primario es video normal que es exhibido en una pantalla y el video secundario es video que es exhibido en una ventana más pequeña en el video primario. Adicionalmente, la corriente de gráficos interactivos representa una pantalla interactiva que es generada al ordenar los componentes de GUI en una pantalla. La corriente de video se codifica en el método de codificación de imágenes en movimiento o por el aparato de codificación de imágenes en movimiento mostrados en cada una de las Modalidades, o en un método de codificación de imágenes en movimiento o por un aparato de codificación de imágenes en movimiento de conformidad con un estándar convencional, tal como MPEG-2, MPEG4-AVC y VC-1. La corriente de audio se codifica de acuerdo con un estándar, tal como Dolby-AC-3, Dolby Digital Plus, MLP, DTS, DTS-HD y PCM lineal.
Cada corriente incluida en los datos multiplexados es identificada por un PID. Por ejemplo, 0x1011 se asigna a la corriente de video que se utiliza para el video de una película, de 0x1100 a OxlllF se asignan a las corrientes de audio, de 0x1200 a 0xl21F se asignan a las corrientes de gráficos de presentación, de 0x1400 a 0xl41F se asignan a las corrientes de gráficos interactivos, de OxlBOO a OxlBlF se asignan a las corrientes de video que se utilizan para el video secundario de la película y de OxlAOO a OxlAlF se asignan a las corrientes de audio que se utilizan para el video secundario que se mezcla con el audio primario.
La FIGURA 22 ilustra esquemáticamente como se multiplexan los datos. En primer lugar, una corriente de video ex235 compuesta de tramas de video y una corriente de audio ex238 compuesta de tramas de audio se transforman en •una corriente de paquetes PES ex236 y una corriente de paquetes PES ex239 y además en paquetes TS ex237 y paquetes TS ex240, respectivamente. Similarmente, los datos de una corriente de gráficos de presentación ex241 y los datos de una corriente de gráficos interactivos ex244 se transforman en una corriente de paquetes PES ex242 y una corriente de paquetes PES ex245 y además en paquetes TS ex243 y paquetes TS ex246, respectivamente. Estos paquetes TS son multiplexados en una corriente para obtener datos multiplexados ex247.
La FIGURA 23 ilustra con mayor detalle como se almacena una corriente de video en una corriente de paquetes PES. La primera barra en la FIGURA 23 muestra una corriente de tramas de video en una corriente de video. La segunda barra muestra la corriente de paquetes PES. Como es indicado por las flechas designadas como yyl, yy2, yy3 e yy4 en la FIGURA 23, la corriente de video se divide en imágenes como imágenes-I, imágenes-B e imágenes-P cada una de las cuales es una unidad de presentación de video y las imágenes se almacenan en una carga útil de cada uno de los paquetes PES.
Cada uno de los paquetes PES tiene un encabezado de PES y el encabezado de PES almacena un Registro de Tiempos de Presentación (PTS, por sus siglas en inglés) que indica un tiempo de exhibición de la imagen y un Registro de Tiempos de Decodificación (DTS, por sus siglas en inglés) que indica un tiempo de decodificación de la imagen.
La FIGURA 24 ilustra un formato de paquetes TS que se escriben finalmente en los datos multiplexados . Cada uno de los paquetes TS es un paquete de longitud fija de 188 bytes, que incluye un encabezado de TS de 4 bytes que tiene información, tal como un PID para identificar una corriente y una carga útil de TS de 184 bytes para almacenar datos. Los paquetes PES se dividen y se almacenan en las cargas útiles de TS, respectivamente. Cuando se utiliza un BD ROM, a cada uno de los paquetes TS se proporciona un TP_Extra_Header (Encabezado Adicional TP) de 4 bytes, dando por resultado de esta manera paquetes fuente de 192 bytes. Los paquetes fuente se escriben en los datos multiplexados. El TP_Extra_Header almacena información tal como un Arrival_Time_Stamp (Registro de Tiempos de Llegada) (ATS, por sus siglas en inglés) . El ATS muestra un tiempo de inicio de transferencia en cada uno de los paquetes TS que deben ser transferidos a un filtro de PID. Los paquetes fuente se ordenan en los datos multiplexados como se muestra en el fondo de la FIGURA 24. Los números que incrementan desde la cabeza de los datos multiplexados son llamados números de paquete fuente (SPNs, por sus siglas en inglés) .
Cada uno de los paquetes TS incluidos en los datos multiplexados incluye no únicamente corrientes de audio, video, subtítulos y otros, sino también una Tabla de Asociación de Programas (PAT, por sus siglas en inglés), una Tabla de Mapa de Programas (PMT, por sus siglas en inglés) y una Referencia de Reloj de Programa (PCR, por sus siglas en inglés) . La PAT muestra lo que indica un PID en una PMT utilizada en los datos multiplexados y un PID de la PAT misma se registra como cero. La PMT almacena PIDs de las corrientes de video, audio, subtítulos y otros incluidas en los datos multiplexados y la información de atributos de las corrientes correspondientes a los PIDs. La PMT también tiene varios descriptores que se refieren a los datos multiplexados. Los descriptores tienen información tal como información de control de copias que muestra si se permite o no el copiado de los datos multiplexados. La PCR almacena la información de tiempo de STC que corresponde a un ATS que muestra cuando el paquete de PCR se transfiere a un decodificador , con el propósito de lograr una sincronización entre un Reloj de Tiempo de Llegada (ATC) que es un eje de tiempo de ATSs y un Reloj de Tiempo de Sistema (STC) que es un eje de tiempo de PTSs y DTSs.
La FIGURA 25 ilustra detalladamente la estructura 10 de datos de la PMT. Un encabezado de PMT se coloca en la parte más alta de la PMT. El encabezado de PMT describe la longitud de datos incluidos en la PMT y otros. Una pluralidad de descriptores que se refieren a los datos multiplexados se coloca después del encabezado de PMT. Información tal como la información de control de copias se describe en los descriptores. Después de los descriptores, se coloca una pluralidad de piezas de información de corriente que se refiere a las corrientes . incluidas en los datos multiplexados. Cada pieza de información de corriente incluye descriptores de corriente cada uno que describe información, tal como un tipo de corriente para identificar un codee de compresión de una corriente, un PID de corriente e información de atributos de corriente (tal como una velocidad de tramas o una relación dimensional) . Los descriptores de corriente son iguales en número al número de corrientes en los datos multiplexados.
Cuando los datos multiplexados se graban en un medio de grabación y otros, se graban junto con archivos de información de datos multiplexados.
Cada uno de los archivos de información de datos multiplexados es información de gestión de los datos multiplexados como se muestra en la FIGURA 26. Los archivos de información de datos multiplexados están en correspondencia de uno a uno con los datos multiplexados y cada uno de los archivos incluye información de datos multiplexados , información de atributos de corriente y un mapa de entrada.
Como se ilustra en la FIGURA 26, la información de datos multiplexados incluye una velocidad de sistema, un tiempo de inicio de reproducción y un tiempo de final de reproducción. La velocidad de sistema indica la velocidad de transferencia máxima a la cual un decodificador objetivo del sistema que. se describe posteriormente transfiere los datos multiplexados a un filtro de PID. Los intervalos de los ATSs incluidos en los datos multiplexados se establecen a un nivel no más alto que una velocidad de sistema. El tiempo de inicio de reproducción indica un PTS en una trama de video en la cabeza de los datos multiplexados. Un intervalo de una trama se agrega a un PTS en una trama de video al final de los datos multiplexados . y el PTS se ajusta al tiempo de final de reproducción .
Como se muestra en la FIGURA 27, una pieza de información de atributos se registra en la información de atributos de corriente, para cada PID de cada corriente incluida en los datos multiplexados. Cada pieza de información de atributos tiene diferente información dependiendo si la corriente correspondiente es una corriente de video, una corriente de audio, una corriente de gráficos de presentación o una corriente de gráficos interactivos.
Cada pieza de información de atributos de corriente de video lleva información que incluye que clase de codee de compresión se utiliza para la compresión de la corriente de video y la resolución, relación dimensional y velocidad de trama de las piezas de datos de imagen que se incluyen en la corriente de video. Cada pieza de información de atributos de corriente de audio lleva información que incluye que clase de codee de compresión se utiliza para comprimir la corriente de audio, cuantos canales se incluyen en la corriente de audio, que lenguaje soporta la corriente de audio y que tan alta es la frecuencia de muestreo. La información de atributos de corriente de video y la información de atributos de corriente de audio se utilizan para la inicialización de un decodificador antes de que el reproductor repita la información.
En esta modalidad, los datos multiplexados a ser utilizados son un tipo de corriente incluido en la PMT . Adicionalmente , cuando los datos multiplexados se graban en un . medio de grabación, la información de atributos de corriente de video incluida en la información de datos multiplexados se utiliza. Más específicamente, el método de codificación de imágenes en movimiento o el aparato de codificación de imágenes en movimiento descritos en cada una de las Modalidades incluye un paso o una unidad para asignar información única que indica los datos de video generados por el método de codificación de imágenes en movimiento o el aparato de codificación de imágenes en movimiento en cada una de las Modalidades, al tipo de corriente incluido en la PMT o la información de atributos de corriente de video. Con la configuración, los datos de video generados por el método de codificación de imágenes en movimiento o el aparato de codificación de imágenes en movimiento descritos en cada una de las Modalidades se pueden distinguir de los datos de video que cumplen con otro estándar.
Adicionalmente, la FIGURA 28 ilustra pasos del método de decodificación de imágenes en movimiento de acuerdo con esta modalidad. En el Paso exSlOO, el tipo de corriente incluido en la PMT o la información de atributos de corriente de video se obtiene de los datos multiplexados . Después, en el Paso exSlOl, se determina si el tipo de corriente o la información de atributos de corriente de video indica o no que los datos multiplexados son generados por el método de codificación de imágenes en movimiento o el aparato de codificación de imágenes en movimiento en cada una de las Modalidades. Cuando se determina que el tipo de corriente o la información de atributos de corriente de video indica que los datos multiplexados son generados por el método de codificación de imágenes en movimiento o el aparato de codificación de imágenes en movimiento en cada una de las Modalidades, en el Paso exS102, la decodificación es realizada por el método de decodificación de imágenes en movimiento en cada una de las Modalidades. Adicionalmente, cuando el tipo de corriente o la información de atributos de corriente de video indica el cumplimiento de los estándares convencionales, tales como MPEG-2, MPEG4-AVC y VC-1, en el Paso exS103, la decodificación es realizada por un método de decodificación de imágenes en movimiento de conformidad con los estándares convencionales.
Como tal, la asignación de un nuevo valor único al tipo de corriente o a la información de atributos de corriente de video hace posible la determinación si el método de decodificación de imágenes en movimiento o el aparato de decodificación de imágenes en movimiento que se describe en cada una de las Modalidades pueden realizar o no la decodificación. Incluso cuando se introducen datos multiplexados que cumplen con un estándar diferente, se puede seleccionar un método o aparato de decodificación apropiado. De esta manera, se hace posible decodificar información sin ningún error. Adicionalmente, el método o aparato de codificación de imágenes en movimiento, o el método o aparato de decodificación de imágenes en movimiento en esta modalidad se puede utilizar en los dispositivos y sistemas descritos anteriormente.
Modalidad 6 Cada uno del método de codificación de imágenes en movimiento, el aparato de codificación de imágenes en movimiento, el método de decodificación de imágenes en movimiento y el aparato de decodificación de ' imágenes en movimiento en cada una de las Modalidades se logra típicamente en la forma de un circuito integrado o un circuito Integrado a Gran Escala (LSI) . Como un ejemplo, la FIGURA 29 ilustra una configuración del LSI ex500 gue se hace en un chip. El LSI ex500 incluye los elementos ex501, ex502, ex503, ex504, ex505, ex506, ex507, ex508 y ex509 que se describen posteriormente, y los elementos se conectan entre sí a través de una barra colectora ex510. La unidad de circuitos de suministro de energía ex505 es activada al proveer a cada uno de los elementos con energía cuando la unidad de circuitos de suministro de energía ex505 se enciende.
Por ejemplo, cuando se realiza la codificación, el LSI ex500 recibe una señal de AV de un micrófono exll7, una cámara exll3 y otros a través de una 10 de AV ex509 bajo control de una unidad de control ex501 que incluye una CPU ex502, un controlador de memoria ex503, un controlador de corriente ex504 y una unidad de control de frecuencia impulsora ex512. La · señal de AV recibida se almacena temporalmente en la memoria externa ex511, tal como una SDRAM. Bajo control de la unidad de control ex501, los datos almacenados son segmentados en porciones de datos de acuerdo con la cantidad y velocidad de procesamiento que se transmite a una unidad de procesamiento de señales ex507. Luego, la unidad de procesamiento de señales ex507 codifica una señal de audio y/o una señal de video. En este punto, la codificación de la señal de video es la codificación descrita en cada una de las Modalidades. Adicionalmente, la unidad de procesamiento de señales ex507 multiplexa algunas veces los datos de audio codificados y los datos de video codificados, y una 10 de corriente ex506 proporciona los datos multiplexados al exterior. Los datos multiplexados proporcionados son transmitidos a la estación base exl07, o se escriben en el medio de grabación ex215. Cuando se multiplexan los conjuntos de datos, los datos se deben almacenar temporalmente en la memoria intermedia ex508 de modo que los conjuntos de datos se sincronizan entre si.
Aunque la memoria ex511 es un elemento fuera del LSI ex500, se puede incluir en el LSI ex500. La memoria intermedia ex508 no está limitada a una memoria intermedia, sino que puede estar compuesta de memorias intermedias. Adicionalmente, el LSI ex500 se puede hacer en un chip o una pluralidad de chips.
Adicionalmente, aunque la unidad de control ex501 incluye la CPU ex502, el controlador de memoria ex503, el controlador de corriente ex504, y la unidad de control de frecuencia impulsora ex512, la configuración de la unidad de control ex501 no está limitada a éstos. Por ejemplo, la unidad de procesamiento de señales ex507 puede incluir además una CPU. La inclusión de otra CPU en la unidad de procesamiento de señales ex507 puede mejorar la velocidad de procesamiento. Adicionalmente, como otro ejemplo, la CPU ex502 puede servir como o puede ser una parte de la unidad de procesamiento de señales ex507 y, por ejemplo, puede incluir una unidad de procesamiento de señales de audio. En este caso, la unidad de control ex501 incluye la unidad de procesamiento de señales ex507 o la CPU ex502 que incluye una parte de la unidad de procesamiento de señales ex507.
El nombre utilizado en éste documento es LSI, pero también se puede llamar IC, sistema LSI, super LSI o ultra-LSI dependiendo del grado de integración.
Por otra parte, las maneras para lograr la integración no están limitadas al LSI y un circuito especial o un procesador de uso general y asi por el estilo también puede lograr la integración. La Matriz de Puerta Programable de Campo (FPGA, por sus siglas en inglés) que se puede programar después de la manufactura de LSIs o un procesador reconfigurable que permite la reconfiguración de la conexión o la configuración de un LSI se puede utilizar para el mismo propósito .
En el futuro, con el avance en la tecnología de los semiconductores, una nueva tecnología puede reemplazar el LSI. Los bloques funcionales se pueden integrar utilizando esta tecnología. La posibilidad es que la presente invención se aplique a la biotecnología.
Modalidad 7 Cuando los datos de video generados en el método de codificación de imágenes en movimiento o por el aparato de codificación de imágenes en movimiento descritos en cada una de las Modalidades se decodifican, en comparación a cuando los datos de video que cumplen con un estándar convencional, tales como MPEG-2, MPEG4-AVC y VC-1 se decodifican, la cantidad de procesamiento se incrementa probablemente. De esta manera, el LSI ex500 necesita ser ajustado a una frecuencia impulsora más alta que aquella de la CPU ex502 que se utiliza cuando se decodifican datos de video de conformidad con el estándar convencional. Sin embargo, cuando la frecuencia impulsora se ajusta más alto, existe el problema de que se incrementa el consumo de energía .
Con el propósito de resolver el problema, el aparato de decodificación de imágenes en movimiento, tal como la televisión ex300 y el LSI ex500 se configuran para determinar que estándar cumplen los datos de video y conmutar entre las frecuencias impulsoras de acuerdo con el estándar determinado. La FIGURA 30 ilustra una configuración ex800 en esta modalidad. Una unidad de conmutación de frecuencias impulsoras ex803 ajusta una frecuencia impulsora a una frecuencia 'impulsora más alta cuando los datos de video son generados por el método de codificación de imágenes en movimiento o el aparato de codificación de imágenes en movimiento descritos en cada una de las Modalidades. Luego, la unidad de conmutación de frecuencias impulsoras ex803 da instrucciones a una . unidad de procesamiento de decodificación ex801 que ejecuta el método de decodificación de imágenes en movimiento descrito en cada una de las Modalidades para decodificar los datos de video. Cuando los datos de video cumplen con el estándar convencional, la unidad de conmutación de frecuencias impulsoras ex803 ajusta una frecuencia impulsora a una frecuencia impulsora más baja que aquella de los datos -de video generados por el método de codificación de imágenes en movimiento o el aparato de codificación de imágenes en movimiento descritos en cada una de las modalidades. Luego, la unidad de conmutación de frecuencias impulsoras ex803 da instrucciones a la unidad de procesamiento de decodificación ex802 que cumple con el estándar convencional para decodificar los datos de video.
Más específicamente, la unidad de conmutación de frecuencias impulsoras ex802 incluye la CPU ex502 y la unidad de control de frecuencias impulsoras ex512 en la FIGURA 29. En este punto, cada unidad de procesamiento de decodificación ex801 que ejecuta el método de decodificación ' de imágenes en movimiento descrito en cada una de las Modalidades y la unidad de procesamiento de decodificación ex802 que cumple con el estándar convencional corresponde a la unidad de procesamiento de señales ex507 de la FIGURA 29. La CPU ex502 determina que estándar cumplen los datos de video. Luego, la unidad de control de frecuencias impulsoras ex512 determina una frecuencia impulsora con base en una señal de la CPU ex502. Adicionalmente, la unidad de procesamiento de señales ex507 decodifica los datos de video con base en la señal de la CPU ex502. Por ejemplo, es posible que la información de identificación descrita en la Modalidad 5 se utilice para identificar los datos de video. La información de identificación no está limitada a aquella descrita en la Modalidad 5 sino que puede ser cualquier información siempre y cuando la información indique que estándar cumplen los datos de video. Por ejemplo, cuando se puede determinar que estándar cumplen los datos de video con base en una señal externa para determinar que los datos de video se utilizan para una televisión o un disco, etcétera, la determinación se puede hacer con base en esta señal externa. Adicionalmente, la CPU ex502 selecciona una frecuencia impulsora con base en, por ejemplo, una tabla de consulta en la cual los estándares de los datos de video se asocian con las frecuencias impulsoras como se muestra en la FIGURA 32. La frecuencia impulsora se puede seleccionar al almacenar la tabla de consulta en la memoria intermedia ex508 o en una memoria interna de un LSI y con referencia a la tabla de consulta por la CPU ex502.
La FIGURA 31 ilustra pasos para ejecutar un método en esta modalidad. En primer lugar, en el Paso exS200, la unidad de procesamiento de señales ex507 obtiene información de identificación de los datos multiplexados . Después, en el Paso exS201, la CPU ex502 determina si los datos de video se generan o no por medio del método de codificación y el aparato de codificación descritos en cada una de las Modalidades, con base en la información de identificación. Cuando los datos de video son generados por medio del método de codificación y el aparato de codificación descritos en cada una de las Modalidades, en el Paso exS202, la CPU ex502 transmite una señal para ajusfar la frecuencia impulsora a una frecuencia impulsora más alta a la unidad de control de frecuencias impulsoras ex512. Luego, la unidad de control de frecuencias impulsoras ex512 ajusta la frecuencia impulsora a la frecuencia impulsora más alta. Por otra parte, cuando la información de identificación indica que los datos de video cumplen con el estándar convencional, tal como MPEG-2, MPEG4-AVC y VC-1, en el Paso exS203, la CPU ex502 transmite una señal para ajusfar la frecuencia impulsora a una frecuencia impulsora más baja a la unidad de control de frecuencias impulsoras ex512. Luego, la unidad de control de frecuencias impulsoras ex512 ajusta la frecuencia impulsora a la frecuencia impulsora más baja que aquella en el caso donde los datos de video son generados por medio del método de codificación de imágenes en movimiento y el aparato de codificación de imágenes en movimiento descritos en cada una de las Modalidades.
Adicionalmente, junto con la conmutación de las frecuencias impulsoras, el efecto de conservación de energía se puede mejorar al cambiar el voltaje que se aplica al LSI ex500 o un aparato que incluye el LSI ex500. Por ejemplo, cuando la frecuencia impulsora se ajusta más baja, es posible que el voltaje que se aplica al LSI ex500 o el aparato que incluye el LSI ex500 se ajuste a un voltaje más bajo que aquel en el caso donde la frecuencia impulsora se ajusta más alta.
Adicionalmente, cuando la cantidad de procesamiento para la decodificación es más grande, la frecuencia impulsora se puede ajustar más alta, y cuando la cantidad de procesamiento para la decodificación es más pequeña, la frecuencia impulsora se puede ajustar más baja como el método para ajustar. la frecuencia impulsora. De esta manera, el método de ajuste no está limitado a aquellos descritos anteriormente. Por ejemplo, cuando la cantidad de procesamiento para decodificar datos de video de conformidad con MPEG4-AVC es más grande que la cantidad de procesamiento para la decodificación de datos de video generados por medio del método de codificación de imágenes en movimiento y el aparato de codificación de imágenes en movimiento descritos en cada una de las Modalidades, es posible que la frecuencia impulsora se ajuste en orden inverso al ajuste descrito anteriormente.
Adicionalmente, el método para ajusfar la frecuencia impulsora no está limitado al método para ajusfar la frecuencia impulsora más baja. Por ejemplo, cuando la información de identificación indica que los datos de video se generan por medio del método de codificación de imágenes en movimiento y el aparato de codificación de imágenes en movimiento descritos en cada una de las Modalidades, es posible que el voltaje que se aplica al LSI ex500 o el aparato que incluye el LSI ex500 se ajuste más alto. Cuando la información de identificación indica que los datos de video cumplen con el estándar convencional, tal como MPEG-2, MPEG4-AVC y VC-1, es posible que el voltaje que se aplica al LSI ex500 o el aparato que incluye el LSI ex500 se ajuste más bajo. Como otro ejemplo, es posible que cuando la información de identificación indica que los datos de video se generan por medio del método de codificación de imágenes en movimiento y el aparato de codificación de imágenes en movimiento descritos en cada una de las Modalidades, la impulsión de la CPU ex502 no tenga que suspenderse. Cuando la información de identificación indica que los datos de video cumplen con el estándar convencional, tal como MPEG-2, PEG4-AVC y VC-1, es posible que la impulsión de la CPU ex502 se suspenda en un tiempo determinado debido a que la CPU ex502 tiene capacidad de procesamiento adicional. Es posible que, incluso cuando la información de identificación indica que los datos de video se generan por medio del método de codificación de imágenes en movimiento y el aparato de codificación de imágenes en movimiento descritos en cada una de las Modalidades, en el caso donde la CPU ex502 tiene capacidad de procesamiento adicional, la impulsión de la CPU ex502 se suspenda en un tiempo determinado. En este caso, es posible que el tiempo de suspensión se ajuste más corto que aquel en el caso cuando la información de identificación indica que los datos de video cumplen con el estándar convencional, tal como MPEG-2, MPEG4-AVC y VC-1.
Por consiguiente, el efecto de conservación de energía se puede mejorar al conmutar entre las frecuencias impulsoras de acuerdo con el estándar que cumplen los datos de video. Adicionalmente, cuando el LSI ex500 o el aparato que incluye el LSI ex500 se impulsa utilizando una batería, la vida útil de la batería se puede extender con el efecto de conservación de energía.
Modalidad 8 Existen casos donde una pluralidad de datos de video que cumplen con diferentes estándares, se proporcionan a los dispositivos y sistemas, tal como una televisión y un teléfono celular. Con el propósito de hacer posible la decodificación de la pluralidad de datos de video que cumplen con los diferentes estándares, la unidad de procesamiento de señales ex507 del LSI ex500 necesita cumplir con los diferentes estándares. Sin embargo, los problemas del incremento en la escala del circuito del LSI ex500 y el incremento en el costo se elevan con el uso individual de las unidades de procesamiento de señales ex507 que cumplen con los estándares respectivos.
Con el propósito de resolver el problema, lo que se idea es una configuración en la cual la unidad de procesamiento de decodificación para implementar el método de decodificación de imágenes en movimiento descrito en cada una de las Modalidades y la unidad de procesamiento de decodificación que cumple con el estándar convencional, tal como MPEG-2, MPEG4-AVC y VC-1 se comparten parcialmente. Un ejemplo de la configuración se muestra como ex900 en la FIGURA 33A. Por ejemplo, el método de decodificación de imágenes en movimiento descrito en cada una de las Modalidades y el método de decodificación de imágenes en movimiento que cumple con MPEG4-AVC tienen, parcialmente en común, los detalles del procesamiento, tal como la codificación entrópica, cuantificación inversa, filtrado de desbloqueo y predicción con compensación de movimiento. Es posible que los detalles de procesamiento que se comparten incluyan el uso de una unidad de procesamiento de decodificación ex902 que cumple con MPEG4-AVC. En contraste, una unidad de procesamiento de decodificación especializada ex901 se utiliza probablemente para otro procesamiento que no cumple con MPEG4-AVC y es único para la presente invención. Puesto que el aspecto de la presente invención se caracteriza por la cuantificación inversa en particular, por ejemplo, la unidad de procesamiento de decodificación especializada ex901 se utiliza para la cuantificación inversa. Por otra parte, la unidad de procesamiento de decodificación se comparte probablemente para uno de la decodificación entrópica, filtración de desbloqueo y compensación de movimiento o la totalidad del procesamiento. La unidad de procesamiento de decodificación para implementar el método de decodificación de imágenes en movimiento descrito en cada una de las Modalidades puede ser compartida para que el procesamiento sea compartido y una unidad de procesamiento de decodificación especializada se puede utilizar para el procesamiento único para aquel de MPEG4-AVC.
Adicionalmente, exlOOO en la FIGURA 33B muestra otro ejemplo en que se comparte parcialmente el procesamiento. Este ejemplo utiliza una configuración que incluye una unidad de procesamiento de decodificación especializada exlOOl que soporta el procesamiento único para un aspecto de la presente invención, una unidad de procesamiento de decodificación especializada exl002 que soporta el procesamiento único para otro estándar convencional y una unidad de procesamiento de decodificación exl003 que soporta el procesamiento que es compartido entre el método de decodificación de imágenes en movimiento de acuerdo con el aspecto de la presente invención y el método de decodificación de imágenes en movimiento convencional. En este punto, las unidades de procesamiento de decodificación especializadas exlOOl y exl002 no están especializadas necesariamente para el procesamiento de acuerdo con el aspecto de la presente invención y el procesamiento del estándar convencional, respectivamente, y pueden ser aquellas capaces de implementar el procesamiento general. Adicionalmente , la configuración de la presente modalidad puede ser implementada por el LSI ex500.
Como tal, la reducción de la escala del circuito de un LSI y la reducción del costo son posibles al compartir la unidad de procesamiento de decodificación para que el procesamiento sea compartido entre el método de decodificación de imágenes en movimiento de acuerdo con el aspecto de la presente invención y el método de decodificación de imágenes en movimiento de conformidad con el estándar convencional.
Aplicabilidad Industrial La presente invención se utiliza ventajosamente para un aparato de codificación de imágenes en movimiento y un aparato de decodificación de imágenes en movimiento.
Lista de Signos de Referencia 100 Aparato de codificación de imágenes en movimiento 101 Unidad de sustracción 102 Unidad de transformación ortogonal 103 Unidad de cuantificación 104, 202 Unidad de cuantificación inversa 105, 203 Unidad de transformación ortogonal inversa 106, 204 Unidad de adición 107, 205 Memoria de bloques 108, 206 Memoria de tramas 109, 207 Unidad de intra-predicción 110, 208 Unidad de inter-predicción 111, 209 Conmutador 112, 210 Unidad de control de inter-predicción 113 Unidad de determinación de tipo de imagen 114, 211 Unidad de cálculo de vectores de dirección 115 Unidad de determinación de dirección de referencia co-localizada 116 Unidad de codificación de longitud variable 200 Aparato de decodificación de imágenes en movimiento 201 Unidad de decodificación de longitud variable.
Se hace constar que con relación a esta fecha, mejor método conocido por la solicitante para llevar a práctica la citada invención, es el que resulta claro de presente descripción de la invención.

Claims (12)

REIVINDICACIONES Habiéndose descrito la invención como antecede, se reclama como propiedad lo contenido en las siguientes reivindicaciones:
1. Un método de codificación de imágenes en movimiento para codificar un bloque actual que se codifica el cual se incluye en una imagen actual, caracterizado porque comprende : codificar el bloque actual utilizando un vector de movimiento; determinar si todas las imágenes de referencia incluidas en la primera y la segunda lista de imágenes de referencia del bloque actual están localizadas o no antes de la imagen actual en el orden de exhibición; generar el primer y el segundo vector de movimiento predictivo a partir de dos vectores de movimiento de referencia de un bloque codificado que es incluido en una imagen codificada que es una- de todas las imágenes de referencia; generar una primera y una asegunda lista de candidatos para vectores de movimiento predictivos los cuales incluyen el primer vector de movimiento predictivo y el segundo vector de movimiento predictivo, respectivamente, la primera lista de candidatos para vectores de movimiento predictivos corresponde a la primera lista de imágenes de referencia y la segunda lista de candidatos para vectores de movimiento predictivos corresponde a la segunda lista de imágenes de referencia; y codificar el vector de movimiento utilizando uno o más vectores de movimiento predictivos que se seleccionan de la primera lista de candidatos para vectores de movimiento predictivos o la segunda lista de candidatos para vectores de movimiento predictivos, en donde cuando se determina que todas la imágenes de referencia están localizadas antes de la imagen actual en el orden de exhibición, en la generación del primer y el segundo vector de movimiento predictivo, el primer vector de movimiento predictivo del bloque actual se genera a partir de un primer vector de movimiento de referencia de entre los dos vectores de movimiento de referencia, tanto el primer vector de movimiento predictivo como el primer vector de movimiento de referencia corresponden a la primera lista de imágenes de referencia, y el segundo vector de movimiento predictivo del bloque actual se genera a partir de un segundo vector de movimiento de referencia de entre los dos vectores de movimiento de referencia el cual es diferente del primer vector de movimiento de referencia, tanto el segundo vector de movimiento predictivo como el segundo vector de movimiento de referencia corresponden a la segunda lista de imágenes de referencia, en la generación de la primera y la segunda lista de candidatos para vectores de movimiento predictivos, el primer vector de movimiento predictivo se agrega a la primera lista de candidatos para vectores de movimiento predictivos pero no se agrega a la segunda lista de candidatos para vectores de movimiento predictivos, y el segundo vector de movimiento predictivo se agrega a la segunda lista de candidatos para vectores de movimiento predictivos pero no se agrega á la primera lista de candidatos para vectores de movimiento predictivos, y cuando no se determina que todas la imágenes de referencia están localizadas antes de la imagen actual en el orden de exhibición y las direcciones de referencia de los dos vectores de movimiento de referencia son diferentes, en la generación del primer y el segundo vector de movimiento predictivo, un vector de movimiento de referencia se selecciona de entre los dos vectores de movimiento de referencia, y tanto el primer como el segundo vector de movimiento predictivo se generan a partir de un vector de movimiento de referencia seleccionado.
2. El método de codificación de imágenes en movimiento de conformidad con la reivindicación 1, caracterizado porque cuando no se determina que todas las imágenes de referencia están localizadas antes de la imagen actual en el orden de exhibición, las direcciones de referencia de los dos vectores de movimiento de referencia son diferentes y la imagen codificada se localiza antes de la imagen actual en el orden de exhibición, en la generación del primer y el segundo v.ector de movimiento predictivo, tanto el primer como el segundo vector de movimiento predictivo se generan a partir de un vector de movimiento de referencia dirigido hacia atrás en el orden de exhibición de entre los dos vectores de movimiento de referencia.
3. El método de codificación de imágenes en movimiento de conformidad con la reivindicación 1, caracterizado porque cuando no se determina que todas las imágenes de referencia están localizadas antes de la imagen actual en el orden de exhibición, las direcciones de referencia de los dos vectores de movimiento de referencia son diferentes, y la imagen codificada se localiza después de la imagen actual en el orden de exhibición, en la generación del primer y el segundo vector de movimiento predictivo, tanto el primer como el segundo vector de movimiento predictivo se generan a partir de un vector de movimiento de referencia dirigido hacia adelante en el orden de exhibición de entre los dos vectores de movimiento de referencia.
4. Un aparato de codificación de imágenes en movimiento que codifica un bloque actual que es codificado, el cual se incluye en una imagen actual, caracterizado porque comprende : una unidad de codificación de imágenes configurada para codificar el bloque actual utilizando un vector de movimiento; una unidad de determinación configurada para determinar si todas las imágenes de referencia incluidas en la primera y la segunda lista de imágenes de referencia del bloque actual están localizadas o no antes de la imagen actual en el orden de exhibición; una unidad de generación de vectores de movimiento predictivos configurada para generar el primer y el segundo vector de movimiento predictivo a partir de dos vectores de movimiento de referencia de un bloque codificado que es incluido en una imagen codificada que es una de todas la imágenes de referencia; una unidad de generación de listas configurada para generar la primera y la segunda lista de candidatos para vectores de movimiento predictivos los cuales incluyen el primer vector de movimiento predictivo y el segundo vector de movimiento predictivo, respectivamente, la primera lista de candidatos para vectores de movimiento predictivos corresponde a la primera lista de imágenes de referencia y la segunda lista de candidatos para vectores de movimiento predictivos corresponde a la segunda lista de imágenes de referencia; y una unidad de codificación de vectores de movimiento configurada para codificar el vector de movimiento utilizando uno o más vectores de movimiento predictivos seleccionados de la primera lista de candidatos para vectores de movimiento predictivos o la segunda lista de candidatos para vectores de movimiento predictivos, en donde cuando se determina que todas las imágenes de referencia están localizadas antes de la imagen actual en el orden de exhibición, la unidad de generación de vectores de movimiento predictivos está configurada para: generar el primer vector de movimiento predictivo del bloque actual a partir de un primer vector de movimiento de referencia de entre los dos vectores de movimiento de referencia, tanto el primer vector de movimiento predictivo como el primer vector de movimiento de referencia corresponden a la primera lista de imágenes de referencia; y generar el segundo vector de movimiento predictivo del bloque actual a partir de un segundo vector de movimiento de referencia de entre los dos vectores de movimiento de referencia el cual es diferente del primer vector de movimiento de referencia, tanto el segundo vector de movimiento predictivo como el segundo vector de movimiento de referencia corresponden a la segunda lista de imágenes de referencia, la unidad de generación de listas está configurada para: agregar el primer vector de movimiento predictivo a la primera lista de candidatos para vectores de movimiento predictivos pero no a la segunda lista de candidatos para vectores de movimiento predictivos; y agregar el segundo vector de movimiento predictivo a la segunda lista de candidatos para vectores de movimiento predictivos pero no a la primera lista de candidatos para vectores de movimiento predictivos, y cuando no se determina que todas la imágenes de referencia están localizadas antes de la imagen actual en el orden de exhibición y las direcciones de referencia de los dos vectores de movimiento de referencia son diferentes, la unidad de generación de vectores de movimiento predictivos está configurada para seleccionar un vector de movimiento de referencia de entre los dos vectores de movimiento de referencia, y generar tanto el primer como el segundo vector de movimiento predictivo a partir del vector de movimiento de referencia seleccionado.
5. Un aparato de codificación de imágenes en movimiento el cual codifica un bloque actual que es codificado el cual se incluye en una imagen actual, caracterizado porque comprende: circuiteria de control; y almacenamiento accesible de la circuiteria de control, en donde la circuiteria de control realiza: la codificación del bloque actual utilizando un vector de movimiento; la determinación si todas las imágenes de referencia incluidas en la primera y la segunda lista de imágenes de referencia del bloque actual y guardadas en el almacenamiento están localizadas o no antes de la imagen actual en el orden de exhibición; la generación del primer y el segundo vector de movimiento predictivo a partir de dos vectores de movimiento de referencia de un bloque codificado que se incluye en una imagen codificada que es una de todas la imágenes de referencia; la generación de la primera y la segunda lista de candidatos para vectores de movimiento predictivos los cuales incluyen el primer vector de movimiento predictivo y el segundo vector de movimiento predictivo, respectivamente, la primera lista de candidatos para vectores de movimiento predictivos corresponde¦ a la primera lista de imágenes de referencia y la segunda lista de candidatos para vectores de movimiento predictivos corresponde a la segunda lista de imágenes de referencia; y la codificación del vector de movimiento utilizando uno o más vectores de movimiento predictivos seleccionados de la primera lista de candidatos para vectores de movimiento predictivos o la segunda lista de candidatos para vectores de movimiento predictivos, cuando se determina que todas la imágenes de referencia están localizadas antes de la imagen actual en el orden de exhibición, en la generación, el primer vector de movimiento predictivo del bloque actual se genera a partir de un primer vector de movimiento de referencia de entre los dos vectores de movimiento de referencia, tanto el primer vector de movimiento predictivo como el primer vector de movimiento de referencia corresponden a la primera lista de imágenes de referencia, y el segundo vector de movimiento predictivo del bloque actual se genera a partir de un segundo vector de movimiento de referencia de entre los dos vectores de movimiento de referencia el cual es diferente del primer vector de movimiento de referencia, tanto el segundo vector de movimiento predictivo como el segundo vector de movimiento de referencia corresponden a la segunda lista de imágenes de referencia, en la generación de la primera y la segunda lista de candidatos para vectores de movimiento predictivos, el primer vector de movimiento predictivo se agrega a la primera lista de candidatos para vectores de movimiento predictivos pero no se agrega a la segunda lista de candidatos para vectores de movimiento predictivos, y el segundo vector de movimiento predictivo se agrega a la segunda lista de candidatos para vectores · de movimiento predictivos pero no se agrega a la primera lista de candidatos para vectores de movimiento predictivos, y cuando no se determina que todas la imágenes de referencia están localizadas antes de la imagen actual en el orden de exhibición y las direcciones de referencia de los dos vectores de movimiento de referencia son diferentes, en la generación del primer y el segundo vector de movimiento predictivo, un vector de movimiento de referencia se selecciona de entre los dos vectores de movimiento de referencia, y tanto el primer como el segundo vector de movimiento predictivo se generan a partir de un vector de movimiento de referencia seleccionado.
6. Un medio de grabación, caracterizado porque tiene almacenado en el mismo un programa para codificar un bloque actual que es codificado el cual se incluye en una imagen actual, el programa causa que una computadora ejecute: la codificación del bloque actual utilizando un vector de movimiento; la determinación si todas las imágenes de referencia incluidas en la primera y la segunda lista de imágenes de referencia del bloque actual están localizadas o no antes de la imagen actual en el orden de exhibición; la generación del primer y el segundo vector de movimiento predictivo a partir de dos vectores de movimiento de referencia de un bloque codificado que se incluye en una imagen codificada que es una de todas la imágenes de referencia; la generación de la primera y la segunda lista de candidatos para vectores de movimiento predictivos las cuales incluyen el primer vector de movimiento predictivo y el segundo vector de movimiento predictivo, respectivamente, la primera lista de candidatos para vectores de movimiento predictivos corresponde a la primera lista de imágenes de referencia y la segunda lista de candidatos para vectores de movimiento predictivos corresponde a la segunda lista de imágenes de referencia; y la codificación del vector de movimiento utilizando uno o más vectores de movimiento predictivos seleccionados de la primera lista de candidatos para vectores de movimiento predictivos o la segunda lista de candidatos para vectores de movimiento predictivos, en donde cuando se determina que todas las imágenes de referencia están localizadas antes de la imagen actual en el orden de. exhibición, en la generación del primer y el segundo vector de movimiento predictivo, el primer vector de movimiento predictivo del bloque actual se genera a partir de un primer vector de movimiento de referencia de entre los dos vectores de movimiento de referencia, tanto el primer vector de movimiento predictivo como el primer vector de movimiento de referencia corresponden a la primera lista de imágenes de referencia, y el segundo vector de movimiento predictivo del bloque actual se genera a partir de un segundo vector de movimiento de referencia de entre los dos vectores de movimiento de referencia el cual es diferente del primer vector de movimiento de referencia, tanto el segundo vector de movimiento predictivo como el segundo vector de movimiento de referencia corresponden a la segunda lista de imágenes de referencia, en la generación de la primera y la segunda lista de candidatos para vectores de movimiento predictivos, el primer vector de- movimiento predictivo se agrega a la primera lista de candidatos para vectores de movimiento predictivos pero no se agrega a la segunda lista de candidatos para vectores de movimiento predictivos, y el segundo vector de movimiento predictivo se agrega a la segunda lista de candidatos para vectores de movimiento predictivos pero no se agrega a la primera lista de candidatos para vectores de movimiento predictivos, y cuando no se determina que todas las imágenes de referencia están localizadas antes de la imagen actual en el orden de exhibición y las direcciones de referencia de los dos vectores de movimiento de referencia son diferentes, en la generación del primer y el segundo vector de movimiento predictivo, un vector de movimiento de referencia se selecciona de entre los dos vectores de movimiento de referencia, y tanto el primer como el segundo vector de movimiento predictivo se generan a partir de un vector de movimiento de referencia seleccionado.
7. ün método de decodificación de imágenes en movimiento para decodificar un bloque actual que es decodificado el cual se incluye en una imagen actual, caracterizado porque comprende: determinar si todas las imágenes de referencia •incluidas en la primera y la segunda lista de imágenes de referencia del bloque actual están localizadas o no antes de la imagen actual en el orden de exhibición; generar el primer y el segundo vector de movimiento predictivo a partir de dos vectores de movimiento de referencia de un bloque decodificado que se incluye en una imagen decodificada que es una de todas las imágenes de referencia; generar la primera y la segunda lista de candidatos para vectores de movimiento predictivos las cuales incluyen el primer vector de movimiento predictivo y el segundo vector de movimiento predictivo, respectivamente, la primera lista de candidatos para vectores de movimiento predictivos corresponde a la primera lista de imágenes de referencia y la segunda lista de candidatos para vectores de movimiento predictivos corresponde a la segunda lista de imágenes de referencia ; decodificar un vector de movimiento del bloque actual utilizando uno o más vectores de movimiento predictivos seleccionados de la primera lista de candidatos para vectores de movimiento predictivos o la segunda lista de candidatos para vectores de movimiento predictivos; y decodificar el bloque actual utilizando el vector de movimiento, en donde cuando se determina que todas las imágenes de referencia están localizadas antes de la imagen actual en el orden de exhibición, en la generación del primer y el segundo vector de movimiento predictivo, el primer vector de movimiento predictivo del bloque actual se genera a partir de un primer vector de movimiento de referencia de entre los dos vectores de movimiento de referencia, tanto el primer vector de movimiento predictivo como el primer vector de movimiento de referencia corresponden a la primera lista de imágenes de referencia, y el segundo vector de movimiento predictivo del bloque actual se genera a partir de un segundo vector de movimiento de referencia de entre los dos vectores de movimiento de referencia el cual es diferente del primer vector de movimiento de referencia, tanto el segundo vector de movimiento predictivo como el segundo vector de movimiento de referencia corresponden a la segunda lista de imágenes de referencia, en la generación de la primera y la segunda lista de candidatos para vectores de movimiento predictivos, el primer vector de movimiento predictivo se agrega a la primera lista de candidatos para vectores de movimiento predictivos pero no se agrega a la segunda lista de candidatos para vectores de movimiento predictivos, y el segundo vector de movimiento predictivo se agrega a la segunda lista de candidatos para vectores de movimiento predictivos pero no se agrega a la primera lista de candidatos para vectores de movimiento predictivos, y cuando no se determina que todas las imágenes de referencia están localizadas antes de la imagen actual en el orden de exhibición y las direcciones de referencia de los dos vectores de movimiento de referencia son 'diferentes, en la generación del primer y el segundo vector de movimiento predictivo, un vector de movimiento de referencia se selecciona de entre los dos vectores de movimiento de referencia, y tanto el primer como el segundo vector de movimiento predictivo se generan a partir de un vector de movimiento de referencia seleccionado.
8. El método de decodificación de imágenes en movimiento de conformidad con la reivindicación 7, caracterizado porque cuando no se determina que todas las imágenes de referencia están localizadas antes de la imagen actual en el orden de exhibición, las direcciones de referencia de los dos vectores de movimiento de referencia son diferentes y la imagen codificada se localiza antes de la imagen actual en el orden de exhibición, en la generación del primer y el segundo vector de movimiento predictivo, tanto el primer como el segundo vector de movimiento predictivo se generan a partir de un vector de movimiento de referencia dirigido hacia atrás en el orden de exhibición de entre los dos vectores de movimiento de referencia .
9. El método de decodificación de imágenes en movimiento de conformidad con la reivindicación 7, caracterizado porque cuando no se determina que todas las imágenes de referencia están localizadas antes de la imagen actual en el orden de exhibición, las direcciones de referencia de los dos vectores de movimiento de referencia son diferentes y la imagen decodificada se localiza después de la imagen actual en el orden de exhibición, en la generación del primer y el segundo vector de movimiento predictivo, tanto el primer como el segundo vector de movimiento predictivo se generan a partir de un vector de movimiento de referencia dirigido hacia adelante en el orden de exhibición de entre los dos vectores de movimiento de referencia .
10. Un aparato de decodificación de imágenes en movimiento el cual decodifica un bloque actual que es decodificado el cual se incluye en una imagen actual, caracterizado porque comprende: una unidad de determinación configurada para determinar si todas las imágenes de referencia incluidas en la primera y la segunda lista de imágenes de referencia del bloque actual están localizadas o no antes de la imagen actual en el orden de exhibición; una unidad de generación de vectores de movimiento predictivos configurada para generar el primer y el segundo vector de movimiento predictivo a partir de dos vectores de movimiento de referencia de un bloque decodificado que se incluye en una imagen decodificada que es una de todas las imágenes de referencia; una unidad de generación de listas configurada para generar la primera y la segunda lista de candidatos para vectores de movimiento predictivos las cuales incluyen el primer vector de movimiento predictivo y el segundo vector de movimiento predictivo, respectivamente, la primera lista de candidatos para vectores de movimiento predictivos corresponde a la primera lista de imágenes de referencia y la segunda lista de candidatos para vectores de movimiento predictivos corresponde a la segunda lista de imágenes de referencia ; una unidad de decodificación de vectores de movimiento configurada para decodificar un vector de movimiento del bloque actual utilizando uno o más vectores de movimiento predictivos seleccionados de la primera lista de candidatos para vectores de movimiento predictivos o la segunda lista de candidatos para vectores de movimiento predictivos; y una unidad de decodificación de imágenes configurada para decodificar el bloque actual utilizando el vector de movimiento, en- donde cuando se determina que todas las imágenes de referencia están localizadas antes de la imagen actual en el orden de exhibición, la unidad de generación de vectores de movimiento predictivos está configurada para: generar el primer vector de movimiento predictivo del bloque actual a partir de un primer vector de movimiento de referencia de entre los dos vectores de movimiento de referencia, tanto el primer vector de movimiento predictivo como el primer vector de movimiento de referencia corresponden a la primera lista de imágenes de referencia; y generar el segundo vector de movimiento predictivo del bloque actual a partir de un segundo vector de movimiento de referencia de entre los dos vectores de movimiento de referencia el cual es diferente del primer vector de movimiento de referencia, tanto el segundo vector de movimiento predictivo como el segundo vector de movimiento de referencia corresponden a la segunda lista de imágenes de referencia, la unidad de generación de listas está configurada para: agregar el primer vector de movimiento predictivo a la primera lista de candidatos para vectores de movimiento predictivos pero no a la segunda lista de candidatos para vectores de movimiento predictivos; y agregar el segundo vector de movimiento predictivo a la segunda lista de candidatos para vectores de movimiento predictivos pero no a la primera lista de candidatos para vectores de movimiento predictivos, y cuando no se determina que todas las imágenes de referencia están localizadas antes de la imagen actual en el orden de exhibición y las direcciones de referencia de los dos vectores de movimiento de referencia son diferentes, la unidad de generación de vectores de movimiento predictivos está configurada para seleccionar un vector de movimiento de referencia de entre los dos vectores de movimiento de referencia, y generar tanto el primer como el segundo vector de movimiento predictivo a partir del vector de movimiento de referencia seleccionado.
11. Un aparato de decodificación de imágenes en movimiento el cual decodifica un bloque actual que es decodificado el cual se incluye en una imagen actual, caracterizado porque comprende: circuiteria de control; y un almacenamiento accesible desde la circuiteria de control, en donde la circuiteria de control realiza: la determinación si todas las imágenes de referencia incluidas en la primera y la segunda lista de imágenes de referencia del bloque actual y guardadas en el almacenamiento están localizadas o no antes de la imagen actual en el orden de exhibición; la generación del primer y el segundo vector de movimiento predictivo a partir de dos vectores de movimiento de referencia de un bloque decodificado que se incluye en una imagen decodificada que es una de todas las imágenes de referencia; la generación de la primera y la segunda lista de candidatos para vectores de movimiento predictivos las cuales incluyen el primer vector de movimiento predictivo y el segundo vector de movimiento predictivo, respectivamente, la primera lista de candidatos para vectores de movimiento predictivos corresponde a la primera lista de imágenes de referencia y la segunda lista de candidatos para vectores de movimiento predictivos corresponde a la segunda lista de imágenes de referencia; la decodificación de un vector de movimiento del bloque actual utilizando uno o más vectores de movimiento predictivos seleccionados de la primera lista de candidatos para vectores de movimiento predictivos o la segunda lista de candidatos para vectores de movimiento predictivos; y la decodificación del bloque actual utilizando el vector de movimiento, cuando se determina que todas las imágenes de referencia están localizadas antes de la imagen actual en el orden de exhibición, en la generación del primer y el segundo vector de movimiento predictivo, el primer vector de movimiento predictivo del bloque actual se genera a partir de un primer vector de movimiento de referencia de entre los dos vectores de movimiento de referencia, tanto el primer vector de movimiento predictivo como el primer vector de movimiento de referencia corresponden a la primera lista de imágenes de referencia, y el segundo vector de movimiento predictivo del bloque actual se genera a partir de un segundo vector de movimiento de referencia de entre los dos vectores de movimiento de referencia el cual es diferente del primer vector de movimiento de referencia, tanto el segundo vector de movimiento predictivo como el segundo vector de movimiento de referencia corresponden a la segunda lista de imágenes de referencia, en la generación de la primera y la segunda lista de candidatos para vectores de movimiento predictivos, el primer vector de movimiento predictivo se agrega a la primera lista de candidatos para vectores de movimiento predictivos pero no se agrega a la segunda lista de candidatos para vectores de movimiento predictivos, y el segundo vector de movimiento predictivo se agrega a la segunda lista de candidatos para vectores de movimiento predictivos pero no se agrega a la primera lista de candidatos para vectores de movimiento predictivos, y cuando no se determina que todas las imágenes de referencia están localizadas antes de la imagen actual en el orden de exhibición y las direcciones de referencia de los dos vectores de movimiento de referencia son diferentes, ' en la generación del primer y el segundo vector de movimiento predictivo, un vector de movimiento de referencia se selecciona de entre los dos vectores de movimiento de referencia, y tanto el primer como el segundo vector de movimiento predictivo se generan a partir de un vector de movimiento de referencia seleccionado.
12. Un medio de grabación, caracterizado porque tiene almacenado en el mismo un programa para decodificar un bloque actual que es decodificado el cual se incluye en una imagen actual, el programa causa que una computadora ejecute: la determinación si todas las imágenes de referencia incluidas en la primera y la segunda lista de imágenes de referencia del bloque actual están localizadas o no antes de la imagen actual en el orden de exhibición; la generación del primer y el segundo vector de movimiento predictivo a partir de dos vectores de movimiento de referencia de un bloque decodificado que se incluye en una imagen decodificada que es una de todas las imágenes de referencia; la generación de la primera y la segunda lista de candidatos para vectores de movimiento predictivos las cuales incluyen el primer vector de movimiento predictivo y el segundo vector de movimiento predictivo, respectivamente, la primera lista de candidatos para vectores de movimiento predictivos corresponde a la primera lista de imágenes de referencia y la segunda lista de candidatos para vectores de movimiento predictivos corresponde a la segunda lista de imágenes de referencia; la decodificación de un vector de movimiento del bloque actual utilizando uno o más vectores de movimiento predictivos seleccionados de la primera lista de candidatos para vectores de movimiento predictivos o la segunda lista de candidatos para vectores de movimiento predictivos; y la decodificación del bloque actual utilizando el vector de movimiento, en donde se determina que todas las imágenes de referencia están localizadas antes de la imagen actual en el orden de exhibición, en la generación del primer y el segundo vector de movimiento predictivo, el primer vector de movimiento predictivo del bloque actual se genera a partir de un primer vector de movimiento de referencia de entre los dos vectores de movimiento de referencia, tanto el primer vector de movimiento predictivo como el primer vector de movimiento de referencia corresponden a la primera lista de imágenes de referencia, y el segundo vector de movimiento predictivo del bloque actual se genera a partir de un segundo vector de movimiento de referencia de entre los dos vectores de movimiento de referencia el cual es diferente del primer vector de movimiento de referencia, tanto el segundo vector de movimiento predictivo como el segundo vector de movimiento de referencia corresponden a la segunda lista de imágenes de referencia, en la generación de la primera y la segunda lista de candidatos para vectores de movimiento predictivos, el primer vector de movimiento predictivo se agrega a la primera lista de candidatos para vectores de movimiento predictivos pero no se agrega a la segunda lista de candidatos para vectores de movimiento predictivos, y el segundo vector de movimiento predictivo se agrega a la segunda lista de candidatos para vectores de movimiento predictivos pero no se agrega a la primera lista de candidatos para vectores de movimiento predictivos, y cuando no se determina gue todas las imágenes de referencia están localizadas antes de la imagen actual en el orden de exhibición y las direcciones de referencia de los dos vectores de movimiento de referencia son diferentes, en la generación del primer y el segundo vector de movimiento predictivo, un vector de movimiento de referencia se selecciona de entre los dos vectores de movimiento de referencia, y tanto el primer como el segundo vector de movimiento predictivo se generan a partir de un vector de movimiento de referencia seleccionado.
MX2013009864A 2011-03-03 2012-02-29 Metodo de codificacion de imagenes en movimiento, metodo de decodificacion de imagenes en movimiento, aparato de codificacion de imagenes en movimiento, aparato de decodificacion de imagenes en movimiento y aparato de codificacion y decodificacion de imagenes en movimiento. MX2013009864A (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201161448683P 2011-03-03 2011-03-03
PCT/JP2012/001389 WO2012117728A1 (ja) 2011-03-03 2012-02-29 動画像符号化方法、動画像復号方法、動画像符号化装置、動画像復号装置、及び動画像符号化復号装置

Publications (1)

Publication Number Publication Date
MX2013009864A true MX2013009864A (es) 2013-10-25

Family

ID=46753280

Family Applications (1)

Application Number Title Priority Date Filing Date
MX2013009864A MX2013009864A (es) 2011-03-03 2012-02-29 Metodo de codificacion de imagenes en movimiento, metodo de decodificacion de imagenes en movimiento, aparato de codificacion de imagenes en movimiento, aparato de decodificacion de imagenes en movimiento y aparato de codificacion y decodificacion de imagenes en movimiento.

Country Status (6)

Country Link
US (5) US9210440B2 (es)
JP (3) JP5358746B2 (es)
KR (1) KR101878008B1 (es)
MX (1) MX2013009864A (es)
TW (1) TWI538486B (es)
WO (1) WO2012117728A1 (es)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9648334B2 (en) * 2011-03-21 2017-05-09 Qualcomm Incorporated Bi-predictive merge mode based on uni-predictive neighbors in video coding
TWI526056B (zh) * 2011-04-27 2016-03-11 Jvc Kenwood Corp A moving picture coding apparatus, a motion picture coding method, a motion picture coding program, a transmission apparatus, a transmission method, a transmission program, a video decoding apparatus, a video decoding method, a video decoding program, a reception device, a reception method, Receiving program
WO2012147344A1 (ja) * 2011-04-27 2012-11-01 株式会社Jvcケンウッド 動画像復号装置、動画像復号方法、及び動画像復号プログラム
WO2013001749A1 (ja) * 2011-06-29 2013-01-03 パナソニック株式会社 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置および画像符号化復号装置
CN110572681B (zh) * 2011-06-30 2023-12-15 索尼公司 图像处理设备和图像处理方法
MX2014000159A (es) 2011-07-02 2014-02-19 Samsung Electronics Co Ltd Metodo y aparato para la codificacion de video, y metodo y aparato para la decodificacion de video acompañada por inter prediccion utilizando imagen co-localizada.
US10440373B2 (en) 2011-07-12 2019-10-08 Texas Instruments Incorporated Method and apparatus for coding unit partitioning
WO2013009104A2 (ko) 2011-07-12 2013-01-17 한국전자통신연구원 인터 예측 방법 및 그 장치
BR112014004914B1 (pt) * 2011-08-29 2022-04-12 Ibex Pt Holdings Co., Ltd Método de codificação de uma imagem em um modo amvp
WO2013108616A1 (en) 2012-01-20 2013-07-25 Panasonic Corporation Methods and apparatuses for encoding and decoding video using temporal motion vector prediction
KR101996682B1 (ko) 2012-02-03 2019-07-04 선 페이턴트 트러스트 화상 부호화 방법, 화상 복호 방법, 화상 부호화 장치, 화상 복호 장치 및 화상 부호화 복호 장치
JP6421931B2 (ja) 2012-03-06 2018-11-14 サン パテント トラスト 動画像符号化方法及び動画像符号化装置
CN116567224A (zh) 2016-08-11 2023-08-08 Lx 半导体科技有限公司 图像编码/解码方法和图像数据的发送方法
TWI747000B (zh) 2018-06-29 2021-11-21 大陸商北京字節跳動網絡技術有限公司 虛擬Merge候選
US10638130B1 (en) * 2019-04-09 2020-04-28 Google Llc Entropy-inspired directional filtering for image coding
CN115336280A (zh) * 2020-03-31 2022-11-11 北京达佳互联信息技术有限公司 用于视频编解码中的高级语法的方法和设备
CN115715467A (zh) * 2020-04-03 2023-02-24 北京达佳互联信息技术有限公司 用于视频编解码中的高级语法的方法和设备

Family Cites Families (87)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5020829B1 (es) 1970-08-28 1975-07-17
KR950009699B1 (ko) 1992-06-09 1995-08-26 대우전자주식회사 움직임벡터 검출방법 및 장치
US6611559B1 (en) 1996-09-24 2003-08-26 Matsushita Electric Industrial Co., Ltd. Apparatus and method of detecting motion vectors by calculating a correlation degree between each candidate block
WO1998031151A1 (en) 1997-01-10 1998-07-16 Matsushita Electric Industrial Co., Ltd. Image processing method, image processing device, and data recording medium
US20040057518A1 (en) 2000-10-09 2004-03-25 Knee Michael James Compression of motion vectors
EP1331826A1 (en) 2000-10-27 2003-07-30 Mitsubishi Denki Kabushiki Kaisha Moving vector detector
US7170932B2 (en) 2001-05-11 2007-01-30 Mitsubishi Electric Research Laboratories, Inc. Video transcoder with spatial resolution reduction and drift compensation
BR0206308B1 (pt) 2001-11-06 2018-01-09 Matsushita Electric Ind Co Ltd "método de codificação para codificar uma imagem"
US6980596B2 (en) * 2001-11-27 2005-12-27 General Instrument Corporation Macroblock level adaptive frame/field coding for digital video content
JP2004007379A (ja) 2002-04-10 2004-01-08 Toshiba Corp 動画像符号化方法及び動画像復号化方法
JP2004088722A (ja) 2002-03-04 2004-03-18 Matsushita Electric Ind Co Ltd 動画像符号化方法および動画像復号化方法
KR100508798B1 (ko) 2002-04-09 2005-08-19 엘지전자 주식회사 쌍방향 예측 블록 예측 방법
EP3525464B1 (en) 2002-04-19 2021-03-03 Panasonic Intellectual Property Corporation of America Picture coding and decoding method and system
JP2004208258A (ja) * 2002-04-19 2004-07-22 Matsushita Electric Ind Co Ltd 動きベクトル計算方法
JP2004208259A (ja) 2002-04-19 2004-07-22 Matsushita Electric Ind Co Ltd 動きベクトル計算方法
KR20040099100A (ko) 2002-04-19 2004-11-26 마쯔시다덴기산교 가부시키가이샤 움직임 벡터 계산 방법
JP4130783B2 (ja) 2002-04-23 2008-08-06 松下電器産業株式会社 動きベクトル符号化方法および動きベクトル復号化方法
KR100491530B1 (ko) 2002-05-03 2005-05-27 엘지전자 주식회사 모션 벡터 결정 방법
JP2003333600A (ja) 2002-05-09 2003-11-21 Matsushita Electric Ind Co Ltd 画像符号化方法および画像復号方法
WO2003098939A1 (en) * 2002-05-22 2003-11-27 Matsushita Electric Industrial Co., Ltd. Moving image encoding method, moving image decoding method, and data recording medium
JP2004023458A (ja) * 2002-06-17 2004-01-22 Toshiba Corp 動画像符号化/復号化方法及び装置
CN100367802C (zh) 2002-07-02 2008-02-06 松下电器产业株式会社 运动矢量导出方法和装置
US20040234143A1 (en) * 2002-07-02 2004-11-25 Makoto Hagai Image encoding method and picture decoding method
CN101039427B (zh) 2002-07-15 2010-06-16 株式会社日立制作所 动态图像的解码方法
KR100865034B1 (ko) 2002-07-18 2008-10-23 엘지전자 주식회사 모션 벡터 예측 방법
US6728315B2 (en) 2002-07-24 2004-04-27 Apple Computer, Inc. Method and apparatus for variable accuracy inter-picture timing specification for digital video encoding with reduced requirements for division operations
KR100506864B1 (ko) 2002-10-04 2005-08-05 엘지전자 주식회사 모션벡터 결정방법
ES2729258T3 (es) * 2002-11-01 2019-10-31 Godo Kaisha Ip Bridge 1 Cálculo del vector de movimiento en modo directo evitando divisiones por cero
CA2473767C (en) 2002-11-20 2012-10-23 Matsushita Electric Industrial Co., Ltd. Moving picture prediction method, moving picture coding method and apparatus, and moving picture decoding method and apparatus
NO318167B1 (no) 2002-11-27 2005-02-14 Tandberg Telecom As Vektorprediksjon
JP2006524000A (ja) 2003-04-17 2006-10-19 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ビデオトランスコーディング
US7882434B2 (en) 2003-06-27 2011-02-01 Benjamin Slotznick User prompting when potentially mistaken actions occur during user interaction with content on a display screen
US7426308B2 (en) 2003-07-18 2008-09-16 Microsoft Corporation Intraframe and interframe interlace coding and decoding
KR100579542B1 (ko) 2003-07-29 2006-05-15 삼성전자주식회사 블럭 간의 상관성을 고려한 움직임 추정 장치 및 방법
US8064520B2 (en) 2003-09-07 2011-11-22 Microsoft Corporation Advanced bi-directional predictive coding of interlaced video
CN1225127C (zh) 2003-09-12 2005-10-26 中国科学院计算技术研究所 一种用于视频编码的编码端/解码端双向预测方法
KR100999091B1 (ko) 2003-11-17 2010-12-07 삼성전자주식회사 임의 크기의 가변 블록을 이용한 영상 압축 방법 및 장치
US8036271B2 (en) * 2004-02-24 2011-10-11 Lsi Corporation Method and apparatus for determining a second picture for temporal direct-mode block prediction
US7894526B2 (en) 2004-02-27 2011-02-22 Panasonic Corporation Motion estimation method and moving picture coding method
TWI268715B (en) 2004-08-16 2006-12-11 Nippon Telegraph & Telephone Picture encoding method, picture decoding method, picture encoding apparatus, and picture decoding apparatus
US20060153300A1 (en) 2005-01-12 2006-07-13 Nokia Corporation Method and system for motion vector prediction in scalable video coding
US7580456B2 (en) 2005-03-01 2009-08-25 Microsoft Corporation Prediction-based directional fractional pixel motion estimation for video coding
US8761258B2 (en) 2005-06-17 2014-06-24 The Hong Kong University Of Science And Technology Enhanced block-based motion estimation algorithms for video compression
JP2007043651A (ja) 2005-07-05 2007-02-15 Ntt Docomo Inc 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、動画像復号装置、動画像復号方法及び動画像復号プログラム
US20070025444A1 (en) 2005-07-28 2007-02-01 Shigeyuki Okada Coding Method
KR101276720B1 (ko) * 2005-09-29 2013-06-19 삼성전자주식회사 카메라 파라미터를 이용하여 시차 벡터를 예측하는 방법,그 방법을 이용하여 다시점 영상을 부호화 및 복호화하는장치 및 이를 수행하기 위한 프로그램이 기록된 기록 매체
US9881535B2 (en) 2005-09-30 2018-01-30 Sharp Kabushiki Kaisha Image display device and method
KR100727989B1 (ko) 2005-10-01 2007-06-14 삼성전자주식회사 동영상 부호화시의 인터 모드 결정 방법 및 장치
KR100728011B1 (ko) 2005-11-09 2007-06-14 삼성전자주식회사 영상 부호화 및 복호화 장치와, 그 방법, 및 이를 수행하기위한 프로그램이 기록된 기록 매체
WO2007074543A1 (ja) 2005-12-27 2007-07-05 Sharp Kabushiki Kaisha 動画像復号装置および動画像符号化装置
JP4527677B2 (ja) 2006-03-15 2010-08-18 富士通株式会社 動画像符号化方法、動画像符号化装置、動画像符号化プログラム
CN101090491B (zh) 2006-06-16 2016-05-18 香港科技大学 用于视频压缩的增强的基于块的运动估计算法
KR101366242B1 (ko) 2007-03-29 2014-02-20 삼성전자주식회사 움직임 모델 파라메터의 부호화, 복호화 방법 및 움직임모델 파라메터를 이용한 영상의 부호화, 복호화 방법 및장치
JP4788649B2 (ja) 2007-04-27 2011-10-05 株式会社日立製作所 動画像記録方法及びその装置
KR100955396B1 (ko) * 2007-06-15 2010-04-29 성균관대학교산학협력단 양-예측 부호화 방법 및 장치, 양-예측 복호화 방법 및장치 및 기록매체
JP4523023B2 (ja) 2007-08-07 2010-08-11 パナソニック株式会社 画像符号化装置および方法
JP4523625B2 (ja) 2007-08-07 2010-08-11 パナソニック株式会社 画像符号化装置および方法
EP2200323A4 (en) 2007-09-25 2012-03-14 Sharp Kk CODES FOR MOVING IMAGES AND DECODERS FOR MOVING IMAGES
US8514939B2 (en) 2007-10-31 2013-08-20 Broadcom Corporation Method and system for motion compensated picture rate up-conversion of digital video using picture boundary processing
KR101560182B1 (ko) 2008-01-07 2015-10-15 삼성전자주식회사 다시점 비디오 부호화 방법과 그 장치 및 다시점 비디오 복호화 방법과 그 장치
JP2009182623A (ja) 2008-01-30 2009-08-13 Panasonic Corp 画像符号化方法
KR101505195B1 (ko) 2008-02-20 2015-03-24 삼성전자주식회사 직접 모드 부호화 및 복호화 방법
US20100079605A1 (en) 2008-09-29 2010-04-01 William Marsh Rice University Sensor-Assisted Motion Estimation for Efficient Video Encoding
KR101377660B1 (ko) 2008-09-30 2014-03-26 에스케이텔레콤 주식회사 복수 개의 움직임 벡터 추정을 이용한 움직임 벡터 부호화/복호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
US8620883B2 (en) 2009-03-02 2013-12-31 Qualcomm, Incorporated Apparatus and methods of reconciling different versions of an ordered list
KR101647376B1 (ko) 2009-03-30 2016-08-10 엘지전자 주식회사 비디오 신호 처리 방법 및 장치
US20120106634A1 (en) 2009-04-21 2012-05-03 Lg Electronics Inc. Method and apparatus for processing multi-view video signal
JP2010288110A (ja) 2009-06-12 2010-12-24 Sony Corp 画像処理装置および画像処理方法
US8917769B2 (en) 2009-07-03 2014-12-23 Intel Corporation Methods and systems to estimate motion based on reconstructed reference frames at a video decoder
US8462852B2 (en) 2009-10-20 2013-06-11 Intel Corporation Methods and apparatus for adaptively choosing a search range for motion estimation
CN102077597A (zh) 2009-07-10 2011-05-25 松下电器产业株式会社 运动图像编码方法、装置、程序、以及集成电路
KR101452859B1 (ko) 2009-08-13 2014-10-23 삼성전자주식회사 움직임 벡터를 부호화 및 복호화하는 방법 및 장치
KR101671460B1 (ko) 2009-09-10 2016-11-02 에스케이 텔레콤주식회사 움직임 벡터 부호화/복호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
US9060176B2 (en) * 2009-10-01 2015-06-16 Ntt Docomo, Inc. Motion vector prediction in video coding
KR101348613B1 (ko) * 2009-12-23 2014-01-10 한국전자통신연구원 영상의 부호화/복호화 장치 및 그 방법
KR101522850B1 (ko) 2010-01-14 2015-05-26 삼성전자주식회사 움직임 벡터를 부호화, 복호화하는 방법 및 장치
US9036692B2 (en) 2010-01-18 2015-05-19 Mediatek Inc. Motion prediction method
US9124898B2 (en) * 2010-07-12 2015-09-01 Mediatek Inc. Method and apparatus of temporal motion vector prediction
US8824558B2 (en) * 2010-11-23 2014-09-02 Mediatek Inc. Method and apparatus of spatial motion vector prediction
JPWO2012096173A1 (ja) 2011-01-12 2014-06-09 パナソニック株式会社 動画像符号化方法
US9532066B2 (en) 2011-01-21 2016-12-27 Qualcomm Incorporated Motion vector prediction
US9008181B2 (en) 2011-01-24 2015-04-14 Qualcomm Incorporated Single reference picture list utilization for interprediction video coding
US9319716B2 (en) 2011-01-27 2016-04-19 Qualcomm Incorporated Performing motion vector prediction for video coding
JP2012169763A (ja) 2011-02-10 2012-09-06 Sony Corp 画像符号化装置と画像符号化方法およびプログラム
US9288501B2 (en) * 2011-03-08 2016-03-15 Qualcomm Incorporated Motion vector predictors (MVPs) for bi-predictive inter mode in video coding
US9734399B2 (en) 2014-04-08 2017-08-15 The Boeing Company Context-aware object detection in aerial photographs/videos using travel path metadata
US10575699B2 (en) 2018-01-05 2020-03-03 Irobot Corporation System for spot cleaning by a mobile robot

Also Published As

Publication number Publication date
US20180048908A1 (en) 2018-02-15
JPWO2012117728A1 (ja) 2014-07-07
TW201246947A (en) 2012-11-16
JP5850893B2 (ja) 2016-02-03
US20190166381A1 (en) 2019-05-30
KR101878008B1 (ko) 2018-07-13
TWI538486B (zh) 2016-06-11
US20160007039A1 (en) 2016-01-07
JP2014003694A (ja) 2014-01-09
US9832480B2 (en) 2017-11-28
US20120224637A1 (en) 2012-09-06
US10771804B2 (en) 2020-09-08
JP5393924B2 (ja) 2014-01-22
WO2012117728A1 (ja) 2012-09-07
JP5358746B2 (ja) 2013-12-04
JP2014014141A (ja) 2014-01-23
US10237570B2 (en) 2019-03-19
US9210440B2 (en) 2015-12-08
US11284102B2 (en) 2022-03-22
US20200351514A1 (en) 2020-11-05
KR20140018891A (ko) 2014-02-13

Similar Documents

Publication Publication Date Title
AU2016202666B2 (en) Image coding method, image decoding method, image coding apparatus, image decoding apparatus, and image coding and decoding apparatus
AU2018203520B2 (en) Image coding method, image decoding method, image coding apparatus, image decoding apparatus, and image coding and decoding apparatus
AU2012260302B2 (en) Image coding method, image coding apparatus, image decoding method, image decoding apparatus, and image coding and decoding apparatus
AU2012329550B2 (en) Image encoding method, image decoding method, image encoding apparatus, and image decoding apparatus
AU2012291454B2 (en) Video encoding method, video encoding apparatus, video decoding method, video decoding apparatus, and video encoding/decoding apparatus
AU2012264031B2 (en) Image encoding method, image encoding device, image decoding method, image decoding device, and image encoding/decoding device
AU2017202023B2 (en) Image coding method, image decoding method, image coding apparatus, image decoding apparatus, and image coding and decoding apparatus
AU2011353415B2 (en) Moving picture decoding method, moving picture coding method, moving picture decoding apparatus, moving picture coding apparatus, and moving picture coding and decoding apparatus
MX2013009864A (es) Metodo de codificacion de imagenes en movimiento, metodo de decodificacion de imagenes en movimiento, aparato de codificacion de imagenes en movimiento, aparato de decodificacion de imagenes en movimiento y aparato de codificacion y decodificacion de imagenes en movimiento.
AU2017201384B2 (en) Moving picture coding method, moving picture decoding method, moving picture coding apparatus, moving picture decoding apparatus, and moving picture coding and decoding apparatus
MX2013010231A (es) Metodo de codificacion de imagenes en movimiento, aparato de codificacion de imagenes en movimiento, metodo de decodificacion de imagenes en movimiento, aparato de decodificacion de imagenes en movimiento y aparato de codificacion y decodificacion de imagenes en movimiento.
AU2012277160B2 (en) Image encoding method, image decoding method, image encoding device, image decoding device, and image encoding/decoding device
AU2012294053B2 (en) Image coding method, image decoding method, image coding apparatus, image decoding apparatus, and image coding and decoding apparatus
AU2012274765B2 (en) Image coding method, image decoding method, image coding apparatus, image decoding apparatus, and image coding and decoding apparatus
AU2012333936B9 (en) Image coding method, image coding apparatus, image decoding method and image decoding apparatus
AU2013273044B2 (en) Video image encoding method, video image encoding device, video image decoding method, and video image decoding device
AU2013254214B2 (en) Encoding method, decoding method, encoding apparatus, decoding apparatus, and encoding and decoding apparatus
MX2013012124A (es) Metodo de codificacion de video, aparato de codificacion de video, metodo de decodificacion de video, aparato de decodificacion de video y aparato de codificacion/decodificacion de video.
MX2013013909A (es) Metodo de decodificacion de imagenes, metodo de codificacion de imagenes, aparato de decodificacion de imagenes, aparato de codificacion de imagenes y aparato de codificacion y decodificacion de imágenes.
MX2014003728A (es) Metodo de codificacion de imagenes, aparato de codificacion de imagenes, metodo de decodificacion de imagenes, aparato de decodificacion de imagenes y aparato de codificacion/decodificacio n de imagenes.
MX2013014733A (es) Metodo de codificacion de imagenes de video, dispositivo de codificacion de imagenes de video, metodo de decodificacion de imagenes de video, dispositivo de decodificacion de imagenes de video y dispositivo de codificacion/decodificacion de imagenes de video.
MX2012012443A (es) Modo de filtrado para intra-prediccion deducida de estadisticas de bloques circundantes.
AU2013264361B2 (en) Image encoding method, image encoding device, image decoding method, image decoding device, and image encoding/decoding device
MX2013014207A (es) Metodo de procesamiento de imagenes y aparato de procesamiento de imagenes.
MX2013001773A (es) Metodo de codificacion de imagen, metodo de decodificacion de imagen, aparato de codificacion de imagen, aparato de decodificacion de imagen, y aparato de codificacion y decodificacion de imagen.

Legal Events

Date Code Title Description
GB Transfer or rights

Owner name: PANASONIC INTELLECTUAL PROPERTY CORPORATION OF AME

FG Grant or registration