ES2687522T3 - Procedimiento de actualización de parámetros para decodificar de entropía del nivel de coeficiente de conversión, y dispositivo de decodificación de entropía del nivel de coeficiente de conversión utilizando el mismo - Google Patents

Procedimiento de actualización de parámetros para decodificar de entropía del nivel de coeficiente de conversión, y dispositivo de decodificación de entropía del nivel de coeficiente de conversión utilizando el mismo Download PDF

Info

Publication number
ES2687522T3
ES2687522T3 ES13778435.1T ES13778435T ES2687522T3 ES 2687522 T3 ES2687522 T3 ES 2687522T3 ES 13778435 T ES13778435 T ES 13778435T ES 2687522 T3 ES2687522 T3 ES 2687522T3
Authority
ES
Spain
Prior art keywords
unit
size
parameter
transformation coefficient
transformation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES13778435.1T
Other languages
English (en)
Inventor
Chan-Yul Kim
Jae-Hyun Kim
Jeong-Hoon Park
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Application granted granted Critical
Publication of ES2687522T3 publication Critical patent/ES2687522T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • H03M7/4031Fixed length to variable length coding
    • H03M7/4037Prefix coding
    • H03M7/4043Adaptive prefix coding
    • H03M7/4068Parameterized codes
    • H03M7/4075Golomb codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/60General implementation details not specific to a particular type of compression
    • H03M7/6035Handling of unkown probabilities
    • 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/115Selection of the code volume for a coding unit prior to coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • 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/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/18Methods 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 set of transform coefficients
    • 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
    • H04N19/196Methods 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 being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • 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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • 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/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
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • H03M7/4006Conversion to or from arithmetic code
    • H03M7/4012Binary arithmetic codes
    • H03M7/4018Context adapative binary arithmetic codes [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • 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/184Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
    • 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
    • H04N19/96Tree coding, e.g. quad-tree coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • Computing Systems (AREA)
  • Probability & Statistics with Applications (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Error Detection And Correction (AREA)

Abstract

Un procedimiento para actualizar un parámetro para su desbinarización cuando se decodifica por entropía un elemento de sintaxis de nivel de coeficiente de transformación, comprendiendo el procedimiento: obtener una cadena binaria correspondiente a un elemento de sintaxis de nivel de coeficiente de transformación que indique un tamaño de coeficiente de transformación incluido en una unidad de transformación, a partir de una secuencia de bits, en el que la cadena binaria incluye una cadena binaria de prefijos que se binariza usando una binarización unaria truncada y una cadena binaria de sufijos que se binariza usando la binarización de Golomb exponencial de orden k-ésimo; determinar si actualizar un parámetro anterior comparando un tamaño de un coeficiente de transformación anterior que se restaura antes de un coeficiente de transformación actual, con un valor crítico predeterminado obtenido basándose en el parámetro anterior usado en la desbinarización de un elemento de sintaxis de nivel de coeficiente de transformación anterior que indique el tamaño del coeficiente de transformación anterior, usándose el parámetro anterior para determinar un valor máximo de una cadena binaria de prefijos a partir de una cadena binaria correspondiente a un elemento de sintaxis de nivel de coeficiente de transformación anterior; obtener un parámetro actual usado en la desbinarización de un elemento de sintaxis de nivel de coeficiente de transformación actual que indique un tamaño del coeficiente de transformación actual actualizando o manteniendo el parámetro anterior basándose en un resultado de la determinación, usándose el parámetro actual para determinar un valor máximo de una cadena binaria de prefijos a partir de una cadena binaria correspondiente al elemento de sintaxis de nivel de coeficiente de transformación actual; y obtener el tamaño del coeficiente de transformación actual desbinarizando el elemento de sintaxis de nivel de coeficiente de transformación actual usando el parámetro actual obtenido, en el que la obtención del parámetro actual comprende además: cuando el valor del coeficiente de transformación anterior es igual o más pequeño que el valor crítico predeterminado, se determina que el parámetro actual es el parámetro anterior, y cuando el valor del coeficiente de transformación anterior es más grande que el valor crítico predeterminado, se determina que el parámetro actual es un valor actualizado, en el que el valor crítico predeterminado se establece para que tenga un valor proporcional al parámetro anterior, y cuando se actualiza el parámetro anterior, el parámetro actualizado tiene un valor obtenido sumando uno al parámetro anterior, y en el que, cuando el tamaño del coeficiente de transformación se denomina absCoeff, un elemento de sintaxis que indica si el coeficiente de transformación tiene un valor más grande que 1 se denomina coeff_abs_level_greater1_flag, y un elemento de sintaxis que indica si el coeficiente de transformación tiene un valor más grande que 2 se denomina coeff_abs_level_greather2_flag, y cuando un valor de nivel básico se denomina baseLevel determinado de acuerdo con la ecuación: baseLevel >= 1 + coeff_abs_level_greather1_flag + coeff_abs_level_greather2_flag, el elemento de sintaxis de nivel de coeficiente de transformación indica un tamaño (absCoeff - baseLevel) que es una diferencia entre el tamaño del coeficiente de transformación absCoeff y el valor de nivel básico determinado baseLevel, en el que, en la determinación de si actualizar el parámetro anterior, cuando el parámetro anterior se denomina cLastRiceParam, el ésimo valor crítico se obtiene basándose en la ecuación: ésimo >= 3 * (1 << cLastRiceParam), donde "<<" indica un operador de desplazamiento a la izquierda bit a bit y en el que el parámetro de binarización actual tiene un valor igual o más pequeño que un valor umbral predeterminado que tiene un valor de 4.

Description

5
10
15
20
25
30
35
40
45
50
DESCRIPCION
Procedimiento de actualizacion de parametros para decodificar de entrc^a del nivel de coeficiente de conversion, y dispositivo de decodificacion de entrc^a del nivel de coeficiente de conversion utilizando el mismo
rCampo tecnicol
La presente invencion se refiere a codificacion y decodificacion de video, y mas espedficamente, a procedimientos y aparatos para actualizar un parametro usado en la codificacion y decodificacion de entropfa de informacion de tamano de un coeficiente de transformacion.
rAntecedentes de la tecnical
De acuerdo con los procedimientos de compresion de imagen tales como la codificacion avanzada de video (AVC) MPEG-1, MPEG-2 o MPEG-4 H.264/MPEG-4, una imagen se divide en bloques que tienen un tamano predeterminado y, a continuacion, los datos residuales de los bloques se obtienen mediante inter prediccion o intra prediccion. Los datos residuales se comprimen por transformacion, cuantificacion, escaneo, codificacion de longitud de ejecucion y codificacion de entropfa. En la codificacion de entropfa, un elemento de sintaxis tal como un coeficiente de transformacion o un vector de movimiento se codifica por entropfa para emitir una secuencia de bits. En el extremo del decodificador, se extrae un elemento de sintaxis a partir de una secuencia de bits, y la decodificacion se realiza basandose en el elemento de sintaxis extrafdo.
T. Nguyen y col. “Reduced-Complexity Entropy Coding of Transform Coefficient Levels Using Truncated Golomb Rice Codes in Video Compression” desvela un procedimiento de actualizacion del parametro de binarizacion de Rice para la codificacion de entropfa de acuerdo con H.264/AVC.
El documento WO 2011/127403 desvela una binarizacion adaptativa para la codificacion aritmetica.
D Marpe y col.: “Context-based adaptive binary arithmetic coding in the H.264/AVC video compression standard”, Transacciones IEEE en circuitos y sistemas para tecnologfa de video, vol. 13, n.° 7, 1 de julio de 2003, paginas 620 - 636 propone combinar una tecnica de codificacion aritmetica binaria adaptativa con modelado de contexto. El documento US 2007/171985 describe un procedimiento, un medio y un sistema para codificar/decodificar datos de video usando codificacion aritmetica binaria adaptativa de tasa de bits. H.S. Malvar; “Adaptive Run-Length/Golomb- Rice Encoding of Quantized Generalized Gaussian Sources with Unkonwn Statistics”, Conferencia de compresion de datos, (DDD'06), 1 de Enero de 2006, paginas 23 - 32 presenta un codificador de entropfa que combina longitud- ejecucion y codificadores Golomb-Rice.
rDivulgacionl
[Problema tecnicol
La presente invencion proporciona un procedimiento para actualizar un parametro por el que una variacion brusca de un parametro usado en la codificacion y la decodificacion de entropfa de un nivel de coeficiente de transformacion se vana gradualmente mientras que se evita una brusca variacion de dicho parametro.
La presente invencion tambien proporciona un procedimiento para actualizar de un parametro usado en binarizar un elemento de sintaxis tal como un nivel de coeficiente de transformacion usando un procedimiento de binarizacion, tal como un procedimiento de Golomb-Rice o un procedimiento de codigo concatenado.
rSolucion tecnical
De acuerdo con la presente invencion, se proporciona un procedimiento como se expone en la reivindicacion adjunta. De acuerdo con las realizaciones de la presente invencion, se proporciona un procedimiento de actualizacion de parametros en el que un parametro usado en la binarizacion de un nivel de coeficiente de transformacion se actualiza gradualmente.
[Efectos ventaiososl
De acuerdo con las realizaciones de la presente invencion, variando gradualmente un parametro usado en la codificacion de entropfa de la informacion de nivel de un coeficiente de transformacion, puede reducirse una cantidad de bits generada durante la codificacion, y puede aumentarse una ganancia de una imagen.
rDescripcion de los dibuiosl
La figura 1 es un diagrama de bloques de un aparato para codificar un video, de acuerdo con una realizacion de la presente invencion;
la figura 2 es un diagrama de bloques de un aparato para decodificar un video, de acuerdo con una realizacion de la presente invencion;
la figura 3 es un diagrama para describir un concepto de unidades de codificacion de acuerdo con una
5
10
15
20
25
30
35
40
45
50
55
60
realizacion de la presente invencion;
la figura 4 es un diagrama de bloques de un codificador de video basandose en unidades de codificacion que
tienen una estructura jerarquica, de acuerdo con una realizacion de la presente invencion;
la figura 5 es un diagrama de bloques de un decodificador de video basandose en unidades de codificacion que
tienen una estructura jerarquica, de acuerdo con una realizacion de la presente invencion;
la figura 6 es un diagrama que ilustra unas unidades de codificacion mas profundas de acuerdo con
profundidades y particiones, de acuerdo con una realizacion de la presente invencion;
la figura 7 es un diagrama para describir una relacion entre una unidad de codificacion y unas unidades de transformacion, de acuerdo con una realizacion de la presente invencion;
la figura 8 es un diagrama para describir una informacion de codificacion de las unidades de codificacion correspondientes a una profundidad codificada, de acuerdo con una realizacion de la presente invencion; la figura 9 es un diagrama de unas unidades de codificacion mas profundas de acuerdo con las profundidades, de acuerdo con una realizacion de la presente invencion;
las figuras 10 a 12 son diagramas para describir una relacion entre unidades de codificacion, unidades de prediccion y unidades de transformacion de frecuencia, de acuerdo con una realizacion de la presente invencion; la figura 13 es un diagrama para describir una relacion entre una unidad de codificacion, una unidad de prediccion y una unidad de transformacion, de acuerdo con la informacion de modo de codificacion de la Tabla 1; la figura 14 es un diagrama de flujo que ilustra una operacion de codificacion y decodificacion de entropfa de la informacion de coeficiente de transformacion incluida en una unidad de transformacion, de acuerdo con una realizacion de la presente invencion;
la figura 15 ilustra una unidad de transformacion que esta codificada por entropfa de acuerdo con una realizacion de la presente invencion;
la figura 16 ilustra un mapa de significancia correspondiente a la unidad de transformacion de la figura 15 de acuerdo con una realizacion de la presente invencion;
la figura 17 ilustra el coeff_abs_level_greater1_flag correspondiente a la unidad de transformacion de 4x4 de la figura 15;
la figura 18 ilustra el coeff_abs_level_greater2_flag correspondiente a la unidad de transformacion de 4x4 de la figura 15;
la figura 19 ilustra el coeff_abs_level_remaining correspondiente a la unidad de transformacion de 4x4 de la figura 15;
la figura 20 ilustra una tabla que muestra unos elementos de sintaxis relacionados con las unidades de transformacion ilustradas en las figuras 15 a 19;
la figura 21 ilustra otro ejemplo del coeff_abs_level_remaining que se binariza de acuerdo con una realizacion de la presente invencion;
la figura 22 es un diagrama de bloques que ilustra una estructura de un aparato de codificacion de entropfa de acuerdo con una realizacion de la presente invencion;
la figura 23 es un diagrama de bloques que ilustra una estructura de un aparato de binarizacion de acuerdo con una realizacion de la presente invencion;
la figura 24 es un diagrama de flujo que ilustra un procedimiento de codificacion de entropfa de elementos de sintaxis que indica un nivel de coeficiente de transformacion de acuerdo con una realizacion de la presente invencion;
la figura 25 es un diagrama de bloques que ilustra un aparato de decodificacion de entropfa de acuerdo con una realizacion de la presente invencion;
la figura 26 es un diagrama de bloques que ilustra una estructura de un aparato de desbinarizacion de acuerdo con una realizacion de la presente invencion; y
la figura 27 es un diagrama de flujo que ilustra un procedimiento de decodificacion de entropfa de un nivel de coeficiente de transformacion de acuerdo con una realizacion de la presente invencion.
rMeior modol
La invencion esta definida por la reivindicacion. rModo de la invencion!
En lo sucesivo en el presente documento, se describira un procedimiento y aparato para actualizar un parametro usado en la informacion de tamano de codificacion y de decodificacion de la entropfa de una unidad de transformacion de acuerdo con una realizacion de la presente invencion, haciendo referencia a las figuras 1 a 13. Ademas, un procedimiento de codificacion y decodificacion de entropfa de un elemento de sintaxis obtenido usando el procedimiento de codificacion y decodificacion de entropfa de un video descrito haciendo referencia a las figuras 1 a 13 se describira en detalle haciendo referencia a las figuras 14 a 29. Las expresiones tales como “al menos uno de”, cuando preceden a una lista de elementos, modifican toda la lista de elementos y no modifican los elementos individuales de la lista.
La figura 1 es un diagrama de bloques de un aparato 100 de codificacion de video de acuerdo con una realizacion de la presente invencion.
El aparato 100 de codificacion de video incluye un codificador 110 jerarquico y un codificador 120 de entropfa.
5
10
15
20
25
30
35
40
45
50
55
60
El codificador 110 jerarquico puede dividir una imagen actual a codificar, en unidades de unidades de datos predeterminados para realizar la codificacion en cada una de las unidades de datos. En detalle, el codificador 110 jerarquico puede dividir una imagen actual basada en una unidad de codificacion maxima, que es una unidad de codificacion de un tamano maximo. La unidad de codificacion maxima de acuerdo con una realizacion de la presente invencion puede ser una unidad de datos que tiene un tamano de 32x32, 64x64, 128x128, 256x256, etc., en la que la forma de la unidad de datos es un cuadrado que tiene una anchura y longitud en cuadrados de 2 y es mas grande que 8.
Una unidad de codificacion de acuerdo con una realizacion de la presente invencion puede estar caracterizada por un tamano y una profundidad maximos. La profundidad indica el numero de veces que la unidad de codificacion se divide espacialmente a partir de la unidad de codificacion maxima y, a medida que se profundiza, las unidades de codificacion mas profundas de acuerdo con las profundidades pueden dividirse desde la unidad de codificacion maxima a una unidad de codificacion minima. Una profundidad de la unidad de codificacion maxima es una profundidad mas alta y una profundidad de la unidad de codificacion minima es una profundidad mas baja. Ya que el tamano de una unidad de codificacion correspondiente a cada profundidad disminuye a medida que se profundiza en la profundidad de la unidad de codificacion maxima, una unidad de codificacion correspondiente a una profundidad mas alta puede incluir una pluralidad de unidades de codificacion correspondientes a profundidades mas bajas.
Como se ha descrito anteriormente, los datos de imagen de la imagen actual se dividen en las unidades de codificacion maximas de acuerdo con un tamano maximo de la unidad de codificacion, y cada una de las unidades de codificacion maximas puede incluir unidades de codificacion mas profundas que se dividen de acuerdo con las profundidades. Ya que la unidad de codificacion maxima de acuerdo con una realizacion de la presente invencion se divide de acuerdo con las profundidades, los datos de imagen de un dominio espacial incluidos en la unidad de codificacion maxima pueden clasificarse jerarquicamente de acuerdo con las profundidades.
Una profundidad maxima y un tamano maximo de una unidad de codificacion, que limitan el numero total de veces que una altura y una anchura de la unidad de codificacion maxima se dividen jerarquicamente, pueden estar predeterminados.
El codificador 110 jerarquico codifica al menos una region dividida obtenida dividiendo una region de la unidad de codificacion maxima de acuerdo con las profundidades, y determina una profundidad para emitir finalmente los datos de imagen codificados de acuerdo con la al menos una region dividida. En otras palabras, el codificador 110 jerarquico determina una profundidad codificada codificando los datos de imagen en las unidades de codificacion mas profundas de acuerdo con las profundidades, de acuerdo con la unidad de codificacion maxima de la imagen actual, y seleccionando una profundidad que tenga el menor error de codificacion. La profundidad codificada determinada y los datos de imagen codificados de acuerdo con las unidades de codificacion maximas se emiten al codificador 120 de entropfa.
Los datos de imagen en la unidad de codificacion maxima se codifican basandose en las unidades de codificacion mas profunda que corresponden a al menos una profundidad igual o mas pequena que la profundidad maxima, y los resultados de codificacion de los datos de imagen se comparan basandose en cada una de las unidades de codificacion mas profunda. Puede seleccionarse una profundidad que tenga el menor error de codificacion despues de comparar los errores de codificacion de las unidades de codificacion mas profunda. Puede seleccionarse al menos una profundidad codificada para cada unidad de codificacion maxima.
El tamano de la unidad de codificacion maxima se divide en la medida en que una unidad de codificacion se divide jerarquicamente de acuerdo con las profundidades y en la medida en que aumenta el numero de unidades de codificacion. Ademas, incluso si las unidades de codificacion corresponden a la misma profundidad en una unidad de codificacion maxima, se determina si dividir cada una de las unidades de codificacion correspondientes a la misma profundidad a una profundidad mas baja midiendo un error de codificacion de los datos de imagen de cada unidad de codificacion por separado. En consecuencia, incluso cuando se incluyen datos de imagen en una unidad de codificacion maxima, los datos de imagen se dividen en regiones de acuerdo con las profundidades, y los errores de codificacion pueden diferir de acuerdo con las regiones en la una unidad de codificacion maxima, y por lo tanto las profundidades codificadas pueden diferir de acuerdo con las regiones en los datos de imagen. De este modo, pueden determinarse una o mas profundidades codificadas en una unidad de codificacion maxima, y los datos de imagen de la unidad de codificacion maxima pueden dividirse de acuerdo con las unidades de codificacion de al menos una profundidad codificada.
Por consiguiente, el codificador 110 jerarquico puede determinar las unidades de codificacion que tienen una estructura de arbol incluida en la unidad de codificacion maxima. Las “unidades de codificacion que tienen una estructura en arbol” de acuerdo con una realizacion de la presente invencion incluyen unidades de codificacion correspondientes a una profundidad determinada para ser la profundidad codificada, entre todas las unidades de codificacion mas profundas incluidas en la unidad de codificacion maxima. Una unidad de codificacion que tiene una profundidad codificada puede determinarse jerarquicamente de acuerdo con las profundidades en la misma region de la unidad de codificacion maxima, y puede determinarse independientemente en regiones diferentes. De manera similar, una profundidad codificada en una region actual puede determinarse independientemente a partir de una profundidad codificada en otra region.
5
10
15
20
25
30
35
40
45
50
55
Una profundidad maxima de acuerdo con una realizacion de la presente invencion es un mdice relacionado con el numero de veces que se realiza la division a partir de una unidad de codificacion maxima a una unidad de codificacion minima. Una primera profundidad maxima de acuerdo con una realizacion de la presente invencion puede indicar el numero total de veces que se realiza la division desde la unidad de codificacion maxima a la unidad de codificacion minima. Una segunda profundidad maxima de acuerdo con una realizacion de la presente invencion puede indicar el numero total de niveles de profundidad desde la unidad de codificacion maxima a la unidad de codificacion minima. Por ejemplo, cuando la profundidad de la unidad de codificacion maxima es 0, la profundidad de una unidad de codificacion, en la que la unidad de codificacion maxima se divide una vez, puede establecerse en
1, y una profundidad de una unidad de codificacion, en la que la codificacion maxima la unidad se divide dos veces, puede establecerse en 2. En este caso, si la unidad de codificacion minima es una unidad de codificacion en la que la unidad de codificacion maxima se divide cuatro veces, existen cinco niveles de profundidad de profundidades 0, 1,
2, 3 y 4, y de este modo la primera profundidad maxima puede establecerse en 4, y la segunda profundidad maxima puede establecerse en 5.
La codificacion de prediccion y transformacion puede realizarse de acuerdo con la unidad de codificacion maxima. La codificacion de prediccion y transformacion tambien se realizan basandose en las unidades de codificacion mas profundas de acuerdo con una profundidad igual a o una profundidad mas baja que la profundidad maxima, de acuerdo con la unidad de codificacion maxima.
Ya que el numero de unidades de codificacion mas profunda aumenta siempre que la unidad de codificacion maxima se divide de acuerdo con las profundidades, la codificacion que incluye la codificacion de prediccion y transformacion se realiza en todas las unidades de codificacion mas profunda generadas a medida que la profundidad se profundiza. Por conveniencia de la descripcion, la codificacion de prediccion y transformacion se describiran a continuacion basandose en una unidad de codificacion de una profundidad actual, en una unidad de codificacion maxima.
El aparato 100 de codificacion de video puede seleccionar de manera variada un tamano o una forma de una unidad de datos para codificar los datos de imagen. Para codificar los datos de imagen, se realizan operaciones tales como codificacion de prediccion, transformacion y codificacion de entropfa, y en este momento, puede usarse la misma unidad de datos para todas las operaciones o pueden usarse diferentes unidades de datos para cada operacion.
Por ejemplo, el aparato 100 de codificacion de video puede seleccionar no solo una unidad de codificacion para codificar los datos de imagen, sino tambien una unidad de datos diferente de la unidad de codificacion con el fin de realizar la codificacion de prediccion en los datos de imagen en la unidad de codificacion.
Con el fin de realizar una codificacion de prediccion en la unidad de codificacion maxima, la codificacion de prediccion puede realizarse basandose en una unidad de codificacion correspondiente a una profundidad codificada, es decir, basandose en una unidad de codificacion que ya no se divide en las unidades de codificacion correspondientes a una profundidad mas baja. En lo sucesivo en el presente documento, la unidad de codificacion que ya no esta dividida y se convierte en una unidad base para la codificacion de prediccion se denominara ahora como “unidad de prediccion”. Una particion obtenida dividiendo la unidad de prediccion puede incluir una unidad de prediccion o una unidad de datos obtenida dividiendo al menos una entre una altura y una anchura de la unidad de prediccion.
Por ejemplo, cuando una unidad de codificacion de 2Nx2N (donde N es un entero positivo) ya no se divide y se convierte en una unidad de prediccion de 2Nx2N, un tamano de una particion puede ser 2Nx2N, 2NxN, Nx2N, o NxN. Los ejemplos de un tipo de particion incluyen particiones simetricas que se obtienen dividiendo simetricamente una altura o una anchura de la unidad de prediccion, particiones obtenidas dividiendo asimetricamente la altura o la anchura de la unidad de prediccion, tal como 1:n o n:1, particiones que se obtienen dividiendo geometricamente la unidad de prediccion, y particiones que tienen formas arbitrarias.
Un modo de prediccion de la unidad de prediccion puede ser al menos uno de entre un intra modo, un inter modo, y un modo de salto. Por ejemplo, el intra modo o el inter modo puede realizarse en la particion de 2Nx2N, 2NxN, Nx2N o NxN. Ademas, el modo de salto solo puede realizarse en la particion de 2Nx2N. La codificacion se realiza independientemente en una unidad de prediccion en una unidad de codificacion, seleccionando de este modo un modo de prediccion que tiene el menor error de codificacion.
El aparato 100 de codificacion de video tambien puede realizar la transformacion en los datos de imagen en una unidad de codificacion basandose no solo en la unidad de codificacion para codificar los datos de imagen, sino tambien basandose en una unidad de datos que es diferente de la unidad de codificacion.
Con el fin de realizar la transformacion en la unidad de codificacion, la transformacion puede realizarse basandose en una unidad de datos que tiene un tamano menor o igual que la unidad de codificacion. Por ejemplo, la unidad de datos para la transformacion puede incluir una unidad de datos para un intra modo y una unidad de datos para un inter modo.
Una unidad de datos como una base de la transformacion se denominara ahora como una 'unidad de transformacion'. De manera similar a la unidad de codificacion, la unidad de transformacion en la unidad de
5
10
15
20
25
30
35
40
45
50
55
codificacion puede dividirse recursivamente en regiones de menor tamano, de tal manera que la unidad de transformacion puede determinate independientemente en unidades de regiones. Por lo tanto, los datos residuales en la unidad de codificacion pueden dividirse de acuerdo con la unidad de transformacion que tiene la estructura de arbol de acuerdo con las profundidades de transformacion.
Una profundidad de transformacion que indica el numero de veces que se realiza la division para alcanzar la unidad de transformacion dividiendo la altura y la anchura de la unidad de codificacion tambien puede establecerse en la unidad de transformacion. Por ejemplo, en una unidad de codificacion actual de 2Nx2N, una profundidad de transformacion puede ser 0 cuando el tamano de una unidad de transformacion es 2Nx2N, puede ser 1 cuando el tamano de una unidad de transformacion es NXN y puede ser 2 cuando el tamano de una transformacion la unidad es N/2XN/2. Es decir, la unidad de transformacion que tiene la estructura de arbol tambien puede establecerse de acuerdo con las profundidades de transformacion.
La informacion de codificacion de acuerdo con las unidades de codificacion correspondientes a una profundidad codificada requiere no solo informacion acerca de la profundidad codificada, sino tambien acerca de la informacion relacionada con la codificacion de prediccion y transformacion. Por consiguiente, el codificador 110 jerarquico no solo determina una profundidad codificada que tiene el menor error de codificacion, sino que tambien determina un tipo de particion en una unidad de prediccion, un modo de prediccion de acuerdo con las unidades de prediccion y un tamano de una unidad de transformacion para la transformacion.
Las unidades de codificacion de acuerdo con una estructura de arbol en una unidad de codificacion maxima y un procedimiento de determinacion de una particion, de acuerdo con las realizaciones de la presente invencion, se describiran en detalle mas adelante haciendo referencia a las figuras 3 a 12.
El codificador 110 jerarquico puede medir un error de codificacion de las unidades de codificacion mas profundas de acuerdo con las profundidades usando una optimizacion velocidad-distorsion basada en multiplicadores de Lagrange.
El codificador 120 de entropfa emite los datos de imagen de la unidad de codificacion maxima, que se codifica basandose en la al menos una profundidad codificada determinada por el codificador 110 jerarquico, y la informacion acerca del modo de codificacion de acuerdo con la profundidad codificada, en flujos de bits. Los datos de imagen codificados pueden ser un resultado de codificacion de los datos residuales de una imagen. La informacion acerca del modo de codificacion de acuerdo con la profundidad codificada puede incluir informacion acerca de la profundidad codificada, informacion acerca del tipo de particion en la unidad de prediccion, informacion de modo de prediccion e informacion de tamano de la unidad de transformacion. En particular, como se describira mas adelante, cuando la entropfa codifica un elemento de sintaxis que indica un tamano de una unidad de transformacion, el codificador 120 de entropfa binariza un elemento de sintaxis que indica un tamano de una transformacion pero de acuerdo con las cadenas de bits usando el parametro que se actualiza gradualmente. La operacion de entropfa que codifica una unidad de transformacion usando la unidad 120 de codificacion de entropfa se describira mas adelante.
La informacion acerca de la profundidad codificada puede definirse usando una informacion de division de acuerdo con las profundidades, que indica si la codificacion se realiza en unidades de codificacion de una profundidad mas baja en lugar de una profundidad actual. Si la profundidad actual de la unidad de codificacion actual es la profundidad codificada, los datos de imagen en la unidad de codificacion actual se codifican y emiten, y de este modo la informacion de division puede definirse para no dividir la unidad de codificacion actual a una profundidad mas baja. Como alternativa, si la profundidad actual de la unidad de codificacion actual no es la profundidad codificada, la codificacion se realiza en la unidad de codificacion de la profundidad mas baja, y de este modo la informacion de division puede definirse para dividir la unidad de codificacion actual para obtener las unidades de codificacion de la profundidad mas baja.
Si la profundidad actual no es la profundidad codificada, la codificacion se realiza en la unidad de codificacion que se divide en la unidad de codificacion de la profundidad mas baja. Ya que existe al menos una unidad de codificacion de la profundidad mas baja en una unidad de codificacion de la profundidad actual, la codificacion se realiza repetidamente en cada unidad de codificacion de la profundidad mas baja, y de este modo la codificacion puede realizarse recursivamente para las unidades de codificacion que tienen la misma profundidad.
Ya que las unidades de codificacion que tienen una estructura de arbol se determinan para una unidad de codificacion maxima, y la informacion acerca de al menos un modo de codificacion se determina para una unidad de codificacion de una profundidad codificada, la informacion acerca de al menos un modo de codificacion puede determinarse para una unidad de codificacion maxima. Ademas, una profundidad codificada de los datos de imagen de la unidad de codificacion maxima puede ser diferentes de acuerdo con las localizaciones ya que los datos de imagen se dividen jerarquicamente de acuerdo con las profundidades, y de este modo pueden establecerse la informacion acerca de la profundidad codificada y el modo de codificacion para los datos de imagen.
5
10
15
20
25
30
35
40
45
50
55
Por consiguiente, el codificador 120 de entropfa puede asignar la informacion de codificacion acerca de una profundidad codificada correspondiente y un modo de codificacion a al menos una de entre la unidad de codificacion, la unidad de prediccion, y una unidad minima incluida en la unidad de codificacion maxima.
La unidad minima de acuerdo con una realizacion de la presente invencion es una unidad de datos de forma cuadrada obtenida dividiendo la unidad de codificacion minima que constituye la profundidad mas baja por 4. Como alternativa, la unidad minima puede ser una unidad de datos de forma cuadrada maxima que puede incluirse en todas las unidades de codificacion, las unidades de prediccion, las unidades de particion y las unidades de transformacion incluidas en la unidad de codificacion maxima.
Por ejemplo, la informacion de codificacion emitida a traves del codificador 120 de entropfa puede clasificarse en informacion de codificacion de acuerdo con las unidades de codificacion e informacion de codificacion de acuerdo con las unidades de prediccion. La informacion de codificacion de acuerdo con las unidades de codificacion puede incluir informacion acerca del modo de prediccion y acerca del tamano de las particiones. La informacion de codificacion de acuerdo con las unidades de prediccion puede incluir informacion acerca de una direccion estimada de un inter modo, acerca de un mdice de imagen de referencia del inter modo, acerca de un vector de movimiento, acerca de un componente croma de un intra modo, y acerca de un procedimiento de interpolacion del intra modo. Ademas, la informacion acerca de un tamano maximo de la unidad de codificacion definida de acuerdo con imagenes, bines o GOP, y la informacion acerca de una profundidad maxima pueden insertarse en una cabecera de una secuencia de bits.
En el aparato 100 de codificacion de video, la unidad de codificacion mas profunda puede ser una unidad de codificacion obtenida dividiendo por dos una altura o una anchura de una unidad de codificacion de una profundidad mas alta, que es una capa por encima. En otras palabras, cuando el tamano de la unidad de codificacion de la profundidad actual es 2Nx2N, el tamano de la unidad de codificacion de la profundidad mas baja es NxN. Ademas, la unidad de codificacion de la profundidad actual que tiene el tamano de 2Nx2N puede incluir un numero maximo de cuatro unidades de codificacion de la profundidad mas baja.
En consecuencia, el aparato 100 de codificacion de video puede formar las unidades de codificacion que tienen la estructura de arbol determinando las unidades de codificacion que tienen una forma optima y un tamano optimo para cada unidad de codificacion maxima, basandose en el tamano de la unidad de codificacion maxima y la profundidad maxima determinada considerando las caractensticas de la imagen actual. Ademas, ya que la codificacion puede realizarse en cada unidad de codificacion maxima usando uno cualquiera de los diversos modos de prediccion y transformacion, puede determinarse un modo de codificacion optimo considerando las caractensticas de la unidad de codificacion de diversos tamanos de imagen.
Por lo tanto, si una imagen que tiene una alta resolucion o una cantidad de datos grande se codifica en un macrobloque convencional, el numero de macrobloques por imagen aumenta excesivamente. En consecuencia, aumenta un numero de piezas de informacion comprimida generadas para cada macrobloque y, por lo tanto, es diffcil transmitir la informacion comprimida y la eficacia de compresion de datos disminuye. Sin embargo, usando el aparato 100 de codificacion de video, la eficacia de compresion de imagen puede aumentarse ya que una unidad de codificacion se ajusta considerando las caractensticas de una imagen mientras que se aumenta el tamano maximo de una unidad de codificacion mientras que se considera un tamano de la imagen.
La figura 2 es un diagrama de bloques de un aparato 200 de decodificacion de video de acuerdo con una realizacion de la presente invencion.
El aparato 200 de decodificacion de video incluye un analizador 210 sintactico, un decodificador 220 de entropfa, y un decodificador 230 jerarquico. Las definiciones de diversos terminos, tales como una unidad de codificacion, una profundidad, una unidad de prediccion, una unidad de transformacion, y la informacion acerca de diversos modos de codificacion, para diversas operaciones del aparato 200 de decodificacion de video son identicos a los descritos haciendo referencia a la figura 1 y al aparato 100 de codificacion de video.
El analizador 210 sintactico recibe una secuencia de bits de un video codificado para analizar sintacticamente un elemento de sintaxis. El decodificador 220 de entropfa extrae los elementos de sintaxis que indican datos de imagenes codificadas basandose en unidades de codificacion que tienen una estructura, realizando una decodificacion de entropfa de elementos de sintaxis analizados sintacticamente, y emite los elementos de sintaxis extrafdos al decodificador 230 jerarquico. Es decir, el decodificador 220 de entropfa realiza la decodificacion de entropfa de los elementos de sintaxis que se reciben en la forma de cadena de bits de 0 y 1, restaurando de este modo los elementos de sintaxis.
Ademas, el decodificador 220 de entropfa extrae informacion acerca de una profundidad codificada, un modo de codificacion, una informacion de componente de color, una informacion de modo de prediccion, etc., para las unidades de codificacion que tienen una estructura de arbol de acuerdo con cada unidad de codificacion maxima, a partir de la secuencia de bits analizada sintacticamente. La informacion extrafda acerca de la profundidad codificada y el modo de codificacion se emite al decodificador 230 jerarquico. Los datos de imagen en una secuencia de bits se dividen en la unidad de codificacion maxima de tal manera que el decodificador 230 jerarquico pueda decodificar los
5
10
15
20
25
30
35
40
45
50
55
datos de imagen para cada unidad de codificacion maxima.
La informacion acerca de la profundidad codificada y el modo de codificacion de acuerdo con la unidad de codificacion maxima puede establecerse para obtener informacion acerca de al menos una unidad de codificacion correspondiente a la profundidad codificada, y la informacion acerca de un modo de codificacion puede incluir informacion acerca de un tipo de particion de una unidad de codificacion correspondiente que corresponde a la profundidad codificada, acerca de un modo de prediccion, y un tamano de una unidad de transformacion. Ademas, la informacion de division de acuerdo con las profundidades puede extraerse como la informacion acerca de la profundidad codificada.
La informacion acerca de la profundidad codificada y el modo de codificacion de acuerdo con cada unidad de codificacion maxima extrafda por el decodificador 220 de entropfa es informacion acerca de una profundidad codificada y un modo de codificacion determinada para generar un error de codificacion mmimo cuando un codificador, tal como el aparato 100 de codificacion de video, realiza repetidamente la codificacion para cada unidad de codificacion mas profunda de acuerdo con las profundidades de acuerdo con cada unidad de codificacion maxima. En consecuencia, el aparato 200 de decodificacion de video puede restaurar una imagen decodificando los datos de imagen de acuerdo con una profundidad codificada y un modo de codificacion que genera el error de codificacion mmimo.
Ya que la informacion acerca de la profundidad codificada y el modo de codificacion puede asignarse a una unidad de datos predeterminada de entre una unidad de codificacion correspondiente, una unidad de prediccion, y una unidad minima, el decodificador 220 de entropfa puede extraer la informacion acerca de la profundidad codificada y el modo de codificacion de acuerdo con las unidades de datos predeterminadas. Cuando se asigna informacion acerca de una profundidad codificada y el modo de codificacion de una unidad de codificacion maxima correspondiente a cada una de las unidades de datos predeterminadas, las unidades de datos predeterminadas a las que se asigna la misma informacion acerca de la profundidad codificada y el modo de codificacion pueden inferirse para ser unidades de datos incluidas en la misma unidad de codificacion maxima.
Ademas, como se describira mas adelante, el decodificador 220 de entropfa desbinariza un elemento de sintaxis que indica un tamano de un coeficiente de transformacion usando un parametro que se actualiza gradualmente. Una operacion para obtener la informacion de tamano de un coeficiente de transformacion usando el decodificador 220 de entropfa desbinarizando una cadena de bits correspondiente a un elemento de sintaxis que indica un tamano de una unidad de transformacion, se describira en detalle mas adelante.
El decodificador 230 jerarquico restaura la imagen actual decodificando los datos de imagen en cada unidad de codificacion maxima basandose en la informacion acerca de la profundidad codificada y el modo de codificacion de acuerdo con las unidades de codificacion maxima. En otras palabras, el decodificador 230 jerarquico puede decodificar los datos de imagen codificada basandose en la informacion extrafda acerca del tipo de particion, el modo de prediccion y la unidad de transformacion para cada unidad de codificacion entre las unidades de codificacion que tienen la estructura de arbol incluida en cada unidad de codificacion maxima. Un procedimiento de decodificacion puede incluir una prediccion que incluye la intra prediccion y la compensacion de movimiento, y la transformacion inversa.
El decodificador 230 jerarquico puede realizar la intra prediccion o compensacion de movimiento de acuerdo con una particion y un modo de prediccion de cada unidad de codificacion, basandose en la informacion acerca del tipo de particion y el modo de prediccion de la unidad de prediccion de la unidad de codificacion de acuerdo con las profundidades codificadas.
Ademas, el decodificador 230 jerarquico puede realizar la transformacion inversa de acuerdo con cada unidad de transformacion en la unidad de codificacion, basandose en la informacion acerca del tamano de la unidad de transformacion de la unidad de codificacion de acuerdo con las profundidades codificadas, con el fin de realizar la transformacion inversa de acuerdo con las unidades de codificacion maximas.
El decodificador 230 jerarquico puede determinar al menos una profundidad codificada de una unidad de codificacion maxima actual usando la informacion de division de acuerdo con las profundidades. Si la informacion de division indica que los datos de imagen ya no estan divididos en la profundidad actual, la profundidad actual es una profundidad codificada. Por consiguiente, el decodificador 230 jerarquico puede decodificar la unidad de codificacion de la profundidad actual con respecto a los datos de imagen de la unidad de codificacion maxima actual usando la informacion acerca del tipo de particion de la unidad de prediccion, el modo de prediccion y el tamano de la unidad de transformacion.
En otras palabras, las unidades de datos que contienen la informacion de codificacion que incluye la misma informacion de division puede recogerse observando el conjunto de informacion de codificacion asignado para la unidad de datos predeterminada de entre la unidad de codificacion, la unidad de prediccion, y la unidad minima, y las unidades de datos recogidos pueden considerarse para ser una unidad de datos a decodificar por el decodificador 230 jerarquico en el mismo modo de codificacion.
5
10
15
20
25
30
35
40
45
50
55
El aparato 200 de decodificacion de v^deo puede obtener informacion acerca de al menos una unidad de codificacion que genera el error de codificacion mmimo cuando la codificacion se realiza de manera recursiva para cada unidad de codificacion maxima, y puede usar la informacion para decodificar la imagen actual. En otras palabras, pueden decodificarse los datos de imagen codificados de las unidades de codificacion que tienen la estructura de arbol determinada para ser las unidades de codificacion optimas en cada unidad de codificacion maxima.
Por consiguiente, incluso si los datos de imagen tienen una alta resolucion y una gran cantidad de datos, los datos de imagen puede decodificarse y restaurarse usando un tamano de una unidad de codificacion y un modo de codificacion, que se determinan de manera adaptativa de acuerdo con las caractensticas de los datos de imagen, usando informacion acerca de un modo de codificacion optimo recibido de un codificador.
Un procedimiento para determinar las unidades de codificacion que tienen una estructura de arbol, una unidad de prediccion, y una unidad de transformacion, de acuerdo con una realizacion de la presente invencion, se describira a continuacion haciendo referencia a las figuras 3 a 13.
La figura 3 es un diagrama para describir un concepto de unidades de codificacion de acuerdo con una realizacion de la presente invencion.
Un tamano de una unidad de codificacion puede expresarse en altura x anchura, y puede ser de 64x64, 32x32, 16x16, y 8x8. Una unidad de codificacion de 64x64 puede dividirse en particiones de 64x64, 64x32, 32x64 o 32x32; y una unidad de codificacion de 32x32 puede dividirse en particiones de 32x32, 32x16, 16x32 o 16x16; una unidad de codificacion de 16x16 puede dividirse en particiones de 16x16, 16x8, 8x16 u 8x8; y una unidad de codificacion de 8x8 puede dividirse en particiones de 8x8, 8x4, 4x8 o 4x4.
En cuanto a los datos 310 de video, se establecen una resolucion de 1920x1080, un tamano maximo de una unidad de codificacion de 64, y una profundidad maxima de 2. Con respecto a los datos 320 de video, se establecen una resolucion de 1920x1080, un tamano maximo de una unidad de codificacion de 64 y una profundidad maxima de 3. Con respecto a los datos 330 de video, se establece una resolucion de 352x288, un tamano maximo de una unidad de codificacion de 16 y una profundidad maxima de 1. La profundidad maxima mostrada en la figura 3 indica un numero total de divisiones desde una unidad de codificacion maxima a una unidad de codificacion minima.
Si una resolucion es alta o una cantidad de datos es grande, un tamano maximo de una unidad de codificacion puede ser grande con el fin de no solo aumentar eficacia de codificacion, sino tambien para reflejar con precision las caractensticas de una imagen. En consecuencia, el tamano maximo de la unidad de codificacion de los datos 310 y 320 de video que tienen la resolucion mas alta que los datos 330 de video puede ser 64.
Ya que la profundidad maxima de los datos 310 de video es 2, las unidades 315 de codificacion de los datos 310 de video pueden incluir una unidad de codificacion maxima que tiene un tamano de eje largo de 64, y teniendo las unidades de codificacion tamanos de eje largo de 32 y 16 ya que las profundidades se profundizan en dos capas dividiendo dos veces la unidad de codificacion maxima. Mientras tanto, ya que la profundidad maxima de los datos 330 de video es 1, las unidades 335 de codificacion de los datos 330 de video pueden incluir una unidad de codificacion maxima que tiene un tamano de eje largo de 16 y teniendo las unidades de codificacion un tamano de eje largo de 8 ya que las profundidades se profundizan a una capa dividiendo una vez la unidad de codificacion maxima.
Ya que la profundidad maxima de los datos 320 de video es 3, las unidades 325 de codificacion de los datos 320 de video pueden incluir una unidad de codificacion maxima que tiene un tamano de eje largo de 64, y teniendo las unidades de codificacion tamanos de eje largo de 32, 16, y 8 ya que las profundidades se profundizan en 3 capas dividiendo tres veces la unidad de codificacion maxima. A medida que se profundiza la profundidad, la informacion detallada puede expresarse con precision.
La figura 4 es un diagrama de bloques de un codificador 400 de video basandose en unidades de codificacion que tienen una estructura jerarquica, de acuerdo con una realizacion de la presente invencion.
Un intra predictor 410 realiza una intra prediccion en las unidades de codificacion en un intra modo, con respecto a una trama 405 actual, y un estimador 420 de movimiento y un compensador 425 de movimiento realizan respectivamente una inter estimacion y una compensacion de movimiento en las unidades de codificacion en un inter modo usando la trama 405 actual y una trama 495 de referencia.
La salida de datos del intra predictor 410, el estimador 420 de movimiento y el compensador 425 de movimiento se emite como un coeficiente de transformacion cuantificado a traves de un transformador 430 y un cuantificador 440. El coeficiente de transformacion cuantificado se restablece como datos en un dominio espacial a traves un cuantificador 460 inverso y un transformador 470 inverso, y los datos restaurados en el dominio espacial se emiten como la trama 495 de referencia despues de postprocesarse a traves de una unidad 480 de desbloqueo y una unidad 490 de filtrado de bucle. El coeficiente de transformacion cuantificado puede emitirse como una secuencia 455 de bits a traves de un codificador 450 de entropfa.
5
10
15
20
25
30
35
40
45
50
55
La unidad 450 de codificacion de entrc^a codifica aritmeticamente los elementos de sintaxis relacionados con una unidad de transformacion, tales como un mapa de significancia que indica una posicion de una unidad de transformacion que no es 0, una primera bandera de valor cntico (coeff_abs_level_greater1_flag) que indica si una unidad de transformacion tiene o no un valor mas grande que 1, una segunda bandera de valor cntico (coeff_abs_level_greather2_flag) que indica si una unidad de transformacion tiene un valor mas grande que 2 y una informacion de tamano de un coeficiente de transformacion (coeff_absjevel-remaining) correspondiente a una diferencia entre un nivel basico (baseLevel) que se determina basandose en la primera bandera de valor cntico y la primera bandera de valor cntico y un coeficiente de transformacion real (abscoeff).
Con el fin de aplicar el codificador 400 de video en el aparato 100 de codificacion de video, todos los elementos del codificador 400 de video, es decir, el intra predictor 410, el estimador 420 de movimiento, el compensador 425 de movimiento, el transformador 430, el cuantificador 440, el codificador 450 de entropfa, el cuantificador 460 inverso, el transformador 470 inverso, la unidad 480 de desbloqueo y la unidad 490 de filtrado de bucle tienen que realizar operaciones basadas en cada unidad de codificacion entre las unidades de codificacion que tienen una estructura de arbol considerando la profundidad maxima de cada unidad de codificacion maxima.
Espedficamente, el intra predictor 410, el estimador 420 de movimiento y el compensador 425 de movimiento determinan las particiones y un modo de prediccion de cada unidad de codificacion de entre las unidades de codificacion que tienen una estructura de arbol, mientras que se considera el tamano maximo y la profundidad maxima de la unidad de codificacion maxima actual, y el transformador 430 determina el tamano de la unidad de transformacion en cada unidad de codificacion de entre las unidades de codificacion que tienen una estructura de arbol.
La figura 5 es un diagrama de bloques de un decodificador 500 de video basado en unas unidades de codificacion, de acuerdo con una realizacion de la presente invencion.
Un analizador 510 sintactico analiza sintacticamente los datos de imagen codificados a decodificar y la informacion acerca de la codificacion necesaria para la decodificacion, a partir de una secuencia 505 de bits. Los datos de imagen codificados pasan a traves del decodificador 520 y del cuantificador 530 inverso para emitirse como datos cuantificados de manera inversa. El decodificador 520 de entropfa obtiene elementos relacionados con una unidad de transformacion de una secuencia de bits, es decir, un mapa de significancia que indica una posicion de una unidad de transformacion que no es 0, una primera bandera de valor cntico (coeff_abs_level_greater1_flag) que indica si una unidad de transformacion tiene o no un valor mas grande que 1, una segunda bandera de valor cntico (coeff_abs_level_greather2_flag) que indica si una unidad de transformacion tiene un valor mas grande que 2 y una informacion de tamano de un coeficiente de transformacion (coeff_abs_level_remaining) correspondiente a una diferencia entre un nivel basico (baseLevel) que se determina basandose en la primera bandera de valor cntico y la segunda bandera de valor cntico y un coeficiente de transformacion real (abscoeff), y se decodifica aritmeticamente los elementos de sintaxis obtenidos con el fin de restaurar los elementos de sintaxis.
Un transformador 540 inverso restaura los datos cuantificados inversamente a los datos de imagen en un dominio espacial. Un intra predictor 550 realiza la intra prediccion en unidades de codificacion en un intra modo con respecto a los datos de imagen en el dominio espacial, y un compensador 560 de movimiento realiza la compensacion de movimiento en las unidades de codificacion en un inter modo usando una trama 585 de referencia.
Los datos de imagen en el dominio espacial, que han pasado a traves del intra predictor 550 y del compensador 560 de movimiento, pueden emitirse como una trama 595 restaurada despues de postprocesarse a traves de una unidad 570 de desbloqueo y una unidad 580 de filtrado de bucle. Ademas, los datos de imagen, que se postprocesan a traves de la unidad 570 de desbloqueo y la unidad 580 de filtrado de bucle, pueden emitirse como la trama 585 de referencia.
Con el fin de aplicar el decodificador 500 de video en el aparato 200 de decodificacion de video, todos los elementos del decodificador 500 de video, es decir, el analizador 510 sintactico, el decodificador 520 de entropfa, el cuantificador 530 inverso, el transformador 540 inverso, el intra predictor 550, el compensador 560 de movimiento, la unidad 570 de desbloqueo y la unidad 580 de filtrado de bucle, realizan operaciones basadas en las unidades de codificacion que tienen una estructura de arbol para cada unidad de codificacion maxima.
El intra predictor 550 y el compensador 560 de movimiento determinan una particion y un modo de prediccion para cada unidad de codificacion que tiene una estructura de arbol, y el transformador 540 inverso tiene que determinar un tamano de una unidad de transformacion para cada unidad de codificacion.
La figura 6 es un diagrama que ilustra unas unidades de codificacion mas profundas de acuerdo con las profundidades y las particiones de acuerdo con una realizacion de la presente invencion.
El aparato 100 de codificacion de video y el aparato 200 de decodificacion de video usan unas unidades de codificacion jerarquica con el fin de considerar las caractensticas de una imagen. Una altura maxima, una anchura maxima y una profundidad maxima de las unidades de codificacion pueden determinarse de manera adaptativa de acuerdo con las caractensticas de la imagen, o pueden establecerse de manera diferente por un usuario. Los tamanos de las unidades de codificacion mas profundas de acuerdo con las profundidades pueden determinarse de
5
10
15
20
25
30
35
40
45
50
55
acuerdo con el tamano maximo predeterminado de la unidad de codificacion.
En una estructura 600 jerarquica de unidades de codificacion de acuerdo con una realizacion de la presente invencion, la altura maxima y la anchura maxima de las unidades de codificacion son cada una 64, y la profundidad maxima es 4. Ya que una profundidad profundiza a lo largo de un eje vertical de la estructura 600 jerarquica, se dividen cada una de una altura y una anchura de la unidad de codificacion mas profunda. Ademas, una unidad de prediccion y las particiones, que son bases para la codificacion de prediccion de cada unidad de codificacion mas profunda, se muestran a lo largo de un eje horizontal de la estructura 600 jerarquica.
En otras palabras, una unidad 610 de codificacion es una unidad de codificacion maxima en la estructura 600 jerarquica, en la que una profundidad es 0 y un tamano, es decir, una altura por anchura, es de 64x64. La profundidad se profundiza a lo largo del eje vertical, y teniendo una unidad 620 de codificacion un tamano de 32x32 y una profundidad de 1, teniendo una unidad de codificacion 630 un tamano de 16x16 y una profundidad de 2, teniendo una unidad de codificacion 640 un tamano de 8x8 y una profundidad de 3, y teniendo una unidad de codificacion 650 un tamano de 4x4 y una profundidad de 4. La unidad 650 de codificacion que tiene el tamano de 4x4 y la profundidad de 4 es una unidad de codificacion minima.
La unidad de prediccion y las particiones de una unidad de codificacion estan dispuestas a lo largo del eje horizontal de acuerdo con cada profundidad. En otras palabras, si la unidad 610 de codificacion que tiene el tamano de 64x64 y la profundidad de 0 es una unidad de prediccion, la unidad de prediccion puede dividirse en particiones incluidas en la unidad 610 de codificacion, es decir, teniendo una particion 610 un tamano de 64x64, teniendo unas particiones 612 el tamano de 64x32, teniendo las particiones 614 el tamano de 32x64 o teniendo las particiones 616 el tamano de 32x32.
Del mismo modo, una unidad de prediccion de la unidad 620 de codificacion que tiene el tamano de 32x32 y la profundidad de 1 podra dividirse en particiones incluidas en la unidad 620 de codificacion, es decir, teniendo una particion 620 un tamano de 32x32, teniendo particiones 622 un tamano de 32x16, teniendo las particiones 624 un tamano de 16x32 y teniendo las particiones 626 un tamano de 16x16.
Del mismo modo, una unidad de prediccion de la unidad de codificacion 630 que tiene el tamano de 16x16 y la profundidad de 2 puede dividirse en particiones incluidas en la unidad de codificacion 630, es decir, teniendo una particion un tamano de 16x16 incluido en la unidad 630 de codificacion, teniendo las particiones 632 un tamano de 16x8, teniendo las particiones 634 un tamano de 8x16 y teniendo las particiones 636 un tamano de 8x8.
Del mismo modo, una unidad de prediccion de la unidad de codificacion 640 que tiene el tamano de 8x8 y la profundidad de 3 podra dividirse en particiones incluidas en la unidad de codificacion 640, es decir, teniendo una particion un tamano de 8x8 incluido en la unidad de codificacion 640, teniendo las particiones 642 un tamano de 8x4, teniendo las particiones 644 un tamano de 4x8 y teniendo las particiones 646 un tamano de 4x4.
La unidad 650 de codificacion, que tiene el tamano de 4x4 y la profundidad de 4, es la unidad de codificacion minima y una unidad de codificacion de la profundidad mas baja. Una unidad de prediccion de la unidad 650 de codificacion solo esta asignada a una particion que tiene un tamano de 4x4.
Con el fin de determinar la al menos una profundidad codificada de las unidades de codificacion que constituyen la unidad 610 de codificacion maxima, el codificador 110 jerarquico del aparato 100 de codificacion de video realiza la codificacion para las unidades de codificacion correspondientes a cada profundidad incluida en la unidad 610 de codificacion maxima.
El numero de unidades de codificacion mas profundas de acuerdo con las profundidades que incluyen datos en el mismo intervalo y el mismo tamano aumenta a medida que la profundidad se profundiza. Por ejemplo, se requieren cuatro unidades de codificacion correspondientes a una profundidad de 2 para cubrir los datos que se incluyen en una unidad de codificacion correspondiente a una profundidad de 1. Por consiguiente, con el fin de comparar los resultados de codificacion de los mismos datos de acuerdo con las profundidades, se codifican cada una de la unidad de codificacion correspondiente a la profundidad de 1 y cuatro unidades de codificacion correspondientes a la profundidad de 2.
Con el fin de realizar la codificacion para una profundidad actual de entre las profundidades, puede seleccionarse el menor error de codificacion para la profundidad actual ejecutando la codificacion para cada unidad de prediccion en las unidades de codificacion correspondientes a la profundidad actual, a lo largo del eje horizontal de la estructura 600 jerarquica. Como alternativa, puede buscarse el error de codificacion mmimo para comparar los errores de codificacion mmimos de acuerdo con las profundidades y realizar la codificacion para cada profundidad a medida que la profundidad se profundiza a lo largo del eje vertical de la estructura 600 jerarquica. Una profundidad y una particion que tienen el error de codificacion mmimo en la unidad 610 de codificacion maxima pueden seleccionarse como la profundidad codificada y un tipo de particion de la unidad 610 de codificacion maxima.
La figura 7 es un diagrama para describir una relacion entre una unidad 710 de codificacion y las unidades 720 de transformacion, de acuerdo con una realizacion de la presente invencion.
5
10
15
20
25
30
35
40
45
50
55
El aparato 100 de codificacion de v^deo o el aparato 200 de decodificacion de v^deo codifica o decodifica una imagen de acuerdo con las unidades de codificacion que tienen tamanos mas pequenos o iguales que una unidad de codificacion maxima para cada unidad de codificacion maxima. Los tamanos de las unidades de transformacion para la transformacion durante la codificacion pueden seleccionarse basandose en las unidades de datos que no son mas grandes que una unidad de codificacion correspondiente.
Por ejemplo, en el aparato 100 de codificacion de video o el aparato 200 de decodificacion de video, si un tamano de la unidad 710 de codificacion es 64x64, la transformacion puede realizarse usando las unidades 720 de transformacion que tienen un tamano de 32x32.
Ademas, los datos de la unidad 710 de codificacion que tiene el tamano de 64x64 pueden codificarse realizando la transformacion en cada una de las unidades de transformacion que tienen el tamano de 32x32, 16x16, 8x8, y 4x4, que son mas pequenas que 64x64, y a continuacion puede seleccionarse una unidad de transformacion que tenga el menor error de codificacion.
La figura 8 es un diagrama para describir la informacion de codificacion de las unidades de codificacion correspondientes a una profundidad codificada, de acuerdo con una realizacion de la presente invencion.
Una unidad 130 de salida del aparato 100 de codificacion de video puede codificar y transmitir la informacion 800 acerca de un tipo de particion, la informacion 810 acerca de un modo de prediccion, y la informacion 820 acerca de un tamano de una unidad de transformacion a cada unidad de codificacion correspondiente para una profundidad codificada, como una informacion acerca de un modo de codificacion.
La informacion 800 indica informacion acerca de una forma de una particion obtenida dividiendo una unidad de prediccion de una unidad de codificacion actual, en la que la particion es una unidad de datos para la prediccion que codifica la unidad de codificacion actual. Por ejemplo, una unidad CU_0 de codificacion actual que tiene un tamano de 2Nx2N puede dividirse en una cualquiera de una particion 802 que tiene un tamano de 2Nx2N, una particion 804 que tiene un tamano de 2NxN, una particion 806 que tiene un tamano de Nx2N y una particion 808 que tiene un tamano de NxN. En este caso, la informacion 800 acerca de un tipo de particion se establece para indicar que una de la particion 802 tiene un tamano de 2Nx2N, la particion 804 tiene un tamano de 2NxN, la particion 806 tiene un tamano de Nx2N, y la particion 808 tiene un tamano de NxN.
La informacion 810 indica un modo de prediccion de cada particion. Por ejemplo, la informacion 810 puede indicar un modo de codificacion de prediccion realizado en una particion indicada por la informacion 800, es decir, un intra modo 812, un inter modo 814 o un modo 816 de salto.
La informacion 820 indica una unidad de transformacion en la que se basa cuando se realiza la transformacion en una unidad de codificacion actual. Por ejemplo, la unidad de transformacion puede ser una primera unidad 822 de intra transformacion, una segunda unidad 824 de intra transformacion, una primera unidad 826 de inter transformacion o una segunda unidad 828 de inter transformacion.
La unidad 210 de extraccion de datos de imagen y datos de codificacion del aparato 200 de decodificacion de video puede extraer y usar la informacion 800, la informacion acerca de las unidades de codificacion, la informacion 810 acerca de un modo de prediccion, y la informacion 820 acerca de un tamano de una unidad de transformacion, para la decodificacion, de acuerdo con cada unidad de codificacion mas profunda.
La figura 9 es un diagrama de unas unidades de codificacion mas profunda de acuerdo con las profundidades, de acuerdo con una realizacion de la presente invencion.
La informacion de division puede usarse para indicar un cambio de una profundidad. La informacion de division indica si una unidad de codificacion de una profundidad actual se divide en unidades de codificacion de una profundidad mas baja.
Una unidad 910 de prediccion para la codificacion de prediccion de una unidad de codificacion 900 que tiene una profundidad de 0 y un tamano de 2N_0x2N_0 puede incluir particiones de un tipo 912 de particion que tiene un tamano de 2N_0x2N_0, un tipo 914 de particion que tiene un tamano de 2N_0xN_0, un tipo 916 de particion que tiene un tamano de N_0x2N_0, y un tipo 918 de particion que tiene un tamano de N_0xN_0. La figura 9 solo ilustra los tipos 912 a 918 de particion que se obtienen dividiendo simetricamente la unidad 910 de prediccion, pero un tipo de particion no esta limitado a los mismos, y las particiones de la unidad 910 de prediccion pueden incluir particiones asimetricas, particiones que tienen una forma predeterminada y particiones que tienen una forma geometrica.
La codificacion de prediccion se realiza repetidamente en una particion que tiene un tamano de 2N_0x2N_0, dos particiones que tienen un tamano de 2N_0xN_0, dos particiones que tienen un tamano de N_0x2N_0, y cuatro particiones que tienen un tamano de N_0xN_0, de acuerdo con cada tipo de particion. La codificacion de prediccion en un intra modo y un inter modo puede realizarse en las particiones que tienen los tamanos de 2N_0x2N_0, N_0x2N_0, 2N_0xN_0 y N_0xN_0. La codificacion de prediccion en un modo de salto se realiza solo en la particion que tiene el tamano de 2N_0x2N_0.
5
10
15
20
25
30
35
40
45
50
55
Si un error de codificacion es el mas pequeno en uno de los tipos 912 a 916 de particion que tienen los tamanos de 2N_0x2N_0, 2N_0xN_0 y N_0x2N_0, la unidad 910 de prediccion no puede dividirse en una profundidad mas baja.
Si el error de codificacion es el mas pequeno en el tipo 918 de particion que tiene el tamano de N_0xN_0, se cambia una profundidad de 0 a 1 para dividir el tipo 918 de particion en la operacion 920, y la codificacion se realiza repetidamente en las unidades de codificacion de tipo de particion que tienen una profundidad de 2 y un tamano de N_0xN_0 para buscar un error de codificacion mmimo.
Una unidad 940 de prediccion para la codificacion de prediccion de la unidad 930 de codificacion (tipo de particion) que tiene una profundidad de 1 y un tamano de 2N_1x2N_1 (= N_0xN_0) puede incluir particiones de un tipo 942 de particion que tiene un tamano de 2N_1x2N_1, un tipo 944 de particion tiene un tamano de 2N_1xN_1, un tipo 946 de particion que tiene un tamano de N_1 x2N_1, y un tipo 948 de particion que tiene un tamano de N_1 xN_1.
Si un error de codificacion es el mas pequeno en el tipo 948 de particion que tiene el tamano de N_1XN_1, se cambia una profundidad de 1 a 2 para dividir el tipo 948 de particion en la operacion 950, y la codificacion se realiza repetidamente en las unidades 960 de codificacion, que tienen una profundidad de 2 y un tamano de N_2xN_2 para buscar un error de codificacion mmimo.
Cuando una profundidad maxima es d, puede realizarse una operacion de division de acuerdo con cada profundidad hasta que una profundidad se convierta en d-1, y la informacion de division puede codificarse como cuando una profundidad es una de 0 a d-2. En otras palabras, cuando la codificacion se realiza hasta cuando la profundidad es d-1 despues de que una unidad de codificacion correspondiente a una profundidad de d-2 se divida en la operacion 970, una unidad 990 de prediccion para la codificacion de prediccion de una unidad 980 de codificacion que tiene una profundidad de d-1 y un tamano de 2N_(d-1)x2N_(d-1) puede incluir particiones de un tipo 992 de particion que tiene un tamano de 2N_(d-1)x2N_(d-1), un tipo 994 de particion que tiene un tamano de 2N_(d-1)xN_(d-1), un tipo 996 de particion que tiene un tamano de N_(d-1)x2N_(d-1) y un tipo 998 de particion que tiene un tamano de N_(d- 1)xN_(d-1).
La codificacion de prediccion puede realizarse repetidamente en una particion que tiene un tamano de 2N_ (d- 1)x2N_(d-1), dos particiones que tienen un tamano de 2N_(d-1)xN_(d-1), dos particiones que tienen un tamano de N_(d-1)x2N_(d-1), cuatro particiones que tienen un tamano de N_(d-1)xN_(d-1) de entre los tipos 992 a 998 de particion para buscar un tipo de particion que tenga un error de codificacion mmimo.
Incluso cuando el tipo 998 de particion que tiene el tamano de N_(d-1)xN_(d-1) tiene el error de codificacion mmimo, ya que una profundidad maxima es d, una unidad CU_(d-1) de codificacion tiene una profundidad de d-1 que ya no se divide a una profundidad mas baja, y se determina que una profundidad codificada para las unidades de codificacion que constituyen la unidad 900 de codificacion maxima actual es d-1 y puede determinarse que un tipo de particion de la unidad 900 de codificacion maxima actual sea N_(d-1)xN_(d-1). Ademas, ya que la profundidad maxima es d, no se establece la informacion de division para la unidad 952 de codificacion minima.
Una unidad 999 de datos puede ser una 'unidad minima’ para la unidad de codificacion maxima actual. Una unidad minima de acuerdo con una realizacion de la presente invencion puede ser una unidad de datos rectangular obtenida dividiendo la unidad 980 de codificacion minima por4. Realizando la codificacion repetidamente, el aparato 100 de codificacion de video puede seleccionar una profundidad que tenga el menor error de codificacion comparando los errores de codificacion de acuerdo con las profundidades de la unidad 900 de codificacion para determinar una profundidad codificada, y establecer un tipo de particion correspondiente y un modo de prediccion como un modo de codificacion de la profundidad codificada.
Como tal, los errores de codificacion mmimos de acuerdo con las profundidades se comparan en todas las profundidades de 1 a d, y puede determinarse una profundidad que tiene el error de codificacion mmimo como una profundidad codificada. La profundidad codificada, el tipo de particion de la unidad de prediccion y el modo de prediccion pueden codificarse y transmitirse como informacion acerca de un modo de codificacion. Ademas, ya que una unidad de codificacion se divide desde una profundidad de 0 a una profundidad codificada, solo la informacion de division de la profundidad codificada se establece en 0, y la informacion de division de las profundidades que excluye la profundidad codificada se establece en 1.
El decodificador 220 de entropfa del aparato 200 de decodificacion de video puede extraer y usar la informacion acerca de la profundidad codificada y la unidad de prediccion de la unidad 900 de codificacion para decodificar la unidad 912 de codificacion. El aparato 200 de decodificacion de video puede determinar una profundidad, en la que la informacion de division es 0, como una profundidad codificada, usando la informacion de division de acuerdo con las profundidades, y usa la informacion acerca de un modo de codificacion de la profundidad correspondiente para la decodificacion.
Las figuras 10 a 12 son diagramas para describir una relacion entre las unidades 1010 de codificacion, las unidades 1060 de prediccion y las unidades 1070 de transformacion de acuerdo con una realizacion de la presente invencion.
Las unidades 1010 de codificacion son unidades de codificacion que tienen una estructura de arbol, correspondiente a unas profundidades codificadas determinadas por el aparato 100 de codificacion de video, en una unidad de
5
10
15
20
25
30
35
40
codificacion maxima. Las unidades 1060 de prediccion son particiones de las unidades de prediccion de cada una de las unidades 1010 de codificacion, y las unidades 1070 de transformacion son unidades de transformacion de cada una de las unidades 1010 de codificacion.
Cuando una profundidad de una unidad de codificacion maxima es 0 en las unidades 1010 de codificacion, las profundidades de las unidades 1012 y 1054 de codificacion son 1, las profundidades de las unidades 1014, 1016, 1018, 1028, 1050 y 1052 de codificacion son 2, las profundidades de las unidades 1020, 1022, 1024, 1026, 1030, 1032 y 1048 de codificacion son 3, y las profundidades de las unidades 1040, 1042, 1044 y 1046 de codificacion son 4.
En las unidades 1060 de prediccion, algunas unidades 1014, 1016, 1022, 1032, 1048, 1050, 1052 y 1054 de codificacion se obtienen dividiendo las unidades de codificacion. En otras palabras, los tipos de particion en las unidades 1014, 1022, 1050 y 1054 de codificacion tienen un tamano de 2NxN, los tipos de particion en las unidades 1016, 1048 y 1052 de codificacion tienen un tamano de Nx2N y un tipo de particion de la unidad 1032 de codificacion tiene un tamano de NxN. Las unidades de prediccion y las particiones de las unidades 1010 de codificacion son mas pequenas o iguales que cada unidad de codificacion.
La transformacion o transformacion inversa se realiza en los datos de imagen de la unidad 1052 de codificacion en las unidades 1070 de transformacion en una unidad de datos que es mas pequena que la unidad 1052 de codificacion. Ademas, las unidades 1014, 1016, 1022, 1032, 1048, 1050, 1052 y 1054 de codificacion en las unidades 1070 de transformacion son diferentes de aquellas en las unidades 1060 de prediccion en terminos de tamanos y formas. En otras palabras, el aparato 100 de codificacion de video y el aparato 200 de decodificacion de video pueden realizar intra prediccion, estimacion de movimiento, compensacion de movimiento, transformacion y transformacion inversa individualmente en una unidad de datos en la misma unidad de codificacion.
Por consiguiente, la codificacion se realiza de manera recursiva en cada una de las unidades de codificacion que tienen una estructura jerarquica en cada region de una unidad de codificacion maxima para determinar una unidad de codificacion optima, y por lo tanto, pueden obtenerse unidades de codificacion que tienen una estructura de arbol recursiva. La informacion de codificacion puede incluir informacion de division acerca de una unidad de codificacion, informacion acerca de un tipo de particion, informacion acerca de un modo de prediccion e informacion acerca de un tamano de una unidad de transformacion.
La Tabla 1 muestra la informacion de codificacion que puede establecerse mediante el aparato 100 de codificacion de video y el aparato 200 de decodificacion de video.
Tabla 1
Informacion de division 0 Informacion de
(Codificacion en la unidad de codificacion que tiene el tamano de 2Nx2N y la profundidad
division 1
actual de d)
Modo de
Tipo de particion Tamano de la unidad de transformacion Codifica de
prediccion
manera repetida las unidades de
Tipo de Tipo de particion Informacion de Informacion de codificacion que
Intra
particion asimetrica division 0 division 1 tienen la
simetrica
de la unidad de de la unidad de profundidad mas
Inter
transformacion transformacion baja de d+1
2NxnU 2NxnU 2Nx2N NxN
Salto (Solo
2NxnD 2NxnD (Tipo de particion
nlx2N
nlx2N
simetrica)
nRx2N
nRx2N
2Nx2N)
N/2xN/2
(Tipo de particion
asimetrica)
El codificador 120 de entropfa del aparato 100 de codificacion de video puede emitir la informacion de codificacion acerca de las unidades de codificacion que tienen una estructura de arbol, y el decodificador 220 de entropfa del aparato 200 de decodificacion de video puede extraer la informacion de codificacion acerca de las unidades de codificacion que tienen una estructura de arbol a partir de una secuencia de bits recibida.
La informacion de division indica si una unidad de codificacion actual se divide en unidades de codificacion de una profundidad mas baja. Si la informacion de division de una profundidad actual d es 0, una profundidad, en la que una unidad de codificacion actual ya no se divide en una profundidad menor, es una profundidad codificada, y por lo tanto puede definirse una informacion acerca de un tipo de particion, un modo de prediccion y un tamano de una unidad de transformacion para la profundidad codificada. Si la unidad de codificacion actual se divide adicionalmente de acuerdo con la informacion de division, la codificacion se realiza independientemente en cuatro unidades de
5
10
15
20
25
30
35
40
45
50
55
codificacion de division de una profundidad mas baja.
Un modo de prediccion puede ser uno de entre un intra modo, un inter modo y un modo de salto. El intra modo y el inter modo pueden definirse en todos los tipos de particion, y el modo de salto se define solo en un tipo de particion que tenga un tamano de 2Nx2N.
La informacion acerca del tipo de particion puede indicar unos tipos de particiones simetricas que tienen tamanos de 2Nx2N, 2NxN, Nx2N, y NxN, que se obtienen dividiendo simetricamente la altura o la anchura de una unidad de prediccion, y unos tipos de particiones asimetricas que tienen tamanos de 2NxnU, 2NxnD, nLx2N y nRx2N, que se obtienen dividiendo asimetricamente la altura o la anchura de la unidad de prediccion. Los tipos de particiones asimetricas que tienen los tamanos de 2NxnU y 2NxnD pueden obtenerse respectivamente dividiendo la altura de la unidad de prediccion en 1:n y n:1 (donde n es un numero entero mas grande que 1), y los tipos de particion asimetricos que tienen los tamanos de nLx2N y nRx2N pueden obtenerse respectivamente dividiendo la anchura de la unidad de prediccion en 1:n y n:1.
El tamano de la unidad de transformacion puede establecerse para ser de dos tipos en el intra modo y dos tipos en el inter modo. En otras palabras, si la informacion de division de la unidad de transformacion es 0, el tamano de la unidad de transformacion puede ser 2Nx2N, que es el tamano de la unidad de codificacion actual. Si la informacion de division de la unidad de transformacion es 1, las unidades de transformacion pueden obtenerse dividiendo la unidad de codificacion actual. Ademas, si un tipo de particion de la unidad de codificacion actual que tiene el tamano de 2Nx2N es un tipo de particion simetrica, el tamano de una unidad de transformacion puede ser NxN, y si el tipo de particion de la unidad de codificacion actual es un tipo de particion asimetrica, el tamano de la unidad de transformacion puede ser N/2xN/2.
La informacion de codificacion acerca de unidades de codificacion que tienen una estructura de arbol puede incluir al menos una de entre una unidad de codificacion correspondiente a una profundidad codificada, una unidad de prediccion y una unidad minima. La unidad de codificacion correspondiente a la profundidad codificada puede incluir al menos una de entre una unidad de prediccion y una unidad minima que contiene la misma informacion de codificacion.
Por consiguiente, se determina si las unidades de datos adyacentes se incluyen en la misma unidad de codificacion correspondiente a la profundidad codificada comparando la informacion de codificacion de las unidades de datos adyacentes. Ademas, una unidad de codificacion correspondiente que corresponde a una profundidad codificada se determina usando la informacion de codificacion de una unidad de datos, y de este modo puede determinarse una distribucion de las profundidades codificadas en una unidad de codificacion maxima.
Por consiguiente, si una unidad de codificacion actual se predice basandose en la informacion de codificacion de las unidades de datos adyacentes, puede hacerse referencia y usarse directamente la informacion de codificacion de las unidades de datos en las unidades de codificacion mas profundas adyacentes a la unidad de codificacion de corriente.
Como alternativa, si una unidad de codificacion actual se predice basandose en la informacion de codificacion de las unidades de datos adyacentes, las unidades de datos adyacentes a la unidad de codificacion actual se buscan usando la informacion codificada de las unidades de datos, y las unidades de codificacion adyacentes buscadas pueden hacerse referencia para predecir la unidad de codificacion actual.
La figura 13 es un diagrama para describir una relacion entre una unidad de codificacion, una unidad de prediccion y una unidad de transformacion de acuerdo con la informacion de modo de codificacion de la Tabla 1.
Una unidad 1300 de codificacion maxima incluye las unidades 1302, 1304, 1306, 1312, 1314, 1316 y 1318 de codificacion de profundidades codificadas. En este caso, ya que la unidad 1318 de codificacion es una unidad de codificacion de una profundidad codificada, la informacion de division puede establecerse en 0. La informacion acerca de un tipo de particion de la unidad 1318 de codificacion que tiene un tamano de 2Nx2N puede establecerse
para ser una de un tipo 1322 de particion que tiene un tamano de 2Nx2N, un tipo 1324 de particion que tiene un
tamano de 2NxN, un tipo 1326 de particion que tiene un tamano de Nx2N, un tipo 1328 de particion que tiene un
tamano de NxN, un tipo 1332 de particion que tiene un tamano de 2NxnU, un tipo 1334 de particion que tiene un
tamano de 2NxnD, un tipo 1336 de particion que tiene un tamano de nLx2N, y un tipo 1338 de particion que tiene un tamano de nRx2N.
Cuando el tipo de particion se establece para ser simetrico, es decir, el tipo 1322, 1324, 1326 o 1328 de particion, se establece una unidad 1342 de transformacion que tiene un tamano de 2Nx2N si la informacion de division (bandera de tamano TU) de una unidad de transformacion es 0, y se establece una unidad 1344 de transformacion que tiene un tamano de NxN si una bandera de tamano TU es 1.
Cuando el tipo de particion se establece para ser asimetrico, es decir, el tipo 1332, 1334, 1336 o 1338 de particion, se establece una unidad 1352 de transformacion que tiene un tamano de 2Nx2N si una bandera de tamano TU es 0 y se establece una unidad 1354 de transformacion que tiene un tamano de N/2xN/2 si una bandera de tamano TU es 1.
5
10
15
20
25
30
35
40
45
50
55
La bandera de tamano TU es un tipo de mdice de transformacion; un tamano de una unidad de transformacion correspondiente a un mdice de transformacion puede modificarse de acuerdo con un tipo de unidad de prediccion o un tipo de particion de una unidad de codificacion.
Cuando el tipo de particion se establece para ser simetrico, es decir, el tipo 1322, 1324, 1326 o 1328 de particion, se establece la unidad 1342 de transformacion que tiene un tamano de 2Nx2N si una bandera de tamano TU de una unidad de transformacion es 0, y se establece la unidad 1344 de transformacion que tiene un tamano de NxN si una bandera de tamano TU es 1.
Cuando el tipo de particion se establece para ser asimetrico, es decir, el tipo 1332 (2NxnU), 1334 (2NxnD), 1336 (nLx2N) o 1338 (nRx2N) de particion, se establece la unidad 1352 de transformacion que tiene un tamano de 2Nx2N si una bandera de tamano TU es 0, y se establece la unidad 1354 de transformacion que tiene un tamano de N/2xN/2 si una bandera de tamano TU es 1.
Haciendo referencia a la figura 9, la bandera de tamano TU descrita anteriormente es una bandera que tiene un valor de 0 o 1, pero la bandera de tamano TU no esta limitada a 1 bit, y una unidad de transformacion puede dividirse jerarquicamente mientras que la bandera de tamano TU aumenta desde 0. La unidad de transformacion divide la informacion (bandera de tamano TU) puede usarse como un ejemplo de mdice de transformacion.
En este caso, cuando se usa una bandera de tamano TU de acuerdo con una realizacion con un tamano maximo y un tamano mmimo de una unidad de transformacion, puede expresarse el tamano de la unidad de transformacion realmente usada. El aparato 100 de codificacion de video puede codificar la informacion de tamano de unidad de transformacion maxima, la informacion de tamano de unidad de transformacion minima y la informacion de division maxima de unidad de transformacion. La informacion de tamano de unidad de transformacion maxima codificada, la informacion de tamano de unidad de transformacion minima y la informacion de division de unidad de transformacion maxima pueden insertarse en un conjunto de parametros de secuencia (SPS). El aparato 200 de decodificacion de video puede usar la informacion de tamano de unidad de transformacion maxima, la informacion de tamano de unidad de transformacion minima y la informacion de division de unidad de transformacion maxima para la decodificacion de video.
Por ejemplo, (a) si un tamano de una unidad de codificacion actual es 64x64 y una unidad de transformacion maxima es 32x32, (a-1) un tamano de una unidad de transformacion es 32x32 si una bandera de tamano TU es 0; (a-2) el tamano de una unidad de transformacion es 16x16 si una bandera de tamano TU es 1; y (a-3) el tamano de una unidad de transformacion es 8x8 si una bandera de tamano TU es 2.
Como alternativa, (b) si un tamano de una unidad de codificacion actual es 32x32 y una unidad de transformacion minima es de 32x32, (b-1) un tamano de una unidad de transformacion es 32x32 si una bandera de tamano TU es 0, y ya que el tamano de una unidad de transformacion no puede ser mas pequeno que 32x32, no pueden establecerse mas banderas de tamano TU.
Como alternativa, (c) si un tamano de una unidad de codificacion actual es 64x64 y una bandera de tamano TU maximo es 1, una bandera de tamano TU puede ser 0 o 1 y no pueden establecerse otras banderas de tamano TU.
Por consiguiente, al definir una bandera de tamano TU maximo como 'MaxTransformSizelndex', una bandera de tamano TU mmimo como 'MinTransformSize', y una unidad de transformacion en el caso cuando una bandera de tamano TU es 0, es decir, una unidad RootTu de transformacion basica como 'RootTuSize', un tamano de una unidad 'CurrMinTuSize' de transformacion minima, que esta disponible en una unidad de codificacion actual, puede definirse mediante la ecuacion (1) a continuacion.
CurrMinTuSize = Max (MinTransformSize, RootTuSize/(2AMaxTransformSizeIndex)) ... (1)
En comparacion con el tamano de la unidad de transformacion minima 'CurrMinTuSize' que esta disponible en la unidad de codificacion actual, el tamano de la unidad de transformacion basica 'RootTuSize', que es un tamano de una unidad de transformacion cuando una bandera de tamano TU es 0, puede indicar una unidad de transformacion maxima que puede seleccionarse con respecto a un sistema. Es decir, de acuerdo con la Ecuacion (1), 'RootTuSize/(2AMaxTransformSizelndex)' es el tamano de una unidad de transformacion que se obtiene dividiendo 'RootTuSize', que es el tamano de una unidad de transformacion cuando la informacion de division de unidad de transformacion es 0, por el numero de tiempos de division correspondientes a la informacion de division maxima de unidad de transformacion, y 'MinTransformSize' es el tamano de una unidad de transformacion minima, y por lo tanto, un valor mas pequeno de los que puede ser 'CurrMinTuSize' que es el tamano de la unidad de transformacion minima que esta disponible en la unidad de codificacion actual.
El tamano de la unidad 'RootTuSize' de transformacion basica de acuerdo con una realizacion de la presente invencion puede variar de acuerdo con un modo de prediccion.
Por ejemplo, si un modo de prediccion actual es un inter modo, RootTuSize puede determinarse de acuerdo con la ecuacion (2) a continuacion. En la ecuacion (2), 'MaxTransformSize' se refiere a un tamano de unidad de transformacion maximo, y 'PUSize' se refiere a un tamano de unidad de prediccion actual.
5
10
15
20
25
30
35
40
45
50
55
RootTuSize = min (MaxTransformSize, PUSize)... (2)
En otras palabras, si un modo de prediccion actual es un inter modo, el tamano del tamano 'RootTuSize' de unidad de transformacion basica, que es una unidad de transformacion si una bandera de tamano TU es 0, puede establecerse en un valor mas pequeno de entre el tamano de unidad de transformacion maximo y el tamano de unidad de prediccion actual.
Si un modo de prediccion de una unidad de particion actual es un intra modo, 'RootTuSize' puede determinarse de acuerdo con la ecuacion (3) a continuacion. 'PartitionSize' se refiere a un tamano de la unidad de particion actual.
RootTuSize = min (MaxTransformSize, PartitionSize). (3)
En otras palabras, si un modo de prediccion actual es un intra modo, el tamano 'RootTuSize' de unidad de transformacion basica puede establecerse en un valor mas pequeno entre el tamano de unidad de transformacion maximo y el tamano de unidad de particion actual.
Sin embargo, debena observarse que el tamano del tamano 'RootTuSize' de unidad de transformacion basica, que es el tamano de unidad de transformacion maxima actual de acuerdo con una realizacion de la presente invencion y vana de acuerdo con un modo de prediccion de una unidad de particion, es un ejemplo, y los factores para determinar el tamano de unidad de transformacion maximo actual no estan limitados a los mismos.
En lo sucesivo en el presente documento, se describiran en detalle una operacion de codificacion de entropfa de un elemento de sintaxis, que se realiza en el codificador 120 de entropfa del aparato 100 de codificacion de video de la figura 1, y una operacion de decodificacion de entropfa de un elemento de sintaxis, que se realiza en el decodificador 220 de entropfa del aparato 200 de decodificacion de video de la figura 2.
Como se ha descrito anteriormente, el aparato 100 de codificacion de video y el aparato 200 de decodificacion de video realizan la codificacion y la decodificacion dividiendo una unidad de codificacion maxima en unidades de codificacion que son mas pequenas o iguales que una unidad de maxima. Una unidad de prediccion y una unidad de transformacion utilizadas en prediccion y transformacion pueden determinarse basandose en los costes independientemente de otras unidades de datos. Ya que una unidad de codificacion optima puede determinarse codificando recursivamente cada unidad de codificacion que tiene una estructura jerarquica incluida en la unidad de codificacion maxima, pueden configurarse las unidades de datos que tienen una estructura de arbol. En otras palabras, para cada unidad de codificacion maxima, puede configurarse una unidad de codificacion que tiene una estructura de arbol, y una unidad de prediccion y una unidad de transformacion, teniendo cada una de las mismas una estructura de arbol. Para decodificar, necesita transmitirse informacion jerarquica, que es informacion que indica la informacion de estructura de las unidades de datos que tienen una estructura jerarquica y una informacion no jerarquica para la decodificacion ademas de la informacion jerarquica.
La informacion relacionada con una estructura jerarquica es la informacion necesaria para determinar una unidad de codificacion que tiene una estructura de arbol, una unidad de prediccion que tiene una estructura de arbol, y una unidad de transformacion que tiene una estructura de arbol, como se ha descrito anteriormente haciendo referencia a las figuras 10 a 12, e incluye una bandera de division de unidad de transformacion (bandera de tamano TU) que indica un tamano de una unidad de codificacion maxima, una profundidad codificada, una informacion de particion de una unidad de prediccion, una bandera de division que indica si una unidad de codificacion esta dividida o no, una informacion de tamano de una unidad de transformacion, y una bandera de division de unidad de transformacion (bandera de tamano TU) que indica si una unidad de transformacion esta dividida o no. Los ejemplos de informacion de codificacion distinta de la informacion de estructura jerarquica incluyen informacion de modo de prediccion de intra/inter prediccion aplicada a cada unidad de prediccion, informacion de vector de movimiento, informacion de direccion de prediccion, informacion de componente de color aplicada a cada unidad de datos en el caso de que se use una pluralidad de componentes de color, e informacion de coeficiente de transformacion. En lo sucesivo en el presente documento, la informacion jerarquica y la informacion extrajerarquica pueden denominarse como un elemento de sintaxis que se codificara para ser entropfa codificada o entropfa decodificada.
En particular, de acuerdo con las realizaciones de la presente invencion, se proporciona un procedimiento para determinar un modelo de contexto para codificar la entropfa de manera eficaz y decodificar un nivel de un coeficiente de transformacion, es decir, la informacion de tamano de los elementos de sintaxis. En lo sucesivo en el presente documento, se describira en detalle un procedimiento para determinar un modelo de contexto para codificar la entropfa y decodificar un nivel de un coeficiente de transformacion.
La figura 14 es un diagrama de flujo que ilustra una operacion de codificacion y decodificacion de entropfa de la informacion de coeficiente de transformacion incluida en una unidad de transformacion, de acuerdo con una realizacion de la presente invencion.
Haciendo referencia a la figura 14, el coded_block_flag que indica si existe o no un coeficiente de transformacion que no es 0 (en lo sucesivo en el presente documento, denominado “coeficiente de significancia”) de entre los coeficientes de transformacion incluidos en una unidad de transformacion actual primero se codifica o decodifica por entropfa en la operacion 1410.
5
10
15
20
25
30
35
40
45
50
55
Si coded_block_flag es 0, solo hay coeficientes de transformacion de 0 en la unidad de transformacion actual, y por lo tanto solo un valor 0 se codifica o decodifica por entropfa como el coded_block_flag, y la informacion de nivel de coeficiente de transformacion no se codifica o decodifica por entropfa.
En la operacion 1420, si hay un coeficiente de significancia en la unidad de transformacion actual, se codifica o decodifica por entropfa un mapa SigMap de significancia que indica una localizacion de un coeficiente de significancia.
Un mapa SigMap de significancia puede estar formado por un bit significativo y una informacion predeterminada que indica una localizacion de un ultimo coeficiente de significancia. Un bit significativo indica si un coeficiente de transformacion de acuerdo con cada mdice de exploracion es un coeficiente de significancia o 0, y puede expresarse mediante significant_coeff_flag [i]. Como se describira mas adelante, un mapa de significancia se establece en unidades de subconjuntos que tienen un tamano predeterminado que se obtiene dividiendo una unidad de transformacion. En consecuencia, significant_coeff_flag [i] indica si un coeficiente de transformacion de un i-esimo mdice de exploracion de entre los coeficientes de transformacion incluidos en un subconjunto incluido en una unidad de transformacion es o no 0.
De acuerdo con el H.264 convencional, una bandera (Fin de Bloque) que indica si cada coeficiente de significancia es o no el ultimo coeficiente de significancia, esta adicionalmente codificado o decodificado por entropfa. Sin embargo, de acuerdo con una realizacion de la presente invencion, la propia informacion de localizacion del ultimo coeficiente de significancia esta codificada o decodificada por entropfa. Como se ha descrito anteriormente haciendo referencia a las figuras 1 a 13, el tamano de una unidad de transformacion de acuerdo con una realizacion de la presente invencion no esta limitado a 4x4, sino que tambien puede ser de un tamano mayor tal como 8x8, 16x16 o 32x32. Es ineficaz codificar o decodificar adicionalmente por entropfa una bandera (Fin de Bloque) que indica si cada coeficiente de significancia es el ultimo coeficiente de significancia ya que aumenta el tamano de la bandera (Fin de Bloque). Por consiguiente, de acuerdo con una realizacion de la presente invencion, la informacion de localizacion del ultimo coeficiente de significancia en sf mismo puede codificarse o decodificarse por entropfa. Por ejemplo, si una localizacion del ultimo coeficiente de significancia es (x, y), donde x e y son enteros, last_significant_coeff_x y last_significant_coeff_y, que son elementos de sintaxis que indican los valores de coordenadas de (x, y), pueden codificarse o decodificarse por entropfa.
En la operacion 1430, la informacion de nivel de coeficiente de transformacion que indica un tamano de un coeficiente de transformacion se codifica o decodifica por entropfa. De acuerdo con el H.264/AVC convencional, la informacion de nivel de un coeficiente de transformacion se expresa mediante coeff_abs_level_minus1 que es un elemento de sintaxis. De acuerdo con las realizaciones de la presente invencion, la informacion de nivel de un coeficiente de transformacion puede expresarse mediante coeff_abs_level_greater1_flag que es un elemento de sintaxis con respecto a si un valor absoluto de un coeficiente de transformacion es mas grande que 1, coeff_abs_level_greater2_flag que es un elemento de sintaxis con respecto a si un valor absoluto de un coeficiente de transformacion es mas grande que 2, y coeff_abs_level_remaining que indica la informacion de tamano del coeficiente de transformacion restante.
El elemento de sintaxis coeff_abs_level_remaining que indica la informacion de tamano del coeficiente de transformacion restante tiene una diferencia en un intervalo entre un tamano de un coeficiente de transformacion (absCoeff) y un valor baseLevel de nivel basico que se determina usando coeff_abs_level_greater1_flag y coeff_abs_level_greater2_flag. El valor baseLevel de nivel basico se determina de acuerdo con la ecuacion: baseLevel = 1 + coeff_abs_level_greather1_flag + coeff_abs_level_greather2_flag, y coeff_abs_level_remaining se determina de acuerdo con la ecuacion: coeff_abs_level_remaining = absCoeff-baseLevel. Mientras que coeff_abs_level_greater1_flag y coeff_abs_level_greater2_flag tienen un valor de 0 o 1, el valor baseLevel de nivel basico puede tener un valor de 1 a 3. En consecuencia, coeff_abs_level_remaining puede variar desde (absCoeff-1) a (absCoeff-3). Como se ha descrito anteriormente, (absCoeff-baseLevel), que es una diferencia entre el tamano de un coeficiente absCoeff de transformacion original y el valor baseLevel de nivel basico, se transmite como informacion de tamano de un coeficiente de transformacion con el fin de reducir el tamano de los datos transmitidos.
La figura 22 es un diagrama de bloques que ilustra una estructura de un aparato 2200 de codificacion de entropfa de acuerdo con una realizacion de la presente invencion. El aparato 2200 de codificacion de entropfa de la figura 22 se corresponde con el codificador 120 de entropfa del aparato 100 de codificacion de video de la figura 1.
Haciendo referencia a la figura 22, el aparato 2200 de codificacion de entropfa incluye un binarizador 2210, un modelador 2220 de contexto y un codificador 2230 aritmetico binario. Ademas, el codificador 2230 aritmetico binario incluye un motor 2232 de codificacion regular y un motor 2234 de codificacion de derivacion.
Cuando los elementos de sintaxis introducidos en el aparato 2100 de codificacion de entropfa no son valores binarios, el binarizador 2210 binariza los elementos de sintaxis con el fin de emitir una cadena binaria de longitud variable que consiste en valores binarios de 0 o 1. Un bin indica cada bit de una secuencia que consiste en 0 o 1, y esta codificada por codificacion aritmetica binaria adaptable al contexto (CABAC). Si un elemento de sintaxis son datos que incluyen 0 y 1 en las mismas frecuencias, el elemento de sintaxis se emite al motor 2234 de codificacion de derivacion, que no usa una probabilidad, para codificarse.
5
10
15
20
25
30
35
40
45
50
En particular, el binarizador 2210 binariza coeff_absjevel_remaining que es el elemento de sintaxis que indica la informacion de tamano de un coeficiente de transformacion, a una cadena de bits de prefijo y a una cadena de bits de sufijo, usando un parametro (cRiceParam). Una operacion para binarizar coeff_absjevel_remaining que es el elemento de sintaxis que indica la informacion de tamano de un coeficiente de transformacion usando el binarizador 2210 se describira mas adelante.
El modelador 2220 de contexto proporciona un modelo de probabilidad para codificar una cadena de bits correspondiente a un elemento de sintaxis al motor 2232 de codificacion regular. En detalle, el modelador 2220 de contexto emite una probabilidad de un valor binario para codificar cada valor binario de una cadena de bits de un elemento de sintaxis actual al codificador 2230 aritmetico binario.
Un modelo de contexto es un modelo de probabilidad de un bin, e incluye informacion acerca de cual de entre el 0 y el 1 corresponde a un sfmbolo mas probable (MPS) y a un sfmbolo menos probable (LPS) y a una probabilidad de MPS o LPS.
El motor 2232 de codificacion regular realiza una codificacion aritmetica binaria con respecto a una cadena de bits correspondiente a un elemento de sintaxis basandose en una informacion acerca de un MPS y un LPS proporcionados por el modelador 2220 de contexto y la informacion de probabilidad del MPS o del LPS.
Un modelo de contexto usado en codificar coeff_abs_level_remaining, que es el elemento de sintaxis que indica la informacion de tamano de un coeficiente de transformacion, puede establecerse por adelantado de acuerdo con un mdice de bin de un coeficiente de transformacion.
La figura 23 es un diagrama de bloques que ilustra una estructura de un aparato 2300 de binarizacion de acuerdo con una realizacion de la presente invencion. El aparato 2300 de binarizacion de la figura 23 se corresponde con el binarizador 2210 de la figura 22.
Haciendo referencia a la figura 23, el aparato 2300 de binarizacion incluye una unidad 2310 de determinacion de parametros y una unidad 2320 de generacion de secuencias de bits.
La unidad 2310 de determinacion de parametros compara un tamano de un coeficiente de transformacion anterior que se codifica antes de un coeficiente de transformacion actual, con un valor cntico predeterminado obtenido basandose en un parametro anterior usado en la binarizacion de un elemento de sintaxis de nivel de coeficiente de transformacion anterior que indica un tamano del coeficiente de transformacion anterior para determinar de este modo si renovar el parametro anterior. Ademas, la unidad 2310 de determinacion de parametros obtiene un parametro a usar en la binarizacion de un elemento de sintaxis de nivel de coeficiente de transformacion que indica un tamano del coeficiente de transformacion actual renovando o manteniendo el parametro anterior de acuerdo con un resultado de la determinacion.
En detalle, cuando el tamano del coeficiente de transformacion anterior es cLastAbsCoeff, y el parametro anterior es cLastRiceParam, la unidad 2310 de determinacion de parametros determina un parametro cRiceParam que se va a usar en la binarizacion del elemento de sintaxis de nivel de coeficientes de transformacion, coeff_abs_level_remaining, que indica el tamano del coeficiente de transformacion actual, basandose en el siguiente algoritmo.
cRiceParam = Min (cLastRiceParam + (cLastAbsLevel> (3 * (1 << cLastRiceParam))? 1:0), 4)
{
Si cLastAbsCoeff > 3 * (1 << LastRiceParam)
cRiceParam = Min (cLastRiceParam + 1, 4)
}
Como se ha descrito en el algoritmo anterior, la unidad 2310 de determinacion de parametros compara un esimo valor cntico que se obtiene basandose en la siguiente ecuacion: esimo = 3 * (1 << cLastRiceParam) y cLastRiceParam. La unidad 2310 de determinacion de parametros renueva el parametro anterior (cLastRiceParam) aumentando el mismo en 1 cuando cLastAbsCoeff es mas grande que el esimo valor cntico, y mantiene el parametro anterior sin renovar cuando cLastAbsCoeff no es mas grande que el esimo valor cntico.
Un parametro inicial se establece en 0. Cuando se renueva un parametro (cRiceParam), se aumenta gradualmente en +1 en comparacion con el parametro anterior (cLastRiceParam). Ademas, el esimo valor cntico usado para determinar las condiciones de renovacion de un parametro se determina de acuerdo con el parametro (cRiceParam), y de este modo, a medida que se renueva el parametro (cRiceParam), el esimo valor cntico tambien aumenta gradualmente. Es decir, el esimo valor cntico se establece para tener un valor que es proporcional al parametro anterior (cLastRiceParam), y cuando se renueva el parametro anterior (cLastRiceParam), el parametro (cRiceParam) tiene un valor que aumenta gradualmente en +1 en comparacion con el parametro anterior (cLastRiceParam). A medida que el parametro (cRiceParam) se renueva dentro del intervalo de 0 a 4, el esimo valor cntico se incrementa
gradualmente a 3, 6, 12 y 24.
La unidad 2320 de generacion de secuencias de bits binariza el elemento de sintaxis de nivel coeficiente de transformacion (coeff_absjevel_remaining) de un coeficiente de transformacion usando un parametro, y emite una cadena de bits correspondiente al elemento (coeff_abs_level_remaining) de sintaxis de nivel de coeficiente de 5 transformacion de un coeficiente de transformacion.
En detalle, la unidad 2320 de generacion de secuencias de bits obtiene un parametro cTrMax de acuerdo con la siguiente ecuacion: cTrMax = 4 << cRiceParam, usando el parametro obtenido (cRiceParam). El parametro CtrMax se usa como un estandar para dividir el elemento (coeff_abs_level_remaining) de sintaxis de nivel de coeficiente de transformacion en un prefijo y un sufijo.
10 La unidad 2320 de generacion de secuencias de bits divide un valor del elemento (coeff_abs_level_remaining) de sintaxis de nivel de coeficiente de transformacion basandose en el parametro cTrMax con el fin de obtener un prefijo que tiene un valor que no supera el parametro cTrMax y un sufijo que indica una porcion que supera el parametro cTrMax. La unidad 2320 de generacion de secuencias de bits determina un prefijo dentro de un intervalo que no supera cTrMax de acuerdo con la siguiente ecuacion: Prefijo = Min (cTrMax, coeff_abs_level_remaining). Un sufijo 15 existe solo cuando el elemento (coeff_abs_level_remaining) de sintaxis de nivel de coeficiente de transformacion tiene un valor mas grnade que cTrMax. El sufijo es un valor correspondiente a (coeff_abs_level_remaining - cTrMax). Cuando el elemento (coeff_abs_level_remaining) de sintaxis de nivel de coeficiente de transformacion no supera cTrMax, solo existe un prefijo. Por ejemplo, cuando el elemento (coeff_abs_level_remaining) de sintaxis de nivel de coeficiente de transformacion es 10 y el parametro cTrMax es 7, el elemento (coeff_abs_level_remaining) de 20 sintaxis de nivel de coeficiente de transformacion se clasifica en un prefijo que tiene un valor de 7 y un sufijo que tiene un valor de 3. Como alternativa, cuando el elemento (coeff_abs_level_remaining) de sintaxis de nivel de coeficiente de transformacion es 6 y el parametro cTrMax es 7, el elemento (coeff_abs_level_remaining) de sintaxis de nivel de coeficiente de transformacion se clasifica en un prefijo que tiene un valor de 6 y no tiene un sufijo.
Cuando un prefijo y un sufijo se determinan dividiendo el valor del elemento (coeff_abs_level_remaining) de sintaxis 25 de nivel de coeficiente de transformacion basandose en el parametro cTrMax, la unidad 2320 de generacion de secuencias de bits binariza el prefijo y el sufijo usando un procedimiento de binarizacion predeterminado que se establece por adelantado, para emitir las cadenas de bits correspondientes al prefijo y al sufijo. Por ejemplo, la unidad 2320 de generacion de secuencias de bits puede emitir una cadena de bits binarizando un prefijo que tenga un valor correspondiente a Min (cTrMax, coeff_abs_level_remaining) usando un procedimiento de binarizacion 30 unario truncado, y puede emitir una cadena de bits binarizando un sufijo que tenga un valor correspondiente a (coeff_abs_level_remaining-cTrMax) usando un procedimiento de Golomb exponencial K-esimo. Un valor de k puede determinarse usando el parametro (cRiceParam) determinado usando la unidad 2310 de determinacion de parametros. Por ejemplo, el valor de k puede tener un valor de cRiceParam + 1.
De acuerdo con el procedimiento de binarizacion unario truncado, el prefijo que tiene un valor de Min (cTrMax, 35 coeff_abs_level_remaining) puede binarizarse como se muestra a continuacion en la Tabla 2.
[Tabla 21
Min (cTrMax, coeff_abs_level_remaining)
Salida de cadena de bits
0
0
1
10
2
110
3
1110
La unidad 2320 de generacion de secuencias de bits puede generar una cadena de bits correspondiente a un prefijo y un sufijo de acuerdo con el parametro (cRiceParam) y hacer referencia a una tabla establecida por adelantado. De 40 acuerdo con un procedimiento de tabla de busqueda, la tabla establecida por adelantado puede establecerse de tal manera que la longitud de una cadena de bits correspondiente a un valor relativamente grande se reduzca a medida que aumenta el valor del parametro (cRiceParam).
Se describira en detalle una operacion para codificar por entropfa un elemento de sintaxis relacionado con una unidad de transformacion de acuerdo con una realizacion de la presente invencion haciendo referencia a las figuras 45 15 a 21.
La figura 15 ilustra una unidad 1500 de transformacion que esta codificada por entropfa de acuerdo con una realizacion de la presente invencion. Aunque se ilustra en la figura 15 la unidad 1500 de transformacion teniendo un tamano de 16x16, el tamano de la unidad 1500 de transformacion no esta limitado al tamano ilustrado de 16x16, sino que tambien puede ser de diversos tamanos, desde 4x4 hasta 32x32.
5
10
15
20
25
30
35
40
45
50
55
Haciendo referencia a la figura 15, para la codificacion y la decodificacion por entropfa del coeficiente de transformacion incluido en la unidad 1500 de transformacion, la unidad 1500 de transformacion puede dividirse en unidades de transformacion mas pequenas. En lo sucesivo en el presente documento, se describira una operacion para codificar por entrc^a un elemento de sintaxis relacionado con una unidad 1510 de transformacion de 4x4 incluida en la unidad 1500 de transformacion. Esta operacion para codificar por entropfa un elemento de sintaxis relacionado con la unidad 1510 de transformacion de 4x4 tambien puede aplicarse a una unidad de transformacion de diferentes tamanos.
Los coeficientes de transformacion incluidos en la unidad 1510 de transformacion de 4x4 tienen cada uno un coeficiente (absCoeff) de transformacion como se ilustra en la figura 15. Los coeficientes de transformacion incluidos en la unidad 1510 de transformacion de 4x4 pueden serializarse de acuerdo con un orden de exploracion predeterminado como se ilustra en la figura 15 y procesarse secuencialmente. Sin embargo, el orden de exploracion no esta limitado como se ilustra, sino que tambien puede modificarse.
Como se ha descrito anteriormente, los ejemplos de elementos de sintaxis relacionados con la unidad 1510 de transformacion de 4x4 son: significant_coeff_flag que es una sintaxis que indica si cada coeficiente de transformacion incluido en una unidad de transformacion es un coeficiente de transformacion significativo que tiene un valor que no es 0, coeff_abs_level_greater1_flag que es un elemento de sintaxis que indica si un valor absoluto del coeficiente de transformacion es mas grande que 1, coeff_abs_level_greater2_flag que es un elemento de sintaxis que indica si el valor absoluto es mas grande que 2, y coeff_abs_level_remaining que es un elemento de sintaxis que indica la informacion de tamano de los coeficientes de transformacion restantes.
La figura 16 ilustra un mapa 1600 SigMap de significancia correspondiente a la unidad 1510 de transformacion de la figura 15 de acuerdo con una realizacion de la presente invencion.
Haciendo referencia a las figuras 15 y 16, se establece el mapa 1600 SigMap de significancia que tiene un valor de 1 para cada uno de los coeficientes de transformacion significativos que tienen un valor que no es 0, de entre los coeficientes de transformacion incluidos en la unidad 1510 de transformacion de 4x4 de la figura 15. El mapa 1600 SigMap de significancia se codifica o decodifica por entropfa usando un modelo de contexto anteriormente establecido.
La figura 17 ilustra el coeff_abs_level_greater1_flag 1700 correspondiente a la unidad 1510 de transformacion de 4x4 de la figura 15.
Haciendo referencia a las figuras 15 a 17, se establece el coeff_abs_level_greater1_flag 1700 que es una bandera que indica si un coeficiente de transformacion de significancia correspondiente tiene un valor mas grande que 1, con respecto a los coeficientes de transformacion significativos para los que el mapa 1600 SigMap de significancia tiene un valor de 1. Cuando coeff_abs_level_greater1_flag 1700 es 1, indica que un coeficiente de transformacion correspondiente es un coeficiente de transformacion que tiene un valor mas grande que 1, y cuando coeff_abs_level_greater1_flag 1700 es 0, indica que un coeficiente de transformacion correspondiente es un coeficiente de transformacion que tiene un valor de 1. En la figura 17, cuando el coeff_abs_level_greater1_flag 1710 esta en una posicion de un coeficiente de transformacion que tiene un valor de 1, el coeff_abs_level_greater1_flag 1710 tiene un valor de 0.
La figura 18 ilustra el coeff_abs_level_greater2_flag 1800 correspondiente a la unidad 1510 de transformacion de 4x4 de la figura 15.
Haciendo referencia a las figuras 15 a 18, se establece el coeff_abs_level_greater2_flag 1800 que indica si un coeficiente de transformacion correspondiente tiene un valor mas grande que 2, con respecto a los coeficientes de transformacion para los que el coeff_abs_level_group_greater1_flag 1700 se establece en 1. Cuando el coeff_abs_level_greater2_flag 1800 es 1, indica que un coeficiente de transformacion correspondiente es un coeficiente de transformacion que tiene un valor mas grande que 2, y cuando el coeff_abs_level_greater2_flag 1800 es 0, indica que un coeficiente de transformacion correspondiente es un coeficiente de transformacion que tiene un valor de 2. En la figura 18, cuando el coeff_abs_level_greater2_flag 1810 esta en una posicion de un coeficiente de transformacion que tiene un valor de 2, el coeff_abs_level_greater2_flag 1810 tiene un valor de 0.
La figura 19 ilustra el coeff_abs_level_remaining 1910 correspondiente a la unidad 1510 de transformacion de 4x4 de la figura 15.
Haciendo referencia a las figuras 15 a 19, el coeff_abs_level_remaining 1900 que es un elemento de sintaxis que indica la informacion de tamano de los coeficientes de transformacion restantes puede obtenerse calculando (absCoeff-baseLevel) de cada coeficiente de transformacion.
Como se ha descrito anteriormente, el coeff_abs_level_remaining 1900 que es el elemento de sintaxis que indica la informacion de tamano de los coeficientes de transformacion restantes tiene una diferencia en un intervalo entre el tamano del coeficiente de transformacion (absCoeff) y un valor baseLevel de nivel basico determinado usando coeff_abs_level_greater1_flag y coeff_abs_level_greater2_flag. El valor baseLevel de nivel basico se determina de acuerdo con la ecuacion: baseLevel = 1 + coeff_abs_level_greather1_flag + coeff_abs_level_greather2_flag, y
5
10
15
20
25
30
35
40
45
50
55
60
coeff_absjevel_remaining se determina de acuerdo con la ecuacion: coeff_absjevel_remaining = absCoeff- baseLevel.
La unidad 2310 de determinacion de parametros lee el coeff_abs_level_remaining 1900 de acuerdo con el orden de exploracion ilustrado para obtener los tamanos de los coeficientes de transformacion tales como '0 3 12 3 3 3 4 4 5 5 8 8'.
La unidad 2310 de determinacion de parametros determina secuencialmente un parametro (cRiceParam) usado en la binarizacion de la informacion de tamano de cada coeficiente de transformacion de acuerdo con un orden de exploracion. En primer lugar, se establece en 0 un parametro inicial (cRiceParam). De acuerdo con el algoritmo descrito anteriormente, el parametro aumenta solo cuando se cumple una condicion cLastAbsCoeff > 3 * (1 << LastRiceParam). El parametro inicialmente establecido (cRiceParam) es 0 y mantiene este valor hasta que un tamano de un coeficiente de transformacion anterior (cLastAbsCoeff) tenga un valor de 3 * (1 << 0), es decir, un valor mas grande que 3. Haciendo referencia a la figura 19, un tamano de un tercer coeficiente de transformacion, '12' (1920), es mas grande que 3, y por lo tanto, cuando se binariza un tamano de un coeficiente de transformacion, que viene despues del coeficiente de transformacion '12' (1920), se usa el parametro (cRiceParam) que tiene un valor renovado de 0 a 1. Cuando el parametro (cRiceParam) se renueva a 1, el parametro (cRiceParam) se renueva nuevamente solo cuando se cumple una condicion de cLastAbsCoeff > 3 * (1 << 1) que es, cLastAbsCoeff > 6. Haciendo referencia a la figura 19, '8' (1930) que es un tamano de un segundo coeficiente de transformacion desde el ultimo es mas grande que 6, y por lo tanto, el parametro (cRiceParam) se renueva de 1 a 2.
La figura 20 ilustra una tabla que muestra unos elementos de sintaxis relacionados con las unidades 1510, 1600, 1700, 1800 y 1900 de transformacion ilustradas en las figuras 15 a 19. En la figura 20, GTR1 indica el coeff_abs_level_greater1_flag; GTR2 indica el coeff_abs_level_greater2_flag, y Restante indica el coeff_abs_level_remaining. Haciendo referencia a la figura 20, un elemento de sintaxis que indica un nivel de coeficiente de transformacion, coeff_abs_level_remaining, no es un valor binario y, por lo tanto, se binariza usando un parametro.
La figura 21 ilustra otro ejemplo de coeff_abs_level_remaining que se ha binarizado de acuerdo con una realizacion de la presente invencion.
Como se ha descrito anteriormente, un parametro (cRiceParam) inicial se establece en 0, y aumenta en +1 solo cuando se cumple una condicion de cLastAbsCoeff > 3 * (1 << cLastRiceParam). El parametro (cRiceParam) inicial tiene un valor de Min (cLastRiceParam + 1, 4) y, por lo tanto, el parametro renovado puede no tener un valor superior a 4. Un valor cntico, 3 * (1 << cLastRiceParam), que se usa en determinar si renovar un parametro tiene un valor de 3 * (1 << 0), 3 * (1 << 1), 3 * (1 << 2) o 3 * (1 << 3) de acuerdo con un parametro (cRiceParam) anterior usado en la binarizacion del tamano del coeficiente de transformacion anterior. Por consiguiente, el parametro (cRiceParam) aumenta en +1 despues del procesamiento de un coeficiente de transformacion que tiene un valor mas grande que 3, y a continuacion aumenta en +1 despues del procesamiento de un coeficiente de transformacion que es mas grande que 6, y a continuacion aumenta en +1 despues del procesamiento de un coeficiente de transformacion que es mas grande que 12, y aumenta en +1 un tiempo final despues de que se procese un coeficiente de transformacion que es mas grande que 24. Es decir, el parametro (cRiceParam) aumenta gradualmente en +1 tambien cuando existe una variacion abrupta en los valores de entre los coeficientes de transformacion.
Haciendo referencia a la figura 21, el parametro (cRiceParam) que tiene el valor inicialmente establecido de 0 aumenta en +1 despues del procesamiento por primera vez de un coeficiente 2110 de transformacion que tiene un valor de 12 y es mas grande que 3. Despues de que la unidad 2110 de transformacion que tiene un valor de 12, el parametro (cRiceParam) renovado se mantiene hasta que se procesa una unidad de transformacion mas grande que 6, que es un proximo valor cntico. Despues de que se procese un coeficiente 2120 de transformacion que tiene un valor de 8 que es mas grande que 6, que es el siguiente valor cntico, el parametro (cRiceParam) aumenta en +1 para tener un valor de 2. Despues de que la unidad 2120 de transformacion tenga un valor de 8, el parametro (cRiceParam) renovado se mantiene hasta que se procesa una unidad de transformacion mas grande que 12, que es el siguiente valor cntico. Despues de que la unidad de transformacion 2120 que tiene un valor de 8, despues de que un coeficiente de transformacion 2130 que tiene un valor de 13 que es mas grande que 12, que es el siguiente valor cntico, se procesen el parametro (cRiceParam) aumenta en +1 para tener un valor de 3. Despues de que la unidad 2130 de transformacion tenga un valor de 13, el parametro renovado (cRiceParam) se mantiene hasta que se procesa una unidad de transformacion mas grande que 24, que es el siguiente valor cntico. Despues de que la unidad 2130 de transformacion tenga un valor de 13, despues de que se procesa un coeficiente de transformacion 2140 que tiene un valor de 25 que es mas grande que 24, que es el siguiente valor cntico, el parametro (cRiceParam) aumenta en +1 para tener un valor de 4. En operaciones de binarizacion de coeficientes de transformacion despues de que el coeficiente de transformacion 2140 tenga un valor de 25, ya que el parametro (cRiceParam) ha alcanzado el maximo de 4, se usa el parametro (cRiceParam) de 4, y la operacion de renovacion ya no se realiza.
Como se ha descrito anteriormente, cuando el parametro (cRiceParam) usado en la binarizacion del elemento coeff_abs_level_remaining de sintaxis de nivel de coeficiente de transformacion que indica un tamano de un
5
10
15
20
25
30
35
40
45
50
55
coeficiente de transformacion actual se determina usando la unidad 2310 de determinacion de parametros, la unidad 2320 de generacion de secuencias de bits ordena el elemento coeff_absjevel_remaining de sintaxis de nivel de coeficiente de transformacion en un prefijo y un sufijo basandose en el parametro (cTrMax) que se determina usando el parametro (cRiceParam), y binariza el prefijo y el sufijo aplicando los procedimientos de binarizacion establecidos por adelantado con respecto al prefijo y el sufijo para emitir de este modo las cadenas de bits correspondientes a coeff_absjevel_remaining.
La figura 24 es un diagrama de flujo que ilustra un procedimiento de codificacion de entropfa para elementos de sintaxis que indican un nivel de coeficiente de transformacion de acuerdo con una realizacion de la presente invencion.
Haciendo referencia a la figura 24, en la operacion 2410, la unidad 2310 de determinacion de parametros obtiene los elementos (coeff_abs_level_remaining) de sintaxis de nivel de coeficientes de transformacion que indican los tamanos de los coeficientes de transformacion incluidos en una unidad de transformacion de acuerdo con un orden de exploracion predeterminado.
En la operacion 2420, la unidad 2310 de determinacion de parametros compara un tamano de un coeficiente (cLastAbsCoeff) de transformacion anterior que se codifica antes de un coeficiente de transformacion actual, con un valor cntico predeterminado que se obtiene basandose en el parametro (cLastRiceParam) anterior usado en la binarizacion de los elementos de sintaxis de nivel de coeficiente de transformacion anterior que indican el tamano del coeficiente (cLastAbsCoeff) de transformacion anterior, para determinar de este modo si debe renovarse el parametro (cLastRiceParam) anterior.
En la operacion 2430, la unidad 2310 de determinacion de parametros renueva o mantiene el parametro anterior basandose en un resultado de la determinacion de la operacion 2420 para obtener de este modo un parametro usado en la binarizacion de un elemento de sintaxis de nivel de coeficiente de transformacion que indica un tamano del coeficiente de transformacion actual. Como se ha descrito anteriormente, la unidad 2310 de determinacion de parametros compara un esimo valor cntico obtenido basandose en esimo = 3 * (1 << cLastRiceParam) con el parametro anterior cLastRiceParam; y cuando cLastAbsCoeff es mas grande que esimo, la unidad 2310 de determinacion de parametros renueva el parametro anterior aumentando el mismo en 1; y cuando cLastAbsCoeff no es mas grande que esimo, la unidad 2310 de determinacion de parametros no renueva pero mantiene el parametro anterior. Cuando se renueva el parametro anterior, el parametro renovado se incrementa gradualmente en +1.
En la operacion 2440, la unidad 2320 de generacion de secuencias de bits binariza el elemento (coeff_abs_level_remaining) de sintaxis de nivel de coeficiente de transformacion usando el parametro (cRiceParam) obtenido, emitiendo de este modo una cadena de bits correspondiente al elemento (coeff_abs_level_remaining) de sintaxis de nivel de coeficiente de transformacion del coeficiente de transformacion actual.
De acuerdo con la operacion para codificar por entropfa un elemento de sintaxis de nivel de coeficiente de transformacion de acuerdo con las realizaciones de la presente invencion descritas anteriormente, incluso cuando existe un coeficiente de transformacion que tiene un valor abruptamente grande entre los coeficientes de transformacion que se procesan de acuerdo con un orden de exploracion predeterminado, un parametro puede no tener que modificarse abruptamente, pero puede aumentar gradualmente en +1.
Mientras tanto, una operacion de actualizacion de un parametro con el fin de codificar por entropfa un elemento de sintaxis de nivel de coeficiente de transformacion de acuerdo con las realizaciones de la presente invencion descritas anteriormente tambien puede aplicarse en la binarizacion de los elementos de sintaxis distintos del elemento de sintaxis de nivel de coeficiente de transformacion.
La operacion de actualizacion de un parametro de acuerdo con una realizacion de la presente invencion puede aplicarse en la actualizacion de un parametro usado en la binarizacion de otros elementos de sintaxis usando un codigo de Golomb-Rice. Ademas, el procedimiento para actualizar un parametro de acuerdo con una realizacion de la presente invencion puede aplicarse en la actualizacion de un parametro usado en la binarizacion de un elemento de sintaxis aplicando un procedimiento de binarizacion tal como un procedimiento de binarizacion de codigo de concatenacion. Cuando se usa un codigo de concatenacion, los elementos de sintaxis se ordenan en un prefijo y un sufijo, y el procedimiento de actualizacion de un parametro de acuerdo con una realizacion de la presente invencion puede aplicarse en la actualizacion de un parametro predeterminado con el fin de determinar un prefijo y un sufijo. De manera similar, el procedimiento de actualizacion de un parametro de acuerdo con una realizacion de la presente invencion puede aplicarse para la actualizacion de un parametro usado en la codificacion de un elemento de sintaxis usando un codigo de longitud fija y una tabla de codigo de longitud variable (VLC) como en un procedimiento de codificacion por entropfa de baja complejidad (LCEC).
La figura 25 es un diagrama de bloques que ilustra un aparato 2500 de decodificacion de entropfa de acuerdo con una realizacion de la presente invencion. El aparato 2500 de decodificacion de entropfa corresponde al decodificador 220 de entropfa del aparato 200 de decodificacion de video de la figura 2. El aparato 2500 de decodificacion de entropfa realiza una operacion inversa de la operacion de codificacion de entropfa realizada por el aparato 2200 de codificacion de entropfa descrito anteriormente.
5
10
15
20
25
30
35
40
45
50
55
Haciendo referencia a la figura 25, el aparato 2500 de decodificacion de entrc^a incluye un modelador 2510 de contexto, un motor 2520 de decodificacion regular, un motor 2530 de decodificacion de derivacion y un desbinarizador 2540.
Un elemento de sintaxis codificado usando la codificacion de derivacion se emite al decodificador 2530 de derivacion para su decodificacion, y un elemento de sintaxis codificado mediante codificacion regular se decodifica usando el decodificador 2520 regular. El decodificador 2520 regular decodifica aritmeticamente un valor binario de un elemento de sintaxis actual basandose en un modelo de contexto proporcionado usando el modelador 2510 de contexto para emitir de este modo una cadena de bits. Un modelo de contexto usado en la decodificacion aritmetica de un elemento de sintaxis que indica la informacion de tamano de un coeficiente de transformacion, coeff_absjevel_remaining, puede establecerse por adelantado de acuerdo con un mdice de bin de un coeficiente de transformacion.
El desbinarizador 2540 restaura las cadenas de bits que se decodifican aritmeticamente usando de nuevo el motor 2520 de decodificacion regular o el motor 2530 de decodificacion de derivacion en los elementos de sintaxis.
El aparato 2500 de decodificacion de entropfa decodifica aritmeticamente los elementos de sintaxis relacionados con las unidades de transformacion, tales como SigMap, coeff_abs_level_greater1_flag o coeff_abs_level_greater2_flag, ademas de coeff_abs_level_remaining, y emite los mismos. Cuando se restauran los elementos de sintaxis relacionados con una unidad de transformacion, los datos incluidos en las unidades de transformacion pueden decodificarse usando cuantificacion inversa, transformacion inversa y decodificacion predictiva, basandose en los elementos de sintaxis restaurados.
La figura 26 es un diagrama de bloques que ilustra una estructura de un aparato 2600 de desbinarizacion de acuerdo con una realizacion de la presente invencion. El aparato 2600 de desbinarizacion de la figura 26 corresponde al desbinarizador 2540 de la figura 25.
Haciendo referencia a la figura 26, el aparato 2600 de desbinarizacion incluye una unidad 2610 de determinacion de parametros y una unidad 2620 de restauracion de elementos de sintaxis.
La unidad 2610 de determinacion de parametros compara un tamano de un coeficiente de transformacion anterior que se decodifica antes de un coeficiente de transformacion actual, con un valor cntico predeterminado que se obtiene basandose en el parametro anterior usado en la desbinarizacion de un elemento de sintaxis de nivel de coeficiente de transformacion anterior que indica un tamano del coeficiente de transformacion anterior, para determinar de este modo si se debe renovar el parametro anterior. La unidad 2610 de determinacion de parametros renueva o mantiene el parametro anterior basandose en un resultado de la determinacion para obtener de este modo un parametro usado en la desbinarizacion de un elemento de sintaxis de nivel de coeficiente de transformacion que indica un tamano del coeficiente de transformacion actual. De la misma manera que la unidad 2310 de determinacion de parametros de la figura 23 descrita anteriormente, la unidad 2610 de determinacion de parametros compara un esimo valor cntico obtenido con la ecuacion: esimo = 3 * (1 << cLastRiceParam) con un parametro cLastRiceParam anterior. Cuando cLastAbsCoeff es mas grande que esimo, la unidad 2610 de determinacion de parametros renueva el parametro anterior (cLastRiceParam) aumentando el mismo en 1; y cuando cLastAbsCoeff no es mas grande que esimo, la unidad 2610 de determinacion de parametros no renueva pero mantiene el parametro (cLastRiceParam) anterior.
La unidad 2620 de restauracion de elementos de sintaxis desbinariza una cadena de bits correspondiente al elemento de sintaxis de nivel de coeficiente de transformacion actual usando el parametro obtenido para restaurar de este modo un elemento (coeff_abs_level_remaining) de sintaxis que indica un tamano del coeficiente de transformacion actual. En detalle, la unidad 2620 de restauracion de elementos de sintaxis ordena las cadenas de bits en una cadena de bits de prefijos correspondiente a una cadena de bits que se obtiene binarizando un valor correspondiente a Min(cTrMax, coeff_abs_level_remaining) usando un procedimiento de binarizacion unario truncado y una cadena de bits de sufijos correspondiente a una cadena de bits que se obtiene binarizando un valor correspondiente a (coeff_abs_level_remaining-cTrMax) usando un procedimiento de Golomb exponencial k-esimo (k es cRiceParam +1), y restaura el elemento (coeff_abs_level_remaining) de sintaxis desbinarizando la cadena de bits de prefijos usando el procedimiento de binarizacion unario truncado y la cadena de bits de sufijos usando el procedimiento de Golomb exponencial k-esimo.
La figura 27 es un diagrama de flujo que ilustra un procedimiento de decodificacion de entropfa de un nivel de coeficiente de transformacion de acuerdo con una realizacion de la presente invencion.
Haciendo referencia a la figura 27, en la operacion 2710, los elementos de sintaxis de nivel de coeficiente de transformacion que indican los tamanos de los coeficientes de transformacion incluidos en una unidad de transformacion se analizan sintacticamente a partir de una secuencia de bits. Los elementos de sintaxis de nivel de coeficiente de transformacion analizados sintacticamente son cadenas de bits que consisten cada una en unos 0 y 1.
En la operacion 2720, la unidad 2610 de determinacion de parametros compara un tamano de un coeficiente (cLastAbsCoeff) de transformacion anterior que se restaura antes de un coeficiente de transformacion actual, con un valor cntico predeterminado obtenido basandose en un parametro (cLastRiceParam) anterior usado en la
5
10
15
20
25
30
desbinarizacion de un elemento de sintaxis de nivel de coeficiente de transformacion anterior que indica un tamano del coeficiente (cLastAbsCoeff) de transformacion anterior para determinar de este modo si se debe renovar el parametro (cLastRiceParam) anterior.
En la operacion 2730, la unidad 2610 de determinacion de parametros renueva o mantiene el parametro (cLastRiceParam) anterior basandose en un resultado de la determinacion para obtener de este modo un parametro (cRiceParam) usado en la desbinarizacion de un elemento (coeff_abs_level_remaining) de sintaxis de nivel de coeficiente de transformacion que indica un tamano del coeficiente de transformacion actual. Como se ha descrito anteriormente, la unidad 2610 de determinacion de parametros compara un esimo valor cntico obtenido con la ecuacion: esimo = 3 * (1 << cLastRiceParam) con el parametro cLastRiceParam anterior. Cuando cLastAbsCoeff es mas grande que esimo, la unidad 2610 de determinacion de parametros renueva el parametro (cLastRiceParam) anterior aumentando el mismo en 1; y cuando cLastAbsCoeff no es mas grande que esimo, la unidad 2610 de determinacion de parametros no renueva pero mantiene el parametro anterior. Cuando se renueva el parametro, el parametro renovado se incrementa gradualmente en +1.
En la operacion 2740, la unidad 2620 de restauracion de elementos de sintaxis desbinariza el elemento de sintaxis de nivel de coeficiente de transformacion actual usando el parametro obtenido para obtener la informacion de tamano del coeficiente de transformacion actual. Como se ha descrito anteriormente, como
coeff_abs_level_remaining = absCoeff-baseLevel, coeff_abs_level_greather1_flag y coeff_abs_level_greather2_flag se restauran ademas de coeff_abs_level_remaining, y cuando se determina un valor baseLevel de nivel basico de acuerdo con la ecuacion: baseLevel = 1 + coeff_abs_level_greather1_flag + coeff_abs_level_greather2-flag, el tamano del coeficiente de transformacion actual puede determinarse de acuerdo con la ecuacion: absCoeff = coeff_abs_level_remaining + baseLevel.
La invencion tambien puede realizarse como codigos legibles por ordenador en un medio de grabacion legible por ordenador. El medio de grabacion legible por ordenador es cualquier dispositivo de almacenamiento de datos que puede almacenar datos que a continuacion pueden leerse mediante un sistema informatico. Ejemplos del medio de grabacion legible por ordenador incluyen memoria de solo lectura (ROM), memoria de acceso aleatorio (RAM), CD- ROM, cintas magneticas, disquetes, dispositivos opticos de almacenamiento de datos, etc. El medio de grabacion legible por ordenador tambien puede distribuirse a traves de sistemas informaticos acoplados en red de tal manera que el codigo legible por ordenador se almacene y ejecute de manera distribuida.
Si bien esta invencion se ha mostrado y descrito espedficamente haciendo referencia a las realizaciones a modo de ejemplo de la misma, los expertos en la materia entenderan que pueden realizarse diversos cambios en la forma y los detalles en la misma. Por lo tanto, el ambito de la invencion se define no por la descripcion detallada de la invencion sino por la reivindicacion adjunta, y todas las diferencias dentro del ambito se interpretaran como incluidas en la presente invencion.

Claims (1)

  1. 5
    10
    15
    20
    25
    30
    35
    40
    45
    REIVINDICACIONES
    1. Un procedimiento para actualizar un parametro para su desbinarizacion cuando se decodifica por entrc^a un elemento de sintaxis de nivel de coeficiente de transformacion, comprendiendo el procedimiento:
    obtener una cadena binaria correspondiente a un elemento de sintaxis de nivel de coeficiente de transformacion que indique un tamano de coeficiente de transformacion incluido en una unidad de transformacion, a partir de una secuencia de bits, en el que la cadena binaria incluye una cadena binaria de prefijos que se binariza usando una binarizacion unaria truncada y una cadena binaria de sufijos que se binariza usando la binarizacion de Golomb exponencial de orden k-esimo;
    determinar si actualizar un parametro anterior comparando un tamano de un coeficiente de transformacion anterior que se restaura antes de un coeficiente de transformacion actual, con un valor cntico predeterminado obtenido basandose en el parametro anterior usado en la desbinarizacion de un elemento de sintaxis de nivel de coeficiente de transformacion anterior que indique el tamano del coeficiente de transformacion anterior, usandose el parametro anterior para determinar un valor maximo de una cadena binaria de prefijos a partir de una cadena binaria correspondiente a un elemento de sintaxis de nivel de coeficiente de transformacion anterior;
    obtener un parametro actual usado en la desbinarizacion de un elemento de sintaxis de nivel de coeficiente de transformacion actual que indique un tamano del coeficiente de transformacion actual actualizando o manteniendo el parametro anterior basandose en un resultado de la determinacion, usandose el parametro actual para determinar un valor maximo de una cadena binaria de prefijos a partir de una cadena binaria correspondiente al elemento de sintaxis de nivel de coeficiente de transformacion actual; y obtener el tamano del coeficiente de transformacion actual desbinarizando el elemento de sintaxis de nivel de coeficiente de transformacion actual usando el parametro actual obtenido, en el que la obtencion del parametro actual comprende ademas:
    cuando el valor del coeficiente de transformacion anterior es igual o mas pequeno que el valor cntico predeterminado, se determina que el parametro actual es el parametro anterior, y cuando el valor del coeficiente de transformacion anterior es mas grande que el valor cntico predeterminado, se determina que el parametro actual es un valor actualizado,
    en el que el valor cntico predeterminado se establece para que tenga un valor proporcional al parametro anterior, y cuando se actualiza el parametro anterior, el parametro actualizado tiene un valor obtenido sumando uno al parametro anterior, y
    en el que, cuando el tamano del coeficiente de transformacion se denomina absCoeff, un elemento de sintaxis que indica si el coeficiente de transformacion tiene un valor mas grande que 1 se denomina coeff_abs_level_greater1_flag, y un elemento de sintaxis que indica si el coeficiente de transformacion tiene un valor mas grande que 2 se denomina coeff_abs_level_greather2_flag, y cuando un valor de nivel basico se denomina baseLevel determinado de acuerdo con la ecuacion: baseLevel = 1 +
    coeff_abs_level_greather1_flag + coeff_abs_level_greather2_flag, el elemento de sintaxis de nivel de coeficiente de transformacion indica un tamano (absCoeff - baseLevel) que es una diferencia entre el tamano del coeficiente de transformacion absCoeff y el valor de nivel basico determinado baseLevel, en el que, en la determinacion de si actualizar el parametro anterior, cuando el parametro anterior se denomina cLastRiceParam, el esimo valor cntico se obtiene basandose en la ecuacion: esimo = 3 * (1 << cLastRiceParam), donde “<<” indica un operador de desplazamiento a la izquierda bit a bit y
    en el que el parametro de binarizacion actual tiene un valor igual o mas pequeno que un valor umbral predeterminado que tiene un valor de 4.
ES13778435.1T 2012-04-15 2013-04-15 Procedimiento de actualización de parámetros para decodificar de entropía del nivel de coeficiente de conversión, y dispositivo de decodificación de entropía del nivel de coeficiente de conversión utilizando el mismo Active ES2687522T3 (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201261624358P 2012-04-15 2012-04-15
US201261624358P 2012-04-15
PCT/KR2013/003151 WO2013157794A1 (ko) 2012-04-15 2013-04-15 변환 계수 레벨의 엔트로피 부호화 및 복호화를 위한 파라메터 업데이트 방법 및 이를 이용한 변환 계수 레벨의 엔트로피 부호화 장치 및 엔트로피 복호화 장치

Publications (1)

Publication Number Publication Date
ES2687522T3 true ES2687522T3 (es) 2018-10-25

Family

ID=49383689

Family Applications (4)

Application Number Title Priority Date Filing Date
ES19212905T Active ES2949651T3 (es) 2012-04-15 2013-04-15 Procedimiento de descodificación de vídeo que utiliza la actualización de parámetros para la desbinarización del coeficiente de transformación codificado con entropía, aparato de codificación que utiliza el mismo para la binarización
ES13778435.1T Active ES2687522T3 (es) 2012-04-15 2013-04-15 Procedimiento de actualización de parámetros para decodificar de entropía del nivel de coeficiente de conversión, y dispositivo de decodificación de entropía del nivel de coeficiente de conversión utilizando el mismo
ES21190386T Active ES2967625T3 (es) 2012-04-15 2013-04-15 Aparato de decodificación de video que utiliza la actualización de parámetros para la desbinarización del coeficiente de transformación codificado por entropía, y el método de codificación que utiliza el mismo para la binarización
ES18186234T Active ES2776899T3 (es) 2012-04-15 2013-04-15 Aparato de decodificación de vídeo que usa actualización de parámetros para la desbinarización del coeficiente de transformación codificado por entropía, y procedimiento de codificación que usa el mismo para la binarización

Family Applications Before (1)

Application Number Title Priority Date Filing Date
ES19212905T Active ES2949651T3 (es) 2012-04-15 2013-04-15 Procedimiento de descodificación de vídeo que utiliza la actualización de parámetros para la desbinarización del coeficiente de transformación codificado con entropía, aparato de codificación que utiliza el mismo para la binarización

Family Applications After (2)

Application Number Title Priority Date Filing Date
ES21190386T Active ES2967625T3 (es) 2012-04-15 2013-04-15 Aparato de decodificación de video que utiliza la actualización de parámetros para la desbinarización del coeficiente de transformación codificado por entropía, y el método de codificación que utiliza el mismo para la binarización
ES18186234T Active ES2776899T3 (es) 2012-04-15 2013-04-15 Aparato de decodificación de vídeo que usa actualización de parámetros para la desbinarización del coeficiente de transformación codificado por entropía, y procedimiento de codificación que usa el mismo para la binarización

Country Status (25)

Country Link
US (7) US9277242B2 (es)
EP (5) EP3926832B1 (es)
KR (7) KR101477621B1 (es)
CN (7) CN105007496B (es)
AU (4) AU2013250108B2 (es)
BR (2) BR112014025686B1 (es)
CA (2) CA2870531C (es)
CY (1) CY1120738T1 (es)
DK (2) DK2840789T3 (es)
ES (4) ES2949651T3 (es)
HR (1) HRP20181467T1 (es)
HU (4) HUE049811T2 (es)
LT (1) LT2840789T (es)
MX (4) MX2014012448A (es)
MY (4) MY201227A (es)
PH (5) PH12014502262B1 (es)
PL (4) PL3926832T3 (es)
PT (1) PT2840789T (es)
RS (1) RS57654B1 (es)
RU (4) RU2589382C2 (es)
SG (6) SG10201710903VA (es)
SI (1) SI2840789T1 (es)
TW (3) TWI601412B (es)
WO (1) WO2013157794A1 (es)
ZA (4) ZA201600980B (es)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10091529B2 (en) * 2010-07-09 2018-10-02 Samsung Electronics Co., Ltd. Method and apparatus for entropy encoding/decoding a transform coefficient
SG10201710903VA (en) * 2012-04-15 2018-02-27 Samsung Electronics Co Ltd Parameter update method for entropy coding and decoding of conversion coefficient level, and entropy coding device and entropy decoding device of conversion coefficient level using same
US10432928B2 (en) 2014-03-21 2019-10-01 Qualcomm Incorporated Using a current picture as a reference for video coding
CN112272298B (zh) * 2015-06-23 2023-07-18 联发科技(新加坡)私人有限公司 转换系数编解码的方法及装置
US10123045B2 (en) * 2015-07-24 2018-11-06 Qualcomm Incorporated Modification to block size for transform mode in display stream compression
EP3629581A1 (en) * 2015-10-13 2020-04-01 Samsung Electronics Co., Ltd. Method and device for encoding or decoding image
WO2017188739A1 (ko) * 2016-04-29 2017-11-02 세종대학교 산학협력단 영상 신호 부호화 및 복호화 방법과 장치
CN109479132B (zh) * 2016-04-29 2021-10-01 世宗大学校产学协力团 用于对图像信号进行编码和解码的方法和装置
FI3514968T3 (fi) 2018-01-18 2023-05-25 Blackberry Ltd Menetelmiä ja laitteita pistepilvien entropiakoodausta varten
US10491914B2 (en) * 2018-03-29 2019-11-26 Tencent America LLC Transform information prediction
US11451840B2 (en) * 2018-06-18 2022-09-20 Qualcomm Incorporated Trellis coded quantization coefficient coding
JP7222997B2 (ja) * 2018-09-20 2023-02-15 エルジー エレクトロニクス インコーポレイティド 変換係数レベルコーディング方法およびその装置
KR102634645B1 (ko) * 2018-10-05 2024-02-06 엘지전자 주식회사 변환 계수 코딩 방법 및 그 장치
KR102657902B1 (ko) * 2018-10-05 2024-04-17 로즈데일 다이나믹스 엘엘씨 변환 계수 코딩 방법 및 그 장치
CN116132676A (zh) 2018-11-12 2023-05-16 三星电子株式会社 用于对系数等级进行熵编码/熵解码的方法和装置
US11477486B2 (en) 2019-01-02 2022-10-18 Qualcomm Incorporated Escape coding for coefficient levels
KR102456938B1 (ko) * 2019-03-12 2022-10-20 엘지전자 주식회사 변환에 기반한 영상 코딩 방법 및 그 장치
KR20220038121A (ko) * 2019-08-23 2022-03-25 엘지전자 주식회사 비디오/영상 코딩 시스템에서 라이스 파라미터 도출 방법 및 장치
US11303914B2 (en) 2020-01-08 2022-04-12 Tencent America LLC Method and apparatus for video coding
WO2021259223A1 (en) 2020-06-22 2021-12-30 Beijing Bytedance Network Technology Co., Ltd. Signaling of quantization information in coded video

Family Cites Families (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2289086B (en) * 1994-05-03 1997-11-19 Interbold Delivery access device
TW515192B (en) * 2000-06-06 2002-12-21 Noa Kk Off Compression method of motion picture image data and system there for
RU2003126484A (ru) * 2001-01-30 2005-03-10 Кабусики Кайся Офис Ноа (Jp) Способ и система для сжигания информации движущегося изображения
KR20030083703A (ko) * 2001-01-30 2003-10-30 가부시키가이샤 오피스 노아 동화상 정보의 압축 방법 및 그 시스템
US6735254B2 (en) 2001-06-29 2004-05-11 Qualcomm, Inc. DCT compression using Golomb-Rice coding
CN100454339C (zh) * 2001-09-14 2009-01-21 诺基亚有限公司 基于上下文的自适应二进制算术编码的方法和***
US7877273B2 (en) * 2002-01-08 2011-01-25 Fredric David Abramson System and method for evaluating and providing nutrigenomic data, information and advice
JP4240283B2 (ja) * 2002-10-10 2009-03-18 ソニー株式会社 復号装置及び復号方法
MXPA06006107A (es) * 2003-12-01 2006-08-11 Samsung Electronics Co Ltd Metodo y aparato de codificacion y decodificacion escalables de video.
US7599435B2 (en) * 2004-01-30 2009-10-06 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Video frame encoding and decoding
KR100624432B1 (ko) * 2004-08-05 2006-09-19 삼성전자주식회사 내용 기반 적응적 이진 산술 복호화 방법 및 장치
US20060083298A1 (en) * 2004-10-14 2006-04-20 Nokia Corporation Reference picture management in video coding
US7580585B2 (en) * 2004-10-29 2009-08-25 Microsoft Corporation Lossless adaptive Golomb/Rice encoding and decoding of integer data using backward-adaptive rules
TWI249290B (en) * 2004-12-17 2006-02-11 Univ Nat Cheng Kung Lossless and near lossless image compression and coding methods
EP1675402A1 (en) 2004-12-22 2006-06-28 Thomson Licensing Optimisation of a quantisation matrix for image and video coding
KR100718134B1 (ko) * 2005-07-21 2007-05-14 삼성전자주식회사 비트율에 적응적인 영상 데이터 이진 산술 부호화/복호화장치 및 방법
KR100647835B1 (ko) * 2005-07-21 2006-11-23 삼성전기주식회사 브러쉬리스 직류모터용 스테이터 코어
JP4732203B2 (ja) * 2006-03-17 2011-07-27 キヤノン株式会社 画像符号化装置及び復号装置及びそれらの制御方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体
US8189962B2 (en) * 2006-12-19 2012-05-29 Hitachi Kokusai Electric Inc. Image processing apparatus
KR101356733B1 (ko) * 2007-03-07 2014-02-05 삼성전자주식회사 컨텍스트 기반 적응적 이진 산술 부호화, 복호화 방법 및장치
JP4513841B2 (ja) * 2007-08-28 2010-07-28 ソニー株式会社 符号化装置、符号化方法、符号化方法のプログラム及び符号化方法のプログラムを記録した記録媒体
US8180396B2 (en) 2007-10-18 2012-05-15 Yahoo! Inc. User augmented reality for camera-enabled mobile devices
CN101478672B (zh) * 2008-01-04 2012-12-19 华为技术有限公司 视频编码、解码方法及装置和视频处理***
US9008171B2 (en) * 2008-01-08 2015-04-14 Qualcomm Incorporated Two pass quantization for CABAC coders
EP2245596B1 (en) * 2008-01-21 2017-07-12 Telefonaktiebolaget LM Ericsson (publ) Prediction-based image processing
US8509555B2 (en) * 2008-03-12 2013-08-13 The Boeing Company Error-resilient entropy coding for partial embedding and fine grain scalability
BRPI0904324A2 (pt) * 2008-06-27 2015-06-30 Sony Corp Dispositivo de processamento de imagem, e, método de processamento de imagem
US8464129B2 (en) 2008-08-15 2013-06-11 Lsi Corporation ROM list-decoding of near codewords
TW201128965A (en) * 2009-05-19 2011-08-16 Nokia Corp Method for coding and an apparatus
KR101504887B1 (ko) 2009-10-23 2015-03-24 삼성전자 주식회사 데이터 단위 레벨의 독립적 파싱 또는 복호화에 따른 비디오 복호화 방법 및 그 장치, 그리고 데이터 단위 레벨의 독립적 파싱 또는 복호화를 위한 비디오 부호화 방법 및 그 장치
JP5736032B2 (ja) * 2010-04-09 2015-06-17 株式会社Nttドコモ 算術符号化のための適応型2値化
KR101500914B1 (ko) * 2010-04-09 2015-03-10 미쓰비시덴키 가부시키가이샤 동화상 복호 장치
EP2559166B1 (en) * 2010-04-13 2017-11-01 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Probability interval partioning encoder and decoder
KR20120009618A (ko) * 2010-07-19 2012-02-02 에스케이 텔레콤주식회사 주파수변환단위 분할부호화 방법 및 장치와 이를 이용한 영상 부호화/복호화 방법 및 장치
US9378185B2 (en) * 2010-09-30 2016-06-28 Texas Instruments Incorporated Transform and quantization architecture for video coding and decoding
US8976861B2 (en) * 2010-12-03 2015-03-10 Qualcomm Incorporated Separately coding the position of a last significant coefficient of a video block in video coding
US9042440B2 (en) * 2010-12-03 2015-05-26 Qualcomm Incorporated Coding the position of a last significant coefficient within a video block based on a scanning order for the block in video coding
US8768080B2 (en) * 2011-01-04 2014-07-01 Blackberry Limited Coding of residual data in predictive compression
US20120230422A1 (en) * 2011-03-11 2012-09-13 Korodi Gergely Ferenc Method and System Using Prediction and Error Correction for the Compact Representation of Quantization Matrices In Video Compression
KR101089725B1 (ko) * 2011-03-18 2011-12-07 동국대학교 산학협력단 무손실 영상 압축을 위한 임계 필터의 설계 방법, 그 필터를 이용한 무손실 영상 압축 장치 및 방법
US8446301B2 (en) * 2011-04-15 2013-05-21 Research In Motion Limited Methods and devices for coding and decoding the position of the last significant coefficient
US9112526B2 (en) * 2011-06-15 2015-08-18 Sony Corporation Binarization of DQP using separate absolute value and sign (SAVS) in CABAC
CN105357540B (zh) * 2011-06-28 2019-09-06 三星电子株式会社 对视频进行解码的方法
WO2013052073A1 (en) * 2011-10-04 2013-04-11 Bird-B-Gone, Inc. Electrified bird deterrent device with treads
WO2013050612A1 (en) * 2011-10-06 2013-04-11 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Entropy coding buffer arrangement
TWI590649B (zh) * 2011-11-08 2017-07-01 三星電子股份有限公司 視訊之算術解碼裝置
US9584802B2 (en) * 2012-04-13 2017-02-28 Texas Instruments Incorporated Reducing context coded and bypass coded bins to improve context adaptive binary arithmetic coding (CABAC) throughput
SG10201710903VA (en) * 2012-04-15 2018-02-27 Samsung Electronics Co Ltd Parameter update method for entropy coding and decoding of conversion coefficient level, and entropy coding device and entropy decoding device of conversion coefficient level using same

Also Published As

Publication number Publication date
US9386323B2 (en) 2016-07-05
AU2017201237A1 (en) 2017-03-16
KR101573337B1 (ko) 2015-12-01
KR101477621B1 (ko) 2015-01-02
KR101573338B1 (ko) 2015-12-01
PH12014502262A1 (en) 2014-12-10
CA2993866A1 (en) 2013-10-24
HUE065323T2 (hu) 2024-05-28
KR101945446B1 (ko) 2019-02-07
MY185457A (en) 2021-05-19
CN107465930A (zh) 2017-12-12
PH12017500772A1 (en) 2018-10-15
DK3416292T3 (da) 2020-03-09
US20150189326A1 (en) 2015-07-02
BR112014025686A8 (pt) 2018-06-26
HUE041710T2 (hu) 2019-05-28
TW201404162A (zh) 2014-01-16
CA2870531A1 (en) 2013-10-24
PL2840789T3 (pl) 2018-11-30
CN104365099B (zh) 2017-10-27
MY167815A (en) 2018-09-26
RU2684587C1 (ru) 2019-04-09
EP3926832B1 (en) 2023-11-22
HUE062795T2 (hu) 2023-12-28
SG10201803573PA (en) 2018-06-28
RS57654B1 (sr) 2018-11-30
ZA201600978B (en) 2016-11-30
MY201227A (en) 2024-02-12
PH12017500773A1 (en) 2018-10-15
US10306230B2 (en) 2019-05-28
US9277242B2 (en) 2016-03-01
KR20150037782A (ko) 2015-04-08
US9554155B2 (en) 2017-01-24
PH12017500771B1 (en) 2018-10-15
BR122018010479B1 (pt) 2020-05-12
KR101547499B1 (ko) 2015-08-26
CY1120738T1 (el) 2019-12-11
PL3637621T3 (pl) 2023-07-24
PL3926832T3 (pl) 2024-04-15
PT2840789T (pt) 2018-10-24
ZA201600980B (en) 2016-11-30
CN105007496B (zh) 2019-05-10
SG10201510259UA (en) 2016-01-28
CN104869424A (zh) 2015-08-26
KR20150037781A (ko) 2015-04-08
RU2660639C1 (ru) 2018-07-06
PH12017500774B1 (en) 2018-10-15
SG11201406560UA (en) 2014-11-27
PL3416292T3 (pl) 2020-06-01
SI2840789T1 (sl) 2018-10-30
EP3416292B1 (en) 2020-02-26
PH12017500772B1 (en) 2018-10-15
CN104869424B (zh) 2017-10-27
KR20130118246A (ko) 2013-10-29
CA2993866C (en) 2020-07-14
CA2870531C (en) 2018-03-20
TW201742459A (zh) 2017-12-01
CN105049868B (zh) 2019-05-10
DK2840789T3 (en) 2018-10-08
CN104365099A (zh) 2015-02-18
WO2013157794A1 (ko) 2013-10-24
CN107465930B (zh) 2020-06-23
AU2017201237B2 (en) 2018-03-08
ES2967625T3 (es) 2024-05-03
RU2589382C2 (ru) 2016-07-10
MY185273A (en) 2021-04-30
PH12017500773B1 (en) 2018-10-15
TWI549487B (zh) 2016-09-11
EP4203326A1 (en) 2023-06-28
MX339998B (es) 2016-06-21
CN104869423A (zh) 2015-08-26
EP3637621C0 (en) 2023-06-07
EP3637621B1 (en) 2023-06-07
AU2018203874B2 (en) 2019-06-13
US20150189325A1 (en) 2015-07-02
ES2776899T3 (es) 2020-08-03
HRP20181467T1 (hr) 2018-11-02
RU2632409C1 (ru) 2017-10-04
US20150030081A1 (en) 2015-01-29
AU2018203874A1 (en) 2018-06-21
CN105049869B (zh) 2019-05-10
ES2949651T3 (es) 2023-10-02
TW201639362A (zh) 2016-11-01
RU2014145826A (ru) 2016-06-10
SG10201707023VA (en) 2017-10-30
SG10201703653YA (en) 2017-06-29
US9942567B2 (en) 2018-04-10
US20170105026A1 (en) 2017-04-13
KR20190012247A (ko) 2019-02-08
AU2013250108B2 (en) 2015-11-05
AU2013250108A1 (en) 2014-11-20
EP3637621A1 (en) 2020-04-15
BR112014025686A2 (pt) 2017-09-19
CN105007496A (zh) 2015-10-28
EP3926832A1 (en) 2021-12-22
KR101573336B1 (ko) 2015-12-01
SG10201710903VA (en) 2018-02-27
US20150189324A1 (en) 2015-07-02
CN104869423B (zh) 2017-09-08
HUE049811T2 (hu) 2020-10-28
MX364043B (es) 2019-04-11
KR20150037780A (ko) 2015-04-08
KR20140110809A (ko) 2014-09-17
BR112014025686B1 (pt) 2019-08-20
US9277233B1 (en) 2016-03-01
MX351023B (es) 2017-09-28
ZA201600977B (en) 2016-11-30
CN105049868A (zh) 2015-11-11
EP2840789A1 (en) 2015-02-25
MX2014012448A (es) 2015-01-14
PH12017500774A1 (en) 2018-10-15
EP3926832C0 (en) 2023-11-22
TWI640191B (zh) 2018-11-01
AU2016200562A1 (en) 2016-02-18
PH12014502262B1 (en) 2014-12-10
KR102028689B1 (ko) 2019-10-04
PH12017500771A1 (en) 2018-10-15
EP2840789B1 (en) 2018-09-12
EP2840789A4 (en) 2016-03-09
EP3416292A1 (en) 2018-12-19
CN105049869A (zh) 2015-11-11
KR20150037779A (ko) 2015-04-08
AU2016200562B2 (en) 2016-12-08
US20180192054A1 (en) 2018-07-05
US9426492B2 (en) 2016-08-23
TWI601412B (zh) 2017-10-01
ZA201600979B (en) 2016-11-30
LT2840789T (lt) 2018-10-10

Similar Documents

Publication Publication Date Title
ES2687522T3 (es) Procedimiento de actualización de parámetros para decodificar de entropía del nivel de coeficiente de conversión, y dispositivo de decodificación de entropía del nivel de coeficiente de conversión utilizando el mismo
ES2711671T3 (es) Procedimiento de decodificación de vídeo usando decodificación
ES2673893T3 (es) Procedimiento para decodificación por entropía de un vídeo
ES2608157T3 (es) Procedimiento y aparato de determinación de un modelo de contexto para codificación y decodificación por entropía de nivel de coeficiente de transformación
ES2793963T3 (es) Procedimiento de codificación y dispositivo de vídeo usando unidad de datos de estructura jerárquica, y procedimiento de decodificación y dispositivo del mismo
BR122019014179B1 (pt) método de decodificação de vídeo