MX2014000046A - Metodo de codificacion de video que utiliza ajustes de desplazamiento de comformidad clasificacion de pixel y aparato para ello, metodo de decodificacion de video y aparato para ello. - Google Patents

Metodo de codificacion de video que utiliza ajustes de desplazamiento de comformidad clasificacion de pixel y aparato para ello, metodo de decodificacion de video y aparato para ello.

Info

Publication number
MX2014000046A
MX2014000046A MX2014000046A MX2014000046A MX2014000046A MX 2014000046 A MX2014000046 A MX 2014000046A MX 2014000046 A MX2014000046 A MX 2014000046A MX 2014000046 A MX2014000046 A MX 2014000046A MX 2014000046 A MX2014000046 A MX 2014000046A
Authority
MX
Mexico
Prior art keywords
displacement
pixel
coding
type
unit
Prior art date
Application number
MX2014000046A
Other languages
English (en)
Inventor
Elena Alshina
Alexander Alshin
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
Publication of MX2014000046A publication Critical patent/MX2014000046A/es

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/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/117Filters, e.g. for pre-processing or post-processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/42Global feature extraction by analysis of the whole pattern, e.g. using frequency domain transformations or autocorrelation
    • G06V10/422Global feature extraction by analysis of the whole pattern, e.g. using frequency domain transformations or autocorrelation for representing the structure of the pattern or shape of an object therefor
    • G06V10/424Syntactic representation, e.g. by using alphabets or grammars
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/42Global feature extraction by analysis of the whole pattern, e.g. using frequency domain transformations or autocorrelation
    • G06V10/435Computation of moments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • G06V10/751Comparing pixel values or logical combinations thereof, or feature values having positional relevance, e.g. template matching
    • G06V10/7515Shifting the patterns to accommodate for positional errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/98Detection or correction of errors, e.g. by rescanning the pattern or by human intervention; Evaluation of the quality of the acquired patterns
    • G06V10/993Evaluation of the quality of the acquired pattern
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • 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
    • 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
    • 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/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • 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/174Methods 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 slice, e.g. a line of blocks or a group of blocks
    • 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/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/182Methods 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 a pixel
    • 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/186Methods 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 a colour or a chrominance component
    • 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/1883Methods 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 relating to sub-band structure, e.g. hierarchical level, directional tree, e.g. low-high [LH], high-low [HL], high-high [HH]
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • 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/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • 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
    • 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/58Motion compensation with long-term prediction, i.e. the reference frame for a current frame not being the temporally closest one
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/625Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • 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/89Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Discrete Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Databases & Information Systems (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

Se describe un método de codificación de video para generar una imagen restaurada que minimiza la disparidad de una imagen original y un aparato para ello, y un método de decodificación de video y un aparato para ello. El método de decodificación de video, de conformidad con la presente invención, comprende: analizar información de fusión de desplazamiento del presente bloque de una corriente de bits recibida; restaurar tipos de desplazamiento y valores de desplazamiento de entre parámetros de desplazamiento del presente bloque sobre la base de la información de fusión de desplazamiento; y, sobre la base de un tipo de borde o un tipo de banda de valor de pixel del bloque actual, seleccionar, de entre los valores de desplazamiento, un valor de desplazamiento que corresponde a la clase de borde o la banda de valor de pixel del pixel restaurado que ha sido determinado, y ajustar el valor de pixel del pixel restaurado por la cantidad del desplazamiento.

Description

METODO DE CODIFICACION DE VIDEO QUE UTILIZA AJUSTES DE DESPLAZAMIENTO DE CONFORMIDAD CON CLASIFICACION DE PIXEL Y APARATO PARA ELLO, METODO DE DECODIFICACION DE VIDEO Y APARATO PARA ELLO Campo de la Invención La presente invención se refiere a codificación y decodificación de video que se realizan para minimizar un error entre una imagen original y una imagen restaurada.
Antecedentes de la Invención A medida que se está desarrollando y distribuyendo hardware para reproducir y almacenar contenido de video de alta resolución y alta calidad, aumenta una necesidad de un códec de video para codificar o decodificar efectivamente el contenido de video de alta resolución o alta calidad. En un códec de video convencional, se codifica un video de conformidad con un método de codificación limitado con base en un macro bloque que tiene un tamaño predeterminado.
Se transforman datos de imagen de un dominio espacial en coeficientes de una región de frecuencia al utilizar transformación de frecuencia. Un códec de video divide una imagen en bloques que tienen tamaños predeterminados, realiza transformada de coseno discreta (DCT, por sus siglas en inglés) en cada bloque, y codifica coeficientes de frecuencia en unidades de bloque con el fin Ref. 245930 de realizar una operación aritmética rápida de la transformación de frecuencia. Los coeficientes de la región de frecuencia son tipos fácilmente comprensibles comparados con los datos de imagen del dominio espacial. En particular, se expresa un valor de pixel de imagen del dominio espacial como un error de predicción a través de ínter predicción o intra predicción del codee de video, y de esa forma si se realiza transformación de frecuencia sobre el error de predicción, pueden transformarse datos a 0. El códec de video remplaza datos que ocurren continua y repetitivamente con datos que tienen tamaños pequeños, reduciendo con ello una cantidad de datos.
Breve Descripción de la Invención Problema Técnico La presente invención proporciona un método y aparato de codificación de video y un método y aparato de decodificación de video para generar una imagen restaurada que tiene un error mínimo con respecto a una imagen original. Solución Técnica De conformidad con un aspecto de la presente invención, se proporciona un método de decodificación de video que incluye: analizar información de fusión de desplazamiento que indica si parámetros de desplazamiento de un bloque actual y al menos un bloque vecino de entre bloques de video son idénticos entre sí de una corriente de bits recibida; restaurar un tipo de desplazamiento y valores de desplazamiento de entre el parámetro de desplazamiento del bloque actual con base en la información de fusión de desplazamiento; determinar una clase de borde o una banda de valor de pixel de un pixel restaurado del bloque actual con base en un tipo de borde o un tipo de banda de valor de pixel del bloque actual que indica el tipo de desplazamiento; y determinar un valor de desplazamiento que corresponde a la clase de borde o la banda de valor de pixel del pixel restaurado de los valores de desplazamiento y ajustar un valor de pixel del pixel restaurado de conformidad con el valor de desplazamiento.
Efectos Ventajosos Durante codificación de video y decodificación de video, se clasifican pixeles de conformidad con una característica de imagen, tal como un tipo de borde, se determina un desplazamiento al utilizar un valor de error promedio entre pixeles que tienen la misma característica en el mismo grupo, y se ajustan pixeles restaurados para el desplazamiento, con ello se minimiza un error entre una imagen original y una imagen restaurada.
Breve Descripción de las Figuras Las características y ventajas anteriores y otras de la presente invención se harán más evidentes al describir en detalle modalidades ilustrativas de la misma con referencia a las figuras anexas en donde: la Figura 1 es un diagrama de bloque de un aparato de codificación de video, de conformidad con una modalidad de la presente invención; la Figura 2 es un diagrama de bloque de un aparato de decodificación de video, de conformidad con una modalidad de la presente invención; la Figura 3 es una tabla de tipos de borde y longitudes para clasificación de pixel, de conformidad con una modalidad de la presente invención; la Figura 4 es un cuadro de flujo que ilustra un procedimiento de codificación de valor de desplazamiento, de conformidad con una modalidad de la presente invención; la Figura 5 es un diagrama de bloque de referencia candidatos utilizados para fusionar parámetros de desplazamiento, de conformidad con una modalidad de la presente invención; la Figura 6 es un cuadro de flujo que ilustra un método de codificación de video, de conformidad con la modalidad de la presente invención; la Figura 7 es un cuadro de flujo que ilustra un método de decodificación de video, de conformidad con una modalidad de la presente invención, la Figura 8 es un diagrama de bloque de un aparato de codificación de video con base en unidades de codificación que tienen una estructura arborescente, de conformidad con una modalidad de la presente invención; la Figura 9 es un diagrama de bloque de un aparato de decodificación de video con base en unidades de codificación que tienen una estructura arborescente, de conformidad con una modalidad de la presente invención; la Figura 10 es un diagrama para describir un concepto de unidades de codificación de conformidad con una modalidad de la presente invención; la Figura 11 es un diagrama de bloque de un codificador de imagen con base en unidades de codificación de conformidad con una modalidad de la presente invención; la Figura 12 es un diagrama de bloque de un decodificador de imagen con base en unidades de codificación de conformidad con una modalidad de la presente invención; la Figura 13 es un diagrama que ilustra unidades de codificación más profundas de conformidad con profundidades, y divisiones de conformidad con una modalidad de la presente invención; la Figura 14 es un diagrama para describir una relación entre una unidad de codificación y unidades de transformación, de conformidad con una modalidad de la presente invención; la Figura 15 es un diagrama para describir información de codificación de unidades de codificación que corresponden a una profundidad codificada, de conformidad con una modalidad de la presente invención; la Figura 16 es un diagrama de unidades de codificación más profundas de conformidad con profundidades, de conformidad con una modalidad de la presente invención; las Figuras 17 a 19 son diagramas para describir una relación entre unidades de codificación, unidades de predicción, unidades de transformación, de conformidad con una modalidad de la presente invención; y la Figura 20 es un diagrama para describir una relación entre una unidad de codificación, una unidad de predicción o una división, y una unidad de transformación, de conformidad con información de modo de codificación de la Tabla 1.
Descripción Detallada de la Invención De conformidad con un aspecto de la presente invención, se proporciona un método de decodificación de video que incluye: analizar información de fusión de desplazamiento que indica sí parámetros de desplazamiento de un bloque actual y al menos un bloque vecino de entre bloques de video son idénticos entre sí de una corriente de bits recibida; restaurar un tipo de desplazamiento y valores de desplazamiento de entre el parámetro de desplazamiento del bloque actual con base en la información de fusión de desplazamiento; determinar una clase de borde o una banda de valor de pixel de un pixel restaurado del bloque actual con base en un tipo de borde o un tipo de banda de valor de pixel del bloque actual que indica el tipo de desplazamiento; y determinar un valor de desplazamiento que corresponde a la clase de borde o la banda de valor de pixel del pixel restaurado de los valores de desplazamiento y ajustar un valor de pixel del pixel restaurado de conformidad con el valor de desplazamiento.
De conformidad con un aspecto de la presente 'invención, la determinación de la clase de borde o la banda de valor de pixel del pixel restaurado puede incluir: en un caso en donde un tipo de desplazamiento del bloque actual es el tipo de borde, comparar valores de pixel de un pixel actualmente restaurado y pixeles vecinos del pixel actualmente restaurado dispuesto de conformidad con el tipo de borde y un tamaño de borde, y determinar la clase de borde indicando si el pixel actualmente restaurado es un pixel de borde, en donde el ajuste del valor de pixel del pixel restaurado de conformidad con el valor de desplazamiento incluye: en un caso en donde los valores de desplazamiento comprenden valores de desplazamiento que corresponden a clases de borde distribuidas a un tipo de desplazamiento actual, determinar un valor de désplazamiento que corresponde a una clase de borde del pixel actualmente restaurado de los valores de desplazamiento.
De conformidad con un aspecto de la presente invención, la determinación de la clase de borde o la banda de valor de pixel del pixel restaurado puede incluir: en un caso en donde el tipo de desplazamiento del bloque actual es el tipo de banda de valor de pixel, determinar la banda de valor de pixel que indica un intervalo de valor de pixel al cual pertenece el valor de pixel del pixel actualmente restaurado entre una pluralidad de bandas, en donde el ajuste del valor de pixel del pixel restaurado de conformidad con el valor de desplazamiento incluye: en un caso en donde los valores de desplazamiento incluyen valores de desplazamiento que corresponden a bandas de valor de pixel distribuidas a un tipo de desplazamiento actual, determinar un valor de desplazamiento que corresponde a una banda de valor de pixel del pixel actualmente restaurado de los valores de desplazamiento .
De conformidad con un aspecto de la presente invención, la restauración del tipo de desplazamiento y los valores de desplazamiento pueden incluir: sí al menos un parámetro de desplazamiento de un bloque izquierdo y un bloque superior del bloque actual es idéntico al parámetro de desplazamiento del bloque actual con base en la información de fusión de desplazamiento, restaurar el parámetro de desplazamiento del bloque actual igual que el por lo menos un parámetro de desplazamiento del bloque izquierdo y el bloque superior del bloque actual.
De conformidad con un aspecto de la presente invención, la restauración del tipo de desplazamiento y los valores de pixel vuelven incluir: si al menos un parámetro de desplazamiento de un bloque izquierdo y un bloque superior del bloque actual es diferente del parámetro de desplazamiento del bloque actual con base en la información de fusión de desplazamiento, analizar y restaurar el parámetro de desplazamiento del bloque actual de la corriente de bits recibida.
De conformidad con un aspecto de la presente invención, la restauración del tipo de desplazamiento y los valores de desplazamiento comprende: realizar predicción y restauración sobre parámetros de desplazamiento, al menos un componente de color entre un componente luma y componentes croma del bloque actual al indicar parámetros de desplazamiento entre sí entre los parámetros de desplazamiento. De conformidad con un aspecto de la presente invención, el valor de desplazamiento es un promedio de valores de diferencia entre pixeles restaurados y pixeles originales incluidos en la misma clase de borde o la misma banda de valor de pixel .
De conformidad con otro aspecto de la presente invención, se proporciona un método de codificación de video que comprende: determinar una clase de borde de conformidad con un tipo de borde de un bloque actual de entre bloques de video o una banda de valor de pixel de conformidad con un tipo de banda de valor de pixel del mismo; determinar un valor de desplazamiento que corresponde a la clase de borde o la banda de valor de pixel al utilizar valores de diferencia entre pixeles restaurados y pixeles originales incluidos en la clase de borde o la banda de valor de pixel; y cuando un parámetro de desplazamiento de cada bloque comprende un tipo de desplazamiento que indica el tipo de borde o el tipo de banda de valor de pixel y un desplazamiento que corresponde a la clase de borde o la banda de valor de pixel, con base en identidades entre parámetros de desplazamiento del bloque actual y al menos un bloque vecino, codificar información de fusión de desplazamiento del bloque actual que indica si se codifica el parámetro de desplazamiento del bloque actual.
De conformidad con un aspecto de la presente invención, la determinación de la clase de borde y la banda de valor de pixel comprende: en un caso en donde se determina un desplazamiento del bloque actual de conformidad con el tipo de borde, comparar valores de pixel de un pixel actualmente restaurado y pixeles vecinos del pixel actualmente restaurado dispuesto de conformidad con el tipo de borde y un tamaño de borde, y determinar la clase de un borde que indica si el pixel actualmente restaurado es un pixel de borde.
De conformidad con un aspecto de la presente invención, la determinación de la clase de borde y la banda de valor de pixel comprende: en un caso en donde se determina un desplazamiento del bloque actual de conformidad con tipos de banda de valor de pixel de los pixeles restaurados, determinar la banda de valor de pixel que indica un intervalo de valor de pixel al cual pertenece un valor de pixel de un pixel actualmente restaurado de entre una pluralidad de bandas .
De conformidad con un aspecto de la presente invención, la codificación de la información de fusión de desplazamiento del bloque actual comprende: si al menos un parámetro de desplazamiento de un bloque izquierdo y un bloque superior del bloque actual es idéntico al parámetro de desplazamiento del bloque actual, codificar la información de fusión de desplazamiento que excluye el parámetro de desplazamiento del bloque actual.
De conformidad con un aspecto de la presente invención, la determinación del valor de desplazamiento que corresponde a la clase de borde o la banda de valor de pixel comprende: determinar el valor de desplazamiento que es un promedio de valores de diferencia entre pixeles restaurados y pixeles originales incluidos en la misma clase de borde o la misma banda de valor de pixel.
De conformidad con otro aspecto de la presente invención, se proporciona un aparato de decodificación de video que comprende: una unidad de análisis de parámetro de desplazamiento para analizar información de fusión de desplazamiento que indica si parámetros de desplazamiento de un bloque actual y al menos un bloque vecino de entre bloques de video son idénticos entre sí de una corriente de bits recibida, restaurar un tipo de desplazamiento y valores de desplazamiento de entre el parámetro de desplazamiento del bloque actual con base en la información de fusión de desplazamiento; y una unidad de ajuste de desplazamiento para determinar una clase de borde o una banda de valor de pixel de un pixel restaurado con base en un tipo de borde o un tipo de banda de valor de pixel del bloque actual que indica el tipo de desplazamiento, y determinar un valor de desplazamiento que corresponde a la clase de borde o la banda de valor de pixel del pixel restaurado de los valores de desplazamiento y ajustar un valor de pixel del pixel restaurado de conformidad con el valor de desplazamiento.
De conformidad con otro aspecto de la presente invención, se proporciona un aparato de codificación de video que comprende: una unidad de determinación de desplazamiento para determinar una clase de borde de conformidad con un tipo de borde para un bloque actual de entre bloques de video o una banda de valor de pixel de conformidad con un tipo de banda de valor de pixel del mismo, y determinar un valor de desplazamiento que corresponde a la clase de borde o la banda de valor de pixel al utilizar valores de diferencia entre pixeles restaurados y pixeles originales incluidos en la clase de borde o la banda de valor de pixel; y una unidad de codificación de parámetro de desplazamiento para, cuando un parámetro de desplazamiento de cada bloque comprende un tipo de desplazamiento que indica el tipo de borde o el tipo de banda de valor de pixel y un desplazamiento que corresponde a la clase de borde o la banda de valor de pixel, con base en identidades entre parámetros de desplazamiento del bloque actual y al menos un bloque vecino, codificar información de fusión de desplazamiento del bloque actual que indica sí se codifica el parámetro de desplazamiento del bloque actual.
De conformidad con otro aspecto de la presente invención, se proporciona un medio de grabación legible por computadora que tiene grabado en él un programa para ejecutar el método de decodificación de video.
De conformidad con otro aspecto de la presente invención, se proporciona un medio de grabación legible por computadora que tiene grabado en él un programa para ejecutar el método de codificación de video.
Modo para la Invención En lo sucesivo, se describirá la presente invención más completamente con referencia a las figuras anexas, en donde se muestra modalidades ilustrativas de la invención.
Como se utiliza aquí, el término "I/O" incluye cualquiera y todas las combinaciones de uno o más de los artículos enlistados asociados.
Un método de codificación de video y un método de decodificación de video que se realizan mediante ajuste de desplazamiento de conformidad con clasificación de pixel de conformidad con una modalidad se describirá con referencia las Figuras 1 a 7 a continuación. También, se describirá una modalidad en la cual un método de codificación de video y un método de decodificación de video con base en unidades de codificación que tienen una estructura arborescente utiliza un ajuste de desplazamiento de conformidad con clasificación de pixel de conformidad con una modalidad, con referencia a tipos de desplazamientos de pixel o bandas de pixel y la Figura 20 a continuación. En lo sucesivo, una "imagen" puede significar una imagen fija de video, una imagen móvil del mismo, es decir, el mismo video.
En primer lugar, se describirá ahora un método de codificación de video y un método de decodificación de video que se realizan al ajustar desplazamiento de conformidad con clasificación de pixel de conformidad con una modalidad, con referencia a las Figuras 1 a 7 a continuación.
La Figura 1 es un diagrama de bloque de un aparato de codificación de video 10, de conformidad con una modalidad de la presente invención.
El aparato de codificación de video 10 de conformidad con una modalidad incluye una unidad de determinación de desplazamiento 12 y una unidad de codificación de parámetro de desplazamiento 14.
El aparato de codificación de video 10 de conformidad con una modalidad recibe imágenes de video, divide cada imagen en bloques, y codifica las imágenes para cada bloque. Un tipo de bloque puede ser un cuadrado o un rectángulo, que puede ser una forma geométrica arbitraria. El tipo de bloque no está limitado a una unidad de datos que tiene un tamaño uniforme. El bloque de conformidad con una modalidad puede ser una unidad de codificación máxima, una unidad de codificación, etc., entre unidades de codificación en una estructura arborescente. Se describirán posteriormente métodos de codificación y decodificación de video con base en las unidades de codificación en la estructura arborescente con referencia a las Figuras 8 a 20.
El aparato de codificación de video 10 de conformidad con una modalidad puede realizar intra predicción, inter predicción, transformación, y cuantificación para cada bloque de imagen, generar muestras, realizar codificación de entropía sobre las muestras, y enviar las muestras en una corriente de bits.
El aparato de codificación de video 10 de conformidad con una modalidad puede codificar un valor de desplazamiento que indica un valor de diferencia entre un pixel de una imagen original (un pixel original) y un pixel de una imagen restaurada (un pixel restaurado) con el fin de minimizar un error entre el pixel original y el pixel restaurado.
El aparato de codificación de video 10 de conformidad con una modalidad puede determinar el valor de desplazamiento para cada unidad de datos predeterminada tal como una ilustración, un fragmento, un bloque, etc. Un parámetro de desplazamiento que incluye el valor de desplazamiento y un tipo de desplazamiento puede codificarse para cada unidad de datos predeterminada.
La unidad de determinación de desplazamiento 12 de conformidad con una modalidad determina un tipo de borde o un tipo de banda de valor de pixel de un bloque actual. La unidad de determinación de desplazamiento 12 puede determinar si es adecuada para clasificar pixeles del bloque actual con base en el tipo de borde o el tipo de banda de valor de pixel de conformidad con una característica de pixel del bloque actual .
El tipo de borde de conformidad con una modalidad por indicar direcciones y tamaños de bordes formados por el pixel restaurado y pixeles vecinos. También, cuando se divide una banda de intervalo total de valores de pixel del bloque actual en un número predeterminado de bandas, el tipo de banda de valor de pixel de conformidad con una modalidad puede indicar el número total de las bandas de los valores de pixel, un intervalo de cada banda, etc.
En un caso en donde un valor de desplazamiento del bloque actual se determina de conformidad con el tipo de borde, la unidad de determinación de desplazamiento 12 de conformidad con una modalidad puede determinar una clase de borde que pertenece a cada pixel restaurado. La clase de borde de conformidad con una modalidad indica si un pixel actualmente restaurados es un pixel de un borde. Por ejemplo, la clase de borde puede indicar si el pixel actualmente restaurado es un punto extremo del borde, es un pixel de borde que constituye el borde, o no es un pixel que constituye el borde, etc.
En el caso en donde el valor de desplazamiento del bloque actual se determina de conformidad con el tipo de borde, la unidad de determinación de desplazamiento 12 de conformidad con una modalidad puede comparar un valor de pixel del pixel actualmente restaurado con valores de pixel de pixeles vecinos dispuestos cerca del pixel actualmente restaurado de conformidad con direcciones y tamaños de bordes y puede determinar la clase de borde que indica sí el pixel actualmente restaurado es el pixel de borde.
En un caso en donde el valor de desplazamiento del bloque actual se determina de conformidad con el tipo de banda de valor de pixel, la unidad de determinación de desplazamiento 12 de conformidad con una modalidad puede terminar una banda de valor de pixel que pertenece a cada pixel restaurado. La banda de valor de pixel de conformidad con una modalidad indica una banda de valor de pixel a la cual pertenece el valor de pixel del pixel actualmente restaurado de entre una pluralidad de bandas de valor de pixel. La pluralidad de bandas de valor de pixel puede dividirse de conformidad con un intervalo de valor de pixel igual. También, la pluralidad de bandas de valor de pixel puede dividirse de conformidad con un intervalo de valor de pixel desigual. Es decir, la unidad de determinación de desplazamiento 12 puede determinar la banda de valor de pixel que indica un intervalo de valor de pixel al cual pertenece el valor de pixel del pixel actualmente restaurado de entre la pluralidad de bandas de valor de pixel.
La unidad de determinación de desplazamiento 12 de conformidad con una modalidad determina un valor de desplazamiento que corresponde a una clase de borde o una banda de valor de pixel de un pixel restaurado al utilizar valores de diferencia entre pixeles restaurados y pixeles originales incluidos en la misma clase de borde o banda de valor de pixel que el pixel restaurado.
La unidad de determinación de desplazamiento 12 de conformidad con una modalidad puede ser un promedio de valores de diferencia entre pixeles restaurados y pixeles originales incluidos en la misma clase de borde que la clase borde actual o la misma banda de valor de pixel que la banda de valor de pixel actual, es decir, un error promedio de los pixeles restaurados, como un valor de desplazamiento que corresponde a la clase de borde actual o la banda de valor de pixel actual.
La unidad de determinación de desplazamiento 12 puede determinar una clase de borde o una banda de valor de pixel para cada pixel restaurado en el bloque actual . Por consiguiente, la unidad de determinación de desplazamiento 12 puede determinar cada valor de desplazamiento que corresponde a cada clase de borde de un bloque. También, la unidad de determinación de desplazamiento 12 puede determinar cada valor de desplazamiento que corresponde a cada banda de valor de pixel del bloque.
La unidad de codificación de parámetro de desplazamiento 14 de conformidad con una modalidad puede codificar un tipo de desplazamiento y un valor de desplazamiento de cada bloque. El tipo de desplazamiento de conformidad con una modalidad indica el tipo de borde de cada bloque o el tipo de banda de valor de pixel del mismo.
Un parámetro de desplazamiento de cada bloque puede incluir el tipo de desplazamiento y el valor de desplazamiento de cada bloque. Si el tipo de desplazamiento es el tipo de borde, el parámetro de desplazamiento puede incluir valores de desplazamiento que corresponden a cada clase de borde. También, si el tipo de desplazamiento es el tipo de banda de valor de pixel, el parámetro de desplazamiento puede incluir valores de desplazamiento que corresponden a cada banda de valor de pixel. Es decir, la unidad de codificación de parámetro de desplazamiento 14 puede codificar el parámetro de desplazamiento para cada bloque .
La unidad de codificación de parámetro de desplazamiento 14 de conformidad con una modalidad puede codificar información de fusión de desplazamiento del bloque actual que indica sí codificar un parámetro de desplazamiento del bloque actual, con base en identidades de parámetros de desplazamiento del bloque actual y al menos un bloque vecino.
Si al menos uno de los parámetros de desplazamiento de un bloque izquierdo y un bloque derecho del bloque actual es idéntico al parámetro de desplazamiento del bloque actual, la unidad de codificación de parámetro de desplazamiento 14 de conformidad con una modalidad puede codificar la información de fusión de desplazamiento excepto para el parámetro de desplazamiento del bloque actual .
Si los parámetros de desplazamiento del bloque izquierdo y el bloque derecho en el bloque actual son diferentes del parámetro de desplazamiento del bloque actual, la unidad de codificación de parámetro de desplazamiento 14 de conformidad con una modalidad puede codificar la información de fusión de desplazamiento y el parámetro de desplazamiento del bloque actual .
Si información parcial de parámetros de desplazamiento del bloque vecino es idéntica al parámetro de desplazamiento del bloque actual, la unidad de codificación de parámetro de desplazamiento 14 de conformidad con una modalidad puede codificar información de fusión de desplazamiento de 1 bit, y codificar únicamente información de parámetro de desplazamiento del bloque actual excepto para la información parcial idéntica de los parámetros de desplazamiento del bloque vecino al parámetro de desplazamiento del bloque actual. Por ejemplo, si el bloque actual y el bloque vecino son idénticos en términos de valores de desplazamiento, la información de fusión de desplazamiento de 1 bit y el tipo de desplazamiento pueden codificarse para el bloque actual .
La unidad de codificación de parámetro de desplazamiento 14 de conformidad con una modalidad puede codificar información diferencial entre valores de desplazamiento del bloque vecino y un desplazamiento actual.
Si un desplazamiento es 0, la unidad de codificación de parámetro de desplazamiento 14 de conformidad con una modalidad puede codificar un parámetro de desplazamiento diferente al desplazamiento.
La unidad de codificación de parámetro de desplazamiento 14 de conformidad con una modalidad puede predecir y codificar al menos un componente de color entre un componente luma y componentes croma del bloque actual al indicar parámetros de desplazamiento de otros componentes de color. Por ejemplo, se predicen y codifican parámetros de desplazamiento, el componente luma y los componentes croma, al compartir o indicar mutuamente parámetros de desplazamiento. Como otro ejemplo, se predicen y codifican parámetros de desplazamiento de un primer componente croma y un segundo componente croma al compartir o indicar mutuamente parámetros de desplazamiento.
El aparato de codificación de video 10 de conformidad con una modalidad puede incluir un procesador central (no mostrado) que generalmente controla la unidad de determinación de desplazamiento 12 y la unidad de codificación de parámetro de desplazamiento 14. Alternativamente, la unidad de determinación de desplazamiento 12 y la unidad de codificación de parámetro de desplazamiento 14 pueden operar mediante sus procesadores respectivos (no mostrados) que operan interactivamente, y de esa forma el aparato de codificación de video 10 puede operar generalmente. Alternativamente, la unidad de determinación de desplazamiento 12 y la unidad de codificación de parámetro de desplazamiento 14 pueden controlarse mediante el control de un procesador externo (no mostrado) del aparato de codificación de video 10 de conformidad con una modalidad.
El aparato de codificación de video 10 de conformidad con una modalidad puede incluir al menos una unidad de almacenamiento de datos (no mostradas) que almacena datos de entrada y salida de la unidad de determinación de desplazamiento 12 y la unidad de codificación de parámetro de desplazamiento 14. El aparato de codificación de video 10 puede incluir una unidad de control de memoria (no mostrada) que controla entrada y salida de datos de la unidad de almacenamiento de datos (no mostrada) .
El aparato de codificación de video 10 de conformidad con una modalidad puede operar en conexión con un procesador de codificación de video interno ahí instalado o un procesador de codificación de video externo para enviar un resultado de codificación de video, realizando con ello una operación de codificación de video que incluye transformación. El procesador de codificación de video interno del aparato de codificación de video 10 de conformidad con una modalidad puede incluir un procesador separado así como el aparato de codificación de video 10, un aparato operativo central, o un aparato operativo gráfico puede incluir un módulo de procesamiento de codificación de video para implementar una operación de codificación de video básica .
La Figura 2 es un diagrama de bloque de un aparato de decodificación de video 20, de conformidad con una modalidad de la presente invención.
El aparato de decodificación de video 20 de conformidad con una modalidad incluye una unidad de análisis de parámetro de desplazamiento 22 y una unidad de ajuste de desplazamiento 24.
El aparato de decodificación de video 20 de conformidad con una modalidad recibe una corriente de bits que incluye datos de video codificados. El aparato de decodificación de video 20 puede analizar muestras de video codificadas de la corriente de bits recibida, realizar codificación de entropía, cuantificación inversa, transformación inversa, y predicción y compensación de movimiento en cada bloque de imagen, generar pixeles restaurados, y generar una imagen restaurada resultante. También, el aparato de decodificación de video 20 de conformidad con la modalidad puede recibir un valor de desplazamiento que indica un valor de diferencia entre un pixel original y un pixel restaurado para minimizar un error entre una imagen original y la imagen restaurada.
La unidad de análisis de parámetro de desplazamiento 22 de conformidad con una modalidad puede analizar información de fusión de desplazamiento que indica sí parámetros de desplazamiento de un bloque actual y al menos un bloque vecino de entre bloques de video son idénticos entre sí de la corriente de bits.
La unidad de análisis de parámetro de desplazamiento 22 de conformidad con una modalidad puede restaurar tipos de desplazamiento y valores de desplazamiento entre parámetros de desplazamiento del bloque actual con base en información de fusión de desplazamiento del bloque actual.
Por ejemplo, la unidad de análisis de parámetro de desplazamiento 22 puede analizar y restaurar un parámetro de desplazamiento del bloque actual de la corriente de bits si los parámetros de desplazamiento del bloque actual y al menos un bloque vecino son diferentes entre sí con base en la información de fusión de desplazamiento del bloque actual. Sin embargo, la unidad de análisis de parámetro de desplazamiento 22 puede restaurar el parámetro de desplazamiento del bloque actual al utilizar el parámetro de desplazamiento del por lo menos un bloque vecino sin analizar el parámetro de desplazamiento del bloque actual de la corriente de bits si los parámetros de desplazamiento del bloque actual y al menos un bloque vecino son idénticos entre sí con base en la información de fusión de desplazamiento del bloque actual .
La unidad de ajuste de desplazamiento 24 de conformidad con una modalidad puede determinar una clase de borde o una banda de valor de pixel del pixel restaurado, con base en un tipo de borde un tipo de banda de valor de pixel del bloque actual que indica un tipo de desplazamiento del bloque actual .
La unidad de ajuste de desplazamiento 24 de conformidad con una modalidad puede determinar un valor de desplazamiento que corresponde a la clase de borde o la banda de valor de pixel del pixel restaurado de valores de desplazamiento del bloque actual. La unidad de ajuste de desplazamiento 24 puede ajustar un valor de pixel del pixel restaurado por un desplazamiento.
La unidad de ajuste de desplazamiento 24 de conformidad con una modalidad puede determinar una clase de borde o una banda de valor de pixel para cada pixel restaurado del bloque actual. Por consiguiente, la unidad de ajuste de desplazamiento 24 puede determinar un valor de desplazamiento que corresponde a la clase de borde o banda de valor de pixel determinada para cada pixel restaurado entre valores de desplazamiento restaurados y puede ajustar cada pixel restaurado por un desplazamiento.
Si el tipo de desplazamiento del bloque actual es el tipo de borde, la unidad de ajuste de desplazamiento 24 de conformidad con una modalidad puede comprar valores de pixel de un pixel de bloque actual y pixeles vecinos de un pixel actualmente restaurado dispuesto de conformidad con una dirección de borde y un tamaño de borde, y determinar una clase de borde del pixel actualmente restaurado. Por consiguiente, la unidad de ajuste de desplazamiento 24 puede determinar un valor de desplazamiento que corresponde a la clase de borde del pixel actualmente restaurado entre los valores de desplazamiento. La unidad de ajuste de desplazamiento 24 puede calcular un promedio de valores de diferencia entre pixeles restaurados incluidos en la misma clase de borde que una clase de borde actual y pixeles originales y determinar el valor como un desplazamiento que corresponde al pixel actualmente restaurado.
Si el tipo de desplazamiento del bloque actual es el tipo de banda de valor de pixel, la unidad de ajuste de desplazamiento 24 de conformidad con una modalidad puede determinar una banda de valor de pixel a la cual pertenece el valor de pixel del pixel actualmente restaurado de entre una pluralidad de bandas. Por consiguiente, la unidad de ajuste de desplazamiento 24 puede determinar un valor de desplazamiento que corresponde a la banda de valor de pixel del pixel actualmente restaurado de entre los valores de desplazamiento restaurados. El valor de desplazamiento seleccionado por la unidad de ajuste de desplazamiento 24 de los valores de desplazamiento restaurados puede ser un promedio de valores de diferencia entre pixeles restaurados incluidos en la misma banda de valor de pixel que una banda de valor de pixel actual y pixeles originales.
Para una descripción más detallada de la unidad de ajuste de parámetro de desplazamiento 22, si al menos uno de los parámetros de desplazamiento de un bloque izquierdo y un bloque derecho del bloque actual es idéntico al parámetro de desplazamiento del bloque actual con base en la información de fusión de desplazamiento, el parámetro de desplazamiento del bloque actual puede restaurarse igual que al menos uno de los parámetros de desplazamiento del bloque izquierdo y el bloque derecho del bloque actual. Un bloque que tiene un parámetro de desplazamiento que se va a indicar, puede determinarse de entre bloques vecinos con base en la información de fusión de desplazamiento.
Además, si los parámetros de desplazamiento del bloque izquierdo y el bloque derecho del bloque actual son diferentes del parámetro de desplazamiento del bloque actual con base en información de fusión de desplazamiento, la unidad de ajuste de parámetro de desplazamiento 22 puede analizar y restaurar el parámetro de desplazamiento del bloque actual de la corriente de bits.
Además, si información de fusión de desplazamiento de 1 bit analizada de la corriente de bits indica información parcial de los parámetros de desplazamiento del bloque vecino es idéntica al parámetro de desplazamiento del bloque actual, la unidad de ajuste de parámetro de desplazamiento 22 puede restaurar información parcial del parámetro de desplazamiento del bloque actual al utilizar la información parcial de los parámetros de desplazamiento del bloque vecino. La información restante del parámetro de desplazamiento del bloque actual puede analizarse y restaurarse de la corriente de bits.
Además, la unidad de ajuste de parámetro de desplazamiento 22 puede analizar y restaurar valores diferenciales de los valores de desplazamiento de la corriente de bits. En este caso, la unidad de ajuste de parámetro de desplazamiento 22 puede combinar información diferencial entre valores de desplazamiento del bloque vecino y valores de desplazamiento del bloque actual y predecir y restaurar los valores de desplazamiento del bloque actual.
Además, la unidad de ajuste de parámetro de desplazamiento 22 puede restaurar el valor de desplazamiento a 0 si el parámetro de desplazamiento no incluye al menos un valor de desplazamiento.
La unidad de análisis de parámetro de desplazamiento 22 de conformidad con una modalidad puede predecir y restaurar un parámetro de desplazamiento de al menos un componente de color entre un componente luma y componentes croma del bloque actual al indicar de manera recíproca parámetros de desplazamiento de componentes de color. Por ejemplo, parámetros de desplazamiento del componente luma y los componentes croma pueden restaurarse al compartir o indicar parámetros de desplazamiento. Como otro ejemplo, parámetros de desplazamiento de un primer componente croma y un segundo componente croma pueden predecirse y restaurarse al compartir o indicar parámetros de desplazamiento .
El aparato de decodificación de video 20 de conformidad con una modalidad puede incluir un procesador central (no mostrado) que controla generalmente la unidad de análisis de parámetro de desplazamiento 22 y la unidad de ajuste de desplazamiento 24. Alternativamente, la unidad de análisis de parámetro de desplazamiento 22 y la unidad de ajuste de desplazamiento 24 pueden operar mediante sus procesadores respectivos (no mostrados) que operan interactivamente, y de esa forma el aparato de decodificación de video 20 puede operar generalmente. Alternativamente, la unidad de análisis de parámetro de desplazamiento 22 y la unidad de ajuste de desplazamiento 24 pueden controlarse mediante el control de un procesador externo (no mostrado) del aparato de decodificación de video 20 de conformidad con una modalidad.
El aparato de decodificación de video 20 de conformidad con una modalidad puede incluir al menos una unidad de almacenamiento de datos (no mostrada) que almacena datos de entrada y salida de la unidad de análisis de parámetro de desplazamiento 22 y la unidad de ajuste de desplazamiento 24. El aparato de decodificación de video 20 puede incluir una unidad de control de memoria (no mostrada) que controla entrada y salida de datos de la unidad de almacenamiento de datos (no mostrada) .
El aparato de decodificación de video 20 de conformidad con una modalidad puede operar en conexión con un procesador de decodificación de video interno ahí instalado o un procesador de codificación de video externo para restaurar video a través de decodificación de video, realizando con ello una operación de decodificación de video. El procesador de codificación de video interno del aparato de decodificación de video 20 de conformidad con una modalidad puede incluir un procesador separado así como el aparato de decodificación de video 20, un aparato operativo central, o un aparato operativo gráfico puede incluir un módulo de procesamiento de decodificación de video para implementar una operación de decodificación de video básica.
El aparato de codificación de video 10 y el aparato de decodificación de video 20 de conformidad con una modalidad utilizan un desplazamiento adaptable de muestra (SAO, por sus siglas en inglés) para minimizar un error entre un pixel original y un pixel restaurado. Al utilizar el SAO de conformidad con una modalidad, el aparato de codificación de video 10 clasifica pixeles de cada bloque de imagen en grupos de pixel predeterminados, distribuye cada pixel a un grupo de pixel correspondiente, y codifica un valor de desplazamiento que indica un valor promedio de errores entre pixeles originales y pixeles restaurados incluidos en el mismo grupo de pixel.
Se codifican y transmiten muestras entre el aparato de codificación de video 10 y el aparato de decodificación de video 20. Es decir, el aparato de codificación de video 10 por decodificar muestras y transmitir las muestras codificadas como tipos de corriente de bits, el aparato de decodificación de video 20 puede analizar y restaurar las muestras de una corriente de bits recibida. El aparato de codificación de video 10 y el aparato de decodificación de video 20 de conformidad con una modalidad ajustan valores de pixel restaurados de conformidad con el valor de desplazamiento determinado a través de la clasificación de pixel y parámetros de desplazamiento de codificación/decodificación para minimizar el error entre el pixel original y el pixel restaurado. Señalización, que involucra codificar, transmitir, recibir, y decodificar valores de desplazamiento como valores de desplazamiento se realiza entre el aparato de codificación de video 10 y el aparato de decodificación de video 20.
Por lo tanto, al utilizar el SAO de conformidad con una modalidad, el aparato de decodificación de video 20 puede decodificar la corriente de bits recibida, generar pixeles restaurados para cada bloque de imagen, restaurar valores de desplazamiento de la corriente de bits, y ajustar los pixeles restaurados por desplazamientos correspondientes, generando con ello una imagen restaurada que tiene un error mínimo con respecto a una imagen original .
En lo sucesivo, se describirán ahora modalidades para clasificar pixeles en grupos de pixel para el SAO de conformidad con una modalidad. Al utilizar el SAO de conformidad con una modalidad, pueden clasificarse pixeles (i) de conformidad con tipos de borde que constituyen pixeles restaurados o (ii) de conformidad con tipos de banda de valor de pixel de los mismos. Si se clasifican pixeles de conformidad con tipos de borde o tipos de banda de valor de pixel, puede definirse por tipos de desplazamiento de conformidad con una modalidad.
Una modalidad de clasificación de pixeles de conformidad con tipos de borde al utilizar el SAO de conformidad con la modalidad se describirá ahora.
Puede determinarse una clase de borde de cada pixel restaurado incluido en un bloque actual de conformidad con un tipo de borde actual determinado para el bloque actual. Es decir, pueden definirse clases de borde de pixeles actualmente restaurados al comparar valores de pixel de los pixeles actualmente restaurados y pixeles vecinos.
Por ejemplo, puede determinarse la clase de borde de conformidad con <procedimiento 1> a continuación. <Procedimiento 1> Clase = 0; para i , j e O si Rec(i, j) < Rec(x,y) entonces Clase ++ si Rec(i, j) < fiec(x,y) entonces Clase -- x e y de un pixel actualmente restaurado Rec{x,y) denotan una coordenada horizontal y una coordenada vertical, respectivamente. I y j de un pixel vecino Rec(i, j) contiguo al pixel actualmente restaurado Rec(x,y) denotan una coordenada horizontal y una coordenada vertical, respectivamente. O denota un intervalo de espacio en el cual se dispone el pixel vecino Rec(i, j) , que es un objetivo de comparación de pixel actualmente restaurado i?ec(x,y) . Es decir, de conformidad con <Procedimiento 1> anterior, puede determinarse una clase de borde Clase del pixel actualmente restaurado Rec(x,y) de conformidad con el número de pixeles vecinos Rec(i, j) . Entre el pixel vecino Rec(i, j) dispuesto en un intervalo de espacio predeterminado, la clase de borde Clase puede aumentar de conformidad con el número de pixeles vecinos Rec(i, j) que tienen un valor de pixel mayor que el pixel actualmente restaurado Rec{x,y) , y la clase de borde Clase puede disminuir de conformidad con el número de pixeles vecinos Rec(i, j) que tienen un valor de pixel menor que el pixel actualmente restaurado i?ec(x,y) .
El <intervalo de espacio de pixel vecino O> en el cual se dispone el pixel vecino Rec(i, j) puede definirse como se presenta a continuación. < Intervalo de pixel vecino máximo (i, j) eü, pero (i, j) ? (x, y) x-M = x+M, & y-M = j = y+M M denota una distancia horizontal y vertical máxima del pixel actualmente restaurado i?ec(x,y) al pixel vecino Rec(i, j) . De esa forma, el intervalo de pixel vecino máximo puede incluir el número máximo (4??2 + 4M) de pixeles vecinos dispuestos alrededor del pixel actualmente restaurado i?ec(x,y) . En este caso, la clase de borde Clase puede estar en un intervalo desde - (4MA2 + 4M) en el mínimo a (4MA2 + 4M) en el máximo. Un valor central del intervalo de clase de borde Clase puede indicar que el pixel actualmente restaurado i?ec(x,y) es un pixel dispuesto alrededor de un borde diferente de un pixel de borde. El número del pixel vecino Rec(i, j) dentro del intervalo de espacio de pixel vecino O puede aumentar o disminuir de conformidad con un tipo de borde. M puede ser 1 con el fin de minimizar una cantidad de operación .
Por ejemplo, en un caso en donde el tipo de borde es un borde vertical, el pixel actualmente restaurado i¾ec(x,y) puede compararse con un pixel vecino dispuesto en una dirección horizontal en términos un valor de pixel. Es decir, el intervalo de espacio de pixel vecino O del borde vertical puede determinarse como se presenta a continuación. < Intervalo de espacio de pixel vecino O de borde vertical> (i, j) eü, pero (i, j) ? (x, y) x-M < i < x+M, & j = y Un tipo y tamaño del intervalo de espacio de pixel vecino O puede determinarse de conformidad con un tipo de borde tal como el borde vertical, un borde horizontal, un borde diagonal, un máximo estricto, y un mínimo estricto formado mediante pixeles dentro del intervalo de espacio de pixel vecino O. Un valor de clase de borde indica si está incluido un pixel en un borde o está dispuesta alrededor del borde. De esa forma, puede determinarse un desplazamiento para corregir valores de pixel que constituyen el borde de conformidad con una combinación del tipo de borde y la clase de borde, y de esa forma puede definirse un grupo de pixel de conformidad con la combinación del tipo de borde y la clase de borde .
El número de pixeles vecinos incluidos en el intervalo de espacio de pixel vecino O puede determinarse de conformidad con el tipo de borde. El valor de clase de borde puede determinarse dentro de un intervalo del número de pixeles vecinos. Por lo tanto, el aparato de codificación de video 10 y el aparato de decodificación de video 20 pueden codificar y transmitir y recibir un valor de desplazamiento correspondiente para cada clase de borde de un tipo de borde actual, y ajustar un pixel restaurado de conformidad con el valor de desplazamiento. En lo sucesivo, se indican coeficientes de clases de borde de conformidad con un tipo de borde predeterminado como longitudes de un valor de desplazamiento que se va a codificar y transmitir al aparato de decodificación de video 20.
En un caso en donde un valor de desplazamiento utilizado para una combinación predeterminada del tipo de borde en la clase borde, es decir, un valor de desplazamiento para una clase de borde N del tipo de borde actual, se determina previamente como 0, no existe necesidad de codificar y transmitir el valor de desplazamiento al aparato de decodificación de video 20. En este caso, puede reducirse la longitud para la combinación predeterminada del tipo de borde y la clase de borde.
Por lo tanto, el aparato de codificación de video 10 y el aparato de decodificación de video 20 pueden clasificar pixeles de conformidad con una característica de imagen, tal como un tipo de borde, determinar un valor de error promedio entre pixeles que tienen la misma característica que un desplazamiento, y ajustar pixeles restaurados de conformidad con el desplazamiento, minimizando con ello un error entre una imagen original y una imagen restaurada .
La Figura 3 es una tabla de tipos de borde 31, 32, 33, 34, 35, y 36 y longitudes para clasificación de pixel, de conformidad con una modalidad de la presente invención.
Pueden distribuirse secuencialmente índices 5, 4, 0, 1, 2, y 3 a los tipos de borde 31, 32, 33, 34, 35, y 36. Entre más alta sea la relación de golpe de apariencia de los tipos de borde 31, 32, 33, 34, 35, y 36, más pequeños serán los índices 5, 4, 0, 1, 2, y 3 que pueden distribuirse a los tipos de borde 31, 32, 33, 34, 35, y 36. Una clase de borde de un pixel actualmente restaurado XO puede determinarse al comparar valores de pixel del pixel actualmente restaurado XO y ocho pixeles vecinos XI, X2 , X3 , X4 , X5 , X6 , X7 , y X8 adyacentes al pixel actualmente restaurado XO con respecto al tipo de borde 31 del índice 5. En este caso, el número de clases de borde distribuidas al pixel actualmente restaurado XO es 17, y de esa forma puede determinarse una longitud como 17.
Como se describió anteriormente, se determina el número de clases de borde como 9 al comparar valores de pixel actualmente restaurados del pixel actualmente restaurado XO y 4 pixeles vecinos XI, X2 , X3, y X4 horizontal y verticalmente adyacentes al pixel actualmente restaurado XO con respecto al tipo de borde 32 del índice 4, y de esa forma puede determinarse una longitud como 9.
También, se determina el número de clases de borde como 5 al comparar valores de pixel actualmente restaurados del pixel actualmente restaurado XO y dos pixeles vecinos XI y X2 horizontalmente adyacentes al pixel actualmente restaurado XO con respecto al tipo de borde 33 del índice 0, y de esa forma puede determinarse una longitud como 5.
También, se determina el número que de clases de borde como 5 al comparar valores de pixel actualmente restaurados del pixel actualmente restaurado XO y dos pixeles vecinos X3 y X4 horizontalmente adyacentes al pixel actualmente restaurado XO con respecto al tipo de borde 34 del índice 1, y de esa forma puede determinarse una longitud como 5.
También, se determina el número de clases de borde como 5 al comparar valores de pixel actualmente restaurados del pixel actualmente restaurado XO y dos pixeles vecinos X5 y X8 adyacentes al pixel actualmente restaurado XO en una dirección diagonal de 135° con respecto al tipo de borde 35 del índice 2, y de esa forma puede determinarse una longitud como 5.
También, se determina el número de clases de borde como 5 al comparar valores de pixel actualmente restaurados del pixel actualmente restaurado XO y dos pixeles vecinos X6 y X7 adyacentes al pixel actualmente restaurado XO en una dirección diagonal de 45° con respecto al tipo de borde 36 del índice 3, y de esa forma puede determinarse una longitud como 5.
Por ejemplo, en un caso en donde el tipo de borde es un borde vertical similar al tipo de borde 33 del índice 0, y se comparan valores de pixel del pixel actualmente restaurado XO y dos pixeles vecinos XI y X2 horizontalmente adyacentes al pixel actualmente restaurado XO , la clase de borde Clase del pixel actualmente restaurado XO puede determinarse de conformidad con <procedimiento 2> a continuación. <Procedimiento 2> (1) SI (X0>X1 y X0<X2) entonces Clase = 2 (2) SI(X0>X1 y X1==X2) o (X0==X1 y X1>X2) entonces Clase = 1; (3) SI(X0==X1 y X1==X2) o (X0==X1 y X1==X2) entonces Clase = 0 ; (4) SI (X0<X1 y X1==X2) o (X0==X1 y X1<X2) entonces Clase = -1; (5) SI (X0<X1 y X0<X2) entonces Clase = -2; De conformidad con el <procedimiento 2> anterior, en un caso en donde el pixel actualmente restaurado XO es (1) un punto máximo local de un borde, (2) un pixel de un borde de bloque, (3) un pixel diferente al borde, (4) un pixel de un borde cóncavo, y (5) un punto mínimo local del borde, respectivamente, puede determinarse una clase de borde correspondiente. En un caso en donde un valor de clase de borde es 0, ya que un valor de desplazamiento es altamente probable para ser 0, puede no codificarse de una clase de borde de un pixel restaurado.
Después, se describirá ahora una modalidad para clasificar pixeles de conformidad con tipos de banda de valor de pixel al utilizar el SAO de conformidad con una modalidad.
Los pixeles de pixel de pixeles restaurados pueden pertenecer a una de bandas de valor de pixel de conformidad con una modalidad. Por ejemplo, un valor mínimo Min y un valor máximo Max de valores de pixel pueden tener un intervalo total de 0, 2A(p-l) de conformidad con un muestreo de p-bit. Un intervalo de valor de pixel (Min, Max) puede dividirse en un número K de bandas de valor de pixel. En un caso en donde denota un valor máximo de una késima banda de valor de pixel, la késima banda de valor de pixel puede dividirse en [B0, Bx-1] , [Bi, B2-l] , [B2, B3-l] , [BK-i, BK] . En un caso en donde un valor de pixel del pixel actualmente restaurado J?ec(x,y) pertenece a [BK_!, BK] , puede determinarse una banda de valor de pixel actual como k.
Las bandas de valor de pixel pueden dividirse en tipos iguales o tipos desiguales. Tales tipos de banda de valor de pixel pueden determinarse en consideración del valor mínimo real o Min y valor máximo Max. En este caso, una referencia dividida de las bandas de valor de pixel puede codificarse y transmitirse o recibirse y decodificarse entre el aparato de codificación de video 10 y el aparato de decodificación de video 20. En un caso en donde las bandas de valor de pixel se dividen de conformidad con un intervalo teórico {O, 2p"1}de valores de pixel, puede determinarse un tipo de banda de valor de pixel sin tener que codificarse. Tal tipo de banda de valor de pixel puede definirse como un tipo de desplazamiento.
Una banda de valor de pixel a la cual pertenece cada valor de pixel para cada pixel restaurado puede determinarse de entre una pluralidad de bandas de valor de pixel clasificadas de conformidad con tipos de banda de valor de pixel. También, puede determinarse un valor de desplazamiento que indica un promedio de errores de entre un pixel original y un pixel restaurado para cada banda de valor de pixel .
Por lo tanto, el aparato de codificación de video 10 y el aparato de decodificación de video 20 pueden codificar y transmitir y recibir un valor de desplazamiento correspondiente para cada una de las bandas de valor de pixel clasificadas de conformidad con un tipo de banda de valor de pixel actual, y ajustar un pixel restaurado de conformidad con el desplazamiento. También, una longitud de un valor de desplazamiento puede ser la misma que el número de bandas de valor de pixel. El aparato de codificación de video 10 puede codificar la longitud y transmitir la longitud al aparato de decodificación de video 20.
En un caso en donde un valor de desplazamiento utilizado para una combinación predeterminada del tipo de borde y la clase de borde, es decir, un valor de desplazamiento para la késima banda de valor de pixel del tipo de banda de valor de pixel actual, se determinó previamente como 0, no hay necesidad de codificar y transmitir el valor de desplazamiento al aparato de decodificación de video 20. En este caso, la longitud para la combinación predeterminada del tipo de borde y la clase de borde puede reducirse.
Por ejemplo, en un caso en donde un tipo de clasificación de valor de pixel es una banda igual a 8 bits, los valores de pixel pueden dividirse en bandas de valor de 32 pixeles. Más específicamente, valores de pixel pueden dividirse en bandas de valor de pixel [0, 7] , [8, 15] , ..., [240, 247], [248, 255]. En este caso, la longitud es 32.
En un caso en donde el número total de bandas de valor de pixel, es decir, longitud, es la energía de 2, puede minimizarse una cantidad operación para clasificar pixeles de conformidad con tipos de banda de valor de pixel de conformidad con una modalidad.
Por lo tanto, el aparato de codificación de video 10 y el aparato de decodificación de video 20 pueden clasificar pixeles de conformidad con una característica de imagen, tal como un tipo de banda de valor de pixel, determinar un valor de error promedio entre pixeles que tienen la misma característica que un desplazamiento, y ajustar pixeles restaurados de conformidad con el desplazamiento, minimizando con ello un error entre una imagen original y una imagen restaurada.
El aparato de codificación de video 10 y el aparato de decodificación de video 20 de conformidad con una modalidad pueden determinar un tipo de desplazamiento y un valor de desplazamiento para cada región predeterminada. El aparato de codificación de video 10 puede determinar un error entre un valor de pixel original y un valor de pixel restaurado para cada pixel incluido en regiones predeterminadas, y determinar un promedio de errores de pixel como un valor de desplazamiento. Para operación inmediata, el aparato de codificación de video 10 y el aparato de decodificación de video 20 pueden determinar y transmitir o recibir un valor de desplazamiento para cada bloque.
El tipo de desplazamiento puede determinarse de conformidad con una característica de imagen de cada bloque. Por ejemplo, un bloque que incluye un borde vertical, un borde horizontal, un borde diagonal, etc., es preferible para clasificar valores de pixel de conformidad con tipos de borde y determinar un valor de desplazamiento para corrección de un valor de borde . En un caso en donde un bloque no es un bloque de borde, el valor de desplazamiento puede determinarse preferiblemente de conformidad con clasificación de banda. De esa forma, el aparato de codificación de video 10 y el aparato de decodificación de video 20 pueden transmitir o recibir el tipo de desplazamiento para cada bloque.
Un parámetro de desplazamiento de conformidad con una modalidad puede incluir un tipo de desplazamiento, valores de desplazamiento, longitud, y una clase de desplazamiento. La longitud puede determinarse de conformidad con tipos de desplazamiento.
El aparato de codificación de video 10 y el aparato de decodificación de video 20 de conformidad con una modalidad pueden determinar la clase de desplazamiento que corresponde al tipo de desplazamiento.
Por lo tanto, el aparato de codificación de video 10 de conformidad con una modalidad puede codificar y transmitir el tipo de desplazamiento y valores de desplazamiento del parámetro de desplazamiento al aparato de decodificación de video 20. El aparato de decodificación de video 20 puede recibir el tipo de desplazamiento y valores de desplazamiento y determinar la longitud y la clase de desplazamiento con base en el tipo de desplazamiento. También, el aparato de decodificación de video 20 puede seleccionar un valor de desplazamiento que corresponde a longitud o la clase de desplazamiento para los valores de desplazamiento recibidos y ajustar pixeles restaurados de conformidad con el valor de desplazamiento.
El aparato de codificación de video 10 de conformidad con una modalidad puede determinar un índice de un tipo de desplazamiento de conformidad con una relación de golpe de aparición del tipo de desplazamiento para codificar el tipo de desplazamiento. Por ejemplo, entre más alta sea la relación de golpe de aparición del tipo de desplazamiento del índice entre tipos de desplazamiento, más corta será la palabra codificada del índice que puede codificarse.
El aparato de codificación de video 10 y el aparato de decodificación de video 20 pueden tener los siguientes ejemplos de índices del tipo de desplazamiento seleccionable de entre tipos de desplazamiento que incluyen clasificación de pixel de conformidad con el tipo de borde y el tipo de banda de valor de pixel : (i) En un caso en donde no se utiliza SAO, un tipo de desplazamiento es -1; (ii) En un caso de un tipo de borde que incluye tres pixeles en la dirección vertical, un tipo de desplazamiento es 0. (iii) En un caso de un tipo de borde que incluye tres pixeles en una dirección horizontal, un tipo de desplazamiento es 1; (iv) En un caso de un tipo de borde que incluye tres pixeles en una dirección diagonal de 135°, un tipo de desplazamiento es 2 ; (v) En un caso de un tipo de borde que incluye tres pixeles en una dirección diagonal de 45°, un tipo de desplazamientos es 3, (vi) Un tipo de desplazamiento de un tipo de banda de valor de pixel es 4.
En el caso en donde (ii) el tipo de desplazamiento es 0, puede codificarse una clase de borde a {-2, -1, 1, 2}. La clase de borde 0 puede no codificarse, y de esa forma una longitud puede ser 4. En el caso en donde (vi) el tipo de desplazamiento es 4, y el número de bandas de valor de pixel es 32, una longitud puede ser 32.
La Figura 4 es un cuadro de flujo que ilustra un procedimiento de codificación de valor de desplazamiento, de conformidad con una modalidad de la presente invención.
Un valor de desplazamiento que se va a codificar y decodificar es altamente probable para ser 0 para transmitir y recibir entre el aparato de codificación de video 10 y el aparato de decodificación de video 20 de conformidad con una modalidad de la presente invención. Un valor de desplazamiento diferente a 0 tiene un signo positivo o negativo. De esa forma, el aparato de codificación de video 10 de conformidad con una modalidad determina si un valor de desplazamiento actual es 0 (operación 41) , y, si el valor de desplazamiento actual no es 0, determina si el valor de desplazamiento actual es mayor que 0 (operación 42) . Si el valor de desplazamiento actual es mayor que 0, se codifica 1 bit de signo "0" (operación 44) . Si el valor de desplazamiento actual no es mayor que 0, se codifica 1 bit de signo "1" (operación 43) . Después que se codifica el bit de signo, una velocidad de bit generada al realizar codificación unaria-binaria sobre un valor obtenido al reducir un valor absoluto del valor de desplazamiento por uno además puede codificarse (operación 45) . El aparato de codificación de video puede codificar finalmente el valor de desplazamiento con "0" si el valor de desplazamiento actual es "0" (operación 46) , y codificar completamente el valor de desplazamiento .
El aparato de decodificación de video 20 puede recibir el valor de desplazamiento, determinar si el valor de desplazamiento e 0, y si el valor de desplazamiento no es 0, analizar el bit de signo y un valor obtenido al reducir el valor absoluto del valor de desplazamiento por 1, y restaurar el valor de desplazamiento actual .
Puede determinarse y transmitirse y recibirse un parámetro de desplazamiento de conformidad con una modalidad para cada bloque. Por ejemplo, el aparato de codificación de video 10 y el aparato de decodificación de video 20 pueden determinar y transmitir y recibir el parámetro de desplazamiento para cada ilustración o cada fragmento. Alternativamente, el aparato de codificación de video 10 y el aparato de decodificación de video 20 pueden determinar y transmitir y recibir el parámetro de desplazamiento para cada unidad de codificación o una unidad de codificación máxima de una estructura arborescente. Operaciones de codificación/decodificación de video con base en unidades de codificación de la estructura arborescente incluyendo la unidad de codificación máxima y unidades de codificación de la estructura arborescente y de conformidad con una modalidad se describirán en más detalle con referencia a las Figuras 8 a 20 posteriormente.
Un tipo de desplazamiento y/o valor de desplazamiento de cada bloque es altamente probable para ser idéntico entre bloques adyacentes. En un caso en donde un parámetro de desplazamiento de un bloque actual se compara con parámetros de desplazamiento de bloques vecinos y es idéntico a esto, el aparato de codificación de video 10 de conformidad con una modalidad puede fusionar y codificar los parámetros de desplazamiento del bloque actual y bloques vecinos en un parámetro de desplazamiento. Si se codifican primero los parámetros de desplazamiento de los bloques vecinos, el parámetro de desplazamiento del bloque actual puede no codificarse pero puede codificarse información de fusión de desplazamiento del bloque actual.
El aparato de decodificación de video 20 de conformidad con una modalidad puede analizar primero la información de fusión de desplazamiento y determinar si se analiza el parámetro de desplazamiento antes de analizar el parámetro de desplazamiento de una corriente de bits recibida. El aparato de decodificación de video 20 puede determinar si existe un bloque que tiene el mismo parámetro de desplazamiento que el bloque actual en los parámetros de desplazamiento de los bloques vecinos con base en la información de fusión de desplazamiento del bloque actual.
Por ejemplo, si se determina que existe el bloque que tiene el mismo aparato de desplazamiento que el bloque actual en los parámetros de desplazamiento de los bloques vecinos con base en la información de fusión de desplazamiento del bloque actual, el aparato de decodificación de video 20 puede no analizar el parámetro de desplazamiento del bloque actual sino que puede restaurar el parámetro de desplazamiento del bloque actual como el mismo que un parámetro de desplazamiento restaurado del bloque vecino. También, puede indicarse un bloque vecino que tiene un parámetro de desplazamiento que se va a indicar de entre los bloques vecinos con base en la información de fusión de desplazamiento.
Por ejemplo, en un caso en donde los parámetros de desplazamiento de los bloques vecinos son diferentes del parámetro de desplazamiento del bloque actual con base en la información de fusión de desplazamiento, el aparato de decodificación de video 20 puede analizar y restaurar el parámetro de desplazamiento del bloque actual de la corriente de bits.
La Figura 5 es un diagrama de bloque de referencia candidatos utilizados para fusionar parámetros de desplazamiento, de conformidad con una modalidad de la presente invención.
El aparato de codificación de video 10 de conformidad con una modalidad puede determinar una lista de candidatos de bloques vecinos que son objetivos de referencia de parámetros de desplazamiento de un bloque actual 50 de entre bloques vecinos restaurados antes del bloque actual. El aparato de codificación de video 10 puede comparar los bloques vecinos de la lista de candidatos con los parámetros de desplazamiento del bloque actual 50.
La lista de candidatos de conformidad con una modalidad puede incluir bloques vecinos dispuestos en un cuadro actual 57 que es idéntico al bloque actual 50. Más específicamente, un bloque izquierdo 51, un bloque superior 52, un bloque superior izquierdo 53, y un bloque superior derecho 54 pueden incluirse en la lista de candidatos.
El aparato de codificación de video 10 de conformidad con otra modalidad puede indicar parámetros de desplazamiento de bloques 55 y 56 incluidos en cuadros vecinos 58 y 59 restaurados antes del cuadro actual 57. Los bloques de 55 y 59 incluidos en los cuadros vecinos 58 y 59 pueden ser bloques dispuestos temporalmente en cuadros previos y subsecuentes 58 y 59 del cuadro actual 57 y espacialmente en la misma región que el bloque actual 50. En este caso, la lista de candidatos puede incluir bloques vecinos 51, 52, 53, y 54 incluidos en el cuadro actual 57 y los bloques 55 y 59 incluidos en los cuadros vecinos 58 y 59.
Por lo tanto, el aparato de codificación de video 10 de conformidad con una modalidad puede comparar parámetros de desplazamiento de los bloques vecinos incluidos en la lista de candidatos con los parámetros de desplazamiento del bloque actual 50 de conformidad con una secuencia de referencias predeterminada. Por ejemplo, los parámetros de desplazamiento de los bloques vecinos pueden compararse con los parámetros de desplazamiento del bloque actual 50 de conformidad con la secuencia de referencia del bloque izquierdo 51, el bloque superior 52, el bloque superior izquierdo 53, el bloque superior derecho 54, un bloque previo 55, y un bloque subsecuente 56. Un bloque vecino que tiene el mismo parámetro de desplazamiento que el bloque actual 50 de entre los bloques vecinos comparados puede determinarse como un bloque de referencia.
El aparato de codificación de video 10 y el aparato de decodificación de video 50 pueden predecir e indicar, y codificar y transmitir, o recibir y decodificar parámetros de desplazamiento entre bloques adyacentes con base en la misma lista de candidatos. El aparato de decodificación de video 20 de conformidad con una modalidad puede determinar un bloque vecino que tiene el mismo parámetro de desplazamiento que el bloque actual 50 de la lista de candidatos con base en información de fusión de desplazamiento, e indicar un parámetro de desplazamiento del bloque vecino correspondiente para restaurar el parámetro de desplazamiento del bloque actual 50 que tiene el mismo valor que el parámetro de desplazamiento del bloque vecino correspondiente.
Por ejemplo, se asume que se va a utilizar una lista de candidatos que incluye el bloque izquierdo 51 y el bloque superior 52. La unidad de codificación de parámetro de desplazamiento 14 de conformidad con una modalidad puede codificar, como la información de fusión de desplazamiento, información de fusión de desplazamiento izquierda que indica si un parámetro de desplazamiento del bloque izquierdo 51 es idéntico al parámetro de desplazamiento del bloque actual 50 e información de fusión de desplazamiento superior que indica si un parámetro de desplazamiento del bloque superior 52 es idéntico al parámetro de desplazamiento del bloque actual 50.
En este caso, el bloque actual 50 puede compararse con el bloque izquierdo 51 para determinar sí sus parámetros de desplazamiento son idénticos entre sí, y entonces el bloque actual 50 puede compararse con el bloque superior 52 para determinar si los datos de desplazamiento son idénticos entre sí. La información de fusión de desplazamiento puede determinarse de conformidad con resultados de comparación.
Si al menos un parámetro de desplazamiento del bloque izquierdo 51 y el bloque superior 52 es idéntico al parámetro de desplazamiento del bloque actual 50, la unidad de codificación de parámetro de desplazamiento 14 puede codificar la información de fusión de desplazamiento izquierda correspondiente e información de fusión de desplazamiento superior pero puede no codificar el parámetro de desplazamiento del bloque actual 50.
Si los parámetros de desplazamiento del bloque izquierdo 51 y el bloque superior 52 son diferentes del parámetro de desplazamiento del bloque actual 50, la unidad de codificación de parámetro de desplazamiento 14 puede codificar la información de fusión de desplazamiento izquierda correspondiente e información de fusión de desplazamiento superior y el parámetro de desplazamiento del bloque actual 50.
Si los parámetros de desplazamiento del bloque izquierdo 51 y el bloque superior 52 son diferentes del parámetro de desplazamiento del bloque actual 50, la misma unidad de codificación de parámetro 14 de conformidad con una modalidad puede codificar información de fusión de desplazamiento y el parámetro de desplazamiento del bloque actual 50.
Como otro ejemplo, si información parcial de los parámetros de desplazamiento de los bloques vecinos es idéntica al parámetro de desplazamiento del bloque actual 50, la unidad de codificación de parámetro de desplazamiento 14 de conformidad con una modalidad puede codificar información de fusión de desplazamiento de 1 bit e información restante de un parámetro de desplazamiento actual excepto para la información parcial idéntica de los parámetros de desplazamiento de los bloques vecinos. Por ejemplo, si el bloque actual 50 y los bloques vecinos son idénticos entre sí en términos de un valor de desplazamiento, la información de fusión de desplazamiento de 1 bit y un valor de tipo de desplazamiento pueden codificarse para el bloque actual 50.
El aparato de codificación de video 10 y el aparato de decodificación de video 20 de conformidad con una modalidad pueden comprender tipos de desplazamiento y valores de desplazamiento entre el bloque actual 50 y los bloques vecinos, y, si existe un bloque vecino que tenga el mismo tipo de desplazamiento y valor de desplazamiento que el bloque actual 50, pueden transmitir y recibir la información de fusión de desplazamiento.
Como otro ejemplo, se comparan tipos de desplazamiento entre los parámetros de desplazamiento del bloque actual 50 y los bloques vecinos, y, si existe un bloque vecino que tenga el mismo tipo de desplazamiento que el bloque actual 50, puede transmitirse y recibirse información de fusión de un tipo de desplazamiento del bloque vecino correspondiente.
Como otro ejemplo, se comparan valores de desplazamiento entre los parámetros de desplazamiento del bloque actual 50 y los bloques vecinos, y, si existe un bloque vecino que tenga el mismo valor de desplazamiento que el bloque actual 50, puede transmitirse y recibir información de fusión de un valor de desplazamiento del bloque vecino correspondiente.
Si bloques adyacentes son idénticos en términos de longitud aunque tipos de desplazamiento son diferentes entre los bloques adyacentes, valores de desplazamiento de los bloques adyacentes pueden ser similares. Por ejemplo, los bloques adyacentes probablemente van a constituir en la misma región de objeto entre objetos indicados por una imagen. De esa forma, aunque un tipo de borde del bloque actual 50 que es un borde vertical es diferente de un tipo de borde de un bloque vecino que es un borde diagonal, pixeles del bloque actual 50 y el bloque vecino pueden constituir la misma región de objeto. De esa forma, un valor de desplazamiento del bloque actual 50 y un valor de desplazamiento del bloque vecino pueden tender a ser similares. Por consiguiente, una lista de candidatos de bloques vecinos para el bloque actual 50 puede incluir bloques vecinos únicamente que tienen la misma longitud del tipo de borde.
El aparato de codificación de video 10 y el aparato de decodificación de video 20 de conformidad con una modalidad pueden predecir el parámetro de desplazamiento del bloque actual 50 al hacer referencia a parámetros de desplazamiento de bloques vecinos entre bloques que tienen la misma longitud.
En un caso en donde se realiza codificación de predicción sobre un parámetro de desplazamiento, el aparato de codificación de video 10 y el aparato de decodificación de video 20 pueden señalar una lista de candidatos de predicción incluyendo bloques vecinos que pueden indicarse con el fin de realizar codificación de predicción sobre el parámetro de desplazamiento. Alternativamente, siempre se indica un parámetro de desplazamiento de un bloque que es más adyacente al bloque actual 50, y de esa forma bloque más adyacente incluido en la lista de candidatos de predicción puede no transmitirse ni recibirse.
La lista de candidatos de predicción que incluye el bloque más adyacente del bloque actual 50 de conformidad con una modalidad puede (i) incluir bloques candidatos dispuestos en una secuencia de referencia (ii) entre bloques candidatos que se restauran antes del bloque actual 50 y tener la misma longitud, (iii) excepto para bloques candidatos que tienen el mismo parámetro de desplazamiento. Un bloque candidato de primera categoría de la lista de candidatos de predicción puede ser el bloque más adyacente. Por ejemplo, si la lista de candidatos de predicción incluye bloque izquierdo 51 y el bloque superior 52 dispuestos a la misma distancia del bloque actual 50, el bloque izquierdo 51 que tiene una cantidad operación más pequeña necesaria para acceder del bloque actual 50 que el bloque actual 52 puede ser el bloque más adyacente .
Después que se determina la lista de candidatos de predicción, puede realizarse codificación de predicción sobre valores de desplazamiento del bloque actual 50 al hacer referencia a valores de desplazamiento del bloque más adyacente. Valores de diferencia entre valores de desplazamiento del bloque actual 50 y valores de desplazamiento del bloque más adyacente pueden codificarse y transmitirse o recibirse. <Valor de predicción de desplazamiento Desplazamiento [i] - Desplazamiento_predicción [i] , O =i= Longitud- 1 Es decir, de conformidad con un <Valor de predicción de desplazamiento, valores de diferencia Desplazamiento [i] - Desplazamiento_predicción [i] entre valores de desplazamiento Desplazamiento [i] del bloque actual 50 y valores de desplazamiento Desplazamiento_predicción [i] del bloque más adyacente pueden codificarse y transmitirse o recibirse para cada clase de borde i (o cada banda de valor de pixel) entre el bloque actual 50 y el bloque más adyacente que tiene la misma Longitud. En cualquier momento que cambia la clase de borde i (o la banda de valor de pixel) , puede recibirse o transmitirse un valor de diferencial de predicción con respecto a una clase de borde correspondiente (o una banda de valor de pixel correspondiente) .
El aparato de codificación de video 10 y el aparato de decodificación de video 20 de conformidad con una modalidad pueden realizar limitadamente codificación de fusión o codificación de predicción sobre el parámetro de desplazamiento. Por ejemplo, para codificar los parámetros de desplazamiento del bloque actual 50 de conformidad con el tipo de banda de valor de pixel, aunque dos bloques vecinos tienen la misma longitud, es decir el mismo número de bandas de valor de pixel, valores máximos y mínimos de los bloques vecinos y valores máximos y mínimos del bloque actual 50 son diferentes, y de esa forma si un intervalo general de valores de pixel es diferente entre los bloques vecinos y el bloque actual 50, parámetros de desplazamiento de los bloques vecinos y los parámetros de desplazamiento del bloque actual 50 no tienen relación de conformidad con el tipo de banda de valor de pixel . Por lo tanto, si los bloques vecinos y el bloque actual 50 son diferentes en términos de una característica del tipo de desplazamiento, el aparato de codificación de video 10 y el aparto de decodificación de video 20 no son preferibles para fusionarse y realizar codificación de predicción sobre parámetros de desplazamiento entre bloques adyacentes.
El aparato de codificación de video 10 y el aparato de decodificación de video 20 de conformidad con una modalidad pueden realizar codificación de predicción sobre parámetros de desplazamiento para cada componente de color.
Por ejemplo, puede aplicarse un SAO tanto a un bloque luma como a bloques croma de formato de color YUV. Un tipo de desplazamiento y/o valores de desplazamiento del bloque luma de un componente Y pueden ser muy similares a tipos de desplazamiento y/o valores de desplazamiento de dos bloques croma de componentes U y V.
Por ejemplo, el aparto de codificación de video 10 y el aparato de decodificación de video 20 agrega un bloque luma en la misma ubicación que un bloque croma actual a una lista de candidatos del bloque croma actual, y de esa forma un parámetro de desplazamiento del bloque croma actual puede predecirse al indicar un parámetro de desplazamiento del bloque luma. Puede distribuirse la prioridad más alta a un bloque luma de entre una lista de referencia de bloques incluidos en la lista de candidatos.
Como otro ejemplo, el aparato de codificación de video 10 y el aparato de decodificación de video 20 pueden codificar parámetros de desplazamiento con base en relaciones predeterminadas entre los parámetros de desplazamiento del componente luma y los componentes croma. En general, los componentes croma son dos planos que el bloque luma, y valores absolutos de valores de desplazamiento de conformidad con valores máximos y mínimos, clases de borde, y bandas de valor de pixel de los bloques croma son más pequeños que aquellos del bloque luma.
Una <ecuación de predicción de desplazamiento croma> a continuación explica una modalidad de predicción que realiza codificación de valores de desplazamiento de los bloques croma en un caso en donde los valores de desplazamiento de los bloques croma se determinan con base en un valor de desplazamiento del bloque luma. <Ecuación de predicción de desplazamiento croma> Valor_a_ser_codificado [i] = Desplazamiento [i] F (Desplazamiento_predicción [i] ) ; en donde F(x) = A*x + B; con respecto a esto, i denota una clase de borde actual (una banda de valor de pixel) dentro de un intervalo de longitud, y un valor de error Valor_a_ser_codificado [i] entre un valor de predicción F (Desplazamiento_predicción [i] ) y los valores de desplazamiento Desplazamiento [i] de los bloques croma determinados con base en el valor de desplazamiento Desplazamiento_predicción [i] del bloque luma al cual se refieren los bloques croma, pueden transmitirse o recibirse entre el aparato de codificación de video 10 y el aparato de decodificación de video 20.
En F(x), A y B denotan parámetros de correlación entre el bloque luma y los bloques croma. Los parámetros de correlación A y B pueden establecerse separadamente para el componente U y el componente Y. Alternativamente, el componente U y el componente Y pueden compartir los parámetros de correlación A y B.
El aparato de codificación de video 10 y el aparato de decodificación de video 20 de conformidad con una modalidad pueden codificar y transmitir o recibir y decodificar los parámetros de correlación A y B, con el fin de realizar codificación de predicción sobre el valor de desplazamiento entre el bloque luma y los bloques croma con base en correlaciones entre los componentes de color. Los parámetros de correlación A y B pueden fijarse previamente como valores predeterminados de conformidad con una modalidad. Los parámetros de correlación A y B de conformidad con una modalidad pueden determinarse para cada unidad de datos predeterminada tal como un bloque, una ilustración, un fragmento, una frecuencia de video, etc. y pueden transmitirse o recibirse después de incluirse en parámetros para cada bloque, un grupo de parámetro de imagen (PPS, por sus siglas en inglés) , un encabezado de fragmento, y un grupo de parámetro de secuencia (SPS, por sus siglas en inglés) .
La Figura 6 es un cuadro de flujo que ilustra un método de codificación de video, de conformidad con una modalidad de la presente invención.
En operación 61, puede determinarse una clase de borde de conformidad con un tipo de borde de un bloque actual de entre bloques de video o puede determinarse una banda de valor de pixel de conformidad con un tipo de banda de valor de pixel.
En un caso en donde se determina un desplazamiento del bloque actual de conformidad con el tipo de borde, la clase de borde que indica si un pixel actualmente restaurado es un punto de extremo de entre pixeles vecinos del pixel actualmente restaurado dispuesto de conformidad con una dirección de borde y tamaño de borde puede determinarse al comparar valores de pixel del pixel actualmente restaurado y los pixeles vecinos.
También, en un caso en donde se determina el desplazamiento del bloque actual de conformidad con tipos de banda de valor de pixel de pixeles restaurados, la banda de valor de pixel que indica un intervalo de valor de pixel al cual pertenece el valor de pixel del pixel actualmente restaurado puede determinarse de entre una pluralidad de bandas .
En operación 63, se determina un desplazamiento que corresponde a una clase de borde actual de banda de valor de pixel al utilizar valores de diferencia entre pixeles restaurados y pixeles originales incluidos en la clase de borde o la banda de valor de pixel . Puede determinarse un valor promedio de valores de diferencia entre pixeles restaurados y pixeles originales incluidos en la misma clase de borde o la misma banda de valor de pixel como un valor de desplazamiento .
En operación 65, se codifica un parámetro de desplazamiento de cada bloque. El parámetro de desplazamiento puede incluir un tipo de desplazamiento de un bloque correspondiente, un valor de desplazamiento del mismo, longitud del mismo, y una clase de borde y banda de valor de pixel del mismo.
El tipo de desplazamiento de cada bloque indica un tipo de borde o tipo de banda de valor de pixel de un bloque correspondiente. Se clasifican pixeles restaurados de cada bloque en una pluralidad de clases de borde de conformidad con el tipo de borde de cada bloque, y se determina cada valor de desplazamiento para cada clase de borde, y de esa forma se determina una pluralidad de valores de desplazamiento que corresponden a la pluralidad de clases de borde. Alternativamente, se clasifican pixeles restaurados de cada bloque en una pluralidad de bandas de valor de pixel de conformidad con el tipo de borde de cada bloque, y se determina cada valor de desplazamiento para cada banda de valor de pixel, y de esa forma se determina una pluralidad de valores de desplazamiento que corresponden a la pluralidad de bandas de valor de pixel. Se determina la longitud de conformidad con el tipo de borde de cada bloque o banda de valor de pixel del mismo. De esa forma, puede codificarse únicamente el tipo de desplazamiento y valores de desplazamiento entre los parámetros de desplazamiento de cada bloque .
Puede codificarse información de fusión de desplazamiento del bloque actual con base en identidades entre parámetros de desplazamiento del bloque actual y al menos un bloque vecino. La información de fusión de desplazamiento puede indicar si se codifica un parámetro de desplazamiento del bloque actual. Es decir, si bloques vecinos incluyen un bloque que tiene el mismo parámetro de desplazamiento que en el bloque actual, únicamente puede codificarse la información de fusión de desplazamiento del bloque actual, y no puede codificarse el parámetro de desplazamiento del mismo.
La información de diferencial entre parámetros de desplazamiento de bloques vecinos y el parámetro de desplazamiento del bloque actual puede codificarse al realizar predicción sobre los parámetros de desplazamiento de bloques vecinos y el parámetro de desplazamiento del bloque actual. Puede realizarse codificación de predicción sobre al menos un componente de color entre un bloque luma y bloques croma del bloque actual al indicar parámetros de desplazamiento del otro.
La Figura 7 es un cuadro de flujo que ilustra un método de decodificación de video, de conformidad con una modalidad de la presente invención.
En la operación 71, información de fusión de desplazamiento que indica sí parámetros de desplazamiento de un bloque actual y al menos un bloque vecino de entre bloques de video son idénticos entre sí, se analiza de una corriente de bits recibida.
En operación 73, se restauran tipos de desplazamiento y valores de desplazamiento entre los parámetros de desplazamiento del bloque actual con base en la información de fusión de desplazamiento.
En operación 75, se determina una clase de borde de un pixel restaurado o una banda de valor de pixel del mismo con base en un tipo de borde del bloque actual o un tipo de banda de valor de pixel del mismo que indica el tipo de desplazamiento. En operación 67, un valor de desplazamiento que corresponda a la clase de borde del pixel restaurado o la banda de valor de pixel del mismo se determina a partir de los valores de desplazamiento, y se ajusta un valor de pixel de pixel de restauración de conformidad con el valor de desplazamiento .
En un caso en donde el tipo de desplazamiento del bloque actual es el tipo de borde en operación 75, puede determinarse una clase de borde de un pixel actualmente restaurado al comparar valores de pixel del pixel actualmente restaurado y pixeles vecinos del pixel actualmente restaurado dispuesto de conformidad con una dirección de borde y tamaño de borde. En este caso, en operación 77, puede seleccionarse un desplazamiento que corresponda a la clase de borde del pixel actualmente restaurado de valores de desplazamiento recibidos.
También, en un caso en donde el tipo de desplazamiento del bloque actual es tipo de banda de valor de pixel en operación 75, puede determinarse una banda de valor de pixel del pixel actualmente restaurado, y en operación 77, puede seleccionarse un desplazamiento que corresponde a la banda de valor de pixel del pixel actualmente restaurado de los valores de pixel.
Si al menos un parámetro de desplazamiento del bloque izquierdo y un bloque superior del bloque actual es idéntico al parámetro de desplazamiento del bloque actual con base en la información de fusión de desplazamiento en operación 71, puede restaurarse el parámetro de desplazamiento del bloque actual como igual que el por lo menos un parámetro de desplazamiento del bloque izquierdo y el bloque superior del bloque actual. También, si el por lo menos un parámetro de desplazamiento del bloque izquierdo y el bloque superior del bloque actual es diferente del parámetro de desplazamiento del bloque actual con base en la información de fusión de desplazamiento, puede analizarse el parámetro de desplazamiento del bloque actual de la corriente de bits recibida y puede restaurarse.
Si se analizan valores diferenciales de los valores de desplazamiento de la corriente de bits en operación 71, puede realizarse restauración de predicción sobre los valores de desplazamiento del bloque actual al combinar información de diferencial entre valores de desplazamiento e información de desplazamiento de bloques vecinos.
Puede realizarse restauración de predicción sobre al menos un componente de color entre el componente luma y los componentes croma del bloque actual al hacer referencia a parámetros de desplazamiento del otro en la operación 71.
Por lo tanto, el aparato de codificación de video 10 y el aparato de decodificación de video 20 que utilizan el SAO de conformidad con una modalidad, clasifican valores de pixel de conformidad con una característica de imagen tal como tipos de borde de bloques de imagen o tipos de banda de valor de pixel del mismo, codifican y transmiten o reciben y decodifican un valor de desplazamiento que es un valor de error promedio entre valores de pixel clasificados que tienen la misma característica, y ajustan valores de pixel que no se esperan entre pixeles restaurados de conformidad con el valor de desplazamiento, minimizando con ello un error entre una imagen original y una imagen restaurada.
El aparato de codificación de video 10 y el aparato de decodificación de video 20 de conformidad con una modalidad pueden dividir bloques que se dividen de datos de video en unidades de codificación de estructura arborescente, y determinar un grupo de desplazamiento de conformidad con clasificación de pixel para cada unidad de codificación máxima o cada unidad de codificación como se describió anteriormente. Un método y aparato de codificación de video y un método y aparato de decodificación de video con base en unidades de codificación y unidades de transformación que tienen una estructura arborescente de conformidad con una modalidad se describirán con referencia las Figuras 7 a 20 a continuación .
La Figura 8 es un diagrama de bloque de un aparato de codificación de video 100 con base en unidades de codificación que tienen una estructura arborescente, de conformidad con una modalidad de la presente invención.
El aparato de codificación de video 100 que involucra predicción de video con base en unidades de codificación que tienen la estructura arborescente de conformidad con una modalidad incluye un divisor de unidad de codificación máxima 110, un determinador de unidad de codificación 120, y una unidad de salida 130. Para conveniencia de descripción, el aparato de codificación de video 100 que involucra predicción de video con base en unidades de codificación que tienen una estructura arborescente de conformidad con una modalidad se indicará en lo sucesivo como el "aparato de codificación de video 100" .
El divisor de unidad de codificación máxima 110 puede dividir una imagen actual con base en una unidad de codificación para la ilustración de predicción de una imagen. Si la ilustración actual es mayor que la unidad de codificación máxima, pueden dividirse datos de imagen de la imagen actual en la por lo menos una unidad de codificación máxima. La unidad de codificación máxima de conformidad con la modalidad de la presente invención puede ser una unidad de datos que tiene un tamaño de 32x32, 64x64, 128x128, 256x256, etc., en donde una forma de la unidad de datos es un cuadrado que tiene un ancho y longitud en cuadrados de 2. Los datos de imagen pueden enviarse al determinador de unidad de codificación 120 de conformidad con la por lo menos una unidad de codificación máxima.
Una unidad de codificación de conformidad con una modalidad de la presente invención puede caracterizarse por un tamaño máximo y una profundidad. La profundidad denota un número de veces que se divide espacialmente la unidad de codificación de la unidad de codificación máxima, y a medida que la profundidad aumenta, pueden dividirse unidades de codificación más profunda de conformidad con profundidades 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 superior y una profundidad de la unidad de codificación mínima es una profundidad inferior. Ya que un tamaño de una unidad de codificación que corresponde a cada profundidad disminuye a medida que la profundidad de la unidad de codificación máxima se vuelve mayor, una unidad de codificación correspondiente a una profundidad superior puede incluir una pluralidad de unidades de codificación que corresponden a profundidades inferiores .
Como se describió anteriormente, los datos de imagen de la ilustración actual se dividen en las unidades de codificación máximas de conformidad con un tamaño máximo de la unidad de codificación, y cada una de las unidades de codificación máximas puede incluir unidades de codificación más profundas que se dividen de conformidad con profundidades. Ya que la unidad de codificación máxima de conformidad con una modalidad de la presente invención se divide de conformidad con profundidades, los datos de imagen de un dominio espacial incluido en la unidad de codificación máxima pueden clasificarse jerárquicamente de conformidad con profundidades .
Una profundidad máxima y un tamaño máximo de una unidad de codificación, que limitan el número total de veces que se divide jerárquicamente una altura y un ancho de la unidad de codificación máxima, pueden predeterminarse.
El determinador de unidad de codificación 120 codifica al menos una región dividida obtenida al dividir una región de la unidad de codificación máxima de conformidad con profundidades, y determina una profundidad para enviar datos de imagen finalmente codificados de conformidad con al menos una región dividida. En otras palabras, el determinador de unidad de codificación 120 determina una profundidad codificada al codificar los datos de imagen en las unidades de codificación más profundas de conformidad con profundidades, de conformidad con la unidad de codificación máxima de la ilustración actual, y al seleccionar una profundidad que tiene el mínimo error de codificación. De esa forma, los datos de imagen codificados de la unidad de codificación que corresponden a la profundidad codificada determinada se envían 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 conformidad con la profundidad codificada determinada se envían a la unidad de salida 130.
Los datos de imagen en la unidad de codificación máxima se codifican con base en las unidades de codificación más profundas que corresponden al menos a una profundidad igual a o bajo la profundidad máxima, y resultados de codificar los datos de imagen se comparan con base en cada una de las unidades de codificación más prof ndas. 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. Puede seleccionarse al menos una profundidad codificada para cada unidad de codificación máxima.
El tamaño de la unidad de codificación máxima se divide como una unidad de codificación que se divide jerárquicamente de conformidad con profundidades, y a medida que aumenta el número de unidades de codificación. También, incluso si unidades de codificación corresponden a la misma profundidad en una unidad de codificación máxima, se determina sí se divide cada una de las unidades de codificación que corresponden a la misma profundidad a una profundidad inferior al medir un error de codificación de los datos de imagen de cada unidad de codificación, separadamente. Por consiguiente, incluso cuando se incluyen datos de imagen en una unidad de codificación máxima, los datos de imagen se dividen en regiones de conformidad con las profundidades y los errores de codificación pueden diferir de conformidad con regiones en una unidad de codificación máxima, y de esa forma las profundidades codificadas pueden diferir de conformidad con regiones en los datos de imagen. De esa forma, 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 conformidad con unidades de codificación de al menos una profundidad codificada.
Por consiguiente, el determinador de unidad de codificación 120 puede determinar unidades de codificación que tienen una estructura arborescente incluida en la unidad de codificación máxima. Las v unidades de codificación que tienen una estructura arborescente' de conformidad con una modalidad de la presente invención incluyen unidades de codificación que corresponden a una profundidad determinada para ser 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 conformidad con profundidades en la misma región de la unidad de codificación máxima, y puede determinarse independientemente en diferentes regiones. Similarmente , una profundidad codificada en una región actual puede determinarse independientemente de una profundidad codificada en otra región.
Una profundidad máxima de conformidad con una modalidad de la presente invención es un índice relacionado con el número de veces de división de una unidad de codificación máxima a una unidad de codificación mínima. Una primera profundidad máxima de conformidad con una modalidad de la presente invención puede denotar el número total de veces de división de la unidad de codificación máxima a la unidad de codificación mínima. Una segunda profundidad máxima de conformidad con una modalidad de la presente invención puede denotar 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 cual la unidad de codificación máxima se divide una vez, puede establecerse a l, y una profundidad de una unidad de codificación, en la cual la unidad de codificación máxima se divide dos veces, puede establecerse a 0. Aquí, si la unidad de codificación mínima es una unidad de codificación en la cual la unidad de codificación máxima se divide cuatro veces, existen cinco niveles de profundidades O, 1, 2, 3 y 4, y de esa forma la primera profundidad máxima puede establecerse a 4, y la segunda profundidad máxima puede establecerse a 5.
Puede realizarse codificación de predicción y transformación de conformidad con la unidad de codificación máxima. La codificación de predicción y la transformación también se realizan con base en las unidades de codificación más profundas de conformidad con una profundidad igual a o profundidades menores que la profundidad máxima, de conformidad con la unidad de codificación máxima. Puede realizarse transformación de conformidad con un método de transformación ortogonal o transformación de número entero.
Ya que el número de unidades de codificación más profundas aumenta en cualquier momento que se divide la unidad de codificación máxima de conformidad con profundidades, se realiza codificación que incluye la codificación de predicción y la transformación en todas las unidades de codificación más profunda generadas a medida que la profundidad se hace mayor. Para conveniencia de descripción, ahora se describirá la codificación de predicción y la transformación con base en una unidad de codificación de una profundidad actual, en una unidad de codificación máxima.
El aparato de codificación de video 100 puede seleccionar de manera variada un tamaño o forma de una unidad de datos para codificar los datos de imagen. Con el fin de codificar los datos de imagen, operaciones, tal como codificación de predicción, transformación, y codificación de entropía, se realizan, y en este momento, la misma unidad de datos puede utilizarse para todas las operaciones o diferentes unidades de datos pueden utilizarse para cada operación .
Por ejemplo, el aparato de codificación de video 100 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 de predicción en los datos de imagen en la unidad de codificación.
Con el fin de realizar codificación de predicción en la unidad de codificación máxima, la codificación de predicción puede realizarse con base en una unidad de codificación que corresponde a una profundidad codificada, es decir, con base en una unidad de codificación que ya no está dividida a unidades de codificación que corresponden a una profundidad inferior. En lo sucesivo, la unidad de codificación que ya no está dividida y se vuelve una unidad básica para codificación de predicción se indicará como una 'unidad de predicción' . Una división obtenida al dividir la unidad de predicción puede incluir una unidad de predicción o una unidad de datos obtenida al dividir al menos uno de una altura y un ancho de la unidad de predicción. La división es una división de unidad de datos de la unidad de predicción de la unidad de codificación, y la unidad de predicción puede ser una división que tiene el mismo tamaño que la unidad de codificación.
Por ejemplo, cuando una unidad de codificación de 2Nx2N (en donde N es un número entero positivo) ya no se divide y se vuelve una unidad de predicción de 2Nx2N, un tamaño de una división puede ser 2Nx2N, 2NxN, Nx2N, o NxN. Ejemplos de un tipo de división incluyen divisiones simétricas que se obtienen al dividir simétricamente una altura o ancho de la unidad de predicción, divisiones obtenidas al dividir asimétricamente la altura o ancho de la unidad de predicción, tal como l:n o n:l, divisiones que se obtienen al dividir geométricamente la unidad de predicción, y divisiones 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 ínter modo, y un modo de salto. Por ejemplo, el intra modo o el inter modo pueden realizarse en la división de 2Nx2N, 2NxN, Nx2N, o NxN. También, el modo de salto puede realizarse únicamente en la división de 2Nx2N. La codificación se realiza independientemente sobre una unidad de predicción en una unidad de codificación, seleccionando con ello un modo de predicción que tiene un error de codificación mínimo.
El aparato de codificación de video 100 también puede realizar la transformación sobre los datos de imagen en una unidad de codificación con base no sólo en la unidad de codificación para codificar los datos de imagen, sino también con base en una unidad de datos que es diferente de la unidad de codificación.
Con el fin de realizar la transformación en la unidad de codificación, la transformación puede realizarse con base en una unidad de datos que tiene un tamaño más pequeño que o igual a 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 profundidad de transformación que indica el número de veces de división para alcanzar la unidad de transformación al dividir la altura y el ancho de la unidad de codificación también puede establecerse en la unidad de transformación. Por ejemplo, en una unidad de codificación actual de 2Nx2N, una profundidad de transformación puede ser o cuando el tamaño de una unidad de transformación también es 2Nx2N, puede ser 1 cuando cada uno de la altura y ancho de la unidad de codificación actual se divide en dos partes iguales, se divide totalmente en 4A1 unidades de transformación y el tamaño de la unidad de transformación de esa forma es NxN, y puede ser 2 cuando cada uno de la altura y ancho de la unidad de codificación actual se divide en cuatro partes iguales, se divide totalmente en 4^2 unidades de transformación y el tamaño de la unidad de transformación de esa forma es N/2xN/2. Por ejemplo, la unidad de transformación puede establecerse de conformidad con una estructura arborescente jerárquica, en donde una unidad de transformación de una profundidad de transformación superior se divide en cuatro unidades de transmisión de una profundidad de transformación inferior de conformidad con las características jerárquicas de una profundidad de transformación.
Similarmente a la unidad de codificación, la unidad de transformación en la unidad de codificación puede dividirse recursivamente en regiones de tamaño más pequeño, de manera que la unidad de transformación puede determinarse independientemente en unidades de regiones. De esa forma, datos residuales en la unidad de codificación pueden dividirse de conformidad con las unidades de transformación que tienen estructura arborescente de conformidad con prof ndidades de transformación.
Información de codificación de conformidad con unidades de codificación que corresponden a una profundidad codificada requiere no solamente información sobre la profundidad codificada, sino también información relacionada con codificación de predicción y transformación. Por consiguiente, el determinador de unidad de codificación 120 no solamente determina una profundidad codificada que tiene un error de codificación mínimo, sino también determina un tipo de división en una unidad de predicción, un modo de predicción de conformidad con unidades de predicción, y un tamaño de una unidad de transformación para transformación.
Un método para determinar una unidad de codificación de conformidad con una estructura arborescente en una unidad de codificación máxima, una unidad de predicción, una división, una unidad de transformación de conformidad con modalidades de la presente invención, se describirá en detalle posteriormente con referencia a las Figuras 7 a 19.
El determinador de unidad de codificación 120 puede medir un error de codificación de unidades de codificación más profundas de conformidad con profundidades al utilizar Optimización de Velocidad-Distorsión con base en multiplicadores Lagrangianos .
La unidad de salida 130 envía los datos de imagen de la unidad de codificación máxima, que se codifica con base en al menos una profundidad codificada determinada por el determinador de unidad de codificación 120, e información sobre el modo de codificación de conformidad con la profundidad codificada, en corrientes de bits.
Pueden obtenerse datos de imagen codificados al codificar datos residuales de una imagen.
La información sobre el modo de codificación de conformidad con profundidad codificada puede incluir información sobre la profundidad codificada, sobre el tipo de divisió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 sobre la profundidad codificada puede definirse al utilizar información de división de conformidad con profundidades, que indica si se realiza codificación sobre unidades de codificación de la 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 envían, y de esa forma puede definirse la información de división para no dividir la unidad de codificación actual a una profundidad inferior. Alternativamente, si la profundidad actual de la unidad de codificación actual no es la profundidad codificada, se realiza la codificación sobre la unidad de codificación de la profundidad inferior, y de esa forma puede definirse la información de división 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 sobre la unidad de codificación que se divide en la unidad de codificación de la profundidad inferior. Ya que al menos una unidad de codificación de la profundidad inferior existe en una unidad de codificación de la profundidad actual, la codificación se realiza repetidamente en cada unidad de la profundidad inferior, y de esa forma la codificación puede realizarse recursivamente para las unidades de codificación que tienen la misma profundidad.
Ya que las unidades de codificación que tienen una estructura arborescente se determinan para una unidad de codificación máxima, y se determina información sobre al menos un modo de codificación para una unidad de codificación de una profundidad codificada, puede determinarse información sobre 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 conformidad con ubicaciones ya que los datos de imagen se dividen jerárquicamente de conformidad con profundidades, y de esa forma puede establecerse información sobre la profundidad codificada y el modo de codificación para los datos de imagen.
Por consiguiente, la unidad de salida 130 puede asignar información de codificación sobre una profundidad codificada correspondiente y un modo de codificación para al menos una de la unidad de codificación, la unidad de predicción, y una unidad mínima incluida en la unidad de codificación máxima.
La unidad mínima de conformidad con una modalidad de la presente invención es una unidad de datos rectangular obtenida al dividir la unidad de codificación mínima que constituye la profundidad más baja por 4. Alternativamente, la unidad mínima puede ser una unidad de datos rectangular máxima que puede incluirse en todas las unidades de codificación, unidades de predicción, unidades de división, y unidades de transformación incluidas en la unidad de codificación máxima.
Por ejemplo, puede clasificarse la salida de información de codificación a través de la unidad de salida 130 en información de codificación de conformidad con unidades de codificación, e información de codificación de conformidad con unidades de predicción. La información de codificación de conformidad con las unidades de codificación puede incluir la información sobre modos de predicción y sobre el tamaño de las divisiones. La información de codificación de conformidad con las unidades de predicción puede incluir información sobre una dirección estimada de un ínter modo, sobre un índice de imagen de referencia del ínter modo, sobre un vector de movimiento, sobre un componente croma de un intra modo, y sobre un método de interpolación ¿el intra modo. También, información sobre un tamaño máximo de la unidad de codificación definida de conformidad con imágenes, fragmentos, o GOP, e información sobre una profundidad máxima puede insertarse un encabezado de una corriente de bits, un grupo de parámetro de secuencia, o un grupo de parámetros de ilustración.
También, puede enviarse información con respecto a un tamaño máximo de una unidad de transformación permitida con respecto al video actual y la información con respecto a un tamaño máximo de la unidad de transformación a través del encabezado de la corriente de bits, el grupo de parámetro de secuencia, o el grupo de parámetro de ilustración. La unidad de salida 130 puede decodificar y enviar información de referencia, información de predicción bidireccional , información de tipo de fragmento que incluyen un cuarto tipo de fragmento, etc. que indica la predicción descrita con referencia las Figuras 1 a 6.
En el aparato de codificación de video 100, la unidad de codificación más profunda puede ser una unidad de codificación obtenida al dividir una altura o un ancho de una unidad de codificación de una profundidad superior, que es una capa por encima, por dos. 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 máximo 4 de la unidad de codificación de la profundidad inferior.
Por consiguiente, el aparato de codificación de video 100 puede formar las unidades de codificación que tienen la estructura arborescente al determinar unidades de codificación que tiene una forma óptima y un tamaño óptimo para cada unidad de codificación máxima, con base en el tamaño de la unidad de codificación máxima y la profundidad máxima determinada considerando características de la ilustración actual. También, ya que puede realizarse codificación en cada unidad de codificación máxima al utilizar cualquiera de los varios modos de predicción y transformaciones, puede determinarse un modo de codificación óptimo considerando características de la unidad de codificación de varios tamaños de imagen.
De esa forma, si se codifica una imagen que tiene alta resolución o gran cantidad de datos en un macro bloque convencional, aumenta un número de macro bloques por imagen excesivamente. Por consiguiente, aumenta un número de piezas de información comprimida generada para cada macro bloque, y de esa forma es difícil transmitir la información comprimida y disminuye eficiencia de compresión de datos. Sin embargo, al utilizar el aparato de codificación de video 100, puede aumentar la eficiencia de compresión de imagen ya que se ajusta una unidad de codificación mientras se consideran características de imagen mientras se aumenta un tamaño máximo de una unidad de codificación mientras se considera un tamaño de la imagen.
El aparato de codificación de video 100 de la Figura 8 puede realizar una operación del aparato de codificación de video 10 descrito anteriormente con referencia a la Figura 1.
El determinador de unidad de codificación 120 puede realizar una operación de la unidad de determinación de desplazamiento 12 del aparato de codificación de video 10. El determinador de unidad de codificación 120 puede determinar un valor de desplazamiento para cada clase borde al clasificar valores de pixel de conformidad con tipos de borde para cada unidad de codificación máxima o determinar un valor de desplazamiento para cada banda de valor de pixel al clasificar valores de pixel de conformidad con tipos de banda de valor de pixel . El valor de desplazamiento de cada grupo de pixel tal como la clase de borde o la banda de valor de pixel puede ser un valor de error promedio entre pixeles restaurados y pixeles originales incluidos en un grupo de pixel correspondiente. Como otro ejemplo, la clase de borde y el valor de desplazamiento o la banda de valor de pixel y el valor de desplazamiento pueden determinarse para cada unidad de datos predeterminada tal como una unidad de codificación, Una unidad de predicción, y una unidad de transformación.
La unidad de salida 130 puede codificar el tipo de desplazamiento y valores de desplazamiento entre parámetros de desplazamiento determinados para cada unidad de codificación máxima. En un caso en donde se determina el parámetro de desplazamiento para cada unidad de datos predeterminada tal como la unidad de codificación, la unidad de predicción, y la unidad de transformación, puede codificarse el tipo de desplazamiento y valores de desplazamiento como parámetros de una unidad de datos correspondiente.
La unidad de salida 130 puede realizar codificación de predicción sobre un parámetro de desplazamiento actual de una unidad de codificación máxima actual al hacer referencia a parámetros de desplazamiento vecinos de unidades de codificación máximas vecinas. La unidad de salida 130 puede codificar información de fusión de desplazamiento para la unidad de codificación máxima actual sin codificar el parámetro de desplazamiento actual si al menos uno de los parámetros de desplazamiento vecinos es idéntico al parámetro de desplazamiento actual. La unidad de salida 130 puede codificar la información de fusión de desplazamiento y el parámetro de desplazamiento actual para la unidad de codificación máxima actual si los parámetros de desplazamiento vecinos y el parámetro de desplazamiento actual son diferentes entre sí.
La Figura 9 es un diagrama de bloque de un aparato de decodificación de video 200 con base en unidades de codificación que tienen una estructura arborescente, de conformidad con una modalidad de la presente invención.
El aparato de decodificación de video 200 que involucra predicción de video con base en unidades de codificación que tienen la estructura arborescente de conformidad con una modalidad incluye un receptor 210, un extractor de datos de imagen y de información de codificación 220, y un decodificador de datos de imagen 230. Para conveniencia de descripción, el aparato de decodificación de video 200 involucra predicción de video con base en unidades de codificación que tienen la estructura arborescente de conformidad con una modalidad se indicará en lo sucesivo como el "aparato de decodificación de video 200" .
Definiciones de varios términos, tal como una unidad de codificación, una profundidad, una unidad de predicción, una unidad de transformación, e información sobre varios modos de codificación, para varias operaciones del aparato de decodificación de video 200 son idénticos a aquellos descritos con referencia a la Figura 7 y el aparato de codificación de video 100.
El receptor 210 recibe y analiza una corriente de bits de un video codificado. El extractor de datos de imagen y de información de codificación 220 extrae datos de imagen codificados para cada unidad de codificación de la corriente de bits analizada, en donde las unidades de codificación tienen una estructura arborescente de conformidad con cada unidad de codificación máxima, y envía los datos de imagen extraídos al decodificador de datos de imagen 230. El extractor de datos de imagen e información de codificación 220 puede extraer información sobre un tamaño máximo de una unidad de codificación de una imagen actual, de un encabezado sobre una imagen actual o SPS .
También, el extractor de datos de imagen e información de codificación 220 extrae información sobre una profundidad codificada y un modo de codificación para las unidades de codificación que tienen una estructura arborescente de conformidad con cada unidad de codificación para las unidades de codificación que tienen una estructura arborescente de conformidad con cada unidad de codificación máxima, de la corriente de bits analizada. La información extraída acerca de la profundidad codificada y el modo de codificación se envía al decodificador de datos de imagen 230. En otras palabras, los datos de imagen en una corriente de bits se dividen en la unión de codificación máxima de manera que el decodificador de datos de imagen 230 decodifica los datos de imagen para cada unidad de codificación máxima.
La información sobre la profundidad codificada y el modo de codificación de conformidad 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, e información sobre un modo de codificación puede incluir información acerca de un tipo de divisió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, información de división de conformidad con 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 conformidad con cada unidad de codificación máxima extraída por el extractor de datos de imagen e información de codificación 220 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 de codificación de video 100, realiza repetidamente codificación para cada unidad de codificación más profunda de conformidad con profundidades de conformidad con cada unidad de codificación máxima. Por consiguiente, el aparato de decodificación de video 200 puede restaurar una imagen al decodificar los datos de imagen de conformidad con una profundidad codificada y un modo de codificación que genera el error de codificación mínimo.
Ya que puede asignarse información de codificación sobre la profundidad codificada y el modo de codificación 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 de datos de imagen de información de codificación 220 puede extraer la información acerca de la profundidad codificada y el modo de codificación de conformidad con las unidades de datos predeterminadas. Las unidades de datos predeterminadas a las cuales se asigna la misma información acerca de la profundidad codificada y el modo de codificación puede inferirse para ser las unidades de datos incluidas en la misma unidad de codificación máxima.
El decodificador de datos de imagen 230 restaura la ilustración actual al decodificar los datos de imagen en cada unidad de codificación máxima con base en la información acerca de la profundidad codificada y el modo de codificación de conformidad con las unidades de codificación máximas. En otras palabras, el decodificador de datos de imagen 230 puede decodificar los datos de imagen codificados con base en la información extraída acerca del tipo de divisió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 arborescente incluida en cada unidad de codificación máxima. Un procedimiento de decodificación puede incluir una predicción que incluye intra predicción y compensación de movimiento, y una transformación inversa. Puede realizarse transformación inversa de conformidad con el método de transformación ortogonal inversa o transformación de número entero inversa .
El decodificador de datos de imagen 230 puede realizar intra predicción o compensación de movimiento de conformidad con una división y un modo de predicción de cada unidad de codificación, con base en información acerca del tipo de predicción y el modo de predicción de la unidad de predicción de la unidad de codificación de conformidad con profundidades codificadas .
También, el decodificador de datos de imagen 230 puede realizar transformación inversa de conformidad con cada unidad de transformación en la unidad de codificación, con base en la información acerca del tamaño de la unidad de transformación de la unidad de codificación de conformidad con profundidades codificadas, para realizar la transformación inversa de conformidad con unidades de codificación máxima.
El decodificador de datos de imagen 230 puede determinar al menos una profundidad codificada de una unidad de codificación máxima actual al utilizar información de división de conformidad con profundidades. Si la información de división indica que los datos de imagen ya no están divididos en la profundidad actual, la profundidad actual es una profundidad codificada. Por consiguiente, el decodificador de datos de imagen 230 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 al utilizar la información acerca del tipo de divisió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 corresponda a la profundidad codificada, y envía los datos de imagen de la unidad de codificación máxima actual.
En otras palabras, pueden recolectarse unidades de datos que contienen la información de codificación que incluye la misma información de división al observar el grupo de información de codificación asignado para la unidad de datos predeterminada de entre la unidad de codificación, la unión de predicción, y la unidad mínima, y las unidades de datos recolectadas pueden considerarse para ser una unidad de datos para decodificarse mediante el decodificador de datos de imagen 230 en el mismo modo de codificación. La decodificación de la unidad de codificación actual puede realizarse al obtener información con respecto al modo de codificación para la unidad de codificación determinada como se describió anteriormente.
También, el aparato de decodificación de video 200 de la Figura 9 puede realizar una operación del aparato de decodificación de video 20 descrito anteriormente con referencia a la Figura 2.
El receptor 210 y el extractor de datos de imagen e información de codificación 220 puede realizar una operación de la unidad de análisis de parámetro de desplazamiento 22 del aparato de decodificación de video 20. El decodificador de datos de imagen 230 puede realizar una operación de la unidad de ajuste de desplazamiento 24 del aparato de decodificación de video 20.
El extractor de datos de imagen y de información de codificación 220 puede restaurar un parámetro de desplazamiento actual como el mismo que al menos uno de parámetros de desplazamiento vecinos en un caso en donde información de fusión de desplazamiento se analiza únicamente a partir de una corriente de bits sin un parámetro de desplazamiento para una unidad de codificación máxima actual. Un parámetro que se va a indicar de entre los parámetros de desplazamiento vecinos puede determinarse con base en la información de fusión de desplazamiento. El extractor de datos de imagen y de información de codificación 220 puede analizar y restaurar el parámetro de desplazamiento actual para la unidad de codificación máxima actual de la corriente de bits si los parámetros de desplazamiento vecinos y el parámetro de desplazamiento actual se determinan para ser diferentes entre sí con base en la información de fusión de desplazamiento para la unidad de codificación máxima actual de la corriente de bits.
El extractor de datos de imagen y de información de codificación 220 puede realizar restauración de predicción sobre el parámetro de desplazamiento actual en la unidad de codificación máxima actual al indicar los parámetros de desplazamiento vecinos de unidades de codificación máxima vecinas .
El decodificador de datos imagen 230 puede analizar un parámetro de desplazamiento de cada unidad de datos de codificación máxima de la corriente de bits. Puede determinarse si un tipo de desplazamiento de la unidad de codificación máxima actual es un tipo de borde o un tipo de banda de valor de pixel de los parámetros de desplazamiento restaurados. Si el tipo de desplazamiento de la unidad de codificación máxima actual es el tipo de borde, puede determinarse una clase de borde para cada pixel restaurado, y puede seleccionarse un valor de desplazamiento que corresponde a la clase de borde de cada pixel restaurado de valores de desplazamiento de los parámetros de desplazamiento. Si el tipo de desplazamiento de la unidad de codificación máxima actual es el tipo de banda de valor de pixel, cada banda de valor de pixel para cada pixel restaurado puede determinarse, y puede seleccionarse un valor de desplazamiento que corresponde a la banda de valor de pixel de cada pixel restaurado de valores de desplazamiento analizados e incluidos en los parámetros de desplazamiento.
El decodificador de datos de imagen 230 puede generar un pixel restaurado que tiene un error mínimo con respecto a un pixel original al ajustar un valor de pixel restaurado correspondiente por un valor de desplazamiento que corresponde a cada pixel restaurado. Como otro ejemplo, en un caso en donde se analiza el parámetro de desplazamiento para cada unidad de datos predeterminada tal como una unidad de codificación, una unidad de predicción, y una unidad de transformación, puede restaurarse un valor de desplazamiento que corresponde a cada clase de borde para cada unidad de datos correspondiente o puede restaurarse un valor de desplazamiento que corresponde a cada banda de valor de pixel.
En conclusión, el aparato de decodificación de video 200 puede obtener información sobre 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 utilizar información para decodificar la ilustración actual. En otras palabras, las unidades de codificación que tienen la estructura arborescente determinadas para ser las unidades de codificación óptimas en cada unidad de codificación máxima pueden decodificarse . También, el tamaño máximo de unidad de codificación se determina en consideración de resolución de una cantidad de datos de imagen.
Por consiguiente, incluso si datos de imagen tienen alta resolución y una gran cantidad de datos, los datos de imagen pueden decodificarse y restaurarse eficientemente al utilizar un tamaño de una unidad de codificación y un modo de codificación, que se determinan de manera adaptable de conformidad con características de los datos de imagen, al utilizar información sobre un modo de codificación óptimo recibido de un codificador.
La Figura 10 es un diagrama para describir un concepto de unidades de codificación de conformidad con una modalidad de la presente invención.
Un tamaño de una unidad de codificación puede expresarse en ancho por altura, y puede ser 64x64, 32x32, 16x16, y 8x8. Una unidad de codificación de 64x64 puede dividirse en divisiones de 64x64, 64x32 32x64 o 32x32, una unidad de codificación de 32x32 puede dividirse en divisiones de 32x32, 32x16, 16x32, o 16x16, una unidad de codificación de 16x16 puede dividirse en divisiones de 16x16, 16x8, 8x16, o 8x8, y una unidad de codificación de 8x8 puede dividirse en divisiones de 8x8, 8x4, 4x8, o 4x4.
En datos de video 310, 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 datos de video 320, 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 datos de video 330, 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 10 denota un número total de divisiones de una unidad de codificación máxima a una unidad de codificació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 sólo aumentar eficiencia 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 de video 310 y 320 que tienen la resolución más alta que los datos de video 330 puede ser 64.
Ya que la profundidad máxima de los datos de video 310 es 2, unidades de codificación 315 de los datos de video 310 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 ya que las profundidades aumentan a dos capas al dividir la unidad de codificación máxima dos veces. Mientras tanto, ya que la profundidad máxima de los datos de video 330 es 1, unidades de codificación 335 de los datos de video 330 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 ya que aumentan las profundidades a una capa al dividir la unidad de codificación máxima una vez.
Ya que la profundidad máxima de los datos de video 320 es 3, unidades de codificación 325 de los datos de video 320 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 ya que aumentan las profundidades a tres capas al dividir la unidad de codificación máxima tres veces. A medida que aumenta una profundidad, puede expresarse de manera precisa información detallada.
La Figura 11 es un diagrama de bloque de un codificador de imagen 400 con base en unidades de codificación, de conformidad con una modalidad de la presente invención .
El codificador de imagen 400 realiza operaciones del determinador de unidad de codificación 120 del aparato de codificación de video 100 para codificar datos de imagen. En otras palabras, un intra pronosticador 410 realiza intra predicción sobre unidades de codificación en un intra modo, de entre un cuadro actual 405, y un estimador de movimiento 420 y un compensador de movimiento 425 realiza ínter estimación y compensación de movimiento sobre unidades de codificación en un inter modo de entre el cuadro actual 405 al utilizar el cuadro actual 405, y un cuadro de referencia 495.
La salida de datos del intra pronosticador 410, el estimador de movimiento 420, y el compensador de movimiento 425 se envía 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 inverso 460 y un transformador inverso 470, y los datos restaurados en el dominio espacial se envían como el cuadro de referencia 495 después de ser pos-procesados a través de una unidad de desbloqueo 480 y una unidad de filtración de bucle 490. El coeficiente de transformación cuantificado puede enviarse como una corriente de bits 455 a través de un codificador de entropía 450.
Con el fin de que se aplique el codificador de imagen 400 en el aparato de codificación de video 100, todos los elementos del codificador de imagen 400, es decir, el intra pronosticador 410, el estimador de movimiento 420, el compensador de movimiento 425, el transformador 430, el cuantificador 440, el codificador de entropía 450, el cuantificador inverso 460, el transformador inverso 470, la unidad de desbloqueo 480, y la unidad de filtración de bucle 490, tienen que realizar operaciones con base en cada unidad de codificación de entre unidades de codificación que tienen una estructura arborescente mientras se considera la profundidad máxima de cada unidad de codificación máxima.
Específicamente, el intra pronosticador 410, el estimador de movimiento 420, y el compensador de movimiento 425 tienen que determinar divisiones y un modo de predicción de cada unidad de codificación de entre las unidades de codificación que tienen una estructura arborescente 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 tiene que determinar 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 arborescente.
El codificador de imagen 400 puede clasificar pixeles de conformidad con un tipo de borde (o una banda de valor de pixel) para cada unidad de codificación máxima del cuadro de referencia 495, determinar una clase de borde (o una banda de valor de pixel) para cada pixel restaurado, y determinar un valor de error promedio de pixeles restaurados que pertenecen a cada clase de borde (o cada banda de valor de pixel) . Pueden codificarse y transmitirse o recibirse y decodificarse tipos de desplazamiento y valores de desplazamiento para cada unidad de codificación máxima.
La Figura 12 es un diagrama de bloque de un decodificador de imagen 500 con base en unidades de codificación, de conformidad con una modalidad de la presente invención .
Un analizador 510 analiza datos de imagen codificados para decodificarse e información sobre codificación requerida para decodificación desde una corriente de bits 505. Los datos de imagen codificados se envían como datos inversamente cuantificados a través de un decodificador de entropía 520 y un cuantificador inverso 530, y los datos inversamente cuantificados se restauran a datos de imagen en un dominio espacial a través de un transformador inverso 540.
Un intra pronosticador 550 realiza intra predicción sobre unidades de codificación en un intra modo con respecto a los datos de imagen en el dominio espacial, y un compensador de movimiento 560 realiza compensación de movimiento sobre unidades de codificación en un ínter modo al utilizar un cuadro de referencia 585.
Los datos de imagen en el dominio espacial, que pasan a través del intra pronosticador 550 y el compensador de movimiento 560, pueden enviarse como un cuadro restaurado 595 después de pos-procesarse a través de una unidad de desbloqueo 570 y una unidad de filtración de bucle 580. También, los datos de imagen que son pos-procesados a través de la unidad de desbloqueo 570 y la unidad de filtración de bucle 580 pueden enviarse como el cuadro de referencia 585.
Con el fin de decodificar los datos de imagen en el decodificador 230 del aparato de decodificación de video 200, el decodificador en imagen 500 puede realizar operaciones que se realizan después del analizador 510.
Con el fin de que se aplique el decodificador de imagen 500 en el aparato de decodificación de video 200, todos los elementos del decodificador de imagen 500, es decir, el analizador 510, el decodificador de entropía 520, el cuantificador inverso 530, el transformador inverso 540, el intra pronosticador 550, el compensador de movimiento 560, la unidad de desbloqueo 570, y la unidad de filtración de bucle 580 realizan operaciones con base en unidades de codificación que tienen una estructura arborescente para cada unidad de codificación máxima.
Específicamente, el intra pronosticador 550 y el compensador de movimiento 560 realizan operaciones con base en divisiones y un modo de predicción para cada una de las unidades de codificación que tienen una estructura arborescente, y el transformador inverso 540 realizan operaciones con base en un tamaño de una unidad de transformación para cada unidad de codificación.
El decodificador de imagen 500 puede extraer parámetros de desplazamiento de unidades de codificación máxima de una corriente de bits, y ajustar cada pixel restaurado para cada unidad de codificación máxima del cuadro restaurado 595 por un valor de desplazamiento que corresponde a una clase de borde correspondiente o banda de valor de pixel al utilizar tipos de desplazamiento y valores de desplazamiento incluidos en los parámetros de desplazamiento.
La Figura 13 es un diagrama que ilustra unidades de codificación más profundas de conformidad con profundidades, y divisiones, de conformidad con una modalidad de la presente invención.
El aparato de codificación de video 100 y el aparato de decodificación de video 200 utilizan unidades de codificación jerárquica para considerar características de una imagen. Una altura máxima, un ancho máximo, y una profundidad máxima de unidades de codificación pueden determinarse de manera adaptable de conformidad con las características de la imagen, o pueden establecerse de manera diferente mediante un usuario. Pueden determinarse tamaños de unidades de codificación más profundas de conformidad con profundidades de conformidad con el tamaño máximo predeterminado de la unidad de codificación.
En una estructura jerárquica 600 de unidades de codificación, de conformidad con una modalidad de la presente invención, la altura máxima y el ancho máximo de las unidades de codificación cada uno son 64, y la profundidad máxima es 4. Ya que una profundidad se hace mayor a lo largo de un eje vertical de la estructura jerárquica 600, cada uno de una altura y un ancho de la unidad de codificación más profunda se divide. También, se muestra una unidad de predicción y divisiones, que son bases para codificación de predicción de cada unidad de codificación más profunda, a lo largo de un eje horizontal de la estructura jerárquica 600.
En otras palabras, una unidad de codificación 610 es una unidad de codificación máxima a la estructura jerárquica 600, en donde una profundidad es 0 y un tamaño, es decir, una altura por ancho, es 64x64. La profundidad aumenta a lo largo del eje vertical, y una unidad de codificación 620 que tiene un tamaño de 32x32 y una profundidad de 1, existen una unidad de codificación 630 que tiene un tamaño de 16x16 y una profundidad de 2, una unidad de codificación 640 que tiene un tamaño de 8x8 y una profundidad de 3 , y una unidad de codificación 650 que tiene un tamaño de 4x4 y una profundidad de 4. La unidad de codificación 640 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 divisiones de una unidad de codificación se disponen a lo largo del eje horizontal de conformidad con cada profundidad. En otras palabras, si la unidad de codificación 610 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 divisiones incluidas en la unidad de codificación 610, es decir, una división 610 que tiene un tamaño de 64x64, divisiones 612 que tienen el tamaño de 64x32, divisiones 614 que tienen el tamaño de 32x64, o divisiones 616 que tienen el tamaño de 32x32.
Similarmente , una unidad de predicción de la unidad de codificación 620 que tiene el tamaño de 32x32 y la profundidad de 1 puede dividirse en divisiones incluidas en la unidad de codificación 620, es decir una división 620 que tiene un tamaño de 32x32, divisiones 622 que tienen un tamaño de 32x16, divisiones 624 que tienen un tamaño de 16x32, o divisiones 626 que tienen un tamaño de 16x16.
Similarmente , una unidad de predicción de la unidad de codificación 630 que tiene el tamaño de 16x16 y la profundidad de 2 puede dividirse en divisiones incluidas en la unidad de codificación 630, es decir, una división que tiene un tamaño de 16x16 incluida en la unidad de codificación 630, divisiones 632 que tienen un tamaño de 16x8, divisiones 634 que tienen un tamaño de 8x16, y divisiones 636 que tienen un tamaño de 8x8.
Similarmente, una unidad de predicción de la unidad de codificación 640 que tiene el tamaño de 8x8 y la profundidad de 3 puede dividirse en divisiones incluidas en la unidad de codificación 640, es decir una división que tiene un tamaño de 8x8 incluida en la unidad de codificación 640, es decir, una división que tiene un tamaño de 8x8 incluida en la unidad de codificación 640, divisiones 642 que tienen un tamaño de 8x4, divisiones 644 que tienen un tamaño de 4x8, y divisiones 646 que tienen un tamaño de 4x4.
La unidad de codificación 650 que tiene el tamaño de ?4 y la profundidad de 4 es la unidad de codificación mínima y una unidad de codificación de la profundidad inferior. Una unidad de predicción de la unidad de codificación 650 se asigna únicamente a una división que tiene un tamaño de 4x4.
Con el fin de determinar la por lo menos una profundidad codificada de las unidades de codificación que constituyen la unidad de codificación máxima 610, el determinador de unidad de codificación 120 del aparato de codificación de video 100 realiza codificación para unidades de codificación que corresponden a cada profundidad incluida en la unidad de codificación máxima 610.
Un número de unidades de codificación más profundas de conformidad con profundidades que incluyen datos en el mismo intervalo y el mismo tamaño aumenta a medida que aumenta la profundidad. Por ejemplo, cuatro unidades de codificación que corresponden a" una profundidad de 2 se requieren para cubrir datos que se incluyen en una unidad de codificación que corresponde a una profundidad de 1. Por consiguiente, con el fin de comparar resultados de codificación de los mismos datos de conformidad con 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.
Con el fin de realizar codificación para una profundidad actual de entre las profundidades, puede seleccionarse un error de codificación mínimo para el error actual al realizar 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 jerárquica 600. Alternativamente, puede buscarse el error de codificación mínimo al comparar los errores de codificación mínimos de conformidad con profundidades, al realizar codificación para cada profundidad a medida que aumenta la profundidad a lo largo del eje vertical de la estructura jerárquica 600. Puede seleccionarse una profundidad y una división que tiene el error de codificación mínimo en la unidad de codificación 610 como la profundidad codificada y un tipo de división de la unidad de codificación 610.
La Figura 14 es un diagrama para describir una relación de entre una unidad de codificación 710 y unidades de transformación 720, de conformidad con una modalidad de la presente invención.
El aparato de codificación de video 100 o 200 codifica o decodifica una imagen de conformidad con unidades de codificación que tienen tamaños más pequeñas que o iguales a 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 codificación con base en unidades de datos que son más grandes que una unidad de codificación correspondiente.
Por ejemplo, en el aparato de codificación de video 100 o 200, si un tamaño de la unidad de codificación 710 es 64x64, puede realizarse transformación al utilizar las unidades de transformación 720 que tienen un tamaño de 32x32.
También, pueden codificarse datos de la unidad de codificación 710 que tienen el tamaño de 64x64 al realizar 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 más pequeñas que 64x64, y entonces puede seleccionarse una unidad de transformación que tiene el error de codificación mínimo.
La Figura 15 es un diagrama para describir información de codificación de unidades de codificación que corresponden a una profundidad codificada, de conformidad con una modalidad de la presente invención.
La unidad de salida 130 del aparato de codificación de video 100 puede codificar y transmitir información 800 sobre un tipo de división, información 810 sobre un modo de predicción, e información 820 sobre un tamaño de una unidad de transformación para cada unidad de codificación que corresponde a una profundidad codificada, como información sobre un modo de codificación.
La información 800 representa información sobre una forma de una división obtenida al dividir una unidad de predicción de una unidad de codificación actual, en donde la división es una unidad de datos para codificación de predicción de 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 cualquiera de una división 810 que tiene un tamaño de 2Nx2N, una división 804 que tiene un tamaño de 2NxN, una división 806 que tiene un tamaño de Nx2N, y una división 808 que tiene un tamaño de NxN. Aquí, la información 800 sobre un tipo de división se establece para indicar una de la división 804 que tiene un tamaño de 2NxN, la división 806 que tiene un tamaño de Nx2N, y la división 808 que tiene un tamaño de NxN.
La información 810 indica un modo de predicción de cada división. Por ejemplo, la información 810 puede indicar un modo de codificación de predicción realizado en una división indicada por la información 800, es decir, un intra modo 812, un inter modo 814, o un modo de salto 814.
La información 820 representa una unidad de transformación que se va a basar en cuando se realiza transformación sobre una unidad de codificación actual. Por ejemplo, la unidad de t ansformación puede ser una primera unidad de intra transformación 822, una segunda unidad de intra transformación 824, una primera unidad de inter transformación 826, o una segunda unidad de inter transformación 828.
El extractor de datos de imagen y de información de codificación 220 del aparato de decodificación de video 200 puede extraer y utilizar la información 800, 810, y 820 para decodificación, de conformidad con cada unidad de codificación más profunda.
La Figura 16 es un diagrama de unidades de codificación más profundas de conformidad con profundidades, de conformidad con una modalidad de la presente invención.
La información de división puede utilizarse para indicar un cambio de una profundidad. La información de división representa si una unidad de codificación de una profundidad actual está dividida en unidades de codificación de una profundidad inferior.
Una unidad de predicción 910 para codificación de predicción de una unidad de codificación 900 que tiene una profundidad de 0 y un tamaño de 2N_0x2N_0 puede incluir divisiones de un tipo de división 912 que tiene un tamaño de 2N_0x2N_0, un tipo de división 914 que tiene un tamaño de 2N_0xN_0, un tipo de división 916 que tiene un tamaño de N_0x2N_0 , y un tipo de división 918 que tiene un tamaño de N_0xN_0. La Figura 16 únicamente ilustra los tipos de división 912 a 918 que se obtienen al dividir simétricamente la unidad de predicción 910, pero un tipo de división no está limitado a esto, y las divisiones de la unidad de predicción 910 pueden incluir divisiones asimétricas, divisiones que tienen una forma predeterminada, y divisiones que tienen una forma geométrica .
Se realiza repetidamente codificación de predicción sobre una división que tiene un tamaño de 2N_0x2N_0, dos divisiones que tienen un tamaño de 2N_0xN_0, dos divisiones que tienen un tamaño de N_Ox2N_0, y cuatro divisiones que tienen un tamaño de N_0xN_0, de conformidad con cada tipo de división. La codificación de predicción en un intra modo y un Ínter modo pueden realizarse sobre las divisiones que tienen los tamaños de 2N_0x2N_0, N_0x2N_0, 2N_0xN_0 y N_0xN_0. La codificación de predicción en un modo de salto se realiza únicamente en la división que tiene el tamaño de 2N_0x2N_0.
Se comparan errores de codificación que incluyen la codificación de predicción en los tipos de división 912 a 918, y el error de codificación mínimo se determina entre los tipos de división. Si un error de codificación es más pequeño en uno de los tipos de división 912 a 916, la unidad de predicción 910 puede no dividirse en una profundidad inferior.
Si el error de codificación es el más pequeño en el tipo de división 918, se cambia una profundidad de 0 a 1 para dividir el tipo de división 918 en operación 920, y se realiza repetidamente codificación sobre unidades de codificación 930 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 de predicción 940 para codificación de predicción de la unidad de codificación 930 que tiene una profundidad de 1 y un tamaño de 2N_lx2N_l (=N_0xN_0) puede incluir divisiones de un tipo de división 942 que tienen un tamaño de 2N_lx2N_l, un tipo de división 944 que tiene un tamaño de 2N_lxN_l, un tipo de división 946 que tiene un tamaño de N_lx2N_l, y un tipo de división 948 que tiene un tamaño de N_lxN_l .
Si un error de codificación es el más pequeño en el tipo de división 948, se cambia la profundidad de 1 a 2 para dividir el tipo de división 948 en operación 950, y se realiza repetidamente codificación sobre unidades de codificación 960, 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 conformidad con cada profundidad hasta cuando una profundidad se vuelve d-1, y puede codificarse información de división como hasta cuando una profundidad es uno de 0 a d-2. En otras palabras, cuando se realiza codificación hasta cuando la profundidad es d-1 después que una unidad de codificación que corresponde a una profundidad de d-2 se divide en operación 970, una unidad de predicción 990 para codificación de predicción de una unidad de codificación 980 que tiene una profundidad de d-1 y un tamaño de 2N_ (d- 1 ) 2N_ (d- 1 ) puede incluir divisiones de un tipo de división 992 que tiene un tamaño de 2N_ (d- 1) x2N_ (d- 1) , un tipo de división 994 que tiene un tamaño de 2N_ (d- 1 ) xN_ (d- 1 ) , un tipo de división 996 que tiene un tamaño de N_ (d- 1 ) x2N_ (d- 1 ) , y un tipo de división 998 que tiene un tamaño de N_ (d- 1 ) xN_ (d- 1 ) .
La codificación de predicción puede realizarse repetidamente en una división que tiene un tamaño de 2N_(d-l)x2N_(d-l) , dos divisiones que tienen un tamaño de 2N_ (d- 1) xN_ (d- 1 ) , dos divisiones que tienen un tamaño de N_ (d- 1 ) x2N_ (d- 1 ) , cuatro divisiones que tienen un tamaño de N_(d-l)xN_(d-l) de entre los tipos de división 992 a 998 para buscar un tipo de división que tenga un error de codificación mínimo.
Incluso cuando el tipo de división 998 tiene el error de codificación mínimo, ya que la profundidad máxima es d, una unidad de codificación CU__(d-l) que tiene una profundidad de d-1 ya no se divide una profundidad inferior, y una profundidad codificada para las unidades de codificación que constituyen una unidad de codificación máxima actual 900 se determina para ser d-1 y un tipo de división de la unidad de codificación máxima 900 puede determinarse para ser N_ (d-1) xN_ (d-1) . También, ya que la profundidad máxima es d y una unidad de codificación mínima 980 que tiene una profundidad inferior de d-1 ya no se divide una profundidad inferior, no se establece información de división para la unidad de codificación mínima 980.
Una unidad de datos 999 puede ser una 'unidad mínima' para la unidad de codificación máxima actual. Una unidad mínima de conformidad con una modalidad de la presente invención puede ser una unidad de datos rectangular obtenida al dividir una unidad de codificación mínima 980x4. Al realizar la codificación repetidamente, el aparato de codificación de video 100 puede seleccionar una profundidad que tiene el error de codificación mínimo al comparar errores de codificación de conformidad con profundidades de la unidad de codificación 900 para determinar una profundidad codificada, y establecer un tipo de división correspondiente y un modo de predicción como un modo de codificación de la profundidad codificada.
Como tal, los errores de codificación mínimos de conformidad con profundidades se comparan en todas las profundidades de uno de, y puede determinarse una profundidad que tiene el error de codificación mínimo como una profundidad codificada. La profundidad codificada, el tipo de división de la unidad de predicción, y el modo de predicción pueden codificarse y transmitirse como información sobre un modo de codificación. También, ya que una unidad de codificación se divide de una profundidad de 0 a una profundidad codificada, únicamente información de división de la profundidad codificada se establece a 0, e información de división de profundidades que excluye la profundidad codificada se establece a 1.
El extractor de datos de imagen y de información de codificación 220 del aparato de decodificación de video 200 puede extraer y utilizar la información sobre la profundidad codificada y la unidad de predicción de la unidad de codificación 900 para decodificar la división 912. El aparato de decodificación de video 200 puede determinar una profundidad, en la cual información de división es 0, como una profundidad codificada al utilizar información de división de conformidad con profundidades, y utilizar información sobre un modo de codificación de la profundidad correspondiente para decodificación.
Las Figuras 17 a 19 son diagramas para describir una relación entre unidades de codificación 1010, unidades de predicción 1060, y unidades de transformación 1070, de conformidad con una modalidad de la presente invención.
Las unidades de codificación 1010 son unidades de codificación que tienen una estructura arborescente, correspondiente a profundidades codificadas determinadas por el aparato de codificación de video 100, en una unidad de codificación máxima. Las unidades de predicción 1060 son divisiones de unidades de predicción de cada una de las unidades de codificación 1010, y las unidades de transformación 1070 son unidades de transformación de cada una de las unidades de codificación 1010.
Cuando una profundidad de una unidad de codificación máxima es 0 en las unidades de codificación 1010, profundidades de unidades de codificación 1012 y 1050 son 1, profundidades de unidades de codificación 1014, 1016, 1018, 1028, 1050, y 1052 son 2, profundidades de unidades de codificación 1020, 1022, 1024, 1026, 1030, 1032, y 1048 son 3, y profundidades de unidades de codificación 1040, 1042, 1044, y 1046 son 4.
En las unidades de predicción 1060, se obtienen algunas unidades de codificación 1014, 1016, 1022, 1032, 1048, 1050, 1052, y 1054 al dividir las unidades de codificación en las unidades de codificación 1010. En otras palabras, tipos de división en las unidades de codificación 1014, 1022, 1050, y 1054 tienen un tamaño de 2NxN, tipos de división en las unidades de codificación 1016, 1048, y 1052 tienen un tamaño de Nx2N, y un tipo de división de la unidad de codificación 1032 tiene un tamaño de NxN. Unidades de predicción y divisiones de las unidades de codificación 1010 son más pequeñas que o iguales a cada unidad de codificación.
Se realiza transformación o transformación inversa sobre datos de imagen de la unidad de codificación 1052 en las unidades de transformación 1070 en una unidad de datos que es más pequeña que la unidad de codificación 1052. También, las unidades de codificación 1014, 1016, 1022, 1032, 1048, 1050, y 1052 en las unidades de transformación 1070 son diferentes de aquellas en las unidades de predicción 1060 en términos de tamaños y formas. En otras palabras, los aparatos de codificación y decodificación de video 100 y 200 pueden realizar intra predicción, estimación de movimiento, compensación de movimiento, transformación, y transformación inversa individualmente sobre una unidad de datos en la misma unidad de codificación.
Por consiguiente, se realiza recursivamente codificación sobre cada una de las unidades de codificación que tiene 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 de esa forma pueden obtenerse unidades de codificación que tienen una estructura arborescente recursiva. Información de codificación puede incluir información de división sobre una unidad de codificación, información sobre un tipo de división, información sobre un modo de predicción, e información sobre un tamaño de una unidad de transformación. La Tabla muestra la información de codificación que pue establecerse mediante los aparatos de codificación decodificación de video 100 y 200.
Tabla 1 La unidad de salida 130 del aparato de codificación de video 100 puede enviar la información de codificación sobre las unidades de codificación que tienen una estructura arborescente, y el extractor de datos de imagen y de información de codificación 220 del aparato de decodificación de video 200 extraer la información de codificación sobre las unidades de codificación que tienen una estructura arborescente de una corriente de bits recibida.
Información de división representa sí una unidad de codificación actual está dividida 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 cual una unidad de codificación actual ya no está dividida en una profundidad inferior, es una profundidad codificada, y de esa forma la información sobre un tipo de división, modo de predicción, y un tamaño de una unidad de transformación pueden definirse para la profundidad codificada. Si la unidad de codificación actual además está dividida de conformidad con la información de división, se realiza independientemente codificación sobre cuatro unidades de codificación divididas de una profundidad inferior.
Un modo de predicción puede ser uno de un intra modo, un ínter modo, y un modo de salto. El intra modo y el ínter modo pueden definirse en todos los tipos de división, y el modo de salto se define únicamente en un tipo de división que tiene un tamaño de 2Nx2N.
La información sobre el tipo de división puede indicar tipos de división simétrica que tienen tamaños de 2Nx2N, 2NxN, Nx2N, NxN, que se obtienen al dividir simétricamente una altura o un ancho de una unidad de predicción, y tipos de división asimétrica que tienen tamaños de 2NxnU, 2NxnD, nLx2N y nRx2N, que se obtienen al dividir asimétricamente la altura o ancho de la unidad de predicción. Los tipos de división asimétrica que tienen los tamaños de 2NxnU y 2NxnD pueden obtenerse respectivamente al dividir la altura de la unidad de predicción en 1:3 y 3:1, y los tipos de división asimétrica que tienen los tamaños de nLx2N y nRx2N pueden obtenerse respectivamente al dividir el ancho de la unidad de predicción en 1:3 y 3:1.
El tamaño de la unidad de transformación puede establecerse para ser 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 pues 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 al dividir la unidad de codificación actual. También, si un tipo de división de la unidad de codificación actual que tiene el tamaño de 2Nx2N es un tipo de división simétrica, un tamaño de una unidad de transformación puede ser NxN, y si el tipo de división de la unidad de codificación actual es un tipo de división asimétrica, el tamaño de la unidad de transformación puede ser N/2XN/2.
La información de codificación sobre unidades de codificación que tienen una estructura arborescente puede incluir al menos uno 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 se incluyen unidades de datos adyacentes en la misma unidad de codificación que corresponde a la profundidad codificada al comparar 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 al utilizar información de codificación de una unidad de datos, y de esa forma 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 con base en información de codificación de unidades de datos adyacentes, 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 pueden indicarse directamente y utilizarse.
Alternativamente, si se predice una unidad de codificación actual con base en la información de codificación de unidades de datos adyacentes, unidades de datos adyacentes en la unidad de codificación actual se buscan utilizando información codificada de las unidades de datos, y las unidades de codificación adyacentes buscadas pueden indicarse para predecir la unidad de codificación actual .
La Figura 20 es un diagrama para describir una relación entre una unidad de codificación, una unidad de predicción o una división, y una unidad de transformación, de conformidad con información de modo de codificación de la Tabla 1.
Una unidad de codificación máxima 1300 incluye unidades de codificación 1302, 1304, 1306, 1312, 1314, 1316, y 1318 de profundidades codificadas. Aquí, ya que la unidad de codificación 1318 es una unidad de codificación de una profundidad codificada, información de división puede establecerse a 0. Información sobre un tipo de división de la unidad de codificación 1318 que tiene un tamaño de 2Nx2N puede establecerse a 1 de un tipo de división 1322 que tiene un tamaño de 2Nx2N, un tipo de división 1324 que tiene un tamaño de 2NxN, un tipo de división 1326 que tiene un tamaño de Nx2N, un tipo de división 1328 que tiene un tamaño de NxN, un tipo de división 1332 que tiene un tamaño de 2NxnU, un tipo de división 1334 que tiene un tamaño de 2NxnD, un tipo de división 1336 que tiene un tamaño de nLx2N y un tipo de división 1338 que tiene un tamaño de nRx2N.
Información de división (indicador de tamaño de TU) de una unidad de transformación es una clase de un índice de transformación. Un tamaño de una unidad de transformación que corresponde al índice de transformación puede cambiar de conformidad con un tipo de unidad de predicción o un tipo de división de una unidad de codificación.
Cuando el tipo de división se establece para ser simétrico, es decir, el tipo de división 1322, 1324, 1326, o 1328, se establece una unidad de transformación 1342 que tiene un tamaño de 2Nx2N si la información de división (indicador de tamaño de TU) de una unidad de transformación es 0, y una unidad de transformación 1344 que tiene un tamaño de NxN se establece si un indicador de tamaño de TU es 1.
Cuando se establece el tipo de división para ser asimétrico, es decir, el tipo de división 1332, 1334, 1336, o 1338, se establece una unidad de transformación 1352 que tiene un tamaño de 2Nx2N si un indicador de tamaño de TU es 0, y una unidad de transformación 1354 que tiene un tamaño de N/2xN/2 se establece si un indicador de tamaño de TU es 1.
Al hacer referencia a la Figura 20, el indicador de tamaño de TU es un indicador que tiene un valor de 0 ó 1 , pero el indicador de tamaño de TU no está limitado a 1 bit, y una unidad de transformación puede dividirse jerárquicamente teniendo una estructura arborescente mientras el indicador de tamaño de TU aumenta desde 0. La información de división (indicador de tamaño de TU) de una unidad de transformación puede utilizarse como una modalidad de un índice de transformación .
En este caso, el tamaño de una unidad de transformación que se ha utilizado realmente puede expresarse al utilizar un indicador de tamaño de TU de una unidad de transformación, de conformidad con una modalidad de la presente invención, junto con un tamaño máximo y tamaño mínimo de la unidad transformación. De conformidad con la modalidad de la presente invención, el aparato de codificación de video 100 es capaz de codificar información e tamaño de unidad de transformación máximo, información de tamaño de unidad de transformación mínimo, y un indicador de tamaño de TU máximo. El resultado de codificación de la información de tamaño de unidad de transformación máximo, la información de tamaño de unidad de transformación mínimo, y el indicador de tamaño de TU máximo puede insertarse en un SPS. De conformidad con una modalidad de la presente invención, el aparato de decodificación de video 200 puede decodificar video al utilizar la información de tamaño de unidad de transformación máximo, la información de tamaño de unidad de transformación mínimo, y el indicador de tamaño de TU máximo . or ejemplo, si el tamaño de una unidad de codificación actual es 64x64 y un tamaño de unidad de transformación máximo es 32x32, entonces el tamaño de una unidad transformación puede ser 32x32 cuando un indicador de tamaño de TU es 0, puede ser 16x16 cuando el indicador de tamaño de TU es 1, y puede ser 8x8 cuando el indicador de tamaño de TU es 2.
Como otro ejemplo, (b) si el tamaño de la unidad de codificación actual es 32x32 y un tamaño de unidad de transformación mínimo es 32x32, entonces (b-1) el tamaño de la unidad de transformación puede ser 32x32 cuando el indicador de tamaño de TU es 0. Aquí, el tamaño del indicador de tamaño de TU no puede establecerse a un valor diferente a 0, ya que el tamaño de la unidad de transformación no puede ser menor que 32x32.
Como otro ejemplo, si el tamaño de la unidad de codificación actual es 64x64 y un indicador de tamaño de TU máximo es 1, entonces el indicador de tamaño de TU puede ser 0 ó 1. Aquí, el indicador de tamaño de TU no puede establecerse a un valor diferente a 0 ó 1.
De esa forma, si se define que el indicador de tamaño de TU máximo es ?MaxTransformSizeIndex' , un tamaño de unidad de transformación mínimo es 'MinTransformSize ' , y un tamaño de unidad de transformación es (RootTuSize' cuando el indicador de tamaño de TU es 0, entonces un tamaño de unidad de transformación mínimo actual ? CurrMinTuSize ' que puede determinarse en una unidad de codificación actual, puede definirse por Ecuación (1) : CurrMinTuSize=ma (MinTransformSize , RootTuSize/ (2AMaxTransformSizeIndex) ) (1) Comparado con el tamaño de unidad de transformación mínimo actual ' CurrMinTuSize' que puede determinarse en la unidad de codificación actual, el tamaño de unidad de transformación 'RootTuSize' cuando el indicador de tamaño de TU es 0 puede denotar un tamaño de unidad de transformación máximo que puede seleccionarse en el sistema. En Ecuación (1), 'RootTuSize/ (2AMaxTransformSizeIndex) ' denota un tamaño de unidad de transformación cuando el tamaño de unidad de transformación 'RootTuSize', cuando el indicador de tamaño de TU es 0, se divide un número de veces que corresponde al indicador de tamaño de TU máximo, y 'MinTransformSize' denota un tamaño de transformación mínimo. De esa forma, un valor más pequeño de entre 'RootTuSize/ (2^MaxTransformSizeIndex) ' y 'MinTransformSize' puede ser el tamaño de unidad de transformación mínimo actual 'CurrMinTuSize' que puede de terminarse en la unidad de codificación actual.
De conformidad con una modalidad de la presente invención, el tamaño de unidad de transformación de raíz 'RootTuSize' puede variar de conformidad con el tipo de un modo de predicción.
Por ejemplo, si un modo de predicción actual es un inter modo, entonces v RootTuSize' puede determinarse al utilizar Ecuación (2) a continuación. En Ecuación (2), 'MaxTransformSize' denota un tamaño de unidad de transformación máximo, y 'PUSize' denota un tamaño de unidad de predicción actual.
RootTuSize=min (MaxTransformSize , PUSize) (2) Es decir, si el modo de predicción actual es el inter modo, el tamaño de unidad de transformación 1 RootTuSize' cuando el indicador de tamaño de TU es 0 puede ser un valor más pequeño de entre el tamaño de unidad de transformación máximo y el tamaño de unidad de predicción actual .
Si un modo de predicción de una unidad de división actual es un intra modo, 'RootTuSize' puede determinarse el utilizar Ecuación (3) a continuación. En Ecuación (3), ¾ PartitionSize ' denota el tamaño de la unidad de división actual .
RootTuSize=min (MaxTransformSize , PartitionSize) ... ( 3 ) Es decir, si el modo de predicción actual es el intra modo, el tamaño de unidad de transformación 'RootTuSize' cuando el indicador de tamaño de TU es 0 puede ser un valor más pequeño de entre el tamaño de unidad de transformación máximo y el tamaño de la unidad de predicción actual . sin embargo, el tamaño de unidad de transformación máximo actual v RootTuSize' que varía de conformidad con el tipo de modo de predicción en una unidad de división es sólo un ejemplo y la presente invención no está limitada esto.
De conformidad con el método de codificación de video con base en unidades de codificación de la estructura arborescente descrita anteriormente con referencia a las Figuras 8 y 20, pueden codificarse datos de imagen de un dominio espacial para cada unidad de codificación de estructura arborescente, y pueden restaurarse datos de imagen del dominio espacial cuando se realiza decodificación para cada unidad de codificación máxima de conformidad con el método de decodificación de video con base en unidades de codificación de la estructura arborescente, y de esa forma puede restaurarse video que incluye una ilustración de una secuencia de ilustración. Puede reproducirse video restaurado por un aparato de reproducción, almacenado en un medio de almacenamiento, o transmitido sobre una red.
También, puede codificarse y transmitirse o recibirse y decodificarse parámetros de desplazamiento para cada imagen, cada fragmento, o cada unidad de codificación máxima, o para cada unidad de codificación de la estructura arborescente, o una unidad de predicción de una unidad de codificación, o una unidad de transformación de la unidad de codificación. Por ejemplo, se ajustan valores de pixel restaurados de unidades de codificación máximas al utilizar valores de desplazamiento restaurados con base en un parámetro de desplazamiento recibido para cada unidad de codificación máxima, y de esa forma puede restaurarse un bloque restaurado que tiene un error mínimo con respecto a un bloque original .
Las modalidades de la presente invención pueden escribirse como programas de computadora y pueden implementarse en computadoras digitales de uso general que ejecutan los programas utilizando un medio de grabación legible por computadora. Ejemplos del medio de grabación legible por computadora incluyen medios de almacenamiento magnético (por ejemplo, ROM, discos flexibles, discos duros, etc.) y medios de grabación ópticos (por ejemplo, CD-ROM, o DVD) .
Aunque esta invención ha sido particularmente mostrada y descrita con referencia a modalidades preferidas de la misma, se entenderá por aquellos expertos en la técnica que pueden hacerse ahí varios cambios en forma y detalles sin apartarse del espíritu y alcance de la invención como se definió por las reivindicaciones anexas. Las modalidades preferidas deben considerarse en un sentido descriptivo únicamente y no para propósitos de limitación. Por lo tanto, el alcance de la invención se define no por la descripción detallada de la invención sino por las reivindicaciones anexas, y se interpretarán todas las diferencias dentro del alcance como estando incluidas en la presente invención.
Se hace constar que con relación a esta fecha, el mejor método conocido por la solicitante para llevar a la práctica la citada invención, es el que resulta claro de la presente descripción de la invención.

Claims (15)

REIVINDICACIONES Habiéndose descrito la invención como antecede, se reclama como propiedad lo contenido en las siguientes reivindicaciones:
1.- Un método de decodificación de video, caracterizado porque comprende: analizar información de fusión de desplazamiento que indica sí parámetros de desplazamiento de un bloque actual y al menos un bloque vecino de entre bloques de video son idénticos entre sí con la corriente de bits recibida; restaurar un tipo de desplazamiento y valores de desplazamiento de entre el parámetro de desplazamiento del bloque actual con base en la información de fusión de desplazamiento; determinar una clase de borde o una banda de valor de pixel de un pixel restaurado del bloque actual con base en el tipo de borde o un tipo de banda de valor de pixel del bloque actual que indica el tipo de desplazamiento; y determinar un valor de desplazamiento que corresponde a la clase de borde o la banda de valor de pixel del pixel restaurado de los valores de desplazamiento y ajustar el valor de pixel del pixel restaurado de conformidad con el valor de desplazamiento.
2. - El método de decodificación de video de conformidad con la reivindicación 1, caracterizado porque la determinación de la clase de borde o la banda de valor de pixel del pixel restaurado comprende: en un caso cuando un tipo de desplazamiento del bloque actual es el tipo de borde, comparar valores de pixel de un pixel actualmente restaurado y pixeles vecinos del pixel actualmente restaurado dispuesto de conformidad con el tipo de borde y un tamaño de borde, y determinar la clase de borde que indica si el pixel actualmente restaurado es un pixel de borde, en donde el ajuste del valor de pixel del pixel restaurado de conformidad con el valor de desplazamiento comprende : en un caso en donde los valores de desplazamiento comprenden valores de desplazamiento que corresponden a clases de borde distribuidas a un tipo de desplazamiento actual, determinar un valor de desplazamiento que corresponde a una clase de borde del pixel actualmente restaurado de los valores de desplazamiento.
3. - El método de decodificación de video de conformidad con la reivindicación 1, caracterizado porque la determinación de la clase de borde o la banda de valor de pixel del pixel restaurado comprende: en un caso en donde el tipo de desplazamiento del bloque actual es el tipo de banda de valor de pixel, determinar la banda de valor de pixel que indica un intervalo de valor de pixel al cual pertenece el valor de pixel del pixel actualmente restaurad6o de entre una pluralidad de bandas , en donde el ajuste del valor de pixel del pixel restaurado de conformidad con el valor de desplazamiento comprende : en un caso en donde los valores de desplazamiento comprenden valores de desplazamiento que corresponden a bandas de valor de pixel distribuidas a un tipo de desplazamiento actual, determinar un valor de desplazamiento que corresponde a una banda de valor de pixel del pixel actualmente restaurado de los valores de desplazamiento.
4.- El método de decodificación de video de conformidad con la reivindicación 1, caracterizado porque la restauración del tipo de desplazamiento y los valores de desplazamiento comprende: si al menos un parámetro de desplazamiento de un bloque izquierdo y un bloque superior del bloque actual es idéntico al parámetro de desplazamiento del bloque actual con base en la información de fusión de desplazamiento, restaurar el parámetro de desplazamiento del bloque actual como el mismo que al menos un parámetro de desplazamiento del bloque izquierdo y el bloque superior del bloque actual .
5.- El método de decodificación de video de conformidad con la reivindicación 1, caracterizado porque la restauración del tipo de desplazamiento y los valores de desplazamiento comprende: si al menos un parámetro de desplazamiento de un bloque izquierdo y un bloque superior del bloque actual es diferente del parámetro de desplazamiento del bloque actual con base en la información de fusión de desplazamiento, analizar y restaurar el parámetro de desplazamiento del bloque actual de la corriente de bits recibida.
6.- El método de decodificación de video de conformidad con la reivindicación 1, caracterizado porque la restauración del tipo de desplazamiento y los valores de desplazamiento comprende: realizar predicción y restauración sobre parámetros de desplazamiento de al menos un componente de color entre un componente luma y componentes croma del bloque actual al indicar parámetros de desplazamiento del otro entre los parámetros de desplazamiento.
7. - El método de decodificación de video de conformidad con la reivindicación 1, caracterizado porque el valor de desplazamiento es un promedio de valores de diferencia entre pixeles restaurados y pixeles originales incluidos en la misma clase de borde o la misma banda de valor de pixel.
8. - Un método de codificación de video, caracterizado porque comprende: determinar una clase de borde de conformidad con un tipo de borde de un bloque actual de entre bloques de video o una banda de valor de pixel de conformidad con un tipo de banda de valor de pixel del mismo; determinar un valor de desplazamiento que corresponde a la clase de borde o la banda de valor de pixel al utilizar valores de diferencia entre pixeles restaurados y pixeles originales incluidos en la clase de borde o la banda de valor de pixel; y cuando un parámetro de desplazamiento de cada bloque comprende un tipo de desplazamiento que indica el tipo de borde o el tipo de banda de valor de pixel y un desplazamiento que corresponde a la clase de borde o la banda de valor de pixel, con base en identidades entre parámetros de desplazamiento del bloque actual y al menos un bloque vecino información de fusión de desplazamiento de codificación del bloque actual que indica si se codifica el parámetro de desplazamiento del bloque actual.
9.- El método de decodificación de video de conformidad con la reivindicación 8, caracterizado porque la determinación de la clase de borde y la banda de valor de pixel comprende: en un caso en donde se determina un desplazamiento del bloque actual de conformidad con el tipo de borde, comparar valores de pixel de un pixel actualmente restaurado y pixeles vecinos del pixel actualmente restaurado dispuesto de conformidad con el tipo de borde y un tamaño de borde, y determinar la clase de borde que indica si el pixel actualmente restaurado es un pixel de borde.
10. - El método de decodificación de video de conformidad con la reivindicación 8, caracterizado porque la determinación de la clase de borde y la banda de valor de pixel comprende: en un caso en donde se determina un desplazamiento del bloque actual de conformidad con tipos de banda de valor de pixel de los pixeles restaurados, determinar la banda de valor de pixel que indica un intervalo de valor de pixel al cual pertenece un valor de pixel de un pixel actualmente restaurado de entre una pluralidad de bandas .
11. - El método de decodificación de video de conformidad con la reivindicación 8, caracterizado porque la codificación de la información de fusión de desplazamiento del bloque actual comprende: sí al menos un parámetro de desplazamiento de un bloque izquierdo y un bloque superior del bloque actual es idéntico al parámetro de desplazamiento del bloque actual, codificar la información de fusión de desplazamiento que excluye el parámetro de desplazamiento del bloque actual .
12. - El método de decodificación de video de conformidad con la reivindicación 8, caracterizado porque la determinación del valor de desplazamiento que corresponde a la clase de borde o la banda de valor de pixel comprende : determinar el valor de desplazamiento que es un promedio de valores de diferencia entre pixeles restaurados y pixeles originales incluidos en la misma clase de borde o la misma banda de valor de pixel .
13.- Un aparato de decodificación de video, caracterizado porque comprende: una unidad de análisis de parámetro de desplazamiento para analizar información de fusión de desplazamiento que indica sí parámetros de desplazamiento de un bloque actual y al menos un bloque vecino de entre bloques de video son idénticos entre sí de una corriente de bits recibida, restaurar un tipo de desplazamiento y valores de desplazamiento de entre el parámetro de desplazamiento del bloque actual con base en la información de fusión de desplazamiento; y una unidad de ajuste de desplazamiento para determinar una clase de borde o una banda de valor de pixel de un pixel restaurado con base en un tipo de borde o un tipo de banda de valor de pixel del bloque actual que indica el tipo de desplazamiento, y determinar un valor de desplazamiento que corresponde a la clase de borde o la banda de valor de pixel del pixel restaurado de los valores de desplazamiento y ajustar un valor de pixel del pixel restaurado de conformidad con el valor de desplazamiento.
14. - Un aparato de codificación de video, caracterizado porque comprende: una unidad de determinación de desplazamiento para determinar una clase de borde de conformidad con un tipo de borde de un bloque actual de entre bloques de video o una banda de valor de pixel de conformidad con un tipo de banda de valor de pixel del mismo, y determinar un valor de desplazamiento que corresponde a la clase de borde o la banda de valor de pixel al utilizar valores de diferencia entre pixeles restaurados y pixeles originales incluidos en la clase de borde o la banda de valor de pixel; y una unidad de codificación de parámetro de desplazamiento para, cuando un parámetro de desplazamiento de cada bloque comprende un tipo de desplazamiento que indica el tipo de borde o el tipo de banda de valor del pixel y un desplazamiento que corresponde a la clase de borde o la banda de valor de pixel, con base en identidades entre parámetros de desplazamiento del bloque actual y al menos un bloque vecino, codificar información de función de desplazamiento de codificación del bloque actual que indica si se codifica el parámetro de desplazamiento del bloque actual.
15. - Un medio de grabación legible por computadora, caracterizado porque tiene grabado en él un programa para ejecutar el método de conformidad con cualquiera de las reivindicaciones 1 y 8.
MX2014000046A 2011-06-28 2012-06-27 Metodo de codificacion de video que utiliza ajustes de desplazamiento de comformidad clasificacion de pixel y aparato para ello, metodo de decodificacion de video y aparato para ello. MX2014000046A (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201161502018P 2011-06-28 2011-06-28
PCT/KR2012/005086 WO2013002554A2 (ko) 2011-06-28 2012-06-27 픽셀 분류에 따른 오프셋 조정을 이용하는 비디오 부호화 방법 및 그 장치, 비디오 복호화 방법 및 그 장치

Publications (1)

Publication Number Publication Date
MX2014000046A true MX2014000046A (es) 2014-02-17

Family

ID=47424664

Family Applications (4)

Application Number Title Priority Date Filing Date
MX2015002714A MX338669B (es) 2011-06-28 2012-06-27 Metodo de codificacion de video que utiliza ajustes de desplazamiento de conformidad con clasificacion de pixel y aparato para ello, metodo de decodificacion de video y aparato para ello.
MX2014000046A MX2014000046A (es) 2011-06-28 2012-06-27 Metodo de codificacion de video que utiliza ajustes de desplazamiento de comformidad clasificacion de pixel y aparato para ello, metodo de decodificacion de video y aparato para ello.
MX2015002715A MX338670B (es) 2011-06-28 2012-06-27 Metodo de codificacion de video que utiliza ajustes de desplazamiento de conformidad con clasificacion de pixel y aparato para ello, metodo de decodificacion de video y aparato para ello.
MX2015002713A MX337235B (es) 2011-06-28 2012-06-27 Metodo de codificacion de video que utiliza ajustes de desplazamiento de conformidad con clasificacion de pixel y aparato para ello, metodo de decodificacion de video y aparato para ello.

Family Applications Before (1)

Application Number Title Priority Date Filing Date
MX2015002714A MX338669B (es) 2011-06-28 2012-06-27 Metodo de codificacion de video que utiliza ajustes de desplazamiento de conformidad con clasificacion de pixel y aparato para ello, metodo de decodificacion de video y aparato para ello.

Family Applications After (2)

Application Number Title Priority Date Filing Date
MX2015002715A MX338670B (es) 2011-06-28 2012-06-27 Metodo de codificacion de video que utiliza ajustes de desplazamiento de conformidad con clasificacion de pixel y aparato para ello, metodo de decodificacion de video y aparato para ello.
MX2015002713A MX337235B (es) 2011-06-28 2012-06-27 Metodo de codificacion de video que utiliza ajustes de desplazamiento de conformidad con clasificacion de pixel y aparato para ello, metodo de decodificacion de video y aparato para ello.

Country Status (16)

Country Link
US (7) US9426482B2 (es)
EP (3) EP2887669A1 (es)
JP (6) JP5964422B2 (es)
KR (6) KR101457398B1 (es)
CN (6) CN104980758A (es)
AU (3) AU2012276452B2 (es)
BR (5) BR122021004578B1 (es)
CA (2) CA3016913C (es)
MX (4) MX338669B (es)
MY (3) MY193778A (es)
PH (4) PH12017501636A1 (es)
RU (3) RU2581553C2 (es)
SG (4) SG10201408720TA (es)
TW (5) TWI669955B (es)
WO (1) WO2013002554A2 (es)
ZA (1) ZA201400649B (es)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9378560B2 (en) 2011-06-17 2016-06-28 Advanced Micro Devices, Inc. Real time on-chip texture decompression using shader processors
WO2013001794A1 (ja) * 2011-06-27 2013-01-03 パナソニック株式会社 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置、及び画像符号化復号装置
BR122021004578B1 (pt) 2011-06-28 2022-07-26 Samsung Electronics Co., Ltd Método de decodificação de vídeo
JP5907367B2 (ja) 2011-06-28 2016-04-26 ソニー株式会社 画像処理装置および方法、プログラム、並びに記録媒体
MX2014000159A (es) 2011-07-02 2014-02-19 Samsung Electronics Co Ltd Metodo y aparato para la codificacion de video, y metodo y aparato para la decodificacion de video acompañada por inter prediccion utilizando imagen co-localizada.
GB201119206D0 (en) 2011-11-07 2011-12-21 Canon Kk Method and device for providing compensation offsets for a set of reconstructed samples of an image
US9277194B2 (en) 2011-11-08 2016-03-01 Texas Instruments Incorporated Method and apparatus for image and video coding using hierarchical sample adaptive band offset
US9253482B2 (en) * 2011-11-08 2016-02-02 Texas Insturments Incorporated Method and apparatus for sample adaptive offset without sign coding
RU2652505C1 (ru) 2011-12-22 2018-04-26 Самсунг Электроникс Ко., Лтд. Способ кодирования видео с использованием регулировки смещения согласно классификации пикселей посредством максимальных единиц кодирования и устройство для этого, способ декодирования видео и устройство для этого
KR102113985B1 (ko) * 2012-01-19 2020-05-22 미쓰비시덴키 가부시키가이샤 화상 복호 장치, 화상 부호화 장치, 화상 복호 방법, 화상 부호화 방법 및 기억 매체
HUE047710T2 (hu) * 2012-06-11 2020-05-28 Samsung Electronics Co Ltd Videók kódolása és dekódolása SAO paraméterek megosztásával színkomponens szerint
US9635360B2 (en) * 2012-08-01 2017-04-25 Mediatek Inc. Method and apparatus for video processing incorporating deblocking and sample adaptive offset
WO2014052731A2 (en) 2012-09-28 2014-04-03 Vid Scale, Inc. Cross-plane filtering for chroma signal enhancement in video coding
EP2905961A4 (en) * 2012-10-05 2016-07-06 Lg Electronics Inc METHOD AND DEVICE FOR PROCESSING A VIDEO SIGNAL
IN2013MU01146A (es) * 2013-03-26 2015-04-24 Tektronix Inc
JP6473078B2 (ja) * 2013-04-05 2019-02-20 シャープ株式会社 画像復号装置
CN110072106B (zh) * 2013-12-13 2022-06-07 北京三星通信技术研究有限公司 视频编解码中像素处理的方法和装置
JP6253406B2 (ja) * 2013-12-27 2017-12-27 キヤノン株式会社 画像符号化装置、撮像装置、画像符号化方法、及びプログラム
EP3104615B1 (en) * 2014-02-03 2019-03-27 Mitsubishi Electric Corporation Moving image encoding device and moving image encoding method
WO2016119746A1 (zh) * 2015-01-29 2016-08-04 同济大学 图像编码方法及装置、图像解码方法及装置
US10609377B2 (en) 2015-05-12 2020-03-31 Samsung Electronics Co., Ltd. Image encoding method and device for sample value compensation and image decoding method and device for sample value compensation
KR102460912B1 (ko) * 2015-07-08 2022-10-28 인터디지털 매디슨 페턴트 홀딩스 에스에이에스 교차 평면 필터링을 이용한 향상된 크로마 코딩
JP6094838B2 (ja) * 2015-08-31 2017-03-15 ソニー株式会社 画像処理装置および方法、プログラム、並びに記録媒体
KR102423880B1 (ko) 2015-10-06 2022-07-21 삼성전자주식회사 인코더의 작동방법과 상기 인코더를 포함하는 시스템 온 칩의 작동 방법
WO2017086740A1 (ko) * 2015-11-18 2017-05-26 한국전자통신연구원 인루프 필터를 이용한 비디오 복호화 방법 및 이를 위한 장치
CN109076217A (zh) 2016-05-02 2018-12-21 索尼公司 图像处理装置和图像处理方法
KR101981687B1 (ko) * 2016-05-04 2019-05-24 한국항공대학교산학협력단 오프셋 정보 부호화 및 복호화 방법 및 장치
CN106130562B (zh) * 2016-06-15 2019-09-06 中国石油集团渤海钻探工程有限公司 一种随钻测井数据实时压缩方法及解压缩方法
JP6229030B2 (ja) * 2016-10-06 2017-11-08 株式会社三共 遊技機
CN110169063B (zh) 2017-01-12 2022-03-01 索尼公司 图像处理装置和图像处理方法
JP6341304B2 (ja) * 2017-02-14 2018-06-13 ソニー株式会社 画像処理装置および方法、プログラム、並びに記録媒体
EP3471413A1 (en) * 2017-10-10 2019-04-17 Thomson Licensing Encoding and decoding methods and corresponding devices
KR102356262B1 (ko) 2018-03-27 2022-02-08 주식회사 윌러스표준기술연구소 모션 보상을 이용하는 비디오 신호 처리 방법 및 장치
TWI678107B (zh) 2018-05-16 2019-11-21 香港商京鷹科技股份有限公司 影像傳輸方法及其系統與影像傳送端裝置
US11317099B2 (en) 2018-10-05 2022-04-26 Tencent America LLC Method and apparatus for signaling an offset in video coding for intra block copy and/or inter prediction
CN113453005B (zh) * 2020-03-26 2022-11-01 杭州海康威视数字技术股份有限公司 解码方法、编码方法、装置及设备
WO2021247883A1 (en) 2020-06-03 2021-12-09 Beijing Dajia Internet Information Technology Co., Ltd. Chroma coding enhancement in cross-component correlation

Family Cites Families (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4661862A (en) 1984-04-27 1987-04-28 Rca Corporation Differential PCM video transmission system employing horizontally offset five pixel groups and delta signals having plural non-linear encoding functions
US4971407A (en) 1989-08-09 1990-11-20 Unisys Corp. Two stage run and string data compressor providing doubly compressed output
US6043838A (en) * 1997-11-07 2000-03-28 General Instrument Corporation View offset estimation for stereoscopic video coding
US6418166B1 (en) * 1998-11-30 2002-07-09 Microsoft Corporation Motion estimation and block matching pattern
US20020122595A1 (en) 1999-06-04 2002-09-05 Rikk Crill Apparatus and method for radial and angular or rotational analysis of images for shape content and matching
FI116819B (fi) * 2000-01-21 2006-02-28 Nokia Corp Menetelmä kuvien lähettämiseksi ja kuvakooderi
US20040208247A1 (en) 2001-07-10 2004-10-21 Eric Barrau Method and device for generating a scalable coded video signal from a non-scalable coded video signal
JP2003230147A (ja) * 2002-02-01 2003-08-15 Matsushita Electric Ind Co Ltd 映像信号符号化装置およびその方法
CN101631248B (zh) * 2002-04-18 2011-09-14 株式会社东芝 运动图像编码/解码方法和装置
US8406301B2 (en) 2002-07-15 2013-03-26 Thomson Licensing Adaptive weighting of reference pictures in video encoding
KR20060109247A (ko) 2005-04-13 2006-10-19 엘지전자 주식회사 베이스 레이어 픽처를 이용하는 영상신호의 엔코딩/디코딩방법 및 장치
US7680342B2 (en) * 2004-08-16 2010-03-16 Fotonation Vision Limited Indoor/outdoor classification in digital images
US20050047504A1 (en) 2003-09-03 2005-03-03 Sung Chih-Ta Star Data stream encoding method and apparatus for digital video compression
US7400681B2 (en) 2003-11-28 2008-07-15 Scientific-Atlanta, Inc. Low-complexity motion vector prediction for video codec with two lists of reference pictures
NO319629B1 (no) 2003-11-28 2005-09-05 Tandberg Telecom As Fremgangsmate for korrigering av interpolerte pikselverdier
US7233164B2 (en) * 2003-12-17 2007-06-19 Rambus Inc. Offset cancellation in a multi-level signaling system
US20050232497A1 (en) * 2004-04-15 2005-10-20 Microsoft Corporation High-fidelity transcoding
JP2006032999A (ja) * 2004-07-12 2006-02-02 Sharp Corp 画像復号装置及び画像復号方法
MX2007000369A (es) * 2004-07-29 2007-03-12 Microsoft Corp Procesamiento de imagen utilizando valores ligeros y otras mejoras de procesamiento de imagen.
US8472699B2 (en) * 2006-11-22 2013-06-25 Board Of Trustees Of The Leland Stanford Junior University Arrangement and method for three-dimensional depth image construction
US8068673B2 (en) 2006-12-01 2011-11-29 Beihang University Rapid and high precision centroiding method and system for spots image
EP2130374A4 (en) 2007-03-23 2011-03-02 Lg Electronics Inc METHOD AND ARRANGEMENT FOR DECODING / CODING A VIDEO SIGNAL
US7983496B2 (en) 2007-06-26 2011-07-19 Mitsubishi Electric Research Laboratories, Inc. Inverse tone mapping for bit-depth scalable image coding adapted to variable block sizes
EP2249572A4 (en) 2008-03-07 2012-05-23 Toshiba Kk METHOD AND DEVICE FOR DYNAMIC IMAGE CODING / DECODING
US9078007B2 (en) * 2008-10-03 2015-07-07 Qualcomm Incorporated Digital video coding with interpolation filters and offsets
TWI386068B (zh) * 2008-10-22 2013-02-11 Nippon Telegraph & Telephone 解塊處理方法、解塊處理裝置、解塊處理程式及記錄該程式之可由電腦讀取之記錄媒體
KR101700358B1 (ko) 2009-12-09 2017-01-26 삼성전자주식회사 영상의 부호화 방법 및 장치, 그 복호화 방법 및 장치
US9094658B2 (en) * 2010-05-10 2015-07-28 Mediatek Inc. Method and apparatus of adaptive loop filtering
US8861617B2 (en) 2010-10-05 2014-10-14 Mediatek Inc Method and apparatus of region-based adaptive loop filtering
US9055305B2 (en) * 2011-01-09 2015-06-09 Mediatek Inc. Apparatus and method of sample adaptive offset for video coding
WO2012092841A1 (en) 2011-01-03 2012-07-12 Mediatek Inc. Method of filter-unit based in-loop filtering
WO2012092787A1 (en) * 2011-01-09 2012-07-12 Mediatek Inc. Apparatus and method of efficient sample adaptive offset
US9161041B2 (en) * 2011-01-09 2015-10-13 Mediatek Inc. Apparatus and method of efficient sample adaptive offset
CN105120271B (zh) * 2011-04-21 2018-05-15 寰发股份有限公司 视频编解码方法与装置
US9008170B2 (en) 2011-05-10 2015-04-14 Qualcomm Incorporated Offset type and coefficients signaling method for sample adaptive offset
CN103535035B (zh) 2011-05-16 2017-03-15 寰发股份有限公司 用于亮度和色度分量的样本自适应偏移的方法和装置
US20120294353A1 (en) * 2011-05-16 2012-11-22 Mediatek Inc. Apparatus and Method of Sample Adaptive Offset for Luma and Chroma Components
JP2014514833A (ja) 2011-06-10 2014-06-19 メディアテック インコーポレイテッド スケーラブルビデオコーディングの方法及び装置
US9860528B2 (en) 2011-06-10 2018-01-02 Hfi Innovation Inc. Method and apparatus of scalable video coding
PL2725797T3 (pl) 2011-06-23 2019-01-31 Huawei Technologies Co., Ltd. Urządzenie do dekodowania przesunięcia, urządzenie do kodowania przesunięcia, urządzenie do filtrowania obrazu i struktura danych
BR122021004578B1 (pt) 2011-06-28 2022-07-26 Samsung Electronics Co., Ltd Método de decodificação de vídeo

Also Published As

Publication number Publication date
JP2015164331A (ja) 2015-09-10
CA2840583A1 (en) 2013-01-03
TW201813402A (zh) 2018-04-01
US9438921B2 (en) 2016-09-06
ZA201400649B (en) 2014-11-26
JP2015128332A (ja) 2015-07-09
US9438922B2 (en) 2016-09-06
MY192854A (en) 2022-09-13
BR112013033701A2 (pt) 2019-04-09
PH12017501636B1 (en) 2018-04-23
AU2018202603B2 (en) 2019-07-18
US9426483B2 (en) 2016-08-23
CN104980756A (zh) 2015-10-14
SG10201408716TA (en) 2015-02-27
TWI615022B (zh) 2018-02-11
RU2014102576A (ru) 2015-08-10
BR122021004576B1 (pt) 2022-07-26
JP5965021B2 (ja) 2016-08-03
KR20150041772A (ko) 2015-04-17
MX338669B (es) 2016-04-27
US9426482B2 (en) 2016-08-23
KR101603690B1 (ko) 2016-03-15
PH12017501633A1 (en) 2018-04-23
US20160337656A1 (en) 2016-11-17
MY193771A (en) 2022-10-27
AU2016204005A1 (en) 2016-07-07
PH12017501636A1 (en) 2018-04-23
US20150139335A1 (en) 2015-05-21
EP2728865A2 (en) 2014-05-07
CN103959776A (zh) 2014-07-30
JP5965022B2 (ja) 2016-08-03
SG10201408715UA (en) 2015-02-27
BR122021004575B1 (pt) 2022-07-26
CN104980758A (zh) 2015-10-14
KR20140075657A (ko) 2014-06-19
BR112013033701B1 (pt) 2022-08-02
KR101906506B1 (ko) 2018-12-07
KR101603678B1 (ko) 2016-03-15
EP2849444A2 (en) 2015-03-18
CA2840583C (en) 2018-10-23
CN104980757A (zh) 2015-10-14
WO2013002554A2 (ko) 2013-01-03
US20150163516A1 (en) 2015-06-11
TW201537967A (zh) 2015-10-01
BR122021004574B1 (pt) 2022-07-26
RU2632139C1 (ru) 2017-10-02
EP2887669A1 (en) 2015-06-24
MX338670B (es) 2016-04-27
CN105049864A (zh) 2015-11-11
TW201640901A (zh) 2016-11-16
PH12017501634B1 (en) 2018-04-23
JP2014523183A (ja) 2014-09-08
RU2581553C2 (ru) 2016-04-20
EP2849444A3 (en) 2015-06-24
BR122021004578B1 (pt) 2022-07-26
AU2012276452B2 (en) 2016-03-31
AU2012276452A1 (en) 2014-01-30
US9462288B2 (en) 2016-10-04
KR20150039143A (ko) 2015-04-09
MY193778A (en) 2022-10-27
US20180324450A1 (en) 2018-11-08
KR101603685B1 (ko) 2016-03-15
US20150131742A1 (en) 2015-05-14
JP5964480B2 (ja) 2016-08-03
JP2015128333A (ja) 2015-07-09
JP5964422B2 (ja) 2016-08-03
KR20140146559A (ko) 2014-12-26
CA3016913A1 (en) 2013-01-03
JP2016197890A (ja) 2016-11-24
MX337235B (es) 2016-02-18
US10038911B2 (en) 2018-07-31
SG10201408726QA (en) 2015-02-27
TWI521970B (zh) 2016-02-11
US10542273B2 (en) 2020-01-21
TWI549492B (zh) 2016-09-11
TW201309030A (zh) 2013-02-16
CA3016913C (en) 2020-03-10
KR20130002284A (ko) 2013-01-07
SG10201408720TA (en) 2015-01-29
US20150163502A1 (en) 2015-06-11
US20140192891A1 (en) 2014-07-10
TW201739259A (zh) 2017-11-01
PH12017501633B1 (en) 2018-04-23
CN104994393A (zh) 2015-10-21
JP5964479B2 (ja) 2016-08-03
JP2015128334A (ja) 2015-07-09
KR20150039144A (ko) 2015-04-09
EP2728865A4 (en) 2016-03-16
PH12017501635A1 (en) 2018-04-23
TWI601418B (zh) 2017-10-01
TWI669955B (zh) 2019-08-21
AU2018202603A1 (en) 2018-05-10
AU2016204005B2 (en) 2018-01-18
KR101603688B1 (ko) 2016-03-15
PH12017501634A1 (en) 2018-04-23
KR101457398B1 (ko) 2014-11-04
WO2013002554A3 (ko) 2013-04-11
JP6181246B2 (ja) 2017-08-16
PH12017501635B1 (en) 2018-04-23
RU2663331C1 (ru) 2018-08-03

Similar Documents

Publication Publication Date Title
AU2018202603B2 (en) Video encoding method using offset adjustments according to pixel classification and apparatus there
AU2016201368B2 (en) Method and apparatus for coding video and method and apparatus for decoding video, accompanied with
AU2017200249B2 (en) Method and apparatus for coding video, and method and apparatus for decoding video accompanied by inter prediction using collocated image
CA2890992C (en) Method and apparatus for encoding and decoding video, based on the hierarchical structure of coding unit
AU2010283045B2 (en) Method and apparatus for encoding video, and method and apparatus for decoding video
AU2010328813B2 (en) Method and apparatus for encoding video by motion prediction using arbitrary partition, and method and apparatus for decoding video by motion prediction using arbitrary partition
MX2014000172A (es) Metodo y aparato para codificar video y metodo y aparato para decodificar video acompañados por una codificacion aritmetica.
SG192515A1 (en) Method and apparatus for encoding video and method and apparatus for decoding video by considering skip and split order
AU2013202016B2 (en) Method and apparatus for encoding video, and method and apparatus for decoding video
AU2014218479B2 (en) Method and apparatus for encoding video by motion prediction using arbitrary partition, and method and apparatus for decoding video by motion prediction using arbitrary partition

Legal Events

Date Code Title Description
FG Grant or registration