ES2752300T3 - Procedimiento y dispositivo de codificación de vídeos utilizando un número reducido de vectores de movimiento para los bloques conectados - Google Patents
Procedimiento y dispositivo de codificación de vídeos utilizando un número reducido de vectores de movimiento para los bloques conectados Download PDFInfo
- Publication number
- ES2752300T3 ES2752300T3 ES09772732T ES09772732T ES2752300T3 ES 2752300 T3 ES2752300 T3 ES 2752300T3 ES 09772732 T ES09772732 T ES 09772732T ES 09772732 T ES09772732 T ES 09772732T ES 2752300 T3 ES2752300 T3 ES 2752300T3
- Authority
- ES
- Spain
- Prior art keywords
- block
- image
- given
- control vectors
- control
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/537—Motion estimation other than block-based
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/537—Motion estimation other than block-based
- H04N19/543—Motion estimation other than block-based using regions
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
Procedimiento de codificación de una secuencia de imágenes, que comprende una etapa de codificación de al menos un bloque de una imagen corriente de dicha secuencia, implementando una predicción (11) que asocia dicho bloque con al menos un bloque correspondiente en una imagen de referencia de dicha secuencia, caracterizado por que dicha predicción (11) comprende las siguientes etapas, para al menos un bloque dado de la imagen corriente o de la imagen de referencia, respectivamente: - determinación (111) de una pluralidad de vectores de control para dicho bloque, siendo cada uno de dichos vectores de control representativo de un desplazamiento entre un punto característico de dicho bloque y una posición correspondiente de dicho punto característico en la imagen de referencia o en la imagen corriente, respectivamente, y determinándose dichos vectores de control teniendo en cuenta un vector de movimiento de dicho bloque y al menos un indicador de conexión representativo de un movimiento entre dicho bloque y al menos un bloque vecino en dicha imagen de referencia y dicha imagen corriente, indicando dicho al menos un indicador de conexión si dicho bloque y dicho bloque vecino tienen una arista común a la vez en la imagen de referencia y en la imagen corriente después de la compensación en movimiento; - al menos un corte (112) de dicho bloque en bloques secundarios; - determinación (113) de una pluralidad de vectores de control para dichos bloques secundarios, a partir de los vectores de control para dicho bloque; - determinación (114) de un valor de predicción para al menos un punto de dicha imagen corriente, a partir de una compensación en movimiento de al menos uno de dichos bloques secundarios efectuada a partir de los vectores de control determinados para dicho bloque secundario; y por que dicho procedimiento comprende una etapa de inserción (12), en una señal representativa de dicha secuencia, de un residuo de predicción del vector de movimiento del bloque y de informaciones de reconstrucción de dichos vectores de control para dicho bloque dado, comprendiendo dichas informaciones de reconstrucción de dichos vectores de control el al menos un indicador de conexión.
Description
DESCRIPCIÓN
Procedimiento y dispositivo de codificación de vídeos utilizando un número reducido de vectores de movimiento para los bloques conectados
1. Campo de la invención
El campo de la invención es el de la codificación y la decodificación de secuencias de imágenes.
De manera más específica, la invención se refiere a la compresión/descompresión de secuencias de imágenes o de escenas (bidimensionales o que presentan un número superior de dimensiones) utilizando transformadas por bloques. La invención se aplica en particular a la predicción temporal implementada en los codificadores de vídeo actuales (MPEG, H.264, etc.) o futuros (H.265).
2. Técnica anterior
Los codificadores de vídeo actuales, que implementan los estándares de compresión de vídeo procedentes de la organización MPEG (MPEG-1, MPEG-2, MPEG-4, ...) o de la Unión Internacional de Telecomunicaciones ITU-T (H.261, ..., H.264/AVC), permiten codificar una secuencia de imágenes para obtener una secuencia codificada, comprimida con respecto a la secuencia de imágenes fuente.
Para hacerlo, estos codificadores utilizan un esquema de codificación que utiliza una predicción entre las imágenes de la secuencia con el fin de obtener un importante nivel de rendimiento de compresión.
Se recuerda que las imágenes de una secuencia habitualmente se cortan en segmentos ("slices" en inglés), que a continuación se subdividen en macrobloques. Cada macrobloque se corta, a continuación, en bloques de píxeles, donde un bloque de píxeles corresponde a una reagrupación de píxeles adyacentes. Un bloque de píxeles de una imagen de la secuencia puede entonces ser codificado por predicción temporal a partir de uno o varios bloques de una o varias otras imágenes de la secuencia. Se habla de bloque "inter". Un bloque de píxeles también puede ser codificado por predicción espacial a partir de uno o varios bloques de la imagen a codificar. Se habla de bloque "intra". Durante la codificación de un bloque, se especifica si ese bloque está codificado utilizando o no informaciones procedentes de otras imágenes de la secuencia, denominadas imágenes de referencia. Estas imágenes de referencia son imágenes que han sido codificadas/decodificadas previamente. Un bloque de referencia corresponde a una reagrupación de píxeles de una imagen de referencia.
De manera más específica, la codificación de un bloque inter se desarrolla en dos etapas:
- primero, se realiza una predicción del bloque a codificar utilizando uno o varios bloques de referencia y un mecanismo de compensación en movimiento para tener en cuenta un movimiento aparente o bien también para obtener una predicción eficaz;
- a continuación, se calcula un residuo de error de predicción, determinando la diferencia entre el bloque a codificar y la predicción.
La diferencia o residuo, entre el bloque corriente y el bloque predicho se codifica entonces y se transmite (y/o almacena, según las aplicaciones). En la decodificación, la diferencia recibida se añade a la predicción para reconstruir el bloque.
Normalmente, en los estándares de compresión, la predicción por compensación en movimiento de un bloque inter se realiza por medio de una compensación en movimiento de tipo traslación. De este modo, si se denomina v al vector de movimiento considerado y R a la imagen de referencia considerada, la predicción P en cada punto o píxel x del bloque viene definida por: P(x)=R(x+v).
Un inconveniente de esta técnica de compensación en movimiento es que no permite tener en cuenta los movimientos naturales de tipo, rotación, zoom, cizalladura, etc.
Por lo que se han propuesto otras variantes de compensación en movimiento para realizar la predicción.
El documento US6058212 describe una técnica de predicción que implementa el corte de una imagen en zonas, y una técnica de interpolación adaptada a cada una de las zonas que permite, en concreto, interpolar los vectores de movimiento correspondientes a los puntos de una zona particular, teniendo en cuenta los vectores de movimientos correspondientes a unos puntos específicos de esa zona, situados en la frontera de la zona y los vectores de movimiento correspondientes a unos puntos específicos situados en una zona adyacente.
Según otro ejemplo, P. Ishwar y P. Moulin proponen, en el documento "On Spatial Adaptation of Motion Field Smoothness in Video Coding", una técnica de compensación de movimiento por bloques denominada OBMC (por sus
siglas en inglés de "Overlapped Block Motion Compensation") que consiste en considerar varios valores de vectores de movimiento para establecer un valor de predicción de un píxel x de un bloque a codificar:
donde: los vectores Vi corresponden a los i vectores de movimiento,
los valores w(x) corresponden a los pesos de ponderación entre las diferentes predicciones obtenidas por los diferentes vectores de movimiento.
Los pesos de ponderación w¡(x) dependen, en general, de la posición del punto x considerado en el bloque. Típicamente, los pesos w(x) utilizados son los mismos en todos los bloques.
Si bien esta técnica permite tener en cuenta una gran gama de movimientos naturales, la predicción obtenida es de calidad media. El volumen de informaciones de residuo de predicción a transmitir es, por lo tanto, mayor y esta transmisión de informaciones adicionales conlleva penalizaciones en términos de rendimiento de compresión.
Existe, por lo tanto, la necesidad de nuevas técnicas de codificación/decodificación de imágenes que permitan paliar, al menos en parte, los inconvenientes de la técnica anterior y que presenten poca complejidad a la vez que proporcionan una predicción de buena calidad.
3. Descripción de la invención
La invención propone una nueva solución que no presenta el conjunto de estos inconvenientes de la técnica anterior, en forma de un procedimiento de codificación de una secuencia de imágenes, tal como se define en las reivindicaciones. Tal procedimiento comprende, en concreto, una etapa de codificación de al menos un bloque de una imagen corriente de la secuencia, implementando una predicción que asocia el bloque con al menos un bloque correspondiente en una imagen de referencia de la secuencia.
Según la invención, la predicción comprende las siguientes etapas, para al menos un bloque dado de la imagen corriente o de la imagen de referencia, respectivamente:
determinación de una pluralidad de vectores de control para dicho bloque, siendo cada uno representativo de un desplazamiento entre un punto característico del bloque y la posición correspondiente de dicho punto característico en la imagen de referencia o en la imagen corriente, respectivamente;
al menos un corte del bloque en bloques secundarios;
determinación de una pluralidad de vectores de control para los bloques secundarios, a partir de los vectores de control para el bloque;
determinación de un valor de predicción para al menos un punto de la imagen corriente, a partir de una compensación en movimiento de al menos uno de dichos bloques secundarios, efectuada a partir de los vectores de control determinados para el bloque secundario.
El procedimiento de codificación también comprende una etapa de inserción, en una señal representativa de la secuencia, de informaciones de reconstrucción de los vectores de control para el bloque dado.
La invención propone así una nueva técnica de predicción de un bloque "inter", que ofrece una buena calidad de predicción a la vez que presenta poca complejidad. La solución propuesta permite asimismo tener en cuenta movimientos naturales en la secuencia de imágenes, teniendo en cuenta el movimiento de un bloque en relación con uno al menos de sus vecinos (es decir, los bloques situados a la izquierda, a la derecha, por encima o por debajo de ese bloque).
Para hacerlo, la invención propone determinar varios vectores de control para un bloque (por ejemplo, dos, tres, cuatro vectores o más), definidos en función de la conexión de ese bloque con uno o varios de sus vecinos.
Por ejemplo, cada uno de los vectores de control para el bloque o el bloque secundario está asociado con uno de los vértices del bloque o bloque secundario. De ese modo, para una imagen en dos dimensiones, se asocian cuatro vectores de control con el bloque, estando un vector de control asociado con cada vértice o esquina del bloque. Para una imagen en tres dimensiones, se asocian ocho vectores con el bloque, lo que de hecho corresponde a un cubo, estando un vector de control asociado con cada esquina del bloque. También es posible asociar estos vectores de control con otros puntos del bloque, correspondiéndose, por ejemplo, a un contorno. De la misma manera, el número de vectores de control asociado con un bloque no es fijo.
En particular, la técnica propuesta permite codificar la secuencia de imágenes utilizando proyecciones hacia delante y/o hacia atrás.
De este modo, si la técnica utilizada implementa una proyección hacia atrás, la predicción es una predicción por compensación en movimiento hacia atrás, y los vectores de control apuntan desde la imagen corriente hacia una o varias imágenes de referencia. En ese caso, se determina una pluralidad de vectores de control para un bloque dado perteneciente a la imagen corriente.
Al contrario, si la técnica utilizada implementa una proyección hacia delante, la predicción es una predicción por compensación en movimiento hacia delante, y los vectores de control apuntan desde una o varias imágenes de referencia hacia la imagen corriente. Se determina entonces una pluralidad de vectores de control para un bloque dado perteneciente a una imagen de referencia.
Para al menos un bloque dado de la imagen de referencia, o de la imagen corriente, el bloque se recorta a continuación, en bloques secundarios, para los cuales se determina una pluralidad de vectores de control. Estos bloques secundarios pueden ser concretamente de diferentes tamaños.
Tal corte permite, en concreto, tener en cuenta unos movimientos naturales en la secuencia de imágenes, tales como movimientos de deformación afín, a la vez que solo se efectúan operaciones de traslación de bloque. Estas operaciones de traslación de bloque limitan así significativamente la complejidad del cálculo de los valores interpolados de imagen a posiciones sub-pixélicas (es decir, la puesta en común del cálculo por bloque es más eficaz que el cálculo separado por punto).
Según un aspecto particular de la invención, las informaciones de reconstrucción de los vectores de control comprenden los vectores de control para el bloque dado, o informaciones representativas de estos vectores de control. De este modo, estos vectores de control para el bloque pueden reconstruirse fácilmente al nivel del decodificador.
Las informaciones de reconstrucción de los vectores de control comprenden al menos un indicador de conexión representativo de un movimiento entre el bloque dado y al menos un bloque vecino.
Por ejemplo, las informaciones de reconstrucción de los vectores de control comprenden dos indicadores de conexión, de los cuales:
- un primer indicador representativo de un movimiento entre el bloque dado y el bloque situado por encima del bloque dado, entre la imagen corriente y la imagen de referencia, y
- un segundo indicador representativo de un movimiento entre el bloque dado y el bloque situado a la izquierda del bloque dado, entre la imagen corriente y la imagen de referencia.
Estos indicadores, denominados, por ejemplo, "flag_tc" para el primer indicador, y "flag_lc" para el segundo indicador, se utilizan para asociar los movimientos del bloque dado y de su vecino (de arriba o de la izquierda) entre la imagen corriente y la imagen de referencia. Una vez recibidos por un decodificador, estos indicadores se utilizarán para reconstruir los vectores de control.
Por ejemplo, si el bloque dado y el bloque situado por encima presentan una arista común a la vez en la imagen corriente y en la imagen de referencia, después de la compensación en movimiento, entonces el primer indicador es igual a 1 (flag_tc = 1). Se dice que los dos bloques están conectados.
Si el bloque dado y el bloque situado a su izquierda presentan una arista común a la vez en la imagen corriente y en la imagen de referencia, después de la compensación en movimiento, entonces el segundo indicador es igual a 1 (flag_lc = 1).
La invención también se refiere a un producto de programa informático descargable desde una red de comunicaciones y/o grabado en un soporte legible por ordenador y/o ejecutable por un procesador, que comprende instrucciones de código de programa para la implementación del procedimiento de codificación tal y como se ha descrito antes, cuando el programa es ejecutado por un procesador.
En otro modo de realización, la invención se refiere a un dispositivo de codificación de una secuencia de imágenes, tal como se define en las reivindicaciones. Tal dispositivo de codificación comprende, en concreto, unos medios de codificación de al menos un bloque de una imagen corriente de la secuencia, implementando unos medios de predicción que asocian dicho bloque con al menos un bloque correspondiente en una imagen de referencia de la secuencia.
Según la invención, los medios de predicción comprenden, para al menos un bloque dado de la imagen corriente o de la imagen de referencia, respectivamente:
unos medios de determinación de una pluralidad de vectores de control para el bloque;
unos medios de corte del bloque en bloques secundarios;
unos medios de determinación de una pluralidad de vectores de control para los bloques secundarios, a partir de
los vectores de control para el bloque;
unos medios de determinación de un valor de predicción para al menos un punto de la imagen corriente, a partir de una compensación en movimiento de al menos uno de dichos bloques secundarios, efectuada a partir de los vectores de control determinados para el bloque secundario.
Además, tal dispositivo de codificación comprende unos medios de inserción, en una señal representativa de la secuencia, de informaciones de reconstrucción de los vectores de control para el bloque dado.
Tal dispositivo de codificación está adaptado, en concreto, para implementar el procedimiento de codificación descrito anteriormente. Se trata, por ejemplo, de un codificador de vídeo de tipo MPEG o H.264 o según una futura norma de compresión de vídeo.
Otro aspecto de la invención se refiere a una señal representativa de una secuencia de imágenes codificada según el procedimiento de codificación descrito anteriormente.
Tal señal comprende al menos una información de reconstrucción de los vectores de control para el bloque dado.
Esta señal podrá incluir, por supuesto, las diferentes características relativas al procedimiento de codificación según la invención.
Las informaciones de reconstrucción comprenden al menos un indicador de conexión representativo de un movimiento entre el bloque dado y al menos un bloque vecino.
Según una variante, las informaciones de reconstrucción comprenden los vectores de control, o una información representativa de estos vectores, para el bloque dado.
En particular, tal señal también comprende la diferencia o residuo entre el bloque de la imagen corriente y la predicción.
Esta señal puede transportar, asimismo, informaciones relativas al orden de corte de los bloques.
La invención se refiere igualmente a un soporte de grabación que soporta una señal como la descrita anteriormente.
Otro aspecto de la invención se refiere a un procedimiento de decodificación de una señal representativa de una secuencia de imágenes tal como se define en las reivindicaciones. Tal procedimiento de decodificación comprende, en concreto, una etapa de reconstrucción de al menos una imagen de la secuencia, a partir de una predicción de la imagen a reconstruir, asociando dicha predicción un bloque de la imagen a reconstruir con al menos un bloque correspondiente en una imagen de referencia de la secuencia.
Tal procedimiento de decodificación comprende una etapa de obtención de informaciones de reconstrucción de vectores de control para al menos un bloque dado de la imagen a reconstruir o de la imagen de referencia, respectivamente.
Además, la predicción comprende las siguientes etapas, para el bloque dado:
- determinación de una pluralidad de vectores de control para el bloque, siendo cada uno representativo de un desplazamiento entre un punto característico de dicho bloque y la posición correspondiente de dicho punto característico en la imagen de referencia o en la imagen a reconstruir, respectivamente, a partir de las informaciones de reconstrucción;
- al menos un corte del bloque en bloques secundarios;
- determinación de una pluralidad de vectores de control para los bloques secundarios, a partir de los vectores de control para el bloque;
- determinación de un valor de predicción para al menos un punto de la imagen a reconstruir, a partir de una compensación en movimiento de al menos uno de dichos bloques secundarios, efectuada a partir de los vectores de control determinados para el bloque secundario.
Tal procedimiento está adaptado, en concreto, para decodificar una secuencia de imágenes codificada según el procedimiento de codificación descrito previamente. De este modo se efectúan las mismas etapas de predicción que para la codificación, de manera que el bloque dado se reconstruye añadiendo el residuo de predicción (transmitido en la señal) a la predicción.
La predicción efectuada del lado de decodificación utiliza las informaciones de reconstrucción de los vectores de control transmitidas en la señal.
De este modo, la etapa de obtención comprende una etapa de extracción de al menos un indicador de conexión representativo de un movimiento entre el bloque dado y al menos un bloque vecino.
Se trata, por ejemplo, de los indicadores "flag_tc" (primer indicador) y "flag jc" (segundo indicador) transmitidos en la señal.
Estos indicadores se utilizan, en concreto, para reconstruir los vectores de control para el bloque dado.
En particular, el procedimiento de decodificación comprende una etapa de decisión y/o de parametrización del corte, que permite decidir si el bloque dado debe cortarse, y/o parametrizarse el corte del bloque dado. Estas etapas de decisión y/o parametrización están definidas teniendo en cuenta un criterio predeterminado que pertenece al grupo que comprende:
- un número predefinido de bloques secundarios para el bloque;
- una información de similitud entre dichos vectores de control;
- un tamaño de dicho bloque;
- un indicador representativo de un número de corte;
- etc.
De esta manera, todos los bloques de una imagen a reconstruir o de una imagen de referencia no se cortan necesariamente en bloques secundarios, y el corte en bloques secundarios puede variar de un bloque a otro de la imagen. La división en bloques secundarios es, por tanto, adaptativa.
La invención también se refiere a un producto de programa informático descargable desde una red de comunicaciones y/o grabado en un soporte legible por ordenador y/o ejecutable por un procesador, que comprende instrucciones de código de programa para la implementación del procedimiento de decodificación tal y como se ha descrito antes, cuando el programa es ejecutado por un procesador.
En otro modo de realización, la invención se refiere a un dispositivo de decodificación de una señal representativa de una secuencia de imágenes tal como se define en las reivindicaciones. Tal dispositivo de decodificación comprende, en concreto, unos medios de reconstrucción de al menos una imagen de la secuencia, que implementan unos medios de predicción de la imagen a reconstruir, asociando un bloque de la imagen a reconstruir con al menos un bloque correspondiente en una imagen de referencia de la secuencia.
Tal dispositivo comprende unos medios de obtención de informaciones de reconstrucción de vectores de control para al menos un bloque dado de la imagen a reconstruir o de la imagen de referencia, respectivamente.
Además, los medios de predicción comprenden, para el bloque dado:
- unos medios de determinación de una pluralidad de vectores de control para el bloque, a partir de informaciones de reconstrucción;
- unos medios de corte del bloque en bloques secundarios;
- unos medios de determinación de una pluralidad de vectores de control para los bloques secundarios, a partir de los vectores de control para el bloque;
- unos medios de determinación de un valor de predicción para al menos un punto de la imagen a reconstruir, a partir de una compensación en movimiento de al menos uno de dichos bloques secundarios, efectuada a partir de los vectores de control determinados para el bloque secundario.
Tal dispositivo de decodificación está adaptado, en concreto, para implementar el procedimiento de codificación descrito anteriormente. Se trata, por ejemplo, de un decodificador de vídeo de tipo MPEG o H.264 o según una futura norma de compresión de vídeo.
4. Lista de figuras
Otras características y ventajas de la invención se apreciarán con mayor claridad tras la lectura de la siguiente descripción de un modo de realización particular, aportado a modo de simple ejemplo ilustrativo y no limitativo, así como de los dibujos adjuntos, entre los cuales:
- las figuras 1A y 1B presentan las principales etapas de la predicción por compensación en movimiento y del procedimiento de codificación según un modo de realización de la invención;
- la figura 2 propone un algoritmo para la determinación de los vectores de control para un bloque;
- las figuras 3A a 3G ilustran la determinación de los vectores de control para un bloque teniendo en cuenta sus vecinos;
- la figura 4 presenta un ejemplo de corte de un bloque en bloques secundarios;
- la figura 5 ilustra la determinación de un valor de predicción para un píxel;
- la figura 6 presenta las principales etapas del procedimiento de decodificación según un modo de realización de la invención;
- las figuras 7 y 8 presentan la estructura de un dispositivo de codificación y de un dispositivo de decodificación según un modo de realización particular de la invención.
5. Descripción de un modo de realización de la invención
5.1 Principio general
El principio general de la invención se basa en la codificación y decodificación de una secuencia de imágenes, que implementa una predicción temporal asociando un bloque de una imagen a codificar con al menos un bloque correspondiente en una imagen de referencia de la secuencia.
De manera más específica, la invención propone una nueva técnica de predicción por compensación en movimiento de un bloque codificado en modo "inter". La técnica propuesta permite obtener una representación de un movimiento natural limitando la complejidad aportada, tanto a nivel de los cálculos como del número de parámetros a transmitir. La invención se aplica, en concreto, a la codificación de secuencias de imágenes o de escenas representadas con la ayuda de tubos de movimiento donde un tubo de movimiento corresponde a un bloque de píxeles que evoluciona con el transcurso del tiempo. En el transcurso de esta evolución, el tubo puede deformarse, por ejemplo, para tener en cuenta el movimiento aparente o incluso si el número de píxeles presentes en el bloque aumenta o disminuye. Este tubo también se puede refinar, por ejemplo, pasando al nivel sub-pixélico del bloque. La invención permite, en concreto, determinar las deformaciones sufridas por un tubo.
En particular, se recuerda que un tubo de movimiento está definido al menos por las siguientes informaciones: - un bloque de píxeles de referencia que comprende informaciones de textura de referencia;
- unos instantes de inicio de tubo y de fin de tubo;
- informaciones de transición que permiten actualizar dicho bloque de referencia al menos a un instante t de dicha secuencia.
Tal técnica de representación de secuencias de imágenes se describe, en concreto, en la solicitud de patente francesa n.° 0756007 presentada el 25 de junio de 2007 en nombre de la misma Solicitante.
La predicción temporal, según la invención, se basa en la determinación de una pluralidad de vectores de control para al menos un bloque, en el corte de al menos este bloque en bloques secundarios, y en la determinación de una pluralidad de vectores de control para los bloques secundarios. Estos vectores de control se utilizan a continuación, para determinar una predicción de los bloques secundarios y luego del bloque.
5.2 Compensación en movimiento
A continuación, se describe, en relación con la figura 1A, las principales etapas efectuadas para la predicción por compensación en movimiento, implementadas, por ejemplo, en un codificador de vídeo de tipo H.264.
Cabe destacar que la invención puede aplicarse tanto a los bloques como a los macrobloques en el sentido de la norma H.264. En la descripción, por tanto, se debe interpretar que el término "bloque" significa "macrobloque" o "bloque" en el sentido de esta norma, salvo cuando se indica lo contrario.
Como se ilustra en la figura 1A, la predicción por compensación en movimiento (11) de al menos un bloque de una imagen corriente de una secuencia de imagen implementa las siguientes etapas, para al menos un bloque dado bC de una primera imagen:
- determinación 111 de una pluralidad de vectores de control vbC para el bloque bC, siendo cada uno representativo de un desplazamiento entre un punto característico del bloque bC y su posición correspondiente en una segunda imagen;
- al menos un corte 112 del bloque bC en bloques secundarios bSC1, bSC2, etc.;
- determinación 113 de una pluralidad de vectores de control vbSC1, vbSC2, etc. para los bloques secundarios, a partir de los vectores de control vbC para el bloque;
- determinación 114 de un valor de predicción para al menos un punto de la imagen corriente, a partir de una compensación en movimiento, efectuada a partir de los vectores de control vbSC1, vbSC2, etc., determinados para el bloque secundario.
En particular, si la predicción implementa una compensación en movimiento hacia atrás, la primera imagen es la imagen corriente y la segunda imagen es una imagen de referencia. Se recuerda que una imagen de referencia corresponde a una imagen codificada/decodificada anteriormente.
Si la predicción implementa una compensación en movimiento hacia delante, la primera imagen es una imagen de referencia y la segunda imagen es la imagen corriente.
De este modo, se determina una predicción de al menos un bloque de la imagen corriente, también denominado bloque
predicho bc.
A continuación, se describe con más detalle las diferentes etapas implementadas para la determinación de la predicción de un bloque codificado en inter. Las etapas de determinación de los vectores de control y de corte de un bloque en bloques secundarios, se describen en el caso de una compensación en movimiento hacia atrás, según la cual los vectores de control apuntan desde la imagen corriente hacia una o varias imágenes de referencia. El experto en la materia entenderá sin dificultad estas enseñanzas con una compensación en movimiento hacia delante, según la cual los vectores de control apuntan desde una imagen de referencia hacia la imagen corriente, sustituyendo la imagen corriente con la imagen de referencia y a la inversa. La etapa de determinación del valor de predicción de un punto o píxel se describe, a continuación, para cada uno de los dos tipos de compensación en movimiento.
A) Determinación de los vectores de control
Se determina en primer lugar, de la manera tradicional, un vector de movimiento para el bloque bc de la imagen corriente Ic. A este vector de movimiento se le denomina v.
A continuación, se determina (111) una pluralidad de vectores de control vbC para el bloque bC. Según este ejemplo de realización, se determinan cuatro vectores de control para el bloque, estando cada uno asociado con un vértice o esquina del bloque.
Por ejemplo, se denomina:
- vbr al vector de control asociado con la esquina situada abajo a la derecha del bloque bc,
- vbl al vector de control asociado con la esquina situada abajo a la izquierda del bloque bc,
- vtr al vector de control asociado con la esquina situada arriba a la derecha del bloque bc;
- vti al vector de control asociado con la esquina situada arriba a la izquierda del bloque bC.
Estos vectores de control se inicializan con un valor nulo.
Del lado de la codificación, se compara la posición del bloque bC en la imagen corriente Ic con respecto a la de sus vecinos y la posición del bloque correspondiente en la imagen de referencia Ir con respecto a la de sus vecinos. Por ejemplo, si el bloque bc y el bloque situado por encima presentan una arista común a la vez en la imagen corriente y en la imagen de referencia tras la compensación en movimiento, entonces, eso significa que los dos bloques están conectados verticalmente.
Se asigna entonces el valor 1 con un primer indicador flag_tc.
Si el bloque bc y el bloque situado a su izquierda presentan una arista común a la vez en la imagen corriente y en la imagen de referencia tras la compensación en movimiento, entonces eso significa que los dos bloques están conectados horizontalmente.
Se asigna entonces el valor 1 a un segundo indicador flag_lc.
Estos indicadores se utilizan para representar los movimientos del bloque bc y de su vecino (de arriba o de la izquierda) entre la imagen corriente y la imagen de referencia. Se pueden utilizar para determinar los vectores de control. Estos indicadores podrán ser utilizados para reconstruir los vectores de control, si son recibidos por un decodificador. Opcionalmente, para una implementación de señalización reducida, los dos indicadores flag_tc y flag_lc pueden verse obligados a adoptar el mismo valor. Entonces están representados por un indicador único flag_c que adopta el valor 0 o 1. En esta variante, por tanto, un decodificador utiliza un único indicador para reconstruir los vectores de control. Tras el análisis de las imágenes corriente y de referencia, se determinan los vectores de control vbr, vbl, vtr y vti para el bloque bc, como se propone en la figura 2.
Por ejemplo, se asigna 21 al vector de control vbr asociado con la esquina situada abajo a la derecha del bloque bc el vector de movimiento v, previamente definido para el bloque.
A continuación, se verifica (22) si el indicador flag_lc es igual a 1, lo que significa que el bloque bc y el bloque situado a su izquierda están conectados horizontalmente.
También se verifica (231, 232) si el indicador flag_tc es igual a 1, lo que significa que el bloque bc y el bloque situado por encima están conectados verticalmente.
Si el indicador flag_lc es igual a 1, entonces, el vector de control vbl adopta el valor del vector de control vbr del bloque situado a la izquierda del bloque bc (vbl = vbr(bloque_izquierda)). Estas notaciones se eligen para facilitar la lectura y
la comprensión de las ecuaciones para el experto en la materia del ámbito en cuestión.
Además, en un modo conectado verticalmente (indicador flag_tc igual a 1), el vector de control vtr adopta el valor del vector de control vbr del bloque situado por encima del bloque be (vtr = Vbr(bloque_arriba)), y el vector de control vti adopta el valor medio del vector de control Vbi del bloque situado por encima del bloque be y del vector de control vtr del bloque situado a la izquierda del bloque be (vti = med[vtr(bloque_izquierda), Vbi(bloque_arriba)]).
En un modo no conectado verticalmente (indicador flag_tc igual a 0), el vector de control vti adopta el valor del vector de control vtr del bloque situado a la izquierda del bloque be (vti = vtr(bioque_izquierda)), y el vector de control vtr se obtiene a partir de los otros tres vectores de control del bloque be (vtr = vti + vbr - vbi).
Si en el transcurso de la etapa 22 se constata que el indicador flag_lc no es igual a 1, lo que significa que el bloque be y el bloque situado a su izquierda están en un modo no conectado, se obtiene:
- en un modo conectado verticalmente (indicador flag_tc igual a 1):
o el vector de control vtr adopta el valor del vector de control vbr del bloque situado por encima del bloque be (vtr = vbr(bioque_arriba));
o el vector de control vti adopta el valor del vector de control vbi del bloque situado por encima del bloque be (vtl = vbi(bioque_arriba));
o el vector de control vbi se obtiene a partir de los otros tres vectores de control del bloque be (vbi = vti + vbr- vtr);
- en un modo no conectado verticalmente (indicador flag_tc igual a 0):
o todos los vectores de control vti, vtr y vbi adoptan el valor del vector de control vbr del bloque be (vu = vti = vbr = vtr = v).
En particular, si un bloque no tiene vecino a su izquierda, entonces los vectores de control asociados con sus esquinas de arriba a la izquierda y de abajo a la izquierda se definen a partir de los vectores de control determinados para sus esquinas de arriba a la derecha y abajo a la derecha (vbi = vbr y vti = vtr). De la misma manera, si un bloque no tiene vecino por encima, entonces vectores de control asociados con sus esquinas de arriba a la izquierda y de arriba a la derecha se definen a partir de los vectores de control determinados para sus esquinas de abajo a la izquierda y de abajo a la derecha (vti = vbi y vtr = vbr). Si un bloque no tiene vecino a la izquierda, ni vecino por encima, entonces los vectores de control asociados con sus esquinas de arriba a la izquierda, arriba a la derecha y abajo a la derecha, se definen a partir del vector de control determinado para su esquina de abajo a la derecha (vbi = vti = vtr = vbr).
Según el modo de realización presentado, los indicadores flag_lc y flag_tc se transmiten al decodificador, en forma de informaciones de reconstrucción de los vectores de control para el bloque be.
En particular, estos indicadores pueden estar definidos para un conjunto de bloques o bien, incluso bloque a bloque. Además, estos indicadores se pueden aprovechar durante la definición del vector de movimiento v para el bloque dado. En efecto, se pueden utilizar estas informaciones, por ejemplo, en el modo de predicción utilizado para la predicción del vector de movimiento asociado con el bloque dado.
De este modo, si el bloque dado y el bloque situado por encima están conectados y el bloque dado no está conectado con el bloque situado a su izquierda, entonces, la codificación del vector de movimiento del bloque dado puede hacerse con la ayuda de una predicción definida por el vector de movimiento del bloque situado por encima (y no una predicción a partir del vector medo de los bloques vecinos, como se utiliza en un codificador del estado de la técnica).
Asimismo, si el bloque dado y el bloque situado a su izquierda están conectados y el bloque dado no está conectado con el bloque situado por encima, entonces, la codificación del vector de movimiento del bloque dado puede hacerse con la ayuda de una predicción definida por el vector de movimiento del bloque situado a su izquierda (y no una predicción a partir del vector medio de los bloques vecinos, como se utiliza en un codificador del estado de la técnica).
Asimismo, según el modo de realización presentado, solo se puede codificar un único vector de movimiento, el vector v (v = vbr). Los otros vectores de movimiento (vtr, vti, vbi) pueden definirse con la ayuda de los indicadores flag_lc y flag_tc.
Las figuras 3A a 3F ilustran, en concreto, la determinación de los vectores de control para el bloque be de una imagen corriente Ie, para una predicción por compensación en movimiento hacia atrás, según la cual los vectores de control apuntan desde la imagen corriente Ie hacia una imagen de referencia Ir.
De manera más específica, la figura 3A ilustra la determinación de los vectores de control para el bloque be en el caso de que los bloques situados a la izquierda y por encima del bloque be son coherentes, es decir, que la esquina de abajo a la izquierda del bloque situado por encima del bloque be, y la esquina de arriba a la derecha del bloque situado a la izquierda del bloque be están conectados y los indicadores flag_lc y flag_tc son iguales a 1.
La figura 3B ilustra el caso en el que los bloques situados a la izquierda y por encima del bloque be son coherentes, el indicador flag_lc es igual a 1 y el indicador flag_tc es igual a 0.
La figura 3C ilustra el caso en el que los bloques situados a la izquierda y por encima del bloque be son coherentes, el indicador flag_lc es igual a 0 y el indicador flag_tc es igual a 1.
La figura 3D ilustra el caso en el que los bloques situados a la izquierda y por encima del bloque be son coherentes y los indicadores flag_lc y flag_tc son iguales a 0.
La figura 3E ilustra el caso en el que los bloques situados a la izquierda y por encima del bloque be no son coherentes, es decir, que la esquina de abajo a la izquierda del bloque situado por encima del bloque be, y la esquina de arriba a la derecha del bloque situado a la izquierda del bloque be son diferentes, el indicador flag_lc es igual a 1 y el indicador flag_tc es igual a 0.
La figura 3F ilustra el caso en el que los bloques situados a la izquierda y por encima del bloque be son no coherentes, el indicador flag_lc es igual a 0 y el indicador flag_tc es igual a 1.
La figura 3G ilustra el caso en el que los bloques situados a la izquierda y por encima del bloque be no son coherentes y los indicadores flag_lc y flag_tc son iguales a 1.
B) eorte de un bloque en bloques secundarios
A continuación, se describe de manera más específica la etapa 112 de corte del bloque be en bloques secundarios. Se recuerda que, según la invención, al menos un bloque de la imagen corriente se descompone en bloques secundarios.
Los cuatro vectores de control definidos para el bloque be se utilizan entonces con el fin de ser interpolados para definir los vectores de control de los diferentes bloques secundarios. Por ejemplo, se determinan cuatro vectores de control para cada bloque secundario.
De este modo, como se ilustra en la figura 4, el bloque be se corta, por ejemplo, en cuatro bloques secundarios bsei, bse2, bse3y bse4. Los vectores de control unidos al bloque be se interpolan a continuación, para definir nuevos vectores de control para los bloques secundarios. Por ejemplo, se denomina:
- Vmi al vector de control asociado con la esquina situada abajo a la izquierda del bloque secundario bsei, que también se corresponde con la esquina situada arriba a la izquierda del bloque secundario bseí,
- vtm al vector de control asociado con la esquina situada arriba a la derecha del bloque secundario bsei, que también se corresponde con la esquina situada arriba a la izquierda del bloque secundario bse2 ,
- vmr al vector de control asociado con la esquina situada abajo a la derecha del bloque secundario bse2, que también se corresponde con la esquina situada arriba a la derecha del bloque secundario bse4,
- vbm al vector de control asociado con la esquina situada abajo a la derecha del bloque secundario bse3, que también se corresponde con la esquina situada abajo a la izquierda del bloque secundario bse4, y
- vmm al vector de control asociado con la esquina situada abajo a la derecha del bloque secundario bsei, que también se corresponde con la esquina situada abajo a la izquierda del bloque secundario bse2 , con la esquina situada arriba a la derecha del bloque secundario bse3 y con la esquina situada arriba a la izquierda del bloque secundario bse4.
Los vectores de control para los bloques secundarios se determinan entonces a partir de los vectores de control para
Estos vectores de control se asignan a continuación, a los diferentes bloques secundarios:
- el bloque secundario bsei situado arriba a la izquierda tiene como vectores de control los vectores de movimiento vtl, Vtm, Vml, Vmm,
- el bloque secundario bse2 situado arriba a la derecha tiene como vectores de control los vectores de movimiento vtm, vtr, vmm, vmr,
- el bloque secundario bse3 situado abajo a la izquierda tiene como vectores de control los vectores de movimiento
Vml, Vmm, Vbl, Vbm,
- el bloque secundario bsc4 situado abajo a la derecha tiene como vectores de control los vectores de movimiento Vmn, Vmr, Vbm, Vbr.
El número de corte puede depender de diversos parámetros. Por ejemplo, puede estar definido por un parámetro global definido para un conjunto de bloques, o bien ser adaptativo para cada bloque. Se divide así un bloque en bloques secundarios de menor tamaño para los que se realiza una predicción específica. Aparecen entonces bloques de tamaños variables para realizar la compensación en movimiento.
De manera más específica, el número de corte puede definirse según el tamaño del bloque o según un número predefinido de bloques secundarios para el bloque. Por ejemplo, un macrobloque con un tamaño de 16x16 se puede cortar en ocho bloques con un tamaño de 4x8 o 8x4, o en cuatro bloques con un tamaño de 8x8, o en dos bloques con un tamaño de 8x16 o 16x8.
Según una variante, se comparan de dos en dos los vectores de control asociados con el bloque bc, para obtener una información de similitud. A continuación, se recorta el bloque bc en bloques secundarios únicamente si la información de similitud es al menos superior a un umbral predeterminado.
En el caso adaptativo por bloque, se puede definir el número de subdivisiones a efectuar en función de la diferencia máxima entre la amplitud de los vectores de control (por ejemplo, mediante una simple cuantificación del valor de diferencia máxima).
C) Determinación del Valor de predicción para al menos un punto de la imagen corriente para una compensación en moVimiento hacia atrás de un bloque secundario de la imagen corriente
A continuación, se presenta la etapa 114 de determinación de un valor de predicción para al menos un píxel de la imagen corriente, a partir de una compensación en movimiento hacia atrás efectuada a partir de los vectores de control determinados para un bloque secundario de la imagen corriente, como se ilustra en la figura 5.
Dado un bloque secundario y sus cuatro vectores de control, se establece para cualquier punto x de ese bloque secundario una predicción P(x) con la ayuda de la siguiente ecuación:
P (x )= w, (x ) ¡ R (x + V ,) w2 (.y ) / R(x V2 ) w3 (.y ) / r ( x + v3 ) vv4 ( x ) l R (x + v4 )
donde: (V1, V2, V3, V4) = (vti, vtm, Vmm, vm) para el bloque secundario Bsc1;
(v1, V2, V3, V4) = (vtm, vtr, Vmr, Vmm) para el bloque secundario bSC2 ,
(V1, V2, V3, V4) = (Vml, Vmm, Vbm, Vbl) para el bloque secundario bSC3; y
(V1, V2, V3, V4) = (Vmm, Vmr, Vbr, Vbm) para el bloque secundario bSC4.
Los pesos de ponderación w1(x), ws(x), w3(x), w4(x) pueden determinarse como se describe en el documento "On Spatial Adaptation of Motion Field Smoothness in Video Coding' citado anteriormente. También se pueden considerar otras técnicas conocidas.
De esta forma se determina una predicción de al menos un bloque de la imagen corriente Ic.
D) Determinación del Valor de predicción para al menos un punto de la imagen corriente para una compensación en moVimiento hacia delante de un bloque secundario de una imagen de referencia
A continuación se presenta la etapa 114 de determinación de un valor de predicción para al menos un píxel de la imagen corriente, a partir de una compensación en movimiento hacia delante efectuada a partir de los vectores de control determinados para un bloque secundario de una imagen de referencia.
En el caso de la compensación en movimiento hacia delante, los bloques de la imagen corriente pueden predecirse mediante varios bloques de una o varias imágenes de referencia. Con el fin de calcular un valor de predicción para un punto de la imagen corriente es necesario proyectar todos los bloques de las imágenes de referencia sobre la imagen corriente con el fin de determinar qué bloques permiten predecir el punto de la imagen corriente.
A continuación, se propone un algoritmo para la construcción de una imagen de predicción para la imagen corriente.
En el transcurso de una primera etapa se inicializa la imagen de predicción. De ese modo, para cualquier punto x de la imagen, se tiene:
RI(x) = 0, RW(x) = 0. RI corresponde a la imagen de predicción en la que se ponderan y acumulan todos los valores de predicción dados por los bloques de las imágenes de referencia. RW corresponde a la imagen de acumulación de los pesos.
Para cualquier bloque secundario bsci, bsc2, s e implementan las siguientes etapas:
- para cada vector de movimiento del bloque secundario, se actualiza la imagen de predicción, para ab igual a tl, tr, bl y luego br. Para cualquier x en el bloque secundario:
- se acumula el valor Wab(x)*P(x) en los puntos RI(x + vab): RI(x + vab) += Wab(x)*P(x),
P(x) siendo la predicción en el punto x del bloque secundario;
- se acumula el valor wab(x) en los puntos RW(x + vab): RW(x + vab) += wab(x).
Los pesos wab utilizados durante la compensación del movimiento hacia delante pueden adoptar el valor de los pesos utilizados en una compensación de movimiento hacia atrás, pero también de diferentes valores. En particular, sus valores pueden diferir y ser adaptativos por cada bloque. Por ejemplo, esta adaptación puede depender de la similitud de los vectores de movimiento de control.
La imagen de predicción se normaliza entonces: para cualquier punto x en la imagen:
- si RW(x) es diferente de 0, se divide RI(x) entre RW(x):
RW(x)! = 0 entonces RI(x) /= RW(x);
- si no, RI(x) se establece a un valor predefinido UNDEF, por ejemplo, el valor 0.
Opcionalmente, los valores no definidos, para los que RW(x) es igual a 0, se modifican, con el fin de tener un valor más probable con respecto a sus vecinos. Esta última etapa puede realizarse de diferentes maneras, por ejemplo, definiendo para cualquier valor no definido el valor del punto y más próximo en la imagen de predicción que tenga un valor definido correctamente (es decir, RW(y) diferente de 0).
De esta manera, se determina una predicción de los bloques de la imagen corriente Ic.
5.3 Codificación
A continuación, con relación a la figura 1B, se describen las principales etapas de codificación implementadas en un codificador de vídeo, por ejemplo, de tipo H.264. En particular, el procedimiento según la invención puede implementarse de diversas maneras, en concreto, en forma cableada o en forma de programa informático.
Como se ilustra en la figura 1B, el procedimiento de codificación según la invención comprende una etapa de codificación 11 de al menos un bloque bc de una imagen corriente Ic de una secuencia de imagen, que implementa una predicción por compensación en movimiento tal como la descrita anteriormente en relación con la figura 1A. De esta forma se determina una predicción de al menos un bloque de la imagen corriente Ic, también denominado bloque predicho bc.
A continuación, normalmente, se determina un residuo de error de predicción, correspondiente a la diferencia entre el bloque de la imagen corriente y el bloque predicho Sc.
Finalmente, en el transcurso de una etapa 12, en una señal representativa de la secuencia de imágenes se insertan informaciones de reconstrucción de los vectores de control para el bloque bC.
Por ejemplo, estas informaciones de reconstrucción adoptan la forma de indicadores de conexión, representativos de un movimiento entre el bloque bC y al menos un bloque vecino o comprenden directamente los vectores de control para el bloque bc.
También se insertan en la señal los residuos de error de predicción, que podrían ser utilizados por el decodificador durante la reconstrucción de la secuencia de imagen.
La señal representativa de la secuencia de imágenes puede entonces ser transmitida y/o almacenada en un soporte de grabación.
5.3 Señal
Una vez codificadas, las imágenes de la secuencia se transmiten a un decodificador.
Además, en esta señal se insertan informaciones de reconstrucción de los vectores de control para el bloque bC. Por ejemplo, estas informaciones de reconstrucción comprenden los indicadores flag_lc y flag_tc.
Según el modo de realización, también se insertan en la señal los residuos de error de predicción y, concretamente, el residuo de predicción del vector de movimiento v, que serán utilizados por el decodificador durante la reconstrucción de la secuencia de imagen.
También es posible insertar un indicador que precise el número de cortes que ha sufrido el bloque be al nivel del codificador. De esta forma se garantiza que el corte efectuado durante la predicción por el codificador sea idéntico al corte efectuado durante la predicción por el decodificador.
5.4 Decodificación
En lo sucesivo, se presentan con relación a la figura 6, las principales etapas de decodificación implementadas en un decodificador de vídeo, por ejemplo, de tipo H.264.
El procedimiento según la invención puede implementarse de diversas maneras, en concreto, en forma cableada o en forma de programa informático.
Se asume que el decodificador recibe una señal representativa de una secuencia de imágenes, codificada, por ejemplo, según el procedimiento de codificación descrito anteriormente.
De manera más específica, como se ilustra en la figura 6, el procedimiento de decodificación según la invención comprende una etapa 61 de reconstrucción de al menos una imagen de la secuencia, a partir de una predicción de la imagen a reconstruir y una etapa de obtención 62 de informaciones de reconstrucción de los vectores de control para al menos un bloque dado be de la imagen a reconstruir o de una imagen de referencia.
Según este ejemplo, se implementan las siguientes etapas, al menos para el bloque dado be de la imagen a reconstruir o de una imagen de referencia:
- determinación 611 de una pluralidad de vectores de control vbe para el bloque be, siendo cada uno representativo de un desplazamiento entre un punto característico del bloque be y su posición correspondiente en la imagen de referencia o en la imagen a reconstruir, a partir de las informaciones de reconstrucción;
- al menos un corte 612 del bloque be en bloques secundarios bsei, bse2, etc.;
- determinación 613 de una pluralidad de vectores de control vbsei, vbse2, etc. para los bloques secundarios, a partir de los vectores de control para el bloque;
- determinación 614 de un valor de predicción para al menos un píxel de la imagen a reconstruir, a partir de una compensación en movimiento de al menos uno de los bloques secundarios, efectuada a partir de los vectores de control determinados para el bloque secundario.
De esta forma se determina una predicción de al menos un bloque de la imagen a reconstruir, también denominado bloque predicho Sc.
A continuación, normalmente se añade el residuo de error de predicción determinado en la codificación al bloque predicho, para determinar un bloque reconstruido de la imagen a reconstruir.
Las etapas de determinación 611 de una pluralidad de vectores de control para el bloque, corte 612 del bloque en bloques secundarios, determinación 613 de una pluralidad de vectores de control para los bloques secundarios, determinación 614 de un valor de predicción para al menos un píxel de la imagen a reconstruir son similares a las implementadas en la codificación y, por tanto, no se describen con más detalle.
En particular, se puede observar que la etapa de determinación 611 de una pluralidad de vectores de control vbe para el bloque be tiene en cuenta las informaciones de reconstrucción obtenidas en el transcurso de la etapa 62.
Según una primera variante, estas informaciones de reconstrucción adoptan la forma de al menos un indicador de conexión, insertado en la señal representativa de la secuencia de imagen en el codificador. Por ejemplo, estas informaciones de reconstrucción comprenden el indicador flag_tc y el indicador flag_lc.
Según una segunda variante, estas informaciones de reconstrucción adoptan la forma de vectores de control para el bloque be, directamente transmitido en el flujo.
5.5 Inversión del movimiento
Como se ha indicado anteriormente, la técnica propuesta permite codificar/decodificar la secuencia de imágenes utilizando proyecciones hacia delante y/o hacia atrás.
De este modo, el movimiento definido en los bloques se puede invertir y permitir la realización de un proceso de codificación/decodificación por proyección hacia delante (los vectores de movimiento están definidos en una imagen de referencia) de informaciones (predicción en la imagen corriente de valores de textura, movimiento o cualquier otra
información útil, como por ejemplo, una información de profundidad para un codificador de vídeo 3D que codifica informaciones de profundidad).
La imagen reconstruida por inversión de movimiento se realiza por medio del corte en bloques secundarios descrito anteriormente. Esta imagen reconstruida puede utilizarse en el codificador y/o en el decodificador.
5.6 Estructuras del codificador y del decodificador
Finalmente, en relación con las figuras 7 y 8, se presentan las estructuras simplificadas de un dispositivo de codificación y de un dispositivo de decodificación que implementan, respectivamente, una técnica de codificación y una técnica de decodificación tales como las descritas anteriormente.
Un dispositivo de codificación, como el que se ilustra en la figura 7, comprende una memoria 71 que comprende un búfer, una unidad de procesamiento 72, equipada, por ejemplo, con un microprocesador pP y que está controlada por el programa informático 73, que implementa el procedimiento de codificación según la invención.
Al inicio, las instrucciones de código del programa informático 73 se cargan, por ejemplo, en una memoria RAM antes de ser ejecutadas por el procesador de la unidad de procesamiento 72. La unidad de procesamiento 72 recibe como entrada al menos una imagen a codificar o un bloque de una imagen a codificar. El microprocesador de la unidad de procesamiento 72 implementa las etapas del procedimiento de codificación descrito anteriormente, según las instrucciones del programa informático 73, para determinar una predicción de la imagen o del bloque a codificar, y codificar el bloque o la imagen correspondiente. Para ello, el dispositivo de codificación comprende, además del búfer 71, unos medios de predicción que asocian el bloque con al menos un bloque correspondiente en una imagen de referencia de la secuencia y unos medios de inserción, en una señal representativa de la secuencia, de informaciones de reconstrucción de los vectores de control para el bloque, comprendiendo los medios de predicción unos medios de determinación de una pluralidad de vectores de control para el bloque, unos medios de corte del bloque en bloques secundarios, unos medios de determinación de una pluralidad de vectores de control para los bloques secundarios, y unos medios de determinación de un valor de predicción para al menos un píxel de la imagen corriente. Estos medios los controla el microprocesador de la unidad de procesamiento 72.
Un dispositivo de decodificación, como el que se ilustra en figura 8, comprende una memoria 81 que comprende un búfer, una unidad de procesamiento 82, equipada, por ejemplo, con un microprocesador pP y que está controlada por el programa informático 83, que implementa el procedimiento de decodificación según la invención.
Al inicio, las instrucciones de código del programa informático 83 se cargan, por ejemplo, en una memoria RAM antes de ser ejecutadas por el procesador de la unidad de procesamiento 82. La unidad de procesamiento 82 recibe como entrada una señal representativa de una secuencia de imágenes que comprende informaciones para la reconstrucción de los vectores de control asociados con al menos un bloque dado. El microprocesador de la unidad de procesamiento 82 implementa las etapas del procedimiento de decodificación descrito anteriormente, según las instrucciones del programa informático 83, para determinar una predicción del bloque dado y reconstruir la imagen correspondiente. Para ello, el dispositivo de decodificación comprende, además del búfer 81, unos medios de reconstrucción de al menos una imagen de dicha secuencia y unos medios de obtención de informaciones de reconstrucción de vectores de control para al menos un bloque dado, comprendiendo los medios de reconstrucción unos medios de predicción que comprenden unos medios de determinación de una pluralidad de vectores de control para el bloque, unos medios de corte del bloque en bloques secundarios, unos medios de determinación de una pluralidad de vectores de control para los bloques secundarios, unos medios de determinación de un valor de predicción para al menos un píxel de la imagen a reconstruir. Estos medios los controla el microprocesador de la unidad de procesamiento 82.
Claims (11)
1. Procedimiento de codificación de una secuencia de imágenes, que comprende una etapa de codificación de al menos un bloque de una imagen corriente de dicha secuencia, implementando una predicción (11) que asocia dicho bloque con al menos un bloque correspondiente en una imagen de referencia de dicha secuencia, caracterizado por que dicha predicción (11) comprende las siguientes etapas, para al menos un bloque dado de la imagen corriente o de la imagen de referencia, respectivamente:
- determinación (111) de una pluralidad de vectores de control para dicho bloque, siendo cada uno de dichos vectores de control representativo de un desplazamiento entre un punto característico de dicho bloque y una posición correspondiente de dicho punto característico en la imagen de referencia o en la imagen corriente, respectivamente, y determinándose dichos vectores de control teniendo en cuenta un vector de movimiento de dicho bloque y al menos un indicador de conexión representativo de un movimiento entre dicho bloque y al menos un bloque vecino en dicha imagen de referencia y dicha imagen corriente, indicando dicho al menos un indicador de conexión si dicho bloque y dicho bloque vecino tienen una arista común a la vez en la imagen de referencia y en la imagen corriente después de la compensación en movimiento;
- al menos un corte (112) de dicho bloque en bloques secundarios;
- determinación (113) de una pluralidad de vectores de control para dichos bloques secundarios, a partir de los vectores de control para dicho bloque;
- determinación (114) de un valor de predicción para al menos un punto de dicha imagen corriente, a partir de una compensación en movimiento de al menos uno de dichos bloques secundarios efectuada a partir de los vectores de control determinados para dicho bloque secundario;
y por que dicho procedimiento comprende una etapa de inserción (12), en una señal representativa de dicha secuencia, de un residuo de predicción del vector de movimiento del bloque y de informaciones de reconstrucción de dichos vectores de control para dicho bloque dado, comprendiendo dichas informaciones de reconstrucción de dichos vectores de control el al menos un indicador de conexión.
2. Procedimiento de codificación según la reivindicación 1, caracterizado por que dichos indicadores de conexión comprenden:
- un primer indicador representativo de un movimiento entre dicho bloque dado y el bloque situado por encima de dicho bloque dado, entre la imagen corriente y la imagen de referencia, y
- un segundo indicador representativo de un movimiento entre dicho bloque dado y el bloque situado a la izquierda de dicho bloque dado, entre la imagen corriente y la imagen de referencia.
3. Procedimiento de codificación según la reivindicación 1, caracterizado por que cada uno de dichos vectores de control para dicho bloque o bloque secundario está asociado con un vértice de dicho bloque o bloque secundario.
4. Procedimiento de codificación según las reivindicaciones 2 y 3, en el que el vector de control asociado con la esquina situada abajo a la derecha de dicho bloque dado tiene asignado dicho vector de movimiento del bloque, y cuando dicho segundo indicador indica que dicho bloque dado y el bloque situado a la izquierda de dicho bloque dado están conectados horizontalmente:
- el vector de control asociado con la esquina situada abajo a la izquierda de dicho bloque adopta el valor del vector de control asociado con la esquina situada abajo a la derecha de dicho bloque situado a la izquierda de dicho bloque dado, y
- cuando dicho primer indicador indica que dicho bloque dado y el bloque situado por encima de dicho bloque dado están conectados verticalmente, el vector de control asociado con la esquina situada arriba a la derecha de dicho bloque adopta el valor del vector de control asociado con la esquina situada abajo a la derecha de dicho bloque situado por encima de dicho bloque dado, y el vector de control asociado con la esquina situada arriba a la izquierda de dicho bloque adopta el valor medio del vector de control asociado con la esquina situada abajo a la izquierda de dicho bloque situado por encima de dicho bloque dado y del vector de control asociado con la esquina situada arriba a la derecha de dicho bloque situado a la izquierda de dicho bloque dado,
- cuando dicho primer indicador indica que dicho bloque dado y el bloque situado por encima de dicho bloque dado no están conectados verticalmente, el vector de control asociado con la esquina situada arriba a la izquierda de dicho bloque adopta el valor del vector de control asociado con la esquina situada arriba a la derecha de dicho bloque situado a la izquierda de dicho bloque dado, y el vector de control asociado con la esquina situada arriba a la derecha de dicho bloque se obtiene mediante la suma del vector de control asociado con la esquina situada arriba a la izquierda de dicho bloque dado y del vector de control asociado con la esquina situada abajo a la derecha de dicho bloque dado de la que se resta el vector de control asociado con la esquina situada abajo a la izquierda de dicho bloque dado,
cuando dicho segundo indicador indica que dicho bloque dado y el bloque situado a la izquierda de dicho bloque dado no están conectados horizontalmente,
- y cuando dicho primer indicador indica que dicho bloque dado y el bloque situado por encima de dicho bloque dado están conectados verticalmente:
- el vector de control asociado con la esquina situada arriba a la derecha de dicho bloque adopta el valor del vector de control asociado con la esquina situada abajo a la derecha de dicho bloque situado por encima de dicho bloque dado,
- el vector de control asociado con la esquina situada arriba a la izquierda de dicho bloque adopta el valor del vector de control asociado con la esquina situada abajo a la izquierda de dicho bloque situado por encima de dicho bloque dado,
- el vector de control asociado con la esquina situada abajo a la izquierda de dicho bloque se obtiene mediante la suma del vector de control asociado con la esquina situada arriba a la izquierda de dicho bloque dado y del vector de control asociado con la esquina situada abajo a la derecha de dicho bloque dado de la que se resta el vector de control asociado con la esquina situada arriba a la derecha de dicho bloque dado
- y cuando dicho primer indicador indica que dicho bloque dado y el bloque situado por encima de dicho bloque dado no están conectados verticalmente, el vector de control asociado con la esquina situada arriba a la izquierda de dicho bloque dado, el vector de control asociado con la esquina situada arriba a la derecha de dicho bloque dado y el vector de control asociado con la esquina situada abajo a la izquierda de dicho bloque dado adoptan el valor del vector de control asociado con la esquina situada abajo a la derecha de dicho bloque dado.
5. Producto de programa informático descargable desde una red de comunicaciones y/o grabado en un soporte legible por ordenador y/o ejecutable por un procesador, caracterizado por que comprende instrucciones de código de programa para la implementación del procedimiento de codificación según una cualquiera de las reivindicaciones 1 a 4 cuando el programa es ejecutado por un procesador.
6. Dispositivo de codificación de una secuencia de imágenes, que comprende unos medios de codificación de al menos un bloque de una imagen corriente de dicha secuencia, implementando unos medios de predicción (11) que asocian dicho bloque con al menos un bloque correspondiente en una imagen de referencia de dicha secuencia,
caracterizado por que dichos medios de predicción (11) comprenden, para al menos un bloque dado de la imagen corriente o de la imagen de referencia, respectivamente:
- unos medios de determinación (111) de una pluralidad de vectores de control para dicho bloque,
siendo cada uno de dichos vectores de control representativo de un desplazamiento entre un punto característico de dicho bloque y una posición correspondiente de dicho punto característico en la imagen de referencia o en la imagen corriente, respectivamente, y determinándose dichos vectores de control teniendo en cuenta un vector de movimiento de dicho bloque y al menos un indicador de conexión representativo de un movimiento entre dicho bloque y al menos un bloque vecino en dicha imagen de referencia y dicha imagen corriente, indicando dicho al menos un indicador de conexión si dicho bloque y dicho bloque vecino tienen una arista común a la vez en la imagen de referencia y en la imagen corriente después de la compensación en movimiento;
- unos medios de corte (112) de dicho bloque en bloques secundarios;
- unos medios de determinación (113) de una pluralidad de vectores de control para dichos bloques secundarios, a partir de los vectores de control para dicho bloque;
- unos medios de determinación (114) de un valor de predicción para al menos un punto de dicha imagen corriente, a partir de una compensación en movimiento de al menos uno de dichos bloques secundarios efectuada a partir de los vectores de control determinados para dicho bloque secundario;
y por que dicho dispositivo comprende unos medios de inserción (12), en una señal representativa de dicha secuencia, de un residuo de predicción del vector de movimiento del bloque y de informaciones de reconstrucción de dichos vectores de control para dicho bloque dado, comprendiendo dichas informaciones de reconstrucción de dichos vectores de control el al menos un indicador de conexión.
7. Señal representativa de una secuencia de imágenes codificada según el procedimiento de codificación de una cualquiera de las reivindicaciones 1 a 4,
caracterizada por que comprende un residuo de predicción del vector de movimiento del bloque dado y al menos una información de reconstrucción de dichos vectores de control para dicho bloque dado que comprende al menos un indicador de conexión representativo de un movimiento entre dicho bloque dado y al menos un bloque vecino, indicando dicho al menos un indicador de conexión si dicho bloque y dicho bloque vecino tienen una arista común a la vez en la imagen de referencia y en la imagen corriente después de la compensación en movimiento.
8. Procedimiento de decodificación de una señal representativa de una secuencia de imágenes, que comprende una etapa de reconstrucción (61) de al menos una imagen de dicha secuencia, a partir de una predicción de la imagen a reconstruir,
asociando dicha predicción un bloque de la imagen a reconstruir con al menos un bloque correspondiente en una imagen de referencia de dicha secuencia,
caracterizado por que comprende, para al menos un bloque dado de la imagen a reconstruir o de la imagen de referencia, respectivamente, una etapa de obtención (62) de un vector de movimiento del bloque y de informaciones
de reconstrucción de vectores de control, comprendiendo dichas informaciones de reconstrucción de dichos vectores de control al menos un indicador de conexión representativo de un movimiento entre dicho bloque y al menos un bloque vecino en dicha imagen de referencia y dicha imagen a reconstruir, indicando dicho al menos un indicador de conexión si dicho bloque y dicho bloque vecino tienen una arista común a la vez en la imagen de referencia y en la imagen a reconstruir después de la compensación en movimiento,
y por que dicha predicción comprende las siguientes etapas, para dicho bloque dado:
- determinación (611) de una pluralidad de vectores de control para dicho bloque, siendo cada uno representativo de un desplazamiento entre un punto característico de dicho bloque y una posición correspondiente de dicho punto característico en la imagen de referencia o en la imagen a reconstruir, respectivamente, a partir del vector de movimiento del bloque y del al menos un indicador de conexión;
- al menos un corte (612) de dicho bloque en bloques secundarios;
- determinación (613) de una pluralidad de vectores de control para dichos bloques secundarios, a partir de los vectores de control para dicho bloque;
- determinación (614) de un valor de predicción para al menos un punto de dicha imagen a reconstruir, a partir de una compensación en movimiento de al menos uno de dichos bloques secundarios, efectuada a partir de los vectores de control determinados para dicho bloque secundario.
9. Procedimiento de decodificación según la reivindicación 8, caracterizado por que comprende una etapa de decisión y/o de parametrización de dicho corte según un criterio predeterminado que pertenece al grupo que comprende:
- un número predefinido de bloques secundarios para dicho bloque;
- una información de similitud entre dichos vectores de control;
- un tamaño de dicho bloque;
- un indicador representativo de un número de corte.
10. Producto de programa informático descargable desde una red de comunicaciones y/o grabado en un soporte legible por ordenador y/o ejecutable por un procesador, caracterizado por que comprende instrucciones de código de programa para la implementación del procedimiento de decodificación según una cualquiera de las reivindicaciones 8 a 9 cuando el programa es ejecutado por un procesador.
11. Dispositivo de decodificación de una señal representativa de una secuencia de imágenes, que comprende unos medios de reconstrucción (61) de al menos una imagen de dicha secuencia, implementando unos medios de predicción de la imagen a reconstruir, asociando dichos medios de predicción un bloque de la imagen a reconstruir con al menos un bloque correspondiente en una imagen de referencia de dicha secuencia,
caracterizado por que comprende, para al menos un bloque dado de la imagen a reconstruir o de la imagen de referencia, respectivamente, unos medios de obtención (62) de un vector de movimiento del bloque e informaciones de reconstrucción de vectores de control, comprendiendo dichas informaciones de reconstrucción de dichos vectores de control al menos un indicador de conexión representativo de un movimiento entre dicho bloque y al menos un bloque vecino en dicha imagen de referencia y dicha imagen a reconstruir, indicando dicho al menos un indicador de conexión si dicho bloque y dicho bloque vecino tienen una arista común a la vez en la imagen de referencia y en la imagen a reconstruir después de la compensación en movimiento,
y por que dichos medios de predicción comprenden, para dicho bloque dado:
- unos medios de determinación (611) de una pluralidad de vectores de control para dicho bloque, siendo cada uno representativo de un desplazamiento entre un punto característico de dicho bloque y una posición correspondiente de dicho punto característico en la imagen de referencia o en la imagen a reconstruir, respectivamente, a partir del vector de movimiento del bloque y del al menos un indicador de conexión;
- unos medios de corte (612) de dicho bloque en bloques secundarios;
- unos medios de determinación (613) de una pluralidad de vectores de control para dichos bloques secundarios, a partir de los vectores de control para dicho bloque;
- unos medios de determinación (614) de un valor de predicción para al menos un punto de dicha imagen a reconstruir, a partir de una compensación en movimiento de al menos uno de dichos bloques secundarios, efectuada a partir de los vectores de control determinados para dicho bloque secundario.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0854465A FR2933565A1 (fr) | 2008-07-01 | 2008-07-01 | Procede et dispositif de codage d'une sequence d'images mettant en oeuvre une prediction temporelle, signal, support de donnees, procede et dispositif de decodage, et produit programme d'ordinateur correspondants |
PCT/FR2009/051264 WO2010001050A2 (fr) | 2008-07-01 | 2009-06-30 | Procede et dispositif de codage d'une sequence d'images mettant en oeuvre une prediction temporelle, signal, support de donnees, procede et dispositif de decodage, et produits programme d'ordinateur correspondants |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2752300T3 true ES2752300T3 (es) | 2020-04-06 |
Family
ID=40351610
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES09772732T Active ES2752300T3 (es) | 2008-07-01 | 2009-06-30 | Procedimiento y dispositivo de codificación de vídeos utilizando un número reducido de vectores de movimiento para los bloques conectados |
Country Status (8)
Country | Link |
---|---|
US (1) | US8855206B2 (es) |
EP (1) | EP2304962B1 (es) |
JP (1) | JP5466700B2 (es) |
CN (1) | CN102084654B (es) |
ES (1) | ES2752300T3 (es) |
FR (1) | FR2933565A1 (es) |
RU (1) | RU2509439C2 (es) |
WO (1) | WO2010001050A2 (es) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010043809A1 (fr) | 2008-10-15 | 2010-04-22 | France Telecom | Prediction d'une image par compensation en mouvement en avant |
WO2020084511A1 (en) | 2018-10-23 | 2020-04-30 | Beijing Bytedance Network Technology Co., Ltd. | Simplified entropy coding for sub-block based motion information list |
CN107534770B (zh) | 2015-03-10 | 2019-11-05 | 华为技术有限公司 | 图像预测方法和相关设备 |
CN106331722B (zh) | 2015-07-03 | 2019-04-26 | 华为技术有限公司 | 图像预测方法和相关设备 |
WO2017130696A1 (ja) * | 2016-01-29 | 2017-08-03 | シャープ株式会社 | 予測画像生成装置、動画像復号装置、および動画像符号化装置 |
US10638152B2 (en) * | 2016-03-15 | 2020-04-28 | Mediatek Inc. | Method and apparatus of video coding with affine motion compensation |
US10659801B2 (en) * | 2016-03-24 | 2020-05-19 | Lg Electronics Inc. | Method and apparatus for inter prediction in video coding system |
KR102715635B1 (ko) * | 2016-03-28 | 2024-10-11 | 로즈데일 다이나믹스 엘엘씨 | 인터 예측 모드 기반 영상 처리 방법 및 이를 위한 장치 |
CN116193110A (zh) * | 2017-01-16 | 2023-05-30 | 世宗大学校产学协力团 | 影像编码/解码方法 |
EP3451665A1 (en) | 2017-09-01 | 2019-03-06 | Thomson Licensing | Refinement of internal sub-blocks of a coding unit |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3263960B2 (ja) * | 1991-10-22 | 2002-03-11 | ソニー株式会社 | 動きベクトル符号器および復号器 |
JP3277111B2 (ja) | 1995-10-18 | 2002-04-22 | シャープ株式会社 | 動画像符号化装置および動画像復号化装置 |
JPH09182083A (ja) * | 1995-12-27 | 1997-07-11 | Matsushita Electric Ind Co Ltd | ビデオ画像符号化方法及び復号化方法とその装置 |
JP2798035B2 (ja) * | 1996-01-17 | 1998-09-17 | 日本電気株式会社 | 適応動きベクトル補間による動き補償フレーム間予測方法 |
GB2317525B (en) * | 1996-09-20 | 2000-11-08 | Nokia Mobile Phones Ltd | A video coding system |
FR2820255A1 (fr) * | 2001-01-26 | 2002-08-02 | France Telecom | Procedes de codage et de decodage d'images, dispositifs, systemes, signaux et applications correspondants |
JP3807342B2 (ja) * | 2002-04-25 | 2006-08-09 | 三菱電機株式会社 | デジタル信号符号化装置、デジタル信号復号装置、デジタル信号算術符号化方法、およびデジタル信号算術復号方法 |
GB2394136B (en) * | 2002-09-12 | 2006-02-15 | Snell & Wilcox Ltd | Improved video motion processing |
FR2846828B1 (fr) * | 2002-10-31 | 2005-03-11 | France Telecom | Procede de tatouage d'un signal video, systeme et support de donnees pour la mise en oeuvre de ce procede, procede d'extraction du tatouage d'un signal video, systeme pour la mise en oeuvre de ce procede |
US7280597B2 (en) * | 2003-06-24 | 2007-10-09 | Mitsubishi Electric Research Laboratories, Inc. | System and method for determining coding modes, DCT types and quantizers for video coding |
US7317839B2 (en) * | 2003-09-07 | 2008-01-08 | Microsoft Corporation | Chroma motion vector derivation for interlaced forward-predicted fields |
US7515637B2 (en) * | 2004-05-21 | 2009-04-07 | Broadcom Advanced Compression Group, Llc | Video decoding for motion compensation with weighted prediction |
US7561620B2 (en) * | 2004-08-03 | 2009-07-14 | Microsoft Corporation | System and process for compressing and decompressing multiple, layered, video streams employing spatial and temporal encoding |
US7606303B2 (en) * | 2004-09-28 | 2009-10-20 | General Instrument Corporation | Method and apparatus to detect anchor frames from digital video streams |
KR100896279B1 (ko) | 2005-04-15 | 2009-05-07 | 엘지전자 주식회사 | 영상 신호의 스케일러블 인코딩 및 디코딩 방법 |
KR100763196B1 (ko) * | 2005-10-19 | 2007-10-04 | 삼성전자주식회사 | 어떤 계층의 플래그를 계층간의 연관성을 이용하여부호화하는 방법, 상기 부호화된 플래그를 복호화하는방법, 및 장치 |
US8160149B2 (en) * | 2007-04-03 | 2012-04-17 | Gary Demos | Flowfield motion compensation for video compression |
US20080298472A1 (en) * | 2007-06-04 | 2008-12-04 | Texas Instruments Incorporated | Throughput Performance When Applying Deblocking Filters On Reconstructed Image Frames |
US8345968B2 (en) * | 2007-06-28 | 2013-01-01 | Mitsubishi Electric Corporation | Image encoding device, image decoding device, image encoding method and image decoding method |
US7843462B2 (en) * | 2007-09-07 | 2010-11-30 | Seiko Epson Corporation | System and method for displaying a digital video sequence modified to compensate for perceived blur |
US20090161978A1 (en) * | 2007-12-20 | 2009-06-25 | Marinko Karanovic | Halo Artifact Removal Method |
-
2008
- 2008-07-01 FR FR0854465A patent/FR2933565A1/fr active Pending
-
2009
- 2009-06-30 EP EP09772732.5A patent/EP2304962B1/fr active Active
- 2009-06-30 JP JP2011515570A patent/JP5466700B2/ja active Active
- 2009-06-30 RU RU2011101514/08A patent/RU2509439C2/ru active
- 2009-06-30 CN CN200980125566.4A patent/CN102084654B/zh active Active
- 2009-06-30 WO PCT/FR2009/051264 patent/WO2010001050A2/fr active Application Filing
- 2009-06-30 US US13/002,422 patent/US8855206B2/en active Active
- 2009-06-30 ES ES09772732T patent/ES2752300T3/es active Active
Also Published As
Publication number | Publication date |
---|---|
US20110103487A1 (en) | 2011-05-05 |
WO2010001050A3 (fr) | 2010-04-08 |
EP2304962B1 (fr) | 2019-08-28 |
CN102084654A (zh) | 2011-06-01 |
RU2011101514A (ru) | 2012-08-10 |
WO2010001050A2 (fr) | 2010-01-07 |
FR2933565A1 (fr) | 2010-01-08 |
RU2509439C2 (ru) | 2014-03-10 |
JP2011526758A (ja) | 2011-10-13 |
EP2304962A2 (fr) | 2011-04-06 |
US8855206B2 (en) | 2014-10-07 |
JP5466700B2 (ja) | 2014-04-09 |
CN102084654B (zh) | 2014-07-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2752300T3 (es) | Procedimiento y dispositivo de codificación de vídeos utilizando un número reducido de vectores de movimiento para los bloques conectados | |
CN113016187B (zh) | 利用当前画面参照编码方式的视频区块编码或解码方法和装置 | |
KR101756301B1 (ko) | 깊이 기반 블록 파티셔닝을 사용하여 텍스처 블록을 인코딩 및 디코딩하는 방법 및 장치 | |
CN109644271B (zh) | 用于二叉树分割块的确定候选集的方法及装置 | |
KR101385884B1 (ko) | 다시점 동영상의 부호화 및 복호화 방법 및 장치 | |
US9918068B2 (en) | Method and apparatus of texture image compress in 3D video coding | |
KR101918437B1 (ko) | 오류 내성을 향상시킨 비디오 인코딩 및 디코딩 | |
JP6446488B2 (ja) | ビデオデータデコーディング方法及びビデオデータデコーディング装置 | |
ES2391234T3 (es) | Procedimientos y dispositivos de codificación y de decodificación de una secuencia de imágenes representada por medio de tubos de movimiento, paquetes de software de ordenador y señal correspondientes | |
KR20180019688A (ko) | 픽처 예측 방법 및 픽처 예측 장치 | |
EP3065405B1 (en) | Method for decoding video using buffer compression for motion vector competition | |
EP1927249B1 (en) | Apparatus and method for encoding and decoding multi-view video | |
KR20090057250A (ko) | 다시점 비디오에서 전역변이를 이용하여 상이한 시점의 화면들을 압축 또는 복호하는 인코더와 인코딩하는 방법 및디코더와 디코딩하는 방법 | |
US20140348242A1 (en) | Image coding apparatus, image decoding apparatus, and method and program therefor | |
US20160057417A1 (en) | Video encoding device and video decoding device | |
JP6571646B2 (ja) | マルチビュービデオのデコード方法及び装置 | |
KR20160118363A (ko) | 화상 부호화 장치 및 방법, 화상 복호 장치 및 방법, 및 이들의 프로그램 | |
CN104519363B (zh) | 视频编/解码方法、对应计算机程序及视频编/解码设备 | |
KR20190110042A (ko) | 비디오 신호 처리 방법 및 장치 | |
KR20190022399A (ko) | 가상 현실 영상의 부호화/복호화 방법 및 그 장치 | |
KR20190113651A (ko) | 비디오 신호 처리 방법 및 장치 | |
KR20190033029A (ko) | 비디오 신호 처리 방법 및 장치 | |
KR20190110043A (ko) | 비디오 신호 처리 방법 및 장치 | |
KR20160002194A (ko) | 적응적 병합후보 선택방법 및 장치 |