ES2662879T3 - Dispositivo de codificación predictiva de vídeo, método de codificación predictiva de vídeo, programa de codificación predictiva de vídeo, dispositivo de descodificación predictiva de vídeo, método de descodificación predictiva de vídeo y programa de descodificación predictiva de vídeo - Google Patents

Dispositivo de codificación predictiva de vídeo, método de codificación predictiva de vídeo, programa de codificación predictiva de vídeo, dispositivo de descodificación predictiva de vídeo, método de descodificación predictiva de vídeo y programa de descodificación predictiva de vídeo Download PDF

Info

Publication number
ES2662879T3
ES2662879T3 ES16162303.8T ES16162303T ES2662879T3 ES 2662879 T3 ES2662879 T3 ES 2662879T3 ES 16162303 T ES16162303 T ES 16162303T ES 2662879 T3 ES2662879 T3 ES 2662879T3
Authority
ES
Spain
Prior art keywords
motion vector
information
zero order
motion
signal
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
ES16162303.8T
Other languages
English (en)
Inventor
Yoshinori Suzuki
Choong Seng Boon
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.)
NTT Docomo Inc
Original Assignee
NTT Docomo Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NTT Docomo Inc filed Critical NTT Docomo Inc
Application granted granted Critical
Publication of ES2662879T3 publication Critical patent/ES2662879T3/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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/182Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel

Abstract

Dispositivo de codificación predictiva de vídeo que comprende: medios de división de regiones que dividen una trama objetivo de codificación en una pluralidad de regiones; medios de generación de señal predicha que determinan un vector de movimiento para la trama objetivo de codificación, adquiriéndose la señal como objetivo de codificación a partir de las regiones divididas por los medios de división de regiones; medios de almacenamiento de información de movimiento que almacenan el vector de movimiento; medios de generación de señal residual que generan una señal residual entre una señal predicha de la región objetivo y una señal de píxel de la región objetivo; medios de compresión de señal residual que comprimen la señal residual generada por los medios de generación de señal residual; medios de reconstrucción de señal residual que generan una señal residual reproducida mediante reconstrucción a partir de datos comprimidos de la señal residual; medios de codificación que seleccionan y codifican un predictor de vector de movimiento para un vector de movimiento de la región objetivo, seleccionándose el predictor de vector de movimiento de: vectores de movimiento anteriormente reproducidos almacenados en los medios de almacenamiento de información de movimiento, información secundaria determinada a partir del vector de movimiento de la región objetivo, y los datos comprimidos de la señal residual; y medios de almacenamiento de imágenes que suman la señal predicha a la señal residual reproducida para reconstruir una señal de píxel de la región objetivo, y que almacenan la señal de píxel reconstruida como imagen anteriormente reproducida, en el que el vector de movimiento incluye un vector de movimiento de orden cero usado para generar una señal predicha de orden cero, y un primer vector de movimiento usado para generar una primera señal predicha, y en el que los medios de generación de señal predicha comprenden: medios de estimación de información de movimiento de orden cero que estiman el vector de movimiento de orden cero usado para generar la señal predicha de orden cero, seleccionan, a partir de una pluralidad de vectores de movimiento almacenados en los medios de almacenamiento de información de movimiento, un predictor de vector de movimiento de orden cero para el vector de movimiento de orden cero estimado, y generan información secundaria de orden cero que contiene un índice de predictor de vector de movimiento de orden cero para identificar el predictor de vector de movimiento de orden cero seleccionado, y una diferencia de vector de movimiento de orden cero determinada a partir del vector de movimiento de orden cero y el predictor de vector de movimiento de orden cero; en el que el dispositivo de codificación está configurado para seleccionar el uso de un primer tipo de bi-predicción en el caso en el que los candidatos a trama de referencia incluyan una trama futura en el orden de visualización con respecto a la trama objetivo de codificación, y el uso de un segundo tipo de bi-predicción en el caso en el que todos los candidatos a trama de referencia sean tramas pasadas en el orden de visualización con respecto a la trama objetivo de codificación; medios de estimación de primera información de movimiento que están configurados para cuando se selecciona el uso del primer tipo de bi-predicción, estimar el primer vector de movimiento usado para generar la primera señal predicha, seleccionar, a partir de una pluralidad de vectores de movimiento almacenados en los medios de almacenamiento de información de movimiento, un predictor de primer vector de movimiento para el primer vector de movimiento estimado, y generar primera información secundaria que contiene un índice de predictor de primer vector de movimiento para identificar el predictor de primer vector de movimiento seleccionado, y una diferencia de primer vector de movimiento determinada a partir del primer vector de movimiento y el predictor de primer vector de movimiento; cuando se selecciona el uso del segundo tipo de bi-predicción, seleccionar, a partir de una pluralidad de vectores de movimiento almacenados en los medios de almacenamiento de información de movimiento, un vector de movimiento para la generación de la primera señal predicha, generar primera información secundaria que contiene un índice de predictor de primer vector de movimiento para identificar el vector de movimiento seleccionado como predictor de primer vector de movimiento, y establecer el predictor de primer vector de movimiento como el primer vector de movimiento; y medios de combinación de señales predichas que combinan la señal predicha de orden cero y la primera señal predicha para generar la señal predicha de la región objetivo; en el que el dispositivo de codificación está configurado además para codificar información de indicación para indicar el primer tipo de bi-predicción o el segundo tipo de bi-predicción en la información de cabecera de una trama o un sector que va a usarse para cada bloque de bi-predicción de la trama o el sector; en el que los medios de estimación de información de movimiento de orden cero generan la información secundaria de orden cero que contiene además un índice de trama de referencia de orden cero para identificar una trama de referencia para generar la señal predicha de orden cero, y en el que los medios de estimación de primera información de movimiento generan la primera información secundaria que contiene además un primer índice de trama de referencia para identificar otra trama de referencia para generar la primera señal predicha.

Description

5
10
15
20
25
30
35
40
45
50
55
60
65
DESCRIPCION
Dispositivo de codificación predictiva de vídeo, método de codificación predictiva de vídeo, programa de codificación predictiva de vídeo, dispositivo de descodificación predictiva de vídeo, método de descodificación predictiva de vídeo y programa de descodificación predictiva de vídeo
Campo técnico
La presente invención se refiere a un dispositivo de codificación predictiva de vídeo, a un método de codificación predictiva de vídeo, a un programa de codificación predictiva de vídeo, a un dispositivo de descodificación predictiva de vídeo, a un método de descodificación predictiva de vídeo y a un programa de descodificación predictiva de vídeo y, más particularmente, la presente invención se refiere a un dispositivo de codificación predictiva de vídeo, a un método de codificación predictiva de vídeo, a un programa de codificación predictiva de vídeo, a un dispositivo de descodificación predictiva de vídeo, a un método de descodificación predictiva de vídeo y a un programa de descodificación predictiva de vídeo para generar una señal predicha de bloque final (señal de bi-predicción) calculando el promedio de dos señales predichas.
Técnica anterior
Se usan tecnologías de codificación por compresión para la transmisión y el almacenamiento eficaces de imágenes estáticas y datos de vídeo. Las técnicas definidas en MPEG-1 a 4 y en ITU (International Telecommunication Union) H.261 a H.264 se usan comúnmente para datos de vídeo.
En estas técnicas de codificación, una imagen como objetivo de codificación se divide en una pluralidad de bloques y después se llevan a cabo un procedimiento de codificación y un procedimiento de descodificación para cada bloque. En la codificación predictiva intra-tramas, se genera una señal predicha usando una señal de imagen adyacente anteriormente reproducida (una señal reconstruida a partir de datos de imagen comprimidos) presente en la misma trama como bloque objetivo y después se codifica una señal residual obtenida restando la señal predicha de una señal del bloque objetivo. En la codificación predictiva inter-tramas, se genera una señal predicha con compensación del movimiento con referencia a una señal de imagen adyacente anteriormente reproducida presente en una trama diferente de un bloque objetivo, y se codifica una señal residual obtenida restando la señal predicha de una señal del bloque objetivo.
Por ejemplo, la codificación predictiva intra-tramas de H.264 emplea un método de generación de la señal predicha extrapolando valores de píxel anteriormente reproducidos adyacentes a un bloque como objetivo de codificación, en direcciones predeterminadas. La figura 20 es un diagrama esquemático para explicar el método de predicción intra- tramas usado en ITU H.264. En la figura 20 (A), un bloque 802 objetivo es un bloque como objetivo de codificación, y un grupo 801 de píxeles que consisten en píxeles A a M adyacentes a un límite del bloque 802 objetivo es una región adyacente, que es una señal de imagen anteriormente reproducida en procesamiento pasado.
En este caso, la señal predicha se genera extendiendo hacia abajo el grupo 801 de píxeles como píxeles adyacentes ubicados inmediatamente por encima del bloque 802 objetivo. En la figura 20 (B), la señal predicha se genera extendiendo hacia la derecha píxeles anteriormente reproducidos (I a L) ubicados en el lado izquierdo del bloque objetivo 804. Se describen métodos específicos para la generación de la señal predicha, por ejemplo, en la bibliografía de patente 1. Se calcula una diferencia entre cada una de nueve señales predichas generadas mediante los métodos mostrados en la figura 20 (A) a (I) de la manera descrita anteriormente, y la señal de píxel del bloque objetivo, y se selecciona una con la diferencia mínima como señal predicha óptima. Tal como se describió anteriormente, la señal predicha puede generarse mediante extrapolación de píxeles. El contenido anterior se describe en la bibliografía de patente 1 a continuación.
En la codificación predictiva inter-tramas habitual, la señal predicha se genera mediante un método de búsqueda en tramas anteriormente reproducidas de una señal similar a la señal de píxel del bloque como objetivo de codificación. Después se codifica un vector de movimiento como cantidad de desplazamiento espacial entre el bloque objetivo y una región compuesta por la señal detectada, y una señal residual entre la señal de píxel del bloque objetivo y la señal predicha. La técnica de búsqueda del vector de movimiento para cada bloque tal como se describió anteriormente se denomina coincidencia de bloques.
La figura 19 es un diagrama esquemático para explicar un procedimiento de coincidencia de bloques. A continuación se describirá un procedimiento para generar una señal predicha para un ejemplo de un bloque 702 objetivo en una trama 701 objetivo de codificación. Una trama 703 de referencia es una imagen anteriormente reproducida y una región 704 es una región ubicada espacialmente en la misma posición que el bloque 702 objetivo. En la coincidencia de bloques, se establece un intervalo 705 de búsqueda que incluye la región 704 y se detecta una región 706 con la suma mínima de errores absolutos de la señal de píxel del bloque 702 objetivo a partir de señales de píxel en este intervalo 705 de búsqueda. Se determina que la señal de esta región 706 es una señal predicha, y se detecta una cantidad de desplazamiento desde la región 704 hasta la región 706 como vector 707 de movimiento. También se emplea con frecuencia un método de preparar una pluralidad de tramas 703 de referencia, seleccionar una trama de
5
10
15
20
25
30
35
40
45
50
55
60
65
referencia que va a aplicarse a la coincidencia de bloques para cada bloque objetivo, y detectar información de selección de trama de referencia. En H.264 se prepara una pluralidad de tipos de predicción de diferentes tamaños de bloque para la codificación de vectores de movimiento, con el propósito de adaptarse a cambios de características locales de imágenes. Los tipos de predicción de H.264 se describen, por ejemplo, en la bibliografía de patente 2.
En la codificación por compresión de datos de vídeo, un orden de codificación de imágenes (tramas o campos) puede ser opcional. Por este motivo, hay dos técnicas referentes al orden de codificación en la predicción intertramas para generar la señal predicha con referencia a tramas anteriormente reproducidas. La primera técnica es la uni-predicción, que genera la señal predicha con referencia a una trama anteriormente reproducida, y la segunda técnica es la bi-predicción, que calcula el promedio de dos señales predichas obtenidas con referencia a una o dos tramas anteriormente reproducidas. La técnica de uni-predicción incluye la predicción hacia delante con referencia a una trama anteriormente reproducida pasada en un orden de visualización, y predicción hacia atrás con referencia a una trama anteriormente reproducida futura en el orden de visualización. Estos tipos de predicciones inter-tramas se describen, por ejemplo, en la bibliografía de patente 3.
En H.264, se realiza la segunda técnica inter-tramas (bi-predicción) creando dos listas de tramas de referencia que consisten cada una en una pluralidad de tramas anteriormente reproducidas como candidatos para imagen 703 de referencia. Se lleva a cabo la coincidencia de bloques con la pluralidad de tramas de referencia registradas en cada lista de imágenes de referencia para detectar dos regiones correspondientes a la región 706, y se calcula el promedio de dos señales predichas así detectadas.
Se describirán ejemplos de listas de imágenes de referencia con referencia a las figuras 5 y 6. En la figura 5 (A), una trama 505 indica una imagen objetivo de codificación y las tramas 501 a 504 indican tramas anteriormente reproducidas. En la figura 5 (B), una trama 510 representa una trama objetivo de codificación y las tramas 507, 508, 509 y 511 representan tramas anteriormente reproducidas. Cada imagen (trama) se identifica mediante un número de trama (frame_num). En la figura 6, List0 y List1 indican dos listas de tramas de referencia, la figura 6 (A) muestra un ejemplo de listas de tramas de referencia para la figura 5 (A), y las figuras 6 (B) y (C) muestran ejemplos de listas de tramas de referencia para la figura 5 (B). En las figuras 6 (A) y (C), se registran cuatro tramas de referencia en cada lista de tramas de referencia y en la figura 6 (B) se registran dos tramas de referencia en cada lista de tramas de referencia. Cada trama de referencia se identifica mediante un índice de trama de referencia (ref_idx). Cualquier imagen anteriormente reproducida puede registrarse en las listas de imágenes de referencia. En la presente memoria descriptiva, con el propósito de facilitar una comprensión del contenido, por ejemplo, se usan notaciones de información de movimiento de orden cero y primera información de movimiento según las listas de tramas de referencia anteriores List0 y List1.
Lista de referencias
Bibliografía de patente 1: patente estadounidense n.° 6.765.964 Bibliografía de patente 2: patente estadounidense n.° 7.003.035 Bibliografía de patente 3: patente estadounidense n.° 6.259.739
El siguiente documento divulga un codificador de vídeo que usa predicción bi-direccional basada en bloques, es decir basada en dos vectores de movimiento 0 y 1 para cada bloque actual, en el que el vector de movimiento de orden 0 se estima usando coincidencia de bloques habitual, y en el que el codificador selecciona de manera adaptativa entre 1- derivar directamente el 1er vector de movimiento a partir de uno de los predictores de vector de movimiento candidatos para el bloque actual, y 2- estimar el 1er vector de movimiento usando coincidencia de bloques habitual: CHUNG-LIN LEE ET AL: “Bi-prediction combining template and block motion compensations”, IEEE INTERNATIONAL CONFERENCE ON IMAGE PROCESSING, 11 de septiembre de 2011 (), páginas 1221-1224, XP032079804, ISBN: 978-1-4577-1304-0
Sumario de la invención
Problema técnico
En la bi-predicción, puede eliminarse ruido en la señal predicha mediante un efecto de suavizado basándose en calcular el promedio de dos señales predichas similares. Sin embargo, los bloques que más se benefician del efecto de suavizado son con frecuencia regiones de textura o regiones planas que incluyen ruido, y tramas de referencia que contienen señales similares a las de los bloques.
Debido a que las señales de estas regiones tienen una fuerte aleatoriedad, los vectores de movimiento entre bloques adyacentes pueden variar significativamente cuando se detectan dos señales predichas similares a un bloque objetivo en estas regiones a partir de una pluralidad de tramas de referencia. Debido a que un vector de movimiento se codifica como una diferencia a partir de un vector de movimiento de un bloque adyacente, la variación
5
10
15
20
25
30
35
40
45
50
55
60
65
en vectores de movimiento entre bloques adyacentes puede conducir a un incremento en una cantidad de bits de codificación del mismo.
Como técnica para reducir la cantidad de bits de codificación en la bi-predicción, existe un método de derivación de dos vectores de movimiento según condiciones de bloques adyacentes en el lado de descodificación, tal como se describe en el ejemplo convencional. Sin embargo, es difícil potenciar la similitud de dos señales predichas debido a fuertes restricciones sobre señales predichas disponibles, no logrando por tanto obtener el efecto de suavizado satisfactorio.
Con el fin de resolver el problema anterior, un objeto de la presente invención es proporcionar un dispositivo de codificación predictiva de vídeo, un método de codificación predictiva de vídeo, un programa de codificación predictiva de vídeo, un dispositivo de descodificación predictiva de vídeo, un método de descodificación predictiva de vídeo y un programa de descodificación predictiva de vídeo capaces de suprimir eficazmente el ruido de la señal predicha con una menor cantidad de bits de codificación para la bi-predicción para codificar dos vectores de movimiento, codificando un vector de movimiento para generar la señal predicha similar al bloque objetivo y determinando selectivamente el otro vector de movimiento a partir de información de movimiento anteriormente codificada.
Solución al problema
La invención se define en las reivindicaciones adjuntas.
Un dispositivo de codificación predictiva de vídeo según un aspecto de la presente invención incluye un dispositivo de codificación predictiva de vídeo que comprende: medios de división de regiones que dividen una imagen de entrada en una pluralidad de regiones; medios de generación de señal predicha que determinan un vector de movimiento para derivar a partir de una imagen anteriormente reproducida una señal que tiene una alta correlación con una región objetivo como objetivo de codificación, a partir de las regiones divididas por los medios de división de regiones; medios de almacenamiento de información de movimiento que almacenan el vector de movimiento; medios de generación de señal residual que generan una señal residual entre una señal predicha de la región objetivo y una señal de píxel de la región objetivo; medios de compresión de señal residual que comprimen la señal residual generada mediante los medios de generación de señal residual; medios de reconstrucción de señal residual que generan una señal residual reproducida mediante reconstrucción a partir de datos comprimidos de la señal residual; medios de codificación que codifican un predictor de vector de movimiento similar a un vector de movimiento de la región objetivo seleccionado a partir de vectores de movimiento anteriormente reproducidos almacenados en los medios de almacenamiento de información de movimiento, información secundaria determinada a partir del vector de movimiento de la región objetivo, y los datos comprimidos de la señal residual; y medios de almacenamiento de imágenes que suman la señal predicha a la señal residual reproducida para reconstruir una señal de píxel de la región objetivo, y que almacenan la señal de píxel reconstruida como imagen anteriormente reproducida, en el que el vector de movimiento incluye un vector de movimiento de orden cero usado para la generación de una señal predicha de orden cero, y un primer vector de movimiento usado para la generación de una primera señal predicha, y en el que los medios de generación de señal predicha comprenden: medios de estimación de información de movimiento de orden cero que estiman el vector de movimiento de orden cero para la derivación de la señal predicha de orden cero, que seleccionan un predictor de vector de movimiento de orden cero similar al vector de movimiento de orden cero estimado a partir de una pluralidad de vectores de movimiento almacenados en los medios de almacenamiento de información de movimiento, y que generan información secundaria de orden cero que contiene un índice de predictor de vector de movimiento de orden cero para identificar el predictor de vector de movimiento seleccionado, y una diferencia de vector de movimiento determinada a partir del vector de movimiento de orden cero y el predictor de vector de movimiento de orden cero; medios de estimación de primera información de movimiento que seleccionan un vector de movimiento para la generación de la primera señal predicha que tiene una alta correlación con la región objetivo, a partir de una pluralidad de vectores de movimiento almacenados en los medios de almacenamiento de información de movimiento, que generan primera información secundaria que contiene un índice de predictor de primer vector de movimiento para identificar el vector de movimiento seleccionado como predictor de primer vector de movimiento, y que establecen el predictor de primer vector de movimiento al primer vector de movimiento; y medios de combinación de señales predichas que combinan la señal predicha de orden cero y la primera señal predicha para generar la señal predicha de la región objetivo.
Puede configurarse el dispositivo de codificación predictiva de vídeo anterior, en el que los medios de estimación de primera información de movimiento incluyen además funciones para estimar un segundo vector de movimiento para la derivación de la primera señal predicha, para de ese modo detectar el segundo vector de movimiento, para seleccionar un predictor de segundo vector de movimiento similar al segundo vector de movimiento estimado, a partir de una pluralidad de vectores de movimiento almacenados en los medios de almacenamiento de información de movimiento, y para generar una segunda información secundaria que contiene un índice de predictor de segundo vector de movimiento para identificar el predictor de vector de movimiento seleccionado, y una diferencia de vector de movimiento determinada a partir del segundo vector de movimiento y el predictor de segundo vector de movimiento, en el que los medios de generación de señal predicha generan la primera señal predicha usando el primer vector de movimiento cuando una pluralidad de imágenes anteriormente reproducidas almacenadas en los
5
10
15
20
25
30
35
40
45
50
55
60
65
medios de almacenamiento de imágenes son todas imágenes pasadas en un orden de visualización con respecto a una imagen objetivo de codificación, y los medios de generación de señal predicha generan la primera señal predicha usando el segundo vector de movimiento cuando una pluralidad de imágenes anteriormente reproducidas almacenadas en los medios de almacenamiento de imágenes incluyen una imagen futura en el orden de visualización con respecto a la imagen objetivo de codificación, y en el que los medios de codificación codifican información de indicación para indicar que se codifica la primera información secundaria, en cada trama o en cada sector, cuando una pluralidad de imágenes anteriormente reproducidas almacenadas en los medios de almacenamiento de imágenes son todas imágenes pasadas en el orden de visualización con respecto a la imagen objetivo de codificación, y los medios de codificación codifican información de indicación para indicar que se codifica la segunda información secundaria, en cada trama o en cada sector, cuando una pluralidad de imágenes anteriormente reproducidas almacenadas en los medios de almacenamiento de imágenes incluyen una imagen futura en el orden de visualización con respecto a la imagen objetivo de codificación; y en el que los medios de codificación codifican como información secundaria de cada región objetivo, la información secundaria de orden cero, y o bien la primera información secundaria o bien la segunda información secundaria basándose en la información de indicación.
Un dispositivo de descodificación predictiva de vídeo según un aspecto de la presente invención es un dispositivo de descodificación predictiva de vídeo que comprende: medios de descodificación que descodifican unos datos comprimidos a partir de varios conjuntos de datos comprimidos obtenidos mediante codificación de una pluralidad de regiones divididas, incluyendo los datos comprimidos información secundaria y una señal residual de una región objetivo, que es un objetivo que va a descodificarse; medios de reconstrucción de información de movimiento que reconstruyen un vector de movimiento usado para generar una señal predicha de la región objetivo a partir de la información secundaria; medios de almacenamiento de información de movimiento que almacenan el vector de movimiento; medios de compensación de movimiento que generan la señal predicha de la región objetivo, basándose en el vector de movimiento; medios de reconstrucción de señal residual que reconstruyen una señal residual reproducida de la región objetivo a partir de los datos comprimidos de la señal residual; y medios de almacenamiento de imágenes que suman la señal predicha a la señal residual reproducida para reconstruir una señal de píxel de la región objetivo de descodificación y que almacenan la señal de píxel reconstruida como imagen anteriormente reproducida, en el que los medios de descodificación descodifican información secundaria de orden cero y primera información secundaria, en el que la información secundaria de orden cero contiene una diferencia de vector de movimiento de orden cero, y un índice de predictor de vector de movimiento de orden cero para identificar como predictor de vector de movimiento de orden cero un vector de movimiento seleccionado a partir de una pluralidad de vectores de movimiento almacenados en los medios de almacenamiento de información de movimiento, en el que la primera información secundaria contiene un índice de predictor de primer vector de movimiento para identificar como predictor de primer vector de movimiento un vector de movimiento seleccionado a partir de una pluralidad de vectores de movimiento almacenados en los medios de almacenamiento de información de movimiento, en el que los medios de reconstrucción de información de movimiento comprenden: medios de reconstrucción de información de movimiento de orden cero que generan el predictor de vector de movimiento de orden cero, basándose en el índice de predictor de vector de movimiento de orden cero, y que suman el predictor de vector de movimiento de orden cero generado a la diferencia de vector de movimiento de orden cero para reconstruir un vector de movimiento de orden cero; y medios de reconstrucción de primera información de movimiento que generan el predictor de primer vector de movimiento, basándose en el índice de predictor de primer vector de movimiento, para reconstruir el predictor de primer vector de movimiento generado como primer vector de movimiento, y en el que los medios de compensación de movimiento combinan dos señales obtenidas a partir de la imagen anteriormente reproducida, basándose en el vector de movimiento de orden cero y el primer vector de movimiento, para generar la señal predicha de la región objetivo.
El dispositivo de descodificación predictiva de vídeo anterior puede configurarse en una configuración en la que los medios de descodificación descodifican además información de indicación para indicar si la primera información secundaria contiene una diferencia de vector de movimiento, en cada trama o en cada sector, en el que cuando la información de indicación indica que la primera información secundaria contiene una diferencia de primer vector de movimiento, los medios de descodificación descodifican la diferencia de vector de movimiento como primera información secundaria, y en el que, cuando la información de indicación indica que la primera información secundaria no contiene la diferencia de primer vector de movimiento, los medios de reconstrucción de primera información de movimiento generan el predictor de primer vector de movimiento, basándose en el índice de predictor de primer vector de movimiento, y reconstruyen el predictor de primer vector de movimiento generado como primer vector de movimiento; y en el que, cuando la información de indicación indica que la primera información secundaria contiene la diferencia de vector, los medios de reconstrucción de primera información de movimiento generan el predictor de primer vector de movimiento, basándose en el índice de predictor de primer vector de movimiento, y suman el predictor de primer vector de movimiento generado a la diferencia de vector de movimiento descodificado para generar y reconstruir el primer vector de movimiento.
La presente invención también puede entenderse como la invención de un método de codificación predictiva de vídeo, la invención de un método de descodificación predictiva de vídeo, la invención de un programa de codificación predictiva de vídeo y la invención de un programa de descodificación predictiva de vídeo, que pueden describirse de la siguiente manera.
5
10
15
20
25
30
35
40
45
50
55
60
65
Un método de codificación predictiva de vídeo según un aspecto de la presente invención es un método de codificación predictiva de vídeo ejecutado por un dispositivo de codificación predictiva de vídeo, que comprende: una etapa de división de regiones de dividir una imagen de entrada en una pluralidad de regiones; una etapa de generación de señal predicha de determinar un vector de movimiento para derivar a partir de una imagen anteriormente reproducida una señal que tiene una alta correlación con una región objetivo como objetivo de codificación, a partir de las regiones divididas mediante la etapa de división de regiones; una etapa de almacenamiento de información de movimiento de almacenar el vector de movimiento en medios de almacenamiento de información de movimiento; una etapa de generación de señal residual de generar una señal residual entre una señal predicha de la región objetivo y una señal de píxel de la región objetivo; una etapa de compresión de señal residual de comprimir la señal residual generada mediante la etapa de generación de señal residual; una etapa de reconstrucción de señal residual de generar una señal residual reproducida mediante reconstrucción a partir de datos comprimidos de la señal residual; una etapa de codificación de seleccionar y codificar un predictor de vector de movimiento similar a un vector de movimiento de la región objetivo, seleccionándose el vector de movimiento objetivo a partir de: vectores de movimiento anteriormente reproducidos almacenados en los medios de almacenamiento de información de movimiento, información secundaria determinada a partir del vector de movimiento de la región objetivo, y los datos comprimidos de la señal residual; y una etapa de almacenamiento de imágenes de sumar la señal predicha a la señal residual reproducida para reconstruir una señal de píxel de la región objetivo, y almacenar la señal de píxel reconstruida como imagen anteriormente reproducida en medios de almacenamiento de imágenes, en el que el vector de movimiento incluye un vector de movimiento de orden cero usado para generar una señal predicha de orden cero, y un primer vector de movimiento usado para generar una primera señal predicha, y en el que la etapa de generación de señal predicha comprende: una etapa de estimación de información de movimiento de orden cero de estimar el vector de movimiento de orden cero para la derivación de la señal predicha de orden cero, seleccionar un predictor de vector de movimiento de orden cero similar al vector de movimiento de orden cero estimado a partir de una pluralidad de vectores de movimiento almacenados en la etapa de almacenamiento de información de movimiento, y generar información secundaria de orden cero que contiene un índice de predictor de vector de movimiento de orden cero para identificar el predictor de vector de movimiento seleccionado, y una diferencia de vector de movimiento determinada a partir del vector de movimiento de orden cero y el predictor de vector de movimiento de orden cero; una etapa de estimación de primera información de movimiento de seleccionar, a partir de una pluralidad de vectores de movimiento almacenados en la etapa de almacenamiento de información de movimiento, un vector de movimiento que tiene una alta correlación con la región objetivo para la generación de la primera señal predicha, generar primera información secundaria que contiene un índice de predictor de primer vector de movimiento para identificar el vector de movimiento seleccionado como predictor de primer vector de movimiento, y establecer el predictor de primer vector de movimiento como primer vector de movimiento; y una etapa de combinación de señales predichas de combinar la señal predicha de orden cero y la primera señal predicha para generar la señal predicha de la región objetivo.
El método de codificación predictiva de vídeo anterior puede configurarse en una configuración en la que en la etapa de estimación de primera información de movimiento, el dispositivo de codificación predictiva de vídeo estima además un segundo vector de movimiento para la derivación de la primera señal predicha, para detectar el segundo vector de movimiento, selecciona un predictor de segundo vector de movimiento similar al segundo vector de movimiento estimado a partir de una pluralidad de vectores de movimiento almacenados en la etapa de almacenamiento de información de movimiento, y genera una segunda información secundaria que contiene un índice de predictor de segundo vector de movimiento para identificar el predictor de vector de movimiento seleccionado, y una diferencia de vector de movimiento determinada a partir del segundo vector de movimiento y el predictor de segundo vector de movimiento, en el que en la etapa de generación de señal predicha, el dispositivo de codificación predictiva de vídeo genera la primera señal predicha usando el primer vector de movimiento cuando una pluralidad de imágenes anteriormente reproducidas almacenadas en los medios de almacenamiento de imágenes son todas imágenes pasadas en un orden de visualización con respecto a una imagen objetivo de codificación, y el dispositivo de codificación predictiva de vídeo genera la primera señal predicha usando el segundo vector de movimiento cuando una pluralidad de imágenes anteriormente reproducidas almacenadas en los medios de almacenamiento de imágenes incluyen una imagen futura en el orden de visualización con respecto a la imagen objetivo de codificación, y en el que en la etapa de codificación, cuando una pluralidad de imágenes anteriormente reproducidas almacenadas en los medios de almacenamiento de imágenes son todas imágenes pasadas en el orden de visualización con respecto a la imagen objetivo de codificación, el dispositivo de codificación predictiva de vídeo codifica información de indicación para indicar que se codifica la primera información secundaria, en cada trama o en cada sector; cuando una pluralidad de imágenes anteriormente reproducidas almacenadas en los medios de almacenamiento de imágenes incluyen una imagen futura en el orden de visualización con respecto a la imagen objetivo de codificación, el dispositivo de codificación predictiva de vídeo codifica información de indicación para indicar que se codifica la segunda información secundaria, en cada trama o en cada sector; y en el que en la etapa de codificación, el dispositivo de codificación predictiva de vídeo codifica como información secundaria de cada región objetivo, la información secundaria de orden cero, y o bien la primera información secundaria o bien la segunda información secundaria basándose en la información de indicación.
Un método de descodificación predictiva de vídeo según un aspecto de la presente invención es un método de descodificación predictiva de vídeo ejecutado por un dispositivo de descodificación predictiva de vídeo, que
5
10
15
20
25
30
35
40
45
50
55
60
65
comprende: una etapa de descodificación de descodificar unos datos comprimidos a partir de varios conjuntos de datos comprimidos obtenidos mediante descodificación de una pluralidad de regiones divididas, comprendiendo los datos comprimidos información secundaria y una señal residual de una región objetivo de descodificación que es un objetivo que va a descodificarse; una etapa de reconstrucción de información de movimiento de restaurar un vector de movimiento usado para generar una señal predicha de la región objetivo a partir de la información secundaria; una etapa de almacenamiento de información de movimiento de almacenar el vector de movimiento en medios de almacenamiento de información de movimiento; una etapa de compensación de movimiento de generar la señal predicha de la región objetivo, basándose en el vector de movimiento; una etapa de reconstrucción de señal residual de restaurar una señal residual reproducida de la región objetivo a partir de los datos comprimidos de la señal residual; y una etapa de almacenamiento de imágenes de sumar la señal predicha a la señal residual reproducida para reconstruir una señal de píxel de la región objetivo de descodificación, y almacenar la señal de píxel reconstruida como imagen anteriormente reproducida, en el que en la etapa de descodificación, el dispositivo de descodificación predictiva de vídeo descodifica información secundaria de orden cero y primera información secundaria, en el que la información secundaria de orden cero contiene una diferencia de vector de movimiento de orden cero, y un índice de predictor de vector de movimiento de orden cero para identificar como predictor de vector de movimiento de orden cero un vector de movimiento seleccionado a partir de una pluralidad de vectores de movimiento almacenados en la etapa de almacenamiento de información de movimiento, en el que la primera información secundaria contiene un índice de predictor de primer vector de movimiento para identificar como predictor de primer vector de movimiento un vector de movimiento seleccionado a partir de una pluralidad de vectores de movimiento almacenados en la etapa de almacenamiento de información de movimiento, en el que la etapa de reconstrucción de información de movimiento comprende: una etapa de reconstrucción de información de movimiento de orden cero de generar el predictor de vector de movimiento de orden cero, basándose en el índice de predictor de vector de movimiento de orden cero, y sumar el predictor de vector de movimiento de orden cero generado a la diferencia de vector de movimiento de orden cero para reconstruir un vector de movimiento de orden cero; y una etapa de reconstrucción de primera información de movimiento de generar el predictor de primer vector de movimiento, basándose en el índice de predictor de primer vector de movimiento, para reconstruir el predictor de primer vector de movimiento generado como primer vector de movimiento, y en el que en la etapa de compensación de movimiento, el dispositivo de descodificación predictiva de vídeo combina dos señales adquiridas a partir de la imagen anteriormente reproducida, basándose en el vector de movimiento de orden cero y el primer vector de movimiento, para generar la señal predicha de la región objetivo.
El método de descodificación predictiva de vídeo anterior puede configurarse en una configuración en la que en la etapa de descodificación, el dispositivo de descodificación predictiva de vídeo descodifica además información de indicación para indicar si la primera información secundaria contiene una diferencia de vector de movimiento, en cada trama o en cada sector, en el que cuando la información de indicación indica que la primera información secundaria contiene una diferencia de primer vector de movimiento, el dispositivo de descodificación predictiva de vídeo descodifica la diferencia de vector de movimiento como primera información secundaria, y en el que en la etapa de reconstrucción de primera información de movimiento, cuando la información de indicación indica que la primera información secundaria no contiene la diferencia de primer vector de movimiento, el dispositivo de descodificación predictiva de vídeo genera el predictor de primer vector de movimiento, basándose en el índice de predictor de primer vector de movimiento, y reconstruye el predictor de primer vector de movimiento generado como primer vector de movimiento; y en el que en la etapa de reconstrucción de primera información de movimiento, cuando la información de indicación indica que la primera información secundaria contiene la diferencia de primer vector de movimiento, el dispositivo de descodificación predictiva de vídeo genera el predictor de primer vector de movimiento, basándose en el índice de predictor de primer vector de movimiento, y suma el predictor de primer vector de movimiento generado a la diferencia de vector de movimiento descodificado para generar y reconstruir el primer vector de movimiento.
Un programa de codificación predictiva de vídeo según un aspecto de la presente invención es un programa de codificación predictiva de vídeo para dejar que un ordenador funcione como: medios de división de regiones que dividen una imagen de entrada en una pluralidad de regiones; medios de generación de señal predicha que determinan un vector de movimiento para derivar a partir de una imagen anteriormente reproducida una señal que tiene una alta correlación con una región objetivo como objetivo de codificación, a partir de las regiones divididas por los medios de división de regiones; medios de almacenamiento de información de movimiento que almacenan el vector de movimiento; medios de generación de señal residual que generan una señal residual entre una señal predicha de la región objetivo y una señal de píxel de la región objetivo; medios de compresión de señal residual que comprimen la señal residual generada por los medios de generación de señal residual; medios de reconstrucción de señal residual que generan una señal residual reproducida mediante reconstrucción a partir de datos comprimidos de la señal residual; medios de codificación que codifican un predictor de vector de movimiento, similar a un vector de movimiento de la región objetivo, seleccionado a partir de: vectores de movimiento anteriormente reproducidos almacenados en los medios de almacenamiento de información de movimiento, información secundaria determinada a partir del vector de movimiento de la región objetivo, y los datos comprimidos de la señal residual; y medios de almacenamiento de imágenes que suman la señal predicha a la señal residual reproducida para reconstruir una señal de píxel de la región objetivo, y que almacenan la señal de píxel reconstruida como imagen anteriormente reproducida, en el que el vector de movimiento incluye un vector de movimiento de orden cero usado para generar una señal predicha de orden cero, y un primer vector de movimiento usado para generar una primera señal predicha,
5
10
15
20
25
30
35
40
45
50
55
60
65
y en el que los medios de generación de señal predicha comprenden: medios de estimación de información de movimiento de orden cero que estiman el vector de movimiento de orden cero para la derivación de la señal predicha de orden cero, que seleccionan un predictor de vector de movimiento de orden cero similar al vector de movimiento de orden cero estimado a partir de una pluralidad de vectores de movimiento almacenados en los medios de almacenamiento de información de movimiento, y que generan información secundaria de orden cero que contiene un índice de predictor de vector de movimiento de orden cero para identificar el predictor de vector de movimiento seleccionado, y una diferencia de vector de movimiento determinada a partir del vector de movimiento de orden cero y el predictor de vector de movimiento de orden cero; medios de estimación de primera información de movimiento que seleccionan un vector de movimiento para la generación de la primera señal predicha que tiene una alta correlación con la región objetivo, a partir de una pluralidad de vectores de movimiento almacenados en los medios de almacenamiento de información de movimiento, que generan primera información secundaria que contiene un índice de predictor de primer vector de movimiento para identificar el vector de movimiento seleccionado como predictor de primer vector de movimiento, y que establecen el predictor de primer vector de movimiento al primer vector de movimiento; y medios de combinación de señales predichas que combinan la señal predicha de orden cero y la primera señal predicha para generar la señal predicha de la región objetivo.
El programa de codificación predictiva de vídeo anterior puede configurarse en una configuración en la que los medios de estimación de primera información de movimiento tienen además una función de estimar un segundo vector de movimiento para la derivación de la primera señal predicha, detectar el segundo vector de movimiento, seleccionar un predictor de segundo vector de movimiento similar al segundo vector de movimiento estimado, a partir de una pluralidad de vectores de movimiento almacenados en los medios de almacenamiento de información de movimiento, y generar una segunda información secundaria que contiene un índice de predictor de segundo vector de movimiento para identificar el predictor de vector de movimiento seleccionado, y una diferencia de vector de movimiento determinada a partir del segundo vector de movimiento y el predictor de segundo vector de movimiento, en el que los medios de generación de señal predicha generan la primera señal predicha usando el primer vector de movimiento cuando una pluralidad de imágenes anteriormente reproducidas almacenadas en los medios de almacenamiento de imágenes son todas imágenes pasadas en un orden de visualización con respecto a una imagen objetivo de codificación, y los medios de generación de señal predicha generan la primera señal predicha usando el segundo vector de movimiento cuando una pluralidad de imágenes anteriormente reproducidas almacenadas en los medios de almacenamiento de imágenes incluyen una imagen futura en el orden de visualización con respecto a la imagen objetivo de codificación, y en el que los medios de codificación codifican información de indicación para indicar que se codifica la primera información secundaria, en cada trama o en cada sector, cuando una pluralidad de imágenes anteriormente reproducidas almacenadas en los medios de almacenamiento de imágenes son todas imágenes pasadas en el orden de visualización con respecto a la imagen objetivo de codificación, y los medios de codificación codifican información de indicación para indicar que se codifica la segunda información secundaria, en cada trama o en cada sector, cuando una pluralidad de imágenes anteriormente reproducidas almacenadas en los medios de almacenamiento de imágenes incluyen una imagen futura en el orden de visualización con respecto a la imagen objetivo de codificación; y en el que los medios de codificación codifican como información secundaria de cada región objetivo, la información secundaria de orden cero, y o bien la primera información secundaria o bien la segunda información secundaria basándose en la información de indicación.
Un programa de descodificación predictiva de vídeo según un aspecto de la presente invención es un programa de descodificación predictiva de vídeo para dejar que un ordenador funcione como: medios de descodificación que descodifican unos datos comprimidos a partir de varios conjuntos de datos comprimidos obtenidos mediante descodificación de una pluralidad de regiones divididas, comprendiendo los datos comprimidos información secundaria y una señal residual de una región objetivo de descodificación, que es un objetivo que va a descodificarse; medios de reconstrucción de información de movimiento que reconstruyen un vector de movimiento usado para generar una señal predicha de la región objetivo a partir de la información secundaria; medios de almacenamiento de información de movimiento que almacenan el vector de movimiento; medios de compensación de movimiento que generan la señal predicha de la región objetivo, basándose en el vector de movimiento; medios de reconstrucción de señal residual que reconstruyen una señal residual reproducida de la región objetivo a partir de los datos comprimidos de la señal residual; y medios de almacenamiento de imágenes que suman la señal predicha a la señal residual reproducida para reconstruir una señal de píxel de la región objetivo de descodificación y que almacenan la señal de píxel reconstruida como imagen anteriormente reproducida, en el que los medios de descodificación descodifican información secundaria de orden cero y primera información secundaria, en el que la información secundaria de orden cero contiene una diferencia de vector de movimiento de orden cero, y un índice de predictor de vector de movimiento de orden cero para identificar como predictor de vector de movimiento de orden cero un vector de movimiento seleccionado a partir de una pluralidad de vectores de movimiento almacenados en los medios de almacenamiento de información de movimiento, en el que la primera información secundaria contiene un índice de predictor de primer vector de movimiento para identificar como predictor de primer vector de movimiento un vector de movimiento seleccionado a partir de una pluralidad de vectores de movimiento almacenados en los medios de almacenamiento de información de movimiento, en el que los medios de reconstrucción de información de movimiento comprenden: medios de reconstrucción de información de movimiento de orden cero que generan el predictor de vector de movimiento de orden cero, basándose en el índice de predictor de vector de movimiento de orden cero, y que suman el predictor de vector de movimiento de orden cero generado a la diferencia de vector de
5
10
15
20
25
30
35
40
45
50
55
60
65
movimiento de orden cero para reconstruir un vector de movimiento de orden cero; y medios de reconstrucción de primera información de movimiento que generan el predictor de primer vector de movimiento, basándose en el índice de predictor de primer vector de movimiento, para reconstruir el predictor de primer vector de movimiento generado como primer vector de movimiento, y en el que los medios de compensación de movimiento combinan dos señales adquiridas a partir de la imagen anteriormente reproducida, basándose en el vector de movimiento de orden cero y el primer vector de movimiento, para generar la señal predicha de la región objetivo.
El programa de descodificación predictiva de vídeo anterior puede configurarse en una configuración en la que los medios de descodificación descodifican además información de indicación para indicar si la primera información secundaria contiene una diferencia de vector de movimiento, en cada trama o en cada sector, en el que cuando la información de indicación indica que la primera información secundaria contiene una diferencia de primer vector de movimiento, los medios de descodificación descodifican la diferencia de vector de movimiento como primera información secundaria, y en el que, cuando la información de indicación indica que la primera información secundaria no contiene la diferencia de primer vector de movimiento, los medios de reconstrucción de primera información de movimiento generan el predictor de primer vector de movimiento, basándose en el índice de predictor de primer vector de movimiento, y reconstruyen el predictor de primer vector de movimiento generado como primer vector de movimiento; y en el que, cuando la información de indicación indica que la primera información secundaria contiene la diferencia de vector, los medios de reconstrucción de primera información de movimiento generan el predictor de primer vector de movimiento, basándose en el índice de predictor de primer vector de movimiento, y suman el predictor de primer vector de movimiento generado a la diferencia de vector de movimiento descodificado para generar y reconstruir el primer vector de movimiento.
Efectos de la invención
El dispositivo de codificación predictiva de vídeo, método de codificación predictiva de vídeo, programa de codificación predictiva de vídeo, dispositivo de descodificación predictiva de vídeo, método de descodificación predictiva de vídeo y programa de descodificación predictiva de vídeo según la presente invención permiten la designación de un vector de movimiento eficaz para la bi-predicción, basándose en la información de movimiento anteriormente codificada, y por tanto lograr el efecto de potenciar el rendimiento de la bi-predicción con una menor cantidad de bits de codificación.
Breve descripción de los dibujos
La figura 1 es un diagrama de bloques que muestra un dispositivo de codificación predictiva de vídeo según una realización de la presente invención.
La figura 2 es un diagrama de bloques para ilustrar una unidad de generación de señal predicha mostrada en la figura 1.
La figura 3 es un diagrama de flujo para ilustrar un procedimiento de estimación de primer movimiento mostrado en la figura 2.
La figura 4 es un diagrama de flujo para ilustrar un procedimiento de estimación de movimiento de orden cero mostrado en la figura 2.
La figura 5 es un diagrama esquemático para ilustrar ejemplos de órdenes de codificación de tramas.
La figura 6 es un dibujo para ilustrar ejemplos de listas de tramas de referencia.
La figura 7 es un dibujo para ilustrar un ejemplo de bloques adyacentes.
La figura 8 es un dibujo para ilustrar otro ejemplo de bloques adyacentes.
La figura 9 es un diagrama de flujo que muestra un procedimiento de un método de codificación predictiva de vídeo
del dispositivo de codificación predictiva de vídeo mostrado en la figura 1.
La figura 10 es un diagrama de bloques que muestra un dispositivo de descodificación predictiva de vídeo según una realización de la presente invención.
La figura 11 es un diagrama de bloques para ilustrar una unidad de reconstrucción de información de movimiento mostrada en la figura 10.
La figura 12 es un diagrama de flujo para ilustrar un procedimiento de reconstrucción de primera información de movimiento mostrado en la figura 11.
La figura 13 es un diagrama de flujo para ilustrar un procedimiento de reconstrucción de información de movimiento
5
10
15
20
25
30
35
40
45
50
55
60
65
de orden cero mostrado en la figura 11.
La figura 14 es un diagrama de flujo que muestra un procedimiento de un método de descodificación predictiva de vídeo del dispositivo de descodificación predictiva de vídeo mostrado en la figura 10.
La figura 15 es un diagrama de bloques que muestra un programa capaz de ejecutar el método de codificación predictiva de vídeo según una realización de la presente invención.
La figura 16 es un diagrama de bloques que muestra un programa capaz de ejecutar el método de descodificación predictiva de vídeo según una realización de la presente invención.
La figura 17 es un dibujo que muestra una configuración de hardware de un ordenador para ejecutar un programa grabado en un medio de almacenamiento.
La figura 18 es una vista en perspectiva de un ordenador para ejecutar un programa almacenado en un medio de almacenamiento.
La figura 19 es un diagrama esquemático para ilustrar un procedimiento de estimación de movimiento en predicción inter-tramas.
La figura 20 es un diagrama esquemático para ilustrar el método de predicción intra-tramas convencional. Realizaciones de la invención
A continuación se describirán en detalle realizaciones de la presente invención con referencia a los dibujos adjuntos. En la descripción de los dibujos, elementos idénticos o equivalentes se designarán con los mismos signos de referencia, sin descripción redundante. Además, “tramas” e “imágenes” (501 a 511 en la figura 5) tienen el mismo significado en la descripción en la presente memoria descriptiva.
La figura 1 es un diagrama de bloques que muestra un dispositivo 100 de codificación predictiva de vídeo según una realización de la presente invención. Este dispositivo 100 de codificación predictiva de vídeo está dotado de un terminal 101 de entrada, una unidad 102 de división de bloques, una unidad 103 de generación de señal predicha, una memoria 104 de trama, una unidad 105 de resta, una unidad 106 de transformación, una unidad 107 de cuantificación, una unidad 108 de cuantificación inversa, una unidad 109 de transformación inversa, una unidad 110 de adición, una unidad 111 de codificación, un terminal 112 de salida y una memoria 113 de información de movimiento. La unidad 106 de transformación y la unidad 107 de cuantificación funcionan como medios de compresión de señal residual, la unidad 108 de cuantificación inversa y la unidad 109 de transformación inversa funcionan como medios de reconstrucción de señal residual, y la memoria de información de movimiento funciona como medio de almacenamiento de información de movimiento. La memoria 113 de información de movimiento puede estar incluida en la unidad 103 de generación de señal predicha.
El terminal 101 de entrada es un terminal que implementa la entrada de una señal de una secuencia de vídeo que consiste en una pluralidad de imágenes.
La unidad 102 de división de bloques divide una imagen como objetivo de codificación, que está representada por una señal introducida desde el terminal 101 de entrada, en una pluralidad de regiones (bloques objetivo o regiones objetivo). En la presente realización la imagen objetivo de codificación se divide en bloques que consisten cada uno en 8X8 píxeles, pero la imagen objetivo puede dividirse en bloques de cualquier otro tamaño o forma. Además, pueden mezclarse bloques de diferentes tamaños en una trama.
La unidad 103 de generación de señal predicha detecta información de movimiento usada para generar una señal predicha de cada bloque predictivo en un bloque objetivo y genera la señal predicha. Además, genera información secundaria usada para la reconstrucción de la información de movimiento en un dispositivo de descodificación. No hay restricciones sobre un método de generación de señal predicha en la presente invención, pero los métodos aplicables en el presente documento incluyen la predicción inter-tramas (uni-predicción o bi-predicción) y la predicción intra-tramas (la predicción intra-tramas no se ilustra) tal como se describe en la técnica anterior.
En la presente realización la señal predicha se genera mediante bi-predicción. Se detecta un fragmento de información de movimiento en la bi-predicción usando una señal de imagen adquirida mediante L104 para minimizar la suma de errores absolutos entre la señal original del bloque objetivo alimentado mediante L102 y la señal de bi- predicción, mediante la coincidencia de bloques mostrada en la figura 19. Después se genera otro fragmento de información de movimiento basándose en información de movimiento anteriormente codificada.
Debido a que la presente realización describe la bi-predicción, la información de movimiento está compuesta por información de movimiento de orden cero y primera información de movimiento, cada una de las cuales contiene un índice de trama de referencia (ref_idx[0] o ref_idx[1]) y un vector de movimiento (mv[0][0/1] o mv[1][0/1]). Los
5
10
15
20
25
30
35
40
45
50
55
60
65
candidatos a trama de referencia para la información de movimiento de orden cero se indican mediante List0 en la figura 6 y los candidatos a trama de referencia para la primera información de movimiento se indican mediante Listl en la figura 6. [0/1] en el presente documento es información para identificar una componente horizontal y una componente vertical de cada vector. La descripción de [0/1] se omitirá a continuación en el presente documento (y también se omitirá de manera similar en los dibujos).
Las imágenes reproducidas que van a registrarse en la listas de tramas de referencia mostradas en la figura 6 pueden determinarse automáticamente según una regla predeterminada o pueden codificarse explícitamente en la unidad de trama o en la unidad de secuencia. En esta ocasión, el número de trama puede usarse para identificar cada trama de referencia tal como se muestra en la figura 5 y la figura 6.
La información de movimiento generada mediante la unidad 103 de generación de señal predicha se emite mediante L103b a la memoria 113 de información de movimiento.
La memoria 113 de información de movimiento almacena la información de movimiento de entrada. La información de movimiento almacenada se alimenta mediante L113 a la unidad de generación de señal predicha para usarse para la codificación de información de movimiento de un bloque posterior.
La información secundaria generada mediante la unidad 103 de generación de señal predicha se emite mediante L103c a la unidad 111 de codificación.
La señal predicha generada mediante la unidad 103 de generación de señal predicha se emite mediante L103a a la unidad 105 de resta y a la unidad 110 de adición.
La unidad 105 de resta, resta la señal predicha para el bloque objetivo alimentado mediante la línea L103a, de la señal de píxel del bloque objetivo alimentado mediante la línea L102 después de la división en la unidad 102 de división de bloques, para generar una señal residual. La unidad 105 de resta emite la señal residual obtenida mediante la resta, mediante la línea L105 a la unidad 106 de transformación.
La unidad 106 de transformación es una parte que transforma la señal residual de entrada mediante una transformada de coseno discreta. La unidad 107 de cuantificación es una parte que cuantifica coeficientes de transformación obtenidos mediante la transformada de coseno discreta mediante la unidad 106 de transformación.
La unidad 111 de codificación codifica por entropía la información secundaria alimentada desde la unidad de generación de señal predicha y los coeficientes de transformación cuantificados alimentados desde la unidad 107 de cuantificación, y los datos codificados se emiten mediante L111 al terminal 112 de salida. No hay restricciones sobre un método de codificación por entropía, pero los métodos aplicables incluyen codificación aritmética, codificación de longitud variable, y así sucesivamente.
El terminal 112 de salida emite la información alimentada desde la unidad 111 de codificación en conjunto al exterior.
La unidad 108 de cuantificación inversa realiza la cuantificación inversa de los coeficientes de transformación cuantificados. La unidad 109 de transformación inversa reconstruye una señal residual mediante una transformada de coseno discreta inversa. La unidad 110 de adición suma la señal residual reconstruida a la señal predicha alimentada mediante L103a, para reproducir una señal del bloque objetivo de codificación, y almacena la señal en la memoria 104 de trama. La presente realización emplea la unidad 106 de transformación y la unidad 109 de transformación inversa, pero también es posible usar otro procesamiento de transformación en lugar de estas unidades de transformación. Obsérvese además que la unidad 106 de transformación y la unidad 109 de transformación inversa no siempre son esenciales. De esta manera, la señal reproducida del bloque objetivo de codificación así codificada se reconstruye mediante el procedimiento inverso y se almacena en la memoria 104 de trama, con el propósito de usarse en la generación de la señal predicha del bloque objetivo de codificación posterior.
A continuación se describirá en detalle la unidad 103 de generación de señal predicha. Después, en primer lugar, se describirán la información de movimiento, información de movimiento predictiva e información secundaria.
Tal como se describió anteriormente, la información de movimiento en la bi-predicción está compuesta por la información de movimiento de orden cero y la primera información de movimiento, cada una de las cuales contiene un índice de trama de referencia (ref_idx[0] o ref_idx[1]) y un vector de movimiento (mv[0] o mv[1]). Los candidatos a trama de referencia para la información de movimiento de orden cero se indican mediante List0 en la figura 6 y los candidatos a trama de referencia para la primera información de movimiento se indican mediante List1 en la figura 6.
En la bi-predicción de la presente realización, la unidad 103 de generación de señal predicha usa la información de movimiento anteriormente codificada como información de movimiento predictiva. La información de movimiento anteriormente codificada contiene información de movimiento asociada con bloques adyacentes anteriormente codificados e información de movimiento anteriormente codificada de una región objetivo. La información de movimiento asociada con bloques adyacentes se refiere a información de movimiento usada en la generación de la
5
10
15
20
25
30
35
40
45
50
55
60
65
señal predicha cuando cada bloque adyacente era un objetivo de codificación, y se almacena en la memoria 113 de información de movimiento.
La información de movimiento predictiva también está compuesta por información de movimiento predictiva de orden cero y primera información de movimiento predictiva, cada una de las cuales contiene un índice de trama de referencia (ref_idx[0] o ref_idx[1]) y un vector de movimiento (mv[0] o mv[1]). Los candidatos a trama de referencia para la información de movimiento predictiva de orden cero se indican mediante List0 en la figura 6 y los candidatos a trama de referencia para la primera información de movimiento predictiva se indican mediante List1 en la figura 6.
Un método de uso específico de la información de movimiento predictiva es generar un predictor de vector de movimiento, basándose en la información de movimiento predictiva de orden cero, en la codificación delta del vector de movimiento de la información de movimiento de orden cero detectado mediante coincidencia de bloques con referencia a las tramas de referencia en List0. La primera información de movimiento que usa las tramas de referencia en List1 se genera basándose en la primera información de movimiento predictiva.
Se describirá un ejemplo de la información de movimiento predictiva con referencia a la figura 7. Un bloque 400 mostrado en la figura 7 es un bloque objetivo, y fragmentos de información de movimiento asociados con los bloques 401 a 404 adyacentes al mismo son candidatos para la información de movimiento predictiva. La información de movimiento de cada bloque adyacente contiene la información de movimiento de orden cero y la primera información de movimiento. Ambas pueden definirse como candidatos para la información de movimiento predictiva o la información de movimiento predictiva puede limitarse a una cualquiera de ellas (por ejemplo, en el caso de la predicción de información de movimiento de orden N, solo se define como candidato el vector de movimiento de orden N de cada bloque adyacente).
Además, un bloque 410 representa un bloque ubicado espacialmente en la misma posición que el bloque 400 (o un bloque ubicado conjuntamente) en una trama de referencia. Fragmentos de información de movimiento asociados con el bloque 410 y los bloques 411 a 415 adyacentes al mismo son candidatos para la información de movimiento predictiva. n representa un número para identificar un candidato para la información de movimiento predictiva y cada candidato seleccionado se indica mediante un índice de predictor de vector de movimiento (mvp_idx[0] o mvp_idx[1]). En la presente realización, en primer lugar se codifica la información de movimiento de orden cero y, por este motivo, la información de movimiento de orden cero asociada con el bloque 400 también puede usarse como primera información de movimiento predictiva (n=4 en el ejemplo).
Las posiciones y los números de los candidatos para la información de movimiento predictiva pueden ser los predefinidos entre el lado de codificador y el lado de descodificador, y no hay restricciones sobre los mismos en la presente invención. El número de candidatos para la información de movimiento predictiva puede predeterminarse entre el lado de codificador y el lado de descodificador, o puede codificarse y proporcionarse al descodificador.
Si una trama de referencia identificada mediante ref_idx de la información de movimiento predictiva es diferente de una trama de referencia identificada mediante ref_idx del bloque objetivo, puede realizarse un procedimiento de ajuste a escala del vector de movimiento en la información de movimiento predictiva basándose en los números de trama de la trama objetivo de codificación y las dos tramas de referencia. Específicamente, el vector de movimiento en la información de movimiento predictiva se ajusta a escala con el propósito de convertirse en un vector de movimiento que designa la trama de referencia identificada mediante ref_idx del bloque objetivo, y el vector de movimiento convertido obtenido mediante la conversión se usa como predictor de vector de movimiento (pmv[0][0/1] o pmv[1][0/1]). En esta ocasión, el índice de trama de referencia (ref_idx[0] o ref_idx[1]) en la información de movimiento predictiva se actualiza al índice de trama de referencia (ref_idx[0] o ref_idx[1]) del bloque objetivo. [0/1] en el presente documento es información para identificar una componente horizontal y una componente vertical de cada vector. La descripción de [0/1] se omitirá a continuación en el presente documento (y también se omitirá de manera similar en los dibujos).
La información secundaria está compuesta por información secundaria de orden cero y primera información secundaria. La información secundaria de orden cero contiene ref_idx[0], una diferencia de vector de movimiento (mvd[0][0/1] = mv[0][0/1] - pmv[0][0/1]) y mvp_idx[0]. La primera información secundaria contiene ref_idx[1] y mvp_idx[1]. Debido a que mv[1][0/1] = pmv[1][0/1] en la presente realización, los valores de vector de mvd[1][0/1] son siempre 0. Por tanto, mvd[1][0/1] puede reconstruirse en el lado de descodificador sin codificarse y, por este motivo, no es necesario que se incluya en la primera información secundaria. [0/1] en el presente documento es información para identificar una componente horizontal y una componente vertical de cada vector. La descripción de [0/1] se omitirá a continuación en el presente documento (y también se omitirá de manera similar en los dibujos).
La figura 2 es un diagrama de bloques que muestra una configuración de la unidad 103 de generación de señal predicha según la presente realización. Esta unidad 103 de generación de señal predicha está dotada de una unidad 121 de estimación de primera información de movimiento, una unidad 122 de estimación de información de movimiento de orden cero y una unidad 123 de combinación de señales predichas.
La unidad 121 de estimación de primera información de movimiento usa las tramas de referencia en List1
5
10
15
20
25
30
35
40
45
50
55
60
65
introducidas mediante L104 para seleccionar un conjunto de un candidato a primera información de movimiento predictiva y un índice de trama de referencia para generar una primera señal predicha lo más similar posible a la señal original del bloque objetivo alimentado mediante L102, a partir de candidatos para la primera información de movimiento predictiva alimentados mediante L113 (en el que se obtienen predictores de vector de movimiento ajustando a escala vectores de movimiento según índices de trama de referencia). La unidad 121 de estimación de primera información de movimiento emite la primera señal predicha mediante L121a a la unidad 123 de combinación de señales predichas y emite la primera información de movimiento generada basándose en la primera información de movimiento predictiva seleccionada y el índice de trama de referencia, mediante L121b y mediante L103b1 a la unidad 122 de estimación de información de movimiento de orden cero y a la memoria 113 de información de movimiento, respectivamente. Además, genera la primera información secundaria y emite la primera información secundaria mediante L103c1 a la unidad 111 de codificación.
La unidad 122 de estimación de información de movimiento de orden cero usa la primera información de movimiento introducida mediante L121b y las tramas de referencia en List1 introducidas mediante L104, para generar la primera señal predicha. Después, la unidad 122 de estimación de información de movimiento de orden cero busca en las tramas de referencia en List0 introducidas mediante L104 un candidato para una señal predicha de orden cero, y detecta información de movimiento de orden cero para minimizar la suma de diferencias absolutas entre una señal de bi-predicción generada a partir de la primera señal predicha y el candidato para la señal predicha de orden cero obtenido mediante la búsqueda, y la señal original del bloque objetivo introducido mediante L102. Después emite la señal predicha de orden cero generada a partir de la información de movimiento de orden cero detectada, mediante L122 a la unidad 123 de combinación de señales predichas. También emite la información de movimiento de orden cero mediante L103b2 a la memoria 113 de información de movimiento. Además, genera información secundaria de orden cero y emite la información secundaria de orden cero mediante L103c2 a la unidad 111 de codificación.
También puede permitirse ejecutar en primer lugar el procesamiento mediante la unidad 122 de estimación de información de movimiento de orden cero para derivar la información de movimiento de orden cero y la información secundaria de orden cero antes que la señal predicha de orden cero. En este caso, la unidad 122 de estimación de información de movimiento de orden cero detecta la información de movimiento de orden cero para minimizar la suma de diferencias absolutas entre una señal predicha generada a partir del candidato a señal predicha de orden cero obtenido mediante la búsqueda, y la señal original del bloque objetivo introducido mediante L102. Después, la unidad 121 de estimación de primera información de movimiento ejecuta el procesamiento, usando la señal predicha de orden cero. En concreto, la unidad 121 de estimación de primera información de movimiento usa las tramas de referencia en List1 introducidas mediante L104, para generar un candidato para la primera señal predicha a partir de candidatos para la primera información de movimiento predictiva introducida mediante L113 (en la que se obtienen predictores de vector de movimiento ajustando a escala vectores de movimiento según índices de trama de referencia), y selecciona un conjunto de un candidato a primera información de movimiento predictiva y un índice de trama de referencia de tal manera que una señal de bi-predicción generada a partir de la señal predicha de orden cero y el candidato a primera señal predicha se aproxima lo más posible, o es similar a, la señal original del bloque objetivo introducido mediante L102. Esta modificación puede implementarse alimentando la información de movimiento de orden cero a la unidad 121 de estimación de primera información de movimiento.
La unidad 123 de combinación de señales predichas calcula el promedio de la primera señal predicha y la señal predicha de orden cero introducidas mediante L121a y L122, para generar una señal predicha del bloque objetivo y emite la señal predicha mediante L103a a la unidad 105 de resta y la unidad 110 de adición.
La figura 3 muestra un diagrama de flujo de la unidad 121 de estimación de primera información de movimiento. En primer lugar, la etapa S301 es establecer M (M=4 en la figura 6 (A) y (C), o M=2 en la figura 6 (B)) para el número de tramas de referencia en List1 usadas en la predicción del bloque objetivo, y establecer 0 para el índice de trama de referencia ref_idx[1] de List1 contenido en la primera información de movimiento, para inicializar un contador m para el número de trama de referencia en List1 a 0. Además, se establece un valor de evaluación de vector de movimiento D a un valor Max. A continuación, la etapa S302 es establecer N para el número de candidatos para predictor de vector de movimiento (N=11 en la figura 7, con la condición de que cuando la unidad 121 de estimación de primera información de movimiento se lleva a cabo antes que la unidad 122 de estimación de información de movimiento de orden cero, se omite n=4 debido a que la información de movimiento de orden cero del bloque 400 aún no se ha determinado), y establecer 0 para el índice de predictor de vector de movimiento mvp_idx[1] contenido en la primera información secundaria, para inicializar un contador n para el número de información de movimiento predictiva a 0.
A continuación, la etapa S303 es derivar un vector de movimiento del candidato a predictor de vector de movimiento n a partir de los vectores de movimiento de los bloques adyacentes y la etapa S304 es generar el predictor de vector de movimiento de orden n pmv[1][m][n][0/1] (en el que [0/1] es información para identificar una componente horizontal y una componente vertical del vector, y la descripción de [0/1] se omitirá a continuación en el presente documento así como en los dibujos). En esta ocasión, el vector de movimiento del bloque adyacente se ajusta a escala según una distancia entre la trama objetivo y la trama de referencia (o según números de trama identificados mediante índices de trama de referencia) para obtener el predictor de vector de movimiento. Tras ello, la etapa S305 es generar la señal predicha del bloque objetivo, basándose en la trama de referencia de orden m y el predictor de
5
10
15
20
25
30
35
40
45
50
55
60
65
vector de movimiento ajustado a escala de orden n (pmv[1][m][n]), y la etapa S306 es determinar si la suma de diferencias absolutas de una señal residual entre la señal predicha generada y la señal original del bloque objetivo es más pequeña que el valor de evaluación de vector de movimiento D. Cuando la suma de diferencias absolutas no es menor que el valor de evaluación de vector de movimiento D, el procesamiento avanza a la etapa S308. Cuando la suma de diferencias absolutas es más pequeña que el valor de evaluación de vector de movimiento D, el procesamiento avanza a la etapa S307 para actualizar el índice de predictor de vector de movimiento mvp_idx[1] contenido en la primera información secundaria, a n, actualizar el índice de trama de referencia ref_idx[1] a m, y actualizar el valor de evaluación de vector de movimiento D a la suma de diferencias absolutas de la señal residual entre la señal predicha y la señal original del bloque objetivo calculada en la etapa S306. Además, el vector de movimiento mv[1] en la primera información de movimiento se establece al predictor de vector de movimiento pmv[1][ref_idx[1]][mvp_idx[1]] y el índice de trama de referencia se establece a ref_idx[1]. Tras ello, el procesamiento avanza a la etapa S308.
La etapa S308 es determinar si el valor de n es más pequeño que N; cuando n es más pequeño que N, el procesamiento avanza a la etapa S309; cuando n alcanza N, el procesamiento avanza a la etapa S310. La etapa S309 es sumar 1 al valor de n y después el procesamiento vuelve a la etapa S303. Tras ello, las etapas S303 a S307 se llevan a cabo de manera repetida hasta que n alcanza N. La etapa S310 es determinar si el valor de m es más pequeño que M; cuando m es más pequeño que M, el procesamiento avanza a la etapa S311 para sumar 1 al valor de m y después vuelve a la etapa S302. Tras ello, las etapas S302 a S309 se llevan a cabo de manera repetida hasta que m alcanza M. Cuando m alcanza M, se lleva a cabo la etapa S312 para emitir la primera información secundaria (ref_idx[1], mvp_idx[1]) a la unidad 111 de codificación, almacenar la primera información de movimiento (ref_idx[1] y mv[1]) en la memoria 113 de información de movimiento y emitir la primera información de movimiento a la unidad 122 de estimación de información de movimiento de orden cero, seguido por el fin del procesamiento.
La figura 4 muestra un diagrama de flujo de la unidad 122 de estimación de información de movimiento de orden cero. En primer lugar, la etapa S351 es generar la primera señal predicha en la bi-predicción, basándose en la primera información de movimiento. A continuación, la etapa S352 es establecer M (M=4 en la figura 6 (A) y (C), o M=2 en la figura 6 (B)) para el número de tramas de referencia en List0 usadas en la predicción del bloque objetivo, y establecer 0 para el índice de trama de referencia ref_idx[0] de List0 contenido en la información de movimiento de orden cero, para inicializar el contador m para el número de trama de referencia en List0 a 0. Además, el valor de evaluación de vector de movimiento D se establece a un valor Max. A continuación, la etapa S353 es determinar el índice de predictor de vector de movimiento mvp_idx[0] para identificar un predictor de vector de movimiento usado en la codificación por diferencia del vector de movimiento de orden cero, a partir de una pluralidad de candidatos. Un método de selección en el presente documento puede ser, por ejemplo, la técnica mostrada en las etapas S303 a S309 en la figura 3. Después se genera un candidato a predictor de vector de movimiento pmv[0][m][n]. En esta ocasión, se obtiene un predictor de vector de movimiento ajustando a escala el vector de movimiento del bloque adyacente según una distancia entre la trama objetivo y la trama de referencia (o según los números de trama identificados mediante índices de trama de referencia), tal como se describe en la etapa S304 de la figura 3.
A continuación, la etapa S354 es adquirir la trama de referencia indicada mediante ref_idx[0], que está almacenada en la memoria 104 de trama, y buscar el vector de movimiento de orden cero mv[0] para minimizar la suma de diferencias absolutas de la señal residual entre la señal de bi-predicción obtenida calculando el promedio junto con la primera señal predicha, y la señal original. Posteriormente, la etapa S355 es generar la diferencia de vector de movimiento de orden cero mvd[0] (= mv[0] - pmv[0][m][n]). Tras ello, la etapa S356 es determinar si el total de la suma de diferencias absolutas de la señal residual entre la señal de bi-predicción generada y la señal original del bloque objetivo, y un valor de evaluación de cantidad de código de la información secundaria de orden cero (mvd[0] y m y n) (que se define mediante X(QP) X (una cantidad de bits de codificación de mvd, m, y n), donde X es un valor de ponderación determinado mediante el parámetro QP para definir la precisión de cuantificación en la cuantificación de coeficientes de transformación obtenidos mediante transformación de una señal de error de predicción) es más pequeño que el valor de evaluación de vector de movimiento D. Cuando el total de la suma de diferencias absolutas + el valor de evaluación de cantidad de código no es menor que el valor de evaluación de vector de movimiento D, el procesamiento avanza a la etapa S358. Cuando el total de la suma de diferencias absolutas + el valor de evaluación de cantidad de código es más pequeño que el valor de evaluación de vector de movimiento D, el procesamiento avanza a la etapa S357 para actualizar el índice de predictor de vector de movimiento mvp_idx[0] en la información secundaria de orden cero a n, actualizar el índice de trama de referencia ref_idx[0] a m, actualizar la diferencia de vector de movimiento mvd[0] a (mv[0] - pmv[0][ref_idx[1]][mvp_idx[1]]), y actualizar D al total de la suma de diferencias absolutas de la señal residual entre la señal de bi-predicción y la señal original del bloque objetivo + el valor de evaluación de cantidad de código calculado en la etapa S356. Además, se actualiza el vector de movimiento mv[0] en la información de movimiento de orden cero. Tras ello, el procesamiento avanza a la etapa S358.
La etapa S358 es determinar si el valor de m es más pequeño que M; cuando m es más pequeño que M, el procesamiento avanza a la etapa S359 para sumar 1 al valor de m, y vuelve a la etapa S353. Tras ello, las etapas S353 a S359 se llevan a cabo de manera repetida hasta que m alcanza M. Cuando m alcanza M, se lleva a cabo la etapa S360 para emitir la información secundaria de orden cero (ref_idx[0], mvd[0], mvp_idx[0]) a la unidad 111 de codificación y almacenar la información de movimiento de orden cero (ref_idx[0] y mv[0]) en la memoria 113 de
5
10
15
20
25
30
35
40
45
50
55
60
65
información de movimiento, seguido por el fin del procesamiento.
Obsérvese que la unidad 122 de estimación de información de movimiento de orden cero puede ejecutar en primer lugar el procesamiento para determinar en primer lugar la información de movimiento de orden cero y la información secundaria de orden cero antes que la señal predicha de orden cero. En este caso, se omite la etapa S351 en la figura 4 y se modifica la etapa S356 para determinar la suma de diferencias absolutas de la señal residual entre la señal predicha de orden cero, en lugar de la señal de bi-predicción, y la señal original. En la figura 3, se vuelve posible usar la información de movimiento de orden cero indicada por n=4 en la figura 7, como candidato para la información de movimiento predictiva. Esta modificación puede implementarse añadiendo una etapa de generar la señal predicha de orden cero en la bi-predicción basándose en la información de movimiento de orden cero y modificando la etapa S306 para calcular la suma de diferencias absolutas de la señal residual entre la señal de bi- predicción generada calculando el promedio de la primera señal predicha y la señal predicha de orden cero así generada, y la señal original predicha.
De esta manera, el primer vector de movimiento en la bi-predicción se genera basándose en la información de movimiento anteriormente codificada, y la información de identificación para identificar el índice de trama de referencia y la información de movimiento predictiva a partir de una pluralidad de candidatos tal como se muestra en las figuras 6 y 7, se codifica en lugar del vector de movimiento; este método permite que el dispositivo de codificación genere una señal similar que es similar a una señal de un bloque objetivo de una región de textura con alta aleatoriedad o una región plana que incluye ruido, con una menor cantidad de bits de codificación. Además, la búsqueda se realiza en la trama de referencia para detectar y codificar el vector de movimiento de orden cero para generar la segunda señal similar, mediante lo cual puede esperarse un efecto de potenciar el efecto de suavizado de señal de bi-predicción, en comparación con el caso en el que los dos vectores de movimiento se obtienen ambos a partir de la información de movimiento anteriormente codificada.
La figura 9 es un diagrama de flujo que muestra un procedimiento de un método de codificación predictiva de vídeo en el dispositivo 100 de codificación predictiva de vídeo según la presente realización. En primer lugar, la unidad 102 de división de bloques divide una imagen de entrada en bloques de codificación de 8X8 (la imagen de entrada puede dividirse en bloques de cualquier otro tamaño o forma, o pueden mezclarse bloques de diferentes tamaños en una imagen de entrada).
En primer lugar, la unidad 121 de estimación de primera información de movimiento que forma la unidad 103 de generación de señal predicha genera la primera señal predicha similar a un bloque objetivo, usando las tramas de referencia en List1 obtenidas a partir de la memoria 104 de trama y los candidatos para primera información de movimiento predictiva obtenidos a partir de la memoria de información de movimiento, y también genera la primera información de movimiento y la primera información secundaria usadas para la generación de la primera señal predicha (etapa S100). Los detalles de esta etapa ya se describieron con la figura 3. A continuación, la unidad 122 de estimación de información de movimiento de orden cero genera la señal predicha de orden cero similar al bloque objetivo, usando las tramas de referencia en List0 obtenidas a partir de la memoria 104 de trama y los candidatos para información de movimiento predictiva de orden cero obtenidos a partir de la memoria de información de movimiento, y la primera información de movimiento obtenida a partir de la unidad 121 de estimación de primera información de movimiento, y también genera la información de movimiento de orden cero y la información secundaria de orden cero usadas para la generación de la señal predicha de orden cero (etapa S150). Los detalles de esta etapa ya se describieron con la figura 4.
A continuación, la unidad 111 de codificación codifica por entropía la información secundaria de orden cero y la primera información secundaria y almacena la información de movimiento de orden cero y la primera información de movimiento en la memoria 113 de información de movimiento (etapa S101). Posteriormente, en la etapa S102, la unidad 123 de combinación de señales predichas que forma la unidad 103 de generación de señal predicha calcula el promedio de la señal predicha de orden cero y la primera señal predicha para generar una señal de bi-predicción del bloque objetivo. Una señal residual indicativa de una diferencia entre la señal de píxel del bloque objetivo de codificación y la señal predicha se transforma y se codifica mediante la unidad 106 de transformación, la unidad 107 de cuantificación y la unidad 111 de codificación (etapa S103). Los datos codificados de la información secundaria y los coeficientes de transformación cuantificados se emiten mediante el terminal 112 de salida (etapa S104). Para la codificación predictiva de un bloque objetivo de codificación posterior, la unidad 108 de cuantificación inversa y la unidad 109 de transformación inversa descodifican la señal residual codificada después de estos procedimientos, o en paralelo con estos procedimientos. Después, la unidad 110 de adición suma la señal residual descodificada a la señal predicha para reproducir una señal del bloque objetivo de codificación. La señal reproducida se almacena como trama de referencia en la memoria 104 de trama (etapa S105). A menos que el procesamiento se haya completado para todos los bloques objetivo de codificación, el procesamiento vuelve a la etapa S100 para realizar el procesamiento para el siguiente bloque objetivo de codificación. Cuando el procesamiento se ha completado para todos los bloques objetivo de codificación, se termina el procesamiento (etapa S106).
A continuación, se describirá un método de descodificación predictiva de vídeo según la presente realización. La figura 10 es un diagrama de bloques que muestra un dispositivo 200 de descodificación predictiva de vídeo según la presente realización. Este dispositivo 200 de descodificación predictiva de vídeo está dotado de un terminal 201 de
5
10
15
20
25
30
35
40
45
50
55
60
65
entrada, una unidad 202 de descodificación, una unidad 203 de cuantificación inversa, una unidad 204 de transformación inversa, una unidad 205 de adición, un terminal 206 de salida, una unidad 207 de compensación de movimiento, una unidad 208 de reconstrucción de información de movimiento, una memoria 104 de trama y una memoria 113 de información de movimiento. La unidad 203 de cuantificación inversa y la unidad 204 de transformación inversa funcionan como medios de reconstrucción de señal residual y la memoria 113 de información de movimiento funciona como medios de almacenamiento de información de movimiento. Los medios de descodificación mediante la unidad 203 de cuantificación inversa y la unidad 204 de transformación inversa pueden ser cualquier medio distinto de estos. Además, la unidad 204 de transformación inversa puede omitirse.
El terminal 201 de entrada implementa la entrada de datos comprimidos resultantes de la codificación por compresión mediante el método de codificación predictiva de vídeo anteriormente mencionado. Estos datos comprimidos contienen datos codificados de información de coeficientes de transformación cuantificados obtenidos mediante transformación y cuantificación de señales de error y codificación por entropía de coeficientes de transformación, y datos codificados de la información secundaria de orden cero y la primera información secundaria para la generación de señales de bi-predicción de bloques, para una pluralidad de bloques de codificación divididos.
La unidad 202 de descodificación analiza los datos comprimidos introducidos a partir del terminal 201 de entrada, separa los datos en los datos codificados de coeficientes de transformación cuantificados y los datos codificados de información secundaria sobre cada bloque objetivo de descodificación, realiza la descodificación por entropía de los mismos, y emite los datos descodificados mediante L202a y mediante L202b a la unidad 203 de cuantificación inversa y a la unidad 208 de reconstrucción de información de movimiento, respectivamente.
La unidad 208 de reconstrucción de información de movimiento recibe la información secundaria de orden cero (ref_idx[0], mvd[0], mvp_idx[0]) y la primera información secundaria (ref_idx[1], mvp_idx[1]) mediante L202b y reconstruyen la información de movimiento de orden cero (ref_idx[0], mv[0]) y la primera información de movimiento (ref_idx[1], mv[1]), usando la información de movimiento anteriormente descodificada adquirida mediante L113. La información de movimiento de orden cero y la primera información de movimiento reconstruidas se emiten mediante L208a y mediante L208b a la unidad 207 de compensación de movimiento y a la memoria 113 de información de movimiento, respectivamente. La memoria de información de movimiento almacena la información de movimiento.
La unidad 207 de compensación de movimiento adquiere señales anteriormente reproducidas a partir de la memoria 104 de trama, basándose en los dos fragmentos de información de movimiento, y calcula el promedio de las dos señales predichas para generar una señal de bi-predicción del bloque objetivo de descodificación. La señal predicha así generada se emite mediante L207 a la unidad 205 de adición.
Los coeficientes de transformación cuantificados de la señal residual en el bloque objetivo de descodificación descodificado mediante la unidad 202 de descodificación se emiten mediante L203 a la unidad 203 de cuantificación inversa. La unidad 203 de cuantificación inversa realiza la cuantificación inversa de los coeficientes cuantificados de la señal residual en el bloque objetivo de descodificación. La unidad 204 de transformación inversa transforma los datos sometidos a cuantificación inversa mediante una transformada de coseno discreta inversa para generar una señal residual.
La unidad 205 de adición suma la señal de bi-predicción generada mediante la unidad 207 de compensación de movimiento, a la señal residual reconstruida mediante la unidad 203 de cuantificación inversa y la unidad 204 de transformación inversa y emite una señal de píxel reproducida del bloque objetivo de descodificación mediante la línea L205 al terminal 206 de salida y la memoria 104 de trama. El terminal 206 de salida emite la señal al exterior (por ejemplo, una pantalla).
La memoria 104 de trama almacena la imagen reproducida emitida desde la unidad 205 de adición, como trama de referencia, que es una imagen reproducida para referencia para el siguiente procedimiento de descodificación.
La figura 11 es un diagrama de bloques que muestra una configuración de la unidad 208 de reconstrucción de información de movimiento según la presente realización. Esta unidad 208 de reconstrucción de información de movimiento está dotada de una unidad 211 de reconstrucción de primera información de movimiento y una unidad 212 de reconstrucción de información de movimiento de orden cero.
Esta unidad 211 de reconstrucción de primera información de movimiento y esta unidad 212 de reconstrucción de información de movimiento de orden cero pueden funcionar simultáneamente.
La unidad 212 de reconstrucción de información de movimiento de orden cero recibe la entrada de la información secundaria de orden cero (ref_idx[0], mvp_idx[0], mv[0]) para generar el predictor de vector de movimiento de orden cero (pmv[0][ref_idx[0]][mvp_idx[0]]) a partir de la información de movimiento del bloque adyacente obtenida mediante L113, suma el predictor de vector de movimiento a la diferencia de vector de movimiento (mvd[0]) en la información secundaria para generar el vector de movimiento en la información de movimiento de orden cero, restaurando de ese modo la información de movimiento de orden cero. De manera similar, cuando la trama de referencia identificada mediante ref_idx es diferente de la trama de referencia identificada mediante ref_idx del
5
10
15
20
25
30
35
40
45
50
55
60
65
bloque objetivo, puede realizarse un procedimiento de ajuste a escala del vector de movimiento en la información de movimiento predictiva basándose en los números de trama de la trama objetivo de codificación y las dos tramas de referencia.
La unidad 211 de reconstrucción de primera información de movimiento recibe la entrada de la primera información secundaria (ref_idx[1], mvp_idx[1]) para generar el predictor de primer vector de movimiento (pmv[1][ref_idx[1]][mvp_idx[1]]) a partir de la información de movimiento anteriormente descodificada obtenida mediante L113. Este predictor de vector de movimiento se define como el vector de movimiento en la primera información de movimiento (mv[1] = pmv[1][ref_idx[1]][mvp_idx[1]]), restaurando de ese modo la primera información de movimiento. En este momento, el primer vector de movimiento puede reconstruirse estableciendo la diferencia de vector de movimiento mvd[1] a un vector cero y sumándolo al predictor de vector de movimiento. En esta ocasión, si la trama de referencia identificada mediante ref_idx es diferente de la trama de referencia identificada mediante ref_idx del bloque objetivo, puede realizarse un procedimiento de ajuste a escala del vector de movimiento en la información de movimiento predictiva basándose en los números de trama de la trama objetivo de codificación y las dos tramas de referencia. En concreto, el vector de movimiento en la información de movimiento predictiva se ajusta a escala para convertirse en un vector de movimiento en la trama de referencia identificada mediante el bloque objetivo, y el vector de movimiento después de la conversión se usa como predictor de vector de movimiento.
La figura 13 muestra un diagrama de flujo de la unidad 212 de reconstrucción de información de movimiento de orden cero. En primer lugar, la etapa S451 es introducir datos descodificados de la información secundaria de orden cero (ref_idx[0] y mvp_idx[0] y mvd[0]). A continuación, la etapa S452 es introducir la información de movimiento indicada mediante mvp_idx[0], a partir de la información de movimiento de los bloques adyacentes tal como se muestra en la figura 7 (excluyendo la información de movimiento del bloque 400 porque no se ha determinado), basándose en ref_idx[0] y mvp_idx[0] así introducidos, y derivar el predictor de vector de movimiento (pmv[0][ref_idx[0]][mvp_idx[0]]). En este momento, si la trama de referencia identificada mediante ref_idx es diferente de la trama de referencia identificada mediante ref_idx del bloque objetivo, puede realizarse un procedimiento de ajuste a escala del vector de movimiento en la información de movimiento predictiva basándose en los números de trama de la trama objetivo de codificación y las dos tramas de referencia. Tras ello, la etapa S453 es sumar el predictor de vector de movimiento generado a la diferencia de vector de movimiento para reconstruir el vector de movimiento de orden cero (mv[0] = pmv[0][ref_idx[0]][mvp_idx[0]] + mvd[0]). Finalmente, la etapa S454 es emitir la información de movimiento de orden cero (ref_idx[0] y mv[0]) a la unidad 207 de compensación de movimiento y la memoria 113 de información de movimiento, seguido por el fin del procesamiento.
La figura 12 muestra un diagrama de flujo de la unidad 211 de reconstrucción de primera información de movimiento. En primer lugar, la etapa S401 es introducir datos descodificados de la primera información secundaria (ref_idx[1] y mvp_idx[1]) y la etapa S402 es establecer 0 para los valores de vector de la diferencia de vector de movimiento (mvd[1]). A continuación, la etapa S403 es introducir la información de movimiento indicada mediante mvp_idx[1] a partir de la información de movimiento anteriormente descodificada (en la que puede incluirse n=4) tal como se muestra en la figura 7, basándose en ref_idx[1] y mvp_idx[1] así introducidos, y derivar el predictor de vector de movimiento (pmv[1][ref_idx[1]][mvp_idx[1]]). En este momento, si la trama de referencia identificada mediante ref_idx es diferente de la trama de referencia identificada mediante ref_idx del bloque objetivo, puede realizarse un procedimiento de ajuste a escala del vector de movimiento en la información de movimiento predictiva basándose en los números de trama de la trama objetivo de codificación y las dos tramas de referencia. Tras ello, la etapa S404 es sumar el predictor de vector de movimiento generado a la diferencia de vector de movimiento para reconstruir el primer vector de movimiento (mv[1] = pmv[1][ref_idx[1]][mvp_idx[1]] + mvd[1]). Finalmente, la etapa S405 es emitir la primera información de movimiento (ref_idx[1] y mv[1]) a la unidad 207 de compensación de movimiento y la memoria 113 de información de movimiento, seguido por el fin del procesamiento. Dado que los valores de vector de mvd[1] son 0 en este ejemplo, la etapa S402 puede omitirse y la etapa S404 puede modificarse para establecer el predictor de vector de movimiento al vector de movimiento (mv[1] = pmv[1][ref_idx[1]][mvp_idx[1]]).
A continuación, se describirá el método de descodificación predictiva de vídeo en el dispositivo 200 de descodificación predictiva de vídeo mostrado en la figura 10 usando la figura 14. En primer lugar, se introducen datos comprimidos mediante el terminal 201 de entrada (etapa S201). Después, la unidad 202 de descodificación realiza un análisis de datos de los datos comprimidos, y realiza descodificación por entropía de los mismos para descodificar la información secundaria de orden cero y la primera información secundaria usadas para la generación de las señales de bi-predicción, y los coeficientes de transformación cuantificados (etapa S202).
A continuación, la unidad 212 de reconstrucción de información de movimiento de orden cero que forma la unidad 208 de reconstrucción de información de movimiento reconstruye la información de movimiento de orden cero, usando la información secundaria de orden cero y la información de movimiento de los bloques adyacentes almacenadas en la memoria 113 de información de movimiento (etapa S250). Los detalles de esta etapa ya se describieron con la figura 13.
Posteriormente, la unidad 211 de reconstrucción de primera información de movimiento que forma la unidad 208 de reconstrucción de información de movimiento reconstruye la primera información de movimiento, usando la primera información secundaria y la información de movimiento de los bloques adyacentes almacenada en la memoria 113
5
10
15
20
25
30
35
40
45
50
55
60
65
de información de movimiento (etapa S200). Los detalles de esta etapa ya se describieron con la figura 12.
A continuación, la unidad 207 de compensación de movimiento genera la señal de bi-predicción del bloque objetivo de descodificación, basándose en la información de movimiento reconstruida, y almacena la información de movimiento en la memoria 113 de información de movimiento (S207).
La unidad 203 de cuantificación inversa realiza la cuantificación inversa de los coeficientes de transformación cuantificados descodificados mediante la unidad 202 de descodificación y la unidad 204 de transformación inversa realiza la transformación inversa para generar una señal residual reproducida (S208). Después se suma la señal de bi-predicción generada a la señal residual reproducida para generar una señal reproducida y se almacena esta señal reproducida para la reproducción del siguiente bloque objetivo de descodificación en la memoria 104 de trama (etapa S209). Los procedimientos S202 a S209 se llevan a cabo de manera repetida mientras existan siguientes datos comprimidos (S210) y se procesan todos los datos hasta el último.
A continuación, se describirá una técnica de usar selectivamente una pluralidad de métodos de bi-predicción incluyendo la presente invención. La bi-predicción de codificar solo una diferencia de vector de movimiento tal como se describió anteriormente (que se denominará tipo de bi-predicción 2) puede usarse de manera adaptativa en combinación con la bi-predicción convencional de codificar dos diferencias de vector de movimiento (que se denominará tipo de bi-predicción 1) y la uni-predicción. Estos sistemas de predicción pueden usarse con conmutación en la unidad de trama, en la unidad de sector de un grupo de bloques, o en la unidad de bloque. Los procedimientos de conmutación aplicables en el presente documento incluyen un método de codificar información de conmutación y un método de hacer que el lado de descodificador determine la conmutación basándose en los números de trama de las tramas de referencia.
El procedimiento de conmutación entre el tipo de bi-predicción 1 y el tipo de bi-predicción 2 puede implementarse añadiendo a la unidad 121 de estimación de primera información de movimiento en la figura 2, una función de coincidencia de bloques y una función para calcular una diferencia de vector de movimiento restando un vector predictivo de un vector de movimiento detectado mediante búsqueda, y añadiendo a la unidad de reconstrucción de primera información de movimiento en la figura 11, una función para derivar una diferencia de vector de movimiento a partir de la unidad de descodificación. A continuación se describirán métodos específicos.
(Conmutación en la unidad de trama/sector, y codificación de información de conmutación del tipo de bi-predicción)
Para conmutar entre el tipo de bi-predicción 1 y el tipo de bi-predicción 2 en la unidad de trama/sector, la información de conmutación del tipo de bi-predicción (por ejemplo, Bi-pred_type) se codifica incluida en una cabecera de una trama o un sector.
Cuando todos los candidatos a trama de referencia son tramas pasadas en el orden de visualización con respecto a la trama objetivo de codificación como en la figura 5 (A), el tipo de bi-predicción 2 es eficaz y por tanto el lado de codificador selecciona usar el tipo de bi-predicción 2. Después, el dispositivo de codificación codifica información de indicación para indicar el tipo de bi-predicción 2 (por ejemplo, Bi-pred_type = 1), en la información de cabecera de una trama o un sector. Por otra parte, cuando los candidatos a trama de referencia incluyen una trama futura en el orden de visualización con respecto a la trama objetivo de codificación como en la figura 5 (B), el dispositivo de codificación selecciona el tipo de bi-predicción 1 y codifica información de indicación para indicar el tipo de bi- predicción 1 (por ejemplo, Bi-pred_type = 0), en la información de cabecera de una trama o un sector.
Cuando se usa el tipo de bi-predicción 1, se busca un vector de movimiento mv[1] y se incluye mvd[1] en la primera información secundaria, similar a la información secundaria de orden cero (datos codificados de ref_idx[0] y mvd[0] y mvp_idx[0]), codificada junto con ref_idx[1] y mvp_idx[1], en la codificación de un bloque en una trama o en un sector. Cuando se usa el tipo de bi-predicción 2, se codifican ref_idx[0] y mvd[0] y mvp_idx[0] como información secundaria de orden cero, y se codifican ref_idx[1] y mvp_idx[1] como primera información secundaria.
El lado de descodificador conmuta el método de reconstrucción de mvd[1], en la descodificación de cada bloque en una trama o en un sector, basándose en la información de indicación descodificada a partir de la información de cabecera de la trama o el sector. En concreto, cuando se descodifica la información de indicación indicativa del tipo de bi-predicción 1 (por ejemplo, Bi-pred_type = 0), se descodifica la primera información secundaria incluyendo mvd[1], junto con ref_idx[1] y mvp_idx[1], en la descodificación de cada bloque en la trama o en el sector. Cuando se descodifica la información de indicación indicativa del tipo de bi-predicción 2 (por ejemplo, Bi-pred_type = 1), se descodifica la primera información secundaria para obtener ref_idx[1] y mvp_idx[1] y se establece 0 para valores de vector horizontal y vertical de mvd[1], en la descodificación de cada bloque en la trama o en el sector. Se descodifica la información secundaria de orden cero para obtener ref_idx[0] y mvd[0] y mvp_idx[0], independientemente del valor de la información de indicación.
No es necesario que el método de conmutación entre el tipo de bi-predicción 1 y el tipo de bi-predicción 2 en el lado de codificador dependa del método descrito en el presente documento. Por ejemplo, puede usarse el tipo de bi- predicción 2 si todas las tramas de referencia son tramas futuras en el orden de visualización con respecto a la
5
10
15
20
25
30
35
40
45
50
55
60
65
trama objetivo de codificación. También es posible adoptar un método de comprobación de las eficacias de codificación en la aplicación real del tipo de bi-predicción 1 y el tipo de bi-predicción 2 (por ejemplo, valores de evaluación obtenidos convirtiendo la suma de diferencias al cuadrado de una señal de error de codificación + contador de bits de codificación) y seleccionar un tipo con una eficacia de codificación superior.
Además, en el caso de un método de codificación de usar de manera adaptativa una pluralidad de tamaños de bloque tal como se muestra en la figura 8, la información de indicación indicativa de la conmutación entre el tipo de bi-predicción 1 y el tipo de bi-predicción 2 puede enviarse de manera individual para cada uno de diferentes tamaños de bloque, en la cabecera de trama o sector. Por ejemplo, cuando los tamaños de bloque son de 64X64, 32X32, 16X16, y 8X8, se codifican cuatro fragmentos de información de indicación.
Cuando se aplica tanto la uni-predicción como la bi-predicción a un método de predicción de bloques, el lado de codificador selecciona un tipo de predicción (uni-predicción o bi-predicción) y lo codifica incluido en la información secundaria. Después se lleva a cabo el procedimiento de conmutación entre el tipo de bi-predicción 1 y el tipo de bi- predicción 2 solo con bloques para los que se selecciona la bi-predicción. El lado de descodificador realiza el procedimiento de conmutación entre el tipo de bi-predicción 1 y el tipo de bi-predicción 2 solo con bloques para los que se descodifica la información indicativa de bi-predicción como un tipo de predicción.
(Conmutación en la unidad de trama/sector, y determinación basándose en números de trama de tramas de referencia)
Los candidatos a trama de referencia mostrados en la figura 5 (A) y la figura 5 (B) son los mismos en el lado de codificador y en el lado de descodificador. Por este motivo, puede determinarse cuál del tipo de bi-predicción 1 y el tipo de bi-predicción 2 debe usarse basándose en los números de trama de los candidatos a trama de referencia y el número de trama de la trama objetivo de codificación. En concreto, se usa el tipo de bi-predicción 2 cuando todos los candidatos a trama de referencia son tramas pasadas en el orden de visualización con respecto a la trama objetivo de codificación; se usa el tipo de bi-predicción 1 cuando los candidatos a trama de referencia incluyen una trama futura en el orden de visualización con respecto a la trama objetivo de codificación. Este método no requiere la transmisión de información de indicación.
También es posible aplicar el tipo de bi-predicción 2 cuando todos los candidatos a trama de referencia son tramas futuras en el orden de visualización con respecto a la trama objetivo de codificación.
(Conmutación en la unidad de bloque, y codificación de información de conmutación)
En el caso de conmutación entre el tipo de bi-predicción 1 y el tipo de bi-predicción 2 en la unidad de bloque, la información de conmutación del tipo de bi-predicción (por ejemplo, Bi-pred_block_type) se codifica incluida en la información secundaria de cada bloque.
Dado que el tipo de bi-predicción 2 es eficaz cuando dos tramas de referencia en la bi-predicción son tramas pasadas en el orden de visualización con respecto a la trama objetivo de codificación, el lado de codificador selecciona usar el tipo de bi-predicción 2. Después, el dispositivo de codificación suma información de indicación indicativa del tipo de bi-predicción 2 (por ejemplo, Bi-pred_block_type = 1) a la información secundaria del bloque y la codifica junto con ref_idx[0], mvd[0] y mvp_idx[0] de la información secundaria de orden cero y ref_idx[1] y mvp_idx[1] de la primera información secundaria. Por otra parte, cuando las dos tramas de referencia en la bi- predicción incluyen una trama futura en el orden de visualización con respecto a la trama objetivo de codificación, el lado de codificador selecciona el tipo de bi-predicción 1. Después el dispositivo de codificación suma información de indicación indicativa del tipo de bi-predicción 1 (por ejemplo, Bi-pred_block_type = 0) a la información secundaria del bloque y la codifica junto con ref_idx[0], mvd[0] y mvp_idx[0] de la información secundaria de orden cero y ref_idx[1], mvd[1] (mvd[1] está incluido en la primera información secundaria) y mvp_idx[1] de la primera información secundaria.
El lado de descodificador descodifica la información secundaria del bloque que incluye la información de conmutación del tipo de bi-predicción (por ejemplo, Bi-pred_block_type) y conmuta el método de reconstrucción de mvd[1], basándose en un valor descodificado. Específicamente, cuando se descodifica la información de indicación indicativa del tipo de bi-predicción 1 (por ejemplo, Bi-pred_block_type = 0) como información secundaria del bloque, el dispositivo de descodificación descodifica ref_idx[0] y mvd[0] y mvp_idx[0] como información secundaria de orden cero y descodifica ref_idx[1] y mvd[1] y mvp_idx[1] como primera información secundaria. Por otra parte, cuando se descodifica la información de indicación indicativa del tipo de bi-predicción 2 (por ejemplo, Bi-pred_block_type = 1) como información secundaria del bloque, el dispositivo de descodificación descodifica ref_idx[0] y mvd[0] y mvp_idx[0] como información secundaria de orden cero, descodifica ref_idx[1] y mvp_idx[1] como primera información secundaria, y establece 0 para valores horizontal y vertical de vector de mvd[1].
No es necesario que el método de conmutación entre el tipo de bi-predicción 1 y el tipo de bi-predicción 2 en el lado de codificador dependa del método descrito en el presente documento. Por ejemplo, cuando ambas de las dos tramas de referencia son tramas futuras en el orden de visualización con respecto a la trama objetivo de
5
10
15
20
25
30
35
40
45
50
55
60
65
codificación, puede aplicarse el tipo de bi-predicción 2. También es posible adoptar un método de comprobar las eficacias de codificación en la aplicación real del tipo de bi-predicción 1 y el tipo de bi-predicción 2 (por ejemplo, valores de evaluación obtenidos convirtiendo la suma de diferencias al cuadrado de una señal de error de codificación + contador de bits de codificación) para cada bloque, y seleccionar un tipo con una eficacia de codificación superior.
Cuando se aplican tanto la uni-predicción como la bi-predicción al método de predicción de bloques, el lado de codificador selecciona un tipo de predicción (uni-predicción o bi-predicción) y lo codifica incluido en la información secundaria. Después se lleva a cabo el procedimiento de conmutación entre el tipo de bi-predicción 1 y el tipo de bi- predicción 2 solo con bloques para los que se selecciona la bi-predicción. El lado de descodificador realiza el procedimiento de conmutación entre el tipo de bi-predicción 1 y el tipo de bi-predicción 2 solo con bloques para los que se descodifica la información indicativa de bi-predicción como tipo de predicción.
(Conmutación en la unidad de bloque, y determinación basándose en números de trama de tramas de referencia)
Los candidatos a trama de referencia mostrados en la figura 5 (A) y la figura 5 (B) son los mismos en el lado de codificador y el lado de descodificador. Por este motivo, puede determinarse cuál del tipo de bi-predicción 1 y el tipo de bi-predicción 2 debe usarse basándose en los números de trama de las dos tramas de referencia usadas en la bi- predicción, que se codifican/descodifican como información secundaria de bloque, y el número de trama de la trama objetivo de codificación. En concreto, se aplica el tipo de bi-predicción 2 cuando las dos tramas de referencia usadas en la bi-predicción son ambas tramas pasadas en el orden de visualización con respecto a la trama objetivo de codificación; se aplica el tipo de bi-predicción 1 cuando cualquiera o ambas de las dos tramas de referencia son tramas futuras en el orden de visualización con respecto a la trama objetivo de codificación. Este método no requiere la transmisión de información de indicación. Puede aplicarse el tipo de bi-predicción 2 cuando ambas de las dos tramas de referencia son tramas futuras en el orden de visualización con respecto a la trama objetivo de codificación.
(Combinación de conmutación en la unidad de trama/sector y conmutación en la unidad de bloque)
En la unidad de trama/sector, se codifica/descodifica información de indicación para indicar si la conmutación del tipo de bi-predicción debe realizarse en la unidad de trama/sector o en la unidad de bloque.
Cuando la conmutación del tipo de bi-predicción se lleva a cabo en la unidad de trama/sector, la información de conmutación del tipo de bi-predicción (por ejemplo, Bi-pred_type) se codifica/descodifica adicionalmente incluida en una cabecera de una trama o un sector, tal como se describió anteriormente. En esta ocasión, en el caso del método de codificación de usar de manera adaptativa una pluralidad de tamaños de bloque tal como se muestra en la figura 8, la información de indicación para indicar la conmutación entre el tipo de bi-predicción 1 y el tipo de bi-predicción 2 puede enviarse individualmente para cada uno de diferentes tamaños de bloque, en la cabecera de trama o sector. Por ejemplo, cuando los tamaños de bloque son 64X64, 32X32, 16X16, y 8X8, se codifican cuatro fragmentos de información de indicación.
Cuando la conmutación del tipo de bi-predicción se lleva a cabo en la unidad de bloque de trama, la información de conmutación del tipo de bi-predicción (por ejemplo, Bi-pred_block_type) se codifica/descodifica adicionalmente incluida en la información secundaria de un bloque, en la unidad de bloque, tal como se describió anteriormente. En esta ocasión, además, en el caso del método de codificación de usar de manera adaptiva una pluralidad de tamaños de bloque tal como se muestra en la figura 8, puede transmitirse individualmente información de indicación para indicar si debe llevarse a cabo el procedimiento de conmutación entre el tipo de bi-predicción 1 y el tipo de bi- predicción 2 para cada uno de diferentes tamaños de bloque, en la cabecera de trama o sector. Por ejemplo, cuando los tamaños de bloque son 64X64, 32X32, 16X16, y 8X8, se codifican cuatro fragmentos de información de indicación.
También es posible codificar/descodificar información de indicación para indicar la aplicación de tan solo el tipo de bi-predicción 1, la aplicación de tan solo el tipo de bi-predicción 2, o la conmutación entre los dos tipos de bi- predicción en cada bloque en una trama/sector, en la unidad de trama/sector. En esta ocasión, en el caso del método de codificación de usar de manera adaptiva una pluralidad de tamaños de bloque tal como se muestra en la figura 8, la información de indicación puede transmitirse individualmente para cada uno de diferentes tamaños de bloque.
En otro método, se codifica/descodifica información de indicación para indicar si debe aplicarse el tipo de bi- predicción 2 en la unidad de trama/sector. En una trama/sector que usa el tipo de bi-predicción 2, puede codificarse/descodificarse adicionalmente información de indicación para indicar si debe realizarse la conmutación entre el tipo de bi-predicción 1 y el tipo de bi-predicción 2 en cada bloque en la trama/sector, o para indicar si se aplica el tipo de bi-predicción 2 a todos los bloques en la trama/sector. En esta ocasión, en el caso del método de codificación de usar de manera adaptiva una pluralidad de tamaños de bloque tal como se muestra en la figura 8, estos fragmentos de información de indicación pueden transmitirse individualmente para cada uno de los diferentes tamaños de bloque, en la cabecera de trama o sector.
5
10
15
20
25
30
35
40
45
50
55
60
65
En la descripción anterior, la información de movimiento de orden cero del bloque 400 objetivo se incluyó en los candidatos para el predictor de primer vector de movimiento mostrado en la figura 7. Sin embargo, también es posible preparar por separado como tipo de bi-predicción 3 un método de definir la información de movimiento de orden cero como primera información de movimiento predictiva, ajustar a escala la información de movimiento predictiva, basándose en el primer índice de trama de referencia incluido en la información de movimiento de orden cero y el primer índice de trama de referencia incluido en la primera información de movimiento, y usar el resultado ajustado a escala como primera información de movimiento. En concreto, el ajuste a escala se realiza de manera que el vector de movimiento incluido en la información de movimiento de orden cero se vuelve el vector de movimiento de la trama de referencia indicado por el índice de trama de referencia de la primera información de movimiento. En este caso, no es necesario que la información de movimiento de orden cero del bloque objetivo se incluya en los candidatos para la primera información de movimiento predictiva en tipo de bi-predicción 2 (n=4 en la figura 7 se excluye de los candidatos). Cuando se aplica el tipo de bi-predicción 3, no se lleva a cabo la codificación/descodificación del índice de predictor de primer vector de movimiento. En concreto, se codifica/descodifica la primera información secundaria, incluyendo el primer índice de trama de referencia (ref_idx[1]) pero sin incluir la diferencia de vector de movimiento (mvd[1]) ni el índice de predictor de primer vector de movimiento (mvp_idx[1]).
Un método de aplicación del tipo de bi-predicción 3 puede ser codificar/descodificar información de indicación para indicar la conmutación entre el tipo de bi-predicción 1, el tipo de bi-predicción 2 y el tipo de bi-predicción 3, en la unidad de trama/sector o en la unidad de bloque. También es posible codificar/descodificar información de indicación para indicar la conmutación entre el tipo de bi-predicción 1 y el tipo de bi-predicción 3, o la conmutación entre el tipo de bi-predicción 2 y el tipo de bi-predicción 3, en la unidad de trama/sector o en la unidad de bloque.
También es concebible emplear un método consistente en usarlo como sustituto para el tipo de bi-predicción 1 en la descripción anterior. En concreto, se aplica el tipo de bi-predicción 3 cuando la pluralidad de candidatos a trama de referencia incluyen una trama futura en el orden de visualización con respecto a la trama objetivo de codificación; se aplica el tipo de bi-predicción 2 cuando la pluralidad de candidatos a trama de referencia son todos tramas pasadas en el orden de visualización con respecto a la trama objetivo de codificación.
En otro método aplicable, cuando la trama de referencia indicada por el índice de trama de referencia en la información de movimiento de orden cero es diferente de la trama de referencia indicada por el índice de trama de referencia en la primera información de movimiento, se aplica el tipo de bi-predicción 3 en lugar del tipo de bi- predicción 2 (sin necesidad de codificar/descodificar el índice de predictor de primer vector de movimiento). Por otra parte, cuando la trama de referencia indicada por el índice de trama de referencia en la información de movimiento de orden cero es la misma que la trama de referencia indicada por el índice de trama de referencia en la primera información de movimiento, se aplica el tipo de bi-predicción 2 (con codificación/descodificación del índice de predictor de primer vector de movimiento).
No se necesita limitar la información de conmutación del tipo de bi-predicción a la información de identificación tal como Bi-pred_type o Bi-pred_block_type. Puede ser cualquier información para indicar si debe llevarse a cabo la codificación/descodificación de la diferencia de vector de movimiento. Por ejemplo, puede codificarse/descodificarse información de indicador para indicar si mvd está incluido en la primera información secundaria o en la información secundaria de orden cero como mvd_list1_zero_flag o mvd_list0_zero_flag. Cuando se conmutan el tipo de bi- predicción 1, el tipo de bi-predicción 2 y el tipo de bi-predicción 3 en la unidad de trama/sector o en la unidad de bloque, se envía un indicador para indicar que mvd no está incluido en la información secundaria en la aplicación de cualquiera del tipo de bi-predicción 2 y el tipo de bi-predicción 3. La conmutación entre el tipo de bi-predicción 2 y el tipo de bi-predicción 3 puede realizarse basándose en los índices de trama de referencia tal como se describió anteriormente (se aplica el tipo de bi-predicción 2 cuando la trama de referencia indicada por el índice de trama de referencia en la información de movimiento de orden cero es la misma que la trama de referencia indicada por el índice de trama de referencia en la primera información de movimiento), y puede codificarse/descodificarse adicionalmente información de selección.
La figura 15 es un diagrama de bloques que muestra módulos de un programa que puede ejecutar el método de codificación predictiva de vídeo. Tal como se muestra en la figura 15 (A), el programa P100 de codificación predictiva de vídeo está dotado de un módulo P101 de división de bloques, un módulo P103 de generación de señal predicha, un módulo P104 de almacenamiento, un módulo P105 de resta, un módulo P106 de transformación, un módulo P107 de cuantificación, un módulo P108 de cuantificación inversa, un módulo P109 de transformación inversa, un módulo P110 de adición, un módulo P111 de codificación y un módulo P113 de almacenamiento de información de movimiento. Además, tal como se muestra en la figura 15 (B), el módulo P103 de generación de señal predicha está dotado de un módulo P121 de estimación de primera información de movimiento, un módulo P122 de estimación de información de movimiento de orden cero y un módulo P123 de combinación de señales predichas. Las funciones implementadas mediante la ejecución de los módulos respectivos anteriores son las mismas que las funciones del dispositivo 100 de codificación predictiva de vídeo descrito anteriormente. En concreto, las funciones de los módulos respectivos en el programa P100 de codificación predictiva de vídeo son las mismas que las funciones de la unidad 102 de división de bloques, unidad 103 de generación de señal predicha,
5
10
15
20
25
30
35
40
45
50
55
60
65
memoria 104 de trama, unidad 105 de resta, unidad 106 de transformación, unidad 107 de cuantificación, unidad 108 de cuantificación inversa, unidad 109 de transformación inversa, unidad 110 de adición, unidad 111 de codificación, memoria 113 de información de movimiento, unidad 121 de estimación de primera información de movimiento, unidad 122 de estimación de información de movimiento de orden cero y unidad 123 de combinación de señales predichas.
La figura 16 es un diagrama de bloques que muestra módulos de un programa que pueden ejecutar el método de descodificación predictiva de vídeo. Tal como se muestra en la figura 16 (A), el programa P200 de descodificación predictiva de vídeo está dotado de un módulo P201 de descodificación, un módulo P202 de descodificación de información de movimiento, un módulo P203 de compensación de movimiento, un módulo P204 de almacenamiento de información de movimiento, un módulo P205 de cuantificación inversa, un módulo P206 de transformación inversa, un módulo P207 de adición, y un módulo P104 de almacenamiento. Además, tal como se muestra en la figura 16 (B), el módulo P202 de descodificación de información de movimiento está dotado de un módulo P211 de reconstrucción de primera información de movimiento y un módulo P212 de reconstrucción de información de movimiento de orden cero.
Las funciones implementadas mediante la ejecución de los módulos respectivos anteriores son las mismas que las de los componentes del dispositivo 200 de descodificación predictiva de vídeo anteriormente mencionado. En concreto, las funciones de los módulos respectivos en el programa P200 de descodificación predictiva de vídeo son las mismas que las funciones de la unidad 202 de descodificación, unidad 208 de reconstrucción de información de movimiento, unidad 207 de compensación de movimiento, memoria 113 de información de movimiento, unidad 203 de cuantificación inversa, unidad 204 de transformación inversa, unidad 205 de adición, memoria 104 de trama, unidad 211 de reconstrucción de primera información de movimiento y unidad 212 de reconstrucción de información de movimiento de orden cero.
El programa P100 de codificación predictiva de vídeo o el programa P200 de descodificación predictiva de vídeo configurado tal como se describió anteriormente se almacena en un medio 10 de almacenamiento descrito a continuación mostrado en las figuras 17 y 18, y se ejecuta mediante un ordenador descrito a continuación.
La figura 17 es un dibujo que muestra una configuración de hardware de un ordenador para ejecutar un programa grabado en un medio de almacenamiento y la figura 18 una vista en perspectiva de un ordenador para ejecutar un programa almacenado en un medio de almacenamiento. Los equipos para ejecutar el programa almacenado en el medio de almacenamiento no se limitan a ordenadores, sino que pueden ser un reproductor de DVD, un descodificador, un teléfono celular, o similares dotados de una CPU y configurados para realizar procesamiento y control basándose en software.
Tal como se muestra en la figura 17, el ordenador 30 está dotado de un dispositivo 12 de lectura tal como una unidad de disquete flexible, una unidad de CD-ROM o una unidad de DVD, una memoria 14 de trabajo (RAM) en la que reside un sistema operativo, una memoria 16 para almacenar un programa almacenado en el medio 10 de almacenamiento, una unidad 18 de monitor tal como una pantalla, un ratón 20 y un teclado 22 como dispositivos de entrada, un dispositivo 24 de comunicación para la transmisión/recepción de datos y otros, y una CPU 26 para controlar la ejecución del programa. Cuando se pone el medio 10 de almacenamiento en el dispositivo 12 de lectura, el ordenador 30 se vuelve accesible para el programa de codificación o descodificación predictiva de vídeo almacenado en el medio 10 de almacenamiento, a través del dispositivo 12 de lectura, y se vuelve capaz de funcionar como el dispositivo de codificación de vídeo o el dispositivo de descodificación de vídeo según la presente realización, basándose en el programa de codificación o descodificación de imágenes.
Tal como se muestra en la figura 18, el programa de codificación predictiva de vídeo y el programa de descodificación de vídeo pueden proporcionarse en forma de señal 40 de datos informáticos superpuesta en una onda portadora, a través de una red. En este caso, el ordenador 30 almacena el programa de codificación predictiva de vídeo o el programa de descodificación de vídeo recibido a través del dispositivo 24 de comunicación, en la memoria 16 y se vuelve capaz de ejecutar el programa de codificación predictiva de vídeo o el programa de descodificación predictiva de vídeo.
En la presente invención, es posible emplear además modificaciones tal como se describe a continuación.
(1) Relación entre información secundaria de orden cero y primera información secundaria
En la descripción anterior la primera información secundaria contiene ref_idx[1] y mvp_idx[1] y la información secundaria de orden cero contiene ref_idx[0] y mvd[0] y mvp_idx[0]; sin embargo, esta configuración puede invertirse. Específicamente, la primera información secundaria contiene ref_idx[1] y mvd[1] y mvp_idx[1] y la información secundaria de orden cero contiene ref_idx[0] y mvp_idx[0]. En este caso, la información de movimiento predictiva de orden cero se genera a partir de la información de movimiento de los bloques adyacentes, se genera la señal predicha de orden cero, y después se realiza una búsqueda de la primera información de movimiento para minimizar el valor de evaluación de la suma de diferencias absolutas entre la señal de bi-predicción y la señal original del bloque objetivo + la información secundaria.
5
10
15
20
25
30
35
40
45
50
55
60
65
En otro método disponible, la primera información secundaria contiene ref_idx[1] y mvp_idx[1] y la información secundaria de orden cero contiene ref_idx[0] y mvp_idx[0]. En concreto, no se codifica la diferencia de vector de movimiento y el lado de descodificador establece 0 para los valores de vector horizontal y vertical de las dos diferencias de vector de movimiento. En otro método, el predictor de vector de movimiento de orden cero y el predictor de primer vector de movimiento se establecen al vector de movimiento de orden cero y al primer vector de movimiento, respectivamente.
(2) Tramas de referencia
En la descripción anterior, se codifica/descodifica el índice de trama de referencia incluido en la primera información secundaria, pero puede determinarse basándose en el índice de trama de referencia asociado con la información de movimiento del bloque adyacente indicado por mvp_idx (por ejemplo, para los bloques 401 a 404 adyacentes en la figura 7, se usa el índice de trama de referencia asociado en List1 tal cual y, para los bloques 410 a 415 adyacentes, se aplica un procedimiento de ajuste a escala a un vector de movimiento en un bloque adyacente, basándose en la diferencia entre tramas de referencia indicada por los índices de trama de referencia del bloque objetivo y el bloque adyacente). Además, el índice de trama de referencia de la primera información de movimiento puede determinarse previamente. Dado que en estos casos el índice de trama de referencia puede reconstruirse de manera única en el lado de descodificador, no se necesita codificar el índice de trama de referencia ref_idx incluido en la primera información secundaria.
La selección de tramas de referencia y las listas de las mismas no se limitan a los ejemplos de la figura 5 y la figura 6. Las listas de tramas de referencia pueden codificarse en la unidad de trama/sector, y no se necesita que el número de tramas de referencia sea siempre 4 como en la figura 5, sino que la presente invención puede llevarse a cabo con cualquier otro número.
(3) Información de movimiento predictiva
Las realizaciones anteriores usaron varios fragmentos de información de movimiento anteriormente codificada/anteriormente descodificada como candidatos para información de movimiento predictiva tal como se muestra en la figura 7, pero el número y las posiciones de bloques adyacentes que van a usarse no se limitan a los mismos.
La bi-predicción de la presente invención también puede llevarse a cabo en una configuración en la que el vector de movimiento de orden cero del bloque adyacente está incluido en los candidatos para el predictor de primer vector de movimiento y el primer vector de movimiento del bloque adyacente está incluido en los candidatos para el predictor de vector de movimiento de orden cero. La información de movimiento de orden cero codificada/descodificada anteriormente puede sumarse a los candidatos para primera información de movimiento predictiva.
La presente invención tampoco se limita en cuanto a si el procedimiento de ajuste a escala del vector de movimiento debe llevarse a cabo cuando el índice de trama de referencia en la información de movimiento anteriormente codificada/anteriormente descodificada es diferente del índice de trama de referencia en la información de movimiento asociado con el bloque objetivo.
Cuando solo hay un candidato para predictor de vector de movimiento, no es necesario codificar el índice de predictor de vector de movimiento mvp_idx incluido en la primera información secundaria.
En la presente invención tampoco hay restricciones sobre el método de generación del predictor de vector de movimiento. Por ejemplo, también es posible adoptar como predictor de vector de movimiento la mediana de un número impar de candidatos para predictor de vector de movimiento. Debido a que el predictor de vector de movimiento también se determina de manera única en el lado de descodificador en este caso, no es necesario codificar el índice de predictor de vector de movimiento mvp_idx incluido en la primera información secundaria.
La bi-predicción de la presente invención también puede llevarse a cabo en el caso del método de codificación/descodificación que usa una pluralidad de tamaños de bloque, tal como se muestra en la figura 8, siempre que se defina un método para determinar los candidatos para información de movimiento predictiva. Por ejemplo, en el ejemplo de la figura 8, es posible definir bloques 421 a 428 adyacentes al bloque 400 objetivo como candidatos para información predictiva, o determinar previamente un método de numeración de bloques adyacentes y establecer información de movimiento de bloques adyacentes, tantos como un número designado en la unidad de trama o en la unidad de sector, como candidatos para predictor de vector de movimiento.
(4) Información de movimiento de orden cero e información secundaria
En la presente invención no hay restricciones sobre las configuraciones de la información de movimiento de orden cero y la información secundaria; el índice de trama de referencia y el índice de predictor de vector de movimiento pueden establecerse como valores fijos, sin codificarse, o pueden derivarse mediante un método predeterminado.
5
10
15
20
25
30
35
40
45
50
55
60
65
En cuanto a la información de movimiento de orden cero e información secundaria, de manera similar a la primera información de movimiento e información secundaria, el lado de descodificador puede establecer mvd[0] = pmv[0] (o mvd[0] = 0), sin codificar mvd[0].
(5) Números de trama
En la descripción anterior el número de trama (frame_num) se usa para identificar cada una de las tramas de referencia y trama objetivo de codificación, pero puede usarse cualquier otra información, sin influir sobre la implementación de la presente invención, siempre que sea información que permita la identificación de cada trama de referencia.
(6) Reconstrucción de la diferencia de primer vector de movimiento mvd[1]
En la bi-predicción anteriormente descrita de la presente invención, los valores de vector de la diferencia de primer vector de movimiento mvd[1] son 0. Por este motivo, sin codificar mvd[1], el lado de descodificador establece 0 para los valores de vector de mvd[1] o establece el vector de movimiento mv[1] a pmv[1]. Otra realización eficaz puede ser un método de incluir mvd[1] = 0 en la primera información secundaria y codificar por entropía de manera eficaz los ceros.
Cuando se usa codificación aritmética para la codificación por entropía, por ejemplo, la diferencia de vector de movimiento de orden cero y la diferencia de primer vector de movimiento se codifican/descodifican mediante diferentes modelos de probabilidad. Por ejemplo, se preparan dos modelos de probabilidad con diferentes frecuencias de probabilidad de valores de vector 0 de diferencia de vector de movimiento para la codificación/descodificación de la diferencia de vector de movimiento. Después se usa el segundo modelo de probabilidad con la mayor frecuencia de valores de vector 0 de diferencia de vector de movimiento para la codificación/descodificación de la diferencia de primer vector de movimiento, y se usa el otro primer modelo de probabilidad para la codificación/descodificación de la diferencia de vector de movimiento de orden cero. Además, también pueden prepararse diferentes modelos de probabilidad para valores de vector horizontal y vertical de diferencia de vector de movimiento.
En otro método aplicable, se usa el segundo modelo de probabilidad solo para la diferencia de primer vector de movimiento de cada bloque al que se aplica el tipo de bi-predicción 2, y se usa el primer modelo de probabilidad para la codificación/descodificación de las diferencias de vector de movimiento de los otros bloques.
Cuando se aplica codificación de longitud variable, la diferencia de vector de movimiento de orden cero y la diferencia de primer vector de movimiento se codifican/descodifican usando diferentes tablas de código de longitud variable. Por ejemplo, se preparan dos tablas de código de longitud variable con diferentes longitudes de código asignadas a valores de vector 0 de la diferencia de vector de movimiento. Después se usa la segunda tabla de código de longitud variable con una longitud de código más corta asignada a valores de vector 0 de la diferencia de vector de movimiento para la codificación/descodificación de la diferencia de primer vector de movimiento, y se usa la otra primera tabla de código de longitud variable para la codificación/descodificación de la diferencia de vector de movimiento de orden cero. Además, pueden prepararse tablas de código de longitud variable independientes para valores de vector horizontal y vertical de diferencia de vector de movimiento.
En otro método aplicable, se usa la segunda tabla de código de longitud variable solo para la diferencia de primer vector de movimiento de cada bloque al que se aplica el tipo de bi-predicción 2, y se usa la primera tabla de código de longitud variable para la codificación/descodificación de las diferencias de vector de movimiento de los otros bloques.
(7) N-predicción
En la descripción anterior los tipos de predicción de predicción inter-tramas son uni-predicción y bi-predicción, pero la presente invención también puede aplicarse a métodos de predicción de combinar tres o más señales predichas. Cuando la señal predicha se genera combinando tres o más señales predichas, el número de fragmentos de información secundaria sin mvd puede ser cualquier número no inferior a 1.
(8) Unidad de transformación y unidad de transformación inversa
El procedimiento de transformación de la señal residual puede llevarse a cabo en un tamaño de bloque fijo o el procedimiento de transformación puede llevarse a cabo en cada una de sub-regiones obtenidas subdividiendo una región objetivo en las sub-regiones.
(9) Señal de color
No hay ninguna descripción específica sobre el formato de color en las realizaciones anteriores, pero el
5
10
15
20
25
30
35
40
45
50
55
60
65
procedimiento de generación de señal predicha también puede llevarse a cabo para la señal de color o señal residual de color, de manera separada de la señal de luminancia. También puede llevarse a cabo en sincronización con el procesamiento de la señal de luminancia.
En una realización, un dispositivo de codificación predictiva de vídeo comprende:
medios de división de regiones que dividen una imagen de entrada en una pluralidad de regiones;
medios de generación de señal predicha que determinan un vector de movimiento para derivar, a partir de una imagen anteriormente reproducida, una señal que tiene una alta correlación con una región objetivo, adquiriéndose la señal como objetivo de codificación a partir de las regiones divididas por los medios de división de regiones;
medios de almacenamiento de información de movimiento que almacenan el vector de movimiento;
medios de generación de señal residual que generan una señal residual entre una señal predicha de la región objetivo y una señal de píxel de la región objetivo;
medios de compresión de señal residual que comprimen la señal residual generada por los medios de generación de señal residual;
medios de reconstrucción de señal residual que generan una señal residual reproducida mediante reconstrucción a partir de datos comprimidos de la señal residual;
medios de codificación que seleccionan y codifican un predictor de vector de movimiento similar a un vector de movimiento de la región objetivo, seleccionándose el predictor de vector de movimiento de: vectores de movimiento anteriormente reproducidos almacenados en los medios de almacenamiento de información de movimiento, información secundaria determinada a partir del vector de movimiento de la región objetivo, y los datos comprimidos de la señal residual; y
medios de almacenamiento de imágenes que suman la señal predicha a la señal residual reproducida para reconstruir una señal de píxel de la región objetivo, y que almacenan la señal de píxel reconstruida como imagen anteriormente reproducida,
en el que el vector de movimiento incluye un vector de movimiento de orden cero usado para generar una señal predicha de orden cero, y un primer vector de movimiento usado para generar una primera señal predicha, y
en el que los medios de generación de señal predicha comprenden:
medios de estimación de información de movimiento de orden cero que estiman el vector de movimiento de orden cero usado para generar la señal predicha de orden cero, seleccionan, a partir de una pluralidad de vectores de movimiento almacenados en los medios de almacenamiento de información de movimiento, un predictor de vector de movimiento de orden cero que es similar al vector de movimiento de orden cero estimado, y generan información secundaria de orden cero que contiene un índice de predictor de vector de movimiento de orden cero para identificar el predictor de vector de movimiento de orden cero seleccionado, y una diferencia de vector de movimiento determinada a partir del vector de movimiento de orden cero y el predictor de vector de movimiento de orden cero;
medios de estimación de primera información de movimiento que: seleccionan, a partir de una pluralidad de vectores de movimiento almacenados en los medios de almacenamiento de información de movimiento, un vector de movimiento que tiene una alta correlación con la región objetivo para la generación de la primera señal predicha, generan primera información secundaria que contiene un primer índice de predictor de vector de movimiento para identificar el vector de movimiento seleccionado como predictor de primer vector de movimiento, y establecen el predictor de primer vector de movimiento como primer vector de movimiento; y
medios de combinación de señales predichas que combinan la señal predicha de orden cero y la primera señal predicha para generar la señal predicha de la región objetivo.
Los medios de estimación de primera información de movimiento pueden estimar además un segundo vector de movimiento para obtener la primera señal predicha, para detectar de ese modo el segundo vector de movimiento, y los medios de estimación de primera información de movimiento pueden seleccionar, a partir de una pluralidad de vectores de movimiento almacenados en los medios de almacenamiento de información de movimiento, un segundo predictor de vector de movimiento que es similar al segundo vector de movimiento estimado y generan segunda información secundaria que contiene un índice de predictor de segundo vector de movimiento para identificar el predictor de vector de movimiento seleccionado y una diferencia de vector de movimiento determinada a partir del segundo vector de movimiento y el segundo predictor de vector de movimiento,
los medios de generación de señal predicha pueden generar la primera señal predicha usando el primer vector de
5
10
15
20
25
30
35
40
45
50
55
60
65
movimiento o el segundo vector de movimiento, usándose el primer vector de movimiento cuando una pluralidad de imágenes anteriormente reproducidas se almacenan en un orden de visualización en los medios de almacenamiento de imágenes como imágenes pasadas con respecto a una imagen objetivo de codificación, y usándose el segundo vector de movimiento cuando la pluralidad de imágenes anteriormente reproducidas almacenadas en el orden de visualización en los medios de almacenamiento de imágenes incluyen una imagen futura con respecto a la imagen objetivo de codificación, y
los medios de codificación pueden codificar información de indicación para indicar que se codifica la primera información secundaria o se codifica la segunda información secundaria, codificándose la primera información secundaria en cada trama o en cada sector cuando la pluralidad de imágenes anteriormente reproducidas almacenadas en el orden de visualización en los medios de almacenamiento de imágenes son todas imágenes pasadas con respecto a la imagen objetivo de codificación, y pudiendo codificarse la segunda información secundaria en cada trama o en cada sector cuando la pluralidad de imágenes anteriormente reproducidas almacenadas en el orden de visualización en los medios de almacenamiento de imágenes incluyen la imagen futura con respecto a la imagen objetivo de codificación; y
los medios de codificación pueden codificar como información secundaria de cada región objetivo, la información secundaria de orden cero, y o bien la primera información secundaria o bien la segunda información secundaria basándose en la información de indicación.
En una realización, un dispositivo de descodificación predictiva de vídeo comprende:
medios de descodificación que descodifican unos datos comprimidos a partir de varios conjuntos de datos comprimidos obtenidos mediante descodificación de una pluralidad de regiones divididas, comprendiendo los datos comprimidos información secundaria y una señal residual de una región objetivo, que es un objetivo que va a descodificarse;
medios de reconstrucción de información de movimiento que reconstruyen un vector de movimiento usado para generar una señal predicha de la región objetivo a partir de la información secundaria;
medios de almacenamiento de información de movimiento que almacenan el vector de movimiento;
medios de compensación de movimiento que generan la señal predicha de la región objetivo, basándose en el vector de movimiento;
medios de reconstrucción de señal residual que reconstruyen una señal residual reproducida de la región objetivo a partir de los datos comprimidos que comprenden la señal residual; y
medios de almacenamiento de imágenes que suman la señal predicha a la señal residual reproducida para reconstruir una señal de píxel de la región objetivo, y que almacenan la señal de píxel reconstruida como imagen anteriormente reproducida,
en el que los medios de descodificación descodifican información secundaria de orden cero y primera información secundaria,
en el que la información secundaria de orden cero contiene una diferencia de vector de movimiento de orden cero, y un índice de predictor de vector de movimiento de orden cero usado para identificar como predictor de vector de movimiento de orden cero un vector de movimiento seleccionado a partir de una pluralidad de vectores de movimiento almacenados en los medios de almacenamiento de información de movimiento,
en el que la primera información secundaria contiene un primer índice de predictor de vector de movimiento usado para identificar como predictor de primer vector de movimiento un vector de movimiento seleccionado a partir de una pluralidad de vectores de movimiento almacenados en los medios de almacenamiento de información de movimiento,
en el que los medios de reconstrucción de información de movimiento comprenden:
medios de reconstrucción de información de movimiento de orden cero, que generan el predictor de vector de movimiento de orden cero basándose en el índice de predictor de vector de movimiento de orden cero, y que suman el predictor de vector de movimiento de orden cero generado a la diferencia de vector de movimiento de orden cero para reconstruir un vector de movimiento de orden cero; y
medios de reconstrucción de primera información de movimiento, que generan el predictor de primer vector de movimiento basándose en el índice de predictor de primer vector de movimiento para reconstruir el predictor de primer vector de movimiento generado como primer vector de movimiento, y
5
10
15
20
25
30
35
40
45
50
55
60
65
en el que los medios de compensación de movimiento combinan dos señales obtenidas a partir de la imagen anteriormente reproducida, basándose en el vector de movimiento de orden cero y el primer vector de movimiento, para generar la señal predicha de la región objetivo.
Los medios de descodificación pueden descodificar además información de indicación para indicar si la primera información secundaria contiene una diferencia de vector de movimiento, en cada trama o en cada sector,
en el que cuando la información de indicación indica que la primera información secundaria contiene una diferencia de primer vector de movimiento, los medios de descodificación pueden descodificar la diferencia de vector de movimiento como primera información secundaria, y
en el que, cuando la información de indicación indica que la primera información secundaria no contiene la diferencia de primer vector de movimiento, los medios de reconstrucción de primera información de movimiento pueden generar el predictor de primer vector de movimiento basándose en el índice de predictor de primer vector de movimiento, y pueden reconstruir el predictor de primer vector de movimiento generado como primer vector de movimiento, y
en el que, cuando la información de indicación indica que la primera información secundaria contiene la diferencia de primer vector de movimiento, los medios de reconstrucción de primera información de movimiento pueden generar el predictor de primer vector de movimiento basándose en el índice de predictor de primer vector de movimiento, y pueden sumar el predictor de primer vector de movimiento generado a la diferencia de vector de movimiento descodificado para generar y reconstruir el primer vector de movimiento.
En una realización, un método de codificación predictiva de vídeo ejecutado por un dispositivo de codificación predictiva de vídeo, comprende:
una etapa de división de regiones de dividir una imagen de entrada en una pluralidad de regiones;
una etapa de generación de señal predicha de determinar un vector de movimiento para obtener, a partir de una imagen anteriormente reproducida, una señal que tiene una alta correlación con una región objetivo, siendo la región objetivo un objetivo de codificación a partir de las regiones divididas en la etapa de división de regiones;
una etapa de almacenamiento de información de movimiento de almacenar el vector de movimiento en medios de almacenamiento de información de movimiento;
una etapa de generación de señal residual de generar una señal residual entre una señal predicha de la región objetivo y una señal de píxel de la región objetivo;
una etapa de compresión de señal residual de comprimir la señal residual generada por la etapa de generación de señal residual;
una etapa de reconstrucción de señal residual de generar una señal residual reproducida mediante reconstrucción a partir de datos comprimidos de la señal residual;
una etapa de codificación de seleccionar y codificar un predictor de vector de movimiento que es similar a un vector de movimiento de la región objetivo, seleccionándose el predictor de vector de movimiento de vectores de movimiento anteriormente reproducidos almacenados en los medios de almacenamiento de información de movimiento, información secundaria determinada a partir del vector de movimiento de la región objetivo, y los datos comprimidos de la señal residual; y
una etapa de almacenamiento de imágenes de sumar la señal predicha a la señal residual reproducida para reconstruir una señal de píxel de la región objetivo, y almacenar la señal de píxel reconstruida como imagen anteriormente reproducida en medios de almacenamiento de imágenes,
en el que el vector de movimiento incluye un vector de movimiento de orden cero usado para la generación de una señal predicha de orden cero, y un primer vector de movimiento usado para la generación de una primera señal predicha, y
en el que la etapa de generación de señal predicha comprende:
una etapa de estimación de información de movimiento de orden cero que incluye estimar el vector de movimiento de orden cero para la derivación de la señal predicha de orden cero, seleccionar un predictor de vector de movimiento de orden cero similar al vector de movimiento de orden cero estimado a partir de una pluralidad de vectores de movimiento almacenados en la etapa de almacenamiento de información de movimiento, y generar información secundaria de orden cero que contiene un índice de predictor de vector de movimiento de orden cero que identifica el predictor de vector de movimiento seleccionado, y una diferencia de vector de movimiento
5
10
15
20
25
30
35
40
45
50
55
60
65
determinada a partir del vector de movimiento de orden cero y el predictor de vector de movimiento de orden cero;
una etapa de estimación de primera información de movimiento que comprende: seleccionar, a partir de una pluralidad de vectores de movimiento almacenados en la etapa de almacenamiento de información de movimiento, un vector de movimiento que tiene una alta correlación con la región objetivo para la generación de la primera señal predicha, generar primera información secundaria que contiene un primer índice de predictor de vector de movimiento para identificar el vector de movimiento seleccionado como predictor de primer vector de movimiento, y establecer el predictor de primer vector de movimiento como primer vector de movimiento; y
una etapa de combinación de señales predichas de combinar la señal predicha de orden cero y la primera señal predicha para generar la señal predicha de la región objetivo.
La etapa de estimación de primera información de movimiento puede comprender además, estimando el dispositivo de codificación predictiva de vídeo un segundo vector de movimiento para obtener la primera señal predicha para detectar de ese modo el segundo vector de movimiento, seleccionar, a partir de una pluralidad de vectores de movimiento almacenados en la etapa de almacenamiento de información de movimiento, un segundo predictor de vector de movimiento similar al segundo vector de movimiento estimado, y generar segundo información secundaria que contiene un índice de predictor de segundo vector de movimiento para identificar el predictor de vector de movimiento seleccionado y una diferencia de vector de movimiento determinada a partir del segundo vector de movimiento y el segundo predictor de vector de movimiento,
en el que en la etapa de generación de señal predicha, el dispositivo de codificación predictiva de vídeo puede generar la primera señal predicha usando el primer vector de movimiento o el segundo vector de movimiento, en el que el dispositivo de codificación predictiva de vídeo puede usar el primer vector de movimiento cuando una pluralidad de imágenes anteriormente reproducidas almacenadas en los medios de almacenamiento de imágenes en un orden de visualización son todas imágenes pasadas con respecto a una imagen objetivo de codificación, y el dispositivo de codificación predictiva de vídeo puede usar el segundo vector de movimiento cuando la pluralidad de imágenes anteriormente reproducidas almacenadas en los medios de almacenamiento de imágenes en el orden de visualización incluyen una imagen futura con respecto a la imagen objetivo de codificación, y
en el que en la etapa de codificación, cuando la pluralidad de imágenes anteriormente reproducidas almacenadas en los medios de almacenamiento de imágenes en el orden de visualización son todas imágenes pasadas con respecto a la imagen objetivo de codificación, el dispositivo de codificación predictiva de vídeo puede codificar información de indicación para indicar que se codifica la primera información secundaria en cada trama o en cada sector; y cuando la pluralidad de imágenes anteriormente reproducidas almacenadas en los medios de almacenamiento de imágenes en el orden de visualización incluyen una imagen futura con respecto a la imagen objetivo de codificación, el dispositivo de codificación predictiva de vídeo puede codificar información de indicación para indicar que se codifica la segunda información secundaria en cada trama o en cada sector; y
en el que en la etapa de codificación, el dispositivo de codificación predictiva de vídeo puede codificar como información secundaria de cada región objetivo, la información secundaria de orden cero y, o bien la primera información secundaria o bien la segunda información secundaria basándose en la información de indicación.
En una realización, un método de descodificación predictiva de vídeo ejecutado por un dispositivo de descodificación predictiva de vídeo, comprende:
una etapa de descodificación de descodificar unos datos comprimidos a partir de varios conjuntos de datos comprimidos obtenidos mediante descodificación de una pluralidad de regiones divididas, comprendiendo los datos comprimidos información secundaria y una señal residual de una región objetivo, que es un objetivo que va a descodificarse;
una etapa de reconstrucción de información de movimiento de restaurar un vector de movimiento usado para generar una señal predicha de la región objetivo a partir de la información secundaria;
una etapa de almacenamiento de información de movimiento de almacenar el vector de movimiento en medios de almacenamiento de información de movimiento;
una etapa de compensación de movimiento de generar la señal predicha de la región objetivo, basándose en el vector de movimiento;
una etapa de reconstrucción de señal residual de restaurar una señal residual reproducida de la región objetivo a partir de los datos comprimidos que comprenden la señal residual; y
una etapa de almacenamiento de imágenes de sumar la señal predicha a la señal residual reproducida para reconstruir una señal de píxel de la región objetivo, y almacenar la señal de píxel reconstruida como imagen anteriormente reproducida,
5
10
15
20
25
30
35
40
45
50
55
60
65
en el que en la etapa de descodificación, el dispositivo de descodificación predictiva de vídeo descodifica información secundaria de orden cero y primera información secundaria,
en el que la información secundaria de orden cero contiene una diferencia de vector de movimiento de orden cero, y un índice de predictor de vector de movimiento de orden cero usado para identificar como predictor de vector de movimiento de orden cero un vector de movimiento seleccionado a partir de una pluralidad de vectores de movimiento almacenados en la etapa de almacenamiento de información de movimiento,
en el que la primera información secundaria contiene un primer índice de predictor de vector de movimiento usado para identificar como predictor de primer vector de movimiento un vector de movimiento seleccionado a partir de una pluralidad de vectores de movimiento almacenados en la etapa de almacenamiento de información de movimiento,
en el que la etapa de reconstrucción de información de movimiento comprende:
una etapa de reconstrucción de información de movimiento de orden cero de generar el predictor de vector de movimiento de orden cero basándose en el índice de predictor de vector de movimiento de orden cero, y sumar el predictor de vector de movimiento de orden cero generado a la diferencia de vector de movimiento de orden cero para reconstruir un vector de movimiento de orden cero; y
una etapa de reconstrucción de primera información de movimiento de generar el predictor de primer vector de movimiento basándose en el índice de predictor de primer vector de movimiento, para reconstruir el predictor de primer vector de movimiento generado como primer vector de movimiento, y
en el que en la etapa de compensación de movimiento, el dispositivo de descodificación predictiva de vídeo combinan dos señales adquiridas a partir de la imagen anteriormente reproducida, basándose en el vector de movimiento de orden cero y el primer vector de movimiento, para generar la señal predicha de la región objetivo.
En la etapa de descodificación, el dispositivo de descodificación predictiva de vídeo pueden descodificar además información de indicación para indicar si la primera información secundaria contiene una diferencia de vector de movimiento, en cada trama o en cada sector,
en el que cuando la información de indicación indica que la primera información secundaria contiene una diferencia de primer vector de movimiento, el dispositivo de descodificación predictiva de vídeo pueden descodificar la diferencia de vector de movimiento como primera información secundaria, y
en el que en la etapa de reconstrucción de primera información de movimiento, cuando la información de indicación indica que la primera información secundaria no contiene la diferencia de primer vector de movimiento, el dispositivo de descodificación predictiva de vídeo pueden generar el predictor de primer vector de movimiento, basándose en el índice de predictor de primer vector de movimiento, y pueden reconstruir el predictor de primer vector de movimiento generado como primer vector de movimiento; y
en el que en la etapa de reconstrucción de primera información de movimiento, cuando la información de indicación indica que la primera información secundaria contiene la diferencia de primer vector de movimiento, el dispositivo de descodificación predictiva de vídeo pueden generar el predictor de primer vector de movimiento, basándose en el índice de predictor de primer vector de movimiento, y pueden sumar el predictor de primer vector de movimiento generado a la diferencia de vector de movimiento descodificado para generar y reconstruir el primer vector de movimiento.
En una realización, se proporciona un programa de codificación predictiva de vídeo para dejar que un ordenador funcione como:
medios de división de regiones que dividen una imagen de entrada en una pluralidad de regiones;
medios de generación de señal predicha que determinan un vector de movimiento para derivar, a partir de una imagen anteriormente reproducida, una señal que tiene una alta correlación con una región objetivo, siendo la región objetivo un objetivo de codificación a partir de las regiones divididas por los medios de división de regiones;
medios de almacenamiento de información de movimiento que almacenan el vector de movimiento;
medios de generación de señal residual que generan una señal residual entre una señal predicha de la región objetivo y una señal de píxel de la región objetivo;
medios de compresión de señal residual que comprimen la señal residual generada por los medios de generación de señal residual;
5
10
15
20
25
30
35
40
45
50
55
60
65
medios de reconstrucción de señal residual que generan una señal residual reproducida mediante reconstrucción a partir de datos comprimidos de la señal residual;
medios de codificación que seleccionan y codifican un predictor de vector de movimiento que es similar a un vector de movimiento de la región objetivo, seleccionándose el predictor de vector de movimiento de: vectores de movimiento anteriormente reproducidos almacenados en los medios de almacenamiento de información de movimiento, información secundaria determinada a partir del vector de movimiento de la región objetivo, y los datos comprimidos de la señal residual; y
medios de almacenamiento de imágenes que suman la señal predicha a la señal residual reproducida para reconstruir una señal de píxel de la región objetivo, y que almacenan la señal de píxel reconstruida como imagen anteriormente reproducida,
en el que el vector de movimiento incluye un vector de movimiento de orden cero usado para generar una señal predicha de orden cero, y un primer vector de movimiento usado para generar una primera señal predicha, y
en el que los medios de generación de señal predicha comprenden:
medios de estimación de información de movimiento de orden cero que estiman el vector de movimiento de orden cero usado para generar la señal predicha de orden cero, seleccionan, a partir de una pluralidad de vectores de movimiento almacenados en los medios de almacenamiento de información de movimiento, un predictor de vector de movimiento de orden cero similar al vector de movimiento de orden cero estimado, y generan información secundaria de orden cero que contiene un índice de predictor de vector de movimiento de orden cero para identificar el predictor de vector de movimiento de orden cero seleccionado, y una diferencia de vector de movimiento determinada a partir del vector de movimiento de orden cero y el predictor de vector de movimiento de orden cero;
medios de estimación de primera información de movimiento que: seleccionan, a partir de una pluralidad de vectores de movimiento almacenados en los medios de almacenamiento de información de movimiento, un vector de movimiento para la generación de la primera señal predicha que tiene una alta correlación con la región objetivo, generan primera información secundaria que contiene un primer índice de predictor de vector de movimiento para identificar el vector de movimiento seleccionado como predictor de primer vector de movimiento, y establecen el predictor de primer vector de movimiento al primer vector de movimiento; y
medios de combinación de señales predichas que combinan la señal predicha de orden cero y la primera señal predicha para generar la señal predicha de la región objetivo.
Los medios de estimación de primera información de movimiento pueden estimar además un segundo vector de movimiento para obtener la primera señal predicha para detectar de ese modo el segundo vector de movimiento, y los medios de estimación de primera información de movimiento pueden seleccionar, a partir de una pluralidad de vectores de movimiento almacenados en los medios de almacenamiento de información de movimiento, un segundo predictor de vector de movimiento similar al segundo vector de movimiento estimado, y pueden generar segundo información secundaria que contiene un índice de predictor de segundo vector de movimiento para identificar el predictor de vector de movimiento seleccionado y una diferencia de vector de movimiento determinada a partir del segundo vector de movimiento y el segundo predictor de vector de movimiento,
en el que los medios de generación de señal predicha pueden generar la primera señal predicha usando el primer vector de movimiento o el segundo vector de movimiento, usándose el primer vector de movimiento cuando una pluralidad de imágenes anteriormente reproducidas se almacenan en el orden de visualización en los medios de almacenamiento de imágenes como imágenes pasadas con respecto a una imagen objetivo de codificación, y usándose el segundo vector de movimiento cuando una pluralidad de imágenes anteriormente reproducidas almacenadas en el orden de visualización en los medios de almacenamiento de imágenes incluyen una imagen futura con respecto a la imagen objetivo de codificación, y
en el que los medios de codificación pueden codificar información de indicación para indicar que se codifica la primera información secundaria o se codifica la segunda información secundaria, codificándose la primera información secundaria en cada trama o en cada sector cuando una pluralidad de imágenes anteriormente reproducidas almacenadas en el orden de visualización en los medios de almacenamiento de imágenes son todas imágenes pasadas con respecto a la imagen objetivo de codificación, y los medios de codificación pueden codificar información de indicación para indicar que se codifica la segunda información secundaria, en cada trama o en cada sector cuando una pluralidad de imágenes anteriormente reproducidas almacenadas en el orden de visualización en los medios de almacenamiento de imágenes incluyen una imagen futura con respecto a la imagen objetivo de codificación; y
en el que los medios de codificación pueden codificar como información secundaria de cada región objetivo, la información secundaria de orden cero, y o bien la primera información secundaria o bien la segunda información secundaria basándose en la información de indicación.
5
10
15
20
25
30
35
40
45
50
55
60
65
En una realización, se proporciona un programa de descodificación predictiva de vídeo para dejar que un ordenador funcione como:
medios de descodificación que descodifican unos datos comprimidos a partir de varios conjuntos de datos comprimidos obtenidos mediante descodificación de una pluralidad de regiones divididas, comprendiendo los datos comprimidos información secundaria y una señal residual de una región objetivo, que es un objetivo que va a descodificarse;
medios de reconstrucción de información de movimiento que reconstruyen un vector de movimiento usado para generar una señal predicha de la región objetivo a partir de la información secundaria;
medios de almacenamiento de información de movimiento que almacenan el vector de movimiento;
medios de compensación de movimiento que generan la señal predicha de la región objetivo, basándose en el vector de movimiento;
medios de reconstrucción de señal residual que reconstruyen una señal residual reproducida de la región objetivo a partir de los datos comprimidos que comprenden la señal residual; y
medios de almacenamiento de imágenes que suman la señal predicha a la señal residual reproducida para reconstruir una señal de píxel de la región objetivo y que almacenan la señal de píxel reconstruida como imagen anteriormente reproducida,
en el que los medios de descodificación descodifican información secundaria de orden cero y primera información secundaria,
en el que la información secundaria de orden cero contiene una diferencia de vector de movimiento de orden cero, y un índice de predictor de vector de movimiento de orden cero usado para identificar como predictor de vector de movimiento de orden cero un vector de movimiento seleccionado a partir de una pluralidad de vectores de movimiento almacenados en los medios de almacenamiento de información de movimiento,
en el que la primera información secundaria contiene un primer índice de predictor de vector de movimiento usado para identificar como predictor de primer vector de movimiento un vector de movimiento seleccionado a partir de una pluralidad de vectores de movimiento almacenados en los medios de almacenamiento de información de movimiento,
en el que los medios de reconstrucción de información de movimiento comprenden:
medios de reconstrucción de información de movimiento de orden cero que generan el predictor de vector de movimiento de orden cero basándose en el índice de predictor de vector de movimiento de orden cero, y que suman el predictor de vector de movimiento de orden cero generado a la diferencia de vector de movimiento de orden cero para reconstruir un vector de movimiento de orden cero; y
medios de reconstrucción de primera información de movimiento que generan el predictor de primer vector de movimiento basándose en el índice de predictor de primer vector de movimiento, para reconstruir el predictor de primer vector de movimiento generado como primer vector de movimiento, y
en el que los medios de compensación de movimiento combinan dos señales adquiridas a partir de la imagen anteriormente reproducida basándose en el vector de movimiento de orden cero y el primer vector de movimiento, para generar la señal predicha de la región objetivo.
Los medios de descodificación pueden descodificar además información de indicación para indicar si la primera información secundaria contiene una diferencia de vector de movimiento, en cada trama o en cada sector,
en el que cuando la información de indicación indica que la primera información secundaria contiene una diferencia de primer vector de movimiento, los medios de descodificación pueden descodificar la diferencia de vector de movimiento como primera información secundaria, y
en el que, cuando la información de indicación indica que la primera información secundaria no contiene la diferencia de primer vector de movimiento, los medios de reconstrucción de primera información de movimiento pueden generar el predictor de primer vector de movimiento basándose en el índice de predictor de primer vector de movimiento, y pueden reconstruir el predictor de primer vector de movimiento generado como primer vector de movimiento, y
en el que, cuando la información de indicación indica que la primera información secundaria contiene la diferencia de
primer vector de movimiento, los medios de reconstrucción de primera información de movimiento pueden generar el predictor de primer vector de movimiento, basándose en el índice de predictor de primer vector de movimiento, y pueden sumar el predictor de primer vector de movimiento generado a la diferencia de vector de movimiento descodificado para generar y reconstruir el primer vector de movimiento.
5
Lista de signos de referencia
100: dispositivo de codificación predictiva de vídeo; 101: terminal de entrada; 102: unidad de división de bloques; 103: unidad de generación de señal predicha; 104: memoria de trama; 105: unidad de resta; 106: unidad de 10 transformación; 107: unidad de cuantificación; 108: unidad de cuantificación inversa; 109: unidad de transformación inversa; 110: unidad de adición; 111: unidad de codificación; 112: terminal de salida; 113: memoria de información de movimiento; 121: unidad de estimación de primera información de movimiento; 122: unidad de estimación de información de movimiento de orden cero; 123: unidad de combinación de señales predichas; 201: terminal de entrada; 202: unidad de descodificación; 203: unidad de cuantificación inversa; 204: unidad de transformación 15 inversa; 205: unidad de adición; 206: terminal de salida; 207: unidad de compensación de movimiento; 208: unidad de reconstrucción de información de movimiento; 211: unidad de reconstrucción de primera información de movimiento; 212: unidad de reconstrucción de información predictiva de movimiento de orden cero.

Claims (1)

  1. 5
    10
    15
    20
    25
    30
    35
    40
    45
    50
    55
    60
    65
    REIVINDICACIONES
    Dispositivo de codificación predictiva de vídeo que comprende:
    medios de división de regiones que dividen una trama objetivo de codificación en una pluralidad de regiones;
    medios de generación de señal predicha que determinan un vector de movimiento para la trama objetivo de codificación, adquiriéndose la señal como objetivo de codificación a partir de las regiones divididas por los medios de división de regiones;
    medios de almacenamiento de información de movimiento que almacenan el vector de movimiento;
    medios de generación de señal residual que generan una señal residual entre una señal predicha de la región objetivo y una señal de píxel de la región objetivo;
    medios de compresión de señal residual que comprimen la señal residual generada por los medios de generación de señal residual;
    medios de reconstrucción de señal residual que generan una señal residual reproducida mediante reconstrucción a partir de datos comprimidos de la señal residual;
    medios de codificación que seleccionan y codifican un predictor de vector de movimiento para un vector de movimiento de la región objetivo, seleccionándose el predictor de vector de movimiento de: vectores de movimiento anteriormente reproducidos almacenados en los medios de almacenamiento de información de movimiento, información secundaria determinada a partir del vector de movimiento de la región objetivo, y los datos comprimidos de la señal residual; y
    medios de almacenamiento de imágenes que suman la señal predicha a la señal residual reproducida para reconstruir una señal de píxel de la región objetivo, y que almacenan la señal de píxel reconstruida como imagen anteriormente reproducida,
    en el que el vector de movimiento incluye un vector de movimiento de orden cero usado para generar una señal predicha de orden cero, y un primer vector de movimiento usado para generar una primera señal predicha, y
    en el que los medios de generación de señal predicha comprenden:
    medios de estimación de información de movimiento de orden cero que estiman el vector de movimiento de orden cero usado para generar la señal predicha de orden cero, seleccionan, a partir de una pluralidad de vectores de movimiento almacenados en los medios de almacenamiento de información de movimiento, un predictor de vector de movimiento de orden cero para el vector de movimiento de orden cero estimado, y generan información secundaria de orden cero que contiene un índice de predictor de vector de movimiento de orden cero para identificar el predictor de vector de movimiento de orden cero seleccionado, y una diferencia de vector de movimiento de orden cero determinada a partir del vector de movimiento de orden cero y el predictor de vector de movimiento de orden cero;
    en el que el dispositivo de codificación está configurado para seleccionar
    el uso de un primer tipo de bi-predicción en el caso en el que los candidatos a trama de referencia incluyan una trama futura en el orden de visualización con respecto a la trama objetivo de codificación, y
    el uso de un segundo tipo de bi-predicción en el caso en el que todos los candidatos a trama de referencia sean tramas pasadas en el orden de visualización con respecto a la trama objetivo de codificación;
    medios de estimación de primera información de movimiento que están configurados para
    cuando se selecciona el uso del primer tipo de bi-predicción, estimar el primer vector de movimiento usado para generar la primera señal predicha, seleccionar, a partir de una pluralidad de vectores de movimiento almacenados en los medios de almacenamiento de información de movimiento, un predictor de primer vector de movimiento para el primer vector de movimiento estimado, y generar primera información secundaria que contiene un índice de predictor de primer vector de movimiento para identificar el predictor de primer vector de movimiento seleccionado, y una diferencia de primer vector de movimiento determinada a partir del primer vector de movimiento y el predictor de primer vector de movimiento;
    cuando se selecciona el uso del segundo tipo de bi-predicción, seleccionar, a partir de una pluralidad de
    5
    10
    15
    20
    25
    30
    35
    40
    45
    50
    55
    60
    65
    vectores de movimiento almacenados en los medios de almacenamiento de información de movimiento, un vector de movimiento para la generación de la primera señal predicha, generar primera información secundaria que contiene un índice de predictor de primer vector de movimiento para identificar el vector de movimiento seleccionado como predictor de primer vector de movimiento, y establecer el predictor de primer vector de movimiento como el primer vector de movimiento; y
    medios de combinación de señales predichas que combinan la señal predicha de orden cero y la primera señal predicha para generar la señal predicha de la región objetivo;
    en el que el dispositivo de codificación está configurado además para codificar información de indicación para indicar el primer tipo de bi-predicción o el segundo tipo de bi-predicción en la información de cabecera de una trama o un sector que va a usarse para cada bloque de bi-predicción de la trama o el sector;
    en el que los medios de estimación de información de movimiento de orden cero generan la información secundaria de orden cero que contiene además un índice de trama de referencia de orden cero para identificar una trama de referencia para generar la señal predicha de orden cero, y
    en el que los medios de estimación de primera información de movimiento generan la primera información secundaria que contiene además un primer índice de trama de referencia para identificar otra trama de referencia para generar la primera señal predicha.
    Dispositivo de codificación predictiva de vídeo según la reivindicación 1, en el que el índice de trama de referencia de orden cero se usa para identificar un candidato a trama de referencia, como trama de referencia de orden cero, seleccionado a partir de las imágenes anteriormente reproducidas almacenadas, y el primer índice de trama de referencia se usa para identificar el otro candidato a trama de referencia, como primera trama de referencia, seleccionado a partir de las imágenes anteriormente reproducidas almacenadas.
    Sistema de predicción de vídeo, que comprende:
    un dispositivo de codificación predictiva de vídeo según la reivindicación 1; y un dispositivo de descodificación predictiva de vídeo que comprende:
    medios de descodificación que descodifican unos datos comprimidos a partir de varios conjuntos de datos comprimidos obtenidos mediante descodificación de una pluralidad de regiones divididas, comprendiendo los datos comprimidos información secundaria y una señal residual de una región objetivo, que es un objetivo que va a descodificarse;
    medios de reconstrucción de información de movimiento que reconstruyen un vector de movimiento usado para generar una señal predicha de la región objetivo a partir de la información secundaria;
    medios de almacenamiento de información de movimiento que almacenan el vector de movimiento;
    medios de compensación de movimiento que generan la señal predicha de la región objetivo, basándose en el vector de movimiento;
    medios de reconstrucción de señal residual que reconstruyen una señal residual reproducida de la región objetivo a partir de los datos comprimidos que comprenden la señal residual; y
    medios de almacenamiento de imágenes que suman la señal predicha a la señal residual reproducida para reconstruir una señal de píxel de la región objetivo, y que almacenan la señal de píxel reconstruida como imagen anteriormente reproducida,
    en el que los medios de descodificación descodifican información secundaria de orden cero y primera información secundaria,
    en el que la información secundaria de orden cero contiene una diferencia de vector de movimiento de orden cero, y un índice de predictor de vector de movimiento de orden cero usado para identificar como predictor de vector de movimiento de orden cero un vector de movimiento seleccionado a partir de una pluralidad de vectores de movimiento almacenados en los medios de almacenamiento de información de movimiento,
    en el que para cada bloque de bi-predicción en una trama o un sector del primer tipo de bi-predicción, la información secundaria contiene además una diferencia de primer vector de movimiento, un índice de predictor de primer vector de movimiento usado para identificar como predictor de primer vector de
    5
    10
    15
    20
    25
    30
    35
    40
    45
    50
    55
    movimiento otro vector de movimiento seleccionado a partir de los vectores de movimiento almacenados en los medios de almacenamiento de información de movimiento,
    en el que para cada bloque de bi-predicción en una trama o un sector del segundo tipo de bi-predicción, la información secundaria contiene además un índice de predictor de primer vector de movimiento usado para identificar como predictor de primer vector de movimiento otro vector de movimiento seleccionado a partir de los vectores de movimiento almacenados en los medios de almacenamiento de información de movimiento,
    en el que los medios de reconstrucción de información de movimiento comprenden:
    medios de reconstrucción de información de movimiento de orden cero, que generan el predictor de vector de movimiento de orden cero basándose en el índice de predictor de vector de movimiento de orden cero, y que suman el predictor de vector de movimiento de orden cero generado a la diferencia de vector de movimiento de orden cero para reconstruir un vector de movimiento de orden cero; y
    medios de reconstrucción de primera información de movimiento, que generan el predictor de primer vector de movimiento basándose en el índice de predictor de primer vector de movimiento para reconstruir el predictor de primer vector de movimiento generado como primer vector de movimiento, y
    en el que los medios de compensación de movimiento combinan dos señales obtenidas a partir de la imagen anteriormente reproducida, basándose en el vector de movimiento de orden cero y el primer vector de movimiento, para generar la señal predicha de la región objetivo;
    en el que la información secundaria de orden cero contiene además el índice de trama de referencia de orden cero para identificar una trama de referencia para generar la señal predicha de orden cero,
    en el que la primera información secundaria contiene además el primer índice de trama de referencia para identificar la otra trama de referencia para generar la primera señal predicha,
    en el que los medios de reconstrucción de información de movimiento de orden cero derivan, basándose además en el índice de trama de referencia de orden cero, el predictor de vector de movimiento de orden cero basándose en el índice de predictor de vector de movimiento de orden cero como un vector de movimiento seleccionado a partir de los vectores de movimiento almacenados en los medios de almacenamiento de información de movimiento, y
    en el que los medios de reconstrucción de primera información de movimiento derivan, basándose además en el primer índice de trama de referencia, el predictor de primer vector de movimiento basándose en el índice de predictor de primer vector de movimiento como el otro vector de movimiento seleccionado a partir de los vectores de movimiento almacenados en los medios de almacenamiento de información de movimiento.
    Sistema de predicción de vídeo según la reivindicación 3,
    en el que, en el dispositivo de descodificación predictiva de vídeo, el índice de trama de referencia de orden cero se usa para identificar un candidato a trama de referencia, como trama de referencia de orden cero, seleccionado a partir de las imágenes anteriormente reproducidas almacenadas, y el primer índice de trama de referencia se usa para identificar el otro candidato a trama de referencia, como primera trama de referencia, seleccionado a partir de las imágenes anteriormente reproducidas almacenadas, y
    en el que los medios de compensación de movimiento derivan la trama de referencia de orden cero, derivan la primera trama de referencia, y calculan el promedio de dos señales adquiridas a partir de la trama de referencia de orden cero y la primera trama de referencia, designadas mediante el vector de movimiento de orden cero y el primer vector de movimiento respectivamente, para generar la señal predicha de la región objetivo.
ES16162303.8T 2011-11-07 2012-09-25 Dispositivo de codificación predictiva de vídeo, método de codificación predictiva de vídeo, programa de codificación predictiva de vídeo, dispositivo de descodificación predictiva de vídeo, método de descodificación predictiva de vídeo y programa de descodificación predictiva de vídeo Active ES2662879T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2011243490 2011-11-07
JP2011243490A JP5485969B2 (ja) 2011-11-07 2011-11-07 動画像予測符号化装置、動画像予測符号化方法、動画像予測符号化プログラム、動画像予測復号装置、動画像予測復号方法及び動画像予測復号プログラム

Publications (1)

Publication Number Publication Date
ES2662879T3 true ES2662879T3 (es) 2018-04-10

Family

ID=48289769

Family Applications (2)

Application Number Title Priority Date Filing Date
ES16162303.8T Active ES2662879T3 (es) 2011-11-07 2012-09-25 Dispositivo de codificación predictiva de vídeo, método de codificación predictiva de vídeo, programa de codificación predictiva de vídeo, dispositivo de descodificación predictiva de vídeo, método de descodificación predictiva de vídeo y programa de descodificación predictiva de vídeo
ES12848431.8T Active ES2625514T3 (es) 2011-11-07 2012-09-25 Dispositivo y sistema de codificación predictiva de vídeo

Family Applications After (1)

Application Number Title Priority Date Filing Date
ES12848431.8T Active ES2625514T3 (es) 2011-11-07 2012-09-25 Dispositivo y sistema de codificación predictiva de vídeo

Country Status (20)

Country Link
US (7) US9615088B2 (es)
EP (3) EP3301927A1 (es)
JP (1) JP5485969B2 (es)
KR (9) KR101833933B1 (es)
CN (6) CN107071465B (es)
AU (9) AU2012337138B2 (es)
BR (1) BR112014010751B1 (es)
CA (6) CA2977280C (es)
ES (2) ES2662879T3 (es)
IN (1) IN2014CN04100A (es)
MX (3) MX2014005287A (es)
MY (1) MY166926A (es)
NO (1) NO3054684T3 (es)
PL (2) PL2779650T3 (es)
PT (2) PT3054684T (es)
RU (9) RU2566980C1 (es)
SG (1) SG11201402036UA (es)
TR (1) TR201802964T4 (es)
TW (9) TWI701943B (es)
WO (1) WO2013069384A1 (es)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115460409A (zh) * 2016-01-27 2022-12-09 韩国电子通信研究院 通过使用预测对视频进行编码和解码的方法和装置
US11044493B2 (en) * 2016-02-01 2021-06-22 Sharp Kabushiki Kaisha Prediction image generation device, moving image decoding device, and moving image coding device
US10271062B2 (en) * 2016-03-18 2019-04-23 Google Llc Motion vector prediction through scaling
US10462459B2 (en) * 2016-04-14 2019-10-29 Mediatek Inc. Non-local adaptive loop filter
WO2017201678A1 (zh) * 2016-05-24 2017-11-30 华为技术有限公司 图像预测方法和相关设备
KR102601732B1 (ko) 2016-05-31 2023-11-14 삼성디스플레이 주식회사 영상 부호화 방법 및 영상 복호화 방법
CN112218073A (zh) * 2016-09-30 2021-01-12 华为技术有限公司 视频编码方法、解码方法及终端
WO2019183906A1 (zh) * 2018-03-29 2019-10-03 华为技术有限公司 帧间预测的方法和装置
CN114513671B (zh) * 2018-04-02 2024-04-09 华为技术有限公司 一种视频编解码方法和装置
CN108537820B (zh) * 2018-04-18 2021-02-09 图灵人工智能研究院(南京)有限公司 动态预测方法、系统及所适用的设备
KR102542196B1 (ko) * 2018-05-16 2023-06-12 후아웨이 테크놀러지 컴퍼니 리미티드 비디오 코딩 방법 및 장치
BR112021004060A2 (pt) * 2018-09-04 2021-05-25 Huawei Technologies Co., Ltd. método e dispositivo de obtenção de quadro de referência aplicado a interpredição bidirecional, codificador / decodificador de vídeo, produto de programa de computador, meio de armazenamento legível por computador, e terminal
WO2020050283A1 (en) 2018-09-07 2020-03-12 Panasonic Intellectual Property Corporation Of America System and method for video coding
EP3764725A1 (en) * 2019-07-12 2021-01-13 Panasonic Intellectual Property Corporation of America User equipment and base station
KR20220070355A (ko) 2020-11-22 2022-05-31 고현지 피부 타입을 피지량을 통해 간접적으로 측정하기 위한 목적을 갖는 한지마스크와 제조방법
JP7036893B2 (ja) * 2020-12-14 2022-03-15 ホアウェイ・テクノロジーズ・カンパニー・リミテッド 映像符号化方法、映像復号方法、および端末

Family Cites Families (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US268967A (en) * 1882-12-12 Geoege willett
CN1155259C (zh) 1996-11-26 2004-06-23 松下电器产业株式会社 运动图象可变比特率编码装置和编码方法
US6404813B1 (en) * 1997-03-27 2002-06-11 At&T Corp. Bidirectionally predicted pictures or video object planes for efficient and flexible video coding
JP3351705B2 (ja) * 1997-04-25 2002-12-03 日本ビクター株式会社 動き補償符号化装置、動き補償符号化方法、及び記録媒体への記録方法
JP3860323B2 (ja) * 1997-10-27 2006-12-20 三菱電機株式会社 画像復号化装置、画像復号化方法
US7184482B2 (en) * 1999-04-17 2007-02-27 Altera Corporation Encoding system using motion vectors to represent frame-to-frame changes, wherein a decoder uses predictions of motion vectors in decoding
US6765964B1 (en) 2000-12-06 2004-07-20 Realnetworks, Inc. System and method for intracoding video data
US7266150B2 (en) * 2001-07-11 2007-09-04 Dolby Laboratories, Inc. Interpolation of video compression frames
US7003035B2 (en) 2002-01-25 2006-02-21 Microsoft Corporation Video coding methods and apparatuses
KR20040099100A (ko) * 2002-04-19 2004-11-26 마쯔시다덴기산교 가부시키가이샤 움직임 벡터 계산 방법
EP1422946A4 (en) 2002-07-26 2008-04-02 Matsushita Electric Ind Co Ltd MOVING IMAGE PROCEDURE, MOVABLE IMAGE DECODING METHOD AND RECORD MEDIUM
BR0314824A (pt) * 2002-10-01 2005-08-02 Thomson Licensing Sa Ponderação implìcita de imagens de referência em decodificador de vìdeo
US7646815B2 (en) * 2003-07-15 2010-01-12 Lsi Corporation Intra estimation chroma mode 0 sub-block dependent prediction
US20050013498A1 (en) * 2003-07-18 2005-01-20 Microsoft Corporation Coding of motion vector information
US8064520B2 (en) * 2003-09-07 2011-11-22 Microsoft Corporation Advanced bi-directional predictive coding of interlaced video
CN1225127C (zh) * 2003-09-12 2005-10-26 中国科学院计算技术研究所 一种用于视频编码的编码端/解码端双向预测方法
TWI274508B (en) * 2004-10-19 2007-02-21 Ali Corp Device and method for computing reference address of motion compensation in image processing
JP4247995B2 (ja) 2005-02-03 2009-04-02 富士通マイクロエレクトロニクス株式会社 固体撮像素子のデータ読出回路、撮像装置および固体撮像素子のデータ読出方法
KR100723403B1 (ko) * 2005-02-28 2007-05-30 삼성전자주식회사 컬러 성분간 단일 부호화 모드를 이용한 예측영상 생성 방법 및 장치와, 그를 이용한 영상 및 비디오 부호화/복호화방법 및 장치
CN1870748A (zh) * 2005-04-27 2006-11-29 王云川 因特网协议电视
US8457203B2 (en) * 2005-05-26 2013-06-04 Ntt Docomo, Inc. Method and apparatus for coding motion and prediction weighting parameters
RU2368095C1 (ru) * 2005-07-22 2009-09-20 Мицубиси Электрик Корпорейшн Кодер изображения и декодер изображения, способ кодирования изображения и способ декодирования изображения, программа кодирования изображения и программа декодирования изображения и компьютерно-считываемый носитель записи, на котором записана программа кодирования изображения, и компьютерно-считываемый носитель записи, на котором записана программа декодирования изображения
JP4662171B2 (ja) * 2005-10-20 2011-03-30 ソニー株式会社 符号化装置および方法、復号化装置および方法、プログラム、並びに記録媒体
BRPI0620645B8 (pt) * 2006-01-05 2022-06-14 Nippon Telegraph & Telephone Método e aparelho de codificação de vídeo, e método e aparelho de decodificação de vídeo
TW200806040A (en) * 2006-01-05 2008-01-16 Nippon Telegraph & Telephone Video encoding method and decoding method, apparatuses therefor, programs therefor, and storage media for storing the programs
CN101379835B (zh) * 2006-02-02 2011-08-24 汤姆逊许可公司 使用组合参考双向预测进行运动估计的方法和设备
RU2395174C1 (ru) * 2006-03-30 2010-07-20 ЭлДжи ЭЛЕКТРОНИКС ИНК. Способ и устройство для декодирования/кодирования сигнала видео
AU2007244443A1 (en) * 2006-04-28 2007-11-08 Ntt Docomo, Inc. Image predictive coding device, image predictive coding method, image predictive coding program, image predictive decoding device, image predictive decoding method and image predictive decoding program
JP2007336281A (ja) 2006-06-15 2007-12-27 Sony Corp 画像記録装置、画像再生装置、画像記録方法及び画像再生方法
TWI351883B (en) * 2006-12-28 2011-11-01 Nippon Telegraph & Telephone Video encoding method and decoding method, apparat
EP2106666B1 (en) * 2007-01-08 2019-06-12 Nokia Technologies Oy Improved inter-layer prediction for extended spatial scalability in video coding
WO2008126019A2 (en) * 2007-04-12 2008-10-23 Nokia Corporation Spatially enhanced transform coding
TWI338869B (en) * 2007-08-03 2011-03-11 Via Tech Inc Method and apparatus for block-based digital encoded picture
EP2210421A4 (en) * 2007-10-16 2013-12-04 Lg Electronics Inc METHOD AND APPARATUS FOR PROCESSING A VIDEO SIGNAL
KR101505195B1 (ko) * 2008-02-20 2015-03-24 삼성전자주식회사 직접 모드 부호화 및 복호화 방법
BRPI0910477A2 (pt) * 2008-04-11 2015-09-29 Thomson Licensing método e equipamento para predição de equiparação de gabarito (tmp) na codificação e decodificação de vídeo
JP5406465B2 (ja) * 2008-04-24 2014-02-05 株式会社Nttドコモ 画像予測符号化装置、画像予測符号化方法、画像予測符号化プログラム、画像予測復号装置、画像予測復号方法及び画像予測復号プログラム
WO2009157580A1 (ja) * 2008-06-27 2009-12-30 ソニー株式会社 画像処理装置及び画像処理方法
JP5401071B2 (ja) * 2008-10-09 2014-01-29 株式会社Nttドコモ 動画像符号化装置、動画像復号装置、動画像符号化方法、動画像復号方法、動画像符号化プログラム、動画像復号プログラム、動画像処理システムおよび動画像処理方法
JP5686499B2 (ja) * 2009-01-22 2015-03-18 株式会社Nttドコモ 画像予測符号化装置、方法及びプログラム、画像予測復号装置、方法及びプログラム、並びに、符号化・復号システム及び方法
EP3567854B1 (en) * 2009-03-23 2022-12-14 Ntt Docomo, Inc. Image predictive decoding method
US20120230405A1 (en) * 2009-10-28 2012-09-13 Media Tek Singapore Pte. Ltd. Video coding methods and video encoders and decoders with localized weighted prediction
KR101611437B1 (ko) * 2009-10-28 2016-04-26 삼성전자주식회사 복수의 프레임을 참조하여 영상을 부호화, 복호화하는 방법 및 장치
KR101441905B1 (ko) 2009-11-18 2014-09-24 에스케이텔레콤 주식회사 후보 예측 움직임 벡터 집합 선택을 이용한 움직임 벡터 부호화/복호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
BR112012023319A2 (pt) * 2010-03-16 2016-05-24 Thomson Licensing métodos e aparelhos para seleção do previsor do vetor de movimento adaptável implícito para codificação e decodificação de vídeo
WO2011146451A1 (en) 2010-05-20 2011-11-24 Thomson Licensing Methods and apparatus for adaptive motion vector candidate ordering for video encoding and decoding
AU2012277220B2 (en) * 2011-06-30 2016-08-11 Sun Patent Trust Image decoding method, image coding method, image decoding apparatus, image coding apparatus, and image coding and decoding apparatus

Also Published As

Publication number Publication date
PT2779650T (pt) 2017-05-24
AU2019210544B2 (en) 2020-12-17
CA2977280A1 (en) 2013-05-16
AU2015200951A1 (en) 2015-03-12
KR101717965B1 (ko) 2017-03-20
US9838708B2 (en) 2017-12-05
US20170208339A1 (en) 2017-07-20
KR20140092872A (ko) 2014-07-24
RU2607261C1 (ru) 2017-01-10
MX2014005287A (es) 2014-05-30
AU2012337138B2 (en) 2015-03-19
US20190020892A1 (en) 2019-01-17
RU2677588C1 (ru) 2019-01-17
RU2677577C1 (ru) 2019-01-17
AU2020294321B2 (en) 2022-03-10
CA2854705A1 (en) 2013-05-16
KR102124961B1 (ko) 2020-06-19
CA3082150C (en) 2021-11-09
IN2014CN04100A (es) 2015-07-10
TW201639371A (zh) 2016-11-01
TWI650011B (zh) 2019-02-01
AU2019210544A1 (en) 2019-08-15
KR20180126635A (ko) 2018-11-27
US10484705B2 (en) 2019-11-19
PL2779650T3 (pl) 2017-07-31
TW202041029A (zh) 2020-11-01
BR112014010751A2 (pt) 2017-04-25
KR101923527B1 (ko) 2018-11-29
US10104392B2 (en) 2018-10-16
CN106851305B (zh) 2019-05-21
BR112014010751B1 (pt) 2018-07-31
EP2779650A4 (en) 2015-06-24
TWI513280B (zh) 2015-12-11
KR20190120453A (ko) 2019-10-23
EP2779650B1 (en) 2017-04-26
AU2017258876B2 (en) 2019-08-08
CN106658025B (zh) 2019-07-23
US9973775B2 (en) 2018-05-15
CA2895631C (en) 2017-10-10
AU2017204898A1 (en) 2017-08-03
TWI739509B (zh) 2021-09-11
EP2779650A1 (en) 2014-09-17
TW201921949A (zh) 2019-06-01
TWI616092B (zh) 2018-02-21
AU2019210546A1 (en) 2019-08-15
RU2715011C1 (ru) 2020-02-21
TW201813397A (zh) 2018-04-01
KR20170031262A (ko) 2017-03-20
CN107071465A (zh) 2017-08-18
TW201531095A (zh) 2015-08-01
TWI597974B (zh) 2017-09-01
NO3054684T3 (es) 2018-07-07
US20170070746A1 (en) 2017-03-09
RU2652500C1 (ru) 2018-04-26
CN103891288A (zh) 2014-06-25
CA3131475C (en) 2023-05-09
EP3301927A1 (en) 2018-04-04
KR101708733B1 (ko) 2017-02-21
CN103891288B (zh) 2016-12-21
MY166926A (en) 2018-07-24
AU2016201031B2 (en) 2017-08-17
US10104393B2 (en) 2018-10-16
PL3054684T3 (pl) 2018-05-30
AU2012337138A1 (en) 2014-07-10
CN107105283A (zh) 2017-08-29
CA2977280C (en) 2020-07-21
KR101708732B1 (ko) 2017-02-21
AU2020294321A1 (en) 2021-02-18
TR201802964T4 (tr) 2018-03-21
SG11201402036UA (en) 2014-06-27
US20140241432A1 (en) 2014-08-28
CA3193531A1 (en) 2013-05-16
CN106851305A (zh) 2017-06-13
BR112014010751A8 (pt) 2017-12-12
RU2615676C1 (ru) 2017-04-06
CN107071465B (zh) 2019-01-29
KR101553933B1 (ko) 2015-09-17
AU2016201031A1 (en) 2016-03-10
AU2019210545B2 (en) 2021-01-28
CA2895631A1 (en) 2013-05-16
CA3131475A1 (en) 2013-05-16
WO2013069384A1 (ja) 2013-05-16
CA3082150A1 (en) 2013-05-16
CN107105283B (zh) 2019-07-30
PT3054684T (pt) 2018-03-09
AU2019210546B2 (en) 2021-01-28
TWI739483B (zh) 2021-09-11
CN106658025A (zh) 2017-05-10
KR102036771B1 (ko) 2019-10-25
EP3054684A1 (en) 2016-08-10
TW201735644A (zh) 2017-10-01
TWI699997B (zh) 2020-07-21
US9615088B2 (en) 2017-04-04
TWI551123B (zh) 2016-09-21
CN107071466A (zh) 2017-08-18
JP2013102266A (ja) 2013-05-23
TWI701943B (zh) 2020-08-11
MX351064B (es) 2017-09-29
CA2854705C (en) 2016-04-26
TW202042558A (zh) 2020-11-16
MX337949B (es) 2016-03-29
AU2017258876A1 (en) 2017-11-30
KR101628800B1 (ko) 2016-06-21
JP5485969B2 (ja) 2014-05-07
KR20150079989A (ko) 2015-07-08
TW201322776A (zh) 2013-06-01
RU2678489C1 (ru) 2019-01-29
US20180220150A1 (en) 2018-08-02
CN107071466B (zh) 2018-09-14
RU2703957C1 (ru) 2019-10-22
AU2017204898B2 (en) 2019-07-11
EP3054684B1 (en) 2018-02-07
KR20180023055A (ko) 2018-03-06
AU2015200951B2 (en) 2015-11-26
AU2019210545A1 (en) 2019-08-15
RU2566980C1 (ru) 2015-10-27
US20170208340A1 (en) 2017-07-20
US9788005B2 (en) 2017-10-10
TW201909639A (zh) 2019-03-01
ES2625514T3 (es) 2017-07-19
US20180070101A1 (en) 2018-03-08
KR20160075772A (ko) 2016-06-29
KR20160075774A (ko) 2016-06-29
KR101833933B1 (ko) 2018-03-02
KR20160075773A (ko) 2016-06-29

Similar Documents

Publication Publication Date Title
ES2662879T3 (es) Dispositivo de codificación predictiva de vídeo, método de codificación predictiva de vídeo, programa de codificación predictiva de vídeo, dispositivo de descodificación predictiva de vídeo, método de descodificación predictiva de vídeo y programa de descodificación predictiva de vídeo
US11831902B2 (en) Picture prediction method and picture prediction apparatus
ES2929824T3 (es) Método de decodificación bipredictiva de imágenes