ES2957772T3 - Procedimiento de codificación predictiva, dispositivo de codificación predictiva y programa de codificación predictiva de un vector de movimiento, y procedimiento de descodificación predictiva, dispositivo de descodificación predictiva y programa de descodificación predictiva de un vector de movimiento - Google Patents
Procedimiento de codificación predictiva, dispositivo de codificación predictiva y programa de codificación predictiva de un vector de movimiento, y procedimiento de descodificación predictiva, dispositivo de descodificación predictiva y programa de descodificación predictiva de un vector de movimiento Download PDFInfo
- Publication number
- ES2957772T3 ES2957772T3 ES22194613T ES22194613T ES2957772T3 ES 2957772 T3 ES2957772 T3 ES 2957772T3 ES 22194613 T ES22194613 T ES 22194613T ES 22194613 T ES22194613 T ES 22194613T ES 2957772 T3 ES2957772 T3 ES 2957772T3
- Authority
- ES
- Spain
- Prior art keywords
- motion vector
- vector predictor
- partition
- predictor candidate
- motion
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
- H04N19/517—Processing of motion vectors by encoding
- H04N19/52—Processing of motion vectors by encoding by predictive encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
- H04N19/139—Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/172—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/184—Methods 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 bits, e.g. of the compressed video stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Un método de codificación predictiva de vectores de movimiento según una realización incluye: (a) una etapa de determinar un vector de movimiento de una partición objetivo en una imagen de cuadro de un objetivo de codificación; (b) una etapa de determinar un primer candidato a predictor de vector de movimiento a partir de un vector de movimiento o vectores de movimiento de una o más particiones que pertenecen a una región vecina izquierda a la partición objetivo; (c) una etapa de determinar un segundo candidato a predictor de vector de movimiento a partir de un vector de movimiento o vectores de movimiento de una o más particiones que pertenecen a una región vecina por encima de la partición objetivo; (d) una etapa de seleccionar un predictor de vector de movimiento óptimo y generar información de indicación del predictor de vector de movimiento para especificar el predictor de vector de movimiento óptimo seleccionado, el predictor de vector de movimiento óptimo seleccionado basándose en la comparación entre uno o más candidatos a predictor de vector de movimiento incluyendo el primer vector de movimiento candidato predictor y el segundo candidato predictor de vector de movimiento, y el vector de movimiento de la partición objetivo; y (e) una etapa de codificar la información de indicación del predictor de vector de movimiento. (Traducción automática con Google Translate, sin valor legal)
Description
DESCRIPCIÓN
Procedimiento de codificación predictiva, dispositivo de codificación predictiva y programa de codificación predictiva de un vector de movimiento, y procedimiento de descodificación predictiva, dispositivo de descodificación predictiva y programa de descodificación predictiva de un vector de movimiento
Campo técnico
Las realizaciones de la presente invención se refieren a un procedimiento de descodificación predictiva, un sistema de descodificación predictiva y un medio de almacenamiento legible por ordenador no transitorio que corresponde a las mismas.
Antecedentes de la técnica
La tecnología de predicción con compensación de movimiento se usa de manera ocasional en la codificación de vídeo y la descodificación de vídeo. En la tecnología de compensación de movimiento, una trama de un objetivo de procesamiento en una secuencia de vídeo se divide en una pluralidad de particiones. Estas particiones se seleccionan secuencialmente como partición de un objetivo de procesamiento (partición de destino). Entonces se determina un vector de movimiento para la partición de destino. En la tecnología de predicción con compensación de movimiento, se determina un predictor de vector de movimiento usando vectores de movimiento de particiones vecinas de la partición de destino y el vector de movimiento de la partición de destino se codifica de manera predictiva o se descodifica de manera predictiva en algunos casos.
Las figuras 1A y 1B son dibujos para ilustrar particiones vecinas rectangulares usadas en la predicción con compensación de movimiento. En la figura 1A, la forma de la partición BT de destino es idéntica a la forma de las particiones BL, BA y BRA vecinas. La partición BL vecina a la izquierda incluye un píxel vecino existente en el lado izquierdo del píxel arriba y a la izquierda en la partición BT de destino; la partición Ba vecina por encima incluye un píxel vecino existente por encima del píxel arriba ya la izquierda en la partición BT de destino; la partición BRA vecina por encima a la derecha incluye un píxel vecino existente por encima y en el lado derecho del píxel arriba y a la derecha en la partición BT de destino. La tecnología H.264/AVC convencional emplea un predictor de vector de movimiento que tiene valores de mediana de componentes horizontales y componentes verticales de vectores de movimiento de la partición BL vecina a la izquierda, la partición BA vecina por encima y la partición BRA vecina por encima y a la derecha.
Por otro lado, la figura 1B ilustra un caso en el que hay una pluralidad de particiones vecinas que tienen formas respectivas diferentes de la forma de la partición BT de destino. La pluralidad de particiones vecinas en la figura 1B incluyen particiones BL1, BL2, BA1, BA2, BD y BE vecinas, además de la partición Bl vecina a la izquierda, la partición BA vecina por encima y la partición BRA vecina por encima y a la derecha. Según la tecnología descrita en la bibliografía de patente 1, la pluralidad de particiones vecinas se exploran en un orden espacial predeterminado para especificar una partición vecina con la mejor similitud espacial con respecto a una señal de píxel de la partición de destino, y se usa un vector de movimiento de la partición vecina así especificada como un predictor de vector de movimiento. En la tecnología de la bibliografía de patente 1, la similitud espacial que va a usarse es la suma de diferencias absolutas (SAD) entre la señal de píxel de la partición de destino y la señal de píxel de la partición vecina.
Lista de referencias
Bibliografía de patentes
Bibliografía de patente 1: Traducción japonesa de la solicitud PCT abierta a consulta por el público n° 2010-515399
Bibliografía no de patente 1: WIEGAND Tet al:“High Efficiency Video Coding (HEVC) text specification Working Draft 1” [“Borrador de trabajo 1 de la especificación textual de la Codificación de Vídeo de Alta Eficacia (HEVC)”], 3. CONFERENCIA DE JCT-VC; 95. CONFERENCIA DE MPEG; 7-10-2010 - 15-10-2010; GUANGZHOU; (EQUIPO DE COLABORACIÓN CONJUNTO SOBRE CODIFICACIÓN DE VÍDEO DE ISO/IECJTCI/SC29/WG11 E ITU-TSG.16); URL: HTTP://WFTP3.ITU.INT/AV-ARCH/JCTVC-SITE/, n.° JCTVC-C403, 6 de enero de 2011 (06-01-2011), XP030008032, ISSN: 0000-0018.
Sumario de la invención
Problema técnico
Puesto que la tecnología anterior de la bibliografía de patente 1 implica calcularla similitud espacial mientras se explora la pluralidad de particiones vecinas en el orden predeterminado, requiere un número considerable de cálculos para la determinación del predictor de vector de movimiento.
La tecnología anterior de la bibliografía no de patente 1 implica un procedimiento de derivación para los cand ida tos a predictor de vector de movimiento. Se determina un primer candidato a predictor de vector de movimiento a partir de vectores de movimiento de particiones pertenecientes a una región vecina ubicada a la izquierda de la partición de destino. Se determina un segundo candidato a predictor de vector de movimiento a partir de vectores de movimiento de particiones pertenecientes a una región vecina ubicada por encima de la partición de destino, por lo que la determinación del segundo candidato a predictor de vector de movimiento incluye la exploración de las particiones de izquierda a derecha y la determinación de si una j-ésima partición tiene la misma identificación de lista de imágenes de referencia e identificación de imagen de referencia, y si este es el caso, se determina el vector de movimiento de la j-ésima partición como segundo candidato a predictor de vector de movimiento.
Existen demandas de reducción de la complejidad de cálculo necesaria para la determinación del predictor de vector de movimiento en los campos técnicos afectados.
Solución al problema
La presente invención se refiere a una tecnología de descodificación predictiva de vectores de movimiento.
Se define un método para descodificar de manera predictiva un vector de movimiento en la reivindicación 1. Se define un sistema de descodificación predictiva en la reivindicación 2. Se define un medio de almacenamiento legible por ordenador no transitorio que almacena instrucciones ejecutables por un procesador en la reivindicación 3.
En una realización, la tecnología de descodificación predictiva puede configurarse como sigue: se exploran una o más particiones en la región vecina a la izquierda en un sentido ascendente desde la parte inferior de la región vecina a la izquierda, mediante lo cual un vector de movimiento que satisface un criterio predeterminado usado para la determinación de candidatos a predictor de vector de movimiento se determina como primer candidato a predictor de vector de movimiento a partir de vectores de movimiento de la una o más particiones. Una exploración posterior en la región vecina a la izquierda puede terminarse tras la detección del vector de movimiento que satisface el criterio predeterminado de la determinación de candidatos a predictor de vector de movimiento. El primer candidato a predictor de vector de movimiento con un pequeño error con respecto al vector de movimiento de la partición de destino puede determinarse eficazmente explorando la región vecina a la izquierda en el orden de exploración anterior.
En esta realización, la tecnología de descodificación predictiva se configura además como sigue: se exploran una o más particiones en la región vecina por encima en un sentido de derecha a izquierda, mediante lo cual un vector de movimiento que satisface el criterio predeterminado usado para la determinación de candidatos a predictor de vector de movimiento se determina como un segundo candidato a predictor de vector de movimiento a partir de vectores de movimiento de la una o más particiones. La exploración posterior en la región vecina por encima puede terminarse tras la detección del vector de movimiento que satisface el criterio predeterminado usado para la determinación de candidatos a predictor de vector de movimiento. El segundo candidato a predictor de vector de movimiento con un pequeño error con respecto al vector de movimiento de la partición de destino puede determinarse eficazmente explorando la región vecina por encima en el orden de exploración anterior.
En una realización, el número de uno o más candidatos a predictor de vector de movimiento puede no ser más de 3. Esta realización puede reducir además el recuento de bits de la información de indicación de predictor de vector de movimiento.
En una realización, puede usarse el predictor de vector de movimiento óptimo como un vector de movimiento de una partición de destino. Esta realización puede reducir un volumen de datos de datos codificados debido a que no se codifica una señal residual del vector de movimiento.
Efectos ventajosos de la invención
Tal como se ha descrito anteriormente, los aspectos y las realizaciones de la presente invención proporcionan el procedimiento de descodificación predictiva, el sistema de descodificación predictiva y el medio de almacenamiento legible por ordenador no transitorio que almacena instrucciones cada una de las cuales va a ejecutarse mediante un procesador que pueden reducir la complejidad de cálculo necesaria para la determinación de predictores de vector de movimiento.
Breve descripción de los dibujos
La figura 1A es un dibujo que ilustra particiones vecinas rectangulares usadas en la predicción con compensación de movimiento
La figura 1B es un dibujo que ilustra particiones vecinas rectangulares usadas en la predicción con compensación de movimiento
La figura 2 es un dibujo que muestra una configuración de un dispositivo de codificación de vídeo, sin embargo la figura 2 no es según la presente invención, aunque sí es útil para entender la presente invención.
La figura 3 es un diagrama de flujo que muestra un ejemplo de un procedimiento de codificación predictiva de vectores de movimiento. La figura 3 no es, como tal (procedimiento de codificación), según la presente invención, aunque sí también incluye partes relevantes para la presente invención.
La figura 4 es un dibujo que ilustra particiones vecinas rectangulares usadas en la predicción con compensación de movimiento.
La figura 5 es un diagrama de flujo que muestra un primer ejemplo de un proceso de la etapa S302 en la figura 3 en detalle, mediante lo cual la etapa S302 también puede ser relevante para la presente invención.
La figura 6 es un diagrama de flujo que muestra un primer ejemplo de un proceso de la etapa S303 en la figura 3 en detalle, mediante lo cual la etapa S303 también es relevante para la presente invención.
La figura 7 es un dibujo que muestra una configuración de un dispositivo de descodificación que puede realizar la presente invención.
La figura 8 es un diagrama de flujo que muestra un ejemplo de un procedimiento de descodificación predictiva de vector de movimiento, en la que la figura 8 proporciona una base de la presente invención.
La figura 9 es un diagrama de flujo que muestra un procedimiento de determinación de candidatos a predictor de vector de movimiento en un procedimiento de codificación predictiva de vector de movimiento en un segundo ejemplo, en la que la figura 9 no es, como tal (procedimiento de codificación), según la presente invención, aunque sí es útil para entender la presente invención.
La figura 10 es un diagrama de flujo que muestra un procedimiento de descodificación predictiva de vector de movimiento en el segundo ejemplo, en la que la figura 10 no es necesariamente según la presente invención, aunque sí es útil para entender la presente invención.
La figura 11 es un dibujo que muestra una configuración de un programa de codificación de vídeo, sin embargo, la figura 11 no muestra la presente invención, aunque sí es útil para entender la presente invención.
La figura 12 es un dibujo que muestra una configuración de un programa de descodificación de vídeo, sin embargo la figura 12 no muestra la presente invención, aunque sí es útil para entender la presente invención.
La figura 13 es un dibujo que muestra una configuración de hardware de un ordenador, sin embargo la figura 13 no muestra la presente invención, aunque sí es útil para entender la presente invención.
La figura 14 es una vista en perspectiva que muestra un ordenador según una realización, sin embargo la figura 13 no muestra la presente invención, aunque sí es útil para entender la presente invención.
Descripción de ejemplos
En lo que sigue se describirán diversas realizaciones en detalle con referencia a los dibujos. En los dibujos, partes idénticas o equivalentes se indicarán mediante los mismos símbolos de referencia.
La figura 2 es un dibujo que muestra una configuración de un dispositivo de codificación de vídeo que no forma parte de la presente invención, aunque sí es útil para entender la presente invención. El dispositivo de codificación de vídeo 20 mostrado en la figura 2 es un ejemplo de un dispositivo que codifica de manera predictiva un vector de movimiento.
Una secuencia de vídeo introducida en el dispositivo de codificación de vídeo 20 se compone de una secuencia temporal de imágenes de trama. Una señal de imagen de trama seleccionada como objetivo para la codificación se denominará a continuación en el presente documento “trama actual”. En el dispositivo de codificación de vídeo 20, una trama actual se divide en particiones rectangulares de tamaño variable y se lleva a cabo el procesamiento descrito en lo que sigue en cada una de las unidades de partición.
El dispositivo de codificación de vídeo 20 puede usar una cualquiera entre una modalidad de predicción inter-tramas y una pluralidad de modalidades de predicción intra-tramas, cambiando la modalidad de predicción para cada partición entre ellas. Por ejemplo, el dispositivo de codificación de vídeo 20 selecciona una modalidad de predicción con una alta eficacia de codificación entre la modalidad de predicción inter-tramas y las modalidades de predicción intra-tramas, para cada partición. La “modalidad de predicción inter-tramas” en el presente documento es una modalidad en la que un vector de movimiento se detecta con referencia a una pluralidad de señales de imagen de trama codificadas anteriormente (señales de imagen de trama de referencia) diferentes, en cuanto al tiempo, a una señal de imagen de trama, para realizar de ese modo la predicción inter-tramas con compensación de movimiento. La “modalidad de predicción intra-tramas” es una modalidad en la que la predicción espacial se lleva a cabo usando valores de píxel de regiones vecinas codificadas anteriormente en la misma trama. En la “modalidad de predicción inter-tramas”, se llevan a cabo procesos respectivos de detección de movimiento, predicción de movimiento y compensación de movimiento para cada una de las sub-particiones, por ejemplo, obtenidas dividiendo adicionalmente una partición de NxN píxeles con un tamaño optativo (por ejemplo, (N/2) píxeles x N líneas o (N/4) píxeles x (N/4) líneas).
Tal como se muestra en la figura 2, el dispositivo de codificación de vídeo 20 puede estar dotado de una unidad de entrada 201, una unidad de detección de movimiento 202, una unidad de determinación de candidatos a predictor de vector de movimiento 203, una unidad de determinación de predictores de vector de movimiento 204, una unidad de diferencia de vector de movimiento 205, una unidad de compensación de movimiento 206, una memoria 207, una unidad de predicción espacial 208, una unidad de determinación de procedimiento de predicción 209, una unidad de resta 210, una unidad de transformación 211, una unidad de cuantización 212, una unidad de codificación por entropía 213, una unidad de cuantización inversa 214, una unidad de transformación inversa 215 y una unidad de adición 216.
La unidad de entrada 201 recibe una señal de vídeo de entrada como una señal de vídeo introducida desde el exterior y descompone la señal de vídeo en señales de imagen de trama. La unidad de entrada 201 emite cada señal de imagen de trama a través de la línea L201a y a través de la línea L201b a la unidad de resta 210 y a la unidad de detección de movimiento 202.
La memoria 207 es una parte que almacena señales de imagen de trama que se han codificado en el pasado, información (vectores de movimiento, identificaciones de listas de imágenes de referencia, identificaciones de imágenes de referencia) y otros datos usados en la predicción de las mismas.
La unidad de detección de movimiento 202 realiza la detección de vectores de movimiento. Más específicamente, la unidad de detección de movimiento 202 busca una señal de imagen de trama de referencia introducida a través de la línea L207a desde la memoria 207, en busca de un patrón de señal de imagen similar a un patrón de señal de imagen de una partición de destino en la trama actual introducida a través de la línea L201a. La unidad de detección de movimiento 202 busca en un área de búsqueda predeterminada en la trama de referencia. La unidad de detección de movimiento 202 detecta un vector de movimiento que representa una cantidad de desplazamiento espacial entre la partición de destino y el patrón de señales de imagen obtenido mediante la búsqueda, y una identificación de lista de imágenes de referencia y una identificación de imágenes de referencia para especificar un número de trama de la trama de referencia usada. El vector de movimiento detectado, la identificación de listas de imágenes de referencia y la identificación de imágenes de referencia se emiten a través de la línea L202a a la unidad de compensación de movimiento 206 y, a través de la línea L202c, a la unidad de diferencia de vectores de movimiento 205. Además, la unidad de detección de movimiento 202 emite la identificación de lista de imágenes de referencia y la identificación de imágenes de referencia, detectadas a través de la línea L202b, a la unidad de determinación de candidatos a predictor de vector de movimiento 203. En el dispositivo de codificación de vídeo 20, pueden gestionarse números de trama para especificar señales de imágenes de tramas de referencia respectivas en forma de listas. Se especifica un número de trama usando una identificación de lista de imágenes de referencia (Lista de imágenes de referencia) para especificar una lista y una identificación de imágenes de referencia (Índice de referencia) como índice del número de trama en la lista. Esta tecnología es una tecnología bien conocida en la norma H.264/AVC y otras.
La unidad de determinación de candidatos a predictor de vector de movimiento 203 determina candidatos a predictor de vector de movimiento usando vectores de movimiento de particiones vecinas codificadas anteriormente introducidas a través de la línea L207b. Los detalles sobre la determinación de candidatos a predictor de vector de movimiento se describirán más adelante. La unidad de determinación de candidatos a predictor de vector de movimiento 203 emite los candidatos a predictor de vector de movimiento determinados, a través de la línea L203, a la unidad de determinación de predictores de vector de movimiento 204.
La unidad de determinación de predictores de vector de movimiento 204 determina un predictor de vector de movimiento óptimo (valores de predictor de vector de movimiento) a partir de los candidatos a predictor de vector de movimiento introducidos a través de la línea L203. Más específicamente, la unidad de determinación de predictores de vector de movimiento 204 determina un candidato a predictor de vector de movimiento con la mínima diferencia con respecto al vector de movimiento de la partición de destino introducida a través de la línea L202c, como predictor de vector de movimiento óptimo PMVopt, entre los candidatos a predictor de vector de movimiento. El predictor de vector de movimiento óptimo determinado PMVopt se suministra, a través de la línea L204a, a la unidad de diferencia de vectores de movimiento 205. Además, el número de candidatos a predictor de vector de movimiento y la información de indicación de predictor de vector de movimiento, para especificar el predictor de vector de movimiento óptimo PMVopt entre los candidatos a predictor de vector de movimiento, se suministran, a través de la línea L204b, a la unidad de codificación por entropía 213.
El candidato a predictor de vector de movimiento con la mínima diferencia con respecto al vector de movimiento de la partición de destino puede seleccionarse como el predictor de vector de movimiento óptimo PMVopt. Alternativamente, la unidad de determinación de predictores de vectores de movimiento 204 puede seleccionar como el predictor de vector de movimiento óptimo PMVopt un candidato a predictor de vector de movimiento con el mínimo número de bits asignado a una diferencia de vectores de movimiento calculada.
El predictor de vectores de movimiento óptimo puede determinarse después de la detección de movimiento de la partición de destino. Alternativamente, el predictor de vector de movimiento óptimo puede detectarse antes de la detección de movimiento. Específicamente, tal como se indica mediante la fórmula (1) siguiente, el predictor de vector de movimiento óptimo puede calcularse basándose en la suma de diferencias absolutas (SADμmv) entre la señal de imagen predicha en la ejecución de la compensación de movimiento, usando cada uno de los candidatos a predictor de vector de movimiento calculados realmente, y la señal de imagen de destino y una función de coste usando el recuento de bits Rpmv en la codificación del candidato a predictor de vector de movimiento y X como una ponderación para el recuento de bits. En este caso, la señal de imagen de la partición de destino se introduce a través de la línea L201a y cada señal de imagen de trama de referencia se introduce a través de la línea L207a a la unidad de determinación de predictores de vectores de movimiento 204 en la figura 2.
Costepmv = SADpmv+XRpmv(1)
La unidad de diferencia de vectores de movimiento 205 calcula valores de diferencia de vectores de movimiento que son información de diferencia entre el vector de movimiento introducido a través de la línea L202c y el predictor de vector de movimiento óptimo introducido a través de la línea L204a. La unidad de diferencia de vectores de movimiento 205 transmite una señal que incluye los valores de diferencia de vectores de movimiento calculados, y la identificación de lista de imágenes de referencia y la identificación de imágenes de referencia, como información de predicción, a través de la línea L205a, a la unidad de codificación por entropía 213. Además, la unidad de diferencia de vectores de movimiento 205 transmite una señal que incluye el vector de movimiento, y la identificación de la lista de imágenes de referencia y la identificación de imágenes de referencia, a través de la línea L205b, a la memoria 207.
La unidad de compensación de movimiento 206 genera una señal de imagen predicha de la partición de destino, haciendo referencia a la señal de imagen de trama de referencia del número de trama especificado por la identificación de la lista de imágenes de referencia y la identificación de imágenes de referencia, recibidas desde la unidad de detección de movimiento 202 y usando el vector de movimiento recibido desde la unidad de detección de movimiento 202. Esta señal de imagen predicha se emite a la unidad de determinación de procedimiento de predicción 209.
La unidad de predicción espacial 208 genera una señal de imagen predicha, haciendo referencia a señales de imagen (señales de imagen de trama de referencia) de regiones vecinas codificadas anteriormente, introducidas a través de la línea L207a. La unidad de predicción espacial 208 emite la señal de imagen predicha generada a la unidad de determinación de procedimiento de predicción 209.
La unidad de determinación de procedimiento de predicción 209 compara las señales de imagen predichas recibidas desde la unidad de compensación de movimiento 206 y la unidad de predicción espacial 208, para seleccionar una cualquiera de las señales de imagen predichas, y emite la señal de imagen predicha seleccionada a la unidad de resta 210. La unidad de determinación de procedimiento de predicción 209 emite información de modalidad de predicción, indicativa de un procedimiento de predicción usado para la generación de la señal de imagen predicha seleccionada, a través de la línea L209b, a la unidad de codificación por entropía 213.
La unidad de resta 210 genera un valor de diferencia (señal residual de predicción) entre la señal de imagen de trama introducida a través de la línea L201b y la señal de imagen predicha introducida a través de la línea L209a, y emite la señal residual de predicción a la unidad de transformación 211.
La unidad de transformación 211 realiza una transformación ortogonal de la señal residual de predicción introducida a través de la línea L210, para generar coeficientes de transformación ortogonales, y emite los coeficientes de transformación ortogonales a la unidad de cuantización 212. La unidad de cuantización 212 cuantiza los coeficientes de transformación ortogonales introducidos a través de la línea L211, para generar coeficientes de transformación ortogonales cuantizados, y transmite los coeficientes de transformación ortogonales cuantizados a la unidad de codificación por entropía 213 y a la unidad de cuantización inversa 212.
La unidad de codificación por entropía 213 realiza la codificación por entropía de los coeficientes de transformación ortogonales cuantizados, introducidos a través de la línea L212, la información de modalidad de predicción recibida desde la unidad de determinación de procedimiento de predicción 209, la información de predicción transmitida desde la unidad de diferencia de vectores de movimiento 205 y la información de indicación de predictor de vector de movimiento, emitida desde la unidad de determinación de predictores de vectores de movimiento 204, multiplexa datos codificados generados en un flujo comprimido y transmite el flujo comprimido al exterior.
La unidad de cuantización inversa 214 realiza la cuantización inversa de los coeficientes de transformación ortogonales cuantizados, introducidos a través de la línea L212, para generar coeficientes de transformación ortogonales, y transmite los coeficientes de transformación ortogonales a la unidad de transformación ortogonal inversa 215. Entonces, la unidad de transformación ortogonal inversa 215 aplica una transformación ortogonal inversa a los coeficientes de transformación ortogonales introducidos a través de la línea L214, para generar una señal residual de predicción, y transmite la señal residual de predicción a la unidad de adición 216.
La unidad de adición 216 realiza la adición de la señal residual de predicción introducida a través de la línea L215 y la señal de imagen predicha introducida a través de la línea L209a, para generar una señal de imagen de trama, y transmite la señal de imagen de trama a la memoria 207. Esta señal de imagen de trama se almacena en la memoria 207 y se usa como una señal de imagen de trama de referencia en el procedimiento de codificación posterior. En la memoria 207, el vector de movimiento, la identificación de la lista de imágenes de referencia, la identificación de imágenes de referencia, etc., introducidos a través de la línea L205b, también se almacenan en asociación con la señal de imagen de trama de referencia.
A continuación, se describirá en lo que sigue un procedimiento de codificación predictiva de vectores de movimiento, aplicable en el dispositivo de codificación de vídeo 20; sin embargo, el procedimiento de codificación predictiva descrita no forma parte de la presente invención, aunque sí es útil para entender la presente invención.
En primer lugar, se describirán particiones adyacentes a una partición de destino, con referencia a la figura 1B. Las particiones BL, BL1 y BL2 son particiones en contacto con un límite izquierdo de la partición BT de destino. La partición BD es una partición que incluye píxeles vecinos existentes por debajo y en el lado izquierdo del píxel abajo a la izquierda en la región Bt de destino. La partición BE es una partición que incluye píxeles vecinos existente por encima y en el lado izquierdo del píxel arriba a la izquierda en la partición BT de destino. Las particiones BA, BA1 y BA2 son particiones en contacto con un límite superior de la partición BT de destino. La partición BRA es una partición que incluye píxeles vecinos existente por encima y en el lado derecho del píxel arriba a la derecha en la partición BT de destino. Las particiones vecinas a la partición de destino pueden ser particiones del mismo tamaño que la partición BT de destino, tal como se muestra en la figura 1A.
A continuación, se hace referencia a la figura 3. La figura 3 es un diagrama de flujo que muestra un ejemplo del procedimiento de codificación predictiva de un vector de movimiento; el procedimiento de codificación predictiva no es, como tal (procedimiento de codificación), según la presente invención, aunque sí también incluye partes usadas para la presente invención. Tal como se muestra en la figura 3, en el procedimiento de codificación predictiva de un vector de movimiento, en primer lugar, la identificación de la lista de imágenes de referencia y la identificación de imágenes de referencia se introducen en la unidad de determinación de candidatos a predictor de vector de movimiento 203 (etapa S301).
A continuación, la unidad de determinación de candidatos a predictor de vector de movimiento 203 determina un candidato a predictor de vector de movimiento PMV1 a partir de un vector de movimiento, o vectores de movimiento, de una o más particiones incluidas en la región vecina a la izquierda ubicada a la izquierda de la partición BT de destino (etapa S302). Los detalles sobre el procedimiento de determinación del candidato a predictor de vector de movimiento PMV1 se describirán más adelante.
A continuación, la unidad de determinación de candidatos a predictor de vector de movimiento 203 determina un candidato a predictor de vector de movimiento PMV2 a partir de un vector de movimiento, o vectores de movimiento, de una o más particiones incluidas en la región vecina por encima ubicada por encima de la partición BT de destino (etapa S303). Los detalles sobre el procedimiento de determinación del candidato a predictor de vector de movimiento PMV2 se describirán más adelante.
A continuación, la unidad de determinación de candidatos a predictor de vector de movimiento 203 determina un candidato a predictor de vector de movimiento PMV3 (etapa s 304). Puede determinarse un vector de movimiento de una partición existente en la trama de referencia y en una posición espacialmente idéntica a la partición de destino, como candidato a predictor de vector de movimiento PMV3.
El candidato a predictor de vector de movimiento PMV3 puede ser un vector de movimiento de otra partición espacialmente adyacente a la partición de destino, en lugar del vector de movimiento de la partición en la misma posición que la partición de destino en la trama de referencia. También es posible usar valores promedio o similares, calculados basándose en el candidato a predictor de vector de movimiento PMV1 y el candidato a predictor de vector de movimiento PMV2, como candidato a predictor de vector de movimiento PMV3.
El número de candidatos a predictor de vector de movimiento puede ser de tres o más. En este caso, una pluralidad de candidatos a predictor de vector de movimiento puede determinarse mediante diferentes procedimientos a partir de cada una entre la región vecina a la izquierda y la región vecina por encima. Más específicamente, una pluralidad de candidatos a predictor de vector de movimiento pueden determinarse buscando particiones de cada una de las regiones en una pluralidad de diferentes direcciones de exploración, en cada una entre la región vecina a la izquierda y la región vecina por encima. También es posible usar un vector de movimiento de otra región vecina como candidato a predictor de vector de movimiento.
Volviendo a hacer referencia a la figura 3, la unidad de determinación de candidatos a predictor de vector de movimiento 203 determina entonces sólo candidatos a predictor de vector de movimiento no idénticos entre el candidato a predictor de vector de movimiento PMV1, el candidato a predictor de vector de movimiento PMV2 y el candidato a predictor de vector de movimiento PMV3, como candidatos finales a predictor de vector de movimiento (etapa S305). Como ejemplo específico, cuando el candidato a predictor de vector de movimiento PMV1 es idéntico al candidato a predictor de vector de movimiento PMV3, sólo se seleccionan PMV1 y PMV2 como candidatos a predictor de vector de movimiento. Si no hay candidatos a predictor de vector de movimiento determinados que satisfagan las condiciones en las etapas S302 a S304, se define un vector de movimiento cero como candidato a predictor de vector de movimiento.
Entonces, la unidad de determinación de predictores de vector de movimiento 204 determina el predictor de vector de movimiento óptimo, tal como se describió anteriormente, entre los candidatos a predictor de vector de movimiento determinados por la unidad de determinación de candidatos a predictor de vector de movimiento 203 (etapa S306).
Entonces, la unidad de codificación 213 codifica la información de indicación de predictor de vector de movimiento para especificar qué candidato a predictor de vector de movimiento es el predictor óptimo de vector de movimiento (etapa S307).
La información de indicación de predictor de vector de movimiento puede codificarse en datos codificados de un recuento de bits según el número de candidatos a predictor de vector de movimiento seleccionados por la unidad de determinación de predictores de vector de movimiento 204. Por ejemplo, cuando el número de candidatos a predictor de vector de movimiento es 0 o 1, la información de indicación de predictor de vector de movimiento no se codifica ni se transmite. Cuando el número de candidatos a predictor de vector de movimiento es 2 o 3, la información de indicación de predictor de vector de movimiento se codifica en dos bits como máximo.
La información de indicación de predictor de vector de movimiento puede codificarse basándose en una tabla de codificación fija independientemente del número de candidatos a predictor de vector de movimiento. En este caso, la información de indicación de predictor de vector de movimiento puede codificarse usando la siguiente tabla de codificación.
<Tabla 1. Tabla de codificación>
Valor de bit Predictor óptimo de vector de movimiento
0 candidato a predictor de vector de movimiento 1 (PMV1)
10 candidato a predictor de vector de movimiento 2 (PMV2)
11 candidato a predictor de vector de movimiento 3 (PMV3)
Puede cambiarse el orden en el que se determinan el candidato a predictor de vector de movimiento PMV1, el candidato a predictor de vector de movimiento PMV2 y el candidato a predictor de vector de movimiento PMV3. Por ejemplo, puede usarse un proceso en el que la partición de destino se divide en una pluralidad de sub-particiones y se lleva a cabo el proceso de codificación para cada una de las sub-particiones. Específicamente, cuando la partición de destino se divide en sub-particiones superior e inferior, y la sub-partición inferior puede usarse como partición de destino, o cuando la partición de destino se divide en sub-particiones izquierda y derecha, y la sub-partición izquierda puede usarse como partición de destino, pueden determinarse los candidatos a predictor de vector de movimiento en el orden de la región vecina a la izquierda, la región vecina por encima y otra región (por ejemplo, una partición en una trama de referencia en la misma posición que la partición de destino). Por otro lado, cuando la partición de destino se divide en sub-particiones superior e inferior, y la sub-partición superior puede usarse como partición de destino, o la partición de destino se divide en sub-particiones izquierda y derecha, y la sub-partición derecha puede usarse como partición de destino, pueden determinarse los candidatos a predictor de vector de movimiento en el orden de la región vecina por encima, la región vecina a la izquierda y otra región (por ejemplo, una partición en una trama de referencia en la misma posición que la partición de destino), para estas particiones de destino.
Se describirá a continuación en detalle un primer ejemplo del proceso de determinación de candidatos a predictor de vector de movimiento. En primer lugar, se describirá el primer ejemplo del proceso de la etapa S302 en la figura 3 con referencia a las figuras 1B, 4 y 5. Se supone en el presente documento, tal como se muestra en la figura 1B, que la región vecina a la izquierda se compone de la partición BD vecina por debajo y a la izquierda de la partición de destino, y de las particiones BL, BL1 y BL2 vecinas a la izquierda de la partición de destino. También se supone que las particiones en la región vecina a la izquierda se exploran en orden creciente del índice i mostrado en (a) de la figura 4. Concretamente, se supone que las particiones en la región vecina a la izquierda se exploran en el orden de la parte inferior a la superior.
La partición BD vecina por debajo y a la izquierda puede excluirse de la región vecina a la izquierda. Además, una partición más por debajo de la partición BD vecina por debajo y a la izquierda puede incluirse en la región vecina a la izquierda. Además, la partición BE o una partición ubicada por encima de la partición BE pueden incluirse en la región vecina a la izquierda. Además, una partición ubicada en el lado izquierdo de la partición de destino y a una distancia predeterminada de la partición de destino puede incluirse en la región vecina a la izquierda.
Volviendo a hacer referencia a (a) de la figura 4 y la figura 5, en el proceso de la etapa S302, en primer lugar, la unidad de determinación de candidatos a predictor de vector de movimiento 203 establece 0 en el índice i (etapa S501). La unidad de determinación de candidatos a predictor de vector de movimiento 203 aumenta el índice i en un incremento de 1 en la etapa S502 posterior.
A continuación, la unidad de determinación de candidatos a predictor de vector de movimiento 203 determina si existe una i-ésima partición en el orden de exploración en la región vecina a la izquierda y si la partición tiene un vector de movimiento (etapa S503). Si existe la i-ésima partición en la región vecina a la izquierda y si la partición tiene un vector de movimiento, la unidad de determinación de candidatos a predictor de vector de movimiento 203 determina, en la etapa S504 posterior, si la i-ésima partición y la partición de destino tienen la misma identificación de lista de imágenes de referencia y la identificación de imágenes de referencia. Cuando se satisface la condición de determinación en la etapa S504, la unidad de determinación de candidatos a predictor de vector de movimiento 203 determina el vector de movimiento de la i-ésima partición como candidato a predictor de vector de movimiento PMV1 en la etapa S505 posterior y, entonces, emite el candidato a predictor de vector de movimiento PMV1 en la etapa S506 posterior, seguido por la terminación del procesamiento.
Por otro lado, cuando no se satisface la condición de determinación en la etapa S503 o cuando no se satisface la condición de determinación en la etapa S504, el procesamiento pasa a la etapa S507. En la etapa S507, la unidad de determinación de candidatos a predictor de vector de movimiento 203 determina si el índice i es superior al número N de particiones en la región vecina a la izquierda. Cuando no se satisface la condición de determinación en la etapa S507, la unidad de determinación de candidatos a predictor de vector de movimiento 203 sigue con el procesamiento desde la etapa S502. Por otro lado, cuando se satisface la condición de determinación en la etapa S507, la unidad de determinación de candidatos a predictor de vector de movimiento 203 termina el procesamiento.
Las particiones en la región vecina a la izquierda se exploran en orden desde la parte inferior de la región vecina a la izquierda en la realización mostrada en (a) de la figura 4, pero en una realización, tal como se muestra en (c) de la figura 4, pueden explorarse en orden desde la parte superior de la región vecina a la izquierda.
Puede seleccionarse de manera adaptativa cualquiera entre el orden de exploración mostrado en (a) de la figura 4 y el orden de exploración mostrado en (c) de la figura 4. Por ejemplo, el orden de exploración puede determinarse basándose en una relación de vectores de movimiento de particiones vecinas. Específicamente, es posible adoptar un procedimiento de comparación de una diferencia absoluta a entre el vector de movimiento de la partición BL y el vector de movimiento de la partición BA con una diferencia absoluta p entre el vector de movimiento de la partición BRA y el vector de movimiento de la partición BD en la figura 1B, y seleccionar el orden de exploración en (c) de la figura 4 si la diferencia absolutaaes menor que la diferencia absoluta p. En el caso opuesto, por otro lado, puede seleccionarse el orden de exploración en (a) de la figura 4.
En una realización, la etapa S502 puede configurarse para aumentar el índice i en un incremento de dos o más, disminuyendo de ese modo las particiones que han de explorarse.
El primer ejemplo del proceso de la etapa S303 en la figura 3 se describirá a continuación en detalle con referencia a las figuras 1B, 4 y 6. Se supone en el presente documento, tal como se muestra en la figura 1B, que la región vecina por encima se compone de la partición BE vecina por encima a la izquierda de la partición de destino y las particiones BA, BA1 y BA2 vecinas por encima de la partición de destino. También se supone que las particiones en la región vecina por encima se exploran en orden creciente del índicej mostrado en (a) de la figura 4. Concretamente, se supone que las particiones en la región vecina por encima se exploran en el orden de derecha a izquierda.
La partición BE vecina por encima a la izquierda puede excluirse de la región vecina por encima. Además, una partición más a la izquierda que la partición BE vecina por encima a la izquierda puede incluirse en la región vecina por encima. Además, una partición ubicada por encima de la partición de destino y a una distancia predeterminada de la partición de destino puede incluirse en la región vecina por encima.
Volviendo a hacer referencia a (a) de la figura 4 y la figura 6, en el proceso de la etapa S303, en primer lugar, la unidad de determinación de candidatos a predictor de vector de movimiento 203 establece 0 en el índice j (etapa S601). La unidad de determinación de candidatos a predictor de vector de movimiento 203 aumenta el índice j en un incremento de 1 en la etapa S602 posterior.
A continuación, la unidad de determinación de candidatos a predictor de vector de movimiento 203 determina si existe la j-ésima partición en el orden de exploración en la región vecina por encima y si la partición tiene un vector de movimiento (etapa S603). Cuando existe la j-ésima partición en la región vecina por encima y cuando la partición tiene un vector de movimiento, la unidad de determinación de candidatos a predictor de vector de movimiento 203 determina, en la etapa S604 posterior, si la j-ésima partición y la partición de destino tienen la misma identificación de lista de imágenes de referencia y la identificación de imágenes de referencia. Cuando se satisface la condición de determinación en la etapa S604, la unidad de determinación de candidatos a predictor de vector de movimiento 203 determina, en la etapa S605 posterior, si el vector de movimiento de la j-ésima partición es idéntico al candidato a predictor de vector de movimiento PMV1. Cuando el vector de movimiento de la j-ésima partición es diferente al candidato a predictor de vector de movimiento PMV1, la unidad de determinación de candidatos a predictor de vector de movimiento 203 determina en la etapa S606 posterior que el vector de movimiento de la j-ésima partición es el candidato a predictor de vector de movimiento PMV2 y entonces emite el candidato a predictor de vector de movimiento PMV2 en la etapa S607 posterior, seguido por la terminación del procesamiento.
Por otro lado, cuando no se satisface la condición de determinación en la etapa S603, cuando no se satisface la condición de determinación en la etapa S604 o cuando se satisface la condición de determinación en la etapa S605, el procesamiento pasa a la etapa S608.
En la etapa S608, la unidad de determinación de candidatos a predictor de vector de movimiento 203 determina si el índice j es superior al número M de particiones en la región vecina por encima. Cuando no se satisface la condición de determinación en la etapa S608, la unidad de determinación de candidatos a predictor de vector de movimiento 203 continúa con el procesamiento desde la etapa S602. Por otro lado, cuando se satisface la condición de determinación en la etapa S608, la unidad de determinación de candidatos a predictor de vector de movimiento 203 termina el procesamiento.
Las particiones en la región vecina por encima se exploran en el orden de derecha a izquierda en la realización mostrada en (a) de la figura 4, pero otras soluciones que no forman parte de la invención son posibles, por ejemplo, las particiones pueden explorarse en el orden de izquierda a derecha, tal como se muestra en (c) de la figura 4.
Puede seleccionarse de manera adaptativa cualquiera entre el orden de exploración mostrado en (a) de la figura 4 o el orden de exploración mostrado en (c) de la figura 4. Por ejemplo, el orden de exploración puede determinarse basándose en una relación de vectores de movimiento de particiones vecinas. Específicamente, es posible adoptar un procedimiento de comparación de una diferencia absoluta a entre el vector de movimiento de la partición BL y el vector de movimiento de la partición BA con una diferencia absoluta p entre el vector de movimiento de la partición BRA y el vector de movimiento de la partición BD en la figura 1B, y seleccionar el orden de exploración en (c) de la figura 4 si la diferencia absolutaaes menor que la diferencia absoluta p. En el caso opuesto, por otro lado, puede seleccionarse el orden de exploración en (a) de la figura 4.
La partición BE se incluye en la región vecina por encima en la realización descrita anteriormente, pero la partición BE puede incluirse en la región vecina a la izquierda. También es posible definir la partición BE como región independiente de la región vecina por encima y la región vecina a la izquierda, y tratar el vector de movimiento de la partición BE como otro candidato a predictor de vector de movimiento.
El ejemplo anterior emplea tanto la identificación de la lista de imágenes de referencia como la identificación de imágenes de referencia, como condición de determinación para seleccionar el vector de movimiento de la partición en la región vecina como candidato a predictor de vector de movimiento, pero otras soluciones que no forman parte de la invención son posibles. Por ejemplo, puede usarse cualquiera entre la identificación de lista de imágenes de referencia o la identificación de imágenes de referencia para la condición de determinación. Cuando no se usa la identificación de imágenes de referencia, puede implementarse el ajuste a escala de vectores de movimiento de particiones en la región vecina según la distancia entre la trama de referencia y la trama de destino. También es posible usar información de otra predicción intra-tramas. Específicamente, el tamaño de la partición de destino y los tamaños de las particiones vecinas pueden sumarse como uno en la condición de determinación mencionada antes. Específicamente, cuando el tamaño de la partición de destino es de NxN píxeles, una condición de determinación puede ser que el tamaño de una partición en la región vecina sea de NxN píxeles, o una condición de determinación puede ser que el tamaño de una partición esté entre N/2xN/2 píxeles y 2Nx2N píxeles.
En el ejemplo anterior, se realiza el cálculo del candidato a predictor de vector de movimiento PMV2 en la región vecina por encima después del cálculo del candidato a predictor de vector de movimiento PMV1 en la región vecina a la izquierda, pero la presente invención no se limita a esto. El candidato a predictor de vector de movimiento PMV2 en la región vecina por encima puede determinarse antes de la determinación del candidato a predictor de vector de movimiento PMV1 en la región vecina a la izquierda. En este caso, un procedimiento de determinación de si un vector de movimiento de una partición en la región vecina a la izquierda es idéntico al candidato a predictor de vector de movimiento PMV2 en la región vecina por encima puede llevarse a cabo en el proceso de determinación del candidato a predictor de vector de movimiento PMV1 en la región vecina a la izquierda.
En el ejemplo anterior se determina, en la etapa S605, si el vector de movimiento de la j-ésima partición en la región vecina por encima es idéntico al candidato a predictor de vector de movimiento PMV1 en la región vecina a la izquierda, pero puede omitirse esta determinación. En este caso, el proceso de la etapa S606 puede realizarse directamente cuando se satisface la condición de determinación en la etapa S604.
La etapa S602 puede configurarse para aumentar el índice j en un incremento de dos o más, diezmando de ese modo las particiones que han de explorarse.
Lo siguiente describirá un dispositivo de descodificación de vídeo que descodifica un flujo comprimido generado por el dispositivo de codificación de vídeo 20, para restaurar una secuencia de vídeo. La figura 7 es un dibujo que muestra una configuración del dispositivo de descodificación de vídeo que no forma parte de la presente invención, aunque sí puede realizar la presente invención. El dispositivo de descodificación de vídeo 30 mostrado en la figura 7 es un ejemplo de un dispositivo que descodifica de manera predictiva un vector de movimiento según la presente invención.
Tal como se muestra en la figura 7, el dispositivo de descodificación de vídeo 30 puede estar dotado de una unidad de descodificación por entropía 301, una unidad de determinación de candidatos a predictor de vector de movimiento 302, una unidad de determinación de predictores de vector de movimiento 303, una unidad de adición de vectores de movimiento 304, una unidad de compensación de movimiento 305, una memoria de tramas 306, una unidad de predicción espacial 307, una unidad de determinación de procedimiento de predicción 308, una unidad de cuantización inversa 309, una unidad de transformación ortogonal inversa 310 y una unidad de adición 311.
La unidad de descodificación por entropía 301 recibe un flujo comprimido, luego detecta una palabra de sincronización indicativa del comienzo de cada trama en el flujo comprimido, y después de eso restaura la información de modalidad de predicción y los coeficientes de transformación ortogonales cuantizados a partir de datos codificados en el flujo comprimido, en cada una de las unidades de partición divididas. Cuando la modalidad de predicción especificada por la información de modalidad de predicción es la “modalidad de predicción inter-tramas”, la unidad de descodificación por entropía 301 descodifica los datos codificados en el flujo comprimido para restaurar también la diferencia de vectores de movimiento, la identificación de la lista de imágenes de referencia y la identificación de imágenes de referencia.
La unidad de descodificación por entropía 301 transmite los coeficientes de transformación ortogonales cuantizados y restaurados, a través de la línea L301a, a la unidad de cuantización inversa 309. La unidad de descodificación por entropía 301 transmite la información de modalidad de predicción, la identificación de la lista de imágenes de referencia y la identificación de imágenes de referencia, a través de la línea L301b, a la unidad de determinación de candidatos a predictor de vector de movimiento 302. Además, la unidad de descodificación por entropía 301 transmite la diferencia de vectores de movimiento restaurada, a través de la línea L301d, a la unidad de adición de vectores de movimiento 304. La unidad de descodificación por entropía 301 transmite la información de modalidad de predicción restaurada, a través de la línea L301e, a la unidad de determinación de procedimiento de predicción 308.
Cuando la modalidad de predicción especificada por la información de modalidad de predicción recibida es la “modalidad de predicción inter-tramas”, la unidad de determinación de candidatos a predictor de vector de movimiento 302 determina candidatos a predictor de vector de movimiento a partir de vectores de movimiento de particiones vecinas descodificadas anteriormente. Puesto que el procesamiento sobre la determinación de candidatos a predictor de vector de movimiento llevado a cabo por la unidad de determinación de candidatos a predictor de vector de movimiento 302 es el mismo que el procesamiento descrito anteriormente en cuanto a la unidad de determinación de candidatos a predictor de vector de movimiento 203, se omite la descripción del mismo en el presente documento. Esta unidad de determinación de candidatos a predictor de vector de movimiento 302 emite los candidatos a predictor de vector de movimiento determinados, a través de la línea L302b, a la unidad de determinación de predictores de vector de movimiento 303. Además, la unidad de determinación de candidatos a predictor de vector de movimiento 302 emite el número de candidatos a predictor de vector de movimiento, a través de la línea L302a, a la unidad de descodificación por entropía 301.
La unidad de descodificación por entropía 301, cuando recibe el número de candidatos a predictor de vector de movimiento a través de la línea L302a, descodifica los datos codificados en el flujo comprimido según el número de candidatos a predictor de vector de movimiento, para restaurar la información de indicación de predictor de vector de movimiento. La unidad de descodificación por entropía 301 transmite la información de indicación de predictor de vector de movimiento restaurada a la unidad de determinación de predictores de vector de movimiento 303. Más específicamente, cuando el número de candidatos a predictor de vector de movimiento es de 0 o 1, no se trasmite ninguna información de indicación de predictor de vector de movimiento y, por tanto, no se lleva a cabo el proceso de restauración. Cuando el número de candidatos a predictor de vector de movimiento es de 2 o 3, los datos codificados de dos bits como máximo se descodifican por entropía para restaurar la información de indicación de predictor de vector de movimiento.
La unidad de descodificación por entropía 301 se configura para restaurar la información de indicación de predictor de vector de movimiento mediante la descodificación de los datos codificados según el número de candidatos a predictor de vector de movimiento, seleccionados por la unidad de determinación de candidatos a predictor de vector de movimiento 302, pero la presente invención no se limita a esto. Por ejemplo, la información de indicación de predictor de vector de movimiento puede restaurarse usando la tabla de codificación fija de la Tabla 1 descrita anteriormente, de manera independiente del número de candidatos a predictor de vector de movimiento. Debería observarse que el establecimiento de la tabla de codificación fija no se limita a este ejemplo. La información de indicación de predictor de vector de movimiento puede restaurarse antes del cálculo de candidatos a predictor de vector de movimiento.
La unidad de determinación de predictores de vector de movimiento 303 determina el predictor de vector de movimiento óptimo PMVopt basándose en la información de indicación de predictor de vector de movimiento introducida a través de la línea L301c, entre los candidatos a predictor de vector de movimiento introducidos a través de la línea L302b. El predictor de vector de movimiento óptimo determinado PMVopt se transmite a través de la línea L303 a la unidad de adición de vectores de movimiento 304.
La unidad de adición de vectores de movimiento 304 realiza la adición de la diferencia de vectores de movimiento transmitida desde la unidad de descodificación por entropía 301 y del predictor de vector de movimiento óptimo PMVopt, transmitido desde la unidad de determinación de predictores de vector de movimiento 303, para restaurar el vector de movimiento. La unidad de adición de vectores de movimiento 304 transmite una señal que incluye el vector de movimiento restaurado, a través de la línea L304, a la unidad de compensación de movimiento 305.
La unidad de compensación de movimiento 305 selecciona la señal de imagen de trama de referencia en la memoria 306 basándose en el vector de movimiento transmitido desde la unidad de adición de vectores de movimiento 304 y la información de modalidad de predicción, la identificación de la lista de imágenes de referencia y la identificación de imágenes de referencia, transmitidas a través de la línea L301d, desde la unidad de descodificación por entropía 301, y genera una señal de imagen predicha, usando la señal de imagen de trama de referencia seleccionada. La unidad de compensación de movimiento 305 transmite la señal de imagen predicha, a través de la línea L305a, a la unidad de determinación de procedimiento de predicción 308. Además, la unidad de compensación de movimiento 305 emite la información de modalidad de predicción, la identificación de la lista de imágenes de referencia y la identificación de imágenes de referencia, usadas en la generación de la señal de imagen predicha, a través de la línea L305b, a la memoria de tramas 306. Existen señales de imagen de trama descodificadas anteriormente, información de modalidad de predicción, identificaciones de listas de imágenes de referencia e identificaciones de imágenes de referencia almacenadas en la memoria 306.
Cuando la modalidad de predicción especificada por la información de modalidad de predicción, introducida a través de la línea L301e, es la “modalidad de predicción intra-tramas”, la unidad de predicción espacial 307 genera una señal de imagen predicha con referencia a las señales de imagen (señales de imagen de trama de referencia) de particiones vecinas descodificadas anteriormente y transmite la señal de imagen predicha a la unidad de determinación de procedimiento de predicción 308.
La unidad de determinación de procedimiento de predicción 308 selecciona cualquiera entre la señal de imagen predicha generada por la predicción inter-tramas o la señal de imagen predicha generada por la predicción intratramas, basándose en la modalidad de predicción transmitida desde la unidad de descodificación por entropía 301 y transmite la señal de imagen predicha seleccionada, a través de la línea L308, a la unidad de adición 311.
La unidad de cuantización inversa 309 realiza la cuantización inversa de los coeficientes de transformación ortogonales cuantizados, transmitidos desde la unidad de descodificación por entropía 301, para restaurar los coeficientes de transformación ortogonales. La unidad de cuantización inversa 309 transmite los coeficientes de transformación ortogonales restaurados, a través de la línea L309, a la unidad de transformación ortogonal inversa 310.
La unidad de transformación ortogonal inversa 310 aplica una transformación ortogonal inversa a los coeficientes de transformación ortogonales recibidos para restaurar una señal residual de predicción. La unidad de transformación ortogonal inversa 310 transmite la señal residual de predicción restaurada, a través de la línea L310, a la unidad de adición 311.
La unidad de adición 311 realiza la adición de la señal de imagen predicha, transmitida desde la unidad de determinación de procedimiento de predicción 308, y la señal residual de predicción, transmitida desde la unidad de transformación ortogonal inversa 310, para restaurar una señal de imagen de trama.
La señal de imagen de trama restaurada se emite, con una temporización de exhibición predeterminada, a un dispositivo de visualización (no mostrado), mediante lo cual puede reproducirse la señal de vídeo de entrada (señal de imagen dinámica). Puesto que se usa la señal de imagen de trama en el proceso de descodificación posterior, se almacena como una señal de imagen de trama de referencia en la memoria 306. La señal de imagen de trama en el presente documento puede ser del mismo valor que la señal de imagen de trama con el mismo número en el dispositivo de codificación de vídeo 20. La información sobre el vector de movimiento y el número de trama de referencia también se almacena simultáneamente en asociación con la señal de imagen de trama de referencia.
A continuación, se describirá un ejemplo de un procedimiento de descodificación predictiva de vectores de movimiento, usado en el dispositivo 30 de descodificación de vídeo, en lo que sigue, con referencia a la figura 8. La figura 8 es un diagrama de flujo que muestra un ejemplo del procedimiento de descodificación predictiva de vectores de movimiento. La Figura 8 proporciona una base de la presente invención.
En el procedimiento de descodificación predictiva de predictores de vectores de movimiento, según el ejemplo, tal como se muestra en la figura 8, la identificación de la lista de imágenes de referencia y la identificación de imágenes de referencia se introducen en primer lugar en la unidad de determinación de candidatos a predictor de vector de movimiento 302 (etapa S801).
A continuación, la unidad de determinación de candidatos a predictor de vector de movimiento 302 determina un candidato a predictor de vector de movimiento, PMV1, a partir de un vector de movimiento, o vectores de movimiento, de una o más particiones incluidas en una región vecina a la izquierda, ubicada a la izquierda de una partición BT de destino (etapa S302).
A continuación, la unidad de determinación de candidatos a predictor de vector de movimiento 302 determina un candidato a predictor de vector de movimiento, PMV2, a partir de un vector de movimiento, o vectores de movimiento, de una o más particiones incluidas en la región vecina por encima, ubicada por encima de la partición BT de destino (etapa S303).
A continuación, la unidad de determinación de candidatos a predictor de vector de movimiento 302 determina un candidato a predictor de vector de movimiento PMV3 (etapa S304). Los procesos de las etapas S302 a S304 en la figura 8 son los mismos que los procesos de las etapas S302 a S304 en la figura 3.
En la etapa S805, entonces la unidad de determinación de candidatos a predictor de vector de movimiento 302 define como candidatos a predictor de vector de movimiento sólo candidatos a predictor de vector de movimiento no idénticos, entre el candidato a predictor de vector de movimiento PMV1, el candidato a predictor de vector de movimiento PMV2 y el candidato a predictor de vector de movimiento PMV3. Como ejemplo específico, cuando el candidato a predictor de vector de movimiento PMV1 es idéntico al candidato a predictor de vector de movimiento PMV3, sólo se seleccionan el candidato a predictor de vector de movimiento PMV1 y el candidato a predictor de vector de movimiento PMV2 como candidatos a predictor de vector de movimiento. Cuando el procesamiento hasta la etapa S805 da como resultado que no se determina ningún candidato efectivo a predictor de vector de movimiento, se define un vector de movimiento cero como candidato a predictor de vector de movimiento.
En la etapa S806, tal como se ha descrito anteriormente, la unidad de descodificación 301 restaura la información de indicación de predictor de vector de movimiento basándose en el número de candidatos a predictor de vector de movimiento. A continuación, en la etapa S807, la unidad de determinación de predictores de vector de movimiento 303 selecciona el predictor de vector de movimiento óptimo entre los candidatos a predictor de vector de movimiento, basándose en la información de indicación de predictor de vector de movimiento.
A continuación, se describirá un segundo ejemplo del procedimiento de codificación predictiva de vectores de movimiento en lo que sigue. La figura 9 es un diagrama de flujo que muestra el proceso de determinación de candidatos a predictor de vector de movimiento en el procedimiento de codificación predictiva de vectores de movimiento en el segundo ejemplo, en la que la figura 9 no es, como tal (procedimiento de codificación), según la presente invención, aunque sí es útil para entender la presente invención. En el procedimiento de codificación predictiva de vectores de movimiento según el segundo ejemplo, se usa el flujo mostrado en la figura 9 en vez de las etapas S302 a S304 en la figura 3.
En el presente ejemplo, en la etapa S901, la unidad de determinación de candidatos a predictor de vector de movimiento 203 explora en primer lugar las particiones en la región vecina a la izquierda ubicada a la izquierda de la partición de destino en un sentido descendente, para determinar un candidato a predictor de vector de movimiento PMVa a partir de los vectores de movimiento de estas particiones. En la etapa S901, la unidad de determinación de candidatos a predictor de vector de movimiento 203 puede detectar el candidato a predictor de vector de movimiento PMVa llevando a cabo el procedimiento de determinación del candidato a predictor de vector de movimiento PMV1 (etapa S302) descrito en el primer ejemplo, según el orden de exploración de la región vecina a la izquierda mostrada en (c) de la figura 4. Para determinar el candidato a predictor de vector de movimiento PMVa, la unidad de determinación de candidatos a predictor de vector de movimiento 203 puede usar la identificación de la lista de imágenes de referencia y la identificación de imágenes de referencia introducidas, como en el primer ejemplo.
A continuación, en la etapa S902, la unidad de determinación de candidatos a predictor de vector de movimiento 203 explora las particiones en una región vecina a la izquierda ubicada a la izquierda de la partición de destino en un sentido ascendente para determinar un candidato a predictor de vector de movimiento PMVb a partir de los vectores de movimiento de estas particiones. En la etapa S902, la unidad de determinación de candidatos a predictor de vector de movimiento 203 puede detectar el candidato a predictor de vector de movimiento PMVb llevando a cabo el procedimiento de determinación del candidato a predictor de vector de movimiento PMV1 (etapa S302), descrito en el primer ejemplo, según el orden de exploración de la región vecina a la izquierda mostrada en (a) de la figura 4. Para determinar el candidato a predictor de vector de movimiento PMVb, la unidad de determinación de candidatos a predictor de vector de movimiento 203 puede usar la identificación de la lista de imágenes de referencia y la identificación de imágenes de referencia.
A continuación, en la etapa S903 la unidad de determinación de candidatos a predictor de vector de movimiento 203 selecciona un candidato a predictor de vector de movimiento PMVX en la región vecina a la izquierda del candidato a predictor de vector de movimiento PMVa y del candidato a predictor de vector de movimiento PMVb. Además, la unidad de determinación de candidatos a predictor de vector de movimiento 203 genera información de indicación de dirección de exploración, indicativa de la dirección de exploración X usada para la determinación del candidato a predictor de vector de movimiento seleccionado. Específicamente, la unidad de determinación de candidatos a predictor de vector de movimiento 203 determina, como candidato a predictor de vector de movimiento PMVX, un candidato a predictor de vector de movimiento con el mínimo error con respecto al predictor de vector de movimiento de la partición de destino, entre el candidato a predictor de vector de movimiento PMVa y el candidato a predictor de vector de movimiento PMVb. Además, cuando se selecciona el candidato a predictor de vector de movimiento PMVa como candidato a predictor de vector de movimiento PMVX, la unidad de determinación de candidatos a predictor de vector de movimiento 203 genera la información de indicación de dirección de exploración, indicativa del sentido descendente, mientras que cuando se selecciona el candidato a predictor de vector de movimiento PMVb, genera la información de indicación de dirección de exploración indicativa del sentido ascendente.
A continuación, en la etapa S904, la unidad de determinación de candidatos a predictor de vector de movimiento 203 explora las particiones en la región vecina por encima de la partición de destino, en un sentido hacia la derecha para determinar un candidato a predictor de vector de movimiento PMVc, a partir de los vectores de movimiento de estas particiones. En la etapa<s>904, la unidad de determinación de candidatos a predictor de vector de movimiento 203 puede detectar el candidato a predictor de vector de movimiento PMVc llevando a cabo el procedimiento de determinación del candidato a predictor de vector de movimiento PMV2 (etapa S303) descrito en el primer ejemplo, según el orden de exploración de la región vecina por encima, mostrada en (c) de la figura 4. Para determinar el candidato a predictor de vector de movimiento PMVc, la unidad de determinación de candidatos a predictor de vector de movimiento 203 puede usar la identificación de la lista de imágenes de referencia y la identificación de imágenes de referencia introducidas, como en el primer ejemplo.
A continuación, en la etapa S905, la unidad de determinación de candidatos a predictor de vector de movimiento 203 explora las particiones en la región vecina por encima de la partición de destino en un sentido hacia la izquierda para determinar un candidato a predictor de vector de movimiento PMVd a partir de vectores de movimiento de estas particiones. En la etapa S905, la unidad de determinación de candidatos a predictor de vector de movimiento 203 puede detectar el candidato a predictor de vector de movimiento PMVd llevando a cabo el procedimiento de determinación (etapa S303) del candidato a predictor de vector de movimiento PMV2 descrito en el primer ejemplo, según el orden de exploración de la región vecina por encima, mostrada en (a) de la figura 4. Para determinar el candidato a predictor de vector de movimiento PMVd, la unidad de determinación de candidatos a predictor de vector de movimiento 203 también puede usar la identificación de la lista de imágenes de referencia y la identificación de imágenes de referencia.
A continuación, en la etapa S906, la unidad de determinación de candidatos a predictor de vector de movimiento 203 selecciona un candidato a predictor de vector de movimiento PMVY en la región vecina por encima del candidato a predictor de vector de movimiento PMVc y del candidato a predictor de vector de movimiento PMVd. La unidad de determinación de candidatos a predictor de vector de movimiento 203 genera la información de indicación de dirección de exploración, indicativa de la dirección de exploración Y usada para la determinación del candidato a predictor de vector de movimiento seleccionado. Específicamente, la unidad de determinación de candidatos a predictor de vector de movimiento 203 determina un candidato a predictor de vector de movimiento con el mínimo error con respecto al predictor de vector de movimiento de la partición de destino, entre el candidato a predictor de vector de movimiento PMVc y el candidato a predictor de vector de movimiento PMVd, como candidato a predictor de vector de movimiento PMVY. Cuando se selecciona el candidato a predictor de vector de movimiento PMVc como candidato a predictor de vector de movimiento PMVY, la unidad de determinación de candidatos a predictor de vector de movimiento 203 genera la información de indicación de dirección de exploración, indicativa del sentido hacia la derecha; cuando se selecciona el candidato a predictor de vector de movimiento PMVd, genera la información de indicación de dirección de exploración, indicativa del sentido hacia la izquierda.
A continuación, en la etapa S907, la unidad de determinación de candidatos a predictor de vector de movimiento 203 adquiere un candidato a predictor de vector de movimiento PMVZ de una partición en una trama de referencia en una posición espacialmente idéntica a la partición de destino, de la misma manera que el proceso de la etapa S304. El proceso en esta etapa S907 puede el mismo que la forma de modificación mencionada anteriormente del proceso de la etapa S304 en el primer ejemplo.
A continuación, en la etapa S908, la unidad de determinación de candidatos a predictor de vector de movimiento 203 sólo define candidatos a predictor de vector de movimiento no idénticos entre el candidato a predictor de vector de movimiento PMVX, el candidato a predictor de vector de movimiento PMVY y el candidato a predictor de vector de movimiento PMVZ, como candidatos a predictor de vector de movimiento. Entonces, la unidad de determinación de candidatos a predictor de vector de movimiento 203 emite los candidatos a predictor de vector de movimiento, el número de candidatos a predictor de vector de movimiento y la información de indicación de dirección de exploración. Como ejemplo específico, cuando el candidato a predictor de vector de movimiento PMVX es idéntico al candidato a predictor de vector de movimiento PMVZ, sólo se seleccionan el candidato a predictor de vector de movimiento PMVX y el candidato a predictor de vector de movimiento PMVY como candidatos a predictor de vector de movimiento. Si no se determina un candidato a predictor de vector de movimiento efectivo en las etapas S901 a S907, se define un vector de movimiento cero como candidato a predictor de vector de movimiento.
Después de eso, el mismo procesamiento que en la etapa S306 en el primer ejemplo se lleva a cabo en el segundo ejemplo. Finalmente, en la etapa S307 la unidad de codificación 213 codifica la información de indicación de predictor de vector de movimiento para especificar qué candidato a predictor de vector de movimiento es el predictor de vector de movimiento óptimo. En el segundo ejemplo, la unidad de codificación 213 también codifica la información de indicación de dirección de exploración en la etapa S307.
En el segundo ejemplo, las particiones que constituyen la región vecina a la izquierda y las particiones que constituyen la región vecina por encima pueden modificarse tal como se ha descrito anteriormente en el primer ejemplo. El número de predictores de vector de movimiento también puede cambiarse tal como se ha descrito anteriormente en el primer ejemplo. Tal como se ha descrito anteriormente en el primer ejemplo, el orden de determinación de los candidatos a predictor de vector de movimiento PMVX, PMVY y PMV<z>puede cambiarse basándose en la modalidad de división de la partición de destino en sub-particiones y las posiciones de las sub-particiones.
Se describirá en lo que sigue un procedimiento de descodificación predictiva de vectores de movimiento según el segundo ejemplo, que no hace uso necesariamente de la presente invención, pero sí es útil para entender la presente invención. La figura 10 es un diagrama de flujo que muestra el procedimiento de descodificación predictiva de vectores de movimiento según el segundo ejemplo. El procedimiento de descodificación predictiva mostrado en la figura 10 es un procedimiento de predicción de un vector de movimiento a partir de datos codificados generados por el procedimiento de codificación predictiva de vectores de movimiento según el segundo ejemplo.
En el presente ejemplo, tal como se muestra en la figura 10, en la etapa S1001 la unidad de determinación de candidatos a predictor de vector de movimiento 302 recibe en primer lugar la introducción de la identificación de la lista de imágenes de referencia, la identificación de imágenes de referencia e información de indicación de dirección de exploración, restauradas (dirección de exploración X, dirección de exploración Y).
A continuación, en la etapa S1002, la unidad de determinación de candidatos a predictor de vector de movimiento 302 determina un candidato a predictor de vector de movimiento PMVX en la región vecina a la izquierda, según la identificación de la lista de imágenes de referencia, la identificación de imágenes de referencia y la información de indicación de dirección de exploración para especificar la dirección de exploración X. El candidato a predictor de vector de movimiento PMVX se determina mediante el mismo proceso que la determinación del candidato a predictor de vector de movimiento PMV1 en el primer ejemplo, mediante exploración secuencial de las particiones en la región vecina a la izquierda en la dirección de exploración X especificada por la información de indicación de dirección de exploración.
A continuación, en la etapa S1003, la unidad de determinación de candidatos a predictor de vector de movimiento 302 determina un candidato a predictor de vector de movimiento PMVY en la región vecina por encima, según la identificación de la lista de imágenes de referencia, la identificación de imágenes de referencia y la información de indicación de dirección de exploración para especificar la dirección de exploración Y. El candidato a predictor de vector de movimiento PMVY se determina mediante el mismo proceso que la determinación del candidato a predictor de vector de movimiento PMV2 en el primer ejemplo, mediante exploración secuencial de las particiones en la región vecina por encima en la dirección de exploración Y especificada por la información de indicación de dirección de exploración.
A continuación, en la etapa S1004, la unidad de determinación de candidatos a predictor de vector de movimiento 302 determina un candidato a predictor de vector de movimiento PMVZ de una partición en una trama de referencia espacialmente idéntica a la partición de destino. El proceso de la etapa S1004 es el mismo que el proceso de la etapa 304.
A continuación, en la etapa S1005, la unidad de determinación de candidatos a predictor de vector de movimiento 302 sólo define candidatos a predictor de vector de movimiento no idénticos, entre el candidato a predictor de vector de movimiento PMVX, el candidato a predictor de vector de movimiento PMVY y el candidato a predictor de vector de movimiento PMVZ, como candidatos a predictor de vector de movimiento. Como ejemplo específico, cuando el candidato a predictor de vector de movimiento PMVX es idéntico al candidato a predictor de vector de movimiento PMVZ, sólo se seleccionan el candidato a predictor de vector de movimiento PMVX y el candidato a predictor de vector de movimiento PMVY como candidatos a predictor de vector de movimiento. Si se determina ningún candidato a predictor de vector de movimiento efectivo mediante el procesamiento hasta la etapa S1005, se define un vector de movimiento cero como candidato a predictor de vector de movimiento.
A continuación, en la etapa S1006, la unidad de descodificación 301 restaura la información de indicación de predictor de vector de movimiento basándose en el número de candidatos a predictor de vector de movimiento. En la etapa S1007, entonces la unidad de determinación de predictores de vector de movimiento 303 selecciona el predictor de vector de movimiento óptimo de entre los candidatos a predictor de vector de movimiento, basándose en la información de indicación de predictor de vector de movimiento.
En el segundo ejemplo, el orden de determinación de los candidatos a predictor de vector de movimiento PMVX, PMVY y PMVZ también puede cambiarse basándose en la modalidad de división de la partición de destino en sub-particiones y las posiciones de las sub-particiones, tal como se ha descrito anteriormente en el primer ejemplo.
El dispositivo de codificación de vídeo 20 y el dispositivo de descodificación de vídeo 30, descritos anteriormente, se configuran para limitar los candidatos para un predictor de vector de movimiento y luego detectan el predictor de vector de movimiento óptimo entre los candidatos resultantes a predictor de vector de movimiento. Por tanto, es posible reducir la complejidad de cálculo necesaria para la determinación del predictor de vector de movimiento óptimo. Además, la información de indicación de predictor de vector de movimiento para especificar el predictor de vector de movimiento óptimo puede codificarse en un menor recuento de bits.
El dispositivo de codificación de vídeo 20 y el dispositivo de descodificación de vídeo 30 que usan la codificación predictiva y descodificación predictiva del segundo ejemplo pueden determinar los candidatos a predictor de vector de movimiento con un menor error con respecto al vector de movimiento de la partición de destino.
Lo siguiente describirá un programa de codificación de vídeo 1000 para hacer que un ordenador funcione como el dispositivo de codificación de vídeo 20, y un programa de descodificación de vídeo 1100 para hacer que un ordenador funcione como el dispositivo de descodificación de vídeo 30 mencionado anteriormente. Ambos programas mencionados anteriormente no forman parte de la presente invención, aunque sí son útiles para entender la presente invención.
La figura 11 es un dibujo que muestra una configuración del programa de codificación de vídeo que no forma parte de la presente invención. La figura 12 es un dibujo que muestra una configuración del programa de descodificación de vídeo que no forma parte de la presente invención. La figura 13 es un dibujo que muestra una configuración de hardware de un ordenador que no forma parte de la presente invención. La figura 14 es una vista en perspectiva que muestra un ordenador que no forma parte de la presente invención.
El programa de codificación de vídeo 1000 mostrado en la figura 11 puede proporcionarse almacenado en un medio SM de grabación. Además, el programa de descodificación de vídeo 1100 mostrado en la figura 12 también puede proporcionarse almacenado en un medio SM de grabación. Los ejemplos de tales medios SM de grabación aplicables en el presente documento incluyen medios de grabación tales como el disco flexible, el CD-ROM, el DVD o la ROM, memorias de semiconductor o similares.
Tal como se muestra en la figura 13, un ordenador C10 puede estar dotado de un dispositivo de lectura C12, tal como una unidad de disco flexible, una unidad de CD-ROM o una unidad de DVD, una memoria de trabajo (RAM) C14 en la que reside un sistema operativo, una memoria C16 que almacena un programa almacenado en un medio SM de grabación, una unidad de monitor C18 tal como una pantalla, un ratón C20 y un teclado C22 como dispositivos de entrada, un dispositivo de comunicación C24 para la transmisión y recepción de datos y otros, y una CPU C26 para controlar la ejecución del programa.
Cuando se pone el medio SM de grabación en el dispositivo de lectura C12, el ordenador C10 se vuelve accesible para el programa de codificación de vídeo 1000 almacenado en el medio SM de grabación, mediante el dispositivo de lectura C12, y puede funcionar como el dispositivo de codificación de vídeo 20, basándose en el programa 1000.
Cuando se pone el medio SM de grabación en el dispositivo de lectura C12, el ordenador C10 se vuelve accesible para el programa de descodificación de vídeo 1100 almacenado en el medio SM de grabación, mediante el dispositivo de lectura C12, y puede funcionar como el dispositivo de descodificación de vídeo 30, basándose en el programa 1100.
Tal como se muestra en la figura 11, el programa de codificación de vídeo 1000 está dotado de un módulo principal 1001 para controlar generalmente el procesamiento, un módulo de entrada 1002, un módulo de detección de movimiento 1003, un módulo de determinación de candidatos a predictor de vector de movimiento 1004, un módulo de determinación de predictor de vector de movimiento 1005, un módulo de diferencia de vectores de movimiento 1006, un módulo de compensación de movimiento 1007, un módulo de predicción espacial 1008, un módulo de determinación de procedimiento de predicción 1009, un módulo de resta 1010, un módulo de transformación ortogonal 1011, un módulo de cuantización 1012, un módulo de codificación por entropía 1013, un módulo de cuantización inversa 1014, un módulo de transformación ortogonal inversa 1015 y un módulo de adición 1016. Las funciones que el módulo de entrada 1002, el módulo de detección de movimiento 1003, el módulo de determinación de candidatos a predictor de vector de movimiento 1004, el módulo de determinación de predictor de vector de movimiento 1005, el módulo de diferencia de vectores de movimiento 1006, el módulo de compensación de movimiento 1007, el módulo de predicción espacial 1008, el módulo de determinación de procedimiento de predicción 1009, el módulo de resta 1010, el módulo de transformación ortogonal 1011, el módulo de cuantización 1012, el módulo de codificación por entropía 1013, el módulo de cuantización inversa 1014, el módulo de transformación ortogonal inversa 1015 y el módulo de adición 1016 hacen que implemente un ordenador son las mismas que las funciones de la unidad de entrada 201, la unidad de detección de movimiento 202, la unidad de determinación de candidatos a predictor de vector de movimiento 203, la unidad de determinación de predictores de vector de movimiento 204, la unidad de diferencia de vectores de movimiento 205, la unidad de compensación de movimiento 206, la unidad de predicción espacial 208, la unidad de determinación de procedimiento de predicción 209, la unidad de resta 210, la unidad de transformación 211 ortogonal, la unidad de cuantización 212, la unidad de codificación por entropía 213, la unidad de cuantización inversa 214, la unidad de transformación ortogonal inversa 215 y la unidad de adición 216 mencionadas antes, respectivamente.
Tal como se muestra en la figura 12, el programa de descodificación de vídeo 1100 está dotado de un módulo principal 1101 para controlar generalmente el procesamiento, un módulo de descodificación por entropía 1102, un módulo de determinación de candidatos a predictor de vector de movimiento 1103, un módulo de determinación de predictor de vector de movimiento 1104, un módulo de adición de vectores de movimiento 1105, un módulo de compensación de movimiento 1106, un módulo de predicción espacial 1107, un módulo de determinación de procedimiento de predicción 1108, un módulo de cuantización inversa 1109, un módulo de transformación ortogonal inversa 1110 y un módulo de adición 1111. Las funciones que el módulo de descodificación por entropía 1102, el módulo de determinación de candidatos a predictor de vector de movimiento 1103, el módulo de determinación de predictor de vector de movimiento 1104, el módulo de adición de vectores de movimiento 1105, el módulo de compensación de movimiento 1106, el módulo de predicción espacial 1107, el módulo de determinación de procedimiento de predicción 1108, el módulo de cuantización inversa 1109, el módulo de transformación ortogonal inversa 1110 y el módulo de adición 1111 hacen que implemente un ordenador son las mismas que las funciones de la unidad de descodificación por entropía 301, la unidad de determinación de candidatos a predictor de vector de movimiento 302, la unidad de determinación de predictores de vector de movimiento 303, la unidad de adición de vectores de movimiento 304, la unidad de compensación de movimiento 305, la unidad de predicción espacial 307, la unidad 308 de determinación de procedimiento de predicción, la unidad de cuantización inversa 309, la unidad de transformación ortogonal inversa 310 y la unidad de adición 311 mencionadas antes, respectivamente.
Lo anterior describe diversos ejemplos, pero la presente invención puede modificarse de muchas maneras sin limitarse a los ejemplos anteriores. Por ejemplo, en los ejemplos anteriores los datos codificados de la diferencia de vectores de movimiento, que es la diferencia entre el vector de movimiento de la partición de destino y el predictor de vector de movimiento (predictor de vector de movimiento óptimo), se transmite desde el dispositivo de codificación al dispositivo de descodificación, pero el predictor de vector de movimiento óptimo puede adoptarse como vector de movimiento de la partición de destino, sin transmitir los datos codificados de la diferencia de vectores de movimiento desde el dispositivo de codificación al dispositivo de descodificación.
El candidato a predictor de vector de movimiento PMVX puede determinarse tal como sigue: se crean señales de imagen predichas usando los candidatos a predictor de vector de movimiento PMVa y PMVb y el candidato a predictor de vector de movimiento PMVX que va a adoptarse es un candidato a predictor de vector de movimiento para hacer que sea menor la suma de diferencias absolutas (SAD) entre la señal de imagen predicha y la señal de imagen de la partición de destino, entre los candidatos a predictor de vector de movimiento PMVa y PMVb. El candidato a predictor de vector de movimiento PMVY puede determinarse tal como sigue: se crean señales de imagen predichas usando los candidatos a predictor de vector de movimiento PMVc y PMVd y el candidato a predictor de vector de movimiento PMVY que va a adoptarse es un candidato a predictor de vector de movimiento para hacer que sea menor la suma de diferencias absolutas (SAD) entre la señal de imagen predicha y la señal de imagen de la partición de destino, entre los candidatos a predictor de vector de movimiento PMVc y PMCd. Además, puede usarse la suma de diferencias transformadas absolutas (SATD) o la suma de diferencias al cuadrado (SSD), en vez de la SAD.
Lista de símbolos de referencia
20 dispositivo de codificación de vídeo; 30 dispositivo de descodificación de vídeo; 201 unidad de entrada; 202 unidad de detección; 203 unidad de determinación de candidatos a predictor de vector de movimiento; 204 unidad de determinación de predictores de vector de movimiento; 205 unidad de diferencia de vectores de movimiento; 206 unidad de compensación de movimiento; 207 memoria; 208 unidad de predicción espacial; 209 unidad de determinación de procedimiento de predicción; 210 unidad de resta; 211 unidad de transformación; 212 unidad de cuantización; 213 unidad de codificación por entropía; 214 unidad de cuantización inversa; 215 unidad de transformación inversa; 216 unidad de adición; 301 unidad de descodificación por entropía; 302 unidad de determinación de candidatos a predictor de vector de movimiento; 303 unidad de determinación de predictores de vector de movimiento; 304 unidad de adición de vectores de movimiento; 305 unidad de compensación de movimiento; 306 memoria de tramas; 307 unidad de predicción espacial; 308 unidad de determinación de procedimiento de predicción; 309 unidad de cuantización inversa; 310 unidad de transformación ortogonal inversa; 311 unidad de adición.
Claims (3)
1. Un procedimiento para descodificar de manera predictiva un vector de movimiento usado en la predicción con compensación de movimiento para restaurar una secuencia de vídeo que consiste en una secuencia temporal de una pluralidad de imágenes de trama, que comprende:
una etapa (S302) de determinación de un primer candidato a predictor de vector de movimiento (PMV1) que satisface un criterio predeterminado usado en la determinación de candidatos a predictor de vector de movimiento, a partir de vectores de movimiento de particiones (BD, BL2, BL1, BL) pertenecientes a una región vecina a la izquierda ubicada en un lado izquierda de una partición (BT) de destino en una imagen de trama de un objetivo de descodificación;
una etapa (S303) de determinación de un segundo candidato a predictor de vector de movimiento (PMV2) que satisface un criterio predeterminado usado en la determinación de candidatos a predictor de vector de movimiento, a partir de particiones vectores de movimiento de particiones (BPA, BA2, BA1, BA, BE) pertenecientes a una región vecina por encima ubicada por encima de la partición (BT) de destino;
una etapa (S806) de descodificación de datos codificados para restaurar información de indicación de predictor de vector de movimiento que especifica un predictor de vector de movimiento de la partición (BT) de destino; y
una etapa de selección de un predictor de vector de movimiento especificado por la información de indicación de predictor de vector de movimiento, entre candidatos a predictor de vector de movimiento, incluyendo al menos el primer candidato a predictor de vector de movimiento (PMV1) y el segundo candidato a predictor de vector de movimiento (PMV2);
en el que la etapa (S303) de determinación de un segundo candidato a predictor de vector de movimiento (PMV2) determina un vector de movimiento que satisface el criterio predeterminado usado para la determinación de candidatos a predictor de vector de movimiento como segundo candidato a predictor de vector de movimiento (PMV2) a partir de vectores de movimiento de particiones (BPA, BA2, BAl, BA, BE) explorando las particiones (BPA, BA2, BA1, BA, BE) pertenecientes a la región vecina por encima, desde una dirección derecha a una dirección izquierda y cuando existe una j-ésima partición en un orden de exploración en la región vecina por encima, , y cuando existe una j-ésima partición tiene un vector de movimiento (S603), determina (S604) si la j-ésima partición y la partición (BT) de destino tienen la misma identificación de lista de imágenes de referencia (ref_list) e identificación de imágenes de referencia (ref_idx) y cuando la j-ésima partición y la partición (BT) de destino tienen la misma identificación de lista de imágenes de referencia (ref_list) e identificación de imágenes de referencia (ref_idx), determina (S606) el vector de movimiento de la j-ésima partición como segundo candidato a predictor de vector de movimiento (PMV2).
2. Un sistema de descodificación predictiva que comprende:
un procesador (C26) configurado para descodificar de manera predictiva un vector de movimiento usado en la predicción con compensación de movimiento para restaurar una secuencia de vídeo que consiste en una secuencia temporal de una pluralidad de imágenes de trama;
estando configurado además el procesador (C26) para determinar un primer candidato a predictor de vector de movimiento (PMV1) que satisface un criterio predeterminado usado en la determinación de candidatos a predictor de vector de movimiento, determinándose el primer candidato a predictor de vector de movimiento (PMV1) por el procesador (C26) a partir de vectores de movimiento de particiones (BD, BL2, BL1, BL) pertenecientes a una región vecina a la izquierda ubicada en un lado izquierdo de una partición (BT) de destino en una imagen de trama de un objetivo de descodificación;
estando configurado además el procesador (C26) para determinar un segundo candidato a predictor de vector de movimiento (PMV2) que satisface un criterio predeterminado usado para la determinación de candidatos a predictor de vector de movimiento, estando determinado el segundo candidato a predictor de movimiento (PMV2) a partir de vectores de movimiento de particiones (BPA, BA2, BA1, BA, BE) pertenecientes a una región vecina por encima ubicada por encima de la partición (BT) de destino explorando las particiones (BPA, BA2, BA1, BA, BE) pertenecientes a la región vecina por encima, desde una dirección derecha a una dirección izquierda;
estando configurado además el procesador (C26) para determinar, cuando existe una j-ésima partición en un orden de exploración en la región vecina por encima y cuando la j-ésima partición incluye un vector de movimiento, si la j-ésima partición y la partición (BT) de destino tienen la misma identificación de lista de imágenes de referencia (ref_list) e identificación de imágenes de referencia (ref_idx);
estando configurado además el procesador (C26) para determinar el vector de movimiento de la j-ésima partición como segundo candidato a predictor de movimiento (PMV2) en respuesta a la j-ésima partición y la partición (BT) de destino que tienen la misma identificación de lista de imágenes de referencia (ref_list) e identificación de imágenes de referencia (ref_idx);
estando configurado además el procesador (C26) para descodificar datos codificados y restaurar la información de indicación de predictor de vector de movimiento que especifica un predictor de vector de movimiento de la partición (BT) de destino; y
estando configurado además el procesador (C26) para seleccionar, entre candidatos a predictor de vector de movimiento, incluyendo al menos el primer candidato a predictor de vector de movimiento (PMV1) y el segundo candidato a predictor de vector de movimiento (PMV2), el predictor de vector de movimiento especificado por la información de indicación de predictor de vector de movimiento.
3. Un medio de almacenamiento legible por ordenador no transitorio que almacena instrucciones ejecutables por un procesador (C26), el medio de almacenamiento legible por ordenador que comprende:
instrucciones ejecutables por el procesador (C26) para decodificar de manera predictiva un vector de movimiento usado en la predicción con compensación de movimiento para restaurar una secuencia de vídeo que consiste en una secuencia temporal de una pluralidad de imágenes de tramas, que comprende:
instrucciones ejecutables por el procesador (C26) para determinar un primer candidato a predictor de vector de movimiento (PMV1) que satisface un criterio predeterminado usado para la determinación de candidatos a predictor de vector de movimiento, a partir de vectores de movimiento de particiones (BD, BL2, BL1, BL) pertenecientes a una región vecina izquierda ubicada en un lado izquierdo de una partición (BT) de destino en una imagen de trama de un objetivo de descodificación;
instrucciones ejecutables por el procesador para determinar un segundo candidato a predictor de vector de movimiento (PMV2) que satisface un criterio predeterminado usado para la determinación de candidatos a predictor de vector de movimiento, a partir de vectores de movimiento de particiones (BPA, BA2, BA1, BA, BE) pertenecientes a una región vecina por encima ubicada por encima de la partición (BT) de destino;
instrucciones ejecutables por el procesador (C26) para decodificar los datos codificados y restaurar la información de indicación de predictor de vector de movimiento que especifica un predictor de vector de movimiento de la partición (BT) de destino; e
instrucciones ejecutables por el procesador (C26) para seleccionar un predictor de vector de movimiento especificado por la información de indicación de predictor de vector de movimiento, a partir de los candidatos a predictor de vector de movimiento que incluyen al menos el primer candidato a predictor de vector de movimiento (PMV1) y el segundo candidato a predictor de vector de movimiento (PMV2);
en el que las instrucciones ejecutables por el procesador (C26) para determinar el segundo candidato a predictor de vector de movimiento (PMV2) incluyen instrucciones ejecutables por el procesador (C26) para: explorar las particiones (BPA, BA2, BA1, BA, BE) pertenecientes a la región vecina por encima, desde una dirección derecha a una dirección izquierda;
determinar, cuando hay una j-ésima partición en un orden de exploración en la región vecina por encima y cuando la j-ésima partición incluye un vector de movimiento, si la j-ésima partición y la partición (BT) de destino tienen la misma identificación de lista de imágenes de referencia (ref_list) e identificación de imagen de referencia (ref_idx); y
determinar el vector de movimiento de la j-ésima partición como el segundo candidato a predictor de vector de movimiento (PMV2), en respuesta a que la j-ésima partición y la partición (BT) de destino tienen la misma identificación de lista de imágenes de referencia (ref_list) e identificación de imagen de referencia (ref_idx).
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2011002205 | 2011-01-07 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| ES2957772T3 true ES2957772T3 (es) | 2024-01-25 |
Family
ID=46457445
Family Applications (5)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES20217808T Active ES2936314T3 (es) | 2011-01-07 | 2011-12-20 | Procedimiento de codificación predictiva, dispositivo de codificación predictiva y programa de codificación predictiva de un vector de movimiento, y procedimiento de descodificación predictiva, dispositivo de descodificación predictiva y programa de descodificación predictiva de un vector de movimiento |
| ES22194608T Active ES2994227T3 (en) | 2011-01-07 | 2011-12-20 | Predictive encoding method, predictive encoding device, and predictive encoding program of motion vector, and, predictive decoding method, predictive decoding device, and predictive decoding program of motion vector |
| ES22194613T Active ES2957772T3 (es) | 2011-01-07 | 2011-12-20 | Procedimiento de codificación predictiva, dispositivo de codificación predictiva y programa de codificación predictiva de un vector de movimiento, y procedimiento de descodificación predictiva, dispositivo de descodificación predictiva y programa de descodificación predictiva de un vector de movimiento |
| ES15166363.0T Active ES2622732T3 (es) | 2011-01-07 | 2011-12-20 | Procedimiento de codificación predictiva, dispositivo de codificación predictiva y programa de codificación predictiva de un vector de movimiento, y procedimiento de descodificación predictiva, dispositivo de descodificación predictiva y programa de descodificación predictiva de un vector de movimiento |
| ES11855027.6T Active ES2614821T3 (es) | 2011-01-07 | 2011-12-20 | Procedimiento de codificación predictiva, dispositivo de codificación predictiva y programa de codificación predictiva de un vector de movimiento, y procedimiento de descodificación predictiva, dispositivo de descodificación predictiva y programa de descodificación predictiva de un vector de movimiento |
Family Applications Before (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES20217808T Active ES2936314T3 (es) | 2011-01-07 | 2011-12-20 | Procedimiento de codificación predictiva, dispositivo de codificación predictiva y programa de codificación predictiva de un vector de movimiento, y procedimiento de descodificación predictiva, dispositivo de descodificación predictiva y programa de descodificación predictiva de un vector de movimiento |
| ES22194608T Active ES2994227T3 (en) | 2011-01-07 | 2011-12-20 | Predictive encoding method, predictive encoding device, and predictive encoding program of motion vector, and, predictive decoding method, predictive decoding device, and predictive decoding program of motion vector |
Family Applications After (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES15166363.0T Active ES2622732T3 (es) | 2011-01-07 | 2011-12-20 | Procedimiento de codificación predictiva, dispositivo de codificación predictiva y programa de codificación predictiva de un vector de movimiento, y procedimiento de descodificación predictiva, dispositivo de descodificación predictiva y programa de descodificación predictiva de un vector de movimiento |
| ES11855027.6T Active ES2614821T3 (es) | 2011-01-07 | 2011-12-20 | Procedimiento de codificación predictiva, dispositivo de codificación predictiva y programa de codificación predictiva de un vector de movimiento, y procedimiento de descodificación predictiva, dispositivo de descodificación predictiva y programa de descodificación predictiva de un vector de movimiento |
Country Status (20)
| Country | Link |
|---|---|
| US (5) | US9693052B2 (es) |
| EP (6) | EP4120686B1 (es) |
| JP (5) | JP5698767B2 (es) |
| KR (6) | KR20140011475A (es) |
| CN (5) | CN105812820B (es) |
| AU (1) | AU2011353904B2 (es) |
| BR (1) | BR112013017208B1 (es) |
| CA (4) | CA3079646C (es) |
| DK (3) | DK3826306T3 (es) |
| ES (5) | ES2936314T3 (es) |
| FI (3) | FI3826306T3 (es) |
| HU (3) | HUE061239T2 (es) |
| MX (4) | MX352533B (es) |
| PH (1) | PH12013501264A1 (es) |
| PL (5) | PL3826306T3 (es) |
| PT (5) | PT4120686T (es) |
| RU (7) | RU2649770C1 (es) |
| SG (1) | SG191232A1 (es) |
| TW (3) | TWI660623B (es) |
| WO (1) | WO2012093585A1 (es) |
Families Citing this family (22)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR101456499B1 (ko) * | 2010-07-09 | 2014-11-03 | 삼성전자주식회사 | 움직임 벡터의 부호화 방법 및 장치, 그 복호화 방법 및 장치 |
| US9300970B2 (en) | 2010-07-09 | 2016-03-29 | Samsung Electronics Co., Ltd. | Methods and apparatuses for encoding and decoding motion vector |
| PT4120686T (pt) | 2011-01-07 | 2023-09-07 | Ntt Docomo Inc | Procedimento para descodificação preditiva, sistema para descodificação preditiva e suporte de armazenamento não transitório legível por computador |
| US9319716B2 (en) | 2011-01-27 | 2016-04-19 | Qualcomm Incorporated | Performing motion vector prediction for video coding |
| PL3937497T3 (pl) | 2011-03-21 | 2023-07-17 | Lg Electronics, Inc. | Wybieranie predyktora wektora ruchu |
| HUE068108T2 (hu) * | 2011-05-31 | 2024-12-28 | Jvckenwood Corp | Mozgókép kódoló eszköz, mozgókép kódolási eljárás és mozgókép kódoló program, valamint mozgókép dekódoló eszköz, mozgókép dekódoló eljárás és mozgókép dekódoló program |
| BR112013029425B1 (pt) * | 2011-06-30 | 2022-03-29 | Sun Patent Trust | Método de decodificação de imagem, método de codificação de imagem, dispositivo de decodificação de imagem, dispositivo de codificação de imagem, e dispositivo de codifica ção/decodificação de imagem |
| JP2013098711A (ja) * | 2011-10-31 | 2013-05-20 | Mitsubishi Electric Corp | 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法 |
| EP3481065A1 (en) * | 2012-10-12 | 2019-05-08 | Electronics and Telecommunications Research Institute | Video decoding method using a motion candidate list |
| CN103079067B (zh) * | 2013-01-09 | 2016-03-09 | 华为技术有限公司 | 运动矢量预测值列表构建方法和视频编解码方法及装置 |
| US9300906B2 (en) * | 2013-03-29 | 2016-03-29 | Google Inc. | Pull frame interpolation |
| TWI536811B (zh) * | 2013-12-27 | 2016-06-01 | 財團法人工業技術研究院 | 影像處理方法與系統、解碼方法、編碼器與解碼器 |
| KR101944683B1 (ko) | 2017-02-21 | 2019-04-17 | (주)제이하우스 | 아틀리에 클러스터 건물구조 |
| CN108810531B (zh) * | 2017-05-03 | 2019-11-19 | 腾讯科技(深圳)有限公司 | 视频编码处理方法、装置及电子设备 |
| US10356439B2 (en) * | 2017-06-29 | 2019-07-16 | Intel Corporation | Flexible frame referencing for display transport |
| WO2019049912A1 (ja) * | 2017-09-08 | 2019-03-14 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 符号化装置、復号装置、符号化方法及び復号方法 |
| CN109963155B (zh) * | 2017-12-23 | 2023-06-06 | 华为技术有限公司 | 图像块的运动信息的预测方法、装置及编解码器 |
| CN118945326A (zh) * | 2018-09-07 | 2024-11-12 | 松下电器(美国)知识产权公司 | 用于视频编码的系统和方法 |
| CN119629362A (zh) | 2018-12-28 | 2025-03-14 | 瑞典爱立信有限公司 | 生成运动向量预测器列表 |
| KR20260025890A (ko) * | 2019-01-28 | 2026-02-24 | 오피 솔루션즈, 엘엘씨 | 지수 파티셔닝에서의 인터 예측 |
| US11375243B2 (en) * | 2019-07-17 | 2022-06-28 | Tencent America LLC | Method and apparatus for video coding |
| KR20210039553A (ko) | 2019-10-02 | 2021-04-12 | 주식회사 디맥스 | 치과용 지르코니아 소재의 표면 처리방법 |
Family Cites Families (22)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| FR2703802A1 (fr) * | 1993-04-07 | 1994-10-14 | Philips Electronique Lab | Dispositif d'estimation de mouvement entre des images successives d'une séquence d'images animées subdivisées en blocs bidimensionnels d'éléments d'image. |
| DE69430877T2 (de) | 1993-04-09 | 2003-02-06 | Sony Corp., Tokio/Tokyo | Bildkodierungsverfahren und -vorrichtung |
| KR100523908B1 (ko) * | 1997-12-12 | 2006-01-27 | 주식회사 팬택앤큐리텔 | 격행주사 영상에 대한 영상신호 부호화 장치 및 그 방법 |
| US20040001546A1 (en) * | 2002-06-03 | 2004-01-01 | Alexandros Tourapis | Spatiotemporal prediction for bidirectionally predictive (B) pictures and motion vector prediction for multi-picture reference motion compensation |
| JP2005223631A (ja) | 2004-02-05 | 2005-08-18 | Sony Corp | データ処理装置およびその方法と符号化装置および復号装置 |
| JP4543971B2 (ja) * | 2005-03-07 | 2010-09-15 | ソニー株式会社 | 符号化方法、符号化装置、符号化処理のプログラム及び符号化処理のプログラムを記録した記録媒体 |
| JP4712643B2 (ja) * | 2006-08-17 | 2011-06-29 | 富士通セミコンダクター株式会社 | フレーム間予測処理装置、フレーム間予測方法、画像符号化装置及び画像復号装置 |
| KR101365567B1 (ko) * | 2007-01-04 | 2014-02-20 | 삼성전자주식회사 | 영상의 예측 부호화 방법 및 장치, 그 복호화 방법 및 장치 |
| CN101622877A (zh) * | 2006-12-22 | 2010-01-06 | 高通股份有限公司 | 用于有效空间帧内可预测性确定(或评估)的系统和方法 |
| US8331448B2 (en) * | 2006-12-22 | 2012-12-11 | Qualcomm Incorporated | Systems and methods for efficient spatial intra predictabilty determination (or assessment) |
| KR101383540B1 (ko) * | 2007-01-03 | 2014-04-09 | 삼성전자주식회사 | 복수의 움직임 벡터 프리딕터들을 사용하여 움직임 벡터를추정하는 방법, 장치, 인코더, 디코더 및 복호화 방법 |
| KR101365574B1 (ko) * | 2007-01-29 | 2014-02-20 | 삼성전자주식회사 | 영상 부호화 방법 및 장치, 복호화 방법 및 장치 |
| US8488668B2 (en) * | 2007-06-15 | 2013-07-16 | Qualcomm Incorporated | Adaptive coefficient scanning for video coding |
| US8908765B2 (en) * | 2007-11-15 | 2014-12-09 | General Instrument Corporation | Method and apparatus for performing motion estimation |
| JP5194833B2 (ja) * | 2008-01-23 | 2013-05-08 | ソニー株式会社 | 符号化装置および方法、記録媒体、並びにプログラム |
| US8098957B2 (en) * | 2008-02-13 | 2012-01-17 | Qualcomm Incorporated | Shared block comparison architechture for image registration and video coding |
| US8385404B2 (en) * | 2008-09-11 | 2013-02-26 | Google Inc. | System and method for video encoding using constructed reference frame |
| JP5401071B2 (ja) * | 2008-10-09 | 2014-01-29 | 株式会社Nttドコモ | 動画像符号化装置、動画像復号装置、動画像符号化方法、動画像復号方法、動画像符号化プログラム、動画像復号プログラム、動画像処理システムおよび動画像処理方法 |
| US10051283B2 (en) | 2009-07-03 | 2018-08-14 | France Telecom | Prediction of a movement vector of a current image partition having a different geometric shape or size from that of at least one adjacent reference image partition and encoding and decoding using one such prediction |
| KR20120016991A (ko) * | 2010-08-17 | 2012-02-27 | 오수미 | 인터 프리딕션 방법 |
| US9137544B2 (en) * | 2010-11-29 | 2015-09-15 | Mediatek Inc. | Method and apparatus for derivation of mv/mvp candidate for inter/skip/merge modes |
| PT4120686T (pt) * | 2011-01-07 | 2023-09-07 | Ntt Docomo Inc | Procedimento para descodificação preditiva, sistema para descodificação preditiva e suporte de armazenamento não transitório legível por computador |
-
2011
- 2011-12-20 PT PT221946130T patent/PT4120686T/pt unknown
- 2011-12-20 CA CA3079646A patent/CA3079646C/en active Active
- 2011-12-20 CN CN201610299505.1A patent/CN105812820B/zh active Active
- 2011-12-20 HU HUE20217808A patent/HUE061239T2/hu unknown
- 2011-12-20 HU HUE22194608A patent/HUE068698T2/hu unknown
- 2011-12-20 ES ES20217808T patent/ES2936314T3/es active Active
- 2011-12-20 PL PL20217808.3T patent/PL3826306T3/pl unknown
- 2011-12-20 FI FIEP20217808.3T patent/FI3826306T3/fi active
- 2011-12-20 RU RU2016105127A patent/RU2649770C1/ru active
- 2011-12-20 BR BR112013017208-8A patent/BR112013017208B1/pt active IP Right Grant
- 2011-12-20 KR KR1020137015618A patent/KR20140011475A/ko not_active Ceased
- 2011-12-20 AU AU2011353904A patent/AU2011353904B2/en active Active
- 2011-12-20 PT PT202178083T patent/PT3826306T/pt unknown
- 2011-12-20 KR KR1020207000716A patent/KR102165666B1/ko active Active
- 2011-12-20 PL PL15166363T patent/PL2938082T3/pl unknown
- 2011-12-20 EP EP22194613.0A patent/EP4120686B1/en active Active
- 2011-12-20 EP EP11855027.6A patent/EP2663077B1/en active Active
- 2011-12-20 CN CN201610299506.6A patent/CN105812821B/zh active Active
- 2011-12-20 EP EP15166363.0A patent/EP2938082B1/en active Active
- 2011-12-20 MX MX2016007235A patent/MX352533B/es unknown
- 2011-12-20 DK DK20217808.3T patent/DK3826306T3/da active
- 2011-12-20 PT PT151663630T patent/PT2938082T/pt unknown
- 2011-12-20 CA CA3167001A patent/CA3167001A1/en active Pending
- 2011-12-20 PT PT221946080T patent/PT4120685T/pt unknown
- 2011-12-20 WO PCT/JP2011/079540 patent/WO2012093585A1/ja not_active Ceased
- 2011-12-20 PL PL22194608.0T patent/PL4120685T3/pl unknown
- 2011-12-20 EP EP15165896.0A patent/EP2938081A1/en not_active Ceased
- 2011-12-20 HU HUE22194613A patent/HUE063372T2/hu unknown
- 2011-12-20 CN CN201610857048.3A patent/CN106878741B/zh active Active
- 2011-12-20 CA CA2823880A patent/CA2823880C/en active Active
- 2011-12-20 ES ES22194608T patent/ES2994227T3/es active Active
- 2011-12-20 ES ES22194613T patent/ES2957772T3/es active Active
- 2011-12-20 PL PL22194613.0T patent/PL4120686T3/pl unknown
- 2011-12-20 ES ES15166363.0T patent/ES2622732T3/es active Active
- 2011-12-20 MX MX2013007540A patent/MX2013007540A/es active IP Right Grant
- 2011-12-20 PT PT118550276T patent/PT2663077T/pt unknown
- 2011-12-20 SG SG2013046958A patent/SG191232A1/en unknown
- 2011-12-20 FI FIEP22194613.0T patent/FI4120686T3/fi active
- 2011-12-20 FI FIEP22194608.0T patent/FI4120685T3/fi active
- 2011-12-20 CA CA2933341A patent/CA2933341C/en active Active
- 2011-12-20 KR KR1020167018745A patent/KR101803886B1/ko active Active
- 2011-12-20 KR KR1020187034107A patent/KR102066543B1/ko active Active
- 2011-12-20 CN CN201180064343.9A patent/CN103283235B/zh active Active
- 2011-12-20 RU RU2013136900/08A patent/RU2580090C2/ru active
- 2011-12-20 JP JP2012551827A patent/JP5698767B2/ja active Active
- 2011-12-20 CN CN201610301019.9A patent/CN105791857B/zh active Active
- 2011-12-20 PH PH1/2013/501264A patent/PH12013501264A1/en unknown
- 2011-12-20 KR KR1020177034131A patent/KR101931276B1/ko active Active
- 2011-12-20 KR KR1020167007353A patent/KR101672790B1/ko active Active
- 2011-12-20 PL PL11855027T patent/PL2663077T3/pl unknown
- 2011-12-20 EP EP22194608.0A patent/EP4120685B1/en active Active
- 2011-12-20 EP EP20217808.3A patent/EP3826306B1/en active Active
- 2011-12-20 DK DK22194608.0T patent/DK4120685T3/da active
- 2011-12-20 MX MX2015015364A patent/MX339663B/es unknown
- 2011-12-20 DK DK22194613.0T patent/DK4120686T3/da active
- 2011-12-20 ES ES11855027.6T patent/ES2614821T3/es active Active
-
2012
- 2012-01-02 TW TW107102973A patent/TWI660623B/zh active
- 2012-01-02 TW TW105129816A patent/TWI621352B/zh active
- 2012-01-02 TW TW101100049A patent/TW201244499A/zh unknown
-
2013
- 2013-06-27 MX MX2020001492A patent/MX2020001492A/es unknown
- 2013-07-05 US US13/936,005 patent/US9693052B2/en active Active
-
2015
- 2015-02-13 JP JP2015026825A patent/JP5859691B2/ja active Active
- 2015-12-16 JP JP2015245384A patent/JP6099729B2/ja active Active
-
2016
- 2016-12-09 US US15/374,929 patent/US9877040B2/en active Active
-
2017
- 2017-01-31 JP JP2017015603A patent/JP6246962B2/ja active Active
- 2017-11-15 JP JP2017219846A patent/JP6411615B2/ja active Active
-
2018
- 2018-01-16 US US15/872,932 patent/US10154280B2/en active Active
- 2018-03-23 RU RU2018110357A patent/RU2676245C1/ru active
- 2018-11-07 US US16/183,409 patent/US10511856B2/en active Active
- 2018-11-07 US US16/183,399 patent/US10511855B2/en active Active
- 2018-12-14 RU RU2018144329A patent/RU2697738C1/ru active
- 2018-12-14 RU RU2018144328A patent/RU2699404C1/ru active
-
2019
- 2019-08-05 RU RU2019124708A patent/RU2731026C1/ru active
-
2020
- 2020-08-20 RU RU2020127723A patent/RU2744696C1/ru active
Also Published As
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| ES2957772T3 (es) | Procedimiento de codificación predictiva, dispositivo de codificación predictiva y programa de codificación predictiva de un vector de movimiento, y procedimiento de descodificación predictiva, dispositivo de descodificación predictiva y programa de descodificación predictiva de un vector de movimiento | |
| AU2020294318B2 (en) | Predictive encoding method, predictive encoding device, and predictive encoding program of motion vector, and, predictive decoding method, predictive decoding device, and predictive decoding program of motion vector |