ES2901350T3 - Aparato para codificación/decodificación de imágenes - Google Patents

Aparato para codificación/decodificación de imágenes Download PDF

Info

Publication number
ES2901350T3
ES2901350T3 ES20195005T ES20195005T ES2901350T3 ES 2901350 T3 ES2901350 T3 ES 2901350T3 ES 20195005 T ES20195005 T ES 20195005T ES 20195005 T ES20195005 T ES 20195005T ES 2901350 T3 ES2901350 T3 ES 2901350T3
Authority
ES
Spain
Prior art keywords
motion vector
vector candidate
candidates
candidate list
block
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES20195005T
Other languages
English (en)
Inventor
Sung Chang Lim
Hui Yong Kim
Jin Ho Lee
Jin Soo Choi
Jin Woong Kim
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Electronics and Telecommunications Research Institute ETRI
Original Assignee
Electronics and Telecommunications Research Institute ETRI
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=48995608&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=ES2901350(T3) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Electronics and Telecommunications Research Institute ETRI filed Critical Electronics and Telecommunications Research Institute ETRI
Application granted granted Critical
Publication of ES2901350T3 publication Critical patent/ES2901350T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock

Abstract

Un aparato de decodificación de imágenes configurado para llevar a cabo pasos, que comprende: configurar una lista de candidatos de vector de movimiento; modificar (S450) la lista de candidatos de vector de movimiento añadiendo un vector de movimiento (0,0) en base a un número de candidatos de vector de movimiento en la lista de candidatos de vector de movimiento; y determinar (S460) un vector de movimiento de predicción en base a la lista de candidatos de vector de movimiento modificada, en donde la configuración de la lista de candidatos de vector de movimiento comprende: derivar (S410) un máximo de dos candidatos de vector de movimiento espaciales correspondientes a bloques reconstruidos espacialmente adyacentes a un bloque actual, en donde al menos uno de los candidatos de vector de movimiento espaciales derivados se genera realizando un escalado en base a una diferencia entre una imagen de referencia del bloque actual y una imagen de referencia del bloque reconstruido; derivar (S420) un candidato de vector de movimiento temporal correspondiente a un bloque situado en la misma ubicación reconstruido en una imagen situada en la misma ubicación temporalmente vecina al bloque actual, en donde el candidato de vector de movimiento temporal derivado se genera realizando un escalado en base a una diferencia entre una primera distancia entre una imagen actual y la imagen de referencia del bloque actual y una segunda distancia entre la imagen situada en la misma ubicación y una imagen de referencia del bloque situado en la misma ubicación; añadir (S430) los candidatos de vector de movimiento espaciales derivados y el candidato de vector de movimiento temporal derivado a la lista de candidatos de vector de movimiento; comprobar si dos candidatos de vector de movimiento espaciales derivados tienen un mismo valor de vector de movimiento; y eliminar (S440) uno de los candidatos de vector de movimiento espaciales que tiene el mismo valor de vector de movimiento de la lista de candidatos de vector de movimiento; en donde el candidato de vector de movimiento temporal no se deriva cuando dos candidatos de vector de movimiento espaciales derivados están presentes y son diferentes uno de otro; en donde cuando el número de candidatos de vector de movimiento en la lista de candidatos de vector de movimiento es menor que 2, la modificación de la lista de candidatos de vector de movimiento añade repetidamente el vector de movimiento (0,0) hasta que el número de candidatos de vector de movimiento en la lista de candidatos de vector de movimiento alcanza 2, en donde cuando no está presente ningún candidato de vector de movimiento en la lista de candidatos de vector de movimiento, se añaden dos vectores de movimiento (0,0) a la lista de candidatos de vector de movimiento.

Description

DESCRIPCIÓN
Aparato para codificación/decodificación de imágenes
Antecedentes de la invención
Campo de la invención
La presente invención concierne a un método y a un aparato de codificación/decodificación de imágenes/vídeo y, más específicamente, a una tecnología de predicción de vector de movimiento que puede reducir la complejidad de cálculo.
Técnica relacionada
La reciente difusión de servicios de difusión de HD (Alta Definición) a nivel nacional y mundial hace que más usuarios se familiaricen con imágenes/videos de alta resolución y alta calidad, y muchas organizaciones ponen más esfuerzos en el desarrollo de dispositivos de formación de imágenes de próxima generación. Además, se orienta más interés hacia UHD (Ultra Alta Definición) que tiene 4 veces o más resolución que HDTV, así como HDTV, de modo que se demandan tecnologías de compresión de imagen/video para imágenes/videos de resolución más alta y calidad más alta.
Con los propósitos de compresión de imagen/vídeo, se pueden usar una inter predicción para predecir un valor de píxel incluido en una imagen actual a partir de una imagen temporalmente anterior y/o posterior, una intra predicción para predecir un valor de píxel incluido en una imagen actual usando información de píxeles en la imagen actual y una codificación de entropía para asignar un código más corto a un símbolo más frecuente al tiempo que se asigna un código más largo a un símbolo menos frecuente.
Los esquemas de compresión de imágenes se han descrito por Chen et al. en “MVP index parsing with fixed number of candidates”, JCTVC-F402, 2 de julio de 2011 (02-07-2011); por Zhang et al. en “Non-CE9: Improvement in temporal candidate of merge mode and AMVP”, n° JCTVC-G343, 8 de noviembre de 2011; por Sugio et al. en “Non-CE9/Non-CE13: Simplification on AMVP/Merge”, n° JCTVC-G542, 8 de noviembre de 2011; y por Bici et al. en “Non-CE13: Simplification of merge mode”, n° JCTVC-G593, 8 de noviembre de 2011.
Compendio de la invención
Un objeto de la presente invención es proporcionar un método y un aparato de codificación de imagen/vídeo que pueden mejorar la eficiencia de codificación de imagen/vídeo y pueden reducir la complejidad de cálculo. La presente invención se define mediante el dispositivo de decodificación de la reivindicación 1 y el dispositivo de codificación de la reivindicación 4. Las posibles realizaciones se definen mediante las reivindicaciones dependientes. Las realizaciones adicionales en la descripción se proporcionan solamente como ejemplos ilustrativos.
Otro objeto de la presente invención es proporcionar un método y un aparato de decodificación de imagen/vídeo que pueden mejorar la eficiencia de codificación de imagen/vídeo y pueden reducir la complejidad de cálculo.
Otro objeto más de la presente invención es proporcionar un método y un aparato de generación de bloques de predicción que pueden mejorar la eficiencia de codificación de imagen/vídeo y pueden reducir la complejidad de cálculo.
Otro objeto más de la presente invención es proporcionar un método y un aparato de inter predicción que pueden mejorar la eficiencia de codificación de imagen/vídeo y pueden reducir la complejidad de cálculo.
Otro objeto más de la presente invención es proporcionar un método y un aparato de predicción de vector de movimiento que pueden mejorar la eficiencia de codificación de imagen/vídeo y pueden reducir la complejidad de cálculo.
Para lograr los objetos anteriores, un método de decodificación de imágenes según la presente invención puede comprender los pasos de reconstruir un bloque residual cuantificando inversamente y transformando inversamente un bloque residual decodificado por entropía, generar un bloque de predicción realizando una compensación de movimiento y reconstruir una imagen añadiendo el bloque residual reconstruido al bloque de predicción, en el que una lista de candidatos de vector de movimiento asociada con el bloque de predicción se puede ajustar añadiendo un candidato de vector de movimiento específico o eliminando algunos de los candidatos de vector de movimiento en base al número máximo de candidatos de vector de movimiento en la lista de candidatos de vector de movimiento, y en el que en el paso de generación del bloque de predicción, se puede determinar un vector de movimiento de predicción del bloque de predicción en base a la lista de candidatos de vector de movimiento ajustada.
El paso de generación del bloque de predicción puede comprender los pasos de configurar una lista de candidatos de vector de movimiento derivando un candidato de vector de movimiento asociado con el bloque de predicción, eliminar un mismo candidato de vector de movimiento de candidatos de vector de movimiento espaciales incluidos en la lista de candidatos de vector de movimiento, ajustar la lista de candidatos de vector de movimiento añadiendo el candidato de vector de movimiento específico a la lista de candidatos de vector de movimiento o eliminando algunos candidatos de vector de movimiento de la lista de candidatos de vector de movimiento, y determinar un vector de movimiento de predicción entre los candidatos de vector de movimiento incluidos en la lista de candidatos de vector de movimiento ajustada.
El paso de ajuste de la lista de candidatos de vector de movimiento puede comprender el paso de, en un caso donde el número de candidatos de vector de movimiento incluidos en la lista de candidatos de vector de movimiento sea menor que el número máximo de candidatos de vector de movimiento, añadir el candidato de vector de movimiento específico independientemente de si un candidato de vector de movimiento está presente en la lista de candidatos de vector de movimiento o si el candidato de vector de movimiento específico está presente en la lista de candidatos de vector de movimiento.
El paso de ajuste de la lista de candidatos de vector de movimiento puede comprender el paso de, en un caso donde el número de candidatos de vector de movimiento incluidos en la lista de candidatos de vector de movimiento sea menor que el número máximo de candidatos de vector de movimiento, añadir repetidamente el candidato de vector de movimiento específico hasta que el número de candidatos de vector de movimiento incluidos en la lista de candidatos de vector de movimiento alcance el número máximo de candidatos de vector de movimiento.
El vector de movimiento específico puede ser un vector de movimiento (0,0) y el número máximo de candidatos de vector de movimiento puede ser 2.
En un estado donde no está presente ningún candidato de vector de movimiento en la lista de candidatos de vector de movimiento, se añaden dos vectores de movimiento específicos.
En un estado donde está presente un vector de movimiento específico en la lista de candidatos de vector de movimiento, se puede añadir un vector de movimiento específico más.
El paso de ajustar la lista de candidatos de vector de movimiento puede comprender el paso de, en un caso donde el número de candidatos de vector de movimiento incluidos en la lista de candidatos de vector de movimiento sea mayor que el número máximo de candidatos de vector de movimiento, eliminar, de la lista de candidatos de vector de movimiento, un candidato de vector de movimiento que tiene un índice mayor que el número máximo de candidatos de vector de movimiento menos 1.
Para lograr los objetos, un aparato de decodificación de imágenes según la presente invención puede comprender una unidad de reconstrucción de bloque residual que reconstruye un bloque residual cuantificando inversamente y transformando inversamente un bloques residuales decodificado por entropía, una unidad de generación de bloques de predicción que genera un bloque de predicción realizando una compensación de movimiento, y una unidad de reconstrucción de imágenes que reconstruye una imagen añadiendo el bloque residual reconstruido al bloque de predicción, en el cual la unidad de generación de bloques de predicción ajusta una lista de candidatos de vector de movimiento asociada con el bloque de predicción añadiendo un candidato de vector de movimiento específico o eliminando algunos de los candidatos de vector de movimiento en base al número máximo de candidatos de vector de movimiento en la lista de candidatos de vector de movimiento, y determina un vector de movimiento de predicción del bloque de predicción en base a la lista de candidatos de vector de movimiento ajustada.
La unidad de generación de bloques de predicción puede comprender una unidad de configuración de lista de candidatos de vector de movimiento que configura una lista de candidatos de vector de movimiento derivando un candidato de vector de movimiento asociado con el bloque de predicción, una misma unidad de eliminación de candidatos de vector de movimiento que elimina un mismo candidato de vector de movimiento de los candidatos de vector de movimiento espaciales incluidos en la lista de candidatos de vector de movimiento, una unidad de ajuste de lista de candidatos de vector de movimiento que ajusta la lista de candidatos de vector de movimiento añadiendo el candidato de vector de movimiento específico a la lista de candidatos de vector de movimiento o eliminando algunos candidatos de vector de movimiento de la lista de candidatos de vector de movimiento y una unidad de determinación de vector de movimiento que determina un vector de movimiento de predicción entre los candidatos de vector de movimiento incluidos en la lista de candidatos de vector de movimiento ajustada.
En un caso donde el número de candidatos de vector de movimiento incluidos en la lista de candidatos de vector de movimiento sea menor que el número máximo de candidatos de vector de movimiento, la unidad de ajuste de lista de candidatos de vector de movimiento añade el candidato de vector de movimiento específico independientemente de si está presente un candidato de vector de movimiento en la lista de candidatos de vector de movimiento o si está presente el candidato de vector de movimiento específico en la lista de candidatos de vector de movimiento.
En un caso donde el número de candidatos de vector de movimiento incluidos en la lista de candidatos de vector de movimiento sea menor que el número máximo de candidatos de vector de movimiento, la unidad de ajuste de lista de candidatos de vector de movimiento añade repetidamente el candidato de vector de movimiento específico hasta que el número de candidatos de vector de movimiento incluidos en la lista de candidatos de vector de movimiento alcance el número máximo de candidatos de vector de movimiento.
El vector de movimiento específico puede ser un vector de movimiento (0,0), y en el que el número máximo de candidatos de vector de movimiento puede ser 2.
En un estado donde no está presente ningún candidato de vector de movimiento en la lista de candidatos de vector de movimiento, se añaden dos vectores de movimiento específicos.
En un estado donde está presente un vector de movimiento específico en la lista de candidatos de vector de movimiento, se puede añadir un vector de movimiento específico más.
Para lograr los objetos, un método de codificación de imágenes según la presente invención puede comprender los pasos de generación de un bloque de predicción realizando inter predicción o compensación de movimiento sobre una imagen de entrada y realizar codificación de entropía transformando y cuantificando un bloque residual que es una diferencia entre un bloque de entrada actual y un bloque de predicción predicho por la inter predicción, en el que una lista de candidatos de vector de movimiento asociada con el bloque de predicción se puede ajustar añadiendo un candidato de vector de movimiento específico o eliminando algunos de los candidatos de vector de movimiento en base al número máximo de candidatos de vector de movimiento en la lista de candidatos de vector de movimiento, y en el que en el paso de generación del bloque de predicción, se puede determinar un vector de movimiento de predicción del bloque de predicción en base a la lista de candidatos de vector de movimiento ajustada.
El paso de generación del bloque de predicción puede comprender los pasos de configurar una lista de candidatos de vector de movimiento derivando un candidato de vector de movimiento asociado con el bloque de predicción, eliminar un mismo candidato de vector de movimiento de los candidatos de vector de movimiento espaciales incluidos en la lista de candidatos de vector de movimiento, ajustar la lista de candidatos de vector de movimiento añadiendo el candidato de vector de movimiento específico a la lista de candidatos de vector de movimiento o eliminando algunos candidatos de vector de movimiento de la lista de candidatos de vector de movimiento, y determinar un vector de movimiento de predicción de la lista de candidatos de vector de movimiento ajustada.
El paso de ajuste de la lista de candidatos de vector de movimiento puede comprender el paso de, en un caso donde el número de candidatos de vector de movimiento incluidos en la lista de candidatos de vector de movimiento sea menor que el número máximo de candidatos de vector de movimiento, añadir el candidato de vector de movimiento específico independientemente de si está presente un candidato de vector de movimiento en la lista de candidatos de vector de movimiento o si está presente el candidato de vector de movimiento específico en la lista de candidatos de vector de movimiento.
Para lograr los objetos, un método de codificación de imágenes según la presente invención puede comprender una unidad de generación de bloques de predicción que genera un bloque de predicción realizando inter predicción o compensación de movimiento sobre una imagen de entrada y una unidad de codificación que realiza codificación de entropía transformando y cuantificando un bloque residual que es una diferencia entre un bloque de entrada actual y un bloque de predicción predicho por la inter predicción, en el que la unidad de generación de bloques de predicción ajusta una lista de candidatos de vector de movimiento asociada con el bloque de predicción añadiendo un candidato de vector de movimiento específico o eliminando algunos de los candidatos de vector de movimiento en base al número máximo de candidatos de vector de movimiento en la lista de candidatos de vector de movimiento, y determina un vector de movimiento de predicción del bloque de predicción en base a la lista de candidatos de vector de movimiento ajustada.
El método de codificación de imagen/video según la presente invención puede reducir la complejidad de cálculo y mejorar la eficiencia de codificación de imagen/video.
El método de decodificación de imagen/video según la presente invención puede reducir la complejidad de cálculo y mejorar la eficiencia de codificación de imagen/video.
El método de generación de bloques de predicción según la presente invención puede reducir la complejidad de cálculo y mejorar la eficiencia de codificación de imagen/video.
El método de inter predicción según la presente invención puede reducir la complejidad de cálculo y mejorar la eficiencia de codificación de imagen/video.
El método de predicción de vector de movimiento según la presente invención puede reducir la complejidad de cálculo y mejorar la eficiencia de codificación de imagen/video.
Breve descripción de los dibujos
La Fig. 1 es un diagrama de bloques que ilustra una configuración de un aparato de codificación de imágenes según una realización de la presente invención.
La Fig. 2 es un diagrama de bloques que ilustra una configuración de un aparato de decodificación de imágenes según una realización de la presente invención.
La Fig. 3 es un diagrama de flujo que ilustra esquemáticamente un método de inter predicción según una realización de la presente invención.
La Fig. 4 es un diagrama de flujo que ilustra un proceso de derivación de un candidato de vector de movimiento para determinar un vector de movimiento de predicción en un aparato de codificación/decodificación de imágenes según una realización de la presente invención.
La Fig. 5 es una vista que ilustra esquemáticamente un proceso de derivación de un candidato de vector de movimiento espacial según una realización de la presente invención.
La Fig. 6 es una vista que ilustra esquemáticamente un proceso de derivación de un candidato de vector de movimiento temporal según una realización de la presente invención.
La Fig. 7 es una vista que ilustra esquemáticamente una realización de configuración de una lista de candidatos de vector de movimiento en base a vectores de movimiento derivados.
La Fig. 8 es una vista que ilustra esquemáticamente una realización de eliminación de vectores de movimiento que son iguales unos que otros de una lista de candidatos de vector de movimiento.
La Fig. 9 es un diagrama de flujo que ilustra esquemáticamente un proceso de ajuste de una lista de candidatos de vector de movimiento según una realización de la presente invención.
La Fig. 10 es una vista que ilustra esquemáticamente una realización de adición de un vector de movimiento (0,0) en caso de que esté presente un candidato de vector de movimiento en una lista de candidatos de vector de movimiento.
La Fig. 11 es una vista que ilustra esquemáticamente una realización de adición de un vector de movimiento (0,0) en caso de que esté presente un candidato de vector de movimiento (0,0) en una lista de candidatos de vector de movimiento.
La Fig. 12 es una vista que ilustra esquemáticamente una realización de adición de vectores de movimiento (0,0) en caso de que no esté presente ningún vector de movimiento en una lista de candidatos de vector de movimiento. La Fig. 13 es una vista que ilustra esquemáticamente una realización de eliminación de algunos vectores de movimiento de una lista de candidatos de vector de movimiento.
La Fig. 14 es una vista que ilustra esquemáticamente un proceso de determinación de un vector de movimiento de predicción entre los candidatos de vector de movimiento en una lista de candidatos de vector de movimiento.
Descripción de realizaciones ejemplares
En lo sucesivo, se describirán en detalle realizaciones de la presente invención con referencia a los dibujos que se acompañan. Al describir las realizaciones, cuando se determine que la esencia de la invención no queda clara, se omitirá la descripción detallada de las configuraciones o funciones bien conocidas.
Cuando un componente está “conectado a” o “acoplado a” otro componente, el componente puede estar conectado o acoplado directamente al otro componente, o también pueden intervenir otros componentes. Además, cuando un componente específico se “incluye”, no se excluyen otros componentes, pero se pueden incluir, y tal configuración también está incluida en el alcance de la invención.
Los términos “primero” y “segundo” se pueden usar para describir diversos componentes, pero los componentes no se limitan a los mismos. Estos términos se usan solamente para distinguir un componente de otro. Por ejemplo, el primer componente también se puede denominar el segundo componente, y el segundo componente se puede denominar de manera similar el primer componente.
Las partes constitucionales en las realizaciones se muestran independientemente para representar diferentes características, pero esto no significa que cada parte constitucional esté formada por una unidad de hardware separada o una unidad constitucional de software. Es decir, cada parte constitucional está separada de las demás por facilidad de descripción. Al menos dos de las partes constitucionales se pueden combinar en una sola parte constitucional, o una parte constitucional se puede dividir en una pluralidad de partes constitucionales que pueden realizar funciones, respectivamente. Las realizaciones que cubren las combinaciones de las partes constitucionales o su separación pueden estar incluidas en el alcance de la invención sin alejarse de la esencia de la invención. Algunas partes constitucionales no son esenciales para realizar las funciones inevitables de la presente invención, sino que más bien pueden ser partes constitucionales opcionales para mejorar el rendimiento. La presente invención se puede implementar solamente mediante las partes constitucionales necesarias para realizar la esencia de la invención o también se puede incluir en el alcance de la presente invención una configuración tal que incluye solamente las partes constitucionales esenciales, excluyendo las partes constitucionales opcionales, usadas para mejorar las prestaciones.
La Fig. 1 es un diagrama de bloques que ilustra una configuración de un aparato de codificación de imágenes según una realización de la presente invención. Aquí, la “imagen” se puede usar para tener el mismo significado que la “imagen” que se describe a continuación.
Con referencia a la Fig. 1, el aparato de codificación de imágenes 100 incluye una unidad de predicción de movimiento 111, una unidad de compensación de movimiento 112, una unidad de intra predicción 120, un conmutador 115, un restador 125, una unidad de transformación 130, una unidad de cuantificación 140 , una unidad de codificación de entropía 150, una unidad de cuantificación inversa 160, una unidad de transformación inversa 170, un sumador 175, una unidad de filtro 180 y un almacenador temporal de imágenes de referencia 190.
El aparato de codificación de imágenes 100 puede realizar la codificación sobre una imagen de entrada en un modo intra o un modo inter y puede emitir un flujo de bits. La intra predicción significa predicción intra imagen y la inter predicción significa predicción inter imagen. En el modo intra, el conmutador 115 puede cambiar a intra, y en el modo inter, el conmutador 115 puede cambiar a inter. El aparato de codificación de imágenes 100 puede generar un bloque de predicción en un bloque de entrada de la imagen de entrada y entonces puede codificar un diferencial entre el bloque de entrada y el bloque de predicción.
En el modo intra, la unidad de intra predicción 120 puede generar un bloque de predicción realizando predicción espacial usando un valor de píxel de un bloque ya codificado adyacente a un bloque actual.
En el modo inter, la unidad de predicción de movimiento 111 puede obtener un vector de movimiento averiguando un área que coincide mejor con un bloque de entrada de una imagen de referencia almacenada en el almacenador temporal de imágenes de referencia 190 durante el curso de la predicción de movimiento. La unidad de compensación de movimiento 112 puede generar un bloque de predicción realizando compensación de movimiento usando un vector de movimiento. Aquí, el vector de movimiento es un vector 2D (bidimensional) usado para la inter predicción, y puede representar un desplazamiento entre una imagen de destino de codificación/decodificación actual y una imagen de referencia.
El restador 125 puede generar un bloque residual en base a un diferencial entre un bloque de entrada y un bloque de predicción generado. La unidad de transformación 130 puede realizar una transformación sobre un bloque residual para emitir un coeficiente de transformación. La unidad de cuantificación 140 puede realizar una cuantificación sobre un coeficiente de transformación de entrada en base a un parámetro de cuantificación para emitir un coeficiente cuantificado.
La unidad de codificación de entropía 150 puede emitir un flujo de bits realizando una codificación de entropía en base a los valores producidos a partir de la unidad de cuantificación 140 o una diferencia de vector de movimiento, un índice de imagen de referencia, un índice de candidato de vector de movimiento e información de dirección de predicción que se producen durante el curso de la codificación.
Cuando se aplica una codificación de entropía, se asigna un menor número de bits a un símbolo que tiene una probabilidad de aparición más alta, mientras que se asigna un mayor número de bits a un símbolo que tiene una probabilidad de aparición más baja, de modo que se pueda reducir el tamaño del flujo de bits para los símbolos de destino de codificación. Por consiguiente, el rendimiento de compresión de la codificación de imágenes se puede aumentar a través de codificación de entropía. La unidad de codificación de entropía 150 puede adoptar esquemas de codificación, tales como golomb exponencial, CAVLC (Codificación de Longitud Variable de Contexto Adaptativo), CABAC (Codificación Aritmética Binaria de Contexto Adaptativo), con propósitos de codificación de entropía.
El aparato de codificación de imágenes según la realización descrita en conexión con la Fig. 1 realiza codificación inter predicción, es decir, codificación de predicción inter imágenes y, de este modo, la imagen codificada actualmente necesita ser decodificada y luego almacenada para ser capaz de ser usada como imagen de referencia. Por consiguiente, un coeficiente cuantificado se cuantifica inversamente por la unidad de cuantificación inversa 160 y se transforma inversamente por la unidad de transformación inversa 170. El coeficiente transformado inversamente y cuantificado inversamente se añade al bloque de predicción por el sumador 175, y de este modo, se genera un bloque reconstruido.
El bloque reconstruido pasa a través de la unidad de filtro 180 que puede aplicar al menos uno o más de un filtro de desbloqueo, SAO (Desplazamiento Adaptativo de Muestra) y ALF (Filtro de Bucle Adaptativo) a un bloque reconstruido o imagen reconstruida. La unidad de filtro 180 también se puede llamar filtro adaptativo en bucle. El filtro de desbloqueo puede eliminar una distorsión que ocurre en un límite entre bloques. El SAO puede añadir un valor de desplazamiento adecuado a un valor de píxel para compensar un error de codificación. El ALF puede realizar un filtrado en base a un valor obtenido comparando una imagen reconstruida con una imagen original. Un bloque reconstruido que ha pasado a través de la unidad de filtro 180 se puede almacenar en el almacenador temporal de imágenes de referencia 190.
La Fig. 2 es un diagrama de bloques que ilustra una configuración de un aparato de decodificación de imágenes según una realización de la presente invención.
Con referencia a la Fig. 2, el aparato de decodificación de imágenes 200 incluye una unidad de decodificación de entropía 210, una unidad de cuantificación inversa 220, una unidad de transformación inversa 230, una unidad de intra predicción 240, una unidad de compensación de movimiento 250, un sumador 255 , una unidad de filtro 260 y un almacenador temporal de imágenes de referencia 270.
El aparato de decodificación de imágenes 200 puede recibir un flujo de bits emitido desde un codificador, realizar decodificación en un modo intra o en modo inter y emitir una imagen reconstruida. En el modo intra, el conmutador puede cambiar a intra, y en el modo inter, el conmutador puede cambiar a inter. El aparato de decodificación de imágenes 200 puede obtener un bloque residual reconstruido a partir de un flujo de bits recibido, generar un bloque de predicción y añadir el bloque residual reconstruido al bloque de predicción para generar por ello un bloque reconstruido.
La unidad de decodificación de entropía 210 puede decodificar por entropía un flujo de bits de entrada según una distribución de probabilidad para generar por ello símbolos que incluyen tipos de símbolos de coeficiente cuantificado. Los esquemas de decodificación de entropía son similares a los esquemas de codificación de entropía descritos anteriormente.
Cuando se aplica un esquema de decodificación de entropía, se asigna un menor número de bits a un símbolo que tiene una probabilidad de aparición más alta, con un mayor número de bits asignados a un símbolo que tiene una probabilidad de aparición más baja, de modo que se pueda reducir el tamaño del flujo de bits para cada símbolo. Por consiguiente, el rendimiento de compresión de la decodificación de imágenes se puede aumentar a través del esquema de decodificación de entropía.
Un coeficiente cuantificado se puede cuantificar inversamente en la unidad de cuantificación inversa 220 y transformar inversamente en la unidad de transformación inversa 230. Como resultado de la cuantificación inversa/transformación inversa del coeficiente cuantificado, se puede generar un bloque residual reconstruido.
En el modo intra, la unidad de intra predicción 240 puede generar un bloque de predicción realizando una predicción espacial usando un valor de píxel de un bloque ya decodificado adyacente a un bloque actual. En el modo inter, la unidad de compensación de movimiento 250 puede generar un bloque de predicción realizando compensación de movimiento usando una imagen de referencia almacenada en el almacenador temporal de imágenes de referencia 270 y un vector de movimiento.
El bloque residual reconstruido y el bloque de predicción se añaden entre sí a través del sumador 255, y el bloque resultante puede atravesar la unidad de filtro 260. La unidad de filtro 260 puede aplicar al menos uno o más de un filtro de desbloqueo, SAO, y ALF a un bloque reconstruido o a una imagen reconstruida. La unidad de filtro 260 puede emitir una imagen reconstruida. La imagen reconstruida se puede almacenar en el almacenador temporal de imágenes de referencia 270 y se puede usar para inter predicción.
En lo sucesivo, el “bloque” significa una base sobre la cual se llevan a cabo la codificación y decodificación de imágenes. Tras la codificación y decodificación de imágenes, una unidad para codificar o decodificar es la que se divide de una imagen con propósitos de codificación o decodificación y, de este modo, también se puede hacer referencia al bloque como unidad, unidad de codificación (CU), unidad de predicción. (PU), unidad de transformación (TU), etc. Una unidad se puede dividir en subunidades que tienen un tamaño más pequeño. Una unidad de predicción es una unidad básica para realizar la inter predicción o compensación de movimiento, y a la que también se puede hacer referencia como bloque de predicción. Una unidad de predicción se puede dividir en una pluralidad de particiones, y la pluralidad de particiones es una unidad básica para realizar la predicción, y también se puede hacer referencia a una partición dividida de una unidad de predicción como unidad de predicción. Además, como se usa en la presente memoria, también se puede hacer referencia a la “imagen” como “imagen”, “cuadro”, “campo” y/o “segmento” según el contexto, y se puede hacer fácilmente una distinción unas entre otras por los expertos en la técnica. Por ejemplo, también se puede hacer referencia a la “imagen P”, la “imagen B” y la “imagen B direccional hacia delante” como “segmento P”, “segmento B” y “segmento B direccional hacia delante”, respectivamente. Además, como se usa en la presente memoria, el “bloque actual” puede denotar un bloque cuando se realiza inter predicción o compensación de movimiento, y en tal caso, el bloque actual puede significar una unidad de predicción o un bloque de predicción.
La Fig. 3 es un diagrama de flujo que ilustra esquemáticamente un método de inter predicción según una realización de la presente invención.
Con referencia a la Fig. 3, un codificador y un decodificador pueden derivar información de movimiento para un bloque actual (S310).
En un modo inter, el codificador y el decodificador pueden derivar la información de movimiento del bloque actual y luego pueden realizar inter predicción y/o compensación de movimiento en base a la información de movimiento derivada. En este momento, el codificador y el decodificador pueden mejorar la eficiencia de codificación usando información de movimiento de un bloque situado en la misma ubicación correspondiente al bloque actual en una imagen situada en la misma ubicación ya reconstruida y/o un bloque adyacente reconstruido. Aquí, el bloque adyacente reconstruido es un bloque en una imagen actual que ya está codificado y/o decodificado y reconstruido, y puede incluir un bloque adyacente al bloque actual y/o un bloque colocado en una esquina fuera del bloque actual. Además, el codificador y el decodificador pueden determinar una posición relativa predeterminada en base a un bloque presente espacialmente en la misma posición que el bloque actual en la imagen situada en la misma ubicación y pueden producir el bloque situado en la misma ubicación en base a la posición relativa predeterminada determinada (una posición en y/o fuera de un bloque presente espacialmente en la misma posición que el bloque actual). Aquí, como ejemplo, la imagen situada en la misma ubicación puede corresponder a una imagen entre las imágenes de referencia incluidas en una lista de imágenes de referencia. Además, la información de movimiento, como se usa en la presente memoria, significa información necesaria para la inter predicción o compensación de movimiento, que incluye al menos uno de un vector de movimiento, un índice de imagen de referencia, un índice de candidato de vector de movimiento, una diferencia de vector de movimiento, una lista de imágenes de referencia, un vector de movimiento de predicción, una bandera de fusión, un índice de fusión, una dirección de predicción e información de disponibilidad.
Mientras tanto, el esquema de derivación de información de movimiento puede variar dependiendo de un modo de predicción de un bloque actual. Como modo de predicción aplicable a la inter predicción, puede haber un modo de fusión o predicción de vector de movimiento que incluya AMVP (Predicción Avanzada de Vector de Movimiento). Como ejemplo, en caso de que se aplique predicción de vector de movimiento, el codificador y el decodificador pueden generar una lista de candidatos de vector de movimiento usando un vector de movimiento de un bloque situado en la misma ubicación y/o un vector de movimiento de un bloque adyacente reconstruido. Es decir, el vector de movimiento del bloque adyacente reconstruido y/o el vector de movimiento del bloque situado en la misma ubicación se pueden usar como candidatos de vector de movimiento. El codificador puede transferir, al decodificador, un índice de vector de movimiento de predicción que indica el vector de movimiento de predicción óptimo seleccionado entre los candidatos de vector de movimiento incluidos en la lista. En este momento, el decodificador puede seleccionar un vector de movimiento de predicción del bloque actual entre los candidatos de vector de movimiento de predicción incluidos en la lista de candidatos de vector de movimiento usando el índice de vector de movimiento de predicción.
El codificador puede obtener una diferencia de vector de movimiento (MVD) entre el vector de movimiento del bloque actual y el vector de movimiento de predicción y puede codificar la diferencia de vector de movimiento y puede transferir la diferencia de vector de movimiento codificada al decodificador. En este momento, el decodificador puede decodificar la diferencia de vector de movimiento recibida y puede derivar el vector de movimiento del bloque actual sumando la diferencia de vector de movimiento decodificada al vector de movimiento de predicción.
Como otro ejemplo, en caso de que se aplique un modo de fusión, el codificador y el decodificador pueden generar una lista de candidatos de fusión usando un bloque situado en la misma ubicación y/o información de movimiento de un bloque adyacente reconstruido. Es decir, en caso de que haya información de movimiento del bloque situado en la misma ubicación y/o del bloque adyacente reconstruido, el codificador y el decodificador pueden usarlo como candidato de fusión para el bloque actual.
El decodificador puede seleccionar un candidato de fusión que pueda proporcionar la eficiencia de codificación óptima entre los candidatos de fusión incluidos en la lista de candidatos de fusión como la información de movimiento para el bloque actual. En este momento, un índice de fusión que indica el candidato de fusión seleccionado se puede incluir en un flujo de bits y se puede transmitir al decodificador. El decodificador puede seleccionar uno de los candidatos de fusión incluidos en la lista de candidatos de fusión usando el índice de fusión transmitido y puede determinar el candidato de fusión seleccionado como la información de movimiento del bloque actual. Por consiguiente, en caso de que se aplique el modo de fusión, la información de movimiento del bloque situado en la misma ubicación y/o del bloque adyacente reconstruido se puede usar, como está, como la información de movimiento del bloque actual.
En el AMVP y el modo de fusión descritos anteriormente, la información de movimiento del bloque adyacente reconstruido y/o la información de movimiento del bloque situado en la misma ubicación se pueden usar para derivar la información de movimiento del bloque actual. En lo sucesivo, en las realizaciones descritas a continuación, la información de movimiento derivada del bloque adyacente reconstruido se denota como información de movimiento espacial, y la información de movimiento derivada en base al bloque situado en la misma ubicación se denota como información de movimiento temporal. Por ejemplo, se puede hacer referencia a un vector de movimiento derivado de un bloque adyacente reconstruido como vector de movimiento espacial, y se puede hacer referencia a un vector de movimiento derivado en base a un bloque situado en la misma ubicación como vector de movimiento temporal. Con referencia de vuelta a la Fig. 3, el codificador y el decodificador pueden generar un bloque de predicción realizando una compensación de movimiento sobre un bloque actual en base a la información de movimiento derivada (S320). Aquí, el bloque de predicción puede significar un bloque de compensación de movimiento que se genera como resultado de realizar la compensación de movimiento sobre el bloque actual. Además, una pluralidad de bloques de compensación de movimiento puede constituir una imagen de compensación de movimiento. De este modo, en las realizaciones descritas a continuación, el bloque de predicción se puede denotar como “bloque de movimiento compensado” y/o “imagen de movimiento compensado” según el contexto, y una distinción entre los dos se puede hacer fácilmente por los expertos en la técnica.
Mientras tanto, como las imágenes a ser sujetas a inter predicción, puede haber una imagen P y una imagen B. La imagen P puede significar una imagen sujeta a predicción unidireccional usando una imagen de referencia, y la imagen B puede significar una imagen sujeta a predicción direccional hacia delante, direccional hacia atrás o bidireccional usando, por ejemplo, dos imágenes de referencia. Por ejemplo, la imagen B puede estar sujeta a inter predicción usando una imagen de referencia direccional hacia delante (imagen pasada) y una imagen de referencia direccional hacia atrás (imagen futura). Además, la imagen B también puede estar sujeta a predicción usando dos imágenes de referencia direccionales hacia delante o dos imágenes de referencia direccionales hacia atrás.
Aquí, las imágenes de referencia se pueden gestionar mediante una lista de imágenes de referencia. La imagen de referencia usada en la imagen P se puede asignar a una lista de imágenes de referencia 0 (L0 o Lista 0). Las dos imágenes de referencia usadas en la imagen B se pueden asignar a la lista de imágenes de referencia 0 y la lista de imágenes de referencia 1 (L1 o Lista 1), respectivamente. En lo sucesivo, la lista de imágenes de referencia L0 puede tener el mismo significado que la lista de imágenes de referencia 0, y la lista de imágenes de referencia L1 puede tener el mismo significado que la lista de imágenes de referencia 1.
En general, una imagen de referencia direccional hacia delante se puede asignar a la lista de imágenes de referencia 0, y una imagen de referencia hacia atrás se puede asignar a la lista de imágenes de referencia 1. No obstante, el método de asignación de una imagen de referencia no se limita a la misma, y se puede asignar una imagen de referencia direccional hacia delante a la lista de imágenes de referencia 1, mientras que una imagen de referencia direccional hacia atrás se puede asignar a la lista de imágenes de referencia 0. En lo sucesivo, se hace referencia a una imagen de referencia asignada a la lista de imágenes de referencia 0 como imagen de referencia L0, y se hace referencia a una imagen de referencia asignada a la lista de imágenes de referencia 1 como imagen de referencia L1.
Las imágenes de referencia se pueden asignar generalmente a la lista de imágenes de referencia en un orden descendente según los números de imágenes de referencia. Aquí, el número de imagen de referencia puede significar un número asignado a cada imagen de referencia en el orden de POC (Recuento de Orden de Imágenes). El orden de POC puede significar un orden de tiempo y/o un orden de visualización de una imagen. Por ejemplo, dos imágenes de referencia que tienen el mismo número de POC pueden corresponder a la misma imagen de referencia. Las imágenes de referencia asignadas a la lista de imágenes de referencia se pueden reorganizar mediante la modificación de la lista de imágenes de referencia.
Como se ha descrito anteriormente, una predicción unidireccional que usa una imagen de referencia L0 se puede realizar sobre la imagen P, y una predicción direccional hacia delante, direccional hacia atrás o bidireccional que usa una imagen de referencia L0 y una imagen de referencia L1, es decir, dos imágenes de referencia se pueden realizar sobre la imagen B. Se puede hacer referencia a una predicción que usa una imagen de referencia como unipredicción, y se puede hacer referencia a una predicción que usa dos imágenes de referencia que incluyen una imagen de referencia L0 y una imagen de referencia L1 como bipredicción.
La bipredicción puede tener el concepto de incluir todas de la predicción direccional hacia delante, predicción direccional hacia atrás y predicción bidireccional, pero por facilidad de descripción, en las realizaciones descritas a continuación, se hace referencia a la predicción que usa dos imágenes de referencia (imagen de referencia L0 e imagen de referencia L1) como predicción bidireccional. Es decir, en las realizaciones descritas a continuación, la predicción bidireccional puede significar bipredicción, y se puede entender que tiene un concepto de incluir toda de la predicción direccional hacia delante, direccional hacia atrás y bidireccional que usa dos imágenes de referencia (imagen de referencia L0 e imagen de referencia L1). Además, incluso en el caso de que se realice una bipredicción, se puede realizar una predicción direccional hacia delante o una predicción direccional hacia atrás, pero en las realizaciones descritas a continuación, se hace referencia a la predicción que usa una imagen de referencia sola como predicción unidireccional, por facilidad de descripción. En otras palabras, en las realizaciones descritas a continuación, predicción unidireccional puede significar una unipredicción, y se debería entender que tiene el concepto de incluir predicción que usa solamente una imagen de referencia. Además, se hace referencia en lo sucesivo a la información que indica si se aplica predicción unidireccional (unipredicción) o predicción bidireccional (bipredicción) a un bloque como información de dirección de predicción.
La Fig. 4 es un diagrama de flujo que ilustra un proceso de derivación de un candidato de vector de movimiento para determinar un vector de movimiento de predicción en un aparato de codificación/decodificación de imágenes según una realización de la presente invención.
Con referencia a la Fig. 4, el codificador y el decodificador derivan primero un candidato de vector de movimiento espacial con el fin de determinar un vector de movimiento de predicción (S410). El codificador y el decodificador pueden derivar, como candidato de vector de movimiento espacial, un candidato de vector de movimiento de un bloque (bloque de referencia) ya reconstruido espacialmente adyacente a un bloque actual como se ha descrito anteriormente. En este momento, se pueden derivar tantos candidatos de vector de movimiento espaciales como el número máximo de candidatos de vector de movimiento espaciales, maxNumSpatialMVPCand. En caso de que una imagen de referencia de un bloque adyacente reconstruido sea diferente de una imagen de referencia del bloque actual, se puede llevar a cabo un escalado para derivar un candidato de vector de movimiento espacial.
El codificador y el decodificador derivan un candidato de vector de movimiento temporal (S420). El codificador y el decodificador pueden derivar un candidato de vector de movimiento a partir de un bloque situado en la misma ubicación reconstruido en una imagen situada en la misma ubicación temporalmente adyacente a un bloque actual. Además, se pueden derivar tantos candidatos de vector de movimiento temporales como el número máximo de candidatos de vector de movimiento temporales, maxNumTemporalMVPCand. Además, en caso de que una distancia entre una imagen actual y una imagen de referencia de un bloque actual sea diferente de una distancia entre una imagen situada en la misma ubicación y una imagen de referencia de un bloque situado en la misma ubicación, se puede llevar a cabo un escalado para derivar un candidato de vector de movimiento temporal.
Si se hace la derivación de un candidato de vector de movimiento espacial o un candidato de vector de movimiento temporal, un candidato de vector de movimiento derivado se añade a una lista de candidatos de vector de movimiento (S430). Es decir, el codificador y el decodificador pueden añadir candidatos de vector de movimiento espaciales y candidatos de vector de movimiento temporales a la lista de candidatos de vector de movimiento (mvpListLX) en un orden. La lista de candidatos de vector de movimiento (mvpListLX) significa una lista de candidatos de vector de movimiento correspondiente a una de las listas de imágenes de referencia L0 y L1 y, por ejemplo, una lista de candidatos de vector de movimiento correspondiente a la lista de imágenes de referencia L0 se puede representar como mvpListL0.
Después de que se configura la lista de candidatos de vector de movimiento, el codificador y el decodificador eliminan el mismo candidato de vector de movimiento (S440). Se verifica si hay candidatos de vector de movimiento que tengan el mismo valor de vector de movimiento en la lista de candidatos de vector de movimiento (mvpListLX). Por ejemplo, si una pluralidad de candidatos de vector de movimiento espaciales están en la lista, entre los candidatos de vector de movimiento espaciales que son idénticos entre sí, se deja un candidato de vector de movimiento espacial que tiene el índice de candidato de vector de movimiento más pequeño al tiempo que los otros candidatos de vectores de movimiento espaciales se eliminan de la lista de candidatos de vectores de movimiento. En otras palabras, en caso de que haya una pluralidad de candidatos que tengan el mismo valor de vector de movimiento, solamente uno de los candidatos que tenga el mismo valor de vector de movimiento se puede dejar en la lista de candidatos de vector de movimiento. El número de candidatos de vector de movimiento a ser eliminados puede ser uno.
Luego, el codificador y el decodificador añaden o eliminan algunos de los vectores de movimiento específicos para ajustar por ello la lista de candidatos de vector de movimiento (S450). El codificador y el decodificador pueden ajustar el tamaño de la lista de candidatos de vector de movimiento añadiendo un vector de movimiento a la lista de candidatos de vector de movimiento mvpListLX) o eliminando algunos de los candidatos de vector de movimiento incluidos en la lista de candidatos de vector de movimiento. El número de candidatos de vector de movimiento a ser eliminados puede ser uno. En este momento, se puede añadir un vector de movimiento específico sin verificar si un candidato de vector de movimiento está presente en la lista de candidatos de vector de movimiento en base al número máximo de candidatos de vector de movimiento (maxNumMVPCand). Además, sin verificar si un candidato de vector de movimiento específico está presente en la lista de candidatos de vector de movimiento, se puede añadir un candidato de vector de movimiento específico para ajustar el número de candidatos de vector de movimiento en la lista de candidatos de vector de movimiento. En este momento, el vector de movimiento específico añadido puede ser un vector que tiene un número entero fijo o, en algunos casos, puede ser un vector de movimiento (0,0). Aquí, el vector de movimiento (0,0) significa un vector de movimiento en el que los componentes x e y son ambos 0, y también se puede denotar como vector de movimiento 0 (vector de movimiento cero).
Finalmente, el codificador y el decodificador pueden determinar un vector de movimiento de predicción en base a la lista de candidatos de vector de movimiento ajustada (S460).
La Fig. 5 es una vista que ilustra esquemáticamente un proceso de derivación de un candidato de vector de movimiento espacial según una realización de la presente invención.
Con referencia a la Fig. 5, el codificador y el decodificador determinan si hay información de movimiento de los bloques adyacentes reconstruidos 510, 512, 514, 516 y 518 para derivar un candidato de vector de movimiento espacial de un bloque actual 500. En caso de que no haya ninguna información de movimiento de los bloques adyacentes reconstruidos, se puede determinar que no están disponibles para los candidatos de vector de movimiento.
Según una realización de la presente invención, el codificador y el decodificador pueden derivar vectores de movimiento espaciales de un bloque AO 510 colocado en una esquina inferior izquierda del bloque actual 500, un bloque A1 512 adyacente a un lado izquierdo más inferior del bloque actual 500, un bloque B0514 colocado en una esquina superior derecha del bloque actual 500, un bloque B1 516 adyacente a un lado superior más a la derecha del bloque actual 500, y un bloque B2518 colocado en una esquina superior izquierda de bloque actual 500 y puede determinarlo como un candidato de vector de movimiento espacial del bloque actual 500.
En este momento, se puede determinar que cada uno de los bloques tiene un vector de movimiento en el orden de los bloques A0, A1, B0, B1 y B2510, 512, 514, 516 y 518. En caso de que haya un vector de movimiento, el vector de movimiento del bloque correspondiente se puede determinar como candidato de vector de movimiento. Se pueden derivar tantos candidatos de vector de movimiento espaciales como el número máximo de candidatos de vector de movimiento espaciales, maxNumSpatialMVPCand. En tal caso, el número máximo de candidatos de vector de movimiento espaciales, maxNumSpatialMVPCand, es un número entero positivo que incluye 0. Según una realización de la presente invención, el número máximo de candidatos de vector de movimiento espaciales, maxNumSpatialMVPCand, puede ser 2. Por consiguiente, un candidato de vector de movimiento se deriva del bloque A0510 y del bloque A1 512, y un candidato de vector de movimiento se deriva del bloque B0514, del bloque B1 516 y del bloque B2 518, de modo que se derive un total de dos vectores de movimiento espaciales. Simultáneamente, en caso de que el vector de movimiento derivado del bloque A0510 y del bloque A1512 no sea el mismo que el vector de movimiento derivado del bloque B0514, el bloque B1 516 y el bloque B2518, no se puede realizar el proceso de derivación de un candidato de vector de movimiento temporal. Además, en caso de que una imagen de referencia del bloque adyacente reconstruido sea diferente de una imagen de referencia del bloque actual 500, el vector de movimiento del bloque adyacente se puede escalar en base a una diferencia entre la imagen de referencia del bloque actual 500 y la imagen de referencia del bloque adyacente reconstruido, y luego se puede usar.
Según otra realización de la presente invención, el siguiente esquema se puede seguir para derivar un vector de movimiento espacial a partir de un bloque adyacente reconstruido:
1) en caso de que un bloque esté presente en una posición predeterminada, el bloque correspondiente no está sujeto a intra codificación, y una lista de imágenes de referencia y una imagen de referencia del bloque correspondiente son las mismas que una lista de imágenes de referencia y una imagen de referencia de un bloque actual, un vector de movimiento del bloque correspondiente se puede derivar como candidato de vector de movimiento del bloque actual.
2) en caso de que un bloque esté presente en una posición predeterminada, el bloque correspondiente no está sujeto a intra codificación, y una lista de imágenes de referencia del bloque correspondiente es diferente de una lista de imágenes de referencia de un bloque actual, pero una imagen de referencia del bloque correspondiente es la misma que una imagen de referencia del bloque actual, un vector de movimiento del bloque correspondiente se puede derivar como candidato de vector de movimiento del bloque actual.
3) en caso de que un bloque esté presente en una posición predeterminada, el bloque correspondiente no está sujeto a intra codificación, y una lista de imágenes de referencia del bloque correspondiente es la misma que una lista de imágenes de referencia de un bloque actual, pero una imagen de referencia del bloque correspondiente es diferente de una imagen de referencia del bloque actual, un vector de movimiento del bloque correspondiente puede estar sujeto a escalado y luego se puede derivar como candidato de vector de movimiento del bloque actual.
4) en caso de que un bloque esté presente en una posición predeterminada, el bloque correspondiente no está sujeto a intra codificación, y una lista de imágenes de referencia y una imagen de referencia del bloque correspondiente son diferentes de una lista de imágenes de referencia y una imagen de referencia de un bloque actual, un vector de movimiento del bloque correspondiente puede estar sujeto a escalado y luego se puede derivar como candidato de vector de movimiento del bloque actual.
En base a los procesos 1) a 4) anteriores, el codificador y el decodificador pueden realizar secuencialmente los procesos 1) y 2) en el bloque A0510, los procesos 1) y 2) en el bloque A1 512, los procesos 3) y 4 ) en el bloque A0 510, los procesos 3) y 4) en el bloque A1 512, los procesos 1) y 2) en el bloque B0514, los procesos 1) y 2) en el bloque B1 516, los procesos 1) y 2) en el bloque B2518, los procesos 3) y 4) en el bloque B0514, los procesos 3) y 4) en el bloque B1516, y los procesos 3) y 4) en el bloque B2518.
La Fig. 6 es una vista que ilustra esquemáticamente un proceso de derivación de un candidato de vector de movimiento temporal según una realización de la presente invención.
Con referencia a la Fig. 6, el codificador y el decodificador pueden derivar un candidato de vector de movimiento de un bloque situado en la misma ubicación (o bloque situado en la misma ubicación, 600) reconstruido en una imagen situada en la misma ubicación (o imagen situada en la misma ubicación) temporalmente adyacente al bloque actual 500.
Según una realización de la presente invención, los candidatos de vector de movimiento temporales se pueden derivar en el orden de un bloque 610 presente en la posición H, que se coloca fuera de un bloque situado en la misma ubicación 600 correspondiente espacialmente a la misma posición que el bloque actual 500 en la imagen situada en la misma ubicación de la imagen actual y un bloque 612 presente en la posición C3, que está colocado en el bloque situado en la misma ubicación 600. En este momento, en caso de que un vector de movimiento se pueda derivar del bloque H 610, un vector de movimiento temporal se deriva del bloque H 610, y en caso de que no se pueda derivar ningún vector de movimiento del bloque H 610, se puede derivar un candidato de vector de movimiento temporal del bloque C3612.
Aquí, el bloque H 610 puede ser un bloque colocado en una esquina inferior derecha del bloque situado en la misma ubicación 600, y el bloque C3 puede ser un bloque colocado en un lado inferior derecho entre los bloques obtenidos cuadriculando un cuadrado con respecto al centro del bloque situado en la misma ubicación 600. Se puede determinar un vector de movimiento temporal dependiendo de la posición relativa del bloque H 610 y del bloque C3 612. Si el bloque H 610 y el bloque C3 están sujetos a intra codificación, no se puede derivar ningún candidato de vector de movimiento temporal.
Además, se pueden derivar tantos candidatos de vector de movimiento temporales como el número máximo de candidatos de vector de movimiento temporales, maxNumTemporalMVPCand. En este momento, el número máximo de candidatos de vector de movimiento temporales, maxNumTemporalMVPCand, es un número entero positivo que incluye 0, y como ejemplo, el número máximo de candidatos de vector de movimiento temporales, maxNumTemporalMVPCand, puede ser 1. En caso de que una distancia entre una imagen actual y una imagen de referencia del bloque actual 500 sea diferente de una distancia entre una imagen situada en la misma ubicación y una imagen de referencia del bloque situado en la misma ubicación 600, se puede realizar un escalado sobre el vector de movimiento, derivando por ello un candidato de vector de movimiento temporal.
El escalado se puede realizar en el siguiente proceso.
En primer lugar, se obtienen primero td que indica una diferencia de POC (Recuento de Orden de Imágenes) entre una imagen situada en la misma ubicación y una imagen de referencia del bloque H 610 o del bloque C3612 y tb que indica una diferencia de POC entre la imagen actual y una imagen de referencia de un bloque actual. En este momento, en el proceso de derivación de un candidato de vector de movimiento espacial, td denota una diferencia en POC entre la imagen actual y una imagen de referencia a la que se hace referencia mediante un bloque de referencia espacialmente adyacente, y tb denota una diferencia en POC entre la imagen actual y una imagen de referencia a la que se hace referencia mediante el bloque actual. En este momento, la imagen de referencia del bloque actual y la imagen de referencia del bloque de referencia pueden tener diferentes direcciones de predicción y, en tal caso, se pueden asignar a td y tb diferentes signos. En algunos casos, td o tb se pueden ajustar para ser incluidos en un intervalo de -128 a 127. En este momento, si td o tb es menor que -128, td o tb se puede ajustar a -128, y si td o tb es mayor que 127, td o tb se puede ajustar a 127. Si td o tb se incluye en un intervalo de -128 a 127, td o tb no está sujeto a ajuste.
Después de que se obtienen td y tb, se produce tx, que es un valor inversamente proporcional de td. Esto se puede determinar usando la ecuación: (16384 (Abs (td) >> 1 ))/td. Aquí, Abs () representa un valor absoluto de un valor de entrada.
Luego, se determina un factor de escala, DistScaleFactor, en base a la ecuación, (tb * tx 32) >> 6, y se ajusta para ser incluido en un intervalo entre -1024 y 1023.
Con el valor de DistScaleFactor y la ecuación, Sign(DistScaleFactor*mvCol)*((Abs(DistScaleFactor*mvCol) 127) >> 8), ajustados, se puede obtener un vector de movimiento temporal escalado. En este momento, Sign() emite información sobre el signo de un valor de entrada, y mvCol representa un vector de movimiento temporal antes de escalar.
La Fig. 7 es una vista que ilustra esquemáticamente una realización de configuración de una lista de candidatos de vector de movimiento en base a vectores de movimiento derivados.
Con referencia a la Fig. 7, el codificador y el decodificador añaden un candidato de vector de movimiento derivado a una lista de candidatos de vector de movimiento mvpListLX. El codificador y el decodificador añaden candidatos de vector de movimiento espaciales derivados y candidatos de vector de movimiento temporales a la lista de candidatos de vector de movimiento en un orden. mvpListLX significa una lista de candidatos de vector de movimiento correspondiente a una de las listas de imágenes de referencia L0 y L1. Por ejemplo, una lista de candidatos de vector de movimiento correspondiente a la lista de imágenes de referencia L0 se puede representar como mvpListL0.
El tamaño de la lista de candidatos de vector de movimiento mvpListLX se puede determinar en base a un número predeterminado, por ejemplo, el número máximo de candidatos de vector de movimiento, maxNumMVPCand. En este momento, el número máximo de candidatos de vector de movimiento, maxNumMVPCand, puede ser 2. En caso de que el número máximo de candidatos de vector de movimiento sea 3, y el número de candidatos de vector de movimiento derivados sea 3, un candidato de vector de movimiento a ser añadido primero a la lista de candidatos de vector de movimiento mvpListLX puede tener un índice de candidato de vector de movimiento de 0, y un candidato de vector de movimiento a ser añadido el última a la lista puede tener un índice de vector de movimiento de 2. Según la realización descrita en conexión con la Fig. 7, si un candidato de vector de movimiento espacial no escalado (1,0) se deriva del bloque A1 512, un candidato de vector de movimiento espacial escalado (4,-1) se deriva del bloque B1516, y un candidato de vector de movimiento temporal (2,3) se deriva del bloque H 610, los candidatos de vector de movimiento se añaden a la lista de candidatos de vector de movimiento 700 en el orden. En este momento, el índice del candidato de vector de movimiento derivado del bloque A1 512 puede ser 0, el índice del candidato de vector de movimiento derivado del bloque B1 516 puede ser 1 y el índice del candidato de vector de movimiento derivado del bloque H 610 puede ser 2. En la realización, suponiendo que el número máximo de candidatos de vector de movimiento es 2, los candidatos de vector de movimiento derivados del bloque A1512 y del bloque B1 516 no son los mismos unos que otros y, de este modo, los candidatos de vector de movimiento derivados del bloque A1 512 y del bloque B1 516 se añaden a la lista de candidatos de vector de movimiento sin derivar un candidato de vector de movimiento temporal.
La Fig. 8 es una vista que ilustra esquemáticamente una realización de eliminación de vectores de movimiento que son los mismos unos que otros de una lista de candidatos de vector de movimiento.
Con referencia a la Fig. 8, el codificador y el decodificador verifican si los mismos candidatos de vector de movimiento están en la lista de candidatos de vector de movimiento 800. Si el resultado de la verificación muestra que hay una pluralidad de mismos candidatos de vector de movimiento, el codificador y el decodificador dejan un candidato de vector de movimiento que tenga el índice de candidato de vector de movimiento más pequeño entre los mismos candidatos de vector de movimiento al tiempo que se eliminan los demás de la lista de candidatos de vector de movimiento 800. En este momento, la operación de eliminación del mismo candidato de vector de movimiento se puede llevar a cabo solamente sobre candidatos de vector de movimiento espaciales.
Según la realización descrita en relación con la Fig. 8, en caso de que la lista de candidatos de vector de movimiento 800 consista en tres candidatos de vector de movimiento (1,0), (1,0) y (2,3), los candidatos correspondientes a los índices 0 y 1 son el mismo uno que otro como que tiene (1,0). En caso de que hayan los mismos vectores de movimiento, el codificador y el decodificador dejan solamente un candidato de vector de movimiento que tenga el índice más pequeño entre los mismos candidatos de vector de movimiento en la lista de candidatos de vector de movimiento 810 al tiempo que se eliminan los otros candidatos de vector de movimiento, como en la lista de candidatos de vector de movimiento 810 reconfigurada.
La Fig. 9 es un diagrama de flujo que ilustra esquemáticamente un proceso de ajuste de una lista de candidatos de vector de movimiento según una realización de la presente invención.
Con referencia a la Fig. 9, el codificador y el decodificador determinan si el número de candidatos de vector de movimiento incluidos en la lista de candidatos de vector de movimiento, numMVPCandLX, es menor que el número máximo de candidatos de vector de movimiento, maxNumMVPCand (S910).
En caso de que el número de candidatos de vector de movimiento incluidos en la lista de candidatos de vector de movimiento, numMVPCandLX sea menor que el número máximo de candidatos de vector de movimiento, maxNumMVPCand, el vector de movimiento (0,0) se añade a la lista de candidatos de vector de movimiento (S920). Si el vector de movimiento (0,0) se añade a la lista de candidatos de vector de movimiento, el número de candidatos de vector de movimiento incluidos en la lista de candidatos de vector de movimiento, numMVPCandLX, se puede aumentar en 1. Después de que se añada el vector de movimiento (0,0), la operación de determinación de si el número de candidatos de vector de movimiento incluidos en la lista de candidatos de vector de movimiento, numMVPCandLX, es menor que el número máximo de candidatos de vector de movimiento, maxNumMVPCand y añadir un vector de movimiento (0,0) se repite hasta que el número de candidatos de vector de movimiento incluidos en la lista de candidatos de vector de movimiento, numMVPCandLX, alcance el número máximo de candidatos de vector de movimiento, maxNumMVPCand. Es decir, el proceso anterior se puede realizar hasta que el número de candidatos de vector de movimiento incluidos en la lista de candidatos de vector de movimiento, numMVPCandLX, sea el mismo que el número máximo de candidatos de vector de movimiento, maxNumMVPCand.
No obstante, según otra realización de la presente invención, en caso de que el número de candidatos de vector de movimiento incluidos en la lista de candidatos de vector de movimiento, numMVPCandLX, sea menor que el número máximo de candidatos de vector de movimiento, maxNumMVPCand, se puede añadir solamente un vector de movimiento (0, 0).
De manera resultante, el número de candidatos de vector de movimiento incluidos en la lista de candidatos de vector de movimiento se puede determinar dependiendo del número máximo de candidatos de vector de movimiento. Según una realización de la presente invención, en caso de que el número de candidatos de vector de movimiento incluidos en la lista de candidatos de vector de movimiento, numMVPCandLX, sea mayor que el número máximo de candidatos de vector de movimiento, maxNumMVPCand, algunos de los candidatos de vector de movimiento se pueden eliminar para ajustar la lista de candidatos de vector de movimiento. En este momento, los candidatos de vector de movimiento a ser eliminados pueden ser candidatos de vector de movimiento que tengan un índice que sea mayor que el número máximo de candidatos de vector de movimiento, maxNumMVPCand, menos 1, (maxNumMVPCand-1). Además, en caso de que el número de candidatos de vector de movimiento incluidos en la lista de candidatos de vector de movimiento, numMVPCandLX, sea el mismo que el número máximo de candidatos de vector de movimiento, maxNumMVPCand, se derivan los candidatos de vector de movimiento finales. En este momento, en caso de que el número máximo de candidatos de vector de movimiento, maxNumMVPCand, sea 2, finalmente se puede derivar un máximo de dos candidatos de vector de movimiento. En este momento, los candidatos de vector de movimiento derivados se pueden incluir en la lista de candidatos de vector de movimiento, y uno de los candidatos de vector de movimiento derivados se puede determinar como vector de movimiento de predicción del bloque de predicción.
Según otra realización de la presente invención, en caso de que el número de candidatos de vector de movimiento incluidos en la lista de candidatos de vector de movimiento, numMVPCandLX, sea mayor o igual que el número máximo de candidatos de vector de movimiento, maxNumMVPCand, algunos de los candidatos de vector de movimiento se pueden eliminar para ajustar la lista de candidatos de vector de movimiento. Del mismo modo, en caso de que el número de candidatos de vector de movimiento incluidos en la lista de candidatos de vector de movimiento, numMVPCandLX, sea el mismo que el número máximo de candidatos de vector de movimiento, maxNumMVPCand, no se necesita la eliminación de los candidatos de vector de movimiento. Por consiguiente, solamente cuando el número de candidatos de vector de movimiento incluidos en la lista de candidatos de vector de movimiento, numMVPCandLX, sea mayor que el número máximo de candidatos de vector de movimiento, maxNumMVPCand, algunos de los candidatos de vector de movimiento se pueden eliminar para ajustar la lista de candidatos de vector de movimiento.
Dado que solamente la comparación entre el número de candidatos de vector de movimiento incluidos en la lista de candidatos de vector de movimiento y el número máximo de candidatos de vector de movimiento se realiza a través del proceso anterior para añadir por ello un candidato de vector de movimiento a la lista de candidatos de vector de movimiento, no hay necesidad de realizar una comprobación duplicada sobre si un candidato de vector de movimiento específico (vector de movimiento (0,0)) a ser añadido está presente en la lista de candidatos de vector de movimiento, conduciendo de este modo a una reducción en la complejidad de cálculo cuando se realiza la predicción del vector de movimiento.
Además, solamente se realiza una comparación entre el número de candidatos de vector de movimiento incluidos en la lista de candidatos de vector de movimiento y el número máximo de candidatos de vector de movimiento y, de este modo, no hay necesidad de realizar una comprobación de lista vacía para comprobar si hay un vector de movimiento en la lista de candidatos de vector de movimiento, que de otro modo se dirige en medio de la configuración de la lista de candidatos de vector de movimiento, dando como resultado de este modo una disminución adicional en la complejidad de cálculo.
La Fig. 10 es una vista que ilustra esquemáticamente una realización de la adición de un vector de movimiento (0,0) en caso de que un candidato de vector de movimiento esté presente en una lista de candidatos de vector de movimiento.
El codificador y el decodificador pueden ajustar el tamaño de la lista de candidatos de vector de movimiento añadiendo un vector de movimiento a la lista de candidatos de vector de movimiento mvpListLX o eliminando algunos candidatos de vector de movimiento. Aquí, numMVPCandLX significa el número de candidatos de vector de movimiento en una lista de candidatos de vector de movimiento correspondiente a una de las imágenes de referencia L0 y L1, y el tamaño de la lista de candidatos de vector de movimiento máximo se puede determinar dependiendo de un número predeterminado, por ejemplo, el número máximo de candidatos de vector de movimiento, maxNumMVPCand. Por ejemplo, el número de candidatos de vector de movimiento incluidos en la lista de candidatos de vector de movimiento correspondiente a la lista de imágenes de referencia L0 se puede representar como numMVPCandL0. En este momento, numMVPCandLX y maxNumMVPCand pueden ser un número entero positivo que incluye 0, y en una realización, maxNumMVPCand puede ser 2.
Con referencia a la Fig. 10, en una realización de la presente invención, en caso de que el número máximo de candidatos de vector de movimiento, maxNumMVPCand, sea 2, el número de candidatos de vector de movimiento incluidos en la lista de candidatos de vector de movimiento 1000, numMVPCandLX, es 1 y, de este modo, el número de candidatos de vector de movimiento incluidos en la lista de candidatos de vector de movimiento 1000, numMVPCandLX, es menor que el número máximo de candidatos de vector de movimiento, maxNumMVPCand, se puede añadir un vector de movimiento específico a la lista de candidatos de vector de movimiento 1000, aumentando por ello el número de candidatos de vector de movimiento incluidos en la lista de candidatos de vector de movimiento, numMVPCandLX, en 1. Por consiguiente, se puede generar una lista de candidatos de vector de movimiento 1010 con el vector de movimiento específico añadido de modo que se haya ajustado el tamaño. En este momento, el vector de movimiento específico añadido puede ser un vector que tiene un número entero fijo predeterminado y puede ser, por ejemplo, el vector de movimiento (0,0).
La Fig. 11 es una vista que ilustra esquemáticamente una realización de la adición de un vector de movimiento (0,0) en caso de que un candidato de vector de movimiento (0,0) esté presente en una lista de candidatos de vector de movimiento.
Con referencia a la Fig. 11, en otra realización de la presente invención, el número máximo de candidatos de vector de movimiento, maxNumMVPCand, puede ser 2, el número de candidatos de vector de movimiento incluidos en la lista de candidatos de vector de movimiento 1100, numMVPCandLX, puede ser menor que el número máximo de candidatos de vector de movimiento, maxNumMVPCand, y un vector de movimiento específico (vector de movimiento (0,0)) puede estar presente en la lista de candidatos de vector de movimiento 1100. En tal caso, el codificador y el decodificador pueden añadir un vector de movimiento específico sin tener en cuenta si el vector de movimiento específico (vector de movimiento (0,0)) está presente en la lista de candidatos de vector de movimiento 1100. Por consiguiente, se puede añadir un vector de movimiento específico más de modo que se pueda generar una lista de candidatos de vector de movimiento 1110 de tamaño ajustado. En este momento, el vector de movimiento específico añadido puede ser un vector que tiene un número entero fijo predeterminado o puede ser un vector de movimiento (0,0). Al tiempo que se añade el vector de movimiento específico, se puede aumentar el número de candidatos de vector de movimiento incluidos en la lista de candidatos de vector de movimiento, numMVPCandLX. Por consiguiente, se pueden incluir tantos vectores de movimiento (0,0) como el número máximo de candidatos de vector de movimiento, maxNumMVPCand, en la lista de candidatos de vector de movimiento 1110. El codificador y el decodificador añaden un vector de movimiento específico dirigiendo solamente la comparación entre el número de candidatos de vector de movimiento incluidos en la lista de candidatos de vector de movimiento, numMVPCandLX y el número máximo de candidatos de vector de movimiento, maxNumMVPCand y, de este modo, no determina si el vector de movimiento específico está presente en la lista, conduciendo de este modo a una reducción en la complejidad de cálculo.
La Fig. 12 es una vista que ilustra esquemáticamente una realización de la adición de vectores de movimiento (0,0) en caso de que no esté presente ningún vector de movimiento en una lista de candidatos de vector de movimiento.
Con referencia a la Fig. 12, en otra realización más de la presente invención, el número máximo de candidatos de vector de movimiento, maxNumMVPCand, puede ser 2, el número de candidatos de vector de movimiento incluidos en la lista de candidatos de vector de movimiento 1200, numMVPCandLX puede ser menor que el número máximo de candidatos de vector de movimiento, maxNumMVPCand, y ningún vector de movimiento puede estar presente en la lista de candidatos de vector de movimiento 1200. En tal escenario, el codificador y el decodificador pueden añadir repetidamente un vector de movimiento específico independientemente de si un candidato de vector de movimiento es presente en la lista de candidatos de vector de movimiento 1200. Al tiempo que se añade el vector de movimiento específico, se puede aumentar el número de candidatos de vector de movimiento incluidos en la lista de candidatos de vector de movimiento, numMVPCandLX.
En otras palabras, el codificador y el decodificador pueden añadir vectores de movimiento específicos hasta que el número de candidatos de vector de movimiento incluidos en la lista de candidatos de vector de movimiento, numMVPCandLX, alcance el número máximo de candidatos de vector de movimiento, maxNumMVPCand. Como en la realización anterior, en caso de que el número máximo de candidatos de vector de movimiento, maxNumMVPCand, sea 2, se pueden añadir dos vectores de movimiento específicos. En este momento, los vectores de movimiento específicos añadidos pueden ser vectores que tienen un número entero fijo predeterminado o puede ser vectores de movimiento (0,0). Por consiguiente, se pueden incluir tantos vectores de movimiento (0,0) como el número máximo de candidatos de vector de movimiento, maxNumMVPCand, en la lista de candidatos de vector de movimiento 1210. El codificador y el decodificador añaden vectores de movimiento específicos realizando solamente la comparación entre el número de candidatos de vector de movimiento incluidos en la lista de candidatos de vector de movimiento, numMVPCandLX, y el número máximo de candidatos de vector de movimiento, maxNumMVPCand y, de este modo, no se hace ninguna determinación sobre si un candidato de vector de movimiento está presente en la lista, dando como resultado de este modo una reducción en la complejidad de cálculo.
Aunque no se ilustra en los dibujos, según otra realización más de la presente invención, en caso de que el número máximo de candidatos de vector de movimiento, maxNumMVPCand, sea 2, y el número de candidatos de vector de movimiento incluidos en la lista de candidatos de vector de movimiento, numMVPCandLX, sea menor que el número máximo de candidatos de vector de movimiento, maxNumMVPCand, se puede añadir un vector de movimiento específico. Al tiempo que se añade el vector de movimiento específico, se puede aumentar el número de candidatos de vector de movimiento incluidos en la lista de candidatos de vector de movimiento, numMVPCandLX. En otras palabras, sin añadir repetidamente un vector de movimiento específico a ser añadido, solamente se puede añadir un vector de movimiento específico. Por ejemplo, en caso de que no esté presente ningún vector de movimiento en la lista de candidatos de vector de movimiento, el codificador y el decodificador pueden añadir un vector de movimiento específico independientemente de si un candidato de vector de movimiento está presente en la lista de candidatos de vector de movimiento. Al tiempo que se añade el vector de movimiento específico, se puede aumentar el número de candidatos de vector de movimiento incluidos en la lista de candidatos de vector de movimiento, numMVPCandLX. En este momento, el vector de movimiento específico añadido puede ser un vector que tiene un número entero fijo predeterminado, o puede ser un vector de movimiento (0,0). Incluso en tal caso, el codificador y el decodificador añaden un vector de movimiento específico haciendo solamente una comparación entre el número de candidatos de vector de movimiento incluidos en la lista de candidatos de vector de movimiento, numMVPCandLX, y el número máximo de candidatos de vector de movimiento, maxNumMVPCand y, de este modo, no se hace ninguna determinación sobre si un candidato de vector de movimiento está presente en la lista de candidatos de vector de movimiento, disminuyendo de este modo la complejidad de cálculo.
La Fig. 13 es una vista que ilustra esquemáticamente una realización de eliminación de algunos vectores de movimiento de una lista de candidatos de vector de movimiento.
Con referencia a la Fig. 13, en una realización de la presente invención, en caso de que el número de candidatos de vector de movimiento incluidos en la lista de candidatos de vector de movimiento 1300, numMVPCandLX, sea mayor que el número máximo de candidatos de vector de movimiento, maxNumMVPCand, el codificador y el decodificador pueden eliminar un candidato de vector de movimiento que tenga un índice del número máximo de candidatos de vector de movimiento menos 1 (maxNumMVPCand-1) de la lista de candidatos de vector de movimiento 1300. Por ejemplo, en caso de que el número máximo de candidatos de vector de movimiento, maxNumMVPCand, sea 2, y el número de candidatos de vector de movimiento incluidos en la lista de candidatos de vector de movimiento 1300, numMVPCandLX, sea 3, un candidato de vector de movimiento (4,-3) que tiene un índice de 2, que es mayor que 1, que es el número máximo de candidatos de vector de movimiento, maxNumMVPCand, menos 1 (maxNumMPVCand-1), de la lista de candidatos de vector de movimiento 1300, generando de este modo una lista de candidatos de vector de movimiento 1310 de tamaño ajustado.
Según otra realización de la presente invención, en caso de que el número de candidatos de vector de movimiento incluidos en la lista de candidatos de vector de movimiento, numMVPCandLX, sea mayor o igual que el número máximo de candidatos de vector de movimiento, maxNumMVPCand, el codificador y decodificador pueden eliminar un candidato de vector de movimiento que tenga un índice que es mayor que el número máximo de candidatos de vector de movimiento, maxNumMVPCand, menos 1 (maxNumMVPCand-1), de la lista de candidatos de vector de movimiento.
La Fig. 14 es una vista que ilustra esquemáticamente un proceso de determinación de un vector de movimiento de predicción entre candidatos de vector de movimiento en una lista de candidatos de vector de movimiento.
Con referencia a la Fig. 14, el codificador y el decodificador pueden determinar un vector de movimiento de predicción a partir de candidatos de vector de movimiento incluidos en una lista de candidatos de vector de movimiento 1400 que se haya ajustado mediante el proceso anterior.
Según una realización, el codificador y el decodificador pueden determinar, como vector de movimiento de predicción, un candidato de vector de movimiento en la lista de candidatos de vector de movimiento 1400 correspondiente a un índice de candidato de vector de movimiento específico. Por ejemplo, en caso de que el número máximo de candidatos de vector de movimiento, maxNumMVPCand, sea 2, y el índice de candidato de vector de movimiento sea 1, se puede determinar un candidato de vector de movimiento (2,3) como vector de movimiento de predicción.
El codificador y el decodificador pueden generar un bloque de predicción realizando inter predicción o compensación de movimiento en base al valor del vector de movimiento de predicción determinado.
Aunque en las realizaciones los métodos se describen en base a diagramas de flujo con una serie de pasos o bloques, la presente invención no está limitada al orden, y algunos pasos se pueden realizar simultáneamente con o en una secuencia diferente de otros pasos. Además, se puede entender por los expertos en la técnica que se pueden incluir otros pasos de manera no exclusiva en los pasos de los diagramas de flujo o se pueden eliminar uno o más pasos de los diagramas de flujo sin afectar el alcance de la presente invención.

Claims (4)

REIVINDICACIONES
1. Un aparato de decodificación de imágenes configurado para llevar a cabo pasos, que comprende: configurar una lista de candidatos de vector de movimiento;
modificar (S450) la lista de candidatos de vector de movimiento añadiendo un vector de movimiento (0,0) en base a un número de candidatos de vector de movimiento en la lista de candidatos de vector de movimiento; y determinar (S460) un vector de movimiento de predicción en base a la lista de candidatos de vector de movimiento modificada,
en donde la configuración de la lista de candidatos de vector de movimiento comprende:
derivar (S410) un máximo de dos candidatos de vector de movimiento espaciales correspondientes a bloques reconstruidos espacialmente adyacentes a un bloque actual, en donde al menos uno de los candidatos de vector de movimiento espaciales derivados se genera realizando un escalado en base a una diferencia entre una imagen de referencia del bloque actual y una imagen de referencia del bloque reconstruido;
derivar (S420) un candidato de vector de movimiento temporal correspondiente a un bloque situado en la misma ubicación reconstruido en una imagen situada en la misma ubicación temporalmente vecina al bloque actual, en donde el candidato de vector de movimiento temporal derivado se genera realizando un escalado en base a una diferencia entre una primera distancia entre una imagen actual y la imagen de referencia del bloque actual y una segunda distancia entre la imagen situada en la misma ubicación y una imagen de referencia del bloque situado en la misma ubicación;
añadir (S430) los candidatos de vector de movimiento espaciales derivados y el candidato de vector de movimiento temporal derivado a la lista de candidatos de vector de movimiento;
comprobar si dos candidatos de vector de movimiento espaciales derivados tienen un mismo valor de vector de movimiento; y
eliminar (S440) uno de los candidatos de vector de movimiento espaciales que tiene el mismo valor de vector de movimiento de la lista de candidatos de vector de movimiento;
en donde el candidato de vector de movimiento temporal no se deriva cuando dos candidatos de vector de movimiento espaciales derivados están presentes y son diferentes uno de otro;
en donde cuando el número de candidatos de vector de movimiento en la lista de candidatos de vector de movimiento es menor que 2, la modificación de la lista de candidatos de vector de movimiento añade repetidamente el vector de movimiento (0,0) hasta que el número de candidatos de vector de movimiento en la lista de candidatos de vector de movimiento alcanza 2,
en donde cuando no está presente ningún candidato de vector de movimiento en la lista de candidatos de vector de movimiento, se añaden dos vectores de movimiento (0,0) a la lista de candidatos de vector de movimiento.
2. El aparato de decodificación de imágenes de la reivindicación 1, en donde cuando están presentes dos mismos candidatos de vector de movimiento espaciales, un candidato de vector de movimiento espacial que tiene un índice de candidato de vector de movimiento más alto de los dos mismos candidatos de vector de movimiento espaciales se elimina de la lista de candidatos de vector de movimiento.
3. El aparato de decodificación de imágenes de la reivindicación 1, en donde cuando el número de candidatos de vector de movimiento en la lista de candidatos de vector de movimiento es mayor que 2, la modificación de la lista de candidatos de vector de movimiento elimina, de la lista de candidatos de vector de movimiento, un candidato de vector de movimiento que tiene un índice mayor que 1.
4. Un aparato de decodificación de imágenes configurado para llevar a cabo pasos que comprende: configurar una lista de candidatos de vector de movimiento;
modificar (S450) la lista de candidatos de vector de movimiento añadiendo un vector de movimiento (0,0) en base a un número de candidatos de vector de movimiento en la lista de candidatos de vector de movimiento; y determinar (S460) un vector de movimiento de predicción en base a la lista de candidatos de vector de movimiento modificada,
en donde la configuración de la lista de candidatos de vector de movimiento comprende:
derivar (S410) un máximo de dos candidatos de vector de movimiento espaciales correspondientes a bloques reconstruidos espacialmente adyacentes a un bloque actual, en donde al menos uno de los candidatos de vector de movimiento espaciales derivados se genera realizando un escalado en base a una diferencia entre una imagen de referencia del bloque actual y una imagen de referencia del bloque reconstruido;
derivar (S420) un candidato de vector de movimiento temporal correspondiente a un bloque situado en la misma ubicación reconstruido en una imagen situada en la misma ubicación temporalmente vecina al bloque actual, en donde el candidato de vector de movimiento temporal derivado se genera realizando un escalado en base a una diferencia entre una primera distancia entre una imagen actual y la imagen de referencia del bloque actual y una segunda distancia entre la imagen situada en la misma ubicación y una imagen de referencia del bloque situado en la misma ubicación;
añadir (S430) los candidatos de vector de movimiento espaciales derivados y el candidato de vector de movimiento temporal derivado a la lista de candidatos de vector de movimiento;
comprobar si dos candidatos de vector de movimiento espaciales derivados tienen un mismo valor de vector de movimiento; y
eliminar (S440) uno de los candidatos de vector de movimiento espaciales que tiene el mismo valor de vector de movimiento de la lista de candidatos de vector de movimiento;
en donde el candidato de vector de movimiento temporal no se deriva cuando están presentes dos candidatos de vector de movimiento espaciales derivados y son diferentes uno de otro;
en donde cuando el número de candidatos de vector de movimiento en la lista de candidatos de vector de movimiento es menor que 2, la modificación de la lista de candidatos de vector de movimiento añade repetidamente el vector de movimiento (0,0) hasta que el número de candidatos de vector de movimiento en la lista de candidatos de vector de movimiento alcanza 2,
en donde cuando no está presente ningún candidato de vector de movimiento en la lista de candidatos de vector de movimiento, dos vectores de movimiento (0,0) se añaden a la lista de candidatos de vector de movimiento.
ES20195005T 2012-01-19 2013-01-18 Aparato para codificación/decodificación de imágenes Active ES2901350T3 (es)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR20120006282 2012-01-19

Publications (1)

Publication Number Publication Date
ES2901350T3 true ES2901350T3 (es) 2022-03-22

Family

ID=48995608

Family Applications (2)

Application Number Title Priority Date Filing Date
ES13738327T Active ES2832573T3 (es) 2012-01-19 2013-01-18 Método para codificación/decodificación de imágenes
ES20195005T Active ES2901350T3 (es) 2012-01-19 2013-01-18 Aparato para codificación/decodificación de imágenes

Family Applications Before (1)

Application Number Title Priority Date Filing Date
ES13738327T Active ES2832573T3 (es) 2012-01-19 2013-01-18 Método para codificación/decodificación de imágenes

Country Status (17)

Country Link
US (5) US10218999B2 (es)
EP (6) EP3968639B1 (es)
JP (7) JP6005762B2 (es)
KR (10) KR101595419B1 (es)
CN (9) CN108200437B (es)
BR (4) BR122022002970B1 (es)
CY (2) CY1123768T1 (es)
DK (2) DK3767952T3 (es)
ES (2) ES2832573T3 (es)
HR (2) HRP20211943T8 (es)
HU (3) HUE056924T2 (es)
LT (2) LT3767952T (es)
PL (2) PL3767952T3 (es)
PT (2) PT3767952T (es)
RS (2) RS61219B1 (es)
SI (2) SI3767952T1 (es)
WO (1) WO2013109093A1 (es)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9819963B2 (en) * 2011-07-12 2017-11-14 Electronics And Telecommunications Research Institute Inter prediction method and apparatus for same
JP6005762B2 (ja) * 2012-01-19 2016-10-12 エレクトロニクス アンド テレコミュニケーションズ リサーチ インスチチュートElectronics And Telecommunications Research Institute 映像符号化/復号化方法及び装置
SI3833023T1 (sl) 2012-04-12 2022-06-30 Jvckenwood Corporation Konstruiranje seznama kandidatov za spajanje
EP3062518A4 (en) 2013-10-24 2017-05-31 Electronics and Telecommunications Research Institute Video encoding/decoding method and apparatus
WO2015060508A1 (ko) * 2013-10-24 2015-04-30 한국전자통신연구원 비디오 부호화/복호화 방법 및 장치
WO2015192286A1 (en) * 2014-06-16 2015-12-23 Qualcomm Incorporated Simplified shifting merge candidate and merge list derivation in 3d-hevc
CN105681807B (zh) * 2016-01-06 2018-11-02 福州瑞芯微电子股份有限公司 一种基于h264协议的分像素运动矢量计算方法和装置
CN117221572A (zh) * 2016-10-04 2023-12-12 英迪股份有限公司 视频解码方法、图像编码方法以及发送比特流的方法
US10582209B2 (en) * 2017-03-30 2020-03-03 Mediatek Inc. Sub-prediction unit temporal motion vector prediction (sub-PU TMVP) for video coding
WO2019089933A1 (en) * 2017-11-01 2019-05-09 Vid Scale, Inc. Sub-block motion derivation and decoder-side motion vector refinement for merge mode
WO2019151093A1 (en) * 2018-01-30 2019-08-08 Sharp Kabushiki Kaisha Systems and methods for performing motion vector prediction for video coding using motion vector predictor origins
TWI744662B (zh) 2018-06-29 2021-11-01 大陸商北京字節跳動網絡技術有限公司 更新查閱資料表(lut)的條件
CA3105330C (en) 2018-06-29 2023-12-05 Beijing Bytedance Network Technology Co., Ltd. Interaction between lut and amvp
TWI723445B (zh) * 2018-06-29 2021-04-01 大陸商北京字節跳動網絡技術有限公司 查找表的更新:fifo、約束的fifo
EP3791589A1 (en) 2018-06-29 2021-03-17 Beijing Bytedance Network Technology Co. Ltd. Which lut to be updated or no updating
CA3101730A1 (en) 2018-06-29 2020-01-02 Beijing Bytedance Network Technology Co., Ltd. Partial/full pruning when adding a hmvp candidate to merge/amvp
CN110662053B (zh) 2018-06-29 2022-03-25 北京字节跳动网络技术有限公司 使用查找表的视频处理方法、装置和存储介质
CN110662059B (zh) 2018-06-29 2021-04-20 北京字节跳动网络技术有限公司 使用查找表存储先前编码的运动信息并用其编码后续块的方法和装置
KR20240005240A (ko) 2018-06-29 2024-01-11 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 Lut에서의 모션 후보들의 검사 순서
CN110677666B (zh) 2018-07-02 2022-06-14 北京字节跳动网络技术有限公司 Lamvr中取整和修剪的顺序
CN110868601B (zh) * 2018-08-28 2024-03-15 华为技术有限公司 帧间预测方法、装置以及视频编码器和视频解码器
GB2590310B (en) 2018-09-12 2023-03-22 Beijing Bytedance Network Tech Co Ltd Conditions for starting checking HMVP candidates depend on total number minus K
KR102637604B1 (ko) 2018-10-08 2024-02-16 엘지전자 주식회사 신택스 디자인 방법 및 신택스를 이용하여 코딩을 수행하는 장치
US20220009753A1 (en) 2018-10-22 2022-01-13 Tadano Ltd. Crane device, method for determining number of falls, and computer readable non-transitory recording medium
CN113228642A (zh) * 2018-12-27 2021-08-06 英迪股份有限公司 图像编码/解码方法和装置
EP3731522A4 (en) 2019-01-01 2021-04-14 LG Electronics Inc. METHOD AND APPARATUS FOR PROCESSING VIDEO SIGNAL BASED ON HISTORY-BASED MOTION VECTOR PREDICTION
WO2020141915A1 (ko) * 2019-01-01 2020-07-09 엘지전자 주식회사 히스토리 기반 모션 벡터 예측을 기반으로 비디오 신호를 처리하기 위한 방법 및 장치
KR20240010576A (ko) 2019-01-10 2024-01-23 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 Lut 업데이트의 호출
WO2020143824A1 (en) 2019-01-13 2020-07-16 Beijing Bytedance Network Technology Co., Ltd. Interaction between lut and shared merge list
CN113330739A (zh) 2019-01-16 2021-08-31 北京字节跳动网络技术有限公司 Lut中的运动候选的插入顺序
WO2020192611A1 (en) 2019-03-22 2020-10-01 Beijing Bytedance Network Technology Co., Ltd. Interaction between merge list construction and other tools
EP3959887A4 (en) * 2019-04-25 2022-08-10 OP Solutions, LLC CANDIDATES IN FRAMEWORK WITH GLOBAL MOVEMENT

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6162204A (ja) * 1984-09-03 1986-03-31 Nippon Telegr & Teleph Corp <Ntt> フアラデ−旋波子形可変電力分配器
JPH10336668A (ja) * 1997-06-02 1998-12-18 Sharp Corp 動きベクトル検出装置
EP1489848A4 (en) * 2002-03-14 2006-05-03 Matsushita Electric Ind Co Ltd MOTION VECTOR DETECTION METHOD
CN1213613C (zh) * 2003-09-12 2005-08-03 浙江大学 视频编解码中运动矢量的预测方法和装置
JP4879558B2 (ja) * 2005-11-02 2012-02-22 パナソニック株式会社 動きベクトル検出装置
CN101102503A (zh) * 2006-07-07 2008-01-09 华为技术有限公司 视频分层编码层间运动矢量的预测方法
US9307122B2 (en) * 2006-09-27 2016-04-05 Core Wireless Licensing S.A.R.L. Method, apparatus, and computer program product for providing motion estimation for video encoding
CN101653009B (zh) * 2007-04-09 2013-07-31 株式会社Ntt都科摩 图像预测编码装置、图像预测编码方法、图像预测解码装置、图像预测解码方法
CN100562123C (zh) * 2007-07-23 2009-11-18 武汉大学 一种基于自适应候选运动向量集的视频时域差错掩盖方法
WO2009115901A2 (en) * 2008-03-19 2009-09-24 Nokia Corporation Combined motion vector and reference index prediction for video coding
JP4697275B2 (ja) * 2008-07-30 2011-06-08 ソニー株式会社 動きベクトル検出装置、動きベクトル検出方法及びプログラム
JP5680283B2 (ja) * 2008-09-19 2015-03-04 株式会社Nttドコモ 動画像符号化装置、動画像復号装置、動画像符号化方法、動画像復号方法、動画像符号化プログラム、及び動画像復号プログラム
KR101279573B1 (ko) * 2008-10-31 2013-06-27 에스케이텔레콤 주식회사 움직임 벡터 부호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
KR101590511B1 (ko) * 2009-01-23 2016-02-02 에스케이텔레콤 주식회사 움직임 벡터 부호화/복호화 장치 및 방법과 그를 이용한 영상 부호화/복호화 장치 및 방법
KR20110008653A (ko) * 2009-07-20 2011-01-27 삼성전자주식회사 움직임 벡터 예측 방법과 이를 이용한 영상 부호화/복호화 장치 및 방법
KR101671460B1 (ko) * 2009-09-10 2016-11-02 에스케이 텔레콤주식회사 움직임 벡터 부호화/복호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
KR101459714B1 (ko) 2009-10-28 2014-11-13 에스케이텔레콤 주식회사 공간 분할을 이용한 움직임 벡터 부호화/복호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
US9036692B2 (en) * 2010-01-18 2015-05-19 Mediatek Inc. Motion prediction method
KR101768207B1 (ko) * 2010-01-19 2017-08-16 삼성전자주식회사 축소된 예측 움직임 벡터의 후보들에 기초해 움직임 벡터를 부호화, 복호화하는 방법 및 장치
WO2011095260A1 (en) * 2010-02-05 2011-08-11 Telefonaktiebolaget L M Ericsson (Publ) Managing predicted motion vector candidates
CN102215386B (zh) * 2010-04-09 2013-03-27 华为技术有限公司 视频图像块处理方法及装置
KR20120006282A (ko) 2010-07-12 2012-01-18 삼성엘이디 주식회사 조명 장치
US9319716B2 (en) * 2011-01-27 2016-04-19 Qualcomm Incorporated Performing motion vector prediction for video coding
US9485517B2 (en) * 2011-04-20 2016-11-01 Qualcomm Incorporated Motion vector prediction with motion vectors from multiple views in multi-view video coding
US9866859B2 (en) * 2011-06-14 2018-01-09 Texas Instruments Incorporated Inter-prediction candidate index coding independent of inter-prediction candidate list construction in video coding
CN106686378B (zh) * 2011-06-14 2019-10-08 三星电子株式会社 对图像进行解码的方法和设备
DK3606076T3 (da) * 2011-06-27 2021-01-18 Samsung Electronics Co Ltd Indkodning og afkodning af bevægelsesinformation
JP5488666B2 (ja) 2011-09-28 2014-05-14 株式会社Jvcケンウッド 動画像復号装置、動画像復号方法、動画像復号プログラム、受信装置、受信方法及び受信プログラム
CN107257481B (zh) * 2011-10-27 2019-12-10 太阳专利托管公司 编码方法、解码方法、编码装置、解码装置
US9185428B2 (en) * 2011-11-04 2015-11-10 Google Technology Holdings LLC Motion vector scaling for non-uniform motion vector grid
KR20130050405A (ko) 2011-11-07 2013-05-16 오수미 인터 모드에서의 시간 후보자 결정방법
JP6005762B2 (ja) 2012-01-19 2016-10-12 エレクトロニクス アンド テレコミュニケーションズ リサーチ インスチチュートElectronics And Telecommunications Research Institute 映像符号化/復号化方法及び装置
US20130188716A1 (en) * 2012-01-20 2013-07-25 Qualcomm Incorporated Temporal motion vector predictor candidate
US9525861B2 (en) * 2012-03-14 2016-12-20 Qualcomm Incorporated Disparity vector prediction in video coding
EP2898696B1 (en) * 2012-09-19 2022-09-07 Qualcomm Incorporated Selection of pictures for disparity vector derivation

Also Published As

Publication number Publication date
HRP20211943T1 (hr) 2022-04-15
KR20220047954A (ko) 2022-04-19
JP2022017224A (ja) 2022-01-25
US20140355688A1 (en) 2014-12-04
CN108055550B (zh) 2021-10-01
PL3767952T3 (pl) 2022-01-31
CN108055550A (zh) 2018-05-18
EP2806637A4 (en) 2015-09-23
BR112014017895A8 (pt) 2017-07-11
KR102386766B1 (ko) 2022-04-14
CN108055548A (zh) 2018-05-18
JP6949168B2 (ja) 2021-10-13
CY1124915T1 (el) 2022-07-22
DK2806637T3 (da) 2020-11-23
US20190141348A1 (en) 2019-05-09
KR102315404B1 (ko) 2021-10-20
JP2022172295A (ja) 2022-11-15
KR102168471B1 (ko) 2020-10-21
CN107580231B (zh) 2020-05-05
CN107396128A (zh) 2017-11-24
US20200228825A1 (en) 2020-07-16
US10218999B2 (en) 2019-02-26
JP7319440B2 (ja) 2023-08-01
US20210218982A1 (en) 2021-07-15
EP3767952B1 (en) 2021-11-17
CN108055548B (zh) 2021-10-08
EP2806637A1 (en) 2014-11-26
HRP20211943T8 (hr) 2022-05-13
LT3767952T (lt) 2022-01-10
KR20130115191A (ko) 2013-10-21
JP2017028712A (ja) 2017-02-02
US11006142B2 (en) 2021-05-11
SI2806637T1 (sl) 2021-02-26
WO2013109093A1 (ko) 2013-07-25
EP3968640B1 (en) 2022-12-21
KR20130115190A (ko) 2013-10-21
KR102485745B1 (ko) 2023-01-06
KR20130121766A (ko) 2013-11-06
SI3767952T1 (sl) 2022-01-31
CN104170387A (zh) 2014-11-26
JP7138754B2 (ja) 2022-09-16
EP3968639B1 (en) 2022-12-14
KR20130085382A (ko) 2013-07-29
CN107580231A (zh) 2018-01-12
CN108055549B (zh) 2021-10-01
CN107396128B (zh) 2020-04-24
CN108200437A (zh) 2018-06-22
RS62603B1 (sr) 2021-12-31
KR20230008903A (ko) 2023-01-16
KR20190126044A (ko) 2019-11-08
EP3968641A1 (en) 2022-03-16
KR102042275B1 (ko) 2019-11-07
US10638154B2 (en) 2020-04-28
JP6449203B2 (ja) 2019-01-09
BR122020017172B1 (pt) 2022-11-29
BR122022002970B1 (pt) 2022-11-22
CN107295345A (zh) 2017-10-24
HUE051798T2 (hu) 2021-03-29
KR102042274B1 (ko) 2019-11-07
CN108055547A (zh) 2018-05-18
BR112014017895B1 (pt) 2022-11-22
ES2832573T3 (es) 2021-06-10
CN108055547B (zh) 2021-10-08
BR112014017895A2 (es) 2017-06-20
EP3968640A1 (en) 2022-03-16
EP4152751A1 (en) 2023-03-22
BR122022002972B1 (pt) 2022-11-22
CN107295345B (zh) 2020-03-27
JP6005762B2 (ja) 2016-10-12
JP2020120391A (ja) 2020-08-06
JP6689924B2 (ja) 2020-04-28
EP2806637B1 (en) 2020-10-21
CN108200437B (zh) 2021-11-23
KR20200120600A (ko) 2020-10-21
DK3767952T3 (da) 2021-12-20
HUE056924T2 (hu) 2022-03-28
EP3767952A1 (en) 2021-01-20
KR20240017042A (ko) 2024-02-06
US20220417551A1 (en) 2022-12-29
PT3767952T (pt) 2021-12-20
KR20210128961A (ko) 2021-10-27
JP2015508247A (ja) 2015-03-16
JP2018198454A (ja) 2018-12-13
EP3968641B1 (en) 2022-12-21
JP2023134746A (ja) 2023-09-27
EP3968639A1 (en) 2022-03-16
KR101595419B1 (ko) 2016-02-18
HUE060931T2 (hu) 2023-04-28
HRP20201820T1 (hr) 2021-02-19
CY1123768T1 (el) 2022-03-24
RS61219B1 (sr) 2021-01-29
PT2806637T (pt) 2020-11-24
KR102631638B1 (ko) 2024-02-01
PL2806637T3 (pl) 2021-05-04
KR102042276B1 (ko) 2019-11-07
CN108055549A (zh) 2018-05-18
US11470342B2 (en) 2022-10-11
LT2806637T (lt) 2021-01-25

Similar Documents

Publication Publication Date Title
ES2901350T3 (es) Aparato para codificación/decodificación de imágenes
KR20200027487A (ko) 인터 예측 방법 및 그 장치