[go: up one dir, main page]

MX2014000874A - 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. - Google Patents

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.

Info

Publication number
MX2014000874A
MX2014000874A MX2014000874A MX2014000874A MX2014000874A MX 2014000874 A MX2014000874 A MX 2014000874A MX 2014000874 A MX2014000874 A MX 2014000874A MX 2014000874 A MX2014000874 A MX 2014000874A MX 2014000874 A MX2014000874 A MX 2014000874A
Authority
MX
Mexico
Prior art keywords
candidates
candidate
motion vector
predictors
motion
Prior art date
Application number
MX2014000874A
Other languages
English (en)
Other versions
MX341415B (es
Inventor
Toshiyasu Sugio
Takahiro Nishi
Youji Shibahara
Hisao Sasai
Kyoko Tanikawa
Toru Matsunobu
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 MX2014000874A publication Critical patent/MX2014000874A/es
Publication of MX341415B publication Critical patent/MX341415B/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/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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/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/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

Un método de codificación de imágenes en movimiento para calcular un predictor de vector de movimiento que se utiliza cuando se codifica un vector de movimiento de un bloque actual y se codifica el bloque actual incluye: (S102) obtener candidatos de predictores de vectores de movimiento de los cuales el número fijo es dos o más; (S103) seleccionar el predictor de vector de movimiento que se utiliza para codificar el vector de movimiento del bloque actual, de entre los candidatos de predictores de vectores de movimiento de los cuales el número fijo es dos o más; y (S104) codificar un índice para identificar el predictor de vector de movimiento seleccionado de acuerdo con el número fijo de dos o más, en donde los candidatos de predictores de vectores de movimiento de los cuales el número fijo es dos o más incluyen uno o más candidatos cada uno que tiene un segundo valor fijo, predeterminado.

Description

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 CAMPO DE LA INVENCION La presente invención se refiere a métodos de codificación de imágenes en movimiento, métodos de decodificación de imágenes en movimiento y similares.
ANTECEDENTES DE LA INVENCION En el procesamiento de codificación de imágenes en movimiento, en general, la cantidad de información se reduce al utilizar la redundancia en la dirección espacial y la dirección temporal que tienen las imágenes en movimiento. En este documento, en general, la transformación a un dominio de frecuencia se utiliza como un método que utiliza la redundancia en la dirección espacial. Además, el procesamiento de codificación de predicción interimagen (en lo sucesivo, referida como "interpredicción" ) se utiliza como un método que utiliza la redundancia en la dirección temporal. En el procesamiento de codificación interpredicción, cuando se codifica una imagen, una imagen codificada que aparece antes o después de una imagen actual que es codificada en el orden de tiempo de exhibición se utiliza como una imagen de referencia. Un vector de REF : 245951 movimiento se deduce al realizar la detección de movimiento en la imagen actual en relación con la imagen de referencia. Luego, la redundancia en la dirección temporal se elimina al calcular una diferencia entre los datos de imagen de la imagen actual y los datos de imagen predichos que se obtuvieron al realizar la compensación de movimiento con base en el vector de movimiento deducido (por ejemplo, véase la Bibliografía que no es Patente (NPL) 1) . En este documento, en la detección de movimiento, se calcula un valor de diferencia entre un bloque actual en una imagen actual que es codificada y un bloque en una imagen de referencia y un bloque en la imagen de referencia con la cual se obtiene el valor de diferencia más pequeño se determina como un bloque de referencia. Luego, un vector de movimiento se detecta utilizando el bloque actual y el bloque de referencia.
Lista de Referencias Bibliografía que no es Patente NPL 1: ITU-T Recommendation H.264, "Advanced video coding for generic audiovisual services" , Marzo de 2010 NPL 2: JCT-VC, "WD3 : Working Draft 3 of High-Efficiency Video Coding", JCTVC-E603 , Marzo de 2011.
BREVE DESCRIPCION DE LA INVENCION Problema Técnico Sin embargo, existe la exigencia respecto a la técnica convencional anterior para lograr un mejoramiento en la resistencia al error, en la codificación y decodificación de una imagen en movimiento utilizando la interpredicción .
En vista de esto, un objetivo de la presente invención es proporcionar un método de codificación de imágenes en movimiento y un método de decodificación de imágenes en movimiento los cuales mejoran la resistencia al error, en la codificación y decodificación de una imagen en movimiento utilizando la interpredicción.
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 de codificación de imágenes en movimiento para calcular un predictor de vector de movimiento que se utiliza cuando se codifica un vector de movimiento de un bloque actual y codificar el bloque actual para generar una corriente de bits, el método incluye: obtener candidatos de predictores de vectores de movimiento de los cuales un número fijo es dos o más y cada uno de los cuales es un candidato para el predictor de vector de movimiento; seleccionar el predictor de vector de movimiento que se utiliza para codificar el vector de movimiento del bloque actual, de entre los candidatos de predictores de vectores de movimiento de los cuales el número fijo es dos o más; y codificar un índice para identificar el predictor de vector de movimiento seleccionado de acuerdo con el número fijo de dos o más, y agregar el índice codificado a la corriente de bits, en donde los candidatos de predictores de vectores de movimiento de los cuales el número fijo es dos o más incluyen uno o más candidatos cada uno que tiene un valor fijo, predeterminado. Efectos Ventajosos de la Invención De acuerdo con un aspecto de la presente invención, es posible mejorar la resistencia al error en la codificación y decodificación de una imagen en movimiento utilizando la interpredicción.
BREVE DESCRIPCION DE LAS FIGURAS La FIGURA 1A es un diagrama para describir un ejemplo de una lista de imágenes de referencia para una imagen-B .
La FIGURA IB muestra un ejemplo de una lista de imágenes de referencia para una dirección de predicción 0 para una imagen-B.
La FIGURA 1C muestra un ejemplo de una lista de imágenes de referencia para una dirección de predicción 1 para una imagen-B.
La FIGURA 2 es un diagrama para describir vectores de movimiento en un modo de predicción de vectores de movimiento temporal .
La FIGURA 3 muestra ejemplos de vectores de movimiento de bloques adyacentes utilizados en un modo de designación de predictores de vectores de movimiento.
Las FIGURAS 4A-4B son diagramas para describir un ejemplo de una lista de candidatos de predictores de vectores de movimiento para la dirección de predicción 0.
Las FIGURAS 5A-5B son diagramas para describir un ejemplo de una lista de candidatos de predictores de vectores de movimiento para la dirección de predicción 1.
La FIGURA 6 muestra ejemplos de la asignación de secuencias de bits a índices de predictores de vectores de movimiento .
La FIGURA.7 es un diagrama de flujo que muestra un ejemplo del procesamiento de codificación realizado cuando se utiliza el modo de designación de predictores de vectores de movimiento.
La FIGURA 8A muestra un ejemplo del cálculo de un predictor de vector de movimiento.
La FIGURA 8B muestra un ejemplo del cálculo de un predictor de vector de movimiento.
La FIGURA 9 es un diagrama de bloques que muestra un ejemplo de una configuración de un aparato de codificación de imágenes en movimiento el cual codifica una imagen en movimiento utilizando el modo de designación de predictores de vectores de movimiento.
La FIGURA 10 es un diagrama de flujo que muestra un ejemplo del procesamiento de decodificación realizado cuando se utiliza el modo de designación de predictores de vectores de movimiento.
La FIGURA 11 es un diagrama de bloques que muestra un ejemplo de una configuración de un aparato de decodificación de imágenes en movimiento el cual decodifica una imagen en movimiento codificada utilizando el modo de designación de predictores de vectores de movimiento.
La FIGURA 12 muestra la sintaxis utilizada cuando un índice de predictor de vector de movimiento se agrega a una corriente de bits.
La FIGURA 13 es un diagrama de bloques que muestra una configuración de un aparato de codificación de imágenes en movimiento de acuerdo con la Modalidad 1.
La FIGURA 14 es un diagrama de flujo que muestra la operación de procesamiento del aparato de codificación de imágenes en movimiento de acuerdo con la Modalidad 1.
La FIGURA 15A muestra un ejemplo de una lista de candidatos de predictores de vectores de movimiento para la dirección de predicción 0 en la Modalidad 1.
La FIGURA 15B muestra un ejemplo de una lista de candidatos de predictores de vectores de movimiento para la dirección de predicción 0 en una modificación de modalidades.
La FIGURA 15C muestra un ejemplo de una lista de candidatos de predictores de vectores de movimiento para la dirección de predicción 0 en la modificación de las modalidades.
La FIGURA 16A muestra un ejemplo de una lista de candidatos de predictores de vectores de movimiento para la dirección de predicción 1 en la Modalidad 1.
La FIGURA 16B muestra un ejemplo de una lista de candidatos de predictores de vectores de movimiento para la dirección de predicción 1 en la modificación de las modalidades.
La FIGURA 16C muestra un ejemplo de una lista de candidatos de predictores de vectores de movimiento para la dirección de predicción 1 en la modificación de las modalidades .
La FIGURA 17A es un diagrama de flujo que muestra el procesamiento para calcular un candidato de predictor de vector de movimiento y un tamaño de la lista de candidatos de predictores de vectores de movimiento en la Modalidad 1.
La FIGURA 17B es un diagrama de flujo que muestra el procesamiento para calcular un candidato de predictor de vector de movimiento en la modificación de las modalidades.
La FIGURA 17C es un diagrama de flujo que muestra el procesamiento para calcular un candidato de predictor de vector de movimiento en la modificación de las modalidades.
La FIGURA 18 es un diagrama de flujo que muestra el procesamiento para actualizar el número de candidatos de predictores disponibles en la Modalidad 1.
La FIGURA 19A es un diagrama de flujo que muestra el procesamiento para agregar un nuevo candidato en la Modalidad 1.
La FIGURA 19B es un diagrama de flujo que muestra el procesamiento para agregar un nuevo candidato en la modificación de las modalidades.
La FIGURA 20 es un diagrama de flujo que muestra el procesamiento con respecto a la selección de un candidato de predictor de vector de movimiento en la Modalidad 1.
La FIGURA 21 es un diagrama de bloques que muestra una configuración de un aparato de decodificación de imágenes en movimiento de acuerdo con la Modalidad 2.
La FIGURA 22 es un diagrama de flujo que muestra la operación de procesamiento del aparato de decodificación de imágenes en movimiento de acuerdo con la Modalidad 2.
La FIGURA 23 es un diagrama de flujo que muestra el procesamiento para calcular el número de candidatos de predictores disponibles en la Modalidad 2 .
La FIGURA 24 es un diagrama de flujo que muestra el procesamiento para calcular un candidato de predictor de vector de movimiento en la Modalidad 2.
La FIGURA 25 muestra un ejemplo de la sintaxis utilizada cuando un índice de predictor de vector de movimiento se agrega a una corriente de bits.
La FIGURA 26 muestra un ejemplo de la sintaxis utilizada cuando el tamaño de una lista de candidatos de predictores de vectores de movimiento se fija al valor máximo del número de candidatos de predictores de vectores de movimiento.
La FIGURA 27 es un diagrama de flujo que muestra el procesamiento para agregar un segundo candidato en la modificación de modalidades.
La FIGURA 28 muestra una configuración completa de un sistema de provisión de contenido para implementar servicios de distribución de contenido.
La FIGURA 29 muestra una configuración completa de un sistema de difusión digital.
La FIGURA 30 muestra un diagrama de bloques que ilustra un ejemplo de una configuración de una televisión.
La FIGURA 31 muestra 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 32 muestra un ejemplo de una configuración de un medio de grabación que es un disco óptico.
La FIGURA 33A muestra un ejemplo de un teléfono celular.
La FIGURA 33B es un diagrama de bloques que muestra un ejemplo de una configuración de un teléfono celular.
La FIGURA 34 ilustra una estructura de datos multiplexados .
La FIGURA 35 muestra esquemáticamente como cada corriente es multiplexada en datos multiplexados.
La FIGURA 36 muestra con mayor detalle como una corriente de video se almacena en una corriente de paquetes PES.
La FIGURA 37 muestra una estructura de paquetes TS y paquetes fuente en los datos multiplexados .
La FIGURA 38 muestra una estructura de datos de una PMT.
La FIGURA 39 muestra una estructura interna de información de datos multiplexados.
La FIGURA 40 muestra una estructura interna de información de atributos de corriente.
La FIGURA 41 muestra pasos para identificar datos de video.
La FIGURA 42 muestra 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 43 muestra una configuración para conmutar entre frecuencias impulsoras.
La FIGURA 44 muestra pasos para identificar datos de video y conmutar entre frecuencias impulsoras.
La FIGURA 45 muestra un ejemplo de una tabla de consulta en la cual los estándares de datos de video se asocian con frecuencias impulsoras.
La FIGURA 46A es un diagrama que muestra un ejemplo de una configuración para compartir un módulo de una unidad de procesamiento de señales.
La FIGURA 46B es un diagrama que muestra otro ejemplo de una configuración para compartir un módulo de la unidad de procesamiento de señales .
DESCRIPCION DETALLADA DE LA INVENCION Conocimiento Fundamental que Forma la Base de la Presente Invención En el esquema de codificación de imágenes en movimiento referido como H.264 el cual ya ha sido estandarizado, tres tipos de imágenes, específicamente la imagen- I, imagen-P e imagen-B, se utilizan para comprimir la cantidad de información.
Una imagen- I no se codifica mediante un procesamiento de codificación de interpredicción . Específicamente, una imagen- I se codifica mediante un procesamiento de codificación de predicción intraimagen (en lo sucesivo, referida como intrapredicción) . Una imagen-P se codifica mediante la codificación interpredicción al hacer referencia a una imagen ya codificada que aparece antes o después de una imagen actual que es codificada en el orden de tiempo de exhibición. Una imagen-B se codifica mediante la codificación interpredicción al hacer referencia a dos imágenes ya codificadas que aparecen antes o después de la imagen actual en el orden de tiempo de exhibición.
En la codificación de interpredicción, se genera una lista de imágenes de referencia para identificar una imagen de referencia. Una lista de referencia es una lista en la cual los Indices de imágenes de referencia se asignan a imágenes de referencia codificadas que son referidas en la interpredicció . Por ejemplo, puesto que las imágenes-B se pueden codificar mediante la referencia a dos imágenes, se generan dos listas de referencia (LO, Ll) .
La FIGURA 1A es un diagrama para describir un ejemplo de una lista de imágenes de referencia para una imagen-B. La FIGURA IB muestra un ejemplo de una lista de imágenes de referencia 0 (LO) para la dirección de predicción 0 en la predicción bidireccional . En este documento, en la lista de imágenes de referencia 0, el valor 0 del índice de imagen de referencia 0 se asigna a la imagen de referencia 0 en el orden de exhibición 2. Además, el valor 1 del índice de imagen de referencia 0 se asigna a la imagen de referencia 1 en el orden de exhibición 1. Además, el valor 2 del índice de imagen de referencia 0 se asigna a la imagen de referencia 2 en el orden de exhibición 0. Específicamente, los índices de imágenes de referencia que tienen valores más pequeños se asignan a imágenes de referencia con el propósito que la proximidad temporal a una imagen actual sea codificada en un orden de exhibición.
La FIGURA 1C muestra un ejemplo de la lista de imágenes de referencia 1 (Ll) para la dirección de predicción 1 en una predicción bidireccional. En este documento, en la lista de imágenes de referencia 1, el valor 0 del índice de imagen de referencia 1 se asigna a la imagen de referencia 1 en el orden de exhibición 1. Además, el valor 1 del índice de imagen de referencia 1 se asigna a la imagen de referencia 0 en el orden de exhibición 2. Además, el valor 2 del índice de imagen de referencia 2 se asigna a la imagen de referencia 2 en el orden de exhibición 0.
De esta manera, es posible asignar índices de imágenes de referencia que tienen diferentes valores para las direcciones de predicción a una imagen de referencia (imágenes de referencia 0 y 1 mostradas en la FIGURA 1A) e índices de imágenes de referencia que tienen el mismo valor para las direcciones de predicción a una imagen de referencia (imagen de referencia 2 mostrada en la FIGURA 1A) .
Además, en el esquema de codificación de imágenes en movimiento referido como H.264 (NPL 1), un modo de detección de vectores en movimiento se utiliza como un modo de codificación interpredicción para bloques que son codificados en una imagen-B. En el modo de detección de vectores de movimiento, un valor de diferencia entre datos de imagen predichos y datos de imagen de un bloque actual que es codificado, y un vector de movimiento utilizado para generar los datos de imagen predichos se codifican. Además, en el modo de detección de vectores de movimiento, es posible seleccionar la predicción bidireccional o la predicción unidireccional, como la dirección de predicción. En la predicción bidireccional , una imagen predicha se genera al hacer referencia a dos imágenes ya codificadas las cuales aparecen antes o después de una imagen actual que es codificada. En la predicción unidireccional, una imagen predicha se genera al hacer referencia a una imagen ya codificada la cual aparece antes o después de una imagen actual que es codificada.
Además, en el esquema de codificación de imágenes en movimiento referido como H.264, un modo de codificación referido como un modo de predicción de vectores de movimiento temporal se puede seleccionar cuando un vector de movimiento se deduce en la codificación de una imagen-B. Un método de codificación de interpredicción en el modo de predicción de vectores de movimiento temporal se describe utilizando la FIGURA 2.
La FIGURA 2 es un diagrama para describir vectores de movimiento en el modo de predicción de vectores de movimiento temporal. Específicamente, la FIGURA 2 muestra el caso donde el bloque a en la imagen B2 debe ser codificado en el modo de predicción de vectores de movimiento temporal.
En este documento, se utiliza el vector de movimiento vb el cual se utiliza cuando se codifica el bloque b (en lo sucesivo, referido como el "bloque colocalizado") en la misma posición en la imagen P3 que aquella del bloque a, la imagen P3 es una imagen de referencia la cual aparece después de la imagen B2. El vector de movimiento vb es un vector de movimiento utilizado cuando el bloque b se codifica mediante la referencia a la imagen Pl .
Dos bloques de referencia para el bloque a se obtienen a partir 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, utilizando vectores de movimiento paralelos al vector de movimiento vb . Luego, el bloque a se codifica al realizar la predicción bidireccional con base en los dos bloques de referencia obtenidos. Específicamente, los vectores de movimiento utilizados cuando el bloque a se codifica son el vector de movimiento val con respecto a la imagen Pl y el vector de movimiento va2 con respecto a la imagen P3.
Además, un modo de designación de predictores de vectores de movimiento se considera que se utiliza (NPL 2) como un método para codificar vectores de movimiento de bloques que son codificados en una imagen-B o una imagen-P. En el modo de designación de predictores de vectores de movimiento, los candidatos de predictores de vectores de movimiento se generan con base en vectores de movimiento utilizados cuando se codifican bloques adyacentes a un bloque actual que es codificado. Luego, un predictor de vector de movimiento se selecciona de entre los candidatos de predictores de vectores de movimiento y un vector de movimiento del bloque actual se codifica. En ese momento, un índice del predictor de vector de movimiento seleccionado y similares se agrega a una corriente de bits. Consecuentemente, el mismo predictor de vector de movimiento que el predictor de vector de movimiento utilizado para la codificación se puede seleccionar también cuando se realiza la decodificación. Un ejemplo específico se describe con referencia a la FIGURA 3.
La FIGURA 3 muestra ejemplos de vectores de movimiento de bloques adyacentes los cuales se utilizan en el modo de designación de predictores de vectores de movimiento. En la FIGURA 3, el bloque adyacente A es un bloque codificado adyacente a y localizado a la izquierda de un bloque actual que es codificado. El bloque adyacente B es un bloque codificado adyacente a y localizado en el bloque actual. El bloque adyacente C es un bloque codificado adyacente a y localizado en el lado superior derecho del bloque actual. El bloque adyacente D es un bloque codificado adyacente a y localizado en el lado inferior izquierdo del bloque actual.
En la FIGURA 3, el bloque actual es un bloque el cual se codifica mediante la predicción bidireccional , y tiene, como resultado de la detección de movimiento o similares, el vector de movimiento MvLO en la dirección de predicción 0 como un vector de movimiento en relación con una imagen de referencia indicada por el índice de imagen de referencia RefLO para la dirección de predicción 0, y el vector de movimiento MvLl en la dirección de predicción 1 como un vector de movimiento en relación con una imagen de referencia indicada por el índice de imagen de referencia RefLl para la dirección de predicción 1. En este documento, MvLO es un vector de movimiento para el cual se hace referencia a una imagen de referencia identificada utilizando la lista de imágenes de referencia 0 (LO) . Además, MvLl es un vector de movimiento para el cual se hace referencia a una imagen de referencia identificada utilizando la lista de imágenes de referencia 1 (Ll) .
El bloque adyacente A es un bloque codificado mediante la predicción unidireccional en la dirección de predicción 0. El bloque adyacente A tiene el vector de movimiento MvL0_A en la dirección de predicción 0 como un vector de movimiento en relación con una imagen de referencia indicada por el índice de imagen de referencia RefL0_A para la dirección de predicción 0. Además, el bloque adyacente B es un bloque codificado mediante la predicción unidireccional en la dirección de predicción 1. El bloque adyacente B tiene el vector de movimiento MvLl_B en la dirección de predicción 1 como un vector de movimiento en relación con una imagen de referencia indicada por el índice de imagen de referencia RefLl B para la dirección de predicción 1. El bloque adyacente C es un bloque codificado mediante la intrapredicción . Además, el bloque adyacente D es un bloque codificado mediante la predicción unidireccional en la dirección de predicción 0. El bloque adyacente D tiene el vector de movimiento MvL0_D en la dirección de predicción 0 como un vector de movimiento en relación con una imagen de referencia indicada por el índice de imagen de referencia RefL0_D en la dirección de predicción 0.
En este caso, como un predictor de vector de movimiento de un bloque actual que es codificado, por ejemplo, un predictor de vector de movimiento con el cual un vector de movimiento del bloque actual se puede codificar más eficientemente se selecciona de entre candidatos de predictores de vectores de movimiento generados a partir de vectores de movimiento de los bloques adyacentes A, B, C y D y un vector de movimiento en el modo de predicción de vectores de movimiento temporal obtenido utilizando un bloque colocalizado. Luego, un índice de predictor de vector de movimiento que indica el predictor de vector de movimiento seleccionado se agrega a una corriente de bits. Por ejemplo, si el vector de movimiento MvL0_A en la dirección de predicción 0 del bloque adyacente A se selecciona como un predictor de vector de movimiento cuando el vector de movimiento MvLO en la dirección de predicción 0 de un bloque actual se debe codificar, únicamente el valor "0" del índice de predictor de vector de movimiento el cual indica que el candidato de predictor de vector de movimiento generado a partir del bloque adyacente A se utiliza como se muestra en las FIGURAS 4A-4B se agrega a una corriente de bits. Por consiguiente, la cantidad de información en el vector de movimiento MvLO en la dirección de predicción 0 del bloque actual se puede reducir.
En este documento, las FIGURAS 4A-4B muestran un ejemplo de una lista de candidatos de predictores de vectores de movimiento para la dirección de predicción 0. Además, como se muestra en las FIGURAS 4A-4B, en el modo de designación de predictores de vectores de movimiento, un candidato con el cual no se puede generar un predictor de vector de movimiento (en lo sucesivo, referido como un "candidato de predictor no disponible") y un candidato cuyo valor es el mismo que el valor de otro candidato de predictor de vector de movimiento (en lo sucesivo, "candidato redundante") se suprimen de los candidatos de predictores de vectores de movimiento. Consecuentemente, la cantidad de código asignada a los índices de predictores de vectores de movimiento se reduce al disminuir el número de candidatos de predictores de vectores de movimiento. En este documento, la generación de un predictor de vector de movimiento que es imposible significa que un bloque adyacente es (1) un bloque codificado mediante la intrapredicción, (2) un bloque fuera de un límite de un corte o una imagen que incluye un bloque actual que es codificado o (3) un bloque el cual todavía no es codificado, por ejemplo.
En el ejemplo mostrado en las FIGURAS 4A-4B, el bloque adyacente C se codifica mediante la intrapredicción. Por consiguiente, un candidato de predictor indicado por el valor "3" del índice de predictor de vector de movimiento es un candidato de predictor no disponible y de esta manera se suprime de la lista de candidatos de predictores de vectores de movimiento. Además, un predictor de vector de movimiento en la dirección de predicción 0 generado a partir del bloque adyacente D tiene el mismo valor que el valor de un predictor de vector de movimiento en la dirección de predicción 0 generado a partir del bloque adyacente A y de esta manera un candidato de predictor indicado por el valor "4" del índice de predictor de vector de movimiento se suprime de la lista de candidatos de predictores de vectores de movimiento. Como resultado, el número de candidatos de predictores de vectores de movimiento en la dirección de predicción 0 se reduce eventualmente a 3 y el tamaño de la lista de candidatos de predictores de vectores de movimiento para la dirección de predicción 0 se establece a 3.
Las FIGURAS 5A-5B muestran un ejemplo de una lista de candidatos de predictores de vectores de movimiento para la dirección de predicción 1. En el ejemplo mostrado en las FIGURAS 5A-5B, el número de candidatos de predictores de vectores de movimiento en la dirección de predicción 1 se reduce eventualmente a 2 al suprimir un candidato de predictor no disponible y candidatos redundantes, y el tamaño de la lista de candidatos de predictores de vectores de movimiento para la dirección de predicción 1 se establece a 2.
Como se muestra en la FIGURA 6, las secuencias de bits se asignan a índices de predictores de vectores de movimiento de acuerdo con el tamaño de la lista de candidatos de predictores de vectores de movimiento y se codifican con longitud variable. Además, si el tamaño de la lista de candidatos de predictores de vectores de movimiento es 1, un índice de predictor de vector de movimiento no se agrega a una corriente de bits y se provoca que un aparato de decodificación calcule que el índice es el valor 0. De esta manera, en el modo de designación de predictores de vectores de movimiento, las secuencias de bits asignadas a índices de predictores de vectores de movimiento se cambian de acuerdo con el tamaño de la lista de candidatos de predictores de vectores de movimiento, reduciendo de ese modo la cantidad de código.
La FIGURA 7 es un diagrama de flujo que muestra un ejemplo del procesamiento de codificación en el caso del uso del modo de designación de predictores de vectores de movimiento.
En el paso S1001, los candidatos de predictores de vectores de movimiento en una dirección de predicción X se calculan a partir de bloques adyacentes y un bloque colocalizado (en lo sucesivo, referido como "candidatos de bloques de predicción") . En este documento, X es uno de los valores "0" y "1", donde 0 representa la dirección de predicción 0 y 1 representa la dirección de predicción 1. El candidato de predictor de vector de movimiento sMvLX en la dirección de predicción X se calcula de acuerdo con la siguiente expresión, utilizando el vector de movimiento MvLX_N y el índice de imagen de referencia RefLX_N de un candidato de bloque de predicción y el índice de imagen de referencia RefLX de un bloque actual que es codificado. sMvLX = MvLX_N x (POC (RefLX) - curPOC) / (POC (RefLX_N) -curPOC) (Expresión 1) En este documento, POC (RefLX) indica cuando en el orden se exhibe una imagen de referencia indicada por el índice de imagen de referencia RefLX, POC (RefLX_N) indica cuando en el orden se exhibe una imagen de referencia indicada por el índice de imagen de referencia RefLX_N y curPOC indica cuando en el orden se exhibe una imagen actual que es codificada. Se debe observar que si un candidato de bloque de predicción no tiene el vector de movimiento MvLX_N en la dirección de predicción X, el predictor de vector de movimiento sMvLX se calcula de acuerdo con la Expresión 2, utilizando el vector de movimiento MvL(l-X)_N en la dirección de predicción (1-X) y el índice de imagen de referencia RefL(l-X)_N. sMvLX = vL(l-X)_N x (POC(RefLX) - curPOC) / (POC (RefL ( 1-X)_N) - curPOC) (Expresión 2) Las FIGURAS 8A y 8B muestran ejemplos del cálculo de predictores de vectores de movimiento utilizando las Expresiones 1 y 2. Se debe observar que como es mostrado por las Expresiones 1 y 2, si los valores de POC (RefLX) y POC(RefLX_N) son los mismos, específicamente, se hace referencia a la misma imagen, el escalamiento se puede omitir.
En el paso S1002, un candidato redundante y un candidato de predictor no disponible se suprimen de los candidatos de predictores de vectores de movimiento en la dirección de predicción X.
En el paso S1003, el tamaño de la lista de candidatos de predictores de vectores de movimiento se establece al número de candidatos de predictores de vectores de movimiento después del procesamiento de supresión.
En el paso S1004, un índice de predictor de vector de movimiento que se utiliza para codificar un vector de movimiento en la dirección de predicción X de un bloque actual se determina.
En el paso S1005, el índice de predictor de vector de movimiento determinado se codifica con longitud variable utilizando una secuencia de bits determinada de acuerdo con el tamaño de la lista de candidatos de predictores de vectores de movimiento.
La FIGURA 9 es un diagrama de bloques que muestra un ejemplo de una configuración de un aparato de codificación de imágenes en movimiento 1000 el cual codifica una imagen en movimiento utilizando el modo de designación de predictores de vectores de movimiento.
Como se muestra en la FIGURA 9, el aparato de codificación de imágenes en movimiento 1000 incluye una unidad de sustracción 1001, unidad de transformación ortogonal 1002, unidad de cuantificación 1003, unidad de cuantificación inversa 1004, unidad de transformación ortogonal inversa 1005, unidad de adición 1006, memoria de bloques 1007, memoria de tramas 1008, unidad de intrapredicción 1009, unidad de interpredicción 1010, unidad de control de interpredicción 1011, unidad de determinación de tipo de imagen 1012, conmutador 1013, unidad de cálculo de candidatos de predictores de vectores de movimiento 1014, memoria colPic 1015 y unidad de codificación de longitud variable 1016.
En la FIGURA 9, la unidad de cálculo de candidatos de predictores de vectores de movimiento 1014 calcula los candidatos de predictores de vectores de movimiento. Luego, la unidad de cálculo de candidatos de predictores de vectores de movimiento 1014 transmite el número de candidatos de predictores de vectores de movimiento calculados a la unidad de codificación de longitud variable 1016. La unidad de codificación de longitud variable 1016 ajusta el tamaño de la lista de candidatos de predictores de vectores de movimiento el cual es un parámetro de codificación al número de candidatos de predictores de vectores de movimiento. Luego, la unidad de codificación de longitud variable 1016 codifica con longitud variable los índices de predictores de vectores de movimiento utilizados para la codificación mediante la asignación a los mismos de secuencias de bits de acuerdo con el tamaño de la lista de candidatos de predictores de vectores de movimiento.
La FIGURA 10 es un diagrama de flujo que muestra un ejemplo del procesamiento de decodificación en el caso del uso del modo de designación de predictores de vectores de movimiento .
En el paso S2001, los candidatos de predictores de vectores de movimiento en la dirección de predicción X se calculan a partir de bloques adyacentes y un bloque colocalizado (candidatos de bloques de predicción) . En el paso S2002, un candidato redundante y un candidato de predictor no disponible se suprimen de los candidatos de predictores de vectores de movimiento. En el paso S2003, el tamaño de la lista de candidatos de predictores de vectores de movimiento se establece al número de candidatos de predictores de vectores de movimiento después del procesamiento de supresión. En el paso S2004, un índice de predictor de vector de movimiento que se utiliza para decodificar un bloque actual se decodifica de una corriente de bits utilizando el tamaño de la lista de candidatos de predictores de vectores de movimiento. En el paso S2005, un vector de movimiento se calcula al agregar una diferencia de vector de movimiento a un candidato de predictor de vector de movimiento indicado por el índice de predictor de vector de movimiento decodificado, y una imagen predicha se genera utilizando el vector de movimiento calculado, realizando de ese modo el procesamiento de decodificación.
La FIGURA 11 es un diagrama de bloques que muestra un ejemplo de una configuración de un aparato de decodificación de imágenes en movimiento el cual decodifica una imagen en movimiento codificada utilizando el modo de designación de predictores de vectores de movimiento.
Como se muestra en la FIGURA 11, un aparato de decodificación de imágenes en movimiento 2000 incluye una unidad de decodificación de longitud variable 2001, unidad de cuantificación inversa 2002, unidad de transformación ortogonal inversa 2003, unidad de adición 2004, memoria de bloques 2005, memoria de tramas 2006, unidad de intrapredicción 2007, unidad de interpredicción 2008, unidad de control de interpredicción 2009, conmutador 2010, unidad de cálculo de candidatos de predictores de vectores de movimiento 2011 y memoria colPic 2012.
En la FIGURA 11, la unidad de cálculo de candidatos de predictores de vectores de movimiento 2011 calcula los candidatos de predictores de vectores de movimiento. Luego, la unidad de cálculo de candidatos de predictores de vectores de movimiento 2011 transmite el número de candidatos de predictores de vectores de movimiento calculados a la unidad de decodificación de longitud variable 2001. La unidad de decodificación de longitud variable 2001 ajusta el tamaño de la lista de candidatos de predictores de vectores de movimiento el cual es un parámetro de decodificación al número de candidatos de predictores de vectores de movimiento. Luego, la unidad de decodificación de longitud variable 2001 decodifica un índice de predictor de vector de movimiento incluido en una corriente de bits utilizando el tamaño de la lista de candidatos de predictores de vectores de movimiento .
La FIGURA 12 muestra la sintaxis utilizada cuando un índice de predictor de vector de movimiento se agrega a una corriente de bits. En la FIGURA 12, inter_pred_flag señala un indicador de dirección de predicción para la interpredicción, mvp_idx señala un índice de predictor de vector de movimiento y NumMVPCand señala el tamaño de la lista de candidatos de predictores de vectores de movimiento. NumMVPCand se establece al número de candidatos de predictores de vectores de movimiento después de suprimir un candidato de predictor no disponible y un candidato redundante de los candidatos de predictores de vectores de movimiento .
Como se describiera anteriormente, una imagen en movimiento se codifica o decodifica utilizando el modo de designación de predictores de vectores de movimiento. Sin embargo, en el modo de designación de predictores de vectores de movimiento anterior, el tamaño de la lista de candidatos de predictores de vectores de movimiento que se utiliza cuando un índice de predictor de vector de movimiento se codifica o decodifica se establece al número de candidatos de predictores de vectores de movimiento. Este número de candidatos de predictores de vectores de movimiento se obtiene después de suprimir un candidato de predictor no disponible o un candidato redundante utilizando la información de imagen de referencia que incluye información de un bloque colocalizado y similares. De esta manera, si por ejemplo existe una diferencia en el número de candidatos de predictores de vectores de movimiento entre un aparato de codificación de imágenes en movimiento y un aparato de decodificación de imágenes en movimiento, diferentes secuencias de bits se asignan a índices de predictores de vectores de movimiento en el aparato de codificación de imágenes en movimiento y el aparato de decodificación de imágenes en movimiento. Como resultado, el aparato de decodificación de imágenes en movimiento puede no ser capaz de decodificar apropiadamente una corriente de bits.
Por ejemplo, si la información de una imagen de referencia la cual ha sido referida como un bloque colocalizado se pierde debido a una pérdida de paquetes o similares la cual ha ocurrido en un canal de transmisión o similares, un vector de movimiento o un índice de imagen de referencia del bloque colocalizado se perderá. De esta manera, la información sobre un candidato de predictor de vector de movimiento que es generado a partir del bloque colocalizado no se puede obtener. En este caso, un candidato de predictor no disponible y un candidato redundante no se pueden suprimir apropiadamente de los candidatos de predictores de vectores de movimiento al momento de la decodificación. Como resultado, el aparato de decodificación de imágenes en movimiento no será capaz de obtener apropiadamente el tamaño de la lista de candidatos de predictores de vectores de movimiento y no será capaz de decodificar exitosamente un índice de predictor de vector de movimiento .
Se debe observar que es posible fijar el tamaño de la lista de candidatos de predictores de vectores de movimiento para resolver el problema anterior. Si el tamaño de la lista de candidatos de predictores de vectores de movimiento se fija, no es necesario obtener el tamaño de la lista de candidatos de predictores de vectores de movimiento.
Sin embargo, si el tamaño de la lista de candidatos de predictores de vectores de movimiento se fija, cuando la suma total de uno o más candidatos cada uno deducido a partir de un bloque espacialmente adyacente (cada uno de los cuales es un candidato de predictor de vector de movimiento diferente de un candidato redundante y un candidato de predictor no disponible) y uno o más candidatos (primeros candidatos) cada uno deducido a partir de un bloque temporalmente adyacente (bloque colocalizado) es más pequeña que el tamaño de la lista de candidatos de predictores de vectores de movimiento, las listas de candidatos de predictores de vectores de movimiento incluirán un elemento nulo. En este caso, si un aparato de decodificación de imágenes hace referencia al elemento nulo debido a la aparición de un error o similares, una operación inesperada se puede ejecutar, lo cual es un problema.
En vista de esto, un método de codificación de imágenes de acuerdo con un aspecto de la presente invención es un método de codificación de imágenes en movimiento para calcular un predictor de vector de movimiento que se utiliza cuando se codifica un vector de movimiento de un bloque actual y se codifica el bloque actual para generar una corriente de bits, el método incluye: obtener candidatos de predictores de vectores de movimiento de los cuales un número fijo es dos o más y cada uno de los cuales es un candidato para el predictor de vector de movimiento; seleccionar el predictor de vector de movimiento que se utiliza para codificar el vector de movimiento del bloque actual, de entre los candidatos de predictores de vectores de movimiento de los cuales el número fijo es dos o más; y codificar un índice para identificar el predictor de vector de movimiento seleccionado de acuerdo con el número fijo de dos o más, y agregar el índice codificado a la corriente de bits, en donde los candidatos de predictores de vectores de movimiento de los cuales el número fijo es dos o más incluyen uno o más candidatos cada uno que tiene un valor fijo, predeterminado.
Por ejemplo, los candidatos de predictores de vectores de movimiento de los cuales el número fijo es dos o más pueden incluir además por lo menos uno de uno o más de los primeros candidatos y uno o más de los nuevos candidatos, uno o más de los primeros candidatos pueden ser candidatos cada uno deducido con base en un vector de movimiento utilizado para codificar un bloque adyacente espacialmente o adyacente temporalmente al bloque actual y uno o más de los nuevos candidatos pueden ser candidatos cada uno deducido con base en un vector de movimiento utilizado para codificar un bloque diferente del bloque adyacente o cada uno que tiene un vector fijo, predeterminado como un vector de movimiento.
Por ejemplo, la obtención de los candidatos de predictores de vectores de movimiento puede incluir: realizar un primer procesamiento de deducción para deducir uno o más de los primeros candidatos, y establecer, si uno o más de los primeros candidatos se deducen, cada uno de uno o más de los primeros candidatos deducidos como uno de los candidatos de predictores de vectores de movimiento de los cuales el número fijo es dos o más; realizar un segundo procesamiento de deducción para deducir uno o más de los nuevos candidatos si el número total de uno o más de los primeros candidatos es más pequeño que el número fijo de dos o más, y establecer, si uno o más de los nuevos candidatos se deducen, cada uno de uno o más de los nuevos candidatos deducidos como uno de los candidatos de predictores de vectores de movimiento de los cuales el número fijo es dos o más; y establecer, si la suma del número total de uno o más de los primeros candidatos y el número total de uno o más de los nuevos candidatos es más pequeño que el número fijo de dos o más, por lo menos uno de uno o más de los candidatos cada uno que tiene el valor fijo, predeterminado como uno de los candidatos de predictores de vectores de movimiento de los cuales el número fijo es dos o más, para hacer que una suma del número total de uno o más de los primeros candidatos, el número total de uno o más de los candidatos cada uno que tiene el valor fijo, predeterminado y el número total de los nuevos candidatos sea igual al número fijo de dos o más.
Por ejemplo, en el segundo procesamiento de deducción, uno o más candidatos se pueden seleccionar de acuerdo con un orden de prioridad predeterminado de entre una pluralidad de diferentes candidatos preparados previamente, para deducir uno o más de los nuevos candidatos .
Por ejemplo, la obtención de los candidatos de predictores de vectores de movimiento puede incluir: establecer el candidato que tiene el valor fijo predeterminado como cada uno de la totalidad de los candidatos de predictores de vectores de movimiento de los cuales el número fijo es dos o más, para inicializar los candidatos de predictores de vectores de movimiento de los cuales el número fijo es dos o más; realizar un primer procesamiento de deducción para deducir uno o más de los primeros candidatos y actualizar los candidatos de predictores de vectores de movimiento de los cuales el número fijo es dos o más si uno o más de los primeros candidatos se deducen, para causar que los candidatos de predictores de vectores de movimiento incluyan uno o más de los primeros candidatos deducidos; y realizar un segundo procesamiento de deducción para deducir uno o más de los nuevos candidatos si el número total de uno o más de los primeros candidatos es más pequeño que el número fijo de dos o más y actualizar los candidatos de predictores de vectores de movimiento de los cuales el número fijo es dos o más si uno o más de los nuevos candidatos se deducen, para causar que los candidatos de predictores de vectores de movimiento incluyan uno o más de los nuevos candidatos deducidos.
En vista de esto, un método de decodificación de imágenes de acuerdo con un aspecto de la presente invención es un método de decodificación de imágenes en movimiento para calcular un predictor de vector de movimiento que se utiliza cuando se decodifica un vector de movimiento de un bloque actual incluido en una corriente de bits y se decodifica el bloque actual, el método incluye: obtener candidatos de predictores de vectores de movimiento de los cuales el número fijo es dos o más y cada uno de los cuales es un candidato para el predictor de vector de movimiento; decodificar, de acuerdo con el número fijo de dos o más, un índice para identificar el candidato de predictor de vector de movimiento de entre los candidatos de predictores de vectores de movimiento de los cuales el número fijo es dos o más, el índice se codifica y se agrega a la corriente de bits; y seleccionar, con base en el índice decodificado, el predictor de vector de movimiento que se utiliza para decodificar el bloque actual de entre los candidatos de predictores de vectores de movimiento de los cuales el número fijo es dos o más, en donde los candidatos de predictores de vectores de movimiento de los cuales el número fijo es dos o más incluyen uno o más candidatos cada uno que tiene un valor fijo, predeterminado .
Por ejemplo, los candidatos de predictores de vectores de movimiento de los cuales el número fijo es dos o más pueden incluir además por lo menos uno de uno o más de los primeros candidatos y uno o más de los nuevos candidatos, uno o más de los primeros candidatos pueden ser candidatos cada uno deducido con base en un vector de movimiento utilizado para codificar un bloque adyacente espacialmente o adyacente temporalmente al bloque actual y uno o más de los nuevos candidatos pueden ser candidatos cada uno deducido con base en un vector de movimiento utilizado para codificar un bloque diferente del bloque adyacente o cada uno que tiene un vector fijo, predeterminado como un vector de movimiento.
Por ejemplo, la obtención de los candidatos de predictores de vectores de movimiento puede incluir: realizar un primer procesamiento de deducción para deducir uno o más de los primeros candidatos, y establecer, si uno o más de los primeros candidatos se deducen, cada uno de uno o más de los primeros candidatos deducidos como uno de los candidatos de predictores de vectores de movimiento de los cuales el número fijo es dos o más; realizar un segundo procesamiento de deducción para deducir uno o más de los nuevos candidatos si el número total de uno o más de los primeros candidatos es más pequeño que el número fijo de dos o más, y establecer, si uno o más de los nuevos candidatos se deducen, cada uno de uno o más de los nuevos candidatos deducidos como uno de los candidatos de predictores de vectores de movimiento de los cuales el número fijo es dos o más; y establecer, si la suma del número total de uno o más de los primeros candidatos y el número total de uno o más de los nuevos candidatos es más pequeño que el número fijo de dos o más, por lo menos uno de uno o más de los candidatos cada uno que tiene el valor fijo, predeterminado como uno de los candidatos de predictores de vectores de movimiento de los cuales el número fijo es dos o más, para hacer que una suma del número total de uno o más de los primeros candidatos, el número total de uno o más de los candidatos cada uno que tiene el valor fijo, predeterminado y el número total de uno o más nuevos candidatos sea igual al número fijo de dos o más.
Por ejemplo, en el segundo procesamiento de deducción, uno o más candidatos se pueden seleccionar de acuerdo con un orden de prioridad predeterminado de entre una pluralidad de diferentes candidatos preparados previamente, para deducir uno o más de los nuevos candidatos.
Por ejemplo, la obtención de los candidatos de predictores de vectores de movimiento puede incluir: establecer el candidato que tiene el valor fijo predeterminado como cada uno de la totalidad de los candidatos de predictores de vectores de movimiento de los cuales el número fijo es dos o más, para inicializar los candidatos de predictores de vectores de movimiento de los cuales el número fijo es dos o más; realizar un primer procesamiento de deducción para deducir uno o más de los primeros candidatos y actualizar los candidatos de predictores de vectores de movimiento de los cuales el número fijo es dos o más si uno o más de los primeros candidatos se deducen, para causar que los candidatos de predictores de vectores de movimiento incluyan uno o más de los primeros candidatos deducidos; y realizar un segundo procesamiento de deducción para deducir uno o más de los nuevos candidatos si el número total de uno o más de los primeros candidatos es más pequeño que el número fijo de dos o más y actualizar los candidatos de predictores de vectores de movimiento de los cuales el número fijo es dos o más si uno o más de los nuevos candidatos se deducen, para causar que los candidatos de predictores de vectores de movimiento incluyan uno o más de los nuevos candidatos deducidos.
En vista de esto, un aparato de codificación de imágenes de acuerdo con un aspecto de la presente invención es un aparato de codificación de imágenes en movimiento para calcular un predictor de vector de movimiento que se utiliza cuando se codifica un vector de movimiento de un bloque actual y se codifica el bloque actual para generar una corriente de bits, el aparato incluye: una unidad de obtención de candidatos de predictores de vectores de movimiento configurada para obtener candidatos de predictores de vectores de movimiento de los cuales el número fijo es dos o más y cada uno de los cuales es un candidato para el predictor de vector de movimiento; una unidad de selección configurada para seleccionar el predictor de vector de movimiento que se utiliza para codificar el vector de movimiento del bloque actual, de entre los candidatos de predictores de vectores de movimiento de los cuales el número fijo es dos o mas; y una unidad de codificación configurada para codificar un índice para identificar el predictor de vector de movimiento seleccionado de acuerdo con el número fijo de dos o más, y agregar el índice codificado a la corriente de bits, en donde los candidatos de predictores de vectores de movimiento de los cuales el número fijo es dos o más incluyen uno o más candidatos cada uno que tiene un valor fijo, predeterminado.
En vista de esto, un aparato de decodificación de imágenes de acuerdo con un aspecto de la presente invención es un aparato de decodificación de imágenes en movimiento para calcular un predictor de vector de movimiento que se utiliza cuando se decodifica un vector de movimiento de un bloque actual incluido en una corriente de bits, y se decodifica el bloque actual, el aparato incluye: una unidad de obtención de candidatos de predictores de vectores de movimiento configurada para obtener candidatos de predictores de vectores de movimiento de los cuales el número fijo es dos o más y cada uno de los cuales es un candidato para el predictor de vector de movimiento; una unidad de decodificación configurada para decodificar, de acuerdo con el número fijo de dos o más, un índice para identificar el candidato de predictor de vector de movimiento de entre los candidatos de predictores de vectores de movimiento de los cuales el número fijo es dos o más, el índice se codifica y se agrega a la corriente de bits; y una unidad de selección configurada para seleccionar, con base en el índice decodificado, el predictor de vector de movimiento que se utiliza para decodificar el bloque actual de entre los candidatos de predictores de vectores de movimiento de los cuales el número fijo es dos o más, en donde los candidatos de predictores de vectores de movimiento de los cuales el número fijo es dos o más incluyen uno o más candidatos cada uno que tiene un valor fijo, predeterminado.
En vista de esto, un aparato de codificación y decodificación de imágenes de acuerdo con un aspecto de la presente invención incluye el aparato de codificación de imágenes en movimiento descrito anteriormente y el aparato de decodificación de imágenes en movimiento descrito anteriormente.
Se debe observar que estos aspectos generales y específicos se pueden implementar utilizando un sistema, método, circuito integrado, programa de computadora, medio de grabación legible por computadora tal como un CD-ROM, o cualquier combinación de sistemas, métodos, circuitos integrados, programas de computadora o medios de grabación.
Lo siguiente es una descripción específica de un aparato de codificación de imágenes en movimiento y un aparato de decodificación de imágenes en movimiento de acuerdo con un aspecto de la presente invención, con referencia a las figuras.
Cada una de las modalidades descritas a continuación muestra un ejemplo específico de la presente invención. Los valores numéricos, configuraciones, materiales, elementos estructurales, la ordenación y conexión de los elementos estructurales, pasos, el orden de procesamiento de los pasos, etcétera mostrados en las siguientes modalidades ejemplares son solo ejemplos, y de esta manera, no se propone que limiten el alcance de la presente invención. Entre los elementos estructurales en las siguientes modalidades ejemplares, los elementos estructurales no referidos en ninguna de las reivindicaciones independientes las cuales muestran el concepto más amplio se describen como elementos estructurales, arbitrarios.
Modalidad 1 Un aparato de codificación de imágenes en movimiento el cual utiliza un método de codificación de imágenes en movimiento de acuerdo con la presente modalidad se describirá con base en las FIGURAS 13 a 22. 1-1. Configuración del aparato de codificación de imágenes en movimiento En primer lugar se encuentra una descripción de la configuración del aparato de codificación de imágenes en movimiento con base en la FIGURA 13. La FIGURA 13 es un diagrama de bloques que muestra una configuración de un aparato de codificación de imágenes en movimiento 100 de acuerdo con la Modalidad 1.
Como se muestra en la FIGURA 13, el aparato de codificación de imágenes en movimiento 100 incluye una unidad de sustracción 101, unidad de transformación ortogonal 102, unidad de cuantificación 103, unidad de cuantificación inversa 104, unidad de transformación ortogonal inversa 105, unidad de adición 106, memoria de bloques 107, memoria de tramas 108, unidad de intrapredicción 109, unidad de interpredicción 110, unidad de control de interpredicción 111, unidad de determinación de tipo de imagen 112, conmutador 113, unidad de cálculo de candidatos de predictores de vectores de movimiento 114, memoria colPic 115 y unidad de codificación de longitud variable 116.
La unidad de sustracción 101 genera datos de error de predicción al sustraer, para cada bloque, datos de imagen predichos de datos de imagen de entrada incluidos en una secuencia de imagen de entrada. La unidad de transformación ortogonal 102 transforma los datos de error de predicción generados de un dominio de imagen en un dominio de frecuencia. La unidad de cuantificación 103 realiza un procesamiento de cuantificación en los datos de error de predicción los cuales han sido transformados en el dominio de frecuencia .
La unidad de cuantificación inversa 104 realiza un procesamiento de cuantificación inversa sobre los datos de error de predicción sobre los cuales se ha realizado el procesamiento de cuantificación mediante la unidad de cuantificación 103. La unidad de transformación ortogonal inversa 105 transforma los datos de error de predicción sobre los cuales se ha realizado el procesamiento de cuantificación inversa, del dominio de frecuencia en el dominio de imagen.
La unidad de adición 106 genera datos de imagen reconstruidos al agregar, para cada bloque que es codificado, datos de imagen predichos y los datos de error de predicción sobre los cuales se ha realizado el procesamiento de cuantificación inversa mediante la unidad de transformación ortogonal inversa 105. La memoria de bloques 107 almacena datos de imagen reconstruidos en una base de bloque por bloque. La memoria de tramas 108 almacena datos de imagen reconstruidos en una base de trama por trama.
La unidad de determinación de tipo de imagen 112 determina cual de los tipos de imagen, específicamente imagen- I, imagen-B e imagen-P, se debe codificar como datos de imagen de entrada. Luego, la unidad de determinación de tipo de imagen 112 genera información de tipo de imagen. La unidad de intrapredicción 109 genera datos de imagen intrapredichos de un bloque actual que es codificado al realizar la intrapredicción utilizando los datos de imagen reconstruidos en unidades de bloque almacenadas en la memoria de bloques 107. La unidad de interpredicción 110 genera datos de imagen interpredichos de un bloque actual que es codificado al realizar la interpredicción utilizando los datos de imagen reconstruidos en unidades de trama almacenadas en la memoria de tramas 108 y un vector de movimiento deducido mediante la detección de movimiento y similares .
El conmutador 113 envía los datos de imagen intrapredichos que son generados por la unidad de intrapredicción 109 a la unidad de sustracción 101 y la unidad de adición 106 como datos de imagen predichos del bloque actual, si la codificación de intrapredicción se realiza en el bloque actual. Por otra parte, el conmutador 113 envía los datos de imagen interpredichos que son generados por la unidad de interpredicción 110 a la unidad de sustracción 101 y la unidad de adición 106 como datos de imagen predichos del bloque actual si la codificación de interpredicción se realiza en el bloque actual.
La unidad de cálculo de candidatos de predictores de vectores de movimiento 114 deduce candidatos de predictores de vectores de movimiento en el modo de designación de predictores de vectores de movimiento, utilizando vectores de movimiento de bloques adyacentes al bloque actual y similares e información de colPic tal como información de un vector de movimiento de un bloque colocalizado que está almacenado en la memoria colPic 115. Luego, la unidad de cálculo de candidatos de predictores de vectores de movimiento 114 calcula el número de candidatos de predictores disponibles utilizando el método descrito posteriormente. Además, la unidad de cálculo de candidatos de predictores de vectores de movimiento 114 asigna los valores del índice de predictor de vector de movimiento a los candidatos de predictores de vectores de movimiento deducidos. Luego, la unidad de cálculo de candidatos de predictores de vectores de movimiento 114 envía los candidatos de predictores de vectores de movimiento y los índices de predictores de vectores de movimiento a la unidad de control de interpredicción 111. La unidad de cálculo de candidatos de predictores de vectores de movimiento 114 transmite el número de candidatos de predictores disponibles calculados a la unidad de codificación de longitud variable 116.
La unidad de control de interpredicción 111 controla la unidad de interpredicción 110 con el fin de causar que la unidad de interpredicción 110 realice la codificación de interpredicción, utilizando la imagen interpredicha que se genera utilizando un vector de movimiento deducido mediante la detección de movimiento. Además, la unidad de control de interpredicción 111 selecciona, utilizando el método descrito posteriormente, un candidato de predictor de vector de movimiento más adecuado para codificar un vector de movimiento utilizado para la codificación de interpredicción. Luego, la unidad de control de interpredicción 111 envía un índice de predictor de vector de movimiento que corresponde al candidato de predictor de vector de movimiento seleccionado y la información de error de predicción (diferencia de vector de movimiento) a la unidad de codificación de longitud variable 116. Adicionalmente , la unidad de control de interpredicción 111 transfiere la información de colPic que incluye información de un vector de movimiento del bloque actual y similares a la memoria colPic 115.
La unidad de codificación de longitud variable 116 realiza un procesamiento de codificación de longitud variable sobre los datos de error de predicción sobre los cuales se ha realizado un procesamiento de cuantificación, un indicador de dirección de predicción, información de tipo de imagen y una diferencia de vector de movimiento, generando de ese modo una corriente de bits. Adicionalmente , la unidad de codificación de longitud variable 116 establece el tamaño de la lista de candidatos de predictores de vectores de movimiento al número de candidatos de predictores disponibles. Luego, la unidad de codificación de longitud variable 116 codifica con longitud variable el índice de predictor de vector de movimiento utilizado para codificar un vector de movimiento al asignar, al mismo, una secuencia de bits de acuerdo con el tamaño de la lista de candidatos de predictores de vectores de movimiento . 1-2. Procedimiento de procesamiento del método de codificación de imágenes en movimiento A continuación se encuentra una descripción del procedimiento de procesamiento del método de codificación de imágenes en movimiento ejecutado por el aparato de codificación de imágenes en movimiento, con base en la FIGURA 14. La FIGURA 14 es un diagrama de flujo que muestra la operación de procesamiento del aparato de codificación de imágenes en movimiento 100 de acuerdo con la Modalidad 1.
En el paso S101, la unidad de control de interpredicción 111 determina una dirección de predicción, un índice de imagen de referencia y un vector de movimiento de un bloque actual que es codificado mediante la detección de movimiento. En este documento, en la detección de movimiento, un valor de diferencia que indica una diferencia entre un bloque actual que es codificado en una imagen que es codificada y un bloque en una imagen de referencia se calcula y un bloque en la imagen de referencia con la cual el valor de diferencia es el más pequeño se determina como un bloque de referencia. Luego, un vector de movimiento se obtiene con base en la posición de un bloque actual que es codificado y la posición de un bloque de referencia utilizando el método para obtener un vector de movimiento, por ejemplo. Además, la unidad de control de interpredicción 111 realiza la detección de movimiento en cada una de las imágenes de referencia en las direcciones de predicción 0 y 1 y determina si se selecciona la dirección de predicción 0, la dirección de predicción 1 o la predicción bidireccional utilizando, por ejemplo, la siguiente expresión para un modelo de optimización R-D o similares.
Costo = D + ? x R (Expresión 3) En la Expresión 3, D representa la distorsión de codificación. Por ejemplo, una suma de diferencias absolutas se utiliza para la distorsión de codificación D cada una de las cuales es una diferencia absoluta entre un valor de pixel obtenido al codificar y decodificar un bloque actual utilizando una imagen predicha que se genera utilizando un cierto vector de movimiento y un valor de pixel original del bloque actual. R representa una cantidad de código generada.
Por ejemplo, una cantidad de código necesaria para codificar un vector de movimiento utilizado para generar una imagen predicha se utiliza para la cantidad de código generada R. Además, ? representa un multiplicador indeterminado de Lagrange .
En el paso S102, la unidad de cálculo de candidatos de predictores de vectores de movimiento 114 deduce los candidatos de predictores de vectores de movimiento a partir de bloques adyacentes al bloque actual y un bloque colocalizado del mismo. Además, la unidad de cálculo de candidatos de predictores de vectores de movimiento 114 calcula el tamaño de la lista de candidatos de predictores de vectores de movimiento de acuerdo con el método descrito posteriormente .
Por ejemplo, en el caso mostrado en la FIGURA 3, la unidad de cálculo de candidatos de predictores de vectores de movimiento 114 selecciona vectores de movimiento los cuales tienen bloques adyacentes A, B, C y D, como candidatos de predictores de vectores de movimiento del bloque actual . Adicionalmente , la unidad de cálculo de candidatos de predictores de vectores de movimiento 114 calcula un vector de movimiento, por ejemplo, el cual se calcula utilizando un modo de predicción temporal a partir de un vector de movimiento del bloque colocalizado, como un candidato de predictor de vector de movimiento.
La unidad de cálculo de candidatos de predictores de vectores de movimiento 114 asigna índices de predictores de vectores de movimiento a los candidatos de predictores de vectores de movimiento en las direcciones de predicción 0 y 1, como se muestra en la parte (a) de la FIGURA 15A y en la parte (a) de la FIGURA 16A. Luego, la unidad de cálculo de candidatos de predictores de vectores de movimiento 114 calcula listas de candidatos de predictores de vectores de movimiento como se muestra en la parte (b) de la FIGURA 15A y en la parte (b) de la FIGURA 16A, y los tamaños de las listas de candidatos de predictores de vectores de movimiento al suprimir un candidato de predictor no disponible y un candidato redundante y agregar un nuevo candidato, utilizando el método descrito posteriormente.
Mientras más pequeño sea un valor de un índice de predictor de vector de movimiento, más corto será el código asignado al índice de predictor de vector de movimiento. Específicamente, si el valor de un índice de predictor de vector de movimiento es pequeño, la cantidad de información necesaria para el índice de predictor de vector de movimiento es pequeña. Por otra parte, si el valor de un índice de predictor de vector de movimiento es grande, la cantidad de información necesaria para el índice de predictor de vector de movimiento es grande. De esta manera, la eficiencia de codificación se incrementa al asignar un índice de predictor de vector de movimiento que tiene un valor pequeño a un candidato de predictor de vector de movimiento que tiene una alta posibilidad de volverse un predictor de vector de movimiento con alta precisión.
En vista de esto, la unidad de cálculo de candidatos de predictores de vectores de movimiento 114 puede medir, para cada candidato de predictor de vector de movimiento, el número de veces en las cuales el candidato de predictor de vector de movimiento ha sido seleccionado como un predictor de vector de movimiento y puede asignar un índice de predictor de vector de movimiento que tiene un valor pequeño a un candidato de predictor de vector de movimiento cuyo número de veces en las cuales el candidato se ha seleccionado es grande, por ejemplo. Específicamente, es posible considerar la identificación de un predictor de vector de movimiento seleccionado en un bloque adyacente, y en la codificación de un bloque actual, la asignación de un índice de predictor de vector de movimiento que tiene un valor pequeño al candidato de predictor de vector de movimiento identificado.
Se debe observar que si un bloque adyacente no tiene información de un vector de movimiento y similares (si el bloque adyacente se codifica mediante la intrapredicción, si el bloque adyacente se localiza, por ejemplo, fuera de un límite de una imagen o un corte, si el bloque adyacente no se codifica todavía o similares) , el bloque adyacente no se puede utilizar como un candidato de predictor de vector de movimiento .
En la presente modalidad, un candidato que no se puede utilizar como un candidato de predictor de vector de movimiento es referido como un candidato de predictor no disponible. Un candidato que se puede utilizar como un candidato de predictor de vector de movimiento es referido como un candidato de predictor disponible. Además, entre una pluralidad de candidatos de predictores de vectores de movimiento, un candidato cuyo valor es el mismo que cualquiera de los otros predictores de vectores de movimiento es referido como un candidato redundante.
En el caso de la FIGURA 3, el bloque adyacente C es un bloque codificado mediante la intrapredicción, y de esta manera se asume que es un candidato de predictor no disponible. Además, el predictor de vector de movimiento sMvL0_D en la dirección de predicción 0 generado a partir del bloque adyacente D tiene el mismo valor que el valor del predictor de vector de movimiento MvL0_A en la dirección de predicción 0 generado a partir del bloque adyacente A, y de esta manera se asume que es un candidato redundante .
En el paso S103, la unidad de control de interpredicción 111 determina un valor de un índice de predictor de vector de movimiento que se utiliza para codificar un vector de movimiento en la dirección de predicción X mediante el uso del método descrito posteriormente .
En el paso S104, la unidad de codificación de longitud variable 116 codifica con longitud variable los índices de predictores de vectores de movimiento de candidatos de predictores de vectores de movimiento que se utilizan para codificar vectores de movimiento en la dirección de predicción X mediante la asignación a los mismos de secuencias de bits de acuerdo con el tamaño de la lista de candidatos de predictores de vectores de movimiento como se muestra en la FIGURA 6.
En la presente modalidad, como se muestra en (a) de la FIGURA 15A y en (a) de la FIGURA 16A, "0" se asigna como un valor de un índice de predictor de vector de movimiento que corresponde al bloque adyacente A. "1" se asigna como un valor de un índice de predictor de vector de movimiento que corresponde al bloque adyacente B. "2" se asigna como un valor de un índice de predictor de vector de movimiento que corresponde a un bloque colocalizado. "3" se asigna como un valor de un índice de predictor de vector de movimiento que corresponde al bloque adyacente C. "4" se asigna como un valor de un índice de predictor de vector de movimiento que corresponde al bloque adyacente D.
Se debe observar que la manera de asignar índices de predictores de vectores de movimiento no está limitada necesariamente a este ejemplo. Por ejemplo, si un nuevo candidato se agrega utilizando el método descrito posteriormente, la unidad de codificación de longitud variable 116 puede asignar un valor pequeño a un candidato de predictor de vector de movimiento el cual no se agrega recientemente (y corresponde a un primer candidato) y un valor grande al nuevo candidato. Específicamente, la unidad de codificación de longitud variable 116 puede asignar preferiblemente un índice de predictor de vector de movimiento que tiene un valor pequeño a un candidato de predictor de vector de movimiento el cual no se agrega recientemente. Se debe observar que si se utiliza un segundo candidato utilizando un método descrito posteriormente, un valor más pequeño que aquel del segundo candidato se asigna a cada uno de los valores de índices de predictores de vectores de movimiento de un primer candidato y un nuevo candidato. Esto es debido a que el segundo candidato es un candidato que se asigna a un elemento nulo de las listas de candidatos de predictores de vectores de movimiento cuando el tamaño de la lista de candidatos de predictores de vectores de movimiento se fija y cuando el número de primeros candidatos y nuevos candidatos es más pequeño que el tamaño de la lista de candidatos de predictores de vectores de movimiento.
Además, los candidatos de predictores de vectores de movimiento no están limitados necesariamente a estar en las posiciones de los bloques adyacentes A, B, C y D. Por ejemplo, un bloque adyacente localizado en el bloque adyacente en la parte inferior izquierda D, por ejemplo, se puede utilizar para obtener un candidato de predictor de vector de movimiento. Además, no es necesario que todos los bloques adyacentes sean utilizados obligatoriamente para obtener candidatos de predictores de vectores de movimiento. Por ejemplo, solo los bloques adyacentes A y B se pueden utilizar para obtener candidatos de predictores de vectores de movimiento. Alternativamente, los bloques adyacentes se pueden explorar secuencialmente mediante el uso de, por ejemplo, el bloque adyacente A si el bloque adyacente D es un candidato de predictor no disponible.
Además, en la presente modalidad, aunque la unidad de codificación de longitud variable 116 agrega un índice de predictor de vector de movimiento a una corriente de bits en el paso S104 mostrado en la FIGURA 14, no es necesario que un índice de predictor de vector de movimiento sea agregado obligatoriamente a una corriente de bits. Por ejemplo, si el tamaño de la lista de candidatos de predictores de vectores de movimiento es 1, la unidad de codificación de longitud variable 116 puede no agregar un índice de predictor de vector de movimiento a una corriente de bits . Por consiguiente, la cantidad de información se puede reducir por aquella del índice de predictor de vector de movimiento.
La FIGURA 17A es un diagrama de flujo que muestra el procesamiento detallado del paso S102 mostrado en la FIGURA 14. Específicamente, la FIGURA 17A muestra un método para calcular candidatos de predictores de vectores de movimiento y el tamaño de la lista de candidatos de predictores de vectores de movimiento. Lo siguiente es una descripción de la FIGURA 17A.
En el paso Slll, la unidad de cálculo de candidatos de predictores de vectores de movimiento 114 determina, utilizando el método descrito posteriormente, si un candidato de bloque de predicción [N] es un candidato de predictor disponible. Luego, la unidad de cálculo de candidatos de predictores de vectores de movimiento 114 actualiza el número de candidatos de predictores disponibles de acuerdo con el resultado de la determinación.
En este documento, N es un valor de índice para representar cada candidato de bloque de predicción. En la presente modalidad, N es uno de los valores de 0 a 4. Específicamente, el bloque adyacente A mostrado en la FIGURA 3 se asigna a un candidato de bloque de predicción [0] . El bloque adyacente B mostrado en la FIGURA 3 se asigna a un candidato de bloque de predicción [1] . Un bloque colocalizado se asigna a un candidato de bloque de predicción [2] . El bloque adyacente C mostrado en la FIGURA 3 se asigna a un candidato de bloque de predicción [3] . El bloque adyacente D mostrado en la FIGURA 3 se asigna a un candidato de bloque de predicción [4] .
En el paso S112, la unidad de cálculo de candidatos de predictores de vectores de movimiento 114 deduce un candidato de predictor de vector de movimiento en la dirección de predicción X a partir del candidato de bloque de predicción [N] utilizando las Expresiones 1 y 2 anteriores y agrega el candidato deducido a una lista correspondiente de las listas de candidatos de predictores de vectores de movimiento.
En el paso S113, la unidad de cálculo de candidatos de predictores de vectores de movimiento 114 busca y suprime un candidato de predictor no disponible y un candidato redundante de las listas de candidatos de predictores de vectores de movimiento, como se muestra en las FIGURAS 15A y 16A.
En el paso S114, la unidad de cálculo de candidatos de predictores de vectores de movimiento 114 agrega un nuevo candidato a una lista correspondiente de las listas de candidatos de predictores de vectores de movimiento mediante el uso del método descrito posteriormente. En este documento, cuando se agrega un nuevo candidato, la unidad de cálculo de candidatos de predictores de vectores de movimiento 114 puede reasignar valores de índices de predictores de vectores de movimiento con el fin de asignar preferentemente un índice de predictor de vector de movimiento pequeño a un candidato de predictor de vector de movimiento el cual no se agrega recientemente. Específicamente, la unidad de cálculo de candidatos de predictores de vectores de movimiento 114 puede reasignar valores de índices de predictores de vectores de movimiento con el fin de asignar un índice de predictor de vector de movimiento que tiene un valor grande al nuevo candidato. De esta manera, la cantidad de índices de predictores de vectores de movimiento de codificación se puede reducir.
En el paso S115, la unidad de cálculo de candidatos de predictores de vectores de movimiento 114 establece el tamaño de la lista de candidatos de predictores de vectores de movimiento al número de candidatos de predictores disponibles calculado en el paso Slll. En los ejemplos de las FIGURAS 15A y 16A, mediante el uso del método descrito posteriormente, "4" se calcula como el número de candidatos de predictores disponibles en la dirección de predicción 0 y el tamaño de la lista de candidatos de predictores de vectores de movimiento para la dirección de predicción 0 se establece a "4". Además, "4" se calcula como el número de candidatos de predictores disponibles en la dirección de predicción 1 y el tamaño de la lista de candidatos de predictores de vectores de movimiento para la dirección de predicción 1 se establece a "4" .
Se debe observar que un nuevo candidato en el paso S114 es un candidato agregado recientemente a los candidatos de predictores de vectores de movimiento utilizando el método descrito posteriormente, si el número de candidatos de predictores de vectores de movimiento no ha alcanzado el número de candidatos de predictores disponibles. Por ejemplo, un nuevo candidato puede ser un predictor de vector de movimiento generado a partir de un bloque adyacente localizado en el bloque adyacente de la parte de fondo izquierda D mostrada en la FIGURA 3. Un nuevo candidato puede ser un predictor de vector de movimiento generado a partir de bloques que corresponden a los bloques A, B, C y D adyacentes a un bloque colocalizado, por ejemplo. Además, un nuevo candidato puede ser un predictor de vector de movimiento calculado a partir del total de vectores de movimiento en el plano de imagen completo o una cierta área de una imagen de referencia, por ejemplo. De esta manera, la eficiencia de codificación puede ser mejorada por la unidad de cálculo de candidatos de predictores de vectores de movimiento 114 agregando un nuevo predictor de vector de movimiento como un nuevo candidato si el número de candidatos de predictores de vectores de movimiento no ha alcanzado el número de candidatos de predictores disponibles .
La FIGURA 18 es un diagrama de flujo que muestra el procesamiento detallado del paso Slll mostrado en la FIGURA 17A. Específicamente, la FIGURA 18 muestra un método para determinar si un candidato de bloque predicho [N] es un candidato de predictor disponible y actualizar el número de candidatos de predictores disponibles. Lo siguiente es una descripción de la FIGURA 18.
En el paso S121, la unidad de cálculo de candidatos de predictores de vectores de movimiento 114 determina si un candidato de bloque de predicción [N] (1) es intrapredicho, (2) está localizado fuera de un límite de un corte o una imagen la cual incluye un bloque actual que es codificado o (3) no se codifica todavía.
Si el resultado de la determinación en el paso S121 es verdadero en este punto (Si en el paso S121) , la unidad de cálculo de candidatos de predictores de vectores de movimiento 114 establece al candidato de bloque de predicción [N] como un candidato de predictor no disponible en el paso S122. Por otra parte, si el resultado de la determinación en el paso S121 es falso (No en el paso S121) , la unidad de cálculo de candidatos de predictores de vectores de movimiento 114 establece al candidato de bloque de predicción [N] como un candidato de predictor disponible en el paso S123.
En el paso S124, la unidad de cálculo de candidatos de predictores de vectores de movimiento 114 determina si el candidato de bloque de predicción [N] es un candidato de predictor disponible o un candidato de bloque colocalizado.
En este documento, si el resultado de la determinación en el paso S124 es verdadero (Si en el paso S124) , la unidad de cálculo de candidatos de predictores de vectores de movimiento 114 agrega 1 al número de candidatos de predictores disponibles y actualiza el número de candidatos de predictores de vectores de movimiento en el paso S5. Por otra parte, si el resultado de la determinación en el paso S124 es falso (No en el paso S124) , la unidad de cálculo de candidatos de predictores de vectores de movimiento 114 no actualiza el número de candidatos de predictores disponibles.
Como se describiera anteriormente, si un candidato de bloque de predicción es un bloque colocalizado, la unidad de cálculo de candidatos de predictores de vectores de movimiento 114 agrega 1 al número de candidatos de predictores disponibles, independientemente si el bloque colocalizado es un candidato de predictor disponible o un candidato de predictor no disponible. Por consiguiente, incluso si la información de un bloque colocalizado se pierde debido a una pérdida de paquetes o similares, no hay diferencia en el número de candidatos de predictores disponibles entre el aparato de codificación de imágenes en movimiento y el aparato de decodificación de imágenes en movimiento.
El tamaño de la lista de candidatos de predictores de vectores de movimiento se establece al número de candidatos de predictores disponibles en el paso S115 mostrado en la FIGURA 17A. Adicionalmente , en el paso S104 mostrado en la FIGURA 14, el tamaño de la lista de candidatos de predictores de vectores de movimiento se utiliza para la codificación de longitud variable de los índices de predictores de vectores de movimiento. Por consiguiente, incluso si la información de imágenes de referencia que incluye información de un bloque colocalizado y similares se pierde, el aparato de codificación de imágenes en movimiento 100 puede generar una corriente de bits a partir de la cual se puede decodificar exitosamente un índice de predicción de vectores de movimiento.
La FIGURA 19A es un diagrama de flujo que muestra el procesamiento detallado del paso S114 mostrado en la FIGURA 17A. Específicamente, la FIGURA 19A muestra un método para agregar un nuevo candidato. Lo siguiente es una descripción de la FIGURA 19A.
En el paso S131, la unidad de cálculo de candidatos de predictores de vectores de movimiento 114 determina si el número de candidatos de predictores de vectores de movimiento es más pequeño que el número de candidatos de predictores disponibles. Específicamente, la unidad de cálculo de candidatos de predictores de vectores de movimiento 114 determina si el número de candidatos de predictores de vectores de movimiento no ha alcanzado el número de candidatos de predictores disponibles.
En este documento, si el resultado de la determinación en el paso S131 es verdadero (Si en el paso 5131) , la unidad de cálculo de candidatos de predictores de vectores de movimiento 114 determina en el paso S132 si existe un nuevo candidato el cual se puede agregar a una lista correspondiente de las listas de candidatos de predictores de vectores de movimiento como un candidato de predictor de vector de movimiento. En este documento, si el resultado de la determinación en el paso S132 es verdadero (Si en el paso S132) , la unidad de cálculo de candidatos de predictores de vectores de movimiento 114 asigna un valor de un índice de predictor de vector de movimiento al nuevo candidato y agrega el nuevo candidato a una lista correspondiente de las listas de candidatos de predictores de vectores de movimiento en el paso S133. Adicionalmente , en el paso S134, la unidad de cálculo de candidatos de predictores de vectores de movimiento 114 agrega 1 al número de candidatos de predictores de vectores de movimiento.
Por otra parte, si el resultado de la determinación en el paso S131 o el paso S132 es falso (No en el paso S131 o 5132) , termina el procesamiento de adición del nuevo candidato. Específicamente, si el número de candidatos de predictores de vectores de movimiento ha alcanzado el número de candidatos de predictores disponibles o si no hay un nuevo candidato, el procesamiento de adición de nuevos candidatos termina.
La FIGURA 20 es un diagrama de flujo que muestra el procesamiento detallado del paso S103 mostrado en la FIGURA 14. Específicamente, la FIGURA 20 muestra un procesamiento con respecto a la selección de un candidato de predictor de vector de movimiento. Lo siguiente es una descripción de la FIGURA 20.
En el paso S141, como inicialización, la unidad de control de interpredicción 111 establece el índice de candidato de predictor de vector de movimiento mvp_idx a 0 y establece la diferencia de vector de movimiento más pequeña al valor máximo.
En el paso S142, la unidad de control de interpredicción 111 determina si el valor del índice de candidato de predictor de vector de movimiento mvp_idx es más pequeño que el número de candidatos de predictores de vectores de movimiento. Específicamente, la unidad de control de interpredicción 111 determina si las diferencias de vectores de movimiento de todos los candidatos de predictores de vectores de movimiento han sido calculadas.
En este documento, si aún queda un candidato de predictor de vector de movimiento para el cual no se ha realizado el cálculo (Si en el paso S142), la unidad de control de interpredicción 111 calcula una diferencia de vector de movimiento al sustraer un candidato de predictor de vector de movimiento de un vector de movimiento obtenido como resultado de la detección de movimiento (vector resultante de detección de movimiento) en el paso S143.
En el paso S144, la unidad de control de interpredicción 111 determina si la diferencia de vector de movimiento obtenida en el paso S143 tiene un valor más pequeño que la diferencia de vector de movimiento más pequeña .
En este documento, si el resultado de la determinación en el paso S144 es verdadero (Si en el paso S144), la unidad de control de interpredicción 111 actualiza la diferencia de vector de movimiento más pequeña y el valor de un índice de predictor de vector de movimiento en el paso S145. Por otra parte, si la determinación da por resultado que el paso ?144 es falso (No en el paso S144) , la unidad de control de interpredicción 111 no actualiza la diferencia de vector de movimiento más pequeña y el valor de un índice de predictor de vector de movimiento.
En el paso S146, la unidad de control de interpredicción 111 actualiza un índice de candidato de predictor de vector de movimiento al incrementar por +1, y regresar nuevamente al paso S142, la unidad de control de interpredicción 111 determina si está presente un candidato de predictor de vector de movimiento siguiente.
Por otra parte, si se determina en el paso S142 que una diferencia de vector de movimiento ha sido calculada para todos los candidatos de predictores de vectores de movimiento (No en el paso S142) , la unidad de control de interpredicción 111 fija, en el paso S147, la diferencia de vector de movimiento más pequeña y el índice de predictor de vector de movimiento los cuales se establecen al final.
De esta manera, de acuerdo con el aparato de codificación de imágenes en movimiento 100 de acuerdo con la presente modalidad, el tamaño de la lista de candidatos de predictores de vectores de movimiento que se utiliza cuando un índice de predictor de vector de movimiento se codifica o decodifica se puede calcular utilizando un método independiente de la información de imagen de referencia que incluye información de un bloque colocalizado y similares. Por consiguiente, el aparato de codificación de imágenes en movimiento 100 puede mejorar la resistencia al error.
Más específicamente, el aparato de codificación de imágenes en movimiento 100 de acuerdo con la presente modalidad agrega 1 al número de candidatos de predictores disponibles si un candidato de bloque de predicción es un bloque colocalizado, independientemente si el bloque colocalizado es un candidato de predictor disponible. Luego, el aparato de codificación de imágenes en movimiento 100 determina una secuencia de bits que se asigna a un índice de predictor de vector de movimiento que utiliza el número de candidatos de predictores disponibles calculado de esta manera. Por consiguiente, el aparato de codificación de imágenes en movimiento 100 puede generar una corriente de bits a partir de la cual un índice de predictor de vector de movimiento se puede decodificar exitosamente incluso si se pierde información de imagen de referencia que incluye información de un bloque colocalizado.
Además, el aparato de codificación de imágenes en movimiento 100 de acuerdo con la presente modalidad puede mejorar la eficiencia de codificación al agregar un nuevo candidato que tiene un nuevo predictor de vector de movimiento como un candidato de predictor de vector de movimiento si el número de candidatos de predictores de vectores de movimiento no ha alcanzado el número de candidatos de predictores disponibles.
Se debe observar que aunque en la presente modalidad, el aparato de codificación de imágenes en movimiento 100 agrega un nuevo candidato que tiene un nuevo predictor de vector de movimiento como un candidato de predictor de vector de movimiento si el número de candidatos de predictores de vectores de movimiento no ha alcanzado el número de candidatos de predictores disponibles, la presente modalidad no está limitada a esto. Por ejemplo, el aparato de codificación de imágenes en movimiento 100 puede establecer un nuevo candidato que tiene un nuevo predictor de vector de movimiento como un valor inicial de todos los candidatos de predictores de vectores de movimiento en las listas de candidatos de predictores de vectores de movimiento cuando se crean las listas de candidatos de predictores de vectores de movimiento. En este caso, el aparato de codificación de imágenes en movimiento 100 calculará un candidato de predictor de vector de movimiento y sobrescribirá el nuevo candidato el cual es un valor inicial cuando el candidato de predictor de vector de movimiento calculado se agrega a una lista correspondiente de las listas de candidatos de predictores de vectores de movimiento. Luego, el aparato de codificación de imágenes en movimiento 100 determina si el candidato de predictor de vector de movimiento calculado es un candidato de predictor no disponible o un candidato redundante, antes de que el candidato de predictor de vector de movimiento calculado se agregue a la lista de candidatos de predictores de vectores de movimiento correspondiente. Por consiguiente, si existe un candidato de predictor no disponible o un candidato redundante, el nuevo candidato el cual es un valor inicial permanece en la lista de candidatos de predictores de vectores de movimiento correspondiente. También es posible agregar un nuevo candidato como un candidato de predictor de vector de movimiento mediante el uso de este método.
En la presente modalidad, el aparato de codificación de imágenes en movimiento 100 determina una secuencia de bits que se asigna a un índice de predictor de vector de movimiento utilizando el número de candidatos de predictores disponibles calculado siempre al agregar 1 si un candidato de bloque de predicción es un bloque colocalizado independientemente si el bloque colocalizado es un candidato de predictor disponible, la presente invención no está limitada a esto.
Por ejemplo, el aparato de codificación de imágenes en movimiento 100 puede determinar una secuencia de bits que se asigna a un índice de predictor de vector de movimiento, utilizando el número de candidatos de predictores disponibles calculado siempre al agregar 1 también en el caso de un candidato de bloque de predicción diferente del bloque colocalizado en el paso S124 mostrado en la FIGURA 18. Específicamente, el aparato de codificación de imágenes en movimiento 100 puede asignar una secuencia de bits a un índice de predictor de vector de movimiento utilizando el tamaño de la lista de candidatos de predictores de vectores de movimiento fijado al valor máximo M del número de candidatos de predictores de vectores de movimiento. En otras palabras, asumiendo que todos los candidatos de bloques de predicción son candidatos de predictores disponibles, el aparato de codificación de imágenes en movimiento 100 puede fijar el tamaño de la lista de candidatos de predictores de vectores de movimiento al valor máximo M del número de candidatos de predictores de vectores de movimiento y puede codificar los índices de predictores de vectores de movimiento .
Por ejemplo, en la presente modalidad, el valor máximo M del número de candidatos de predictores de vectores de movimiento es 5 (bloque adyacente A, bloque adyacente B, bloque colocalizado, bloque adyacente C, bloque adyacente D) y de esta manera el aparato de aparato de codificación de imágenes de movimiento 100 puede establecer siempre el tamaño de la lista de candidatos de predictores de vectores de movimiento a 5 y puede codificar los índices de predictores de vectores de movimiento. Además, por ejemplo, si el valor máximo M del número de candidatos de predictores de vectores de movimiento es 4 (bloque adyacente A, bloque adyacente B, bloque adyacente C, bloque adyacente D) , el aparato de codificación de imágenes en movimiento 100 puede establecer siempre el tamaño de la lista de candidatos de predictores de vectores de movimiento a 4 y puede codificar los índices de predictores de vectores de movimiento.
De esta manera, el aparato de codificación de imágenes en movimiento 100 puede determinar el tamaño de la lista de candidatos de predictores de vectores de movimiento de acuerdo con el valor máximo M del número de candidatos de predictores de vectores de movimiento. Por consiguiente, es posible generar una corriente de bits a partir de la cual la unidad de decodificación de longitud variable del aparato de decodificación de imágenes en movimiento puede decodificar un índice de predictor de vector de movimiento en la corriente de bits sin hacer referencia a información de bloques adyacentes o un bloque colocalizado, lo cual da por resultado una reducción de la cantidad de procesamiento que es realizado por la unidad de decodificación de longitud variable .
Adicionalmente , el valor máximo M del número de candidatos de predictores de vectores de movimiento se puede incorporar en un conjunto de parámetros de secuencia (SPS, por sus siglas en inglés) , un conjunto de parámetros de imagen (PPS, por sus siglas en inglés) o un encabezado de corte, por ejemplo. Por consiguiente, el valor máximo M del número de candidatos de predictores de vectores de movimiento se puede cambiar de acuerdo con una imagen actual que es codificada, reduciendo de ese modo la cantidad de procesamiento y mejorando la eficiencia de codificación.
Por ejemplo, se puede considerar que el valor máximo del número de candidatos de predictores de vectores de movimiento se establece a 4 (bloque adyacente A, bloque adyacente B, bloque adyacente C, bloque adyacente D) en el caso de una imagen para la cual no se hace referencia a un bloque colocalizado (una imagen-B o una imagen-P para la cual se hace referencia a una imagen- 1) , mientras que el valor máximo del número de candidatos de predictores de vectores de movimiento se establece a 5 (bloque adyacente A, bloque adyacente B, bloque colocalizado, bloque adyacente C, bloque adyacente D) en el caso de una imagen para la cual se hace referencia a un bloque colocalizado y que el valor máximo se incorpora en un conjunto de parámetros de secuencia (SPS) , un conjunto de parámetros de imagen (PPS) o un encabezado de corte, por ejemplo.
Modalidad 2 Un aparato de decodificación de imágenes en movimiento el cual utiliza un método de decodificación de imágenes en movimiento de acuerdo con la presente modalidad se describe con base en las FIGURAS 21 a 24. 2-1. Configuración del aparato de decodificación de imágenes en movimiento En primer lugar se encuentra una descripción de la configuración de un aparato de decodificación de imágenes en movimiento con base en la FIGURA 21. La FIGURA 21 es un diagrama de bloques que muestra una configuración de un aparato de decodificación de imágenes en movimiento 300 de acuerdo con la Modalidad 3.
Como se muestra en la FIGURA 21, el aparato de decodificación de imágenes en movimiento 300 incluye una unidad de decodificación de longitud variable 301, unidad de cuantificacion inversa 302, unidad de transformación ortogonal inversa 303, unidad de adición 304, memoria de bloques 305, memoria de tramas 306, unidad de intrapredicción 307, unidad de interprediccion 308, unidad de control de interprediccion 309, conmutador 310, unidad de cálculo de candidatos de predictores de vectores de movimiento 311 y memoria colPic 312.
La unidad de decodificación de longitud variable 301 realiza un procesamiento de decodificación de longitud variable sobre una corriente de bits de entrada y genera información de tipo de imagen, un indicador de dirección de predicción, un coeficiente de cuantificación y una diferencia de vector de movimiento. Además, la unidad de decodificación de longitud variable 301 realiza un procesamiento de decodificación de longitud variable sobre índices de predictores de vectores de movimiento, utilizando el número de candidatos de predictores disponibles descritos posteriormente .
La unidad de cuantificación inversa 302 realiza un procesamiento de cuantificación inversa sobre el coeficiente de cuantificación obtenido mediante el procesamiento de decodificación de longitud variable. La unidad de transformación ortogonal inversa 303 transforma un coeficiente de transformación ortogonal obtenido mediante el procesamiento de cuantificación inversa de un dominio de frecuencia en un dominio de imagen, para generar datos de error de predicción. La memoria de bloques 305 almacena datos de imagen decodificados que se generan al agregar datos de error de predicción y datos de imagen predichos, en una base de bloque por bloque. La memoria de tramas 306 almacena datos de imagen decodificados en una base de trama por trama.
La unidad de intrapredicción 307 genera datos de imagen predichos de un bloque actual que es decodificado al realizar una intrapredicción utilizando datos de imagen decodificados en unidades de bloques almacenadas en la memoria de bloques 305. La unidad de interpredicción 308 genera datos de imagen predichos de un bloque actual que es decodificado al realizar una interpredicción utilizando datos de imagen decodificados en unidades de trama almacenadas en la memoria de tramas 306.
Si la decodificación de intrapredicción se realiza en el bloque actual, el conmutador 310 envía los datos de imagen intrapredichos que son generados por la unidad de intrapredicción 307 a la unidad de adición 304 como datos de imagen predichos del bloque actual. En contraste, si la decodificación de interpredicción se realiza en el bloque actual, el conmutador 310 envía los datos de imagen interpredichos que son generados por la unidad de interpredicción 308 a la unidad de adición 304 como datos de imagen predichos del bloque actual .
Utilizando, por ejemplo, vectores de movimiento de bloques adyacentes a un bloque actual que es decodificado e información de colPic tal como información de un vector de movimiento de un bloque colocalizado que está almacenado en la memoria de colPic 312, la unidad de cálculo de candidatos de predictores de vectores de movimiento 311 deduce los candidatos de predictores de vectores de movimiento en el modo de designación de predictores de vectores de movimiento mediante el uso del método descrito posteriormente. Además, la unidad de cálculo de candidatos de predictores de vectores de movimiento 311 asigna un valor de un índice de predictor de vector de movimiento a cada candidato de predictor de vector de movimiento deducido. Luego, la unidad de cálculo de candidatos de predictores de vectores de movimiento 311 envía los candidatos de predictores de vectores de movimiento y los índices de predictores de vectores de movimiento a la unidad de control de interpredicción 309.
La unidad de control de interpredicción 309 selecciona, de entre los candidatos de predictores de vectores de movimiento, un predictor de vector de movimiento que se utiliza para la interpredicción, con base en el índice de predictor de vector de movimiento decodificado. Luego, la unidad de control de interpredicción 309 calcula un vector de movimiento del bloque actual, con base en el predictor de vector de movimiento y una diferencia de vector de movimiento. Luego, la unidad de control de interpredicción 309 causa que la unidad de interpredicción 308 genere una imagen interpredicha utilizando el vector de movimiento calculado. Además, la unidad de control de interpredicción 309 transfiere la información de colPic que incluye información del vector de movimiento del bloque actual y similares a la memoria colPic 312.
Finalmente, la unidad de adición 304 genera datos de imagen decodificados al agregar datos de imagen predichos y datos de error de predicción. 1-2. Procedimiento de procesamiento del método de codificación de imágenes en movimiento A continuación se encuentra una descripción del procedimiento de procesamiento del método de codificación de imágenes en movimiento ejecutado por el aparato de codificación de imágenes en movimiento, con base en la FIGURA 22. La FIGURA 22 es un diagrama de flujo que muestra la operación de procesamiento del aparato de decodificación de imágenes en movimiento 300 de acuerdo con la Modalidad 3.
En el paso S301, la unidad de decodificación de longitud variable 301 decodifica un indicador de dirección de predicción y un índice de imagen de referencia. Luego, el valor de la dirección de predicción X se determina de acuerdo con el indicador de dirección de predicción decodificado y se realiza el procesamiento de los siguientes pasos S302 a S305.
En el paso S302, la unidad de cálculo de candidatos de predictores de vectores de movimiento 311 calcula el número de candidatos de predictores disponibles utilizando el método descrito posteriormente. Luego, la unidad de cálculo de candidatos de predictores de vectores de movimiento 311 establece el tamaño de la lista de candidatos de predictores de vectores de movimiento al número calculado de candidatos de predictores disponibles.
En el paso S303, la unidad de decodificación de longitud variable 301 decodifica con longitud variable el índice de predictor de vector de movimiento en una corriente de bits utilizando el tamaño de la lista de candidatos de predictores de vectores de movimiento calculado.
En el paso S304, la unidad de cálculo de candidatos de predictores de vectores de movimiento 311 genera candidatos de predictores de vectores de movimiento a partir de bloques adyacentes al bloque actual y un bloque colocalizado utilizando el método descrito posteriormente.
En el paso S305, la unidad de control de interpredicción 309 agrega la diferencia del vector de movimiento decodificado al candidato de predictor de vector de movimiento indicado por el índice de predictor de vector de movimiento decodificado, para calcular un vector de movimiento. Luego, la unidad de control de interpredicción 309 causa que la unidad de interpredicción 308 genere una imagen interpredicha utilizando el vector de movimiento calculado .
Se debe observar que si el tamaño de la lista de candidatos de predictores de vectores de movimiento calculado en el paso S302 es "1", se puede estimar que un índice de predictor de vector de movimiento es 0, sin ser decodificado .
La FIGURA 23 es un diagrama de flujo que muestra el procesamiento detallado del paso S302 mostrado en la FIGURA 22. Específicamente, la FIGURA 23 muestra un método para determinar si un candidato de bloque de predicción [N] es un candidato de predictor disponible y calcular el número de candidatos de predictores disponibles. Lo siguiente es una descripción de la FIGURA 23.
En el paso S311, la unidad de cálculo de candidatos de predictores de vectores de movimiento 311 determina si un candidato de bloque de predicción [N] es (1) decodificado mediante la intrapredicción, (2) está localizado fuera de un límite de un corte o una imagen la cual incluye un bloque actual que es decodificado o (3) todavía no se decodifica.
En este documento, si el resultado de la determinación en el paso S311 es verdadero (Si en el paso S311) , la unidad de cálculo de candidatos de predictores de vectores de movimiento 311 establece el candidato de bloque de predicción [N] como un candidato de predictor no disponible en el paso S312. Por otra parte, si el resultado de la determinación en el paso S311 es falso (No en el paso S311) , la unidad de cálculo de candidatos de predictores de vectores de movimiento 311 establece el candidato de bloque de predicción [N] como un candidato de predictor disponible en el paso S313.
En el paso S314, la unidad de cálculo de candidatos de predictores de vectores de movimiento 311 determina si el candidato de bloque de predicción [N] es un candidato de predictor disponible o un candidato de bloque colocalizado. En este documento, si el resultado de la determinación en el paso S314 es verdadero (Si en el paso S314) , la unidad de cálculo de candidatos de predictores de vectores de movimiento 311 agrega 1 al número de candidatos de predictores disponibles y actualiza el valor en el paso S5. Por otra parte, si el resultado de la determinación en el paso S314 es falso (No en el paso S314) , la unidad de cálculo de candidatos de predictores de vectores de movimiento 311 no actualiza el número de candidatos de predictores disponibles.
Como se describiera anteriormente, si un candidato de bloque de predicción es un bloque colocalizado, la unidad de cálculo de candidatos de predictores de vectores de movimiento 311 agrega 1 al número de candidatos de predictores disponibles, independientemente si el bloque colocalizado es un candidato de predictor disponible o un candidato de predictor no disponible. Por consiguiente, incluso si la información de un bloque colocalizado se pierde debido a la pérdida de paquetes o similares, no hay-diferencia en el número de candidatos de predictores disponibles entre el aparato de codificación de imágenes en movimiento y el aparato de decodificación de imágenes en movimiento .
El tamaño de la lista de candidatos de predictores de vectores de movimiento se establece al número de candidatos de predictores disponibles en el paso S302 mostrado en la FIGURA 22. Adicionalmente, en el paso S303 mostrado en la FIGURA 22, el tamaño de la lista de candidatos de predictores de vectores de movimiento se utiliza para la decodificación de longitud variable de índices de predictores de vectores de movimiento. Por consiguiente, incluso si se pierde la información de imagen de referencia que incluye información de un bloque colocalizado o similares, el aparato de decodificación de imágenes en movimiento 300 puede decodificar exitosamente índices de predictores de vectores de movimiento.
La FIGURA 24 es un diagrama de flujo que muestra el procesamiento detallado del paso S304 mostrado en la FIGURA 22. Específicamente, la FIGURA 24 muestra un método para calcular candidatos de predictores de vectores de movimiento. Lo siguiente es una descripción de la FIGURA 24.
En el paso S321, la unidad de cálculo de candidatos de predictores de vectores de movimiento 311 calcula, a partir del candidato de bloque de predicción [N] , un candidato de predictor de vector de movimiento en la dirección de predicción X utilizando las Expresiones 1 y 2 anteriores y agrega el candidato calculado a una lista correspondiente de las listas de candidatos de predictores de vectores de movimiento.
En el paso S322, la unidad de cálculo de candidatos de predictores de vectores de movimiento 311 busca y suprime un candidato de predictor no disponible y un candidato redundante de las listas de candidatos de predictores de vectores de movimiento, como se muestra en las FIGURAS 15A y 16A.
En el paso S323, la unidad de cálculo de candidatos de predictores de vectores de movimiento 311 agrega un nuevo candidato a una lista correspondiente de la listas de candidatos de predictores de vectores de movimiento utilizando el mismo método que en la FIGURA 19A.
La FIGURA 25 muestra un ejemplo de la sintaxis utilizada cuando un índice de predictor de vector de movimiento se agrega a una corriente de bits . En la FIGURA 25, inter_pred_flag señala un indicador de dirección de predicción y mvp_idx señala un índice de predictor de vector de movimiento. NumMVPCand señala el tamaño de la lista de candidatos de predictores de vectores de movimiento y el tamaño se establece al número de candidatos de predictores disponibles calculados en el flujo de procesamiento mostrado en la FIGURA 23 en la presente modalidad.
Como se describiera anteriormente, de acuerdo con el aparato de decodificación de imágenes en movimiento 300 de acuerdo con la presente modalidad, el tamaño de la lista de candidatos de predictores de vectores de movimiento que se utiliza cuando un índice de predictor de vector de movimiento se codifica o decodifica se puede calcular mediante el uso de un método independiente de la información de imagen de referencia que incluye información de un bloque colocalizado y similares. Por consiguiente, el aparato de decodificación de imágenes en movimiento 300 puede decodificar apropiadamente una corriente de bits que tiene una resistencia al error mejorada.
Más específicamente, el aparato de decodificación de imágenes en movimiento 300 de acuerdo con la presente modalidad siempre agrega 1 al número de candidatos de predictores disponibles si un candidato de bloque de predicción es un bloque colocalizado, independientemente si el bloque colocalizado es un candidato de predictor disponible. Luego, el aparato de decodificación de imágenes en movimiento 300 determina secuencias de bits que son asignadas a índices de predictores de vectores de movimiento utilizando el número de candidatos de predictores disponibles calculados de esta manera. Por consiguiente, incluso si se pierde información de imágenes de referencia que incluye información de un bloque colocalizado, el aparato de decodificación de imágenes en movimiento 300 puede decodificar exitosamente un índice de predictor de vector de movimiento .
Además, si el número de candidatos de predictores de vectores de movimiento no ha alcanzado el número de candidatos de predictores disponibles, el aparato de decodificación de imágenes en movimiento 300 de acuerdo con la presente modalidad puede decodificar apropiadamente una corriente de bits para la cual se ha mejorado la eficiencia de codificación al agregar un nuevo candidato que tiene un nuevo predictor de vector de movimiento como un candidato de predictor de vector de movimiento.
Se debe observar que en la presente modalidad, aunque el aparato de decodificación de imágenes en movimiento 300 agrega un nuevo candidato que tiene un nuevo predictor de vector de movimiento como un candidato de predictor de vector de movimiento si el número de candidatos de predictores de vectores de movimiento no ha alcanzado el número de candidatos de predictores disponibles, la presente invención no está limitada a esto. Por ejemplo, como en la Modalidad 1 descrita anteriormente, cuando se crean listas de candidatos de predictores de vectores de movimiento, el aparato de decodificación de imágenes en movimiento 300 puede establecer un nuevo candidato que tiene un nuevo predictor de vector de movimiento como un valor inicial de todos los candidatos de predictores de vectores de movimiento en las listas de candidatos de predictores de vectores de movimiento.
Se debe observar que aunque el aparato de decodificación de imágenes en movimiento 300 de acuerdo con la presente modalidad determina secuencias de bits que se asignan a índices de predictores de vectores de movimiento utilizando el número de candidatos de predictores disponibles calculado al agregar siempre 1 cuando un candidato de bloque de predicción es un bloque colocalizado, independientemente si el bloque colocalizado es un candidato de predictor disponible, la presente invención no está limitada a esto.
Por ejemplo, el aparato de decodificación de imágenes en movimiento 300 puede determinar secuencias de bits que se asignan a índices de predictores de vectores de movimiento, utilizando el número de candidatos de predictores disponibles calculado al agregar siempre 1 también en el caso de un candidato de bloque de predicción diferente de un bloque colocalizado en el paso S314 mostrado en la FIGURA 23. Específicamente, el aparato de decodificación de imágenes en movimiento 300 puede asignar una secuencia de bits a un índice de predictor de vector de movimiento, utilizando el tamaño de la lista de candidatos de predictores de vectores de movimiento fijado al valor máximo M del número de candidatos de predictores de vectores de movimiento. En otras palabras, asumiendo que todos los candidatos de bloques de predicción son candidatos de predictores disponibles, el aparato de decodificación de imágenes en movimiento 300 puede fijar el tamaño de la lista de candidatos de predictores de vectores de movimiento al valor máximo M del número de candidatos de predictores de vectores de movimiento y puede decodificar índices de predictores de vectores de movimiento.
Por ejemplo, en la presente modalidad, puesto que el valor máximo M del número de candidatos de predictores de vectores de movimiento es 5 (bloque adyacente A, bloque adyacente B, bloque colocalizado, bloque adyacente C, bloque adyacente D) , el aparato de decodificación de imágenes en movimiento 300 puede establecer siempre el tamaño de la lista de candidatos de predictores de vectores de movimiento a 5 y puede decodificar índices de predictores de vectores de movimiento. Adicionalmente , cuando el valor máximo M del número de candidatos de predictores de vectores de movimiento es 4 (bloque adyacente A, bloque adyacente B, bloque adyacente C, bloque adyacente D) en el caso de una imagen para la cual no se hace referencia a un bloque colocalizado (una imagen-B o una imagen-P para la cual se hace referencia a una imagen- I) , el aparato de decodificación de imágenes en movimiento 300 puede establecer siempre el tamaño de la lista de candidatos de predictores de vectores de movimiento a 4 y puede codificar índices de predictores de vectores de movimiento .
Por consiguiente, la unidad de decodificación de longitud variable 301 del aparato de decodificación de imágenes en movimiento 300 puede decodificar un índice de predictor de vector de movimiento en una corriente de bits, sin hacer referencia a información de un bloque adyacente o un bloque colocalizado. Por ejemplo, la cantidad de procesamiento que es realizado por la unidad de decodificación de longitud variable 301 se puede reducir, por ejemplo, al omitir el procesamiento de los pasos S314 y S315 mostrados en la FIGURA 23.
La FIGURA 26 muestra un ejemplo de la sintaxis utilizada cuando el tamaño de la lista de candidatos de predictores de vectores de movimiento se fija al valor máximo M del número de candidatos de predictores de vectores de movimiento. Si el tamaño de la lista de candidatos de predictores de vectores de movimiento se fija al valor máximo del número de candidatos de predictores de vectores de movimiento, NumMVPCand se puede suprimir de la sintaxis como se muestra en la FIGURA 26, en comparación con el caso de la FIGURA 25.
El valor máximo M del número de candidatos de predictores de vectores de movimiento se puede obtener a partir del SPS, PPS o un encabezado de corte. Esto hace posible que el valor máximo del número de candidatos de predictores de vectores de movimiento sea cambiado de acuerdo con una imagen actual que es decodificada, reduciendo de ese modo la cantidad de procesamiento y mejorando la eficiencia de codificación. De esta manera, una corriente de bits se puede decodificar apropiadamente.
Modificación de las Modalidades 1 y 2 En las Modalidades 1 y 2 descritas anteriormente, cuando el tamaño de la lista de candidatos de predictores de vectores de movimiento se fija al valor máximo del número de candidatos de predictores de vectores de movimiento (que corresponde a un ejemplo de un número fijo de dos o más) , si las listas de candidatos de predictores de vectores de movimiento tienen elementos nulos, un candidato de predictor de vector de movimiento predeterminado para el mejoramiento en la resistencia al error (segundo candidato) se puede insertar en cada porción nula de las listas de candidatos de predictores de vectores de movimiento, para mejorar la resistencia al error.
Como el segundo candidato, un candidato de predictor de vector de movimiento que tiene un vector de movimiento cuya magnitud es (0, 0), por ejemplo, se puede asignar. El segundo candidato es un candidato para mejorar la resistencia al error y de esta manera incluso si se debe agregar una pluralidad de segundos candidatos, todos los segundos candidatos se pueden establecer al mismo valor. Por el contrario, un nuevo candidato es un candidato para mejorar la eficiencia de codificación y de esta manera se agregan diferentes candidatos si se debe agregar una pluralidad de nuevos candidatos . Se debe observar que los nuevos candidatos pueden incluir un candidato el cual es el mismo que cualquiera de uno o más de los primeros candidatos y uno o más de los segundos candidatos, como resultado.
Se debe observar que un posible método para asignar el segundo candidato es (1) asignar el segundo candidato a un candidato nulo después de agregar un nuevo candidato o (2) insertar el segundo candidato en todos los elementos de las listas de candidatos de predictores de vectores de movimiento, inicializando de ese modo las listas.
En primer lugar se encuentra una descripción del caso (1) en el cual el segundo candidato se asigna a un candidato nulo después de agregar un nuevo candidato, en el aparato de codificación de imágenes en movimiento 100 y el aparato de decodificación de imágenes en movimiento 300.
En este documento, la FIGURA 15B muestra tablas que ilustran ejemplos de una lista de candidatos de predictores de vectores de movimiento para la dirección de predicción 0. La FIGURA 16B muestra tablas que ilustran ejemplos de una lista de candidatos de predictores de vectores de movimiento para la dirección de predicción 1.
Las FIGURAS 15B y 16B muestran las listas de candidatos de predictores de vectores de movimiento en el caso donde el segundo candidato se asigna a un candidato nulo después de agregar un nuevo candidato e ilustran el caso donde el valor máximo M del número de candidatos de predictores de vectores de movimiento es 5 (N = 0 a 4) .
La FIGURA 17B es un diagrama de flujo que muestra un procedimiento para calcular un candidato de predictor de vector de movimiento en el caso donde el segundo candidato se asigna a un candidato nulo después de agregar un nuevo candidato. Se debe observa que los mismos signos se utilizan para el mismo procesamiento que aquellos mostrados en la FIGURA 17A. El procedimiento de cálculo corresponde al paso S102 mostrado en la FIGURA 14 ejecutado por el aparato de codificación de imágenes en movimiento 100 y también corresponde al procesamiento del paso S304 mostrado en la FIGURA 22 ejecutado por el aparato de decodificación de imágenes en movimiento 300. El tamaño de la lista de candidatos de predictores de vectores de movimiento se fija al valor máximo M y de esta manera no necesita ser calculado.
En el paso S151, la unidad de cálculo de candidatos de predictores de vectores de movimiento 114 del aparato de codificación de imágenes en movimiento 100 determina, utilizando el método descrito anteriormente, si un candidato de bloque de predicción [N] es un candidato de predictor disponible.
En el paso S112, la unidad de cálculo de candidatos de predictores de vectores de movimiento 114 deduce un candidato de predictor de vector de movimiento en la dirección de predicción X a partir del candidato de bloque de predicción [N] utilizando las Expresiones 1 y 2 anteriores y agrega el candidato deducido a una lista correspondiente de las listas de candidatos de predictores de vectores de movimiento .
En el paso S113, la unidad de cálculo de candidatos de predictores de vectores de movimiento 114 busca y suprime un candidato de predictor no disponible y un candidato redundante de las listas de candidatos de predictores de vectores de movimiento.
En el paso S114, la unidad de cálculo de candidatos de predictores de vectores de movimiento 114 agrega un nuevo candidato a una lista correspondiente de las listas de candidatos de predictores de vectores de movimiento. En este documento, la FIGURA 19B es un diagrama de flujo que muestra un procedimiento para agregar un nuevo candidato en el caso donde el tamaño de la lista de candidatos de predictores de vectores de movimiento se fija. La FIGURA 19B es diferente de la FIGURA 19A solo en el método de determinación en el paso S131 y los nuevos candidatos se pueden agregar hasta que el número de candidatos alcance el tamaño de la lista de candidatos de predictores de vectores de movimiento, preferiblemente que el número de candidatos de predictores disponibles .
En el paso S155, la unidad de cálculo de candidatos de predictores de vectores de movimiento 114 agrega el segundo candidato al final de las listas de candidatos de predictores de vectores de movimiento, como se muestra en la parte (b) mostrada en la FIGURA 15B y la parte (b) mostrada en la FIGURA 16B. Un ejemplo del segundo candidato es un candidato de predictor de vector de movimiento que tiene un vector de movimiento cuya magnitud es (0, 0) .
En este documento, la FIGURA 27 es un diagrama de flujo que muestra un procedimiento para asignar el segundo candidato a un candidato nulo.
En el paso S171, la unidad de cálculo de candidatos de predictores de vectores de movimiento 114 determina si el tamaño de la lista de candidatos de predictores de vectores de movimiento (por ejemplo, el valor máximo M - el número de candidatos de predictores de vectores de movimiento) es cero o más. Específicamente, se determina si las listas de candidatos de predictores de vectores de movimiento incluyen un elemento nulo.
Si el resultado de la determinación del paso S171 es verdadero (Si en el paso S171) , la unidad de cálculo de candidatos de predictores de vectores de movimiento 114 agrega, en el paso S172, el segundo candidato al elemento nulo de una lista correspondiente de las listas de candidatos de predictores de vectores de movimiento. Adicionalmente , en el paso S173, la unidad de cálculo de candidatos de predictores de vectores de movimiento 114 agrega 1 al número de candidatos de predictores de vectores de movimiento.
Si el resultado de la determinación del paso S171 es falso (No en el paso S171) , la unidad de cálculo de candidatos de predictores de vectores de movimiento 114 termina la adición del segundo candidato. En ese momento, las listas de candidatos de predictores de vectores de movimiento se encontrarán en el estado mostrado por la parte (b) mostrada en la FIGURA 15B y la parte (b) mostrada en la FIGURA 16B.
Se debe observar que en este documento, se proporciona una descripción que asume que el procesamiento es realizado por la unidad de cálculo de candidatos de predictores de vectores de movimiento 114 del aparato de codificación de imágenes en movimiento 100, es posible decodificar exitosamente índices de predictores de vectores de movimiento al realizar el mismo procesamiento también en el caso donde la unidad de cálculo de candidatos de predictores de vectores de movimiento 311 del aparato de decodificación de imágenes en movimiento 300 realiza un cálculo para obtener las listas de candidatos de predictores de vectores de movimiento.
A continuación se encuentra una descripción del caso donde el aparato de codificación de imágenes en movimiento 100 y el aparato de decodificación de imágenes en movimiento 300 (2) inicializa las listas de candidatos de predictores de vectores de movimiento al insertar el segundo candidato en todos los elementos .
En este documento, la FIGURA 15C muestra tablas que ilustran ejemplos de una lista de candidatos de predictores de vectores de movimiento para la dirección de predicción 0. La FIGURA 16C muestra tablas que ilustran ejemplos de una lista de candidatos de predictores de vectores de movimiento para la dirección de predicción 1.
Las FIGURAS 15C y 16C muestran las listas de candidatos de predictores de vectores de movimiento en cada proceso cuando las listas de candidatos de predictores de vectores de movimiento son inicializadas mediante el uso del segundo candidato. Las FIGURAS 15C y 16C ilustran cada una el caso donde el valor máximo M del número de candidatos de predictores de vectores de movimiento es 5 (N = 0 a 4) .
La FIGURA 17C es un diagrama de flujo que muestra el procedimiento para calcular un candidato de predictor de vector de movimiento en caso de inicializar las listas de candidatos de predictores de vectores de movimiento mediante el uso del segundo candidato. El procedimiento de cálculo es el procesamiento que corresponde a aquel del paso S102 mostrado en la FIGURA 14 ejecutado por el aparato de codificación de imágenes en movimiento 100 y también corresponde al procesamiento del paso S304 mostrado en la FIGURA 22 ejecutado por el aparato de decodificación de imágenes en movimiento 300. El tamaño de la lista de candidatos de predictores de vectores de movimiento se fija al valor máximo M y de esta manera no es necesario calcular el tamaño. Se debe observar que NI en la FIGURA 17C indica un valor que muestra un bloque adyacente.
En el paso S161, la unidad de cálculo de candidatos de predictores de vectores de movimiento 114 del aparato de codificación de imágenes en movimiento 100 establece el segundo candidato como todos los candidatos de predictores de vectores de movimiento [NI] (NI = 0 a 4) . Un ejemplo del segundo candidato es un candidato de predictor de vector de movimiento que tiene un vector de movimiento cuya magnitud es (0, 0) .
En el paso S162, la unidad de cálculo de candidatos de predictores de vectores de movimiento 114 determina si el candidato de predictor de vector de movimiento obtenido del bloque adyacente NI es un candidato de predictor no disponible o un candidato redundante.
Si el resultado de la determinación del paso S162 es verdadero (Si en el paso S162) , se hace la determinación en el paso S162 para el siguiente bloque adyacente NI. Si el resultado de la determinación del paso S162 es falso (No en el paso S162), en el paso S163, la unidad de cálculo de candidatos de predictores de vectores de movimiento 114 obtiene el candidato de predictor de vector de movimiento del bloque adyacente NI y actualiza una lista correspondiente de las listas de candidatos de predictores de vectores de movimiento. En ese momento, la unidad de cálculo de candidatos de predictores de vectores de movimiento 114 asigna, al bloque adyacente NI, un índice de predictor de vector de movimiento que tiene el valor más pequeño entre los índices de predictores de vectores de movimiento asignados al segundo candidato. Luego, la unidad de cálculo de candidatos de predictores de vectores de movimiento 114 sobrescribe el candidato de predictor de vector de movimiento que tiene el índice de predictor de vector de movimiento asignado con el candidato de predictor de vector de movimiento del bloque adyacente NI .
En el paso S164, la unidad de cálculo de candidatos de predictores de vectores de movimiento 114 agrega un nuevo candidato a una lista correspondiente de las listas de candidatos de predictores de vectores de movimiento. En este documento, la unidad de cálculo de candidatos de predictores de vectores de movimiento 114 agrega un nuevo candidato utilizando el método mostrado en la FIGURA 19B.
En este momento, las listas de candidatos de predictores de vectores de movimiento se encontrarán en el estado mostrado por la parte (c) mostrada en la FIGURA 15C y la parte (c) mostrada en la FIGURA 16C.
Se debe observar que en este documento, se proporciona una descripción asumiendo que el procesamiento es realizado por la unidad de cálculo de candidatos de predictores de vectores de movimiento 114 del aparato de codificación de imágenes en movimiento 100, es posible decodificar exitosamente índices de predictores de vectores de movimiento al realizar el mismo procesamiento también en el caso donde la unidad de cálculo de candidatos de predictores de vectores de movimiento 311 del aparato de decodificación de imágenes en movimiento 300 realiza un cálculo para obtener las listas de candidatos de predictores de vectores de movimiento.
En este documento, la lista de candidatos de predictores de vectores de movimiento mostrada por la parte (c) mostrada en la FIGURA 15B y la lista de candidatos de predictores de vectores de movimiento mostrada por la parte (b) mostrada en la FIGURA 15C son las mismas y la lista de candidatos de predictores de vectores de movimiento mostrada por la parte (b) mostrada en la FIGURA 16B y la lista de candidatos de predictores de vectores de movimiento mostrada por la parte (c) mostrada en la FIGURA 16C son las mismas. De esta manera, se puede observar que las mismas listas de candidatos de predictores de vectores de movimiento se pueden obtener mediante el uso de ya sea uno de (1) el método para asignar el segundo candidato a un candidato nulo después de agregar un nuevo candidato y (2) el método para insertar el segundo candidato en todos los elementos de las listas de candidatos de predictores de vectores de movimiento para inicializar las listas.
Se debe observar que aunque la presente modificación muestra un ejemplo en el cual el candidato de predictor de vector de movimiento que tiene un vector de movimiento (0, 0) se asigna como el segundo candidato, la presente invención no está limitada a esto. Por ejemplo, un candidato de predictor de vector de movimiento asignado a otro índice de predictor de vector de movimiento se puede copiar. Adicionalmente , un candidato se puede generar a partir de candidatos de predictores de vectores de movimiento asignados a otros índices de predictores de vectores de movimiento, al promediar la magnitud de vectores de movimiento de los candidatos de predictores de vectores de movimiento asignados a otros índices de predictores de vectores de movimiento, por ejemplo.
Se debe observar que la modificación anterior describe, como un método para asignar el segundo candidato, (1) el método para asignar el segundo candidato a un candidato nulo después de agregar un nuevo candidato (tercer candidato) y (2) un método para insertar el segundo candidato en todos los elementos de la listas de candidatos de predictores de vectores de movimiento para inicializar las listas, la presente invención no está limitada a esto.
Por ejemplo, en el paso S305 mostrado en la FIGURA 22, la unidad de cálculo de candidatos de predictores de vectores de movimiento 311 del aparato de decodificación de imágenes en movimiento 300 puede agregar, solo en el caso donde un elemento indicado por el índice de predictor de vector de movimiento decodificado es un elemento nulo, el segundo candidato únicamente a ese elemento nulo, preferiblemente que crear listas de candidatos de predictores de vectores de movimiento que no tienen elementos nulos. En este caso, es posible reducir la cantidad de procesamiento.
Además, por ejemplo, en el paso S305 mostrado en la FIGURA 22, la unidad de cálculo de candidatos de predictores de vectores de movimiento 311 determina si el índice de predictor de vector de movimiento decodificado es mayor que o igual al valor más grande de índices de predictores de vectores de movimiento, y si el resultado de la determinación es verdadero, el segundo candidato se puede asignar. Alternativamente, por ejemplo, en el paso S305 mostrado en la FIGURA 22, la unidad de cálculo de candidatos de predictores de vectores de movimiento 311 determina si el índice de predictor de vector de movimiento decodificado es mayor que o igual al valor más grande de índices de predictores de vectores de movimiento, y si el resultado de la determinación es verdadero, se puede realizar un procesamiento de fijación en el valor del índice de predictor de vector de movimiento decodificado, utilizando el valor más grande de los índices de predictores de vectores de movimiento de tal manera que el índice de predictor de vector de movimiento decodificado tenga un valor más pequeño que el valor más grande de los índices de predictores de vectores de movimiento.
Por ejemplo, en el aparato de decodificación de imágenes en movimiento 300, si ocurre un error en la supresión de un candidato redundante de los candidatos de predictores de vectores de movimiento, un estado en el cual un candidato de predictor de vector de movimiento no se asigna a un índice de predictor de vector de movimiento decodificado puede ocurrir incluso si un índice de predictor de vector de movimiento se puede decodificar exitosamente mediante el manejo de un pérdida de paquetes lo cual da por resultado una pérdida de información de un bloque colocalizado. Adicionalmente , por ejemplo, el aparato de codificación de imágenes en movimiento 100 agrega, por error, un índice de predictor de vector de movimiento que tiene un valor mayor que o igual al número de candidatos de predictores de vectores de movimiento a una corriente de bits, puede ocurrir un estado en el cual un candidato de predictor de vector de movimiento no se asigna al índice de predictor de vector de movimiento decodificado.
En la modificación anterior, el segundo candidato se asigna a un elemento nulo de las listas de candidatos de predictores de vectores de movimiento y de esta manera se puede evitar un estado en el cual un candidato de predictor de vector de movimiento no se asigna a un índice de predictor de vector de movimiento.
Modalidad 3 El procesamiento descrito en cada una de las modalidades puede ser implementado simplemente en un sistema de computadora independiente, al grabar, en un medio de grabación, un programa para implementar las configuraciones del método de codificación de imágenes en movimiento (método de codificación de imágenes) y el método de decodificación de imágenes en movimiento (método de decodificación de imágenes) descritos en cada una de las modalidades. 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 (método de codificación de imágenes) y el método de decodificacion de imágenes en movimiento (método de decodificación de imágenes) descritos en cada una de las modalidades y sistemas utilizando los mismos. El sistema tiene una característica que consiste en tener un aparato de codificación y decodificación de imágenes que incluye un aparato de codificación de imágenes que utiliza el método de codificación de imágenes y un aparato de decodificación de imágenes que utiliza el método de decodificación de imágenes. Otras configuraciones en el sistema se pueden cambiar apropiadamente dependiendo de las situaciones.
La FIGURA 28 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 exl06, 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, así 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 28 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 sí 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 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 exllé 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 cada una de las modalidades (es decir, la cámara funciona como el aparato de codificación de imágenes de acuerdo con un aspecto 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 ha recibido los datos distribuidos decodifica y reproduce los datos codificados (es decir, funciona como el aparato de decodificación de imágenes de acuerdo con un aspecto 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 integrado 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 ex!14 se equipa con una cámara, los datos de video 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 puede implementar en un sistema de difusión digital ex200 ilustrado en la FIGURA 29. 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 multiplexar 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 codificados por el aparato de codificación de imágenes de acuerdo con un aspecto 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, funciona como el aparato de decodificación de imágenes de acuerdo con un aspecto 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 30 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 ex300 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/demodulación ex302 que demodula los datos multiplexados recibidos o modula datos en datos multiplexados para ser suministrados al exterior; y una unidad de multiplexión/demultiplexión ex303 que demultiplexa 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 .
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 decodifican datos de audio y datos de video y codifican datos de audio y datos de video, respectivamente (las cuales funcionan como el aparato de codificación de imágenes y el aparato de decodificación de imágenes de acuerdo con los aspectos de la presente invención) ; 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 ex3l0 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 documento, 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 sí 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/demultiplexión ex303 demultiplexa los datos multiplexados que son demodulados por la unidad de modulación/demodulació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 demultiplexados y la unidad de procesamiento de señales de video ex305 decodifica los datos de video demultiplexados, 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 sí. 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/demultiplexió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/demultiplexió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 sí. En este documento, 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 , 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/demodulación ex302 y la unidad de multiplexión/demultiplexió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 31 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 demodulació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 demodula 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 ex2l5 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 demodulació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 32 ilustra 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 guía 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 guía. 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 específico 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 codificados, datos de video codificados o datos multiplexados que se obtienen 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 documento, 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 30. Lo mismo será cierto para la configuración de la computadora exlll, el teléfono celular exll4 y otros.
La FIGURA 33A 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 líquido 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 de teclas 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 33B. 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, así como también la unidad de teclas de operación ex366 se conecta mutuamente, por vía de una barra colectora sincrónica 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) ex359, una unidad de modulación/demodulación ex352, una unidad de multiplexión/demultiplexió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/demodulació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/demodulació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 vía 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 de teclas 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/demodulació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, funciona como el aparato de codificación de imágenes de acuerdo con el aspecto de la presente invención) , y transmite los datos de video codificados a la unidad de multiplexión/demultiplexió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/demultiplexión ex353.
La unidad de multiplexión/demultiplexió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 modulación/demodulación (unidad de circuito de modulación/demodulació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 vía de la antena ex350, la unidad de multiplexión/demultiplexión ex353 demultiplexa 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, funciona como el aparato de decodificación de imágenes de acuerdo con el aspecto de la presente invención) , y luego la unidad de exhibición ex358 exhibe, por ejemplo, el video y las imágenes fijas que están incluidos en el archivo de video vinculado con la página Web por vía 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 estas modalidades descritas anteriormente y se pueden hacer varias modificaciones y revisiones en cualquiera de las modalidades siempre y cuando las modificaciones y revisiones no se aparten del alcance de la presente invención .
Modalidad 4 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, MPEG-4 AVC y VC-1.
En este documento, 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 que son decodificados , existe un problema respecto a 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 MPEG-2.
La FIGURA 34 ilustra una estructura de los datos multiplexados. Como se ilustra en la FIGURA 34, 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 documento, 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, MPEG-4 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 audio secundario que se mezcla con el audio primario.
La FIGURA 35 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 36 ilustra con mayor detalle como se almacena una corriente de video en una corriente de paquetes PES. La primera barra en la FIGURA 36 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 36, 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 37 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 el cual cada uno de los paquetes TS 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 37. 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 38 ilustra detalladamente la estructura 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 39. 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 39, 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 establece al tiempo de final de reproducción.
Como se muestra en la FIGURA 40, 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 la presente modalidad, los datos multiplexados que se utilizan son de 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 41 ilustra pasos del método de decodificación de imágenes en movimiento de acuerdo con la presente modalidad. En el Paso exSlOO, el tipo de corriente incluido en la PMT o la información de atributos de corriente de video incluida en la información de datos multiplexados 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, MPEG-4 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 describen 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 la presente Modalidad 5 se puede utilizar en los dispositivos y sistemas descritos anteriormente .
Modalidad 5 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 del LSI, la FIGURA 42 ilustra una configuración del LSI ex500 que 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 documento, 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 1/0 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 sí.
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 este 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 así 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 6 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, MPEG-4 AVC y VC-1 se decodifican, es posible que la cantidad de procesamiento se incremente. De esta manera, el LSI ex500 necesita ser establecido 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 establece más alto, existe el problema respecto a que el consumo de energía incrementa.
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 43 ilustra una configuración ex800 en la presente modalidad. Una unidad de conmutación de frecuencias impulsoras ex803 establece 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 establece 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 ex803 incluye la CPU ex502 y la unidad de control de frecuencias impulsoras ex512 en la FIGURA 42. En este documento, 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 42. 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 4 se utilice para identificar los datos de video. La información de identificación no está limitada a aquella descrita en la Modalidad 4 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 45. La frecuencia impulsora se puede seleccionar al almacenar la tabla de consulta en la memoria intermedia ex508 y en una memoria interna de un LSI y con referencia a la tabla de consulta por la CPU ex502.
La FIGURA 44 ilustra pasos para ejecutar un método en la presente 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 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 Paso exS202, la CPU ex502 transmite una señal para establecer 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 establece 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, MPEG-4 AVC y VC-1, en el Paso exS203, la CPU ex502 transmite una señal para establecer 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 establece 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 establece más baja, es posible que el voltaje que se aplica al LSI ex500 o el aparato que incluye el LSI ex500 se establezca a un voltaje más bajo que aquel en el caso donde la frecuencia impulsora se establece más alta.
Adicionalmente, cuando la cantidad de procesamiento para la decodificación es más grande, la frecuencia impulsora se puede establecer más alta, y cuando la cantidad de procesamiento para la decodificación es más pequeña, la frecuencia impulsora se puede establecer más baja como el método para establecer la frecuencia impulsora. De esta manera, el método de establecimiento no está limitado a aquellos descritos anteriormente. Por ejemplo, cuando la cantidad de procesamiento para decodificar datos de video de conformidad con MPEG-4 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 establezca en orden inverso al establecimiento descrito anteriormente.
Adicionalmente, el método para establecer la frecuencia impulsora no está limitado al método para establecer 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 establezca 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, MPEG-4 AVC y VC-1, es posible que el voltaje que se aplica al LSI ex500 o el aparato que incluye el LSI ex500 se establezca 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, MPEG-4 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. 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, es posible que 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 establezca 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, MPEG-4 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 7 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 respecto al 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, MPEG-4 AVC y VC-1 se comparten parcialmente. Ex900 en la FIGURA 46A muestra un ejemplo de la configuración. 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 MPEG-4 AVC tienen, parcialmente en común, los detalles del procesamiento, tal como la codificación entrópica, cuantificacion inversa, filtración 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 MPEG-4 AVC. En contraste, es posible que una unidad de procesamiento de decodificación especializada ex901 se utilice para otro procesamiento que es único para un aspecto de la presente invención. 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 MPEG-4 AVC.
Adicionalmente, exlOOO en la FIGURA 46B 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 documento, 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 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 la presente invención son aplicables en cualquiera de los datos multimedia y pueden mejorar la resistencia al error en la codificación y decodificación imágenes en movimiento. 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 la presente invención son útiles como un método de codificación de imágenes en movimiento y un método de decodificación de imágenes en movimiento en el almacenamiento, transmisión, comunicación, y similares utilizando por ejemplo, teléfonos celulares, aparatos de DVD y computadoras personales.
Lista de Signos de Referencia 100, 1000 Aparato de codificación de imágenes en movimiento 101, 1001 Unidad de sustracción 102, 1002 Unidad de transformación ortogonal 103, 1003 Unidad de cuantificacion 104, 302, 1004, 2002 Unidad de cuantificación inversa 105, 303, 1005, 2003 Unidad de transformación ortogonal inversa 106, 304, 1006, 2004 Unidad de adición 107, 305, 1007, 2005 Memoria de bloques 108, 306, 1008, 2006 Memoria de tramas 109, 307, 1009, 2007 Unidad de intrapredicción 110, 308, 1010, 2008 Unidad de interpredicción 111, 309, 1011, 2009 Unidad de control de interpredicción 112, 1012 Unidad de determinación de tipo de imagen 113, 310, 1013, 2010 Conmutador 114, 311, 1014, 2011 Unidad de cálculo de candidatos de predictores de vectores de movimiento 115, 312, 1015, 2012 Memoria colPic 116, 1016 Unidad de codificación de longitud variable 300, 2000 Aparato de decodificación de imágenes en movimiento 301, 2001 Unidad de decodificación de longitud variable Se hace constar que con relación a esta fecha, el mejor método conocido por la solicitante para llevar a la práctica la citada invención, es el que resulta claro de la presente descripción de la invención.

Claims (34)

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 calcular un predictor de vector de movimiento que se utiliza cuando se codifica un vector de movimiento de un bloque actual y se codifica el bloque actual, para generar una corriente de bits, caracterizado porque comprende: obtener candidatos de predictores de vectores de movimiento de los cuales el número fijo es dos o más y cada uno de los cuales es un candidato para el predictor de vector de movimiento ; seleccionar el predictor de vector de movimiento que se utiliza para codificar el vector de movimiento del bloque actual, de entre los candidatos de predictores de vectores de movimiento de los cuales el número fijo es dos o más,- y codificar un índice para identificar el predictor de vector de movimiento seleccionado de acuerdo con el número fijo de dos o más, y agregar el índice codificado a la corriente de bits, en donde los candidatos de predictores de vectores de movimiento de los cuales el número fijo es dos o más incluyen una pluralidad de candidatos cada uno que tiene un valor fijo, predeterminado.
2. El método de codificación de imágenes en movimiento de conformidad con la reivindicación 1, caracterizado porque los candidatos de predictores de vectores de movimiento de los cuales el número fijo es dos o más incluyen además por lo menos uno de uno o más primeros candidatos y uno o más nuevos candidatos, uno o más de los primeros candidatos son candidatos cada uno deducido con base en un vector de movimiento utilizado para codificar un bloque adyacente espacialmente o adyacente temporalmente al bloque actual y uno o más de los nuevos candidatos son candidatos cada uno deducido con base en un vector de movimiento utilizado para codificar un bloque diferente del bloque adyacente o cada uno que tiene un vector fijo, predeterminado como un vector de movimiento.
3. El método de codificación de imágenes en movimiento de conformidad con la reivindicación 2, caracterizado porque la obtención de los candidatos de predictores de vectores de movimiento incluye: realizar un primer procesamiento de deducción para deducir uno o más de los primeros candidatos, y establecer, si uno o más de los primeros candidatos se deducen, cada uno de uno o más de los primeros candidatos deducidos como uno de los candidatos de predictores de vectores de movimiento de los cuales el número fijo es dos o más; realizar un segundo procesamiento de deducción para deducir uno o más de los nuevos candidatos si el número total de uno o más de los primeros candidatos es más pequeño que el número fijo de dos o más, y establecer, si uno o más de los nuevos candidatos se deducen, cada uno de uno o más de los nuevos candidatos deducidos como uno de los candidatos de predictores de vectores de movimiento de los cuales el número fijo es dos o más; y establecer, si la suma del número total de uno o más primeros candidatos y el número total de uno o más de los nuevos candidatos es más pequeña que el número fijo de dos o más, por lo menos uno de la pluralidad de candidatos cada uno que tiene el valor fijo, predeterminado como uno de los candidatos de predictores de vectores de movimiento de los cuales el número fijo es dos o más, para hacer que la suma del número total de uno o más primeros candidatos, el número total de la pluralidad de candidatos cada uno que tiene el valor fijo, predeterminado y el número total de nuevos candidatos sea igual al número fijo de dos o más.
4. El método de codificación de imágenes en movimiento de conformidad con la reivindicación 3, caracterizado porque en el segundo procesamiento de deducción, uno o más candidatos se seleccionan de acuerdo con un orden de prioridad predeterminado de entre una pluralidad de diferentes candidatos preparados previamente, para deducir uno o más de los nuevos candidatos.
5. El método de codificación de imágenes en movimiento de conformidad con la reivindicación 2, caracterizado porque la obtención de los candidatos de predictores de vectores de movimiento incluye: establecer la pluralidad de candidatos cada uno que tiene el valor fijo predeterminado como la totalidad de los candidatos de predictores de vectores de movimiento de los cuales el número fijo es dos o más, para inicializar los candidatos de predictores de vectores de movimiento de los cuales el número fijo es dos o más; realizar un primer procesamiento de deducción para deducir uno o más de los primeros candidatos y actualizar los candidatos de predictores de vectores de movimiento de los cuales el número fijo es dos o más si uno o más de los primeros candidatos se deducen, para causar que los candidatos de predictores de vectores de movimiento incluyan uno o más de los primeros candidatos deducidos; y realizar un segundo procesamiento de deducción para deducir uno o más de los nuevos candidatos si el número total de uno o más de los primeros candidatos es más pequeño que el número fijo de dos o más y actualizar los candidatos de predictores de vectores de movimiento de los cuales el número fijo es dos o más si uno o más de los nuevos candidatos se deducen, para causar que los candidatos de predictores de vectores de movimiento incluyan uno o más de los nuevos candidatos deducidos.
6. Un método de decodificación de imágenes en movimiento para calcular un predictor de vector de movimiento que se utiliza cuando se decodifica un vector de movimiento de un bloque actual incluido en una corriente de bits y se decodifica el bloque actual, caracterizado porque comprende: obtener candidatos de predictores de vectores de movimiento de los cuales el número fijo es dos o más y cada uno de los cuales es un candidato para el predictor de vector de movimiento; decodificar, de acuerdo con el número fijo de dos o más, un índice para identificar el candidato de predictor de vector de movimiento de entre los candidatos de predictores de vectores de movimiento de los cuales el número fijo es dos o más, el índice se codifica y se agrega a la corriente de bits; y seleccionar, con base en el índice decodificado, el predictor de vector de movimiento que se utiliza para decodificar el bloque actual de entre los candidatos de predictores de vectores de movimiento de los cuales el número fijo es dos o más, en donde los candidatos de predictores de vectores de movimiento de los cuales el número fijo es dos o más incluyen una pluralidad de candidatos cada uno que tiene un valor fijo, predeterminado.
7. El método de decodificación de imágenes en movimiento de conformidad con la reivindicación 6, caracterizado porque los candidatos de predictores de vectores de movimiento de los cuales el número fijo es dos o más incluyen además por lo menos uno de uno o más primeros candidatos y uno o más nuevos candidatos, uno o más de los primeros candidatos son candidatos cada uno deducido con base en un vector de movimiento utilizado para codificar un bloque adyacente espacialmente o adyacente temporalmente al bloque actual y uno o más de los nuevos candidatos son candidatos cada uno deducido con base en un vector de movimiento utilizado para codificar un bloque diferente del bloque adyacente o cada uno que tiene un vector fijo, predeterminado como un vector de movimiento.
8. El método de decodificación de imágenes en movimiento de conformidad con la reivindicación 7, caracterizado porque la obtención de los candidatos de predictores de vectores de movimiento incluye: realizar un primer procesamiento de deducción para deducir uno o más de los primeros candidatos, y establecer, si uno o más de los primeros candidatos se deducen, cada uno de uno o más de los primeros candidatos deducidos como uno de los candidatos de predictores de vectores de movimiento de los cuales el número fijo es dos o más; realizar un segundo procesamiento de deducción para deducir uno o más de los nuevos candidatos si el número total de uno o más de los primeros candidatos es más pequeño que el número fijo de dos o más, y establecer, si uno o más de los nuevos candidatos se deducen, cada uno de uno o más de los nuevos candidatos deducidos como uno de los candidatos de predictores de vectores de movimiento de los cuales el número fijo es dos o más; y establecer, si la suma del número total de uno o más de los primeros candidatos y el número total de uno o más de los nuevos candidatos es más pequeño que el número fijo de dos o más, por lo menos uno de la pluralidad de los candidatos cada uno que tiene el valor fijo, predeterminado como uno de los candidatos de predictores de vectores de movimiento de los cuales el número fijo es dos o más, para hacer que la suma del número total de uno o más de los primeros candidatos, el número total de la pluralidad de candidatos cada uno que tiene el valor fijo, predeterminado y el número total de uno o más nuevos candidatos sea igual al número fijo de dos o más.
9. El método de decodificación de imágenes en movimiento de conformidad con la reivindicación 8, caracterizado porque en el segundo procesamiento de deducción, uno o más candidatos se seleccionan de acuerdo con un orden de prioridad predeterminado de entre una pluralidad de diferentes candidatos preparados previamente, para deducir uno o más de los nuevos candidatos.
10. El método de decodificación de imágenes en movimiento de conformidad con la reivindicación 7, caracterizado porque la obtención de los candidatos de predictores de vectores de movimiento incluye: establecer la pluralidad de candidatos cada uno que tiene el valor fijo predeterminado como todos los candidatos de predictores de vectores de movimiento de los cuales el número fijo es dos o más, para inicializar los candidatos de predictores de vectores de movimiento de los cuales el número fijo es dos o más; realizar un primer procesamiento de deducción para deducir uno o más de los primeros candidatos y actualizar los candidatos de predictores de vectores de movimiento de los cuales el número fijo es dos o más si uno o más de los primeros candidatos se deducen, para causar que los candidatos de predictores de vectores de movimiento incluyan uno o más de los primeros candidatos deducidos; y realizar un segundo procesamiento de deducción para deducir uno o más de los nuevos candidatos si el número total de uno o más de los primeros candidatos es más pequeño que el número fijo de dos o más y actualizar los candidatos de predictores de vectores de movimiento de los cuales el número fijo es dos o más si uno o más de los nuevos candidatos se deducen, para causar que los candidatos de predictores de vectores de movimiento incluyan uno o más de los nuevos candidatos deducidos.
11. Un aparato de codificación de imágenes en movimiento para calcular un predictor de vector de movimiento que se utiliza cuando se codifica un vector de movimiento de un bloque actual y se codifica el bloque actual para generar una corriente de bits, caracterizado porque comprende: una unidad de obtención de candidatos de predictores de vectores de movimiento que está configurada para obtener candidatos de predictores de vectores de movimiento de los cuales el número fijo es dos o más y cada uno de los cuales es un candidato para el predictor de vector de movimiento; una unidad de selección configurada para seleccionar el predictor de vector de movimiento que se utiliza para codificar el vector de movimiento del bloque actual, de entre los candidatos de predictores de vectores de movimiento de los cuales el número fijo es dos o más; y una unidad de codificación configurada para codificar un índice para identificar el predictor de vector de movimiento seleccionado de acuerdo con el número fijo de dos o más, y agregar el índice codificado a la corriente de bits , en donde los candidatos de predictores de vectores de movimiento de los cuales el número fijo es dos o más incluyen una pluralidad de candidatos cada uno que tiene un valor fijo, predeterminado.
12. Un aparato de decodificación de imágenes en movimiento para calcular un predictor de vector de movimiento que se utiliza cuando se decodifica un vector de movimiento de un bloque actual incluido en una corriente de bits, y se decodifica el bloque actual, caracterizado porque comprende: una unidad de obtención de candidatos de predictores de vectores de movimiento configurada para obtener candidatos de predictores de vectores de movimiento de los cuales el número fijo es dos o más y cada uno de los cuales es un candidato para el predictor de vector de movimiento; una unidad de decodificación configurada para decodificar, de acuerdo con el número fijo de dos o más, un índice para identificar el candidato de predictor de vector de movimiento de entre los candidatos de predictores de vectores de movimiento de los cuales el número fijo es dos o más, el índice se codifica y se agrega a la corriente de bits; y una unidad de selección configurada para seleccionar, con base en el índice decodificado, el predictor de vector de movimiento que se utiliza para decodificar el bloque actual de entre los candidatos de predictores de vectores de movimiento de los cuales el número fijo es dos o más, en donde los candidatos de predictores de vectores de movimiento de los cuales el número fijo es dos o más incluyen una pluralidad de candidatos cada uno que tiene un valor fijo, predeterminado.
13. Un aparato de codificación y decodificación de imágenes en movimiento, caracterizado porque comprende: el aparato de codificación de imágenes en movimiento de conformidad con la reivindicación 11; y el aparato de decodificación de imágenes en movimiento de conformidad con la reivindicación 12.
14. Un método de codificación de imágenes en movimiento para codificar un bloque actual, caracterizado porque comprende : generar una segunda lista de candidatos que incluye una pluralidad de candidatos, la pluralidad de candidatos incluye un primer candidato y un segundo candidato, el primer candidato tiene un primer predictor de vector de movimiento que es un primer vector cero, el segundo candidato tiene un segundo predictor de vector de movimiento que es un segundo vector cero; y codificar un índice que corresponde a un candidato que tiene un predictor de vector de movimiento, el candidato es uno de la pluralidad de candidatos, en donde una primera lista de candidatos incluye el primer candidato y no incluye el segundo candidato, y en donde, cuando el número total de uno o más candidatos en la primera lista de candidatos es menor que el número máximo de candidatos, el segundo candidato se agrega a la primera lista de candidatos para generar la segunda lista de candidatos .
15. El método de codificación de imágenes en movimiento de conformidad con la reivindicación 14, caracterizado porque el predictor de vector de movimiento se utiliza para codificar un vector de movimiento del bloque actual.
16. El método de codificación de imágenes en movimiento de conformidad con la reivindicación 15, caracterizado porque el vector de movimiento del bloque actual es una suma de una diferencia de vector de movimiento del bloque actual y el predictor de vector de movimiento.
17. Un método de decodificación de imágenes en movimiento para decodificar un bloque actual, caracterizado porque comprende : generar una segunda lista de candidatos que incluye una pluralidad de candidatos, la pluralidad de candidatos incluye un primer candidato y un segundo candidato, el primer candidato tiene un primer predictor de vector de movimiento que es un primer vector cero, el segundo candidato tiene un segundo predictor de vector de movimiento que es un segundo vector cero; y decodificar un índice codificado que corresponde a un candidato que tiene un predictor de vector de movimiento, el candidato es uno de la pluralidad de candidatos, en donde una primera lista de candidatos incluye el primer candidato y no incluye el segundo candidato, y en donde, cuando el número total de uno o más candidatos en la primera lista de candidatos es menor que el número máximo de candidatos, el segundo candidato se agrega a la primera lista de candidatos para generar la segunda lista de candidatos.
18. El método de decodificación de imágenes en movimiento de conformidad con la reivindicación 17, caracterizado porque el predictor de vector de movimiento se utiliza para decodificar un vector de movimiento del bloque actual .
19. El método de decodificación de imágenes en movimiento de conformidad con la reivindicación 18, caracterizado porque el vector de movimiento del bloque actual es una suma de una diferencia de vector de movimiento del bloque actual y el predictor de vector de movimiento.
20. Un método de deducción de predictores de vectores de movimiento, caracterizado porque comprende: generar una segunda lista de candidatos que incluye una pluralidad de candidatos, la pluralidad de candidatos incluye un primer candidato y un segundo candidato, el primer candidato tiene un primer predictor de vector de movimiento que es un primer vector cero, el segundo candidato tiene un segundo predictor de vector de movimiento que es un segundo vector cero; y deducir un candidato que tiene un predictor de vector de movimiento, el candidato es uno de la pluralidad de candidatos, en donde una primera lista de candidatos incluye el primer candidato y no incluye el segundo candidato, y en donde, cuando el número total de uno o más candidatos en la primera lista de candidatos es menor que el número máximo de candidatos, el segundo candidato se agrega a la primera lista de candidatos para generar la segunda lista de candidatos .
21. El método de deducción de predictores de vectores de movimiento de conformidad con la reivindicación 20, caracterizado porque el predictor de vector de movimiento se utiliza para decodificar un vector de movimiento de un bloque actual .
22. El método de deducción de predictores de vectores de movimiento de conformidad con la reivindicación 21, caracterizado porque el vector de movimiento del bloque actual es una suma de una diferencia de vector de movimiento del bloque actual y el predictor de vector de movimiento.
23. Un aparato de codificación de imágenes en movimiento para codificar un bloque actual, caracterizado porque comprende : un generador configurado para generar una segunda lista de candidatos que incluye una pluralidad de candidatos, la pluralidad de candidatos incluye un primer candidato y un segundo candidato, el primer candidato tiene un primer predictor de vector de movimiento que es un primer vector cero, el segundo candidato tiene un segundo predictor de vector de movimiento que es un segundo vector cero; y un codificador configurado para codificar un índice que corresponde un candidato que tiene un predictor de vector de movimiento, el candidato es uno de la pluralidad de candidatos, en donde una primera lista de candidatos incluye el primer candidato y no incluye el segundo candidato, y en donde, cuando el número total de uno o más candidatos en la primera lista de candidatos es menor que el número máximo de candidatos, el segundo candidato se agrega a la primera lista de candidatos para generar la segunda lista de candidatos.
24. El aparato de codificación de imágenes en movimiento de conformidad con la reivindicación 23, caracterizado porque el predictor de vector de movimiento se utiliza para codificar un vector de movimiento del bloque actual.
25. El aparato de codificación de imágenes en movimiento de conformidad con la reivindicación 24, caracterizado porque el vector de movimiento del bloque actual es una suma de una diferencia de vector de movimiento del bloque actual y el predictor de vector de movimiento.
26. Un aparato de decodificación de imágenes en movimiento para decodificar un bloque actual, caracterizado porque comprende : un generador configurado para generar una segunda lista de candidatos que incluye una pluralidad de candidatos, la pluralidad de candidatos incluye un primer candidato y un segundo candidato, el primer candidato tiene un primer predictor de vector de movimiento que es un primer vector cero, el segundo candidato tiene un segundo predictor de vector de movimiento que es un segundo vector cero; y un decodificador configurado para decodificar un índice codificado que corresponde a un candidato que tiene un predictor de vector de movimiento, el candidato es uno de la pluralidad de candidatos, en donde una primera lista de candidatos incluye el primer candidato y no incluye el segundo candidato, y en donde, cuando el número total de uno o más candidatos en la primera lista de candidatos es menor que el número máximo de candidatos, el segundo candidato se agrega a la primera lista de candidatos para generar la segunda lista de candidatos .
27. El aparato de decodificación de imágenes en movimiento de conformidad con la reivindicación 26, caracterizado porque el predictor de vector de movimiento se utiliza para decodificar un vector de movimiento del bloque actual .
28. El aparato de decodificación de imágenes en movimiento de conformidad con la reivindicación 27, 'caracterizado porque el vector de movimiento del bloque actual es una suma de una diferencia de vector de movimiento del bloque actual y el predictor de vector de movimiento.
29. Un aparato de deducción de predictores de vectores de movimiento, caracterizado porque comprende: un generador configurado para generar una segunda lista de candidatos que incluye una pluralidad de candidatos, la pluralidad de candidatos incluye un primer candidato y un segundo candidato, el primer candidato tiene un primer predictor de vector de movimiento que es un primer vector cero, el segundo candidato tiene un segundo predictor de vector de movimiento que es un segundo vector cero; y un deductor configurado para deducir un candidato que tiene un predictor de vector de movimiento, el candidato es uno de la pluralidad de candidatos, en donde una primera lista de candidatos incluye el primer candidato y no incluye el segundo candidato, y en donde, cuando el número total de uno o más candidatos en la primera lista de candidatos es menor que el número máximo de candidatos, el segundo candidato se agrega a la primera lista de candidatos para generar la segunda lista de candidatos .
30. El aparato de deducción de predictores de vectores de movimiento de conformidad con la reivindicación 29, caracterizado porque el predictor de vector de movimiento se utiliza para decodificar un vector de movimiento de un bloque actual.
31. El aparato de deducción de vectores de movimiento de conformidad con la reivindicación 30, caracterizado porque el vector de movimiento del bloque actual es una suma de una diferencia de vector de movimiento del bloque actual y el predictor de vector de movimiento.
32. Un circuito integrado, caracterizado porque comprende : un generador configurado para generar una segunda lista de candidatos que incluye una pluralidad de candidatos, la pluralidad de candidatos incluye un primer candidato y un segundo candidato, el primer candidato tiene un primer predictor de vector de movimiento que es un primer vector cero, el segundo candidato tiene un segundo predictor de vector de movimiento que es un segundo vector cero; y un decodificador configurado para decodificar un índice codificado que corresponde a un candidato que tiene un predictor de vector de movimiento, el candidato es uno de la pluralidad de candidatos, en donde una primera lista de candidatos incluye el primer candidato y no incluye el segundo candidato, y en donde, cuando el número total de uno o más candidatos en la primera lista de candidatos es menor que el número máximo de candidatos, el segundo candidato se agrega a la primera lista de candidatos para generar la segunda lista de candidatos.
33. El circuito integrado de conformidad con la reivindicación 32, caracterizado porque el predictor de vector de movimiento se utiliza para decodificar un vector de movimiento de un bloque actual.
34. El circuito integrado de conformidad con la reivindicación 33, caracterizado porque el vector de movimiento del bloque actual es una suma de una diferencia de vector de movimiento del bloque actual y el predictor de vector de movimiento.
MX2014000874A 2011-08-03 2012-08-02 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. MX341415B (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201161514643P 2011-08-03 2011-08-03
PCT/JP2012/004924 WO2013018369A1 (ja) 2011-08-03 2012-08-02 動画像符号化方法、動画像符号化装置、動画像復号化方法、動画像復号化装置、および、動画像符号化復号化装置

Publications (2)

Publication Number Publication Date
MX2014000874A true MX2014000874A (es) 2014-02-20
MX341415B MX341415B (es) 2016-08-19

Family

ID=47626939

Family Applications (2)

Application Number Title Priority Date Filing Date
MX2016009861A MX347793B (es) 2011-08-03 2012-08-02 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.
MX2014000874A MX341415B (es) 2011-08-03 2012-08-02 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.

Family Applications Before (1)

Application Number Title Priority Date Filing Date
MX2016009861A MX347793B (es) 2011-08-03 2012-08-02 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.

Country Status (11)

Country Link
US (7) US9456214B2 (es)
EP (2) EP3487178A1 (es)
JP (3) JPWO2013018369A1 (es)
KR (1) KR101888226B1 (es)
CN (1) CN103718558B (es)
AU (1) AU2012291454B2 (es)
CA (1) CA2843560C (es)
IN (1) IN2014CN00729A (es)
MX (2) MX347793B (es)
TW (2) TWI554085B (es)
WO (1) WO2013018369A1 (es)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11350085B2 (en) 2017-06-26 2022-05-31 Panasonic Intellectual Property Corporation Of America Encoder, decoder, encoding method, and decoding method

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2719308C2 (ru) 2011-04-12 2020-04-17 Сан Пэтент Траст Способ кодирования движущихся изображений, устройство кодирования движущихся изображений, способ декодирования движущихся изображений, устройство декодирования движущихся изображений и устройство кодирования и декодирования движущихся изображений
CA2836063C (en) 2011-06-30 2020-06-16 Panasonic Corporation Image encoding and decoding method and device for generating predictor sets in high-efficiency video coding
WO2013021619A1 (ja) 2011-08-11 2013-02-14 パナソニック株式会社 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置、及び、画像符号化復号装置
US9083983B2 (en) * 2011-10-04 2015-07-14 Qualcomm Incorporated Motion vector predictor candidate clipping removal for video coding
MX2014003991A (es) 2011-10-19 2014-05-07 Panasonic Corp Metodo de codificacion de imagenes, aparato de codificacion de imagenes, metodo de decodificacion de imagenes y aparato de decodificacion de imagenes.
EP3796651A1 (en) 2012-05-09 2021-03-24 Sun Patent Trust Method of performing motion vector prediction, encoding and decoding methods, and apparatuses thereof
CN107113446A (zh) * 2014-12-09 2017-08-29 联发科技股份有限公司 视频编码中的运动矢量预测子或合并候选的推导方法
CN114222137B (zh) 2016-05-28 2025-04-01 皇家飞利浦有限公司 构成预测运动矢量列表的方法
US11736712B2 (en) 2016-05-28 2023-08-22 Industry Academy Cooperation Foundation Of Sejong University Method and apparatus for encoding or decoding video signal
KR102345458B1 (ko) * 2016-05-28 2021-12-31 세종대학교산학협력단 예측 모션 벡터 리스트를 구성하는 방법 및 이의 장치
US11265569B2 (en) * 2017-11-09 2022-03-01 Samsung Electronics Co., Ltd. Apparatus and method for encoding motion information, and decoding apparatus and method
CN109963155B (zh) * 2017-12-23 2023-06-06 华为技术有限公司 图像块的运动信息的预测方法、装置及编解码器
CN119052476A (zh) * 2018-01-30 2024-11-29 松下电器(美国)知识产权公司 编码装置、解码装置和非暂时性的计算机可读介质
CN119052508A (zh) * 2018-01-30 2024-11-29 夏普株式会社 导出块的运动向量信息的方法、以及用于导出块的运动向量信息的设备
US11146796B2 (en) * 2018-04-06 2021-10-12 Arris Enterprises Llc Reducing motion vector information transmission in bi-directional temporal prediction
GB2589487B (en) 2018-06-29 2023-02-08 Beijing Bytedance Network Tech Co Ltd Checking order of motion candidates in LUT
MX392418B (es) 2018-06-29 2025-03-24 Beijing Bytedance Network Tech Co Ltd Poda parcial/total cuando se añade un candidato a hmvp para fusión/amvp.
CN110662052B (zh) 2018-06-29 2022-07-08 北京字节跳动网络技术有限公司 更新查找表(lut)的条件
CN114845108B (zh) 2018-06-29 2025-08-12 抖音视界(北京)有限公司 查找表的更新:fifo、约束的fifo
TWI719525B (zh) 2018-06-29 2021-02-21 大陸商北京字節跳動網絡技術有限公司 Lut與amvp之間的交互
JP7137008B2 (ja) 2018-06-29 2022-09-13 北京字節跳動網絡技術有限公司 1つまたは複数のルックアップテーブルを使用して、以前コーディングされた動き情報を順に記憶させてそれらを後続のブロックのコーディングに使用する概念
EP4300973A3 (en) * 2018-06-29 2024-06-19 Beijing Bytedance Network Technology Co., Ltd. Which lut to be updated or no updating
TWI728390B (zh) 2018-06-29 2021-05-21 大陸商北京字節跳動網絡技術有限公司 查找表尺寸
TWI748202B (zh) 2018-07-02 2021-12-01 大陸商北京字節跳動網絡技術有限公司 Lamvr中取整和修剪的順序
TWI863924B (zh) 2018-09-12 2024-12-01 大陸商北京字節跳動網絡技術有限公司 要檢查多少個hmvp候選
GB2579763B (en) 2018-09-21 2021-06-09 Canon Kk Video coding and decoding
GB2577318B (en) 2018-09-21 2021-03-10 Canon Kk Video coding and decoding
GB2595054B (en) 2018-10-18 2022-07-06 Canon Kk Video coding and decoding
GB2595053B (en) 2018-10-18 2022-07-06 Canon Kk Video coding and decoding
JP7275286B2 (ja) 2019-01-10 2023-05-17 北京字節跳動網絡技術有限公司 Lut更新の起動
CN113383554B (zh) 2019-01-13 2022-12-16 北京字节跳动网络技术有限公司 LUT和共享Merge列表之间的交互
CN113302937B (zh) 2019-01-16 2024-08-02 北京字节跳动网络技术有限公司 运动候选推导
CN113615193B (zh) 2019-03-22 2024-06-25 北京字节跳动网络技术有限公司 Merge列表构建和其他工具之间的交互
SG11202111760SA (en) * 2019-04-25 2021-11-29 Op Solutions Llc Signaling of global motion vector in picture header
JP2021087967A (ja) * 2019-12-03 2021-06-10 株式会社ディスコ レーザー加工装置の調整方法

Family Cites Families (151)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3883701T2 (de) 1987-10-30 1994-02-10 Nippon Telegraph & Telephone Verfahren und Vorrichtung für multiplexierte Vektorquantifizierung.
FR2725577B1 (fr) 1994-10-10 1996-11-29 Thomson Consumer Electronics Procede de codage ou de decodage de vecteurs mouvement et dispositif de codage ou de decodage mettant en oeuvre ledit procede
US5995080A (en) 1996-06-21 1999-11-30 Digital Equipment Corporation Method and apparatus for interleaving and de-interleaving YUV pixel data
JP3263807B2 (ja) 1996-09-09 2002-03-11 ソニー株式会社 画像符号化装置および画像符号化方法
US6148026A (en) 1997-01-08 2000-11-14 At&T Corp. Mesh node coding to enable object based functionalities within a motion compensated transform video coder
JPH10224800A (ja) 1997-02-07 1998-08-21 Matsushita Electric Ind Co Ltd 動きベクトル符号化方法および復号化方法
US6043838A (en) 1997-11-07 2000-03-28 General Instrument Corporation View offset estimation for stereoscopic video coding
JP4004653B2 (ja) 1998-08-03 2007-11-07 カスタム・テクノロジー株式会社 動きベクトル検出方法および装置、記録媒体
US6192148B1 (en) 1998-11-05 2001-02-20 Winbond Electronics Corp. Method for determining to skip macroblocks in encoding video
US6192080B1 (en) 1998-12-04 2001-02-20 Mitsubishi Electric Research Laboratories, Inc. Motion compensated digital video signal processing
US6594313B1 (en) 1998-12-23 2003-07-15 Intel Corporation Increased video playback framerate in low bit-rate video applications
JP4487374B2 (ja) 1999-06-01 2010-06-23 ソニー株式会社 符号化装置及び符号化方法並びに多重化装置及び多重化方法
US6842483B1 (en) 2000-09-11 2005-01-11 The Hong Kong University Of Science And Technology Device, method and digital video encoder for block-matching motion estimation
JP2002152750A (ja) * 2000-11-10 2002-05-24 Matsushita Electric Ind Co Ltd 動きベクトル検出方法および装置
WO2003041415A1 (en) 2001-11-06 2003-05-15 Matsushita Electric Industrial Co., Ltd. Moving picture coding method and moving picture decoding method
JP4015934B2 (ja) 2002-04-18 2007-11-28 株式会社東芝 動画像符号化方法及び装置
JP2004088722A (ja) 2002-03-04 2004-03-18 Matsushita Electric Ind Co Ltd 動画像符号化方法および動画像復号化方法
TWI259726B (en) 2002-04-19 2006-08-01 Matsushita Electric Industrial Co Ltd Motion vector derivation method
ES2644005T3 (es) 2002-04-19 2017-11-27 Panasonic Intellectual Property Corporation Of America Procedimiento de cálculo de vectores de movimiento
AU2003235174A1 (en) 2002-04-19 2003-11-03 Matsushita Electric Industrial Co., Ltd Method for calculating motion vector
US20040001546A1 (en) 2002-06-03 2004-01-01 Alexandros Tourapis Spatiotemporal prediction for bidirectionally predictive (B) pictures and motion vector prediction for multi-picture reference motion compensation
WO2004006586A1 (ja) 2002-07-02 2004-01-15 Matsushita Electric Industrial Co., Ltd. 画像符号化方法および画像復号化方法
US8406301B2 (en) 2002-07-15 2013-03-26 Thomson Licensing Adaptive weighting of reference pictures in video encoding
CN100358366C (zh) 2002-07-11 2007-12-26 松下电器产业株式会社 滤波强度的决定方法、动态图像编码方法及解码方法
CN101039424B (zh) 2002-07-15 2010-05-26 株式会社日立制作所 动态图像编码方法
US7154952B2 (en) 2002-07-19 2006-12-26 Microsoft Corporation Timestamp-independent motion vector prediction for predictive (P) and bidirectionally predictive (B) pictures
US7023921B2 (en) 2002-08-06 2006-04-04 Motorola, Inc. Method and apparatus for determining block match quality
EP2302931A3 (en) 2002-08-08 2011-12-07 Panasonic Corporation Moving picture encoding method and decoding method
KR100506864B1 (ko) 2002-10-04 2005-08-05 엘지전자 주식회사 모션벡터 결정방법
KR100967237B1 (ko) 2002-11-01 2010-06-30 파나소닉 주식회사 동화상 부호화 방법 및 동화상 복호화 방법
BR0307197A (pt) 2002-11-25 2005-08-23 Matsushita Electric Industrial Co Ltd Método de compensação de movimento, método de codificação de imagem e método de decodificação de imagem
AU2004214313B2 (en) 2003-02-18 2010-05-20 Nokia Technologies Oy Picture coding method
KR100693669B1 (ko) 2003-03-03 2007-03-09 엘지전자 주식회사 피일드 매크로 블록의 레퍼런스 픽쳐 결정 방법
US7266147B2 (en) 2003-03-31 2007-09-04 Sharp Laboratories Of America, Inc. Hypothetical reference decoder
BRPI0412539A (pt) 2003-07-15 2006-09-19 Thomson Licensing estimativa de movimento com comparação de blocos de busca rápida
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 삼성전자주식회사 블럭 간의 상관성을 고려한 움직임 추정 장치 및 방법
KR20060060000A (ko) 2003-08-05 2006-06-02 코닌클리케 필립스 일렉트로닉스 엔.브이. 비디오 엔코딩 및 디코딩 방법들 및 장치들
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 中国科学院计算技术研究所 一种用于视频编码的编码端/解码端双向预测方法
FR2860678A1 (fr) 2003-10-01 2005-04-08 Thomson Licensing Sa Procede de codage differentiel
GB2407006A (en) * 2003-10-08 2005-04-13 Sony Uk Ltd Communicating streamed payload data and packet based auxiliary data
JP3675464B2 (ja) 2003-10-29 2005-07-27 ソニー株式会社 動画像符号化装置および動画像符号化制御方法
TWI330976B (en) 2003-12-05 2010-09-21 Trident Microsystems Far East Method and apparatus for encoding/decoding dynamic graphic content
US7301482B1 (en) 2003-12-12 2007-11-27 Marvell International Ltd. Circuits, architectures, systems, methods, algorithms and software for conditional modulation coding
JP2005184042A (ja) 2003-12-15 2005-07-07 Sony Corp 画像復号装置及び画像復号方法並びに画像復号プログラム
US8190003B2 (en) 2004-01-14 2012-05-29 Samsung Electronics Co., Ltd. Storage medium storing interactive graphics stream activated in response to user's command, and reproducing apparatus for reproducing from the same
KR100608050B1 (ko) 2004-01-14 2006-08-02 삼성전자주식회사 사용자의 요구에 의해 활성화되는 인터랙티브 그래픽스트림을 저장한 저장 매체, 재생 장치 및 그 재생 방법
EP1583367A1 (en) 2004-03-30 2005-10-05 Matsushita Electric Industrial Co., Ltd. Motion estimation employing line and column vectors
EP1592258B1 (en) 2004-04-30 2011-01-12 Panasonic Corporation Motion estimation employing adaptive spatial update vectors
JP4145275B2 (ja) 2004-07-27 2008-09-03 富士通株式会社 動きベクトル検出・補償装置
TWI250423B (en) 2004-07-30 2006-03-01 Ind Tech Res Inst Method for processing video images
TWI268715B (en) 2004-08-16 2006-12-11 Nippon Telegraph & Telephone Picture encoding method, picture decoding method, picture encoding apparatus, and picture decoding apparatus
EP1638333A1 (en) 2004-09-17 2006-03-22 Mitsubishi Electric Information Technology Centre Europe B.V. Rate adaptive video coding
JP4375305B2 (ja) 2004-10-26 2009-12-02 ソニー株式会社 情報処理装置および情報処理方法、記録媒体、並びに、プログラム
JP4148228B2 (ja) 2005-02-10 2008-09-10 ソニー株式会社 画像記録装置、画像再生制御装置、画像記録再生制御装置、これらの装置の処理方法およびその方法をコンピュータに実行させるプログラム
US7660354B2 (en) 2005-05-11 2010-02-09 Fang Shi Temporal error concealment for bi-directionally predicted frames
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
US9661376B2 (en) * 2005-07-13 2017-05-23 Polycom, Inc. Video error concealment method
EP1753242A2 (en) 2005-07-18 2007-02-14 Matsushita Electric Industrial Co., Ltd. Switchable mode and prediction information coding
US7697783B2 (en) 2005-07-26 2010-04-13 Sony Corporation Coding device, coding method, decoding device, decoding method, and programs of same
US20070025444A1 (en) 2005-07-28 2007-02-01 Shigeyuki Okada Coding Method
JP4401336B2 (ja) 2005-08-31 2010-01-20 三洋電機株式会社 符号化方法
JP2008011455A (ja) 2006-06-30 2008-01-17 Sanyo Electric Co Ltd 符号化方法
JP4570532B2 (ja) 2005-08-02 2010-10-27 パナソニック株式会社 動き検出装置、動き検出方法、集積回路およびプログラム
US20070030894A1 (en) 2005-08-03 2007-02-08 Nokia Corporation Method, device, and module for improved encoding mode control in video encoding
JP2007142637A (ja) 2005-11-16 2007-06-07 Matsushita Electric Ind Co Ltd 画像情報符号化装置
US8498336B2 (en) 2006-02-02 2013-07-30 Thomson Licensing Method and apparatus for adaptive weight selection for motion compensated prediction
CN101379835B (zh) 2006-02-02 2011-08-24 汤姆逊许可公司 使用组合参考双向预测进行运动估计的方法和设备
US20070200949A1 (en) 2006-02-21 2007-08-30 Qualcomm Incorporated Rapid tuning in multimedia applications
JP4757080B2 (ja) 2006-04-03 2011-08-24 パナソニック株式会社 動き検出装置、動き検出方法、動き検出集積回路および画像符号化装置
US7672377B2 (en) 2006-04-21 2010-03-02 Dilithium Holdings, Inc. Method and system for video encoding and transcoding
CN101090491B (zh) 2006-06-16 2016-05-18 香港科技大学 用于视频压缩的增强的基于块的运动估计算法
KR20070120416A (ko) 2006-06-19 2007-12-24 엘지전자 주식회사 비디오 신호 디코딩 방법 및 장치, 비디오 신호 인코딩방법 및 장치
WO2007148906A1 (en) 2006-06-19 2007-12-27 Lg Electronics, Inc. Method and apparatus for processing a vedeo signal
US8250618B2 (en) 2006-09-18 2012-08-21 Elemental Technologies, Inc. Real-time network adaptive digital video encoding/decoding
DE102006043707A1 (de) 2006-09-18 2008-03-27 Robert Bosch Gmbh Verfahren zur Datenkompression in einer Videosequenz
US8213509B2 (en) 2006-10-06 2012-07-03 Calos Fund Limited Liability Company Video coding on parallel processing systems
US8599926B2 (en) 2006-10-12 2013-12-03 Qualcomm Incorporated Combined run-length coding of refinement and significant coefficients in scalable video coding enhancement layers
US9319700B2 (en) 2006-10-12 2016-04-19 Qualcomm Incorporated Refinement coefficient coding based on history of corresponding transform coefficient values
US8325819B2 (en) 2006-10-12 2012-12-04 Qualcomm Incorporated Variable length coding table selection based on video block type for refinement coefficient coding
US8565314B2 (en) 2006-10-12 2013-10-22 Qualcomm Incorporated Variable length coding table selection based on block type statistics for refinement coefficient coding
US8355438B2 (en) 2006-10-30 2013-01-15 Nippon Telegraph And Telephone Corporation Predicted reference information generating method, video encoding and decoding methods, apparatuses therefor, programs therefor, and storage media which store the programs
JP2008199587A (ja) 2007-01-18 2008-08-28 Matsushita Electric Ind Co Ltd 画像符号化装置、画像復号化装置および方法
JP5025286B2 (ja) 2007-02-28 2012-09-12 シャープ株式会社 符号化装置及び復号装置
TW200845758A (en) 2007-05-03 2008-11-16 Nat Univ Chung Cheng Fast intra coding algorithms for dynamic definition adjustment
KR101403341B1 (ko) 2007-03-28 2014-06-09 삼성전자주식회사 영상의 부호화, 복호화 방법 및 장치
WO2008127597A2 (en) 2007-04-12 2008-10-23 Thomson Licensing Method and apparatus for context dependent merging for skip-direct modes for video encoding and decoding
CN101663899A (zh) 2007-04-26 2010-03-03 松下电器产业株式会社 运动检测装置、运动检测方法、以及运动检测程序
JP2008283490A (ja) 2007-05-10 2008-11-20 Ntt Docomo Inc 動画像符号化装置、方法及びプログラム、並びに動画像復号化装置、方法及びプログラム
US9516340B2 (en) 2007-06-12 2016-12-06 Thomson Licensing Methods and apparatus supporting multi-pass video syntax structure for slice data
KR101495886B1 (ko) 2007-07-19 2015-02-26 한국전자통신연구원 하향링크 프레임 생성 방법 및 셀 탐색 방법
KR101835342B1 (ko) 2007-10-16 2018-03-07 엘지전자 주식회사 비디오 신호 처리 방법 및 장치
KR101228020B1 (ko) 2007-12-05 2013-01-30 삼성전자주식회사 사이드 매칭을 이용한 영상의 부호화 방법 및 장치, 그복호화 방법 및 장치
CN101198064A (zh) 2007-12-10 2008-06-11 武汉大学 一种分辨率分层技术中的运动矢量预测方法
KR20090095012A (ko) 2008-03-04 2009-09-09 삼성전자주식회사 연속적인 움직임 추정을 이용한 영상 부호화, 복호화 방법및 장치
JP2009218873A (ja) 2008-03-11 2009-09-24 Nec Personal Products Co Ltd デジタル放送受信機、および、プログラム
ES2812473T3 (es) 2008-03-19 2021-03-17 Nokia Technologies Oy Vector de movimiento combinado y predicción de índice de referencia para la codificación de vídeo
EP2269379B1 (en) 2008-04-11 2019-02-27 InterDigital Madison Patent Holdings Methods and apparatus for template matching prediction (tmp) in video encoding and decoding
US9277244B2 (en) 2008-05-07 2016-03-01 Lg Electronics Inc. Decoding a video signal using intra-prediction mode information
PT104083A (pt) 2008-06-02 2009-12-02 Inst Politecnico De Leiria Método para transcodificar imagens de vídeo h.264/avc em mpeg-2
US20110286513A1 (en) 2009-02-05 2011-11-24 Yunfei Zheng Methods and apparatus for adaptive mode video encoding and decoding
CN102883160B (zh) 2009-06-26 2016-06-29 华为技术有限公司 视频图像运动信息获取方法、装置及设备、模板构造方法
KR101452859B1 (ko) 2009-08-13 2014-10-23 삼성전자주식회사 움직임 벡터를 부호화 및 복호화하는 방법 및 장치
US9060176B2 (en) 2009-10-01 2015-06-16 Ntt Docomo, Inc. Motion vector prediction in video coding
JPWO2011046008A1 (ja) 2009-10-16 2013-03-04 シャープ株式会社 動画像符号化装置、および、動画像復号装置
TWI566586B (zh) 2009-10-20 2017-01-11 湯姆生特許公司 一序列形象的現時區塊之寫碼方法和重建方法
KR101459714B1 (ko) 2009-10-28 2014-11-13 에스케이텔레콤 주식회사 공간 분할을 이용한 움직임 벡터 부호화/복호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
KR101441905B1 (ko) 2009-11-18 2014-09-24 에스케이텔레콤 주식회사 후보 예측 움직임 벡터 집합 선택을 이용한 움직임 벡터 부호화/복호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
WO2011061880A1 (ja) 2009-11-19 2011-05-26 三菱電機株式会社 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法
US9288495B2 (en) 2009-11-24 2016-03-15 Sk Telecom Co., Ltd. Adaptive secondary prediction-based image encoding/decoding method, device and recording medium
WO2011064673A1 (en) 2009-11-30 2011-06-03 France Telecom Method of and apparatus for encoding video frames, method of and apparatus for decoding video frames
CN101860754B (zh) 2009-12-16 2013-11-13 香港应用科技研究院有限公司 运动矢量编码和解码的方法和装置
JP2013514718A (ja) 2009-12-17 2013-04-25 テレフオンアクチーボラゲット エル エム エリクソン(パブル) 映像符号化の方法及び装置
US9036692B2 (en) 2010-01-18 2015-05-19 Mediatek Inc. Motion prediction method
EP2532159A1 (en) 2010-02-05 2012-12-12 Telefonaktiebolaget L M Ericsson (PUBL) Selecting predicted motion vector candidates
WO2011099792A2 (ko) 2010-02-10 2011-08-18 엘지전자 주식회사 비디오 신호의 처리 방법 및 장치
US8995527B2 (en) 2010-02-19 2015-03-31 Qualcomm Incorporated Block type signalling in video coding
US20130003843A1 (en) 2010-03-12 2013-01-03 Mediatek Singapore Pte. Ltd. Motion Prediction Method
CN102210910B (zh) 2010-04-02 2013-02-13 重庆融海超声医学工程研究中心有限公司 一种超声换能器
KR101752418B1 (ko) 2010-04-09 2017-06-29 엘지전자 주식회사 비디오 신호 처리 방법 및 장치
HUE043816T2 (hu) 2010-05-04 2019-09-30 Lg Electronics Inc Eljárás és berendezés videojel feldolgozására
US9124898B2 (en) 2010-07-12 2015-09-01 Mediatek Inc. Method and apparatus of temporal motion vector prediction
FI3907999T3 (fi) 2010-09-02 2023-12-14 Lg Electronics Inc Inter-ennustus
US20120082228A1 (en) * 2010-10-01 2012-04-05 Yeping Su Nested entropy encoding
US10104391B2 (en) 2010-10-01 2018-10-16 Dolby International Ab System for nested entropy encoding
JP2012109720A (ja) 2010-11-16 2012-06-07 Panasonic Corp 画像変換装置、画像再生装置及び画像変換方法
US8824558B2 (en) 2010-11-23 2014-09-02 Mediatek Inc. Method and apparatus of spatial motion vector prediction
US8976873B2 (en) 2010-11-24 2015-03-10 Stmicroelectronics S.R.L. Apparatus and method for performing error concealment of inter-coded video frames
US8711940B2 (en) 2010-11-29 2014-04-29 Mediatek Inc. Method and apparatus of motion vector prediction with extended motion vector predictor
KR101422422B1 (ko) 2010-12-21 2014-07-23 인텔 코오퍼레이션 Dmvd 처리 향상을 위한 시스템 및 방법
US9049455B2 (en) 2010-12-28 2015-06-02 Panasonic Intellectual Property Corporation Of America Image coding method of coding a current picture with prediction using one or both of a first reference picture list including a first current reference picture for a current block and a second reference picture list including a second current reference picture for the current block
ES3027360T3 (en) 2011-01-07 2025-06-13 Lg Electronics Inc Method for encoding and decoding image information and device using same
WO2012095467A1 (en) 2011-01-12 2012-07-19 Canon Kabushiki Kaisha Video encoding and decoding with low complexity
US9319716B2 (en) 2011-01-27 2016-04-19 Qualcomm Incorporated Performing motion vector prediction for video coding
US9066110B2 (en) 2011-03-08 2015-06-23 Texas Instruments Incorporated Parsing friendly and error resilient merge flag coding in video coding
KR101532665B1 (ko) 2011-03-14 2015-07-09 미디어텍 인크. 시간적 움직임 백터 예측을 도출하기 위한 방법 및 장치
US9866859B2 (en) * 2011-06-14 2018-01-09 Texas Instruments Incorporated Inter-prediction candidate index coding independent of inter-prediction candidate list construction in video coding
US9648334B2 (en) 2011-03-21 2017-05-09 Qualcomm Incorporated Bi-predictive merge mode based on uni-predictive neighbors in video coding
US9143795B2 (en) 2011-04-11 2015-09-22 Texas Instruments Incorporated Parallel motion estimation in video coding
RU2719308C2 (ru) 2011-04-12 2020-04-17 Сан Пэтент Траст Способ кодирования движущихся изображений, устройство кодирования движущихся изображений, способ декодирования движущихся изображений, устройство декодирования движущихся изображений и устройство кодирования и декодирования движущихся изображений
ES2673180T3 (es) 2011-05-24 2018-06-20 Velos Media International Limited Procedimiento de codificación de imágenes, aparato de codificación de imágenes, procedimiento de decodificación de imágenes, aparato de decodificación de imágenes y aparato de codificación/decodificación de imágenes
US9485518B2 (en) * 2011-05-27 2016-11-01 Sun Patent Trust Decoding method and apparatus with candidate motion vectors
ES2971526T3 (es) * 2011-05-31 2024-06-05 Sun Patent Trust Procedimiento de descodificación de vídeo, dispositivo de descodificación de vídeo
CN106686378B (zh) 2011-06-14 2019-10-08 三星电子株式会社 对图像进行解码的方法和设备
US9282338B2 (en) 2011-06-20 2016-03-08 Qualcomm Incorporated Unified merge mode and adaptive motion vector prediction mode candidates selection
EP3739884B1 (en) * 2011-06-27 2021-08-04 Samsung Electronics Co., Ltd. Encoding and decoding motion information
KR102004113B1 (ko) 2011-06-30 2019-07-25 가부시키가이샤 제이브이씨 켄우드 화상 부호화 장치, 화상 부호화 방법, 화상 부호화 프로그램, 화상 복호 장치, 화상 복호 방법 및 화상 복호 프로그램
KR102365353B1 (ko) 2011-06-30 2022-02-23 가부시키가이샤 제이브이씨 켄우드 화상 부호화 장치, 화상 부호화 방법, 화상 부호화 프로그램, 화상 복호 장치, 화상 복호 방법 및 화상 복호 프로그램
EP2727366B1 (en) 2011-10-11 2018-10-03 MediaTek Inc. Method and apparatus of motion and disparity vector derivation for 3d video coding and hevc
JP5870047B2 (ja) 2013-01-08 2016-02-24 住友ゴム工業株式会社 空気入りタイヤ

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11350085B2 (en) 2017-06-26 2022-05-31 Panasonic Intellectual Property Corporation Of America Encoder, decoder, encoding method, and decoding method
US11785209B2 (en) 2017-06-26 2023-10-10 Panasonic Intellectual Property Corporation Of America Encoder, decoder, encoding method, and decoding method
US12238278B2 (en) 2017-06-26 2025-02-25 Panasonic Intellectual Property Corporation Of America Encoder, decoder, encoding method, and decoding method

Also Published As

Publication number Publication date
US11553202B2 (en) 2023-01-10
US10284872B2 (en) 2019-05-07
TWI554085B (zh) 2016-10-11
US20190342574A1 (en) 2019-11-07
MX347793B (es) 2017-05-12
US20230105128A1 (en) 2023-04-06
CA2843560C (en) 2020-09-22
EP3487178A1 (en) 2019-05-22
CN103718558B (zh) 2017-04-19
JP6384691B2 (ja) 2018-09-05
CN103718558A (zh) 2014-04-09
JPWO2013018369A1 (ja) 2015-03-05
AU2012291454A1 (en) 2014-02-27
WO2013018369A1 (ja) 2013-02-07
EP2741499A1 (en) 2014-06-11
JP2017208864A (ja) 2017-11-24
KR101888226B1 (ko) 2018-08-13
US11979598B2 (en) 2024-05-07
IN2014CN00729A (es) 2015-04-03
US20240276008A1 (en) 2024-08-15
AU2012291454B2 (en) 2016-11-17
US10440387B2 (en) 2019-10-08
US20130034161A1 (en) 2013-02-07
CA2843560A1 (en) 2013-02-07
US20160345019A1 (en) 2016-11-24
JP6210387B2 (ja) 2017-10-11
JP2015195602A (ja) 2015-11-05
US10129561B2 (en) 2018-11-13
TW201320755A (zh) 2013-05-16
KR20140057252A (ko) 2014-05-12
TWI538483B (zh) 2016-06-11
EP2741499A4 (en) 2014-12-10
US20160241867A1 (en) 2016-08-18
US20190028735A1 (en) 2019-01-24
US9456214B2 (en) 2016-09-27
TW201620302A (zh) 2016-06-01
MX341415B (es) 2016-08-19

Similar Documents

Publication Publication Date Title
AU2012291454B2 (en) Video encoding method, video encoding apparatus, video decoding method, video decoding apparatus, and video encoding/decoding apparatus
AU2016202666B2 (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
AU2018203520B2 (en) Image coding method, image decoding method, image coding apparatus, image decoding apparatus, and image coding and decoding apparatus
AU2012264031B2 (en) Image encoding method, image encoding device, image decoding method, image decoding device, and image encoding/decoding device
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
AU2012329550B2 (en) Image encoding method, image decoding method, image encoding apparatus, and image decoding apparatus
AU2012294053B2 (en) Image coding method, image decoding method, image coding apparatus, image decoding apparatus, and image coding and decoding apparatus
AU2011285474B2 (en) Image coding method, image decoding method, image coding apparatus, and image 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.
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.
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
AU2012277160B2 (en) Image encoding method, image decoding method, image encoding device, image decoding device, and image encoding/decoding device
AU2012333936B9 (en) Image coding method, image coding apparatus, image decoding method and image 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.
AU2013254214B2 (en) Encoding method, decoding method, encoding apparatus, decoding apparatus, and encoding and decoding apparatus
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.
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.
AU2013278760B2 (en) Image coding method, image decoding method, image coding apparatus, image decoding apparatus, and image coding and decoding apparatus
MX2013012132A (es) Metodo de codificacion de imagen, aparato de codificacion de imagen, metodo de decodificacion de imagen, aparato de decodificacion de imagen y aparato de codificacion/decodificacion de imagen.
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.
MX2013014207A (es) Metodo de procesamiento de imagenes y aparato de procesamiento de imagenes.
MX2013001652A (es) Metodo de codificacion de imagen, metodo de decodificacion de imagen, metodo de manejo de memoria, aparato de codificacion de imagen, aparato de decodificacion de imagen, aparato de manejo de memoria, y aparato de codificacion y decodificacion de imagen.
MX2012011165A (es) Metodo de prediccion espacial, metodo de decodificacion de imagenes y metodo de codificacion de imagenes.
MX2012012443A (es) Modo de filtrado para intra-prediccion deducida de estadisticas de bloques circundantes.

Legal Events

Date Code Title Description
GB Transfer or rights

Owner name: PANASONIC INTELLECTUAL PROPERTY CORPORATION OF AME

FG Grant or registration