BR112014007869B1 - METHOD FOR GENERATING A RECONSTRUCTED BLOCK - Google Patents

METHOD FOR GENERATING A RECONSTRUCTED BLOCK Download PDF

Info

Publication number
BR112014007869B1
BR112014007869B1 BR112014007869-6A BR112014007869A BR112014007869B1 BR 112014007869 B1 BR112014007869 B1 BR 112014007869B1 BR 112014007869 A BR112014007869 A BR 112014007869A BR 112014007869 B1 BR112014007869 B1 BR 112014007869B1
Authority
BR
Brazil
Prior art keywords
mode
intraprediction
block
prediction
unit
Prior art date
Application number
BR112014007869-6A
Other languages
Portuguese (pt)
Other versions
BR112014007869A2 (en
BR112014007869A8 (en
Inventor
Soo Mi Oh
Moonock Yang
Original Assignee
Infobridge Pte. Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Infobridge Pte. Ltd filed Critical Infobridge Pte. Ltd
Priority to BR122020014293-6A priority Critical patent/BR122020014293B1/en
Priority to BR122020014288-0A priority patent/BR122020014288B1/en
Priority to BR122020014298-7A priority patent/BR122020014298B1/en
Priority to BR122020014282-0A priority patent/BR122020014282B1/en
Priority claimed from PCT/CN2012/083994 external-priority patent/WO2013064099A1/en
Publication of BR112014007869A2 publication Critical patent/BR112014007869A2/en
Publication of BR112014007869A8 publication Critical patent/BR112014007869A8/en
Publication of BR112014007869B1 publication Critical patent/BR112014007869B1/en

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

método para gerar bloco reconstruído. é apresentado um método que deriva um modo de intra-predição de uma unidade de predição, determina o tamanho do bloco atual usando-se informações sobre tamanho de transformada, gera um bloco de predição do bloco atual de acordo com o modo de intra-predição, gerando um bloco residual do bloco atual de acordo com o modo de intra-predição e gerando um bloco reconstruído do bloco atual usando-se o bloco de predição e o bloco residual. os tamanhos do bloco de predição e do bloco residual são fixados como iguais ao tamanho de uma unidade de transformada. portanto, a distância de intra-predição se torna curta, e a quantidade de bits de codificação do bloco residual é reduzida pela geração de um bloco de predição muito semelhante ao bloco original. além disto, os bits de sinalização necessários para sinalizar o modo de intra-predição diminuem com a geração de um grupo mpm adaptativamente de acordo com os modos de intra-predição vizinhos.method to generate reconstructed block. a method is presented that derives an intra-prediction mode from a prediction unit, determines the current block size using transform size information, generates a current block prediction block according to the intra-prediction mode , generating a block residual from the current block according to the intraprediction mode and generating a reconstructed block from the current block using the prediction block and the residual block. the sizes of the prediction block and the residual block are fixed equal to the size of one transform unit. therefore, the intra-prediction distance becomes short, and the amount of encoding bits of the residual block is reduced by generating a prediction block very similar to the original block. furthermore, the signaling bits needed to signal the intra-prediction mode decrease with the generation of an mpm group adaptively according to the neighboring intra-prediction modes.

Description

Campo TécnicoTechnical Field

[001] A presente invenção refere-se a um método e um aparelho para decodificar uma imagem e, mais especificamente, a um método e um aparelho para gerar adaptativamente um bloco de predição e um bloco residual que têm tamanho igual ao de uma unidade de transformada de acordo com um modo de intrapredição.[001] The present invention relates to a method and an apparatus for decoding an image and, more specifically, to a method and an apparatus for adaptively generating a prediction block and a residual block that are equal in size to a unit of transformed according to an intraprediction mode.

Técnica AnteriorPrevious Technique

[002] No H.264/MPEG-4 AVC, uma imagem é dividida em macroblocos de modo a se codificar uma imagem, os respectivos macroblocos sendo codificados pela geração de um bloco de predição com o uso de interpredição ou intrapredição. A diferença entre um bloco original e o bloco de predição é transformada de modo a se gerar um bloco transformado, e o bloco transformado é quantizado usando-se um parâmetro de quantização e uma de uma série de matrizes de quantização predeterminadas. O coeficiente quantizado do bloco quantizado é varrido por um tipo de varredura predeterminado e em seguida codificado por entropia. Os parâmetros de quantização são ajustados por macrobloco e codificados usando-se um parâmetro de quantização prévio.[002] In H.264/MPEG-4 AVC, a picture is divided into macroblocks in order to encode a picture, the respective macroblocks being encoded by generating a prediction block using interprediction or intraprediction. The difference between an original block and the prediction block is transformed so as to generate a transformed block, and the transformed block is quantized using a quantization parameter and one of a series of predetermined quantization matrices. The quantized coefficient of the quantized block is scanned by a predetermined type of scan and then encoded by entropy. The quantization parameters are adjusted by macroblock and encoded using a previous quantization parameter.

[003] Entrementes, técnicas que usam diversos tamanhos de unidade de codificação são introduzidas para aperfeiçoar a eficácia de codificação. Técnicas que aumentam o número de modos de intrapredição são também introduzidas para gerar um bloco de predição mais semelhante a um bloco original.[003] Meanwhile, techniques that use varying coding unit sizes are introduced to improve coding efficiency. Techniques that increase the number of intraprediction modes are also introduced to generate a prediction block more similar to an original block.

[004] Porém, se o número de modos de intrapredição aumentar, a quantidade de bits de codificação necessários para sinalizar o modo de intrapredição torna- se maior. Além disto, se o tamanho da unidade de codificação for maior, a diferença entre um bloco original e um bloco de predição é maior.[004] However, if the number of intraprediction modes increases, the amount of encoding bits needed to signal the intraprediction mode becomes larger. Also, if the encoding unit size is larger, the difference between an original block and a prediction block is larger.

[005] Por conseguinte, é necessário um método mais eficaz para sinalizar o modo de intrapredição. Um método mais eficaz é também necessário para reduzir ao mínimo a diferença entre o bloco original e o bloco de predição e para reduzir ao mínimo os bits de codificação do bloco residual.[005] Therefore, a more efficient method to signal the intraprediction mode is needed. A more efficient method is also needed to minimize the difference between the original block and the prediction block and to minimize the encoding bits of the residual block.

Revelação Problema TécnicoTechnical Problem Disclosure

[006] A presente invenção refere-se a um método para derivar um modo de intrapredição de uma unidade de predição, determinar o tamanho do bloco atual com o uso de informações sobre tamanho de transformada, gerar um bloco de predição e um bloco residual do bloco atual de acordo com o modo de intrapredição e gerar um bloco reconstruído do bloco atual com o uso do bloco de predição e do bloco residual.[006] The present invention relates to a method for deriving an intraprediction mode of a prediction unit, determining the current block size using transform size information, generating a prediction block and a residual block of the current block according to the intraprediction mode and generate a reconstructed block of the current block using the prediction block and the residual block.

Solução TécnicaTechnical Solution

[007] Um aspecto da presente invenção provê um método para gerar um bloco reconstruído, que compreende: derivar um modo de intrapredição de uma unidade de predição, determinar o tamanho do bloco atual com o uso de informações sobre tamanho de transformada, gerar um bloco de predição e um bloco residual do bloco atual de acordo com o modo de intrapredição, gerar um bloco residual do bloco atual de acordo com o modo de intrapredição e gerar um bloco reconstruído do bloco atual com o uso do bloco de predição e do bloco residual.[007] One aspect of the present invention provides a method for generating a reconstructed block, comprising: deriving an intraprediction mode from a prediction unit, determining the current block size using transform size information, generating a block of prediction and a block residual of the current block according to the intraprediction mode, generate a block residual of the current block according to the intraprediction mode and generate a reconstructed block of the current block using the prediction block and the residual block .

Efeitos VantajososAdvantageous Effects

[008] Um método de acordo com a presente invenção deriva um modo de in- trapredição de uma unidade de predição, determina o tamanho do bloco atual com o uso de informações sobre tamanho de transformada, gera um bloco de predição do bloco atual de acordo com o modo de intrapredição, gera um bloco residual do bloco atual de acordo com o modo de intrapredição e gera um bloco reconstruído do bloco atual com o uso do bloco de predição e do bloco residual. Os tamanhos do bloco de predição e do bloco residual são definidos como iguais ao tamanho de uma unidade de transformada. Portanto, a distância de intrapredição torna-se curta, e a quantida- de de bits de codificação do bloco residual é reduzida com a geração de um bloco de predição muito semelhante ao bloco original. Além disto, os bits de sinalização necessários para sinalizar o modo de intrapredição diminuem com a geração do grupo MPM adaptativamente de acordo com os modos de intrapredição vizinhos.[008] A method according to the present invention derives an intraprediction mode from a prediction unit, determines the current block size using transform size information, generates a prediction block of the current block according to with intraprediction mode, it generates a residual block of the current block according to the intraprediction mode and generates a reconstructed block of the current block using the prediction block and the residual block. Prediction block and residual block sizes are defined as equal to the size of one transform unit. Therefore, the intraprediction distance becomes short, and the amount of encoding bits of the residual block is reduced with the generation of a prediction block very similar to the original block. Furthermore, the signaling bits needed to signal the intraprediction mode decrease with the generation of the MPM group adaptively according to the neighboring intraprediction modes.

Descrição dos DesenhosDescription of Drawings

[009] A Figura 1 é um diagrama de blocos de um aparelho de codificação de imagens de acordo com a presente invenção.[009] Figure 1 is a block diagram of an image encoding apparatus according to the present invention.

[010] A Figura 2 é um diagrama de blocos de um aparelho de decodificação de imagens de acordo com a presente invenção.[010] Figure 2 is a block diagram of an image decoding apparatus according to the present invention.

[011] A Figura 3 é um fluxograma que mostra um procedimento de gerar um bloco reconstruído em intrapredição de acordo com a presente invenção.[011] Figure 3 is a flowchart that shows a procedure to generate a reconstructed block in intraprediction according to the present invention.

[012] A Figura 4 é um fluxograma que mostra um procedimento de derivar um modo de intrapredição da unidade de predição atual de acordo com a presente invenção.[012] Figure 4 is a flowchart showing a procedure of deriving an intraprediction mode from the current prediction unit according to the present invention.

[013] A Figura 5 é um diagrama conceptual que mostra modos de intrapredi- ção de acordo com a presente invenção.[013] Figure 5 is a conceptual diagram that shows intraprediction modes according to the present invention.

[014] A Figura 6 é um fluxograma que mostra um procedimento de gerar um bloco de predição de acordo com a presente invenção.[014] Figure 6 is a flowchart that shows a procedure to generate a prediction block according to the present invention.

[015] A Figura 7 é um diagrama conceptual que mostra posições dos pixels de referência do bloco atual de acordo com a presente invenção.[015] Figure 7 is a conceptual diagram that shows positions of reference pixels of the current block according to the present invention.

[016] A Figura 8 é um fluxograma que mostra um procedimento de gerar um bloco residual de acordo com a presente invenção.[016] Figure 8 is a flowchart that shows a procedure to generate a residual block according to the present invention.

[017] A Figura 9 é um fluxograma que mostra um procedimento de derivar parâmetros de quantização de acordo com a presente invenção.[017] Figure 9 is a flowchart that shows a procedure to derive quantization parameters according to the present invention.

[018] A Figura 10 é um diagrama de blocos que mostra um aparelho para gerar um bloco reconstruído de acordo com a presente invenção.[018] Figure 10 is a block diagram showing an apparatus for generating a reconstructed block according to the present invention.

Modos para a InvençãoModes for the Invention

[019] Em seguida, diversas modalidades da presente invenção serão descritas em detalhe com referência aos desenhos anexos. Entretanto, a presente invenção não está limitada às modalidades exemplares reveladas a seguir, mas pode ser implementada em diversos tipos. Portanto, muitas outras modificações e variações da presente invenção são possíveis, e deve ficar entendido que, dentro do alcance do conceito revelado, a presente invenção pode ser posta em prática de uma maneira diferente da que foi especificamente descrita.[019] In the following, several embodiments of the present invention will be described in detail with reference to the attached drawings. However, the present invention is not limited to the exemplary embodiments disclosed below, but can be implemented in several types. Therefore, many other modifications and variations of the present invention are possible, and it is to be understood that, within the scope of the disclosed concept, the present invention may be practiced in a manner other than that specifically described.

[020] A Figura 1 é um diagrama de blocos de um aparelho de codificação de imagens 100 de acordo com a presente invenção.[020] Figure 1 is a block diagram of an image encoding apparatus 100 in accordance with the present invention.

[021] Com referência à Figura 1, o aparelho de codificação de imagens 100 de acordo com a presente invenção inclui uma unidade de divisão de imagens 101, uma unidade de transformada 103, uma unidade de quantização 104, uma unidade de varredura 105, uma unidade de codificação por entropia 106, uma unidade de quantização inversa 107, uma unidade de transformada inversa 108, uma unidade de pós-processamento 110, uma unidade de armazenamento de imagens 111, uma unidade de intrapredição 112, uma unidade de interpredição 113, um subtrator 102 e um adicionador 109.[021] Referring to Figure 1, the image encoding apparatus 100 according to the present invention includes an image division unit 101, a transform unit 103, a quantization unit 104, a scan unit 105, a entropy coding unit 106, an inverse quantization unit 107, an inverse transform unit 108, a post-processing unit 110, an image storage unit 111, an intraprediction unit 112, an interprediction unit 113, a subtractor 102 and an adder 109.

[022] A unidade de divisão de imagens 101 divide uma imagem ou uma fatia em uma série de unidades de codificação maiores (LCUs) e divide cada LCU em uma ou mais unidades de codificação. A unidade de divisão de imagens 101 determina o modo de predição de cada unidade de codificação e o tamanho da unidade de predição e o tamanho da unidade de transformada.[022] Image division unit 101 divides an image or slice into a series of larger encoding units (LCUs) and divides each LCU into one or more encoding units. The picture division unit 101 determines the prediction mode of each encoding unit and the prediction unit size and the transform unit size.

[023] Uma LCU inclui uma ou mais unidades de codificação. A LCU tem uma estrutura de transformação quad-tree recursiva para especificar uma estrutura de divisão. Informações que especificam o tamanho máximo e o tamanho mínimo da unidade de codificação são incluídas em um conjunto de parâmetros de sequência. A estrutura de divisão é especificada por um ou mais indicadores de unidade de co- dificação dividida (split_cu_flags). A unidade de codificação tem um tamanho de 2Nx2N.[023] An LCU includes one or more encoding units. The LCU has a recursive quad-tree transformation structure to specify a split structure. Information specifying the maximum size and minimum size of the encoding unit is included in a set of string parameters. The split structure is specified by one or more split encoding unit flags (split_cu_flags). The encoding unit has a size of 2Nx2N.

[024] Uma unidade de codificação inclui uma ou mais unidades de predição. Na intrapredição, o tamanho da unidade de predição é 2Nx2N ou NxN. Na interpre- dição, o tamanho da unidade de predição é 2Nx2N, 2NxN ou NxN. Quando a unidade de predição é uma partição assimétrica na interpredição, o tamanho da unidade de predição pode ser também um de hNx2N, (2-h)Nx2N, 2NxhN e 2Nx(2-h)N. O valor de h é 1/2.[024] A coding unit includes one or more prediction units. In intraprediction, the prediction unit size is 2Nx2N or NxN. In interprediction, the size of the prediction unit is 2Nx2N, 2NxN or NxN. When the prediction unit is an asymmetric partition in the interprediction, the prediction unit size can also be one of hNx2N, (2-h)Nx2N, 2NxhN and 2Nx(2-h)N. The value of h is 1/2.

[025] A unidade de codificação inclui uma ou mais unidades de transformada. A unidade de transformada tem uma estrutura de transformação quad-tree recursiva para especificar uma estrutura de divisão. A estrutura de divisão é especificada por um ou mais indicadores de unidade de transformada dividida (split_tu_flags). Informações que especificam o tamanho máximo e o tamanho mínimo da unidade de transformada são incluídas em um conjunto de parâmetros de sequência.[025] The encoding unit includes one or more transform units. The transform unit has a recursive quad-tree transform structure to specify a division structure. The split structure is specified by one or more split transform unit flags (split_tu_flags). Information specifying the maximum size and minimum size of the transform unit is included in a set of sequence parameters.

[026] A unidade de intrapredição 112 determina um modo de intrapredição de unidade de predição atual e gera um bloco de predição usando o modo de intra- predição. O bloco de predição tem o mesmo tamanho da unidade de transformada.[026] The intraprediction unit 112 determines an intraprediction mode from current prediction unit and generates a prediction block using the intraprediction mode. The prediction block is the same size as the transform unit.

[027] A unidade de interpredição 113 determina informações sobre movimento da unidade de predição atual usando uma ou mais imagens de referência armazenadas na unidade de armazenamento de imagens 111 e gera um bloco de predição da unidade de predição. As informações sobre movimento incluem um ou mais índices de imagem de referência e um ou mais vetores de movimento.[027] The interprediction unit 113 determines information about motion of the current prediction unit using one or more reference images stored in the image storage unit 111 and generates a prediction block from the prediction unit. Motion information includes one or more reference image indices and one or more motion vectors.

[028] A unidade de transformada 103 transforma os sinais residuais gerados usando um bloco original e um bloco de predição de modo a gerar um bloco de transformada. Os sinais residuais são transformados em unidades de transformada. O tipo de transformada é uma transformada de número inteiro baseada em DCT ou uma transformada de número inteiro baseada em DST. Por exemplo, na interpredi- ção são usadas transformadas de número inteiro baseada em DCT. No modo de intrapredição, se o tamanho da unidade de transformada for menor que um tamanho predeterminado, são usadas as transformadas de número inteiro baseadas em DST, caso contrário são usadas as transformadas de número inteiro baseadas em DCT.[028] The transform unit 103 transforms the residual signals generated using an original block and a prediction block so as to generate a transform block. Residual signals are transformed into transform units. The type of transform is a DCT-based integer transform or a DST-based integer transform. For example, in the interpretation, integer transforms based on DCT are used. In intraprediction mode, if the size of the transform unit is less than a predetermined size, DST-based integer transforms are used, otherwise DCT-based integer transforms are used.

[029] A unidade de quantização 104 determina um parâmetro de quantiza- ção para quantizar o bloco transformado. O parâmetro de quantização é um tamanho de etapa de quantização. O parâmetro de quantização é determinado por unidade de quantização. O tamanho da unidade de quantização é um dos tamanhos permissíveis da unidade de codificação. Se o tamanho da unidade de codificação for igual ao ou maior que o tamanho mínimo da unidade de quantização, a unidade de codificação torna-se a unidade de quantização. Uma série de unidades de codificação pode ser incluída em uma unidade de quantização. O tamanho mínimo da unidade de quantização é determinado por imagem e as informações que especificam o tamanho mínimo da unidade de quantização são incluídas em um conjunto de parâmetros de sequência.[029] The quantization unit 104 determines a quantization parameter to quantize the transformed block. The quantization parameter is a quantization step size. The quantization parameter is determined per quantization unit. The quantization unit size is one of the allowable encoding unit sizes. If the encoding unit size is equal to or greater than the minimum quantization unit size, the encoding unit becomes the quantization unit. A series of encoding units can be included in a quantization unit. The minimum quantization unit size is determined per image, and information specifying the minimum quantization unit size is included in a set of sequence parameters.

[030] A unidade de quantização 104 gera um preditor de parâmetros de quantização e gera um parâmetro de quantização diferencial subtraindo o preditor de parâmetros de quantização do parâmetro de quantização. O parâmetro de quantiza- ção diferencial é codificado por entropia e incluído na sintaxe da unidade de codificação.[030] The quantization unit 104 generates a quantization parameter predictor and generates a differential quantization parameter by subtracting the quantization parameter predictor from the quantization parameter. The differential quantization parameter is entropy encoded and included in the encoding unit syntax.

[031] O preditor de parâmetros de quantização é gerado pelo uso de parâmetros de quantização de unidades de codificação vizinhas e um parâmetro de quantização da unidade de codificação anterior da maneira seguinte.[031] The quantization parameter predictor is generated by using quantization parameters from neighboring encoding units and a quantization parameter from the previous encoding unit as follows.

[032] Um parâmetro de quantização à esquerda, um parâmetro de quantiza- ção acima e um parâmetro de quantização anterior são recuperados sequencialmente nesta ordem. A meda dos dois primeiros parâmetros de quantização disponíveis recuperados nessa ordem é fixada como o preditor de parâmetros de quantização quando dois ou mais parâmetros de quantização estão disponíveis e, quando apenas um parâmetro de quantização está disponível, o parâmetro de quantização disponível é definido como o preditor de parâmetros de quantização. Se apenas um dos parâmetros de quantização à esquerda e acima estiver disponível, a média do parâmetro de quantização disponível e do parâmetro de quantização anterior é fixada como o preditor de parâmetros de quantização. Se ambos os parâmetros de quanti- zação à esquerda e acima estiverem indisponíveis, o parâmetro de quantização anterior é definido como o preditor de parâmetros de quantização. A média é arredondada.[032] A left quantize parameter, an up quantize parameter, and a previous quantize parameter are recalled sequentially in this order. The measure of the first two available quantization parameters retrieved in that order is fixed as the predictor of quantization parameters when two or more quantization parameters are available, and when only one quantization parameter is available, the available quantization parameter is set to the predictor of quantization parameters. If only one of the quantize parameters to the left and above is available, the average of the available quantize parameter and the previous quantize parameter is fixed as the quantize parameter predictor. If both the left and top quantization parameters are unavailable, the previous quantization parameter is set as the quantization parameter predictor. The mean is rounded.

[033] A unidade de quantização 104 quantiza o bloco transformado usando uma matriz de quantização e o parâmetro de quantização para gerar o bloco quanti- zado. O bloco quantizado é enviado à unidade de quantização inversa 107 e à unidade de varredura 105.[033] The quantization unit 104 quantizes the transformed block using a quantization matrix and the quantization parameter to generate the quantized block. The quantized block is sent to the inverse quantization unit 107 and the scan unit 105.

[034] A unidade de varredura 106 determina um padrão de varredura e aplica o padrão de varredura ao bloco quantizado. Quando a CABAC (codificação aritmética binária adaptativa ao Contexto) é usada na codificação por entropia, o padrão de varredura é determinado da maneira seguinte.[034] Scan unit 106 determines a scan pattern and applies the scan pattern to the quantized block. When CABAC (Context Adaptive Binary Arithmetic Encoding) is used in entropy encoding, the scan pattern is determined as follows.

[035] Na intrapredição, o padrão de varredura é determinado pelo modo de intrapredição e pelo tamanho da unidade de transformada. O tamanho da unidade de transformada, o tamanho do bloco transformado e o tamanho do bloco quantiza- do são os mesmos. O padrão de varredura é selecionado dentre uma varredura diagonal, uma varredura vertical e uma varredura horizontal. Os coeficientes de transformada quantizados do bloco quantizado são divididos em indicadores significativos, sinais de coeficiente e níveis de coeficiente, respectivamente. O indicador significativo indica se o coeficiente de transformada quantizado correspondente é zero ou não. O sinal de coeficiente indica um sinal de coeficiente de transformada quantiza- do não zero, e o nível de coeficiente indica o valor absoluto do coeficiente de transformada quantizado não zero.[035] In intraprediction, the scan pattern is determined by the intraprediction mode and the size of the transform unit. Transform unit size, transformed block size, and quantized block size are the same. The sweep pattern is selected from a diagonal sweep, a vertical sweep, and a horizontal sweep. The quantized transform coefficients of the quantized block are divided into significant indicators, coefficient signs, and coefficient levels, respectively. The significant indicator indicates whether the corresponding quantized transform coefficient is zero or not. The coefficient sign indicates a non-zero quantized transform coefficient signal, and the coefficient level indicates the absolute value of the non-zero quantized transform coefficient.

[036] Quando o tamanho da unidade de transformada é igual a ou menor que um primeiro tamanho, a varredura horizontal é selecionada para o modo vertical e um número predeterminado de modos de intrapredição vizinhos do modo vertical em direcionalidade, a varredura vertical é selecionada para o modo horizontal e o número predeterminado de modos de intrapredição vizinhos do modo horizontal em direcionalidade, e a varredura diagonal é selecionada para os outros modos de in- trapredição. Quando o tamanho da unidade de transformada é maior que o primeiro tamanho, a varredura diagonal é usada. O primeiro tamanho é 8x8.[036] When the size of the transform unit is equal to or less than a first size, horizontal scan is selected for vertical mode and a predetermined number of intraprediction modes neighboring vertical mode in directionality, vertical scan is selected for the horizontal mode is the predetermined number of intraprediction modes neighboring the horizontal mode in directionality, and diagonal scanning is selected for the other intraprediction modes. When the size of the transform unit is greater than the first size, diagonal scanning is used. The first size is 8x8.

[037] Na interpredição, um padrão de varredura predeterminado é usado in-dependentemente do tamanho da unidade de transformada. O padrão de varredura predeterminado é a varredura diagonal quando a CABAC é usada na codificação por entropia.[037] In interprediction, a predetermined scan pattern is used regardless of the size of the transform unit. The default scan pattern is diagonal scan when CABAC is used in entropy encoding.

[038] Quando o tamanho da unidade de transformada é maior que um segundo tamanho, o bloco quantizado é dividido em um subconjunto principal e uma série de subconjuntos restantes e o padrão de varredura determinado é aplicado a cada subconjunto. Indicadores significativos, sinais de coeficiente e níveis de coeficiente de cada subconjunto são varridos respectivamente de acordo com o padrão de varredura determinado. O subconjunto principal inclui coeficiente DC e os subconjuntos restantes cobrem a outra região que não a região coberta pelo subconjunto principal. O segundo tamanho é 4x4. O tamanho do subconjunto pode ser um bloco de 4x4 ou pode variar de acordo com o padrão de varredura. O subconjunto contém 16 coeficientes de transformada.[038] When the size of the transform unit is greater than a second size, the quantized block is divided into a main subset and a series of remaining subsets and the determined scan pattern is applied to each subset. Significant indicators, coefficient signs and coefficient levels of each subset are respectively scanned according to the determined scan pattern. The main subset includes DC coefficient and the remaining subsets cover a region other than the region covered by the main subset. The second size is 4x4. The subset size can be a 4x4 block or it can vary depending on the scan pattern. The subset contains 16 transform coefficients.

[039] O padrão de varredura para varrer os subconjuntos é o mesmo padrão de varredura para varrer os coeficientes de transformada quantizados de cada subconjunto. Os coeficientes de transformada quantizados de cada subconjunto são varridos na direção inversa. Os subconjuntos são também varridos na direção inversa.[039] The scan pattern to scan the subsets is the same scan pattern to scan the quantized transform coefficients of each subset. The quantized transform coefficients of each subset are swept in the reverse direction. Subsets are also swept in the reverse direction.

[040] As últimas posições de coeficiente não zero são codificadas e transmitidas para o decodificador. A última posição de coeficiente não zero especifica a posição do último coeficiente de transformada quantizado não zero dentro da unidade de transformada. O indicador de subconjunto não zero é definido para cada subconjunto outro que não o subconjunto principal e o último subconjunto. O último subconjunto cobre o último coeficiente não zero. O indicador de subconjunto não zero indica se o subconjunto contém os coeficientes não zero ou não.[040] The last non-zero coefficient positions are encoded and transmitted to the decoder. The last non-zero coefficient position specifies the position of the last quantized non-zero transform coefficient within the transform unit. The non-zero subset indicator is set for each subset other than the main subset and the last subset. The last subset covers the last non-zero coefficient. The non-zero subset indicator indicates whether the subset contains the non-zero coefficients or not.

[041] A unidade de quantização inversa 107 quantiza inversamente os coeficientes de transformada quantizados do bloco quantizado.[041] The inverse quantization unit 107 inversely quantizes the quantized transform coefficients of the quantized block.

[042] A unidade de transformada inversa 108 transforma inversamente o bloco quantizado inverso de modo a gerar sinais residuais do domínio espacial.[042] The inverse transform unit 108 inversely transforms the inverse quantized block so as to generate spatial domain residual signals.

[043] O adicionador 109 gera um bloco reconstruído adicionando o bloco residual e o bloco de predição.[043] Adder 109 generates a reconstructed block by adding the residual block and the prediction block.

[044] A unidade de pós-processamento 110 executa um processo de filtragem por desblocagem para remover artefatos de blocagem gerados em uma imagem reconstruída.[044] The post-processing unit 110 performs a deblocking filtering process to remove blocking artifacts generated in a reconstructed image.

[045] A unidade de armazenamento de imagens 111 recebe a imagem pós- processada da unidade de pós-processamento 110 e armazena a imagem em unidades de imagem. Uma imagem pode ser um quadro ou um campo.[045] The image storage unit 111 receives the post-processed image from the post-processing unit 110 and stores the image in image units. An image can be a frame or a field.

[046] A unidade de codificação por entropia 106 codifica por entropia as informações sobre coeficiente unidimensional recebidas da unidade de varredura 105, as informações de intrapredição recebidas da unidade de intrapredição 112, as informações sobre movimento recebidas da unidade de interpredição 113 e assim por diante.[046] The entropy coding unit 106 entropy encodes the one-dimensional coefficient information received from the scanning unit 105, the intraprediction information received from the intraprediction unit 112, the motion information received from the interprediction unit 113, and so on. .

[047] A Figura 2 é um diagrama de blocos de um aparelho de decodificação de imagens 200 de acordo com a presente invenção.[047] Figure 2 is a block diagram of an image decoding apparatus 200 according to the present invention.

[048] O aparelho de decodificação de imagens 200 de acordo com a presente invenção inclui uma unidade de decodificação por entropia 201, uma unidade de varredura inversa 202, uma unidade de quantização inversa 203, uma unidade de transformada inversa 204, um adicionador 205, uma unidade de pós-processamento 206, uma unidade de armazenamento de imagens 207, uma unidade de intrapredi- ção 208 e uma unidade de interpredição 209.[048] The image decoding apparatus 200 according to the present invention includes an entropy decoding unit 201, an inverse scan unit 202, an inverse quantization unit 203, an inverse transform unit 204, an adder 205, a post-processing unit 206, an image storage unit 207, an intraprediction unit 208 and an interprediction unit 209.

[049] A unidade de decodificação por entropia 201 extrai as informações de intrapredição, as informações de interpredição e as informações sobre coeficiente unidimensional de um fluxo de bits recebido. A unidade de decodificação por entropia 201 transmite as informações de interpredição para a unidade de interpredição 2)9, as informações de intrapredição para a unidade de intrapredição 208 e as informações sobre coeficiente(s) para a unidade de varredura inversa 202.[049] The entropy decoding unit 201 extracts the intraprediction information, the interprediction information and the one-dimensional coefficient information from a received bit stream. The entropy decoding unit 201 transmits the interprediction information to the interprediction unit 2)9, the intraprediction information to the intraprediction unit 208 and the coefficient(s) information to the inverse scan unit 202.

[050] A unidade de varredura inversa 202 usa um padrão de varredura inversa para gerar um bloco quantizado. Quando a CABAC é usada para codificação por entropia, o padrão de varredura é determinado da maneira seguinte.[050] The inverse scan unit 202 uses a inverse scan pattern to generate a quantized block. When CABAC is used for entropy encoding, the scan pattern is determined as follows.

[051] Na intrapredição, o padrão de varredura inversa é determinado pelo modo de intrapredição e pelo tamanho da unidade de transformada. O padrão de varredura inversa é selecionado dentre uma varredura diagonal, uma varredura vertical e uma varredura horizontal. O padrão de varredura inversa selecionado é aplicado a indicadores significativos, sinais de coeficiente e níveis de coeficiente, respectivamente, de modo a se gerar o bloco quantizado.[051] In intraprediction, the inverse scan pattern is determined by the intraprediction mode and the size of the transform unit. The inverse sweep pattern is selected from a diagonal sweep, a vertical sweep, and a horizontal sweep. The selected inverse scan pattern is applied to significant indicators, coefficient signals and coefficient levels, respectively, in order to generate the quantized block.

[052] Quando o tamanho da unidade de transformada é igual a ou menor que um primeiro tamanho, a varredura horizontal é selecionada para o modo vertical e um número predeterminado de modos de intrapredição vizinhos do modo vertical, a varredura vertical é selecionada para o modo horizontal e o número predeterminado de modos de intrapredição vizinhos do modo horizontal, e a varredura diagonal é selecionada para os outros modos de intrapredição. Quando o tamanho da unidade de transformada é maior que o primeiro tamanho, a varredura diagonal é usada. Quando o tamanho da unidade de transformada é maior que o primeiro tamanho, a varredura diagonal é selecionada para todos os modos de intrapredição. O primeiro tamanho é 8x8.[052] When the size of the transform unit is equal to or less than a first size, horizontal scan is selected for vertical mode and a predetermined number of neighboring intraprediction modes for vertical mode, vertical scan is selected for vertical mode horizontal and the predetermined number of intraprediction modes neighboring the horizontal mode, and diagonal scanning is selected for the other intraprediction modes. When the size of the transform unit is greater than the first size, diagonal scanning is used. When the size of the transform unit is greater than the first size, diagonal sweep is selected for all intraprediction modes. The first size is 8x8.

[053] Quando o tamanho da unidade de transformada é maior que o primeiro tamanho, a varredura diagonal é selecionada para todos os modos de intrapredição.[053] When the transform unit size is greater than the first size, diagonal scan is selected for all intraprediction modes.

[054] Na interpredição, a varredura diagonal é usada.[054] In interprediction, diagonal scanning is used.

[055] Quando o tamanho da unidade de transformada é maior que o segundo tamanho, os indicadores significativos, os sinais de coeficiente e os níveis de coeficiente são varridos inversamente na unidade de subconjunto usando-se o padrão de varredura inversa determinado de modo a se gerarem subconjuntos, e os subconjuntos são varridos inversamente de modo a se gerar o bloco quantizado. O segundo tamanho é 4x4. O tamanho do subconjunto pode ser um bloco de 4x4 ou um bloco não quadrado determinado pelo padrão de varredura. O bloco não quadrado inclui 16 coeficientes de transformada. Por exemplo, o tamanho do subconjunto é 8x2 para a varredura horizontal, 2x8 para a varredura vertical e 4x4 para a varredura diagonal.[055] When the size of the transform unit is greater than the second size, the significant indicators, coefficient signals, and coefficient levels are inversely scanned in the subset unit using the inverse scan pattern determined so as to generate subsets, and the subsets are inversely scanned in order to generate the quantized block. The second size is 4x4. The subset size can be a 4x4 block or a non-square block determined by the scan pattern. The non-square block includes 16 transform coefficients. For example, the subset size is 8x2 for horizontal scan, 2x8 for vertical scan, and 4x4 for diagonal scan.

[056] O padrão de varredura inversa usado para gerar cada subconjunto é o mesmo padrão de varredura inversa usado para gerar o bloco quantizado. Os indicadores significativos, os sinais de coeficiente e os níveis de coeficiente são varridos inversamente na direção inversa. Os subconjuntos são também varridos inversamente na direção inversa.[056] The inverse scan pattern used to generate each subset is the same inverse scan pattern used to generate the quantized block. Significant indicators, coefficient signs and coefficient levels are reversely swept in the reverse direction. Subsets are also reverse-swept in the reverse direction.

[057] A última posição de coeficiente não zero e os indicadores de subconjunto não zero são recebidos do codificador. O número de subconjuntos codificados é determinado de acordo com a última posição de coeficiente não zero e o padrão de varredura inversa. Os indicadores de subconjunto não zero são usados para se- lecionar subconjuntos a serem gerados. O subconjunto principal e o último subconjunto são gerados usando-se o padrão de varredura inversa.[057] The last non-zero coefficient position and non-zero subset pointers are received from the encoder. The number of coded subsets is determined according to the last non-zero coefficient position and the inverse scan pattern. Non-zero subset indicators are used to select subsets to be generated. The main subset and the last subset are generated using the inverse scan pattern.

[058] A unidade de quantização inversa 203 recebe o parâmetro de quanti- zação diferencial da unidade de decodificação por entropia e gera o preditor de parâmetros de quantização. O preditor de parâmetros de quantização é gerado através da mesma operação da unidade de quantização 104 da Figura 1. Em seguida, a unidade de quantização inversa 203 adiciona o parâmetro de quantização diferencial e o preditor de parâmetros de quantização de modo a gerar o parâmetro de quanti- zação da unidade de codificação atual. Se o tamanho da unidade de codificação atual for igual ao ou maior que o tamanho mínimo da unidade de quantização e o parâmetro de quantização diferencial para a unidade de codificação atual não for recebido do codificador, o parâmetro de quantização diferencial é definido em 0.[058] The inverse quantization unit 203 receives the differential quantization parameter from the entropy decoding unit and generates the quantization parameter predictor. The quantization parameter predictor is generated by the same operation as the quantization unit 104 of Figure 1. Then, the inverse quantization unit 203 adds the differential quantization parameter and the quantization parameter predictor in order to generate the quantization parameter. quantization of the current encoding unit. If the current encoding unit size is equal to or greater than the minimum quantization unit size and the differential quantization parameter for the current encoding unit is not received from the encoder, the differential quantization parameter is set to 0.

[059] A unidade de quantização inversa 203 quantiza inversamente o bloco quantizado.[059] Inverse quantize unit 203 inversely quantizes the quantized block.

[060] A unidade de transformada inversa 204 transforma inversamente o bloco quantizado por inversão de modo a se restaurar um bloco residual. O tipo de transformada inversa é determinado adaptativamente de acordo com o modo de predição e o tamanho da unidade de transformada. O tipo de transformada inversa é a transformada de número inteiro baseada em DCT ou a transformada de número inteiro baseada em DST. Na interpredição, por exemplo, são usadas transformadas de número inteiro baseadas em DCT. No modo de intrapredição, se o tamanho da unidade de transformada for menor que um tamanho predeterminado, são usadas as transformadas de número inteiro baseadas em DST, caso contrário são usadas as transformada de número inteiro baseadas em DCT.[060] The inverse transform unit 204 inversely transforms the inverse quantized block so that a residual block is restored. The type of inverse transform is adaptively determined according to the prediction mode and the size of the transform unit. The inverse transform type is the DCT-based integer transform or the DST-based integer transform. In interprediction, for example, DCT-based integer transforms are used. In intraprediction mode, if the size of the transform unit is less than a predetermined size, DST-based integer transforms are used, otherwise DCT-based integer transforms are used.

[061] A unidade de intrapredição 208 restaura o modo de intrapredição da unidade de predição atual usando as informações de intrapredição recebidas e gera um bloco de predição de acordo com o modo de intrapredição restaurado.[061] The intraprediction unit 208 resets the intraprediction mode of the current prediction unit using the received intraprediction information and generates a prediction block according to the restored intraprediction mode.

[062] A unidade de interpredição 209 restaura as informações sobre movimento da unidade de predição atual usando as informações de interpredição recebidas e gera um bloco de predição usando as informações sobre movimento.[062] The interprediction unit 209 restores the motion information from the current prediction unit using the received interprediction information and generates a prediction block using the motion information.

[063] A unidade de pós-processamento 206 funciona da mesma maneira que a unidade de pós-processamento 110 da Figura 1.[063] The post-processing unit 206 works the same as the post-processing unit 110 of Figure 1.

[064] A unidade de armazenamento de imagens 207 recebe a imagem pós- processada da unidade de pós-processamento 206 e armazena a imagem em unidades de imagem. Uma imagem pode ser um quadro ou um campo.[064] The image storage unit 207 receives the post-processed image from the post-processing unit 206 and stores the image in image units. An image can be a frame or a field.

[065] O adicionador 205 adiciona o bloco residual restaurado e um bloco de predição de modo a gerar um bloco reconstruído.[065] The adder 205 adds the restored residual block and a prediction block in order to generate a reconstructed block.

[066] A Figura 3 é um fluxograma que mostra um procedimento de gerar um bloco reconstruído na intrapredição de acordo com a presente invenção.[066] Figure 3 is a flowchart that shows a procedure to generate a reconstructed block in intraprediction according to the present invention.

[067] Em primeiro lugar, é derivado um modo de intrapredição da unidade de predição atual (S1100).[067] First, an intraprediction mode is derived from the current prediction unit (S1100).

[068] A Figura 4 é um fluxograma que mostra um procedimento de derivar o modo de intrapredição da unidade de predição atual de acordo com a presente invenção.[068] Figure 4 is a flowchart showing a procedure of deriving the intraprediction mode from the current prediction unit according to the present invention.

[069] Os parâmetros de intrapredição da unidade de predição atual são extraídos de um fluxo de bits recebido (S1110).[069] The intraprediction parameters of the current prediction unit are extracted from a received bit stream (S1110).

[070] Os parâmetros de intrapredição são um indicador de grupo de modos e um índice de modo de predição. O indicador de grupo de modos é um indicador que indica se o modo de intrapredição da unidade de predição atual pertence a um grupo de modos mais prováveis (grupo MPM). Se o indicador for 1, a unidade de intrapre- dição da unidade de predição atual pertence ao grupo MPM. Se o indicador for 0, a unidade de intrapredição da unidade de predição atual pertence ao grupo de modos residuais. O grupo de modos residuais inclui todos os modos de intrapredição que não os modos de intrapredição do grupo MPM. O índice de modo de predição espe- cifica o modo de intrapredição da unidade de predição atual dentro do grupo especificado pelo indicador de grupo de modos.[070] The intraprediction parameters are a mode group indicator and a prediction mode index. The mode group indicator is an indicator that indicates whether the intraprediction mode of the current prediction unit belongs to a most likely mode group (MPM group). If the indicator is 1, the intraprediction unit of the current prediction unit belongs to the MPM group. If the indicator is 0, the intraprediction unit of the current prediction unit belongs to the residual modes group. The residual modes group includes all intraprediction modes other than the MPM group intraprediction modes. The prediction mode index specifies the intraprediction mode of the current prediction unit within the group specified by the mode group indicator.

[071] O grupo MPM é construído usando-se os modos de intrapredição das unidades de predição vizinhas (S1120). Os modos de intrapredição do grupo MPM são determinados adaptativamente pelo modo de intrapredição à esquerda e pelo modo de intrapredição acima. O modo de intrapredição à esquerda é o modo de in- trapredição da unidade de predição vizinha esquerda, e o modo de intrapredição acima é o modo de intrapredição da unidade de predição vizinha acima. O grupo MPM é constituído por três modos de intrapredição.[071] The MPM group is built using the intraprediction modes of the neighboring prediction units (S1120). The intraprediction modes of the MPM group are adaptively determined by the intraprediction mode on the left and the intraprediction mode above. The left intraprediction mode is the left neighbor prediction unit's intraprediction mode, and the above intraprediction mode is the above neighbor prediction unit's intraprediction mode. The MPM group consists of three intraprediction modes.

[072] Se a unidade de predição vizinha esquerda ou acima não existir, o modo de intrapredição da unidade vizinha esquerda ou acima é definido como indisponível. Por exemplo, se a unidade de predição atual estiver localizada na fronteira esquerda ou superior de uma imagem, a unidade de predição vizinha esquerda ou acima não existe. Se a unidade vizinha esquerda ou acima estiver localizada dentro de outra fatia ou outra justaposição, o modo de intrapredição da unidade vizinha esquerda ou acima é definido como indisponível. Se a unidade vizinha esquerda ou acima for inter-codificada, o modo de intrapredição da unidade vizinha esquerda ou acima é definido como indisponível. Se a unidade vizinha acima estiver localizada dentro de outra LCU, o modo de intrapredição da unidade vizinha esquerda ou aci-ma é definido como indisponível.[072] If the left or above neighbor prediction unit does not exist, the intraprediction mode of the left or above neighbor unit is set to unavailable. For example, if the current prediction unit is located on the left or top boundary of an image, the left neighbor or above prediction unit does not exist. If the left or above neighbor unit is located within another slice or another juxtaposition, the intraprediction mode of the left or above neighbor unit is set to unavailable. If the left or above neighbor unit is intercoded, the intraprediction mode of the left or above neighbor unit is set to unavailable. If the above neighbor unit is located inside another LCU, the intraprediction mode of the left or above neighbor unit is set to unavailable.

[073] A Figura 5 é um diagrama conceptual que mostra modos de intrapredi- ção de acordo com a presente invenção. Conforme mostrado na Figura 5, o número de modos de intrapredição é 35. O modo DC e o modo planar são modos de intra- predição não direcionais e os outros são modos de intrapredição direcionais.[073] Figure 5 is a conceptual diagram that shows intraprediction modes according to the present invention. As shown in Figure 5, the number of intra-prediction modes is 35. DC mode and planar mode are non-directional intra-prediction modes and the others are directional intra-prediction modes.

[074] Quanto tanto o modo de intrapredição à esquerda quanto o modo de intrapredição acima estão disponíveis e são diferentes um do outro, o modo de in- trapredição à esquerda e o modo de intrapredição acima são incluídos no grupo MPM e um modo de intrapredição adicional é acrescentado ao grupo MPM. O índice 0 é atribuído a um modo de intrapredição de número de modos pequeno e o indica 1 é atribuído ao outro. Ou o índice 0 é atribuído ao modo de intrapredição à esquerda e o índice 1 é atribuído ao modo de intrapredição acima. O modo de intrapredição adicionado é determinado pelos modos de intrapredição à esquerda e acima da maneira seguinte.[074] When both the left intraprediction mode and the above intraprediction mode are available and are different from each other, the leftmost intraprediction mode and the above intraprediction mode are included in the MPM group and an intraprediction mode additional is added to the MPM group. The index 0 is assigned to a small number of modes intraprediction mode and the indicates 1 is assigned to the other. Or index 0 is assigned to the left intraprediction mode and index 1 is assigned to the intraprediction mode above. The added intraprediction mode is determined by the intraprediction modes on the left and above as follows.

[075] Se um dos modos de intrapredição à esquerda e acima for um modo não direcional e o outro for um modo direcional, o outro modo não direcional é adicionado ao grupo MPM. Por exemplo, se um dos modos de intrapredição à esquerda e acima for o modo DC, o modo planar é adicionado ao grupo MPM. Se um dos modos de intrapredição à esquerda e acima for o modo planar, o modo DC é adicionado ao grupo MPM. Se ambos os modos de intrapredição à esquerda e acima forem modos não direcionais, o modo vertical é adicionado ao grupo MPM. Se ambos os modos de intrapredição à esquerda e acima forem modos direcionais, o modo DC ou o modo planar é adicionado ao grupo MPM.[075] If one of the intraprediction modes on the left and above is a non-directional mode and the other is a directional mode, the other non-directional mode is added to the MPM group. For example, if one of the intraprediction modes on the left and above is DC mode, then planar mode is added to the MPM group. If one of the intraprediction modes on the left and above is planar mode, DC mode is added to the MPM group. If both the left and above intraprediction modes are non-directional modes, the vertical mode is added to the MPM group. If both left and above intraprediction modes are directional modes, DC mode or planar mode is added to the MPM group.

[076] Quando apenas um dos modos de intrapredição à esquerda e acima estiver disponível, o modo de intrapredição disponível é incluído no grupo MPM e dois modos de intrapredição adicionais são acrescentados ao grupo MPM. Os dois modos de intrapredição adicionados são determinados pelos modos de intrapredição disponíveis da maneira seguinte.[076] When only one of the intraprediction modes on the left and above is available, the available intraprediction mode is added to the MPM group and two additional intraprediction modes are added to the MPM group. The two added intraprediction modes are determined by the available intraprediction modes as follows.

[077] Se o modo de intrapredição disponível for um modo não direcional, o outro modo não direcional e o modo vertical são adicionados ao grupo MPM. Por exemplo, se o modo de intrapredição disponível for o modo DC, o modo planar e o modo vertical são adicionados ao grupo MPM. Se o modo de intrapredição disponível for o modo planar, o modo DC e o modo vertical são adicionados ao grupo MPM. Se o modo de intrapredição disponível for um modo direcional, dois modos não direcionais (modo DC e modo planar) são adicionados ao grupo MPM.[077] If the available intraprediction mode is a non-directional mode, the other non-directional mode and vertical mode are added to the MPM group. For example, if the available intraprediction mode is DC mode, then planar mode and vertical mode are added to the MPM group. If the available intraprediction mode is planar mode, DC mode and vertical mode are added to the MPM group. If the available intraprediction mode is a directional mode, two non-directional modes (DC mode and planar mode) are added to the MPM group.

[078] Quanto tanto o modo de intrapredição à esquerda quanto o modo de intrapredição acima estiverem disponíveis e forem idênticos entre si, o modo de in- trapredição disponível é incluído no grupo MPM e dois modos de intrapredição adicionais são acrescentados ao grupo MPM. Os dois modos de intrapredição adicionados são determinados pelos modos de intrapredição disponíveis da maneira seguinte.[078] When both the left intraprediction mode and the above intraprediction mode are available and are identical to each other, the available intraprediction mode is added to the MPM group and two additional intraprediction modes are added to the MPM group. The two added intraprediction modes are determined by the available intraprediction modes as follows.

[079] Se o modo de intrapredição disponível for um modo direcional, dois modos direcionais vizinhos são adicionados ao grupo MPM. Por exemplo, se o modo de intrapredição disponível for o modo 23, o modo vizinho à esquerda (modo 1) e o modo vizinho direito (modo 13) são adicionados ao grupo MPM. Se o modo de intra- predição disponível for o modo 30, os dois modos vizinhos (modo 2 e modo 16) são adicionados ao grupo MPM. Se o modo de intrapredição disponível for um modo não direcional, o outro modo não direcional e o modo vertical são adicionados ao grupo MPM. Por exemplo, se o modo de intrapredição disponível for o modo DC, o modo planar e o modo vertical são adicionados ao grupo MPM.[079] If the available intraprediction mode is a directional mode, two neighboring directional modes are added to the MPM group. For example, if the available intraprediction mode is mode 23, the left neighbor mode (mode 1) and the right neighbor mode (mode 13) are added to the MPM group. If the available intraprediction mode is mode 30, the two neighbor modes (mode 2 and mode 16) are added to the MPM group. If the available intraprediction mode is a non-directional mode, the other non-directional mode and vertical mode are added to the MPM group. For example, if the available intraprediction mode is DC mode, then planar mode and vertical mode are added to the MPM group.

[080] Quando tanto o modo de intrapredição à esquerda quanto o modo de intrapredição acima estiverem indisponíveis, três modos de intrapredição adicionais são acrescentados ao grupo MPM. Os três modos de intrapredição são o modo DC, o modo planar e o modo vertical. Os índices 0, 1 e 2 são atribuídos aos três modos de intrapredição na ordem modo DC, modo planar e modo vertical ou na ordem modo planar, modo DC e o modo vertical.[080] When both the left intraprediction mode and the above intraprediction mode are unavailable, three additional intraprediction modes are added to the MPM group. The three intraprediction modes are DC mode, planar mode, and vertical mode. The indices 0, 1 and 2 are assigned to the three intraprediction modes in order of DC mode, planar mode and vertical mode or in order of planar mode, DC mode and vertical mode.

[081] É determinado se o indicador de grupo de modos indica o grupo MPM (S1130).[081] It is determined whether the mode group indicator indicates the MPM group (S1130).

[082] Se o indicador de grupo de modos indicar o grupo MPM, a intrapredi- ção do grupo MPM especificada pelo índice de modo de predição é fixada como o modo de intrapredição da unidade de predição atual (S1140).[082] If the mode group indicator indicates the MPM group, the MPM group intraprediction specified by the prediction mode index is fixed as the intraprediction mode of the current prediction unit (S1140).

[083] Se o indicador de grupo de modos não indicar o grupo MPM, as três in- tra-predições do grupo PM são reordenadas na ordem de número de modos (S1150). Entre os três modos de intrapredição do grupo MPM, o modo de intrapredi- ção com número de modos mais baixo é definido em um primeiro candidato, o modo de intrapredição com número de modos intermediário é definido em um segundo candidato e o modo de intrapredição com número de modos mais elevado é definido em um terceiro candidato.[083] If the mode group indicator does not indicate the MPM group, the three intrapredictions of the PM group are reordered in order of mode number (S1150). Among the three intraprediction modes of the MPM group, the intraprediction mode with the lowest number of modes is defined in a first candidate, the intraprediction mode with intermediate number of modes is defined in a second candidate, and the intraprediction mode with higher number of modes is defined in a third candidate.

[084] O índice de modo de predição é comparado com o primeiro candidato (S1160). Se o índice de modo de predição for igual ao ou maior que o primeiro candidato do grupo MPM, o valor do índice de modo de predição é aumentado em um. Caso contrário, o valor do índice de modo de predição é mantido.[084] The prediction mode index is compared with the first candidate (S1160). If the prediction mode index is equal to or greater than the first candidate of the MPM group, the value of the prediction mode index is increased by one. Otherwise, the predictive mode index value is kept.

[085] O índice de modo de predição é comparado com o segundo candidato (S1170). Se o índice de modo de predição for igual ao ou maior que o segundo candidato do grupo MPM, o valor do índice de modo de predição é aumentado em um. Caso contrário, o valor do índice de modo de predição é mantido.[085] The prediction mode index is compared with the second candidate (S1170). If the predictive mode index is equal to or greater than the second candidate of the MPM group, the predictive mode index value is increased by one. Otherwise, the predictive mode index value is kept.

[086] O índice de modo de predição é comparado com o terceiro candidato (S1180). Se o índice de modo de predição for igual ao ou maior que o terceiro candidato do grupo MPM, o valor do índice de modo de predição é aumentado em um. Caso contrário, o valor do índice de modo de predição é mantido.[086] The prediction mode index is compared with the third candidate (S1180). If the predictive mode index is equal to or greater than the third candidate of the MPM group, the predictive mode index value is increased by one. Otherwise, the predictive mode index value is kept.

[087] O valor do índice de modo de predição final é definido como o número de modos do modo de intrapredição da unidade de predição atual (S1190).[087] The final prediction mode index value is defined as the number of intraprediction mode modes of the current prediction unit (S1190).

[088] Em seguida, o tamanho do bloco atual é determinado de modo a se gerar um bloco de predição (S1200).[088] Next, the current block size is determined in order to generate a prediction block (S1200).

[089] O tamanho do bloco atual é igual ao tamanho da unidade de transformada. O tamanho do bloco atual é determinado usando-se o tamanho da unidade de predição e informações sobre tamanho de transformada. Um bloco de predição e um bloco residual do bloco atual têm o mesmo tamanho da unidade de transformada. As informações sobre tamanho de transformada incluem um ou mais split_tu_flags usa- dos para indicar a estrutura dividida.[089] The current block size is equal to the size of the transform unit. The current block size is determined using the prediction unit size and transform size information. A prediction block and a residual block of the current block have the same size as the transform unit. Transform size information includes one or more split_tu_flags used to indicate the split structure.

[090] Se o tamanho da unidade de transformada for igual ao tamanho da unidade de predição atual, a unidade de predição atual é fixada como o bloco atual.[090] If the size of the transform unit is equal to the size of the current prediction unit, the current prediction unit is fixed as the current block.

[091] Se o tamanho da unidade de transformada for menor que o tamanho da unidade de predição atual, a unidade de predição é constituída por uma série de sub-blocos. Cada sub-bloco é definido como o bloco atual. Neste caso, as etapas S1300, S1400 e S1500 são executadas para o primeiro sub-bloco da unidade de predição. Em seguida, as etapas S1300, S1400 e S1500 são executadas repetidamente para os sub-blocos restantes da unidade de predição em ordem de decodifi- cação. O mesmo modo de intrapredição é usado para todos os sub-blocos dentro da unidade de predição.[091] If the size of the transform unit is smaller than the size of the current prediction unit, the prediction unit is made up of a series of sub-blocks. Each sub-block is defined as the current block. In this case, steps S1300, S1400 and S1500 are performed for the first sub-block of the prediction unit. Then, steps S1300, S1400 and S1500 are performed repeatedly for the remaining sub-blocks of the prediction unit in decoding order. The same intraprediction mode is used for all subblocks within the prediction unit.

[092] Em seguida, um bloco de predição é gerado de acordo com o modo de intrapredição (S1300).[092] Next, a prediction block is generated according to the intraprediction mode (S1300).

[093] A Figura 6 é um fluxograma que mostra um procedimento de gerar o bloco de predição de acordo com a presente invenção.[093] Figure 6 is a flowchart that shows a procedure of generating the prediction block according to the present invention.

[094] É determinado se todos os pixels de referência do bloco atual estão disponíveis, e pixels de referência são gerados se um ou mais pixels de referência estiverem indisponíveis (S1210). O bloco atual é a unidade de predição atual ou o sub-bloco da unidade de predição atual. O tamanho do bloco atual é o tamanho da unidade de transformada.[094] It is determined whether all reference pixels of the current block are available, and reference pixels are generated if one or more reference pixels are unavailable (S1210). The current block is the current prediction unit or the sub-block of the current prediction unit. The current block size is the size of the transform unit.

[095] A Figura 7 é um diagrama conceptual que mostra posições dos pixels de referência do bloco atual de acordo com a presente invenção. Conforme mostrado na Figura 7, os pixels de referência do bloco atual são constituídos pelos pixels de referência acima localizados em (x=0,..., 2N-1, y=-1), pelos pixels de referência à esquerda localizados em (x=1-, y=0, ..., 2M-1) e por um pixel de canto localizado em (x=-1). N é a largura do bloco atual e M é a altura do bloco atual.[095] Figure 7 is a conceptual diagram showing positions of the reference pixels of the current block according to the present invention. As shown in Figure 7, the reference pixels of the current block are made up of the above reference pixels located at (x=0,..., 2N-1, y=-1), the left reference pixels located at ( x=1-, y=0, ..., 2M-1) and by a corner pixel located at (x=-1). N is the current block width and M is the current block height.

[096] Se um ou mais pixels de referência estiverem indisponíveis, um ou mais pixels de referência são gerados da maneira seguinte.[096] If one or more reference pixels are unavailable, one or more reference pixels are generated as follows.

[097] Se todos os pixels de referência estiverem indisponíveis, um valor constante substitui os valores de todos os pixels de referência. O valor constante é 2L-1, e o valor de L é o número de bits usados para representar o valor de pixel de luminância.[097] If all reference pixels are unavailable, a constant value replaces the values of all reference pixels. The constant value is 2L-1, and the value of L is the number of bits used to represent the luminance pixel value.

[098] Se os pixels de referência disponíveis estiverem localizados em apenas um lado do pixel de referência indisponível, o valor do pixel de referência mais próximo do pixel indisponível substitui o pixel de referência indisponível.[098] If the available reference pixels are located on only one side of the unavailable reference pixel, the reference pixel value closest to the unavailable pixel replaces the unavailable reference pixel.

[099] Se os pixels de referência disponíveis estiverem localizados em ambos os lados do pixel de referência indisponível, o valor do pixel de referência mais próximo do pixel indisponível em uma direção predeterminada substitui cada pixel de referência indisponível.[099] If the available reference pixels are located on either side of the unavailable reference pixel, the reference pixel value closest to the unavailable pixel in a predetermined direction replaces each unavailable reference pixel.

[0100] Os pixels de referência são filtrados adaptativamente com base no modo de intrapredição e no tamanho do bloco atual (S1200). O tamanho do bloco atual é o tamanho da unidade de transformada.[0100] Reference pixels are adaptively filtered based on intraprediction mode and current block size (S1200). The current block size is the size of the transform unit.

[0101] No modo DC, os pixels de referência não são filtrados. No modo vertical e no modo horizontal, os pixels de referência não são filtrados. Nos modos direcionais que não os modos vertical e horizontal, os pixels de referência são filtrados adaptativamente de acordo com o tamanho do bloco atual.[0101] In DC mode, reference pixels are not filtered. In vertical mode and horizontal mode, reference pixels are not filtered. In directional modes other than vertical and horizontal modes, reference pixels are adaptively filtered according to the current block size.

[0102] Se o tamanho do bloco atual for 4x4, os pixels de referência não são filtrados em todos os modos de intrapredição. Para os tamanhos 8x8, 16x16 e 32x32, o número de modos de intrapredição nos quais os pixels de referência são filtrados aumenta à medida que o tamanho do bloco atual se torna maior.[0102] If current block size is 4x4, reference pixels are not filtered in all intraprediction modes. For 8x8, 16x16, and 32x32 sizes, the number of intraprediction modes in which reference pixels are filtered increases as the current block size becomes larger.

[0103] Um bloco de predição do bloco atual é gerado usando-se os pixels de referência de acordo com o modo de intrapredição restaurado (S1230).[0103] A prediction block of the current block is generated using the reference pixels according to the restored intraprediction mode (S1230).

[0104] No modo DC, os pixels de predição são gerados copiando-se o valor médio dos N pixels de referência localizados em (x=0,...N-1, y=-1) e dos M pixels de referência localizados em (x=-1, y=0,..M-1). O pixel de predição adjacente ao pixel de referência é filtrado por um ou dois pixels de referência adjacentes.[0104] In DC mode, prediction pixels are generated by copying the average value of the N reference pixels located at (x=0,...N-1, y=-1) and the M reference pixels located at (x=0,...N-1, y=-1) in (x=-1, y=0,...M-1). The prediction pixel adjacent to the reference pixel is filtered by one or two adjacent reference pixels.

[0105] No modo vertical, os pixels de predição são gerados copiando-se o valor do pixel de referência correspondente. Os pixels de predição adjacentes ao pixel de referência à esquerda são filtrados usando-se o pixel de canto e o pixel vizinho à esquerda.[0105] In vertical mode, prediction pixels are generated by copying the corresponding reference pixel value. Prediction pixels adjacent to the left reference pixel are filtered using the corner pixel and the left neighboring pixel.

[0106] No modo horizontal, os pixels de predição são gerados copiando-se o valor do pixel de referência correspondente horizontal. Os pixels de predição adjacentes ao pixel de referência acima são filtrados usando-se o pixel de canto e o pixel vizinho superior.[0106] In horizontal mode, prediction pixels are generated by copying the value of the corresponding horizontal reference pixel. Prediction pixels adjacent to the above reference pixel are filtered out using the corner pixel and the upper neighbor pixel.

[0107] Em seguida, um bloco residual é gerado de acordo com o modo de in- trapredição (S1400).[0107] Then a residual block is generated according to the intraprediction mode (S1400).

[0108] A Figura 8 é um fluxograma que mostra um procedimento de gerar o bloco residual de acordo com a presente invenção.[0108] Figure 8 is a flowchart that shows a procedure of generating the residual block according to the present invention.

[0109] Os sinais residuais codificados são decodificados por entropia de modo a se gerarem informações sobre coeficientes quantizados. Quando a CABAC é usada para codificação por entropia, as informações sobre coeficientes incluem indicadores significativos, sinais de coeficiente e níveis de coeficiente. O indicador significativo indica se o coeficiente de transformada quantizado correspondente é zero ou não. O sinal de coeficiente indica um sinal de coeficiente de transformada quantiza- do não zero e o nível de coeficiente indica o valor absoluto de coeficientes de transformada quantizados não zero.[0109] The encoded residual signals are entropy decoded in order to generate information about quantized coefficients. When CABAC is used for entropy coding, information about coefficients includes significant indicators, coefficient signs, and coefficient levels. The significant indicator indicates whether the corresponding quantized transform coefficient is zero or not. The coefficient sign indicates a non-zero quantized transform coefficient sign and the coefficient level indicates the absolute value of non-zero quantized transform coefficients.

[0110] Um padrão de varredura inversa é determinado e um bloco quantiza- do é gerado de acordo com o padrão de varredura inversa (S1420). A etapa é executada pela unidade de varredura inversa 220 da Figura 2. Portanto, a mesma operação da unidade de varredura inversa 220 é executada para determinar o padrão de varredura inversa e para gerar o bloco quantizado.[0110] A reverse scan pattern is determined and a quantized block is generated according to the reverse scan pattern (S1420). The step is performed by the inverse scan unit 220 of Figure 2. Therefore, the same operation as the inverse scan unit 220 is performed to determine the inverse scan pattern and to generate the quantized block.

[0111] O bloco quantizado é quantizado inversamente usando-se um parâmetro de quantização (S1430).[0111] The quantized block is inversely quantized using a quantize parameter (S1430).

[0112] A Figura 9 é um fluxograma que mostra um procedimento de derivar um parâmetro de quantização de acordo com a presente invenção[0112] Figure 9 is a flowchart showing a procedure of deriving a quantization parameter according to the present invention

[0113] O tamanho mínimo da unidade de quantização é derivado (S1431). O tamanho mínimo da unidade de quantização é igual ao tamanho da LCU ou ao tamanho de um sub-bloco da LCU. O tamanho mínimo da unidade de quantização é determinado por imagem. Um parâmetro (cu_qp_delta_enabled_info) que especifica a profundidade do tamanho mínimo da unidade de quantização é extraído de PPS. O tamanho mínimo da unidade de quantização é derivado da equação seguinte: Log2(MinQUSize) = Log2(MaxCUSize)-cu_qp_delta_enabled_Info[0113] The minimum size of the quantization unit is derived (S1431). The minimum size of the quantization unit is equal to the LCU size or the size of an LCU sub-block. The minimum size of the quantization unit is determined per image. A parameter (cu_qp_delta_enabled_info) that specifies the depth of the minimum quantization unit size is extracted from PPS. The minimum quantization unit size is derived from the following equation: Log2(MinQUSize) = Log2(MaxCUSize)-cu_qp_delta_enabled_Info

[0114] O MinQUSize é o tamanho mínimo da unidade de quantização. O MaxCUSize é o tamanho da LCU. Apenas um parâmetro é usado para derivar o tamanho mínimo da unidade de quantização.[0114] MinQUSize is the minimum size of the quantization unit. MaxCUSize is the LCU size. Only one parameter is used to derive the minimum quantization unit size.

[0115] O parâmetro de quantização diferencial (dQP) da unidade de codificação atual é restaurado (S1432). O dQP é restaurado por unidade de quantização. Por exemplo, se o tamanho da unidade de codificação atual for igual ao ou maior que o tamanho mínimo da unidade de quantização, o dQP é restaurado para a unidade de codificação atual. Se a unidade de codificação atual não contiver um dQP codificado, o dQP é definido em zero. Se a unidade de quantização incluir várias unidades de codificação, a primeira unidade de codificação que contiver o dQP e a unidade de codificação seguinte dentro da unidade de quantização têm o mesmo dQP.[0115] The differential quantization parameter (dQP) of the current encoding unit is reset (S1432). The dQP is reset per quantization unit. For example, if the current encoding unit size is equal to or greater than the minimum quantization unit size, the dQP is reset to the current encoding unit. If the current encoding unit does not contain an encoded dQP, the dQP is set to zero. If the quantization unit includes several coding units, the first coding unit that contains the dQP and the next coding unit within the quantization unit have the same dQP.

[0116] O dQP codificado é aritmeticamente decodificado de modo a se gerar uma sequência de binários (bin string), e a sequência de binários é convertida no dQP. A sequência de binários compreende um binário para indicar se o dQP é zero ou não. Quando o dQP não é zero, a sequência de binários compreende também um binário para sinal do dQP e uma sequência de binários para indicar o valor absoluto do dQP.[0116] The encoded dQP is arithmetically decoded in order to generate a binary sequence (bin string), and the binary sequence is converted into the dQP. The binary sequence comprises a binary to indicate whether the dQP is zero or not. When the dQP is non-zero, the binary sequence also comprises a binary to sign the dQP and a binary sequence to indicate the absolute value of the dQP.

[0117] Um preditor de parâmetros de quantização da unidade de codificação atual é gerado (S1433). O preditor de parâmetros de codificação é gerado usando- se a mesma operação da unidade de quantização inversa 230 da Figura 2.[0117] A predictor of quantization parameters of the current encoding unit is generated (S1433). The encoding parameter predictor is generated using the same operation as the inverse quantization unit 230 of Figure 2.

[0118] Se a unidade de quantização incluir várias unidades de codificação, o preditor de parâmetros de codificação da primeira unidade de codificação na ordem de codificação é gerado, e o preditor de parâmetros de codificação gerado é usado para todas as unidades de codificação dentro da unidade de quantização.[0118] If the quantization unit includes several encoding units, the encoding parameter predictor of the first encoding unit in the encoding order is generated, and the generated encoding parameter predictor is used for all encoding units within the quantization unit.

[0119] O parâmetro de quantização é gerado usando-se o dQP e o preditor de parâmetros de codificação (S1434).[0119] The quantization parameter is generated using the dQP and encoding parameter predictor (S1434).

[0120] Entrementes, são também restauradas as matrizes de quantização definidas pelo usuário. Um conjunto das matrizes de quantização definidas pelo usuário é recebido do aparelho de codificação através do SPS ou do PPS. A matriz de quantização definida pelo usuário é restaurada usando-se DPCM inversa. A varredura diagonal é usada para a DPCM. Quando o tamanho da matriz de quantização definida pelo usuário é maior que 8x8, a matriz de quantização definida pelo usuário é restaurada pela amostragem ascendente dos coeficientes da matriz de quantiza- ção 8x8 recebida. O coeficiente DC da matriz de quantização definida pelo usuário é extraído do SPS ou do PPS. Por exemplo, se o tamanho da matriz de quantização definida pelo usuário for 16x16, os coeficientes da matriz de quantização 8x8 recebida são amostrados de maneira ascendente usando-se amostragem ascendente 1:4.[0120] Meanwhile, user-defined quantization matrices are also reset. A set of user-defined quantization matrices is received from the encoding device via the SPS or PPS. The user defined quantization matrix is restored using inverse DPCM. Diagonal scanning is used for DPCM. When the size of the user-defined quantization matrix is greater than 8x8, the user-defined quantization matrix is restored by ascending sampling of the coefficients of the received 8x8 quantization matrix. The DC coefficient of the user-defined quantization matrix is extracted from SPS or PPS. For example, if the size of the user-defined quantization matrix is 16x16, the received 8x8 quantization matrix coefficients are upsampled using 1:4 upsampling.

[0121] Um bloco residual é gerado transformando-se inversamente o bloco quantizado por inversão (S1440). O tipo de transformada inversa é determinada adaptativamente de acordo com o modo de predição e o tamanho da unidade de transformada. O tipo de transformada inversa é a transformada de número inteiro baseada em DCT ou a transformada de número inteira baseada em DST. No modo de intrapredição, se o tamanho da unidade de transformada for menor que um tamanho predeterminado, são usadas as transformadas de número inteiro baseadas em DST, caso contrário são usadas as transformadas de número inteiro baseadas em DCT.[0121] A residual block is generated by inversely transforming the inverse quantized block (S1440). The type of inverse transform is adaptively determined according to the prediction mode and the size of the transform unit. The inverse transform type is the DCT-based integer transform or the DST-based integer transform. In intraprediction mode, if the size of the transform unit is less than a predetermined size, DST-based integer transforms are used, otherwise DCT-based integer transforms are used.

[0122] Em seguida, um bloco reconstruído é gerado adicionando-se o bloco de predição e o bloco residual (S1500).[0122] Next, a reconstructed block is generated by adding the prediction block and the residual block (S1500).

[0123] A Figura 10 é um diagrama de blocos que mostra um aparelho 300 para gerar um bloco reconstruído de acordo com a presente invenção.[0123] Figure 10 is a block diagram showing an apparatus 300 for generating a reconstructed block according to the present invention.

[0124] Conforme mostrado na Figura 10, o aparelho 300 de acordo com a presente invenção inclui uma unidade de derivação de modo de intrapredição 310, uma unidade de determinação de tamanho de predição 320, uma unidade de geração de blocos de predição 330, uma unidade de geração de blocos residuais 340 e uma unidade de geração de blocos reconstruídos 350.[0124] As shown in Figure 10, the apparatus 300 according to the present invention includes an intraprediction mode derivation unit 310, a prediction size determining unit 320, a prediction block generation unit 330, a residual block generation unit 340 and a reconstructed block generation unit 350.

[0125] A unidade de derivação de modos de intrapredição 310 deriva o modo de intrapredição da unidade de predição atual. A unidade de derivação de modos de intrapredição 310 executa o mesmo procedimento da Figura 4 de modo a derivar o modo de intrapredição.[0125] The intraprediction mode derivation unit 310 derives the intraprediction mode from the current prediction unit. The intraprediction mode derivation unit 310 performs the same procedure as in Figure 4 in order to derive the intraprediction mode.

[0126] A unidade de determinação de tamanho de predição 320 determina o tamanho do bloco atual usando o tamanho da unidade de predição atual e as informações sobre tamanho de transformada. O tamanho do bloco atual é igual ao tamanho da unidade de transformada. Um bloco de predição e um bloco residual do bloco atual têm o mesmo tamanho da unidade de transformada. A unidade de predição atual ou um sub-bloco da unidade de predição atual é definido como o bloco atual com base nas informações sobre tamanho de transformada.[0126] Prediction size determination unit 320 determines the current block size using the current prediction unit size and transform size information. The current block size is equal to the transform unit size. A prediction block and a residual block of the current block have the same size as the transform unit. The current prediction unit or a sub-block of the current prediction unit is defined as the current block based on the transform size information.

[0127] A unidade de geração de blocos de predição 330 gera o bloco de predição do bloco atual usando o modo de intrapredição. A unidade de geração de blocos de predição 330 inclui um gerador de pixels de referência 331, um filtro de pixels de referência 332 e um gerador de blocos de predição 333.[0127] Prediction block generation unit 330 generates the prediction block of the current block using the intraprediction mode. The prediction block generation unit 330 includes a reference pixel generator 331, a reference pixel filter 332 and a prediction block generator 333.

[0128] O gerador de pixels de referência 331 gera pixels de referência se um ou mais pixels de referência do bloco atual estiverem indisponíveis. Se todos os pixels de referência estiverem indisponíveis, o valor de 2L-1 substitui os valores de todos os pixels de referência. O valor de L é o número de bits usados para representar o valor de pixel de luminância. Se os pixels de referência disponíveis estiverem localizados em apenas um lado do pixel de referência indisponível, o valor do pixel de referência mais próximo do pixel indisponível substitui o pixel de referência indisponível. Se os pixels de referência disponíveis estiverem localizados em ambos os lados do pixel de referência indisponível, o valor do pixel de referência mais próximo do pixel indisponível em uma direção predeterminada substitui cada pixel de referência indisponível.[0128] Reference pixel generator 331 generates reference pixels if one or more reference pixels from the current block are unavailable. If all reference pixels are unavailable, the value of 2L-1 replaces the values of all reference pixels. The value of L is the number of bits used to represent the luminance pixel value. If the available reference pixels are located on only one side of the unavailable reference pixel, the reference pixel value closest to the unavailable pixel replaces the unavailable reference pixel. If the available reference pixels are located on either side of the unavailable reference pixel, the reference pixel value closest to the unavailable pixel in a predetermined direction replaces each unavailable reference pixel.

[0129] O filtro de pixels de referência 332 filtra adaptativamente os pixels de referência com base no modo de intrapredição e no tamanho da unidade de transformada.[0129] Reference pixel filter 332 adaptively filters reference pixels based on intraprediction mode and transform unit size.

[0130] No modo DC, os pixels de referência não são filtrados. No modo vertical e no modo horizontal, os pixels de referência não são filtrados. Nos modos direcionais que não os modos vertical e horizontal, os pixels de referência são filtrados adaptativamente de acordo com o tamanho do bloco atual.[0130] In DC mode, reference pixels are not filtered. In vertical mode and horizontal mode, reference pixels are not filtered. In directional modes other than vertical and horizontal modes, reference pixels are adaptively filtered according to the current block size.

[0131] Se o tamanho do bloco atual for 4x4, os pixels de referência não são filtrados em todos os modos de intrapredição. Para os tamanhos 8x8, 16x16 e 32x32, o número de modos de intrapredição nos quais os pixels de referência são filtrados aumenta à medida que o tamanho do bloco atual se torna maior. Por exemplo, os pixels de referência não são filtrados no modo vertical e em um número predeterminado de modos de intrapredição vizinhos do modo vertical. Os pixels de referência também não são filtrados no modo horizontal e no número predeterminado de modos de intrapredição vizinhos do modo horizontal. O número predeterminado é um de 0-7 e diminui à medida que o tamanho do bloco atual aumenta.[0131] If current block size is 4x4, reference pixels are not filtered in all intraprediction modes. For 8x8, 16x16, and 32x32 sizes, the number of intraprediction modes in which reference pixels are filtered increases as the current block size becomes larger. For example, reference pixels are not filtered in vertical mode and a predetermined number of intraprediction modes neighboring vertical mode. The reference pixels are also unfiltered in the horizontal mode and the predetermined number of intraprediction modes neighboring the horizontal mode. The default number is one from 0-7 and decreases as the current block size increases.

[0132] O gerador de blocos de predição 33 gera um bloco de predição do bloco atual usando os pixels de referência de acordo com o modo de intrapredição.[0132] Prediction block generator 33 generates a prediction block of the current block using the reference pixels according to the intraprediction mode.

[0133] No modo DC, os pixels de predição são gerados copiando-se o valor médio dos N pixels de referência localizados em (x=0,...N-1, y=-1) e dos M pixels de referência localizados em (x=-1, y=0,..M-1). O pixel de predição adjacente ao pixel de referência é filtrado por um ou dois pixels de referência adjacentes.[0133] In DC mode, prediction pixels are generated by copying the average value of the N reference pixels located at (x=0,...N-1, y=-1) and the M reference pixels located at (x=0,...N-1, y=-1) in (x=-1, y=0,...M-1). The prediction pixel adjacent to the reference pixel is filtered by one or two adjacent reference pixels.

[0134] No modo vertical, os pixels de predição são gerados copiando-se o valor do pixel de referência vertical. Os pixels de predição adjacentes ao pixel de referência à esquerda são filtrados usando-se o pixel de referência de canto e o pixel de referência vizinho à esquerda.[0134] In vertical mode, prediction pixels are generated by copying the value of the vertical reference pixel. Prediction pixels adjacent to the left reference pixel are filtered using the corner reference pixel and the left neighboring reference pixel.

[0135] No modo horizontal, os pixels de predição são gerados copiando-se o valor do pixel de referência horizontal. Os pixels de predição adjacentes ao pixel de referência acima são filtrados usando-se o pixel de referência de canto e o pixel de referência vizinho acima.[0135] In horizontal mode, prediction pixels are generated by copying the value of the horizontal reference pixel. Prediction pixels adjacent to the reference pixel above are filtered out using the corner reference pixel and the neighboring reference pixel above.

[0136] A unidade de geração de blocos residuais 340 gera o bloco residual do bloco atual usando o modo de intrapredição. O mesmo procedimento da Figura 8 é executado pela unidade de geração de blocos residuais 340.[0136] Residual block generation unit 340 generates the residual block of the current block using the intraprediction mode. The same procedure as in Figure 8 is performed by the residual block generation unit 340.

[0137] A unidade de geração de blocos reconstruídos 350 adiciona o bloco de predição e o bloco residual de modo a gerar o bloco reconstruído do bloco atual.[0137] The reconstructed block generation unit 350 adds the prediction block and the residual block in order to generate the reconstructed block of the current block.

[0138] Embora a invenção tenha sido mostrada e descrita com referência a determinadas modalidades exemplares dela, os versados na técnica entenderão que diversas alterações na forma e nos detalhes podem ser feitas nela sem que se abandonem o espírito e o alcance da invenção definidos pelas reivindicações anexas.[0138] Although the invention has been shown and described with reference to certain exemplary embodiments thereof, those skilled in the art will understand that various changes in form and detail can be made to it without departing from the spirit and scope of the invention defined by the claims attached.

Claims (11)

1. Método para gerar um bloco reconstruído, CARACTERIZADO por com-preender: derivar um modo de intrapredição de uma unidade de predição usando três modos de intrapredição que são determinados pelos modos de intrapredição à esquerda e acima; determinar um tamanho de uma unidade de transformada usando informações de tamanho de transformada; gerar um bloco de predição da unidade de transformada de acordo com o modo de intrapredição; gerar um bloco residual da unidade de transformada de acordo com o modo de intrapredição e com o tamanho da unidade de transformada; e gerar um bloco reconstruído da unidade de transformada usando o bloco de predição e o bloco residual, em que o tamanho da unidade de transformada é igual ao ou menor que um tamanho da unidade de predição, e os tamanhos do bloco de predição, do bloco residual e do bloco reconstruído são iguais a um tamanho da unidade de transformada, e as informações de tamanho de transformada incluem um ou mais indicadores de unidade de transformada dividida (split_tu_flags), em que derivar um modo de intrapredição da unidade de predição compreende: construir um grupo MPM que é constituído por três modos de intrapre- dição usando o modo de intrapredição à esquerda e o modo de intrapredição acima; determinar se um indicador de grupo de modos indica o grupo MPM ou não; definir um modo de intrapredição do grupo MPM especificado por um índice de modo de predição como o modo de intrapredição da unidade de predição se o indicador de grupo de modos indicar o grupo MPM; e determinar o modo de intrapredição da unidade de predição ao comparar o índice de modo de predição com os três modos de intrapredição do grupo MPM se o indicador de grupo de modos não indicar o grupo MPM.1. Method for generating a reconstructed block, CHARACTERIZED by comprising: deriving an intraprediction mode from a prediction unit using three intraprediction modes which are determined by the intraprediction modes on the left and above; determine a size of a transform unit using transform size information; generating a prediction block from the transform unit according to the intraprediction mode; generating a residual block of the transform unit according to the intraprediction mode and the size of the transform unit; and generating a reconstructed block of the transform unit using the prediction block and the residual block, wherein the transform unit size is equal to or less than a prediction unit size, and the prediction block sizes, of the block residual and reconstructed block are equal to a transform unit size, and the transform size information includes one or more split transform unit indicators (split_tu_flags), wherein deriving an intraprediction mode from the prediction unit comprises: constructing an MPM group that is made up of three intraprediction modes using the intraprediction mode on the left and the intraprediction mode above; determine whether a mode group indicator indicates the MPM group or not; defining an MPM group intraprediction mode specified by a prediction mode index as the prediction unit intraprediction mode if the mode group indicator indicates the MPM group; and determining the intraprediction mode of the prediction unit by comparing the prediction mode index with the three intraprediction modes of the MPM group if the mode group indicator does not indicate the MPM group. 2. Método de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que, se um dentre o modo de intrapredição à esquerda e do modo de intrapredição acima estiver disponível, o grupo MPM é constituído pelo modo de intrapredição disponível e por dois modos de intrapredição adicionais.2. Method according to claim 1, CHARACTERIZED by the fact that, if one of the intraprediction mode on the left and the intraprediction mode above is available, the MPM group consists of the available intraprediction mode and two intraprediction modes additional. 3. Método de acordo com a reivindicação 2, CARACTERIZADO pelo fato de que os dois modos de intrapredição adicionais são determinados de acordo com o modo de intrapredição disponível.3. Method according to claim 2, CHARACTERIZED by the fact that the two additional intraprediction modes are determined according to the available intraprediction mode. 4. Método de acordo com a reivindicação 3, CARACTERIZADO pelo fato de que, se o modo de intrapredição disponível for um modo de intrapredição direcional, o modo DC e o modo planar são definidos como os dois modos de intrapredição adicionais.4. Method according to claim 3, CHARACTERIZED by the fact that, if the available intraprediction mode is a directional intraprediction mode, the DC mode and the planar mode are defined as the two additional intraprediction modes. 5. Método de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que gerar o bloco residual da unidade de transformada de acordo com o modo de intrapredição compreende: decodificar por entropia os sinais residuais codificados para gerar informações de coeficiente quantizado; varrer inversamente as informações de coeficiente quantizado para gerar um bloco quantizado usando um padrão de varredura inversa que é determinado de acordo com o modo de intrapredição e com um tamanho da unidade de transformada; e quantizar e transformar inversamente o bloco quantizado usando parâmetro de quantização e uma transformada inversa, em que um tipo da transformada inversa é determinado pelo tamanho da unidade de transformada.5. Method according to claim 1, CHARACTERIZED by the fact that generating the transform unit residual block according to the intraprediction mode comprises: decoding by entropy the encoded residual signals to generate quantized coefficient information; inversely scanning the quantized coefficient information to generate a quantized block using an inverse scan pattern that is determined in accordance with the intraprediction mode and a transform unit size; and quantizing and inversely transforming the quantized block using quantization parameter and an inverse transform, wherein an inverse transform type is determined by the size of the transform unit. 6. Método de acordo com a reivindicação 5, CARACTERIZADO pelo fato de que o padrão de varredura inversa é selecionado dentre uma varredura diagonal, uma varredura vertical e uma varredura horizontal; e quando o tamanho do bloco quantizado é maior que um tamanho predeterminado, uma pluralidade de subconjuntos é gerada e o bloco quantizado é gerado ao varrer inversamente a pluralidade de subconjuntos usando o padrão de varredura inverso.6. Method according to claim 5, CHARACTERIZED by the fact that the inverse scan pattern is selected from a diagonal scan, a vertical scan and a horizontal scan; and when the size of the quantized block is greater than a predetermined size, a plurality of subsets is generated and the quantized block is generated by inversely scanning the plurality of subsets using the inverse scan pattern. 7. Método de acordo com a reivindicação 5, CARACTERIZADO pelo fato de que, quando dois ou mais dentre um parâmetro de quantização à esquerda, um parâmetro de quantização acima e um parâmetro de quantização anterior estão disponíveis, o preditor de parâmetro de quantização é gerado usando dois parâmetros de quantização disponíveis que são determinados em uma ordem predeterminada.7. Method according to claim 5, CHARACTERIZED by the fact that when two or more of a left quantization parameter, an above quantization parameter and a previous quantization parameter are available, the quantization parameter predictor is generated using two available quantization parameters that are determined in a predetermined order. 8. Método de acordo com a reivindicação 7 CARACTERIZADO pelo fato de que, o parâmetro de quantização é gerado ao adicionar uma média dos dois parâmetros de quantização disponíveis e um parâmetro de quantização diferencial, o parâmetro de quantização diferencial é restaurado usando uma sequência de binários (bin string) indicando um valor absoluto do parâmetro de quantização diferencial e um binário (bin) indicando um sinal do parâmetro de quantização diferencial.8. Method according to claim 7 CHARACTERIZED by the fact that the quantization parameter is generated by adding an average of the two available quantization parameters and a differential quantization parameter, the differential quantization parameter is restored using a binary sequence (bin string) indicating an absolute value of the differential quantization parameter and a binary (bin) indicating a sign of the differential quantization parameter. 9. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que determinar o modo de intrapredição da unidade de predição ao comparar o índice de modo de predição com os três modos de intrapredição do grupo MPM compreende etapas ordenadas de: se o índice de modo de predição for igual a ou maior que um primeiro candidato do grupo MPM, aumentar um valor do índice de modo de predição por um; se o índice de modo de predição for igual a ou maior que um segundo can- didato do grupo MPM, aumentar o valor do índice de modo de predição por um; se o índice de modo de predição for igual a ou maior que um terceiro candidato do grupo MPM, aumentar o valor do índice de predição; e determinar o valor do índice de modo de predição como o número de modo do modo de intrapredição da unidade de predição atual.9. Method according to claim 1, CHARACTERIZED by the fact that determining the prediction unit's intraprediction mode by comparing the prediction mode index with the three intraprediction modes of the MPM group comprises steps ordered from: if the index if prediction mode is equal to or greater than a first candidate of the MPM group, increasing a prediction mode index value by one; if the predictive mode index is equal to or greater than a second candidate of the MPM group, increase the predictive mode index value by one; if the prediction mode index is equal to or greater than a third candidate of the MPM group, increase the value of the prediction index; and determining the prediction mode index value as the intraprediction mode mode number of the current prediction unit. 10. Método, de acordo com a reivindicação 9, CARACTERIZADO pelo fato de que o primeiro candidato é um modo de intrapredição tendo o menor número de modo, o segundo candidato é um modo de intrapredição tendo um número de modo médio e o terceiro candidato é um modo de intrapredição tendo o maior número de modo.10. Method according to claim 9, CHARACTERIZED by the fact that the first candidate is an intraprediction mode having the smallest mode number, the second candidate is an intraprediction mode having an average mode number, and the third candidate is an intraprediction mode having the greatest number of modes. 11. Método, de acordo com a reivindicação 9, CARACTERIZADO pelo fato de que os três modos de intrapredição são reordenados na ordem de número de modo para determinar o primeiro candidato, o segundo candidato e o terceiro candidato.11. Method according to claim 9, CHARACTERIZED by the fact that the three intraprediction modes are reordered in mode number order to determine the first candidate, the second candidate, and the third candidate.
BR112014007869-6A 2011-11-04 2012-11-02 METHOD FOR GENERATING A RECONSTRUCTED BLOCK BR112014007869B1 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
BR122020014293-6A BR122020014293B1 (en) 2011-11-04 2012-11-02 METHOD FOR GENERATING A RECONSTRUCTED BLOCK
BR122020014288-0A BR122020014288B1 (en) 2011-11-04 2012-11-02 METHOD FOR GENERATING A RECONSTRUCTED BLOCK
BR122020014298-7A BR122020014298B1 (en) 2011-11-04 2012-11-02 METHOD FOR GENERATING A RECONSTRUCTED BLOCK
BR122020014282-0A BR122020014282B1 (en) 2011-11-04 2012-11-02 METHOD FOR GENERATING A RECONSTRUCTED BLOCK

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR20110224609 2011-11-04
KR10-2011-0114609 2011-11-04
PCT/CN2012/083994 WO2013064099A1 (en) 2011-11-04 2012-11-02 Method of generating reconstructed block

Publications (3)

Publication Number Publication Date
BR112014007869A2 BR112014007869A2 (en) 2017-04-18
BR112014007869A8 BR112014007869A8 (en) 2018-01-23
BR112014007869B1 true BR112014007869B1 (en) 2021-08-03

Family

ID=58643937

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112014007869-6A BR112014007869B1 (en) 2011-11-04 2012-11-02 METHOD FOR GENERATING A RECONSTRUCTED BLOCK

Country Status (1)

Country Link
BR (1) BR112014007869B1 (en)

Also Published As

Publication number Publication date
BR112014007869A2 (en) 2017-04-18
BR112014007869A8 (en) 2018-01-23

Similar Documents

Publication Publication Date Title
BR122020014298B1 (en) METHOD FOR GENERATING A RECONSTRUCTED BLOCK
TWI709334B (en) Method of decoding video data
KR20140071428A (en) Method of generating quantized block
BR112014007869B1 (en) METHOD FOR GENERATING A RECONSTRUCTED BLOCK

Legal Events

Date Code Title Description
B25A Requested transfer of rights approved

Owner name: INFOBRIDGE PTE. LTD. (SG)

B06F Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette]
B06U Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 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 02/11/2012, OBSERVADAS AS CONDICOES LEGAIS.

B25A Requested transfer of rights approved

Owner name: GENSQUARE LLC (KR)