ES2652337T3 - Procedimiento de codificación predictiva para vector de movimiento, procedimiento de decodificación predictiva para vector de movimiento, dispositivo de codificación de imagen, dispositivo de decodificación de imagen, y programas para ello - Google Patents

Procedimiento de codificación predictiva para vector de movimiento, procedimiento de decodificación predictiva para vector de movimiento, dispositivo de codificación de imagen, dispositivo de decodificación de imagen, y programas para ello Download PDF

Info

Publication number
ES2652337T3
ES2652337T3 ES11742212.1T ES11742212T ES2652337T3 ES 2652337 T3 ES2652337 T3 ES 2652337T3 ES 11742212 T ES11742212 T ES 11742212T ES 2652337 T3 ES2652337 T3 ES 2652337T3
Authority
ES
Spain
Prior art keywords
motion vector
motion
encoded
vectors
image
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
ES11742212.1T
Other languages
English (en)
Inventor
Masaki Kitahara
Atsushi Shimizu
Mayuko Watanabe
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Application granted granted Critical
Publication of ES2652337T3 publication Critical patent/ES2652337T3/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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/521Processing of motion vectors for estimating the reliability of the determined motion vectors or motion vector field, e.g. for smoothing the motion vector field or for correcting motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/533Motion estimation using multistep search, e.g. 2D-log search or one-at-a-time search [OTS]
    • 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

Landscapes

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

Abstract

Un procedimiento de codificación predictiva de vector de movimiento en un esquema de codificación de imágenes en movimiento en el que una imagen que será codificada es dividida en bloques y la codificación se realiza utilizando compensación de movimiento para cada bloque, comprendiendo el procedimiento: una etapa de realización de una búsqueda de movimiento para un bloque que será codificado en la imagen que será codificada utilizando una imagen de referencia codificada para calcular un vector de movimiento; una etapa (S1-S4) de establecimiento de una pluralidad de bloques que incluyen al menos uno de bloques codificados en la imagen que será codificada y bloques codificados en una imagen codificada y en posiciones predeterminadas en relación con la posición de un bloque que será codificado en la imagen que será codificada como bloques candidatos primarios, y la determinación de N (N es un número entero superior o igual a 2) vectores de movimiento de referencia candidatos primarios a partir de los vectores de movimiento utilizados en la codificación de los bloques candidatos primarios; una etapa (S5) de cálculo de grados de fiabilidad de los vectores de movimiento de referencia candidatos primarios que representan cuantitativamente la efectividad en la predicción del vector de movimiento del bloque que será codificado, utilizando información de imagen codificada para cada uno de los vectores de movimiento de referencia candidatos primarios; una etapa de selección de M (M es un número entero predeterminado superior o igual a 1 e inferior a N) vectores de movimiento de referencia candidatos primarios que tienen M grados de fiabilidad superiores cuando los grados de fiabilidad de los N vectores de movimiento de referencia candidatos primarios están ordenados en orden descendente de entre los N vectores de movimiento de referencia candidatos primarios como vectores de movimiento de referencia candidatos secundarios; en el que el procedimiento de codificación predictiva de vector de movimiento está caracterizado porque comprende una etapa (S7) de cálculo de un vector de movimiento predictivo del bloque que será codificado utilizando los vectores de movimiento de referencia candidatos secundarios, y de codificación de un residuo entre el vector de movimiento obtenido a través de la búsqueda de movimiento del bloque que será codificado y el vector de movimiento predictivo como información codificada del vector de movimiento, y en la etapa de cálculo del vector de movimiento predictivo, un vector de movimiento de referencia candidato secundario que tiene un valor más cercano al vector de movimiento obtenido por la búsqueda de movimiento entre los vectores de movimiento de referencia candidatos secundarios se establece como el vector de movimiento predictivo, y un identificador del vector de movimiento de referencia candidato secundario establecido se establece como sujeto que será codificado.

Description

5
10
15
20
25
30
35
40
45
50
55
60
65
descripcion
Procedimiento de codificacion predictiva para vector de movimiento, procedimiento de decodificacion predictiva para vector de movimiento, dispositivo de codificacion de imagen, dispositivo de decodificacion de imagen, y programas para ello
Campo teonioo
La presente invencion se refiere a tecnologia de codificacion de imagenes en movimiento para realizar codificacion predictiva de un vector de movimiento. Mas especificamente, la presente invencion se refiere a un procedimiento de codificacion predictiva de vector de movimiento, un procedimiento de decodificacion predictiva de vector de movimiento, un aparato de codificacion de imagenes en movimiento, un aparato de decodificacion de imagenes en movimiento, y programas de lo mismo lo cual mejora la eficiencia de la prediccion de vector de movimiento y mejora la eficiencia de codificacion de imagenes en movimiento.
Se reivindica la prioridad sobre la solicitud de patente japonesa N° 2010-026130, presentada el 9 de febrero de 2010, cuyo contenido se incorpora en este documento por referencia.
Teonioa anterior
En un esquema de codificacion de imagenes en movimiento que utiliza compensacion de movimiento como se ejemplifica por la norma H.264, se realiza codificacion predictiva de un vector de movimiento con el fin de codificar eficientemente el vector de movimiento.
La FIG. 11 ilustra un ejemplo de una configuracion de una unidad de compensacion de movimiento en un aparato de codificacion de imagenes en movimiento convencional. Una unidad de compensacion de movimiento 100 en el aparato de codificacion de imagenes en movimiento convencional esta provista de una unidad de busqueda de movimiento 101, una memoria de vector de movimiento 102, una unidad de prediccion de vector de movimiento 103, y una unidad de calculo de residuo de prediccion 104.
Si se introduce una senal de video de un bloque que sera codificado, la unidad de busqueda de movimiento 101 realiza una busqueda de movimiento cotejandola con una senal decodificada de una imagen de referencia codificada, calcula un vector de movimiento, y lo almacena en la memoria de vector de movimiento 102. La unidad de prediccion de vector de movimiento 103 lee los vectores de movimiento que se han utilizado en la codificacion de bloques codificados alrededor del bloque que sera codificado desde la memoria de vector de movimiento 102 y calcula un vector de movimiento predictivo utilizandolos como vectores de movimiento de referencia. La unidad de calculo de residuo de prediccion 104 calcula el residuo entre el vector de movimiento calculado por la unidad de busqueda de movimiento 101 y el vector de movimiento predictivo calculado por la unidad de prediccion de vector de movimiento 103, y produce como salida un residuo de prediccion de vector de movimiento. Este residuo de prediccion de vector de movimiento es codificado y producido como salida como informacion codificada del vector de movimiento.
La FIG. 12 ilustra un ejemplo de una configuracion de una unidad de compensacion de movimiento en un aparato de decodificacion de imagenes en movimiento convencional. Una unidad de compensacion de movimiento 200 en el aparato de decodificacion de imagenes en movimiento convencional esta provista de una unidad de calculo de vector de movimiento 201, una unidad de creacion de senal de prediccion 202, una memoria de vector de movimiento 203, y una unidad de prediccion de vector de movimiento 204.
La unidad de calculo de vector de movimiento 201 genera un vector de movimiento anadiendo un residuo de prediccion de vector de movimiento decodificado a partir de un tren codificado a un vector de movimiento predictivo predicho por la unidad de prediccion de vector de movimiento 204, almacena este vector de movimiento en la memoria de vector de movimiento 203, y lo produce como salida para la unidad de creacion de senal predictiva 202. La unidad de creacion de senal predictiva 202 lee una senal decodificada procedente de una imagen de referencia decodificada de acuerdo con el vector de movimiento, y lo produce como salida como una senal de prediccion de un bloque que sera codificado. La unidad de prediccion de vector de movimiento 204 lee los vectores de movimiento que se han utilizado en la decodificacion de bloques decodificados alrededor del bloque que sera decodificado desde la memoria de vector de movimiento 203 y calcula el vector de movimiento predictivo utilizandolos como vectores de movimiento de referencia.
La tecnologia relacionada con la codificacion predictiva de vector de movimiento anteriormente mencionada incluye la siguiente tecnologia convencional.
(a) Codificacion predictiva de mediana/media (H.264 y similares) [denominada en lo sucesivo tecnologia convencional a]
(b) Codificacion predictiva basada en la designacion de vector de movimiento de referencia [denominada en lo
5
10
15
20
25
30
35
40
45
50
55
60
65
sucesivo tecnologfa convencional b]
La FIG. 13 es un diagrama para explicar un ejemplo de un esquema de codificacion predictiva convencional de un vector de movimiento. En la tecnologfa convencional a y la tecnologfa convencional b, al codificar un vector de movimiento (la decodificacion es la misma), la prediccion se realiza utilizando vectores de movimiento de bloques codificados (vectores de movimiento codificados) alrededor de un bloque que sera codificado como se ilustra en la FIG. 13 como vectores de movimiento de referencia, y se codifica el vector de movimiento.
Especificamente, en la tecnologfa convencional a, la mediana/media de los vectores de movimiento de referencia se utiliza como vector de movimiento predictivo, y se codifica un error (denominado residuo de prediccion de vector de movimiento) entre un vector de movimiento del bloque que sera codificado y el vector de movimiento predictivo (consultese el documento no patente 1, y el documento patente 1).
Por otra parte, en la tecnologfa convencional b, un aparato de codificacion (un codificador) selecciona un vector de movimiento que se utilizara en la prediccion a partir de los vectores de movimiento de referencia, y codifica un identificador de un vector de movimiento de referencia que se utilizara en la prediccion junto con un residuo de prediccion de vector de movimiento (consultese el documento no patente 2).
Por otra parte, convencionalmente, como tecnologfa para predecir el propio vector de movimiento del bloque que sera codificado en lugar de obtener el residuo de prediccion de vector de movimiento y codificar el vector de movimiento, existen una tecnologfa para predecir un vector de movimiento basada en la coincidencia de plantilla y para seleccionar un numero de candidatos de vectores de movimiento de entre los vectores de movimiento de los bloques vecinos basandose en el tamano de bloque y su residuo. (denominada en lo sucesivo tecnologfa convencional c).
Esta tecnologfa convencional c es un procedimiento de prediccion de vector de movimiento para realizar compensacion de movimiento sin codificar un vector de movimiento en un lado de codificacion (consultese el documento no patente 3, y el documento patente 2).
La FIG. 14 es un diagrama para explicar la prediccion de vector de movimiento convencional basada en coincidencia de plantilla. En la tecnologfa convencional c, y en el caso de la prediccion del vector de movimiento del bloque que sera codificado, utilizando un conjunto (este se denomina plantilla) de pixeles codificados alrededor del bloque que sera codificado como se ilustra por un area en forma de L invertida en la FIG. 14, se realiza una busqueda de movimiento en un intervalo de busqueda predeterminado en una imagen de referencia (este proceso se denomina coincidencia de plantilla). Especificamente, la busqueda se realiza para cada vector de movimiento en el intervalo de busqueda predeterminado calculando el grado de similitud, como una suma de diferencias absolutas (SAD), entre la plantilla y un area (denominada area de coincidencia) obtenida desplazando un area sobre la imagen de referencia en la misma posicion que la plantilla por el vector de movimiento. La compensacion de movimiento se realiza utilizando el vector de movimiento resultante. Puesto que tambien es posible que un lado de decodificacion realice el mismo proceso con una plantilla que es un conjunto de pixeles decodificados, resulta ventajoso porque la compensacion de movimiento es posible sin codificar el vector de movimiento.
Dooumentos de la teonioa anterior
Documentos no patente
Documento no patente 1: Kadono, Kikuchi, y Suzuki, "3rd revised edition. H.264/AVC textbook" publicado por Impress R&D, 2009, pp. 123-125.
Documento no patente 2: T. Yamamoto, "A new scheme for motion vector predictor encoding", ITU-T SG16/Q6, 32nd VCEG Meeting, San Jose, abril de 2007.
Document no patente 3: Kobayashi, Suzuki, Boon, y Horikoshi, "Reduction of Predictive Information Amount with Motion Prediction Method Using Template Matching", The Proceedings of Picture Coding Symposium of Japan, 2005, pp. 17-18.
Documentos patente
Documento patente 1: JP 2008 283490 A (NTT DOCOMO INC) 20 de noviembre de 2008 (2008-11-20)
Documento patente 2: US 2008/080617 A1 (KODAMA TOMOYA [JP]) 3 de abril de 2008 (2008-04-03)
Sumario de la invenoion
Problemas a ser resueltos por la invencion
5
10
15
20
25
30
35
40
45
50
55
60
65
En las tecnicas convencionales anteriormente mencionadas a y b, cuando no existen vectores de movimiento de referencia efectivos para prediccion en bloques adyacentes, se reduce la eficiencia de prediccion del vector de movimiento. Tambien resulta concebible que ademas de las inmediaciones del bloque que sera codificado, se utilicen en la prediccion vectores de movimiento de referencia de un gran numero de bloques incluidos en un intervalo mas amplio. Sin embargo, cuando esta se realiza utilizando las tecnicas convencionales, se deteriora la eficiencia de prediccion y/o la eficiencia de codificacion.
La FIG. 15 es un diagrama para explicar los problemas de las tecnicas convencionales. Tal como se ilustra en la FIG. 15, cuando los bloques adyacentes de un bloque que sera codificado estan colocados en un limite con un objeto Obj., cuando existe oclusion (cuando los puntos de correspondencia de los bloques adyacentes en una imagen de referencia estan ocultos por un cierto objeto), y/o cuando un objeto no es un cuerpo rigido, los vectores de movimiento de referencia de los bloques adyacentes pueden ser inadecuados para la prediccion de vector de movimiento del bloque que sera codificado, o los propios vectores de movimiento de referencia pueden no existir porque se realiza codificacion intra. En tal caso, tanto en la tecnica convencional a como en la tecnica convencional b, la eficiencia de prediccion puede deteriorarse.
En cambio, tal como se ilustra por los bloques indicados por lineas de puntos en la FIG. 15, puede darse un caso en el que un vector de movimiento de un bloque no incluido en los candidatos sea mas efectivo para la prediccion. Con el fin de utilizar tal vector de movimiento en la prediccion, es posible realizar facilmente la analogia de que, en lugar de emplear solo el bloque mas adyacente como candidato, se aumente el numero de bloques que se emplearan como candidatos. Sin embargo, en caso de aumentar el numero de bloques que se emplearan como candidatos, con la tecnica convencional a, puede incluirse en los candidatos un vector de movimiento de referencia inadecuado, y existe el riesgo de que se deteriore la eficiencia de prediccion. Ademas, con la tecnica convencional b, puesto que se aumenta una velocidad de transmision de bits para un identificador de un vector de movimiento de referencia que se utilizara en la prediccion, existe el riesgo de que se deteriore la eficiencia de codificacion.
Por otra parte, la tecnica convencional c es un procedimiento de prediccion de vector de movimiento para realizar compensacion de movimiento sin codificar un vector de movimiento en un lado de codificacion. Asi, considerese que esto se aplica a los problemas anteriormente mencionados de las tecnicas convencionales. Es decir, considerese que se crea un vector de movimiento predictivo utilizando la coincidencia de plantilla de la tecnica convencional c, se obtiene un residuo de prediccion de vector de movimiento a partir del vector de movimiento predictivo de un bloque que sera codificado obtenido a traves de una busqueda de movimiento normal, y se realiza la codificacion. En este caso, puede producirse el siguiente problema.
A diferencia de la tecnica convencional a y la tecnica convencional b, en la prediccion de vector de movimiento de acuerdo con la tecnica convencional c, es posible realizar una busqueda sin utilizar vectores de movimiento codificados de bloques adyacentes de un bloque que sera codificado. Por esta razon, aun cuando los vectores de movimiento codificados no sean efectivos para la prediccion, puede crearse un vector de movimiento predictivo efectivo. Sin embargo, puesto que el vector de movimiento predictivo se determina solo a partir de la plantilla, puede emplearse como el vector de movimiento predictivo un vector de movimiento que designa un area irrelevante para el bloque que sera codificado, con el resultado del deterioro de la eficiencia de prediccion.
La presente invencion esta dirigida a resolver los problemas descritos anteriormente, y un objeto de la misma es mejorar la eficiencia de prediccion de vector de movimiento y mejorar la eficiencia de codificacion de imagenes en movimiento. Aqui, la eficiencia de prediccion de vector de movimiento representa el grado de similitud entre un vector de movimiento que sera predico y un vector de movimiento predicho. Especificamente, cuando la longitud de un vector de diferencia de estos dos vectores es corta, se supone que la eficiencia de prediccion sera alta.
Medios para resolver los problemas
La descripcion general de la presente invencion es la siguiente. La presente invencion realiza prediccion de vector de movimiento para bloques respectivos de un lado de codificacion y un lado de decodificacion a traves del siguiente procedimiento.
(1) En al menos una de una imagen que sera codificada y una imagen codificada, se utilizan vectores de movimiento de un gran numero de (N) bloques candidatos primarios codificados, que se determinan por la posicion de un bloque que sera codificado, como vectores de movimiento de referencia candidatos primarios.
(2) Utilizando solo informacion ya decodificada cuando el lado de decodificacion empieza a decodificar el bloque que sera codificado (decodificado), se obtiene un valor de evaluacion (denominado en lo sucesivo grado de fiabilidad) que indica el grado al cual cada vector de movimiento de referencia candidato primario es adecuado para prediccion.
(3) Los vectores de movimiento de referencia candidatos primarios son reducidos a M (<N) vectores de movimiento de referencia candidatos secundarios de acuerdo con los grados de fiabilidad.
(4) Se crea un vector de movimiento predictivo utilizando los M vectores de movimiento de referencia candidatos
5
10
15
20
25
30
35
40
45
50
55
60
65
secundarios.
En detalle, en la presente invencion, como procesos previos de codificacion de prediccion de vector de movimiento (el siguiente proceso 4), que son los mismos que en la tecnica convencional, se realizan los siguientes procesos 1 a 3.
[Proceso 1] N (N es un numero entero superior o igual a 2) bloques que incluyen al menos uno de bloques codificados en una imagen que sera codificada y bloques codificados en una imagen codificada que estan presentes en posiciones predeterminadas en relacion con la posicion de un bloque que sera codificado en la imagen que sera codificada se establecen como bloques candidatos primarios, y se determinan N vectores de movimiento de referencia candidatos primarios a partir de los vectores de movimiento utilizados en la codificacion de los bloques candidatos primarios.
[Proceso 2] A continuacion, se calcula el grado de fiabilidad de cada uno de los N vectores de movimiento de referencia candidatos primarios, que representa cuantitativamente la efectividad en la prediccion del vector de movimiento del bloque que sera codificado, utilizando informacion de imagen codificada o decodificada.
[Proceso 3] Los M (M es un numero entero superior o igual a1 e inferior a N) vectores de movimiento de referencia candidatos primarios superiores con grados de fiabilidad mas altos se seleccionan a partir de los N vectores de movimiento de referencia candidatos primarios como vectores de movimiento de referencia candidatos secundarios.
[Proceso 4] Un vector de movimiento predictivo del bloque que sera codificado se calcula utilizando los vectores de movimiento de referencia candidatos secundarios, y el residuo entre un vector de movimiento obtenido a traves de una busqueda de movimiento del bloque que sera codificado y el vector de movimiento predictivo se codifica como informacion codificada del vector de movimiento. Como proceso de calculo del vector de movimiento predictivo del bloque que sera codificado utilizando los vectores de movimiento de referencia candidatos secundarios, por ejemplo, es posible utilizar un procedimiento convencional para seleccionar la mediana de los M vectores de movimiento de referencia candidatos secundarios o seleccionar un vector de movimiento de referencia candidato secundario que produce el residuo de prediccion minimo de entre los M vectores de movimiento de referencia candidatos secundarios, y codificar un identificador del vector de movimiento junto con el residuo de prediccion.
Tal como se describe anteriormente, en la presente invencion, los vectores de movimiento de referencia candidatos primarios se determinan a partir de vectores de movimiento de un gran numero de bloques candidatos primarios dentro de un intervalo predeterminado en al menos una de una imagen que sera codificada y una imagen codificada, asi como los de los bloques adyacentes de un bloque que sera codificado. Despues, se calcula el grado de fiabilidad de cada uno de los vectores de movimiento de referencia candidatos primarios utilizando informacion codificada o informacion decodificada. Los vectores de movimiento de referencia candidatos primarios se reducen de acuerdo con los grados de fiabilidad, y se utiliza un resultado reducido como los vectores de movimiento de referencia candidatos secundarios. Como procesos subsiguientes, utilizando los vectores de movimiento de referencia candidatos secundarios como entradas, por ejemplo, se obtiene un vector de movimiento predictivo utilizando el mismo procedimiento que en la codificacion de prediccion de vector de movimiento convencional, y se codifica el residuo de prediccion entre el vector de movimiento predictivo y el vector de movimiento.
Aun en el caso de la decodificacion de prediccion de vector de movimiento de acuerdo con la presente invencion, se utilizan vectores de movimiento de un gran numero de bloques candidatos primarios predeterminados como vectores de movimiento de referencia candidatos primarios. Despues, se calcula el grado de fiabilidad de cada uno de los vectores de movimiento de referencia candidatos primarios utilizando informacion decodificada. Los vectores de movimiento de referencia candidatos primarios se reducen de acuerdo con los grados de fiabilidad, y se utiliza un resultado reducido como los vectores de movimiento de referencia candidatos secundarios. Como procesos subsiguientes, utilizando los vectores de movimiento de referencia candidatos secundarios como entradas, se obtiene un vector de movimiento predictivo utilizando el mismo procedimiento que en la decodificacion de prediccion de vector de movimiento convencional, y el vector de movimiento predictivo se anade a un residuo de prediccion decodificado para calcular un vector de movimiento.
Como procedimiento para calcular un grado de fiabilidad, por ejemplo, es posible emplear un procedimiento para utilizar como plantilla un conjunto de pixeles codificados adyacentes a un bloque que sera codificado, calcular el grado de similitud entre un area que se hara coincidir y la plantilla, y tratar el grado de similitud como el grado de fiabilidad, en el que el area que se hara coincidir es un area obtenida desplazando un area sobre una imagen de referencia que es espacialmente la misma que la plantilla por un vector de movimiento de referencia candidato primario. Por otra parte, el grado de fiabilidad puede calcularse utilizando el grado de pequenez de una senal de residuo de prediccion decodificada en compensacion de movimiento de un bloque candidato primario, que es la fuente de calculo de cada vector de movimiento de referencia candidato primario, como un indice del grado de fiabilidad.
Efectos ventajosos de la invencion
5
10
15
20
25
30
35
40
45
50
55
60
65
En la presente invencion, los procesos 1 a 3 se realizan de modo que se reducen los vectores de movimiento de referencia. Esta reduccion tambien puede lograrse en un lado decodificacion sin informacion adicional procedente de un lado de codificacion, y un vector de movimiento efectivo para la prediccion esta incluido en los vectores de movimiento de referencia candidatos secundarios. Asi, la eficiencia de prediccion se mejor en comparacion con las tecnicas convencionales a, b y c anteriormente mencionadas.
Por otra parte, en general, si se mejora la eficiencia de prediccion de vector de movimiento, se reduce la entropia de un residuo de prediccion de vector de movimiento, de modo que disminuye la velocidad de transmision de bits de un vector de movimiento. Puesto que los datos codificados de una imagen en movimiento incluyen la velocidad de transmision de bits del vector de movimiento, se mejora la eficiencia de codificacion de la imagen en movimiento en comparacion con el esquema que utiliza la tecnica convencional a, b, o c.
Por otra parte, puesto que es posible establecer diversos vectores de movimiento de referencia candidatos primarios a partir de un gran numero de bloques candidatos primarios y estos vectores de movimiento de referencia candidatos primarios son vectores de movimiento utilizados en la codificacion, los vectores de movimiento de referencia candidatos primarios corresponden al movimiento de un objeto en una imagen en movimiento y es altamente probable que los vectores de movimiento efectivos para prediccion de vector de movimiento esten incluidos en los mismos. En la presente invencion, se obtienen los grados de fiabilidad de solo estos vectores de movimiento de referencia candidatos primarios, de modo que es posible lograr elevada eficiencia de prediccion con una pequena cantidad de calculo en comparacion con la tecnica convencional a.
Breve desoripoion de Ios dibujos
La FIG. 1 es un diagrama que ilustra un ejemplo de una configuracion de un aparato de codificacion de imagenes en movimiento de acuerdo con una realizacion de la presente invencion.
La FIG. 2 es un diagrama que ilustra un ejemplo de configuracion detallada de una unidad de compensacion de movimiento ilustrada en la FIG. 1.
La FIG. 3 es un diagrama que ilustra un ejemplo de una configuracion de un aparato de decodificacion de imagenes en movimiento de acuerdo con una realizacion de la presente invencion.
La FIG. 4 es un diagrama que ilustra un ejemplo de configuracion detallada de una unidad de compensacion de movimiento ilustrada en la FIG. 3.
La FIG. 5 es un diagrama de flujo de un proceso de prediccion de vector de movimiento.
La FIG. 6A es un diagrama para explicar un ejemplo de establecimiento de bloques candidatos primarios.
La FIG. 6B es un diagrama para explicar un ejemplo de establecimiento de los bloques candidatos primarios.
La FIG. 7 es un diagrama para explicar un ejemplo de establecimiento de vectores de movimiento de referencia candidatos primarios.
La FIG. 8 es un diagrama de flujo que ilustra un ejemplo de un proceso de calculo de grado de fiabilidad.
La FIG. 9 es un diagrama para explicar un procedimiento para calcular un grado de fiabilidad utilizando coincidencia de plantilla.
La FIG. 10A es un diagrama de flujo de un proceso de determinacion de vector de movimiento de referencia.
La FIG. 10B es un diagrama de flujo de otro proceso de determinacion de vector de movimiento de referencia.
La FIG. 11 es un diagrama que ilustra un ejemplo de una configuracion de una unidad de compensacion de movimiento de acuerdo con un aparato de codificacion de imagenes en movimiento convencional.
La FIG. 12 es un diagrama que ilustra un ejemplo de una configuracion de una unidad de compensacion de movimiento de acuerdo con un aparato de decodificacion de imagenes en movimiento convencional.
La FIG. 13 es un diagrama para explicar un ejemplo de un esquema de codificacion de prediccion convencional de un vector de movimiento.
La FIG. 14 es un diagrama para explicar la prediccion de vector de movimiento convencional basada en coincidencia de plantilla.
La FIG. 15 es un diagrama para explicar los problemas de una tecnica convencional.
5
10
15
20
25
30
35
40
45
50
55
60
65
Modos para realizar la invencion
En lo sucesivo en el presente documento, una realizacion de la presente invencion se describira en detalle con referenda a los dibujos.
La FIG. 1 es un diagrama que ilustra un ejemplo de una configuracion de un aparato de codificacion de imagenes en movimiento de acuerdo con una realizacion de la presente invencion. En un aparato de codificacion de imagenes en movimiento 1 de la presente realizacion, particularmente, una unidad de compensacion de movimiento 18 es una parte que es diferente de las tecnicas convencionales, y otras partes son las mismas que un aparato de codificacion de imagenes en movimiento general en la tecnica convencional, el cual se utiliza como codificador en la norma H.264 y similares.
El aparato de codificacion de imagenes en movimiento 1 recibe una senal de video que sera codificada, divide en bloques una trama de la senal de video recibida, codifica cada bloque, y produce como salida datos codificados del mismo como un tren de bits.
Para esta codificacion, una unidad de calculo de senal de residuo de prediccion 10 obtiene la diferencia entre la senal de video recibida y una senal predictiva que es la salida de la unidad de compensacion de movimiento 18 y la produce como salida como una senal de residuo de prediccion. Una unidad de transformacion ortogonal 11 realiza una transformacion ortogonal como la transformada discreta del coseno (DCT) sobre la senal de residuo de prediccion, y produce como salida un coeficiente de transformada. Una unidad de cuantificacion 12 cuantifica los coeficientes de transformada y produce como salida un coeficiente de transformada cuantificado. Una unidad de codificacion de fuente de informacion 13 codifica por entropia el coeficiente de transformada cuantificado y produce como salida un coeficiente codificado como el tren de bits.
Por otra parte, el coeficiente de transformada cuantificado tambien se introduce en una unidad de cuantificacion inversa 14 y es cuantificado de manera inversa en la misma. Una unidad de transformacion ortogonal inversa 15 realiza una transformacion ortogonal inversa sobre un coeficiente de transformada que es la salida de la unidad de cuantificacion inversa 14 y produce como salida una senal de residuo de prediccion decodificada. Una unidad de calculo de senal decodificada 16 anade la senal de residuo de prediccion decodificada a la senal predictiva, que es la salida de la unidad de compensacion de movimiento 18, y genera una senal decodificada del bloque codificado que sera codificado. Esta senal decodificada se almacena en una memoria de trama 17 con el fin de utilizarse como imagen de referencia de compensacion de movimiento en la unidad de compensacion de movimiento 18.
La unidad de compensacion de movimiento 18 realiza una busqueda de movimiento para la senal de video del bloque que sera codificado con referencia a una imagen de referencia almacenada en la memoria de trama 17, y produce como salida una senal predictiva del bloque que sera codificado. Por otra parte, la unidad de compensacion de movimiento 18 realiza una prediccion de vector de movimiento utilizando la informacion codificada con el fin de realizar una codificacion predictiva para un vector de movimiento que es el resultado de la busqueda de movimiento, calcula la diferencia entre el vector de movimiento que es el resultado de la busqueda de movimiento y el vector de movimiento predictivo, y produce como salida un resultado para la unidad de codificacion de fuente de informacion 13 como un residuo de prediccion de vector de movimiento.
Aqui, en el momento de la prediccion del vector de movimiento, en lugar de utilizar simplemente vectores de movimiento de bloques codificados alrededor del bloque que sera codificado, la unidad de compensacion de movimiento 18 establece un gran numero de bloques candidatos primarios codificados en posiciones predeterminadas en relacion con la posicion del bloque que sera codificado, establece vectores de movimiento de referencia candidatos primarios a partir de vectores de movimiento utilizados en la codificacion de los bloques candidatos primarios, calcula los grados de fiabilidad de los vectores de movimiento de referencia candidatos primarios a partir de la informacion codificada, los reduce a un pequeno numero de vectores de movimiento de referencia candidatos secundarios de acuerdo con los grados de fiabilidad, y calcula un vector de movimiento predictivo utilizando los vectores de movimiento de referencia candidatos secundarios. Un proceso de calculo del vector de movimiento predictivo utilizando los vectores de movimiento de referencia candidatos secundarios puede realizarse utilizando la misma tecnica de prediccion de vector de movimiento que en la tecnica convencional.
La FIG. 2 es un diagrama que ilustra un ejemplo de configuracion detallada de la unidad de compensacion de movimiento 18 ilustrada en la FIG. 1. Tal como se ilustra en la FIG. 2, la unidad de compensacion de movimiento 18 esta provista de una unidad de busqueda de movimiento 181, una memoria de vector de movimiento 182, una unidad de lectura de vector de movimiento de bloque candidato primario 183, una unidad de calculo de grado de fiabilidad 184, una unidad de determinacion de vector de movimiento de referencia 185, una unidad de prediccion de vector de movimiento 186, y una unidad de calculo de residuo de prediccion de vector de movimiento 187.
En la compensacion de movimiento en la codificacion del bloque que sera codificado, en primer lugar, la unidad de busqueda de movimiento 182 realiza una busqueda de movimiento de cotejo del bloque que sera codificado de la senal de video recibida con una senal decodificada de una imagen de referencia que ya ha sido codificada, genera y
5
10
15
20
25
30
35
40
45
50
55
60
65
produce como salida una senal predictiva, y produce como salida un vector de movimiento que indica una posicion coincidente. Este vector de movimiento se almacena en la memoria de vector de movimiento 182 y se produce como salida para la unidad de calculo de residuo de prediccion de vector de movimiento 187.
La unidad de lectura de vector de movimiento de bloque candidato primario 183 lee los vectores de movimiento de N (N es un numero entero superior o igual a 2) bloques candidatos primarios en posiciones predeterminadas, que son almacenados en la memoria de vector de movimiento 182 despues de ser codificados en el pasado, establece estos vectores de movimiento como los vectores de movimiento de referencia candidatos primarios, e informa a la unidad de calculo de grado de fiabilidad 184 de los vectores de movimiento de referencia candidatos primarios.
La unidad de calculo de grado de fiabilidad 184 calcula el grado de fiabilidad de cada uno de los N vectores de movimiento de referencia candidatos primarios, que representa cuantitativamente la efectividad en la prediccion del vector de movimiento del bloque que sera codificado, utilizando informacion de imagen codificada (una senal decodificada).
La unidad de determinacion de vector de movimiento de referencia 185 selecciona los M (M es un numero entero superior o igual a 1, e inferior a N) vectores de movimiento de referencia candidatos primarios superiores como los vectores de movimiento de referencia candidatos secundarios en orden descendente de los grados de fiabilidad calculados por la unidad de calculo de grado de fiabilidad 184.
La unidad de prediccion de vector de movimiento 186 calcula un vector de movimiento predictivo del bloque que sera codificado utilizando los vectores de movimiento de referencia candidatos secundarios seleccionados por la unidad de determinacion de vector de movimiento de referencia 185. Un procedimiento de calculo del vector de movimiento predictivo en la unidad de prediccion de vector de movimiento 186 puede ser el mismo que en la tecnica convencional, y, por ejemplo, la mediana de los vectores de movimiento de referencia candidatos secundarios se emplea como el vector de movimiento predictivo. Por otra parte, de entre los vectores de movimiento de referencia candidatos secundarios, un vector de movimiento de referencia candidato secundario que tiene un valor mas cercano al vector de movimiento obtenido por la unidad de busqueda de movimiento 181 puede emplearse como el vector de movimiento predictivo, un identificador que indica el vector de movimiento puede incluirse en sujetos que seran codificados, y los sujetos que seran codificados pueden comunicarse a un lado de decodificacion.
La unidad de calculo de residuo de prediccion de vector de movimiento 187 calcula el residuo entre el vector de movimiento calculado por la unidad de busqueda de movimiento 181 y el vector de movimiento predictivo calculado por la unidad de prediccion de vector de movimiento 186, y produce como salida el residuo calculado como un residuo de prediccion de vector de movimiento.
La FIG. 3 es un diagrama que ilustra un ejemplo de una configuracion de un aparato de decodificacion de imagenes en movimiento de acuerdo con la realizacion de la presente invencion. En un aparato de decodificacion de imagenes en movimiento 2 de la presente realizacion, particularmente, una unidad de compensacion de movimiento 25 es una parte que es diferente de la tecnica convencional, y otras partes son las mismas que un aparato de decodificacion de imagenes en movimiento general en la tecnica convencional, el cual se utiliza como decodificador en la norma H.264 y similares.
El aparato de decodificacion de imagenes en movimiento 2 recibe y decodifica el tren de bits codificado por el aparato de codificacion de imagenes en movimiento 1, ilustrado en la FIG. 1, y produce como salida una senal decodificada de una imagen decodificada.
Para esta decodificacion, basandose en el tren de bits recibido, una unidad de decodificacion de fuente de informacion 20 decodifica por entropia un coeficiente de transformada cuantificado de un bloque que sera decodificado y decodifica un residuo de prediccion de vector de movimiento. Una unidad de cuantificacion inversa 21 recibe y cuantifica de manera inversa el coeficiente de transformada cuantificado, y produce como salida un coeficiente de transformada decodificado. Una unidad de transformacion ortogonal inversa 22 realiza una transformacion ortogonal inversa sobre el coeficiente de transformada decodificado y produce como salida una senal de residuo de prediccion decodificada. Una unidad de calculo de senal decodificada 23 anade una senal predictiva generada por la unidad de compensacion de movimiento 25 a la senal de residuo de prediccion decodificada, y genera una senal decodificada de un bloque que sera decodificado. Esta senal decodificada se produce como salida para un aparato externo como un aparato de visualizacion, y se almacena en una memoria de trama 24 con el fin de utilizarse como imagen de referencia de compensacion de movimiento en la unidad de compensacion de movimiento 25.
La unidad de compensacion de movimiento 25 predice un vector de movimiento utilizando la informacion decodificada almacenada en la memoria de trama 24, anade el vector de movimiento predictivo al residuo de prediccion de vector de movimiento decodificado por la unidad de decodificacion de fuente de informacion 20 para calcular un vector de movimiento, y genera la senal predictiva del bloque que sera decodificado basandose en el vector de movimiento con referencia a una imagen de referencia de la memoria de trama 24.
5
10
15
20
25
30
35
40
45
50
55
60
65
Aqui, en el momento de la prediccion del vector de movimiento, en lugar de utilizar simplemente vectores de movimiento de bloques decodificados alrededor del bloque que sera decodificado, la unidad de compensacion de movimiento 25 establece un gran numero de bloques candidatos primarios decodificados en posiciones predeterminadas en relacion con la posicion del bloque que sera decodificado, y establece vectores de movimiento de referencia candidatos primarios a partir de vectores de movimiento utilizados en la decodificacion de los bloques candidatos primarios. Por otra parte, la unidad de compensacion de movimiento 25 calcula los grados de fiabilidad de los vectores de movimiento de referencia candidatos primarios a partir de la informacion decodificada, los reduce a un pequeno numero de vectores de movimiento de referencia candidatos secundarios de acuerdo con los grados de fiabilidad, y calcula un vector de movimiento predictivo utilizando los vectores de movimiento de referencia candidatos secundarios. Un proceso de calculo del vector de movimiento predictivo utilizando los vectores de movimiento de referencia candidatos secundarios puede realizarse utilizando el mismo procedimiento de prediccion de vector de movimiento que en la tecnica convencional.
La FIG. 4 es un diagrama que ilustra un ejemplo de configuracion detallada de la unidad de compensacion de movimiento 25 ilustrada en la FIG. 3. Tal como se ilustra en la FIG. 4, la unidad de compensacion de movimiento 25 esta provista de una unidad de calculo de vector de movimiento 251, una unidad de creacion de senal predictiva 252, una memoria de vector de movimiento 253, una unidad de lectura de vector de movimiento de bloque candidato primario 254, una unidad de calculo de grado de fiabilidad 255, una unidad de determinacion de vector de movimiento de referencia 256, y una unidad de prediccion de vector de movimiento 257.
En la compensacion de movimiento en la decodificacion del bloque que sera decodificado, en primer lugar, la unidad de calculo de vector de movimiento 251 anade un residuo de prediccion de vector de movimiento obtenido decodificando un tren de bits codificado a un vector de movimiento predictivo predicho por la unidad de prediccion de vector de movimiento 257 utilizando informacion decodificada, y produce como salida un vector de movimiento que se utilizara en la decodificacion. Este vector de movimiento se almacena en la memoria de vector de movimiento 253 y se produce como salida para la unidad de creacion de senal predictiva 252. La unidad de creacion de senal predictiva 252 lee una senal decodificada de una posicion de la imagen de referencia indicada por el vector de movimiento de entrada, y la produce como salida como una senal predictiva del bloque que sera decodificado.
La unidad de lectura de vector de movimiento de bloque candidato primario 254 lee los vectores de movimiento de N (N es un numero entero superior o igual a 2) bloques candidatos primarios en posiciones predeterminadas, que son almacenados en la memoria de vector de movimiento 253 despues de ser decodificados en el pasado, establece estos vectores de movimiento como los vectores de movimiento de referencia candidatos primarios, e informa a la unidad de calculo de grado de fiabilidad 255 de los vectores de movimiento de referencia candidatos primarios.
La unidad de calculo de grado de fiabilidad 255 calcula el grado de fiabilidad de cada uno de los N vectores de movimiento de referencia candidatos primarios, que representa cuantitativamente la efectividad en la prediccion del vector de movimiento del bloque que sera decodificado, utilizando informacion de imagen decodificada (una senal decodificada).
La unidad de determinacion de vector de movimiento de referencia 256 selecciona los M (M es un numero entero superior o igual a 1, e inferior a N) vectores de movimiento de referencia candidatos primarios superiores como los vectores de movimiento de referencia candidatos secundarios en orden descendente de los grados de fiabilidad calculados por la unidad de calculo de grado de fiabilidad 255.
La unidad de prediccion de vector de movimiento 257 calcula un vector de movimiento predictivo del bloque que sera decodificado utilizando los vectores de movimiento de referencia candidatos secundarios seleccionados por la unidad de determinacion de vector de movimiento de referencia 256. Un procedimiento de calculo del vector de movimiento predictivo en la unidad de prediccion de vector de movimiento 257 puede ser el mismo que en la tecnica convencional, y, por ejemplo, la mediana de los vectores de movimiento de referencia candidatos secundarios se emplea como el vector de movimiento predictivo. Alternativamente, cuando un identificador de un vector de movimiento que se utilizara en la prediccion ha sido designado por un lado de codificacion, el vector de movimiento indicado por el identificador se emplea como el vector de movimiento predictivo.
A continuacion, de entre los procesos realizados por la unidad de compensacion de movimiento 18 en el aparato de codificacion de imagenes en movimiento 1 y la unidad de compensacion de movimiento 25 en el aparato de decodificacion de imagenes en movimiento 2, se describira el proceso de prediccion de vector de movimiento asociado con la presente invencion con referencia a la FIG. 5 a la FIG. 10B. En lo sucesivo, se describira principalmente el proceso de prediccion de vector de movimiento de un lado de codificacion; sin embargo, el proceso de prediccion de vector de movimiento de un lado de decodificacion tambien es el mismo.
La FIG. 5 es un diagrama de flujo del proceso de prediccion de vector de movimiento.
[Proceso de la etapa S1]
Inicialmente, la unidad de lectura de vector de movimiento de bloque candidato primario 183 (o 254) lee vectores de
5
10
15
20
25
30
35
40
45
50
55
60
65
movimiento de N bloques candidatos primarios desde la memoria de vector de movimiento 182 (o 253).
Aqui, se describira un ejemplo de establecimiento de los bloques candidatos primarios con referencia a la FIG. 6A y la FIG. 6B. Los bloques candidatos primarios pueden seleccionarse y establecerse a partir de una imagen que sera codificada (decodificada), o pueden seleccionarse de una imagen codificada y establecerse.
La FIG. 6A ilustra un ejemplo en el cual los bloques codificados en una imagen que sera codificada 3 se establecen como los bloques candidatos primarios. En este caso, un gran numero de (10 en este ejemplo) bloques codificados B1 a B10 alrededor de un bloque que sera codificado 31 se establecen como los bloques candidatos primarios. Tambien es posible que un lado de decodificacion establezca bloques decodificados en las mismas posiciones que los bloques candidatos primarios utilizados en el lado de codificacion como los bloques candidatos primarios.
La FIG. 6B ilustra un ejemplo en el cual los bloques codificados en una imagen codificada 30 se establecen como los bloques candidatos primarios. Por ejemplo, si la posicion de un bloque B11 (un bloque de posicion correspondiente) en la imagen codificada 30 es la misma que la posicion del bloque que sera codificado 31 en la imagen que sera codificada 3, el bloque B11 y algunos bloques B12 a B19 alrededor del bloque B11 se establecen como los bloques candidatos primarios.
Con el fin de establecer vectores de movimiento de referencia candidatos primarios tan diversos como sea posible a partir del grupo de los bloques candidatos primarios, tambien resulta adecuado combinar un procedimiento para seleccionar los bloques candidatos primarios a partir de la imagen que sera codificada 3 tal como se ilustra en la FIG. 6A con un procedimiento para seleccionar los bloques candidatos primarios a partir de la imagen codificada 30 tal como se ilustra en la FIG. 6B. Por ejemplo, despues de seleccionarse N1 bloques codificados a partir de la imagen que sera codificada 3 y seleccionarse N2 bloques codificados a partir de la imagen codificada 30, se establecen los N (= N1+N2) bloques candidatos primarios totales.
Cabe destacar que en lugar de establecer bloques de una imagen codificada como los bloques candidatos primarios, pueden establecerse bloques de una pluralidad de imagenes codificadas como los bloques candidatos primarios.
[Proceso de la etapa S2]
La unidad de lectura de vector de movimiento de bloque candidato primario 183 determina si cada uno de los N bloques candidatos primarios es o no un bloque de una imagen codificada (o una imagen decodificada). Si los bloques candidatos primarios son bloques de la imagen codificada, la unidad de lectura de vector de movimiento de bloque candidato primario 183 realiza la siguiente etapa S3.
[Proceso de la etapa S3]
Si los bloques candidatos primarios son los bloques de la imagen codificada, en lugar de establecer los propios vectores de movimiento utilizados al codificarlos como los vectores de movimiento de referencia candidatos primarios, los vectores de movimiento son procesados para que correspondan a una imagen de referencia de la imagen que sera codificada.
Los vectores de movimiento, por ejemplo, son procesados de la siguiente manera. Cuando el tiempo de una imagen de un bloque que sera codificado se establece como Te, el tiempo de una imagen codificada que incluye un bloque candidato primario (el vector de movimiento utilizando en la codificacion es Vc) se establece como Tc, el tiempo de una imagen a la que hace referencia el bloque que sera codificado se establece como Tr, y el tiempo de una imagen a la que hace referencia el bloque candidato primario se establece como Tr2, un vector de movimiento de referencia candidato primario procesado V se calcula como en la siguiente ecuacion.
V = VcxfrI-Te)/(Tl2-Tc)
Los «tiempos» de las imagenes pueden ser cualquier tiempo que indique una relacion de tiempo entre las imagenes, como una informacion de tiempo de visualizacion de una imagen o un recuento de orden de imagen (POC) definido en la norma H.264.
La FIG. 7 ilustra un ejemplo de establecimiento de un vector de movimiento de referencia candidato primario para un bloque candidato primario de una imagen codificada. La imagen codificada puede ser cualquier imagen inter (una imagen codificada a traves de compensacion de movimiento). Por ejemplo, en el caso de una imagen B en la norma H.264, pueden utilizarse las imagenes P anterior y siguiente.
En el ejemplo de la FIG. 7, se supone que P2 indica la imagen que sera codificada 3 y P4 indica la imagen codificada 30 incluyendo los bloques candidatos primarios. Por otra parte, entre P1 a P4, se supone que P1 y P4 indican imagenes P y P2 y P3 indican imagenes B. La imagen que sera codificada 3 de P2 utiliza la imagen codificada 30 de P4 como imagen de referencia, y la imagen codificada 30 de P4 utiliza P1 como imagen de referencia.
5
10
15
20
25
30
35
40
45
50
55
60
65
Un vector de movimiento Vp4 (una flecha indicada por una linea de puntos en la FIG. 7) de un bloque candidato primario en la imagen codificada 30 de P4 es un vector para la imagen codificada de P1. Asi, a partir de una distancia temporal L1 entre P1 y P4, una distancia temporal L2 entre P2 y P4, y la direccion de referencia, un vector de movimiento de referencia candidato primario V (una flecha indicada por una linea continua en la FIG. 7) se calcula como en la siguiente ecuacion.
V = -Vp4 x L2 / LI
Es decir, si esta ecuacion se aplica a la ecuacion anterior "V = Vc x (Tr - Te) / (Tr2 - Tc)" para calcular el vector de movimiento de referencia candidato primario V, Vp4 = Vc, el tiempo de la imagen P2 es Te, el tiempo de la imagen P4 es Tc = Tr, y el tiempo de la imagen P1 es Tr2. Procesando el vector de movimiento Vp4 del bloque candidato primario utilizando esta ecuacion, el resultado puede utilizarse como el vector de movimiento de referencia candidato primario V.
[Proceso de la etapa S4]
La unidad de lectura de vector de movimiento de bloque candidato primario 183 (o 254) establece los vectores de movimiento obtenidos a partir de los N bloques candidatos primarios a traves de los procesos anteriores como los vectores de movimiento de referencia candidatos primarios, e informa a la unidad de calculo de grado de fiabilidad 184 (o 255) de los vectores de movimiento de referencia candidatos primarios.
[Proceso de la etapa S5]
La unidad de calculo de grado de fiabilidad 184 (o 255) calcula el grado de fiabilidad de cada uno de los N vectores de movimiento de referencia candidatos primarios establecidos utilizando la informacion codificada. Aqui, los grados de fiabilidad representan cuantitativamente la efectividad de los vectores de movimiento de referencia candidatos primarios en la prediccion de vector de movimiento del bloque que sera codificado (decodificado). Los grados de fiabilidad se calculan para los N vectores de movimiento de referencia candidatos primarios utilizando solo informacion ya decodificada cuando un lado de decodificacion comienza a decodificar un bloque que sera codificado.
La FIG. 8 es un diagrama de flujo que ilustra un ejemplo del proceso de calculo de grado de fiabilidad. Por otra parte, la FIG. 9 es un diagrama para explicar como obtener el grado de fiabilidad utilizando coincidencia de plantilla.
Como ejemplo de obtencion del grado de fiabilidad, se proporcionara una descripcion para un procedimiento que aplica coincidencia de plantilla. Se supone que un vector de movimiento predictivo del bloque que sera codificado 31 ha de obtenerse en la imagen que sera codificada 3 en la FIG. 9. Una plantilla 32 es un conjunto de pixeles codificados adyacentes al bloque 31 que sera codificado (en este ejemplo, un area en forma de L invertida configurada por el grupo de pixeles izquierdos y superiores del bloque 31 que sera codificado). Cabe destacar que la anchura (el espesor) del area en forma de L invertida corresponde a, por ejemplo, aproximadamente dos pixeles; sin embargo, puede corresponder a un pixel o tres pixeles o mas. Una imagen de referencia 4 es una imagen codificada o decodificada. Un bloque de posicion correspondiente 41 en la imagen de referencia 4 esta en la misma posicion que la del bloque que sera codificado 31, en la imagen que sera codificada 3.
En el proceso de calculo de grado de fiabilidad de la FIG. 8, en la etapa S51, se obtiene un area obtenida desplazando un area (un area en forma de L invertida adyacente al bloque de posicion correspondiente 41) en la imagen de referencia 4 espacialmente en la misma posicion que la plantilla 32 por un vector de movimiento de referencia candidato primario Vi, del cual se calculara el grado de fiabilidad, y esta se adquiere como un area que se hara coincidir 42.
Posteriormente, en la etapa S52, se calcula el grado de similitud entre la plantilla 32 del bloque que sera codificado 31 y el area que se hara coincidir 42 en la imagen de referencia 4, y este se establece como el grado de fiabilidad del vector de movimiento de referencia candidato primario Vi.
Un ejemplo de un indice de un grado de similitud es una suma de diferencias absolutas (SAD). Cuanto menor es la SAD, mas alta es la probabilidad de que el vector de movimiento de referencia candidato primario Vi este cerca del movimiento del bloque que sera codificado 31, y por lo tanto se considera un vector de movimiento de referencia con un alto grado de fiabilidad. El indice del grado de fiabilidad utilizado en la unidad de calculo de grado de fiabilidad 184 puede ser otro indice que indique el grado de similitud entre la plantilla 32 y el area que se hara coincidir 42. Ademas de la SAD mencionada anteriormente, puede utilizarse una suma de diferencias cuadradas (SSD), una suma de diferencias transformadas absolutas (SATD) y similares. Todas estas son medidas que indican que un valor mas pequeno de las mismas significa un grado mas alto de fiabilidad.
Puesto que la plantilla 32 tiene una elevada correlacion con una senal de imagen del bloque que sera codificado 31, si se utiliza un grado de similitud basado en la misma, es posible identificar un bloque de referencia candidato secundario efectivo para la prediccion del vector de movimiento.
5
10
15
20
25
30
35
40
45
50
55
60
65
Por otra parte, como otro procedimiento para calcular el grado de fiabilidad, es posible utilizar un procedimiento que utiliza el grado de pequenez de una senal de residuo de prediccion decodificada en la compensacion de movimiento de un bloque candidato primario. Cuando la senal de residuo de prediccion decodificada es grande, es altamente probable que el bloque candidato primario este colocado en el limite con un objeto y de este modo es un vector de movimiento inefectivo para la prediccion de vector de movimiento. Por lo tanto, el grado de fiabilidad se supone que es mas alto cuando la senal de residuo de prediccion decodificada es mas pequena. Como indice del grado de pequenez de la senal de residuo de prediccion decodificada, es posible utilizar una suma de valores absolutos, una suma de cuadrados, y similares de las senales de residuo de prediccion decodificadas.
[Proceso de la etapa S6]
A continuacion, la unidad de determinacion de vector de movimiento de referencia 185 (o 256) reduce los N vectores de movimiento de referencia candidatos primarios a M (1<M<N) vectores de movimiento de referencia candidatos secundarios basandose en la informacion de grado de fiabilidad de cada vector de movimiento de referencia candidato primario.
La FIG. 10A es un diagrama de flujo de un proceso de determinacion de vector de movimiento de referencia. En la etapa S61, la unidad de determinacion de vector de movimiento de referencia 185 ordena los grados de fiabilidad de los vectores de movimiento de referencia candidatos primarios, que han sido calculados por la unidad de calculo de grado de fiabilidad 184, en orden descendente, y establece los M vectores de movimiento de referencia candidatos primarios superiores con los grados de fiabilidad mas altos como vectores de movimiento de referencia candidatos secundarios.
La FIG. 10B es un diagrama de flujo de otro proceso de determinacion de vector de movimiento de referencia, e ilustra un ejemplo de un proceso de determinacion de vector de movimiento de referencia cuando se considera un caso en el que el numero de vectores de movimiento de referencia candidatos primarios no llega a M.
Por ejemplo, puede darse un caso en el cual el numero de vectores de movimiento de referencia candidatos primarios no llega al numero M predeterminado, como cuando un gran numero de bloques intra estan incluidos en los vectores de movimiento de referencia candidatos primarios. En este caso, los vectores de movimiento de referencia candidatos secundarios se determinan como vectores de movimiento de referencia de la siguiente manera.
En primer lugar, en la etapa S62, se determina si el numero N de los vectores de movimiento de referencia candidatos primarios es mayor que M o no. Si N es mayor que M, el proceso pasa a la etapa S63, y los M vectores de movimiento de referencia candidatos primarios superiores con los grados mas altos de fiabilidad se establecen como vectores de movimiento de referencia candidatos secundarios de manera similar a la etapa S61 descrita anteriormente. Si el numero N de los vectores de movimiento de referencia candidatos primarios disponibles realmente no es mayor que M, el proceso pasa a la etapa S64, y N vectores de movimiento de referencia candidatos primarios se establecen como vectores de movimiento de referencia candidatos secundarios.
[Proceso de la etapa S7]
La unidad de prediccion de vector de movimiento 186 (o 257) crea un vector de movimiento predictivo del bloque que sera codificado utilizando los vectores de movimiento de referencia candidatos secundarios seleccionados por la unidad de determinacion de vector de movimiento de referencia 185. Un punto clave de la presente invencion es que un gran numero de vectores de movimiento de referencia candidatos primarios se reduce de acuerdo con los grados de fiabilidad, obteniendo asi un vector de movimiento predictivo para calcular un residuo de prediccion de vector de movimiento utilizando vectores de movimiento de referencia candidatos secundarios con altos grados de fiabilidad. De este modo, el proceso de obtencion del vector de movimiento predictivo a partir de los vectores de movimiento de referencia candidatos secundarios puede ser el mismo que el proceso de la unidad de prediccion de vector de movimiento 103 (o 204) de la tecnica convencional descrita con referencia a la FIG. 11 o la FIG. 12. Sin embargo, el proceso no es necesariamente el mismo que el de la tecnica convencional, y el vector de movimiento predictivo puede obtenerse utilizando otro proceso, incorporando asi la presente invencion.
Hasta ahora, se ha descrito el ejemplo en el cual se establecen N vectores de movimiento de referencia candidatos primarios a partir de N bloques candidatos primarios. Sin embargo, tambien es posible establecer los vectores de movimiento de referencia candidatos primarios de la siguiente manera. Cuando se emplean como candidatos vectores de movimiento de bloques codificados, los vectores de movimiento de un intervalo predeterminado con respecto a estos vectores de movimiento tambien se establecen como vectores de movimiento de referencia candidatos primarios. Por ejemplo, cuando un vector de movimiento de un bloque codificado se establece como (10, 20) y un intervalo predeterminado se establece como un intervalo de ±1 en las direcciones X e Y, ademas del vector de movimiento (10, 20), se emplean como candidatos los vectores de movimiento (9, 20), (11,20), (10, 19), (10, 21), (9, 19), (9, 21), (11, 19), y (11,21). Es decir, los 9 vectores de movimiento de referencia candidatos primarios totales se emplean como candidatos con respecto a un vector de movimiento de un bloque codificado. Si el numero de
5
10
15
20
25
30
vectores de movimiento de un bloque codificado que se emplean inicialmente como candidatos se establece en K y se emplean como candidatos vectores de movimiento alrededor de todos los K vectores de movimiento, se utilizan (9xK) vectores de movimiento de referencia candidatos primarios. Sin embargo, en lugar de emplear como candidatos todos los vectores de movimiento alrededor de los vectores de movimiento de bloques codificados, puede emplearse parte de los vectores de movimiento siempre que esten compartidos con un lado de decodificacion.
Como efecto ventajoso de tal establecimiento, tambien se consideran los vectores de movimiento alrededor de los vectores de movimiento de bloques codificados, con el resultado de la mejora adicional de la eficiencia de prediccion de vector de movimiento.
El proceso de codificacion de prediccion de vector de movimiento descrito anteriormente y el proceso de decodificacion de prediccion de vector de movimiento tambien pueden lograrse mediante un ordenador y un programa de software. Por otra parte, el programa puede grabarse en un medio de grabacion legible por ordenador, y puede proporcionarse a traves de una red.
Aunque las realizaciones de la presente invencion se han descrito con referencia a los dibujos, las configuraciones detalladas no se limitan a estas realizaciones, y la presente invencion engloba el diseno o similar (anadido, omision, y sustitucion, y otras modificaciones de la configuracion) en un intervalo que no se aparta de lo esencial de la presente invencion. No ha de considerarse que la presente invencion esta limitada por la descripcion precedente, y solo esta limitada por el alcance de las reivindicaciones adjuntas.
Aplioaoion industrial
La presente invencion, por ejemplo, es aplicable a la codificacion de imagenes en movimiento en la que se realiza codificacion predictiva sobre un vector de movimiento. De acuerdo con la presente invencion, se mejora la eficiencia de prediccion de vector de movimiento y tambien se mejora la eficiencia de codificacion de imagenes en movimiento.
Descripcion de los numeros de referenda
1
2
10
11
12
13

14, 21
15, 22 16

17, 24
18, 25 181

182, 253

183, 254

184, 255

185, 256
186, 257 187
20
23
251
252
aparato de codificacion de imagenes en movimiento
aparato de decodificacion de imagenes en movimiento
unidad de calculo de senal de residuo de prediccion
unidad de transformacion ortogonal
unidad de cuantificacion
unidad de codificacion de fuente de informacion
unidad de cuantificacion inversa
unidad de transformacion ortogonal inversa
unidad de calculo de senal decodificada
memoria de trama
unidad de compensacion de movimiento unidad de busqueda de movimiento memoria de vector de movimiento
unidad de lectura de vector de movimiento de bloque candidato primario
unidad de calculo de grado de fiabilidad
unidad de determinacion de vector de movimiento de referencia
unidad de prediccion de vector de movimiento
unidad de calculo de residuo de prediccion de vector de movimiento
unidad de decodificacion de fuente de informacion
unidad de calculo de senal decodificada
unidad de calculo de vector de movimiento
unidad de creacion de senal predictiva

Claims (12)

  1. 5
    10
    15
    20
    25
    30
    35
    40
    45
    50
    55
    60
    65
    reivindicaciones
    1. Un procedimiento de codificacion predictiva de vector de movimiento en un esquema de codificacion de imageries en movimiento en el que una imagen que sera codificada es dividida en bloques y la codificacion se realiza utilizando compensacion de movimiento para cada bloque, comprendiendo el procedimiento:
    una etapa de realizacion de una busqueda de movimiento para un bloque que sera codificado en la imagen que sera codificada utilizando una imagen de referencia codificada para calcular un vector de movimiento;
    una etapa (S1-S4) de establecimiento de una pluralidad de bloques que incluyen al menos uno de bloques codificados en la imagen que sera codificada y bloques codificados en una imagen codificada y en posiciones predeterminadas en relacion con la posicion de un bloque que sera codificado en la imagen que sera codificada como bloques candidatos primarios, y la determinacion de N (N es un numero entero superior o igual a 2) vectores de movimiento de referencia candidatos primarios a partir de los vectores de movimiento utilizados en la codificacion de los bloques candidatos primarios;
    una etapa (S5) de calculo de grados de fiabilidad de los vectores de movimiento de referencia candidatos primarios que representan cuantitativamente la efectividad en la prediccion del vector de movimiento del bloque que sera codificado, utilizando informacion de imagen codificada para cada uno de los vectores de movimiento de referencia candidatos primarios;
    una etapa de seleccion de M (M es un numero entero predeterminado superior o igual a 1 e inferior a N) vectores de movimiento de referencia candidatos primarios que tienen M grados de fiabilidad superiores cuando los grados de fiabilidad de los N vectores de movimiento de referencia candidatos primarios estan ordenados en orden descendente de entre los N vectores de movimiento de referencia candidatos primarios como vectores de movimiento de referencia candidatos secundarios;
    en el que el procedimiento de codificacion predictiva de vector de movimiento esta caracterizado porque comprende una etapa (S7) de calculo de un vector de movimiento predictivo del bloque que sera codificado utilizando los vectores de movimiento de referencia candidatos secundarios, y de codificacion de un residuo entre el vector de
    movimiento obtenido a traves de la busqueda de movimiento del bloque que sera codificado y el vector de
    movimiento predictivo como informacion codificada del vector de movimiento, y en la etapa de calculo del vector de movimiento predictivo, un vector de movimiento de referencia candidato secundario que tiene un valor mas cercano al vector de movimiento obtenido por la busqueda de movimiento entre los vectores de movimiento de referencia candidatos secundarios se establece como el vector de movimiento predictivo, y un identificador del vector de
    movimiento de referencia candidato secundario establecido se establece como sujeto que sera codificado.
  2. 2. El procedimiento de codificacion predictiva de vector de movimiento segun la reivindicacion 1, en el que, en la etapa de calculo de los grados de fiabilidad de los vectores de movimiento de referencia candidatos primarios, un conjunto de pixeles codificados adyacentes al bloque que sera codificado se utiliza como plantilla, un area obtenida desplazando un area de la plantilla por un vector de movimiento de referencia candidato primario en la imagen de referencia se establece como un area que se hara coincidir, y un grado de similitud entre el conjunto de los pixeles codificados de la plantilla y un conjunto de pixeles en el area que se hara coincidir se calcula como un grado de fiabilidad.
  3. 3. El procedimiento de codificacion predictiva de vector de movimiento segun la reivindicacion 1, en el que, en la etapa de calculo de los grados de fiabilidad de los vectores de movimiento de referencia candidatos primarios, los grados de fiabilidad se calculan de modo que cuanto menor es una senal de residuo de prediccion decodificada en la compensacion de movimiento de los bloques candidatos primarios relacionados con los vectores de movimiento de referencia candidatos primarios, mas alto es el grado de fiabilidad.
  4. 4. El procedimiento de codificacion predictiva de vector de movimiento segun una cualquiera de las reivindicaciones 1 a 3, en el que, en la etapa de determinacion de los vectores de movimiento de referencia candidatos primarios, los vectores de movimiento de referencia candidatos primarios se determinan a partir de los vectores de movimiento utilizados en la codificacion de los bloques candidatos primarios y los vectores de movimiento que designan areas en un intervalo predeterminado con respecto a un area designada por cada uno de los vectores de movimiento utilizados en la codificacion de los bloques candidatos primarios.
  5. 5. Un procedimiento de decodificacion predictiva de vector de movimiento en un esquema de decodificacion de imagenes en movimiento en el que una imagen que sera decodificada de una imagen en movimiento que es dividida en bloques y codificada es decodificada, utilizando compensacion de movimiento para cada bloque, comprendiendo el procedimiento:
    una etapa de decodificacion de un residuo de prediccion de vector de movimiento de un bloque que sera decodificado;
    5
    10
    15
    20
    25
    30
    35
    40
    45
    50
    55
    60
    65
    una etapa (S1-S4) de establecimiento de una pluralidad de bloques que incluyen al menos uno de bloques decodificados en la imagen que sera decodificada y bloques decodificados en una imagen decodificada y en posiciones predeterminadas en relacion con la posicion del bloque que sera decodificado en la imagen que sera decodificada como bloques candidatos primarios, y la determinacion de N (N es un numero entero superior o igual a 2) vectores de movimiento de referencia candidatos primarios a partir de los vectores de movimiento utilizados en la decodificacion de los bloques candidatos primarios;
    una etapa (S5) de calculo de grados de fiabilidad de los vectores de movimiento de referencia candidatos primarios que representan cuantitativamente la efectividad en la prediccion del vector de movimiento del bloque que sera decodificado, utilizando informacion de imagen decodificada para cada uno de los vectores de movimiento de referencia candidatos primarios;
    una etapa (S6) de seleccion de M (M es un numero entero predeterminado superior o igual a 1 e inferior a N) vectores de movimiento de referencia candidatos primarios que tienen M grados de fiabilidad superiores cuando los grados de fiabilidad de los N vectores de movimiento de referencia candidatos primarios estan ordenados en orden descendente de entre los N vectores de movimiento de referencia candidatos primarios como vectores de movimiento de referencia candidatos secundarios;
    en el que el procedimiento de decodificacion predictiva de vector de movimiento esta caracterizado porque comprende una etapa (S7) de calculo de un vector de movimiento predictivo del bloque que sera decodificado utilizando los vectores de movimiento de referencia candidatos secundarios, y de anadir el vector de movimiento predictivo al residuo de prediccion de vector de movimiento decodificado para calcular un vector de movimiento del bloque que sera decodificado, y
    en la etapa de calculo del vector de movimiento predictivo, un vector de movimiento de referencia candidato secundario que corresponde a un identificador designado por un extremo de codificacion de entre los vectores de movimiento de referencia candidatos secundarios se establece como el vector de movimiento predictivo del bloque que sera decodificado.
  6. 6. El procedimiento de decodificacion predictiva de vector de movimiento segun la reivindicacion 5, en el que, en la etapa de calculo de los grados de fiabilidad de los vectores de movimiento de referencia candidatos primarios, un conjunto de pixeles decodificados adyacentes al bloque que sera decodificado se utiliza como plantilla, un area obtenida desplazando un area de la plantilla por un vector de movimiento de referencia candidato primario en una imagen de referencia decodificada se establece como un area que se hara coincidir, y un grado de similitud entre el conjunto de los pixeles decodificados de la plantilla y un conjunto de pixeles en el area que se hara coincidir se calcula como un grado de fiabilidad.
  7. 7. El procedimiento de decodificacion predictiva de vector de movimiento segun la reivindicacion 5, en el que, en la etapa de calculo de los grados de fiabilidad de los vectores de movimiento de referencia candidatos primarios, los grados de fiabilidad se calculan de modo que cuanto menor es una senal de residuo de prediccion decodificada en la compensacion de movimiento de los bloques candidatos primarios relacionados con los vectores de movimiento de referencia candidatos primarios, mas alto es un grado de fiabilidad.
  8. 8. El procedimiento de decodificacion predictiva de vector de movimiento segun una cualquiera de las reivindicaciones 5 a 7, en el que, en la etapa de determinacion de los vectores de movimiento de referencia candidatos primarios, los vectores de movimiento de referencia candidatos primarios se determinan a partir de los vectores de movimiento utilizados en la decodificacion de los bloques candidatos primarios y los vectores de movimiento que designan areas en un intervalo predeterminado con respecto a un area designada por cada uno de los vectores de movimiento utilizados en la decodificacion de los bloques candidatos primarios.
  9. 9. Un aparato de codificacion de imagenes en movimiento que divide en bloques una imagen que sera codificada y codifica una imagen en movimiento utilizando compensacion de movimiento para cada bloque, comprendiendo el aparato:
    una unidad de busqueda de movimiento (181) que realiza una busqueda de movimiento para un bloque que sera codificado en la imagen que sera codificada utilizando una imagen de referencia codificada para calcular un vector de movimiento;
    una unidad de determinacion de vector de movimiento de referencia candidato primario (183) que establece una pluralidad de bloques que incluyen al menos uno de bloques codificados en la imagen que sera codificada y bloques codificados en una imagen codificada y en posiciones predeterminadas en relacion con la posicion de un bloque que sera codificado en la imagen que sera codificada como bloques candidatos primarios, y determina N (N es un numero entero superior o igual a 2) vectores de movimiento de referencia candidatos primarios a partir de los vectores de movimiento utilizados en la codificacion de los bloques candidatos primarios;
    una unidad de calculo de grado de fiabilidad (184) que calcula grados de fiabilidad de los vectores de movimiento de
    5
    10
    15
    20
    25
    30
    35
    40
    45
    50
    55
    60
    referenda candidatos primarios que representan cuantitativamente la efectividad en la prediccion del vector de movimiento del bloque que sera codificado, utilizando informacion de imagen codificada para cada uno de los vectores de movimiento de referencia candidatos primarios;
    una unidad de determinacion de vector de movimiento de referencia (185) que selecciona M (M es un numero entero predeterminado superior o igual a 1 e inferior a N) vectores de movimiento de referencia candidatos primarios que tienen M grados de fiabilidad superiores cuando los grados de fiabilidad de los N vectores de movimiento de referencia candidatos primarios estan ordenados en orden descendente de entre los N vectores de movimiento de referencia candidatos primarios como vectores de movimiento de referencia candidatos secundarios;
    en el que el aparato de codificacion de imagenes en movimiento esta caracterizado porque comprende una unidad de codificacion de vector de movimiento (186, 187, 13) que calcula un vector de movimiento predictivo del bloque que sera codificado utilizando los vectores de movimiento de referencia candidatos secundarios, y codifica un residuo entre el vector de movimiento obtenido a traves de la busqueda de movimiento del bloque que sera codificado y el vector de movimiento predictivo como informacion codificada del vector de movimiento, y la unidad de codificacion de vector de movimiento establece un vector de movimiento de referencia candidato secundario que tiene un valor mas cercano al vector de movimiento obtenido por la busqueda de movimiento de entre los vectores de movimiento de referencia candidatos secundarios como el vector de movimiento predictivo, y establece un identificador del vector de movimiento de referencia candidato secundario establecido como un sujeto que sera codificado.
  10. 10. Un aparato de decodificacion de imagenes en movimiento que decodifica una imagen que sera decodificada de una imagen en movimiento que es dividida en bloques y codificada, utilizando compensacion de movimiento para cada bloque, comprendiendo el aparato:
    una unidad de decodificacion de fuente de informacion (20) que decodifica un residuo de prediccion de vector de movimiento de un bloque que sera decodificado;
    una unidad de determinacion de vector de movimiento de referencia candidato primario (254) que establece una pluralidad de bloques que incluyen al menos uno de bloques decodificados en la imagen que sera decodificada y bloques decodificados en una imagen decodificada y en posiciones predeterminadas en relacion con la posicion de un bloque que sera decodificado en la imagen que sera decodificada como bloques candidatos primarios, y determina N (N es un numero entero superior o igual a 2) vectores de movimiento de referencia candidatos primarios a partir de los vectores de movimiento utilizados en la decodificacion de los bloques candidatos primarios;
    una unidad de calculo de grado de fiabilidad (255) que calcula grados de fiabilidad de los vectores de movimiento de referencia candidatos primarios que representan cuantitativamente la efectividad en la prediccion del vector de movimiento del bloque que sera codificado, utilizando informacion de imagen decodificada para cada uno de los vectores de movimiento de referencia candidatos primarios;
    una unidad de determinacion de vector de movimiento de referencia (256) que selecciona M (M es un numero entero predeterminado superior o igual a 1 e inferior a N) vectores de movimiento de referencia candidatos primarios que tienen M grados de fiabilidad superiores cuando los grados de fiabilidad de los N vectores de movimiento de referencia candidatos primarios estan ordenados en orden descendente de entre los N vectores de movimiento de referencia candidatos primarios como vectores de movimiento de referencia candidatos secundarios;
    en el que el aparato de decodificacion de imagenes en movimiento esta caracterizado porque comprende una unidad de calculo de vector de movimiento (257, 251) que calcula un vector de movimiento predictivo del bloque que sera decodificado utilizando loa vectores de movimiento de referencia candidatos secundarios, y anade el vector de movimiento predictivo al residuo de prediccion de vector de movimiento decodificado para calcular un vector de movimiento del bloque que sera decodificado, y la unidad de calculo de vector de movimiento establece un vector de movimiento de referencia candidato secundario que corresponde a un identificador designado por un extremo de codificacion de entre los vectores de movimiento de referencia candidatos secundarios como el vector de movimiento predictivo del bloque que sera decodificado.
  11. 11. Un programa de codificacion de prediccion de vector de movimiento para permitir que un ordenador ejecute el procedimiento de codificacion predictiva de vector de movimiento segun una cualquiera de las reivindicaciones 1 a 4.
  12. 12. Un programa de decodificacion de prediccion de vector de movimiento para permitir que un ordenador ejecute el procedimiento de decodificacion predictiva de vector de movimiento segun una cualquiera de las reivindicaciones 5 a 8.
ES11742212.1T 2010-02-09 2011-02-08 Procedimiento de codificación predictiva para vector de movimiento, procedimiento de decodificación predictiva para vector de movimiento, dispositivo de codificación de imagen, dispositivo de decodificación de imagen, y programas para ello Active ES2652337T3 (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2010026130 2010-02-09
JP2010026130 2010-02-09
PCT/JP2011/052603 WO2011099468A1 (ja) 2010-02-09 2011-02-08 動きベクトル予測符号化方法,動きベクトル予測復号方法,動画像符号化装置,動画像復号装置およびそれらのプログラム

Publications (1)

Publication Number Publication Date
ES2652337T3 true ES2652337T3 (es) 2018-02-01

Family

ID=44367741

Family Applications (1)

Application Number Title Priority Date Filing Date
ES11742212.1T Active ES2652337T3 (es) 2010-02-09 2011-02-08 Procedimiento de codificación predictiva para vector de movimiento, procedimiento de decodificación predictiva para vector de movimiento, dispositivo de codificación de imagen, dispositivo de decodificación de imagen, y programas para ello

Country Status (11)

Country Link
US (1) US9497481B2 (es)
EP (1) EP2536150B1 (es)
JP (1) JP5367098B2 (es)
KR (2) KR20120112724A (es)
CN (1) CN102823249B (es)
BR (1) BR112012019676A2 (es)
CA (1) CA2788954A1 (es)
ES (1) ES2652337T3 (es)
RU (1) RU2519526C2 (es)
TW (1) TWI450592B (es)
WO (1) WO2011099468A1 (es)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8605786B2 (en) * 2007-09-04 2013-12-10 The Regents Of The University Of California Hierarchical motion vector processing method, software and devices
WO2011099428A1 (ja) * 2010-02-09 2011-08-18 日本電信電話株式会社 動きベクトル予測符号化方法、動きベクトル予測復号方法、動画像符号化装置、動画像復号装置およびそれらのプログラム
KR20140089596A (ko) * 2010-02-09 2014-07-15 니폰덴신뎅와 가부시키가이샤 움직임 벡터 예측 부호화 방법, 움직임 벡터 예측 복호 방법, 동화상 부호화 장치, 동화상 복호 장치 및 그들의 프로그램
RU2520377C2 (ru) * 2010-02-09 2014-06-27 Ниппон Телеграф Энд Телефон Корпорейшн Способ кодирования с предсказанием вектора движения, способ декодирования с предсказанием вектора движения, устройство кодирования фильма, устройство декодирования фильма и их программы
WO2012090397A1 (ja) * 2010-12-28 2012-07-05 株式会社Jvcケンウッド 動画像符号化装置、動画像符号化方法及び動画像符号化プログラム、並びに動画像復号装置、動画像復号方法及び動画像復号プログラム
US9083983B2 (en) * 2011-10-04 2015-07-14 Qualcomm Incorporated Motion vector predictor candidate clipping removal for video coding
CN103445152A (zh) * 2013-01-05 2013-12-18 胡素芳 一种萝卜汁加工方法
CN103248899B (zh) * 2013-05-21 2016-02-24 清华大学 多视点视频skip模式的运动矢量预测方法
JP6577852B2 (ja) * 2015-12-03 2019-09-18 キヤノン株式会社 動きベクトル検出装置およびその制御方法
US10834419B2 (en) * 2016-04-13 2020-11-10 Qualcomm Incorporated Conformance constraint for collocated reference index in video coding
US11166013B2 (en) 2017-10-09 2021-11-02 Nokia Technologies Oy Apparatus, a method and a computer program for video coding and decoding
JP7248013B2 (ja) * 2018-03-30 2023-03-29 株式会社ソシオネクスト 復号方法、復号装置、符号化装置及びプログラム
CN117135346A (zh) * 2018-04-02 2023-11-28 深圳市大疆创新科技有限公司 用于图像处理的方法和图像处理装置
WO2019234672A1 (en) 2018-06-07 2019-12-12 Beijing Bytedance Network Technology Co., Ltd. Partial cost calculation
TWI719519B (zh) 2018-07-02 2021-02-21 大陸商北京字節跳動網絡技術有限公司 對於dmvr的塊尺寸限制

Family Cites Families (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3263807B2 (ja) 1996-09-09 2002-03-11 ソニー株式会社 画像符号化装置および画像符号化方法
FR2756399B1 (fr) 1996-11-28 1999-06-25 Thomson Multimedia Sa Procede et dispositif de compression video pour images de synthese
AU1941797A (en) 1997-03-17 1998-10-12 Mitsubishi Denki Kabushiki Kaisha Image encoder, image decoder, image encoding method, image decoding method and image encoding/decoding system
US6011870A (en) * 1997-07-18 2000-01-04 Jeng; Fure-Ching Multiple stage and low-complexity motion estimation for interframe video coding
JP4573366B2 (ja) 1997-09-25 2010-11-04 株式会社大宇エレクトロニクス 動きベクトル符号化方法及び符号化装置
JP3540142B2 (ja) 1998-01-30 2004-07-07 株式会社東芝 動きベクトル検出回路および動きベクトル検出方法
US6058143A (en) 1998-02-20 2000-05-02 Thomson Licensing S.A. Motion vector extrapolation for transcoding video sequences
EP2271111B1 (en) 2001-11-06 2016-08-10 Panasonic Intellectual Property Corporation of America Moving picture coding method and moving picture decoding method
JP2003224854A (ja) 2002-01-29 2003-08-08 Hitachi Ltd 動きベクトル検出装置及び画像処理装置並びにコンピュータ・ソフトウエア
RU2314656C2 (ru) 2002-06-11 2008-01-10 Нокиа Корпорейшн Внутреннее кодирование, основанное на пространственном прогнозировании
JP2004023458A (ja) 2002-06-17 2004-01-22 Toshiba Corp 動画像符号化/復号化方法及び装置
JP4724351B2 (ja) * 2002-07-15 2011-07-13 三菱電機株式会社 画像符号化装置、画像符号化方法、画像復号装置、画像復号方法、および通信装置
KR100865034B1 (ko) 2002-07-18 2008-10-23 엘지전자 주식회사 모션 벡터 예측 방법
RU2338332C2 (ru) 2002-11-21 2008-11-10 Эл Джи Электроникс Инк. Способ предсказания блока изображения с использованием усовершенствованного режима прямого предсказания
JP4003128B2 (ja) * 2002-12-24 2007-11-07 ソニー株式会社 画像データ処理装置および方法、記録媒体、並びにプログラム
US7336707B2 (en) 2003-06-06 2008-02-26 Samsung Electronics Co., Ltd. Method and apparatus for detecting improper area for motion compensation in video signal
KR20050078706A (ko) 2004-01-31 2005-08-08 삼성전자주식회사 메모리 액세스 방법 및 메모리 액세스 장치
US9088802B2 (en) 2005-01-07 2015-07-21 Nippon Telegraph And Telephone Corporation Video encoding method and apparatus, video decoding method and apparatus, programs therefor, and storage media for storing the programs
US20060153300A1 (en) * 2005-01-12 2006-07-13 Nokia Corporation Method and system for motion vector prediction in scalable video coding
MX2007012604A (es) 2005-04-13 2008-01-11 Nokia Corp Metodo, dispositivo y sistema para codificar y decodificar efectivamente datos de video.
KR101276720B1 (ko) 2005-09-29 2013-06-19 삼성전자주식회사 카메라 파라미터를 이용하여 시차 벡터를 예측하는 방법,그 방법을 이용하여 다시점 영상을 부호화 및 복호화하는장치 및 이를 수행하기 위한 프로그램이 기록된 기록 매체
JP2008109632A (ja) * 2006-09-28 2008-05-08 Toshiba Corp 動きベクトル検出装置及びその方法
JP2008171247A (ja) * 2007-01-12 2008-07-24 Sony Corp 動き検出装置、方法、及びプログラム
BRPI0808567A2 (pt) 2007-03-14 2014-09-02 Nippon Telegraph & Telephone Método e aparelho de pesquisa de vetor de movimento, programa para o mesmo, e meio de armazenamento, que armazena o programa
CN101702963A (zh) 2007-03-15 2010-05-05 诺基亚公司 用于为视频编码中的空间可伸缩性提供改进的残差预测的系统和方法
BRPI0810360A2 (pt) 2007-04-17 2019-05-14 Nokia Technologies Oy solução aquosa estável de aldeído e método de produção do mesmo
JP2008283490A (ja) * 2007-05-10 2008-11-20 Ntt Docomo Inc 動画像符号化装置、方法及びプログラム、並びに動画像復号化装置、方法及びプログラム
TW200905030A (en) 2007-07-31 2009-02-01 Chinese Professional Fabric Industry Co Ltd A manufacturing method of optical-excitation fabric
TW200910971A (en) 2007-08-22 2009-03-01 Univ Nat Cheng Kung Direction detection algorithms for H.264 intra prediction
KR101228020B1 (ko) * 2007-12-05 2013-01-30 삼성전자주식회사 사이드 매칭을 이용한 영상의 부호화 방법 및 장치, 그복호화 방법 및 장치
US8953685B2 (en) * 2007-12-10 2015-02-10 Qualcomm Incorporated Resource-adaptive video interpolation or extrapolation with motion level analysis
US8165210B2 (en) 2007-12-17 2012-04-24 Vixs Systems, Inc. Video codec with shared interpolation filter and method for use therewith
JP4513034B2 (ja) * 2008-02-20 2010-07-28 ソニー株式会社 画像信号処理装置、画像信号処理方法、およびプログラム
KR20090094595A (ko) 2008-03-03 2009-09-08 삼성전자주식회사 복수 참조에 의한 움직임 예측을 이용한 부호화 방법 및장치, 그리고 복수 참조에 의한 움직임 예측을 이용한복호화 방법 및 장치
CN101965733B (zh) 2008-03-09 2013-08-07 Lg电子株式会社 用于编码或解码视频信号的方法和设备
WO2009115901A2 (en) 2008-03-19 2009-09-24 Nokia Corporation Combined motion vector and reference index prediction for video coding
KR101364195B1 (ko) 2008-06-26 2014-02-21 에스케이텔레콤 주식회사 움직임벡터 부호화/복호화 방법 및 그 장치
JP2010016454A (ja) 2008-07-01 2010-01-21 Sony Corp 画像符号化装置および方法、画像復号装置および方法、並びにプログラム
JP2010026130A (ja) 2008-07-17 2010-02-04 Ricoh Co Ltd 画像形成装置、画像形成方法およびプリント媒体
JP2012504925A (ja) * 2008-10-06 2012-02-23 エルジー エレクトロニクス インコーポレイティド ビデオ信号の処理方法及び装置
WO2011099428A1 (ja) * 2010-02-09 2011-08-18 日本電信電話株式会社 動きベクトル予測符号化方法、動きベクトル予測復号方法、動画像符号化装置、動画像復号装置およびそれらのプログラム
RU2520377C2 (ru) * 2010-02-09 2014-06-27 Ниппон Телеграф Энд Телефон Корпорейшн Способ кодирования с предсказанием вектора движения, способ декодирования с предсказанием вектора движения, устройство кодирования фильма, устройство декодирования фильма и их программы
KR20140089596A (ko) * 2010-02-09 2014-07-15 니폰덴신뎅와 가부시키가이샤 움직임 벡터 예측 부호화 방법, 움직임 벡터 예측 복호 방법, 동화상 부호화 장치, 동화상 복호 장치 및 그들의 프로그램

Also Published As

Publication number Publication date
US20120294371A1 (en) 2012-11-22
JPWO2011099468A1 (ja) 2013-06-13
RU2012133449A (ru) 2014-03-27
TWI450592B (zh) 2014-08-21
EP2536150A4 (en) 2014-06-04
CN102823249A (zh) 2012-12-12
CA2788954A1 (en) 2011-08-18
KR20140092904A (ko) 2014-07-24
KR101528361B1 (ko) 2015-06-12
TW201210349A (en) 2012-03-01
JP5367098B2 (ja) 2013-12-11
CN102823249B (zh) 2016-07-06
KR20120112724A (ko) 2012-10-11
US9497481B2 (en) 2016-11-15
BR112012019676A2 (pt) 2016-05-03
WO2011099468A1 (ja) 2011-08-18
RU2519526C2 (ru) 2014-06-10
EP2536150A1 (en) 2012-12-19
EP2536150B1 (en) 2017-09-13

Similar Documents

Publication Publication Date Title
ES2652337T3 (es) Procedimiento de codificación predictiva para vector de movimiento, procedimiento de decodificación predictiva para vector de movimiento, dispositivo de codificación de imagen, dispositivo de decodificación de imagen, y programas para ello
JP6689499B2 (ja) 画像予測方法および関連装置
JP5306486B2 (ja) 動きベクトル予測符号化方法,動きベクトル予測復号方法,動画像符号化装置,動画像復号装置およびそれらのプログラム
ES2901803T3 (es) Procedimiento de codificación predictiva para vector de movimiento, procedimiento de decodificación predictiva para vector de movimiento, dispositivo de codificación de imagen, dispositivo de decodificación de imagen, y programas para ello
ES2875926T3 (es) Procedimiento y dispositivo para codificar una secuencia de imágenes y procedimiento y dispositivo para descodificar una secuencia de imágenes
JP5277257B2 (ja) 動画像復号化方法および動画像符号化方法
ES2822248T3 (es) Método y aparato para predicción con compensación de movimiento
KR20120120280A (ko) 움직임 벡터 예측 부호화 방법, 움직임 벡터 예측 복호 방법, 동화상 부호화 장치, 동화상 복호 장치 및 그들의 프로그램
JP2022125265A (ja) 復号装置及びプログラム
JP6740534B2 (ja) 符号化装置、復号装置及びプログラム
US20140376628A1 (en) Multi-view image encoding device and method, and multi-view image decoding device and method