MX2013012124A - 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
MX2013012124A
MX2013012124A MX2013012124A MX2013012124A MX2013012124A MX 2013012124 A MX2013012124 A MX 2013012124A MX 2013012124 A MX2013012124 A MX 2013012124A MX 2013012124 A MX2013012124 A MX 2013012124A MX 2013012124 A MX2013012124 A MX 2013012124A
Authority
MX
Mexico
Prior art keywords
candidate
vector predictor
motion vector
candidates
predictor
Prior art date
Application number
MX2013012124A
Other languages
English (en)
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 MX2013012124A publication Critical patent/MX2013012124A/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
    • 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/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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
    • 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/56Motion estimation with initialisation of the vector search, e.g. estimating a good candidate to initiate a search
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/65Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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

Landscapes

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

Abstract

Un aparato de codificación de imágenes en movimiento (100) incluye: una unidad de cálculo de candidatos a predictor de vector de movimiento (114) que calcula uno o más candidatos a predictor de vector de movimiento y el número de candidatos a predictor disponibles; una unidad de control de inter predicción (111) que selecciona un candidato a predictor de vector de movimiento óptimo, y una unidad de codificación de longitud variable (116) que establece el tamaño de la lista de candidatos a predictor de vector de movimiento al número de candidatos a predictor disponibles, y codifica por longitud variable un índice de predictor de vector de movimiento usado para codificar un vector de movimiento, al asignar al índice una cadena de bits de acuerdo con el tamaño de la lista de candidatos a predictor de vector de movimiento.

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 invención La presente invención se refiere a un método de codificación de imágenes en movimiento y a un método de decodificación de imágenes en movimiento.
Antecedentes de la invención En el procesamiento de codificación de imágenes en movimiento, en general, la cantidad de información se reduce al utilizar redundancia en la dirección espacial y la dirección temporal que tienen las imágenes en movimiento. Aquí, en general, transformar a un dominio de frecuencias se usa como un método que utiliza redundancia en la dirección espacial. Además, procesamiento de codificación por predicción entre imágenes (en adelante denominada "ínter predicción") se usa como un método que utiliza redundancia en la dirección temporal. En el procesamiento de codificación por ínter predicción, cuando una imagen es codificada, una imagen codificada que aparece antes o después de una imagen actual que será codificada en el orden de tiempo de presentación visual se usa como una imagen de referencia. Un vector de movimiento se deriva al llevar a cabo detección de REF . : 244240 movimiento en la imagen actual con relación a la imagen de referencia. Luego, la redundancia y la dirección temporal es eliminada al calcular una diferencia entre datos de imagen de la imagen actual y datos de imagen predichos obtenidos al llevar a cabo compensación de movimiento con base en el vector de movimiento derivado (por ejemplo, véase literatura no de patente (NPL) 1) . Aquí, en detección de movimiento, un valor de diferencia entre un bloque actual en una imagen actual que será codificada y un bloque en una imagen de referencia es calculado, y un bloque en la imagen de referencia con el cual el valor de diferencia más pequeño es obtenido se determina como un bloque de referencia. Luego, un vector de movimiento es detectado usando el bloque actual y el bloque de referencia.
Lista de citas Literatura no de patente NPL 1 ITU-T Recommendation H.264, "Advanced video coding for generic audiovisual services" , marzo, 2010 NPL 2 JCT-VC, "WD3 : Working Draft 3 of High-Efficiency Video Coding", JCTVC-E603, marzo, 2011 Breve descripción de la invención Problema técnico Sin embargo, existe una demanda por la técnica convencional anterior para lograr una mejora en resistencia a error en codificación y decodificación de una imagen en movimiento usando inter predicció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 que mejoran resistencia a error en codificación y decodificación de una imagen en movimiento usando inter predicció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 usará cuando se codifique un vector de movimiento de un bloque actual que será codificado, y codificar el bloque actual, para generar un flujo de bits, el método incluye: determinar un número máximo de candidatos a predictor de vector de movimiento cada uno de los cuales sea un candidato para el predictor de vector de movimiento; derivar uno o más candidatos a predictor de vector de movimiento; determinar si un número total del uno o más candidatos a predictor de vector de movimiento es más pequeño que el número máximo; derivar uno o más segundos candidatos a predictor de vector de movimiento cuando se determine que el número total de uno o más candidatos a predictor de vector de movimiento es más pequeño que el número máximo; seleccionar, de entre el uno o más primeros candidatos a predictor de vector de movimiento y el uno o más segundos candidatos a predictor de vector de movimiento, el predictor de vector de movimiento que se usará para codificar el vector de movimiento del bloque actual; y codificar, usando el número máximo determinado, un índice para identificar el predictor de vector de movimiento seleccionado, y añadir el índice codificado al flujo de bits.
Debe notarse que estos aspectos generales y específicos pueden implementarse usando un sistema, un método, un circuito integrado, un programa de computadora, un medio de grabación legible por computadora tal como una memoria de sólo lectura de disco compacto (CD-ROM) , o cualquier combinación de sistemas, métodos, circuitos integrados, programas de computadora o medios de grabación.
Efectos adecuados de la invención De acuerdo con un aspecto de la presente invención, es posible mejorar resistencia a error en la codificación y decodificación de una imagen en movimiento usando ínter predicción.
Breve descripción 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 vector de movimiento temporal .
La figura 3 muestra ejemplos de vectores de movimiento de bloques adyacentes usados en un modo de designación de predictor de vector de movimiento.
Las figuras 4A y 4B son un diagrama para describir un ejemplo de una lista de candidatos a predictor de vector de movimiento para la dirección de predicción 0.
Las figuras 5A y 5B son un diagrama para describir un ejemplo de una lista de candidatos a predictor de vector de movimiento para la dirección de predicción 1.
La figura 6 muestra ejemplos de asignación de cadenas de bits a índices de predictor de vector de movimiento.
La figura 7 es un diagrama de flujo que muestra un ejemplo de procesamiento de codificación llevado a cabo cuando se usa el modo de designación de predictor de vector 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 que codifica una imagen en movimiento usando el modo de designación de predictor de vector de movimiento.
La figura 10 es un diagrama de flujo que muestra un ejemplo de procesamiento de decodificación llevado a cabo cuando se usa el modo de designación de predictor de vector 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 que decodifica una imagen en movimiento codificada usando el modo de designación de predictor de vector de movimiento.
La figura 12 muestra la sintaxis usada cuando un índice de predictor de vector de movimiento es añadido a un flujo 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 operación de procesamiento del aparato de codificación de imágenes en movimiento de acuerdo con la modalidad 1.
Las figuras 15A y 15B muestran un ejemplo de una lista de candidatos a predictor de vector de movimiento para la dirección de predicción 0 en la modalidad 1.
Las figuras 16A y 16B muestran un ejemplo de una lista de candidatos a predictor de vector de movimiento para la dirección de predicción 1 en la modalidad 1.
La figura 17 es un diagrama de flujo que muestra el procesamiento para calcular un candidato a predicción de vector de movimiento y un tamaño de lista de candidato a predictor de vector de movimiento en la modalidad 1.
La figura 18 es un diagrama de flujo que muestra procesamiento para actualizar el número de candidatos a predictor disponibles en la modalidad 1.
La figura 19 es un diagrama de flujo que muestra procesamiento para añadir un nuevo candidato en la modalidad 1.
La figura 20 es un diagrama de flujo que muestra procesamiento con respecto a la selección de un candidato a 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 codificació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 codificación de imágenes en movimiento de acuerdo con la modalidad 2.
La figura 23 es un diagrama de bloques que muestra una codificación de un aparato de decodificación de imágenes en movimiento de acuerdo con la modalidad 3.
La figura 24 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 3.
La figura 25 es un diagrama de flujo que muestra el procesamiento para calcular el número de candidatos a predictor disponibles en la modalidad 3.
La figura 26 es un diagrama de flujo que muestra el procesamiento para calcular un candidato a predictor de vector de movimiento en la modalidad 3.
La figura 27 muestra un ejemplo de la sintaxis usada cuando un índice de predictores de vector de movimiento se añade a un flujo de bits.
La figura 28 muestra un ejemplo de sintaxis usada cuando un tamaño de lista de candidatos a vector de movimiento se fija al valor máximo del número de candidatos a predictor de vector de movimiento.
La figura 29 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 4.
La figura 30 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 4.
La figura 31 muestra una configuración general de un sistema de provisión de contenido para implementar servicios de distribución de contenido.
La figura 32 muestra una configuración general de un sistema de difusión digital.
La figura 33 muestra un diagrama de bloques que ilustra un ejemplo de una configuración de una televisión .
La figura 34 muestra un diagrama de bloques que ilustra un ejemplo de una configuración de una unidad de reproduceión/grabación de información que lee y escribe información de y sobre un medio de grabación que es un disco óptico .
La figura 35 muestra un ejemplo de una configuración de un medio de grabación que es un disco óptico.
La figura 36A muestra un ejemplo de un teléfono celular.
La figura 36B es un diagrama de bloques que muestra un ejemplo de una configuración de un teléfono celular.
La figura 37 ilustra una estructura de datos multiplexados .
La figura 38 muestra esquemáticamente cómo cada flujo es multiplexado en datos multiplexados.
La figura 39 muestra cómo un flujo de video se almacena en un flujo de paquetes PES en más detalle.
La figura 40 muestra una estructura de paquetes TS y paquetes de origen en los datos multiplexados.
La figura 41 muestra una estructura de datos de una PMT.
La figura 42 muestra una estructura interna de información de datos multiplexados.
La figura 43 muestra una estructura interna de información de atributos de flujo.
La figura 44 muestra las etapas para identificar datos de video.
La figura 45 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 46 muestra una configuración para cambiar entre frecuencias de excitación.
La figura 47 muestra las etapas para identificar datos de video y cambiar entre frecuencias de excitación.
La figura 48 muestra un ejemplo de una tabla de consulta en la cual normas de datos de video se asocian con frecuencias de excitación.
La figura 49A 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 49B es un diagrama que muestra otro ejemplo de una configuración para compartir un módulo de la unidad de procesamiento de señales.
Descripción detallada de la invención Conocimiento subyacente que forma la base de la presente invención En el esquema de codificación de imágenes en movimiento conocido como H.264 el cual ya ha sido estandarizado, se usan tres tipos de imágenes, en particular imagen I, imagen P e imagen B para comprimir la cantidad de información.
Una imagen I no es codificada por procesamiento de codificación por ínter predicción. Específicamente, una imagen I es codificada por procesamiento de codificación por predicción intra imágenes (en adelante, denominado intra predicción) . Una imagen P se codifica por codificación por inter predicción al hacer referencia a una imagen ya codificada que aparece antes o después de una imagen actual que será codificada en el orden de tiempo de presentación visual. Una imagen B es codificada por codificación por ínter predicció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 presentación visual .
En codificación por inter predicció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 índices de imágenes de referencia son asignados a imágenes de referencia codificadas que serán referidas en inter predicción. Por ejemplo, ya que imágenes B pueden ser codificadas al hacer 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 predicción bidireccional . Aquí, 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 orden de presentación visual 2. Además, el valor 1 del índice de imágenes de referencia 0 se asigna a la imagen de referencia 1 en el orden de presentación visual 1. Más aún, el valor 2 del índice de imagen de referencia 0 se asigna a la imagen de referencia 2 en el orden de presentación visual 0. Específicamente, los índices de imágenes de referencia que tengan valores más pequeños son asignados a imágenes de referencia en orden de proximidad temporal a una imagen actual que será codificada en orden de presentación visual.
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 predicción bidireccional . Aquí, en la lista de imágenes de referencia 1, el valor 0 del índice de imágenes de referencia 1 se asigna a la imagen de referencia 1 en orden de presentación visual 1. Además, el valor 1 del índice de imágenes de referencia 1 se asigna a la imagen de referencia 0 en orden de presentación visual 2. Más aún, el valor 2 del índice de imágenes de referencia 2 se asigna a la imagen de referencia 2 en orden de presentación visual 0.
De esta manera, es posible asignar índices de imágenes de referencia que tengan diferentes valores para las direcciones de predicción a una imagen de referencia (imágenes de referencia 0 y 1 en la figura 1A) , e índices de imágenes de referencia que tengan el mismo valor para las direcciones de predicción a una imagen de referencia (imagen de referencia 2 en la figura 1A) . Además, en el esquema de codificación de imágenes en movimiento denominado H.264 (NPL 1), un modo de detección de vectores de movimiento se usa como un modo de codificación por inter predicción para bloques que serán 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 será codificado, y un vector de movimiento usado para generar los datos de imagen predichos son codificados. Además, en el modo de detección de vectores de movimiento, es posible seleccionar predicción bidireccional o predicción unidireccional, como la dirección de predicción. En predicción bidireccional, una imagen predicha se genera al hacer referencia a dos imágenes ya codificadas que aparezcan antes o después de una imagen actual que será codificada. En predicción unidireccional, una imagen predicha se genera al hacer referencia a una imagen ya codificada que aparece antes o después de una imagen actual que será codificada.
Además, en el esquema de codificación de imágenes en movimiento denominado H.264, un modo de codificación referido como un modo de predicción de vectores de movimiento temporal puede seleccionarse cuando un vector de movimiento se derive en la codificación de una imagen B. Un método de codificación por ínter predicción en el modo de predicción de vectores de movimiento temporal se describe usando 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 cuando el bloque a en la imagen B2 va a ser codificado en el modo de predicción de vectores de movimiento temporal .
Aquí, se utiliza el vector de movimiento vb el cual se usa cuando se codifica el bloque b (en adelante denominado "bloque co-localizado" ) en la misma posición en la imagen P3 que aquél del bloque a, la imagen P3 siendo una imagen de referencia que aparece después de la imagen B2. El vector de movimiento vb es un vector de movimiento usado cuando el bloque b es codificado al hacer referencia a la imagen Pl .
Dos bloques de referencia para bloque a se obtienen de la imagen Pl que es una imagen de referencia hacia adelante y la imagen P3 que es una imagen de referencia hacia atrás, usando vectores de movimiento paralelos al vector de movimiento bv. Luego, el bloque a es codificado al llevar a cabo predicción bidireccional con base en los dos bloques de referencia obtenidos. Específicamente, los vectores de movimiento usados cuando el bloque a es codificado 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 predictor de vector de movimiento se considera que es usado (NPL 2) como un método para codificar vectores de movimiento de bloques que serán codificados en una imagen B o una imagen P. En el modo de designación de predictor de vector de movimiento, candidatos a predictor de vector de movimiento se generan con base en vectores de movimiento usados cuando se codifican bloques adyacentes a un bloque actual que será codificado. Luego, un predictor de vector de movimiento se selecciona de entre los candidatos a predictor de vector de movimiento, y se codifica un vector de movimiento del bloque actual. En este momento, un índice del predictor de vector de movimiento seleccionado y similares son añadidos a un flujo de bits. En consecuencia, el mismo predictor de vector de movimiento que el predictor de vector de movimiento usado para codificación puede seleccionarse también cuando se lleve a cabo codificació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 que se usan en el modo de designación de predictor de vector de movimiento. En la figura 3, el bloque adyacente a es un bloque codificado adyacente a y ubicado a la izquierda de un bloque actual que será 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 ubicado en la derecha superior del bloque actual . El bloque adyacente D es un bloque codificado adyacente a y ubicado en la izquierda inferior del bloque actual.
En la figura 3, el bloque actual es un bloque que es codificado por predicción bidireccional , y tiene, como resultado de detección de movimiento o similares, vector de movimiento MvLO en la dirección de predicción 0 como un vector de movimiento con relación a una imagen de referencia indicada por el índice de imagen de referencia RefLO para la dirección de predicción 0, y vector de movimiento MvLl en la dirección de predicción 1 como un vector de movimiento con relación a una imagen de referencia indicada por el índice de imagen de referencia RefLl para la dirección de predicción 1. Aquí, MvLO es un vector de movimiento para el cual se hace referencia a una imagen de referencia identificada usando 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 usando la lista de imágenes de referencia 1 (Ll) .
El bloque adyacente A es un bloque codificado por predicción unidireccional en la dirección de predicción 0. El bloque adyacente A tiene vector de movimiento MvL0_A en la dirección de predicción 0 como un vector de movimiento con relación a 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 por 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 la relación a una imagen de referencia indicada por el índice de imágenes de referencia RefLl_B para la dirección de predicción 1. El bloque adyacente C es un bloque codificado por intra predicción. Además, el bloque adyacente D es un bloque codificado por predicción unidireccional en la dirección de predicción 0. El bloque adyacente D tiene vector de movimiento MvL0_D en la dirección de predicción 0 como un vector de movimiento con relación a una imagen de referencia indicada por el índice de imagen de referencia RefL0_D en la dirección de predicción 0.
En tal caso, como un predictor de vector de movimiento de un bloque actual que será codificado, por ejemplo, un predictor de vector de movimiento con el cual un vector de movimiento del bloque actual puede ser codificado más eficientemente se selecciona de entre candidatos a predictor de vector de movimiento generados a partir de vectores de movimiento de bloques adyacentes A, B, C y D y un vector de movimiento en el modo de predicción de vectores de movimiento temporal obtenido usando un bloque co-localizado . Luego, un índice de predictores de vector de movimiento que indica el predictor de vector de movimiento seleccionado se añade a un flujo 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 va a ser codificado, sólo el valor "0" del índice de predictor de vector de movimiento que indica que el candidato a predictor de vector de movimiento generado a partir del bloque adyacente A se usa como se muestra en la figura 4 es añadido a un flujo de bits. En consecuencia, la cantidad de información en el vector de movimiento MvLO en la dirección de predicción 0 del bloque actual puede ser reducida.
Aquí, las figuras 4A y 4B muestran un ejemplo de una lista de candidatos a predictor de vector de movimiento para la dirección de predicción 0. Además, como se muestra en las figuras 4A y 4B, en el modo de designación de predictor de vector de movimiento, un candidato con el cual no se pueda generar un predictor de vector de movimiento (en adelante, denominado un "candidato a predictor no disponible"), y un candidato cuyo valor sea igual que el valor de otro candidato a predictor de vector de movimiento (en adelante, "candidato redundante") se borran de los candidatos a predictor de vector de movimiento. En consecuencia, la cantidad de código asignada a los índices de predictor de vector de movimiento se reduce al reducir el número de candidatos a predictor de vector de movimiento. Aquí, que la generación de un predictor de vector de movimiento sea imposible significa que un bloque adyacentes es (1) un bloque codificado por intra predicción, (2) un bloque fuera de un límite de un segmento o una imagen que incluye un bloque actual que será codificado, o (3) un bloque que no es codificado aún, por ejemplo.
En el ejemplo de las figuras 4A y 4B, el bloque adyacente C es codificado por intra predicción. En consecuencia, un candidato a predictor indicado por el valor "3" del índice de predictor de vector de movimiento es un candidato a predictor no disponible, y de esta manera es borrado de la lista de candidatos a predictor de vector 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 generada a partir del bloque adyacente A, y de esta manera un candidato a predictor indicado por el valor "4" del índice de predictor de vector de movimiento se borra de la lista de candidatos a predictor de vector de movimiento. Como resultado, el número de candidatos a predictor de vector de movimiento en la dirección de predicción 0 se reduce eventualmente a 3, y el tamaño de la lista de candidatos a predictor de vector de movimiento para la dirección de predicción 0 se establece en 3.
Las figuras 5A y 5B muestran un ejemplo de una lista de candidatos a predictor de vector de movimiento para la dirección de predicción 1. En el ejemplo mostrado en las figuras 5A y 5B, el número de candidatos a predictor de vector de movimiento en la dirección de predicción 1 se reduce eventualmente a 2 al borrar un candidato a predictor no disponible y candidatos redundantes, y el tamaño de la lista de candidatos a predictor de vector de movimiento para la dirección de predicción 1 se establece en 2.
Como se muestra en la figura 6, cadenas de bits se asignan a índices de predictor de vector de movimiento de acuerdo con el tamaño de la lista de candidatos a predictor de movimiento, y se codifican por longitud variable. Además, si el tamaño de la lista de candidatos a predictor de movimiento es 1, un índice de predictor de vector de movimiento no se añade a un flujo de bits, y un aparato de decodificación se hace estimar que el índice es valor 0. De esta manera, en el modo de designación de predictores de vector de movimiento, cadenas de bits asignadas a índices de predictor de vector de movimiento son cambiadas de acuerdo con el tamaño de la lista de candidatos a predictor de vector de movimiento, reduciendo así la cantidad de código.
La figura 7 es un diagrama de flujo que muestra un ejemplo de procesamiento de codificación en el caso de usar el modo de designación de predictor de vector de movimiento .
En la etapa S1001, candidatos a predictor de vector de movimiento en una dirección de predicción X se calculan a partir de bloques adyacentes y un bloque colocalizado (en adelante, denominado "candidatos a bloques de predicción") . Aquí, X es uno de los valores "0" y "1", en donde 0 representa la dirección de predicción 0 y 1 representa la dirección de predicción 1. El candidato a predictor de vector de movimiento s vLX en la dirección de predicción X se calcula de acuerdo con la siguiente expresión, usando el vector de movimiento MvLX_N y un índice de imagen de referencia RefLX_N de un candidato a bloque de predicción e índice de imagen de referencia RefLX de un bloque actual que será codificado. sMvLX = MvLX_N x (POC (RefLX) -curPOC) / (POC (RefLX_N) -curPOC) (Expresión 1) .
Aquí, POC (RefLX) indica cuando en el orden una imagen de referencia indicada por el índice de imagen de referencia RefLX es presentada visualmente, POC (RefLX_N) indica cuando en el orden una imagen de referencia indicada por el índice de imagen de referencia RefLX_N es presentada visualmente y curPOC indica cuando en el orden una imagen actual que será codificada es presentada visualmente. Se debe notar que si un candidato a bloque de predicción no tiene 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, usando 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= MvL(l-X)_N x (POC (RefLX) -curPOC) / (POC (RefL (1-X)_N)_curPOC) (Expresión 2) .
Las figuras 8A y 8B muestran ejemplos de calcular predictores de vector de movimiento usando las expresiones 1 y 2. Debe notarse que como se muestra por las Expresiones 1 y 2, si los valores de POC (RefLX) y POC(RefLX_N) son iguales, en particular, se hace referencia a la misma imagen, se puede saltar el escalamiento.
En la etapa S1002, un candidato redundante y un candidato a predictor no disponible son borrados de los candidatos a predictor de vector de movimiento en la dirección de predicción X. En la etapa S1003, el tamaño de la lista de candidatos a predictor de vector de movimiento se establece en el número de candidatos a predictor de vector de movimiento después del procesamiento de borrado. En la etapa S1004, un índice de predictor de vector de movimiento que se usará para codificar un vector de movimiento en la dirección de predicción X de un bloque actual es determinado. En la etapa S1005, el índice de predictor de movimiento determinado es codificado por longitud variable usando una cadena de bits determinada de acuerdo con el tamaño de la lista de candidatos a 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 1000 que codifica una imagen en movimiento usando el modo de designación de predictores de vector de movimiento.
Como se muestra en la figura 9, el aparato de codificación e imágenes en movimiento 1000 incluye una unidad de substracción 1001, una unidad de transformación ortogonal 1002, una unidad de cuantificación 1003, una unidad de cuantificación inversa 1004, una unidad de transformación ortogonal inversa 1005, una unidad de adición 1006, una memoria de bloques 1007, una memoria de cuadros 1008, una unidad de intra predicción 1009, una unidad de inter predicción 1010, una unidad de control de inter predicción 1011, una unidad de determinación de tipo de imagen 1012, un interruptor 1013, una unidad de cálculo de candidatos a predictor de vector de movimiento 1014, una memoria colPic 1015 y una unidad de codificación de longitud variable 1016.
En la figura 9, la unidad de cálculo de candidatos a predictor de vector de movimiento 1014 calcula candidatos a predictor de vector de movimiento. Luego, la unidad de cálculo de candidatos a predictor de vector de movimiento 1014 transmite el número de candidatos a predictor de movimiento calculado a la unidad de codificación de longitud variable 1016. La unidad de codificación de longitud variable 1016 establece el tamaño de la lista de candidatos a predictor de vector de movimiento que es un parámetro de codificación en el número de candidatos a predictor de vector de movimiento. Luego, la unidad de codificación de longitud variable 1016 codifica por longitud variable índices de predictor de vector de movimiento usados para codificación al asignar al mismo cadenas de bits de acuerdo con el tamaño de la lista de candidatos a predictor de vector de movimiento.
La figura 10 es un diagrama de flujo que muestra un ejemplo de procesamiento de decodificación en el caso de usar el modo de designación de predcictor de vector de movimiento.
En la etapa S2001, candidatos a predictor de vector de movimiento en la dirección de predicción X son calculados a partir de bloques adyacentes y un bloque colocalizado (candidatos a bloque de predicción) . En la etapa S2002, un candidato redundante y un candidato a predictor no disponible son borrados de los candidatos a predictor de vector de movimiento. En la etapa S2003, el tamaño de la lista de candidatos a predictor de vector de movimiento se establece en el número de candidatos a predictor de vector de movimiento después del procesamiento de borrado. En la etapa S2004, un índice de predictores de vector de movimiento que se usará para decodificar un bloque actual es decodificada a partir de un flujo de bits usando el tamaño de la lista de candidatos a predictor de vector de movimiento. En la etapa S2005, un vector de movimiento se calcula al añadir una diferencia de vector de movimiento a un candidato a predictor de vector de movimiento indicado por el índice de predictor de vector de movimiento decodificado, y una imagen predicha es generada usando el vector de movimiento calculado, llevando a cabo de esta manera 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 que decodifica una imagen en movimiento codificada usando el modo de designación de predictores de vector 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, una unidad de cuantificación inversa 2002, una unidad de transformación ortogonal inversa 2003, una unidad de adición 2004, una memoria de bloques 2005, una memoria de cuadros 2006, una unidad de intra predicción 2007, una unidad de inter predicción 2008, una unidad de control de Ínter predicción 2009, un interruptor 2010, una unidad de cálculo de candidatos a predictor de vector de movimiento 2011 y una memoria colPic 2012.
En la figura 11, la unidad de cálculo de candidatos a predictor de vector de movimiento 2011 calcula candidatos a predictor de vector de movimiento. Luego, la unidad de cálculo de candidatos a predictor de vector de movimiento 2011 transmite el número de candidatos a predictor de vector de movimiento calculado a la unidad de decodificación de longitud variable 2001. La unidad de decodificación de longitud variable 2001 establece el tamaño de la lista de candidatos a predictor de vector de movimiento que es un parámetro de decodificación al número de candidatos a predictor de vector de movimiento. Luego, la unidad de decodificación de longitud variable 2001 decodifica un índice de predictor de vector de movimiento incluido en un flujo de bits usando el tamaño de la lista de candidatos a predictor de movimiento.
La figura 12 muestra la sintaxis usada cuando se añade un índice de predictor de vector de movimiento a un flujo de bits. En la figura 12, inter_pred_flag indica un indicador de dirección de predicción para ínter predicción, mvp_idx indica un índice de predictor de vector de movimiento y NumMVPCand indica el tamaño de la lista de candidatos a predictor de vector de movimiento. NumMVPCand se establece en el número de candidatos a predictor de vector de movimiento después de borrar un candidato a predictor no disponible y un candidato redundante de los candidatos a predictor de vector de movimiento.
Como se describió arriba, una imagen en movimiento es codificada o decodificada usando el modo de designación de predictores de vector de movimiento. Sin embargo, en el modo de designación de predictor de vector de movimiento anterior, el tamaño de la lista de candidatos a predictor de vector de movimiento que se usará cuando un índice de predictor de vector de movimiento sea codificado o decodificado se pone en el número de candidatos a predictor de vector de movimiento. Este número de candidatos a predictor de vector de movimiento se obtiene después de borrar un candidato a predictor no disponible o un candidato redundante usando información de imágenes de referencia que incluye información de un bloque co-localizado y similares. Así, si, por ejemplo, hay una diferencia en el número de candidatos a predictor de vector 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 cadenas de bits se asignan a índices de predictor de vector 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 un flujo de bits adecuadamente.
Por ejemplo, si información de una imagen de referencia que ha sido referenciada como un bloque co- localizado se pierde debido a una pérdida de paquetes o similares que se haya presentado en un canal de transmisión o similar, un vector de movimiento o un índice de imagen de referencia del bloque co- localizado se perderá. Así, información sobre un candidato a predictor de vector de movimiento que se generará a partir del bloque co-localizado no puede ser obtenida. En tal caso, un candidato a predictor no disponible y un candidato redundante no pueden ser borrados adecuadamente de candidatos a predictor de vector de movimiento en el momento de la decodificación. Como resultado, el aparato de decodificación de imágenes en movimiento no será capaz de obtener adecuadamente el tamaño de lista de candidatos a predictor de vector de movimiento, y no será capaz de decodificar exitosamente un índice de predictor de vector de movimiento.
En vista de esto, un objetivo de la presente invención es proporcionar un método de codificación de imágenes en movimiento que mejore resistencia a error al calcular el tamaño de lista de candidatos a predictor de vector de movimiento que se usará cuando se codifique o decodifique un índice de predictor a vector de movimiento, usando un método independiente de información de imágenes de referencia que incluye información de un bloque co-localizado y similares.
En vista de esto, 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 usará cuando se codifique un vector de movimiento de un bloque actual que será codificado, y codificar el bloque actual, para generar un flujo de bits, el método incluye : determinar un número máximo de candidatos a predictor de vector de movimiento cada uno de los cuales sea un candidato para el predictor de vector de movimiento; derivar uno o más primeros candidatos a predictor de vector de movimiento; determinar si un número total del uno o más primeros candidatos a predictor de vector de movimiento es más pequeño que el número máximo; derivar uno o más segundos candidatos a predictor de vector de movimiento cuando se determine que el número total de uno o más primeros candidatos a predictor de vector de movimiento sea más pequeño que el número máximo; seleccionar, de entre el uno o más primeros candidatos a predictor de vector de movimiento y el uno o más segundos candidatos a predictor de vector de movimiento, el predictor de vector de movimiento que se usará para codificar el vector de movimiento del bloque actual; y codificar, usando el número de máximo determinado, un índice para identificar el predictor de vector de movimiento seleccionado y añadir el índice codificado al flujo de bits.
De acuerdo con esto, un índice para identificar un candidato al predictor de vector de movimiento puede codificarse usando el número máximo determinado. Específicamente, un índice puede ser codificado sin depender del número de candidatos a predictor de vector de movimiento realmente derivado. Así, incluso si información necesaria para derivar un candidato a predictor de vector de movimiento (por ejemplo, información de un bloque co-localizado y similares) se pierde, el aparato de decodificación puede decodificar un índice, y se puede mejorar la resistencia a error. Además, el aparato de decodificación puede decodificar un índice, sin depender del número de candidatos a predictor de vector de movimiento realmente derivado. Específicamente, el aparato de decodificación puede decodificar un índice, sin esperar la derivación de un candidato a predictor de vector de movimiento. En otras palabras, es posible generar un flujo de bits para el cual se pueda llevar a cabo en paralelo la derivación de un candidato a predictor de vector de movimiento y la decodificación de un índice.
Además, de acuerdo con esto, un segundo candidato a predictor de vector de movimiento puede derivarse si se determina que el número de los primeros candidatos a predictor de vector de movimiento es más pequeño que el número máximo. De esta manera, es posible incrementar el número de candidatos a predictor de vector de movimiento en un intervalo que no exceda el número máximo, y mejorar la eficiencia de codificación.
Por ejemplo, cuando se derivan los primeros candidatos a predictor de vector de movimiento, el candidato a predictor de vector de movimiento puede derivarse como el primer candidato a predictor de vector de movimiento, el candidato a predictor de vector de movimiento teniendo un vector de movimiento diferente de un vector de movimiento de cualquiera del uno o más primeros candidatos a predictor de vector de movimiento que ya hayan sido derivados.
De acuerdo con esto, se puede borrar un primer candidato a predictor de vector de movimiento redundante. Como resultado, el número de segundos candidatos a predictor de vector de movimiento puede ser incrementado, y de esta manera los tipos de vectores de movimiento seleccionables pueden ser incrementados. Así, es posible mejorar más la eficiencia de codificación.
Por ejemplo, cuando se deriva el uno o más primeros candidatos a predictor de vector de movimiento, el uno o más primeros candidatos a predictor de vector de movimiento pueden ser cada uno derivado con base en un vector de movimiento usado para codificar un bloque espacial o temporalmente adyacente al bloque actual .
De acuerdo con esto, el primer candidato a predictor de vector de movimiento puede ser derivado con base en un vector de movimiento usado para codificar un bloque espacial o temporalmente adyacente al bloque actual .
Por ejemplo, cuando se deriva el uno o más primeros candidatos a predictor de vector de movimiento, un vector de movimiento usado para codificar un bloque puede derivarse como el primer candidato a predictor de vector de movimiento, el bloque estando espacialmente adyacente al bloque actual, y no siendo (i) un bloque codificado por intra predicción, (ii) un bloque ubicado fuera de un límite de un segmento o una imagen que incluye el bloque actual, o (iii) un bloque que aún no es codificado.
De acuerdo con esto, el primer candidato a predictor de vector de movimiento puede ser derivado con base en un bloque adecuado para obtener un candidato a predictor de vector de movimiento.
Por ejemplo, cuando se deriva el uno o más segundos candidatos a predictor de vector de movimiento, el candidato a predictor de vector de movimiento que tenga un vector de movimiento diferente a un vector de movimiento de cualquiera del uno o más primeros candidatos a predictor de vector de movimiento puede derivarse como el segundo candidato a predictor de vector de movimiento.
De acuerdo con esto, un candidato a predictor de vector de movimiento que tenga un vector de movimiento diferente a aquél de cualquier primer candidato a predictor de vector de movimiento puede derivarse como el segundo candidato a predictor de vector de movimiento. Así, el número de candidatos a predictor de vector de movimiento que tengan diferentes vectores de movimiento puede ser incrementado, lo cual permite que se mejore más la eficiencia de codificación.
Por ejemplo, cuando se añada el índice codificado, información que indique el número máximo determinado puede añadirse además al flujo de bits.
De acuerdo con esto, información que indique el número máximo determinado puede añadirse a un flujo de bits. Por lo tanto, el número máximo puede ser cambiado en una unidad adecuada, lo cual permita que se mejore la eficiencia de codificación.
Por ejemplo, el método de codificación de imágenes en movimiento puede incluir además: cambiar entre primer procesamiento de codificación que se conforme a un primer estándar y segundo procesamiento de codificación que se conforme a un segundo estándar; y añadir, al flujo de bits, información de identificación que indique la primera norma o el segundo estándar a la cual se conforme uno correspondiente del primer procesamiento de codificación y el segundo procesamiento de codificación después del cambio, en donde cuando el cambio al primer procesamiento de codificación es hecho, determinar el número máximo, derivar el uno o más primeros candidatos a predictor de vector de movimiento, determinar si el número total de uno o más primeros candidatos a predictor de vector de movimiento es más pequeño, derivar el uno o más segundos candidatos a predictor de vector de movimiento, seleccionar el predictor de vector de movimiento, codificar el índice y añadir el índice codificado puede llevarse a cabo como el primer procesamiento de codificación.
De acuerdo con esto, es posible cambiar entre el primer procesamiento de codificación que se conforma al primer estándar y el segundo procesamiento de decodificación que se conforme al segundo estándar.
Un método de decodificación de imágenes en movimiento de acuerdo con un aspecto de la presente invención es un método de decodificación de imágenes en movimiento para calcular un predictor de vector de movimiento que se usará cuando se decodifique un vector de movimiento de un bloque actual que será decodificado el cual esté incluido en un flujo de bits y decodificar el bloque actual, el método incluye : determinar un número máximo de candidatos a predictor de vector de movimiento cada uno de los cuales sea un candidato para el predictor a vector de movimiento; derivar uno o más primeros candidatos a predictor de vector de movimiento; determinar si un número total del uno o más primeros candidatos a predictor de vector de movimiento es más pequeño que el número máximo; derivar uno o más segundos candidatos a predictor de vector de movimiento cuando se determine que el número total de uno o más primeros candidatos a predictor de vector de movimiento sea más pequeño que el número máximo; decodificar, usando el número máximo determinado, un índice codificado añadido al flujo de bits y usado para identificar el predictor de vector de movimiento; y seleccionar, con base en el índice decodificado, un predictor de vector de movimiento que se usará para decodificar el bloque actual, de entre el uno o más primeros candidatos a predictor de vector de movimiento y el uno o más segundos candidatos a predictor de vector de movimiento .
De acuerdo con esto, un índice para identificar un candidato a predictor de vector de movimiento puede decodificarse usando el número máximo determinado. Específicamente, un índice puede ser decodificado sin depender del número de candidatos a predictor de vector de movimiento realmente derivado. Por lo tanto, un índice puede ser decodificado incluso si información necesaria para derivar un candidato a predictor de vector de movimiento (por ejemplo, información de un bloque co-localizado y similares) se pierde, lo cual hace posible mejorar la resistencia a error. Más aún, es posible decodificar un índice sin esperar la derivación de un candidato a predictor de vector de movimiento, y derivar también un candidato a predictor de vector de movimiento y decodificar un índice en paralelo.
Más aún, de acuerdo con esto, si se determina que el número de primeros candidatos a predictor de vector de movimiento es más pequeño que el número máximo, uno o más segundos candidatos a predictor de vector de movimiento pueden ser derivados. Por lo tanto, el número de candidatos a predictor de vector de movimiento puede incrementarse en un intervalo que no excede el número máximo, y de esta manera una imagen codificada para la cual la eficiencia de codificación haya sido mejorada puede ser decodificada .
Por ejemplo, cuando se derivan los primeros candidatos a predictor de vector de movimiento, el candidato a predictor de vector de movimiento puede derivarse como el primer candidato a predictor de vector de movimiento, el candidato a predictor de vector de movimiento teniendo un vector de movimiento diferente a un vector de movimiento de cualquiera del uno o más primeros candidatos a predictor de vector de movimiento que ya hayan sido derivados.
De acuerdo con esto, se puede borrar un primer candidato a predictor de vector de movimiento redundante. Como resultado, se puede incrementar el número de segundos candidatos a predictor de movimiento, y los tipos de vectores de movimiento seleccionábales pueden ser incrementados . Por lo tanto, es posible decodificar una imagen codificada para la cual se haya mejorado más la eficiencia de codificación.
Por ejemplo, cuando se deriva el uno o más primeros candidatos a predictor de vector de movimiento, el uno o más primeros candidatos a predictor de vector de movimiento pueden ser cada uno derivados con base en un vector de movimiento usado para decodificar un bloque espacial o temporalmente adyacente al bloque actual .
De acuerdo con esto, el primer candidato a predictor de vector de movimiento puede derivarse con base en un vector de movimiento usado para decodificar un bloque espacial o temporalmente adyacente al bloque actual .
Por ejemplo, cuando se deriva el uno o más primeros candidatos a predictor de movimiento, un vector de movimiento usado para decodificar un bloque puede derivarse como el primer candidato a predictor de vector de movimiento, el bloque siendo un candidato a bloque espacialmente adyacente al bloque actual, y no siendo (i) un bloque decodificado por intra predicción, (ii) un bloque ubicado fuera de un límite de un intervalo o una imagen que incluye el bloque actual, o (iii) un bloque que aún no haya sido decodificado .
De acuerdo con esto, el primer candidato a predictor de vector de movimiento puede derivarse a partir de un bloque adecuado para obtener un candidato a predictor de vector de movimiento.
Por ejemplo, cuando se deriva el uno o más segundos candidatos a predictor de vector de movimiento, el candidato a predictor de vector de movimiento que tenga un vector de movimiento diferente de un vector de movimiento de cualquiera del uno o más primeros candidatos a predictor de vector de movimiento puede derivarse como el segundo candidato a predictor de vector de movimiento.
De acuerdo con esto, un candidato a predictor de vector de movimiento que tenga un vector de movimiento diferente a aquél de cualquier primer candidato a predictor de vector de movimiento puede derivarse como el segundo candidato a predictor de vector de movimiento. Así, el número de candidatos a predictor de vector de movimiento que tengan diferentes vectores de movimiento puede incrementarse, y una imagen codificada para la cual se haya mejorado más la eficiencia de codificación puede ser decodificada .
Por ejemplo, cuando se determina el número máximo, el número máximo puede determinarse con base en la información que indique un número máximo y añadirse al flujo de bits.
De acuerdo con esto, el número máximo puede determinarse con base en la información añadida a un flujo de bits. Así, es posible decodificar una imagen codificada al cambiar el número máximo en una unidad adecuad .
Por ejemplo, el método de decodificación de imágenes en movimiento puede incluir además cambiar entre el primer procesamiento de decodificación que se conforme a un primer estándar y segundo procesamiento de decodificación que se conforme a un segundo estándar, de acuerdo con información de identificación que indique la primera norma o el segundo estándar y añadirse al flujo de bits, en donde cuando el cambio al primer procesamiento de decodificación es hecho, determinar el número máximo, derivar el uno o más primeros candidatos a predictor de vector de movimiento, determinar si el número total del uno o más primeros candidatos a predictor de vector de movimiento es más pequeño, derivar el uno o más segundos candidatos a predictor de vector de movimiento, decodificar el índice codificado y seleccionar el predictor de vector de movimiento pueden llevarse a cabo como el primer procesamiento de decodificación.
De acuerdo con esto, es posible cambiar entre el primer procesamiento de decodificación que se conforme al primer estándar y el segundo procesamiento de decodificación que se conforme al segundo estándar.
Debe notarse que estos aspectos generales y específicos pueden implementarse usando un sistema como método, un circuito integrado, un programa de computadora, un 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.
A continuación se da 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 ejemplares descritas abajo muestra un ejemplo general o específico. Los valores numéricos, formas, materiales, elementos constituyentes, la disposición y conexión de los elementos constituyentes, etapas, el orden de procesamiento de las etapas y similares descritos en las siguientes modalidades son simples ejemplos, y de esta manera no limitan el alcance de las reivindicaciones anexas y sus equivalentes. Por lo tanto, entre los elementos constituyentes en las siguientes modalidades ejemplares, los elementos constituyentes no descritos en ninguna de las reivindicaciones independientes se describen como elementos constituyentes arbitrarios.
Modalidad 1 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, una unidad de transformación ortogonal 102, una unidad de cuantificación 103, una unidad de cuantificación inversa 104, una unidad de transformación ortogonal inversa 105, una unidad de adición 106, una memoria de bloques 107, una memoria de cuadros 108, una unidad de intra predicción 108, una unidad de ínter predicción 110, una unidad de control de inter predicción 111, una unidad de determinación de tipo de imagen 112, un interruptor 113, una unidad de cálculo de candidatos a predictor de vector de movimiento 114, una memoria colPic 115 y una 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 a partir 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 lleva a cabo procesamiento de cuantificación en los datos de error de predicción que han sido transformados en el dominio de frecuencias .
La unidad de cuantificación inversa 104 lleva a cabo procesamiento de cuantificación inversa en los datos de error de predicción en los cuales se ha llevado a cabo procesamiento de cuantificación por la unidad de cuantificación 103. La unidad de transformación ortogonal inversa 105 transforma los datos de error de predicción en los cuales se ha llevado a cabo 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 añadir, para cada bloque que será codificado, datos de imagen predichos y los datos de error de predicción en los cuales se ha llevado a cabo procesamiento de cuantificación inversa por la unidad de transformación ortogonal inversa 105. La memoria de bloques 107 almacena datos de imagen reconstruidos sobre una base de bloque por bloque. La memoria de cuadros 108 almacena datos de imagen reconstituidos sobre una base de cuadro por cuadro.
La unidad de determinación de tipos de imagen 112 determina cómo cuál de los tipos de imagen, en particular, imagen I, imagen B e imagen P, serán codificados datos de imagen de entrada. Luego, la unidad de determinación de tipos de imagen 112 genera información de tipo de imagen. La unidad de intra predicción 109 genera datos de imagen intra-predichos de un bloque actual que será codificado al llevar a cabo intra predicción usando los datos de imagen reconstruidos en unidades de bloques almacenadas en la memoria de bloques 107. La unidad de inter predicción 110 genera datos de imagen inter-predichos de un bloque actual que será codificado al llevar a cabo inter predicción usando los datos de imagen reconstruidos en unidades de cuadros almacenadas en la memoria de cuadros 108, y un vector de movimiento derivado por detección de movimiento y similares.
El interruptor 113 envía los datos de imagen intra-predichos generados por la unidad de intra predicció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 codificación de intra predicción se lleva a cabo en el bloque actual. Por otro lado, el interruptor 113 envía los datos de imagen inter-predichos generados por la unidad de inter predicció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 inter predicción se lleva a cabo en el bloque actual .
La unidad de cálculo de candidatos a predictor de vector de movimiento 114 deriva candidatos a predictor de vector de movimiento en el modo de designación de predictores de vector de movimiento, usando vectores de movimiento de bloques adyacentes al bloque actual y similares e información colPic tal como información de un vector de movimiento de un bloque co-localizado almacenado en la memoria colPic 115. Luego, la unidad de cálculo de candidatos a predictor de vector de movimiento 114 calcula el número de candidatos a predictor disponibles usando el método descrito abajo. Además, la unidad de cálculo de candidatos a predictor de vector de movimiento 114 asigna los valores del índice de predictor de vector de movimiento a los candidatos a predictor de vector de movimiento derivados. Luego, la unidad de cálculo de candidatos a predictor de vector de movimiento 114 envía los candidatos a predictor de vector de movimiento y los índices de predictor de vector de movimiento a la unidad de control de inter predicción 111. La unidad de cálculo de candidatos a predictor de vector de movimiento 114 transmite el número de candidatos a predictor disponibles calculados a la unidad de codificación de longitud variable 116.
La unidad de control de inter predicción 111 controla la unidad de inter predicción 110 para que cause que la unidad de inter predicción 110 lleve a cabo codificación de predicción, usando la imagen inter predicha generada usando un vector de movimiento derivado por detección de movimiento. Además, la unidad de control de inter predicción 111 selecciona, usando el método descrito abajo, un candidato a predictor de vector de movimiento más adecuado para codificar un vector de movimiento usado para codificación de inter predicción. Luego, la unidad de control de inter predicción 111 envía un índice de predictor de vector de movimiento que corresponde al candidato a predictor de vector de movimiento seleccionado, e información de error de predicción (diferencia de vector de movimiento) a la unidad de codificación de longitud variable 116. Además, la unidad de control de inter predicción 111 transfiere información 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 lleva a cabo procesamiento de codificación de longitud variable en datos de error de predicción en los cuales se ha llevado a cabo procesamiento de cuantificacion, un indicador de dirección de predicción, información de tipo de imagen y una diferencia de vector de movimiento, generando así un flujo de bits. Además, la unidad de codificación de longitud variable 116 establece el tamaño de lista de candidatos a predictor de vector de movimiento al número de candidatos a predictor disponibles. Luego, la unidad de codificación de longitud variable 116 codifica por longitud variable el índice de predictor de vector de movimiento usado para codificar un vector de movimiento al asignar, al mismo, una cadena de bits de acuerdo con el tamaño de lista de candidatos a predictor de vector de movimiento.
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 la etapa S101, la unidad de control de inter predicció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 será codificado por detección de movimiento. Aquí, en detección de movimiento, un valor de diferencia que indica una diferencia entre un bloque actual que será codificado en una imagen que será codificada y un bloque en una imagen de referencia es calculado, y un bloque en la imagen de referencia con el cual el valor de diferencia es más pequeño se determina como un bloque de referencia. Luego, se obtiene un vector de movimiento con base en la posición de un bloque actual que será codificado y la posición de una posición de bloque de referencia usando el método para obtener un vector de movimiento, por ejemplo. Además, a unidad de control de ínter predicción 111 lleva a cabo 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 selecciona la dirección de predicción 0, la dirección de predicción 1 o predicción bidireccional usando, por ejemplo, la siguiente expresión para un modelo de optimización R-D, o similar.
Cost = D + ? x R (Expresión 3) En la Expresión 3, D indica distorsión de codificación, y por ejemplo, una suma de diferencias absolutas se usa para la misma cada una de las cuales es una diferencia absoluta entre un valor de pixel obtenido por codificación y decodificación de un bloque actual usando una imagen predicha generando usando cierto vector de movimiento y un valor de pixel original del bloque actual . R Indica una cantidad de código generada, y una cantidad de código necesaria para codificar un vector de movimiento usado para generar una imagen predicha se usa para el mismo. Además, ? indica un multiplicador indeterminado de Lagrange.
En la etapa S102, la unidad de cálculo de candidatos a predictor de vector de movimiento 114 deriva candidatos a predictor de vector de movimiento a partir de bloques adyacentes al bloque actual y un bloque co- localizado de los mismos. Además, la unidad de cálculo de candidatos a predictor de vector de movimiento 114 calcula el tamaño de lista de candidatos a predictor de vector de movimiento de acuerdo con el método descrito abajo.
Por ejemplo, en el caso mostrado en la figura 3, la unidad de cálculo de candidatos a predictor de vector de movimiento 114 selecciona los vectores de movimiento cuyos bloques adyacentes A, B, C y D tienen, como candidatos a predictor de vector de movimiento del bloque actual. Además, la unidad de cálculo de candidatos a predictor de vector de movimiento 114 calcula un vector de movimiento, por ejemplo, que se calcula usando un modo de predicción temporal a partir de un vector de movimiento del bloque co-localizado, como un candidato a predictor de vector de movimiento.
La unidad de cálculo de candidatos a predictor de vector de movimiento 114 asigna índices de predictor de vector de movimiento a los candidatos a predictor de vector de movimiento en las direcciones de predicción 0 y 1, como se muestra en la figura 15A y en la figura 16A. Después, la unidad de cálculo de candidatos a predictor de vector de movimiento 114 calcula listas de candidatos a predictor de vector de movimiento como se muestra en la figura 15B y en la figura 16B, y los tamaños de las listas de candidato a predictor de vector de movimiento al borrar un candidato a predictor no disponible y un candidato redundante y añadir un candidato nuevo, usando el método descrito abajo.
Entre más pequeño es un valor de un índice de predictor de vector de movimiento, más corto es 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 otro lado, 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. Así, la eficiencia de codificación se incrementa al asignar un índice de predictor de vector de movimiento que tenga un valor pequeño a un candidato a predictor de vector de movimiento que tenga 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 a predictor de vector de movimiento 114 puede medir, para candidato a predictor de vector de movimiento, el número de veces en las cuales el candidato a predictor de vector de movimiento ha sido seleccionado como un predictor de vector de movimiento, y asignar un índice de predictor de vector de movimiento que tenga un valor pequeño a un candidato a predictor de vector de movimiento cuyo número de veces en las cuales el candidato haya sido seleccionado sea grande, por ejemplo. Específicamente, es posible considerar identificar un predictor de vector de movimiento seleccionado en un bloque adyacente, y en la codificación de un bloque actual, asignar un índice de predictor de vector de movimiento que tenga un valor pequeño al candidato a predictor de vector de movimiento identi icado.
Debe notarse que si un bloque adyacente no tiene información de un vector de movimiento y similares (si el bloque adyacente es codificado por intra predicción, si el bloque adyacente es ubicado, por ejemplo, fuera de un límite de una imagen o un segmento, si el bloque adyacente no es codificado aún, o similares) , el bloque adyacente no puede ser utilizado como un candidato a predictor de vector de movimiento.
En la presente modalidad, un candidato que no pueda ser utilizado como un candidato a predictor de vector de movimiento es denominado un candidato a predictor no disponible. Un candidato que pueda ser utilizado como un candidato a predictor de vector de movimiento es denominado un candidato a predictor disponible. Además, entre una pluralidad de candidatos a predictor de vector de movimiento, un candidato cuyo valor sea el mismo que cualquiera de los demás predictores de vector de movimiento es denominado un candidato redundante.
En el caso de la figura 3, el bloque adyacente C es un bloque codificado por intra predicción, y de esta manera se asume que es un candidato a predictor no disponible. Además, el predictor de vector de movimiento sMvL0_D en la dirección de predicción 0 generada 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 generada a partir del bloque adyacente A, y de esta manera se asume que es un candidato redundante.
En la etapa S103, la unidad de control de nter predicción 111 determina un valor de un índice de predictor de vector de movimiento que se usará para codificar un vector de movimiento en la dirección de predicción X usando el método descrito abajo.
En la etapa S104, la unidad de codificación de longitud variable 116 codifica por longitud variable índices de predictor de vector de movimiento de candidatos a predictor de vector de movimiento que se usarán para codificar vectores de movimiento en la dirección de predicción X al asignar a los mismos cadenas de bits de acuerdo con el tamaño de lista de candidatos a predictor de movimiento como el mostrado en la figura 6.
En la presente modalidad, como se muestra en la figura 15A y en la figura 16A, "0" se asigna como un valor de un índice de predictor de vector de movimiento que corresponde a un 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 co-localizado . "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 notar que la manera de asignar índices de predictor de vector de movimiento no necesariamente está limitada a este ejemplo. Por ejemplo, si se añade un candidato nuevo usando el método descrito abajo, la unidad de codificación de longitud variable 116 puede asignar un valor pequeño aun candidato a predictor de vector de movimiento que no sea recién añadido, y un valor grande al candidato nuevo. Específicamente, la unidad de codificación de longitud variable 116 puede asignar de preferencia un índice de predictor de vector de movimiento que tenga un valor pequeño a un candidato a predictor de vector de movimiento que no sea recién añadido.
Además, candidatos a predictor de vector de movimiento no están necesariamente limitados a estar en las posiciones de los bloques adyacentes A, B, C y D. Por ejemplo, un bloque adyacente ubicado en el bloque adyacente inferior izquierdo D, por ejemplo, se puede usar para obtener un candidato a predictor de vector de movimiento. Además, todos los bloques adyacentes no necesariamente tienen que ser usado para obtener candidatos a predictor de vector de movimiento. Por ejemplo, sólo bloques adyacentes A y B pueden usarse para obtener candidatos a predictor de vector de movimiento. Como alternativa, bloques adyacentes pueden ser escaneados secuencialmente usando, por ejemplo, el bloque adyacente A si el bloque adyacente D es un candidato a predictor no disponible.
Además, en la presente modalidad, aunque la unidad de codificación de longitud variable 116 añade un índice de predictor de vector de movimiento a un flujo de bits en la etapa S104 en la figura 14, un índice de predictor de vector de movimiento no necesariamente se tiene que añadir a un flujo de bits. Por ejemplo, si el tamaño de lista de candidatos a predictor de vector de movimiento es 1, la unidad de codificación de longitud variable 116 puede no añadir un índice de predictor de vector de movimiento a un flujo de bits. En consecuencia, la cantidad de información puede ser reducida por aquella del índice de predictor de vector de movimiento.
La figura 17 es un diagrama de flujo que muestra procesamiento detallado de la etapa S102 en la figura 14. Específicamente, la figura 17 muestra un método para calcular candidatos a predictor de vector de movimiento y el tamaño de lista de candidatos a predictor de vector de movimiento. La siguiente es una descripción de la figura 17.
En la etapa Slll, la unidad de cálculo de candidatos a predictor de vector de movimiento 114 determina, usando el método descrito abajo, si un candidato a bloque de predicción [N] es un candidato a predictror disponible. Luego, la unidad de cálculo de candidatos a predictor de vector de movimiento 114 actualiza el número de candidatos a predictor disponibles de acuerdo con el resultado de la determinación .
Aquí, N es un valor de índice para indicar cada candidato a bloque de predicción. En la presente modalidad, N es uno de los valores de 0 a 4. Específicamente, el bloque adyacente A en la figura 3 es asignado a un candidato a bloque de predicción [0] . El bloque adyacente B en la figura 3 es asignado a un candidato a bloque de predicción [1] . Un bloque co-localizado es asignado a un candidato a bloque de predicción [2] . El bloque adyacente C en la figura 3 es asignado a un candidato a bloque de predicción [3] . El bloque adyacente D en la figura 3 es asignado a un candidato a bloque de predicción [4] .
En la etapa S112, la unidad de cálculo de candidatos a predictor de vector de movimiento 114 deriva un candidato a predictor de vector de movimiento en la dirección de predicción X a partir del candidato a bloque de predicción [N] usando las expresiones 1 y 2 arriba, y añade el candidato derivado a una correspondiente de las listas de candidatos a predictor de vector de movimiento.
En la etapa S113, la unidad de cálculo de candidatos a predictor de vector de movimiento 114 busca y borra un candidato a predictror no disponible y un candidato redundante de las listas de candidatos a predictor de vector de movimiento, como se muestra en las figuras 15A, 15B, 16A y 16B.
En la etapa S114, la unidad de cálculo de candidatos a predictor de vector de movimiento 114 añade un candidato nuevo a una correspondiente de las listas de candidatos a predictor de vector de movimiento usando el método descrito abajo. Aquí, cuando se añade un candidato nuevo, la unidad de cálculo de candidatos a predictor de vector de movimiento 114 puede reasignar valores de índices de predictor de vector de movimiento para de esta manera asignar de preferencia un índice de predictor de vector de movimiento pequeño a un candidato a predictor de vector de movimiento que no sea recién añadido. Específicamente, la unidad de cálculo de candidatos a predictor de vector de movimiento 114 puede reasignar valores de índices de predictor de vector de movimiento para de esta forma asignar un índice de predictor de vector de movimiento que tenga valor grande al candidato nuevo. En consecuencia, se puede reducir la cantidad de codificación de índices de predictor de vector de movimiento.
En la etapa S115, la unidad de cálculo de candidatos a predictor de vector de movimiento 114 establece el tamaño de lista de candidatos a predictor de vector de movimiento en el número de candidatos a predictor disponibles calculado en la etapa Slll. En los ejemplos de las figuras 15A, 15B, 16A y 16B, usando el método descrito abajo, "4" se calcula como el número de candidatos a predictor disponibles en la dirección de predicción 0, y el tamaño de lista de candidatos a predictor de vector de movimiento para la dirección de predicción 0 se establece en "4". Además, "4" se calcula como el número de candidatos a predictor disponibles en la dirección de predicción 1, y el tamaño de lista de candidatos a predictor de vector de movimiento para la dirección de predicción 1 se establece en "4" .
Se debe notar que el nuevo candidato en la etapa S114 es un candidato recién añadido a candidatos a predictor de vector de movimiento usando el método descrito abajo, si el número de candidatos a predictor de vector de movimiento no ha alcanzado el número de candidatos a predictor disponibles. Por ejemplo, un candidato nuevo puede ser un predictor de vector de movimiento generado a partir de un bloque adyacente ubicado en el bloque adyacente izquierdo inferior D en la figura 3. Un candidato nuevo puede ser un predictor de vector de movimiento generado a partir de bloques que correspondan a los bloques A, B, C y D adyacentes a un bloque co-localizado, por ejemplo. Además, un candidato nuevo puede ser un predictor de vector de movimiento calculado a partir de un total de vectores de movimiento en el plano de imagen completo o cierta área de una imagen de referencia, por ejemplo. De esta manera, la eficiencia de codificación puede mejorarse porque la unidad de cálculo de candidatos a predictor de vector de movimiento 114 añade un nuevo predictor de vector de movimiento como un candidato nuevo si el número de candidatos a predictor de vector de movimiento no ha alcanzado el número de candidatos a predictor disponibles.
La figura 18 es un diagrama de flujo que muestra el procesamiento detallado de la etapa Slll en la figura 17. Específicamente, la figura 18 muestra un método para determinar si el candidato a bloque de predicción [N] es un candidato a predictor disponible, y actualizar el número de candidatos a predictor disponibles. La siguiente es una descripción de la figura 18.
En la etapa S121, la unidad de cálculo de candidatos a predictor de vector de movimiento 114 determina si un candidato a bloque de predicción [N] es (1) intra-predicho, (2) ubicado fuera de un límite de un segmento o una imagen que incluya un bloque actual que será codificado, o (3) no es codificado aún.
Si el resultado de la determinación en la etapa S121 es verdadero aquí (Sí en S121) , la unidad de cálculo de candidatos a predictor de vector de movimiento 114 establece el candidato a bloque de predicción [N] como un candidato a predictor no disponible en la etapa S122. Por otro lado, si el resultado de la determinación en la etapa S121 es falso (No en S121) , la unidad de cálculo de candidatos a predictor de vector de movimiento 114 busca el candidato a bloque de predicción [N] como un candidato a predictor disponible en la etapa S123.
En la etapa S124, la unidad de cálculo de candidatos a predictor de vector de movimiento 114 determina si el candidato a bloque de predicción [N] es un candidato a predictor disponible o un candidato a bloque co-localizado. Aquí, si el resultado de la determinación en la etapa S124 es verdadero (Sí en S124) , la unidad de cálculo de candidatos a predictor de vector de movimiento 114 añade 1 al número de candidatos a predictor disponibles, y actualiza el número de candidatos a predictor de vector de movimiento en la etapa S5. Por otro lado, si el resultado de la determinación en la etapa S124 es falso (No en S124) , la unidad de cálculo de candidatos a predictor de vector de movimiento 114 no actualiza el número de candidatos a predictor disponibles.
Como se describió arriba, si un candidato a bloque de predicción es un bloque co-localizado, la unidad de cálculo de candidatos a predictor de vector de movimiento 114 añade 1 al número de candidatos a predictor disponibles, no obstante de si el bloque co-localizado es un candidato a predictor disponible o un candidato a predictor no disponible. En consecuencia, incluso si información de un bloque co-localizado se pierde debido a pérdida de paquete o similar, no hay diferencia en el número de candidatos a predictor 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 a predictor de vector de movimiento se establece en el número de candidatos a predictor disponibles en la etapa S115 en la figura 17. Además, en S104 en la figura 14, el tamaño de la lista de candidatos a predictor de vector de movimiento se usa para codificar por longitud variable índices de predictor de vector de movimiento. En consecuencia, incluso si información de imágenes de referencia que incluya información de un bloque co-localizado y similares se pierde, el aparato de codificación de imágenes en movimiento 100 puede generar un flujo de bits para el cual se pueda decodificar exitosamente un índice de predictor de vector de movimiento.
La figura 19 es un diagrama de flujo que muestra procesamiento detallado de la etapa S114 en la figura 17. Específicamente, la figura 19 muestra un método para añadir un candidato nuevo. La siguiente es una descripción de la figura 19.
En la etapa S131, la unidad de cálculo de candidatos a predictor de vector de movimiento 114 determina si el número de candidatos a predictor de vector de movimiento es más pequeño que el número de candidatos a predictor disponibles. Específicamente, la unidad de cálculo de candidatos a predictor de vector de movimiento 114 determina si el número de candidatos a predictor de vector de movimiento no ha alcanzado el número de candidatos a predictor disponibles.
Aquí, si el resultado de la determinación en la etapa S131 es verdadero (Sí en S131) , la unidad de cálculo de candidatos a predictor de vector de movimiento 114 determina en la etapa S132 si hay un nuevo candidato que pueda ser añadido a una correspondiente de las listas de candidatos a predictor de vector de movimiento como un candidato a predictor de vector de movimiento. Aq í, si el resultado de la determinación en la etapa S132 es verdadero (Sí en S132), la unidad de cálculo de candidatos a predictor de vector de movimiento 114 asigna un valor de un índice de predictor de vector de movimiento al candidato nuevo, y añade el candidato nuevo a una correspondiente de las listas de candidatos a predictor de vector de movimiento en la etapa S133. Más aún, en la etapa S134, la unidad de cálculo de candidatos a predictor de vector de movimiento 114 añade 1 al número de candidatos a predictor de vector de movimiento.
Por otro lado, si el resultado de la determinación en la etapa S131 o etapa S132 es falso (No en S131 o S132) , concluye el procesamiento de añadir candidatos nuevos. Específicamente, si el número de candidatos a predictor de vector de movimiento ha alcanzado el número de candidatos a predictor disponibles, o si no hay un candidato nuevo, concluye el procesamiento de añadir candidatos nuevos.
La figura 20 es un diagrama de flujo que muestra procesamiento detallado de la etapa S103 en la figura 14. Específicamente, la figura 20 muestra procesamiento con respecto a la selección de un candidato a predictor de vector de movimiento. La siguiente es una descripción de la figura 20.
En la etapa S141, como inicialización, la unidad de control de nter predicción 111 establece el índice de candidato a predictor de vector de movimiento mvp_idx en 0, y establece la diferencia de vector de movimiento más pequeña en el valor máximo.
En la etapa S142, la unidad de control de inter predicción 111 determina si el valor del índice de candidato a predictor de vector de movimiento mvp_idx es más pequeño que el número de candidatos a predictor de vector de movimiento. Específicamente, la unidad de control de inter predicción 111 determina si diferencias en vector de movimiento de todos los candidatos a predictor de vector de movimiento han sido calculadas.
Aquí, si aún permanece un candidato a predictor de vector de movimiento para el cual el cálculo no se haya llevado a cabo (Sí en S142) , la unidad de control de inter predicción 111 calcula una diferencia de vector de movimiento al restar un candidato a predictor de vector de movimiento de un vector obtenido como resultado de la detección de movimiento (vector resultante de detección de movimiento) en la etapa S143.
En la etapa S144, la unidad de control de inter predicción 111 determina si la diferencia de vector de movimiento obtenida en la etapa S143 tiene un valor más pequeño que la diferencia de vector de movimiento más pequeña .
Aquí, si el resultado de la determinación en la etapa S144 es verdadera (Sí en S144) , la unidad de control de inter predicció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 la etapa S145. Por otro lado, si el resultado de la determinación en la etapa S144 es falso (No en S144), la unidad de control de inter predicció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 la etapa S146, la unidad de control de inter predicción 111 actualiza un índice de candidato de predictor de vector de movimiento al incrementar por +1, y regresando a la etapa S142, la unidad de control de inter predicción 111 determina si un siguiente candidato a predictor de vector de movimiento está presente.
Por otro lado, si se determina en la etapa S2 que una diferencia de vector de movimiento ha sido calculada para todos los candidatos a predictor de vector de movimiento (No en S142) , la unidad de control de inter predicción 111 fija, en la etapa S147, la diferencia de vector de movimiento más pequeña y el índice de predictor de vector de movimiento que 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 a predictor de vector de movimiento que se usará cuando un índice de predictor de vector de movimiento sea codificado o decodifícado puede calcularse usando un método independiente de información de imagen de referencia que incluya información de un bloque co-localizado y similares. En consecuencia, el aparato de codificación de imágenes en movimiento 100 puede mejorar la resistencia a error.
Más específicamente, el aparato de codificación de imágenes en movimiento 100 de acuerdo con la presente modalidad añade 1 al número de candidatos a predictor disponibles si un candidato a bloque de predicción es un bloque co-localizado, no obstante de si el bloque colocalizado es un candidato a predictor disponible. Luego, e aparato de codificación de imágenes en movimiento 100 determina una cadena de bits que será asignada a un índice de predictor de vector de movimiento usando el número de candidatos a predictor disponibles calculado de esta manera. En consecuencia, el aparato de codificación de imágenes en movimiento 100 puede generar un flujo de bits para el cual un índice de predictor de vector de movimiento se pueda decodificar exitosamente incluso si información de imágenes de referencia que incluye información de un bloque colocalizado se pierde.
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 añadir un candidato nuevo que tenga un nuevo predictor de vector de movimiento como un candidato a predictor de vector de movimiento si el número de candidatos a predictor de vector de movimiento no ha alcanzado el número de candidatos a predictor disponibles.
Se debe notar que aunque en la presente modalidad, el aparato de codificación de imágenes en movimiento 100 añade un candidato nuevo que tiene un nuevo predictor de vector de movimiento como un candidato a predictor de vector de movimiento si el número de candidatos a predictor de vector de movimiento no ha alcanzado el número de candidatos a predictor 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 candidato nuevo que tenga un nuevo predictor de vector de movimiento como un valor inicial de todos los candidatos a predictor de vector de movimiento en las listas de candidatos a predictor de vector de movimiento cuando las listas de candidatos a predictor de vector de movimiento sean creadas. En este caso, el aparato de codificación de imágenes en movimiento 100 calculará un candidato a predictor de vector de movimiento, y sobrescribirá el nuevo candidato que sea un valor inicial cuando el candidato a predictor de vector de movimiento calculado se añada a una correspondiente de las listas de candidatos a predictor de vector de movimiento. Así, el aparato de codificación de imágenes en movimiento 100 determina si el candidato a predictor de vector de movimiento calculado es un candidato a predictor no disponible o un candidato redundante, antes de que el candidato a predictor de vector de movimiento calculado se añada a la lista de candidatos a predictor de vector de movimiento correspondiente. En consecuencia, si hay un candidato a predictor no disponible o un candidato redundante, el nuevo candidato que sea un valor inicial permanece en la lista de candidatos a predictor de vector de movimiento correspondiente. También es posible añadir un candidato nuevo como un candidato a predictor de vector de movimiento usando este método.
Aunque la presente modalidad describe un ejemplo en el cual el modo de designación de predictores de vector de movimiento se usa en el cual candidatos a predictor de vector de movimiento son generados a partir de bloques adyacentes a un bloque actual que será codificado, y un vector de movimiento del bloque actual es codificado, la presente modalidad no necesariamente está limitada a esto. Por ejemplo, un modo directo o un modo de salto puede ser usado. En el modo directo o el modo de salto, una diferencia de vector de movimiento no puede añadirse a un flujo de bits al seleccionar un predictor de vector de movimiento de entre los candidatos a predictor de vector de movimiento creados como se muestra en la figura 15B y en la figura 16B, y generar directamente una imagen predicha usando el predictor de vector de movimiento seleccionado como un vector de movimiento.
Modalidad 2 En la modalidad 1 arriba, el aparato de codificación de imágenes en movimiento determina una cadena de bits que será asignada a un índice de predictor de vector de movimiento usando el número de candidatos a predictor disponibles calculado al añadir siempre 1 si un candidato a bloque de predicción es un bloque co-localizado no obstante de si el bloque co-localizado es un candidato a predictor disponible, la presente invención no está limitada a esto. Por ejemplo, el aparato de codificación de imágenes en movimiento puede determinar una cadena de bits que será asignada a un índice de predictor de vector de movimiento, usando el número de candidatos a predictor disponibles calculado al añadir siempre 1 también en el caso de un candidato a bloque de predicción que no sea el bloque colocalizado en la etapa S124 en la figura 18. Específicamente, el aparato de codificación de imágenes en movimiento puede asignar una cadena de bits a un índice de predictor de vector de movimiento usando el tamaño de lista de candidatos a predictor de vector de movimiento fijado al valor máximo N del número de candidatos a predictor de vector de movimiento. En otras palabras, el aparato de codificación de imágenes en movimiento puede asumir que todos los candidatos a bloque de predicción son candidatos a predictor disponibles, fijar el tamaño de la lista de candidatos a predictor de vector de movimiento en el valor máximo N del número de candidatos a predictor de vector de movimiento y codificar índices de predictor de vector de movimiento.
Por ejemplo, en la modalidad 1 arriba, el valor máximo N del número de candidatos a predictor de vector de movimiento es 5 (bloque adyacente A, bloque adyacente B, bloque co-localizado, bloque adyacente C, bloque adyacente D) , y de esta manera el aparato de codificación de imágenes en movimiento siempre debe de establecer el tamaño de la lista de candidatos a predictor de vector de movimiento en 5, y codificar índices de predictor de vector de movimiento. Además, por ejemplo, si el valor máximo N del número de candidatos a predictor de vector 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 puede siempre establecer el tamaño de la lista de candidatos a predictor de vector de movimiento 4, y codificar índices de predictor de vector de movimiento.
De esta manera, el aparato de codificación de imágenes en movimiento puede determinar el tamaño de la lista de candidatos a predictor de vector de movimiento de acuerdo con el valor máximo del número de candidatos a predictor de vector de movimiento. En consecuencia, es posible generar un flujo de bits a partir del cual la unidad de decodificación de longitud variable del aparato de decodificación de imágenes en movimiento pueda decodificar un índice de predictor de vector de movimiento en un flujo de bits sin hacer referencia a información de bloques adyacentes o un bloque co-localizado, lo cual se traduce en una reducción de la cantidad de procesamiento que se llevará a cabo por la unidad de codificación de longitud variable.
La siguiente es una descripción específica de una configuración distintiva del aparato de codificación de imágenes en movimiento como el aparato de codificación de imágenes en movimiento de acuerdo con la modalidad 2.
La figura 21 es un diagrama de bloques que muestra una configuración de un aparato de codificación de imágenes en movimiento 200 de acuerdo con la modalidad 2. El aparato de codificación de imágenes en movimiento 200 genera un flujo de bits al codificar una imagen sobre una base de bloque por bloque. El aparato de codificación de imágenes en movimiento 200 incluye una unidad de derivación de candidatos a predictor de vector de movimiento 210, una unidad de control de predicción 220 y una unidad de codificación 230.
La unidad de derivación de candidatos a predictor de vector de movimiento 210 corresponde a la unidad de cálculo de candidatos a predictor de vector de movimiento 114 en la modalidad 1 arriba. La unidad de derivación de candidatos a predictor de vector de movimiento 210 deriva candidatos a predictor de vector de movimiento. Después, la unidad de derivación de candidatos a predictor de vector de movimiento 210 genera listas de candidatos a predictor de vector de movimiento en las cuales, por ejemplo, cada uno de los candidatos a predictor de vector de movimiento derivados se asocia con un índice (en adelante denominado un "índice de predictor de vector de movimiento") para identificar el candidato a predictor de vector de movimiento.
Un candidato a predictor de vector de movimiento es un vector de movimiento que es un candidato para un predictor de vector de movimiento que se usará para codificar un bloque actual que será codificado.
Como se muestra en la figura 21, la unidad de derivación de candidatos a predictor de vector de movimiento 210 incluye una unidad de determinación de número máximo 211, una primera unidad de derivación 212, una unidad de identificación 213, una unidad de determinación 214 y una segunda unidad de derivación 215.
La unidad de determinación de número máximo 211 determina el número máximo de candidatos a predictor de vector de movimiento. Específicamente, la unidad de determinación de número máximo 211 determina el valor máximo N del número de candidatos a bloque de predicción.
Por ejemplo, la unidad de determinación de número máximo 211 determina el número máximo de candidatos a predictor de vector de movimiento, con base en características de una secuencia de imágenes de entrada (secuencia, imágenes, segmentos o bloques) . Además, por ejemplo, la unidad de determinación de número máximo 211 puede determinar un número predeterminado como el número máximo de candidatos a predictor de vector de movimiento.
La primera unidad de derivación 212 deriva uno o más primeros candidatos a predictor de vector de movimiento. Específicamente, la primera unidad de derivación 212 deriva el uno o más primeros candidatos a predictor de vector de movimiento de tal manera que el número de primeros candidatos a predictor de vector de movimiento no exceda el número máximo. Más específicamente, la primera unidad de derivación 212 deriva cada primer candidato a predictor de vector de movimiento, con base en un vector de movimiento usado para codificar un bloque espacial o temporalmente adyacente a un bloque actual que será codificado, por ejemplo. Luego, por ejemplo, la primera unidad de derivación 212 registra, en las listas de candidatos a predictor de vector de movimiento, el uno o más candidatos a predictor de vector de movimiento derivado de esta manera, cada uno en asociación con un índice de predictor de vector de movimiento.
Un bloque espacialmente adyacente es un bloque en una imagen que incluye un bloque actual que será codificado, y es un bloque adyacente al bloque actual. Específicamente, ejemplos de bloques espacialmente adyacentes son los bloques adyacentes A a D mostrados en la figura 3.
Un bloque temporalmente adyacente es un bloque incluido en una imagen diferente de una imagen que incluye un bloque actual que será codificado, y es un bloque que corresponde al bloque actual. Específicamente, un ejemplo de un bloque temporalmente adyacente es un bloque co- localizado .
Debe notarse que un bloque temporalmente adyacente no necesariamente tiene que ser un bloque en la misma posición que aquella de un bloque actual que será codificado (bloque co-localizado) . Por ejemplo, un bloque temporalmente adyacente puede ser un bloque adyacente a un bloque co-localizado.
Debe notarse que, por ejemplo, la primera unidad de derivación 212 puede derivar, como el primer candidato a predictor de vector de movimiento, un vector de movimiento usado para codificar un bloque que sea un bloque espacialmente adyacente a un bloque actual que será codificado, y no sea un bloque que sea un candidato a predictor no disponible. Un bloque que es un candidato a predictor no disponible es un bloque codificado por intra predicción, un bloque ubicado fuera de un límite de un segmento o una imagen que incluye un bloque actual que será codificado, o un bloque que aún no es codificado. En consecuencia, el primer candidato a predictor de vector de movimiento puede ser derivado a partir de un bloque adecuado para obtener un candidato a predictor de vector de movimiento.
La unidad de identificación 213 identifica un primer candidato a predictor de vector de movimiento (candidato redundante) que tiene el mismo vector de movimiento que aquél de cualquier otro primer candidato a predictor de vector de movimiento, si una pluralidad de los primeros candidatos a predictor de vector de movimiento son derivados. Luego, la unidad de identificación 213 borra el candidato redundante identificado de una correspondiente de las listas de candidatos a predictor de vector de movimiento.
La unidad de determinación 214 determina si el número de primeros candidatos a predictor de vector de movimiento es más pequeño que el número máximo determinado. Aquí, la unidad de determinación 214 determina si el número de primeros candidatos a predictor de vector de movimiento excluyendo el primer candidato a predictor de vector de movimiento redundante identificado es más pequeño que el número máximo determinado.
La segunda unidad de derivación 215 deriva uno o más segundos candidatos a predictor de vector de movimiento si se determina que el número de primeros candidatos a predictor de vector de movimiento es más pequeño que el número máximo determinado. Específicamente, la segunda unidad de derivación 215 deriva el uno o más segundos candidatos a predictor de vector de movimiento de tal manera que la suma del número de primeros candidatos a predictor de vector de movimiento y el número de segundos candidatos a predictor de vector de movimiento no exceda el número máximo.
Aquí, la segunda unidad de derivación 215 deriva el uno o más segundos candidatos a predictor de vector de movimiento de tal manera que la suma del número de primeros candidatos a predictor de vector de movimiento excluyendo un candidato redundante y el número de segundos candidatos a predictor de vector de movimiento no exceda el número máximo.
El uno o más segundos candidatos a predictor de vector de movimiento corresponden cada uno al nuevo candidato en la modalidad 1. Por lo tanto, la segunda unidad de derivación 215 puede derivar cada segundo candidato a predictor de vector de movimiento, con base en un vector de movimiento que se use para codificar un bloque adyacente y sea diferente del primer candidato a predictor de vector de movimiento, por ejemplo.
Además, por ejemplo, la segunda unidad de derivación 215 puede derivar, como el segundo candidato a predictor de vector de movimiento, un candidato a predictor de vector de movimiento que tenga un vector de movimiento diferente a aquél de cualquier primer candidato a predictor de vector de movimiento. En consecuencia, el número de candidatos a predictor de vector de movimiento que tengan diferentes vectores de movimiento puede ser incrementado, y de esta manera se puede mejorar más la eficiencia de codificación.
Se debe notar que la segunda unidad de derivación 215 no necesariamente tiene que derivar un candidato a predictor de vector de movimiento diferente de aquél de cualquier primer candidato predictor de vector de movimiento, como el segundo candidato a predictor de vector de movimiento. Específicamente, la segunda unidad de derivación 215 puede, como una consecuencia, derivar el candidato a predictor de vector de movimiento que sea el mismo que el primer candidato a predictor de vector de movimiento, como el segundo candidato a predictor de vector de movimiento.
Luego, la segunda unidad de derivación 215 registra, en las listas de candidatos a predictor de vector de movimiento, el uno o más segundos candidatos a predictor de vector de movimiento derivados de esta manera, cada uno en asociación con un índice de predictor de vector de movimiento, por ejemplo. En este momento, la segunda unidad de derivación 215 puede registrar cada segundo candidato a predictor de vector de movimiento en una correspondiente de las listas de candidatos a predictor de vector de movimiento, de tal manera que un índice de predictor de vector de movimiento que tenga un valor más pequeño que aquél para los segundos candidatos a predictor de vector de movimiento sea asignado a cada primer candidato de candidato a predictor de vector de movimiento, como en la modalidad 1. En consecuencia, si hay una alta posibilidad de que el primer candidato a predictor de vector de movimiento se seleccione como un candidato a predictor de vector de movimiento que se usará para codificación en lugar del segundo candidato a predictor de vector de movimiento, el aparato de codificación de imágenes de movimiento 200 puede reducir la cantidad de código, y mejorar la eficiencia de codificación.
Se debe notar que la segunda unidad de derivación 215 no necesariamente tiene que derivar el uno o más segundos candidatos a predictor de vector de movimiento de tal manera que la suma del número de primeros candidatos a predictor de vector de movimiento y el número de segundos candidatos a predictor de vector de movimiento sea la misma que el número máximo determinado. Si la suma del número de primeros candidatos a predictor de vector de movimiento y el numero de segundos candidatos a predictor de vector de movimiento es más pequeña que el número máximo determinado, puede haber un valor de un índice de predictor de vector de movimiento que no esté asociado con un candidato a predictor de vector de movimiento, por ejemplo.
La unidad de control de predicción 220 selecciona un predictor de vector de movimiento que se usará para codificar un bloque actual que será codificado, de entre el uno o más primeros candidatos a predictor de vector de movimiento y el uno o más segundos candidatos a predictor de vector de movimiento. Específicamente, la unidad de control de predicción 220 selecciona, de las listas de candidatos a predictor de vector de movimiento, un predictor de vector de movimiento que se usará para codificar el bloque actual.
La unidad de codificación 230 codifica un índice (índice de predictor de vector de movimiento) para identificar el candidato a predictor de vector de movimiento seleccionado, usando el número máximo determinado. Específicamente, la unidad de codificación 230 codifica por longitud variable una cadena de bits asignada al valor de índice del candidato a predictor de vector de movimiento seleccionado, como se muestra en la figura 6. Más aún, la unidad de codificación 230 añade el índice de código a un flujo de bits.
Aquí, la unidad de codificación 230 puede añadir además información que indique el número máximo determinado por la unidad de determinación de número máximo 211 al flujo de bits. Específicamente, la unidad de codificación 230 también puede escribir información que indique el número máximo, por ejemplo, en un encabezado de segmento o similar. En consecuencia, el número máximo puede ser cambiado en una unidad adecuada, lo cual puede mejorar la eficiencia de codificación.
Se debe notar que la unidad de codificación 230 no necesariamente tiene que añadir información que indique el número máximo a un flujo de bits. Por ejemplo, si el número máximo se determina previamente de acuerdo con una norma, o si el número máximo es igual que un valor preestablecido, la unidad de codificación 230 no tiene que añadir información que indique el número máximo a un flujo de bits .
A continuación se da una descripción de varias operaciones del aparato de codificación de imágenes de movimiento 200 constituido como se describió arriba.
La figura 22 es un diagrama de flujo que muestra operación de procesamiento del aparato de codificación de imágenes de movimiento 200 de acuerdo con la modalidad 2.
Primero, la unidad de determinación del número máximo 211 determina el número máximo de candidatos a predictor de vector de movimiento (S201) . La primera unidad de derivación 212 deriva uno o más primeros candidatos a predictor de vector de movimiento (S202) . La unidad de identificación 213 identifica un primer candidato a predictor de vector de movimiento que tenga un vector de movimiento que sea el mismo que aquél de cualesquiera otros primeros candidatos a predictor de vector de movimiento si una pluralidad de los primeros candidatos a predictor de vector de movimiento son derivados (S203) .
La unidad de determinación 214 determina si el número de primeros candidatos a predictor de vector de movimiento excluyendo un candidato redundante es más pequeño que el número máximo determinado (S204) . Aquí, si se determina que el número de primeros candidatos a predictor de vector de movimiento excluyendo un candidato redundante es más pequeño que el número máximo determinado (Sí en S204) , la segunda unidad de derivación 215 deriva uno o más segundos candidatos a predictor de vector de movimiento (S205) . Por otro lado, si no se determina que el número de primeros candidatos a predictor de vector de movimiento excluyendo un candidato redundante es más pequeño que el número máximo determinado (No en S204), la segunda unidad de derivación 215 no deriva un segundo candidato a predictor de vector de movimiento. Estas etapas S204 y S205 corresponden a la etapa S114 en la modalidad 1.
La unidad de control de predicción 220 selecciona un predictor de vector de movimiento que se usará para codificar un bloque actual que será codificado de entre el uno o más primeros candidatos a predictor de vector de movimiento y el uno o más segundos candidatos a predictor de vector de movimiento (S206) . Por ejemplo, la unidad de control de predicción 220 selecciona un predictor de vector de movimiento con el cual una diferencia de vector de movimiento sea más pequeña de las de candidatos a predictor de vector de movimiento, como en la modalidad 1.
La unidad de codificación 230 codifica un índice para identificar el candidato a predictor de vector de movimiento seleccionado usando el número máximo determinado (S207) . Más aún, la unidad de codificación 230 añade el índice codificado a un flujo de bits.
Como se describió arriba, de acuerdo con el aparato de codificación de imágenes de movimiento 200 de acuerdo con la presente modalidad, un índice para identificar un candidato a predictor de vector de movimiento puede ser codificado usando el número máximo determinado. Específicamente, un índice puede codificarse sin depender del número de candidatos a predictor de vector de movimiento realmente derivado. Por lo tanto, incluso si información (por ejemplo, información de un bloque co-localizado y similares) necesaria para derivar un candidato a predictor de vector de movimiento se pierde, un aparato de decodificación puede decodificar el índice, y de esta manera se puede mejorar la resistencia a error. Además, el aparato de decodificación puede decodificar un índice, sin depender del número de candidatos a predictor de vector de movimiento realmente derivado. Específicamente, el aparato de decodificación puede decodificar el índice, sin esperar la derivación de un candidato a predictor de vector de movimiento. Específicamente, es posible generar un flujo de bits para el cual derivar un candidato a predictor de vector de movimiento y decodificar un índice pueden llevarse a cabo en paralelo.
Además, de acuerdo con el aparato de codificación de imágenes de movimiento 200 de acuerdo con la presente modalidad, uno o más segundos candidatos de predictor de vector de movimiento puede derivarse si se determina que el número de primeros candidatos a predictor de vector de movimiento es más pequeño que el número máximo. Por lo tanto, es posible incrementar el número de candidatos a predictor de vector de movimiento en un intervalo que no exceda el número máximo, y mejorar la eficiencia de codificación.
Además, de acuerdo con el aparato de codificación de imágenes de movimiento 200 de acuerdo con la presente modalidad, uno o más segundos candidatos a predictor de vector de movimiento pueden derivarse de acuerdo con el número de primeros candidatos a predictor de vector de movimiento excluyendo el primer candidato a predictor de vector de movimiento redundante. Como resultado, el número de segundos candidatos a predictor de vector de movimiento puede ser incrementado, y se puede incrementar los tipos de vectores de movimiento seleccionables . Por lo tanto, es posible mejorar más la eficiencia de codificación.
Debe notarse que en la presente modalidad, aunque el aparato de codificación de imágenes de movimiento 200 incluye la unidad de identificación 213, el aparato de codificación de imágenes de movimiento 200 no necesariamente tiene que incluir la unidad de identificación 213. Específicamente, la etapa S203 no necesariamente tiene que sr incluida en el diagrama de flujo mostrado en la figura 22. Incluso en tal caso, el aparato de codificación de imágenes de movimiento 200 puede codificar un índice para identificar un candidato a predictor de vector de movimiento usando el número máximo determinado, y de esta manera se puede mejorar la resistencia a error.
Además, como se muestra en la figura 22, en la presente modalidad, la primera unidad de derivación 212 deriva uno o más primeros candidatos a predictor de vector de movimiento, y posteriormente la unidad de identificación 213 identifica un candidato redundante. Sin embargo, el procesamiento no necesariamente tiene que llevarse a cabo secuencialmente de esta manera. Por ejemplo, en el proceso de derivar los primeros candidatos a predictor de vector de movimiento, la primera unidad de derivación 212 puede identificar un candidato redundante, y derivar los primeros candidatos a predictor de vector de movimiento de tal manera que el candidato redundante identificado no sea incluido en los primeros candidatos a predictor de vector de movimiento. Específicamente, la primera unidad de derivación 212 puede derivar un candidato a predictor de vector de movimiento que no sea el mismo que cualquier primer candidato a predictor de vector de movimiento cuyo vector de movimiento ya haya sido derivado, como el primer candidato a predictor de vector de movimiento. Más específicamente, por ejemplo, cuando un candidato a predictor de vector de movimiento a base de un bloque adyacente izquierdo ya se derivó como el primer candidato a predictor de vector de movimiento, si un candidato a predictor de vector de movimiento a base de un bloque adyacente superior no es el mismo que el candidato a predictor de vector de movimiento a base del bloque adyacente izquierdo, la primera unidad de derivación 212 puede derivar el candidato a predictor de vector de movimiento con base en el bloque adyacente superior y el primer candidato a predictor de vector de movimiento.
Modalidad 3 La figura 23 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 23, el aparato de decodificación de imágenes de movimiento 300 incluye una unidad de decodificación de longitud variable 301, una unidad de cuantificación inversa 302, una unidad de transformación ortogonal inversa 303, una unidad de adición 304, una memoria de bloques 305, una memoria de cuadros 306, una unidad de intra predicción 307, una unidad de Ínter predicción 308, una unidad de control de inter predicción 309, un interruptor 310, una unidad de cálculo de candidatos a predictor de vector de movimiento 311 y una memoria colPic 312.
La unidad de decodificación de longitud variable 301 lleva a cabo procesamiento de decodificación de longitud variable en un flujo 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 lleva a cabo procesamiento de decodificación de longitud variable en índices de predictor de vector de movimiento usando el número de candidatos a predictor disponibles descrito abajo.
La unidad de cuantificación inversa 302 lleva a cabo procesamiento de cuantificación inversa en el coeficiente de cuantificación obtenido por procesamiento de decodificación de longitud variable. La unidad de transformación ortogonal inversa 303 transforma un coeficiente de transformación ortogonal obtenido por procesamiento de cuantificación inversa a partir de un dominio de frecuencias en un dominio de imagen, para generar datos de error de predicción. La memoria de bloques 305 almacena datos de imagen decodificados generados al añadir datos de error de predicción y datos de imagen predichos, sobre una base de bloque por bloque. La memoria de cuadros 306 almacena datos de imagen decodificados sobre una base de cuadro por cuadro.
La unidad de intra predicción 307 genera datos de imagen predichos de un bloque actual que será decodificado al llevar a cabo intra predicción mostrando datos de imagen decodificados en unidades de bloques almacenadas en la memoria de bloques 305. La unidad de intra predicción 308 genera datos de imagen predichos de un bloque actual que será decodificado al levar a cabo inter predicción usando datos de imagen decodificados en unidades de cuadro almacenadas en la memoria de cuadros 306.
Si se lleva a cabo decodificación de intra predicción en el bloque actual, el interruptor 310 envía los datos de imagen intra-predichos generados por la unidad de intra predicción 307 a la unidad de adición 304 como datos de imagen predichos del bloque actual. En contraste, si se lleva a cabo decodificación de inter predicción en el bloque actual, el interruptor 310 envía los datos de imagen inter-predichos generados por la unidad de inter predicción 308 a la unidad de adición 304 como datos de imagen predichos del bloque actual .
Usando, por ejemplo, vectores de movimiento de bloques adyacentes a un bloque actual que será decodificado e información colPic tal como información de un vector de movimiento de un bloque co-localizado almacenado en la memoria colPic 312, la unidad de cálculo de candidatos a predictor de vector de movimiento 311 deriva candidatos a predictor de vector de movimiento en el modo de designación de predictor de vector de movimiento al usar el método descrito abajo. Además, la unidad de cálculo de candidatos a predictor de vector de movimiento 311 asigna un valor de un índice de predictor de vector de movimiento a cada candidato a predictor de vector de movimiento derivado. Después, la unidad de cálculo de candidatos a predictor de vector de movimiento 311 envía los candidatos a predictor de vector de movimiento y los índices de predictor de vector de movimiento a la unidad de control de inter predicción 309.
La unidad de control de inter predicción 309 selecciona, de entre los candidatos a predictor de vector de movimiento, un predictor de vector de movimiento qué será usado para inter predicción, con base en el índice de predictor de vector de movimiento decodificado . Luego, la unidad de control de inter predicció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. Después, la unidad de control de inter predicción 309 causa que la unidad de inter predicción 308 genere una imagen inter-predicha usando el vector de movimiento calculado. Además, la unidad de control de inter predicción 309 transfiere información 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 añadir datos de imagen predichos y datos de error de predicción.
La figura 24 es un diagrama de flujo que muestra la operación de procesamiento del aparato de decodificación de imágenes de movimiento 300 de acuerdo con la modalidad 3.
En la etapa 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. Después, 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 lleva a cabo procesamiento de las siguientes etapas S302 a S305.
En la etapa S302, la unidad de cálcülo de candidatos a predictor de vector de movimiento 311 calcula el número de candidatos a predictor disponibles usando el método descrito abajo. Luego, la unidad de cálculo de candidatos a predictor de vector de movimiento 311 establece el tamaño de lista de candidatos a predictor de vector de movimiento al número calculado de candidatos a predictor disponibles.
En la etapa S303, la unidad de decodificación de longitud variable 301 decodifica por longitud variable el índice de predictor de vector de movimiento en un flujo de bits usando el tamaño de la lista de candidatos a predictor de vector de movimiento calculado. En la etapa S304, la unidad de cálculo de candidatos a predictor de vector de movimiento 311 genera candidatos a predictor de vector de movimiento a partir de bloques adyacentes al bloque actual y un bloque co-localizado usando el método descrito abajo. En la etapa S305, la unidad de control de ínter predicción 309 añade la diferencia de vector de movimiento decodificada al candidato a predictor de vector de movimiento indicado por el índice de predictor de vector de movimiento decodificado, para calcular un vector de movimiento. Después, la unidad de control de Ínter predicción 309 causa que la unidad de inter predicción 308 genere una imagen inter-predicha usando el vector de movimiento calculado.
Se debe notar que si el tamaño de la lista de candidatos a predictor de vector de movimiento calculado en la etapa S302 es "1", se puede estimar que un índice de predictor de vector de movimiento sea 0, sin ser decodificado .
La figura 25 es un diagrama de flujo que muestra procesamiento detallado de la etapa S302 en la figura 24. Específicamente, la figura 25 muestra un método para determinar si un candidato a bloque de predicción [N] es un candidato predictor disponible, y calcular el número de candidatos a predictor disponibles. La siguiente es una descripción de la figura 25.
En la etapa S311, la unidad de cálculo de candidatos a predictor de vector de movimiento 311 determina si un candidato a bloque de predicción [N] es (1) decodificado por intra predicción, (2) ubicado fuera de un límite de un segmento o una imagen que incluya un bloque actual que será decodificado, o (3) no decodificado aún.
Aquí, si el resultado de la determinación en la etapa S311 es verdadero (Sí en S311) , la unidad de cálculo de candidatos a predictor de vector de movimiento 311 establece el candidato a bloque de predicción [N] como un candidato a predictor no disponible en la etapa S312. Por otro lado, si el resultado de la determinación en la etapa S311 es falso (No en S311) , la unidad de cálculo de candidatos a predictor de vector de movimiento 311 establece el candidato a bloque de predicción [N] como un candidato a predictor disponible en la etapa S313.
En la etapa S314, la unidad de cálculo de candidatos a predictor de vector de movimiento 311 determina si el candidato a bloque de predicción [N] es un candidato a predictor disponible o un candidato a predictor colocalizado. Aquí, si el resultado de la determinación en la etapa S314 es verdadero (Sí en S314) , la unidad de cálculo de candidatos a predictor de vector de movimiento 311 añade 1 al número de candidatos a predictor disponibles, y actualiza el valor en la etapa S5. Por otro lado, si el resultado de la determinación en la etapa S3l|4 es falso (No en S314) , la unidad de cálculo de candidatos a predictor de vector de movimiento 311 no actualiza el número de candidatos a predictor disponibles.
Como se describió arriba, si un candidato a bloque de predicción es un bloque co-localizado, la unidad de cálculo de candidatos a predictor de vector de movimiento 311 añade 1 al número de candidatos a predictor disponibles, no obstante de si el bloque co-localizado es un candidato a predictor disponible o un candidato a predictor no disponible. En consecuencia, incluso si información de un bloque co-localizado se pierde debido a pérdida de paquetes o similar, no hay diferencia en el número de candidatos a predictor disponibles entre el aparato de codificación de imágenes en movimiento y el aparto de decodificación de imágenes en movimiento.
El tamaño de la lista dé candidatos a predictor de vector de movimiento se establece en el número de candidatos a predictor disponibles en la etapa S302 en la figura 24. Además, en S303 en la figura 24, el tamaño de la lista de candidatos a predictor de vector de movimiento se usa para decodificar por longitud variable índices de predictor de vector de movimiento. En consecuencia, incluso si información de imagen de referencia que incluye información de un bloque co-localizado o similar se pierde, el aparato de decodificación de imágenes de movimiento 300 puede decodificar exitosamente índices de predictor de vector de movimiento.
La figura 26 es un diagrama de flujo que muestra procesamiento detallado en la etapa S304 en la figura 24. Específicamente, la figura 26 muestra un método para calcular candidatos a predictor de vector de movimiento. La siguiente es una descripción de la figura 26.
En la etapa S321, la unidad de cálculo de candidatos a predictor de vector de movimiento 311 calcula, del candidato a bloque de predicción [N] , un candidato a predictor de vector de movimiento en la dirección de predicción X usando las expresiones 1 y 2 arriba, y añade el candidato calculado a una correspondiente de las listas de candidatos a predictor de vector de movimiento.
En la etapa S322, la unidad de cálculo de candidatos a predictor de vector de movimiento 311 busca y borra un candidato a predictor no disponible y un candidato redundante de las listas de candidatos a predictor de vector de movimiento, como se muestra en las figuras 15A, 15B, 16A y 16B.
En la etapa S323, la unidad de cálculo de candidatos a predictor de vector de movimiento 311 añade un candidato nuevo a una correspondiente de las listas de candidatos a predictor de vector de movimiento usando el mismo método que en la figura 19.
La figura 27 muestra un ejemplo de la sintaxis usada cuando un índice de predictor de vector de movimiento se añade a un flujo de bits. En la figura 27, inter_pred_flag indica un indicador de dirección de predicción, y mvp_idx indica el índice de predictor de vector de movimiento. NumMVPCand Indica el tamaño de la lista de candidatos a predictor de vector de movimiento, y el tamaño se establece en el número de candidatos a predictor disponibles calculado en el flujo de procesamiento en la figura 25 en la presente modalidad.
Como se describió arriba, de acuerdo con el aparato de decodificación de imágenes de movimiento 300 de acuerdo con la presente modalidad, el tamaño de la lista de candidatos a predictor de vector de movimiento que se usará cuando un índice de predictor de vector de movimiento se codifique o decodifique puede calcularse usando un método independiente de información de imágenes de referencia que incluya información de un bloque co-localizado y similares. En consecuencia, el aparato de decodificación de imágenes de movimiento 300 puede decodificar adecuadamente un flujo de bits que tenga resistencia a error mejorada.
Más específicamente, el aparato de decodificación de imágenes de movimiento 300 de acuerdo con la presente modalidad siempre añade 1 al número de candidatos a predictor disponibles si un candidato a bloque de predicción es un bloque co-localizado, no obstante de si el bloque co-localizado es un candidato a predictor disponible. Después, el aparato de decodificación de imágenes de movimiento 300 determina cadenas de bits que se asignarán a índices de predictor de vector de movimiento usando el número de candidatos a predictor disponibles calculado de esta manera. En consecuencia, incluso si información de imágenes de referencia que incluye información de un bloque co-localizado se pierde, el aparato de decodificación de imágenes de movimiento 300 puede decodificar exitosamente un índice de predictor de vector de movimiento.
Además, si el número de candidatos a predictor de vector de movimiento no ha alcanzado el número de candidatos a predictor disponibles, el aparato de decodificación de imágenes de movimiento 300 de acuerdo con la presente modalidad puede decodificar adecuadamente un flujo de bits para el cual se haya llevado a cabo eficiencia de codificación al añadir un candidato nuevo que tenga un nuevo predictor de vector de movimiento como un candidato a predictor de vector de movimiento.
Se debe notar que en la presente modalidad, aunque el aparato de decodificación de imágenes de movimiento 300 añade un candidato nuevo que tiene un nuevo predictor de vector de movimiento como un candidato a predictor de vector de movimiento si el número de candidatos a predictor de vector de movimiento no ha alcanzado el número de candidatos a predictor disponibles, la presente invención no está limitada a esto. Por ejemplo, como en la modalidad 1 descrita arriba, cuando se crean las listas de candidatos a predictor de vector de movimiento, el aparato de decodificación de imágenes de movimiento 300 puede establecer un candidato nuevo que tenga un nuevo predictor de vector de movimiento como un valor inicial de todos los candidatos a predictor de vector de movimiento en las listas de candidatos a predictor de vector de movimiento.
Modalidad 4 En la modalidad 3 arriba, aunque el aparato de decodificación de imágenes en movimiento determina cadenas de bits que serán asignadas a índices de predictor de vector de movimiento usando el número de candidatos a predictor disponibles calculado al añadir siempre 1 cuando un candidato a bloque de predicción es un bloque co-localizado, no obstante de si el bloque co-localizado es un candidato a predictor disponible, la presente invención no está limitada a esto. Por ejemplo, el aparato de decodificación de imágenes en movimiento puede determinar cadenas de bits que serán asignadas a índices de predictor de vector de movimiento, usando el número de candidatos a predictor disponibles calculado también al añadir siempre 1 en el caso de un candidato a bloque de predicción que no sea un bloque co-localizado en la etapa S314 en la figura 25. Específicamente, el aparato de decodificación de imágenes en movimiento puede asignar una cadena de bits a un índice de predictor de vector de movimiento, usando el tamaño de la lista de candidatos a predictor de vector de movimiento fijado al valor máximo N del número de candidatos a predictor de vector de movimiento. En otras palabras, suponiendo que todos los candidatos a bloque de predicción sean candidatos a predictor disponibles, el aparato de decodificación e imágenes en movimiento puede fijar el tamaño de la lista de candidatos a predictor de vector de movimiento al valor máximo N del número de candidatos a predictor de vector de movimiento, y decodificar índices de predictor de vector de movimiento.
Por ejemplo, en la modalidad 3 arriba, ya que el valor máximo N del número de candidatos a predictor de vector de movimiento es 5 (bloque adyacente A, bloque adyacente B, bloque co-localizado, bloque adyacente C, bloque adyacente D) , el aparato de decodificación de imágenes en movimiento puede establecer siempre el tamaño de la lista de candidatos a predictor de vector de movimiento en 5, y decodificar índices de predictor de vector de movimiento. En consecuencia, 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 un flujo de bits, sin hacer referencia a información de bloques adyacentes o un bloque co-localizado. Como resultado, por ejemplo, procesamiento de las etapas S314 y S315 en la figura 25, por ejemplo, puede ser saltado, y de esta manera la cantidad de procesamiento que se llevará a cabo por la unidad de decodificación de longitud variable puede reducirse.
La figura 28 muestra un ejemplo de la sintaxis usada cuando el tamaño de la lista de candidatos a predictor de vector de movimiento se fija al valor máximo del número de candiatos a predictor de vector de movimiento. Como se muestra en la figura 28, NumMVPCand puede borrarse de la sintaxis si e tamaño de la lista de candidatos a predictor de vector de movimiento se fija al valor máximo del número de candidatos a predictor de vector de movimiento.
La siguiente es una descripción específica de una configuración distintiva del aparato de decodificación de imágenes en movimiento de ese tipo, como un aparato de decodificación de imágenes en movimiento de acuerdo con la modalidad 4.
La figura 29 es un diagrama de bloques que muestra una configuración de un aparato de decodificación de imágenes en movimiento 400 de acuerdo con la modalidad 4. El aparato de decodificación de imágenes en movimiento 400 decodifica una imagen codificada incluida en un flujo de bits sobre una base de bloque por bloque. Específicamente, el aparato de decodificación de imágenes en movimiento 400 decodifica, sobre una base de bloque por bloque, una imagen codificada incluida en un flujo de bits generado por el aparato de codificación de imágenes de movimiento 200 de acuerdo con la modalidad 2, por ejemplo. El aparato de decodificación de imágenes en movimiento 400 incluye una unidad de derivación de candidatos a predictor de vector de movimiento 410, una unidad de decodificación 420 y una unidad de control de predicción 430.
La unidad de derivación de candidatos a predictor de vector de movimiento 410 corresponde a la unidad de cálculo de candidatos a predictor de vector de movimiento 311 en la modalidad 3 arriba. La unidad de derivación de candidatos a predictor de vector de movimiento 410 deriva candidatos a predictor de vector de movimiento. Luego, la unidad de derivación de candidatos a predictor de vector de movimiento 410 genera listas de candidatos a predictor de vector de movimiento en las cuales cada candidato a predictor de vector de movimiento derivado se asocia con un índice para identificar el candidato a predictor de vector de movimiento (índice de predictor de vector de movimiento), por ejemplo.
Como se muestra en la figura 29, la unidad de derivación de candidatos a predictor de vector de movimiento 410 incluye la unidad de determinación de número máximo 411, una primera unidad de derivación 412, una unidad de identificación 413, una unidad de determinación 414 y una segunda unidad de derivación 415.
La unidad de determinación del número máximo 411 determina el número máximo de candidatos a predictor de vector de movimiento. Específicamente, la unidad de determinación de número máximo 211 determina el número máximo N del número de candidatos a bloque de predicción.
Por ejemplo, la unidad de determinación de número máximo 411, determina el número máximo de candidatos a predictor de vector de movimiento, usando el mismo método que aquél usado por la unidad de determinación de número máximo 211 en la modalidad 2. Además, por ejemplo, la unidad de determinación de número máximo 411 puede determinar el número máximo, con base en información que indique el número máximo añadido a un flujo de bits.
Debe notarse que aquí, aunque la unidad de determinación de número máximo 411 está incluida en la unidad de derivación de candidatos a predictor de vector de movimiento 410, la unidad de determinación de número máximo 411 puede ser incluida en la unidad de decodificación 420.
La primera unidad de derivación 412 deriva uno o más primeros candidatos a predictor de vector de movimiento. Específicamente, la primera unidad de derivación 412 deriva uno o más primeros candidatos a predictor de vector de movimiento, de la misma manera que la de la primera unidad de derivación 212 en la modalidad 2. Por ejemplo, la primera unidad de derivación 412 deriva los primeros candidatos a predictor de vector de movimiento de tal manera que el número de primeros candidatos a predictor de vector de movimiento no exceda el número máximo. Más específicamente, la primera unidad de derivación 412 deriva cada primer candidato a predictor de vector de movimiento, con base en un vector de movimiento usado para decodificar un bloque espacial o temporalmente adyacente a un bloque actual que será decodificado, por ejemplo. Después, la primera unidad de derivación 412 registra, en las listas de candidatos a predictor de vector de movimiento, el uno o más primeros candidatos a predictor de vector de movimiento derivado de esta manera, cada uno en asociación con un índice de predictor de vector de movimiento, por ejemplo.
Debe notarse que la primera unidad de derivación 412 puede derivar, como el primer candidato a predictor de vector de movimiento, un vector de movimiento usado para decodificar un bloque que sea espacialmente adyacente a un bloque actual que será decodificado, y no sea un candidato predictor no disponible, por ejemplo. En consecuencia, el primer candidato a predictor de vector de movimiento puede derivarse a partir de un bloque adecuado para obtener un candidato a predictor de vector de movimiento .
Si una pluralidad de los primeros candidatos a predictor de vector de movimiento son derivados, la unidad de identificación 413 identifica un primer candidato a predictor de vector de movimiento (candidato redundante) que tenga el mismo vector de movimiento que aquél de cualesquiera otros primeros candidatos a predictor de vector de movimiento. Luego, la unidad de identificación 413 borra el candidato redundante identificado de una correspondiente de las listas de candidatos a predictor de vector de movimiento.
La unidad de determinación 414 determina si el número de primeros candidatos a predictor de vector de movimiento es más pequeño que el número máximo determinado. Aquí, la unidad de determinación 414 determina si el número de primeros candidatos a predictor de vector de movimiento excluyendo el primero candidato a predictor de vector de movimiento redundante identificado es más pequeño que el número máximo determinado.
Si se determina que el número de primeros candidatos a predictor de vector de movimiento es más pequeño que el número máximo determinado, la segunda unidad de derivación 415 deriva uno o más segundos candidatos a predictor de vector de movimiento. Específicamente, la segunda unidad de derivación 415 deriva uno o más segundos candidatos a predictor de vector de movimiento de la misma manera que aquella para la segunda unidad de derivación 215 en la modalidad 2.
Por ejemplo, la segunda unidad de derivación 415 puede derivar un candidato a predictor de vector de movimiento que tenga un vector de movimiento diferente a aquél de cualquier primer candidato a predictor de vector de movimiento, como el segundo candidato a predictor de vector de movimiento. En consecuencia, el número de candidatos a predictor de vector de movimiento que tengan diferentes vectores de movimiento se puede incrementar, lo cual permite la decodificación de una imagen codificada para la cual se haya mejorado más la eficiencia de codificación.
Luego, la segunda unidad de derivación 415, registra, en las listas de candidatos a predictor de vector de movimiento, el uno o más segundos candidatos a predictor de vector de movimiento derivado de esta manera, cada uno en asociación con un índice de predictor de vector de movimiento, como en la misma manera que para la segunda unidad de derivación 215 en la modalidad 2, por ejemplo.
La unidad de decodificación 420 decodifica, usando el número máximo determinado, un índice decodificado añadido a un flujo de bits y usado para identificar un candidato a predictor de vector de movimiento.
La unidad de control de predicción 30 selecciona un predictor de vector de movimiento que se usará para decodificar un bloque actual que será decodificado, de entre el uno o más primeros candidatos a predictor de vector de movimiento, y el uno o más segundos candidatos a predictor de vector de movimiento, con base en el índice decodificado. Específicamente, la unidad de control de predicción 430 selecciona, de las listas de candidatos a predictor de vector de movimiento, un predictor de vector de movimiento que se usará para decodificar un bloque actual que será decodificado .
A continuación se da una descripción de varias operaciones del aparato de decodificación de imágenes en movimiento 400 constituido como se describió arriba.
La figura 30 es un diagrama de flujo que muestra la operación de procesamiento del aparato de decodificación de imágenes en movimiento 400 de acuerdo con la modalidad 4.
Primero, la unidad de determinación de números máximos 411 determina el número máximo de candidatos a predictor de vector de movimiento (S401) . La primera unidad de derivación 412 deriva uno o más primeros candidatos a predictor de vector de movimiento (S402) . Si se deriva una pluralidad de los primeros candidatos a predictor de vector de movimiento, la unidad de identificación 413 identifica un primer candidato a predictor de vector de movimiento que tenga el mismo vector de movimiento que aquél de cualquier otro primer candidato a predictor de vector de movimiento (S403) .
La unidad de determinación 414 determina si e número de primeros candidatos a predictor de vector de movimiento excluyendo un candidato redundante es más pequeño del número máximo determinado (S404). Aquí, si se determina que el número de primeros candidatos a predictor de vector de movimiento excluyendo un candidato redundante es más pequeño que el número máximo determinado (Sí en S404), la segunda unidad de derivación 415 deriva uno o más segundos candidatos a predictor de vector de movimiento (S405) . Por otro lado, si no se determina que el número de primeros candidatos a predictor de vector de movimiento excluyendo un candidato redundante es más pequeño que el número máximo determinado (No en S404) , la segunda unidad de derivación 415 no deriva un segundo candidato a predictor de vector de movimiento.
La unidad de decodificación 420 decodifica un índice codificado añadido a un flujo de bits y usado para identificar un candidato a predictor de vector de movimiento, usando el número máximo determinado (S406) .
La unidad de control de predicción 430 selecciona, de entre el uno o más primeros candidatos a predictor de vector de movimiento y el uno o más segundos candidatos a predictor de vector de movimiento, un predictor de vector de movimiento que se usará para decodificar un bloque actual que será decodificado, con base en el índice decodificado (S407) .
Se debe notar que aquí, aunque un índice es decodificado (S406) después de que se deriva un candidato a predictor de vector de movimiento, el procesamiento no necesariamente tiene que llevarse a cabo en tal orden. Por ejemplo, el procesamiento para derivar un candidato a predictor de vector de movimiento (S402 a S405) se puede llevar a cabo después de decodificar un índice (S406) . Además, decodificar un índice (S406) y derivar un candidato a predictor de vector de movimiento (S402 a S405) se pueden llevar a cabo en paralelo. En consecuencia, se puede incrementar la velocidad de procesamiento de decodificación.
Como se describió arriba, de acuerdo con el aparato de decodificación de imágenes en movimiento 400 de acuerdo con la presente modalidad, un índice para identificar un candidato a predictor de vector de movimiento puede decodificarse usando el número máximo determinado. Específicamente, un índice puede decodificarse sin depender del número de candidatos a predictor de vector de movimiento actualmente derivado. Por lo tanto, incluso si información necesaria para derivar un candidato a predictor de vector de movimiento (por ejemplo, información de un bloque colocalizado y similares) se pierde, se puede decodificar un índice, y la resistencia a error puede ser mejorada. Más aún, un índice puede decodificarse sin esperar la derivación de un candidato a predictor de vector de movimiento, y de esta manera derivar un candidato a predictor de vector de movimiento y decodificar un índice también se pueden llevar a cabo en paralelo.
Además, de acuerdo con el aparato de decodificación de imágenes en movimiento 400 de acuerdo con la presente modalidad, si se determina que el número de primeros candidatos a predictor de vector de movimiento es más pequeño que el número máximo, uno o más segundos candidatos a predictor de vector de movimiento pueden derivarse. Por lo tanto, el número de candidatos a predictor de vector de movimiento puede incrementarse en un intervalo que no exceda el número máximo, y de esta manera una imagen codificada para a cual la eficiencia de codificación se haya mejorado puede ser decodificada .
Además, de acuerdo con el aparato de decodificación de imágenes en movimiento 400 de acuerdo con la presente modalidad, uno o más segundos candidatos a predictor de vector de movimiento pueden derivarse de acuerdo con el número de primeros candidatos a predictor de vector de movimiento excluyendo un primer candidato a predictor de vector de movimiento redundante. Como resultado, el número de segundos candidatos a predictor de vector de movimiento puede incrementarse, y los tipos de combinaciones seleccionables de una dirección de predicción, un vector de movimiento y un índice de imágenes de referencia pueden incrementarse. Por lo tanto, es posible decodificar una imagen codificada para la cual se haya mejorado más la eficiencia de codificación.
Debe notarse que en la presente modalidad, aunque el aparato de decodificación de imágenes en movimiento 400 incluye la unidad de identificación 413, el aparato de decodificación de imágenes en movimiento 400 no necesariamente tiene que incluir la unidad de identificación 413, como en la modalidad 2. En otras palabras, la etapa S403 no necesariamente tiene que ser incluida en el diagrama de flujo mostrado en la figura 30. Incluso en tal caso, el aparato de decodificación de imágenes en movimiento 400 puede decodificar un índice para identificar un candidato a predictor de vector de movimiento usando el número máximo determinado, y de esta manera se puede mejorar la resistencia a error.
Además, aunque en la presente modalidad, la primera unidad de derivación 412 deriva los primeros candidatos a predictor de vector de movimiento, y posteriormente la unidad de identificación 413 identifica un candidato redundante como se muestra en la figura 30, el procesamiento no necesariamente tiene que llevarse a cabo secuencialmente de esta manera. Por ejemplo, la primera unidad de derivación 412 puede derivar un candidato predictor de vector de movimiento que tenga un vector de movimiento que no sea el mismo que aquél de cualquier candidato a predictor de vector de movimiento ya derivado, como el primer candidato a predictor de vector de movimiento.
Aunque la anterior es una descripción del aparato de codificación de imágenes en movimiento y el aparato de decodificación de imágenes en movimiento de acuerdo con uno o más aspectos de la presente invención, con base en las modalidades, la presente invención no está limitada a las modalidades Anteriores. La materia aquí descrita debe considerarse descriptiva e ilustrativa únicamente, y las reivindicaciones anexas son de un alcance destinado a cubrir y abarcar no sólo las modalidades particulares descritas, sino también estructuras equivalentes, métodos y/o usos.
Cada uno de los elementos constituyentes en las modalidades descritas arriba puede configurarse en forma de un producto de hardware exclusivo, o se puede lograr al ejecutar un programa de software adecuado para el elemento estructural. Cada uno de los elementos constituyentes puede lograrse por medio de una unidad de ejecución de programas tal como una CPU y un procesador lee y ejecuta el programa de software grabado en un medio de grabación tal como un disco duro o una memoria semiconductora. Aquí, el programa software para lograr el aparato de codificación de imágenes en movimiento o el aparato de decodificación de imágenes en movimiento de acuerdo con las modalidades anteriores es un programa descrito abajo.
Específicamente, el programa hace que una computadora ejecute un método de codificación de imágenes en movimiento para calcular un predictor de vector de movimiento que se usará cuando se codifique un vector de movimiento de un bloque actual que será codificado, y codificar el bloque actual, para generar un flujo de bits, el método incluye: determinar un número máximo de candidatos a predictor de vector de movimiento cada uno de los cuales sea un candidato para el predictor de vector de movimiento; derivar uno o más primeros candidatos a predictor de vector de movimiento; determinar si un número total del uno o más primeros candidatos a predictor de vector de movimiento es más pequeño que el número máximo; derivar uno o más segundos candidatos a predictor de vector de movimiento cuando se determina que el número total del uno o más primeros candidatos a predictor de vector de movimiento es más pequeño que el número máximo; seleccionar, de entre el uno o más primeros candidatos a predictor de vector de movimiento y el uno o más segundos candidatos a predictor de vector de movimiento, el predictor de vector de movimiento que será usado para decodificar el vector de movimiento del bloque actual; y codificar, usando el número máximo determinado, un índice para identificar el predictor de vector de movimiento seleccionado, y añadir el índice codificado al flujo de bits.
Como alternativa, el programa hace que una computadora ejecute un método de decodificación de imágenes en movimiento para calcular un predictor de vector de movimiento que se usará cuando se decodifique un vector de movimiento de un bloque actual que será decodificado que se incluye en un flujo de bits y decodificar el bloque actual, el método incluye: determinar un número máximo de candidatos a predictor de vector de movimiento cada uno de los cuales sea un candidato para el predictor de vector de movimiento; derivar uno o más primeros candidatos a predictor de vector de movimiento; determinar si un número total del uno o más primeros candidatos un número máximo a predictor de vector de movimiento es más pequeño que el número máximo; derivar uno o más segundos candidatos a predictor de vector de movimiento cuando se determine que el número total del uno o más primeros candidatos a predictor de vector de movimiento sea más pequeño que el número máximo; decodificar, usando el número máximo determinado, un índice codificado añadido al flujo de bits y usado para identificar el predictor de vector de movimiento; y seleccionar, con base en el índice decodificado, un predictor de vector de movimiento que se usará para decodificar el bloque actual, de entre el uno o más primeros candidatos a predictor de vector de movimiento y el uno o más segundos candidatos a predictor de vector de movimiento .
Modalidad 5 El procesamiento descrito en cada una de las modalidades puede simplemente implementarse 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 magnético óptico, una tarjeta IC o una memoria semiconductora.
En adelante se describirán las aplicaciones al método de codificación de imágenes en movimiento (método de codificación de imágenes) y al 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 y sistemas que usan los mismos. El sistema tiene una característica de tener un aparato de codificación y decodificación de imágenes que incluye un aparato de codificación de imágenes que usa el método de codificación de imágenes y un aparato de decodificación de imágenes que usa el método de decodificación de imágenes. Otras configuraciones en el sistema pueden ser cambiadas según sea adecuado dependiendo de los casos .
La figura 31 ilustra una configuración general de un sistema de provisión de contenido exlOO para implementar servicios de distribución de contenido. El área para proporcionar servicios de comunicación se divide en células de tamaño deseado, y estaciones base exl06( exl07, exl08, exl09 y exllO, las cuales son estaciones inalámbricas fijas se ponen en cada una de las células.
El sistema de provisión de contenido exlOO se conecta a dispositivos, tales 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 máquina de juegos exll5, por medio de Internet exlOl, un proveedor de servicios de Internet exl02, una red telefónica exl04, así como las estaciones base exl06 y 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 31, y es aceptable una combinación en la cual se conecten cualquiera de los elementos. Además, cada dispositivo puede ser conectado directamente a la red telefónica exl04, en lugar de por medio de las estaciones base exl06 a exllO las cuales son las estaciones inalámbricas fijas. Más aún, los dispositivos pueden ser interconectados entre sí por medio de comunicación inalámbrica de corta distancia y otros.
La cámara exll3, tal como una cámara de video digital, es capaz de capturar video. Una cámara exll6, tal como una cámara de video digital, es capaz de capturar tanto imágenes fijas como video. Más aún, el teléfono celular exll4 puede ser el que cumpla con cualquiera de las normas tales como sistema global para comunicaciones móviles (GSM) (marca registrada) , Acceso Múltiple por División de Códigos (CDMA) , Acceso Múltiple por División de Códigos de Banda Ancha ( -CDMA) , Evolución a Largo Plazo (LTE, por sus siglas en inglés) y Acceso por Paquetes de Alta Velocidad (HSPA, por sus siglas en inglés) . Como alternativa, el teléfono celular exll4 puede ser un Sistema de Teléfonos Personales (PHS, por sus siglas en inglés) .
En el sistema de provisión de contenido exlOO, un servidor de flujo continuo exl03 está conectado a la cámara exll3 y otros por medio de la red telefónica exl04 y la estación base exl09, lo cual hace posible la distribución de imágenes de un programa en vivo y otros . En tal distribución, un contenido (por ejemplo, video de un programa musical en vivo) capturado por el usuario usando la cámara exll3 es codificado como se describió arriba 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 es transmitido al servidor de flujo continuo exl03. Por otro lado, el servidor de flujo continuo exl03 lleva a cabo la distribución de flujos de los datos de contenido transmitidos a los clientes a sus solicitudes. Los clientes incluyen la computadora exlll, el PDA exll2, la cámara exll3, el teléfono celular exll4 y la máquina de juegos exll5 que son capaces de decodificar los datos codificados mencionados arriba. Cada uno de los dispositivos que han 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 flujo continuo exl03 que transmita los datos, o el proceso de codificación puede compartirse entre la cámara exll3 y el servidor de flujo continuo exl03. De manera similar, los datos distribuidos pueden ser decodificados por los clientes o el servidor de flujo continuo exl03, o los procesos de decodificación pueden ser compartidos entre los clientes y el servidor de flujo continuo exl03. Además, los datos de las imágenes fijas y video capturados no sólo por la cámara exll3 sino también por la cámara exll6 sino también por la cámara exll6 pueden ser transmitidos al servidor de flujo continuo exl03 a través de la computadora exlll. Los procesos de codificación pueden llevarse a cabo por la cámara exll6, la computadora exlll, o el servidor de formación de flujos exll3, o compartirse entre ellos.
Además, los procesos de codificación y decodificación pueden llevarse a cabo por un LSI ex500 incluido generalmente en cada uno de la computadora exlll y los dispositivos. El LSI ex500 puede configurarse de un solo chip o una pluralidad de chips . Software para codificar y decodificar video puede ser integrado en cierto tipo de un medio de grabación (tal como un CD-ROM, un disco flexible y un disco duro) que sea legible por la computadora exlll y otros, y los procesos de codificación y decodificación pueden llevarse a cabo usando el software. Además, cuando el teléfono celular exll4 esté equipado con una cámara, los datos de imagen obtenidos por la cámara pueden ser transmitidos. Los datos de video son datos codificados por el LSI ex500 incluido en el teléfono celular exll4.
Más aún, el servidor de flujo continuo exl03 puede estar compuesto de servidores y computadoras, y puede descentralizar datos y procesar los datos descentralizados, grabar o distribuir datos.
Como se describió arriba, 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 reproducir los datos decodificados en tiempo real en el sistema de provisión de contenido exlOO, de tal forma que el usuario que no tenga ningún derecho y equipo particular puede implementar difusión personal.
Aparte del ejemplo del sistema de provisión de contenido exlOO, al 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 pueden implementarse en un sistema de difusión digital ex200 ilustrado en la figura 32. Más específicamente, una estación de difusión ex201 comunica o transmite, por medio de ondas de radio con un satélite de difusión ex202, datos multiplexados obtenidos al mutliplexar datos de audio y otros datos de video. Los datos de video son datos codificados por el método de codificación de imágenes en movimiento descrito en cada una de las modalidades (es decir, datos codificados por el aparato de codificación de imágenes de acuerdo con un aspecto de la presente invención) . Después de la recepción de los datos multiplexados, el satélite de difusión ex202 transmite ondas de radio para difusión. Luego, una antena de uso doméstico ex204 con una función de recepción de difusión por satélite recibe las ondas de radio. Después, un dispositivo tal como una televisión (receptor ex300) y un decodificador de caja (STB) ex217 decodifica los datos multiplexados recibidos, y reproduce los datos decodificados (es decir, funciona como el aparato de codificación de imágenes en la presente invención) .
Más aún, un lector/grabador ex218 (i) lee y decodifica los datos multiplexados 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 los mostrados en cada una de las modalidades. En este caso, las señales de video reproducidas son presentadas visualmente en el monitor ex219, y se pueden reproducir por otro dispositivo o sistema usando el medio de grabación ex215 en el cual estén grabados los datos multiplexados . También es posible implementar el aparato de decodificación de imágenes en movimiento en el decodificador de caja ex217 conectado al cable ex203 para una televisión por cable o a la antena ex204 para difusión vía satélite y/o terrestre, para de esta manera presentar visualmente 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 ser implementado no en el decodificador de caja sino en la televisión ex300.
La figura 33 ilustra la televisión (receptor) ex300 que usa 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 sintonizador 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., que recibe una difusión; una unidad de modulación/desmodulación ex302 que desmodula los datos multiplexados recibidos o modula datos en datos multiplexados para ser suministrados al exterior; y una unidad multiplexora/desmultiplexora ex303 que desmultiplexa los datos multiplexados modulados en datos de video y datos de audio, o multiplexa datos de video y datos de audio codificados por una unidad de procesamiento de señales ex306 en datos.
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 presentación visual ex302 que presenta visualmente la señal de video decodificada, tal como una pantalla. Además, la televisión ex300 incluye una unidad de interfaz ex317 que incluye una unidad de entrada de operación ex312 que recibe una entrada de una operación de usuario. Además, la televisión ex300 incluye una unidad de control ex310 que controla sobretodo cada elemento constituyente de la televisión ex300, y una unidad de circuito de suministro de energía a cada uno de los elementos. A diferencia de la unidad de entrada de operación ex312, la unidad de interfaz ex317 puede incluir: un puente ex313 que esté conectado a un dispositivo externo, tal como el lector/grabador ex218, una unidad de ranura exl4 para hacer posible la inserción de un medio de grabación ex216, tal como una tarjeta SD; un controlador ex315 que será conectado a un medio de grabación externo, tal como un disco duro; y un módem ex316 que será conectado a una red telefónica. Aquí, el medio de grabación ex216 puede grabar eléctricamente información usando un elemento de memoria semiconductora no volátil/volátil para almacenamiento. Los elementos constituyentes de la televisión ex300 están conectados entre sí a través de un bus sincronizado.
Primero se describirá la configuración en la cual la televisión ex300 decodifica datos multiplexados obtenidos del exterior a través de la antena ex304 y otros y reproduce los datos decodificados . En la televisión ex300, después de una operación de usuario a través de un control remoto ex220 y otros, la unidad multiplexora/desmultiplexora ex303 desmultiplexa los datos multiplexados desmodulados por la unidad de modulación/desmodulación ex302, bajo control de la unidad de control ex310 que incluye una CPU. Además, la unidad de procesamiento de señales de audio ex304 decodifica los datos de audio desmultiplexados, y la unidad de procesamiento de señales de video ex305 decodifica los datos de video desmultiplexados, usando 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 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 memoria de almacenamiento temporal ex318 y ex319, y otras de tal forma que las señales sean reproducidas en sincronización unas con otras. Más aún, la televisión ex300 puede leer datos mult iplexados no a través de una difusión y otros sino provenientes de medios de grabación ex215 y ex216, tal como un disco magnético, un disco óptico y una tarjeta Sti. A continuación se describirá una configuración en la cual la televisión ex300 codifique 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, después de una operación de usuario a través del control remoto 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 usando el método de codificación descrito en cada una de las modalidades. La unidad mutliplexora/desmultiplexora ex303 multiplexa la señal de video y señal de audio codificadas, y proporciona la señal resultante al exterior. Cuando la unidad multiplexora/desmultiplexora ex303 multiplexa la señal de video y la señal de audio, las señales pueden ser almacenadas temporalmente en las memorias de almacenamiento temporal ex320 y ex321, y otros de tal manera que las señales sean reproducidas en sincronización unas con otras. Aquí, las memorias de almacenamiento temporal ex318, ex319, ex320 y ex321 pueden ser varias como se ilustra, o al menos una memoria de almacenamiento temporal puede ser compartida en la televisión ex300. Además, datos pueden ser almacenados en una memoria de almacenamiento temporal de tal manera que el desbordamiento y subdesbordamiento de sistema puedan evitarse entre la unidad de modulación/desmodulación ex302 y la unidad multiplexora/desmultiplexora ex300, por ejemplo.
Más aún, la televisión ex300 puede incluir una configuración para recibir una entrada de AV desde un micrófono o una cámara que no sea 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 sólo de recibir, decodificar y proporcionar datos al exterior pero no decodificar, multiplexar y proporcionar datos al exterior.
Además, cuando el lector/grabador ex218 lee o escribe datos multiplexados de o sobre un medio de grabación, una de la televisión ex300 y el lector/grabador ex218 pueden decodificar o codificar los datos multiplexados, y la televisión ex300 y el lector/grabados ex218 pueden compartir la decodificación o codificación.
Como un ejemplo, la figura 34 ilustra una configuración de una unidad de reproducción/grabación de información ex400 cuando datos son leídos o escritos de o sobre un disco óptico. La unidad de reproduceión/grabación de información ex400 incluye elementos constituyentes ex400, ex402, ex403, ex404, ex405, ex406 y ex407 que se describirán más adelante en la presente. La cabeza óptica ex401 irradia un punto láser en una superficie dé grabación del medio de grabación ex215 que es un disco óptico para escribir información, y detecta la luz reflejada desde la superficie de grabación del medio de grabación ex215 para leer la información. La unidad de grabación por modulación ex402 excita eléctricamente un láser semiconductor incluido en la cabeza óptica ex401, y modula la luz láser de acuerdo con los datos grabados. La unidad de desmodulación de reproducción ex403 amplifica una señal de reproducción obtenida al detectar eléctricamente la luz reflejada desde la superficie de grabación usando un fotodetector incluido en la cabeza óptica ex401, y desmodula la señal de reproducción al separar un componente de señal grabado en el medio de grabación ex215 para reproducir la información necesaria. La memoria de almacenamiento temporal ex404 contiene temporalmente la información que será grabada en el medio de grabación ex215 y la información reproducida del medio de grabación ex215. El motor de disco ex405 hace girar el medio de grabación ex215. La unidad de servo control ex406 mueve la cabeza óptica ex401 a una pista de información predeterminada mientras controla el impulso de rotación del motor de disco ex405 para que siga al punto láser. La unidad de control de sistema ex407 controla sobretodo la unidad de reproducción/grabación de información ex400. Los procesos de lectura y escritura pueden implementarse por la unidad de control de sistema ex407 usando información variada almacenada en la memoria de almacenamiento temporal ex404 y generando y añadiendo información nueva según sea necesario, y por la unidad de grabación por modulación ex402, la unidad de desmodulación de reproducción ex403 y la unidad de servo control ex406 que graban y reproducen información a través de la cabeza óptica ex 401 mientras son operadas de una manera coordinada. La unidad de control de sistema ex407 incluye, por ejemplo, un microprocesador, y ejecuta procesamiento al hacer que una computadora ejecute un programa para leer y escribir.
Aunque la cabeza óptica ex401 irradia un punto láser en la descripción, puede llevar a cabo grabación de alta densidad usando luz de campo cercano.
La figura 35 ilustra el medio de grabación ex215 que es el disco óptico. Sobre la superficie de grabación del medio de grabación ex215, se forman espiralmente ranuras de guía, y una pista de información ex230 graba, por adelantado, información de dirección que indica una posición absoluta en el disco de acuerdo con cambio en una forma de las ranuras de 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 lectura de la información de dirección en un aparato que graba y reproduce datos pueden llevara a la determinación de las posiciones de los bloques de grabación. Además, 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 usarse en la grabación de los datos de usuario. El área de circunferencia interior ex232 y el área de circunferencia exterior ex234 que están dentro y fuera del área de grabación de datos ex233, respectivamente, son para uso específico excepto para grabar los datos de 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 obtenidos al multiplexar los datos de audio y video codificados, de y en 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 BD se describen como un ejemplo en la descripción, el disco óptico no está limitado a ellos, y puede ser un disco óptico que tenga una estructura de capas múltiples y sea capaz de ser grabado en una parte que no sea la superficie. Más aún, el disco óptico puede tener una estructura para grabación/reproducción multidimensional , tal como grabación de información usando luz de colores con diferentes longitudes de onda en la misma porción del disco óptico y para grabar información que tenga diferentes capas desde varios ángulos.
Además, un auto ex210 que tenga una antena ex205 puede recibir datos desde el satélite ex202 y otros, y reproducir video en un dispositivo de presentación visual tal como un sistema de navegación de vehículo ex211 instalado en el auto ex210, en el sistema de difusión digital ex200. Aquí, una configuración del sistema de navegación vehicular ex211 será una configuración, por ejemplo, que incluya una unidad de recepción GPS de la configuración ilustrada en la figura 33. Lo mismo será cierto para la configuración de la computadora exlll, el teléfono celular exl!4 y otros.
La figura 36A ilustra el teléfono celular exll4 que usa el método de decodificació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 presentación visual ex358 tal como un presentador visual de cristal líquido para presentar visualmente los datos tales como video decodificado capturado por la unidad de cámara ex365 o recibido por la antena ex350. El teléfono celular exll4 incluye además: una unidad de cuerpo principal que incluye una unidad de tecla de operación ex366; una unidad de salida de audio ex357 tal como un altavoz para salida de audio,- una unidad de entrada de audio ex356 tal como un micrófono para entrada de audio; una unidad de memoria ex367 para almacenar video capturado o imágenes fijas, 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 interfaz para un medio de grabación que almacena datos de la misma manera que la unidad de memoria ex367.
A continuación se describirá un ejemplo de una configuración del teléfono celular exll4 con referencia a la figura 36B. En el teléfono celular exll4, una unidad de control principal ex360 diseñada para controlar totalmente cada unidad del cuerpo principal incluyendo la unidad de presentación visual ex358 así como la unidad de tecla de operación ex366 que se conecta mutuamente, por medio de un bus sincronizado ex370, a una unidad de circuito 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 interfaz de cámara ex366, una unidad de control de presentador visual de cristal líquido (LCD) ex359, una unidad de modulación/desmodulación ex352, una unidad multiplexora/desmultiplexora 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 fin de llamada o una tecla de encendido es encendida por la operación de un usuario, la unidad de circuito de suministro de energía ex361 suministra a las unidades respectivas energía desde una batería para activar así 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 digitales bajo el control de la unidad de control principal ex360 que incluye una CPU, ROM y RAM. Luego, la unidad de modulación/desmodulación ex352 lleva a cabo procesamiento de espectro disperso en las señales de audio o digital, y la unidad de transmisión y recepción ex305 no lleva a cabo conversión digital a análoga y conversión de frecuencia en los datos, para de esta manera transmitir los datos resultantes por medio de la antena ex350. Asimismo, 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 lleva a cabo conversión de frecuencia y la conversión análoga a digital en los datos. Luego, la unidad de modulación/desmodulación ex352 lleva a cabo procesamiento de espectro disperso inverso en los datos, y la unidad de procesamiento de señales de audio ex354 los convierte en señales de audio análogas, para de esta manera ingresarlas por medio de la unidad de salida de audio ex357.
Además, cuando un correo electrónico en modo de comunicación de datos es transmitido, datos de texto del correo electrónico ingresados al operar la unidad de teclas de operación ex366 y otros del cuerpo principal son enviados a la unidad de control principal ex360 por medio de la unidad de control de entrada de operación ex362. La unidad de control principal ex360 hace que la unidad de modulación/desmodulación ex352 lleve a cabo procesamiento de espectro disperso en los datos de texto, y la unidad de transmisión y recepción ex351 lleva a cabo la conversión digital a análoga y la conversión de frecuencia en los datos resultantes para transmitir los datos a la estación base exllO por medio de la antena ex350. Cuando se recibe un correo electrónico, el procesamiento que sea aproximadamente inverso al procesamiento para transmitir un correo electrónico se lleva a cabo en los datos recibidos, y los datos resultantes son provistos a la unidad de presentación visual ex358.
Cuando video, imágenes fijas o video y audio en modo de comunicación de datos es o son transmitidos, la unidad de procesamiento de señales de video ex355 comprime y codifica señales de video suministradas desde la unidad de cámara ex365 usando 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 un aspecto de la presente invención) , y transmite los datos de video codificados a la unidad multiplexora/desmultiplexora ex353. En contraste, durante el tiempo en que 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 multiplexora/desmultiplexora ex353.
La unidad multiplexora/desmultiplexora ex353 multiplexa los datos de video codificados suministrados desde la unidad de procesamiento de señales de video ex355 y los datos de audio codificados suministrados desde la unidad de procesamiento de señales de audio ex354, usando un método predeterminado. Luego, la unidad de modulación/desmodulación (unidad de circuito de modulación/desmodulación) ex352 lleva a cabo procesamiento de espectro disperso en los datos multiplexados , y la unidad de transmisión y recepción ex351 lleva a cabo conversión digital a análoga y conversión de frecuencia en los datos para de esta manera transmitir los datos resultantes por medio de la antena ex350.
Cuando se reciben datos de un archivo de video que está enlazado a una página web y otros en modo de comunicación de datos o cuando se recibe un correo electrónico con video y/o audio adjunto, para poder decodificar los datos multiplexados recibidos por medio de la antena ex350, la unidad multiplexora/desmultiplexora ex353 desmultiplexa los datos mutiplexados en un flujo de bits de datos de video y un flujo de bits de datos de audio, y suministra a la unidad de procesamiento de señales de video ex355 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 del bus sincronizado ex370. La unidad de procesamiento de señales de video ex355 decodifica la señal de video usando 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 un aspecto de la presente invención) , y luego la unidad de presentación visual ex358 presenta visualmente, por ejemplo, el video e imágenes fijas incluidos en el archivo de video enlazado a la página web por medio de la unidad de control LCD ex359. Además, 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.
Además, de manera similar a la televisión ex300, una terminal tal como el teléfono celular exll4 probablemente tendrá tres tipos de configuraciones de implementación incluyendo no sólo (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 sólo un aparato de codificación y (iii) una terminal de recepción que incluye sólo un aparato de decodificación. Aunque el sistema de difusión digital ex200 recibe y transmite los datos multiplexados obtenidos 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 caracteres relacionados con video en datos de video, y puede no ser datos multiplexados sino los propios datos de video.
De esta manera, 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 puede usarse en cualquiera de los dispositivos y sistemas descritos. Así, se pueden obtener las ventajas descritas en cada una de las modalidades.
Más aún, la presente invención no está limitada a modalidades, y varias modificaciones y revisiones son posibles sin alejarse del alcance de la presente invención.
Modalidad 6 Datos de video pueden ser generados al cambiar, según 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 una norma diferente, tal como MPEG-2, MPEG4-AVC, y VC-1.
Aquí, cuando una pluralidad de datos de video que se conforman a las diferentes normas se genera y es luego decodificada, los métodos de decodificación tienen que seleccionarse para conformarse a las normas diferentes. Sin embargo, ya que no puede detectarse a cuál norma se conforma cada una de la pluralidad de datos de video que serán decodificados , existe un problema de que un método de decodificación adecuado no puede seleccionarse.
Para resolver el problema, datos multiplexados obtenidos al multiplexar datos de audio y otros datos de video tienen una estructura que incluye información de identificación que indica a qué norma se conforman los datos de video. La estructura específica de los datos multiplexados incluyendo 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 mostradas en cada una de las modalidades se describirán a continuación en la presente. Los datos multiplexados es un flujo digital en el formato de flujos de transporte MPEG2.
La figura 37 ilustra una estructura de los datos multiplexados. Como se ilustra en la figura 37, los datos multiplexados pueden ser obtenidos al multiplexar al menos uno de un flujo de video, un flujo de audio, un flujo de gráficos de presentación (PG) y un flujo de gráficos interactivos. El flujo de video representa video primario y video secundario de una película, el flujo de audio (IG) representa una parte de audio primaria y una parte de audio secundaria que se mezclará con la parte de audio primaria, y el flujo de gráficos de presentación representa subtítulos de la película. Aquí, el video primario es video normal que será presentado visualmente en una pantalla, y el video secundario es video que será presentado visualmente en una ventana más pequeña en el video primario. Además, el flujo de gráficos interactivos representa una pantalla interactiva que se generará al disponer los componentes GUI en una pantalla. El flujo de video es codificado en el método de codificación de imágenes en movimiento o por el aparato de codificación de imágenes en movimiento mostradas 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 una norma convencional, tal como MPEG-2, MPEG4-AVC, y VC-1. El flujo de audio es codificado de acuerdo con una norma, tal como Dolby-AC-3, Dolby Digital Plus, MLP, DTS, DTS-HD y PCM lineal .
Cada flujo incluido en los datos multiplexados se identifica por PID. Por ejemplo, 0x1011 se asigna al flujo de video que será usado para video de una película, 0x1100 a OxlllF se asignan en los flujos de audio, 0x1200 a 0xl21F se asignan a los flujos de gráficos de presentación, 0x1400 a 0xl41F se asignan a los flujos de gráficos interactivos, OxlBOO a 0xlB12F se asignan a los flujos de video que se usarán para video secundario de la película, y OxlAOO a OxlAlF se asignan a los flujos de audio que se usarán para el video secundario que se mezclará con el audio primario.
La figura 38 ilustra esquemáticamente cómo se multiplexan datos. Primero, un flujo de video ex235 compuesto de cuadros de video y un flujo de audio ex238 compuesto de cuadros de audio se transportan en un flujo de paquetes PES ex236 y un flujo de paquetes PES ex239, y además en paquetes TS ex237 y paquetes TS ex240, respectivamente. En forma similar, datos de un flujo de gráficos de presentación ex241 y datos de un flujo de gráficos interactivos ex244 se transforman en un flujo de paquetes PES ex242 y un flujo de paquetes PES ex245, y además en paquetes TS ex243 y paquetes TS ex246, respectivamente. Estos paquetes TS son multiplexados en un flujo para obtener datos multiplexados ex247.
La figura 39 ilustra cómo se almacena un flujo de video en un flujo de paquetes PES en más detalle. La primera barra en la figura 39 muestra un flujo de cuadros de video en un flujo de video. La segunda barra muestra el flujo de paquetes PES. Como se indica por flechas indicadas como yyl, yy2, yy3 y yy4 en la figura 39, el flujo de video es dividido 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 una marca de tiempo de presentación (PTS) que indica una hora de presentación visual de la imagen, y una marca de tiempo de decodificación (DTS) que indica un tiempo de decodificación de la imagen.
La figura 40 ilustra un formato de paquetes TS que serán finalmente escritos en los datos multiplexados . Cada uno de los paquetes TS es un paquete con una longitud fija de 188 bytes que incluye un encabezado TS de 4 bytes que tiene información, tal como una PID para identificar un flujo y una carga útil TS de 184 bytes para almacenar datos. Estos paquetes PES se dividen, y almacenan en las cargas útiles TS, respectivamente. Cuando se usa un BD ROM, cada uno de los paquetes TS se le da un TP_Extra_Header de 4 bytes, dando como resultado entonces paquetes de origen de 192 bytes. Los paquetes de origen son escritos en los datos multiplexados. El TP_Extra_Header almacena información tal como un Arrival_Time_Stamp (ATS) . La ATS muestra una hora de inicio de transferencia a la cual cada uno de los paquetes TS van a ser transferidos a un filtro PID. Los paquetes de origen son dispuestos en los datos multiplexados como se muestran en el fondo de la figura 40. Los números que se incrementan desde la parte superior de los datos multiplexados son llamados números de paquetes de origen (SPNs) .
Cada uno de los paquetes TS incluidos en los datos multiplexados incluye no sólo flujos 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 mapas 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 una PID en una PMT usada en los datos multiplexados , y una PID de la propia PAT se registra como cero. La PMT almacena PIDs de los flujos de video, audio, subtítulos y otros incluidos en los datos multiplexados, información de atributo de los flujos que correspondan a los PIDs. La PMT tiene también 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 la copia de los datos multiplexados. La PCR almacena información de tiempo STC que corresponde a una ATS que muestra cuando el paquete PCR se transfiere a un decodificador, para lograr de esta manera 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 41 ilustra la estructura de datos de la PMT en detalle. Un encabezado de PMT se dispone en la parte superior 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 dispone después del encabezado de PMT. Información tal como la información de control de copia se describe en los descriptores. Después de los descriptores, se dispone una pluralidad de piezas de información de flujo que se refieren a los flujos incluidos en los datos multiplexados . Cada pieza de información de flujo incluye descriptores de flujo que describen cada uno información, tal como un tipo de flujo para identificar un codee de compresión de un flujo, un PID de flujo e información de atributos de flujo (tal como una velocidad de cuadros o una relación de aspecto) . Los descriptores de flujo son iguales en número al número de flujos en los datos multiplexados.
Cuando los datos multiplexados son grabados 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 administración de los datos multiplexados como se muestra en la figura 42. Los archivos de información de datos multiplexados están en correspondencia uno a uno con los datos multiplexados, y cada uno de los archivos incluye información de datos multiplexados, información de atributo de flujos y un mapa de entrada .
Como se ilustra en la figura 42, la información de datos multiplexados incluye una velocidad de sistema, una hora de inicio de reproducción y una hora de fin de reproducción. La velocidad de sistema indica la velocidad de transferencia máxima a la cual un decodi icador objetivo de sistema que será descrito más adelante transfiere los datos multiplexados a un filtro PID. Los intervalos de los ATSs incluidos en los datos multiplexados se establecen para no ser más altos que una velocidad de sistema. La hora de inicio de reproducción indica una PTS en un cuadro de video en el encabezado de los datos multiplexados. Un intervalo de un cuadro se añade a un PTS en un cuadro de video al final de los datos multiplexados, y el PTS se establece en la hora de fin de reproducción.
Como se muestra en la figura 43, una pieza de información de atributos se registra en la información de atributos de flujo, para cada PID de cada flujo incluido en los datos multiplexados. Cada pieza de información de atributos tiene información diferente dependiendo de si el flujo correspondiente es un flujo de video, un flujo de audio, un flujo de gráficos de presentación o un flujo de gráficos interactivos. Cada pieza de información de atributo de flujos de video porta información que incluye qué tipo de codee de compresión se usa para comprimir el flujo de video, y la resolución, relación de aspecto y velocidad de cuadros de las piezas de datos de imagen que se incluyen en el flujo de video. Cada pieza de información de atributos de flujo de audio porta información que incluye qué tipo de codee de compresión se usa para comprimir el flujo de audio, cuántos canales están incluidos en el flujo de audio, qué idioma soporta el flujo de audio y qué tan alta es la frecuencia de muest eo. La información de atributos de flujo de video y la información de atributos de flujos de audio se usan para inicialización de un decodificador antes de que el reproductor reproduzca la información.
En la presente modalidad, los datos multiplexados que se usarán son de un tipo de flujo incluido en la PMT. Además, cuando los datos multiplexados son grabados en un medio de grabación, se usa la información de atributos de flujos de video incluida en la información de datos multiplexados. 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 incluyen una etapa o una unidad para asignar información única que indique 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 flujo incluido en la PMT o la información de atributos de flujos de video. Con la configuración, los datos de video generados por el método de decodificación de imágenes en movimiento o el aparato de codificación de imágenes en movimiento descritos en cada una de las modalidades pueden distinguirse de datos de video que se conformen a otra norma.
Más aún, la figura 44 ilustra etapas del método de decodificación de imágenes en movimiento de acuerdo con la presente modalidad. En la etapa exSlOO, el tipo de flujo incluido en la PMT o la información de atributos de flujos de video se obtienen de los datos multiplexados . Después, en la etapa exSlOl, se determina si el tipo de flujo o la información de atributos de flujos de video indican o no que los datos multiplexados se generan 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 flujo o la información de atributos de flujos de video indica que los datos multiplexados se generan 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 la etapa exS112, se lleva a cabo decodificación por el método de decodificación de imágenes en movimiento en cada una de las modalidades. Además, cuando e tipo de flujo o la información de atributos de flujos de video indican que cumplen con las normas convencionales, tales como MPEG-2, MPEG4-AVC y VC-1, en la etapa exS103, la decodificación se lleva a cabo por un método de decodificación de imágenes en movimiento de conformidad con las normas convencionales.
De esta manera, asignar un nuevo valor único al tipo de flujo o la información de atributos de flujos de video hacen posible la determinación de 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 o no llevar a cabo la decodificación. Incluso cuando datos multiplexados se conformen a una norma diferente, un método de decodificación o aparato de decodificación o apropiado puede ser seleccionado. Así, se hace posible decodificar información sin ningún error. Más aún, 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 pueden usarse en los dispositivos y sistemas descritos arriba .
Modalidad 7 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 forma de un circuito integrado o un circuito integrado a gran escala (LSI, por sus siglas en inglés) . Como un ejemplo del LSI, la figura 45 ilustra una configuración del LSI x500 que se hace en un chip . El LSI ex500 incluye elementos ex501, ex502, ex503, ex504, ex505, ex506, ex507, ex508 y ex509 que se describirán abajo, y los elementos están conectados entre sí a través de un bus ex510.
La unidad de circuito de suministro de energía ex505 es activada al suministrar cada uno de los elementos con energía cuando la unidad de circuito del suministro de energía ex505 sea encendida.
Por ejemplo, cuando se lleva a cabo codificación, el LSI ex500 recibe una señal de AV proveniente de un micrófono exll7, una cámara exll3, y otros a través de un AV 10 ex509 bajo control de una unidad de control ex501 que incluye una CPU ex502, un controlador de memoria ex503, un controlador de flujo ex504 y una unidad de control de frecuencias de excitación ex512. La señal de AV recibida se almacena temporalmente en una 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 de procesamiento y velocidad que serán transmitidos 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. Aquí, la codificación de la señal de video es la codificación descrita en cada una de las modalidades. Además, la unidad de procesamiento de señales ex507 algunas veces multiplexa los datos de audio codificados y los datos de videos codificados, y un 10 de flujo ex506 proporciona los datos multiplexados al exterior. Los datos mutliplexados provistos son transmitidos a la estación base ex!07, o escritos en el medio de grabación ex215. Cuando conjuntos de datos son multiplexados , los datos deben ser temporalmente almacenados en la memoria de almacenamiento temporal ex508 de tal manera que los conjuntos de datos sean sincronizados unos con otros.
Aunque la memoria ex511 es un elemento fuera del LSI ex500, puede estar incluida en el LSI ex500. La memoria de almacenamiento temporal ex508 no está limitada a una memoria del almacenamiento temporal, sino que puede estar compuesta de memorias de almacenamiento temporal. Además, el LSI ex500 puede hacerse en un chip o una pluralidad de chips .
Más aún, aunque la unidad de control ex501 incluye la CPU ex502, el controlador de memoria ex503, el controlador de flujo ex504, la unidad de control de frecuencias de excitación 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. Además, como otro ejemplo, la CPU ex502 puede servir como o ser 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 tal 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 usado aquí es LSI, pero también se puede llamar IC, LSI de sistema, súper LSI o ultra LSI dependiendo del grado de integración.
Además, las maneras de lograr integración no están limitadas al LSI, y un circuito especial o un procesador de propósitos generales y así sucesivamente también pueden lograr la integración. Una disposición de puertas programable por campo (FPGA) que puede programarse después de la fabricación de LSIs o un procesador reconfigurable que permita la reconfiguración de la conexión o configuración de un LSI se puede usar para el mismo efecto.
En el futuro, con el avance en la tecnología de semiconductores, una tecnología muy nueva puede reemplazar LSI . Los bloques funcionales pueden ser integrados usando tal tecnología. La posibilidad es que la presente invención se aplique a biotecnología.
Modalidad 8 Cuando 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 son decodificados , en comparación con cuando datos de video que se conforman a una norma convencional, tal como MPEG-2, MPEG4-AC, y VC-1 son decodificados, la cantidad de procesamiento probablemente se incrementa. Así, el LSI ex500 tiene que ser puesto en una frecuencia de excitación más alta que aquella de la CPU ex502 para usarse cuando datos de video de conformidad con la norma convencional sean decodificados . Sin embargo, cuando la frecuencia de excitación se establece más alta, existe un problema de que se incrementa el consumo de energía.
Para 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 a qué norma se conforman los datos de video, y cambiar entre las frecuencias de excitación de acuerdo con la norma determinada. La figura 46 ilustra una configuración ex800 en la presente modalidad. Una unidad de cambio de frecuencias de excitación ex803 establece una frecuencia de excitación en una frecuencia de excitación más alta cuando datos de video se generan 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. Después, la unidad de cambio de frecuencias de excitación ex803 instruye a una unidad de procesamiento de decodificación ex801 que ejecute 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 se conforman a la norma convencional, la unidad de cambio de frecuencias de excitación ex803 establece una frecuencia de excitación a una frecuencia de excitación 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. Después, la unidad de cambio de frecuencias de excitación ex803 instruye a la unidad de procesamiento de decodificación ex802 que se conforma a la norma convencional para decodificar los datos de video.
Más específicamente, la unidad de cambio de frecuencias de excitación ex803 incluye la CPU ex502 y la unidad de control de frecuencias de excitación ex512 en la figura 45. Aquí, cada una de la 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 se conforma a la norma convencional corresponde a la unidad de procesamiento de señales ex507 en la figura 45. La CPU ex502 determina a qué norma se conforman los datos de video. Después, la unidad de control de frecuencias de excitación ex512 determina una frecuencia de excitación con base en una señal proveniente de la CPU ex502. Más aún, la unidad de procesamiento de señales ex507 decodifica los datos de video con base en la señal proveniente de la CPU ex502. Por ejemplo, la información de identificación descrita en la modalidad 6 se usa de preferencia para identificar los datos de video. La información de identificación no está limitada a la descrita en la modalidad 6, sino que puede ser cualquier información siempre y cuando la información indique a qué norma se conforman los datos de video. Por ejemplo, cuando se vaya a determinar a qué norma se conforman los datos de video con base en una señal externa para determinar que los datos de video se usan para una televisión o un disco, etc., la determinación se puede hacer con base en esta señal externa. Más aún, la CPU ex502 selecciona una frecuencia de excitación con base en, por ejemplo, una tabla de consulta en la cual se asocien las normas de los datos de video con las frecuencias de excitación como se muestra en la figura 48. La frecuencia de excitación puede seleccionarse al almacenar la tabla de consulta en la memoria de almacenamiento temporal x508 y en una memoria interna de un LSI, y con referencia a la tabla de consulta por la CPU ex502.
La figura 47 ilustra etapas para ejecutar un método en la presente modalidad. Primero, en la etapa exS200, la unidad de procesamiento de señales ex507 obtiene información de identificación de los datos multiplexados . Después, en la etapa ex201, la CPU ex502 determina si los datos de video se generan o no por el 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 se generan por el 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 la etapa exS202, la CPU ex502 transmite una señal para establecer la frecuencia de excitación a una frecuencia de excitación más alta a la unidad de control de frecuencias de excitación ex512. Luego, la unidad de control de frecuencias de excitación ex512 establece la frecuencia de excitación en la frecuencia de excitación más alta. Por otro lado, cuando la información de identificación indica que los datos de video se conforman a la norma convencional, tal como MPEG-2, MPEG4-AVC y VC-1, en la etapa exS203, la CPU ex502 transmite una señal para establecer la frecuencia de excitación a una frecuencia de excitación más baja a la unidad de control de frecuencias de excitación ex512. Después, la unidad de control de frecuencias de excitación ex512 establece la frecuencia de excitación a la frecuencia de excitación más baja que aquella en el caso cuando los datos de video se generan por el método de decodificación de imágenes en movimiento y el aparato de codificación de imágenes en movimiento descritos en cada una de las modalidades.
Además, junto con el cambio de las frecuencias de excitación, el efecto de conservación de energía puede mejorarse al cambiar el voltaje que se aplicará al LSI ex500 o a un aparato que incluya el LSI ex500. Por ejemplo, cuando la frecuencia de excitación se establezca más baja, el voltaje que será aplicad al LSI ex500 o al aparato que incluya el LSI ex500 probablemente se establecerá en un voltaje más bajo que aquél en el caso en que la frecuencia de excitación se establezca más alta.
Más aún, cuando la cantidad de procesamiento para decodificación es más grande, la frecuencia de excitación puede establecerse más alta, y cuando la cantidad de procesamiento para decodificación sea más pequeña, la frecuencia de excitación puede establecerse más baja que el método para establecer la frecuencia de excitación. Así, el método de establecimiento no se limita a los descritos arriba. Por ejemplo, cuando la cantidad de procesamiento para decodificar datos de video de conformidad con MPEG4-AVC sea más grande que la cantidad de procesamiento para decodificar datos de video generados por el 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 frecuencia de excitación se establece probablemente en orden inverso al establecimiento descrito arriba .
Más aún, el método para establecer la frecuencia de excitación no está limitado al método para establecer la frecuencia de excitación más baja. Por ejemplo, cuando la información de identificación indique que los datos de video se generan por el 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, el voltaje que será aplicado al LSI ex500 o al aparato que incluya el LSI ex500 probablemente se establecerá más alto. Cuando la información de identificación indique que los datos de video se conforman a la norma convencional, tal como MPEG-2, MPEG4-AVC, y VC-1, el voltaje que será aplicado al LSI ex500 o al aparato que incluya al LSI ex500 probablemente se establecerá más bajo. Como otro ejemplo, cuando la información de identificación indique que los datos de video se generan por el 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 excitación de la CPU ex502 probablemente no tendrá que ser suspendida. Cuando la información de identificación indique que los datos de video se conforman a la norma convencional, tal como MPEG-2, MPEG4-AVC y VC-1 la excitación de la CPU ex502 probablemente se suspenderá en un momento dado toda vez que la CPU ex502 tiene capacidad de procesamiento adicional. Incluso cuando la información de identificación indique que los datos de video se generan por el 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 caso de que la CPU ex502 tenga capacidad de procesamiento adicional, la excitación de la CPU ex502 probablemente se suspenda en un momento dado. En tal caso, el tiempo de suspensión probablemente se establece más corto que aquél en caso de cuando la información de identificación indica que los datos de video se conforman a la norma convencional, tal como MPEG-2, MPEG4-AVC y VC-1.
En consecuencia, el efecto de conservación de energía puede mejorarse al cambiar entre las frecuencias de excitación de acuerdo con la norma a la cual se conformen los datos de video. Además, cuando el LSI ex500 o el aparato que incluye el LSI ex500 se excita usando una batería, la vida de la batería puede extenderse con el efecto de conservación de energía .
Modalidad 9 Hay casos en los que una pluralidad de datos de video que se conforman a diferentes normas, se proporcionan a los dispositivos y sistemas, tales como una televisión y un teléfono móvil. Para hacer posible la decodificación de la pluralidad de datos de video que se conforman a las diferentes normas, la unidad de procesamiento de señales ex507 del LSI ex500 tiene que conformarse a las diferentes normas. Sin embargo, los problemas de incremento en la escala del circuito del LSI ex500 e incrementan el costo se originan con el uso individual de las unidades de procesamiento de señales ex507 que se conforman a las normas respectivas .
Para resolver el problema, lo que se concibe es una configuración en la cual se compartan parcialmente 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 se conforma a la norma convencional, tal como MPEG-2, MPEG4-AVC y VC-1. Ex900 en la figura 49A 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 se conforma a la MPEG4-AVC tienen, parcialmente en común, los detalles de procesamiento, tales como codificación por entropía, cuantificación inversa, filtración por desbloqueo y predicción compensada en movimiento. Es posible que una unidad de procesamiento de decodificación ex902 que se conforme a MPEG4-AVC sea compartida por operaciones de procesamiento comunes, y que una unidad de procesamiento de decodificación dedicada ex901 se use para procesamiento que sea único para un aspecto de la presente invención y no se conforme a se conforme a PEG4-AVC. En particular, ya que el aspecto de la presente invención se caracteriza por ínter predicción, es posible, por ejemplo, que la unidad de procesamiento de decodificación dedicada ex901 se use para intra predicción, y que la unidad de procesamiento de decodificación sea compartida por. cualquiera o todo del otro procesamiento, tal como decodificación por entropía, cuantificación inversa, filtración por desbloqueo y compensación de movimiento. 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 compartirse para que el procesamiento sea compartido, y una unidad de procesamiento de decodificación dedicada puede usarse para producir una señal única para ese MPEG4-AVC.
Más aún, exlOOO en la figura 49B muestra otro ejemplo en el que se comparte parcialmente el procesamiento. Este ejemplo usa una configuración que incluye una unidad de procesamiento de decodificación dedicada exlOOl que soporta el procesamiento único para la presente invención, una unidad de procesamiento de decodificación dedicada exl002 que soporta el procesamiento único para la otra norma convencional, y una unidad de procesamiento de decodificación exl003 que soporta el procesamiento que será compartido entre el método de decodificación de imágenes en movimiento en la presente invención y el método de decodif cación de imágenes en movimiento convencional. Aquí, las unidades de procesamiento de decodificación dedicadas exlOOl y exl002 no necesariamente están especializadas para el procesamiento de la presente invención y el procesamiento de la norma convencional, respectivamente, y pueden ser aquellas capaces de implementar procesamiento general. Además, la configuración de la presente modalidad puede ser implementada en el LSI ex500.
De esta manera, reducir la escala del circuito de un LSI y reducir el costo son posible al compartir la unidad de procesamiento de decodificación para que se comparta el procesamiento entre el método de decodificación de imágenes en movimiento en la presente invención y el método de decodificación de imágenes en movimiento de conformidad con la norma convencional.
Aplicación industrial Un método de codificación de imágenes en movimiento y un método de decodificación de imágenes en movimiento de acuerdo con un aspecto de la presente invención son aplicables cualquier dato multimedia, pueden mejorar la resistencia a error de codificación y decodificación de una imagen en movimiento, y 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 almacenamiento, transmisión, comunicación y similares usando teléfonos celulares, aparatos de DVD y computadoras personales, por ejemplo.
Lista de signos de referencia 100, 200 Aparato de codificación de imágenes en movimiento 101 Unidad de sustracción 102 Unidad de transformación ortogonal 103 Unidad de cuantificación 104, 302 Unidad de cuantificación inversa 105, 303 Unidad de transformación ortogonal inversa 106, 304 Unidad de adición 107, 305 Memoria de bloques 108, 306 Memoria de cuadros 109, 307 Unidad de intra predicción 110, 308 Unidad de inter predicción 111, 309 Unidad de control de inter predicción 112 Unidad de determinación de tipos de imagen 113, 310 Interruptor 114, 311 Unidad de cálculo de candidatos a predictor de vector de movimiento 115, 312 Memoria colPic 116 Unidad de codificación de longitud variable 210, 410 Unidad de derivación de candidatos a predictor de vector de movimiento 211, 411 Unidad de determinación 212, 412 Primera unidad de derivación 213, 413 Unidad de identificación 214, 414 Unidad de determinación 215, 415 Segunda unidad de derivación 220, 430 Unidad de control de predicción 230 Unidad de codificación 300, 400 Aparato de decodificación de imágenes en movimiento 301 Unidad de decodificación de longitud variable 420 Unidad de decodificación 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 (31)

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 usará cuando se codifique un vector de movimiento de un bloque actual que será codificado, y codificar el bloque actual, para generar un flujo de bits, caracterizado porque comprende : determinar un número máximo de candidatos a predictor de vector de movimiento cada uno de los cuales sea un candidato para el predictor de vector de movimiento; derivar uno o más primeros candidatos a predictor de vector de movimiento; determinar si un número total del uno o más primeros candidatos a predictor de vector de movimiento es más pequeño que el número máximo; derivar uno o más segundos candidatos a predictor de vector de movimiento cuando se determine que el número total de uno o más primeros candidatos a predictor de vector de movimiento sea más pequeño que el número máximo; seleccionar, de entre el uno o más primeros candidatos a predictor de vector de movimiento y el uno o más segundos candidatos a predictor de vector de movimiento, el predictor de vector de movimiento que se usará para codificar el vector de movimiento del bloque actual; y codificar, usando el número de máximo determinado, un índice para identificar el predictor de vector de movimiento seleccionado y añadir el índice codificado al flujo de bits.
2. El método de codificación de imágenes en movimiento de conformidad con la reivindicación 1, caracterizado porque cuando se derivan los primeros candidatos a predictor de vector de movimiento, el candidato a predictor de vector de movimiento se deriva como el primer candidato a predictor de vector de movimiento, el candidato a predictor de vector de movimiento que tenga un vector de movimiento diferente de un vector de movimiento de cualquiera del uno o más primeros candidatos a predictor de vector de movimiento que ya hayan sido derivados.
3. El método de codificación de imágenes en movimiento de conformidad con la reivindicación 1 ó 2, caracterizado porque cuando se deriva el uno o más primeros candidatos a predictor de vector de movimiento, el uno o más primeros candidatos a predictor de vector de movimiento se derivan cada uno con base en un vector de movimiento usado para codificar un bloque espacial o temporalmente adyacente al bloque actual.
4. El método de codificación de imágenes en movimiento de conformidad con la reivindicación 3, caracterizado porque cuando se deriva el uno o más primeros candidatos a predictor de vector de movimiento, un vector de movimiento usado para codificar un bloque se deriva como el primer candidato a predictor de vector de movimiento, el bloque estando espacialmente adyacente al bloque actual, y no siendo (i) un bloque codificado por intra predicción, (ii) un bloque ubicado fuera de un límite de un segmento o una imagen que incluye el bloque actual, o (iii) un bloque que aún no es codificado.
5. El método de codificación de imágenes en movimiento de conformidad con una de las reivindicaciones 1 a 4, caracterizado porque cuando se deriva el uno o más segundos candidatos a predictor de vector de movimiento, el candidato a predictor de vector de movimiento que tenga un vector de movimiento diferente a un vector de movimiento de cualquiera del uno o más primeros candidatos a predictor de vector de movimiento se deriva como el segundo candidato a predictor de vector de movimiento.
6. El método de codificación de imágenes en movimiento de conformidad con una de las reivindicaciones 1 a 5, caracterizado porque cuando se añade el índice codificado, información que indica el número máximo determinado se añade además al flujo de bits.
7. El método de codificación de imágenes en movimiento de conformidad con la reivindicación 1, caracterizado porque comprende además: cambiar entre primer procesamiento de codificación que se conforme a un primer estándar y segundo procesamiento de codificación que se conforme a un segundo estándar; y añadir, al flujo de bits, información de identificación que indique la primera norma o el segundo estándar a la cual se conforme uno correspondiente del primer procesamiento de codificación y el segundo procesamiento de codificación después del cambio, en donde cuando se hace el cambio al primer procesamiento de codificación, determinar el número máximo, derivar el uno o más primeros candidatos a predictor de vector de movimiento, determinar si el número total de uno o más primeros candidatos a predictor de vector de movimiento es más pequeño, derivar el uno o más segundos candidatos a predictor de vector de movimiento, seleccionar el predictor de vector de movimiento, codificar el índice y añadir el índice codificado se llevan a cabo como el primer procesamiento de codificación.
8. Un aparato de codificación de imágenes en movimiento que calcula un predictor de vector de movimiento que se usará cuando se codifique un vector de movimiento de un bloque actual que será codificado, y codifica el bloque actual para generar un flujo de bits, caracterizado porque comprende: una unidad de determinación de número máximo configurada para determinar un número máximo de candidatos a predictor de vector de movimiento cada uno de los cuales sea un candidato para el predictor de vector de movimiento; una primera unidad de derivación configurada para derivar uno o más primeros candidatos a predictor de vector de movimiento,- una unidad de determinación configurada para determinar si un número total del uno o más primeros candidatos a predictor de vector de movimiento es más pequeño que el número máximo; una segunda unidad de derivación configurada para derivar uno o más segundos candidatos a predictor de vector de movimiento cuando se determine que el número total de uno o más primeros candidatos a predictor de vector de movimiento sea más pequeño que el número máximo; una unidad de control de predicción configurada para seleccionar, de entre el uno o más primeros candidatos a predictor de vector de movimiento y el uno o más segundos candidatos a predictor de vector de movimiento, el predictor de vector de movimiento que se usará para codificar el vector de movimiento del bloque actual; y una unidad de codificación configurada para codificar, usando el número de máximo determinado, un índice para identificar el predictor de vector de movimiento seleccionado y añadir el índice codificado al flujo de bits.
9. Un método de decodificación de imágenes en movimiento para calcular un predictor de vector de movimiento que se usará cuando se decodifique un vector de movimiento de un bloque actual que será decodificado el cual esté incluido en un flujo de bits y decodificar el bloque actual, caracterizado porque comprende: determinar un número máximo de candidatos a predictor de vector de movimiento cada uno de los cuales sea un candidato para el predictor a vector de movimiento; derivar uno o más primeros candidatos a predictor de vector de movimiento ; determinar si un número total del uno o más primeros candidatos a predictor de vector de movimiento es más pequeño que el número máximo; derivar uno o más segundos candidatos a predictor de vector de movimiento cuando se determine que el número total de uno o más primeros candidatos a predictor de vector de movimiento sea más pequeño que el número máximo; decodificar, usando el número máximo determinado, un índice codificado añadido al flujo de bits y usado para identificar el predictor de vector de movimiento; 163 y seleccionar, con base en el índice decodificado, un predictor de vector de movimiento que se usará para decodificar el bloque actual, de entre el uno o más primeros candidatos a predictor de vector de movimiento y el uno o más segundos candidatos a predictor de vector de movimiento .
10. El método de decodificación de imágenes en movimiento de conformidad con la reivindicación 9, caracterizado porque cuando se derivan los primeros candidatos a predictor de vector de movimiento, el candidato a predictor de vector de movimiento se deriva como el primer candidato a predictor de vector de movimiento, el candidato a predictor de vector de movimiento teniendo un vector de movimiento diferente a un vector de movimiento de cualquiera del uno o más primeros candidatos a predictor de vector de movimiento que ya hayan sido derivados.
11. El método de decodificación de imágenes en movimiento de conformidad con la reivindicación 9 ó 10, caracterizado porque cuando se deriva el uno o más primeros candidatos a predictor de vector de movimiento, el uno o más primeros candidatos a predictor de vector de movimiento se derivan cada uno con base en un vector de movimiento usado para decodificar un bloque espacial o temporalmente adyacente al bloque actual .
12. El método de decodificación de imágenes en movimiento de conformidad con la reivindicación 11, caracterizado porque cuando se deriva el uno o más primeros candidatos a predictor de movimiento, un vector de movimiento usado para decodificar un bloque se deriva como el primer candidato a predictor de vector de movimiento, el bloque siendo un bloque espacialmente adyacente al bloque actual, y no siendo (i) un bloque decodificado por intra predicción, (ii) un bloque ubicado fuera de un límite de un intervalo o una imagen que incluye el bloque actual, o (iii) un bloque que aún no haya sido decodificado.
13. El método de decodificación de imágenes en movimiento de conformidad con una de las reivindicaciones 9 a 12, caracterizado porque cuando se deriva el uno o más segundos candidatos a predictor de vector de movimiento, el candidato a predictor de vector de movimiento que tenga un vector de movimiento diferente de un vector de movimiento de cualquiera del uno o más primeros candidatos a predictor de vector de movimiento se deriva como el segundo candidato a predictor de vector de movimiento.
14. El método de decodificación de imágenes en movimiento de conformidad con una de las reivindicaciones 9 a 13, caracterizado porque cuando se determina el número máximo, el número máximo se determina con base en la información que indique un número máximo y añadirse al flujo de bits.
15. El método de decodificación de imágenes en movimiento de conformidad con la reivindicación 9, caracterizado porque comprende además: cambiar entre el primer procesamiento de decodificación que se conforme a un primer estándar y segundo procesamiento de decodificación que se conforme a un segundo estándar, de acuerdo con información de identificación que indique la primera norma o el segundo estándar y añadirse al flujo de bits, en donde cuando el cambio al primer procesamiento de decodificación es hecho, determinar el número máximo, derivar el uno o más primeros candidatos a predictor de vector de movimiento, determinar si el número total del uno o más primeros candidatos a predictor de vector de movimiento es más pequeño, derivar el uno o más segundos candidatos a predictor de vector de movimiento, decodificar el índice codificado y seleccionar el predictor de vector de movimiento pueden llevarse a cabo como el primer procesamiento de decodificación.
16. Un aparato de decodificación de imágenes en movimiento que calcula un predictor de vector de movimiento que se usará cuando se decodifique un vector de movimiento de un bloque actual que será decodificado el cual esté incluido en un flujo de bits y decodifica el bloque actual, caracterizado porque comprende: una unidad de determinación de número máximo configurada para determinar un número máximo de candidatos a predictor de vector de movimiento cada uno de los cuales sea un candidato para el predictor a vector de movimiento; una primera unidad de derivación configurada para derivar uno o más primeros candidatos a predictor de vector de movimiento; una unidad de determinación configurada para determinar si un número total del uno o más primeros candidatos a predictor de vector de movimiento es más pequeño que el número máximo; una segunda unidad de derivación configurada para derivar uno o más segundos candidatos a predictor de vector de movimiento cuando se determine que el número total de uno o más primeros candidatos a predictor de vector de movimiento sea más pequeño que el número máximo; una unidad de decodificación configurada para decodificar, usando el número máximo determinado, un índice codificado añadido al flujo de bits y usado para identificar el predictor de vector de movimiento; y una unidad de control de predicción configurada para seleccionar, con base en el índice decodificado, un predictor de vector de movimiento que se usará para decodificar el bloque actual, de entre el uno o más primeros candidatos a predictor de vector de movimiento y el uno o más segundos candidatos a predictor de vector de movimiento .
17. Un aparato de codificación y decodificación de imágenes en movimiento, caracterizado porque comprende : un aparato de codificación de imágenes en movimiento que calcula un predictor de vector de movimiento que se usará cuando se codifique un vector de movimiento de un bloque actual que será codificado, y codifica el bloque actual para generar un flujo de bits, que comprende: una unidad de determinación de número máximo configurada para determinar un número máximo de candidatos a predictor de vector de movimiento cada uno de los cuales sea un candidato para el predictor de vector de movimiento; una primera unidad de derivación configurada para derivar uno o más primeros candidatos a predictor de vector de movimiento; una unidad de determinación configurada para determinar si un número total del uno o más primeros candidatos a predictor de vector de movimiento es más pequeño que el número máximo; una segunda unidad de derivación configurada para derivar uno o más segundos candidatos a predictor de vector de movimiento cuando se determine que el número total de uno o más primeros candidatos a predictor de vector de movimiento sea más pequeño que el número máximo; una unidad de control de predicción configurada para seleccionar, de entre el uno o más primeros candidatos a predictor de vector de movimiento y el uno o más segundos candidatos a predictor de vector de movimiento, el predictor de vector de movimiento que se usará para codificar el vector de movimiento del bloque actual; y una unidad de codificación configurada para codificar, usando el número de máximo determinado, un índice para identificar el predictor de vector de movimiento seleccionado y añadir el índice codificado al flujo de bits; y el aparato de decodificación de imágenes en movimiento de conformidad con la reivindicación 16.
18. Un método de codificación de imágenes en movimiento para codificar un bloque actual, caracterizado porque comprende : derivar un primer candidato que tenga un primer predictor de vector de movimiento idéntico a un primer vector de movimiento que se haya usado para codificar un primer bloque; determinar si un número total de uno o más candidatos que tengan el primer candidato es menor que un número de candidato máximo; derivar un segundo candidato que tenga un segundo predictor de vector de movimiento cuando el número total de los uno o más candidatos que tengan el primer candidato sea menor que el número de candidato máximo; y codificar un índice que corresponda a un candidato que tenga un predictor de vector de movimiento, en donde el candidato es uno de una pluralidad de candidatos que tienen el primer candidato y el segundo candidato .
19. El método de codificación de imágenes en movimiento de conformidad con la reivindicación 18, caracterizado porque un 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 decodificación de imágenes en movimiento para decodificar un bloque actual, caracterizado porque comprende : derivar un primer candidato que tenga un primer predictor de vector de movimiento idéntico a un primer vector de movimiento que se haya usado para decodificar un primer bloque; determinar si un número total de uno o más candidatos que tengan el primer candidato es menor que un número de candidato máximo; derivar un segundo candidato que tenga un segundo predictor de vector de movimiento cuando el número total de los uno o más candidatos que tengan el primer candidato sea menor que el número de candidato máximo; y decodificar un índice codificado que corresponda a un candidato que tenga un predictor de vector de movimiento, en donde el candidato es uno de una pluralidad de candidatos que tienen el primer candidato y el segundo candidato.
21. El método de decodificación de imágenes en movimiento de conformidad con la reivindicación 20, caracterizado porque un 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 .
22. Un método de derivación de predictores de vector de movimiento, caracterizado porque comprende: derivar un primer candidato que tenga un primer predictor de vector de movimiento idéntico a un primer vector de movimiento que se haya usado para decodificar un primer bloque; determinar si un número total de uno o más candidatos que tengan el primer candidato es menor que un número de candidato máximo; derivar un segundo candidato que tenga un segundo predictor de vector de movimiento cuando el número total de los uno o más candidatos que tengan el primer candidato sea menor que el número de candidato máximo; y derivar un candidato que tenga un predictor de vector de movimiento, en donde el predictor de vector de movimiento se usa para decodificar un vector de movimiento de un bloque actual, y en donde el candidato es uno de una pluralidad de candidatos que tienen el primer candidato y el segundo candidato .
23. El método de derivación de predictores de vector de movimiento de conformidad con la reivindicación 22, 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 .
24. Un aparato de codificación de imágenes en movimiento que codifica un bloque actual, caracterizado porque comprende : un primer derivador configurado para derivar un primer candidato que tenga un primer predictor de vector de movimiento idéntico a un primer vector de movimiento que se haya usado para codificar un primer bloque; 1 172 un determinador configurado para determinar si un número total de uno o más candidatos que tengan el primer candidato es menor que un número de candidato máximo; un segundo derivador configurado para derivar un segundo candidato que tenga un segundo predictor de vector de movimiento cuando el número total de los uno o más candidatos que tengan el primer candidato sea menor que el número de candidato máximo; y un codificador configurado para codificar un índice que corresponda a un candidato que tenga un predictor de vector de movimiento, en donde el candidato es uno de una pluralidad de candidatos que tienen el primer candidato y el segundo candidato .
25. El aparato de codificación de imágenes en movimiento de conformidad con la reivindicación 24, caracterizado porque un 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 que decodifica un bloque actual, caracterizado porque comprende : un primer derivador configurado para derivar un primer candidato que tenga un primer predictor de vector de movimiento idéntico a un primer vector de movimiento que se haya usado para decodificar un primer bloque; un determinador configurado para determinar si un número total de uno o más candidatos que tengan el primer candidato es menor que un número de candidato máximo; un segundo derivador configurado para derivar un segundo candidato que tenga un segundo predictor de vector de movimiento cuando el número total de los uno o más candidatos que tengan el primer candidato sea menor que el número de candidato máximo; y un decodificador configurado para decodificar un índice codificado que corresponda a un candidato que tenga un predictor de vector de movimiento, en donde el candidato es uno de una pluralidad de candidatos que tienen el primer candidato y el segundo candidato.
27. El aparato de decodificación de imágenes en movimiento de conformidad con la reivindicación 26, caracterizado porque un 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.
28. Un aparato de derivación de predictores de vector de movimiento, caracterizado porque comprende: un primer derivador configurado para derivar un primer candidato que tenga un primer predictor de vector de movimiento idéntico a un primer vector de movimiento que se haya usado para decodificar un primer bloque; un determinador configurado para determinar si un número total de uno o más candidatos que tengan el primer candidato es menor que un número de candidato máximo; un segundo derivador configurado para derivar un segundo candidato que tenga un segundo predictor de vector de movimiento cuando el número total de los uno o más candidatos que tengan el primer candidato sea menor que el número de candidato máximo; y un tercer derivador configurado para derivar un candidato que tenga un predictor de vector de movimiento, en donde el predictor de vector de movimiento se usa para decodificar un vector de movimiento de un bloque actual, y en donde el candidato es uno de una pluralidad de candidatos que tienen el primer candidato y el segundo candidato .
29. El aparato de derivación de predictores de vector de movimiento de conformidad con la reivindicación 28, 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 .
30. Un circuito integrado, caracterizado porque comprende : un primer derivador configurado para derivar un primer candidato que tenga un primer predictor de vector de movimiento idéntico a un primer vector de movimiento que se haya usado para decodificar un primer bloque; un determinador configurado para determinar si un número total de uno o más candidatos que tengan el primer candidato es menor que un número de candidato máximo; un segundo derivador configurado para derivar un segundo candidato que tenga un segundo predictor de vector de movimiento cuando el número total de los uno o más candidatos que tengan el primer candidato sea menor que el número de candidato máximo; y un decodificador configurado para decodificar un índice codificado que corresponda a un candidato que tenga un predictor de vector de movimiento, en donde el candidato es uno de una pluralidad de candidatos que tienen el primer candidato y el segundo candidato .
31. El circuito integrado de conformidad con la reivindicación 30, caracterizado porque un vector de movimiento de un bloque actual es una suma de una diferencia de vector de movimiento del bloque actual y el predictor de vector de movimiento .
MX2013012124A 2011-05-27 2012-05-25 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. MX2013012124A (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201161490747P 2011-05-27 2011-05-27
PCT/JP2012/003416 WO2012164886A1 (ja) 2011-05-27 2012-05-25 動画像符号化方法、動画像符号化装置、動画像復号化方法、動画像復号化装置、および動画像符号化復号化装置

Publications (1)

Publication Number Publication Date
MX2013012124A true MX2013012124A (es) 2014-01-23

Family

ID=47258763

Family Applications (1)

Application Number Title Priority Date Filing Date
MX2013012124A MX2013012124A (es) 2011-05-27 2012-05-25 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 (10)

Country Link
US (9) US9485518B2 (es)
EP (1) EP2717576A4 (es)
JP (6) JP5937587B2 (es)
KR (2) KR102068235B1 (es)
CN (1) CN103563384B (es)
CA (1) CA2834125C (es)
MX (1) MX2013012124A (es)
RU (1) RU2601192C2 (es)
TW (1) TWI580257B (es)
WO (1) WO2012164886A1 (es)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9066110B2 (en) 2011-03-08 2015-06-23 Texas Instruments Incorporated Parsing friendly and error resilient merge flag coding in video coding
WO2012140821A1 (ja) 2011-04-12 2012-10-18 パナソニック株式会社 動画像符号化方法、動画像符号化装置、動画像復号化方法、動画像復号化装置、および動画像符号化復号化装置
US9485518B2 (en) * 2011-05-27 2016-11-01 Sun Patent Trust Decoding method and apparatus with candidate motion vectors
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
ES2754657T3 (es) 2011-06-27 2020-04-20 Samsung Electronics Co Ltd Codificación y decodificación de información de movimiento
WO2013001749A1 (ja) 2011-06-29 2013-01-03 パナソニック株式会社 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置および画像符号化復号装置
JP2013012905A (ja) * 2011-06-29 2013-01-17 Sony Corp 画像処理装置および方法
CN105430390B (zh) * 2011-06-30 2017-04-12 Jvc建伍株式会社 图像解码装置、图像解码方法、接收装置及接收方法
MX2013013029A (es) 2011-06-30 2013-12-02 Panasonic Corp Metodo de decodificacion de imagenes, metodo de codificacion de imagenes, dispositivo de decodificacion de imagenes, dispositivo de codificacion de imagenes y dispositivo de codificacion/decodifi cacion de imagenes.
KR101815727B1 (ko) 2011-08-11 2018-01-05 선 페이턴트 트러스트 화상 부호화 방법 및 화상 부호화 장치
KR101809879B1 (ko) 2011-09-28 2017-12-15 가부시키가이샤 제이브이씨 켄우드 동영상 인코딩 장치, 동영상 인코딩 방법 및 동영상 인코딩 프로그램을 저장한 기록매체
JP5488666B2 (ja) * 2011-09-28 2014-05-14 株式会社Jvcケンウッド 動画像復号装置、動画像復号方法、動画像復号プログラム、受信装置、受信方法及び受信プログラム
JP5884697B2 (ja) * 2011-09-28 2016-03-15 株式会社Jvcケンウッド 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、送信装置、送信方法及び送信プログラム
WO2013057877A1 (ja) 2011-10-19 2013-04-25 パナソニック株式会社 画像符号化方法、画像符号化装置、画像復号方法、および、画像復号装置
JP6020323B2 (ja) * 2012-04-12 2016-11-02 株式会社Jvcケンウッド 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、送信装置、送信方法及び送信プログラム
JP5633597B2 (ja) * 2012-04-12 2014-12-03 株式会社Jvcケンウッド 動画像復号装置、動画像復号方法、動画像復号プログラム、受信装置、受信方法及び受信プログラム
PL3833023T3 (pl) 2012-04-12 2022-05-30 Jvckenwood Corporation Konstrukcja listy kandydatów do scalania
CN104272743B (zh) 2012-05-09 2019-01-01 太阳专利托管公司 执行运动矢量预测的方法、编码和解码方法及其装置
US20130343459A1 (en) * 2012-06-22 2013-12-26 Nokia Corporation Method and apparatus for video coding
US9699450B2 (en) * 2012-10-04 2017-07-04 Qualcomm Incorporated Inter-view predicted motion vector for 3D video
US9826239B2 (en) * 2013-01-07 2017-11-21 Lg Electronics Inc. Video signal processing method and device
KR20170098827A (ko) * 2014-12-26 2017-08-30 소니 주식회사 화상 처리 장치 및 화상 처리 방법
JP6525611B2 (ja) * 2015-01-29 2019-06-05 キヤノン株式会社 画像処理装置およびその制御方法
KR20190133629A (ko) * 2018-05-23 2019-12-03 주식회사 케이티 비디오 신호 처리 방법 및 장치
CN112204982A (zh) * 2018-06-29 2021-01-08 株式会社Kt 用于处理视频信号的方法和设备
US10735759B2 (en) * 2018-10-06 2020-08-04 Tencent America LLC Pairwise average motion vector prediction
CN111107354A (zh) * 2018-10-29 2020-05-05 华为技术有限公司 一种视频图像预测方法及装置
TWI766214B (zh) 2018-12-28 2022-06-01 日商Jvc建伍股份有限公司 影像編碼裝置、影像編碼方法、影像編碼程式、影像解碼裝置、影像解碼方法及影像解碼程式
MX2021007753A (es) * 2018-12-28 2021-08-05 Jvckenwood Corp Dispositivo de codificacion de imagenes, metodo de codificacion de imagenes, dispositivo de decodificacion de imagenes y metodo de decodificacion de imagenes.
US11025935B2 (en) * 2019-01-10 2021-06-01 Tencent America LLC Method and apparatus for history based motion information buffer update with parallel processing capability
DK3915254T3 (da) * 2019-03-12 2024-01-08 Beijing Dajia Internet Information Tech Co Ltd Videokodning til forudberegning af geometrisk inter-partition
TWI771991B (zh) * 2021-04-21 2022-07-21 宏芯科技股份有限公司 視訊影像插補裝置及適應性移動補償畫面插補方法

Family Cites Families (150)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0314018B1 (en) 1987-10-30 1993-09-01 Nippon Telegraph And Telephone Corporation Method and apparatus for multiplexed vector quantization
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 動きベクトル検出方法および装置
MXPA03006080A (es) * 2001-11-06 2003-09-10 Matsushita Electric Ind Co Ltd Metodo de codificacion y descodificacion de imagenes en movimiento.
JP4015934B2 (ja) 2002-04-18 2007-11-28 株式会社東芝 動画像符号化方法及び装置
JP2004088722A (ja) 2002-03-04 2004-03-18 Matsushita Electric Ind Co Ltd 動画像符号化方法および動画像復号化方法
TWI258991B (en) 2002-04-19 2006-07-21 Matsushita Electric Ind Co Ltd Motion vector derivation method
US20040146109A1 (en) 2002-04-19 2004-07-29 Satoshi Kondo Method for calculation motion vector
US7940845B2 (en) 2002-04-19 2011-05-10 Panasonic Corporation Motion vector calculating method
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
US20040234143A1 (en) 2002-07-02 2004-11-25 Makoto Hagai Image encoding method and picture decoding method
US8406301B2 (en) 2002-07-15 2013-03-26 Thomson Licensing Adaptive weighting of reference pictures in video encoding
BR0303901A (pt) 2002-07-11 2004-08-10 Matsushita Electric Ind Co Ltd Método de determinação de poder de filtragem, método de codificação de imagem móvel e método de decodificação de imagem móvel
CN101039424B (zh) 2002-07-15 2010-05-26 株式会社日立制作所 动态图像编码方法
US6845659B2 (en) 2002-07-19 2005-01-25 Celerity Group, Inc. Variable resistance sensor with common reference leg
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
CN101867823B (zh) 2002-08-08 2012-05-02 松下电器产业株式会社 解码方法及解码装置
KR100506864B1 (ko) 2002-10-04 2005-08-05 엘지전자 주식회사 모션벡터 결정방법
CN101790095B (zh) 2002-11-01 2013-02-27 松下电器产业株式会社 解码***、解码装置、编码装置及记录方法
BR0307197A (pt) 2002-11-25 2005-08-23 Matsushita Electric Ind Co Ltd Método de compensação de movimento, método de codificação de imagem e método de decodificação de imagem
RU2375839C2 (ru) 2003-02-18 2009-12-10 Нокиа Корпорейшн Способ кодирования изображений
KR100693669B1 (ko) 2003-03-03 2007-03-09 엘지전자 주식회사 피일드 매크로 블록의 레퍼런스 픽쳐 결정 방법
US7266147B2 (en) 2003-03-31 2007-09-04 Sharp Laboratories Of America, Inc. Hypothetical reference decoder
JP2007531345A (ja) 2003-07-15 2007-11-01 トムソン ライセンシング 高速サーチ・ブロック・マッチングを用いた動き推定
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 삼성전자주식회사 블럭 간의 상관성을 고려한 움직임 추정 장치 및 방법
CN100469142C (zh) 2003-08-05 2009-03-11 Nxp股份有限公司 视频编码和解码方法以及相应的设备
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 画像復号装置及び画像復号方法並びに画像復号プログラム
KR100608050B1 (ko) 2004-01-14 2006-08-02 삼성전자주식회사 사용자의 요구에 의해 활성화되는 인터랙티브 그래픽스트림을 저장한 저장 매체, 재생 장치 및 그 재생 방법
US8175444B2 (en) 2004-01-14 2012-05-08 Samsung Electronics Co., Ltd. Method of reproducing from storage medium storing interactive graphics stream activated in response to user's command
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
JP2008011455A (ja) 2006-06-30 2008-01-17 Sanyo Electric Co Ltd 符号化方法
US20070025444A1 (en) 2005-07-28 2007-02-01 Shigeyuki Okada Coding Method
JP4401336B2 (ja) 2005-08-31 2010-01-20 三洋電機株式会社 符号化方法
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 画像情報符号化装置
EP1982532A2 (en) 2006-02-02 2008-10-22 Thomson Licensing Method and apparatus for motion estimation using combined reference bi-prediction
WO2007092215A2 (en) 2006-02-02 2007-08-16 Thomson Licensing Method and apparatus for adaptive weight selection for motion compensated prediction
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 엘지전자 주식회사 비디오 신호 디코딩 방법 및 장치, 비디오 신호 인코딩방법 및 장치
US8325814B2 (en) 2006-06-19 2012-12-04 Lg Electronics Inc. Method and apparatus for processing a video signal
DE102006043707A1 (de) 2006-09-18 2008-03-27 Robert Bosch Gmbh Verfahren zur Datenkompression in einer Videosequenz
US8250618B2 (en) 2006-09-18 2012-08-21 Elemental Technologies, Inc. Real-time network adaptive digital video encoding/decoding
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
US8565314B2 (en) 2006-10-12 2013-10-22 Qualcomm Incorporated Variable length coding table selection based on block type statistics for refinement coefficient coding
US8325819B2 (en) 2006-10-12 2012-12-04 Qualcomm Incorporated Variable length coding table selection based on video block type for refinement coefficient coding
US9319700B2 (en) 2006-10-12 2016-04-19 Qualcomm Incorporated Refinement coefficient coding based on history of corresponding transform coefficient values
BRPI0717639A2 (pt) 2006-10-30 2013-11-12 Nippon Telegraph & Telephone Método de geração de informações de referência preditas, métodos de codificação de decodificação de vídeo, aparelhos destinados aos mesmos, programas destinados aos mesmos, e mídias de armazenamento que armazenam os programas
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 삼성전자주식회사 영상의 부호화, 복호화 방법 및 장치
JP5666293B2 (ja) 2007-04-12 2015-02-12 トムソン ライセンシングThomson Licensing ビデオ・エンコーディング、およびデコーディングのためのスキップ/ダイレクトモードのコンテクストに依存するマージのための方法と装置
WO2008136178A1 (ja) 2007-04-26 2008-11-13 Panasonic Corporation 動き検出装置、動き検出方法、及び動き検出プログラム
JP2008283490A (ja) 2007-05-10 2008-11-20 Ntt Docomo Inc 動画像符号化装置、方法及びプログラム、並びに動画像復号化装置、方法及びプログラム
EP2160900A1 (en) 2007-06-12 2010-03-10 Thomson Licensing Methods and apparatus supporting multi-pass video syntax structure for slice data
KR101495886B1 (ko) 2007-07-19 2015-02-26 한국전자통신연구원 하향링크 프레임 생성 방법 및 셀 탐색 방법
KR102037328B1 (ko) 2007-10-16 2019-10-28 엘지전자 주식회사 비디오 신호 처리 방법 및 장치
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 デジタル放送受信機、および、プログラム
WO2009115901A2 (en) 2008-03-19 2009-09-24 Nokia Corporation Combined motion vector and reference index prediction for video coding
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
EP2924994B1 (en) 2008-05-07 2016-09-21 LG Electronics, Inc. Method and apparatus for decoding video signal
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
CN101931803B (zh) 2009-06-26 2013-01-09 华为技术有限公司 视频图像运动信息获取方法、装置及设备、模板构造方法
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 에스케이텔레콤 주식회사 후보 예측 움직임 벡터 집합 선택을 이용한 움직임 벡터 부호화/복호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
JPWO2011061880A1 (ja) * 2009-11-19 2013-04-04 三菱電機株式会社 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法
KR101807170B1 (ko) 2009-11-24 2017-12-08 에스케이 텔레콤주식회사 적응적 2차예측 기반 영상 부호화/복호화 방법, 장치 및 기록 매체
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 香港应用科技研究院有限公司 运动矢量编码和解码的方法和装置
WO2011075072A1 (en) * 2009-12-17 2011-06-23 Telefonaktiebolaget Lm Ericsson (Publ) Method and arrangement for video coding
US9036692B2 (en) 2010-01-18 2015-05-19 Mediatek Inc. Motion prediction method
WO2011095259A1 (en) 2010-02-05 2011-08-11 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
WO2011110039A1 (en) 2010-03-12 2011-09-15 Mediatek Singapore Pte. Ltd. Motion prediction methods
CN102210910B (zh) 2010-04-02 2013-02-13 重庆融海超声医学工程研究中心有限公司 一种超声换能器
KR101752418B1 (ko) 2010-04-09 2017-06-29 엘지전자 주식회사 비디오 신호 처리 방법 및 장치
KR102158700B1 (ko) * 2010-05-04 2020-09-22 엘지전자 주식회사 비디오 신호의 처리 방법 및 장치
US9124898B2 (en) 2010-07-12 2015-09-01 Mediatek Inc. Method and apparatus of temporal motion vector prediction
PL3907999T3 (pl) 2010-09-02 2024-04-08 Lg Electronics, Inc. Predykcja międzyramkowa
US10104391B2 (en) 2010-10-01 2018-10-16 Dolby International Ab System for nested entropy encoding
US20120082228A1 (en) 2010-10-01 2012-04-05 Yeping Su 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
KR102292708B1 (ko) 2011-01-07 2021-08-23 엘지전자 주식회사 영상 정보 부호화 방법 및 복호화 방법과 이를 이용한 장치
US20130301734A1 (en) 2011-01-12 2013-11-14 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
EP3139611A1 (en) 2011-03-14 2017-03-08 HFI Innovation Inc. Method and apparatus for deriving temporal motion vector prediction
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
WO2012140821A1 (ja) 2011-04-12 2012-10-18 パナソニック株式会社 動画像符号化方法、動画像符号化装置、動画像復号化方法、動画像復号化装置、および動画像符号化復号化装置
MX2013012020A (es) 2011-05-24 2013-12-10 Panasonic Corp Metodo de codificacion de imagenes, aparato de codificacion de imagenes, metodo de decodificacion de imagenes, aparato de decodificacion de imagenes y aparato de codificacion /decodificacion de imagenes.
US9485518B2 (en) * 2011-05-27 2016-11-01 Sun Patent Trust Decoding method and apparatus with candidate motion vectors
CN106803956B (zh) 2011-06-14 2020-05-01 三星电子株式会社 对图像进行解码的方法
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
US9131239B2 (en) 2011-06-20 2015-09-08 Qualcomm Incorporated Unified merge mode and adaptive motion vector prediction mode candidates selection
KR102365353B1 (ko) 2011-06-30 2022-02-23 가부시키가이샤 제이브이씨 켄우드 화상 부호화 장치, 화상 부호화 방법, 화상 부호화 프로그램, 화상 복호 장치, 화상 복호 방법 및 화상 복호 프로그램
CN105430390B (zh) 2011-06-30 2017-04-12 Jvc建伍株式会社 图像解码装置、图像解码方法、接收装置及接收方法
US20140241434A1 (en) 2011-10-11 2014-08-28 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 住友ゴム工業株式会社 空気入りタイヤ

Also Published As

Publication number Publication date
CA2834125C (en) 2019-02-26
US20170289568A1 (en) 2017-10-05
US20240129521A1 (en) 2024-04-18
US20170006305A1 (en) 2017-01-05
KR102068235B1 (ko) 2020-01-20
US20160345020A1 (en) 2016-11-24
US9485518B2 (en) 2016-11-01
US10200714B2 (en) 2019-02-05
US11895324B2 (en) 2024-02-06
TWI580257B (zh) 2017-04-21
US20190124354A1 (en) 2019-04-25
JP7065354B2 (ja) 2022-05-12
US10212450B2 (en) 2019-02-19
CN103563384B (zh) 2017-09-08
JP2019036993A (ja) 2019-03-07
JP7228851B2 (ja) 2023-02-27
KR102148435B1 (ko) 2020-08-26
US9883199B2 (en) 2018-01-30
JP5937587B2 (ja) 2016-06-22
JP2016167870A (ja) 2016-09-15
WO2012164886A1 (ja) 2012-12-06
US9723322B2 (en) 2017-08-01
JP2017158204A (ja) 2017-09-07
JP2021083097A (ja) 2021-05-27
US20170257642A1 (en) 2017-09-07
JPWO2012164886A1 (ja) 2015-02-23
RU2013147414A (ru) 2015-08-10
KR20200010569A (ko) 2020-01-30
US20120328021A1 (en) 2012-12-27
EP2717576A1 (en) 2014-04-09
US11076170B2 (en) 2021-07-27
CN103563384A (zh) 2014-02-05
TW201311009A (zh) 2013-03-01
CA2834125A1 (en) 2012-12-06
EP2717576A4 (en) 2014-11-05
US20210337231A1 (en) 2021-10-28
US20230130122A1 (en) 2023-04-27
JP2023041958A (ja) 2023-03-24
KR20140015354A (ko) 2014-02-06
RU2601192C2 (ru) 2016-10-27
JP6436404B2 (ja) 2018-12-12
JP6150190B2 (ja) 2017-06-21
JP7507407B2 (ja) 2024-06-28
US11575930B2 (en) 2023-02-07

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
AU2012329550B2 (en) Image encoding method, image decoding method, image encoding 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.
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
CN103688545B (zh) 图像编码方法、图像解码方法、图像编码装置及图像解码装置
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
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.
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.
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.
AU2012333936B9 (en) Image coding method, image coding apparatus, image decoding method and image 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.
AU2013273044B2 (en) Video image encoding method, video image encoding device, video image decoding method, and video image decoding device
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.
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.
MX2013008943A (es) Metodo de codificacion de imagenes, metodo de decodificacion de imagenes, aparato de codificacion de imagenes, aparato de decodificacion de imagenes y aparato de codificacion y decodificacion de imagenes.
AU2013254214B2 (en) Encoding method, decoding method, encoding apparatus, decoding apparatus, and encoding and decoding apparatus
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.
MX2013001773A (es) Metodo de codificacion de imagen, metodo de decodificacion de imagen, aparato de codificacion de imagen, aparato de decodificacion de imagen, y aparato de codificacion y decodificacion de imagen.
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.
MX2013008942A (es) Metodo de codificacion de imagenes, metodo de decodificacion de imagenes, aparato de codificacion de imagenes, aparato de decodificacion de imagenes y aparato de codificacion y decodificacion de imagenes.

Legal Events

Date Code Title Description
GB Transfer or rights

Owner name: PANASONIC INTELLECTUAL PROPERTY CORPORATION OF AME

FG Grant or registration