BR122022006263B1 - IMAGE DECODING METHOD AND APPARATUS, IMAGE CODING METHOD AND APPARATUS, NON-TRAINER COMPUTER READABLE STORAGE MEDIUM, METHOD AND APPARATUS FOR TRANSMITTING DATA TO AN IMAGE - Google Patents

IMAGE DECODING METHOD AND APPARATUS, IMAGE CODING METHOD AND APPARATUS, NON-TRAINER COMPUTER READABLE STORAGE MEDIUM, METHOD AND APPARATUS FOR TRANSMITTING DATA TO AN IMAGE Download PDF

Info

Publication number
BR122022006263B1
BR122022006263B1 BR122022006263-6A BR122022006263A BR122022006263B1 BR 122022006263 B1 BR122022006263 B1 BR 122022006263B1 BR 122022006263 A BR122022006263 A BR 122022006263A BR 122022006263 B1 BR122022006263 B1 BR 122022006263B1
Authority
BR
Brazil
Prior art keywords
transform
index
target block
coefficients
matrix
Prior art date
Application number
BR122022006263-6A
Other languages
Portuguese (pt)
Inventor
Moonmo KOO
Jaehyun Lim
Seunghwan Kim
Original Assignee
Lg Electronics Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Lg Electronics Inc filed Critical Lg Electronics Inc
Publication of BR122022006263B1 publication Critical patent/BR122022006263B1/en

Links

Abstract

Um método de decodificação de imagem de acordo com o presente documento compreende as etapas de: derivar coeficientes de transformada através da quantização inversa com base em coeficientes de transformada quantizados para um bloco alvo; derivar coeficientes de transformada modificados com base em uma transformada secundária reduzida inversa (RST) para os coeficientes de transformada; e gerar uma foto de restauração com base nas amostras residuais para o bloco alvo, com base em uma transformada primária inversa para os coeficientes de transformada modificados, em que a RST inversa é realizada com base em: conjuntos de transformadas determinados por uma relação de mapeamento de acordo com um modo de intrapredição aplicado ao bloco alvo; e uma matriz de núcleo de transformada selecionada dentre duas matrizes de núcleo de transformada incluídas em cada um dos conjuntos de transformadas, e é realizada com base em: se a RST inversa é aplicada; e um índice de transformada para indicar qualquer uma das matrizes de núcleo de transformada incluídas nos conjuntos de transformadas.An image decoding method according to the present document comprises the steps of: deriving transform coefficients through inverse quantization based on quantized transform coefficients for a target block; deriving modified transform coefficients based on an inverse reduced secondary transform (RST) for the transform coefficients; and generating a restoration photo based on the residual samples for the target block, based on an inverse primary transform for the modified transform coefficients, wherein the inverse RST is performed based on: sets of transforms determined by a mapping relation according to an intraprediction mode applied to the target block; and a transform kernel matrix selected from two transform kernel matrices included in each of the transform sets, and is performed based on: whether the inverse RST is applied; and a transform index to indicate any of the transform kernel matrices included in the transform sets.

Description

DIVIDIDO DO BR1120210104224, DEPOSITADO EM 05.12.2019SPLIT OF BR1120210104224, DEPOSITED ON 12/05/2019 CAMPO DA TÉCNICAFIELD OF TECHNIQUE

[001]A presente revelação se refere, de modo geral, a uma tecnologia de codificação de imagem e, mais particularmente, a um método de codificação de imagem baseado em uma transformada em um sistema de codificação de imagem e um aparelho para o mesmo.[001] The present disclosure relates, generally, to an image coding technology and, more particularly, to an image coding method based on a transformed image coding system and an apparatus for the same.

ANTECEDENTESBACKGROUND

[002]Atualmente, a demanda por imagens/vídeos de alta resolução e alta qualidade, tais como imagens/vídeos de ultra-alta definição (UHD) 4K, 8K ou mais vem aumentando em vários campos. À medida que os dados de imagem/vídeo se tornam de resolução mais alta e qualidade mais alta, a quantidade de informações transmitidas ou quantidade de bits aumenta em comparação com os dados de imagem convencionais. Portanto, quando os dados de imagem são transmitidos com o uso de um meio, tal como uma linha de banda larga com fio/sem fio convencional ou dados de imagem/vídeo são armazenados com o uso de um meio de armazenamento existente, o custo de transmissão e o custo de armazenamento dos mesmos são aumentados.[002] Currently, the demand for high-resolution and high-quality images/videos, such as ultra-high definition (UHD) 4K, 8K or more images/videos is increasing in various fields. As image/video data becomes higher resolution and higher quality, the amount of information transmitted or quantity of bits increases compared to conventional image data. Therefore, when image data is transmitted using a medium such as a conventional wired/wireless broadband line or image/video data is stored using an existing storage medium, the cost of transmission and storage costs are increased.

[003]Ademais, atualmente, o interesse e a demanda por mídia imersiva, tal como conteúdo ou holograma de realidade virtual (VR), realidade artificial (AR), ou similares estão aumentando, e a difusão de imagens/vídeos que têm recursos de imagem diferentes daqueles das imagens reais, tal como uma imagem de jogo está aumentando.[003] Furthermore, currently, the interest and demand for immersive media, such as virtual reality (VR) content or hologram, artificial reality (AR), or similar is increasing, and the dissemination of images/videos that have image different from those of real images, such as a game image is increasing.

[004]Consequentemente, há uma necessidade de uma técnica de compactação de imagem/vídeo altamente eficiente para compactar e transmitir ou armazenar e reproduzir informações de imagens/vídeos de alta resolução e alta qualidade tendo vários recursos, conforme descrito acima.[004] Consequently, there is a need for a highly efficient image/video compression technique to compress and transmit or store and reproduce high-resolution and high-quality image/video information having various features, as described above.

SUMÁRIOSUMMARY

[005]Um aspecto da técnica da presente revelação é fornecer um método e um aparelho para aumentar a eficiência de codificação de imagem.[005] One aspect of the technique of the present disclosure is to provide a method and apparatus for increasing image coding efficiency.

[006]Outro aspecto da presente revelação é fornecer um método e um aparelho para aumentar a eficiência de transformada.[006] Another aspect of the present disclosure is to provide a method and apparatus for increasing transformation efficiency.

[007]Ainda outro aspecto da técnica da presente revelação é fornecer um método e um aparelho para aumentar a eficiência de uma transformada secundária através da codificação de um índice de transformada.[007] Yet another aspect of the technique of the present disclosure is to provide a method and apparatus for increasing the efficiency of a secondary transform by encoding a transform index.

[008]Ainda outro aspecto da técnica da presente revelação é fornecer um método de codificação de imagem e um aparelho de codificação de imagem que se baseiam na transformada secundária reduzida (RST).[008] Yet another aspect of the technique of the present disclosure is to provide an image coding method and an image coding apparatus that are based on the reduced secondary transform (RST).

[009]Ainda outro aspecto da técnica da presente revelação é fornecer um método de codificação de imagem e um aparelho de codificação de imagem que se baseiam em um conjunto de transformadas e são capazes de aumentar a eficiência de codificação.[009] Yet another aspect of the technique of the present disclosure is to provide an image coding method and an image coding apparatus that are based on a set of transforms and are capable of increasing coding efficiency.

[010]De acordo com uma modalidade da presente revelação, é fornecido um método de decodificação de imagem realizado por um aparelho de decodificação. O método pode incluir: derivar coeficientes de transformada quantizados para um bloco alvo a partir de um fluxo de bits; derivar coeficientes de transformada através da desquantização com base nos coeficientes de transformada quantizados para o bloco alvo; derivar coeficientes de transformada modificados com base em uma transformada secundária reduzida inversa (RST) para os coeficientes de transformada; derivar amostras residuais para o bloco alvo com base em uma transformada primária inversa para os coeficientes de transformada modificados; e gerar uma foto reconstruída com base nas amostras residuais para o bloco alvo, em que a RST inversa pode ser realizada com base em um conjunto de transformadas determinado com base em uma relação de mapeamento de acordo com um modo de intrapredição aplicado ao bloco alvo e uma matriz de núcleo de transformada selecionada dentre duas matrizes de núcleo de transformada incluídas em cada um dos conjuntos de transformadas, e pode ser realizada com base em um índice de transformada relacionado a se a RST inversa é aplicada e uma das matrizes de núcleo de transformada incluídas no conjunto de transformadas.[010] According to an embodiment of the present disclosure, an image decoding method performed by a decoding apparatus is provided. The method may include: deriving quantized transform coefficients for a target block from a bit stream; deriving transform coefficients through dequantization based on the quantized transform coefficients for the target block; deriving modified transform coefficients based on an inverse reduced secondary transform (RST) for the transform coefficients; deriving residual samples for the target block based on an inverse primary transform for the modified transform coefficients; and generating a reconstructed photo based on the residual samples for the target block, wherein the inverse RST can be performed based on a set of transforms determined based on a mapping relationship according to an intraprediction mode applied to the target block and a transform kernel matrix selected from two transform kernel matrices included in each of the transform sets, and may be performed based on a transform index related to whether the inverse RST is applied and one of the transform kernel matrices included in the set of transforms.

[011]De acordo com outra modalidade da presente revelação, é fornecido um aparelho de decodificação para realizar decodificação de imagem. O aparelho de decodificação pode incluir: um decodificador de entropia para derivar informações sobre predição e coeficientes de transformada quantizados para um bloco alvo a partir de um fluxo de bits; um preditor para gerar uma amostra de predição para o bloco alvo com base nas informações sobre predição; um desquantizador para derivar coeficientes de transformada através da desquantização com base nos coeficientes de transformada quantizados para o bloco alvo; um transformador inverso para incluir um transformada secundária reduzida inversa (RST) que deriva coeficientes de transformada modificados com base na RST inversa dos coeficientes de transformada e uma transformada primária inversa que deriva amostras residuais para o bloco alvo com base na primeira transformada inversa dos coeficientes de transformada modificados; e um somador para gerar amostras reconstruídas com base nas amostras residuais e nas amostras de predição, em que a RST inversa pode ser realizada com base em um conjunto de transformadas determinado com base em uma relação de mapeamento de acordo com um modo de intrapredição aplicado ao bloco alvo e uma matriz de núcleo de transformada selecionada dentre duas matrizes de núcleo de transformada incluídas em cada um dos conjuntos de transformadas, e pode ser realizada com base em um índice de transformada que indica se a RST inversa é aplicada e uma das matrizes de núcleo de transformada incluída no conjunto de transformadas.[011] According to another embodiment of the present disclosure, a decoding apparatus is provided for performing image decoding. The decoding apparatus may include: an entropy decoder for deriving prediction information and quantized transform coefficients for a target block from a bit stream; a predictor to generate a prediction sample for the target block based on the prediction information; a dequantizer for deriving transform coefficients through dequantization based on the quantized transform coefficients for the target block; an inverse transformer to include an inverse reduced secondary transform (RST) that derives modified transform coefficients based on the inverse RST of the transform coefficients and an inverse primary transform that derives residual samples for the target block based on the first inverse transform of the transform coefficients. modified transformed; and an adder for generating reconstructed samples based on the residual samples and the prediction samples, wherein the inverse RST can be performed based on a set of transforms determined based on a mapping relationship according to an intraprediction mode applied to the target block and a transform kernel matrix selected from two transform kernel matrices included in each of the transform sets, and may be performed based on a transform index that indicates whether inverse RST is applied and one of the transform kernel matrices transform kernel included in the transform set.

[012]De acordo com ainda outra modalidade da presente revelação, é fornecido um método de codificação de imagem realizado por um aparelho de codificação. O método pode incluir: derivar amostras de predição com base em um modo de intrapredição aplicado a um bloco alvo; derivar amostras residuais para o bloco alvo com base na amostra de predição; derivar coeficientes de transformada para o bloco alvo com base em uma transformada primária para as amostras residuais; derivar coeficientes de transformada modificados com base em uma transformada secundária reduzida (RST) dos coeficientes de transformada, sendo que a RST inversa é realizada com base em um conjunto de transformadas determinado com base em uma relação de mapeamento de acordo com o modo de intrapredição aplicado ao bloco alvo e uma matriz de núcleo de transformada selecionada dentre duas matrizes de núcleo de transformada incluídas em cada um dos conjuntos de transformadas; derivar coeficientes de transformada quantizados realizando-se a quantização com base nos coeficientes de transformada modificados; e gerar um índice de transformada que indica se a RST inversa é aplicada e uma das matrizes de núcleo de transformada incluída no conjunto de transformadas.[012] According to yet another embodiment of the present disclosure, an image coding method performed by a coding apparatus is provided. The method may include: deriving prediction samples based on an intraprediction mode applied to a target block; derive residual samples for the target block based on the prediction sample; derive transform coefficients for the target block based on a primary transform for the residual samples; derive modified transform coefficients based on a reduced secondary transform (RST) of the transform coefficients, wherein the inverse RST is performed based on a set of transforms determined based on a mapping relationship according to the intraprediction mode applied to the target block and a transform kernel matrix selected from two transform kernel matrices included in each of the transform sets; derive quantized transform coefficients by performing quantization based on the modified transform coefficients; and generating a transform index that indicates whether the inverse RST is applied and one of the transform kernel matrices included in the transform set.

[013]De acordo com ainda outra modalidade da presente revelação, pode ser fornecido um meio de armazenamento digital que armazena dados de imagem que incluem informações de imagem codificada geradas de acordo com um método de codificação de imagem realizado por um aparelho de codificação.[013] According to yet another embodiment of the present disclosure, a digital storage medium may be provided that stores image data that includes encoded image information generated in accordance with an image coding method performed by a coding apparatus.

[014]De acordo com ainda outra modalidade da presente revelação, é fornecido um meio de armazenamento digital que armazena dados de imagem que incluem informações de imagem codificada para fazer com que um aparelho de decodificação realize o método de decodificação de imagem.[014] According to yet another embodiment of the present disclosure, a digital storage medium is provided that stores image data that includes encoded image information to cause a decoding apparatus to perform the image decoding method.

[015]De acordo com a presente revelação, é possível aumentar a eficiência de compactação de imagem/vídeo geral.[015] According to the present disclosure, it is possible to increase the overall image/video compression efficiency.

[016]De acordo com a presente revelação, é possível aumentar a eficiência de uma transformada secundária através da codificação de um índice de transformada.[016] According to the present disclosure, it is possible to increase the efficiency of a secondary transform by encoding a transform index.

[017]De acordo com a presente revelação, é possível aumentar a eficiência de codificação de imagem realizando-se a codificação de imagem com base em um conjunto de transformadas.[017] According to the present disclosure, it is possible to increase the efficiency of image coding by performing image coding based on a set of transforms.

BREVE DESCRIÇÃO DOS DESENHOSBRIEF DESCRIPTION OF THE DRAWINGS

[018]A Figura 1 ilustra esquematicamente um exemplo de um sistema de codificação de vídeo/imagem ao qual a presente revelação é aplicável.[018] Figure 1 schematically illustrates an example of a video/image coding system to which the present disclosure is applicable.

[019]A Figura 2 é um diagrama que ilustra esquematicamente uma configuração de um aparelho de codificação de vídeo/imagem ao qual a presente revelação é aplicável.[019] Figure 2 is a diagram that schematically illustrates a configuration of a video/image coding apparatus to which the present disclosure is applicable.

[020]A Figura 3 é um diagrama que ilustra esquematicamente uma configuração de um aparelho de decodificação de vídeo/imagem ao qual a presente revelação é aplicável.[020] Figure 3 is a diagram that schematically illustrates a configuration of a video/image decoding apparatus to which the present disclosure is applicable.

[021]A Figura 4 ilustra esquematicamente uma técnica de múltiplas transformadas, de acordo com uma modalidade da presente revelação.[021] Figure 4 schematically illustrates a multiple transform technique, according to an embodiment of the present disclosure.

[022]A Figura 5 ilustra intramodos direcionais de 65 direções de predição.[022] Figure 5 illustrates directional intramodes of 65 prediction directions.

[023]A Figura 6 é um diagrama que ilustra uma RST, de acordo com uma modalidade da presente revelação.[023] Figure 6 is a diagram illustrating an RST, according to an embodiment of the present disclosure.

[024]A Figura 7 é um diagrama que ilustra uma ordem de varredura de coeficiente de transformada, de acordo com uma modalidade da presente revelação.[024] Figure 7 is a diagram illustrating a transform coefficient sweep order, in accordance with an embodiment of the present disclosure.

[025]A Figura 8 é um fluxograma que ilustra um processo de RST inversa, de acordo com uma modalidade da presente revelação.[025] Figure 8 is a flowchart illustrating an inverse RST process, in accordance with an embodiment of the present disclosure.

[026]A Figura 9 é um fluxograma que ilustra uma operação de um aparelho de decodificação de vídeo, de acordo com uma modalidade da presente revelação.[026] Figure 9 is a flowchart illustrating an operation of a video decoding apparatus, in accordance with an embodiment of the present disclosure.

[027]A Figura 10 é um fluxograma de controle que ilustra uma RST inversa, de acordo com uma modalidade da presente revelação.[027] Figure 10 is a control flowchart illustrating an inverse RST, in accordance with an embodiment of the present disclosure.

[028]A Figura 11 é um fluxograma que ilustra uma operação de um aparelho de codificação de vídeo, de acordo com uma modalidade da presente revelação.[028] Figure 11 is a flowchart illustrating an operation of a video coding apparatus, according to an embodiment of the present disclosure.

[029]A Figura 12 é um fluxograma de controle que ilustra uma RST, de acordo com uma modalidade da presente revelação.[029] Figure 12 is a control flowchart illustrating an RST, according to an embodiment of the present disclosure.

[030]A Figura 13 ilustra a estrutura de um sistema de transmissão contínua de conteúdo ao qual a presente revelação é aplicada.[030] Figure 13 illustrates the structure of a continuous content transmission system to which the present disclosure is applied.

DESCRIÇÃO DAS MODALIDADES EXEMPLIFICATIVASDESCRIPTION OF EXAMPLE MODALITIES

[031]Embora a presente revelação possa ser suscetível a várias modificações e incluir várias modalidades, as modalidades específicas da mesma foram mostradas nos desenhos a título de exemplo e serão agora descritas em detalhes. Entretanto, isso não se destina a limitar a presente revelação às modalidades específicas reveladas no presente documento. A terminologia usada no presente documento serve para o propósito de descrever apenas as modalidades específicas, e não se destina a limitar a ideia técnica da presente revelação. As formas singulares podem incluir as formas plurais a menos que o contexto indique claramente de outro modo. Os termos, tais como “incluir” e “ter” se destinam a indicar que existem recursos, números, etapas, operações, elementos, componentes ou combinações dos mesmos usados na seguinte descrição e, desse modo, não devem ser entendidos como que a possibilidade de existência ou adição de um ou mais recursos, números, etapas, operações, elementos, componentes diferentes, ou combinações dos mesmos é excluída antecipadamente.[031] Although the present disclosure may be susceptible to various modifications and include various modalities, specific embodiments thereof have been shown in the drawings by way of example and will now be described in detail. However, this is not intended to limit the present disclosure to the specific embodiments disclosed herein. The terminology used herein is for the purpose of describing specific embodiments only, and is not intended to limit the technical idea of the present disclosure. Singular forms may include plural forms unless the context clearly indicates otherwise. Terms such as “include” and “have” are intended to indicate that there are features, numbers, steps, operations, elements, components or combinations thereof used in the following description and, therefore, should not be construed as that of the possibility existence or addition of one or more different resources, numbers, steps, operations, elements, components, or combinations thereof is excluded in advance.

[032]Entretanto, cada componente nos desenhos descritos no presente documento é ilustrado independentemente por uma questão de conveniência da descrição quanto às funções características diferentes entre si e, entretanto, isso não significa que cada componente é realizado por um hardware ou software separado.Por exemplo, quaisquer dois ou mais desses componentes podem ser combinados para formar um componente único, e qualquer componente pode ser dividido em múltiplos componentes. As modalidades nos quais os componentes são combinados e/ou divididos irão pertencer ao escopo do direito de patente da presente revelação desde que eles não se afastem da essência da presente revelação.[032] However, each component in the drawings described in this document is illustrated independently for the sake of convenience of description regarding characteristic functions that are different from each other and, however, this does not mean that each component is performed by separate hardware or software. For example, any two or more of these components can be combined to form a single component, and any component can be divided into multiple components. The embodiments in which the components are combined and/or divided will fall within the scope of the patent right of the present disclosure as long as they do not depart from the essence of the present disclosure.

[033]Doravante, as modalidades preferenciais da presente revelação serão explicadas em mais detalhes com referência aos desenhos anexos. Além disso, os mesmos sinais de referência são usados para os mesmos componentes nos desenhos, e descrições repetidas para os mesmos componentes serão omitidas.[033] Hereinafter, the preferred embodiments of the present disclosure will be explained in more detail with reference to the attached drawings. Furthermore, the same reference signs are used for the same components in the drawings, and repeated descriptions for the same components will be omitted.

[034]Este documento se refere a uma codificação de vídeo/imagem. Por exemplo, o método/exemplo revelado neste documento pode se referir a um padrão VVC (Codificação de Vídeo Versátil) (ITU-T Rec. H.266), um padrão de codificação de vídeo/imagem de próxima geração após VVC, ou outros padrões relacionados à codificação de vídeo (por exemplo, padrão HEVC (Codificação de Vídeo de Alta Eficiência) (ITU-T Rec. H.265), padrão EVC (codificação de vídeo essencial), padrão AVS2, etc.).[034] This document refers to video/image coding. For example, the method/example disclosed in this document may refer to a VVC (Versatile Video Coding) standard (ITU-T Rec. H.266), a next-generation video/image coding standard after VVC, or others standards related to video coding (e.g. HEVC (High Efficiency Video Coding) standard (ITU-T Rec. H.265), EVC (Essential Video Coding) standard, AVS2 standard, etc.).

[035]Neste documento, pode ser fornecida uma variedade de modalidades relacionadas à codificação de vídeo/imagem, e, a menos que especificado ao contrário, as modalidades podem ser combinadas entre si e serem realizadas.[035] In this document, a variety of modalities related to video/image coding may be provided, and, unless otherwise specified, the modalities may be combined with each other and carried out.

[036]Neste documento, um vídeo pode significar um conjunto de uma série de imagens ao longo do tempo. Geralmente, uma foto significa uma unidade que representa uma imagem em uma zona de tempo específica, e uma fatia/ladrilho é uma unidade que constitui uma parte da foto. A fatia/ladrilho pode incluir uma ou mais unidades de árvore de codificação (CTUs). Uma foto pode ser constituída por uma ou mais fatias/ladrilhos. Uma foto pode ser constituída por um ou mais grupos de ladrilhos. Um grupo de ladrilhos pode incluir um ou mais ladrilhos.[036] In this document, a video can mean a set of a series of images over time. Generally, a photo means a unit that represents an image in a specific time zone, and a slice/tile is a unit that constitutes a part of the photo. The slice/tile may include one or more coding tree units (CTUs). A photo can be made up of one or more slices/tiles. A photo can be made up of one or more groups of tiles. A tile group can include one or more tiles.

[037]Um pixel ou pel pode significar a menor unidade que constitui uma foto (ou imagem). Ademais, uma “amostra” pode ser usada como um termo que corresponde a um pixel. Uma amostra pode representar geralmente um pixel ou um valor de um pixel, e pode representar apenas um pixel/valor de pixel de um componente luma ou apenas um pixel/valor de pixel de um componente croma. Alternativamente, a amostra pode se referir a um valor de pixel no domínio espacial, ou quando esse valor de pixel é convertido no domínio de frequência, o mesmo pode se referir a um coeficiente de transformada no domínio de frequência.[037] A pixel or pel can mean the smallest unit that constitutes a photo (or image). Furthermore, a “sample” can be used as a term that corresponds to a pixel. A swatch may generally represent a pixel or a value of a pixel, and may represent only a pixel/pixel value of a luma component or only a pixel/pixel value of a chroma component. Alternatively, the sample may refer to a pixel value in the spatial domain, or when that pixel value is converted to the frequency domain, it may refer to a transform coefficient in the frequency domain.

[038]Uma unidade pode representar a unidade básica de processamento de imagem. A unidade pode incluir pelo menos uma dentre uma região específica e informações relacionadas à região. Uma unidade pode incluir um bloco luma e dois blocos croma (por exemplo, cb, cr). A unidade e um termo, tal como um bloco, uma área ou similares podem ser usados no lugar um do outro, de acordo com as circunstâncias. Em um caso geral, um bloco M x N pode incluir um conjunto (ou um arranjo) de amostras (ou arranjos de amostras) ou coeficientes de transformada que consistem em colunas M e fileiras N.[038] A unit can represent the basic image processing unit. The unit can include at least one of a specific region and information related to the region. A unit may include one luma block and two chroma blocks (e.g. cb, cr). The unit and a term such as a block, an area or the like can be used in place of each other according to the circumstances. In a general case, an M x N block may include a set (or an array) of samples (or arrays of samples) or transform coefficients consisting of M columns and N rows.

[039]Neste documento, o termo "/" e "," devem ser interpretados de modo a indicar "e/ou". Por exemplo, a expressão "A/B" pode significar "A e/ou B". Ademais, "A, B" pode significar "A e/ou B". Ademais, “A/B/C" pode significar” pelo menos um dentre A, B, e/ou C". Além disso, "A/B/C" pode significar "pelo menos um dentre A, B, e/ou C".[039] In this document, the term "/" and "," must be interpreted to indicate "and/or". For example, the expression "A/B" can mean "A and/or B". Furthermore, "A, B" can mean "A and/or B". Furthermore, “A/B/C” may mean “at least one of A, B, and/or C”. Furthermore, "A/B/C" can mean "at least one of A, B, and/or C".

[040]Ademais, no documento, o termo "ou" deve ser interpretado de modo a indicar "e/ou". Por exemplo, a expressão "A ou B" pode incluir 1) apenas A, 2) apenas B, e/ou 3) tanto A como B. Em outras palavras, o termo "ou" neste documento deve ser interpretado de modo a indicar "adicional ou alternativamente".[040] Furthermore, in the document, the term "or" must be interpreted to indicate "and/or". For example, the expression "A or B" may include 1) A only, 2) B only, and/or 3) both A and B. In other words, the term "or" in this document should be interpreted to indicate "additionally or alternatively".

[041]A Figura 1 ilustra esquematicamente um exemplo de um sistema de codificação de vídeo/imagem ao qual a presente revelação é aplicável.[041] Figure 1 schematically illustrates an example of a video/image coding system to which the present disclosure is applicable.

[042]Com referência à Figura 1, o 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 transmissão contínua para o dispositivo de recepção através de um meio ou rede de armazenamento digital.[042] With reference to Figure 1, the video/image coding system may include a first device (source device) and a second device (receiving device). The source device may deliver information or encoded video/image data in the form of a file or streaming to the receiving device via a digital storage medium or network.

[043]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 chamado de um aparelho de codificação de vídeo/imagem, e o aparelho de decodificação pode ser chamado de 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 um visor, e o visor pode ser configurado como um dispositivo separado ou um componente externo.[043] 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 called a video/image encoding apparatus, and the decoding apparatus may be called a video/image decoding apparatus. The transmitter may be included in the coding apparatus. The receiver may be included in the decoding apparatus. The renderer can include a viewport, and the viewport can be configured as a separate device or an external component.

[044]A fonte de vídeo pode obter um vídeo/imagem através de um processo de captura, sintetização ou geração de um 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 anteriormente capturados ou similares. O dispositivo de geração de vídeo/imagem pode incluir, por exemplo, um computador, um tablet e um smartphone, e pode gerar (eletronicamente) um vídeo/imagem. 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 geração de dados relacionados.[044] The video source can obtain a video/image through a process of capturing, synthesizing or generating a video/image. The video source may include a video/image capture device and/or a video/image generating device. The video/image capture device may include, for example, one or more cameras, video/image files including previously captured videos/images, or the like. The video/image generating device may include, for example, a computer, a tablet and a smartphone, and may (electronically) generate a video/image. For example, a virtual video/image can be generated using a computer or similar. In this case, the video/image capture process can be replaced by a related data generation process.

[045]O aparelho de codificação pode codificar um vídeo/imagem de entrada. O aparelho de codificação pode realizar uma série de procedimentos, tais como predição, transformação e quantização para eficiência de compactação e codificação.Os dados codificados (informações de vídeo/imagem codificadas) podem ser emitidos sob a forma de um fluxo de bits.[045] The encoding apparatus can encode an input video/image. The coding apparatus can perform a series of procedures such as prediction, transformation and quantization for compression and coding efficiency. The coded data (coded video/image information) can be output in the form of a bit stream.

[046]O transmissor pode transmitir as informações ou dados vídeo/imagem codificados sob a forma de um fluxo de bits para o receptor do dispositivo de recepção através de um meio de armazenamento digital ou uma rede sob a forma de um arquivo ou transmissão contínua. O meio de armazenamento digital pode incluir vários meios de armazenamento, tais 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 difusão/comunicação. O receptor pode receber/extrair o fluxo de bits e transmitir o fluxo de bits recebido/extraído para o aparelho de decodificação.[046] The transmitter can transmit the encoded video/image 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 continuous transmission. 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 over a broadcast/communication network. The receiver can receive/extract the bit stream and transmit the received/extracted bit stream to the decoding apparatus.

[047]O aparelho de decodificação pode decodificar um vídeo/imagem realizando-se uma série de procedimentos, tais como desquantização, transformação inversa, predição, e similares, que correspondem à operação do aparelho de codificação.[047] The decoding device can decode a video/image by carrying out a series of procedures, such as dequantization, inverse transformation, prediction, and the like, which correspond to the operation of the coding device.

[048]O renderizador pode renderizar o vídeo/imagem decodificado. O vídeo/imagem renderizado pode ser exibido através do visor.[048] The renderer can render the decoded video/image. The rendered video/image can be displayed through the viewfinder.

[049]A Figura 2 é um diagrama que ilustra esquematicamente uma configuração de um aparelho de codificação de vídeo/imagem ao qual a presente revelação é aplicável. Doravante, o que é denominado como o aparelho de codificação de vídeo pode incluir um aparelho de codificação de imagem.[049] Figure 2 is a diagram that schematically illustrates a configuration of a video/image coding apparatus to which the present disclosure is applicable. Hereinafter, what is referred to as the video coding apparatus may include an image coding apparatus.

[050]Com referência à Figura 2, o aparelho de codificação 200 pode incluir um particionador de imagem 210, um preditor 220, um processador residual 230, um codificador de entropia 240, um somador 250, um filtro 260 e uma memória 270. O preditor 220 pode incluir um interpreditor 221 e um intrapreditor 222. O processador residual 230 pode incluir um transformador 232, um quantizador 233, um desquantizador 234 um transformador inverso 235. O processador residual 230 pode incluir adicionalmente um subtrator 231. O somador 250 pode ser chamado de um reconstrutor ou gerador de bloco reconstruído. O particionador de imagem 210, o preditor 220, o processador residual 230, o codificador de entropia 240, o somador 250 e o filtro 260, que foram descritos acima, podem ser constituídos por um ou mais componentes de hardware (por exemplo, conjunto de chips ou processadores de codificador), de acordo com uma modalidade. Ademais, a memória 270 pode incluir um armazenamento temporário de foto decodificada (DPB), e pode ser constituída por um meio de armazenamento digital. O componente de hardware pode incluir adicionalmente a memória 270 como um componente interno/externo.[050] Referring to Figure 2, the coding apparatus 200 may include an image partitioner 210, a predictor 220, a residual processor 230, an entropy encoder 240, an adder 250, a filter 260, and a memory 270. 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 additionally include a subtractor 231. The adder 250 may be called a rebuilder or rebuilt block generator. The image partitioner 210, predictor 220, residual processor 230, entropy encoder 240, adder 250, and filter 260, which were described above, may be comprised of one or more hardware components (e.g., set of encoder chips or processors), according to one embodiment. Furthermore, memory 270 may include decoded photo temporary storage (DPB), and may consist of a digital storage medium. The hardware component may additionally include memory 270 as an internal/external component.

[051]O particionador de imagem 210 pode particionar uma imagem de entrada (ou uma imagem ou um quadro) inserida no aparelho de codificação 200 em uma ou mais unidades de processamento. Como um exemplo, a unidade de processamento pode ser denominada uma unidade de codificação (CU). Nesse caso, começando com uma unidade de árvore de codificação (CTU) ou a maior unidade de codificação (LCU), a unidade de codificação pode ser recursivamente particionada de acordo com a estrutura de árvore quaternária-árvore binária-árvore ternária (QTBTTT). Por exemplo, uma unidade de codificação pode ser dividida em uma pluralidade de unidades de codificação de uma profundidade mais profunda com base na estrutura de árvore quaternária, na estrutura de árvore binária e/ou na estrutura de árvore ternária. Nesse caso, por exemplo, a estrutura de árvore quaternária pode ser aplicada primeiro e a estrutura de árvore binária e/ou a estrutura de árvore ternária pode ser aplicada 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 é adicionalmente particionada. Nesse caso, a unidade de codificação máxima pode ser usada diretamente como uma unidade de codificação final com base na eficiência de codificação, de acordo com a característica de imagem. Alternativamente, a unidade de codificação pode ser recursivamente particionada em unidades de codificação de uma profundidade mais profunda, conforme necessário, de modo que a unidade de codificação de um tamanho ideal possa ser usada como uma unidade de codificação final. Aqui, o procedimento de codificação pode incluir procedimentos, tais como predição, transformação e reconstrução, que serão descritos posteriormente. Como outro exemplo, a unidade de processamento pode incluir adicionalmente 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 descrita acima. 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 de um coeficiente de transformada.[051] Image partitioner 210 can partition an input image (or an image or a frame) inserted into the encoding apparatus 200 into one or more processing units. As an example, the processing unit may be called a coding unit (CU). In this case, starting with a coding tree unit (CTU) or the largest coding unit (LCU), the coding unit can be recursively partitioned according to the quaternary tree-binary tree-ternary tree (QTBTTT) structure. For example, a coding unit can be divided into a plurality of coding units of a deeper depth based on the quaternary tree structure, the binary tree structure and/or the ternary tree structure. In this case, for example, the quaternary tree structure can be applied first and the binary tree structure and/or the ternary tree structure can be applied later. Alternatively, the binary tree structure can be applied first. The coding procedure according to the present disclosure can be carried out based on the final coding unit that is not further partitioned. In this case, the maximum coding unit can be directly used as a final coding unit based on the coding efficiency according to the image characteristic. Alternatively, the coding unit can be recursively partitioned into coding units of a deeper depth as needed, so that the coding unit of an optimal size can be used as a final coding unit. Here, the coding procedure may include procedures such as prediction, transformation and reconstruction, which will be described later. As another example, the processing unit may additionally include a prediction unit (PU) or a transform unit (TU). In this case, the prediction unit and the transform unit can be divided or partitioned from the final coding unit described above. 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 a transform coefficient.

[052]A unidade e um termo, tal como um bloco, uma área ou similares podem ser usados no lugar um do outro, de acordo com as circunstâncias. Em um caso geral, um bloco M x N pode representar um conjunto de amostras ou coeficientes de transformada que consistem em colunas M e fileiras N. A amostra pode representar geralmente um pixel ou um valor de um pixel, e pode representar apenas um pixel/valor de pixel de um componente luma ou apenas um pixel/valor de pixel de um componente croma. A amostra pode ser usada como um termo que corresponde a um pixel ou um pel de uma foto (ou imagem).[052] The unit and a term, such as a block, an area or the like, can be used in place of each other, according to the circumstances. In a general case, an M x N block may represent a set of samples or transform coefficients consisting of M columns and N rows. The sample may generally represent a pixel or a value of a pixel, and may represent only one pixel/ pixel value of a luma component or just a pixel/pixel value of a chroma component. Sample can be used as a term that corresponds to a pixel or a pel of a photo (or image).

[053]O subtrator 231 subtrai um sinal de predição (bloco predito, arranjo de amostra de predição) emitido a partir do interpreditor 221 ou do intrapreditor 222 a partir de um sinal de imagem de entrada (bloco original, arranjo de amostra original) para gerar um sinal residual (bloco residual, arranjo de amostra residual), e o sinal residual gerado é transmitido para o transformador 232. Nesse caso, conforme mostrado, uma unidade que subtrai o sinal de predição (bloco predito, arranjo de amostra de predição) do sinal de imagem de entrada (bloco original, arranjo de amostra original) no codificador 200 pode ser chamada de subtrator 231. O preditor 110 pode realizar predição em um bloco alvo de processamento (doravante chamado de “bloco atual”), e pode gerar um bloco predito que inclui amostras de predição para o bloco atual. O preditor pode determinar se a intrapredição ou interpredição é aplicada em um bloco atual ou base de CU. Conforme discutido posteriormente 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 para o 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.[053] Subtractor 231 subtracts a prediction signal (predicted block, prediction sample array) emitted from interpredictor 221 or intrapredictor 222 from an input image signal (original block, original sample array) to generate a residual signal (residual block, residual sample array), and the generated residual signal is transmitted to the transformer 232. In this case, as shown, a unit that subtracts the prediction signal (predicted block, prediction sample array) of the input image signal (original block, original sample array) in encoder 200 may be called subtractor 231. Predictor 110 may perform prediction on a processing target block (hereinafter called “current block”), and may generate a predicted block that includes prediction samples for the current block. The predictor can determine whether intraprediction or interprediction is applied on a current block or CU basis. As discussed later in the description of each prediction mode, the predictor may generate various information related to the prediction, such as prediction mode information, and transmit the generated information to the entropy encoder 240. Information about the prediction may be encoded in the entropy encoder 240 and output in the form of a bit stream.

[054]O intrapreditor 222 pode predizer o bloco atual referindo-se a amostras na foto atual. As amostras citadas podem se situar no vizinho do bloco atual ou afastado do mesmo, 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. Os modos não direcionais podem incluir, por exemplo, um modo DC e um modo planar. O modo direcional pode incluir, por exemplo, 33 modos de predição direcional ou 65 modos de predição direcional, de acordo com o grau de detalhes da direção de predição. Entretanto, isso é meramente um exemplo, e mais ou menos modos de predição direcional podem ser usados dependendo de uma configuração. O intrapreditor 222 pode determinar o modo de predição a ser aplicado ao bloco atual com o uso do modo de predição aplicado ao bloco vizinho.[054] The intrapredictor 222 can predict the current block by referring to samples in the current photo. The cited samples can be located next to the current block or far from it, depending on the prediction mode. In intraprediction, the prediction modes may include a plurality of non-directional modes and a plurality of directional modes. Non-directional modes 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, and more or less directional prediction modes can be used depending on a configuration. The intrapredictor 222 may determine the prediction mode to be applied to the current block using the prediction mode applied to the neighboring block.

[055]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 foto de referência. Nesse momento, 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 um bloco, sub-bloco ou base de amostra 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 foto de referência. As informações de movimento podem incluir adicionalmente 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 que existe na foto atual e um bloco vizinho temporal que existe na foto de referência. A foto de referência que inclui o bloco de referência e a foto de referência que inclui o bloco vizinho temporal podem ser iguais ou diferentes uma da outra. O bloco vizinho temporal pode ser chamado de um bloco de referência colocalizado, uma CU colocalizada (colCU), e similares, e a foto de referência que inclui o bloco vizinho temporal pode ser chamada de uma foto colocalizada (colPic). Por exemplo, o interpreditor 221 pode configurar uma lista de candidatos de informações de movimento com base nos blocos vizinhos e gerar informações que indicam que o candidato é usado para derivar um vetor de movimento e/ou um índice de foto 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 salto e um modo de mesclagem, o interpreditor 221 pode usar informações de movimento do bloco vizinho como informações de movimento do bloco atual. No modo de salto, diferente do modo de mesclagem, o sinal residual pode não ser transmitido. No caso do modo de predição de informações de movimento (predição de vetor de movimento, MVP), o vetor de movimento do bloco vizinho pode ser usado como um preditor de vetor de movimento e o vetor de movimento do bloco atual pode ser indicado sinalizando-se uma diferença de vetor de movimento.[055] 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 photo. At this time, in order to reduce the amount of motion information transmitted in interprediction mode, motion information can be predicted in a block, sub-block or sample base 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 photo index. The motion information may additionally 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 that exists in the current photo and a temporal neighboring block that exists in the reference photo. The reference photo that includes the reference block and the reference photo that includes the temporal neighboring block may be the same or different from each other. The temporal neighbor block can be called a co-located reference block, a co-located CU (colCU), and the like, and the reference photo that includes the temporal neighbor block can be called a co-located photo (colPic). For example, the interpredictor 221 may configure a candidate list of motion information based on neighboring blocks and generate information indicating that the candidate is used to derive a motion vector and/or a reference photo index of the current block. Interprediction can be performed based on various prediction modes. For example, in the case of a jump mode and a merge mode, the interpredictor 221 may use movement information from the neighboring block as movement information from the current block. In skip mode, unlike blending mode, the residual signal may not be transmitted. In the case of motion information prediction mode (motion vector prediction, MVP), the motion vector of the neighboring block can be used as a motion vector predictor, and the motion vector of the current block can be indicated by signaling it. if a motion vector difference.

[056]O preditor 220 pode gerar um sinal de predição com base em vários métodos de predição. Por exemplo, o preditor pode aplicar intrapredição ou interpredição para predição em um bloco, e também pode aplicar intrapredição e interpredição ao mesmo tempo. Isso pode ser chamado de inter e intrapredição combinada (CIIP). Ademais, o preditor pode se basear em uma cópia intrabloco (IBC) modo de predição, ou um modo de paleta a fim de realizar a predição em um bloco. O modo de predição IBC ou modo de paleta pode ser usado para codificação de imagem/vídeo de conteúdo de um jogo ou similares, tal como codificação de conteúdo de tela (SCC). Embora a IBC realize basicamente a predição em um bloco atual, a mesma pode ser realizada de modo similar à interpredição pelo fato de que a mesma deriva de um bloco de referência em um bloco atual. Ou seja, a IBC pode usar pelo menos uma das técnicas de interpredição descritas na presente revelação.[056] The predictor 220 can generate a prediction signal based on various prediction methods. For example, the predictor can apply intraprediction or interprediction to prediction in a block, and can also apply intraprediction and interprediction at the same time. This can be called combined inter- and intra-prediction (CIIP). Furthermore, the predictor may be based on an intra-block copy (IBC) prediction mode, or a palette mode in order to perform prediction on a block. The IBC prediction mode or palette mode can be used for image/video coding of game content or the like, such as screen content coding (SCC). Although IBC basically performs prediction in a current block, it can be performed in a similar way to interprediction due to the fact that it derives from a reference block in a current block. That is, the IBC can use at least one of the interprediction techniques described in the present disclosure.

[057]O sinal de predição gerado através do interpreditor 221 e/ou o intrapreditor 222 pode ser usado para gerar um sinal reconstruído ou para 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 transforma pode incluir pelo menos uma dentre uma transformada de cosseno discreta (DCT), uma transformada de seno discreta (DST), uma transformada de Karhunen-Loève (KLT), uma transformada baseada em gráfico (GBT) ou uma transformada condicionalmente não linear (CNT). Aqui, a GBT significa a transformada obtida a partir de um gráfico quando informações de relação entre pixels são representadas pelo gráfico. A CNT se refere à transformada obtida com base em um sinal de predição gerado com o uso de todos os pixels anteriormente reconstruídos. Além disso, o processo de transformada pode ser aplicado aos blocos de pixel quadrados que têm o mesmo tamanho ou pode ser aplicado aos blocos que têm um tamanho variável em vez do quadrado.[057] The prediction signal generated through the interpredictor 221 and/or the intrapredictor 222 can be used to generate a reconstructed signal or to generate a residual signal. Transformer 232 can 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). Here, GBT means the transform obtained from a graph when relationship information between pixels is represented by the graph. CNT refers to the transform obtained based on a prediction signal generated using all previously reconstructed pixels. Furthermore, the transform process can be applied to square pixel blocks that have the same size or can be applied to blocks that have a variable size instead of square.

[058]O quantizador 233 pode quantizar os coeficientes de transformada e transmitir os mesmos para o 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 o sinal codificado em um fluxo de bits. As informações sobre os coeficientes de transformada quantizados podem ser chamadas de informações residuais. O quantizador 233 pode reorganizar os coeficientes de transformada quantizados do tipo bloco em uma forma 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 da forma de vetor unidimensional. O codificador de entropia 240 pode realizar vários métodos de codificação, tais como, por exemplo, uma codificação exponencial de Golomb, uma codificação de comprimento variável adaptável ao contexto (CAVLC), codificação aritmética binária adaptável ao contexto (CABAC), e similares. O codificador de entropia 240 pode codificar informações necessárias para reconstrução de vídeo/imagem diferente dos coeficientes de transformada quantizados (por exemplo, valores de elementos de sintaxe, etc.) em conjunto ou separadamente. As informações codificadas (por exemplo, informações de vídeo/imagem codificadas) podem ser transmitidas ou armazenadas em uma base de unidade de uma camada de abstração de rede (NAL) sob a forma de um fluxo de bits. As informações de vídeo/imagem podem incluir adicionalmente informações sobre vários conjuntos de parâmetros, tal como um conjunto de parâmetros de adaptação (APS), um conjunto de parâmetros de foto (PPS), um conjunto de parâmetros de sequência (SPS), um conjunto de parâmetros de vídeo (VPS) ou similares. Ademais, as informações de vídeo/imagem podem incluir adicionalmente informações de restrição gerais. Na presente revelação, informações e/ou elementos de sintaxe que são transmitidos/sinalizados para o aparelho de decodificação a partir do aparelho de codificação podem ser incluídas nas informações de vídeo/imagem. As informações de vídeo/imagem podem ser codificadas através do procedimento de codificado descrito acima e incluídas no fluxo de bits. O fluxo de bits pode ser transmitido através de uma rede ou armazenado em um meio de armazenamento digital. Aqui, a rede pode incluir uma rede de difusão, uma rede de comunicação e/ou similares, e o meio de armazenamento digital pode incluir várias mídias de armazenamento, tais 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 um armazenamento (não mostrado) que armazena o mesmo, pode ser configurado como um elemento interno/externo do aparelho de codificação 200, ou o transmissor pode ser incluído no codificador de entropia 240.[058] The quantizer 233 can quantize the transform coefficients and transmit them to the entropy encoder 240, and the entropy encoder 240 can encode the quantized signal (information about the quantized transform coefficients) and output the encoded signal into a bit stream. Information about quantized transform coefficients can be called residual information. The quantizer 233 can rearrange the block-type quantized transform coefficients into a one-dimensional vector form based on a coefficient sweep order, and generate information about the quantized transform coefficients based on the quantized transform coefficients of the one-dimensional vector form. The entropy encoder 240 can perform various encoding methods, such as, for example, an exponential Golomb encoding, a context-adaptive variable-length encoding (CAVLC), context-adaptive binary arithmetic encoding (CABAC), and the like. The entropy encoder 240 may encode information necessary for video/image reconstruction other than the quantized transform coefficients (e.g., values of syntax elements, etc.) together or separately. The encoded information (e.g., encoded video/image information) may be transmitted or stored on a unit basis of a network abstraction layer (NAL) in the form of a bit stream. The video/image information may additionally include information about various parameter sets, such as an adaptation parameter set (APS), a photo parameter set (PPS), a sequence parameter set (SPS), a of video parameters (VPS) or similar. Furthermore, the video/image information may additionally include general restriction information. In the present disclosure, information and/or syntax elements that are transmitted/signaled to the decoding apparatus from the encoding apparatus may be included in the video/image information. The video/image information can be encoded using the encoding procedure described above and included in the bit stream. The bit stream can be transmitted over a network or stored on a digital storage medium. Here, the network may include a broadcast network, a communication network and/or the like, and the digital storage medium may include various storage media, such as USB, SD, CD, DVD, Blu-ray, HDD, SSD and similar. A transmitter (not shown) that transmits a signal emitted from the entropy encoder 240 and/or a store (not shown) that stores the same, may be configured as an internal/external element of the coding apparatus 200, or the transmitter may be included in the entropy encoder 240.

[059]Os coeficientes de transformada quantizados emitidos a partir do quantizador 233 podem ser usados para gerar um sinal de predição. Por exemplo, aplicando-se a desquantização e transformada inversa aos coeficientes de transformada quantizados através do desquantizador 234 e do transformador inverso 235, o sinal residual (bloco residual ou amostras residuais) pode ser reconstruído. O somador 155 adiciona o sinal residual reconstruído a um sinal de predição emitido a partir do interpreditor 221 ou do intrapreditor 222, de modo que um sinal reconstruído (foto reconstruída, bloco reconstruído, arranjo de amostra reconstruída) possa ser gerado. quando não há residual para um bloco alvo de processamento como em um caso em que o modo de salto é aplicado, o bloco predito pode ser usado como um bloco reconstruído. O somador 250 pode ser chamado de 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 alvo de processamento no bloco atual e, conforme descrito posteriormente, pode ser usado para interpredição de uma próxima foto através de filtragem.[059] The quantized transform coefficients output from the quantizer 233 can be used to generate a prediction signal. For example, by applying dequantization and inverse transform to the quantized transform coefficients through the dequantizer 234 and the inverse transformer 235, the residual signal (residual block or residual samples) can be reconstructed. Adder 155 adds the reconstructed residual signal to a prediction signal output from interpredictor 221 or intrapredictor 222 so that a reconstructed signal (reconstructed photo, reconstructed block, reconstructed sample array) can be generated. When there is no residual for a processing target block as in a case where skip mode is applied, the predicted block can be used as a reconstructed block. The 250 adder can be called a rebuilder or a rebuilt block generator. The generated reconstructed signal can be used for intraprediction of a next processing target block in the current block and, as described later, can be used for interprediction of a next photo through filtering.

[060]Entretanto, no processo de codificação e/ou reconstrução de foto, o mapeamento de luma com escalonamento de croma (LMCS) pode ser aplicado.[060] However, in the photo coding and/or reconstruction process, chroma scaling luma mapping (LMCS) can be applied.

[061]O filtro 260 pode aprimorar a qualidade de vídeo subjetiva/objetiva aplicando-se a filtragem ao sinal reconstruído. Por exemplo, o filtro 260 pode gerar uma foto reconstruída modificada aplicando-se vários métodos de filtragem à foto reconstruída, e pode armazenar a foto reconstruída modificada na memória 270, especificamente no DPB da memória 270. Os vários métodos de filtragem podem incluir, por exemplo, filtragem de desblocagem, deslocamento adaptativo de amostra, um filtro de malha adaptativo, um filtro bilateral ou similares. Conforme discutido posteriormente na descrição de cada método de filtragem, o filtro 260 pode gerar várias informações relacionadas à filtragem, e transmitir as informações geradas para o codificador de entropia 240. As informações sobre a filtragem podem ser codificadas no codificador de entropia 240 e emitidas sob a forma de um fluxo de bits.[061] Filter 260 can improve subjective/objective video quality by applying filtering to the reconstructed signal. For example, filter 260 may generate a modified reconstructed photo by applying various filtering methods to the reconstructed photo, and may store the modified reconstructed photo in memory 270, specifically in the DPB of memory 270. The various filtering methods may include, e.g. example, deblocking filtering, adaptive sample shifting, an adaptive mesh filter, a bilateral filter, or the like. As discussed later in the description of each filtering method, the filter 260 may generate various filtering-related information, and transmit the generated information to the entropy encoder 240. The filtering information may be encoded in the entropy encoder 240 and output under the form of a bit stream.

[062]A foto reconstruída modificada que foi transmitida para a memória 270 pode ser usada como uma foto de referência no interpreditor 221. Através disso, o aparelho de codificação pode evitar a incompatibilidade de predição no aparelho de codificação 100 e em um aparelho de decodificação quando a interpredição é aplicada, e também pode aprimorar a eficiência de codificação.[062] The modified reconstructed photo that has been transmitted to memory 270 can be used as a reference photo in interpredictor 221. By this, the encoding apparatus can avoid prediction incompatibility in the encoding apparatus 100 and in a decoding apparatus when interprediction is applied, and can also improve coding efficiency.

[063]A memória 270 DPB pode armazenar a foto reconstruída modificada a fim de usar a mesma como uma foto de referência no interpreditor 221. A memória 270 pode armazenar informações de movimento de um bloco na foto atual, a partir da qual as informações de movimento foram derivadas (ou codificadas) e/ou informações de movimento de blocos em uma foto já reconstruída. As informações de movimento armazenadas podem ser transmitidas para o interpreditor 221 para serem utilizadas como informações de movimento de um bloco vizinho ou informações de movimento de um bloco vizinho temporal. A memória 270 pode armazenar amostras reconstruídas de blocos reconstruídos na foto atual, e transmitir as mesmas para o intrapreditor 222.[063] DPB memory 270 can store the modified reconstructed photo for use as a reference photo in interpredictor 221. Memory 270 can store motion information for a block in the current photo, from which the motion was derived (or encoded) and/or motion information from blocks in an already reconstructed photo. The stored motion information may be transmitted to the interpredictor 221 for use as motion information of a neighboring block or motion information of a temporal neighboring block. Memory 270 may store reconstructed samples of reconstructed blocks in the current photo, and transmit the same to intrapredictor 222.

[064]A Figura 3 é um diagrama que ilustra esquematicamente uma configuração de um aparelho de decodificação de vídeo/imagem ao qual a presente revelação é aplicável.[064] Figure 3 is a diagram that schematically illustrates a configuration of a video/image decoding apparatus to which the present disclosure is applicable.

[065]Com referência à Figura 3, o aparelho de decodificação de vídeo 300 pode incluir um decodificador de entropia 310, um processador residual 320, um preditor 330, um somador 340, um filtro 350 e uma memória 360. O preditor 330 pode incluir um interpreditor 331 e um intrapreditor 332. O processador residual 320 pode incluir um desquantizador 321 e um transformador inverso 321. O decodificador de entropia 310, o processador residual 320, o preditor 330, o somador 340 e o filtro 350, que foram descritos acima, podem ser constituídos por um ou mais componentes de hardware (por exemplo, conjunto de chips ou processadores de decodificador), de acordo com uma modalidade. Ademais, a memória 360 pode incluir um armazenamento temporário de foto decodificada (DPB), e pode ser constituída por um meio de armazenamento digital. O componente de hardware pode incluir adicionalmente a memória 360 como um componente interno/externo.[065] Referring to Figure 3, video decoding apparatus 300 may include an entropy decoder 310, a residual processor 320, a predictor 330, an adder 340, a filter 350, and a memory 360. The predictor 330 may include an interpredictor 331 and an intrapredictor 332. The residual processor 320 may include a dequantizer 321 and an inverse transformer 321. The entropy decoder 310, the residual processor 320, the predictor 330, the adder 340, and the filter 350, which were described above , may be constituted by one or more hardware components (e.g., chip set or decoder processors), according to one embodiment. Furthermore, memory 360 may include decoded photo temporary storage (DPB), and may consist of a digital storage medium. The hardware component may additionally include memory 360 as an internal/external component.

[066]Quando um fluxo de bits que inclui informações de vídeo/imagem é inserido, o aparelho de decodificação 300 pode reconstruir uma imagem de modo correspondente a um processo pelo qual as informações de vídeo/imagem foram 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 obtida a partir do fluxo de bits. O aparelho de decodificação 300 pode realizar a decodificação com o uso de uma unidade de processamento aplicada no aparelho de codificação. Portanto, a unidade de processamento de decodificação pode ser, por exemplo, uma unidade de codificação, que pode ser particionada ao longo da estrutura de árvore quaternária, da estrutura de árvore binária e/ou da estrutura de árvore ternária a partir de uma unidade de árvore de codificação ou uma maior unidade de codificação. Uma ou mais unidades de transformada podem ser derivadas da unidade de codificação. E, o sinal de imagem reconstruído decodificado e emitido através do aparelho de decodificação 300 pode ser reproduzido através de um reprodutor.[066] When a bit stream that includes video/image information is input, the decoding apparatus 300 can reconstruct an image corresponding to a process by which the video/image information was processed in the encoding apparatus of Figure 2 For example, decoding apparatus 300 may derive units/blocks based on block partition-related information obtained from the bit stream. The decoding apparatus 300 may perform decoding using a processing unit applied to the encoding apparatus. Therefore, the decoding processing unit may be, for example, an encoding unit, which may be partitioned along the quaternary tree structure, the binary tree structure and/or the ternary tree structure from a coding tree or larger coding unit. One or more transform units may be derived from the coding unit. And, the reconstructed image signal decoded and output through the decoding apparatus 300 can be reproduced through a player.

[067]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 (por exemplo, informações de vídeo/imagem) necessárias para reconstrução de imagem (ou reconstrução de foto). As informações de vídeo/imagem podem incluir adicionalmente informações sobre vários conjuntos de parâmetros, tal como um conjunto de parâmetros de adaptação (APS), um conjunto de parâmetros de foto (PPS), um conjunto de parâmetros de sequência (SPS), um conjunto de parâmetros de vídeo (VPS) ou similares. Ademais, as informações de vídeo/imagem podem incluir adicionalmente informações de restrição gerais. O aparelho de decodificação pode decodificar uma foto adicionalmente com base nas informações sobre o conjunto de parâmetros e/ou as informações de restrição gerais. Na presente revelação, as informações e/ou elementos de sintaxe sinalizados e/ou recebidos, que serão descritos posteriormente, podem ser decodificados através do procedimento de decodificação e ser obtidos a partir do fluxo de bits. Por exemplo, o decodificador de entropia 310 pode decodificar informações no fluxo de bits com base em um método de codificação, tal como codificação exponencial de Golomb, CAVLC, CABAC, ou similares, e pode emitir um valor de um elemento de sintaxe necessário para reconstrução de imagem e valores quantizados de um coeficiente de transformada que se refere a um residual. Mais especificamente, um método de decodificação de entropia CABAC pode receber um bin que corresponde a cada elemento de sintaxe em um fluxo de bits, determinar um modelo de contexto com o uso de informações de elemento de sintaxe alvo de decodificação de blocos alvo de decodificação e vizinhos ou informações de símbolo/bin decodificado em uma etapa anterior, predizer a probabilidade de geração de bin de acordo com o modelo de contexto determinado e realizar a decodificação aritmética do bin para gerar um símbolo que corresponde a cada valor de elemento de sintaxe. Aqui, o método de decodificação de entropia CABAC pode atualizar o modelo de contexto com o uso de informações de um símbolo/bin decodificado para um modelo de contexto do próximo símbolo/bin após a determinação do modelo de contexto. As informações sobre predição entre informações decodificadas no decodificador de entropia 310 podem ser fornecidas para o preditor (interpreditor 332 e intrapreditor 331), e valores residuais, ou seja, coeficientes de transformada quantizados, nos quais a decodificação de entropia foi realizada no decodificador de entropia 310, e informações de parâmetro associadas podem ser inseridos no processador residual 320. O processador residual 320 pode derivar um sinal residual (bloco residual, amostras residuais, arranjo de amostra residual). Ademais, as informações sobre filtragem entre informações decodificadas no decodificador de entropia 310 podem ser fornecidas para o filtro 350. Entretanto, um receptor (não mostrado) que recebe um sinal emitido a partir do aparelho de codificação pode constituir adicionalmente o aparelho de decodificação 300 como um elemento interno/externo, e 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 chamado de um aparelho de codificação vídeo/imagem/foto, e o aparelho de decodificação pode ser classificado em um decodificador de informações (decodificador de informações de vídeo/imagem/foto) e um decodificador de amostra (decodificador de amostra de vídeo/imagem/foto). 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 somador 340, o filtro 350, a memória 360, o interpreditor 332 e o intrapreditor 331.[067] The decoding apparatus 300 can receive a signal emitted from the encoding apparatus of Figure 2, in the form of a bit stream, and the received signal can be decoded through 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 photo reconstruction). The video/image information may additionally include information about various parameter sets, such as an adaptation parameter set (APS), a photo parameter set (PPS), a sequence parameter set (SPS), a of video parameters (VPS) or similar. Furthermore, the video/image information may additionally include general restriction information. The decoding apparatus may further decode a photo based on information about the parameter set and/or general constraint information. In the present disclosure, the signaled and/or received information and/or syntax elements, which will be described later, can be decoded through the decoding procedure and be obtained from the bit stream. For example, the entropy decoder 310 may decode information in the bitstream based on a coding method, such as Golomb exponential coding, CAVLC, CABAC, or the like, and may output a value of a syntax element necessary for reconstruction. of image and quantized values of a transform coefficient that refers to a residual. More specifically, a CABAC entropy decoding method may receive a bin corresponding to each syntax element in a bitstream, determine a context model using decoding target syntax element information from decoding target blocks, and neighbors or symbol/bin information decoded in a previous step, predict the probability of bin generation according to the given context model, and perform arithmetic decoding of the bin to generate a symbol that corresponds to each syntax element value. Here, the CABAC entropy decoding method can update the context model using information from a decoded symbol/bin to a context model of the next symbol/bin after determining the context model. Prediction information between information decoded in the entropy decoder 310 may be provided to the predictor (interpredictor 332 and intrapredictor 331), and residual values, i.e., quantized transform coefficients, on which entropy decoding was performed in the entropy decoder 310, and associated parameter information may be input to the residual processor 320. The residual processor 320 may derive a residual signal (residual block, residual samples, residual sample array). Furthermore, information about filtering between information decoded in the entropy decoder 310 may be provided to the filter 350. However, a receiver (not shown) that receives a signal emitted from the encoding apparatus may additionally constitute the decoding apparatus 300 as an internal/external element, and the receiver may be a component of the entropy decoder 310. However, the decoding apparatus in accordance with the present disclosure may be called a video/image/photo encoding apparatus, and the apparatus decoding can be classified into an information decoder (video/image/photo information decoder) and a sample decoder (video/image/photo sample decoder). The information decoder may include the entropy decoder 310, and the sample decoder may include at least one of the dequantizer 321, the inverse transformer 322, the adder 340, the filter 350, the memory 360, the interpredictor 332, and the intrapredictor. 331.

[068]O desquantizador 321 pode emitir coeficientes de transformada desquantizando-se os coeficientes de transformada quantizados. O desquantizador 321 pode reorganizar os coeficientes de transformada quantizados sob a forma de um bloco bidimensional. Nesse caso, a reorganização pode realizar a reorganização com base em uma ordem de varredura de coeficiente que foi realizada no aparelho de codificação. O desquantizador 321 pode realizar a desquantização nos coeficientes de transformada quantizados com o uso do parâmetro de quantização (por exemplo, informações de tamanho de etapa de quantização), e obter coeficientes de transformada.[068] The dequantizer 321 can output transform coefficients by dequantizing the quantized transform coefficients. The dequantizer 321 can rearrange the quantized transform coefficients into the form of a two-dimensional block. In this case, the reorganization may perform the reorganization based on a coefficient sweep order that was performed in the coding apparatus. The dequantizer 321 can perform dequantization on the quantized transform coefficients using the quantization parameter (e.g., quantization step size information), and obtain transform coefficients.

[069]O desquantizador 322 obtém um sinal residual (bloco residual, arranjo de amostra residual) por transformação inversa dos coeficientes de transformada.[069] The dequantizer 322 obtains a residual signal (residual block, residual sample array) by inverse transformation of the transform coefficients.

[070]O preditor pode realizar predição no bloco atual, e gerar um bloco predito que inclui amostras de predição para o bloco atual. O preditor pode determinar se a intrapredição ou interpredição é aplicada ao bloco atual com base nas informações sobre predição emitidas a partir do decodificador de entropia 310, e pode determinar especificamente um modo de intra/interpredição.[070] The predictor can perform prediction on the current block, and generate a predicted block that includes prediction samples for the current block. The predictor may determine whether intra-prediction or inter-prediction is applied to the current block based on prediction information output from the entropy decoder 310, and may specifically determine an intra-/inter-prediction mode.

[071]O preditor pode gerar um sinal de predição com base em vários métodos de predição. Por exemplo, o preditor pode aplicar intrapredição ou interpredição para predição em um bloco, e também pode aplicar intrapredição e interpredição ao mesmo tempo. Isso pode ser chamado de inter e intrapredição combinada (CIIP). Além disso, o preditor pode realizar a cópia intrabloco (IBC) para predição em um bloco. A cópia intrabloco pode ser usada para codificação de imagem/vídeo de conteúdo de um jogo ou similares, tal como codificação de conteúdo de tela (SCC). Embora a IBC realize basicamente a predição em um bloco atual, a mesma pode ser realizada de modo similar à interpredição pelo fato de que a mesma deriva de um bloco de referência em um bloco atual. Ou seja, a IBC pode usar pelo menos uma das técnicas de interpredição descritas na presente revelação.[071] The predictor can generate a prediction signal based on various prediction methods. For example, the predictor can apply intraprediction or interprediction to prediction in a block, and can also apply intraprediction and interprediction at the same time. This can be called combined inter- and intra-prediction (CIIP). Furthermore, the predictor can perform intra-block copy (IBC) for prediction within a block. Intra-block copying can be used for image/video coding of game content or the like, such as screen content coding (SCC). Although IBC basically performs prediction in a current block, it can be performed in a similar way to interprediction due to the fact that it derives from a reference block in a current block. That is, the IBC can use at least one of the interprediction techniques described in the present disclosure.

[072]O intrapreditor 331 pode predizer o bloco atual referindo-se às amostras na foto atual. As amostras citadas podem se situar no vizinho do bloco atual ou afastado do mesmo, 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 a ser aplicado ao bloco atual com o uso do modo de predição aplicado ao bloco vizinho.[072] The intrapredictor 331 can predict the current block by referring to the samples in the current photo. The cited samples can be located next to the current block or far from it, depending on 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 to be applied to the current block using the prediction mode applied to the neighboring block.

[073]O interpreditor 332 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 foto de referência. Nesse momento, 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 um bloco, sub-bloco ou base de amostra 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 foto de referência. As informações de movimento podem incluir adicionalmente 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 que existe na foto atual e um bloco vizinho temporal que existe na foto de referência. Por exemplo, o interpreditor 332 pode configurar uma lista de candidatos de informações de movimento com base nos blocos vizinhos, e derivar um vetor de movimento e/ou um índice de foto de referência do bloco atual com base nas informações de seleção de candidatos recebidas. A interpredição pode ser realizada com base em vários modos de predição, e as informações sobre predição podem incluir informações que indicam um modo de interpredição para o bloco atual.[073] The interpredictor 332 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 photo. At this time, in order to reduce the amount of motion information transmitted in interprediction mode, motion information can be predicted in a block, sub-block or sample base 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 photo index. The motion information may additionally 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 that exists in the current photo and a temporal neighboring block that exists in the reference photo. For example, the interpredictor 332 may configure a candidate list of motion information based on neighboring blocks, and derive a motion vector and/or a reference photo index of the current block based on the received candidate selection information. Interprediction may be performed based on various prediction modes, and the prediction information may include information that indicates an interprediction mode for the current block.

[074]O somador 340 pode gerar um sinal reconstruído (foto reconstruída, bloco reconstruído, arranjo de amostra reconstruída) adicionando-se o sinal residual obtido ao sinal de predição (bloco predito, arranjo de amostra de predição) emitido a partir do preditor 330. quando não há residual para um bloco alvo de processamento como em um caso em que o modo de salto é aplicado, o bloco predito pode ser usado como um bloco reconstruído.[074] The adder 340 can generate a reconstructed signal (reconstructed photo, reconstructed block, reconstructed sample array) by adding the residual signal obtained to the prediction signal (predicted block, prediction sample array) emitted from the predictor 330 When there is no residual for a processing target block as in a case where skip mode is applied, the predicted block can be used as a reconstructed block.

[075]O somador 340 pode ser chamado de 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 alvo de processamento no bloco atual e, conforme descrito posteriormente, pode ser emitido através de filtragem ou ser usado para interpredição de uma próxima imagem.[075] Adder 340 can be called a reconstructor or a reconstructed block generator. The generated reconstructed signal can be used to intra-predict a next processing target block in the current block and, as described later, can be output through filtering or be used to inter-predict a next image.

[076]Entretanto, non processo de decodificação de foto, o mapeamento de luma com escalonamento de croma (LMCS) pode ser aplicado.[076] However, in the photo decoding process, luma mapping with chroma scaling (LMCS) can be applied.

[077]O filtro 350 pode aprimorar a qualidade de vídeo subjetiva/objetiva aplicando-se a filtragem ao sinal reconstruído. Por exemplo, o filtro 350 pode gerar uma foto reconstruída modificada aplicando-se vários métodos de filtragem à foto reconstruída, e pode transmitir a foto reconstruída modificada na memória 360, especificamente no DPB da memória 360. Os vários métodos de filtragem podem incluir, por exemplo, filtragem de desblocagem, deslocamento adaptativo de amostra, um filtro de malha adaptativo, um filtro bilateral ou similares.[077] Filter 350 can improve subjective/objective video quality by applying filtering to the reconstructed signal. For example, filter 350 may generate a modified reconstructed photo by applying various filtering methods to the reconstructed photo, and may transmit the modified reconstructed photo into memory 360, specifically the DPB of memory 360. The various filtering methods may include, e.g. example, deblocking filtering, adaptive sample shifting, an adaptive mesh filter, a bilateral filter, or the like.

[078]A foto reconstruída (modificada) que foi armazenada no DPB da memória 360 pode ser usado como uma foto de referência no interpreditor 332. A memória 360 pode armazenar informações de movimento de um bloco na foto atual, a partir da qual as informações de movimento foram derivadas (ou decodificadas) e/ou informações de movimento de blocos em uma foto já reconstruída. As informações de movimento armazenadas podem ser transmitidas para o interpreditor 260 para serem utilizadas como informações de movimento de um bloco vizinho ou informações de movimento de um bloco vizinho temporal. A memória 360 pode armazenar amostras reconstruídas de blocos reconstruídos na imagem atual, e transmitir as mesmas para o intrapreditor 331.[078] The reconstructed (modified) photo that was stored in the DPB of memory 360 can be used as a reference photo in interpredictor 332. Memory 360 can store motion information of a block in the current photo, from which information motion information was derived (or decoded) and/or motion information from blocks in an already reconstructed photo. The stored motion information may be transmitted to the interpredictor 260 for use as motion information of a neighboring block or motion information of a temporal neighboring block. Memory 360 may store reconstructed samples of reconstructed blocks in the current image, and transmit the same to intrapredictor 331.

[079]Neste relatório descritivo, os exemplos descritos sobre o preditor 330, o desquantizador 321, o transformador inverso 322 e o filtro 350 do aparelho de decodificação 300 podem ser aplicados de modo similar ou correspondente ao preditor 220, ao desquantizador 234, ao transformador inverso 235 e ao filtro 260 do aparelho de codificação 200, respectivamente.[079] In this specification, the examples described about the predictor 330, the dequantizer 321, the inverse transformer 322 and the filter 350 of the decoding apparatus 300 can be applied in a similar or corresponding way to the predictor 220, the dequantizer 234, the transformer reverse 235 and filter 260 of coding apparatus 200, respectively.

[080]Conforme descrito acima, a predição é realizada a fim de aumentar a eficiência de compactação na realização de codificação de vídeo. Através disso, um bloco predito que inclui amostras de predição para um bloco atual, que é um bloco alvo de codificação, pode ser gerado. Aqui, o bloco predito inclui amostras de predição em um domínio de espaço (ou domínio de pixel). O bloco predito pode ser derivado de modo idêntico no aparelho de codificação e no aparelho de decodificação, e o aparelho de codificação pode aumentar a eficiência de codificação de imagem sinalizando-se para o aparelho de decodificação não o valor de amostra original de um bloco original em si, mas informações sobre o residual (informações residuais) entre o bloco original e o bloco predito. O aparelho de decodificação pode derivar um bloco residual que inclui amostras residuais com base nas informações residuais, gerar um bloco reconstruído que inclui amostras reconstruídas adicionando-se o bloco residual ao bloco predito, e gerar uma foto reconstruída que inclui blocos reconstruídos.[080] As described above, the prediction is performed in order to increase compression efficiency when performing video coding. Through this, a predicted block that includes prediction samples for a current block, which is an encoding target block, can be generated. Here, the predicted block includes prediction samples in a space domain (or pixel domain). The predicted block can be derived identically in the encoding apparatus and in the decoding apparatus, and the encoding apparatus can increase the efficiency of image coding by signaling to the decoding apparatus not the original sample value of an original block. itself, but information about the residual (residual information) between the original block and the predicted block. The decoding apparatus may derive a residual block that includes residual samples based on the residual information, generate a reconstructed block that includes reconstructed samples by adding the residual block to the predicted block, and generate a reconstructed photo that includes reconstructed blocks.

[081]As informações residuais podem ser geradas através de procedimentos de transformada e quantização. Por exemplo, o aparelho de codificação pode derivar um bloco residual entre o bloco original e o bloco predito, derivar coeficientes de transformada realizando-se um procedimento de transformada nas amostras residuais (arranjo de amostra residual) incluídas no bloco residual, e derivar coeficientes de transformada quantizados realizando-se um procedimento de quantização nos coeficientes de transformada, de modo que possa sinalizar informações residuais associadas ao aparelho de decodificação (através de um fluxo de bits). Aqui, as informações residuais podem incluir informações de valor, informações de posição, uma técnica de transformada, núcleo de transformada, um parâmetro de quantização ou similares dos coeficientes de transformada quantizados. O aparelho de decodificação pode realizar um procedimento de quantização/desquantização e derivar as amostras residuais (ou bloco de amostra residual), com base nas informações residuais. O aparelho de decodificação pode gerar um bloco reconstruído com base em um bloco predito e no bloco residual. O aparelho de codificação pode derivar um bloco residual através da desquantização/transformação inversa de coeficientes de transformada quantizados para referência para interpredição de uma próxima imagem, e pode gerar uma foto reconstruída com base nisso.[081] Residual information can be generated through transform and quantization procedures. For example, the coding apparatus may derive a residual block between the original block and the predicted block, derive transform coefficients by performing a transform procedure on the residual samples (residual sample array) included in the residual block, and derive transform coefficients. quantized transform by carrying out a quantization procedure on the transform coefficients, so that it can signal residual information associated with the decoding device (through a stream of bits). Here, the residual information may include value information, position information, a transform technique, transform kernel, a quantization parameter, or the like of the quantized transform coefficients. The decoding apparatus may perform a quantization/dequantization procedure and derive the residual samples (or residual sample block) based on the residual information. The decoding apparatus may generate a reconstructed block based on a predicted block and the residual block. The encoding apparatus may derive a residual block through dequantization/inverse transformation of quantized transform coefficients for reference for interprediction of a next image, and may generate a reconstructed photo based thereon.

[082]A Figura 4 ilustra esquematicamente uma técnica de múltiplas transformadas, de acordo com uma modalidade da presente revelação.[082] Figure 4 schematically illustrates a multiple transform technique, according to an embodiment of the present disclosure.

[083]Com referência à Figura 4, um transformador pode corresponder ao transformador no aparelho de codificação da Figura 2 anteriormente mencionada, e um transformador inverso pode corresponder ao transformador inverso no aparelho de codificação da Figura 2 anteriormente mencionada, ou ao transformador inverso no aparelho de decodificação da Figura 3.[083] With reference to Figure 4, a transformer may correspond to the transformer in the coding apparatus of Figure 2 previously mentioned, and an inverse transformer may correspond to the inverse transformer in the coding apparatus of Figure 2 previously mentioned, or to the inverse transformer in the apparatus decoding method in Figure 3.

[084]O transformador pode derivar coeficientes de transformada (primária) ao realizar uma transformada primária com base em amostras residuais (arranjo de amostra residual) em um bloco residual (S410). Essa transformada primária pode ser denominada como uma transformada de núcleo. No presente documento, a transformada primária pode se basear na seleção de múltiplas transformadas (MTS), e quando uma transformada múltipla for aplicada como a transformada primária, a mesma pode ser denominada como uma transformada de múltiplos núcleos.[084] The transformer can derive transform (primary) coefficients by performing a primary transform based on residual samples (residual sample array) in a residual block (S410). This primary transform can be termed as a kernel transform. In the present document, the primary transform may be based on multiple transform selection (MTS), and when a multiple transform is applied as the primary transform, it may be referred to as a multi-core transform.

[085]A transformada de múltiplos núcleos pode representar um método de transformação adicional com o uso de transformada de cosseno discreta (DCT) tipo 2 e transformada de seno discreta (DST) tipo 7, DCT tipo 8 e/ou DST tipo 1. Ou seja, a transformada de múltiplos núcleos pode representar um método de transformada de transformação de um sinal residual (ou bloco residual) de um domínio de espaço em coeficientes de transformada (ou coeficientes de transformada primária) de um domínio de frequência com base em uma pluralidade de núcleos de transformada selecionados dentre a DCT tipo 2, a DST tipo 7, a DCT tipo 8 e a DST tipo 1. No presente documento, os coeficientes de transformada primária podem ser chamados de coeficientes de transformada temporários a partir do ponto de vista do transformador.[085] The multi-core transform may represent an additional transformation method using discrete cosine transform (DCT) type 2 and discrete sine transform (DST) type 7, DCT type 8 and/or DST type 1. Or That is, the multicore transform can represent a transform method of transforming a residual signal (or residual block) of a space domain into transform coefficients (or primary transform coefficients) of a frequency domain based on a plurality of transform cores selected from DCT type 2, DST type 7, DCT type 8 and DST type 1. In this document, the primary transform coefficients may be called temporary transform coefficients from the point of view of the transformer.

[086]Em outras palavras, quando o método de transformada convencional é aplicado, os coeficientes de transformada podem ser gerados aplicando-se a transformada a partir de um domínio de espaço a um domínio de frequência para um sinal residual (ou bloco residual) com base na DCT tipo 2. Ao contrário disso, quando a transformada de múltiplos núcleos é aplicada, coeficientes de transformada (ou coeficientes de transformada primária) podem ser gerados aplicando-se a transformada a partir de domínio de espaço a um domínio de frequência para um sinal residual (ou bloco residual) com base na DCT tipo 2, na DST tipo 7, na DCT tipo 8 e/ou DST tipo 1. No presente documento, a DCT tipo 2, a DST tipo 7, a DCT tipo 8 e a DST tipo 1 podem ser chamadas de um tipo de transformada, núcleo de transformada ou núcleo de transformada.[086] In other words, when the conventional transform method is applied, transform coefficients can be generated by applying the transform from a space domain to a frequency domain to a residual signal (or residual block) with based on DCT type 2. Contrary to this, when the multi-core transform is applied, transform coefficients (or primary transform coefficients) can be generated by applying the transform from the space domain to a frequency domain to a residual signal (or residual block) based on DCT type 2, DST type 7, DCT type 8 and/or DST type 1. In this document, DCT type 2, DST type 7, DCT type 8 and DCT type 8 DST type 1 can be called a transform type, transform kernel, or transform kernel.

[087]Para referência, os tipos de transformada DCT/DST podem ser definidos com base nas funções de base, e as funções de base podem ser representadas na Tabela a seguir.[Tabela 1] [087] For reference, DCT/DST transform types can be defined based on the basis functions, and the basis functions can be represented in the following Table. [Table 1]

[088]Se a transformada de múltiplos núcleos for realizada, então um núcleo de transformada vertical e um núcleo de transformada horizontal para um bloco alvo podem ser selecionados dentre os núcleos de transformada, uma transformada vertical para o bloco alvo pode ser realizada com base no núcleo de transformada vertical, e uma transformada horizontal para o bloco alvo pode ser realizada com base no núcleo de transformada horizontal. Aqui, a transformada horizontal pode representar uma transformada para componentes horizontais do bloco alvo, e a transformada vertical pode representar uma transformada para os componentes verticais do bloco alvo. O núcleo de transformada vertical/núcleo de transformada horizontal pode ser adaptativamente determinado com base em um modo de predição e/ou um índice de transformada de um bloco alvo (CU ou sub-bloco) que inclui um bloco residual.[088] If multi-core transform is performed, then a vertical transform core and a horizontal transform core for a target block can be selected from among the transform cores, a vertical transform for the target block can be performed based on the vertical transform core, and a horizontal transform for the target block can be performed based on the horizontal transform core. Here, the horizontal transform can represent a transform for horizontal components of the target block, and the vertical transform can represent a transform for the vertical components of the target block. The vertical transform core/horizontal transform core may be adaptively determined based on a prediction mode and/or a transform index of a target block (CU or sub-block) that includes a residual block.

[089]Ademais, de acordo com um exemplo, se a transformada primária for realizada aplicando-se a MTS, uma relação de mapeamento para núcleos de transformada pode ser definido ajustando-se as funções de base específicas a valores predeterminados e combinando funções de base a serem aplicadas na transformada vertical ou na transformada horizontal. Por exemplo, quando o núcleo de transformada horizontal é expresso como trTypeHor e o núcleo de transformada de direção vertical é expresso como trTypeVer, um valor trTypeHor ou trTypeVer de 0 pode ser definido como DCT2, um valor trTypeHor ou trTypeVer de 1 pode ser definido como DST7, e um valor trTypeHor ou trTypeVer de 2 pode ser definido como DCT8.[089] Furthermore, according to an example, if the primary transform is performed by applying MTS, a mapping relationship for transform kernels can be defined by setting specific basis functions to predetermined values and combining basis functions to be applied to the vertical transform or the horizontal transform. For example, when the horizontal transform kernel is expressed as trTypeHor and the vertical direction transform kernel is expressed as trTypeVer, a trTypeHor or trTypeVer value of 0 can be set to DCT2, a trTypeHor or trTypeVer value of 1 can be set to DST7, and a trTypeHor or trTypeVer value of 2 can be set to DCT8.

[090]Nesse caso, as informações de índice MTS podem ser codificadas e sinalizadas para o aparelho de decodificação para indicar qualquer um dentre uma pluralidade de conjuntos de núcleo de transformada. Por exemplo, um índice MTS de 0 pode indicar que tanto valores trTypeHor como trTypeVer são 0, um índice MTS de 1 pode indicar que tanto valores trTypeHor como trTypeVer são 1, um índice MTS de 2 pode indicar que o valor trTypeHor é 2 e o valor trTypeVer é 1, um índice MTS de 3 pode indicar que o valor trTypeHor é 1 e o valor trTypeVer é 2, e um índice MTS de 4 pode indicar que tanto valores trTypeHor como trTypeVer são 2.[090] In this case, the MTS index information can be encoded and signaled to the decoding apparatus to indicate any one of a plurality of transform core sets. For example, an MTS index of 0 might indicate that both trTypeHor and trTypeVer values are 0, an MTS index of 1 might indicate that both trTypeHor and trTypeVer values are 1, an MTS index of 2 might indicate that the trTypeHor value is 2, and the trTypeVer value is 1, an MTS index of 3 may indicate that the trTypeHor value is 1 and the trTypeVer value is 2, and an MTS index of 4 may indicate that both the trTypeHor and trTypeVer values are 2.

[091]O transformador pode derivar coeficientes de transformada modificados (secundária) realizando-se a transformada secundária com base nos coeficientes de transformada (primária) (S420). A transformada primária é uma transformada a partir de um domínio espacial a um domínio de frequência, e a transformada secundária se refere à transformação em uma expressão mais compressiva com o uso de uma correlação existente entre coeficientes de transformada (primária). A transformada secundária pode incluir uma transformada não separável. Nesse caso, a transformada secundária pode ser chamada de uma a transformada secundária não separável (NSST) ou uma transformada secundária não separável dependente de modo (MDNSST). A transformada secundária não separável pode representar uma transformada que gera coeficientes de transformada modificados (ou coeficientes de transformada secundária) para um sinal residual por transformação secundária, com base em uma matriz de transformada não separável, coeficientes de transformada (primária) derivados através da transformada primária. Nesse momento, a transformada vertical e a transformada horizontal não podem ser aplicadas separadamente (ou as transformadas horizontal e vertical não podem ser aplicadas independentemente) aos coeficientes de transformada (primária), porém as transformadas podem ser aplicadas de uma vez com base na matriz de transformada não separável. Em outras palavras, a transformada secundária não separável pode representar um método de transformada no qual os componentes vertical e horizontal dos coeficientes de transformada (primária) não são separados e, por exemplo, dois sinais bidimensionais (coeficientes de transformada) são reorganizados em um sinal unidimensional através de uma certa direção determinada (por exemplo, direção de primeira fileira ou direção de primeira coluna) e, então coeficientes de transformada modificados (ou coeficientes de transformada secundária) são gerados com base na matriz de transformada não separável. Por exemplo, de acordo com uma ordem de primeira fileira, os blocos M x N são dispostos em uma linha em uma ordem de uma primeira fileira, uma segunda fileira, ..., e uma Nésima fileira. De acordo com uma ordem de primeira coluna, blocos M x N são dispostos em uma linha em uma ordem de uma primeira coluna, uma segunda coluna, ., e uma Nésima coluna. A transformada secundária não separável pode ser aplicada a uma região esquerda superior de um bloco configurado com coeficientes de transformada (primária) (doravante, pode ser chamado de um bloco de coeficiente de transformada). Por exemplo, se a largura (W) e a altura (H) do bloco de coeficiente de transformada forem iguais ou maiores que 8, uma transformada secundária não separável 8x8 pode ser aplicada a uma região 8x8 esquerda superior do bloco de coeficiente de transformada. Ademais, se a largura (W) e a altura (H) do bloco de coeficiente de transformada forem iguais ou maiores que 4, e a largura (W) ou a altura (H) do bloco de coeficiente de transformada for menor que 8, então uma transformada secundária não separável 4x4 pode ser aplicada a uma região esquerda superior min(8,W) x min(8,H) do bloco de coeficiente de transformada. Entretanto, a modalidade não se limita a isso e, por exemplo, mesmo se apenas a condição de que a largura (W) ou altura (H) do bloco de coeficiente de transformada seja igual ou maior que 4 for satisfeita, a transformada secundária não separável 4x4 pode ser aplicada à região esquerda superior min(8,W)xmin(8,H) do bloco de coeficiente de transformada.[091] The transformer can derive modified transform coefficients (secondary) by performing the secondary transform based on the transform coefficients (primary) (S420). The primary transform is a transform from a spatial domain to a frequency domain, and the secondary transform refers to the transformation into a more compressive expression using an existing correlation between transform (primary) coefficients. The secondary transform may include a non-separable transform. In this case, the secondary transform can be called a non-separable secondary transform (NSST) or a mode-dependent non-separable secondary transform (MDNSST). The non-separable secondary transform may represent a transform that generates modified transform coefficients (or secondary transform coefficients) for a residual signal by secondary transformation, based on a non-separable transform matrix, transform (primary) coefficients derived through the transform primary. At this time, the vertical transform and the horizontal transform cannot be applied separately (or the horizontal and vertical transforms cannot be applied independently) to the transform (primary) coefficients, but the transforms can be applied at once based on the matrix of non-separable transform. In other words, the non-separable secondary transform can represent a transform method in which the vertical and horizontal components of the (primary) transform coefficients are not separated and, for example, two two-dimensional signals (transform coefficients) are rearranged into one signal one-dimensional through a certain determined direction (e.g., first-row direction or first-column direction), and then modified transform coefficients (or secondary transform coefficients) are generated based on the non-separable transform matrix. For example, according to a first-row order, the M x N blocks are arranged in a row in an order of a first row, a second row, ..., and an Nth row. According to a first column order, M x N blocks are arranged in a row in an order of a first column, a second column, ., and an Nth column. The non-separable secondary transform can be applied to an upper left region of a block configured with (primary) transform coefficients (hereinafter, it can be called a transform coefficient block). For example, if the width (W) and height (H) of the transform coefficient block are equal to or greater than 8, an 8x8 non-separable secondary transform can be applied to a top left 8x8 region of the transform coefficient block. Furthermore, if the width (W) and height (H) of the transform coefficient block are equal to or greater than 4, and the width (W) or height (H) of the transform coefficient block is less than 8, then a 4x4 non-separable secondary transform can be applied to an upper left min(8,W) x min(8,H) region of the transform coefficient block. However, the embodiment is not limited to this and, for example, even if only the condition that the width (W) or height (H) of the transform coefficient block is equal to or greater than 4 is satisfied, the secondary transform does not separable 4x4 can be applied to the upper left min(8,W)xmin(8,H) region of the transform coefficient block.

[092]Especificamente, por exemplo, se um bloco de entrada 4x4 for usado, a transformada secundária não separável pode ser realizada da seguinte forma.[092] Specifically, for example, if a 4x4 input block is used, the non-separable secondary transform can be performed as follows.

[093]O bloco de entrada 4x4 X pode ser representado da seguinte forma.[Equação 1] [093]The 4x4 X input block can be represented as follows.[Equation 1]

[094]Se X é representado sob a forma de um vetor, o vetor pode ser representado conforme abaixo.[Equação 2] [094] If X is represented in the form of a vector, the vector can be represented as below.[Equation 2]

[095]Na Equação 2, o vectoré um vetor unidimensional obtido reorganizando-se o bloco bidimensional X da Equação 1, de acordo com a ordem de primeira fileira.[095]In Equation 2, the vector is a one-dimensional vector obtained by rearranging the two-dimensional block X of Equation 1, according to the first row order.

[096]Nesse caso, a transformada não separável secundária pode ser calculada conforme abaixo.[Equação 3] [096]In this case, the secondary non-separable transform can be calculated as below.[Equation 3]

[097]Nessa equação, representa um vetor de coeficiente de transformada, e T representa uma matriz de transformada (não separável) 16x16.[097] In this equation, represents a transform coefficient vector, and T represents a 16x16 transform (non-separable) matrix.

[098]Através da Equação 3 anteriormente mencionada, um vetor de coeficiente de transformada 16x1 pode ser derivado, e pode ser reorganizado em um bloco 4x4 através de uma ordem de varredura (horizontal, vertical, diagonal e similares). Entretanto, o cálculo descrito acima é um exemplo, e a transformada de hipercubo-Givens (HyGT) ou similares pode ser usada para o cálculo da transformada secundária não separável a fim de reduzir a complexidade computacional da transformada secundária não separável.[098] Through the previously mentioned Equation 3, a vector with transform coefficient 16x1 can be derived, and can be rearranged into a 4x4 block through a scan order (horizontal, vertical, diagonal and the like). However, the calculation described above is an example, and the hypercube-Givens transform (HyGT) or similar can be used to calculate the non-separable secondary transform in order to reduce the computational complexity of the non-separable secondary transform.

[099]Entretanto, na transformada secundária não separável, um núcleo de transformada (ou núcleo de transformada, tipo de transformada) pode ser selecionado para ser dependente de modo. Nesse caso, o modo pode incluir o modo de intrapredição e/ou o modo de interpredição.[099] However, in the non-separable secondary transform, a transform kernel (or transform kernel, transform type) can be selected to be mode dependent. In this case, the mode may include the intraprediction mode and/or the interprediction mode.

[0100]Conforme descrito acima, a transformada secundária não separável pode ser realizada com base em uma transformada 8x8 ou uma transformada 4x4 determinada com base na largura (W) e na altura (H) do bloco de coeficiente de transformada. A transformada 8x8 se refere a uma transformada que é aplicável a uma região 8x8 incluída no bloco de coeficiente de transformada quando tanto W como H são iguais ou maiores que 8, e a região 8x8 pode ser uma região 8x8 esquerda superior no bloco de coeficiente de transformada. De modo similar, a transformada 4x4 se refere a uma transformada que é aplicável a uma região 4x4 incluída no bloco de coeficiente de transformada quando tanto W como H são iguais ou maiores que 4, e a região 4x4 pode ser uma região 4x4 esquerda superior no bloco de coeficiente de transformada. . Por exemplo, uma matriz de núcleo de transformada 8x8 pode ser uma matriz 64x64/16x64, e uma matriz de núcleo de transformada 4x4 pode ser uma matriz 16x16/8x16.[0100] As described above, the non-separable secondary transform can be performed based on an 8x8 transform or a 4x4 transform determined based on the width (W) and height (H) of the transform coefficient block. The 8x8 transform refers to a transform that is applicable to an 8x8 region included in the transform coefficient block when both W and H are equal to or greater than 8, and the 8x8 region may be an upper left 8x8 region in the transform coefficient block. transformed. Similarly, the 4x4 transform refers to a transform that is applicable to a 4x4 region included in the transform coefficient block when both W and H are equal to or greater than 4, and the 4x4 region can be an upper left 4x4 region in the transform coefficient block. . For example, an 8x8 transform kernel matrix can be a 64x64/16x64 matrix, and a 4x4 transform kernel matrix can be a 16x16/8x16 matrix.

[0101]Aqui, para selecionar um núcleo de transformada baseado em modo, três núcleos de transformada secundária não separável podem ser configuradas por conjunto de transformadas para a transformada secundária não separável tanto para a transformada 8x8 como a transformada 4x4, e pode haver 35 conjuntos de transformadas. Ou seja, 35 conjuntos de transformadas podem ser configurados para a transformada 8x8, e 35 conjuntos de transformadas podem ser configurados para a transformada 4x4. Nesse caso, três núcleos de transformada 8x8 podem ser incluídos em cada um dos 35 conjuntos de transformadas para a transformada 8x8, e três núcleos de transformada 4x4 podem ser incluídos em cada um dos 35 conjuntos de transformadas para a transformada 4x4. Os tamanhos das transformadas, os números de conjuntos e os números de núcleos de transformada em cada conjunto mencionado acima são meramente para ilustração. Em vez disso, um tamanho diferente de 8x8 ou 4x4 pode ser usado, n conjuntos podem ser configurados e k núcleos de transformada podem ser incluídos em cada conjunto.[0101] Here, to select a mode-based transform core, three non-separable secondary transform cores can be configured per transform set for the non-separable secondary transform for both the 8x8 transform and the 4x4 transform, and there can be 35 sets of transforms. That is, 35 sets of transforms can be configured for the 8x8 transform, and 35 sets of transforms can be configured for the 4x4 transform. In this case, three 8x8 transform cores can be included in each of the 35 transform sets for the 8x8 transform, and three 4x4 transform cores can be included in each of the 35 transform sets for the 4x4 transform. The transform sizes, set numbers, and numbers of transform kernels in each set mentioned above are for illustration only. Instead, a size other than 8x8 or 4x4 can be used, n sets can be configured, and k transform cores can be included in each set.

[0102]O conjunto de transformadas pode ser chamado de um conjunto de NSST, e o núcleo de transformada no conjunto de NSST pode ser chamado de um núcleo de NSST. A seleção de um conjunto específico dentre os conjuntos de transformadas pode ser realizada, por exemplo, com base no modo de intrapredição do bloco alvo (CU ou sub-bloco).[0102] The set of transforms can be called an NSST set, and the transform kernel in the NSST set can be called an NSST kernel. The selection of a specific set among the transform sets can be performed, for example, based on the intraprediction mode of the target block (CU or sub-block).

[0103]Para referência, como um exemplo, o modo de intrapredição pode incluir dois modos de intrapredição não direcional (ou não angular) e 65 modos de intrapredição direcional (ou angular). Os modos de intrapredição não direcional podem incluir um modo de intrapredição planar n° 0, e um modo de intrapredição DC n° 1, e os modos de intrapredição direcional podem incluir 65 modos de intrapredição entre um modo de intrapredição n° 2 e um modo de intrapredição n° 66. Entretanto, esse é um exemplo, e a presente revelação pode ser aplicada a um caso em que há um número diferente de modos de intrapredição. Entretanto, de acordo com as circunstâncias, um modo de intrapredição n° 67 pode ser adicionalmente usado, e o modo de intrapredição n° 67 pode representar um modo de modelo linear (LM).[0103] For reference, as an example, the intraprediction mode may include two non-directional (or non-angular) intraprediction modes and 65 directional (or angular) intraprediction modes. The non-directional intraprediction modes may include a #0 planar intraprediction mode, and a #1 DC intraprediction mode, and the directional intraprediction modes may include 65 intraprediction modes between a #2 intraprediction mode and a of intraprediction No. 66. However, this is an example, and the present disclosure can be applied to a case in which there are a different number of intraprediction modes. However, according to the circumstances, a No. 67 intraprediction mode can be additionally used, and the No. 67 intraprediction mode can represent a linear model (LM) mode.

[0104]A Figura 5 ilustra intramodos direcionais de 65 direções de predição.[0104] Figure 5 illustrates directional intramodes of 65 prediction directions.

[0105]Com referência à Figura 5, com base no modo de intrapredição n° 34 que tem uma direção de predição diagonal ascendente esquerda, no modo de intrapredição que tem uma direcionalidade horizontal e o modo de intrapredição que tem direcionalidade vertical pode ser classificado. H e V da Figura 5 significam direcionalidade horizontal e direcionalidade vertical, respectivamente, e os números - 32 a 32 indicam deslocamentos em 1/32 unidades na posição de grade amostra. Isso pode representar um deslocamento para o valor de índice de modo. Os modos de intrapredição n° 2 a 33 têm a direcionalidade horizontal, e os modos de intrapredição n° 34 a 66 têm a direcionalidade vertical. Entretanto, estritamente falando, o modo de intrapredição n° 34 pode ser considerado como sendo nem horizontal nem vertical, porém pode ser classificado como pertencendo à direcionalidade horizontal em termos de determinação do conjunto de transformadas da transformada secundária. Isso se deve ao fato de que os dados de entrada são transpostos para serem usados para o modo de direção vertical simétrico com base no modo de intrapredição n° 34, e o método de alinhamento de dados de entrada para o modo horizontal é usado para o modo de intrapredição n° 34. A transposição de dados de entrada significa que as fileiras e colunas dos dados de bloco bidimensional MxN são comutados em dados NxM. O modo de intrapredição n° 18 e o modo de intrapredição n° 50 podem representar um modo de intrapredição horizontal e um modo de intrapredição vertical, respectivamente, e o modo de intrapredição n° 2 pode ser chamado de um modo de intrapredição diagonal ascendente direito devido ao fato de que tem um pixel de referência esquerdo e prediz em uma direção ascendente direita. Da mesma maneira, o modo de intrapredição n° 34 pode ser chamado de um modo de intrapredição diagonal descendente direito, e o modo de intrapredição n° 66 pode ser chamado de um modo de intrapredição diagonal descendente esquerdo.[0105] With reference to Figure 5, based on the intraprediction mode No. 34 that has a left-up diagonal prediction direction, the intraprediction mode that has a horizontal directionality and the intraprediction mode that has vertical directionality can be classified. H and V of Figure 5 mean horizontal directionality and vertical directionality, respectively, and the numbers - 32 to 32 indicate displacements in 1/32 units in the sample grid position. This may represent an offset to the mode index value. Intraprediction modes #2 to 33 have horizontal directionality, and intraprediction modes #34 to 66 have vertical directionality. However, strictly speaking, intraprediction mode No. 34 can be considered to be neither horizontal nor vertical, but can be classified as belonging to horizontal directionality in terms of determining the set of transforms of the secondary transform. This is due to the fact that the input data is transposed to be used for the symmetric vertical direction mode based on intraprediction mode No. 34, and the input data alignment method for the horizontal mode is used for the intraprediction mode No. 34. Input data transposition means that the rows and columns of MxN two-dimensional block data are switched into NxM data. Intraprediction mode No. 18 and intraprediction mode No. 50 can represent a horizontal intraprediction mode and a vertical intraprediction mode, respectively, and intraprediction mode No. 2 can be called a right-up diagonal intraprediction mode due to the fact that it has a left reference pixel and predicts in a right ascending direction. Similarly, intraprediction mode No. 34 can be called a right-descending diagonal intraprediction mode, and intraprediction mode No. 66 can be called a left-descending diagonal intraprediction mode.

[0106]Nesse caso, o mapeamento entre os 35 conjuntos de transformadas e os modos de intrapredição podem ser, por exemplo, representados como na tabela a seguir. Para referência, se um modo LM for aplicado a um bloco alvo, a transformada secundária não pode aplicada ao bloco alvo.[Tabela 2] [0106] In this case, the mapping between the 35 sets of transforms and the intraprediction modes can be, for example, represented as in the following table. For reference, if an LM mode is applied to a target block, the secondary transform cannot be applied to the target block.[Table 2]

[0107]Entretanto, se um conjunto específico for determinado para ser usado, um dos k núcleos de transformada no conjunto específico pode ser selecionado através do índice de transformada secundária não separável. O aparelho de codificação pode derivar um índice de transformada secundária não separável que indica um núcleo de transformada específico com base na verificação de distorção de taxa (RD), e pode sinalizar o índice de transformada secundária não separável para o aparelho de decodificação. O aparelho de decodificação pode selecionar um dentre k núcleos de transformada no conjunto específico com base no índice de transformada secundária não separável. Por exemplo, o valor de índice NSST 0 pode indicar um primeiro núcleo de transformada secundária não separável, o valor de índice NSST 1 pode indicar um segundo núcleo de transformada secundária não separável, e o valor de índice NSST 2 pode indicar um terceiro núcleo de transformada secundária não separável. Alternativamente, o valor de índice NSST 0 pode indicar que a primeira transformada secundária não separável não é aplicada a um bloco alvo, e os valores de índice NSST 1 a 3 podem indicar os três núcleos de transformada.[0107] However, if a specific set is determined to be used, one of the k transform cores in the specific set can be selected through the non-separable secondary transform index. The encoding apparatus may derive a non-separable secondary transform index that indicates a specific transform core based on the rate distortion (RD) check, and may signal the non-separable secondary transform index to the decoding apparatus. The decoding apparatus may select one of k transform cores in the specific set based on the non-separable secondary transform index. For example, the NSST index value 0 may indicate a first non-separable secondary transform kernel, the NSST index value 1 may indicate a second non-separable secondary transform kernel, and the NSST 2 index value may indicate a third non-separable secondary transform kernel. non-separable secondary transform. Alternatively, the NSST index value 0 may indicate that the first non-separable secondary transform is not applied to a target block, and the NSST index values 1 to 3 may indicate the three transform cores.

[0108]Referindo-se novamente à Figura 4, o transformador pode realizar a transformada secundária não separável com base nos núcleos de transformada selecionados, e pode obter coeficientes de transformada modificados (secundária). Conforme descrito acima, os coeficientes de transformada modificados podem ser derivados como coeficientes de transformada quantizados através do quantizador, e podem ser codificados e sinalizados para o aparelho de decodificação e transferidos para o desquantizador/transformador inverso no aparelho de codificação.[0108] Referring again to Figure 4, the transformer can perform the non-separable secondary transform based on the selected transform cores, and can obtain modified transform coefficients (secondary). As described above, the modified transform coefficients can be derived as quantized transform coefficients via the quantizer, and can be encoded and signaled to the decoding apparatus and transferred to the dequantizer/inverse transformer in the encoding apparatus.

[0109]Entretanto, conforme descrito acima, se a transformada secundária for omitida, coeficientes de transformada (primária), que são uma saída da transformada primária (separável), podem ser derivados como coeficientes de transformada quantizados através do quantizador conforme descrito acima, e podem ser codificados e sinalizados para o aparelho de decodificação e transferidos para o desquantizador/transformador inverso no aparelho de codificação.[0109] However, as described above, if the secondary transform is omitted, (primary) transform coefficients, which are an output of the primary (separable) transform, can be derived as quantized transform coefficients through the quantizer as described above, and can be encoded and signaled to the decoding apparatus and transferred to the dequantizer/inverse transformer in the encoding apparatus.

[0110]O transformador inverso pode realizar uma série de procedimentos na ordem inversa àquela na qual eles foram realizados no transformador descrito acima. O transformador inverso pode receber coeficientes de transformador (desquantizados), e derivar coeficientes de transformada (primária) realizando-se uma transformada secundária (inversa) (S450), e pode obter um bloco residual (amostras residuais) realizando-se a transformada primária (inversa) nos coeficientes de transformada (primária) (S460). Nessa conexão, os coeficientes de transformada primária podem ser chamados de coeficientes de transformada modificados a partir do ponto de vista do transformador inverso. Conforme descrito acima, o aparelho de codificação e o aparelho de decodificação podem gerar o bloco reconstruído com base no bloco residual e no bloco predito, e podem gerar a foto reconstruída com base no bloco reconstruído.[0110] The inverse transformer can perform a series of procedures in the reverse order to that in which they were performed in the transformer described above. The inverse transformer can receive transformer coefficients (dequantized), and derive transform (primary) coefficients by performing a secondary (inverse) transform (S450), and can obtain a residual block (residual samples) by performing the primary transform ( inverse) in the (primary) transform coefficients (S460). In this connection, the primary transform coefficients can be called modified transform coefficients from the point of view of the inverse transformer. As described above, the encoding apparatus and the decoding apparatus can generate the reconstructed block based on the residual block and the predicted block, and can generate the reconstructed photo based on the reconstructed block.

[0111]O aparelho de decodificação pode incluir adicionalmente um determinador de aplicação de transformada inversa secundária (ou um elemento para determinar se deve aplicar uma transformada inversa secundária) e um determinador de transformada inversa secundária (ou um elemento para determinar uma transformada inversa secundária). O determinador de aplicação de transformada inversa secundária pode determinar se deve aplicar uma transformada inversa secundária. Por exemplo, a transformada inversa secundária pode ser uma NSST ou uma RST, e o determinador de aplicação de transformada inversa secundária pode determinar se deve aplicar a transformada inversa secundária com base em um sinalizador de transformada secundária obtido pela análise do fluxo de bits. Em outro exemplo, o determinador de aplicação de transformada inversa secundária pode determinar se deve aplicar a transformada inversa secundária com base em um coeficiente de transformada de um bloco residual.[0111] The decoding apparatus may additionally include a secondary inverse transform applying determiner (or an element for determining whether to apply a secondary inverse transform) and a secondary inverse transform determining (or an element for determining a secondary inverse transform) . The secondary inverse transform application determiner can determine whether to apply a secondary inverse transform. For example, the secondary inverse transform may be an NSST or an RST, and the secondary inverse transform application determiner may determine whether to apply the secondary inverse transform based on a secondary transform flag obtained by analyzing the bit stream. In another example, the secondary inverse transform application determiner may determine whether to apply the secondary inverse transform based on a transform coefficient of a residual block.

[0112]O determinador de transformada inversa secundária pode determinar uma transformada inversa secundária. Nesse caso, o determinador de transformada inversa secundária pode determinar a transformada inversa secundária aplicada ao bloco atual com base em um conjunto de transformadas NSST (ou RST) especificado de acordo com um modo de intrapredição. Em uma modalidade, um método de determinação de transformada secundária pode ser determinado dependendo de um método de determinação de transformada primária. Várias combinações de transformadas primárias e transformadas secundárias podem ser determinadas de acordo com o modo de intrapredição. Ademais, em um exemplo, o determinador de transformada inversa secundária pode determinar uma região na qual uma transformada inversa secundária é aplicada com base no tamanho do bloco atual.[0112] The secondary inverse transform determiner can determine a secondary inverse transform. In this case, the secondary inverse transform determiner may determine the secondary inverse transform applied to the current block based on a set of NSST (or RST) transforms specified according to an intraprediction mode. In one embodiment, a secondary transform determination method may be determined depending on a primary transform determination method. Various combinations of primary transforms and secondary transforms can be determined according to the intraprediction mode. Furthermore, in one example, the secondary inverse transform determiner may determine a region in which a secondary inverse transform is applied based on the current block size.

[0113]Entretanto, conforme descrito acima, se a transformada secundária (inversa) for omitida, coeficientes de transformada (desquantizados) podem ser recebidos, a transformada inversa primária (separável) pode ser realizada, e o bloco residual (amostras residuais) pode ser obtido. Conforme descrito acima, o aparelho de codificação e o aparelho de decodificação podem gerar o bloco reconstruído com base no bloco residual e no bloco predito, e podem gerar a foto reconstruída com base no bloco reconstruído.[0113] However, as described above, if the secondary (inverse) transform is omitted, (dequantized) transform coefficients can be received, the primary (separable) inverse transform can be performed, and the residual block (residual samples) can be obtained. As described above, the encoding apparatus and the decoding apparatus can generate the reconstructed block based on the residual block and the predicted block, and can generate the reconstructed photo based on the reconstructed block.

[0114]Entretanto, na presente revelação, uma transformada secundária reduzida (RST) na qual o tamanho de uma matriz de transformada (núcleo) é reduzido pode ser aplicada no conceito de NSST a fim de reduzir a quantidade de computação e memória necessária para a transformada secundária não separável.[0114] However, in the present disclosure, a reduced secondary transform (RST) in which the size of a transform matrix (kernel) is reduced can be applied in the NSST concept in order to reduce the amount of computation and memory required for the non-separable secondary transform.

[0115]Entretanto, o núcleo de transformada, a matriz de transformada e o coeficiente que constitui a matriz de núcleo de transformada, ou seja, o coeficiente de núcleo ou o coeficiente de matriz, descrito na presente revelação podem ser expressos em 8 bits. Essa pode ser uma condição para implementação no aparelho de decodificação e no aparelho de codificação, e pode reduzir a quantidade de memória necessária para armazenar o núcleo de transformada com uma degradação de desempenho que pode ser razoavelmente acomodada em comparação com os 9 bits ou 10 bits existentes. Além disso, a expressão da matriz de núcleo em 8 bits permitir que um pequeno multiplicador seja usado, e pode ser mais adequada para instruções de dados múltiplos de instrução única (SIMD) usadas para implementação de software ideal.[0115] However, the transform kernel, the transform matrix and the coefficient that constitutes the transform kernel matrix, that is, the kernel coefficient or the matrix coefficient, described in the present disclosure can be expressed in 8 bits. This may be a condition for implementation in both the decoding apparatus and the encoding apparatus, and may reduce the amount of memory required to store the transform core with a performance degradation that can be reasonably accommodated compared to 9-bit or 10-bit existing. Additionally, expressing the core matrix in 8 bits allows a small multiplier to be used, and may be more suitable for single instruction multiple data (SIMD) instructions used for optimal software implementation.

[0116]No presente relatório descritivo, o termo “RST" pode significar uma transformada que é realizada em amostras residuais para um bloco alvo com base em uma matriz de transformada cujo tamanho é reduzido de acordo com um fator reduzido. No caso de realizar a transformada reduzida, a quantidade de computação necessária para transformada pode ser reduzida devido a uma redução no tamanho da matriz de transformada. Ou seja, a RST pode ser usada para resolver o problema de complexidade computacional que ocorre na transformada não separável ou na transformada de um bloco de um tamanho grande.[0116] In the present specification, the term “RST" may mean a transform that is performed on residual samples for a target block based on a transform matrix whose size is reduced according to a reduced factor. In the case of performing the reduced transform, the amount of computation required for transform can be reduced due to a reduction in the size of the transform matrix. That is, RST can be used to solve the computational complexity problem that occurs in the non-separable transform or in the transform of a block of a large size.

[0117]A RST pode ser chamada de vários termos, tal como transformada reduzida, transformada secundária reduzida, transformada de redução, transformada simplificada, transformada simples, e similares, e o nome que a RST pode ser chamada não se limita aos exemplos listados. Alternativamente, uma vez que a RST é realizada principalmente em uma região de baixa frequência que inclui um coeficiente diferente de zero em um bloco de transformada, pode ser denominada como uma Transformada Não Separável de Baixa Frequência (LFNST).[0117] RST can be called by various terms, such as reduced transform, reduced secondary transform, reduction transform, simplified transform, simple transform, and the like, and the name that RST can be called is not limited to the examples listed. Alternatively, since RST is performed primarily in a low-frequency region that includes a non-zero coefficient in a transform block, it can be termed as a Low-Frequency Non-Separable Transform (LFNST).

[0118]Entretanto, quando a transformada inversa secundária é realizada com base na RST, o transformador inverso 235 do aparelho de codificação 200 e o transformador inverso 322 do aparelho de decodificação 300 podem incluir uma transformada secundária reduzida inversa que deriva coeficientes de transformada modificados com base na RST inversa dos coeficientes de transformada, e uma transformada primária inversa que deriva amostras residuais para o bloco alvo com base na transformada primária inversa dos coeficientes de transformada modificados. A transformada primária inversa se refere à transformada inversa da transformada primária aplicada ao residual. Na presente revelação, a derivação de um coeficiente de transformada com base em uma transformada pode se referir à derivação de um coeficiente de transformada aplicando-se a transformada.[0118] However, when the secondary inverse transform is performed based on RST, the inverse transformer 235 of the coding apparatus 200 and the inverse transformer 322 of the decoding apparatus 300 may include an inverse reduced secondary transform that derives modified transform coefficients with based on the inverse RST of the transform coefficients, and an inverse primary transform that derives residual samples for the target block based on the inverse primary transform of the modified transform coefficients. The inverse primary transform refers to the inverse transform of the primary transform applied to the residual. In the present disclosure, deriving a transform coefficient based on a transform may refer to deriving a transform coefficient by applying the transform.

[0119]A Figura 6 é um diagrama que ilustra uma RST, de acordo com uma modalidade da presente revelação.[0119] Figure 6 is a diagram illustrating an RST, in accordance with an embodiment of the present disclosure.

[0120]No presente relatório descritivo, o termo "bloco alvo" pode significar um bloco atual ou um bloco residual no qual a codificação é realizada.[0120] In the present specification, the term "target block" may mean a current block or a residual block in which coding is performed.

[0121]Na RST, de acordo com um exemplo, um vetor N-dimensional pode ser mapeado para um vetor R-dimensional situado em outro espaço, de modo que a matriz de transformada reduzida possa ser determinada, em que R é menor que N. N pode significar o quadrado do comprimento de um lado de um bloco ao qual a transformada é aplicada, ou o número total de coeficientes de transformada que corresponde a um bloco ao qual a transformada é aplicada, e o fator reduzido pode significar um valor R/N. O fator reduzido pode ser denominado como um fator reduzido, fator de redução, fator simplificado, fator simples ou outros vários termos. Entretanto, R pode ser denominado como um coeficiente reduzido, porém de acordo com as circunstâncias, o fator reduzido pode significar R. Ademais, de acordo com as circunstâncias, o fator reduzido pode significar o valor N/R.[0121] In RST, according to an example, an N-dimensional vector can be mapped to an R-dimensional vector located in another space, so that the reduced transform matrix can be determined, where R is less than N .N can mean the square of the length of a side of a block to which the transform is applied, or the total number of transform coefficients corresponding to a block to which the transform is applied, and the reduced factor can mean an R value /N. The reduced factor can be termed as a reduced factor, reduction factor, simplified factor, simple factor or other various terms. However, R can be termed as a reduced coefficient, but according to the circumstances, the reduced factor can mean R. Furthermore, according to the circumstances, the reduced factor can mean the N/R value.

[0122]Em um exemplo, o fator reduzido ou o coeficiente reduzido pode ser sinalizado através de um fluxo de bits, porém o exemplo não se limita a isso. Por exemplo, um valor predefinido para o fator reduzido ou o coeficiente reduzido pode ser armazenado em cada um dentre o aparelho de codificação 200 e o aparelho de decodificação 300 e, nesse caso, o fator reduzido ou o coeficiente reduzido não pode ser sinalizado separadamente.[0122] In an example, the reduced factor or reduced coefficient can be signaled through a bit stream, but the example is not limited to this. For example, a predefined value for the reduced factor or the reduced coefficient may be stored in each of the encoding apparatus 200 and the decoding apparatus 300, and in this case the reduced factor or the reduced coefficient cannot be signaled separately.

[0123]O tamanho da matriz de transformada reduzida, de acordo com um exemplo pode ser RxN menor que N x N, o tamanho de uma matriz de transformada convencional, e pode ser definido como na Equação abaixo.[Equação 4] [0123]The size of the reduced transform matrix, according to an example, may be RxN less than N x N, the size of a conventional transform matrix, and may be defined as in Equation below.[Equation 4]

[0124]A matriz T no bloco de Transformada Reduzido mostrada na Figura 6A pode significar a matriz TRxN da Equação 4. Conforme mostrado na Figura 6A, quando a matriz de transformada reduzida TRxN é multiplicada pelas amostras residuais para o bloco alvo, coeficientes de transformada para o bloco alvo podem ser derivados.[0124] The matrix T in the Reduced Transform block shown in Figure 6A may mean the TRxN matrix of Equation 4. As shown in Figure 6A, when the reduced transform matrix TRxN is multiplied by the residual samples for the target block, transform coefficients for the target block can be derived.

[0125]Em um exemplo, se o tamanho do bloco ao qual a transformada é aplicada for 8x8 e R =16 (isto é, R/N = 16/64 = 1/4), então a RST de acordo com Figura 6A pode ser expressa como uma operação de matriz conforme mostrado na Equação 5 abaixo. Nesse caso, o cálculo de memória e multiplicação pode ser reduzido para aproximadamente 1/4 pelo fator reduzido.[Equação 5] [0125] In an example, if the size of the block to which the transform is applied is 8x8 and R = 16 (i.e., R/N = 16/64 = 1/4), then the RST according to Figure 6A can be expressed as a matrix operation as shown in Equation 5 below. In this case, the memory and multiplication calculation can be reduced to approximately 1/4 by the reduced factor.[Equation 5]

[0126]Na Equação 5, r1 a r64 podem representar amostras residuais para o bloco alvo e podem ser coeficientes de transformada especificamente gerados aplicando-se uma transformada primária. Como resultado do cálculo da Equação 5, coeficientes de transformada ci para o bloco alvo podem ser derivados, e um processo de derivação de ci pode ser como na Equação 6.[Equação 6] [0126] In Equation 5, r1 to r64 may represent residual samples for the target block and may be transform coefficients specifically generated by applying a primary transform. As a result of calculating Equation 5, transform coefficients ci for the target block can be derived, and a ci derivation process can be as in Equation 6.[Equation 6]

[0127]Como resultado do cálculo da Equação 6, os coeficientes de transformada c1 a cR para o bloco alvo podem ser derivados. Ou seja, quando R=16, coeficientes de transformada c1 a c16 para o bloco alvo podem ser derivados. Se, em vez de RST, uma transformada regular for aplicada e uma matriz de transformada de tamanho 64x64 (N x N) for multiplicada pelas amostras residuais de tamanho 64x1 (Nx1), então apenas 16 (R) coeficientes de transformada são derivados para o bloco alvo devido ao fato de que a RST foi aplicada, embora 64 (N) coeficientes de transformada sejam derivados para o bloco alvo. Uma vez que o número total de coeficientes de transformada para o bloco alvo é reduzida de N para R, a quantidade de dados transmitidos pelo aparelho de codificação 200 para o aparelho de decodificação 300 diminui, então a eficiência de transmissão entre o aparelho de codificação 200 e o aparelho de decodificação 300 pode ser aprimorada.[0127] As a result of calculating Equation 6, the transform coefficients c1 to cR for the target block can be derived. That is, when R=16, transform coefficients c1 to c16 for the target block can be derived. If, instead of RST, a regular transform is applied and a transform matrix of size 64x64 (N x N) is multiplied by the residual samples of size 64x1 (Nx1), then only 16 (R) transform coefficients are derived for the target block due to the fact that RST was applied even though 64 (N) transform coefficients are derived for the target block. Once the total number of transform coefficients for the target block is reduced from N to R, the amount of data transmitted from the encoding apparatus 200 to the decoding apparatus 300 decreases, so the transmission efficiency between the encoding apparatus 200 and the decoding apparatus 300 may be improved.

[0128]Quando considerado do ponto de vista do tamanho da matriz de transformada, o tamanho da matriz de transformada regular é 64x64 (N x N), porém o tamanho da matriz de transformada reduzida é reduzido para 16x64 (RxN), então o uso de memória em um caso de realização da RST pode ser reduzido por uma razão R/N quando comparado com um caso de realização da transformada regular. Além disso, quando comparado ao número de cálculos de multiplicação N x N em um caso de uso da matriz de transformada regular, o uso da matriz de transformada reduzida pode reduzir o número de cálculos de multiplicação pela razão R/N (RxN).[0128] When considered from the point of view of the transform matrix size, the size of the regular transform matrix is 64x64 (N x N), but the size of the reduced transform matrix is reduced to 16x64 (RxN), so the use memory in a case of performing the RST can be reduced by an R/N ratio when compared to a case of performing the regular transform. Furthermore, when compared to the number of N x N multiplication calculations in a regular transform matrix use case, using the reduced transform matrix can reduce the number of multiplication calculations by the ratio R/N (RxN).

[0129]Em um exemplo, o transformador 232 do aparelho de codificação 200 pode derivar coeficientes de transformada para o bloco alvo realizando-se a transformada primária e a transformada secundária baseada em RST nas amostras residuais para o bloco alvo. Esses coeficientes de transformada podem ser transferidos para o transformador inverso do aparelho de decodificação 300, e o transformador inverso 322 do aparelho de decodificação 300 pode derivar os coeficientes de transformada modificados com base na transformada secundária reduzida inversa (RST) para os coeficientes de transformada, e pode derivar amostras residuais para o bloco alvo com base na transformada primária inversa para os coeficientes de transformada modificados.[0129] In one example, transformer 232 of coding apparatus 200 may derive transform coefficients for the target block by performing the primary transform and the RST-based secondary transform on the residual samples for the target block. These transform coefficients can be transferred to the inverse transformer of the decoding apparatus 300, and the inverse transformer 322 of the decoding apparatus 300 can derive the modified transform coefficients based on the inverse reduced secondary transform (RST) for the transform coefficients, and can derive residual samples for the target block based on the inverse primary transform for the modified transform coefficients.

[0130]O tamanho da matriz RST inversa TNxR de acordo com um exemplo é NxR menor que o tamanho N x N da matriz de transformada inversa regular, e é uma relação de transposição com a matriz de transformada reduzida TRxN mostrada na Equação 4.[0130] The size of the inverse RST matrix TNxR according to an example is NxR smaller than the N x N size of the regular inverse transform matrix, and is a transpose relationship with the reduced transform matrix TRxN shown in Equation 4.

[0131]A matriz Tt no bloco de Transformada Inv. Reduzida mostrado na Figura 6B pode significar a matriz RST inversa TRxNT (o sobrescrito T significa transpor). Quando a matriz RST inversa TRxNT é multiplicada pelos coeficientes de transformada para o bloco alvo conforme mostrado na Figura 6B, os coeficientes de transformada modificados para o bloco alvo ou as amostras residuais para o bloco alvo podem ser derivados. A matriz RST inversa TRxNT pode ser expressa como (TRxNT)NxR.[0131] The matrix Tt in the Reduced Inv Transform block shown in Figure 6B may mean the inverse RST matrix TRxNT (the superscript T means transpose). When the inverse RST matrix TRxNT is multiplied by the transform coefficients for the target block as shown in Figure 6B, the modified transform coefficients for the target block or the residual samples for the target block can be derived. The inverse RST matrix TRxNT can be expressed as (TRxNT)NxR.

[0132]Mais especificamente, quando a RST inversa é aplicada como a transformada inversa secundária, os coeficientes de transformada modificados para o bloco alvo podem ser derivados quando a matriz RST inversa TRxNT é multiplicada pelos coeficientes de transformada para o bloco alvo. Entretanto, a RST inversa pode ser aplicada como a transformada primária inversa e, nesse caso, as amostras residuais para o bloco alvo podem ser derivadas quando a matriz RST inversa TRxNT é multiplicada pelos coeficientes de transformada para o bloco alvo.[0132] More specifically, when the inverse RST is applied as the secondary inverse transform, the modified transform coefficients for the target block can be derived when the inverse RST matrix TRxNT is multiplied by the transform coefficients for the target block. However, the inverse RST can be applied as the inverse primary transform, in which case the residual samples for the target block can be derived when the inverse RST matrix TRxNT is multiplied by the transform coefficients for the target block.

[0133]Em um exemplo, se o tamanho do bloco ao qual a transformada inversa é aplicada for 8x8 e R =16 (isto é, R/N = 16/64 = 1/4), então a RST de acordo com Figura 6B pode ser expressa como uma operação de matriz conforme mostrado na Equação 7 abaixo.[Equação 7] [0133] In an example, if the size of the block to which the inverse transform is applied is 8x8 and R = 16 (i.e., R/N = 16/64 = 1/4), then the RST according to Figure 6B can be expressed as a matrix operation as shown in Equation 7 below.[Equation 7]

[0134]Na Equação 7, c1 a c16 podem representar os coeficientes de transformada para o bloco alvo. Como resultado do cálculo da Equação 7, rj que representa os coeficientes de transformada modificados para o bloco alvo ou as amostras residuais para o bloco alvo podem ser derivados, e o processo de derivação rj pode ser como no Equação 8.[Equação 8] [0134] In Equation 7, c1 to c16 can represent the transform coefficients for the target block. As a result of calculating Equation 7, rj representing the modified transform coefficients for the target block or the residual samples for the target block can be derived, and the derivation process rj can be as in Equation 8.[Equation 8]

[0135]Como resultado do cálculo da Equação 8, r1 a rN que representam os coeficientes de transformada modificados para o bloco alvo ou as amostras residuais para o bloco alvo podem ser derivados. Quando considerado do ponto de vista do tamanho da matriz de transformada inversa, o tamanho da matriz de transformada inversa regular é 64x64 (NxN), porém o tamanho da matriz de transformada inversa reduzida é reduzido para 64x16 (RxN), então o uso de memória em um caso de realização da inversa RST pode ser reduzido por uma razão R/N quando comparado com um caso de realização da transformada inversa regular. Além disso, quando comparado ao número de cálculos de multiplicação N x N em um caso de uso da matriz de transformada inversa regular, o uso da matriz de transformada inversa reduzida pode reduzir o número de cálculos de multiplicação pela razão R/N (NxR).[0135] As a result of calculating Equation 8, r1 to rN representing the modified transform coefficients for the target block or the residual samples for the target block can be derived. When considered from the point of view of the inverse transform matrix size, the size of the regular inverse transform matrix is 64x64 (NxN), but the size of the reduced inverse transform matrix is reduced to 64x16 (RxN), so the memory usage in a case of performing the inverse RST can be reduced by a ratio R/N when compared to a case of performing the regular inverse transform. Furthermore, when compared to the number of N x N multiplication calculations in a regular inverse transform matrix use case, using the reduced inverse transform matrix can reduce the number of multiplication calculations by the ratio R/N (NxR) .

[0136]Uma configuração de conjunto de transformadas mostrada na Tabela 2 também pode ser aplicada a uma RST 8x8. Ou seja, a RST 8x8 pode ser aplicada de acordo com um conjunto de transformadas na Tabela 2. Uma vez que o conjunto de transformadas inclui duas ou três transformadas (núcleos) de acordo com um modo de intrapredição, o mesmo pode ser configurado para selecionar até quatro transformadas incluindo aquelas em um caso em que nenhuma transformada secundária é aplicada. Em uma transformada em que nenhuma transformada secundária é aplicada, pode-se considerar aplicar uma matriz de identidade. Presumindo que os índices 0, 1, 2 e 3 sejam respectivamente atribuídos a quatro transformadas (por exemplo, o índice 0 pode ser alocado em um caso em que uma matriz de identidade é aplicada, ou seja, um caso em que nenhuma transformada secundária é aplicada), um índice NSST como um elemento de sintaxe pode ser sinalizado para cada bloco de coeficiente de transformada designando, desse modo que uma transformada seja aplicada. Ou seja, através do índice NSST, é possível designar uma NSST 8x8 para um bloco 8x8 esquerdo superior e designar uma RST 8x8 em uma configuração de RST. A NSST 8x8 e a RST 8x8 se referem a transformadas aplicáveis a uma região 8x8 incluída no bloco de coeficiente de transformada quando tanto W como H do bloco alvo a ser transformado são iguais ou maiores que 8, e a região 8x8 pode ser uma região 8x8 esquerda superior no bloco de coeficiente de transformada. De modo similar, uma NSST 4x4 e uma RST 4x4 se referem a transformadas aplicáveis a uma região 4x4 incluída no bloco de coeficiente de transformada quando tanto W como H do bloco alvo são iguais ou maiores que 4, e a região 4x4 pode ser uma região 4x4 esquerda superior no bloco de coeficiente de transformada.[0136] A transform set configuration shown in Table 2 can also be applied to an 8x8 RST. That is, the 8x8 RST can be applied according to a set of transforms in Table 2. Since the set of transforms includes two or three transforms (kernels) according to an intraprediction mode, it can be configured to select up to four transforms including those in a case where no secondary transform is applied. In a transform where no secondary transform is applied, one might consider applying an identity matrix. Assuming that indices 0, 1, 2 and 3 are respectively assigned to four transforms (for example, index 0 can be allocated in a case where an identity matrix is applied, i.e. a case in which no secondary transform is applied), an NSST index as a syntax element can be signaled for each transform coefficient block thereby designating a transform to be applied. That is, through the NSST index, it is possible to assign an 8x8 NSST to a top left 8x8 block and assign an 8x8 RST in an RST configuration. NSST 8x8 and RST 8x8 refer to transforms applicable to an 8x8 region included in the transform coefficient block when both W and H of the target block to be transformed are equal to or greater than 8, and the 8x8 region can be an 8x8 region top left in the transform coefficient block. Similarly, a 4x4 NSST and a 4x4 RST refer to transforms applicable to a 4x4 region included in the transform coefficient block when both W and H of the target block are equal to or greater than 4, and the 4x4 region can be a region 4x4 top left in transform coefficient block.

[0137]Se a RST 8x8 (direta) ilustrada na Equação 4 for aplicada, 16 coeficientes de transformada válidos são gerados. Desse modo, se considera que 64 dados de entrada que formam a região 8x8 são reduzidos para 16 dados de saída, e apenas 1/4 da região é preenchido com coeficientes de transformada válidos a partir da perspectiva de uma região bidimensional. Consequentemente, os 16 dados de saída obtidos aplicando-se a RST 8x8 podem preencher a região esquerda superior (coeficientes de transformada 1 a 16) do bloco conforme mostrado na Figura 7.[0137] If the 8x8 (direct) RST illustrated in Equation 4 is applied, 16 valid transform coefficients are generated. In this way, it is considered that 64 input data that form the 8x8 region are reduced to 16 output data, and only 1/4 of the region is filled with valid transform coefficients from the perspective of a two-dimensional region. Consequently, the 16 output data obtained by applying RST 8x8 can fill the upper left region (transform coefficients 1 to 16) of the block as shown in Figure 7.

[0138]A Figura 7 é um diagrama que ilustra uma ordem de varredura de coeficiente de transformada, de acordo com uma modalidade da presente revelação. Conforme descrito acima, quando a ordem de varredura direta começa a partir de um primeiro coeficiente de transformada, a varredura reversa pode ser realizada em direções e ordens indicadas pelas setas mostradas na Figura 7 de 64° a 17° coeficientes de transformada na ordem de varredura direta.[0138] Figure 7 is a diagram illustrating a transform coefficient sweep order, in accordance with an embodiment of the present disclosure. As described above, when the forward scan order starts from a first transform coefficient, the reverse scan can be performed in directions and orders indicated by the arrows shown in Figure 7 from 64° to 17° transform coefficients in the scan order. direct.

[0139]Na Figura 7, uma região 4x4 esquerda superior é uma região de interesse (ROI) preenchida com coeficientes de transformada válidos, e a região restante está vazia. A região vazia pode ser preenchida com 0 por padrão.[0139] In Figure 7, an upper left 4x4 region is a region of interest (ROI) filled with valid transform coefficients, and the remaining region is empty. The empty region can be filled with 0 by default.

[0140]Ou seja, quando uma RST 8x8 com uma matriz de transformada direta 16x64 é aplicada à região 8x8, coeficientes de transformada de saída podem ser dispostos na região 4x4 esquerda superior, e a região em que nenhum coeficiente de transformada de saída existe pode ser preenchida com 0 (do 64° ao 17° coeficientes de transformada) de acordo com a ordem de varredura da Figura 7.[0140] That is, when an 8x8 RST with a 16x64 direct transform matrix is applied to the 8x8 region, output transform coefficients can be arranged in the upper left 4x4 region, and the region in which no output transform coefficients exist can be filled with 0 (from the 64th to the 17th transform coefficients) according to the scanning order in Figure 7.

[0141]Se um coeficiente de transformada válido diferente de zero for encontrado fora da ROI da Figura 7, é certo que a RST 8x8 não foi aplicada e, desse modo a codificação de índice NSST pode ser omitida. Pelo contrário, se um coeficiente de transformada diferente de zero não for encontrado fora da ROI da Figura 7 (por exemplo, se um coeficiente de transformada for definido como 0 em uma região diferente da ROI em um caso em que a RST 8x8 é aplicada), a RST 8x8 provavelmente foi aplicada e, desse modo a codificação de índice NSST pode ser realizada. Essa codificação de índice NSST condicional pode ser realizada após um processo de codificação residual devido ao fato de que é necessário verificar a presença ou ausência de um coeficiente de transformada diferente de zero.[0141] If a valid non-zero transform coefficient is found outside the ROI of Figure 7, it is certain that the 8x8 RST was not applied and therefore the NSST index coding can be omitted. On the contrary, if a non-zero transform coefficient is not found outside the ROI of Figure 7 (for example, if a transform coefficient is set to 0 in a region other than the ROI in a case where the 8x8 RST is applied) , RST 8x8 has probably been applied and thus NSST index encoding can be performed. This conditional NSST index coding can be performed after a residual coding process due to the fact that it is necessary to check the presence or absence of a non-zero transform coefficient.

[0142]A presente revelação revela métodos para otimizar um projeto e uma associação de uma RST que pode ser aplicada a um bloco 4x4 a partir de uma estrutura RST descrita nessa modalidade. Alguns conceitos podem ser aplicados não apenas a uma RST 4x4, mas também a uma RST 8x8 ou outros tipos de transformadas.[0142] The present disclosure discloses methods for optimizing a design and association of an RST that can be applied to a 4x4 block from an RST structure described in this embodiment. Some concepts can be applied not only to a 4x4 RST, but also to an 8x8 RST or other types of transforms.

[0143]A Figura 8 é um fluxograma que ilustra um processo de RST inversa, de acordo com uma modalidade da presente revelação.[0143] Figure 8 is a flowchart illustrating an inverse RST process, in accordance with an embodiment of the present disclosure.

[0144]Cada operação revelada na Figura 8 pode ser realizada pelo aparelho de decodificação 300 ilustrado na Figura 3. Especificamente, S800 pode ser realizada pelo desquantizador 321 ilustrado na Figura 3, e S810 e S820 podem ser realizadas pelo transformador inverso 322 ilustrado na Figura 3. Portanto, uma descrição dos detalhes específicos sobrepostos àqueles explicados acima com referência à Figura 3 será omitida ou será feita de maneira resumida. Na presente revelação, uma RST pode ser aplicada a uma transformada em uma direção direta, e uma RST inversa pode significar uma transformada aplicada a uma direção inversa.[0144] Each operation disclosed in Figure 8 can be performed by the decoding apparatus 300 illustrated in Figure 3. Specifically, S800 can be performed by the dequantizer 321 illustrated in Figure 3, and S810 and S820 can be performed by the inverse transformer 322 illustrated in Figure 3. Therefore, a description of the specific details superimposed on those explained above with reference to Figure 3 will be omitted or summarized. In the present disclosure, an RST may be applied to a transform in a forward direction, and an inverse RST may mean a transform applied in a reverse direction.

[0145]Em uma modalidade, as operações específicas de acordo com a RST inversa podem ser diferentes das operações específicas de acordo com a RST apenas, pelo fato de que suas ordens de operação são opostas uma à outra, e as operações específicas de acordo com a RST inversa podem ser substancialmente similares às operações específicas de acordo com a RST. Consequentemente, uma pessoa versada na técnica entenderá prontamente que as descrições de S800 a S820 para a RST inversa descrita abaixo podem ser aplicadas à RST da mesma maneira ou similar.[0145] In one embodiment, the specific operations according to the inverse RST may be different from the specific operations according to the RST alone, by the fact that their operation orders are opposite to each other, and the specific operations according to the inverse RST may be substantially similar to specific operations under the RST. Accordingly, a person skilled in the art will readily understand that the descriptions of S800 to S820 for the inverse RST described below can be applied to the RST in the same or similar manner.

[0146]O aparelho de decodificação 300, de acordo com uma modalidade, pode derivar os coeficientes de transformada realizando-se a desquantização nos coeficientes de transformada quantizados para o bloco alvo (S800).[0146] The decoding apparatus 300, according to one embodiment, can derive the transform coefficients by performing dequantization on the quantized transform coefficients for the target block (S800).

[0147]O aparelho de decodificação 300 pode determinar se deve aplicar uma transformada secundária inversa após uma transformada primária inversa e antes da transformada secundária inversa. Por exemplo, a transformada secundária inversa pode ser uma NSST ou uma RST. Por exemplo, o aparelho de decodificação pode determinar se deve aplicar a transformada secundária inversa com base em um sinalizador de transformada secundária analisado a partir de um fluxo de bits. Em outro exemplo, o aparelho de decodificação pode determinar se deve aplicar a transformada secundária inversa com base em um coeficiente de transformada de um bloco residual.[0147] The decoding apparatus 300 can determine whether to apply an inverse secondary transform after an inverse primary transform and before the inverse secondary transform. For example, the inverse secondary transform can be an NSST or an RST. For example, the decoding apparatus may determine whether to apply the inverse secondary transform based on a secondary transform flag parsed from a bit stream. In another example, the decoding apparatus may determine whether to apply the inverse secondary transform based on a transform coefficient of a residual block.

[0148]O aparelho de decodificação 300 pode determinar uma transformada secundária inversa. Nesse caso, o aparelho de decodificação 300 pode determinar a transformada inversa secundária aplicada ao bloco atual com base em um conjunto de transformadas NSST (ou RST) especificado de acordo com um modo de intrapredição. Em uma modalidade, um método de determinação de transformada secundária pode ser determinado dependendo de um método de determinação de transformada primária. Por exemplo, pode ser determinado aplicar uma RST ou LFNST apenas quando a DCT-2 for aplicada como um núcleo de transformada na transformada primária. Alternativamente, várias combinações de transformadas primárias e transformadas secundárias podem ser determinadas de acordo com o modo de intrapredição.[0148] The decoding apparatus 300 can determine an inverse secondary transform. In this case, the decoding apparatus 300 may determine the secondary inverse transform applied to the current block based on a set of NSST (or RST) transforms specified in accordance with an intraprediction mode. In one embodiment, a secondary transform determination method may be determined depending on a primary transform determination method. For example, it may be determined to apply an RST or LFNST only when the DCT-2 is applied as a transform kernel in the primary transform. Alternatively, various combinations of primary transforms and secondary transforms can be determined according to the intraprediction mode.

[0149]Ademais, em um exemplo, o aparelho de decodificação 300 pode determinar uma região na qual a transformada secundária inversa é aplicada com base no tamanho do bloco atual antes de determinar a transformada secundária inversa.[0149] Furthermore, in one example, the decoding apparatus 300 may determine a region in which the inverse secondary transform is applied based on the size of the current block before determining the inverse secondary transform.

[0150]O aparelho de decodificação 300, de acordo com uma modalidade, pode selecionar um núcleo de transformada (S810). Mais especificamente, o aparelho de decodificação 300 pode selecionar o núcleo de transformada com base pelo menos em uma das informações sobre um índice de transformada, uma largura e altura de uma região na qual a transformada é aplicada, um modo de intrapredição usado na decodificação de imagem e um componente de cor do bloco alvo. Entretanto, o exemplo não se limita a isso e, por exemplo, o núcleo de transformada pode ser predefinido, e informações separadas para selecionar o núcleo de transformada não podem ser sinalizadas.[0150] The decoding apparatus 300, according to one embodiment, can select a transform core (S810). More specifically, decoding apparatus 300 may select the transform core based on at least one of information about a transform index, a width and height of a region to which the transform is applied, an intraprediction mode used in decoding image and a color component of the target block. However, the example is not limited to this and, for example, the transform core may be predefined, and separate information for selecting the transform core may not be signaled.

[0151]Em um exemplo, informações sobre o componente de cor do bloco alvo podem ser indicadas através de CIdx. Se o bloco alvo for um bloco luma, CIdx pode indicar 0, e se o bloco alvo for um bloco croma, por exemplo, um bloco Cb ou um bloco Cr, então CIdx pode indicar um valor diferente de zero (por exemplo, 1).[0151] In one example, information about the color component of the target block can be indicated through CIdx. If the target block is a luma block, CIdx may indicate 0, and if the target block is a chroma block, for example a Cb block or a Cr block, then CIdx may indicate a non-zero value (e.g. 1) .

[0152]O aparelho de decodificação 300, de acordo com uma modalidade, pode aplicar a RST inversa aos coeficientes de transformada com base no núcleo de transformada selecionado e no fator reduzido (S820).[0152] The decoding apparatus 300, in accordance with one embodiment, may apply inverse RST to the transform coefficients based on the selected transform core and the reduced factor (S820).

[0153]Doravante, é proposto um método para determinar um conjunto de NSST secundária, ou seja, um conjunto de transformadas secundárias ou um conjunto de transformadas, em vista de um modo de intrapredição e o tamanho de um bloco, de acordo com uma modalidade da presente revelação.[0153] Hereinafter, a method is proposed for determining a set of secondary NSST, that is, a set of secondary transforms or a set of transforms, in view of an intraprediction mode and the size of a block, according to an embodiment of the present revelation.

[0154]Em uma modalidade, um conjunto para um bloco de transformada atual pode ser configurado com base no modo de intrapredição descrito acima aplicando, desse modo um conjunto de transformadas que inclui núcleos de transformada que têm vários tamanhos para o bloco de transformada. Os conjuntos de transformada na Tabela 3 são expressos usando 0 a 3 como na Tabela 4.[Tabela 3] [Tabela 4] [0154] In one embodiment, a set for a current transform block can be configured based on the intraprediction mode described above thereby applying a set of transforms that includes transform cores that have various sizes for the transform block. The transform sets in Table 3 are expressed using 0 to 3 as in Table 4.[Table 3] [Table 4]

[0155]Os índices 0, 2, 18 e 34 ilustrados na Tabela 3 correspondem a 0, 1, 2 e 3 na Tabela 4, respectivamente. Na Tabela 3 e na Tabela 4, apenas quatro conjuntos de transformadas são usados em vez de 35 conjuntos de transformadas, reduzindo desse modo significativamente o espaço de memória.[0155] The indices 0, 2, 18 and 34 illustrated in Table 3 correspond to 0, 1, 2 and 3 in Table 4, respectively. In Table 3 and Table 4, only four transform sets are used instead of 35 transform sets, thereby significantly reducing memory space.

[0156]Vários números de matrizes de núcleo de transformada que podem ser incluídos em cada conjunto de transformadas podem ser definidos conforme mostrado nas Tabelas a seguir.[Tabela 5][Tabela 6] [Tabela 7] [0156] Various numbers of transform kernel matrices that can be included in each set of transforms can be defined as shown in the following Tables. [Table 5] [Table 6] [Table 7]

[0157]De acordo com a Tabela 5, dois núcleos de transformada disponíveis são usados para cada conjunto de transformadas e, consequentemente, um índice de transformada se situa na faixa de 0 a 2.[0157] According to Table 5, two available transform cores are used for each set of transforms and, consequently, a transform index lies in the range of 0 to 2.

[0158]De acordo com a Tabela 6, dois núcleos de transformada disponíveis são usados para o conjunto de transformadas 0, ou seja, um conjunto de transformadas, de acordo com um modo DC e um modo planar dentre os modos de intrapredição, e um núcleo de transformada é usado para cada um dos conjuntos de transformadas restantes. Aqui, um índice de transformada disponível para o conjunto de transformadas 1 se situa na faixa de 0 a 2, e um índice de transformada para os conjuntos de transformadas restante 1 a 3 se situa na faixa de 0 a 1.[0158] According to Table 6, two available transform cores are used for the set of transforms 0, that is, a set of transforms, according to a DC mode and a planar mode among the intraprediction modes, and a transform kernel is used for each of the remaining transform sets. Here, an available transform index for transform set 1 lies in the range 0 to 2, and a transform index for the remaining transform sets 1 to 3 lies in the range 0 to 1.

[0159]De acordo com a Tabela 7, um núcleo de transformada disponível é usado para cada conjunto de transformadas e, consequentemente, um índice de transformada se situa na faixa de 0 a 1.[0159] According to Table 7, an available transform core is used for each set of transforms and, consequently, a transform index lies in the range of 0 to 1.

[0160]No mapeamento de conjunto de transformadas da Tabela 3, um total de quatro conjuntos de transformadas pode ser usado, e os quatro conjuntos de transformadas podem ser reorganizados para serem distinguidos por índices 0, 1, 2 e 3, conforme mostrado na Tabela 4. A Tabela 8 e a Tabela 9 ilustram quatro conjuntos de transformadas disponíveis para a transformada secundária, em que a Tabela 8 apresenta matrizes de núcleo de transformada aplicáveis a um bloco 8x8, e a Tabela 9 apresenta matrizes de núcleo de transformada aplicáveis a um bloco 4x4. A Tabela 8 e a Tabela 9 incluem duas matrizes de núcleo de transformada por conjunto de transformadas, e duas matrizes de núcleo de transformada podem ser aplicadas a todos os modos de intrapredição, conforme mostrado na Tabela 5.[Tabela 8] [0160] In the transform set mapping of Table 3, a total of four transform sets can be used, and the four transform sets can be rearranged to be distinguished by indices 0, 1, 2 and 3, as shown in Table 4. Table 8 and Table 9 illustrate four sets of transforms available for the secondary transform, where Table 8 presents transform kernel matrices applicable to an 8x8 block, and Table 9 presents transform kernel matrices applicable to a 4x4 block. Table 8 and Table 9 include two transform kernel matrices per set of transforms, and two transform kernel matrices can be applied to all intraprediction modes, as shown in Table 5.[Table 8]

[0161]Todas as matrizes de núcleo de transformada ilustrativas mostradas na Tabela 8 são matrizes de núcleo de transformada multiplicadas por 128 como um valor de escalonamento. Em um arranjo g_aiNsst8x8[N1][N2][16][64] presente em arranjos de matriz da Tabela 8, N1 indica o número de conjuntos de transformadas (N1 é 4 ou 35, distinguido pelo índice 0, 1,..., e N1-1), N2 indica o número (1 ou 2) de matrizes de núcleo de transformada incluídos em cada conjunto de transformadas, e [16][64] indica uma transformada secundária reduzida 16x64 (RST).[0161] All illustrative transform kernel matrices shown in Table 8 are transform kernel matrices multiplied by 128 as a scaling value. In a g_aiNsst8x8[N1][N2][16][64] array present in matrix arrays of Table 8, N1 indicates the number of transform sets (N1 is 4 or 35, distinguished by the index 0, 1,... , and N1-1), N2 indicates the number (1 or 2) of transform kernel matrices included in each transform set, and [16][64] indicates a 16x64 reduced secondary transform (RST).

[0162]Conforme mostrado na Tabela 3 e na Tabela 4, quando um conjunto de transformadas inclui uma matriz de núcleo de transformada, uma primeira matriz de núcleo de transformada ou uma segunda matriz de núcleo de transformada pode ser usada para o conjunto de transformadas na Tabela 8.[0162] As shown in Table 3 and Table 4, when a transform set includes a transform kernel matrix, a first transform kernel matrix or a second transform kernel matrix can be used for the transform set in the Table 8.

[0163]Embora 16 coeficientes de transformada sejam emitidos quando a RST é aplicada, apenas m coeficientes de transformada podem ser emitidos quando apenas uma porção mx64 de uma matriz 16x64 é aplicada. Por exemplo, quando apenas oito coeficientes de transformada são emitidos definindo-se m=8 e multiplicando apenas uma matriz 8x64 a partir do topo, é possível reduzir a quantidade computacional pela metade. Para reduzir a quantidade computacional no pior caso, uma matriz 8x64 pode ser aplicada a uma unidade de transformada 8x8 (TU).[0163] Although 16 transform coefficients are output when RST is applied, only m transform coefficients can be output when only an mx64 portion of a 16x64 matrix is applied. For example, when only eight transform coefficients are output by setting m=8 and multiplying just an 8x64 matrix from the top, it is possible to reduce the computational amount by half. To reduce the computational amount in the worst case, an 8x64 matrix can be applied to an 8x8 transform unit (TU).

[0164]Todas as matrizes de núcleo de transformada ilustrativas mostradas na Tabela 9 aplicáveis a uma região 4x4 são matrizes de núcleo de transformada multiplicadas por 128 como um valor de escalonamento. Em um arranjo g_aiNsst4x4[N1][N2][16][64] presente em arranjos de matriz da Tabela 9, N1 indica o número de conjuntos de transformadas (N1 é 4 ou 35, distinguido pelo índice 0, 1,..., e N1-1), N2 indica o número (1 ou 2) de matrizes de núcleo de transformada incluídos em cada conjunto de transformadas, e [16][16] indica uma transformada 16x16.[0164] All illustrative transform kernel matrices shown in Table 9 applicable to a 4x4 region are transform kernel matrices multiplied by 128 as a scaling value. In a g_aiNsst4x4[N1][N2][16][64] array present in matrix arrays of Table 9, N1 indicates the number of transform sets (N1 is 4 or 35, distinguished by the index 0, 1,... , and N1-1), N2 indicates the number (1 or 2) of transform kernel matrices included in each set of transforms, and [16][16] indicates a 16x16 transform.

[0165]Conforme mostrado na Tabela 3 e na Tabela 4, quando um conjunto de transformadas inclui uma matriz de núcleo de transformada, uma primeira matriz de núcleo de transformada ou uma segunda matriz de núcleo de transformada pode ser usada para o conjunto de transformadas na Tabela 9.[0165] As shown in Table 3 and Table 4, when a transform set includes a transform kernel matrix, a first transform kernel matrix or a second transform kernel matrix can be used for the transform set in the Table 9.

[0166]Como na RST 8x8, apenas m coeficientes de transformada podem ser emitidos quando apenas uma porção mx16 de uma matriz 16x16 é aplicada. Por exemplo, quando apenas oito coeficientes de transformada são emitidos definindo-se m=8 e multiplicando apenas uma matriz 8x16 a partir do topo, é possível reduzir a quantidade computacional pela metade. Para reduzir a quantidade computacional no pior caso, uma matriz 8x16 pode ser aplicada a uma unidade de transformada 4x4 (TU).[0166] As in the 8x8 RST, only m transform coefficients can be output when only an mx16 portion of a 16x16 matrix is applied. For example, when only eight transform coefficients are output by setting m=8 and multiplying just an 8x16 matrix from the top, it is possible to reduce the computational amount by half. To reduce the computational amount in the worst case, an 8x16 matrix can be applied to a 4x4 transform unit (TU).

[0167]Basicamente, as matrizes de núcleo de transformada aplicáveis a uma região 4x4, apresentada na Tabela 9, podem ser aplicadas a uma TU 4x4, uma TU 4xM e uma TU Mx4 (M> 4, a TU 4xM e a TU Mx4 podem ser divididas em regiões 4x4, às quais cada matriz de núcleo de transformada designada pode ser aplicada, ou as matrizes de núcleo de transformada podem ser aplicadas apenas a uma região 4x8 ou 8x4 esquerda superior máxima) ou podem ser aplicadas apenas a uma região 4x4 esquerda superior. Se a transformada secundária for configurada para ser aplicada apenas à região 4x4 esquerda superior, as matrizes de núcleo de transformada aplicáveis a uma região 8x8, mostrada na Tabela 8, podem ser desnecessárias.[0167] Basically, the transform kernel matrices applicable to a 4x4 region, presented in Table 9, can be applied to a 4x4 TU, a 4xM TU and a Mx4 TU (M> 4, the 4xM TU and the Mx4 TU can be divided into 4x4 regions, to which each designated transform kernel matrix can be applied, or the transform kernel matrices can only be applied to a maximum left-top 4x8 or 8x4 region), or can be applied only to a left-top 4x4 region higher. If the secondary transform is configured to apply only to the top left 4x4 region, the transform kernel matrices applicable to an 8x8 region, shown in Table 8, may be unnecessary.

[0168]As seguintes modalidades podem ser propostas a fim de reduzir a quantidade computacional em um pior caso. Doravante, uma matriz que incluir M fileiras e N colunas é expressa como uma matriz MxN, e a matriz MxN se refere a uma matriz de transformada aplicada em uma transformada direta, ou seja, quando o aparelho de codificação realiza uma transformada (RST). Consequentemente, na transformada inversa (RST inversa) realizada pelo aparelho de decodificação, uma matriz NxM obtida pela transposição da matriz MxN pode ser usada.[0168] The following modalities can be proposed in order to reduce the computational amount in a worst case. Hereinafter, a matrix that includes M rows and N columns is expressed as an MxN matrix, and the MxN matrix refers to a transform matrix applied in a direct transform, that is, when the coding apparatus performs a transform (RST). Consequently, in the inverse transform (inverse RST) performed by the decoding apparatus, an NxM matrix obtained by transposing the MxN matrix can be used.

[0169]1) Em um caso de um bloco (por exemplo, uma unidade de transformada) que tem uma largura de W e uma altura de H em que W>8 e H>8, uma matriz de núcleo de transformada aplicável a uma região 8x8 é aplicada a uma região 8x8 esquerda superior do bloco. Em um caso em que W=8 e H=8, apenas uma porção 8 x 64 de uma matriz 16x64 pode ser aplicada. Ou seja, oito coeficientes de transformada podem ser gerados.[0169]1) In a case of a block (e.g., a transform unit) that has a width of W and a height of H where W>8 and H>8, a transform kernel matrix applicable to a 8x8 region is applied to a top left 8x8 region of the block. In a case where W=8 and H=8, only an 8x64 portion of a 16x64 matrix can be applied. That is, eight transform coefficients can be generated.

[0170]2) Em um caso de um bloco (por exemplo, uma unidade de transformada) que tem uma largura de W e uma altura de H em que uma dentre W e H é menor que 8, ou seja, uma dentre W e H é 4, uma matriz de núcleo de transformada aplicável a uma região 4x4 é aplicada a uma região esquerda superior do bloco. Em um caso em que W=4 e H=4, apenas uma porção 8x16 de uma matriz 16x16 pode ser aplicada, em cujo caso oito coeficientes de transformada são gerados.[0170]2) In a case of a block (e.g., a transform unit) that has a width of W and a height of H where one of W and H is less than 8, that is, one of W and H is 4, a transform kernel matrix applicable to a 4x4 region is applied to an upper left region of the block. In a case where W=4 and H=4, only an 8x16 portion of a 16x16 matrix can be applied, in which case eight transform coefficients are generated.

[0171]Se (W, H)=(4, 8) ou (8, 4), uma transformada secundária é aplicada apenas à região 4x4 esquerda superior. Se W ou H for menor que 8, ou seja, se uma dentre W e H for igual a ou maior que 16 e a outra for 4, a transformada secundária é aplicada apenas a dois blocos 4x4 esquerdos superiores. Ou seja, apenas uma região 4x8 ou 8x4 esquerda superior pode ser dividida em dois blocos 4x4, e uma matriz de núcleo de transformada designada pode ser aplicada aos mesmos.[0171]If (W, H)=(4, 8) or (8, 4), a secondary transform is applied only to the upper left 4x4 region. If W or H is less than 8, that is, if one of W and H is equal to or greater than 16 and the other is 4, the secondary transform is applied only to the two upper left 4x4 blocks. That is, only a top left 4x8 or 8x4 region can be divided into two 4x4 blocks, and a designated transform kernel matrix can be applied to them.

[0172]3) Em um caso de um bloco (por exemplo, uma unidade de transformada) que tem uma largura W e uma altura H, em que tanto W como H são 4, uma transformada secundária não pode ser aplicada.[0172]3) In a case of a block (e.g., a transform unit) that has a width W and a height H, where both W and H are 4, a secondary transform cannot be applied.

[0173]4) Em um caso de um bloco (por exemplo, uma unidade de transformada) que tem uma largura W e uma altura H, o número de coeficientes gerados aplicando-se uma transformada secundária pode ser mantido como 1/4 ou menos da área da unidade de transformada (isto é, o número total de pixels incluídos na unidade de transformada = WxH). Por exemplo, quando tanto W como H forem 4, uma matriz 4x16 superior de uma matriz 16x16 pode ser aplicada de modo que quatro coeficientes de transformada sejam gerados.[0173]4) In a case of a block (e.g., a transform unit) that has a width W and a height H, the number of coefficients generated by applying a secondary transform can be kept as 1/4 or less of the area of the transform unit (i.e. the total number of pixels included in the transform unit = WxH). For example, when both W and H are 4, a 4x16 matrix superior to a 16x16 matrix can be applied so that four transform coefficients are generated.

[0174]Presumindo que uma transformada secundária seja aplicada apenas a uma região 8 x 8 esquerda superior de toda a unidade de transformada (TU), oito coeficientes ou menos precisam ser gerados para uma unidade de transformada 4x8 ou uma unidade de transformada 8x4 e, desse modo uma matriz 8x16 superior de uma matriz 16x16 pode ser aplicada a uma região 4x4 esquerda superior. Até uma matriz 16 x 64 pode ser aplicada a uma unidade de transformada 8x8 (até 16 coeficientes podem ser gerados). Em uma unidade de transformada 4xN ou Nx4 (N>16), uma matriz 16x16 pode ser aplicada a um bloco 4x4 esquerdo superior, ou uma matriz 8x16 superior da matriz 16x16 pode ser aplicada a dois blocos 4x4 esquerdos superiores. De modo similar, em uma unidade de transformada 4x8 ou unidade de transformada 8x4, oito coeficientes de transformada podem ser gerados aplicando-se uma matriz 4x16 superior da matriz 16x16 aos dois blocos 4x4 esquerdos superiores.[0174] Assuming that a secondary transform is applied only to a top left 8 x 8 region of the entire transform unit (TU), eight coefficients or less need to be generated for a 4x8 transform unit or an 8x4 transform unit, and, thus a top 8x16 matrix of a 16x16 matrix can be applied to a top left 4x4 region. Up to a 16 x 64 matrix can be applied to an 8x8 transform unit (up to 16 coefficients can be generated). In a 4xN or Nx4 (N>16) transform unit, a 16x16 matrix can be applied to a top-left 4x4 block, or an 8x16 top-left matrix of the 16x16 matrix can be applied to two top-left 4x4 blocks. Similarly, in a 4x8 transform unit or 8x4 transform unit, eight transform coefficients can be generated by applying an upper 4x16 matrix of the 16x16 matrix to the two upper left 4x4 blocks.

[0175]5) O tamanho máximo de uma transformada secundária aplicada a uma região 4x4 pode ser limitado a 8x16. Nesse caso, a quantidade de uma memória necessária para armazenar matrizes de núcleo de transformada aplicadas à região 4x4 pode ser reduzida pela metade em comparação com aquela de uma matriz 16x16.[0175]5) The maximum size of a secondary transform applied to a 4x4 region can be limited to 8x16. In this case, the amount of memory required to store transform kernel matrices applied to the 4x4 region can be halved compared to that of a 16x16 matrix.

[0176]Por exemplo, em todas as matrizes de núcleo de transformada mostradas na Tabela 9, o tamanho máximo pode ser limitado a 8x16 extraindo-se apenas uma matriz 8x16 superior de cada matriz 16x16, e um sistema de codificação de imagem real pode ser implementado para armazenar apenas matrizes 8x16 das matrizes de núcleo de transformada.[0176] For example, in all of the transform kernel matrices shown in Table 9, the maximum size can be limited to 8x16 by extracting only one upper 8x16 matrix from each 16x16 matrix, and a real image coding system can be implemented to store only 8x16 matrices of the transform kernel matrices.

[0177]Se o tamanho de transformada aplicável máximo for 8x16 e o número máximo de multiplicações necessárias para gerar um coeficiente for limitado a 8, uma matriz de até 8x16 pode ser aplicada a um bloco 4x4, e uma matriz de até 8x16 pode ser aplicada a cada um dentre até dois blocos 4x4 esquerdos superiores incluídos em um bloco 4xN ou um bloco Nx4 (N>8, N=2n, n>3). Por exemplo, uma matriz 8 x 16 pode ser armazenada para um bloco 4 x 4 esquerdo superior em um bloco 4 x N ou um bloco N x 4 (N>8, N=2n, n>3).[0177] If the maximum applicable transform size is 8x16 and the maximum number of multiplications required to generate a coefficient is limited to 8, a matrix of up to 8x16 can be applied to a 4x4 block, and a matrix of up to 8x16 can be applied to each of up to two top left 4x4 blocks included in a 4xN block or an Nx4 block (N>8, N=2n, n>3). For example, an 8 x 16 matrix can be stored to a top left 4 x 4 block in a 4 x N block or an N x 4 block (N>8, N=2n, n>3).

[0178]De acordo com uma modalidade, ao codificar um índice especificando uma transformada secundária a ser aplicada a um componente de luma, especificamente, quando um conjunto de transformadas inclui duas matrizes de núcleo de transformada, é necessário especificar se deve aplicar a transformada secundária e qual matriz de núcleo de transformada aplicar na transformada secundária. Por exemplo, quando nenhuma transformada secundária é aplicada, um índice de transformada pode ser codificado como 0, e quando a transformada secundária é aplicada, índices de transformada para dois conjuntos de transformadas podem ser codificados como 1 e 2, respectivamente.[0178] According to one embodiment, when encoding an index specifying a secondary transform to be applied to a luma component, specifically, when a set of transforms includes two transform kernel matrices, it is necessary to specify whether to apply the secondary transform and which transform kernel matrix to apply in the secondary transform. For example, when no secondary transform is applied, a transform index may be encoded as 0, and when the secondary transform is applied, transform indices for two sets of transforms may be encoded as 1 and 2, respectively.

[0179]Nesse caso, ao codificar o índice de transformada, a codificação unária truncada pode ser usada. Por exemplo, códigos binários de 0, 10 e 11 podem ser respectivamente alocados em índices de transformada 0, 1 e 2 codificando, desse modo, os índices de transformada.[0179] In this case, when encoding the transform index, truncated unary encoding can be used. For example, binary codes of 0, 10 and 11 can be respectively allocated to transform indices 0, 1 and 2 thereby encoding the transform indices.

[0180]Além disso, ao codificar o índice de transformada por codificação unária truncada, contextos CABAC diferentes podem ser atribuídos a cada bin. Ao codificar os índices de transformada 0, 10 e 11 no exemplo acima, dois contextos CABAC podem ser usados.[0180] Furthermore, by encoding the transform index by truncated unary coding, different CABAC contexts can be assigned to each bin. When encoding transform indices 0, 10, and 11 in the example above, two CABAC contexts can be used.

[0181]Ao codificar um índice de transformada que especifica uma transformada secundária a ser aplicada a um componente de croma, especificamente, quando um conjunto de transformadas inclui duas matrizes de núcleo de transformada, é necessário especificar se deve aplicar a transformada secundária e qual matriz de núcleo de transformada aplicar na transformada secundária, de modo similar, a quando codifica o índice de transformada da transformada secundária para o componente de luma. Por exemplo, quando nenhuma transformada secundária é aplicada, um índice de transformada pode ser codificado como 0, e quando a transformada secundária é aplicada, índices de transformada para dois conjuntos de transformadas podem ser codificados como 1 e 2, respectivamente.[0181] When encoding a transform index that specifies a secondary transform to be applied to a chroma component, specifically, when a set of transforms includes two transform kernel matrices, it is necessary to specify whether to apply the secondary transform and which matrix transform kernel applies to the secondary transform, in a similar way to when encoding the transform index of the secondary transform for the luma component. For example, when no secondary transform is applied, a transform index may be encoded as 0, and when the secondary transform is applied, transform indices for two sets of transforms may be encoded as 1 and 2, respectively.

[0182]Nesse caso, ao codificar o índice de transformada, a codificação unária truncada pode ser usada. Por exemplo, códigos binários de 0, 10 e 11 podem ser respectivamente alocados em índices de transformada 0, 1 e 2 codificando, desse modo, os índices de transformada.[0182] In this case, when encoding the transform index, truncated unary encoding can be used. For example, binary codes of 0, 10 and 11 can be respectively allocated to transform indices 0, 1 and 2 thereby encoding the transform indices.

[0183]Além disso, ao codificar o índice de transformada por codificação unária truncada, contextos CABAC diferentes podem ser atribuídos a cada bin. Ao codificar os índices de transformada 0, 10 e 11 no exemplo acima, dois contextos CABAC podem ser usados.[0183] Furthermore, by encoding the transform index by truncated unary coding, different CABAC contexts can be assigned to each bin. When encoding transform indices 0, 10, and 11 in the example above, two CABAC contexts can be used.

[0184]De acordo com uma modalidade, um conjunto de contextos CABAC diferentes pode ser alocado de acordo com um modo de intrapredição croma. Por exemplo, quando os modos de intrapredição croma são divididos em modos não direcionais, tal como um modo planar ou um modo DC, e outros modos direcionais (isto é, divididos em dois grupos), um conjunto de contextos CABAC correspondentes (incluindo dois contextos) podem ser alocados para cada grupos ao codificar 0, 10 e 11 no exemplo acima.[0184] According to one embodiment, a set of different CABAC contexts can be allocated according to a chroma intraprediction mode. For example, when chroma intraprediction modes are divided into non-directional modes, such as a planar mode or a DC mode, and other directional modes (i.e., divided into two groups), a set of corresponding CABAC contexts (including two contexts ) can be allocated to each group by encoding 0, 10 and 11 in the example above.

[0185]Quando os modos de intrapredição croma são divididos em uma pluralidade de grupos e um conjunto de contextos CABAC correspondente é alocado, é necessário descobrir um valor de modo de intrapredição croma antes de codificar o índice de transformada de uma transformada secundária. Entretanto, em um modo direto croma (DM), uma vez que um valor de modo de intrapredição luma é usado como está, também é necessário descobrir um valor de modo de intrapredição para um componente de luma. Portanto, ao codificar informações sobre um componente de croma, pode ocorrer dependência de dados nas informações de componente de luma. Desse modo, no DM croma, ao codificar o índice de transformada da transformada secundária sem ter informações sobre o modo de intrapredição, a dependência de dados pode ser removida por mapeamento para um grupo específico. Por exemplo, se o modo de intrapredição croma for o DM croma, o índice de transformada pode ser codificado com o uso de um conjunto de contextos CABAC correspondentes presumindo que o modo planejador ou o modo DC, ou um conjunto de contextos CABAC correspondentes possa ser aplicado presumindo outros modos direcionais.[0185] When chroma intraprediction modes are divided into a plurality of groups and a set of corresponding CABAC contexts are allocated, it is necessary to discover a chroma intraprediction mode value before encoding the transform index of a secondary transform. However, in a direct chroma mode (DM), since a luma intraprediction mode value is used as is, it is also necessary to discover an intraprediction mode value for a luma component. Therefore, when encoding information about a chroma component, data dependency on the luma component information may occur. Thus, in DM chroma, by encoding the transform index of the secondary transform without having information about the intraprediction mode, the data dependency can be removed by mapping to a specific group. For example, if the chroma intraprediction mode is DM chroma, the transform index can be encoded using a set of corresponding CABAC contexts assuming that the planner mode or DC mode, or a set of corresponding CABAC contexts can be applied assuming other directional modes.

[0186]A Figura 9 é um fluxograma que ilustra uma operação de um aparelho de decodificação de vídeo, de acordo com uma modalidade da presente revelação.[0186] Figure 9 is a flowchart illustrating an operation of a video decoding apparatus, in accordance with an embodiment of the present disclosure.

[0187]Cada operação ilustrada na Figura 9 pode ser realizada pelo aparelho de decodificação 300 ilustrado na Figura 3. Especificamente, S910 pode ser realizada pelo decodificador de entropia 310 ilustrado na Figura 3, S920 pode ser realizada pelo desquantizador 321 ilustrado na Figura 3, S930 e S940 podem ser realizadas pelo transformador inverso 322 ilustrado na Figura 3, e S950 pode ser realizada pelo somador 340 ilustrado na Figura 3. As operações, de acordo com S910 a S950 se baseiam alguns dos detalhes anteriormente mencionados explicados com referência à Figura 4 a Figura 8. Portanto, uma descrição dos detalhes específicos sobrepostos àqueles explicados acima com referência à Figura 3 a Figura 8 será omitida ou será feita de maneira resumida.[0187] Each operation illustrated in Figure 9 can be performed by the decoding apparatus 300 illustrated in Figure 3. Specifically, S910 can be performed by the entropy decoder 310 illustrated in Figure 3, S920 can be performed by the dequantizer 321 illustrated in Figure 3, S930 and S940 can be realized by the inverse transformer 322 illustrated in Figure 3, and S950 can be realized by the adder 340 illustrated in Figure 3. The operations according to S910 to S950 are based on some of the previously mentioned details explained with reference to Figure 4 to Figure 8. Therefore, a description of the specific details superimposed on those explained above with reference to Figure 3 to Figure 8 will be omitted or summarized.

[0188]O aparelho de decodificação 300, de acordo com uma modalidade, pode derivar coeficientes de transformada quantizados para um bloco alvo a partir de um fluxo de bits (S910). Especificamente, o aparelho de decodificação 300 pode decodificar informações sobre os coeficientes de transformada quantizados para o bloco alvo a partir do fluxo de bits e pode derivar os coeficientes de transformada quantizados para o bloco alvo com base nas informações sobre os coeficientes de transformada quantizados para o bloco alvo. As informações sobre os coeficientes de transformada quantizados para o bloco alvo podem ser incluídas em um conjunto de parâmetros de sequência (SPS) ou um cabeçalho de fatia e pode incluir pelo menos uma das informações sobre se uma transformada reduzida (RST) é aplicada, informações sobre um fator reduzido, informações sobre um tamanho de transformada mínimo ao qual a RST é aplicada, informações sobre um tamanho de transformada máximo ao qual a RST é aplicada, informações sobre um tamanho de transformada inversa reduzido, e informações sobre um índice de transformada que indicam qualquer uma das matrizes de núcleo de transformada incluídas em um conjunto de transformadas.[0188] The decoding apparatus 300, according to one embodiment, can derive quantized transform coefficients for a target block from a bit stream (S910). Specifically, the decoding apparatus 300 may decode information about the quantized transform coefficients for the target block from the bit stream and may derive the quantized transform coefficients for the target block based on the information about the quantized transform coefficients for the target block. target block. Information about the quantized transform coefficients for the target block may be included in a sequence parameter set (SPS) or a slice header and may include at least one of the information about whether a reduced transform (RST) is applied, information about a reduced factor, information about a minimum transform size to which RST is applied, information about a maximum transform size to which RST is applied, information about a reduced inverse transform size, and information about a transform index that indicate any of the transform kernel matrices included in a transform set.

[0189]O aparelho de decodificação 300, de acordo com uma modalidade, pode derivar coeficientes de transformada desquantizando-se os coeficientes de transformada quantizados para o bloco alvo (S920).[0189] The decoding apparatus 300, in accordance with one embodiment, may derive transform coefficients by dequantizing the quantized transform coefficients for the target block (S920).

[0190]O aparelho de decodificação 300 de acordo com uma modalidade pode derivar coeficientes de transformada modificados com base em uma transformada secundária reduzida inversa (RST) dos coeficientes de transformada (S930).[0190] The decoding apparatus 300 in accordance with one embodiment may derive modified transform coefficients based on an inverse reduced secondary transform (RST) of the transform coefficients (S930).

[0191]Em um exemplo, a RST inversa pode ser realizada com base em uma matriz de transformada RST inversa, e a matriz de transformada RST inversa pode ser uma matriz não quadrada na qual o número de colunas é menor que o número de fileiras.[0191] In an example, inverse RST may be performed based on an inverse RST transform matrix, and the inverse RST transform matrix may be a non-square matrix in which the number of columns is less than the number of rows.

[0192]Em uma modalidade, S930 pode incluir decodificar um índice de transformada, determinar se uma condição para aplicar uma RST inversa é satisfeita com base no índice de transformada, selecionar uma matriz de núcleo de transformada, e aplicar a RST inversa aos coeficientes de transformada com base na matriz de núcleo de transformada selecionada e/ou no fator reduzido quando a condição para aplicar a RST inversa é satisfeita. Nesse caso, o tamanho de uma matriz de transformada inversa reduzida pode ser determinado com base no fator reduzido.[0192] In one embodiment, S930 may include decoding a transform index, determining whether a condition for applying an inverse RST is satisfied based on the transform index, selecting a transform kernel matrix, and applying the inverse RST to the transform coefficients. transformed based on the selected transform kernel matrix and/or the reduced factor when the condition for applying inverse RST is satisfied. In this case, the size of a reduced inverse transform matrix can be determined based on the reduced factor.

[0193]O aparelho de decodificação 300, de acordo com uma modalidade, pode derivar amostras residuais para o bloco alvo com base em uma transformada inversa dos coeficientes de transformada modificados (S940).[0193] The decoding apparatus 300, in accordance with one embodiment, may derive residual samples for the target block based on an inverse transform of the modified transform coefficients (S940).

[0194]O aparelho de decodificação 300 pode realizar uma transformada primária inversa nos coeficientes de transformada modificados para o bloco alvo, em cujo caso uma transformada inversa reduzida pode ser aplicada ou uma transformada separável convencional pode ser usada como a transformada primária inversa.[0194] The decoding apparatus 300 may perform an inverse primary transform on the modified transform coefficients for the target block, in which case a reduced inverse transform may be applied or a conventional separable transform may be used as the inverse primary transform.

[0195]O aparelho de decodificação 300, de acordo com uma modalidade, pode gerar amostras reconstruídas com base nas amostras residuais para o bloco alvo e amostras de predição para o bloco alvo (S950).[0195] The decoding apparatus 300, according to one embodiment, may generate reconstructed samples based on residual samples for the target block and prediction samples for the target block (S950).

[0196]Com referência à S930, pode ser identificado que as amostras residuais para o bloco alvo são derivadas com base na RST inversa dos coeficientes de transformada para o bloco alvo. A partir da perspectiva do tamanho da matriz de transformada inversa, uma vez que o tamanho de uma matriz de transformada inversa regular é N x N, mas o tamanho da matriz RST inversa é reduzido para N x R, é possível reduzir o uso de memória em um caso de realização da RST inversa por uma razão R/N em comparação com àquela em um caso de realização de uma transformada regular. Ademais, o uso da matriz RST inversa pode reduzir o número de multiplicações (N x R) pela razão R/N, em comparação com o número de multiplicações N x N em um caso de uso da matriz de transformada inversa regular. Além disso, uma vez que apenas coeficientes de transformada R precisam ser decodificados quando a RST inversa é aplicada, o número total de coeficientes de transformada para o bloco alvo pode ser reduzido de N para R, em comparação com aquele em caso em que N coeficientes de transformada precisam ser decodificados quando uma transformada inversa regular é aplicada aumentando, desse modo a eficiência de decodificação. Ou seja, de acordo com S930, a eficiência de transformada (inversa) e a eficiência de decodificação do aparelho de decodificação 300 podem ser aumentadas através da RST inversa.[0196] With reference to S930, it can be identified that the residual samples for the target block are derived based on the inverse RST of the transform coefficients for the target block. From the perspective of the size of the inverse transform matrix, since the size of a regular inverse transform matrix is N x N, but the size of the inverse RST matrix is reduced to N x R, it is possible to reduce memory usage in a case of performing the inverse RST by an R/N ratio compared to that in a case of performing a regular transform. Furthermore, the use of the inverse RST matrix can reduce the number of multiplications (N x R) by the ratio R/N, compared to the number of N x N multiplications in a case of using the regular inverse transform matrix. Furthermore, since only R transform coefficients need to be decoded when inverse RST is applied, the total number of transform coefficients for the target block can be reduced from N to R, compared to that in the case where N coefficients transforms need to be decoded when a regular inverse transform is applied, thereby increasing decoding efficiency. That is, according to S930, the (inverse) transform efficiency and decoding efficiency of the decoding apparatus 300 can be increased through inverse RST.

[0197]A Figura 10 é um fluxograma de controle que ilustra uma RST inversa, de acordo com uma modalidade da presente revelação.[0197] Figure 10 is a control flowchart illustrating an inverse RST, in accordance with an embodiment of the present disclosure.

[0198]O aparelho de decodificação 300 recebe informações sobre um índice de transformada e um modo de intrapredição a partir de um fluxo de bits (S1000).[0198] The decoding apparatus 300 receives information about a transform index and an intraprediction mode from a bit stream (S1000).

[0199]Essas informações são recebias como informações de sintaxe, e as informações de sintaxe são recebidas como uma cadeia de bins incluindo 0 e 1.[0199] This information is received as syntax information, and the syntax information is received as a string of bins including 0 and 1.

[0200]O decodificador de entropia 310 pode derivar informações de binarização sobre um elemento de sintaxe para o índice de transformada.[0200] The entropy decoder 310 can derive binarization information about a syntax element for the transform index.

[0201]Essa operação está gerando um conjunto de candidatos para um valor binário que o elemento de sintaxe do índice de transformada recebido pode ter. De acordo com essa modalidade, o elemento de sintaxe para o índice de transformada pode ser binarizado por codificação unária truncada.[0201]This operation is generating a set of candidates for a binary value that the received transform index syntax element can have. According to this embodiment, the syntax element for the transform index can be binarized by truncated unary encoding.

[0202]O elemento de sintaxe para o índice de transformada, de acordo com essa modalidade, pode indicar se uma RST inversa é aplicada e uma das matrizes de núcleo de transformada incluídas em um conjunto de transformadas. Quando o conjunto de transformadas inclui duas matrizes de núcleo de transformada, o elemento de sintaxe para o índice de transformada pode ter três valores.[0202] The syntax element for the transform index, according to this embodiment, may indicate whether an inverse RST is applied and one of the transform core matrices included in a set of transforms. When the transform set includes two transform kernel matrices, the syntax element for the transform index can have three values.

[0203]Ou seja, de acordo com uma modalidade, o valor do elemento de sintaxe para o índice de transformada pode incluir 0 que indica que a RST inversa não é aplicada a um bloco alvo, 1 que indica uma primeira matriz de núcleo de transformada das matrizes de núcleo de transformada, e 2 que indica uma segunda matriz de núcleo de transformada das matrizes de núcleo de transformada.[0203] That is, according to one embodiment, the value of the syntax element for the transform index may include 0 which indicates that the inverse RST is not applied to a target block, 1 which indicates a first transform kernel matrix of the transform kernel matrices, and 2 indicating a second transform kernel matrix of the transform kernel matrices.

[0204]Nesse caso, os três valores do elemento de sintaxe para o índice de transformada podem ser codificados em 0, 10 e 11, respectivamente, de acordo com a codificação unária truncada. Ou seja, o valor do elemento de sintaxe de 0 pode ser binarizado em '0', o valor do elemento de sintaxe de 1 pode ser binarizado em '10', e o valor do elemento de sintaxe de 2 pode ser binarizado em '11'.[0204] In this case, the three values of the syntax element for the transform index can be encoded as 0, 10 and 11, respectively, according to the truncated unary encoding. That is, the syntax element value of 0 can be binarized to '0', the syntax element value of 1 can be binarized to '10', and the syntax element value of 2 can be binarized to '11 '.

[0205]O decodificador de entropia 310 pode derivar informações de contexto, ou seja, um modelo de contexto, na cadeia de bins do índice de transformada (S1010) e pode decodificar bins da cadeia de bins do elemento de sintaxe com base nas informações de contexto (S1020).[0205] The entropy decoder 310 may derive context information, i.e., a context model, in the transform index bin chain (S1010) and may decode bins of the syntax element bin chain based on the syntax element bin chain information. context (S1020).

[0206]Ou seja, o decodificador de entropia 310 recebe a cadeia de bins binarizada por codificação unária truncada e decodifica o elemento de sintaxe para o índice de transformada através do conjunto de candidatos para o valor binário.[0206] That is, the entropy decoder 310 receives the binarized bin string by truncated unary encoding and decodes the syntax element to the transform index through the set of candidates for the binary value.

[0207]De acordo com essa modalidade, diferentes informações de contexto, ou seja, diferentes modelos de probabilidade, podem ser aplicados a dois bins do índice de transformada, respectivamente. Ou seja, todos os dois bins do índice de transformada podem ser decodificados por um método de contexto, em vez de por um método de desvio, em que um primeiro bin dentre os bins do elemento de sintaxe para o índice de transformada podem ser decodificado com base nas primeiras informações de contexto, e um segundo bin dentre os bins do elemento de sintaxe para o índice de transformada pode ser decodificado com base nas segundas informações de contexto.[0207] According to this embodiment, different context information, that is, different probability models, can be applied to two bins of the transform index, respectively. That is, all two bins of the transform index can be decoded by a context method, rather than by a branch method, where a first bin among the syntax element bins for the transform index can be decoded with based on the first context information, and a second bin among the syntax element bins for the transform index can be decoded based on the second context information.

[0208]O valor do elemento de sintaxe para o índice de transformada aplicado ao bloco alvo entre valores binários que o elemento de sintaxe para o índice de transformada pode ter, pode ser derivado por essa decodificação baseada em informações de contexto (S1030).[0208] The value of the syntax element for the transform index applied to the target block among binary values that the syntax element for the transform index can have, can be derived by this decoding based on context information (S1030).

[0209]Ou seja, qual dentre os índices de transformada de 0, 1 e 2 é aplicado ao bloco alvo atual pode ser derivado.[0209] That is, which of the transform indices of 0, 1 and 2 is applied to the current target block can be derived.

[0210]O transformador inverso 322 do aparelho de decodificação 300 determina um conjunto de transformadas com base em uma relação de mapeamento de acordo com o modo de intrapredição aplicado ao bloco alvo (S1040) e pode realizar uma RST inversa com base no conjunto de transformadas e no valor do elemento de sintaxe para o índice de transformada (S1050).[0210] The inverse transformer 322 of the decoding apparatus 300 determines a set of transforms based on a mapping relationship in accordance with the intraprediction mode applied to the target block (S1040) and can perform an inverse RST based on the set of transforms and the syntax element value for the transform index (S1050).

[0211]Conforme descrito acima, uma pluralidade de conjuntos de transformadas pode ser determinada de acordo com um modo de intrapredição de um bloco de transformada a ser transformado, e uma RST pode ser realizada com base em qualquer uma das matrizes de núcleo de transformada incluídas em um conjunto de transformadas indicado por um índice de transformada.[0211] As described above, a plurality of sets of transforms can be determined according to an intraprediction mode of a transform block to be transformed, and an RST can be performed based on any of the included transform kernel matrices in a set of transforms indicated by a transform index.

[0212]A Figura 11 é um fluxograma que ilustra uma operação de um aparelho de codificação de vídeo, de acordo com uma modalidade da presente revelação.[0212] Figure 11 is a flowchart illustrating an operation of a video coding apparatus, in accordance with an embodiment of the present disclosure.

[0213]Cada operação ilustrada na Figura 11 pode ser realizada pelo aparelho de codificação 200 ilustrado na Figura 2. Especificamente, S1110 pode ser realizada pelo preditor 220 ilustrado na Figura 2, S1120 pode ser realizada pelo subtrator 231 ilustrado na Figura 2, S1130 e S1140 podem ser realizadas pelo transformador 232 ilustrado na Figura 2, e S1150 pode ser realizada pelo quantizador 233 e o codificador de entropia 240 ilustrado na Figura 2. As operações de acordo com S1110 a S1150 se baseiam em alguns dos conteúdos descritos na Figura 4 a Figura 8. Portanto, uma descrição dos detalhes específicos sobrepostos àqueles explicados acima com referência à Figura 4 a Figura 8 será omitida ou será feita de maneira resumida.[0213] Each operation illustrated in Figure 11 can be performed by the coding apparatus 200 illustrated in Figure 2. Specifically, S1110 can be performed by the predictor 220 illustrated in Figure 2, S1120 can be performed by the subtractor 231 illustrated in Figure 2, S1130 and S1140 can be realized by the transformer 232 illustrated in Figure 2, and S1150 can be realized by the quantizer 233 and the entropy encoder 240 illustrated in Figure 2. The operations according to S1110 to S1150 are based on some of the contents described in Figure 4a Figure 8. Therefore, a description of the specific details superimposed on those explained above with reference to Figure 4 to Figure 8 will be omitted or summarized.

[0214]O aparelho de codificação 200, de acordo com uma modalidade, pode derivar amostras de predição com base em um modo de intrapredição aplicado a um bloco alvo (S1110).[0214] The coding apparatus 200, in accordance with one embodiment, may derive prediction samples based on an intraprediction mode applied to a target block (S1110).

[0215]O aparelho de codificação 200, de acordo com uma modalidade pode derivar amostras residuais para o bloco alvo (S1120).[0215] The coding apparatus 200, in accordance with one embodiment, may derive residual samples for the target block (S1120).

[0216]O aparelho de codificação 200, de acordo com uma modalidade pode derivar coeficientes de transformada para o bloco alvo com base na transformada primária da amostra residual (S1130). A transformada primária pode ser realizada através uma pluralidade de núcleos de transformada, e os núcleos de transformada podem ser selecionados com base no modo de intrapredição.[0216] The coding apparatus 200, in accordance with one embodiment, may derive transform coefficients for the target block based on the primary transform of the residual sample (S1130). The primary transform can be performed through a plurality of transform kernels, and the transform kernels can be selected based on the intraprediction mode.

[0217]O aparelho de decodificação 300 pode realizar uma transformada secundária, especificamente uma NSST, nos coeficientes de transformada para o bloco alvo, em cujo caso a NSST pode ser realizada com base em uma transformada reduzida (RST) ou sem se basear na RST. Quando a NSST é realizada com base na transformada reduzida, uma operação de acordo com S1140 pode ser realizada.[0217] The decoding apparatus 300 may perform a secondary transform, specifically an NSST, on the transform coefficients for the target block, in which case the NSST may be performed based on a reduced transform (RST) or without relying on the RST . When NSST is performed based on the reduced transform, an operation according to S1140 can be performed.

[0218]O aparelho de codificação 200, de acordo com uma modalidade, pode derivar coeficientes de transformada modificados para o bloco alvo com base na RST dos coeficientes de transformada (S1140). Em um exemplo, a RST pode ser realizada com base em uma matriz de transformada reduzida ou uma matriz de núcleo de transformada, e a matriz de transformada reduzida pode ser uma matriz não quadrada na qual o número de fileiras é menor que o número de colunas.[0218] The coding apparatus 200, in accordance with one embodiment, may derive modified transform coefficients for the target block based on the RST of the transform coefficients (S1140). In an example, the RST may be performed based on a reduced transform matrix or a transform kernel matrix, and the reduced transform matrix may be a non-square matrix in which the number of rows is less than the number of columns .

[0219]Em uma modalidade, S1140 pode incluir determinar se uma condição para aplicar a RST é satisfeita, gerar e codificar o índice de transformada com base na determinação, selecionar um núcleo de transformada, e aplicar a RST às amostras residuais com base na matriz de núcleo de transformada selecionada e/ou um fator reduzido quando a condição para aplicar a RST for satisfeita. Nesse caso, o tamanho da matriz de núcleo de transformada reduzida pode ser determinado com base no fator reduzido.[0219] In one embodiment, S1140 may include determining whether a condition for applying the RST is satisfied, generating and encoding the transform index based on the determination, selecting a transform kernel, and applying the RST to the residual samples based on the matrix of selected transform kernel and/or a reduced factor when the condition for applying RST is satisfied. In this case, the size of the reduced transform kernel matrix can be determined based on the reduced factor.

[0220]O aparelho de codificação 200, de acordo com uma modalidade, pode derivar coeficientes de transformada quantizados realizando-se a quantização com base nos coeficientes de transformada modificados para o bloco alvo e pode codificar informações sobre os coeficientes de transformada quantizados (S1150).[0220] The coding apparatus 200, in accordance with one embodiment, can derive quantized transform coefficients by performing quantization based on the modified transform coefficients for the target block and can encode information about the quantized transform coefficients (S1150) .

[0221]Especificamente, o aparelho de codificação 200 pode gerar as informações sobre os coeficientes de transformada quantizados e pode codificar as informações geradas sobre os coeficientes de transformada quantizados.[0221] Specifically, the coding apparatus 200 can generate the information about the quantized transform coefficients and can encode the information generated about the quantized transform coefficients.

[0222]Em um exemplo, as informações sobre os coeficientes de transformada quantizados podem incluir pelo menos uma dentre informações sobre se a RST é aplicada, informações sobre o fator reduzido, informações sobre um tamanho de transformada mínimo ao qual a RST é aplicada e informações sobre um tamanho de transformada máximo ao qual a RST é aplicada.[0222] In an example, information about quantized transform coefficients may include at least one of information about whether RST is applied, information about the reduced factor, information about a minimum transform size to which RST is applied, and information over a maximum transform size to which RST is applied.

[0223]Com referência à S1140, pode ser identificado que os coeficientes de transformada para o bloco alvo são derivados com base na RST das amostras residuais. A partir da perspectiva do tamanho da matriz de núcleo de transformada, uma vez que o tamanho de uma matriz de núcleo de transformada regular é N x N, porém o tamanho da matriz de transformada reduzida é reduzido para R x N, é possível reduzir o uso de memória em um caso de realização da RST por uma razão R/N em comparação com àquela em um caso de realização de uma transformada regular. Ademais, o uso da matriz de núcleo de transformada reduzida pode reduzir o número de multiplicações (R x N) pela razão R/N, em comparação com o número de multiplicações N x N em um caso de uso da matriz de núcleo de transformada regular. Além disso, uma vez que apenas os coeficientes de transformada R são derivados quando a RST é aplicada, o número total de coeficientes de transformada para o bloco alvo pode ser reduzido de N para R, em comparação com aquele em um caso em que N coeficientes de transformada são derivados quando uma transformada regular é aplicada reduzindo, desse modo a quantidade de dados transmitidos pelo aparelho de codificação 200 para o aparelho de decodificação 300. Ou seja, de acordo com S1140, a eficiência de transformada e a eficiência de codificação do aparelho de codificação 320 podem ser aumentadas através da RST.[0223] With reference to S1140, it can be identified that the transform coefficients for the target block are derived based on the RST of the residual samples. From the perspective of the size of the transform kernel matrix, since the size of a regular transform kernel matrix is N x N, but the size of the reduced transform matrix is reduced to R x N, it is possible to reduce the memory usage in a case of performing RST for an R/N ratio compared to that in a case of performing a regular transform. Furthermore, the use of the reduced transform kernel matrix can reduce the number of multiplications (R x N) by the ratio R/N, compared to the number of N x N multiplications in a case of using the regular transform kernel matrix . Furthermore, since only the R transform coefficients are derived when RST is applied, the total number of transform coefficients for the target block can be reduced from N to R, compared to that in a case where N coefficients transform are derived when a regular transform is applied, thereby reducing the amount of data transmitted by the encoding apparatus 200 to the decoding apparatus 300. That is, according to S1140, the transform efficiency and the coding efficiency of the apparatus 320 encoding can be increased through RST.

[0224]A Figura 12 é um fluxograma de controle que ilustra uma RST, de acordo com uma modalidade da presente revelação.[0224] Figure 12 is a control flowchart illustrating an RST, in accordance with an embodiment of the present disclosure.

[0225]Primeiro, o aparelho de codificação 200 pode determinar um conjunto de transformadas com base em uma relação de mapeamento, de acordo com um modo de intrapredição aplicado a um bloco alvo (S1200).[0225] First, the coding apparatus 200 may determine a set of transforms based on a mapping relationship, according to an intraprediction mode applied to a target block (S1200).

[0226]O transformador 232 pode derivar um coeficiente de transformada realizando-se uma RST com base em qualquer uma das matrizes de núcleo de transformada incluídas no conjunto de transformadas (S1210).[0226] Transformer 232 can derive a transform coefficient by performing an RST based on any of the transform core matrices included in the transform set (S1210).

[0227]Nessa modalidade, o coeficiente de transformada pode ser um coeficiente de transformada modificado que resulta de uma transformada primária e, então uma transformada secundária, e duas matrizes de núcleo de transformada podem ser incluídas em cada conjunto de transformadas.[0227] In this embodiment, the transform coefficient can be a modified transform coefficient that results from a primary transform and then a secondary transform, and two transform kernel matrices can be included in each set of transforms.

[0228]Quando a RST é realizada, as informações sobre a RST podem ser codificadas pelo codificador de entropia 240.[0228] When the RST is performed, information about the RST can be encoded by the entropy encoder 240.

[0229]O codificador de entropia 240 pode derivar o valor de um elemento de sintaxe de um índice de transformada que indica qualquer uma das matrizes de núcleo de transformada incluídas no conjunto de transformadas (S1220).[0229] The entropy encoder 240 may derive the value of a syntax element from a transform index indicating any of the transform core matrices included in the transform set (S1220).

[0230]O elemento de sintaxe para o índice de transformada, de acordo com essa modalidade, pode indicar se uma RST (inversa) é aplicada e qualquer uma das matrizes de núcleo de transformada incluídas no conjunto de transformadas. Quando o conjunto de transformadas inclui duas matrizes de núcleo de transformada, o elemento de sintaxe para o índice de transformada pode ter três valores.[0230] The syntax element for the transform index, according to this embodiment, may indicate whether an RST (inverse) is applied and any of the transform core matrices included in the transform set. When the transform set includes two transform kernel matrices, the syntax element for the transform index can have three values.

[0231]De acordo com uma modalidade, o valor do elemento de sintaxe para o índice de transformada pode ser derivado como 0 que indica que a RST (inversa) não é aplicada a um bloco alvo, como 1 que indica uma primeira matriz de núcleo de transformada das matrizes de núcleo de transformada, ou como 2 que indica uma segunda matriz de núcleo de transformada das matrizes de núcleo de transformada.[0231] According to one embodiment, the value of the syntax element for the transform index may be derived as 0 which indicates that RST (inverse) is not applied to a target block, as 1 which indicates a first kernel matrix of the transform kernel matrices, or as 2 which indicates a second transform kernel matrix of the transform kernel matrices.

[0232]O codificador de entropia 240 pode binarizar o valor derivado do elemento de sintaxe para o índice de transformada (S1230).[0232] The entropy encoder 240 may binarize the value derived from the syntax element to the transform index (S1230).

[0233]O codificador de entropia 240 pode binarizar os três valores do elemento de sintaxe para o índice de transformada em 0, 10 e 11 de acordo com a codificação unária truncada. Ou seja, o valor do elemento de sintaxe de 0 pode ser binarizado em '0', o valor do elemento de sintaxe de 1 pode ser binarizado em '10', e o valor do elemento de sintaxe de 2 pode ser binarizado em '11', e o codificador de entropia 240 pode binarizar o elemento de sintaxe derivado para o índice de transformada em um dentre '0', '10’ e '11'.[0233] The entropy encoder 240 can binarize the three values of the syntax element for the transform index into 0, 10 and 11 in accordance with the truncated unary encoding. That is, the syntax element value of 0 can be binarized to '0', the syntax element value of 1 can be binarized to '10', and the syntax element value of 2 can be binarized to '11 ', and the entropy encoder 240 may binarize the derived syntax element for the transform index into one of '0', '10' and '11'.

[0234]O codificador de entropia 240 pode derivar informações de contexto, ou seja, um modelo de contexto, em uma cadeia de bins do índice de transformada (S1240) e pode codificar bins da cadeia de bins do elemento de sintaxe com base nas informações de contexto (S1250).[0234] The entropy encoder 240 may derive context information, i.e., a context model, in a transform index bin chain (S1240) and may encode bins of the syntax element bin chain based on the information context (S1250).

[0235]De acordo com essa modalidade, diferentes informações de contexto podem ser aplicadas a dois bins do índice de transformada, respectivamente. Ou seja, todos os dois bins do índice de transformada podem ser codificados por um método de contexto, em vez de um método de desvio, em que um primeiro bin dos bins do elemento de sintaxe para o índice de transformada pode ser decodificado com base nas primeiras informações de contexto, e um segundo bin dos bins do elemento de sintaxe para o índice de transformada pode ser decodificado com base nas segundas informações de contexto.[0235] According to this embodiment, different context information can be applied to two bins of the transform index, respectively. That is, all two bins of the transform index can be encoded by a context method, rather than a branch method, where a first bin of the syntax element bins for the transform index can be decoded based on the first context information, and a second bin of the syntax element bins for the transform index can be decoded based on the second context information.

[0236]A cadeia de bins codificada do elemento de sintaxe pode ser emitida como um fluxo de bits para o aparelho de decodificação 300 ou para o exterior.[0236] The encoded bin string of the syntax element may be output as a bit stream to the decoding apparatus 300 or to the outside.

[0237]Nas modalidades descritas acima, os métodos são explicados com base em fluxogramas por meio de uma série de etapas ou blocos, porém a presente revelação não se limita à ordem das etapas, e uma determinada etapa pode ser realizada na ordem ou etapa diferente daquela descrita acima ou simultaneamente com outra etapa. Ademais, pode ser compreendido por uma pessoa de habilidade comum na técnica que as etapas mostradas em um fluxograma não são exclusivas, e que outra etapa pode ser incorporada ou uma ou mais etapas do fluxograma podem ser removidas sem afetar o escopo da presente revelação.[0237] In the embodiments described above, the methods are explained based on flowcharts through a series of steps or blocks, but the present disclosure is not limited to the order of the steps, and a given step may be performed in a different order or step. as described above or simultaneously with another step. Furthermore, it can be understood by a person of ordinary skill in the art that the steps shown in a flowchart are not exclusive, and that another step can be incorporated or one or more steps from the flowchart can be removed without affecting the scope of the present disclosure.

[0238]Os métodos descritos acima, de acordo com a presente revelação, podem ser implementados como uma forma de software, e um aparelho de codificação e/ou aparelho de decodificação, de acordo com a revelação, podem estar incluídos em um dispositivo para processamento de imagem, tal como uma TV, um computador, um smartphone, um decodificador de sinais, um dispositivo de exibição ou similares.[0238] The methods described above, in accordance with the present disclosure, may be implemented as a form of software, and an encoding apparatus and/or decoding apparatus, in accordance with the disclosure, may be included in a device for processing image, such as a TV, a computer, a smartphone, a signal decoder, a display device or the like.

[0239]Quando as modalidades na presente revelação são incorporadas por software, os métodos descritos acima podem ser incorporados como módulos (processos, funções ou similares) para realizar as funções descritas acima. Os módulos podem ser armazenados em uma memória e podem ser executados por um processador. A memória pode se situar dentro ou fora do processador e pode ser conectada ao processador de várias maneiras conhecidas. O processador pode incluir um circuito integrado de aplicação específica (ASIC), outro conjunto de chips, circuito lógico e/ou um dispositivo de processamento de dados. A memória pode incluir uma memória somente de leitura (ROM), uma memória de acesso aleatório (RAM), uma memória flash, um cartão de memória, um meio de armazenamento e/ou outro dispositivo de armazenamento equivalente. Ou seja, as modalidades descritas na presente revelação podem ser incorporadas e realizadas em um processador, um microprocessador, um controlador ou um chip. Por exemplo, unidades de função mostradas em cada desenho podem ser incorporadas e realizadas em um computador, um processador, um microprocessador, um controlador ou um chip.[0239] When the embodiments in the present disclosure are incorporated by software, the methods described above can be incorporated as modules (processes, functions or the like) to perform the functions described above. Modules can be stored in memory and can be executed by a processor. Memory can be located inside or outside the processor and can be connected to the processor in several known ways. The processor may include an application-specific integrated circuit (ASIC), another chip set, logic circuit, and/or a data processing device. The memory may include a read-only memory (ROM), a random access memory (RAM), a flash memory, a memory card, a storage medium and/or other equivalent storage device. That is, the embodiments described in the present disclosure can be incorporated and realized in a processor, a microprocessor, a controller or a chip. For example, function units shown in each drawing may be embodied and realized in a computer, a processor, a microprocessor, a controller, or a chip.

[0240]Ademais, o aparelho de decodificação e o aparelho de codificação aos quais a presente revelação é aplicada, podem ser incluídos em um transceptor de difusão de multimídia, um terminal de comunicação móvel, um dispositivo de vídeo de cinema em casa, um dispositivo de vídeo de cinema digital, uma câmera de vigilância, um dispositivo de chat vídeo, um dispositivo de comunicação em tempo real, tal como comunicação de vídeo, um dispositivo de difusão móvel, um meio de armazenamento, uma câmera de vídeo, um dispositivo de fornecimento de serviço de vídeo sob demanda (VoD), um dispositivo de vídeo over the top (OTT), um dispositivo de fornecimento de serviço de transmissão contínua de Internet, um dispositivo de vídeo tridimensional (3D), um dispositivo de videotelefonia e um dispositivo de vídeo médico e podem ser usados para processar um sinal de vídeo ou um sinal de dados. Por exemplo, o dispositivo de vídeo over the top (OTT) pode incluir um console de jogos, um reprodutor de Blu-ray, uma TV com acesso à Internet, um sistema de home theater, um smartphone, um PC do tipo Tablet, um gravador de vídeo digital (DVR) e similares.[0240] Furthermore, the decoding apparatus and the encoding apparatus to which the present disclosure is applied may be included in a multimedia broadcast transceiver, a mobile communication terminal, a home theater video device, a digital cinema video camera, a surveillance camera, a video chat device, a real-time communication device such as video communication, a mobile broadcast device, a storage medium, a video camera, a video on demand (VoD) service provision, an over the top (OTT) video device, an Internet streaming service provision device, a three-dimensional (3D) video device, a video telephony device, and a medical video and can be used to process a video signal or a data signal. 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 similar.

[0241]Além disso, o método de processamento ao qual a presente revelação é aplicada, pode ser produzido sob a forma de um programa executado por um computador, e ser armazenado em um meio de gravação legível por computador. Os dados de multimídia que têm uma estrutura de dados, de acordo com a presente revelação, também podem ser armazenados em um meio de gravação legível por computador. O meio de gravação legível por computador inclui todos os tipos de dispositivos de armazenamento e dispositivos de armazenamento distribuídos nos quais os dados legíveis por computador são armazenados. O meio de gravação legível por computador pode incluir, por exemplo, um Disco Blu-ray (BD), um barramento serial universal (USB), uma ROM, uma PROM, uma EPROM, uma EEPROM, uma RAM, um CD-ROM, uma fita magnética, um disquete e um dispositivo de armazenamento de dados óptico. Ademais, o meio de gravação legível por computador inclui mídia incorporada sob a forma de uma onda portadora (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 transmitido através de uma rede de comunicação com fio ou sem fio. Adicionalmente, as modalidades da presente revelação podem ser incorporadas como um produto de programa de computador por códigos de programa, e os códigos de programa podem ser executados em um computador pelas modalidades da presente revelação. Os códigos de programa podem ser armazenados em uma portadora legível por computador.[0241] Furthermore, the processing method to which the present disclosure is applied, can be produced in the form of a program executed by a computer, and be stored on a computer-readable recording medium. Multimedia data having a data structure in accordance with the present disclosure may also be stored on a computer-readable recording medium. Computer-readable recording medium includes all types of storage devices and distributed storage devices on which computer-readable data is stored. The computer-readable recording medium may include, for example, a Blu-ray Disc (BD), a universal serial bus (USB), a ROM, a PROM, an EPROM, an EEPROM, a RAM, a CD-ROM, a magnetic tape, a floppy disk and an optical data storage device. Furthermore, the computer-readable recording medium includes embedded media in the form of a carrier wave (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 transmitted over a wired or wireless communication network. Additionally, embodiments of the present disclosure may be embodied as a computer program product by program codes, and the program codes may be executed on a computer by embodiments of the present disclosure. Program codes can be stored on a computer-readable carrier.

[0242]A Figura 13 ilustra a estrutura de um sistema de transmissão contínua de conteúdos ao qual a presente revelação é aplicada.[0242] Figure 13 illustrates the structure of a continuous content transmission system to which the present disclosure is applied.

[0243]Ademais, o sistema de transmissão contínua de conteúdos ao qual a presente revelação é aplicado pode incluir amplamente um servidor de codificação, um servidor de transmissão contínua, um servidor web, um armazenamento de mídia, um equipamento de usuário e um dispositivo de entrada de multimídia.[0243] Furthermore, the content streaming system to which the present disclosure is applied may broadly include an encoding server, a streaming server, a web server, a media storage, a user equipment, and a streaming device. multimedia input.

[0244]O servidor de codificação funciona para compactar os dados digitais à entrada de conteúdos a partir dos dispositivos de entrada de multimídia, tais como smartphone, câmera, câmera de vídeo e similares, para gerar um fluxo de bits e para transmitir o mesmo para o servidor de transmissão contínua. Como outro exemplo, em um caso em que o dispositivo de entrada de multimídia, tal como, smartphone, câmera, câmera de vídeo ou similares, gera diretamente um fluxo de bits, o servidor de codificação pode ser omitido. 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 a presente revelação é aplicada. E o servidor de transmissão contínua pode armazenar o fluxo de bits temporariamente durante um processo para transmitir ou receber o fluxo de bits.[0244] The encoding server functions to compress the digital data input content from multimedia input devices, such as smartphone, camera, video camera and the like, to generate a bit stream and to transmit the same to the streaming server. As another example, in a case where the multimedia input device, such as a smartphone, camera, video camera or the like, directly generates a bit stream, the encoding server may be omitted. The bit stream may be generated by a coding method or a bit stream generating method to which the present disclosure is applied. And the streaming server may store the bit stream temporarily during a process to transmit or receive the bit stream.

[0245]O servidor de transmissão contínua transmite dados multimídia para o equipamento de usuário com base em uma solicitação do usuário através do servidor da web, que funciona como um instrumento que informa ao usuário qual serviço existe. Quando o usuário solicita um serviço que o usuário deseja, o servidor web transfere a solicitação para o servidor de transmissão contínua, e o servidor de transmissão contínua transmite dados de multimídia para o usuário. Nesse aspecto, o sistema de transmissão contínua de conteúdos pode incluir um servidor de controle separado e, nesse caso, o servidor de controle funciona para controlar comandos/respostas entre respectivos equipamentos no sistema de transmissão contínua de conteúdos.[0245] The streaming server transmits multimedia data to the user equipment based on a user request through the web server, which functions as an instrument that informs the user which service exists. When the user requests a service that the user wants, the web server transfers the request to the streaming server, and the streaming server transmits multimedia data to the user. In this regard, the content streaming system may include a separate control server, in which case the control server functions to control commands/responses between respective equipment in the content streaming system.

[0246]O servidor de transmissão contínua pode receber conteúdo do armazenamento de mídia e/ou do servidor de codificação. Por exemplo, em um caso em os conteúdos são recebidos a partir do servidor de codificação, os conteúdos podem ser recebidos em tempo real. Nesse caso, o servidor de transmissão contínua pode armazenar o fluxo de bits por um período de tempo predeterminado para fornecer o serviço de transmissão contínua sem problemas.[0246] The streaming server may receive content from the media store and/or the encoding server. For example, in a case where the contents are received from the encoding server, the contents may be received in real time. In this case, the streaming server can store the bit stream for a predetermined period of time to provide the streaming service smoothly.

[0247]Por exemplo, o equipamento de usuário pode incluir um telefone celular, um smartphone, um computador do tipo laptop, um terminal de difusão digital, um assistente digital pessoal (PDA), um reprodutor de multimídia portátil (PMP), uma navegação, um slate PC, um PC do tipo tablet, um ultrabook, um dispositivo vestível (por exemplo, um terminal do tipo relógio (relógio de pulso inteligente), um terminal do tipo óculos (óculos inteligentes), um dispositivo montado na cabeça (HMD)), uma TV digital, um computador desktop, uma sinalização digital ou similares. Cada um dos servidores no sistema de transmissão contínua de conteúdos pode ser operado como um servidor distribuído e, nesse caso, os dados recebidos por cada servidor podem ser processados de maneira distribuída.[0247] For example, user equipment may include a cellular telephone, a smartphone, a laptop-type computer, a digital broadcast terminal, a personal digital assistant (PDA), a portable multimedia player (PMP), a navigation , a slate PC, a tablet-type PC, an ultrabook, a wearable device (e.g., a watch-type terminal (smart wristwatch), a glasses-type terminal (smart glasses), a head-mounted device (HMD )), a digital TV, a desktop computer, digital signage or similar. Each of the servers in the content streaming system can be operated as a distributed server, in which case the data received by each server can be processed in a distributed manner.

Claims (13)

1. Método de decodificação de imagem realizado por um aparelho de decodificação, CARACTERIZADO pelo fato de que o método compreende: derivar coeficientes de transformada quantizados para um bloco alvo a partir de um fluxo de bits; derivar coeficientes de transformada através de desquantização com base nos coeficientes de transformada quantizados para o bloco alvo; derivar coeficientes de transformada modificados com base em uma transformada secundária inversa para os coeficientes de transformada; derivar amostras residuais para o bloco alvo com base em uma transformada primária inversa para os coeficientes de transformada modificados; e gerar uma foto reconstruída com base nas amostras residuais para o bloco alvo, em que a derivação dos coeficientes de transformada modificados compreende derivar uma matriz de núcleo de transformada, e realizar uma operação de matriz dos coeficientes de transformada e a matriz de núcleo de transformada; em que a matriz de núcleo de transformada é derivada com base em um índice de transformada e um conjunto de transformada; em que o índice de transformada representa pelo menos uma da primeira informação de índice, segunda informação de índice e terceira informação de índice, a primeira informação de índice indicando a transformada secundaria inversa não sendo aplicada ao bloco alvo, a segunda informação de índice indicando uma primeira matriz de núcleo de transformada como a matriz de núcleo de transformada para a transformada secundária inversa e a terceira informação de índice indicando uma segunda matriz de núcleo de transformada como a matriz de núcleo de transformada para a transformada secundaria inversa; em que o conjunto de transformada é determinado com base em um modo de intrapredição do bloco alvo; em que o modo de intrapredição do bloco alvo é mapeado a um dos quatro conjuntos de transformada.1. Image decoding method performed by a decoding apparatus, CHARACTERIZED by the fact that the method comprises: deriving quantized transform coefficients for a target block from a bit stream; deriving transform coefficients through dequantization based on the quantized transform coefficients for the target block; deriving modified transform coefficients based on an inverse secondary transform for the transform coefficients; deriving residual samples for the target block based on an inverse primary transform for the modified transform coefficients; and generating a reconstructed photo based on the residual samples for the target block, wherein deriving the modified transform coefficients comprises deriving a transform kernel matrix, and performing a matrix operation of the transform coefficients and the transform kernel matrix ; wherein the transform kernel matrix is derived based on a transform index and a transform set; wherein the transform index represents at least one of the first index information, second index information and third index information, the first index information indicating the inverse secondary transform not being applied to the target block, the second index information indicating a first transform kernel matrix as the transform kernel matrix for the inverse secondary transform and the third index information indicating a second transform kernel matrix as the transform kernel matrix for the inverse secondary transform; wherein the transform set is determined based on an intraprediction mode of the target block; wherein the intraprediction mode of the target block is mapped to one of the four transform sets. 2. Método de decodificação de imagem, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que o conjunto de transformada é determinado com base no modo de intrapredição sendo igual a 0 ou 1, como um primeiro valor de índice de conjunto de transformada, em que o conjunto de transformada é determinado, com base no modo de intrapredição sendo maior ou igual a 2 e menor ou igual a 12, como um segundo valor de índice de conjunto de transformada, em que o conjunto de transformada é determinado, com base no modo de intrapredição sendo maior ou igual a 13 e menor ou igual a 23, como um terceiro valor de índice de conjunto de transformada, em que o conjunto de transformada é determinado, com base no modo de intrapredição sendo maior ou igual a 24 e menor ou igual a 44, como um quarto valor de índice de conjunto de transformada, em que o conjunto de transformada é determinado, com base no modo de intrapredição sendo maior ou igual a 45 e menor ou igual a 55, como o terceiro valor de índice de conjunto de transformada, em que o conjunto de transformada é determinado com base no modo de intrapredição sendo maior ou igual a 56, como o segundo valor de índice de conjunto de transformada.2. Image decoding method according to claim 1, CHARACTERIZED by the fact that the transform set is determined based on the intraprediction mode being equal to 0 or 1, as a first transform set index value, wherein the transform set is determined, based on the intraprediction mode being greater than or equal to 2 and less than or equal to 12, as a second transform set index value, wherein the transform set is determined, based in the intraprediction mode being greater than or equal to 13 and less than or equal to 23, as a third transform set index value, wherein the transform set is determined, based on the intraprediction mode being greater than or equal to 24 and less than or equal to 44, as a fourth transform set index value, where the transform set is determined, based on the intraprediction mode being greater than or equal to 45 and less than or equal to 55, as the third value of transform set index, wherein the transform set is determined based on the intraprediction mode being greater than or equal to 56, as the second transform set index value. 3. Método de decodificação de imagem, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que compreende adicionalmente: derivar informações de contexto de um elemento de sintaxe para o índice de transformada, as informações de contexto incluindo primeiras informações de contexto e segundas informações de contexto; decodificar bins do elemento de sintaxe para o índice de transformada com base nas informações de contexto; e derivar um valor do elemento de sintaxe para o índice de transformada, em que um primeiro bin dos bins do elemento de sintaxe para o índice de transformada é decodificado com base nas primeiras informações de contexto, e um segundo bin dos bins do elemento de sintaxe para o índice de transformada é decodificado com base nas segundas informações de contexto.3. Image decoding method according to claim 1, CHARACTERIZED by the fact that it further comprises: deriving context information from a syntax element to the transform index, the context information including first context information and second information of context; decode bins from syntax element to transform index based on context information; and deriving a value from the syntax element to the transform index, wherein a first bin of the syntax element bins to the transform index is decoded based on the first context information, and a second bin from the syntax element bins for the transform index is decoded based on the second context information. 4. Método de decodificação de imagem, de acordo com a reivindicação 3, CARACTERIZADO pelo fato de que o valor do elemento de sintaxe é binarizado por um código unário truncado, e em que o valor do elemento de sintaxe de 0 corresponde à primeira informação de índice e é binarizado em ‘0’, o valor do elemento de sintaxe de 1 corresponde à segunda informação de índice e é binarizado em ‘10’ e o valor do elemento de sintaxe de 2 corresponde à terceira informação de índice e é binarizado em ‘11’.4. Image decoding method according to claim 3, CHARACTERIZED by the fact that the value of the syntax element is binarized by a truncated unary code, and wherein the value of the syntax element of 0 corresponds to the first information of index and is binarized to '0', the syntax element value of 1 corresponds to the second index information and is binarized to '10', and the syntax element value of 2 corresponds to the third index information and is binarized to ' 11'. 5. Método de codificação de imagem realizado por um aparelho de codificação de imagem, CARACTERIZADO pelo fato de que o método compreende: derivar amostras de predição com base em um modo de intrapredição aplicado a um bloco alvo; derivar amostras residuais para o bloco alvo com base na amostra de predição; derivar coeficientes de transformada para o bloco alvo com base em uma transformada primária para as amostras residuais; derivar coeficientes de transformada modificados com base em uma transformada secundária dos coeficientes de transformada, derivar coeficientes de transformada quantizados realizando-se a quantização codificar um índice de transformada relacionado a uma matriz de núcleo de transformada, em que a derivação de coeficientes de transformada modificados compreende, determinar um conjunto de transformada e a matriz de núcleo de transformada, e realizar uma operação de matriz dos coeficientes de transformada e a matriz de núcleo de transformada, em que o índice de transformada representa pelo menos uma da primeira informação de índice, segunda informação de índice e terceira informação de índice, a primeira informação de índice indicando a transformada secundaria inversa não sendo aplicada ao bloco alvo, a segunda informação de índice indicando uma primeira matriz de núcleo de transformada como a matriz de núcleo de transformada para a transformada secundária inversa e a terceira informação de índice indicando uma segunda matriz de núcleo de transformada como a matriz de núcleo de transformada para a transformada secundaria inversa; em que o conjunto de transformada é determinado com base no modo de intrapredição do bloco alvo; em que o modo de intrapredição do bloco alvo é mapeado a um dos quatro conjuntos de transformada.5. Image coding method performed by an image coding apparatus, CHARACTERIZED by the fact that the method comprises: deriving prediction samples based on an intraprediction mode applied to a target block; derive residual samples for the target block based on the prediction sample; derive transform coefficients for the target block based on a primary transform for the residual samples; deriving modified transform coefficients based on a secondary transform of the transform coefficients, deriving quantized transform coefficients by performing quantization encoding a transform index related to a transform kernel matrix, wherein the derivation of modified transform coefficients comprises , determine a transform set and the transform kernel matrix, and perform a transform coefficient matrix operation and the transform kernel matrix, wherein the transform index represents at least one of the first index information, second information of index and third index information, the first index information indicating the inverse secondary transform not being applied to the target block, the second index information indicating a first transform kernel matrix as the transform kernel matrix for the inverse secondary transform and the third index information indicating a second transform kernel matrix as the transform kernel matrix for the inverse secondary transform; wherein the transform set is determined based on the intraprediction mode of the target block; wherein the intraprediction mode of the target block is mapped to one of the four transform sets. 6. Método de codificação de imagem, de acordo com a reivindicação 5, CARACTERIZADO pelo fato de que o conjunto de transformada é determinado com base no modo de intrapredição sendo igual a 0 ou 1, como um primeiro valor de índice de conjunto de transformada, em que o conjunto de transformada é determinado, com base no modo de intrapredição sendo maior ou igual a 2 e menor ou igual a 12, como um segundo valor de índice de conjunto de transformada, em que o conjunto de transformada é determinado, com base no modo de intrapredição sendo maior ou igual a 13 e menor ou igual a 23, como um terceiro valor de índice de conjunto de transformada, em que o conjunto de transformada é determinado, com base no modo de intrapredição sendo maior ou igual a 24 e menor ou igual a 44, como um quarto valor de índice de conjunto de transformada, em que o conjunto de transformada é determinado, com base no modo de intrapredição sendo maior ou igual a 45 e menor ou igual a 55, como o terceiro valor de índice de conjunto de transformada, em que o conjunto de transformada é determinado com base no modo de intrapredição sendo maior ou igual a 56, como o segundo valor de índice de conjunto de transformada.6. Image coding method according to claim 5, CHARACTERIZED by the fact that the transform set is determined based on the intraprediction mode being equal to 0 or 1, as a first transform set index value, wherein the transform set is determined, based on the intraprediction mode being greater than or equal to 2 and less than or equal to 12, as a second transform set index value, wherein the transform set is determined, based in the intraprediction mode being greater than or equal to 13 and less than or equal to 23, as a third transform set index value, wherein the transform set is determined, based on the intraprediction mode being greater than or equal to 24 and less than or equal to 44, as a fourth transform set index value, where the transform set is determined, based on the intraprediction mode being greater than or equal to 45 and less than or equal to 55, as the third value of transform set index, wherein the transform set is determined based on the intraprediction mode being greater than or equal to 56, as the second transform set index value. 7. Método de codificação de imagem, de acordo com a reivindicação 5, CARACTERIZADO pelo fato de que a codificação do índice de transformada compreende: derivar um valor de um elemento de sintaxe para o índice de transformada; derivar informações de contexto do elemento de sintaxe para o índice de transformada, as informações de contexto incluindo primeiras informações de contexto e segundas informações de contexto; e codificar bins do elemento de sintaxe para o índice de transformada com base nas informações de contexto, e em que um primeiro bin dos bins do elemento de sintaxe para o índice de transformada é codificado com base nas primeiras informações de contexto, e um segundo bin dos bins do elemento de sintaxe para o índice de transformada é codificado com base nas segundas informações de contexto.7. Image coding method according to claim 5, CHARACTERIZED by the fact that coding the transform index comprises: deriving a value from a syntax element for the transform index; deriving context information from the syntax element to the transform index, the context information including first context information and second context information; and encoding syntax element bins for the transform index based on the context information, and wherein a first bin of the syntax element bins for the transform index is encoded based on the first context information, and a second bin of the syntax element bins for the transform index is encoded based on the first context information, and a second bin of the syntax element bins for the transform index from the syntax element bins to the transform index is encoded based on the second context information. 8. Método de codificação de imagem, de acordo com a reivindicação 7, CARACTERIZADO pelo fato de que o valor do elemento de sintaxe é binarizado por um código unário truncado, e em que o valor do elemento de sintaxe de 0 corresponde à primeira informação de índice e é binarizado em ‘0’, o valor do elemento de sintaxe de 1 corresponde à segunda informação de índice e é binarizado em ‘10’ e o valor do elemento de sintaxe de 2 corresponde à terceira informação de índice e é binarizado em ‘11’.8. Image coding method according to claim 7, CHARACTERIZED by the fact that the value of the syntax element is binarized by a truncated unary code, and wherein the value of the syntax element of 0 corresponds to the first information of index and is binarized to '0', the syntax element value of 1 corresponds to the second index information and is binarized to '10', and the syntax element value of 2 corresponds to the third index information and is binarized to ' 11'. 9. Meio de armazenamento legível por computador não transitório que armazena um fluxo de bits gerado por um método de codificação, CARACTERIZADO pelo fato de que o método compreende; derivar amostras de predição simples com base em um modo de intrapredição aplicado a um bloco alvo; derivar amostras residuais para o bloco alvo com base nas amostras de predição; derivar coeficientes de transformada para o bloco alvo com base em uma transformada primária para as amostras residuais; derivar coeficientes de transformada modificados com base em uma transformada secundária dos coeficientes de transformada; derivar coeficientes de transformada quantizados realizando-se a quantização com base nos coeficientes de transformada modificados; codificar um índice de transformada relacionado a uma matriz de núcleo de transformada e informações residuais relacionadas aos coeficientes de transformada quantizados para gerar o fluxo de bits, em que a derivação de coeficientes de transformada modificados compreende, determinar um conjunto de transformada e a matriz de núcleo de transformada, e realizar uma operação de matriz dos coeficientes de transformada e a matriz de núcleo de transformada, em que o índice de transformada representa pelo menos uma da primeira informação de índice, segunda informação de índice e terceira informação de índice, a primeira informação de índice indicando a transformada secundaria inversa não sendo aplicada ao bloco alvo, a segunda informação de índice indicando uma primeira matriz de núcleo de transformada como a matriz de núcleo de transformada para a transformada secundária inversa e a terceira informação de índice indicando uma segunda matriz de núcleo de transformada como a matriz de núcleo de transformada para a transformada secundaria inversa; em que o conjunto de transformada é determinado com base no modo de intrapredição do bloco alvo; em que o modo de intrapredição do bloco alvo é mapeado a um dos quatro conjuntos de transformada.9. Non-transitory computer-readable storage medium that stores a stream of bits generated by an encoding method, CHARACTERIZED by the fact that the method comprises; deriving simple prediction samples based on an intraprediction mode applied to a target block; derive residual samples for the target block based on the prediction samples; derive transform coefficients for the target block based on a primary transform for the residual samples; deriving modified transform coefficients based on a secondary transform of the transform coefficients; derive quantized transform coefficients by performing quantization based on the modified transform coefficients; encoding a transform index related to a transform kernel matrix and residual information related to the quantized transform coefficients to generate the bit stream, wherein the derivation of modified transform coefficients comprises, determining a transform set and the kernel matrix transform, and perform a matrix operation of the transform coefficients and the transform kernel matrix, wherein the transform index represents at least one of the first index information, second index information and third index information, the first information index information indicating the inverse secondary transform not being applied to the target block, the second index information indicating a first transform kernel matrix as the transform kernel matrix for the inverse secondary transform, and the third index information indicating a second transform matrix. transform kernel as the transform kernel matrix for the inverse secondary transform; wherein the transform set is determined based on the intraprediction mode of the target block; wherein the intraprediction mode of the target block is mapped to one of the four transform sets. 10. Método de transmissão de dados para uma imagem, o método CARACTERIZADO pelo fato de que compreende: obter um fluxo de bits para a imagem, em que o fluxo de bits é gerado com base nas amostras de predição de derivação com base em um modo de intrapredição aplicado a um bloco alvo, derivar as amostras residuais para o bloco alvo com base nas amostras de predição, derivar os coeficientes de transformada para o bloco alvo com base em uma transformada primária para as amostras residuais, derivar coeficientes de transformada modificados com base em uma transformada secundária dos coeficientes de transformada, derivar coeficientes de transformada quantizados realizando-se a quantização com base nos coeficientes de transformada modificados, codificar um índice de transformada relacionado a uma matriz de núcleo de transformada e informações residuais relacionados aos coeficientes de transformada quantizados para emitir o fluxo de bits, transmitir os dados compreendendo o fluxo de bits, em que a derivação de coeficientes de transformada modificados compreende, determinar um conjunto de transformada e a matriz de núcleo de transformada, e realizar uma operação de matriz dos coeficientes de transformada e a matriz de núcleo de transformada, em que o índice de transformada representa pelo menos uma da primeira informação de índice, segunda informação de índice e terceira informação de índice, a primeira informação de índice indicando a transformada secundaria inversa não sendo aplicada ao bloco alvo, a segunda informação de índice indicando uma primeira matriz de núcleo de transformada como a matriz de núcleo de transformada para a transformada secundária inversa e a terceira informação de índice indicando uma segunda matriz de núcleo de transformada como a matriz de núcleo de transformada para a transformada secundaria inversa; em que o conjunto de transformada é determinado com base no modo de intrapredição do bloco alvo; em que o modo de intrapredição do bloco alvo é mapeado a um dos quatro conjuntos de transformada.10. Method of transmitting data to an image, the method CHARACTERIZED by the fact that it comprises: obtaining a bit stream for the image, wherein the bit stream is generated based on the derivation prediction samples based on a mode intraprediction applied to a target block, derive the residual samples for the target block based on the prediction samples, derive the transform coefficients for the target block based on a primary transform for the residual samples, derive modified transform coefficients based on in a secondary transform of the transform coefficients, derive quantized transform coefficients by performing quantization based on the modified transform coefficients, encode a transform index related to a transform kernel matrix and residual information related to the quantized transform coefficients to output the bit stream, transmit the data comprising the bit stream, wherein the derivation of modified transform coefficients comprises, determining a transform set and the transform kernel matrix, and performing a matrix operation of the transform coefficients and the transform core matrix, wherein the transform index represents at least one of the first index information, second index information and third index information, the first index information indicating the inverse secondary transform not being applied to the target block, the second index information indicating a first transform kernel matrix as the transform kernel matrix for the inverse secondary transform and the third index information indicating a second transform kernel matrix as the transform kernel matrix for the secondary transform reverse; wherein the transform set is determined based on the intraprediction mode of the target block; wherein the intraprediction mode of the target block is mapped to one of the four transform sets. 11. Aparelho de decodificação para decodificar imagem, o aparelho de decodificação CARACTERIZADO pelo fato de que compreende um decodificador de entropia configurado para derivar coeficientes de transformada quantizadas para um bloco alvo a partir de um fluxo de bits; um desquantizador configurado para derivar coeficientes de transformada através de desquantização com base nos coeficientes de transformada quantizados para o bloco alvo; um transformador inverso configurado para derivar coeficientes de transformada modificados com base em uma transformada secundaria inversa para os coeficientes de transformada e derivar amostras residuais para o bloco alvo com base em uma transformada primária inversa para os coeficientes de transformada modificada, e um somador configurado para gerar uma foto reconstruída com base nas amostras residuais para o bloco alvo, em que o transformador inverso deriva uma matriz de núcleo de transformada e realiza uma operação de matriz dos coeficientes de transformada e matriz de núcleo de transformada, em que a matriz de núcleo de transformada é derivada com base em um índice de transformada e um conjunto de transformada, em que o índice de transformada representa pelo menos uma da primeira informação de índice, segunda informação de índice e terceira informação de índice, a primeira informação de índice indicando a transformada secundaria inversa não sendo aplicada ao bloco alvo, a segunda informação de índice indicando uma primeira matriz de núcleo de transformada como a matriz de núcleo de transformada para a transformada secundária inversa e a terceira informação de índice indicando uma segunda matriz de núcleo de transformada como a matriz de núcleo de transformada para a transformada secundaria inversa; em que o conjunto de transformada é determinado com base em um modo de intrapredição do bloco alvo; em que o modo de intrapredição do bloco alvo é mapeado a um dos quatro conjuntos de transformada.11. Decoding apparatus for decoding image, the decoding apparatus CHARACTERIZED by the fact that it comprises an entropy decoder configured to derive quantized transform coefficients for a target block from a bit stream; a dequantizer configured to derive transform coefficients through dequantization based on the quantized transform coefficients for the target block; an inverse transformer configured to derive modified transform coefficients based on an inverse secondary transform for the transform coefficients and to derive residual samples for the target block based on an inverse primary transform for the modified transform coefficients, and an adder configured to generate a reconstructed photo based on the residual samples for the target block, wherein the inverse transformer derives a transform kernel matrix and performs a transform coefficient matrix and transform kernel matrix operation, wherein the transform kernel matrix is derived based on a transform index and a transform set, wherein the transform index represents at least one of the first index information, second index information and third index information, the first index information indicating the secondary transform inverse not being applied to the target block, the second index information indicating a first transform kernel matrix as the transform kernel matrix for the inverse secondary transform, and the third index information indicating a second transform kernel matrix as the transform matrix from transform core to the inverse secondary transform; wherein the transform set is determined based on an intraprediction mode of the target block; wherein the intraprediction mode of the target block is mapped to one of the four transform sets. 12. Aparelho de codificação para codificar imagem, o aparelho de codificação CARACTERIZADO pelo fato de que compreende um preditor configurado para derivar amostras de predição com base em um mode de intrapredição aplicado a um bloco de alvo; um subtrator configurado para derivar amostras residuais para o bloco alvo com base nas amostras de predição; um transformador configurado para derivar coeficientes de transformada para o bloco alvo com base em uma transformada primária para as amostras residuais e derivar coeficientes de transformada modificados com base em uma transformada secundária dos coeficientes de transformada, um quantizador configurado para derivar coeficientes de transformada quantizados realizando-se a quantização com base nos coeficientes de transformada modificados, e um codificador de entropia configurado para codificar um índice de transformada relacionado a uma matriz de núcleo de transformada e informações residuais relacionadas aos coeficientes de transformada quantizados para gerar as informações codificadas, em que o transformador determina um conjunto de transformada e a matriz de núcleo de transformada, e realiza uma operação de matriz dos coeficientes de transformada e a matriz de núcleo de transformada, em que o índice de transformada representa pelo menos uma da primeira informação de índice, segunda informação de índice e terceira informação de índice, a primeira informação de índice indicando a transformada secundaria inversa não sendo aplicada ao bloco alvo, a segunda informação de índice indicando uma primeira matriz de núcleo de transformada como a matriz de núcleo de transformada para a transformada secundária inversa e a terceira informação de índice indicando uma segunda matriz de núcleo de transformada como a matriz de núcleo de transformada para a transformada secundaria inversa; em que o conjunto de transformada é determinado com base no modo de intrapredição do bloco alvo; em que o modo de intrapredição do bloco alvo é mapeado a um dos quatro conjuntos de transformada.12. Coding apparatus for encoding image, the coding apparatus CHARACTERIZED by the fact that it comprises a predictor configured to derive prediction samples based on an intraprediction mode applied to a target block; a subtractor configured to derive residual samples for the target block based on the prediction samples; a transformer configured to derive transform coefficients for the target block based on a primary transform for the residual samples and to derive modified transform coefficients based on a secondary transform of the transform coefficients, a quantizer configured to derive quantized transform coefficients by performing if quantization based on the modified transform coefficients, and an entropy encoder configured to encode a transform index related to a transform kernel matrix and residual information related to the quantized transform coefficients to generate the encoded information, wherein the transformer determines a transform set and the transform kernel matrix, and performs a matrix operation of the transform coefficients and the transform kernel matrix, wherein the transform index represents at least one of the first index information, second index information index and third index information, the first index information indicating the inverse secondary transform not being applied to the target block, the second index information indicating a first transform kernel matrix as the transform kernel matrix for the inverse secondary transform, and the third index information indicating a second transform kernel matrix as the transform kernel matrix for the inverse secondary transform; wherein the transform set is determined based on the intraprediction mode of the target block; wherein the intraprediction mode of the target block is mapped to one of the four transform sets. 13. Aparelho de transmissão para transmissão de dados para uma imagem, o aparelho de transmissão CARACTERIZADO pelo fato de que compreende: um processador configurado para obter um fluxo de bits para a imagem, o fluxo de bits é gerado com base nas amostras de predição de derivação com base em um modo de intrapredição aplicado a um bloco alvo, derivar amostras residuais para o bloco alvo com base nas amostras de predição, derivar coeficientes de transformada para o bloco alvo com base em uma transformada primária para as amostras residuais, derivar coeficientes de transformada modificados com base em uma transformada secundária dos coeficientes de transformada, derivar coeficientes de transformada quantizados realizando-se a quantização com base nos coeficientes de transformada modificados, codificar um índice de transformada relacionado a uma matriz de núcleo de transformada e informações residuais relacionadas aos coeficientes de transformada quantizados para emitir o fluxo de bits, um transmissor configurado para transmitir os dados compreendendo o fluxo de bits, em que a derivação de coeficientes de transformada modificados compreende, determinar um conjunto de transformada e a matriz de núcleo de transformada, e realizar uma operação de matriz dos coeficientes de transformada e a matriz de núcleo de transformada, em que o índice de transformada representa pelo menos uma da primeira informação de índice, segunda informação de índice e terceira informação de índice, a primeira informação de índice indicando a transformada secundaria inversa não sendo aplicada ao bloco alvo, a segunda informação de índice indicando uma primeira matriz de núcleo de transformada como a matriz de núcleo de transformada para a transformada secundária inversa e a terceira informação de índice indicando uma segunda matriz de núcleo de transformada como a matriz de núcleo de transformada para a transformada secundaria inversa; em que o conjunto de transformada é determinado com base no modo de intrapredição do bloco alvo; em que o modo de intrapredição do bloco alvo é mapeado a um dos quatro conjuntos de transformada.13. Transmission apparatus for transmitting data to an image, the transmission apparatus CHARACTERIZED by the fact that it comprises: a processor configured to obtain a bit stream for the image, the bit stream is generated based on the prediction samples of derivation based on an intraprediction mode applied to a target block, derive residual samples for the target block based on the prediction samples, derive transform coefficients for the target block based on a primary transform for the residual samples, derive transform coefficients for modified transform based on a secondary transform of the transform coefficients, derive quantized transform coefficients by performing quantization based on the modified transform coefficients, encode a transform index related to a transform kernel matrix and residual information related to the coefficients of quantized transforms to output the bit stream, a transmitter configured to transmit the data comprising the bit stream, which the derivation of modified transform coefficients comprises, determining a transform set and the transform core matrix, and performing a matrix operation of the transform coefficients and the transform kernel matrix, wherein the transform index represents at least one of the first index information, second index information and third index information, the first index information indicating the secondary transform inverse not being applied to the target block, the second index information indicating a first transform kernel matrix as the transform kernel matrix for the inverse secondary transform, and the third index information indicating a second transform kernel matrix as the transform matrix from transform core to the inverse secondary transform; wherein the transform set is determined based on the intraprediction mode of the target block; wherein the intraprediction mode of the target block is mapped to one of the four transform sets.
BR122022006263-6A 2018-12-06 2019-12-05 IMAGE DECODING METHOD AND APPARATUS, IMAGE CODING METHOD AND APPARATUS, NON-TRAINER COMPUTER READABLE STORAGE MEDIUM, METHOD AND APPARATUS FOR TRANSMITTING DATA TO AN IMAGE BR122022006263B1 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US62/775,914 2018-12-06

Publications (1)

Publication Number Publication Date
BR122022006263B1 true BR122022006263B1 (en) 2023-08-15

Family

ID=

Similar Documents

Publication Publication Date Title
BR122021012456A2 (en) METHOD OF DECODING AN IMAGE PERFORMED BY A DECODERING APPLIANCE, METHOD OF ENCODING AN IMAGE PERFORMED BY AN ENCODING APPLIANCE, DECODING APPLIANCE FOR DECODING AN IMAGE, ENCODING APPARATUS FOR AN IMAGE ENCODING AND DIGITAL STORAGE MEDIA NOT READIBLE BY COMPUTER READIBLE TRANSIENT
AU2020360013B2 (en) Transform-based image coding method, and apparatus therefor
JP7223208B2 (en) Transform-based video coding method and apparatus
ES2954232T3 (en) Video coding method based on secondary transform and device for the same
BR122021011813A2 (en) METHOD OF DECODING IMAGES VIA A DECODING APPARATUS, METHOD OF ENCODING IMAGES VIA AN ENCODING APPARATUS AND NON TRANSIENT COMPUTER-READABLE STORAGE MEDIA
JP2023024623A (en) Image coding method based on secondary transform, and device therefor
BR112021012505B1 (en) METHOD OF IMAGE DECODING/ENCODING PERFORMED BY A DECODING/ENCODING APPARATUS AND COMPUTER READABLE NON-TRAINER STORAGE MEDIA
JP2023033544A (en) Transform in intra-prediction-based video coding
KR20220035154A (en) Image encoding/decoding method, apparatus and method of transmitting bitstream for signaling chroma component prediction information according to whether or not the palette mode is applied
AU2024201210A1 (en) Transform-based image coding method and device therefor
JP2023053018A (en) Video coding method based on transform and apparatus therefor
ES2953235T3 (en) Transform-based image coding
BR122022006263B1 (en) IMAGE DECODING METHOD AND APPARATUS, IMAGE CODING METHOD AND APPARATUS, NON-TRAINER COMPUTER READABLE STORAGE MEDIUM, METHOD AND APPARATUS FOR TRANSMITTING DATA TO AN IMAGE
BR122022006273B1 (en) IMAGE DECODING METHOD AND APPARATUS, IMAGE CODING METHOD AND APPARATUS, NON-TRAINER COMPUTER READABLE STORAGE MEDIUM, METHOD AND APPARATUS FOR TRANSMITTING DATA TO AN IMAGE
BR112021010422B1 (en) IMAGE DECODING METHOD PERFORMED BY A DECODING APPARATUS, IMAGE CODING METHOD PERFORMED BY AN IMAGE CODING APPARATUS, AND NON-TRAINER COMPUTER READABLE STORAGE MEDIUM
RU2806283C2 (en) Image encoding method based on transformation and device for its implementation
RU2803184C1 (en) Image encoding method based on transformation and device for its implementation
RU2811986C2 (en) Image encoding method based on transformation and device for its implementation
RU2781079C1 (en) Transformation when encoding images based on internal prediction
RU2799629C1 (en) Image encoding method based on transformation and device for its implementation
RU2803457C2 (en) Image encoding method based on transformation and device for its implementation
BR122023020425A2 (en) DECODING/CODING APPARATUS FOR DECODING/ENCODING IMAGES AND APPARATUS FOR TRANSMITTING DATA TO AN IMAGE
BR112021011225B1 (en) IMAGE DECODING METHOD CARRIED OUT BY A DECODING APPARATUS, IMAGE CODING METHOD CARRIED OUT BY AN IMAGE CODING APPARATUS, AND NON-TRANSITORY COMPUTER READABLE STORAGE MEDIA
BR122023023402A2 (en) IMAGE CODING METHOD BASED ON A TRANSFORM, AND APPARATUS THEREOF
BR122022006649B1 (en) METHOD OF IMAGE DECODING CARRIED OUT BY A DECODING APPARATUS, DECODING APPARATUS, IMAGE CODING METHOD CARRIED OUT BY A CODING APPARATUS, ENCRYPTING APPARATUS, NON-TRAITIVE COMPUTER READABLE STORAGE MEDIA, METHOD OF TRANSMISSION OF DATA TO AN IMAGE AND TRANSMISSION APPARATUS FOR TRANSMISSION OF DATA TO AN IMAGE