ES2704960T3 - Predicción de vector de movimiento para la codificación de video - Google Patents

Predicción de vector de movimiento para la codificación de video Download PDF

Info

Publication number
ES2704960T3
ES2704960T3 ES17157139T ES17157139T ES2704960T3 ES 2704960 T3 ES2704960 T3 ES 2704960T3 ES 17157139 T ES17157139 T ES 17157139T ES 17157139 T ES17157139 T ES 17157139T ES 2704960 T3 ES2704960 T3 ES 2704960T3
Authority
ES
Spain
Prior art keywords
motion vector
snapshot
adjacent
current
list
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES17157139T
Other languages
English (en)
Inventor
Toshiyasu Sugio
Takahiro Nishi
Youji Shibahara
Hisao Sasai
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sun Patent Trust Inc
Original Assignee
Sun Patent Trust Inc
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 Sun Patent Trust Inc filed Critical Sun Patent Trust Inc
Application granted granted Critical
Publication of ES2704960T3 publication Critical patent/ES2704960T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/94Vector quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/567Motion estimation based on rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/58Motion compensation with long-term prediction, i.e. the reference frame for a current frame not being the temporally closest one
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Abstract

Un procedimiento de decodificación de imagen para la decodificación de una instantánea actual por bloque con bipredicción que usa ambas de (i) una primera lista de instantáneas de referencia que incluye una primera instantánea de referencia actual para un bloque actual, refiriéndose la primera instantánea de referencia actual mediante un primer vector de movimiento actual, y (ii) una segunda lista de instantáneas de referencia que incluye una segunda instantánea de referencia actual para el bloque actual, refiriéndose la segunda instantánea de referencia actual mediante un segundo vector de movimiento actual, comprendiendo dicho procedimiento: considerar (S302) si la segunda instantánea de referencia actual para el bloque actual es idéntica o no a una segunda instantánea de referencia adyacente para un bloque adyacente, siendo dicho bloque adyacente adyacente al bloque actual y decodificado con bipredicción, incluyéndose la segunda instantánea de referencia adyacente (i) en una segunda lista de instantáneas de referencia adyacentes y (ii) refiriéndose mediante un segundo vector de movimiento adyacente; cuando la segunda instantánea de referencia actual se considera que es idéntica a la segunda instantánea de referencia adyacente, añadir (S303) el segundo vector de movimiento adyacente a una lista de candidatos para el segundo vector de movimiento actual; considerar (S403) si la segunda instantánea de referencia actual es idéntica o no a una instantánea de referencia adyacente para el bloque adyacente, incluyéndose la instantánea de referencia adyacente (i) en una lista de instantáneas de referencia adyacentes y (ii) refiriéndose mediante el primer vector de movimiento adyacente; cuando la segunda instantánea de referencia actual se considera que es idéntica a la instantánea de referencia adyacente, añadir (S404) el primer vector de movimiento adyacente a la lista de candidatos para el segundo vector de movimiento actual; seleccionar (S606, S611) un vector de movimiento previsto a usar para la decodificación del segundo vector de movimiento actual de la lista de candidatos para el segundo vector de movimiento actual; y decodificar (S606, S611) el segundo vector de movimiento actual usando el vector de movimiento seleccionado previsto, en el que la segunda etapa de consideración (S403) se realiza cuando la segunda instantánea de referencia actual se considera que no es idéntica a la segunda instantánea de referencia adyacente.

Description

DESCRIPCIÓN
Predicción de vector de movimiento para la codificación de video
Campo técnico
La presente invención se refiere a un procedimiento de codificación de imagen de codificación de una imagen con predicción y un procedimiento de decodificación de imagen de decodificación de una imagen con predicción.
Antecedentes de la técnica
Un aparato de codificación de imagen generalmente comprime una cantidad de información usando redundancia de imágenes (incluyendo imágenes fijas e imágenes en movimiento) en direcciones espaciales y temporales. En este documento, se usa transformación en un dominio de frecuencia como el procedimiento de compresión usando redundancia en la dirección espacial. Adicionalmente, se usa inter predicción como el procedimiento de compresión usando redundancia en la dirección temporal. La inter predicción también se denomina predicción inter instantánea. Cuando se codifica una cierta instantánea, el aparato de codificación de imagen que emplea la inter predicción usa, como una instantánea de referencia, una instantánea codificada ubicada antes o después de la instantánea actual a codificar en orden de visualización. Posteriormente, el aparato de codificación de imagen estima un vector de movimiento de la instantánea actual con respecto a la instantánea de referencia.
A continuación, el aparato de codificación de imagen obtiene datos de imagen prevista que resultan de compensación de movimiento a base del vector de movimiento. A continuación, el aparato de codificación de imagen obtiene una diferencia entre datos de imagen de la instantánea actual y los datos de imagen prevista. A continuación, el aparato de codificación de imagen codifica la diferencia obtenida. Por consiguiente, el aparato de codificación de imagen elimina la redundancia en la dirección temporal.
El aparato de codificación de imagen de acuerdo con el esquema de codificación de instantánea en movimiento denominado H.264 (véase Referencia 1 no de patente) que ya se ha normalizado usa tres tipos de instantáneas, es decir, instantánea tipo I, instantánea tipo P e instantánea tipo B para comprimir la cantidad de información. El aparato de codificación de imagen no realiza inter predicción en la instantánea tipo I. En otras palabras, el aparato de codificación de imagen realiza intra predicción en la instantánea tipo I. La intra predicción también se denomina predicción intra instantánea.
Adicionalmente, el aparato de codificación de imagen realiza inter predicción en la instantánea tipo P con referencia a una instantánea codificada ubicada antes o después de la instantánea actual en orden de visualización. Adicionalmente, el aparato de codificación de imagen realiza inter predicción en la instantánea tipo B con referencia a dos instantáneas codificadas ubicadas antes o después de la instantánea actual en orden de visualización.
En la inter predicción, el aparato de codificación de imagen genera una lista de referencia (también denominada una lista de instantáneas de referencia) para la identificación de una instantánea de referencia. En la lista de referencia, índices de instantáneas de referencia se asignan a instantáneas de referencia codificadas a las que se hace referencia en la inter predicción. Por ejemplo, el aparato de codificación de imagen mantiene dos listas de referencia (L0, L1) para referirse a dos instantáneas para la instantánea tipo B.
La Figura 33 ilustra un ejemplo de listas de referencia. La primera lista de instantáneas de referencia (L0) de la Figura 33 es un ejemplo de una lista de instantáneas de referencia que corresponde a una primera dirección de predicción para la predicción bidireccional. En la primera lista de instantáneas de referencia de la Figura 33, un índice de instantánea de referencia indicada mediante 0 se asigna a una instantánea R1 de referencia en un orden de visualización 2. Adicionalmente, un índice de instantánea de referencia indicada mediante 1 se asigna a una instantánea R2 de referencia en un orden de visualización 1. Adicionalmente, un índice de instantánea de referencia indicada mediante 2 se asigna a una instantánea R3 de referencia en un orden de visualización 0.
En otras palabras, en la primera lista de instantáneas de referencia de la Figura 33, un índice de instantánea de referencia más pequeño se asigna a una instantánea de referencia ya que la instantánea de referencia está más cerca a la instantánea actual en orden de visualización.
Por otra parte, la segunda lista de instantáneas de referencia (L1) de la Figura 33 es un ejemplo de una lista de instantáneas de referencia que corresponde a una segunda dirección de predicción para la predicción bidireccional. En la segunda lista de instantáneas de referencia de la Figura 33, un índice de instantánea de referencia indicada mediante 0 se asigna a la instantánea R2 de referencia en el orden de visualización 1. Adicionalmente, un índice de instantánea de referencia indicada mediante 1 se asigna a la instantánea R1 de referencia en el orden de visualización 2. Adicionalmente, un índice de instantánea de referencia indicada mediante 2 se asigna a la instantánea R3 de referencia en el orden de visualización 0.
Como tal, existen casos en los que dos índices de instantáneas de referencia diferentes se asignan a una instantánea de referencia particular (instantánea R1 o R2 de referencia en la Figura 33) incluida en las dos listas de instantáneas de referencia. Adicionalmente, existen casos en los que el mismo índice de instantánea de referencia se asigna a una instantánea de referencia particular (instantánea R3 de referencia en la Figura 33) incluida en las dos listas de instantáneas de referencia.
La predicción que usa únicamente la primera lista de instantáneas de referencia (L0) se denomina la predicción L0. La predicción que usa únicamente la segunda lista de instantáneas de referencia (L1) se denomina la predicción L1. La predicción que usa tanto la primera lista de instantáneas de referencia como la segunda lista de instantáneas de referencia se denomina la predicción bidireccional o bipredicción.
En la predicción L0, se usa frecuentemente una dirección hacia delante como una dirección de predicción. En la predicción L1, se usa frecuentemente una dirección hacia atrás como una dirección de predicción. En otras palabras, la primera lista de instantáneas de referencia corresponde a la primera dirección de predicción y la segunda lista de instantáneas de referencia corresponde a la segunda dirección de predicción.
A base de estas relaciones, la dirección de predicción se categoriza en una de la primera dirección de predicción, la segunda dirección de predicción y la bidirección. Adicionalmente, cuando la dirección de predicción es la bidirección, también puede representarse como la predicción bidireccional o bipredicción.
El esquema de codificación de imágenes H.264 tiene un modo de estimación de vector de movimiento como un modo de codificación para el bloque a codificar en la instantánea tipo B. En el modo de estimación de vector de movimiento, el aparato de codificación de imagen estima un vector de movimiento para un bloque a codificar con referencia a una instantánea de referencia. El aparato de codificación de imagen genera datos de imagen prevista usando la instantánea de referencia y el vector de movimiento. A continuación, el aparato de codificación de imagen codifica (i) una diferencia entre los datos de imagen prevista y datos de imagen del bloque a codificar y (ii) el vector de movimiento a usar para la generación de los datos de imagen prevista.
El modo de estimación de vector de movimiento puede usar la predicción bidireccional para la generación de una imagen prevista con referencia a dos instantáneas codificadas ubicadas antes o después de la instantánea actual. Adicionalmente, el modo de estimación de vector de movimiento puede usar la predicción de una dirección para la generación de una imagen prevista con referencia a una instantánea codificada ubicada antes o después de la instantánea actual. A continuación, se selecciona una de la predicción bidireccional y predicción de una dirección para un bloque a codificar.
Cuando se codifica un vector de movimiento en el modo de estimación de vector de movimiento, el aparato de codificación de imagen genera un vector de movimiento previsto de un vector de movimiento de un bloque, tales como un bloque codificado adyacente al bloque actual. El aparato de codificación de imagen codifica una diferencia entre el vector de movimiento y el vector de movimiento previsto. Por consiguiente, el aparato de codificación de imagen reduce la cantidad de información. El ejemplo específico se describirá con referencia a la Figura 34.
La Figura 34 ilustra un bloque actual a codificar, un bloque A adyacente, un bloque B adyacente y un bloque C adyacente. El bloque A adyacente es un bloque codificado adyacente a la izquierda del bloque actual. El bloque B adyacente es un bloque codificado adyacente encima del bloque actual. El bloque C adyacente es un bloque codificado adyacente arriba a la derecha del bloque actual.
En la Figura 34, el bloque A adyacente se ha codificado con la predicción bidireccional y tiene un vector de movimiento MvL0_A en la primera dirección de predicción y un vector de movimiento MvL1_A en la segunda dirección de predicción. En este documento, el vector de movimiento en la primera dirección de predicción es un vector de movimiento que indica una posición en una instantánea de referencia identificada mediante la primera lista de instantáneas de referencia. El vector de movimiento en la segunda dirección de predicción es un vector de movimiento que indica una posición en una instantánea de referencia identificada mediante la segunda lista de instantáneas de referencia.
Adicionalmente, el bloque B adyacente se ha codificado con la predicción de una dirección y tiene un vector de movimiento MvL0_B en la primera dirección de predicción. Adicionalmente, el bloque C adyacente se ha codificado con la predicción bidireccional y tiene un vector de movimiento MvL0_C en la primera dirección de predicción y un vector de movimiento MvL1_C en la segunda dirección de predicción. Adicionalmente, el bloque actual es un bloque a codificar con la predicción bidireccional y tiene un vector de movimiento MvL0 en la primera dirección de predicción y un vector de movimiento MvL1 en la segunda dirección de predicción.
El aparato de codificación de imagen genera un vector de movimiento previsto PMvL0 que corresponde a la primera dirección de predicción, usando un bloque adyacente que tiene un vector de movimiento en la primera dirección de predicción, cuando se codifica el vector de movimiento MvL0 en la primera dirección de predicción del bloque actual. Más específicamente, el aparato de codificación de imagen genera el vector de movimiento previsto PMvL0 usando el vector de movimiento MvL0_A del bloque A adyacente, el vector de movimiento MvL0_B del bloque B adyacente y el vector de movimiento MvL0_C del bloque C adyacente.
En otras palabras, el aparato de codificación de imagen usa un vector de movimiento en la primera dirección de predicción de un bloque adyacente al bloque actual, cuando se codifica el vector de movimiento MvL0 en la primera dirección de predicción del bloque actual. A continuación, el aparato de codificación de imagen codifica una diferencia entre el vector de movimiento MvL0 y el vector de movimiento previsto PMvL0.
El vector de movimiento previsto PMvL0 se calcula usando Mediana (MvL0_A, MvL0_B, y MvL0_C) que es una ecuación para el cálculo de un valor de mediana (valor central) de los vectores de movimiento MvL0_A, MvL0_B, y MvL0_C. La mediana se representa mediante las siguientes ecuaciones 1 a 3.
[Matemática 1]
Mediana (x, y, z) = x y z - Min(x,Min(y, z)) - Max{x,Max(y,z)) (Ecuación 1)
[Matemática 2]
Figure imgf000004_0001
[Matemática 3]
Figure imgf000004_0002
El aparato de codificación de imagen genera un vector de movimiento previsto PMvL1 que corresponde a la segunda dirección de predicción, usando un bloque adyacente que tiene un vector de movimiento en la segunda dirección de predicción, cuando se codifica el vector de movimiento MvL1 en la segunda dirección de predicción para el bloque actual. Más específicamente, el aparato de codificación de imagen genera el vector de movimiento previsto PMvL1 usando el vector de movimiento MvL1_A del bloque A adyacente y el vector de movimiento MvL1_C del bloque C adyacente.
En otras palabras, el aparato de codificación de imagen usa un vector de movimiento en la segunda dirección de predicción de un bloque adyacente al bloque actual, cuando se codifica el vector de movimiento MvL1 en la segunda dirección de predicción del bloque actual. A continuación, el aparato de codificación de imagen codifica un vector de movimiento diferencial que es una diferencia entre el vector de movimiento MvL1 y el vector de movimiento previsto PMvL1. El vector de movimiento previsto PMvL1 se calcula usando Mediana (MvL1_A, 0, y MvL1_C) y otras.
Lista de citas
Bibliografía no de patente
[NPL 1] ITU-T H.26403/2010
Sumario de la invención
Problema técnico
Cuando el número de vectores de movimiento en la misma dirección de predicción es menor, el número de vectores de movimiento a usar para el cálculo de un vector de movimiento previsto es menor. En un caso de este tipo, no se mejorará la eficiencia de codificación de los vectores de movimiento.
En el procedimiento convencional del cálculo de un vector de movimiento previsto, el aparato de codificación de imagen usa únicamente los vectores de movimiento en la primera dirección de predicción de bloques adyacentes, cuando se calcula el vector de movimiento previsto PMvL0 en la primera dirección de predicción del bloque actual como se ha descrito anteriormente. En este documento, el aparato de codificación de imagen no usa los vectores de movimiento en la segunda dirección de predicción de los bloques adyacentes.
Adicionalmente, el aparato de codificación de imagen usa únicamente los vectores de movimiento en la segunda dirección de predicción de bloques adyacentes, cuando se calcula el vector de movimiento previsto PMvL1 en la segunda dirección de predicción del bloque actual. En este documento, el aparato de codificación de imagen no usa los vectores de movimiento en la primera dirección de predicción de los bloques adyacentes.
En otras palabras, los vectores de movimiento de bloques adyacentes a usar para el cálculo de un vector de movimiento previsto están limitados en el procedimiento convencional. Por lo tanto, no se obtiene el vector de movimiento óptimo y la eficiencia de codificación no se mejorará.
Por lo tanto, la presente invención tiene un objeto de proporcionar un procedimiento de codificación de imagen y un procedimiento de decodificación de imagen para la obtención de un vector de movimiento previsto adecuado para la mejora de la eficiencia de codificación de un vector de movimiento.
El documento US 2005/117646 A1 desvela un procedimiento de selección de vectores de movimiento vecinos para su uso en predicción de vector de movimiento en un códec de video que organiza instantáneas en dos listas y emplea una memoria intermedia de instantáneas de referencia múltiples generalizada. El procedimiento incluye mejoras de reducción de complejidad en la selección de vectores de movimiento vecinos y la computación del vector de movimiento previsto. De acuerdo con el documento US 2005/117646, la predicción de un vector de movimiento que usa una lista de instantáneas de referencia específica depende únicamente de vectores de movimiento vecinos que usan la misma lista de instantáneas de referencia. No existe dependencia entre los vectores de movimiento que se refieren a una lista y aquellos que se refieren a otra lista en términos de sus usos en la predicción de vectores de movimiento para codificación diferencial.
Solución al problema
Para resolver los problemas, un procedimiento de codificación de imagen de acuerdo con un aspecto de la presente invención es un procedimiento de codificación de una instantánea actual por bloque con predicción usando una o ambas de una primera lista de instantáneas de referencia y una segunda lista de instantáneas de referencia, e incluye: añadir, a una lista de candidatos, un primer vector de movimiento adyacente como un candidato para un vector de movimiento previsto a usar para la codificación de un vector de movimiento actual, siendo el primer vector de movimiento adyacente un vector de movimiento de un bloque adyacente a un bloque actual incluido en la instantánea actual y siendo el vector de movimiento actual un vector de movimiento del bloque actual; seleccionar el vector de movimiento previsto a usar para la codificación del vector de movimiento actual, de la lista de candidatos que incluye el primer vector de movimiento adyacente; y codificar el vector de movimiento actual usando el vector de movimiento seleccionado previsto, en el que en la adición, el primer vector de movimiento adyacente se añade a la lista de candidatos para el vector de movimiento actual, indicando el primer vector de movimiento adyacente una posición en una primera instantánea de referencia incluida en la primera lista de instantáneas de referencia, e indicando el vector de movimiento actual una posición en una segunda instantánea de referencia incluida en la segunda lista de instantáneas de referencia.
Por consiguiente, el vector de movimiento adyacente que corresponde a la primera lista de instantáneas de referencia se añade a la lista de candidatos que corresponde a la segunda lista de instantáneas de referencia. Por consiguiente, aumenta el número de las opciones de vectores de movimiento previstos. Por lo tanto, es posible obtener un vector de movimiento previsto adecuado para la mejora de la eficiencia de codificación del vector de movimiento actual.
Adicionalmente, en la adición, puede añadirse adicionalmente un segundo vector de movimiento adyacente, siendo el segundo vector de movimiento adyacente un vector de movimiento del bloque adyacente y que indica una posición en una tercera instantánea de referencia incluida en la segunda lista de instantáneas de referencia.
Por consiguiente, el vector de movimiento adyacente que corresponde a la segunda lista de instantáneas de referencia se añade a la lista de candidatos que corresponde a la segunda lista de instantáneas de referencia. Por consiguiente, aumenta el número de las opciones de vectores de movimiento previstos. Por lo tanto, es posible obtener un vector de movimiento previsto adecuado para la mejora de la eficiencia de codificación del vector de movimiento actual.
Adicionalmente, en la adición: puede determinarse si la segunda instantánea de referencia es idéntica o no a la tercera instantánea de referencia; el segundo vector de movimiento adyacente puede añadirse a la lista de candidatos cuando se determina que la segunda instantánea de referencia es idéntica a la tercera instantánea de referencia; puede determinarse si la segunda instantánea de referencia es idéntica o no a la primera instantánea de referencia; y el primer vector de movimiento adyacente puede añadirse a la lista de candidatos cuando se determina que la segunda instantánea de referencia es idéntica a la primera instantánea de referencia.
Por consiguiente, únicamente cuando la instantánea de referencia que corresponde al vector de movimiento actual es idéntica a la instantánea de referencia que corresponde al vector de movimiento adyacente, el vector de movimiento adyacente se añade a la lista de candidatos. Por lo tanto, únicamente cuando el vector de movimiento adyacente es apropiado como un candidato para un vector de movimiento previsto, el vector de movimiento adyacente se añade a la lista de candidatos. Por lo tanto, se obtiene un vector de movimiento previsto apropiado. Adicionalmente, en la adición: puede determinarse si la segunda instantánea de referencia es idéntica o no a la primera instantánea de referencia cuando se determina que la segunda instantánea de referencia no es idéntica a la tercera instantánea de referencia; y el primer vector de movimiento adyacente puede añadirse a la lista de candidatos cuando se determina que la segunda instantánea de referencia no es idéntica a la tercera instantánea de referencia y que la segunda instantánea de referencia es idéntica a la primera instantánea de referencia.
Por consiguiente, cuando el vector de movimiento actual corresponde a la segunda lista de instantáneas de referencia, el vector de movimiento adyacente que corresponde a la segunda lista de instantáneas de referencia se añade preferentemente a la lista de candidatos. Por lo tanto, se añade un vector de movimiento adyacente más apropiado a la lista de candidatos como un candidato para un vector de movimiento previsto.
Adicionalmente, en la adición: puede determinarse si la segunda instantánea de referencia es idéntica o no a la tercera instantánea de referencia determinando si un orden de visualización de la segunda instantánea de referencia identificada mediante la segunda lista de instantáneas de referencia y un segundo índice de referencia es idéntico o no a un orden de visualización de la tercera instantánea de referencia identificada mediante la segunda lista de instantáneas de referencia y un tercer índice de referencia; y puede determinarse si la segunda instantánea de referencia es idéntica o no a la primera instantánea de referencia determinando si el orden de visualización de la segunda instantánea de referencia identificada mediante la segunda lista de instantáneas de referencia y el segundo índice de referencia es idéntico o no a un orden de visualización de la primera instantánea de referencia identificada mediante la primera lista de instantáneas de referencia y un primer índice de referencia. Por consiguiente, se determina apropiadamente si la instantánea de referencia identificada mediante la primera lista de instantáneas de referencia es idéntica o no a la instantánea de referencia identificada mediante la segunda lista de instantáneas de referencia a base de los órdenes de visualización.
Adicionalmente, en la adición, un vector de movimiento que tiene una magnitud de 0 puede añadirse como el candidato para el vector de movimiento previsto, cuando se determina que la segunda instantánea de referencia no es idéntica a la tercera instantánea de referencia y que la segunda instantánea de referencia no es idéntica a la primera instantánea de referencia.
Por consiguiente, se suprime el descenso en el número de candidatos. Por lo tanto, se evita un estado en el que no existe ningún candidato en la lista de candidatos.
Adicionalmente, en la adición, puede añadirse una pluralidad de valores de índices y una pluralidad de candidatos para el vector de movimiento previsto a la lista de candidatos de modo que los valores de índices están en correspondencia de uno a uno con los candidatos para el vector de movimiento previsto, en la selección, un valor de índice puede seleccionarse de la lista de candidatos como el vector de movimiento previsto, y en la codificación, el valor de índice seleccionado puede codificarse de modo que un código de un valor de índice es más largo a medida que el valor de índice es mayor.
Por consiguiente, el vector de movimiento seleccionado previsto se codifica apropiadamente. Por lo tanto, el codificador y el decodificador seleccionan el mismo vector de movimiento previsto.
Adicionalmente, en la adición, el primer vector de movimiento adyacente del bloque adyacente puede añadirse a la lista de candidatos, siendo el bloque adyacente uno de un bloque adyacente izquierdo, un bloque adyacente superior y un bloque adyacente superior izquierdo con respecto al bloque actual.
Por consiguiente, se añade una pluralidad de vectores de movimiento adyacentes a la lista de candidatos como candidatos para el vector de movimiento previsto. Por consiguiente, aumenta el número de las opciones de vectores de movimiento previstos.
Adicionalmente, un procedimiento de decodificación de imagen de acuerdo con un aspecto de la presente invención puede ser un procedimiento de decodificación de una instantánea actual por bloque con predicción usando una o ambas de una primera lista de instantáneas de referencia y una segunda lista de instantáneas de referencia, e incluye: añadir, a una lista de candidatos, un primer vector de movimiento adyacente como un candidato para un vector de movimiento previsto a usar para la decodificación de un vector de movimiento actual, siendo el primer vector de movimiento adyacente un vector de movimiento de un bloque adyacente a un bloque actual incluido en la instantánea actual y siendo el vector de movimiento actual un vector de movimiento del bloque actual; seleccionar el vector de movimiento previsto a usar para la decodificación del vector de movimiento actual, de la lista de candidatos que incluye el primer vector de movimiento adyacente; y decodificar el vector de movimiento actual usando el vector de movimiento seleccionado previsto, en el que en la adición, el primer vector de movimiento adyacente puede añadirse a la lista de candidatos para el vector de movimiento actual, indicando el primer vector de movimiento adyacente una posición en una primera instantánea de referencia incluida en la primera lista de instantáneas de referencia, e indicando el vector de movimiento actual una posición en una segunda instantánea de referencia incluida en la segunda lista de instantáneas de referencia.
Por consiguiente, el vector de movimiento adyacente que corresponde a la primera lista de instantáneas de referencia se añade a la lista de candidatos que corresponde a la segunda lista de instantáneas de referencia. Por consiguiente, aumenta el número de las opciones de vectores de movimiento previstos. Por lo tanto, es posible obtener un vector de movimiento previsto adecuado para la mejora de la eficiencia de codificación del vector de movimiento actual.
Adicionalmente, en la adición, un segundo vector de movimiento adyacente puede añadirse adicionalmente, siendo el segundo vector de movimiento adyacente un vector de movimiento del bloque adyacente y que indica una posición en una tercera instantánea de referencia incluida en la segunda lista de instantáneas de referencia.
Por consiguiente, el vector de movimiento adyacente que corresponde a la segunda lista de instantáneas de referencia se añade a la lista de candidatos que corresponde a la segunda lista de instantáneas de referencia. Por consiguiente, aumenta el número de las opciones de vectores de movimiento previstos. Por lo tanto, es posible obtener un vector de movimiento previsto adecuado para la mejora de la eficiencia de codificación del vector de movimiento actual.
Adicionalmente, en la adición: puede determinarse si la segunda instantánea de referencia es idéntica o no a la tercera instantánea de referencia; el segundo vector de movimiento adyacente puede añadirse a la lista de candidatos cuando se determina que la segunda instantánea de referencia es idéntica a la tercera instantánea de referencia; puede determinarse si la segunda instantánea de referencia es idéntica o no a la primera instantánea de referencia; y el primer vector de movimiento adyacente puede añadirse a la lista de candidatos cuando se determina que la segunda instantánea de referencia es idéntica a la primera instantánea de referencia.
Por consiguiente, únicamente cuando la instantánea de referencia que corresponde al vector de movimiento actual es idéntica a la instantánea de referencia que corresponde al vector de movimiento adyacente, el vector de movimiento adyacente se añade a la lista de candidatos. Por lo tanto, únicamente cuando el vector de movimiento adyacente es apropiado como un candidato para un vector de movimiento previsto, el vector de movimiento adyacente se añade a la lista de candidatos. Por lo tanto, se obtiene un vector de movimiento previsto apropiado. Adicionalmente, en la adición: puede determinarse si la segunda instantánea de referencia es idéntica o no a la primera instantánea de referencia cuando se determina que la segunda instantánea de referencia no es idéntica a la tercera instantánea de referencia; y el primer vector de movimiento adyacente puede añadirse a la lista de candidatos cuando se determina que la segunda instantánea de referencia no es idéntica a la tercera instantánea de referencia y que la segunda instantánea de referencia es idéntica a la primera instantánea de referencia.
Por consiguiente, cuando el vector de movimiento actual corresponde a la segunda lista de instantáneas de referencia, el vector de movimiento adyacente que corresponde a la segunda lista de instantáneas de referencia se añade preferentemente a la lista de candidatos. Por lo tanto, se añade un vector de movimiento adyacente más apropiado a la lista de candidatos como un candidato para un vector de movimiento previsto.
Adicionalmente, en la adición: puede determinarse si la segunda instantánea de referencia es idéntica o no a la tercera instantánea de referencia determinando si un orden de visualización de la segunda instantánea de referencia identificada mediante la segunda lista de instantáneas de referencia y un segundo índice de referencia es idéntico o no a un orden de visualización de la tercera instantánea de referencia identificada mediante la segunda lista de instantáneas de referencia y un tercer índice de referencia; y puede determinarse si la segunda instantánea de referencia es idéntica o no a la primera instantánea de referencia determinando si el orden de visualización de la segunda instantánea de referencia identificada mediante la segunda lista de instantáneas de referencia y el segundo índice de referencia es idéntico o no a un orden de visualización de la primera instantánea de referencia identificada mediante la primera lista de instantáneas de referencia y un primer índice de referencia. Por consiguiente, se determina apropiadamente si la instantánea de referencia identificada mediante la primera lista de instantáneas de referencia es idéntica o no a la instantánea de referencia identificada mediante la segunda lista de instantáneas de referencia a base de los órdenes de visualización.
Adicionalmente, en la adición, un vector de movimiento que tiene una magnitud de 0 puede añadirse como el candidato para el vector de movimiento previsto, cuando se determina que la segunda instantánea de referencia no es idéntica a la tercera instantánea de referencia y que la segunda instantánea de referencia no es idéntica a la primera instantánea de referencia.
Por consiguiente, se suprime el descenso en el número de candidatos. Por lo tanto, se evita un estado en el que no existe ningún candidato en la lista de candidatos.
Adicionalmente, en la adición, puede añadirse una pluralidad de valores de índices y una pluralidad de candidatos para el vector de movimiento previsto a la lista de candidatos de modo que los valores de índices están en correspondencia de uno a uno con los candidatos para el vector de movimiento previsto, en la decodificación, un valor de índice puede decodificarse, siendo el valor de índice codificado de modo que un código de un valor de índice es más largo a medida que el valor de índice es mayor, y en la selección, el vector de movimiento previsto que corresponde al valor de índice decodificado puede seleccionarse de la lista de candidatos.
Por consiguiente, el vector de movimiento seleccionado previsto se decodifica apropiadamente. Por lo tanto, el codificador y el decodificador seleccionan el mismo vector de movimiento previsto.
Adicionalmente, en la adición, el primer vector de movimiento adyacente del bloque adyacente puede añadirse a la lista de candidatos, siendo el bloque adyacente uno de un bloque adyacente izquierdo, un bloque adyacente superior y un bloque adyacente superior izquierdo con respecto al bloque actual.
Por consiguiente, se añade una pluralidad de vectores de movimiento adyacentes a la lista de candidatos como candidatos para el vector de movimiento previsto. Por consiguiente, aumenta el número de las opciones de vectores de movimiento previstos.
Adicionalmente, un aparato de codificación de imagen de acuerdo con un aspecto de la presente invención puede ser un aparato de codificación de imagen que codifica una instantánea actual por bloque con predicción usando una o ambas de una primera lista de instantáneas de referencia y una segunda lista de instantáneas de referencia, e incluye: una unidad de adición configurada para añadir, a una lista de candidatos, un primer vector de movimiento adyacente como un candidato para un vector de movimiento previsto a usar para la codificación de un vector de movimiento actual, siendo el primer vector de movimiento adyacente un vector de movimiento de un bloque adyacente a un bloque actual incluido en la instantánea actual y siendo el vector de movimiento actual un vector de movimiento del bloque actual; una unidad de selección configurada para seleccionar el vector de movimiento previsto a usar para la codificación del vector de movimiento actual, de la lista de candidatos que incluye el primer vector de movimiento adyacente; y una unidad de codificación configurada para codificar el vector de movimiento actual usando el vector de movimiento seleccionado previsto, en el que la unidad de adición puede configurarse para añadir el primer vector de movimiento adyacente a la lista de candidatos para el vector de movimiento actual, indicando el primer vector de movimiento adyacente una posición en una primera instantánea de referencia incluida en la primera lista de instantáneas de referencia, e indicando el vector de movimiento actual una posición en una segunda instantánea de referencia incluida en la segunda lista de instantáneas de referencia.
Por consiguiente, el procedimiento de codificación de imagen se implementa como el aparato de codificación de imagen.
Adicionalmente, un aparato de decodificación de imagen de acuerdo con un aspecto de la presente invención puede ser un aparato de decodificación de imagen que decodifica una instantánea actual por bloque con predicción usando una o ambas de una primera lista de instantáneas de referencia y una segunda lista de instantáneas de referencia, e incluye: una unidad de adición configurada para añadir, a una lista de candidatos, un primer vector de movimiento adyacente como un candidato para un vector de movimiento previsto a usar para la decodificación de un vector de movimiento actual, siendo el primer vector de movimiento adyacente un vector de movimiento de un bloque adyacente a un bloque actual incluido en la instantánea actual y siendo el vector de movimiento actual un vector de movimiento del bloque actual; una unidad de selección configurada para seleccionar el vector de movimiento previsto a usar para la decodificación del vector de movimiento actual, de la lista de candidatos que incluye el primer vector de movimiento adyacente; y una unidad de decodificación configurada para decodificar el vector de movimiento actual usando el vector de movimiento seleccionado previsto, en el que la unidad de adición puede configurarse para añadir el primer vector de movimiento adyacente a la lista de candidatos para el vector de movimiento actual, indicando el primer vector de movimiento adyacente una posición en una primera instantánea de referencia incluida en la primera lista de instantáneas de referencia, e indicando el vector de movimiento actual una posición en una segunda instantánea de referencia incluida en la segunda lista de instantáneas de referencia. Por consiguiente, el procedimiento de decodificación de imagen se implementa como el aparato de decodificación de imagen.
Adicionalmente, un aparato de codificación y decodificación de imagen de acuerdo con un aspecto de la presente invención puede ser un aparato de codificación y decodificación de imagen que codifica una instantánea actual por bloque y decodifica una instantánea actual por bloque, con predicción usando una o ambas de una primera lista de instantáneas de referencia y una segunda lista de instantáneas de referencia, e incluye: una unidad de adición configurada para añadir, a una lista de candidatos, un primer vector de movimiento adyacente como un candidato para un vector de movimiento previsto a usar para la codificación o decodificación de un vector de movimiento actual, siendo el primer vector de movimiento adyacente un vector de movimiento de un bloque adyacente a un bloque actual para procesar e incluir en la instantánea actual a codificar o decodificar, y siendo el vector de movimiento actual un vector de movimiento del bloque actual; una unidad de selección configurada para seleccionar el vector de movimiento previsto a usar para la codificación o decodificación del vector de movimiento actual, de la lista de candidatos que incluye el primer vector de movimiento adyacente; una unidad de codificación configurada para codificar el vector de movimiento actual usando el vector de movimiento seleccionado previsto; y una unidad de decodificación configurada para decodificar el vector de movimiento actual usando el vector de movimiento seleccionado previsto, en el que la unidad de adición puede configurarse para añadir el primer vector de movimiento adyacente a la lista de candidatos para el vector de movimiento actual, indicando el primer vector de movimiento adyacente una posición en una primera instantánea de referencia incluida en la primera lista de instantáneas de referencia, e indicando el vector de movimiento actual una posición en una segunda instantánea de referencia incluida en la segunda lista de instantáneas de referencia.
Por consiguiente, el aparato de codificación y decodificación de imagen implementa tanto las funciones del aparato de codificación de imagen como del aparato de decodificación de imagen.
Efectos ventajosos de la invención
De acuerdo con la presente invención, se obtiene un vector de movimiento previsto adecuado para la mejora de la eficiencia de codificación de un vector de movimiento. Por consiguiente, es posible mejorar la eficiencia de codificación del vector de movimiento.
Breve descripción de los dibujos
La Figura 1 ilustra una configuración de un aparato de codificación de imagen de acuerdo con la realización 1; La Figura 2 ilustra un diagrama de flujo de operaciones realizadas mediante el aparato de codificación de imagen de acuerdo con la realización 1;
La Figura 3 ilustra un diagrama de flujo de procedimientos para la determinación de una dirección de predicción de acuerdo con la realización 1;
La Figura 4 ilustra un diagrama de flujo de procedimientos para el cálculo de una lista de candidatos de acuerdo con la realización 1;
La Figura 5 ilustra un diagrama de flujo de procedimientos para la determinación de una bandera de adición de acuerdo con la realización 1;
La Figura 6A ilustra un ejemplo de una lista de candidatos para la primera dirección de predicción de acuerdo con la realización 1;
La Figura 6B ilustra un ejemplo de una lista de candidatos para la segunda dirección de predicción de acuerdo con la realización 1;
La Figura 7 ilustra un ejemplo de códigos de índices de vectores de movimiento previstos de acuerdo con la realización 1;
La Figura 8 ilustra procedimientos para la selección de un vector de movimiento previsto de acuerdo con la realización 1;
La Figura 9 ilustra una configuración de un aparato de decodificación de imagen de acuerdo con la realización 2;
La Figura 10 ilustra un diagrama de flujo de operaciones realizadas mediante el aparato de decodificación de imagen de acuerdo con la realización 2;
La Figura 11A ilustra una configuración de un aparato de codificación de imagen de acuerdo con la realización 3;
La Figura 11B ilustra un diagrama de flujo de operaciones realizadas mediante el aparato de codificación de imagen de acuerdo con la realización 3;
La Figura 12A ilustra una configuración de un aparato de decodificación de imagen de acuerdo con la realización 4;
La Figura 12B ilustra un diagrama de flujo de operaciones realizadas mediante el aparato de decodificación de imagen de acuerdo con la realización 4;
La Figura 13 ilustra una configuración de un aparato de codificación y decodificación de imagen de acuerdo con la realización 5;
La Figura 14 ilustra una configuración general de un sistema de provisión de contenido para la implementación de servicios de distribución de contenido;
La Figura 15 ilustra una configuración general de un sistema de difusión digital;
La Figura 16 ilustra un diagrama de bloques que ilustra un ejemplo de una configuración de una televisión; La Figura 17 ilustra un diagrama de bloques que ilustra un ejemplo de una configuración de una unidad de reproducción/grabación de información que lee y graba información de o en un medio de grabación que es un disco óptico;
La Figura 18 ilustra un ejemplo de una configuración de un medio de grabación que es un disco óptico;
La Figura 19A ilustra un ejemplo de un teléfono celular;
La Figura 19B ilustra un ejemplo de una configuración del teléfono celular;
La Figura 20 ilustra una estructura de datos multiplexados;
La Figura 21 ilustra esquemáticamente cómo se multiplexa cada uno de los flujos en datos multiplexados; La Figura 22 ilustra cómo se almacena un flujo de vídeo en un flujo de paquetes de PES en más detalle;
La Figura 23 ilustra una estructura de paquetes de TS y paquetes fuente en los datos multiplexados;
La Figura 24 ilustra una estructura de datos de una PMT;
La Figura 25 ilustra una estructura interna de información de datos multiplexados;
La Figura 26 ilustra una estructura interna de información de atributo de flujo;
La Figura 27 ilustra etapas para la identificación de datos de video;
La Figura 28 ilustra un diagrama de bloques que ilustra un ejemplo de una configuración de un circuito integrado para la implementación del procedimiento de codificación de instantáneas en movimiento y el procedimiento de decodificación de instantáneas en movimiento de acuerdo con cada una de las realizaciones; La Figura 29 ilustra una configuración para la conmutación entre frecuencias de accionamiento;
La Figura 30 ilustra etapas para la identificación de datos de video y conmutación entre frecuencias de accionamiento;
La Figura 31 ilustra un ejemplo de una tabla de consulta en la que las normas de datos de vídeo se asocian con las frecuencias de accionamiento;
La Figura 32A ilustra un ejemplo de una configuración para el intercambio de un módulo de una unidad de procesamiento de señales;
La Figura 32B ilustra otro ejemplo de una configuración para el intercambio de un módulo de una unidad de procesamiento de señales;
La Figura 33 ilustra un ejemplo de dos listas de instantáneas de referencia; y
La Figura 34 ilustra un ejemplo del bloque actual a codificar y los tres bloques adyacentes.
Descripción de las realizaciones
Realizaciones de la presente invención se describirán con referencia a los dibujos. Realizaciones descritas en lo sucesivo indican ejemplos favorables y específicos de la presente invención. Los valores, formas, materiales, elementos constituyentes, posiciones y conexiones de los elementos constituyentes, etapas, y ordenación de las etapas indicadas en realizaciones son ejemplos y no limitan la presente invención. La presente invención se limita únicamente de acuerdo con las reivindicaciones. Aunque los elementos constituyentes que no se describen en las reivindicaciones independientes que describen el concepto más genérico de la presente invención no son necesarios para resolver los problemas de la presente invención, se describen como componentes de las realizaciones favorables.
Adicionalmente, la primera lista de instantáneas de referencia corresponde a la predicción L0 y la segunda lista de instantáneas de referencia corresponde a la predicción L1. Adicionalmente, la primera lista de instantáneas de referencia corresponde a la primera dirección de predicción y la segunda lista de instantáneas de referencia corresponde a la segunda dirección de predicción. A la inversa, la primera lista de instantáneas de referencia puede corresponder a la predicción L1 y la segunda lista de instantáneas de referencia puede corresponder a la predicción L0. De manera similar, la primera lista de instantáneas de referencia puede corresponder a la segunda dirección de predicción y la segunda lista de instantáneas de referencia puede corresponder a la primera dirección de predicción.
(Realización 1)
La Figura 1 es un diagrama de bloques que ilustra una configuración de un aparato de codificación de imagen de acuerdo con la realización 1.
Un aparato 100 de codificación de imagen en la Figura 1 incluye una unidad 102 de transformación ortogonal, una unidad 103 de cuantificación, una unidad 105 de cuantificación inversa, una unidad 106 de transformación ortogonal inversa, una memoria 108 de bloque, una memoria 109 de fotograma, una unidad 110 de intra predicción, una unidad 111 de inter predicción, una unidad 114 de control de inter predicción, una unidad 113 de determinación de tipo de instantánea, una unidad 115 de gestión de listas de instantáneas de referencia, una unidad 116 de determinación de adición, una unidad 104 de codificación de longitud variable, una unidad 101 de sustracción, una unidad 107 de adición y una unidad 112 de conmutación.
La unidad 102 de transformación ortogonal realiza transformación en datos de error previstos entre datos de imagen prevista generados mediante una unidad que se describirá más adelante y una secuencia de imagen de entrada desde un dominio de imagen a un dominio de frecuencia. La unidad 103 de cuantificación cuantifica los datos de error previstos transformados en el dominio de frecuencia. La unidad 105 de cuantificación inversa cuantifica inversamente los datos de error previstos cuantificados por la unidad 103 de cuantificación. La unidad 106 de transformación ortogonal inversa realiza transformación sobre los datos de error previstos inversamente cuantificados por la unidad 105 de cuantificación inversa desde el dominio de frecuencia al dominio de imagen. La memoria 108 de bloque es una memoria para el almacenamiento de una imagen decodificada generada a partir de los datos de imagen prevista y los datos de error previstos inversamente cuantificados por la unidad 105 de cuantificación inversa por bloque. La memoria 109 de fotograma es una memoria para el almacenamiento de la imagen decodificada por fotograma.
La unidad 113 de determinación de tipo de instantánea determina en qué tipo de instantánea está codificada una instantánea de entrada, ya sea instantánea tipo I, instantánea tipo B o instantánea tipo P, y genera información de tipo de instantánea. La unidad 110 de intra predicción genera los datos de imagen prevista a través de intra predicción del bloque actual, usando la imagen decodificada almacenada por bloque en la memoria 108 de bloque. La unidad 111 de inter predicción genera los datos de imagen prevista a través de inter predicción del bloque actual, usando la imagen decodificada almacenada por fotograma en la memoria 109 de fotograma.
La unidad 115 de gestión de listas de instantáneas de referencia genera una lista de referencia con los órdenes de visualización de índices de instantáneas de referencia para la asignación de los índices de instantáneas de referencia a instantáneas de referencia codificadas a las que se hace referencia en la inter predicción.
Aunque la unidad 115 de gestión de listas de instantáneas de referencia gestiona las instantáneas de referencia mediante los índices de instantáneas de referencia y los órdenes de visualización en la realización 1, puede gestionar las instantáneas de referencia mediante los índices de instantáneas de referencia y los órdenes de codificación.
La unidad 116 de determinación de adición determina si un candidato para un vector de movimiento previsto (vector de movimiento previsto candidato) se añade o no con referencia a la primera y segunda listas de instantáneas de referencia generadas mediante la unidad 115 de gestión de listas de instantáneas de referencia. Más específicamente, la unidad 116 de determinación de adición determina si un vector de movimiento previsto candidato en la primera dirección de predicción se añade o no a una lista de candidatos para la segunda dirección de predicción del bloque codificado, en un procedimiento que se describirá más adelante. A continuación, la unidad 116 de determinación de adición establece una bandera de adición.
La unidad 114 de control de inter predicción determina un vector de movimiento previsto a usar para la codificación para codificar un vector de movimiento usando uno de los vectores de movimiento previstos candidatos que tiene el error más pequeño con el vector de movimiento obtenido a partir de la estimación de movimiento. En este documento, el error es un valor de diferencia entre el vector de movimiento previsto candidato y el vector de movimiento obtenido a partir de la estimación de movimiento.
Adicionalmente, la unidad 114 de control de inter predicción genera un índice de vector de movimiento previsto que corresponde al vector de movimiento previsto determinado, por bloque. La unidad 114 de control de inter predicción transmite el índice de vector de movimiento previsto, la información de error de los vectores de movimiento previstos candidatos y los índices de instantáneas de referencia a la unidad 104 de codificación de longitud variable.
La unidad 104 de codificación de longitud variable codifica en longitud variable los datos de error de predicción cuantificados, una bandera de dirección de inter predicción, los índices de instantáneas de referencia y la información de tipo de instantánea para generar el flujo de bits.
La Figura 2 es el procedimiento esquemático de procedimientos del procedimiento de codificación de imagen de acuerdo con la realización 1. La unidad 114 de control de inter predicción determina una dirección de predicción cuando el bloque actual se codifica en el modo de estimación de vector de movimiento (S101). A continuación, la unidad 114 de control de inter predicción determina si la dirección de predicción en el modo de estimación de vector de movimiento es o no la predicción bidireccional (S102).
Cuando la dirección de predicción es la predicción bidireccional (Sí en S102), la unidad 114 de control de inter predicción calcula una lista de vectores de movimiento previstos candidatos para cada una de la primera y segunda direcciones de predicción en un procedimiento que se describirá más adelante (S103, S104).
A continuación, la unidad 116 de determinación de adición determina si el vector de movimiento previsto candidato en la primera dirección de predicción se añade o no a la lista de vectores de movimiento previstos candidatos para la segunda dirección de predicción (S105). Cuando la unidad 116 de determinación de adición determina que el vector de movimiento previsto candidato en la primera dirección de predicción se añade (Sí en S105), la unidad 114 de control de inter predicción añade el vector de movimiento previsto candidato en la primera dirección de predicción a la lista de vectores de movimiento previstos candidatos para la segunda dirección de predicción (S106).
A continuación, la unidad 114 de control de inter predicción selecciona el vector de movimiento previsto en la primera dirección de predicción de la lista de vectores de movimiento previstos candidatos para la primera dirección de predicción y el vector de movimiento previsto en la segunda dirección de predicción de la lista de vectores de movimiento previstos candidatos para la segunda dirección de predicción. A continuación, la unidad 104 de codificación de longitud variable codifica los índices de vectores de movimiento previstos que corresponden a los vectores de movimiento previstos seleccionados y añade los índices a un flujo de bits (S107).
Cuando la dirección de predicción en el modo de estimación de vector de movimiento es la predicción de una dirección (No en S102), la unidad 114 de control de inter predicción determina si la dirección de predicción en el modo de estimación de vector de movimiento es o no la segunda dirección de predicción (S108).
Cuando la dirección de predicción es la segunda dirección de predicción (Sí en S108), la unidad 114 de control de inter predicción calcula un vector de movimiento previsto candidato en la segunda dirección de predicción (S109). A continuación, la unidad 116 de determinación de adición determina si el vector de movimiento previsto candidato en la primera dirección de predicción se añade o no a la lista de vectores de movimiento previstos candidatos para la segunda dirección de predicción (S110). Cuando la unidad 116 de determinación de adición determina que el vector de movimiento previsto candidato en la primera dirección de predicción se añade (Sí en S110), la unidad 114 de control de inter predicción añade el vector de movimiento previsto candidato en la primera dirección de predicción a la lista de vectores de movimiento previstos candidatos para la segunda dirección de predicción (S111).
A continuación, la unidad 114 de control de inter predicción selecciona el vector de movimiento previsto en la segunda dirección de predicción de la lista de vectores de movimiento previstos candidatos para la segunda dirección de predicción. A continuación, la unidad 104 de codificación de longitud variable codifica un índice de vector de movimiento previsto que corresponde al vector de movimiento seleccionado previsto y añade el índice codificado a un flujo de bits (S112).
Cuando la dirección de predicción no es la segunda dirección de predicción (No en S108), la unidad 114 de control de inter predicción calcula un vector de movimiento previsto candidato en la primera dirección de predicción (S113). A continuación, la unidad 114 de control de inter predicción selecciona el vector de movimiento previsto en la primera dirección de predicción de la lista de vectores de movimiento previstos candidatos para la primera dirección de predicción. A continuación, la unidad 104 de codificación de longitud variable codifica un índice de vector de movimiento previsto que corresponde al vector de movimiento seleccionado previsto y añade el índice codificado a un flujo de bits (S114).
Finalmente, la unidad 104 de codificación de longitud variable codifica un índice de instantánea de referencia y una bandera de dirección de inter predicción que indica una dirección de predicción del modo de estimación de vector de movimiento y añade la bandera de dirección de inter predicción y el índice de instantánea de referencia a un flujo de bits (S115).
A continuación, se describirá en detalle un procedimiento de determinación de una dirección de predicción en el modo de estimación de vector de movimiento (S101) en la Figura 2 con referencia a un procedimiento de procedimientos en la Figura 3. La unidad 114 de control de inter predicción realiza estimación de movimiento en la instantánea de referencia identificada mediante el índice de instantánea de referencia en la primera dirección de predicción y la instantánea de referencia identificada mediante el índice de instantánea de referencia en la segunda dirección de predicción. A continuación, la unidad 114 de control de inter predicción genera el primer y segundo vectores de movimiento que corresponden a las dos instantáneas de referencia (S201).
En este documento, la unidad 114 de control de inter predicción calcula valores de diferencia entre el bloque actual a codificar en una instantánea a codificar y bloques en cada una de las instantáneas de referencia en la estimación de movimiento. A continuación, la unidad 114 de control de inter predicción determina el bloque que tiene el valor de diferencia más pequeño como un bloque de referencia, entre los bloques en la instantánea de referencia. A continuación, la unidad 114 de control de inter predicción calcula un vector de movimiento con referencia a una posición del bloque actual y una posición del bloque de referencia.
A continuación, la unidad 111 de inter predicción genera una imagen prevista en la primera dirección de predicción, usando el primer vector de movimiento calculado. La unidad 114 de control de inter predicción calcula Cost1 que es un coste cuando el bloque actual se codifica usando la imagen prevista mediante, por ejemplo, un modelo de optimización R-D representado mediante la siguiente ecuación 4 (S202).
Coste = D A x R (Ecuación 4)
En la Ecuación 4, D indica artefactos de codificación. Más específicamente, D es, por ejemplo, una suma de diferencias absolutas entre (i) valores de píxeles obtenidos mediante codificación y decodificación del bloque actual usando la imagen prevista generada a partir de un cierto vector de movimiento y (ii) valores de píxeles originales del bloque actual. Adicionalmente, R indica una cantidad de código generada. Más específicamente, R es, por ejemplo, una cantidad de código necesaria para la codificación de un vector de movimiento usado para la generación de una imagen prevista. Adicionalmente, X indica un procedimiento de Lagrange de multiplicador indeterminado.
A continuación, la unidad 111 de inter predicción genera una imagen prevista en la segunda dirección de predicción, usando el segundo vector de movimiento calculado. A continuación, la unidad 114 de control de inter predicción calcula Cost2 a partir de la Ecuación 4 (S203).
A continuación, la unidad 111 de inter predicción genera una imagen prevista bidireccional usando los primer y segundo vectores de movimiento calculados. En este documento, la unidad 111 de inter predicción genera la imagen prevista bidireccional promediando, por píxel, la imagen prevista obtenida a partir del primer vector de movimiento y la imagen prevista obtenida a partir del segundo vector de movimiento. A continuación, la unidad 114 de control de inter predicción calcula CostBi a partir de la Ecuación 4 (S204).
A continuación, la unidad 114 de control de inter predicción compara Cost1, Cost2 y CostBi (S205). Cuando CostBi es el más pequeño (Sí en S205), la unidad 114 de control de inter predicción determina la predicción bidireccional como la dirección de predicción del modo de estimación de vector de movimiento (S206). Cuando CostBi no es el más pequeño (No en S205), la unidad 114 de control de inter predicción compara Cost1 y Cost2 (S207).
Cuando Cost1 es más pequeño (Sí en S207), la unidad 114 de control de inter predicción determina la predicción de una dirección en la primera dirección de predicción como el modo de estimación de vector de movimiento (S208). Cuando Cost1 no es más pequeño (No en S207), la unidad 114 de control de inter predicción determina la predicción de una dirección en la segunda dirección de predicción como el modo de estimación de vector de movimiento (S209).
Aunque la unidad 111 de inter predicción promedia las imágenes para cada uno de los píxeles cuando se genera la imagen prevista bidireccional en la realización 1, puede calcular la media ponderada de las imágenes y otros. A continuación, se describirá en detalle un procedimiento del cálculo de una lista de vectores de movimiento previstos candidatos en la Figura 2 (S103, S104, S109 y S113) con referencia a un procedimiento de procedimientos en la Figura 4. La unidad 114 de control de inter predicción determina un bloque A adyacente a la izquierda del bloque actual, un bloque B adyacente encima del bloque actual y un bloque C adyacente arriba a la derecha del bloque actual (S301).
Por ejemplo, la unidad 114 de control de inter predicción determina, como el bloque A adyacente, un bloque al que pertenece un píxel adyacente a la izquierda del píxel ubicado en la esquina superior izquierda del bloque actual. Adicionalmente, la unidad 114 de control de inter predicción determina, como el bloque B adyacente, un bloque al que pertenece un píxel adyacente por encima del píxel ubicado en la esquina superior izquierda del bloque actual.
Adicionalmente, la unidad 114 de control de inter predicción determina, como el bloque C adyacente, un bloque al que pertenece un píxel adyacente a la parte superior derecha de la esquina superior derecha del bloque actual. A continuación, la unidad 114 de control de inter predicción determina si cada uno de los de los bloques adyacentes A, B y C satisface o no ambas dos condiciones (S302). Una de las condiciones es que el bloque adyacente N (N es uno de A, B y C) tenga un vector de movimiento en una dirección de predicción idéntica a la del vector de movimiento del bloque actual. La otra es que una instantánea de referencia del bloque adyacente N sea idéntica a la del bloque actual.
Cuando el bloque adyacente N satisface las dos condiciones (Sí en S302), la unidad 114 de control de inter predicción añade vectores de movimiento adyacentes del bloque adyacente N a una lista de vectores de movimiento previstos candidatos (S303). Adicionalmente, la unidad 114 de control de inter predicción calcula un valor de mediana (valor central) de los vectores de movimiento del bloque adyacente y añade el valor de mediana a la lista de vectores de movimiento previstos candidatos (S304).
La unidad 114 de control de inter predicción añade el vector de movimiento del bloque adyacente que tiene la dirección de predicción idéntica a la del correspondiente vector de movimiento del bloque actual, a la lista de vectores de movimiento previstos candidatos. A continuación, la unidad 114 de control de inter predicción no añade un vector de movimiento del bloque adyacente que tiene una dirección de predicción diferente de la del vector de movimiento del bloque actual. Sin embargo, la unidad 114 de control de inter predicción puede añadir un vector de movimiento del bloque adyacente que tiene una dirección de predicción diferente de la del vector de movimiento del bloque actual, a la lista de vectores de movimiento previstos candidatos estableciendo que el vector de movimiento se añada a 0.
A continuación, se describirá un procedimiento de determinación de una bandera de adición en la Figura 2 (S105, S110).
Existe un caso en el que la instantánea de referencia indicada mediante el índice de referencia de la primera dirección de predicción del bloque adyacente es idéntica a la instantánea de referencia indicada mediante el índice de referencia de la segunda dirección de predicción del bloque actual. En general, el vector de movimiento en la primera dirección de predicción del bloque adyacente tiende a tener un valor relativamente cercano al valor del vector de movimiento en la segunda dirección de predicción del bloque actual.
Por lo tanto, en un caso de este tipo, la unidad 114 de control de inter predicción añade el vector de movimiento en la primera dirección de predicción del bloque adyacente como un vector de movimiento previsto candidato en la segunda dirección de predicción del bloque actual. En otras palabras, la unidad 114 de control de inter predicción añade el vector de movimiento previsto candidato en la primera dirección de predicción del bloque actual como el vector de movimiento previsto candidato en la segunda dirección de predicción.
Como tal, el aparato 100 de codificación de imagen añade no únicamente el vector de movimiento en la segunda dirección de predicción del bloque adyacente sino también el vector de movimiento en la primera dirección de predicción, como los vectores de movimiento previstos candidatos en la segunda dirección de predicción del bloque actual para realizar codificación eficiente.
En la realización 1, no limitada a esta configuración, la unidad 114 de control de inter predicción añade el vector de movimiento previsto candidato en la primera dirección de predicción del bloque actual como el vector de movimiento previsto candidato en la segunda dirección de predicción.
Por ejemplo, existe un caso en el que la instantánea de referencia en la segunda dirección de predicción del bloque adyacente es idéntica a la instantánea de referencia en la primera dirección de predicción del bloque actual. Por lo tanto, en un caso de este tipo, la unidad 114 de control de inter predicción puede añadir el vector de movimiento en la segunda dirección de predicción del bloque adyacente como un vector de movimiento previsto candidato en la primera dirección de predicción del bloque actual.
En otras palabras, la unidad 114 de control de inter predicción puede añadir el vector de movimiento previsto candidato en la segunda dirección de predicción del bloque actual como el vector de movimiento previsto candidato en la primera dirección de predicción. En esta configuración, el aparato 100 de codificación de imagen puede codificar de forma eficiente los vectores de movimiento.
Adicionalmente, la unidad 104 de codificación de longitud variable puede codificar la bandera de adición y añade la bandera a un flujo de bits. Por consiguiente, un decodificador puede determinar si el vector de movimiento previsto candidato en la primera dirección de predicción debería añadirse o no con referencia a la bandera de adición. Por lo tanto, puede reducirse la cantidad de computación en la codificación.
Adicionalmente, la unidad 104 de codificación de longitud variable puede añadir una bandera de adición por bloque. Por consiguiente, es posible realizar la conmutación flexible. Adicionalmente, la unidad 104 de codificación de longitud variable puede añadir una bandera de adición por instantánea. Por consiguiente, es posible mejorar la eficiencia de codificación y reduce la cantidad de computación del decodificador.
A continuación, se describirá en detalle un procedimiento de determinación de una bandera de adición con referencia a la Figura 5.
La unidad 116 de determinación de adición obtiene un índice de instantánea de referencia de la segunda dirección de predicción del bloque actual (S401). Adicionalmente, la unidad 114 de control de inter predicción obtiene índices de instantáneas de referencia de la primera dirección de predicción de los bloques adyacentes A, B y C (S402). A continuación, la unidad 116 de determinación de adición determina si la instantánea de referencia indicada mediante el índice de instantánea de referencia de la segunda dirección de predicción del bloque actual es idéntica o no a la instantánea de referencia indicada mediante el índice de instantánea de referencia de la primera dirección de predicción del bloque adyacente (S403). En este documento, la unidad 116 de determinación de adición hace la determinación usando la primera y segunda listas de instantáneas de referencia.
Por ejemplo, la unidad 116 de determinación de adición obtiene, a partir de la segunda lista de instantáneas de referencia, el orden de visualización de la instantánea de referencia indicada mediante el índice de instantánea de referencia de la segunda dirección de predicción del bloque actual. Adicionalmente, la unidad 116 de determinación de adición obtiene, a partir de la primera lista de instantáneas de referencia, el orden de visualización de la instantánea de referencia indicada mediante el índice de instantánea de referencia de la primera dirección de predicción del bloque adyacente. La unidad 116 de determinación de adición compara estos dos órdenes de visualización. Cuando se determina que los órdenes son idénticos entre sí, la unidad 116 de determinación de adición determina que las dos instantáneas de referencia son idénticas.
Cuando la instantánea de referencia en la segunda dirección de predicción del bloque actual es idéntica a la instantánea de referencia en la primera dirección de predicción del bloque adyacente (Sí en S403), la unidad 116 de determinación de adición ACTIVA la bandera de adición (S404). Cuando la instantánea de referencia en la segunda dirección de predicción del bloque actual no es idéntica a la instantánea de referencia en la primera dirección de predicción del bloque adyacente (No en S403), la unidad 116 de determinación de adición DESACTIVA la bandera de adición (S405).
En la realización 1, la unidad 116 de determinación de adición determina si las dos instantáneas de referencia son idénticas o no entre sí con referencia a los órdenes de visualización. Sin embargo, la unidad 116 de determinación de adición puede determinar si las dos instantáneas de referencia son idénticas o no entre sí con referencia a los órdenes de codificación y otros. Adicionalmente, la unidad 116 de determinación de adición puede realizar los procedimientos en la Figura 5 únicamente cuando un resultado de la determinación en la Figura 4 es falso (No en S302).
Cuando un resultado de la determinación en la Figura 4 es verdadero (Sí en S302), la unidad 114 de control de inter predicción añade el vector de movimiento en la segunda dirección de predicción del bloque adyacente como un vector de movimiento previsto candidato en la segunda dirección de predicción del bloque actual. Aquí, es redundante añadir de nuevo el vector de movimiento en la primera dirección de predicción del bloque adyacente como un vector de movimiento previsto candidato en la segunda dirección de predicción del bloque actual.
Por lo tanto, la unidad 116 de determinación de adición puede realizar los procedimientos en la Figura 5 únicamente cuando un resultado de la determinación en la Figura 4 es falso (No en S302). Por consiguiente, únicamente cuando el vector de movimiento en la segunda dirección de predicción del bloque adyacente no es el vector de movimiento previsto candidato en la segunda dirección de predicción del bloque actual, la unidad 114 de control de inter predicción puede añadir el vector de movimiento en la primera dirección de predicción del bloque adyacente como un vector de movimiento previsto candidato en la segunda dirección de predicción del bloque actual. Por consiguiente, es posible mejorar la eficiencia de codificación.
A continuación, se describirá un ejemplo de una lista de vectores de movimiento previstos candidatos generados con los procedimientos (S103 a S106) en la Figura 2 cuando el bloque actual tiene el vector de movimiento MvL0 en la primera dirección de predicción y el vector de movimiento MvL1 en la segunda dirección de predicción como se ilustra en la Figura 34 con referencia a las Figuras 6A y 6B.
La siguiente relación se supondrá en la Figura 34. En otras palabras, la instantánea de referencia en la primera dirección de predicción del bloque actual es idéntica a la instantánea de referencia en la primera dirección de predicción de cada uno de los bloques adyacentes A, B y C. Adicionalmente, la instantánea de referencia en la segunda dirección de predicción del bloque actual, la instantánea de referencia en la segunda dirección de predicción de cada uno de los bloques adyacentes A y C y la instantánea de referencia en la primera dirección de predicción del bloque B adyacente son idénticas entre sí.
En la lista de vectores de movimiento previstos candidatos para la primera dirección de predicción de la Figura 6A, el índice de vector de movimiento previsto que corresponde a Mediana (MvL0_A, MvL0_B, MvL0_C) es 0. El índice de vector de movimiento previsto que corresponde al vector de movimiento MvL0_A es 1. El índice de vector de movimiento previsto que corresponde al vector de movimiento MvL0_B es 2. El índice de vector de movimiento previsto que corresponde al vector de movimiento MvL0_C es 3.
En la lista de vectores de movimiento previstos candidatos para la segunda dirección de predicción de la Figura 6B, el índice de vector de movimiento previsto que corresponde a Mediana (MvL1_A, MvL0_B, MvL1_C) es 0. El índice de vector de movimiento previsto que corresponde al vector de movimiento MvL1_A es 1. El índice de vector de movimiento previsto que corresponde al vector de movimiento MvL0_B es 2. El índice de vector de movimiento previsto que corresponde al vector de movimiento MvL1_C es 3.
En este documento, cuando la lista de vectores de movimiento previstos candidatos para la segunda dirección de predicción no tiene un vector de movimiento MvL1_B en la segunda dirección de predicción del bloque B adyacente, la unidad 114 de control de inter predicción añade el vector de movimiento MvL0_B en la primera dirección de predicción a la lista de vectores de movimiento previstos candidatos para la segunda dirección de predicción. Como tal, cuando un bloque adyacente no tiene vector de movimiento en la segunda dirección de predicción sino que en su lugar tiene un vector de movimiento en la primera dirección de predicción, la unidad 114 de control de inter predicción añade el vector de movimiento en la primera dirección de predicción del bloque adyacente a la lista de vectores de movimiento previstos candidatos para la segunda dirección de predicción. Por consiguiente, es posible mejorar la eficiencia de codificación. Cuando la lista de vectores de movimiento previstos candidatos para la segunda dirección de predicción no tiene vector de movimiento del bloque adyacente, la unidad 114 de control de inter predicción no asigna ningún índice de vector de movimiento previsto. Por consiguiente, es posible mejorar la eficiencia de codificación. Adicionalmente, el procedimiento de asignación del índice de vector de movimiento previsto no se limita a este ejemplo. Cuando no hay presente ningún vector de movimiento, la unidad 114 de control de inter predicción puede asignar el índice de vector de movimiento previsto añadiendo un vector de movimiento que tiene la magnitud de 0 a la lista de vectores de movimiento previstos candidatos.
La Figura 7 ilustra un ejemplo de una tabla de códigos para índices de vectores de movimiento previstos de codificación de longitud variable. A medida un índice de vector de movimiento previsto es más pequeño, el código es más corto. La unidad 114 de control de inter predicción asigna un índice de vector de movimiento previsto más pequeño a un candidato estimado con mayor precisión de predicción. Por consiguiente, es posible mejorar la eficiencia de codificación.
En el ejemplo de la lista de vectores de movimiento previstos candidatos para la segunda dirección de predicción en la Figura 6B, la unidad 114 de control de inter predicción asigna el índice de vector de movimiento previsto indicado mediante 2, al vector de movimiento MvL0_B en la primera dirección de predicción del bloque B adyacente. Sin embargo, la unidad 114 de control de inter predicción puede asignar un índice de vector de movimiento previsto más pequeño a un candidato en la misma dirección de predicción.
Más específicamente, la unidad 114 de control de inter predicción asigna 0 a un índice de vector de movimiento previsto que corresponde a Mediana (MvL1_A, MvL0_B, MvL1_C) en la lista de vectores de movimiento previstos candidatos para la segunda dirección de predicción.
Adicionalmente, la unidad 114 de control de inter predicción asigna 1 a un índice de vector de movimiento previsto que corresponde al vector de movimiento MvL1_A. Adicionalmente, la unidad 114 de control de inter predicción asigna 2 a un índice de vector de movimiento previsto que corresponde al vector de movimiento MvL1_C. Adicionalmente, la unidad 114 de control de inter predicción asigna 3 a un índice de vector de movimiento previsto que corresponde al vector de movimiento MvL0_B.
Por consiguiente, se prioriza la misma dirección de predicción y los índices de vectores de movimiento previstos más pequeños se asignan a los vectores de movimiento previstos candidatos que se estima que tienen mayor precisión de predicción.
A continuación, se describirá en detalle un procedimiento de selección de un vector de movimiento previsto (S107, S112 y S114) de la Figura 2 con referencia a un procedimiento de procedimientos en la Figura 8. La unidad 114 de control de inter predicción establece 0 a un valor de contador para la inicialización y establece el valor mayor al vector de movimiento diferencial más pequeño (S501).
A continuación, la unidad 114 de control de inter predicción determina si vectores de movimiento diferenciales de todos los vectores de movimiento previstos candidatos se calculan o no (S502). Cuando el vector de movimiento previsto candidato aún existe (Sí en S502), la unidad 114 de control de inter predicción calcula el vector de movimiento diferencial restando el vector de movimiento previsto candidato de un vector de resultado de estimación de movimiento (S503).
A continuación, la unidad 114 de control de inter predicción determina si el vector de movimiento diferencial calculado es más pequeño o no que el vector de movimiento diferencial más pequeño (S504). Cuando el vector de movimiento diferencial es más pequeño que el vector de movimiento diferencial más pequeño (Sí en S504), la unidad 114 de control de inter predicción actualiza el vector de movimiento diferencial más pequeño y el índice de vector de movimiento previsto (S505).
A continuación, la unidad 114 de control de inter predicción añade 1 al valor de contador (S506). A continuación, la unidad 114 de control de inter predicción determina de nuevo si el siguiente vector de movimiento previsto candidato existe o no (S502). Cuando la unidad 114 de control de inter predicción determina que se calculan los vectores de movimiento diferenciales para todos los vectores de movimiento previstos candidatos (No en S502), transmite el vector de movimiento diferencial más pequeño y el índice de vector de movimiento previsto que finalmente se determinan a la unidad 104 de codificación de longitud variable y provoca que la unidad 104 de codificación de longitud variable codifique el vector de movimiento diferencial más pequeño y el índice de vector de movimiento previsto (S507).
De acuerdo con la realización 1, cuando se selecciona un vector de movimiento de un bloque adyacente como un vector de movimiento candidato, la unidad 114 de control de inter predicción adopta un nuevo criterio de selección para la selección. Por consiguiente, la unidad 114 de control de inter predicción obtiene un vector de movimiento previsto lo más adecuado para la codificación de un vector de movimiento de la instantánea actual. Por consiguiente, es posible mejorar la eficiencia de codificación.
En particular, existe un caso en el que la instantánea de referencia indicada mediante el índice de referencia de instantánea de referencia de la segunda dirección de predicción del bloque actual es idéntica a la instantánea de referencia indicada mediante el índice de referencia de instantánea de referencia de la primera dirección de predicción del bloque adyacente. En un caso de este tipo, la unidad 114 de control de inter predicción añade el vector de movimiento en la primera dirección de predicción del bloque adyacente como el vector de movimiento previsto candidato en la segunda dirección de predicción del bloque actual. Por lo tanto, la codificación eficiente es posible.
En la realización 1, la unidad 114 de control de inter predicción añade el vector de movimiento en la primera dirección de predicción del bloque adyacente a la lista de vectores de movimiento previstos candidatos para la segunda dirección de predicción del bloque actual. Sin embargo, la unidad 114 de control de inter predicción puede añadir el vector de movimiento en la segunda dirección de predicción del bloque adyacente a la lista de vectores de movimiento previstos candidatos para la primera dirección de predicción del bloque actual.
(Realización 2)
La Figura 9 es un diagrama de bloques que ilustra una configuración de un aparato de decodificación de imagen de acuerdo con la realización 2.
Como se ilustra en la Figura 9, un aparato 200 de decodificación de imagen incluye una unidad 204 de decodificación de longitud variable, una unidad 205 de cuantificación inversa, una unidad 206 de transformación ortogonal inversa, una unidad 207 de adición, una memoria 208 de bloque, una memoria 209 de fotograma, una unidad 210 de intra predicción, una unidad 211 de inter predicción, una unidad 212 de conmutación, una unidad 214 de control de inter predicción, una unidad 215 de gestión de listas de instantáneas de referencia y una unidad 216 de determinación de adición.
La unidad 204 de decodificación de longitud variable decodifica en longitud variable un flujo de bits de entrada. A continuación, la unidad 204 de decodificación de longitud variable genera un tipo de instantánea, un índice de instantánea de referencia, información de dirección de inter predicción, un índice de vector de movimiento previsto y coeficientes cuantificados. La unidad 205 de cuantificación inversa cuantifica inversamente los coeficientes cuantificados. La unidad 206 de transformación ortogonal inversa realiza transformación sobre los coeficientes de transformación ortogonales inversamente cuantificados desde el dominio de frecuencia al dominio de imagen para generar datos de imágenes de error de predicción.
La memoria 208 de bloque es una memoria para el almacenamiento de una secuencia de imágenes generadas añadiendo los datos de imagen prevista a los datos de imágenes de error de predicción, por bloque. La memoria 209 de fotograma es una memoria para el almacenamiento de la secuencia de imágenes por fotograma.
La unidad 210 de intra predicción genera los datos de imagen prevista de un bloque a decodificar a través de intra predicción, usando la secuencia de imágenes almacenada por bloque en la memoria 208 de bloque.
La unidad 211 de inter predicción genera los datos de imagen prevista del bloque a decodificar a través de inter predicción, usando la secuencia de imágenes almacenada por fotograma en la memoria 209 de fotograma. La unidad 214 de control de inter predicción controla un procedimiento de generación de un vector de movimiento y datos de imagen prevista en la inter predicción, de acuerdo con el tipo de instantánea, el índice de instantánea de referencia, la información de dirección de inter predicción y el índice de vector de movimiento previsto.
La unidad 215 de gestión de listas de instantáneas de referencia genera una lista de referencia con los órdenes de visualización de índices de instantáneas de referencia para la asignación de los índices de instantáneas de referencia a instantáneas de referencia decodificadas a las que se hace referencia en la inter predicción (similar a la Figura 33). La instantánea tipo B se usa para la codificación de con referencia a dos instantáneas. Por lo tanto, la unidad 215 de gestión de listas de instantáneas de referencia mantiene dos listas de referencia.
La unidad 215 de gestión de listas de instantáneas de referencia gestiona las instantáneas de referencia mediante los índices de instantáneas de referencia y los órdenes de visualización en la realización 2. Sin embargo, la unidad 215 de gestión de listas de instantáneas de referencia puede gestionar las instantáneas de referencia mediante los índices de instantáneas de referencia y los órdenes de codificación (órdenes de decodificación).
La unidad 216 de determinación de adición determina si un vector de movimiento previsto candidato en la primera dirección de predicción se añade o no a una lista de vectores de movimiento previstos candidatos para la segunda dirección de predicción del bloque a decodificar con referencia a la primera y segunda listas de instantáneas de referencia generadas mediante la unidad 215 de gestión de listas de instantáneas de referencia. A continuación, la unidad 216 de determinación de adición establece una bandera de adición. Ya que el procedimiento para la determinación de la bandera de adición es el mismo que el de en la Figura 5 de acuerdo con la realización 1, se omite la descripción del mismo.
Finalmente, la unidad 207 de adición añade los datos de imagen de error de predicción decodificados a los datos de imagen prevista para generar una secuencia de imagen decodificada.
La Figura 10 es un procedimiento esquemático de procedimientos de un procedimiento de decodificación de imagen de acuerdo con la realización 2. En primer lugar, la unidad 214 de control de inter predicción determina si una dirección de predicción decodificada es o no una bidirección (S601).
Cuando la dirección de predicción decodificada es la bidirección (Sí en S601), la unidad 214 de control de inter predicción calcula listas de vector de movimiento previsto candidato para la primera y segunda direcciones de predicción (S602, S603). La Figura 4 de acuerdo con la realización 1 se usa para el cálculo de las listas de vector de movimiento previsto candidato. La unidad 214 de control de inter predicción decodifica los índices de instantáneas de referencia de la primera y segunda direcciones de predicción a partir de un flujo de bits. La unidad 216 de determinación de adición determina si un vector de movimiento previsto candidato en la primera dirección de predicción se añade o no a la lista de vectores de movimiento previstos candidatos para la segunda dirección de predicción (S604).
Cuando la bandera de adición se ACTIVA, (Sí en S604), la unidad 214 de control de inter predicción añade el vector de movimiento previsto candidato en la primera dirección de predicción a la lista de vectores de movimiento previstos candidatos para la segunda dirección de predicción (S605). La bandera de adición que indica si el vector de movimiento previsto candidato en la primera dirección de predicción se añade o no se establece de la misma manera como en la Figura 5 de acuerdo con la realización 1.
La unidad 214 de control de inter predicción selecciona los vectores de movimiento previstos indicados mediante los índices de vectores de movimiento previstos de la primera y segunda direcciones de predicción que se decodifican a partir del flujo de bits, a partir de las listas de vector de movimiento previsto candidato para la primera y segunda direcciones de predicción. La unidad 214 de control de inter predicción añade vectores de movimiento diferenciales en la primera y segunda direcciones de predicción que se decodifican a partir del flujo de bits, a los vectores de movimiento previstos en la primera y segunda direcciones de predicción.
Por consiguiente, la unidad 214 de control de inter predicción decodifica los vectores de movimiento en la primera y segunda direcciones de predicción (S606).
Cuando la dirección de predicción decodificada no es la bidirección (No en S601), es decir, cuando la dirección de inter predicción es una dirección, la unidad 214 de control de inter predicción determina si la dirección de predicción es o no la segunda dirección de predicción (S607).
Cuando la dirección de predicción es la segunda dirección de predicción (Sí en S607), la unidad 214 de control de inter predicción calcula un vector de movimiento previsto candidato en la segunda dirección de predicción (S608). La unidad 216 de determinación de adición determina si un vector de movimiento previsto candidato en la primera dirección de predicción se añade o no a la lista de vectores de movimiento previstos candidatos para la segunda dirección de predicción (S609).
Cuando la bandera de adición se ACTIVA, (Sí en S609), la unidad 214 de control de inter predicción añade el vector de movimiento previsto candidato en la primera dirección de predicción a la lista de vectores de movimiento previstos candidatos para la segunda dirección de predicción (S610).
La unidad 214 de control de inter predicción selecciona el vector de movimiento previsto indicado mediante el índice de vector de movimiento previsto de la segunda dirección de predicción que se decodifica a partir del flujo de bits, de la lista de vectores de movimiento previstos candidatos para la segunda dirección de predicción. La unidad 214 de control de inter predicción añade el vector de movimiento seleccionado previsto al vector de movimiento diferencial en la segunda dirección de predicción que se decodifica a partir del flujo de bits, decodificando por lo tanto el vector de movimiento en la segunda dirección de predicción (S611).
Cuando la dirección de predicción no es la segunda dirección de predicción (No en S607), es decir, cuando la dirección de predicción es la primera dirección de predicción, la unidad 214 de control de inter predicción calcula un vector de movimiento previsto candidato en la primera dirección de predicción (S612).
La unidad 214 de control de inter predicción selecciona el vector de movimiento previsto indicado mediante el índice de vector de movimiento previsto de la primera dirección de predicción que se decodifica a partir del flujo de bits, de la lista de vectores de movimiento previstos candidatos para la primera dirección de predicción. A continuación, la unidad 214 de control de inter predicción añade el vector de movimiento seleccionado previsto al vector de movimiento diferencial en la primera dirección de predicción que se decodifica a partir del flujo de bits, decodificando por lo tanto el vector de movimiento en la primera dirección de predicción (S613).
De acuerdo con la realización 2, cuando se selecciona un vector de movimiento de un bloque adyacente como un vector de movimiento candidato, la unidad 214 de control de inter predicción adopta un nuevo criterio de selección para la selección. Por consiguiente, se obtiene un vector de movimiento previsto lo más adecuado para la decodificación de un vector de movimiento. Adicionalmente, se mejorará la eficiencia de codificación.
En particular, existe un caso en el que la instantánea de referencia indicada mediante el índice de referencia de instantánea de referencia de la segunda dirección de predicción del bloque actual a decodificar es idéntica a la instantánea de referencia indicada mediante el índice de referencia de instantánea de referencia de la primera dirección de predicción del bloque adyacente. En un caso de este tipo, la unidad 214 de control de inter predicción añade el vector de movimiento en la primera dirección de predicción del bloque adyacente como un vector de movimiento previsto candidato en la segunda dirección de predicción del bloque actual a decodificar. Por consiguiente, se mejorará la eficiencia de codificación.
La unidad 214 de control de inter predicción de acuerdo con la realización 2 añade el vector de movimiento en la primera dirección de predicción del bloque adyacente a la lista de vectores de movimiento previstos candidatos para la segunda dirección de predicción del bloque actual. Sin embargo, la unidad 214 de control de inter predicción puede añadir el vector de movimiento en la segunda dirección de predicción del bloque adyacente a la lista de vectores de movimiento previstos candidatos para la primera dirección de predicción del bloque actual. (Realización 3)
La realización 3 describe complementariamente un aparato de codificación de imagen que incluye los elementos constituyentes característicos del aparato 100 de codificación de imagen de acuerdo con la realización 1.
La Figura 11A ilustra una configuración del aparato de codificación de imagen de acuerdo con la realización 3. Un aparato 300 de codificación de imagen en la Figura 11A incluye una unidad 301 de adición, una unidad 302 de selección y una unidad 303 de codificación. La unidad 301 de adición corresponde principalmente a la unidad 116 de determinación de adición de acuerdo con la realización 1. La unidad 302 de selección corresponde principalmente a la unidad 114 de control de inter predicción de acuerdo con la realización 1. La unidad 303 de codificación corresponde principalmente a la unidad 104 de codificación de longitud variable de acuerdo con la realización 1.
A continuación, el aparato 300 de codificación de imagen codifica la instantánea actual por bloque. En este documento, el aparato 300 de codificación de imagen realiza predicción usando una o ambas de la primera y segunda listas de instantáneas de referencia. En otras palabras, el aparato 300 de codificación de imagen realiza predicción usando una o ambas de la instantánea de referencia indicada mediante la primera lista de instantáneas de referencia y la instantánea de referencia indicada mediante la segunda lista de instantáneas de referencia. La Figura 11B es un diagrama de flujo de operaciones realizadas mediante el aparato 300 de codificación de imagen en la Figura 11A. En primer lugar, la unidad 301 de adición añade el primer vector de movimiento adyacente a una lista de vectores de movimiento previstos candidatos a usar para la codificación del vector de movimiento actual, como un candidato para un vector de movimiento previsto (S701).
El primer vector de movimiento adyacente es un vector de movimiento de un bloque adyacente que es adyacente al bloque actual a codificar incluido en la instantánea actual a codificar. Adicionalmente, el primer vector de movimiento adyacente indica una posición en una primera instantánea de referencia incluida en la primera lista de instantáneas de referencia. El vector de movimiento actual es un vector de movimiento del bloque actual. Adicionalmente, el vector de movimiento adyacente actual indica una posición en una segunda instantánea de referencia incluida en la segunda lista de instantáneas de referencia.
A continuación, la unidad 302 de selección selecciona un vector de movimiento previsto a usar para la codificación del vector de movimiento actual, de una lista de candidatos que incluye el primer vector de movimiento adyacente (S702). A continuación, la unidad 303 de codificación codifica el vector de movimiento actual usando el vector de movimiento seleccionado previsto (S703).
Por consiguiente, el vector de movimiento adyacente que corresponde a la primera lista de instantáneas de referencia se añade a la lista de candidatos que corresponde a la segunda lista de instantáneas de referencia. Por consiguiente, aumenta el número de las opciones de vectores de movimiento previstos. Por consiguiente, es posible obtener un vector de movimiento previsto adecuado para la mejora de la eficiencia de codificación del vector de movimiento actual.
Adicionalmente, la unidad 301 de adición puede añadir el segundo vector de movimiento adyacente a la lista de candidatos. El segundo vector de movimiento adyacente es un vector de movimiento de un bloque adyacente e indica una posición en una tercera instantánea de referencia incluida en la segunda lista de instantáneas de referencia.
Por consiguiente, el vector de movimiento adyacente que corresponde a la segunda lista de instantáneas de referencia se añade a la lista de candidatos que corresponde a la segunda lista de instantáneas de referencia. Por consiguiente, aumenta el número de las opciones de vectores de movimiento previstos. Por consiguiente, es posible obtener un vector de movimiento previsto adecuado para la mejora de la eficiencia de codificación del vector de movimiento actual.
Adicionalmente, la unidad 301 de adición puede determinar si la segunda instantánea de referencia es idéntica o no a la tercera instantánea de referencia. Cuando se determina que la segunda instantánea de referencia es idéntica a la tercera instantánea de referencia, la unidad 301 de adición puede añadir el segundo vector de movimiento adyacente a la lista de candidatos. Adicionalmente, la unidad 301 de adición puede determinar si la segunda instantánea de referencia es idéntica o no a la primera instantánea de referencia. A continuación, cuando se determina que la segunda instantánea de referencia es idéntica a la primera instantánea de referencia, la unidad 301 de adición puede añadir el primer vector de movimiento adyacente a la lista de candidatos.
Por consiguiente, únicamente cuando la instantánea de referencia que corresponde al vector de movimiento actual es idéntica a la instantánea de referencia que corresponde al vector de movimiento adyacente, el vector de movimiento adyacente se añade a la lista de candidatos. Por lo tanto, únicamente cuando el vector de movimiento adyacente es apropiado como un candidato para un vector de movimiento previsto, el vector de movimiento adyacente se añade a la lista de candidatos. Por lo tanto, se obtiene un vector de movimiento previsto apropiado. Adicionalmente, la unidad 301 de adición puede determinar si la segunda instantánea de referencia es idéntica o no a la primera instantánea de referencia cuando se determina que la segunda instantánea de referencia no es idéntica a la tercera instantánea de referencia. Cuando se determina que la segunda instantánea de referencia no es idéntica a la tercera instantánea de referencia y que la segunda instantánea de referencia es idéntica a la primera instantánea de referencia, la unidad 301 de adición puede añadir el primer vector de movimiento adyacente a la lista de candidatos.
Por consiguiente, cuando el vector de movimiento actual corresponde a la segunda lista de instantáneas de referencia, el vector de movimiento adyacente que corresponde a la segunda lista de instantáneas de referencia se añade preferentemente a la lista de candidatos. Por lo tanto, se añade un vector de movimiento adyacente más apropiado a la lista de candidatos como un candidato para un vector de movimiento previsto.
Adicionalmente, la unidad 301 de adición puede determinar si la segunda instantánea de referencia es idéntica o no a la tercera instantánea de referencia determinando si el orden de visualización de la segunda instantánea de referencia es idéntico o no al orden de visualización de la tercera instantánea de referencia. Adicionalmente, la unidad 301 de adición puede determinar si la segunda instantánea de referencia es idéntica o no a la primera instantánea de referencia determinando si el orden de visualización de la segunda instantánea de referencia es idéntico o no al orden de visualización de la primera instantánea de referencia.
En este documento, la primera instantánea de referencia se identifica mediante la primera lista de instantáneas de referencia y el primer índice de referencia. Adicionalmente, la segunda instantánea de referencia se identifica mediante la segunda lista de instantáneas de referencia y el segundo índice de referencia. Adicionalmente, la tercera instantánea de referencia se identifica mediante la segunda lista de instantáneas de referencia y el tercer índice de referencia.
Por consiguiente, se determina apropiadamente si la instantánea de referencia identificada mediante la primera lista de instantáneas de referencia es idéntica o no a la instantánea de referencia identificada mediante la segunda lista de instantáneas de referencia a base de los órdenes de visualización.
Adicionalmente, cuando se determina que la segunda instantánea de referencia no es idéntica a la tercera instantánea de referencia y que la segunda instantánea de referencia no es idéntica a la primera instantánea de referencia, la unidad 301 de adición puede añadir 0 a la lista de candidatos. En otras palabras, la unidad 301 de adición puede añadir un vector de movimiento que tiene una magnitud de 0 a la lista de candidatos como un candidato para un vector de movimiento previsto.
Por consiguiente, se suprime el descenso en el número de candidatos. Por lo tanto, se evita un estado en el que no existe ningún candidato en la lista de candidatos.
Adicionalmente, la unidad 301 de adición puede añadir, a la lista de candidatos, valores de índices y candidatos para un vector de movimiento previsto de modo que los valores de índices están en correspondencia de uno a uno con los candidatos para el vector de movimiento previsto. Adicionalmente, la unidad 302 de selección puede seleccionar un valor de índice de la lista de candidatos como un vector de movimiento previsto. La unidad 303 de codificación puede codificar adicionalmente el valor de índice seleccionado de modo que el código del valor de índice es más largo a medida que el valor de índice es mayor.
Por consiguiente, el vector de movimiento seleccionado previsto se codifica apropiadamente. Por lo tanto, el codificador y el decodificador seleccionan el mismo vector de movimiento previsto.
Adicionalmente, la unidad 301 de adición puede añadir el primer vector de movimiento adyacente de un bloque adyacente a la lista de candidatos, suponiendo que cada uno de un bloque adyacente izquierdo, un bloque adyacente superior y un bloque adyacente superior izquierdo con respecto al bloque actual a codificar es el bloque adyacente.
Por consiguiente, se añade una pluralidad de vectores de movimiento adyacentes a la lista de candidatos como candidatos para el vector de movimiento previsto. Por consiguiente, aumenta el número de las opciones de vectores de movimiento previstos.
(Realización 4)
La realización 4 describe complementariamente un aparato de decodificación de imagen que incluye los elementos constituyentes característicos del aparato 200 de decodificación de imagen de acuerdo con la realización 2.
La Figura 12A ilustra una configuración del aparato de decodificación de imagen de acuerdo con la realización 4. Un aparato 400 de decodificación de imagen en la Figura 12A incluye una unidad 401 de adición, una unidad 402 de selección y una unidad 403 de decodificación. La unidad 402 de adición corresponde principalmente a la unidad 216 de determinación de adición de acuerdo con la realización 2. La unidad 402 de selección corresponde principalmente a la unidad 214 de control de inter predicción de acuerdo con la realización 2. La unidad 403 de decodificación corresponde principalmente a la unidad 204 de decodificación de longitud variable y la unidad 214 de control de inter predicción de acuerdo con la realización 2.
El aparato 400 de decodificación de imagen decodifica la instantánea actual por bloque. En este documento, el aparato 400 de decodificación de imagen realiza predicción usando una o ambas de la primera y segunda listas de instantáneas de referencia. En otras palabras, el aparato 400 de decodificación de imagen realiza predicción usando una o ambas de la instantánea de referencia indicada mediante la primera lista de instantáneas de referencia y la instantánea de referencia indicada mediante la segunda lista de instantáneas de referencia.
La Figura 12B es un diagrama de flujo de operaciones realizadas mediante el aparato 400 de decodificación de imagen en la Figura 12A. En primer lugar, la unidad 401 de adición añade el primer vector de movimiento adyacente a una lista de vectores de movimiento previstos candidatos a usar para la decodificación del vector de movimiento actual, como un candidato para un vector de movimiento previsto (S801).
El primer vector de movimiento adyacente es un vector de movimiento de un bloque adyacente que es adyacente al bloque actual a decodificar incluido en la instantánea actual a decodificar. Adicionalmente, el primer vector de movimiento adyacente indica una posición en una primera instantánea de referencia incluida en la primera lista de instantáneas de referencia. El vector de movimiento actual es un vector de movimiento del bloque actual a decodificar. Adicionalmente, el vector de movimiento actual indica una posición en una segunda instantánea de referencia incluida en la segunda lista de instantáneas de referencia.
A continuación, la unidad 402 de selección selecciona un vector de movimiento previsto a usar para la decodificación del vector de movimiento actual, de una lista de candidatos que incluye el primer vector de movimiento adyacente (S802). A continuación, la unidad 403 de decodificación decodifica el vector de movimiento actual usando el vector de movimiento seleccionado previsto (S803).
Por consiguiente, el vector de movimiento adyacente que corresponde a la primera lista de instantáneas de referencia se añade a la lista de candidatos que corresponde a la segunda lista de instantáneas de referencia. Adicionalmente, aumenta el número de las opciones de vectores de movimiento previstos. Por lo tanto, es posible obtener un vector de movimiento previsto adecuado para la mejora de la eficiencia de codificación del vector de movimiento actual.
Adicionalmente, la unidad 401 de adición puede añadir el segundo vector de movimiento adyacente a la lista de candidatos. El segundo vector de movimiento adyacente es un vector de movimiento de un bloque adyacente e indica una posición en una tercera instantánea de referencia incluida en la segunda lista de instantáneas de referencia.
Por consiguiente, el vector de movimiento adyacente que corresponde a la segunda lista de instantáneas de referencia se añade a la lista de candidatos que corresponde a la segunda lista de instantáneas de referencia. Adicionalmente, aumenta el número de las opciones de vectores de movimiento previstos. Por lo tanto, es posible obtener un vector de movimiento previsto adecuado para la mejora de la eficiencia de codificación del vector de movimiento actual.
Adicionalmente, la unidad 401 de adición puede determinar si la segunda instantánea de referencia es idéntica o no a la tercera instantánea de referencia. A continuación, cuando se determina que la segunda instantánea de referencia es idéntica a la tercera instantánea de referencia, la unidad 401 de adición puede añadir el segundo vector de movimiento adyacente a la lista de candidatos. Adicionalmente, la unidad 401 de adición puede determinar si la segunda instantánea de referencia es idéntica o no a la primera instantánea de referencia. A continuación, cuando se determina que la segunda instantánea de referencia es idéntica a la primera instantánea de referencia, la unidad 401 de adición puede añadir el primer vector de movimiento adyacente a la lista de candidatos.
Por consiguiente, únicamente cuando la instantánea de referencia que corresponde al vector de movimiento actual es idéntica a la instantánea de referencia que corresponde al vector de movimiento adyacente, el vector de movimiento adyacente se añade a la lista de candidatos. Por lo tanto, únicamente cuando el vector de movimiento adyacente es apropiado como un candidato para un vector de movimiento previsto, el vector de movimiento adyacente se añade a la lista de candidatos. Por lo tanto, se obtiene un vector de movimiento previsto apropiado. Adicionalmente, la unidad 401 de adición puede determinar si la segunda instantánea de referencia es idéntica o no a la primera instantánea de referencia cuando se determina que la segunda instantánea de referencia no es idéntica a la tercera instantánea de referencia. Cuando se determina que la segunda instantánea de referencia no es idéntica a la tercera instantánea de referencia y que la segunda instantánea de referencia es idéntica a la primera instantánea de referencia, la unidad 401 de adición puede añadir el primer vector de movimiento adyacente a la lista de candidatos.
Por consiguiente, cuando el vector de movimiento actual corresponde a la segunda lista de instantáneas de referencia, el vector de movimiento adyacente que corresponde a la segunda lista de instantáneas de referencia se añade preferentemente a la lista de candidatos. Por lo tanto, se añade un vector de movimiento adyacente más apropiado a la lista de candidatos como un candidato para un vector de movimiento previsto.
Adicionalmente, la unidad 401 de adición puede determinar si la segunda instantánea de referencia es idéntica o no a la tercera instantánea de referencia determinando si el orden de visualización de la segunda instantánea de referencia es idéntico o no al orden de visualización de la tercera instantánea de referencia. Adicionalmente, la unidad 301 de adición puede determinar si la segunda instantánea de referencia es idéntica o no a la primera instantánea de referencia determinando si el orden de visualización de la segunda instantánea de referencia es idéntico o no al orden de visualización de la primera instantánea de referencia.
En este documento, la primera instantánea de referencia se identifica mediante la primera lista de instantáneas de referencia y el primer índice de referencia. Adicionalmente, la segunda instantánea de referencia se identifica mediante la segunda lista de instantáneas de referencia y el segundo índice de referencia. Adicionalmente, la tercera instantánea de referencia se identifica mediante la segunda lista de instantáneas de referencia y el tercer índice de referencia.
Por consiguiente, se determina apropiadamente si la instantánea de referencia identificada mediante la primera lista de instantáneas de referencia es idéntica o no a la instantánea de referencia identificada mediante la segunda lista de instantáneas de referencia a base de los órdenes de visualización.
Adicionalmente, cuando se determina que la segunda instantánea de referencia no es idéntica a la tercera instantánea de referencia y que la segunda instantánea de referencia no es idéntica a la primera instantánea de referencia, la unidad 401 de adición puede añadir 0 a la lista de candidatos. En otras palabras, la unidad 401 de adición puede añadir un vector de movimiento que tiene una magnitud de 0 a la lista de candidatos como un candidato para un vector de movimiento previsto.
Por consiguiente, se suprime el descenso en el número de candidatos. Por lo tanto, se evita un estado en el que no existe ningún candidato en la lista de candidatos.
Adicionalmente, la unidad 401 de adición puede añadir valores de índices y candidatos para un vector de movimiento previsto a la lista de candidatos de modo que los valores de índices están en correspondencia de uno a uno con los candidatos para el vector de movimiento previsto. La unidad 403 de decodificación puede decodificar el valor de índice codificado de modo que el código es más largo a medida que el valor de índice es mayor. Adicionalmente, la unidad 402 de selección puede seleccionar un vector de movimiento previsto que corresponde al valor de índice decodificado, de la lista de candidatos.
Por consiguiente, el vector de movimiento seleccionado previsto se decodifica apropiadamente. Por lo tanto, el codificador y el decodificador seleccionan el mismo vector de movimiento previsto.
Adicionalmente, la unidad 401 de adición puede añadir el primer vector de movimiento adyacente del bloque adyacente a la lista de candidatos, suponiendo que cada uno de un bloque adyacente izquierdo, un bloque adyacente superior y un bloque adyacente superior izquierdo con respecto al bloque actual a decodificar es el bloque adyacente.
Por consiguiente, se añade una pluralidad de vectores de movimiento adyacentes a la lista de candidatos como candidatos para el vector de movimiento previsto. Por lo tanto, aumenta el número de las opciones de vectores de movimiento previstos.
(Realización 5)
La realización 5 describe complementariamente un aparato de codificación y decodificación de imagen que incluye los elementos constituyentes característicos del aparato 100 de codificación de imagen de acuerdo con la realización 1 y el aparato 200 de decodificación de imagen de acuerdo con la realización 2.
La Figura 13 ilustra una configuración del aparato de codificación y decodificación de imagen de acuerdo con la realización 5. Un aparato 500 de codificación y decodificación de imagen en la Figura 13 incluye una unidad 501 de adición, una unidad 502 de selección, una unidad 503 de codificación y una unidad 504 de decodificación.
La unidad 501 de adición corresponde principalmente a la unidad 116 de determinación de adición de acuerdo con la realización 1 y la unidad 216 de determinación de adición de acuerdo con la realización 2. La unidad 402 de selección corresponde principalmente a la unidad 114 de control de inter predicción de acuerdo con la realización 1 y la unidad 214 de control de inter predicción de acuerdo con la realización 2. La unidad 503 de codificación corresponde principalmente a la unidad 104 de codificación de longitud variable de acuerdo con la realización 1. La unidad 504 de decodificación corresponde principalmente a la unidad 204 de decodificación de longitud variable y la unidad 214 de control de inter predicción de acuerdo con la realización 2.
A continuación, el aparato 500 de codificación y decodificación de imagen codifica la instantánea actual por bloque y decodifica la instantánea actual por bloque. En este documento, el aparato 500 de codificación y decodificación de imagen realiza predicción usando una o ambas de la primera y segunda listas de instantáneas de referencia. En otras palabras, el aparato 500 de codificación y decodificación de imagen realiza predicción usando una o ambas de la instantánea de referencia indicada mediante la primera lista de instantáneas de referencia y la instantánea de referencia indicada mediante la segunda lista de instantáneas de referencia.
La unidad 501 de adición añade el primer vector de movimiento adyacente a una lista de vectores de movimiento previstos candidatos a usar para la codificación o decodificación el vector de movimiento actual, como un vector de movimiento previsto candidato.
El primer vector de movimiento adyacente es un vector de movimiento de un bloque adyacente que es adyacente a un bloque a procesar incluido en la instantánea actual a codificar o decodificar. Adicionalmente, el primer vector de movimiento adyacente indica una posición en una primera instantánea de referencia incluida en la primera lista de instantáneas de referencia. El vector de movimiento actual es un vector de movimiento del bloque a procesar. Adicionalmente, el vector de movimiento actual indica una posición en una segunda instantánea de referencia incluida en la segunda lista de instantáneas de referencia.
La unidad 502 de selección selecciona un vector de movimiento previsto a usar para la codificación o decodificación el vector de movimiento actual, de una lista de candidatos que incluye el primer vector de movimiento adyacente. La unidad 503 de codificación codifica el vector de movimiento actual usando el vector de movimiento seleccionado previsto. La unidad 504 de decodificación decodifica el vector de movimiento actual usando el vector de movimiento seleccionado previsto.
Por consiguiente, el aparato 500 de codificación y decodificación de imagen implementa tanto las funciones del aparato de codificación de imagen como del aparato de decodificación de imagen.
Aunque el aparato de codificación de imagen y el aparato de decodificación de imagen de acuerdo con la presente invención se describen a base de realizaciones, la presente invención no se limita a estas realizaciones. La presente invención incluye modificaciones concebidas por un experto en la materia usando realizaciones y otras realizaciones combinando arbitrariamente los elementos constituyentes incluidos en realizaciones.
Por ejemplo, procedimientos realizados mediante una unidad de procesamiento particular pueden realizarse mediante otra unidad de procesamiento. Adicionalmente, el orden de realización de los procedimientos puede cambiarse y una pluralidad de procedimientos puede ejecutarse en paralelo.
Adicionalmente, la presente invención puede implementarse no únicamente como un aparato de codificación de imagen y un aparato de decodificación de imagen sino también como un procedimiento usando, como etapas, los procedimientos realizados mediante las unidades de procesamiento incluidas en el aparato de codificación de imagen y el aparato de decodificación de imagen. Por ejemplo, tales etapas se ejecutan mediante un ordenador. Adicionalmente, la presente invención puede implementarse para provocar que un ordenador ejecute las etapas incluidas en el procedimiento como un programa. Adicionalmente, la presente invención puede implementarse como un medio de grabación legible por ordenador, tal como un CD-ROM que graba el programa.
Por consiguiente, el aparato de codificación de imagen y el aparato de decodificación de imagen se implementan como un aparato de codificación y decodificación de imagen combinando los elementos constituyentes del aparato de codificación de imagen y el aparato de decodificación de imagen.
Adicionalmente, cada uno de los elementos constituyentes incluidos en el aparato de codificación de imagen y el aparato de decodificación de imagen pueden implementarse como una Integración a Gran Escala (LSI). Los elementos constituyentes pueden fabricarse en un chip o una pluralidad de chips para incluir todos o una parte de los elementos constituyentes. Por ejemplo, los elementos constituyentes diferentes de una memoria pueden integrarse en un único chip. El número usado en este punto es LSI, pero también puede denominarse IC, sistema LSI, súper LSI o ultra LSI dependiendo del grado de integración.
Además, las formas para lograr la integración no se limitan a la LSI y un circuito especial o un procesador de fin general y así sucesivamente también pueden lograr la integración. También es aceptable usar un Campo de Matriz de Puertas Programables (FPGA) que es programable y un procesador reconfigurable en el que se reconfiguran conexiones y ajustes de células de circuito dentro de la LSI.
En el futuro, con avances en la tecnología de semiconductores, una nueva tecnología puede sustituir a LSI. Los elementos constituyentes incluidos en el aparato de codificación de imagen y el aparato de decodificación de imagen pueden integrarse en un circuito usando una tecnología de este tipo.
(Realización 6)
El procesamiento descrito en cada una de las realizaciones puede implementarse simplemente grabando, en un medio de grabación, un programa para la implementación del procedimiento de codificación de instantáneas en movimiento (procedimiento de codificación de imagen) o el procedimiento de decodificación de instantáneas en movimiento (procedimiento de decodificación de imagen) descritos en cada una de las realizaciones. El medio de grabación puede ser cualquier medio de grabación mientras que el programa pueda grabarse en el mismo, tales como un disco magnético, un disco óptico, un disco óptico magnético, una tarjeta IC y una memoria semiconductora.
En lo sucesivo, se describirán las aplicaciones al procedimiento de codificación de instantáneas en movimiento (procedimiento de codificación de imagen) y el procedimiento de decodificación de instantáneas en movimiento (procedimiento de decodificación de imagen) descritos en cada una de las realizaciones y sistemas que usan las mismas. El sistema se caracteriza por la inclusión de un aparato de codificación y decodificación de imagen que incluye un aparato de codificación de imagen usando un procedimiento de codificación de imagen y un aparato de decodificación de imagen usando un procedimiento de decodificación de imagen. Otra configuración en el sistema puede cambiarse de forma apropiada de acuerdo con cada caso individual.
La Figura 14 ilustra una configuración general de un sistema ex100 de suministro de contenido para la implementación de 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 ex106 a ex110 base que son estaciones inalámbricas fijas se sitúan en cada una de las células.
El sistema ex100 de suministro de contenido se conecta a dispositivos, tales como un ordenador ex111, un asistente ex112 digital personal (PDA), una cámara ex113, un teléfono ex114 celular y una máquina ex115 de juegos, a través de la Internet ex101, un proveedor ex102 de servicio de Internet, una red ex104 telefónica, así como las estaciones ex106 a ex110 base.
Sin embargo, la configuración del sistema ex100 de suministro de contenido no se limita a la configuración mostrada en la Figura 14 y es aceptable una combinación en la que cualquiera de los elementos se conecta. Además, cada uno de los dispositivos puede conectarse directamente a la red ex104 telefónica, en vez de a través de las estaciones ex106 a ex110 base que son las estaciones inalámbricas fijas. Adicionalmente, los dispositivos pueden interconectarse entre sí a través de una comunicación inalámbrica de corta distancia y otras.
La cámara ex113, tales como una cámara de video digital, es capaz de capturar video. Una cámara ex116, tal como una cámara de video digital, es capaz de capturar tanto imágenes fijas como video. Adicionalmente, el teléfono ex114 celular puede ser el que cumpla con cualquiera de las normas tales como Sistema Global para Comunicaciones Móviles (GSM), Acceso Múltiple por División de Código (CDMA), Acceso Múltiple por División de Código de Banda Ancha (W-CDMA), Evolución a Largo Plazo (LTE) y Acceso de Alta Velocidad por Paquetes (HSPA). Como alternativa, el teléfono ex114 celular puede ser un Sistema de Teléfonos Personales (PHS).
En el sistema ex100 de suministro de contenido, un servidor ex103 de difusión en continuo se conecta a la cámara ex113 y otros a través de la red ex104 telefónica y la estación ex109 base, que permite la distribución de un espectáculo en directo y otros. Para una distribución de este tipo, se codifica un contenido (por ejemplo, un video de un espectáculo de música en directo) capturado por el usuario usando la cámara ex113 como se ha descrito anteriormente en cada una de las realizaciones y el contenido codificado se transmite al servidor ex103 de difusión en continuo. Por otra parte, el servidor ex103 de difusión en continuo efectúa distribución de flujo de los datos de contenido recibidos a los clientes según sus solicitudes. Los clientes incluyen el ordenador ex111, la PDA ex112, la cámara ex113, el teléfono ex114 celular y la máquina ex115 de juegos que son capaces de la decodificación de los datos codificados anteriormente mencionados. Cada uno de los dispositivos que han recibido los datos distribuidos decodifica y reproduce los datos codificados (es decir, funciona como un aparato de decodificación de imagen de acuerdo con la presente invención).
Los datos capturados pueden codificarse mediante la cámara ex113 o el servidor ex103 de difusión en continuo que transmite los datos o los procedimientos de codificación pueden compartirse entre la cámara ex113 y el servidor ex103 de difusión en continuo. De manera similar, los datos de distribución pueden decodificarse por los clientes o el servidor ex103 de difusión en continuo o los procedimientos de decodificación pueden compartirse entre los clientes y el servidor ex103 de difusión en continuo. Adicionalmente, los datos de las imágenes fijas y video capturadas mediante no únicamente la cámara ex113 sino también la cámara ex116 pueden transmitirse al servidor ex103 de difusión en continuo a través del ordenador ex111. Los procedimientos de codificación pueden realizarse mediante la cámara ex116, el ordenador ex111 o el servidor ex103 de difusión en continuo o compartirse entre los mismos.
Adicionalmente, los procedimientos de codificación y decodificación pueden realizarse mediante una LSI ex500 generalmente incluida en cada uno del ordenador ex111 y los dispositivos. La LSI ex500 puede configurarse de un único chip o una pluralidad de chips. Software para la codificación y de codificación de imágenes puede integrase en algún tipo de un medio de grabación (tales como un CD-ROM, un disco flexible, un disco duro) que es legible por el ordenador ex111 y otros y los procedimientos de codificación y decodificación pueden realizarse usando el software. Adicionalmente, cuando el teléfono ex114 celular está equipado con una cámara, pueden transmitirse los datos de instantáneas en movimiento obtenidos por la cámara. Los datos de vídeo son datos codificados por la LSI ex500 incluida en el teléfono ex114 celular.
Adicionalmente, el servidor ex103 de difusión en continuo puede componerse de servidores y ordenadores y puede descentralizar datos y procesar los datos descentralizados, grabar o distribuir datos.
Como se ha descrito anteriormente, los clientes pueden recibir y reproducir los datos codificados en el sistema ex100 de suministro de contenido. 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 ex100 de suministro de contenido, de modo que el usuario que no tiene ningún derecho ni equipo particulares puede implementar difusión personal.
Aparte del ejemplo del sistema ex100 de suministro de contenido, al menos uno de los aparatos de codificación de instantánea en movimiento (aparato de codificación de imagen) y el aparato de decodificación de instantánea en movimiento (aparato de decodificación de imagen) descritos en cada una de las realizaciones puede implementarse en un sistema ex200 de difusión digital ilustrado en la Figura 15. Más específicamente, una estación ex201 de difusión comunica o transmite, a través de ondas de radio a un satélite ex202 de difusión, datos multiplexados obtenidos mediante la multiplexación de datos de audio y otros en datos de video. Los datos de vídeo son datos codificados mediante el procedimiento de codificación de instantáneas en movimiento descritos en cada una de las realizaciones (es decir, datos codificados mediante el aparato de codificación de imagen de acuerdo con la presente invención). Tras la recepción de los datos multiplexados, el satélite ex202 de difusión transmite ondas de radio para difusión. A continuación, una antena ex204 de uso doméstico con una función de recepción de difusión por satélite recibe las ondas de radio. A continuación, un dispositivo tales como una televisión ex300 (receptor) y un decodificador ex217 de salón (STB) decodifica los datos multiplexados recibidos y reproduce los datos decodificados (es decir, funciona como el aparato de decodificación de imagen de acuerdo con la presente invención).
Adicionalmente, un lector/grabador ex218 que (i) lee y decodifica los datos multiplexados grabados en un medio ex215 de grabación, tales como a DVD y un BD, o (ii) codifica señales de video en el medio ex215 de grabación, y en algunos casos, escribe datos obtenidos multiplexando una señal de audio en los datos codificados puede incluir el aparato de decodificación de instantánea en movimiento o el aparato de codificación de instantánea en movimiento como se muestra en cada una de las realizaciones. En este caso, las señales de video reproducidas se visualizan en el monitor ex219 y pueden reproducirse mediante otro dispositivo o sistema usando el medio ex215 de grabación en el que los datos multiplexados se graban. Adicionalmente, también es posible implementar el aparato de decodificación de imagen en el decodificador ex217 de salón conectado al cable ex203 para una televisión por cable o la antena ex204 para difusión por satélite y/o terrestre, para visualizar las señales de video en el monitor ex219 de la televisión ex300. El aparato de decodificación de instantánea en movimiento puede no incluirse en el decodificador de salón sino en la televisión ex300.
La Figura 16 ilustra la televisión ex300 (receptor) que usa el procedimiento de codificación de instantáneas en movimiento y el procedimiento de decodificación de instantáneas en movimiento descritos en cada una de las realizaciones. La televisión ex300 incluye: un sintonizador ex301 que obtiene o proporciona datos multiplexados obtenidos multiplexando 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 ex302 de modulación/demodulación que demodula los datos multiplexados recibidos o modula datos en datos multiplexados para suministrar fuera; y una unidad ex303 de multiplexación/demultiplexación que demultiplexa los datos multiplexados modulados en datos de video y datos de audio o multiplexa datos de video y datos de audio codificados mediante una unidad ex306 de procesamiento de señales en datos.
La televisión ex300 adicionalmente incluye: una unidad ex306 de procesamiento de señales que incluye una unidad ex304 de procesamiento de señales de audio y una señal de vídeo unidad ex305 de procesamiento (que funciona como el aparato de codificación de imagen o el aparato de decodificación de imagen de acuerdo con la presente invención) que decodifica datos de audio y datos de video y codifica datos de audio y datos de video, respectivamente; un altavoz ex307 que proporciona la señal de audio decodificada; y una unidad ex309 de salida que incluye una unidad ex308 de visualización que visualiza la señal de video decodificada, tales como una pantalla. Adicionalmente, la televisión ex300 incluye una unidad ex317 de interfaz que incluye una unidad ex312 de entrada de operación que recibe una entrada de una operación de usuario. Adicionalmente, la televisión ex300 incluye una unidad ex310 de control que controla en general cada elemento constituyente de la televisión ex300 y una unidad ex311 de circuito de fuente de alimentación que suministra potencia a cada uno de los elementos. Además de la unidad ex312 de entrada de operación, la unidad ex317 de interfaz puede incluir: un puente ex313 que se conecta a un dispositivo externo, tales como el lector/grabador ex218; una unidad ex314 de ranura para la habilitación de unión del medio ex216 de grabación, tales como una tarjeta SD; un controlador ex315 a conectar a un medio de grabación externo, tales como un disco duro; y un módem ex316 a conectar a una red de telefonía. En este documento, el medio ex216 de grabación puede grabar información eléctricamente usando un elemento de memoria semiconductora no volátil/volátil para almacenamiento. Los elementos constituyentes de la televisión ex300 se conectan entre sí a través de bus síncrono.
En primer lugar, se describirá una configuración en la que la televisión ex300 decodifica datos obtenidos de fuera a través de la antena ex204 y otras y reproduce los datos decodificados. En la televisión ex300, tras una operación de usuario desde un controlador ex220 remoto y otros, la unidad ex303 de multiplexación/demultiplexación demultiplexa los datos multiplexados demodulados mediante la unidad ex302 de modulación/demodulación, bajo control de la unidad ex310 de control que incluye una CPU. Adicionalmente, la unidad ex304 de procesamiento de señal de audio decodifica los datos de audio multiplexados y la unidad ex305 de procesamiento de señales de video decodifica los datos de video multiplexados, usando el procedimiento de decodificación descrito en cada una de las realizaciones en la televisión ex300. La unidad ex309 de salida proporciona fuera la señal de video y señal de audio decodificada. Cuando la unidad ex309 de salida proporciona la señal de video y la señal de audio, las señales pueden almacenarse temporalmente en memorias ex318 y ex319 intermedias y otras de modo que las señales se reproducen en sincronización entre sí. Adicionalmente, la televisión ex300 puede leer un flujo de bits codificados no a través de una difusión y otras sino del medio ex215 y ex216 de grabación, tales un a disco magnético, un disco óptico y una tarjeta SD. A continuación, se describirá una configuración en la que la televisión ex300 codifica una señal de audio y una señal de vídeo y transmite los datos fuera o escribe los datos en un medio de grabación. En la televisión ex300, tras una operación de usuario desde el controlador ex220 remoto y otros, la unidad ex304 de procesamiento de señal de audio codifica una señal de audio, y la unidad ex305 de procesamiento de señales de video codifica una señal de vídeo, bajo control de la unidad ex310 de control usando el procedimiento de codificación descrito en cada una de las realizaciones. La unidad ex303 de multiplexación/demultiplexación multiplexa la señal de video y señal de audio codificadas y proporciona fuera la señal resultante. Cuando la unidad ex303 de multiplexación/demultiplexación multiplexa la señal de video y la señal de audio, las señales pueden almacenarse temporalmente en memorias ex320 y ex321 intermedias y otras de modo que las señales se reproducen en sincronización entre sí. En este documento, las memorias ex318, ex319, ex320 y ex321 intermedias pueden ser plurales como se ilustra o al menos una memoria intermedia puede compartirse en la televisión ex300. Adicionalmente, datos pueden almacenarse en una memoria intermedia distinta de las memorias ex318 a ex321 intermedias de modo que puede evitarse el desbordamiento e infrautilización de sistema entre la unidad ex302 de modulación/demodulación y la unidad ex303 de multiplexación/demultiplexación, por ejemplo.
Adicionalmente, la televisión ex300 puede incluir una configuración para la recepción de una entrada AV desde un micrófono o una cámara distinta de la configuración para la obtención de datos de audio y video desde 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 fuera datos en la descripción, puede no ser capaz de realizar todos los procedimientos sino ser capaz de únicamente uno de recepción, decodificación y proporcionar fuera datos.
Adicionalmente, cuando el lector/grabador ex218 lee o escribe datos multiplexados de o en un medio de grabación, uno de la televisión ex300 y el lector/grabador ex218 puede decodificar o codificar los datos multiplexados y la televisión ex300 y el lector/grabador ex218 pueden compartir la decodificación o codificación.
Como un ejemplo, la Figura 17 ilustra una configuración de una unidad ex400 de reproducción/grabación de información cuando se leen o escriben datos de o en un disco óptico. La unidad ex400 de reproducción/grabación de información incluye elementos ex401, ex402, ex403, ex404, ex405, ex406 y ex407 constituyentes a describir en lo sucesivo. El cabezal ex401 óptico irradia un punto láser en una superficie de grabación del medio ex215 de grabación que es un disco óptico para escribir información y detecta luz reflejada de la superficie de grabación del medio ex215 de grabación para leer la información. La unidad ex402 de grabación de modulación acciona eléctricamente un láser semiconductor incluido en el cabezal ex401 óptico y modula la luz láser de acuerdo con datos grabados. La unidad ex403 de demodulación de reproducción amplifica una señal de reproducción obtenida detectando eléctricamente la luz reflejada de la superficie de grabación usando un fotodetector incluido en el cabezal ex401 óptico y demodula la señal de reproducción separando un componente de señal grabado en el medio ex215 de grabación para reproducir la información necesaria. La memoria ex404 intermedia mantiene temporalmente la información a grabar en el medio ex215 de grabación y la información reproducida del medio ex215 de grabación. Un motor ex405 de disco gira el medio ex215 de grabación. Una unidad ex406 de servocontrol mueve el cabezal ex401 óptico a una pista de información predeterminada mientras controla el accionamiento de giro del motor ex405 de disco para seguir el punto láser. La unidad ex407 de control de sistema controla en general la unidad ex400 de reproducción/grabación de información. Los procedimientos de lectura y escritura pueden implementarse mediante la unidad ex407 de control de sistema usando diversa información almacenada en la memoria ex404 intermedia y generando y añadiendo nueva información según sea necesario y mediante la unidad ex402 de grabación de modulación, la unidad ex403 de demodulación de reproducción y la unidad ex406 de servocontrol que graba y reproduce información a través del cabezal ex401 óptico mientras se está operando en una manera coordinada. La unidad ex407 de control de sistema incluye, por ejemplo, un microprocesador y ejecuta procesamiento provocando que un ordenador ejecute un programa para leer y escribir.
Aunque el cabezal ex401 óptico irradia un punto láser en la descripción, puede realizar grabación de alta densidad usando luz de campo cercano.
La Figura 18 ilustra esquemáticamente el medio ex215 de grabación que es el disco óptico. En la superficie de grabación del medio ex215 de grabación, se forman surcos de guía en espiral y una pista ex230 de información 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 los surcos de guía. La información de dirección incluye información para la determinación de posiciones de bloques ex231 de grabación que son una unidad para datos de grabación. Un aparato que graba y reproduce datos reproduce la pista ex230 de información y lee la información de dirección para determinar las posiciones de los bloques de grabación. Adicionalmente, el medio ex215 de grabación incluye un área ex233 de grabación de datos, un área ex232 de circunferencia interior y un área ex234 de circunferencia exterior. El área ex233 de grabación de datos es un área para su uso en la grabación de los datos de usuario. El área ex232 de circunferencia interior y el área ex234 de circunferencia exterior que están dentro y fuera del área ex233 de grabación de datos, respectivamente son para uso específico excepto para la grabación de los datos de usuario. La unidad ex400 de reproducción/grabación de información lee y escribe datos de audio codificados, datos de video codificados o datos codificados obtenidos multiplexando los datos de audio codificados y los datos de video codificados, de y en el área ex233 de grabación de datos del medio ex215 de grabación.
Aunque un disco óptico que tiene una capa, tales como un DVD y un BD, se describe como un ejemplo en la descripción, el disco óptico no se limita a tales y puede ser un disco óptico que tiene una estructura multicapa y capaz de grabarse en una parte diferente de la superficie. Adicionalmente, el disco óptico puede tener una estructura para grabación/reproducción multidimensional, tales como grabación de la información usando luz de colores con diferentes longitudes de onda en la misma porción del disco óptico y grabación de información que tiene diferentes capas desde diversos ángulos.
Adicionalmente, un automóvil ex210 que tiene una antena ex205 puede recibir datos del satélite ex202 y otros y reproducir video en un dispositivo de visualización tales como un sistema ex211 de navegación para automóvil establecido en el automóvil ex210, en el sistema ex200 de difusión digital. En este documento, una configuración del sistema ex211 de navegación para automóvil será el que, por ejemplo, incluye una unidad de recepción de GPS en la configuración ilustrada en la Figura 16. Lo mismo será cierto para la configuración del ordenador ex111, el teléfono ex114 celular y otros.
La Figura 19A ilustra el teléfono ex114 celular que usa el procedimiento de codificación de instantáneas en movimiento y el procedimiento de decodificación de instantáneas en movimiento descrito en realizaciones. El teléfono ex114 celular incluye: una antena ex350 para la transmisión y recepción de ondas de radio a través de la estación ex110 base; una unidad ex365 de cámara capaz de capturar imágenes en movimiento y fijas; y una unidad ex358 de visualización tales como una pantalla de cristal líquido para la visualización de los datos tales como video decodificado capturado por la unidad ex365 de cámara o recibido por la antena ex350. El teléfono ex114 celular adicionalmente incluye: una unidad de cuerpo principal que incluye un conjunto de teclas ex366 de operación; una unidad ex357 de salida de audio tales como un altavoz para salida de audio; una unidad ex356 de entrada de audio tal como un micrófono para entrada de audio; una unidad ex367 de memoria para el almacenamiento de video o instantáneas fijas capturados, audio grabado, datos codificados o decodificados del video recibido, las instantáneas fijas, correos electrónicos u otros; y una unidad ex364 de ranura que es una unidad de interfaz para un medio de grabación que almacena datos en la misma manera que la unidad ex367 de memoria.
A continuación, se describirá un ejemplo de una configuración del teléfono ex114 celular con referencia a la Figura 19B. En el teléfono ex114 celular, una unidad ex360 de control principal diseñada para controlar en general cada unidad del cuerpo principal que incluye la unidad ex358 de visualización así como las teclas ex366 de operación se conecta mutuamente, a través de un bus ex370 síncrono, a una unidad ex361 de circuito de fuente de alimentación, una unidad ex362 de control de entrada de operación, una unidad ex355 de procesamiento de señal de vídeo, una unidad ex363 de interfaz de cámara, una unidad ex359 de control de pantalla de cristal líquido (LCD), una unidad ex352 de modulación/demodulación, una unidad ex353 de multiplexación/demultiplexación, una unidad de procesamiento de señales de audio ex354, la unidad ex364 de ranura y la unidad ex367 de memoria.
Cuando una tecla de finalización de llamada y una tecla de potencia se ACTIVAN mediante una operación del usuario, la unidad ex360 de circuito de fuente de alimentación suministra a las respectivas unidades con potencia de un conjunto de baterías para activar el teléfono ex114 celular que es digital y está equipado con la cámara.
En el teléfono ex114 celular, la unidad ex354 de procesamiento de señales de audio convierte las señales de audio recogidas por la unidad ex356 de entrada de audio en modo de conversación de voz en señales de audio digitales bajo el control de la unidad ex360 de control principal que incluye una CPU, ROM y RAM. A continuación, la unidad ex352 de modulación/demodulación realiza procesamiento de espectro ensanchado en las señales de audio digitales y la unidad ex351 de transmisión y recepción realiza conversión de digital a analógico y conversión de frecuencia en los datos, para transmitir los datos resultantes a través de la antena ex350. También, en el teléfono ex114 celular, la unidad ex351 de transmisión y recepción amplifica los datos recibidos por la antena ex350 en modo de conversación de voz y realiza conversión de frecuencia y la conversión de analógico a digital en los datos. A continuación, la unidad ex352 de modulación/demodulación realiza procesamiento de espectro ensanchado inverso en los datos y la unidad ex354 de procesamiento de señales de audio convierte los mismos en señales de audio analógicas, para emitir las mismas a través de la unidad ex356 de salida de audio.
Adicionalmente, cuando un correo electrónico en modo de comunicación de datos se transmite, datos de texto del correo electrónico introducido operando las teclas ex366 de operación y otras del cuerpo principal se envían fuera a la unidad ex360 de control principal a través de la unidad ex362 de control de entrada de operación. A continuación, la unidad ex352 de modulación/demodulación realiza procesamiento de espectro ensanchado en las señales de audio digitales y la unidad ex351 de transmisión y recepción realiza conversión de digital a analógico y conversión de frecuencia en los datos, para transmitir los datos resultantes a través de la antena ex350. Cuando se recibe un correo electrónico, se realiza procesamiento que es aproximadamente inverso al procesamiento de transmisión de un correo electrónico en los datos recibidos y los datos resultantes se proporcionan a la unidad ex358 de visualización.
Cuando video, imágenes fijas o video y audio en modo de comunicación de datos se transmite o transmiten, la unidad ex355 de procesamiento de señales de video comprime y codifica señales de video suministradas desde la unidad ex365 de cámara usando el procedimiento de codificación de instantáneas en movimiento mostrado en cada una de las realizaciones (es decir, que funciona como el aparato de codificación de imagen de acuerdo con la presente invención) y transmite los datos de video codificados a la unidad ex353 de multiplexación/demultiplexación. En contraste, durante cuando la unidad ex365 de cámara captura video, imágenes fijas y otras, la unidad ex354 de procesamiento de señales de audio codifica señales de audio recogidas mediante la unidad ex356 de entrada de audio y transmite los datos de audio codificados a la unidad ex353 de multiplexación/demultiplexación.
La unidad ex353 de multiplexación/demultiplexación multiplexa los datos de video codificados suministrados desde la unidad ex355 de procesamiento de señales de video y los datos de audio codificados suministrados desde la unidad ex354 de procesamiento de señales de audio, usando un procedimiento predeterminado. A continuación, la unidad ex352 de modulación/demodulación (unidad de circuito de modulación/demodulación) realiza procesamiento de espectro ensanchado en las señales de audio digitales y la unidad ex351 de transmisión y recepción realiza conversión de digital a analógico y conversión de frecuencia en los datos, para transmitir los datos resultantes a través de la antena ex350.
Cuando se reciben datos de un archivo de video que está enlazado a una página web y otras en modo de comunicación de datos o cuando se recibe un correo electrónico con video y/o audio adjuntos, para decodificar los datos multiplexados recibidos a través de la antena ex350, la unidad ex353 de multiplexación/demultiplexación demultiplexa los datos multiplexados en un flujo de bits de datos de video y un flujo de bits de datos de audio y suministra la unidad ex355 de procesamiento de señales de video con los datos de video codificados y la unidad ex354 de procesamiento de señales de audio con los datos de audio codificados, a través del bus ex370 síncrono. La unidad ex355 de procesamiento de señales de video decodifica la señal de video usando un procedimiento de codificación de instantánea en movimiento que corresponde al procedimiento de codificación de instantáneas en movimiento mostrado en cada una de las realizaciones (es decir, que funciona como el aparato de decodificación de imagen de acuerdo con la presente invención) y a continuación la unidad ex358 de visualización visualiza, por ejemplo, las imágenes de video y fijas en el archivo de video enlazado a la página web a través de la unidad ex359 de control de LCD. Adicionalmente, la unidad ex354 de procesamiento de señales de audio decodifica la señal de audio y la unidad ex357 de salida de audio proporciona el audio.
Adicionalmente, de forma similar a la televisión ex300, un terminal tal como el teléfono ex114 celular puede tener 3 tipos de configuraciones de implementación que incluye no únicamente (i) un 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) un terminal de transmisión que incluye únicamente un aparato de codificación y (iii) un terminal re recepción que incluye únicamente un aparato de decodificación. Aunque el sistema ex200 de difusión digital recibe y transmite los datos multiplexados obtenidos multiplexando datos de audio en datos de video en la descripción, los datos multiplexados pueden ser datos obtenidos multiplexando no datos de audio sino datos de caracteres relativos a video en datos de video y pueden no ser datos multiplexados sino datos de video en sí.
Como tal, el procedimiento de codificación de instantáneas en movimiento y el procedimiento de decodificación de instantáneas en movimiento en cada una de las realizaciones pueden usarse en cualquiera de los dispositivos y sistemas descritos. Por lo tanto, pueden obtenerse las ventajas descritas en cada una de las realizaciones.
Adicionalmente, la presente invención no se limita a realizaciones y son posibles diversas modificaciones y revisiones sin alejarse del ámbito de la presente invención.
(Realización 7)
Datos de video pueden generarse mediante conmutación, según sea necesario, entre (i) el procedimiento de codificación de instantáneas en movimiento o el aparato de codificación de instantánea en movimiento mostrado en cada una de las realizaciones y (ii) un procedimiento de codificación de instantáneas en movimiento o un aparato de codificación de instantáneas en movimiento de conformidad con una norma diferente, tales como MPEG-2, MPEG-4 AVC y VC-1.
En este documento, cuando una pluralidad de datos de video que se ajusta a las normas diferentes se genera y es a continuación decodificada, los procedimientos de decodificación necesitan seleccionarse para ajustarse a las diferentes normas. Sin embargo, ya que no puede identificarse a qué norma se ajusta cada uno de la pluralidad de los datos de vídeo a decodificar, existe un problema que no pueda seleccionarse un procedimiento de decodificación apropiado.
Para resolver el problema, datos multiplexados obtenidos multiplexando datos de audio y otros en datos de video tiene una estructura que incluye información de identificación que indica a qué norma se ajustan los datos de vídeo. En lo sucesivo se describirá la estructura específica de los datos multiplexados que incluyen los datos de vídeo generados en el procedimiento de codificación de instantáneas en movimiento y mediante el aparato de codificación de instantánea en movimiento mostrado en cada una de las realizaciones. Los datos multiplexados son un flujo digital en el formato Flujo de Transporte MPEG2.
La Figura 20 ilustra una estructura de los datos multiplexados. Como se ilustra en la Figura 20, los datos multiplexados pueden obtenerse multiplexando al menos uno de un flujo de vídeo, un flujo de audio, un flujo de gráficos de presentación (PG) y un flujo de gráficos interactivos. El flujo de vídeo 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 a mezclar con la parte de audio primaria y el flujo de gráficos de presentación representa subtítulos de una película. En este documento, el video primario es video normal a visualizar en una pantalla y el video secundario es video a visualizar en una ventana más pequeñas en el video principal. Adicionalmente, el flujo de gráficos interactivos representa una pantalla interactiva a generar mediante la disposición de los componentes GUI en una pantalla. El flujo de vídeo se codifica en el procedimiento de codificación de instantáneas en movimiento o mediante el aparato de codificación de instantánea en movimiento mostrado en cada una de las realizaciones o en un procedimiento de codificación de instantáneas en movimiento o mediante un aparato de codificación de instantáneas en movimiento de conformidad con una norma convencional, tales como MPEG-2, MPEG-4 AVC y VC-1. El flujo de audio se codifica de acuerdo con una norma, tales como Dolby-AC-3, Dolby Digital Plus, MLP, DTS, DTS-HD y PCM lineal.
Cada flujo incluido en los datos multiplexados se identifica mediante PID. Por ejemplo, 0x1011 se asigna al flujo de vídeo a usar para video de una película, 0x1100 a 0x111F se asignan a los flujos de audio, 0x1200 a 0x121F se asignan a los flujos de gráficos de presentación, 0x1400 a 0x141F se asignan a los flujos de gráficos interactivos, 0x1B00 a 0x1B1F se asignan a los flujos de vídeo a usar para video secundario de la película y 0x1A00 a 0x1A1F se asignan a los flujos de audio a usar para el video secundario a mezclar con el audio primario.
La Figura 21 ilustra esquemáticamente cómo se multiplexan los datos. En primer lugar, un flujo de vídeo ex235 compuestos de fotogramas de video y un flujo de audio ex238 compuesto de tramas de audio se transforman en un flujo de paquetes ex236 de PES y un flujo de paquetes ex239 de PES y adicionalmente en paquetes ex237 de TS y paquetes ex240 de TS, respectivamente. De manera similar, datos de un flujo ex241 de gráficos de presentación y datos de un flujo ex244 de gráficos interactivos se transforman en un flujo de paquetes ex242 de PES y un flujo de paquetes ex245 de PES y adicionalmente en paquetes ex243 de TS y paquetes ex246 de TS, respectivamente. Estos paquetes de TS se multiplexan en un flujo para obtener datos ex247 multiplexados.
La Figura 22 ilustra en más detalle cómo se almacena un flujo de vídeo en un flujo de paquetes de PES. La primera barra en la Figura 22 muestra un flujo de fotogramas de video en un flujo de vídeo. La segunda barra muestra el flujo de paquetes de PES. Como se indica mediante flechas indicadas como yy2, yy2, yy3 e yy4 en la Figura 22, el flujo de vídeo se divide en instantáneas como instantáneas de tipo I, instantáneas de tipo B e instantáneas de tipo P cada una de las cuales es una unidad de presentación de video y las instantáneas se almacenan en una carga útil de cada uno de los paquetes de PES. Cada uno de los paquetes de PES tiene un encabezamiento de PES y el encabezamiento de PES almacena una Indicación de Tiempo de Presentación (PTS) que indica un tiempo de visualización de la instantánea y una Indicación de Tiempo de Decodificación (DTS) que indica un tiempo de decodificación de la instantánea.
La Figura 23 ilustra un formato de paquetes de TS a escribir finalmente en los datos multiplexados. Cada uno de los paquetes de TS es un paquete de longitud fija de 188 bytes que incluye un encabezamiento de TS de 4 bytes que tiene información, tales como una PID para la identificación de un flujo y una carga útil de TS de 184 bytes para el almacenamiento de datos. Los paquetes de PES se dividen y almacenan en las cargas útiles de TS, respectivamente. Cuando se usa un BD ROM, a cada uno de los paquetes de TS se asigna un TP_Extra_header de 4 bytes, por lo tanto resultando en paquetes fuente de 192 bytes. Los paquetes fuente se escriben en los datos multiplexados. El TP_Extra_header almacena información tal como una Arrival_Time_Stamp (ATS). La ATS muestra un tiempo de inicio de transferencia en al que cada uno de los paquetes de TS se transferirá a un filtro PID. Los paquetes fuente se disponen en los datos multiplexados como se muestra en la parte inferior de la Figura 23. Los números que incrementan desde el encabezamiento de los datos multiplexados se denominan números de paquete fuente (SPN).
Cada uno de los paquetes de TS incluidos en los datos multiplexados incluye no únicamente flujos de audio, video, subtítulos y otros, sino también una Tabla de Asociación de Programa (PAT), una Tabla de Mapa de Programa (PMT) y una Referencia de Reloj de Programa (PCR). 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 PID de los flujos de video, audio, subtítulos y otros incluidos en los datos multiplexados e información de atributo de los flujos que corresponde a las PID. La PMT también tiene diversos descriptores relacionados con los datos multiplexados. Los descriptores tienen información tales como información de control de copia que muestra si se permite o no el copiado de los datos multiplexados. La PCR almacena información de tiempo STC que corresponde a una ATS que muestra cuándo se transfiere el paquete PCR a un decodificador, para lograr sincronización entre un Reloj de Tiempo de Llegada (ATC) que es un eje de tiempo de ATS y un Reloj de Tiempo de Sistema (STC) que es un eje de tiempo de PTS y DTS.
La Figura 24 ilustra la estructura de datos de la PMT en detalle. Un encabezamiento de PMT se dispone en la parte superior de la PMT. El encabezamiento de PMT describe la longitud de datos incluidos en la PMT y otros. Una pluralidad de descriptores relacionados con los datos multiplexados se dispone después del encabezamiento 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 la información de flujo relacionados con los flujos incluidos en los datos multiplexados. Cada pieza de la información de flujo incluye descriptores de flujo cada uno describiendo información, tales como un tipo de flujo para la identificación de un códec de compresión de un flujo, una PID de flujo e información de atributo de flujo (tales como una tasa de fotogramas 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 se graban en un medio de grabación y otros, se graban junto con archivos de información de datos multiplexados.
Cada uno de los archivos de información de datos multiplexados es información de gestión de los datos multiplexados como se muestra en la Figura 25. Los archivos de información de datos multiplexados están en correspondencia de uno a uno con los datos multiplexados y cada uno de los archivos incluye información de datos multiplexados, información de atributo de flujo y un mapa de entrada.
Como se ilustra en la Figura 25, los datos multiplexados incluyen una tasa de sistema, un tiempo de inicio de reproducción y un tiempo de fin de reproducción. La tasa de sistema indica la tasa de transferencia máxima a la que un decodificador objetivo de sistema que se describirá más adelante transfiere los datos multiplexados a un filtro de PID. Los intervalos de las ATS incluidos en los datos multiplexados se establecen para no superar una tasa de sistema. El tiempo de inicio de reproducción indica una PTS en un fotograma de video en el encabezamiento de los datos multiplexados. Un intervalo de un fotograma se añade a una PTS en un fotograma de video al final de los datos multiplexados y la PTS se establece al tiempo de fin de reproducción.
Como se muestra en la Figura 26, se registra una pieza de información de atributo en la información de atributo de flujo, para cada PID de cada flujo incluido en los datos multiplexados. Cada pieza de información de atributo tiene diferente información dependiendo de si el flujo correspondiente es un flujo de vídeo, 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 flujo de video transporta información que incluye qué clase de códec de compresión se usa para la compresión del flujo de vídeo y la resolución, relación de aspecto y tasa de fotogramas de las piezas de datos de instantánea que se incluye en el flujo de vídeo. Cada pieza de información de atributo de flujo de audio transporta información que incluye qué clase de códec de compresión se usa para la compresión del flujo de audio, cuántos canales se incluyen en el flujo de audio, qué idioma soporta el flujo de audio y qué alta es la frecuencia de muestreo. La información de atributo de flujo de video y la información de atributo de flujo de audio se usan para la inicialización de un decodificador antes de que el reproductor reproduzca la información.
En la realización 7, los datos multiplexados a usar son de un tipo de flujo incluido en la PMT. Adicionalmente, cuando los datos multiplexados se graban en un medio de grabación, se usa la información de atributo de flujo de video incluida en la información de datos multiplexados. Más específicamente, el procedimiento de codificación de instantáneas en movimiento o el aparato de codificación de instantánea en movimiento descritos en cada una de las realizaciones incluye una etapa o una unidad para la asignación de información exclusiva que indica datos de video generados mediante el procedimiento de codificación de instantáneas en movimiento o el aparato de codificación de instantánea en movimiento en cada una de las realizaciones, al tipo de flujo incluido en la PMT o la información de atributo de flujo de video. Con la configuración, los datos de vídeo generados mediante el procedimiento de codificación de instantáneas en movimiento o el aparato de codificación de instantánea en movimiento descritos en cada una de las realizaciones pueden distinguirse de datos de video que se ajustan a otra norma.
Adicionalmente, la Figura 27 ilustra etapas del procedimiento de decodificación de instantáneas en movimiento de acuerdo con la realización 7. En la Etapa exS100, el tipo de flujo incluido en la PMT o la información de atributo de flujo de video se obtiene a partir de los datos multiplexados. A continuación, en la Etapa exS101, se determina si el tipo de flujo o la información de atributo de flujo de video indica o no que los datos multiplexados se generan mediante el procedimiento de codificación de instantáneas en movimiento o el aparato de codificación de instantánea en movimiento en cada una de las realizaciones. Cuando se determina que el tipo de flujo o la información de atributo de flujo de video indica que los datos multiplexados se generan mediante el procedimiento de codificación de instantáneas en movimiento o el aparato de codificación de instantánea en movimiento en cada una de las realizaciones, en la Etapa exS102, el tipo de flujo o la información de atributo de flujo de video se decodifica mediante el procedimiento de decodificación de instantáneas en movimiento en cada una de las realizaciones. Adicionalmente, cuando el tipo de flujo o la información de atributo de flujo de video indica conformidad con las normas, tales como MPEG-2, MPEG-4 AVC y VC-1, en la Etapa exS103, el tipo de flujo o la información de atributo de flujo de video se decodifica mediante un procedimiento de codificación de instantánea en movimiento de conformidad con las normas convencionales.
Como tal, la asignación de un nuevo valor exclusivo al tipo de flujo o la información de atributo de flujo de video habilita la determinación de si el procedimiento de decodificación de instantáneas en movimiento o el aparato de decodificación de instantánea en movimiento que se describe en cada una de las realizaciones puede realizar o no decodificación. Incluso en una entrada de datos multiplexados que se ajusta a una norma diferente, puede seleccionarse un procedimiento o aparato de decodificación apropiados. Por lo tanto, es posible decodificar información sin ningún error. Adicionalmente, el procedimiento de codificación de instantáneas en movimiento o aparato o el procedimiento o aparato de decodificación de instantáneas en movimiento en la realización 7 pueden usarse en los dispositivos y sistemas descritos anteriormente.
(Realización 8)
Cada uno del procedimiento de codificación de instantáneas en movimiento, el aparato de codificación de instantáneas en movimiento, el procedimiento de decodificación de instantáneas en movimiento y el aparato de decodificación de instantánea en movimiento en cada una de las realizaciones se logra habitualmente en forma de un circuito integrado o un circuito Integrado en Gran Escala (LSI). Como un ejemplo del LSI, la Figura 28 ilustra una configuración del LSI ex500 que se fabrica en un chip. El LSI ex500 incluye elementos ex501, ex502, ex503, ex504, ex505, ex506, ex507, ex508 y ex509 a describir a continuación y los elementos se conectan entre sí a través de un bus ex510. La unidad ex505 de circuito de fuente de alimentación se activa suministrando a cada uno de los elementos con potencia cuando la unidad ex505 de circuito de fuente de alimentación se ACTIVA.
Por ejemplo, cuando se realiza la codificación, el LSI ex500 recibe una señal AV de un micrófono ex117, una cámara ex113 y otros a través de un AV ex509 10 de en control de una unidad ex501 de control que incluye una CPU ex502, un controlador ex503 de memoria, un controlador ex504 de flujo y una unidad ex512 de control de frecuencia de accionamiento. La señal AV recibida se almacena temporalmente en una memoria ex511 externa, tal como una SDRAM. En control de la unidad ex501 de control, los datos almacenados se segmentan en porciones de datos de acuerdo con la cantidad de computación y velocidad a transmitir a una unidad ex507 de procesamiento de señales. A continuación, la unidad ex507 de procesamiento de señales codifica una señal de audio y/o una señal de vídeo. En este documento, la codificación de la señal de video es la codificación descrita en cada una de las realizaciones. Adicionalmente, la unidad ex507 de procesamiento de señales en ocasiones multiplexa los datos de audio codificados y los datos de video codificados y un flujo ex506 10 de proporciona fuera los datos multiplexados. Los datos multiplexados proporcionados se transmiten a la estación ex107 base o escriben en el medio ex215 de grabación. Cuando conjuntos de datos se multiplexan, el conjunto de datos debería almacenarse temporalmente en la memoria ex508 intermedia de modo que los conjuntos de datos se sincronizan entre sí.
Aunque la memoria ex511 es un elemento fuera del LSI ex500, puede incluirse en el LSI ex500. La memoria ex508 intermedia no se limita a una memoria intermedia, sino que puede componerse de memorias intermedias. Adicionalmente, el LSI ex500 puede fabricarse en un chip o una pluralidad de chips.
Adicionalmente, aunque la unidad ex501 de control incluye la CPU ex502, el controlador ex503 de memoria, el controlador ex504 de flujo, la unidad ex512 de control de frecuencia de accionamiento, la configuración de la unidad ex501 de control no se limita a tal. Por ejemplo, la unidad ex507 de procesamiento de señales puede incluir adicionalmente una CPU. La inclusión de otra CPU en la unidad ex507 de procesamiento de señales puede mejorar la velocidad de procesamiento. Adicionalmente, como otro ejemplo, la CPU ex502 puede servir como o ser una parte de la unidad ex507 de procesamiento de señales y, por ejemplo, puede incluir una unidad de procesamiento de señales de audio. En un caso de este tipo, la unidad ex501 de control incluye la unidad ex507 de procesamiento de señales o la CPU ex502 que incluye una parte de la unidad ex507 de procesamiento de señales. El número usado en este punto es LSI, pero también puede denominarse IC, sistema LSI, súper LSI o ultra LSI dependiendo del grado de integración.
Además, las formas para lograr la integración no se limitan al LSI y un circuito especial o un procesador de fin general y así sucesivamente también pueden lograr la integración. Para el mismo fin puede usarse campo de matriz de puertas programables (FPGA) que pueden programarse después de la fabricación de LSI o un procesador reconfigurable que permite la reconfiguración de la conexión o configuración de un LSI.
En el futuro, con avances en la tecnología de semiconductores, una nueva tecnología puede sustituir a LSI. Los bloques funcionales pueden integrarse usando una tecnología de este tipo. La posibilidad es que la presente invención se aplica a biotecnología.
(Realización 9)
Cuando datos de video se decodifican en el procedimiento de codificación de instantáneas en movimiento o mediante el aparato de codificación de instantánea en movimiento descritos en cada una de las realizaciones, en comparación con cuando datos de video que se ajustan a una norma convencional, tales como MPEG-2, MPEG-4 AVC y VC-1, la cantidad de computación probablemente aumenta. Por lo tanto, el LSI ex500 necesita establecerse a una frecuencia de accionamiento mayor que la de la CPU ex502 a usar cuando se decodifican datos de video de conformidad con la norma convencional. Sin embargo, cuando la frecuencia de accionamiento se establece más alta, existe un problema que el consumo de potencia aumenta.
Para resolver el problema, el aparato de decodificación de instantáneas en movimiento, tales como la televisión ex300 y el LSI ex500, se configura para determinar a qué norma se ajustan los datos de vídeo y conmutar entre las frecuencias de accionamiento de acuerdo con la norma determinada. La Figura 29 ilustra una configuración ex800 en la realización 9. Una unidad ex803 de conmutación de frecuencia de accionamiento establece una frecuencia de accionamiento a una frecuencia de accionamiento más alta cuando datos de video se generan mediante el procedimiento de codificación de instantáneas en movimiento o el aparato de codificación de instantánea en movimiento descritos en cada una de las realizaciones. A continuación, la unidad ex803 de conmutación de frecuencia de accionamiento ordena a una unidad ex801 de procesamiento de decodificación que ejecute el procedimiento de decodificación de instantáneas en movimiento descritos en cada una de las realizaciones para decodificar los datos de vídeo. Cuando los datos de vídeo se ajustan a la norma convencional, la unidad ex803 de conmutación de frecuencia de accionamiento establece una frecuencia de accionamiento a una frecuencia de accionamiento más baja que la de los datos de vídeo generados mediante el procedimiento de codificación de instantáneas en movimiento o el aparato de codificación de instantánea en movimiento descritos en cada una de las realizaciones. A continuación, la unidad ex803 de conmutación de frecuencia de accionamiento ordena a la unidad ex802 de procesamiento de decodificación que se ajuste a la norma convencional para decodificar los datos de vídeo.
Más específicamente, la unidad ex803 de conmutación de frecuencia de accionamiento incluye la CPU ex502 y la unidad ex582 de control de frecuencia de accionamiento en la Figura 28. En este documento, cada una de la unidad ex802 de procesamiento de decodificación que ejecute el procedimiento de decodificación de vídeo descritos en cada una de las realizaciones y la unidad ex802 de procesamiento de decodificación que se ajusten a la norma convencional corresponden a la unidad ex507 de procesamiento de señales en la Figura 28. La CPU ex502 determina a qué norma se ajustan los datos de vídeo. A continuación, la unidad ex512 de control de frecuencia de accionamiento determina una frecuencia de accionamiento a base de una señal de la CPU ex502. Adicionalmente, la unidad ex507 de procesamiento de señales decodifica los datos de vídeo a base de una señal de la CPU ex502. Por ejemplo, la información de identificación descrita en la realización 7 se usa probablemente para la identificación de los datos de vídeo. La información de identificación no se limita a la descrita en la realización 7 sino que puede ser cualquier información siempre que la información indique a qué norma se ajustan los datos de vídeo. Por ejemplo, cuando puede determinarse a qué norma se ajustan los datos de video a base de una señal externa para la determinación de que los datos de vídeo se usan para una televisión o un disco, etc., la determinación puede hacerse a base de una señal externa de este tipo. Adicionalmente, la CPU ex502 selecciona una frecuencia de accionamiento a base de, por ejemplo, una tabla de consulta en la que las normas de los datos de vídeo se asocian con las frecuencias de accionamiento como se muestra en la Figura 31. La frecuencia de accionamiento puede seleccionarse almacenando la tabla de consulta en la memoria ex508 intermedia y una memoria interna de un LSI y con referencia a la tabla de consulta mediante la CPU ex502.
La Figura 30 ilustra etapas para la ejecución de un procedimiento en la realización 9. En primer lugar, en la Etapa exS200, la unidad ex507 de procesamiento de señales obtiene información de identificación a partir de los datos multiplexados. A continuación, en la Etapa exS201, la CPU ex502 determina si los datos de vídeo se generan o no a base de la información de identificación mediante el procedimiento de codificación y el aparato de decodificación descritos en cada una de las realizaciones. Cuando los datos de vídeo se generan mediante el procedimiento de codificación y el aparato de decodificación descritos en cada una de las realizaciones, en la Etapa exS202, la CPU ex502 transmite una señal para el establecimiento de la frecuencia de accionamiento a una frecuencia de accionamiento más alta a la unidad ex512 de control de frecuencia de accionamiento. A continuación, la unidad ex512 de control de frecuencia de accionamiento establece la frecuencia de accionamiento a la frecuencia de accionamiento más alta. Por otra parte, cuando la información de identificación indica que los datos de vídeo se ajustan a la norma convencional, tales como MPEG-2, MPEG-4 AVC y VC-1, en la Etapa exS203, la CPU ex502 transmite una señal para el establecimiento de la frecuencia de accionamiento a una frecuencia de accionamiento más baja a la unidad ex512 de control de frecuencia de accionamiento. A continuación, la unidad ex512 de control de frecuencia de accionamiento establece la frecuencia de accionamiento a la frecuencia de accionamiento más baja que la del caso en el que los datos de vídeo se generan mediante el procedimiento de codificación y el aparato de decodificación descritos en cada una de las realizaciones.
Adicionalmente, junto con la conmutación de las frecuencias de accionamiento, el efecto de conservación de potencia puede mejorarse cambiando la tensión a aplicar al LSI ex500 o un aparato que incluye el LSI ex500. Por ejemplo, cuando la frecuencia de accionamiento se establece más baja, la tensión a aplicar al LSI ex500 o el aparato que incluye el LSI ex500 se establece probablemente a una tensión más baja que la del caso en el que la frecuencia de accionamiento se establece más alta.
Adicionalmente, cuando la cantidad de computación para la decodificación de es mayor, la frecuencia de accionamiento puede establecerse más alta y cuando la cantidad de computación para la decodificación es más pequeña, la frecuencia de accionamiento puede establecerse más baja como el procedimiento para el establecimiento de la frecuencia de accionamiento. Por lo tanto, el procedimiento de establecimiento no se limita a los descritos anteriormente. Por ejemplo, cuando la cantidad de computación para la decodificación de datos de video de conformidad con MPEG-4 a Vc es mayor que la cantidad de computación para la decodificación de datos de video generados mediante el procedimiento de codificación de instantáneas en movimiento y el aparato de codificación de instantánea en movimiento descritos en cada una de las realizaciones, la frecuencia de accionamiento probablemente se establece en orden inverso al establecimiento descrito anteriormente.
Adicionalmente, el procedimiento para el establecimiento de la frecuencia de accionamiento no se limita al procedimiento para el establecimiento la frecuencia de accionamiento más baja. Por ejemplo, cuando la información de identificación indica que los datos de vídeo se generan mediante el procedimiento de codificación de instantáneas en movimiento y el aparato de codificación de instantánea en movimiento descritos en cada una de las realizaciones, la tensión a aplicar al LSI ex500 o el aparato que incluye el LSI ex500 probablemente se establece más alta. Cuando la información de identificación indica que los datos de vídeo se ajustan a la norma convencional, tales como MPEG-2, MPEG-4 AVC y VC-1, la tensión a aplicar al LSI ex500 o el aparato que incluye el LSI ex500 probablemente se establece más baja. Como otro ejemplo, cuando la información de identificación indica que los datos de vídeo se generan mediante el procedimiento de codificación de instantáneas en movimiento y el aparato de codificación de instantánea en movimiento descritos en cada una de las realizaciones, el accionamiento de la CPU ex502 probablemente no tiene que suspenderse. Cuando la información de identificación indica que los datos de vídeo se ajustan a la norma convencional, tales como MPEG-2, MPEG-4 AVC y VC-1, el accionamiento de la CPU ex502 probablemente se suspende en un momento dado porque la CPU ex502 tiene capacidad extra de procesamiento. Incluso cuando la información de identificación indica que los datos de vídeo se generan mediante el procedimiento de codificación de instantáneas en movimiento y el aparato de codificación de instantánea en movimiento descritos en cada una de las realizaciones, en el caso en el que la CPU ex502 puede tener un retardo de tiempo, el accionamiento de la CPU ex502 probablemente se suspende en un momento dado. En un caso de este tipo, el tiempo de suspensión probablemente se establece más corto que en el caso en el que cuando la información de identificación indica que los datos de vídeo se ajustan a la norma convencional, tales como MPEG-2, MPEG-4 AVC y VC-1.
Por consiguiente, el efecto de conservación de potencia puede mejorarse conmutando entre las frecuencias de accionamiento de acuerdo con la norma a la que se ajustan los datos de vídeo. Adicionalmente, cuando el LSI ex500 o el aparato que incluye el LSI ex500 se acciona usando una batería, la duración de la batería puede extenderse con el efecto de conservación de potencia.
(Realización 10)
Existen casos en los que una pluralidad de datos de video que se ajusta a una norma diferente, se proporciona a los dispositivos y sistemas, tales como una televisión y un teléfono móvil. Para habilitar la decodificación de la pluralidad de datos de video que se ajusta a las normas diferentes, la unidad ex507 de procesamiento de señales del LSI ex500 necesita ajustarse a las diferentes normas. Sin embargo, los problemas de aumento en la escala del circuito del LSI ex500 y aumento en los costes surgen con el uso individual de las unidades ex507 de procesamiento de señales que se ajustan a las respectivas normas.
Para resolver el problema, lo que se concibe es una configuración en la que la unidad de procesamiento de decodificación para la implementación del procedimiento de decodificación de instantáneas en movimiento descritos en cada una de las realizaciones y la unidad de procesamiento de decodificación que se ajustan a la norma convencional, tales como MPEG-2, MPEG-4 AVC y VC-1 se comparten parcialmente. Ex900 en la Figura 32A muestra un ejemplo de la configuración. Por ejemplo, el procedimiento de decodificación de instantáneas en movimiento descrito en cada una de las realizaciones y el procedimiento de decodificación de instantáneas en movimiento que se ajustan a MPEG-4 AVC tienen, parcialmente en común, los detalles de procesamiento, tales como codificación de entropía, cuantificación inversa, filtración de desbloqueo y predicción de movimiento compensado. Los detalles de procesamiento a compartir probablemente incluyen uso de una unidad ex902 de procesamiento de decodificación que se ajusta a MPEG-4 AVC. En contraste, se usa una unidad ex901 de procesamiento de decodificación especializada probablemente para otro procesamiento exclusivo de la presente invención. Ya que la presente invención se caracteriza por compensación de movimiento en particular, por ejemplo, la unidad ex901 de procesamiento de decodificación especializada se usa para la compensación de movimiento. De otra manera, la unidad de procesamiento de decodificación se comparte probablemente para una de la codificación de entropía, cuantificación inversa, filtración de desbloqueo y cuantificación inversa o todo el procesamiento. La unidad de procesamiento de decodificación para la implementación del procedimiento de decodificación de instantáneas en movimiento descrita en cada una de las realizaciones puede compartirse para que el procesamiento se comparta y una unidad de procesamiento de decodificación especializada puede usarse para el procesamiento exclusivo de la de MPEG-4 AVC.
Adicionalmente, ex1000 en la Figura 32B muestra otro ejemplo en el que el procesamiento se comparte parcialmente. Este ejemplo usa una configuración que incluye una unidad ex1001 de procesamiento de decodificación especializada que soporta el procesamiento exclusivo de la presente invención, una unidad ex1002 de procesamiento de decodificación especializada que soporta el procesamiento exclusivo de otra norma convencional y una unidad de procesamiento de decodificación ex1003 que soporta el procesamiento a compartir entre el procedimiento de decodificación de instantáneas en movimiento en la presente invención y el procedimiento de codificación de instantánea en movimiento convencional. En este documento, las unidades ex1001 y ex1002 de procesamiento de decodificación especializadas no se especializan necesariamente para el procesamiento de la presente invención y el procesamiento de la norma convencional, respectivamente, y pueden ser los capaces de la implementación de procesamiento general. Adicionalmente, la configuración de realización 10 puede implementarse mediante el LSI ex500.
Como tal, la reducción de la escala del circuito de un LSI y la reducción del coste son posibles compartiendo la unidad de procesamiento de decodificación para el procesamiento a compartir entre el procedimiento de decodificación de instantáneas en movimiento en la presente invención y el procedimiento de decodificación de instantáneas en movimiento de conformidad con la norma convencional.
Aplicabilidad industrial
El procedimiento de codificación de imagen y el procedimiento de decodificación de imagen de acuerdo con la presente invención son aplicables a, por ejemplo, televisiones, grabadores de vídeo digital, sistemas de navegación para automóviles, teléfonos celulares, cámaras digitales y cámaras de video digitales.
Lista de signos de referencia
100, 300 Aparato de codificación de imagen
101 Unidad de sustracción
102 Unidad de transformación ortogonal
103 Unidad de cuantificación
104 Unidad de codificación de longitud variable
105, 205 Unidad de cuantificación inversa
106, 206 Unidad de transformación ortogonal inversa
107, 207 Unidad de adición
108, 208 Memoria de bloque
109, 209 Memoria de fotograma
110, 210 Unidad de intra predicción
111,211 Unidad de inter predicción
112, 212 Unidad de conmutación
113 Unidad de determinación de tipo de instantánea
114, 214 Unidad de control de inter predicción
115, 215 Unidad de gestión de listas de instantáneas de referencia
116, 216 Unidad de determinación de adición
200, 400 Aparato de decodificación de imagen
204 Unidad de decodificación de longitud variable
301,401, 501 Unidad de adición
302, 402, 502 Unidad de selección
303, 503 Unidad de selección
403, 504 Unidad de decodificación
500 Aparato de codificación y decodificación de imagen

Claims (3)

REIVINDICACIONES
1. Un procedimiento de decodificación de imagen para la decodificación de una instantánea actual por bloque con bipredicción que usa ambas de (i) una primera lista de instantáneas de referencia que incluye una primera instantánea de referencia actual para un bloque actual, refiriéndose la primera instantánea de referencia actual mediante un primer vector de movimiento actual, y (ii) una segunda lista de instantáneas de referencia que incluye una segunda instantánea de referencia actual para el bloque actual, refiriéndose la segunda instantánea de referencia actual mediante un segundo vector de movimiento actual, comprendiendo dicho procedimiento:
considerar (S302) si la segunda instantánea de referencia actual para el bloque actual es idéntica o no a una segunda instantánea de referencia adyacente para un bloque adyacente, siendo dicho bloque adyacente adyacente al bloque actual y decodificado con bipredicción, incluyéndose la segunda instantánea de referencia adyacente (i) en una segunda lista de instantáneas de referencia adyacentes y (ii) refiriéndose mediante un segundo vector de movimiento adyacente;
cuando la segunda instantánea de referencia actual se considera que es idéntica a la segunda instantánea de referencia adyacente, añadir (S303) el segundo vector de movimiento adyacente a una lista de candidatos para el segundo vector de movimiento actual;
considerar (S403) si la segunda instantánea de referencia actual es idéntica o no a una instantánea de referencia adyacente para el bloque adyacente, incluyéndose la instantánea de referencia adyacente (i) en una lista de instantáneas de referencia adyacentes y (ii) refiriéndose mediante el primer vector de movimiento adyacente;
cuando la segunda instantánea de referencia actual se considera que es idéntica a la instantánea de referencia adyacente, añadir (S404) el primer vector de movimiento adyacente a la lista de candidatos para el segundo vector de movimiento actual;
seleccionar (S606, S611) un vector de movimiento previsto a usar para la decodificación del segundo vector de movimiento actual de la lista de candidatos para el segundo vector de movimiento actual; y
decodificar (S606, S611) el segundo vector de movimiento actual usando el vector de movimiento seleccionado previsto,
en el que la segunda etapa de consideración (S403) se realiza cuando la segunda instantánea de referencia actual se considera que no es idéntica a la segunda instantánea de referencia adyacente.
2. Un aparato de decodificación de imagen para la decodificación de una instantánea actual por bloque con bipredicción que usa ambas de (i) una primera lista de instantáneas de referencia que incluye una primera instantánea de referencia actual para un bloque actual, refiriéndose la primera instantánea de referencia actual mediante un primer vector de movimiento actual y (ii) una segunda lista de instantáneas de referencia que incluye una segunda instantánea de referencia actual para el bloque actual, refiriéndose la segunda instantánea de referencia actual mediante un segundo vector de movimiento actual, comprendiendo dicho aparato:
una unidad (401) de adición configurada para
considerar (S302) si la segunda instantánea de referencia actual para el bloque actual es idéntica o no a una segunda instantánea de referencia adyacente para un bloque adyacente, siendo dicho bloque adyacente al bloque actual y codificado con bipredicción e (i) incluyéndose la segunda instantánea de referencia adyacente en una segunda lista de instantáneas de referencia adyacentes y (ii) refiriéndose mediante el segundo vector de movimiento adyacente,
cuando la segunda instantánea de referencia actual se considera que es idéntica a la segunda instantánea de referencia adyacente, añadir (S303) el segundo vector de movimiento adyacente a una lista de candidatos para el segundo vector de movimiento actual,
considerar (S403) si la segunda instantánea de referencia actual es idéntica o no a una instantánea de referencia adyacente para el bloque adyacente, incluyéndose la instantánea de referencia adyacente (i) en una lista de instantáneas de referencia adyacentes y (ii) refiriéndose mediante el primer vector de movimiento adyacente,
cuando la segunda instantánea de referencia actual se considera que es idéntica a la instantánea de referencia adyacente, añadir (S404) el primer vector de movimiento adyacente a la lista de candidatos para el segundo vector de movimiento actual;
una unidad (402) de selección configurada para la selección de un vector de movimiento previsto a usar para la codificación del segundo vector de movimiento actual de la lista de candidatos para el segundo vector de movimiento actual; y
una unidad (403) de decodificación configurada para la decodificación del segundo vector de movimiento actual usando el vector de movimiento seleccionado previsto,
en el que la segunda etapa de consideración (S403) se realiza cuando la segunda instantánea de referencia actual se considera que no es idéntica a la segunda instantánea de referencia adyacente.
3. El procedimiento de decodificación de imagen de acuerdo con la reivindicación 1,
en el que cuando la segunda instantánea de referencia actual se considera que no es idéntica a la instantánea de referencia adyacente, el primer vector de movimiento adyacente no se añade a la lista de candidatos para el segundo vector de movimiento actual, y
en el que cuando la segunda instantánea de referencia actual se considera que no es idéntica a la segunda instantánea de referencia adyacente, el segundo vector de movimiento adyacente no se añade a la lista de candidatos para el segundo vector de movimiento actual.
ES17157139T 2010-12-28 2011-12-27 Predicción de vector de movimiento para la codificación de video Active ES2704960T3 (es)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US201061427587P 2010-12-28 2010-12-28

Publications (1)

Publication Number Publication Date
ES2704960T3 true ES2704960T3 (es) 2019-03-20

Family

ID=46316778

Family Applications (2)

Application Number Title Priority Date Filing Date
ES17157139T Active ES2704960T3 (es) 2010-12-28 2011-12-27 Predicción de vector de movimiento para la codificación de video
ES11854143.2T Active ES2637615T3 (es) 2010-12-28 2011-12-27 Procedimiento de codificación de imagen y dispositivo de codificación de imagen

Family Applications After (1)

Application Number Title Priority Date Filing Date
ES11854143.2T Active ES2637615T3 (es) 2010-12-28 2011-12-27 Procedimiento de codificación de imagen y dispositivo de codificación de imagen

Country Status (13)

Country Link
US (10) US9049455B2 (es)
EP (2) EP2661087B1 (es)
JP (2) JP6008291B2 (es)
KR (1) KR101790378B1 (es)
CN (2) CN103004205B (es)
AU (2) AU2011353405B2 (es)
BR (1) BR112013002448B1 (es)
CA (1) CA2805663C (es)
ES (2) ES2704960T3 (es)
MX (1) MX2013000995A (es)
PL (2) PL2661087T3 (es)
SG (1) SG187185A1 (es)
WO (1) WO2012090491A1 (es)

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130128983A1 (en) * 2010-12-27 2013-05-23 Toshiyasu Sugio Image coding method and image decoding method
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
US9635382B2 (en) * 2011-01-07 2017-04-25 Texas Instruments Incorporated Method, system and computer program product for determining a motion vector
US20130322535A1 (en) * 2011-02-21 2013-12-05 Electronics And Telecommunications Research Institute Method for encoding and decoding images using plurality of reference images and device using method
WO2012140821A1 (ja) 2011-04-12 2012-10-18 パナソニック株式会社 動画像符号化方法、動画像符号化装置、動画像復号化方法、動画像復号化装置、および動画像符号化復号化装置
TWI526056B (zh) 2011-04-27 2016-03-11 Jvc Kenwood Corp A moving picture coding apparatus, a motion picture coding method, a motion picture coding program, a transmission apparatus, a transmission method, a transmission program, a video decoding apparatus, a video decoding method, a video decoding program, a reception device, a reception method, Receiving program
WO2012147344A1 (ja) 2011-04-27 2012-11-01 株式会社Jvcケンウッド 動画像復号装置、動画像復号方法、及び動画像復号プログラム
US9485518B2 (en) 2011-05-27 2016-11-01 Sun Patent Trust Decoding method and apparatus with candidate motion vectors
EP3614665B1 (en) 2011-05-27 2022-03-23 Sun Patent Trust Apparatus, method and program for decoding moving pictures
TW201304552A (zh) 2011-05-31 2013-01-16 Panasonic Corp 動態圖像編碼方法、動態圖像編碼裝置、動態圖像解碼方法、動態圖像解碼裝置、及動態圖像編碼解碼裝置
GB2491589B (en) * 2011-06-06 2015-12-16 Canon Kk Method and device for encoding a sequence of images and method and device for decoding a sequence of image
PL3481066T3 (pl) 2011-06-28 2021-11-22 Lg Electronics Inc. Sposób wyprowadzania predyktora wektora ruchu
CN106851269B (zh) 2011-06-30 2019-11-15 太阳专利托管公司 图像解码方法及装置、图像编码方法及装置、编解码装置
IN2014CN00729A (es) 2011-08-03 2015-04-03 Panasonic Corp
CN108881903B (zh) 2011-10-19 2022-01-04 太阳专利托管公司 图像编码方法及装置、图像解码方法及装置、编解码装置
JP2013098933A (ja) * 2011-11-04 2013-05-20 Sony Corp 画像処理装置および方法
US10003810B2 (en) * 2012-03-22 2018-06-19 Mediatek Inc. Method and apparatus of scalable video coding
RU2624578C2 (ru) * 2012-07-02 2017-07-04 Самсунг Электроникс Ко., Лтд. Способ и устройство для прогнозирования вектора движения для кодирования видео или декодирования видео
US9325990B2 (en) * 2012-07-09 2016-04-26 Qualcomm Incorporated Temporal motion vector prediction in video coding extensions
US9699450B2 (en) 2012-10-04 2017-07-04 Qualcomm Incorporated Inter-view predicted motion vector for 3D video
CN102883163B (zh) 2012-10-08 2014-05-28 华为技术有限公司 用于运动矢量预测的运动矢量列表建立的方法、装置
CN102946536B (zh) * 2012-10-09 2015-09-30 华为技术有限公司 候选矢量列表构建的方法及装置
US9826239B2 (en) * 2013-01-07 2017-11-21 Lg Electronics Inc. Video signal processing method and device
US9628795B2 (en) * 2013-07-17 2017-04-18 Qualcomm Incorporated Block identification using disparity vector in video coding
CN104079944B (zh) 2014-06-30 2017-12-01 华为技术有限公司 视频编码的运动矢量列表构建方法和系统
EP3410717A1 (en) * 2017-05-31 2018-12-05 Thomson Licensing Methods and apparatus for candidate list pruning
US11394992B2 (en) * 2018-03-14 2022-07-19 Hfi Innovation Inc. Methods and apparatuses of generating average candidates in video coding systems
CN110365987B (zh) * 2018-04-09 2022-03-25 杭州海康威视数字技术股份有限公司 一种运动矢量确定方法、装置及其设备
TWI744661B (zh) 2018-06-29 2021-11-01 大陸商北京字節跳動網絡技術有限公司 要根據模式檢查的查找表中的運動候選的數量
CN114845108A (zh) 2018-06-29 2022-08-02 抖音视界(北京)有限公司 查找表的更新:fifo、约束的fifo
CN110662056B (zh) 2018-06-29 2022-06-07 北京字节跳动网络技术有限公司 哪个查找表需要更新或不更新
CN114885173A (zh) 2018-06-29 2022-08-09 抖音视界(北京)有限公司 Lut中的运动候选的检查顺序
BR112020024142A2 (pt) 2018-06-29 2021-03-02 Beijing Bytedance Network Technology Co., Ltd. método para processamento de vídeo, aparelho para codificação de dados de vídeo, meio de armazenamento e meio de gravação legíveis por computador não transitório
KR20210025537A (ko) 2018-06-29 2021-03-09 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 하나 또는 다수의 룩업 테이블들을 사용하여 이전에 코딩된 모션 정보를 순서대로 저장하고 이를 사용하여 후속 블록들을 코딩하는 개념
CN110662052B (zh) 2018-06-29 2022-07-08 北京字节跳动网络技术有限公司 更新查找表(lut)的条件
KR20240005239A (ko) 2018-06-29 2024-01-11 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 Lut와 amvp 사이의 상호작용
CN113163211B (zh) * 2018-06-30 2023-01-03 Oppo广东移动通信有限公司 基于合并模式的帧间预测方法及装置
KR102606146B1 (ko) 2018-07-02 2023-11-23 후아웨이 테크놀러지 컴퍼니 리미티드 모션 벡터 예측 방법 및 관련 장치
TWI731364B (zh) 2018-07-02 2021-06-21 大陸商北京字節跳動網絡技術有限公司 Hmvp+非相鄰運動
CN116647696A (zh) 2018-09-06 2023-08-25 Lg电子株式会社 图像解码方法、图像编码方法、存储介质和发送方法
KR102585975B1 (ko) * 2018-09-12 2023-10-05 후아웨이 테크놀러지 컴퍼니 리미티드 참조 화상 리스트 구조를 위한 인덱스 시그널링
GB2590310B (en) 2018-09-12 2023-03-22 Beijing Bytedance Network Tech Co Ltd Conditions for starting checking HMVP candidates depend on total number minus K
WO2020133518A1 (zh) 2018-12-29 2020-07-02 深圳市大疆创新科技有限公司 视频处理方法和设备
KR20240010576A (ko) 2019-01-10 2024-01-23 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 Lut 업데이트의 호출
WO2020143824A1 (en) 2019-01-13 2020-07-16 Beijing Bytedance Network Technology Co., Ltd. Interaction between lut and shared merge list
WO2020147773A1 (en) 2019-01-16 2020-07-23 Beijing Bytedance Network Technology Co., Ltd. Inserting order of motion candidates in lut
CN113615193A (zh) 2019-03-22 2021-11-05 北京字节跳动网络技术有限公司 Merge列表构建和其他工具之间的交互
JP2022539657A (ja) * 2019-06-24 2022-09-13 アリババ グループ ホウルディング リミテッド 映像処理における適応解像度変更
US11934554B2 (en) 2021-05-17 2024-03-19 Bank Of America Corporation Information security by preventing unauthorized data access

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6625211B1 (en) * 1999-02-25 2003-09-23 Matsushita Electric Industrial Co., Ltd. Method and apparatus for transforming moving picture coding system
EP1830577A1 (en) 2002-01-18 2007-09-05 Kabushiki Kaisha Toshiba Video decoding method and apparatus
US7321626B2 (en) * 2002-03-08 2008-01-22 Sharp Laboratories Of America, Inc. System and method for predictive motion estimation using a global motion predictor
JP2004208258A (ja) * 2002-04-19 2004-07-22 Matsushita Electric Ind Co Ltd 動きベクトル計算方法
EP3525467B1 (en) 2002-04-19 2021-02-24 Panasonic Intellectual Property Corporation of America Bitstream decoding method and apparatus
PT3525465T (pt) 2002-04-19 2021-05-10 Panasonic Ip Corp America Método e aparelho de descodificação de imagens
JP2004023458A (ja) 2002-06-17 2004-01-22 Toshiba Corp 動画像符号化/復号化方法及び装置
KR100865034B1 (ko) 2002-07-18 2008-10-23 엘지전자 주식회사 모션 벡터 예측 방법
EP1562385B1 (en) * 2002-11-01 2014-07-02 Panasonic Corporation Motion picture encoding method and motion picture decoding method
US7400681B2 (en) * 2003-11-28 2008-07-15 Scientific-Atlanta, Inc. Low-complexity motion vector prediction for video codec with two lists of reference pictures
KR100631768B1 (ko) 2004-04-14 2006-10-09 삼성전자주식회사 비디오 코딩에서 프레임간 예측방법 및 비디오 인코더와,비디오 디코딩방법 및 비디오 디코더
JP4702943B2 (ja) 2005-10-19 2011-06-15 キヤノン株式会社 画像処理装置及びその方法
CN101317463B (zh) 2006-03-16 2012-10-17 华为技术有限公司 在编解码中的实现量化的方法和装置
JP4822940B2 (ja) 2006-06-02 2011-11-24 キヤノン株式会社 画像処理装置及び画像処理方法
JP4884290B2 (ja) 2007-05-07 2012-02-29 パナソニック株式会社 動画像復号化集積回路、動画像復号化方法、動画像復号化装置及び動画像復号化プログラム
JP4650461B2 (ja) * 2007-07-13 2011-03-16 ソニー株式会社 符号化装置、符号化方法、プログラム、及び記録媒体
US9042455B2 (en) * 2008-08-19 2015-05-26 Thomson Licensing Propagation map
CN102160382A (zh) 2008-09-24 2011-08-17 索尼公司 图像处理设备和图像处理方法
US20100166073A1 (en) 2008-12-31 2010-07-01 Advanced Micro Devices, Inc. Multiple-Candidate Motion Estimation With Advanced Spatial Filtering of Differential Motion Vectors
JP5169978B2 (ja) * 2009-04-24 2013-03-27 ソニー株式会社 画像処理装置および方法
US9060176B2 (en) * 2009-10-01 2015-06-16 Ntt Docomo, Inc. Motion vector prediction in video coding
KR102004836B1 (ko) 2010-05-26 2019-07-29 엘지전자 주식회사 비디오 신호의 처리 방법 및 장치
US9300970B2 (en) * 2010-07-09 2016-03-29 Samsung Electronics Co., Ltd. Methods and apparatuses for encoding and decoding motion vector
US9124898B2 (en) * 2010-07-12 2015-09-01 Mediatek Inc. Method and apparatus of temporal motion vector prediction
US9357229B2 (en) * 2010-07-28 2016-05-31 Qualcomm Incorporated Coding motion vectors in video coding
US8824558B2 (en) 2010-11-23 2014-09-02 Mediatek Inc. Method and apparatus of spatial motion vector prediction
US20130128983A1 (en) * 2010-12-27 2013-05-23 Toshiyasu Sugio Image coding method and image decoding method
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

Also Published As

Publication number Publication date
US20220201291A1 (en) 2022-06-23
AU2016202666B2 (en) 2017-08-31
AU2016202666A1 (en) 2016-05-26
CN106878749B (zh) 2019-09-24
US20160353102A1 (en) 2016-12-01
AU2011353405A1 (en) 2013-02-07
US9729877B2 (en) 2017-08-08
BR112013002448A2 (pt) 2018-01-23
CN103004205A (zh) 2013-03-27
US10638128B2 (en) 2020-04-28
EP2661087B1 (en) 2017-05-24
US20150229930A1 (en) 2015-08-13
AU2011353405B2 (en) 2016-01-28
US9264726B2 (en) 2016-02-16
JP6167409B2 (ja) 2017-07-26
MX2013000995A (es) 2013-03-22
WO2012090491A1 (ja) 2012-07-05
KR101790378B1 (ko) 2017-10-25
US20170272746A1 (en) 2017-09-21
CA2805663A1 (en) 2012-07-05
CN103004205B (zh) 2017-02-08
US20120163466A1 (en) 2012-06-28
JP6008291B2 (ja) 2016-10-19
KR20140029348A (ko) 2014-03-10
US20210076030A1 (en) 2021-03-11
US11310493B2 (en) 2022-04-19
JPWO2012090491A1 (ja) 2014-06-05
BR112013002448B1 (pt) 2021-08-31
CN106878749A (zh) 2017-06-20
EP3200463B1 (en) 2018-10-31
US9445105B2 (en) 2016-09-13
US20180262753A1 (en) 2018-09-13
ES2637615T3 (es) 2017-10-13
SG187185A1 (en) 2013-02-28
US10880545B2 (en) 2020-12-29
US20200154102A1 (en) 2020-05-14
PL2661087T3 (pl) 2017-10-31
PL3200463T3 (pl) 2019-03-29
US9049455B2 (en) 2015-06-02
EP2661087A1 (en) 2013-11-06
EP2661087A4 (en) 2014-10-29
US10574983B2 (en) 2020-02-25
JP2017011746A (ja) 2017-01-12
US20160105674A1 (en) 2016-04-14
US9998736B2 (en) 2018-06-12
CA2805663C (en) 2017-11-21
US20190132588A1 (en) 2019-05-02
EP3200463A1 (en) 2017-08-02

Similar Documents

Publication Publication Date Title
ES2704960T3 (es) Predicción de vector de movimiento para la codificación de video
ES2687685T3 (es) Procedimiento de codificación de instantáneas en movimiento, dispositivo de codificación de instantáneas en movimiento, procedimiento de decodificación de instantáneas en movimiento, dispositivo de decodificación de instantáneas en movimiento y dispositivo de codificación-decodificación de instantáneas en movimiento
ES2781868T3 (es) Procedimiento de decodificación de imágenes, procedimiento de codificación de imágenes, dispositivo de decodificación de imágenes, dispositivo de codificación de imágenes y dispositivo de codificación/decodificación de imágenes
ES2693676T3 (es) Procedimiento de codificación de imagen, procedimiento de decodificación de imagen, aparato de codificación de imagen y aparato de decodificación de imagen
ES2959874T3 (es) Procedimiento de codificación de imágenes, aparato de codificación de imágenes, procedimiento de decodificación de imágenes, aparato de decodificación de imágenes
ES2780188T3 (es) Método de codificación de imagen, método de decodificación de imagen, aparato de codificación de imagen y aparato de decodificación de imagen
ES2685945T3 (es) Procedimiento de codificación de video de movimiento, y aparato de codificación de video de movimiento
ES2779226T3 (es) Procedimiento de descodificación de vídeo y dispositivo de descodificación de vídeo
ES2959039T3 (es) Aparato, procedimiento y programa para codificar imágenes en movimiento
ES2950029T3 (es) Método de codificación de imágenes, dispositivo de codificación de imágenes, método de decodificación de imágenes, dispositivo de decodificación de imágenes y dispositivo de codificación/decodificación de imágenes
ES2780186T3 (es) Procedimiento de codificación de imágenes, procedimiento de decodificación de imágenes, dispositivo de codificación de imágenes, y dispositivo de decodificación de imágenes
ES2800049T3 (es) Procedimientos y aparatos para codificar y decodificar vídeo utilizando una descripción actualizada de memoria intermedia
JP5893570B2 (ja) 画像符号化方法および画像復号化方法
TW201404175A (zh) 動態圖像編碼方法、動態圖像解碼方法、動態圖像編碼裝置、動態圖像解碼裝置、及動態圖像編碼解碼裝置
JP2019126085A (ja) 画像符号化方法、画像符号化装置、画像復号方法および画像復号装置
JP6551894B2 (ja) 動画像復号化方法および動画像復号化装置
WO2012090495A1 (ja) 画像符号化方法および画像復号方法
WO2012073481A1 (ja) 動画像符号化方法および動画像復号化方法