ES2886357T3 - Codificación y decodificación de información de movimiento - Google Patents

Codificación y decodificación de información de movimiento Download PDF

Info

Publication number
ES2886357T3
ES2886357T3 ES20184517T ES20184517T ES2886357T3 ES 2886357 T3 ES2886357 T3 ES 2886357T3 ES 20184517 T ES20184517 T ES 20184517T ES 20184517 T ES20184517 T ES 20184517T ES 2886357 T3 ES2886357 T3 ES 2886357T3
Authority
ES
Spain
Prior art keywords
motion vector
unit
prediction
prediction unit
motion information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES20184517T
Other languages
English (en)
Inventor
Tammy Lee
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Application granted granted Critical
Publication of ES2886357T3 publication Critical patent/ES2886357T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/109Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness

Abstract

Un aparato de decodificación de un vector de movimiento, comprendiendo el aparato: un generador de candidato de fusión (2770) configurado para determinar si los vectores de movimiento de las unidades de predicción espacial que están asignados espacialmente a una unidad de predicción actual y los vectores de movimiento de las unidades de predicción temporal que están asignados temporalmente a la unidad de predicción actual están disponibles y determinar los vectores de movimiento disponibles como candidatos de predictor de vector de movimiento; caracterizado por: cuando el número de candidatos de predictor de vector de movimiento es inferior a un número predeterminado "n", donde n es un número entero, el generador de candidato de fusión (2770) genera al menos un vector de movimiento bidireccional combinado combinando un vector de movimiento disponible, a partir de entre los vectores de movimiento disponibles, que indica un bloque de imagen en la lista de imágenes de referencia 0 y un vector de movimiento disponible, a partir de entre los vectores de movimiento disponibles, que indica un bloque de imágenes en la lista de imágenes de referencia 1; añade el al menos un vector de movimiento bidireccional combinado a los candidatos de predictor de vector de movimiento; y cuando el número de candidatos de predictor de vector en movimiento es inferior al número predeterminado "n", añade un vector de movimiento que tiene un valor de componente predeterminado a los candidatos de predictor de vector de movimiento de modo que un número total de candidatos de predictor de vector en movimiento es un número predeterminado "n", en el que el valor de componente predeterminado es (0, 0), comprendiendo el aparato, además, un decodificador de vector de movimiento (2780) configurado para obtener información que indica un predictor de vector de movimiento entre los candidatos de predictor de vector en movimiento desde una secuencia de bits y obtener el predictor de vector de movimiento de la unidad de predicción actual basándose en la información, en el que las unidades de predicción espacial comprenden una unidad de predicción espacial ubicada sobre el lado izquierdo inferior de la unidad de predicción actual, en el que las unidades de predicción temporal comprenden una unidad de predicción temporal que tienen la misma ubicación que la unidad de predicción actual de entre las unidades de predicción de una imagen de referencia.

Description

DESCRIPCIÓN
Codificación y decodificación de información de movimiento
Descripción detallada de la invención
Campo técnico
La presente invención se refiere a un procedimiento y aparato para codificar y decodificar información de movimiento, y más particularmente, a un procedimiento y aparato para codificar y decodificar de manera eficaz información de movimiento de una unidad de predicción actual.
Antecedentes de la técnica
En la actualidad, a medida que los contenidos de vídeo de alta definición se están usando ampliamente, ha aumentado una necesidad de un códec de vídeo que tenga una eficacia de codificación superior que un códec de vídeo convencional, tal como la codificación de vídeo avanzada (AVC) MPEG-4 H.264/MPEG-4.
De acuerdo con la compensación de movimiento que es una tecnología para eliminar redundancia temporal en una señal de vídeo, se aumenta la eficacia de compresión transmitiendo una señal residual que es un valor de diferencia entre una señal de vídeo original y una señal de referencia indicada por un vector de movimiento. En general, un vector de movimiento y un valor residual de cada bloque, como un resultado de codificación obtenido codificando cada bloque usando compensación de movimiento, se transmiten a un decodificador. Puesto que los vectores de movimiento de cada bloque ocupan una cantidad considerable de una secuencia de bits codificada, la información acerca de un vector de movimiento asignado a cada bloque necesita reducirse para aumentar la eficacia de compresión.
Para reducir la tara de transmisión durante la codificación de un vector de movimiento, se usa un vector de movimiento de un bloque anterior como un vector de movimiento de predicción de un bloque actual en un códec de MPEG-2 convencional, y se usa una mediana de vectores de movimiento de bloques previamente codificados que son adyacentes a un lado izquierdo, un lado superior y un lado superior derecho de un bloque actual como un vector de movimiento de predicción del bloque actual en un códec tal como MPEG-4 H.264/MPEG-4 AVC.
Laroche G y col.: “RD Optimized Coding for Motion Vector Predictor Selection”, IEEE Transactions on Circuits and Systems for Video Technology, IEEE Service Center, Piscataway, NY, US, vol. 18, n. ° 9 y Joel Jung y col.: “Competition-Based Scheme for Motion Vector Selection and Coding”, 29. VCEG Meeting; 77, MPEG MEETING, 17/7/2006 - 17/7/2006; Klagenfurt, At; (Video Coding Experts Group of ITU-T SG. 16), n. ° VCEG-AC06r1 son relevantes en el campo de la presente invención.
Divulgación de la invención
Objetivo técnico de la invención
La presente invención proporciona un procedimiento y aparato para codificar y decodificar de manera eficaz información de movimiento de una unidad de predicción actual.
Medios para conseguir el objetivo técnico
De acuerdo con las realizaciones de la presente invención, se genera diversa información de movimiento de candidato usando información de movimiento de unidades de predicción que están espacialmente co-localizadas a una unidad de predicción actual e información de movimiento de unidades de predicción que están temporalmente co-localizadas a la unidad de predicción actual.
Efecto de la invención
De acuerdo con las realizaciones de la presente invención, puede aumentarse la eficacia de compresión de una imagen usando diversos candidatos de movimiento obtenidos basándose en información de movimiento de una unidad de predicción adyacente.
Breve descripción de los dibujos
La Figura 1 es un diagrama de bloques de un aparato para codificar un vídeo, de acuerdo con una realización de la presente invención;
La Figura 2 es un diagrama de bloques de un aparato para decodificar un vídeo, de acuerdo con una realización de la presente invención;
La Figura 3 es un diagrama para describir un concepto de unidades de codificación de acuerdo con una realización de la presente invención;
La Figura 4 es un diagrama de bloques de un codificador de imagen basado en unidades de codificación de acuerdo con una realización de la presente invención;
La Figura 5 es un diagrama de bloques de un decodificador de imagen basado en unidades de codificación de acuerdo con una realización de la presente invención;
La Figura 6 es un diagrama que ilustra unidades de codificación más profundas de acuerdo con las profundidades, y particiones de acuerdo con una realización de la presente invención;
La Figura 7 es un diagrama para describir una relación entre una unidad de codificación y unidades de transformación, de acuerdo con una realización de la presente invención;
La Figura 8 es un diagrama para describir información de codificación de unidades de codificación que corresponden a una profundidad codificada, de acuerdo con una realización de la presente invención;
La Figura 9 es un diagrama de unidades de codificación más profundas de acuerdo con las profundidades, de acuerdo con una realización de la presente invención;
Las Figuras 10 a 12 son diagramas para describir una relación entre unidades de codificación, unidades de predicción, y unidades de transformación, de acuerdo con una realización de la presente invención;
La Figura 13 es un diagrama para describir una relación entre una unidad de codificación, una unidad de predicción o una partición, y una unidad de transformación, de acuerdo con información de modo de codificación de la Tabla 1;
La Figura 14 es un diagrama de bloques de un aparato de codificación de información de movimiento de acuerdo con una realización de la presente invención;
La Figura 15 es un diagrama de bloques de una unidad de generación de información de movimiento de candidato de la Figura 14, de acuerdo con una realización de la presente invención;
La Figura 16 ilustra unidades de predicción adyacentes que están espacialmente co-localizadas a una unidad de predicción actual, de acuerdo con una realización de la presente invención
La Figura 17A es un diagrama de referencia para explicar un procedimiento para determinar un candidato de vector de movimiento de predicción espacial escalado, de acuerdo con una realización de la presente invención; La Figura 17B es un diagrama de referencia para explicar un procedimiento para generar información de movimiento de candidato adicional usando una unidad de predicción que está espacialmente co-localizada a una unidad de predicción actual, de acuerdo con una realización de la presente invención;
La Figura 18 es un diagrama de referencia para explicar un procedimiento de generación de un candidato de vector de movimiento de predicción de una unidad de predicción actual escalando un vector de movimiento de una unidad de predicción adyacente, de acuerdo con una realización de la presente invención;
La Figura 19 es un diagrama de referencia para explicar un procedimiento de generación de información de movimiento de candidato temporal, de acuerdo con una realización de la presente invención;
Las Figuras 20A y 20B son diagramas para explicar un procedimiento de generación de información de movimiento de candidato adicional usando información de movimiento de unidades de predicción disponibles, de acuerdo con otra realización de la presente invención;
Las Figuras 21A y 21B son diagramas para describir una relación posicional entre una instantánea actual y una instantánea de referencia cuando se genera información de movimiento de candidato adicional de las Figuras 20A y 20B, de acuerdo con una realización de la presente invención;
La Figura 22 es un diagrama de flujo de un procedimiento de codificación de un vector de movimiento, de acuerdo con una realización de la presente invención;
La Figura 23 es un diagrama de bloques de un aparato de decodificación de vector de movimiento de acuerdo con una realización de la presente invención; y
La Figura 24 es un diagrama de flujo de un procedimiento de decodificación de información de movimiento, de acuerdo con una realización de la presente invención.
Mejor modo para llevar a cabo la invención
Las características de la presente invención se establecen en las reivindicaciones adjuntas.
Modo de la invención
En lo sucesivo, la presente invención se describirá más completamente con referencia a los dibujos adjuntos, en los que se muestran realizaciones ejemplares de la invención.
La Figura 1 es un diagrama de bloques de un aparato 100 de codificación de vídeo, de acuerdo con una realización de la presente invención.
El aparato 100 de codificación de vídeo incluye un divisor 110 de unidad de codificación máxima, un determinador 120 de unidad de codificación, y una unidad 130 de salida.
El divisor 110 de unidad de codificación máxima puede dividir una instantánea actual basándose en una unidad de codificación máxima para la instantánea actual de una imagen. Si la instantánea actual es mayor que la unidad de codificación máxima, los datos de imagen de la instantánea actual pueden dividirse en la al menos una unidad de codificación máxima. La unidad de codificación máxima de acuerdo con una realización de la presente invención puede ser una unidad de datos que tiene un tamaño de 32x32, 64x64, 128x128, 256x256, etc., en la que una forma de la unidad de datos es un cuadrado que tiene una anchura y longitud en potencias de 2. Los datos de imagen pueden emitirse al determinador 120 de unidad de codificación de acuerdo con la al menos una unidad de codificación máxima.
Una unidad de codificación de acuerdo con una realización de la presente invención puede estar caracterizada por un tamaño máximo y una profundidad. La profundidad indica un número de veces que la unidad de codificación se divide espacialmente a partir de la unidad de codificación máxima, y a medida que la profundidad se hace más profunda, pueden dividirse unidades de codificación más profundas de acuerdo con las profundidades a partir de la unidad de codificación máxima a una unidad de codificación mínima. Una profundidad de la unidad de codificación máxima es una profundidad más superior y una profundidad de la unidad de codificación mínima es una profundidad más inferior. Puesto que un tamaño de una unidad de codificación que corresponde a cada profundidad se reduce a medida que la profundidad de la unidad de codificación máxima se hace profunda, una unidad de codificación que corresponde a una profundidad superior puede incluir una pluralidad de unidades de codificación que corresponden a profundidades inferiores.
Como se ha descrito anteriormente, los datos de imagen de la instantánea actual se dividen en las unidades de codificación máxima de acuerdo con un tamaño máximo de la unidad de codificación, y cada una de las unidades de codificación máxima puede incluir unidades de codificación más profundas que se dividen de acuerdo con las profundidades. Puesto que la unidad de codificación máxima de acuerdo con una realización de la presente invención se divide de acuerdo con las profundidades, los datos de imagen de un dominio espacial incluidos en la unidad de codificación máxima pueden clasificarse jerárquicamente de acuerdo con las profundidades.
Puede predeterminarse una profundidad máxima y un tamaño máximo de una unidad de codificación, que limita el número total de veces que se divide jerárquicamente una altura y una anchura de la unidad de codificación máxima. El determinador 120 de unidad de codificación codifica al menos una región de división obtenida dividiendo una región de la unidad de codificación máxima de acuerdo con las profundidades, y determina una profundidad para emitir datos de imagen finalmente codificados de acuerdo con la al menos una región de división. En otras palabras, el determinador 120 de unidad de codificación determina una profundidad codificada codificando los datos de imagen en las unidades de codificación más profundas de acuerdo con las profundidades, de acuerdo con la unidad de codificación máxima de la instantánea actual, y seleccionando una profundidad que tiene el error de codificación mínimo. Por lo tanto, los datos de imagen codificados de la unidad de codificación que corresponde a la profundidad codificada determinada se emiten finalmente. También, las unidades de codificación que corresponden a la profundidad codificada pueden considerarse como unidades de codificación codificadas. La profundidad codificada determinada y los datos de imagen codificados de acuerdo con la profundidad codificada determinada se emiten a la unidad 130 de salida.
Los datos de imagen en la unidad de codificación máxima se codifican basándose en las unidades de codificación más profundas que corresponden a al menos una profundidad igual o menor que la profundidad máxima, y los resultados de codificación de los datos de imagen se comparan basándose en cada una de las unidades de codificación más profundas. Una profundidad que tiene el error de codificación mínimo puede seleccionarse después de comparar errores de codificación de las unidades de codificación más profundas. Al menos una profundidad codificada puede seleccionarse para cada unidad de codificación máxima.
El tamaño de la unidad de codificación máxima se divide a medida que una unidad de codificación se divide jerárquicamente de acuerdo con las profundidades, y a medida que el número de unidades de codificación aumenta. También, incluso si las unidades de codificación corresponden a una misma profundidad en una unidad de codificación máxima, se determina si dividir cada una de las unidades de codificación que corresponden a la misma profundidad a una profundidad inferior midiendo un error de codificación de los datos de imagen de cada unidad de codificación, de manera separada. Por consiguiente, incluso cuando los datos de imagen están incluidos en una unidad de codificación máxima, los datos de imagen se dividen en regiones de acuerdo con las profundidades y los errores de codificación pueden diferenciarse de acuerdo con las regiones en la unidad de codificación máxima, y por lo tanto las profundidades codificadas pueden diferenciarse de acuerdo con regiones en los datos de imagen. Por lo tanto, pueden determinarse una o más profundidades codificadas en una unidad de codificación máxima, y los datos de imagen de la unidad de codificación máxima pueden dividirse de acuerdo con unidades de codificación de al menos una profundidad codificada.
Por consiguiente, el determinador 120 de unidad de codificación puede determinar unidades de codificación que tienen una estructura de árbol incluida en la unidad de codificación máxima. Las 'unidades de codificación que tienen una estructura de árbol' de acuerdo con una realización de la presente invención incluyen unidades de codificación que corresponden a una profundidad determinada para que sea la profundidad codificada, de entre todas las unidades de codificación más profundas incluidas en la unidad de codificación máxima. Una unidad de codificación de una profundidad codificada puede determinarse jerárquicamente de acuerdo con las profundidades en la misma región de la unidad de codificación máxima, y puede determinarse de manera independiente en regiones diferentes. De manera similar, una profundidad codificada en una región actual puede determinarse de manera independiente de una profundidad codificada en otra región.
Una profundidad máxima de acuerdo con una realización de la presente invención es un índice relacionado con el número de veces que se realiza división de una unidad de codificación máxima a una unidad de codificación mínima. Una primera profundidad máxima de acuerdo con una realización de la presente invención puede indicar el número total de veces que se realiza división de la unidad de codificación máxima a la unidad de codificación mínima. Una segunda profundidad máxima de acuerdo con una realización de la presente invención puede indicar el número total de niveles de profundidad de la unidad de codificación máxima a la unidad de codificación mínima. Por ejemplo, cuando una profundidad de la unidad de codificación máxima es 0, una profundidad de una unidad de codificación, en la que la unidad de codificación máxima se divide una vez, puede establecerse a 1, y una profundidad de una unidad de codificación, en la que la unidad de codificación máxima se divide dos veces, puede establecerse a 2. En este punto, si la unidad de codificación mínima es una unidad de codificación en la que la unidad de codificación máxima se divide cuatro veces, existen 5 niveles de profundidad de profundidades 0, 1, 2, 3 y 4, y por lo tanto la primera profundidad máxima puede establecerse a 4, y la segunda profundidad máxima puede establecerse a 5. Puede realizarse codificación y transformación de predicción de acuerdo con la unidad de codificación máxima. La codificación por predicción y la transformación también se realizan basándose en las unidades de codificación más profundas de acuerdo con una profundidad igual a o profundidades menores que la profundidad máxima, de acuerdo con la unidad de codificación máxima. La transformación puede realizarse de acuerdo con un procedimiento de transformación ortogonal o transformación de números enteros.
Puesto que el número de unidades de codificación más profundas aumenta cada vez que la unidad de codificación máxima se divide de acuerdo con las profundidades, se realiza codificación que incluye la codificación por predicción y la transformación en todas las unidades de codificación más profundas generadas a medida que la profundidad se hace más profunda. Por conveniencia de descripción, se describirá ahora la codificación por predicción y la transformación basándose en una unidad de codificación de una profundidad actual, en una unidad de codificación máxima.
El aparato 100 de codificación de vídeo puede seleccionar de manera diversa un tamaño o forma de una unidad de datos para codificar los datos de imagen. Para codificar los datos de imagen, se realizan operaciones, tales como codificación de predicción y codificación por entropía, y en ese momento, puede usarse la misma unidad de datos para todas las operaciones o pueden usarse diferentes unidades de datos para cada operación.
Por ejemplo, el aparato 100 de codificación de vídeo puede seleccionar no únicamente una unidad de codificación para codificar los datos de imagen, sino también una unidad de datos diferente de la unidad de codificación para realizar la codificación por predicción en los datos de imagen en la unidad de codificación.
Para realizar codificación de predicción en la unidad de codificación máxima, la codificación por predicción puede realizarse basándose en una unidad de codificación que corresponde a una profundidad codificada, es decir, basándose en una unidad de codificación que ya no se divide más en unidades de codificación que corresponden a una profundidad inferior. En lo sucesivo, la unidad de codificación que ya no se divide más y se vuelve una unidad de base para codificación de predicción se denominará ahora como una 'unidad de predicción'. Una partición obtenida dividiendo la unidad de predicción puede incluir una unidad de predicción o una unidad de datos obtenida dividiendo al menos una de una altura y una anchura de la unidad de predicción.
Por ejemplo, cuando una unidad de codificación de 2Nx2N (donde N es un entero positivo) ya no se divide más y se vuelve una unidad de predicción de 2Nx2N, y un tamaño de una partición puede ser 2Nx2N, 2NxN, Nx2N o NxN. Ejemplos de un tipo de partición incluyen particiones simétricas que se obtienen dividiendo simétricamente una altura o anchura de la unidad de predicción, particiones obtenidas dividiendo asimétricamente la altura o anchura de la unidad de predicción, tal como 1:n o n: 1, particiones que se obtienen dividiendo geométricamente la unidad de predicción, y particiones que tienen formas arbitrarias.
Un modo de predicción de la unidad de predicción puede ser al menos uno de un intra modo, un inter modo y un modo de salto. Por ejemplo, puede realizarse el intra modo o el inter modo en la partición de 2Nx2N, 2NxN, Nx2N, o NxN. También, puede realizarse el modo de salto únicamente en la partición de 2Nx2N. La codificación se realiza de manera independiente en una unidad de predicción en una unidad de codificación, seleccionando de esta manera un modo de predicción que tiene un error de codificación mínimo.
El aparato 100 de codificación de vídeo puede realizar también la transformación en los datos de imagen en una unidad de codificación basándose no únicamente en la unidad de codificación para codificar los datos de imagen, sino también basándose en una unidad de datos que es diferente de la unidad de codificación.
Para realizar la transformación en la unidad de codificación, la transformación puede realizarse basándose en una unidad de datos que tiene un tamaño menor o igual que la unidad de codificación. Por ejemplo, la unidad de datos para la transformación puede incluir una unidad de datos para un intra modo y una unidad de datos para un inter modo.
Una unidad de datos usada como una base de la transformación se denominará ahora como una 'unidad de transformación'. De manera similar a la unidad de codificación, la unidad de transformación en la unidad de codificación puede dividirse de manera recursiva en regiones con tamaño más pequeño, de modo que la unidad de transformación puede determinarse de manera independiente en unidades de regiones. Por lo tanto, los datos residuales en la unidad de codificación pueden dividirse de acuerdo con la unidad de transformación que tiene la estructura de árbol de acuerdo con profundidades de transformación.
Una profundidad de transformación que indica el número de veces que se realiza división para alcanzar la unidad de transformación dividiendo la altura y anchura de la unidad de codificación puede establecerse también en la unidad de transformación. Por ejemplo, en una unidad de codificación actual de 2Nx2N, una profundidad de transformación puede ser 0 cuando el tamaño de una unidad de transformación es 2Nx2N, puede ser 1 cuando el tamaño de una unidad de transformación es NXN, y puede ser 2 cuando el tamaño de una unidad de transformación es N/2XN/2. Es decir, la unidad de transformación que tiene la estructura de árbol puede establecerse también de acuerdo con profundidades de transformación.
La información de codificación de acuerdo con unidades de codificación que corresponden a una profundidad codificada no requiere únicamente información acerca de la profundidad codificada, sino también acerca de información relacionada con codificación de predicción y transformación. Por consiguiente, el determinador 120 de unidad de codificación no determina únicamente una profundidad codificada que tiene un error de codificación mínimo, sino también determina un tipo de partición en una unidad de predicción, un modo de predicción de acuerdo con unidades de predicción, y un tamaño de una unidad de transformación para transformación.
Las unidades de codificación de acuerdo con una estructura de árbol en una unidad de codificación máxima y un procedimiento de determinación de una partición, de acuerdo con las realizaciones de la presente invención, se describirán en detalle más adelante con referencia a las Figuras 3 a 12.
El determinador 120 de unidad de codificación puede medir un error de codificación de unidades de codificación más profundas de acuerdo con las profundidades usando Optimización de Tasa-Distorsión basándose en multiplicadores de Lagrange.
La unidad 130 de salida emite los datos de imagen de la unidad de codificación máxima, que se codifican basándose en la al menos una profundidad codificada determinada por el determinador 120 de unidad de codificación, e información acerca del modo de codificación de acuerdo con la profundidad codificada, en secuencias de bits.
Los datos de imagen codificados pueden obtenerse codificando datos residuales de una imagen.
La información acerca del modo de codificación de acuerdo con profundidad codificada puede incluir información acerca de la profundidad codificada, acerca del tipo de partición en la unidad de predicción, el modo de predicción y el tamaño de la unidad de transformación.
La información acerca de la profundidad codificada puede definirse usando información de división de acuerdo con las profundidades, que indica si se realiza codificación en unidades de codificación de una profundidad inferior en lugar de una profundidad actual. Si la profundidad actual de la unidad de codificación actual es la profundidad codificada, se codifican datos de imagen en la unidad de codificación actual y se emiten, y por lo tanto la información de división puede definirse para no dividir la unidad de codificación actual a una profundidad inferior. Como alternativa, si la profundidad actual de la unidad de codificación actual no es la profundidad codificada, la codificación se realiza en la unidad de codificación de la profundidad inferior, y por lo tanto la información de división puede definirse para dividir la unidad de codificación actual para obtener las unidades de codificación de la profundidad inferior.
Si la profundidad actual no es la profundidad codificada, se realiza codificación en la unidad de codificación que se divide en la unidad de codificación de la profundidad inferior. Puesto que existe al menos una unidad de codificación de la profundidad inferior en una unidad de codificación de la profundidad actual, la codificación se realiza de manera repetitiva en cada unidad de codificación de la profundidad inferior, y por lo tanto la codificación puede realizarse de manera recursiva para las unidades de codificación que tienen la misma profundidad.
Puesto que se determinan las unidades de codificación que tienen una estructura de árbol para una unidad de codificación máxima, y se determina la información acerca de al menos un modo de codificación para una unidad de codificación de una profundidad codificada, puede determinarse información acerca de al menos un modo de codificación para una unidad de codificación máxima. También, una profundidad codificada de los datos de imagen de la unidad de codificación máxima puede ser diferente de acuerdo con las localizaciones puesto que los datos de imagen se dividen jerárquicamente de acuerdo con las profundidades, y por lo tanto la información acerca de la profundidad codificada y el modo de codificación puede establecerse para los datos de imagen.
Por consiguiente, la unidad 130 de salida puede asignar información de codificación acerca de una correspondiente profundidad codificada y un modo de codificación a al menos una de la unidad de codificación, la unidad de predicción y una unidad mínima incluidas en la unidad de codificación máxima.
La unidad mínima de acuerdo con una realización de la presente invención es una unidad de datos rectangular obtenida dividiendo por 4 la unidad de codificación mínima que constituye la profundidad más inferior. Como alternativa, la unidad mínima puede ser una unidad de datos rectangular máxima que puede estar incluida en todas las unidades de codificación, unidades de predicción, unidades de partición y unidades de transformación incluidas en la unidad de codificación máxima.
Por ejemplo, la información de codificación emitida a través de la unidad 130 de salida puede clasificarse en información de codificación de acuerdo con unidades de codificación, e información de codificación de acuerdo con unidades de predicción. La información de codificación de acuerdo con las unidades de codificación puede incluir la información acerca del modo de predicción y acerca del tamaño de las particiones. La información de codificación de acuerdo con las unidades de predicción puede incluir información acerca de una dirección estimada de un inter modo, acerca de un índice de imagen de referencia del inter modo, acerca de un vector de movimiento, acerca de un componente de crominancia de un intra modo, y acerca de un procedimiento de interpolación del intra modo. También, información acerca de un tamaño máximo de la unidad de codificación definida de acuerdo con instantáneas, cortes, o GOP, y la información acerca de una profundidad máxima pueden insertarse en un encabezamiento de una secuencia de bits.
En el aparato 100 de codificación de vídeo, la unidad de codificación más profunda puede ser una unidad de codificación obtenida dividiendo por dos una altura o anchura de una unidad de codificación de una profundidad superior, que está una capa por encima. En otras palabras, cuando el tamaño de la unidad de codificación de la profundidad actual es 2Nx2N, el tamaño de la unidad de codificación de la profundidad inferior es NxN. También, la unidad de codificación de la profundidad actual que tiene el tamaño de 2Nx2N puede incluir un número máximo de 4 unidades de codificación de la profundidad inferior.
Por consiguiente, el aparato 100 de codificación de vídeo puede formar las unidades de codificación que tienen la estructura de árbol determinando unidades de codificación que tienen una forma óptima y un tamaño óptimo para cada unidad de codificación máxima, basándose en el tamaño de la unidad de codificación máxima y la profundidad máxima determinadas considerando características de la instantánea actual. También, puesto que puede realizarse codificación en cada unidad de codificación máxima usando uno cualquiera de diversos modos de predicción y transformaciones, puede determinarse un modo de codificación óptimo considerando características de la unidad de codificación de diversos tamaños de imagen.
Por lo tanto, si se codifica una imagen que tiene alta resolución o una gran cantidad de datos en un macrobloque convencional, un número de macrobloques por instantánea aumenta excesivamente. Por consiguiente, un número de piezas de información comprimida generadas para cada macrobloque aumenta, y por lo tanto es difícil transmitir la información comprimida y la eficacia de compresión de datos se reduce. Sin embargo, usando el aparato 100 de codificación de vídeo, puede aumentarse la eficacia de compresión de imagen puesto que se ajusta una unidad de codificación mientras se consideran características de una imagen mientras aumenta un tamaño máximo de una unidad de codificación mientras se considera un tamaño de la imagen.
La Figura 2 es un diagrama de bloques de un aparato 200 de decodificación de vídeo, de acuerdo con una realización de la presente invención.
El aparato 200 de decodificación de vídeo incluye un receptor 210, un extractor 220 de datos de imagen e información de codificación, y un decodificador 230 de datos de imagen. Las definiciones de diversos términos, tales como una unidad de codificación, una profundidad, una unidad de predicción, una unidad de transformación, e información acerca de diversos modos de codificación, para diversas operaciones del aparato 200 de decodificación de vídeo son idénticas a aquellos descritos con referencia a la Figura 1 y al aparato 100 de codificación de vídeo. El receptor 210 recibe y analiza una secuencia de bits de un vídeo codificado. El extractor 220 de datos de imagen e información de codificación extrae datos de imagen codificados para cada unidad de codificación de la secuencia de bits analizada, en el que las unidades de codificación tienen una estructura de árbol de acuerdo con cada unidad de codificación máxima, y emite los datos de imagen extraídos al decodificador 230 de datos de imagen. El extractor 220 de datos de imagen e información de codificación puede extraer información acerca de un tamaño máximo de una unidad de codificación de una instantánea actual, desde un encabezamiento acerca de la instantánea actual.
También, el extractor 220 de datos de imagen e información de codificación extrae información acerca de una profundidad codificada y un modo de codificación para las unidades de codificación que tienen una estructura de árbol de acuerdo con cada unidad de codificación máxima, desde la secuencia de bits analizada. La información extraída acerca de la profundidad codificada y el modo de codificación se emite al decodificador 230 de datos de imagen. En otras palabras, los datos de imagen en una secuencia de bits se dividen en la unidad de codificación máxima de modo que el decodificador 230 de datos de imagen decodifica los datos de imagen para cada unidad de codificación máxima.
La información acerca de la profundidad codificada y el modo de codificación de acuerdo con la unidad de codificación máxima puede establecerse para información acerca de al menos una unidad de codificación que corresponde a la profundidad codificada, y la información acerca de un modo de codificación puede incluir información acerca de un tipo de partición de una unidad de codificación correspondiente que corresponde a la profundidad codificada, acerca de un modo de predicción, y un tamaño de una unidad de transformación. También, la información de división de acuerdo con las profundidades puede extraerse como la información acerca de la profundidad codificada.
La información acerca de la profundidad codificada y el modo de codificación de acuerdo con cada unidad de codificación máxima extraída por el extractor 220 de datos de imagen e información de codificación es información acerca de una profundidad codificada y un modo de codificación determinado para generar un error de codificación mínimo cuando un codificador, tal como el aparato 100 de codificación de vídeo, realiza codificación de manera repetitiva para cada unidad de codificación más profunda de acuerdo con las profundidades de acuerdo con cada unidad de codificación máxima. Por consiguiente, el aparato 200 de decodificación de vídeo puede restaurar una imagen decodificando los datos de imagen de acuerdo con una profundidad codificada y un modo de codificación que genera el error de codificación mínimo.
Puesto que la información de codificación acerca de la profundidad codificada y el modo de codificación puede asignarse a una unidad de datos predeterminada de entre una unidad de codificación correspondiente, una unidad de predicción y una unidad mínima, el extractor 220 de datos de imagen e información de codificación puede extraer la información acerca de la profundidad codificada y el modo de codificación de acuerdo con las unidades de datos predeterminadas. Las unidades de datos predeterminadas a las que se asigna la misma información acerca de la profundidad codificada y el modo de codificación pueden inferirse para que sean las unidades de datos incluidas en la misma unidad de codificación máxima.
El decodificador 230 de datos de imagen restaura la instantánea actual decodificando los datos de imagen en cada unidad de codificación máxima basándose en la información acerca de la profundidad codificada y el modo de codificación de acuerdo con las unidades de codificación máxima. En otras palabras, el decodificador 230 de datos de imagen puede decodificar los datos de imagen codificados basándose en la información extraída acerca del tipo de partición, el modo de predicción, y la unidad de transformación para cada unidad de codificación de entre las unidades de codificación que tienen la estructura de árbol incluidas en cada unidad de codificación máxima. Un procedimiento de decodificación puede incluir predicción que incluye intra predicción y compensación de movimiento y transformación inversa. La transformación inversa puede realizarse de acuerdo con un procedimiento de transformación ortogonal inversa o transformación de números enteros inversa.
El decodificador 230 de datos de imagen puede realizar intra predicción o compensación de movimiento de acuerdo con una partición y un modo de predicción de cada unidad de codificación, basándose en la información acerca del tipo de partición y el modo de predicción de la unidad de predicción de la unidad de codificación de acuerdo con profundidades codificadas.
También, el decodificador 230 de datos de imagen puede realizar transformación inversa de acuerdo con cada unidad de transformación en la unidad de codificación, basándose en la información acerca del tamaño de la unidad de transformación de la unidad de codificación de acuerdo con profundidades codificadas, para realizar la transformación inversa de acuerdo con unidades de codificación máxima.
El decodificador 230 de datos de imagen puede determinar al menos una profundidad codificada de una unidad de codificación máxima actual usando información de división de acuerdo con las profundidades. Si la información de división indica que los datos de imagen ya no se dividen más en la profundidad actual, la profundidad actual es una profundidad codificada. Por consiguiente, el decodificador 230 de datos de imagen puede decodificar datos codificados de al menos una unidad de codificación que corresponde a cada profundidad codificada en la unidad de codificación máxima actual usando la información acerca del tipo de partición de la unidad de predicción, el modo de predicción y el tamaño de la unidad de transformación para cada unidad de codificación que corresponde a la profundidad codificada, y emitir los datos de imagen de la unidad de codificación máxima actual.
En otras palabras, pueden reunirse las unidades de datos que contienen la información de codificación que incluye la misma información de división observando la información de codificación establecida asignada para la unidad de datos predeterminada de entre la unidad de codificación, la unidad de predicción y la unidad mínima, y las unidades de datos recopiladas pueden considerarse que son una unidad de datos a decodificarse por el decodificador 230 de datos de imagen en el mismo modo de codificación.
El aparato 200 de decodificación de vídeo puede obtener información acerca de al menos una unidad de codificación que genera el error de codificación mínimo cuando se realiza de manera recursiva codificación para cada unidad de codificación máxima, y puede usar la información para decodificar la instantánea actual. En otras palabras, pueden decodificarse las unidades de codificación que tienen la estructura de árbol determinadas para que sean las unidades de codificación óptima en cada unidad de codificación máxima. También, se determina el tamaño máximo de unidad de codificación considerando la resolución y una cantidad de datos de imagen.
Por consiguiente, incluso si los datos de imagen tienen alta resolución y una gran cantidad de datos, los datos de imagen pueden decodificarse de manera eficaz y restaurarse usando un tamaño de una unidad de codificación y un modo de codificación, que se determinan de manera adaptativa de acuerdo con características de los datos de imagen, usando información acerca de un modo de codificación óptimo recibido de un codificador.
Un procedimiento de determinación de unidades de codificación que tienen una estructura de árbol, una unidad de predicción, y una unidad de transformación, de acuerdo con una realización de la presente invención, se describirá ahora con referencia a las Figuras 3 a 13.
La Figura 3 es un diagrama para describir un concepto de unidades de codificación de acuerdo con una realización de la presente invención.
Un tamaño de una unidad de codificación puede expresarse en anchura x altura, y puede ser 64x64, 32x32, 16x16 y 8x8. Una unidad de codificación de 64x64 puede dividirse en particiones de 64x64, 64x32, 32x64 o 32x32, y una unidad de codificación de 32x32 puede dividirse en particiones de 32x32, 32x16, 16x32 o 16x16, una unidad de codificación de 16x16 puede dividirse en particiones de 16x16, 16x8, 8x16 u 8x8, y una unidad de codificación de 8x8 puede dividirse en particiones de 8x8, 8x4, 4x8 o 4x4.
En los datos 310 de vídeo, una resolución es 1920x1080, un tamaño máximo de una unidad de codificación es 64, y una profundidad máxima es 2. En los datos 320 de vídeo, una resolución es 1920x1080, un tamaño máximo de una unidad de codificación es 64, y una profundidad máxima es 3. En los datos 330 de vídeo, una resolución es 352x288, un tamaño máximo de una unidad de codificación es 16, y una profundidad máxima es 1. La profundidad máxima mostrada en la Figura 3 indica un número total de divisiones de una unidad de codificación máxima a una unidad de decodificación mínima.
Si una resolución es alta o una cantidad de datos es grande, un tamaño máximo de una unidad de codificación puede ser grande para no únicamente aumentar la eficacia de codificación sino también para reflejar de manera precisa características de una imagen. Por consiguiente, el tamaño máximo de la unidad de codificación de los datos 310 y 320 de vídeo que tienen la resolución más alta que los datos 330 de vídeo puede ser 64.
Puesto que la profundidad máxima de los datos 310 de vídeo es 2, las unidades 315 de codificación de los datos 310 de vídeo pueden incluir una unidad de codificación máxima que tiene un tamaño de eje largo de 64, y unidades de codificación que tienen tamaños de eje largo de 32 y 16 puesto que las profundidades se hacen profundas a dos capas dividiendo la unidad de codificación máxima dos veces. Mientras tanto, puesto que la profundidad máxima de los datos 330 de vídeo es 1, las unidades 335 de codificación de los datos 330 de vídeo pueden incluir una unidad de codificación máxima que tiene un tamaño de eje largo de 16, y unidades de codificación que tienen un tamaño de eje largo de 8 puesto que las profundidades se hacen profundas a una capa dividiendo la unidad de codificación máxima una vez.
Puesto que la profundidad máxima de los datos 320 de vídeo es 3, las unidades 325 de codificación de los datos 320 de vídeo pueden incluir una unidad de codificación máxima que tiene un tamaño de eje largo de 64, y unidades de codificación que tienen tamaños de eje largo de 32, 16 y 8 puesto que las profundidades se hacen profundas a 3 capas dividiendo la unidad de codificación máxima tres veces. A medida que una profundidad se hace profunda, puede expresarse de manera precisa información detallada.
La Figura 4 es un diagrama de bloques de un codificador 400 de imagen basado en unidades de codificación, de acuerdo con una realización de la presente invención.
El codificador 400 de imagen realiza operaciones del determinador 120 de unidad de codificación del aparato 100 de codificación de vídeo para codificar datos de imagen. En otras palabras, un intra predictor 410 realiza intra predicción en unidades de codificación en un intra modo, de entre un fotograma 405 actual, y un estimador 420 de movimiento y un compensador 425 de movimiento realizan inter estimación y compensación de movimiento en unidades de codificación en un inter modo de entre el fotograma 405 actual usando el fotograma 405 actual y un fotograma 495 de referencia.
Los datos emitidos desde el intra predictor 410, el estimador 420 de movimiento, y el compensador 425 de movimiento se emiten como un coeficiente de transformación cuantificado a través de un transformador 430 y un cuantificador 440. El coeficiente de transformación cuantificado se restaura como datos en un dominio espacial a través de un cuantificador 460 inverso y un transformador 470 inverso, y los datos restaurados en el dominio espacial se emiten como el fotograma 495 de referencia después de post-procesarse a través de una unidad 480 de desbloqueo y una unidad 490 de filtración de bucle. El coeficiente de transformación cuantificado puede emitirse como una secuencia de bits 455 a través de un codificador 450 por entropía.
Para que se aplique el codificador 400 de imagen en el aparato 100 de codificación de vídeo, todos los elementos del codificador 400 de imagen, es decir, el intra predictor 410, el estimador 420 de movimiento, el compensador 425 de movimiento, el transformador 430, el cuantificador 440, el codificador 450 por entropía, el cuantificador 460 inverso, el transformador 470 inverso, la unidad 480 de desbloqueo, y la unidad de filtración en bucle 490 realizan operaciones basándose en cada unidad de codificación de entre unidades de codificación que tienen una estructura de árbol mientras se considera la profundidad máxima de cada unidad de codificación máxima.
Específicamente, el intra predictor 410, el estimador 420 de movimiento, y el compensador 425 de movimiento determinan particiones y un modo de predicción de cada unidad de codificación de entre las unidades de codificación que tienen una estructura de árbol mientras se considera el tamaño máximo y la profundidad máxima de una unidad de codificación máxima actual, y el transformador 430 determina el tamaño de la unidad de transformación en cada unidad de codificación de entre las unidades de codificación que tienen una estructura de árbol.
La Figura 5 es un diagrama de bloques de un decodificador 500 de imagen basado en unidades de codificación, de acuerdo con una realización de la presente invención.
Un analizador 510 analiza datos de imagen codificados a decodificarse e información acerca de codificación requerida para decodificación de una secuencia de bits 505. Los datos de imagen codificados se emiten como datos cuantificados inversos a través de un decodificador 520 por entropía y un cuantificador 530 inverso, y los datos cuantificados inversos se restauran a datos de imagen en un dominio espacial a través de un transformador 540 inverso.
Un intra predictor 550 realiza intra predicción en unidades de codificación en un intra modo con respecto a los datos de imagen en el dominio espacial, y un compensador 560 de movimiento realiza compensación de movimiento en unidades de codificación en un inter modo usando un fotograma 585 de referencia.
Los datos de imagen en el dominio espacial, que se pasan a través del intra predictor 550 y el compensador 560 de movimiento, puede emitirse como un fotograma 595 restaurado después de post-procesarse a través de una unidad 570 de desbloqueo y una unidad 580 de filtración de bucle. También, los datos de imagen, que se post-procesan a través de la unidad 570 de desbloqueo y la unidad 580 de filtración en bucle, pueden emitirse como el fotograma 585 de referencia.
Para decodificar los datos de imagen en el decodificador 230 de datos de imagen del aparato 200 de decodificación de vídeo, el decodificador 500 de imagen puede realizar operaciones que se realizan después de que se realizan las operaciones del analizador 510.
Para que el decodificador 500 de imagen se aplique en el aparato 200 de decodificación de vídeo, todos los elementos del decodificador 500 de imagen, es decir, el analizador 510, el decodificador 520 por entropía, el cuantificador 530 inverso, el transformador 540 inverso, el intra predictor 550, el compensador 560 de movimiento, la unidad 570 de desbloqueo, y la unidad 580 de filtración en bucle realizan operaciones basándose en unidades de codificación que tienen una estructura de árbol para cada unidad de codificación máxima.
Específicamente, la intra predicción 550 y el compensador 560 de movimiento realizan operaciones basándose en particiones y un modo de predicción para cada una de las unidades de codificación que tienen una estructura de árbol, y el transformador 540 inverso realiza operaciones basándose en un tamaño de una unidad de transformación para cada unidad de codificación.
La Figura 6 es un diagrama que ilustra unidades de codificación más profundas de acuerdo con las profundidades, y particiones, de acuerdo con una realización de la presente invención.
El aparato 100 de codificación de vídeo y el aparato 200 de decodificación de vídeo usan unidades de codificación jerárquica para considerar características de una imagen. Puede determinarse de manera adaptativa una altura máxima, una anchura máxima, y una profundidad máxima de unidades de codificación de acuerdo con las características de la imagen, o puede establecerse de manera diferente por un usuario. Pueden determinarse tamaños de unidades de codificación más profundas de acuerdo con las profundidades de acuerdo con el tamaño máximo predeterminado de la unidad de codificación.
En una estructura 600 jerárquica de unidades de codificación, de acuerdo con una realización de la presente invención, la altura máxima y la anchura máxima de las unidades de codificación son cada una 64, y la profundidad máxima es 4. Puesto que una profundidad se hace profunda a lo largo de un eje vertical de la estructura 600 jerárquica, se divide cada una de una altura y una anchura de la unidad de codificación más profunda. También, una unidad de predicción y particiones, que son las bases para codificación de predicción de cada unidad de codificación más profunda, se muestran a lo largo de un eje horizontal de la estructura 600 jerárquica.
En otras palabras, una unidad 610 de codificación es una unidad de codificación máxima en la estructura 600 jerárquica, en el que una profundidad es 0 y un tamaño, es decir, una altura por anchura, es 64x64. La profundidad se hace profunda a lo largo del eje vertical, y existe una unidad 620 de codificación que tiene un tamaño de 32x32 y una profundidad de 1, una unidad 630 de codificación que tiene un tamaño de 16x16 y una profundidad de 2, una unidad 640 de codificación que tiene un tamaño de 8x8 y una profundidad de 3, y una unidad 650 de codificación que tiene un tamaño de 4x4 y una profundidad de 4. La unidad 650 de codificación que tiene el tamaño de 4x4 y la profundidad de 4 es una unidad de codificación mínima.
La unidad de predicción y las particiones de una unidad de codificación están dispuestas a lo largo del eje horizontal de acuerdo con cada profundidad. En otras palabras, si la unidad 610 de codificación que tiene el tamaño de 64x64 y la profundidad de 0 es una unidad de predicción, la unidad de predicción puede dividirse en particiones incluidas en la unidad 610 de codificación, es decir una partición 610 que tiene un tamaño de 64x64, particiones 612 que tienen el tamaño de 64x32, particiones 614 que tienen el tamaño de 32x64, o particiones 616 que tienen el tamaño de 32x32.
De manera similar, una unidad de predicción de la unidad 620 de codificación que tiene el tamaño de 32x32 y la profundidad de 1 puede dividirse en particiones incluidas en la unidad 620 de codificación, es decir una partición 620 que tiene un tamaño de 32x32, particiones 622 que tienen un tamaño de 32x16, particiones 624 que tienen un tamaño de 16x32, y particiones 626 que tienen un tamaño de 16x16.
De manera similar, una unidad de predicción de la unidad 630 de codificación que tiene el tamaño de 16x16 y la profundidad de 2 puede dividirse en particiones incluidas en la unidad 630 de codificación, es decir una partición que tiene un tamaño de 16x16 incluida en la unidad 630 de codificación, particiones 632 que tienen un tamaño de 16x8, particiones 634 que tienen un tamaño de 8x16, y particiones 636 que tienen un tamaño de 8x8.
De manera similar, una unidad de predicción de la unidad 640 de codificación que tiene el tamaño de 8x8 y la profundidad de 3 puede dividirse en particiones incluidas en la unidad 640 de codificación, es decir una partición que tiene un tamaño de 8x8 incluido en la unidad 640 de codificación, particiones 642 que tienen un tamaño de 8x4, particiones 644 que tienen un tamaño de 4x8, y particiones 646 que tienen un tamaño de 4x4.
La unidad 650 de codificación que tiene el tamaño de 4x4 y la profundidad de 4 es la unidad de codificación mínima y una unidad de codificación de la profundidad más inferior. Una unidad de predicción de la unidad 650 de codificación se asigna únicamente a una partición que tiene un tamaño de 4x4.
Para determinar la al menos una profundidad codificada de las unidades de codificación que constituyen la unidad 610 de codificación máxima, el determinador 120 de unidad de codificación del aparato 100 de codificación de vídeo realiza codificación para unidades de codificación que corresponden a cada profundidad incluida en la unidad 610 de codificación máxima.
Un número de unidades de codificación más profundas de acuerdo con las profundidades que incluyen datos en el mismo intervalo y el mismo tamaño aumenta a medida que la profundidad se hace más profunda. Por ejemplo, se requieren cuatro unidades de codificación que corresponden a una profundidad de 2 para cubrir datos que están incluidos en una unidad de codificación que corresponde a una profundidad de 1. Por consiguiente, para comparar resultados de codificación de los mismos datos de acuerdo con las profundidades, se codifica cada una de la unidad de codificación que corresponde a la profundidad de 1 y cuatro unidades de codificación que corresponden a la profundidad de 2.
Para realizar la codificación para una profundidad actual de entre las profundidades, puede seleccionarse un error de codificación mínimo para la profundidad actual realizando codificación para cada unidad de predicción en las unidades de codificación que corresponden a la profundidad actual, a lo largo del eje horizontal de la estructura 600 jerárquica. Como alternativa, puede buscarse el error de codificación mínimo comparando los errores mínimos de codificación de acuerdo con las profundidades y realizando codificación para cada profundidad a medida que la profundidad se hace más profunda a lo largo del eje vertical de la estructura 600 jerárquica. Una profundidad y una partición que tienen el error de codificación mínimo en la unidad 610 de codificación pueden seleccionarse como la profundidad codificada y un tipo de partición de la unidad 610 de codificación.
La Figura 7 es un diagrama para describir una relación entre una unidad 710 de codificación y unidades 720 de transformación, de acuerdo con una realización de la presente invención.
El aparato 100 o 200 de codificación de vídeo codifica o decodifica una imagen de acuerdo con unidades de codificación que tienen tamaños menores o iguales que una unidad de codificación máxima para cada unidad de codificación máxima. Pueden seleccionarse tamaños de unidades de transformación para transformación durante la codificación basándose en unidades de datos que ya no son mayores que una unidad de codificación correspondiente.
Por ejemplo, en el aparato 100 o 200 de codificación de vídeo, si un tamaño de la unidad 710 de codificación es 64x64, la transformación puede realizarse usando las unidades 720 de transformación que tienen un tamaño de 32x32.
También, los datos de la unidad 710 de codificación que tiene el tamaño de 64x64 pueden codificarse realizando la transformación en cada una de las unidades de transformación que tienen el tamaño de 32x32, 16x16, 8x8 y 4x4, que son menores que 64x64, y a continuación puede seleccionarse una unidad de transformación que tiene el error de codificación mínimo.
La Figura 8 es un diagrama para describir información de codificación de unidades de codificación que corresponden a una profundidad codificada, de acuerdo con una realización de la presente invención.
La unidad 130 de salida del aparato 100 de codificación de vídeo puede codificar y transmitir información 800 acerca de un tipo de partición, información 810 acerca de un modo de predicción, e información 820 acerca de un tamaño de una unidad de transformación para cada unidad de codificación que corresponde a una profundidad codificada, como información acerca de un modo de codificación.
La información 800 indica información acerca de una forma de una partición obtenida dividiendo una unidad de predicción de una unidad de codificación actual, en la que la partición es una unidad de datos para codificación de predicción la unidad de codificación actual. Por ejemplo, una unidad de codificación actual CU_0 que tiene un tamaño de 2Nx2N puede dividirse en una cualquiera de una partición 802 que tiene un tamaño de 2Nx2N, una partición 804 que tiene un tamaño de 2NxN, una partición 806 que tiene un tamaño de Nx2N, y una partición 808 que tiene un tamaño de NxN. En este punto, la información 800 acerca de un tipo de partición se establece para indicar una de la partición 804 que tiene un tamaño de 2NxN, la partición 806 que tiene un tamaño de Nx2N, y la partición 808 que tiene un tamaño de NxN.
La información 810 indica un modo de predicción de cada partición. Por ejemplo, la información 810 puede indicar un modo de codificación de predicción realizado en una partición indicado por la información 800, es decir, un intra modo 812, un inter modo 814, o un modo de salto 816.
La información 820 indica una unidad de transformación para que esté basada cuándo se realiza transformación en una unidad de codificación actual. Por ejemplo, la unidad de transformación puede ser una primera unidad 822 de intra transformación, una segunda unidad 824 de intra transformación, una primera unidad 826 de inter transformación, o una segunda unidad 828 de intra transformación.
El extractor 220 de datos de imagen e información de codificación del aparato 200 de decodificación de vídeo puede extraer y usar la información 800, 810 y 820 para decodificación, de acuerdo con cada unidad de codificación más profunda
La Figura 9 es un diagrama de unidades de codificación más profundas de acuerdo con las profundidades, de acuerdo con una realización de la presente invención.
La información de división puede usarse para indicar un cambio de una profundidad. La información de división indica si una unidad de codificación de una profundidad actual se divide en unidades de codificación de una profundidad inferior.
Una unidad 910 de predicción para codificar por predicción una unidad 900 de codificación que tiene una profundidad de 0 y un tamaño de 2N_0x2N_0 puede incluir particiones de un tipo 912 de partición que tiene un tamaño de 2N_0x2N_0, un tipo 914 de partición que tiene un tamaño de 2N_0xN_0, un tipo 916 de partición que tiene un tamaño de N_0x2N_0, y un tipo 918 de partición que tiene un tamaño de N_0xN_0. La Figura 9 únicamente ilustra los tipos 912 a 918 de partición que se obtienen dividiendo simétricamente la unidad 910 de predicción, pero un tipo de partición no está limitado a lo mismo, y las particiones de la unidad 910 de predicción pueden incluir particiones asimétricas, particiones que tienen una forma predeterminada, y particiones que tienen una forma geométrica.
La codificación de predicción se realiza de manera repetitiva en una partición que tiene un tamaño de 2N_0x2N_0, dos particiones que tienen un tamaño de 2N_0xN_0, dos particiones que tienen un tamaño de N_0x2N_0, y cuatro particiones que tienen un tamaño de N_0xN_0, de acuerdo con cada tipo de partición. La codificación por predicción en un intra modo y un inter modo puede realizarse en las particiones que tienen los tamaños de 2N_0x2N_0, N_0x2N_0, 2N_0xN_0 y N_0xN_0. La codificación por predicción en un modo de salto se realiza únicamente en la partición que tiene el tamaño de 2N_0x2N_0.
Si un error de codificación es el más pequeño en uno de los tipos 912 a 916 de partición que tienen los tamaños de 2N_0x2N_0, 2N_0xN_0, y N_0x2N_0, la unidad 910 de predicción no puede dividirse en una profundidad inferior. Si el error de codificación es el más pequeño en el tipo 918 de partición que tiene el tamaño de N_0xN_0, una profundidad se cambia de 0 a 1 para dividir el tipo 918 de partición en la operación 920, y se realiza de manera repetitiva codificación en unidades 930 de codificación que tienen una profundidad de 2 y un tamaño de N_0xN_0 para buscar un error de codificación mínimo.
Una unidad 940 de predicción para codificar por predicción la unidad 930 de codificación que tiene una profundidad de 1 y un tamaño de 2N_1x2N_1 (=N_0xN_0) puede incluir particiones de un tipo 942 de partición que tiene un tamaño de 2N_1x2N_1, un tipo 944 de partición que tiene un tamaño de 2N_1xN_1, un tipo 946 de partición que tiene un tamaño de N_1x2N_1, y un tipo 948 de partición que tiene un tamaño de N_1xN_1.
Si un error de codificación es el más pequeño en el tipo 948 de partición que tiene el tamaño de N_1XN_1, una profundidad se cambia de 1 a 2 para dividir el tipo 948 de partición en la operación 950, y se realiza codificación de manera repetitiva en las unidades 960 de codificación, que tienen una profundidad de 2 y un tamaño de N_2xN_2 para buscar un error de codificación mínimo.
Cuando una profundidad máxima es d, puede realizarse operación de división de acuerdo con cada profundidad hasta cuando una profundidad se vuelve d-1, y la información de división puede codificarse hasta cuando una profundidad es una de 0 a d-2. En otras palabras, cuando se realiza codificación hasta cuando la profundidad es d-1 después de que una unidad de codificación que corresponde a una profundidad de d-2 se divide en la operación 970, una unidad 990 de predicción para codificación de predicción de una unidad 980 de codificación que tiene una profundidad de d-1 y un tamaño de 2N_(d-1)x2N_(d-1) puede incluir particiones de un tipo 992 de partición que tiene un tamaño de 2N_(d-1)x2N_(d-1), un tipo 994 de partición que tiene un tamaño de 2N_(d-1)xN_(d-1), un tipo 996 de partición que tiene un tamaño de N_(d-1)x2N_(d-1), y un tipo 998 de partición que tiene un tamaño de N_(d-1)xN_(d-1).
Puede realizarse de manera repetitiva codificación de predicción en la partición que tiene un tamaño de 2N_(d-1)x2N_(d-1), dos particiones que tienen un tamaño de 2N_(d-1)xN_(d-1), dos particiones que tienen un tamaño de N_(d-1)x2N_(d-1), cuatro particiones que tienen un tamaño de N_(d-1)xN_(d-1) de entre los tipos 992 a 998 de partición para buscar un tipo de partición que tiene un error de codificación mínimo.
Incluso cuando el tipo 998 de partición que tiene el tamaño de N_(d-1)xN_(d-1) tiene el error de codificación mínimo, puesto que una profundidad máxima es d, una unidad de codificación CU_(d-1) que tiene una profundidad de d-1 ya no se divide más a una profundidad inferior, y una profundidad codificada para las unidades de codificación que constituyen una unidad 900 de codificación máxima actual se determina para que sea d-1 y un tipo de partición de la unidad 900 de codificación máxima actual puede determinarse que es N_(d-1)xN_(d-1). También, puesto que la profundidad máxima es d y una unidad 980 de codificación mínima que tiene una profundidad más inferior de d-1 ya no se divide más a una profundidad inferior, no se establece información de división para la unidad 980 de codificación mínima.
Una unidad 999 de datos puede ser una 'unidad mínima' para la unidad de codificación máxima actual. Una unidad mínima de acuerdo con una realización de la presente invención puede ser una unidad de datos rectangular obtenida dividiendo por 4 una unidad 980 de codificación mínima. Realizando la codificación de manera repetitiva, el aparato 100 de codificación de vídeo puede seleccionar una profundidad que tiene el error de codificación mínimo comparando errores de codificación de acuerdo con las profundidades de la unidad 900 de codificación para determinar una profundidad codificada, y establecer un tipo de partición y un modo de predicción correspondientes como un modo de codificación de la profundidad codificada.
Como tal, los errores de codificación mínimos de acuerdo con las profundidades se comparan en todas las profundidades de 1 a d, y puede determinarse una profundidad que tiene el error de codificación mínimo como una profundidad codificada. La profundidad codificada, el tipo de partición de la unidad de predicción, y el modo de predicción pueden codificase y transmitirse como información acerca de un modo de codificación. También, puesto que una unidad de codificación se divide de una profundidad de 0 a una profundidad codificada, únicamente se establece información de división de la profundidad codificada a 0, y la información de división de las profundidades excluyendo la profundidad codificada se establece a 1.
El extractor 220 de datos de imagen e información de codificación del aparato 200 de decodificación de vídeo puede extraer y usar la información acerca de la profundidad codificada y la unidad de predicción de la unidad 900 de codificación para decodificar la partición 912. El aparato 200 de decodificación de vídeo puede determinar una profundidad, en el que la información de división es 0, como una profundidad codificada usando información de división de acuerdo con las profundidades, y usar información acerca de un modo de codificación de la correspondiente profundidad para decodificación.
Las Figuras 10 a 12 son diagramas para describir una relación entre unidades 1010 de codificación, unidades 1060 de predicción, y unidades 1070 de transformación, de acuerdo con una realización de la presente invención.
Las unidades 1010 de codificación son unidades de codificación que tienen una estructura de árbol, que corresponden a profundidades codificadas determinadas por el aparato 100 de codificación de vídeo, en una unidad de codificación máxima. Las unidades 1060 de predicción son particiones de unidades de predicción de cada una de las unidades 1010 de codificación, y las unidades 1070 de transformación son unidades de transformación de cada una de las unidades 1010 de codificación.
Cuando una profundidad de una unidad de codificación máxima es 0 en las unidades 1010 de codificación, las profundidades de las unidades 1012 y 1054 de codificación son 1, las profundidades de las unidades 1014, 1016, 1018, 1028, 1050 y 1052 de codificación son 2, las profundidades de las unidades 1020, 1022, 1024, 1026, 1030, 1032 y 1048 de codificación son 3, y las profundidades de las unidades 1040, 1042, 1044 y 1046 de codificación son 4.
En las unidades 1060 de predicción, algunas unidades 1014, 1016, 1022, 1032, 1048, 1050, 1052 y 1054 de codificación se obtienen dividiendo las unidades de codificación. En otras palabras, tipos de partición en las unidades 1014, 1022, 1050 y 1054 de codificación tienen un tamaño de 2NxN, los tipos de partición en las unidades 1016, 1048 y 1052 de codificación tienen un tamaño de Nx2N, y un tipo de partición de la unidad 1032 de codificación tiene un tamaño de NxN. Las unidades de predicción y particiones de las unidades 1010 de codificación son menores o iguales que cada unidad de codificación.
Se realiza la transformación o transformación inversa en datos de imagen de la unidad 1052 de codificación en las unidades 1070 de transformación en una unidad de datos que es menor que la unidad 1052 de codificación. También, las unidades 1014, 1016, 1022, 1032, 1048, 1050 y 1052 de codificación en las unidades 1070 de transformación son diferentes de aquellas en las unidades 1060 de predicción en términos de tamaños y formas. En otras palabras, la codificación y decodificación de los aparatos 100 y 200 de vídeo puede realizar intra predicción, estimación de movimiento, compensación de movimiento, transformación y transformación inversa de manera individual en una unidad de datos en la misma unidad de codificación.
Por consiguiente, se realiza de manera recursiva decodificación en cada una de las unidades de codificación que tienen una estructura jerárquica en cada región de una unidad de codificación máxima para determinar una unidad de codificación óptima, y por lo tanto pueden obtenerse unidades de codificación que tienen una estructura de árbol recursiva. La información de codificación puede incluir información de división acerca de una unidad de codificación, información acerca de un tipo de partición, información acerca de un modo de predicción, e información acerca de un tamaño de una unidad de transformación. La Tabla 1 muestra la información de codificación que puede establecerse por los aparatos 100 y 200 de codificación y decodificación de vídeo.
Tabla 1
Figure imgf000014_0001
La unidad 130 de salida del aparato 100 de codificación de vídeo puede emitir la información de codificación acerca de las unidades de codificación que tienen una estructura de árbol, y el extractor 220 de datos de imagen e información de codificación del aparato 200 de decodificación de vídeo puede extraer la información de codificación acerca de las unidades de codificación que tienen una estructura de árbol de una secuencia de bits recibida.
La información de división indica si una unidad de codificación actual se divide en unidades de codificación de una profundidad inferior. Si la información de división de una profundidad actual d es 0, una profundidad, en la que una unidad de codificación actual ya no se divide más en una profundidad inferior, es una profundidad codificada, y por lo tanto puede definirse la información acerca de un tipo de partición, modo de predicción, y un tamaño de una unidad de transformación para la profundidad codificada. Si la unidad de codificación actual se divide adicionalmente de acuerdo con la información de división, se realiza de manera independiente codificación en cuatro unidades de codificación de división de una profundidad inferior.
Un modo de predicción puede ser uno de un intra modo, un inter modo y un modo de salto. El intra modo y el inter modo pueden definirse en todos los tipos de partición, y el modo de salto se define únicamente en un tipo de partición que tiene un tamaño de 2Nx2N.
La información acerca del tipo de partición puede indicar tipos de partición simétricas que tienen tamaños de 2Nx2N, 2NxN, Nx2N y NxN, que se obtienen dividiendo simétricamente una altura o una anchura de una unidad de predicción, y tipos de partición asimétricas que tienen tamaños de 2NxnU, 2NxnD, nLx2N y nRx2N, que se obtienen dividiendo asimétricamente la altura o anchura de la unidad de predicción. Los tipos de partición asimétricas que tienen los tamaños de 2NxnU y 2NxnD pueden obtenerse respectivamente dividiendo la altura de la unidad de predicción en 1:3 y 3:1, y los tipos de partición asimétricas que tienen los tamaños de nLx2N y nRx2N pueden obtenerse respectivamente dividiendo la anchura de la unidad de predicción en 1:3 y 3:1
El tamaño de la unidad de transformación puede establecerse para que sea dos tipos en el intra modo y dos tipos en el inter modo. En otras palabras, si la información de división de la unidad de transformación es 0, el tamaño de la unidad de transformación puede ser 2Nx2N, que es el tamaño de la unidad de codificación actual. Si la información de división de la unidad de transformación es 1, las unidades de transformación pueden obtenerse dividiendo la unidad de codificación actual. También, si un tipo de partición de la unidad de codificación actual que tiene el tamaño de 2Nx2N es un tipo de partición simétrica, un tamaño de una unidad de transformación puede ser NxN, y si el tipo de partición de la unidad de codificación actual es un tipo de partición asimétrica, el tamaño de la unidad de transformación puede ser N/2xN/2.
La información de codificación acerca de unidades de codificación que tienen una estructura de árbol puede incluir al menos una de una unidad de codificación que corresponde a una profundidad codificada, una unidad de predicción y una unidad mínima. La unidad de codificación que corresponde a la profundidad codificada puede incluir al menos una de una unidad de predicción y una unidad mínima que contiene la misma información de codificación.
Por consiguiente, se determina si unidades de datos adyacentes están incluidas en la misma unidad de codificación que corresponde a la profundidad codificada comparando información de codificación de las unidades de datos adyacentes. También, se determina una unidad de codificación correspondiente que corresponde a una profundidad codificada usando información de codificación de una unidad de datos, y por lo tanto puede determinarse una distribución de profundidades codificadas en una unidad de codificación máxima.
Por consiguiente, si se predice una unidad de codificación actual basándose en información de codificación de unidades de datos adyacentes, pueden hacerse referencia directamente y usarse la información de codificación de unidades de datos en unidades de codificación más profundas adyacentes a la unidad de codificación actual.
Como alternativa, si una unidad de codificación actual se predice basándose en información de codificación de unidades de datos adyacentes, se buscan unidades de datos adyacentes a la unidad de codificación actual usando información codificada de las unidades de datos, y las unidades de codificación adyacentes buscadas pueden hacerse referencia para predecir la unidad de codificación actual.
La Figura 13 es un diagrama para describir una relación entre una unidad de codificación, una unidad de predicción o una partición, y una unidad de transformación, de acuerdo con la información de modo de codificación de la Tabla 1.
Una unidad 1300 de codificación máxima incluye las unidades 1302, 1304, 1306, 1312, 1314, 1316 y 1318 de codificación de profundidades codificadas. En este punto, puesto que la unidad 1318 de codificación es una unidad de codificación de una profundidad codificada, la información de división puede establecerse a 0. La información acerca de un tipo de partición de la unidad 1318 de codificación que tiene un tamaño de 2Nx2N puede establecerse para que sea uno de un tipo 1322 de partición que tiene un tamaño de 2Nx2N, un tipo 1324 de partición que tiene un tamaño de 2NxN, un tipo 1326 de partición que tiene un tamaño de Nx2N, un tipo 1328 de partición que tiene un tamaño de NxN, un tipo 1332 de partición que tiene un tamaño de 2NxnU, un tipo 1334 de partición que tiene un tamaño de 2NxnD, un tipo 1336 de partición que tiene un tamaño de nLx2N, y un tipo 1338 de partición que tiene un tamaño de nRx2N.
Cuando el tipo de partición se establece para que sea simétrica, es decir el tipo 1322, 1324, 1326 o 1328 de partición, se establece una unidad 1342 de transformación que tiene un tamaño de 2Nx2N si la información de división (bandera de tamaño de TU) de una unidad de transformación es 0, y se establece una unidad 1344 de transformación que tiene un tamaño de NxN si una bandera de tamaño de TU es 1.
Cuando el tipo de partición se establece para que sea asimétrica, es decir, el tipo 1332, 1334, 1336, o 1338 de partición, se establece una unidad 1352 de transformación que tiene un tamaño de 2Nx2N si una bandera de tamaño de TU es 0, y se establece una unidad 1354 de transformación que tiene un tamaño de N/2xN/2 si una bandera de tamaño de TU es 1.
En lo sucesivo, se describirá predicción de movimiento y compensación de movimiento, que se realizan por el estimador 420 de movimiento y el compensador 425 de movimiento del aparato 100 de codificación de vídeo de la Figura 4 y el compensador 550 de movimiento del aparato 200 de decodificación de vídeo de la Figura 5, y procedimientos de codificación y decodificación de información de movimiento, que se realizan por el codificador 450 por entropía de la Figura 4 y el decodificador 520 por entropía de la Figura 5. Como se describe con referencia a las Figuras 1 a 13, una unidad de predicción es una unidad de datos para codificación de predicción de una unidad de codificación. En lo sucesivo, la unidad de predicción hace referencia a la misma unidad de predicción o a una partición obtenida dividiendo la unidad de predicción.
Como se ha descrito anteriormente, las unidades de predicción se codifican usando diversos modos de predicción tal como un modo de intra predicción, un inter modo y un modo de salto.
En el modo de inter predicción, se predice una unidad de predicción actual mediante predicción de uni-dirección o predicción bidireccional. En detalle, una unidad de predicción incluida en un corte P se predice mediante predicción de uni-dirección usando únicamente una de una instantánea de referencia 'instantánea L0' incluida en una lista de instantáneas de referencia 'Lista 0' y una instantánea de referencia 'instantánea L1' incluida en una lista de instantáneas de referencia 'Lista 1'. Un procedimiento de predicción que usa la instantánea de referencia 'instantánea L0' incluida en la lista de instantáneas de referencia 'Lista 0' se denomina como “predicción L0”. Un procedimiento de predicción que usa la instantánea de referencia 'instantánea L1' incluida en la lista de instantáneas de referencia 'Lista 1' se denomina como “predicción L1”. En la lista de instantáneas de referencia 'Lista 0', un índice de instantánea de referencia se asigna en orden desde una instantánea pasada última a una instantánea anterior a la misma y a continuación se asigna en orden desde una instantánea futura más cercana a una siguiente instantánea posterior. Por otra parte, en la lista de instantáneas de referencia 'lista 1', un índice de instantánea de referencia se asigna en orden desde una instantánea futura más cercana a una siguiente instantánea posterior y a continuación se asigna en orden desde una instantánea pasada más anterior a una instantánea anterior a la misma. Una unidad de predicción incluida en un corte B se predice mediante predicción de uni-dirección o predicción bidireccional usando un promedio de la instantánea de referencia 'instantánea L0' incluida en la lista de instantáneas de referencia 'Lista 0' y la instantánea de referencia 'instantánea L1' incluida en la lista de instantáneas de referencia 'lista 1'. Un modo predictivo de bi-dirección realizado por el estimador 420 de movimiento puede usar dos instantáneas de referencia en lugar de estar limitado a una instantánea de referencia anterior o siguiente de una instantánea actual y puede denominarse como un modo bi-predictivo.
Los costes obtenidos codificando valores de predicción obtenidos de acuerdo con los modos de predicción se comparan entre sí y se determina un modo de predicción que tiene un coste más pequeño como un modo de predicción final de una unidad de predicción actual. Cuando los costes se comparan entre sí, puede determinarse el modo de predicción final a aplicarse a la unidad de predicción actual basándose en tasa-distorsión.
Para que un lado de decodificación genere un valor de predicción de una unidad de predicción en la que se realiza inter predicción, puede transmitirse la información de instantánea de referencia acerca de una instantánea a la que se ha hecho referencia por cada unidad de predicción en la que se realiza inter predicción, información de vector de movimiento, e información de movimiento tal como una dirección de predicción al lado de decodificación. De acuerdo con las realizaciones de la presente invención, para reducir la tara de transmisión, la información de movimiento se codifica basándose en información de movimiento que se predice usando información de movimiento de una unidad de predicción adyacente que se codificó previamente o usando una unidad de predicción co-localizada a una unidad de predicción actual en la instantánea anterior, en lugar de codificarse sin cambios.
De acuerdo con las realizaciones de la presente invención, se proporcionan diversos procedimientos de generación de manera adicional de información de movimiento de candidato de manera que el número total de piezas de información de movimiento es igual a un número predeterminado cuando el número de piezas de información de movimiento por defecto obtenidas de una unidad de predicción que está co-localizada espacial y temporalmente a una unidad de predicción actual que se determina previamente por un lado de codificación y un lado de decodificación es menor que el número predeterminado. De acuerdo con las realizaciones de la presente invención, puede determinarse previamente el mismo procedimiento de entre los diversos procedimientos de generación de manera adicional de información de movimiento de candidato por el lado de codificación y el lado de decodificación. En este caso, pueden establecerse respectivos índices predeterminados que indican los diversos procedimientos de generación de manera adicional de información de movimiento de candidato. Además, puede transmitirse un índice que indica un procedimiento de generación de manera adicional de información de movimiento de candidato, que se usa para codificar, puede añadirse a un conjunto de parámetros de secuencia (SPS), a un conjunto de parámetros de instantánea (PPS), o a un encabezamiento de corte.
A través de toda esta memoria descriptiva, la presente invención se describirá en términos de un caso donde se codifica información de vector de movimiento como información de movimiento. Sin embargo, la presente invención no está limitada a lo mismo. Como alternativa, la presente invención puede aplicarse a un caso donde se codifica información de movimiento distinta de información de vector de movimiento, tal como información de instantánea de referencia e información de dirección de predicción.
En lo sucesivo, se describirá un procedimiento y aparato para codificar información de movimiento de una unidad de predicción, y un procedimiento y aparato para decodificar información de movimiento de una unidad de predicción en detalle con respecto a realizaciones ejemplares de la invención.
La Figura 14 es un diagrama de bloques de un aparato 1400 de codificación de información de movimiento de acuerdo con una realización de la presente invención. Haciendo referencia a la Figura 14, el aparato 1400 de codificación de información de movimiento incluye una unidad 1410 de generación de información de movimiento de candidato y un codificador 1420 de información de movimiento. El aparato 1400 de codificación de información de movimiento de la Figura 14 puede incluirse en el codificador 400 de imagen de la Figura 4. Por ejemplo, el estimador 420 de movimiento de la Figura 4 puede realizar una función de la unidad 1410 de generación de información de movimiento de candidato de la Figura 14 y el codificador 450 por entropía de la Figura 4 puede realizar una función del codificador 1420 de información de movimiento de la Figura 14. La presente invención no está limitada a lo mismo. Otros componentes o un controlador (no mostrado) del codificador 400 de imagen de la Figura 4 pueden realizar una función del aparato 1400 de codificación de información de movimiento de la Figura 14. La unidad 1410 de generación de información de movimiento de candidato obtiene información de movimiento de candidato usando información de movimiento de unidades de predicción adyacentes que se recopilan temporal y espacialmente a una unidad de predicción actual. En particular, la unidad 1410 de generación de información de movimiento de candidato obtiene información de movimiento de candidato por defecto de unidades de predicción adyacentes que están espacialmente co-localizadas a la unidad de predicción actual que se ha establecido previamente y unidades de predicción que están temporalmente co-localizadas a la unidad de predicción actual que se ha establecido previamente. Si el número de piezas de información de movimiento de candidato por defecto es menor que un número predeterminado n (donde n es un número entero), la unidad 1410 de generación de información de movimiento de candidato genera 'n' piezas de información de movimiento de candidato modificando o codificando información de movimiento de unidades de predicción que están espacialmente co-localizadas a la predicción actual e información de movimiento de unidades de predicción que están temporalmente co-localizadas a la predicción actual o añadiendo información de movimiento que tiene un valor predeterminado de manera que el número total de piezas de información de movimiento de candidato puede ser 'n'. Se describirá más adelante un procedimiento de generación de información de movimiento de candidato.
El codificador 1420 de información de movimiento determina información de movimiento acerca de la unidad de predicción actual de entre las 'n' piezas de información de movimiento de candidato y codifica información de índice que indica la información de movimiento determinada como información de movimiento de la unidad de predicción actual. En detalle, el codificador 1420 de información de movimiento asigna 0 a (n-1) índices de información de movimiento a las 'n' piezas de información de movimiento de candidato, respectivamente, y codifica un índice que corresponde a información de movimiento de la unidad de predicción actual como información de movimiento de la unidad de predicción actual. Por ejemplo, cuando la información de movimiento corresponde a un vector de movimiento de predicción y n=2, es decir, cuando el número de candidatos de vector de movimiento de predicción de la unidad de predicción actual está fijado a 2, si dos candidatos de vector de movimiento de predicción que se generan respectivamente con respecto a una dirección L0 y una dirección L1 por la unidad 1410 de generación de información de movimiento de candidato son MVLX_Cand0 y MVLX_Cand1 (X es 0 o 1), respectivamente, el codificador 1420 de información de movimiento establece un índice de vector de movimiento de predicción que indica MVLX_Cand0 a 0 y establece un índice de vector de movimiento de predicción que indica MVLX_Cand1 a 1 y codifica un índice que corresponde a un vector de movimiento de predicción que tiene un coste mínimo como información de vector de movimiento de la unidad de predicción actual de acuerdo con el resultado de codificación de la unidad de predicción actual.
El codificador 1420 de información de movimiento puede codificar información de instantánea de referencia, información de dirección de predicción, y un valor de diferencia entre el vector de movimiento de predicción y un vector de movimiento original de la unidad de predicción actual, además del índice de vector de movimiento de predicción, y puede añadir la información codificada a una secuencia de bits.
Cuando el lado de codificación obtiene un número fijo de piezas de información de movimiento de candidato bajo una regla predeterminada y transmite la información de índice que indica una única pieza de información de movimiento de entre las piezas de información de movimiento de candidato, el lado de decodificación puede generar un número fijo de piezas de información de movimiento de candidato bajo la misma regla que la del lado de codificación y puede determinar información de movimiento de la unidad de predicción actual usando la información de índice transmitida. Como en el ejemplo anteriormente descrito, cuando la información de movimiento corresponde a un vector de movimiento de predicción, el lado de decodificación puede obtener un índice que indica el vector de movimiento de predicción y un valor de diferencia entre un vector de movimiento y el vector de movimiento de predicción de una secuencia de bits y puede restaurar el vector de movimiento de la unidad de predicción actual añadiendo el valor de diferencia con el vector de movimiento de predicción indicado por el índice de vector de movimiento de predicción. Además, el lado de decodificación puede generar un valor de predicción de la unidad de predicción actual usando el vector de movimiento restaurado, y la información de instantánea de referencia y la información de dirección de predicción (direcciones L0 y L1) que se obtienen desde una secuencia de bits.
La Figura 15 es un diagrama de bloques de la unidad 1410 de generación de información de movimiento de candidato de la Figura 14, de acuerdo con una realización de la presente invención.
Haciendo referencia a la Figura 15, la unidad 1410 de generación de información de movimiento de candidato incluye una unidad 1510 de generación de información de movimiento de candidato espacial, una unidad 1520 de generación de información de movimiento de candidato temporal, una unidad 1530 de eliminación de redundancia, y una unidad 1540 de generación de información de movimiento de candidato adicional.
La unidad 1510 de generación de información de movimiento de candidato espacial genera información de movimiento de candidato usando información de movimiento de unidades de predicción que están espacialmente co­ localizadas a la unidad de predicción actual. En detalle, la unidad 1510 de generación de información de movimiento de candidato espacial incluye una unidad 1511 de generación de información de movimiento de candidato superior que busca de manera secuencial unidades de predicción adyacentes situadas por encima de la unidad de predicción actual en un orden predeterminado para obtener información de movimiento, y una unidad 1512 de generación de información de movimiento de candidato izquierdo que busca de manera secuencial unidades de predicción adyacentes situadas a la izquierda de la unidad de predicción actual en un orden predeterminado para obtener información de movimiento.
La Figura 16 ilustra unidades de predicción adyacentes que están espacialmente co-localizadas a una unidad de predicción actual, de acuerdo con una realización de la presente invención. La presente invención no está limitada al caso mostrado en la Figura 16. Por ejemplo, pueden usarse unidades de predicción adyacentes de diferentes localizaciones espaciales como unidades de predicción adyacentes que están espacialmente co-localizadas a una unidad de predicción actual usada para predecir información de movimiento de una unidad de predicción actual.
Haciendo referencia a la Figura 16, la unidad 1510 de generación de información de movimiento de candidato espacial busca una unidad 1621 de predicción adyacente izquierda-inferior A0 situada en la parte inferior izquierda de la unidad 1610 de predicción actual y una unidad 1622 de predicción adyacente abajo-izquierda A1 situada por encima de la unidad 1621 de predicción adyacente izquierda-inferior A0 de entre unidades de predicción adyacentes situadas a la izquierda de una unidad 1610 de predicción actual en un orden de exploración predeterminado, y determina información de movimiento de una primera unidad de predicción que tiene información de movimiento disponible, que se busca en primer lugar, como información de movimiento de candidato izquierdo, de entre la unidad 1621 de predicción adyacente izquierda-inferior A0 y la unidad 1622 de predicción adyacente abajo-izquierda A1. Además, la unidad 1510 de generación de información de movimiento de candidato espacial busca una unidad 1631 de predicción adyacente B0 situada en la parte superior derecha de la unidad 1610 de predicción actual, una unidad 1632 de predicción adyacente B1 situada en la parte izquierda de la unidad 1631 de predicción adyacente B0, y una unidad 1633 de predicción adyacente B2 situada en la parte inferior izquierda de la unidad 1610 de predicción actual de entre unidades de predicción adyacentes situadas por encima de la unidad 1610 de predicción actual, y determina información de movimiento de una unidad de predicción que tiene información de movimiento disponible, que se busca en primer lugar, como información de movimiento de candidato superior. Análogamente, la unidad 1510 de generación de información de movimiento de candidato espacial no busca todas las unidades de predicción situadas alrededor de la unidad 1610 de predicción actual y busca unidades de predicción adyacentes por defecto, es decir, las unidades de predicción adyacentes A0, A1, B0, B1 y B2 para obtener información de movimiento, reduciendo de esta manera la complejidad de cálculo. Como se ha descrito anteriormente, el número y localizaciones de unidades de predicción adyacentes que se buscan para obtener información de movimiento de candidato espacial puede cambiarse. Sin embargo, para que un lado de decodificación restaure información de movimiento de la unidad de predicción actual, el número y localizaciones de unidades de predicción adyacentes que se buscan para obtener información de movimiento de candidato espacial en un lado de codificación y el lado de decodificación puede haberse establecido previamente.
Como un ejemplo de un procedimiento para determinar información de movimiento, se describirá un procedimiento para determinar un vector de movimiento de predicción de un vector de movimiento de una unidad de predicción actual de unidades de predicción adyacentes que están espacialmente co-localizadas a la unidad de predicción actual.
Haciendo referencia a las Figuras 15 y 16, la unidad 1512 de generación de información de movimiento de candidato izquierdo comprueba secuencialmente si los vectores de movimiento de la unidad 1621 de predicción adyacente izquierda-inferior A0 y la unidad 1622 de predicción adyacente abajo-izquierda A1 están disponibles y determina un vector de movimiento de una unidad de predicción adyacente que tiene un vector de movimiento disponible como un vector de movimiento de candidato izquierdo. En este punto, la disponibilidad de un vector de movimiento hace referencia a si una unidad de predicción adyacente tiene un vector de movimiento que indica la misma instantánea de referencia en la misma lista de instantáneas de referencia como una unidad de predicción actual. Por ejemplo, cuando un vector de movimiento de la unidad 1610 de predicción actual es un vector de movimiento que indica una instantánea de referencia (instantánea L0R0) que tiene un índice de referencia R0 en una lista L0, si la unidad 1621 de predicción adyacente izquierda-inferior A0 es una unidad de predicción en la que se realiza intra predicción, o tiene un vector de movimiento que indica una instantánea de referencia incluida en una lista de instantáneas de referencia diferente de la unidad 1610 de predicción actual, o tiene un vector de movimiento que indica una instantánea de referencia diferente incluida en la misma instantánea de referencia que la unidad 1610 de predicción actual, se determina que la unidad 1621 de predicción adyacente izquierda-inferior A0 no tiene un vector de movimiento disponible. Si la unidad 1622 de predicción adyacente abajo-izquierda A1 tiene un vector de movimiento que indica la misma instantánea en la misma lista de instantáneas de referencia que la unidad 1610 de predicción actual, el vector de movimiento de la unidad 1622 de predicción adyacente abajo-izquierda A1 se determina como un vector de movimiento de candidato izquierdo.
De manera similar, la unidad 1511 de generación de información de movimiento de candidato superior comprueba secuencialmente si los vectores de movimiento de la unidad 1631 de predicción adyacente B0, la unidad 1632 de predicción adyacente B1, y la unidad 1633 de predicción adyacente B2 están disponibles y determina un vector de movimiento de una unidad de predicción adyacente que indica la misma instantánea de referencia en la misma lista de instantáneas de referencia que la unidad 1610 de predicción actual como un vector de movimiento de candidato superior.
Cuando no existen unidades de predicción adyacentes que tienen un vector de movimiento disponible de entre unidades de predicción adyacentes, la unidad 1510 de generación de información de movimiento de candidato espacial puede escalar un vector de movimiento de una unidad de predicción adyacente que indica una instantánea de referencia diferente de la misma lista de instantáneas de referencia como la unidad l6 l0 de predicción actual o un vector de movimiento de una unidad de predicción adyacente que indica una instantánea de referencia incluida en una lista de instantáneas de referencia diferente de la unidad 1610 de predicción actual y puede usar el vector de movimiento escalado como un candidato de vector de movimiento de predicción de la unidad 1610 de predicción actual.
La Figura 17A es un diagrama de referencia para explicar un procedimiento para determinar un candidato de vector de movimiento de predicción espacial escalado, de acuerdo con una realización de la presente invención.
Haciendo referencia a la Figura 17A, un vector de movimiento MVL0_Cur de una unidad 1731 de predicción actual indica una instantánea L0R01720 que es una instantánea de referencia que tiene un índice de referencia R0 en una lista L0, la unidad 1621 de predicción adyacente izquierda-inferior A0 tiene un movimiento de predicción en el que se realiza intra predicción, la unidad 1622 de predicción adyacente abajo-izquierda A1 tiene un vector de movimiento mvL1_A1 que indica una instantánea L1R0 1740 que es una instantánea de referencia que tiene un índice de referencia R0 en una lista L1, la unidad 1631 de predicción adyacente B0 tiene una unidad de predicción en la que se realiza intra predicción, la unidad 1632 de predicción adyacente B1 tiene un vector de movimiento mvL1_B1 que indica una instantánea L1R1 1750 que es una instantánea de referencia que tiene un índice de referencia R1 en una lista L1, y la unidad 1633 de predicción adyacente B2 tiene un vector de movimiento mvL0_B2 que indica una instantánea L0R1 1710 que es una instantánea de referencia que tiene un índice de referencia R1 en una lista L0. En la Figura 17A, cualquier unidad de predicción de entre unidades de predicción adyacentes de la unidad 1731 de predicción actual no tiene el mismo vector de movimiento que indica la instantánea L0R0 1720 como el vector de movimiento MVL0_Cur de la unidad 1731 de predicción actual. Cuando no existe una unidad de predicción adyacente que tiene un vector de movimiento que indica la misma instantánea de referencia como una instantánea de referencia indicada por un vector de movimiento de la unidad 1731 de predicción actual de entre unidades de predicción adyacentes, la unidad 1510 de generación de información de movimiento de candidato espacial puede escalar un vector de movimiento de una unidad de predicción en la que se realiza inter predicción, de entre unidades de predicción adyacentes, basándose en una distancia temporal entre una instantánea de referencia indicada por un vector de movimiento de una unidad de predicción en la que se realiza inter predicción y una instantánea de referencia indicada por un vector de movimiento de una unidad de predicción actual y puede añadir el vector de movimiento escalado a un vector de movimiento de candidato. Es decir, la unidad 1510 de generación de información de movimiento de candidato espacial puede añadir un vector de movimiento de una unidad de predicción adyacente que indica una instantánea de referencia que tiene un índice de referencia diferente en la misma lista de instantáneas de referencia que la unidad 1731 de predicción actual de entre vectores de movimiento de una unidad de predicción adyacente a un vector de movimiento de candidato. Además, cuando no existe un vector de movimiento de una unidad de predicción adyacente que indica una instantánea de referencia que tiene un índice de referencia diferente en la misma lista de instantáneas de referencia como la unidad 1731 de predicción actual de entre vectores de movimiento de una unidad de predicción adyacente, la unidad 1510 de generación de información de movimiento de candidato espacial puede añadir un vector de movimiento de una unidad de predicción adyacente que indica una instantánea de referencia en una lista de instantáneas de referencia diferente de la unidad 1731 de predicción actual al vector de movimiento de candidato.
Por ejemplo, la unidad 1510 de generación de información de movimiento de candidato espacial puede escalar el vector de movimiento mvL1_A1 de la unidad 1622 de predicción adyacente abajo-izquierda A1, excepto para la unidad 1621 de predicción adyacente izquierda-inferior A0 en la que se realiza intra predicción, teniendo en cuenta una distancia temporal entre una instantánea 1730 actual y la instantánea L0R0 1720 indicado por el vector de movimiento MVL0_Cur de la unidad 1731 de predicción actual y una distancia temporal entre la instantánea 1730 actual y la instantánea L1R0 1740 indicado por el vector de movimiento mvL1_A1 de la unidad 1622 de predicción adyacente abajo-izquierda A1 y puede determinar el vector de movimiento escalado mvL1_A1' como un candidato de vector de movimiento izquierdo.
Además, la unidad 1510 de generación de información de movimiento de candidato espacial puede escalar el vector de movimiento mvL0_B2 de la unidad 1633 de predicción adyacente B2 que indica la instantánea L0R1 1710 que es una instantánea de referencia que tiene un índice de referencia diferente en la misma instantánea de referencia como el vector de movimiento MVL0_Cur de la unidad 1731 de predicción actual, en lugar del vector de movimiento mvL1_B1 de la unidad 1632 de predicción adyacente B1 que indica la instantánea L1R1 1750 que es una instantánea de referencia en una lista de instantáneas de referencia diferente de la unidad 1731 de predicción actual y determina el vector de movimiento escalado mvL0_B2' como un candidato de vector de movimiento superior. Es decir, cuando la unidad 1510 de generación de información de movimiento de candidato espacial determina un vector de movimiento de una unidad de predicción adyacente, que es el objeto de escalamiento, la unidad 1510 de generación de información de movimiento de candidato espacial puede determinar un vector de movimiento de una unidad de predicción adyacente que indica una instantánea de referencia incluida en la misma lista de instantáneas de referencia como un vector de movimiento de una unidad de predicción actual. A continuación, cuando no existe un vector de movimiento de una unidad de predicción adyacente que indica una instantánea de referencia incluido en la misma lista de instantáneas de referencia como la unidad de predicción actual, la unidad 1510 de generación de información de movimiento de candidato espacial puede determinar un vector de movimiento de una unidad de predicción adyacente que indica una instantánea de referencia incluida en una lista de instantáneas de referencia diferente de la unidad de predicción actual como un vector de movimiento que se somete a escalamiento. La unidad 1510 de generación de información de movimiento de candidato espacial puede escalar el vector de movimiento mvL0_B2 de la unidad de predicción adyacente B2 teniendo en cuenta una distancia temporal entre la instantánea 1730 actual y la instantánea L0R0 1720 indicada por el vector de movimiento MVL0_Cur de la unidad 1731 de predicción actual y una distancia temporal entre la instantánea 1730 actual y la instantánea L0R1 1710 indicada por el vector de movimiento mvL0_B2 de la unidad 1633 de predicción adyacente B2 y puede determinar el vector de movimiento escalado mvL0_B2' como un candidato de vector de movimiento superior.
La Figura 18 es un diagrama de referencia para explicar un procedimiento de generación de un candidato de vector de movimiento de predicción de una unidad de predicción actual escalando un vector de movimiento de una unidad de predicción adyacente, de acuerdo con una realización de la presente invención.
Como se ha descrito anteriormente, cuando no existe el mismo vector de movimiento que una unidad de predicción actual, es decir, no existe un vector de movimiento que indica una instantánea de referencia que tiene el mismo índice de referencia incluido en la misma lista de instantáneas de referencia que la unidad de predicción actual de entre unidades de predicción adyacentes de la unidad de predicción actual, un vector de movimiento MV(Bn) de una unidad de predicción adyacente (una unidad de predicción Bn de la Figura 18) que hace referencia a una instantánea de referencia diferente en la misma lista de instantáneas de referencia que la unidad de predicción actual o un vector de movimiento MV(An) de una unidad de predicción adyacente (una unidad de predicción An de la Figura 18) que hace referencia a una instantánea de referencia incluida en una lista de instantáneas de referencia diferente de la unidad de predicción actual puede escalarse, y el vector de movimiento escalado puede añadirse a un candidato de vector de movimiento de predicción de la unidad de predicción actual. En detalle, cuando una distancia temporal d(cur) entre una instantánea actual y una instantánea de referencia (una instantánea L0R0) indicada por el vector de movimiento MVL0_Cur de una unidad de predicción actual es d(cur) y una distancia temporal entre la instantánea actual y una instantánea de referencia (una instantánea L0R1) indicada por el vector de movimiento MV(Bn) de una unidad de predicción Bn es d(Bn), el vector de movimiento MV(Bn) de la unidad de predicción Bn puede escalarse de acuerdo con la ecuación, MV(Bn)'=MV(Bn)*{d(cur)/d(Bn)}, y el vector de movimiento escalado MV(Bn)' puede añadirse a un candidato de vector de movimiento de predicción de la unidad de predicción actual. De manera similar, cuando una distancia temporal entre una instantánea actual y una instantánea de referencia (una instantánea L1R1) indicada por un vector de movimiento MV(An) de una unidad de predicción An es d(An), el vector de movimiento MV(An) de la unidad de predicción An puede escalarse de acuerdo con la ecuación, MV(An)'=MV(An)*{d(cur)/d(An)}, y el vector de movimiento escalado MV(An)' puede añadirse a un candidato de vector de movimiento de predicción de la unidad de predicción actual.
Si el vector de movimiento escalado está incluido en un candidato de vector de movimiento espacial puede determinarse teniendo en cuenta una condición predeterminada. Por ejemplo, la unidad 1510 de generación de información de movimiento de candidato espacial puede escalar un vector de movimiento de una unidad de predicción en la que se realiza inter predicción, de entre las unidades de predicción adyacentes B0, B1 y B2 y puede añadir el vector de movimiento escalado a un candidato de vector de movimiento superior únicamente cuando se realiza intra predicción en una de las unidades de predicción adyacentes A0 y A1 adyacentes a la izquierda de la unidad de predicción actual. En otras palabras, si se añade el vector de movimiento escalado a un candidato de vector de movimiento de predicción espacial puede realizarse de manera selectiva de acuerdo con si se satisface una condición predeterminada. La condición predeterminada puede designarse en diversas maneras y no está limitada al ejemplo anteriormente descrito.
En el ejemplo anteriormente descrito, cuando la unidad 1510 de generación de información de movimiento de candidato espacial busca unidades de predicción superiores y unidades de predicción izquierdas que están espacialmente co-localizadas a una unidad de predicción actual, la unidad 1510 de generación de información de movimiento de candidato espacial busca unidades de predicción adyacentes izquierdas en orden de A0->A1 o busca unidades de predicción adyacentes superiores en orden de B0->B1->B2. Sin embargo, la presente invención no está limitada al orden de exploración. Como alternativa, la unidad 1510 de generación de información de movimiento de candidato espacial puede determinar unidades de predicción adyacentes en orden de, por ejemplo, A1-> B1-> B0->A0->B2 sin una base tal como un lado superior o izquierdo y puede determinar si se usa información de movimiento de cada unidad de predicción adyacente como información de movimiento de la unidad de predicción actual.
Además, cuando la unidad 1510 de generación de información de movimiento de candidato espacial genera información de movimiento de candidato espacial, la unidad 1510 de generación de información de movimiento de candidato espacial puede comprobar si la información de movimiento de todas las unidades de predicción situadas por encima de la unidad de predicción actual y a la izquierda de la unidad de predicción actual, por ejemplo, de todas las unidades de predicción adyacentes A0, A1, B0, B1 y B2 están disponibles sin ningún orden de exploración en lugar de buscar unidades de predicción adyacentes en un orden de exploración predeterminado y a continuación puede añadir todas las piezas de información de movimiento disponibles de entre la información de movimiento de las unidades de predicción adyacentes A0, A1, B0, B1 y B2 al candidato de información de movimiento espacial. Haciendo referencia de vuelta a la Figura 15, la unidad 1520 de generación de información de movimiento de candidato temporal genera información de movimiento de candidato temporal usando información de movimiento de una unidad de movimiento que está temporalmente co-localizada a una unidad de predicción actual, es decir, información de movimiento de una unidad de movimiento que está co-localizada basándose en una localización de la unidad de predicción actual de entre unidades de predicción de una instantánea anterior que se codificaron previamente.
La Figura 19 es un diagrama de referencia para explicar un procedimiento de generación de información de movimiento de candidato temporal, de acuerdo con una realización de la presente invención.
Haciendo referencia a las Figuras 15 y 19, la unidad 1520 de generación de información de movimiento de candidato temporal puede generar información de movimiento de candidato temporal usando información de movimiento de una unidad 1924 de predicción situada en la parte inferior derecha de una unidad 1921 de predicción de la instantánea 1920 de referencia que tiene la misma localización que una unidad 1911 de predicción actual de entre unidades de predicción de una instantánea 1920 de referencia que se codificó previamente a una instantánea 1910 actual. Por ejemplo, cuando la información de movimiento es un vector de movimiento de predicción, la unidad 1520 de generación de información de movimiento de candidato temporal puede generar un candidato de vector de movimiento temporal escalando un vector de movimiento de la unidad 1924 de predicción. El escalamiento del vector de movimiento de predicción temporal puede realizarse basándose en una distancia temporal entre una instantánea L0R0 1920 y una instantánea de referencia L1R0 1930 y una distancia temporal entre la instantánea 1910 actual y la instantánea de referencia L1R01930, como se describe con referencia a la Figura 18.
Si la unidad 1924 de predicción situada en el lado inferior derecho de la unidad 1921 de predicción se intra-predice de manera que un vector de movimiento de la unidad 1924 de predicción no está disponible, la unidad 1520 de generación de información de movimiento de candidato temporal puede escalar un vector de movimiento de la unidad 1921 de predicción, que contiene un punto C' 1922 de la instantánea 1920 de referencia como la misma localización que un punto C 1912 de un punto central de la unidad 1911 de predicción actual y puede generar el vector de movimiento de predicción temporal. Es decir, la unidad 1520 de generación de información de movimiento de candidato temporal puede comprobar en primer lugar si está disponible la información de movimiento de una unidad de predicción situada en la parte inferior derecha de una unidad de predicción que tiene la misma localización que una unidad de predicción actual de entre unidades de predicción de una instantánea anterior, puede determinar de manera secuencial si la información de movimiento de una unidad de predicción que contiene un punto que tiene la misma localización que un punto central de la unidad de predicción actual está disponible, y a continuación puede añadir información de movimiento disponible de una unidad de predicción a la información de movimiento de candidato temporal. El número y localizaciones de unidades de predicción de una instantánea anterior que se busca para generar la información de movimiento de candidato temporal pueden no estar limitados al caso mostrado en la Figura 19 y puede cambiarse de diversas maneras. Además, cuando la unidad 1520 de generación de información de movimiento de candidato temporal genera información de movimiento de candidato temporal, la unidad 1520 de generación de información de movimiento de candidato temporal puede no comprobar si está disponible información de movimiento de unidades de predicción de una instantánea anterior en un orden predeterminado, puede comprobar si está disponible tanto la información de movimiento de una unidad de predicción situada en la parte inferior derecha de una unidad de predicción que tiene la misma localización que una unidad de predicción actual como la información de movimiento de una unidad de predicción que contiene un punto que tiene la misma localización que un punto central de la unidad de predicción actual, y a continuación puede añadir todas las piezas de la información de movimiento disponibles de la unidad de predicción de la instantánea anterior a la información de movimiento de candidato temporal.
Haciendo referencia de vuelta a la Figura 15, la unidad 1530 de eliminación de redundancia puede determinar si la información de movimiento de candidato espacial y la información de movimiento de candidato temporal son idénticas entre sí y puede eliminar información de movimiento redundante de la información de movimiento de candidato. La unidad 1530 de eliminación de redundancia puede omitirse para reducir complejidad de cálculo. Es decir, puede omitirse un procedimiento de comprobación de redundancia.
El número de piezas de la información de movimiento de candidato generado por la unidad 1510 de generación de información de movimiento de candidato espacial y la unidad 1520 de generación de información de movimiento de candidato temporal puede ser menor que un número predeterminado 'n'. En el ejemplo anteriormente descrito, cuando se realiza intra predicción en todas las unidades de predicción adyacentes situadas por encima de la unidad de predicción actual o a la izquierda de la unidad de predicción actual o cuando se realiza intra predicción en unidades de predicción situadas en una localización predeterminada de instantáneas anteriores buscadas por la unidad 1520 de generación de información de movimiento de candidato temporal, el número de piezas de la información de movimiento de candidato generada puede ser menor que 'n'.
Cuando el número de piezas de la información de movimiento de candidato generado por la unidad 1510 de generación de información de movimiento de candidato espacial y la unidad 1520 de generación de información de movimiento de candidato temporal es menor que un número predeterminado 'n', la unidad 1540 de generación de información de movimiento de candidato adicional puede generar información de movimiento de candidato adicional usando información de movimiento de unidades de predicción espacial e información de movimiento disponible de unidades de predicción temporales de manera que el número total de piezas de información de movimiento de candidato puede ser 'n'.
En lo sucesivo se describirán diversos procedimientos de generación de información de movimiento de candidato adicional mediante la unidad 1540 de generación de información de movimiento de candidato adicional.
Cuando la unidad 1510 de generación de información de movimiento de candidato espacial comprueba secuencialmente si están disponibles unidades de predicción adyacentes de una unidad de predicción actual, la unidad 1540 de generación de información de movimiento de candidato adicional puede generar información de movimiento de candidato adicional usando información de movimiento de una unidad de predicción que se comprueba después de que se comprueba en primer lugar una unidad de predicción adyacente disponible.
La Figura 17B es un diagrama de referencia para explicar un procedimiento para generar información de movimiento de candidato adicional usando una unidad de predicción que está espacialmente co-localizada a una unidad de predicción actual, de acuerdo con una realización de la presente invención.
Haciendo referencia a la Figura 17B, la unidad 1540 de generación de información de movimiento de candidato adicional puede generar información de movimiento de una unidad de predicción de las unidades de predicción adyacentes A0, A1, B0, B1 y B2, que tienen información de movimiento disponible pero no están incluidas en la información de movimiento de candidato debido a que se están comprobando después de que se explorara anteriormente otra unidad de predicción en un orden de exploración, como información de movimiento de candidato adicional.
Por ejemplo, se supone que la información de movimiento de candidato izquierdo generado por la unidad 1510 de generación de información de movimiento de candidato espacial es 'izquierda', la información de movimiento de candidato generado superior por la unidad 1510 de generación de información de movimiento de candidato espacial es 'superior', y la información de movimiento de candidato temporal generada por la unidad 1520 de generación de información de movimiento de candidato temporal es 'Temporal'. La unidad 1540 de generación de información de movimiento de candidato adicional determina si la información de movimiento de candidato (es decir, izquierda, superior y temporal) está disponible, es decir, si existe la información de movimiento de candidato y determina que el número de piezas de la información de movimiento de candidato es un número predeterminado 3 (que corresponde a n=3). Además, cuando el número de piezas de información de movimiento de candidato es menor que un número predeterminado, la unidad 1540 de generación de información de movimiento de candidato adicional puede generar información de movimiento de candidato adicional usando información de movimiento de una unidad de predicción que se comprueba después de que se comprobó previamente una unidad de predicción adyacente disponible. Como se ha descrito anteriormente, cuando la unidad 1510 de generación de información de movimiento de candidato espacial genera información de movimiento de candidato espacial, la unidad 1510 de generación de información de movimiento de candidato espacial puede comprobar si la información de movimiento de todas las unidades de predicción situadas por encima de la unidad de predicción actual y a la izquierda de la unidad de predicción actual, por ejemplo, de todas las unidades de predicción adyacentes A0, A1, B0, B1 y B2 están disponibles sin ningún orden de exploración y a continuación puede añadir todas las piezas de información de movimiento disponible de entre la información de movimiento de las unidades de predicción adyacentes A0, A1, B0, B1 y B2 al candidato de información de movimiento espacial. En este caso, cuando el número de piezas de información de movimiento de candidato es menor que un número predeterminado, por ejemplo, 5, la unidad 1540 de generación de información de movimiento de candidato adicional puede generar información de movimiento de candidato adicional usando información de movimiento de la unidad de predicción disponible.
Se supone que no existe información de movimiento de candidato izquierdo y está disponible información de movimiento de las unidades de predicción adyacentes B0, B1 y B2. Como se muestra en la Figura 17B, se selecciona la información de movimiento de la unidad de predicción adyacente B0 que se ha comprobado previamente en un orden de exploración como información de movimiento de candidato superior e información de movimiento de las unidades de predicción adyacentes B1 y B2 que no están incluidas en información de movimiento por defecto. Cuando el número total de piezas de información de movimiento de candidato es menor que un número predeterminado puesto que las unidades de predicción adyacentes A0 y A1 no tienen información de movimiento disponible, la unidad 1540 de generación de información de movimiento de candidato adicional puede añadir información de movimiento de la unidad de predicción adyacente B1 o B2 a información de movimiento de candidato adicional.
De manera similar, cuando no existe información de movimiento de candidato superior y está disponible información de movimiento de las unidades de predicción adyacentes izquierdas A0 y A1, la información de movimiento de la unidad de predicción adyacente A0 que se comprobó previamente se selecciona como información de movimiento izquierda y la información de movimiento de la unidad de predicción adyacente A1 que se comprueba después de que la unidad de predicción adyacente A1 no está incluida en la información de movimiento por defecto. Sin embargo, cuando el número de piezas de información de movimiento de candidato es menor que un número predeterminado puesto que las unidades de predicción adyacentes B0, B1 y B2 no tienen información de movimiento disponible, puede incluirse la información de movimiento de la unidad de predicción adyacente A1 en información de movimiento de candidato adicional.
De acuerdo con otra realización de la presente invención, cuando la unidad 1520 de generación de información de movimiento de candidato temporal comprueba secuencialmente si están disponibles unidades de predicción de una instantánea anterior que están temporalmente co-localizadas a una unidad de predicción actual, la unidad 1540 de generación de información de movimiento de candidato adicional puede escalar información de movimiento de una unidad de predicción de una instantánea anterior que tiene información de movimiento de entre unidades de predicción de la instantánea anterior restantes excepto para una primera instantánea anterior que tiene información de movimiento disponible y puede añadir la información de movimiento escalada a información de movimiento de candidato adicional.
Haciendo referencia de vuelta a la Figura 19, la unidad 1520 de generación de información de movimiento de candidato temporal comprueba si la información de movimiento de la unidad 1924 de predicción situada en la parte inferior derecha de la unidad 1921 de predicción de la instantánea 1920 de referencia que tiene una localización correspondiente a la unidad 1911 de predicción actual está disponible de entre unidades de predicción de la instantánea 1920 de referencia que se han codificado previamente a la instantánea 1910 actual y a continuación determina si está disponible la información de movimiento de la unidad 1921 de predicción, que contiene un punto C' 1922 de la instantánea 1920 de referencia como la misma localización que un punto C 1912 de un punto central de la unidad 1911 de predicción actual. Si la unidad 1924 de predicción situada en la parte inferior derecha de la unidad 1921 de predicción tiene información de movimiento disponible, la información de movimiento de la unidad 1924 de predicción situada en la parte inferior derecha de la unidad 1921 de predicción se incluye en la información de movimiento de candidato y en la información de movimiento por defecto de la unidad 1921 de predicción, que contiene el punto C' 1922 de la instantánea 1920 de referencia que la misma localización que el punto C 1912 no está incluida en la información de movimiento de candidato por defecto. Cuando el número total de piezas de información de movimiento de candidato es menor que un número predeterminado, la unidad 1540 de generación de información de movimiento de candidato adicional puede añadir información de movimiento de la unidad 1921 de predicción, que contiene el punto C' 1922 de la instantánea 1920 de referencia como la misma localización que el punto C 1912 a información de movimiento de candidato adicional. Es decir, la unidad 1540 de generación de información de movimiento de candidato adicional puede añadir información de movimiento de una unidad de predicción que no está incluida en información de movimiento de candidato por defecto de entre unidades de predicción de una instantánea anterior a información de movimiento de candidato adicional.
De acuerdo con otra realización de la presente invención, la unidad 1540 de generación de información de movimiento de candidato adicional puede añadir información de movimiento que tiene un valor predeterminado a información de movimiento de candidato adicional. Por ejemplo, cuando la información de movimiento es un vector de movimiento de predicción, si el número de piezas de información de movimiento de candidato es menor que un número predeterminado, la unidad 1540 de generación de información de movimiento de candidato adicional puede añadir un vector de movimiento que tienen un valor de componente predeterminado tal como (0,0), (0,1), o (1,0) a un vector de movimiento de candidato.
De acuerdo con otra realización de la presente invención, cuando la información de movimiento disponible de unidades de predicción espacial y unidades de predicción temporales contiene información de vector de movimiento bidireccional de predicción de las direcciones L0 y L1, la unidad 1540 de generación de información de movimiento de candidato adicional puede añadir o restar un desplazamiento predeterminado a y desde un vector de movimiento de la predicción de la dirección L0 y un vector de movimiento de la predicción de la dirección L1 para generar información de movimiento de candidato adicional.
Las Figuras 20A y 20B son diagramas para explicar un procedimiento de generación de información de movimiento de candidato adicional usando información de movimiento de unidades de predicción disponibles, de acuerdo con otra realización de la presente invención. Las Figuras 21A y 21B son diagramas para describir una relación posicional entre una instantánea actual y una instantánea de referencia cuando se genera información de movimiento de candidato adicional de las Figuras 20A y 20B, de acuerdo con una realización de la presente invención.
Haciendo referencia a las Figuras 20A y 21A, cuando la unidad de predicción adyacente B1 de entre unidades de predicción situadas por encima de una unidad de predicción actual tiene un vector de movimiento mvL0_B1 que indica una instantánea L0R0 2110 que es una instantánea de referencia de la predicción de la dirección L0 y un vector de movimiento mvL1_B1 que indica una instantánea L1R02120 que es una instantánea de referencia de la predicción de la dirección L1, y una instantánea 2100 actual está situada entre la instantánea L0R0 2110 y la instantánea L1R02120, la unidad 1540 de generación de información de movimiento de candidato adicional puede añadir desplazamientos predeterminados que tienen el mismo valor absoluto y diferentes signos al vector de movimiento mvL0_B1 de la predicción de la dirección L0 y al vector de movimiento mvL1_B1 de la predicción de la dirección L1 para generar un nuevo vector de movimiento y puede añadir el nuevo vector de movimiento a información de movimiento de candidato adicional. Es decir, como se muestra en la Figura 20A, la unidad 1540 de generación de información de movimiento de candidato adicional puede añadir un desplazamiento predeterminado mv_offset al vector de movimiento mvL0_B1 de la predicción de la dirección L0 de manera que puede incluirse un vector de movimiento generado mvL0' en un vector de movimiento de candidato adicional de la predicción de la dirección L0 y puede restar el desplazamiento mv_offset del vector de movimiento mvL1_B1 de la predicción de la dirección L1 de manera que el vector de movimiento generado mvL1' puede incluirse en el vector de movimiento de candidato adicional de la predicción de la dirección L1.
Cuando un vector de movimiento ListOMV de la dirección L0, que está incluido en información de movimiento bidireccional obtenida de una unidad de predicción adyacente disponible, tiene un valor (mx0,my0) y un vector de movimiento List1MV de la dirección L1 tiene un valor (mx1, my1), si una instantánea actual se sitúa entre una instantánea de referencia de la predicción de la dirección L1 y una instantánea de referencia de la predicción de la dirección L0, la unidad 1540 de generación de información de movimiento de candidato adicional puede añadir y restar un desplazamiento predeterminado a y desde un vector de movimiento de la predicción de la dirección L0 y un vector de movimiento de la predicción de la dirección L1 para generar información de movimiento de candidato adicional como sigue.
List0MV=(mx0+offset, my0), List1MV=(mx0-offset, my0);
List0MV=(mx0-offset, my0), List1MV=(mx0+offset, my0);
List0MV=(mx0, my0+offset), List1MV=(mx0, my0-offset);
List0MV=(mx0, my0-offset), List1MV=(mx0, my0+offset);
List0MV=(mx0+offset, my0+offset), List1MV=(mx0-offset, my0-offset); List0MV=(mx0+offset, my0-offset), List1MV=(mx0-offset, my0+offset);
List0MV=(mx0-offset, my0+offset), List1MV=(mx0+offset, my0-offset);
y
List0MV=(mx0-offset, my0-offset), List1MV=(mx0+offset, my0+offset) Haciendo referencia a las Figuras 20B y 21B, cuando la unidad de predicción adyacente B1 de entre unidades de predicción situadas por encima de una unidad de predicción actual tiene un vector de movimiento mvL1R0_B1 que indica una instantánea L1R0 2140 que es una instantánea de referencia de la dirección L0 y un vector de movimiento mvL1R1_B1 que indica una instantánea L1R12150 que es una instantánea de referencia de la dirección L1, si la instantánea L1R02140 y la instantánea L1R12150 están situadas en mismas localizaciones con respecto a una instantánea 2130 actual, la unidad 1540 de generación de información de movimiento de candidato adicional puede añadir o restar un desplazamiento predeterminado a y desde un vector de movimiento mvL1R0_B1 de la predicción de la dirección L0 y un vector de movimiento mvL1R1_B1 de la predicción de la dirección L1 para generar un nuevo vector de movimiento y puede añadir el nuevo vector de movimiento generado a información de movimiento de candidato adicional. Es decir, como se muestra en la Figura 20B, la unidad 1540 de generación de información de movimiento de candidato adicional puede añadir un vector de movimiento mvL0' generado añadiendo un desplazamiento mv_offset al vector de movimiento mvL1R0_B1 de la predicción de la dirección L0 a un vector de movimiento de candidato adicional de la predicción de la dirección L0 y puede añadir el vector de movimiento mvL1' generado añadiendo el desplazamiento mv_offset al vector de movimiento mvL1R1_B1 de la predicción de la dirección L1 a un vector de movimiento de candidato adicional de la dirección L1.
Cuando un vector de movimiento List0MV de la dirección L0, que se obtiene desde una unidad de predicción adyacente disponible, tiene un valor (mx0, my0), un vector de movimiento List1MV de la dirección L1 tiene un valor (mx1, my1), y una instantánea de referencia de la dirección L1 y una instantánea de referencia de la dirección L0 están situadas en localizaciones correspondientes con respecto a una instantánea actual, la unidad 1540 de generación de información de movimiento de candidato adicional puede añadir y restar un desplazamiento predeterminado a y desde un vector de movimiento de la predicción de la dirección L0 y un vector de movimiento de la predicción de la dirección L1 para generar información de movimiento de candidato adicional como sigue.
List0MV=(mx0+offset, my0), List1MV=(mx0+offset, my0);
List0MV=(mx0-offset, my0), List1MV=(mx0-offset, my0);
List0MV=(mx0, my0+offset), List1MV=(mx0, my0+offset);
List0MV=(mx0, my0-offset), List1MV=(mx0, my0-offset);
List0MV=(mx0+offset, my0+offset), List1MV=(mx0+offset, my0+offset);
List0MV=(mx0+offset, my0-offset), List1MV=(mx0+offset, my0-offset);
List0MV=(mx0-offset, my0+offset), List1MV=(mx0-offset, my0+offset);
y
List0MV=(mx0-offset, my0-offset), List1MV=(mx0-offset, my0-offset) De acuerdo con otra realización de la presente invención, la unidad 1540 de generación de información de movimiento de candidato adicional puede cambiar información de movimiento disponible de unidades de predicción espacial y unidades de predicción temporales para generar información de movimiento de candidato adicional. Cuando la información de movimiento disponible de unidades de predicción espacial y unidades de predicción temporales incluye información de vector de movimiento bidireccional de las direcciones L0 y L1, la unidad 1540 de generación de información de movimiento de candidato adicional puede añadir información uni-direccional, que se genera dividiendo la predicción de las direcciones L0 y L1, a información de movimiento de candidato adicional. Por ejemplo, se supone que la información de movimiento bidireccional obtenida de unidades de predicción espacial y unidades de predicción temporales disponibles incluye información de movimiento de la dirección L0, que incluye un vector de movimiento List0MV de la dirección L0 y un índice de instantánea de referencia List0REF que indica una instantánea de referencia de la dirección L0, e información de movimiento de la dirección L1, que incluye un vector de movimiento List1MV de la dirección L1 y un índice de instantánea de referencia List1REF que indica una instantánea de referencia de la dirección L1. La unidad 1540 de generación de información de movimiento de candidato adicional puede dividir la información de movimiento bidireccional para generar dos piezas de información de movimiento unidireccional y añadir las dos piezas de información de movimiento unidireccional a información de movimiento de candidato adicional. Es decir, la unidad 1540 de generación de información de movimiento de candidato adicional puede dividir la información de movimiento bidireccional en información de movimiento unidireccional de la dirección L0 que incluye {un vector de movimiento List0MV de la dirección L0 y un índice de instantánea de referencia List0REF que indica una instantánea de referencia de la dirección L0} e información de movimiento unidireccional de la dirección L1 que incluye {un vector de movimiento List1MV de la dirección L1 y un índice de instantánea de referencia List1REF que indica una instantánea de referencia de la dirección L1} y puede añadir la información de movimiento unidireccional a información de movimiento de candidato adicional.
Además, cuando la información de movimiento disponible de unidades de predicción espacial y unidades de predicción temporales incluye información de movimiento unidireccional de información de movimiento de la dirección L0 e información de movimiento de la dirección L0, la unidad 1540 de generación de información de movimiento de candidato adicional puede añadir información de movimiento bidireccional generada combinando la información de movimiento unidireccional de las direcciones L0 y L1 a información de movimiento de candidato adicional. Por ejemplo, cuando existe la información de movimiento unidireccional de la dirección L0, que incluye {un vector de movimiento List0MV de la dirección L0 y un índice de instantánea de referencia List0REF que indica una instantánea de referencia de la dirección L0}, y la información de movimiento unidireccional de la dirección L1, que incluye {un vector de movimiento List1MV de la dirección L1 y un índice de instantánea de referencia List1REF que indica una instantánea de referencia de la dirección L1} como información de movimiento obtenida de unidades de predicción que se dividen espacial y temporalmente co-localizadas a una unidad de predicción actual, la información de movimiento unidireccional de la dirección L0 y la información de movimiento unidireccional de la dirección L1 se combinan para generar información de movimiento bidireccional y la información de movimiento bidireccional generada puede añadirse a información de movimiento de candidato adicional.
Además, la unidad 1540 de generación de información de movimiento de candidato adicional puede añadir un vector de movimiento que tiene un valor predeterminado y un índice de referencia a una cualquiera de la información de movimiento unidireccional de la dirección L0 y la información de movimiento unidireccional de la dirección L1 para generar información de movimiento unidireccional de diferentes direcciones de manera que la información de movimiento bidireccional obtenida para la información de movimiento de candidato adicional. Por ejemplo, cuando únicamente existe información de movimiento unidireccional de la dirección L0, que incluye {un vector de movimiento List0MV de la dirección L0 y un índice de instantánea de referencia List0REF que indica una instantánea de referencia de la dirección L0}, como información de movimiento obtenida de unidades de predicción que están co­ localizadas espacial y temporalmente a una unidad de predicción actual, la unidad 1540 de generación de información de movimiento de candidato adicional puede establecer un vector de movimiento que tiene un valor predeterminado tal como (0,0) como un vector de movimiento List1MV de la dirección L1 y puede establecer un índice de instantánea de referencia ListlREF que indica una instantánea de referencia de la dirección L1 como un valor predeterminado 0 para generar información de movimiento de la dirección L1, y puede combinar la información de movimiento generada de la dirección L1 y la información de movimiento existente de la dirección L0 de manera que la información de movimiento bidireccional generada está incluida en la información de movimiento de candidato adicional.
La unidad 1540 de generación de información de movimiento de candidato adicional puede generar únicamente información de vector de movimiento de entre información de movimiento de una unidad de predicción disponible usando una unidad de predicción disponible y puede establecer de manera separada la información de dirección de referencia restante (dirección de predicción) o un índice de instantánea de referencia. En este caso, cuando la unidad 1540 de generación de información de movimiento de candidato adicional genera información de movimiento de candidato adicional usando información de movimiento de una unidad de predicción disponible, la unidad 1540 de generación de información de movimiento de candidato adicional puede generar información de dirección de referencia de acuerdo con un tipo de corte de una unidad de predicción actual. Por ejemplo, cuando una unidad de predicción actual está incluida en un corte P, una dirección de referencia incluida en la información de movimiento de candidato adicional se establece como la dirección L0. Cuando una unidad de predicción actual se establece en un corte B, una dirección de referencia puede establecerse como una bi-predicción que incluye predicción de las direcciones L0 y L1. Además, la unidad 1540 de generación de información de movimiento de candidato adicional puede establecer un índice de instantánea de referencia en un rango de (0 ~ el índice de instantánea de referencia de la unidad de predicción disponible) y puede añadir una pluralidad de índices de instantánea de referencia a información de movimiento de candidato adicional.
Cuando la unidad 1540 de generación de información de movimiento de candidato adicional genera el índice de instantánea de referencia, la unidad 1540 de generación de información de movimiento de candidato adicional puede usar un índice de instantánea de referencia que indica una instantánea de referencia que tiene la frecuencia más alta de entre instantáneas de referencia incluidas en información de movimiento de unidades de predicción espacial y unidades de predicción temporales disponibles o puede usar un índice de instantánea de referencia que indica una instantánea de referencia a la que se hace referencia por las unidades de predicción más adyacentes de una unidad de predicción actual, en lugar de establecer un índice de instantánea de referencia que tiene un valor predeterminado, como se ha descrito anteriormente.
Además, cuando el número de piezas de información de movimiento de candidato generado por defecto por la unidad 1510 de generación de información de movimiento de candidato espacial y la unidad 1520 de generación de información de movimiento de candidato temporal es menor que un número predeterminado 'n', la unidad 1540 de generación de información de movimiento de candidato adicional puede omitir un procedimiento para comprobar si la información de movimiento de candidato adicional incluida en información de movimiento de candidato está duplicada de manera que el número total de piezas de información de movimiento de candidato puede ser 'n'. Es decir, la unidad 1540 de generación de información de movimiento de candidato adicional puede añadir información de movimiento de candidato adicional generada cambiando información de movimiento por defecto a la información de movimiento de candidato incluso aunque la información de movimiento de candidato adicional sea la misma que la información de movimiento por defecto.
La Figura 22 es un diagrama de flujo de un procedimiento de codificación de un vector de movimiento, de acuerdo con una realización de la presente invención.
Haciendo referencia a la Figura 22, en la operación 2310, el estimador 420 de movimiento realiza predicción de movimiento en una unidad de predicción actual para obtener información de movimiento acerca de la unidad de predicción actual.
En la operación 2320, la unidad 1410 de generación de información de movimiento de candidato determina si está disponible información de movimiento de unidades de predicción espacial que están espacialmente co-localizadas a una unidad de predicción actual e información de movimiento de unidades de predicción temporales que están temporalmente co-localizadas a la unidad de predicción actual. Como se ha descrito anteriormente, la unidad 1410 de generación de información de movimiento de candidato comprueba si la información de movimiento de unidades de predicción adyacentes A0 y A1 situadas a la izquierda de la unidad de predicción actual y la información de movimiento de unidades de predicción adyacentes B0, B1 y B2 situadas por encima de la unidad de predicción actual están disponibles y puede añadir información de movimiento de una unidad de predicción adyacente disponible a información de movimiento de candidato por defecto. Además, la unidad 1410 de generación de información de movimiento de candidato comprueba si está disponible información de movimiento de unidades de predicción de una localización predeterminada de entre unidades de predicción de una instantánea anterior y puede añadir la información de movimiento de la instantánea anterior a la información de movimiento de candidato por defecto.
En la operación 2330, cuando el número de piezas de información de movimiento de unidades de predicción espacial y unidades de predicción temporales es menor que un número predeterminado 'n', la unidad 1410 de generación de información de movimiento de candidato puede generar información de movimiento de candidato adicional usando información de movimiento de unidades de predicción espacial y unidades de predicción temporales disponibles de manera que el número total de piezas de información de movimiento de candidato puede ser 'n'.
En la operación 2340, el codificador 1420 de información de movimiento codifica información de movimiento de la unidad de predicción actual usando n piezas de información de movimiento. En detalle, el codificador 1420 de información de movimiento determina la información de movimiento más similar a información de movimiento de una unidad de predicción actual de entre la información de movimiento de candidato generada y transmite información de índice que indica la información de movimiento determinada. Por ejemplo, cuando la información de movimiento es un vector de movimiento, la unidad 1410 de generación de información de movimiento de candidato genera candidatos de vector de movimiento de predicción de la unidad de predicción actual y el codificador 1420 de información de movimiento puede codificar información acerca de un valor de índice que indica un vector de movimiento de predicción más similar al vector de movimiento de la unidad de predicción actual de entre candidatos de vector de movimiento de predicción e información acerca de un valor de diferencia entre el vector de movimiento de la unidad de predicción actual y el vector de movimiento de predicción.
La Figura 23 es un diagrama de bloques de un aparato 2400 de decodificación de vector de movimiento de acuerdo con una realización de la presente invención.
Haciendo referencia a la Figura 23, el aparato 2400 de decodificación de vector de movimiento incluye un decodificador 2410 por entropía, un decodificador 2420 de información de movimiento, y una unidad 2430 de generación de información de movimiento de candidato.
El decodificador 2410 por entropía extrae información de movimiento usada en una unidad de predicción actual de entre información de movimiento de candidato de una secuencia de bits. Por ejemplo, cuando la información de movimiento es un vector de movimiento, el decodificador 2410 por entropía extrae un índice que indica información de movimiento acerca de un índice de vector de movimiento de predicción, un valor de diferencia entre el vector de movimiento de predicción y un vector de movimiento original, información de instantánea de referencia, e información de dirección de predicción.
Como la unidad 1410 de generación de información de movimiento de candidato mostrada en la Figura 14A, la unidad 2430 de generación de información de movimiento de candidato obtiene información de movimiento de candidato usando información de movimiento de unidades de predicción adyacentes que están temporal y espacialmente co-localizadas a una unidad de predicción actual, y genera información de movimiento de candidato adicional usando información de movimiento de unidades de predicción que están espacial y temporalmente co­ localizadas a la unidad de predicción actual de manera que el número de piezas de la información de movimiento de candidato es 'n'.
El decodificador 2420 de información de movimiento obtiene una única pieza de información de movimiento de candidato generada por la unidad 2430 de generación de información de movimiento de candidato usando un índice que indica información de movimiento de una unidad de predicción actual obtenida desde una secuencia de bits. Como se ha descrito anteriormente, cuando la información de movimiento es un vector de movimiento, el decodificador 2420 de información de movimiento obtiene un único vector de movimiento de predicción de entre candidatos de vector de movimiento de predicción usando un índice que indica el vector de movimiento de predicción obtenido desde una secuencia de bits, extrae información acerca de un valor de diferencia entre el vector de movimiento de predicción y un vector de movimiento original de una secuencia de bits, y a continuación añade el valor de diferencia y el vector de movimiento de predicción para restaurar un vector de movimiento de la unidad de predicción actual.
La Figura 24 es un diagrama de flujo de un procedimiento de decodificación de información de movimiento, de acuerdo con una realización de la presente invención.
Haciendo referencia a la Figura 24, en la operación 2510, la unidad 2430 de generación de información de movimiento de candidato determina si la información de movimiento de unidades de predicción espacial que están espacialmente co-localizadas a una unidad de predicción actual y la información de movimiento de unidades de predicción temporales que están temporalmente co-localizadas a la unidad de predicción actual están disponibles. En la operación 2520, como el resultado de la determinación, cuando el número de piezas de información de movimiento disponible de las unidades de predicción espacial y unidades de predicción temporales es menor que un número predeterminado 'n' (donde n es un número entero), la unidad 2430 de generación de información de movimiento de candidato genera información de movimiento de candidato adicional usando información de movimiento disponible de unidades de predicción espacial y unidades de predicción temporales de manera que el número total de piezas de información de movimiento de candidato puede ser 'n'.
En la operación 2530, el decodificador 2410 por entropía obtiene y emite información de índice que indica una información de movimiento de entre 'n' piezas de información de movimiento de candidato de una secuencia de bits. En la operación 2540, el decodificador 2420 de información de movimiento obtiene información de movimiento de una unidad de predicción actual usando la información de movimiento indicada por el índice. Como se ha descrito anteriormente, cuando la información de movimiento es un vector de movimiento, el decodificador 2420 de información de movimiento obtiene un único vector de movimiento de predicción de entre candidatos de vector de movimiento de predicción usando el índice que indica el vector de movimiento de predicción obtenido desde una secuencia de bits, extrae información acerca de un valor de diferencia entre el vector de movimiento de predicción y un vector de movimiento original de una secuencia de bits, y a continuación añade el valor de diferencia y el vector de movimiento de predicción para restaurar un vector de movimiento de la unidad de predicción actual.
Las realizaciones de la presente invención pueden escribirse como programas informáticos y pueden implementarse en ordenadores digitales de uso general que ejecutan los programas usando un medio de grabación legible por ordenador. Ejemplos del medio de grabación legible por ordenador incluyen medio de almacenamiento magnético (por ejemplo, ROM, discos flexibles, discos duros, etc.) y medio de grabación óptico (por ejemplo, CD-ROM o DVD). Aunque se ha mostrado y descrito particularmente la presente invención con referencia a realizaciones ejemplares de la misma, se entenderá por los expertos en la materia que pueden realizarse diversos cambios en forma y detalles en la misma sin alejarse del alcance de la presente invención como se define mediante las siguientes reivindicaciones.

Claims (3)

REIVINDICACIONES
1. Un aparato de decodificación de un vector de movimiento, comprendiendo el aparato:
un generador de candidato de fusión (2770) configurado para determinar si los vectores de movimiento de las unidades de predicción espacial que están asignados espacialmente a una unidad de predicción actual y los vectores de movimiento de las unidades de predicción temporal que están asignados temporalmente a la unidad de predicción actual están disponibles y determinar los vectores de movimiento disponibles como candidatos de predictor de vector de movimiento;
caracterizado por:
cuando el número de candidatos de predictor de vector de movimiento es inferior a un número predeterminado “n”, donde n es un número entero, el generador de candidato de fusión (2770) genera al menos un vector de movimiento bidireccional combinado combinando un vector de movimiento disponible, a partir de entre los vectores de movimiento disponibles, que indica un bloque de imagen en la lista de imágenes de referencia 0 y un vector de movimiento disponible, a partir de entre los vectores de movimiento disponibles, que indica un bloque de imágenes en la lista de imágenes de referencia 1;
añade el al menos un vector de movimiento bidireccional combinado a los candidatos de predictor de vector de movimiento; y cuando el número de candidatos de predictor de vector en movimiento es inferior al número predeterminado “n”, añade un vector de movimiento que tiene un valor de componente predeterminado a los candidatos de predictor de vector de movimiento de modo que un número total de candidatos de predictor de vector en movimiento es un número predeterminado “n”, en el que el valor de componente predeterminado es (0, 0),
comprendiendo el aparato, además, un decodificador de vector de movimiento (2780) configurado para obtener información que indica un predictor de vector de movimiento entre los candidatos de predictor de vector en movimiento desde una secuencia de bits y obtener el predictor de vector de movimiento de la unidad de predicción actual basándose en la información,
en el que las unidades de predicción espacial comprenden una unidad de predicción espacial ubicada sobre el lado izquierdo inferior de la unidad de predicción actual,
en el que las unidades de predicción temporal comprenden una unidad de predicción temporal que tienen la misma ubicación que la unidad de predicción actual de entre las unidades de predicción de una imagen de referencia.
2. Un aparato para codificar un vector de movimiento, comprendiendo el aparato:
un generador de candidato de fusión (1460) configurado para determinar si están disponibles vectores de movimiento de unidades de predicción espacial que están espacialmente co-localizadas a una unidad de predicción actual y vectores de movimiento de unidades de predicción temporal que están temporalmente co­ localizadas a la unidad de predicción actual y determinar los vectores de movimiento disponibles como candidatos de predictor de vector de movimiento;
caracterizado por:
cuando el número de los candidatos de predictor de vector de movimiento es menor que un número predeterminado 'n', donde n es un número entero, el generador de candidato de fusión (1460) genera al menos un vector de movimiento bidireccional combinado combinando un vector de movimiento disponible, de entre los vectores de movimiento disponibles, que indica un bloque de imágenes en la lista de imágenes de referencia 0 y un vector de movimiento disponible, de entre los vectores de movimiento disponibles, que indica un bloque de imágenes en la lista de imágenes de referencia 1;
agregar el al menos un vector de movimiento bidireccional combinado a los candidatos de predictor de vector de movimiento;
y cuando el número de los candidatos de predictor de vector de movimiento es menor que el número predeterminado 'n', agregar un vector de movimiento que tiene un valor de componente predeterminado a los candidatos de predictor de vector de movimiento, de modo que un número total de candidatos de predictor de vector de movimiento es el número predeterminado n, en el que el valor de componente predeterminado es (0, 0),
comprendiendo el aparato, además, un codificador de vector de movimiento (1470) configurado para determinar un predictor de vector de movimiento de la unidad de predicción actual de entre los candidatos de predictor de vector de movimiento y para codificar información que indica el predictor de vector en movimiento,
en el que las unidades de predicción espacial comprenden una unidad de predicción espacial ubicada sobre un lado izquierdo inferior de la unidad de predicción actual.
en el que las unidades de predicción temporal comprenden una unidad de predicción temporal que tiene la misma ubicación que la unidad de predicción actual de entre las unidades de predicción de una imagen de referencia.
3. Un medio legible por ordenador no transitorio para grabar un flujo de bits, comprendiendo el flujo de bits: información que indica un predictor de vector de movimiento de una unidad de predicción actual entre candidatos de predictor de vector de movimiento,
en el que los candidatos de predictor de vector de movimiento se generan determinando si los vectores de movimiento de unidades de predicción espacial que están colocadas espacialmente en la unidad de predicción actual y vectores de movimiento de unidades de predicción temporal que están colocados temporalmente en la unidad de predicción actual están disponibles y determinando los vectores de movimiento disponibles como candidatos de predictor de vector de movimiento, caracterizado por:
los candidatos de predictor de vector de movimiento se generan por:
cuando el número de candidatos de predictor de vector de movimiento es menor que un número predeterminado 'n', donde n es un número entero, generar al menos un vector de movimiento bidireccional combinado combinando un vector de movimiento disponible, de entre los vectores de movimiento disponibles, que indica un bloque de imagen en la lista de imágenes de referencia 0 y un vector de movimiento disponible, de entre los vectores de movimiento disponibles, que indica un bloque de imagen en la lista de imágenes de referencia 1;
agregar al menos un vector de movimiento bidireccional combinado a los candidatos de predictor de vector de movimiento; y cuando el número de candidatos de predictor de vector de movimiento es menor que el número predeterminado 'n', agregar un vector de movimiento que tiene un valor de componente predeterminado a los candidatos de predictor de vector de movimiento de modo que un número total de candidatos de predictor de vector de movimiento es el número predeterminado n, en el que el valor predeterminado de componente es (0, 0),
en el que las unidades de predicción espacial comprenden una unidad de predicción espacial sobre un lado izquierdo inferior de la unidad de predicción actual,
en el que las unidades de predicción temporal comprenden una unidad de predicción temporal que tiene la misma ubicación que la unidad de predicción actual de entre las unidades de predicción de una imagen de referencia.
ES20184517T 2011-06-27 2012-06-27 Codificación y decodificación de información de movimiento Active ES2886357T3 (es)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US201161501300P 2011-06-27 2011-06-27

Publications (1)

Publication Number Publication Date
ES2886357T3 true ES2886357T3 (es) 2021-12-17

Family

ID=47424667

Family Applications (5)

Application Number Title Priority Date Filing Date
ES20184517T Active ES2886357T3 (es) 2011-06-27 2012-06-27 Codificación y decodificación de información de movimiento
ES17189965T Active ES2695556T3 (es) 2011-06-27 2012-06-27 Procedimiento de decodificación de información de movimiento
ES18194649T Active ES2754657T3 (es) 2011-06-27 2012-06-27 Codificación y decodificación de información de movimiento
ES19196457T Active ES2848869T3 (es) 2011-06-27 2012-06-27 Codificación y decodificación de información de movimiento
ES21170529T Active ES2951321T3 (es) 2011-06-27 2012-06-27 Procedimiento y aparato para codificar información de movimiento, y procedimiento y aparato para decodificar la misma

Family Applications After (4)

Application Number Title Priority Date Filing Date
ES17189965T Active ES2695556T3 (es) 2011-06-27 2012-06-27 Procedimiento de decodificación de información de movimiento
ES18194649T Active ES2754657T3 (es) 2011-06-27 2012-06-27 Codificación y decodificación de información de movimiento
ES19196457T Active ES2848869T3 (es) 2011-06-27 2012-06-27 Codificación y decodificación de información de movimiento
ES21170529T Active ES2951321T3 (es) 2011-06-27 2012-06-27 Procedimiento y aparato para codificar información de movimiento, y procedimiento y aparato para decodificar la misma

Country Status (26)

Country Link
US (6) US9204160B2 (es)
EP (6) EP3876540B1 (es)
JP (5) JP6322136B2 (es)
KR (6) KR101456500B1 (es)
CN (6) CN106982373B (es)
AU (5) AU2012276455B2 (es)
BR (2) BR112013033706B1 (es)
CA (2) CA2840483C (es)
CY (1) CY1120897T1 (es)
DK (2) DK3606076T3 (es)
ES (5) ES2886357T3 (es)
HR (1) HRP20181873T1 (es)
HU (4) HUE055772T2 (es)
LT (1) LT3282707T (es)
MX (2) MX2014000160A (es)
MY (1) MY165858A (es)
PH (4) PH12016501429B1 (es)
PL (5) PL3282707T3 (es)
PT (1) PT3282707T (es)
RS (1) RS57965B1 (es)
RU (4) RU2636672C1 (es)
SG (1) SG10201605263SA (es)
SI (1) SI3282707T1 (es)
TW (5) TWI738251B (es)
WO (1) WO2013002557A2 (es)
ZA (5) ZA201400623B (es)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES2886357T3 (es) * 2011-06-27 2021-12-17 Samsung Electronics Co Ltd Codificación y decodificación de información de movimiento
JP5884697B2 (ja) * 2011-09-28 2016-03-15 株式会社Jvcケンウッド 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、送信装置、送信方法及び送信プログラム
JP5942782B2 (ja) * 2011-10-31 2016-06-29 株式会社Jvcケンウッド 動画像復号装置、動画像復号方法、動画像復号プログラム、受信装置、受信方法及び受信プログラム
US20130121417A1 (en) * 2011-11-16 2013-05-16 Qualcomm Incorporated Constrained reference picture sets in wave front parallel processing of video data
WO2013109093A1 (ko) * 2012-01-19 2013-07-25 한국전자통신연구원 영상 부호화/복호화 방법 및 장치
US8972570B1 (en) * 2012-08-17 2015-03-03 Facebook, Inc. Implicit geolocation of social networking users
KR20170078672A (ko) * 2014-10-31 2017-07-07 삼성전자주식회사 고정밀 스킵 부호화를 이용한 비디오 부호화 장치 및 비디오 복호화 장치 및 그 방법
WO2016143972A1 (ko) * 2015-03-11 2016-09-15 엘지전자(주) 비디오 신호의 인코딩/디코딩 방법 및 장치
WO2017131908A1 (en) * 2016-01-29 2017-08-03 Google Inc. Dynamic reference motion vector coding mode
US10462457B2 (en) * 2016-01-29 2019-10-29 Google Llc Dynamic reference motion vector coding mode
US10397600B1 (en) 2016-01-29 2019-08-27 Google Llc Dynamic reference motion vector coding mode
US10939099B2 (en) * 2016-04-22 2021-03-02 Lg Electronics Inc. Inter prediction mode-based image processing method and device therefor
CN116708784A (zh) 2016-07-12 2023-09-05 韩国电子通信研究院 图像编码/解码方法以及用于该方法的记录介质
CN116614641A (zh) 2016-07-12 2023-08-18 韩国电子通信研究院 图像编码/解码方法和用于所述方法的记录介质
WO2018034373A1 (ko) * 2016-08-19 2018-02-22 엘지전자(주) 영상 처리 방법 및 이를 위한 장치
US20180242024A1 (en) * 2017-02-21 2018-08-23 Mediatek Inc. Methods and Apparatuses of Candidate Set Determination for Quad-tree Plus Binary-tree Splitting Blocks
KR102376069B1 (ko) * 2017-06-30 2022-03-17 후아웨이 테크놀러지 컴퍼니 리미티드 디코더 측 움직임 벡터 도출을 위한 오류 내성 및 병렬 처리
WO2019084776A1 (zh) * 2017-10-31 2019-05-09 华为技术有限公司 图像块的候选运动信息的获取方法、装置及编解码器
WO2019112072A1 (ko) * 2017-12-04 2019-06-13 엘지전자 주식회사 영상 코딩 시스템에서 수정된 움직임 정보 후보 리스트에 기반한 영상 디코딩 방법 및 장치
CN109963155B (zh) 2017-12-23 2023-06-06 华为技术有限公司 图像块的运动信息的预测方法、装置及编解码器
US10397603B1 (en) * 2018-05-08 2019-08-27 Tencent America LLC Method and apparatus for video coding
WO2020057504A1 (en) * 2018-09-17 2020-03-26 Mediatek Inc. Methods and apparatuses of combining multiple predictors for block prediction in video coding systems
BR112021007509A2 (pt) 2018-10-27 2021-07-27 Huawei Technologies Co., Ltd. lista de mesclagem separada para candidatos de mesclagem de sub-bloco e harmonização de técnicas intra-inter para codificação de vídeo
CN112997489B (zh) 2018-11-06 2024-02-06 北京字节跳动网络技术有限公司 具有几何分割的帧间预测的边信息信令
US11381807B2 (en) 2018-11-21 2022-07-05 Telefonaktiebolaget Lm Ericsson (Publ) Methods of video picture coding with sub-block merge simplification and related apparatuses
US11122288B2 (en) 2018-12-06 2021-09-14 Qualcomm Incorporated Spatio-temporal motion vector prediction patterns for video coding
US11470340B2 (en) * 2018-12-10 2022-10-11 Tencent America LLC Simplified merge list construction for small coding blocks
MX2021007755A (es) 2018-12-28 2021-08-05 Godo Kaisha Ip Bridge 1 Dispositivo de codificacion de imagenes en movimiento, metodo de codificacion de imagenes en movimiento, programa de codificacion de imagenes en movimiento, dispositivo de decodificacion de imagenes en movimiento, metodo de decodificacion de imagenes en movimiento y programa de decodificacion de imagenes en movimiento.
CN116389749A (zh) * 2018-12-28 2023-07-04 Jvc建伍株式会社 动图像解码装置和方法、以及动图像编码装置和方法
KR20230163002A (ko) * 2018-12-28 2023-11-29 가부시키가이샤 제이브이씨 켄우드 동화상 복호 장치, 동화상 복호 방법, 동화상 복호 프로그램, 동화상 부호화 장치, 동화상 부호화 방법, 동화상 부호화 프로그램, 격납 방법 및 전송 방법
CN113170166B (zh) 2018-12-30 2023-06-09 北京字节跳动网络技术有限公司 具有几何分割的帧间预测在视频处理中有条件的应用
CN114019107B (zh) * 2021-11-08 2023-12-26 南京延长反应技术研究院有限公司 一种蒽醌法制双氧水体系中微气泡强化的评测方法

Family Cites Families (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR0180170B1 (ko) * 1995-06-30 1999-05-01 배순훈 움직임 추정 방법 및 추정 장치
KR0181069B1 (ko) * 1995-11-08 1999-05-01 배순훈 움직임 추정장치
US6567469B1 (en) * 2000-03-23 2003-05-20 Koninklijke Philips Electronics N.V. Motion estimation algorithm suitable for H.261 videoconferencing applications
JP2002165109A (ja) * 2000-11-24 2002-06-07 Matsushita Electric Ind Co Ltd 動きベクトル検出装置および動きベクトル検出方法
US20040001546A1 (en) * 2002-06-03 2004-01-01 Alexandros Tourapis Spatiotemporal prediction for bidirectionally predictive (B) pictures and motion vector prediction for multi-picture reference motion compensation
CN1312927C (zh) * 2002-07-15 2007-04-25 株式会社日立制作所 动态图像编码方法及解码方法
US7978769B2 (en) 2003-06-30 2011-07-12 Ntt Docomo, Inc. Method and apparatus for coding motion information
US8064520B2 (en) * 2003-09-07 2011-11-22 Microsoft Corporation Advanced bi-directional predictive coding of interlaced video
CN1213613C (zh) * 2003-09-12 2005-08-03 浙江大学 视频编解码中运动矢量的预测方法和装置
JP2006005659A (ja) * 2004-06-17 2006-01-05 Canon Inc 画像符号化装置及びその方法
US20060133495A1 (en) * 2004-12-22 2006-06-22 Yan Ye Temporal error concealment for video communications
CN100539693C (zh) * 2005-08-30 2009-09-09 深圳清华大学研究院 快速运动估计方法
JP2007189276A (ja) * 2006-01-11 2007-07-26 Victor Co Of Japan Ltd 画像圧縮装置及び画像圧縮プログラム
CN100576919C (zh) * 2006-08-08 2009-12-30 佳能株式会社 运动矢量检测设备及运动矢量检测方法
JP4993676B2 (ja) 2006-09-01 2012-08-08 キヤノン株式会社 画像符号化装置及び画像符号化方法
JP2010509799A (ja) * 2006-11-03 2010-03-25 サムスン エレクトロニクス カンパニー リミテッド 映像の予測符号化方法及び装置、その復号化方法及び装置
US8488676B2 (en) * 2007-05-14 2013-07-16 Himax Technologies Limited Motion estimation method
US8422803B2 (en) * 2007-06-28 2013-04-16 Mitsubishi Electric Corporation Image encoding device, image decoding device, image encoding method and image decoding method
KR101712915B1 (ko) * 2007-10-16 2017-03-07 엘지전자 주식회사 비디오 신호 처리 방법 및 장치
ES2812473T3 (es) * 2008-03-19 2021-03-17 Nokia Technologies Oy Vector de movimiento combinado y predicción de índice de referencia para la codificación de vídeo
US20090245374A1 (en) 2008-03-26 2009-10-01 Mediatek Inc. Video encoder and motion estimation method
JP5289440B2 (ja) 2008-07-10 2013-09-11 三菱電機株式会社 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法
JP5401071B2 (ja) * 2008-10-09 2014-01-29 株式会社Nttドコモ 動画像符号化装置、動画像復号装置、動画像符号化方法、動画像復号方法、動画像符号化プログラム、動画像復号プログラム、動画像処理システムおよび動画像処理方法
US20100166073A1 (en) * 2008-12-31 2010-07-01 Advanced Micro Devices, Inc. Multiple-Candidate Motion Estimation With Advanced Spatial Filtering of Differential Motion Vectors
CN101448159B (zh) * 2009-01-08 2010-08-04 北京航空航天大学 一种基于率失真代价和模式频率的快速帧间模式选择方法
HUE051313T2 (hu) * 2009-10-01 2021-03-01 Sk Telecom Co Ltd Eljárás és készülék képek változtatható méretû makroblokkok használatával történõ kódolására/dekódolására
ES2554237T3 (es) 2009-10-01 2015-12-17 Sk Telecom. Co., Ltd. Método y aparato para codificar/decodificar imagen usando una capa dividida
US9549190B2 (en) 2009-10-01 2017-01-17 Sk Telecom Co., Ltd. Method and apparatus for encoding/decoding image using variable-size macroblocks
US9060176B2 (en) 2009-10-01 2015-06-16 Ntt Docomo, Inc. Motion vector prediction in video coding
US20120207221A1 (en) 2009-10-16 2012-08-16 Tomoko Aono Video coding device and video decoding device
CN101860754B (zh) * 2009-12-16 2013-11-13 香港应用科技研究院有限公司 运动矢量编码和解码的方法和装置
US9036692B2 (en) 2010-01-18 2015-05-19 Mediatek Inc. Motion prediction method
CN107071461B (zh) * 2010-12-14 2019-11-12 M&K控股株式会社 用于解码运动画面的设备
US9049444B2 (en) * 2010-12-22 2015-06-02 Qualcomm Incorporated Mode dependent scanning of coefficients of a block of video data
JPWO2012090495A1 (ja) 2010-12-27 2014-06-05 パナソニック株式会社 画像符号化方法および画像復号方法
JP2012151576A (ja) 2011-01-18 2012-08-09 Hitachi Ltd 画像符号化方法、画像符号化装置、画像復号方法及び画像復号装置
US8755437B2 (en) 2011-03-17 2014-06-17 Mediatek Inc. Method and apparatus for derivation of spatial motion vector candidate and motion vector prediction candidate
WO2012122927A1 (en) 2011-03-14 2012-09-20 Mediatek Inc. Method and apparatus for derivation of motion vector candidate and motion vector prediction candidate
WO2012128540A2 (ko) 2011-03-21 2012-09-27 엘지전자 주식회사 움직임 벡터 예측자 선택 방법 및 이를 이용하는 장치
US9143795B2 (en) * 2011-04-11 2015-09-22 Texas Instruments Incorporated Parallel motion estimation in video coding
MX2013012020A (es) 2011-05-24 2013-12-10 Panasonic Corp Metodo de codificacion de imagenes, aparato de codificacion de imagenes, metodo de decodificacion de imagenes, aparato de decodificacion de imagenes y aparato de codificacion /decodificacion de imagenes.
US9485518B2 (en) 2011-05-27 2016-11-01 Sun Patent Trust Decoding method and apparatus with candidate motion vectors
CN105187839A (zh) 2011-05-31 2015-12-23 Jvc建伍株式会社 动图像解码装置、动图像解码方法、接收装置及接收方法
ES2779226T3 (es) 2011-05-31 2020-08-14 Sun Patent Trust Procedimiento de descodificación de vídeo y dispositivo de descodificación de vídeo
JP5477340B2 (ja) 2011-05-31 2014-04-23 株式会社Jvcケンウッド 動画像符号化装置、動画像符号化方法及び動画像符号化プログラム
JP5252029B2 (ja) 2011-05-31 2013-07-31 株式会社Jvcケンウッド 動画像復号装置、動画像復号方法、動画像復号プログラム、受信装置、受信方法、及び受信プログラム
CN106686378B (zh) 2011-06-14 2019-10-08 三星电子株式会社 对图像进行解码的方法和设备
US9131239B2 (en) 2011-06-20 2015-09-08 Qualcomm Incorporated Unified merge mode and adaptive motion vector prediction mode candidates selection
ES2886357T3 (es) * 2011-06-27 2021-12-17 Samsung Electronics Co Ltd Codificación y decodificación de información de movimiento
JP5488666B2 (ja) * 2011-09-28 2014-05-14 株式会社Jvcケンウッド 動画像復号装置、動画像復号方法、動画像復号プログラム、受信装置、受信方法及び受信プログラム

Also Published As

Publication number Publication date
AU2018271275C1 (en) 2019-11-21
JP6272948B2 (ja) 2018-01-31
KR101608067B1 (ko) 2016-03-31
AU2016201944B2 (en) 2017-02-23
BR112013033706B1 (pt) 2022-05-31
RU2601180C2 (ru) 2016-10-27
JP7071453B2 (ja) 2022-05-19
PL3282707T3 (pl) 2019-01-31
WO2013002557A2 (ko) 2013-01-03
EP3876540C0 (en) 2023-06-07
PH12016501426B1 (en) 2016-09-19
PH12016501428B1 (en) 2016-09-19
KR20140085393A (ko) 2014-07-07
LT3282707T (lt) 2018-11-26
AU2012276455A1 (en) 2014-01-30
SI3282707T1 (sl) 2018-12-31
CN106851313B (zh) 2018-12-14
RU2682303C1 (ru) 2019-03-18
PL3739884T3 (pl) 2021-11-22
HUE055772T2 (hu) 2021-12-28
ZA201400623B (en) 2016-01-27
AU2017202355A1 (en) 2017-04-27
CN107071470B (zh) 2020-02-07
RU2705435C1 (ru) 2019-11-07
AU2017202355B2 (en) 2017-11-23
TW202025775A (zh) 2020-07-01
JP2016187192A (ja) 2016-10-27
AU2018271275B2 (en) 2019-06-20
KR20140146564A (ko) 2014-12-26
KR20170026409A (ko) 2017-03-08
US9137543B2 (en) 2015-09-15
CY1120897T1 (el) 2019-12-11
EP3282707B1 (en) 2018-11-07
EP2725800A2 (en) 2014-04-30
EP3876540B1 (en) 2023-06-07
EP3435675B1 (en) 2019-10-23
HUE052897T2 (hu) 2021-05-28
PH12016501427B1 (en) 2016-09-19
CA2840483C (en) 2017-09-26
TWI738251B (zh) 2021-09-01
US20160105681A1 (en) 2016-04-14
PH12016501428A1 (en) 2016-09-19
RU2014102366A (ru) 2015-08-10
JP2018057018A (ja) 2018-04-05
ES2695556T3 (es) 2019-01-09
AU2012276455B2 (en) 2016-02-25
US9432680B2 (en) 2016-08-30
PH12016501429A1 (en) 2016-09-19
TWI803915B (zh) 2023-06-01
PL3876540T3 (pl) 2023-07-24
US9204160B2 (en) 2015-12-01
JP2020191683A (ja) 2020-11-26
MX336525B (es) 2016-01-22
RU2636672C1 (ru) 2017-11-27
KR20150099480A (ko) 2015-08-31
TWI628950B (zh) 2018-07-01
TW201309042A (zh) 2013-02-16
TW201830969A (zh) 2018-08-16
BR122021004610B1 (pt) 2022-12-27
CN103765896A (zh) 2014-04-30
US9253500B2 (en) 2016-02-02
EP3282707A1 (en) 2018-02-14
HRP20181873T1 (hr) 2019-01-11
EP3606076B1 (en) 2021-01-13
EP3876540A1 (en) 2021-09-08
TWI587692B (zh) 2017-06-11
CA2975456C (en) 2019-10-22
US20140133570A1 (en) 2014-05-15
EP3435675A1 (en) 2019-01-30
AU2016201944A1 (en) 2016-04-21
ZA201502767B (en) 2020-02-26
EP3606076A1 (en) 2020-02-05
PH12016501429B1 (en) 2016-09-19
CN106851314B (zh) 2018-12-14
ZA201502766B (en) 2020-02-26
DK3606076T3 (da) 2021-01-18
US20150156508A1 (en) 2015-06-04
CA2975456A1 (en) 2013-01-03
KR20140139999A (ko) 2014-12-08
ES2951321T3 (es) 2023-10-19
CN104811725B (zh) 2017-12-29
KR101456500B1 (ko) 2014-11-03
US20150156509A1 (en) 2015-06-04
JP6753979B2 (ja) 2020-09-09
KR101604461B1 (ko) 2016-03-17
DK3282707T3 (en) 2018-12-03
EP3739884A1 (en) 2020-11-18
TWI692248B (zh) 2020-04-21
US9253501B2 (en) 2016-02-02
CA2840483A1 (en) 2013-01-03
MY165858A (en) 2018-05-18
JP6523406B2 (ja) 2019-05-29
ES2754657T3 (es) 2020-04-20
US20150156507A1 (en) 2015-06-04
KR101700367B1 (ko) 2017-01-26
WO2013002557A3 (ko) 2013-03-14
CN106851314A (zh) 2017-06-13
ES2848869T3 (es) 2021-08-12
EP2725800A4 (en) 2015-02-18
CN103765896B (zh) 2017-05-03
HUE042313T2 (hu) 2019-06-28
CN106982373B (zh) 2018-06-15
CN106851313A (zh) 2017-06-13
TW202141983A (zh) 2021-11-01
AU2018271275A1 (en) 2018-12-20
ZA201502768B (en) 2022-03-30
EP3739884B1 (en) 2021-08-04
JP2014523184A (ja) 2014-09-08
BR112013033706A2 (pt) 2017-07-04
JP2019146251A (ja) 2019-08-29
PL3435675T3 (pl) 2020-03-31
CN104811725A (zh) 2015-07-29
PT3282707T (pt) 2018-11-21
CN107071470A (zh) 2017-08-18
SG10201605263SA (en) 2016-08-30
PH12016501427A1 (en) 2016-09-19
KR20130001708A (ko) 2013-01-04
TW201725910A (zh) 2017-07-16
MX2014000160A (es) 2014-02-19
HUE063217T2 (hu) 2024-01-28
PL3606076T3 (pl) 2021-07-26
JP6322136B2 (ja) 2018-05-09
PH12016501426A1 (en) 2016-09-19
AU2018201305A1 (en) 2018-03-15
ZA201502765B (en) 2016-03-30
CN106982373A (zh) 2017-07-25
AU2018201305B2 (en) 2018-09-13
US20150139327A1 (en) 2015-05-21
US9204162B2 (en) 2015-12-01
KR101862357B1 (ko) 2018-05-29
RS57965B1 (sr) 2019-01-31
KR101607608B1 (ko) 2016-03-30

Similar Documents

Publication Publication Date Title
ES2886357T3 (es) Codificación y decodificación de información de movimiento
KR102211857B1 (ko) 움직임 정보의 부호화 방법 및 장치, 그 복호화 방법 및 장치