ES2883353T3 - Método para obtener un predictor de vector de movimiento - Google Patents
Método para obtener un predictor de vector de movimiento Download PDFInfo
- Publication number
- ES2883353T3 ES2883353T3 ES18212702T ES18212702T ES2883353T3 ES 2883353 T3 ES2883353 T3 ES 2883353T3 ES 18212702 T ES18212702 T ES 18212702T ES 18212702 T ES18212702 T ES 18212702T ES 2883353 T3 ES2883353 T3 ES 2883353T3
- Authority
- ES
- Spain
- Prior art keywords
- motion vector
- block
- candidate
- prediction
- vector predictor
- 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
- 239000013598 vector Substances 0.000 title claims abstract description 542
- 238000000034 method Methods 0.000 title claims abstract description 107
- 230000002123 temporal effect Effects 0.000 description 43
- 238000001914 filtration Methods 0.000 description 26
- 238000012937 correction Methods 0.000 description 10
- 238000013139 quantization Methods 0.000 description 7
- 230000008707 rearrangement Effects 0.000 description 7
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 6
- 241000023320 Luma <angiosperm> Species 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000013507 mapping Methods 0.000 description 4
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 4
- 230000006835 compression Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 238000003709 image segmentation Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000011218 segmentation Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 2
- 238000006073 displacement reaction Methods 0.000 description 2
- 230000004927 fusion Effects 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 238000010845 search algorithm Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
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
-
- 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/521—Processing of motion vectors for estimating the reliability of the determined motion vectors or motion vector field, e.g. for smoothing the motion vector field or for correcting motion vectors
-
- 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/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/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/176—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 block, e.g. a macroblock
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Método para obtener un predictor de vector de movimiento de un bloque actual, por medio de un aparato de descodificación, comprendiendo el método: obtener un primer candidato a predictor de vector de movimiento, mvp, en donde el primer candidato a mvp se obtiene basándose en un primer vector de movimiento de un bloque disponible entre un bloque inferior izquierdo y un bloque izquierdo del bloque actual cuando existe el bloque disponible entre el bloque inferior izquierdo y el bloque izquierdo; obtener un segundo candidato a mvp, en donde el segundo candidato a mvp se obtiene basándose en un segundo vector de movimiento de un bloque disponible entre un bloque superior derecho, un bloque superior y un bloque superior izquierdo del bloque actual cuando existe el bloque disponible entre el bloque superior derecho, el bloque superior y el bloque superior izquierdo; obtener un candidato a mvp temporal a partir de un bloque vecino temporal con respecto al bloque actual usando la determinación sobre si el bloque vecino temporal está disponible para predecir el vector de movimiento del bloque actual; construir una lista de candidatos a mvp basándose en por lo menos uno del primer candidato a mvp, el segundo candidato a mvp y el candidato a mvp temporal; y determinar el predictor de vector de movimiento para el bloque actual, en donde el predictor de vector de movimiento para el bloque actual se selecciona de entre candidatos a mvp de la lista de candidatos a mvp, en donde el primer candidato a mvp se obtiene escalando el primer vector de movimiento del bloque disponible entre el bloque inferior izquierdo y el bloque izquierdo cuando existe el bloque disponible, entre el bloque inferior izquierdo y el bloque izquierdo, cuya imagen de referencia es diferente con respecto a una imagen de referencia del bloque actual, caracterizado por que en la obtención del segundo candidato a mvp, el escalado para el segundo vector de movimiento no está disponible cuando existe el bloque disponible entre el bloque inferior izquierdo y el bloque izquierdo y el escalado para el primer vector de movimiento se aplica en la obtención del primer candidato a mvp.
Description
DESCRIPCIÓN
Método para obtener un predictor de vector de movimiento
Antecedentes de la invención
Campo de la invención
[0001] La presente invención se refiere a un método de fijación de una lista de vectores de movimiento y a un aparato que hace uso del mismo, y, más particularmente, a un método de descodificación y a un aparato de descodificación.
Anterioridades
[0002] Recientemente, la demanda de representaciones visuales de alta resolución y de alta calidad, tales como representaciones visuales de alta definición (HD) y de definición ultraalta (UHD), ha aumentado en diversos campos de aplicación. A medida que los datos de las representaciones visuales tienen una mayor resolución y una mayor calidad, la cantidad de datos sobre las representaciones visuales se incrementa en comparación con los datos de representaciones visuales convencionales. Por consiguiente, cuando se transfieren datos de representaciones visuales usando medios, tales como las líneas existentes de banda ancha por cable e inalámbricas, o dichos datos se almacenan usando soportes de almacenamiento convencionales, los costes de transferencia y de almacenamiento de los datos de las representaciones visuales aumentan. Para solucionar estos problemas que aparecen con el aumento de la resolución y la calidad de los datos de las representaciones visuales, pueden utilizarse técnicas de compresión de representaciones visuales de alta eficiencia.
[0003] Las técnicas de compresión de representaciones visuales incluyen diversos métodos, tales como la predicción inter en la que se predicen valores de píxeles dentro de una imagen actual a partir de imágenes previas o sucesivas con respecto a la imagen actual, la predicción intra en la que se predicen valores de píxeles dentro de una imagen actual usando información de píxeles dentro de la imagen actual, y la codificación entrópica en la que se asigna un código corto a un valor con una frecuencia de aparición alta y se asigna un código largo a un valor con una frecuencia de aparición baja. Usando dichas técnicas de compresión de representaciones visuales, se pueden comprimir y transferir o almacenar, de manera eficaz, datos de representaciones visuales.
A partir del documento JCTVC-E602 del Equipo de Colaboración Conjunto sobre Codificación de Vídeo (JCT-VC) de ITU-T SG16 WP3 e ISO/IEC JTC1/SC29/WG11 con el título "HM3: High Efficiency Video Coding (HEVC) Test Model 3 Encoder Description" se conocen características de los preámbulos de las reivindicaciones independientes.
Sumario de la invención
[0004] La invención queda definida por la combinación de características de las reivindicaciones independientes. En las reivindicaciones dependientes se definen realizaciones preferidas.
[0005] Una realización que no forma parte de la presente invención proporciona un método de descodificación de vídeo que incluye determinar si un primer vector de movimiento o un segundo vector de movimiento está presente en un primer grupo de predicción de candidatos espaciales por determinación secuencial, y fijar el primer vector de movimiento o el segundo vector de movimiento obtenido por la determinación secuencial, como candidato a predictor de vector de movimiento. El primer grupo de predicción de candidatos espaciales puede incluir un primer bloque izquierdo y un segundo bloque izquierdo. El primer vector de movimiento puede incluir el mismo cuadro de referencia y la misma lista de imágenes de referencia que los correspondientes de una unidad de predicción actual, y el segundo vector de movimiento puede incluir el mismo cuadro de referencia que el correspondiente de la unidad de predicción actual y una lista de imágenes de referencia diferente con respecto a la de la unidad de predicción actual. El método de descodificación de vídeo puede incluir, además, determinar si un tercer vector de movimiento o un cuarto vector de movimiento está presente en el primer grupo de predicción de candidatos espaciales, por determinación secuencial, y fijar como candidato a predictor de vector de movimiento, mediante escalado, el tercer vector de movimiento o el cuarto vector de movimiento obtenido por la determinación secuencial y cambiar información sobre si llevar a cabo el escalado. El tercer vector de movimiento puede incluir un cuadro de referencia diferente y la misma lista de imágenes de referencia, y el cuarto vector de movimiento puede incluir un cuadro de referencia diferente y una lista de imágenes de referencia diferente. El método de descodificación de vídeo puede incluir, además, determinar si un primer vector de movimiento o un segundo vector de movimiento está presente en un segundo grupo de predicción de candidatos espaciales, por determinación secuencial, y fijar el primer vector de movimiento o el segundo vector de movimiento obtenido por la determinación secuencial, como candidato a predictor de vector de movimiento. El segundo grupo de predicción de candidatos espaciales puede incluir un primer bloque superior, un segundo bloque superior y un tercer bloque superior. El método de descodificación de vídeo puede incluir, además, determinar si se lleva a cabo un escalado sobre el candidato a predictor de vector de
movimiento c obtenido a partir del primer grupo de predicción de candidatos espaciales basándose en la información de si se lleva a cabo el escalado. El método de descodificación de vídeo puede incluir, además, determinar si el tercer vector de movimiento o el cuarto vector de movimiento está presente en el segundo grupo de predicción de candidatos espaciales, por determinación secuencial, y fijar como candidato a predictor de vector de movimiento, por escalado, el tercer vector de movimiento o el cuarto vector de movimiento obtenido mediante la determinación secuencial y cambiar información sobre si se lleva a cabo el escalado. El método de descodificación de vídeo puede incluir, además, incluir un vector de movimiento de una unidad de predicción candidata temporal, en una lista de candidatos a predictor de vector de movimiento, como candidato a predictor de vector de movimiento, cuando está presente el vector de movimiento. El método de descodificación de vídeo puede incluir, además, determinar si los mismos candidatos a predictor de vector de movimiento están presentes entre los candidatos a predictor de vector de movimiento obtenidos a partir de por lo menos uno del primer grupo de predicción de candidatos espaciales, el segundo grupo de predicción de candidatos espaciales y la unidad de predicción candidata temporal, y eliminar los candidatos a predictor de vector de movimiento iguales que no sean un candidato a predictor de vector de movimiento que tenga prioridad máxima cuando están presentes los mismos candidatos a predictor de vector de movimiento. El método de descodificación de vídeo puede incluir, además, añadir un candidato adicional a predictor de vector de movimiento a la lista de candidatos a predictor de vector de movimiento cuando la lista de candidatos a predictor de vector de movimiento comprende un número preestablecido o menor de candidatos a predictor de vector de movimiento y no comprende el vector igual al candidato adicional a predictor de vector de movimiento a añadir a la lista de candidatos a predictor de vector de movimiento.
[0006] Tal como se ha descrito anteriormente, un método de fijación de una lista de vectores de movimiento y un aparato que hace uso del mismo de acuerdo con realizaciones ejemplificativas que no forman parte de la presente invención, limitan el número de veces que se realiza un escalado en la exploración de un vector de movimiento predicho candidato, reduciéndose, así, el tiempo consumido en la codificación/descodificación y haciéndose que disminuya la complejidad.
Breve descripción de los dibujos
[0007]
La FIG. 1 es un diagrama de bloques que ilustra un aparato de codificación de vídeo de acuerdo con una realización ejemplificativa que no forma parte de la presente invención.
La FIG. 2 es un diagrama de bloques que ilustra un aparato de descodificación de vídeo de acuerdo con una realización ejemplificativa que no forma parte de la presente invención.
La FIG. 3 ilustra una unidad de predicción candidata espacial y una unidad de predicción candidata temporal para generar un predictor de vector de movimiento de acuerdo con una realización ejemplificativa que no forma parte de la presente invención.
La FIG. 4 es un diagrama de flujo que ilustra un método de obtención de un predictor de vector de movimiento de acuerdo con una realización ejemplificativa que no forma parte de la presente invención.
La FIG. 5 ilustra un método de clasificación de vectores de movimiento de unidades de predicción candidatas espaciales a través de la relación entre el vector de movimiento de una unidad de predicción actual y los vectores de movimiento de las unidades de predicción candidatas espaciales.
La FIG. 6 es un diagrama de flujo que ilustra un método de obtención de información de disponibilidad de un grupo de predicción de candidatos espaciales e información de disponibilidad de una unidad de predicción candidata temporal de acuerdo con una realización ejemplificativa que no forma parte de la presente invención.
La FIG. 7 es un diagrama de flujo que ilustra un método de obtención de un candidato a predictor de vector de movimiento a partir de un primer grupo de predicción de candidatos espaciales de acuerdo con una realización ejemplificativa.
La FIG. 8 es un diagrama de flujo que ilustra un método de obtención de un candidato a predictor de vector de movimiento (primer vector de movimiento y segundo vector de movimiento) a partir de un segundo grupo de predicción de candidatos espaciales de acuerdo con una realización ejemplificativa.
La FIG. 9 es un diagrama de flujo que ilustra un método de obtención de un candidato a predictor de vector de movimiento (tercer vector de movimiento y cuarto vector de movimiento) a partir del segundo grupo de predicción de candidatos espaciales de acuerdo con una realización ejemplificativa.
La FIG. 10 es un diagrama de flujo que ilustra un método de obtención de un candidato a predictor de vector de movimiento (el tercer vector de movimiento y el cuarto vector de movimiento) a partir del segundo grupo de predicción de candidatos espaciales de acuerdo con otra realización ejemplificativa.
La FIG. 11 es un diagrama de flujo que ilustra un método de obtención de un candidato a predictor de vector de movimiento de un grupo de predicción de candidatos temporales de acuerdo con una realización ejemplificativa que no forma parte de la presente invención.
Descripción de realizaciones ejemplificativas
[0008] Aunque los términos primer, segundo, etcétera, se pueden usar para describir varios elementos, estos elementos no deben quedar limitados por estos términos. Dichos términos se usan únicamente para diferenciar un elemento con respecto a otro. Por ejemplo, a un primer elemento se le podría denominar segundo elemento, y a un segundo elemento se le podría denominar primer elemento de manera similar, sin desviarse con respecto a las enseñanzas de la presente invención. El término “y/o” incluye todas y cada una de las combinaciones de una pluralidad de ítems enumerados asociados.
[0009] Se entenderá que, cuando a un elemento se le hace referencia como “conectado a” o “acoplado a” otro elemento, el elemento puede estar conectado o acoplado directamente a otro elemento o a elementos intermedios. Por el contrario, cuando a un elemento se le hace referencia como “conectado directamente a” o “acoplado directamente a” otro elemento, no hay presencia de elementos intermedios.
[0010] La terminología usada en la presente tiene la finalidad de describir solamente realizaciones particulares, y no está destinada a limitar la invención. Tal como se usan en la presente, las formas del singular “un”, “una”, “el”, y “la” están destinadas a incluir también las formas del plural, a no ser que el contexto indique claramente lo contrario. Se entenderá, además, que los términos “incluir” y/o “tener”, cuando se usan en esta memoria descriptiva, especifican la presencia de características, enteros, etapas, operaciones, elementos y/o componentes mencionados, pero no excluyen la presencia o adición de otra u otras características, enteros, etapas, operaciones, elementos, componentes y/o grupos de los mismos.
[0011] En lo sucesivo en la presente, se describirán de forma detallada, en referencia a los dibujos adjuntos, realizaciones ejemplificativas que no forman parte de la invención 2, pero útiles para su interpretación. Los numerales de referencia equivalentes en los dibujos se refieren a los mismos elementos en todos ellos, y en el presente documento se omitirán descripciones redundantes de elementos equivalentes.
[0012] La FIG. 1 es un diagrama de bloques que ilustra un aparato de codificación de vídeo de acuerdo con una realización ejemplificativa.
[0013] En referencia a la FIG. 1, el aparato 100 de codificación de vídeo incluye un módulo 105 de segmentación de imágenes, un módulo 110 de predicción, un módulo 115 de transformada, un módulo 120 de cuantificación, un módulo 125 de reordenación, un módulo 130 de codificación entrópica, un módulo 135 de descuantificación, un módulo 140 de transformada inversa, un filtro 145 y una memoria 150.
[0014] Aunque elementos ilustrados en la FIG. 1 se muestran de manera independiente para representar funciones distintivas diferentes en el aparato de codificación de vídeo, una configuración de este tipo no indica que cada elemento se construye con un componente de hardware o componente de software independiente. Es decir, los elementos se disponen de forma independiente para facilitar la descripción, pudiéndose combinar al menos dos elementos en un único elemento, o pudiéndose dividir un único elemento en una pluralidad de elementos para llevar a cabo las funciones. Debe señalarse que, en el alcance de la presente invención, se incluyen realizaciones en las que algunos elementos están integrados en un elemento combinado y/o un elemento está dividido en múltiples elementos independientes.
[0015] Algunos elementos no son esenciales para las funciones sustanciales de la invención y pueden ser componentes opcionales únicamente para mejorar el rendimiento. La invención se puede materializar incluyendo solamente componentes esenciales para la realización de la invención, exceptuando los componentes usados para simplemente mejorar el rendimiento. La estructura que incluye solamente los componentes esenciales, exceptuando los componentes ópticos usados para mejorar simplemente el rendimiento, pertenece al alcance de la invención.
[0016] El módulo 105 de segmentación de imágenes puede segmentar una imagen de entrada en por lo menos una unidad de proceso. En este caso, la unidad de proceso puede ser una unidad de predicción (PU), una unidad de transformada (TU) o una unidad de codificación (CU). El módulo 105 de segmentación de imágenes puede segmentar una imagen en una pluralidad de combinaciones de unidades de codificación, unidades de predicción y unidades de transformada, y seleccionar una combinación de unidades de codificación, unidades de predicción y
unidades de transformada sobre la base de un criterio predeterminado (por ejemplo, una función de coste), codificando así la imagen.
[0017] Por ejemplo, una imagen se puede segmentar en una pluralidad de unidades de codificación. Para segmentar una imagen en unidades de codificación, se puede usar una estructura de árbol recursiva, tal como una estructura de árbol cuaternario. Una unidad de codificación que puede ser una imagen o una unidad de codificación de un tamaño máximo como raíz, se puede segmentar en subunidades de codificación con tantos nodos hijo como las unidades de codificación segmentadas. Una unidad de codificación que ya no se segmenta más de acuerdo con una limitación predeterminada es un nodo hoja. Es decir, suponiendo que una unidad de codificación solamente se puede segmentar en cuadrantes, una unidad de codificación individual se puede segmentar como mucho en cuatro unidades de codificación diferentes.
[0018] En las realizaciones dadas a conocer, una unidad de codificación se puede usar para referirse, no solamente a una unidad de codificación, sino también a una unidad de descodificación.
[0019] Una unidad de predicción se puede segmentar en al menos una forma cuadrada o rectangular con el mismo tamaño en una unidad de codificación, o se puede segmentar de tal manera que una de las unidades de predicción segmentadas en una unidad de codificación sea diferente con respecto a otra unidad de predicción.
[0020] Cuando una unidad de codificación, que se usa para generar una unidad de predicción que se va a someter a predicción intra, no es una unidad de codificación mínima, la unidad de codificación se puede someter a predicción intra sin segmentarse en diversas unidades de predicción (NxN).
[0021] El módulo 110 de predicción puede incluir un módulo de predicción inter para llevar a cabo una predicción inter, y un módulo de predicción intra para llevar a cabo una predicción intra. El módulo 110 de predicción puede determinar cuál de entre la predicción inter o la predicción intra se debería llevar a cabo sobre una unidad de predicción, y puede determinar información específica (por ejemplo, modo de predicción intra, vector de movimiento e imagen de referencia) del método de predicción determinado. En este caso, una unidad de proceso sobre la cual se lleva a cabo la predicción puede ser diferente con respecto a la unidad de proceso para la cual se determinan el método de predicción e información específica. Por ejemplo, para cada unidad de predicción se pueden determinar un método de predicción y un modo de predicción, mientras que la predicción se puede llevar a cabo para cada unidad de transformada. En el módulo 115 de transformada se puede introducir un valor residual (bloque residual) entre un bloque predicho generado y un bloque original. Además, el módulo 130 de codificación entrópica puede codificar, junto con el valor residual, información de modo de predicción, información de vector de movimiento y similares que se usen para la predicción, y esto se puede transmitir al aparato de descodificación. Cuando se usa un modo de codificación específico, el bloque original se puede codificar y transmitir al aparato de descodificación sin generar un bloque de predicción a través del módulo 110 de predicción.
[0022] El módulo de predicción inter puede predecir una unidad de predicción basándose en información sobre al menos una imagen de entre una imagen previa y una imagen subsiguiente de una imagen actual. El módulo de predicción inter puede incluir un módulo de interpolación con imágenes de referencia, un módulo de predicción de movimiento y un módulo de compensación de movimiento.
[0023] Al módulo de interpolación con imágenes de referencia se le puede suministrar información de imágenes de referencia desde la memoria 150 y puede generar información de píxel inferior a un píxel entero a partir de una imagen de referencia. En el caso de los píxeles de luma, para generar información de píxel inferior a un píxel entero en una unidad de 1/4 píxel se puede usar un filtro de interpolación de 8 tomas (taps) basado en DCT que tenga un coeficiente de filtro variable. En el caso de los píxeles de croma, para generar información de píxel inferior a un píxel entero en una unidad de 1/8 píxel se puede usar un filtro de interpolación de 4 tomas basado en DCT, que tenga un coeficiente de filtro variable.
[0024] El módulo de predicción de movimiento puede llevar a cabo una predicción de movimiento basándose en la imagen de referencia interpolada con el módulo de interpolación de imágenes de referencia. Para calcular un vector de movimiento se pueden usar varios métodos, tales como un algoritmo de comparación de bloques basado en búsqueda exhaustiva (FBMA), un algoritmo de búsqueda en tres pasos (TSS) y un algoritmo de nueva búsqueda en tres pasos (NTS). Un vector de movimiento tiene un valor de vector de movimiento en una unidad de 1/2 ó 1/4 píxel sobre la base de un píxel interpolado. El módulo de predicción de movimiento puede predecir una unidad de predicción actual usando diferentes métodos de predicción de movimiento. Como método de predicción de movimiento se pueden usar varios métodos, tales como la predicción por omisión, por fusión y la predicción avanzada de vectores de movimiento (AMVP).
[0025] A continuación se describirá un método de construcción de una lista de candidatos a predictor de vector de movimiento en la ejecución de una predicción inter usando la AMVP de acuerdo con una realización.
[0026] El módulo de predicción intra puede generar una unidad de predicción sobre la base de información de píxeles de referencia en torno a un bloque actual que sea información de píxeles en una imagen actual. Cuando un bloque en torno a una unidad de predicción actual es un bloque que se ha sometido a una predicción inter y un píxel de referencia es un píxel que se ha sometido a una predicción inter, los píxeles de referencia incluidos en el bloque que se ha sometido a predicción inter se pueden sustituir con información de píxeles de referencia de un bloque que se ha sometido a una predicción intra. Es decir, cuando no hay disponible un píxel de referencia, la información sobre el píxel de referencia indisponible se puede sustituir con al menos un píxel de referencia de los píxeles de referencia disponibles.
[0027] El modo de predicción correspondiente a la predicción intra incluye un modo de predicción direccional en el cual se usa información de píxeles de referencia según una dirección de predicción, y un modo de predicción no direccional en el cual, en la ejecución de la predicción, no se usa información de directividad. El modo para predecir información de luma y el modo para predecir información de croma pueden ser diferentes entre sí. La información del modo de predicción intra usada para obtener información de luma o la información de la señal de luma predicha se puede usar para predecir información de croma.
[0028] Cuando una unidad de predicción y una unidad de transformada tienen el mismo tamaño en la ejecución de la predicción intra, la predicción intra sobre la unidad de predicción se puede llevar a cabo sobre la base de los píxeles de la izquierda, un píxel superior izquierdo y los píxeles superiores de la unidad de predicción. Por otro lado, cuando la unidad de predicción y la unidad de transformada tienen tamaños diferentes en la ejecución de la predicción intra, la predicción intra se puede llevar a cabo usando píxeles de referencia sobre la base de la unidad de transformada. La predicción intra que usa la segmentación NxN se puede usar solamente para una unidad de codificación mínima.
[0029] En el método de predicción intra, se puede aplicar un filtro de suavización intra adaptativa (AIS) a píxeles de referencia en función del modo de predicción para generar un bloque predicho. A los píxeles de referencia se les pueden aplicar tipos diferentes de filtros de AIS. En el método de predicción intra, el modo de predicción intra de una unidad de predicción actual se puede predecir a partir de un modo de predicción intra de una unidad de predicción situada en torno a la unidad de predicción actual. A la hora de predecir el modo de predicción de la unidad de predicción actual que usa información de modo predicha a partir de una unidad de predicción vecina, cuando la unidad de predicción actual y la unidad de predicción vecina presentan el mismo modo de predicción intra, usando información de una bandera predeterminada se puede transmitir información que indica que la unidad de predicción actual y la unidad de predicción vecina tienen el mismo modo de predicción. Si la unidad de predicción actual y la unidad de predicción vecina tienen modos de predicción diferentes, la información sobre el modo de predicción del bloque actual se puede codificar por codificación entrópica.
[0030] Basándose en la unidad de predicción generada por el módulo 110 de predicción se puede generar un bloque residual que incluye información residual la cual es una diferencia entre la unidad de predicción predicha y el bloque original de la unidad de predicción. El bloque residual generado se puede introducir en el módulo 115 de transformada. El módulo 115 de transformada puede transformar el bloque residual que incluye la información residual de la unidad de predicción generada por el módulo 110 de predicción y el bloque original usando un método de transformada, tal como una Transformada Discreta de Coseno (DCT) o una Transformada Discreta de Seno (DST). El método de transformada a usar para transformar el bloque residual se puede determinar entre la DCT y la DST sobre la base de la información de modo de predicción intra de la unidad de predicción usada para generar el bloque residual.
[0031] El módulo 120 de cuantificación puede cuantificar valores transformados a un dominio de la frecuencia por el módulo 115 de transformada. Un coeficiente de cuantificación puede variar en función del bloque o de la importancia de una imagen. Los valores obtenidos a la salida del módulo 120 de cuantificación se pueden suministrar al módulo 135 de descuantificación y al módulo 125 de reordenación.
[0032] El módulo 125 de reordenación puede reordenar coeficientes con respecto a valores residuales cuantificados.
[0033] El módulo 125 de reordenación puede cambiar coeficientes que están en forma de un bloque bidimensional (2D) a la forma de un vector unidimensional (1D) a través de una exploración de coeficientes. Por ejemplo, el módulo 125 de reordenación puede cambiar coeficientes que están en forma de un bloque 2D a la forma de un vector 1D mediante una exploración desde coeficientes de Dc a coeficientes de un dominio de alta frecuencia utilizando un escaneo en zigzag. Dependiendo del tamaño de la unidad de transformada y del modo de predicción intra, en lugar de una exploración en zigzag se puede usar una exploración vertical para escanear los coeficientes de un formato en bloque 2D en la dirección de las columnas y una exploración horizontal para explorar los coeficientes de un formato en bloque 2D en la dirección de las filas. Es decir, el método de exploración que se utilizará se puede seleccionar basándose en el tamaño de la unidad de transformada y el modo de predicción intra, entre una exploración en zigzag, una exploración vertical y una exploración horizontal.
[0034] El módulo 130 de codificación entrópica puede llevar a cabo una codificación entrópica sobre la base de los valores obtenidos por el módulo 125 de reordenación. Para la codificación entrópica se pueden usar diversos métodos de codificación, tales como el Golomb exponencial, la codificación de longitud variable adaptativa según el contexto (CAVLC), y la codificación aritmética binaria adaptativa según el contexto (CABAC).
[0035] El módulo 130 de codificación entrópica puede codificar una variedad de información, tal como información de coeficientes residuales e información de tipo de bloque sobre una unidad de codificación, información del modo de predicción, información de unidades de segmentación, información de unidades de predicción, información de unidades de transferencia, información de vectores de movimiento, información de cuadros de referencia, información de interpolación de bloques e información de filtrado a partir del módulo 125 de reordenación y el módulo 110 de predicción.
[0036] El módulo 130 de codificación entrópica puede codificar entrópicamente coeficientes de una unidad de codificación introducida desde el módulo 125 de reordenación.
[0037] El módulo 130 de codificación entrópica puede almacenar una tabla para efectuar una codificación entrópica, tal como una tabla de códigos de longitud variable (VLC), y llevar a cabo una codificación entrópica usando la tabla de VLC. En la codificación entrópica, para cambiar la asignación de una palabra de código a un número de código de información se puede usar un método en el que se utiliza un contador para algunas palabras de código incluidas en la tabla o un método de intercambio directo. Por ejemplo, en una pluralidad de números de código superiores, la palabra de código asignada de bits cortos en una tabla que establece correspondencias de un número de código y una palabra de código, y el orden de establecimiento de correspondencia de la tabla que establece las correspondencias de la palabra de código y el número de código se pueden cambiar adaptativamente para asignar una palabra de código de longitud corta a un número de código que presenta el número más alto de veces de aparición de números de código añadidos usando un contador. Cuando el número de veces de recuento por parte del contador es un umbral preestablecido, el número de veces de recuento registrado en el contador se puede dividir por la mitad, seguido nuevamente por un recuento.
[0038] El número de código en la tabla que no se cuenta ninguna vez se puede someter a codificación entrópica reduciendo el número de bits asignado al número de código a través de un método en el que se cambia la posición con un número de código superior correcto cuando aparece información correspondiente al número de código, utilizando el método de intercambio directo.
[0039] El módulo 135 de descuantificación y el módulo 140 de transformada inversa cuantifican inversamente los valores cuantificados por el módulo 120 de cuantificación, y transforman inversamente los valores transformados por el módulo 115 de transformada. Los valores residuales generados por el módulo 135 de descuantificación y el módulo 140 de transformada inversa se pueden añadir a la unidad de predicción, que es predicha por el módulo de estimación de movimiento, el módulo de compensación de movimiento y el módulo de predicción intra del módulo 110 de predicción, generando, así, un bloque reconstruido.
[0040] El módulo 145 de filtro puede incluir por lo menos uno de un filtro antibloques, un módulo de corrección de desplazamiento y un filtro de bucle adaptativo (ALF).
[0041] El filtro antibloques 145 puede eliminar la distorsión de bloques generada en los límites entre bloques en una imagen reconstruida. La decisión de si se aplica el filtro antibloques a un bloque actual se puede determinar sobre la base de píxeles incluidos en varias filas o columnas del bloque. Cuando se aplica el filtro antibloques a un bloque, se puede aplicar un filtro fuerte o un filtro débil en función de la intensidad requerida del filtrado antibloques. Cuando se llevan a cabo un filtrado horizontal y un filtrado vertical en la aplicación del filtro antibloques, el filtrado horizontal y el filtrado vertical se pueden realizar en paralelo.
[0042] El módulo de corrección de desplazamiento puede corregir un desplazamiento de la imagen a la que se ha aplicado el filtro antibloques, con respecto a la imagen original, por píxeles. Para llevar a cabo la corrección de desplazamiento sobre una imagen específica se puede usar un método en el que se segmentan píxeles de una imagen en un número predeterminado de regiones, se determina una región que se va a someter a la corrección de desplazamiento, y se aplica la corrección de desplazamiento a la región determinada, o un método en el que se aplica una corrección de desplazamiento teniendo en cuenta la información de los bordes en cada píxel.
[0043] El ALF puede llevar a cabo un filtrado basándose en un resultado de la comparación de la imagen reconstruida filtrada y la imagen original. Los píxeles incluidos en una imagen se pueden segmentar en grupos predeterminados, puede determinarse un filtro que se aplicará a cada grupo, y se puede llevar a cabo un filtrado diferencial para cada grupo. Cada unidad de codificación (CU) puede transferir información sobre si aplicar el ALF, y el tamaño y el coeficiente de un ALF que se aplicará en cada bloque puede variar. El ALF puede presentar diversos tipos y el número de coeficientes incluidos en un filtro correspondiente puede variar. La información relacionada con el filtrado sobre el ALF, tal como la información de coeficientes del filtro, la información de ON/OFF del ALF, y la
información del tipo de filtro, se puede incluir y transferir en un conjunto de parámetros predeterminado de un flujo continuo de bits.
[0044] La memoria 150 puede almacenar un bloque o imagen reconstruido obtenido a la salida del módulo 145 de filtro, y el bloque o imagen reconstruido almacenado se puede suministrar al módulo 110 de predicción cuando se lleve a cabo la predicción inter.
[0045] La FIG. 2 es un diagrama de bloques que ilustra un aparato de descodificación de vídeo de acuerdo con una realización ejemplificativa.
[0046] En referencia a la FIG. 2, el aparato 200 de descodificación de vídeo puede incluir un módulo 210 de descodificación entrópica, un módulo 215 de reordenación, un módulo 220 de descuantificación, un módulo 225 de transformada inversa, un módulo 230 de predicción, un módulo 235 de filtro y una memoria 240.
[0047] Cuando se introduce un flujo continuo de bits de vídeo desde el aparato de codificación de vídeo, el flujo continuo de bits de entrada se puede descodificar de acuerdo con un proceso inverso al proceso de codificación de vídeo del aparato de codificación de vídeo.
[0048] El módulo 210 de descodificación entrópica puede llevar a cabo una descodificación entrópica de acuerdo con un proceso inverso al proceso de codificación entrópica del módulo de codificación entrópica del aparato de codificación de vídeo. Por ejemplo, para efectuar la descodificación entrópica se puede usar la misma tabla de VLC que la utilizada para la codificación entrópica en el aparato de codificación de vídeo. Al módulo 230 de predicción se le puede proporcionar información para generar un bloque de predicción entre información descodificada en el módulo 210 de descodificación entrópica y, en el módulo 215 de reordenación, se pueden introducir valores residuales obtenidos por medio de la descodificación entrópica por parte del módulo de descodificación entrópica.
[0049] Igual que el módulo de codificación entrópica, el módulo 210 de descodificación entrópica también puede cambiar una tabla de asignación de palabras de código usando un método de contador o de intercambio directo y puede llevar a cabo una descodificación entrópica basándose en la tabla de asignación de palabras de código cambiada.
[0050] El módulo 210 de descodificación entrópica puede descodificar información asociada a una predicción intra y una predicción inter llevadas a cabo por el aparato de codificación. Tal como se ha descrito anteriormente, cuando el aparato de codificación de vídeo tiene restricciones predeterminadas en la ejecución de la predicción intra y la predicción inter, el módulo de descodificación entrópica puede llevar a cabo una descodificación entrópica sobre la base de las restricciones para obtener información sobre la predicción intra y la predicción inter de un bloque actual.
[0051] El módulo 210 de descodificación entrópica puede descodificar información sobre un modo de predicción intra para una unidad de predicción actual usando un código binario predeterminado sobre la base de un método de descodificación de un modo de codificación intra de acuerdo con una realización ejemplificativa que se describirá en referencia a las FIGS. 3 a 8.
[0052] El módulo 215 de reordenación puede llevar a cabo una reordenación sobre el flujo continuo de bits descodificado entrópicamente por el módulo 210 de descodificación entrópica sobre la base del método de reordenación del módulo de codificación. El módulo 215 de reordenación puede reconstruir y reordenar coeficientes expresados en forma de vectores 1D obteniendo coeficientes en un bloque 2D. Al módulo 215 de reordenación se le puede suministrar información asociada a una exploración de coeficientes llevada a cabo por el módulo de codificación y el mismo puede llevar a cabo una reordenación utilizando un método en el que se exploran inversamente los coeficientes sobre la base del orden de exploración según el cual el módulo de codificación lleva a cabo la exploración.
[0053] El módulo 220 de descuantificación puede llevar a cabo una descuantificación sobre la base de un parámetro de cuantificación suministrado desde el aparato de codificación y los coeficientes reordenados del bloque.
[0054] El módulo 225 de transformada inversa puede llevar a cabo una DCT inversa y una DST inversa sobre un resultado de cuantificación realizada por el aparato de codificación de vídeo, y que se ha sometido a una DCT y DST realizadas por el módulo de transformada. La transformada inversa se puede llevar a cabo sobre la base de una unidad de transferencia determinada por el aparato de codificación de vídeo. El módulo de transformada del aparato de codificación de vídeo puede llevar a cabo selectivamente la DCT y la DST en función de una pluralidad de elementos de información, tales como el método de predicción, el tamaño del bloque actual y la dirección de predicción, y el módulo 225 de transformada inversa del aparato de descodificación de vídeo puede llevar a cabo la transformada inversa basándose en la información sobre la transformada realizada por el módulo de transformada del aparato de codificación de vídeo.
[0055] La transformada se puede llevar a cabo por medio de una unidad de codificación en lugar de una unidad de transformada.
[0056] El módulo 230 de predicción puede generar un bloque de predicción sobre la base de información de generación de bloques de predicción suministrada desde el módulo 210 de descodificación entrópica e información sobre un bloque o imagen descodificado previamente suministrada desde la memoria 240.
[0057] De manea similar al funcionamiento del aparato de codificación de vídeo que se ha descrito anteriormente, cuando una unidad de predicción y una unidad de transformada tienen el mismo tamaño en la ejecución de la predicción intra, la predicción intra sobre la unidad de predicción se realiza basándose en píxeles de la izquierda, en un píxel superior izquierdo y en píxeles superiores de la unidad de predicción. Por otro lado, cuando una unidad de predicción y una unidad de transformada tienen tamaños diferentes en la ejecución de la predicción intra, la predicción intra se puede llevar a cabo usando píxeles de referencia sobre la base de la unidad de transformada. La predicción intra que usa la segmentación NxN se puede utilizar únicamente para una unidad de codificación mínima.
[0058] El módulo 230 de predicción incluye un módulo de determinación de unidades de predicción, un módulo de predicción inter y un módulo de predicción intra. El módulo de determinación de unidades de predicción puede recibir una variedad de información, tal como información de unidad de predicción introducida desde el módulo de descodificación entrópica, información de modo de predicción sobre un método de predicción intra e información relacionada con la predicción de movimiento sobre un método de predicción inter, puede determinar una unidad de predicción en una unidad de codificación actual, y puede determinar cuál de entre la predicción inter y la predicción intra se realiza sobre la unidad de predicción. El módulo de predicción inter puede llevar a cabo una predicción inter sobre una unidad de predicción actual sobre la base de información incluida en por lo menos una imagen de entre una imagen previa y una imagen sucesiva de una imagen actual que incluye la unidad de predicción actual usando información necesaria para la predicción inter de la unidad de predicción actual suministrada desde el aparato de codificación de vídeo.
[0059] Para llevar a cabo la predicción inter, sobre la base de una unidad de codificación se puede determinar si el método de predicción de movimiento correspondiente a una unidad de predicción incluida en la unidad de codificación es un modo de omisión, un modo de fusión o un modo de AMVP.
[0060] En lo sucesivo en la presente, se describirá un método de construcción de una lista de candidatos a predictor de vector de movimiento en la ejecución de una predicción intra que hace uso de la AMVP de acuerdo con una realización ejemplificativa.
[0061] El módulo de predicción intra puede generar un bloque de predicción sobre la base de información de píxeles en una imagen actual. Cuando la unidad de predicción es una unidad de predicción obtenida por predicción intra, la predicción intra se puede llevar a cabo basándose en información de modo de predicción intra sobre la unidad de predicción suministrada desde el aparato de codificación de vídeo. El módulo de predicción intra puede incluir un filtro de AIS, un módulo de interpolación de píxeles de referencia y un filtro de DC. El filtro de AIS lleva a cabo un filtrado sobre píxeles de referencia de un bloque actual, y la decisión de si aplicar el filtro se puede determinar en función del modo de predicción de la unidad de predicción actual. El filtrado de AIS se puede llevar a cabo sobre los píxeles de referencia del bloque actual usando el modo de predicción de la unidad de predicción e información sobre el filtro de AIS suministrada desde el aparato de codificación de vídeo. Cuando el modo de predicción del bloque actual es un modo que no implica un filtrado de AIS, el filtro de AIS puede no aplicarse.
[0062] Cuando el modo de predicción de la unidad de predicción es un modo de predicción en el que se lleva a cabo una predicción intra sobre la base de valores de píxeles obtenidos interpolando los píxeles de referencia, el módulo de interpolación de píxeles de referencia puede generar píxeles de referencia en una unidad de píxel inferior a un entero interpolando los píxeles de referencia. Cuando el modo de predicción de la unidad de predicción actual es un modo de predicción en el que se genera un bloque de predicción sin interpolar los píxeles de referencia, los píxeles de referencia pueden no interpolarse. El filtro de DC puede generar un bloque de predicción a través de un filtrado cuando el modo de predicción del bloque actual es el modo de DC.
[0063] El bloque o imagen reconstruido se puede suministrar al módulo 235 de filtro. El módulo 235 de filtro incluye un filtro antibloques, un módulo de corrección de desplazamiento y un ALF.
[0064] La información sobre si el filtro antibloques se aplica a un bloque o imagen correspondiente y la información sobre cuál de entre un filtro fuerte y un filtro débil se aplica cuando se usa el filtro antibloques se pueden suministrar desde el aparato de codificación de vídeo. Al filtro antibloques del aparato de descodificación de vídeo se le pude suministrar información sobre el filtro antibloques desde el aparato de codificación de vídeo, y el mismo puede llevar a cabo el filtrado antibloques sobre un bloque correspondiente en el aparato de descodificación de vídeo. De manera similar al aparato de codificación de vídeo, el filtrado antibloques vertical y el filtrado antibloques horizontal se llevan a cabo en primer lugar, en los cuales al menos uno de entre el filtrado antibloques vertical y el filtrado antibloques
horizontal se puede realizar sobre una región de solapamiento. Cualquiera de entre el filtrado antibloques vertical y el filtrado antibloques horizontal que no se realice previamente se puede llevar a cabo sobre la región en la cual se solapan el filtrado antibloques vertical y el filtrado antibloques horizontal. Este proceso de filtrado antibloques puede permitir un procesado en paralelo del filtrado antibloques.
[0065] El módulo de corrección de desplazamiento puede llevar a cabo una corrección de desplazamiento sobre la imagen reconstruida basándose en el tipo de corrección de desplazamiento y la información de valores de desplazamiento aplicados a la imagen en la codificación.
[0066] El ALF puede llevar a cabo un filtrado sobre la base de un resultado de comparación entre la imagen reconstruida obtenida por medio de filtrado y la imagen original. El ALF se puede aplicar a una unidad de codificación sobre la base de información sobre si se aplica el ALF e información de coeficientes de ALF suministrada desde el aparato de codificación. La información de ALF se puede incluir y suministrar en un conjunto de parámetros específico.
[0067] La memoria 240 puede almacenar la imagen o bloque reconstruido para su uso como imagen de referencia o bloque de referencia, y puede suministrar la imagen reconstruida a un módulo de salida.
[0068] Tal como se ha descrito anteriormente, en las realizaciones dadas a conocer, la expresión “unidad de codificación” (“coding unit") se usa en calidad de unidad de codificación (encoding unit) y también se puede usar en calidad de unidad de descodificación.
[0069] Los componentes del aparato de codificación de vídeo y del aparato de descodificación de vídeo descritos anteriormente en referencia a las FIGS. 1 y 2, pueden llevar a cabo un método de codificación de vídeo y un método de descodificación de vídeo, los cuales se mencionarán en referencia a las siguientes realizaciones. Los componentes pueden incluir no solamente componentes de hardware, sino unidades de proceso de software que se pueden ejecutar a través de algoritmos.
[0070] La FIG. 3 ilustra una unidad de predicción candidata espacial y una unidad de predicción candidata temporal para generar un predictor de vector de movimiento de acuerdo con una realización ejemplificativa.
[0071] La ubicación de un píxel dispuesto a la izquierda y arriba de una unidad de predicción actual se define como (xP, yP), la anchura de la unidad de predicción actual se define como una variable nPSW, y su altura se define como una variable nPSH. La variable MinPuSize que representa una unidad de predicción candidata espacial es el tamaño más pequeño de una unidad de predicción disponible para la unidad de predicción.
[0072] En la siguiente realización, en relación con unidades de predicción espacial que son vecinas de la unidad de predicción actual, un bloque que incluye un píxel situado en (xP-1, yP+nPSH) se define como un primer bloque izquierdo 300, y un bloque que incluye un píxel situado en (xP-1, yP+nSPH-MinPuSize) como un segundo bloque izquierdo 310. Además, un bloque que incluye un píxel situado en (xP+nPSW, yP-1) se define como primer bloque superior 320, un bloque que incluye un píxel situado en (xP+nPSW-MinPuSize, yP-1) como segundo bloque superior 330, y un bloque que incluye un píxel situado en (xP-MinPuSize, yP-1) como tercer bloque superior 340.
[0073] La unidad de predicción candidata espacial puede incluir el primer bloque izquierdo 300, el segundo bloque izquierdo 310, el primer bloque superior 320, el segundo bloque superior 330 y el tercer bloque superior 340. Un grupo que incluye el primer bloque izquierdo 300 y el segundo bloque izquierdo 310 se define como un primer grupo de predicción de candidatos espaciales, y un grupo que incluye el primer bloque superior 320, el segundo bloque superior 330 y el tercer bloque superior 340 se define como segundo grupo de predicción de candidatos espaciales. Un término que incluye una unidad de predicción incluida en el primer grupo de predicción de candidatos espaciales y una unidad de predicción incluida en el segundo grupo de predicción de candidatos espaciales se puede representar como una unidad de predicción candidata espacial.
[0074] Una unidad 350 de predicción candidata temporal puede ser una unidad de predicción que incluye un píxel situado en (xP+nPSW, yP+nPSH) de una imagen ubicada conjuntamente de la unidad de predicción actual sobre la base de la posición de píxel (xP, yP) en una imagen que incluye la unidad de predicción actual, o puede ser una unidad de predicción que incluye un píxel situado en (xP+nPSW/2-1, yP+nPSH/2-1) cuando la unidad de predicción que incluye el píxel situado en (xP+nPSW, yP+nPSH) no está disponible.
[0075] Aunque la FIG. 3 muestra ubicaciones aleatorias y números arbitrarios de unidades de predicción candidatas espaciales y unidades de predicción candidatas temporales, las ubicaciones y los números de las unidades de predicción candidatas espaciales y la unidad de predicción candidata temporal pueden variar dentro del alcance de la presente invención, y también pueden variar las ubicaciones de unidades de predicción y de un grupo de predicción de candidatos explorado de manera preferente en la construcción de una lista de candidatos a predictor de vector de movimiento. Es decir, las ubicaciones, el número, el orden de exploración y el grupo de predicción de
candidatos correspondientes a unidades de predicción usadas en la construcción de la lista de candidatos a predictor de vector de movimiento de acuerdo con las siguientes realizaciones, pueden variar.
[0076] La FIG. 4 es un diagrama de flujo que ilustra un método de obtención de un predictor de vector de movimiento de acuerdo con una realización ejemplificativa.
[0077] En referencia a la FIG. 4, cuando hay presencia de información de disponibilidad del primer grupo de predicción de candidatos espaciales, se obtiene un candidato a predictor de vector de movimiento a partir de un primer grupo de predicción de candidatos espaciales (S400).
[0078] Tal como se ha descrito anteriormente, el primer grupo de predicción de candidatos espaciales puede incluir el primer bloque izquierdo y el segundo bloque izquierdo. La información de disponibilidad del primer grupo de predicción de candidatos espaciales se puede usar para obtener el predictor de vector de movimiento a partir del primer grupo de predicción de candidatos espaciales. La información de disponibilidad del primer grupo de predicción de candidatos espaciales puede representar información sobre si al menos un vector de movimiento entre los vectores de movimiento de bloques incluidos en el primer grupo de predicción de candidatos espaciales está incluido en una lista de candidatos a predictor de vector de movimiento de una unidad de predicción actual, como candidato a predictor de vector de movimiento disponible, sobre la base de información de bits predeterminada. En las siguientes realizaciones ejemplificativas se describirán un método de fijación de la información de disponibilidad del primer grupo de predicción de candidatos espaciales y un método de obtención del candidato a predictor de vector de movimiento.
[0079] Cuando hay presencia de información de disponibilidad del segundo grupo de predicción de candidatos espaciales, se obtiene un candidato a predictor de vector de movimiento a partir de un segundo grupo de predicción de candidatos espaciales (S410).
[0080] Tal como se ha descrito anteriormente, el segundo grupo de predicción de candidatos espaciales puede incluir el primer bloque superior, el segundo bloque superior y el tercer bloque superior. La información de disponibilidad del segundo grupo de predicción de candidatos espaciales se puede usar para obtener el predictor de vector de movimiento a partir del segundo grupo de predicción de candidatos espaciales. De manera similar a la información de disponibilidad del primer grupo de predicción de candidatos espaciales, la información de disponibilidad del segundo grupo de predicción de candidatos espaciales puede representar información sobre si al menos un vector de movimiento de entre los vectores de movimiento de bloques incluidos en el segundo grupo de predicción de candidatos espaciales está incluido en la lista de candidatos a predictor de vector de movimiento de la unidad de predicción actual, como candidato a predictor de vector de movimiento, sobre la base de información de bits predeterminada. En la siguiente realización ejemplificativa se describirán un método de fijación de la información de disponibilidad del segundo grupo de predicción de candidatos espaciales y un método de obtención del candidato a predictor de vector de movimiento.
[0081] Cuando hay presencia de información de disponibilidad de unidades de predicción candidatas temporales, se obtiene un candidato a predictor de vector de movimiento a partir de una unidad de predicción candidata temporal (S420).
[0082] La información de disponibilidad de unidades de predicción candidatas temporales puede representar información sobre si un vector de movimiento de la unidad de predicción candidata temporal está incluido en la lista de candidatos a predictor de vector de movimiento de la unidad de predicción actual, como candidato a predictor de vector de movimiento, sobre la base de información de bits predeterminada. En la siguiente realización ejemplificativa se describirán un método de fijación de la información de disponibilidad de unidades de predicción candidatas temporales y un método de obtención del candidato a predictor de vector de movimiento.
[0083] La lista de candidatos a predictor de vector de movimiento puede incluir los vectores de movimiento obtenidos en S400 a S420, es decir, un candidato a predictor de vector de movimiento obtenido a partir de por lo menos uno de entre el primer grupo de predicción de candidatos espaciales, el segundo grupo de predicción de candidatos espaciales y la unidad de predicción candidata temporal.
[0084] Cuando la lista de candidatos a predictor de vector de movimiento incluye candidatos a predictor de vector de movimiento idénticos, los candidatos a predictor de vector de movimiento idénticos que no sean un candidato a predictor de vector de movimiento con máxima prioridad se eliminan de la lista de candidatos a predictor de vector de movimiento (S430).
[0085] A través de una operación de determinación de la igualdad de candidatos a predictor de vector de movimiento en S430, en la lista de candidatos a predictor de vector de movimiento se pueden incluir solamente candidatos a predictor de vector de movimiento diferentes entre los candidatos a predictor de vector de movimiento
obtenidos en las operaciones S400 a S420 en las que se obtienen los candidatos a predictor de vector de movimiento.
[0086] Cuando no hay presencia de ningún candidato a predictor de vector de movimiento en la lista de candidatos a predictor de vector de movimiento, en la lista de candidatos a predictor de vector de movimiento se introduce adicionalmente un vector cero (S440).
[0087] Cuando, en las operaciones S400 a S420 en las que se obtiene el candidato a predictor de vector de movimiento, no se obtiene ningún candidato a predictor de vector de movimiento, en la lista de candidatos a predictor de vector de movimiento puede no haber presencia de ningún candidato a predictor de vector de movimiento. En este caso, el vector cero se puede incluir en la lista de candidatos a predictor de vector de movimiento. La operación de incluir el vector cero en la lista de candidatos a predictor de vector de movimiento se puede llevar a cabo de una manera integrada en la operación S470 en la que se introduce un candidato adicional a predictor de vector de movimiento, en cuyo caso esta operación puede no llevarse a cabo.
[0088] Se determina si el número de candidatos a predictor de vector de movimiento incluidos en la lista actual de candidatos a predictor de vector de movimiento es superior o igual al número máximo de candidatos a predictor de vector de movimiento que puede incluir la lista de candidatos a predictor de vector de movimiento (S450).
[0089] El número de candidatos a predictor de vector de movimiento que puede incluir la lista de candidatos a predictor de vector de movimiento puede limitarse a un valor predeterminado. Por ejemplo, cuando el número máximo de candidatos a predictor de vector de movimiento se limita a dos, si, a través de las etapas S400 a S440, se obtienen tres candidatos a predictor de vector de movimiento, que superan el número máximo de predictores de vector de movimiento, en la lista de candidatos a predictor de vector de movimiento se pueden incluir solamente los dos candidatos a predictor de vector de movimiento que tengan la prioridad más alta, y el otro candidato a predictor de vector de movimiento se puede excluir de la lista de candidatos a predictor de vector de movimiento.
[0090] Cuando el número de candidatos a predictor de vector de movimiento incluidos en la lista actual de candidatos a predictor de vector de movimiento es superior o igual al número máximo que puede incluir la lista de candidatos a predictor de vector de movimiento, en la lista de candidatos a predictor de vector de movimiento se incluyen solamente tantos candidatos a predictor de vector de movimiento como el número máximo de candidatos a predictor de vector de movimiento entre los candidatos a predictor de vector de movimiento incluidos en la lista de candidatos a predictor de vector de movimiento (S460).
[0091] El número máximo de candidatos a predictor de vector de movimiento se puede incluir siguiendo un orden de prioridad más alta en la lista de candidatos a predictor de vector de movimiento, y los candidatos a predictor de vector de movimiento restantes se pueden excluir de la lista de candidatos a predictor de vector de movimiento.
[0092] Cuando el número de candidatos a predictor de vector de movimiento incluidos en la lista actual de candidatos a predictor de vector de movimiento es menor que el número máximo de candidatos a predictor de vector de movimiento, en la lista de candidatos a predictor de vector de movimiento se incluye un candidato adicional a predictor de vector de movimiento (S470).
[0093] Cuando el número de candidatos a predictor de vector de movimiento es menor que el número máximo de candidatos a predictor de vector de movimiento que puede incluir la lista de candidatos a predictor de vector de movimiento, en la lista de candidatos a predictor de vector de movimiento se puede incluir un candidato adicional a predictor de vector de movimiento para construir la lista de candidatos a predictor de vector de movimiento. Por ejemplo, cuando los candidatos a predictor de vector de movimiento incluidos en la lista actual de candidatos a predictor de vector de movimiento no son un vector cero, en la lista de candidatos a predictor de vector de movimiento se puede incluir un vector cero como candidato a predictor de vector de movimiento adicional. El candidato a predictor de vector de movimiento adicional puede ser una combinación de vectores ya presentes en la lista de candidatos a predictor de vector de movimiento o un valor escalado, en lugar del vector cero.
[0094] Un predictor de vector de movimiento o la unidad de predicción actual se determina sobre la base de información de indexación sobre los candidatos a predictor de vector de movimiento (S480).
[0095] La información de indexación sobre los candidatos a predictor de vector de movimiento puede representar qué candidato a predictor de vector de movimiento se usa como predictor de vector de movimiento de la unidad de predicción actual entre los candidatos a predictor de vector de movimiento incluidos en la lista de candidatos a predictor de vector de movimiento obtenida a través de las etapas S400 a S470. La información sobre el vector de movimiento de la unidad de predicción actual se puede obtener sumando el predictor de vector de movimiento de la unidad de predicción actual que se obtiene basándose en la información de indexación sobre los candidatos a predictor de vector de movimiento e información de vector de movimiento diferencial en forma de una diferencia
entre un valor de un vector de movimiento original de la unidad de predicción actual y un valor del predictor de vector de movimiento.
[0096] La FIG. 5 ilustra un método de clasificación de vectores de movimiento de unidades de predicción candidatas espaciales a través de la relación entre un vector de movimiento de una unidad de predicción actual y los vectores de movimiento de las unidades de predicción candidatas espaciales.
[0097] En referencia a la FIG. 5, un vector de movimiento de la unidad de predicción candidata espacial obtenida a partir del mismo cuadro de referencia y la misma lista de imágenes de referencia que los correspondientes de la unidad de predicción actual se define como primer vector 500 de movimiento. En referencia a la FIG. 5, definiendo una imagen de referencia de la unidad 550 de predicción actual como imagen j y una lista de imágenes de referencia que incluye la imagen j como lista L0, una imagen de referencia indicada por el vector 500 de la unidad 570 de predicción candidata espacial es una imagen j y una lista de imágenes de referencia que incluye la imagen j es la lista L0, y, por consiguiente, el vector de movimiento de la unidad 570 de predicción candidata espacial y el vector de movimiento de la unidad de predicción actual tienen la misma imagen de referencia y la misma lista de imágenes de referencia. Por ello, como primer vector 500 de movimiento se define un vector de movimiento obtenido a partir del mismo cuadro de referencia y la misma lista que los correspondientes de la unidad de predicción actual.
[0098] Un vector de movimiento de la unidad 570 de predicción candidata espacial que tiene el mismo cuadro de referencia que el correspondiente de la unidad 550 de predicción actual pero que se obtiene a partir de una lista de imágenes de referencia diferente con respecto a la de la unidad 550 de predicción actual se define como segundo vector 510 de movimiento. Definiendo una imagen de referencia de la unidad 550 de predicción actual como imagen j y una lista de imágenes de referencia que incluye la imagen j como lista L0, una imagen de referencia indicada por el vector de la unidad 570 de predicción candidata espacial es una imagen j y una lista de imágenes de referencia que incluye la imagen j es una lista L1, y, por consiguiente, el vector 510 de movimiento de la unidad 570 de predicción candidata espacial y el vector de movimiento de la unidad de predicción actual tienen la misma imagen de referencia pero listas de imágenes de referencia diferentes. Por ello, un vector de movimiento que tiene el mismo cuadro de referencia que el correspondiente de la unidad de predicción actual pero que se obtiene a partir de una lista diferente con respecto a la de la unidad de predicción actual se define como segundo vector 510 de movimiento.
[0099] Un vector de movimiento de la unidad de predicción candidata espacial que tiene un cuadro de referencia diferente al de la unidad de predicción actual pero que se obtiene a partir de la misma lista de imágenes de referencia que la de la unidad de predicción actual se define como tercer vector 520 de movimiento. Definiendo una imagen de referencia de la unidad 550 de predicción actual como imagen j y una lista de imágenes de referencia que incluye la imagen j como lista L0, una imagen de referencia indicada por el vector 520 de la unidad 570 de predicción candidata espacial es una imagen i y una lista de imágenes de referencia que incluye la imagen i es la lista L0, y, por consiguiente, el vector de movimiento de la unidad de predicción candidata espacial y el vector de movimiento de la unidad de predicción actual tienen imágenes de referencia diferentes pero la misma lista de imágenes de referencia. Por ello, un vector de movimiento que tiene un cuadro de referencia diferente con respecto al de la unidad 550 de predicción actual pero que se obtiene a partir de la misma lista que la de la unidad 550 de predicción actual se define como tercer vector 520 de movimiento. Puesto que el tercer vector 520 de movimiento tiene una imagen de referencia diferente con respecto a la de la unidad de predicción actual, el tercer vector 520 de movimiento se puede escalar basándose en la imagen de referencia de la unidad de predicción actual para incluirlo en una lista de candidatos a predictor de vector de movimiento cuando se usa el vector de movimiento de la unidad de predicción candidata espacial.
[0100] Un vector de movimiento de la unidad 570 de predicción candidata espacial obtenida a partir de un cuadro de referencia diferente y una lista de imágenes de referencia diferente con respecto a los de la unidad 550 de predicción actual se define como cuarto vector 530 de movimiento. Definiendo una imagen de referencia de la unidad 550 de predicción actual como imagen j y una lista de imágenes de referencia que incluye la imagen j como lista L0, una imagen de referencia indicada por el vector 530 de la unidad 570 de predicción candidata espacial es una imagen m y una lista de imágenes de referencia que incluye la imagen m es una lista L1, y, por consiguiente, el vector de movimiento de la unidad de predicción candidata espacial y el vector de movimiento de la unidad de predicción actual tienen imágenes de referencia diferentes y listas de imágenes de referencia diferentes. Por ello, un vector de movimiento obtenido a partir de un cuadro de referencia diferente y una lista de imágenes de referencia diferente con respecto a los de la unidad de predicción actual se define como cuarto vector 530 de movimiento. Puesto que el cuarto vector 530 de movimiento también tiene una imagen de referencia diferente con respecto a la de la unidad de predicción actual, el cuarto vector 530 de movimiento se puede escalar basándose en la imagen de referencia de la unidad de predicción actual para incluirlo en una lista de candidatos a predictor de vector de movimiento cuando se usa el vector de movimiento de la unidad de predicción candidata espacial.
[0101] Tal como se ha descrito anteriormente, los vectores de movimiento de la unidad de predicción candidata espacial se pueden clasificar entre los vectores de movimiento primero a cuarto basándose en el cuadro de referencia y la lista de imágenes de referencia de la unidad de predicción actual. El método de clasificación de los
vectores de movimiento de las unidades de predicción candidatas espaciales entre los vectores de movimiento primero a cuarto se puede usar para determinar cuál de los vectores de movimiento de las unidades de predicción candidatas espaciales se usa preferentemente como candidato a predictor de vector de movimiento, de lo cual se proporcionará una descripción.
[0102] La FIG. 6 es un diagrama de flujo que ilustra un método de obtención de información de disponibilidad del grupo de predicción de candidatos espaciales y de información de disponibilidad de unidades de predicción candidatas temporales de acuerdo con una realización ejemplificativa.
[0103] La FIG. 6 ilustra el método de obtención de la información de disponibilidad del grupo de predicción de candidatos espaciales y el método de obtención de la información de disponibilidad de unidades de predicción candidatas temporales descrito anteriormente en referencia a las etapas S400 a S420 de la FIG. 4.
[0104] La FIG. 6 es un diagrama de flujo que ilustra esquemáticamente un método de obtención de información de disponibilidad y de un candidato a predictor de vector de movimiento.
[0105] En referencia a la FIG. 6, la presencia de un primer vector de movimiento y de un segundo vector de movimiento se determina secuencialmente en el orden que va del primer bloque izquierdo al segundo bloque izquierdo (S600).
[0106] En la operación S600, se determina si el primer vector de movimiento está presente en el primer bloque izquierdo, y, cuando no hay presencia de un primer vector de movimiento en el primer bloque izquierdo, se determina si el segundo vector de movimiento está presente en el primer bloque izquierdo.
[0107] Posteriormente, se determina si el primer vector de movimiento está presente en el segundo bloque izquierdo, y, cuando no hay presencia de un primer vector de movimiento en el segundo bloque izquierdo, se determina si el segundo vector de movimiento está presente en el segundo bloque izquierdo.
[0108] Como consecuencia de la determinación secuencial en S600, cuando hay presencia de un vector de movimiento que cumple las condiciones, puede omitirse un procedimiento de determinación sucesivo, y el vector de movimiento puede incluirse en la lista de candidatos a predictor de vector de movimiento como candidato a predictor de vector de movimiento. Además, la información de disponibilidad del primer grupo de predicción de candidatos espaciales se puede fijar a 1 para indicar que el candidato a predictor de vector de movimiento está presente en el primer grupo de predicción de candidatos espaciales. 1 es un número binario aleatorio para indicar si está presente el candidato a predictor de vector de movimiento, y el mismo se puede sustituir por otro código binario. En la presente realización, los números binarios 1 y 0 que representan información predeterminada se seleccionan de manera aleatoria, y los mismos se pueden sustituir por otro código binario o un código generado por un método alternativo.
[0109] La presencia de un tercer vector de movimiento y un cuarto vector de movimiento se determina secuencialmente en el orden que va desde el primer bloque izquierdo al segundo bloque izquierdo (S610).
[0110] Cuando la información de disponibilidad no se fija a 1 a través de la etapa S600, es decir, cuando no se encuentra ningún vector que cumple las condiciones como consecuencia de la determinación secuencial de si el primer vector de movimiento y el segundo vector de movimiento están presentes en el orden que va desde el primer bloque izquierdo al segundo bloque izquierdo, en S610 puede obtenerse un candidato a predictor de vector de movimiento.
[0111] Es decir, en S610, se determina si el tercer vector de movimiento está presente en el primer bloque izquierdo, y, cuando no hay presencia de un tercer vector de movimiento en el primer bloque izquierdo, se determina si el cuarto vector de movimiento está presente en el primer bloque izquierdo.
[0112] Posteriormente, se determina si el tercer vector de movimiento está presente en el segundo bloque izquierdo, y, cuando no hay presencia de un tercer vector de movimiento en el segundo bloque izquierdo, se determina si el cuarto vector de movimiento está presente en el segundo bloque izquierdo.
[0113] Cuando hay presencia de un vector de movimiento que cumple las condiciones, como consecuencia de la determinación secuencial de S610, la información de disponibilidad del primer grupo de predicción de candidatos espaciales se puede fijar a 1, y puede omitirse un procedimiento sucesivo de determinación de si hay presencia de un vector de movimiento.
[0114] Tal como se ha descrito anteriormente, el tercer vector de movimiento y el cuarto vector de movimiento indican imágenes de referencia diferentes con respecto a la de la unidad de predicción actual y, por lo tanto, se pueden incluir en la lista de candidatos a predictor de vector de movimiento después de un escalado.
[0115] Cuando se determina que el tercer vector de movimiento y el cuarto vector de movimiento están presentes en el primer bloque izquierdo o el segundo bloque izquierdo en S610, la información que indica si se lleva a cabo el escalado (a la que, en lo sucesivo en la presente, se hace referencia como “información de escalado”) se fija a 1 para mostrar que se lleva a cabo un escalado sobre el candidato a predictor de vector de movimiento una vez. En el método de predicción de movimiento de acuerdo con la realización ejemplificativa, el número de veces de escalado para generar un candidato a predictor de vector de movimiento puede limitarse. Por ejemplo, cuando el número de veces de escalado para generar el candidato a predictor de vector de movimiento se limita a 1, la información de bandera que representa si se lleva a cabo el escalado indica que el mismo se realiza de manera que no se efectúa un escalado redundante. Cuando el número de veces de escalado se limita, la complejidad en la obtención de un candidato a predictor de vector de movimiento puede reducirse notablemente.
[0116] Cuando hay presencia de un vector de movimiento que cumple las condiciones como consecuencia de la determinación secuencial de la etapa S610, el vector de movimiento se puede incluir en la lista de candidatos a predictor de vector de movimiento mediante escalado, y la información de disponibilidad del primer grupo de predicción de candidatos espaciales se puede fijar a 1.
[0117] Un candidato a predictor de vector de movimiento se puede obtener a partir del primer grupo de predicción de candidatos espaciales a través de S400 de la FIG. 4, basándose en la información de disponibilidad del primer grupo de predicción de candidatos espaciales fijada a través de las etapas S600 y S610.
[0118] La presencia del primer vector de movimiento y del segundo vector de movimiento se determina secuencialmente en el orden del primer bloque superior, el segundo bloque superior y el tercer bloque superior (S620).
[0119] En la operación S620, se determina si el primer vector de movimiento está presente en el primer bloque superior, y, cuando no hay presencia de un primer vector de movimiento en el primer bloque superior, se determina si el segundo vector de movimiento está presente en el primer bloque superior.
[0120] Posteriormente, se determina si el primer vector de movimiento está presente en el segundo bloque superior, y, cuando no hay presencia de un primer vector de movimiento en el segundo bloque superior, se determina si el segundo vector de movimiento está presente en el segundo bloque superior.
[0121] A continuación, se determina si el primer vector de movimiento está presente en el tercer bloque superior, y, cuando no hay presencia de un primer vector de movimiento en el tercer bloque superior, se determina si el segundo vector de movimiento está presente en el tercer bloque superior.
[0122] Cuando hay presencia de un vector de movimiento que cumple las condiciones como consecuencia de la determinación secuencial de la etapa S620, puede omitirse un procedimiento de determinación sucesivo. El vector de movimiento obtenido se puede incluir en la lista de candidatos a predictor de vector de movimiento, y la información de disponibilidad del segundo grupo de predicción de candidatos espaciales se puede fijar a 1 para indicar que el candidato a predictor de vector de movimiento está presente en el primer grupo de predicción de candidatos espaciales.
[0123] La presencia del tercer vector de movimiento y del cuarto vector de movimiento se determina secuencialmente en el orden que va del primer bloque superior, el segundo bloque superior y el tercer bloque superior basándose en si se escala la primera unidad de predicción candidata espacial (S630).
[0124] Cuando la información de disponibilidad del segundo grupo de predicción de candidatos espaciales no se fija a 1 a través de la etapa S620, en la etapa S630 puede obtenerse un candidato a predictor de vector de movimiento. Tal como se ha descrito anteriormente, si el número de veces de escalado se limita y el escalado se lleva a cabo el número limitado de veces de escalado en la obtención del candidato a predictor de vector de movimiento a partir del primer grupo de predicción de candidatos espaciales, la operación s630 puede no llevarse a cabo. Por ejemplo, cuando la información de escalado se representa como 1 en S610, la operación S630 puede no llevarse a cabo. Cuando el escalado está disponible en S630, se determina si el tercer vector de movimiento está presente en el primer bloque superior, y no hay presencia de ningún tercer vector de movimiento en el primer bloque superior, se determina si el cuarto vector de movimiento está presente en el primer bloque superior en S630.
[0125] Posteriormente, se determina si el tercer vector de movimiento está presente en el segundo bloque superior, y, cuando no hay presencia de un tercer vector de movimiento en el segundo bloque superior, se determina si el cuarto vector de movimiento está presente en el segundo bloque superior.
[0126] A continuación, se determina si el tercer vector de movimiento está presente en el tercer bloque superior, y, cuando no hay presencia de un tercer vector de movimiento en el tercer bloque superior, se determina si el cuarto vector de movimiento está presente en el tercer bloque superior.
[0127] Tal como se ha descrito anteriormente, el tercer vector de movimiento y el cuarto vector de movimiento indican imágenes de referencia diferentes con respecto a la de la unidad de predicción actual y, por lo tanto, se pueden incluir en la lista de candidatos a predictor de vector de movimiento después del escalado.
[0128] Cuando hay presencia de un vector de movimiento que cumple las condiciones como consecuencia de la determinación secuencial en S630, el vector de movimiento se puede incluir en la lista de candidatos a predictor de vector de movimiento y la información de disponibilidad del segundo grupo de predicción de candidatos espaciales se puede fijar a 1.
[0129] Un candidato a predictor de vector de movimiento se puede obtener a partir del primer grupo de predicción de candidatos espaciales a través de la S410 de la FIG. 4 basándose en la información de disponibilidad del segundo grupo de predicción de candidatos espaciales fijada a través de S620 y S630.
[0130] Cuando el candidato a predictor de vector de movimiento obtenido a través de S620 y S630 es el mismo que el candidato a predictor de vector de movimiento obtenido a partir del primer grupo de predicción de candidatos espaciales en S600 y S610, se puede determinar que el candidato a predictor de vector de movimiento obtenido no está disponible.
[0131] Por ejemplo, aunque el primer vector de movimiento esté presente en el primer bloque superior en S620, si el vector de movimiento del primer bloque superior es igual al candidato a predictor de vector de movimiento del primer grupo de predicción de candidatos espaciales obtenido a través de S600 y S610, el vector de movimiento del primer bloque superior no se puede seleccionar como candidato a predictor de vector de movimiento.
[0132] Alternativamente, el procedimiento de determinación de si el candidato a predictor de vector de movimiento obtenido en S620 y S630 es el mismo que el candidato a predictor de vector de movimiento del primer grupo de predicción de candidatos espaciales obtenido a través de S600 y S610 no se puede llevar a cabo en S620 y S630, pero se puede efectuar eliminando el mismo candidato a predictor de vector de movimiento de la lista de candidatos a predictor de vector de movimiento entre el candidato a predictor de vector de movimiento del primer grupo de predicción de candidatos espaciales, el candidato a predictor de vector de movimiento del segundo grupo de predicción de candidatos espaciales y un candidato a predictor de vector de movimiento de una unidad de predicción candidata temporal, que están incluidos en la lista de candidatos a predictor de vector de movimiento, después de que el vector de movimiento se obtenga a partir de la unidad de predicción candidata temporal en S640, lo cual se describirá posteriormente.
[0133] Se determina si el candidato a predictor de vector de movimiento está presente en la unidad de predicción candidata temporal (S640).
[0134] Una imagen ubicada conjuntamente que incluye la unidad de predicción candidata temporal puede ser una primera imagen de una lista de imágenes de referencia 1 de la imagen actual o una primera imagen de una lista de imágenes de referencia 0 de la imagen actual en función de información de bandera predeterminada. La unidad de predicción candidata temporal que usa las dos listas de imágenes de referencia puede utilizar solamente un vector de movimiento preferente que está presente en una lista, como candidato a predictor de vector de movimiento, en función de la información de bandera predeterminada. Cuando la distancia entre la imagen actual y una imagen de referencia correspondiente a la imagen actual es diferente de la distancia entre la imagen que incluye la unidad de predicción candidata temporal y una imagen de referencia correspondiente a la unidad de predicción candidata temporal, puede llevarse a cabo un escalado sobre el candidato a predictor de vector de movimiento obtenido a partir de la unidad de predicción candidata temporal.
[0135] Cuando el candidato a predictor de vector de movimiento puede obtenerse a partir de la unidad de predicción candidata temporal, la información de disponibilidad de la unidad de predicción candidata temporal puede fijarse a 1.
[0136] Las FIGS. 7 a 9 son diagramas de flujo que ilustran métodos de construcción de una lista de candidatos a predictor de vector de movimiento de acuerdo con realizaciones ejemplificativas.
[0137] La FIG. 7 es un diagrama de flujo que ilustra un método de obtención de un candidato a predictor de vector de movimiento a partir de un primer grupo de predicción de candidatos espaciales de acuerdo con una realización ejemplificativa.
[0138] En referencia a la FIG. 7, se determina si hay presencia de un primer vector de movimiento o un segundo vector de movimiento en un primer bloque izquierdo (S700).
[0139] Cuando el primer vector de movimiento o el segundo vector de movimiento está presente en el primer bloque izquierdo, el vector presente se incluye en una lista de candidatos a predictor de vector de movimiento como candidato a predictor de vector de movimiento, la información de disponibilidad del primer grupo de predicción de candidatos espaciales se fija a 1 (S705), y se determina si el primer vector de movimiento o el segundo vector de movimiento está presente en un primer bloque superior (S740).
[0140] Cuando el primer vector de movimiento o el segundo vector de movimiento no está presente en el primer bloque izquierdo, se determina si el primer vector de movimiento o el segundo vector de movimiento está presente en un segundo bloque izquierdo (S710).
[0141] Cuando el primer vector de movimiento o el segundo vector de movimiento está presente en el segundo bloque izquierdo, el vector presente se incluye en la lista de candidatos a predictor de vector de movimiento como candidato a predictor de vector de movimiento, la información de disponibilidad del primer grupo de predicción de candidatos espaciales se fija a 1 (S705), y se determina si el primer vector de movimiento o el segundo vector de movimiento está presente en el primer bloque superior (S740).
[0142] Cuando el primer vector de movimiento o el segundo vector de movimiento no está presente en el segundo bloque izquierdo, se determina si un tercer vector de movimiento o un cuarto vector de movimiento está presente en el primer bloque izquierdo (S720).
[0143] Cuando el tercer vector de movimiento o el cuarto vector de movimiento está presente en el primer bloque izquierdo, el vector presente se escala (la información de escalado se expresa como 1) y se incluye en la lista de candidatos a predictor de vector de movimiento como candidato a predictor de vector de movimiento, y la información de disponibilidad del primer grupo de predicción de candidatos espaciales se fija a 1 (S725). Se determina si el primer vector de movimiento o el segundo vector de movimiento está presente en el primer bloque superior (S740).
[0144] Cuando el tercer vector de movimiento o el cuarto vector de movimiento no está presente en el primer bloque izquierdo, se determina si el tercer vector de movimiento o el cuarto vector de movimiento está presente en el segundo bloque izquierdo (S730).
[0145] Cuando el tercer vector de movimiento o el cuarto vector de movimiento está presente en el segundo bloque izquierdo, el vector presente se escala (la información de escalado se expresa como 1) y se incluye en la lista de candidatos a predictor de vector de movimiento como candidato a predictor de vector de movimiento, y la información de disponibilidad del primer grupo de predicción de candidatos espaciales se fija a 1 (S725). Se determina si el primer vector de movimiento o el segundo vector de movimiento está presente en el primer bloque superior (S740).
[0146] La FIG. 8 es un diagrama de flujo que ilustra un método de obtención de un candidato a predictor de vector de movimiento (el primer vector de movimiento y el segundo vector de movimiento) a partir de un segundo grupo de predicción de candidatos espaciales de acuerdo con una realización ejemplificativa.
[0147] En referencia a la FIG. 8, se determina si el primer vector de movimiento o el segundo vector de movimiento está presente en el primer bloque superior (S800).
[0148] Cuando el primer vector de movimiento o el segundo vector de movimiento está presente en el primer bloque superior, el vector presente se incluye en la lista de candidatos a predictor de vector de movimiento, la información de disponibilidad del segundo grupo de predicción de candidatos espaciales se fija a 1 (S815), y se determina si está presente un candidato a predictor de vector de movimiento de una unidad de predicción candidata temporal (S1000 de la FIG. 10).
[0149] Cuando el primer vector de movimiento o el segundo vector de movimiento no está presente en el primer bloque superior, se determina si el primer vector de movimiento o el segundo vector de movimiento está presente en el segundo bloque superior (S910).
[0150] Cuando el primer vector de movimiento o el segundo vector de movimiento está presente en el segundo bloque superior, el vector presente se incluye en la lista de candidatos a predictor de vector de movimiento, la información de disponibilidad del segundo grupo de predicción de candidatos espaciales se fija a 1 (S915), y se determina si el candidato a predictor de vector de movimiento de la unidad de predicción candidata temporal está presente (S1000 de la FIG. 10).
[0151] Cuando el primer vector de movimiento o el segundo vector de movimiento no está presente en el segundo bloque superior, se determina si el primer vector de movimiento o el segundo vector de movimiento está presente en el tercer bloque superior (S820).
[0152] Cuando el primer vector de movimiento o el segundo vector de movimiento está presente en el tercer bloque superior, el vector presente se incluye en la lista de candidatos a predictor de vector de movimiento, la información de disponibilidad del segundo grupo de predicción de candidatos espaciales se fija a 1 (S815), y se determina si está presente el candidato a predictor de vector de movimiento de la unidad de predicción candidata temporal (S1000 de la FIG. 10).
[0153] La FIG. 9 es un diagrama de flujo que ilustra un método de obtención de un candidato a predictor de vector de movimiento (el tercer vector de movimiento y el cuarto vector de movimiento) a partir del segundo grupo de predicción de candidatos espaciales de acuerdo con una realización ejemplificativa.
[0154] En referencia a la FIG. 9, cuando el primer vector de movimiento o el segundo vector de movimiento no está presente en el tercer bloque superior, se determina si se lleva a cabo un escalado en el primer grupo de predicción de candidatos espaciales (S900). Cuando se lleva a cabo un escalado en el primer grupo de predicción de candidatos espaciales, se determina si está presente el candidato a predictor de vector de movimiento de la unidad de predicción candidata temporal, sin obtener un candidato a predictor de vector de movimiento adicional a partir del segundo grupo de predicción de candidatos espaciales (S1000). Cuando se lleva a cabo el escalado en el primer grupo de predicción de candidatos espaciales, se determina si el tercer vector de movimiento o el cuarto vector de movimiento está presente en el primer bloque superior (S905).
[0155] Es decir, el número de veces de escalado se limita, obteniéndose así el candidato a predictor de vector de movimiento.
[0156] Cuando el tercer vector de movimiento o el cuarto vector de movimiento está presente en el primer bloque superior, el vector presente se escala y se incluye en la lista de candidatos a predictor de vector de movimiento, la información de disponibilidad del segundo grupo de predicción de candidatos espaciales se fija a 1 (S915), y se determina si está presente el candidato a predictor de vector de movimiento de la unidad de predicción candidata temporal (S1000 de la FIG. 10).
[0157] Cuando el tercer vector de movimiento o el cuarto vector de movimiento no está presente en el primer bloque superior, se determina si el tercer vector de movimiento o el cuarto vector de movimiento está presente en el segundo bloque superior (S910).
[0158] Cuando el tercer vector de movimiento o el cuarto vector de movimiento está presente en el segundo bloque superior, el vector presente se escala y se incluye en la lista de candidatos a predictor de vector de movimiento, la información de disponibilidad del segundo grupo de predicción de candidatos espaciales se fija a 1 (S915), y se determina si está presente el candidato a predictor de vector de movimiento de la unidad de predicción candidata temporal (S1000 de la FIG. 10).
[0159] Cuando el tercer vector de movimiento o el cuarto vector de movimiento no está presente en el segundo bloque superior y no se lleva a cabo un escalado en el primer grupo de predicción de candidatos espaciales (la información de escalado se expresa como 0), se determina si el tercer vector de movimiento o el cuarto vector de movimiento está presente en el tercer bloque superior (S920).
[0160] Cuando el tercer vector de movimiento o el cuarto vector de movimiento está presente en el tercer bloque superior, el vector presente se escala y se incluye en la lista de candidatos a predictor de vector de movimiento, la información de disponibilidad del segundo grupo de predicción de candidatos espaciales se fija a 1 (S915), y se determina si está presente el candidato a predictor de vector de movimiento de la unidad de predicción candidata temporal (S1000 de la FIG. 10).
[0161] La FIG. 10 es un diagrama de flujo que ilustra un método de obtención de un candidato a predictor de vector de movimiento a partir del segundo grupo de predicción de candidatos espaciales de acuerdo con otra realización ejemplificativa.
[0162] En la FIG. 10, a diferencia de la FIG. 9, cuando no se obtiene un candidato a predictor de vector de movimiento a partir del primer grupo de predicción de candidatos espaciales, aún cuando el primer vector de movimiento o el segundo vector de movimiento se obtenga a partir del segundo grupo de predicción de candidatos espaciales como candidato a predictor de vector de movimiento, se determina adicionalmente si el tercer vector de movimiento o el cuarto vector de movimiento está presente en el segundo grupo de predicción de candidatos espaciales y el vector de movimiento presente se puede usar como candidato a predictor de vector de movimiento.
[0163] Es decir, cuando el primer vector de movimiento o el segundo vector de movimiento se obtiene como candidato a predictor de vector de movimiento a partir del segundo grupo de predicción de candidatos espaciales (S815) en la FIG. 8, se determina si la información de disponibilidad del primer grupo de predicción de candidatos espaciales es 1 (S900-1).
[0164] Es decir, cuando el primer vector de movimiento o el segundo vector de movimiento se obtiene como candidato a predictor de vector de movimiento a partir del segundo grupo de predicción de candidatos espaciales y la información de disponibilidad del primer grupo de predicción de candidatos espaciales se fija a 1, si un candidato a predictor de vector de movimiento no se obtiene a partir del primer grupo de predicción de candidatos espaciales como consecuencia de la determinación de la información de disponibilidad del primer grupo de predicción de candidatos espaciales, se lleva a cabo una exploración adicional para determinar si el tercer vector de movimiento o el cuarto vector de movimiento está presente en el segundo grupo de predicción de candidatos espaciales. Para efectuar la exploración, la información de disponibilidad del segundo grupo de predicción de candidatos espaciales fijada en S815 se puede fijar a 0 hasta que se obtenga un vector de movimiento que cumpla las condiciones durante la exploración de S905-1, S910-1 y S920-1.
[0165] Cuando el primer vector de movimiento o el segundo vector de movimiento no se obtiene como candidato a predictor de vector de movimiento a partir del segundo grupo de predicción de candidatos espaciales (S820 de la FIG. 8), se determina si el tercer vector de movimiento o el cuarto vector de movimiento está presente en el primer bloque superior en S905-1.
[0166] La FIG. 11 es un diagrama de flujo que ilustra un método de obtención del candidato a predictor de vector de movimiento del grupo de predicción de candidatos temporales de acuerdo con una realización ejemplificativa.
[0167] En referencia a la FIG. 11, se determina si el candidato a predictor de vector de movimiento de la unidad de predicción candidata temporal está presente (S1000).
[0168] Cuando el candidato a predictor de vector de movimiento de la unidad de predicción candidata temporal está presente, el vector presente se incluye en la lista de candidatos a predictor de vector de movimiento y la información de disponibilidad de la unidad de predicción candidata temporal se fija a 1 (S1010).
[0169] En el caso del candidato a predictor de vector de movimiento de la unidad de predicción candidata temporal, la decisión de si se efectúa el escalado puede cambiar en función de la distancia entre una imagen que incluye la unidad de predicción candidata temporal actual y una imagen de referencia a la que se refiere la unidad de predicción candidata temporal.
[0170] Se determina si el mismo candidato a predictor de vector de movimiento está presente entre los candidatos a predictor de vector de movimiento incluidos en la lista de candidatos a predictor de vector de movimiento (S1020).
[0171] Cuando el candidato a predictor de vector de movimiento temporal no está presente y el candidato a predictor de vector de movimiento no está presente en la lista de candidatos a predictor de vector de movimiento, se añade un vector cero como candidato a predictor de vector de movimiento a la lista de candidatos a predictor de vector de movimiento (S1040).
[0172] Cuando el mismo candidato a predictor de vector de movimiento está presente entre los candidatos a predictor de vector de movimiento incluidos en la lista de candidatos a predictor de vector de movimiento, los vectores idénticos que no sean un candidato a predictor de vector de movimiento con la prioridad máxima se eliminan de la lista de candidatos a predictor de vector de movimiento (S1030).
[0173] Si la lista de candidatos a predictor de vector de movimiento está configurada de manera que incluye un número fijo de candidatos a predictor de vector de movimiento, puede llevarse a cabo adicionalmente la siguiente operación.
[0174] Cuando la lista de candidatos a predictor de vector de movimiento incluye un número preestablecido o menos de candidatos a predictor de vector de movimiento y no incluye ningún vector cero, se añade un vector cero, como candidato a predictor de vector de movimiento, a la lista de candidatos a predictor de vector de movimiento (S1050).
[0175] Tal como se ha descrito anteriormente, cuando se obtiene un candidato a predictor de vector de movimiento a partir del segundo grupo de predicción de candidatos espaciales, en la obtención del candidato a predictor de vector de movimiento a partir del segundo grupo de candidatos espaciales ilustrado en las FIGS. 8 y 9 puede llevarse a cabo un procedimiento de determinación de si el candidato a predictor de vector de movimiento es el mismo que el candidato a predictor de vector de movimiento obtenido a partir del primer grupo de predicción de candidatos espaciales.
[0176] Las operaciones ilustradas en las FIGS. 6 a 10, que describen el proceso de obtención de los candidatos a predictor de vector de movimiento, puede que no se lleven a cabo necesariamente en la misma secuencia que la mencionada anteriormente sino que se pueden efectuar de una manera paralela. En el proceso de obtención de los candidatos a predictor de vector de movimiento, en el que el número de veces de escalado está limitado y un vector que va a escalarse se somete preferentemente a una exploración, el número y las ubicaciones de primeras unidades de predicción candidatas espaciales, el número y las ubicaciones de segundas unidades de predicción candidatas espaciales y las ubicaciones de unidades de predicción candidatas temporales pueden cambiarse y modificarse. Además, la adición de un vector adicional y la limitación del número de candidatos a predictor de vector de movimiento aleatoriamente también pueden cambiarse y modificarse.
[0177] El método de codificación de vídeo y el método de descodificación de vídeo antes descritos se pueden llevar a cabo con los componentes del aparato de codificación de vídeo y el aparato de descodificación de vídeo ilustrados en las FIGS. 1 y 2.
Claims (10)
1. Método para obtener un predictor de vector de movimiento de un bloque actual, por medio de un aparato de descodificación, comprendiendo el método:
obtener un primer candidato a predictor de vector de movimiento, mvp, en donde el primer candidato a mvp se obtiene basándose en un primer vector de movimiento de un bloque disponible entre un bloque inferior izquierdo y un bloque izquierdo del bloque actual cuando existe el bloque disponible entre el bloque inferior izquierdo y el bloque izquierdo;
obtener un segundo candidato a mvp, en donde el segundo candidato a mvp se obtiene basándose en un segundo vector de movimiento de un bloque disponible entre un bloque superior derecho, un bloque superior y un bloque superior izquierdo del bloque actual cuando existe el bloque disponible entre el bloque superior derecho, el bloque superior y el bloque superior izquierdo;
obtener un candidato a mvp temporal a partir de un bloque vecino temporal con respecto al bloque actual usando la determinación sobre si el bloque vecino temporal está disponible para predecir el vector de movimiento del bloque actual;
construir una lista de candidatos a mvp basándose en por lo menos uno del primer candidato a mvp, el segundo candidato a mvp y el candidato a mvp temporal; y
determinar el predictor de vector de movimiento para el bloque actual, en donde el predictor de vector de movimiento para el bloque actual se selecciona de entre candidatos a mvp de la lista de candidatos a mvp, en donde el primer candidato a mvp se obtiene escalando el primer vector de movimiento del bloque disponible entre el bloque inferior izquierdo y el bloque izquierdo cuando existe el bloque disponible, entre el bloque inferior izquierdo y el bloque izquierdo, cuya imagen de referencia es diferente con respecto a una imagen de referencia del bloque actual,
caracterizado por que
en la obtención del segundo candidato a mvp, el escalado para el segundo vector de movimiento no está disponible cuando existe el bloque disponible entre el bloque inferior izquierdo y el bloque izquierdo y el escalado para el primer vector de movimiento se aplica en la obtención del primer candidato a mvp.
2. Método de la reivindicación 1,
en el que, en la etapa de obtención del segundo candidato a mvp, el segundo candidato a mvp se obtiene basándose en información de escalado, y
en el que, en la etapa de obtención del segundo candidato a mvp, el escalado para el segundo vector de movimiento está indisponible cuando el valor de la información de escalado es verdadero, y el escalado para el segundo vector de movimiento está disponible cuando el valor de la información de escalado es falso.
3. Método de la reivindicación 2,
en el que la información de escalado es información que indica si, en la etapa de obtención del primer candidato a mvp, se aplica un escalado para el primer vector de movimiento, y en el que el valor de la información de escalado es cero, en calidad del valor correspondiente a falso, cuando se aplica escalado para un vector de movimiento en la etapa de obtención del primer candidato a mvp, y el valor de la información de escalado es uno, en calidad del valor correspondiente a verdadero, cuando no se aplica escalado para un vector de movimiento en la etapa de obtención del primer candidato a mvp.
4. Método de la reivindicación 1, en el que, en las etapas de obtención del primer candidato a mvp y de obtención del segundo candidato a mvp, el número máximo de aplicación de escalado a un vector de movimiento es 1.
5. Método de la reivindicación 1, en el que, en las etapas de obtención del primer candidato a mvp y de obtención del segundo candidato a mvp, el número máximo de escalado de un vector de movimiento de bloques vecinos espaciales - el bloque inferior izquierdo, el bloque izquierdo, el bloque superior derecho, el bloque superior y el bloque superior izquierdo - es 1.
6. Método para obtener un predictor de vector de movimiento de un bloque actual, por medio de un aparato de codificación, comprendiendo el método:
obtener un primer candidato a predictor de vector de movimiento, mvp, en donde el primer candidato a mvp se obtiene basándose en un primer vector de movimiento de un bloque disponible entre un bloque inferior izquierdo y un bloque izquierdo del bloque actual cuando existe el bloque disponible entre el bloque inferior izquierdo y el bloque izquierdo;
obtener un segundo candidato a mvp, en donde el segundo candidato a mvp se obtiene basándose en un segundo vector de movimiento de un bloque disponible entre un bloque superior derecho, un bloque superior y un bloque superior izquierdo del bloque actual cuando existe el bloque disponible entre el bloque superior derecho, el bloque superior y el bloque superior izquierdo;
obtener un candidato a mvp temporal a partir de un bloque vecino temporal con respecto al bloque actual usando la determinación sobre si el bloque vecino temporal está disponible para predecir el vector de movimiento del bloque actual;
construir una lista de candidatos a mvp basándose en por lo menos uno del primer candidato a mvp, el segundo candidato a mvp y el candidato a mvp temporal; y
determinar el predictor de vector de movimiento para el bloque actual, en donde el predictor de vector de movimiento para el bloque actual se selecciona de entre candidatos a mvp de la lista de candidatos a mvp, en donde el primer candidato a mvp se obtiene escalando el primer vector de movimiento del bloque disponible entre el bloque inferior izquierdo y el bloque izquierdo cuando existe el bloque disponible, entre el bloque inferior izquierdo y el bloque izquierdo, cuya imagen de referencia es diferente con respecto a una imagen de referencia del bloque actual,
caracterizado por que
en la obtención del segundo candidato a mvp, el escalado para el segundo vector de movimiento no está disponible cuando existe el bloque disponible entre el bloque inferior izquierdo y el bloque izquierdo y el escalado para el primer vector de movimiento se aplica en la obtención del primer candidato a mvp.
7. Método de la reivindicación 6,
en el que, en la etapa de obtención del segundo candidato a mvp, el segundo candidato a mvp se obtiene basándose en información de escalado, y
en el que, en la etapa de obtención del segundo candidato a mvp, el escalado para el segundo vector de movimiento está indisponible cuando el valor de la información de escalado es verdadero, y el escalado para el segundo vector de movimiento está disponible cuando el valor de la información de escalado es falso.
8. Método de la reivindicación 7,
en el que la información de escalado es información que indica si, en la etapa de obtención del primer candidato a mvp, se aplica un escalado para el primer vector de movimiento, y en el que el valor de la información de escalado es cero, en calidad del valor correspondiente a falso, cuando se aplica escalado para un vector de movimiento en la etapa de obtención del primer candidato a mvp, y el valor de la información de escalado es uno, en calidad del valor correspondiente a verdadero, cuando no se aplica escalado para un vector de movimiento en la etapa de obtención del primer candidato a mvp.
9. Método de la reivindicación 6, en el que, en las etapas de obtención del primer candidato a mvp y de obtención del segundo candidato a mvp, el número máximo de aplicación de escalado a un vector de movimiento es 1.
10. Método de la reivindicación 6, en el que, en las etapas de obtención del primer candidato a mvp y de obtención del segundo candidato a mvp, el número máximo de escalado de un vector de movimiento de bloques vecinos espaciales - el bloque inferior izquierdo, el bloque izquierdo, el bloque superior derecho, el bloque superior y el bloque superior izquierdo - es 1.
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US201161501772P | 2011-06-28 | 2011-06-28 | |
| US201161502833P | 2011-06-29 | 2011-06-29 | |
| US201161502829P | 2011-06-29 | 2011-06-29 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| ES2883353T3 true ES2883353T3 (es) | 2021-12-07 |
Family
ID=47424332
Family Applications (3)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES18212702T Active ES2883353T3 (es) | 2011-06-28 | 2011-11-23 | Método para obtener un predictor de vector de movimiento |
| ES11868701T Active ES2715613T3 (es) | 2011-06-28 | 2011-11-23 | Método para fijar una lista de vectores de movimiento |
| ES21160519T Active ES2940230T3 (es) | 2011-06-28 | 2011-11-23 | Método para obtener un vector de movimiento para descodificación y codificación de vídeo |
Family Applications After (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES11868701T Active ES2715613T3 (es) | 2011-06-28 | 2011-11-23 | Método para fijar una lista de vectores de movimiento |
| ES21160519T Active ES2940230T3 (es) | 2011-06-28 | 2011-11-23 | Método para obtener un vector de movimiento para descodificación y codificación de vídeo |
Country Status (13)
| Country | Link |
|---|---|
| US (6) | US10491918B2 (es) |
| EP (4) | EP3481066B1 (es) |
| KR (6) | KR102083012B1 (es) |
| CN (5) | CN108184124B (es) |
| CA (6) | CA3263579A1 (es) |
| DK (1) | DK2728875T3 (es) |
| ES (3) | ES2883353T3 (es) |
| FI (1) | FI4164224T3 (es) |
| HU (4) | HUE066761T2 (es) |
| PL (4) | PL2728875T3 (es) |
| PT (1) | PT2728875T (es) |
| SI (1) | SI3481066T1 (es) |
| WO (1) | WO2013002461A1 (es) |
Families Citing this family (25)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR101279573B1 (ko) | 2008-10-31 | 2013-06-27 | 에스케이텔레콤 주식회사 | 움직임 벡터 부호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치 |
| US20120082228A1 (en) | 2010-10-01 | 2012-04-05 | Yeping Su | Nested entropy encoding |
| US10104391B2 (en) | 2010-10-01 | 2018-10-16 | Dolby International Ab | System for nested entropy encoding |
| CN107105292B (zh) * | 2010-12-13 | 2020-09-08 | 韩国电子通信研究院 | 基于帧间预测对视频信号进行解码的方法 |
| CN107105282B (zh) * | 2010-12-14 | 2019-11-12 | M&K控股株式会社 | 用于解码运动画面的设备 |
| ES2883353T3 (es) * | 2011-06-28 | 2021-12-07 | Lg Electronics Inc | Método para obtener un predictor de vector de movimiento |
| US20130107962A1 (en) | 2011-10-26 | 2013-05-02 | Intellectual Discovery Co., Ltd. | Scalable video coding method and apparatus using inter prediction mode |
| US20240275956A1 (en) * | 2012-04-16 | 2024-08-15 | Electronics And Telecommunications Research Institute | Encoding method and decoding method, and device using same |
| US9992512B2 (en) * | 2014-10-06 | 2018-06-05 | Mediatek Inc. | Method and apparatus for motion vector predictor derivation |
| US11025934B2 (en) | 2014-12-16 | 2021-06-01 | Advanced Micro Devices, Inc. | Methods and apparatus for decoding video using re-ordered motion vector buffer |
| EP3306935A4 (en) * | 2015-06-05 | 2019-01-02 | Intellectual Discovery Co., Ltd. | Image encoding and decoding method and image decoding device |
| US10999595B2 (en) | 2015-11-20 | 2021-05-04 | Mediatek Inc. | Method and apparatus of motion vector prediction or merge candidate derivation for video coding |
| CN107046645B9 (zh) | 2016-02-06 | 2020-08-14 | 华为技术有限公司 | 图像编解码方法及装置 |
| EP3410717A1 (en) * | 2017-05-31 | 2018-12-05 | Thomson Licensing | Methods and apparatus for candidate list pruning |
| CN117294837A (zh) | 2018-04-02 | 2023-12-26 | 深圳市大疆创新科技有限公司 | 用于图像处理的方法和图像处理装置 |
| US10531090B1 (en) * | 2018-07-02 | 2020-01-07 | Tencent America LLC | Method and apparatus for video coding |
| US11019357B2 (en) * | 2018-08-07 | 2021-05-25 | Qualcomm Incorporated | Motion vector predictor list generation |
| CN118972565A (zh) * | 2018-09-07 | 2024-11-15 | 松下电器(美国)知识产权公司 | 用于视频编码的系统和方法 |
| US10958932B2 (en) | 2018-09-12 | 2021-03-23 | Qualcomm Incorporated | Inter-prediction coding of video data using generated motion vector predictor list including non-adjacent blocks |
| CN111726617B (zh) * | 2019-03-18 | 2024-03-15 | 华为技术有限公司 | 用于融合运动矢量差技术的优化方法、装置及编解码器 |
| KR102437696B1 (ko) | 2019-06-13 | 2022-08-26 | 베이징 다지아 인터넷 인포메이션 테크놀로지 컴퍼니 리미티드 | 비디오 코딩을 위한 모션 벡터 예측 |
| CN112995669B (zh) * | 2021-04-27 | 2021-08-03 | 浙江华创视讯科技有限公司 | 一种帧间预测方法、装置、电子设备及存储介质 |
| US20250142050A1 (en) * | 2023-10-26 | 2025-05-01 | Google Llc | Overlapped Filtering For Temporally Interpolated Prediction Blocks |
| WO2025148892A1 (en) * | 2024-01-08 | 2025-07-17 | Douyin Vision Co., Ltd. | Method, apparatus, and medium for video processing |
| KR20250109637A (ko) * | 2024-01-10 | 2025-07-17 | 한국전자통신연구원 | 영상 부호화/복호화를 위한 방법 및 비트스트림을 저장하는 기록 매체 |
Family Cites Families (56)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB2248361B (en) * | 1990-09-28 | 1994-06-01 | Sony Broadcast & Communication | Motion dependent video signal processing |
| US6185340B1 (en) * | 1997-02-18 | 2001-02-06 | Thomson Licensing S.A | Adaptive motion vector control |
| CN1294759C (zh) * | 1997-12-01 | 2007-01-10 | 三星电子株式会社 | 视频编码方法 |
| US6768775B1 (en) | 1997-12-01 | 2004-07-27 | Samsung Electronics Co., Ltd. | Video CODEC method in error resilient mode and apparatus therefor |
| US6275536B1 (en) * | 1999-06-23 | 2001-08-14 | General Instrument Corporation | Implementation architectures of a multi-channel MPEG video transcoder using multiple programmable processors |
| KR100441509B1 (ko) * | 2002-02-25 | 2004-07-23 | 삼성전자주식회사 | 주사포맷변환장치 및 방법 |
| KR20040099100A (ko) * | 2002-04-19 | 2004-11-26 | 마쯔시다덴기산교 가부시키가이샤 | 움직임 벡터 계산 방법 |
| JP4130783B2 (ja) * | 2002-04-23 | 2008-08-06 | 松下電器産業株式会社 | 動きベクトル符号化方法および動きベクトル復号化方法 |
| JP2004023458A (ja) * | 2002-06-17 | 2004-01-22 | Toshiba Corp | 動画像符号化/復号化方法及び装置 |
| BRPI0303336B8 (pt) * | 2002-07-02 | 2020-06-02 | Matsushita Electric Industrial Co Ltd | método de derivação do vetor de movimento, método de codificação de imagem animada e método de decodificação de imagem animada |
| KR100774296B1 (ko) * | 2002-07-16 | 2007-11-08 | 삼성전자주식회사 | 움직임 벡터 부호화 방법, 복호화 방법 및 그 장치 |
| KR100865034B1 (ko) * | 2002-07-18 | 2008-10-23 | 엘지전자 주식회사 | 모션 벡터 예측 방법 |
| KR100506864B1 (ko) * | 2002-10-04 | 2005-08-05 | 엘지전자 주식회사 | 모션벡터 결정방법 |
| KR100534207B1 (ko) | 2002-12-09 | 2005-12-08 | 삼성전자주식회사 | 비디오 부호화기의 움직임 추정기 및 그 방법 |
| US8064520B2 (en) * | 2003-09-07 | 2011-11-22 | Microsoft Corporation | Advanced bi-directional predictive coding of interlaced video |
| US20060012719A1 (en) * | 2004-07-12 | 2006-01-19 | Nokia Corporation | System and method for motion prediction in scalable video coding |
| EP1817914B1 (en) * | 2004-12-03 | 2018-02-07 | Thomson Licensing | Method for scalable video coding |
| KR100888963B1 (ko) * | 2004-12-06 | 2009-03-17 | 엘지전자 주식회사 | 영상 신호의 스케일러블 인코딩 및 디코딩 방법 |
| EP1869894A1 (en) * | 2005-04-14 | 2007-12-26 | Thomson Licensing | Method and apparatus for slice adaptive motion vector coding for spatial scalable video encoding and decoding |
| KR100896279B1 (ko) * | 2005-04-15 | 2009-05-07 | 엘지전자 주식회사 | 영상 신호의 스케일러블 인코딩 및 디코딩 방법 |
| US7894523B2 (en) * | 2005-09-05 | 2011-02-22 | Lg Electronics Inc. | Method for modeling coding information of a video signal for compressing/decompressing coding information |
| JP4879558B2 (ja) * | 2005-11-02 | 2012-02-22 | パナソニック株式会社 | 動きベクトル検出装置 |
| CN1777289A (zh) * | 2005-11-30 | 2006-05-24 | 天津大学 | 利用选择性预测加快运动估计的方法 |
| EP1982518A4 (en) * | 2006-01-12 | 2010-06-16 | Lg Electronics Inc | PROCESSING MORE VIEW VIDEO |
| CN100576919C (zh) * | 2006-08-08 | 2009-12-30 | 佳能株式会社 | 运动矢量检测设备及运动矢量检测方法 |
| JP4763549B2 (ja) * | 2006-08-18 | 2011-08-31 | 富士通セミコンダクター株式会社 | フレーム間予測処理装置、画像符号化装置、及び画像復号化装置 |
| CN101222627A (zh) * | 2007-01-09 | 2008-07-16 | 华为技术有限公司 | 一种多视点视频编解码系统以及预测向量的方法和装置 |
| KR101366241B1 (ko) * | 2007-03-28 | 2014-02-21 | 삼성전자주식회사 | 영상 부호화, 복호화 방법 및 장치 |
| JP2011501555A (ja) | 2007-10-16 | 2011-01-06 | エルジー エレクトロニクス インコーポレイティド | ビデオ信号処理方法及び装置 |
| KR101505195B1 (ko) * | 2008-02-20 | 2015-03-24 | 삼성전자주식회사 | 직접 모드 부호화 및 복호화 방법 |
| EP2104356A1 (en) * | 2008-03-18 | 2009-09-23 | Deutsche Thomson OHG | Method and device for generating an image data stream, method and device for reconstructing a current image from an image data stream, image data stream and storage medium carrying an image data stream |
| WO2009115901A2 (en) * | 2008-03-19 | 2009-09-24 | Nokia Corporation | Combined motion vector and reference index prediction for video coding |
| CN101605256A (zh) * | 2008-06-12 | 2009-12-16 | 华为技术有限公司 | 一种视频编解码的方法及装置 |
| CN101686393B (zh) * | 2008-09-28 | 2012-10-17 | 华为技术有限公司 | 应用于模板匹配的快速运动搜索方法及装置 |
| KR101377527B1 (ko) * | 2008-10-14 | 2014-03-25 | 에스케이 텔레콤주식회사 | 복수 개의 참조 픽처의 움직임 벡터 부호화/복호화 방법 및장치와 그를 이용한 영상 부호화/복호화 장치 및 방법 |
| KR101279573B1 (ko) * | 2008-10-31 | 2013-06-27 | 에스케이텔레콤 주식회사 | 움직임 벡터 부호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치 |
| KR101007339B1 (ko) | 2008-11-06 | 2011-01-14 | 주식회사 텔레칩스 | 의사난수 배열 생성 방식의 스크램블러 장치 |
| CN101820547A (zh) * | 2009-02-27 | 2010-09-01 | 源见科技(苏州)有限公司 | 帧间模式选择方法 |
| CN101600108B (zh) * | 2009-06-26 | 2011-02-02 | 北京工业大学 | 一种多视点视频编码中的运动和视差联合估计方法 |
| US9060176B2 (en) * | 2009-10-01 | 2015-06-16 | Ntt Docomo, Inc. | Motion vector prediction in video coding |
| TWI566586B (zh) * | 2009-10-20 | 2017-01-11 | 湯姆生特許公司 | 一序列形象的現時區塊之寫碼方法和重建方法 |
| US9036692B2 (en) * | 2010-01-18 | 2015-05-19 | Mediatek Inc. | Motion prediction method |
| KR101768207B1 (ko) * | 2010-01-19 | 2017-08-16 | 삼성전자주식회사 | 축소된 예측 움직임 벡터의 후보들에 기초해 움직임 벡터를 부호화, 복호화하는 방법 및 장치 |
| CN102812706B (zh) * | 2010-03-16 | 2016-11-02 | 汤姆逊许可证公司 | 用于视频编码和解码的隐式自适应运动向量预测值选择的方法和装置 |
| KR101752418B1 (ko) * | 2010-04-09 | 2017-06-29 | 엘지전자 주식회사 | 비디오 신호 처리 방법 및 장치 |
| US9300970B2 (en) * | 2010-07-09 | 2016-03-29 | Samsung Electronics Co., Ltd. | Methods and apparatuses for encoding and decoding motion vector |
| US9124898B2 (en) | 2010-07-12 | 2015-09-01 | Mediatek Inc. | Method and apparatus of temporal motion vector prediction |
| US8824558B2 (en) * | 2010-11-23 | 2014-09-02 | Mediatek Inc. | Method and apparatus of spatial motion vector prediction |
| US8711940B2 (en) * | 2010-11-29 | 2014-04-29 | Mediatek Inc. | Method and apparatus of motion vector prediction with extended motion vector predictor |
| US9049455B2 (en) * | 2010-12-28 | 2015-06-02 | Panasonic Intellectual Property Corporation Of America | Image coding method of coding a current picture with prediction using one or both of a first reference picture list including a first current reference picture for a current block and a second reference picture list including a second current reference picture for the current block |
| US9635382B2 (en) * | 2011-01-07 | 2017-04-25 | Texas Instruments Incorporated | Method, system and computer program product for determining a motion vector |
| US9485517B2 (en) * | 2011-04-20 | 2016-11-01 | Qualcomm Incorporated | Motion vector prediction with motion vectors from multiple views in multi-view video coding |
| US9131239B2 (en) * | 2011-06-20 | 2015-09-08 | Qualcomm Incorporated | Unified merge mode and adaptive motion vector prediction mode candidates selection |
| EP2724538A4 (en) * | 2011-06-24 | 2016-04-27 | Mediatek Inc | METHOD AND DEVICE FOR REMOVING REDUNDANCES IN MOTOR VECTOR PREDICTORS |
| ES2883353T3 (es) | 2011-06-28 | 2021-12-07 | Lg Electronics Inc | Método para obtener un predictor de vector de movimiento |
| CN107197290B (zh) * | 2011-11-07 | 2020-02-18 | 寰发股份有限公司 | 推导缩放的运动向量的方法、装置和计算机可读媒介 |
-
2011
- 2011-11-23 ES ES18212702T patent/ES2883353T3/es active Active
- 2011-11-23 HU HUE22210878A patent/HUE066761T2/hu unknown
- 2011-11-23 KR KR1020197010067A patent/KR102083012B1/ko active Active
- 2011-11-23 KR KR1020187013086A patent/KR101968726B1/ko active Active
- 2011-11-23 ES ES11868701T patent/ES2715613T3/es active Active
- 2011-11-23 KR KR1020207005223A patent/KR102194295B1/ko active Active
- 2011-11-23 CA CA3263579A patent/CA3263579A1/en active Pending
- 2011-11-23 CN CN201810089092.3A patent/CN108184124B/zh active Active
- 2011-11-23 PL PL11868701T patent/PL2728875T3/pl unknown
- 2011-11-23 KR KR1020217030602A patent/KR102490375B1/ko active Active
- 2011-11-23 PL PL22210878.9T patent/PL4164224T3/pl unknown
- 2011-11-23 CN CN201810089076.4A patent/CN108271030B/zh active Active
- 2011-11-23 CA CA3263578A patent/CA3263578A1/en active Pending
- 2011-11-23 EP EP18212702.7A patent/EP3481066B1/en active Active
- 2011-11-23 HU HUE18212702A patent/HUE056547T2/hu unknown
- 2011-11-23 EP EP22210878.9A patent/EP4164224B1/en active Active
- 2011-11-23 EP EP21160519.1A patent/EP3849192B1/en active Active
- 2011-11-23 PT PT11868701T patent/PT2728875T/pt unknown
- 2011-11-23 KR KR1020207036376A patent/KR102307005B1/ko active Active
- 2011-11-23 ES ES21160519T patent/ES2940230T3/es active Active
- 2011-11-23 PL PL21160519.1T patent/PL3849192T3/pl unknown
- 2011-11-23 CA CA2840381A patent/CA2840381C/en active Active
- 2011-11-23 CN CN201810087923.3A patent/CN108174222B/zh active Active
- 2011-11-23 CA CA3019973A patent/CA3019973C/en active Active
- 2011-11-23 FI FIEP22210878.9T patent/FI4164224T3/fi active
- 2011-11-23 CN CN201180072973.0A patent/CN103748879B/zh active Active
- 2011-11-23 KR KR1020137033727A patent/KR101857725B1/ko active Active
- 2011-11-23 SI SI201131980T patent/SI3481066T1/sl unknown
- 2011-11-23 CA CA3182875A patent/CA3182875C/en active Active
- 2011-11-23 US US14/129,124 patent/US10491918B2/en active Active
- 2011-11-23 DK DK11868701.1T patent/DK2728875T3/en active
- 2011-11-23 HU HUE21160519A patent/HUE061470T2/hu unknown
- 2011-11-23 EP EP11868701.1A patent/EP2728875B1/en active Active
- 2011-11-23 WO PCT/KR2011/009000 patent/WO2013002461A1/ko not_active Ceased
- 2011-11-23 PL PL18212702T patent/PL3481066T3/pl unknown
- 2011-11-23 CA CA3108029A patent/CA3108029C/en active Active
- 2011-11-23 HU HUE11868701A patent/HUE044009T2/hu unknown
- 2011-11-23 CN CN201810088099.3A patent/CN108271029B/zh active Active
-
2019
- 2019-11-25 US US16/694,784 patent/US11128886B2/en active Active
-
2021
- 2021-08-06 US US17/395,953 patent/US11743488B2/en active Active
-
2023
- 2023-07-14 US US18/222,188 patent/US12047600B2/en active Active
-
2024
- 2024-06-20 US US18/749,097 patent/US12470741B2/en active Active
-
2025
- 2025-10-22 US US19/365,973 patent/US20260046442A1/en active Pending
Also Published As
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| ES2883353T3 (es) | Método para obtener un predictor de vector de movimiento | |
| HK1255975B (en) | Method for setting motion vector list | |
| HK1255977B (en) | Method for setting motion vector list and apparatus using same | |
| HK1255976B (en) | Method for setting motion vector list and apparatus using same | |
| HK1255974B (en) | Method for setting motion vector list and apparatus using same | |
| WO2012157826A1 (ko) | 후보 예측 모드 리스트에서 유사 범위 벡터 제거 방법 및 이러한 방법을 사용하는 장치 |