BR122021013566B1 - Method of decoding a video - Google Patents
Method of decoding a video Download PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/124—Quantisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
- H04N19/463—Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
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
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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
[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]
[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]
[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
[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
[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
[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
[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
[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
[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
[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]
[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]
[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
[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
[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
[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
[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
[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
[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]
[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]
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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]
[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
[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
[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
[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
[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
[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
[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
[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]
[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]
[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]
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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]
[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
[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
[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]
[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
[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
[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
[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
[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
[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
[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
[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,
[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,
[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
[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
[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
[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
[000143]
[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]
[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
[000148] O preditor de QP 1420 emite informação adicional para obter o QP predito QP_Pred, para o codificador de entropia 450.[000148]
[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
[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]
[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,
[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,
[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
[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
[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
[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
[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
[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
[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,
[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
[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
[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
[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
[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,
[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
[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
[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
[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
[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]
[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]
[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
[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
[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
[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
[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
[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.
[000197] As another example, with respect to encoding units other than initial encoding units a, b, c, ed, the
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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]
[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]
[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
[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
[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
[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
[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]
[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
[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
[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
[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
[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
[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)
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) |
-
2013
- 2013-01-30 BR BR122021013566-5A patent/BR122021013566B1/en active IP Right Grant
- 2013-01-30 BR BR122021013570-3A patent/BR122021013570B1/en active IP Right Grant
- 2013-01-30 BR BR122021013575-4A patent/BR122021013575B1/en active IP Right Grant
- 2013-01-30 BR BR122020001936-0A patent/BR122020001936B1/en active IP Right Grant
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. |