ES2970751T3 - Método para inducir vector de movimiento de predicción y aparatos correspondientes - Google Patents

Método para inducir vector de movimiento de predicción y aparatos correspondientes Download PDF

Info

Publication number
ES2970751T3
ES2970751T3 ES19203924T ES19203924T ES2970751T3 ES 2970751 T3 ES2970751 T3 ES 2970751T3 ES 19203924 T ES19203924 T ES 19203924T ES 19203924 T ES19203924 T ES 19203924T ES 2970751 T3 ES2970751 T3 ES 2970751T3
Authority
ES
Spain
Prior art keywords
candidate prediction
motion vector
prediction motion
block
spatial
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
ES19203924T
Other languages
English (en)
Inventor
Sung Chang Lim
Hui Yong Kim
Jin Ho Lee
Jin Soo Choi
Woong Kim
Jae Gon Kim
Sang Yong Lee
Un Ki Park
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
University Industry Cooperation Foundation of Korea Aerospace University
Original Assignee
Electronics and Telecommunications Research Institute ETRI
University Industry Cooperation Foundation of Korea Aerospace University
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=48179853&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=ES2970751(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, University Industry Cooperation Foundation of Korea Aerospace University filed Critical Electronics and Telecommunications Research Institute ETRI
Application granted granted Critical
Publication of ES2970751T3 publication Critical patent/ES2970751T3/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/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/56Motion estimation with initialisation of the vector search, e.g. estimating a good candidate to initiate a search
    • 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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

Se divulga un método para inducir un vector de movimiento de predicción y un aparato que lo utiliza. Un método de decodificación de imágenes puede incluir: una etapa de determinar la información relacionada con una pluralidad de vectores de movimiento de predicción espacial candidatos a partir de bloques predichos periféricos de un bloque objetivo predicho; y una etapa de determinar la información relacionada con los vectores de movimiento de predicción candidatos temporales en base a la información relacionada con la pluralidad de vectores de movimiento de predicción candidatos espaciales. En consecuencia, la presente invención puede reducir la complejidad y puede mejorar la eficiencia de la codificación al inducir el vector de movimiento de predicción óptimo. (Traducción automática con Google Translate, sin valor legal)

Description

DESCRIPCIÓN
Método para inducir vector de movimiento de predicción y aparatos correspondientes
[Campo técnico]
[0001] La presente invención se refiere a un método de decodificación/codificación que realiza la derivación de un vector de movimiento de predicción candidato temporal de manera selectiva, y un correspondiente medio de almacenamiento legible por ordenador.
[Antecedentes de la técnica]
[0002] La demanda de vídeos de alta calidad de alta resolución, tales como vídeos HD (alta definición) o vídeos UHD (ultra alta definición), está en aumento en diversas industrias de aplicaciones. A medida que los datos de vídeo tienen una resolución más alta y una calidad más alta, la cantidad de datos aumenta relativamente en comparación con los datos de vídeo existentes. Por consiguiente, cuando se usan las líneas de circuito de banda ancha alámbricas/inalámbricas existentes para transmitir tales datos de vídeo o se usan los medios de almacenamiento existentes para almacenar los datos de vídeo, aumentan los costes de transmisión y almacenamiento. Para abordar tales problemas que ocurren a medida que los datos de vídeo tienen una resolución más alta y una calidad más alta, pueden utilizarse tecnologías de compresión de vídeo de alta eficiencia.
[0003] Existen diversos tipos de tecnologías de compresión de vídeo. Entre otros, la inter-predicción predice valores de píxel incluidos en una imagen actual a partir de la imagen anterior o posterior de la imagen actual, la intra predicción predice valores de píxel incluidos en la imagen actual usando información de píxel en la imagen actual, y la codificación por entropía asigna un código más corto a un valor más frecuente mientras que asigna un código más largo a un valor menos frecuente. Tales tecnologías de compresión de vídeo pueden usarse para comprimir, transmitir o almacenar datos de vídeo.
[0004] CHEN J ET AL: "MVP index parsing with fixed number of candidates", 6. JCT-VC MEETING; 97. MPEG MEETING; 14-7-2011 - 22-7-2011; TORINO describe la codificación unaria truncada con un número fijo de candidatos de MVP para resolver el problema de análisis robusto relacionado con AMVP y Merge. Con el número fijo de candidatos, analizar el índice de fusión y el índice de AMVP no requiere ninguna información con respecto a los candidatos disponibles. En la etapa de reconstrucción de datos de movimiento, para hacer siempre el número fijo de candidatos de MVP, el primer candidato existente se modifica y se añade a la lista de candidatos si los candidatos existentes iniciales son menores que el número fijo.
[0005] NAKAMURA H ET AL: "Unification of derivation process for merge mode and MVP", 6. JCT-VC MEETING; 97. MPEG MEETING;!4-7-2011 - 22-7-2011; TORINO describe simplificaciones de un proceso de derivación para modo de fusión y predictor de vector de movimiento (MVP). Las posiciones de los vecinos espaciales que pueden usarse como candidatos de fusión son las mismas que las posiciones de los candidatos de MVP espaciales. Esa es la unificación de la ubicación de vecinos espaciales para el modo de fusión y MVP. Además, las técnicas intentan la unificación del proceso de derivación para el modo de fusión y MVP. Se intenta reducir el número de candidatos en el proceso de derivación espacial para reducir el número de tiempos de comparación en el proceso de eliminación.
[Divulgación]
[Problema técnico]
[0006] Un objeto de la presente invención es proporcionar un método de configuración de una lista de vectores de movimiento de predicción candidatos para aumentar la eficiencia de codificación/decodificación de vídeo.
[0007] Otro objeto de la presente invención es proporcionar un aparato que realiza un método de configuración de una lista de vectores de movimiento de predicción candidatos para aumentar la eficiencia de codificación/decodificación de vídeo.
[Solución técnica]
[0008] De acuerdo con la invención, se proporciona un método de decodificación como se establece en la reivindicación 1, se proporciona un método de codificación como se establece en la reivindicación 5, y se proporciona un medio legible por ordenador que almacena código ejecutable por ordenador, como se establece en la reivindicación 9.
[0009] Todas las realizaciones divulgadas están cubiertas por las reivindicaciones.
[Efectos ventajosos]
[0010]Como se ha descrito anteriormente, la divulgación está dirigida a un método para configurar una lista de vectores de movimiento de predicción candidatos y calcular un vector de movimiento de predicción, y puede reducir la complejidad que se produce al inducir el vector de movimiento de predicción óptimo y puede aumentar la eficiencia de codificación.
[Descripción de los dibujos]
[0011]
La Figura 1 es un diagrama de bloques que ilustra una configuración de un aparato de codificación de vídeo de acuerdo con una realización de la presente invención.
La Figura 2 es un diagrama de bloques que ilustra una configuración de un aparato de decodificación de vídeo de acuerdo con otra realización de la presente invención.
La Figura 3 es una vista de concepto que ilustra bloques de predicción candidatos espaciales y bloques de predicción candidatos temporales para producir un vector de movimiento de predicción candidato de acuerdo con una realización de la presente invención.
La Figura 4 es una vista de concepto que ilustra un método de clasificación de vectores de movimiento de bloques de predicción candidatos espaciales a través de una relación entre el vector de movimiento del bloque objetivo de predicción y el vector de movimiento del bloque de predicción candidato espacial de acuerdo con una realización de la presente invención.
La Figura 5 es un diagrama de flujo que ilustra un método para producir un vector de movimiento de predicción candidato de acuerdo con una realización de la presente invención.
La Figura 6 es un diagrama de flujo que ilustra un método para producir un vector de movimiento de predicción candidato de acuerdo con otra realización de la presente invención.
La Figura 7 es un diagrama de flujo que ilustra un método para producir un vector de movimiento de predicción candidato de acuerdo con otra realización más de la presente invención.
La Figura 8 es un diagrama de flujo que ilustra un proceso para producir un vector de movimiento de predicción candidato adicional de acuerdo con una realización de la presente invención.
La Figura 9 es un diagrama de flujo que ilustra un método para producir un vector de movimiento de predicción candidato adicional de acuerdo con otra realización de la presente invención.
La Figura 10 es un diagrama de flujo que ilustra un método para producir un vector de movimiento de predicción de acuerdo con una realización de la presente invención.
La Figura 11 es un diagrama de flujo que ilustra un método para producir un vector de movimiento de predicción de acuerdo con otra realización de la presente invención.
La Figura 12 es un diagrama de flujo que ilustra un método para producir un vector de movimiento de predicción de acuerdo con una realización de la presente invención.
La Figura 13 es un diagrama de flujo que ilustra un método para producir un vector de movimiento de predicción de acuerdo con otra realización de la presente invención.
La Figura 14 es un diagrama de flujo que ilustra un método para producir un vector de movimiento de predicción candidato de acuerdo con una realización de la presente invención.
La Figura 15 es una vista conceptual que ilustra un método para producir un vector de movimiento de predicción candidato temporal de acuerdo con una realización de la presente invención.
La Figura 16 es una vista conceptual que ilustra un método para producir una lista de vectores de movimiento de predicción candidatos de acuerdo con una realización de la presente invención.
La Figura 17 es una vista conceptual que ilustra la eliminación del mismo vector de movimiento de predicción candidato de la lista de vectores de movimiento de predicción candidatos de acuerdo con una realización de la presente invención.
La Figura 18 es una vista conceptual que ilustra un método de ajuste del tamaño de la lista de vectores de movimiento de predicción candidatos añadiendo o eliminando el vector de movimiento de predicción candidato de acuerdo con una realización de la presente invención.
La Figura 19 es una vista conceptual que ilustra la determinación del vector de movimiento de predicción final en la lista de vectores de movimiento de predicción candidatos de acuerdo con una realización de la presente invención.
La Figura 20 es un diagrama de flujo que ilustra un método para producir una lista de vectores de movimiento de predicción candidatos de acuerdo con una realización de la presente invención.
[Mejor modo]
[0012]En lo sucesivo en el presente documento, las realizaciones de la presente invención se describirán en detalle con referencia a los dibujos adjuntos.
[0013]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 está "incluido", no se excluyen otros componentes, sino que se pueden incluir, y tal configuración también se incluye en el alcance de la invención.
[0014]Los términos "primero" y "segundo" pueden usarse para describir diversos componentes, pero los componentes no están limitados a los mismos. Estos términos se usan únicamente para distinguir un componente de otro. Por ejemplo, el primer componente también puede denominarse el segundo componente, y el segundo componente puede denominarse de manera similar el primer componente.
[0015]Las partes constitutivas en las realizaciones se muestran independientemente para representar diferentes características, pero esto no significa que cada parte constitutiva esté formada por una unidad de hardware separada o una unidad constitutiva de software. Es decir, cada parte constitutiva está separada de las otras para facilitar la descripción. Al menos dos de las partes constitutivas pueden combinarse en una única parte constitutiva, o una parte constitutiva puede dividirse en una pluralidad de partes constitutivas que pueden realizar funciones, respectivamente.
[0016]Algunas partes constitutivas no son esenciales para realizar las funciones inevitables de la presente invención, sino que pueden ser partes constitutivas opcionales para mejorar el rendimiento.
[0017]La Figura 1 es un diagrama de bloques que ilustra una configuración de un aparato de codificación de vídeo de acuerdo con una realización de la presente invención.
[0018]Haciendo referencia a la Figura 1, el aparato de codificación de vídeo 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, un transformador 130, un cuantificador 140, una unidad de codificación por entropía 150, un cuantificador inverso 160, un transformador inverso 170, un sumador 175, una unidad de filtro 180 y una memoria intermedia de imagen de referencia 190.
[0019]El aparato de codificación de vídeo 100 realiza la codificación en un modo intra o en un modo inter y emite un flujo de bits. En el caso del modo intra, el conmutador 115 conmuta a 'intra', y en el caso del modo inter, el conmutador 115 conmuta a 'inter'. El aparato de codificación de vídeo 100 produce un bloque de predicción para un bloque de entrada de una imagen de entrada y, a continuación, codifica un residuo del bloque de entrada y el bloque de predicción.
[0020]En el caso del modo intra, la unidad de intra predicción 120 puede producir el bloque de predicción realizando predicción espacial usando un valor de píxel de un bloque ya codificado adyacente a un bloque actual.
[0021]En el caso del modo inter, la unidad de predicción de movimiento 111 puede obtener un vector de movimiento encontrando una región que coincida mejor con un bloque de entrada en una imagen de referencia almacenada en la memoria intermedia de imagen de referencia 190 durante el proceso de predicción de movimiento. La unidad de compensación de movimiento 112 puede producir el bloque de predicción realizando compensación de movimiento usando el vector de movimiento.
[0022]La unidad de predicción de movimiento 111 puede generar una lista de vectores de movimiento de predicción candidatos basándose en una pluralidad de vectores de movimiento de predicción candidatos espaciales inducidos a partir de un bloque de predicción adyacente de un bloque objetivo de predicción e información relacionada con un vector de movimiento de predicción candidato temporal determinado basándose en información sobre la pluralidad de vectores de movimiento de predicción candidatos espaciales. Un método de generación de la lista de vectores de movimiento de predicción candidatos se describirá a continuación en detalle, y la unidad de predicción que realiza tal operación se incluye en las realizaciones de la presente invención.
[0023]El restador 125 puede producir un bloque residual restando el bloque de entrada y el bloque de predicción producido. El transformador 130 realiza una transformada en el bloque residual para emitir un coeficiente de transformada. En este punto, el coeficiente de transformada puede significar un valor de coeficiente que se obtiene realizando una transformada en el bloque residual y/o la señal residual. En lo sucesivo en el presente documento, como se usa en el presente documento, un nivel de coeficiente de transformada cuantificado que se obtiene aplicando cuantificación al coeficiente de transformada también puede denominarse coeficiente de transformada.
[0024]El cuantificador 140 cuantifica el coeficiente de transformada de entrada de acuerdo con un parámetro de cuantificación para emitir el nivel de coeficiente de transformada cuantificado.
[0025]La unidad de codificación por entropía 150 realiza codificación por entropía basándose en los valores obtenidos por el cuantificador 140 o parámetros de codificación obtenidos durante la codificación para emitir un flujo de bits.
[0026]Cuando se aplica la codificación por entropía, los símbolos se representan de modo que se asignan menos bits a un símbolo que tiene una probabilidad de ocurrencia alta, y se asignan más bits a un símbolo que tiene una probabilidad de ocurrencia baja y, por lo tanto, puede reducirse el tamaño del flujo de bits para los símbolos a codificar. Por consiguiente, la codificación por entropía puede aumentar el rendimiento de compresión de la codificación de vídeo. La unidad de codificación por entropía 150 puede usar esquemas de codificación, tal como Golomb exponencial, CAVLC (codificación de longitud variable adaptativa al contexto) o CABAC (codificación aritmética binaria adaptativa al contexto), para la codificación por entropía.
[0027] La unidad de codificación por entropía 150 puede codificar información en el vector de movimiento de predicción usado para realizar inter predicción para el bloque objetivo de predicción entre vectores de movimiento de predicción candidatos incluidos en la lista de vectores de movimiento de predicción candidatos.
[0028] Dado que el aparato de codificación de vídeo mostrado en la Figura 1 realiza codificación de inter predicción, es decir, codificación de predicción inter-fotograma, la imagen actualmente codificada necesita decodificarse y almacenarse de modo que la imagen actualmente codificada pueda usarse como una imagen de referencia. Por consiguiente, el coeficiente cuantificado se cuantifica a la inversa por el cuantificador inverso 160, y se transforma a la inversa por el transformador inverso 170. El coeficiente cuantificado a la inversa, transformado a la inversa se añade al bloque de predicción por el sumador 175 y, a continuación, se produce un bloque reconstruido.
[0029] El bloque reconstruido pasa a través de la unidad de filtro 180 que aplica al menos uno o más de un filtro de desbloqueo,<s>A<o>(desplazamiento adaptativo de muestra) y ALF (filtro de bucle adaptativo) al bloque reconstruido o a la imagen reconstruida. Después de pasar a través de la unidad de filtro 180, el bloque reconstruido puede almacenarse en la memoria intermedia de imagen de referencia 190.
[0030] La Figura 2 es un diagrama de bloques que ilustra una configuración de un aparato de decodificación de vídeo de acuerdo con otra realización de la presente invención.
[0031] Haciendo referencia a la Figura 2, el aparato de decodificación de vídeo 200 incluye una unidad de decodificación por entropía 210, un cuantificador inverso 220, un transformador inverso 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 una memoria intermedia de imagen de referencia 270.
[0032] El aparato de decodificación de vídeo 200 recibe el flujo de bits emitido desde el codificador y decodifica el flujo de bits en el modo intra o en el modo inter para emitir de esta manera una imagen reconstruida, es decir, imagen decodificada. En el caso del modo intra, el conmutador conmuta a 'intra', y en el caso del modo inter, el conmutador conmuta a 'inter'. El aparato de decodificación de vídeo 200 puede obtener un bloque residual reconstruido a partir del flujo de bits recibido, puede producir un bloque de predicción, y puede añadir el bloque residual reconstruido al bloque de predicción para producir de esta manera el bloque reconstruido, es decir, el bloque decodificado.
[0033] La unidad de decodificación por entropía 210 decodifica por entropía el flujo de bits recibido de acuerdo con una distribución de probabilidad para producir símbolos que incluyen símbolos de tipo coeficiente cuantificados. El esquema de decodificación por entropía es similar al esquema de codificación por entropía anteriormente descrito.
[0034] Cuando se aplica el esquema de decodificación por entropía, los símbolos se representan de modo que se asignan menos bits a los símbolos que tienen una mayor probabilidad de ocurrencia, y se asignan más bits a los símbolos que tienen una menor probabilidad de ocurrencia y, por lo tanto, puede reducirse el tamaño del flujo de bits para cada símbolo. Por consiguiente, el rendimiento de compresión de decodificación de vídeo puede aumentarse mediante el esquema de decodificación por entropía.
[0035] La unidad de decodificación por entropía 210 puede decodificar información en el vector de movimiento de predicción usado para realizar predicción inter-fotograma en un bloque objetivo de predicción entre vectores de movimiento de predicción candidatos incluidos en la lista de vectores de movimiento de predicción candidatos.
[0036] El coeficiente cuantificado puede cuantificarse a la inversa por el cuantificador inverso 220, transformarse a la inversa por el transformador inverso 230, y, como resultado de la cuantificación inversa/transformada inversa, se puede producir un bloque residual reconstruido.
[0037] En el caso del modo intra, la unidad de intra predicción 240 puede producir un bloque de predicción realizando predicción espacial usando un valor de píxel de un bloque ya decodificado adyacente al bloque actual. En el caso del modo inter, la unidad de compensación de movimiento 250 puede realizar compensación de movimiento usando la imagen de referencia almacenada en la memoria intermedia de imagen de referencia 270 y el vector de movimiento para producir de esta manera el bloque de predicción.
[0038] En el caso del modo inter, se puede generar una lista de vectores de movimiento de predicción candidatos basándose en una pluralidad de vectores de movimiento de predicción candidatos espaciales inducidos a partir de un bloque de predicción adyacente de un bloque objetivo de predicción e información relacionada con un vector de movimiento de predicción candidato temporal determinado basándose en información sobre la pluralidad de vectores de movimiento de predicción candidatos espaciales. Un método de generación de la lista de vectores de movimiento de predicción candidatos se describirá a continuación en detalle, y el aparato de decodificación que incluye la unidad de predicción que realiza tal operación se incluye en las realizaciones de la presente invención.
[0039] El bloque residual reconstruido y el bloque de predicción se añaden entre sí por el sumador 255, y los bloques añadidos pueden pasar a través de 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 al bloque reconstruido o imagen reconstruida. La unidad de filtro 260 puede emitir la imagen reconstruida, es decir, la imagen decodificada. La imagen reconstruida se almacena en la memoria intermedia de imagen de referencia 270 y puede usarse para modo inter.
[0040]Para mejorar el rendimiento de predicción de los aparatos de codificación/decodificación, existe un método para elevar la precisión de la imagen de interpolación y un método para predecir una señal de diferencia. En este punto, la "señal de diferencia" puede denominarse, dependiendo del contexto, "señal residual", "bloque residual" o "bloque diferencial".
[0041]Como se ha descrito anteriormente, aunque para facilitar la descripción, la unidad de codificación se usa en lo sucesivo en el presente documento como una unidad en la que se realiza codificación, la unidad de codificación puede ser también una unidad en la que se realiza tanto decodificación como codificación. Además, la "unidad" o "bloque" en lo sucesivo en el presente documento se refiere a una unidad en la que se realiza codificación y decodificación de vídeo, y la "unidad de codificación o decodificación" cuando se realiza codificación y decodificación de vídeo se refiere a una unidad que se obtiene dividiendo una imagen para su codificación o decodificación. Por tanto, la unidad de codificación o decodificación también puede denominarse "macrobloque", "unidad de codificación (CU)", "unidad de predicción (PU)", "unidad de transformada (TU)" o "bloque de transformada". Un bloque puede dividirse en subbloques más pequeños. La unidad de predicción es un bloque básico para realizar predicción/compensación, y la unidad de predicción puede dividirse en una pluralidad de particiones. La pluralidad de particiones puede ser un bloque básico para realizar predicción, y la partición obtenida dividiendo la unidad de predicción también se denomina como la unidad de predicción.
[0042]El método de codificación de vídeo y el método de decodificación de vídeo que se describirán a continuación de acuerdo con las realizaciones de la presente invención pueden realizarse por cada componente incluido en el aparato de codificación de vídeo y el aparato de decodificación de vídeo descritos anteriormente en relación con las Figuras 1 y 2. Cada componente puede implementarse en hardware y también puede incluir una unidad de procesamiento implementada en software, que puede ejecutarse a través de un algoritmo.
[0043]La Figura 3 es una vista de concepto que ilustra bloques de predicción candidatos espaciales y bloques de predicción candidatos temporales para producir un vector de movimiento de predicción candidato de acuerdo con una realización de la presente invención.
[0044]La posición de un píxel colocado en el extremo superior e izquierdo de un bloque objetivo de predicción se define como (xP, yP), la anchura del bloque objetivo de predicción se define como nPSW, y la altura del bloque objetivo de predicción se define como nPSH. MinPuSize puede referirse al tamaño del bloque de predicción más pequeño.
[0045]En lo sucesivo en el presente documento, de acuerdo con una realización de la presente invención, como los bloques de predicción adyacentes espaciales del bloque objetivo de predicción, un bloque que incluye un píxel colocado en (xP-1, yP+nPSH) se define como un primer bloque izquierdo (bloque A0, 300), y un bloque que incluye un píxel colocado en (xP-1, yP+nPSH-MinPuSize) se define como un segundo bloque izquierdo (bloque<a>1, 310). Un bloque que incluye un píxel colocado en (xP+nPSW, yP-1) se define como un primer bloque superior (bloque B0, 320), un bloque que incluye un píxel colocado en (xP+nPSW-MinPuSize, yP-1) se define como un segundo bloque superior (bloque B1, 330), y un bloque que incluye un píxel colocado en (xP-MinPuSize, yP-1) se define como un tercer bloque superior (bloque B2, 340).
[0046]Los bloques de predicción candidatos espaciales pueden incluir el primer bloque izquierdo (A0, 300), el segundo bloque izquierdo (A1, 310), el primer bloque superior (B0, 320), el segundo bloque superior (B1, 330) y el tercer bloque superior (B2, 340). Los bloques de predicción candidatos espaciales pueden dividirse en dos grupos que incluyen un primer grupo de predicción candidato espacial que incluye el primer bloque izquierdo 300 y el segundo bloque izquierdo 310 y un segundo grupo de predicción candidato espacial que incluye el primer bloque superior 320, el segundo bloque superior 330 y el tercer bloque superior 340.
[0047]El bloque de predicción candidato temporal 350 es un bloque de predicción que incluye un píxel colocado en (xP+nPSW, yP+nPSH) en la imagen coubicada del bloque de predicción actual basándose en la posición de píxel (xP, yP) en la imagen que incluye el bloque objetivo de predicción actual, o en caso de que el bloque de predicción que incluye el píxel colocado en (xP+nPSW, yP+nPSH) no esté disponible, un bloque de predicción que incluye el píxel colocado en (xP+(nPSW>>1), yP+(nPSH>>1)). En la imagen coubicada, el bloque de predicción que incluye el píxel colocado en (xP+nPSW, yP+nPSH) se denomina primer bloque coubicado, y en la imagen coubicada, el bloque de predicción que incluye el píxel colocado en (xP+(nPSW»1), yP+(nPSH>>1)) se denomina segundo bloque coubicado.
[0048]La posición y el número de los bloques de predicción candidatos espaciales y la posición y el número de los bloques de predicción candidatos temporales pueden determinarse arbitrariamente y pueden variar.
[0049]Es decir, la posición, el número, el orden de exploración y el grupo de predicción candidato de los bloques de predicción candidatos usados para configurar la lista de vectores de movimiento de predicción candidatos descrita a continuación pueden variar.
[0050]En este momento, la lista de vectores de movimiento de predicción candidatos significa una lista que consiste en los vectores de movimiento de predicción candidatos.
[0051]La Figura 4 es una vista de concepto que ilustra un método de clasificación de vectores de movimiento de bloques de predicción candidatos espaciales a través de una relación entre el vector de movimiento del bloque objetivo de predicción y el vector de movimiento del bloque de predicción candidato espacial de acuerdo con una realización de la presente invención.
[0052]Haciendo referencia a la Figura 4, un vector de movimiento de un bloque de predicción candidato espacial producido a partir del mismo fotograma de referencia y la misma lista de imágenes de referencia que el bloque objetivo de predicción se denomina primer vector de movimiento 400. Haciendo referencia a la Figura 4, se supone que la imagen de referencia del bloque objetivo de predicción 450 es la imagen j, y la lista de imágenes de referencia que incluye la imagen j es la lista L0, la imagen de referencia indicada por el vector 400 del bloque de predicción candidato espacial 470 es la imagen j, y la lista de imágenes de referencia que incluye la imagen j es la lista L0 y, por lo tanto, el vector de movimiento del bloque de predicción candidato espacial 470 y el vector de movimiento del bloque objetivo de predicción tienen la misma imagen de referencia y la misma lista de imágenes de referencia. Como tal, el vector de movimiento producido a partir del mismo fotograma de referencia y la misma lista que el bloque objetivo de predicción se define como el primer vector de movimiento 400.
[0053]El vector de movimiento del bloque de predicción candidato espacial 470 que tiene el mismo fotograma de referencia que el bloque objetivo de predicción 450 y que se produce a partir de diferentes listas de imágenes de referencia se denomina como un segundo vector de movimiento 410. Suponiendo que la imagen de referencia del bloque objetivo de predicción 450 es la imagen j, y la lista de imágenes de referencia que incluye la imagen j es la lista L0, la imagen de referencia indicada por el vector del bloque de predicción candidato espacial 470 es la imagen j, y la lista de imágenes de referencia que incluye la imagen j es la lista L1 y, por lo tanto, el vector de movimiento 410 del bloque de predicción candidato espacial y el vector de movimiento del bloque objetivo de predicción tienen la misma imagen de referencia, pero diferentes listas de imágenes de referencia. Como tal, el vector de movimiento que tiene el mismo fotograma de referencia que el bloque objetivo de predicción pero que se produce a partir de las diferentes listas se define como el segundo vector de movimiento 410.
[0054]El vector de movimiento del bloque de predicción candidato espacial que tiene un fotograma de referencia diferente de el del bloque objetivo de predicción y que se produce a partir de la misma lista de imágenes de referencia se denomina como un tercer vector de movimiento 420. Suponiendo que la imagen de referencia del bloque objetivo de predicción 450 es la imagen j, y la lista de imágenes de referencia que incluye la imagen j es la lista L0, la imagen de referencia indicada por el vector 420 del bloque de predicción candidato espacial 470 es la imagen I, y la lista de imágenes de referencia que incluye la imagen I es la lista L0 y, por lo tanto, el vector de movimiento del bloque de predicción candidato espacial y el vector de movimiento del bloque objetivo de predicción tienen diferentes imágenes de referencia pero la misma lista de imágenes de referencia. Como tal, el vector de movimiento que tiene un fotograma de referencia diferente de el del bloque objetivo de predicción 450 pero que se produce a partir de la misma lista se define como el tercer vector de movimiento 420. Dado que el tercer vector de movimiento 420 tiene una imagen de referencia diferente de la del bloque objetivo de predicción, cuando se usa el vector de movimiento del bloque de predicción candidato espacial, puede escalarse basándose en la imagen de referencia del bloque objetivo de predicción y, a continuación, puede incluirse en la lista de vectores de movimiento de predicción candidatos.
[0055]El vector de movimiento del bloque de predicción candidato espacial 470 que tiene un fotograma de referencia diferente de el del bloque objetivo de predicción 450 y se produce a partir de una lista de imágenes de referencia diferente se denomina como un cuarto vector de movimiento 430. Suponiendo que la imagen de referencia del bloque objetivo de predicción 450 es la imagen j, y la lista de imágenes de referencia que incluye la imagen j es la lista L0, la imagen de referencia indicada por el vector 430 del bloque de predicción candidato espacial 470 es la imagen I, y la lista de imágenes de referencia que incluye la imagen m es la lista L1, el vector de movimiento del bloque de predicción candidato espacial y el vector de movimiento del bloque objetivo de predicción tienen diferentes imágenes de referencia y diferentes listas de imágenes de referencia. Como tal, el vector de movimiento que se produce a partir de un fotograma de referencia diferente y una lista de imágenes de referencia diferente de las del bloque objetivo de predicción se define como el cuarto vector de movimiento 430. El cuarto vector de movimiento 430 tiene una imagen de referencia diferente de la del bloque objetivo de predicción 450 y, por lo tanto, cuando se usa el vector de movimiento del bloque de predicción candidato espacial, se escala basándose en la imagen de referencia del bloque objetivo de predicción y, a continuación, puede incluirse en la lista de vectores de movimiento de predicción candidatos.
[0056]El vector de movimiento del bloque de predicción candidato espacial puede categorizarse en el primer vector de movimiento al cuarto vector de movimiento dependiendo del fotograma de referencia y la lista de imágenes de referencia del bloque objetivo de predicción como se ha descrito anteriormente. El primer vector de movimiento y el segundo vector de movimiento son vectores que pueden usarse sin escalar, y se definen como vectores de movimiento sin escalar que no han experimentado ajuste de escala. El tercer y cuarto vectores de movimiento son vectores que pueden usarse sin ajuste de escala y se definen como vectores de movimiento de ajuste de escala.
[0057] El método de categorización del vector de movimiento del bloque de predicción candidato espacial en el primer vector de movimiento al cuarto vector de movimiento puede usarse para determinar cuál de los vectores de movimiento del bloque de predicción candidato espacial se va a usar primero como el vector de movimiento de predicción candidato que se va a describirse a continuación.
[0058] En lo sucesivo en el presente documento, entre los vectores de movimiento de predicción candidatos, tal como el primer vector de movimiento al cuarto vector de movimiento, el vector de movimiento seleccionado como el vector de movimiento óptimo puede definirse como el vector de movimiento de predicción.
[0059] La Figura 5 es un diagrama de flujo que ilustra un método para producir un vector de movimiento de predicción candidato de acuerdo con una realización de la presente invención.
[0060] El vector de movimiento de predicción candidato incluye conceptualmente al menos uno o más de un vector de movimiento de predicción candidato espacial y un vector de movimiento de predicción candidato temporal.
[0061] De acuerdo con una realización de la presente invención, en el método de producción de un vector de movimiento de predicción candidato, los procesos de inducción del vector de movimiento de predicción candidato pueden realizarse en paralelo. Por ejemplo, en caso de que se induzca un vector de movimiento de predicción candidato a partir de cada uno de dos grupos de predicción candidatos espaciales (primer grupo de predicción candidato espacial y segundo grupo de predicción candidato espacial) y se induzca un vector de movimiento de predicción candidato a partir de un bloque de predicción candidato temporal, las operaciones de inducción de los vectores de movimiento de predicción candidatos del primer grupo de predicción candidato espacial, el segundo grupo de predicción candidato espacial y el bloque de predicción candidato temporal pueden realizarse en paralelo. "los procesos de inducción del vector de movimiento de predicción candidato se realizan en paralelo" significa que puede reducirse la complejidad del proceso de inducción del vector de movimiento de predicción candidato.
[0062] Haciendo referencia a la Figura 5, se realiza en paralelo una etapa de producción de un primer vector de movimiento de predicción candidato espacial en un primer grupo de predicción candidato espacial (etapa S500), una etapa de producción de un vector de movimiento de predicción candidato espacial en un segundo grupo de predicción candidato espacial (etapa S520), y una etapa de producción de un vector de movimiento de predicción candidato temporal en un bloque de predicción candidato temporal (etapa S540).
[0063] Las etapas de producción de los vectores de movimiento de predicción candidatos realizadas en paralelo como se muestra en la Figura 5 se definen arbitrariamente, y pueden adoptarse otros métodos que inducen los vectores de movimiento de predicción candidatos en paralelo. Por ejemplo, la etapa de producción del vector de movimiento de predicción candidato en el bloque de predicción candidato temporal puede omitirse mientras que la etapa de producción del vector de movimiento de predicción candidato en el primer grupo de predicción candidato espacial y la etapa de producción del vector de movimiento de predicción candidato en el segundo grupo de predicción candidato espacial únicamente se pueden realizar en paralelo.
[0064] En el método de inducción del vector de movimiento de predicción candidato de acuerdo con una realización de la presente invención,
A) método de uso como el vector de movimiento de predicción candidato únicamente los vectores de movimiento sin ajuste de escala (primer vector de movimiento o segundo vector de movimiento) que no está sometido a ajuste de escala, y
B) método de uso como el vector de movimiento de predicción candidato el tercer vector de movimiento o el cuarto vector de movimiento que no está sometido a ajuste de escala en caso de que no estén disponibles vectores de movimiento sin ajuste de escala (primer vector de movimiento o segundo vector de movimiento) para producir el vector de movimiento de predicción candidato.
[0065] La Figura 6 es un diagrama de flujo que ilustra un método para producir un vector de movimiento de predicción candidato de acuerdo con otra realización de la presente invención.
[0066] Haciendo referencia a la Figura 6, se determina secuencialmente si existe un vector de movimiento sin ajuste de escala (primer vector de movimiento o segundo vector de movimiento) en orden desde el primer bloque izquierdo al segundo bloque izquierdo (etapa S600).
[0067] Como se ha descrito anteriormente, el primer vector de movimiento y el segundo vector de movimiento se refieren a vectores de movimiento de predicción candidatos sin ajuste de escala que tienen el mismo índice de imagen de referencia y no necesitan ser sometidos a ajuste de escala.
[0068] En la etapa S600, por ejemplo, puede determinarse en el siguiente orden si existe un vector de movimiento de predicción candidato:
(1) se determina si existe un vector de movimiento de predicción candidato sin ajuste de escala en el primer bloque izquierdo, y en caso de que exista un vector de movimiento de predicción candidato sin ajuste de escala en el primer bloque izquierdo, el correspondiente vector de movimiento de predicción candidato sin ajuste de escala se determina como el vector de movimiento de predicción candidato.
(2) en caso de que no esté disponible un vector de movimiento de predicción candidato sin ajuste de escala en el primer bloque izquierdo, se determina si existe un vector de movimiento de predicción candidato sin ajuste de escala en el segundo bloque izquierdo. En caso de que exista un vector de movimiento de predicción candidato sin ajuste de escala en el segundo bloque izquierdo, el correspondiente vector de movimiento de predicción candidato sin ajuste de escala se determina como el vector de movimiento de predicción candidato.
(3) en caso de que no exista vector de movimiento de predicción candidato sin ajuste de escala en el segundo bloque izquierdo, no se puede producir ningún vector de movimiento de predicción candidato a partir del primer grupo de predicción candidato espacial (primer bloque izquierdo y segundo bloque izquierdo).
[0069]Como otro ejemplo, en la etapa S600, puede determinarse en el siguiente orden si existe un vector de movimiento de predicción candidato:
(1) se determina si el primer vector de movimiento está en el primer bloque izquierdo, y en caso de que exista el primer vector de movimiento en el primer bloque, el vector correspondiente se determina como el vector de movimiento de predicción candidato.
(2) en caso de que no exista un primer vector de movimiento en el primer bloque izquierdo, se determina si el primer vector de movimiento está en el segundo bloque, y en caso de que exista el primer vector de movimiento en el segundo bloque izquierdo, el vector correspondiente se determina como el vector de movimiento de predicción candidato.
(3) en caso de que no exista un primer vector de movimiento en el segundo bloque izquierdo, se determina si el segundo vector de movimiento está en el primer bloque izquierdo, y en caso de que exista un segundo vector de movimiento en el primer bloque izquierdo, el vector correspondiente se determina como el vector de movimiento de predicción candidato.
(4) en caso de que no exista un segundo vector de movimiento en el primer bloque izquierdo, se determina si el segundo vector de movimiento está en el segundo bloque izquierdo, y en caso de que exista el segundo vector de movimiento en el segundo bloque izquierdo, el vector correspondiente se determina como el vector de movimiento de predicción candidato.
[0070]El orden descrito anteriormente es simplemente un ejemplo de un orden en el que el vector de movimiento de predicción candidato sin ajuste de escala se produce a partir del primer grupo de predicción candidato espacial, y, en otros órdenes, el vector de movimiento de predicción candidato sin ajuste de escala puede producirse a partir del primer grupo de predicción candidato espacial.
[0071]Como se ha descrito anteriormente, en caso de que no esté disponible un vector de movimiento de predicción candidato sin ajuste de escala en la etapa S600, el vector de movimiento de predicción candidato puede no producirse a partir del primer grupo de predicción candidato espacial (primer bloque izquierdo y segundo bloque izquierdo).
[0072]En caso de que exista un vector de movimiento de predicción candidato sin ajuste de escala en el primer grupo de predicción candidato espacial a través del método de producción del vector de movimiento de predicción candidato sin ajuste de escala, primera información de disponibilidad de grupo de predicción candidato espacial (por ejemplo, availableFlagLXY) se establece como 1 para indicar que existe el vector de movimiento de predicción candidato en el primer grupo de predicción candidato espacial. "1" puede ser un número binario para indicar si existe el vector de movimiento de predicción candidato, y pueden usarse otros números binarios para indicar lo mismo. En una realización de la presente invención, los números binarios "1" y "0" que indican información predeterminada se determinan arbitrariamente, y la información correspondiente puede representarse basándose en códigos producidos por otros métodos de codificación o decodificación binaria.
[0073]De acuerdo con otra realización, en caso de que no se produzca un vector de movimiento de predicción candidato sin ajuste de escala en la etapa S600, se determina secuencialmente si existe el vector de movimiento de ajuste de escala (tercer vector de movimiento o cuarto vector de movimiento) en el primer bloque izquierdo y el segundo bloque izquierdo (etapa S610).
[0074]Por ejemplo, puede determinarse mediante las subetapas en la etapa S610 si existe el vector de movimiento de ajuste de escala:
(1) se determina secuencialmente si existe el tercer vector de movimiento o el cuarto vector de movimiento en el primer bloque izquierdo, y en caso de que el tercer vector de movimiento o el cuarto vector de movimiento esté en el primer bloque izquierdo, el tercer vector de movimiento o el cuarto vector de movimiento se determina como el vector de movimiento de predicción candidato sin ajuste de escala.
(2) en caso de que no exista un tercer vector de movimiento o un cuarto vector de movimiento en el primer bloque izquierdo, se determina secuencialmente si el tercer vector de movimiento o el cuarto vector de movimiento está en el segundo bloque izquierdo, y en caso de que exista el tercer vector de movimiento o el cuarto vector de movimiento en el segundo bloque izquierdo, el correspondiente tercer vector de movimiento o el cuarto vector de movimiento se determina como el vector de movimiento de predicción candidato sin ajuste de escala.
[0075]Es decir, en caso de que no exista un vector de movimiento de predicción candidato sin ajuste de escala en el primer grupo de predicción candidato espacial, el vector de movimiento de predicción candidato de ajuste de escala (tercer vector de movimiento o cuarto vector de movimiento) se produce a partir del primer grupo de predicción candidato espacial (primer bloque izquierdo y segundo bloque izquierdo) y, en tal caso, el vector de movimiento que no se ha sometido a ajuste de escala puede producirse como el vector de movimiento de predicción candidato.
[0076]Como método para determinar secuencialmente si existe el vector de movimiento de predicción candidato de ajuste de escala (tercer vector de movimiento o cuarto vector de movimiento) en el primer bloque izquierdo y el segundo bloque izquierdo en la etapa S610, pueden adoptarse diversos métodos, por ejemplo, el método descrito anteriormente de producción del vector de movimiento de ajuste de escala (primer vector de movimiento o segundo vector de movimiento) en el primer bloque izquierdo y el segundo bloqueo izquierdo, que también están incluidos en el alcance de la presente invención.
[0077]En caso de que exista un vector de movimiento que satisfaga las condiciones a través de la etapa S600 o las etapas S600 y S610, la primera información de disponibilidad de grupo de predicción candidato espacial se establece como 1, y no puede realizarse un proceso de determinación de si existe su vector de movimiento posterior.
[0078]El mismo método puede aplicarse al segundo grupo de predicción candidato espacial para producir el vector de movimiento de predicción candidato.
[0079]Se determina si existe un vector de movimiento sin ajuste de escala en el orden del primer bloque superior, el segundo bloque superior y el tercer bloque superior (etapa S620).
[0080]La etapa S620 de producción del vector de movimiento de predicción candidato en el segundo grupo de predicción candidato espacial puede realizarse en paralelo con al menos una de las etapas S600 y S610 de producción del vector de movimiento de predicción candidato en el primer grupo de predicción candidato espacial como se ha descrito anteriormente.
[0081]Por ejemplo, similar al método descrito anteriormente en relación con la etapa S600, en la etapa S620, se determina si existe el primer vector de movimiento en el orden del primer bloque superior al tercer bloque superior, y, en caso de que no exista un primer vector de movimiento en el primer bloque superior al tercer bloque superior, se determina si existe el segundo vector de movimiento en orden desde el primer bloque superior al tercer bloque superior o se determina si existe el primer vector de movimiento o el segundo vector de movimiento en el primer bloque superior, y, a continuación, se determina si existe el primer vector de movimiento o el segundo vector de movimiento en el segundo bloque superior, y se determina si existe el primer vector de movimiento o el segundo vector de movimiento en el tercer bloque. Mediante tal método, se puede producir el vector de movimiento de predicción candidato espacial.
[0082]Los procesos de determinación en la etapa S620 pueden realizarse mediante diversos métodos como en la etapa S600, que están todos incluidos en el alcance de la presente invención.
[0083]En caso de que exista un vector de movimiento de predicción candidato que satisfaga la condición en el primer bloque superior al tercer bloque superior basándose en los procesos de determinación secuencial en la etapa S620, su proceso de determinación posterior puede omitirse. El vector de movimiento producido puede incluirse en la lista de vectores de movimiento de predicción candidatos, y la segunda información de disponibilidad de grupo de predicción candidato espacial puede establecerse como 1 para indicar que existe el vector de movimiento de predicción candidato en el segundo grupo de predicción candidato espacial.
[0084]Como en la etapa S600, en caso de que no exista un primer vector de movimiento o un segundo vector de movimiento, que es el vector de movimiento de predicción candidato sin ajuste de escala, en el primer bloque superior al tercer bloque superior a través de la etapa S620, el vector de movimiento de predicción candidato no puede producirse a partir del segundo grupo de predicción candidato espacial.
[0085]De acuerdo con otra realización, en caso de que se determine en la etapa S620 que no existe vector de movimiento sin ajuste de escala en el primer bloque superior, el segundo bloque superior y el tercer bloque superior, se determina si existe el vector de movimiento de ajuste de escala (tercer vector de movimiento y cuarto vector de movimiento) en el primer bloque superior, el segundo bloque superior y el tercer bloque superior.
[0086]En caso de que, como resultado de determinación secuencialmente en la etapa S620 de si existe el primer vector de movimiento o el segundo vector de movimiento en orden desde el primer bloque superior al tercer bloque superior, no existe vector que satisfaga la condición, el vector de movimiento de predicción candidato puede producirse a través de la etapa S630.
[0087]En caso de que se determine en la etapa S630 que el tercer vector de movimiento o el cuarto vector de movimiento está disponible en al menos uno del primer bloque superior, el segundo bloque superior y el tercer bloque superior, el ajuste de escala no se realiza en el vector correspondiente, y el tercer vector de movimiento y el cuarto vector de movimiento, que no se han sometido a ajuste de escala, pueden incluirse en la lista de vectores de movimiento de predicción candidatos.
[0088] El proceso de determinación de si existe el tercer vector de movimiento o el cuarto vector de movimiento en al menos uno del primer bloque superior, el segundo bloque superior y el tercer bloque superior pueden realizarse mediante diversos métodos, tal como el método de producción del vector de movimiento en el primer grupo de predicción candidato espacial.
[0089] en caso de que exista un vector de movimiento que satisfaga la condición a través de las etapas S620 y S630, se puede producir un vector de movimiento de predicción candidato a partir del segundo grupo de predicción candidato espacial.
[0090] Se determina si existe un vector de movimiento de predicción candidato en el bloque de predicción candidato temporal (bloque coubicado) (etapa S640).
[0091] La etapa S640 de determinación de si existe el vector de movimiento de predicción candidato en el bloque de predicción candidato temporal puede realizarse en paralelo con la etapa S600 o S610 de producción del vector de movimiento de predicción candidato en el primer grupo de predicción candidato espacial y la etapa S620 o S630 de producción del vector de movimiento de predicción candidato en el segundo grupo de predicción candidato espacial.
[0092] El bloque de predicción candidato temporal puede dividirse en un primer bloque coubicado y un segundo bloque coubicado, como se ha descrito anteriormente, y se determina si el bloque coubicado está disponible, y si el primer bloque coubicado no está disponible, el segundo bloque coubicado puede seleccionarse como el bloque coubicado.
[0093] Dependiendo de la información predeterminada, una de las imágenes de referencia en la lista de imágenes de referencia de la imagen actual puede convertirse en la imagen coubicada que incluye el bloque de predicción candidato temporal. Además, pueden usarse diversos métodos para producir la imagen coubicada que incluye el bloque de predicción candidato temporal. El bloque de predicción candidato temporal que usa dos listas de imágenes de referencia puede usar en primer lugar como el vector de movimiento de predicción candidato únicamente el vector de movimiento que está disponible en una lista de acuerdo con información de bandera predeterminada. En caso de que la distancia entre la imagen actual y la imagen de referencia de la imagen actual sea diferente de la distancia entre la imagen que incluye el bloque de predicción candidato temporal y la imagen de referencia del bloque de predicción candidato temporal, el ajuste de escala puede realizarse en el vector de movimiento de predicción candidato producido en el bloque de predicción candidato temporal.
[0094] De acuerdo con una realización de la presente invención, no se puede realizar ajuste de escala en el bloque de predicción candidato temporal (bloque coubicado). Por ejemplo, en caso de que sea necesario reducir la complejidad de cálculo, el bloque de predicción candidato temporal puede no someterse a ajuste de escala no realizando ajuste de escala o a través de un método de establecimiento en el que no se realiza ajuste de escala de manera adaptativa en el vector de movimiento del bloque coubicado a través de información de bandera.
[0095] En caso de que se pueda producir el vector de movimiento de predicción candidato producido a partir del bloque de predicción candidato temporal, la información de disponibilidad de bloque de predicción candidato temporal puede establecerse como 1.
[0096] Es decir, de acuerdo con una realización de la presente invención, los procesos de determinación de si existe vectores de movimiento de predicción candidatos disponibles en el primer grupo de predicción candidato espacial, el segundo grupo de predicción candidato espacial y el bloque de predicción candidato temporal se realizan en paralelo para eliminar de esta manera la dependencia que ocurre cuando se produce el vector de movimiento de predicción candidato en el primer grupo de predicción candidato espacial, el segundo grupo de predicción candidato espacial y el bloque de predicción candidato temporal cuando se produce el vector de movimiento de predicción candidato.
[0097] Además, para determinar si existen vectores de movimiento de predicción candidatos disponibles en el primer grupo de predicción candidato espacial, el segundo grupo de predicción candidato espacial y el bloque de predicción candidato temporal, únicamente se pueden realizar los procesos de determinación en paralelo de si existe vectores de movimiento de predicción candidatos disponibles en el primer grupo de predicción candidato espacial y el segundo grupo de predicción candidato espacial, mientras que el proceso de determinación de si existe un vector de movimiento de predicción candidato disponible en el bloque de predicción candidato temporal se realiza de manera dependiente. Como tal, cuando se producen los vectores de movimiento de predicción candidatos en el primer grupo de predicción candidato espacial, el segundo grupo de predicción candidato espacial y el bloque de predicción candidato temporal, pueden realizarse en paralelo los procesos de producción de los vectores de movimiento de predicción candidatos únicamente a partir de al menos dos de los grupos.
[0098]en caso de que existan vectores de movimiento que puedan producirse en el primer grupo de predicción candidato espacial, el segundo grupo de predicción candidato espacial y el bloque de predicción candidato temporal a través del proceso descrito anteriormente, puede indicarse usando una bandera de información de disponibilidad (availableFlagLXY o availableFlagCol) que existen vectores de movimiento de predicción candidatos disponibles.
[0099]Como se ha descrito anteriormente, al producir el vector de movimiento de predicción candidato, el número y la posición de los bloques incluidos en el primer grupo de predicción candidato espacial, el número y la posición de los bloques incluidos en el segundo grupo de predicción candidato espacial, y el número y la posición de los bloques de predicción candidatos temporales se determinan arbitrariamente, y el número y la posición de los bloques incluidos en el primer y segundo grupos de predicción candidatos espaciales pueden variar, que también está incluido en el alcance de la presente invención.
[0100]La Figura 7 es un diagrama de flujo que ilustra un método para producir un vector de movimiento de predicción candidato de acuerdo con otra realización más de la presente invención.
[0101]De acuerdo con una realización de la presente invención, cuando los vectores de movimiento de predicción candidatos se inducen a partir del primer grupo de predicción candidato espacial y el segundo grupo de predicción candidato espacial, independientemente de si se ha realizado el ajuste de escala en el vector de movimiento producido a partir de un bloque de predicción candidato diferente, el ajuste de escala puede realizarse individualmente de modo que el vector de movimiento de predicción candidato pueda inducirse en paralelo.
[0102]El vector de movimiento de predicción candidato se induce a partir del primer grupo de predicción candidato espacial (primer bloque izquierdo, segundo bloque izquierdo).
[0103]Para inducir el vector de movimiento de predicción candidato del primer grupo de predicción candidato espacial, puede determinarse si existe un vector de movimiento sin ajuste de escala (primer vector de movimiento o segundo vector de movimiento) en el primer grupo de predicción candidato espacial (etapa S700).
[0104]El método descrito anteriormente en relación con la etapa S600 puede usarse para determinar si existe el vector de movimiento sin ajuste de escala (primer vector de movimiento o segundo vector de movimiento) en el primer grupo de predicción candidato espacial.
[0105]Para inducir el vector de movimiento de predicción candidato en el primer grupo de predicción candidato espacial, puede determinarse si existe el vector de movimiento de ajuste de escala (tercer vector de movimiento o cuarto vector de movimiento) en el primer grupo de predicción candidato espacial (etapa S710).
[0106]En caso de que se determine en la etapa S700 que no existe vector de movimiento sin ajuste de escala, se determina si existe un vector de movimiento de ajuste de escala (tercer vector de movimiento o cuarto vector de movimiento), el vector de movimiento de ajuste de escala (tercer vector de movimiento o cuarto vector de movimiento) puede seleccionarse como el vector de movimiento de predicción candidato.
[0107]En la etapa S710, diversos métodos, tal como el método descrito en relación con la etapa S610, puede usarse para determinar si existe el tercer vector de movimiento o el cuarto vector de movimiento en el primer grupo de predicción candidato espacial, y en la etapa S710, a diferencia de la etapa S610, se realiza en primer lugar el ajuste de escala y el tercer vector de movimiento y el cuarto vector de movimiento producidos pueden usarse como el vector de movimiento de predicción candidato.
[0108]El vector de movimiento de predicción candidato se induce a partir del segundo grupo de predicción candidato espacial (primer bloque superior, segundo bloque superior y tercer bloque superior).
[0109]Para inducir el vector de movimiento de predicción candidato en el segundo grupo de predicción candidato espacial, puede determinarse si existe un vector de movimiento sin ajuste de escala (primer vector de movimiento o segundo vector de movimiento) en el segundo grupo de predicción candidato espacial (etapa S720).
[0110]El método descrito anteriormente en relación con la etapa S620 puede usarse para determinar si existe el vector de movimiento sin ajuste de escala (primer vector de movimiento o segundo vector de movimiento) en el segundo grupo de predicción candidato espacial.
[0111]Para inducir el vector de movimiento de predicción candidato en el segundo grupo de predicción candidato espacial, puede determinarse si existe el vector de movimiento de ajuste de escala (tercer vector de movimiento o cuarto vector de movimiento) en el segundo grupo de predicción candidato espacial (etapa S730).
[0112]En caso de que se determine en la etapa S720 que no existe vector de movimiento sin ajuste de escala, el vector de movimiento de ajuste de escala (tercer vector de movimiento o cuarto vector de movimiento) puede seleccionarse como el vector de movimiento de predicción candidato.
[0113]Puede determinarse en la etapa S730 mediante diversos métodos, tal como el método descrito anteriormente en relación con la etapa S630, si existe el tercer vector de movimiento o el cuarto vector de movimiento en el segundo grupo de predicción candidato espacial, y en la etapa S730, a diferencia de la etapa S630, se realiza en primer lugar el ajuste de escala y el tercer vector de movimiento o cuarto vector de movimiento producidos pueden usarse como el vector de movimiento de predicción candidato.
[0114]El ajuste de escala puede realizarse independientemente en el tercer vector de movimiento o cuarto vector de movimiento producidos en el segundo grupo de predicción candidato espacial independientemente de si se ha realizado el ajuste de escala en el primer grupo de predicción candidato espacial para producir el vector de movimiento de predicción candidato.
[0115]Se determina si existe un vector de movimiento de predicción candidato en el bloque de predicción candidato temporal (bloque coubicado) (etapa S740).
[0116]La etapa S740 de determinación de si existe el vector de movimiento de predicción candidato en el bloque de predicción candidato temporal puede realizarse en paralelo con la etapa S700 o S710 de producción del vector de movimiento de predicción candidato en el primer grupo de predicción candidato espacial y la etapa S720 o S730 de producción del vector de movimiento de predicción candidato en el segundo grupo de predicción candidato espacial.
[0117]El bloque de predicción candidato temporal puede dividirse en una pluralidad de bloques de predicción candidatos, tal como el primer bloque coubicado y el segundo bloque coubicado, como se ha descrito anteriormente, y si se produce un vector de movimiento de predicción candidato temporal a partir del bloque de predicción candidato temporal, se determina si el primer bloque coubicado está disponible y si el primer bloque coubicado no está disponible, el segundo bloque coubicado puede seleccionarse como el bloque coubicado.
[0118]De acuerdo con una realización de la presente invención, el ajuste de escala puede realizarse independientemente en el vector de movimiento de predicción candidato producido a partir del bloque de predicción candidato temporal sin determinar si se ha realizado el ajuste de escala en el vector de movimiento de predicción candidato producido a partir del primer grupo de predicción candidato espacial y el vector de movimiento de predicción candidato producido a partir del segundo grupo de predicción candidato espacial. Además, como otro método, no se puede realizar ajuste de escala en el bloque de predicción candidato temporal (bloque coubicado). Por ejemplo, en caso de que sea necesario reducir la complejidad de cálculo, el ajuste de escala puede no realizarse en el bloque de predicción candidato temporal a través de un método de establecimiento en el que no se realiza ajuste de escala o no se realiza ajuste de escala adaptativamente en el vector de movimiento del bloque coubicado a través de información de bandera. En caso de que exista el vector de movimiento de predicción candidato en el primer grupo de predicción candidato espacial, el segundo grupo de predicción candidato espacial, o el bloque de predicción candidato temporal a través del proceso anterior, la bandera de información de disponibilidad (availableFlagLXY o availableFlagCol) puede usarse para indicar que existe el vector de movimiento de predicción candidato.
[0119]Como se ha descrito anteriormente en relación con la Figura 6, al producir el vector de movimiento de predicción candidato, el número y la posición de los bloques incluidos en el primer grupo de predicción candidato espacial, el número y la posición de los bloques incluidos en el segundo grupo de predicción candidato espacial, y el número y la posición de los bloques de predicción candidatos temporales se determinan arbitrariamente, y el número y la posición de los bloques incluidos en el primer y segundo grupos de predicción candidatos espaciales pueden variar, que también está incluido en el alcance de la presente invención.
[0120]Como se describe en relación con la Figura 7, el ajuste de escala puede realizarse tanto en el primer grupo de predicción candidato espacial como en el segundo grupo de predicción candidato espacial. De acuerdo con una realización de la presente invención, sin embargo, el ajuste de escala puede realizarse en únicamente al menos uno del primer grupo de predicción candidato espacial o el segundo grupo de predicción candidato espacial.
[0121]Por ejemplo, el ajuste de escala puede realizarse únicamente en el primer grupo de predicción candidato espacial. En caso de que el ajuste de escala se realice únicamente en el primer grupo de predicción candidato espacial, es similar a lo que se ha descrito anteriormente en relación con la Figura 7. Sin embargo, en la etapa S730 de la Figura 7, para inducir el vector de movimiento de predicción candidato en el segundo grupo de predicción candidato espacial, se determina si existe un vector de movimiento de ajuste de escala (tercer vector de movimiento o cuarto vector de movimiento) en el segundo grupo de predicción candidato espacial y, a continuación, sin realizar el ajuste de escala en el vector de movimiento de ajuste de escala (tercer vector de movimiento o cuarto vector de movimiento), puede usarse el tercer vector de movimiento o el cuarto vector de movimiento que no se ha sometido a ajuste de escala como el vector de movimiento de predicción candidato.
[0122]De la misma manera, el ajuste de escala puede realizarse únicamente en el segundo grupo de predicción candidato espacial. En tal caso, para inducir el vector de movimiento de predicción candidato en el primer grupo de predicción candidato espacial en la etapa S710, se determina si existe el vector de movimiento de ajuste de escala (tercer vector de movimiento o cuarto vector de movimiento) en el primer grupo de predicción candidato espacial y, a continuación, sin realizar el ajuste de escala en el vector de movimiento de ajuste de escala (tercer vector de movimiento o cuarto vector de movimiento), puede usarse el tercer vector de movimiento o el cuarto vector de movimiento que no se ha sometido a ajuste de escala como el vector de movimiento de predicción candidato.
[0123]Como otro ejemplo, se puede usar información de bandera predeterminada que indica si se realiza el ajuste de escala de modo que el ajuste de escala se puede usar a la vez en el vector de movimiento de predicción candidato. Por ejemplo, en caso de que el ajuste de escala se realice una vez en el primer grupo de predicción candidato espacial, no se realiza ajuste de escala en el segundo grupo de predicción candidato espacial, y en caso de que no se realice ajuste de escala en el primer grupo de predicción candidato espacial, se puede usar información de bandera para indicar si se realiza el ajuste de escala de modo que se puede usar el ajuste de escala para el segundo grupo de predicción candidato espacial.
[0124]La Figura 8 es un diagrama de flujo que ilustra un proceso para producir un vector de movimiento de predicción candidato adicional de acuerdo con una realización de la presente invención.
[0125]La Figura 8 divulga un método para añadir un vector de movimiento de predicción candidato adicional en una lista de vectores de movimiento de predicción candidatos en caso de que el número de vectores de movimiento de predicción candidatos incluidos en la lista de vectores de movimiento de predicción candidatos actual no sea el máximo basándose en el número de los vectores de movimiento de predicción que pueden incluirse en la lista de vectores de movimiento de predicción candidatos. El método de añadir el vector de movimiento de predicción candidato adicional a la lista de vectores de movimiento de predicción candidatos puede usarse para mejorar la eficiencia de codificación tras la predicción del vector de movimiento.
[0126]Haciendo referencia a la Figura 8, se determina si el número de vectores de movimiento de predicción candidatos inducidos a partir de un grupo de predicción candidato espacial o un bloque de predicción candidato temporal es menor que el tamaño de la lista de vectores de movimiento de predicción candidatos (etapa S800).
[0127]En caso de que el número de vectores de movimiento de predicción candidatos inducidos sea el mismo que el número de vectores de movimiento de predicción candidatos que pueden incluirse en la lista de vectores de movimiento de predicción candidatos, los vectores de movimiento de predicción candidatos inducidos únicamente pueden incluirse en la lista de vectores de movimiento de predicción candidatos y pueden usarse como vectores de movimiento de predicción candidatos del bloque objetivo de predicción. En lo sucesivo en el presente documento, en esta realización de la presente invención, el número de los vectores de movimiento de predicción candidatos inducidos se refiere al número de vectores de movimiento de predicción candidatos que permanecen después de que los vectores de movimiento de predicción candidatos duplicados se eliminan de los vectores de movimiento de predicción candidatos inducidos del grupo de predicción candidato espacial y el bloque de predicción candidato temporal.
[0128]En caso de que el número de los vectores de movimiento de predicción candidatos inducidos sea menor que el número de vectores de movimiento de predicción candidatos que pueden incluirse en la lista de vectores de movimiento de predicción candidatos, se produce un vector de movimiento de predicción candidato adicional (etapa S810).
[0129]Pueden usarse diversos métodos para producir el vector de movimiento de predicción candidato adicional, tal como un método para realizar el ajuste de escala, un método de uso de un desplazamiento, o un método de uso de un resultado estadístico. En lo sucesivo en el presente documento, a continuación, se describe en detalle un método para producir un vector de movimiento de predicción candidato adicional de acuerdo con una realización de la presente invención.
[0130]Se determina si el vector de movimiento de predicción candidato adicional producido se solapa con el vector de movimiento incluido en la lista de vectores de movimiento de predicción candidatos (etapa S820).
[0131]En caso de que el vector de movimiento de predicción candidato adicional producido se solape con el vector de movimiento incluido en la lista de vectores de movimiento de predicción candidatos, se induce un nuevo vector de movimiento de predicción candidato adicional (etapa S810).
[0132]En caso de que el vector de movimiento de predicción candidato adicional producido no se solape con el vector de movimiento incluido en la lista de vectores de movimiento de predicción candidatos, el vector de movimiento de predicción candidato adicional producido se incluye en la lista de vectores de movimiento de predicción candidatos (etapa S830).
[0133]La Figura 9 es un diagrama de flujo que ilustra un método para producir un vector de movimiento de predicción candidato adicional de acuerdo con otra realización de la presente invención.
[0134]La Figura 9 ilustra el método de uso de ajuste de escala entre los métodos de producción de un vector de movimiento de predicción candidato adicional como se ha descrito anteriormente en relación con la etapa S810.
[0135]Haciendo referencia a la Figura 9, se puede suponer que el bloque de predicción candidato espacial 900 es un bloque de predicción que realiza inter predicción basándose en dos vectores de movimiento (un vector de movimiento 920 que hace referencia a una imagen de orden n-1 incluida en una lista de imágenes de referencia L0 y un vector de movimiento 940 que hace referencia a una imagen de orden n+1 incluida en una lista de imágenes de referencia L1).
[0136]Suponiendo que al producir el vector de movimiento de predicción candidato del bloque objetivo de predicción, entre los vectores de movimiento del bloque de predicción superior, el vector de movimiento 920 que hace referencia a la imagen de orden n-1 de la lista de imágenes de referencia L0 se elimina de la lista de vectores de movimiento de predicción candidatos para evitar la duplicación, y únicamente se usa el vector de movimiento 940 hace referencia a la imagen de orden n+1 de la lista de imágenes de referencia L1 restante como el vector de movimiento de predicción candidato, el vector de movimiento 940, que hace referencia a la lista de imágenes de referencia L1 y aún no se usa como el vector de movimiento de predicción candidato adicional, se somete a ajuste de escala, y el vector de movimiento inducido puede usarse como el vector de movimiento de predicción candidato adicional.
[0137]Es decir, el ajuste de escala se realiza en el vector de movimiento que hace referencia a la imagen de orden n+1 en la dirección de la lista de imágenes de referencia L1 basándose en la distancia entre la imagen de referencia n-1 incluida en la lista L0 del bloque de predicción actual y la imagen n+1 en la dirección de la lista de imágenes de referencia L1, y un vector de movimiento producido puede incluirse en la lista de vectores de movimiento de predicción candidatos como el vector de movimiento de predicción candidato adicional. Tal vector de movimiento puede definirse por la expresión "vector de movimiento de predicción candidato de ajuste de escala en dirección opuesta".
[0138]Es decir, de acuerdo con una realización de la presente invención, en caso de que el vector de movimiento de predicción candidato se induzca a partir del bloque de predicción que hace referencia a ref_list[X], X=0 o 1, el vector de movimiento que hace referencia a ref_list[1-X] se somete a ajuste de escala basándose en la imagen de referencia del bloque de predicción y puede inducirse y usarse como el vector de movimiento de predicción candidato adicional.
[0139]Como método para producir el vector de movimiento de predicción candidato adicional de acuerdo con otra realización de la presente invención, se puede usar un método basado en desplazamiento.
[0140]Por ejemplo, en caso de que entre los vectores de movimiento de predicción candidatos en la lista de vectores de movimiento de predicción candidatos, un vector de movimiento de predicción candidato sea {mvp_x, mvp_y}, se añaden los desplazamientos a y p, respectivamente, a los componentes X e Y del vector de movimiento para inducir de esta manera el vector de movimiento de predicción candidato adicional {mvp_x+a, mvp_y+p}.
[0141]En este momento, el valor de desplazamiento puede transmitirse en una base imagen a imagen, una base por corte, una base por LCU (unidad de codificación más grande), una base por CU o una base por PU.
[0142]El valor de desplazamiento puede producirse basándose en la diferencia de vector de movimiento codificada/decodificada (MVD: diferencia de vector de movimiento). Basándose en una unidad de imagen específica, se asigna una prioridad más alta al valor de MVD que se produce con mayor frecuencia y puede usarse como el valor de desplazamiento. Se puede producir una lista de valores de MVD que tienen prioridades en orden de ocurrencia más frecuente, y en caso de que el número de vectores de movimiento de predicción candidatos adicionales sea dos o más, se añade el desplazamiento a los vectores de movimiento de predicción candidatos en la lista de vectores de movimiento de predicción candidatos en orden de prioridad para que se puedan inducir nuevos vectores de movimiento de predicción candidatos.
[0143]Puede usarse un método estadístico como el método de producción del vector de movimiento de predicción candidato adicional de acuerdo con otra realización de la presente invención.
[0144]Por ejemplo, los vectores de movimiento del bloque de predicción incluidos en un corte predeterminado están dispuestos en orden de frecuencia de ocurrencia, y entre los vectores de movimiento dispuestos, puede usarse al menos un vector como el vector de movimiento de predicción candidato del bloque objetivo de predicción. En este momento, para reducir la complejidad, se puede establecer un límite predeterminado para restringir los vectores de movimiento, que comprueban si se producen y la frecuencia, a un número predeterminado.
[0145]Al producir el vector de movimiento de predicción candidato adicional, como método estadístico de acuerdo con otra realización, el vector de movimiento de predicción candidato que se produjo con mayor frecuencia en el corte ya codificado y decodificado puede usarse como el vector de movimiento de predicción candidato adicional.
[0146]En este momento, desde que se produce un error, es imposible hacer referencia normalmente al vector de movimiento de la imagen o corte codificado/decodificado en la imagen o corte objetivo de codificación/decodificación, entre los vectores de movimiento que tienen una frecuencia de ocurrencia más alta, al menos uno o más pueden codificarse/decodificarse en los elementos de sintaxis de nivel superior (conjunto de parámetros de imagen, conjunto de parámetros adaptativo, encabezado de corte, etc.) en el flujo de bits.
[0147]La Figura 10 es un diagrama de flujo que ilustra un método para producir un vector de movimiento de predicción de acuerdo con una realización de la presente invención.
[0148]En lo sucesivo en el presente documento, el vector de movimiento de predicción puede usarse como el término que define el vector de movimiento seleccionado como el vector de movimiento óptimo entre los vectores de movimiento de predicción candidatos.
[0149]Haciendo referencia a la Figura 10, puede determinarse si el vector de movimiento de predicción del bloque objetivo de predicción es un vector cero y puede recibirse a través de información de elemento de sintaxis. En caso de que se transmita información que indica que el vector de movimiento de predicción es el vector cero a través de la información de elemento de sintaxis, la información de lista de vectores de movimiento de predicción candidatos y la información de índice para determinar qué vector de movimiento de predicción candidato se va a usar para el vector de movimiento de predicción del bloque objetivo de predicción no se codifican y decodifican adicionalmente, reduciendo de esta manera la complejidad de los procesos de codificación y decodificación. En este momento, el vector cero significa un vector (0, 0) cuyos componentes x e y consisten en todos 0.
[0150]Se determina si el vector de movimiento de predicción es el vector cero (etapa S1000).
[0151]Para producir información de elemento de sintaxis predeterminada, se determina si el vector de movimiento de predicción usado para el bloque objetivo de predicción es el vector cero.
[0152]En caso de que el vector de movimiento de predicción sea el vector cero, bandera de determinación de vector cero (zero_mvp_flag), un elemento de sintaxis, se establece como 1 (etapa S1010), y a menos que el vector de movimiento de predicción sea el vector cero, la bandera de determinación de vector cero, que es un elemento de sintaxis, se establece como 0 (etapa S1020).
[0153]La bandera de determinación de vector cero (zero_mvp_flag) como un elemento de sintaxis es un ejemplo de una bandera que indica que el vector de movimiento de predicción usado para el bloque de predicción actual es el vector cero. La información que indica que el vector de movimiento de predicción usado para el bloque objetivo de predicción es el vector cero puede representarse por otros tipos de información de elemento de sintaxis, no la información de bandera.
[0154]En caso de que el vector de movimiento de predicción no sea el vector cero, se codifica la información de índice del vector de movimiento de predicción (etapa S1030).
[0155]En caso de que el vector de movimiento de predicción no sea el vector cero, la información de índice puede codificarse con respecto a qué vector se ha usado como el vector de movimiento de predicción entre los vectores de movimiento de predicción candidatos basándose en la lista de vectores de movimiento de predicción candidatos producida usando el método de producción del vector de movimiento de predicción candidato como los métodos descritos anteriormente en relación con las Figuras 3 a 8.
[0156]La Figura 11 es un diagrama de flujo que ilustra un método para producir un vector de movimiento de predicción de acuerdo con otra realización de la presente invención.
[0157]La Figura 11 divulga un método de decodificación basado en el método de codificación del vector de movimiento de predicción descrito anteriormente en relación con la Figura 10.
[0158]Haciendo referencia a la Figura 11, la información de bandera de determinación de vector cero se decodifica para determinar si el valor de bandera es 1 (etapa S1100).
[0159]Como se ha descrito anteriormente, la información que indica que el vector de movimiento de predicción usado para el bloque objetivo de predicción es el vector cero puede representarse por información de elemento de sintaxis combinada con información distinta de la información de bandera u otros tipos de información de elemento de sintaxis. Además, se puede hacer arbitrariamente para determinar si el valor de la bandera es 1 y, dependiendo de la definición de la bandera, también se puede determinar si el valor de bandera es 0.
[0160]en caso de que la información de bandera de determinación de vector cero sea 1, el vector de movimiento de predicción del bloque objetivo de predicción se determina como el vector cero (etapa S1110).
[0161]En caso de que la información de bandera de determinación de vector cero sea 0, la información de índice se decodifica para producir el vector de movimiento de predicción del bloque objetivo de predicción (etapa S1120).
[0162]El valor de bandera de determinación de vector cero que es 0 y 1 se establece arbitrariamente para indicar si el vector de movimiento de predicción del bloque objetivo de predicción es el vector cero.
[0163]En caso de que la información de bandera de determinación de vector cero sea 0, la información de índice del bloque objetivo de predicción puede decodificarse para producir el vector de movimiento de predicción del bloque objetivo de predicción.
[0164]El vector de movimiento de predicción del bloque de predicción actual se determina basándose en la información de índice decodificada.
[0165]La tabla 1 muestra una estructura de sintaxis que incluye la bandera de determinación de vector cero.
<Tabla 1>
[0166]Haciendo referencia a la tabla 1, dependiendo de si la bandera de determinación de vector cero es 1, se realiza un proceso de decodificación de la información de índice del vector de movimiento de predicción candidato de modo que puede evitarse selectivamente que el proceso de producción del vector de movimiento de predicción candidato y la lista de vectores de movimiento de predicción candidatos se realice innecesariamente durante el proceso de decodificación.
[0167]La Figura 12 es un diagrama de flujo que ilustra un método para producir un vector de movimiento de predicción de acuerdo con una realización de la presente invención.
[0168]Haciendo referencia a la Figura 12, se produce la lista de vectores de movimiento de predicción candidatos (etapa S1200).
[0169]Por ejemplo, para producir la lista de vectores de movimiento de predicción candidatos, como el método descrito anteriormente, el vector de movimiento de predicción candidato se produce a partir del primer grupo de predicción candidato espacial, el segundo grupo de predicción candidato espacial y el bloque de predicción candidato temporal, Suponiendo que se produce un vector de movimiento de predicción candidato para cada uno de los mismos, los vectores de movimiento de predicción candidatos producidos se incluyen en la lista de vectores de movimiento de predicción candidatos y pueden usarse para producir el vector de movimiento de predicción del bloque objetivo de predicción. En caso de que el vector de movimiento de predicción candidato pueda incluir únicamente un número predeterminado de vectores de movimiento de predicción candidatos, si la lista de vectores de movimiento de predicción candidatos no incluye el número predeterminado de los vectores de movimiento de predicción candidatos, vectores de movimiento de predicción candidatos adicionales (por ejemplo, vector cero, vector de ajuste de escala, etc.) pueden incluirse en la lista de vectores de movimiento de predicción candidatos. El número de los vectores de movimiento de predicción candidatos producidos a partir del primer grupo de predicción candidato espacial, el segundo grupo de predicción candidato espacial, y el bloque de predicción candidato temporal es mayor que el número de vectores de movimiento de predicción candidatos que pueden incluirse en la lista de vectores de movimiento de predicción candidatos, algunos de los vectores de movimiento de predicción candidatos producidos pueden eliminarse y a continuación usarse.
[0170]El vector de movimiento de predicción del bloque de predicción se induce a partir de la lista de vectores de movimiento de predicción candidatos (etapa S1210).
[0171]En el método de producción del vector de movimiento de predicción candidato de acuerdo con una realización de la presente invención, sin usar la información de índice con respecto al vector de movimiento de predicción candidato, el vector de movimiento de predicción puede determinarse a partir de la propia lista de vectores de movimiento de predicción candidatos. Dado que el codificador no necesita transmitir la información de índice con respecto al vector de movimiento de predicción candidato al decodificador, se pueden guardar los bits necesarios para codificar la información de índice, mejorando de esta manera la eficiencia de codificación.
[0172]Por ejemplo, para determinar el vector de movimiento de predicción en la propia lista de vectores de movimiento de predicción candidatos, pueden usarse diferentes métodos dependiendo del tamaño de la lista de vectores de movimiento de predicción candidatos. El tamaño de la lista de vectores de movimiento de predicción candidatos significa el número máximo de vectores de movimiento de predicción candidatos que pueden incluirse en la lista de vectores de movimiento de predicción candidatos.
en caso de que el tamaño de la lista de vectores de movimiento de predicción candidatos sea 0, el vector cero puede usarse como el vector de movimiento de predicción del bloque de predicción mientras que la información de índice para determinar el vector de movimiento de predicción puede no decodificarse adicionalmente.
[0173]En caso de que el tamaño de la lista de vectores de movimiento de predicción candidatos sea 1, el número de vectores de movimiento de predicción candidatos presentes en la lista de vectores de movimiento de predicción candidatos es 1 y, por lo tanto, los vectores de movimiento de predicción candidatos presentes en la lista pueden usarse como el vector de movimiento de predicción del bloque de predicción. Al igual que la situación donde el tamaño de la lista de vectores de movimiento de predicción candidatos es 0, la información de índice para determinar el vector de movimiento de predicción puede no decodificarse adicionalmente.
[0174]En caso de que el tamaño de la lista de vectores de movimiento de predicción candidatos sea 2, entre los vectores de movimiento de predicción candidatos incluidos en la lista de vectores de movimiento de predicción candidatos, el vector de movimiento de predicción candidato que tiene una frecuencia de aparición más alta en el corte objetivo de codificación/decodificación puede inducirse como el vector de movimiento de predicción para decodificar el bloque objetivo de predicción, en caso de que se induzca una pluralidad de vectores de movimiento de predicción candidatos, los vectores de movimiento de predicción candidatos pueden disponerse en orden de frecuencia de aparición y, a continuación, el vector de movimiento de predicción candidato que tiene una frecuencia de ocurrencia más alta puede inducirse como el vector de movimiento de predicción del bloque de predicción. En este momento, para reducir la complejidad en el cálculo de la frecuencia de aparición del vector de movimiento de predicción candidato, tal cálculo puede realizarse únicamente en N vectores de movimiento de predicción candidatos (N es un número natural).
[0175]En caso de que el tamaño de la lista de vectores de movimiento de predicción candidatos sea 2, como otra realización de producción del vector de movimiento de predicción, pueden usarse las siguientes Ecuaciones 1 y 2 para hacer una comparación en la suma de los valores absolutos de la dirección x y la dirección y de cada vector de movimiento de predicción candidato de modo que puede usarse el vector de movimiento de predicción candidato que tiene una suma menor de los valores absolutos de la dirección x y la dirección y como el vector de movimiento de predicción del bloque de predicción.
<Ecuación 1>
|mvp1.x|+ |mvp1.y|
<Ecuación 2>
|mvp2.x|+|mvp2.y|
[0176]En caso de que el tamaño de la lista de vectores de movimiento de predicción candidatos sea 2, como otra realización más de producción del vector de movimiento de predicción, se puede usar la siguiente Ecuación 3.
<Ecuación 3>
mvp.x=promedio(mvp1.x, mvp2.x)
mvp.y=promedio(mvp1.y, mvp2.y)
[0177]Haciendo referencia a la Ecuación 3, para extraer cada componente del vector de movimiento de predicción, el componente de dirección x del vector de movimiento de predicción puede establecerse como el valor promedio de los componentes de dirección x de dos vectores de movimiento de predicción candidatos, y el componente de dirección y del vector de movimiento de predicción puede establecerse como el valor promedio de los componentes de dirección y de los dos vectores de movimiento de predicción candidatos.
[0178]En caso de que el tamaño de la lista de vectores de movimiento de predicción candidatos sea 2, como otra realización aún más de producción del vector de movimiento de predicción, se puede usar la siguiente Ecuación 4.
<Ecuación 4>
mvp.x=mediana(mvp1.x, mvp2.x,0)
mvp.y=mediana(mvp1.y, mvp2.y,0)
[0179]Haciendo referencia a la Ecuación 4, para extraer cada componente del vector de movimiento de predicción, el componente de dirección x del vector de movimiento de predicción puede establecerse como el valor de mediana del vector cero y los componentes de dirección x de dos vectores de movimiento de predicción candidatos, y el componente de dirección y del vector de movimiento de predicción puede establecerse como el valor de mediana del vector cero y los componentes de dirección y de los dos vectores de movimiento de predicción candidatos.
[0180]En caso de que el tamaño de la lista de vectores de movimiento de predicción candidatos sea 2, como otra realización aún más de producción del vector de movimiento de predicción, se puede usar la siguiente Ecuación 5.
<Ecuación 5>
mvp.x=promedio(mvp1.x,mvp2.x,0)
mvp.y=promedio(mvp1.y,mvp2.y,0)
[0181]Haciendo referencia a la Ecuación 5, para extraer cada componente del vector de movimiento, el componente de dirección x del vector de movimiento de predicción puede establecerse como el valor promedio del vector cero y los componentes de dirección x de dos vectores de movimiento de predicción candidatos, y el componente de dirección y del vector de movimiento de predicción puede establecerse como el promedio del vector cero y los componentes de dirección y de los dos vectores de movimiento de predicción candidatos.
[0182]En caso de que el tamaño de la lista de vectores de movimiento de predicción candidatos sea 2, como otra realización aún más de producción del vector de movimiento de predicción, cuando los N vectores de movimiento usados para calcular la frecuencia de ocurrencia que se usa en el método estadístico descrito anteriormente no son los mismos que los dos vectores de movimiento de predicción candidatos en la lista de vectores de movimiento de predicción candidatos que están sometidos al cálculo de la frecuencia, basándose en la información de índice, la información de índice que se produce con más frecuencia puede usarse como el vector de movimiento de predicción del bloque de predicción. Por ejemplo, en caso de que el vector de movimiento de predicción candidato presente en el índice 0 en la lista de vectores de movimiento de predicción candidatos anterior se use como el vector de movimiento de predicción, el vector de movimiento de predicción candidato presente en el índice 0 puede usarse como el vector de movimiento de predicción.
[0183]En caso de que el tamaño de la lista de vectores de movimiento de predicción candidatos sea 3, dado que el número de vectores de movimiento de predicción candidatos presentes en la lista de vectores de movimiento de predicción candidatos es 3, uno de ellos puede determinarse como el vector de movimiento de predicción.
[0184]La siguiente Ecuación 6 representa un método para determinar el vector de movimiento de predicción.
<Ecuación 6>
mvp.x=mediana(mvp1.x,mvp2.x,mvp3.x)
mvp.y=mediana(mvp1.y, mvp2.y, mvp3.y)
[0185]Haciendo referencia a la Ecuación 6, para producir el vector de movimiento de predicción, entre los tres vectores de movimiento de predicción candidatos, el vector de movimiento de predicción candidato cuyo componente de dirección x corresponde al valor de mediana de los componentes de dirección x de los tres vectores de movimiento de predicción candidatos y el vector de movimiento de predicción candidato cuyo componente de dirección y corresponde al valor de mediana de los componentes de dirección y de los tres vectores de movimiento de predicción candidatos puede ser una base para producir el vector de movimiento de predicción del bloque objetivo de predicción.
[0186]En caso de que el tamaño de la lista de vectores de movimiento de predicción candidatos sea 3, como otra realización aún más de producción del vector de movimiento de predicción, se puede usar la siguiente Ecuación 7.
<Ecuación 7>
mvp.x=promedio(mvp1.x, mvp2.x,mvp3.x)
mvp.y=promedio(mvp1.y, mvp2.y, mvp3.y)
[0187]Haciendo referencia a la Ecuación 7, para producir el vector de movimiento de predicción, entre los tres vectores de movimiento de predicción candidatos, el vector de movimiento de predicción candidato que corresponde al valor promedio de los componentes de dirección x de los tres vectores de movimiento de predicción candidatos y el vector de movimiento de predicción candidato que corresponde al valor promedio de los componentes de dirección y de los tres vectores de movimiento de predicción candidatos pueden ser una base para producir el vector de movimiento de predicción del bloque objetivo de predicción.
[0188]Incluso cuando están presentes tres vectores de movimiento de predicción candidatos en la lista de vectores de movimiento de predicción candidatos, no se puede usar información de índice cuando se produce un vector de movimiento de predicción en la lista de vectores de movimiento de predicción candidatos.
[0189]La Figura 13 es un diagrama de flujo que ilustra un método para producir un vector de movimiento de predicción de acuerdo con otra realización de la presente invención.
[0190]se puede suponer que el número máximo de vectores de movimiento de predicción candidatos que pueden incluirse en la lista de vectores de movimiento de predicción candidatos es N, y el vector de movimiento de predicción candidato espacial se induce en primer lugar a partir del grupo de predicción candidato espacial y el vector de movimiento candidato temporal se induce a partir del bloque de predicción candidato temporal. De acuerdo con una realización de la presente invención, en caso de que el número (N) de los vectores de movimiento de predicción candidatos inducidos a partir del grupo de predicción candidato espacial sea el mismo que el número de vectores de movimiento de predicción candidatos que pueden incluirse en la lista de vectores de movimiento de predicción candidatos, se puede omitir un proceso de inducción del vector de movimiento de predicción candidato a partir del bloque de predicción candidato temporal y un proceso de inducción del vector de movimiento de predicción candidato adicional.
[0191]Es decir, de acuerdo con una realización de la presente invención, cuando ya se ha producido el vector de movimiento necesario para la lista de vectores de movimiento de predicción candidatos, no se realiza ningún proceso de inducción de vectores de movimiento de predicción candidatos innecesarios, reduciendo de esta manera complejidad de los procesos de codificación y decodificación.
[0192]Haciendo referencia a la Figura 13, se determina si el número de vectores de movimiento de predicción candidatos que pueden incluirse en la lista de vectores de movimiento de predicción candidatos es mayor que el número de vectores de movimiento de predicción candidatos espaciales producidos (etapa S1300).
[0193]El número de vectores de movimiento de predicción candidatos que pueden incluirse en la lista de vectores de movimiento de predicción candidatos puede estar restringido. Por ejemplo, suponiendo que pueden incluirse N vectores de movimiento de predicción en la lista de vectores de movimiento de predicción candidatos, si el número de vectores de movimiento de predicción candidatos espaciales producidos en el grupo de predicción candidato espacial es menor que N, el vector de movimiento de predicción temporal puede producirse a partir del bloque de predicción candidato temporal o pueden producirse vectores de movimiento de predicción adicionales. A diferencia de esto, suponiendo que pueden incluirse N vectores de movimiento de predicción en la lista de vectores de movimiento de predicción candidatos, si el número de vectores de movimiento de predicción candidatos espaciales producidos en el grupo de predicción candidato espacial es igual o mayor que N, la lista de vectores de movimiento de predicción candidatos puede producirse sin producir vectores de movimiento de predicción adicionales o sin producir el vector de movimiento de predicción temporal a partir del bloque de predicción candidato temporal (etapa S1320).
[0194]En caso de que el número de vectores de movimiento de predicción candidatos espaciales producidos en el grupo de predicción candidato espacial sea menor que N, se produce el vector de movimiento de predicción candidato temporal o vector de movimiento adicional (etapa S1310). En este momento, el vector de movimiento de predicción adicional puede ser el vector cero.
[0195]En caso de que el número de los vectores de movimiento de predicción candidatos que pueden incluirse en la lista de vectores de movimiento de predicción candidatos sea mayor que el número de los vectores de movimiento de predicción candidatos espaciales producidos a través de la etapa de determinación de si el número de los vectores de movimiento de predicción candidatos que pueden incluirse en la lista de vectores de movimiento de predicción candidatos es mayor que el número de los vectores de movimiento de predicción candidatos espaciales producidos, el vector de movimiento de predicción candidato producido a través de la etapa S1310 de producción del vector de movimiento de predicción temporal o vector de movimiento de predicción adicional puede incluirse en la lista de vectores de movimiento de predicción candidatos.
[0196]El vector de movimiento de predicción candidato espacial producido, el vector de movimiento de predicción candidato temporal o el vector de movimiento de predicción adicional se usan para producir la lista de vectores de movimiento de predicción candidatos (etapa S1320).
[0197]La Figura 14 es un diagrama de flujo que ilustra un método para producir un vector de movimiento de predicción candidato de acuerdo con una realización de la presente invención.
[0198]Haciendo referencia a la Figura 14, se produce el vector de movimiento de predicción candidato espacial (etapa S1400).
[0199]A partir del bloque codificado/decodificado (o bloque de predicción adyacente) colocado adyacente al bloque objetivo de predicción, se puede inducir información con respecto a una pluralidad de vectores de movimiento de predicción candidatos espaciales. La información con respecto a los vectores de movimiento de predicción candidatos espaciales puede incluir al menos uno de información de disponibilidad de vector de movimiento de predicción candidato espacial (availableFlagLXN) y vector de movimiento de predicción candidato espacial (mvLXN). Es decir, la unidad de información que incluye toda la información de disponibilidad de vector de movimiento de predicción candidato espacial y el vector de movimiento de predicción candidato espacial puede denominarse como la información relacionada con el vector de movimiento de predicción candidato espacial, o una de la información de disponibilidad de vector de movimiento de predicción candidato espacial y el vector de movimiento de predicción candidato espacial puede denominarse como la información relacionada con el vector de movimiento de predicción candidato espacial.
[0200]Por ejemplo, como se muestra en la Figura 3, a partir de B1 que es un bloque adyacente al extremo superior del bloque objetivo de predicción X, A1 que es un bloque adyacente al lado izquierdo del bloque objetivo de predicción, 80, que es un bloque colocado en la esquina superior y derecha del bloque objetivo de predicción, B2, que es un bloque colocado en la esquina superior e izquierda del bloque objetivo de predicción, y A0, que es un bloque colocado en la esquina inferior e izquierda del bloque objetivo de predicción, el vector de movimiento de predicción candidato espacial puede inducirse y puede determinarse como el vector de movimiento de predicción candidato espacial para el bloque objetivo de predicción. A partir de los bloques A0, A1, B0, B1 y B2 (en lo sucesivo en el presente documento, denominados "bloques de predicción candidatos espaciales"), se pueden producir hasta dos vectores de movimiento de predicción candidatos espaciales con respecto al bloque objetivo de codificación/decodificación. En lo sucesivo en el presente documento, los bloques A0, A1, B0, B1 y B2 se denominan bloques de predicción candidatos espaciales, mientras que los bloques A0 y A1 pueden clasificarse en un primer grupo de bloques de predicción candidato espacial, y los bloques B0, B1 y B2 pueden clasificarse en un segundo grupo de bloques de predicción candidato espacial.
[0201]Estos grupos de bloques de predicción candidatos espaciales son simplemente un ejemplo. El grupo de bloques de predicción candidato espacial puede crearse para consistir en los bloques ubicados en otras posiciones, que también está incluido en el alcance de la presente invención. En lo sucesivo en el presente documento, de acuerdo con una realización de la presente invención, para facilitar la descripción, se supone que los grupos de bloques de predicción candidatos espaciales consisten en los bloques ubicados en las posiciones descritas anteriormente.
[0202]en caso de que el vector de movimiento de predicción candidato espacial se induzca a partir del bloque de predicción candidato espacial, availableFlagLXY se establece como 1 y, de lo contrario, como 0. En 'availableFlagLXY', 'LX' representa a cuál de las listas de imágenes de referencia L0 y L1 hace referencia el bloque objetivo de predicción, y LX puede reemplazarse por L0 o L1. Además, en 'availableFlagLXY', 'Y' hace referencia a la posición en la que se induce el vector de movimiento de predicción candidato espacial. Como se muestra en la Figura 2, si el vector de movimiento de predicción candidato espacial se induce a partir el bloque colocado en A0 o A1, Y puede ser A, y si el vector de movimiento de predicción candidato espacial se induce a partir de los bloques colocados en B0, B1, o B2, Y puede ser B. En este momento, la lista de imágenes de referencia significa una lista que incluye imágenes de referencia usadas para inter predicción o compensación de movimiento. El tipo de la lista de imágenes de referencia puede incluir LC (Lista Combinada), L0 (Lista 0) o L1 (Lista 1). La imagen de referencia significa una imagen a la que hace referencia un bloque específico para inter predicción o compensación de movimiento.
[0203]Por ejemplo, puede inducirse un vector de movimiento de predicción candidato espacial a partir del bloque colocado en A0 o A1, y puede inducirse un vector de movimiento de predicción candidato espacial a partir del bloque colocado en B0, B1, o B2. En este momento, si el bloque objetivo de predicción hace referencia a la lista de imágenes de referencia L0, y se induce un vector de movimiento de predicción candidato espacial a partir del bloque colocado en A0 y se induce un vector de movimiento de predicción candidato espacial a partir del bloque colocado en B1, availableFlagL0A se establece como 1, y availableFlagL0B se establece como 1. Es decir, en caso de que el bloque objetivo de predicción haga referencia a la lista de imágenes de referencia LX, availableFlagLXY hace referencia a si existe un vector de movimiento de predicción candidato espacial inducido a partir de un bloque ubicado en una posición predeterminada.
[0204]Haciendo referencia de nuevo a la Figura 4, los vectores de movimiento de predicción espacial candidatos que pueden inducirse pueden clasificarse en cuatro vectores de movimiento como sigue:
(1) Primer vector de movimiento: en caso de que un bloque esté disponible en una posición predeterminada, el bloque correspondiente no está sometido a intra codificación, y la lista de imágenes de referencia y la imagen de referencia del bloque correspondiente son las mismas que la lista de imágenes de referencia y la imagen de referencia del bloque objetivo de codificación/decodificación, un vector de movimiento de predicción candidato inducido a partir del bloque correspondiente.
(2) segundo vector de movimiento: en caso de que un bloque esté disponible en una posición predeterminada, el bloque correspondiente no está sometido a intra codificación, y la lista de imágenes de referencia del bloque correspondiente es diferente de la lista de imágenes de referencia del bloque objetivo de codificación/decodificación mientras que el bloque correspondiente y el bloque objetivo de codificación/decodificación hacen referencia a la misma imagen de referencia, un vector de movimiento de predicción candidato inducido a partir del bloque correspondiente.
(3) tercer vector de movimiento: en caso de que un bloque esté disponible en una posición predeterminada, el bloque correspondiente no se somete a intra codificación, y la lista de imágenes de referencia del bloque correspondiente es la misma que la lista de imágenes de referencia del bloque objetivo de codificación/decodificación mientras que la imagen de referencia del bloque correspondiente es diferente de la imagen de referencia del bloque objetivo de codificación/decodificación, un vector de movimiento de predicción candidato producido al realizar el ajuste de escala en el vector de movimiento del bloque correspondiente.
(4) cuarto vector de movimiento: en caso de que un bloque esté disponible en una posición predeterminada, el bloque correspondiente no está sometido a intra codificación, y la lista de imágenes de referencia y la imagen de referencia del bloque correspondiente son diferentes de la lista de imágenes de referencia y la imagen de referencia del bloque objetivo de codificación/decodificación, un vector de movimiento de predicción candidato producido al realizar el ajuste de escala en el vector de movimiento del bloque correspondiente.
[0205]Puede determinarse en el siguiente orden si los cuatro vectores de movimiento de predicción candidatos espaciales clasificados anteriormente están disponibles en el bloque de predicción candidato espacial.
(1) Primer grupo de bloques de predicción candidato espacial
[0206]
1) se determina si existe el primer vector de movimiento o el segundo vector de movimiento en el bloque A0. 2) se determina si existe el primer vector de movimiento o el segundo vector de movimiento en el bloque A1. 3) se determina si existe el tercer vector de movimiento o el cuarto vector de movimiento en el bloque A0.
4) se determina si existe el tercer vector de movimiento o el cuarto vector de movimiento en el bloque A1.
[0207]Las etapas anteriores 1) a 4) pueden realizarse secuencialmente para determinar si existe un vector de movimiento de predicción candidato espacial que satisface la condición en el bloque correspondiente, y en caso de que exista un vector de movimiento de predicción candidato espacial que satisface la condición, se induce el vector de movimiento correspondiente mientras no se realiza la etapa. Por ejemplo, en caso de que exista un vector de movimiento de predicción candidato espacial que satisfaga la etapa 1), las etapas 2) a 4) pueden omitirse.
[0208]En caso de que el vector de movimiento de predicción candidato espacial que satisface la condición a través de las etapas 3) y 4) sea el tercer vector de movimiento o el cuarto vector de movimiento, el vector de movimiento de predicción candidato espacial puede producirse a través de ajuste de escala. En tal caso, la información de bandera que indica si realizar el ajuste de escala puede usarse para indicar que se ha usado el ajuste de escala. O, en caso de que el bloque A0 esté disponible y el bloque A0 no use el modo de intra predicción o en caso de que el bloque A1 esté disponible y el bloque A1 no use el modo de intra predicción, la bandera que indica si realizar el ajuste de escala se establece como 1, y en caso de que no se pueda producir un vector de movimiento de predicción candidato espacial a partir del primer grupo de bloques de predicción candidato espacial como si los bloques A0 y A1 no estuvieran disponibles o se usara intra predicción, la bandera que indica si realizar el ajuste de escala se establece como 0 de modo que se pueden producir dos vectores de movimiento de predicción candidatos espaciales a partir del segundo grupo de bloques de predicción candidato espacial. En lo sucesivo en el presente documento, de acuerdo con una realización de la presente invención, para facilitar la descripción, se supone que el primer vector de movimiento de predicción candidato espacial se produce a partir del primer grupo de bloques de predicción candidato espacial, y el segundo vector de movimiento de predicción candidato espacial se produce a partir del segundo grupo de bloques de predicción candidato espacial.
[0209]Lo que sigue es un orden en el que el vector de movimiento de predicción candidato espacial se produce a partir del segundo grupo de bloques de predicción candidato espacial:
(2) Segundo grupo de bloques de predicción candidato espacial
[0210]
1) se determina si existe el primer vector de movimiento o el segundo vector de movimiento en el bloque B0. 2) se determina si existe el primer vector de movimiento o el segundo vector de movimiento en el bloque B1. 3) se determina si existe el primer vector de movimiento o el segundo vector de movimiento en el bloque B2. 4) se determina si existe el tercer vector de movimiento o el cuarto vector de movimiento en el bloque B0.
5) se determina si existe el tercer vector de movimiento o el cuarto vector de movimiento en el bloque B1.
6) se determina si existe el tercer vector de movimiento o el cuarto vector de movimiento en el bloque B2.
[0211]Al igual que cuando se produce el primer vector de movimiento de predicción candidato espacial, las etapas 1) a 6) se realizan secuencialmente para determinar si existe un vector de movimiento de predicción candidato espacial que satisface la condición en el bloque correspondiente, y en caso de que exista un vector de movimiento de predicción candidato espacial que satisface la condición, se induce el vector de movimiento correspondiente y se pueden omitir las siguientes etapas.
[0212]Además, se pueden inducir hasta N vectores de movimiento de predicción candidatos espaciales. En este momento, N puede ser un número entero positivo, por ejemplo, 2.
[0213]se determina si los dos vectores de movimiento de predicción candidatos espaciales inducidos son diferentes entre sí (etapa S1410).
[0214]De acuerdo con una realización de la presente invención, basándose en la información relacionada con el vector de movimiento de predicción candidato espacial, puede determinarse la información relacionada con el vector de movimiento de predicción candidato temporal (por ejemplo, al menos uno de información de disponibilidad de vector de movimiento de predicción candidato temporal y vector de movimiento de predicción candidato temporal). Es decir, basándose en la información relacionada con el vector de movimiento de predicción candidato espacial inducida en la etapa S1400, puede determinarse si inducir el vector de movimiento de predicción candidato temporal.
[0215]Para determinar si los dos vectores de movimiento de predicción espacial candidatos inducidos son diferentes entre sí, se determina si se pueden inducir dos vectores de movimiento de predicción candidatos espacial, y para determinar si, en caso de que se induzcan dos vectores de movimiento de predicción candidatos espaciales, los vectores de movimiento de predicción candidatos espaciales inducidos son diferentes entre sí, se determina si availableFlagLXA y availableFlagLXB son ambos 1, y si mvLXA es igual que mvLXB o no. availableFlagLXA es una bandera que indica si el primer vector de movimiento de predicción candidato espacial puede producirse a partir del primer grupo de predicción candidato espacial, y availableFlagLXB es una bandera que indica si el segundo vector de movimiento de predicción candidato espacial puede producirse a partir del segundo grupo de predicción candidato espacial. Por ejemplo, en caso de que el primer vector de movimiento de predicción candidato espacial puede producirse a partir del primer grupo de predicción candidato espacial, availableFlagLXA puede establecerse como 1. mvLXA es el primer vector de movimiento de predicción candidato espacial y puede producirse cuando availableFlagLXA está disponible, y mvLXB es el segundo vector de movimiento de predicción candidato espacial y puede producirse cuando availableFlagLXB está disponible.
[0216]En lo sucesivo en el presente documento, de acuerdo con una realización de la presente invención, availableFlagLXA puede definirse como la primera información de disponibilidad de vector de movimiento de predicción candidato espacial, y availableFlagLXB puede definirse como la segunda información de disponibilidad de vector de movimiento de predicción candidato espacial. Además, mvLXA puede definirse como el primer vector de movimiento de predicción candidato espacial, y mvLXB puede definirse como el segundo vector de movimiento de predicción candidato espacial.
[0217]Si se supone que availableFlagLXA y availableFlagLXB son ambos 1, mvLXA y mvLXB no son iguales entre sí, y el número máximo de vectores de movimiento de predicción candidatos que pueden incluirse en la lista de vectores de movimiento de predicción candidatos es 2, la lista de vectores de movimiento de predicción candidatos puede consistir en los vectores de movimiento de predicción candidatos espaciales y, por lo tanto, no es necesario inducir ningún vector de movimiento de predicción candidato adicional. Por consiguiente, no se requiere inducir el vector de movimiento de predicción candidato temporal que es el vector de movimiento de predicción candidato inducido a partir del bloque coubicado (bloque de predicción candidato temporal). Por tanto, availableFlagLXCol, que es información de bandera que indica si el vector de movimiento de predicción candidato temporal está disponible, se establece como 0, y la lista de vectores de movimiento de predicción candidatos se produce únicamente a partir de los vectores de movimiento de predicción candidatos espaciales inducidos como en la etapa S1430 que se describirá a continuación. Es decir, dado que no se induce el vector de movimiento de predicción candidato temporal, la complejidad puede reducirse durante el proceso de inducción del vector de movimiento de predicción candidato.
[0218]Es decir, la información relacionada con el vector de movimiento de predicción candidato temporal puede determinarse basándose en la información relacionada con el vector de movimiento de predicción candidato espacial.
[0219]En caso de que availableFlagLXA y availableFlagLXB sean ambos 1, puede ser posible determinar selectivamente si mvLXA es igual que mvLXB. Por ejemplo, se pueden usar dos condiciones de determinación para realizar 1) etapa de determinación si availableFlagLXA y availableFlagLXB son ambos 1 y 2) etapa de, en caso de que availableFlagLXA y availableFlagLXB sean ambos 1, determinar si mvLXA es igual que mvLXB.
[0220]en caso de que no se induzcan dos vectores de movimiento de predicción candidatos espaciales o se induzcan dos vectores de movimiento de predicción candidatos que son iguales entre sí, el vector de movimiento de predicción candidato temporal se produce a partir del bloque coubicado (etapa S1420).
[0221]Es decir, en la etapa S1420, la información relacionada con el vector de movimiento de predicción candidato temporal puede determinarse basándose en la información relacionada con el vector de movimiento de predicción candidato espacial.
[0222]En caso de que ni availableFlagLXA ni availableFlagLXB sean 1 o en caso de que mvLXA sea igual que mvLXB, el vector de movimiento de predicción candidato temporal se produce a partir del bloque coubicado.
[0223]Si se supone que es necesario incluir dos vectores de movimiento de predicción candidatos en la lista de vectores de movimiento de predicción candidatos, en caso de que ni availableFlagLXA ni availableFlagLXB sean 1 o mvLXA sea igual que mvLXB, no se incluyen dos vectores de movimiento de predicción candidatos en la lista de vectores de movimiento de predicción candidatos y, por lo tanto, el vector de movimiento de predicción candidato temporal necesita producirse a partir del bloque coubicado.
[0224]Las siguientes tablas 2 y 3 representan si realizar el proceso de inducción del vector de movimiento de predicción candidato temporal dependiendo del resultado de inducción del vector de movimiento de predicción candidato espacial.
<Tabla 2>
<Tabla 3>
[0225]En referencia a las tablas 2 y 3, en caso de que se produzca el vector de movimiento de predicción candidato espacial, dependiendo de availableFlagLXY que indica si el vector de movimiento de predicción candidato espacial está disponible y dependiendo de si los vectores de movimiento de predicción candidatos espaciales inducidos son iguales, puede haber cuatro etapas de inducción del vector de movimiento de predicción candidato temporal. En lo sucesivo en el presente documento, con respecto a los cuatro casos dependiendo de availableFlagLXY del vector de movimiento de predicción candidato espacial, se describe para inducir el vector de movimiento de predicción candidato temporal.
(1) Caso en el que se induce un vector de movimiento de predicción candidato espacial. Esto es cuando availableFlagLXA es 1 y availableFlagLXB es 0 o cuando availableFlagLXA es 0 y availableFlagLXB es 1. En el primer caso, únicamente se induce un vector de movimiento de predicción candidato espacial y, por lo tanto, no puede ser posible determinar si los vectores de movimiento de predicción candidatos espaciales son iguales. En caso de que el número de vectores de movimiento de predicción candidatos que pueden incluirse en la lista de vectores de movimiento de predicción candidatos sea 2, la etapa de inducción del vector de movimiento de predicción candidato temporal se realiza para producir el vector de movimiento de predicción candidato adicional. Si se induce el vector de movimiento de predicción candidato temporal, availableFlagLXCol se establece como 1 y, de lo contrario, availableFlagLXCol se establece como 0.
(2) Caso en el que se inducen dos vectores de movimiento de predicción candidatos. Esto es cuando availableFlagLXA y availableFlagLXB son 1. Si los vectores de movimiento de predicción espacial candidatos inducidos tienen el mismo valor, se elimina uno de los mismos vectores de movimiento de predicción candidatos espaciales. Dado que queda un vector de movimiento de predicción candidato, en caso de que el número de vectores de movimiento de predicción candidatos que pueden incluirse en la lista de vectores de movimiento de predicción candidatos sea 2, la etapa de inducción del vector de movimiento de predicción candidato temporal se realiza para producir el vector de movimiento de predicción candidato adicional. En caso de que se induzca el vector de movimiento de predicción candidato temporal, availableFlagLXCol se establece como 1, y a menos que se induzca el vector de movimiento de predicción candidato temporal, availableFlagLXCol puede establecerse como 0.
(3) Caso en el que se inducen dos vectores de movimiento de predicción candidatos espaciales. Esto es cuando availableFlagLXA y availableFlagLXB son 1. Si los vectores de movimiento de predicción espacial candidatos inducidos no tienen el mismo valor, en caso de que el número de vectores de movimiento de predicción candidatos que pueden incluirse en la lista de vectores de movimiento de predicción candidatos sea 2, la etapa de inducción del vector de movimiento de predicción candidato temporal no necesita realizarse para producir el vector de movimiento de predicción candidato adicional, y availableFlagLXCol que indica la disponibilidad del vector de movimiento de predicción candidato temporal se establece como 0. En este momento, si availableFlagLXCol, que es información de disponibilidad del vector de movimiento de predicción candidato temporal, es un valor predeterminado, '0', a continuación, esto significa que no se induce ningún vector de movimiento de predicción candidato temporal o que el vector de movimiento de predicción candidato temporal no está disponible.
(4) Caso en el que no se inducen dos vectores de movimiento de predicción candidatos espaciales. Esto es cuando availableFlagLXA y availableFlagLXB son 0. En tal caso, el proceso de inducción del vector de movimiento de predicción candidato temporal se realiza para producir el vector de movimiento de predicción candidato temporal.
[0226]Es decir, en caso de que el número máximo de vectores de movimiento de predicción candidatos que pueden incluirse en la lista de vectores de movimiento de predicción candidatos sea 2, dos tipos de información de disponibilidad de vector de movimiento de predicción candidato espacial (availableFlagLXA, availableFlagLXB) son ambas 1, y los dos vectores de movimiento de predicción espacial candidatos producidos no son iguales entre sí, no se produce el vector de movimiento de predicción candidato temporal.
[0227]En la realización descrita anteriormente de la presente invención, como la información relacionada con el vector de movimiento de predicción candidato espacial, la información de disponibilidad de vector de movimiento de predicción candidato espacial y el vector de movimiento de predicción candidato espacial se usan todos para inducir la información relacionada con el vector de movimiento de predicción candidato temporal. Sin embargo, basándose en al menos una de la información de disponibilidad de vector de movimiento de predicción candidato espacial y el vector de movimiento de predicción candidato espacial, puede usarse para inducir la información relacionada con el vector de movimiento de predicción candidato temporal como la información relacionada con el vector de movimiento de predicción candidato espacial.
[0228]Por ejemplo, en caso de que se induzcan los vectores de movimiento de predicción candidatos espaciales, y los dos vectores de movimiento de predicción candidatos espaciales inducidos tengan valores diferentes, la información relacionada con el vector de movimiento de predicción candidato temporal puede inducirse sin determinar qué valor tiene la información de disponibilidad de vector de movimiento de predicción candidato espacial.
[0229]En lo sucesivo en el presente documento, se describe un método para producir un vector de movimiento de predicción candidato temporal.
[0230]La Figura 15 es una vista conceptual que ilustra un método para producir un vector de movimiento de predicción candidato temporal de acuerdo con una realización de la presente invención.
[0231]Haciendo referencia a la Figura 15, puede producirse un vector de movimiento de predicción candidato temporal a partir de un bloque coubicado 1520 presente en una imagen coubicada de un bloque objetivo de predicción 1500.
[0232]en caso de que una posición de punto en un extremo izquierdo y superior del bloque objetivo de predicción sea (xP, yP), la anchura del bloque objetivo de predicción es nPSW, y la altura del bloque objetivo de predicción es nPSH, un primer bloque coubicado 1540 puede ser un bloque que incluye un punto (xP+nPSW, yP+nPSH) colocado en la imagen coubicada, y un segundo bloque coubicado 1560 puede ser un bloque que incluye un punto (xP+(nPSW>>1), yP+(nPSH>>1)) colocado en la imagen coubicada. En caso de que el vector de movimiento de predicción candidato temporal no se induzca a partir del primer bloque coubicado (por ejemplo, en caso de que el primer bloque coubicado se someta a codificación de intra predicción), el vector de movimiento de predicción candidato temporal puede inducirse a partir del segundo bloque coubicado. El número de los vectores de movimiento de predicción candidatos temporales producidos puede restringirse. Por ejemplo, en caso de que únicamente esté limitado a producirse como máximo un vector de movimiento de predicción candidato temporal, si el vector de movimiento de predicción candidato temporal se produce a partir del primer bloque coubicado, no se puede producir ningún vector de movimiento de predicción candidato temporal a partir del segundo bloque coubicado. En el caso del vector de movimiento de predicción candidato temporal, el valor de vector de movimiento de predicción candidato temporal puede escalarse basándose en una relación de una distancia entre la imagen que incluye el bloque objetivo de predicción y la imagen de referencia del bloque objetivo de predicción y una distancia entre la imagen que incluye el bloque coubicado y la imagen de referencia del bloque coubicado.
[0233]Dependiendo de si se ha inducido el vector de movimiento de predicción candidato temporal, se determina availableFlagLXCol. En 'availableFlagLXCol', 'LX' hace referencia a cuál de las listas de imágenes de referencia L0 y L1 ha hecho referencia el bloque objetivo de codificación/decodificación. LX puede sustituirse por L0 o L1. En caso de que se induzca el vector de movimiento de predicción candidato temporal, availableFlagLXCol se establece como 1, y en caso de que no se induzca el vector de movimiento de predicción candidato temporal, availableFlagLXCol se establece como 0.
[0234]Por ejemplo, si el bloque objetivo de codificación/decodificación hace referencia a la lista de imágenes de referencia L0 y se induce el vector de movimiento de predicción candidato temporal a partir del bloque colocado en H de la Figura 15, availableFlagL0Col se establece como 1, y si no se induce ningún vector de movimiento de predicción candidato temporal, availableFlagL0Col se establece como 0.
[0235]El vector de movimiento de predicción candidato inducido se añade a la lista de vectores de movimiento de predicción candidatos (etapa S1430).
[0236]El vector de movimiento de predicción candidato espacial inducido y el vector de movimiento de predicción candidato temporal se añaden a la lista de vectores de movimiento de predicción candidatos en orden de ser inducidos. Por ejemplo, la lista de vectores de movimiento de predicción candidatos puede añadir el vector de movimiento de predicción candidato dependiendo de los valores de availableFlagLXA, availableFlagLXB y availableFlagLXCol. Por ejemplo, en caso de que availableFlagLXA sea 1, availableFlagLXB es 0, y availableFlagLXCol es 1, un vector de movimiento de predicción candidato espacial mvLXA y un vector de movimiento de predicción candidato temporal mvLXCol se añaden a la lista de vectores de movimiento de predicción candidatos. Como otro ejemplo, en caso de que availableFlagLXA sea 1, availableFlagLXB es 1, y availableFlagLXCol es 0, se añaden dos vectores de movimiento de predicción candidatos espaciales mvLXA y mvLXB a la lista de vectores de movimiento de predicción candidatos.
[0237]Como otro ejemplo más, en caso de que se induzca el vector de movimiento de predicción candidato espacial o el vector de movimiento de predicción candidato temporal sin determinar la información de disponibilidad de vector de movimiento de predicción candidato espacial o la información de disponibilidad de vector de movimiento de predicción candidato temporal, el vector puede añadirse inmediatamente a la lista de vectores de movimiento de predicción candidatos.
[0238]El tamaño de la lista de vectores de movimiento de predicción candidatos puede limitarse a un tamaño predeterminado. Por ejemplo, el tamaño predeterminado puede ser 3. El primer vector de movimiento de predicción candidato añadido a la lista de vectores de movimiento de predicción candidatos puede tener un valor de índice de 0, y el último vector de movimiento de predicción candidato añadido a la lista de vectores de movimiento de predicción candidatos puede tener un valor de índice de 2.
[0239]Es decir, se determina si el número de vectores de movimiento de predicción candidatos incluidos en la lista de vectores de movimiento de predicción candidatos es menor que el número máximo de los vectores de movimiento de predicción candidatos que pueden incluirse en la lista de vectores de movimiento de predicción candidatos. Basándose en un resultado de la determinación, el vector de movimiento de predicción candidato puede añadirse o eliminarse de la lista de vectores de movimiento de predicción candidatos.
[0240]Por ejemplo, en caso de que el número de los vectores de movimiento de predicción candidatos incluidos en la lista de vectores de movimiento de predicción candidatos sea menor que el número máximo de los vectores de movimiento de predicción candidatos, se puede añadir un vector cero a la lista de vectores de movimiento de predicción candidatos. Además, en caso de que el número de los vectores de movimiento de predicción candidatos incluidos en la lista de vectores de movimiento de predicción candidatos sea igual o mayor que el número máximo de los vectores de movimiento de predicción candidatos, algunos de los vectores de movimiento de predicción candidatos pueden eliminarse de la lista de vectores de movimiento de predicción candidatos de modo que pueden incluirse tantos vectores de movimiento de predicción candidatos como el número máximo en la lista de vectores de movimiento de predicción candidatos.
[0241]La Figura 16 es una vista conceptual que ilustra un método para producir una lista de vectores de movimiento de predicción candidatos de acuerdo con una realización de la presente invención.
[0242]Haciendo referencia a la Figura 16, si se induce un vector de movimiento de predicción candidato espacial sin ajuste de escala (1, 0) a partir del bloque A1, se induce un vector de movimiento de predicción candidato espacial ajustado a escala (-2, 0) a partir del bloque B1, y se induce un vector de movimiento de predicción candidato temporal ajustado a escala (4, 1) a partir del bloque H, los vectores de movimiento de predicción candidatos inducidos se añaden a la lista de vectores de movimiento de predicción candidatos en orden de ser inducidos como en la tabla de la izquierda. En este momento, el valor de índice del vector de movimiento de predicción candidato inducido a partir del bloque colocado en A1 puede ser 0, el valor de índice del vector de movimiento de predicción candidato inducido a partir del bloque colocado en B1 puede ser 1, y el valor de índice del vector de movimiento de predicción candidato inducido a partir del bloque colocado en H puede ser 2.
[0243]Si, como en el tercer caso de la tabla 3, el tamaño de la lista de vectores de movimiento de predicción candidatos es 2, el número de los vectores de movimiento de predicción candidatos espaciales inducidos es 2, y los dos vectores de movimiento de predicción candidatos espaciales son diferentes entre sí, dado que el tamaño de la lista de vectores de movimiento de predicción candidatos sea 2, sin la necesidad de inducir por separado el vector de movimiento de predicción candidato temporal, los índices se asignan secuencialmente a los vectores de movimiento de predicción candidatos espaciales inducidos, configurando de esta manera la lista de vectores de movimiento de predicción candidatos.
[0244]Los mismos vectores de movimiento de predicción candidatos se eliminan para reconfigurar de esta manera la lista de vectores de movimiento de predicción candidatos (etapa S1440).
[0245]Se determina si existen los mismos vectores de movimiento de predicción candidatos entre los vectores de movimiento de predicción candidatos espaciales y los vectores de movimiento de predicción candidatos temporales incluidos en la lista de vectores de movimiento de predicción candidatos, y si existe alguno, se elimina uno de los mismos vectores de movimiento de predicción candidatos, reconfigurando de esta manera la lista de vectores de movimiento de predicción candidatos.
[0246]Por ejemplo, en caso de que el primer vector de movimiento de predicción candidato espacial y el segundo vector de movimiento de predicción candidato espacial, que constituyen la lista de vectores de movimiento de predicción candidatos, sean iguales entre sí, el segundo vector de movimiento de predicción candidato espacial puede eliminarse de la lista de vectores de movimiento de predicción candidatos.
[0247]La Figura 17 es una vista conceptual que ilustra la eliminación del mismo vector de movimiento de predicción candidato de la lista de vectores de movimiento de predicción candidatos de acuerdo con una realización de la presente invención.
[0248]Haciendo referencia a la Figura 17, en caso de que los vectores de movimiento de predicción candidatos cuyo índice sea 0 y 1, que están incluidos en la lista de vectores de movimiento de predicción candidatos, sean iguales entre sí, se deja el vector de movimiento de predicción candidato que tiene el valor de índice más pequeño mientras que puede eliminarse el otro vector de movimiento de predicción candidato que tiene el mismo valor. El valor de índice del vector de movimiento de predicción candidato, que es mayor que el valor de índice del vector de movimiento de predicción candidato eliminado, se cambia por el número de los vectores de movimiento de predicción candidatos eliminados.
[0249]Se añade y elimina un vector de movimiento de predicción candidato, reajustando de esta manera el tamaño de la lista de vectores de movimiento de predicción candidatos (etapa S1450).
[0250]Añadiendo o eliminando un vector de movimiento de predicción candidato a/de la lista de vectores de movimiento de predicción candidatos, se puede ajustar el tamaño de la lista de vectores de movimiento de predicción candidatos. En el caso de que P sea el número de vectores de movimiento de predicción candidatos incluidos en la lista de vectores de movimiento de predicción candidatos, y Q sea el tamaño de la lista de vectores de movimiento de predicción candidatos final, si P es menor que Q, se puede añadir un vector de movimiento de predicción candidato a la lista de vectores de movimiento de predicción candidatos, mientras que, si P es mayor que Q, puede eliminarse un vector de movimiento de predicción candidato de la lista de vectores de movimiento de predicción candidatos para que P sea igual a Q.
[0251]La Figura 18 es una vista conceptual que ilustra un método de ajuste del tamaño de la lista de vectores de movimiento de predicción candidatos añadiendo o eliminando el vector de movimiento de predicción candidato de acuerdo con una realización de la presente invención.
[0252]Por ejemplo, suponiendo que el tamaño de la lista de vectores de movimiento de predicción candidatos sea 2. Haciendo referencia a la parte superior de la Figura 18, dado que un vector de movimiento de predicción candidato está incluido en la lista de vectores de movimiento de predicción candidatos, se añade un vector cero (0, 0) a la lista de vectores de movimiento de predicción candidatos, configurando de esta manera la lista de vectores de movimiento de predicción candidatos.
[0253]Haciendo referencia a la parte inferior de la Figura 18, dado que se incluyen tres vectores de movimiento de predicción candidatos en la lista de vectores de movimiento de predicción candidatos, se puede eliminar un vector de movimiento de predicción candidato que tiene el valor de índice más grande en la lista de vectores de movimiento de predicción candidatos, configurando de esta manera la lista de vectores de movimiento de predicción candidatos.
[0254]Los vectores de movimiento de predicción finales se determinan a partir de la lista de vectores de movimiento de predicción candidatos (etapa S1460).
[0255]Basándose en la lista de vectores de movimiento de predicción candidatos producida a través de la etapa S1400 a la etapa S1460 y la información de índice del vector de movimiento de predicción final transmitida desde el codificador, se determina el vector de movimiento de predicción final que se usará para la compensación de movimiento.
[0256]La Figura 19 es una vista conceptual que ilustra la determinación del vector de movimiento de predicción final en la lista de vectores de movimiento de predicción candidatos de acuerdo con una realización de la presente invención.
[0257]Haciendo referencia a la Figura 19, en caso de que el codificador transmita información que indica que se ha usado el vector de movimiento de predicción candidato correspondiente al índice 1 como el vector de movimiento de predicción final, puede determinarse el vector de movimiento de predicción candidato correspondiente al índice 1, por ejemplo, (-3, 6), en la lista de vectores de movimiento de predicción candidatos producida como el vector de movimiento de predicción final.
[0258]La Figura 20 es un diagrama de flujo que ilustra un método para producir una lista de vectores de movimiento de predicción candidatos de acuerdo con una realización de la presente invención.
[0259]La Figura 20 resume los métodos de producción de la lista de vectores de movimiento de predicción candidatos sin inducir el vector de movimiento de predicción candidato temporal en caso de que los vectores de movimiento de predicción candidatos espaciales inducidos sean diferentes entre sí y con la inducción del vector de movimiento de predicción candidato temporal en caso de que los vectores de movimiento de predicción candidatos espaciales sean iguales entre sí como se describe en el caso anterior en relación con las Figuras 14 a 19.
1) si tanto la primera información de disponibilidad de vector de movimiento de predicción candidato espacial que indica si existe un vector de movimiento de predicción candidato espacial en el primer grupo de bloques de predicción candidato espacial (A0, A1) y la segunda información de disponibilidad de vector de movimiento de predicción candidato espacial que indica si existe un vector de movimiento de predicción candidato espacial en el segundo grupo de bloques de predicción candidato espacial (B0, B1, B2) están disponibles; y
2) si se determina que el primer vector de movimiento de predicción candidato espacial inducido a partir del primer grupo de predicción candidato espacial es diferente del segundo vector de movimiento de predicción candidato espacial inducido a partir del segundo grupo de predicción candidato espacial (etapa S2000).
[0260]Idéntica a la etapa S1410 descrita anteriormente, la etapa S2000 puede inducir los vectores de movimiento de predicción candidatos espaciales basándose en la información de disponibilidad y puede determinar si dos vectores de movimiento de predicción candidatos espaciales inducidos son diferentes entre sí.
[0261]La información de disponibilidad del primer vector de movimiento de predicción candidato espacial puede producirse a través de las siguientes etapas.
[0262]Del primer vector de movimiento al cuarto vector de movimiento se definen como se ha descrito anteriormente en relación con la Figura 4.
(1) Etapa de determinación de si existe el primer vector de movimiento en el primer bloque A0 o el segundo bloque A1 incluido en el primer grupo de bloques de predicción candidato espacial,
(2) Etapa de determinación de si existe el segundo vector de movimiento en el primer bloque A0 y el segundo bloque A1 del primer grupo de bloques de predicción candidato espacial en caso de que no exista un primer vector de movimiento en el primer bloque A0 o el segundo bloque A1 incluido en el primer grupo de bloques de predicción candidato espacial,
(3) Etapa de determinación de si existe el tercer vector de movimiento en el primer bloque A0 y el segundo bloque A1 del primer grupo de bloques de predicción candidato espacial en caso de que el primer vector de movimiento o el segundo vector de movimiento no estén disponibles en el primer bloque A0 o el segundo bloque A1 incluido en el primer grupo de bloques de predicción candidato espacial,
(4) Etapa de determinación de si existe el cuarto vector de movimiento en el primer bloque A0 y el segundo bloque A1 del primer grupo de bloques de predicción candidato espacial en caso de que el primer vector de movimiento, el segundo vector de movimiento o el tercer vector de movimiento no esté disponible en el primer bloque AD o el segundo bloque A1 incluido en el primer grupo de bloques de predicción candidato espacial.
[0263]De acuerdo con una realización de la presente invención, en caso de que el primer bloque A0 y el segundo bloque A1 incluidos en el primer grupo de bloques de predicción candidato espacial no estén disponibles o en caso de que el primer bloque A0 y el segundo bloque A1 incluidos en el primer grupo de bloques de predicción candidato espacial sean bloques que han experimentado intra predicción, se puede usar información de bandera predeterminada para marcar tal información. De acuerdo con una realización de la presente invención, en caso de que el primer bloque AD y el segundo bloque A1 incluidos en el primer grupo de bloques de predicción candidato espacial no estén disponibles o en caso de que el primer bloque A0 y el segundo bloque A1 incluidos en el primer grupo de bloques de predicción candidato espacial sean bloques que han experimentado intra predicción, y en caso de que el primer vector de movimiento o el segundo vector de movimiento estén disponibles en el tercer bloque, el cuarto bloque o quinto bloque en el segundo grupo de bloques de predicción candidato espacial, puede usarse el primer vector de movimiento o el segundo vector de movimiento inducido a partir del segundo grupo de bloques de predicción candidato espacial como el primer vector de movimiento de predicción candidato espacial.
[0264]La información de disponibilidad del segundo vector de movimiento de predicción candidato espacial puede producirse a través de las siguientes etapas.
(1) Etapa de determinación de si existe el primer vector de movimiento en el tercer bloque B0, el cuarto bloque B1, o el quinto bloque B2 incluidos en el segundo grupo de bloques de predicción candidato espacial,
(2) Etapa de determinación de si existe el segundo vector de movimiento en el tercer bloque 80, el cuarto bloque B1, o el quinto bloque B2 del segundo grupo de bloques de predicción candidato espacial en caso de que no exista un primer vector de movimiento en el tercer bloque B0, el cuarto bloque B1, o el quinto bloque B2 incluidos en el segundo grupo de bloques de predicción candidato espacial,
(3) Etapa de determinación de si existe el tercer vector de movimiento en el tercer bloque 80, el cuarto bloque B1, o el quinto bloque B2 del segundo grupo de bloques de predicción candidato espacial en caso de que el primer vector de movimiento o el segundo vector de movimiento no estén disponibles en el tercer bloque 80, el cuarto bloque B1, o el quinto bloque B2 incluidos en el segundo grupo de bloques de predicción candidato espacial, (4) Etapa de determinación de si existe el cuarto vector de movimiento en el tercer bloque 80, el cuarto bloque B1, o el quinto bloque B2 del segundo grupo de bloques de predicción candidato espacial en el caso del primer vector de movimiento, el segundo vector de movimiento o el tercer vector de movimiento no está disponible en el tercer bloque 60, el cuarto bloque B1, o el quinto bloque B2 incluido en el segundo grupo de bloques de predicción candidato espacial.
[0265]Si no se satisfacen las condiciones divulgadas en la etapa S2000, se induce el vector de movimiento de predicción candidato temporal (etapa S2010).
[0266]Si se satisfacen las condiciones divulgadas en la etapa S2000, a continuación, están disponibles dos vectores de movimiento de predicción candidatos espaciales diferentes. Sin embargo, si no se satisfacen las condiciones divulgadas en la etapa S2000, uno o menos vectores de movimiento de predicción candidatos espaciales están disponibles o los mismos dos vectores de movimiento de predicción candidatos espaciales están disponibles. Por consiguiente, en caso de que no se satisfagan las condiciones divulgadas en la etapa S2000, se puede inducir el vector de movimiento de predicción candidato temporal.
[0267]En caso de que se cumplan las condiciones divulgadas en la etapa S2000, la información de disponibilidad de vector de movimiento de predicción candidato temporal se establece como 0 (etapa S2020).
[0268]En caso de que se cumplan las condiciones divulgadas en la etapa S2000, sin realizar la operación de producción del vector de movimiento de predicción candidato temporal, la información de disponibilidad de vector de movimiento de predicción candidato temporal, que indica si el vector de movimiento de predicción candidato temporal está disponible, se establece como 0.
[0269]Se produce la lista de vectores de movimiento de predicción candidatos (etapa S2030).
[0270]La lista de vectores de movimiento de predicción candidatos puede indexarse en el siguiente orden y puede producirse.
1) en caso de que esté disponible el primer vector de movimiento de predicción candidato espacial, el primer vector de movimiento de predicción candidato espacial
2) En caso de que esté disponible el segundo vector de movimiento de predicción candidato espacial, el segundo vector de movimiento de predicción candidato espacial.
3) en caso de que esté disponible el vector de movimiento de predicción candidato temporal, el vector de movimiento de predicción candidato temporal.
[0271]Se elimina el mismo vector de movimiento de predicción candidato espacial (etapa S2040).
[0272]En caso de que el primer vector de movimiento de predicción candidato espacial sea el mismo que el segundo vector de movimiento de predicción candidato espacial, el segundo vector de movimiento de predicción candidato espacial puede eliminarse de la lista de vectores de movimiento de predicción candidatos.
[0273]Algunos vectores de movimiento de predicción candidatos espaciales pueden añadirse o eliminarse a/de la lista de vectores de movimiento de predicción candidatos, ajustando de esta manera el tamaño de la lista de vectores de movimiento de predicción candidatos (etapa S2050).
[0274]En caso de que el número de los vectores de movimiento de predicción candidatos incluidos en la lista de vectores de movimiento de predicción candidatos sea 2 o menor, puede añadirse un vector adicional, tal como un vector cero, a la lista de vectores de movimiento de predicción candidatos, y en caso de que el número de vectores de movimiento de predicción candidatos incluidos en la lista de vectores de movimiento de predicción candidatos sea mayor que 2, los vectores de movimiento de predicción candidatos, excepto los vectores de movimiento de predicción candidatos correspondientes al índice 0 y al índice 1, pueden eliminarse de la lista de vectores de movimiento de predicción candidatos.
[0275]El vector de movimiento de predicción final se determina a partir de la lista de vectores de movimiento de predicción candidatos (etapa S2060).
[0276]Uno de los vectores de movimiento de predicción candidatos incluidos en la lista de vectores de movimiento de predicción candidatos puede usarse como el vector de movimiento de predicción final que es el vector de movimiento previsto del bloque objetivo de predicción.
[0277]Los métodos de codificación de vídeo y de decodificación de vídeo descritos anteriormente pueden implementarse por cada uno de los componentes que constituyen cada uno del codificador de vídeo y el decodificador de vídeo, que se describen anteriormente en relación con las Figuras 1 y 2.
[0278]Aunque se han descrito las realizaciones de la presente invención, la invención se expone en las reivindicaciones adjuntas.

Claims (9)

REIVINDICACIONES
1. Un método para realizar una derivación de un vector de movimiento de predicción candidato temporal selectivamente para decodificación de vídeo que comprende:
realizar la derivación del vector de movimiento de predicción candidato temporal selectivamente basándose en información de una pluralidad de vectores de movimiento de predicción candidatos espaciales,
en donde la pluralidad de vectores de movimiento de predicción candidatos espaciales son un primer vector de movimiento de predicción candidato espacial y un segundo vector de movimiento de predicción candidato espacial, y
en donde se genera una lista de vectores de movimiento de predicción candidatos basándose en el primer vector de movimiento de predicción candidato espacial, el segundo vector de movimiento de predicción candidato espacial y el vector de movimiento de predicción candidato temporal, y como máximo uno del primer vector de movimiento de predicción candidato espacial y el segundo vector de movimiento de predicción candidato espacial se añade a la lista de vectores de movimiento de predicción candidatos en caso de que se realice la derivación del vector de movimiento de predicción candidato temporal,
caracterizado por que:
realizar la derivación del vector de movimiento de predicción candidato temporal selectivamente comprende que el vector de movimiento de predicción candidato temporal se derive y se añada a la lista de vectores de movimiento de predicción candidatos únicamente en un caso en el que el vector de movimiento de predicción candidato temporal esté disponible y al menos uno de la pluralidad de vectores de movimiento de predicción candidatos espaciales no esté disponible o el primer vector de movimiento de predicción candidato espacial sea igual al segundo vector de movimiento de predicción candidato espacial,
la información de disponibilidad para el vector de movimiento de predicción candidato temporal indica si está disponible o no el vector de movimiento de predicción candidato temporal,
la información de disponibilidad se establece para indicar que el vector de movimiento de predicción candidato temporal no está disponible en un caso en el que estén disponibles y no sean iguales la pluralidad de vectores de movimiento de predicción candidatos espaciales,
el primer vector de movimiento de predicción candidato espacial es un vector de movimiento para un primer bloque, y
el segundo vector de movimiento de predicción candidato espacial es un vector de movimiento para un segundo bloque.
2. El método de la reivindicación 1, en donde
la lista de vectores de movimiento de predicción candidatos se genera basándose en la pluralidad de vectores de movimiento de predicción candidatos espaciales y el vector de movimiento de predicción candidato temporal, y el número de vectores de movimiento de predicción candidatos en la lista de vectores de movimiento de predicción candidatos determinados basándose en la pluralidad de vectores de movimiento de predicción candidatos espaciales es menor que un número predeterminado en un caso en el que se realiza la derivación del vector de movimiento de predicción candidato temporal.
3. El método de la reivindicación 1, en donde, además:
el vector de movimiento de predicción candidato temporal no se elimina de la lista de vectores de movimiento de predicción candidatos.
4. El método de la reivindicación 1, en donde
no se deriva ningún vector de movimiento de predicción candidato espacial después de la derivación del vector de movimiento de predicción candidato temporal.
5. Un método para realizar una derivación de un vector de movimiento de predicción candidato temporal selectivamente para codificación de vídeo que comprende:
realizar la derivación del vector de movimiento de predicción candidato temporal selectivamente basándose en información de una pluralidad de vectores de movimiento de predicción candidatos espaciales,
en donde la pluralidad de vectores de movimiento de predicción candidatos espaciales son un primer vector de movimiento de predicción candidato espacial y un segundo vector de movimiento de predicción candidato espacial, y
en donde se genera una lista de vectores de movimiento de predicción candidatos basándose en el primer vector de movimiento de predicción candidato espacial, el segundo vector de movimiento de predicción candidato espacial y el vector de movimiento de predicción candidato temporal, y como máximo uno del primer vector de movimiento de predicción candidato espacial y el segundo vector de movimiento de predicción candidato espacial se añade a la lista de vectores de movimiento de predicción candidatos en caso de que se realice la derivación del vector de movimiento de predicción candidato temporal,
caracterizado por que:
realizar la derivación del vector de movimiento de predicción candidato temporal selectivamente comprende que el vector de movimiento de predicción candidato temporal se derive y se añada a la lista de vectores de movimiento de predicción candidatos únicamente en un caso en el que el vector de movimiento de predicción candidato temporal esté disponible y al menos uno de la pluralidad de vectores de movimiento de predicción candidatos espaciales no esté disponible o el primer vector de movimiento de predicción candidato espacial sea igual al segundo vector de movimiento de predicción candidato espacial,
la información de disponibilidad para el vector de movimiento de predicción candidato temporal indica si está disponible o no el vector de movimiento de predicción candidato temporal,
la información de disponibilidad se establece para indicar que el vector de movimiento de predicción candidato temporal no está disponible en un caso en el que estén disponibles y no sean iguales la pluralidad de vectores de movimiento de predicción candidatos espaciales,
el primer vector de movimiento de predicción candidato espacial es un vector de movimiento para un primer bloque, y
el segundo vector de movimiento de predicción candidato espacial es un vector de movimiento para un segundo bloque.
6. El método de la reivindicación 5, en donde
la lista de vectores de movimiento de predicción candidatos se genera basándose en la pluralidad de vectores de movimiento de predicción candidatos espaciales y el vector de movimiento de predicción candidato temporal, y el número de vectores de movimiento de predicción candidatos en la lista de vectores de movimiento de predicción candidatos determinados basándose en la pluralidad de vectores de movimiento de predicción candidatos espaciales es menor que un número predeterminado en un caso en el que se realiza la derivación del vector de movimiento de predicción candidato temporal.
7. El método de la reivindicación 5, en donde, además:
el vector de movimiento de predicción candidato temporal no se elimina de la lista de vectores de movimiento de predicción candidatos.
8. El método de la reivindicación 5, en donde
no se deriva ningún vector de movimiento de predicción candidato espacial después de la derivación del vector de movimiento de predicción candidato temporal.
9. Un medio legible por ordenador que almacena un código ejecutable por ordenador para datos de vídeo comprimidos, el código ejecutable por ordenador, cuando se ejecuta por un procesador de un aparato de decodificación de vídeo, haciendo que el procesador realice las siguientes etapas:
realizar una derivación de un vector de movimiento de predicción candidato temporal selectivamente basándose en información de una pluralidad de vectores de movimiento de predicción candidatos espaciales a medida que se decodifica información sobre un vector de movimiento de predicción en el medio legible por ordenador, en donde la pluralidad de vectores de movimiento de predicción candidatos espaciales son un primer vector de movimiento de predicción candidato espacial y un segundo vector de movimiento de predicción candidato espacial, y
en donde se genera una lista de vectores de movimiento de predicción candidatos basándose en el primer vector de movimiento de predicción candidato espacial, el segundo vector de movimiento de predicción candidato espacial y el vector de movimiento de predicción candidato temporal, y como máximo uno del primer vector de movimiento de predicción candidato espacial y el segundo vector de movimiento de predicción candidato espacial se añade a la lista de vectores de movimiento de predicción candidatos en caso de que se realice la derivación del vector de movimiento de predicción candidato temporal,
caracterizado por que:
realizar la derivación del vector de movimiento de predicción candidato temporal selectivamente comprende que el vector de movimiento de predicción candidato temporal se derive y se añada a la lista de vectores de movimiento de predicción candidatos únicamente en un caso en el que el vector de movimiento de predicción candidato temporal esté disponible y al menos uno de la pluralidad de vectores de movimiento de predicción candidatos espaciales no esté disponible o el primer vector de movimiento de predicción candidato espacial sea igual al segundo vector de movimiento de predicción candidato espacial,
la información de disponibilidad para el vector de movimiento de predicción candidato temporal indica si está disponible o no el vector de movimiento de predicción candidato temporal,
la información de disponibilidad se establece para indicar que el vector de movimiento de predicción candidato temporal no está disponible en un caso en el que estén disponibles y no sean iguales la pluralidad de vectores de movimiento de predicción candidatos espaciales,
el primer vector de movimiento de predicción candidato espacial es un vector de movimiento para un primer bloque, y
el segundo vector de movimiento de predicción candidato espacial es un vector de movimiento para un segundo bloque.
ES19203924T 2011-09-16 2012-09-14 Método para inducir vector de movimiento de predicción y aparatos correspondientes Active ES2970751T3 (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR20110093564 2011-09-16
KR20110106108 2011-10-17
KR1020120005916A KR20130030181A (ko) 2011-09-16 2012-01-18 움직임 벡터 예측기를 이용한 움직임 벡터 부호화/복호화 방법 및 장치

Publications (1)

Publication Number Publication Date
ES2970751T3 true ES2970751T3 (es) 2024-05-30

Family

ID=48179853

Family Applications (1)

Application Number Title Priority Date Filing Date
ES19203924T Active ES2970751T3 (es) 2011-09-16 2012-09-14 Método para inducir vector de movimiento de predicción y aparatos correspondientes

Country Status (11)

Country Link
US (9) US9451281B2 (es)
EP (4) EP2757784A4 (es)
JP (10) JP6046142B2 (es)
KR (15) KR20130030181A (es)
CN (6) CN108377395B (es)
BR (2) BR122014015724B1 (es)
CA (8) CA2994621C (es)
DK (1) DK3258692T3 (es)
ES (1) ES2970751T3 (es)
PL (1) PL3637774T3 (es)
WO (1) WO2013039356A2 (es)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106851304B (zh) * 2010-12-14 2019-08-30 M&K控股株式会社 用于解码运动画面的设备
CN107105286B (zh) * 2011-03-14 2020-01-21 寰发股份有限公司 推导运动向量预测子的方法与装置
KR20130030181A (ko) 2011-09-16 2013-03-26 한국전자통신연구원 움직임 벡터 예측기를 이용한 움직임 벡터 부호화/복호화 방법 및 장치
WO2014163418A1 (ko) 2013-04-04 2014-10-09 한국전자통신연구원 영상 부호화/복호화 방법 및 장치
KR20140121315A (ko) * 2013-04-04 2014-10-15 한국전자통신연구원 참조 픽처 리스트를 이용한 다 계층 기반의 영상 부호화/복호화 방법 및 그 장치
CN105122810B (zh) * 2013-04-11 2018-07-03 Lg电子株式会社 处理视频信号的方法及装置
WO2015119930A1 (en) 2014-02-04 2015-08-13 Pfizer Inc. Combination of a pd-1 antagonist and a vegfr inhibitor for treating cancer
US10313765B2 (en) 2015-09-04 2019-06-04 At&T Intellectual Property I, L.P. Selective communication of a vector graphics format version of a video content item
KR102814454B1 (ko) 2016-11-22 2025-05-30 골든웨이브파트너스(주) 전방향 카메라에서 효과적인 차분 움직임 백터 전송방법을 이용한 비디오 코딩 방법 및 방법 및 장치
CN116320477A (zh) 2016-12-22 2023-06-23 株式会社Kt 对视频进行解码或编码的方法和发送视频数据的方法
KR102480419B1 (ko) * 2017-09-13 2022-12-22 삼성전자주식회사 기본 움직임 벡터를 이용하여 움직임 벡터를 부호화하는 장치 및 방법, 및 복호화 장치 및 방법
US11425390B2 (en) 2018-01-26 2022-08-23 Electronics And Telecommunications Research Institute Method and apparatus for image encoding and image decoding using temporal motion information
WO2019147067A1 (ko) 2018-01-26 2019-08-01 한국전자통신연구원 시간적 움직임 정보를 이용하는 영상 부호화 및 영상 복호화를 위한 방법 및 장치
CN119052508A (zh) 2018-01-30 2024-11-29 夏普株式会社 导出块的运动向量信息的方法、以及用于导出块的运动向量信息的设备
CN119052488A (zh) * 2018-03-27 2024-11-29 株式会社Kt 对图像进行解码或编码的方法以及用于传送压缩视频数据的装置
CN118660169A (zh) 2018-06-30 2024-09-17 有限公司B1影像技术研究所 帧间预测方法和记录介质
US11943430B2 (en) * 2018-07-27 2024-03-26 Samsung Electronics Co., Ltd. Method and device for encoding image and method and device for decoding image on basis of sub-block
WO2020024966A1 (en) * 2018-07-31 2020-02-06 Mediatek Inc. Method and apparatus of merge with motion vector difference for video coding
JP7295863B2 (ja) 2018-08-06 2023-06-21 株式会社小糸製作所 車両用表示システム及び車両
US11019357B2 (en) * 2018-08-07 2021-05-25 Qualcomm Incorporated Motion vector predictor list generation
US11956460B2 (en) * 2018-08-31 2024-04-09 Hulu, LLC Selective template matching in video coding
US10958932B2 (en) 2018-09-12 2021-03-23 Qualcomm Incorporated Inter-prediction coding of video data using generated motion vector predictor list including non-adjacent blocks
EP3854096A1 (en) * 2018-09-21 2021-07-28 VID SCALE, Inc. Affine motion estimation for affine model-based video coding
US10893291B2 (en) * 2018-09-28 2021-01-12 Qualcomm Incorporated Ultimate motion vector expression with adaptive directional information set
US11284066B2 (en) * 2018-10-10 2022-03-22 Tencent America LLC Method and apparatus for intra block copy in intra-inter blending mode and triangle prediction unit mode
CN111131822B (zh) 2018-10-31 2023-08-01 北京字节跳动网络技术有限公司 具有从邻域导出的运动信息的重叠块运动补偿
CN113366831B (zh) * 2019-01-13 2024-04-05 北京字节跳动网络技术有限公司 重叠块运动补偿和其他工具之间的协调
US10904553B2 (en) * 2019-01-22 2021-01-26 Tencent America LLC Method and apparatus for video coding
CN115065828B (zh) * 2019-06-13 2024-05-03 北京达佳互联信息技术有限公司 用于视频编解码的运动矢量预测
CN113727119B (zh) * 2020-05-20 2023-03-17 Oppo广东移动通信有限公司 帧间预测方法、编码器、解码器以及计算机存储介质

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5748231A (en) * 1992-10-13 1998-05-05 Samsung Electronics Co., Ltd. Adaptive motion vector decision method and device for digital image stabilizer system
EP1128678A1 (en) * 2000-02-24 2001-08-29 Koninklijke Philips Electronics N.V. Motion estimation apparatus and method
JP4114859B2 (ja) 2002-01-09 2008-07-09 松下電器産業株式会社 動きベクトル符号化方法および動きベクトル復号化方法
KR100492127B1 (ko) 2002-02-23 2005-06-01 삼성전자주식회사 적응형 움직임 추정장치 및 추정 방법
CN101039427B (zh) * 2002-07-15 2010-06-16 株式会社日立制作所 动态图像的解码方法
BRPI0306684B1 (pt) * 2002-11-01 2018-03-13 Godo Kaisha Ip Bridge 1 “Método e aparelho de codificação de um sinal de imagem e método e aparelho de decodificação de um sinal de imagem”
CN1723477A (zh) * 2002-12-11 2006-01-18 皇家飞利浦电子股份有限公司 视频编码方法和相应的计算机程序
JP5025645B2 (ja) 2005-06-23 2012-09-12 トライデント マイクロシステムズ インコーポレイテッド 動き推定方法
CN101573985B (zh) * 2006-11-03 2012-07-04 三星电子株式会社 用于视频预测编码的方法和装置以及用于视频预测解码的方法和装置
KR101366241B1 (ko) * 2007-03-28 2014-02-21 삼성전자주식회사 영상 부호화, 복호화 방법 및 장치
KR101835342B1 (ko) * 2007-10-16 2018-03-07 엘지전자 주식회사 비디오 신호 처리 방법 및 장치
US8170121B2 (en) * 2007-11-13 2012-05-01 Harmonic Inc. H.264/AVC based approach to scalable video compression
JP5194833B2 (ja) * 2008-01-23 2013-05-08 ソニー株式会社 符号化装置および方法、記録媒体、並びにプログラム
ES2812473T3 (es) * 2008-03-19 2021-03-17 Nokia Technologies Oy Vector de movimiento combinado y predicción de índice de referencia para la codificación de vídeo
JP5406465B2 (ja) * 2008-04-24 2014-02-05 株式会社Nttドコモ 画像予測符号化装置、画像予測符号化方法、画像予測符号化プログラム、画像予測復号装置、画像予測復号方法及び画像予測復号プログラム
JP4697275B2 (ja) * 2008-07-30 2011-06-08 ソニー株式会社 動きベクトル検出装置、動きベクトル検出方法及びプログラム
CN101686393B (zh) * 2008-09-28 2012-10-17 华为技术有限公司 应用于模板匹配的快速运动搜索方法及装置
KR101377527B1 (ko) * 2008-10-14 2014-03-25 에스케이 텔레콤주식회사 복수 개의 참조 픽처의 움직임 벡터 부호화/복호화 방법 및장치와 그를 이용한 영상 부호화/복호화 장치 및 방법
US20100166073A1 (en) * 2008-12-31 2010-07-01 Advanced Micro Devices, Inc. Multiple-Candidate Motion Estimation With Advanced Spatial Filtering of Differential Motion Vectors
WO2010131903A2 (en) * 2009-05-12 2010-11-18 Lg Electronics Inc. Method and apparatus for processing a video signal
KR20110008653A (ko) * 2009-07-20 2011-01-27 삼성전자주식회사 움직임 벡터 예측 방법과 이를 이용한 영상 부호화/복호화 장치 및 방법
KR101752418B1 (ko) * 2010-04-09 2017-06-29 엘지전자 주식회사 비디오 신호 처리 방법 및 장치
US8824558B2 (en) * 2010-11-23 2014-09-02 Mediatek Inc. Method and apparatus of spatial motion vector prediction
CN106060563B (zh) * 2011-01-07 2019-06-21 Lg电子株式会社 编码和解码图像信息的方法和使用该方法的装置
ES2977722T3 (es) 2011-03-21 2024-08-29 Lg Electronics Inc Método de decodificación de video, método de codificación de video, medio de almacenamiento digital legible por ordenador y método de transmisión de datos para un video
US9247249B2 (en) * 2011-04-20 2016-01-26 Qualcomm Incorporated Motion vector prediction in video coding
CA2834191C (en) * 2011-05-31 2019-04-09 Panasonic Corporation Video encoding method, video encoding device, video decoding method, video decoding device, and video encoding/decoding device
CA3101406C (en) * 2011-06-14 2023-05-09 Tammy Lee Method and apparatus for encoding motion information and method and apparatus for decoding same
PL2728878T3 (pl) 2011-06-30 2020-06-15 Sun Patent Trust Sposób dekodowania obrazów, sposób kodowania obrazów, urządzenie do dekodowania obrazów, urządzenie do kodowania obrazów oraz urządzenie do kodowania/dekodowania obrazów
KR20130030181A (ko) * 2011-09-16 2013-03-26 한국전자통신연구원 움직임 벡터 예측기를 이용한 움직임 벡터 부호화/복호화 방법 및 장치
EP3898189B1 (en) 2018-12-19 2024-10-09 Jabil Inc. Print head for enhanced drive force in additive manufacturing

Also Published As

Publication number Publication date
WO2013039356A2 (ko) 2013-03-21
CA3214829A1 (en) 2013-03-21
CN108377395B (zh) 2022-08-09
JP7699918B2 (ja) 2025-06-30
JP6855411B2 (ja) 2021-04-07
JP2018152901A (ja) 2018-09-27
CN108391138A (zh) 2018-08-10
KR101983123B1 (ko) 2019-05-30
KR101973487B1 (ko) 2019-04-29
CN108366266B (zh) 2022-08-05
JP2024026898A (ja) 2024-02-28
KR102482553B1 (ko) 2022-12-30
JP7727024B2 (ja) 2025-08-20
CN103988509A (zh) 2014-08-13
KR20130111501A (ko) 2013-10-10
EP4336831A2 (en) 2024-03-13
KR102115003B1 (ko) 2020-05-25
CA2994621C (en) 2020-07-14
CA3114709A1 (en) 2013-03-21
WO2013039356A3 (ko) 2013-05-16
EP2757784A4 (en) 2015-08-26
KR101983124B1 (ko) 2019-05-29
PL3637774T3 (pl) 2024-05-20
CN108366269B (zh) 2022-08-09
US20160366436A1 (en) 2016-12-15
CA2994621A1 (en) 2013-03-21
EP2757784A2 (en) 2014-07-23
CN108391124B (zh) 2022-09-02
EP3637774A1 (en) 2020-04-15
US20250071320A1 (en) 2025-02-27
CN108377395A (zh) 2018-08-07
DK3258692T3 (da) 2020-01-27
JP6416156B2 (ja) 2018-10-31
US20240098302A1 (en) 2024-03-21
US10194167B2 (en) 2019-01-29
BR122014015724B1 (pt) 2022-05-24
KR101419011B1 (ko) 2014-07-14
JP6855412B2 (ja) 2021-04-07
KR20230150929A (ko) 2023-10-31
KR102749028B1 (ko) 2025-01-03
CN108391124A (zh) 2018-08-10
CA2994619C (en) 2021-05-25
CN108366266A (zh) 2018-08-03
KR20200057692A (ko) 2020-05-26
US20140348241A1 (en) 2014-11-27
KR102594969B1 (ko) 2023-10-30
KR20230008661A (ko) 2023-01-16
JP2014526838A (ja) 2014-10-06
US10194168B2 (en) 2019-01-29
EP3637774B1 (en) 2023-11-22
EP3258692B1 (en) 2019-12-04
JP2018152903A (ja) 2018-09-27
KR102244085B1 (ko) 2021-04-23
BR112014006320B1 (pt) 2022-05-24
CA2994619A1 (en) 2013-03-21
KR20180083287A (ko) 2018-07-20
CA2994623C (en) 2021-01-26
JP6855414B2 (ja) 2021-04-07
CN108391138B (zh) 2022-05-31
CN108366269A (zh) 2018-08-03
KR20130113400A (ko) 2013-10-15
KR101879446B1 (ko) 2018-07-17
KR101419012B1 (ko) 2014-07-14
KR20180083289A (ko) 2018-07-20
CA3114709C (en) 2023-11-07
JP2018152904A (ja) 2018-09-27
JP2016174428A (ja) 2016-09-29
KR102357774B1 (ko) 2022-02-08
KR20220017460A (ko) 2022-02-11
JP6046142B2 (ja) 2016-12-14
CA2849004C (en) 2018-03-27
KR101879447B1 (ko) 2018-07-17
JP2018152902A (ja) 2018-09-27
US20190110068A1 (en) 2019-04-11
KR20210046621A (ko) 2021-04-28
US20160360229A1 (en) 2016-12-08
US20190110066A1 (en) 2019-04-11
US9451281B2 (en) 2016-09-20
US10750202B2 (en) 2020-08-18
KR20180083288A (ko) 2018-07-20
KR20190058426A (ko) 2019-05-29
CN103988509B (zh) 2018-03-23
BR112014006320A2 (pt) 2017-04-11
US10743022B2 (en) 2020-08-11
JP2018152905A (ja) 2018-09-27
CA2849004A1 (en) 2013-03-21
CA2994625A1 (en) 2013-03-21
JP6855413B2 (ja) 2021-04-07
CA2994615C (en) 2021-04-06
KR20130030232A (ko) 2013-03-26
CA2994623A1 (en) 2013-03-21
KR20250008830A (ko) 2025-01-16
KR20130030181A (ko) 2013-03-26
CA2994625C (en) 2020-12-15
US11871031B2 (en) 2024-01-09
EP3258692A1 (en) 2017-12-20
KR20130110122A (ko) 2013-10-08
JP2025147221A (ja) 2025-10-06
US10708615B2 (en) 2020-07-07
EP4336831A3 (en) 2024-03-27
JP2021036718A (ja) 2021-03-04
US20200344490A1 (en) 2020-10-29
US20190110067A1 (en) 2019-04-11
CA2994615A1 (en) 2013-03-21

Similar Documents

Publication Publication Date Title
ES2970751T3 (es) Método para inducir vector de movimiento de predicción y aparatos correspondientes
ES2954979T3 (es) Aparato para codificar un fotograma en movimiento
KR20260004527A (ko) 적응적 모션 벡터 레졸루션을 이용하는 비디오 신호 처리 방법 및 장치