ES2629027T3 - Codificación de vectores de movimiento por competición de predictores - Google Patents

Codificación de vectores de movimiento por competición de predictores Download PDF

Info

Publication number
ES2629027T3
ES2629027T3 ES10734256.0T ES10734256T ES2629027T3 ES 2629027 T3 ES2629027 T3 ES 2629027T3 ES 10734256 T ES10734256 T ES 10734256T ES 2629027 T3 ES2629027 T3 ES 2629027T3
Authority
ES
Spain
Prior art keywords
vectors
candidate vectors
candidate
subset
vector
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
ES10734256.0T
Other languages
English (en)
Inventor
Stéphane PATEUX
Gordon Clare
Joël JUNG
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.)
Orange SA
Original Assignee
Orange SA
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=41698478&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=ES2629027(T3) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Orange SA filed Critical Orange SA
Application granted granted Critical
Publication of ES2629027T3 publication Critical patent/ES2629027T3/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
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability

Abstract

Procedimiento de codificación de una señal de imágenes que comprende información de movimiento, mediante la selección de un vector de movimiento de entre un conjunto de al menos tres vectores candidatos, para al menos un bloque corriente de una imagen corriente a codificar, que comprende una etapa de determinación (20) de un subconjunto de selección óptima, que contiene una parte de dichos vectores candidatos, une etapa de selección (21) de dicho vector de movimiento (p) de entre los vectores de dicho subconjunto de selección óptima y una etapa de inserción (22), en dicha señal, de una información de designación del vector de movimiento seleccionado de entre los vectores de dicho subconjunto de selección óptima, caracterizado por que dicha etapa de determinación comprende las siguientes subetapas: - comparación (201) de al menos dos primeros vectores candidatos, que suministran una información de proximidad entre dichos primeros vectores candidatos, que puede adoptar un primer valor que indica que dichos primeros vectores candidatos son idénticos o están próximos según un criterio predeterminado y un segundo valor que indica que dichos primeros vectores candidatos no son idénticos o no están próximos según dicho criterio predeterminado, la aplicación de dicho criterio predeterminado que pertenece al grupo que comprende la igualdad entre dichos primeros vectores candidatos y la comparación de la diferencia entre dichos primeros vectores candidatos con un primer umbral predeterminado, estando la posición en el espacio y/o en el tiempo de dichos primeros vectores candidatos previamente identificada, - si dicha información de proximidad adopta dicho primer valor, construcción (203) de dicho subconjunto de selección óptima con uno de dichos primeros vectores candidatos o un vector de amplitud correspondiente a una media de las amplitudes de dichos al menos dos primeros vectores candidatos y al menos un segundo vector candidato, distinto de dichos primeros vectores candidatos; - si dicha información de proximidad adopta dicho segundo valor, construcción (202) de dicho subconjunto de selección óptima con dichos primeros vectores candidatos.

Description

5
10
15
20
25
30
35
40
45
50
55
60
65
DESCRIPCION
Codificacion de vectores de movimiento por competicion de predictores
1. Campo de la invencion
El campo de la invencion es el de la codificacion y la decodificacion de imagenes, y en particular, de flujos de video constituidos por una serie de imagenes sucesivas. Mas concretamente, la invencion se aplica a la compresion de imagenes o de secuencias de imagenes, utilizando transformadas por bloque que aprovechan diferentes modos de codificacion.
La invencion puede de ese modo, aplicarse en particular, a la codificacion de videos, aplicada en los codificadores de video actuales (MPEG, H.264, etc.) o futuros (ITU-T/VCEG (H.265) o ISO/MPEG (HVC).
2. Antecedentes de la tecnica
Ya se conocen esquemas de codificacion de imagenes (JPEG, JPEG-XR) o de codificacion video hnbrida (MPEG, H264), asf como tecnicas de compresion de datos video. Entre ellas, numerosas tecnicas de codificacion video utilizan una presentacion por bloque de la secuencia de video, por ejemplo, las que aplican las normas de compresion video procedentes de la organizacion MPEG (MPEG-1, MPEG-2, MPEG-4 parte 2, ...) o de la UIT-T (H.261, ..., H.264/AVC).
De este modo, segun la tecnica H.264 y tal y como se ilustra en la figura 1a, cada imagen 1 puede recortarse en franjas (en ingles "slice"), estando ellas mismas recortadas en macrobloques 10, que a continuacion, se subdividen en bloques 11. Un bloque esta constituido por un conjunto de pfxeles.
La codificacion de un bloque, convencionalmente, se realiza con ayuda de una prediccion del bloque y de una codificacion de un residuo de prediccion a anadir a la prediccion. La prediccion se establece con ayuda de informacion ya reconstruida (bloques precedentes ya codificados/decodificados en la imagen corriente, imagenes previamente codificadas en el marco de una codificacion video, etc.).
En un esquema de codificacion dado, se pueden aplicar varios modos de codificacion diferentes para la codificacion de bloques. Un modo de codificacion por lo general comprende dos fases, una primera fase de prediccion de las muestras a codificar, seguida de una segunda fase de codificacion de residuos de prediccion. Tfpicamente, los bloques pueden codificarse mediante diferentes modos de codificacion, como los modos de codificacion "intra", "inter", "salto" (en ingles "skip"), etc.
Para estos diferentes modos de codificacion, la primera fase de prediccion de las muestras tfpicamente corresponde a:
- una prediccion temporal, es decir, con referencia a un bloque de referencia que pertenece a una o varias imagenes distintas; y/o
- una prediccion espacial, en funcion de los bloques vecinos al bloque a codificar de la imagen corriente.
En este ultimo caso, la prediccion solo puede efectuarse a partir de bloques que ya hayan sido precodificados anteriormente.
El modo de codificacion denominado "intra" solo utiliza informacion contenida en la propia imagen. En otras palabras, la prediccion de un bloque de una imagen codificada en modo intra recurre a los bloques vecinos, anteriormente codificados, de la misma imagen. Por ejemplo, un bloque corriente se codifica a traves de un valor de textura de los bloques vecinos ya codificados-decodificados.
El modo de codificacion denominado "inter" utiliza una prediccion con la ayuda de una compensacion de movimiento basandose en imagenes anteriormente codificadas. Mas concretamente, este tipo de codificacion consiste en considerar una (o varias) imagenes de referencia. Un desplazamiento o movimiento entre la imagen de referencia y la imagen corriente se establece mediante un bloque a codificar de la imagen corriente. El bloque que sirve de prediccion al bloque a codificar es el bloque de pfxeles de la imagen de referencia desplazada del vector de movimiento.
El modo de codificacion denominado "salto" es un modo particular del modo de codificacion "inter" y realiza una prediccion temporal para la que no se transmite ninguna informacion al decodificador. En otras palabras, es posible "saltarse" un bloque, si ya se ha determinado informacion de codificacion de base para ese bloque. En este modo de codificacion, la prediccion se realiza a partir de una compensacion en movimiento del bloque corriente con la ayuda de los vectores de movimiento de los bloques vecinos si existen en la imagen de referencia y no se codifica o decodifica ningun residuo de prediccion.
5
10
15
20
25
30
35
40
45
50
55
60
65
Para un modo de codificacion dado, se establecen entonces unos parametros de prediccion y luego se codifican. Por ejemplo, segun la tecnica H.264, se pueden codificar parametros de prediccion para cada bloque, como el modo de codificacion ("intra", "inter", "skip"), el tipo de division, la informacion relativa a la prediccion (orientacion, la imagen de referencia, ...), la informacion de movimiento (vector de movimiento), la informacion de textura (direccion de extrapolacion de los valores de textura), los coeficientes codificados, etc.
Segun la tecnica H.264, se codifican imagenes por prediccion espacial (prediccion "intra"), se codifican unas imagenes P y B por prediccion temporal con respecto a otras imagenes, P o B codificadas con ayuda de una compensacion en movimiento.
Durante la codificacion de estos parametros de prediccion (por ejemplo, el vector de movimiento del bloque), con el fin de reducir su coste de codificacion, se realiza una prediccion de su valor a partir de los valores de los mismos parametros de prediccion para los bloques vecinos ya codificados y que tienen el mismo modo de codificacion (por ejemplo, los vectores de movimiento de los bloques vecinos).
Por ejemplo, el vector de movimiento utilizado en un bloque codificado en modo "inter" se codifica con la ayuda de una codificacion predictiva tal como sigue:
- en una primera fase, se establece un vector de prediccion para el vector de movimiento del bloque considerado. Tfpicamente, tal vector, denominado predictor mediano, se define a partir de valores medianos de los componentes de los vectores de movimiento de bloques vecinos ya codificados;
- en una segunda fase, el error de prediccion, es decir, la diferencia entre el vector de movimiento del bloque corriente y el vector de prediccion previamente establecido, esta codificada.
J. Jung y G. Laroche en el documento "Competition-Based Scheme for Motion Vector Selection and Coding", ITU-T VCEG, AC06, julio del 2006, proponen una extension de esta tecnica de prediccion del vector de movimiento.
Esta tecnica consiste en poner en competicion varios predictores o vectores candidatos de prediccion (mas alla del predictor mediano utilizado por AVC), y en senalar, de entre el conjunto de vectores candidatos de prediccion, cual es el vector utilizado efectivamente.
No obstante, con esta tecnica de codificacion por competicion, la definicion del conjunto de predictores es delicada. En efecto, el hecho de aumentar el numero de estos candidatos (a traves de un conjunto mas grande) permite obtener una mejor prediccion, pero en detrimento de un coste de senalizacion del predictor a utilizar, mas elevado.
Existe por tanto una necesidad de una nueva tecnica que permita, en concreto, obtener mejores rendimientos de codificacion de un bloque dado, y que a la vez limite el coste de la senalizacion ofreciendo, por tanto, una mejor eficacia de compresion.
La patente WO2008/082158 propone la seleccion de un predictor del vector de movimiento para un bloque a codificar de entre un conjunto de vectores de movimiento asociados a los bloques en la vecindad de este bloque a codificar.
3. Descripcion de la invencion
La invencion propone una nueva solucion que no presenta el conjunto de estos inconvenientes de la tecnica anterior, en forma de procedimiento de codificacion de una senal de imagenes que comprende informacion de movimiento, mediante la seleccion de un vector de movimiento de entre un conjunto de al menos tres vectores candidatos, para al menos un bloque corriente de una imagen corriente a codificar, que comprende una etapa de determinacion de un subconjunto de seleccion optima, que contiene una parte de dichos vectores candidatos, una etapa de seleccion de dicho vector de movimiento de entre los vectores de dicho subconjunto de seleccion optima y una etapa de seleccion, en dicha senal, de una informacion de designacion del vector de movimiento seleccionado de entre los vectores de dicho subconjunto de seleccion optima.
Segun la invencion, la etapa de determinacion comprende las siguientes subetapas:
- comparacion de al menos dos primeros vectores candidatos, que suministran una informacion de proximidad entre dichos primeros vectores candidatos, que puede adoptar un primer valor que indica que dichos primeros vectores candidatos son identicos o estan proximos segun un criterio predeterminado y un segundo valor que indica que dichos primeros vectores candidatos no son identicos o no estan proximos segun dicho criterio predeterminado, la aplicacion de dicho criterio predeterminado que pertenece al grupo que comprende la igualdad entre dichos primeros vectores candidatos y la comparacion de la diferencia entre dichos primeros vectores candidatos con un primer umbral predeterminado, estando la posicion en el espacio y/o en el tiempo de dichos primeros vectores candidatos previamente identificada,
5
10
15
20
25
30
35
40
45
50
55
60
65
- si dicha informacion de proximidad adopta dicho primer valor, construccion de dicho subconjunto de seleccion optima con uno de dichos primeros vectores candidates o un vector de amplitud correspondiente a una media de las amplitudes de dichos al menos dos primeros vectores candidatos y al menos un segundo vector candidato, distinto de dichos primeros vectores candidatos;
- si dicha informacion de proximidad adopta dicho segundo valor, construccion de dicho subconjunto de seleccion optima con dichos primeros vectores candidatos.
De este modo, la invencion se basa en un planteamiento nuevo e inventivo de codificacion de senales de imagenes y mas particularmente de codificacion predictiva de vectores de movimiento por competicion, lo que permite obtener una mejor prediccion gracias a una mayor seleccion de vectores de movimiento, a la vez que ofrece una mayor eficacia de compresion, segun un metodo implementado en un emisor y reproducible por al menos un receptor.
De hecho, la invencion se basa en un conjunto de vectores de movimiento localmente adaptativo, es decir por bloque de imagen, que permite elegir el vector de movimiento de entre un conjunto de vectores de movimiento mejor adaptado, denotado subconjunto de seleccion optima, a la vez que limita el coste de la senalizacion del vector de movimiento a utilizar.
De este modo, el procedimiento de codificacion segun la invencion permite proponer, para un bloque de la imagen a codificar, un subconjunto de vectores de movimiento candidatos mejor adaptado, por ejemplo, cuando los primeros vectores de movimiento candidatos estan proximos o son iguales, segun el criterio predeterminado.
La prediccion se optimiza, efectuandose la eleccion del vector de movimiento de entre este subconjunto de seleccion optima, que contiene a priori mejores candidatos.
Segun una caractenstica particular de la invencion, dichos primeros vectores candidatos pertenecen a un subconjunto de vectores candidatos asociados a al menos uno de los bloques vecinos de dicho bloque corriente, de posicion previamente identificada en el espacio y/o en el tiempo.
De este modo, por ejemplo, los primeros vectores de movimiento candidatos pueden estar asociados:
- al bloque situado a la izquierda del bloque corriente (denotado A);
- al bloque situado encima del bloque corriente (denotado B);
- al bloque situado encima y a la derecha del bloque corriente (denotado C);
- al bloque situado encima y a la izquierda del bloque corriente (denotado D),
- a un bloque de la imagen que precede a la imagen corriente, denominada imagen de referencia y situada en la misma posicion que dicho bloque corriente (denotado T).
Los primeros vectores de movimiento candidatos pueden asimismo construirse a partir de valores medianos de los componentes de algunos o de todos los vectores de movimiento asociados a los bloques A, B, C y D (el vector de movimiento "mediano").
Los primeros vectores de movimiento candidatos pueden asimismo asociarse a un bloque de la imagen que precede a la imagen corriente y situado en la misma posicion que dicho bloque corriente, desplazado del vector de movimiento (compensado en movimiento) o corresponder a vectores procedentes de una tecnica de "Template Matching", etc.
Segun un modo de realizacion particular de la invencion, dicho primer subconjunto comprende el vector candidato asociado al bloque (A) situado directamente a la izquierda de dicho bloque corriente en la imagen corriente y el vector candidato asociado al bloque (B) situado directamente encima de dicho bloque corriente en la imagen corriente.
Segun una caractenstica particular de la invencion, dicho segundo vector candidato es un vector asociado a un bloque de la imagen que precede a la imagen corriente y situado en la misma posicion que dicho bloque corriente.
De este modo, el segundo vector de movimiento candidato puede estar, por ejemplo, asociado al bloque (T).
A este modo de realizacion se le denomina "AB mas T", ya que utiliza un primer conjunto "por defecto" que comprende los vectores de movimiento candidatos asociados a los bloques (A) y (B), ademas de un segundo vector de movimiento candidato asociado al bloque (T), si los vectores de movimiento candidatos asociados a los bloques (A) y (B) son iguales o estan proximos.
Segun una caractenstica particular de la invencion, la aplicacion de dicho criterio predeterminado pertenece al grupo que comprende la igualdad entre dichos primeros vectores candidatos y la comparacion de la diferencia entre dichos primeros vectores candidatos con un primer umbral predeterminado.
5
10
15
20
25
30
35
40
45
50
55
60
De este modo, cuando los primeros vectores de movimiento son iguales, es preferible proponer otro vector de movimiento candidato, para proponer una eleccion real de vectores de movimiento (entre uno de los primeros vectores de movimiento iguales y este otro vector candidato) en un subconjunto de seleccion optima, con vistas a su puesta en competicion.
Asimismo, cuando los primeros vectores de movimiento estan proximos, a priori, es preferible proponer otro vector de movimiento candidato, para proponer una eleccion de vectores de movimiento suficientemente alejados (entre uno de los primeros vectores de movimiento proximos y este otro vector candidato), y optimizar asf la puesta en competicion de los vectores de movimiento candidatos.
Segun un modo de realizacion particular de la invencion, dicha etapa de comparacion se repite al menos una vez, en un segundo subconjunto que comprende uno de dichos primeros vectores candidatos y al menos un segundo vector candidato, distinto de dichos primeros vectores candidatos.
De este modo, la invencion permite proponer en un subconjunto de seleccion optima, vectores de movimiento candidatos distintos y suficientemente alejados.
Por ejemplo, cuando los primeros vectores de movimiento candidatos estan proximos o son iguales y los vectores de movimiento candidatos del segundo subconjunto construido tambien lo son, la invencion permite construir un tercer subconjunto, el subconjunto de seleccion optima, que presenta unos vectores de movimiento candidatos suficientemente alejados.
Segun un modo de realizacion de la invencion, dicha etapa de determinacion de un subconjunto de seleccion optima comprende una subetapa de rechazo de un vector candidato si este ultimo presenta una diferencia con al menos otro vector candidato superior a un segundo umbral predeterminado.
De este modo, la invencion permite, asimismo, no proponer un subconjunto de seleccion optima que comprenda vectores de movimiento candidatos demasiado alejados los unos de los otros (lo que volvena diffcil la puesta en competicion de estos dos vectores candidatos durante la etapa de seleccion), comparando los vectores de movimiento candidatos destinados a estar presentes en este subconjunto de seleccion optima.
Otro aspecto de la invencion se refiere a un programa de ordenador que consta de instrucciones para la aplicacion del procedimiento de codificacion tal como se ha descrito anteriormente, cuando dicho programa se ejecuta mediante un procesador.
De hecho, cabe destacar que el procedimiento de codificacion segun la invencion puede aplicarse de diversas maneras, concretamente en forma cableada o en forma de programa informatico.
Otro aspecto de la invencion, se refiere a un dispositivo de codificacion de una senal de imagenes que comprende informacion de movimiento, mediante la seleccion de un vector de movimiento de entre un conjunto de al menos tres vectores candidatos, para al menos un bloque corriente de una imagen corriente a codificar, que comprende medios de determinacion de un subconjunto de seleccion optima, que contiene una parte de dichos vectores candidatos, unos medios de seleccion de dicho vector de movimiento de entre los vectores de dicho subconjunto de seleccion optima y unos medios de insercion, en dicha senal, de una informacion de designacion del vector de movimiento seleccionado de entre los vectores de dicho subconjunto de seleccion optima.
Segun la invencion, los medios de determinacion comprenden los siguientes medios:
- unos medios de comparacion de al menos dos primeros vectores candidatos, que suministran una informacion de proximidad entre dichos primeros vectores candidatos, que puede adoptar un primer valor que indica que dichos primeros vectores candidatos son identicos o estan proximos segun un criterio predeterminado y un segundo valor que indica que dichos primeros vectores candidatos no son identicos o no estan proximos segun dicho criterio predeterminado, la aplicacion de dicho criterio predeterminado que pertenece al grupo que comprende la igualdad entre dichos primeros vectores candidatos y la comparacion de la diferencia entre dichos primeros vectores candidatos con un primer umbral predeterminado, estando la posicion en el espacio y/o en el tiempo de dichos primeros vectores candidatos previamente identificada,
- si dicha informacion de proximidad adopta dicho primer valor, unos medios de construccion de dicho subconjunto de seleccion optima con uno de dichos primeros vectores candidatos o un vector de amplitud correspondiente a una media de las amplitudes de dichos al menos dos primeros vectores candidatos y al menos un segundo vector candidato, distinto de dichos primeros vectores candidatos;
- si dicha informacion de proximidad adopta dicho segundo valor, unos medios de construccion de dicho subconjunto de seleccion optima con dichos primeros vectores candidatos.
5
10
15
20
25
30
35
40
45
50
55
60
65
Tal dispositivo de codificacion concretamente esta adaptado para aplicar el procedimiento de codificacion descrito anteriormente. Se trata por ejemplo de un codificador v^deo de tipo MPEG o H.264 o segun una futura norma de compresion.
Este dispositivo de codificacion podra, por supuesto, implicar las diferentes caractensticas relativas al procedimiento de codificacion segun la invencion.
Otro aspecto de la invencion se refiere a un procedimiento de decodificacion de informacion de movimiento, mediante la seleccion de un vector de movimiento seleccionado en la codificacion, de entre un conjunto de al menos tres vectores candidatos, para al menos un bloque corriente de una imagen corriente a decodificar, que comprende una etapa de determinacion de un subconjunto de seleccion optima, que contiene una parte de dichos vectores candidatos, de manera similar a una determinacion aplicada en la codificacion, una etapa de lectura de una informacion de seleccion suministrada por la codificacion y que designa uno de los vectores de dicho subconjunto de seleccion optima y una etapa de seleccion de dicho vector de movimiento de entre los vectores de dicho subconjunto de seleccion optima a partir de dicha informacion de seleccion lefda.
Segun la invencion, la etapa de determinacion comprende las siguientes subetapas:
- comparacion de al menos dos primeros vectores candidatos, que suministran una informacion de proximidad entre dichos primeros vectores candidatos, que puede adoptar un primer valor que indica que dichos primeros vectores candidatos son identicos o estan proximos segun un criterio predeterminado y un segundo valor que indica que dichos primeros vectores candidatos no son identicos o no estan proximos segun dicho criterio predeterminado, la aplicacion de dicho criterio predeterminado que pertenece al grupo que comprende la igualdad entre dichos primeros vectores candidatos y la comparacion de la diferencia entre dichos primeros vectores candidatos con un primer umbral predeterminado, estando la posicion en el espacio y/o en el tiempo de dichos primeros vectores candidatos previamente identificada,
- si dicha informacion de proximidad adopta dicho primer valor, construccion de dicho subconjunto de seleccion optima con uno de dichos primeros vectores candidatos o un vector de amplitud correspondiente a una media de las amplitudes de dichos al menos dos primeros vectores candidatos y al menos un segundo vector candidato, distinto de dichos primeros vectores candidatos;
- si dicha informacion de proximidad adopta dicho segundo valor, construccion de dicho subconjunto de seleccion optima con dichos primeros vectores candidatos.
De esta forma, la tecnica de decodificacion segun la invencion permite, a la recepcion y lectura de la informacion de codificacion y mas particularmente de una informacion de seleccion, determinar el vector de movimiento correspondiente al bloque corriente en curso de decodificacion, entre un subconjunto de seleccion optima determinado mediante el mismo metodo que el implementado por el procedimiento de codificacion.
Otro aspecto de la invencion se refiere a un programa de ordenador que consta de instrucciones para la aplicacion del procedimiento de decodificacion tal como se ha descrito anteriormente, cuando dicho programa se ejecuta mediante un procesador.
De hecho, cabe destacar que el procedimiento de decodificacion segun la invencion puede aplicarse de diversas maneras, concretamente en forma cableada o en forma de programa informatico.
Este procedimiento de decodificacion podra, por supuesto, implicar las diferentes caractensticas relativas al procedimiento de codificacion segun la invencion.
En otro modo de realizacion, la invencion se refiere a un dispositivo de decodificacion de informacion de movimiento, mediante la seleccion de un vector de movimiento seleccionado en la codificacion, de entre un conjunto de al menos tres vectores candidatos, para al menos un bloque corriente de una imagen corriente a decodificar, que comprende medios de determinacion de un subconjunto de seleccion optima, que contiene una parte de dichos vectores candidatos, de manera similar a una determinacion aplicada en la codificacion, unos medios de lectura de una informacion de seleccion suministrada por la codificacion y que designan uno de los vectores de dicho subconjunto de seleccion optima y unos medios de seleccion de dicho vector de movimiento de entre los vectores de dicho subconjunto de seleccion optima a partir de dicha informacion de seleccion lefda.
Segun la invencion, los medios de determinacion comprenden los siguientes medios:
unos medios de comparacion de al menos dos primeros vectores candidatos, que suministran una informacion de proximidad entre dichos primeros vectores candidatos, que puede adoptar un primer valor que indica que dichos primeros vectores candidatos son identicos o estan proximos segun un criterio predeterminado y un segundo valor que indica que dichos primeros vectores candidatos no son identicos o no estan proximos segun dicho criterio predeterminado, la aplicacion de dicho criterio predeterminado que pertenece al grupo que
5
10
15
20
25
30
35
40
45
50
55
60
comprende la igualdad entre dichos primeros vectores candidatos y la comparacion de la diferencia entre dichos primeros vectores candidatos con un primer umbral predeterminado, estando la posicion en el espacio y/o en el tiempo de dichos primeros vectores candidatos previamente identificada,
- si dicha informacion de proximidad adopta dicho primer valor, unos medios de construccion de dicho subconjunto de seleccion optima con uno de dichos primeros vectores candidatos o un vector de amplitud correspondiente a una media de las amplitudes de dichos al menos dos primeros vectores candidatos y al menos un segundo vector candidato, distinto de dichos primeros vectores candidatos;
- si dicha informacion de proximidad adopta dicho segundo valor, unos medios de construccion de dicho subconjunto de seleccion optima con dichos primeros vectores candidatos.
Tal dispositivo de decodificacion esta concretamente adaptado para aplicar el procedimiento de decodificacion descrito anteriormente. Se trata por ejemplo de un decodificador video de tipo MPEG o H.264 o segun una futura norma de compresion video.
Este dispositivo de decodificacion podra, por supuesto, constar de las diferentes caractensticas relativas al procedimiento de decodificacion segun la invencion.
4. Lista de las figuras
Otras caractensticas y ventajas de la invencion se apreciaran de manera mas clara tras la lectura de la siguiente descripcion de un modo de realizacion particular, aportado a modo de simple ejemplo ilustrativo y no limitativo y de los dibujos anexos, entre los cuales:
- la figura 1a, ya comentada en relacion con la tecnica anterior, presenta el recorte de una imagen en un conjunto de bloques;
- la figura 1b ilustra unos ejemplos de relaciones de vecindad para un bloque dado;
- la figura 2a presenta las principales etapas del procedimiento de codificacion, segun un modo de realizacion de la invencion;
- la figura 2b presenta etapas mas detalladas del procedimiento de codificacion, segun este modo de realizacion de la invencion;
- la figura 3a presenta las principales etapas del procedimiento de decodificacion, segun un modo de realizacion de la invencion;
- la figura 3b presenta unas etapas mas detalladas del procedimiento de decodificacion, segun este modo de realizacion de la invencion;
- las figuras 4 y 5 presentan respectivamente la estructura de un dispositivo de codificacion y de un dispositivo de decodificacion, segun un modo de realizacion particular de la invencion.
5. Descripcion de un modo de realizacion de la invencion
5.1 Principio general
El principio general de la invencion estriba en la utilizacion de un conjunto de predictores (tambien denominados vectores de movimiento candidatos) localmente adaptativo, para la seleccion de un vector de movimiento por competicion de vectores de movimiento. Segun la invencion, la adaptacion puede efectuarse para cada bloque de una imagen a codificar, en funcion de los valores de los vectores de movimiento candidatos de un primer conjunto de predictores.
De este modo, segun la invencion, la codificacion de la informacion de movimiento para la competicion de vectores de movimiento se basa en una adaptacion automatica, de un bloque a otro dentro de una imagen a codificar, de un conjunto de predictores a utilizar para la puesta en competicion.
Convencionalmente, para una codificacion predictiva de vectores de movimiento por competicion, se considera un conjunto de vectores de movimiento candidatos, entre los cuales se selecciona y codifica un vector de movimiento, para un bloque de una imagen a codificar. Estos vectores de movimiento candidatos pueden asociarse con al menos uno de los bloques vecinos de dicho bloque corriente, de posicion identificada previamente en el espacio y/o en el tiempo, como se ilustra en la figura 1b.
Por ejemplo, los vectores de movimiento candidatos para la codificacion del bloque corriente X de la imagen corriente 1c pueden asociarse a bloques vecinos en el espacio (A), (B), (C) o (D) y/o al bloque vecino temporalmente (T) de la imagen de referencia Iref.
5
10
15
20
25
30
35
40
45
50
55
60
65
Los vectores de movimiento candidates pueden asimismo asociarse a un bloque de la imagen que precede a la imagen corriente y situado en la misma posicion que dicho bloque corriente, desplazado del vector de movimiento (compensado en movimiento), o corresponder a vectores procedentes de una tecnica de "Template Matching", etc.
5.2 Descripcion de modos de realizacion del procedimiento de codificacion
Segun un modo de realizacion de la invencion y como se ilustra en la figura 2a, para un bloque corriente de una imagen a codificar, un conjunto E de vectores de movimiento candidatos (p1, p2, p3, ...) esta disponible, con el fin de seleccionar el vector de movimiento a codificar para el bloque considerado.
Se aplica una primera etapa 20 de determinacion de un subconjunto de vectores de movimiento candidatos, a partir del conjunto E, lo que produce un subconjunto de deteccion optima. Esta etapa 20 de determinacion se describe con mas detalle a continuacion, en relacion con la figura 2b.
Una vez que se ha determinado este subconjunto de deteccion optima, los vectores de movimiento candidatos que contiene se ponen en competicion segun una tecnica conocida (descrita por ejemplo en el documento "Competition- Based Scheme for Motion Vector Selection and Coding", ITU-T VcEG, AC06, julio de 2006 de J. Jung y G. Laroche, ya mencionado en relacion con la tecnica anterior), con el fin de seleccionar, durante una etapa 21, un vector de movimiento p a codificar para el bloque considerado.
Para terminar, durante una etapa 22, se inserta en la senal informacion de designacion de este vector de movimiento p seleccionado, con el fin de permitirle al dispositivo de decodificacion seleccionar asimismo este vector de movimiento, para la decodificacion del bloque considerado.
A continuacion, se presentan de manera mas detallada las diferentes subetapas que permiten la construccion del subconjunto de deteccion optima, en relacion con la figura 2b.
El principio se basa en la comparacion, durante una etapa 201, de al menos dos primeros vectores de movimiento del conjunto E, denotados, por ejemplo, pi y p2. Cabe destacar que esta comparacion puede asimismo efectuarse para un mayor numero de vectores de movimiento, segun el numero de vectores de movimiento que se desea poner en competicion posteriormente. La eleccion del numero de vectores de movimiento engendra un coste de senalizacion mas o menos elevado y esta por tanto definido en funcion del rendimiento deseado, concretamente para la codificacion de la informacion de movimiento y, por tanto, del rendimiento de compresion deseado.
Esta primera etapa de comparacion permite determinar si estos dos primeros vectores de movimiento pi y p2 son susceptibles de formar un conjunto de vectores de movimiento optimo, con vistas a su puesta en competicion.
Por ejemplo, pi puede asociarse al bloque (A) y p2 al bloque (B) de la imagen corriente (vease la figura 1b). Esta eleccion esta predeterminada y es conocida para el decodificador, de manera que este pueda aplicar un metodo de decodificacion identico al metodo de codificacion implementado. De hecho, como se describe a continuacion, en relacion con las figuras 3a y 3b, el procedimiento de decodificacion aplica las mismas etapas que el procedimiento de codificacion y el decodificador conoce cierto numero de parametros utilizados por el codificador, con el fin de optimizar los costes de senalizacion.
Segun una primera variante de este modo de realizacion, esta etapa de comparacion 201 consiste en una prueba de igualdad de los dos primeros vectores de movimiento pi y p2.
De hecho, en un primer caso, si pi y p2 son identicos, la etapa 21 de puesta en competicion de estos dos vectores no es necesaria y forzosamente produce pi=p2 como vector de movimiento a codificar para el bloque corriente considerado. En este caso, es por tanto interesante, con el fin de optimizar la prediccion, construir, durante una etapa 203, otro conjunto de vectores de movimiento candidatos no iguales, a partir de pi (=p2) y de al menos otro vector de movimiento p3 procedente del conjunto E.
Este subconjunto, denotado subconjunto de deteccion optima, comprende, por ejemplo, los vectores pi (=p2) y p3, donde p3 esta asociado, por ejemplo, al bloque (T) de la imagen de referencia (vease la figura 1b). De la misma manera que para la eleccion de los dos primeros vectores de movimiento pi y p2, la eleccion de p3 esta predeterminada y es conocida por el decodificador.
La seleccion del vector de movimiento a codificar, para el bloque considerado, se efectua a continuacion, durante una etapa 21 descrita previamente en relacion con la figura 2a, a partir de este subconjunto de deteccion optima. El vector p seleccionado es, por tanto, bien el vector pi, bien el vector p3.
A cambio, en un segundo caso, si pi y p2 no son iguales, la etapa de construccion 202 produce un subconjunto de deteccion optima que comprende los vectores pi y p2.
5
10
15
20
25
30
35
40
45
50
55
60
La seleccion del vector de movimiento a codificar, para el bloque considerado, se efectua a continuacion, durante una etapa 21 descrita previamente en relacion con la figura 2a, a partir de este subconjunto de deteccion optima. El vector p seleccionado es, por tanto, bien el vector p1, bien el vector p2.
En los dos casos anteriores, se aplica una etapa 22 de insercion en la senal de una informacion de designacion de este vector de movimiento p seleccionado, tal como se ha descrito antes con relacion a la figura 2a, con el fin de permitirle al dispositivo de decodificacion seleccionar asimismo este vector de movimiento, para la decodificacion del bloque considerado.
Segun una segunda variante de este modo de realizacion, la etapa de comparacion 201 consiste en una prueba de proximidad de los dos primeros vectores de movimiento pi y p2.
Esta prueba de proximidad puede consistir en comparar la diferencia entre los primeros vectores candidatos con un primer umbral predeterminado. Este umbral esta definido de manera concertada entre el codificador y el decodificador y puede ser variable dentro de una imagen.
De este modo, se considera que, si pi y p2 son proximos, la etapa 21 de puesta en competicion de estos dos vectores no es optima, debido al hecho de la proximidad de los vectores pi y p2. En este caso, es por tanto igualmente interesante, con el fin de optimizar la prediccion, construir, durante una etapa 203, otro conjunto de vectores de movimiento candidatos no proximos, a partir de pi (o de p2, o bien de una media de amplitudes de los vectores de movimiento pi y p2) y de al menos otro vector de movimiento p3 procedente del conjunto E.
Las siguientes etapas 21 y 22 son las mismas que las descritas anteriormente para la primera variante.
Segun una tercera variante (no ilustrada en las figuras), se aplica una prueba suplementaria antes de la construccion del subconjunto de deteccion optima, con el fin de separar determinados vectores de movimiento candidatos presentes en el conjunto E, debido a que estan demasiado alejados con respecto al primer vector de movimiento pi.
De este modo, si se da el caso de que los dos primeros vectores pi y p2 son iguales o proximos, se elige un tercer vector p3 para construir el subconjunto de deteccion optima, segun las etapas descritas anteriormente. Como ya se ha indicado, esta eleccion esta predefinida y puede, por ejemplo, consistir en elegir p3 como el vector de movimiento que esta asociado al bloque (T) de la imagen de referencia.
No obstante, en determinados casos particulares, podria ocurrir que p3 y pi esten demasiado alejados o demasiado proximos, para que su puesta en competicion sea representativa.
Esta variante de realizacion del procedimiento de codificacion de la invencion permite remediar estos casos particulares, rechazando o invalidando, el vector p3 como vector de movimiento candidato y tomando opcionalmente otro vector p4, asimismo previamente definido, para construir, junto con pi, el subconjunto de deteccion optima.
Esta prueba suplementaria por tanto puede, por ejemplo, consistir en una comparacion de los valores de pi y p3, y engendrar un rechazo de p3 si el resultado de la comparacion es superior o inferior a un umbral predeterminado.
Esta prueba suplementaria puede, asimismo, consistir en una comparacion de la amplitud del vector p3 con un umbral predeterminado y engendrar un rechazo de p3 si la amplitud del vector p3 es superior o inferior a este umbral predeterminado.
Alzll)
Por ejemplo, este umbral predeterminado puede enunciarse de la siguiente manera: dv > ’ donde p
corresponde a la probabilidad de elegir el vector de movimiento candidato p3 durante la puesta en competicion de pi y p3, pudiendo esta probabilidad ser variable por aprendizaje.
Esta variante permite obtener una eficacia de prediccion aun mejor.
Segun una cuarta variante, si pi o p2 no estan disponibles (por ejemplo, en caso de que el bloque corriente este situado en el borde izquierdo de la imagen, entonces el bloque (A) no existe, por lo que ningun vector de movimiento asociado a este bloque (A) esta disponible o bien en caso de que el bloque (A) haya sido codificado en modo "intra" o bien en modo "inter" pero utilizando una imagen de referencia diferente, etc.), entonces se construye directamente un subconjunto de deteccion optima a partir de p2 y p3, si pi no esta disponible o a partir de pi y p3 si p2 no esta disponible.
Segun un segundo modo de realizacion, no representado en las figuras, es posible repetir la etapa de comparacion de los vectores de movimiento candidatos, para optimizar al maximo la construccion del subconjunto de deteccion optima.
5
10
15
20
25
30
35
40
45
50
55
60
65
Por ejemplo, si se considera que los dos primeros vectores de movimiento pi y p2 son iguales o proximos, entonces se construye un subconjunto que comprende el vector pi y otro vector p3, segun el modo de realizacion descrito anteriormente. Segun este modo de realizacion anterior, la seleccion del vector de movimiento a codificar para el bloque corriente se hace entre estos dos vectores pi y p3.
A cambio, en el segundo modo de realizacion, los dos vectores pi y p3 se comparan de nuevo, de manera a construir otro subconjunto de deteccion optima en caso de que pi y p3 sean iguales o proximos (segun el criterio considerado). En ese caso, se puede utilizar un vector de movimiento p4 para construir el subconjunto de deteccion optima, con pi (=p2=p3).
De este modo, esta repeticion permite evitar, en la medida de lo posible y en funcion del numero de vectores de movimiento disponibles en el conjunto E, el aplicar la etapa de seleccion 2l para un conjunto que comprende dos vectores de movimiento candidatos iguales o proximos, con el fin de optimizar la puesta en competicion de los vectores de movimiento candidatos.
El numero de repeticiones puede estar predefinido y por lo tanto ser conocido para el decodificador, o bien, puede decidirse que en tanto que los dos vectores seleccionados son iguales o proximos, se aplique una repeticion suplementaria, hasta agotar el numero de vectores de movimiento candidatos disponibles en E.
Cabe destacar que, en determinados casos particulares, para uno o varios bloques de la imagen a codificar, donde la designacion del vector de movimiento es inmediata, es posible abstenerse de transmitir una informacion de designacion del vector de movimiento de prediccion a utilizar. Estos casos particulares, corresponden, por ejemplo, a los casos en los que los vectores de movimiento candidatos en E son todos identicos, o bien, a los casos en los que solo esta disponible un vector de movimiento.
Los diferentes modos de realizacion anteriormente descritos, asf como sus variantes, permiten obtener una codificacion que utiliza potencialmente tres vectores de movimiento candidatos para la puesta en competicion, a la vez que se tiene un coste de codificacion correspondiente a la utilizacion de dos vectores de movimiento candidatos. Esto es posible debido al hecho de que el decodificador sera capaz de reproducir el tramite efectuado en la codificacion (concretamente, prueba 201), como se explica mas adelante y que, en consecuencia, no es necesario transmitir una informacion correspondiente.
Recordamos que la invencion puede asimismo aplicar subconjuntos de deteccion optima que comprendan mas de dos vectores de movimiento candidatos, realizandose la seleccion del vector de movimiento a codificar para el bloque corriente, de entre mas de dos vectores y teniendo la informacion de senalizacion del vector elegido, un coste relativo al numero de vectores de movimiento candidatos. No obstante, una vez mas, la invencion permite obtener una codificacion utilizando potencialmente un numero de vectores de movimiento candidatos superior al de la tecnica anterior, sin aumentar el coste de codificacion.
Ademas, el procedimiento de codificacion segun la invencion permite adaptar localmente, es decir, para cada bloque a codificar de una imagen, el subconjunto de prediccion optima a utilizar para la puesta en competicion de los vectores de movimiento candidatos.
5.3 Descripcion de modos de realizacion del procedimiento de decodificacion
El principio de la invencion se basa en la aplicacion, en la codificacion y decodificacion, de un mismo metodo de seleccion de un vector de movimiento para un bloque considerado.
Por lo tanto, a continuacion, se describen las principales etapas del procedimiento de decodificacion segun la invencion, en relacion con las figuras 3a y 3b, para una senal que comprende informacion de movimiento codificada segun un modo de realizacion, del procedimiento de codificacion de la invencion tal y como se ha descrito anteriormente.
Como se ilustra en la figura 3a y como se ha descrito antes en relacion con las figuras 2a y 2b, del procedimiento de codificacion, para un bloque corriente de una imagen a decodificar, un conjunto E de vectores de movimiento candidatos (pi, p2, p3, ...) esta disponible, con el fin de seleccionar el vector de movimiento a decodificar para el bloque considerado.
Se aplica una primera etapa 30 de determinacion de un subconjunto de vectores de movimiento candidatos, a partir del conjunto E, lo que produce un subconjunto de deteccion optima. Esta etapa 30 de determinacion se describe con mas detalle a continuacion, en relacion con la figura 3b y correspondiendo a la etapa 20 del procedimiento de codificacion.
Una etapa 31 de lectura suministra una informacion que designa el vector de movimiento seleccionado p en la codificacion, insertandose esta informacion en la senal en la codificacion, tal y como se ha descrito antes (etapa 22 del procedimiento de codificacion).
5
10
15
20
25
30
35
40
45
50
55
60
Esta informacion le permite al dispositivo de decodificacion seleccionar, durante una etapa 32, el vector de movimiento de prediccion a utilizar para decodificar el bloque considerado, de entre los vectores de movimiento candidatos presentes en el subconjunto de deteccion optima determinado en la etapa 30 del procedimiento de decodificacion.
Las diferentes subetapas que permiten la construccion del subconjunto de deteccion optima se ilustran con mas detalle en la figura 3b y ya se han descrito anteriormente, en relacion con la figura 2b.
De hecho, las etapas 301, 302 y 303 del procedimiento de decodificacion corresponden respectivamente a las etapas 201,202 y 203 del procedimiento de codificacion.
En concreto, se pueden aplicar diversas variantes del procedimiento de decodificacion segun la invencion, en funcion de si el criterio de comparacion esta basado en una igualdad o proximidad o en funcion de la aplicacion o no de una repeticion de la etapa 301 de comparacion, etc.
De este modo, el subconjunto de seleccion optima determinado mediante el procedimiento de decodificacion segun este modo de realizacion de la invencion, corresponde al subconjunto de deteccion optima obtenido en la codificacion.
De esta manera, con este subconjunto de deteccion optima (que comprende los vectores pi y p2, o pi y p3, por ejemplo) y la informacion que designa el vector de movimiento seleccionado y que, por tanto, se ha de utilizar, lefda durante la etapa 31, el procedimiento de decodificacion puede seleccionar el vector de movimiento correcto para la decodificacion del bloque considerado, durante una de las etapas 32.
5.4 Estructura de los dispositivos de codificacidn y de decodificacion
Finalmente se presenta, en relacion con las figuras 4 y 5, la estructura simplificada de un dispositivo de codificacion y de un dispositivo de decodificacion segun los modos de realizacion descritos a continuacion.
Como se ilustra en la figura 4, tal dispositivo de codificacion comprende una memoria 41 que comprende un bufer, una unidad de procesamiento 42, equipada, por ejemplo, con un microprocesador yP y controlada por el programa de ordenador 43, que aplica el procedimiento de codificacion segun la invencion.
A la inicializacion, las instrucciones de codigo del programa de ordenador 43 se cargan, por ejemplo, en una memoria RAM antes de ser ejecutadas por el procesador de la unidad de procesamiento 42. La unidad de procesamiento 42 recibe como entrada, una senal de imagenes que comprende informacion de movimiento, incluyendo un conjunto de al menos tres vectores de movimiento candidatos. El microprocesador de la unidad de procesamiento 42 aplica las etapas del procedimiento de codificacion descrito anteriormente, segun las instrucciones del programa de ordenador 43, para seleccionar un vector de movimiento. Para ello, el dispositivo de codificacion comprende, ademas del bufer 41, unos medios de determinacion de un subconjunto de seleccion optima, que contiene una parte de los vectores candidatos, unos medios de seleccion de un vector de movimiento de entre los vectores del subconjunto de seleccion optima y de unos medios de insercion, en la senal, de una informacion de designacion del vector de movimiento seleccionado de entre los vectores del subconjunto de seleccion optima. Estos medios los controla el microprocesador de la unidad de procesamiento 42. La unidad de procesamiento 42 transmite, por tanto, con destino a al menos un dispositivo de decodificacion, una senal que comprende al menos una informacion de designacion del vector de movimiento seleccionado.
Como se ilustra en la figura 5, en cuanto a tal dispositivo de decodificacion, este comprende una memoria 51 que comprende un bufer, una unidad de procesamiento 52, equipada, por ejemplo, con un microprocesador yP y controlada por el programa de ordenador 53, que aplica el procedimiento de decodificacion segun la invencion.
A la inicializacion, las instrucciones de codigo del programa de ordenador 53 se cargan, por ejemplo, en una memoria RAM antes de ser ejecutadas por el procesador de la unidad de procesamiento 52. La unidad de procesamiento 52 recibe como entrada, una senal que concretamente comprende informacion de movimiento. El microprocesador de la unidad de procesamiento 52 aplica las etapas del procedimiento de decodificacion descrito anteriormente, segun las instrucciones del programa de ordenador 53, para seleccionar un vector de movimiento. Para ello, el dispositivo de decodificacion comprende, ademas del bufer 51, unos medios de determinacion de un subconjunto de seleccion optima, que contiene una parte de los vectores candidatos, de manera similar a una determinacion aplicada en la codificacion, unos medios de lectura de una informacion de seleccion suministrada por la codificacion y que designa uno de los vectores del subconjunto de seleccion optima y unos medios de seleccion del vector de movimiento de entre los vectores del subconjunto de seleccion optima a partir de la informacion de seleccion lefda. Estos medios los controla el microprocesador de la unidad de procesamiento 52.

Claims (11)

  1. 5
    10
    15
    20
    25
    30
    35
    40
    45
    50
    55
    60
    65
    REIVINDICACIONES
    1. Procedimiento de codificacion de una senal de imagenes que comprende informacion de movimiento, mediante la seleccion de un vector de movimiento de entre un conjunto de al menos tres vectores candidatos, para al menos un bloque corriente de una imagen corriente a codificar,
    que comprende una etapa de determinacion (20) de un subconjunto de seleccion optima, que contiene una parte de dichos vectores candidatos, une etapa de seleccion (21) de dicho vector de movimiento (p) de entre los vectores de dicho subconjunto de seleccion optima y una etapa de insercion (22), en dicha senal, de una informacion de designacion del vector de movimiento seleccionado de entre los vectores de dicho subconjunto de seleccion optima, caracterizado por que dicha etapa de determinacion comprende las siguientes subetapas:
    - comparacion (201) de al menos dos primeros vectores candidatos, que suministran una informacion de proximidad entre dichos primeros vectores candidatos, que puede adoptar un primer valor que indica que dichos primeros vectores candidatos son identicos o estan proximos segun un criterio predeterminado y un segundo valor que indica que dichos primeros vectores candidatos no son identicos o no estan proximos segun dicho criterio predeterminado, la aplicacion de dicho criterio predeterminado que pertenece al grupo que comprende la igualdad entre dichos primeros vectores candidatos y la comparacion de la diferencia entre dichos primeros vectores candidatos con un primer umbral predeterminado, estando la posicion en el espacio y/o en el tiempo de dichos primeros vectores candidatos previamente identificada,
    - si dicha informacion de proximidad adopta dicho primer valor, construccion (203) de dicho subconjunto de seleccion optima con uno de dichos primeros vectores candidatos o un vector de amplitud correspondiente a una media de las amplitudes de dichos al menos dos primeros vectores candidatos y al menos un segundo vector candidato, distinto de dichos primeros vectores candidatos;
    - si dicha informacion de proximidad adopta dicho segundo valor, construccion (202) de dicho subconjunto de seleccion optima con dichos primeros vectores candidatos.
  2. 2. Procedimiento de codificacion de acuerdo con la reivindicacion 1, caracterizado por que dichos primeros vectores candidatos pertenecen a un subconjunto de vectores candidatos asociados a al menos uno de los bloques vecinos de dicho bloque corriente, de posicion previamente identificada en el espacio y/o en el tiempo.
  3. 3. Procedimiento de codificacion de acuerdo con la reivindicacion 2, caracterizado por que dicho primer subconjunto comprende el vector candidato asociado al bloque (A) situado directamente a la izquierda de dicho bloque corriente en la imagen corriente y el vector candidato asociado al bloque (B) situado directamente encima de dicho bloque corriente en la imagen corriente.
  4. 4. Procedimiento de codificacion de acuerdo con la reivindicacion 3, dicho segundo vector candidato es un vector asociado a un bloque de la imagen que precede a la imagen corriente y situado en la misma posicion que dicho bloque corriente.
  5. 5. Procedimiento de codificacion de acuerdo con la reivindicacion 1, caracterizado por que dicha etapa de
    comparacion se repite al menos una vez, en un segundo subconjunto que comprende uno de dichos primeros
    vectores candidatos y al menos un segundo vector candidato, distinto de dichos primeros vectores candidatos.
  6. 6. Procedimiento de codificacion de acuerdo con la reivindicacion 1, caracterizado por que dicha etapa de
    determinacion de un subconjunto de seleccion optima comprende una subetapa de rechazo de un vector candidato
    si este ultimo presenta una diferencia con al menos otro vector candidato superior a un segundo umbral predeterminado.
  7. 7. Programa de ordenador que consta de instrucciones para la aplicacion del procedimiento de codificacion de acuerdo con una cualquiera de las reivindicaciones 1 a 6, cuando dicho programa esta ejecutado por un procesador.
  8. 8. Dispositivo de codificacion de una senal de imagenes que comprende informacion de movimiento, mediante la seleccion de un vector de movimiento de entre un conjunto de al menos tres vectores candidatos, para al menos un bloque corriente de una imagen corriente a codificar,
    que comprende medios de determinacion de un subconjunto de seleccion optima, que contiene una parte de dichos vectores candidatos, unos medios de seleccion de dicho vector de movimiento de entre los vectores de dicho subconjunto de seleccion optima y unos medios de insercion, en dicha senal, de una informacion de designacion del vector de movimiento seleccionado de entre los vectores de dicho subconjunto de seleccion optima, caracterizado por que dichos medios de determinacion comprenden los siguientes medios:
    - unos medios de comparacion (201) de al menos dos primeros vectores candidatos, que suministran una informacion de proximidad entre dichos primeros vectores candidatos, que puede adoptar un primer valor que indica que dichos primeros vectores candidatos son identicos o estan proximos segun un criterio predeterminado y un segundo valor que indica que dichos primeros vectores candidatos no son identicos o no estan proximos segun dicho criterio predeterminado, la aplicacion de dicho criterio predeterminado que pertenece al grupo que
    5
    10
    15
    20
    25
    30
    35
    40
    45
    50
    55
    60
    65
    comprende la igualdad entre dichos primeros vectores candidatos y la comparacion de la diferencia entre dichos primeros vectores candidatos con un primer umbral predeterminado, estando la posicion en el espacio y/o en el tiempo de dichos primeros vectores candidatos previamente identificada,
    - si dicha informacion de proximidad adopta dicho primer valor, unos medios de construccion (203) de dicho subconjunto de seleccion optima con uno de dichos primeros vectores candidatos o un vector de amplitud correspondiente a una media de las amplitudes de dichos al menos dos primeros vectores candidatos y al menos un segundo vector candidato, distinto de dichos primeros vectores candidatos;
    - si dicha informacion de proximidad adopta dicho segundo valor, unos medios de construccion (202) de dicho subconjunto de seleccion optima con dichos primeros vectores candidatos.
  9. 9. Procedimiento de decodificacion de informacion de movimiento, mediante la seleccion de un vector de movimiento seleccionado en la codificacion de entre un conjunto de al menos tres vectores candidatos, para al menos un bloque corriente de una imagen corriente a decodificar,
    que comprende una etapa de determinacion (30) de un subconjunto de seleccion optima, que contiene una parte de dichos vectores candidatos, de manera similar a una determinacion aplicada en la codificacion, una etapa de lectura (31) de una informacion de seleccion suministrada por la codificacion y que designa uno de los vectores de dicho subconjunto de seleccion optima y de una etapa de seleccion (32) de dicho vector de movimiento (p) de entre los vectores de dicho subconjunto de seleccion optima a partir de dicha informacion de seleccion lefda, caracterizado por que dicha etapa de determinacion comprende las siguientes subetapas:
    - comparacion (301) de al menos dos primeros vectores candidatos, que suministran una informacion de proximidad entre dichos primeros vectores candidatos, que puede adoptar un primer valor que indica que dichos primeros vectores candidatos son identicos o estan proximos segun un criterio predeterminado y un segundo valor que indica que dichos primeros vectores candidatos no son identicos o no estan proximos segun dicho criterio predeterminado, la aplicacion de dicho criterio predeterminado que pertenece al grupo que comprende la igualdad entre dichos primeros vectores candidatos y la comparacion de la diferencia entre dichos primeros vectores candidatos con un primer umbral predeterminado, estando la posicion en el espacio y/o en el tiempo de dichos primeros vectores candidatos previamente identificada,
    - si dicha informacion de proximidad adopta dicho primer valor, construccion (303) de dicho subconjunto de seleccion optima con uno de dichos primeros vectores candidatos o un vector de amplitud correspondiente a una media de las amplitudes de dichos al menos dos primeros vectores candidatos y al menos un segundo vector candidato, distinto de dichos primeros vectores candidatos;
    - si dicha informacion de proximidad adopta dicho segundo valor, construccion (302) de dicho subconjunto de seleccion optima con dichos primeros vectores candidatos.
  10. 10. Programa de ordenador que consta de instrucciones para la aplicacion del procedimiento de decodificacion de acuerdo con la reivindicacion 9, cuando dicho programa esta ejecutado por un procesador.
  11. 11. Dispositivo de decodificacion de informacion de movimiento, mediante la seleccion de un vector de movimiento seleccionado en la codificacion de entre un conjunto de al menos tres vectores candidatos, para al menos un bloque corriente de una imagen corriente a decodificar,
    que comprende medios de determinacion de un subconjunto de seleccion optima, que contiene una parte de dichos vectores candidatos, de manera similar a una determinacion aplicada en la codificacion, medios de lectura de una informacion de seleccion suministrada por la codificacion y que designa uno de los vectores de dicho subconjunto de seleccion optima y medios de seleccion de dicho vector de movimiento de entre los vectores de dicho subconjunto de seleccion optima a partir de dicha informacion de seleccion lefda, caracterizado por que dichos medios de determinacion comprenden los siguientes medios:
    unos medios de comparacion de al menos dos primeros vectores candidatos, que suministran una informacion de proximidad entre dichos primeros vectores candidatos, que puede adoptar un primer valor que indica que dichos primeros vectores candidatos son identicos o estan proximos segun un criterio predeterminado y un segundo valor que indica que dichos primeros vectores candidatos no son identicos o no estan proximos segun dicho criterio predeterminado, la aplicacion de dicho criterio predeterminado que pertenece al grupo que comprende la igualdad entre dichos primeros vectores candidatos y la comparacion de la diferencia entre dichos primeros vectores candidatos con un primer umbral predeterminado, estando la posicion en el espacio y/o en el tiempo de dichos primeros vectores candidatos previamente identificada,
    - si dicha informacion de proximidad adopta dicho primer valor, unos medios de construccion de dicho subconjunto de seleccion optima con uno de dichos primeros vectores candidatos o un vector de amplitud correspondiente a una media de las amplitudes de dichos al menos dos primeros vectores candidatos y al menos un segundo vector candidato, distinto de dichos primeros vectores candidatos;
    - si dicha informacion de proximidad adopta dicho segundo valor, unos medios de construccion de dicho subconjunto de seleccion optima con dichos primeros vectores candidatos.
ES10734256.0T 2009-06-19 2010-06-17 Codificación de vectores de movimiento por competición de predictores Active ES2629027T3 (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR0954194 2009-06-19
FR0954194 2009-06-19
PCT/FR2010/051209 WO2010146314A1 (fr) 2009-06-19 2010-06-17 Codage de vecteurs mouvement par competition de predicteurs

Publications (1)

Publication Number Publication Date
ES2629027T3 true ES2629027T3 (es) 2017-08-07

Family

ID=41698478

Family Applications (1)

Application Number Title Priority Date Filing Date
ES10734256.0T Active ES2629027T3 (es) 2009-06-19 2010-06-17 Codificación de vectores de movimiento por competición de predictores

Country Status (8)

Country Link
US (1) US8891628B2 (es)
EP (1) EP2443835B1 (es)
CN (1) CN102804768B (es)
BR (1) BRPI1011885A2 (es)
ES (1) ES2629027T3 (es)
RU (1) RU2553062C2 (es)
WO (1) WO2010146314A1 (es)
ZA (1) ZA201109188B (es)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011095260A1 (en) * 2010-02-05 2011-08-11 Telefonaktiebolaget L M Ericsson (Publ) Managing predicted motion vector candidates
US10104391B2 (en) * 2010-10-01 2018-10-16 Dolby International Ab System for nested entropy encoding
GB2487200A (en) * 2011-01-12 2012-07-18 Canon Kk Video encoding and decoding with improved error resilience
US9131239B2 (en) 2011-06-20 2015-09-08 Qualcomm Incorporated Unified merge mode and adaptive motion vector prediction mode candidates selection
FR2982983A1 (fr) * 2011-11-22 2013-05-24 Thomson Licensing Procede de codage et de reconstruction d'un bloc de pixels et dispositifs correspondants
CN107809642B (zh) * 2015-02-16 2020-06-16 华为技术有限公司 用于视频图像编码和解码的方法、编码设备和解码设备

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100865034B1 (ko) * 2002-07-18 2008-10-23 엘지전자 주식회사 모션 벡터 예측 방법
JP4591657B2 (ja) * 2003-12-22 2010-12-01 キヤノン株式会社 動画像符号化装置及びその制御方法、プログラム
JP4166781B2 (ja) * 2005-12-09 2008-10-15 松下電器産業株式会社 動きベクトル検出装置および動きベクトル検出方法
JP2008109632A (ja) * 2006-09-28 2008-05-08 Toshiba Corp 動きベクトル検出装置及びその方法
US8213509B2 (en) * 2006-10-06 2012-07-03 Calos Fund Limited Liability Company Video coding on parallel processing systems
KR101383540B1 (ko) 2007-01-03 2014-04-09 삼성전자주식회사 복수의 움직임 벡터 프리딕터들을 사용하여 움직임 벡터를추정하는 방법, 장치, 인코더, 디코더 및 복호화 방법

Also Published As

Publication number Publication date
US20120134419A1 (en) 2012-05-31
WO2010146314A1 (fr) 2010-12-23
CN102804768B (zh) 2015-12-16
RU2553062C2 (ru) 2015-06-10
RU2012101686A (ru) 2013-07-27
BRPI1011885A2 (pt) 2016-04-12
EP2443835B1 (fr) 2017-04-05
US8891628B2 (en) 2014-11-18
ZA201109188B (en) 2012-08-29
EP2443835A1 (fr) 2012-04-25
CN102804768A (zh) 2012-11-28

Similar Documents

Publication Publication Date Title
ES2841312T3 (es) Predicción de vectores de movimiento para modelos de movimiento afines en codificación de vídeo
CN113824966B (zh) 获取视频图像运动矢量的方法与装置
JP6701409B2 (ja) 符号化装置、復号装置、符号化方法、復号方法、及びプログラム
ES2963468T3 (es) Codificación de vídeo
ES2957772T3 (es) Procedimiento de codificación predictiva, dispositivo de codificación predictiva y programa de codificación predictiva de un vector de movimiento, y procedimiento de descodificación predictiva, dispositivo de descodificación predictiva y programa de descodificación predictiva de un vector de movimiento
ES2599848T3 (es) Codificación y descodificación de video
ES2629027T3 (es) Codificación de vectores de movimiento por competición de predictores
ES2962642T3 (es) Método y Aparato de Inter-predicción Adaptativa en Codificación de Video
ES2796824T3 (es) Simplificaciones en la obtención de vectores de disparidad y la predicción de vectores de movimiento en codificación de vídeo 3D
RU2017132847A (ru) Определение режима вывода информации движения при видеокодировании
US20150131722A1 (en) Method and Apparatus of Improved Intra Luma Prediction Mode Coding
RU2017104967A (ru) Объединенное предсказание межкадровое и с внутрикадровой копией блока
JP2017528987A (ja) 予測符号化、復号化方法、対応するエンコーダ、デコーダ及び電子機器
KR20100030625A (ko) 다시점 코딩된 영상의 단일 루프 디코딩
RU2012105475A (ru) Способ и устройство для кодирования видео и способ и устройство для декодирования видео
US20180167610A1 (en) Method and apparatus for inter prediction on basis of virtual reference picture in video coding system
CN112840645B (zh) 视频编码系统中组合多个预测子用于块预测的方法及装置
US10659785B2 (en) Apparatus, system and method of video compression using smart coding tree unit scanning and corresponding computer program and medium
ES2749747T3 (es) Sistemas y procedimientos para definir por separado las dependencias para la predicción entre capas basada en subcapas
JP7194539B2 (ja) 符号化装置、復号装置及びプログラム
US20100322316A1 (en) Moving-picture encoding apparatus and decoding apparatus
JP6032367B2 (ja) 動画像符号化装置、動画像符号化方法及び動画像復号装置ならびに動画像復号方法
JP6156497B2 (ja) 動画像符号化装置、動画像符号化方法、及び動画像復号装置ならびに動画像復号方法
EP3565252A1 (en) Encoding device, decoding device and program
US9749629B2 (en) Image coding apparatus, image coding method, and image coding system