ES2904348T3 - Método y aparato para procesar una señal de video - Google Patents
Método y aparato para procesar una señal de video Download PDFInfo
- Publication number
- ES2904348T3 ES2904348T3 ES11766196T ES11766196T ES2904348T3 ES 2904348 T3 ES2904348 T3 ES 2904348T3 ES 11766196 T ES11766196 T ES 11766196T ES 11766196 T ES11766196 T ES 11766196T ES 2904348 T3 ES2904348 T3 ES 2904348T3
- Authority
- ES
- Spain
- Prior art keywords
- motion vector
- current block
- partition
- block
- reference image
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/55—Motion estimation with spatial constraints, e.g. at image or region borders
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
- H04N19/517—Processing of motion vectors by encoding
- H04N19/52—Processing of motion vectors by encoding by predictive encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
- H04N19/139—Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/172—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/184—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/573—Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/625—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Discrete Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
- Image Analysis (AREA)
Abstract
Un método para procesar mediante un aparato de decodificación una señal de video codificada en un flujo de bits, el método que comprende: obtener información de índice de la señal de vídeo codificada, la información de índice que especifica un candidato de vector de movimiento a ser usado como un vector de movimiento predicho de un bloque actual; seleccionar al menos un vector de movimiento de al menos un bloque vecino espacial decodificado anteriormente; construir un grupo de candidatos de predicción de vector de movimiento del bloque actual, el grupo de candidatos de predicción de vector de movimiento que comprende una pluralidad de candidatos de vector de movimiento que incluyen el al menos un vector de movimiento seleccionado; adquirir el vector de movimiento predicho del bloque actual del grupo de candidatos de predicción de vector de movimiento, el vector de movimiento predicho del bloque actual que es el candidato de vector de movimiento especificado por la información de índice; adquirir un vector de movimiento del bloque actual en base al vector de movimiento predicho; y decodificar el bloque actual en base al vector de movimiento adquirido, caracterizado por que seleccionar el al menos un vector de movimiento comprende: paso (a): seleccionar el al menos un vector de movimiento en base a al menos un bloque vecino espacial que tiene la misma lista de imágenes de referencia y la misma imagen de referencia que el bloque actual; paso (b): seleccionar el al menos un vector de movimiento en base a al menos un bloque vecino espacial que tiene una lista de imágenes de referencia diferente del bloque actual y la misma imagen de referencia que el bloque actual cuando no se ha seleccionado ningún vector de movimiento en el paso (a); paso (c): seleccionar un vector de movimiento escalado del al menos un bloque vecino espacial en base a al menos un bloque vecino espacial que tiene la misma lista de imágenes de referencia que el bloque actual y una imagen de referencia diferente del bloque actual cuando no se ha seleccionado ningún vector de movimiento en el paso (a) y el paso (b); y paso (d): seleccionar el vector de movimiento escalado del al menos un bloque vecino espacial en base a al menos un bloque vecino espacial que tiene la lista de imágenes de referencia diferente y la imagen de referencia diferente del bloque actual cuando no se ha seleccionado ningún vector de movimiento o vector de movimiento escalado en el paso (a), el paso (b) y el paso (c).
Description
DESCRIPCIÓN
Método y aparato para procesar una señal de video
Campo técnico
La presente invención se refiere a un método y aparato para procesar una señal de video y, más particularmente, a un método y aparato para decodificar y un método para codificar una señal de video.
Antecedentes de la técnica
La codificación por compresión es una técnica de procesamiento de señal de transmisión de información digital a través de una línea de comunicación o almacenamiento de la información digital en una forma adecuada para un medio de almacenamiento. La información de audio, vídeo y texto puede ser un objetivo de la codificación por compresión y, en particular, se hace referencia a la codificación por compresión realizada sobre la información de vídeo como compresión de vídeo. La compresión de señal de video se realiza eliminando la información redundante en consideración de la correlación espacial, la correlación temporal, la correlación estocástica, etc. No obstante, con el desarrollo de una variedad de medios y medios de transmisión de datos, existe la necesidad de un método y aparato de procesamiento de señal de video de alta eficiencia.
Las técnicas que pertenecen a la codificación de compresión que incluyen vectores de movimiento se describen en el documento WO 2009/051419 A2 así como en Jingjing Dai et al.: “An efficient motion vector coding algorithm based on adaptative motion vector prediction”, 90. Reunión del MPEG, n° M16862, 23 de octubre de 2009; A. M. Tourapis et al.: “Motion Vector Prediction with Reference Frame Consideration”, Actas de SPIE, vol. 5203, 1 de enero de 2003, pág. 440-447; y T. Davies: “Video Coding Technology Proposal by BBC (and Samsung)”, 1. Reunión del JCT-VC, 15-23 de abril de 2010, Dresde.
Descripción
Problema técnico]
Para mejorar la eficiencia de la compresión de video, se puede usar un método de predicción de un vector de movimiento de la partición actual usando un vector de movimiento de una partición vecina. En este caso, el vector de movimiento de la partición vecina se usa para la predicción del vector de movimiento de la partición actual independientemente de una diferencia entre las imágenes de referencia de la partición actual y la partición vecina. Esto disminuye la precisión de la predicción de vector de movimiento.
Además, dado que un grupo de candidatos de vector de movimiento vecino está limitado a particiones vecinas que tienen la misma lista de imágenes de referencia y la misma imagen de referencia que las de la partición actual, disminuye la probabilidad de que se pueda adquirir un vector de movimiento vecino disponible.
Además, la complejidad de un proceso de selección de un vector de movimiento vecino a ser usado para la predicción de vector de movimiento aumenta a medida que aumenta el número de candidatos y, de este modo, se necesita un método para realizar de manera eficiente el proceso de selección.
Solución técnica
La invención se expone en el conjunto de reivindicaciones adjuntas.
Efectos ventajosos
Según un aparato de procesamiento de señal de vídeo de la presente invención, es posible aumentar la precisión de la predicción de vector de movimiento escalando un vector de movimiento de una partición vecina en consideración de una diferencia de distancia temporal entre imágenes de referencia y usando el vector de movimiento de partición vecina escalado para la predicción de un vector de movimiento de la partición actual.
Además, dado que los vectores de movimiento vecinos de diversos grupos de candidatos se usan además de los vectores de movimiento vecinos que se refieren a la misma imagen de referencia en la misma lista de imágenes de referencia, es posible aumentar la flexibilidad de la predicción de vector de movimiento y ampliar el intervalo de selección de un vector de movimiento vecino para una predicción de vector de movimiento precisa.
Además, se busca un vector de movimiento de partición vecina para la predicción de vector de movimiento de la partición actual combinando adecuadamente las condiciones de selección del grupo de candidatos de predicción de vector de movimiento y los recuentos de orden de posición de partición, y de este modo se puede reducir la complejidad de la operación de búsqueda y se puede adquirir un vector de movimiento vecino disponible.
Además, es posible disminuir la complejidad de la adquisición de información de movimiento de partición vecina unificando los métodos de adquisición de información de movimiento de partición vecina en un modo de fusión, un modo de salto y un inter modo.
Descripción de los dibujos
La FIG. 1 es un diagrama de bloques de un codificador de señal de video según una realización no cubierta por la invención reivindicada;
La FIG. 2 es un diagrama de bloques de un decodificador de señal de vídeo según una realización de la presente invención;
La FIG. 3 ilustra un ejemplo de segmentación de una unidad según una realización no cubierta por la invención reivindicada;
La FIG. 4 ilustra un método de representación de la estructura de segmentación de la FIG. 3 de una manera jerárquica según una realización no cubierta por la invención reivindicada;
La FIG. 5 ilustra diversas formas de segmentación de una unidad de predicción según realizaciones no cubiertas por la invención reivindicada;
La FIG. 6 ilustra particiones vecinas espaciales ejemplares de la partición actual;
Las FIGS. 7 y 8 ilustran métodos de escalado de un vector de movimiento de una partición vecina;
La FIG. 9 ilustra un ejemplo de referencia a la misma imagen de referencia de diferentes listas de imágenes de referencia;
Las FIGS. 10 y 11 muestran listas de imágenes de referencia ejemplares y valores de índices de referencia de la partición actual y las particiones vecinas espaciales;
La FIG. 12 es un diagrama de bloques de un estimador de movimiento del decodificador de señal de video según una realización de la presente invención;
Las FIGS. 13 y 14 muestran particiones vecinas espaciales a partir de las cuales se seleccionan los vectores de movimiento a ser incluidos en un grupo de candidatos de predicción de vector de movimiento de la partición actual; La FIG. 15 muestra particiones vecinas a ser fusionadas con la partición actual en un modo de fusión; y
La FIG. 16 es un diagrama de flujo que ilustra las condiciones de selección de grupo de candidatos de predicción de vector de movimiento de la presente invención.
Mejor modo para llevar a cabo la invención
Según un aspecto de la presente invención, se proporciona un método de procesamiento de señal de video como se define en la reivindicación 1 independiente. Según aspectos adicionales de la invención, se proporciona un aparato de decodificación para procesar una señal de video como se define en la reivindicación 3 independiente y un método para codificar una señal de video como se define en la reivindicación 5 independiente.
Modo para la invención
A continuación se describirán realizaciones ejemplares de la presente invención con referencia a los dibujos adjuntos. Antes de describir la presente invención, se ha de señalar que la mayoría de los términos descritos en la presente invención corresponden a términos generales bien conocidos en la técnica, pero algunos términos se han seleccionado por el solicitante según sea necesario y se describirán en lo sucesivo en la siguiente descripción de la presente invención. Por lo tanto, es preferible que los términos definidos por el solicitante se entiendan sobre la base de sus significados en la presente invención.
En la especificación, los siguientes términos e incluso los términos que no se describen se pueden interpretar en base al siguiente estándar. ‘Codificación’ se puede interpretar como ‘codificación’ o ‘decodificación’, e ‘información’ puede incluir valores, parámetros, coeficientes, elementos, etc. y se pueden interpretar de manera diferente según las circunstancias. ‘Unidad’ se usa para designar una unidad de procesamiento de imágenes básica o una posición específica en una imagen y se puede usar indistintamente con el término ‘bloque’, ‘partición’ o ‘región’. Además, en la especificación, ‘unidad’ puede significar ‘unidad de codificación’, ‘unidad de predicción’, ‘unidad de transformación’.
La FIG. 1 es un diagrama de bloques de un codificador de señal de vídeo 100 según una realización no cubierta por la invención reivindicada.
Haciendo referencia a la FIG. 1, el codificador de señal de vídeo 100 incluye un transformador 110, un cuantificador 115, un cuantificador inverso 120, un transformador inverso 125, una unidad de filtrado 130, una unidad de predicción 150 y una unidad de codificación de entropía 160.
El transformador 110 puede convertir valores de píxeles de una señal de vídeo introducida en el mismo para adquirir coeficientes de transformación. Por ejemplo, el transformador 110 puede usar una transformada de coseno discreto (DCT) o transformada de ondas pequeñas. La DTC segmenta la señal de vídeo de entrada en bloques que tienen un tamaño predeterminado y transforma los bloques. La eficiencia de la codificación puede depender de la distribución y características de los valores en un área de transformación.
El cuantificador 115 cuantifica los coeficientes de transformación emitidos desde el transformador 110. El cuantificador inverso 120 cuantifica inversamente los coeficientes de transformación y el transformador inverso 125 restaura los valores de los píxeles usando los coeficientes de transformación cuantificados inversamente.
La unidad de filtrado 130 realiza un filtrado para mejorar la calidad de una imagen restaurada. Por ejemplo, la unidad de filtrado 130 puede incluir un filtro de desbloqueo y un filtro de bucle adaptativo. La imagen filtrada se emite o se almacena en una memoria 156 para ser usada como imagen de referencia.
Para mejorar la eficiencia de la codificación, se usa un método de predicción de una imagen usando una región codificada anteriormente y añadiendo un valor residual entre la imagen predicha y una imagen original a la imagen predicha para adquirir una imagen restaurada en lugar de un método de codificación de manera directa de una señal de video. Un intra predictor 152 realiza una intra predicción de la imagen actual y un inter predictor 154 predice la imagen actual usando una imagen de referencia almacenada en la memoria 156. El intra predictor 152 realiza una intra predicción a partir de regiones restauradas en la imagen actual y transmite información de intra codificación a la unidad de codificación de entropía 160. El inter predictor 154 puede incluir un compensador de movimiento 162 y un estimador de movimiento 164. El estimador de movimiento 164 adquiere un vector de movimiento de la región actual con referencia a una región restaurada. El estimador de movimiento 164 transmite información de posición (una imagen de referencia, vector de movimiento, etc.) en una región de referencia a la unidad de codificación de entropía 160 de manera que la información de posición se pueda incluir en un flujo de bits. El compensador de movimiento 162 realiza una compensación inter movimiento usando el valor de vector de movimiento transmitido desde el estimador de movimiento 164.
La unidad de codificación de entropía 160 codifica por entropía los coeficientes de transformación cuantificados, la información de inter codificación, la información de intra codificación y la información de la región de referencia introducida desde el inter predictor 154 para generar un flujo de bits de señal de vídeo. La unidad de codificación de entropía 160 puede usar codificación de longitud variable (VLC) y codificación aritmética. La VLC convierte los símbolos de entrada en palabras de código consecutivas. Aquí, las palabras de código pueden tener una longitud variable. Por ejemplo, los símbolos generados con frecuencia se representan como palabras de código cortas, mientras que los símbolos que no se generan con frecuencia se representan como palabras de código largas. La codificación de longitud variable adaptativa basada en contexto (CAVLC) se puede usar como esquema de VLC. La codificación aritmética convierte símbolos consecutivos en un número primo. Es posible obtener un número primo de bits optimizado necesarios para representar cada símbolo según la codificación aritmética. La codificación aritmética binaria adaptativa basada en contexto (CABAC) se puede usar como esquema de codificación aritmética.
La FIG. 2 es un diagrama de bloques de un decodificador de señal de vídeo 200 según una realización de la presente invención. Haciendo referencia a la FIG. 2, el decodificador de señal de vídeo 200 incluye una unidad de decodificación de entropía 210, un cuantificador inverso 220, un transformador inverso 225, una unidad de filtrado 230 y una unidad de predicción 250.
La unidad de decodificación de entropía 210 decodifica un flujo de bits de señal de video introducido a la misma para extraer un coeficiente de transformación y un vector de movimiento con respecto a cada región. El cuantificador inverso 220 cuantifica inversamente el coeficiente de transformación decodificado por entropía y el transformador inverso 225 restaura un valor de píxel usando el coeficiente de transformación cuantificado inversamente.
La unidad de filtrado 230 filtra una imagen para mejorar la calidad de imagen. La unidad de filtrado 230 puede incluir un filtro de desbloqueo para reducir la distorsión del bloque y/o un filtro de bucle adaptativo para eliminar la distorsión de la imagen. La imagen filtrada se emite o se almacena en una memoria de cuadros 256 para ser usada como imagen de referencia.
La unidad de predicción 250 incluye un intra predictor 252 y un inter predictor 254 y restaura una imagen de predicción usando información tal como el tipo de codificación, el coeficiente de transformación y el vector de movimiento con respecto a cada región, decodificada por la unidad de decodificación de entropía 210.
Con este fin, el intra predictor 252 realiza intra predicción a partir de las muestras decodificadas en la imagen actual. El inter predictor 254 estima un vector de movimiento usando una imagen de referencia almacenada en la memoria de cuadros 256 y genera la imagen de predicción. El inter predictor 254 incluye un compensador de movimiento 262 y un estimador de movimiento 264. El estimador de movimiento 264 adquiere un vector de movimiento que representa la relación entre el bloque actual y un bloque de referencia de un cuadro de referencia y entrega el vector de movimiento al compensador de movimiento 262.
Un valor de predicción emitido desde el intra predictor 252 o el inter predictor 254 y el valor de píxel emitido desde el transformador inverso 225 se suman para generar un cuadro de vídeo restaurado.
Se dará una descripción de un método de segmentación de una unidad de codificación y una unidad de predicción en las operaciones del codificador de señal de vídeo y el decodificador de señal de vídeo con referencia a las FIGS.
3 a 5.
La unidad de codificación es una unidad básica para procesar una imagen en la operación de procesamiento de señal de video antes mencionada (por ejemplo, en intra/inter predicción, transformación, cuantificación y/o codificación de entropía). No se necesita fijar el tamaño de la unidad de codificación usada para codificar una imagen. La unidad de codificación puede tener una forma rectangular y una unidad de codificación se puede segmentar en múltiples unidades de codificación.
La FIG. 3 ilustra un ejemplo de segmentación de una unidad de codificación según una realización no cubierta por la invención reivindicada.
Por ejemplo, una unidad de codificación que tiene un tamaño de 2Nx2N se puede segmentar en cuatro unidades de codificación NxN. La unidad de segmentación se puede realizar de manera recursiva. No es necesario segmentar todas las unidades de codificación en unidades que tengan la misma forma. No obstante, un tamaño máximo 310 o un tamaño mínimo 320 de una unidad de codificación se puede limitar para facilitar las operaciones de codificación y procesamiento.
La información que representa si una unidad de codificación está segmentada se puede almacenar para la unidad de codificación. Por ejemplo, se supone que una unidad de codificación se puede segmentar en cuatro unidades de codificación cuadradas, como se muestra en la FIG. 3. La FIG. 4 ilustra un método de representación de la estructura de segmentación de la unidad de codificación de la FIG. 3 de una manera jerárquica usando 0 y 1 según una realización no cubierta por la invención reivindicada. La información que representa si la unidad de codificación está segmentada se puede establecer en ‘1’ cuando la unidad de codificación está segmentada y establecer en ‘0’ cuando la unidad de codificación no está segmentada. Como se muestra en la FIG. 4, cuando un valor de bandera que indica si la unidad de codificación está segmentada es ‘1’, un bloque correspondiente al nodo se divide en cuatro bloques. Cuando el valor de bandera es ‘0’, la unidad de codificación correspondiente se puede procesar sin segmentar un bloque correspondiente al nodo.
No es necesario que un bloque se segmente en cuatro bloques cuadrados. Un código correspondiente a un método de segmentación predeterminado se puede correlacionar con información de segmentación. Por ejemplo, un bloque correspondiente se puede dividir en dos subbloques rectangulares horizontales cuando un valor de información de segmentación es 1, el bloque se puede segmentar en dos subbloques rectangulares verticales cuando el valor de información es 2, y el bloque se puede segmentar en cuatro subbloques cuadrados cuando el valor de información es 3. Este método es ejemplar.
La estructura de la unidad de codificación mencionada anteriormente se puede representar usando una estructura de árbol recursiva. Específicamente, una imagen o una unidad de codificación que tiene un tamaño máximo llega a ser una raíz y una unidad de codificación segmentada en subunidades de codificación tiene tantos nodos secundarios como el número de subunidades de codificación. Una unidad de codificación que ya no se segmenta más llega a ser en un nodo terminal. Si una unidad de codificación se puede segmentar solamente en unidades cuadradas, la unidad de codificación se puede dividir en un máximo de cuatro subunidades de codificación y, de este modo, un árbol que representa la unidad de codificación puede ser un árbol cuádruple.
El codificador selecciona un tamaño de unidad de codificación óptimo según las características (por ejemplo, resolución) de un video o en consideración de la eficacia de codificación, y la información acerca del tamaño de la unidad de codificación óptimo o la información a partir de la cual se puede derivar el tamaño de la unidad de codificación óptimo se puede incluir en un flujo de bits. Por ejemplo, se puede definir un tamaño de la unidad de codificación máximo y una profundidad máxima de un árbol. En el caso de segmentación cuadrada, dado que la altura y anchura de una unidad de codificación corresponden a la mitad de la altura y anchura de un nodo principal, se puede adquirir un tamaño de la unidad de codificación mínimo usando la información mencionada anteriormente. Por el contrario, se pueden predefinir un tamaño de la unidad de codificación mínimo y una profundidad máxima de un árbol, y el tamaño de codificación máximo se puede derivar usando el tamaño de la unidad de codificación mínimo y la profundidad máxima, según sea necesario. Dado que el tamaño de la unidad de codificación es un múltiplo de 2 en el caso de segmentación cuadrada, el tamaño de la unidad de codificación real se puede representar como un valor logarítmico que tiene 2 como base para mejorar la eficiencia de transmisión.
El decodificador puede adquirir información que represente si está segmentada la unidad de codificación actual. Si esta información se adquiere (transmite) solamente bajo una condición específica, se puede mejorar la eficiencia. Por ejemplo, la unidad de codificación actual se puede segmentar cuando la unidad de codificación actual en una posición específica dentro de una imagen se incluye en la imagen y el tamaño de la unidad de codificación actual es mayor que una unidad de codificación mínima predeterminada, y de este modo es posible adquirir la información que representa si la unidad de codificación actual está segmentada solamente en este caso.
Si la información representa que la unidad de codificación actual está segmentada, el tamaño de una unidad de codificación segmentada corresponde a la mitad del tamaño de la unidad de codificación actual, y la unidad de codificación actual está segmentada en cuatro unidades de codificación cuadradas sobre la base de la posición de procesamiento actual. El procesamiento mencionado anteriormente se puede repetir sobre las unidades de codificación segmentadas.
La predicción de imágenes (compensación de movimiento) para la codificación se realiza en una unidad de codificación (es decir, un nodo terminal de un árbol de unidades de codificación) que ya no se segmenta más. Se hace referencia a una unidad básica en la que se realiza la predicción de imagen como unidad de predicción o bloque de predicción. La unidad de predicción se puede segmentar en unidades de subpredicción de diversas formas, incluyendo una forma simétrica, tal como un cuadrado y un rectángulo, una forma asimétrica y una forma geométrica. Por ejemplo, una unidad de predicción se puede segmentar en unidades de subpredicción 2Nx2N, 2NxN y Nx2N, como se muestra en la FIG. 5. Un flujo de bits puede incluir información que representa si la unidad de predicción está segmentada o información acerca de la forma de segmentación de la unidad de predicción. Esta información se puede derivar de otra información. El término ‘partición’ descrito en la especificación se puede usar para sustituir la unidad de predicción o la unidad de subpredicción.
Para restaurar la unidad actual en la que se realiza la decodificación, se puede usar la imagen actual que incluye la unidad actual o partes decodificadas de otras imágenes. Se hace referencia a una imagen (segmento) que usa solamente la imagen actual para su restauración, es decir, que realiza solamente inter predicción como intra imagen o imagen I (segmento), se hace referencia a una imagen (segmento) que usa un vector de movimiento y un índice de referencia para predecir cada unidad como imagen predictiva o imagen P {segmento) y se hace referencia a una imagen (segmento) que usa un máximo de dos vectores de movimiento e índices de referencia como imagen bipredictiva o imagen B (segmento).
El intra predictor realiza una intra predicción que predice los valores de píxeles de una unidad objetivo de las regiones restauradas en la imagen actual. Por ejemplo, el intra predictor puede predecir valores de píxeles de la unidad actual a partir de píxeles de unidades situadas en la parte superior, izquierda, superior izquierda y/o superior derecha de la unidad actual.
El intra modo puede incluir un modo vertical, un modo horizontal, un modo de DC y un modo angular según la dirección y el esquema de predicción de una región de referencia en la que se sitúan los píxeles de referencia usados para la predicción de valor de píxel. El modo vertical usa un valor de una región vecina vertical de una unidad objetivo como valor de predicción de la unidad actual, mientras que el modo horizontal usa una región vecina horizontal de la unidad objetivo como región de referencia. El modo de DC usa el promedio de las regiones de referencia. El modo angular se usa cuando una región de referencia está situada en una dirección arbitraria. En el modo angular, la dirección se puede indicar mediante un ángulo entre el píxel actual y un píxel de referencia. Por conveniencia, se pueden usar ángulos predeterminados y números de modo de predicción y el número de ángulos puede depender del tamaño de una unidad objetivo.
Se pueden definir y usar varios modos específicos para los métodos de predicción antes mencionados. Mientras que el modo de predicción se puede transmitir como un valor que indica el modo de predicción, se puede usar un método de predicción de un valor de modo de predicción del bloque actual con el fin de mejorar la eficiencia de transmisión. Aquí, el decodificador puede adquirir el modo de predicción del bloque actual usando información que representa si se usa un valor de predicción para el modo de predicción sin que se cambie e información que indica una diferencia entre el valor de predicción y el valor real.
El inter predictor realiza una inter predicción que predice valores de píxeles de una unidad objetivo usando información acerca de imágenes restauradas distintas de la imagen actual. Se hace referencia a una imagen usada para la predicción como imagen de referencia. Una región de referencia usada para predecir la unidad actual se puede representar usando un índice que indica una imagen de referencia y un vector de movimiento.
La inter predicción incluye predicción hacia adelante, predicción hacia atrás y predicción bidireccional. La predicción hacia adelante usa una imagen de referencia mostrada (o emitida) antes de la imagen actual, mientras que la predicción hacia atrás usa una imagen de referencia mostrada (o emitida) después de la imagen actual. Para la predicción hacia atrás, se puede necesitar una información de movimiento (por ejemplo, un vector de movimiento y un índice de imagen de referencia). La predicción bidireccional puede usar un máximo de dos regiones de referencia. Estas dos regiones de referencia se pueden incluir en la misma imagen de referencia o incluir respectivamente en diferentes imágenes de referencia. Es decir, la predicción bidireccional puede usar un máximo de dos informaciones de movimiento (por ejemplo, vectores de movimiento e índices de imágenes de referencia) y dos vectores de movimiento pueden tener el mismo índice de imagen de referencia o tener índices de imágenes de referencia distintos respectivamente. Aquí, las imágenes de referencia se pueden mostrar (o emitir) antes y después de la imagen actual.
Una unidad de predicción codificada en el inter modo se puede segmentar en particiones de una forma arbitraria (por ejemplo, una forma simétrica, forma asimétrica o forma geométrica). Cada partición se puede predecir a partir de una o dos imágenes de referencia como se ha descrito anteriormente.
La información de movimiento de la unidad de predicción actual puede incluir información de vector de movimiento y un índice de imagen de referencia. La información de vector de movimiento puede incluir un vector de movimiento, un valor de predicción de vector de movimiento o un vector de movimiento diferencial y puede representar información de índice que especifica el valor de predicción de vector de movimiento. La información de índice que especifica el valor de predicción de vector de movimiento designa un vector de movimiento a ser usado como valor de predicción de vector de movimiento de la partición actual en la competencia de vectores de movimiento que se describirá a continuación, entre una pluralidad de vectores de movimiento incluidos en un grupo de candidatos de predicción de vector de movimiento. Es posible designar directamente el vector de movimiento a ser usado para predecir el vector de movimiento de la partición actual de entre el grupo de candidatos de predicción de vector de movimiento transmitiendo la información de índice. De otro modo, se puede usar un método indirecto de uso de uno de los vectores de movimiento incluidos en el grupo de candidatos de predicción de vector de movimiento según una prioridad predeterminada sin transmitir la información de índice. El vector de movimiento diferencial representa una diferencia entre el vector de movimiento y el valor de predicción de vector de movimiento.
Es posible adquirir una unidad de referencia de la unidad de predicción actual usando un vector de movimiento y un índice de imagen de referencia. La unidad de referencia está presente en una imagen de referencia que tiene el índice de imagen de referencia. Un valor de píxel o valor interpolado de una unidad especificada por el vector de movimiento se puede usar como valor de predicción de la unidad de predicción actual. Es decir, se realiza una compensación de movimiento que predice la unidad de predicción actual a partir de una imagen decodificada anteriormente usando información de movimiento.
Para la imagen actual, se puede generar una lista de imágenes de referencia usando imágenes usadas para la inter predicción. En el caso de la imagen B, se necesitan dos listas de imágenes de referencia, a las que se hace referencia como lista de imágenes de referencia 0 (o Lista 0) y lista de imágenes de referencia 1 (o Lista 1) en la siguiente descripción.
Con el fin de reducir el tráfico de transmisión relacionado con los vectores de movimiento, es posible emplear un método de adquisición de un valor de predicción de vector de movimiento usando información de movimiento acerca de las unidades codificadas anteriormente y transmitiendo solamente una diferencia de vectores de movimiento con respecto al valor de predicción de vector de movimiento. El decodificador obtiene un valor de predicción de vector de movimiento de la unidad actual usando información de movimiento acerca de otras unidades decodificadas y adquiere un vector de movimiento de la unidad actual usando una diferencia de vectores de movimiento transmitida a la misma.
Haciendo referencia a la FIG. 6, por ejemplo, si una partición situada a la izquierda de la unidad de predicción actual (partición) es la partición vecina A, una partición situada en la parte superior de la unidad de predicción actual es la partición vecina B, una partición situada en la parte superior derecha de la unidad de predicción actual es la partición vecina C, y los vectores de movimiento de las particiones vecinas A, B y C son respectivamente MV_a, MV_b y MV_c, un valor de predicción de vector de movimiento MVp de la partición actual se puede derivar de la mediana de los componentes horizontal y vertical de MV_a, MV_b y MV_c. Si no se puede obtener información de decodificación acerca de la partición vecina C, la partición vecina D situada en la parte superior izquierda de la partición actual y el vector de movimiento MV_d de la misma pueden sustituir la información de decodificación acerca de la partición vecina C.
Si el vector de movimiento de una partición vecina se usa para obtener el valor de predicción de vector de movimiento MVp de la partición actual incluso cuando la imagen de referencia de la partición vecina es diferente de la imagen de referencia de la partición actual, la predicción de vector de movimiento precisa es limitada. Por consiguiente, la presente invención usa un método de escalado de un vector de movimiento de partición vecina para realizar una predicción de vector de movimiento más precisa.
El escalado de vector de movimiento es una técnica de interpolación lineal de un vector de movimiento usando una distancia temporal entre la imagen actual y una imagen de referencia de cada partición (partición actual y particiones vecinas). Es decir, el escaldo de vector de movimiento interpola linealmente un vector de movimiento de una partición vecina usando la relación de una distancia temporal entre la imagen actual y una imagen de referencia de la partición vecina a una distancia temporal entre la imagen actual y una imagen de referencia de la partición actual. Más específicamente, un vector de movimiento escalado MV’x se puede obtener por la siguiente Ecuación 1.
Ecuación 1
M V 'X = { ( f me - f e ) / ( f x - f e ) ) X M V x
Aquí, MVx denota uno de los vectores de movimiento MV_a, MV_b, MV_c y MV_d de las particiones vecinas y MV’x denota un valor escalado de MVx. Además, fx indica el número de la imagen de referencia de la partición vecina correspondiente, fME representa el número de la imagen de referencia de la partición actual, y fc denota el número de la imagen actual. El vector de movimiento de una partición vecina se puede escalar descendentemente o escalar ascendentemente a través de interpolación lineal de manera que el vector de movimiento corresponda a la imagen
de referencia de la partición actual, y se pueda reducir el error causado por una diferencia de imágenes de referencia entre las particiones.
Según una realización no cubierta por la invención reivindicada, se puede realizar el escalado de vector de movimiento a través del cálculo de números enteros. Haciendo referencia a las FIGS. 7 y 8, se puede obtener un valor escalado mvL0N_scaled de un vector de movimiento mvL0N de una partición vecina usando la relación (DistScaleFactor) de una distancia temporal td entre la imagen de referencia de la partición vecina y la imagen actual a una distancia temporal tb entre la imagen de referencia de la partición actual y la imagen actual, como se expresa por la siguiente ecuación.
Ecuación 2
mvL0N_scaled = (DistScaleFactor * mvLON 128) >> 8
Aquí, DistScaleFactor se puede obtener por la siguiente ecuación, como se define en MPEG-4 AVC/H.264.
Ecuación 3
DistScaleFactor = Clip3(-1024,1023,(tb * tx 32) >> 6)
Aquí, tx = (16384 Abs (td/2))/td.
El vector de movimiento de la partición vecina, que se selecciona para la predicción de vector de movimiento de la partición actual, se puede convertir en un valor escalado sobre la base de la relación de distancia temporal (tb/td) de las imágenes. Cuando la dirección de predicción de vector de movimiento de la partición vecina seleccionada es diferente de la dirección de predicción de vector de movimiento de la partición actual, el vector de movimiento de la partición vecina se puede escalar en la dirección inversa, como se muestra en la FIG. 8.
El método de escalado de vector de movimiento descrito anteriormente se puede usar para mejorar la precisión de la predicción de vector de movimiento de la partición actual. Por ejemplo, el valor de predicción de vector de movimiento MVp de la partición actual se puede obtener de la siguiente manera usando los vectores de movimiento MV_a, MV_b, MV_c y MV_d de las particiones vecinas A, B, C y D como se muestra en la FIG. 6.
Cuando uno de los índices de referencia refidx_a, refidx_b, refidx_c y refidx_d de las particiones vecinas A, B, C y D es idéntico al índice de referencia refidx de la partición actual (por ejemplo, cuando el índice de referencia refidx_a es igual al índice de referencia refidx de la partición actual), uno de i) la mediana de “MV_a”, el “valor escalado de MV_b” y el “valor escalado de MV_c”, ii) la mediana de “MV_a”, el “valor escalado de MV_b”, el “valor escalado de MV_c” y el “valor escalado de “MV_d”, iii) el promedio de “MV_a” y el “valor escalado de MV_b (siendo MV_b el vector de movimiento de la partición vecina B que tiene el índice de referencia más cercano al índice de referencia de la partición actual)”, y iv) “MV_a” se puede adquirir como el valor de predicción de vector de movimiento MVp de la partición actual.
Cuando dos de los índices de referencia refIdx_a, refidx_b, refidx_c y refidx_d de las particiones vecinas A, B, C y D son idénticos al índice de referencia refidx de la partición actual (por ejemplo, cuando los índices de referencia refidx_a y refidx_b son iguales al índice de referencia refidx de la partición actual), uno de i) la mediana de “MV_a”, “MV_b” y el “valor escalado de MV_c”, ii) la mediana de “MV_a”, “MV_b”, el “valor escalado de MV_c” y el “valor escalado de “MV_d”, iii) el promedio de “MV_a” y “MV_b”, y iv) “MV_a (o MV_b)” se puede adquirir como el valor de predicción de vector de movimiento MVp de la partición actual.
Cuando tres de los índices de referencia refidx_a, refidx_b, refidx_c y refidx_d de las particiones vecinas A, B, C y D son idénticos al índice de referencia refidx de la partición actual (por ejemplo, cuando los índices de referencia refidx_a, refidx_b y refidx_c son igual al índice de referencia refidx de la partición actual), uno de i) la mediana de “MV_a”, “MV_b” y “MV_c”, ii) la mediana de “MV_a”, “MV_b”, “MV_c” y el “valor escalado de “MV_d”, iii) el promedio de “MV_a”, “MV_b” y “MV_c”, y iv) “MV_a (o MV_b o MV_c)” se puede adquirir como el valor de predicción de vector de movimiento MVp de la partición actual.
Cuando alguno de los índices de referencia refidx_a, refidx_b, refidx_c y refidx_d de las particiones vecinas A, B, C y D no es idéntico al índice de referencia refidx de la partición actual, uno de i) la mediana del “valor escalado de MV_a”, el “valor escalado de MV_b” y el “valor escalado de MV_c”, ii) la mediana del “valor escalado de MV_a”, el “valor escalado de MV_b”, el “valor escalado MV_c” y el “valor escalado de “MV_d”, y iii) la mediana del “valor escalado de MV_a”, el “valor escalado de “MV_b” y el “valor escalado de “MV_d” se puede adquirir como el valor de predicción de vector de movimiento MVp de la partición actual.
El método mencionado anteriormente de obtención del valor de predicción de vector de movimiento MVp de la partición actual usando la mediana o el promedio de los vectores de movimiento (o vectores de movimiento escalados) de las particiones vecinas es ejemplar. Es decir, mientras que las cuatro particiones vecinas (particiones izquierda, superior, superior izquierda y superior derecha) de la partición actual se pueden usar como se ha descrito anteriormente, también se pueden usar tres particiones vecinas (particiones izquierda, superior y superior derecha).
Además, el método de escalado de vector de movimiento mencionado anteriormente se puede realizar en una partición vecina temporal de la partición actual, así como en una partición vecina espacial de la misma para predecir el vector de movimiento de la partición actual. La partición vecina espacial de la partición actual es una partición situada a la izquierda o en la parte superior de la partición actual en la misma imagen (o segmento) que la de la partición actual. La partición vecina temporal de la partición actual está situada en la posición correspondiente a la partición actual en una imagen diferente de la imagen correspondiente a la partición actual, tal como una partición situada conjuntamente de la partición actual. Según una realización no cubierta por la invención reivindicada, es posible obtener el valor de predicción de vector de movimiento de la partición actual usando los vectores de movimiento de la partición vecina temporal así como el vector de movimiento de la partición vecina espacial, que se describirá en detalle a continuación.
Según la presente invención, como se ha descrito anteriormente, cuando la predicción de vector de movimiento se realiza usando un vector de movimiento de una partición vecina que tiene un índice de referencia (o imagen de referencia) diferente al de la partición actual, es posible mejorar la precisión de la predicción de vector de movimiento escalando el vector de movimiento de la partición vecina.
Según una realización de la presente invención, es posible usar un vector de movimiento de una partición vecina que tenga una lista de imágenes de referencia diferente a la de la partición actual así como un vector de movimiento de una partición vecina que tenga la misma lista de imágenes de referencia y el mismo índice de referencia que los de la partición actual, para la predicción de vector de movimiento de la partición actual.
Como se ha descrito anteriormente, un segmento B que realiza predicción bidireccional tiene dos listas de imágenes de referencia: la lista de imágenes de referencia 0 (Lista 0) y la lista de imágenes de referencia 1 (Lista 1). Se hace referencia a la predicción que usa la Lista 0 como predicción L0 y se hace referencia a la predicción que usa la Lista 1 como predicción L1. Haciendo referencia a la FIG. 9, el segmento B puede indicar la misma imagen de referencia de diferentes listas de imágenes de referencia. Esta situación puede ocurrir en un entorno de bajo retardo en el que solamente se hace referencia a una imagen anterior. En la FIG. 9, la imagen n-1 corresponde a la primera imagen de referencia de la Lista 1 mientras que es la imagen de referencia de orden 0 de la Lista 0, y la imagen n-2 corresponde a la imagen de referencia de orden 0 de la Lista 1 mientras que es la primera imagen de referencia de la Lista 0.
Por consiguiente, la presente invención puede usar un vector de movimiento de una partición vecina que se refiere a la misma imagen de referencia que la de la partición actual para la predicción de vector de movimiento de la partición actual, incluso aunque la partición actual y la partición vecina usen listas de imágenes de referencia diferentes. Aquí, se pueden determinar si una partición se refiere a la misma imagen de referencia de listas de imágenes de referencia diferentes sobre la base del recuento de orden de imágenes (POC).
El POC representa un número asignado a la imagen en orden temporal. Por consiguiente, las imágenes de referencia que tienen POC más pequeños que el POC de una imagen de codificación objetivo son imágenes pasadas, mientras que las imágenes de referencia que tienen POC más grandes que el POC de la imagen de codificación objetivo son imágenes futuras.
Las FIGS. 10 y 11 muestran particiones vecinas ejemplares que tienen la misma imagen de referencia que la de la partición actual y listas de imágenes de referencia diferentes de las de la partición actual. En las FIGS. 10 y 11, predFlagL0 y predFlagL1 son valores de bandera de lista que indican si una partición correspondiente se refiere a las listas de imágenes de referencia Lista0 y Lista1. Cuando un valor de bandera de lista es 1, la partición correspondiente se refiere a la lista de imágenes de referencia correspondiente. Cuando el valor de bandera de lista es 0, la partición correspondiente no hace referencia a la lista de imágenes de referencia correspondiente. refIdxL0 y refIdxL1 son valores de índice de referencia en las listas correspondientes cuando los valores de bandera de lista predFlagL0 y predFlagL1 correspondientes a los mismos son 1. El valor del índice de referencia se establece en -1 cuando un valor de bandera de lista correspondiente al mismo es 0, es decir, no se hace referencia a la lista de imágenes de referencia correspondiente.
Haciendo referencia a la FIG. 10, la partición actual Cur tiene un valor predFlagL0 de 1 que indica una predicción L0 y un valor refldxL0 de 0, y de este modo un vector de movimiento de la partición actual Cur se puede predecir usando vectores de movimiento de particiones vecinas A y C que tienen el mismo valor de bandera de lista predFlagL0 de 1 (la misma lista de imágenes de referencia) y el mismo índice de referencia reldxL0 de 0 que los de la partición actual Cur. La partición B tiene un valor predFlagL0 de 0 que es diferente del de la partición actual, un valor predFlagL1 de 1 que indica una predicción L1, y un valor refldxL1 de 1. Un POC de una imagen correspondiente al índice de referencia ref_idx, 1, de la Lista1 es 4 que es igual al POC de la imagen correspondiente al índice de referencia de 0 de la Lista0, al que se hace referencia por la partición actual. Esto representa que la partición B y la partición actual se refieren a la misma imagen de referencia. La presente invención puede usar el vector de movimiento de una partición que se refiere a la misma imagen de referencia (el mismo POC) que la de la partición actual para la predicción de vector de movimiento de la partición actual incluso si la imagen de referencia es de listas de imágenes de referencia diferentes. Por consiguiente, en la FIG. 10, el valor de predicción de vector de movimiento de la partición actual se puede adquirir usando la mediana del vector de movimiento de la
partición A en la dirección L0, el vector de movimiento de la partición B en la dirección L1 y el vector de movimiento de la partición C en la dirección L0.
Haciendo referencia a la FIG. 11, la partición actual Cur tiene un valor predFlagL0 de 1 que indica predicción L0, las particiones B y C tienen valores predFlagL0 y predFlagL1 de 0 que indica intra predicción, y la partición A tiene un valor predFlagL1 de 1 que indica predicción L1. El valor de POC, 4, de la imagen correspondiente al índice de referencia ref_idx, 0, de la Lista0 al que se hace referencia por la partición actual es igual al valor de POC de la imagen correspondiente al índice de referencia ref_idx, 1, de la Lista1 al que se hace referencia por la partición A. Esto representa que la partición A y la partición actual se refieren a la misma imagen de referencia. Por consiguiente, la presente invención puede usar el vector de movimiento de la partición A en la dirección L1 para la predicción de vector de movimiento de la partición actual.
Como se ha descrito anteriormente, las realizaciones de la presente invención pueden seleccionar un vector de movimiento de una partición inter modo que tiene el mismo POC que el de la partición actual, es decir, la misma imagen de referencia que la de la partición actual incluso si la imagen de referencia es de diferentes listas de imágenes de referencia además de un vector de movimiento de una partición inter modo que tiene el mismo índice de referencia de la misma lista de imágenes de referencia que los de la partición actual entre las particiones vecinas y usan los vectores de movimiento para la predicción de vector de movimiento de la partición actual.
La técnica de predicción del vector de movimiento de la partición actual se puede extender a una técnica de predicción de vector de movimiento avanzada (AMVP) que recopila un grupo de candidatos de predicción de vector de movimiento de particiones vecinas espaciales y temporales de la partición actual y adquiere el valor de predicción de vector de movimiento de la partición actual. Se hace referencia a seleccionar el mejor vector de movimiento de los candidatos de vector de movimiento incluidos en el grupo de candidatos de predicción de vector de movimiento para usar el mejor vector de movimiento como valor de predicción de vector de movimiento como competencia de vectores de movimiento.
Haciendo referencia a la FIG. 12, el estimador de movimiento 264 del decodificador de señal de vídeo según la presente invención incluye un selector de vector de movimiento de partición vecina 282 que selecciona un vector de movimiento de partición vecina a ser incluido en un grupo de candidatos de predicción de vector de movimiento de la partición actual, un escalador de vector de movimiento 284 que escala el vector de movimiento de partición vecina seleccionado cuando una imagen de referencia de la partición vecina es diferente de la de la partición actual, una unidad de adquisición de valor de predicción de vector de movimiento 286 que adquiere un valor de predicción de vector de movimiento de la partición actual usando el grupo de candidatos de predicción de vector de movimiento que incluye el vector de movimiento de partición vecina escalado, y una unidad de adquisición de vector de movimiento 288 que adquiere un vector de movimiento de la partición actual usando el valor de predicción de vector de movimiento. El selector de vector de movimiento de partición vecina 282 puede recopilar candidatos de vector de movimiento de particiones vecinas espaciales y temporales de la partición actual. La unidad de adquisición de vector de movimiento 288 puede calcular el vector de movimiento de la partición actual sumando el valor de predicción de vector de movimiento obtenido a través de la unidad de adquisición de valor de predicción de vector de movimiento 286 y un vector de movimiento diferencial.
El estimador de movimiento 164 del codificador de señal de video puede incluir un selector de vector de movimiento de partición vecina, un escalador de vector de movimiento, una unidad de adquisición de valor de predicción de vector de movimiento y una unidad de adquisición de vector de movimiento, que tengan las mismas funciones que las del estimador de movimiento 264 antes mencionado del decodificador de señal de vídeo según la presente invención.
Haciendo referencia a la FIG. 13, el grupo de candidatos de predicción de vector de movimiento de la partición actual puede incluir un vector de movimiento a’ seleccionado de un grupo izquierdo correspondiente a un grupo de particiones vecinas izquierdas A0, A1, ..., AnA de la partición actual, un vector de movimiento b’ seleccionado de un grupo superior correspondiente a un grupo de particiones vecinas superiores B0, B1, ..., BnB de la partición actual, y un vector de movimiento c’ seleccionado de un grupo de esquina correspondiente a un grupo de particiones C, D y E que son diagonalmente adyacentes a la partición actual.
La mediana de los vectores de movimiento a’, b’ y c’ se puede derivar e incluir en el grupo de candidatos de predicción de vector de movimiento. En este caso, es posible usar i) la mediana de los tres vectores de movimiento a’ , b’ y c’ cuando los vectores de movimiento a’, b’ y c’ están todos disponibles, ii) la mediana de dos de los vectores de movimiento a’, b’ y c’ asignando 0 al vector de movimiento no disponible cuando solamente los dos vectores de movimiento están disponibles, iii) un vector de movimiento disponible cuando solamente está disponible uno de los tres vectores de movimiento, y iv) 0 cuando todos de los tres vectores de movimiento no están disponibles. Los vectores de movimiento a’, b’ y c’ no se incluyen en el grupo de candidatos de predicción de vector de movimiento cuando no se pueden establecer valores disponibles para los mismos.
Además de los vectores de movimiento de las particiones vecinas espaciales antes mencionadas, se puede incluir un vector de movimiento de una partición vecina temporal en el grupo de candidatos de predicción de vector de movimiento. En este caso, el vector de movimiento de la partición vecina temporal se puede incluir de manera
adaptativa en el grupo de candidatos de predicción de vector de movimiento. Es decir, se puede usar adicionalmente información de competencia temporal que representa si el vector de movimiento de la partición vecina temporal se usa para la competencia de vector de movimiento. Por consiguiente, cuando se usa la competencia de vectores de movimiento para la adquisición de un valor de predicción de vector de movimiento de la unidad de predicción actual, es posible restringir el uso del vector de movimiento de la partición vecina temporal como candidato de predicción de vector de movimiento sobre la base de la información de competencia temporal. La información de competencia temporal se somete a competencia de vectores de movimiento y, de este modo, la información de competencia temporal se puede adquirir solamente cuando la información de indicación de competencia de movimiento indique que se usa competencia de vectores de movimiento.
Los vectores de movimiento a’, b’ y c’ a ser incluidos en el grupo de candidatos de predicción de vector de movimiento, mostrados en la FIG. 13, se pueden seleccionar de los grupos (grupo izquierdo, grupo superior y grupo de esquina) de las particiones vecinas espaciales de la partición actual a través de diversos métodos.
Las particiones en cada grupo se pueden buscar secuencialmente de una dirección a la otra dirección para particiones inter modo que tengan la misma lista de imágenes de referencia y el mismo índice de referencia que las de la partición actual, y se puede incluir un vector de movimiento de la primera partición detectada en el grupo de candidatos de predicción de vector de movimiento.
Alternativamente, las particiones en cada grupo se pueden buscar secuencialmente de una dirección a la otra dirección para particiones que tengan el inter modo independientemente de las listas de imágenes de referencia y los índices de referencia, y un vector de movimiento de la primera partición detectada se puede incluir en el grupo de candidatos de predicción de vector de movimiento. En este caso, el vector de movimiento seleccionado de cada grupo incluye un valor escalado según la realización de la presente invención.
Alternativamente, se puede seleccionar un vector de movimiento de una partición que tenga el inter modo solamente en el caso en el que no se pueda buscar un vector de movimiento disponible a través de las listas de imágenes de referencia y los índices de referencia para cada grupo. Es decir, i) las particiones en cada grupo se pueden buscar secuencialmente de una dirección a la otra dirección para particiones inter modo que tengan la misma lista de imágenes de referencia y el mismo índice de referencia que las de la partición actual, y se puede incluir un vector de movimiento de la primera partición detectada en el grupo de candidatos de predicción de vector de movimiento. Si no hay un vector de movimiento disponible, ii) las particiones en cada grupo se pueden buscar secuencialmente de una dirección a la otra dirección para particiones que tengan el inter modo, se puede seleccionar un vector de movimiento de la primera partición detectada, y un valor escalado de vector de movimiento se puede incluir en el grupo de candidatos de predicción de vector de movimiento.
De otro modo, es posible establecer las siguientes condiciones de selección de grupo de candidatos de predicción de vector de movimiento con el fin de seleccionar los vectores de movimiento disponibles a ser incluidos en el grupo de candidatos de predicción de vector de movimiento para cada grupo. Las condiciones de selección de grupo de candidatos de predicción de vector de movimiento según la presente invención se describirán ahora con referencia a la FIG. 16.
i) (Condición 1) Se comprueba si una partición vecina es una partición inter modo que tenga la misma lista de imágenes de referencia y la misma imagen de referencia que las de la partición actual (S102). Aquí, se buscan particiones inter modo que tengan la misma lista de imágenes de referencia y la misma imagen de referencia que las de la partición actual.
ii) Cuando no se satisface la condición 1, (condición 2) se comprueba si una partición vecina es una partición inter modo que tenga la misma imagen de referencia que la de la partición actual (S104). En este caso, se buscan las particiones inter modo que tengan la misma imagen de referencia que la de la partición actual mientras que tienen una lista de imágenes de referencia diferente de la de la partición actual.
iii) Cuando no se satisfacen las condiciones 1 y 2, (condición 3) se comprueba si una partición vecina es una partición inter modo que tenga la misma imagen de referencia que la de la partición actual (S106). En este caso, se buscan particiones inter modo que tengan la misma lista de imágenes de referencia que la de la partición actual, mientras que tienen una imagen de referencia diferente de la de la partición actual.
iv) Cuando no se satisfacen las condiciones 1, 2 y 3, (condición 4) se comprueba si una partición vecina es una partición inter modo (S108). En este caso, se buscan las particiones inter modo que no cumplen las condiciones 1,2 y 3, es decir, particiones inter modo que tengan una lista de imágenes de referencia y una imagen de referencia diferentes de las de la partición actual.
Para recopilar el grupo de candidatos de predicción de vector de movimiento para la predicción de vector de movimiento de la partición actual, se puede comprobar si las particiones incluidas en los grupos antes mencionados (grupo izquierdo, grupo superior y grupo de esquina) satisfacen las condiciones 1 a 4 buscando las particiones en un orden predeterminado. En este caso, es posible buscar las particiones de cada grupo en diversos órdenes según una combinación apropiada de las condiciones de selección de grupo de candidatos de predicción de vector de movimiento y el orden de posición de partición. El vector de movimiento de la primera partición vecina que satisface
las condiciones durante el proceso de búsqueda se puede seleccionar e incluir en el grupo de candidatos de predicción de vector de movimiento.
Si se selecciona un vector de movimiento de una partición vecina que satisface las condiciones 1 y 2 (S110), el vector de movimiento seleccionado se puede incluir en el grupo de candidatos de predicción de vector de movimiento, dado que el vector de movimiento tiene la misma imagen de referencia que la del vector de movimiento de la partición actual (S120). Si se selecciona un vector de movimiento de una partición vecina que satisface las condiciones 3 y 4 (S112), el vector de movimiento seleccionado se puede escalar (S114) e incluir en el grupo de candidatos de predicción de vector de movimiento (S120). No obstante, si no hay ningún vector de movimiento de partición vecina que satisfaga alguna de las condiciones 1 a 4, se considera que no está presente un vector de movimiento de partición vecina disponible (S130).
Se dará una descripción de ejemplos de orden de búsqueda de vectores de movimiento de partición vecina a ser seleccionados como el grupo de candidatos de predicción de vector de movimiento según las combinaciones de las condiciones de selección del grupo de candidatos de predicción de vector de movimiento y el orden de posición de partición para las particiones vecinas incluidas en cada grupo con referencia a las Tablas 1 a 4. No obstante, el orden de búsqueda de vectores de movimiento de partición vecina a ser seleccionados como el grupo de candidatos de predicción de vector de movimiento se puede cambiar de diversas maneras.
En las siguientes realizaciones, ‘búsqueda de primera condición’ significa un proceso de búsqueda de particiones de manera secuencial en un grupo, que satisface una de las condiciones de selección de grupo de candidatos de predicción de vector de movimiento, según el orden de posiciones de las particiones y luego repetir el mismo proceso para la siguiente condición, y ‘búsqueda de primera posición de partición’ significa un proceso de comprobación de manera secuencial si una partición vecina satisface las cuatro condiciones de selección de grupo de candidatos de predicción de vector de movimiento y luego repetir el mismo proceso para la siguiente partición vecina.
Es decir, la ‘búsqueda de primera condición’ proporciona una prioridad más alta a las condiciones de selección de grupo de candidatos de predicción de vector de movimiento para las particiones en cada grupo, mientras que la ‘búsqueda de primera posición de partición’ proporciona una prioridad más alta al orden de las posiciones de las particiones de cada grupo. Aquí, el orden de posición de partición es un orden predeterminado de las particiones vecinas de una dirección a la otra dirección.
En las Tablas 1 a 4, la partición 0, la partición 1 y la partición 2 son particiones del mismo grupo, que están dispuestas en orden de posición. La partición 0 representa la primera partición del grupo correspondiente y la partición 2 representa la última partición del grupo. El número de particiones incluidas en un grupo no necesita ser 3. En las Tablas 1 a 4, los números representan números de orden de búsqueda.
Tabla 1
Con referencia a la Tabla 1, la búsqueda de primera condición se puede realizar en las particiones de cada grupo. Específicamente, las particiones 0 a 2 se buscan secuencialmente para localizar particiones que satisfagan la condición 1, y el vector de movimiento de la primera partición detectada que satisface la condición 1 se selecciona como vector de movimiento a ser incluido en el grupo de candidatos de predicción de vector de movimiento. Si no hay ninguna partición que satisfaga la condición 1, las particiones 0 a 2 se buscan de la misma manera para las condiciones 2, 3 y 4.
Tabla 2
Haciendo referencia a la Tabla 2, la búsqueda de primera posición de partición se puede realizar en las particiones de cada grupo. Específicamente, se comprueba secuencialmente si la partición 0 satisface las condiciones 1 a 4 y, si la partición 0 satisface alguna de las condiciones 1 a 4, el vector de movimiento de la partición 0 se selecciona como vector de movimiento a ser incluido en el grupo de candidatos de predicción de vector de movimiento. Cuando la partición 0 no satisface ninguna de las condiciones 1 a 4, el mismo proceso de búsqueda se realiza secuencialmente en las particiones 1 y 2.
Tabla 3
Haciendo referencia a la Tabla 3, se puede realizar una combinación de búsqueda de primera condición y búsqueda de primera posición de partición en las particiones de cada grupo. Específicamente, la búsqueda de primera condición con respecto a la condición 1 se realiza en las particiones 0, 1 y 2 para comprobar secuencialmente si las particiones 0, 1 y 2 satisfacen la condición 1, y el vector de movimiento de la primera partición que satisface la condición 1 se selecciona como vector de movimiento a ser incluido en el grupo de candidatos de predicción de vector de movimiento.
Si no hay ninguna partición que satisfaga la condición 1, se realiza la búsqueda de primera posición de partición para las otras condiciones. Específicamente, se comprueba secuencialmente si la partición 0 satisface las condiciones 2, 3 y 4 y, si la partición 0 satisface alguna de las condiciones 2, 3 y 4, el vector de movimiento de la partición 0 se selecciona como vector de movimiento a ser incluido en el grupo de candidatos de predicción de vector de movimiento. Si la partición 0 no satisface ninguna de las condiciones 2, 3 y 4, se realiza el mismo proceso de búsqueda en la partición 1. Por consiguiente, en el ejemplo de la Tabla 3, la búsqueda de primera condición se realiza usando la condición 1 como la condición de máxima prioridad y, cuando no hay ninguna partición que satisfaga la condición 1, la búsqueda de primera posición de partición se lleva a cabo en las otras condiciones.
Tabla 4
Haciendo referencia a la Tabla 4, se puede realizar una combinación de la búsqueda de primera condición y la búsqueda de primera posición de partición en las particiones de cada grupo. Específicamente, la búsqueda de primera posición de partición se realiza en la partición 0 para comprobar secuencialmente si la partición 0 satisface las condiciones 1 a 4 y, si la partición 0 satisface alguna de las condiciones 1 a 4, el vector de movimiento de la partición 0 se selecciona como vector de movimiento a ser incluido en el grupo de candidatos de predicción de vector de movimiento.
Si la partición 0 no satisface ninguna de las condiciones 1 a 4, la búsqueda de primera condición se realiza en las particiones restantes. Específicamente, se comprueba secuencialmente si las particiones 1 y 2 cumplen la condición 1 y el vector de movimiento de la primera partición que satisface la condición 1 se selecciona como vector de movimiento a ser incluido en el grupo de candidatos de predicción de vector de movimiento. Si alguna de las particiones 1 y 2 no satisface la condición 1, se realiza el mismo proceso de búsqueda para la condición 2. Es decir, en el ejemplo de la Tabla 4, el proceso de búsqueda se realiza usando la partición 0 como la condición de búsqueda
de prioridad máxima y, cuando la partición 0 no cumple ninguna de las condiciones 1 a 4, la búsqueda de primera condición se lleva a cabo en las particiones restantes.
Los vectores de movimiento a’, b’ y c’ seleccionados por los métodos mencionados anteriormente afectan a i) la mediana de los vectores de movimiento a’, b’ y c’ y ii) un aumento del número de vectores de movimiento incluidos en el grupo de candidatos de predicción de vector de movimiento. Es decir, un vector de movimiento de partición vecina, que no se incluye en el grupo de candidatos de predicción de vector de movimiento debido a que no está disponible, puede llegar a estar disponible según el escalado de vector de movimiento de la presente invención y se puede incluir en el grupo de candidatos de predicción de vector de movimiento.
Los dos factores anteriores son independientes uno de otro y es posible determinar si se aplica o no el escalado de vector de movimiento a cada factor. Por ejemplo, si el escalado de vector de movimiento se aplica solamente a la mediana de los vectores de movimiento, solamente se cambia la mediana mientras que se mantiene el número de candidatos de vector de movimiento. Si se aplica el escalado de vector de movimiento para aumentar el número de candidatos de vector de movimiento, la mediana es igual al valor en AMVP pero aumenta el número de candidatos de vector de movimiento. También es posible aplicar un escalado de vector de movimiento a ambos factores.
Según una realización de la presente invención, el intervalo de selección de vectores de movimiento de partición vecina a ser incluidos en el grupo de candidatos de predicción de vector de movimiento se puede estrechar, como se muestra en la FIG. 14. Es decir, una partición vecina inferior izquierda Am+i de la partición actual y la partición inferior Am entre las particiones vecinas izquierdas de la partición actual pueden formar un primer grupo y una partición vecina superior derecha Bn+1 de la partición actual y la partición de más a la derecha Bn entre las particiones vecinas superiores de la partición actual puede formar un segundo grupo. El grupo de candidatos de predicción de vector de movimiento de la partición actual puede incluir el vector de movimiento a’ seleccionado del primer grupo y el vector de movimiento b’ seleccionado del segundo grupo. Además de los vectores de movimiento de las particiones vecinas espaciales, los vectores de movimiento de las particiones vecinas temporales se pueden incluir en el grupo de candidatos de predicción de vector de movimiento, como se ha descrito anteriormente. Cuando el número de vectores de movimiento de partición vecina espacial incluidos en el grupo de candidatos de predicción de vector de movimiento se reduce de esta manera, se puede disminuir el tiempo de cálculo y la complejidad requeridos para seleccionar vectores de movimiento de partición vecina.
Se dará una descripción del orden de búsqueda de vectores de movimiento de partición vecina a ser incluidos en el grupo de candidatos de predicción de vector de movimiento según las combinaciones de las condiciones de selección de grupo de candidatos de predicción de vector de movimiento y el orden de posición de partición para el primer y segundo grupos que tienen un número reducido de candidatos de vector de movimiento. En las siguientes realizaciones, no cubiertas por la invención reivindicada, las definiciones de ‘condiciones de selección de grupo de candidatos de predicción de vector de movimiento’ y ‘orden de posición de partición’ corresponden a los de los ejemplos de las Tablas 1 a 4. El orden de búsqueda se puede cambiar de diversas maneras. Además, en las siguientes realizaciones, se usa un vector de movimiento de una partición seleccionada cuando la partición satisface la condición 1 o 2 y se usa un vector de movimiento escalado de la partición cuando la partición cumple la condición 3 o 4, como se ha descrito anteriormente.
Tabla 5
Tabla 6
Tabla 7
Haciendo referencia a las Tablas 5 a 7, la búsqueda de primera posición de partición se puede realizar en las particiones de cada grupo. Como se muestra en la Tabla 5, se comprueba secuencialmente si la partición Am del primer grupo satisface las condiciones 1 a 4 y el vector de movimiento de la partición Am se selecciona como un vector de movimiento a ser incluido en el grupo de candidatos de predicción de vector de movimiento si la partición Am satisface cualquiera de las condiciones 1 a 4. Si la partición Am no satisface ninguna de las condiciones 1 a 4, se realiza el mismo proceso de búsqueda en la partición Am+1.
Haciendo referencia a la Tabla 6, se cambia el orden de búsqueda de partición, el proceso de búsqueda se realiza en la partición Am+1 primero y, si la partición Am+1 no satisface ninguna de las condiciones 1 a 4, el proceso de búsqueda se realiza en la partición Am. Esta búsqueda de primera posición de partición se puede realizar en las particiones en el segundo grupo de la misma manera, como se muestra en la Tabla 7.
Tabla 8
Tabla 9
Haciendo referencia a las Tablas 8 y 9, la búsqueda de primera condición se puede realizar en las particiones de cada grupo. Es decir, las particiones del primer y segundo grupos se buscan secuencialmente para particiones que satisfagan la condición 1 y el vector de movimiento de la primera partición que satisfaga la condición 1 se selecciona como vector de movimiento a ser incluido en el grupo de candidatos de predicción de vector de movimiento. Cuando no hay ninguna partición que cumpla con la condición 1, se puede realizar el mismo proceso de búsqueda en las particiones del primer y segundo grupos para las condiciones 2, 3 y 4.
Tabla 10
Tabla 11
Tabla 12
Haciendo referencia a las Tablas 10, 11 y 12, se puede realizar una combinación de búsqueda de primera condición y búsqueda de primera posición de partición en las particiones de cada grupo. Específicamente, la búsqueda de primera condición se realiza para la condición 1 para buscar secuencialmente las particiones del primer y segundo grupos según el orden de posición de partición para las particiones que satisfacen la condición 1, y el vector de movimiento de la primera partición que cumple la condición 1 se selecciona como vector de movimiento a ser incluido en el grupo de candidatos de predicción de vector de movimiento.
Si no hay ninguna partición que satisfaga la condición 1, se realiza una búsqueda de primera posición de partición para las otras condiciones. Específicamente, con referencia a la Tabla 10, se comprueba secuencialmente si la partición Am del primer grupo satisface las condiciones 2, 3 y 4 y, cuando la partición Am satisface alguna de las condiciones 2, 3 y 4, el vector de movimiento de la partición Am se selecciona como vector de movimiento a ser incluido en el grupo de candidatos de predicción de vector de movimiento. Si la partición Am no satisface ninguna de las condiciones 2, 3 y 4, se realiza el mismo proceso de búsqueda en la partición Am+1. El orden de búsqueda de partición para la búsqueda de primera posición de partición se puede cambiar, como se muestra en la Tabla 11. El proceso de búsqueda antes mencionado se puede realizar en las particiones del segundo grupo de la misma manera, como se muestra en la Tabla 12.
Según los ejemplos de las Tablas 10 a 12, el proceso de búsqueda se realiza usando la condición 1 como la condición de búsqueda de prioridad superior y, cuando no hay una partición que satisfaga la condición 1, la búsqueda de primera posición de partición se realiza en las otras condiciones.
Tabla 13
Tabla 14
Tabla 15
Tabla 16
Haciendo referencia a las Tablas 13 a 16, se realiza un proceso de búsqueda en las particiones de cada grupo para las condiciones 1 y 2 y, cuando no se puede seleccionar un vector de movimiento disponible a través del proceso de búsqueda para las condiciones 1 y 2, se lleva a cabo un proceso de búsqueda para las condiciones 3 y 4 en las particiones de cada grupo. En este caso, el proceso de búsqueda de las condiciones 1 y 2 y el proceso de búsqueda de las condiciones 3 y 4 pueden usar una cualquiera de la búsqueda de primera condición y la búsqueda de primera posición de partición. En las realizaciones de la presente invención, no es necesario realizar un escalado de vector de movimiento en particiones vecinas que satisfagan las condiciones 1 y 2 debido a que las particiones vecinas se refieren a la misma imagen de referencia que la de la partición actual. Los vectores de movimiento de las particiones vecinas que no requieren escalado de vector de movimiento se pueden buscar preferentemente para reducir la frecuencia y complejidad del proceso de escalado de vector de movimiento.
Además, la búsqueda de algunas particiones se puede omitir con el fin de reducir la complejidad disminuyendo el número de casos de búsqueda. Por ejemplo, solamente se pueden buscar la primera a quinta particiones del primer grupo omitiendo la búsqueda de la sexta, séptima y octava particiones. De otro modo, la búsqueda de la sexta, séptima, octava, décima, undécima y duodécima particiones del segundo grupo se puede omitir en el caso de la Tabla 7, y la búsqueda de la quinta, sexta, octava, novena, undécima y duodécima particiones del segundo grupo se puede omitir en el caso de la Tabla 9. Es decir, es posible combinar la búsqueda de primera condición para una de las condiciones de selección de grupo de candidatos de predicción de vector de movimiento y la búsqueda de primera posición para una partición en cada grupo.
Para reducir la cantidad de información de transmisión relacionada con la inter predicción, se pueden usar el modo de fusión, el modo de salto o el modo de predicción que se describirán a continuación.
Haciendo referencia a la FIG. 15, en el modo de fusión, una partición se puede fusionar con particiones vecinas verticales, horizontales o diagonales A, B, C o D. Aquí, la fusión sirve para adquirir información de predicción para la inter predicción de imágenes de la partición actual a partir de la información de inter predicción de una partición vecina. La fusión de particiones se puede representar usando información que indica si una partición correspondiente se fusiona (por ejemplo, merge_flag), Información que indica qué partición (por ejemplo, la partición superior A entre las particiones vecinas de la izquierda, la partición de más a la izquierda B entre las particiones
vecinas superiores, la partición vecina superior derecha C o la partición vecina inferior izquierda D) se fusiona, etc. Esta información que indica qué partición se fusiona se puede adquirir solamente cuando se indica la fusión de la partición actual (merge_flag = 1).
En el modo de fusión, la información de movimiento de la partición actual se puede adquirir usando información de movimiento de cuatro o menos particiones vecinas espaciales e información de movimiento de una partición vecina temporal como la información que indica qué partición se fusiona.
El modo de salto usa información de movimiento de una partición codificada anteriormente como información de movimiento acerca de la partición actual cuando se restaura la partición actual. Por consiguiente, no se transmite en el modo de salto información distinta de la información que indica una partición a ser saltada. En este caso, la información de movimiento necesaria para la predicción se puede derivar de vectores de movimiento de partición vecina.
En el modo de salto, se pueden usar los valores de píxeles de una región de referencia en una imagen de referencia codificada anteriormente. Los valores de píxeles de la región de referencia se pueden acompañar de compensación de movimiento usando un valor de predicción de vector de movimiento. No obstante, la partición actual puede tener información de vector de movimiento cuando se usa la competencia de vectores de movimiento cuando se adquiere el valor de predicción de vector de movimiento.
Cuando la partición actual no está codificada en el modo de salto, la partición actual se puede codificar directamente en el modo de predicción. El modo de predicción directa predice la información de movimiento de la partición actual a partir de información de movimiento de una partición decodificada. El modo de predicción directa se distingue del modo de salto en el sentido de que la partición actual tiene un residuo.
Según las realizaciones no cubiertas por la invención reivindicada, es posible unificar métodos de predicción de información de movimiento en todos los modos aplicando el método de adquisición de información de movimiento de una partición vecina, usado en el modo de fusión, al modo de salto y al inter modo normal. Es decir, la información de movimiento de una partición vecina espacial se usa en el modo de salto y en el inter modo normal como en el modo de fusión, en lugar de realizar un proceso de búsqueda en un orden predeterminado para obtener información de movimiento disponible en el modo de salto y en el inter modo normal. No obstante, dado que el índice de referencia o la dirección de predicción de la partición actual se conoce en el modo de salto o en el inter modo normal, distinguido del modo de fusión, es posible usar un vector de movimiento de una partición vecina como vector de movimiento disponible incluido en el grupo de candidatos de predicción de vector de movimiento cuando la partición vecina tiene la misma imagen de referencia que la de la partición actual y para excluir el vector de movimiento de la partición vecina del grupo de candidatos de predicción de vector de movimiento procesando el vector de movimiento como un vector de movimiento no disponible cuando la imagen de referencia de la partición vecina es diferente de la imagen de referencia de la partición actual. Alternativamente, cuando la imagen de referencia de la partición vecina es diferente de la imagen de referencia de la partición actual, es posible calcular un vector de movimiento correspondiente a la información de movimiento de la partición actual usando el método de escalado de vector de movimiento propuesto por la presente invención y usar el vector de movimiento calculado como vector de movimiento incluido en el grupo de candidatos de predicción de vector de movimiento.
Para aumentar la precisión de la compensación de movimiento, se puede usar una precisión de píxeles de menos de un número entero de píxeles. En este caso, se genera un valor de píxel menor que un número entero de píxeles usando interpolación de valores de píxeles de una imagen de referencia.
Cuál se usa del modo de inter predicción, el modo de predicción directa, el modo de inter predicción y el modo de salto para la predicción se puede representar usando información del modo de predicción o una bandera que indique si se ha usado el modo correspondiente. En un caso específico, el modo correspondiente se puede derivar usando otra información.
Puede ser posible comprimir los vectores de movimiento y transmitir los vectores de movimiento comprimidos para reducir la información de transmisión de vector de movimiento. Por ejemplo, se puede usar un filtro de mediana para que los vectores de movimiento se almacenen para obtener un valor de compresión. Para lograr esto, se puede transmitir adicionalmente información que representa si se usa compresión de vector de movimiento e información acerca de una relación de compresión. Además, es posible simplemente almacenar el primer vector de movimiento superior izquierdo, usar el vector de movimiento como un valor de referencia y transmitir las diferencias entre el valor de referencia y los otros vectores de movimiento para reducir la complejidad de cálculo.
Mientras tanto, la transformación (por ejemplo, DCT) de una imagen se realiza en una unidad diferente de la unidad de predicción. Se hace referencia a esta unidad como unidad de transformación en la siguiente descripción. La unidad de transformación normalmente tiene forma cuadrada para la DCT y se puede segmentar recursivamente de manera similar a la unidad de codificación. El tamaño de la unidad de transformación se puede establecer en el tamaño más eficiente según las características de la imagen y puede ser menor o mayor que la unidad de predicción. Una unidad de predicción puede incluir una pluralidad de unidades de transformación en general.
La estructura y el tamaño de la unidad de transformación son similares a los de la unidad de codificación como se ha descrito anteriormente. Por ejemplo, una unidad de transformación se puede segmentar de manera recursiva en cuatro unidades de transformación en forma de árbol cuádruple. La información acerca de la estructura de la unidad de transformación puede incluir una altura máxima (o profundidad de segmentación) de un árbol de unidades de transformación predeterminado, un tamaño máximo de la unidad de transformación, un tamaño mínimo de la unidad de transformación, la diferencia entre el tamaño máximo y el tamaño mínimo de la unidad de transformación, y/o registros de estos valores, una profundidad de la unidad de transformación y un tamaño de la unidad de transformación, que se derivan usando los valores, etc. La profundidad de segmentación máxima de la unidad de transformación puede depender del modo de predicción de la unidad correspondiente. El tamaño de la unidad de codificación puede afectar al tamaño de la unidad de transformación.
Para la unidad de transformación, es posible adquirir información que represente si se ha segmentado la unidad de transformación actual. Por ejemplo, cuando esta información indica que se ha segmentado la unidad de transformación correspondiente, la unidad de transformación correspondiente se puede segmentar además de manera recursiva en cuatro unidades de transformación.
Los métodos de decodificación/codificación a los que se aplica la presente invención se pueden implementar como código que se puede escribir en un medio de grabación legible por ordenador y, de este modo, leer por un procesador. El medio de grabación legible por ordenador puede ser cualquier tipo de dispositivo de grabación en el que se almacenan datos de una manera legible por ordenador. Ejemplos de medio de grabación legible por ordenador incluyen una ROM, una RAM, un CD-ROM, una cinta magnética, un disquete, un almacenamiento óptico de datos y una onda portadora (por ejemplo, transmisión de datos a través de Internet). Un flujo de bits generado según el método de codificación se puede almacenar en un medio de grabación legible por ordenador o transmitir usando una red de comunicación cableada/inalámbrica.
Las realizaciones de la presente invención se pueden implementar por diversos medios, por ejemplo, hardware, microprograma, software o combinaciones de los mismos. Cuando las realizaciones de la presente invención se implementan usando hardware, las realizaciones se pueden implementar usando al menos uno de Circuitos Integrados de Aplicaciones Específicas (ASIC), Procesadores de Señales Digitales (DSP), Dispositivos de Procesamiento de Señales Digitales (DSPD), Dispositivos Lógicos Programables (PLD), Agrupaciones de Puertas Programables en Campo (FPGA), procesadores, controladores, microcontroladores, microprocesadores y unidades eléctricas ideados para realizar la presente invención. En algunos casos, las realizaciones de la presente invención se pueden implementar como controladores.
En una configuración de software, las realizaciones de la presente invención se pueden implementar como módulos de software. Los módulos de software pueden ejecutar una o más funciones y operaciones descritas en la especificación. El código de software se puede implementar como una aplicación de software escrita en un lenguaje de programa apropiado. El código de software se puede almacenar en una memoria y ejecutar por un controlador. Aplicabilidad industrial
La presente invención es aplicable a la codificación y decodificación de señales de video.
Claims (6)
1. Un método para procesar mediante un aparato de decodificación una señal de video codificada en un flujo de bits, el método que comprende:
obtener información de índice de la señal de vídeo codificada, la información de índice que especifica un candidato de vector de movimiento a ser usado como un vector de movimiento predicho de un bloque actual; seleccionar al menos un vector de movimiento de al menos un bloque vecino espacial decodificado anteriormente;
construir un grupo de candidatos de predicción de vector de movimiento del bloque actual, el grupo de candidatos de predicción de vector de movimiento que comprende una pluralidad de candidatos de vector de movimiento que incluyen el al menos un vector de movimiento seleccionado;
adquirir el vector de movimiento predicho del bloque actual del grupo de candidatos de predicción de vector de movimiento, el vector de movimiento predicho del bloque actual que es el candidato de vector de movimiento especificado por la información de índice;
adquirir un vector de movimiento del bloque actual en base al vector de movimiento predicho; y
decodificar el bloque actual en base al vector de movimiento adquirido,
caracterizado por que seleccionar el al menos un vector de movimiento comprende:
paso (a): seleccionar el al menos un vector de movimiento en base a al menos un bloque vecino espacial que tiene la misma lista de imágenes de referencia y la misma imagen de referencia que el bloque actual;
paso (b): seleccionar el al menos un vector de movimiento en base a al menos un bloque vecino espacial que tiene una lista de imágenes de referencia diferente del bloque actual y la misma imagen de referencia que el bloque actual cuando no se ha seleccionado ningún vector de movimiento en el paso (a);
paso (c): seleccionar un vector de movimiento escalado del al menos un bloque vecino espacial en base a al menos un bloque vecino espacial que tiene la misma lista de imágenes de referencia que el bloque actual y una imagen de referencia diferente del bloque actual cuando no se ha seleccionado ningún vector de movimiento en el paso (a) y el paso (b); y
paso (d): seleccionar el vector de movimiento escalado del al menos un bloque vecino espacial en base a al menos un bloque vecino espacial que tiene la lista de imágenes de referencia diferente y la imagen de referencia diferente del bloque actual cuando no se ha seleccionado ningún vector de movimiento o vector de movimiento escalado en el paso (a), el paso (b) y el paso (c).
2. El método según la reivindicación 1, en donde el al menos un bloque vecino espacial incluye al menos uno de un bloque vecino inferior izquierdo (Am+1) del bloque actual, el bloque vecino más bajo (Am) entre los bloques vecinos izquierdos del bloque actual, un bloque vecino superior derecho (Bn+1) del bloque actual, un bloque vecino de más a la derecha (Bn) entre los bloques vecinos superiores del bloque actual y un bloque vecino superior izquierdo (B-1) del bloque actual.
3. Un aparato de decodificación (200) para procesar una señal de video codificada en un flujo de bits, el aparato que comprende:
una memoria (256); y
un procesador (254) conectado operativamente a la memoria y configurado para:
obtener información de índice de la señal de video codificada, la información de índice que especifica un candidato de vector de movimiento a ser usado como vector de movimiento predicho de un bloque actual, seleccionar al menos un vector de movimiento de al menos un bloque vecino espacial decodificado anteriormente,
construir un grupo de candidatos de predicción de vector de movimiento del bloque actual, el grupo de candidatos de predicción de vector de movimiento que comprende una pluralidad de candidatos de vector de movimiento que incluye el al menos un vector de movimiento seleccionado,
adquirir el vector de movimiento predicho del bloque actual a partir del grupo de candidatos de predicción de vector de movimiento, el vector de movimiento predicho del bloque actual que es el candidato de vector de movimiento especificado por la información de índice,
adquirir un vector de movimiento del bloque actual en base al vector de movimiento predicho, y
decodificar el bloque actual en base el vector de movimiento adquirido,
caracterizado por que seleccionar el al menos un vector de movimiento comprende:
paso (a): seleccionar el al menos un vector de movimiento en base a al menos un bloque vecino espacial que tiene una misma lista de imágenes de referencia y una misma imagen de referencia que el bloque actual; paso (b): seleccionar el al menos un vector de movimiento en base a al menos un bloque vecino espacial que tiene una lista de imágenes de referencia diferente del bloque actual y la misma imagen de referencia que el bloque actual cuando no se ha seleccionado ningún vector de movimiento en el paso (a);
paso (c): seleccionar un vector de movimiento escalado del al menos un bloque vecino espacial en base a al menos un bloque vecino espacial que tiene la misma lista de imágenes de referencia que el bloque actual y una imagen de referencia diferente del bloque actual cuando no se ha seleccionado ningún vector de movimiento en el paso (a) y el paso (b); y
paso (d): seleccionar el vector de movimiento escalado del al menos un bloque vecino espacial en base a al menos un bloque vecino espacial que tiene la lista de imágenes de referencia diferente y la imagen de referencia diferente del bloque actual cuando no se ha seleccionado ningún vector de movimiento o vector de movimiento escalado en el paso (a), el paso (b) y el paso (c).
4. El aparato (200) según la reivindicación 3, en donde el al menos un bloque vecino espacial incluye al menos uno de un bloque vecino inferior izquierdo (Am+1) del bloque actual, el bloque vecino más bajo (Am) entre los bloques vecinos izquierdos del bloque actual, un bloque vecino superior derecho (Bn+1) del bloque actual, un bloque vecino de más a la derecha (Bn) entre los bloques vecinos superiores del bloque actual, y un bloque vecino superior izquierdo (B-1) del bloque actual.
5. Un método para codificar una señal de video en un flujo de bits mediante un aparato de codificación, el método que comprende:
seleccionar al menos un vector de movimiento de al menos un bloque vecino espacial codificado anteriormente; construir un grupo de candidatos de predicción de vector de movimiento de un bloque actual, el grupo de candidatos de predicción de vector de movimiento que comprende una pluralidad de candidatos de vector de movimiento que incluye el al menos un vector de movimiento seleccionado;
determinar un vector de movimiento predicho del bloque actual del grupo de candidatos de predicción de vector de movimiento;
codificar un vector de movimiento del bloque actual en base al vector de movimiento predicho;
codificar el bloque actual en base el vector de movimiento; y
codificar la información de índice en la señal de vídeo, la información de índice que especifica el candidato de vector de movimiento a ser usado como el vector de movimiento predicho del bloque actual; caracterizado por que la selección del al menos un vector de movimiento comprende:
paso (a): seleccionar el al menos un vector de movimiento en base a al menos un bloque vecino espacial que tiene una misma lista de imágenes de referencia y una misma imagen de referencia que el bloque actual; paso (b): seleccionar el al menos un vector de movimiento en base a al menos un bloque vecino espacial que tiene una lista de imágenes de referencia diferente del bloque actual y la misma imagen de referencia que el bloque actual cuando no se ha seleccionado ningún vector de movimiento en el paso (a);
paso (c): seleccionar un vector de movimiento escalado del al menos un bloque vecino espacial en base a al menos un bloque vecino espacial que tiene la misma lista de imágenes de referencia que el bloque actual y una imagen de referencia diferente del bloque actual cuando no se ha seleccionado ningún vector de movimiento en el paso (a) y el paso (b); y
paso (d): seleccionar el vector de movimiento escalado del al menos un bloque vecino espacial en base a al menos un bloque vecino espacial que tiene la lista de imágenes de referencia diferente y la imagen de referencia diferente del bloque actual cuando no se ha seleccionado ningún vector de movimiento o vector de movimiento escalado en el paso (a), el paso (b) y el paso (c).
6. Un medio de almacenamiento legible por ordenador no transitorio que almacena un flujo de bits generado por el método de la reivindicación 5.
Applications Claiming Priority (8)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US32230110P | 2010-04-09 | 2010-04-09 | |
US37328610P | 2010-08-13 | 2010-08-13 | |
US201061424681P | 2010-12-20 | 2010-12-20 | |
US201161432202P | 2011-01-13 | 2011-01-13 | |
US201161454995P | 2011-03-21 | 2011-03-21 | |
US201161466446P | 2011-03-22 | 2011-03-22 | |
KR1020110032376A KR101752418B1 (ko) | 2010-04-09 | 2011-04-07 | 비디오 신호 처리 방법 및 장치 |
PCT/KR2011/002497 WO2011126345A2 (ko) | 2010-04-09 | 2011-04-08 | 비디오 신호 처리 방법 및 장치 |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2904348T3 true ES2904348T3 (es) | 2022-04-04 |
Family
ID=45028893
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES21210463T Active ES2954563T3 (es) | 2010-04-09 | 2011-04-08 | Predicción de vectores de movimiento en codificación de vídeo |
ES11766196T Active ES2904348T3 (es) | 2010-04-09 | 2011-04-08 | Método y aparato para procesar una señal de video |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES21210463T Active ES2954563T3 (es) | 2010-04-09 | 2011-04-08 | Predicción de vectores de movimiento en codificación de vídeo |
Country Status (11)
Country | Link |
---|---|
US (11) | US8976865B2 (es) |
EP (3) | EP3982634B1 (es) |
KR (8) | KR101752418B1 (es) |
CN (5) | CN105847835B (es) |
ES (2) | ES2954563T3 (es) |
FI (1) | FI3982634T3 (es) |
HR (1) | HRP20230945T1 (es) |
HU (2) | HUE057387T2 (es) |
PL (2) | PL3982634T3 (es) |
SI (2) | SI3982634T1 (es) |
WO (1) | WO2011126345A2 (es) |
Families Citing this family (84)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
PT3457689T (pt) * | 2010-05-25 | 2020-10-15 | Lg Electronics Inc | Novo modo de previsão planar |
US8855205B2 (en) * | 2010-05-26 | 2014-10-07 | Newratek Inc. | Method of predicting motion vectors in video codec in which multiple references are allowed, and motion vector encoding/decoding apparatus using the same |
CN107105270B (zh) | 2010-12-13 | 2020-04-24 | 韩国电子通信研究院 | 帧间预测方法 |
KR20120095814A (ko) * | 2011-02-21 | 2012-08-29 | 한밭대학교 산학협력단 | 복수 참조 영상을 이용한 영상 부복호화 방법 및 이러한 방법을 사용하는 장치 |
EP3139611A1 (en) * | 2011-03-14 | 2017-03-08 | HFI Innovation Inc. | Method and apparatus for deriving temporal motion vector prediction |
EP2698999B1 (en) | 2011-04-12 | 2017-01-04 | Sun Patent Trust | Motion-video encoding method, motion-video encoding apparatus, motion-video decoding method, motion-video decoding apparatus, and motion-video encoding/decoding apparatus |
US9485518B2 (en) | 2011-05-27 | 2016-11-01 | Sun Patent Trust | Decoding method and apparatus with candidate motion vectors |
JP5865366B2 (ja) | 2011-05-27 | 2016-02-17 | パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America | 画像符号化方法、画像符号化装置、画像復号方法、画像復号装置、および、画像符号化復号装置 |
PL2717579T3 (pl) | 2011-05-31 | 2020-07-27 | Sun Patent Trust | Sposób dekodowania obrazu i urządzenie do dekodowania obrazu |
EP3879833A1 (en) | 2011-05-31 | 2021-09-15 | JVCKENWOOD Corporation | Moving image encoding device, moving image encoding method and moving image encoding program, as well as moving image decoding device, moving image decoding method and moving image decoding program |
US9282338B2 (en) * | 2011-06-20 | 2016-03-08 | Qualcomm Incorporated | Unified merge mode and adaptive motion vector prediction mode candidates selection |
KR101968726B1 (ko) | 2011-06-28 | 2019-04-12 | 엘지전자 주식회사 | 움직임 벡터 리스트 설정 방법 및 이러한 방법을 사용하는 장치 |
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 |
KR20140034292A (ko) * | 2011-07-01 | 2014-03-19 | 모토로라 모빌리티 엘엘씨 | 움직임 벡터 예측 설계 간소화 |
US11496760B2 (en) | 2011-07-22 | 2022-11-08 | Qualcomm Incorporated | Slice header prediction for depth maps in three-dimensional video codecs |
US9521418B2 (en) | 2011-07-22 | 2016-12-13 | Qualcomm Incorporated | Slice header three-dimensional video extension for slice header prediction |
MX341415B (es) | 2011-08-03 | 2016-08-19 | Panasonic Ip Corp America | Metodo de codificacion de video, aparato de codificacion de video, metodo de decodificacion de video, aparato de decodificacion de video y aparato de codificacion/decodificacion de video. |
US9288505B2 (en) | 2011-08-11 | 2016-03-15 | Qualcomm Incorporated | Three-dimensional video with asymmetric spatial resolution |
CN107197272B (zh) * | 2011-08-29 | 2019-12-06 | 苗太平洋控股有限公司 | 以合并模式对图像编码的方法 |
KR20130030181A (ko) | 2011-09-16 | 2013-03-26 | 한국전자통신연구원 | 움직임 벡터 예측기를 이용한 움직임 벡터 부호화/복호화 방법 및 장치 |
BR112014008403B1 (pt) | 2011-10-19 | 2022-05-10 | Sun Patent Trust | Método de codificação de imagem, aparelho de codificação de imagem, método de decodificação de imagem, e aparelho de decodificação de imagem |
WO2013061549A1 (ja) | 2011-10-28 | 2013-05-02 | パナソニック株式会社 | 画像符号化方法、画像復号方法、画像符号化装置および画像復号装置 |
CN103688545B (zh) | 2011-10-28 | 2017-05-10 | 太阳专利托管公司 | 图像编码方法、图像解码方法、图像编码装置及图像解码装置 |
KR101616010B1 (ko) | 2011-11-04 | 2016-05-17 | 구글 테크놀로지 홀딩스 엘엘씨 | 비균일 움직임 벡터 그리드에 대한 움직임 벡터 스케일링 |
CN107197290B (zh) * | 2011-11-07 | 2020-02-18 | 寰发股份有限公司 | 推导缩放的运动向量的方法、装置和计算机可读媒介 |
KR20130050405A (ko) * | 2011-11-07 | 2013-05-16 | 오수미 | 인터 모드에서의 시간 후보자 결정방법 |
TWI523497B (zh) * | 2011-11-10 | 2016-02-21 | Sony Corp | Image processing apparatus and method |
US9485503B2 (en) * | 2011-11-18 | 2016-11-01 | Qualcomm Incorporated | Inside view motion prediction among texture and depth view components |
KR101960761B1 (ko) * | 2011-11-24 | 2019-03-22 | 에스케이텔레콤 주식회사 | 모션 벡터의 예측 부호화/복호화 방법 및 장치 |
US8792745B2 (en) * | 2011-12-06 | 2014-07-29 | Sony Corporation | Encoder optimization of adaptive loop filters in HEVC |
CN105791822A (zh) * | 2012-01-18 | 2016-07-20 | Jvc建伍株式会社 | 动图像解码装置以及动图像解码方法 |
CN110830799B (zh) * | 2012-01-18 | 2023-09-15 | 韩国电子通信研究院 | 视频解码装置、视频编码装置和传输比特流的方法 |
US20130188716A1 (en) * | 2012-01-20 | 2013-07-25 | Qualcomm Incorporated | Temporal motion vector predictor candidate |
WO2013162258A1 (ko) * | 2012-04-23 | 2013-10-31 | 삼성전자 주식회사 | 다시점 비디오 부호화 방법 및 장치, 다시점 비디오 복호화 방법 및 장치 |
CN104365102B (zh) | 2012-05-10 | 2018-01-02 | Lg 电子株式会社 | 处理视频信号的方法和装置 |
US9860555B2 (en) | 2012-05-22 | 2018-01-02 | Lg Electronics Inc. | Method and apparatus for processing video signal |
US9172970B1 (en) | 2012-05-29 | 2015-10-27 | Google Inc. | Inter frame candidate selection for a video encoder |
US11317101B2 (en) | 2012-06-12 | 2022-04-26 | Google Inc. | Inter frame candidate selection for a video encoder |
PL400344A1 (pl) * | 2012-08-13 | 2014-02-17 | Politechnika Poznanska | Sposób wyznaczania predyktora wektora ruchu |
US9485515B2 (en) | 2013-08-23 | 2016-11-01 | Google Inc. | Video coding using reference motion vectors |
US9503746B2 (en) | 2012-10-08 | 2016-11-22 | Google Inc. | Determine reference motion vectors |
WO2014078068A1 (en) * | 2012-11-13 | 2014-05-22 | Intel Corporation | Content adaptive transform coding for next generation video |
KR20140092423A (ko) * | 2012-12-20 | 2014-07-24 | 주식회사 팬택 | 계층적 영상 부/복호화 모드 결정 방법 및 이러한 방법을 사용하는 장치 |
KR102063385B1 (ko) | 2013-01-30 | 2020-01-07 | 인텔 코포레이션 | 차세대 비디오용 콘텐츠 적응적 엔트로피 코딩 |
US9800857B2 (en) * | 2013-03-08 | 2017-10-24 | Qualcomm Incorporated | Inter-view residual prediction in multi-view or 3-dimensional video coding |
CN105122803B (zh) * | 2013-04-02 | 2019-01-08 | Vid拓展公司 | 针对可伸缩视频编码的增强型时间运动向量预测 |
EP3058736B1 (en) | 2013-10-14 | 2019-02-27 | Microsoft Technology Licensing, LLC | Encoder-side options for intra block copy prediction mode for video and image coding |
RU2654129C2 (ru) | 2013-10-14 | 2018-05-16 | МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи | Функциональные возможности режима внутреннего предсказания с блочным копированием для кодирования и декодирования видео и изображений |
US9432685B2 (en) * | 2013-12-06 | 2016-08-30 | Qualcomm Incorporated | Scalable implementation for parallel motion estimation regions |
US10390034B2 (en) | 2014-01-03 | 2019-08-20 | Microsoft Technology Licensing, Llc | Innovations in block vector prediction and estimation of reconstructed sample values within an overlap area |
RU2669005C2 (ru) | 2014-01-03 | 2018-10-05 | МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи | Предсказание вектора блока в кодировании/декодировании видео и изображений |
US11284103B2 (en) | 2014-01-17 | 2022-03-22 | Microsoft Technology Licensing, Llc | Intra block copy prediction with asymmetric partitions and encoder-side search patterns, search ranges and approaches to partitioning |
CA2939431C (en) | 2014-03-04 | 2020-09-22 | Microsoft Techology Licensing, Llc | Block flipping and skip mode in intra block copy prediction |
US9924183B2 (en) * | 2014-03-20 | 2018-03-20 | Nanjing Yuyan Information Technology Ltd. | Fast HEVC transcoding |
KR102413529B1 (ko) | 2014-06-19 | 2022-06-24 | 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 | 통합된 인트라 블록 카피 및 인터 예측 모드 |
WO2016049839A1 (en) | 2014-09-30 | 2016-04-07 | Microsoft Technology Licensing, Llc | Rules for intra-picture prediction modes when wavefront parallel processing is enabled |
CN111147845B (zh) | 2014-11-27 | 2023-10-10 | 株式会社Kt | 对视频信号进行解码的方法和对视频信号进行编码的方法 |
KR102553844B1 (ko) * | 2014-11-27 | 2023-07-10 | 주식회사 케이티 | 비디오 신호 처리 방법 및 장치 |
US10187653B2 (en) * | 2015-05-18 | 2019-01-22 | Avago Technologies International Sales Pte. Limited | Motor vector prediction using co-located prediction units |
KR20180129863A (ko) * | 2016-04-25 | 2018-12-05 | 엘지전자 주식회사 | 영상 코딩 시스템에서 영상 디코딩 방법 및 장치 |
CN109328461B (zh) | 2016-04-29 | 2023-09-05 | 世宗大学校产学协力团 | 视频信号编码/解码方法和设备 |
CN116915988A (zh) | 2016-04-29 | 2023-10-20 | 世宗大学校产学协力团 | 视频信号编码/解码方法和设备 |
CN116567225A (zh) * | 2016-08-11 | 2023-08-08 | Lx 半导体科技有限公司 | 编码/解码设备以及发送图像数据的设备 |
WO2018066874A1 (ko) * | 2016-10-06 | 2018-04-12 | 세종대학교 산학협력단 | 비디오 신호의 복호화 방법 및 이의 장치 |
KR102435500B1 (ko) * | 2016-10-06 | 2022-08-23 | 세종대학교산학협력단 | 비디오 신호의 복호화 방법 및 이의 장치 |
US10298951B2 (en) * | 2017-04-06 | 2019-05-21 | Mediatek Inc. | Method and apparatus of motion vector prediction |
EP3635955B1 (en) * | 2017-06-30 | 2024-05-08 | Huawei Technologies Co., Ltd. | Error resilience and parallel processing for decoder side motion vector derivation |
KR20210115052A (ko) | 2017-07-07 | 2021-09-24 | 삼성전자주식회사 | 적응적 움직임 벡터 해상도로 결정된 움직임 벡터의 부호화 장치 및 부호화 방법, 및 움직임 벡터의 복호화 장치 및 복호화 방법 |
CN107360433B (zh) * | 2017-07-20 | 2020-06-19 | 北京奇艺世纪科技有限公司 | 一种帧间预测编码方法和装置 |
CN109429064B (zh) * | 2017-08-22 | 2021-03-30 | 华为技术有限公司 | 一种视频数据的编解码方法、装置和介质 |
EP3457695A1 (en) | 2017-09-18 | 2019-03-20 | Thomson Licensing | Method and apparatus for motion vector predictor adaptation for omnidirectional video |
BR112020005097A2 (pt) | 2017-09-28 | 2020-09-15 | Samsung Electronics Co., Ltd. | método de decodificação de vídeo, aparelho de decodificação de vídeo, método de codificação de vídeo, e aparelho de codificação de vídeo |
EP3691274A4 (en) | 2017-09-28 | 2021-04-28 | Samsung Electronics Co., Ltd. | CODING METHOD AND DEVICE FOR IT AND DECODING METHOD AND DEVICE FOR IT |
US10986349B2 (en) | 2017-12-29 | 2021-04-20 | Microsoft Technology Licensing, Llc | Constraints on locations of reference blocks for intra block copy prediction |
KR102356262B1 (ko) | 2018-03-27 | 2022-02-08 | 주식회사 윌러스표준기술연구소 | 모션 보상을 이용하는 비디오 신호 처리 방법 및 장치 |
US11470346B2 (en) * | 2018-05-09 | 2022-10-11 | Sharp Kabushiki Kaisha | Systems and methods for performing motion vector prediction using a derived set of motion vectors |
CN112470471A (zh) * | 2018-07-17 | 2021-03-09 | 华为技术有限公司 | 用于视频译码的受约束编码树 |
US11057617B2 (en) * | 2018-08-03 | 2021-07-06 | Tencent America LLC | Method and apparatus for video coding |
PL3831064T3 (pl) | 2018-08-17 | 2024-06-03 | Huawei Technologies Co., Ltd. | Zarządzanie obrazami odniesienia w kodowaniu wideo |
US11212550B2 (en) * | 2018-09-21 | 2021-12-28 | Qualcomm Incorporated | History-based motion vector prediction for affine mode |
CN111434110B (zh) * | 2018-11-06 | 2023-06-20 | 北京字节跳动网络技术有限公司 | 用于视频处理的方法、装置和存储介质 |
WO2020125756A1 (en) | 2018-12-21 | 2020-06-25 | Beijing Bytedance Network Technology Co., Ltd. | Motion vector bit depth in video processing |
CN113498609B (zh) * | 2018-12-31 | 2023-06-20 | 北京达佳互联信息技术有限公司 | 用于视频编解码的依赖图片分辨率的配置 |
JP7324065B2 (ja) * | 2019-06-26 | 2023-08-09 | キヤノン株式会社 | 動きベクトル検出装置、撮像装置、動きベクトル検出方法、及びプログラム |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100931746B1 (ko) * | 2002-04-19 | 2009-12-14 | 파나소닉 주식회사 | 움직임 벡터 계산방법 |
JP2004023458A (ja) | 2002-06-17 | 2004-01-22 | Toshiba Corp | 動画像符号化/復号化方法及び装置 |
JP4895995B2 (ja) | 2002-07-15 | 2012-03-14 | 日立コンシューマエレクトロニクス株式会社 | 動画像復号化方法 |
US7154952B2 (en) * | 2002-07-19 | 2006-12-26 | Microsoft Corporation | Timestamp-independent motion vector prediction for predictive (P) and bidirectionally predictive (B) pictures |
KR100506864B1 (ko) * | 2002-10-04 | 2005-08-05 | 엘지전자 주식회사 | 모션벡터 결정방법 |
US7317839B2 (en) * | 2003-09-07 | 2008-01-08 | Microsoft Corporation | Chroma motion vector derivation for interlaced forward-predicted fields |
US7599438B2 (en) | 2003-09-07 | 2009-10-06 | Microsoft Corporation | Motion vector block pattern coding and decoding |
KR20050053297A (ko) * | 2003-12-02 | 2005-06-08 | 학교법인 성균관대학 | 동영상 부호화 방법 및 장치 |
KR101169108B1 (ko) * | 2004-01-30 | 2012-07-26 | 톰슨 라이센싱 | 적응형 레이트 제어를 구비한 인코더 |
US20060120612A1 (en) * | 2004-12-08 | 2006-06-08 | Sharath Manjunath | Motion estimation techniques for video encoding |
KR100746006B1 (ko) | 2005-07-19 | 2007-08-06 | 삼성전자주식회사 | 계층적 구조에 적합하게 시간적 다이렉트 모드로인코딩하며, 디코딩하는 방법 및 장치 |
AU2007269575B2 (en) | 2006-07-06 | 2012-08-16 | Interdigital Vc Holdings, Inc. | Method and apparatus for decoupling frame number and/or picture order count (POC) for multi-view video encoding and decoding |
JP4763549B2 (ja) * | 2006-08-18 | 2011-08-31 | 富士通セミコンダクター株式会社 | フレーム間予測処理装置、画像符号化装置、及び画像復号化装置 |
KR101366241B1 (ko) * | 2007-03-28 | 2014-02-21 | 삼성전자주식회사 | 영상 부호화, 복호화 방법 및 장치 |
US9648325B2 (en) * | 2007-06-30 | 2017-05-09 | Microsoft Technology Licensing, Llc | Video decoding implementations for a graphics processing unit |
EP2210421A4 (en) * | 2007-10-16 | 2013-12-04 | Lg Electronics Inc | METHOD AND APPARATUS FOR PROCESSING A VIDEO SIGNAL |
WO2009115901A2 (en) * | 2008-03-19 | 2009-09-24 | Nokia Corporation | Combined motion vector and reference index prediction for video coding |
KR100890512B1 (ko) | 2008-09-11 | 2009-03-26 | 엘지전자 주식회사 | 모션벡터 결정방법 |
-
2011
- 2011-04-07 KR KR1020110032376A patent/KR101752418B1/ko active IP Right Grant
- 2011-04-08 SI SI201132087T patent/SI3982634T1/sl unknown
- 2011-04-08 WO PCT/KR2011/002497 patent/WO2011126345A2/ko active Application Filing
- 2011-04-08 EP EP21210463.2A patent/EP3982634B1/en active Active
- 2011-04-08 CN CN201610330601.8A patent/CN105847835B/zh active Active
- 2011-04-08 FI FIEP21210463.2T patent/FI3982634T3/fi active
- 2011-04-08 EP EP23181365.0A patent/EP4236324A3/en active Pending
- 2011-04-08 ES ES21210463T patent/ES2954563T3/es active Active
- 2011-04-08 HU HUE11766196A patent/HUE057387T2/hu unknown
- 2011-04-08 CN CN201610329758.9A patent/CN105933712B/zh active Active
- 2011-04-08 CN CN201180018198.0A patent/CN102835113B/zh active Active
- 2011-04-08 PL PL21210463.2T patent/PL3982634T3/pl unknown
- 2011-04-08 CN CN201610330793.2A patent/CN105847836B/zh active Active
- 2011-04-08 HR HRP20230945TT patent/HRP20230945T1/hr unknown
- 2011-04-08 ES ES11766196T patent/ES2904348T3/es active Active
- 2011-04-08 US US13/639,408 patent/US8976865B2/en active Active
- 2011-04-08 EP EP11766196.7A patent/EP2557796B1/en active Active
- 2011-04-08 HU HUE21210463A patent/HUE063019T2/hu unknown
- 2011-04-08 SI SI201132032T patent/SI2557796T1/sl unknown
- 2011-04-08 CN CN201610329756.XA patent/CN106028042B/zh active Active
- 2011-04-08 PL PL11766196T patent/PL2557796T3/pl unknown
-
2014
- 2014-12-09 US US14/564,825 patent/US9264734B2/en active Active
-
2016
- 2016-01-04 US US14/987,280 patent/US9407929B2/en active Active
- 2016-01-05 US US14/988,323 patent/US9402085B2/en active Active
- 2016-04-22 US US15/136,517 patent/US9699473B2/en active Active
- 2016-09-29 US US15/280,755 patent/US9800892B2/en active Active
-
2017
- 2017-06-16 KR KR1020170076805A patent/KR101857672B1/ko active IP Right Grant
- 2017-08-24 US US15/685,662 patent/US10038914B2/en active Active
-
2018
- 2018-05-04 KR KR1020180051647A patent/KR101971971B1/ko active IP Right Grant
- 2018-05-24 US US15/988,512 patent/US10404997B2/en active Active
-
2019
- 2019-04-16 KR KR1020190044354A patent/KR102094896B1/ko active IP Right Grant
- 2019-07-16 US US16/513,198 patent/US10743021B2/en active Active
-
2020
- 2020-03-23 KR KR1020200034907A patent/KR102221724B1/ko active IP Right Grant
- 2020-07-07 US US16/922,830 patent/US11277634B2/en active Active
-
2021
- 2021-02-23 KR KR1020210024222A patent/KR102334293B1/ko active IP Right Grant
- 2021-11-29 KR KR1020210167241A patent/KR102438270B1/ko active IP Right Grant
-
2022
- 2022-01-28 US US17/587,850 patent/US12022111B2/en active Active
- 2022-08-25 KR KR1020220107199A patent/KR102549223B1/ko active IP Right Grant
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2904348T3 (es) | Método y aparato para procesar una señal de video | |
US11057618B2 (en) | Method and apparatus for processing a video signal |