BR122024006265A2 - IMAGE DECODING APPARATUS, IMAGE CODING APPARATUS AND APPARATUS FOR TRANSMITTING DATA FOR IMAGE INFORMATION - Google Patents
IMAGE DECODING APPARATUS, IMAGE CODING APPARATUS AND APPARATUS FOR TRANSMITTING DATA FOR IMAGE INFORMATION Download PDFInfo
- Publication number
- BR122024006265A2 BR122024006265A2 BR122024006265-8A BR122024006265A BR122024006265A2 BR 122024006265 A2 BR122024006265 A2 BR 122024006265A2 BR 122024006265 A BR122024006265 A BR 122024006265A BR 122024006265 A2 BR122024006265 A2 BR 122024006265A2
- Authority
- BR
- Brazil
- Prior art keywords
- flag
- enabled
- transform
- residual
- tsrc
- Prior art date
Links
- 230000001419 dependent effect Effects 0.000 claims description 119
- 238000013139 quantization Methods 0.000 claims description 95
- 238000000034 method Methods 0.000 abstract description 172
- 230000008569 process Effects 0.000 description 92
- 239000000523 sample Substances 0.000 description 66
- 241000209094 Oryza Species 0.000 description 27
- 235000007164 Oryza sativa Nutrition 0.000 description 27
- 235000009566 rice Nutrition 0.000 description 27
- 241000023320 Luma <angiosperm> Species 0.000 description 26
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 26
- 238000001914 filtration Methods 0.000 description 16
- 238000009795 derivation Methods 0.000 description 10
- 230000011664 signaling Effects 0.000 description 10
- 230000003044 adaptive effect Effects 0.000 description 8
- 239000011449 brick Substances 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 230000002123 temporal effect Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 4
- 238000005192 partition Methods 0.000 description 4
- 230000007704 transition Effects 0.000 description 4
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000007257 malfunction Effects 0.000 description 3
- 230000001131 transforming effect Effects 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 230000002146 bilateral effect Effects 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 239000013074 reference sample Substances 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000002427 irreversible effect Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000010454 slate Substances 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Abstract
Um método de decodificação de imagem realizado por um dispositivo de decodificação, de acordo com o presente documento, que compreende as etapas de: adquirir um sinalizador habilitado para ocultação de dados de sinal; adquirir um sinalizador habilitado para codificação residual de omissão de transformada (TSRC) com base no sinalizador habilitado para ocultação de dados de sinal; adquirir informações residuais para um bloco atual, com base no sinalizador habilitado para TSRC; derivar uma amostra residual do bloco atual, com base nas informações residuais; e gerar uma figuração reconstruída com base na amostra residual, em que o sinalizador habilitado para ocultação de dados de sinal é um sinalizador que indica se uma ocultação de dados de sinal está habilitada, o sinalizador habilitado para TSRC é um sinalizador que indica se TSRC está habilitada, e o sinalizador habilitado para TSRC é adquirido com base no sinalizador habilitado para ocultação de dados de sinal tendo um valor de zero.A picture decoding method performed by a decoding device according to this document comprising the steps of: acquiring a signal data hiding enabled flag; acquiring a transform omission residual coding (TSRC) enabled flag based on the signal data hiding enabled flag; acquiring residual information for a current block based on the TSRC enabled flag; deriving a residual sample of the current block based on the residual information; and generating a reconstructed picture based on the residual sample, wherein the signal data hiding enabled flag is a flag indicating whether signal data hiding is enabled, the TSRC enabled flag is a flag indicating whether TSRC is enabled, and the TSRC enabled flag is acquired based on the signal data hiding enabled flag having a value of zero.
Description
[001] A presente revelação refere-se a uma tecnologia de codificação de imagem, e, mais particularmente, a um método de decodificação de imagem e um aparelho do mesmo, que codifica informações de sinalizador que representam se TSRC está habilitada em dados residuais de codificação de um bloco atual em um sistema de codificação de imagem.[001] The present disclosure relates to a picture coding technology, and more particularly to a picture decoding method and an apparatus thereof, that encodes flag information representing whether TSRC is enabled into residual coding data of a current block in a picture coding system.
[002] Recentemente, a demanda por imagens de alta resolução e alta qualidade, tais como imagens de Alta Definição (HD) e imagens de Definição Ultra Alta (UHD) aumentou em vários campos. Visto que dados de imagem têm alta resolução e alta qualidade, a quantidade de informações ou bits a serem transmitidos aumenta em relação aos dados e imagem de legado. Portanto, quando dados de imagem forem transmitidos usando um meio tal como uma linha de banda larga convencional com/sem fio ou dados de imagem forem armazenados usando um meio de armazenamento existente, os custos de transmissão e os custos de armazenamento dos mesmos são aumentados.[002] Recently, the demand for high-resolution and high-quality images such as High Definition (HD) images and Ultra High Definition (UHD) images has increased in various fields. Since image data has high resolution and high quality, the amount of information or bits to be transmitted increases relative to legacy image data. Therefore, when image data is transmitted using a medium such as a conventional wired/wireless broadband line or image data is stored using an existing storage medium, the transmission costs and storage costs thereof are increased.
[003] De modo correspondente, há uma necessidade por uma técnica de compactação de imagens altamente eficiente para transmitir, armazenar e reproduzir efetivamente informações de imagens de alta resolução e alta qualidade.[003] Correspondingly, there is a need for a highly efficient image compression technique to effectively transmit, store and reproduce high-resolution, high-quality image information.
[004] A presente revelação proporciona um método e aparelho para aperfeiçoar a eficiência de codificação de imagem.[004] The present disclosure provides a method and apparatus for improving image coding efficiency.
[005] A presente revelação também proporciona um método e aparelho para aperfeiçoar a eficiência de codificação residual.[005] The present disclosure also provides a method and apparatus for improving residual coding efficiency.
[006] De acordo com uma modalidade da presente revelação, proporciona-se um método de decodificação de imagem realizado por um aparelho de decodificação. O método inclui: obter um sinalizador habilitado para ocultação de dados de sinal; obter um sinalizador habilitado para codificação residual de omissão de transformada (TSRC) com base no sinalizador habilitado para ocultação de dados de sinal; obter informações residuais para um bloco atual com base no sinalizador habilitado para TSRC; derivar uma amostra residual do bloco atual com base nas informações residuais; e gerar uma figuração reconstruída com base na amostra residual, em que o sinalizador habilitado para ocultação de dados de sinal é um sinalizador para se uma ocultação de dados de sinal está habilitada, em que o sinalizador habilitado para TSRC é um sinalizador para se uma TSRC está habilitada, e em que o sinalizador habilitado para TSRC é obtido com base no sinalizador habilitado para ocultação de dados de sinal tendo um valor de 0.[006] According to an embodiment of the present disclosure, there is provided a picture decoding method performed by a decoding apparatus. The method includes: obtaining a signal data hiding enabled flag; obtaining a transform skip residual coding (TSRC) enabled flag based on the signal data hiding enabled flag; obtaining residual information for a current block based on the TSRC enabled flag; deriving a residual sample of the current block based on the residual information; and generating a reconstructed picture based on the residual sample, wherein the signal data hiding enabled flag is a flag for whether a signal data hiding is enabled, wherein the TSRC enabled flag is a flag for whether a TSRC is enabled, and wherein the TSRC enabled flag is obtained based on the signal data hiding enabled flag having a value of 0.
[007] De acordo com outra modalidade da presente revelação, proporciona- se um aparelho de decodificação que realiza decodificação de imagem. O aparelho de decodificação inclui: um decodificador de entropia configurado para obter um sinalizador habilitado para ocultação de dados de sinal, obter um sinalizador habilitado para codificação residual de omissão de transformada (TSRC) com base no sinalizador habilitado para ocultação de dados de sinal, obter informações residuais para um bloco atual com base no sinalizador habilitado para TSRC; um processador residual configurado para derivar uma amostra residual do bloco atual com base nas informações residuais; e um adicionador configurado para gerar uma figuração reconstruída com base na amostra residual, em que o sinalizador habilitado para ocultação de dados de sinal é um sinalizador para se uma ocultação de dados de sinal está habilitada, em que o sinalizador habilitado para TSRC é um sinalizador para se TSRC está habilitada, e em que o sinalizador habilitado para TSRC é obtido com base no sinalizador habilitado para ocultação de dados de sinal tendo um valor de 0.[007] According to another embodiment of the present disclosure, a decoding apparatus is provided that performs picture decoding. The decoding apparatus includes: an entropy decoder configured to obtain a signal data hiding enabled flag, obtain a transform skip residual coding (TSRC) enabled flag based on the signal data hiding enabled flag, obtain residual information for a current block based on the TSRC enabled flag; a residual processor configured to derive a residual sample of the current block based on the residual information; and an adder configured to generate a reconstructed picture based on the residual sample, wherein the signal data hiding enabled flag is a flag for whether signal data hiding is enabled, wherein the TSRC enabled flag is a flag for whether TSRC is enabled, and wherein the TSRC enabled flag is obtained based on the signal data hiding enabled flag having a value of 0.
[008] De acordo com ainda outra modalidade da presente revelação, proporciona-se um método de codificação de vídeo realizado por um aparelho de codificação. O método inclui: codificar um sinalizador habilitado para ocultação de dados de sinal para se uma ocultação de dados de sinal está habilitada; codificar um sinalizador habilitado para codificação residual de omissão de transformada (TSRC) para se TSRC está habilitada com base no sinalizador habilitado para ocultação de dados de sinal; codificar informações residuais para um bloco atual com base no sinalizador habilitado para TSRC; e gerar um fluxo de bits incluindo o sinalizador habilitado para ocultação de dados de sinal, o sinalizador habilitado para TSRC e as informações residuais, em que o sinalizador habilitado para TSRC é codificado com base no sinalizador habilitado para ocultação de dados de sinal tendo um valor de 0.[008] According to yet another embodiment of the present disclosure, there is provided a method of encoding video performed by an encoding apparatus. The method includes: encoding a signal data concealment enabled flag for whether signal data concealment is enabled; encoding a transform skip residual coding (TSRC) enabled flag for whether TSRC is enabled based on the signal data concealment enabled flag; encoding residual information for a current block based on the TSRC enabled flag; and generating a bit stream including the signal data concealment enabled flag, the TSRC enabled flag, and the residual information, wherein the TSRC enabled flag is encoded based on the signal data concealment enabled flag having a value of 0.
[009] De acordo com ainda outra modalidade da presente revelação, proporciona-se um aparelho de codificação de vídeo. O aparelho de codificação inclui um codificador de entropia configurado para codificar um sinalizador habilitado para ocultação de dados de sinal para se uma ocultação de dados de sinal está habilitada, codificar um sinalizador habilitado para codificação residual de omissão de transformada (TSRC) para se TSRC está habilitada com base no sinalizador habilitado para ocultação de dados de sinal, codificar informações residuais para um bloco atual com base no sinalizador habilitado para TSRC, gerar um fluxo de bits incluindo o sinalizador habilitado para ocultação de dados de sinal, o sinalizador habilitado para TSRC e as informações residuais, em que o sinalizador habilitado para TSRC é codificado com base no sinalizador habilitado para ocultação de dados de sinal tendo um valor de 0.[009] According to yet another embodiment of the present disclosure, a video encoding apparatus is provided. The encoding apparatus includes an entropy encoder configured to encode a signal data hiding enabled flag for whether signal data hiding is enabled, encode a transform skip residual coding (TSRC) enabled flag for whether TSRC is enabled based on the signal data hiding enabled flag, encode residual information for a current block based on the TSRC enabled flag, generate a bit stream including the signal data hiding enabled flag, the TSRC enabled flag, and the residual information, wherein the TSRC enabled flag is encoded based on the signal data hiding enabled flag having a value of 0.
[010] De acordo com ainda outra modalidade da presente revelação, proporciona-se um meio de armazenamento legível por computador não transitório que armazena um fluxo de bits incluindo informações de imagem que induzem a realizar um método de decodificação de imagem. No meio de armazenamento legível por computador não transitório, o método de decodificação de imagem inclui: obter um sinalizador habilitado para ocultação de dados de sinal; obter um sinalizador habilitado para codificação residual de omissão de transformada (TSRC) com base no sinalizador habilitado para ocultação de dados de sinal; obter informações residuais para um bloco atual com base no sinalizador habilitado para TSRC; derivar uma amostra residual do bloco atual com base nas informações residuais; e gerar uma figuração reconstruída com base na amostra residual, em que o sinalizador habilitado para ocultação de dados de sinal é um sinalizador para se uma ocultação de dados de sinal está habilitada, em que o sinalizador habilitado para TSRC é um sinalizador para se TSRC está habilitada, e em que o sinalizador habilitado para TSRC é obtido com base no sinalizador habilitado para ocultação de dados de sinal tendo um valor de 0.[010] According to yet another embodiment of the present disclosure, there is provided a non-transitory computer-readable storage medium that stores a bit stream including image information that induces performing an image decoding method. On the non-transitory computer-readable storage medium, the image decoding method includes: obtaining a signal data hiding enabled flag; obtaining a transform skip residual coding (TSRC) enabled flag based on the signal data hiding enabled flag; obtaining residual information for a current block based on the TSRC enabled flag; deriving a residual sample of the current block based on the residual information; and generating a reconstructed figuration based on the residual sample, wherein the signal data hiding enabled flag is a flag for whether signal data hiding is enabled, wherein the TSRC enabled flag is a flag for whether TSRC is enabled, and wherein the TSRC enabled flag is obtained based on the signal data hiding enabled flag having a value of 0.
[011] De acordo com a presente revelação, pode-se acentuar a eficiência de codificação residual.[011] According to the present disclosure, residual coding efficiency can be enhanced.
[012] De acordo com a presente revelação, o sinalizador habilitado para TSRC pode ser sinalizado quando a ocultação de dados de sinal não estiver habilitada ajustando-se a relação de sinalização entre o sinalizador habilitado para ocultação de dados de sinal e o sinalizador habilitado para TSRC, através disso, quando a sintaxe de RRC for codificada para o bloco de omissão de transformada porque a TSRC não está habilitada, a ocultação de dados de sinal não é usada para aperfeiçoar a eficiência de codificação, e a eficiência de codificação residual geral pode ser aperfeiçoada através da redução da quantidade de bits sendo codificada.[012] According to the present disclosure, the TSRC-enabled flag can be signaled when signal data hiding is not enabled by adjusting the signaling relationship between the signal data hiding-enabled flag and the TSRC-enabled flag, whereby, when the RRC syntax is coded for the transform omission block because TSRC is not enabled, signal data hiding is not used to improve the coding efficiency, and the overall residual coding efficiency can be improved by reducing the amount of bits being coded.
[013] De acordo com a presente revelação, a relação de sinalização entre um sinalizador habilitado para quantização dependente e um sinalizador habilitado para TSRC é estabelecida, e se a quantização dependente não estiver habilitada, o sinalizador habilitado para TSRC pode ser sinalizado, e através disso, se a TSRC não estiver habilitada e uma sintaxe de RRC for codificada para um bloco de omissão de transformada, a quantização dependente não deve ser usada, de modo que a eficiência de codificação seja aperfeiçoada, e a eficiência de codificação residual geral pode ser aperfeiçoada através da redução da quantidade de bits sendo codificada.[013] According to the present disclosure, the signaling relationship between a dependent quantization-enabled flag and a TSRC-enabled flag is established, and if dependent quantization is not enabled, the TSRC-enabled flag can be signaled, and thereby, if TSRC is not enabled and an RRC syntax is coded for a transform omission block, dependent quantization should not be used, so that the coding efficiency is improved, and the overall residual coding efficiency can be improved by reducing the amount of bits being coded.
[014] De acordo com a presente revelação, estabelece-se a relação de sinalização entre um sinalizador habilitado para omissão de transformada e o sinalizador habilitado para TSRC, e se a omissão de transformada estiver habilitada, o sinalizador habilitado para TSRC pode ser sinalizado, e através disso, a eficiência de codificação residual geral pode ser aperfeiçoada através da redução da quantidade de bits sendo codificada.[014] According to the present disclosure, the signaling relationship is established between a transform omission enabled flag and the TSRC enabled flag, and if transform omission is enabled, the TSRC enabled flag can be signaled, and thereby, the overall residual coding efficiency can be improved by reducing the amount of bits being coded.
[015] A Figura 1 ilustra brevemente um exemplo de um dispositivo de codificação de vídeo/imagem ao qual as modalidades da presente revelação são aplicáveis.[015] Figure 1 briefly illustrates an example of a video/image encoding device to which embodiments of the present disclosure are applicable.
[016] A Figura 2 é um diagrama esquemático que ilustra uma configuração de um aparelho de codificação de vídeo/imagem ao qual as modalidades da presente revelação podem ser aplicadas.[016] Figure 2 is a schematic diagram illustrating a configuration of a video/image encoding apparatus to which embodiments of the present disclosure may be applied.
[017] A Figura 3 é um diagrama esquemático que ilustra uma configuração de um aparelho de decodificação de vídeo/imagem ao qual as modalidades da presente revelação podem ser aplicadas.[017] Figure 3 is a schematic diagram illustrating a configuration of a video/image decoding apparatus to which embodiments of the present disclosure may be applied.
[018] A Figura 4 mostra, de modo exemplificador, uma codificação aritmética binária adaptativa em contexto (CABAC) para codificar um elemento de sintaxe.[018] Figure 4 shows, by way of example, a context-adaptive binary arithmetic coding (CABAC) for encoding a syntax element.
[019] A Figura 5 é um diagrama que mostra, de modo exemplificador, coeficientes de transformada em um bloco 4x4.[019] Figure 5 is a diagram that shows, by way of example, transform coefficients in a 4x4 block.
[020] A Figura 6 ilustra, de modo exemplificador, quantizadores escalares sendo usados em quantização dependente.[020] Figure 6 illustrates, by way of example, scalar quantizers being used in dependent quantization.
[021] A Figura 7 ilustra, de modo exemplificador, transição de estado e seleção de quantizador para quantização dependente.[021] Figure 7 illustrates, by way of example, state transition and quantizer selection for dependent quantization.
[022] A Figura 8 ilustra brevemente um método de codificação de imagem realizado por um aparelho de codificação de acordo com a presente revelação.[022] Figure 8 briefly illustrates an image encoding method performed by an encoding apparatus in accordance with the present disclosure.
[023] A Figura 9 ilustra brevemente um aparelho de codificação para realizar um método de codificação de imagem de acordo com a presente revelação.[023] Figure 9 briefly illustrates a coding apparatus for performing an image coding method in accordance with the present disclosure.
[024] A Figura 10 ilustra brevemente um método de decodificação de imagem realizado por um aparelho de decodificação de acordo com a presente revelação.[024] Figure 10 briefly illustrates an image decoding method performed by a decoding apparatus in accordance with the present disclosure.
[025] A Figura 11 ilustra brevemente um aparelho de decodificação para realizar um método de decodificação de imagem de acordo com a presente revelação.[025] Figure 11 briefly illustrates a decoding apparatus for performing an image decoding method in accordance with the present disclosure.
[026] A Figura 12 ilustra um diagrama estrutural de um sistema de streaming de conteúdos ao qual a presente revelação é aplicada.[026] Figure 12 illustrates a structural diagram of a content streaming system to which the present disclosure is applied.
[027] A presente revelação pode ser modificada de várias formas, e modalidades específicas da mesma serão descritas e ilustradas nos desenhos. No entanto, as modalidades não são destinadas a limitar a revelação. Os termos usados na descrição a seguir são usados para meramente descrever modalidades específicas, mas não são destinadas a limitar a revelação. Uma expressão de um número singular inclui uma expressão do número no plural, desde que seja claramente lida diferentemente. Os termos “incluir” e “ter” são destinados a indicar que recursos, números, etapas, operações, elementos, componentes ou combinações dos mesmos usados na descrição a seguir existem e, portanto, deve-se compreender que a possibilidade de existência ou adição de um ou mais diferentes recursos, números, etapas, operações, elementos, componentes ou combinações dos mesmos não é excluída.[027] The present disclosure may be modified in various ways, and specific embodiments thereof will be described and illustrated in the drawings. However, the embodiments are not intended to limit the disclosure. The terms used in the following description are used to merely describe specific embodiments, but are not intended to limit the disclosure. An expression of a singular number includes an expression of the number in the plural, provided that it is clearly read differently. The terms “include” and “have” are intended to indicate that features, numbers, steps, operations, elements, components or combinations thereof used in the following description exist, and therefore it is to be understood that the possibility of the existence or addition of one or more different features, numbers, steps, operations, elements, components or combinations thereof is not excluded.
[028] Entretanto, elementos nos desenhos descritos na revelação são independentemente desenhados para o propósito de conveniência para explicação de diferentes funções específicas, e não significa que os elementos são incorporados por hardware independente ou software independente. Por exemplo, dois ou mais elementos podem ser combinados para formar um elemento único ou um elemento pode ser particionado em vários elementos. As modalidades cujos elementos são combinados e/ou particionados pertencem à revelação sem divergir do conceito da revelação.[028] However, elements in the drawings described in the disclosure are independently drawn for the purpose of convenience for explaining different specific functions, and does not mean that the elements are embodied by independent hardware or independent software. For example, two or more elements may be combined to form a single element or an element may be partitioned into multiple elements. The embodiments whose elements are combined and/or partitioned belong to the disclosure without departing from the concept of the disclosure.
[029] Doravante, as modalidades da presente revelação serão descritas em detalhes com referência aos desenhos anexos. Além disso, referências numéricas similares são usadas para indicar elementos similares no decorrer dos desenhos, e as mesmas descrições nos elementos similares serão omitidas.[029] Hereinafter, embodiments of the present disclosure will be described in detail with reference to the accompanying drawings. In addition, similar reference numbers are used to indicate similar elements throughout the drawings, and the same descriptions in the similar elements will be omitted.
[030] A Figura 1 ilustra brevemente um exemplo de um dispositivo de codificação de vídeo/imagem ao qual as modalidades da presente revelação são aplicáveis.[030] Figure 1 briefly illustrates an example of a video/image encoding device to which embodiments of the present disclosure are applicable.
[031] Referindo-se à Figura 1, um sistema de codificação de vídeo/imagem pode incluir um primeiro dispositivo (dispositivo de origem) e um segundo dispositivo (dispositivo de recepção). O dispositivo de origem pode entregar informações ou dados de vídeo/imagem codificados sob a forma de um arquivo ou streaming ao dispositivo de recepção através de um meio de armazenamento digital ou rede.[031] Referring to Figure 1, a video/image encoding system may include a first device (source device) and a second device (receiving device). The source device may deliver encoded video/image information or data in the form of a file or stream to the receiving device via a digital storage medium or network.
[032] O dispositivo de origem pode incluir uma fonte de vídeo, um aparelho de codificação, e um transmissor. O dispositivo de recepção pode incluir um receptor, um aparelho de decodificação, e um renderizador. O aparelho de codificação pode ser denominado um aparelho de codificação de vídeo/imagem, e o aparelho de decodificação pode ser denominado como um aparelho de decodificação de vídeo/imagem. O transmissor pode ser incluído no aparelho de codificação. O receptor pode ser incluído no aparelho de decodificação. O renderizador pode incluir uma tela, e a tela pode ser configurada como um dispositivo separado ou um componente externo.[032] The source device may include a video source, an encoding apparatus, and a transmitter. The receiving device may include a receiver, a decoding apparatus, and a renderer. The encoding apparatus may be referred to as a video/image encoding apparatus, and the decoding apparatus may be referred to as a video/image decoding apparatus. The transmitter may be included in the encoding apparatus. The receiver may be included in the decoding apparatus. The renderer may include a display, and the display may be configured as a separate device or an external component.
[033] A fonte de vídeo pode adquirir vídeo/imagem através de um processo de capturar, sintetizar, ou gerar o vídeo/imagem. A fonte de vídeo pode incluir um dispositivo de captura de vídeo/imagem e/ou um dispositivo de geração de vídeo/imagem. O dispositivo de captura de vídeo/imagem pode incluir, por exemplo, uma ou mais câmeras, arquivos de vídeo/imagem incluindo vídeos/imagens previamente capturados, e similares. O dispositivo de geração de vídeo/imagem pode incluir, por exemplo, computadores, tablets e smartphones, e pode gerar (eletronicamente) vídeo/imagens. Por exemplo, um vídeo/imagem virtual pode ser gerado através de um computador, ou similares. Nesse caso, o processo de captura de vídeo/imagem pode ser substituído por um processo de gerar dados relacionados.[033] The video source may acquire video/image through a process of capturing, synthesizing, or generating the video/image. The video source may include a video/image capture device and/or a video/image generation device. The video/image capture device may include, for example, one or more cameras, video/image files including previously captured videos/images, and the like. The video/image generation device may include, for example, computers, tablets, and smartphones, and may generate (electronically) video/images. For example, a virtual video/image may be generated through a computer, or the like. In this case, the video/image capture process may be replaced by a process of generating related data.
[034] O aparelho de codificação pode codificar imagem/imagem de entrada. O aparelho de codificação pode realizar uma série de procedimentos como predição, transformada, e quantização para compactação e eficiência de codificação. Os dados codificados (informações de vídeo/imagem codificadas) podem ser emitidos sob a forma de um fluxo de bits.[034] The encoding apparatus may encode input image/picture. The encoding apparatus may perform a series of procedures such as prediction, transformation, and quantization for compression and coding efficiency. The encoded data (encoded video/picture information) may be output in the form of a bit stream.
[035] O transmissor pode transmitir as informações ou dados de imagem/imagem codificados emitidas sob a forma de um fluxo de bits ao receptor do dispositivo de recepção através de um meio de armazenamento digital ou uma rede sob a forma de um arquivo ou streaming. O meio de armazenamento digital pode incluir vários meios de armazenamento como USB, SD, CD, DVD, Blu-ray, HDD, SSD e similares. O transmissor pode incluir um elemento para gerar um arquivo de mídia através de um formato de arquivo predeterminado e pode incluir um elemento para transmissão através de uma rede de radiodifusão/comunicação. O receptor pode receber/extrair o fluxo de bits e transmitir o fluxo de bits recebido ao aparelho de decodificação.[035] The transmitter may transmit the output encoded image/picture information or data in the form of a bit stream to the receiver of the receiving device via a digital storage medium or a network in the form of a file or stream. The digital storage medium may include various storage media such as USB, SD, CD, DVD, Blu-ray, HDD, SSD and the like. The transmitter may include an element for generating a media file via a predetermined file format and may include an element for transmission via a broadcasting/communication network. The receiver may receive/extract the bit stream and transmit the received bit stream to the decoding apparatus.
[036] O aparelho de decodificação pode decodificar o vídeo/imagem realizando-se uma série de procedimentos tais como desquantização, transformada inversa, e predição correspondente à operação do aparelho de codificação.[036] The decoding apparatus may decode the video/image by performing a series of procedures such as dequantization, inverse transform, and prediction corresponding to the operation of the encoding apparatus.
[037] O renderizador pode renderizar o vídeo/imagem decodificado. O vídeo/imagem renderizado pode ser exibido através da tela.[037] The renderer can render the decoded video/image. The rendered video/image can be displayed through the screen.
[038] A presente revelação se refere à codificação de vídeo/imagem. Por exemplo, os métodos/modalidades revelados na presente revelação podem ser aplicados a um método revelado na codificação de vídeo versátil (VVC), padrão EVC (codificação de vídeo essencial), padrão AOMedia Video 1 (AV1), padrão de 2a geração de codificação de vídeo e áudio (AVS2), ou o padrão de codificação de vídeo/imagem de próxima geração (ex. H.267 ou H.268, etc.).[038] The present disclosure relates to video/image coding. For example, the methods/embodiments disclosed in the present disclosure may be applied to a method disclosed in the Versatile Video Coding (VVC), EVC (Essential Video Coding) standard, AOMedia Video 1 (AV1) standard, 2nd Generation Video and Audio Coding Standard (AVS2), or the next generation video/image coding standard (e.g. H.267 or H.268, etc.).
[039] A presente revelação apresenta várias modalidades de codificação de vídeo/imagem, e as modalidades podem ser realizadas em combinação umas com as outras exceto onde mencionado em contrário.[039] The present disclosure presents various embodiments of video/image encoding, and the embodiments may be performed in combination with each other except where otherwise noted.
[040] Na presente revelação, o vídeo pode se referir a uma série de imagens com o passar do tempo. Em geral, figuração se refere a uma unidade que representa uma imagem em um fuso-horário específico, e uma subfatia/fatia/ladrilho é uma unidade que constitui parte de uma figuração em codificação. A subfatia/fatia/ladrilho pode incluir uma ou mais unidades de árvore de codificação (CTUs). Uma figuração pode consistir em uma ou mais subfatias/fatias/ladrilhos. Uma figuração pode consistir em um ou mais grupos de ladrilho. Um grupo de ladrilho pode incluir um ou mais ladrilhos. Um tijolo pode representar uma região retangular de fileiras de CTU em um ladrilho em uma figuração. Um ladrilho pode ser particionado em múltiplos tijolos, sendo que cada um consiste em uma ou mais fileiras de CTU dentro do ladrilho. Um ladrilho que não é particionado em múltiplos tijolos também pode ser referido como um tijolo. Uma varredura de tijolo é uma ordenação sequencial específica de CTUs que particionam uma figuração em que as CTUs são ordenadas consecutivamente em varredura rasterizada de CTU em um tijolo, tijolos dentro de um ladrilho são ordenados consecutivamente em uma varredura rasterizada dos tijolos do ladrilho, e os ladrilhos em uma figuração são ordenados consecutivamente em uma varredura rasterizada dos ladrilhos da figuração. Além disso, uma subfiguração pode representar uma região retangular de uma ou mais fatias em uma figuração. Ou seja, uma subfiguração contém uma ou mais fatias que abrangem coletivamente uma região retangular de uma figuração. Um ladrilho é uma região retangular de CTUs dentro de uma coluna de ladrilho particular e uma fileira de ladrilho particular em uma figuração. A coluna de ladrilho é uma região retangular de CTUs tendo uma altura igual à altura da figuração e uma largura especificada pelos elementos de sintaxe no conjunto de parâmetro de figuração. A fileira de ladrilho é uma região retangular de CTUs tendo uma altura especificada pelos elementos de sintaxe no conjunto de parâmetro de figuração e uma largura igual à largura da figuração. Uma varredura de ladrilho é uma ordenação específica de CTUs que particionam uma figuração em que as CTUs são ordenadas consecutivamente em varredura rasterizada de CTU em um ladrilho enquanto os ladrilhos em uma figuração são ordenados consecutivamente em uma varredura rasterizada dos ladrilhos da figuração. Uma fatia inclui um número inteiro de tijolos de uma figuração que pode ser exclusivamente contida em uma unidade de NAL simples. Uma fatia pode consistir em um número de ladrilhos completos ou somente uma sequência consecutiva de tijolos completos de um ladrilho. Os grupos de ladrilho e fatias podem ser usados de modo intercambiável na presente revelação. Por exemplo, na presente revelação, um grupo de ladrilho/cabeçalho de grupo de ladrilho pode ser denominado como uma fatia/cabeçalho de fatia.[040] In the present disclosure, video may refer to a series of images over time. In general, a picture refers to a unit that represents an image in a specific time zone, and a subslice/slice/tile is a unit that constitutes part of a picture in coding. A subslice/slice/tile may include one or more coding tree units (CTUs). A picture may consist of one or more subslices/slices/tiles. A picture may consist of one or more tile groups. A tile group may include one or more tiles. A brick may represent a rectangular region of CTU rows in a tile in a picture. A tile may be partitioned into multiple bricks, each of which consists of one or more CTU rows within the tile. A tile that is not partitioned into multiple bricks may also be referred to as a brick. A brick scan is a specific sequential ordering of CTUs that partition a pattern in which CTUs are ordered consecutively in a CTU raster scan in a brick, bricks within a tile are ordered consecutively in a raster scan of the tile's bricks, and tiles in a pattern are ordered consecutively in a raster scan of the pattern's tiles. Additionally, a sub-pattern may represent a rectangular region of one or more slices in a pattern. That is, a sub-pattern contains one or more slices that collectively span a rectangular region of a pattern. A tile is a rectangular region of CTUs within a particular tile column and a particular tile row in a pattern. A tile column is a rectangular region of CTUs having a height equal to the pattern's height and a width specified by the syntax elements in the pattern parameter set. A tile row is a rectangular region of CTUs having a height specified by the syntax elements in the pattern parameter set and a width equal to the pattern's width. A tile scan is a specific ordering of CTUs that partition a pattern in which the CTUs are ordered consecutively in a CTU raster scan in a tile while the tiles in a pattern are ordered consecutively in a raster scan of the pattern's tiles. A slice includes an integer number of tiles of a pattern that can be uniquely contained in a single NAL unit. A slice may consist of a number of complete tiles or only a consecutive sequence of complete tiles of a tile. Tile groups and slices may be used interchangeably in the present disclosure. For example, in the present disclosure, a tile group/tile group header may be referred to as a slice/slice header.
[041] Um pixel ou um pel pode significar uma menor unidade que constitui uma figuração (ou imagem). Da mesma forma, ‘amostra’ pode ser usada como um termo correspondente a um pixel. Uma amostra pode, em geral, representar um pixel ou um valor de um pixel, e pode representar somente um pixel/valor de pixel de um componente de luma ou somente um pixel/valor de pixel de um componente de croma.[041] A pixel or a pel may mean a smallest unit that constitutes a picture (or image). Similarly, ‘sample’ may be used as a term corresponding to a pixel. A sample may, in general, represent a pixel or a pixel value, and may represent only a pixel/pixel value of a luma component or only a pixel/pixel value of a chroma component.
[042] Uma unidade pode representar uma unidade básica de processamento de imagem. A unidade pode incluir pelo menos uma dentre uma região específica da figuração e informações relacionadas à região. Uma unidade pode incluir um bloco de luma e dois blocos de croma (ex. cb, cr). A unidade pode ser usada de modo intercambiável com termos como bloco ou área em alguns casos. Em um caso geral, um bloco MxN pode incluir amostras (ou arranjos de amostra) ou um conjunto (ou arranjo) de coeficientes de transformada de M colunas e N fileiras.[042] A unit may represent a basic image processing unit. The unit may include at least one of a specific region of the image and information related to the region. A unit may include one luma block and two chroma blocks (e.g. cb, cr). The unit may be used interchangeably with terms such as block or area in some cases. In a general case, an MxN block may include samples (or sample arrays) or a set (or array) of transform coefficients of M columns and N rows.
[043] Na presente descrição, “A ou B” pode significar “apenas A”, “apenas B” ou “tanto A como B”. Em outras palavras, no presente relatório descritivo, “A ou B” pode ser interpretado como “A e/ou B”. Por exemplo, “A, B ou C” no presente documento significa “apenas A”, “apenas B”, “apenas C”, ou “toda e qualquer combinação de A, B e C”.[043] In this description, “A or B” may mean “A only”, “B only” or “both A and B”. In other words, in this specification, “A or B” may be interpreted as “A and/or B”. For example, “A, B or C” in this document means “A only”, “B only”, “C only”, or “any and all combinations of A, B and C”.
[044] Uma barra (/) ou uma vírgula (vírgula) usada na presente descrição pode significar “e/ou”. Por exemplo, “A/B” pode significar “A e/ou B”. De modo correspondente, “A/B” pode significar “apenas A”, “apenas B”, ou “tanto A como B”. Por exemplo, “A, B, C” pode significar “A, B ou C”.[044] A slash (/) or a comma (comma) used in this description may mean “and/or”. For example, “A/B” may mean “A and/or B”. Correspondingly, “A/B” may mean “A only”, “B only”, or “both A and B”. For example, “A, B, C” may mean “A, B or C”.
[045] Na presente descrição, “pelo menos um dentre A e B” pode significar “apenas A”, “apenas B”, ou “tanto A como B”. Além disso, na presente descrição, a expressão “pelo menos um dentre A ou B” ou “pelo menos um dentre A e/ou B” pode ser interpretado como igual a “pelo menos um dentre A e B”.[045] In the present description, “at least one of A and B” may mean “only A”, “only B”, or “both A and B”. Furthermore, in the present description, the expression “at least one of A or B” or “at least one of A and/or B” may be interpreted as equal to “at least one of A and B”.
[046] Além disso, na presente descrição, “pelo menos um dentre A, B e C” significa “apenas A”, “apenas B”, “apenas C”, ou “qualquer combinação de A, B e C”. Da mesma forma, “pelo menos um dentre A, B ou C” ou “pelo menos um dentre A, B e/ou C” pode significar “pelo menos um dentre A, B e C”.[046] Furthermore, in the present description, “at least one of A, B, and C” means “A only,” “B only,” “C only,” or “any combination of A, B, and C.” Likewise, “at least one of A, B, or C” or “at least one of A, B, and/or C” may mean “at least one of A, B, and C.”
[047] Além disso, parênteses usados na presente descrição podem significar “por exemplo”. De modo específico, quando “predição (intrapredição)” for indicada, “intrapredição” pode ser proposta como um exemplo de “predição”. Em outras palavras, “predição” na presente descrição não se limita a “intrapredição”, e “intrapredição” pode ser proposta como um exemplo de “predição”. Da mesma forma, mesmo quando “predição (isto é, intrapredição)” for indicada, “intrapredição” pode ser proposta como um exemplo de “predição”.[047] Furthermore, parentheses used in this description may mean “for example”. Specifically, when “prediction (intraprediction)” is indicated, “intraprediction” may be proposed as an example of “prediction”. In other words, “prediction” in this description is not limited to “intraprediction”, and “intraprediction” may be proposed as an example of “prediction”. Likewise, even when “prediction (i.e., intraprediction)” is indicated, “intraprediction” may be proposed as an example of “prediction”.
[048] Na presente descrição, recursos técnicos que são individualmente descritos em um desenho podem ser individualmente implementados ou podem ser implementados ao mesmo tempo.[048] In the present description, technical features that are individually described in a drawing can be individually implemented or can be implemented at the same time.
[049] Os desenhos a seguir foram criados para explicar um exemplo específico da presente descrição. Visto que os nomes de dispositivos específicos descritos nos desenhos ou os nomes de sinais/mensagens/campos específicos são apresentados a título de exemplo, os recursos técnicos da presente descrição não são limitados aos nomes específicos usados nos desenhos a seguir.[049] The following drawings have been created to explain a specific example of the present description. Since the names of specific devices described in the drawings or the names of specific signals/messages/fields are presented by way of example, the technical features of the present description are not limited to the specific names used in the following drawings.
[050] A Figura 2 é um diagrama esquemático que ilustra uma configuração de um aparelho de codificação de vídeo/imagem ao qual as modalidades da presente revelação podem ser aplicadas. Doravante, o aparelho de codificação de vídeo pode incluir um aparelho de codificação de imagem.[050] Figure 2 is a schematic diagram illustrating a configuration of a video/image encoding apparatus to which embodiments of the present disclosure may be applied. Hereinafter, the video encoding apparatus may include an image encoding apparatus.
[051] Referindo-se à Figura 2, o aparelho de codificação 200 inclui um particionador de imagem 210, um preditor 220, um processador de residual 230, e um codificador de entropia 240, um adicionador 250, um filtro 260, e uma memória 270. O preditor 220 pode incluir um interpreditor 221 e um intrapreditor 222. O processador de residual 230 pode incluir um transformador 232, um quantizador 233, um desquantizador 234, e um transformador inverso 235. O processador de residual 230 pode incluir, ainda, um subtrator 231. O adicionador 250 pode ser denominado como um reconstrutor ou um gerador de bloco reconstruído. O particionador de imagem 210, o preditor 220, o processador de residual 230, o codificador de entropia 240, o adicionador 250, e o filtro 260 podem ser configurados por ao menos um componente de hardware (ex. um chipset ou processador de codificador) de acordo com uma modalidade. Além disso, a memória 270 pode incluir uma memória temporária de figuração decodificada (DPB) ou pode ser configurada por um meio de armazenamento digital. O componente de hardware pode incluir, ainda, a memória 270 como um componente interno/externo.[051] Referring to Figure 2, the encoding apparatus 200 includes an image partitioner 210, a predictor 220, a residual processor 230, and an entropy encoder 240, an adder 250, a filter 260, and a memory 270. The predictor 220 may include an interpredictor 221 and an intrapredictor 222. The residual processor 230 may include a transformer 232, a quantizer 233, a dequantizer 234, and an inverse transformer 235. The residual processor 230 may further include a subtractor 231. The adder 250 may be referred to as a reconstructor or a reconstructed block generator. The image partitioner 210, the predictor 220, the residual processor 230, the entropy encoder 240, the adder 250, and the filter 260 may be configured by at least one hardware component (e.g., an encoder chipset or processor) according to one embodiment. In addition, the memory 270 may include a decoded picture buffer (DPB) or may be configured by a digital storage medium. The hardware component may further include the memory 270 as an internal/external component.
[052] O particionador de imagem 210 pode particionar uma imagem de entrada (ou uma figuração ou um quadro) inserida ao aparelho de codificação 200 em um ou mais processadores. Por exemplo, o processador pode ser denominado como uma unidade de codificação (CU). Nesse caso, a unidade de codificação pode ser recursivamente particionada de acordo com uma estrutura de árvore quaternária árvore binária árvore terciária (QTBTTT) a partir de uma unidade de árvore de codificação (CTU) ou uma maior unidade de codificação (LCU). Por exemplo, uma unidade de codificação pode ser particionada em uma pluralidade de unidades de codificação de uma profundidade mais profunda com base em uma estrutura de árvore quaternária, estrutura de árvore binária, e/ou uma estrutura terciária. Nesse caso, por exemplo, a estrutura de árvore quaternária pode ser aplicada primeiramente e a estrutura de árvore binária e/ou estrutura terciária podem ser aplicadas posteriormente. Alternativamente, a estrutura de árvore binária pode ser aplicada primeiro. O procedimento de codificação de acordo com a presente revelação pode ser realizado com base na unidade de codificação final que não é mais particionada. Nesse caso, a maior unidade de codificação pode ser usada como a unidade de codificação final com base na eficiência de codificação de acordo com características de imagem, ou, se necessário, a unidade de codificação pode ser recursivamente particionada em unidades de codificação de profundidade mais profunda e uma unidade de codificação tendo um tamanho ideal pode ser usada como a unidade de codificação final. No presente documento, o procedimento de codificação pode incluir um procedimento de predição, transformada, e reconstrução, que serão descritos posteriormente. Como outro exemplo, o processador pode incluir, ainda, uma unidade de predição (PU) ou uma unidade de transformada (TU). Nesse caso, a unidade de predição e a unidade de transformada podem ser divididas ou particionadas a partir da unidade de codificação final supramencionada. A unidade de predição pode ser uma unidade de predição de amostra, e a unidade de transformada pode ser uma unidade para derivar um coeficiente de transformada e/ou uma unidade para derivar um sinal residual a partir do coeficiente de transformada.[052] The image partitioner 210 may partition an input image (or a picture or a frame) input to the encoding apparatus 200 into one or more processors. For example, the processor may be referred to as a coding unit (CU). In this case, the coding unit may be recursively partitioned according to a quaternary tree binary tree tertiary tree (QTBTTT) structure from a coding tree unit (CTU) or a largest coding unit (LCU). For example, a coding unit may be partitioned into a plurality of coding units of a deeper depth based on a quaternary tree structure, binary tree structure, and/or a tertiary structure. In this case, for example, the quaternary tree structure may be applied first and the binary tree structure and/or tertiary structure may be applied later. Alternatively, the binary tree structure may be applied first. The coding procedure according to the present disclosure may be performed based on the final coding unit that is no longer partitioned. In this case, the largest coding unit may be used as the final coding unit based on the coding efficiency according to image characteristics, or, if necessary, the coding unit may be recursively partitioned into deeper depth coding units and a coding unit having an optimal size may be used as the final coding unit. In the present document, the coding procedure may include a prediction, transform, and reconstruction procedure, which will be described later. As another example, the processor may further include a prediction unit (PU) or a transform unit (TU). In this case, the prediction unit and the transform unit may be divided or partitioned from the aforementioned final coding unit. The prediction unit may be a sample prediction unit, and the transform unit may be a unit for deriving a transform coefficient and/or a unit for deriving a residual signal from the transform coefficient.
[053] A unidade pode ser usada de modo intercambiável com termos como bloco ou área em alguns casos. Em um caso geral, um bloco M*N pode representar um conjunto de amostras ou coeficientes de transformada compostos por M colunas e N fileiras. Uma amostra pode representar, em geral, um pixel ou um valor de um pixel, pode representar somente um pixel/valor de pixel de um componente de luma ou representar somente um pixel/valor de pixel de um componente de croma. Uma amostra pode ser usada como um termo correspondente a uma figuração (ou imagem) para um pixel ou um pel.[053] The unit may be used interchangeably with terms such as block or area in some cases. In a general case, a block M*N may represent a set of samples or transform coefficients composed of M columns and N rows. A sample may generally represent a pixel or a pixel value, it may represent only a pixel/pixel value of a luma component, or it may represent only a pixel/pixel value of a chroma component. A sample may be used as a term corresponding to a figuration (or image) for a pixel or a pel.
[054] No aparelho de codificação 200, um sinal de predição (bloco predito, arranjo de amostra de predição) emitido a partir do interpreditor 221 ou o intrapreditor 222 é subtraído de um sinal de imagem de entrada (bloco original, arranjo de amostra original) para gerar um bloco residual de sinal residual, arranho de amostra residual), e o sinal residual gerado é transmitido ao transformador 232. Nesse caso, conforme mostrado, uma unidade para subtrair um sinal de predição (bloco predito, arranjo de amostra de predição) a partir do sinal de imagem de entrada (bloco original, arranjo de bloco original) no codificador 200 pode ser denominada como um subtrator 231. O preditor pode realizar uma predição em um bloco a ser processado (doravante, referido como um bloco atual) e gerar um bloco predito incluindo amostras de predição para o bloco atual. O preditor pode determinar se uma intrapredição ou uma interpredição é aplicada em um bloco atual ou base de CU. Conforme descrito mais adiante na descrição de cada modo de predição, o preditor pode gerar várias informações relacionadas à predição, tais como informações de modo de predição, e transmitir as informações geradas ao codificador de entropia 240. As informações sobre a predição podem ser codificadas no codificador de entropia 240 e emitidas sob a forma de um fluxo de bits.[054] In the encoding apparatus 200, a prediction signal (predicted block, prediction sample array) output from the interpredictor 221 or the intrapredictor 222 is subtracted from an input image signal (original block, original sample array) to generate a residual signal block (residual sample array), and the generated residual signal is transmitted to the transformer 232. In this case, as shown, a unit for subtracting a prediction signal (predicted block, prediction sample array) from the input image signal (original block, original block array) in the encoder 200 may be referred to as a subtractor 231. The predictor may perform a prediction on a block to be processed (hereinafter, referred to as a current block) and generate a predicted block including prediction samples for the current block. The predictor may determine whether an intra-prediction or an inter-prediction is applied on a current block or CU basis. As described further in the description of each prediction mode, the predictor may generate various prediction-related information, such as prediction mode information, and transmit the generated information to the entropy encoder 240. The prediction information may be encoded in the entropy encoder 240 and output in the form of a bit stream.
[055] O intrapreditor 222 pode predizer o bloco atual referindo-se às amostras na figuração atual. As amostras referidas podem estar localizadas na vizinhança do bloco atual ou podem estar localizadas separadas de acordo com o modo de predição. Na intrapredição, os modos de predição podem incluir uma pluralidade de modos não direcionais e uma pluralidade de modos direcionais. O modo não-direcional pode incluir, por exemplo, um modo DC e um modo planar. O modo direcional pode incluir, por exemplo, 33 modos de predição direcionais ou 65 modos de predição direcionais de acordo com o grau de detalhes da direção de predição. No entanto, esse é meramente um exemplo, mais ou menos modos de predição direcional podem ser usados dependendo de um ajuste. O intrapreditor 222 pode determinar o modo de predição aplicado ao bloco atual utilizando-se um modo de predição aplicado a um bloco vizinho.[055] The intrapredictor 222 may predict the current block by referring to samples in the current picture. The referred samples may be located in the vicinity of the current block or may be located apart according to the prediction mode. In intraprediction, the prediction modes may include a plurality of non-directional modes and a plurality of directional modes. The non-directional mode may include, for example, a DC mode and a planar mode. The directional mode may include, for example, 33 directional prediction modes or 65 directional prediction modes according to the degree of detail of the prediction direction. However, this is merely an example, more or less directional prediction modes may be used depending on a setting. The intrapredictor 222 may determine the prediction mode applied to the current block using a prediction mode applied to a neighboring block.
[056] O interpreditor 221 pode derivar um bloco predito para o bloco atual com base em um bloco de referência (arranjo de amostra de referência) especificado por um vetor de movimento em uma figuração de referência. No presente documento, a fim de reduzir a quantidade de informações de movimento transmitidas no modo de interpredição, as informações de movimento podem ser preditas em unidades de blocos, sub-blocos, ou amostras com base na correlação de informações de movimento entre o bloco vizinho e o bloco atual. As informações de movimento podem incluir um vetor de movimento e um índice de figuração de referência. As informações de movimento podem incluir, ainda, informações de direção de interpredição (predição L0, predição L1, predição Bi, etc.). No caso de interpredição, o bloco vizinho pode incluir um bloco vizinho espacial presente na figuração atual e um bloco vizinho temporal presente na figuração de referência. A figuração de referência incluindo o bloco de referência e a figuração de referência incluindo o bloco vizinho temporal podem ser iguais ou diferentes. O bloco vizinho temporal pode ser denominado como um bloco de referência colocalizado, uma CU colocalizada (colCU), e similares, e a figuração de referência incluindo o bloco vizinho temporal pode ser denominada como uma figuração colocalizada (colPic). Por exemplo, o interpreditor 221 pode configurar uma lista de candidato de informações de movimento com base em bloco vizinhos e gerar informações que indicam qual candidato é usado para derivar um vetor de movimento e/ou um índice de figuração de referência do bloco atual. A interpredição pode ser realizada com base em vários modos de predição. Por exemplo, no caso de um modo de omissão e um modo de união, o interpreditor 221 pode usar informações de movimento do bloco vizinho como informações de movimento do bloco atual. No modo de omissão, diferentemente do modo de união, o sinal residual pode não ser transmitido. No caso do modo de predição de vetor de movimento (MVP), o vetor de movimento do bloco vizinho pode ser usado como um vetor de movimento preditor e o vetor de movimento do bloco atual pode ser indicado sinalizando-se uma diferença de vetor de movimento.[056] The interpredictor 221 may derive a predicted block for the current block based on a reference block (reference sample array) specified by a motion vector in a reference picture. Herein, in order to reduce the amount of motion information transmitted in the interprediction mode, the motion information may be predicted in units of blocks, subblocks, or samples based on the correlation of motion information between the neighboring block and the current block. The motion information may include a motion vector and a reference picture index. The motion information may further include interprediction direction information (L0 prediction, L1 prediction, Bi prediction, etc.). In the case of interprediction, the neighboring block may include a spatial neighboring block present in the current picture and a temporal neighboring block present in the reference picture. The reference picture including the reference block and the reference picture including the temporal neighboring block may be the same or different. The temporal neighboring block may be referred to as a co-located reference block, a co-located CU (colCU), and the like, and the reference picture including the temporal neighboring block may be referred to as a co-located picture (colPic). For example, the interpredictor 221 may configure a candidate list of motion information based on neighboring blocks and generate information indicating which candidate is used to derive a motion vector and/or a reference picture index of the current block. Interprediction may be performed based on various prediction modes. For example, in the case of an omission mode and a merging mode, the interpredictor 221 may use motion information of the neighboring block as motion information of the current block. In the omission mode, unlike the merging mode, the residual signal may not be transmitted. In the case of motion vector prediction (MVP) mode, the motion vector of the neighboring block can be used as a predictor motion vector and the motion vector of the current block can be indicated by flagging a motion vector difference.
[057] O preditor 220 pode gerar um sinal de predição com base em vários métodos de predição descritos abaixo. Por exemplo, o preditor pode não somente aplicar uma intrapredição ou uma interpredição para predizer um bloco, mas também aplicar simultaneamente tanto intrapredição como interpredição. Isso pode ser denominado como inter e intrapredição combinadas (CIIP). Além disso, o preditor pode se basear em um modo de predição de cópia intrabloco (IBC) ou um modo de palete para predição de um bloco. O modo de predição de IBC ou o modo de palete podem ser usados para codificação de imagem/vídeo de conteúdo ou similares, por exemplo, codificação de conteúdo de tela (SCC). O IBC basicamente realiza uma predição na figuração atual, mas pode ser realizado similarmente para interpredição caracterizado pelo fato de um bloco de referência ser derivado na figuração atual. Ou seja, o IBC pode usar pelo menos uma das técnicas de interpredição descritas na presente revelação. O modo de palete pode ser considerado como um exemplo de intracodificação ou intrapredição. Quando o modo de palete for aplicado, um valor de amostra dentro de uma figuração pode ser sinalizado com base nas informações sobre a tabela de palete e o índice de palete.[057] The predictor 220 may generate a prediction signal based on various prediction methods described below. For example, the predictor may not only apply an intra-prediction or an inter-prediction to predict a block, but may also simultaneously apply both intra-prediction and inter-prediction. This may be referred to as combined inter- and intra-prediction (CIIP). Furthermore, the predictor may rely on an intra-block copy (IBC) prediction mode or a pallet mode for predicting a block. The IBC prediction mode or the pallet mode may be used for image/video coding of content or the like, e.g., screen content coding (SCC). The IBC basically performs a prediction on the current picture, but may be similarly performed for inter-prediction characterized in that a reference block is derived on the current picture. That is, the IBC may use at least one of the inter-prediction techniques described in the present disclosure. Pallet mode can be considered as an example of intracoding or intraprediction. When pallet mode is applied, a sample value within a figuration can be flagged based on information about the pallet table and the pallet index.
[058] O sinal de predição gerado pelo preditor (incluindo o interpreditor 221 e/ou o intrapreditor 222) pode ser usado para gerar um sinal reconstruído ou gerar um sinal residual. O transformador 232 pode gerar coeficientes de transformada aplicando-se uma técnica de transformada ao sinal residual. Por exemplo, a técnica de transformada pode incluir pelo menos uma dentre uma transformada discreta de cosseno (DCT), uma transformada discreta de seno (DST), uma transformada de karhunen-loève (KLT), uma transformada baseada em gráfico (GBT), ou uma transformada condicionalmente não linear (CNT). No presente documento, a GBT significa uma transformada de um gráfico quando as informações de relação entre pixels forem representadas pelo gráfico. A CNT se refere a uma transformada gerada com base em um sinal de predição gerado usando todos os pixels previamente reconstruídos. Além disso, o processo de transformada pode ser aplicado a blocos de pixel quadrado tendo o mesmo tamanho ou pode ser aplicado a blocos tendo um tamanho variável ao invés de quadrado.[058] The prediction signal generated by the predictor (including interpredictor 221 and/or intrapredictor 222) may be used to generate a reconstructed signal or generate a residual signal. Transformer 232 may generate transform coefficients by applying a transform technique to the residual signal. For example, the transform technique may include at least one of a discrete cosine transform (DCT), a discrete sine transform (DST), a karhunen-loève transform (KLT), a graph-based transform (GBT), or a conditionally nonlinear transform (CNT). In this document, GBT means a transform of a graph when the relationship information between pixels is represented by the graph. CNT refers to a transform generated based on a prediction signal generated using all previously reconstructed pixels. Furthermore, the transform process can be applied to square pixel blocks having the same size or it can be applied to blocks having a variable size rather than square.
[059] O quantizador 233 pode quantizar os coeficientes de transformada e transmiti-los ao codificador de entropia 240 e o codificador de entropia 240 pode codificar o sinal quantizado (informações sobre os coeficientes de transformada quantizados) e emitir um fluxo de bits. As informações sobre os coeficientes de transformada quantizados podem ser referidas como informações residuais. O quantizador 233 pode rearranjar os coeficientes de transformada quantizados tipo bloco em uma forma de vetor unidimensional com base em uma ordem de varredura de coeficiente e gerar informações sobre os coeficientes de transformada quantizados com base nos coeficientes de transformada quantizados na forma de vetor unidimensional. As informações em coeficientes de transformada podem ser geradas. O codificador de entropia 240 pode realizar vários métodos de codificação como, por exemplo, Golomb exponencial, codificação de comprimento variável adaptativa de contexto (CAVLC), codificação aritmética binária adaptativa de contexto (CABAC), e similares. O codificador de entropia 240 pode codificar as informações necessárias para reconstrução de vídeo/imagem diferentes dos coeficientes de transformada quantizados (ex. valores de elementos de sintaxe, etc.) juntos ou separadamente. As informações codificadas (ex. informações de vídeo/imagem codificadas) podem ser transmitidas ou armazenadas em unidades de NALs (camada de abstração de rede) sob a forma de um fluxo de bits. As informações de vídeo/imagem podem incluir, ainda, informações em vários conjuntos de parâmetros como um conjunto de parâmetro de adaptação (APS), um conjunto de parâmetro de figuração (PPS), um conjunto de parâmetro de sequência (SPS), ou um conjunto de parâmetro de vídeo (VPS). Além disso, as informações de vídeo/imagem podem incluir, ainda, informações de restrição gerais. Na presente revelação, informações e/ou elementos de sintaxe transmitidos/sinalizados a partir do aparelho de codificação ao aparelho de decodificação podem ser incluídos em informações de vídeo/figuração. As informações de vídeo/imagem podem ser codificadas através do procedimento de codificação descrito acima e incluídas no fluxo de bits. O fluxo de bits pode ser transmitido por uma rede ou pode ser armazenado em um meio de armazenamento digital. A rede pode incluir uma rede de radiodifusão e/ou uma rede de comunicação, e o meio de armazenamento digital pode incluir várias mídias de armazenamento como USB, SD, CD, DVD, Blu-ray, HDD, SSD e similares. Um transmissor (não mostrado) que transmite um sinal emitido a partir do codificador de entropia 240 e/ou uma unidade de armazenamento (não mostrada) que armazena o sinal pode ser incluído como elemento interno/externo do aparelho de codificação 200, e, alternativamente, o transmissor pode ser incluído no codificador de entropia 240.[059] The quantizer 233 may quantize the transform coefficients and transmit them to the entropy encoder 240, and the entropy encoder 240 may encode the quantized signal (information about the quantized transform coefficients) and output a bit stream. The information about the quantized transform coefficients may be referred to as residual information. The quantizer 233 may rearrange the block-type quantized transform coefficients into a one-dimensional vector form based on a coefficient scan order, and generate information about the quantized transform coefficients based on the quantized transform coefficients in the one-dimensional vector form. The information on transform coefficients may be generated. The entropy encoder 240 may perform various coding methods, such as exponential Golomb, context adaptive variable length coding (CAVLC), context adaptive binary arithmetic coding (CABAC), and the like. The entropy encoder 240 may encode information required for video/image reconstruction other than the quantized transform coefficients (e.g., syntax element values, etc.) together or separately. The encoded information (e.g., encoded video/image information) may be transmitted or stored in NALs (network abstraction layer) units in the form of a bit stream. The video/image information may further include information on various parameter sets such as an adaptation parameter set (APS), a figuration parameter set (PPS), a sequence parameter set (SPS), or a video parameter set (VPS). Furthermore, the video/image information may further include general constraint information. In the present disclosure, information and/or syntax elements transmitted/signaled from the encoding apparatus to the decoding apparatus may be included in video/image information. The video/image information may be encoded by the encoding procedure described above and included in the bit stream. The bit stream may be transmitted over a network or may be stored on a digital storage medium. The network may include a broadcasting network and/or a communication network, and the digital storage medium may include various storage media such as USB, SD, CD, DVD, Blu-ray, HDD, SSD, and the like. A transmitter (not shown) that transmits a signal output from the entropy encoder 240 and/or a storage unit (not shown) that stores the signal may be included as an internal/external element of the encoding apparatus 200, and alternatively, the transmitter may be included in the entropy encoder 240.
[060] Os coeficientes de transformada quantizados emitidos a partir do quantizador 233 podem ser usados para gerar um sinal de predição. Por exemplo, o sinal residual (bloco residual ou amostras residuais) pode ser reconstruído aplicando- se desquantização e transformada inversa aos coeficientes de transformada quantizados através do desquantizador 234 e do transformador inverso 235. O adicionador 250 adiciona o sinal residual reconstruído ao sinal de predição emitido a partir do interpreditor 221 ou do intrapreditor 222 para gerar um sinal reconstruído (figuração reconstruída, bloco reconstruído, arranjo de amostra reconstruída). Se não existir um residual para o bloco a ser processado, tal como um caso onde o modo de omissão é aplicado, o bloco predito pode ser usado como o bloco reconstruído. O adicionador 250 pode ser denominado como um reconstrutor ou um gerador de bloco reconstruído. O sinal reconstruído gerado pode ser usado para intrapredição de um próximo bloco a ser processado na figuração atual e pode ser usado para interpredição de uma próxima figuração através da filtragem conforme descrito abaixo.[060] The quantized transform coefficients output from quantizer 233 may be used to generate a prediction signal. For example, the residual signal (residual block or residual samples) may be reconstructed by applying dequantization and inverse transform to the quantized transform coefficients via dequantizer 234 and inverse transform 235. Adder 250 adds the reconstructed residual signal to the prediction signal output from interpredictor 221 or intrapredictor 222 to generate a reconstructed signal (reconstructed figuration, reconstructed block, reconstructed sample array). If there is no residual for the block to be processed, such as a case where skip mode is applied, the predicted block may be used as the reconstructed block. Adder 250 may be referred to as a reconstructor or a reconstructed block generator. The generated reconstructed signal can be used for intraprediction of a next block to be processed in the current figuration and can be used for interprediction of a next figuration through filtering as described below.
[061] Entretanto, o mapeamento de luma com escalonamento de croma (LMCS) pode ser aplicado durante codificação e/ou reconstrução de figuração.[061] However, luma mapping with chroma scaling (LMCS) can be applied during coding and/or figuration reconstruction.
[062] O filtro 260 pode aperfeiçoar a qualidade de imagem subjetiva/objetiva aplicando-se filtragem ao sinal reconstruído. Por exemplo, o filtro 260 pode gerar uma figuração reconstruída modificada aplicando-se vários métodos de filtragem à figuração reconstruída e armazenar a figuração reconstruída modificada na memória 270, especificamente, um DPB da memória 270. Os vários métodos de filtragem podem incluir, por exemplo, filtragem de desbloqueio, um deslocamento adaptativo de amostra, um filtro de laço adaptativo, um filtro bilateral, e similares. O filtro 260 pode gerar várias informações relacionadas à filtragem e transmitir as informações geradas ao codificador de entropia 240 conforme descrito mais adiante na descrição de cada método de filtragem. As informações relacionadas à filtragem podem ser codificadas pelo codificador de entropia 240 e emitidas sob a forma de um fluxo de bits.[062] Filter 260 may improve subjective/objective image quality by applying filtering to the reconstructed signal. For example, filter 260 may generate a modified reconstructed image by applying various filtering methods to the reconstructed image and store the modified reconstructed image in memory 270, specifically, a DPB of memory 270. The various filtering methods may include, for example, deblocking filtering, an adaptive sample shift, an adaptive loop filter, a bilateral filter, and the like. Filter 260 may generate various filtering-related information and transmit the generated information to entropy encoder 240 as described further in the description of each filtering method. The filtering-related information may be encoded by entropy encoder 240 and output as a bit stream.
[063] A figuração reconstruída modificada transmitida à memória 270 pode ser usada como a figuração de referência no interpreditor 221. Quando a interpredição for aplicada através do aparelho de codificação, incompatibilidade de predição entre o aparelho de codificação 200 e o aparelho de decodificação 300 pode ser evitada e a eficiência de codificação pode ser aperfeiçoada.[063] The modified reconstructed picture transmitted to the memory 270 can be used as the reference picture in the interpredictor 221. When the interprediction is applied through the encoding apparatus, prediction mismatch between the encoding apparatus 200 and the decoding apparatus 300 can be avoided and the encoding efficiency can be improved.
[064] O DPB da memória 270 DPB pode armazenar a figuração reconstruída modificada para uso como uma figuração de referência no interpreditor 221. A memória 270 pode armazenar as informações de movimento do bloco a partir do qual as informações de movimento na figuração atual são derivadas (ou codificadas) e/ou as informações de movimento dos blocos na figuração que já foi reconstruída. As informações de movimento armazenadas podem ser transmitidas ao interpreditor 221 e usadas como as informações de movimento do bloco vizinho espacial ou as informações de movimento do bloco vizinho temporal. A memória 270 pode armazenar amostras reconstruídas de blocos reconstruídos na figuração atual e pode transferir as amostras reconstruídas ao intrapreditor 222.[064] The DPB of the DPB memory 270 may store the modified reconstructed picture for use as a reference picture in the interpredictor 221. The memory 270 may store the motion information of the block from which the motion information in the current picture is derived (or encoded) and/or the motion information of the blocks in the picture that have already been reconstructed. The stored motion information may be transmitted to the interpredictor 221 and used as the spatial neighbor block motion information or the temporal neighbor block motion information. The memory 270 may store reconstructed samples of reconstructed blocks in the current picture and may transfer the reconstructed samples to the intrapredictor 222.
[065] A Figura 3 é um diagrama esquemático que ilustra uma configuração de um aparelho de decodificação de vídeo/imagem ao qual as modalidades da presente revelação podem ser aplicadas.[065] Figure 3 is a schematic diagram illustrating a configuration of a video/image decoding apparatus to which embodiments of the present disclosure may be applied.
[066] Referindo-se à Figura 3, o aparelho de decodificação 300 pode incluir um decodificador de entropia 310, um processador de residual 320, um preditor 330, um adicionador 340, um filtro 350, uma memória 360. O preditor 330 pode incluir um interpreditor 331 e um intrapreditor 332. O processador de residual 320 pode incluir um desquantizador 321 e um transformador inverso 322. O decodificador de entropia 310, o processador de residual 320, o preditor 330, o adicionador 340, e o filtro 350 podem ser configurados por um componente de hardware (ex. um chipset de decodificador ou um processador) de acordo com uma modalidade. Além disso, a memória 360 pode incluir uma memória temporária de figuração decodificada (DPB) ou pode ser configurada por um meio de armazenamento digital. O componente de hardware pode incluir, ainda, a memória 360 como um componente interno/externo.[066] Referring to Figure 3 , decoding apparatus 300 may include an entropy decoder 310, a residual processor 320, a predictor 330, an adder 340, a filter 350, a memory 360. Predictor 330 may include an interpredictor 331 and an intrapredictor 332. Residual processor 320 may include a dequantizer 321 and an inverse transformer 322. Entropy decoder 310, residual processor 320, predictor 330, adder 340, and filter 350 may be configured by a hardware component (e.g., a decoder chipset or a processor) according to one embodiment. Additionally, memory 360 may include a decoded picture buffer (DPB) or may be configured by a digital storage medium. The hardware component may further include memory 360 as an internal/external component.
[067] Quando um fluxo de bits incluindo informações de vídeo/imagem for inserido, o aparelho de decodificação 300 pode reconstruir uma imagem correspondente a um processo no qual as informações de vídeo/imagem são processadas no aparelho de codificação da Figura 2. Por exemplo, o aparelho de decodificação 300 pode derivar unidades/blocos com base nas informações relacionadas à partição de bloco obtidas a partir do fluxo de bits. O aparelho de decodificação 300 pode realizar decodificação usando um processador aplicado no aparelho de codificação. Logo, o processador de decodificação pode ser uma unidade de codificação, por exemplo, e a unidade de codificação pode ser particionada de acordo com uma estrutura de árvore quaternária, estrutura de árvore binária e/ou estrutura de árvore terciária a partir da unidade de árvore de codificação ou a maior unidade de codificação. Uma ou mais unidades de transformada podem ser derivadas a partir da unidade de codificação. O sinal de imagem reconstruída decodificado e emitido através do aparelho de decodificação 300 pode ser reproduzido através de um aparelho de reprodução.[067] When a bit stream including video/image information is input, the decoding apparatus 300 may reconstruct an image corresponding to a process in which the video/image information is processed in the encoding apparatus of Figure 2. For example, the decoding apparatus 300 may derive units/blocks based on the block partition related information obtained from the bit stream. The decoding apparatus 300 may perform decoding using a processor applied in the encoding apparatus. Thus, the decoding processor may be a coding unit, for example, and the coding unit may be partitioned according to a quaternary tree structure, binary tree structure, and/or tertiary tree structure from the coding tree unit or the largest coding unit. One or more transform units may be derived from the coding unit. The reconstructed image signal decoded and output through the decoding apparatus 300 may be reproduced through a reproduction apparatus.
[068] O aparelho de decodificação 300 pode receber um sinal emitido a partir do aparelho de codificação da Figura 2 sob a forma de um fluxo de bits, e o sinal recebido pode ser decodificado através do decodificador de entropia 310. Por exemplo, o decodificador de entropia 310 pode analisar o fluxo de bits para derivar informações (ex. informações de vídeo/imagem) necessárias para reconstrução de imagem (ou reconstrução de figuração). As informações de vídeo/imagem podem incluir, ainda, informações em vários conjuntos de parâmetros como um conjunto de parâmetro de adaptação (APS), um conjunto de parâmetro de figuração (PPS), um conjunto de parâmetro de sequência (SPS), ou um conjunto de parâmetro de vídeo (VPS). Além disso, as informações de vídeo/imagem podem incluir, ainda, informações de restrição geral. O aparelho de decodificação pode decodificar, ainda, uma figuração com base nas informações no conjunto de parâmetro e/ou as informações de restrição geral. As informações sinalizadas/recebidas e/ou elementos de sintaxe descritos posteriormente na presente revelação que podem ser decodificadas podem decodificar o procedimento de decodificação e obtidas a partir do fluxo de bits. Por exemplo, o decodificador de entropia 310 decodifica as informações no fluxo de bits com base em um método de codificação tal como codificação exponencial de Golomb, CAVLC, ou CABAC, e elementos de sintaxe emitidos necessários para reconstrução de imagem e valores quantizados e coeficientes de transformada para residual. De modo mais específico, o método de decodificação de entropia de CABAC pode receber um bin correspondente a cada elemento de sintaxe no fluxo de bits, determinar um modelo de contexto usando informações de elemento de sintaxe alvo de decodificação, informações de decodificação de um bloco alvo de decodificação ou informações de um símbolo/bin decodificadas em estágio prévio, e realizar uma decodificação aritmética no bin predizendo-se uma probabilidade de ocorrência de um bin de acordo com o modelo de contexto determinado, e gerar um símbolo correspondente ao valor de cada elemento de sintaxe. Nesse caso, o método de decodificação de entropia de CABAC pode atualizar o modelo de contexto utilizando-se as informações do símbolo/bin decodificados para um modelo de contexto de um próximo símbolo/bin após determinar o modelo de contexto. As informações relacionadas à predição dentre as informações decodificadas pelo decodificador de entropia 310 podem ser proporcionadas ao preditor (o interpreditor 332 e o intrapreditor 331), e o valor residual no qual uma decodificação de entropia foi realizada no decodificador de entropia 310, ou seja, os coeficientes de transformada quantizada e informações de parâmetro relacionadas, podem ser emitidos ao processador de residual 320. O processador de residual 320 pode derivar o sinal residual (o bloco residual, as amostras residuais, o arranjo de amostra residual). Além disso, as informações sobre filtragem dentre informações decodificadas pelo decodificador de entropia 310 podem proporcionadas ao filtro 350. Entretanto, um receptor (não mostrado) para receber um sinal emitido a partir do aparelho de codificação pode ser configurado, ainda, como um elemento interno/externo do aparelho de decodificação 300, ou o receptor pode ser um componente do decodificador de entropia 310. Entretanto, o aparelho de decodificação de acordo com a presente revelação pode ser referido como um aparelho de decodificação de vídeo/imagem/figuração, e o aparelho de decodificação pode ser classificado em um decodificador de informações (decodificador de informações de vídeo/imagem/figuração) e um decodificador de amostra (decodificador de amostra de vídeo/imagem/figuração sample). O decodificador de informações pode incluir o decodificador de entropia 310, e o decodificador de amostra pode incluir pelo menos um dentre o desquantizador 321, o transformador inverso 322, o adicionador 340, o filtro 350, a memória 360, o interpreditor 332, e o intrapreditor 331.[068] The decoding apparatus 300 may receive a signal output from the encoding apparatus of Figure 2 in the form of a bit stream, and the received signal may be decoded by the entropy decoder 310. For example, the entropy decoder 310 may analyze the bit stream to derive information (e.g., video/image information) necessary for image reconstruction (or picture reconstruction). The video/image information may further include information in various parameter sets such as an adaptation parameter set (APS), a picture parameter set (PPS), a sequence parameter set (SPS), or a video parameter set (VPS). In addition, the video/image information may further include general constraint information. The decoding apparatus may further decode a picture based on the information in the parameter set and/or the general constraint information. The signaled/received information and/or syntax elements described later in the present disclosure that can be decoded can decode the decoding procedure and obtained from the bit stream. For example, the entropy decoder 310 decodes the information in the bit stream based on a coding method such as Golomb exponential coding, CAVLC, or CABAC, and outputs syntax elements required for image reconstruction and quantized values and residual transform coefficients. More specifically, the CABAC entropy decoding method can receive a bin corresponding to each syntax element in the bit stream, determine a context model using decoding target syntax element information, decoding information of a decoding target block, or information of a symbol/bin decoded in a previous stage, and perform arithmetic decoding on the bin by predicting a probability of occurrence of a bin according to the determined context model, and generate a symbol corresponding to the value of each syntax element. In this case, the CABAC entropy decoding method may update the context model using the decoded symbol/bin information for a context model of a next symbol/bin after determining the context model. The prediction-related information among the information decoded by the entropy decoder 310 may be provided to the predictor (the inter-predictor 332 and the intra-predictor 331), and the residual value on which an entropy decoding has been performed in the entropy decoder 310, i.e., the quantized transform coefficients and related parameter information, may be output to the residual processor 320. The residual processor 320 may derive the residual signal (the residual block, the residual samples, the residual sample array). Furthermore, filtering information among information decoded by entropy decoder 310 may be provided to filter 350. However, a receiver (not shown) for receiving a signal output from the encoding apparatus may be further configured as an internal/external element of decoding apparatus 300, or the receiver may be a component of entropy decoder 310. However, the decoding apparatus according to the present disclosure may be referred to as a video/image/picture decoding apparatus, and the decoding apparatus may be classified into an information decoder (video/image/picture information decoder) and a sample decoder (video/image/picture sample decoder). The information decoder may include entropy decoder 310, and the sample decoder may include at least one of dequantizer 321, inverse transformer 322, adder 340, filter 350, memory 360, interpredictor 332, and intrapredictor 331.
[069] O desquantizador 321 pode desquantizar os coeficientes de transformada quantizados e emitir os coeficientes de transformada. O desquantizador 321 pode rearranjar os coeficientes de transformada quantizados sob a forma de uma forma de bloco bidimensional. Nesse caso, o rearranjo pode ser realizado com base na ordem de varredura de coeficiente realizada no aparelho de codificação. O desquantizador 321 pode realizar uma desquantização nos coeficientes de transformada quantizados utilizando-se um parâmetro de quantização (ex. informações de tamanho de etapa de quantização) e obtém coeficientes de transformada.[069] The dequantizer 321 may dequantize the quantized transform coefficients and output the transform coefficients. The dequantizer 321 may rearrange the quantized transform coefficients in the form of a two-dimensional block form. In this case, the rearrangement may be performed based on the coefficient scan order performed in the encoding apparatus. The dequantizer 321 may perform dequantization on the quantized transform coefficients using a quantization parameter (e.g., quantization step size information) and obtain transform coefficients.
[070] O transformador inverso 322 transforma inversamente os coeficientes de transformada para obter um sinal residual (bloco residual, arranjo de amostra residual).[070] The inverse transformer 322 inversely transforms the transform coefficients to obtain a residual signal (residual block, residual sample array).
[071] O preditor pode realizar uma predição no bloco atual e gerar um bloco predito incluindo amostras de predição para o bloco atual. O preditor pode determinar se intrapredição ou interpredição é aplicada ao bloco atual com base nas informações na predição emitida a partir do decodificador de entropia 310 e pode determinar um modo de intra/interpredição específico.[071] The predictor may perform a prediction on the current block and generate a predicted block including prediction samples for the current block. The predictor may determine whether intra-prediction or inter-prediction is applied to the current block based on information in the prediction output from the entropy decoder 310, and may determine a specific intra-/inter-prediction mode.
[072] O preditor 320 pode gerar um sinal de predição com base em vários métodos de predição descritos mais adiante. Por exemplo, o preditor pode não somente aplicar intrapredição ou interpredição para predizer um bloco, mas também aplicar simultaneamente intrapredição e interpredição. Isso pode ser denominado como inter e intrapredição combinadas (CIIP). Além disso, o preditor pode se basear em um modo de intrapredição de cópia de bloco (IBC) ou um modo de palete para predição de um bloco. O modo de predição IBC ou modo de palete pode ser usado para codificação de imagem/vídeo de conteúdo de um jogo ou similares, por exemplo, codificação de conteúdos em tela (etapa, SCC). O IBC basicamente realiza predição na figuração atual, mas pode ser realizado similarmente à interpredição caracterizada pelo fato de que um bloco de referência é derivado na figuração atual. Ou seja, o IBC pode usar pelo menos uma das técnicas de interpredição descritas na presente revelação. O modo de palete pode ser considerado como um exemplo de intracodificação ou intrapredição. Quando o modo de palete for aplicado, um valor de amostra em uma figuração pode ser sinalizado com base nas informações na tabela de palete e no índice de palete.[072] The predictor 320 may generate a prediction signal based on various prediction methods described later. For example, the predictor may not only apply intra-prediction or inter-prediction to predict a block, but may also simultaneously apply intra-prediction and inter-prediction. This may be referred to as combined inter- and intra-prediction (CIIP). Furthermore, the predictor may rely on a block copy (IBC) intra-prediction mode or a pallet mode for predicting a block. The IBC prediction mode or pallet mode may be used for image/video coding of game content or the like, e.g., on-screen content (SCC) coding. IBC basically performs prediction on the current picture, but may be performed similarly to inter-prediction characterized in that a reference block is derived on the current picture. That is, IBC may use at least one of the inter-prediction techniques described in the present disclosure. Pallet mode can be considered as an example of intracoding or intraprediction. When pallet mode is applied, a sample value in a figuration can be signaled based on the information in the pallet table and the pallet index.
[073] O intrapreditor 331 pode predizer o bloco atual referindo-se às amostras na figuração atual. As amostras referidas podem estar localizadas na vizinhança do bloco atual ou podem estar localizadas separadas de acordo com o modo de predição. Na intrapredição, os modos de predição podem incluir uma pluralidade de modos não direcionais e uma pluralidade de modos direcionais. O intrapreditor 331 pode determinar o modo de predição aplicado ao bloco atual utilizando-se um modo de predição aplicado a um bloco vizinho.[073] The intrapredictor 331 may predict the current block by referring to samples in the current picture. The referred samples may be located in the vicinity of the current block or may be located apart according to the prediction mode. In intraprediction, the prediction modes may include a plurality of non-directional modes and a plurality of directional modes. The intrapredictor 331 may determine the prediction mode applied to the current block using a prediction mode applied to a neighboring block.
[074] O interpreditor 332 pode derivar a bloco predito para o bloco atual com base em um bloco de referência (arranjo de amostra de referência) especificado por um vetor de movimento em uma figuração de referência. Nesse caso, a fim de reduzir a quantidade de informações de movimento transmitidas no modo de interpredição, as informações de movimento podem ser preditas em unidades de blocos, sub-blocos, ou amostras com base na correlação de informações de movimento entre o bloco vizinho e o bloco atual. As informações de movimento podem incluir um vetor de movimento e um índice de figuração de referência. As informações de movimento podem incluir, ainda informações de direção de interpredição (predição L0, predição L1, predição Bi, etc.). No caso de interpredição, o bloco vizinho pode incluir um bloco vizinho espacial presente na figuração atual e um bloco vizinho temporal presente na figuração de referência. Por exemplo, o interpreditor 332 pode configurar uma lista de candidato de informações de movimento com base em blocos vizinhos e derivar um vetor de movimento do bloco atual e/ou um índice de figuração de referência com base nas informações de seleção de candidato recebidas. A interpredição pode ser realizada com base em vários modos de predição, e as informações sobre a predição podem incluir informações que indicam um modo de interpredição para o bloco atual.[074] The interpredictor 332 may derive the predicted block for the current block based on a reference block (reference sample array) specified by a motion vector in a reference picture. In this case, in order to reduce the amount of motion information transmitted in the interprediction mode, the motion information may be predicted in units of blocks, subblocks, or samples based on the correlation of motion information between the neighboring block and the current block. The motion information may include a motion vector and a reference picture index. The motion information may further include interprediction direction information (L0 prediction, L1 prediction, Bi prediction, etc.). In the case of interprediction, the neighboring block may include a spatial neighboring block present in the current picture and a temporal neighboring block present in the reference picture. For example, the interpredictor 332 may configure a candidate list of motion information based on neighboring blocks and derive a motion vector of the current block and/or a reference figuration index based on the received candidate selection information. The interprediction may be performed based on multiple prediction modes, and the prediction information may include information indicating an interprediction mode for the current block.
[075] O adicionador 340 pode gerar um sinal reconstruído (figuração reconstruída, bloco reconstruído, arranjo de amostra reconstruído) adicionando-se o sinal residual obtido ao sinal de predição (bloco predito, arranjo de amostra predita) emitido a partir do preditor (incluindo o interpreditor 332 e/ou o intrapreditor 331). Se não houver um residual para o bloco a ser processado, tal como quando o modo de omissão for aplicado, o bloco predito pode ser usado como o bloco reconstruído.[075] The adder 340 may generate a reconstructed signal (reconstructed pattern, reconstructed block, reconstructed sample array) by adding the obtained residual signal to the prediction signal (predicted block, predicted sample array) output from the predictor (including the inter-predictor 332 and/or the intra-predictor 331). If there is no residual for the block to be processed, such as when the skip mode is applied, the predicted block may be used as the reconstructed block.
[076] O adicionador 340 pode ser denominado como reconstrutor ou um gerador de bloco reconstruído. O sinal reconstruído gerado pode ser usado para intrapredição de um próximo bloco a ser processado na figuração atual, pode ser emitido através de filtragem conforme descrito abaixo, ou pode ser usado para interpredição de uma próxima figuração.[076] The adder 340 may be referred to as a reconstructor or a reconstructed block generator. The generated reconstructed signal may be used for intraprediction of a next block to be processed in the current picture, may be output through filtering as described below, or may be used for interprediction of a next picture.
[077] Entretanto, um mapeamento de luma com escalonamento de croma (LMCS) pode ser aplicado no processo de decodificação de figuração.[077] However, a luma mapping with chroma scaling (LMCS) can be applied in the figuration decoding process.
[078] O filtro 350 pode aperfeiçoar a qualidade de imagem subjetiva/objetiva aplicando-se filtragem ao sinal reconstruído. Por exemplo, o filtro 350 pode gerar uma figuração reconstruída modificada aplicando-se vários métodos de filtragem à figuração reconstruída e armazenar a figuração reconstruída modificada na memória 360, especificamente, um DPB da memória 360. Os vários métodos de filtragem podem incluir, por exemplo, filtragem de desbloqueio, um deslocamento adaptativo de amostra, um filtro de laço adaptativo, um filtro bilateral, e similares.[078] Filter 350 may improve subjective/objective image quality by applying filtering to the reconstructed signal. For example, filter 350 may generate a modified reconstructed image by applying various filtering methods to the reconstructed image and store the modified reconstructed image in memory 360, specifically, a DPB of memory 360. The various filtering methods may include, for example, deblocking filtering, an adaptive sample shift, an adaptive loop filter, a bilateral filter, and the like.
[079] A figuração reconstruída (modificada) armazenada no DPB da memória 360 pode ser usada como uma figuração de referência no interpreditor 332. A memória 360 pode armazenar as informações de movimento do bloco a partir do qual as informações de movimento na figuração atual são derivadas (ou decodificadas) e/ou as informações de movimento dos blocos na figuração que já foram reconstruídas. As informações de movimento armazenadas podem ser transmitidas ao interpreditor 260 a fim de serem utilizadas como as informações de movimento do bloco vizinho espacial ou as informações de movimento do bloco vizinho temporal. A memória 360 pode armazenar amostras reconstruídas de blocos reconstruídos na figuração atual e transferir as amostras reconstruídas ao intrapreditor 331.[079] The reconstructed (modified) figuration stored in the DPB of memory 360 may be used as a reference figuration in interpredictor 332. Memory 360 may store the motion information of the block from which the motion information in the current figuration is derived (or decoded) and/or the motion information of blocks in the figuration that have already been reconstructed. The stored motion information may be transmitted to interpredictor 260 for use as the motion information of the spatial neighboring block or the motion information of the temporal neighboring block. Memory 360 may store reconstructed samples of reconstructed blocks in the current figuration and transfer the reconstructed samples to intrapredictor 331.
[080] Na presente revelação, as modalidades descritas no filtro 260, o interpreditor 221, e o intrapreditor 222 do aparelho de codificação 200 podem ser iguais ou respectivamente aplicados a corresponder ao filtro 350, o interpreditor 332, e o intrapreditor 331 do aparelho de decodificação 300. O mesmo pode se aplicar à unidade 332 e ao intrapreditor 331.[080] In the present disclosure, the embodiments described in the filter 260, the interpredictor 221, and the intrapredictor 222 of the encoding apparatus 200 may be the same or respectively applied to correspond to the filter 350, the interpredictor 332, and the intrapredictor 331 of the decoding apparatus 300. The same may apply to the unit 332 and the intrapredictor 331.
[081] Na presente revelação, pelo menos uma dentre quantização/quantização inversa e/ou transformada/transformada inversa pode ser omitida. Quando a quantização/quantização inversa for omitida, os coeficientes de transformada quantizados podem ser denominados como coeficientes de transformada. Quando a transformada/transforma inversa for omitida, os coeficientes de transformada podem ser denominados como coeficientes ou coeficientes residuais, ou ainda podem ser denominados como coeficientes de transformada por motivos de uniformidade de expressão.[081] In the present disclosure, at least one of quantization/inverse quantization and/or transform/inverse transform may be omitted. When quantization/inverse quantization is omitted, the quantized transform coefficients may be referred to as transform coefficients. When transform/inverse transform is omitted, the transform coefficients may be referred to as coefficients or residual coefficients, or may be referred to as transform coefficients for the sake of uniformity of expression.
[082] Na presente revelação, um coeficiente de transformada quantizado e um coeficiente de transformada podem ser referidos como um coeficiente de transformada e um coeficiente de transformada escalonado, respectivamente. Nesse caso, as informações residuais podem incluir informações sobre coeficiente(s) de transformada, e as informações sobre coeficiente(s) de transformada podem ser sinalizadas através de uma sintaxe de codificação residual. Os coeficientes de transformada podem ser derivados com base nas informações residuais (ou nas informações sobre o(s) coeficiente(s) de transformada), e os coeficientes de transformada escalonados podem ser derivados por transformação inversa (escalonamento) nos coeficientes de transformada. As amostras residuais podem ser derivadas com base na transformação inversa (transformação) nos coeficientes de transformada escalonados. Isso também pode ser aplicado/expressado em outras partes da presente revelação.[082] In the present disclosure, a quantized transform coefficient and a transform coefficient may be referred to as a transform coefficient and a scaled transform coefficient, respectively. In this case, the residual information may include information about transform coefficient(s), and the information about transform coefficient(s) may be signaled via a residual coding syntax. The transform coefficients may be derived based on the residual information (or information about the transform coefficient(s), and the scaled transform coefficients may be derived by inversely transforming (scaling) the transform coefficients. The residual samples may be derived based on inversely transforming (transforming) the scaled transform coefficients. This may also be applied/expressed elsewhere in the present disclosure.
[083] Conforme descrito acima, o aparelho de codificação pode realizar vários métodos de codificação tais como Golomb exponencial, codificação de comprimento variável adaptativa em contexto (CAVLC) e codificação aritmética binária adaptativa em contexto (CABAC). Além disso, o aparelho de decodificação pode decodificar informações em um fluxo de bits com base em um método de codificação tal como codificação de Golomb exponencial, CAVLC ou CABAC, e emitir um valor de um elemento de sintaxe exigido para reconstrução de imagem e valores quantizados de coeficientes de transformada relacionados a residuais.[083] As described above, the encoding apparatus may perform various encoding methods such as exponential Golomb, context adaptive variable length coding (CAVLC), and context adaptive binary arithmetic coding (CABAC). Furthermore, the decoding apparatus may decode information in a bit stream based on an encoding method such as exponential Golomb coding, CAVLC, or CABAC, and output a value of a syntax element required for image reconstruction and quantized values of transform coefficients related to residuals.
[084] Por exemplo, os métodos de codificação descritos anteriormente podem ser realizados conforme descrito abaixo.[084] For example, the encoding methods described above can be performed as described below.
[085] A Figura 4 mostra, de modo exemplificativo, uma codificação aritmética binária adaptativa em contexto (CABAC) para codificar um elemento de sintaxe. Por exemplo, no processo de codificação de CABAC, quando um sinal de entrada for um elemento de sintaxe, ao invés de um valor binário, o aparelho de codificação pode converter o sinal de entrada em um valor binário binarizando-se o valor do sinal de entrada. Além disso, quando o sinal de entrada já é um valor binário (isto é, quando o valor do sinal de entrada for um valor binário), a binarização não pode ser realizada e pode ser desviada. No presente documento, cada número binário 0 ou 1 que constitui um valor binário pode ser referido como um bin. Por exemplo, se uma cadeia binária após a binarização for 110, cada 1, 1 e 0 é denominado como um bin. O(s) bin(s) para um elemento de sintaxe pode(m) indicar um valor do elemento de sintaxe.[085] Figure 4 shows, by way of example, a context-adaptive binary arithmetic coding (CABAC) for encoding a syntax element. For example, in the CABAC encoding process, when an input signal is a syntax element rather than a binary value, the encoding apparatus can convert the input signal into a binary value by binarizing the value of the input signal. Furthermore, when the input signal is already a binary value (i.e., when the value of the input signal is a binary value), binarization cannot be performed and may be bypassed. In this document, each binary number 0 or 1 that constitutes a binary value may be referred to as a bin. For example, if a binary string after binarization is 110, each 1, 1, and 0 is referred to as a bin. The bin(s) for a syntax element may indicate a value of the syntax element.
[086] Posteriormente, os bins binarizados do elemento de sintaxe podem ser inseridos a um mecanismo de codificação regular ou um mecanismo de codificação de desvio. O mecanismo de codificação regular do aparelho de codificação pode alocar um modelo de contexto que reflete um valor de probabilidade ao bin correspondente, e pode codificar o bin correspondente com base no modelo de contexto alocado. O mecanismo de codificação regular do aparelho de codificação pode atualizar um modelo de contexto para cada bin após realizar codificação em cada bin. Um bin codificado conforme descrito anteriormente pode ser referido como um bin codificado por contexto.[086] Subsequently, the binarized bins of the syntax element may be input to a regular encoding engine or a bias encoding engine. The regular encoding engine of the encoding apparatus may allocate a context model that reflects a probability value to the corresponding bin, and may encode the corresponding bin based on the allocated context model. The regular encoding engine of the encoding apparatus may update a context model for each bin after performing encoding on each bin. A bin encoded as described above may be referred to as a context-encoded bin.
[087] Entretanto, quando os bins binarizados do elemento de sintaxe forem inseridos ao mecanismo de codificação de desvio, os mesmos podem ser codificados da seguinte forma. Por exemplo, o mecanismo de codificação de desvio do aparelho de codificação omite um procedimento de estimar uma probabilidade em relação a um bin de entrada e um procedimento de atualizar um modelo de probabilidade aplicado ao bin após codificação. Quando uma codificação de desvio for aplicada, o aparelho de codificação pode codificar o bin de entrada aplicando-se uma distribuição de probabilidade uniforme ao invés de alocar um modelo de contexto, aperfeiçoando, assim, uma taxa de codificação. O bin codificado conforme descrito acima pode ser referido como um bin de desvio.[087] However, when binarized syntax element bins are input to the branch coding engine, they may be encoded as follows. For example, the branch coding engine of the coding apparatus omits a procedure for estimating a probability with respect to an input bin and a procedure for updating a probability model applied to the bin after encoding. When branch coding is applied, the coding apparatus may encode the input bin by applying a uniform probability distribution instead of allocating a context model, thereby improving an encoding rate. The bin encoded as described above may be referred to as a branch bin.
[088] Uma decodificação de entropia pode representar um processo de realizar o mesmo processo que a codificação de entropia descrita anteriormente em ordem invertida.[088] An entropy decoding may represent a process of performing the same process as the entropy encoding described above in reverse order.
[089] Por exemplo, quando um elemento de sintaxe for decodificado com base em um modelo de contexto, o aparelho de decodificação pode receber um bin correspondente ao elemento de sintaxe através de um fluxo de bits, determinar um modelo de contexto usando o elemento de sintaxe e decodificar informações de um bloco alvo de decodificação ou um bloco vizinho ou informações de um símbolo/bin decodificado em um estágio anterior, prever uma probabilidade de ocorrência do bin recebido de acordo com o modelo de contexto determinado, e realizar uma decodificação aritmética no bin para derivar um valor do elemento de sintaxe. Posteriormente, um modelo de contexto de um bin que é decodificado a seguir pode ser atualizado com o modelo de contexto determinado.[089] For example, when a syntax element is decoded based on a context model, the decoding apparatus may receive a bin corresponding to the syntax element via a bit stream, determine a context model using the syntax element, and decode information of a decoding target block or a neighboring block or information of a symbol/bin decoded at a previous stage, predict an occurrence probability of the received bin according to the determined context model, and perform an arithmetic decoding on the bin to derive a value of the syntax element. Subsequently, a context model of a bin that is next decoded may be updated with the determined context model.
[090] Da mesma forma, por exemplo, quando um elemento de sintaxe for decodificado por desvio, o aparelho de decodificação pode receber um bin correspondente ao elemento de sintaxe através de um fluxo de bits, e decodificar o bin de entrada aplicando-se uma distribuição de probabilidade uniforme. Nesse caso, o procedimento do aparelho de decodificação para derivar o modelo de contexto do elemento de sintaxe e o procedimento de atualizar o modelo de contexto aplicado ao bin após a decodificação podem ser omitidos.[090] Similarly, for example, when a syntax element is decoded by branching, the decoding apparatus may receive a bin corresponding to the syntax element via a bit stream, and decode the input bin by applying a uniform probability distribution. In this case, the procedure of the decoding apparatus for deriving the context model of the syntax element and the procedure for updating the context model applied to the bin after decoding may be omitted.
[091] Conforme descrito anteriormente, amostras residuais podem ser derivadas como coeficientes de transformada quantizados através de processos de transformada e quantização. Os coeficientes de transformada quantizados também podem ser referidos como coeficientes de transformada. Nesse caso, os coeficientes de transformada em um bloco podem ser sinalizados sob a forma de informações residuais. As informações residuais podem incluir uma sintaxe de codificação residual. Ou seja, o aparelho de codificação pode configurar uma sintaxe de codificação residual com informações residuais, codificar a mesma, e emiti-la sob a forma de um fluxo de bits, e o aparelho de decodificação pode decodificar a sintaxe de codificação residual a partir do fluxo de bits e derivar coeficientes de transformada residuais (quantizados). A sintaxe de codificação residual pode incluir elementos de sintaxe que representam se uma transformada foi aplicada ao bloco correspondente, um local de um último coeficiente de transformada efetivo no bloco, se um coeficiente de transformada efetivo existe no sub-bloco, um tamanho/sinal do coeficiente de transformada efetivo, e similares, conforme será descrito mais adiante.[091] As described previously, residual samples may be derived as quantized transform coefficients through transform and quantization processes. Quantized transform coefficients may also be referred to as transform coefficients. In this case, the transform coefficients in a block may be signaled in the form of residual information. The residual information may include a residual coding syntax. That is, the encoding apparatus may configure a residual coding syntax with residual information, encode it, and output it in the form of a bit stream, and the decoding apparatus may decode the residual coding syntax from the bit stream and derive residual (quantized) transform coefficients. The residual coding syntax may include syntax elements representing whether a transform was applied to the corresponding block, a location of a last effective transform coefficient in the block, whether an effective transform coefficient exists in the sub-block, a size/sign of the effective transform coefficient, and the like, as will be described later.
[092] Por exemplo, os elementos de sintaxe relacionados à codificação/decodificação de dados residuais podem ser representados conforme mostrado na tabela a seguir. [Tabela 1] [092] For example, the syntax elements related to encoding/decoding residual data can be represented as shown in the following table. [Table 1]
[093] transform_skip_flag indica se uma transformada é omitida em um bloco associado. transform_skip_flag pode ser um elemento de sintaxe de um sinalizador de omissão de transformada. O bloco associado pode ser um bloco de codificação (CB) ou um bloco de transformada (TB). Referindo-se procedimentos de codificação de transformada (e quantização) e residual, CB e TB podem ser usados de modo intercambiável. Por exemplo, conforme descrito acima, amostras residuais podem ser derivadas para CB, e coeficientes de transformada (quantizados) podem ser derivados através de transformada e quantização para as amostras residuais, e através do procedimento de codificação residual, informações (por exemplo, elementos de sintaxe) que indicam eficientemente uma posição, magnitude, sinal, etc. dos coeficientes de transformada (quantizados) podem ser geradas e sinalizadas. Os coeficientes de transformada quantizados podem simplesmente ser denominados como coeficientes de transformada. Em geral, quando o CB não for maior que um TB máximo, um tamanho do CB pode ser igual a um tamanho do TB, e, nesse caso, um bloco alvo pode ser transformado (e quantizado) e codificado residual pode ser denominado como um CB ou um TB. Entretanto, quando o CB for maior que o TB máximo, um bloco alvo a ser transformado (e quantizado) e codificado residual pode ser denominado como um TB. Doravante, será descrito que os elementos de sintaxe relacionados à codificação residual são sinalizados em unidades de blocos de transformada (TBs), mas isso é um exemplo e o TB pode ser usado de modo intercambiável com blocos de codificação (CBs conforme descrito acima.[093] transform_skip_flag indicates whether a transform is skipped in an associated block. transform_skip_flag may be a syntax element of a transform skip flag. The associated block may be a coding block (CB) or a transform block (TB). Referring to transform (and quantization) and residual coding procedures, CB and TB may be used interchangeably. For example, as described above, residual samples may be derived for CB, and (quantized) transform coefficients may be derived via transform and quantization for the residual samples, and via the residual coding procedure, information (e.g., syntax elements) that efficiently indicate a position, magnitude, sign, etc. of the (quantized) transform coefficients may be generated and flagged. The quantized transform coefficients may simply be referred to as transform coefficients. In general, when the CB is not larger than a maximum TB, a CB size can be equal to a TB size, and in this case a target block to be transformed (and quantized) and residually encoded can be referred to as either a CB or a TB. However, when the CB is larger than the maximum TB, a target block to be transformed (and quantized) and residually encoded can be referred to as a TB. Hereinafter, it will be described that syntax elements related to residual coding are signaled in units of transform blocks (TBs), but this is an example and TB can be used interchangeably with coding blocks (CBs) as described above.
[094] Entretanto, elementos de sintaxe que são sinalizados após o sinalizador de omissão de transformada ser sinalizado podem ser iguais aos elementos de sintaxe revelados na Tabela 2 e/ou Tabela 3 abaixo, e descrições detalhadas sobre os elementos de sintaxe serão descritas abaixo. [Tabela 2] [094] However, syntax elements that are flagged after the transform omission flag is flagged may be the same as the syntax elements revealed in Table 2 and/or Table 3 below, and detailed descriptions of the syntax elements will be described below. [Table 2]
[095] De acordo com a presente modalidade, conforme mostrado na Tabela 1, uma codificação residual pode ser dividida de acordo com um valor do elemento de sintaxe transform_skip_flag do sinalizador de omissão de transformada. Ou seja, um elemento de sintaxe diferente pode ser usado para codificação residual com base no valor do sinalizador de omissão de transformada (com base em se a transformada é omitida). A codificação residual usada quando a omissão de transformada não for aplicada (ou seja, quando a transformada for aplicada) pode ser denominada como codificação residual regular (RRC), e a codificação residual usada quando a omissão de transformada for aplicada (ou seja, quando a transformada não for aplicada) pode ser denominada como codificação residual de omissão de transformada (TSRC). Da mesma forma, a codificação residual regular pode ser referenciada como uma codificação residual geral. Da mesma forma, a codificação residual regular pode ser referida como uma estrutura de sintaxe de codificação residual regular, e a codificação residual de omissão de transformada pode ser referida como uma estrutura de sintaxe de codificação residual de omissão de transformada. A Tabela 2 acima pode mostrar um elemento de sintaxe de codificação residual quando um valor de transform_skip_flag for 0, ou seja, quando a transformada for aplicada, e a Tabela 3 acima pode mostrar um elemento de sintaxe de codificação residual quando o valor de transform_skip_flag for 1, ou seja, quando a transformada não for aplicada.[095] According to the present embodiment, as shown in Table 1, a residual encoding may be split according to a value of the transform_skip_flag syntax element of the transform omit flag. That is, a different syntax element may be used for residual encoding based on the value of the transform omit flag (based on whether the transform is omitted). The residual encoding used when transform omit is not applied (i.e., when the transform is applied) may be referred to as regular residual encoding (RRC), and the residual encoding used when transform omit is applied (i.e., when the transform is not applied) may be referred to as transform omit residual encoding (TSRC). Likewise, regular residual encoding may be referred to as general residual encoding. Similarly, regular residual encoding may be referred to as a regular residual encoding syntax structure, and transform omit residual encoding may be referred to as a transform omit residual encoding syntax structure. Table 2 above can show a residual encoding syntax element when a value of transform_skip_flag is 0, that is, when the transform is applied, and Table 3 above can show a residual encoding syntax element when the value of transform_skip_flag is 1, that is, when the transform is not applied.
[096] De modo específico, por exemplo, o sinalizador de omissão de transformada que indica se omite a transformada do bloco de transformada pode ser analisado, e pode-se determinar se o sinalizador de omissão de transformada é 1. Se o valor do sinalizador de omissão de transformada for 0, conforme mostrado na Tabela 2, os elementos de sintaxe last_sig_coeff_x_prefix, last_sig_coeff_y_prefix, last_sig_coeff_x_suffix, last_sig_coeff_y_suffix, sb_coded_flag, sig_coeff_flag, abs_level_gtx_flag, par_level_flag, abs_remainder, coeff_sign_flag e/ou dec_abs_level para um coeficiente residual do bloco de transformada podem ser analisado, e o coeficiente residual pode ser derivado com base nos elementos de sintaxe. Nesse caso, os elementos de sintaxe podem ser sequencialmente analisados, e uma ordem de análise pode ser alterada. Além disso, abs_level_gtx_flag pode representar abs_level_gt1_flag e/ou abs_level_gt3_flag. Por exemplo, abs_level_gtx_flag[n] [0] pode ser um exemplo de um primeiro sinalizador de nível de coeficiente de transformada (abs_level_gt1_flag), e abs_level_gtx_flag[n][1] pode ser um exemplo de um segundo sinalizador de nível de coeficiente de transformada (abs_level_gt3_flag).[096] Specifically, for example, the transform omit flag indicating whether to omit the transform from the transform block can be analyzed, and it can be determined whether the transform omit flag is 1. If the value of the transform omit flag is 0, as shown in Table 2, the syntax elements last_sig_coeff_x_prefix, last_sig_coeff_y_prefix, last_sig_coeff_x_suffix, last_sig_coeff_y_suffix, sb_coded_flag, sig_coeff_flag, abs_level_gtx_flag, par_level_flag, abs_remainder, coeff_sign_flag, and/or dec_abs_level for a residual coefficient of the transform block can be analyzed, and the residual coefficient can be derived based on the syntax elements. In this case, syntax elements can be sequentially parsed, and a parsing order can be changed. Additionally, abs_level_gtx_flag can represent abs_level_gt1_flag and/or abs_level_gt3_flag. For example, abs_level_gtx_flag[n][0] can be an example of a first transform coefficient level flag (abs_level_gt1_flag), and abs_level_gtx_flag[n][1] can be an example of a second transform coefficient level flag (abs_level_gt3_flag).
[097] Referindo-se à Tabela 2 acima, last_sig_coeff_x_prefix, last_sig_coeff_y_prefix, last_sig_coeff_x_suffix, last_sig_coeff_y_suffix, sb_coded_flag, sig_coeff_flag, abs_level_gt1_flag, par_level_flag, abs_level_gt3_flag, abs_remainder, coeff_sign_flag e/ou dec_abs_level podem ser codificados/decodificados. Entretanto, sb_coded_flag pode ser representado como coded_sub_block_flag.[097] Referring to Table 2 above, last_sig_coeff_x_prefix, last_sig_coeff_y_prefix, last_sig_coeff_x_suffix, last_sig_coeff_y_suffix, sb_coded_flag, sig_coeff_flag, abs_level_gt1_flag, par_level_flag, abs_level_gt3_flag, abs_remainder, coeff_sign_flag and/or dec_abs_level can be encoded/decoded. However, sb_coded_flag can be represented as coded_sub_block_flag.
[098] Em uma modalidade, o aparelho de codificação pode codificar informações de posição (x, y) do último coeficiente de transformada diferente de zero em um bloco de transformada com base nos elementos de sintaxe last_sig_coeff_x_prefix, last_sig_coeff_y_prefix, last_sig_coeff_x_suffix e last_sig_coeff_y_suffix. De modo mais específico, last_sig_coeff_x_prefix representa um prefixo de uma posição de coluna de um último coeficiente significativo em uma ordem de varredura dentro do bloco de transformada, last_sig_coeff_y_prefix representa um prefixo de uma posição de fileira do último coeficiente significativo na ordem de varredura dentro do bloco de transformada, last_sig_coeff_x_suffix representa um sufixo de uma posição de coluna do último coeficiente significativo na ordem de varredura dentro do bloco de transformada, e last_sig_coeff_y_suffix representa um sufixo de uma posição de fileira do último coeficiente significativo na ordem de varredura dentro do bloco de transformada. No presente documento, o coeficiente significativo pode representar um coeficiente diferente de zero. Além disso, a ordem de varredura pode ser uma ordem de varredura diagonal direita. Alternativamente, a ordem de varredura pode ser uma ordem de varredura horizontal ou uma ordem de varredura vertical. A ordem de varredura pode ser determinada com base em se intra/interpredição é aplicada a um bloco alvo (um CB ou um CB incluindo um TB) e/ou um modo de intra/interpredição específico.[098] In one embodiment, the encoding apparatus may encode position information (x, y) of the last non-zero transform coefficient in a transform block based on the syntax elements last_sig_coeff_x_prefix, last_sig_coeff_y_prefix, last_sig_coeff_x_suffix, and last_sig_coeff_y_suffix. More specifically, last_sig_coeff_x_prefix represents a prefix of a column position of a last significant coefficient in a scan order within the transform block, last_sig_coeff_y_prefix represents a prefix of a row position of the last significant coefficient in the scan order within the transform block, last_sig_coeff_x_suffix represents a suffix of a column position of the last significant coefficient in the scan order within the transform block, and last_sig_coeff_y_suffix represents a suffix of a row position of the last significant coefficient in the scan order within the transform block. In this document, the significant coefficient may represent a non-zero coefficient. Furthermore, the scan order may be a right diagonal scan order. Alternatively, the scan order may be a horizontal scan order or a vertical scan order. The scan order can be determined based on whether intra/inter prediction is applied to a target block (a CB or a CB including a TB) and/or a specific intra/inter prediction mode.
[099] Posteriormente, o aparelho de codificação pode dividir o bloco de transformada em sub-blocos 4x4, e, então, indicar se existe um coeficiente diferente de zero no sub-bloco atual usando um elemento de sintaxe de 1-bit coded_sub_block_flag para cada sub-bloco 4x4.[099] Subsequently, the coding apparatus may divide the transform block into 4x4 sub-blocks, and then indicate whether there is a non-zero coefficient in the current sub-block using a 1-bit coded_sub_block_flag syntax element for each 4x4 sub-block.
[0100] Se um valor de coded_sub_block_flag for 0, não existem mais informações a serem transmitidas, e, logo, o aparelho de codificação pode encerrar o processo de codificação no sub-bloco atual. De modo oposto, se o valor de coded_sub_block_flag for 1, o aparelho de codificação pode realizar continuamente o processo de codificação em sig_coeff_flag. Visto que o sub-bloco incluindo o último coeficiente diferente de zero não requer codificação para coded_sub_block_flag e sub-bloco incluindo as informações de DC do bloco de transformada tem alta probabilidade de incluir o coeficiente diferente de zero, coded_sub_block_flag pode não ser codificado e um valor do mesmo pode ser assumido como 1.[0100] If a value of coded_sub_block_flag is 0, there is no more information to be transmitted, and therefore the encoding apparatus may terminate the encoding process on the current sub-block. Conversely, if the value of coded_sub_block_flag is 1, the encoding apparatus may continuously perform the encoding process on sig_coeff_flag. Since the sub-block including the last non-zero coefficient does not require encoding for coded_sub_block_flag and the sub-block including the DC information of the transform block has a high probability of including the non-zero coefficient, coded_sub_block_flag may not be encoded and a value thereof may be assumed to be 1.
[0101] Se o valor de coded_sub_block_flag for 1 e, logo, se for determinado que um coeficiente diferente de zero existe no sub-bloco atual, o aparelho de codificação pode codificar sig_coeff_flag tendo um valor binário de acordo com a ordem de varredura inversa. O aparelho de codificação pode codificar o elemento de sintaxe de 1 bit sig_coeff_flag para cada coeficiente de transformada de acordo com a ordem de varredura. Se o valor do coeficiente de transformada na posição de varredura atual não for 0, o valor de sig_coeff_flag pode ser 1. No presente documento, no caso de um sub-bloco incluindo o último coeficiente diferente de zero, sig_coeff_flag não precisa ser codificado para o último coeficiente diferente de zero, logo, o processo de codificação para o sub-bloco pode ser omitido. A codificação de informações de nível pode ser realizada apenas quando sig_coeff_flag for 1, e quatro elementos de sintaxe podem ser usados no processo de codificação de informações de nível. De modo mais específico, cada sig_coeff_flag[xC][yC] pode indicar se um nível (valor) de um coeficiente de transformada correspondente em cada posição de coeficiente de transformada (xC, yC) no TB atual é diferente de zero. Em uma modalidade, sig_coeff_flag pode corresponder a um exemplo de um elemento de sintaxe de um sinalizador de coeficiente significativo que indica se um coeficiente de transformada quantizado é um coeficiente significativo diferente de zero.[0101] If the value of coded_sub_block_flag is 1, and then it is determined that a non-zero coefficient exists in the current sub-block, the coding apparatus may encode sig_coeff_flag having a binary value according to the reverse scan order. The coding apparatus may encode the 1-bit syntax element sig_coeff_flag for each transform coefficient according to the scan order. If the value of the transform coefficient at the current scan position is not 0, the value of sig_coeff_flag may be 1. In the present document, in the case of a sub-block including the last non-zero coefficient, sig_coeff_flag does not need to be encoded for the last non-zero coefficient, so the coding process for the sub-block may be omitted. Level information encoding can be performed only when sig_coeff_flag is 1, and four syntax elements can be used in the level information encoding process. More specifically, each sig_coeff_flag[xC][yC] can indicate whether a level (value) of a corresponding transform coefficient at each transform coefficient position (xC, yC) in the current TB is non-zero. In one embodiment, sig_coeff_flag can correspond to an example of a syntax element of a significant coefficient flag that indicates whether a quantized transform coefficient is a non-zero significant coefficient.
[0102] Um valor de nível restante após codificação para sig_coeff_flag pode ser derivado conforme mostrado na equação a seguir. Ou seja, o elemento de sintaxe remAbsLevel que indica um valor de nível a ser codificado pode ser derivado a partir da equação a seguir. [Equação 1] [0102] A remaining level value after encoding for sig_coeff_flag can be derived as shown in the following equation. That is, the remAbsLevel syntax element indicating a level value to be encoded can be derived from the following equation. [Equation 1]
[0103] No presente documento, coeff significa um valor de coeficiente de transformada real.[0103] In this document, coeff means a real transform coefficient value.
[0104] Adicionalmente, abs_level_gt1_flag pode indicar se remAbsLevel’ da posição de varredura correspondente (n) é ou não maior que 1. Por exemplo, quando o valor de abs_level_gt1_flag for 0, o valor absoluto do coeficiente de transformada da posição correspondente pode ser 1. Além disso, quando o valor de abs_level_gt1_flag for 1, remAbsLevel indicando o valor de nível a ser codificado posteriormente pode ser atualizado conforme mostrado na equação a seguir. [Equação 2] [0104] Additionally, abs_level_gt1_flag may indicate whether or not remAbsLevel' of the corresponding scan position (n) is greater than 1. For example, when the value of abs_level_gt1_flag is 0, the absolute value of the transform coefficient of the corresponding position may be 1. Furthermore, when the value of abs_level_gt1_flag is 1, remAbsLevel indicating the level value to be encoded later may be updated as shown in the following equation. [Equation 2]
[0105] Além disso, o valor de coeficiente menos significativo (LSB) de remAbsLevel descrito na Equação 2 descrito anteriormente pode ser codificado conforme na Equação 3 abaixo através de par_level_flag. [Equação 3] [0105] Furthermore, the least significant coefficient (LSB) value of remAbsLevel described in Equation 2 described above may be encoded as in Equation 3 below via par_level_flag. [Equation 3]
[0106] No presente documento, par_level_flag[n] pode indicar uma paridade de um nível (valor) de coeficiente de transformada em uma posição de varredura n.[0106] In this document, par_level_flag[n] may indicate a parity of a transform coefficient level (value) at a scan position n.
[0107] Um valor de nível de coeficiente de transformada remAbsLevel que deve ser codificado após realizar codificação de par_level_flag pode ser atualizado conforme mostrado abaixo na equação a seguir. [Equação 4] [0107] A transform coefficient level value remAbsLevel that is to be encoded after performing par_level_flag encoding can be updated as shown below in the following equation. [Equation 4]
[0108] abs_level_gt3_flag pode indicar se remAbsLevel’ da posição de varredura correspondente (n) é ou não maior que 3. A codificação para abs_remainder pode ser realizada apenas em um caso onde rem_abs_gt3_flag é igual a 1. Uma relação entre o valor de coeficiente de transformada atual coeff e cada elemento de sintaxe pode ser conforme mostrado abaixo na equação a seguir. [Equação 5] [0108] abs_level_gt3_flag can indicate whether or not remAbsLevel' of the corresponding scan position (n) is greater than 3. Encoding for abs_remainder can be performed only in a case where rem_abs_gt3_flag is equal to 1. A relationship between the current transform coefficient value coeff and each syntax element can be as shown below in the following equation. [Equation 5]
[0109] Adicionalmente, a tabela a seguir indica exemplos relacionados à Equação 5 descrita anteriormente. [Tabela 4] [0109] Additionally, the following table indicates examples related to Equation 5 described above. [Table 4]
[0110] No presente documento, | coeff | indica um nível (valor) de coeficiente de transformada e também pode ser indicado como um AbsLevel para um coeficiente de transformada. Adicionalmente, um sinal de cada coeficiente pode ser codificado utilizando-se coeff_sign_flag, que é um símbolo de 1 bit.[0110] In this document, |coeff| indicates a transform coefficient level (value) and may also be indicated as an AbsLevel for a transform coefficient. Additionally, a sign of each coefficient may be encoded using coeff_sign_flag, which is a 1-bit symbol.
[0111] Da mesma forma, se o valor do sinalizador de omissão de transformada for 1, conforme mostrado na Tabela 3, elementos de sintaxe sb_coded_flag, sig_coeff_flag, coeff_sign_flag, abs_level_gtx_flag, par_level_flag e/ou abs_remainder para um coeficiente residual do bloco de transformada podem ser analisados, e o coeficiente residual pode ser derivado com base nos elementos de sintaxe. Nesse caso, os elementos de sintaxe podem ser sequencialmente analisados, e uma ordem de análise pode ser alterada. Além disso, abs_level_gtx_flag pode representar abs_level_gt1_flag, abs_level_gt3_flag, abs_level_gt5_flag, abs_level_gt7_flag e/ou abs_level_gt9_flag. Por exemplo, abs_level_gtx_flag[n][j] pode ser um sinalizador que indica se um valor absoluto ou um nível (um valor) de um coeficiente de transformada em uma posição de varredura n é maior que (j<<1)+1. A condição (j<<1)+1 pode ser opcionalmente substituída por um limiar específico tal como um primeiro limiar, um segundo limiar, ou similares.[0111] Similarly, if the value of the transform omit flag is 1 as shown in Table 3, syntax elements sb_coded_flag, sig_coeff_flag, coeff_sign_flag, abs_level_gtx_flag, par_level_flag, and/or abs_remainder for a residual coefficient of the transform block can be parsed, and the residual coefficient can be derived based on the syntax elements. In this case, the syntax elements can be sequentially parsed, and a parsing order can be changed. In addition, abs_level_gtx_flag can represent abs_level_gt1_flag, abs_level_gt3_flag, abs_level_gt5_flag, abs_level_gt7_flag, and/or abs_level_gt9_flag. For example, abs_level_gtx_flag[n][j] can be a flag indicating whether an absolute value or a level (a value) of a transform coefficient at scan position n is greater than (j<<1)+1. The condition (j<<1)+1 can optionally be replaced by a specific threshold such as a first threshold, a second threshold, or the like.
[0112] Entretanto, CABAC proporciona alto desempenho, mas desvantajosamente tem um desempenho de rendimento fraco. Isso é causado por um mecanismo de codificação regular do CABAC. A codificação regular (isto é, codificação através do mecanismo de codificação regular do CABAC) mostra uma alta dependência de dados visto que usa um estado de probabilidade e faixa atualizada através de codificação de um bin prévio, e pode levar muito tempo para ler um intervalo de probabilidade e determinar um estado atual. O problema de rendimento do CABAC pode ser solucionado limitando-se o número de bins codificados por contexto. Por exemplo, conforme mostrado na Tabela 2 descrita acima, uma soma de bins usada para expressar sig_coeff_flag, abs_level_gt1_flag, par_level_flag e abs_level_gt3_flag pode ser limitada ao número de bins dependendo de um tamanho de um bloco correspondente. Da mesma forma, por exemplo, conforme mostrado na Tabela 3 descrita acima, uma soma de bins usada para expressar sig_coeff_flag, coeff_sign_flag, abs_level_gt1_flag, par_level_flag, abs_level_gt3_flag abs_level_gt5_flag, abs_level_gt7_flag, abs_level_gt9_flag pode ser limitada ao número de bins dependendo de um tamanho de um bloco correspondente. Por exemplo, se o bloco correspondente for um bloco 4x4, a soma de bins para sig_coeff_flag, abs_level_gt1_flag, par_level_flag, abs_level_gt3_flag ou sig_coeff_flag, coeff_sign_flag, abs_level_gt1_flag, par_level_flag, abs_level_gt3_flag abs_level_gt5_flag, abs_level_gt7_flag, abs_level_gt9_flag pode ser limitada a 32 (ou, por exemplo, 28), e se o bloco correspondente for um bloco 2x2, a soma de bins para sig_coeff_flag, abs_level_gt1_flag, par_level_flag, abs_level_gt3_flag pode ser limitada a 8 (ou, por exemplo, 7). O número limitado de bins pode ser representado por remBinsPass1 ou RemCcbs. Ou, por exemplo, para um rendimento de CABAC ,maior, o número de bins codificados por contexto pode ser limitado para um bloco (CB ou TB) incluindo um CG alvo de codificação. Em outras palavras, o número de bins codificados por contexto pode ser limitado em unidades de blocos (CB ou TB). Por exemplo, quando o tamanho do bloco atual for 16x16, o número de bins codificados por contexto para o bloco atual pode ser limitado a 1,75 vez o número de pixels do bloco atual, isto é, 448, independentemente do CG atual.[0112] However, CABAC provides high performance, but disadvantageously has poor throughput performance. This is caused by a regular encoding mechanism of CABAC. Regular encoding (i.e., encoding via the regular encoding mechanism of CABAC) shows high data dependency since it uses a probability state and range updated via encoding a previous bin, and it may take a long time to read a probability range and determine a current state. The throughput problem of CABAC can be solved by limiting the number of bins encoded per context. For example, as shown in Table 2 above, a sum of bins used to express sig_coeff_flag, abs_level_gt1_flag, par_level_flag, and abs_level_gt3_flag can be limited to the number of bins depending on a size of a corresponding block. Similarly, for example, as shown in Table 3 described above, a sum of bins used to express sig_coeff_flag, coeff_sign_flag, abs_level_gt1_flag, par_level_flag, abs_level_gt3_flag abs_level_gt5_flag, abs_level_gt7_flag, abs_level_gt9_flag can be limited to the number of bins depending on a size of a corresponding block. For example, if the corresponding block is a 4x4 block, the sum of bins for sig_coeff_flag, abs_level_gt1_flag, par_level_flag, abs_level_gt3_flag or sig_coeff_flag, coeff_sign_flag, abs_level_gt1_flag, par_level_flag, abs_level_gt3_flag abs_level_gt5_flag, abs_level_gt7_flag, abs_level_gt9_flag can be limited to 32 (or, for example, 28), and if the corresponding block is a 2x2 block, the sum of bins for sig_coeff_flag, abs_level_gt1_flag, par_level_flag, abs_level_gt3_flag can be limited to 8 (or, for example, 7). The limited number of bins can be represented by remBinsPass1 or RemCcbs. Or, for example, for higher CABAC throughput, the number of context-encoded bins can be limited to a block (CB or TB) including a target CG. In other words, the number of context-encoded bins can be limited in units of blocks (CB or TB). For example, when the current block size is 16x16, the number of context-encoded bins for the current block can be limited to 1.75 times the number of pixels in the current block, i.e. 448, regardless of the current CG.
[0113] Nesse caso, se todos os bins codificados por contexto aos quais o número é limitado são usados quando um elemento de contexto for codificado, o aparelho de codificação pode binarizar os coeficientes restantes através de um método de binarização do coeficiente conforme descrito abaixo, ao invés de usar a codificação de contexto, e pode realizar uma codificação de desvio. Em outras palavras, por exemplo, se o número de bins codificados por contexto que são codificados para CG 4x4 for 32 (ou, por exemplo, 28), ou se o número de bins codificados por contexto que são codificados para CG 2x2 for 8 (ou, por exemplo, 7), sig_coeff_flag, abs_level_gt1_flag, par_level_flag, abs_level_gt3_flag que são codificados com o bin codificado por contexto podem não ser mais codificados, e podem ser codificados diretamente a dec_abs_level. Ou, por exemplo, quando o número de bins codificados por contexto codificados para um bloco 4x4 for 1,75 vez o número de pixels do bloco inteiro, ou seja, quando limitado a 28, sig_coeff_flag, abs_level_gt1_flag, par_level_flag e abs_level_gt3_flag codificados como bins codificados por contexto podem não ser mais codificados, e podem ser diretamente codificados como dec_abs_level conforme mostrado na Tabela 5 abaixo. [0113] In this case, if all context-coded bins to which the number is limited are used when a context element is coded, the coding apparatus may binarize the remaining coefficients by a coefficient binarization method as described below, instead of using context coding, and may perform bypass coding. In other words, for example, if the number of context-coded bins that are coded for CG 4x4 is 32 (or, for example, 28), or if the number of context-coded bins that are coded for CG 2x2 is 8 (or, for example, 7), sig_coeff_flag, abs_level_gt1_flag, par_level_flag, abs_level_gt3_flag that are coded with the context-coded bin may not be coded any further, and may be coded directly to dec_abs_level. Or, for example, when the number of context-coded bins encoded for a 4x4 block is 1.75 times the number of pixels of the entire block, i.e., when limited to 28, sig_coeff_flag, abs_level_gt1_flag, par_level_flag, and abs_level_gt3_flag encoded as context-coded bins may no longer be encoded, and may be directly encoded as dec_abs_level as shown in Table 5 below.
[0114] Um valor |coeff| pode ser derivado com base em dec_abs_level. Nesse caso, um valor de coeficiente de transformada, isto é, |coeff|, pode ser derivado conforme mostrado na equação a seguir. [Equação 6] [0114] A |coeff| value can be derived based on dec_abs_level. In this case, a transform coefficient value, i.e., |coeff|, can be derived as shown in the following equation. [Equation 6]
[0115] Além disso, coeff_sign_flag pode indicar um sinal de um nível de coeficiente de transformada em uma posição de varredura correspondente n. Ou seja, coeff_sign_flag pode indicar o sinal do coeficiente de transformada na posição de varredura correspondente n.[0115] In addition, coeff_sign_flag may indicate a sign of a transform coefficient level at a corresponding scan position n. That is, coeff_sign_flag may indicate the sign of the transform coefficient at the corresponding scan position n.
[0116] A Figura 5 mostra um exemplo de coeficientes de transformada em um bloco 4x4.[0116] Figure 5 shows an example of transform coefficients in a 4x4 block.
[0117] O bloco 4x4 da Figura 5 representa um exemplo de coeficientes quantizados. O bloco da Figura 5 pode ser um bloco de transformada 4x4, ou um sub- bloco 4x4 de um bloco de transformada 8x8, 16x16, 32x32 ou 64x64. O bloco 4x4 da Figura 5 pode representar um bloco de luma ou um bloco de croma.[0117] The 4x4 block of Figure 5 represents an example of quantized coefficients. The block of Figure 5 may be a 4x4 transform block, or a 4x4 sub-block of an 8x8, 16x16, 32x32, or 64x64 transform block. The 4x4 block of Figure 5 may represent a luma block or a chroma block.
[0118] Entretanto, conforme descrito acima, quando um sinal de entrada não for um valor binário, mas um elemento de sintaxe, o aparelho de codificação pode transformar o sinal de entrada em um valor binário binarizando-se um valor do sinal de entrada. Além disso, o aparelho de decodificação pode decodificar o elemento de sintaxe para derivar um valor binarizado (por exemplo, um bin binarizado) do elemento de sintaxe, e pode desbinarizar o valor binarizado para derivar um valor do elemento de sintaxe. O processo de binarização pode ser realizado como um processo de binarização de rice truncado (TR), um processo de binarização de Exp-Golomb (EGk) de k-ésima ordem, um Exp-Golomb de k-ésima ordem limitada (EGk limitado), um processo de binarização de comprimento fixo (FL), ou similares. Além disso, o processo de desbinarização pode representar um processo realizado com base no processo de binarização de TR, processo de binarização de EGk ou processo de binarização de FL para derivar o valor do elemento de sintaxe.[0118] However, as described above, when an input signal is not a binary value but a syntax element, the encoding apparatus may transform the input signal into a binary value by binarizing a value of the input signal. Further, the decoding apparatus may decode the syntax element to derive a binarized value (e.g., a binarized bin) of the syntax element, and may debinarize the binarized value to derive a value of the syntax element. The binarization process may be performed as a truncated rice (TR) binarization process, a kth order Exp-Golomb (EGk) binarization process, a bounded kth order Exp-Golomb (bounded EGk), a fixed length (FL) binarization process, or the like. Furthermore, the debinarization process may represent a process performed based on the TR binarization process, EGk binarization process, or FL binarization process to derive the value of the syntax element.
[0119] Por exemplo, o processo de binarização de TR pode ser realizado da seguinte forma.[0119] For example, the TR binarization process can be performed as follows.
[0120] Uma entrada do processo de binarização de TR pode ser cMax e cRiceParam para um elemento de sintaxe e uma solicitação por binarização de TR. Além disso, uma saída do processo de binarização de TR pode ser uma binarização de TR para symbolVal que é um valor correspondente a uma cadeia de bin.[0120] An input of the TR binarization process may be cMax and cRiceParam for a syntax element and a request for TR binarization. Additionally, an output of the TR binarization process may be a TR binarization for symbolVal which is a value corresponding to a bin string.
[0121] De modo específico, por exemplo, na presença de uma cadeia de bin de sufixo para um elemento de sintaxe, uma cadeia de bin de TR para o elemento de sintaxe pode ser uma concatenação de uma cadeia de bin de prefixo e a cadeia de bin de sufixo, e na ausência da cadeia de bin de sufixo, a cadeia de bin de TR para o elemento de sintaxe pode ser a cadeia de bin de prefixo. Por exemplo, a cadeia de bin de prefixo pode ser derivada conforme descrito abaixo.[0121] Specifically, for example, in the presence of a suffix bin string for a syntax element, a TR bin string for the syntax element may be a concatenation of a prefix bin string and the suffix bin string, and in the absence of the suffix bin string, the TR bin string for the syntax element may be the prefix bin string. For example, the prefix bin string may be derived as described below.
[0122] Um valor de prefixo do symbolVal para o elemento de sintaxe pode ser derivado conforme mostrado na equação a seguir. [Equação 7] [0122] A symbolVal prefix value for the syntax element can be derived as shown in the following equation. [Equation 7]
[0123] No presente documento, prefixVal pode denotar um valor de prefixo do symbolVal. Um prefixo (isto é, uma cadeia de bin de prefixo) da cadeia de bin de TR do elemento de sintaxe pode ser derivado conforme descrito abaixo.[0123] In this document, prefixVal may denote a prefix value of symbolVal. A prefix (i.e., a prefix bin string) of the syntax element's TR bin string may be derived as described below.
[0124] Por exemplo, se prefixVal for menor que cMax >> cRiceParam, a cadeia de bin de prefixo pode ser uma cadeia de bits de comprimento prefixVal+1, indexada por binIdx. Ou seja, se prefixVal for menor que cMax >> cRiceParam, a cadeia de bin de prefixo pode ser uma cadeia de bits cujo número de bits é prefixVal+1, indicado por binIdx. Um bin para binIdx menor que prefixVal pode ser igual a 1. Além disso, um bin para o mesmo binIdx que prefixVal pode ser igual a 0.[0124] For example, if prefixVal is less than cMax >> cRiceParam, the prefix bin string may be a bit string of length prefixVal+1, indexed by binIdx. That is, if prefixVal is less than cMax >> cRiceParam, the prefix bin string may be a bit string whose number of bits is prefixVal+1, indicated by binIdx. A bin for binIdx less than prefixVal may be equal to 1. Additionally, a bin for the same binIdx as prefixVal may be equal to 0.
[0125] Por exemplo, uma cadeia de bin derivada através de binarização unária para prefixVal pode ser conforme mostrado na tabela a seguir. [0125] For example, a bin string derived through unary binarization for prefixVal might be as shown in the following table.
[0126] Entretanto, se prefixVal não for menor que cMax >> cRiceParam, a cadeia de bin de prefixo pode ser uma cadeia de bits cujo comprimento é cMax >> cRiceParam e todos os bits são 1.[0126] However, if prefixVal is not less than cMax >> cRiceParam, the prefix bin string may be a bit string whose length is cMax >> cRiceParam and all bits are 1.
[0127] Além disso, se cMax for maior que symbolVal e se cRiceParam for maior que 0, uma cadeia de bin de sufixo de uma cadeia de bin de TR pode estar presente. Por exemplo, a cadeia de bin de sufixo pode ser derivada conforme descrito abaixo.[0127] Additionally, if cMax is greater than symbolVal and if cRiceParam is greater than 0, a suffix bin string of a TR bin string may be present. For example, the suffix bin string may be derived as described below.
[0128] Um valor de sufixo do symbolVal para o elemento de sintaxe pode ser derivado conforme mostrado na equação a seguir. [Equação 8] [0128] A symbolVal suffix value for the syntax element can be derived as shown in the following equation. [Equation 8]
[0129] No presente documento, suffixVal pode denotar um valor de sufixo do symbolVal.[0129] In this document, suffixVal may denote a suffix value of symbolVal.
[0130] Um sufixo de uma cadeia de bin de TR (isto é, uma cadeia de bin de sufixo) pode ser derivado com base em um processo de binarização de FL para suffixVal cujo valor cMax é (1 << cRiceParam)-1.[0130] A suffix of a TR bin string (i.e., a suffix bin string) may be derived based on a FL binarization process for suffixVal whose cMax value is (1 << cRiceParam)-1.
[0131] Entretanto, se um valor de um parâmetro de entrada, isto é, cRiceParam, for 0, a binarização de TR pode ser uma binarização unária precisamente truncada, e pode sempre usar o mesmo valor cMax como um valor máximo possível de um elemento de sintaxe a ser decodificado.[0131] However, if a value of an input parameter, i.e., cRiceParam, is 0, the binarization of TR may be a precisely truncated unary binarization, and may always use the same cMax value as a maximum possible value of a syntax element to be decoded.
[0132] Além disso, por exemplo, o processo de binarização de EGk pode ser realizado da seguinte forma. Um elemento de sintaxe codificado com ue(v) pode ser um elemento de sintaxe submetido à codificação Exp-Golomb.[0132] Furthermore, for example, the binarization process of EGk may be performed as follows. A syntax element encoded with ue(v) may be a syntax element subjected to Exp-Golomb encoding.
[0133] Por exemplo, um processo de binarização de Exp-Golomb de 0-ésima ordem (EG0) pode ser realizado da seguinte forma.[0133] For example, a 0-th order Exp-Golomb (EG0) binarization process can be performed as follows.
[0134] Um processo de análise para o elemento de sintaxe pode começar com a leitura de um bit incluindo um primeiro bit diferente de zero iniciando em uma posição atual de um fluxo de bits e contando o número de bits principais igual a 0. O processo pode ser representado conforme mostrado na tabela a seguir. [Tabela 7] [0134] A parsing process for the syntax element may begin by reading a bit including a first non-zero bit starting at a current position in a bit stream and counting the number of leading bits equal to 0. The process may be represented as shown in the following table. [Table 7]
[0135] Além disso, uma variável ‘codeNum’ pode ser derivada conforme mostrado na equação a seguir. [Equação 9] [0135] Additionally, a 'codeNum' variable can be derived as shown in the following equation. [Equation 9]
[0136] No presente documento, um valor retornado a partir de read_bits(leadingZeroBits), ou seja, um valor indicado por read_bits(leadingZeroBits), pode ser interpretado como uma representação binária de um inteiro não atribuído para um bit mais significativo registrado primeiro.[0136] In this document, a value returned from read_bits(leadingZeroBits), i.e., a value indicated by read_bits(leadingZeroBits), may be interpreted as a binary representation of an integer not assigned to a most significant bit recorded first.
[0137] Uma estrutura de um código Exp-Golomb no qual uma cadeia de bits é dividida em bit de “prefixo” e um bit de “sufixo” pode ser representada conforme mostrado na tabela a seguir. Tabela 8] [0137] A structure of an Exp-Golomb code in which a bit string is divided into a “prefix” bit and a “suffix” bit can be represented as shown in the following table. Table 8]
[0138] O bit de “prefixo” pode ser um bit analisado conforme descrito acima para calcular leadingZeroBits, e pode ser representado por 0 ou 1 de uma cadeia de bits na Tabela 8. Ou seja, a cadeia de bits revelada por 0 ou 1 na Tabela 8 acima pode representar uma cadeia de bit de prefixo. O bit de “sufixo” pode ser um bit analisado na computação de codeNum, e pode ser representado por xi na Tabela 8 acima. Ou seja, uma cadeia de bits revelada como xi na Tabela 8 acima pode representar uma cadeia de bit de sufixo. No presente documento, i pode ser um valor na faixa de LeadingZeroBits-1. Além disso, cada xi pode ser igual a 0 ou 1.[0138] The “prefix” bit may be a bit parsed as described above to compute leadingZeroBits, and may be represented by a 0 or 1 from a bit string in Table 8. That is, the bit string revealed by a 0 or 1 in Table 8 above may represent a prefix bit string. The “suffix” bit may be a bit parsed in the codeNum computation, and may be represented by xi in Table 8 above. That is, a bit string revealed as xi in Table 8 above may represent a suffix bit string. In this document, i may be a value in the range LeadingZeroBits-1. Furthermore, each xi may be equal to either 0 or 1.
[0139] Uma cadeia de bits atribuída ao codeNum pode ser conforme mostrado na tabela a seguir. Tabela 9] [0139] A bit string assigned to codeNum may be as shown in the following table. Table 9]
[0140] Se um descritor do elemento de sintaxe for ue(v), ou seja, se o elemento de sintaxe for codificado com ue(v), um valor do elemento de sintaxe pode ser igual a codeNum.[0140] If a syntax element descriptor is ue(v), that is, if the syntax element is encoded with ue(v), a value of the syntax element may be equal to codeNum.
[0141] Além disso, por exemplo, o processo de binarização de EGk pode ser realizado da seguinte forma.[0141] Furthermore, for example, the binarization process of EGk can be carried out as follows.
[0142] Uma entrada do processo de binarização de EGk pode ser uma solicitação por binarização de EGk. Além disso, a saída do processo de binarização de EGk pode ser binarização de EGk para symbolVal, isto é, um valor correspondente a uma cadeia de bin.[0142] An input to the EGk binarization process may be a request for EGk binarization. Furthermore, the output of the EGk binarization process may be EGk binarization to symbolVal, i.e., a value corresponding to a bin string.
[0143] Uma cadeia de bits do processo de binarização de EGk para symbolVal pode ser derivada da seguinte forma. Tabela 10] [0143] A bit string of the binarization process from EGk to symbolVal can be derived as follows. Table 10]
[0144] Referindo-se à Tabela 10 acima, um valor binário X pode ser adicionado a uma extremidade de uma cadeia de bin através de cada inserção de put(X). No presente documento, X pode ser 0 ou 1.[0144] Referring to Table 10 above, a binary value X may be added to one end of a bin chain through each insertion of put(X). In this document, X may be 0 or 1.
[0145] Além disso, por exemplo, o processo de binarização de EGk limitado pode ser realizado da seguinte forma.[0145] Furthermore, for example, the limited EGk binarization process can be carried out as follows.
[0146] Uma entrada do processo de binarização de EGk limitado pode ser uma solicitação por, um parâmetro de rice riceParam, log2TransformRange como uma variável que representa um logaritmo binário de um valor máximo, e maxPreExtLen como uma variável que representa um comprimento de extensão de prefixo máximo. Além disso, uma saída do processo de binarização de EGk limitado pode ser uma binarização de EGk limitado para symbolVal como um valor correspondente a uma cadeia vazia.[0146] An input of the bounded EGk binarization process may be a request for, a rice parameter riceParam, log2TransformRange as a variable representing a binary logarithm of a maximum value, and maxPreExtLen as a variable representing a maximum prefix extension length. Additionally, an output of the bounded EGk binarization process may be a bounded EGk binarization for symbolVal as a value corresponding to an empty string.
[0147] A cadeia de bits do processo de binarização de EGk limitado para symbolVal pode ser derivada da seguinte forma. [Tabela 11] [0147] The bit string of the bounded EGk binarization process for symbolVal can be derived as follows. [Table 11]
[0148] Além disso, por exemplo, o processo de binarização de FL pode ser realizado da seguinte forma.[0148] Furthermore, for example, the FL binarization process can be performed as follows.
[0149] Uma entrada do processo de binarização de FL pode ser uma solicitação por binarização de FL e cMax para o elemento de sintaxe. Além disso, uma saída do processo de binarização de FL pode ser uma binarização de FL para symbolVal como um valor correspondente a uma cadeia de bin.[0149] An input of the FL binarization process may be a request for FL binarization and cMax for the syntax element. Additionally, an output of the FL binarization process may be a FL binarization for symbolVal as a value corresponding to a bin string.
[0150] Uma binarização de FL pode ser configurada utilizando-se uma cadeia de bits cujo número de bits tem um comprimento fixo de symbolVal. No presente documento, o bit de comprimento fixo pode ser uma cadeia de bit inteiro não atribuída. Ou seja, uma cadeia de bits para symbolVal como um valor de símbolo pode ser derivado através de binarização de FL, e um comprimento de bits (isto é, o número de bits) da cadeia de bits pode ser um comprimento fixo.[0150] A binarization of FL may be configured using a bit string whose number of bits has a fixed length of symbolVal. In this document, the fixed length bit may be an unsigned integer bit string. That is, a bit string for symbolVal as a symbol value may be derived via binarization of FL, and a bit length (i.e., the number of bits) of the bit string may be a fixed length.
[0151] Por exemplo, o comprimento fixo pode ser derivado conforme mostrado na equação a seguir. [Equação 10] [0151] For example, the fixed length can be derived as shown in the following equation. [Equation 10]
[0152] A indexação de bins para binarização FL pode ser um método que usa um valor que aumenta regularmente a partir de um bit mais significativo para um bit menos significativo. Por exemplo, um índice de bin relacionado ao bit mais significativo pode ser binIdx = 0.[0152] Bin indexing for FL binarization may be a method that uses a regularly increasing value from a most significant bit to a least significant bit. For example, a bin index related to the most significant bit may be binIdx = 0.
[0153] Entretanto, por exemplo, um processo de binarização para um elemento de sintaxe abs_remainder nas informações residuais pode ser realizado da seguinte forma.[0153] However, for example, a binarization process for an abs_remainder syntax element in the residual information can be performed as follows.
[0154] Um entrada do processo de binarização para o abs_remainder pode ser uma solicitação por binarização de um elemento de sintaxe abs_remainder[n], um componente de cor cIdx, e uma posição de luma (x0, y0). A posição de luma (x0, y0) pode indicar uma amostra superior esquerda de um bloco de transformada de luma atual com base na amostra de luma superior esquerda de uma figuração.[0154] An input to the binarization process for abs_remainder may be a request for binarization of a syntax element abs_remainder[n], a color component cIdx, and a luma position (x0, y0). The luma position (x0, y0) may indicate a top left sample of a current luma transform block based on the top left luma sample of a figuration.
[0155] Uma saída do processo de binarização para abs_remainder pode ser uma binarização do abs_remainder (isto é, uma cadeia de bin binarizado do abs_remainder). As cadeias de bin disponíveis para o abs_remainder podem ser derivadas através do processo de binarização.[0155] An output of the binarization process for abs_remainder may be a binarization of abs_remainder (i.e., a binarized bin string of abs_remainder). The bin strings available to abs_remainder may be derived through the binarization process.
[0156] Um parâmetro rice cRiceParam para o abs_remainder[n] pode ser derivado através de um processo de derivação de parâmetro rice realizado inserindo se o componente de cor cIdx e a posição de luma (x0, y0), a posição de varredura de coeficiente (xC, yC), log2TbWidth, que é o logaritmo de binarização da largura do bloco de transformada, e log2TbHeight, que é o logaritmo de binarização da altura do bloco de transformada. Uma descrição detalhada do processo de derivação de parâmetro rice será descrita mais adiante.[0156] A rice parameter cRiceParam for abs_remainder[n] may be derived through a rice parameter derivation process performed by inputting the color component cIdx and the luma position (x0, y0), the coefficient scan position (xC, yC), log2TbWidth, which is the binarization logarithm of the transform block width, and log2TbHeight, which is the binarization logarithm of the transform block height. A detailed description of the rice parameter derivation process will be described later.
[0157] Além disso, por exemplo, cMax para abs_remainder[n] a ser atualmente codificado pode ser derivado com base no parâmetro rice cRiceParam. O cMax pode ser derivado conforme mostrado na equação a seguir. [Equação 11] [0157] Additionally, for example, cMax for abs_remainder[n] to be currently encoded can be derived based on the rice parameter cRiceParam. cMax can be derived as shown in the following equation. [Equation 11]
[0158] Entretanto, a binarização para abs_remainder, ou seja, uma cadeia de bin para abs_remainder, pode ser uma concatenação de uma cadeia de bin de prefixo e uma cadeia de bin de sufixo na presença da cadeia de bin de sufixo. Além disso, na ausência da cadeia de bin de sufixo, a cadeia de bin para abs_remainder pode ser a cadeia de bin de prefixo.[0158] However, the binarization for abs_remainder, i.e., a bin string for abs_remainder, may be a concatenation of a prefix bin string and a suffix bin string in the presence of the suffix bin string. Furthermore, in the absence of the suffix bin string, the bin string for abs_remainder may be the prefix bin string.
[0159] Por exemplo, a cadeia de bin de prefixo pode ser derivada conforme descrito abaixo.[0159] For example, the prefix bin string can be derived as described below.
[0160] Um valor de prefixo prefixVal do abs_remainder[n] pode ser derivado conforme mostrado na equação a seguir. [Equação 12] [0160] A prefix value prefixVal of abs_remainder[n] can be derived as shown in the following equation. [Equation 12]
[0161] Um prefixo da cadeia de bin (isto é, uma cadeia de bin de prefixo) de abs_remainder[n] pode ser derivado através de um processo de binarização de TR para prefixVal, onde cMax e cRiceParam são usados como uma entrada.[0161] A bin string prefix (i.e., a prefix bin string) of abs_remainder[n] can be derived through a binarization process from TR to prefixVal, where cMax and cRiceParam are used as an input.
[0162] Se a cadeia de bin de prefixo for idêntica a uma cadeia de bits na qual todos os bits são 1 e um comprimento de bit é 6, uma cadeia de bin de sufixo da cadeia de bin de abs_remainder[n] pode existir, e pode ser derivado conforme descrito abaixo.[0162] If the prefix bin string is identical to a bit string in which all bits are 1 and a bit length is 6, a suffix bin string of the abs_remainder[n] bin string may exist, and may be derived as described below.
[0163] O processo de derivação de parâmetro de rice para dec_abs_level[n] pode ser da seguinte forma.[0163] The parameter derivation process from rice to dec_abs_level[n] can be as follows.
[0164] Uma entrada do processo de derivação de parâmetro de rice pode ser um índice de componente de cor cIdx, uma posição de luma (x0, y0), uma posição de varredura de coeficiente atual (xC, yC), log2TbWidth como um logaritmo binário de uma largura de um bloco de transformada, e log2TbHeight como um logaritmo binário de uma altura do bloco de transformada. A posição de luma (x0, y0) pode indicar uma amostra superior esquerda de um bloco de transformada de luma atual com base em uma amostra de luma superior esquerda de uma figuração. Além disso, uma saída do processo de derivação de parâmetro de rice pode ser o parâmetro de rice cRiceParam.[0164] An input of the rice parameter derivation process may be a color component index cIdx, a luma position (x0, y0), a current coefficient scan position (xC, yC), log2TbWidth as a binary logarithm of a width of a transform block, and log2TbHeight as a binary logarithm of a height of the transform block. The luma position (x0, y0) may indicate a top left sample of a current luma transform block based on a top left luma sample of a figuration. Additionally, an output of the rice parameter derivation process may be the rice parameter cRiceParam.
[0165] Por exemplo, uma variável locSumAbs pode ser derivado similarmente a um pseudocódigo revelado na tabela a seguir, com base em um arranjo AbsLevel[x][y] para um bloco de transformada tendo o índice de componente determinado cIdx e a posição de luma superior esquerda (x0, y0). [Tabela 12] [0165] For example, a variable locSumAbs may be derived similarly to the pseudocode disclosed in the following table, based on an array AbsLevel[x][y] for a transform block having the given component index cIdx and the upper left luma position (x0, y0). [Table 12]
[0166] Então, com base na dada variável locSumAbs, o parâmetro de rice cRiceParam pode ser derivado conforme mostrado na tabela a seguir. [Tabela 13] [0166] Then, based on the given locSumAbs variable, the rice parameter cRiceParam can be derived as shown in the following table. [Table 13]
[0167] Da mesma forma, por exemplo, no processo de derivação de parâmetro de rice para abs_remainder[n], baseLevel pode ser definido para 4.[0167] Similarly, for example, in the process of deriving parameter from rice for abs_remainder[n], baseLevel can be set to 4.
[0168] Alternativamente, por exemplo, o parâmetro de rice cRiceParam pode ser determinado com base em se uma omissão de transformada é aplicada a um bloco atual. Ou seja, se uma transformada não for aplicada a um TB atual incluindo um CG atual, em outras palavras, se a omissão de transformada for aplicada ao TB atual incluindo o CG atual, o parâmetro de rice cRiceParam pode ser derivado como sendo 1.[0168] Alternatively, for example, the rice parameter cRiceParam may be determined based on whether a transform omission is applied to a current block. That is, if a transform is not applied to a current TB including a current CG, in other words, if transform omission is applied to the current TB including the current CG, the rice parameter cRiceParam may be derived as being 1.
[0169] Da mesma forma, um valor de sufixo suffixVal de abs_remainder pode ser derivado conforme mostrado na equação a seguir. [Equação 13] [0169] Similarly, a suffix value suffixVal of abs_remainder can be derived as shown in the following equation. [Equation 13]
[0170] Uma cadeia de bin de sufixo da cadeia de bin de abs_remainder pode ser derivada através de um processo de binarização de EGk limitado para o suffixVal onde k é definido para cRiceParam+1, riceParam é definido para cRiceParam, e log2TransformRange é definido para 15, e maxPreExtLen é definido para 11.[0170] A suffix bin string from the abs_remainder bin string may be derived via a bounded EGk binarization process for the suffixVal where k is set to cRiceParam+1, riceParam is set to cRiceParam, and log2TransformRange is set to 15, and maxPreExtLen is set to 11.
[0171] Entretanto, por exemplo, um processo de binarização para um elemento de sintaxe dec_abs_level nas informações residuais pode ser realizado da seguinte forma.[0171] However, for example, a binarization process for a syntax element dec_abs_level in the residual information can be performed as follows.
[0172] Uma entrada do processo de binarização para dec_abs_level pode ser uma solicitação por binarização de um elemento de sintaxe dec_abs_level[n], um componente de cor cIdx, uma posição de luma (x0, y0), uma posição de varredura de coeficiente atual (xC, yC), log2TbWidth como um logaritmo binário de uma largura de um bloco de transformada, e log2TbHeight como um logaritmo binário de uma altura do bloco de transformada. A posição de luma (x0, y0) pode indicar uma amostra superior esquerda de um bloco de transformada de luma atual com base em uma amostra de luma superior esquerda de uma figuração.[0172] An input to the binarization process for dec_abs_level may be a request for binarization of a dec_abs_level[n] syntax element, a color component cIdx, a luma position (x0, y0), a current coefficient scan position (xC, yC), log2TbWidth as a binary logarithm of a width of a transform block, and log2TbHeight as a binary logarithm of a height of the transform block. The luma position (x0, y0) may indicate a top left sample of a current luma transform block based on a top left luma sample of a figuration.
[0173] Uma saída do processo de binarização para dec_abs_level pode ser uma binarização de dec_abs_level (isto é, uma cadeia de bin binarizada de dec_abs_level). Cadeias de bin disponíveis para dec_abs_level podem ser derivadas através do processo de binarização.[0173] An output of the binarization process for dec_abs_level may be a binarization of dec_abs_level (i.e., a binarized bin string of dec_abs_level). Available bin strings for dec_abs_level may be derived through the binarization process.
[0174] Um parâmetro de rice cRiceParam para dec_abs_level[n] pode ser derivado através de um processo de derivação de parâmetro de rice realizado com uma entrada do componente de cor cIdx, a posição de luma (x0, y0), a posição de varredura de coeficiente atual (xC, yC), log2TbWidth como o logaritmo binário da largura do bloco de transformada, e log2TbHeight como o logaritmo binário da altura do bloco de transformada. O processo de derivação de parâmetro de rice será descrito abaixo em detalhes.[0174] A rice parameter cRiceParam for dec_abs_level[n] may be derived through a rice parameter derivation process performed with an input of the color component cIdx, the luma position (x0, y0), the current coefficient scan position (xC, yC), log2TbWidth as the binary logarithm of the transform block width, and log2TbHeight as the binary logarithm of the transform block height. The rice parameter derivation process will be described in detail below.
[0175] Além disso, por exemplo, cMax para dec_abs_level[n] pode ser derivado com base no parâmetro de rice cRiceParam. cMax pode ser derivado conforme mostrado na tabela a seguir. [Equação 14] [0175] Additionally, for example, cMax for dec_abs_level[n] can be derived based on the rice parameter cRiceParam. cMax can be derived as shown in the following table. [Equation 14]
[0176] Entretanto, a binarização para dec_abs_level[n], ou seja, uma cadeia de bin para dec_abs_level[n], pode ser uma concatenação de uma cadeia de bin de prefixo e uma cadeia de bin de sufixo na presença da cadeia de bin de sufixo. Além disso, na ausência da cadeia de bin de sufixo, a cadeia de bin para dec_abs_level[n] pode ser a cadeia de bin de prefixo.[0176] However, the binarization for dec_abs_level[n], i.e., a bin string for dec_abs_level[n], may be a concatenation of a prefix bin string and a suffix bin string in the presence of the suffix bin string. Furthermore, in the absence of the suffix bin string, the bin string for dec_abs_level[n] may be the prefix bin string.
[0177] Por exemplo, a cadeia de bin de prefixo pode ser derivada conforme descrito abaixo.[0177] For example, the prefix bin string can be derived as described below.
[0178] Um valor de prefixo prefixVal de dec_abs_level[n] pode ser derivado conforme mostrado na equação a seguir. [Equação 15] [0178] A prefix value prefixVal of dec_abs_level[n] can be derived as shown in the following equation. [Equation 15]
[0179] Um prefixo da cadeia de bin (isto é, uma cadeia de bin de prefixo) de dec_abs_level[n] pode ser derivado através de um processo de binarização de TR para prefixVal, onde cMax e cRiceParam são usados como uma entrada.[0179] A bin string prefix (i.e., a prefix bin string) of dec_abs_level[n] can be derived through a binarization process from TR to prefixVal, where cMax and cRiceParam are used as an input.
[0180] Se a cadeia de bin de prefixo for idêntica a uma cadeia de bits onde todos os bits são 1 e um comprimento de bit é 6, uma cadeia de bin de sufixo da cadeia de bin de dec_abs_level[n] pode existir, e pode ser derivada conforme descrito abaixo.[0180] If the prefix bin string is identical to a bit string where all bits are 1 and a bit length is 6, a suffix bin string of the dec_abs_level[n] bin string may exist, and may be derived as described below.
[0181] O processo de derivação de parâmetro de rice para dec_abs_level[n] pode ser da seguinte forma.[0181] The parameter derivation process from rice to dec_abs_level[n] can be as follows.
[0182] Uma entrada do processo de derivação de parâmetro de rice pode ser um índice de componente de cor cIdx, uma posição de luma (x0, y0), uma posição de varredura de coeficiente atual (xC, yC), log2TbWidth como um logaritmo binário de uma largura de um bloco de transformada, e log2TbHeight como um logaritmo binário de uma altura do bloco de transformada. A posição de luma (x0, y0) pode indicar uma amostra superior esquerda de um bloco de transformada de luma atual com base em uma amostra de luma superior esquerda de uma figuração. Além disso, uma saída do processo de derivação de parâmetro de rice pode ser o parâmetro de rice cRiceParam.[0182] An input to the rice parameter derivation process may be a color component index cIdx, a luma position (x0, y0), a current coefficient scan position (xC, yC), log2TbWidth as a binary logarithm of a width of a transform block, and log2TbHeight as a binary logarithm of a height of the transform block. The luma position (x0, y0) may indicate a top left sample of a current luma transform block based on a top left luma sample of a figuration. Additionally, an output of the rice parameter derivation process may be the rice parameter cRiceParam.
[0183] Por exemplo, uma variável locSumAbs pode ser derivada similarmente a um pseudocódigo revelado na tabela a seguir, com base em um arranjo AbsLevel[x][y] para um bloco de transformada tendo o dado índice de componente cIdx e a posição de luma superior esquerda (x0, y0). [Tabela 14] [0183] For example, a variable locSumAbs may be derived similarly to the pseudocode disclosed in the following table, based on an array AbsLevel[x][y] for a transform block having the given component index cIdx and the upper left luma position (x0, y0). [Table 14]
[0184] Então, com base na dada variável locSumAbs, o parâmetro de rice cRiceParam pode ser derivado conforme mostrado na tabela a seguir. [Tabela 15] [0184] Then, based on the given locSumAbs variable, the rice parameter cRiceParam can be derived as shown in the following table. [Table 15]
[0185] Da mesma forma, por exemplo, no processo de derivação de parâmetro de rice para dec_abs_level[n], baseLevel pode ser definido para 0 e ZeroPos[n] pode ser derivado da seguinte forma. [Equação 16] [0185] Similarly, for example, in the process of deriving the rice parameter for dec_abs_level[n], baseLevel can be set to 0 and ZeroPos[n] can be derived as follows. [Equation 16]
[0186] Além disso, um valor de sufixo suffixVal de dec_abs_level[n] pode ser derivado conforme mostrado na equação a seguir. [Equação 17] [0186] Additionally, a suffix value suffixVal of dec_abs_level[n] can be derived as shown in the following equation. [Equation 17]
[0187] Uma cadeia de bin de sufixo da cadeia de bin de dec_abs_level[n] pode ser derivada através de um processo de binarização de EGk limitado para suffixVal onde k é definido para cRiceParam+1, truncSuffixLen é definido para 15 e maxPreExtLen é definido para 11.[0187] A suffix bin string from the bin string of dec_abs_level[n] may be derived via a bounded EGk binarization process for suffixVal where k is set to cRiceParam+1, truncSuffixLen is set to 15, and maxPreExtLen is set to 11.
[0188] Entretanto, RRC e TSRC podem ter as seguintes diferenças.[0188] However, RRC and TSRC may have the following differences.
[0189] - - Por exemplo, o parâmetro de Rice cRiceParam do elemento de sintaxe abs_remainder[] e dec_abs_level[] no RRC pode ser derivado com base no locSumAbs, na tabela de pesquisa e/ou no baseLevel conforme descrito anteriormente, mas o parâmetro de Rice cRiceParam do elemento de sintaxe abs_remainder[] na TSRC pode se derivado como 1. Ou seja, por exemplo, quando uma omissão de transformada for aplicada ao bloco atual (por exemplo, TB atual), o parâmetro de Rice cRiceParam para abs_remainder[] da TSRC para o bloco atual pode ser derivado como 1.[0189] - - For example, the Rice parameter cRiceParam of the abs_remainder[] and dec_abs_level[] syntax element in the RRC may be derived based on locSumAbs, the lookup table, and/or the baseLevel as described previously, but the Rice parameter cRiceParam of the abs_remainder[] syntax element in the TSRC may be derived as 1. That is, for example, when a transform omission is applied to the current block (e.g., current TB), the Rice parameter cRiceParam for abs_remainder[] of the TSRC for the current block may be derived as 1.
[0190] - Da mesma forma, por exemplo, referindo-se à Tabela 3 e à Tabela 4, no RRC, abs_level_gtx_flag[n] [0] e/ou abs_level_gtx_flag[n][1] pode ser sinalizado, mas na TSRC, abs_level_gtx_flag[n] [0], abs_level_gtx_flag[n][1], abs_level_gtx_flag[n][2], abs_level_gtx_flag[n][3] e abs_level_gtx_flag[n][4] podem ser sinalizados. No presente documento, abs_level_gtx_flag[n] [0] pode ser expresso como abs_level_gt1_flag ou um primeiro sinalizador de nível de coeficiente, abs_level_gtx_flag[n][1] pode ser expresso como abs_level_gt3_flag ou um segundo sinalizador de nível de coeficiente, abs_level_gtx_flag[n][2] pode ser expresso como abs_level_gt5_flag ou um terceiro sinalizador de nível de coeficiente, abs_level_gtx_flag[n][3] pode ser expresso como abs_level_gt7_flag ou um quarto sinalizador de nível de coeficiente, e abs_level_gtx_flag[n][4] pode ser expresso como abs_level_gt9_flag ou um quinto sinalizador de nível de coeficiente. De modo específico, o primeiro sinalizador de nível de coeficiente pode ser um sinalizador para se um nível de coeficiente for maior que um primeiro limiar (por exemplo, 1), o segundo sinalizador de nível de coeficiente pode ser um sinalizador para se um nível de coeficiente for maior que um segundo limar (por exemplo, 3), o terceiro sinalizador de nível de coeficiente pode ser um sinalizador para se um nível de coeficiente for maior que um terceiro limiar (por exemplo, 5), o quarto sinalizador de nível de coeficiente pode ser um sinalizador para se um nível de coeficiente for maior que um quarto limiar (por exemplo, 7), o quinto sinalizador de nível de coeficiente pode ser um sinalizador para se um nível de coeficiente for maior que um quinto limiar (por exemplo, 9). Conforme descrito acima, na TSRC, comparado ao RRC, abs_level_gtx_flag[n] [0], abs_level_gtx_flag[n][1] e abs_level_gtx_flag[n][2], abs_level_gtx_flag[n][3], abs_level_gtx_flag[n][4] pode ser adicionalmente incluindo.[0190] - Similarly, for example, referring to Table 3 and Table 4, in RRC, abs_level_gtx_flag[n][0] and/or abs_level_gtx_flag[n][1] may be flagged, but in TSRC, abs_level_gtx_flag[n][0], abs_level_gtx_flag[n][1], abs_level_gtx_flag[n][2], abs_level_gtx_flag[n][3], and abs_level_gtx_flag[n][4] may be flagged. In this document, abs_level_gtx_flag[n][0] may be expressed as abs_level_gt1_flag or a first coefficient level flag, abs_level_gtx_flag[n][1] may be expressed as abs_level_gt3_flag or a second coefficient level flag, abs_level_gtx_flag[n][2] may be expressed as abs_level_gt5_flag or a third coefficient level flag, abs_level_gtx_flag[n][3] may be expressed as abs_level_gt7_flag or a fourth coefficient level flag, and abs_level_gtx_flag[n][4] may be expressed as abs_level_gt9_flag or a fifth coefficient level flag. Specifically, the first coefficient level flag may be a flag for if a coefficient level is greater than a first threshold (e.g., 1), the second coefficient level flag may be a flag for if a coefficient level is greater than a second threshold (e.g., 3), the third coefficient level flag may be a flag for if a coefficient level is greater than a third threshold (e.g., 5), the fourth coefficient level flag may be a flag for if a coefficient level is greater than a fourth threshold (e.g., 7), the fifth coefficient level flag may be a flag for if a coefficient level is greater than a fifth threshold (e.g., 9). As described above, in TSRC, compared to RRC, abs_level_gtx_flag[n][0], abs_level_gtx_flag[n][1] and abs_level_gtx_flag[n][2], abs_level_gtx_flag[n][3], abs_level_gtx_flag[n][4] can be additionally including.
[0191] - Da mesma forma, por exemplo, no RRC, o elemento de sintaxe coeff_sign_flag pode ser codificado por desvio, mas na TSRC, o elemento de sintaxe coeff_sign_flag pode ser codificado por desvio ou codificado por contexto.[0191] - Similarly, for example, in RRC, the syntax element coeff_sign_flag can be branch-encoded, but in TSRC, the syntax element coeff_sign_flag can be branch-encoded or context-encoded.
[0192] Ademais, para um processo de quantização de amostra residual, pode- se propor uma quantização dependente. A quantização dependente pode representar um método dependente de um valor de um coeficiente de transformada (valor de um nível de coeficiente de transformada) onde um conjunto de valores reconstruídos permitido para um coeficiente de transformada atual precede o coeficiente de transformada atual em uma ordem de reconstrução. Ou seja, por exemplo, a quantização dependente pode ser realizada (a) definindo-se dois quantizadores escalares tendo diferentes níveis de reconstrução, e (b) definindo-se um processo para transição entre os quantizadores escalares. A quantização dependente pode ter um efeito em que um vetor reconstruído permitido é mais concentrado em um espaço vetorial N-dimensional em comparação à quantização escalar independente existente. No presente documento, N pode representar o número de coeficientes de transformada de um bloco de transformada.[0192] Furthermore, for a residual sample quantization process, a dependent quantization can be proposed. Dependent quantization can represent a method dependent on a value of a transform coefficient (value of a transform coefficient level) where a set of allowed reconstructed values for a current transform coefficient precedes the current transform coefficient in a reconstruction order. That is, for example, dependent quantization can be performed by (a) defining two scalar quantizers having different reconstruction levels, and (b) defining a process for transition between the scalar quantizers. Dependent quantization can have an effect where an allowed reconstructed vector is more concentrated in an N-dimensional vector space compared to the existing independent scalar quantization. In the present document, N can represent the number of transform coefficients of a transform block.
[0193] A Figura 6 ilustra, de modo exemplificador, quantizadores escalares sendo usados em quantização dependente. Referindo-se à Figura 6, a posição dos níveis reconstruídos habilitados pode ser designada por um tamanho da etapa de quantização △. Referindo-se à Figura 6, os quantizadores escalares podem ser representados como Q0 e Q1. O quantizador escalar sendo usado pode ser derivado sem ser explicitamente sinalizado a partir de um fluxo de bits. Por exemplo, o quantizador sendo usado para o coeficiente de transformada atual pode ser determinado por paridades do nível de coeficiente de transformada precedendo o coeficiente de transformada atual na ordem de codificação/reconstrução.[0193] Figure 6 illustrates, by way of example, scalar quantizers being used in dependent quantization. Referring to Figure 6, the position of the enabled reconstructed levels can be designated by a quantization step size △. Referring to Figure 6, the scalar quantizers can be represented as Q0 and Q1. The scalar quantizer being used can be derived without being explicitly signaled from a bit stream. For example, the quantizer being used for the current transform coefficient can be determined by parities of the transform coefficient level preceding the current transform coefficient in the encoding/reconstruction order.
[0194] A Figura 7 ilustra, de modo exemplificador, a transição de estado e seleção de quantizador para a quantização dependente.[0194] Figure 7 illustrates, by way of example, the state transition and quantizer selection for dependent quantization.
[0195] Referindo-se à Figura 7, a transição entre os dois quantizadores escalares Q0 e Q1 pode ser realizada através de uma máquina de estado tendo quatro estados. Os quatro estados podem ter quatro valores diferentes (0, 1, 2 e 3). Na ordem de codificação/reconstruída, o estado para o coeficiente de transformada atual pode ser determinado pelas paridades do nível de coeficiente de transformada antes do coeficiente de transformada atual.[0195] Referring to Figure 7, the transition between the two scalar quantizers Q0 and Q1 may be performed via a state machine having four states. The four states may have four different values (0, 1, 2, and 3). In the encoding/reconstructed order, the state for the current transform coefficient may be determined by the parities of the transform coefficient level before the current transform coefficient.
[0196] Por exemplo, no caso onde um processo de desquantização para o bloco de transformada inicia, o estado para a quantização dependente pode ser configurado como 0. Posteriormente, os coeficientes de transformada do bloco de transformada podem ser reconstruídos na ordem de varredura (isto é, a mesma ordem que aquela de decodificação de entropia). Por exemplo, após o coeficiente de transformada atual ser reconstruído, conforme ilustrado na Figura 7, o estado para a quantização dependente pode ser atualizado. Na ordem de varredura, o processo de desquantização para o coeficiente de transformada sendo reconstruído após o coeficiente de transformada atual ser reconstruído pode ser realizado com base em um estado atualizado. Na Figura 7, k pode representar um valor do coeficiente de transformada, ou seja, o valor do valor de nível de coeficiente de transformada. Por exemplo, se k (valor do coeficiente de transformada atual) & 1 for 0 em um estado onde o estado atual é 0, o estado pode ser atualizado para 0, enquanto se k&1 for 1, o estado pode ser atualizado para 2. Ademais, por exemplo, se k&1 for 0 em um estado onde o estado atual é 1, o estado pode ser atualizado para 2, enquanto se k&1 for 1, o estado pode ser atualizado para 0. Ademais, por exemplo, se k&1 for 0 em um estado onde o estado atual é 2, o estado pode ser atualizado para 1, enquanto se k&1 for 1, o estado pode ser atualizado para 3. Ademais, por exemplo, se k&1 for 0 em um estado onde o estado atual é 3, o estado pode ser atualizado para 3, enquanto se k&1 for 1, o estado pode ser atualizado para 1. Referindo-se à Figura 7, se o estado for 0 ou 1, o quantizador escalar sendo usado no processo de desquantização pode ser Q0, e se o estado for 2 ou 3, o quantizador escalar sendo usado no processo de desquantização pode ser Q1. O coeficiente de transformada pode ser desquantizado pelo quantizador escalar para o estado atual com base em um parâmetro de quantização para um nível reconstruído do coeficiente de transformada.[0196] For example, in the case where a dequantization process for the transform block starts, the state for dependent quantization may be set to 0. Subsequently, the transform coefficients of the transform block may be reconstructed in the scan order (i.e., the same order as that of entropy decoding). For example, after the current transform coefficient is reconstructed, as illustrated in Figure 7, the state for dependent quantization may be updated. In the scan order, the dequantization process for the transform coefficient being reconstructed after the current transform coefficient is reconstructed may be performed based on an updated state. In Figure 7, k may represent a transform coefficient value, i.e., the value of the transform coefficient level value. For example, if k(current transform coefficient value) & 1 is 0 in a state where the current state is 0, the state can be updated to 0, while if k&1 is 1, the state can be updated to 2. Further, for example, if k&1 is 0 in a state where the current state is 1, the state can be updated to 2, while if k&1 is 1, the state can be updated to 0. Further, for example, if k&1 is 0 in a state where the current state is 2, the state can be updated to 1, while if k&1 is 1, the state can be updated to 3. Further, for example, if k&1 is 0 in a state where the current state is 3, the state can be updated to 3, while if k&1 is 1, the state can be updated to 1. Referring to Figure 7, if the state is either 0 or 1, the scalar quantizer being used in dequantization process can be Q0, and if the state is 2 or 3, the scalar quantizer being used in the dequantization process can be Q1. The transform coefficient can be dequantized by the scalar quantizer to the current state based on a quantization parameter to a reconstructed level of the transform coefficient.
[0197] Entretanto, a presente revelação propõe modalidades relacionadas à codificação de dados residual. As modalidades sendo explicadas na presente revelação podem ser combinadas entre si. No método de codificação de dados residual conforme descrito anteriormente, codificação residual regular (RRC) e codificação residual de omissão de transformada (TSRC) podem estar presentes.[0197] However, the present disclosure proposes embodiments related to residual data coding. The embodiments being explained in the present disclosure may be combined with each other. In the residual data coding method as described above, regular residual coding (RRC) and transform omission residual coding (TSRC) may be present.
[0198] Dos dois métodos conforme descrito anteriormente, o método de codificação de dados residual para o bloco atual pode ser determinado com base nos valores de transform_skip_flag e sh_ts_residual_coding_disabled_flag conforme ilustrado na Tabela 1. No presente documento, o elemento de sintaxe sh_ts_residual_coding_disabled_flag pode representar se a TSRC está habilitada. De modo correspondente, se slice_ts_residual_coding_disabled_flag representar que a TSRC não está habilitada mesmo no caso onde transform_skip_flag representa a omissão de transformada, os elementos de sintaxe de acordo com RRC podem ser sinalizados para o bloco de omissão de transformada. Ou seja, se o valor de transform_skip_flag for 0, ou se o valor de slice_ts_residual_coding_disabled_flag for 1, RRC pode ser usado, enquanto, caso contrário, TSRC pode ser usada.[0198] Of the two methods as described above, the residual data coding method for the current block can be determined based on the values of transform_skip_flag and sh_ts_residual_coding_disabled_flag as illustrated in Table 1. In the present document, the syntax element sh_ts_residual_coding_disabled_flag can represent whether TSRC is enabled. Correspondingly, if slice_ts_residual_coding_disabled_flag represents that TSRC is not enabled even in the case where transform_skip_flag represents transform omission, the syntax elements according to RRC can be flagged for the transform omission block. That is, if the value of transform_skip_flag is 0, or if the value of slice_ts_residual_coding_disabled_flag is 1, RRC can be used, while otherwise, TSRC can be used.
[0199] Embora uma alta eficiência de codificação possa ser obtida em aplicações específicas (por exemplo, codificação sem perdas e similares) utilizando- se slice_ts_residual_coding_disabled_flag, no padrão de vídeo/imagem existente, restrições em um caso onde a quantização dependente e slice_ts_residual_coding_disabled_flag são usados juntos não foram propostas. Ou seja, a quantização dependente pode ser ativada em alto nível (por exemplo, sintaxe de conjunto de parâmetros de sequência (SPS) / sintaxe de conjunto de parâmetros de vídeo (VPS) / sintaxe de conjunto de parâmetros de decodificação (DPS) / sintaxe de cabeçalho de figuração / sintaxe de cabeçalho de fatia) ou em baixo nível CU/TU), e se slice_ts_residual_coding_disabled_flag for 1, os valores dependentes do estado da quantização dependente no RRC podem realizar uma operação desnecessária (isto é, operação de acordo com a quantização dependente) para degradar o desempenho de codificação, ou uma perda não intencional de desempenho de codificação pode ocorrer devido à configuração errônea no aparelho de codificação. De modo correspondente, a presente modalidade propõe esquemas para configurar dependências/restrições entre duas tecnologias da quantização dependente e da codificação residual (isto é, codificação de amostras residuais de um bloco de omissão de transformada na fatia atual através do RRC) no caso onde slice_ts_residual_coding_disabled_flag = 1, que são usados juntos para evitar que ocorra uma perda de codificação não intencional ou mau funcionamento.[0199] Although high coding efficiency can be achieved in specific applications (e.g., lossless coding and the like) by using slice_ts_residual_coding_disabled_flag, in the existing video/image standard, restrictions in a case where dependent quantization and slice_ts_residual_coding_disabled_flag are used together have not been proposed. That is, dependent quantization can be enabled at high level (e.g., sequence parameter set (SPS) syntax/video parameter set (VPS) syntax/decode parameter set (DPS) syntax/picture header syntax/slice header syntax) or at low level CU/TU), and if slice_ts_residual_coding_disabled_flag is 1, the dependent values of the dependent quantization state in RRC may perform unnecessary operation (i.e., operation according to dependent quantization) to degrade coding performance, or an unintended loss of coding performance may occur due to erroneous configuration in the coding apparatus. Correspondingly, the present embodiment proposes schemes for setting dependencies/constraints between two technologies of dependent quantization and residual coding (i.e., coding residual samples of a transform omission block in the current slice via RRC) in the case where slice_ts_residual_coding_disabled_flag = 1, which are used together to prevent unintentional coding loss or malfunction from occurring.
[0200] Como uma modalidade, a presente revelação propõe um método onde slice_ts_residual_coding_disabled_flag ph_dep_quant_enabled_flag. Por exemplo, os elementos de sintaxe propostos na presente modalidade podem estar na tabela a seguir. [Tabela 16] [0200] As an embodiment, the present disclosure proposes a method where slice_ts_residual_coding_disabled_flag ph_dep_quant_enabled_flag. For example, the syntax elements proposed in the present embodiment may be in the following table. [Table 16]
[0201] De acordo com a presente modalidade, slice_ts_residual_coding_disabled_flag pode ser sinalizado no caso onde o valor de ph_dep_quant_enabled_flag é 0. No presente documento, ph_dep_quant_enabled_flag pode representar se a quantização dependente está habilitada. Por exemplo, se o valor de ph_dep_quant_enabled_flag for 1, isso pode representar que a quantização dependente está habilitada, enquanto se o valor de ph_dep_quant_enabled_flag for 0, isso pode representar que a quantização dependente não está habilitada.[0201] According to the present embodiment, slice_ts_residual_coding_disabled_flag may be flagged in the case where the value of ph_dep_quant_enabled_flag is 0. In the present document, ph_dep_quant_enabled_flag may represent whether dependent quantization is enabled. For example, if the value of ph_dep_quant_enabled_flag is 1, this may represent that dependent quantization is enabled, while if the value of ph_dep_quant_enabled_flag is 0, this may represent that dependent quantization is not enabled.
[0202] De modo correspondente, de acordo com a presente modalidade, slice_ts_residual_coding_disabled_flag pode ser sinalizado apenas no caso onde a quantização dependente não está habilitada, e no caso onde a quantização dependente está habilitada, e, logo, slice_ts_residual_coding_disabled_flag não é sinalizado, slice_ts_residual_coding_disabled_flag pode ser inferido como 0. Entretanto, ph_dep_quant_enabled_flag e slice_ts_residual_coding_disabled_flag podem ser sinalizados à sintaxe de cabeçalho de figuração e/ou à sintaxe de cabeçalho de fatia, ou podem ser sinalizados a outra sintaxe de alto nível (HLS) (por exemplo, sintaxe de SPS / sintaxe de VPS / sintaxe de DPS) que não seja a sintaxe de cabeçalho de figuração e a sintaxe de cabeçalho de fatia ou no nível baixo (CU/TU). Se ph_dep_quant_enabled_flag for sinalizado a uma sintaxe excluindo a sintaxe de cabeçalho de figuração, o mesmo pode ser denominado por outro nome. Por exemplo, ph_dep_quant_enabled_flag pode ser representado como sh_dep_quant_enabled_flag, sh_dep_quant_used_flag ou sps_dep_quant_enabled_flag.[0202] Correspondingly, according to the present embodiment, slice_ts_residual_coding_disabled_flag may be flagged only in the case where dependent quantization is not enabled, and in the case where dependent quantization is enabled, and therefore slice_ts_residual_coding_disabled_flag is not flagged, slice_ts_residual_coding_disabled_flag may be inferred to be 0. However, ph_dep_quant_enabled_flag and slice_ts_residual_coding_disabled_flag may be flagged to the figuration header syntax and/or the slice header syntax, or may be flagged to other high-level syntax (HLS) (e.g., SPS syntax/VPS syntax/DPS syntax) other than the figuration header syntax and the slice header syntax or at the low level (CU/TU). If ph_dep_quant_enabled_flag is flagged to a syntax other than the figuration header syntax, it may be called by another name. For example, ph_dep_quant_enabled_flag may be represented as sh_dep_quant_enabled_flag, sh_dep_quant_used_flag, or sps_dep_quant_enabled_flag.
[0203] Ademais, a presente revelação propõe outra modalidade para configurar dependências/restrições entre a quantização dependente e a codificação residual (isto é, codificação de amostras residuais do bloco de omissão de transformada na fatia atual através de RRC) no caso onde slice_ts_residual_coding_disabled_flag = 1. Por exemplo, a presente modalidade propõe um esquema para produzir o estado da quantização dependente não em uso na codificação do valor de nível do coeficiente de transformada no caso onde o valor de slice_ts_residual_coding_disabled_flag é 1 a fim de evitar a perda de codificação não intencional ou que ocorra um mau funcionamento através do uso da quantização dependente e da codificação residual (isto é, codificação de amostras residuais do bloco de omissão de transformada na fatia atual através de RRC) no caso onde slice_ts_residual_coding_disabled_flag = 1 juntos. A sintaxe de codificação residual de acordo com a presente modalidade pode ser conforme na tabela a seguir. [Tabela 17] [0203] Furthermore, the present disclosure proposes another embodiment for configuring dependencies/constraints between dependent quantization and residual coding (i.e., coding residual samples of the transform omission block in the current slice via RRC) in the case where slice_ts_residual_coding_disabled_flag = 1. For example, the present embodiment proposes a scheme for producing the state of dependent quantization not in use in coding the transform coefficient level value in the case where the value of slice_ts_residual_coding_disabled_flag is 1 in order to prevent unintentional coding loss or malfunction from occurring by using dependent quantization and residual coding (i.e., coding residual samples of the transform omission block in the current slice via RRC) in the case where slice_ts_residual_coding_disabled_flag = 1 together. The residual coding syntax according to the present embodiment may be as in the following table. [Table 17]
[0204] Referindo-se à Tabela 17 conforme descrito anteriormente, no caso onde o valor de ph_dep_quant_enabled_flag é 1, e o valor de slice_ts_residual_coding_disabled_flag é 0, o Qstate pode ser derivado, e o valor do coeficiente de transformada (nível de coeficiente de transformada) pode ser derivado com base no Qstate. Por exemplo, referindo-se à Tabela 17, o nível de coeficiente de transformada TransCoeffLevel[x0][y0][cIdx][xC][yC] pode ser derivado como ( 2 * AbsLevel[xC][yC] - (QState > 1 ? 1 : 0 )) * ( 1 - 2 * coeff_sign_flag[n] ). No presente documento, AbsLevel[xC][yC] pode ser um valor absoluto do coeficiente de transformada derivado com base nos elementos de sintaxe do coeficiente de transformada, coeff_sign_flag[n] pode ser um elemento de sintaxe de um sinalizador de sinal que representa o sinal do coeficiente de transformada, e (QState > 1 ? 1 : 0) pode representar 1 se o valor do estado QState é maior que 1, ou seja, se o valor do estado Qstate é 2 ou 3, e pode representar 0 se o valor do estado Qstate for igual ou menor que 1, ou seja, se o valor de estado Qstate for 0 ou 1.[0204] Referring to Table 17 as described previously, in the case where the value of ph_dep_quant_enabled_flag is 1, and the value of slice_ts_residual_coding_disabled_flag is 0, the Qstate can be derived, and the transform coefficient value (transform coefficient level) can be derived based on the Qstate. For example, referring to Table 17, the transform coefficient level TransCoeffLevel[x0][y0][cIdx][xC][yC] can be derived as ( 2 * AbsLevel[xC][yC] - (QState > 1 ? 1 : 0 )) * ( 1 - 2 * coeff_sign_flag[n] ). In this document, AbsLevel[xC][yC] may be an absolute value of the transform coefficient derived based on the syntax elements of the transform coefficient, coeff_sign_flag[n] may be a syntax element of a sign flag representing the sign of the transform coefficient, and (QState > 1 ? 1 : 0) may represent 1 if the value of the state QState is greater than 1, that is, if the value of the state Qstate is 2 or 3, and may represent 0 if the value of the state Qstate is equal to or less than 1, that is, if the value of the state Qstate is 0 or 1.
[0205] Ademais, referindo-se à Tabela 17 conforme descrito anteriormente, se o valor de slice_ts_residual_coding_disabled_flag for 1, o valor do coeficiente de transformada (nível de coeficiente de transformada) pode ser derivado sem usar o Qstate. Por exemplo, referindo-se à Tabela 17, o nível de coeficiente de transformada TransCoeffLevel[x0][y0][cIdx][xC][yC] pode ser derivado como AbsLevel[xC][yC] * ( 1 - 2 * coeff_sign_flag[n] ). No presente documento, AbsLevel[xC][yC] pode ser um valor absoluto do coeficiente de transformada derivado com base nos elementos de sintaxe do coeficiente de transformada, e coeff_sign_flag[n] pode ser um elemento de sintaxe de um sinalizador de sinal que representa o sinal do coeficiente de transformada.[0205] Further, referring to Table 17 as described previously, if the value of slice_ts_residual_coding_disabled_flag is 1, the transform coefficient value (transform coefficient level) can be derived without using Qstate. For example, referring to Table 17, the transform coefficient level TransCoeffLevel[x0][y0][cIdx][xC][yC] can be derived as AbsLevel[xC][yC] * ( 1 - 2 * coeff_sign_flag[n] ). In this document, AbsLevel[xC][yC] can be an absolute value of the transform coefficient derived based on the syntax elements of the transform coefficient, and coeff_sign_flag[n] can be a syntax element of a sign flag representing the sign of the transform coefficient.
[0206] Ademais, de acordo com a presente modalidade, se o valor de slice_ts_residual_coding_disabled_flag for 1, o estado da quantização dependente pode não ser usado na codificação do valor de nível do coeficiente de transformada, e a atualização de estado também pode não ser realizada. Por exemplo, a sintaxe de codificação residual de acordo com a presente modalidade pode ser conforme na tabela a seguir. [Tabela 18] [0206] Further, according to the present embodiment, if the value of slice_ts_residual_coding_disabled_flag is 1, the state of dependent quantization may not be used in encoding the level value of the transform coefficient, and the state update may also not be performed. For example, the residual coding syntax according to the present embodiment may be as in the following table. [Table 18]
[0207] Referindo-se à Tabela 18 conforme descrito anteriormente, se o valor de ph_dep_quant_enabled_flag for 1, e o valor de slice_ts_residual_coding_disabled_flag for 0, o Qstate pode ser atualizado. Por exemplo, se o valor de ph_dep_quant_enabled_flag for 1, e o valor de slice_ts_residual_coding_disabled_flag for 0, o QState pode ser atualizado como QStateTransTable[QState][AbsLevelPass1[xC][yC] & 1] ou QStateTransTable[QState][AbsLevel[xC][yC] & 1]. Ademais, se o valor de slice_ts_residual_coding_disabled_flag for 1, um processo de atualizar o Qstate pode não ser realizado.[0207] Referring to Table 18 as described previously, if the value of ph_dep_quant_enabled_flag is 1, and the value of slice_ts_residual_coding_disabled_flag is 0, the Qstate may be updated. For example, if the value of ph_dep_quant_enabled_flag is 1, and the value of slice_ts_residual_coding_disabled_flag is 0, the QState may be updated as QStateTransTable[QState][AbsLevelPass1[xC][yC] & 1] or QStateTransTable[QState][AbsLevel[xC][yC] & 1]. Furthermore, if the value of slice_ts_residual_coding_disabled_flag is 1, a process of updating the Qstate may not be performed.
[0208] Ademais, referindo-se à Tabela 18 conforme descrito anteriormente, se o valor de ph_dep_quant_enabled_flag for 1, e o valor de slice_ts_residual_coding_disabled_flag for 0, o valor do coeficiente de transformada (nível de coeficiente de transformada) pode ser derivado com base no QState. Por exemplo, referindo-se à Tabela 18, o nível de coeficiente de transformada TransCoeffLevel[x0][y0][cIdx][xC][yC] pode ser derivado como ( 2 * AbsLevel[xC][yC] - (QState > 1 ? 1 : 0 )) * ( 1 - 2 * coeff_sign_flag[n] ). No presente documento, AbsLevel[xC][yC] pode ser um valor absoluto do coeficiente de transformada derivado com base nos elementos de sintaxe do coeficiente de transformada, coeff_sign_flag[n] pode ser o elemento de sintaxe do sinalizador de sinal que representa o sinal do coeficiente de transformada, e (QState > 1 ? 1 : 0) pode representar 1 se o valor do estado Qstate é maior que 1, ou seja, se o valor do estado Qstate é 2 ou 3, e pode representar 0 se o valor do estado Qstate é igual ou menor que 1, ou seja, se o valor do estado Qstate for 0 ou 1.[0208] Further, referring to Table 18 as described previously, if the value of ph_dep_quant_enabled_flag is 1, and the value of slice_ts_residual_coding_disabled_flag is 0, the transform coefficient value (transform coefficient level) can be derived based on the QState. For example, referring to Table 18, the transform coefficient level TransCoeffLevel[x0][y0][cIdx][xC][yC] can be derived as ( 2 * AbsLevel[xC][yC] - (QState > 1 ? 1 : 0 )) * ( 1 - 2 * coeff_sign_flag[n] ). In this document, AbsLevel[xC][yC] may be an absolute value of the transform coefficient derived based on the transform coefficient syntax elements, coeff_sign_flag[n] may be the sign flag syntax element representing the sign of the transform coefficient, and (QState > 1 ? 1 : 0) may represent 1 if the value of the state Qstate is greater than 1, that is, if the value of the state Qstate is 2 or 3, and may represent 0 if the value of the state Qstate is equal to or less than 1, that is, if the value of the state Qstate is 0 or 1.
[0209] Ademais, referindo-se à Tabela 18 conforme descrito anteriormente, se o valor de slice_ts_residual_coding_disabled_flag for 1, o valor do coeficiente de transformada (nível de coeficiente de transformada) pode ser derivado sem usar o Qstate. Por exemplo, referindo-se à Tabela 18, o nível de coeficiente de transformada TransCoeffLevel[x0][y0][cIdx][xC][yC] pode ser derivado como AbsLevel[xC][yC] * ( 1 - 2 * coeff_sign_flag[n] ). No presente documento, AbsLevel[xC][yC] pode ser um valor absoluto do coeficiente de transformada derivado com base nos elementos de sintaxe do coeficiente de transformada, e coeff_sign_flag[n] pode ser um elemento de sintaxe de um sinalizador de sinal que representa o sinal do coeficiente de transformada.[0209] Further, referring to Table 18 as described previously, if the value of slice_ts_residual_coding_disabled_flag is 1, the transform coefficient value (transform coefficient level) can be derived without using Qstate. For example, referring to Table 18, the transform coefficient level TransCoeffLevel[x0][y0][cIdx][xC][yC] can be derived as AbsLevel[xC][yC] * ( 1 - 2 * coeff_sign_flag[n] ). In this document, AbsLevel[xC][yC] can be an absolute value of the transform coefficient derived based on the syntax elements of the transform coefficient, and coeff_sign_flag[n] can be a syntax element of a sign flag representing the sign of the transform coefficient.
[0210] Ademais, a presente revelação propõe outra modalidade para configurar dependências/restrições entre a quantização dependente e a codificação residual (isto é, codificação de amostras residuais do bloco de omissão de transformada na fatia atual através de RRC) no caso onde slice_ts_residual_coding_disabled_flag = 1. Por exemplo, a presente modalidade propõe um esquema para adicionar restrições usando um transform_skip_flag em um processo de derivar o valor do coeficiente de transformada (nível de coeficiente de transformada) dependentemente da atualização de estado ou do estado da quantização dependente no RRC. Ou seja, a presente modalidade propõe um esquema para produzir o processo de derivar o valor do coeficiente de transformada (nível de coeficiente de transformada) não em uso dependentemente da atualização de estado e/ou do estado da quantização dependente no RRC com base em transform_skip_flag. A sintaxe de codificação residual de acordo com a presente modalidade pode ser conforme na Tabela a seguir. [Tabela 19] [0210] Furthermore, the present disclosure proposes another embodiment for setting dependencies/constraints between dependent quantization and residual coding (i.e., coding residual samples of the transform skip block in the current slice via RRC) in the case where slice_ts_residual_coding_disabled_flag = 1. For example, the present embodiment proposes a scheme for adding constraints using a transform_skip_flag in a process of deriving the transform coefficient value (transform coefficient level) dependently on the state update or the state of dependent quantization in RRC. That is, the present embodiment proposes a scheme for producing the process of deriving the transform coefficient value (transform coefficient level) not in use dependently on the state update and/or the state of dependent quantization in RRC based on transform_skip_flag. The residual coding syntax according to the present embodiment may be as in the following Table. [Table 19]
[0211] Referindo-se à Tabela 19 conforme descrito anteriormente, se o valor de ph_dep_quant_enabled_flag for 1, e o valor de transform_skip_flag for 0, Qstate pode ser atualizado. Por exemplo, se o valor de ph_dep_quant_enabled_flag for 1, e o valor de transform_skip_flag for 0, Qstate pode ser atualizado como QStateTransTable[QState][AbsLevelPass1[xC][yC] & 1] ou QStateTransTable[QState][AbsLevel[xC][yC] & 1]. Ademais, se o valor de transform_skip_flag for 1, o processo de atualizar o Qstate pode não ser realizado.[0211] Referring to Table 19 as described previously, if the value of ph_dep_quant_enabled_flag is 1, and the value of transform_skip_flag is 0, Qstate may be updated. For example, if the value of ph_dep_quant_enabled_flag is 1, and the value of transform_skip_flag is 0, Qstate may be updated as QStateTransTable[QState][AbsLevelPass1[xC][yC] & 1] or QStateTransTable[QState][AbsLevel[xC][yC] & 1]. Furthermore, if the value of transform_skip_flag is 1, the process of updating Qstate may not be performed.
[0212] Ademais, referindo-se à Tabela 19 conforme descrito anteriormente, se o valor de ph_dep_quant_enabled_flag for 1, e o valor de transform_skip_flag for 0, Qstate pode ser derivado, e o valor do coeficiente de transformada (nível de coeficiente de transformada) pode ser derivado com base no QState. Por exemplo, referindo-se à Tabela 19, o nível de coeficiente de transformada TransCoeffLevel[x0][y0][cIdx][xC][yC] pode ser derivado como ( 2 * AbsLevel[xC][yC] - (QState > 1 ? 1 : 0 )) * ( 1 - 2 * coeff_sign_flag[n] ). No presente documento, AbsLevel[xC][yC] pode ser um valor absoluto do coeficiente de transformada derivado com base nos elementos de sintaxe do coeficiente de transformada, coeff_sign_flag[n] pode ser o elemento de sintaxe do sinalizador de sinal que representa o sinal do coeficiente de transformada, e (QState > 1 ? 1 : 0) pode representar 1 se o valor do estado Qstate é maior que 1, ou seja, se o valor do estado Qstate é 2 ou 3, e pode representar 0 se o valor do estado Qstate é igual ou menor que 1, ou seja, se o valor do estado Qstate é 0 ou 1.[0212] Further, referring to Table 19 as described previously, if the value of ph_dep_quant_enabled_flag is 1, and the value of transform_skip_flag is 0, Qstate can be derived, and the transform coefficient value (transform coefficient level) can be derived based on QState. For example, referring to Table 19, the transform coefficient level TransCoeffLevel[x0][y0][cIdx][xC][yC] can be derived as ( 2 * AbsLevel[xC][yC] - (QState > 1 ? 1 : 0 )) * ( 1 - 2 * coeff_sign_flag[n] ). In this document, AbsLevel[xC][yC] may be an absolute value of the transform coefficient derived based on the transform coefficient syntax elements, coeff_sign_flag[n] may be the sign flag syntax element representing the sign of the transform coefficient, and (QState > 1 ? 1 : 0) may represent 1 if the value of the state Qstate is greater than 1, that is, if the value of the state Qstate is 2 or 3, and may represent 0 if the value of the state Qstate is equal to or less than 1, that is, if the value of the state Qstate is 0 or 1.
[0213] Ademais, referindo-se à Tabela 19 conforme descrito anteriormente, se o valor de transform_skip_flag for 1, o valor do coeficiente de transformada (nível de coeficiente de transformada) pode ser derivado sem usar o Qstate. De modo correspondente, no caso onde os dados residuais de acordo com RRC são codificados para o bloco de omissão de transformada, o valor do coeficiente de transformada pode ser derivado sem usar o Qstate. Por exemplo, referindo-se à Tabela 19, o nível de coeficiente de transformada TransCoeffLevel[x0][y0][cIdx][xC][yC] pode ser derivado como AbsLevel[xC][yC] * ( 1 - 2 * coeff_sign_flag[n] ). No presente documento, AbsLevel[xC][yC] pode ser um valor absoluto do coeficiente de transformada derivado com base nos elementos de sintaxe do coeficiente de transformada, e coeff_sign_flag[n] pode ser o elemento de sintaxe do sinalizador de sinal que representa o sinal do coeficiente de transformada.[0213] Further, referring to Table 19 as described above, if the value of transform_skip_flag is 1, the transform coefficient value (transform coefficient level) can be derived without using Qstate. Correspondingly, in the case where residual data according to RRC are coded for the transform skip block, the transform coefficient value can be derived without using Qstate. For example, referring to Table 19, the transform coefficient level TransCoeffLevel[x0][y0][cIdx][xC][yC] can be derived as AbsLevel[xC][yC] * ( 1 - 2 * coeff_sign_flag[n] ). In this document, AbsLevel[xC][yC] may be an absolute value of the transform coefficient derived based on the transform coefficient syntax elements, and coeff_sign_flag[n] may be the sign flag syntax element representing the sign of the transform coefficient.
[0214] Ademais, a presente revelação propõe várias modalidades relacionadas à sinalização do elemento de sintaxe sh_ts_residual_coding_disabled_flag descrito anteriormente.[0214] Furthermore, the present disclosure proposes several embodiments related to flagging the sh_ts_residual_coding_disabled_flag syntax element described above.
[0215] Por exemplo, conforme descrito anteriormente, sh_ts_residual_coding_disabled_flag é um elemento de sintaxe que define se TSRC não está habilitado, e no caso onde o bloco de omissão de transformada não é usado, pode não ser necessário que o mesmo seja sinalizado. Ou seja, apenas no caso onde o elemento de sintaxe para se o bloco de omissão de transformada é usado representa que o bloco de omissão de transformada é usado, pode ser significativo realizar uma sinalização de sh_ts_residual_coding_disabled_flag.[0215] For example, as described previously, sh_ts_residual_coding_disabled_flag is a syntax element that defines whether TSRC is not enabled, and in the case where the transform omit block is not used, it may not be necessary for it to be flagged. That is, only in the case where the syntax element for whether the transform omit block is used represents that the transform omit block is used, it may be meaningful to flag sh_ts_residual_coding_disabled_flag.
[0216] De modo correspondente, a presente revelação propõe uma modalidade para sinalizar o sh_ts_residual_coding_disabled_flag apenas no caso onde sps_transform_skip_enabled_flag é 1. A sintaxe de acordo com a presente modalidade é conforme na tabela a seguir. [Tabela 20] [0216] Correspondingly, the present disclosure proposes an embodiment for flagging the sh_ts_residual_coding_disabled_flag only in the case where sps_transform_skip_enabled_flag is 1. The syntax according to the present embodiment is as in the following table. [Table 20]
[0217] Referindo-se à Tabela 20, se sps_transform_skip_enabled_flag for 1, sh_ts_residual_coding_disabled_flag pode ser sinalizado, enquanto se sps_transform_skip_enabled_flag for 0, sh_ts_residual_coding_disabled_flag não pode ser sinalizado. No presente documento, por exemplo, sps_transform_skip_enabled_flag pode representar se o bloco de omissão de transformada é usado. Ou seja, por exemplo, sps_transform_skip_enabled_flag pode representar se a omissão de transformada está habilitada. Por exemplo, se o valor de sps_transform_skip_enabled_flag for 1, sps_transform_skip_enabled_flag pode representar que o sinalizador de omissão de transformada (transform_skip_flag) pode estar presente na sintaxe de unidade de transformada, enquanto se o valor de sps_transform_skip_enabled_flag for 0, sps_transform_skip_enabled_flag pode representar que o sinalizador de omissão de transformada não está presente na sintaxe de unidade de transformada. Entretanto, se sh_ts_residual_coding_disabled_flag não for sinalizado, pode-se inferir que sh_ts_residual_coding_disabled_flag seja 0. Ademais, sps_transform_skip_enabled_flag descrito anteriormente pode ser sinalizado no SPS, ou pode ser sinalizado em outras sintaxes de alto nível (VPS, PPS, sintaxe de cabeçalho de figuração e sintaxe de cabeçalho de fatia) não sendo SPS, ou sintaxes de baixo nível (sintaxe de dados de fatia, sintaxe de unidade de codificação e sintaxe de unidade de transformada). Ademais, a mesma pode ser sinalizada antes de slice_ts_residual_coding_disabled_flag.[0217] Referring to Table 20, if sps_transform_skip_enabled_flag is 1, sh_ts_residual_coding_disabled_flag can be flagged, while if sps_transform_skip_enabled_flag is 0, sh_ts_residual_coding_disabled_flag cannot be flagged. In this document, for example, sps_transform_skip_enabled_flag can represent whether the transform skipping block is used. That is, for example, sps_transform_skip_enabled_flag can represent whether transform skipping is enabled. For example, if the value of sps_transform_skip_enabled_flag is 1, sps_transform_skip_enabled_flag can represent that the transform skip flag (transform_skip_flag) can be present in the transform unit syntax, whereas if the value of sps_transform_skip_enabled_flag is 0, sps_transform_skip_enabled_flag can represent that the transform skip flag is not present in the transform unit syntax. However, if sh_ts_residual_coding_disabled_flag is not flagged, it can be inferred that sh_ts_residual_coding_disabled_flag is 0. Furthermore, sps_transform_skip_enabled_flag described above may be flagged in SPS, or it may be flagged in other high-level syntaxes (VPS, PPS, figuration header syntax, and slice header syntax) that are not SPS, or low-level syntaxes (slice data syntax, coding unit syntax, and transform unit syntax). Furthermore, it may be flagged before slice_ts_residual_coding_disabled_flag.
[0218] Ademais, a presente revelação propõe uma modalidade onde as modalidades descritas anteriormente são combinadas em relação à sinalização de sh_ts_residual_coding_disabled_flag. Por exemplo, conforme na tabela a seguir, pode-se propor uma modalidade para sinalizar sh_ts_residual_coding_disabled_flag. [Tabela 21] [0218] Furthermore, the present disclosure proposes an embodiment where the previously described embodiments are combined with respect to the signaling of sh_ts_residual_coding_disabled_flag. For example, as per the following table, one may propose an embodiment for signaling sh_ts_residual_coding_disabled_flag. [Table 21]
[0219] Referindo-se à Tabela 21, no caso onde sps_transform_skip_enabled_flag é 1, ou ph_dep_quant_enabled_flag é 0, sh_ts_residual_coding_disabled_flag pode ser sinalizado, e, caso contrário, sh_ts_residual_coding_disabled_flag não pode ser sinalizado. Entretanto, no caso onde sh_ts_residual_coding_disabled_flag não é sinalizado, sh_ts_residual_coding_disabled_flag pode ser inferido como 0.[0219] Referring to Table 21, in the case where sps_transform_skip_enabled_flag is 1, or ph_dep_quant_enabled_flag is 0, sh_ts_residual_coding_disabled_flag can be flagged, and otherwise, sh_ts_residual_coding_disabled_flag cannot be flagged. However, in the case where sh_ts_residual_coding_disabled_flag is not flagged, sh_ts_residual_coding_disabled_flag can be inferred to be 0.
[0220] Ademais, por exemplo, pode-se propor uma modalidade para sinalizar sh_ts_residual_coding_disabled_flag conforme na tabela a seguir. [Tabela 22] [0220] Furthermore, for example, a modality can be proposed to signal sh_ts_residual_coding_disabled_flag as in the following table. [Table 22]
[0221] Referindo-se à Tabela 22, sh_ts_residual_coding_disabled_flag pode ser sinalizado a um cabeçalho de figuração. sh_ts_residual_coding_disabled_flag pode ser representado como ph_ts_residual_coding_disabled_flag. Ademais, referindo-se à Tabela 22, ph_dep_quant_enabled_flag pode ser sinalizado ao cabeçalho de figuração.[0221] Referring to Table 22, sh_ts_residual_coding_disabled_flag may be flagged to a figuration header. sh_ts_residual_coding_disabled_flag may be represented as ph_ts_residual_coding_disabled_flag. Further, referring to Table 22, ph_dep_quant_enabled_flag may be flagged to the figuration header.
[0222] Por exemplo, referindo-se à Tabela 22, no caso onde ph_dep_quant_enabled_flag é 0, e sps_transform_skip_enabled_flag é 1, ph_ts_residual_coding_disabled_flag pode ser sinalizado, e, caso contrário, ph_ts_residual_coding_disabled_flag pode não ser sinalizado. Entretanto, no caso onde ph_ts_residual_coding_disabled_flag não é sinalizado, ph_ts_residual_coding_disabled_flag pode ser inferido como 0.[0222] For example, referring to Table 22, in the case where ph_dep_quant_enabled_flag is 0, and sps_transform_skip_enabled_flag is 1, ph_ts_residual_coding_disabled_flag may be flagged, and otherwise, ph_ts_residual_coding_disabled_flag may not be flagged. However, in the case where ph_ts_residual_coding_disabled_flag is not flagged, ph_ts_residual_coding_disabled_flag may be inferred to be 0.
[0223] No padrão de codificação de vídeo/imagem existente em relação a elementos de sintaxe descritos nas modalidades da presente revelação, ph_dep_quant_enabled_flag pode ser sinalizado na sintaxe de cabeçalho de figuração, e sh_ts_residual_coding_disabled_flag pode ser sinalizado na sintaxe de cabeçalho de fatia. Em relação a isso, a presente revelação propõe uma modalidade para sinalizar dois elementos de sintaxe na mesma sintaxe de alto nível ou sintaxe de baixo nível.[0223] In the existing video/image coding standard with respect to syntax elements described in embodiments of the present disclosure, ph_dep_quant_enabled_flag may be flagged in the figuration header syntax, and sh_ts_residual_coding_disabled_flag may be flagged in the slice header syntax. In this regard, the present disclosure proposes an embodiment for flagging two syntax elements in the same high-level syntax or low-level syntax.
[0224] Por exemplo, pode-se propor uma modalidade, onde tanto ph_dep_quant_enabled_flag como sh_ts_residual_coding_disabled_flag são sinalizados na sintaxe de cabeçalho de figuração. Nesse caso, sh_ts_residual_coding_disabled_flag pode ser denominado como ph_ts_residual_coding_disabled_flag.[0224] For example, one may propose an embodiment where both ph_dep_quant_enabled_flag and sh_ts_residual_coding_disabled_flag are flagged in the figuration header syntax. In this case, sh_ts_residual_coding_disabled_flag may be named as ph_ts_residual_coding_disabled_flag.
[0225] Ademais, por exemplo, pode-se propor uma modalidade, onde tanto ph_dep_quant_enabled_flag como sh_ts_residual_coding_disabled_flag são sinalizados na sintaxe de cabeçalho de fatia. Nesse caso, ph_dep_quant_enabled_flag pode ser denominado como sh_dep_quant_enabled_flag, sh_dep_quant_used_flag ou slice_dep_quant_enabled_flag.[0225] Furthermore, for example, one may propose an embodiment where both ph_dep_quant_enabled_flag and sh_ts_residual_coding_disabled_flag are flagged in the slice header syntax. In this case, ph_dep_quant_enabled_flag may be named as sh_dep_quant_enabled_flag, sh_dep_quant_used_flag or slice_dep_quant_enabled_flag.
[0226] Ademais, por exemplo, pode-se propor uma modalidade, onde tanto ph_dep_quant_enabled_flag como ph_ts_residual_coding_disabled_flag são sinalizados no mesmo HLS, mas ph_ts_residual_coding_disabled_flag é sinalizado apenas no caso onde o valor de ph_dep_quant_enabled_flag é 0. Por exemplo, um exemplo onde tanto ph_dep_quant_enabled_flag como ph_ts_residual_coding_disabled_flag são sinalizados na sintaxe de cabeçalho de figuração pode ser conforme na tabela a seguir. [Tabela 23] [0226] Furthermore, for example, one may propose an embodiment where both ph_dep_quant_enabled_flag and ph_ts_residual_coding_disabled_flag are flagged in the same HLS, but ph_ts_residual_coding_disabled_flag is flagged only in the case where the value of ph_dep_quant_enabled_flag is 0. For example, an example where both ph_dep_quant_enabled_flag and ph_ts_residual_coding_disabled_flag are flagged in the figuration header syntax may be as in the following table. [Table 23]
[0227] Referindo-se à Tabela 23, ph_dep_quant_enabled_flag pode ser sinalizado na sintaxe de cabeçalho de figuração, e se o valor de ph_dep_quant_enabled_flag for 0, ph_ts_residual_coding_disabled_flag pode ser sinalizado na sintaxe de cabeçalho de figuração, enquanto se o valor de ph_dep_quant_enabled_flag for 1, ph_ts_residual_coding_disabled_flag pode não ser sinalizado. Por exemplo, se ph_ts_residual_coding_disabled_flag não for sinalizado, ph_ts_residual_coding_disabled_flag pode ser inferido como 0.[0227] Referring to Table 23, ph_dep_quant_enabled_flag may be flagged in the figuration header syntax, and if the value of ph_dep_quant_enabled_flag is 0, ph_ts_residual_coding_disabled_flag may be flagged in the figuration header syntax, while if the value of ph_dep_quant_enabled_flag is 1, ph_ts_residual_coding_disabled_flag may not be flagged. For example, if ph_ts_residual_coding_disabled_flag is not flagged, ph_ts_residual_coding_disabled_flag may be inferred to be 0.
[0228] Entretanto, a modalidade descrita anteriormente é um exemplo, e pode-se propor um exemplo, onde ph_dep_quant_enabled_flag e ph_ts_residual_coding_disabled_flag são sinalizados em outras sintaxes de alto nível (VPS, SPS, PPS, e sintaxe de cabeçalho de fatia) ou sintaxes de baixo nível (sintaxe de dados de fatia, sintaxe de unidade de codificação e sintaxe de unidade de transformada) ao invés da sintaxe de cabeçalho de figuração.[0228] However, the embodiment described above is an example, and one may propose an example, where ph_dep_quant_enabled_flag and ph_ts_residual_coding_disabled_flag are flagged in other high-level syntaxes (VPS, SPS, PPS, and slice header syntax) or low-level syntaxes (slice data syntax, coding unit syntax, and transform unit syntax) rather than the figuration header syntax.
[0229] Ademais, por exemplo, pode-se propor uma modalidade, onde tanto ph_ts_residual_coding_disabled_flag como ph_dep_quant_enabled_flag são sinalizados no mesmo HLS, mas ph_dep_quant_enabled_flag é sinalizado apenas no caso onde o valor de ph_ts_residual_coding_disabled_flag é 0. [Tabela 24] [0229] Furthermore, for example, one can propose a modality, where both ph_ts_residual_coding_disabled_flag and ph_dep_quant_enabled_flag are flagged in the same HLS, but ph_dep_quant_enabled_flag is flagged only in the case where the value of ph_ts_residual_coding_disabled_flag is 0. [Table 24]
[0230] Referindo-se à Tabela 24, ph_ts_residual_coding_disabled_flag pode ser sinalizado na sintaxe de cabeçalho de figuração, e se o valor de ph_ts_residual_coding_disabled_flag for 0, ph_dep_quant_enabled_flag pode ser sinalizado na sintaxe de cabeçalho de figuração, enquanto se o valor de ph_ts_residual_coding_disabled_flag for 1, ph_dep_quant_enabled_flag pode não ser sinalizado. Por exemplo, se ph_dep_quant_enabled_flag não for sinalizado, ph_dep_quant_enabled_flag pode ser inferido como 0.[0230] Referring to Table 24, ph_ts_residual_coding_disabled_flag may be flagged in the figuration header syntax, and if the value of ph_ts_residual_coding_disabled_flag is 0, ph_dep_quant_enabled_flag may be flagged in the figuration header syntax, while if the value of ph_ts_residual_coding_disabled_flag is 1, ph_dep_quant_enabled_flag may not be flagged. For example, if ph_dep_quant_enabled_flag is not flagged, ph_dep_quant_enabled_flag may be inferred to be 0.
[0231] Entretanto, a modalidade descrita anteriormente é um exemplo, e pode-se propor um exemplo onde ph_ts_residual_coding_disabled_flag e ph_dep_quant_enabled_flag são sinalizados em outras sintaxes de alto nível (VPS, SPS, PPS, e sintaxe de cabeçalho de fatia) ou sintaxes de baixo nível (sintaxe de dados de fatia, sintaxe de unidade de codificação e sintaxe de unidade de transformada) ao invés da sintaxe de cabeçalho de figuração.[0231] However, the embodiment described above is an example, and one may propose an example where ph_ts_residual_coding_disabled_flag and ph_dep_quant_enabled_flag are flagged in other high-level syntaxes (VPS, SPS, PPS, and slice header syntax) or low-level syntaxes (slice data syntax, coding unit syntax, and transform unit syntax) rather than the figuration header syntax.
[0232] Ademais, por exemplo, pode-se propor uma modalidade onde as modalidades descritas anteriormente são combinadas entre si. Por exemplo, pode-se propor uma modalidade onde tanto ph_dep_quant_enabled_flag como ph_ts_residual_coding_disabled_flag são sinalizados no mesmo HLS, mas ph_ts_residual_coding_disabled_flag é sinalizado apenas no caso onde o valor de ph_dep_quant_enabled_flag é 0, ou o valor de sps_transform_skip_enabled_flag é 1. [Tabela 25] [0232] Furthermore, for example, one may propose an embodiment where the modalities described above are combined with each other. For example, one may propose an embodiment where both ph_dep_quant_enabled_flag and ph_ts_residual_coding_disabled_flag are flagged in the same HLS, but ph_ts_residual_coding_disabled_flag is flagged only in the case where the value of ph_dep_quant_enabled_flag is 0, or the value of sps_transform_skip_enabled_flag is 1. [Table 25]
[0233] Referindo-se à Tabela 25, ph_dep_quant_enabled_flag pode ser sinalizado na sintaxe de cabeçalho de figuração, e no caso onde o valor de ph_dep_quant_enabled_flag for 0, ou o valor de sps_transform_skip_enabled_flag for 1, ph_ts_residual_coding_disabled_flag pode ser sinalizado na sintaxe de cabeçalho de figuração, e, caso contrário, ph_ts_residual_coding_disabled_flag pode não ser sinalizado. No presente documento, por exemplo, sps_transform_skip_enabled_flag pode representar se o bloco de omissão de transformada é usado. Ou seja, por exemplo, sps_transform_skip_enabled_flag pode representar se a omissão de transformada está habilitada. Por exemplo, se o valor de sps_transform_skip_enabled_flag for 1, sps_transform_skip_enabled_flag pode representar que o sinalizador de omissão de transformada (transform_skip_flag) pode estar presente na sintaxe de unidade de transformada, enquanto se o valor de sps_transform_skip_enabled_flag for 0, sps_transform_skip_enabled_flag pode representar que o sinalizador de omissão de transformada não está presente na sintaxe de unidade de transformada. Por exemplo, se ph_ts_residual_coding_disabled_flag não for sinalizado, ph_ts_residual_coding_disabled_flag pode ser inferido como 0.[0233] Referring to Table 25, ph_dep_quant_enabled_flag may be flagged in the figuration header syntax, and in the case where the value of ph_dep_quant_enabled_flag is 0, or the value of sps_transform_skip_enabled_flag is 1, ph_ts_residual_coding_disabled_flag may be flagged in the figuration header syntax, and otherwise, ph_ts_residual_coding_disabled_flag may not be flagged. In this document, for example, sps_transform_skip_enabled_flag may represent whether the transform skipping block is used. That is, for example, sps_transform_skip_enabled_flag may represent whether transform skipping is enabled. For example, if the value of sps_transform_skip_enabled_flag is 1, sps_transform_skip_enabled_flag can represent that the transform skip flag (transform_skip_flag) can be present in the transform unit syntax, whereas if the value of sps_transform_skip_enabled_flag is 0, sps_transform_skip_enabled_flag can represent that the transform skip flag is not present in the transform unit syntax. For example, if ph_ts_residual_coding_disabled_flag is not flagged, ph_ts_residual_coding_disabled_flag can be inferred to be 0.
[0234] Ademais, por exemplo, pode-se propor uma modalidade onde tanto ph_dep_quant_enabled_flag como ph_ts_residual_coding_disabled_flag são sinalizados no mesmo HLS (por exemplo, sintaxe de cabeçalho de fatia ou similares), mas ph_ts_residual_coding_disabled_flag é sinalizado apenas no caso onde o valor de ph_dep_quant_enabled_flag é 0, e o valor de sps_transform_skip_enabled_flag é 1. [Tabela 26] [0234] Furthermore, for example, one may propose an embodiment where both ph_dep_quant_enabled_flag and ph_ts_residual_coding_disabled_flag are flagged in the same HLS (e.g., slice header syntax or the like), but ph_ts_residual_coding_disabled_flag is flagged only in the case where the value of ph_dep_quant_enabled_flag is 0, and the value of sps_transform_skip_enabled_flag is 1. [Table 26]
[0235] Referindo-se à Tabela 26, ph_dep_quant_enabled_flag pode ser sinalizado na sintaxe de cabeçalho de figuração, e no caso onde o valor de ph_dep_quant_enabled_flag é 0, e o valor de sps_transform_skip_enabled_flag é 1, ph_ts_residual_coding_disabled_flag pode ser sinalizado na sintaxe de cabeçalho de figuração, e, caso contrário, ph_ts_residual_coding_disabled_flag pode não ser sinalizado. Por exemplo, se ph_ts_residual_coding_disabled_flag não for sinalizado, ph_ts_residual_coding_disabled_flag pode ser inferido como 0.[0235] Referring to Table 26, ph_dep_quant_enabled_flag may be flagged in the figuration header syntax, and in the case where the value of ph_dep_quant_enabled_flag is 0, and the value of sps_transform_skip_enabled_flag is 1, ph_ts_residual_coding_disabled_flag may be flagged in the figuration header syntax, and otherwise, ph_ts_residual_coding_disabled_flag may not be flagged. For example, if ph_ts_residual_coding_disabled_flag is not flagged, ph_ts_residual_coding_disabled_flag may be inferred to be 0.
[0236] Ademais, por exemplo, pode-se propor uma modalidade onde tanto ph_dep_quant_enabled_flag como ph_ts_residual_coding_disabled_flag são sinalizados no mesmo HLS, mas ph_ts_residual_coding_disabled_flag é sinalizado apenas no caso onde o valor de v sps_transform_skip_enabled_flag é 1, e ph_dep_quant_enabled_flag é sinalizado apenas no caso onde o valor de ph_ts_residual_coding_disabled_flag é 0. [Tabela 27] [0236] Furthermore, for example, one can propose an embodiment where both ph_dep_quant_enabled_flag and ph_ts_residual_coding_disabled_flag are flagged in the same HLS, but ph_ts_residual_coding_disabled_flag is flagged only in the case where the value of v sps_transform_skip_enabled_flag is 1, and ph_dep_quant_enabled_flag is flagged only in the case where the value of ph_ts_residual_coding_disabled_flag is 0. [Table 27]
[0237] Referindo-se à Tabela 27, se o valor de sps_transform_skip_enabled_flag for 1, ph_ts_residual_coding_disabled_flag pode ser sinalizado na sintaxe de cabeçalho de figuração, enquanto se o valor de ph_ts_residual_coding_disabled_flag for 0, ph_dep_quant_enabled_flag pode ser sinalizado na sintaxe de cabeçalho de figuração. Por exemplo, se o valor de sps_transform_skip_enabled_flag for 0, ph_ts_residual_coding_disabled_flag pode não ser sinalizado. Por exemplo, se ph_ts_residual_coding_disabled_flag não for sinalizado, ph_ts_residual_coding_disabled_flag pode ser inferido como 0. Ademais, por exemplo, se o valor de ph_ts_residual_coding_disabled_flag for 1, ph_dep_quant_enabled_flag pode não ser sinalizado. Por exemplo, se ph_dep_quant_enabled_flag não for sinalizado, ph_dep_quant_enabled_flag pode ser inferido como 0,[0237] Referring to Table 27, if the value of sps_transform_skip_enabled_flag is 1, ph_ts_residual_coding_disabled_flag may be flagged in the figuration header syntax, while if the value of ph_ts_residual_coding_disabled_flag is 0, ph_dep_quant_enabled_flag may be flagged in the figuration header syntax. For example, if the value of sps_transform_skip_enabled_flag is 0, ph_ts_residual_coding_disabled_flag may not be flagged. For example, if ph_ts_residual_coding_disabled_flag is not flagged, ph_ts_residual_coding_disabled_flag may be inferred to be 0. Furthermore, for example, if the value of ph_ts_residual_coding_disabled_flag is 1, ph_dep_quant_enabled_flag may not be flagged. For example, if ph_dep_quant_enabled_flag is not flagged, ph_dep_quant_enabled_flag may be inferred to be 0.
[0238] Entretanto, conforme descrito anteriormente, informações (elementos de sintaxe) em uma tabela de sintaxe revelada na presente revelação podem ser incluídas nas informações de imagem/vídeo, configuradas/codificadas pelo aparelho de codificação, e transferidas ao aparelho de decodificação sob a forma de um fluxo de bits. Um aparelho de decodificação pode analisar/decodificar as informações (elementos de sintaxe) na tabela de sintaxe correspondente. O aparelho de decodificação pode realizar um procedimento de reconstrução de bloco/imagem/vídeo com base nas informações decodificadas.[0238] However, as described above, information (syntax elements) in a syntax table disclosed in the present disclosure may be included in the image/video information, configured/encoded by the encoding apparatus, and transferred to the decoding apparatus in the form of a bit stream. A decoding apparatus may analyze/decode the information (syntax elements) in the corresponding syntax table. The decoding apparatus may perform a block/image/video reconstruction procedure based on the decoded information.
[0239] Ademais, a presente revelação propõe várias modalidades relacionadas à sinalização do elemento de sintaxe sh_ts_residual_coding_disabled_flag descrito anteriormente.[0239] Furthermore, the present disclosure proposes several embodiments related to flagging the sh_ts_residual_coding_disabled_flag syntax element described above.
[0240] Por exemplo, pode-se obter alta eficiência de codificação em uma aplicação específica (por exemplo, codificação sem perdas, etc.) utilizando-se slice_ts_residual_coding_disabled_flag conforme descrito anteriormente, mas no padrão de codificação de vídeo/imagem existente, não se propõe uma restrição no caso onde slice_ts_residual_coding_disabled_flag é usado junto para ocultação de dados de sinal (SDH).[0240] For example, high coding efficiency can be achieved in a specific application (e.g., lossless coding, etc.) by using slice_ts_residual_coding_disabled_flag as described above, but in the existing video/image coding standard, a restriction is not proposed in the case where slice_ts_residual_coding_disabled_flag is used together with signal data hiding (SDH).
[0241] No presente documento o método de ocultação de dados de sinal pode ser da seguinte forma.[0241] In this document the signal data hiding method may be as follows.
[0242] Em derivar o coeficiente de transformada, o sinal do coeficiente de transformada pode ser derivado com base em um sinalizador de sinal de 1 bit (o elemento de sintaxe descrito anteriormente coeff_sign_flag). Nesse sentido, SDH pode indicar uma técnica para omitir uma sinalização explícita de coeff_sign_flag para o primeiro coeficiente de transformada significativo em um grupo de sub- bloco/coeficiente (CG) a fim de aperfeiçoar a eficiência de codificação. No presente documento, o valor de coeff_sign_flag para o primeiro coeficiente de transformada significativo pode ser derivado com base na soma de níveis absolutos (isto é, valores absolutos) dos coeficientes de transformada significativos no grupo de sub- bloco/coeficiente correspondente. Ou seja, o sinal do primeiro coeficiente de transformada significativo pode ser derivado com base na soma de níveis absolutos dos coeficientes de transformada significativos no grupo de sub-bloco/coeficiente correspondente. Entretanto, o coeficiente de transformada significativo pode significar um coeficiente de transformada diferente de zero cujo valor (absoluto) não é 0. Por exemplo, quando a soma de níveis absolutos para os coeficientes de transformada significativos for par, o valor de coeff_sign_flag para o primeiro coeficiente de transformada significativo pode ser derivado como 1, e, quando a soma de níveis absolutos para os coeficientes de transformada significativos for ímpar, o valor de coeff_sign_flag para o primeiro coeficiente de transformada significativo pode ser derivado como 0. Em outras palavras, por exemplo, quando a soma de níveis absolutos para os coeficientes de transformada significativos for par, o valor de coeff_sign_flag para o primeiro coeficiente de transformada significativo pode ser derivado como um valor negativo, e, quando a soma de níveis absolutos para os coeficientes de transformada significativos for ímpar, o valor de coeff_sign_flag para o primeiro coeficiente de transformada significativo pode ser derivado como um valor positivo. Ou, por exemplo, quando a soma de níveis absolutos para os coeficientes de transformada significativos for par, o valor de coeff_sign_flag para o primeiro coeficiente de transformada significativo pode ser derivado como 0, e, quando a soma de níveis absolutos para os coeficientes de transformada significativos for ímpar, o valor de coeff_sign_flag para o primeiro coeficiente de transformada significativo pode ser derivado como 1. Em outras palavras, por exemplo, quando a soma de níveis absolutos para os coeficientes de transformada significativos for par, o valor de coeff_sign_flag para o primeiro coeficiente de transformada significativo pode ser derivado como um valor positivo, e, quando a soma de níveis absolutos para os coeficientes de transformada significativos for ímpar, o valor de coeff_sign_flag para o primeiro coeficiente de transformada significativo pode ser derivado como um valor negativo.[0242] In deriving the transform coefficient, the sign of the transform coefficient may be derived based on a 1-bit sign flag (the previously described syntax element coeff_sign_flag). In this regard, SDH may indicate a technique for omitting an explicit flagging of coeff_sign_flag for the first significant transform coefficient in a sub-block/coefficient group (CG) in order to improve coding efficiency. In the present document, the value of coeff_sign_flag for the first significant transform coefficient may be derived based on the sum of absolute levels (i.e., absolute values) of the significant transform coefficients in the corresponding sub-block/coefficient group. That is, the sign of the first significant transform coefficient may be derived based on the sum of absolute levels of the significant transform coefficients in the corresponding sub-block/coefficient group. However, the significant transform coefficient can mean a nonzero transform coefficient whose (absolute) value is not 0. For example, when the sum of absolute levels for the significant transform coefficients is even, the value of coeff_sign_flag for the first significant transform coefficient can be derived as 1, and when the sum of absolute levels for the significant transform coefficients is odd, the value of coeff_sign_flag for the first significant transform coefficient can be derived as 0. In other words, for example, when the sum of absolute levels for the significant transform coefficients is even, the value of coeff_sign_flag for the first significant transform coefficient can be derived as a negative value, and when the sum of absolute levels for the significant transform coefficients is odd, the value of coeff_sign_flag for the first significant transform coefficient can be derived as a positive value. Or, for example, when the sum of absolute levels for the significant transform coefficients is even, the value of coeff_sign_flag for the first significant transform coefficient can be derived as 0, and when the sum of absolute levels for the significant transform coefficients is odd, the value of coeff_sign_flag for the first significant transform coefficient can be derived as 1. In other words, for example, when the sum of absolute levels for the significant transform coefficients is even, the value of coeff_sign_flag for the first significant transform coefficient can be derived as a positive value, and when the sum of absolute levels for the significant transform coefficients is odd, the value of coeff_sign_flag for the first significant transform coefficient can be derived as a negative value.
[0243] Por exemplo, o SDH na sintaxe residual pode ser conforme mostrado na tabela a seguir. [Tabela 28] [0243] For example, the SDH in residual syntax may be as shown in the following table. [Table 28]
[0244] Referindo-se à Tabela 8, a variável signHiddenFlag pode indicar se o SDH é aplicado. A variável signHiddenFlag pode ser denominada como signHidden. Por exemplo, quando o valor da variável signHiddenFlag for 0, a variável signHiddenFlag pode indicar que o SDH não é aplicado, e, quando o valor da variável signHiddenFlag for 1, a variável signHiddenFlag pode indicar que o SDH é aplicado. Por exemplo, o valor da variável signHiddenFlag pode ser definido com base nas informações de sinalizador sinalizadas (por exemplo, sh_sign_data_hiding_used_flag ou pic_sign_data_hiding_enabled_flag ou sps_sign_data_hiding_enabled_flag). Da mesma forma, por exemplo, o valor da variável signHiddenFlag pode ser definido com base em lastSigScanPosSb e firstSigScanPosSb. No presente documento, lastSigScanPosSb pode indicar uma posição do último coeficiente de transformada significativo buscado no grupo de sub-bloco/coeficiente correspondente de acordo com a ordem de varredura, e firstSigScanPosSb pode indicar uma posição de um primeiro coeficiente de transformada significativo buscado em um grupo de sub- bloco/coeficiente correspondente de acordo com uma ordem de varredura. Em geral, lastSigScanPosSb pode estar localizado em uma região de componente de frequência relativamente alta em relação a firstSigScanPosSb. De modo correspondente, quando lastSigScanPosSb - firstSigScanPosSb for maior que um limiar predeterminado, o valor signHidden pode ser derivado como 1 (ou seja, SDH é aplicado), caso contrário, o valor signHidden pode ser derivado como 0 (ou seja, SDH não é aplicado). No presente documento, por exemplo, referindo-se à Tabela 28, o limiar pode ser definido como 3.[0244] Referring to Table 8, the signHiddenFlag variable may indicate whether SDH is applied. The signHiddenFlag variable may be referred to as signHidden. For example, when the value of the signHiddenFlag variable is 0, the signHiddenFlag variable may indicate that SDH is not applied, and when the value of the signHiddenFlag variable is 1, the signHiddenFlag variable may indicate that SDH is applied. For example, the value of the signHiddenFlag variable may be set based on the flag information being signed (e.g., sh_sign_data_hiding_used_flag or pic_sign_data_hiding_enabled_flag or sps_sign_data_hiding_enabled_flag). Similarly, for example, the value of the signHiddenFlag variable may be set based on lastSigScanPosSb and firstSigScanPosSb. In this document, lastSigScanPosSb may indicate a position of the last significant transform coefficient searched in the corresponding sub-block/coefficient group according to the scanning order, and firstSigScanPosSb may indicate a position of a first significant transform coefficient searched in a corresponding sub-block/coefficient group according to a scanning order. In general, lastSigScanPosSb may be located in a relatively high frequency component region relative to firstSigScanPosSb. Correspondingly, when lastSigScanPosSb - firstSigScanPosSb is greater than a predetermined threshold, the signHidden value may be derived as 1 (i.e., SDH is applied), otherwise the signHidden value may be derived as 0 (i.e., SDH is not applied). In this document, for example, referring to Table 28, the threshold may be set as 3.
[0245] Entretanto, quando a ocultação de dados de sinal for ativada na sintaxe de alto nível (VPS, SPS, PPS, sintaxe de cabeçalho de fatia, etc.) ou sintaxe de baixo nível (sintaxe de dados de fatia, sintaxe de unidade de codificação, sintaxe de unidade de transformada, etc.), e slice_ts_residual_coding_disabled_flag for 1, o processo de ocultação de dados de sinal de RRC pode ser usado em codificação sem perdas. De modo correspondente, codificação sem perdas pode se tornar impossível devido a ajustes incorretos no aparelho de codificação. Alternativamente, quando uma codificação com perdas (isto é, um método de codificação irreversível) diferente da codificação sem perdas for aplicada, e um sinal residual ao qual se aplica omissão de transformada for codificado com RRC e BDPCM for aplicado ao mesmo tempo, embora o intervalo onde o valor residual se torna 0 ocorra mais frequentemente que no caso geral devido à diferença entre os residuais em BDPCM, pode ocorrer uma perda de codificação porque SDH é realizado de acordo com a condição de aplicação de SDH. De modo específico, por exemplo, quando coeficientes de transformada significativos (dados residuais diferentes de zero) existirem nas posições 0 e 15 no CG, respectivamente, e o valor dos coeficientes de transformada nas posições restantes no CG for 0, SDH pode ser aplicado ao CG de acordo com a condição de aplicação de SDH descrita anteriormente, e, logo, dados de sinal (isto é, codificação de um sinalizador de sinal) para o primeiro coeficiente de transformada significativo do CG podem ser omitidos. De modo correspondente, nesse caso, a paridade de apenas dois dados residuais do CG pode ser ajustada na etapa de quantização para omitir os dados de sinal, e, ao invés disso, no caso onde SDH não é aplicado, pode ocorrer mais perda de codificação. Esse caso pode ocorrer mesmo em blocos onde BDPCM não é aplicado, mas devido às características de BDPCM, o nível é rebaixado através da diferença com o residual vizinho, logo, casos desvantajosos podem ocorrer com mais frequência em aplicar SDH.[0245] However, when signal data hiding is enabled in high-level syntax (VPS, SPS, PPS, slice header syntax, etc.) or low-level syntax (slice data syntax, coding unit syntax, transform unit syntax, etc.), and slice_ts_residual_coding_disabled_flag is 1, the RRC signal data hiding process can be used in lossless coding. Correspondingly, lossless coding may become impossible due to incorrect settings in the coding apparatus. Alternatively, when a lossy coding (i.e., an irreversible coding method) other than lossless coding is applied, and a residual signal to which transform omission is applied is coded with RRC and BDPCM is applied at the same time, although the interval where the residual value becomes 0 occurs more frequently than in the general case due to the difference between the residuals in BDPCM, a coding loss may occur because SDH is performed according to the SDH application condition. Specifically, for example, when significant transform coefficients (nonzero residual data) exist at positions 0 and 15 in the CG, respectively, and the value of the transform coefficients at the remaining positions in the CG is 0, SDH may be applied to the CG according to the SDH application condition described above, and therefore, signal data (i.e., coding of a signal flag) for the first significant transform coefficient of the CG may be omitted. Correspondingly, in this case, the parity of only two residual data of the CG can be adjusted in the quantization step to omit the signal data, and instead, in the case where SDH is not applied, more coding loss may occur. This case may occur even in blocks where BDPCM is not applied, but due to the characteristics of BDPCM, the level is lowered through the difference with the neighboring residual, so disadvantageous cases may occur more frequently in applying SDH.
[0246] Portanto, a fim de evitar que SDH e codificação residual de slice_ts_residual_coding_disabled_flag = 1 (ou seja, codificação de amostras residuais do bloco de omissão de transformada na fatia atual com RRC) sejam usados para causar uma perda de codificação ou mau funcionamento não intencionais, a presente revelação propõe uma modalidade para ajustar dependência/restrição entre duas tecnologias.[0246] Therefore, in order to prevent SDH and residual coding of slice_ts_residual_coding_disabled_flag = 1 (i.e., coding residual samples of the transform omission block in the current slice with RRC) from being used to cause unintended coding loss or malfunction, the present disclosure proposes an embodiment for adjusting dependency/constraint between two technologies.
[0247] Por exemplo, a presente revelação propõe um método onde slice_ts_residual_coding_disabled_flag pic_sign_data_hiding_enabled_flag. A sintaxe de codificação residual de acordo com a presente modalidade pode ser conforme mostrado na tabela a seguir. [Tabela 29] [0247] For example, the present disclosure proposes a method where slice_ts_residual_coding_disabled_flag pic_sign_data_hiding_enabled_flag. The residual coding syntax according to the present embodiment may be as shown in the following table. [Table 29]
[0248] No presente documento, slice_ts_residual_coding_disabled_flag pode ser sinalizado como uma sintaxe de cabeçalho de fatia, ou uma Sintaxe de Alto Nível (HLS) ao invés da sintaxe de cabeçalho de fatia (por exemplo, sintaxe de SPS/sintaxe de VPS/sintaxe de DPS, etc.), ou baixo nível (CU/TU). Além disso, pic_sign_data_hiding_enabled_flag pode ser sinalizado em sintaxe de cabeçalho de figuração, ou outra sintaxe de alto nível (HLS) diferente da sintaxe de cabeçalho de figuração (por exemplo, sintaxe de SPS/sintaxe de VPS/sintaxe de DPS, etc.), ou baixo nível (CU/TU). Por exemplo, quando pic_sign_data_hiding_enabled_flag for sinalizado em uma sintaxe diferente da sintaxe de cabeçalho de figuração, o mesmo pode ser denominado como outro nome. Por exemplo, pic_sign_data_hiding_enabled_flag pode ser representado por sps_sign_data_hiding_enabled_flag.[0248] In this document, slice_ts_residual_coding_disabled_flag may be flagged as a slice header syntax, or a High Level Syntax (HLS) other than slice header syntax (e.g., SPS syntax/VPS syntax/DPS syntax, etc.), or low level (CU/TU). Furthermore, pic_sign_data_hiding_enabled_flag may be flagged in figuration header syntax, or another High Level Syntax (HLS) other than figuration header syntax (e.g., SPS syntax/VPS syntax/DPS syntax, etc.), or low level (CU/TU). For example, when pic_sign_data_hiding_enabled_flag is flagged in a syntax other than figuration header syntax, it may be referred to by another name. For example, pic_sign_data_hiding_enabled_flag can be represented by sps_sign_data_hiding_enabled_flag.
[0249] Da mesma forma, sps_sign_data_hiding_enabled_flag pode ser um sinalizador que indica se uma ocultação de dados de sinal está habilitada. Ou seja, por exemplo, sps_sign_data_hiding_enabled_flag pode indicar se a ocultação de dados de sinal está habilitada. Por exemplo, quando o valor de sps_sign_data_hiding_enabled_flag for 1, sps_sign_data_hiding_enabled_flag pode indicar que a ocultação de dados de sinal está habilitada, e quando o valor de sps_sign_data_hiding_enabled_flag for 0, sps_sign_data_hiding_enabled_flag pode indicar que a ocultação de dados de sinal não está habilitada.[0249] Similarly, sps_sign_data_hiding_enabled_flag may be a flag that indicates whether sign data hiding is enabled. That is, for example, sps_sign_data_hiding_enabled_flag may indicate whether sign data hiding is enabled. For example, when the value of sps_sign_data_hiding_enabled_flag is 1, sps_sign_data_hiding_enabled_flag may indicate that sign data hiding is enabled, and when the value of sps_sign_data_hiding_enabled_flag is 0, sps_sign_data_hiding_enabled_flag may indicate that sign data hiding is not enabled.
[0250] De acordo com a Tabela 29 que revela a presente modalidade, slice_ts_residual_coding_disabled_flag pode ser sinalizado apenas quando uma ocultação de dados de sinal não está habilitada. Além disso, quando uma ocultação de dados de sinal estiver habilitada, slice_ts_residual_coding_disabled_flag pode não ser sinalizado, um valor de slice_ts_residual_coding_disabled_flag pode ser inferido como 0 (codificação da amostra residual do bloco de omissão de transformada na fatia atual com sintaxe de TSRC) ou 1 (codificação da amostra residual do bloco de omissão de transformada na fatia atual com sintaxe de RRC).[0250] According to Table 29 disclosing the present embodiment, slice_ts_residual_coding_disabled_flag may be flagged only when a signal data hiding is not enabled. Furthermore, when a signal data hiding is enabled, slice_ts_residual_coding_disabled_flag may not be flagged, a value of slice_ts_residual_coding_disabled_flag may be inferred as 0 (encoding the residual sample of the transform omission block in the current slice with TSRC syntax) or 1 (encoding the residual sample of the transform omission block in the current slice with RRC syntax).
[0251] Ademais, a presente revelação propõe uma modalidade onde as modalidades descritas anteriormente são combinadas em relação à sinalização de sh_ts_residual_coding_disabled_flag. Por exemplo, pode-se propor uma modalidade de sinalização de sh_ts_residual_coding_disabled_flag conforme mostrado na tabela a seguir. [Tabela 30] [0251] Furthermore, the present disclosure proposes an embodiment where the previously described embodiments are combined with respect to the signaling of sh_ts_residual_coding_disabled_flag. For example, one may propose an embodiment of signaling sh_ts_residual_coding_disabled_flag as shown in the following table. [Table 30]
[0252] Referindo-se à Tabela 30, quando sps_transform_skip_enabled_flag for 1, ph_dep_quant_enabled_flag for 0 e pic_sign_data_hiding_enabled_flag for 0, sh_ts_residual_coding_disabled_disable_flag pode ser sinalizado, e, caso contrário, sh_ts_residual_coding_disabled_disable_flag pode não ser sinalizado. Por outro lado, quando sh_ts_residual_coding_disabled_flag não for sinalizado, sh_ts_residual_coding_disabled_flag pode ser inferido como 0.[0252] Referring to Table 30, when sps_transform_skip_enabled_flag is 1, ph_dep_quant_enabled_flag is 0, and pic_sign_data_hiding_enabled_flag is 0, sh_ts_residual_coding_disabled_disable_flag may be flagged, and otherwise, sh_ts_residual_coding_disabled_disable_flag may not be flagged. Conversely, when sh_ts_residual_coding_disabled_flag is not flagged, sh_ts_residual_coding_disabled_flag may be inferred to be 0.
[0253] Entretanto, a modalidade da Tabela 31 é um exemplo, e pode-se propor um exemplo onde ph_dep_quant_enabled_flag, pic_sign_data_hiding_enabled_flag e ph_ts_residual_coding_disabled_flag são todos sinalizados no mesmo HLS (por exemplo, sintaxe de cabeçalho de fatia, etc.).[0253] However, the embodiment of Table 31 is an example, and one may propose an example where ph_dep_quant_enabled_flag, pic_sign_data_hiding_enabled_flag, and ph_ts_residual_coding_disabled_flag are all flagged in the same HLS (e.g., slice header syntax, etc.).
[0254] Alternativamente, por exemplo, pode-se propor uma modalidade de sinalização de sh_ts_residual_coding_disabled_flag conforme mostrado na tabela a seguir. [Tabela 31] [0254] Alternatively, for example, one may propose a sh_ts_residual_coding_disabled_flag flagging modality as shown in the following table. [Table 31]
[0255] Referindo-se à Tabela 31, quando ph_dep_quant_enabled_flag for 0 e pic_sign_data_hiding_enabled_flag for 0, sh_ts_residual_coding_disabled_flag pode ser sinalizado, e, caso contrário, sh_ts_residual_coding_disabled_flag pode não ser sinalizado. Por outro lado, quando sh_ts_residual_coding_disabled_flag não for sinalizado, sh_ts_residual_coding_disabled_flag pode ser inferido como 0.[0255] Referring to Table 31, when ph_dep_quant_enabled_flag is 0 and pic_sign_data_hiding_enabled_flag is 0, sh_ts_residual_coding_disabled_flag may be flagged, and otherwise, sh_ts_residual_coding_disabled_flag may not be flagged. Conversely, when sh_ts_residual_coding_disabled_flag is not flagged, sh_ts_residual_coding_disabled_flag may be inferred to be 0.
[0256] Entretanto, a modalidade da Tabela 31 é um exemplo, e pode-se propor um exemplo onde ph_dep_quant_enabled_flag, pic_sign_data_hiding_enabled_flag e ph_ts_residual_coding_disabled_flag são todos sinalizados no mesmo HLS (por exemplo, sintaxe de cabeçalho de fatia, etc.).[0256] However, the embodiment of Table 31 is an example, and one may propose an example where ph_dep_quant_enabled_flag, pic_sign_data_hiding_enabled_flag, and ph_ts_residual_coding_disabled_flag are all flagged in the same HLS (e.g., slice header syntax, etc.).
[0257] Alternativamente, por exemplo, pode-se propor uma modalidade de sinalização de sh_ts_residual_coding_disabled_flag conforme mostrado na tabela a seguir. [Tabela 32] [0257] Alternatively, for example, one may propose a sh_ts_residual_coding_disabled_flag flagging modality as shown in the following table. [Table 32]
[0258] Referindo-se à Tabela 32, quando ph_dep_quant_enabled_flag for 0 ou pic_sign_data_hiding_enabled_flag for 0, sh_ts_residual_coding_disabled_flag pode ser sinalizado, e, caso contrário, sh_ts_residual_coding_disabled_flag pode não ser sinalizado. Por outro lado, quando sh_ts_residual_coding_disabled_flag não for sinalizado, sh_ts_residual_coding_disabled_flag pode ser inferido como 0.[0258] Referring to Table 32, when ph_dep_quant_enabled_flag is 0 or pic_sign_data_hiding_enabled_flag is 0, sh_ts_residual_coding_disabled_flag may be flagged, and otherwise, sh_ts_residual_coding_disabled_flag may not be flagged. Conversely, when sh_ts_residual_coding_disabled_flag is not flagged, sh_ts_residual_coding_disabled_flag may be inferred to be 0.
[0259] Além disso, a presente revelação propõe uma modalidade onde os elementos de sintaxe ph_dep_quant_enabled_flag, pic_sign_data_hiding_enabled_flag e slice_ts_residual_coding_disabled_flag descritos anteriormente são sinalizados na mesma sintaxe de alto nível ou sintaxe de baixo nível.[0259] Furthermore, the present disclosure proposes an embodiment where the syntax elements ph_dep_quant_enabled_flag, pic_sign_data_hiding_enabled_flag and slice_ts_residual_coding_disabled_flag described above are flagged in the same high-level syntax or low-level syntax.
[0260] Por exemplo, pode-se propor uma modalidade onde ph_dep_quant_enabled_flag, pic_sign_data_hiding_enabled_flag e slice_ts_residual_coding_disabled_flag são todos sinalizados na sintaxe de cabeçalho de figuração conforme mostrado na tabela a seguir. [Tabela 33] [0260] For example, one may propose an embodiment where ph_dep_quant_enabled_flag, pic_sign_data_hiding_enabled_flag, and slice_ts_residual_coding_disabled_flag are all flagged in the figuration header syntax as shown in the following table. [Table 33]
[0261] Nesse caso, slice_ts_residual_coding_disabled_flag pode ser referido como ph_ts_residual_coding_disabled_flag.[0261] In this case, slice_ts_residual_coding_disabled_flag may be referred to as ph_ts_residual_coding_disabled_flag.
[0262] Referindo-se à Tabela 33, ph_ts_residual_coding_disabled_flag pode ser sinalizado na sintaxe de cabeçalho de figuração, e quando um valor de ph_ts_residual_coding_disabled_flag for 0, se um valor de sps_dep_quant_enabled_flag for 1, ph_dep_quant_enabled_flag pode ser sinalizado na sintaxe de cabeçalho de figuração. Além disso, quando o valor de ph_ts_residual_coding_disabled_flag for 0, se o valor de sps_sign_data_hiding_enabled_flag for 1 e ph_dep_quant_enabled_flag for 0, pic_sign_data_hiding_enabled_flag pode ser sinalizado na sintaxe de cabeçalho de figuração. Entretanto, por exemplo, quando o valor de ph_ts_residual_coding_disabled_flag for 1, ph_dep_quant_enabled_flag e pic_sign_data_hiding_enabled_flag podem não ser sinalizados.[0262] Referring to Table 33, ph_ts_residual_coding_disabled_flag may be flagged in the figuration header syntax, and when a value of ph_ts_residual_coding_disabled_flag is 0, if a value of sps_dep_quant_enabled_flag is 1, ph_dep_quant_enabled_flag may be flagged in the figuration header syntax. Additionally, when the value of ph_ts_residual_coding_disabled_flag is 0, if the value of sps_sign_data_hiding_enabled_flag is 1 and ph_dep_quant_enabled_flag is 0, pic_sign_data_hiding_enabled_flag may be flagged in the figuration header syntax. However, for example, when the value of ph_ts_residual_coding_disabled_flag is 1, ph_dep_quant_enabled_flag and pic_sign_data_hiding_enabled_flag may not be flagged.
[0263] Alternativamente, por exemplo, pode-se propor uma modalidade onde ph_dep_quant_enabled_flag, pic_sign_data_hiding_enabled_flag e slice_ts_residual_coding_disabled_flag são todos sinalizados na sintaxe de cabeçalho de figuração conforme mostrado na tabela a seguir. [Tabela 34] [0263] Alternatively, for example, one may propose an embodiment where ph_dep_quant_enabled_flag, pic_sign_data_hiding_enabled_flag, and slice_ts_residual_coding_disabled_flag are all flagged in the figuration header syntax as shown in the following table. [Table 34]
[0264] Referindo-se à Tabela 34, quando o valor de sps_transform_skip_enabled_flag for 1, ph_ts_residual_coding_disabled_flag pode ser sinalizado na sintaxe de cabeçalho de figuração. Da mesma forma, por exemplo, quando o valor de sps_transform_skip_enabled_flag for 0, ph_ts_residual_coding_disabled_flag pode não ser sinalizado. quando ph_ts_residual_coding_disabled_flag não é sinalizado, ph_ts_residual_coding_disabled_flag pode ser inferido como 0 no aparelho de decodificação.[0264] Referring to Table 34, when the value of sps_transform_skip_enabled_flag is 1, ph_ts_residual_coding_disabled_flag may be flagged in the figuration header syntax. Similarly, for example, when the value of sps_transform_skip_enabled_flag is 0, ph_ts_residual_coding_disabled_flag may not be flagged. When ph_ts_residual_coding_disabled_flag is not flagged, ph_ts_residual_coding_disabled_flag may be inferred to be 0 in the decoding apparatus.
[0265] Da mesma forma, referindo-se à Tabela 34, quando o valor de ph_ts_residual_coding_disabled_flag for 0 e o valor de sps_dep_quant_enabled_flag for 1, ph_dep_quant_enabled_flag pode ser sinalizado na sintaxe de cabeçalho de figuração. Além disso, quando o valor de ph_ts_residual_coding_disabled_flag for 0, se o valor de sps_sign_data_hiding_enabled_flag for 1 e ph_dep_quant_enabled_flag for 0, pic_sign_data_hiding_enabled_flag pode ser sinalizado na sintaxe de cabeçalho de figuração. Entretanto, por exemplo, quando o valor de ph_ts_residual_coding_disabled_flag for 1, ph_dep_quant_enabled_flag e pic_sign_data_hiding_enabled_flag podem não ser sinalizados. Da mesma forma, por exemplo, quando ph_dep_quant_enabled_flag não for sinalizado, ph_dep_quant_enabled_flag pode ser inferido como 0 no aparelho de decodificação. Da mesma forma, por exemplo, quando pic_sign_data_hiding_enabled_flag não for sinalizado, pic_sign_data_hiding_enabled_flag pode ser inferido como 0 no aparelho de decodificação.[0265] Similarly, referring to Table 34, when the value of ph_ts_residual_coding_disabled_flag is 0 and the value of sps_dep_quant_enabled_flag is 1, ph_dep_quant_enabled_flag may be flagged in the figuration header syntax. Additionally, when the value of ph_ts_residual_coding_disabled_flag is 0, if the value of sps_sign_data_hiding_enabled_flag is 1 and ph_dep_quant_enabled_flag is 0, pic_sign_data_hiding_enabled_flag may be flagged in the figuration header syntax. However, for example, when the value of ph_ts_residual_coding_disabled_flag is 1, ph_dep_quant_enabled_flag and pic_sign_data_hiding_enabled_flag may not be flagged. Similarly, for example, when ph_dep_quant_enabled_flag is not flagged, ph_dep_quant_enabled_flag may be inferred to be 0 on the decoding machine. Similarly, for example, when pic_sign_data_hiding_enabled_flag is not flagged, pic_sign_data_hiding_enabled_flag may be inferred to be 0 on the decoding machine.
[0266] Entretanto, as modalidades descritas anteriormente são exemplos, pode-se propor um exemplo onde ph_ts_residual_coding_disabled_flag, ph_dep_quant_enabled_flag e pic_sign_data_hiding_enabled_flag são sinalizados em uma sintaxe de alto nível (VPS, SPS, PPS, sintaxe de cabeçalho de fatia, etc.) ou sintaxe de baixo nível (sintaxe de dados de fatia, sintaxe de unidade de codificação, etc.) diferente da sintaxe de cabeçalho de figuração.[0266] However, the embodiments described above are examples, one may propose an example where ph_ts_residual_coding_disabled_flag, ph_dep_quant_enabled_flag, and pic_sign_data_hiding_enabled_flag are flagged in a high-level syntax (VPS, SPS, PPS, slice header syntax, etc.) or low-level syntax (slice data syntax, coding unit syntax, etc.) other than the figuration header syntax.
[0267] Entretanto, conforme descrito anteriormente, informações (elemento de sintaxe) na tabela de sintaxe revelada na presente revelação podem ser incluídas nas informações de imagem/vídeo, e podem ser configuradas/codificadas no aparelho de codificação e transmitidas ao aparelho de decodificação sob a forma de um fluxo de bits. O aparelho de decodificação pode analisar/decodificar informações (elemento de sintaxe) na tabela de sintaxe correspondente. O aparelho de decodificação pode realizar um processo de reconstrução de bloco/imagem/vídeo com base nas informações decodificadas.[0267] However, as described above, information (syntax element) in the syntax table disclosed in the present disclosure may be included in the image/video information, and may be configured/encoded in the encoding apparatus and transmitted to the decoding apparatus in the form of a bit stream. The decoding apparatus may analyze/decode information (syntax element) in the corresponding syntax table. The decoding apparatus may perform a block/image/video reconstruction process based on the decoded information.
[0268] A Figura 8 ilustra brevemente um método de codificação de imagem realizado por um aparelho de codificação de acordo com a presente revelação. O método revelado na Figura 8 pode ser realizado pelo aparelho de codificação revelado na Figura 2. De modo específico, por exemplo, S800 a S830 da Figura 8 podem ser realizados pelo codificador de entropia do aparelho de codificação. Ademais, embora não ilustrado, um processo de derivar uma amostra de predição pode ser realizado pelo preditor do aparelho de codificação, um processo de derivar uma amostra residual para o bloco atual com base na amostra original e na amostra de predição para o bloco atual pode ser realizado pelo subtrator do aparelho de codificação, e um processo de gerar uma amostra reconstruída e uma figuração reconstruída para o bloco atual com base na amostra residual e na amostra de predição para o bloco atual pode ser realizado pelo adicionador do aparelho de codificação.[0268] Figure 8 briefly illustrates an image encoding method performed by an encoding apparatus in accordance with the present disclosure. The method disclosed in Figure 8 may be performed by the encoding apparatus disclosed in Figure 2. Specifically, for example, S800 through S830 of Figure 8 may be performed by the entropy encoder of the encoding apparatus. Further, although not illustrated, a process of deriving a prediction sample may be performed by the predictor of the encoding apparatus, a process of deriving a residual sample for the current block based on the original sample and the prediction sample for the current block may be performed by the subtractor of the encoding apparatus, and a process of generating a reconstructed sample and a reconstructed picture for the current block based on the residual sample and the prediction sample for the current block may be performed by the adder of the encoding apparatus.
[0269] O aparelho de codificação codifica um sinalizador habilitado para ocultação de dados de sinal para se uma ocultação de dados de sinal está habilitada (S800). O aparelho de codificação pode codificar um sinalizador habilitado para ocultação de dados de sinal para se uma ocultação de dados de sinal está habilitada. As informações de imagem podem incluir o sinalizador habilitado para ocultação de dados de sinal. Por exemplo, o aparelho de codificação pode determinar se a ocultação de dados de sinal está habilitado para blocos de figurações em uma sequência, e pode codificar o sinalizador habilitado para ocultação de dados de sinal para se a ocultação de dados de sinal está habilitada. Por exemplo, o sinalizador habilitado para ocultação de dados de sinal pode ser um sinalizador para se a ocultação de dados de sinal está habilitada. Por exemplo, o sinalizador habilitado para ocultação de dados de sinal pode representar se a ocultação de dados de sinal está habilitada. Ou seja, por exemplo, o sinalizador habilitado para ocultação de dados de sinal pode representar se a ocultação de dados de sinal está habilitada para blocos de figurações em uma sequência. Por exemplo, o sinalizador habilitado para ocultação de dados de sinal pode representar se uma ocultação de dados de sinal usou um sinalizador que representa se a ocultação de dados de sinal é usada para uma fatia atual pode estar presente. Por exemplo, o sinalizador habilitado para ocultação de dados de sinal tendo um valor de 1 pode representar que a ocultação de dados de sinal está habilitada, e o sinalizador habilitado para ocultação de dados de sinal tendo um valor de 0 pode representar que a ocultação de dados de sinal não está habilitada. Por exemplo, o sinalizador habilitado para ocultação de dados de sinal tendo um valor de 1 pode representar que a ocultação de dados de sinal usou um sinalizador pode estar presente, e o sinalizador habilitado para ocultação de dados de sinal tendo um valor de 0 pode representar que a ocultação de dados de sinal usou um sinalização não está presente. Da mesma forma, por exemplo, o sinalizador habilitado para ocultação de dados de sinal pode ser sinalizado em uma sintaxe de SPS. Alternativamente, por exemplo, o sinalizador habilitado para ocultação de dados de sinal pode ser sinalizado em uma sintaxe de cabeçalho de figuração ou uma sintaxe de cabeçalho de fatia. O elemento de sintaxe do sinalizador habilitado para ocultação de dados de sinal pode ser sps_sign_data_hiding_enabled_flag.[0269] The encoding apparatus encodes a signal data concealment enabled flag for whether signal data concealment is enabled (S800). The encoding apparatus may encode a signal data concealment enabled flag for whether signal data concealment is enabled. The image information may include the signal data concealment enabled flag. For example, the encoding apparatus may determine whether signal data concealment is enabled for blocks of pictures in a sequence, and may encode the signal data concealment enabled flag for whether signal data concealment is enabled. For example, the signal data concealment enabled flag may be a flag for whether signal data concealment is enabled. For example, the signal data concealment enabled flag may represent whether signal data concealment is enabled. That is, for example, the signal data hiding enabled flag may represent whether signal data hiding is enabled for blocks of figures in a sequence. For example, the signal data hiding enabled flag may represent whether a signal data hiding used flag may be present. For example, the signal data hiding enabled flag having a value of 1 may represent that signal data hiding is enabled, and the signal data hiding enabled flag having a value of 0 may represent that signal data hiding is not enabled. For example, the signal data hiding enabled flag having a value of 1 may represent that signal data hiding used a flag may be present, and the signal data hiding enabled flag having a value of 0 may represent that signal data hiding used a flag is not present. Similarly, for example, the sign data hiding enabled flag can be flagged in an SPS syntax. Alternatively, for example, the sign data hiding enabled flag can be flagged in a figuration header syntax or a slice header syntax. The syntax element for the sign data hiding enabled flag can be sps_sign_data_hiding_enabled_flag.
[0270] O aparelho de codificação codifica um sinalizador habilitado para codificação residual de omissão de transformada (TSRC) para se TSRC está habilitada com base no sinalizador habilitado para ocultação de dados de sinal (S810). As informações de imagem podem incluir o sinalizador habilitado para TSRC.[0270] The encoding apparatus encodes a transform omission residual coding (TSRC) enabled flag for whether TSRC is enabled based on the signal data concealment enabled flag (S810). The picture information may include the TSRC enabled flag.
[0271] Por exemplo, o aparelho de codificação pode codificar o sinalizador habilitado para TSRC com base no sinalizador habilitado para ocultação de dados de sinal. Por exemplo, o sinalizador habilitado para TSRC pode ser codificado com base no sinalizador habilitado para ocultação de dados de sinal tendo um valor de 0. Ou seja, por exemplo, quando um valor do sinalizador habilitado para ocultação de dados de sinal for 0 (ou seja, o sinalizador habilitado para ocultação de dados de sinal representa que a ocultação de dados de sinal não está habilitada), o sinalizador habilitado para TSRC pode ser codificado. Em outras palavras, por exemplo, quando um valor do sinalizador habilitado para ocultação de dados de sinal for 0 (ou seja, o sinalizador habilitado para ocultação de dados de sinal representa que a ocultação de dados de sinal não está habilitada), o sinalizador habilitado para TSRC pode ser sinalizado. Da mesma forma, por exemplo, quando o valor do sinalizador habilitado para ocultação de dados de sinal for 1, o sinalizador habilitado para TSRC pode não ser codificado, e um valor do sinalizador habilitado para TSRC pode ser derivado como 0 no aparelho de decodificação. Ou seja, por exemplo, quando o valor do sinalizador habilitado para ocultação de dados de sinal for 1, o sinalizador habilitado para TSRC pode não ser sinalizado, e um valor do sinalizador habilitado para TSRC pode ser derivado como 0 no aparelho de decodificação.[0271] For example, the encoding apparatus may encode the TSRC-enabled flag based on the signal data concealment-enabled flag. For example, the TSRC-enabled flag may be encoded based on the signal data concealment-enabled flag having a value of 0. That is, for example, when a value of the signal data concealment-enabled flag is 0 (i.e., the signal data concealment-enabled flag represents that signal data concealment is not enabled), the TSRC-enabled flag may be encoded. In other words, for example, when a value of the signal data concealment-enabled flag is 0 (i.e., the signal data concealment-enabled flag represents that signal data concealment is not enabled), the TSRC-enabled flag may be signaled. Similarly, for example, when the value of the signal data concealment enabled flag is 1, the TSRC enabled flag may not be encoded, and a value of the TSRC enabled flag may be derived as 0 in the decoding apparatus. That is, for example, when the value of the signal data concealment enabled flag is 1, the TSRC enabled flag may not be signaled, and a value of the TSRC enabled flag may be derived as 0 in the decoding apparatus.
[0272] No presente documento, por exemplo, o sinalizador habilitado para TSRC pode ser um sinalizado para se a TSRC está habilitada. Ou seja, por exemplo, o sinalizador habilitado para TSRC pode ser um sinalizador que representa se a TSRC está habilitada para blocos em uma fatia. Por exemplo, o sinalizador habilitado para TSRC tendo um valor de 1 pode representar que a TSRC não está habilitada, e o sinalizador habilitado para TSRC tendo um valor de 0 pode representar que a TSRC está habilitada. Da mesma forma, por exemplo, o sinalizador habilitado para TSRC pode ser sinalizado em uma sintaxe de cabeçalho de fatia. O elemento de sintaxe do sinalizador habilitado para TSRC pode ser sh_ts_residual_coding_disabled_flag descrito anteriormente.[0272] In this document, for example, the TSRC-enabled flag may be a flag for whether TSRC is enabled. That is, for example, the TSRC-enabled flag may be a flag that represents whether TSRC is enabled for blocks in a slice. For example, the TSRC-enabled flag having a value of 1 may represent that TSRC is not enabled, and the TSRC-enabled flag having a value of 0 may represent that TSRC is enabled. Likewise, for example, the TSRC-enabled flag may be flagged in a slice header syntax. The TSRC-enabled flag syntax element may be sh_ts_residual_coding_disabled_flag described previously.
[0273] Entretanto, por exemplo, o aparelho de codificação pode determinar se a quantização dependente está habilitada para blocos de figurações em uma sequência, e pode codificar o sinalizador habilitado para quantização dependente para se a quantização dependente está habilitada. As informações de imagem podem incluir o sinalizador habilitado para quantização dependente. Por exemplo, o sinalizador habilitado para quantização dependente pode ser um sinalizador para se a quantização dependente está habilitada. Por exemplo, o sinalizador habilitado para quantização dependente pode representar se a quantização dependente está habilitada. Ou seja, por exemplo, o sinalizador habilitado para quantização dependente pode representar se a quantização dependente está habilitada para blocos de figurações em uma sequência. Por exemplo, o sinalizador habilitado para quantização dependente pode representar se uma quantização dependente usou um sinalizador que representa se a quantização dependente é usada para uma fatia atual pode estar presente. Por exemplo, o sinalizador habilitado para quantização dependente tendo um valor de 1 pode representar que a quantização dependente está habilitada, e o sinalizador habilitado para quantização dependente tendo um valor de 0 pode representar que a quantização dependente não está habilitada. Da mesma forma, por exemplo, o sinalizador habilitado para quantização dependente pode ser sinalizado em uma sintaxe de SPS ou uma sintaxe de cabeçalho de fatia. O elemento de sintaxe do sinalizador habilitado para quantização dependente pode ser sps_dep_quant_enabled_flag descrito anteriormente. sps_dep_quant_enabled_flag pode ser referido como sh_dep_quant_enabled_flag, sh_dep_quant_used_flag ou ph_dep_quant_enabled_flag.[0273] However, for example, the encoding apparatus may determine whether dependent quantization is enabled for blocks of pictures in a sequence, and may encode the dependent quantization enabled flag for whether dependent quantization is enabled. The picture information may include the dependent quantization enabled flag. For example, the dependent quantization enabled flag may be a flag for whether dependent quantization is enabled. For example, the dependent quantization enabled flag may represent whether dependent quantization is enabled. That is, for example, the dependent quantization enabled flag may represent whether dependent quantization is enabled for blocks of pictures in a sequence. For example, the dependent quantization enabled flag may represent whether dependent quantization has been used; a flag representing whether dependent quantization is used for a current slice may be present. For example, the dependent quantization-enabled flag having a value of 1 might represent that dependent quantization is enabled, and the dependent quantization-enabled flag having a value of 0 might represent that dependent quantization is not enabled. Similarly, for example, the dependent quantization-enabled flag might be flagged in an SPS syntax or a slice header syntax. The dependent quantization-enabled flag syntax element might be sps_dep_quant_enabled_flag described earlier. sps_dep_quant_enabled_flag might be referred to as sh_dep_quant_enabled_flag, sh_dep_quant_used_flag, or ph_dep_quant_enabled_flag.
[0274] Ademais, por exemplo, o aparelho de codificação pode codificar o sinalizador habilitado para omissão de transformada para se a omissão de transformada está habilitada. Informações de imagem podem incluir o sinalizador habilitado para omissão de transformada. Por exemplo, o aparelho de codificação pode determinar se a omissão de transformada está habilitada para blocos de figurações em uma sequência, e pode codificar o sinalizador habilitado para omissão de transformada para se a omissão de transformada está habilitada. Por exemplo, o sinalizador habilitado para omissão de transformada pode ser um sinalizador para se a omissão de transformada está habilitada. Por exemplo, o sinalizador habilitado para omissão de transformada pode representar se a omissão de transformada está habilitada. Ou seja, por exemplo, o sinalizador habilitado para omissão de transformada pode representar se a omissão de transformada está habilitada para os blocos das figurações na sequência. Por exemplo, o sinalizador habilitado para omissão de transformada pode representar se o sinalizador de omissão de transformada pode estar presente. Por exemplo, o sinalizador habilitado para omissão de transformada tendo o valor de 1 pode representar que a omissão de transformada está habilitada, e o sinalizador habilitado para omissão de transformada tendo o valor de 0 pode representar que a omissão de transformada não está habilitada. Ou seja, por exemplo, o sinalizador habilitado para omissão de transformada tendo o valor de 1 pode representar que o sinalizador de omissão de transformada pode estar presente, e o sinalizador habilitado para omissão de transformada tendo o valor de 0 pode representar que o sinalizador de omissão de transformada não está presente. Ademais, por exemplo, o sinalizador habilitado para omissão de transformada pode ser sinalizado a uma sintaxe de conjunto de parâmetros de sequência (SPS). O elemento de sintaxe do sinalizador habilitado para omissão de transformada pode ser sps_transform_skip_enabled_flag descrito anteriormente.[0274] Further, for example, the encoding apparatus may encode the transform omit enabled flag for whether transform omit is enabled. Picture information may include the transform omit enabled flag. For example, the encoding apparatus may determine whether transform omit is enabled for blocks of pictures in a sequence, and may encode the transform omit enabled flag for whether transform omit is enabled. For example, the transform omit enabled flag may be a flag for whether transform omit is enabled. For example, the transform omit enabled flag may represent whether transform omit is enabled. That is, for example, the transform omit enabled flag may represent whether transform omit is enabled for blocks of pictures in the sequence. For example, the transform omit enabled flag may represent whether the transform omit flag may be present. For example, the transform-skip-enabled flag having a value of 1 can represent that transform skipping is enabled, and the transform-skip-enabled flag having a value of 0 can represent that transform skipping is not enabled. That is, for example, the transform-skip-enabled flag having a value of 1 can represent that the transform-skip flag can be present, and the transform-skip-enabled flag having a value of 0 can represent that the transform-skip-enabled flag is not present. Furthermore, for example, the transform-skip-enabled flag can be flagged to a sequence parameter set (SPS) syntax. The syntax element for the transform-skip-enabled flag can be sps_transform_skip_enabled_flag described previously.
[0275] Ademais, por exemplo, o sinalizador habilitado para TSRC pode ser codificado com base no sinalizador habilitado para ocultação de dados de sinal, no sinalizador habilitado para quantização dependente e/oi no sinalizador habilitado para omissão de transformada. Por exemplo, o sinalizador habilitado para TSRC pode ser codificado com base no sinalizador habilitado para ocultação de dados de sinal tendo um valor de 0, no sinalizador habilitado para quantização dependente tendo um valor de 0 e no sinalizador habilitado para omissão de transformada tendo um valor de 1. Ou seja, por exemplo, quando um valor do sinalizador habilitado para ocultação de dados de sinal for 0 (ou seja, o sinalizador habilitado para ocultação de dados de sinal representar que uma ocultação de dados de sinal não está habilitada), um valor do sinalizador habilitado para quantização dependente for 0 (ou seja, o sinalizador habilitado para quantização dependente representar que uma quantização dependente não está habilitada) e um valor do sinalizador habilitado para omissão de transformada for 1 (ou seja, o sinalizador habilitado para omissão de transformada representar que uma omissão de transformada está habilitada), o sinalizador habilitado para TSRC pode ser codificado (ou sinalizado). Da mesma forma, por exemplo, quando o valor do sinalizador habilitado para quantização dependente for 1, o sinalizador habilitado para TSRC pode não ser codificado, e o valor de sinalizador habilitado para TSRC pode ser derivado como 0 no aparelho de decodificação. Ou seja, por exemplo, quando o valor do sinalizador habilitado para quantização dependente for 1, o sinalizador habilitado para TSRC pode não ser sinalizado, e o valor de sinalizador habilitado para TSRC pode ser derivado como 0 no aparelho de decodificação. Da mesma forma, por exemplo, quando o valor do sinalizador habilitado para omissão de transformada for 0, o sinalizador habilitado para TSRC pode não ser codificado, e o valor de sinalizador habilitado para TSRC pode ser derivado como 0. Ou seja, por exemplo, quando o valor do sinalizador habilitado para omissão de transformada for 0, o sinalizador habilitado para TSRC pode não ser sinalizado, e o valor de sinalizador habilitado para TSRC pode ser derivado como 0.[0275] Further, for example, the TSRC-enabled flag may be encoded based on the signal data hiding-enabled flag, the dependent quantization-enabled flag, and/or the transform omission-enabled flag. For example, the TSRC-enabled flag may be encoded based on the signal data hiding-enabled flag having a value of 0, the dependent quantization-enabled flag having a value of 0, and the transform omission-enabled flag having a value of 1. That is, for example, when a value of the signal data hiding-enabled flag is 0 (i.e., the signal data hiding-enabled flag represents that a signal data hiding is not enabled), a value of the dependent quantization-enabled flag is 0 (i.e., the dependent quantization-enabled flag represents that a dependent quantization is not enabled), and a value of the transform omission-enabled flag is 1 (i.e., the transform omission-enabled flag represents that a transform omission is enabled), the TSRC-enabled flag may be encoded (or flagged). Similarly, for example, when the value of the dependent quantization-enabled flag is 1, the TSRC-enabled flag may not be encoded, and the TSRC-enabled flag value may be derived as 0 in the decoding apparatus. That is, for example, when the value of the dependent quantization-enabled flag is 1, the TSRC-enabled flag may not be signaled, and the TSRC-enabled flag value may be derived as 0 in the decoding apparatus. Similarly, for example, when the value of the transform-skip-enabled flag is 0, the TSRC-enabled flag may not be encoded, and the TSRC-enabled flag value may be derived as 0. That is, for example, when the value of the transform-skip-enabled flag is 0, the TSRC-enabled flag may not be signaled, and the TSRC-enabled flag value may be derived as 0.
[0276] O aparelho de codificação codifica informações residuais para um bloco atual com base no sinalizador habilitado para TSRC (S820). O aparelho de codificação pode codificar informações residuais para um bloco atual com base no sinalizador habilitado para TSRC.[0276] The encoding apparatus encodes residual information for a current block based on the TSRC enabled flag (S820). The encoding apparatus may encode residual information for a current block based on the TSRC enabled flag.
[0277] Por exemplo, o aparelho de codificação pode determinar uma sintaxe de codificação residual para o bloco atual com base no sinalizador habilitado para TSRC. Por exemplo, o aparelho de codificação pode determinar a sintaxe de codificação residual para o bloco atual como uma dentre uma sintaxe de codificação residual regular (RRC) e uma sintaxe de codificação residual de omissão de transformada (TSRC) com base no sinalizador habilitado para TSRC. A sintaxe de RRC pode representar uma sintaxe de acordo com RRC, e a sintaxe de TSRC pode representar uma sintaxe de acordo com TSRC.[0277] For example, the encoding apparatus may determine a residual encoding syntax for the current block based on the TSRC-enabled flag. For example, the encoding apparatus may determine the residual encoding syntax for the current block as one of a regular residual encoding (RRC) syntax and a transform omission residual encoding (TSRC) syntax based on the TSRC-enabled flag. The RRC syntax may represent a syntax in accordance with RRC, and the TSRC syntax may represent a syntax in accordance with TSRC.
[0278] Por exemplo, com base no sinalizador habilitado para TSRC tendo o valor de 1, a sintaxe de codificação residual para o bloco atual pode ser determinada como a sintaxe de codificação residual regular (RRC). Nesse caso, por exemplo, o sinalizador de omissão de transformada para se o bloco atual é o bloco de omissão de transformada pode ser codificado, e o valor de sinalizador de omissão de transformada pode ser 1. Por exemplo, as informações de imagem podem incluir o sinalizador de omissão de transformada para o bloco atual. O sinalizador de omissão de transformada pode representar se o bloco atual é o bloco de omissão de transformada. Ou seja, o sinalizador de omissão de transformada pode representar se a transformada foi aplicada aos coeficientes de transformada do bloco atual. O elemento de sintaxe que representa o sinalizador de omissão de transformada pode ser transform_skip_flag conforme descrito anteriormente. Por exemplo, se o valor do sinalizador de omissão de transformada for 1, o sinalizador de omissão de transformada pode representar que a transformada não foi aplicada ao bloco atual (isto é, omissão de transformada), enquanto se o valor do sinalizador de omissão de transformada for 0, o sinalizador de omissão de transformada pode representar que a transformada foi aplicada ao bloco atual. Por exemplo, se o bloco atual for o bloco de omissão de transformada, o valor do sinalizador de omissão de transformada para o bloco atual pode ser 1.[0278] For example, based on the TSRC-enabled flag having the value of 1, the residual coding syntax for the current block may be determined as the regular residual coding (RRC) syntax. In this case, for example, the transform skip flag for whether the current block is the transform skip block may be encoded, and the transform skip flag value may be 1. For example, the image information may include the transform skip flag for the current block. The transform skip flag may represent whether the current block is the transform skip block. That is, the transform skip flag may represent whether the transform has been applied to the transform coefficients of the current block. The syntax element representing the transform skip flag may be transform_skip_flag as previously described. For example, if the transform omit flag value is 1, the transform omit flag may represent that the transform has not been applied to the current block (i.e., transform omit), whereas if the transform omit flag value is 0, the transform omit flag may represent that the transform has been applied to the current block. For example, if the current block is the transform omit block, the transform omit flag value for the current block may be 1.
[0279] Ademais, por exemplo, com base no sinalizador habilitado para TSRC tendo o valor de 0, a sintaxe de codificação residual para o bloco atual pode ser determinada como a sintaxe de codificação residual de omissão de transformada (TSRC). Ademais, por exemplo, o sinalizador de omissão de transformada para se o bloco atual é o bloco de omissão de transformada pode ser codificado, e se basear no sinalizador de omissão de transformada tendo o valor de 1 e o sinalizador habilitado para TSRC tendo o valor de 0, a sintaxe de codificação residual para o bloco atual pode ser determinada como a sintaxe de codificação residual de omissão de transformada (TSRC). Ademais, por exemplo, o sinalizador de omissão de transformada para se o bloco atual é o bloco de omissão de transformada pode ser codificado, e com base no sinalizador de omissão de transformada tendo o valor de 0 e no sinalizador habilitado para TSRC tendo o valor de 0, a sintaxe de codificação residual para o bloco atual pode ser determinada como a sintaxe de codificação residual regular (RRC).[0279] Further, for example, based on the TSRC-enabled flag having the value of 0, the residual coding syntax for the current block may be determined as the transform omission residual coding (TSRC) syntax. Further, for example, the transform omission flag for whether the current block is the transform omission block may be encoded, and based on the transform omission flag having the value of 1 and the TSRC-enabled flag having the value of 0, the residual coding syntax for the current block may be determined as the transform omission residual coding (TSRC) syntax. Furthermore, for example, the transform omit flag for whether the current block is the transform omit block can be encoded, and based on the transform omit flag having the value of 0 and the TSRC enabled flag having the value of 0, the residual coding syntax for the current block can be determined as the regular residual coding (RRC) syntax.
[0280] Posteriormente, por exemplo, o aparelho de codificação pode codificar as informações residuais da sintaxe de codificação residual determinada para o bloco atual. O aparelho de codificação pode derivar uma amostra residual para o bloco atual, e pode codificar informações residuais da sintaxe de codificação residual determinada para a amostra residual do bloco atual. Por exemplo, informações residuais da sintaxe de codificação residual regular (RRC) podem ser codificadas com base no sinalizador habilitado para TSRC tendo o valor de 1, e informações residuais da sintaxe de TSRC podem ser codificadas com base no sinalizador habilitado para TSRC tendo o valor de 0. As informações de imagem podem incluir as informações residuais.[0280] Subsequently, for example, the encoding apparatus may encode residual information of the residual coding syntax determined for the current block. The encoding apparatus may derive a residual sample for the current block, and may encode residual information of the residual coding syntax determined for the residual sample of the current block. For example, residual information of the regular residual coding (RRC) syntax may be encoded based on the TSRC-enabled flag having the value of 1, and residual information of the TSRC syntax may be encoded based on the TSRC-enabled flag having the value of 0. The picture information may include the residual information.
[0281] Por exemplo, o aparelho de codificação pode determinar se realiza interpredição ou intrapredição no bloco atual, e pode determinar um modo de interpredição ou um modo de intrapredição específico com base no custo de RD. De acordo com o modo determinado, o aparelho de codificação pode derivar amostras de predição para o bloco atual, e pode derivar amostras residuais para o bloco atual subtraindo-se as amostras de predição a partir das amostras originais para o bloco atual.[0281] For example, the encoding apparatus may determine whether to perform interprediction or intraprediction on the current block, and may determine a specific interprediction mode or intraprediction mode based on the RD cost. According to the determined mode, the encoding apparatus may derive prediction samples for the current block, and may derive residual samples for the current block by subtracting the prediction samples from the original samples for the current block.
[0282] Então, por exemplo, o aparelho de codificação pode derivar os coeficientes de transformada do bloco atual com base nas amostras residuais. Por exemplo, o aparelho de codificação pode determinar se a transformada é aplicada para o bloco atual. Ou seja, o aparelho de codificação pode determinar se a transformada é aplicada para as amostras residuais do bloco atual. O aparelho de codificação pode determinar se a transformada é aplicada para o bloco atual em consideração da eficiência de codificação. Por exemplo, o aparelho de codificação pode determinar que a transformada não é aplicada para o bloco atual. O bloco ao qual a transformada não é aplicada pode ser representado como o bloco de omissão de transformada. Ou seja, por exemplo, o bloco atual pode ser o bloco de omissão de transformada.[0282] Thus, for example, the coding apparatus may derive the transform coefficients of the current block based on the residual samples. For example, the coding apparatus may determine whether the transform is applied to the current block. That is, the coding apparatus may determine whether the transform is applied to the residual samples of the current block. The coding apparatus may determine whether the transform is applied to the current block in consideration of coding efficiency. For example, the coding apparatus may determine that the transform is not applied to the current block. The block to which the transform is not applied may be represented as the transform-skipping block. That is, for example, the current block may be the transform-skipping block.
[0283] Se a transformada não for aplicada para o bloco atual, ou seja, se a transformada não for aplicada para as amostras residuais, o aparelho de codificação pode derivar as amostras residuais derivadas como os coeficientes de transformada atuais. Ademais, se a transformada for aplicada para o bloco atual, ou seja, se a transformada for aplicada para as amostras residuais, o aparelho de codificação pode derivar os coeficientes de transformada realizando-se a transformada para as amostras residuais. O bloco atual pode incluir uma pluralidade de sub-blocos ou grupos de coeficiente (CGs). Ademais, o tamanho do sub-bloco do bloco atual pode ser 4x4 ou 2x2. Ou seja, o sub-bloco do bloco atual pode maximamente incluir 16 coeficientes de transformada diferentes de zero ou 4 coeficientes de transformada diferentes de zero. No presente documento, o bloco atual pode ser o bloco de codificação (CB) ou o bloco de transformada (TB). Ademais, o coeficiente de transformada pode ser representado como o coeficiente residual.[0283] If the transform is not applied to the current block, i.e., if the transform is not applied to the residual samples, the coding apparatus may derive the derived residual samples as the current transform coefficients. Further, if the transform is applied to the current block, i.e., if the transform is applied to the residual samples, the coding apparatus may derive the transform coefficients by performing the transform to the residual samples. The current block may include a plurality of sub-blocks or coefficient groups (CGs). Further, the sub-block size of the current block may be 4x4 or 2x2. That is, the sub-block of the current block may maximally include 16 non-zero transform coefficients or 4 non-zero transform coefficients. In this document, the current block may be the coding block (CB) or the transform block (TB). Further, the transform coefficient may be represented as the residual coefficient.
[0284] Entretanto, o aparelho de codificação pode determinar se a quantização dependente é aplicada para o bloco atual. Por exemplo, se a quantização dependente for aplicada para o bloco atual, o aparelho de codificação pode derivar os coeficientes de transformada do bloco atual realizando-se o processo de quantização dependente para os coeficientes de transformada. Por exemplo, se a quantização dependente for aplicada para o bloco atual, o aparelho de codificação pode atualizar o estado (Qstate) para a quantização dependente com base no nível de coeficiente do coeficiente de transformada logo antes do coeficiente de transformada atual na ordem de varredura, pode derivar o nível de coeficiente do coeficiente de transformada atual com base no estado atualizado e os elementos de sintaxe para o coeficiente de transformada atual, e pode derivar o coeficiente de transformada atual quantizando- se o nível de coeficiente derivado. Por exemplo, o coeficiente de transformada atual pode ser quantizado com base no parâmetro de quantização para o nível reconstruído do coeficiente de transformada atual em um quantizador escalar para o estado atualizado.[0284] However, the encoding apparatus may determine whether dependent quantization is applied for the current block. For example, if dependent quantization is applied for the current block, the encoding apparatus may derive the transform coefficients of the current block by performing the dependent quantization process for the transform coefficients. For example, if dependent quantization is applied for the current block, the encoding apparatus may update the state (Qstate) for dependent quantization based on the coefficient level of the transform coefficient just before the current transform coefficient in the scan order, may derive the coefficient level of the current transform coefficient based on the updated state and the syntax elements for the current transform coefficient, and may derive the current transform coefficient by quantizing the derived coefficient level. For example, the current transform coefficient may be quantized based on the quantization parameter for the reconstructed level of the current transform coefficient in a scalar quantizer for the updated state.
[0285] Por exemplo, se a sintaxe de codificação residual para o bloco atual for determinada como a sintaxe de RRC, o aparelho de codificação pode codificar as informações residuais da sintaxe de RRC para o bloco atual. Por exemplo, as informações residuais da sintaxe de RRC podem incluir os elementos de sintaxe revelados na Tabela 2 conforme descrito anteriormente.[0285] For example, if the residual coding syntax for the current block is determined to be RRC syntax, the encoding apparatus may encode the residual RRC syntax information for the current block. For example, the residual RRC syntax information may include the syntax elements disclosed in Table 2 as described above.
[0286] Por exemplo, as informações residuais da sintaxe de RRC podem incluir os elementos de sintaxe para o coeficiente de transformada do bloco atual. No presente documento, o coeficiente de transformada pode ser representado como o coeficiente residual.[0286] For example, the residual RRC syntax information may include the syntax elements for the transform coefficient of the current block. In this document, the transform coefficient may be represented as the residual coefficient.
[0287] Por exemplo, os elementos de sintaxe podem incluir elementos de sintaxe, tais como last_sig_coeff_x_prefix, last_sig_coeff_y_prefix, last_sig_coeff_x_suffix, last_sig_coeff_y_suffix, sb_coded_flag, sig_coeff_flag, par_level_flag, abs_level_gtX_flag (por exemplo, abs_level_gtx_flag[n] [0] e/ou abs_level_gtx_flag[n][1]), abs_remainder, dec_abs_level e/ou coeff_sign_flag.[0287] For example, syntax elements may include syntax elements such as last_sig_coeff_x_prefix, last_sig_coeff_y_prefix, last_sig_coeff_x_suffix, last_sig_coeff_y_suffix, sb_coded_flag, sig_coeff_flag, par_level_flag, abs_level_gtX_flag (e.g., abs_level_gtx_flag[n][0] and/or abs_level_gtx_flag[n][1]), abs_remainder, dec_abs_level, and/or coeff_sign_flag.
[0288] De modo específico, por exemplo, os elementos de sintaxe podem incluir informações de posição que representa, a posição do último coeficiente de transformada diferente de zero em um arranjo de coeficiente residual do bloco atual. Ou seja, os elementos de sintaxe podem incluir as informações de posição que representam a posição do último coeficiente de transformada diferente de zero na ordem de varredura do bloco atual. As informações de posição podem incluir informações que representam um prefixo em uma posição de coluna do último coeficiente de transformada diferente de zero, informações que representam um prefixo em uma posição de fileira do último coeficiente de transformada diferente de zero, informações que representam um sufixo da posição de coluna do último coeficiente de transformada diferente de zero, e informações que representam um sufixo na posição de fileira do último coeficiente de transformada diferente de zero. Os elementos de sintaxe para as informações de posição podem ser last_sig_coeff_x_prefix, last_sig_coeff_y_prefix, last_sig_coeff_x_suffix e last_sig_coeff_y_suffix. Entretanto, o coeficiente de transformada diferente de zero pode ser denominado como um coeficiente significativo.[0288] Specifically, for example, the syntax elements may include position information representing the position of the last non-zero transform coefficient in a residual coefficient array of the current block. That is, the syntax elements may include position information representing the position of the last non-zero transform coefficient in the scan order of the current block. The position information may include information representing a prefix at a column position of the last non-zero transform coefficient, information representing a prefix at a row position of the last non-zero transform coefficient, information representing a suffix at the column position of the last non-zero transform coefficient, and information representing a suffix at the row position of the last non-zero transform coefficient. The syntax elements for the position information may be last_sig_coeff_x_prefix, last_sig_coeff_y_prefix, last_sig_coeff_x_suffix, and last_sig_coeff_y_suffix. However, the nonzero transform coefficient can be termed as a significant coefficient.
[0289] Ademais, por exemplo, os elementos de sintaxe podem incluir um sinalizador de sub-bloco codificado que representa se o sub-bloco atual do bloco atual inclui o coeficiente de transformada diferente de zero, um sinalizador de coeficiente significativo que representa se o coeficiente de transformada do bloco atual é o coeficiente de transformada diferente de zero, um primeiro sinalizador de nível de coeficiente para se o nível de coeficiente para o coeficiente de transformada for maior que um primeiro valor limiar, um sinalizador de nível de paridade para uma paridade do nível de coeficiente, e/ou um segundo sinalizador de nível de coeficiente para se o nível de coeficiente do coeficiente de transformada for maior que um segundo valor limiar. No presente documento, o sinalizador de sub-bloco codificado pode ser sb_coded_flag ou coded_sub_block_flag, o sinalizador de coeficiente significativo pode ser sig_coeff_flag, o primeiro sinalizador de nível de coeficiente pode ser abs_level_gt1_flag ou abs_level_gtx_flag, o sinalizador de nível de paridade pode ser par_level_flag, e o segundo sinalizador de nível de coeficiente pode ser abs_level_gt3_flag ou abs_level_gtx_flag.[0289] Further, for example, the syntax elements may include a coded subblock flag representing whether the current subblock of the current block includes the non-zero transform coefficient, a significant coefficient flag representing whether the transform coefficient of the current block is the non-zero transform coefficient, a first coefficient level flag for whether the coefficient level for the transform coefficient is greater than a first threshold value, a parity level flag for a parity of the coefficient level, and/or a second coefficient level flag for whether the coefficient level of the transform coefficient is greater than a second threshold value. In this document, the coded sub-block flag may be sb_coded_flag or coded_sub_block_flag, the significant coefficient flag may be sig_coeff_flag, the first coefficient level flag may be abs_level_gt1_flag or abs_level_gtx_flag, the parity level flag may be par_level_flag, and the second coefficient level flag may be abs_level_gt3_flag or abs_level_gtx_flag.
[0290] Ademais, por exemplo, os elementos de sintaxe podem incluir informações relacionadas ao valor de coeficiente para o valor de coeficiente de transformada do bloco atual. As informações relacionadas ao valor de coeficiente podem ser abs_remainder e/ou dec_abs_level.[0290] Further, for example, the syntax elements may include coefficient value related information for the transform coefficient value of the current block. The coefficient value related information may be abs_remainder and/or dec_abs_level.
[0291] Ademais, por exemplo, os elementos de sintaxe podem incluir um sinalizador de sinal que representa o sinal do coeficiente de transformada. O sinalizador de sinal pode ser coeff_sign_flag.[0291] Further, for example, the syntax elements may include a sign flag that represents the sign of the transform coefficient. The sign flag may be coeff_sign_flag.
[0292] Entretanto, por exemplo, quando a ocultação de dados de sinal for aplicada ao bloco atual, um sinalizador de sinal de um primeiro coeficiente de transformada significativo de um grupo de coeficiente atual (CG) no bloco atual pode não ser codificado e sinalizado. Ou seja, por exemplo, quando a ocultação de dados de sinal for aplicada ao bloco atual, os elementos de sintaxe podem não incluir um sinalizador de sinal que representa um sinal do primeiro coeficiente de transformada significativo. Entretanto, por exemplo, se a ocultação de dados de sinal for aplicada ao bloco atual pode ser derivada com base no sinalizador habilitado para ocultação de dados de sinal e/ou uma posição do primeiro coeficiente de transformada significativo e uma posição do último coeficiente de transformada significativo do CG atual. Por exemplo, quando um valor do sinalizador habilitado para ocultação de dados de sinal for 1, e um valor obtido subtraindo-se a posição do primeiro coeficiente de transformada significativo a partir da posição do último coeficiente de transformada significativo for maior que 3, (ou seja, quando um valor do sinalizador habilitado para ocultação de dados de sinal for 1, e um número de coeficientes de transformada significativos no CG atual for maior que 3), a ocultação de dados de sinal pode ser aplicada ao CG atual do bloco atual.[0292] However, for example, when signal data hiding is applied to the current block, a signal flag of a first significant transform coefficient of a current coefficient group (CG) in the current block may not be encoded and signaled. That is, for example, when signal data hiding is applied to the current block, the syntax elements may not include a signal flag representing a signal of the first significant transform coefficient. However, for example, whether signal data hiding is applied to the current block may be derived based on the signal data hiding enabled flag and/or a position of the first significant transform coefficient and a position of the last significant transform coefficient of the current CG. For example, when a value of the signal data hiding enabled flag is 1, and a value obtained by subtracting the position of the first significant transform coefficient from the position of the last significant transform coefficient is greater than 3, (i.e., when a value of the signal data hiding enabled flag is 1, and a number of significant transform coefficients in the current CG is greater than 3), signal data hiding may be applied to the current CG of the current block.
[0293] Ademais, por exemplo, se a sintaxe de codificação residual para o bloco atual for determinada como a sintaxe de TSRC, o aparelho de codificação pode codificar as informações residuais da sintaxe de TSRC para o bloco atual. Por exemplo, as informações residuais da sintaxe de TSRC podem incluir os elementos de sintaxe revelados na Tabela 3 conforme descrito anteriormente.[0293] Further, for example, if the residual encoding syntax for the current block is determined to be the TSRC syntax, the encoding apparatus may encode the residual TSRC syntax information for the current block. For example, the residual TSRC syntax information may include the syntax elements disclosed in Table 3 as described above.
[0294] Por exemplo, as informações residuais da sintaxe de TSRC podem incluir os elementos de sintaxe para o coeficiente de transformada do bloco atual. No presente documento, o coeficiente de transformada pode ser representado como o coeficiente residual.[0294] For example, the residual TSRC syntax information may include the syntax elements for the transform coefficient of the current block. In this document, the transform coefficient may be represented as the residual coefficient.
[0295] Por exemplo, os elementos de sintaxe podem incluir elementos de sintaxe codificados por contexto para o coeficiente de transformada e/ou elementos de sintaxe codificados por desvio. Os elementos de sintaxe podem incluir os elementos de sintaxe, como sig_coeff_flag, coeff_sign_flag, par_level_flag, abs_level_gtX_flag (por exemplo, abs_level_gtx_flag[n] [0], abs_level_gtx_flag[n][1], abs_level_gtx_flag[n][2], abs_level_gtx_flag[n][3], e/ou abs_level_gtx_flag[n][4]), abs_remainder, e/ou coeff_sign_flag.[0295] For example, the syntax elements may include context-encoded syntax elements for the transform coefficient and/or bias-encoded syntax elements. The syntax elements may include syntax elements such as sig_coeff_flag, coeff_sign_flag, par_level_flag, abs_level_gtX_flag (e.g., abs_level_gtx_flag[n][0], abs_level_gtx_flag[n][1], abs_level_gtx_flag[n][2], abs_level_gtx_flag[n][3], and/or abs_level_gtx_flag[n][4]), abs_remainder, and/or coeff_sign_flag.
[0296] Por exemplo, os elementos de sintaxe codificados por contexto para o coeficiente de transformada podem incluir um sinalizador de coeficiente significativo que representa se o coeficiente de transformada é o coeficiente de transformada diferente de zero, um sinalizador de sinal que representa o sinal para o coeficiente de transformada, um primeiro sinalizador de nível de coeficiente para se o nível de coeficiente para o coeficiente de transformada for maior que um primeiro valor limiar, e/ou um sinalizador de nível de paridade para a paridade do nível de transformada para o coeficiente de transformada. Ademais, por exemplo, os elementos de sintaxe codificados por contexto podem incluir um segundo sinalizador de nível de coeficiente para se o nível de coeficiente do coeficiente de transformada Ademais, por exemplo, os elementos de sintaxe codificados por contexto podem incluir um segundo sinalizador de nível de coeficiente para se o nível de coeficiente do coeficiente de transformada for maior que um segundo valor limiar, um terceiro sinalizador de nível de coeficiente para se o nível de coeficiente do coeficiente de transformada for maior que um terceiro valor limiar, um quarto sinalizador de nível de coeficiente para se o nível de coeficiente do coeficiente de transformada for maior que um quarto valor limiar, e/ou a quinto sinalizador de nível de coeficiente para se o nível de coeficiente do coeficiente de transformada for maior que um quinto valor limiar. No presente documento, o sinalizador de coeficiente significativo pode ser sig_coeff_flag, o sinalizador de sinal pode ser ceff_sign_flag, o primeiro sinalizador de nível de coeficiente pode ser abs_level_gt1_flag, e o sinalizador de nível de paridade pode ser par_level_flag. Ademais, o segundo sinalizador de nível de coeficiente pode ser abs_level_gt3_flag ou abs_level_gtx_flag, o terceiro sinalizador de nível de coeficiente pode ser abs_level_gt5_flag ou abs_level_gtx_flag, o quarto sinalizador de nível de coeficiente pode ser abs_level_gt7_flag ou abs_level_gtx_flag, e o quinto sinalizador de nível de coeficiente pode ser abs_level_gt9_flag ou abs_level_gtx_flag.[0296] For example, the context-encoded syntax elements for the transform coefficient may include a significant coefficient flag representing whether the transform coefficient is the nonzero transform coefficient, a sign flag representing the sign for the transform coefficient, a first coefficient level flag for whether the coefficient level for the transform coefficient is greater than a first threshold value, and/or a parity level flag for the parity of the transform level for the transform coefficient. Further, for example, the context-encoded syntax elements may include a second coefficient level flag for whether the coefficient level of the transform coefficient is greater than a second threshold value, a third coefficient level flag for whether the coefficient level of the transform coefficient is greater than a third threshold value, a fourth coefficient level flag for whether the coefficient level of the transform coefficient is greater than a fourth threshold value, and/or a fifth coefficient level flag for whether the coefficient level of the transform coefficient is greater than a fifth threshold value. In this document, the significant coefficient flag may be sig_coeff_flag, the sign flag may be ceff_sign_flag, the first coefficient level flag may be abs_level_gt1_flag, and the parity level flag may be par_level_flag. Furthermore, the second coefficient level flag can be abs_level_gt3_flag or abs_level_gtx_flag, the third coefficient level flag can be abs_level_gt5_flag or abs_level_gtx_flag, the fourth coefficient level flag can be abs_level_gt7_flag or abs_level_gtx_flag, and the fifth coefficient level flag can be abs_level_gt9_flag or abs_level_gtx_flag.
[0297] Ademais, por exemplo, os elementos de sintaxe codificados por desvio para o coeficiente de transformada podem incluir informações de nível de coeficiente para o valor do coeficiente de transformada (ou nível de coeficiente) e/ou um sinalizador de sinal que representa o sinal para o coeficiente de transformada. As informações de nível de coeficiente podem ser abs_remainder e/ou dec_abs_level, e o sinalizador de sinal pode ser ceff_sign_flag.[0297] Further, for example, the offset-encoded syntax elements for the transform coefficient may include coefficient level information for the transform coefficient value (or coefficient level) and/or a sign flag representing the sign for the transform coefficient. The coefficient level information may be abs_remainder and/or dec_abs_level, and the sign flag may be ceff_sign_flag.
[0298] O aparelho de codificação gera um fluxo de bits incluindo o sinalizador habilitado para ocultação de dados de sinal, o sinalizador habilitado para TSRC e as informações residuais (S830). Por exemplo, o aparelho de codificação pode emitir informações de imagem incluindo o sinalizador habilitado para ocultação de dados de sinal, o sinalizador habilitado para TSRC e as informações residuais como o fluxo de bits. O fluxo de bits pode incluir o sinalizador habilitado para ocultação de dados de sinal, o sinalizador habilitado para TSRC e as informações residuais. Da mesma forma, o fluxo de bits pode incluir, ainda, o sinalizador habilitado para quantização dependente e/ou o sinalizador habilitado para omissão de transformada.[0298] The encoding apparatus generates a bit stream including the signal data hiding enabled flag, the TSRC enabled flag, and the residual information (S830). For example, the encoding apparatus may output picture information including the signal data hiding enabled flag, the TSRC enabled flag, and the residual information as the bit stream. The bit stream may include the signal data hiding enabled flag, the TSRC enabled flag, and the residual information. Likewise, the bit stream may further include the dependent quantization enabled flag and/or the transform omission enabled flag.
[0299] Entretanto, as informações de imagem podem incluir informações relacionadas à predição para o bloco atual. As informações relacionadas à predição podem incluir informações de modo de predição para um modo de interpredição ou um modo de intrapredição realizado no bloco atual.[0299] However, the image information may include prediction-related information for the current block. The prediction-related information may include prediction mode information for an inter-prediction mode or an intra-prediction mode performed on the current block.
[0300] Entretanto, o fluxo de bits pode ser transmitido ao aparelho de decodificação através de uma rede ou um meio de armazenamento (digital). No presente documento, a rede pode incluir uma rede de radiodifusão e/ou uma rede de comunicação, e o meio de armazenamento digital pode incluir várias mídias de armazenamento, como USB, SD, CD, DVD, Blu-ray, HDD e SSD.[0300] However, the bit stream may be transmitted to the set-top box via a network or a (digital) storage medium. In this document, the network may include a broadcasting network and/or a communication network, and the digital storage medium may include various storage media, such as USB, SD, CD, DVD, Blu-ray, HDD, and SSD.
[0301] A Figura 9 ilustra brevemente um aparelho de codificação para realizar um método de codificação de imagem de acordo com a presente revelação. O método revelado na Figura 8 pode ser realizado pelo aparelho de codificação revelado na Figura 9. De modo específico, por exemplo, o codificador de entropia do aparelho de codificação da Figura 9 pode realizar S800 a S830 da Figura 8. Ademais, embora não ilustrado, um processo de derivar uma amostra de predição pode ser realizado pelo preditor do aparelho de codificação, um processo de uma amostra residual para o bloco atual com base na amostra original e na amostra de predição para o bloco atual pode ser realizado pelo subtrator do aparelho de codificação, e um processo de gerar uma amostra reconstruída e uma figuração reconstruída para o bloco atual com base na amostra residual e na amostra de predição para o bloco atual pode ser realizado pelo adicionador do aparelho de codificação.[0301] Figure 9 briefly illustrates a coding apparatus for performing an image coding method in accordance with the present disclosure. The method disclosed in Figure 8 may be performed by the coding apparatus disclosed in Figure 9. Specifically, for example, the entropy encoder of the coding apparatus of Figure 9 may perform S800 through S830 of Figure 8. Further, although not illustrated, a process of deriving a prediction sample may be performed by the predictor of the coding apparatus, a process of deriving a residual sample for the current block based on the original sample and the prediction sample for the current block may be performed by the subtractor of the coding apparatus, and a process of generating a reconstructed sample and a reconstructed picture for the current block based on the residual sample and the prediction sample for the current block may be performed by the adder of the coding apparatus.
[0302] A Figura 10 ilustra brevemente um método de decodificação de imagem realizado por um aparelho de decodificação de acordo com a presente revelação. O método revelado na Figura 10 pode ser realizado pelo aparelho de decodificação revelado na Figura 3. De modo específico, por exemplo, S1000 a S1020 da Figura 10 podem ser realizados pelo decodificador de entropia do aparelho de decodificação, S1030 da Figura 10 pode ser realizado pelo processador residual do aparelho de decodificação, e S1040 pode ser realizado pelo adicionador do aparelho de decodificação. Ademais, embora não ilustrado, um processo de receber informações de predição para o bloco atual pode ser realizado pelo decodificador de entropia do aparelho de decodificação, e um processo de derivar uma amostra de predição do bloco atual pode ser realizado pelo preditor do aparelho de decodificação.[0302] Figure 10 briefly illustrates a picture decoding method performed by a decoding apparatus in accordance with the present disclosure. The method disclosed in Figure 10 may be performed by the decoding apparatus disclosed in Figure 3. Specifically, for example, S1000 through S1020 of Figure 10 may be performed by the entropy decoder of the decoding apparatus, S1030 of Figure 10 may be performed by the residual processor of the decoding apparatus, and S1040 may be performed by the adder of the decoding apparatus. Furthermore, although not illustrated, a process of receiving prediction information for the current block may be performed by the entropy decoder of the decoding apparatus, and a process of deriving a prediction sample from the current block may be performed by the predictor of the decoding apparatus.
[0303] O aparelho de decodificação obtém um sinalizador habilitado para ocultação de dados de sinal (S1000). O aparelho de decodificação pode obter informações de imagem incluindo o sinalizador habilitado para ocultação de dados de sinal através de um fluxo de bits. As informações de imagem podem incluir o sinalizador habilitado para ocultação de dados de sinal. Por exemplo, o sinalizador habilitado para ocultação de dados de sinal pode ser um sinalizador para se a ocultação de dados de sinal está habilitada. Por exemplo, o sinalizador habilitado para ocultação de dados de sinal pode representar se a ocultação de dados de sinal está habilitada. Ou seja, por exemplo, o sinalizador habilitado para ocultação de dados de sinal pode representar se a ocultação de dados de sinal está habilitada para blocos de figurações em uma sequência. Por exemplo, o sinalizador habilitado para ocultação de dados de sinal pode representar se uma ocultação de dados de sinal usou um sinalizador que representa se a ocultação de dados de sinal é usada para uma fatia atual pode estar presente. Por exemplo, o sinalizador habilitado para ocultação de dados de sinal tendo um valor de 1 pode representar que a ocultação de dados de sinal está habilitada, e o sinalizador habilitado para ocultação de dados de sinal tendo um valor de 0 pode representar que a ocultação de dados de sinal não está habilitada. Por exemplo, o sinalizador habilitado para ocultação de dados de sinal tendo um valor de 1 pode representar que a ocultação de dados de sinal usou um sinalizador pode estar presente, e o sinalizador habilitado para ocultação de dados de sinal tendo um valor de 0 pode representar que a ocultação de dados de sinal usou um sinalizador pode não estar presente. Da mesma forma, por exemplo, o sinalizador habilitado para ocultação de dados de sinal pode ser sinalizado em uma sintaxe de SPS. Alternativamente, por exemplo, o sinalizador habilitado para ocultação de dados de sinal pode ser sinalizado em uma sintaxe de cabeçalho de figuração ou uma sintaxe de cabeçalho de fatia. O elemento de sintaxe do sinalizador habilitado para ocultação de dados de sinal pode ser sps_sign_data_hiding_enabled_flag.[0303] The decoding apparatus obtains a signal data hiding enabled flag (S1000). The decoding apparatus may obtain picture information including the signal data hiding enabled flag via a bit stream. The picture information may include the signal data hiding enabled flag. For example, the signal data hiding enabled flag may be a flag for whether signal data hiding is enabled. For example, the signal data hiding enabled flag may represent whether signal data hiding is enabled. That is, for example, the signal data hiding enabled flag may represent whether signal data hiding is enabled for blocks of pictures in a sequence. For example, the signal data hiding enabled flag may represent whether a signal data hiding has been used for a current slice. A flag representing whether signal data hiding is used for a current slice may be present. For example, the signal data hiding enabled flag having a value of 1 may represent that signal data hiding is enabled, and the signal data hiding enabled flag having a value of 0 may represent that signal data hiding is not enabled. For example, the signal data hiding enabled flag having a value of 1 may represent that signal data hiding used a flag may be present, and the signal data hiding enabled flag having a value of 0 may represent that signal data hiding used a flag may not be present. Similarly, for example, the signal data hiding enabled flag may be flagged in an SPS syntax. Alternatively, for example, the signal data hiding enabled flag may be flagged in a figuration header syntax or a slice header syntax. The syntax element for the signal data hiding enabled flag may be sps_sign_data_hiding_enabled_flag.
[0304] O aparelho de decodificação obtém um sinalizador habilitado para codificação residual de omissão de transformada (TSRC) com base no sinalizador habilitado para ocultação de dados de sinal (S1010). As informações de imagem podem incluir o sinalizador habilitado para TSRC.[0304] The decoding apparatus obtains a transform omission residual coding (TSRC) enabled flag based on the signal data hiding enabled flag (S1010). The picture information may include the TSRC enabled flag.
[0305] Por exemplo, o aparelho de decodificação pode obter o sinalizador habilitado para TSRC com base no sinalizador habilitado para ocultação de dados de sinal. Por exemplo, o sinalizador habilitado para TSRC pode ser obtido com base no sinalizador habilitado para ocultação de dados de sinal tendo um valor de 0. Ou seja, por exemplo, quando um valor do sinalizador habilitado para ocultação de dados de sinal for 0 (ou seja, o sinalizador habilitado para ocultação de dados de sinal representar que a ocultação de dados de sinal não está habilitada), o sinalizador habilitado para TSRC pode ser obtido. Em outras palavras, por exemplo, quando um valor do sinalizador habilitado para ocultação de dados de sinal for 0 (ou seja, o sinalizador habilitado para ocultação de dados de sinal representar que a ocultação de dados de sinal não está habilitada), o sinalizador habilitado para TSRC pode ser sinalizado. Da mesma forma, por exemplo, quando o valor do sinalizador habilitado para ocultação de dados de sinal for 1, o sinalizador habilitado para TSRC pode não ser obtido, e um valor do sinalizador habilitado para TSRC pode ser derivado como 0. Ou seja, por exemplo, quando o valor do sinalizador habilitado para ocultação de dados de sinal for 1, o sinalizador habilitado para TSRC pode não ser sinalizado, e um valor do sinalizador habilitado para TSRC pode ser derivado como 0.[0305] For example, the decoding apparatus may obtain the TSRC-enabled flag based on the signal data concealment-enabled flag. For example, the TSRC-enabled flag may be obtained based on the signal data concealment-enabled flag having a value of 0. That is, for example, when a value of the signal data concealment-enabled flag is 0 (i.e., the signal data concealment-enabled flag represents that signal data concealment is not enabled), the TSRC-enabled flag may be obtained. In other words, for example, when a value of the signal data concealment-enabled flag is 0 (i.e., the signal data concealment-enabled flag represents that signal data concealment is not enabled), the TSRC-enabled flag may be signaled. Similarly, for example, when the value of the signal data hiding enabled flag is 1, the TSRC enabled flag may not be obtained, and a value of the TSRC enabled flag may be derived as 0. That is, for example, when the value of the signal data hiding enabled flag is 1, the TSRC enabled flag may not be signaled, and a value of the TSRC enabled flag may be derived as 0.
[0306] No presente documento, por exemplo, o sinalizador habilitado para TSRC pode ser um sinalizador para se a TSRC está habilitada. Ou seja, por exemplo, o sinalizador habilitado para TSRC pode ser um sinalizador que representa se a TSRC está habilitada para blocos em uma fatia. Por exemplo, o sinalizador habilitado para TSRC tendo um valor de 1 pode representar que a TSRC não está habilitada, e o sinalizador habilitado para TSRC tendo um valor de 0 pode representar que a TSRC está habilitada. Da mesma forma, por exemplo, o sinalizador habilitado para TSRC pode ser sinalizado em uma sintaxe de cabeçalho de fatia. O elemento de sintaxe do sinalizador habilitado para TSRC pode ser sh_ts_residual_coding_disabled_flag descrito anteriormente.[0306] In this document, for example, the TSRC-enabled flag may be a flag for whether TSRC is enabled. That is, for example, the TSRC-enabled flag may be a flag that represents whether TSRC is enabled for blocks in a slice. For example, the TSRC-enabled flag having a value of 1 may represent that TSRC is not enabled, and the TSRC-enabled flag having a value of 0 may represent that TSRC is enabled. Likewise, for example, the TSRC-enabled flag may be flagged in a slice header syntax. The TSRC-enabled flag syntax element may be sh_ts_residual_coding_disabled_flag described previously.
[0307] Entretanto, por exemplo, o aparelho de decodificação pode obter um sinalizador habilitado para quantização dependente. O aparelho de decodificação pode obter informações de imagem incluindo o sinalizador habilitado para quantização dependente através de um fluxo de bits. As informações de imagem podem incluir o sinalizador habilitado para quantização dependente. Por exemplo, o sinalizador habilitado para quantização dependente pode ser um sinalizador para se a quantização dependente está habilitada. Por exemplo, o sinalizador habilitado para quantização dependente pode representar se a quantização dependente está habilitada. Ou seja, por exemplo, o sinalizador habilitado para quantização dependente pode representar se a quantização dependente está habilitada para blocos de figurações em uma sequência. Por exemplo, o sinalizador habilitado para quantização dependente pode representar se uma quantização dependente usou um sinalizador que representa se a quantização dependente é usada para uma fatia atual pode estar presente. Por exemplo, o sinalizador habilitado para quantização dependente tendo um valor de 1 pode representar que a quantização dependente está habilitada, e o sinalizador habilitado para quantização dependente tendo um valor de 0 pode representar que a quantização dependente não está habilitada. Da mesma forma, por exemplo, o sinalizador habilitado para quantização dependente pode ser sinalizado em uma sintaxe de SPS ou uma sintaxe de cabeçalho de fatia. O elemento de sintaxe do sinalizador habilitado para quantização dependente pode ser sps_dep_quant_enabled_flag descrito anteriormente. sps_dep_quant_enabled_flag pode ser referido como sh_dep_quant_enabled_flag, sh_dep_quant_used_flag ou ph_dep_quant_enabled_flag.[0307] However, for example, the decoding apparatus may obtain a dependent quantization enabled flag. The decoding apparatus may obtain picture information including the dependent quantization enabled flag via a bit stream. The picture information may include the dependent quantization enabled flag. For example, the dependent quantization enabled flag may be a flag for whether dependent quantization is enabled. For example, the dependent quantization enabled flag may represent whether dependent quantization is enabled. That is, for example, the dependent quantization enabled flag may represent whether dependent quantization is enabled for blocks of pictures in a sequence. For example, the dependent quantization enabled flag may represent whether dependent quantization has been used for a current slice. A flag representing whether dependent quantization is used for a current slice may be present. For example, the dependent quantization-enabled flag having a value of 1 might represent that dependent quantization is enabled, and the dependent quantization-enabled flag having a value of 0 might represent that dependent quantization is not enabled. Similarly, for example, the dependent quantization-enabled flag might be flagged in an SPS syntax or a slice header syntax. The dependent quantization-enabled flag syntax element might be sps_dep_quant_enabled_flag described earlier. sps_dep_quant_enabled_flag might be referred to as sh_dep_quant_enabled_flag, sh_dep_quant_used_flag, or ph_dep_quant_enabled_flag.
[0308] Ademais, por exemplo, o aparelho de decodificação pode obter um sinalizador habilitado para omissão de transformada. O aparelho de decodificação pode informações de imagem incluindo o sinalizador habilitado para omissão de transformada através do fluxo de bits. Informações de imagem podem incluir o sinalizador habilitado para omissão de transformada. No presente documento, o bloco atual pode ser um bloco de codificação (CB) ou um bloco de transformada (TB). Por exemplo, o sinalizador habilitado para omissão de transformada pode ser um sinalizador para se a omissão de transformada está habilitada. Por exemplo, o sinalizador habilitado para omissão de transformada pode representar se a omissão de transformada está habilitada. Ou seja, por exemplo, o sinalizador habilitado para omissão de transformada pode representar se a omissão de transformada está habilitada para os blocos das figurações na sequência. Por exemplo, o sinalizador habilitado para omissão de transformada pode representar se o sinalizador de omissão de transformada pode estar presente. Por exemplo, o sinalizador habilitado para omissão de transformada tendo o valor de 1 pode representar que a omissão de transformada está habilitada, e o sinalizador habilitado para omissão de transformada tendo o valor de 0 pode representar que a omissão de transformada não está habilitada. Ou seja, por exemplo, o sinalizador habilitado para omissão de transformada tendo o valor de 1 pode representar que o sinalizador de omissão de transformada pode estar presente, e o sinalizador habilitado para omissão de transformada tendo o valor de 0 pode representar que o sinalizador de omissão de transformada não está presente. Ademais, por exemplo, o sinalizador habilitado para omissão de transformada pode ser sinalizado a uma sintaxe de conjunto de parâmetros de sequência (SPS). O elemento de sintaxe do sinalizador habilitado para omissão de transformada pode ser sps_transform_skip_enabled_flag descrito anteriormente.[0308] Further, for example, the decoding apparatus may obtain a transform omit enabled flag. The decoding apparatus may pass picture information including the transform omit enabled flag through the bit stream. Picture information may include the transform omit enabled flag. In this document, the current block may be a coding block (CB) or a transform block (TB). For example, the transform omit enabled flag may be a flag for whether transform omit is enabled. For example, the transform omit enabled flag may represent whether transform omit is enabled. That is, for example, the transform omit enabled flag may represent whether transform omit is enabled for blocks of the pictures in the sequence. For example, the transform omit enabled flag may represent whether the transform omit flag may be present. For example, the transform-skip-enabled flag having a value of 1 can represent that transform skipping is enabled, and the transform-skip-enabled flag having a value of 0 can represent that transform skipping is not enabled. That is, for example, the transform-skip-enabled flag having a value of 1 can represent that the transform-skip flag can be present, and the transform-skip-enabled flag having a value of 0 can represent that the transform-skip-enabled flag is not present. Furthermore, for example, the transform-skip-enabled flag can be flagged to a sequence parameter set (SPS) syntax. The syntax element for the transform-skip-enabled flag can be sps_transform_skip_enabled_flag described previously.
[0309] Ademais, por exemplo, o sinalizador habilitado para TSRC pode ser obtido com base no sinalizador habilitado para ocultação de dados de sinal, no sinalizador habilitado para quantização dependente e/ou no sinalizador habilitado para omissão de transformada. Por exemplo, o sinalizador habilitado para TSRC pode ser obtido com base no sinalizador habilitado para ocultação de dados de sinal tendo um valor de 0, no sinalizador habilitado para quantização dependente tendo um valor de 0 e no sinalizador habilitado para omissão de transformada tendo um valor de 1. Ou seja, por exemplo, quando um valor do sinalizador habilitado para ocultação de dados de sinal for 0 (ou seja, o sinalizador habilitado para ocultação de dados de sinal representar que uma ocultação de dados de sinal não está habilitada), um valor do sinalizador habilitado para quantização dependente for 0 (ou seja, o sinalizador habilitado para quantização dependente representar que uma quantização dependente não está habilitado), e um valor do sinalizador habilitado para omissão de transformada for 1 (ou seja, o sinalizador habilitado para omissão de transformada representar que uma omissão de transformada está habilitada), o sinalizador habilitado para TSRC pode ser obtido (ou sinalizado). Da mesma forma, por exemplo, quando o valor do sinalizador habilitado para quantização dependente for 1, o sinalizador habilitado para TSRC pode não ser obtido, e o valor de sinalizador habilitado para TSRC pode ser derivado como 0. Ou seja, por exemplo, quando o valor do sinalizador habilitado para quantização dependente for 1, o sinalizador habilitado para TSRC pode não ser sinalizado, e o valor de sinalizador habilitado para TSRC pode ser derivado como 0. Da mesma forma, por exemplo, quando o valor do sinalizador habilitado para omissão de transformada for 0, o sinalizador habilitado para TSRC pode não ser obtido, e o valor de sinalizador habilitado para TSRC pode ser derivado como 0. Ou seja, por exemplo, quando o valor do sinalizador habilitado para omissão de transformada for 0, o sinalizador habilitado para TSRC pode não ser sinalizado, e o valor de sinalizador habilitado para TSRC pode ser derivado como 0.[0309] Further, for example, the TSRC-enabled flag may be obtained based on the signal data hiding-enabled flag, the dependent quantization-enabled flag, and/or the transform omission-enabled flag. For example, the TSRC-enabled flag can be obtained based on the signal data hiding-enabled flag having a value of 0, the dependent quantization-enabled flag having a value of 0, and the transform omission-enabled flag having a value of 1. That is, for example, when a value of the signal data hiding-enabled flag is 0 (i.e., the signal data hiding-enabled flag represents that a signal data hiding is not enabled), a value of the dependent quantization-enabled flag is 0 (i.e., the dependent quantization-enabled flag represents that a dependent quantization is not enabled), and a value of the transform omission-enabled flag is 1 (i.e., the transform omission-enabled flag represents that a transform omission is enabled), the TSRC-enabled flag can be obtained (or flagged). Similarly, for example, when the value of the dependent quantization-enabled flag is 1, the TSRC-enabled flag may not be obtained, and the TSRC-enabled flag value may be derived as 0. That is, for example, when the value of the dependent quantization-enabled flag is 1, the TSRC-enabled flag may not be signaled, and the TSRC-enabled flag value may be derived as 0. Similarly, for example, when the value of the transform-skip-enabled flag is 0, the TSRC-enabled flag may not be obtained, and the TSRC-enabled flag value may be derived as 0. That is, for example, when the value of the transform-skip-enabled flag is 0, the TSRC-enabled flag may not be signaled, and the TSRC-enabled flag value may be derived as 0.
[0310] O aparelho de decodificação obtém informações residuais para um bloco atual com base no sinalizador habilitado para TSRC (S1020). A decodificação pode obter informações residuais para um bloco atual com base no sinalizador habilitado para TSRC.[0310] The decoding apparatus obtains residual information for a current block based on the TSRC enabled flag (S1020). Decoding may obtain residual information for a current block based on the TSRC enabled flag.
[0311] Por exemplo, o aparelho de decodificação pode determinar uma sintaxe de codificação residual para o bloco atual com base no sinalizador habilitado para TSRC. Por exemplo, o aparelho de decodificação pode determinar a sintaxe de codificação residual para o bloco atual como uma dentre uma sintaxe de codificação residual regular (RRC) e uma sintaxe de codificação residual de omissão de transformada (TSRC) com base no sinalizador habilitado para TSRC. A sintaxe de RRC pode representar uma sintaxe de acordo com RRC, e a sintaxe de TSRC pode representar uma sintaxe de acordo com TSRC.[0311] For example, the decoding apparatus may determine a residual coding syntax for the current block based on the TSRC-enabled flag. For example, the decoding apparatus may determine the residual coding syntax for the current block as one of a regular residual coding (RRC) syntax and a transform omission residual coding (TSRC) syntax based on the TSRC-enabled flag. The RRC syntax may represent a syntax in accordance with RRC, and the TSRC syntax may represent a syntax in accordance with TSRC.
[0312] Por exemplo, com base no sinalizador habilitado para TSRC tendo o valor de 1, a sintaxe de codificação residual para o bloco atual pode ser determinada como a sintaxe de codificação residual regular (RRC). Nesse caso, por exemplo, um sinalizador de omissão de transformada para se omissão de transformada é aplicada ao bloco atual pode ser obtido com base no sinalizador habilitado para omissão de transformada tendo um valor de 1, e o valor de sinalizador de omissão de transformada pode ser 1. Por exemplo, as informações de imagem podem incluir o sinalizador de omissão de transformada para o bloco atual. O sinalizador de omissão de transformada pode representar se o bloco atual é o bloco de omissão de transformada. Ou seja, o sinalizador de omissão de transformada pode representar se a transformada foi aplicada aos coeficientes de transformada do bloco atual. O elemento de sintaxe que representa o sinalizador de omissão de transformada pode ser transform_skip_flag conforme descrito anteriormente. Por exemplo, se o valor do sinalizador de omissão de transformada for 1, o sinalizador de omissão de transformada pode representar que a transformada não foi aplicada ao bloco atual (isto é, omissão de transformada), enquanto se o valor do sinalizador de omissão de transformada for 0, o sinalizador de omissão de transformada pode representar que a transformada foi aplicada ao bloco atual. Por exemplo, se o bloco atual for o bloco de omissão de transformada, o valor do sinalizador de omissão de transformada para o bloco atual pode ser 1.[0312] For example, based on the TSRC enabled flag having a value of 1, the residual coding syntax for the current block may be determined as the regular residual coding (RRC) syntax. In this case, for example, a transform skip flag for whether transform skip is applied to the current block may be obtained based on the transform skip enabled flag having a value of 1, and the transform skip flag value may be 1. For example, the image information may include the transform skip flag for the current block. The transform skip flag may represent whether the current block is the transform skip block. That is, the transform skip flag may represent whether the transform has been applied to the transform coefficients of the current block. The syntax element representing the transform skip flag may be transform_skip_flag as previously described. For example, if the transform omit flag value is 1, the transform omit flag may represent that the transform has not been applied to the current block (i.e., transform omit), whereas if the transform omit flag value is 0, the transform omit flag may represent that the transform has been applied to the current block. For example, if the current block is the transform omit block, the transform omit flag value for the current block may be 1.
[0313] Ademais, por exemplo, com base no sinalizador habilitado para TSRC tendo o valor de 0, a sintaxe de codificação residual para o bloco atual pode ser determinada como a sintaxe de codificação residual de omissão de transformada (TSRC). Ademais, por exemplo, o sinalizador de omissão de transformada para se uma omissão de transformada é aplicada ao bloco atual pode ser obtido, e com base no sinalizador de omissão de transformada tendo o valor de 1 e no sinalizador habilitado para TSRC tendo o valor de 0, a sintaxe de codificação residual para o bloco atual pode ser determinada como a sintaxe de codificação residual de omissão de transformada (TSRC). Ademais, por exemplo, o sinalizador de omissão de transformada para se uma omissão de transformada é aplicada ao bloco atual pode ser obtido, e com base no sinalizador de omissão de transformada tendo o valor de 0 e no sinalizador habilitado para TSRC tendo o valor de 0, a sintaxe de codificação residual para o bloco atual pode ser determinada como a sintaxe de codificação residual regular (RRC).[0313] Further, for example, based on the TSRC-enabled flag having the value of 0, the residual coding syntax for the current block may be determined as the transform omission residual coding (TSRC) syntax. Further, for example, the transform omission flag for whether a transform omission is applied to the current block may be obtained, and based on the transform omission flag having the value of 1 and the TSRC-enabled flag having the value of 0, the residual coding syntax for the current block may be determined as the transform omission residual coding (TSRC) syntax. Further, for example, the transform omit flag for whether a transform omit is applied to the current block can be obtained, and based on the transform omit flag having the value of 0 and the TSRC enabled flag having the value of 0, the residual coding syntax for the current block can be determined as the regular residual coding (RRC) syntax.
[0314] Posteriormente, por exemplo, o aparelho de decodificação pode obter as informações residuais da sintaxe de codificação residual determinada para o bloco atual. Por exemplo, informações residuais da sintaxe de codificação residual regular (RRC) podem ser obtidas com base no sinalizador habilitado para TSRC tendo o valor de 1, e informações residuais da sintaxe de TSRC podem ser obtidas com base no sinalizador habilitado para TSRC tendo o valor de 0. As informações de imagem podem incluir as informações residuais.[0314] Subsequently, for example, the decoding apparatus may obtain residual information of the residual coding syntax determined for the current block. For example, residual information of the regular residual coding (RRC) syntax may be obtained based on the TSRC-enabled flag having the value of 1, and residual information of the TSRC syntax may be obtained based on the TSRC-enabled flag having the value of 0. The picture information may include the residual information.
[0315] Por exemplo, se a sintaxe de codificação residual para o bloco atual for determinada como a sintaxe de RRC, o aparelho de decodificação pode obter as informações residuais da sintaxe de RRC para o bloco atual. Por exemplo, as informações residuais da sintaxe de RRC podem incluir os elementos de sintaxe revelados na Tabela 2 conforme descrito anteriormente.[0315] For example, if the residual coding syntax for the current block is determined to be RRC syntax, the decoding apparatus may obtain the residual RRC syntax information for the current block. For example, the residual RRC syntax information may include the syntax elements disclosed in Table 2 as described above.
[0316] Por exemplo, as informações residuais da sintaxe de RRC podem incluir os elementos de sintaxe para o coeficiente de transformada do bloco atual. No presente documento, o coeficiente de transformada pode ser representado como o coeficiente residual.[0316] For example, the residual RRC syntax information may include the syntax elements for the transform coefficient of the current block. In this document, the transform coefficient may be represented as the residual coefficient.
[0317] Por exemplo, os elementos de sintaxe podem incluir elementos de sintaxe, como last_sig_coeff_x_prefix, last_sig_coeff_y_prefix, last_sig_coeff_x_suffix, last_sig_coeff_y_suffix, sb_coded_flag, sig_coeff_flag, par_level_flag, abs_level_gtX_flag (por exemplo, abs_level_gtx_flag[n] [0] e/ou abs_level_gtx_flag[n][1]), abs_remainder, dec_abs_level, e/ou coeff_sign_flag.[0317] For example, syntax elements may include syntax elements such as last_sig_coeff_x_prefix, last_sig_coeff_y_prefix, last_sig_coeff_x_suffix, last_sig_coeff_y_suffix, sb_coded_flag, sig_coeff_flag, par_level_flag, abs_level_gtX_flag (e.g., abs_level_gtx_flag[n][0] and/or abs_level_gtx_flag[n][1]), abs_remainder, dec_abs_level, and/or coeff_sign_flag.
[0318] De modo específico, por exemplo, os elementos de sintaxe podem incluir informações de posição que representam a posição do último coeficiente de transformada diferente de zero em um arranjo de coeficientes residuais do bloco atual. Ou seja, os elementos de sintaxe podem incluir as informações de posição que representam a posição do último coeficiente de transformada diferente de zero na ordem de varredura do bloco atual. As informações de posição podem incluir informações que representam um prefixo em uma posição de coluna do último coeficiente de transformada diferente de zero, informações que representam um prefixo em uma posição de fileira do último coeficiente de transformada diferente de zero, informações que representam um sufixo da posição de coluna do último coeficiente de transformada diferente de zero, e informações que representam um sufixo na posição de fileira do último coeficiente de transformada diferente de zero. Os elementos de sintaxe para as informações de posição podem ser last_sig_coeff_x_prefix, last_sig_coeff_y_prefix, last_sig_coeff_x_suffix e last_sig_coeff_y_suffix. Entretanto, o coeficiente de transformada diferente de zero pode ser denominado como um coeficiente significativo.[0318] Specifically, for example, the syntax elements may include position information representing the position of the last non-zero transform coefficient in an array of residual coefficients of the current block. That is, the syntax elements may include position information representing the position of the last non-zero transform coefficient in the scan order of the current block. The position information may include information representing a prefix at a column position of the last non-zero transform coefficient, information representing a prefix at a row position of the last non-zero transform coefficient, information representing a suffix at the column position of the last non-zero transform coefficient, and information representing a suffix at the row position of the last non-zero transform coefficient. The syntax elements for the position information may be last_sig_coeff_x_prefix, last_sig_coeff_y_prefix, last_sig_coeff_x_suffix, and last_sig_coeff_y_suffix. However, the nonzero transform coefficient can be termed as a significant coefficient.
[0319] Ademais, por exemplo, os elementos de sintaxe podem incluir um sinalizador de sub-bloco codificado que representa se o sub-bloco atual do bloco atual inclui o coeficiente de transformada diferente de zero, um sinalizador de coeficiente significativo que representa se o coeficiente de transformada do bloco atual é o coeficiente de transformada diferente de zero, um primeiro sinalizador de nível de coeficiente para se o nível de coeficiente para o coeficiente de transformada é maior que um primeiro valor limiar, um sinalizador de nível de paridade para uma paridade do nível de coeficiente, e/ou um segundo sinalizador de nível de coeficiente para se o nível de coeficiente do coeficiente de transformada é maior que um segundo valor limiar. No presente documento, o sinalizador de sub-bloco codificado pode ser sb_coded_flag ou coded_sub_block_flag, o sinalizador de coeficiente significativo pode ser sig_coeff_flag, o primeiro sinalizador de nível de coeficiente pode ser abs_level_gt1_flag ou abs_level_gtx_flag, o sinalizador de nível de paridade pode ser par_level_flag, e o segundo sinalizador de nível de coeficiente pode ser abs_level_gt3_flag ou abs_level_gtx_flag.[0319] Further, for example, the syntax elements may include a coded subblock flag representing whether the current subblock of the current block includes the non-zero transform coefficient, a significant coefficient flag representing whether the transform coefficient of the current block is the non-zero transform coefficient, a first coefficient level flag for whether the coefficient level for the transform coefficient is greater than a first threshold value, a parity level flag for a parity of the coefficient level, and/or a second coefficient level flag for whether the coefficient level of the transform coefficient is greater than a second threshold value. In this document, the coded sub-block flag may be sb_coded_flag or coded_sub_block_flag, the significant coefficient flag may be sig_coeff_flag, the first coefficient level flag may be abs_level_gt1_flag or abs_level_gtx_flag, the parity level flag may be par_level_flag, and the second coefficient level flag may be abs_level_gt3_flag or abs_level_gtx_flag.
[0320] Ademais, por exemplo, os elementos de sintaxe podem incluir informações relacionadas ao valor de coeficiente para o valor de coeficiente de transformada do bloco atual. As informações relacionadas ao valor de coeficiente podem ser abs_remainder e/ou dec_abs_level.[0320] Further, for example, the syntax elements may include coefficient value related information for the transform coefficient value of the current block. The coefficient value related information may be abs_remainder and/or dec_abs_level.
[0321] Ademais, por exemplo, os elementos de sintaxe podem incluir um sinalizador de sinal que representa o sinal do coeficiente de transformada. O sinalizador de sinal pode ser coeff_sign_flag.[0321] Further, for example, the syntax elements may include a sign flag that represents the sign of the transform coefficient. The sign flag may be coeff_sign_flag.
[0322] Entretanto, por exemplo, quando a ocultação de dados de sinal for aplicada ao bloco atual, um sinalizador de sinal de um primeiro coeficiente de transformada significativo de um grupo de coeficiente atual (CG) no bloco atual pode não ser sinalizado. Ou seja, por exemplo, quando a ocultação de dados de sinal for aplicada ao bloco atual, os elementos de sintaxe podem não incluir um sinalizador de sinal que representa um sinal do primeiro coeficiente de transformada significativo. Entretanto, por exemplo, se a ocultação de dados de sinal for aplicada ao bloco atual pode ser derivada com base no sinalizador habilitado para ocultação de dados de sinal e/ou uma posição do primeiro coeficiente de transformada significativo e uma posição do último coeficiente de transformada significativo do CG atual. Por exemplo, quando um valor do sinalizador habilitado para ocultação de dados de sinal for 1, e um valor obtido subtraindo-se a posição do primeiro coeficiente de transformada significativo da posição do último coeficiente de transformada significativo for maior que 3, (ou seja, quando um valor do sinalizador habilitado para ocultação de dados de sinal for 1, e um número de coeficientes de transformada significativos no CG atual for maior que 3), a ocultação de dados de sinal pode ser aplicada ao CG atual do bloco atual.[0322] However, for example, when signal data hiding is applied to the current block, a signal flag of a first significant transform coefficient of a current coefficient group (CG) in the current block may not be signaled. That is, for example, when signal data hiding is applied to the current block, the syntax elements may not include a signal flag representing a signal of the first significant transform coefficient. However, for example, whether signal data hiding is applied to the current block may be derived based on the signal data hiding enabled flag and/or a position of the first significant transform coefficient and a position of the last significant transform coefficient of the current CG. For example, when a value of the signal data hiding enabled flag is 1, and a value obtained by subtracting the position of the first significant transform coefficient from the position of the last significant transform coefficient is greater than 3, (i.e., when a value of the signal data hiding enabled flag is 1, and a number of significant transform coefficients in the current CG is greater than 3), signal data hiding may be applied to the current CG of the current block.
[0323] Ademais, por exemplo, se a sintaxe de codificação residual para o bloco atual for determinada como a sintaxe de TSRC, o aparelho de decodificação pode obter as informações residuais da sintaxe de TSRC para o bloco atual. Por exemplo, as informações residuais da sintaxe de TSRC podem incluir os elementos de sintaxe revelados na Tabela 3 conforme descrito anteriormente.[0323] Further, for example, if the residual coding syntax for the current block is determined to be the TSRC syntax, the decoding apparatus may obtain the residual TSRC syntax information for the current block. For example, the residual TSRC syntax information may include the syntax elements disclosed in Table 3 as described above.
[0324] Por exemplo, as informações residuais da sintaxe de TSRC podem incluir os elementos de sintaxe para o coeficiente de transformada do bloco atual. No presente documento, o coeficiente de transformada pode ser representado como o coeficiente residual.[0324] For example, the residual TSRC syntax information may include the syntax elements for the transform coefficient of the current block. In this document, the transform coefficient may be represented as the residual coefficient.
[0325] Por exemplo, os elementos de sintaxe podem incluir elementos de sintaxe codificados por contexto para o coeficiente de transformada e/ou elementos de sintaxe codificados por desvio. Os elementos de sintaxe podem incluir os elementos de sintaxe, como sig_coeff_flag, coeff_sign_flag, par_level_flag, abs_level_gtX_flag (por exemplo, abs_level_gtx_flag[n] [0], abs_level_gtx_flag[n][1], abs_level_gtx_flag[n][2], abs_level_gtx_flag[n][3], e/ou abs_level_gtx_flag[n][4]), abs_remainder, e/ou coeff_sign_flag.[0325] For example, the syntax elements may include context-encoded syntax elements for the transform coefficient and/or bias-encoded syntax elements. The syntax elements may include syntax elements such as sig_coeff_flag, coeff_sign_flag, par_level_flag, abs_level_gtX_flag (e.g., abs_level_gtx_flag[n][0], abs_level_gtx_flag[n][1], abs_level_gtx_flag[n][2], abs_level_gtx_flag[n][3], and/or abs_level_gtx_flag[n][4]), abs_remainder, and/or coeff_sign_flag.
[0326] Por exemplo, os elementos de sintaxe codificados por contexto para o coeficiente de transformada podem incluir um sinalizador de coeficiente significativo que representa se o coeficiente de transformada é o coeficiente de transformada diferente de zero, um sinalizador de sinal que representa o sinal para o coeficiente de transformada, um primeiro sinalizador de nível de coeficiente para se o nível de coeficiente para o coeficiente de transformada é maior que um primeiro valor limiar, e/ou um sinalizador de nível de paridade para a paridade do nível de transformada para o coeficiente de transformada. Ademais, por exemplo, os elementos de sintaxe codificados por contexto podem incluir um segundo sinalizador de nível de coeficiente para se o nível de coeficiente do coeficiente de transformada Ademais, por exemplo, os elementos de sintaxe codificados por contexto podem incluir um segundo sinalizador de nível de coeficiente para se o nível de coeficiente do coeficiente de transformada for maior que um segundo valor limiar, um terceiro sinalizador de nível de coeficiente para se o nível de coeficiente do coeficiente de transformada for maior que um terceiro valor limiar, um quarto sinalizador de nível de coeficiente para se o nível de coeficiente do coeficiente de transformada for maior que um quarto valor limiar, e/ou um quinto sinalizador de nível de coeficiente para se o nível de coeficiente do coeficiente de transformada for maior que um quinto valor limiar. No presente documento, o sinalizador de coeficiente significativo pode ser sig_coeff_flag, o sinalizador de sinal pode ser ceff_sign_flag, o primeiro sinalizador de nível de coeficiente pode ser abs_level_gt1_flag, e o sinalizador de nível de paridade pode ser par_level_flag. Ademais, o segundo sinalizador de nível de coeficiente pode ser abs_level_gt3_flag ou abs_level_gtx_flag, o terceiro sinalizador de nível de coeficiente pode ser abs_level_gt5_flag ou abs_level_gtx_flag, o quarto sinalizador de nível de coeficiente pode ser abs_level_gt7_flag ou abs_level_gtx_flag, e o quinto sinalizador de nível de coeficiente pode ser abs_level_gt9_flag ou abs_level_gtx_flag.[0326] For example, the context-encoded syntax elements for the transform coefficient may include a significant coefficient flag representing whether the transform coefficient is the nonzero transform coefficient, a sign flag representing the sign for the transform coefficient, a first coefficient level flag for whether the coefficient level for the transform coefficient is greater than a first threshold value, and/or a parity level flag for the parity of the transform level for the transform coefficient. Further, for example, the context-encoded syntax elements may include a second coefficient level flag for whether the coefficient level of the transform coefficient is greater than a second threshold value, a third coefficient level flag for whether the coefficient level of the transform coefficient is greater than a third threshold value, a fourth coefficient level flag for whether the coefficient level of the transform coefficient is greater than a fourth threshold value, and/or a fifth coefficient level flag for whether the coefficient level of the transform coefficient is greater than a fifth threshold value. In this document, the significant coefficient flag may be sig_coeff_flag, the sign flag may be ceff_sign_flag, the first coefficient level flag may be abs_level_gt1_flag, and the parity level flag may be par_level_flag. Furthermore, the second coefficient level flag can be abs_level_gt3_flag or abs_level_gtx_flag, the third coefficient level flag can be abs_level_gt5_flag or abs_level_gtx_flag, the fourth coefficient level flag can be abs_level_gt7_flag or abs_level_gtx_flag, and the fifth coefficient level flag can be abs_level_gt9_flag or abs_level_gtx_flag.
[0327] Ademais, por exemplo, os elementos de sintaxe codificados por desvio para o coeficiente de transformada podem incluir informações de nível de coeficiente para o valor do coeficiente de transformada (ou nível de coeficiente) e/ou um sinalizador de sinal que representa o sinal para o coeficiente de transformada. As informações de nível de coeficiente podem ser abs_remainder e/ou dec_abs_level, e o sinalizador de sinal pode ser ceff_sign_flag.[0327] Further, for example, the offset-encoded syntax elements for the transform coefficient may include coefficient level information for the transform coefficient value (or coefficient level) and/or a sign flag representing the sign for the transform coefficient. The coefficient level information may be abs_remainder and/or dec_abs_level, and the sign flag may be ceff_sign_flag.
[0328] O aparelho de decodificação deriva uma amostra residual do bloco atual com base nas informações residuais (S1030). Por exemplo, o aparelho de decodificação pode derivar coeficientes de transformada do bloco atual com base nas informações residuais, e pode derivar amostras residuais do bloco atual base nos coeficientes de transformada.[0328] The decoding apparatus derives a residual sample of the current block based on the residual information (S1030). For example, the decoding apparatus may derive transform coefficients of the current block based on the residual information, and may derive residual samples of the current block based on the transform coefficients.
[0329] Por exemplo, o aparelho de decodificação pode derivar os coeficientes de transformada do bloco atual com base nos elementos de sintaxe das informações residuais. Posteriormente, o aparelho de decodificação pode derivar as amostras residuais do bloco atual com base nos coeficientes de transformada. Como um exemplo, se for derivado que a transformada não é aplicada para o bloco atual com base no sinalizador de omissão de transformada, ou seja, se o valor do sinalizador de omissão de transformada for 1, o aparelho de decodificação pode derivar os coeficientes de transformada como as amostras residuais do bloco atual. Ademais, por exemplo, se for derivado que a transformada não é aplicada para o bloco atual com base no sinalizador de omissão de transformada, ou seja, se o valor do sinalizador de omissão de transformada for 1, o aparelho de decodificação pode derivar as amostras residuais do bloco atual desquantizando-se os coeficientes de transformada. Ademais, por exemplo, se for derivado que a transformada é aplicada para o bloco atual com base no sinalizador de omissão de transformada, ou seja, se o valor do sinalizador de omissão de transformada for 0, o aparelho de decodificação pode derivar as amostras residuais do bloco atual realizando-se uma transformada inversa dos coeficientes de transformada. Ademais, por exemplo, se for derivado que a transformada é aplicada para o bloco atual com base no sinalizador de omissão de transformada, ou seja, se o valor do sinalizador de omissão de transformada for 0, o aparelho de decodificação pode derivar as amostras residuais do bloco atual desquantizando-se os coeficientes de transformada e realizando-se uma transformada inversa dos coeficientes de transformada desquantizados.[0329] For example, the decoding apparatus may derive the transform coefficients of the current block based on the syntax elements of the residual information. Subsequently, the decoding apparatus may derive the residual samples of the current block based on the transform coefficients. As an example, if it is derived that the transform is not applied for the current block based on the transform omit flag, i.e., if the value of the transform omit flag is 1, the decoding apparatus may derive the transform coefficients as the residual samples of the current block. Further, for example, if it is derived that the transform is not applied for the current block based on the transform omit flag, i.e., if the value of the transform omit flag is 1, the decoding apparatus may derive the residual samples of the current block by dequantizing the transform coefficients. Further, for example, if it is derived that the transform is applied to the current block based on the transform omit flag, i.e., if the value of the transform omit flag is 0, the decoding apparatus may derive the residual samples of the current block by performing an inverse transform of the transform coefficients. Further, for example, if it is derived that the transform is applied to the current block based on the transform omit flag, i.e., if the value of the transform omit flag is 0, the decoding apparatus may derive the residual samples of the current block by dequantizing the transform coefficients and performing an inverse transform of the dequantized transform coefficients.
[0330] Entretanto, no caso onde a quantização dependente é aplicada para o bloco atual, o aparelho de decodificação pode derivar as amostras residuais do bloco atual realizando-se o processo de quantização dependente para os coeficientes de transformada. Por exemplo, no caso onde a quantização dependente é aplicada para o bloco atual, o aparelho de decodificação pode atualizar o estado (Qstate) para a quantização dependente com base no nível de coeficiente do coeficiente de transformada logo antes do coeficiente de transformada atual na ordem de varredura, pode derivar o nível de coeficiente do coeficiente de transformada atual com base no estado atualizado e nos elementos de sintaxe para o coeficiente de transformada atual, e pode derivar a amostra residual desquantizando-se o nível de coeficiente derivado. Por exemplo, o coeficiente de transformada atual pode ser desquantizado com base no parâmetro de quantização para um nível reconstruído do coeficiente de transformada atual em um quantizador escalar para o estado atualizado. No presente documento, o nível reconstruído pode ser derivado com base nos elementos de sintaxe para o coeficiente de transformada atual.[0330] However, in the case where dependent quantization is applied to the current block, the decoding apparatus may derive the residual samples of the current block by performing the dependent quantization process for the transform coefficients. For example, in the case where dependent quantization is applied to the current block, the decoding apparatus may update the state (Qstate) for dependent quantization based on the coefficient level of the transform coefficient just before the current transform coefficient in the scan order, may derive the coefficient level of the current transform coefficient based on the updated state and the syntax elements for the current transform coefficient, and may derive the residual sample by dequantizing the derived coefficient level. For example, the current transform coefficient may be dequantized based on the quantization parameter for a reconstructed level of the current transform coefficient in a scalar quantizer for the updated state. In the present document, the reconstructed level may be derived based on the syntax elements for the current transform coefficient.
[0331] Entretanto, por exemplo, quando a ocultação de dados de sinal for aplicada ao bloco atual, um sinal de um primeiro coeficiente de transformada significativo do CG atual no bloco atual pode ser derivado com base na soma de valores absolutos de coeficientes de transformada significativos no CG atual. Por exemplo, quando a soma dos valores absolutos dos coeficientes de transformada significativos for par, o sinal do primeiro coeficiente de transformada significativo pode ser derivado como um valor positivo, e quando a soma dos valores absolutos dos coeficientes de transformada significativos for ímpar, o sinal do primeiro coeficiente de transformada significativo pode ser derivado como um valor negativo.[0331] However, for example, when signal data hiding is applied to the current block, a sign of a first significant transform coefficient of the current CG in the current block may be derived based on the sum of absolute values of significant transform coefficients in the current CG. For example, when the sum of the absolute values of the significant transform coefficients is even, the sign of the first significant transform coefficient may be derived as a positive value, and when the sum of the absolute values of the significant transform coefficients is odd, the sign of the first significant transform coefficient may be derived as a negative value.
[0332] O aparelho de decodificação gera uma figuração reconstruída com base na amostra residual (S1040). Por exemplo, o aparelho de decodificação pode gerar a amostra reconstruída e/ou figuração reconstruída do bloco atual com base na amostra residual. Por exemplo, o aparelho de decodificação pode derivar uma amostra de predição realizando-se um modo de interpredição ou um modo de intrapredição no bloco atual com base nas informações de predição recebidas através do fluxo de bits, e pode gerar a amostra reconstruída através da adição da amostra de predição e da amostra residual entre si.[0332] The decoding apparatus generates a reconstructed pattern based on the residual sample (S1040). For example, the decoding apparatus may generate the reconstructed sample and/or reconstructed pattern of the current block based on the residual sample. For example, the decoding apparatus may derive a prediction sample by performing an inter-prediction mode or an intra-prediction mode on the current block based on the prediction information received through the bit stream, and may generate the reconstructed sample by adding the prediction sample and the residual sample to each other.
[0333] Posteriormente, conforme a necessidade, a fim de melhorar a quantidade de figuração subjetiva/objetiva, um procedimento de filtragem em laço, tal como filtragem por deblocagem, SAO e/ou procedimento ALF, pode ser aplicado à figuração reconstruída conforme descrito anteriormente.[0333] Subsequently, as needed, in order to improve the amount of subjective/objective figuration, a loop filtering procedure, such as deblocking filtering, SAO and/or ALF procedure, can be applied to the reconstructed figuration as described above.
[0334] A Figura 11 ilustra brevemente um aparelho de decodificação para realizar um método de decodificação de imagem de acordo com a presente revelação. O método revelado na Figura 10 pode ser realizado pelo aparelho de decodificação revelado na Figura 11. De modo específico, por exemplo, o decodificador de entropia do aparelho de decodificação da Figura 11 pode realizar S1000 a S1020 da Figura 10, o processador residual do aparelho de decodificação da Figura 11 pode realizar S1030 da Figura 10, e o adicionador do aparelho de decodificação da Figura 11 pode realizar S1040 da Figura 10. Ademais, embora não ilustrado, um processo de receber informações de predição para o bloco atual pode ser realizado pelo decodificador de entropia do aparelho de decodificação da Figura 11, e um processo de derivar uma amostra de predição do bloco atual pode ser realizado pelo preditor do aparelho de decodificação da Figura 11.[0334] Figure 11 briefly illustrates a decoding apparatus for performing a picture decoding method in accordance with the present disclosure. The method disclosed in Figure 10 may be performed by the decoding apparatus disclosed in Figure 11. Specifically, for example, the entropy decoder of the decoding apparatus of Figure 11 may perform S1000 to S1020 of Figure 10, the residual processor of the decoding apparatus of Figure 11 may perform S1030 of Figure 10, and the adder of the decoding apparatus of Figure 11 may perform S1040 of Figure 10. Further, although not illustrated, a process of receiving prediction information for the current block may be performed by the entropy decoder of the decoding apparatus of Figure 11, and a process of deriving a prediction sample of the current block may be performed by the predictor of the decoding apparatus of Figure 11.
[0335] De acordo com a presente revelação, a eficiência de codificação residual pode ser melhorada.[0335] According to the present disclosure, residual coding efficiency can be improved.
[0336] Ademais, de acordo com a presente revelação, o sinalizador habilitado para TSRC pode ser sinalizado quando a ocultação de dados de sinal não está habilitada ajustando-se a relação de sinalização entre o sinalizador habilitado para ocultação de dados de sinal e o sinalizador habilitado para TSRC, através disso, quando a sintaxe de RRC for codificada para o bloco de omissão de transformada porque a TSRC não está habilitada, uma ocultação de dados de sinal não é usada para aperfeiçoar a eficiência de codificação, e a eficiência de codificação residual geral pode ser aperfeiçoada através da redução da quantidade de bits sendo codificados.[0336] Further, according to the present disclosure, the TSRC-enabled flag may be signaled when signal data hiding is not enabled by adjusting the signaling relationship between the signal data hiding-enabled flag and the TSRC-enabled flag, whereby, when RRC syntax is coded for the transform omission block because TSRC is not enabled, signal data hiding is not used to improve coding efficiency, and the overall residual coding efficiency may be improved by reducing the amount of bits being coded.
[0337] Ademais, de acordo com a presente revelação, a relação de sinalização entre o sinalizador habilitado para quantização dependente e o sinalizador habilitado para TSRC pode ser estabelecida, e se a quantização dependente não estiver habilitada, o sinalizador habilitado para TSRC pode ser sinalizado, e através disso, se a TSRC não estiver habilitada e, então, a sintaxe de RRC for codificada para o bloco de omissão de transformada, a quantização dependente não deve ser usada, de modo que a eficiência de codificação possa ser aperfeiçoada, e a eficiência de codificação residual geral possa ser aperfeiçoada através da redução da quantidade de bits sendo codificados.[0337] Further, according to the present disclosure, the signaling relationship between the dependent quantization-enabled flag and the TSRC-enabled flag may be established, and if dependent quantization is not enabled, the TSRC-enabled flag may be signaled, and thereby, if TSRC is not enabled and then RRC syntax is coded for the transform omission block, dependent quantization should not be used, so that the coding efficiency may be improved, and the overall residual coding efficiency may be improved by reducing the amount of bits being coded.
[0338] Ademais, de acordo com a presente revelação, a relação de sinalização entre o sinalizador habilitado para omissão de transformada e o sinalizador habilitado para TSRC pode ser estabelecida, e se a omissão de transformada for habilitada, o sinalizador habilitado para TSRC pode ser sinalizado, e através disso, a eficiência de codificação residual geral pode ser aperfeiçoada através da redução ad quantidade de bits sendo codificados.[0338] Further, according to the present disclosure, the signaling relationship between the transform omission enabled flag and the TSRC enabled flag can be established, and if transform omission is enabled, the TSRC enabled flag can be signaled, and thereby, the overall residual coding efficiency can be improved by reducing the amount of bits being coded.
[0339] Na modalidade descrita anteriormente, os métodos são descritos com base no fluxograma tendo uma série de etapas ou blocos. A presente revelação não é limitada à ordem das etapas ou blocos acima. Algumas etapas ou blocos podem ocorrer simultaneamente ou em uma ordem diferente de outras etapas ou blocos conforme descrito acima. Ademais, os indivíduos versados na técnica compreenderão que as etapas mostradas no fluxograma acima não são exclusivas, que etapas adicionais podem ser incluídas, ou que uma ou mais etapas no fluxograma podem ser excluídas sem afetar o escopo da presente revelação.[0339] In the embodiment described above, the methods are described based on a flowchart having a series of steps or blocks. The present disclosure is not limited to the order of the above steps or blocks. Some steps or blocks may occur simultaneously or in a different order than other steps or blocks as described above. Furthermore, those skilled in the art will understand that the steps shown in the above flowchart are not exclusive, that additional steps may be included, or that one or more steps in the flowchart may be deleted without affecting the scope of the present disclosure.
[0340] As modalidades descritas neste relatório descritivo podem ser realizadas sendo implementadas em um processador, um microprocessador, um controlador ou um chip. Por exemplo, as unidades funcionais mostradas em cada desenho podem ser realizadas sendo implementadas em um computador, um processador, um microprocessador, um controlador ou um chip. Nesse caso, as informações para implementação (por exemplo, informações ou instruções) ou algoritmo podem ser armazenadas em um meio de armazenamento digital.[0340] The embodiments described in this specification may be realized by being implemented in a processor, a microprocessor, a controller or a chip. For example, the functional units shown in each drawing may be realized by being implemented in a computer, a processor, a microprocessor, a controller or a chip. In this case, the information for implementation (e.g., information or instructions) or algorithm may be stored in a digital storage medium.
[0341] Além disso, o aparelho de decodificação e o aparelho de codificação aos quais a presente revelação é aplicada podem ser incluídos em um aparelho de transmissão/recepção de radiodifusão de multimídia, um terminal de comunicação móvel, um aparelho de vídeo de cinema doméstico, um aparelho de vídeo de cinema digital, uma câmera de vigilância, um aparelho de conversa por vídeo, um aparelho de comunicação em tempo real como comunicação por vídeo, um aparelho de streaming móvel, um meio de armazenamento, uma gravadora, um aparelho provedor de serviço VoD, um aparelho de vídeo Over-the-Top (OTT), um aparelho provedor de serviços de streaming da Internet, um aparelho de vídeo tridimensional (3D), um aparelho de vídeo de teleconferência, um equipamento de usuário para transporte (por exemplo, equipamento de usuário em veículo, um equipamento de usuário em avião, um equipamento de usuário em navio, etc.) e um aparelho de vídeo médico e podem ser usados para processar sinais de vídeo e sinais de dados. Por exemplo, o aparelho de vídeo Over-the-Top (OTT) pode incluir um console de jogos, um reprodutor Blu-ray, uma TV com acesso à internet, um sistema de cinema em casa (home-theater), um smartphone, um PC tablet, um Gravador de Vídeo Digital (DVR), e similares.[0341] Furthermore, the decoding apparatus and the encoding apparatus to which the present disclosure is applied can be included in a multimedia broadcast transmission/reception apparatus, a mobile communication terminal, a home cinema video apparatus, a digital cinema video apparatus, a surveillance camera, a video chat apparatus, a real-time communication apparatus such as video communication, a mobile streaming apparatus, a storage medium, a recorder, a VoD service provider apparatus, an Over-the-Top (OTT) video apparatus, an Internet streaming service provider apparatus, a three-dimensional (3D) video apparatus, a teleconferencing video apparatus, a transportation user equipment (e.g., in-vehicle user equipment, an aircraft user equipment, a ship user equipment, etc.), and a medical video apparatus, and can be used to process video signals and data signals. For example, the Over-the-Top (OTT) video device may include a game console, a Blu-ray player, an Internet-enabled TV, a home theater system, a smartphone, a tablet PC, a Digital Video Recorder (DVR), and the like.
[0342] Adicionalmente, o método de processamento ao qual a presente revelação se aplica pode ser produzido sob a forma de um programa que deve ser executado por um computador e pode ser armazenado em um meio de gravação legível por computador. Os dados multimídia tendo uma estrutura de dados de acordo com a presente revelação também podem ser armazenados em uma mídia de gravação legível por computador. A mídia de gravação legível por computador inclui todos os tipos de dispositivos de armazenamento onde dados legíveis por um sistema computacional são armazenados. A mídia de gravação legível por computador pode incluir um BD, um Barramento Serial Universal (USB), ROM, PROM, EPROM, EEPROM, RAM, CD-ROM, uma fita magnética, um disquete flexível, e um dispositivo de armazenamento de dados ópticos, por exemplo. Adicionalmente, a mídia de gravação legível por computador inclui mídias implementadas sob a forma de ondas portadoras (por exemplo, transmissão através da Internet). Além disso, um fluxo de bits gerado pelo método de codificação pode ser armazenado em um meio de gravação legível por computador ou pode ser transmitido pelas redes de comunicação com/sem fio.[0342] Additionally, the processing method to which the present disclosure applies may be produced in the form of a program that must be executed by a computer and may be stored on a computer-readable recording medium. Multimedia data having a data structure according to the present disclosure may also be stored on a computer-readable recording medium. Computer-readable recording media include all types of storage devices where data readable by a computer system is stored. Computer-readable recording media may include a BD, a Universal Serial Bus (USB), ROM, PROM, EPROM, EEPROM, RAM, CD-ROM, a magnetic tape, a floppy disk, and an optical data storage device, for example. Additionally, computer-readable recording media include media implemented in the form of carrier waves (e.g., transmission over the Internet). Furthermore, a bit stream generated by the encoding method may be stored on a computer-readable recording medium or may be transmitted over wired/wireless communication networks.
[0343] Além disso, as modalidades da presente revelação podem ser implementadas com um produto de programa de computador de acordo com os códigos de programa, e os códigos de programa podem ser realizados em um computador pelas modalidades da presente revelação. Os códigos de programa podem ser armazenados em uma portadora que seja legível por um computador.[0343] Furthermore, embodiments of the present disclosure may be implemented with a computer program product according to the program codes, and the program codes may be realized in a computer by embodiments of the present disclosure. The program codes may be stored on a carrier that is readable by a computer.
[0344] A Figura 12 ilustra um diagrama estrutural de um sistema de streaming de conteúdos ao qual a presente revelação é aplicada.[0344] Figure 12 illustrates a structural diagram of a content streaming system to which the present disclosure is applied.
[0345] O sistema de streaming de conteúdos ao qual as modalidades da presente revelação se aplicam pode incluir em grande parte um servidor de codificação, um servidor de streaming, um servidor da web, um armazenamento de mídia, um dispositivo de usuário, e um dispositivo de entrada de multimídia.[0345] The content streaming system to which embodiments of the present disclosure apply may largely include an encoding server, a streaming server, a web server, a media storage, a user device, and a multimedia input device.
[0346] O servidor de codificação compacta entrada de conteúdo a partir de dispositivos de entrada de multimídia como um smartphone, uma câmera, uma gravadora, etc. Em dados digitais para gerar um fluxo de bits e transmitir o fluxo de bits ao servidor de streaming. Como outro exemplo, quando os dispositivos de entrada de multimídia como smartphones, câmeras, gravadoras, etc. gerarem diretamente um fluxo de bits, o servidor de codificação pode ser omitido.[0346] The encoding server compresses content input from multimedia input devices such as a smartphone, a camera, a recorder, etc. into digital data to generate a bitstream and transmit the bitstream to the streaming server. As another example, when multimedia input devices such as smartphones, cameras, recorders, etc. directly generate a bitstream, the encoding server may be omitted.
[0347] O fluxo de bits pode ser gerado por um método de codificação ou um método de geração de fluxo de bits ao qual as modalidades da presente revelação se aplicam, e o servidor de streaming pode armazenar temporariamente o fluxo de bits no processo de transmitir ou receber o fluxo de bits.[0347] The bitstream may be generated by an encoding method or a bitstream generation method to which embodiments of the present disclosure apply, and the streaming server may temporarily store the bitstream in the process of transmitting or receiving the bitstream.
[0348] O servidor de streaming transmite os dados multimídia ao dispositivo de usuário com base em uma solicitação do usuário através do servidor da web, e o servidor da web serve como um meio para informar ao usuário de um serviço. Quando o usuário solicitar um serviço desejado a partir do servidor da web, o servidor da web o entrega a um servidor de streaming, e o servidor de streaming transmite dados multimídia ao usuário. Nesse caso, o sistema de streaming de conteúdos inclui um servidor de controle separado. Nesse caso, o servidor de controle serve para controlar um comando/resposta entre dispositivos no sistema de streaming de conteúdo.[0348] The streaming server transmits multimedia data to the user device based on a user request via the web server, and the web server serves as a means to inform the user of a service. When the user requests a desired service from the web server, the web server delivers it to a streaming server, and the streaming server transmits multimedia data to the user. In this case, the content streaming system includes a separate control server. In this case, the control server serves to control a command/response between devices in the content streaming system.
[0349] O servidor de streaming pode receber conteúdo a partir de um armazenamento de mídia e/ou um servidor de codificação. Por exemplo, quando o conteúdo for recebido a partir do servidor de codificação, o conteúdo pode ser recebido em tempo real. Nesse caso, a fim de proporcionar um serviço de streaming suave, o servidor de streaming pode armazenar o fluxo de bits por um tempo predeterminado.[0349] The streaming server may receive content from a media storage and/or an encoding server. For example, when content is received from the encoding server, the content may be received in real time. In this case, in order to provide a smooth streaming service, the streaming server may store the bitstream for a predetermined time.
[0350] Exemplos do dispositivo de usuário podem incluir um telefone móvel, um smartphone, um computador laptop, um terminal de radiodifusão digital, um assistente pessoal digital (PDA), um reprodutor de multimídia portátil (PMP), navegação, um PC slate, PCs tablet, ultrabooks, dispositivos vestíveis (ex. relógios inteligentes, óculos inteligentes, telas montadas à cabeça), TVs digitais, computadores desktop, sinalização digital, e similares. Cada servidor no sistema de streaming de conteúdo ode ser operado como um servidor distribuído, sendo que nesse caso dados recebidos a partir de cada servidor podem ser distribuídos.[0350] Examples of the user device may include a mobile phone, a smartphone, a laptop computer, a digital broadcast terminal, a personal digital assistant (PDA), a portable multimedia player (PMP), navigation, a slate PC, tablet PCs, ultrabooks, wearable devices (e.g., smart watches, smart glasses, head-mounted displays), digital TVs, desktop computers, digital signage, and the like. Each server in the content streaming system may be operated as a distributed server, in which case data received from each server may be distributed.
[0351] As reivindicações descritas na presente revelação podem ser combinadas de várias formas. Por exemplo, os recursos técnicos das reivindicações do método da presente revelação podem ser combinados para serem implementados como um aparelho, e os recursos técnicos das reivindicações do aparelho da presente revelação podem ser combinados para serem implementados como um método. Além disso, os recursos técnicos da reivindicação de método da presente revelação e os recursos técnicos da reivindicação de aparelho podem ser combinados para serem implementados como um aparelho, e os recursos técnicos da reivindicação de método da presente revelação e os recursos técnicos da reivindicação de aparelho podem ser combinados para serem implementados como um método.[0351] The claims described in the present disclosure may be combined in a variety of ways. For example, the technical features of the method claims of the present disclosure may be combined to be implemented as an apparatus, and the technical features of the apparatus claims of the present disclosure may be combined to be implemented as a method. Furthermore, the technical features of the method claim of the present disclosure and the technical features of the apparatus claim may be combined to be implemented as an apparatus, and the technical features of the method claim of the present disclosure and the technical features of the apparatus claim may be combined to be implemented as a method.
Claims (3)
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US63/003,221 | 2020-03-31 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| BR122024006265A2 true BR122024006265A2 (en) | 2024-09-03 |
Family
ID=
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US20200177882A1 (en) | Image decoding method and device using residual information in image coding system | |
| US11973989B2 (en) | Method and apparatus for decoding imaging related to sign data hiding | |
| CN113508587A (en) | Video decoding method and device using residual information in video coding system | |
| KR102830660B1 (en) | Method and device for deriving rice parameters in video/image coding system | |
| KR102814547B1 (en) | Image decoding method and device using simplified residual data coding in an image coding system | |
| US12382065B2 (en) | Image decoding method for residual coding, and device therefor | |
| CN114402605A (en) | Image decoding method using flag of residual encoding method in image encoding system and apparatus therefor | |
| US12088814B2 (en) | Image decoding method related to signaling of flag indicating whether tsrc is available, and device therefor | |
| US20240080480A1 (en) | Entropy coding method and device in video/image coding system | |
| BR122024006265A2 (en) | IMAGE DECODING APPARATUS, IMAGE CODING APPARATUS AND APPARATUS FOR TRANSMITTING DATA FOR IMAGE INFORMATION | |
| BR122024006241A2 (en) | IMAGE DECODING/ENCODING METHOD PERFORMED BY A DECODING/ENCODING APPARATUS, NON-TRANSITORY COMPUTER-READABLE STORAGE MEDIUM AND METHOD FOR TRANSMITTING DATA FOR IMAGE INFORMATION | |
| BR122024006245A2 (en) | IMAGE DECODING/ENCODING METHOD PERFORMED BY A DECODING/ENCODING APPARATUS, NON-TRANSITORY COMPUTER-READABLE STORAGE MEDIUM AND METHOD FOR TRANSMITTING DATA FOR IMAGE INFORMATION | |
| BR122024003657A2 (en) | IMAGE DECODING APPARATUS, IMAGE CODING APPARATUS AND DATA TRANSMISSION APPARATUS FOR AN IMAGE | |
| JP7640782B2 (en) | Image decoding method and apparatus for residual coding in an image coding system | |
| US20230164343A1 (en) | Image decoding method for residual coding in image coding system, and apparatus therefor | |
| JP2025157340A (en) | Sign data hiding related video decoding method and apparatus | |
| BR122023027691A2 (en) | IMAGE DECODING METHOD FOR ENCODING DPB PARAMETERS, AND DEVICE THEREOF | |
| BR112021020758B1 (en) | IMAGE DECODING METHOD PERFORMED BY A DECODING APPARATUS, IMAGE CODING METHOD PERFORMED BY A CODING APPARATUS, NON-TRANSITORY COMPUTER-READABLE STORAGE MEDIA, AND DATA TRANSMISSION METHOD FOR AN IMAGE | |
| BR122023007106B1 (en) | IMAGE DECODING/CODING METHOD PERFORMED BY A DECODING/CODING APPARATUS, DECODING/CODING APPARATUS FOR IMAGE DECODING/CODING, APPARATUS FOR TRANSMITTING DATA TO AN IMAGE AND NON-TRANSITORY COMPUTER-READABLE DIGITAL STORAGE MEDIUM |