BR122021013566B1 - Method of decoding a video - Google Patents

Method of decoding a video Download PDF

Info

Publication number
BR122021013566B1
BR122021013566B1 BR122021013566-5A BR122021013566A BR122021013566B1 BR 122021013566 B1 BR122021013566 B1 BR 122021013566B1 BR 122021013566 A BR122021013566 A BR 122021013566A BR 122021013566 B1 BR122021013566 B1 BR 122021013566B1
Authority
BR
Brazil
Prior art keywords
encoding
unit
slice
depth
information
Prior art date
Application number
BR122021013566-5A
Other languages
Portuguese (pt)
Inventor
Tammy Lee
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
Priority claimed from PCT/KR2013/000776 external-priority patent/WO2013115572A1/en
Publication of BR122021013566B1 publication Critical patent/BR122021013566B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

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

Abstract

Um método de decodificar um vídeo inclui obter sintaxe para determinar um valor inicial de um parâmetro de quantização (QP) usado para realizar quantização inversa nas unidades de codificação incluídas em um segmento de fatia, a partir de um fluxo de bits; obter um QP inicial de nível de fatia para predizer o QP usado para realizar quantização inversa nas unidades de codificação incluídas no segmento de fatia, com base na sintaxe obtida; e obter um QP predito de um primeiro grupo de quantização de uma unidade de dados que podem ser decodificados em paralelo, incluída no segmento de fatia, mediante uso do QP inicial de nível de fatia.A method of decoding a video includes obtaining syntax to determine an initial value of a quantization parameter (QP) used to perform inverse quantization on the encoding units included in a slice segment, from a bit stream; obtaining an initial slice-level QP to predict the QP used to perform inverse quantization on the encoding units included in the slice segment, based on the obtained syntax; and obtaining a predicted QP of a first quantization group of a parallel decoded data unit included in the slice segment, using the initial slice-level QP.

Description

CAMPO TÉCNICOTECHNICAL FIELD

[0001] A presente invenção se refere à codificação e decodificação de um vídeo.[0001] The present invention relates to encoding and decoding a video.

FUNDAMENTOS DA TÉCNICAFUNDAMENTALS OF THE TECHNIQUE

[0002] Em geral, de acordo com os padrões de compactação de vídeo tal como Moving Picture Expert Group (MPEG) e H.26X, um fluxo de bits é gerado mediante compactação de dados de imagem através de processos de predição, transformação, quantização, e codificação de entropia.[0002] In general, according to video compression standards such as Moving Picture Expert Group (MPEG) and H.26X, a bit stream is generated by compressing image data through prediction, transformation, quantization processes. , and entropy encoding.

[0003] No processo de predição, uma imagem de predição dos dados de imagem que devem ser codificados é gerada mediante realização de predição intra, utilizando correlações espaciais de imagens, ou predição inter, utilizando correlações temporais de imagens.[0003] In the prediction process, a prediction image of the image data that must be encoded is generated by performing intra prediction, using spatial correlations of images, or inter prediction, using temporal correlations of images.

[0004] No processo de transformação, os dados de erro, que são uma diferença entre uma imagem original e a imagem de predição gerada no processo de predição, são transformados para o domínio de transformada mediante uso de vários métodos de transformação. Métodos de transformação, representativos, incluem a transformada discreta de cosseno (DCT) e a transformada de ondaleta.[0004] In the transformation process, the error data, which is a difference between an original image and the prediction image generated in the prediction process, are transformed into the transform domain by using various transformation methods. Representative transformation methods include the discrete cosine transform (DCT) and the wavelet transform.

[0005] No processo de quantização, os coeficientes de transformada gerados no processo de transformada são apropriadamente compactados com perda de acordo com o valor de erro e o tamanho do fluxo de bits alvo. A maioria dos codecs de vídeo e imagem padrão com base na compactação de perda realiza quantização e processos de quantização inversa de acordo com uma etapa de quantização. No processo de quantização, um valor quantizado é obtido mediante divisão de um valor de entrada pela etapa de quantização e então arredondando o valor dividido para um número inteiro. Devido ao processo de quantização, a informação é compactada com perda. Uma vez que todas as tecnologias de compactação de perda incluem um processo de quantização, os dados originais podem não ser perfeitamente restaurados, mas uma taxa de compactação pode ser aumentada.[0005] In the quantization process, the transform coefficients generated in the transform process are appropriately loss-compressed according to the error value and the size of the target bit stream. Most standard video and image codecs based on lossy compression perform quantization and inverse quantization processes according to a quantization step. In the quantization process, a quantized value is obtained by dividing an input value by the quantization step and then rounding the divided value to a whole number. Due to the quantization process, the information is lossy compressed. Since all lossy compression technologies include a quantization process, the original data may not be perfectly restored, but a compression ratio can be increased.

DESCRIÇÃO DETALHADA DA INVENÇÃODETAILED DESCRIPTION OF THE INVENTION PROBLEMA TÉCNICOTECHNICAL PROBLEM

[0006] A presente invenção proporciona uma solução para aperfeiçoar um processo de predizer um parâmetro de quantização (QP) usado para realizar quantização ou quantização inversa para processar os dados de vídeo em paralelo.[0006] The present invention provides a solution for improving a process of predicting a quantization parameter (QP) used to perform quantization or inverse quantization to process video data in parallel.

SOLUÇÃO TÉCNICATECHNICAL SOLUTION

[0007] De acordo com um aspecto da presente invenção, um parâmetro de quantização predito (QP) de um primeiro grupo de quantização de uma unidade de dados que pode ser processada em paralelo é obtido mediante uso de um QP inicial de nível de fatia.[0007] In accordance with one aspect of the present invention, a predicted quantization parameter (QP) of a first quantization group of a data unit that can be processed in parallel is obtained using an initial slice-level QP.

EFEITOS VANTAJOSOSADVANTAGEOUS EFFECTS

[0008] De acordo com as modalidades da presente invenção, um parâmetro de quantização (QP) predito de uma unidade de dados inicialmente quantizada ou inversamente quantizada pode ser obtido com base na informação de codificação de uma unidade de dados superior independentemente de uma ordem de processamento das unidades de codificação e, assim um problema de gargalo no qual o processamento de uma unidade de dados é retardado até que outra unidade de dados seja completamente processada, de acordo com uma ordem de processamento das unidades de dados, pode ser resolvido em um processo de quantização ou de quantização inversa.[0008] According to embodiments of the present invention, a predicted quantization parameter (QP) of an initially quantized or inversely quantized data unit can be obtained based on the encoding information of a higher data unit regardless of an order of processing of the coding units, and thus a bottleneck problem in which the processing of one data unit is delayed until another data unit is completely processed, according to a processing order of the data units, can be solved in a quantization or inverse quantization process.

DESCRIÇÃO DOS DESENHOSDESCRIPTION OF DRAWINGS

[0009] As características e vantagens mencionadas acima e outras da presente invenção se tornarão mais evidentes mediante descrição em detalhe de suas modalidades exemplares com referência aos desenhos anexos nos quais: A Figura 1 é um diagrama de blocos de um aparelho para codificar um vídeo, de acordo com uma modalidade da presente invenção; A Figura 2 é um diagrama de blocos de um aparelho para decodificar um vídeo, de acordo com uma modalidade da presente invenção; A Figura 3 é um diagrama para descrever um conceito das unidades de codificação de acordo com uma modalidade da presente invenção; A Figura 4 é um diagrama de blocos de um codificador de imagem com base nas unidades de codificação, de acordo com uma modalidade da presente invenção; A Figura 5 é um diagrama de blocos de um decodificador de imagem com base nas unidades de codificação, de acordo com uma modalidade da presente invenção; A Figura 6 é um diagrama ilustrando as unidades de codificação mais profunda de acordo com as profundidades, e partições, de acordo com uma modalidade da presente invenção; A Figura 7 é um diagrama para descrever uma relação ente uma unidade de codificação e as unidades de transformação (TUs), de acordo com uma modalidade da presente invenção; A Figura 8 é um diagrama para descrever a informação de codificação das unidades de codificação correspondendo a uma profundidade codificada, de acordo com uma modalidade da presente invenção; A Figura 9 é um diagrama de unidades de codificação mais profunda de acordo com as profundidades, de acordo com uma modalidade da presente invenção; As Figuras 10 a 12 são diagramas para descrever uma relação entre as unidades de codificação, unidades de predição, e TUs, de acordo com uma modalidade da presente invenção; A Figura 13 é um diagrama para descrever uma relação entre uma unidade de codificação, uma unidade de predição, e uma TU, de acordo com informação de modo de codificação da Tabela 1; A Figura 14 é um diagrama detalhado de blocos de um quantizador ilustrado na Figura 4, de acordo com uma modalidade da presente invenção; A Figura 15 é um diagrama detalhada de blocos de um codificador de entropia ilustrado na Figura 4, de acordo com uma modalidade da presente invenção; A Figura 16 mostra segmentos de fatia, fatias, e unidades de codificação maiores (LCUs) que são unidades de dados usadas para dividir uma imagem, de acordo com uma modalidade da presente invenção; A Figura 17 mostra segmentos de fatia e blocos de pixels que são unidades de dados usadas para dividir uma imagem, de acordo com uma modalidade da presente invenção; As Figuras 18A e 18B mostram correlações entre blocos de pixels, segmentos de fatia, fatias, e LCUs, de acordo com uma modalidade da presente invenção; A Figura 19 é um diagrama de referência para descrever processamento paralelo de frente de onda (WPP), de acordo com uma modalidade da presente invenção; A Figura 20 é um diagrama para descrever um processo de obter um parâmetro de quantização (QP) predito de uma LCU incluída em um segmento de fatia, de acordo com uma modalidade da presente invenção; A Figura 21 é um diagrama para descrever um processo de obter um QP predito de uma unidade de codificação incluída em uma LCU, de acordo com uma modalidade da presente invenção; A Figura 22 é uma tabela mostrando sintaxe relacionada ao QP provida para um conjunto de parâmetros de imagem (PPS), de acordo com uma modalidade da presente invenção; A Figura 23 é uma tabela mostrando sintaxe relacionada ao QP provida para um cabeçalho de segmento de fatia, de acordo com uma modalidade da presente invenção; A Figura 24 é uma tabela mostrando sintaxe relacionada ao QP adicionada em informação de TU, de acordo com uma modalidade da presente invenção; A Figura 25 é um fluxograma de um método de codificação de vídeo de acordo com uma modalidade da presente invenção; A Figura 26 é um diagrama detalhado de blocos de um decodificador de entropia ilustrado na Figura 5, de acordo com uma modalidade da presente invenção; A Figura 27 é um diagrama detalhado de blocos de um quantizador inverso ilustrado na Figura 5, de acordo com uma modalidade da presente invenção; e A Figura 28 é um fluxograma de um método de decodificação de vídeo de acordo com uma modalidade da presente invenção.[0009] The features and advantages mentioned above and others of the present invention will become more evident upon description in detail of its exemplary embodiments with reference to the accompanying drawings in which: Figure 1 is a block diagram of an apparatus for encoding a video, according to an embodiment of the present invention; Figure 2 is a block diagram of an apparatus for decoding a video, in accordance with an embodiment of the present invention; Figure 3 is a diagram for describing a concept of encoding units according to an embodiment of the present invention; Figure 4 is a block diagram of an image encoder based on encoding units, in accordance with an embodiment of the present invention; Figure 5 is a block diagram of an image decoder based on encoding units, according to an embodiment of the present invention; Figure 6 is a diagram illustrating deeper encoding units according to depths, and partitions, in accordance with an embodiment of the present invention; Figure 7 is a diagram for depicting a relationship between an encoding unit and transformation units (TUs) in accordance with an embodiment of the present invention; Figure 8 is a diagram for describing encoding information of encoding units corresponding to an encoded depth, in accordance with an embodiment of the present invention; Figure 9 is a diagram of deeper coding units according to depths, in accordance with an embodiment of the present invention; Figures 10 to 12 are diagrams for depicting a relationship between encoding units, prediction units, and TUs, in accordance with an embodiment of the present invention; Figure 13 is a diagram for describing a relationship between an encoding unit, a prediction unit, and a TU, in accordance with encoding mode information from Table 1; Figure 14 is a detailed block diagram of a quantizer illustrated in Figure 4, in accordance with an embodiment of the present invention; Figure 15 is a detailed block diagram of an entropy encoder illustrated in Figure 4, in accordance with an embodiment of the present invention; Figure 16 shows slice segments, slices, and major encoding units (LCUs) which are data units used to divide an image, in accordance with an embodiment of the present invention; Figure 17 shows slice segments and pixel blocks which are data units used to divide an image, in accordance with an embodiment of the present invention; Figures 18A and 18B show correlations between pixel blocks, slice segments, slices, and LCUs, in accordance with an embodiment of the present invention; Figure 19 is a reference diagram for describing wavefront parallel processing (WPP) in accordance with an embodiment of the present invention; Figure 20 is a diagram for describing a process of obtaining a predicted quantization parameter (QP) of an LCU included in a slice segment, in accordance with an embodiment of the present invention; Figure 21 is a diagram for describing a process of obtaining a predicted QP of a coding unit included in an LCU, according to an embodiment of the present invention; Figure 22 is a table showing QP-related syntax provided for a picture parameter set (PPS) in accordance with an embodiment of the present invention; Figure 23 is a table showing QP-related syntax provided for a slice segment header, in accordance with an embodiment of the present invention; Figure 24 is a table showing syntax related to QP added in TU information, in accordance with an embodiment of the present invention; Figure 25 is a flowchart of a video encoding method according to an embodiment of the present invention; Figure 26 is a detailed block diagram of an entropy decoder illustrated in Figure 5, in accordance with an embodiment of the present invention; Figure 27 is a detailed block diagram of an inverse quantizer illustrated in Figure 5, in accordance with an embodiment of the present invention; and Figure 28 is a flowchart of a video decoding method according to an embodiment of the present invention.

MELHOR MODOBEST MODE

[00010] De acordo com um aspecto da presente invenção, é provido um método de decodificar um vídeo, o método incluindo a obtenção de sintaxe para determinar um valor inicial de um parâmetro de quantização (QP) usado para realizar quantização inversa em unidades de codificação incluídas em um segmento de fatia, a partir de um fluxo de bits; obter um QP inicial de nível de fatia para predizer o QP usado para realizar quantização inversa nas unidades de codificação incluídas no segmento de fatia, com base na sintaxe obtida; obter um QP predito de um primeiro grupo de quantização de uma unidade de dados que pode ser decodificada em paralelo incluída no segmento de fatia, mediante uso do QP inicial de nível de fatia; determinar um QP a ser aplicado ao primeiro grupo de quantização com base no QP predito obtido; e realizar quantização inversa em uma unidade de codificação incluída no primeiro grupo de quantização, com base no QP determinado.[00010] In accordance with an aspect of the present invention, there is provided a method of decoding a video, the method including obtaining syntax for determining an initial value of a quantization parameter (QP) used to perform inverse quantization in encoding units included in a slice segment, from a bitstream; obtaining an initial slice-level QP to predict the QP used to perform inverse quantization on the encoding units included in the slice segment, based on the obtained syntax; obtaining a predicted QP of a first quantization group of a parallel decoded data unit included in the slice segment, using the initial slice-level QP; determining a QP to be applied to the first quantization group based on the predicted QP obtained; and performing inverse quantization on an encoding unit included in the first quantization group, based on the determined QP.

[00011] De acordo com outro aspecto da presente invenção, é provido um aparelho para decodificar um vídeo, o aparelho incluindo um decodificador de entropia para obter sintaxe para determinar um valor inicial de um parâmetro de quantização (QP) usado para realizar quantização inversa em unidades de codificação incluídas em um segmento de fatia atual, a partir de um fluxo de bits; e um quantizador inverso para obter um QP inicial de nível de fatia para predizer o QP usado para realizar quantização inversa nas unidades de codificação incluídas no segmento de fatia, com base na sintaxe obtida, obtendo um QP predito de um primeiro grupo de quantização de uma unidade de dados que podem ser decodificados em paralelo incluída no segmento de fatia, mediante uso do QP inicial de nível de fatia, determinando um QP a ser aplicado ao primeiro grupo de quantização com base no QP predito obtido, e realizar quantização inversa em uma unidade de codificação incluída no primeiro grupo de quantização, com base no QP determinado.[00011] In accordance with another aspect of the present invention, an apparatus is provided for decoding a video, the apparatus including an entropy decoder for obtaining syntax for determining an initial value of a quantization parameter (QP) used to perform inverse quantization in encoding units included in a current slice segment from a bit stream; and an inverse quantizer to obtain an initial slice-level QP to predict the QP used to perform inverse quantization on the encoding units included in the slice segment, based on the obtained syntax, obtaining a predicted QP from a first quantization group of a parallel decoded data unit included in the slice segment, using the initial slice-level QP, determining a QP to be applied to the first quantization group based on the predicted QP obtained, and performing inverse quantization on a unit encoding included in the first quantization group, based on the determined QP.

[00012] De acordo com outro aspecto da presente invenção, é provido um método de codificar um vídeo, o método incluindo obter um parâmetro de quantização (QP) usado para realizar quantização em unidades de codificação incluídas em um segmento de fatia; determinar um QP inicial de nível de fatia para predizer um QP de um primeiro grupo de quantização de uma unidade de dados que podem ser decodificados em paralelo, incluída no segmento de fatia; obter um QP predito do primeiro grupo de quantização mediante uso do QP inicial de nível de fatia determinado; e gerar um fluxo de bits incluindo informação de sintaxe indicando o QP inicial de nível de fatia determinado.[00012] According to another aspect of the present invention, there is provided a method of encoding a video, the method including obtaining a quantization parameter (QP) used to perform quantization in encoding units included in a slice segment; determining an initial slice-level QP for predicting a QP of a first quantization group of a parallel decoded data unit included in the slice segment; obtaining a predicted QP of the first quantization group using the initial QP of the given slice level; and generating a stream of bits including syntax information indicating the starting QP of the given slice level.

[00013] De acordo com outro aspecto da presente invenção, é provido um aparelho para codificar um vídeo, o aparelho incluindo um quantizador para realizar quantização em unidades de codificação incluídas em um segmento de fatia, determinando um parâmetro de quantização (QP) inicial de nível de fatia para predizer um QP de um primeiro grupo de quantização de uma unidade de dados que podem ser decodificados em paralelo, incluída no segmento de fatia, obtendo um QP predito do primeiro grupo de quantização mediante uso do QP inicial de nível de fatia determinada, e produzindo uma diferença entre um QP usado para realizar a quantização em uma unidade de codificação incluída no primeiro grupo de quantização e o QP predito, e o QP inicial de nível de fatia determinado; e um codificador de entropia para gerar um fluxo de bits incluindo informação de sintaxe indicando o QP inicial de nível de fatia determinado.[00013] In accordance with another aspect of the present invention, an apparatus is provided for encoding a video, the apparatus including a quantizer for performing quantization on encoding units included in a slice segment, determining an initial quantization parameter (QP) of slice level to predict a QP from a first quantization group of a parallel decoded data unit included in the slice segment, obtaining a predicted QP from the first quantization group using the given slice level initial QP , and producing a difference between a QP used to perform quantization on a coding unit included in the first quantization group and the predicted QP, and the initial QP of the given slice level; and an entropy encoder for generating a stream of bits including syntax information indicating the initial QP of the given slice level.

MODO DA INVENÇÃOMODE OF THE INVENTION

[00014] Em seguida, a presente invenção será descrita em detalhe mediante explanação das modalidades da invenção com referência aos desenhos anexos.[00014] Next, the present invention will be described in detail by explaining the embodiments of the invention with reference to the accompanying drawings.

[00015] A Figura 1 é um diagrama de blocos de um aparelho de codificação de vídeo 100 de acordo com uma modalidade da presente invenção.[00015] Figure 1 is a block diagram of a video encoding apparatus 100 in accordance with an embodiment of the present invention.

[00016] aparelho de codificação de vídeo 100 inclui um divisor de unidade de codificação maior (LCU) 110, um determinador de unidade de codificação 120, e uma unidade de saída 130.[00016] Video encoding apparatus 100 includes a major encoding unit (LCU) divider 110, an encoding unit determiner 120, and an output unit 130.

[00017] divisor LCU 110 pode dividir uma imagem atual de uma imagem com base em uma LCU, que é uma unidade de codificação de um tamanho máximo. Se a imagem atual for maior do que a LCU, os dados de imagem da imagem atual podem ser divididos em pelo menos uma LCU. A LCU de acordo com uma modalidade da presente invenção pode ser uma unidade de dados tendo um tamanho de 32x32, 64x64, 128x128, 256x256, etc., em que o formato da unidade de dados é um quadrado que tem uma largura e comprimento em quadrados de 2 e é maior do que 8. Os dados de imagem podem ser emitidos para o determinador de unidade de codificação 120 de acordo com cada LCU.[00017] LCU splitter 110 can split a current image from an image based on an LCU, which is an encoding unit of a maximum size. If the current image is larger than the LCU, the image data of the current image can be split into at least one LCU. The LCU according to an embodiment of the present invention may be a data unit having a size of 32x32, 64x64, 128x128, 256x256, etc., wherein the format of the data unit is a square having a width and length in squares. of 2 and is greater than 8. Image data can be output to encoding unit determiner 120 according to each LCU.

[00018] Uma unidade de codificação de acordo com uma modalidade exemplar pode ser caracterizada por um tamanho máximo e uma profundidade. A profundidade denota um número de vezes em que a unidade de codificação é dividida espacialmente a partir da LCU e, à medida que a profundidade é aprofundada ou aumentada, unidades de codificação mais profundas, de acordo com as profundidades, podem ser divididas a partir da LCU para uma unidade de codificação mínima. Uma profundidade da LCU é uma profundidade mais elevada e uma profundidade da unidade de codificação mínima é uma profundidade mais baixa. Como o tamanho de uma unidade de codificação correspondendo a cada profundidade diminui à medida que a profundidade da LCU é aprofundada, uma unidade de codificação correspondendo a uma profundidade superior pode incluir uma pluralidade de unidades de codificação correspondendo às profundidades inferiores.[00018] A coding unit according to an exemplary embodiment can be characterized by a maximum size and a depth. Depth denotes a number of times the encoding unit is spatially divided from the LCU, and as the depth is deepened or increased, deeper encoding units, according to the depths, can be divided from the LCU. LCU for a minimum encoding unit. An LCU depth is a higher depth and a minimum encoding unit depth is a lower depth. As the size of an encoding unit corresponding to each depth decreases as the depth of the LCU is deepened, an encoding unit corresponding to a higher depth may include a plurality of encoding units corresponding to lower depths.

[00019] Conforme descrito acima, os dados de imagem do imagem atual são divididos nas unidades de codificação máxima de acordo com um tamanho máximo da unidade de codificação, e cada uma das unidades de codificação máxima pode incluir unidades de codificação mais profunda que são divididas de acordo com as profundidades. Como a LCU de acordo com uma modalidade exemplar é dividida de acordo com as profundidades, os dados de imagem de um domínio espacial incluído na LCU podem ser classificados de forma hierárquica de acordo com as profundidades.[00019] As described above, the image data of the current image is divided into maximum encoding units according to a maximum encoding unit size, and each of the maximum encoding units can include deeper encoding units which are divided according to depths. As the LCU according to an exemplary embodiment is divided according to depths, the image data of a spatial domain included in the LCU can be hierarchically classified according to depths.

[00020] Uma profundidade máxima e um tamanho máximo de uma unidade de codificação, que limitam o número total de vezes em que a altura e uma largura da LCU são divididas de forma hierárquica, podem ser predeterminados.[00020] A maximum depth and maximum size of an encoding unit, which limit the total number of times the LCU height and width are hierarchically divided, can be predetermined.

[00021] O determinador de unidade de codificação 120 codifica pelo menos uma região dividida obtida mediante divisão de uma região da LCU de acordo com as profundidades, e determina uma profundidade para produzir os dados de imagem finalmente codificados de acordo com a pelo menos uma região dividida. Em outras palavras, o determinador de unidade de codificação 120 determina uma profundidade codificada mediante codificação dos dados de imagem nas unidades de codificação mais profunda de acordo com as profundidades, de acordo com a LCU da imagem atual, e selecionando uma profundidade tendo o erro de codificação mínimo. A profundidade codificada determinada e os dados de imagem codificados de acordo com a profundidade codificada determinada são emitidos para a unidade de saída 130.[00021] Encoding unit determiner 120 encodes at least one divided region obtained by dividing a region of the LCU according to depths, and determines a depth to produce the image data finally encoded according to the at least one region divided. In other words, the encoding unit determiner 120 determines an encoded depth by encoding the image data in the deepest encoding units according to the depths according to the LCU of the current image and selecting a depth having the error of minimal encoding. The determined coded depth and the image data coded according to the determined coded depth is output to the output unit 130.

[00022] Os dados de imagem na LCU são codificados com base nas unidades de codificação mais profundas correspondendo a pelo menos uma profundidade igual ou abaixo da profundidade máxima, e os resultados da codificação dos dados de imagem são comparados com base em cada uma das unidades de codificação mais profundas. Uma profundidade tendo o erro de codificação mínimo pode ser selecionada após comparação dos erros de codificação das unidades de codificação mais profundas. Pelo menos uma profundidade codificada pode ser selecionada para cada LCU.[00022] The image data in the LCU is encoded based on the deepest encoding units corresponding to at least a depth equal to or below the maximum depth, and the encoding results of the image data are compared based on each of the units deeper coding. A depth having the minimum coding error can be selected after comparing the coding errors of the deeper coding units. At least one coded depth can be selected for each LCU.

[00023] tamanho da LCU é dividido à medida que uma unidade de codificação é dividida hierarquicamente de acordo com as profundidades, e à medida que aumenta o número de unidades de codificação. Além disso, mesmo se as unidades de codificação corresponder à mesma profundidade em uma LCU, cada uma das unidades de codificação correspondendo à mesma profundidade pode ser dividida para uma profundidade inferior mediante medição de um erro de codificação dos dados de imagem de cada unidade de codificação, separadamente. Consequentemente, mesmo quando os dados de imagem são incluídos em uma LCU, os dados de imagem são divididos em regiões de acordo com as profundidades e os erros de codificação podem diferir de acordo com as regiões em uma LCU, e assim as profundidades codificadas podem diferir de acordo com as regiões nos dados de imagem. Assim, uma ou mais profundidades codificadas podem ser determinadas em uma LCU, e os dados de imagem da LCU podem ser divididos de acordo com as unidades de codificação de pelo menos uma profundidade codificada.[00023] LCU size is divided as an encoding unit is hierarchically divided according to depths, and as the number of encoding units increases. Furthermore, even if the encoding units correspond to the same depth in an LCU, each of the encoding units corresponding to the same depth can be split to a lower depth by measuring an encoding error of the image data of each encoding unit. , separately. Consequently, even when image data is included in an LCU, the image data is divided into regions according to the depths, and encoding errors may differ according to regions in an LCU, and thus the encoded depths may differ. according to regions in the image data. Thus, one or more coded depths can be determined in an LCU, and the LCU image data can be divided according to the coding units of at least one coded depth.

[00024] Consequentemente, o determinador de unidade de codificação 120 pode determinar unidades de codificação tendo uma estrutura de árvore incluída na LCU. As ‘unidades de codificação tendo uma estrutura de árvore’ de acordo com uma modalidade da presente invenção incluem unidades de codificação correspondendo a uma profundidade determinada para ser a profundidade codificada, dentre todas as unidades de codificação mais profunda incluídas na LCU. Uma unidade de codificação de uma profundidade codificada pode ser determinada hierarquicamente de acordo com as profundidades na mesma região da LCU, e podem ser determinadas independentemente em diferentes regiões. Similarmente, uma profundidade codificada em uma região atual pode ser determinada independentemente a partir de uma profundidade codificada em outra região.[00024] Accordingly, the coding unit determiner 120 can determine coding units having a tree structure included in the LCU. The 'coding units having a tree structure' according to an embodiment of the present invention include coding units corresponding to a depth determined to be the coded depth of all the deepest coding units included in the LCU. An encoding unit of an encoded depth can be determined hierarchically according to depths in the same region of the LCU, and can be independently determined in different regions. Similarly, a depth encoded in a current region can be independently determined from a depth encoded in another region.

[00025] Uma profundidade máxima de acordo com uma modalidade da presente invenção é um índice relacionado ao número de vezes que a divisão é realizada a partir de uma LCU para uma unidade de codificação mínima. Uma primeira profundidade máxima de acordo com uma modalidade da presente invenção pode denotar o número total de vezes em que a divisão é realizada a partir da LCU para a unidade de codificação mínima. Uma segunda profundidade máxima de acordo com uma modalidade da presente invenção pode denotar o número total de níveis de profundidade a partir da LCU para a unidade de codificação mínima. Por exemplo, quando uma profundidade da LCU é de 0, uma profundidade de uma unidade de codificação, na qual a LCU é dividida uma vez, pode ser ajustada para 1, e uma profundidade de uma unidade de codificação, na qual a LCU dividida duas vezes, pode ser ajustada para 2. Aqui, se a unidade de codificação mínima for uma unidade de codificação na qual a LCU é dividida quatro vezes, 5 níveis de profundidade, de profundidade 0, 1, 2, 3 e 4 existem, e assim a primeira profundidade máxima pode ser ajustada para 4, e a segunda profundidade máxima pode ser ajustada para 5.[00025] A maximum depth according to an embodiment of the present invention is an index related to the number of times the division is performed from an LCU to a minimum encoding unit. A first maximum depth according to an embodiment of the present invention may denote the total number of times the division is performed from the LCU to the minimum encoding unit. A second maximum depth according to an embodiment of the present invention may denote the total number of depth levels from the LCU to the minimum encoding unit. For example, when an LCU depth is 0, a depth of one encoding unit, in which the LCU is divided once, can be set to 1, and a depth of one encoding unit, in which the LCU is divided two times. times it can be set to 2. Here, if the minimum encoding unit is an encoding unit in which the LCU is divided four times, 5 levels of depth, of depth 0, 1, 2, 3 and 4 exist, and so on the first maximum depth can be set to 4, and the second maximum depth can be set to 5.

[00026] A codificação de predição, e a transformada, podem ser realizadas de acordo com a LCU. A codificação de predição e a transformada também são realizadas com base nas unidades de codificação mais profundas de acordo com uma profundidade igual ou uma profundidade menor do que a profundidade máxima, de acordo com a LCU. A transformação pode ser realizada de acordo com o método de transformada ortogonal ou transformada de número inteiro.[00026] The prediction encoding, and the transform, can be performed according to the LCU. Predictive coding and transforming are also performed based on the deepest coding units according to a depth equal to or less than the maximum depth as per the LCU. The transformation can be performed according to the orthogonal transform or integer transform method.

[00027] Como o número de unidades de codificação mais profunda aumenta sempre que a LCU é dividida de acordo com as profundidades, a codificação incluindo a codificação de predição e a transformação é realizada em todas as unidades de codificação mais profunda geradas à medida que aumenta a profundidade. Para conveniência de descrição, a codificação de predição e a transformação serão descritas agora com base na unidade de codificação de uma profundidade atual, em uma LCU.[00027] As the number of deeper coding units increases whenever the LCU is split according to depths, coding including prediction coding and transformation is performed on all generated deeper coding units as it increases The depth. For convenience of description, the prediction encoding and transformation will now be described based on the encoding unit of a current depth, in an LCU.

[00028] O aparelho de codificação de vídeo 100 pode selecionar de forma variada um tamanho ou formato de uma unidade de dados para codificar os dados de imagem. Para codificar os dados de imagem, operações tal como codificação de predição, transformação, e codificação de entropia, são realizadas, e dessa vez, a mesma unidade de dados pode ser usada para todas as operações ou unidades de dados diferentes podem ser usadas para cada operação.[00028] The video encoding apparatus 100 can variously select a size or format of a data unit to encode the image data. To encode the image data, operations such as prediction encoding, transformation, and entropy encoding are performed, and this time, the same data unit can be used for all operations or different data units can be used for each. operation.

[00029] Por exemplo, o aparelho de codificação de vídeo 100 pode selecionar não apenas uma unidade de codificação para codificar os dados de imagem, mas também uma unidade de dados diferente da unidade de codificação para realizar a codificação de predição nos dados de imagem na unidade de codificação.[00029] For example, the video encoding apparatus 100 can select not only an encoding unit to encode the image data, but also a data unit other than the encoding unit to perform prediction encoding on the image data in the encoding unit.

[00030] Para realizar codificação de predição na LCU, a codificação de predição pode ser realizada com base em uma unidade de codificação correspondendo a uma profundidade codificada, isto é, com base em uma unidade de codificação que não mais é dividida em unidades de codificação correspondendo a uma profundidade inferior. Em seguida, a unidade de codificação que não é mais dividida e se torna uma unidade básica para codificação de predição será referida agora como uma ‘unidade de predição’. Uma partição obtida mediante divisão da unidade de predição pode incluir uma unidade de predição ou uma unidade de dados obtida mediante divisão de pelo menos uma de uma altura e uma largura da unidade de predição. A partição é uma unidade de dados obtida pela divisão da unidade de predição da unidade de codificação e a unidade de predição pode ser uma partição com o mesmo tamanho que a unidade de codificação.[00030] To perform prediction coding on the LCU, prediction coding can be performed on the basis of a coding unit corresponding to a coded depth, i.e. based on a coding unit which is no longer divided into coding units corresponding to a lower depth. Next, the encoding unit that is no longer split and becomes a base unit for prediction encoding will now be referred to as a 'prediction unit'. A partition obtained by dividing the prediction unit may include a prediction unit or a data unit obtained by dividing at least one of a height and a width of the prediction unit. The partition is a data unit obtained by dividing the prediction unit from the encoding unit, and the prediction unit can be a partition with the same size as the encoding unit.

[00031] Por exemplo, quando uma unidade de codificação de 2Nx2N (onde N é um número inteiro positivo) não é mais dividida e se torna uma unidade de predição de 2Nx2N, um tamanho de uma partição pode ser 2Nx2N, 2NxN, Nx2N, ou NxN. Exemplos de um tipo de partição incluem partições simétricas que são obtidas mediante divisão simétrica de uma altura ou largura da unidade de predição, partições obtidas mediante divisão assimétrica da altura ou largura da unidade de predição, tal como 1:n ou n:1, partições que são obtidas mediante divisão geométrica da unidade de predição, e partições tendo formatos arbitrários.[00031] For example, when a 2Nx2N encoding unit (where N is a positive integer) is no longer divided and becomes a 2Nx2N prediction unit, a partition size can be 2Nx2N, 2NxN, Nx2N, or NxN Examples of a partition type include symmetric partitions that are obtained by symmetrically dividing a prediction unit height or width, partitions obtained by asymmetrically dividing the prediction unit's height or width, such as 1:n or n:1, partitions which are obtained by geometric division of the prediction unit, and partitions having arbitrary formats.

[00032] Um modo de predição da unidade de predição pode ser pelo menos um de um modo intra, um modo inter, e um modo de salto. Por exemplo, o modo intra ou o modo inter pode ser realizado na partição de 2Nx2N, 2NxN, Nx2N ou NxN. Além disso, o modo de salto pode ser realizado apenas na partição de 2Nx2N. A codificação é realizada independentemente em uma unidade de predição em uma unidade de codificação, desse modo selecionando um modo de predição tendo um erro de codificação mínimo.[00032] A prediction mode of the prediction unit can be at least one of an intra mode, an inter mode, and a jump mode. For example, intra mode or inter mode can be performed on the partition of 2Nx2N, 2NxN, Nx2N or NxN. Also, jump mode can only be performed on 2Nx2N partition. Encoding is performed independently on a prediction unit in an encoding unit, thereby selecting a prediction mode having minimal encoding error.

[00033] O aparelho de codificação de vídeo 100 também pode realizar a transformação nos dados de imagem em uma unidade de codificação com base não apenas na unidade de codificação para codificar os dados de imagem, mas também com base em uma unidade de dados que é diferente da unidade de codificação.[00033] The video encoding apparatus 100 can also perform the transformation on the image data in an encoding unit based not only on the encoding unit for encoding the image data, but also on the basis of a data unit which is different from the encoding unit.

[00034] Para realizar a transformada na unidade de codificação, a transformada pode ser realizada com base em uma unidade de transformada tendo um tamanho menor do que ou igual àquele da unidade de codificação. Por exemplo, a unidade de dados para a transformada pode incluir uma unidade de dados para um modo intra e uma unidade de dados para um modo inter.[00034] To perform the transform on the encoding unit, the transform can be performed on the basis of a transform unit having a size less than or equal to that of the encoding unit. For example, the data unit for the transform may include a data unit for an intra mode and a data unit for an inter mode.

[00035] Uma unidade de dados usada como uma base da transformada será referida agora como uma “unidade de transformada (TU)”. Similarmente à unidade de codificação, a TU na unidade de codificação pode ser dividida recursivamente em regiões de tamanhos menores, de modo que a TU pode ser determinada independentemente em unidades de regiões. Assim, os dados residuais na unidade de codificação podem ser divididos de acordo com a TU tendo a estrutura de árvore de acordo com as profundidades de transformada.[00035] A data unit used as a base of the transform will now be referred to as a “transform unit (TU)”. Similar to the encoding unit, the TU in the encoding unit can be split recursively into smaller sized regions, so that the TU can be independently determined in units of regions. Thus, the residual data in the encoding unit can be divided according to the TU having the tree structure according to the transform depths.

[00036] Uma profundidade de transformada indicando o número de vezes que a divisão é realizada para alcançar a TU mediante divisão da altura e largura da unidade de codificação também pode ser estabelecida na TU. Por exemplo, em uma unidade de codificação atual de 2Nx2N, uma profundidade de transformada pode ser 0 quando o tamanho de uma TU for 2Nx2N, pode ser 1 quando o tamanho de uma TU é NxN, e pode ser 2 quando o tamanho de uma TU for N/2xN/2. Isto é, a TU tendo a estrutura de árvore também pode ser estabelecida de acordo com as profundidades de transformada.[00036] A transform depth indicating the number of times the division is performed to reach the TU by dividing the coding unit height and width can also be set in the TU. For example, in a current encoding unit of 2Nx2N, a transform depth can be 0 when the size of a TU is 2Nx2N, it can be 1 when the size of a TU is NxN, and it can be 2 when the size of a TU is is N/2xN/2. That is, the TU having the tree structure can also be established according to the transform depths.

[00037] Informação de codificação de acordo com as unidades de codificação correspondendo a uma profundidade codificada requer não apenas informação sobre a profundidade codificada, mas também sobre informação relacionada à codificação de predição e transformação. Consequentemente, o determinador de unidade de codificação 120 não apenas determina uma profundidade codificada tendo o menos erro de codificação, mas também determina um tipo de partição em uma unidade de predição, um modo de predição de acordo com as unidades de predição, e um tamanho de uma TU para transformação.[00037] Encoding information according to encoding units corresponding to an encoded depth requires not only information about the encoded depth, but also information related to prediction and transformation encoding. Consequently, the encoding unit determiner 120 not only determines an encoded depth having the least encoding error, but also determines a partition type in a prediction unit, a prediction mode according to prediction units, and a size. of a TU for transformation.

[00038] As unidades de codificação de acordo com uma estrutura de árvore em uma LCU e um método de determinar uma partição, de acordo com as modalidades da presente invenção, serão descritas em detalhe abaixo com referência às Figuras 3 a 12.[00038] Encoding units according to a tree structure in an LCU and a method of determining a partition, in accordance with embodiments of the present invention, will be described in detail below with reference to Figures 3 to 12.

[00039] determinador de unidade de codificação 120 pode medir um erro de codificação de unidades de codificação mais profundo de acordo com as profundidades utilizando Otimização de Distorção de Taxa com base em multiplicadores Lagrangianos.[00039] Encoding unit determiner 120 can measure a coding error of deeper coding units according to depths using Rate Distortion Optimization based on Lagrangian multipliers.

[00040] A unidade de saída 130 produz os dados de imagem da LCU, que é codificada com base na pelo menos uma profundidade codificada determinada pelo determinador de unidade de codificação 120, e informação sobre o modo de codificação de acordo com a profundidade codificada, em fluxos de bits.[00040] Output unit 130 outputs the image data from the LCU, which is encoded based on at least one encoded depth determined by encoding unit determiner 120, and encoding mode information according to the encoded depth, in bitstreams.

[00041] Os dados de imagem codificados podem ser obtidos mediante codificação de dados residuais de uma imagem.[00041] Encoded image data can be obtained by encoding residual data from an image.

[00042] A informação sobre o modo de codificação de acordo com a profundidade codificada pode incluir informação sobre a profundidade codificada, sobre o tipo de partição na unidade de predição, o modo de predição, e o tamanho da TU.[00042] Information about the encoding mode according to the encoded depth may include information about the encoded depth, about the type of partition in the prediction unit, the prediction mode, and the size of the TU.

[00043] A informação sobre a profundidade codificada pode ser definida pelo uso de informação dividida de acordo com as profundidades, que representa se a codificação é realizada em unidades de codificação de uma profundidade inferior em vez de uma profundidade atual. Se a profundidade atual da unidade de codificação atual for a profundidade codificada, os dados de imagem na unidade de codificação atual são codificados e produzidos, e assim a informação dividida pode ser definida não para dividir a unidade de codificação atual para uma profundidade menor. Alternativamente, se a profundidade atual da unidade de codificação atual não for a profundidade codificada, a codificação é realizada na unidade de codificação da profundidade inferior, e assim a informação dividida pode ser definida para dividir a unidade de codificação atual para obter as unidades de codificação da profundidade inferior.[00043] Encoded depth information can be defined by using information split according to depths, which represents whether encoding is performed in encoding units of a lower depth rather than a current depth. If the current depth of the current encoding unit is the encoded depth, the image data in the current encoding unit is encoded and output, and so the split information can be set not to split the current encoding unit to a smaller depth. Alternatively, if the current depth of the current encoding unit is not the encoded depth, encoding is performed in the encoding unit of the lower depth, and so the divided information can be set to divide the current encoding unit to obtain the encoding units. from the bottom depth.

[00044] Se a profundidade atual não for a profundidade codificada, a codificação é realizada na unidade de codificação que é dividida para unidade de codificação da profundidade inferior. Como existe pelo menos uma unidade de codificação da profundidade inferior em uma unidade de codificação da profundidade atual, a codificação é realizada repetidamente em cada unidade de codificação da profundidade inferior, e assim a codificação pode ser realizada de forma recursiva para as unidades de codificação tendo a mesma profundidade.[00044] If the current depth is not the encoded depth, encoding is performed in the encoding unit which is divided to the lower depth encoding unit. As there is at least one lower depth encoding unit in a current depth encoding unit, encoding is performed repeatedly on each lower depth encoding unit, and thus encoding can be performed recursively for encoding units having the same depth.

[00045] Como as unidades de codificação tendo uma estrutura de árvore são determinadas para uma LCU, e informação sobre pelo menos um modo de codificação é determinada para uma unidade de codificação de uma profundidade codificada, a informação sobre pelo menos um modo de codificação pode ser determinada para uma LCU. Além disso, uma profundidade codificada dos dados de imagem da LCU pode ser diferente de acordo com os locais, visto que os dados de imagem são divididos hierarquicamente de acordo com as profundidades e, assim, a informação sobre a profundidade codificada, e o modo de codificação, pode ser ajustada para os dados de imagem.[00045] As encoding units having a tree structure are determined for an LCU, and information about at least one encoding mode is determined for a encoding unit of an encoded depth, information about at least one encoding mode may be determined for an LCU. In addition, an encoded depth of the LCU image data may be different according to locations, as the image data is hierarchically divided according to depths, and thus the encoded depth information, and the mode of encoding, can be adjusted to the image data.

[00046] Consequentemente, a unidade de saída 130 pode atribuir informação de codificação sobre um percurso codificado correspondente e um modo de codificação para pelo menos uma da unidade de codificação, unidade de predição, e um modo de codificação para ao menos uma da unidade de codificação, unidade de predição, e uma unidade mínima incluída na LCU.[00046] Accordingly, the output unit 130 can assign encoding information about a corresponding encoded path and an encoding mode for at least one of the encoding unit, prediction unit, and an encoding mode for at least one of the encoding unit. encoding, prediction unit, and a minimum unit included in the LCU.

[00047] A unidade mínima de acordo com uma modalidade da presente invenção é uma unidade de dados retangular obtida mediante divisão da unidade de codificação mínima constituindo a profundidade mais baixa por 4. Alternativamente, a unidade mínima pode ser uma unidade de dados retangular máxima que pode ser incluída em todas as unidades de codificação, unidades de predição, unidades de partição e TUs incluídas na LCU.[00047] The minimum unit according to an embodiment of the present invention is a rectangular data unit obtained by dividing the minimum encoding unit constituting the lowest depth by 4. Alternatively, the minimum unit may be a maximum rectangular data unit which can be included in all encoding units, prediction units, partition units and TUs included in the LCU.

[00048] Por exemplo, a informação de codificação produzida através da unidade de saída 130 pode ser classificada em informação de codificação de acordo com as unidades de codificação, e informação de codificação de acordo com as unidades de predição. A informação de codificação de acordo com as unidades de codificação pode incluir a informação sobre o modo de predição e sobre o tamanho das partições. A informação de codificação de acordo com as unidades de predição pode incluir informação sobre uma direção estimada de um modo inter, em relação a um índice de imagem de referência do modo inter, em relação a um vetor de movimento, em relação a um componente croma de um modo intra, e em relação a um método de interpolação do modo intra. Além disso, informação sobre um tamanho máximo da unidade de codificação definida de acordo com as imagens, fatias ou GOPs, e informação sobre uma profundidade máxima podem ser inseridas em um cabeçalho de um fluxo de bits.[00048] For example, the coding information produced through the output unit 130 can be classified into coding information according to coding units, and coding information according to prediction units. The coding information according to the coding units can include information about the prediction mode and about the size of the partitions. The coding information according to the prediction units may include information about an estimated direction in an inter mode, with respect to an inter mode reference image index, with respect to a motion vector, with respect to a chroma component. in an intra-mode, and in relation to an intra-mode interpolation method. Furthermore, information about a maximum size of the encoding unit defined according to images, slices or GOPs, and information about a maximum depth can be inserted into a header of a bit stream.

[00049] No aparelho de codificação de vídeo 100, a unidade de codificação mais profunda pode ser uma unidade de codificação obtida mediante divisão de uma altura ou largura de uma unidade de codificação de uma profundidade superior, que está uma camada acima, por dois. Em outras palavras, quando o tamanho da unidade de codificação da profundidade atual é 2Nx2N, o tamanho da unidade de codificação da profundidade inferior é NxN. Além disso, a unidade de codificação da profundidade atual tendo o tamanho de 2Nx2N pode incluir no máximo 4 das unidades de codificação da profundidade inferior.[00049] In the video encoding apparatus 100, the deepest encoding unit may be an encoding unit obtained by dividing a height or width of a higher depth encoding unit, which is one layer above, by two. In other words, when the current depth encoding unit size is 2Nx2N, the bottom depth encoding unit size is NxN. Also, the current depth coding unit having the size of 2Nx2N can include a maximum of 4 of the lower depth coding units.

[00050] Consequentemente, o aparelho de codificação de vídeo 10 pode formar as unidades de codificação tendo a estrutura de árvore mediante determinação das unidades de codificação tendo um formato ótimo e um tamanho ótimo para cada LCU, com base no tamanho da LCU e profundidade máxima determinada considerando- se as características da imagem atual. Além disso, como a codificação pode ser realizada em cada LCU mediante uso de qualquer um dos vários modos de predição e transformações, um modo de codificação ótima pode ser determinado considerando as características da unidade de codificação de vários tamanhos de imagem.[00050] Consequently, the video coding apparatus 10 can form the coding units having the tree structure by determining the coding units having an optimal format and an optimal size for each LCU, based on the LCU size and maximum depth determined considering the characteristics of the current image. Furthermore, as encoding can be performed on each LCU using any of several prediction and transformation modes, an optimal encoding mode can be determined considering the characteristics of the encoding unit of various image sizes.

[00051] Assim, se uma imagem tendo alta resolução ou grande quantidade de dados for codificada em um macro bloco convencional, um número de macro blocos por imagem aumenta excessivamente. Consequentemente, um número de peças de informação compactada gerados para cada macro bloco aumenta, e assim é difícil transmitir a informação compactada e diminui a eficiência de compactação de dados. Contudo, mediante uso do aparelho de codificação de vídeo 100, a eficiência de compactação de imagem pode ser aumentada uma vez que uma unidade de codificação é ajustada enquanto considerando as características de uma imagem enquanto aumentando o tamanho máximo de uma unidade de codificação enquanto considerando um tamanho da imagem.[00051] Thus, if an image having high resolution or large amount of data is encoded in a conventional macro block, the number of macro blocks per image increases excessively. Consequently, a number of pieces of compressed information generated for each macro block increases, and thus it is difficult to transmit the compressed information and the efficiency of data compression decreases. However, by using the video encoding apparatus 100, the image compression efficiency can be increased as an encoding unit is adjusted while considering the characteristics of an image while increasing the maximum size of an encoding unit while considering a image size.

[00052] A Figura 2 é um diagrama de blocos de um aparelho de decodificação de vídeo 200 de acordo com uma modalidade da presente invenção.[00052] Figure 2 is a block diagram of a video decoding apparatus 200 in accordance with an embodiment of the present invention.

[00053] O aparelho de decodificação de vídeo 200 inclui um receptor 210, um extrator de informação de codificação e dados de imagem 220, e um decodificador de dados de imagem 230. Definições dos vários termos, tal como uma unidade de codificação, uma profundidade, uma unidade de predição, uma TU, e informação sobre vários modos de codificação, para várias operações do aparelho de decodificação de vídeo 200 são idênticas àquelas descritas com referência à Figura 1 e ao aparelho de codificação de vídeo 100.[00053] Video decoding apparatus 200 includes a receiver 210, an image data and encoding information extractor 220, and an image data decoder 230. Definitions of various terms, such as an encoding unit, a depth , a prediction unit, a TU, and information about various encoding modes, for various operations of the video decoding apparatus 200 are identical to those described with reference to Figure 1 and the video encoding apparatus 100.

[00054] O receptor 210 recebe e analisa um fluxo de bits de um vídeo codificado. O extrator de informação de codificação e dados de imagem 220 extrai os dados de imagem codificados para cada unidade de codificação a partir do fluxo de bits analisado, em que as unidades de codificação têm uma estrutura de árvore de acordo com cada LCU, e emite os dados de imagem extraídos para o decodificador de dados de imagem 230. O extrator de informação de codificação e dados de imagem 220 pode extrair a informação sobre uma LCU de uma imagem atual, a partir de um cabeçalho da imagem atual.[00054] Receiver 210 receives and analyzes an encoded video bit stream. The coding information and image data extractor 220 extracts the coded image data for each coding unit from the analyzed bit stream, wherein the coding units have a tree structure according to each LCU, and outputs the extracted image data for image data decoder 230. Encoding information and image data extractor 220 can extract information about an LCU of a current image from a header of the current image.

[00055] Além disso, o extrator de informação de codificação e dados de imagem 220 extrai informação sobre uma profundidade codificada e um modo de codificação para as unidades de codificação tendo uma estrutura de árvore de acordo com cada LCU, a partir do fluxo de bits analisado. A informação extraída sobre a profundidade codificada e o modo de codificação é emitida para o decodificador de dados de imagem 230. Em mais detalhe, os dados de imagem em um fluxo de bits são divididos para a LCU de modo que o decodificador de dados de imagem 230 decodifica os dados de imagem para cada LCU.[00055] In addition, the coding information and image data extractor 220 extracts information about a coded depth and an coding mode for the coding units having a tree structure according to each LCU, from the bit stream analyzed. The extracted information about the encoded depth and encoding mode is output to the image data decoder 230. In more detail, the image data in a bit stream is split to the LCU so that the image data decoder 230 decodes the image data for each LCU.

[00056] A informação sobre a profundidade codificada e o modo de codificação de acordo com a LCU pode ser ajustada para informação sobre ao menos uma unidade de codificação correspondendo à profundidade codificada, e informação sobre um modo de codificação pode incluir informação sobre um tipo de partição de uma unidade de codificação correspondente, correspondendo à profundidade codificada, sobre um modo de predição, e um tamanho de uma TU. Além disso, informação de divisão de acordo com as profundidades pode ser extraída como a informação sobre a profundidade codificada.[00056] Information about the encoded depth and encoding mode according to the LCU can be set to information about at least one encoding unit corresponding to the encoded depth, and information about an encoding mode may include information about a type of encoding. partition of a corresponding encoding unit, corresponding to the encoded depth, over a prediction mode, and a size of a TU. Furthermore, information splitting according to depths can be extracted as the encoded depth information.

[00057] A informação sobre a profundidade codificada e o modo de codificação de acordo com cada LCU extraída pelos dados de imagem e extrator de informação de codificação 220 é informação sobre uma profundidade codificada e um modo de codificação determinado para gerar um erro de codificação mínimo quando um codificador, tal como o aparelho de codificação de vídeo 100, realiza repetidamente a codificação para cada unidade de codificação mais profunda de acordo com as profundidades de acordo com cada LCU. Consequentemente, o aparelho de decodificação de vídeo 200 pode restaurar uma imagem mediante decodificação dos dados de imagem de acordo com uma profundidade codificada e um modo de codificação que gera o erro de codificação mínimo.[00057] The information about the encoded depth and encoding mode according to each LCU extracted by the image data and encoding information extractor 220 is information about an encoded depth and an encoding mode determined to generate minimal encoding error when an encoder, such as video encoding apparatus 100, repeatedly performs encoding for each deeper encoding unit according to depths according to each LCU. Accordingly, the video decoding apparatus 200 can restore an image by decoding the image data according to an encoded depth and an encoding mode that generates the minimum encoding error.

[00058] Como a informação de codificação sobre a profundidade codificada e o modo de codificação pode ser atribuída a uma unidade de dados predeterminada dentre uma unidade de codificação correspondente, uma unidade de predição, e uma unidade mínima, o extrator de informação de codificação e dados de imagem 220 pode extrair a informação sobre a profundidade codificada e o modo de codificação de acordo com as unidades de dados predeterminadas. As unidades de dados predeterminadas as quais a mesma informação sobre a profundidade codificada e o modo de codificação é atribuída pode ser inferida como sendo a unidade de dados incluída na mesma LCU.[00058] As encoding information about the encoded depth and encoding mode can be assigned to a predetermined data unit among a corresponding encoding unit, a prediction unit, and a minimum unit, the encoding information extractor and image data 220 can extract information about encoded depth and encoding mode in accordance with predetermined data units. The predetermined data units to which the same information about encoded depth and encoding mode is assigned can be inferred to be the data unit included in the same LCU.

[00059] O decodificador de dados de imagem 230 restaura a imagem atual mediante decodificação dos dados de imagem em cada LCU com base na informação sobre a profundidade codificada e o modo de codificação de acordo com as unidades de codificação máxima. Em outras palavras, o decodificador de dados de imagem 230 pode decodificar os dados de imagem decodificados com base na informação extraída sobre o tipo de partição, o modo de predição, e a TU para cada unidade de codificação dentre as unidades de codificação que têm a estrutura de árvore incluída em cada LCU. Um processo de decodificação pode incluir um processo de predição incluindo predição intra e compensação de movimento, e um processo de transformação inversa.[00059] The image data decoder 230 restores the current image by decoding the image data in each LCU based on the information about the encoded depth and encoding mode according to the maximum encoding units. In other words, the picture data decoder 230 can decode the decoded picture data based on the extracted information about the partition type, the prediction mode, and the TU for each encoding unit among the encoding units that have the tree structure included in each LCU. A decoding process may include a prediction process including intra prediction and motion compensation, and an inverse transformation process.

[00060] O decodificador de dados de imagem 230 pode realizar intra predição ou compensação de movimento de acordo com uma partição e um modo de predição de cada unidade de codificação, com base na informação sobre o tipo de partição e o modo de predição da unidade de predição da unidade de codificação das profundidades codificadas.[00060] The picture data decoder 230 can perform intra prediction or motion compensation according to a partition and a prediction mode of each encoding unit, based on the information about the partition type and the prediction mode of the unit of prediction of the coding unit of the coded depths.

[00061] Além disso, o decodificador de dados de imagem 230 pode realizar a transformada inversa de acordo com cada TU na unidade de codificação, com base na informação sobre o tamanho da TU da unidade de codificação de acordo com as profundidades codificadas, de modo a realizar a transformada inversa de acordo com as LCUs.[00061] In addition, the picture data decoder 230 can perform the inverse transform according to each TU in the encoding unit, based on the information about the TU size of the encoding unit according to the encoded depths, so to perform the inverse transform according to the LCUs.

[00062] O decodificador de dados de imagem 230 pode determinar pelo menos uma profundidade codificada de uma LCU atual mediante uso de informação de divisão de acordo com as profundidades. Se a informação de divisão indicar que os dados de imagem não estão mais divididos na profundidade atual, a profundidade atual é uma profundidade codificada. Consequentemente, o decodificador de dados de imagem 230 pode decodificar a unidade de codificação da profundidade atual com relação aos dados de imagem da LCU atual mediante uso da informação sobre o tipo de partição da unidade de predição, o modo de predição, e o tamanho da TU.[00062] The picture data decoder 230 can determine at least an encoded depth of a current LCU using depth division information. If the split information indicates that the image data is no longer split at the current depth, the current depth is an encoded depth. Accordingly, the image data decoder 230 can decode the current depth encoding unit against the current LCU image data by using information about the prediction unit's partition type, prediction mode, and image size. YOU.

[00063] Em outras palavras, unidades de dados contendo a informação de codificação incluindo a mesma informação de divisão podem ser agrupadas mediante observação do conjunto de informação de codificação atribuído para a unidade de dados predeterminada dentre a unidade de codificação, a unidade de predição, e a unidade mínima, e as unidades de dados agrupados podem ser considerados como uma unidade de dados a ser decodificada pelo decodificador de dados de imagem 230 no mesmo modo de codificação.[00063] In other words, data units containing coding information including the same division information can be grouped by observing the coding information set assigned to the predetermined data unit from among the coding unit, the prediction unit, and the minimum unit, and the grouped data units can be considered as a data unit to be decoded by the picture data decoder 230 in the same encoding mode.

[00064] O aparelho de decodificação de vídeo 200 pode obter informação sobre ao menos uma unidade de codificação que gera o erro de codificação mínimo quando a codificação é realizada de forma recursiva para cada LCU, e pode usar a informação para decodificar a imagem atual. Em outras palavras, dados de imagem codificados das unidades de codificação tendo a estrutura de árvore determinada para serem as unidades de codificação ótima em cada LCU, podem ser decodificados.[00064] The video decoding apparatus 200 can obtain information about at least one encoding unit that generates the minimum encoding error when encoding is performed recursively for each LCU, and can use the information to decode the current image. In other words, encoded image data from encoding units having the tree structure determined to be the optimal encoding units in each LCU can be decoded.

[00065] Consequentemente, mesmo se os dados de imagem tiverem uma elevada resolução e uma grande quantidade de dados, os dados de imagem podem ser decodificados eficientemente e restaurados mediante uso de um tamanho de uma unidade de codificação e um modo de codificação, que são determinados de forma adaptativa de acordo com as características dos dados de imagem, mediante uso de informação sobre um modo de codificação ótimo recebido a partir de um codificador.[00065] Consequently, even if the image data has a high resolution and a large amount of data, the image data can be efficiently decoded and restored by using an encoding unit size and encoding mode, which are adaptively determined according to the characteristics of the image data, using information about an optimal encoding mode received from an encoder.

[00066] Um método de determinar unidades de codificação tendo uma estrutura de árvore, uma unidade de predição, e uma TU, de acordo com uma modalidade da presente invenção, serão descritos agora com referência às Figuras 3 a 13.[00066] A method of determining encoding units having a tree structure, a prediction unit, and a TU, in accordance with an embodiment of the present invention, will now be described with reference to Figures 3 to 13.

[00067] A Figura 3 é um diagrama para descrever um conceito das unidades de codificação de acordo com uma modalidade da presente invenção.[00067] Figure 3 is a diagram for describing a concept of encoding units according to an embodiment of the present invention.

[00068] Um tamanho de uma unidade de codificação pode ser expresso em largura x altura, e pode ser 64x64, 32x32, 16x16 e 8x8. Uma unidade de codificação de 64x64 pode ser dividida em partições de 64x64, 64x32, 32x64 ou 32x32, e uma unidade de codificação de 32x32 pode ser dividida em partições de 32x32, 32x16, 16x32, ou 16x16, uma unidade de codificação de 16x16 pode ser dividida em partições de 16x16, 16x8, 8x16 ou 8x8, e uma unidade de codificação de 8x8 pode ser dividida em partições de 8x8, 8x4, 4x8 ou 4x4.[00068] A size of an encoding unit can be expressed in width x height, and can be 64x64, 32x32, 16x16 and 8x8. A 64x64 encoding unit can be divided into 64x64, 64x32, 32x64 or 32x32 partitions, and a 32x32 encoding unit can be divided into 32x32, 32x16, 16x32, or 16x16 partitions, a 16x16 encoding unit can be divided into 16x16, 16x8, 8x16 or 8x8 partitions, and an 8x8 encoding unit can be divided into 8x8, 8x4, 4x8 or 4x4 partitions.

[00069] Nos dados de vídeo 310, uma resolução é de 1920x1080, um tamanho máximo de uma unidade de codificação é de 64, e uma profundidade máxima é de 2. Nos dados de vídeo 320, uma resolução é de 1920x1080, um tamanho máximo de codificação é de 64, e uma profundidade máxima é de 3. Nos dados de vídeo 330, uma resolução é de 352x288, um tamanho máximo de uma unidade de codificação é de 16, e uma profundidade máxima é de 1. A profundidade máxima mostrada na Figura 13 denota um número total de divisões a partir de uma LCU para uma unidade de decodificação mínima.[00069] In 310 video data, a resolution is 1920x1080, a maximum size of an encoding unit is 64, and a maximum depth is 2. In 320 video data, a resolution is 1920x1080, a maximum size encoding is 64, and a maximum depth is 3. In video data 330, a resolution is 352x288, a maximum size of an encoding unit is 16, and a maximum depth is 1. The maximum depth shown in Figure 13 denotes a total number of divisions from an LCU to a minimum decoding unit.

[00070] Se uma resolução for elevada ou se uma quantidade de dados for grande, um tamanho máximo de uma unidade de codificação pode ser tão grande para não apenas aumentar a eficiência de codificação, mas também refletir de forma exata as características de uma imagem. Consequentemente, o tamanho máximo da unidade de codificação dos dados de vídeo 310 e 320 tendo a resolução mais alta do que os dados de vídeo 330 pode ser de 64.[00070] If the resolution is high or the amount of data is large, a maximum size of an encoding unit can be so large as to not only increase encoding efficiency, but also accurately reflect the characteristics of an image. Accordingly, the maximum size of encoding unit of video data 310 and 320 having higher resolution than video data 330 can be 64.

[00071] Como a profundidade máxima dos dados de vídeo 310 é de 2, as unidades de codificação 315 dos dados de vídeo 310 podem incluir uma LCU tendo um tamanho de eixo longo de 64, e unidades de codificação tendo tamanhos de eixo longos de 32 e 16 uma vez que as profundidades são aprofundadas para duas camadas mediante divisão duas vezes da LCU. Entretanto, como a profundidade máxima dos dados de vídeo 330 é de 1, as unidades de codificação 335 dos dados de vídeo 330 podem incluir uma LCU tendo um tamanho de eixo longo de 16, e unidades de codificação tendo um tamanho de eixo longo de 8 uma vez que as profundidades são aprofundadas para uma camada mediante divisão uma vez da LCU.[00071] As the maximum depth of video data 310 is 2, encoding units 315 of video data 310 may include an LCU having a long axis size of 64, and encoding units having long axis sizes of 32 and 16 since the depths are deepened to two layers by splitting the LCU twice. However, since the maximum depth of video data 330 is 1, encoding units 335 of video data 330 may include an LCU having a long axis size of 16, and encoding units having a long axis size of 8 since the depths are deepened to a layer upon division once of the LCU.

[00072] Como a profundidade máxima dos dados de vídeo 320 é de 3, as unidades de codificação 325 dos dados de vídeo 320 podem incluir uma LCU tendo um tamanho de eixo longo de 64, e unidades de codificação tendo tamanhos de eixo longo de 32, 16 e 8 uma vez que as profundidades são aprofundadas para 3 camadas mediante divisão da LCU três vezes. À medida que a profundidade é aprofundada, informação detalhada pode ser expressa com exatidão.[00072] As the maximum depth of video data 320 is 3, encoding units 325 of video data 320 may include an LCU having a long axis size of 64, and encoding units having long axis sizes of 32 , 16 and 8 as the depths are deepened to 3 layers by dividing the LCU three times. As depth is deepened, detailed information can be accurately expressed.

[00073] A Figura 4 é um diagrama de blocos de um codificador de imagem 400 com base nas unidades de codificação, de acordo com uma modalidade da presente invenção.[00073] Figure 4 is a block diagram of an image encoder 400 based on encoding units, in accordance with an embodiment of the present invention.

[00074] O codificador de imagem 400 realiza operações do determinador de unidade de codificação 120 do equipamento de codificação de vídeo 100 para codificar os dados de imagem. Em outras palavras, um preditor intra 410 realiza predição intra nas unidades de codificação em um modo intra, dentre uma imagem atual 405, e um estimador de movimento 420 e um compensador de movimento 425 realiza estimação inter e compensação de movimento nas unidades de codificação em um modo inter dentre a imagem atual 405 mediante uso da imagem atual 405, e um quadro de referência 495.[00074] The image encoder 400 performs operations of the encoding unit determiner 120 of the video encoding equipment 100 to encode the image data. In other words, an intra predictor 410 performs intra prediction on encoding units in an intra mode, within a current image 405, and a motion estimator 420 and motion compensator 425 performs inter estimation and motion compensation on encoding units in an inter mode within the current image 405 by using the current image 405, and a reference frame 495.

[00075] Os dados emitidos a partir do preditor intra 410, do estimador de movimento 420, e do compensador de movimento 425 são emitidos como um coeficiente de transformação quantizado através do transformador 430 e de um quantizador 440. O coeficiente de transformação quantizado é restaurado como dados em um domínio espacial através de um quantizador inverso 460 e um transformador inverso 470, e os dados restaurados no domínio espacial são emitidos como a imagem de referência 495 após ser pós-processado através de uma unidade de desblocagem 480 e uma unidade de filtração de laço 490. O coeficiente de transformação quantizado pode ser emitido como um fluxo de bits 455 através de um codificador de entropia 450.[00075] Data output from intra predictor 410, motion estimator 420, and motion compensator 425 is output as a quantized transformation coefficient through transformer 430 and a quantizer 440. The quantized transformation coefficient is restored as data in a spatial domain through an inverse quantizer 460 and an inverse transformer 470, and the restored data in the spatial domain is output as the reference image 495 after being post-processed through an unblocking unit 480 and a filtering unit loop 490. The quantized transform coefficient may be output as a bit stream 455 through an entropy encoder 450.

[00076] Para que o codificador de imagem 400 seja aplicado no equipamento de codificação de vídeo 100, todos os elementos do codificador de imagem 400, isto é, o preditor intra 410, o estimador de movimento 420, o compensador de movimento 425, o transformador 430, o quantizador 440, o codificador de entropia 450, o quantizador inverso 460, o transformador inverso 470, a unidade de desblocagem 480, e a unidade de filtração de laço 490 realizam operações com base em cada unidade de codificação dentre unidades de codificação tendo uma estrutura de árvore enquanto considerando a profundidade máxima de cada LCU.[00076] In order for the picture encoder 400 to be applied to the video encoding equipment 100, all elements of the picture encoder 400, i.e. the intra predictor 410, the motion estimator 420, the motion compensator 425, the transformer 430, quantizer 440, entropy encoder 450, inverse quantizer 460, inverse transformer 470, unblocking unit 480, and loop filtering unit 490 perform operations based on each encoding unit among encoding units having a tree structure while considering the maximum depth of each LCU.

[00077] Especificamente, o preditor intra 410, o estimador de movimento 420, e o compensador de movimento 425 determinam partições e um modo de predição de cada unidade de codificação dentre as unidades de codificação tendo uma estrutura de árvore enquanto considerando o tamanho máximo e a profundidade máxima de uma LCU atual, e o transformador 430 determina o tamanho da TU em cada unidade de codificação dentre as unidades de codificação tendo uma estrutura de árvore.[00077] Specifically, the intra predictor 410, the motion estimator 420, and the motion compensator 425 determine partitions and a prediction mode of each encoding unit among encoding units having a tree structure while considering the maximum size and the maximum depth of a current LCU, and transformer 430 determines the size of the TU in each coding unit among the coding units having a tree structure.

[00078] A Figura 5 é um diagrama de blocos de um decodificador de imagem 500 com base nas unidades de codificação, de acordo com uma modalidade da presente invenção.[00078] Figure 5 is a block diagram of a picture decoder 500 based on encoding units, in accordance with an embodiment of the present invention.

[00079] Um analisador 510 analisa os dados de imagem codificados a serem decodificados e informação sobre a codificação exigida para decodificação a partir de um fluxo de bits 505. Os dados de imagem codificados são emitidos como dados quantizados inversos através de um decodificador de entropia 520 e um quantizador inverso 530, e os dados quantizados inversos são restaurados para dados de imagem em um domínio espacial através de um transformador inverso 540.[00079] An analyzer 510 analyzes the encoded image data to be decoded and encoding information required for decoding from a bit stream 505. The encoded image data is output as inverse quantized data through an entropy decoder 520 and an inverse quantizer 530, and the inverse quantized data is restored to image data in a spatial domain through an inverse transformer 540.

[00080] Um intra preditor 550 realiza predição intra nas unidades de codificação em um modo intra com relação aos dados de imagem no domínio espacial, e um compensador de movimento 560 realiza compensação de movimento nas unidades de codificação em um modo inter, mediante uso de uma imagem de referência 585.[00080] An intra predictor 550 performs intra prediction on the encoding units in an intra mode with respect to image data in the spatial domain, and a motion compensator 560 performs motion compensation on the encoding units in an inter mode by using a reference image 585.

[00081] Os dados de imagem no domínio espacial, os quais passaram através do preditor intra 550 e do compensador de movimento 560, podem ser emitidos como um quadro restaurado 595 após serem pós-processados através de uma unidade de desblocagem 570 e uma unidade de filtração de laço 580. Além disso, os dados de imagem que são pós-processados através da unidade de desblocagem 570 e da unidade de filtração de laço 580 podem ser emitidos como o quadro de referência 595.[00081] The image data in the spatial domain, which has passed through the intra predictor 550 and the motion compensator 560, can be output as a restored frame 595 after being post-processed through an unblocking unit 570 and a deblocking unit 570. loop filtering 580. In addition, image data that is post-processed through deblocking unit 570 and loop filtering unit 580 can be output as reference frame 595.

[00082] Para que o decodificador de dados de imagem 230 do aparelho de decodificação de vídeo 200 decodifique os dados de imagem, operações após o analisador 510 do decodificador de imagem 500 podem ser realizadas.[00082] In order for the image data decoder 230 of the video decoding apparatus 200 to decode the image data, operations after the analyzer 510 of the image decoder 500 can be performed.

[00083] Para que o decodificador de imagem 500 seja aplicado no equipamento de decodificação de vídeo 200, todos os elementos do decodificador de imagem 500, isto é, o analisador 510, o decodificador de entropia 520, o quantizador inverso 530, o transformador inverso 540, o preditor intra 550, o compensador de movimento 560, a unidade de desblocagem 570, e a unidade de filtração de laço 580 realizam operações com base nas unidades de codificação tendo uma estrutura de árvore para cada LCU.[00083] In order for the picture decoder 500 to be applied to the video decoding equipment 200, all elements of the picture decoder 500, i.e. the analyzer 510, the entropy decoder 520, the inverse quantizer 530, the inverse transformer 540, intrapredictor 550, motion compensator 560, unlocking unit 570, and loop filtering unit 580 perform operations based on encoding units having a tree structure for each LCU.

[00084] Especificamente, O preditor intra 550 e o compensador de movimento 560 realizam operações com base nas partições e em um modo de predição para cada uma das unidades de codificação tendo uma estrutura de árvore, e o transformador inverso 540 realiza operações com base em um tamanho de uma TU para cada unidade de codificação.[00084] Specifically, the intra predictor 550 and the motion compensator 560 perform operations based on partitions and a prediction mode for each of the encoding units having a tree structure, and the inverse transformer 540 performs operations based on a size of one TU for each encoding unit.

[00085] A Figura 6 é um diagrama ilustrando unidades de codificação mais profunda de acordo com as profundidades, e partições, de acordo com uma modalidade da presente invenção.[00085] Figure 6 is a diagram illustrating deeper encoding units according to depths, and partitions, in accordance with an embodiment of the present invention.

[00086] O aparelho de codificação de vídeo 100 e o aparelho de decodificação de vídeo 200 utilizam unidades de codificação hierárquicas para considerar as características de uma imagem. Uma altura máxima, uma largura máxima, e uma profundidade máxima das unidades de codificação podem ser determinadas de forma adaptativa de acordo com as características da imagem, ou podem ser ajustadas de forma diferente por um usuário. Tamanhos de unidades de codificação mais profundas, de acordo com as profundidades, podem ser determinados de acordo com o tamanho máximo predeterminado da unidade de codificação.[00086] The video encoding apparatus 100 and the video decoding apparatus 200 use hierarchical encoding units to account for the characteristics of an image. A maximum height, a maximum width, and a maximum depth of the encoding units can be adaptively determined according to the image characteristics, or they can be adjusted differently by a user. Deeper encoding unit sizes, according to depths, can be determined according to the predetermined maximum encoding unit size.

[00087] Em uma estrutura hierárquica 600 das unidades de codificação, de acordo com uma modalidade exemplar, a altura máxima e a largura máxima das unidades de codificação são individualmente de 64, e a profundidade máxima é de 4. Nesse caso a profundidade máxima se refere a um número total de vezes que a unidade de codificação é dividida a partir da LCU para a unidade de codificação mínima. Como uma profundidade é aprofundada ao longo de um eixo vertical da estrutura hierárquica 600, uma altura e uma largura da unidade de codificação mais profunda são individualmente divididas. Além disso, uma unidade de predição e as partições, que são as bases para codificação de predição de cada unidade de codificação mais profunda, são mostradas ao longo de um eixo horizontal da estrutura hierárquica 600.[00087] In a hierarchical structure 600 of the coding units, according to an exemplary embodiment, the maximum height and the maximum width of the coding units are individually 64, and the maximum depth is 4. In this case the maximum depth becomes refers to the total number of times the encoding unit is divided from the LCU to the minimum encoding unit. As a depth is deepened along a vertical axis of the hierarchical structure 600, a height and width of the deepest encoding unit are individually divided. In addition, a prediction unit and the partitions, which are the basis for encoding prediction of each deeper encoding unit, are shown along a horizontal axis of the hierarchical structure 600.

[00088] Em outras palavras, uma unidade de codificação 610 é uma LCU na estrutura hierárquica 600, em que uma profundidade é de 0 e um tamanho, isto é, uma altura por largura, é de 64x64. A profundidade é aprofundada ao longo do eixo vertical, e existe uma unidade de codificação 620, tendo um tamanho de 32x32, e uma profundidade de 1; uma unidade de codificação 630, tendo um tamanho de 16x16, e uma profundidade de 2; e existe uma unidade de codificação 640, tendo um tamanho de 8x8, e uma profundidade de 3, e existe uma unidade de codificação 650 tendo o tamanho de 4x4 e uma profundidade de 4 é uma unidade de codificação mínima. A unidade de codificação 650 tendo o tamanho de 4x4 e a profundidade de 4 é uma unidade de codificação mínima.[00088] In other words, a coding unit 610 is an LCU in the hierarchical structure 600, where a depth is 0 and a size, that is, a height by width, is 64x64. The depth is deepened along the vertical axis, and there is an encoding unit 620, having a size of 32x32, and a depth of 1; an encoding unit 630, having a size of 16x16, and a depth of 2; and there is an encoding unit 640 having a size of 8x8 and a depth of 3, and there is a encoding unit 650 having a size of 4x4 and a depth of 4 is a minimum encoding unit. Encoding unit 650 having a size of 4x4 and a depth of 4 is a minimum encoding unit.

[00089] A unidade de predição e as partições de uma unidade de codificação são arranjadas ao longo do eixo horizontal de acordo com cada profundidade. Em outras palavras, se a unidade de codificação 610, tendo o tamanho de 64x64, e a profundidade de 0, for uma unidade de predição, a unidade de predição pode ser dividida em partições incluídas na unidade de codificação 610, isto é, uma partição 610 tendo um tamanho de 64x64, partições 612 tendo o tamanho de 64x32, partições 614 tendo o tamanho de 32x64, ou partições 616 tendo o tamanho de 32x32.[00089] The prediction unit and the partitions of an encoding unit are arranged along the horizontal axis according to each depth. In other words, if the coding unit 610, having the size of 64x64, and the depth of 0, is a prediction unit, the prediction unit can be divided into partitions included in the coding unit 610, that is, a partition 610 having a size of 64x64, partitions 612 having a size of 64x32, partitions 614 having a size of 32x64, or partitions 616 having a size of 32x32.

[00090] Similarmente, uma unidade de predição da unidade de codificação 620 tendo o tamanho de 32x32 e a profundidade de 1 pode ser dividida em partições incluídas na unidade de codificação 620, isto é, uma partição 620 tendo um tamanho de 32x32, partições 622 tendo um tamanho de 32x16, partições 624 tendo um tamanho de 16x32, e partições 626 tendo um tamanho de 16x16.[00090] Similarly, a prediction unit of encoding unit 620 having a size of 32x32 and a depth of 1 can be divided into partitions included in encoding unit 620, i.e., a partition 620 having a size of 32x32, partitions 622 having a size of 32x16, partitions 624 having a size of 16x32, and partitions 626 having a size of 16x16.

[00091] Similarmente, uma unidade de predição da unidade de codificação 630 tendo o tamanho de 16x16 e a profundidade de 2 pode ser dividida em partições incluídas na unidade de codificação 630, isto é, uma partição tendo um tamanho de 16x16 incluída na unidade de codificação 630, partições 632 tendo um tamanho de 16x8, partições 634 tendo um tamanho de 8x16, e partições 636 tendo um tamanho de 8x8.[00091] Similarly, a prediction unit of the encoding unit 630 having a size of 16x16 and a depth of 2 can be divided into partitions included in the encoding unit 630, i.e., a partition having a size of 16x16 included in the encoding unit 630. encoding 630, partitions 632 having a size of 16x8, partitions 634 having a size of 8x16, and partitions 636 having a size of 8x8.

[00092] Similarmente, uma unidade de predição da unidade de codificação 640 tendo o tamanho de 8x8 e a profundidade de 3 pode ser dividida em partições incluídas na unidade de codificação 640, isto é, uma partição tendo um tamanho de 8x8 incluída na unidade de codificação 640, partições 642 tendo um tamanho de 8x4, partições 644 tendo um tamanho de 4x8, e partições 646 tendo um tamanho de 4x4.[00092] Similarly, a prediction unit of encoding unit 640 having a size of 8x8 and a depth of 3 can be divided into partitions included in encoding unit 640, i.e., a partition having a size of 8x8 included in the encoding unit 640. encoding 640, partitions 642 having a size of 8x4, partitions 644 having a size of 4x8, and partitions 646 having a size of 4x4.

[00093] A unidade de codificação 650 tendo o tamanho de 4x4 e a profundidade de 4 é a unidade de codificação mínima e uma unidade de codificação de profundidade mais baixa. Uma unidade de predição da unidade de codificação 650 é atribuída apenas a uma partição tendo um tamanho de 4x4.[00093] Encoding unit 650 having a size of 4x4 and a depth of 4 is the minimum encoding unit and a lowest depth encoding unit. A prediction unit of encoding unit 650 is assigned only to a partition having a size of 4x4.

[00094] Para determinar a pelo menos uma profundidade codificada das unidades de codificação constituindo a LCU 610, o determinador de unidade de decodificação 120 do aparelho de codificação de vídeo 10 realiza codificação para as unidades de codificação correspondendo a cada profundidade incluída na LCU 610.[00094] To determine the at least one coded depth of the coding units constituting the LCU 610, the decoding unit determiner 120 of the video coding apparatus 10 performs coding for the coding units corresponding to each depth included in the LCU 610.

[00095] O número de unidades de codificação mais profunda, de acordo com as profundidades incluindo dados na mesma variação e no mesmo tamanho, aumenta à medida que é aprofundada a profundidade. Por exemplo, quatro unidades de codificação correspondendo a uma profundidade de 2 são exigidas para cobrir os dados que são incluídos em uma unidade de codificação correspondendo a uma profundidade de 1. Consequentemente, para comparar os resultados de codificação dos mesmos dados de acordo com as profundidades, a unidade de codificação correspondendo à profundidade de 1; e quatro unidades de codificação correspondendo à profundidade de 2; são individualmente codificadas.[00095] The number of deeper encoding units, according to depths including data in the same range and in the same size, increases as the depth is deepened. For example, four encoding units corresponding to a depth of 2 are required to cover the data that is included in one encoding unit corresponding to a depth of 1. Accordingly, to compare encoding results of the same data according to depths , the encoding unit corresponding to the depth of 1; and four encoding units corresponding to the depth of 2; are individually coded.

[00096] Para executar a codificação para uma profundidade atual entre as profundidades, um erro de codificação mínimo pode ser selecionado para a profundidade atual mediante realização de codificação para cada unidade de predição nas unidades de codificação correspondendo à profundidade atual, ao longo do eixo horizontal da estrutura hierárquica 600. Alternativamente, o erro de codificação mínimo pode ser pesquisado mediante comparação dos erros de codificação mínimos de acordo com as profundidades, mediante realização de codificação para cada profundidade à medida que a profundidade é aprofundada ao longo do eixo vertical da estrutura hierárquica 600. Uma profundidade e uma partição tendo o erro de codificação mínimo na unidade de codificação 610 podem ser selecionadas como a profundidade codificada e um tipo de partição da unidade de codificação 610.[00096] To perform coding for a current depth between depths, a minimum coding error can be selected for the current depth by performing coding for each prediction unit in the coding units corresponding to the current depth, along the horizontal axis of the hierarchical structure 600. Alternatively, the minimum coding error can be searched by comparing the minimum coding errors according to the depths, by performing coding for each depth as the depth is deepened along the vertical axis of the hierarchical structure 600. A depth and partition having the minimum encoding error in encoding unit 610 can be selected as the encoded depth and a partition type of encoding unit 610.

[00097] A figura 7 é um diagrama para descrever uma relação entre uma unidade de codificação 710 e TUs 720, de acordo com uma modalidade da presente invenção.[00097] Fig. 7 is a diagram for describing a relationship between a scrambling unit 710 and TUs 720, in accordance with an embodiment of the present invention.

[00098] O aparelho de codificação de vídeo 100 ou o aparelho de decodificação de vídeo 200 codifica ou decodifica uma imagem de acordo com as unidades de codificação tendo tamanhos menores do que ou iguais a uma LCU para cada LCU. Tamanhos de TUs para transformação durante codificação podem ser selecionados com base nas unidades de dados que não são maiores do que uma unidade de codificação correspondente.[00098] The video encoding apparatus 100 or the video decoding apparatus 200 encodes or decodes an image according to encoding units having sizes less than or equal to one LCU for each LCU. TU sizes for transformation during encoding can be selected based on data units that are not larger than a corresponding encoding unit.

[00099] Por exemplo, no aparelho de codificação de vídeo 100 ou 200, ou o aparelho de decodificação de vídeo 200, se um tamanho da unidade de codificação 710 é de 64x64, a transformação pode ser realizada mediante uso das TUs 720 tendo um tamanho de 32x32.[00099] For example, in video encoding apparatus 100 or 200, or video decoding apparatus 200, if a size of encoding unit 710 is 64x64, transformation can be performed using TUs 720 having a size of 32x32.

[000100] Além disso, os dados da unidade de codificação 710 tendo o tamanho de 64x64 podem ser codificados mediante realização da transformação em cada uma das TUs tendo o tamanho de 32x32, 16x16, 8x8, e 4x4, que são menores do que 64x64, e então uma TU tendo o erro de codificação mínimo pode ser selecionada.[000100] In addition, data from encoding unit 710 having the size of 64x64 can be encoded by performing the transformation on each of the TUs having the size of 32x32, 16x16, 8x8, and 4x4, which are smaller than 64x64, and then a TU having the minimum encoding error can be selected.

[000101] A figura 8 é um diagrama para descrever informação de codificação das unidades de codificação correspondendo a uma profundidade codificada, de acordo com uma modalidade da presente invenção.[000101] Fig. 8 is a diagram for describing coding information of coding units corresponding to a coded depth, in accordance with an embodiment of the present invention.

[000102] Uma unidade de saída 130 do aparelho de codificação de vídeo 100 pode codificar e transmitir informação 800 sobre um tipo de partição, informação 810 sobre um modo de predição, e informação 820 sobre um tamanho de uma TU para cada unidade de codificação correspondendo a uma profundidade codificada, como informação sobre um modo de codificação.[000102] An output unit 130 of the video encoding apparatus 100 can encode and transmit information 800 about a partition type, information 810 about a prediction mode, and information 820 about a size of one TU for each encoding unit corresponding to an encoded depth, as information about an encoding mode.

[000103] A informação 800 indica informação sobre um formato de uma partição obtida mediante divisão de uma unidade de predição de uma unidade de codificação atual, em que a partição é uma unidade de dados para codificação de predição da unidade de codificação atual. Por exemplo, uma unidade de codificação atual CU_0 tendo um tamanho de 2Nx2N pode ser dividida em qualquer uma de uma partição 802 tendo um tamanho de 2Nx2N, uma partição 804 tendo um tamanho de 2NxN, uma partição de 806 tendo um tamanho de Nx2N, e uma partição 808 tendo um tamanho de NxN. Aqui, a informação 800 sobre um tipo de partição é estabelecida para indicar uma da partição 804 tendo um tamanho de 2NxN, a partição 806 tendo um tamanho de Nx2N, e a partição 808 tendo um tamanho de NxN.[000103] Information 800 indicates information about a format of a partition obtained by dividing a prediction unit from a current encoding unit, wherein the partition is a data unit for encoding prediction from the current encoding unit. For example, a current encoding unit CU_0 having a size of 2Nx2N can be split into any one of a partition 802 having a size of 2Nx2N, an 804 partition having a size of 2NxN, a partition of 806 having a size of Nx2N, and an 808 partition having a size of NxN. Here, information 800 about a partition type is set to indicate one of partition 804 having a size of 2NxN, partition 806 having a size of Nx2N, and partition 808 having a size of NxN.

[000104] A informação 810 indica um modo de predição de cada partição. Por exemplo, a informação 810 pode indicar um modo de codificação de predição realizado em uma partição indicada pela informação 800, isto é, um modo intra 812, um modo inter 814, ou um modo de salto 816.[000104] Information 810 indicates a prediction mode for each partition. For example, information 810 may indicate a prediction encoding mode performed on a partition indicated by information 800, i.e., an intra mode 812, an inter mode 814, or a hop mode 816.

[000105] A informação 820 indica uma TU para ser baseada em quando a transformação é realizada em uma unidade de codificação atual. Por exemplo, a TU pode ser uma primeira TU intra 822, uma segunda TU intra 824, uma primeira TU inter 826, ou uma segunda TU intra 828.[000105] Information 820 indicates a TU to be based on when the transformation is performed on a current encoding unit. For example, the TU may be a first intra 822 TU, a second intra 824 TU, a first inter 826 TU, or a second intra 828 TU.

[000106] O extrator de informação de codificação e dados de imagem 220 do aparelho de decodificação de vídeo 200 pode extrair e usar a informação 800, 810 e 820 para decodificação, de acordo com cada unidade de codificação mais profunda.[000106] The coding information and picture data extractor 220 of the video decoding apparatus 200 can extract and use the information 800, 810 and 820 for decoding, according to each deeper coding unit.

[000107] A figura 9 é um diagrama de unidades de codificação mais profunda de acordo com as profundidades, de acordo com uma modalidade da presente invenção.[000107] Fig. 9 is a diagram of deeper coding units according to depths, according to an embodiment of the present invention.

[000108] Informação de divisão pode ser usada para indicar uma mudança de uma profundidade. A informação de divisão indica se uma unidade de codificação de uma profundidade atual é dividida em unidades de codificação de uma profundidade inferior.[000108] Split information can be used to indicate a change of a depth. The division information indicates whether an encoding unit of a current depth is divided into encoding units of a lower depth.

[000109] Uma unidade de predição 910 para codificação de predição de uma unidade de codificação 900 tendo uma profundidade de 0 e um tamanho de 2N_0x2N_0 pode incluir partições de um tipo de partição 912 tendo um tamanho de 2N_0x2N_0, um tipo de partição 914 tendo um tamanho de 2N_0xN_0, um tipo de partição 916 tendo um tamanho de N_0x2N_0, e um tipo de partição 918 tendo um tamanho de N_0xN_0. A Figura 9 ilustra apenas os tipos de partição 912 a 918 que são obtidos mediante divisão simétrica da unidade de predição 910, porém um tipo de partição não é limitado a isso, e as partições da unidade de predição 910 podem incluir partições assimétricas, partições tendo um formato predeterminado e partições tendo um formato geométrico.[000109] A prediction unit 910 for encoding prediction of an encoding unit 900 having a depth of 0 and a size of 2N_0x2N_0 may include partitions of a partition type 912 having a size of 2N_0x2N_0, a partition type 914 having a size of 2N_0xN_0, a partition type 916 having a size of N_0x2N_0, and a partition type 918 having a size of N_0xN_0. Figure 9 only illustrates the partition types 912 to 918 which are obtained by symmetrical division of the prediction unit 910, however a partition type is not limited to that, and the partitions of the prediction unit 910 can include asymmetric partitions, partitions having a predetermined shape and partitions having a geometric shape.

[000110] A codificação de predição é realizada de forma repetida em uma partição tendo um tamanho de 2N_0x2N_0, duas partições tendo um tamanho de 2N_0xN_0, duas partições tendo um tamanho de N_0x2N_0, e quatro partições tendo um tamanho de N_0xN_0, de acordo com cada tipo de partição. A codificação de predição em um modo intra e em um modo inter pode ser realizada nas partições tendo os tamanhos de 2N_0x2N_0, N_0x2N_0, 2N_0xN_0 e N_0xN_0. A codificação de predição em um modo de salto é realizada apenas na partição tendo o tamanho de 2N_0x2N_0.[000110] The prediction coding is performed repeatedly on one partition having a size of 2N_0x2N_0, two partitions having a size of 2N_0xN_0, two partitions having a size of N_0x2N_0, and four partitions having a size of N_0xN_0, according to each partition type. Prediction coding in an intra mode and an inter mode can be performed on partitions having sizes of 2N_0x2N_0, N_0x2N_0, 2N_0xN_0 and N_0xN_0. Prediction encoding in a jump mode is performed only on the partition having the size of 2N_0x2N_0.

[000111] Se um erro de codificação é o menor em um dos tipos de partição 912 a 916, tendo os tamanhos de 2N_0*2N_0, 2N_0*N_0, and N_0x2N_0, a unidade de predição 910 pode não ser dividida em uma profundidade menor.[000111] If an encoding error is the smallest in one of partition types 912 to 916, having sizes 2N_0*2N_0, 2N_0*N_0, and N_0x2N_0, the prediction unit 910 may not be split to a smaller depth.

[000112] Se o erro de codificação for o menor no tipo de partição 918, uma profundidade é mudada de 0 para 1 para dividir o tipo de partição 918 na operação 920, e a codificação é realizada repetidamente nas unidades de codificação 930 tendo uma profundidade de 2 e um tamanho de N_0xN_0 para procurar um erro de codificação mínimo.[000112] If the encoding error is the smallest in partition type 918, a depth is changed from 0 to 1 to divide partition type 918 in operation 920, and encoding is performed repeatedly in encoding units 930 having a depth of 2 and a size of N_0xN_0 to look for a minimal encoding error.

[000113] Uma unidade de predição 940 para codificação de predição da unidade de codificação 930 tendo uma profundidade de 1 e um tamanho de 2N_1x2N_1(=N_0xN_0) pode incluir partições de um tipo de partição 942 tendo um tamanho de 2N_1x2N_1, um tipo de partição 944 tendo um tamanho de 2N_1xN_1, um tipo de partição 946 tendo um tamanho de N_1x2N_1, e um tipo de partição 948 tendo um tamanho de N_1xN_1.[000113] A prediction unit 940 for encoding prediction encoding unit 930 having a depth of 1 and a size of 2N_1x2N_1(=N_0xN_0) may include partitions of a partition type 942 having a size of 2N_1x2N_1, a partition type 944 having a size of 2N_1xN_1, a partition type 946 having a size of N_1x2N_1, and a partition type 948 having a size of N_1xN_1.

[000114] Se um erro de codificação for o menor no tipo de partição 948, uma profundidade é mudada de 1 para 2 para dividir o tipo de partição 948 Na operação 950, e a codificação é realizada repetidamente nas unidades de codificação 960, as quais têm uma profundidade de 2 e um tamanho de N_2xN_2 para procurar um erro de codificação mínimo.[000114] If an encoding error is the smallest in partition type 948, a depth is changed from 1 to 2 to divide partition type 948 In operation 950, and encoding is performed repeatedly in encoding units 960, which have a depth of 2 and a size of N_2xN_2 to look for minimal encoding error.

[000115] Quando uma profundidade máxima é d, a operação de divisão de acordo com cada profundidade pode ser realizada até quando uma profundidade se tornar d-1; e a informação de divisão pode ser codificada até quando uma profundidade for uma de 0 a d-2. Em outras palavras, quando a codificação é realizada até quando a profundidade é d-1 após uma unidade de codificação correspondendo a uma profundidade de d-2 ser dividida na operação 970, uma unidade de predição 990 para codificação de predição de uma unidade de codificação 980 tendo uma profundidade de d-1 e um tamanho de 2N_(d-1)x2N_(d-1) pode incluir partições de um tipo de partição 992 tendo um tamanho de 2N_(d-1)x2N_(d-1), um tipo de partição 994 tendo um tamanho de 2N_(d-1)xN_(d-1), um tipo de partição 996 tendo um tamanho de N_(d-1)x2N_(d-1), um tipo de partição 998 tendo um tamanho de N_(d-1)xN_(d-1).[000115] When a maximum depth is d, the division operation according to each depth can be performed even when a depth becomes d-1; and the division information can be encoded even when a depth is one from 0 to d-2. In other words, when encoding is performed up to when the depth is d-1 after a encoding unit corresponding to a depth of d-2 is divided in operation 970, a prediction unit 990 for encoding prediction of a encoding unit 980 having a depth of d-1 and a size of 2N_(d-1)x2N_(d-1) may include partitions of a partition type 992 having a size of 2N_(d-1)x2N_(d-1), a partition type 994 having a size of 2N_(d-1)xN_(d-1), a partition type 996 having a size of N_(d-1)x2N_(d-1), a partition type 998 having a size of N_(d-1)xN_(d-1).

[000116] Codificação de predição pode ser realizada repetidamente em uma partição tendo um tamanho de 2N_(d- 1)x2N_(d-1), duas partições tendo um tamanho de 2N_(d-1)xN_(d- 1), duas partições tendo um tamanho de N_(d-1)x2N_(d-1), quatro partições tendo um tamanho de N_(d-1)xN_(d-1) dentre os tipos de partição 992 a 998 para procurar um tipo de partição tendo um erro de codificação mínimo.[000116] Prediction coding can be performed repeatedly on one partition having a size of 2N_(d-1)x2N_(d-1), two partitions having a size of 2N_(d-1)xN_(d-1), two partitions having a size of N_(d-1)x2N_(d-1), four partitions having a size of N_(d-1)xN_(d-1) among partition types 992 to 998 to search for a partition type having a minimal coding error.

[000117] Mesmo quando o tipo de partição 998 tem o erro de codificação mínimo, como uma profundidade máxima é d, uma unidade de codificação CU_(d-1), tendo uma profundidade de d-1 não mais é dividida para uma profundidade inferior, e uma profundidade codificada para as unidades de codificação constituindo uma LCU atual 900 é determinada para ser d-1 e um tipo de partição da LCU atual 900 pode ser determinada para ser N_(d-1)xN_(d-1). Além disso, como a profundidade máxima é d e uma unidade de codificação mínima 980 tendo a profundidade mais baixa de d-1 não mais é dividida para uma profundidade inferior, a informação de divisão para a unidade de codificação mínima 980 não é estabelecida.[000117] Even when partition type 998 has the minimum encoding error, as a maximum depth is d, an encoding unit CU_(d-1) having a depth of d-1 is no longer split to a lower depth , and a coded depth for the coding units constituting a current LCU 900 is determined to be d-1 and a partition type of the current LCU 900 can be determined to be N_(d-1)xN_(d-1). Also, since the maximum depth is d and a minimum encoding unit 980 having the lowest depth of d-1 is no longer split to a lower depth, the division information for the minimum encoding unit 980 is not established.

[000118] A unidade de dados 999 pode ser uma ‘unidade mínima’ para a LCU atual. Uma unidade mínima de acordo com uma modalidade exemplar pode ser uma unidade de dados retangular obtida mediante divisão de uma unidade de codificação mínima 980 por 4. Mediante realização da codificação repetidamente, o equipamento de codificação de vídeo 100 pode selecionar uma profundidade tendo o erro de codificação mínimo mediante comparação dos erros de codificação de acordo com as profundidades da unidade de codificação 900 para determinar uma profundidade codificada, e estabelecer um tipo de partição correspondente e um modo de predição como um modo de codificação da profundidade codificada.[000118] Data unit 999 may be a 'minimum unit' for the current LCU. A minimum unit according to an exemplary embodiment may be a rectangular data unit obtained by dividing a minimum encoding unit 980 by 4. By performing the encoding repeatedly, the video encoding apparatus 100 may select a depth having the error of minimal coding by comparing the coding errors according to the depths of the coding unit 900 to determine an coded depth, and establishing a corresponding partition type and prediction mode as a coding depth coding mode.

[000119] Como tal, os erros de codificação mínimos de acordo com as profundidades são comparados em todas as profundidades de 1 a d, e a profundidade tendo o menor erro de codificação pode ser determinada como uma profundidade codificada. A profundidade codificada, o tipo de partição da unidade de predição, e o modo de predição podem ser codificados e transmitidos como informação sobre um modo de codificação. Além disso, como uma unidade de codificação é dividida a partir de uma profundidade de 0 até uma profundidade codificada, apenas a informação de divisão da profundidade codificada é ajustada para 0, e a informação de divisão das profundidades excluindo a profundidade codificada é ajustada para 1.[000119] As such, the minimum encoding errors according to depths are compared across all depths from 1 to d, and the depth having the smallest encoding error can be determined as an encoded depth. The encoded depth, the prediction unit partition type, and the prediction mode can be encoded and transmitted as information about an encoding mode. Also, as an encoding unit is divided from a depth of 0 to an encoded depth, only the division information of the encoded depth is set to 0, and the division information of the depths excluding the encoded depth is set to 1. .

[000120] O extrator de informação de codificação e dados de imagem 220 do aparelho de decodificação de vídeo 200 pode extrair e usar a informação sobre a profundidade codificada e a unidade de predição da unidade de codificação 900 para decodificar a partição 912. O aparelho de decodificação de vídeo 200 pode determinar uma profundidade, na qual a informação dividida é 0, como uma profundidade codificada mediante uso da informação dividida de acordo com as profundidades, e usar a informação sobre um modo de codificação da profundidade correspondente para decodificação.[000120] The encoding information and picture data extractor 220 of the video decoding apparatus 200 can extract and use the encoded depth information and the prediction unit of the encoding unit 900 to decode the partition 912. Video decoding 200 can determine a depth, at which the divided information is 0, as an encoded depth using the information divided according to the depths, and use the information about a corresponding depth encoding mode for decoding.

[000121] As figuras 10 a 12 são diagramas para descrever uma relação entre as unidades de codificação 1010, unidades de predição 1060, e TUs 1070, de acordo com uma modalidade da presente invenção.[000121] Figures 10 to 12 are diagrams for depicting a relationship between coding units 1010, prediction units 1060, and TUs 1070, in accordance with an embodiment of the present invention.

[000122] As unidades de codificação 1010 são unidades de codificação que têm uma estrutura de árvore, correspondendo às profundidades codificadas determinadas pelo aparelho de codificação de vídeo 100, em uma LCU. As unidades de predição 1060 são partições das unidades de predição de cada uma das unidades de codificação 1010, e as TUs 1070 são TUs de cada uma das unidades de codificação 1010.[000122] Encoding units 1010 are encoding units having a tree structure, corresponding to coded depths determined by video encoding apparatus 100, in an LCU. The prediction units 1060 are partitions of the prediction units of each of the encoding units 1010, and the TUs 1070 are TUs of each of the encoding units 1010.

[000123] Quando uma profundidade de uma LCU é 0 nas unidades de codificação 1010, as profundidades das unidades de codificação 1012 e 1054 são 1, as profundidades das unidades de codificação 1014, 1016, 1018, 1028, 1050, e 1052 são 2, as profundidades das unidades de decodificação 1020, 1022, 1024, 1026, 1030, 1032 e 1048 são 3, e as profundidades das unidades de codificação 1040, 1042, 1044 e 1046 são 4.[000123] When a depth of an LCU is 0 in encoding units 1010, the depths of encoding units 1012 and 1054 are 1, the depths of encoding units 1014, 1016, 1018, 1028, 1050, and 1052 are 2, the depths of decoding units 1020, 1022, 1024, 1026, 1030, 1032 and 1048 are 3, and the depths of encoding units 1040, 1042, 1044 and 1046 are 4.

[000124] Nas unidades de predição 1060, algumas unidades de codificação 1014, 1016, 1022, 1032, 1048, 1050, 1052, 1054 são obtidas mediante divisão das unidades de codificação nas unidades de codificação 1010. Em outras palavras, tipos de partição nas unidades de codificação 1014, 1022, 1050, e 1054 têm um tamanho de 2NxN, os tipos de partição nas unidades de codificação 1016, 1048 e 1052 têm um tamanho de Nx2N, e um tipo de partição da unidade de codificação 1032 tem um tamanho de NxN. As unidades de predição e partições das unidades de codificação 1010 são menores do que ou iguais a cada unidade de codificação.[000124] In the prediction units 1060, some encoding units 1014, 1016, 1022, 1032, 1048, 1050, 1052, 1054 are obtained by dividing the encoding units into the encoding units 1010. In other words, partition types in the encoding units 1014, 1022, 1050, and 1054 have a size of 2NxN, the partition types in encoding units 1016, 1048, and 1052 have a size of Nx2N, and a partition type of encoding unit 1032 has a size of NxN The prediction units and partitions of encoding units 1010 are less than or equal to each encoding unit.

[000125] Transformada ou transformada inversa é realizada nos dados de imagem da unidade de codificação 1052 nas TUs 1070 em uma unidade de dados que é menor do que a unidade de codificação 1052. Além disso, as unidades de codificação 1014, 1016, 1022, 1032, 1048, 1050 e 1052 nas TUs 1070 são diferentes daquelas nas unidades de predição 1060 em termos de tamanhos e formatos. Em outras palavras, os aparelhos de codificação e decodificação de vídeo 100 e 200 podem realizar predição intra, estimação de movimento, compensação de movimento, transformada, e transformada inversa individualmente em uma unidade de dados na mesma unidade de codificação.[000125] Transform or inverse transform is performed on the image data of encoding unit 1052 in TUs 1070 in a data unit that is smaller than encoding unit 1052. In addition, encoding units 1014, 1016, 1022, 1032, 1048, 1050 and 1052 in the 1070 TUs are different from those in the 1060 prediction units in terms of sizes and shapes. In other words, video encoding and decoding apparatus 100 and 200 can perform intra prediction, motion estimation, motion compensation, transform, and inverse transform individually on a data unit in the same encoding unit.

[000126] Consequentemente, a codificação é realizada de forma recursiva em cada uma das unidades de codificação tendo uma estrutura hierárquica em cada região de uma LCU para determinar uma unidade de codificação ótima, e assim unidades de codificação que têm uma estrutura de árvore recursiva podem ser obtidas. A informação de codificação pode incluir informação dividida sobre uma unidade de codificação, informação sobre um tipo de partição, informação sobre um modo de predição, e informação sobre um tamanho de uma TU. A Tabela 1 mostra a informação de codificação que pode ser estabelecida pelo aparelho de codificação de vídeo 100 e pelo aparelho de decodificação de vídeo 200. Tabela 1

Figure img0001
[000126] Consequently, coding is performed recursively on each of the coding units having a hierarchical structure in each region of an LCU to determine an optimal coding unit, and thus coding units having a recursive tree structure can be obtained. Encoding information may include split information about an encoding unit, information about a partition type, information about a prediction mode, and information about a size of a TU. Table 1 shows the encoding information that can be set by video encoding apparatus 100 and video decoding apparatus 200. Table 1
Figure img0001

[000127] A unidade de saída 130 do aparelho de codificação de vídeo 100 pode emitir a informação de codificação sobre as unidades de codificação tendo uma estrutura de árvore, e o extrator de informação de codificação e dados de imagem 220, do aparelho de decodificação de vídeo 200, pode extrair a informação de codificação sobre as unidades de codificação tendo uma estrutura de árvore a partir de um fluxo de bits recebido.[000127] The output unit 130 of the video encoding apparatus 100 can output the encoding information about the encoding units having a tree structure, and the encoding information extractor and picture data 220 of the video decoding apparatus. video 200, can extract encoding information about encoding units having a tree structure from a received bit stream.

[000128] A informação de divisão indica se uma unidade de codificação atual é dividida em unidades de codificação de uma profundidade inferior. Se a informação dividida de uma profundidade atual d for 0, uma profundidade, na qual uma unidade de codificação atual não mais é dividida em uma profundidade inferior, é uma profundidade codificada, e assim a informação sobre um tipo de partição, o modo de predição, e um tamanho de uma TU, pode ser definida para a profundidade codificada. Se a unidade de codificação atual for dividida adicionalmente de acordo com a informação dividida, a codificação é realizada independentemente em quatro unidades de codificação divididas de uma profundidade inferior.[000128] The division information indicates whether a current encoding unit is divided into encoding units of a lower depth. If the information split from a current depth d is 0, a depth, at which a current encoding unit is no longer split at a lower depth, is an encoded depth, and so information about a partition type, the prediction mode , and a size of one TU, can be set to the encoded depth. If the current encoding unit is further divided according to the divided information, encoding is performed independently on four divided encoding units of a lower depth.

[000129] Um modo de predição pode ser um de: um modo intra, um modo inter, e um modo de salto. O intra-modo e o inter-modo podem ser definidos em todos os tipos de partição, e o modo de salto é definido apenas em um tipo de partição tendo um tamanho de 2Nx2N.[000129] A prediction mode can be one of: an intra mode, an inter mode, and a jump mode. Intra-mode and inter-mode can be set on all partition types, and jump mode is set only on a partition type having a size of 2Nx2N.

[000130] A informação sobre o tipo de partição pode indicar tipos de partição simétrica tendo tamanhos de 2Nx2N, 2NxN, Nx2N, e NxN, que são obtidos mediante divisão de forma simétrica de uma altura ou de uma largura de uma unidade de predição, e tipos de partição assimétrica tendo tamanhos de 2NxnU, 2NxnD, nLx2N e nRx2N, os quais são obtidos mediante divisão de forma assimétrica da altura ou largura da unidade de predição. Os tipos de partição assimétrica tendo os tamanhos de 2NxnU e 2NxnD podem ser obtidos respectivamente mediante divisão da altura da unidade de predição em 1:3 e 3:1, e os tipos de partição assimétrica tendo os tamanhos de nLx2N e nRx2N podem ser obtidos respectivamente mediante divisão da largura da unidade de predição em 1:3 e 3:1.[000130] Partition type information may indicate symmetric partition types having sizes of 2Nx2N, 2NxN, Nx2N, and NxN, which are obtained by symmetrically dividing a height or width of a prediction unit, and asymmetric partition types having sizes of 2NxnU, 2NxnD, nLx2N and nRx2N, which are obtained by dividing asymmetrically the height or width of the prediction unit. Asymmetric partition types having sizes of 2NxnU and 2NxnD can be obtained respectively by dividing the height of the prediction unit into 1:3 and 3:1, and asymmetric partition types having sizes of nLx2N and nRx2N can be obtained respectively by dividing the width of the prediction unit into 1:3 and 3:1.

[000131] O tamanho da TU pode ser ajustado para ser de dois tipos no modo intra e de dois tipos no modo inter. Em outras palavras, se a informação dividida da TU for 0, o tamanho da TU pode ser 2Nx2N, que é o tamanho da unidade de codificação atual. Se informação dividida da TU for 1, as TUs podem ser obtidas mediante divisão da unidade de codificação atual. Além disso, se um tipo de divisão da unidade de codificação atual tendo o tamanho de 2Nx2N for um tipo de partição assimétrica, um tamanho de uma TU pode ser NxN, e se o tipo de partição da unidade de codificação atual for um tipo de partição assimétrica, o tamanho da TU pode ser N/2xN/2.[000131] The TU size can be set to be two types in intra mode and two types in inter mode. In other words, if the TU divided information is 0, the TU size can be 2Nx2N, which is the current encoding unit size. If TU divided information is 1, TUs can be obtained by dividing the current encoding unit. Also, if a division type of the current encoding unit having the size of 2Nx2N is an asymmetric partition type, a size of a TU can be NxN, and if the partition type of the current encoding unit is a partition type asymmetric, the size of the TU can be N/2xN/2.

[000132] A informação de codificação sobre as unidades de codificação tendo uma estrutura de árvore pode incluir ao menos uma de uma unidade de codificação correspondendo a uma profundidade codificada, uma unidade de predição, e uma unidade mínima. A unidade de codificação correspondendo à profundidade codificada pode incluir ao menos uma de uma unidade de predição e uma unidade mínima contendo a mesma informação de codificação.[000132] Encoding information about encoding units having a tree structure may include at least one of an encoding unit corresponding to an encoded depth, a prediction unit, and a minimum unit. The encoding unit corresponding to the encoded depth may include at least one of a prediction unit and a minimum unit containing the same encoding information.

[000133] Consequentemente é determinado se as unidades de dados adjacentes são incluídas na mesma unidade de codificação correspondendo à profundidade codificada mediante comparação da informação de codificação das unidades de dados adjacentes. Além disso, uma unidade de codificação correspondente que corresponde a uma profundidade codificada é determinada mediante uso da informação de codificação de uma unidade de dados, e assim uma distribuição das profundidades codificadas em uma LCU pode ser determinada.[000133] It is accordingly determined whether the adjacent data units are included in the same encoding unit corresponding to the encoded depth by comparing the encoding information of the adjacent data units. Furthermore, a corresponding encoding unit corresponding to an encoded depth is determined using encoding information from a data unit, and thus a distribution of encoded depths in an LCU can be determined.

[000134] Consequentemente, se uma unidade de codificação atual for predita com base na informação de codificação das unidades de dados adjacentes, informação de codificação das unidades de dados em unidades de codificação mais profunda adjacentes à unidade de codificação atual pode ser diretamente consultada e utilizada.[000134] Consequently, if a current encoding unit is predicted based on encoding information from adjacent data units, encoding information from data units in deeper encoding units adjacent to the current encoding unit can be directly queried and used .

[000135] Alternativamente, se uma unidade de codificação atual for predita com base na informação de codificação das unidades de dados adjacentes, as unidades de dados adjacentes à unidade de codificação atual são procuradas utilizando-se a informação de codificação das unidades de dados, e as unidades de codificação adjacentes procuradas podem ser referidas para predição da unidade de codificação atual.[000135] Alternatively, if a current encoding unit is predicted based on encoding information from adjacent data units, data units adjacent to the current encoding unit are searched using the encoding information from the data units, and adjacent coding units searched can be referred to for prediction of the current coding unit.

[000136] A Figura 13 é um diagrama para descrever uma relação entre uma unidade de codificação, uma unidade de predição ou uma partição, e uma TU, de acordo com a informação de modo de codificação da Tabela 1.[000136] Figure 13 is a diagram for describing a relationship between an encoding unit, a prediction unit or a partition, and a TU, according to the encoding mode information of Table 1.

[000137] Uma LCU 1300 inclui unidades de codificação 1302 1304, 1306, 1312, 1314, 1316 e 1318 de profundidades codificadas. Aqui, como a unidade de codificação 1318 é uma unidade de codificação de uma profundidade codificada, a informação dividida pode ser ajustada para 0. A informação sobre um tipo de partição da unidade de codificação 1318 tendo um tamanho de 2Nx2N pode ser ajustada para ser um de: um tipo de partição 1322 tendo um tamanho de 2Nx2N, um tipo de partição 1324 tendo um tamanho de 2NxN, um tipo de partição 1326 tendo um tamanho de Nx2N, um tipo de partição 328 tendo um tamanho de NxN, um tipo de partição 1332 tendo um tamanho de 2NxnU, um tipo de partição 1334 tendo um tamanho de 2NxnD, um tipo de partição 1336 tendo um tamanho de nLx2N, e um tipo de partição 1338 tendo um tamanho de nRx2N.[000137] An LCU 1300 includes coding units 1302 1304, 1306, 1312, 1314, 1316 and 1318 of coded depths. Here, as the encoding unit 1318 is an encoding unit of an encoded depth, the divided information can be set to 0. The information about a partition type of the encoding unit 1318 having a size of 2Nx2N can be set to be a of: a partition type 1322 having a size of 2Nx2N, a partition type 1324 having a size of 2NxN, a partition type 1326 having a size of Nx2N, a partition type 328 having a size of NxN, a partition type 1332 having a size of 2NxnU, a partition type 1334 having a size of 2NxnD, a partition type 1336 having a size of nLx2N, and a partition type 1338 having a size of nRx2N.

[000138] Quando o tipo de partição é ajustado para ser simétrico, isto é, o tipo de partição 1322, 1324, 1326 ou 1328, uma TU 1342 tendo um tamanho de 2Nx2N é estabelecida quando informação de divisão (sinalizador de tamanho TU) de uma TU é 0, e uma TU 1344 tendo um tamanho de NxN é estabelecida se um sinalizador de tamanho TU é 1.[000138] When the partition type is set to be symmetric, that is, partition type 1322, 1324, 1326 or 1328, a TU 1342 having a size of 2Nx2N is set when division information (TU size flag) of a TU is 0, and a TU 1344 having a size of NxN is set if a TU size flag is 1.

[000139] Quando o tipo de partição é estabelecido como sendo assimétrico, isto é, o tipo de partição 1332, 1334, 1336 ou 1338, uma TU 1352 tendo um tamanho de 2Nx2N é estabelecida se um sinalizador de tamanho TU for 0, e uma TU 1354 tendo um tamanho de N/2xN/2 é estabelecida se um sinalizador de tamanho TU for 1.[000139] When the partition type is set to be asymmetric, that is, partition type 1332, 1334, 1336, or 1338, a TU 1352 having a size of 2Nx2N is set if a TU size flag is 0, and a TU 1354 having a size of N/2xN/2 is set if a TU size flag is 1.

[000140] Um processo de codificar um parâmetro de quantização (QP) no quantizador 440 e codificador de entropia 450 do codificador de imagem 400 ilustrado na Figura 4, e um processo de decodificar o QP no codificador de entropia 520 e o quantizador inverso 530 do decodificador de imagem 500 ilustrado na Figura 5 serão descritos agora em detalhe.[000140] A process of encoding a quantization parameter (QP) in the quantizer 440 and entropy encoder 450 of the image encoder 400 illustrated in Figure 4, and a process of decoding the QP in the entropy encoder 520 and the inverse quantizer 530 of the Image decoder 500 illustrated in Figure 5 will now be described in detail.

[000141] A Figura 14 é um diagrama detalhado de blocos do quantizador 440 ilustrado na Figura 4, de acordo com uma modalidade da presente invenção.[000141] Figure 14 is a detailed block diagram of the quantizer 440 illustrated in Figure 4, in accordance with an embodiment of the present invention.

[000142] Com referência à Figura 14, o quantizador 440 inclui um executor de quantização 1410, um preditor QP 1420 e um meio de subtração 1430.[000142] Referring to Figure 14, the quantizer 440 includes a quantization executor 1410, a QP predictor 1420, and a subtraction means 1430.

[000143] O executor de quantização 1410 quantiza os dados residuais transformados para o domínio de frequência. O executor de quantização 1410 pode realizar quantização com base em um valor obtido mediante divisão dos dados de entrada por uma etapa de quantização Q_Step determinada de acordo com um QP. Por exemplo, o executor de quantização 1410 pode executar a quantização no Coeff de dados de entrada com base na seguinte equação; Q_Coeff=sgn(Coeff)*round[(Coeff)/Q_Step+Offset]. Aqui, Offset denota um deslocamento, Q_Step denota uma etapa de quantização, e Q_Coeff denota um valor de resultado quantizado. Round[X] denota uma operação para produzir um número inteiro que não é maior do que, e é o mais próximo de um número real X. Sgn(Coeff) denota uma função tendo um valor de 1 se o valor de Coeffis maior do que 0, e tendo um valor de -1 se o valor Coeffis for menor do que 0. Conforme descrito acima, o executor de quantização 1410 pode executar a quantização mediante divisão dos dados de entrada pela etapa de quantização Q_Step. A etapa de quantização Q_Step pode ter um valor determinado de acordo com o QP. Por exemplo, a etapa de quantização Q_Step pode ser determinada de acordo com o QPas mostrado na Tabela 2. Tabela 2

Figure img0002
[000143] Quantization executor 1410 quantizes the transformed residual data to the frequency domain. The quantization executor 1410 can perform quantization based on a value obtained by dividing the input data by a quantization step Q_Step determined according to a QP. For example, quantization executor 1410 can perform Coeff quantization of input data based on the following equation; Q_Coeff=sgn(Coeff)*round[(Coeff)/Q_Step+Offset]. Here, Offset denotes an offset, Q_Step denotes a quantization step, and Q_Coeff denotes a quantized result value. Round[X] denotes an operation to produce an integer that is not greater than, and is closest to, a real number X. Sgn(Coeff) denotes a function having a value of 1 if the Coeffis value is greater than 0, and having a value of -1 if the Coeffis value is less than 0. As described above, the quantization executor 1410 can perform quantization by dividing the input data by the Q_Step quantization step. The Q_Step quantization step can have a value determined according to the QP. For example, the Q_Step quantization step can be determined according to the QPas shown in Table 2. Table 2
Figure img0002

[000144] Com referência à Tabela 2, sempre que o QP for aumentado em 6, a etapa de quantização Q_Step é dobrada. A quantização utilizando o QP e a etapa de quantização Q_Step de acordo com o QP não são limitados ao exemplo descrito acima e podem variar.[000144] Referring to Table 2, whenever the QP is increased by 6, the Q_Step quantization step is doubled. Quantization using QP and Q_Step quantization step according to QP are not limited to the example described above and may vary.

[000145] Opostamente à quantização, quantização inversa é realizada mediante uso de um valor obtido mediante multiplicação da etapa de quantização Q_Step determinada de acordo com o QP, pelos dados de entrada. Por exemplo, a quantização inversa pode ser realizada mediante uso de um valor obtido mediante multiplicação de um coeficiente de quantização Q_Coeff por intermédio da etapa de quantização Q_Step e então adicionando um deslocamento predeterminado, conforme mostrado na equação seguinte; InverseQ_Coeff=sgn(Q_coeff)*round[Q_Coeff*Q_Step+Offset].[000145] As opposed to quantization, inverse quantization is performed by using a value obtained by multiplying the quantization step Q_Step determined according to the QP, by the input data. For example, inverse quantization can be performed using a value obtained by multiplying a quantization coefficient Q_Coeff through the quantization step Q_Step and then adding a predetermined offset as shown in the following equation; InverseQ_Coeff=sgn(Q_coeff)*round[Q_Coeff*Q_Step+Offset].

[000146] O preditor QP 1420 obtém um QP predito QP_Pred que é um valor de predição de um QP aplicado a uma unidade de codificação atual. Conforme descrito acima, para realizar a quantização e a quantização inversa nos dados de entrada, é exigida a informação QP. Para reduzir a quantidade de dados, apenas uma diferença entre o QP e o QP predito QP_Pred é transmitida como a informação de QP. Em um processo de decodificação, o QP pode ser restaurado mediante obtenção de um QP predito QP_Pred como no processo de codificação e adicionando a diferença incluída em um fluxo de bits. O preditor de QP 1420 pode obter o QP predito QP_Pred mediante uso de um QP determinado quando uma unidade de codificação previamente codificada é quantizada. Especificamente, com relação a uma unidade de codificação inicialmente quantizada de unidades de dados predeterminadas, o preditor de QP 1420 pode obter o QP predito QP_Pred mediante uso de um QP inicial de nível de fatia SliceQP. Em mais detalhe, o preditor de QP 1420 pode predizer o QP predito QP_Pred de um primeiro grupo de quantização de uma unidade de dados que pode ser codificada em paralelo incluída em um segmento de fatia, mediante uso do QP inicial de nível de fatia SliceQP. Um grupo de quantização denota um conjunto de uma ou mais unidades de codificação que compartilham o mesmo QP predito QP_Pred. O grupo de quantização pode incluir uma unidade de codificação ou uma pluralidade de unidades de codificação. Conforme será descrito abaixo, a unidade de dados que pode ser codificada em paralelo pode ser um fluxo de execução incluindo as LCUs da mesma fileira de acordo com o processamento paralelo de frente de onda (WPP), ou um bloco de pixels obtido mediante divisão de uma imagem com relação a pelo menos um limite de coluna e/ou um limite de fileira.[000146] QP predictor 1420 obtains a predicted QP QP_Pred which is a prediction value of a QP applied to a current encoding unit. As described above, to perform quantization and inverse quantization on the input data, QP information is required. To reduce the amount of data, only a difference between the QP and the predicted QP QP_Pred is transmitted as the QP information. In a decoding process, the QP can be restored by obtaining a predicted QP QP_Pred as in the encoding process and adding the included difference to a bit stream. The QP predictor 1420 can obtain the predicted QP QP_Pred by using a QP determined when a previously encoded encoding unit is quantized. Specifically, with respect to an initially quantized encoding unit of predetermined data units, QP predictor 1420 can obtain the predicted QP QP_Pred by using an initial slice-level QP SliceQP. In more detail, the QP predictor 1420 can predict the predicted QP QP_Pred of a first quantization group of a parallel encoded data unit included in a slice segment, using the initial slice-level QP SliceQP. A quantization group denotes a set of one or more encoding units that share the same predicted QP QP_Pred. The quantization group may include an encoding unit or a plurality of encoding units. As will be described below, the data unit that can be encoded in parallel can be an execution stream including the LCUs of the same row according to wavefront parallel processing (WPP), or a block of pixels obtained by division of an image with respect to at least one column boundary and/or a row boundary.

[000147] Além disso, o preditor de QP 1420 pode obter o QP predito QP_Pred mediante uso dos QPs determinados em unidades de codificação adjacentes. O processo de obtenção do QP predito QP_Pred será descrito em detalhe abaixo.[000147] In addition, the QP predictor 1420 can obtain the predicted QP QP_Pred by using the QPs determined in adjacent coding units. The process of obtaining the predicted QP QP_Pred will be described in detail below.

[000148] O preditor de QP 1420 emite informação adicional para obter o QP predito QP_Pred, para o codificador de entropia 450.[000148] QP predictor 1420 outputs additional information to obtain the predicted QP QP_Pred, to entropy encoder 450.

[000149] O meio de subtração 1430 emite uma diferença de QP ΔQP que é uma diferença entre o QP aplicado à unidade de codificação atual e o QP predito QP_Pred.[000149] Subtraction means 1430 outputs a QP difference ΔQP which is a difference between the QP applied to the current encoding unit and the predicted QP QP_Pred.

[000150] A Figura 15 é um diagrama detalhado de blocos do codificador de entropia 450 ilustrado na Figura 4 de acordo com uma modalidade da presente invenção.[000150] Figure 15 is a detailed block diagram of the entropy encoder 450 illustrated in Figure 4 in accordance with an embodiment of the present invention.

[000151] O codificador de entropia 450 codifica aritmeticamente os elementos gerados de acordo com um resultado da codificação de um vídeo. Como um método de codificação aritmética, pode ser usada a codificação aritmética binária de contexto adaptativo (CABAC). Além disso, o codificador de entropia 450 gera um fluxo de bits mediante transformação dos dados de vídeo codificados aritmeticamente em uma camada de codificação de vídeo e informação sobre os vários parâmetros relacionados à codificação de vídeo, para um formato de acordo com uma camada de abstração de rede.[000151] Entropy encoder 450 arithmetically encodes the generated elements according to a video encoding result. As an arithmetic encoding method, adaptive context binary arithmetic encoding (CABAC) can be used. In addition, entropy encoder 450 generates a bit stream by transforming the arithmetically encoded video data in a video encoding layer and information about the various parameters related to video encoding to a format according to an abstraction layer. of network.

[000152] Em mais detalhe, com referência à Figura 15, o codificador de entropia 450 inclui um gerador de conjunto de parâmetros de sequência (SPS) 1510 para gerar um SPS incluindo informação de codificação de uma sequência integral, por exemplo, um perfil e um nível, um gerador de conjunto de parâmetros de imagem (PPS) 1520 para gerar um PPS incluindo informação de codificação de cada imagem incluída na sequência, um gerador de informação de fatia 1530 para gerar informação de fatia incluindo informação de codificação dos segmentos de fatia incluídos em uma imagem, e um gerador de informação de TU 1540 para gerar informação sobre as TUs usadas em um processo de transformação. Como será descrito abaixo, o gerador de PPS 1520 pode incluir sintaxe init_qp_minus26, que indica um QP inicial de nível de imagem para obter um QP inicial de nível de fatia SliceQP de cada fatia incluída em uma imagem, no PPS. Além disso, o gerador de informação de fatia 1530 pode incluir sintaxe slice_qp_delta, a qual indica uma diferença entre a sintaxe init_qp_minus26 indicando um QP inicial de nível de imagem e o QP inicial de nível de fatia SliceQP, em um cabeçalho de fatia.[000152] In more detail, with reference to Figure 15, entropy encoder 450 includes a sequence parameter set (SPS) generator 1510 for generating an SPS including encoding information of an integral sequence, e.g., a profile and one level, a picture parameter set (PPS) generator 1520 for generating a PPS including coding information of each picture included in the sequence, a slice information generator 1530 for generating slice information including coding information of the slice segments included in an image, and a TU information generator 1540 to generate information about the TUs used in a transformation process. As will be described below, the PPS generator 1520 can include syntax init_qp_minus26, which indicates an initial image-level QP to obtain an initial slice-level SliceQP QP of each slice included in an image, in the PPS. In addition, the slice information generator 1530 may include slice_qp_delta syntax, which indicates a difference between the init_qp_minus26 syntax indicating an initial image-level QP and the initial slice-level SliceQP QP, in a slice header.

[000153] Além da estrutura hierárquica ilustrada, o codificador de entropia 450 pode gerar um fluxo de bits mediante encapsulação de informação sobre uma unidade de dados de outra camada inferior, por exemplo, informação sobre uma unidade de codificação.[000153] In addition to the illustrated hierarchical structure, entropy encoder 450 can generate a bit stream by encapsulating information about a data unit of another lower layer, for example, information about an encoding unit.

[000154] Conforme descrito acima, com relação a uma unidade de codificação inicialmente quantizada (ou um grupo de quantização) de uma unidade de dados que podem ser processados em paralelo, predeterminada, o preditor de QP 1420 pode obter um QP predito mediante uso de um QP inicial de nível de fatia SliceQP. Aqui, as unidades de dados predeterminadas são unidades de dados obtidas mediante divisão de uma imagem de acordo com os esquemas de divisão de imagem, por exemplo, fatias, segmentos de fatia, ou blocos de pixel.[000154] As described above, with respect to an initially quantized encoding unit (or a quantization group) of a predetermined, parallel-processable data unit, the QP predictor 1420 can obtain a predicted QP using an initial slice-level SliceQP QP. Here, the predetermined data units are data units obtained by dividing an image according to image division schemes, for example, slices, slice segments, or pixel blocks.

[000155] A Figura 16 mostra segmentos de fatia, fatias, e as LCUs que são unidades de dados usadas para dividir uma imagem, de acordo com uma modalidade da presente invenção.[000155] Figure 16 shows slice segments, slices, and the LCUs which are data units used to divide an image, in accordance with an embodiment of the present invention.

[000156] Com referência à Figura 16, a imagem pode ser dividida em uma pluralidade de LCUs. A Figura 16 mostra um exemplo em que a imagem é dividida em 11 LCUs em uma direção horizontal e 9 LCUs em uma direção vertical, isto é, um total de 99 LCUs. Conforme descrito acima em relação às Figuras 1 a 13, cada LCU pode ser codificada/decodificada após ser dividida em unidades de codificação tendo uma estrutura de árvore.[000156] Referring to Figure 16, the image can be divided into a plurality of LCUs. Figure 16 shows an example where the image is split into 11 LCUs in a horizontal direction and 9 LCUs in a vertical direction, that is, a total of 99 LCUs. As described above with respect to Figures 1 to 13, each LCU can be encoded/decoded after being divided into encoding units having a tree structure.

[000157] Além disso, a imagem pode ser dividida em uma ou mais fatias de acordo com os limites de fatia. A Figura 16 mostra um exemplo em que a imagem é dividida em duas fatias tal como uma fatia superior e uma fatia inferior com relação a um limite de fatia. Além disso, uma fatia pode ser dividida em um ou mais segmentos de fatia. A Figura 16 mostra um exemplo em que a fatia superior é dividida em segmentos de fatia 1610, 1620 e 1630 com relação aos limites de segmento de fatia. Além disso, a fatia inferior inclui um segmento de fatia 1640.[000157] Also, the image can be split into one or more slices according to slice boundaries. Figure 16 shows an example where the image is split into two slices such as a top slice and a bottom slice with respect to a slice boundary. Also, a slice can be split into one or more slice segments. Figure 16 shows an example where the top slice is divided into slice segments 1610, 1620, and 1630 with respect to slice segment boundaries. Also, the bottom slice includes a 1640 slice segment.

[000158] Cada um dos segmentos de fatia 1610, 1620, 1630 e 1640 pode ser classificado em um segmento de fatia dependente ou em um segmento de fatia independente de acordo com o fato de se o mesmo se refere à informação incluída em outro segmento de fatia. Um segmento de fatia dependente é um segmento de fatia no qual um elemento de sintaxe parcial incluído em um cabeçalho de segmento de fatia pode ser determinado com referência a um elemento de sintaxe de um segmento de fatia anterior que é previamente processado de acordo com uma ordem de codificação/decodificação. Um segmento de fatia independente é um segmento de fatia no qual um elemento de sintaxe de um cabeçalho de segmento de fatia pode ser determinado sem referência à informação de um segmento de fatia anterior.[000158] Each of slice segments 1610, 1620, 1630 and 1640 can be classified into a dependent slice segment or an independent slice segment according to whether it refers to information included in another slice segment. slice. A dependent slice segment is a slice segment in which a partial syntax element included in a slice segment header can be determined with reference to a syntax element of a previous slice segment that is previously processed according to an order encoding/decoding. An independent slice segment is a slice segment in which a syntax element of a slice segment header can be determined without reference to information from a previous slice segment.

[000159] A Figura 17 mostra blocos de pixel e segmentos de fatia que são unidades de dados usadas para dividir uma imagem, de acordo com uma modalidade da presente invenção.[000159] Figure 17 shows pixel blocks and slice segments which are data units used to divide an image, in accordance with an embodiment of the present invention.

[000160] A Figura 17 mostra um exemplo em que uma imagem 1700 é dividida em três blocos de pixels com relação aos limites de coluna 1701 e 1703. Uma imagem pode ser dividida em uma pluralidade de blocos de pixels com relação aos limites de coluna e/ou limites de fileira. Embora uma imagem seja dividida em blocos de pixels com relação apenas aos limites de coluna na Figura 17, a imagem também pode ser dividida em blocos de pixels com relação apenas aos limites de fileira ou ambos, limites de fileiras e limites de colunas. Além disso, um bloco de pixels pode incluir uma pluralidade de segmentos de fatia. A Figura 17 mostra um exemplo em que um bloco de pixels n°1 é dividido em três segmentos de fatia 1710, 1720 e 1730 com relação aos limites de fatia 1702 e 1704.[000160] Figure 17 shows an example where an image 1700 is divided into three pixel blocks with respect to column boundaries 1701 and 1703. An image may be divided into a plurality of pixel blocks with respect to column boundaries and /or row boundaries. Although an image is divided into pixel blocks with respect to column boundaries only in Figure 17, the image can also be divided into pixel blocks with respect to row boundaries only or both, row boundaries and column boundaries. Furthermore, a block of pixels may include a plurality of slice segments. Figure 17 shows an example where a pixel block #1 is divided into three slice segments 1710, 1720 and 1730 with respect to slice boundaries 1702 and 1704.

[000161] Um bloco de pixels é um conjunto das LCUs divididas com relação aos limites de coluna e/ou limites de fileira, e é uma unidade de processamento de dados independente na qual predição ou predição de contexto não é permitida através de um limite de coluna ou de um limite de fileira. Isto é, um bloco de pixels é uma unidade de processamento de dados independente que não se refere à informação de outra informação de bloco de pixels, e uma pluralidade de blocos de pixels pode ser processado em paralelo. Informação de localização dos limites de coluna e limites de fileira pode ser incluída em um SPS ou em um PPS. Em um processo de decodificação, informação de localização de limites de coluna e limites de fileira pode ser obtida a partir de um SPS ou de um PPS, uma imagem pode ser dividida em uma pluralidade de blocos de pixels com base na informação de localização obtida dos limites de coluna e dos limites de fileira, e então os blocos de pixels divididos podem ser decodificados em paralelo.[000161] A pixel block is a set of LCUs divided with respect to column boundaries and/or row boundaries, and is an independent data processing unit in which prediction or context prediction is not allowed through a boundary of column or a row boundary. That is, a pixel block is an independent data processing unit that does not refer to information from other pixel block information, and a plurality of pixel blocks can be processed in parallel. Location information for column boundaries and row boundaries can be included in an SPS or a PPS. In a decoding process, column boundary and row boundary location information can be obtained from an SPS or a PPS, an image can be divided into a plurality of pixel blocks based on the location information obtained from the column boundaries and row boundaries, and then the split pixel blocks can be decoded in parallel.

[000162] Consequentemente, embora os blocos de pixels da imagem 1700 sejam processados em paralelo, e cada bloco de pixels possa ser codificado/decodificado de acordo com as LCUs. Na Figura 17, números marcados nas LCUs denotam uma ordem de varredura das LCUs em cada bloco de pixels, isto é, uma ordem de codificação ou de decodificação.[000162] Consequently, although the pixel blocks of the image 1700 are processed in parallel, and each pixel block can be encoded/decoded according to the LCUs. In Figure 17, numbers marked on the LCUs denote a scan order of the LCUs in each pixel block, that is, an encoding or decoding order.

[000163] De acordo com uma modalidade da presente invenção, as correlações entre os segmentos de fatia, fatias, blocos de pixels, e LCUs, que são unidades de dados usadas para dividir uma imagem, podem ser definidas conforme descrito abaixo.[000163] In accordance with an embodiment of the present invention, the correlations between slice segments, slices, pixel blocks, and LCUs, which are data units used to divide an image, can be defined as described below.

[000164] Com relação a cada fatia e bloco de pixels, as LCUs codificadas (decodificadas) de acordo com uma ordem de varredura predeterminada devem satisfazer ao menos uma das condições i e ii descritas abaixo.[000164] With respect to each slice and pixel block, LCUs encoded (decoded) according to a predetermined scan order must satisfy at least one of the conditions i and ii described below.

[000165] (Condição i) Todas as LCUs incluídas em uma fatia pertencem ao mesmo bloco de pixels.[000165] (Condition i) All LCUs included in a slice belong to the same pixel block.

[000166] (Condição ii) Todas as LCUs incluídas em um bloco de pixels pertencem à mesma fatia.[000166] (Condition ii) All LCUs included in a pixel block belong to the same slice.

[000167] Além disso, com relação a cada segmento de fatia e bloco de pixels, as LCUs codificadas (decodificadas) de acordo com uma ordem de varredura predeterminada devem satisfazer pelo menos uma condição, a e b, descritas abaixo.[000167] Furthermore, with respect to each slice segment and pixel block, LCUs encoded (decoded) according to a predetermined scan order must satisfy at least one condition, a and b, described below.

[000168] (Condição a) Todas as LCUs incluídas em segmento de fatia pertencem ao mesmo bloco de pixels.[000168] (Condition a) All LCUs included in slice segment belong to the same pixel block.

[000169] (Condição b) Todas as LCUs incluídas em um bloco de pixels pertencem ao mesmo segmento de fatia.[000169] (Condition b) All LCUs included in a pixel block belong to the same slice segment.

[000170] Dentro de uma faixa satisfazendo ao menos uma das condições i e ii e pelo menos uma das condições a e b, uma imagem pode ser dividida mediante uso de fatias, segmentos de fatia, blocos de pixels, e LCUs.[000170] Within a range satisfying at least one of conditions i and ii and at least one of conditions a and b, an image can be divided using slices, slice segments, pixel blocks, and LCUs.

[000171] As Figuras 18A e 18B mostram as correlações entre os blocos de pixels, segmentos de fatia, fatias, e as LCUs, de acordo com uma modalidade da presente invenção;[000171] Figures 18A and 18B show correlations between pixel blocks, slice segments, slices, and LCUs, in accordance with an embodiment of the present invention;

[000172] Com referência à Figura 18A, uma imagem 1800 é dividida em cinco segmentos de fatia 1811, 1813, 1815, 1817 e 1819 devido às linhas de limite de segmento de fatia 1803, 1805, 1807 e 1809. Além disso, uma vez que uma fatia é formada de um segmento de fatia independente 1811 e quatro segmentos de fatia dependentes 18, 13, 1815, 1817 e 1819, a imagem 1800 inclui uma fatia.[000172] Referring to Figure 18A, an image 1800 is divided into five slice segments 1811, 1813, 1815, 1817 and 1819 due to slice segment boundary lines 1803, 1805, 1807 and 1809. that a slice is formed from one independent slice segment 1811 and four dependent slice segments 18, 13, 1815, 1817 and 1819, the image 1800 includes a slice.

[000173] Além disso, a imagem 1800 é dividida em dois blocos de pixels devido a um limite de bloco de pixels 1801. Como tal, um bloco de pixels esquerdo inclui três segmentos de fatia 1811, 1813, 1815, e um bloco de pixels direito inclui dois segmentos de fatia 1817 e 1819.[000173] Also, image 1800 is split into two pixel blocks due to a pixel block boundary 1801. As such, a left pixel block includes three slice segments 1811, 1813, 1815, and a pixel block right includes two slice segments 1817 and 1819.

[000174] Inicialmente, é verificado se os segmentos de fatia 1811, 1813, 1815, 1817 e 1819, os blocos de pixels, e as LCUs satisfazem ao menos uma das condições a e b, descritas acima em relação à Figura 17. Todas as LCUs dos segmentos de fatia 1811, 1813 e 1815 são incluídas no bloco de pixels esquerdo, e assim satisfazem à condição a. Além disso, todas as LCUs dos segmentos de fatia 1817 e 1819 são incluídas no bloco de pixels direito, e assim também satisfazem à condição a.[000174] Initially, it is checked if the slice segments 1811, 1813, 1815, 1817 and 1819, the pixel blocks, and the LCUs satisfy at least one of the conditions a and b, described above in relation to Figure 17. All the LCUs of the slice segments 1811, 1813, and 1815 are included in the left pixel block, and thus satisfy condition a. Furthermore, all LCUs from slice segments 1817 and 1819 are included in the right pixel block, and thus also satisfy condition a.

[000175] É verificado se as fatia, os blocos de pixels e as LCUs satisfazem aos menos uma das condições, i e ii, descritas acima em relação à Figura 17. Todas as LCUs do bloco de pixels esquerdo são incluídas em uma fatia, e assim satisfazem à condição ii. Além disso, todas as LCUs do bloco de pixels direito são incluídas em uma fatia, e assim também satisfazem à condição ii.[000175] It is checked if the slice, pixel blocks and LCUs satisfy at least one of the conditions, i and ii, described above with respect to Figure 17. All LCUs of the left pixel block are included in a slice, and so on satisfy condition ii. Furthermore, all LCUs in the right pixel block are included in a slice, and thus also satisfy condition ii.

[000176] Com referência à Figura 18B, uma imagem 1850 é dividida em dois blocos de pixels, por exemplo, um bloco de pixels esquerdo e um bloco de pixels direito, devido a uma linha de limite de bloco de pixels 1851. Além disso, a imagem 1850 é dividida em três fatias devido às linhas de limite de fatia 1866 e 1868, o bloco de pixels esquerdo é dividido em uma fatia esquerda superior e uma fatia esquerda inferior com relação à linha de limite de fatia 1866, e o bloco de pixels direito é formado de uma fatia direita.[000176] Referring to Figure 18B, an image 1850 is divided into two pixel blocks, for example a left pixel block and a right pixel block, due to a boundary line of 1851 pixel block. the 1850 image is divided into three slices due to the 1866 and 1868 slice boundary lines, the left pixel block is divided into an upper left slice and a lower left slice with respect to the 1866 slice boundary line, and the pixel block right pixels is formed from a right slice.

[000177] A fatia esquerda superior é dividida em um segmento de fatia independente 1861 e um segmento de fatia dependente 1865 com relação a uma linha de limite de segmento de fatia 1863. A fatia esquerda inferior é dividida em um segmento de fatia independente 1881 e um segmento de fatia dependente 1885 com relação a uma linha de limite de segmento de fatia 1883. A fatia direita pode ser dividida em um segmento de fatia independente 1891 e um segmento de fatia dependente 1895 com relação a uma linha de limite de segmento de fatia 1893.[000177] The upper left slice is divided into an independent slice segment 1861 and a dependent slice segment 1865 with respect to a boundary line of slice segment 1863. The lower left slice is divided into an independent slice segment 1881 and a dependent slice segment 1885 with respect to a slice segment boundary line 1883. The right slice can be divided into an independent slice segment 1891 and a dependent slice segment 1895 with respect to a slice segment boundary line 1895 1893.

[000178] Inicialmente, é verificado se os segmentos de fatia 1861, 1865, 1881, 1885, 1891 e 1895, os blocos de pixels, e as LCUs satisfazem ao menos uma das condições a e b. Todas as LCUs dos segmentos de fatia 1861 e 1865 são incluídas no bloco de pixels esquerdo, e assim satisfazem à condição a. Além disso, todas as LCUs dos segmentos de fatia 1881 e 1883 são incluídas no mesmo bloco de pixels esquerdo, e assim também satisfazem à condição a. Além disso, todas as LCUs dos segmentos de fatia 1891 e 1893 incluídos no mesmo bloco de pixels, e assim também satisfazem à condição a.[000178] Initially, it is checked if the slice segments 1861, 1865, 1881, 1885, 1891 and 1895, the pixel blocks, and the LCUs satisfy at least one of the conditions a and b. All LCUs from slice segments 1861 and 1865 are included in the left pixel block, and thus satisfy condition a. Furthermore, all LCUs from slice segments 1881 and 1883 are included in the same left pixel block, and thus also satisfy condition a. Furthermore, all LCUs of slice segments 1891 and 1893 are included in the same pixel block, and thus also satisfy condition a.

[000179] Se for verificado que as fatias, os blocos de pixels, e as LCUs satisfazem ao menos uma das condições i e ii. Todas as LCUs da fatia esquerda superior são incluídas no bloco de pixels esquerdo, e assim satisfazem à condição i. Além disso, todas as LCUs da fatia esquerda inferior são incluídas no bloco de pixels esquerdo, e assim também satisfazem à condição i. Adicionalmente, todas as LCUs da fatia direita são incluídas no bloco de pixels direito e todas as LCUs do bloco de pixels direito são incluídas na fatia direita, e assim satisfazem à condição i.[000179] If the slices, pixel blocks, and LCUs are found to satisfy at least one of conditions i and ii. All LCUs from the upper left slice are included in the left pixel block, and thus satisfy condition i. Furthermore, all LCUs from the lower left slice are included in the left pixel block, and thus also satisfy condition i. Additionally, all LCUs from the right slice are included in the right pixel block and all LCUs from the right pixel block are included in the right slice, thus satisfying condition i.

[000180] A Figura 19 é um diagrama de referência para descrever WPP, de acordo com uma modalidade da presente invenção.[000180] Figure 19 is a reference diagram for describing WPP, in accordance with an embodiment of the present invention.

[000181] WPP denota um processo de processamento de uma LCU após processar completamente uma LCU direita superior para codificação/decodificação em paralelo. Em mais detalhe, WPP estabelece um modelo de probabilidade de uma primeira LCU de cada fluxo de execução mediante uso de informação de probabilidade obtida mediante processamento de uma segunda LCU de um fluxo de execução superior. Por exemplo, com referência à Figura 19, o codificador de entropia 450 estabelece um modelo de probabilidade de uma primeira LCU 1902 de um fluxo de execução 2 para codificação de entropia mediante uso de um modelo de probabilidade obtido após codificação de entropia de uma segunda LCU 1901 de um fluxo de execução 1. Conforme descrito acima, quando as LCUs de cada fluxo de execução são codificadas por entropia, o codificador de entropia 450 pode usar uma informação de probabilidade atualizada mediante processamento de uma LCU direita superior, permitindo assim a codificação de entropia em paralelo.[000181] WPP denotes a process of processing an LCU after fully processing an upper right LCU for parallel encoding/decoding. In more detail, WPP establishes a probability model of a first LCU of each execution flow using probability information obtained by processing a second LCU of a higher execution flow. For example, with reference to Figure 19, entropy encoder 450 establishes a probability model of a first LCU 1902 of a run stream 2 for entropy encoding using a probability model obtained after entropy encoding a second LCU 1901 of an execution stream 1. As described above, when the LCUs of each execution stream are entropy encoded, entropy encoder 450 can use updated probability information upon processing of an upper right LCU, thus allowing encoding of entropy in parallel.

[000182] Além disso, de acordo com WPP, como uma primeira LCU de cada fluxo de execução é processado após uma segunda LCU de um fluxo de execução superior ter sido completamente processada, as LCUs de cada fluxo de execução podem ser obtidas mediante uso de informação de predição de movimento, por exemplo, informação de vetor de movimento predito, das LCUs de um fluxo de execução superior. Consequentemente, na Figura 19, as LCUs incluídas nos fluxos de execução 1 a 4 podem ser processadas em paralelo após as LCUs direitas superiores serem completamente processadas.[000182] Also, according to WPP, as a first LCU of each execution stream is processed after a second LCU of a higher execution stream has been completely processed, the LCUs of each execution stream can be obtained by using motion prediction information, e.g. predicted motion vector information, from the LCUs of a higher execution stream. Consequently, in Figure 19, the LCUs included in execution streams 1 to 4 can be processed in parallel after the upper right LCUs are completely processed.

[000183] As unidades de dados processadas em paralelo após serem alocadas a múltiplos núcleos de uma unidade central de processamento (CPU) ou uma unidade de processamento gráfico (GPU) de um aparelho de codificação ou de um aparelho de decodificação são definidas como fluxos de execução. Em mais detalhe, supõe-se que a CPU ou a GPU inclui quatro múltiplos núcleos e quatro unidades de dados podem ser processadas em paralelo. Nesse caso, conforme ilustrado na Figura 19, as LCUs dos fluxos de execução 1 a 4 são alocadas para quatro múltiplos núcleos e são processadas em paralelo. Conforme descrito acima, de acordo com WPP, uma LCU de um fluxo de execução N (N é um número inteiro) é processada após ser retardada até que uma LCU direita superior incluída em um fluxo de execução N-1 seja completamente processada.[000183] Data units processed in parallel after being allocated to multiple cores of a central processing unit (CPU) or graphics processing unit (GPU) of an encoding device or a decoding device are defined as data streams. execution. In more detail, it is assumed that the CPU or GPU includes four multiple cores and four data units can be processed in parallel. In this case, as illustrated in Figure 19, the LCUs of run streams 1 to 4 are allocated to four multiple cores and are processed in parallel. As described above, according to WPP, an LCU of an N-execution stream (N is an integer) is processed after being delayed until an upper right LCU included in an N-1 execution stream is completely processed.

[000184] De acordo com o WPP descrito acima, em um processo de codificação de entropia, uma LCU de cada fluxo de execução pode determinar um modelo de probabilidade para codificação de entropia após uma LCU direita superior ser completamente codificada por entropia. Contudo, dentre os elementos de sintaxe a serem codificados por entropia, sintaxe cu_qp_delta indicando uma diferença entre um QP e um QP predito QP_Predmay que não deve ser codificada por entropia diretamente. Isso porque o QP predito QP_Pred deve ser obtido de modo a que se obtenha a diferença entre o QP e o QP predito QP_Predand utiliza um QP determinado em uma unidade de codificação previamente processada de acordo, por exemplo, com uma ordem de varredura de rastreio. Em mais detalhe, com referência à Figura 19, de acordo com a técnica anterior, um QP predito QP_Pred de uma LCU 1903 pode ser predito como um QP de uma LCU 1905 processada previamente de acordo com uma ordem de varredura de rastreio, ou um QP determinado em um processo de quantização de uma LCU 1904 previamente processada no mesmo fluxo de execução. Em todo caso, codificação de entropia da LCU 1903 pode ser realizada apenas após a LCU 1905, previamente processada de acordo com uma ordem de varredura de rastreio ou a LCU 1904 processada previamente no mesmo fluxo de execução ser completamente codificada. Conforme descrito acima, se um QP predito for obtido com base em um QP de uma unidade de codificação anterior, o processamento pode ser retardado até que a unidade de codificação anterior seja processada e assim um problema de gargalo pode ser gerado. Consequentemente, se um QP predito for obtido com base em um QP de uma unidade de codificação anterior, o desempenho global do processamento em paralelo pode ser reduzido.[000184] According to the WPP described above, in an entropy encoding process, an LCU of each execution stream can determine a probability model for entropy encoding after an upper right LCU is completely entropy encoded. However, among the syntax elements to be entropy encoded, cu_qp_delta syntax indicating a difference between a QP and a predicted QP QP_Predmay that should not be entropy encoded directly. This is because the predicted QP QP_Pred must be obtained in order to obtain the difference between the QP and the predicted QP QP_Predand uses a QP determined in a coding unit previously processed according to, for example, a scan scan order. In more detail, referring to Fig. 19, according to the prior art, a predicted QP QP_Pred of an LCU 1903 can be predicted as a QP of an LCU 1905 pre-processed according to a scan scan order, or a QP determined in a quantization process of an LCU 1904 previously processed in the same execution flow. In any case, entropy coding of the LCU 1903 can be performed only after the LCU 1905, previously processed according to a scan scan order, or the LCU 1904 processed previously in the same execution stream, is completely coded. As described above, if a predicted QP is obtained based on a QP of a previous encoding unit, processing may be delayed until the previous encoding unit is processed and thus a bottleneck problem may be generated. Consequently, if a predicted QP is obtained based on a QP from a previous encoding unit, the overall performance of parallel processing may be reduced.

[000185] Similarmente, em um processo de decodificação de entropia, uma LCU de cada fluxo de execução pode ser decodificada por entropia após uma LCU direita superior ser completamente decodificada por entropia. Mesmo de acordo com WPP, em um processo de quantização inversa, um problema de gargalo pode ser gerado. Para obter um QP que é um parâmetro exigido para executar quantização inversa, um processo de obter um QP predito QP_Pred deve ser realizada em primeiro lugar. De acordo com a técnica anterior descrita acima, o QP predito QP_Pred da LCU 1903 pode ser predito como um QP determinado em um processo de quantização inversa da LCU 1905 previamente processada de acordo com uma ordem de varredura de rastreio, ou um QP determinado em um processo de quantização inversa da LCU 1904 previamente processada no mesmo fluxo de execução. Consequentemente, um processo de decodificação da LCU 1903 pode ser realizado apenas após a LCU 1905, previamente processada de acordo com uma ordem de varredura de rastreio ou a LCU 1904, previamente processada no mesmo fluxo de execução ser completamente decodificada.[000185] Similarly, in an entropy decoding process, one LCU of each execution stream can be entropy decoded after an upper right LCU is completely entropy decoded. Even according to WPP, in an inverse quantization process, a bottleneck problem can be generated. To obtain a QP which is a required parameter to perform inverse quantization, a process of obtaining a predicted QP QP_Pred must be performed first. According to the prior art described above, the predicted QP QP_Pred of the LCU 1903 can be predicted as a QP determined in an inverse quantization process of the LCU 1905 previously processed according to a scan scan order, or a QP determined in a inverse quantization process of the LCU 1904 previously processed in the same execution stream. Consequently, a decoding process of the LCU 1903 can be performed only after the LCU 1905, previously processed according to a trace scan order, or the LCU 1904, previously processed in the same execution stream, is completely decoded.

[000186] Conforme descrito acima, se um QP determinado em uma LCU previamente processada ou um QP determinado em uma LCU anterior do mesmo fluxo de execução ser usado como um QP predito QP_Pred para realizar quantização ou quantização inversa em uma LCU, o QP predito QP_Pred pode ser obtido apenas após a LCU anterior ser completamente processada.[000186] As described above, if a QP determined in a previously processed LCU or a QP determined in a previous LCU of the same execution stream is used as a predicted QP QP_Pred to perform quantization or inverse quantization in an LCU, the predicted QP QP_Pred can only be obtained after the previous LCU is completely processed.

[000187] Consequentemente, de acordo com uma modalidade da presente invenção, como um QP inicial de nível de fatia SliceQP é usado como um preditor de QP QP_Predictor de uma unidade de dados inicialmente quantizados a partir das unidades de dados obtidas mediante divisão de uma imagem, a quantização/quantização inversa pode ser realizada na unidade de dados inicialmente quantizados independentemente de uma ordem de processamento das unidades de dados.[000187] Accordingly, according to an embodiment of the present invention, as a slice-level initial QP SliceQP is used as a QP predictor QP_Predictor of a unit of data initially quantized from the units of data obtained by dividing an image , quantization/inverse quantization can be performed on the initially quantized data unit independently of a processing order of the data units.

[000188] A Figura 20 é um diagrama para descrever um processo de obter um QP predito QP_Pred de uma LCU incluída em um segmento de fatia, de acordo com uma modalidade da presente invenção. Na Figura 20, supõe-se que uma imagem 2000 é dividida em dois segmentos de fatia com relação a um limite de segmento de fatia.[000188] Fig. 20 is a diagram for describing a process of obtaining a predicted QP QP_Pred of an LCU included in a slice segment, according to an embodiment of the present invention. In Figure 20, a 2000 image is assumed to be split into two slice segments with respect to a slice segment boundary.

[000189] O executor de quantização 1410 determina um QP ótimo para quantizar as unidades de codificação que têm uma estrutura de árvore em consideração de um custo de distorção de taxa (RD), quantiza as unidades de codificação tendo uma estrutura de árvore mediante uso do QP determinado, e produz informação de QP.[000189] Quantization executor 1410 determines an optimal QP to quantize encoding units having a tree structure in consideration of a rate distortion cost (RD), quantize encoding units having a tree structure using the determined QP, and produces QP information.

[000190] O preditor de QP 1420 produz um QP predito QP_Pred mediante predição de um QP de cada unidade de codificação. O QP predito QP_Pred pode ser predito mediante uso de vários métodos em consideração, por exemplo, de uma ordem de processamento ou de um local de uma unidade de codificação atual.[000190] QP predictor 1420 produces a predicted QP QP_Pred by predicting a QP from each encoding unit. The predicted QP QP_Pred can be predicted using various methods into consideration, for example a processing order or a location of a current encoding unit.

[000191] Por exemplo, com relação a uma unidade de codificação inicialmente quantizada de uma unidade de dados que pode ser processada em paralelo incluída em um segmento de fatia ou uma unidade de codificação inicialmente quantizada incluída em um bloco de pixels, o preditor de QP 1420 pode obter o QP predito QP_Pred mediante uso de um QP inicial de nível de fatia SliceQP. Com referência à Figura 20, com relação a uma unidade de codificação inicialmente quantizada incluída em uma primeira LCU 2001 de um segmento de fatia superior, o preditor de QP 1420 pode obter o QP predito QP_Pred mediante uso do QP inicial de nível de fatia SliceQP. Similarmente, com respeito a uma unidade de codificação inicialmente quantizada incluída em uma primeira LCU 2004 de um segmento de fatia inferior, o preditor de QP 1420 pode obter o QP predito QP_Pred por intermédio do uso do QP inicial de nível de fatia SliceQP.[000191] For example, with respect to an initially quantized encoding unit of a parallel processable data unit included in a slice segment or an initially quantized encoding unit included in a pixel block, the QP predictor 1420 can obtain the predicted QP QP_Pred by using an initial slice-level SliceQP QP. Referring to Figure 20, with respect to an initially quantized encoding unit included in a first LCU 2001 of an upper slice segment, the QP predictor 1420 can obtain the predicted QP QP_Pred by using the initial slice-level QP SliceQP. Similarly, with respect to an initially quantized encoding unit included in a first LCU 2004 of a lower slice segment, the QP predictor 1420 can obtain the predicted QP QP_Pred by using the initial slice-level QP SliceQP.

[000192] Além disso, com relação a uma unidade de codificação inicialmente quantizada incluída em uma primeira LCU de cada fluxo de execução de um segmento de fatia, o preditor de QP 1420 pode obter o QP predito QP_Pred mediante uso do QP inicial de nível de fatia SliceQP. Com referência de volta à Figura 20, as unidades de codificação inicialmente quantizadas incluída nas primeiras LCUs 2002 e 2003 dos fluxos de execução do segmento de fatia superior, o preditor de QP 1420 pode obter o QP predito QP_Pred mediante uso do QP inicial de nível de fatia SliceQP. Similarmente, com relação às unidades de codificação quantizadas inicialmente incluídas nas primeiras LCUs 2005, 2006 e 2007 dos fluxos de execução do segmento de fatia inferior, o preditor de QP 1420 pode obter o QP predito QP_Pred mediante uso do QP inicial de nível de fatia SliceQP.[000192] Also, with respect to an initially quantized encoding unit included in a first LCU of each execution stream of a slice segment, the QP predictor 1420 can obtain the predicted QP QP_Pred by using the initial QP of level of slice SliceQP. Referring back to Figure 20, the initially quantized coding units included in the first 2002 and 2003 LCUs of the upper slice segment execution streams, the QP predictor 1420 can obtain the predicted QP QP_Pred by using the initial QP of level of slice SliceQP. Similarly, with respect to the quantized encoding units initially included in the first LCUs 2005, 2006 and 2007 of the lower slice segment execution streams, the QP predictor 1420 can obtain the predicted QP QP_Pred by using the initial slice-level QP SliceQP .

[000193] Especificamente, se uma pluralidade de fluxos de execução incluindo individualmente as LCUs da mesma fileira puderem ser processados em paralelo de acordo com WPP, com relação às unidades de codificação inicialmente quantizadas (um grupo de quantização) incluído nas primeiras LCUs dos fluxos de execução de um segmento de fatia, o preditor de QP 1420 pode predizer o QP predito QP_Pred mediante uso do QP inicial de nível de fatia SliceQP. Em outras palavras, em um processo de quantização de acordo com WPP, o preditor de QP 1420 pode obter o QP predito QP_Pred de uma unidade de codificação inicialmente quantizada incluída em uma primeira LCU de cada fluxo de execução, mediante uso do QP inicial de nível de fatia SliceQP. Se WPP não for usado, o preditor de QP 1420 pode obter o QP predito QP_Pred de apenas uma unidade de codificação inicialmente quantizada incluída em uma primeira LCU de um segmento de fatia, mediante uso do QP inicial de nível de fatia SliceQP, e pode obter o QP predito QP_Pred de unidades de codificação outras do que a unidade de codificação inicialmente quantizada, mediante uso dos QPs de unidades de codificação adjacentes.[000193] Specifically, if a plurality of execution streams including individually the LCUs of the same row can be processed in parallel according to WPP, with respect to the initially quantized encoding units (a quantization group) included in the first LCUs of the streams execution of a slice segment, the QP predictor 1420 can predict the predicted QP QP_Pred using the initial slice-level QP SliceQP. In other words, in a quantization process according to WPP, the QP predictor 1420 can obtain the predicted QP QP_Pred of an initially quantized encoding unit included in a first LCU of each execution stream, by using the initial level QP of SliceQP slice. If WPP is not used, QP predictor 1420 can obtain the predicted QP QP_Pred of only an initially quantized encoding unit included in a first LCU of a slice segment, using the initial slice-level QP SliceQP, and can obtain the predicted QP QP_Pred of encoding units other than the initially quantized encoding unit, using the QPs of adjacent encoding units.

[000194] Além disso, com relação a um grupo de quantização inicialmente quantizado de cada bloco de pixels que podem ser processados paralelos, o preditor de QP 1420 pode predizer o QP predito QP_Pred mediante uso do QP inicial de nível de fatia SliceQP.[000194] Furthermore, with respect to an initially quantized quantization group of each block of pixels that can be processed parallel, the QP predictor 1420 can predict the predicted QP QP_Pred by using the initial slice-level QP SliceQP.

[000195] A Figura 21 é um diagrama para descrever um processo de obtenção de um QP predito QP_Pred de uma unidade de codificação incluída em uma LCU, de acordo com uma modalidade da presente invenção.[000195] Fig. 21 is a diagram for describing a process of obtaining a predicted QP QP_Pred from a coding unit included in an LCU, according to an embodiment of the present invention.

[000196] Com referência à Figura 21, um primeiro grupo de quantização 2110 a ser inicialmente quantizado e incluído em uma primeira LCU de um segmento de fatia de acordo com uma ordem de varredura predeterminada, inclui a unidade de codificação a, b, c e d. O QP predito QP_Pred da unidade de codificação a é obtido mediante uso de um QP inicial de nível de fatia SliceQP. As unidades de codificação a, b, c e d incluídas no primeiro grupo de quantização 2110 são menores do que uma menor unidade de codificação que pode ter sintaxe cu_qp_delta, e assim ter o mesmo QP previsto QP_Pred.[000196] Referring to Figure 21, a first quantization group 2110 to be initially quantized and included in a first LCU of a slice segment according to a predetermined scan order, includes encoding unit a, b, c and d . The predicted QP QP_Pred of the encoding unit a is obtained using an initial slice-level QP SliceQP. The encoding units a, b, c and d included in the first quantization group 2110 are smaller than a smaller encoding unit which may have cu_qp_delta syntax, and thus have the same predicted QP QP_Pred.

[000197] Como outro exemplo, com relação às unidades de codificação exceto as unidades iniciais de codificação a, b, c, e d, o preditor de QP 1420 pode obter o QP predito QP_Pred com base em uma média de QPs de unidas de codificação adjacentes esquerdas e superiores. Por exemplo, o QP predito das unidades de codificação e, f, g e H de um grupo de quantização 2120 pode ser determinado mediante uso de uma média de um QP QP_α de uma unidade de codificação esquerda α e um QP de uma unidade de codificação superior. Contudo, a unidade de codificação superior das unidades de codificação e, f, g e h não está disponível, um QP de uma unidade de codificação previamente processada pode ser usada em vez disso. Isto é, o preditor de QP 1420 pode obter os QPs preditos da unidade de codificação e, f, g e h como mostrado abaixo.

Figure img0003
[000197] As another example, with respect to encoding units other than initial encoding units a, b, c, ed, the QP predictor 1420 can obtain the predicted QP QP_Pred based on an average of QPs from adjacent encoding units left and top. For example, the predicted QP of encoding units e, f, g and H of a quantization group 2120 can be determined using an average of a QP QP_α of a left encoding unit α and a QP of a higher encoding unit . However, the higher coding unit of coding units e, f, g and h is not available, a QP of a preprocessed coding unit can be used instead. That is, the QP predictor 1420 can get the predicted QPs from the encoding unit e, f, g and h as shown below.
Figure img0003

[000198] QP predito das unidades de codificação i, j, k e l de um grupo de quantização 2130 pode ser determinado mediante uso de uma média de um QP QP_β de uma unidade de codificação esquerda β e um QPQP_y de uma unidade de codificação superior. Como ambos, o QP QP_β da unidade de codificação esquerda β e o QP QP_y de uma unidade de codificação superior estão disponíveis, todas as unidades de codificação i, j, k e l podem ter (QP_β+QP_Y+1)>>1 como seu QP predito.[000198] Predicted QP of encoding units i, j, k and l of a quantization group 2130 can be determined using an average of a QP QP_β of a left encoding unit β and a QPQP_y of a higher encoding unit. As both the QP QP_β of the left encoding unit β and the QP QP_y of a higher encoding unit are available, all encoding units i, j, k and l can have (QP_β+QP_Y+1)>>1 as their QP predicted.

[000199] As unidades de codificação adjacentes esquerdas e superiores do primeiro grupo de quantização inicialmente processado 2110 não estão disponíveis, se os QPs das unidades de codificação adjacentes, superiores e esquerdas das unidades de codificação a, b, c e d supostamente forem o QP de nível inicial de fatia SliceQP, como as outras unidades de codificação, o QP predito QP_Pred das unidades de codificação a, b, c, e d incluídas no primeiro grupo de quantização inicialmente processado 2210 também é considerado como sendo predito mediante uso de uma média dos QPs das unidades de codificação adjacentes esquerdas e superiores.[000199] The left and upper adjacent coding units of the first initially processed quantization group 2110 are not available, if the QPs of the adjacent, upper and left coding units of coding units a, b, c and d are supposed to be the level QP SliceQP slice, like the other encoding units, the predicted QP QP_Pred of the encoding units a, b, c, and d included in the first initially processed quantization group 2210 is also considered to be predicted using an average of the QPs of the left and top adjacent coding units.

[000200] Conforme descrito acima, com relação a um primeiro grupo de quantização de uma unidade de dados que podem ser processados em paralelo incluídos em um segmento de fatia, o preditor de QP 1420 obtém o QP predito QP_Pred mediante uso do QP inicial de nível de fatia SliceQP. Um processo de obtenção do QP inicial de nível de fatia SliceQP será descrito agora.[000200] As described above, with respect to a first quantization group of a data unit that can be processed in parallel included in a slice segment, the QP predictor 1420 obtains the predicted QP QP_Pred using the initial level QP of SliceQP slice. A process of obtaining the initial SliceQP slice-level QP will now be described.

[000201] O QP inicial de nível de fatia SliceQP pode ser obtido mediante uso de um QP inicial de nível de imagem init_qp_minus26, e sintaxe slice_qp_delta indicando uma diferença entre o QP inicial de nível de imagem init_qp_minus26 e o QP inicial de nível de fatia SliceQP como mostrado na seguinte equação; SliceQP=26+init_qp_minus26+slice_qp_delta. O QP inicial de nível de imagem init_qp_minus26 é um valor obtido mediante subtração 26 a partir de uma média dos QPs das unidades de codificação iniciais de cada fatia incluída em uma imagem, ou uma constante preestabelecida. A sintaxe slice_qp_delta corresponde a um valor de ajuste para determinar o QP inicial de nível de fatia SliceQP das unidades de codificação incluídas em uma fatia, e pode ser mudada devido ao conjunto cu_qp_delta em um nível de unidade de codificação. O cu_qp_delta corresponde a um valor de ajuste para mudar um QP em um nível de unidade de codificação. Se cu_qp_delta_enable_flag for determinado como 1, uma unidade de codificação maior do que uma unidade de codificação mínima determinada de acordo com uma sintaxe diff_cu_qp_delta_depth pode ter o cu_qp_delta. Por exemplo, informação de sintaxe (cu_qp_delta) indicando uma diferença entre o QP inicial de nível de fatia SliceQP e um QP de uma unidade de codificação inicialmente quantizada incluída em uma primeira LCU de cada fluxo de execução pode ser incluída em um conjunto de dados de TU incluindo informação de transformada das unidades de codificação.[000201] SliceQP slice level initial QP can be obtained using an init_qp_minus26 image level initial QP, and slice_qp_delta syntax indicating a difference between the init_qp_minus26 image level initial QP and SliceQP slice level initial QP as shown in the following equation; SliceQP=26+init_qp_minus26+slice_qp_delta. The initial image-level QP init_qp_minus26 is a value obtained by subtracting 26 from an average of the QPs of the initial encoding units of each slice included in an image, or a pre-established constant. The slice_qp_delta syntax corresponds to an adjustment value to determine the SliceQP slice level starting QP of the encoding units included in a slice, and can be changed due to the cu_qp_delta set at an encoding unit level. The cu_qp_delta corresponds to an adjustment value to change a QP by an encoding unit level. If cu_qp_delta_enable_flag is set to 1, an encoding unit greater than a minimum encoding unit determined according to a diff_cu_qp_delta_depth syntax can have cu_qp_delta. For example, syntax information (cu_qp_delta) indicating a difference between the initial slice-level SliceQP QP and a QP of an initially quantized encoding unit included in a first LCU of each execution stream can be included in a dataset of TU including transform information from encoding units.

[000202] As Figuras 22 a 24 mostram a sintaxe incluída nos cabeçalhos das unidades de dados tendo uma estrutura de árvore para predizer os QPs, de acordo com as modalidades da presente invenção.[000202] Figures 22 to 24 show the syntax included in the headers of data units having a tree structure for predicting QPs, in accordance with embodiments of the present invention.

[000203] A Figura 22 é uma tabela mostrando a sintaxe relacionada a QP provida a um PPS, de acordo com uma modalidade da presente invenção.[000203] Figure 22 is a table showing the QP related syntax provided to a PPS, in accordance with an embodiment of the present invention.

[000204] Com referência à Figura 22, o gerador de PPS 1520 pode incluir a sintaxe init_qp_minus26 2210, a qual é informação adicional para obter um QP inicial de nível de fatia SliceQP de cada fatia incluída em uma imagem, no PPS. Além disso, o gerador de PPS 1520 pode incluir cu_qp_delta_enabled_flag 2220, que é um indicador indicando se um QP pode ser permutado em um nível de unidade de codificação, e diff_cu_qp_delta_depth 2230, que é sintaxe para determinar o tamanho de uma unidade de codificação mínima que pode ter cu_qp_delta, no PPS. A sintaxe diff_cu_qp_delta_depth 2230 pode indicar uma profundidade do tamanho da unidade de codificação mínima que pode ter o cu_qp_delta. Por exemplo, quando o tamanho de uma LCU tendo uma profundidade de 0 é 64x64, se a sintaxe diff_cu_qp_delta_depth 2230 tiver um valor de 2, apenas as unidades de codificação tendo profundidades iguais ou menores do que 2, isto é, unidades de codificação tendo tamanhos iguais ou maiores do que 16x16 podem ter o cu_qp_delta. Além disso, o gerador de PPS 1520 pode incluir entropy_coding_sync_enabled_flag 2240, o qual indica se codificação de entropia paralela é realizada em uma pluralidade de fluxos de execução incluídos em um segmento de fatia, no PPS. Se o entropy_coding_sync_enabled_flag 2240 for 1, ele indica que codificação de entropia em paralelo é realizada em uma pluralidade de fluxos de execução de acordo com WPP como descrito acima. Se o entropy_coding_sync_enabled_flag 2240 for 0, ele indica que a codificação de entropia em paralelo de acordo com WPP não é realizada.[000204] Referring to Figure 22, the PPS generator 1520 can include the syntax init_qp_minus26 2210, which is additional information to obtain an initial slice level QP SliceQP of each slice included in an image, in the PPS. In addition, the PPS generator 1520 can include cu_qp_delta_enabled_flag 2220, which is an indicator indicating whether a QP can be permuted at an encoding unit level, and diff_cu_qp_delta_depth 2230, which is syntax for determining the size of a minimum encoding unit that can have cu_qp_delta, in PPS. The syntax diff_cu_qp_delta_depth 2230 can indicate a depth of the minimum encoding unit size that cu_qp_delta can have. For example, when the size of an LCU having a depth of 0 is 64x64, if the syntax diff_cu_qp_delta_depth 2230 has a value of 2, only encoding units having depths equal to or less than 2, i.e. encoding units having lengths equal to or greater than 16x16 can have cu_qp_delta. In addition, the PPS generator 1520 may include entropy_coding_sync_enabled_flag 2240, which indicates whether parallel entropy encoding is performed on a plurality of execution streams included in a slice segment, in PPS. If entropy_coding_sync_enabled_flag 2240 is 1, it indicates that entropy encoding in parallel is performed on a plurality of execution streams according to WPP as described above. If entropy_coding_sync_enabled_flag 2240 is 0, it indicates that WPP parallel entropy encoding is not performed.

[000205] Conforme descrito acima, especificamente, se WPP for realizado, com relação a uma unidade de codificação inicialmente quantizada incluída em uma primeira LCU de um fluxo de execução incluída em um segmento de fatia, o preditor de QP 1420 pode predizer um QP predito QP_Pred mediante uso do QP inicial de nível de fatia SliceQP. Além disso, com relação a um grupo de quantização inicialmente quantizado de cada bloco de pixels que podem ser processados em paralelo, o preditor de QP 1420 pode predizer o QP predito QP_Pred mediante uso do QP inicial de nível de fatia SliceQP.[000205] As described above, specifically, if WPP is performed, with respect to an initially quantized encoding unit included in a first LCU of an execution stream included in a slice segment, the QP predictor 1420 can predict a predicted QP QP_Pred using the SliceQP slice level initial QP. Furthermore, with respect to an initially quantized quantization group of each block of pixels that can be processed in parallel, the QP predictor 1420 can predict the predicted QP QP_Pred by using the initial slice-level QP SliceQP.

[000206] A Figura 23 é uma tabela mostrando sintaxe relativa ao QP provida a um cabeçalho de segmento de fatia, de acordo com uma modalidade da presente invenção.[000206] Figure 23 is a table showing syntax relating to QP provided to a slice segment header, in accordance with an embodiment of the present invention.

[000207] Com referência à Figura 23, o gerador de informação de fatia 1530 pode incluir sintaxe slice_qp_delta, a qual indica uma diferença entre a sintaxe init_qp_minus26 indicando um QP inicial de nível de imagem e um QP inicial de nível de fatia SliceQP, em um cabeçalho de fatia.[000207] Referring to Figure 23, the slice information generator 1530 may include slice_qp_delta syntax, which indicates a difference between the init_qp_minus26 syntax indicating an initial image-level QP and an initial slice-level SliceQP QP, in a slice header.

[000208] A Figura 24 é uma tabela mostrando a sintaxe relacionada ao QP adicionada na informação de TU, de acordo com uma modalidade da presente invenção.[000208] Figure 24 is a table showing the syntax related to QP added to the TU information, in accordance with an embodiment of the present invention.

[000209] Com referência à Figura 24, o gerador de informação de TU 1540 pode incluir informação de tamanho 2410 (cu_qp_delta_abs) e informação de sinal 2420 (cu_qp_delta_sign) de sintaxe cu_qp_delta, que indica uma diferença entre um QP em um nível de unidade de codificação e um QP predito QP_Pred, na informação de TU.[000209] Referring to Figure 24, the TU information generator 1540 can include size information 2410 (cu_qp_delta_abs) and signal information 2420 (cu_qp_delta_sign) of cu_qp_delta syntax, which indicates a difference between a QP at a unit level of encoding and a predicted QP QP_Pred, in the TU information.

[000210] A Figura 25 é um fluxograma de um método de codificação de vídeo de acordo com uma modalidade da presente invenção.[000210] Figure 25 is a flowchart of a video encoding method according to an embodiment of the present invention.

[000211] Com referência à Figura 25, na operação 2510, o executor de quantização 1410 obtém um QP usado para realizar a quantização em unidades de codificação incluídas em um segmento de fatia.[000211] Referring to Figure 25, in operation 2510, quantization executor 1410 obtains a QP used to perform quantization in encoding units included in a slice segment.

[000212] Na operação 2520, o preditor de QP 1420 determina um QP inicial de nível de fatia SliceQP para predizer um QP de um primeiro grupo de quantização de uma unidade de dados que pode ser codificada em paralelo incluída no segmento de fatia. Conforme descrito acima, a unidade de dados que podem ser codificados em paralelo pode ser um fluxo de execução incluindo as LCUs da mesma fileira de acordo com WPP, ou um bloco de pixels obtidos mediante divisão de uma imagem com relação a pelo menos um limite de coluna e/ou um limite de fileira.[000212] In operation 2520, QP predictor 1420 determines an initial slice-level QP SliceQP to predict a QP of a first quantization group of a parallel-encoded data unit included in the slice segment. As described above, the unit of data that can be encoded in parallel can be an execution stream including the LCUs of the same row according to WPP, or a block of pixels obtained by dividing an image with respect to at least a threshold of column and/or a row boundary.

[000213] Na operação 2530, o preditor de QP 1420 obtém um QP predito QP_Pred do primeiro grupo de quantização mediante uso do QP inicial de nível de fatia determinado SliceQP. Em mais detalhe, se a codificação de entropia em paralelo for realizada em uma pluralidade de fluxos de execução incluídos em um segmento de fatia de acordo com WPP, o preditor de QP 1420 pode obter o QP predito QP_Pred de uma unidade de codificação inicialmente quantizada de uma primeira LCU de cada fluxo de execução, mediante uso do QP inicial de nível de fatia SliceQP. Além disso, com relação a um grupo de quantização inicialmente quantizado de cada bloco de pixels que podem ser processados em paralelo, o preditor de QP 1420 pode predizer o QP predito QP_Pred mediante uso do QP inicial de nível de fatia SliceQP.[000213] In operation 2530, the QP predictor 1420 obtains a predicted QP QP_Pred of the first quantization group using the initial QP of the given slice level SliceQP. In more detail, if entropy encoding in parallel is performed on a plurality of execution streams included in a slice segment in accordance with WPP, the QP predictor 1420 can obtain the predicted QP QP_Pred from an initially quantized encoding unit of a first LCU of each execution flow, using the initial slice-level SliceQP QP. Furthermore, with respect to an initially quantized quantization group of each block of pixels that can be processed in parallel, the QP predictor 1420 can predict the predicted QP QP_Pred by using the initial slice-level QP SliceQP.

[000214] Além disso, mesmo quando WPP não é executado, o preditor de QP 1420 pode obter o QP predito QP_Pred da unidade de codificação inicialmente quantizada da primeira LCU do segmento de fatia, mediante uso do QP inicial de nível de fatia SliceQP. Além disso, o preditor de QP 1420 pode obter o QP predito QP_Pred de uma unidade de codificação inicialmente quantizada incluída no bloco de pixels, mediante uso do QP inicial de nível de fatia SliceQP. Além disso, o preditor de QP 1420 pode obter o QP predito QP_Pred de uma unidade de codificação com base em uma média dos QPs das unidades de codificação adjacentes, superior e esquerda da unidade de codificação.[000214] Furthermore, even when WPP is not executed, the QP predictor 1420 can obtain the predicted QP QP_Pred from the initially quantized encoding unit of the first LCU of the slice segment, by using the initial slice-level QP SliceQP. In addition, QP predictor 1420 can obtain the predicted QP QP_Pred from an initially quantized encoding unit included in the pixel block, by using the slice-level initial QP SliceQP. In addition, QP predictor 1420 can obtain the predicted QP QP_Pred of an encoding unit based on an average of the QPs of the adjacent, upper, and left encoding units of the encoding unit.

[000215] Na operação 2540, o codificador de entropia 450 adiciona informação de sintaxe para determinar o QP inicial de nível de fatia SliceQP em um fluxo de bits. Conforme descrito acima, o gerador de PPS 1520 pode incluir sintaxe init_qp_minus26, que indica um QP inicial de nível de imagem para obter o QP inicial de nível de fatia SliceQP de cada fatia incluída na imagem, em um PPS. Além disso, o gerador de informação de fatia 1530 pode incluir sintaxe slice_qp_delta, que indica uma diferença entre a sintaxe init_qp_minus26 indicando o QP inicial de nível de imagem e o QP inicial de nível de fatia SliceQP em um cabeçalho de fatia. O gerador de informação de TU 1540 pode incluir a informação de tamanho 2410 (cu_qp_delta_abs) e a informação de sinal 2420 (cu_qp_delta_sign) da sintaxe cu_qp_delta, que indica uma diferença entre um QP em um nível de unidade de codificação e o QP predito QP_Pred, na informação de TU.[000215] In operation 2540, entropy encoder 450 adds syntax information to determine the initial slice-level SliceQP QP in a bit stream. As described above, the PPS generator 1520 can include syntax init_qp_minus26, which indicates an image-level starting QP to obtain the SliceQP slice-level starting QP of each slice included in the image, in a PPS. In addition, the slice information generator 1530 may include slice_qp_delta syntax, which indicates a difference between the init_qp_minus26 syntax indicating the image-level start QP and the slice-level start QP SliceQP in a slice header. The TU information generator 1540 may include size information 2410 (cu_qp_delta_abs) and signal information 2420 (cu_qp_delta_sign) of cu_qp_delta syntax, which indicates a difference between a QP at an encoding unit level and the predicted QP QP_Pred, in the TU information.

[000216] A Figura 26 é um diagrama detalhado de blocos do decodificador de entropia 520 ilustrado na Figura 5, de acordo com uma modalidade da presente invenção.[000216] Figure 26 is a detailed block diagram of the entropy decoder 520 illustrated in Figure 5, in accordance with an embodiment of the present invention.

[000217] O decodificador de entropia 520 decodifica aritmeticamente os elementos de sintaxe a partir de um fluxo de bits. Em mais detalhe, com referência à Figura 26, o decodificador de entropia 520 inclui um meio de obtenção SPS 2610 para obter um SPS incluindo informação de codificação de uma sequência integral, por exemplo, um perfil e um nível, um meio de obtenção PPS 2620 para obter um PPS incluindo informação de codificação de cada imagem incluída na sequência, um meio de obtenção de informação de fatia 2630 para obter informação de fatia incluindo informação de codificação de segmentos de fatia incluídos em uma imagem, e um meio de obtenção de informação de TU 2640 para obter informação sobre as TUs usadas em um processo de transformação.[000217] Entropy decoder 520 arithmetically decodes syntax elements from a bit stream. In more detail, with reference to Fig. 26 , entropy decoder 520 includes an SPS acquisition means 2610 for obtaining an SPS including encoding information of an integral sequence, e.g., a profile and a level, a PPS acquisition means 2620 for obtaining a PPS including encoding information of each image included in the sequence, a slice information obtaining means 2630 for obtaining slice information including encoding information of slice segments included in an image, and a means for obtaining information from TU 2640 to obtain information about the TUs used in a transformation process.

[000218] O decodificador de entropia 520 obtém sintaxe para determinar um valor inicial de um QP usado para realizar quantização inversa nas unidades de codificação incluídas em um segmento de fatia. Em mais detalhe, o meio de obtenção de PPS 2620 obtém sintaxe init_qp_minus26 indicando um QP inicial de nível de imagem. Além disso, o meio de obtenção de informação de fatia 2630 obtém sintaxe slice_qp_delta, que indica uma diferença entre a sintaxe init_qp_minus26 indicando o QP inicial de nível de imagem e um QP inicial de nível de fatia SliceQP, a partir de um cabeçalho de fatia. Além disso, o decodificador de entropia 520 pode obter sintaxe (entropy_coding_sync_enabled_flag), que indica se codificação de entropia em paralelo é realizada em uma pluralidade de fluxos de execução incluídos em um segmento de fatia. Se a (entropy_coding_sync_enabled_flag) for 1, a decodificação de entropia em paralelo pode ser realizada em uma pluralidade de fluxos de execução de acordo com WPP como descrito acima. Se a entropy_coding_sync_enabled_flag for 0, a decodificação por entropia em paralelo de acordo com WPP pode não ser realizada. A Figura 27 é um diagrama detalhado de blocos do quantizador inverso 530 ilustrado na Figura 5, de acordo com uma modalidade da presente invenção.[000218] Entropy decoder 520 obtains syntax to determine an initial value of a QP used to perform inverse quantization on the encoding units included in a slice segment. In more detail, the PPS fetching means 2620 obtains init_qp_minus26 syntax indicating an initial image level QP. Furthermore, the slice information retrieval means 2630 obtains slice_qp_delta syntax, which indicates a difference between the init_qp_minus26 syntax indicating the initial image-level QP and an initial slice-level SliceQP QP, from a slice header. In addition, entropy decoder 520 can obtain syntax (entropy_coding_sync_enabled_flag) which indicates whether parallel entropy encoding is performed on a plurality of execution streams included in a slice segment. If a (entropy_coding_sync_enabled_flag) is 1, parallel entropy decoding can be performed on a plurality of WPP execution streams as described above. If entropy_coding_sync_enabled_flag is 0, parallel entropy decoding according to WPP may not be performed. Figure 27 is a detailed block diagram of the inverse quantizer 530 illustrated in Figure 5, in accordance with an embodiment of the present invention.

[000219] Com referência à Figura 27, o quantizador inverso 530 inclui um preditor de QP 2710, um somador 2720, e um executor de quantização inversa 2730.[000219] Referring to Figure 27, the inverse quantizer 530 includes a QP predictor 2710, an adder 2720, and an inverse quantizer executor 2730.

[000220] Como o preditor de QP 1420 ilustrado na Figura 14, o preditor de QP 2710 pode obter um QP predito QP_Pred das unidades de codificação. Com relação a uma unidade de codificação inicialmente quantizada inversamente (um grupo de quantização) de unidade de dados que podem ser processados em paralelo, predeterminados, o preditor QP 270 pode obter o QP predito QP_Pred mediante uso de um QP inicial de nível de fatia SliceQP. Como descrito acima, o grupo de quantização denota um conjunto de uma ou mais unidades de codificação que compartilham o mesmo QP predito QP_Pred. O grupo de quantização pode incluir uma unidade de codificação ou uma pluralidade de unidades de codificação. A unidade de dados que pode se decodificada em paralelo pode ser um fluxo de execução incluindo as LCUs da mesma fileira de acordo com o WPP, ou um bloco de pixels obtido mediante divisão de uma imagem com relação a pelo menos um limite de coluna e/ou um limite de fileira.[000220] Like the QP predictor 1420 illustrated in Figure 14, the QP predictor 2710 can get a predicted QP QP_Pred from the coding units. With respect to an initially inversely quantized encoding unit (a quantization group) of predetermined, parallel processable data unit, the QP predictor 270 can obtain the predicted QP QP_Pred by using an initial slice-level QP SliceQP . As described above, the quantization group denotes a set of one or more encoding units that share the same predicted QP QP_Pred. The quantization group may include an encoding unit or a plurality of encoding units. The data unit that can be decoded in parallel can be an execution stream including the LCUs of the same row according to the WPP, or a block of pixels obtained by dividing an image with respect to at least one column boundary and/or or a row boundary.

[000221] Além disso, o preditor de QP 2710 pode obter o QP inicial de nível de fatia SliceQP mediante uso de um QP inicial de nível de imagem init_qp_minus26, e sintaxe slice_qp_delta indicando uma diferença entre o QP inicial de nível de imagem init_qp_minus26 e o QP inicial de nível de fatia SliceQP como mostrado na equação seguinte; SliceQP=26+init_qp_minus26+slice_qp_delta. Além disso, o preditor de QP 2710 obtém o QP predito QP_Pred de um primeiro grupo de quantização de uma unidade de dados que podem ser processados em paralelo incluída em um segmento de fatia atual, mediante uso do QP inicial de nível de fatia SliceQP.[000221] In addition, the QP predictor 2710 can obtain the initial slice-level SliceQP QP by using an initial image-level QP init_qp_minus26, and slice_qp_delta syntax indicating a difference between the initial image-level QP init_qp_minus26 and the SliceQP slice level starting QP as shown in the following equation; SliceQP=26+init_qp_minus26+slice_qp_delta. In addition, the QP predictor 2710 obtains the predicted QP QP_Pred from a first quantization group of a parallel processable data unit included in a current slice segment, using the initial slice-level SliceQP QP.

[000222] O somador 2720 restaura um QP mediante adição de uma diferença de QP ΔQP, que é uma diferença entre o QP aplicado à unidade de codificação e o QP predito QP_Pred, para o QP predito QP_Pred.[000222] The adder 2720 restores a QP by adding a difference of QP ΔQP, which is a difference between the QP applied to the encoding unit and the predicted QP QP_Pred, to the predicted QP QP_Pred.

[000223] O executor de quantização inversa 2730 realiza quantização inversa nos dados de entrada mediante uso de uma etapa de quantização Q_Step determinada de acordo com o QP armazenado. Como descrito acima, opostamente a um processo de quantização, o executor de quantização inversa 2730 realiza quantização inversa mediante uso de um valor obtido mediante multiplicação dos dados de entrada pela etapa de quantização Q_Step determinada de acordo com o QP.[000223] Inverse quantization executor 2730 performs inverse quantization on the input data using a quantization step Q_Step determined according to the stored QP. As described above, as opposed to a quantization process, the inverse quantization executor 2730 performs inverse quantization using a value obtained by multiplying the input data by the quantization step Q_Step determined according to the QP.

[000224] A Figura 28 é um fluxograma de um método de decodificação de vídeo de acordo com uma modalidade da presente invenção.[000224] Figure 28 is a flowchart of a video decoding method according to an embodiment of the present invention.

[000225] Com referência à Figura 28, na operação 2810, o decodificador de entropia 520 obtém sintaxe para determinar um valor inicial de um QP usado para realizar quantização inversa em um primeiro grupo de quantização de uma unidade de dados que podem ser processados em paralelo, incluída em um segmento de fatia, a partir de um fluxo de bits. Conforme descrito acima, o meio de obtenção de PPS 2620 do decodificador de entropia 520 obtém sintaxe init_qp_minus26 indicando um QP inicial de nível de imagem, e o meio de obtenção de informação de fatia 2630 obtém sintaxe slice_qp_delta, que indica uma diferença entre a sintaxe init_qp_minus26 indicando o QP inicial de nível de imagem e um QP inicial de nível de fatia SliceQP, a partir de um cabeçalho de fatia.[000225] Referring to Figure 28, in operation 2810, entropy decoder 520 obtains syntax for determining an initial value of a QP used to perform inverse quantization on a first quantization group of a data unit that can be processed in parallel , included in a slice segment, from a bitstream. As described above, the entropy decoder 520 means of obtaining PPS 2620 obtains init_qp_minus26 syntax indicating an initial image-level QP, and the means of obtaining slice information 2630 obtains slice_qp_delta syntax, which indicates a difference between the init_qp_minus26 syntax indicating the image-level starting QP and a slice-level starting QP SliceQP, from a slice header.

[000226] Na operação 2820, o preditor de QP 2710 obtém o QP inicial de nível de fatia SliceQP para predizer um QP usado para realizar quantização inversa em unidades de codificação incluídas em um segmento de fatia, com base na sintaxe obtida. Conforme descrito acima, o preditor de QP 2710 pode obter o QP inicial de nível de fatia SliceQP mediante uso do QP inicial de nível de imagem init_qp_minus26, e a sintaxe slice_qp_delta indicando uma diferença entre o QP inicial de nível de imagem init_qp_minus26 e o QP inicial de nível de fatia SliceQP como mostrado na equação seguinte; SliceQP=26+init_qp_minus26+slice_qp_delta.[000226] In operation 2820, QP predictor 2710 obtains the initial slice-level QP SliceQP to predict a QP used to perform inverse quantization on encoding units included in a slice segment, based on the obtained syntax. As described above, the QP predictor 2710 can obtain the initial slice-level SliceQP QP by using the initial image-level QP init_qp_minus26, and the slice_qp_delta syntax indicating a difference between the initial image-level QP init_qp_minus26 and the initial QP SliceQP slice level as shown in the following equation; SliceQP=26+init_qp_minus26+slice_qp_delta.

[000227] Na operação 2830, o preditor de QP 2710 obtém um QP predito QP_Pred do primeiro grupo de quantização da unidade de dados que podem ser processados em paralelo incluída no segmento de fatia, por intermédio do uso do QP inicial de nível de fatia SliceQP.[000227] In operation 2830, QP predictor 2710 obtains a predicted QP QP_Pred from the first quantization group of the parallel processable data unit included in the slice segment, using the initial slice-level QP SliceQP .

[000228] Na operação 2840, o somador 2720 determina um QP mediante adição de uma diferença de QP ΔQP, que é uma diferença entre o QP aplicado à unidade de codificação e o QP predito QP_Pred, ao QP predito QP_Pred.[000228] In operation 2840, the adder 2720 determines a QP by adding a difference of QP ΔQP, which is a difference between the QP applied to the encoding unit and the predicted QP QP_Pred, to the predicted QP QP_Pred.

[000229] Na operação 2850, o executor de quantização inversa 2730 obtém uma etapa de quantização Q_Step baseado no QP determinado, e executa quantização inversa em uma unidade de codificação incluída no primeiro grupo de quantização, mediante uso da etapa de quantização Q_Step.[000229] In operation 2850, the inverse quantization executor 2730 obtains a quantization step Q_Step based on the determined QP, and performs inverse quantization on an encoding unit included in the first quantization group, using the quantization step Q_Step.

[000230] As modalidades da presente invenção podem ser escritas como programas de computador e podem ser implementadas em computadores digitais de uso comum que executam os programas utilizando um meio de gravação legível por computador. Exemplos do meio de gravação legível por computador incluem meios de armazenamento magnético (por exemplo, ROM, disquetes, discos rígidos, etc.) e meios de gravação ótica (por exemplo, CD-ROMs ou DVDs).[000230] Embodiments of the present invention can be written as computer programs and can be implemented on commonly used digital computers that execute the programs using a computer readable recording medium. Examples of computer readable recording media include magnetic storage media (eg ROM, floppy disks, hard disks, etc.) and optical recording media (eg CD-ROMs or DVDs).

[000231] Embora a presente invenção tenha sido particularmente mostrada e descrita com referência às suas modalidades exemplares, deverá ser entendido por aqueles de conhecimento comum na arte que várias alterações na forma e detalhes podem ser feitas sem se afastar do espírito e escopo de acordo com a presente invenção como definidos pelas reivindicações a seguir. As modalidades exemplares devem ser consideradas apenas em um sentido descritivo e não com o propósito de limitação. Portanto, o escopo da invenção é definido não pela descrição detalhada da invenção, mas pelas reivindicações a seguir, e todas as diferenças dentro do escopo serão consideradas como estando incluídas na presente invenção.[000231] While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it should be understood by those of ordinary skill in the art that various changes in form and detail may be made without departing from the spirit and scope in accordance with the present invention as defined by the following claims. Exemplary modalities should be considered only in a descriptive sense and not for the purpose of limitation. Therefore, the scope of the invention is defined not by the detailed description of the invention, but by the following claims, and all differences within the scope will be deemed to be included in the present invention.

Claims (1)

1. MÉTODO DE DECODIFICAR UM VÍDEO, caracterizado por compreender: obter um parâmetro de quantização de uma fatia; gerar um parâmetro de quantização predito de um grupo de quantização atual usando o parâmetro de quantização da fatia; gerar um parâmetro de quantização predito de um próximo grupo de quantização usando o parâmetro de quantização da fatia; obter, de acordo com um tamanho de uma unidade de codificação incluída em uma primeira unidade de codificação maior em uma linha atual incluindo o grupo de quantização atual, uma sintaxe para determinar um parâmetro de quantização do grupo de quantização atual; determinar um parâmetro de quantização do grupo de quantização atual usando a sintaxe e o parâmetro de quantização previsto do grupo de quantização atual; e realizar uma quantização inversa no grupo de quantização atual e no próximo grupo de quantização, em que o grupo de quantização atual é um primeiro grupo de quantização em umalinha atual incluída na fatia, o próximo grupo de quantização é um primeiro grupo de quantização em uma próxima linha incluída na fatia, cada uma da pluralidade de linhas incluindo a linha atual e a próxima linha compreendendo uma pluralidade das maiores unidades de codificação, em que um parâmetro de quantização predito de um grupo de quantização na linha atual que não é o grupo de quantização atual, sendo gerado usando um parâmetro de quantização de uma unidade de codificação vizinha do grupo de quantização na linha atual, e em que um parâmetro de quantização predito do grupo de quantização na próxima fila que não seja o próximo grupo de quantização, ser gerado usando um parâmetro de quantização da unidade de codificação vizinha do grupo de quantização na próxima fila.1. METHOD OF DECODING A VIDEO, characterized by comprising: obtaining a quantization parameter of a slice; generating a predicted quantization parameter from a current quantization group using the slice quantization parameter; generating a predicted quantization parameter from a next quantization group using the slice quantization parameter; obtaining, according to a size of an encoding unit included in a first larger encoding unit in a current line including the current quantization group, a syntax for determining a quantization parameter of the current quantization group; determining a quantization parameter of the current quantization group using the syntax and predicted quantization parameter of the current quantization group; and perform an inverse quantization on the current quantization group and the next quantization group, where the current quantization group is a first quantization group on a current line included in the slice, the next quantization group is a first quantization group on a next line included in the slice, each of the plurality of lines including the current line and the next line comprising a plurality of the largest encoding units, wherein a quantization parameter predicted from a quantization group in the current line that is not the group of current quantization, being generated using a quantization parameter from a neighboring encoding unit of the quantization group in the current row, and where a predicted quantization parameter from the quantization group in the next row other than the next quantization group, is generated using a quantization parameter from the neighboring encoding unit of the quantization group in the next row.
BR122021013566-5A 2012-01-30 2013-01-30 Method of decoding a video BR122021013566B1 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201261592577P 2012-01-30 2012-01-30
US61/592,577 2012-01-30
PCT/KR2013/000776 WO2013115572A1 (en) 2012-01-30 2013-01-30 Method and apparatus for hierarchical data unit-based video encoding and decoding comprising quantization parameter prediction
BR112014018115-2A BR112014018115B1 (en) 2012-01-30 2013-01-30 METHOD OF DECODING A VIDEO

Publications (1)

Publication Number Publication Date
BR122021013566B1 true BR122021013566B1 (en) 2022-04-26

Family

ID=76378339

Family Applications (4)

Application Number Title Priority Date Filing Date
BR122021013566-5A BR122021013566B1 (en) 2012-01-30 2013-01-30 Method of decoding a video
BR122021013570-3A BR122021013570B1 (en) 2012-01-30 2013-01-30 Device for decoding a video
BR122021013575-4A BR122021013575B1 (en) 2012-01-30 2013-01-30 Video decoding method, and video decoding apparatus
BR122020001936-0A BR122020001936B1 (en) 2012-01-30 2013-01-30 method of decoding a video

Family Applications After (3)

Application Number Title Priority Date Filing Date
BR122021013570-3A BR122021013570B1 (en) 2012-01-30 2013-01-30 Device for decoding a video
BR122021013575-4A BR122021013575B1 (en) 2012-01-30 2013-01-30 Video decoding method, and video decoding apparatus
BR122020001936-0A BR122020001936B1 (en) 2012-01-30 2013-01-30 method of decoding a video

Country Status (1)

Country Link
BR (4) BR122021013566B1 (en)

Also Published As

Publication number Publication date
BR122020001936B1 (en) 2021-05-25
BR122021013570B1 (en) 2022-04-26
BR122021013575B1 (en) 2022-04-26

Similar Documents

Publication Publication Date Title
KR102250095B1 (en) Method and apparatus for encoding/decoding video with predicting quantization parameter of hierarchical data unit
KR102169608B1 (en) Method and apparatus for encoding and decoding video to enhance intra prediction process speed
BR122020013760B1 (en) METHOD TO DECODE A VIDEO THROUGH MESH FILTRATION BASED ON ENCODING UNITS, AND VIDEO DECODING APPARATUS TO DECODE A VIDEO THROUGH MESH FILTRATION BASED ON ENCODING UNITS
BR122021004659B1 (en) METHOD TO DECODE VIDEO TO COMPENSATE AS TO A PIXEL VALUE
BR112012025407B1 (en) Video decoding method based on encoding units determined according to a tree structure
JP2015233304A (en) Method and apparatus for coding videos, and method and apparatus for decoding videos
BR122019014182B1 (en) video decoding method
BR122013019952B1 (en) DEVICE TO DECODE A VIDEO
BR122020014021B1 (en) Device for decoding a video
BR112012003245B1 (en) METHOD TO DECODE AN ENCODED VIDEO
KR101504888B1 (en) Method for decoding video for parallel processing
KR20130050325A (en) Method and apparatus for video encoding by motion prediction using arbitrary partition, and method and apparatus for video decoding by motion compensation using arbitrary partition
KR20130049187A (en) Method and apparatus for video encoding by motion prediction using arbitrary partition, and method and apparatus for video decoding by motion compensation using arbitrary partition
BR122021013566B1 (en) Method of decoding a video
KR101525015B1 (en) Method and apparatus for image encoding, and method and apparatus for image decoding

Legal Events

Date Code Title Description
B07A Application suspended after technical examination (opinion) [chapter 7.1 patent gazette]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 30/01/2013, OBSERVADAS AS CONDICOES LEGAIS.