BR122023021072A2 - UNLOCKING METHOD, DEVICE FOR USE IN AN IMAGE ENCODER AND/OR AN IMAGE DECODER, ENCODER, DECODER, AND NON-TRAINER COMPUTER READABLE MEDIA - Google Patents

UNLOCKING METHOD, DEVICE FOR USE IN AN IMAGE ENCODER AND/OR AN IMAGE DECODER, ENCODER, DECODER, AND NON-TRAINER COMPUTER READABLE MEDIA Download PDF

Info

Publication number
BR122023021072A2
BR122023021072A2 BR122023021072-7A BR122023021072A BR122023021072A2 BR 122023021072 A2 BR122023021072 A2 BR 122023021072A2 BR 122023021072 A BR122023021072 A BR 122023021072A BR 122023021072 A2 BR122023021072 A2 BR 122023021072A2
Authority
BR
Brazil
Prior art keywords
transform
block
boundary
transform block
coding
Prior art date
Application number
BR122023021072-7A
Other languages
Portuguese (pt)
Inventor
Biao Wang
Anand Meher Kotra
Han Gao
Yin Zhao
Semih ESENLIK
Jianle Chen
Original Assignee
Huawei Technologies Co., Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co., Ltd filed Critical Huawei Technologies Co., Ltd
Priority claimed from BR112021014502-8A external-priority patent/BR112021014502A2/en
Publication of BR122023021072A2 publication Critical patent/BR122023021072A2/en

Links

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

“MÉTODO DE DESBLOCAGEM, DISPOSITIVO PARA USO EM UM CODIFICADOR E/OU UM DECODIFICADOR DE IMAGEM, CODIFICADOR, DECODIFICADOR, E MEIO LEGÍVEL POR COMPUTADOR NÃO TRANSITÓRIO” A presente invenção fornece um método de desblocagem, para desblocar uma fronteira de bloco de transformada dentro de um bloco de codificação em uma codificação de imagem e / ou uma decodificação de imagem, em que o bloco de codificação compreendendo blocos de transformada é codificado no modo de interpredição e os blocos de transformada compreendem um primeiro bloco de transformada e um segundo bloco de transformada que é adjacente ao primeiro bloco de transformada; em que o método compreende: determinar quando a fronteira entre o primeiro bloco de transformada e o segundo bloco de transformada é uma fronteira de bloco de transformada (tal como uma fronteira de SBT) e pelo menos um do primeiro bloco de transformada e o segundo bloco de transformada tem um ou mais coeficientes de transformada diferentes de zero (um ou mais coeficientes de transformada residuais diferentes de zero), um valor de um parâmetro de força de fronteira (BS) para a fronteira entre o primeiro bloco de transformada e o segundo bloco de transformada ser um primeiro valor; e realizar processo de filtragem de desblocagem para a fronteira entre o primeiro bloco de transformada e o segundo bloco de transformada pelo menos com base no valor do parâmetro de força de fronteira.“UNLOCKING METHOD, DEVICE FOR USE IN AN IMAGE ENCODER AND/OR AN IMAGE DECODER, ENCODER, DECODER, AND NON-TRAINER COMPUTER READABLE MEDIUM” The present invention provides an unlocking method for unlocking a transform block boundary within a coding block in an image encoding and/or an image decoding, wherein the coding block comprising transform blocks is encoded in the interprediction mode and the transform blocks comprising a first transform block and a second transform block which is adjacent to the first transform block; wherein the method comprises: determining when the boundary between the first transform block and the second transform block is a transform block boundary (such as an SBT boundary) and at least one of the first transform block and the second transform block transform has one or more non-zero transform coefficients (one or more non-zero residual transform coefficients), a value of a boundary strength (BS) parameter for the boundary between the first transform block and the second transform block transform be a first value; and performing deblocking filtering process for the boundary between the first transform block and the second transform block at least based on the value of the boundary strength parameter.

Description

REFERÊNCIA CRUZADA PARA PEDIDOS RELACIONADOSCROSS REFERENCE FOR RELATED ORDERS

[001] Este pedido de patente reivindica a prioridade do Pedido de Patente Provisório dos EUA No. 62/797,163, depositado em 25 de janeiro de 2019. A divulgação do pedido de patente acima mencionado é aqui incorporada por referência em sua totalidade.[001] This patent application claims the priority of US Provisional Patent Application No. 62/797,163, filed on January 25, 2019. The aforementioned patent application disclosure is incorporated herein by reference in its entirety.

CAMPO TÉCNICOTECHNICAL FIELD

[002] As modalidades da presente divulgação geralmente se referem ao campo de processamento de imagem e, particularmente, a um codificador, um decodificador e métodos correspondentes de adaptação de filtro de desblocagem e, mais particularmente, a filtro de desblocagem para fronteiras de bloco de transformada causadas por uma ferramenta de codificação de transformada de sub-bloco, SBT.[002] Embodiments of the present disclosure generally relate to the field of image processing, and particularly to an encoder, a decoder and corresponding deblocking filter adaptation methods, and more particularly to deblocking filter for block boundaries. transform caused by a sub-block transform coding tool, SBT.

ANTECEDENTESBACKGROUND

[003] Codificação de vídeo (codificação e decodificação de vídeo) é usada em uma ampla gama de aplicações de vídeo digital, por exemplo, difusão de TV digital, transmissão de vídeo pela Internet e redes móveis, aplicações de conversação em tempo real, como bate-papo de vídeo, videoconferência, discos DVD e Blu-ray, sistemas de aquisição e edição de conteúdo de vídeo, e filmadoras de aplicações de segurança.[003] Video coding (video encoding and decoding) is used in a wide range of digital video applications, for example, digital TV broadcasting, video transmission over the Internet and mobile networks, real-time conversation applications such as video chat, video conferencing, DVD and Blu-ray discs, video content acquisition and editing systems, and security applications camcorders.

[004] A quantidade de dados de vídeo necessária para representar até mesmo um vídeo relativamente curto pode ser substancial, o que pode resultar em dificuldades quando os dados devem ser transmitidos ou de outra forma comunicados através de uma rede de comunicações com capacidade de largura de banda limitada. Assim, dados de vídeo são geralmente comprimidos antes de serem comunicados pelas redes de telecomunicações dos dias modernos. O tamanho de um vídeo também pode ser um problema quando o vídeo é armazenado em um dispositivo de armazenamento porque os recursos de memória podem ser limitados. Dispositivos de compressão de vídeo muitas vezes usam software e / ou hardware na origem para codificar os dados de vídeo antes da transmissão ou armazenamento, diminuindo assim a quantidade de dados necessária para representar imagens de vídeo digital. Os dados comprimidos são então recebidos no destino por um dispositivo de descompressão de vídeo que decodifica os dados de vídeo. Com recursos de rede limitados e demandas cada vez maiores de maior qualidade de vídeo, técnicas aprimoradas de compressão e descompressão que melhoram a taxa de compressão com pouco ou nenhum sacrifício na qualidade da imagem são desejáveis.[004] The amount of video data required to represent even a relatively short video can be substantial, which can result in difficulties when the data must be transmitted or otherwise communicated over a bandwidth-capable communications network. limited bandwidth. Thus, video data is generally compressed before being communicated over modern-day telecommunications networks. The size of a video can also be an issue when the video is stored on a storage device because memory resources can be limited. Video compression devices often use software and/or hardware at the source to encode video data before transmission or storage, thus decreasing the amount of data required to represent digital video images. The compressed data is then received at the destination by a video decompression device that decodes the video data. With limited network resources and increasing demands for higher video quality, improved compression and decompression techniques that improve the compression ratio with little or no sacrifice in image quality are desirable.

[005] Os esquemas de codificação de imagem com base em bloco têm em comum que, ao longo das bordas de bloco, podem aparecer artefatos de borda. Esses artefatos são devidos à codificação independente dos blocos de codificação. Esses artefatos de borda geralmente são facilmente visíveis ao usuário. Um objetivo na codificação de imagem baseada em bloco é reduzir os artefatos de borda abaixo de um limiar de visibilidade. Isso é feito por meio da filtragem de desblocagem. Essa filtragem de desblocagem é realizada, por um lado, no lado de decodificação, a fim de remover os artefatos de borda visíveis, mas também no lado de codificação, a fim de evitar que os artefatos de borda sejam codificados na imagem.[005] Block-based image coding schemes have in common that along block edges, edge artifacts may appear. These artifacts are due to the independent coding of the coding blocks. These edge artifacts are often easily visible to the user. One goal in block-based image coding is to reduce edge artifacts below a visibility threshold. This is done through unblocking filtering. This deblocking filtering is performed on the one hand on the decoding side in order to remove visible edge artifacts, but also on the encoding side in order to prevent edge artifacts from being encoded into the image.

[006] No entanto, as abordagens convencionais não levam em consideração que uma descontinuidade pode surgir para alguns casos em que as bordas entre blocos de transformada / codificação (tais como blocos de transformada / codificação tendo amostras de croma ou componentes de croma) usando interpredição. Assim, filtragem de desblocagem pode ser um desafio ou até mesmo não produzir os resultados esperados.[006] However, conventional approaches do not take into account that a discontinuity may arise for some cases where the edges between transform/coding blocks (such as transform/coding blocks having chroma samples or chroma components) using interprediction . Thus, unblocking filtering can be challenging or even not produce the expected results.

SUMÁRIOSUMMARY

[007] Em vista dos desafios mencionados acima, modalidades do presente pedido visam fornecer um aparelho de filtro de desblocagem, um codificador, um decodificador e métodos correspondentes que podem mitigar ou mesmo remover artefatos de blocagem através das fronteiras entre blocos de transformada / codificação (como, blocos de transformada tendo amostras de croma) usando interpredição, de modo a melhorar a eficiência de codificação.[007] In view of the challenges mentioned above, embodiments of the present application aim to provide a deblocking filter apparatus, an encoder, a decoder and corresponding methods that can mitigate or even remove blocking artifacts across the boundaries between transform/encoding blocks ( such as, transform blocks having chroma samples) using interprediction, so as to improve coding efficiency.

[008] Particularmente, no contexto de interpredição, uma ferramenta de codificação de transformada de sub-bloco (SBT) é introduzida e a ferramenta de codificação de SBT é aplicada tanto para amostras de luma quanto croma, modalidades do presente pedido também visam fornecer outro aparelho de filtro de desblocagem, outro codificador, outro decodificador e métodos correspondentes que podem mitigar ou mesmo remover artefatos de blocagem que seriam causados pela ferramenta de codificação de transformada de sub-bloco (SBT), de modo a melhorar a eficiência de codificação.[008] Particularly, in the context of interprediction, a sub-block transform (SBT) coding tool is introduced and the SBT coding tool is applied to both luma and chroma samples, embodiments of the present application also aim to provide another deblocking filter apparatus, another encoder, another decoder and corresponding methods that can mitigate or even remove blocking artifacts that would be caused by the sub-block transform (SBT) coding tool, so as to improve coding efficiency.

[009] As modalidades da invenção são definidas pelos recursos das reivindicações independentes, e implementações vantajosas adicionais das modalidades pelos recursos das reivindicações dependentes.[009] The embodiments of the invention are defined by the features of the independent claims, and additional advantageous implementations of the embodiments by the features of the dependent claims.

[0010] Modalidades particulares são descritas nas reivindicações independentes anexas, com outras modalidades nas reivindicações dependentes.[0010] Particular embodiments are described in the attached independent claims, with other embodiments in the dependent claims.

[0011] O precedente e outros objetos são alcançados pelo assunto das reivindicações independentes. Formas de implementação adicionais são evidentes a partir das reivindicações dependentes, da descrição e das figuras.[0011] The foregoing and other objects are achieved by the subject matter of independent claims. Additional forms of implementation are evident from the dependent claims, the description and the figures.

[0012] De acordo com um primeiro aspecto da presente divulgação, é fornecido um método de desblocagem, para desblocar uma fronteira de bloco de transformada (borda interna) dentro de um bloco de codificação em uma codificação de imagem e / ou decodificação de imagem, em que o bloco de codificação é codificado (predito) no modo de interpredição e o bloco de codificação inclui blocos de transformada (tal como o bloco de codificação é dividido (separado) em blocos de transformada em / durante o processo de interpredição, em particular, quando transformada de sub-bloco é habilitada, a unidade de codificação atual é dividida em unidades de transformada) compreendendo um primeiro bloco de transformada e um segundo bloco de transformada que é adjacente ao primeiro bloco de transformada (por exemplo, blocos de transformada contendo p0 e q0 são adjacentes na direção vertical ou horizontal); em que o método compreende: - determinar (ou definir), quando a fronteira entre o primeiro bloco de transformada (tal como o primeiro bloco de transformada usando interpredição) e o segundo bloco de transformada (tal como o segundo bloco de transformada usando interpredição) é uma fronteira de bloco de transformada e pelo menos um do primeiro bloco de transformada e o segundo bloco de transformada tem um ou mais coeficientes de transformada diferentes de zero (um ou mais coeficientes de transformada residuais diferentes de zero), um valor de um parâmetro de força de fronteira (BS) para a fronteira entre o primeiro bloco de transformada e o segundo bloco de transformada para ser um primeiro valor; e - realizar processo de filtragem de desblocagem para a fronteira entre o primeiro bloco de transformada e o segundo bloco de transformada pelo menos com base no valor do parâmetro de força de fronteira.[0012] According to a first aspect of the present disclosure, an unlocking method is provided, for unlocking a transform block boundary (inner edge) within a coding block in an image encoding and/or image decoding, wherein the coding block is coded (predicted) in the interprediction mode and the coding block includes transform blocks (such as the coding block is divided (separated) into transform blocks in/during the interprediction process, in particular , when sub-block transform is enabled, the current coding unit is divided into transform units) comprising a first transform block and a second transform block that is adjacent to the first transform block (e.g., transform blocks containing p0 and q0 are adjacent in the vertical or horizontal direction); wherein the method comprises: - determining (or defining), when the boundary between the first transform block (such as the first transform block using interprediction) and the second transform block (such as the second transform block using interprediction) is a transform block boundary and at least one of the first transform block and the second transform block has one or more non-zero transform coefficients (one or more non-zero residual transform coefficients), a value of a parameter of boundary strength (BS) for the boundary between the first transform block and the second transform block to be a first value; and - perform deblocking filtering process for the boundary between the first transform block and the second transform block at least based on the value of the boundary strength parameter.

[0013] Pode ser entendido que o primeiro e o segundo blocos de transformada nos lados da fronteira de bloco de transformada usam interpredição. Em um exemplo, as amostras do bloco de codificação são amostras de croma. Em outro exemplo, o bloco de codificação tem amostras de luma e amostras de croma. Correspondentemente, em um exemplo, as amostras do primeiro e do segundo blocos de transformada são amostras de croma. Em outro exemplo, o primeiro e o segundo blocos de transformada ambos têm amostras de luma e amostras de croma. Especificamente, de acordo com a técnica anterior, o processo de filtro de desblocagem é aplicado para codificar bordas de sub-bloco e transformar bordas de bloco de uma imagem, mas bordas dentro dos componentes de croma para os quais ambos os lados da borda usam interpredição são excluídas. No entanto, de acordo com o primeiro aspecto da presente divulgação, é permitido desblocar bordas dentro de componentes de croma para os quais ambos os lados da borda usam interpredição.[0013] It can be understood that the first and second transform blocks on the sides of the transform block boundary use interprediction. In one example, the coding block samples are chroma samples. In another example, the encoding block has luma samples and chroma samples. Correspondingly, in one example, the samples of the first and second transform blocks are chroma samples. In another example, the first and second transform blocks both have luma samples and chroma samples. Specifically, according to the prior art, the deblocking filter process is applied to encode sub-block edges and transform block edges of an image, but edges within the chroma components for which both sides of the edge use interprediction. are excluded. However, according to the first aspect of the present disclosure, it is permitted to unlock edges within chroma components for which both sides of the edge use interprediction.

[0014] Pode ser entendido que, além do parâmetro de força de fronteira (BS) para a fronteira entre o primeiro bloco de transformada e o segundo bloco de transformada, outros parâmetros podem ser considerados para o processo de filtragem de desblocagem. Ou seja, dependendo do resultado de decisão de filtragem particular, filtragem de desblocagem pode ser realizada, em alguns casos nenhuma amostra pode ser modificada, ou em outros casos, apenas uma amostra pode ser modificada em cada linha ou coluna perpendicular e adjacente à fronteira.[0014] It can be understood that, in addition to the boundary strength (BS) parameter for the boundary between the first transform block and the second transform block, other parameters can be considered for the deblocking filtering process. That is, depending on the outcome of the particular filtering decision, unblocking filtering may be performed, in some cases no samples may be modified, or in other cases, only one sample may be modified in each row or column perpendicular and adjacent to the boundary.

[0015] Note que o termo "bloco", "bloco de codificação" ou "bloco de imagem" é usado na presente divulgação, que pode ser aplicado para unidades de predição (PUs), unidades de codificação (CUs), etc. Em VVC em unidades de transformada e unidades de codificação gerais são principalmente alinhadas, exceto em alguns cenários quando a transformada de sub-bloco (SBT) é usada. Pode ser entendido que os termos "bloco / bloco de imagem / bloco de codificação" podem ser trocados entre si na presente divulgação. Os termos "amostra / pixel" podem ser trocados entre si na presente divulgação.[0015] Note that the term "block", "coding block" or "image block" is used in the present disclosure, which can be applied to prediction units (PUs), coding units (CUs), etc. In VVC transform units and general coding units are mostly aligned, except in some scenarios when sub-block transform (SBT) is used. It can be understood that the terms "block/image block/coding block" can be interchanged in the present disclosure. The terms "sample/pixel" may be interchanged in this disclosure.

[0016] Essas fronteiras entre blocos de transformada / codificação usando interpredição dentro dos componentes de croma não foram consideradas filtradas na técnica anterior. De acordo com a invenção, no entanto, o processo de filtragem é melhorado para reduzir o artefato de bloco das fronteiras entre os blocos de transformada / codificação tendo amostras de croma e usando interpredição.[0016] These boundaries between transform/coding blocks using interprediction within chroma components were not considered filtered in the prior art. According to the invention, however, the filtering process is improved to reduce block artifact from the boundaries between transform/encoding blocks by having chroma samples and using interprediction.

[0017] Em uma possível forma de implementação do método de acordo com o primeiro aspecto como tal, o primeiro bloco de transformada tem dados residuais, e o segundo bloco de transformada não tem dados residuais, ou o primeiro bloco de transformada não tem dados residuais, e o segundo bloco de transformada tem dados residuais.[0017] In a possible form of implementation of the method according to the first aspect as such, the first transform block has residual data, and the second transform block has no residual data, or the first transform block has no residual data , and the second transform block has residual data.

[0018] Em uma possível forma de implementação do método de acordo com qualquer implementação anterior do primeiro aspecto como tal, os blocos de transformada são blocos de transformada de transformada de sub-bloco, SBT.[0018] In a possible form of implementation of the method according to any previous implementation of the first aspect as such, the transform blocks are sub-block transform transform blocks, SBT.

[0019] Em uma possível forma de implementação do método de acordo com qualquer implementação anterior do primeiro aspecto ou o primeiro aspecto como tal, o número de blocos de transformada é 2 ou 3 ou outro valor.[0019] In a possible form of implementation of the method according to any previous implementation of the first aspect or the first aspect as such, the number of transform blocks is 2 or 3 or another value.

[0020] Em uma possível forma de implementação do método de acordo com qualquer implementação anterior do primeiro aspecto ou o primeiro aspecto como tal, a fronteira entre o primeiro bloco de transformada e o segundo bloco de transformada é uma fronteira de transformada de sub-bloco, SBT.[0020] In a possible form of implementation of the method according to any previous implementation of the first aspect or the first aspect as such, the boundary between the first transform block and the second transform block is a sub-block transform boundary , SBT.

[0021] Em uma possível forma de implementação do método de acordo com qualquer implementação anterior do primeiro aspecto ou o primeiro aspecto como tal, a determinação, quando a fronteira entre o primeiro bloco de transformada e o segundo bloco de transformada é uma fronteira de bloco de transformada e pelo menos um do primeiro bloco de transformada e o segundo bloco de transformada tem um ou mais coeficientes de transformada diferentes de zero, um valor de um parâmetro de força de fronteira para a fronteira entre o primeiro bloco de transformada e o segundo bloco de transformada para ser um primeiro valor, compreende: - determinar, quando a fronteira entre o primeiro bloco de transformada e o segundo bloco de transformada é uma fronteira de transformada de sub-bloco, SBT, e pelo menos um do primeiro bloco de transformada e o segundo bloco de transformada tem um ou mais coeficientes de transformada diferentes de zero, um valor de um parâmetro de força de fronteira para a fronteira entre o primeiro bloco de transformada e o segundo bloco de transformada para ser um primeiro valor.[0021] In a possible form of implementation of the method according to any previous implementation of the first aspect or the first aspect as such, the determination, when the boundary between the first transform block and the second transform block is a block boundary of transform and at least one of the first transform block and the second transform block has one or more non-zero transform coefficients, a value of a boundary strength parameter for the boundary between the first transform block and the second block of transform to be a first value, comprises: - determining, when the boundary between the first transform block and the second transform block is a sub-block transform boundary, SBT, and at least one of the first transform block and the second transform block has one or more nonzero transform coefficients, a value of a boundary strength parameter for the boundary between the first transform block and the second transform block to be a first value.

[0022] Em uma possível forma de implementação do método de acordo com qualquer implementação anterior do primeiro aspecto ou o primeiro aspecto como tal, em que os blocos de transformada compreendem ainda um terceiro bloco de transformada que é adjacente ao segundo bloco de transformada; o método compreende ainda: - determinar, quando a fronteira entre o segundo bloco de transformada e o terceiro bloco de transformada é uma fronteira de transformada de sub-bloco, SBT, e pelo menos um do segundo bloco de transformada e o terceiro bloco de transformada tem um ou mais coeficientes de transformada diferentes de zero, um valor de um parâmetro de força de fronteira para a fronteira entre o segundo bloco de transformada e o terceiro bloco de transformada para ser um primeiro valor; ou - determinar, quando a fronteira entre o segundo bloco de transformada e o terceiro bloco de transformada é uma transformada de sub-bloco, a fronteira de SBT e o segundo bloco de transformada e o terceiro bloco de transformada têm coeficientes de transformada zero (todos os coeficientes de transformada zero), um valor de um parâmetro de força de fronteira para a fronteira entre o segundo bloco de transformada e o terceiro bloco de transformada para ser um segundo valor.[0022] In a possible form of implementation of the method according to any previous implementation of the first aspect or the first aspect as such, wherein the transform blocks further comprise a third transform block that is adjacent to the second transform block; the method further comprises: - determining, when the boundary between the second transform block and the third transform block is a sub-block transform boundary, SBT, and at least one of the second transform block and the third transform block has one or more non-zero transform coefficients, a value of a boundary strength parameter for the boundary between the second transform block and the third transform block to be a first value; or - determine, when the boundary between the second transform block and the third transform block is a sub-block transform, the SBT boundary and the second transform block and the third transform block have zero transform coefficients (all transform coefficients zero), a value of a boundary strength parameter for the boundary between the second transform block and the third transform block to be a second value.

[0023] Em uma possível forma de implementação do método de acordo com qualquer implementação anterior ou o primeiro aspecto como tal, o primeiro valor é 1.[0023] In a possible form of implementation of the method according to any previous implementation or the first aspect as such, the first value is 1.

[0024] Em uma possível forma de implementação do método de acordo com qualquer implementação anterior do primeiro aspecto, o segundo valor é zero.[0024] In a possible form of implementation of the method according to any previous implementation of the first aspect, the second value is zero.

[0025] Em uma possível forma de implementação do método de acordo com qualquer implementação anterior do primeiro aspecto ou o primeiro aspecto como tal, a fronteira de bloco de transformada entre o primeiro bloco de transformada e o segundo bloco de transformada deve ser desblocada (filtrada) apenas se a fronteira de bloco de transformada entre o primeiro e o segundo blocos de transformada está alinhada com (sobreposta a) uma grade de amostra n x n, em que n é um número inteiro.[0025] In a possible form of implementation of the method according to any previous implementation of the first aspect or the first aspect as such, the transform block boundary between the first transform block and the second transform block must be unblocked (filtered ) only if the transform block boundary between the first and second transform blocks is aligned with (superimposed on) an n x n sample grid, where n is an integer.

[0026] Desse modo, a carga computacional do processo de codificação geral pode ser ainda mais reduzida.[0026] In this way, the computational burden of the overall coding process can be further reduced.

[0027] Em uma possível forma de implementação do método de acordo com qualquer implementação anterior do primeiro aspecto ou o primeiro aspecto como tal, a fronteira de bloco de transformada entre o primeiro bloco de transformada e o segundo bloco de transformada deve ser desblocada (filtrada) mesmo se a fronteira de bloco de transformada entre o primeiro e o segundo blocos de transformada não está alinhada com (sobreposta a) uma grade de amostra n x n, em que n é um número inteiro. É permitido desblocar as fronteiras alvo, que não estão alinhadas com uma grade n x n.[0027] In a possible form of implementation of the method according to any previous implementation of the first aspect or the first aspect as such, the transform block boundary between the first transform block and the second transform block must be unblocked (filtered ) even if the transform block boundary between the first and second transform blocks is not aligned with (superimposed on) an n x n sample grid, where n is an integer. It is allowed to unlock target boundaries, which are not aligned with an n x n grid.

[0028] Em uma possível forma de implementação do método de acordo com qualquer implementação anterior do primeiro aspecto, em que n é 4 ou 8. A técnica anterior considera apenas as fronteiras que são sobrepostas a uma grade 8 x 8. Na invenção, mesmo se uma fronteira interna de SBT não estiver alinhada com a grade 8 x 8 quando uma partição assimétrica é aplicada, a fronteira interna seria considerada como candidata de filtragem. Ao filtrar também fronteiras internas de SBT, o artefato de bloco causado pela SBT é reduzido.[0028] In a possible form of implementation of the method according to any prior implementation of the first aspect, where n is 4 or 8. The prior art only considers boundaries that are superimposed on an 8 x 8 grid. If an internal SBT boundary is not aligned with the 8 x 8 grid when an asymmetric partition is applied, the internal boundary would be considered as a filtering candidate. By also filtering internal SBT boundaries, the block artifact caused by SBT is reduced.

[0029] Em uma possível forma de implementação do método de acordo com qualquer implementação anterior do primeiro aspecto ou o primeiro aspecto como tal, as amostras do primeiro e do segundo blocos de transformada são amostras de luma, ou o primeiro e o segundo blocos de transformada ambos têm amostras de luma e amostras de croma. Bordas de transformada com ambos os lados usando interpredição em componentes de croma, como aquele causado por SBT, também podem resultar em artefatos de bloco. Em particular, quando a informação principal de uma sequência de vídeo é representada por componentes de croma (por exemplo, a sequência de fogueira (“campfire”) usada na condição de teste comum), tais artefatos de bloco podem ser sérios. Portanto, essa invenção propõe a introdução de um processo de filtragem de desblocagem para bordas de transformada em ambos os lados usando interpredição em componentes de croma.[0029] In a possible form of implementation of the method according to any previous implementation of the first aspect or the first aspect as such, the samples of the first and second transform blocks are luma samples, or the first and second transform blocks. transform both have luma samples and chroma samples. Two-sided transform edges using interprediction on chroma components, such as that caused by SBT, can also result in block artifacts. In particular, when the main information of a video sequence is represented by chroma components (e.g., the campfire sequence used in the common test condition), such block artifacts can be serious. Therefore, this invention proposes the introduction of a deblocking filtering process for transform edges on both sides using interprediction on chroma components.

[0030] Em uma possível forma de implementação do método de acordo com qualquer implementação anterior do primeiro aspecto, em que a grade de amostra n x n é grade de amostra 4 x 4 para as amostras do primeiro e segundo blocos de transformada sendo amostras de luma; ou, a grade de amostra n x n é grade de amostra 8 x 8 para as amostras do primeiro e segundo blocos de transformada sendo amostras de croma.[0030] In a possible form of implementation of the method according to any previous implementation of the first aspect, wherein the n x n sample grid is 4 x 4 sample grid for the samples of the first and second transform blocks being luma samples; or, the n x n sample grid is 8 x 8 sample grid for the samples from the first and second transform blocks being chroma samples.

[0031] Em uma possível forma de implementação do método de acordo com qualquer implementação anterior do primeiro aspecto ou o primeiro aspecto como tal, em que o bloco de codificação é dividido em uma direção horizontal ou vertical.[0031] In a possible form of implementation of the method according to any previous implementation of the first aspect or the first aspect as such, wherein the coding block is divided in a horizontal or vertical direction.

[0032] Em uma possível forma de implementação do método de acordo com qualquer implementação anterior do primeiro aspecto ou o primeiro aspecto como tal, em que, se o bloco de codificação for dividido em uma direção horizontal, a fronteira de bloco de transformada entre o primeiro bloco de transformada e o segundo bloco de transformada é uma fronteira de bloco de transformada horizontal (uma fronteira de transformada de sub-bloco, SBT horizontal); ou, se o bloco de codificação for dividido em uma direção vertical, a fronteira de bloco de transformada entre o primeiro bloco de transformada e o segundo bloco de transformada é uma fronteira de bloco de transformada vertical (uma fronteira de transformada de sub-bloco, SBT vertical). A invenção funciona tanto para fronteira de bloco de transformada vertical quanto horizontal.[0032] In a possible form of implementation of the method according to any previous implementation of the first aspect or the first aspect as such, wherein, if the coding block is divided in a horizontal direction, the transform block boundary between the first transform block and the second transform block is a horizontal transform block boundary (a sub-block transform boundary, horizontal SBT); or, if the coding block is divided in a vertical direction, the transform block boundary between the first transform block and the second transform block is a vertical transform block boundary (a sub-block transform boundary, vertical SBT). The invention works for both vertical and horizontal transform block boundaries.

[0033] Em uma possível forma de implementação do método de acordo com qualquer implementação anterior do primeiro aspecto ou o primeiro aspecto como tal, em que o bloco de codificação atual é codificado usando uma ferramenta de transformada de sub-bloco, SBT, ou a fronteira de bloco de transformada é realizada por uma ferramenta de transformada de sub-bloco, SBT.[0033] In a possible form of implementation of the method according to any previous implementation of the first aspect or the first aspect as such, wherein the current coding block is encoded using a sub-block transform tool, SBT, or the block boundary transform is performed by a sub-block transform tool, SBT.

[0034] De acordo com um segundo aspecto da presente divulgação, é fornecido um método de desblocagem, para desblocar fronteiras de bloco dentro de um bloco de codificação (unidade de codificação) em uma codificação de imagem e / ou uma decodificação de imagem, em que o bloco de codificação é codificado (predito) em modo de interpredição (como tal, o bloco de codificação é codificado em um modo de transformada de sub-bloco, SBT) e o bloco de codificação (um bloco de codificação interpredito) inclui blocos de transformada (o bloco de codificação é dividido (separado) em blocos de transformada em ou durante o processo de interpredição, por exemplo, quando a transformada de sub- bloco é habilitada, a unidade de codificação atual é dividida em unidades de transformada) compreendendo um primeiro bloco de transformada e um segundo bloco de transformada que é adjacente ao primeiro bloco de transformada (por exemplo, blocos de transformada contêm p0 e q0 são adjacentes na direção vertical ou horizontal); em que o método compreende: - em resposta a uma determinação de que uma fronteira de bloco de transformada entre o primeiro bloco de transformada e o segundo bloco de transformada deve ser filtrada, determinar, quando a fronteira entre o primeiro bloco de transformada e o segundo bloco de transformada é uma fronteira de transformada de sub-bloco, SBT, e pelo menos um do primeiro bloco de transformada e o segundo bloco de transformada tem um ou mais coeficientes de transformada diferentes de zero, um valor de um parâmetro de força de fronteira para a fronteira entre o primeiro bloco de transformada e o segundo bloco de transformada para ser um primeiro valor; e - realizar processo de filtragem de desblocagem para a fronteira de bloco de transformada entre o primeiro bloco de transformada e o segundo bloco de transformada pelo menos com base no valor do parâmetro de força de fronteira.[0034] According to a second aspect of the present disclosure, an unlocking method is provided, for unlocking block boundaries within a coding block (coding unit) in an image encoding and/or an image decoding, in that the coding block is coded (predicted) in interprediction mode (as such, the coding block is coded in a sub-block transform mode, SBT) and the coding block (an interpredicted coding block) includes blocks transform (the coding block is divided (separated) into transform blocks in or during the interprediction process, for example, when the sub-block transform is enabled, the current coding unit is divided into transform units) comprising a first transform block and a second transform block that is adjacent to the first transform block (e.g., transform blocks containing p0 and q0 are adjacent in the vertical or horizontal direction); wherein the method comprises: - in response to a determination that a transform block boundary between the first transform block and the second transform block is to be filtered, determining, when the boundary between the first transform block and the second transform block is a sub-block transform boundary, SBT, and at least one of the first transform block and the second transform block has one or more non-zero transform coefficients, a value of a boundary strength parameter for the boundary between the first transform block and the second transform block to be a first value; and - performing deblocking filtering process for the transform block boundary between the first transform block and the second transform block at least based on the value of the boundary strength parameter.

[0035] Pode ser entendido que o primeiro e o segundo blocos de transformada nos lados da fronteira de bloco de transformada usam interpredição. Em um exemplo, as amostras do bloco de codificação são amostras de croma. Em um exemplo, as amostras do bloco de codificação são amostras de luma. Em outro exemplo, o bloco de codificação tem amostras de luma e amostras de croma. Correspondentemente, em um exemplo, as amostras do primeiro e do segundo blocos de transformada são amostras de croma; em outro exemplo, as amostras do primeiro e do segundo blocos de transformada são amostras de luma. Em outro exemplo, o primeiro e o segundo blocos de transformada ambos têm amostras de luma e amostras de croma. Especificamente, de acordo com a técnica anterior, o processo de filtro de desblocagem é aplicado para codificar bordas de sub-bloco e transformar bordas de bloco de uma imagem, mas bordas dentro dos componentes de croma para os quais ambos os lados da borda usam interpredição são excluídas, consequentemente as fronteiras de SBT internas podem também ser excluídas (porque a ferramenta de SBT pode ser aplicada para componentes de luma e croma). No entanto, de acordo com o segundo aspecto da presente divulgação, é permitido desblocar as fronteiras de SBT internas que são causadas pela ferramenta de codificação de transformada de sub-bloco (SBT), especialmente, é permitido desblocar as fronteiras de SBT internas dentro de componentes de croma que é causado pela ferramenta de codificação de transformada de sub-bloco (SBT).[0035] It can be understood that the first and second transform blocks on the sides of the transform block boundary use interprediction. In one example, the coding block samples are chroma samples. In one example, the coding block samples are luma samples. In another example, the encoding block has luma samples and chroma samples. Correspondingly, in one example, the samples of the first and second transform blocks are chroma samples; in another example, the samples from the first and second transform blocks are luma samples. In another example, the first and second transform blocks both have luma samples and chroma samples. Specifically, according to the prior art, the deblocking filter process is applied to encode sub-block edges and transform block edges of an image, but edges within the chroma components for which both sides of the edge use interprediction. are excluded, consequently internal SBT boundaries can also be excluded (because the SBT tool can be applied to luma and chroma components). However, according to the second aspect of the present disclosure, it is permitted to unlock the internal SBT boundaries that are caused by the sub-block transform (SBT) coding tool, especially, it is permitted to unlock the internal SBT boundaries within chroma components which is caused by the sub-block transform (SBT) coding tool.

[0036] Pode ser entendido que, além do parâmetro de força de fronteira (BS) para a fronteira entre o primeiro bloco de transformada e o segundo bloco de transformada, outros parâmetros podem ser considerados para o processo de filtragem de desblocagem. Ou seja, dependendo do resultado de decisão de filtragem particular, filtragem de desblocagem pode ser realizada, em alguns casos nenhuma amostra pode ser modificada, ou em outros casos, apenas uma amostra pode ser modificada em cada linha ou coluna perpendicular e adjacente à fronteira.[0036] It can be understood that, in addition to the boundary strength (BS) parameter for the boundary between the first transform block and the second transform block, other parameters can be considered for the deblocking filtering process. That is, depending on the outcome of the particular filtering decision, unblocking filtering may be performed, in some cases no samples may be modified, or in other cases, only one sample may be modified in each row or column perpendicular and adjacent to the boundary.

[0037] Um particionamento de um bloco de interpredição (ou seja, um bloco de intercodificação curto para um bloco de codificação atual que é codificado no modo de interpredição) em blocos de transformada internos é realizado e a transformação é realizada apenas para um dos blocos de transformada, mas não o outro (porque um bloco de transformada tem dados residuais, o outro não tem dados residuais). Os blocos de transformada podem ser simétricos (ou seja, dois sub-blocos do mesmo tamanho) ou assimétricos (ou seja, os sub-blocos não são do mesmo tamanho). Essa transformação parcial pode resultar em artefato de bloco ao longo das fronteiras entre os blocos de transformada internos. Essas fronteiras não foram consideradas para serem filtradas na técnica anterior, o que compromete a qualidade subjetiva quando a transformada de Sub-Bloco (SBT) é ativada. De acordo com o segundo aspecto da invenção, no entanto, o processo de filtragem é melhorado para reduzir o artefato de bloco das fronteiras de SBT causado pela ferramenta de codificação de SBT. Ao detectar as fronteiras que seriam consideradas filtradas, as fronteiras internas entre os blocos de transformada internos causados pela ferramenta de codificação de SBT são levadas em consideração.[0037] A partitioning of an interprediction block (i.e., a short intercoding block to a current coding block that is encoded in interprediction mode) into internal transform blocks is performed and the transformation is performed only for one of the blocks transform block, but not the other (because one transform block has residual data, the other has no residual data). Transform blocks can be symmetric (i.e. two sub-blocks of the same size) or asymmetric (i.e. the sub-blocks are not the same size). This partial transform can result in block artifact along the boundaries between internal transform blocks. These boundaries were not considered to be filtered in the prior art, which compromises the subjective quality when the Sub-Block Transform (SBT) is activated. According to the second aspect of the invention, however, the filtering process is improved to reduce the block artifact of the SBT boundaries caused by the SBT coding tool. When detecting the boundaries that would be considered filtered, the internal boundaries between the internal transform blocks caused by the SBT encoding tool are taken into account.

[0038] Em uma possível forma de implementação do método de acordo com o segundo aspecto como tal, em que o primeiro bloco de transformada tem dados residuais, e o segundo bloco de transformada não tem dados residuais, ou o primeiro bloco de transformada não tem dados residuais, e o segundo bloco de transformada tem dados residuais.[0038] In a possible form of implementation of the method according to the second aspect as such, wherein the first transform block has residual data, and the second transform block has no residual data, or the first transform block has no residual data, and the second transform block has residual data.

[0039] Em uma possível forma de implementação do método de acordo com qualquer implementação anterior do segundo aspecto ou o segundo aspecto como tal, em que os blocos de transformada são blocos de transformada de transformada de sub-bloco, SBT.[0039] In a possible form of implementation of the method according to any previous implementation of the second aspect or the second aspect as such, wherein the transform blocks are sub-block transform transform blocks, SBT.

[0040] Em uma possível forma de implementação do método de acordo com qualquer implementação anterior do segundo aspecto ou o segundo aspecto como tal, em que o número de blocos de transformada é 2 ou 3 ou outro valor.[0040] In a possible form of implementation of the method according to any previous implementation of the second aspect or the second aspect as such, wherein the number of transform blocks is 2 or 3 or another value.

[0041] Em uma possível forma de implementação do método de acordo com qualquer implementação anterior do segundo aspecto ou o segundo aspecto como tal, o método compreende ainda: - determinar se a fronteira de bloco de transformada entre o primeiro bloco de transformada e o segundo bloco de transformada deve ser filtrada ou não.[0041] In a possible form of implementation of the method according to any previous implementation of the second aspect or the second aspect as such, the method further comprises: - determining whether the transform block boundary between the first transform block and the second Transform block should be filtered or not.

[0042] Em uma possível forma de implementação do método de acordo com qualquer implementação anterior do segundo aspecto ou o segundo aspecto como tal, em que em resposta a uma determinação de que a fronteira de bloco de transformada entre o primeiro bloco de transformada e o segundo bloco de transformada deve ser filtrada, determinar, quando a fronteira entre o primeiro bloco de transformada e o segundo bloco de transformada é uma fronteira de transformada de sub-bloco, SBT, e pelo menos um do primeiro bloco de transformada e o segundo bloco de transformada tem um ou mais coeficientes de transformada diferentes de zero, um valor de um parâmetro de força de fronteira para a fronteira entre o primeiro bloco de transformada e o segundo bloco de transformada para ser um primeiro valor, compreende: - em resposta a uma determinação de que a fronteira de bloco de transformada entre o primeiro bloco de transformada e o segundo bloco de transformada está alinhada com (sobreposta a) uma grade de amostra n x n, determinar, quando a fronteira entre o primeiro bloco de transformada e o segundo bloco de transformada é uma fronteira de transformada de sub-bloco, SBT e pelo menos um do primeiro bloco de transformada e o segundo bloco de transformada tem um ou mais coeficientes de transformada diferentes de zero, um valor de um parâmetro de força de fronteira para a fronteira entre o primeiro bloco de transformada e o segundo bloco de transformada para ser um primeiro valor, em que n é um número inteiro.[0042] In a possible form of implementation of the method according to any prior implementation of the second aspect or the second aspect as such, wherein in response to a determination that the transform block boundary between the first transform block and the second transform block must be filtered, determine, when the boundary between the first transform block and the second transform block is a sub-block transform boundary, SBT, and at least one of the first transform block and the second transform block of transform has one or more non-zero transform coefficients, a value of a boundary strength parameter for the boundary between the first transform block and the second transform block to be a first value, comprises: - in response to a determining that the transform block boundary between the first transform block and the second transform block is aligned with (superimposed on) an n x n sample grid, determine, when the boundary between the first transform block and the second transform block transform is a transform boundary of sub-block, SBT and at least one of the first transform block and the second transform block has one or more non-zero transform coefficients, a value of a boundary strength parameter for the boundary between the first transform block and the second transform block to be a first value, where n is an integer.

[0043] Em uma possível forma de implementação do método de acordo com qualquer implementação anterior do segundo aspecto, em que n é 4 ou 8.[0043] In a possible form of implementation of the method according to any previous implementation of the second aspect, where n is 4 or 8.

[0044] Em uma possível forma de implementação do método de acordo com qualquer implementação anterior do segundo aspecto ou o segundo aspecto como tal, em que as amostras do primeiro e do segundo blocos de transformada são amostras de luma, ou as amostras do primeiro e segundo blocos de transformada são amostras de croma ou o primeiro e o segundo blocos de transformada ambos têm amostras de luma e amostras de croma.[0044] In a possible form of implementation of the method according to any previous implementation of the second aspect or the second aspect as such, wherein the samples of the first and second transform blocks are luma samples, or the samples of the first and second transform blocks are chroma samples or the first and second transform blocks both have luma samples and chroma samples.

[0045] Em uma possível forma de implementação do método de acordo com qualquer implementação anterior do segundo aspecto, em que a grade de amostra n x n é grade de amostra 4 x 4 para as amostras do primeiro e segundo blocos de transformada sendo amostras de luma; ou a grade de amostra n x n é grade de amostra 8 x 8 para as amostras do primeiro e segundo blocos de transformada sendo amostras de croma. Verificou-se que bordas de transformada com ambos os lados usando interpredição em componentes de croma, como a causada por SBT, também pode resultar em artefatos de bloco. Em particular, quando a informação principal de uma sequência de vídeo é representada por componentes de croma (por exemplo, a sequência de fogueira (“campfire”) usada na condição de teste comum), tais artefatos de bloco podem ser sérios. Portanto, essa invenção propõe a introdução de um processo de filtragem de desblocagem para bordas de transformada com seus dois lados usando interpredição em componentes de croma.[0045] In a possible form of implementation of the method according to any previous implementation of the second aspect, wherein the n x n sample grid is 4 x 4 sample grid for the samples of the first and second transform blocks being luma samples; or the n x n sample grid is 8 x 8 sample grid for the samples from the first and second transform blocks being chroma samples. It has been found that two-sided transform edges using interprediction on chroma components, such as that caused by SBT, can also result in block artifacts. In particular, when the main information of a video sequence is represented by chroma components (e.g., the campfire sequence used in the common test condition), such block artifacts can be serious. Therefore, this invention proposes the introduction of a deblocking filtering process for two-sided transform edges using interprediction on chroma components.

[0046] Em uma possível forma de implementação do método de acordo com qualquer implementação anterior do segundo aspecto ou o segundo aspecto como tal, em que os blocos de transformada compreendem ainda: um terceiro bloco de transformada que é adjacente ao segundo bloco de transformada; o método compreende ainda: - em resposta a uma determinação de que uma fronteira de bloco de transformada entre o segundo bloco de transformada e o terceiro bloco de transformada está alinhada com (sobreposta a) uma grade de amostra n x n, determinar, quando a fronteira entre o segundo bloco de transformada e o terceiro bloco de transformada é uma fronteira de transformada de sub-bloco, SBT, e pelo menos um do segundo bloco de transformada e o terceiro bloco de transformada tem um ou mais coeficientes de transformada diferentes de zero, um valor de um parâmetro de força de fronteira para a fronteira entre o segundo bloco de transformada e o terceiro bloco de transformada para ser um primeiro valor; ou - em resposta a uma determinação de que a fronteira de bloco de transformada entre o segundo bloco de transformada e o terceiro bloco de transformada está alinhada com (sobreposta a) uma grade de amostra n x n, determinar, quando a fronteira entre o segundo bloco de transformada e o terceiro bloco de transformada é uma fronteira de transformada de sub-bloco, SBT, e tanto o segundo bloco de transformada como o terceiro bloco de transformada têm coeficientes de transformada zero, um valor de um parâmetro de força de fronteira para a fronteira entre o segundo bloco de transformada e o terceiro bloco de transformada para ser um segundo valor.[0046] In a possible form of implementation of the method according to any previous implementation of the second aspect or the second aspect as such, wherein the transform blocks further comprise: a third transform block that is adjacent to the second transform block; the method further comprises: - in response to a determination that a transform block boundary between the second transform block and the third transform block is aligned with (superimposed on) an n x n sample grid, determining, when the boundary between the second transform block and the third transform block is a sub-block transform boundary, SBT, and at least one of the second transform block and the third transform block has one or more non-zero transform coefficients, one value of a boundary strength parameter for the boundary between the second transform block and the third transform block to be a first value; or - in response to a determination that the transform block boundary between the second transform block and the third transform block is aligned with (superimposed on) an n x n sample grid, determine, when the boundary between the second transform block transform and the third transform block is a sub-block transform boundary, SBT, and both the second transform block and the third transform block have zero transform coefficients, a value of a boundary strength parameter for the boundary between the second transform block and the third transform block to be a second value.

[0047] Em uma possível forma de implementação do método de acordo com qualquer implementação anterior do segundo aspecto, em que n é 4 ou 8. Verificou-se que bordas de bloco 4 x 4 ocorrem em VVC com mais frequência do que em HEVC. Em HEVC, apenas partição de árvore quádrupla é permitida para blocos de codificação, ou seja, a unidade de codificação resultante é sempre quadrada. Enquanto em VVC, árvore quádrupla com partição de árvore de múltiplos tipos é permitida, ou seja, a partição pode resultar em blocos de codificação 4 x N estreitos ou N x 4 planos. Além disso, ferramentas de partição de sub-bloco, como SBT, podem resultar em bordas de bloco de transformada 4 x N ou N x 4. Portanto, o tamanho de grade é definido como 4 x 4 para considerar a filtragem de bordas que não foram sobrepostas a uma grade 8 x 8.[0047] In a possible form of implementation of the method according to any previous implementation of the second aspect, where n is 4 or 8. It has been found that 4 x 4 block edges occur in VVC more frequently than in HEVC. In HEVC, only quad-tree partitioning is allowed for coding blocks, i.e., the resulting coding unit is always square. While in VVC, quad-tree with multi-type tree partition is allowed, i.e., the partition can result in narrow 4 x N or flat N x 4 coding blocks. Additionally, subblock partition tools such as SBT may result in 4 x N or N x 4 transform block edges. Therefore, the grid size is set to 4 x 4 to account for filtering edges that do not were superimposed on an 8 x 8 grid.

[0048] Em uma possível forma de implementação do método de acordo com qualquer implementação anterior do segundo aspecto ou o segundo aspecto como tal, em que amostras do segundo e terceiro blocos de transformada são amostras de luma, ou as amostras do segundo e terceiro blocos de transformada são amostras de croma.[0048] In a possible form of implementation of the method according to any previous implementation of the second aspect or the second aspect as such, wherein samples from the second and third transform blocks are luma samples, or the samples from the second and third blocks of transform are chroma samples.

[0049] Em uma possível forma de implementação do método de acordo com qualquer implementação anterior do segundo aspecto, em que a grade de amostra n x n é grade de amostra 4 x 4 para as amostras do segundo e terceiro blocos de transformada sendo amostras de luma; ou a grade de amostra n x n é grade de amostra 8 x 8 para as amostras do segundo e terceiro blocos de transformada sendo amostras de croma.[0049] In a possible form of implementation of the method according to any previous implementation of the second aspect, wherein the n x n sample grid is 4 x 4 sample grid for the samples of the second and third transform blocks being luma samples; or the n x n sample grid is 8 x 8 sample grid for the second and third transform block samples being chroma samples.

[0050] Em uma possível forma de implementação do método de acordo com qualquer implementação anterior do segundo aspecto ou o segundo aspecto como tal, em que o primeiro valor é 1.[0050] In a possible form of implementation of the method according to any previous implementation of the second aspect or the second aspect as such, wherein the first value is 1.

[0051] Em uma possível forma de implementação do método de acordo com qualquer implementação anterior do segundo aspecto, em que o segundo valor é zero.[0051] In a possible form of implementing the method according to any previous implementation of the second aspect, wherein the second value is zero.

[0052] Em uma possível forma de implementação do método de acordo com qualquer implementação anterior do segundo aspecto ou o segundo aspecto como tal, em que o bloco de codificação é dividido em uma direção horizontal ou vertical.[0052] In a possible form of implementation of the method according to any previous implementation of the second aspect or the second aspect as such, wherein the coding block is divided in a horizontal or vertical direction.

[0053] Em uma possível forma de implementação do método de acordo com qualquer implementação anterior do segundo aspecto ou o segundo aspecto como tal, em que, se o bloco de codificação for dividido em uma direção horizontal, a fronteira de bloco de transformada entre o primeiro bloco de transformada e o segundo bloco de transformada é uma fronteira de bloco de transformada horizontal; ou se o bloco de codificação for dividido em uma direção vertical, a fronteira de bloco de transformada entre o primeiro bloco de transformada e o segundo bloco de transformada é uma fronteira de bloco de transformada vertical.[0053] In a possible form of implementation of the method according to any previous implementation of the second aspect or the second aspect as such, wherein, if the coding block is divided in a horizontal direction, the transform block boundary between the first transform block and the second transform block is a horizontal transform block boundary; or if the coding block is divided in a vertical direction, the transform block boundary between the first transform block and the second transform block is a vertical transform block boundary.

[0054] Em uma possível forma de implementação do método de acordo com qualquer implementação anterior do segundo aspecto ou o segundo aspecto como tal, em que o bloco de codificação atual é codificado usando uma ferramenta de transformada de sub-bloco, SBT, ou a fronteira de bloco de transformada é causada por uma ferramenta de transformada de sub-bloco, SBT.[0054] In a possible form of implementation of the method according to any previous implementation of the second aspect or the second aspect as such, wherein the current coding block is encoded using a sub-block transform tool, SBT, or the transform block boundary is caused by a sub-block transform tool, SBT.

[0055] De acordo com um terceiro aspecto da presente divulgação, é fornecido um dispositivo para uso em um codificador de imagem e / ou um decodificador de imagem, para desblocar uma fronteira de bloco de transformada dentro de um bloco de codificação, em que o bloco de codificação é codificado (predito) em modo de interpredição e o bloco de codificação é dividido (separado) em blocos de transformada (por exemplo, quando a transformada de sub-bloco é habilitada, a unidade de codificação atual é dividida em duas unidades de transformada) compreendendo um primeiro bloco de transformada e um segundo bloco de transformada que é adjacente ao primeiro bloco de transformada (por exemplo, blocos de transformada contêm p0 e q0 são adjacentes na direção vertical ou horizontal); em que o dispositivo compreende um filtro de desblocagem configurado para: - determinar, quando uma fronteira entre o primeiro bloco de transformada e o segundo bloco de transformada é uma fronteira de unidade de transformada e pelo menos um do primeiro bloco de transformada e o segundo bloco de transformada tem um ou mais coeficientes de transformada diferentes de zero, um valor de um parâmetro de força de fronteira para a fronteira entre o primeiro bloco de transformada e o segundo bloco de transformada para ser um primeiro valor; e - realizar processo de filtragem de desblocagem para a fronteira entre o primeiro bloco de transformada e o segundo bloco de transformada pelo menos com base no valor do parâmetro de força de fronteira.[0055] According to a third aspect of the present disclosure, there is provided a device for use in an image encoder and/or an image decoder, to unlock a transform block boundary within a coding block, wherein the coding block is coded (predicted) in interprediction mode and the coding block is divided (separated) into transform blocks (for example, when sub-block transform is enabled, the current coding unit is divided into two units transform block) comprising a first transform block and a second transform block that is adjacent to the first transform block (for example, transform blocks containing p0 and q0 are adjacent in the vertical or horizontal direction); wherein the device comprises a deblocking filter configured to: - determine, when a boundary between the first transform block and the second transform block is a transform unit boundary and at least one of the first transform block and the second transform block of transform has one or more non-zero transform coefficients, a value of a boundary strength parameter for the boundary between the first transform block and the second transform block to be a first value; and - perform deblocking filtering process for the boundary between the first transform block and the second transform block at least based on the value of the boundary strength parameter.

[0056] Em uma possível forma de implementação do dispositivo de acordo com o terceiro aspecto como tal, em que o primeiro bloco de transformada tem dados residuais e o segundo bloco de transformada não tem dados residuais ou o primeiro bloco de transformada não tem dados residuais e o segundo bloco de transformada tem dados residuais.[0056] In a possible form of implementation of the device according to the third aspect as such, wherein the first transform block has residual data and the second transform block has no residual data or the first transform block has no residual data and the second transform block has residual data.

[0057] Em uma possível forma de implementação do dispositivo de acordo com qualquer implementação anterior do terceiro aspecto ou o terceiro aspecto como tal, em que os blocos de transformada são blocos de transformada de transformada de sub-bloco, SBT.[0057] In a possible form of implementation of the device according to any previous implementation of the third aspect or the third aspect as such, wherein the transform blocks are sub-block transform transform blocks, SBT.

[0058] Em uma possível forma de implementação do dispositivo de acordo com qualquer implementação anterior do terceiro aspecto ou o terceiro aspecto como tal, em que o número de blocos de transformada é 2 ou 3.[0058] In a possible form of implementation of the device according to any previous implementation of the third aspect or the third aspect as such, wherein the number of transform blocks is 2 or 3.

[0059] Em uma possível forma de implementação do dispositivo de acordo com qualquer implementação anterior do terceiro aspecto ou o terceiro aspecto como tal, em que a fronteira entre o primeiro bloco de transformada e o segundo bloco de transformada é uma fronteira de transformada de sub-bloco, SBT.[0059] In a possible form of implementation of the device according to any prior implementation of the third aspect or the third aspect as such, wherein the boundary between the first transform block and the second transform block is a subtransform boundary -block, SBT.

[0060] Em uma possível forma de implementação do dispositivo de acordo com qualquer implementação anterior do terceiro aspecto ou o terceiro aspecto como tal, em que o filtro de desblocagem é configurado para: - determinar, quando a fronteira entre um primeiro bloco de transformada e um segundo bloco de transformada é uma fronteira de transformada de sub-bloco, SBT, e pelo menos um do primeiro bloco de transformada e o segundo bloco de transformada tem um ou mais coeficientes de transformada diferentes de zero, um valor de um parâmetro de força de fronteira para a fronteira entre o primeiro bloco de transformada e o segundo bloco de transformada para ser um primeiro valor.[0060] In a possible form of implementation of the device according to any previous implementation of the third aspect or the third aspect as such, wherein the deblocking filter is configured to: - determine, when the boundary between a first transform block and a second transform block is a sub-block transform boundary, SBT, and at least one of the first transform block and the second transform block has one or more non-zero transform coefficients, a value of a strength parameter boundary for the boundary between the first transform block and the second transform block to be a first value.

[0061] Em uma possível forma de implementação do dispositivo de acordo com qualquer implementação anterior do terceiro aspecto ou o terceiro aspecto como tal, em que os blocos de transformada compreendem ainda um terceiro bloco de transformada que é adjacente ao segundo bloco de transformada, e o filtro de desblocagem é ainda configurado para determinar, quando a fronteira entre o segundo bloco de transformada e o terceiro bloco de transformada é uma fronteira de transformada de sub-bloco, SBT, e pelo menos um do segundo bloco de transformada e o terceiro bloco de transformada tem um ou mais coeficientes de transformada diferentes de zero, um valor de um parâmetro de força de fronteira para a fronteira entre o segundo bloco de transformada e o terceiro bloco de transformada para ser um primeiro valor; ou para determinar, quando a fronteira entre o segundo bloco de transformada e o terceiro bloco de transformada é uma transformada de sub-bloco, a fronteira de SBT e ambos o segundo bloco de transformada e o terceiro bloco de transformada têm coeficientes de transformada zero, um valor de um parâmetro de força de fronteira para a fronteira entre o segundo bloco de transformada e o terceiro bloco de transformada para ser um segundo valor.[0061] In a possible form of implementation of the device according to any prior implementation of the third aspect or the third aspect as such, wherein the transform blocks further comprise a third transform block that is adjacent to the second transform block, and the deblocking filter is further configured to determine, when the boundary between the second transform block and the third transform block is a sub-block transform boundary, SBT, and at least one of the second transform block and the third transform block of transform has one or more non-zero transform coefficients, a value of a boundary strength parameter for the boundary between the second transform block and the third transform block to be a first value; or to determine, when the boundary between the second transform block and the third transform block is a sub-block transform, the SBT boundary and both the second transform block and the third transform block have zero transform coefficients, a value of a boundary strength parameter for the boundary between the second transform block and the third transform block to be a second value.

[0062] Em uma possível forma de implementação do dispositivo de acordo com qualquer implementação anterior do terceiro aspecto ou o terceiro aspecto como tal, em que o primeiro valor é 1.[0062] In a possible form of implementation of the device according to any previous implementation of the third aspect or the third aspect as such, wherein the first value is 1.

[0063] Em uma possível forma de implementação do dispositivo de acordo com qualquer implementação anterior do terceiro aspecto, em que o segundo valor é zero.[0063] In a possible form of implementation of the device according to any previous implementation of the third aspect, wherein the second value is zero.

[0064] Em uma possível forma de implementação do dispositivo de acordo com qualquer implementação anterior do terceiro aspecto ou o terceiro aspecto como tal, em que a fronteira de bloco de transformada entre o primeiro bloco de transformada e o segundo bloco de transformada deve ser desblocada apenas se a fronteira de bloco de transformada entre o primeiro e o segundo blocos de transformada está alinhada com (sobreposta a) uma grade de amostra n x n, em que n é um número inteiro.[0064] In a possible form of implementation of the device according to any previous implementation of the third aspect or the third aspect as such, wherein the transform block boundary between the first transform block and the second transform block is to be unblocked only if the transform block boundary between the first and second transform blocks is aligned with (superimposed on) an n x n sample grid, where n is an integer.

[0065] Em uma possível forma de implementação do dispositivo de acordo com qualquer implementação anterior do terceiro aspecto ou o terceiro aspecto como tal, em que a fronteira de bloco de transformada entre o primeiro bloco de transformada e o segundo bloco de transformada deve ser desblocada, mesmo se a fronteira de blocos de transformada entre o primeiro e o segundo blocos de transformada não está alinhada com (sobreposta a) uma grade de amostra n x n, em que n é um número inteiro.[0065] In a possible form of implementation of the device according to any previous implementation of the third aspect or the third aspect as such, wherein the transform block boundary between the first transform block and the second transform block is to be unblocked , even if the transform block boundary between the first and second transform blocks is not aligned with (superimposed on) an n x n sample grid, where n is an integer.

[0066] Em uma possível forma de implementação do dispositivo de acordo com qualquer implementação anterior do terceiro aspecto, em que n é 4 ou 8.[0066] In a possible form of implementation of the device according to any previous implementation of the third aspect, where n is 4 or 8.

[0067] Em uma possível forma de implementação do dispositivo de acordo com qualquer implementação anterior do terceiro aspecto ou o terceiro aspecto como tal, em que as amostras do primeiro e do segundo blocos de transformada são amostras de luma, ou as amostras do primeiro e segundo blocos de transformada são amostras de croma.[0067] In a possible form of implementation of the device according to any prior implementation of the third aspect or the third aspect as such, wherein the samples of the first and second transform blocks are luma samples, or the samples of the first and second transform blocks are chroma samples.

[0068] Em uma possível forma de implementação do dispositivo de acordo com qualquer implementação anterior do terceiro aspecto, em que a grade de amostra n x n é grade de amostra 4 x 4 para as amostras do primeiro e segundo blocos de transformada sendo amostras de luma; ou a grade de amostra n x n é grade de amostra 8 x 8 para as amostras do primeiro e segundo blocos de transformada sendo amostras de croma.[0068] In a possible form of implementation of the device according to any previous implementation of the third aspect, wherein the n x n sample grid is 4 x 4 sample grid for the samples of the first and second transform blocks being luma samples; or the n x n sample grid is 8 x 8 sample grid for the samples from the first and second transform blocks being chroma samples.

[0069] Em uma possível forma de implementação do dispositivo de acordo com qualquer implementação anterior do terceiro aspecto ou o terceiro aspecto como tal, em que o bloco de codificação é dividido em uma direção horizontal ou vertical.[0069] In a possible form of implementation of the device according to any previous implementation of the third aspect or the third aspect as such, wherein the coding block is divided in a horizontal or vertical direction.

[0070] Em uma possível forma de implementação do dispositivo de acordo com qualquer implementação anterior do terceiro aspecto ou o terceiro aspecto como tal, em que, se o bloco de codificação for dividido em uma direção horizontal, a fronteira de bloco de transformada entre o primeiro bloco de transformada e o segundo bloco de transformada é uma fronteira de bloco de transformada horizontal; ou se o bloco de codificação for dividido em uma direção vertical, a fronteira de bloco de transformada entre o primeiro bloco de transformada e o segundo bloco de transformada é uma fronteira de bloco de transformada vertical.[0070] In a possible form of implementation of the device according to any prior implementation of the third aspect or the third aspect as such, wherein, if the coding block is divided in a horizontal direction, the transform block boundary between the first transform block and the second transform block is a horizontal transform block boundary; or if the coding block is divided in a vertical direction, the transform block boundary between the first transform block and the second transform block is a vertical transform block boundary.

[0071] Em uma possível forma de implementação do dispositivo de acordo com qualquer implementação anterior do terceiro aspecto ou o terceiro aspecto como tal, em que o bloco de codificação atual é codificado usando uma ferramenta de transformada de sub-bloco, SBT, ou a fronteira de bloco de transformada é causada por uma ferramenta de transformada de sub-bloco, SBT.[0071] In a possible form of implementation of the device according to any prior implementation of the third aspect or the third aspect as such, wherein the current coding block is encoded using a sub-block transform tool, SBT, or the transform block boundary is caused by a sub-block transform tool, SBT.

[0072] De acordo com um quarto aspecto da presente divulgação, é fornecido um dispositivo para uso em um codificador de imagem e / ou um decodificador de imagem, para desblocar fronteiras de bloco dentro de um bloco de codificação (unidade de codificação), em que o bloco de codificação é codificado (predito) no modo de interpredição (o bloco de codificação é codificado em um modo de transformada de sub-bloco, SBT) e o bloco de codificação (um bloco de codificação interpredito) é dividido (separado) em blocos de transformada (por exemplo, quando a transformada de sub-bloco está habilitada, a unidade de codificação atual é dividida em duas unidades de transformada) compreendendo um primeiro bloco de transformada e um segundo bloco de transformada que é adjacente ao primeiro bloco de transformada (no processo de interpredição, por exemplo, os blocos de transformada contêm p0 e q0 são adjacentes na direção vertical ou horizontal); em que o dispositivo compreende um filtro de desblocagem configurado para: - em resposta a uma determinação de que uma fronteira de bloco de transformada entre o primeiro bloco de transformada e o segundo bloco de transformada deve ser filtrada, determinar, quando a fronteira entre o primeiro bloco de transformada e o segundo bloco de transformada é uma fronteira de transformada de sub-bloco, SBT, e pelo menos um do primeiro bloco de transformada e o segundo bloco de transformada tem um ou mais coeficientes de transformada diferentes de zero, um valor de um parâmetro de força de fronteira para a fronteira entre o primeiro bloco de transformada e o segundo bloco de transformada para ser um primeiro valor; e - realizar processo de filtragem de desblocagem para a fronteira de bloco de transformada entre o primeiro bloco de transformada e o segundo bloco de transformada pelo menos com base no valor do parâmetro de força de fronteira.[0072] According to a fourth aspect of the present disclosure, there is provided a device for use in an image encoder and/or an image decoder, to unlock block boundaries within a coding block (coding unit), in that the coding block is coded (predicted) in interprediction mode (the coding block is coded in a sub-block transform mode, SBT) and the coding block (an interpredicted coding block) is split (separated) into transform blocks (e.g., when sub-block transform is enabled, the current coding unit is divided into two transform units) comprising a first transform block and a second transform block that is adjacent to the first transform block. transformed (in the interprediction process, for example, the transform blocks containing p0 and q0 are adjacent in the vertical or horizontal direction); wherein the device comprises a deblocking filter configured to: - in response to a determination that a transform block boundary between the first transform block and the second transform block is to be filtered, determining, when the boundary between the first transform block and the second transform block is a sub-block transform boundary, SBT, and at least one of the first transform block and the second transform block has one or more non-zero transform coefficients, a value of a boundary strength parameter for the boundary between the first transform block and the second transform block to be a first value; and - performing deblocking filtering process for the transform block boundary between the first transform block and the second transform block at least based on the value of the boundary strength parameter.

[0073] Em uma possível forma de implementação do dispositivo de acordo com qualquer implementação anterior do quarto aspecto, em que o primeiro bloco de transformada tem dados residuais e o segundo bloco de transformada não tem dados residuais ou o primeiro bloco de transformada não tem dados residuais e o segundo o bloco de transformada tem dados residuais.[0073] In a possible form of implementation of the device according to any prior implementation of the fourth aspect, wherein the first transform block has residual data and the second transform block has no residual data or the first transform block has no residual data residuals and the second the transform block has residual data.

[0074] Em uma possível forma de implementação do dispositivo de acordo com qualquer implementação anterior do quarto aspecto ou do quarto aspecto como tal, em que os blocos de transformada são blocos de transformada de transformada de sub-bloco, SBT.[0074] In a possible form of implementation of the device according to any prior implementation of the fourth aspect or the fourth aspect as such, wherein the transform blocks are sub-block transform transform blocks, SBT.

[0075] Em uma possível forma de implementação do dispositivo de acordo com qualquer implementação anterior do quarto aspecto ou do quarto aspecto como tal, em que o número de blocos de transformada é 2 ou 3.[0075] In a possible form of implementation of the device according to any previous implementation of the fourth aspect or the fourth aspect as such, wherein the number of transform blocks is 2 or 3.

[0076] Em uma possível forma de implementação do dispositivo de acordo com qualquer implementação anterior do quarto aspecto ou do quarto aspecto como tal, o método compreende ainda determinar se a fronteira de bloco de transformada entre o primeiro bloco de transformada e o segundo bloco de transformada deve ser filtrada ou não.[0076] In a possible form of implementation of the device according to any prior implementation of the fourth aspect or the fourth aspect as such, the method further comprises determining whether the transform block boundary between the first transform block and the second transform block transformed must be filtered or not.

[0077] Em uma possível forma de implementação do dispositivo de acordo com qualquer implementação anterior do quarto aspecto ou do quarto aspecto como tal, em que o filtro de desblocagem é configurado para: - em resposta a uma determinação de que a fronteira de bloco de transformada entre o primeiro bloco de transformada e o segundo bloco de transformada está alinhada com (sobreposta a) uma grade de amostra n x n, determinar, quando a fronteira entre o primeiro bloco de transformada e o segundo bloco de transformada é uma fronteira de transformada de sub-bloco, SBT e pelo menos um do primeiro bloco de transformada e o segundo bloco de transformada tem um ou mais coeficientes de transformada diferentes de zero, um valor de um parâmetro de força de fronteira para a fronteira entre o primeiro bloco de transformada e o segundo bloco de transformada para ser um primeiro valor, em que n é um número inteiro.[0077] In a possible form of implementation of the device according to any prior implementation of the fourth aspect or the fourth aspect as such, wherein the deblocking filter is configured to: - in response to a determination that the block boundary of transform between the first transform block and the second transform block is aligned with (superimposed on) an n x n sample grid, determine, when the boundary between the first transform block and the second transform block is a subtransform boundary -block, SBT and at least one of the first transform block and the second transform block has one or more non-zero transform coefficients, a value of a boundary strength parameter for the boundary between the first transform block and the second transform block to be a first value, where n is an integer.

[0078] Em uma possível forma de implementação do dispositivo de acordo com qualquer implementação anterior do quarto aspecto ou o quarto aspecto como tal, em que n é 4 ou 8.[0078] In a possible form of implementation of the device according to any previous implementation of the fourth aspect or the fourth aspect as such, wherein n is 4 or 8.

[0079] Em uma possível forma de implementação do dispositivo de acordo com qualquer implementação anterior do quarto aspecto ou do quarto aspecto como tal, em que as amostras do primeiro e segundo blocos de transformada são amostras de luma, ou as amostras do primeiro e segundo blocos de transformada são amostras de croma, ou o primeiro e o segundo blocos de transformada ambos têm amostras de luma e amostras de croma. Verificou-se que as bordas de transformada com ambos os lados usando interpredição em componentes de croma, como uma borda de transformada causada por SBT, também podem resultar em artefatos de bloco. Em particular, quando a informação principal de uma sequência de vídeo é representada por componentes de croma (por exemplo, a sequência de fogueira (“campfire”) usada na condição de teste comum), tais artefatos de bloco podem ser sérios. Portanto, essa invenção propõe a introdução de um processo de filtragem de desblocagem para bordas de transformada com seus dois lados usando interpredição em componentes de croma.[0079] In a possible form of implementation of the device according to any prior implementation of the fourth aspect or the fourth aspect as such, wherein the samples of the first and second transform blocks are luma samples, or the samples of the first and second transform blocks are chroma samples, or the first and second transform blocks both have luma samples and chroma samples. It was found that double-sided transform edges using interprediction on chroma components, such as a transform edge caused by SBT, can also result in block artifacts. In particular, when the main information of a video sequence is represented by chroma components (e.g., the campfire sequence used in the common test condition), such block artifacts can be serious. Therefore, this invention proposes the introduction of a deblocking filtering process for two-sided transform edges using interprediction on chroma components.

[0080] Em uma possível forma de implementação do dispositivo de acordo com qualquer implementação anterior do quarto aspecto, em que a grade de amostra n x n é grade de amostra 4 x 4 para as amostras do primeiro e segundo blocos de transformada sendo amostras de luma; ou a grade de amostra n x n é grade de amostra 8 x 8 para as amostras do primeiro e segundo blocos de transformada sendo amostras de croma.[0080] In a possible form of implementation of the device according to any previous implementation of the fourth aspect, wherein the n x n sample grid is 4 x 4 sample grid for the samples of the first and second transform blocks being luma samples; or the n x n sample grid is 8 x 8 sample grid for the samples from the first and second transform blocks being chroma samples.

[0081] Verificou-se que bordas de blocos 4 x 4 ocorrem em VVC com mais frequência do que em HEVC. Em HEVC, apenas partição de árvore quádrupla é permitida para blocos de codificação, ou seja, a unidade de codificação resultante é sempre um quadrado. Enquanto em VVC, árvore quádrupla com partição de árvore de múltiplos tipos é permitida, ou seja, a partição pode resultar em blocos de codificação 4 x N estreitos ou N x 4 planos. Além disso, ferramentas de partição de sub-bloco, como SBT, podem resultar em bordas de bloco de transformada 4 x N ou N x 4. Portanto, o tamanho de grade é definido como 4 x 4 para considerar a filtragem de bordas que não estão sobrepostas a uma grade 8 x 8.[0081] 4 x 4 block edges have been found to occur in VVC more frequently than in HEVC. In HEVC, only quad-tree partitioning is allowed for coding blocks, i.e., the resulting coding unit is always a square. While in VVC, quad-tree with multi-type tree partition is allowed, i.e., the partition can result in narrow 4 x N or flat N x 4 coding blocks. Additionally, subblock partition tools such as SBT may result in 4 x N or N x 4 transform block edges. Therefore, the grid size is set to 4 x 4 to account for filtering edges that do not are superimposed on an 8 x 8 grid.

[0082] Em uma possível forma de implementação do dispositivo de acordo com qualquer implementação anterior do quarto aspecto ou do quarto aspecto como tal, em que os blocos de transformada compreendem ainda um terceiro bloco de transformada que é adjacente ao segundo bloco de transformada; o filtro de desblocagem é ainda configurado para: - em resposta a uma determinação de que uma fronteira de bloco de transformada entre o segundo bloco de transformada e o terceiro bloco de transformada está alinhada com (sobreposta a) uma grade de amostra n x n, determinar, quando a fronteira entre o segundo bloco de transformada e o terceiro bloco de transformada é uma fronteira de transformada de sub-bloco, SBT, e pelo menos um do segundo bloco de transformada e o terceiro bloco de transformada tem um ou mais coeficientes de transformada diferentes de zero, um valor de um parâmetro de força de fronteira para a fronteira entre o segundo bloco de transformada e o terceiro bloco de transformada para ser um primeiro valor; ou - em resposta a uma determinação de que a fronteira de bloco de transformada entre o segundo bloco de transformada e o terceiro bloco de transformada está alinhada com (sobreposta a) uma grade de amostra n x n, determinar, quando a fronteira entre o segundo bloco de transformada e o terceiro bloco de transformada é uma fronteira de transformada de sub-bloco, SBT, e ambos o segundo bloco de transformada e o terceiro bloco de transformada têm coeficientes de transformada zero, um valor de um parâmetro de força de fronteira para a fronteira entre o segundo bloco de transformada e o terceiro bloco de transformada para ser um segundo valor.[0082] In a possible form of implementation of the device according to any previous implementation of the fourth aspect or the fourth aspect as such, wherein the transform blocks further comprise a third transform block that is adjacent to the second transform block; the deblocking filter is further configured to: - in response to a determination that a transform block boundary between the second transform block and the third transform block is aligned with (superimposed on) an n x n sample grid, determine, when the boundary between the second transform block and the third transform block is a sub-block transform boundary, SBT, and at least one of the second transform block and the third transform block has one or more different transform coefficients from zero, a value of a boundary strength parameter for the boundary between the second transform block and the third transform block to be a first value; or - in response to a determination that the transform block boundary between the second transform block and the third transform block is aligned with (superimposed on) an n x n sample grid, determine, when the boundary between the second transform block transform and the third transform block is a sub-block transform boundary, SBT, and both the second transform block and the third transform block have zero transform coefficients, a value of a boundary strength parameter for the boundary between the second transform block and the third transform block to be a second value.

[0083] Em uma possível forma de implementação do dispositivo de acordo com qualquer implementação anterior do quarto aspecto, em que n é 4 ou 8.[0083] In a possible form of implementation of the device according to any previous implementation of the fourth aspect, where n is 4 or 8.

[0084] Em uma possível forma de implementação do dispositivo de acordo com qualquer implementação anterior do quarto aspecto ou do quarto aspecto como tal, em que amostras do segundo e terceiro blocos de transformada são amostras de luma, ou as amostras do segundo e terceiro blocos de transformada são amostras de croma.[0084] In a possible form of implementation of the device according to any previous implementation of the fourth aspect or the fourth aspect as such, wherein samples from the second and third transform blocks are luma samples, or the samples from the second and third blocks of transform are chroma samples.

[0085] Em uma possível forma de implementação do dispositivo de acordo com qualquer implementação anterior do quarto aspecto ou do quarto aspecto como tal, em que a grade de amostra n x n é grade de amostra 4 x 4 para as amostras do segundo e terceiro blocos de transformada sendo amostras de luma; ou a grade de amostra n x n é grade de amostra 8 x 8 para as amostras do segundo e terceiro blocos de transformada sendo amostras de croma.[0085] In a possible form of implementation of the device according to any previous implementation of the fourth aspect or the fourth aspect as such, wherein the n x n sample grid is 4 x 4 sample grid for the samples of the second and third blocks of transformed being luma samples; or the n x n sample grid is 8 x 8 sample grid for the second and third transform block samples being chroma samples.

[0086] Em uma possível forma de implementação do dispositivo de acordo com qualquer implementação anterior do quarto aspecto ou do quarto aspecto como tal, em que o primeiro valor é 1.[0086] In a possible form of implementation of the device according to any previous implementation of the fourth aspect or the fourth aspect as such, wherein the first value is 1.

[0087] Em uma possível forma de implementação do dispositivo de acordo com qualquer implementação anterior do quarto aspecto, em que o segundo valor é zero.[0087] In a possible form of implementation of the device according to any previous implementation of the fourth aspect, wherein the second value is zero.

[0088] Em uma possível forma de implementação do dispositivo de acordo com qualquer implementação anterior do quarto aspecto ou do quarto aspecto como tal, em que o bloco de codificação é dividido em uma direção horizontal ou vertical.[0088] In a possible form of implementation of the device according to any previous implementation of the fourth aspect or the fourth aspect as such, wherein the coding block is divided in a horizontal or vertical direction.

[0089] Em uma possível forma de implementação do dispositivo de acordo com qualquer implementação anterior do quarto aspecto ou quarto aspecto como tal, em que, se o bloco de codificação for dividido em uma direção horizontal, a fronteira de bloco de transformada entre o primeiro bloco de transformada e o segundo bloco de transformada é uma fronteira de bloco de transformada horizontal; ou, se o bloco de codificação for dividido em uma direção vertical, a fronteira de bloco de transformada entre o primeiro bloco de transformada e o segundo bloco de transformada é uma fronteira de bloco de transformada vertical.[0089] In a possible form of implementation of the device according to any prior implementation of the fourth aspect or fourth aspect as such, wherein, if the coding block is divided in a horizontal direction, the transform block boundary between the first transform block and the second transform block is a horizontal transform block boundary; or, if the coding block is divided in a vertical direction, the transform block boundary between the first transform block and the second transform block is a vertical transform block boundary.

[0090] Em uma possível forma de implementação do dispositivo de acordo com qualquer implementação anterior do quarto aspecto ou quarto aspecto como tal, em que o bloco de codificação atual é codificado usando uma ferramenta de transformada de sub-bloco, SBT, ou a fronteira de bloco de transformada é causada por uma ferramenta de transformada de sub-bloco, SBT.[0090] In a possible form of implementation of the device according to any prior implementation of the fourth aspect or fourth aspect as such, wherein the current coding block is encoded using a sub-block transform tool, SBT, or the frontier block transform is caused by a sub-block transform tool, SBT.

[0091] De acordo com um quinto aspecto da presente divulgação, é fornecido um codificador compreendendo conjunto de circuitos de processamento para realizar o método de acordo com qualquer implementação anterior do primeiro aspecto ou o primeiro aspecto como tal ou o método de acordo com qualquer implementação anterior do segundo aspecto ou o segundo aspecto como tal.[0091] In accordance with a fifth aspect of the present disclosure, there is provided an encoder comprising set of processing circuitry for carrying out the method according to any prior implementation of the first aspect or the first aspect as such or the method according to any previous implementation of the second aspect or the second aspect as such.

[0092] De acordo com um sexto aspecto da presente divulgação, é fornecido um decodificador compreendendo conjunto de circuitos de processamento para realizar o método de acordo com qualquer implementação anterior do primeiro aspecto ou o primeiro aspecto como tal ou o método de acordo com qualquer implementação anterior do segundo aspecto ou o segundo aspecto como tal.[0092] In accordance with a sixth aspect of the present disclosure, there is provided a decoder comprising set of processing circuitry for carrying out the method according to any prior implementation of the first aspect or the first aspect as such or the method according to any implementation of the second aspect or the second aspect as such.

[0093] De acordo com um sétimo aspecto da presente divulgação, é fornecido um produto de programa de computador compreendendo um código de programa para realizar o método de acordo com qualquer implementação anterior do primeiro aspecto ou o primeiro aspecto como tal ou o método de acordo com qualquer implementação anterior do segundo aspecto ou o segundo aspecto como tal.[0093] According to a seventh aspect of the present disclosure, there is provided a computer program product comprising program code for carrying out the method according to any prior implementation of the first aspect or the first aspect as such or the method according to with any previous implementation of the second aspect or the second aspect as such.

[0094] De acordo com um oitavo aspecto da presente divulgação, é fornecido um meio legível por computador não transitório transportando um código de programa que, quando executado por um dispositivo de computador, faz o dispositivo de computador realizar o método de acordo com qualquer implementação anterior do primeiro aspecto ou o primeiro aspecto como tal ou o método de acordo com qualquer implementação anterior do segundo aspecto ou o segundo aspecto como tal.[0094] In accordance with an eighth aspect of the present disclosure, there is provided a non-transitory computer readable medium carrying a program code which, when executed by a computer device, causes the computer device to perform the method in accordance with any implementation of the first aspect or the first aspect as such or the method according to any prior implementation of the second aspect or the second aspect as such.

[0095] De acordo com um nono aspecto da presente divulgação, é fornecido um decodificador, compreendendo: um ou mais processadores; e um meio de armazenamento legível por computador não transitório acoplado aos processadores e armazenando programação para execução pelos processadores, em que a programação, quando executada pelos processadores, configura o decodificador para realizar o método de acordo com qualquer implementação anterior do primeiro aspecto ou o primeiro aspecto como tal ou o método de acordo com qualquer implementação anterior do segundo aspecto ou o segundo aspecto como tal.[0095] According to a ninth aspect of the present disclosure, there is provided a decoder, comprising: one or more processors; and a non-transitory computer-readable storage medium coupled to the processors and storing programming for execution by the processors, wherein the programming, when executed by the processors, configures the decoder to perform the method in accordance with any prior implementation of the first aspect or the first aspect as such or the method according to any prior implementation of the second aspect or the second aspect as such.

[0096] De acordo com um décimo aspecto da presente divulgação, é fornecido um codificador, compreendendo: um ou mais processadores; e um meio de armazenamento legível por computador não transitório acoplado aos processadores e armazenando programação para execução pelos processadores, em que a programação, quando executada pelos processadores, configura o codificador para realizar o método de acordo com qualquer implementação anterior do primeiro aspecto ou o primeiro aspecto como tal ou o método de acordo com qualquer implementação anterior do segundo aspecto ou o segundo aspecto como tal.[0096] According to a tenth aspect of the present disclosure, an encoder is provided, comprising: one or more processors; and a non-transitory computer-readable storage medium coupled to the processors and storing programming for execution by the processors, wherein the programming, when executed by the processors, configures the encoder to perform the method in accordance with any prior implementation of the first aspect or the first aspect as such or the method according to any prior implementation of the second aspect or the second aspect as such.

[0097] De acordo com um décimo primeiro aspecto da presente divulgação, é fornecido um aparelho de filtro de desblocagem, para desblocar uma fronteira de bloco de transformada dentro de um bloco de codificação, em que o bloco de codificação é codificado (predito) no modo de interpredição e o bloco de codificação compreende blocos de transformada (como tal, o bloco de codificação é dividido (separado) em blocos de transformada durante o processo de interpredição, por exemplo, quando a transformada de sub- bloco é habilitada, a unidade de codificação atual é dividida em duas unidades de transformada) compreendendo um primeiro bloco de transformada e um segundo bloco de transformada que é adjacente ao primeiro bloco de transformada; em que o filtro de desblocagem compreende meios para determinar, quando a fronteira entre o primeiro bloco de transformada e o segundo bloco de transformada é uma fronteira de bloco de transformada e pelo menos um do primeiro bloco de transformada e o segundo bloco de transformada tem um ou mais coeficientes de transformada diferentes de zero, um valor de um parâmetro de força de fronteira, BS, para a fronteira entre o primeiro bloco de transformada e o segundo bloco de transformada para ser um primeiro valor, e meios para realizar processo de filtragem de desblocagem para a fronteira entre o primeiro bloco de transformada e o segundo bloco de transformada pelo menos com base no primeiro valor do parâmetro de BS.[0097] In accordance with an eleventh aspect of the present disclosure, an unlocking filter apparatus is provided for unlocking a transform block boundary within a coding block, wherein the coding block is encoded (predicted) in the interprediction mode and the coding block comprises transform blocks (as such, the coding block is divided (separated) into transform blocks during the interprediction process, for example, when the subblock transform is enabled, the unit current encoding is divided into two transform units) comprising a first transform block and a second transform block that is adjacent to the first transform block; wherein the deblocking filter comprises means for determining when the boundary between the first transform block and the second transform block is a transform block boundary and at least one of the first transform block and the second transform block has a or more non-zero transform coefficients, a value of a boundary strength parameter, BS, for the boundary between the first transform block and the second transform block to be a first value, and means for carrying out process filtering unlocking for the boundary between the first transform block and the second transform block at least based on the first BS parameter value.

[0098] De acordo com um décimo segundo aspecto da presente divulgação, é fornecido um aparelho de filtro de desblocagem, para desblocar fronteiras de bloco dentro de um bloco de codificação (unidade de codificação), em que o bloco de codificação é codificado (predito) no modo de interpredição (em particular, o bloco de codificação é codificado em um modo de transformada de sub-bloco, SBT) e o bloco de codificação (um bloco de codificação interpredito é dividido (separado) em blocos de transformada no processo de interpredição, por exemplo, quando a transformada de sub- bloco é habilitada, a unidade de codificação atual é dividida em duas unidades de transformada) compreendendo um primeiro bloco de transformada e um segundo bloco de transformada que é adjacente ao primeiro bloco de transformada (por exemplo, blocos de transformada contêm p0 e q0 são adjacentes na direção vertical ou horizontal), o aparelho de filtro de desblocagem compreendendo meios para em resposta a uma determinação de que uma fronteira de bloco de transformada entre o primeiro bloco de transformada e o segundo bloco de transformada deve ser filtrada, determinar, quando a fronteira entre o primeiro bloco de transformada e o segundo bloco de transformada é uma fronteira de transformada de sub-bloco, SBT, e pelo menos um do primeiro bloco de transformada e o segundo bloco de transformada tem um ou mais coeficientes de transformada diferentes de zero, um valor de um parâmetro de força de fronteira para a fronteira entre o primeiro bloco de transformada e o segundo bloco de transformada para ser um primeiro valor, e meios para realizar um processo de filtragem de desblocagem para a fronteira de bloco de transformada entre o primeiro bloco de transformada e o segundo bloco de transformada pelo menos com base no valor do parâmetro de força de fronteira.[0098] According to a twelfth aspect of the present disclosure, an unlocking filter apparatus is provided for unlocking block boundaries within a coding block (coding unit), wherein the coding block is encoded (predicted ) in the interprediction mode (in particular, the coding block is encoded in a sub-block transform mode, SBT) and the coding block (an interpredicted coding block is divided (separated) into transform blocks in the process of interprediction, for example, when the subblock transform is enabled, the current coding unit is divided into two transform units) comprising a first transform block and a second transform block that is adjacent to the first transform block (e.g. example, transform blocks containing p0 and q0 are adjacent in the vertical or horizontal direction), the deblocking filter apparatus comprising means for in response to a determination that a transform block boundary between the first transform block and the second transform block transform must be filtered, determine, when the boundary between the first transform block and the second transform block is a sub-block transform boundary, SBT, and at least one of the first transform block and the second transform block has one or more non-zero transform coefficients, a value of a boundary strength parameter for the boundary between the first transform block and the second transform block to be a first value, and means for carrying out a process of filtering unlocking for the transform block boundary between the first transform block and the second transform block at least based on the value of the boundary strength parameter.

[0099] O método de acordo com o primeiro aspecto da invenção, isto é, determinar, quando a fronteira entre o primeiro bloco de transformada e o segundo bloco de transformada é uma fronteira de bloco de transformada e pelo menos um do primeiro bloco de transformada e o segundo bloco de transformada tem um ou mais coeficientes de transformada diferentes de zero, um valor de um parâmetro de força de fronteira, BS, para a fronteira entre o primeiro bloco de transformada e o segundo bloco de transformada para ser um primeiro valor; e realizar processo de filtragem de desblocagem para a fronteira entre o primeiro bloco de transformada e o segundo bloco de transformada pelo menos com base no primeiro valor do parâmetro de BS pode ser realizado pelo aparelho de acordo com o décimo primeiro aspecto da invenção. Outros recursos e formas de implementação do aparelho de acordo com o décimo primeiro aspecto da invenção correspondem aos recursos e formas de implementação do método de acordo com o primeiro aspecto da invenção.[0099] The method according to the first aspect of the invention, that is, determining, when the boundary between the first transform block and the second transform block is a transform block boundary and at least one of the first transform block and the second transform block has one or more non-zero transform coefficients, a value of a boundary strength parameter, BS, for the boundary between the first transform block and the second transform block to be a first value; and performing deblocking filtering process for the boundary between the first transform block and the second transform block at least based on the first value of the BS parameter can be performed by the apparatus according to the eleventh aspect of the invention. Other features and ways of implementing the apparatus according to the eleventh aspect of the invention correspond to the features and ways of implementing the method according to the first aspect of the invention.

[00100] O método de acordo com o segundo aspecto da invenção, isto é, em resposta a uma determinação de que uma fronteira de bloco de transformada entre o primeiro bloco de transformada e o segundo bloco de transformada deve ser filtrada, determinar, quando a fronteira entre o primeiro bloco de transformada e o segundo bloco de transformada é uma fronteira de transformada de sub-bloco, SBT, e pelo menos um do primeiro bloco de transformada e o segundo bloco de transformada tem um ou mais coeficientes de transformada diferentes de zero, um valor de um parâmetro de força de fronteira para a fronteira entre o primeiro bloco de transformada e o segundo bloco de transformada para ser um primeiro valor, e realizar processo de filtragem de desblocagem para a fronteira de bloco de transformada entre o primeiro bloco de transformada e o segundo bloco de transformada pelo menos com base no valor do parâmetro de força de fronteira pode ser realizado pelo aparelho de acordo com o décimo segundo aspecto da invenção. Outros recursos e formas de implementação do aparelho de acordo com o décimo segundo aspecto da invenção correspondem aos recursos e formas de implementação do método de acordo com o segundo aspecto da invenção.[00100] The method according to the second aspect of the invention, that is, in response to a determination that a transform block boundary between the first transform block and the second transform block should be filtered, determining, when the boundary between the first transform block and the second transform block is a sub-block transform boundary, SBT, and at least one of the first transform block and the second transform block has one or more non-zero transform coefficients , a value of a boundary strength parameter for the boundary between the first transform block and the second transform block to be a first value, and perform deblocking filtering process for the transform block boundary between the first transform block transform and the second transform block at least based on the value of the boundary force parameter can be performed by the apparatus according to the twelfth aspect of the invention. Other features and ways of implementing the apparatus according to the twelfth aspect of the invention correspond to the features and ways of implementing the method according to the second aspect of the invention.

[00101] O aparelho de acordo com o aspecto pode ser estendido em formas de implementação correspondentes às formas de implementação de um método de acordo com qualquer aspecto anterior. Portanto, uma forma de implementação do aparelho compreende o (s) recurso (s) da forma de implementação correspondente do método de acordo com qualquer aspecto anterior.[00101] The apparatus according to the aspect can be extended into implementation forms corresponding to the implementation forms of a method according to any previous aspect. Therefore, an implementation form of the apparatus comprises the feature(s) of the corresponding implementation form of the method according to any foregoing aspect.

[00102] As vantagens dos aparelhos de acordo com qualquer aspecto anterior são as mesmas que aquelas para as formas de implementação correspondentes do método de acordo com qualquer aspecto anterior.[00102] The advantages of the apparatus according to any previous aspect are the same as those for the corresponding implementation forms of the method according to any previous aspect.

[00103] De acordo com um aspecto adicional, a invenção se refere a um aparelho para decodificar um fluxo de vídeo que inclui um processador e uma memória. A memória está armazenando instruções que fazem o processador realizar o método de acordo com o primeiro aspecto.[00103] According to a further aspect, the invention relates to an apparatus for decoding a video stream that includes a processor and a memory. The memory is storing instructions that make the processor perform the method according to the first aspect.

[00104] De acordo com um aspecto adicional, a invenção se refere a um aparelho para codificar um fluxo de vídeo que inclui um processador e uma memória. A memória está armazenando instruções que fazem o processador realizar o método de acordo com o primeiro aspecto.[00104] According to a further aspect, the invention relates to an apparatus for encoding a video stream that includes a processor and a memory. The memory is storing instructions that make the processor perform the method according to the first aspect.

[00105] Os detalhes de uma ou mais modalidades são apresentados nos desenhos anexos e na descrição abaixo. Outros recursos, objetos e vantagens serão evidentes a partir da descrição, desenhos e reivindicações.[00105] Details of one or more embodiments are presented in the attached drawings and in the description below. Other features, objects and advantages will be apparent from the description, drawings and claims.

BREVE DESCRIÇÃO DOS DESENHOSBRIEF DESCRIPTION OF THE DRAWINGS

[00106] No seguinte, modalidades da invenção são descritas em mais detalhes com referência às figuras e desenhos anexos, nos quais: a Figura 1A é um diagrama de blocos mostrando um exemplo de um sistema de codificação de vídeo configurado para implementar modalidades da invenção; a Figura 1B é um diagrama de blocos mostrando outro exemplo de um sistema de codificação de vídeo configurado para implementar modalidades da invenção; a Figura 2 é um diagrama de blocos mostrando um exemplo de um codificador de vídeo configurado para implementar modalidades da invenção; a Figura 3 é um diagrama de blocos mostrando um exemplo de estrutura de um decodificador de vídeo configurado para implementar modalidades da invenção; a Figura 4 é um diagrama de blocos ilustrando um exemplo de um aparelho de codificação ou um aparelho de decodificação; a Figura 5 é um diagrama de blocos ilustrando outro exemplo de um aparelho de codificação ou um aparelho de decodificação; a Figura 6 é um diagrama de blocos ilustrando um exemplo de desblocagem de bordas de subpartição dentro de uma unidade de codificação (CU); a Figura 7 é um diagrama de blocos ilustrando outro exemplo de desblocagem de bordas de subpartição dentro de uma CU; a Figura 8 é um diagrama de blocos ilustrando um exemplo de desblocagem de fronteiras de TU de sub-bloco dentro de uma CU que se sobrepõe a uma grade de amostra 8 x 8; a Figura 9 é um diagrama de blocos ilustrando um exemplo de desblocagem de todas as fronteiras de TU de sub-bloco dentro de uma CU que se sobrepõe a uma grade de amostra 4 x 4; a Figura 10 é um diagrama de blocos ilustrando um exemplo de acordo com o qual quando o tamanho de sub-bloco é < 8 amostras ortogonalmente na direção de desblocagem, então um filtro fraco que usa apenas 3 amostras na decisão de desblocagem e que modifica apenas uma amostra é usado; a Figura 11 ilustra bordas de sub-bloco causadas por limitações de tamanho de TU; a Figura 12 mostra uma unidade de codificação dividida em múltiplas unidades de transformada; a Figura 13 ilustra desblocagem de todas as fronteiras de TU de sub-bloco dentro de uma CU que se sobrepõe a (alinhada com) uma grade de amostra 8 x 8; a Figura 14 mostra uma unidade de codificação que é ainda dividida em múltiplas unidades de transformada; a Figura 15 mostra uma unidade de codificação que é ainda dividida em múltiplas unidades de transformada de acordo com a árvore quádrupla residual (RQT) como transformada de sub- bloco; a Figura 16 mostra uma fronteira vertical entre dois blocos P e Q; a Figura 17 mostra um fluxograma para o método de acordo com o primeiro aspecto da invenção; a Figura 18 mostra um fluxograma para o método de acordo com o segundo aspecto da invenção; a Figura 19 mostra um diagrama esquemático de um dispositivo para codificação de vídeo; a Figura 20 mostra um diagrama esquemático de um dispositivo para codificação de vídeo; a Figura 21 é um diagrama de blocos mostrando um exemplo de estrutura de um sistema de fornecimento de conteúdo que realiza um serviço de entrega de conteúdo; e a Figura 22 é um diagrama de blocos mostrando uma estrutura de um exemplo de um dispositivo terminal.[00106] In the following, embodiments of the invention are described in more detail with reference to the accompanying figures and drawings, in which: Figure 1A is a block diagram showing an example of a video coding system configured to implement embodiments of the invention; Figure 1B is a block diagram showing another example of a video coding system configured to implement embodiments of the invention; Figure 2 is a block diagram showing an example of a video encoder configured to implement embodiments of the invention; Figure 3 is a block diagram showing an example structure of a video decoder configured to implement embodiments of the invention; Figure 4 is a block diagram illustrating an example of an encoding apparatus or a decoding apparatus; Figure 5 is a block diagram illustrating another example of an encoding apparatus or a decoding apparatus; Figure 6 is a block diagram illustrating an example of unblocking subpartition edges within a coding unit (CU); Figure 7 is a block diagram illustrating another example of unblocking subpartition edges within a CU; Figure 8 is a block diagram illustrating an example of unblocking sub-block TU boundaries within a CU that overlaps an 8 x 8 sample grid; Figure 9 is a block diagram illustrating an example of unlocking all sub-block TU boundaries within a CU that overlaps a 4 x 4 sample grid; Figure 10 is a block diagram illustrating an example whereby when the sub-block size is < 8 samples orthogonally in the unblocking direction, then a weak filter that uses only 3 samples in the unblocking decision and that modifies only a sample is used; Figure 11 illustrates sub-block edges caused by TU size limitations; Figure 12 shows a coding unit divided into multiple transform units; Figure 13 illustrates unlocking of all sub-block TU boundaries within a CU that overlaps (aligned with) an 8 x 8 sample grid; Figure 14 shows a coding unit that is further divided into multiple transform units; Figure 15 shows a coding unit that is further divided into multiple transform units according to the residual quadruple tree (RQT) as subblock transform; Figure 16 shows a vertical boundary between two blocks P and Q; Figure 17 shows a flowchart for the method according to the first aspect of the invention; Figure 18 shows a flowchart for the method according to the second aspect of the invention; Figure 19 shows a schematic diagram of a device for encoding video; Figure 20 shows a schematic diagram of a device for encoding video; Figure 21 is a block diagram showing an example structure of a content delivery system that performs a content delivery service; and Figure 22 is a block diagram showing a structure of an example of a terminal device.

[00107] No seguinte, sinais de referência idênticos se referem a recursos idênticos ou pelo menos funcionalmente equivalentes, se não for explicitamente especificado de outra forma.[00107] In the following, identical reference signals refer to identical or at least functionally equivalent resources, if not explicitly specified otherwise.

DESCRIÇÃO DETALHADA DAS MODALIDADESDETAILED DESCRIPTION OF MODALITIES

[00108] Na seguinte descrição, é feita referência às figuras anexas, que fazem parte da divulgação e que mostram, a título de ilustração, aspectos específicos das modalidades da invenção ou aspectos específicos em que as modalidades da presente invenção podem ser usadas. Entende-se que as modalidades da invenção podem ser usadas em outros aspectos e compreendem mudanças estruturais ou lógicas não representadas nas figuras. A seguinte descrição detalhada, portanto, não deve ser tomada em um sentido limitante, e o escopo da presente invenção é definido pelas reivindicações anexas.[00108] In the following description, reference is made to the attached figures, which form part of the disclosure and which show, by way of illustration, specific aspects of the embodiments of the invention or specific aspects in which the embodiments of the present invention can be used. It is understood that embodiments of the invention can be used in other aspects and comprise structural or logical changes not represented in the figures. The following detailed description, therefore, should not be taken in a limiting sense, and the scope of the present invention is defined by the appended claims.

[00109] Por exemplo, entende-se que uma divulgação em conexão com um método descrito também pode ser verdadeira para um dispositivo ou sistema correspondente configurado para realizar o método e vice-versa. Por exemplo, se uma ou uma pluralidade de passos de método específicos são descritos, um dispositivo correspondente pode incluir uma ou uma pluralidade de unidades, por exemplo, unidades funcionais, para realizar o descrito um ou a pluralidade de passos de método (por exemplo, uma unidade realizando o ou a pluralidade de passos, ou uma pluralidade de unidades, cada uma realizando uma ou mais da pluralidade de passos), mesmo se tais uma ou mais unidades não forem explicitamente descritas ou ilustradas nas figuras. Por outro lado, por exemplo, se um aparelho específico é descrito com base em uma ou uma pluralidade de unidades, por exemplo, unidades funcionais, um método correspondente pode incluir um passo para realizar a funcionalidade de uma ou uma pluralidade de unidades (por exemplo, um passo realizando a funcionalidade da uma ou uma pluralidade de unidades, ou uma pluralidade de passos, cada uma realizando a funcionalidade de uma ou mais da pluralidade de unidades), mesmo se tal um ou uma pluralidade de passos não forem explicitamente descritos ou ilustrados nas figuras. Além disso, entende-se que as características das várias modalidades exemplares e / ou aspectos descritos neste documento podem ser combinadas umas com as outras, a menos que especificamente indicado de outra forma.[00109] For example, it is understood that a disclosure in connection with a described method may also be true for a corresponding device or system configured to carry out the method and vice versa. For example, if one or a plurality of specific method steps are described, a corresponding device may include one or a plurality of units, e.g., functional units, for carrying out the described one or plurality of method steps (e.g., a unit performing the or plurality of steps, or a plurality of units, each performing one or more of the plurality of steps), even if such one or more units are not explicitly described or illustrated in the figures. On the other hand, for example, if a specific apparatus is described based on one or a plurality of units, e.g. functional units, a corresponding method may include a step for realizing the functionality of one or a plurality of units (e.g. , a step carrying out the functionality of one or a plurality of units, or a plurality of steps, each carrying out the functionality of one or more of the plurality of units), even if such one or a plurality of steps are not explicitly described or illustrated in the figures. Furthermore, it is understood that features of the various exemplary embodiments and/or aspects described herein may be combined with each other unless specifically indicated otherwise.

[00110] A codificação de vídeo normalmente se refere ao processamento de uma sequência de imagens, que formam o vídeo ou a sequência de vídeo. Em vez do termo “imagem” (“picture”), o termo “quadro” ou “imagem” (“image”) pode ser usado como sinônimo no campo da codificação de vídeo. A codificação de vídeo (ou codificação em geral) compreende duas partes, codificação de vídeo e decodificação de vídeo. A codificação de vídeo é realizada no lado de fonte, normalmente compreendendo o processamento (por exemplo, por compressão) das imagens de vídeo originais para reduzir a quantidade de dados necessária para representar as imagens de vídeo (para armazenamento e / ou transmissão mais eficiente). A decodificação de vídeo é realizada no lado de destino e normalmente compreende o processamento inverso em comparação com o codificador para reconstruir as imagens de vídeo. As modalidades que se referem à "codificação" de imagens de vídeo (ou imagens em geral) devem ser entendidas como relacionadas à "codificação" ou "decodificação" de imagens de vídeo ou respectivas sequências de vídeo. A combinação da parte de codificação e da parte de decodificação também é conhecida como CODEC (Codificação e Decodificação).[00110] Video coding typically refers to the processing of a sequence of images, which form the video or video sequence. Instead of the term “image” (“picture”), the term “frame” or “image” (“image”) can be used synonymously in the field of video coding. Video coding (or coding in general) comprises two parts, video encoding and video decoding. Video coding is performed on the source side, typically comprising processing (e.g. by compression) of the original video images to reduce the amount of data required to represent the video images (for more efficient storage and/or transmission) . Video decoding is performed on the target side and typically comprises inverse processing compared to the encoder to reconstruct the video images. Embodiments that refer to "encoding" video images (or images in general) should be understood as relating to "encoding" or "decoding" video images or respective video sequences. The combination of encoding part and decoding part is also known as CODEC (Encoding and Decoding).

[00111] No caso de codificação de vídeo sem perdas, as imagens de vídeo originais podem ser reconstruídas, ou seja, as imagens de vídeo reconstruídas têm a mesma qualidade das imagens de vídeo originais (assumindo nenhuma perda de transmissão ou outra perda de dados durante o armazenamento ou transmissão). No caso de codificação de vídeo com perdas, compressão adicional, por exemplo, por quantização, é realizada, para reduzir a quantidade de dados que representam as imagens de vídeo, que não podem ser completamente reconstruídas no decodificador, ou seja, a qualidade das imagens de vídeo reconstruídas é inferior ou pior comparada à qualidade das imagens de vídeo originais.[00111] In the case of lossless video coding, the original video images can be reconstructed, i.e., the reconstructed video images have the same quality as the original video images (assuming no transmission loss or other data loss during storage or transmission). In the case of lossy video coding, additional compression, for example by quantization, is performed, to reduce the amount of data representing the video images, which cannot be completely reconstructed in the decoder, i.e. the quality of the images reconstructed video images is inferior or worse compared to the quality of the original video images.

[00112] Vários padrões de codificação de vídeo pertencem ao grupo de “codecs de vídeo híbridos com perdas” (ou seja, combinam predição espacial e temporal no domínio da amostra e codificação de transformada 2D para aplicar quantização no domínio de transformada). Cada imagem de uma sequência de vídeo é normalmente particionada em um conjunto de blocos não sobrepostos e a codificação é normalmente realizada em um nível de bloco. Em outras palavras, no codificador, o vídeo é normalmente processado, ou seja, codificado, em um nível de bloco (bloco de vídeo), por exemplo, por usar predição espacial (intraimagem) e / ou predição temporal (interimagem) para gerar um bloco de predição, subtrair o bloco de predição do bloco atual (bloco atualmente processado / a ser processado) para obter um bloco residual, transformar o bloco residual e quantizar o bloco residual no domínio de transformada para reduzir a quantidade de dados a serem transmitidos (compressão), enquanto no decodificador, o processamento inverso em comparação com o codificador é aplicado ao bloco codificado ou comprimido para reconstruir o bloco atual para representação. Além disso, o codificador duplica o loop de processamento de decodificador de modo que ambos irão gerar predições idênticas (por exemplo, intra e interpredições) e / ou reconstruções para processamento, ou seja, codificação dos blocos subsequentes.[00112] Various video coding standards belong to the group of “lossy hybrid video codecs” (i.e., they combine spatial and temporal prediction in the sample domain and 2D transform coding to apply quantization in the transform domain). Each image in a video sequence is typically partitioned into a set of non-overlapping blocks, and encoding is typically performed at a block level. In other words, in the encoder, the video is typically processed, i.e. encoded, at a block level (video block), for example by using spatial prediction (intra-picture) and/or temporal prediction (inter-picture) to generate a prediction block, subtract the prediction block from the current block (block currently processed/to be processed) to obtain a residual block, transform the residual block, and quantize the residual block in the transform domain to reduce the amount of data to be transmitted ( compression), while in decoder, inverse processing compared to encoder is applied to the encoded or compressed block to reconstruct the current block for representation. Furthermore, the encoder duplicates the decoder processing loop so that both will generate identical predictions (e.g., intra- and interpredictions) and/or reconstructions for processing, i.e., coding of subsequent blocks.

[00113] Nas seguintes modalidades de um sistema de codificação de vídeo 10, um codificador de vídeo 20 e um decodificador de vídeo 30 são descritos com base nas Figuras 1 a 3.[00113] In the following embodiments of a video coding system 10, a video encoder 20 and a video decoder 30 are described based on Figures 1 to 3.

[00114] A Figura 1A é um diagrama de blocos esquemático ilustrando um sistema de codificação de exemplo 10, por exemplo, um sistema de codificação de vídeo 10 (ou sistema de codificação 10 abreviado) que pode utilizar técnicas do presente pedido. O codificador de vídeo 20 (ou codificador 20 abreviado) e o decodificador de vídeo 30 (ou decodificador 30 abreviado) do sistema de codificação de vídeo 10 representam exemplos de dispositivos que podem ser configurados para realizar técnicas de acordo com vários exemplos descritos no presente pedido.[00114] Figure 1A is a schematic block diagram illustrating an example coding system 10, for example, a video coding system 10 (or coding system 10 for short) that may utilize techniques of the present application. The video encoder 20 (or encoder 20 for short) and the video decoder 30 (or decoder 30 for short) of the video coding system 10 represent examples of devices that can be configured to perform techniques in accordance with various examples described in the present application. .

[00115] Como mostrado na Figura 1A, o sistema de codificação 10 compreende um dispositivo de origem 12 configurado para fornecer dados de imagem codificados 21, por exemplo, para um dispositivo de destino 14 para decodificar os dados de imagem codificados 13.[00115] As shown in Figure 1A, the coding system 10 comprises a source device 12 configured to provide encoded image data 21, for example, to a destination device 14 to decode the encoded image data 13.

[00116] O dispositivo de origem 12 compreende um codificador 20 e pode, adicionalmente, isto é, opcionalmente, compreender uma origem de imagem 16, um pré- processador (ou unidade de pré-processamento) 18, por exemplo, um pré-processador de imagem 18, e uma interface de comunicação ou unidade de comunicação 22.[00116] The source device 12 comprises an encoder 20 and may additionally, i.e. optionally, comprise an image source 16, a preprocessor (or preprocessing unit) 18, e.g. image 18, and a communication interface or communication unit 22.

[00117] A origem de imagem 16 pode compreender ou ser qualquer tipo de dispositivo de captura de imagem, por exemplo, uma câmera para capturar uma imagem do mundo real e / ou qualquer tipo de um dispositivo de geração de imagem, por exemplo, um processador gráfico de computador para gerar uma imagem animada por computador, ou qualquer tipo de outro dispositivo para obter e / ou fornecer uma imagem do mundo real, uma imagem gerada por computador (por exemplo, um conteúdo de tela, uma imagem de realidade virtual (VR)) e / ou qualquer combinação dos mesmos (por exemplo, uma imagem de realidade aumentada (AR)). A origem de imagem pode ser qualquer tipo de memória ou armazenamento armazenando qualquer uma das imagens acima mencionadas.[00117] The image source 16 may comprise or be any type of image capturing device, e.g., a camera for capturing a real-world image and/or any type of an imaging device, e.g., a computer graphics processor to generate a computer-animated image, or any type of other device to obtain and/or provide a real-world image, a computer-generated image (e.g., a screen content, a virtual reality image ( VR)) and/or any combination thereof (e.g. an augmented reality (AR) image). The image source can be any type of memory or storage storing any of the above-mentioned images.

[00118] Em distinção ao pré-processador 18 e ao processamento realizado pela unidade de pré-processamento 18, a imagem ou dados de imagem 17 também podem ser referidos como imagem bruta ou dados de imagem brutos 17.[00118] In distinction to the preprocessor 18 and the processing performed by the preprocessing unit 18, the image or image data 17 may also be referred to as the raw image or raw image data 17.

[00119] O pré-processador 18 é configurado para receber os dados de imagem (brutos) 17 e para realizar o pré-processamento nos dados de imagem 17 para obter uma imagem pré-processada 19 ou dados de imagem pré-processados 19. Pré-processamento realizado pelo pré-processador 18 pode, por exemplo, compreender corte, conversão de formato de cor (por exemplo, de RGB para YCbCr), correção de cor, ou eliminação de ruído. Pode ser entendido que a unidade de pré-processamento 18 pode ser componente opcional.[00119] The preprocessor 18 is configured to receive the (raw) image data 17 and to perform preprocessing on the image data 17 to obtain a preprocessed image 19 or preprocessed image data 19. Preprocessing -processing performed by preprocessor 18 may, for example, comprise cropping, color format conversion (e.g., from RGB to YCbCr), color correction, or noise elimination. It can be understood that the preprocessing unit 18 can be an optional component.

[00120] O codificador de vídeo 20 é configurado para receber os dados de imagem pré-processados 19 e fornecer dados de imagem codificados 21 (mais detalhes serão descritos abaixo, por exemplo, com base na Figura 2).[00120] The video encoder 20 is configured to receive the preprocessed image data 19 and provide encoded image data 21 (more details will be described below, for example, based on Figure 2).

[00121] A interface de comunicação 22 do dispositivo de origem 12 pode ser configurada para receber os dados de imagem codificados 21 e para transmitir os dados de imagem codificados 21 (ou qualquer versão processada adicional dos mesmos) através do canal de comunicação 13 para outro dispositivo, por exemplo, o dispositivo de destino 14 ou qualquer outro dispositivo, para armazenamento ou reconstrução direta.[00121] The communication interface 22 of the source device 12 may be configured to receive the encoded image data 21 and to transmit the encoded image data 21 (or any further processed version thereof) over the communication channel 13 to another device, for example, the target device 14 or any other device, for storage or direct reconstruction.

[00122] O dispositivo de destino 14 compreende um decodificador 30 (por exemplo, um decodificador de vídeo 30) e pode, adicionalmente, isto é, opcionalmente, compreender uma interface de comunicação ou unidade de comunicação 28, um pós-processador 32 (ou unidade de pós-processamento 32) e um dispositivo de exibição 34.[00122] The destination device 14 comprises a decoder 30 (e.g., a video decoder 30) and may additionally, i.e. optionally, comprise a communication interface or communication unit 28, a post-processor 32 (or post-processing unit 32) and a display device 34.

[00123] A interface de comunicação 28 do dispositivo de destino 14 é configurada para receber os dados de imagem codificados 21 (ou qualquer versão processada adicional dos mesmos), por exemplo, diretamente a partir do dispositivo de origem 12 ou a partir de qualquer outra fonte, por exemplo, um dispositivo de armazenamento, por exemplo, um dispositivo de armazenamento de dados de imagem codificados, e fornecer os dados de imagem codificados 21 para o decodificador 30.[00123] The communication interface 28 of the destination device 14 is configured to receive the encoded image data 21 (or any further processed version thereof), for example, directly from the source device 12 or from any other source, e.g., a storage device, e.g., an encoded image data storage device, and providing the encoded image data 21 to the decoder 30.

[00124] A interface de comunicação 22 e a interface de comunicação 28 podem ser configuradas para transmitir ou receber os dados de imagem codificados 21 ou dados codificados 13 através de um enlace de comunicação direto entre o dispositivo de origem 12 e o dispositivo de destino 14, por exemplo, uma conexão direta com ou sem fio, ou através de qualquer tipo de rede, por exemplo, uma rede com ou sem fio ou qualquer combinação delas, ou qualquer tipo de rede privada e pública, ou qualquer tipo de combinação das mesmas.[00124] The communication interface 22 and the communication interface 28 may be configured to transmit or receive the encoded image data 21 or encoded data 13 via a direct communication link between the source device 12 and the destination device 14 , for example, a direct wired or wireless connection, or through any type of network, for example, a wired or wireless network or any combination thereof, or any type of private and public network, or any type of combination thereof .

[00125] A interface de comunicação 22 pode ser, por exemplo, configurada para empacotar os dados de imagem codificados 21 em um formato apropriado, por exemplo, pacotes, e / ou processar os dados de imagem codificados usando qualquer tipo de codificação ou processamento de transmissão para transmissão através de um enlace de comunicação ou rede de comunicação.[00125] Communication interface 22 may be, for example, configured to package the encoded image data 21 into an appropriate format, e.g., packets, and/or process the encoded image data using any type of encoding or processing. transmission for transmission over a communications link or communications network.

[00126] A interface de comunicação 28, formando a contraparte da interface de comunicação 22, pode ser, por exemplo, configurada para receber os dados transmitidos e processar os dados de transmissão usando qualquer tipo de decodificação ou processamento e / ou desempacotamento de transmissão correspondente para obter os dados de imagem codificados 21.[00126] The communication interface 28, forming the counterpart of the communication interface 22, may be, for example, configured to receive the transmitted data and process the transmission data using any type of decoding or processing and/or corresponding transmission unpacking to obtain the encoded image data 21.

[00127] Tanto a interface de comunicação 22 quanto a interface de comunicação 28 podem ser configuradas como interfaces de comunicação unidirecionais, conforme indicado pela seta para o canal de comunicação 13 na Figura 1A apontando a partir do dispositivo de origem 12 para o dispositivo de destino 14, ou interfaces de comunicação bidirecionais, e pode ser configurado, por exemplo, para enviar e receber mensagens, por exemplo, para configurar uma conexão, para reconhecer e trocar qualquer outra informação relacionada ao enlace de comunicação e / ou transmissão de dados, por exemplo, transmissão de dados de imagem codificados.[00127] Both communication interface 22 and communication interface 28 can be configured as unidirectional communication interfaces, as indicated by the arrow for communication channel 13 in Figure 1A pointing from the source device 12 to the destination device 14, or bidirectional communication interfaces, and can be configured, for example, to send and receive messages, for example, to configure a connection, to recognize and exchange any other information related to the communication link and/or data transmission, by example, transmission of encoded image data.

[00128] O decodificador 30 é configurado para receber os dados de imagem codificados 21 e fornecer dados de imagem decodificados 31 ou uma imagem decodificada 31 (mais detalhes serão descritos abaixo, por exemplo, com base na Figura 3 ou Figura 5).[00128] The decoder 30 is configured to receive the encoded image data 21 and provide decoded image data 31 or a decoded image 31 (more details will be described below, for example, based on Figure 3 or Figure 5).

[00129] O pós-processador 32 do dispositivo de destino 14 é configurado para pós-processar os dados de imagem decodificados 31 (também chamados de dados de imagem reconstruídos), por exemplo, a imagem decodificada 31, para obter dados de imagem pós-processados 33, por exemplo, uma imagem pós-processada 33. O pós-processamento realizado pela unidade de pós-processamento 32 pode compreender, por exemplo, conversão de formato de cor (por exemplo, de YCbCr para RGB), correção de cor, corte, ou reamostragem, ou qualquer outro processamento, por exemplo, para preparar os dados de imagem decodificados 31 para exibição, por exemplo, pelo dispositivo de exibição 34.[00129] The post-processor 32 of the target device 14 is configured to post-process the decoded image data 31 (also called reconstructed image data), e.g., the decoded image 31, to obtain post-process image data. processed images 33, for example, a post-processed image 33. The post-processing performed by the post-processing unit 32 may comprise, for example, color format conversion (e.g., from YCbCr to RGB), color correction, cropping, or resampling, or any other processing, for example, to prepare the decoded image data 31 for display, for example, by the display device 34.

[00130] O dispositivo de exibição 34 do dispositivo de destino 14 é configurado para receber os dados de imagem pós-processados 33 para exibir a imagem, por exemplo, para um usuário ou visualizador. O dispositivo de exibição 34 pode ser ou compreender qualquer tipo de tela exibição para representar a imagem reconstruída, por exemplo, uma tela de exibição ou monitor integrado ou externo. As telas de exibição podem, por exemplo, compreender telas de exibição de cristal líquido (LCD), telas de exibição de diodos emissores de luz orgânicos (OLED), telas de exibição de plasma, projetores, telas de exibição de microLED, um cristal líquido em silício (LCoS), processador de luz digital (DLP) ou qualquer outro tipo de tela de exibição.[00130] The display device 34 of the target device 14 is configured to receive the post-processed image data 33 to display the image, for example, to a user or viewer. The display device 34 may be or comprise any type of display screen for representing the reconstructed image, for example, an integrated or external display screen or monitor. Display screens may, for example, comprise liquid crystal display screens (LCD), organic light emitting diode (OLED) display screens, plasma display screens, projectors, microLED display screens, a liquid crystal on silicon (LCoS), digital light processor (DLP) or any other type of display screen.

[00131] Embora a Figura 1A represente o dispositivo de origem 12 e o dispositivo de destino 14 como dispositivos separados, modalidades de dispositivos também podem compreender ambos ou ambas as funcionalidades, o dispositivo de origem 12 ou funcionalidade correspondente e o dispositivo de destino 14 ou funcionalidade correspondente. Em tais modalidades, o dispositivo de origem 12 ou funcionalidade correspondente e o dispositivo de destino 14 ou funcionalidade correspondente podem ser implementados usando o mesmo hardware e / ou software ou por hardware e / ou software separado ou qualquer combinação dos mesmos.[00131] Although Figure 1A depicts the source device 12 and the destination device 14 as separate devices, device embodiments may also comprise both or both functionality, the source device 12 or corresponding functionality and the destination device 14 or corresponding functionality. In such embodiments, the source device 12 or corresponding functionality and the target device 14 or corresponding functionality may be implemented using the same hardware and/or software or by separate hardware and/or software or any combination thereof.

[00132] Como será evidente para a pessoa versada com base na descrição, a existência e separação (exata) de funcionalidades das diferentes unidades ou funcionalidades dentro do dispositivo de origem 12 e / ou dispositivo de destino 14, como mostrado na Figura 1A, podem variar dependendo do dispositivo e aplicação atuais.[00132] As will be apparent to the skilled person based on the description, the existence and (exact) separation of functionalities of the different units or functionalities within the source device 12 and/or target device 14, as shown in Figure 1A, may vary depending on the current device and application.

[00133] O codificador 20 (por exemplo, um codificador de vídeo 20) ou o decodificador 30 (por exemplo, um decodificador de vídeo 30) ou ambos, o codificador 20 e o decodificador 30 podem ser implementados por meio de conjunto de circuitos de processamento como mostrado na Figura 1B, como um ou mais microprocessadores, processadores de sinal digital (DSPs), circuitos integrados de aplicação específica (ASICs), matrizes de portas programáveis em campo (FPGAs), lógica discreta, hardware, codificação de vídeo dedicada ou qualquer combinação dos mesmos. O codificador 20 pode ser implementado através do conjunto de circuitos de processamento 46 para incorporar os vários módulos, conforme discutido em relação ao codificador 20 da Figura 2 e / ou qualquer outro sistema de codificador ou subsistema aqui descrito. O decodificador 30 pode ser implementado através do conjunto de circuitos de processamento 46 para incorporar os vários módulos, conforme discutido em relação ao decodificador 30 da Figura 3 e / ou qualquer outro sistema ou subsistema decodificador aqui descrito. O conjunto de circuitos de processamento pode ser configurado para realizar as várias operações, conforme discutido mais tarde. Conforme mostrado na Figura 5, se as técnicas são implementadas parcialmente em software, um dispositivo pode armazenar instruções para o software em um meio de armazenamento legível por computador não transitório adequado e pode executar as instruções em hardware usando um ou mais processadores para realizar as técnicas desta divulgação. Qualquer de codificador de vídeo 20 e decodificador de vídeo 30 podem ser integrados como parte de um codificador / decodificador combinado (CODEC) em um único dispositivo, por exemplo, como mostrado na Figura 1B.[00133] The encoder 20 (e.g., a video encoder 20) or the decoder 30 (e.g., a video decoder 30) or both, the encoder 20 and the decoder 30 can be implemented by means of a set of processing circuits. processing as shown in Figure 1B, such as one or more microprocessors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), discrete logic, hardware, dedicated video encoding, or any combination thereof. Encoder 20 may be implemented through processing circuitry 46 to incorporate the various modules as discussed in connection with encoder 20 of Figure 2 and/or any other encoder system or subsystem described herein. Decoder 30 may be implemented through processing circuitry 46 to incorporate the various modules as discussed in connection with decoder 30 of Figure 3 and/or any other decoder system or subsystem described herein. The processing circuitry may be configured to perform the various operations as discussed later. As shown in Figure 5, if the techniques are implemented partially in software, a device may store instructions for the software on a suitable non-transitory computer-readable storage medium and may execute the instructions in hardware using one or more processors to perform the techniques. of this disclosure. Any of video encoder 20 and video decoder 30 may be integrated as part of a combined encoder/decoder (CODEC) in a single device, for example, as shown in Figure 1B.

[00134] O dispositivo de origem 12 e o dispositivo de destino 14 podem compreender qualquer um de uma ampla gama de dispositivos, incluindo qualquer tipo de dispositivos portáteis ou estacionários, por exemplo, notebooks ou laptops, telefones móveis, smartphones, tablets ou computadores tablets, câmeras, computadores de mesa, decodificadores, televisores, dispositivos de exibição, reprodutores de mídia digital, consoles de videogame, dispositivos de streaming de vídeo (como servidores de serviços de conteúdo ou servidores de entrega de conteúdo), dispositivo receptor de difusão, dispositivo transmissor de difusão, ou semelhantes e podem usar nenhum ou qualquer tipo de sistema operacional. Em alguns casos, o dispositivo de origem 12 e o dispositivo de destino 14 podem ser equipados para comunicação sem fio. Assim, o dispositivo de origem 12 e o dispositivo de destino 14 podem ser dispositivos de comunicação sem fio.[00134] The source device 12 and the destination device 14 may comprise any of a wide range of devices, including any type of portable or stationary devices, for example, notebooks or laptops, mobile phones, smartphones, tablets or tablet computers , cameras, desktop computers, set-top boxes, televisions, display devices, digital media players, video game consoles, video streaming devices (such as content services servers or content delivery servers), broadcast receiving device, device broadcast transmitter, or similar and may use no or any type of operating system. In some cases, the source device 12 and the destination device 14 may be equipped for wireless communication. Thus, the source device 12 and the destination device 14 may be wireless communication devices.

[00135] Em alguns casos, o sistema de codificação de vídeo 10 ilustrado na Figura 1A é apenas um exemplo e as técnicas do presente pedido podem ser aplicadas a definições de codificação de vídeo (por exemplo, codificação de vídeo ou decodificação de vídeo) que não incluem necessariamente qualquer comunicação de dados entre os dispositivos de codificação e de decodificação. Em outros exemplos, os dados são recuperados de uma memória local, transmitidos por uma rede ou semelhantes. Um dispositivo de codificação de vídeo pode codificar e armazenar dados para a memória e / ou um dispositivo de decodificação de vídeo pode recuperar e decodificar dados da memória. Em alguns exemplos, a codificação e decodificação são realizadas por dispositivos que não se comunicam entre si, mas simplesmente codificam dados para a memória e / ou recuperam e decodificam dados a partir da memória.[00135] In some cases, the video coding system 10 illustrated in Figure 1A is only an example and the techniques of the present application can be applied to video coding settings (e.g., video encoding or video decoding) that do not necessarily include any data communication between the encoding and decoding devices. In other examples, data is retrieved from local memory, transmitted over a network, or the like. A video encoding device may encode and store data to memory and/or a video decoding device may retrieve and decode data from memory. In some examples, encoding and decoding are performed by devices that do not communicate with each other, but simply encode data into memory and/or retrieve and decode data from memory.

[00136] Por conveniência de descrição, as modalidades da invenção são descritas neste documento, por exemplo, por referência à Codificação de Vídeo de Alta Eficiência (HEVC) ou ao software de referência de Codificação de Vídeo Versátil (VVC), o padrão de codificação de vídeo de próxima geração desenvolvido pela Equipe de Colaboração Conjunta em Codificação de Vídeo (JCT-VC) do Grupo de Especialistas de Codificação de Vídeo (VCEG) ITU-T e Grupo de Especialistas de Imagem em Movimento (MPEG) ISO / IEC. Uma pessoa versada na técnica entenderá que as modalidades da invenção não estão limitadas a HEVC ou VVC.[00136] For convenience of description, embodiments of the invention are described herein, for example, by reference to High Efficiency Video Coding (HEVC) or Versatile Video Coding (VVC) reference software, the coding standard next-generation video technology developed by the Joint Video Coding Collaboration Team (JCT-VC) of the ITU-T Video Coding Specialist Group (VCEG) and ISO/IEC Moving Picture (MPEG) Specialist Group. A person skilled in the art will understand that embodiments of the invention are not limited to HEVC or VVC.

Codificador e Método de CodificaçãoEncoder and Coding Method

[00137] A Figura 2 mostra um diagrama de blocos esquemático de um codificador de vídeo de exemplo 20 que é configurado para implementar as técnicas do presente pedido. No exemplo da Figura 2, o codificador de vídeo 20 compreende uma entrada 202 (ou interface de entrada 202), uma unidade de cálculo residual 204, uma unidade de processamento de transformada 206, uma unidade de quantização 208, uma unidade de quantização inversa 210 e unidade de processamento de transformada inversa 212, uma unidade de reconstrução 214, uma unidade de filtro de loop 220, um armazenamento temporário de imagens decodificadas (DPB) 230, uma unidade de seleção de modo 260, uma unidade de codificação de entropia 270 e uma saída 272 (ou interface de saída 272). A unidade de seleção de modo 260 pode incluir uma unidade de interpredição 244, uma unidade de intrapredição 254 e uma unidade de particionamento 262. Unidade de interpredição 244 pode incluir uma unidade de estimativa de movimento e uma unidade de compensação de movimento (não mostrada). Um codificador de vídeo 20, como mostrado na Figura 2, também pode ser referido como codificador de vídeo híbrido ou um codificador de vídeo de acordo com um codec de vídeo híbrido.[00137] Figure 2 shows a schematic block diagram of an example video encoder 20 that is configured to implement the techniques of the present application. In the example of Figure 2, the video encoder 20 comprises an input 202 (or input interface 202), a residual calculation unit 204, a transform processing unit 206, a quantization unit 208, an inverse quantization unit 210 and inverse transform processing unit 212, a reconstruction unit 214, a loop filter unit 220, a decoded picture buffer (DPB) 230, a mode selection unit 260, an entropy coding unit 270, and a 272 output (or 272 output interface). The mode selection unit 260 may include an interprediction unit 244, an intraprediction unit 254, and a partitioning unit 262. Interprediction unit 244 may include a motion estimation unit and a motion compensation unit (not shown). . A video encoder 20, as shown in Figure 2, may also be referred to as a hybrid video encoder or a video encoder according to a hybrid video codec.

[00138] A unidade de cálculo residual 204, a unidade de processamento de transformada 206, a unidade de quantização 208, a unidade de seleção de modo 260 podem ser referidas como formando um percurso de sinal direto do codificador 20, enquanto a unidade de quantização inversa 210, a unidade de processamento de transformada inversa 212, a unidade de reconstrução 214, o armazenamento temporário 216, o filtro de loop 220, o armazenamento temporário de imagens decodificadas (DPB) 230, a unidade de interpredição 244 e a unidade de intrapredição 254 podem ser referidos como formando um percurso de sinal inverso do codificador de vídeo 20, em que o percurso de sinal inverso do codificador de vídeo 20 corresponde ao percurso de sinal do decodificador (ver o decodificador de vídeo 30 na Figura 3). A unidade de quantização inversa 210, a unidade de processamento de transformada inversa 212, a unidade de reconstrução 214, o filtro de loop 220, o armazenamento temporário de imagens decodificadas (DPB) 230, a unidade de interpredição 244 e a unidade de intrapredição 254 também são referidas para formar o “decodificador embutido” do codificador de vídeo 20.[00138] The residual calculation unit 204, the transform processing unit 206, the quantization unit 208, the mode selection unit 260 may be referred to as forming a direct signal path of the encoder 20, while the quantization unit inverse 210, the inverse transform processing unit 212, the reconstruction unit 214, the buffer 216, the loop filter 220, the decoded picture buffer (DPB) 230, the interprediction unit 244, and the intraprediction unit 254 may be referred to as forming a reverse signal path of the video encoder 20, wherein the reverse signal path of the video encoder 20 corresponds to the signal path of the decoder (see video decoder 30 in Figure 3). The inverse quantization unit 210, the inverse transform processing unit 212, the reconstruction unit 214, the loop filter 220, the decoded picture buffer (DPB) 230, the interprediction unit 244, and the intraprediction unit 254 are also referred to to form the “built-in decoder” of the video encoder 20.

Imagem e Particionamento de Imagens (Imagens e Blocos)Image and Image Partitioning (Images and Blocks)

[00139] O codificador 20 pode ser configurado para receber, por exemplo, através da entrada 202, uma imagem 17 (ou dados de imagem 17), por exemplo, imagem de uma sequência de imagens formando um vídeo ou sequência de vídeo. A imagem recebida ou dados de imagem também podem ser uma imagem pré- processada 19 (ou dados de imagem pré-processados 19). Por razões de simplicidade, a seguinte descrição refere-se à imagem 17. A imagem 17 também pode ser referida como imagem atual ou imagem a ser codificada (em particular na codificação de vídeo para distinguir a imagem atual de outras imagens, por exemplo, imagens previamente codificadas e / ou decodificadas da mesma sequência de vídeo, ou seja, a sequência de vídeo que também inclui a imagem atual).[00139] The encoder 20 can be configured to receive, for example, through input 202, an image 17 (or image data 17), for example, an image of a sequence of images forming a video or video sequence. The received image or image data may also be a preprocessed image 19 (or preprocessed image data 19). For simplicity, the following description refers to image 17. Image 17 may also be referred to as the current image or image to be encoded (in particular in video coding to distinguish the current image from other images, e.g. images previously encoded and/or decoded from the same video sequence, i.e. the video sequence that also includes the current image).

[00140] Uma imagem (digital) é ou pode ser considerada como um arranjo ou matriz bidimensional de amostras com valores de intensidade. Uma amostra na matriz também pode ser referida como pixel (forma abreviada de elemento de imagem) ou pel. O número de amostras em direção horizontal e vertical (ou eixo) da matriz ou imagem define o tamanho e / ou resolução da imagem. Para a representação da cor, normalmente três componentes de cor são empregados, ou seja, a imagem pode ser representada ou incluir três matrizes de amostra. No formato ou espaço de cor RBG, uma imagem compreende uma matriz de amostra vermelha, verde e azul correspondente. No entanto, na codificação de vídeo, cada pixel é tipicamente representado em um formato ou espaço de cor de luminância e crominância, por exemplo, YCbCr, que compreende um componente de luminância indicado por Y (às vezes também L é usado no lugar) e dois componentes de crominância indicados por Cb e Cr. O componente de luminância (ou luma para abreviar) Y representa o brilho ou intensidade do nível de cinza (por exemplo, como em uma imagem em escala de cinza), enquanto os dois componentes de crominância (ou croma para abreviar) Cb e Cr representam a cromaticidade ou componentes de informações de cor. Consequentemente, uma imagem no formato YCbCr compreende uma matriz de amostra de luminância de valores de amostra de luminância (Y) e duas matrizes de amostra de crominância de valores de crominância (Cb e Cr). As imagens no formato RGB podem ser convertidas ou transformadas no formato YCbCr e vice-versa, o processo também é conhecido como transformação ou conversão de cores. Se uma imagem for monocromática, a imagem pode compreender apenas uma matriz de amostra de luminância. Consequentemente, uma imagem pode ser, por exemplo, uma matriz de amostras de luma em formato monocromático ou uma matriz de amostras de luma e duas matrizes correspondentes de amostras de croma em formato de cor 4: 2: 0, 4: 2: 2 e 4: 4: 4.[00140] A (digital) image is or can be considered as a two-dimensional array or matrix of samples with intensity values. A sample in the array may also be referred to as a pixel (short form of picture element) or pel. The number of samples in horizontal and vertical direction (or axis) of the matrix or image defines the size and/or resolution of the image. For color representation, three color components are typically employed, i.e., the image can be represented or include three sample matrices. In the RBG format or color space, an image comprises a corresponding red, green, and blue sample matrix. However, in video coding, each pixel is typically represented in a luminance and chrominance format or color space, e.g. YCbCr, which comprises a luminance component denoted by Y (sometimes also L is used instead) and two chrominance components indicated by Cb and Cr. The luminance component (or luma for short) Y represents the brightness or intensity of the gray level (e.g. as in a grayscale image), while the two chrominance components (or chroma for short) Cb and Cr represent the chromaticity or components of color information. Consequently, an image in YCbCr format comprises a luminance sample matrix of luminance sample values (Y) and two chrominance sample matrices of chrominance values (Cb and Cr). Images in RGB format can be converted or transformed into YCbCr format and vice versa, the process is also known as color transformation or conversion. If an image is monochromatic, the image may comprise only one luminance sample matrix. Consequently, an image can be, for example, an array of luma samples in monochrome format or an array of luma samples and two corresponding arrays of chroma samples in color format 4:2:0, 4:2:2 and 4:4:4.

[00141] As modalidades do codificador de vídeo 20 podem compreender uma unidade de particionamento de imagem (não representada na Figura 2) configurada para particionar a imagem 17 em uma pluralidade de blocos de imagem 201 (tipicamente não sobrepostos). Esses blocos também podem ser referidos como blocos raiz, macroblocos (H.264 / AVC) ou blocos de árvore de codificação (CTB) ou unidades de árvore de codificação (CTU) (H.265 / HEVC e VVC). A unidade de particionamento de imagem pode ser configurada para usar o mesmo tamanho de bloco para todas as imagens de uma sequência de vídeo e a grade correspondente definindo o tamanho do bloco, ou para alterar o tamanho do bloco entre imagens ou subconjuntos ou grupos de imagens, e particionar cada imagem nos blocos correspondentes.[00141] Embodiments of the video encoder 20 may comprise an image partitioning unit (not depicted in Figure 2) configured to partition the image 17 into a plurality of image blocks 201 (typically non-overlapping). These blocks may also be referred to as root blocks, macroblocks (H.264/AVC), or coding tree blocks (CTB) or coding tree units (CTU) (H.265/HEVC and VVC). The image partitioning unit can be configured to use the same block size for all images in a video sequence and the corresponding grid defining the block size, or to change the block size between images or subsets or groups of images , and partition each image into corresponding blocks.

[00142] Em outras modalidades, o codificador de vídeo pode ser configurado para receber diretamente um bloco 201 da imagem 17, por exemplo, um, vários ou todos os blocos que formam a imagem 17. O bloco de imagem 201 também pode ser referido como bloco de imagem atual ou bloco de imagem a ser codificado.[00142] In other embodiments, the video encoder may be configured to directly receive a block 201 of image 17, e.g., one, several, or all of the blocks forming image 17. Image block 201 may also be referred to as current image block or image block to be encoded.

[00143] Como a imagem 17, o bloco de imagem 201 novamente é ou pode ser considerado como um arranjo ou matriz bidimensional de amostras com valores de intensidade (valores de amostra), embora de menor dimensão do que a imagem 17. Em outras palavras, o bloco 201 pode compreender, por exemplo, uma matriz de amostra (por exemplo, uma matriz de luma no caso de uma imagem monocromática 17, ou uma matriz de luma ou croma no caso de uma imagem colorida) ou três matrizes de amostra (por exemplo, uma matriz de luma e duas de croma no caso de uma imagem colorida 17) ou qualquer outro número e / ou tipo de matrizes dependendo do formato de cor aplicado. O número de amostras em direção horizontal e vertical (ou eixo) do bloco 201 define o tamanho de bloco 201. Consequentemente, um bloco pode, por exemplo, compreender uma matriz MxN (coluna M por linha N) de amostras, ou uma matriz MxN de coeficientes de transformada.[00143] Like image 17, image block 201 again is or may be considered as a two-dimensional array or array of samples with intensity values (sample values), albeit of smaller dimension than image 17. In other words , block 201 may comprise, for example, a sample matrix (e.g., a luma matrix in the case of a monochrome image 17, or a luma or chroma matrix in the case of a color image) or three sample matrices ( for example, one luma and two chroma matrices in the case of a color image 17) or any other number and/or type of matrices depending on the applied color format. The number of samples in horizontal and vertical direction (or axis) of block 201 defines the size of block 201. Consequently, a block may, for example, comprise an MxN matrix (M column by N row) of samples, or an MxN matrix of transform coefficients.

[00144] As modalidades do codificador de vídeo 20, conforme mostrado na Figura 2, podem ser configuradas para codificar a imagem 17 bloco a bloco, por exemplo, a codificação e a predição são realizadas por bloco 201.[00144] Embodiments of video encoder 20, as shown in Figure 2, can be configured to encode image 17 block by block, for example, coding and prediction are performed per block 201.

Cálculo ResidualResidual Calculation

[00145] A unidade de cálculo residual 204 pode ser configurada para calcular um bloco residual 205 (também referido como residual 205) com base no bloco de imagem 201 e um bloco de predição 265 (detalhes adicionais sobre o bloco de predição 265 são fornecidos posteriormente), por exemplo, subtraindo valores de amostra do bloco de predição 265 a partir de valores de amostra do bloco de imagem 201, amostra por amostra (pixel por pixel) para obter o bloco residual 205 no domínio de amostra.[00145] The residual calculation unit 204 may be configured to calculate a residual block 205 (also referred to as residual 205) based on the image block 201 and a prediction block 265 (additional details about the prediction block 265 are provided later ), for example, subtracting sample values from the prediction block 265 from sample values from the image block 201, sample by sample (pixel by pixel) to obtain the residual block 205 in the sample domain.

TransformadaTransformed

[00146] A unidade de processamento de transformada 206 pode ser configurada para aplicar uma transformada, por exemplo, uma transformada discreta de cosseno (DCT) ou transformada discreta de seno (DST), nos valores de amostra do bloco residual 205 para obter coeficientes de transformada 207 em um domínio de transformada. Os coeficientes de transformada 207 também podem ser referidos como coeficientes residuais de transformada e representam o bloco residual 205 no domínio de transformada.[00146] The transform processing unit 206 may be configured to apply a transform, e.g., a discrete cosine transform (DCT) or discrete sine transform (DST), to the sample values of the residual block 205 to obtain coefficients of transform 207 into a transform domain. Transform coefficients 207 may also be referred to as transform residual coefficients and represent the residual block 205 in the transform domain.

[00147] A unidade de processamento de transformada 206 pode ser configurada para aplicar aproximações inteiras de DCT / DST, como as transformadas especificadas para H.265 / HEVC. Comparado a uma transforma de DCT ortogonal, tais aproximações inteiras são tipicamente escalonadas por um determinado fator. A fim de preservar a norma do bloco residual que é processado pelas transformadas direta e inversa, fatores de escalonamento adicionais são aplicados como parte do processo de transformada. Os fatores de escalonamento são normalmente escolhidos com base em certas restrições, como fatores de escalonamento sendo uma potência de dois para operações de desvio, profundidade de bits dos coeficientes de transformada, compensação entre precisão e custos de implementação, etc. Fatores de escalonamento específicos são, por exemplo, especificados para a transformada inversa, por exemplo, pela unidade de processamento de transformada inversa 212 (e a transformada inversa correspondente, por exemplo, pela unidade de processamento de transformada inversa 312 no decodificador de vídeo 30) e fatores de escalonamento correspondentes para a transformação direta, por exemplo, pela unidade de processamento de transformada 206, em um codificador 20 podem ser especificados consequentemente.[00147] The transform processing unit 206 can be configured to apply integer approximations of DCT/DST, such as the transforms specified for H.265/HEVC. Compared to an orthogonal DCT transform, such integer approximations are typically scaled by a certain factor. In order to preserve the norm of the residual block that is processed by the forward and inverse transforms, additional scaling factors are applied as part of the transform process. Scaling factors are typically chosen based on certain constraints, such as scaling factors being a power of two for branch operations, bit depth of transform coefficients, tradeoff between accuracy and implementation costs, etc. Specific scaling factors are, for example, specified for the inverse transform, for example, by the inverse transform processing unit 212 (and the corresponding inverse transform, for example, by the inverse transform processing unit 312 in the video decoder 30). and corresponding scaling factors for direct transformation, for example by transform processing unit 206, in an encoder 20 may be specified accordingly.

[00148] As modalidades do codificador de vídeo 20 (respectivamente, unidade de processamento de transformada 206) podem ser configuradas para emitir parâmetros de transformada, por exemplo, um tipo de transformada ou transformadas, por exemplo, diretamente ou codificados ou comprimidos através da unidade de codificação de entropia 270, de modo que, por exemplo, o decodificador de vídeo 30 pode receber e usar os parâmetros de transformada para decodificação.[00148] Embodiments of the video encoder 20 (respectively, transform processing unit 206) may be configured to output transform parameters, e.g., a type of transform or transforms, e.g., directly or encoded or compressed through the unit entropy coding 270, such that, for example, video decoder 30 can receive and use the transform parameters for decoding.

QuantizaçãoQuantization

[00149] A unidade de quantização 208 pode ser configurada para quantizar os coeficientes de transformada 207 para obter coeficientes quantizados 209, por exemplo, aplicando quantização escalar ou quantização vetorial. Os coeficientes quantizados 209 também podem ser referidos como coeficientes de transformada quantizados 209 ou coeficientes residuais quantizados 209.[00149] The quantization unit 208 can be configured to quantize the transform coefficients 207 to obtain quantized coefficients 209, for example, applying scalar quantization or vector quantization. Quantized coefficients 209 may also be referred to as quantized transform coefficients 209 or quantized residual coefficients 209.

[00150] O processo de quantização pode reduzir a profundidade de bits associada a alguns ou todos os coeficientes de transformada 207. Por exemplo, um coeficiente de transformada de n bits pode ser arredondado para baixo para um coeficiente de transformada de m bits durante a quantização, onde n é maior do que m. O grau de quantização pode ser modificado ajustando um parâmetro de quantização (QP). Por exemplo, para a quantização escalar, escalonamento diferente pode ser aplicado para alcançar uma quantização mais fina ou mais grosseira. Tamanhos de passo de quantização menores correspondem a quantização mais fina, enquanto tamanhos de passo de quantização maiores correspondem a quantização mais grosseira. O tamanho de passo de quantização aplicável pode ser indicado por um parâmetro de quantização (QP). O parâmetro de quantização pode, por exemplo, ser um índice para um conjunto predefinido de tamanhos de passo de quantização aplicáveis. Por exemplo, pequenos parâmetros de quantização podem corresponder a quantização fina (tamanhos de passo de quantização pequenos) e parâmetros de quantização grandes podem corresponder a quantização grosseira (tamanhos de passo de quantização grandes) ou vice-versa. A quantização pode incluir a divisão por um tamanho de passo de quantização e uma desquantização correspondente e / ou inversa, por exemplo, por unidade de quantização inversa 210, pode incluir multiplicação pelo tamanho de passo de quantização. As modalidades de acordo com alguns padrões, por exemplo, HEVC, podem ser configuradas para usar um parâmetro de quantização para determinar o tamanho de passo de quantização. Geralmente, o tamanho de passo de quantização pode ser calculado com base em um parâmetro de quantização usando uma aproximação de ponto fixo de uma equação incluindo divisão. Fatores de escalonamento adicionais podem ser introduzidos para quantização e desquantização para restaurar a norma do bloco residual, que pode ser modificada por causa do escalonamento usado na aproximação de ponto fixo da equação para o tamanho de passo de quantização e parâmetro de quantização. Em uma implementação de exemplo, o escalonamento da transformada inversa e a desquantização podem ser combinados. Alternativamente, tabelas de quantização personalizadas podem ser usadas e sinalizadas a partir de um codificador para um decodificador, por exemplo, em um fluxo de bits. A quantização é uma operação com perdas, em que a perda aumenta com o aumento dos tamanhos de passo de quantização.[00150] The quantization process may reduce the bit depth associated with some or all of the transform coefficients 207. For example, an n-bit transform coefficient may be rounded down to an m-bit transform coefficient during quantization , where n is greater than m. The degree of quantization can be modified by adjusting a quantization parameter (QP). For example, for scalar quantization, different scaling can be applied to achieve finer or coarser quantization. Smaller quantization step sizes correspond to finer quantization, while larger quantization step sizes correspond to coarser quantization. The applicable quantization step size can be indicated by a quantization parameter (QP). The quantization parameter may, for example, be an index for a predefined set of applicable quantization step sizes. For example, small quantization parameters may correspond to fine quantization (small quantization step sizes) and large quantization parameters may correspond to coarse quantization (large quantization step sizes) or vice versa. Quantization may include division by a quantization step size and a corresponding and/or inverse dequantization, e.g., by inverse quantization unit 210, may include multiplication by the quantization step size. Embodiments according to some standards, e.g., HEVC, may be configured to use a quantization parameter to determine the quantization step size. Generally, the quantization step size can be calculated based on a quantization parameter using a fixed-point approximation of an equation including division. Additional scaling factors can be introduced for quantization and dequantization to restore the residual block norm, which can be modified because of the scaling used in the fixed-point approximation of the equation for the quantization step size and quantization parameter. In an example implementation, inverse transform scaling and dequantization can be combined. Alternatively, custom quantization tables can be used and signaled from an encoder to a decoder, for example in a bitstream. Quantization is a lossy operation, where the loss increases with increasing quantization step sizes.

[00151] As modalidades do codificador de vídeo 20 (respectivamente, unidade de quantização 208) podem ser configuradas para emitir parâmetros de quantização (QP), por exemplo, diretamente ou codificados por meio da unidade de codificação de entropia 270, de modo que, por exemplo, o decodificador de vídeo 30 possa receber e aplicar os parâmetros de quantização para decodificação.[00151] Embodiments of the video encoder 20 (respectively, quantization unit 208) may be configured to output quantization parameters (QP), for example, directly or encoded via the entropy coding unit 270, such that, for example, video decoder 30 can receive and apply quantization parameters for decoding.

Quantização InversaInverse Quantization

[00152] A unidade de quantização inversa 210 é configurada para aplicar a quantização inversa da unidade de quantização 208 nos coeficientes quantizados para obter coeficientes desquantizados 211, por exemplo, aplicando o inverso do esquema de quantização aplicado pela unidade de quantização 208 com base ou usando o mesmo tamanho de passo de quantização como a unidade de quantização 208. Os coeficientes desquantizados 211 também podem ser referidos como coeficientes residuais desquantizados 211 e correspondem - embora normalmente não sejam idênticos aos coeficientes de transformada devido à perda por quantização - aos coeficientes de transformada 207.[00152] The inverse quantization unit 210 is configured to apply the inverse quantization of the quantization unit 208 on the quantized coefficients to obtain dequantized coefficients 211, for example, by applying the inverse of the quantization scheme applied by the quantization unit 208 based on or using the same quantization step size as the quantization unit 208. The dequantized coefficients 211 may also be referred to as dequantized residual coefficients 211 and correspond - although normally not identical to the transform coefficients due to quantization loss - to the transform coefficients 207 .

Transformada InversaInverse Transform

[00153] A unidade de processamento de transformada inversa 212 é configurada para aplicar a transformada inversa da transformada aplicada pela unidade de processamento de transformada 206, por exemplo, uma transformada discreta de cosseno inversa (DCT) ou transformada discreta de seno inversa (DST) ou outras transformadas inversas, para obter um bloco residual 213 (ou coeficientes desquantizados correspondentes 213) no domínio da amostra. O bloco residual reconstruído 213 também pode ser referido como bloco de transformada (reconstruído) 213.[00153] The inverse transform processing unit 212 is configured to apply the inverse transform of the transform applied by the transform processing unit 206, e.g., an inverse discrete cosine transform (DCT) or inverse discrete sine transform (DST). or other inverse transforms, to obtain a residual block 213 (or corresponding dequantized coefficients 213) in the sample domain. The reconstructed residual block 213 may also be referred to as the (reconstructed) transform block 213.

ReconstruçãoReconstruction

[00154] A unidade de reconstrução 214 (por exemplo, adicionador ou somador 214) é configurada para adicionar o bloco de transformada (reconstruído) 213 (isto é, bloco residual reconstruído 213) ao bloco de predição 265 para obter um bloco reconstruído 215 no domínio de amostra, por exemplo, adicionando - amostra por amostra - os valores de amostra do bloco residual reconstruído 213 e os valores de amostra do bloco de predição 265.[00154] The reconstruction unit 214 (e.g., adder or adder 214) is configured to add the transform (reconstructed) block 213 (i.e., reconstructed residual block 213) to the prediction block 265 to obtain a reconstructed block 215 in the sample domain, for example, adding - sample by sample - the sample values from the reconstructed residual block 213 and the sample values from the prediction block 265.

FiltragemFiltering

[00155] A unidade de filtro de loop 220 (ou "filtro de loop" para abreviar 220) é configurada para filtrar o bloco reconstruído 215 para obter um bloco filtrado 221 ou, em geral, para filtrar amostras reconstruídas para obter amostras filtradas. A unidade de filtro de loop é, por exemplo, configurada para suavizar as transições de pixel, ou de outra forma melhorar a qualidade de vídeo. A unidade de filtro de loop 220 pode compreender um ou mais filtros de loop, como um filtro de desblocagem, um filtro de deslocamento adaptativo de amostra (SAO) ou um ou mais outros filtros, por exemplo, um filtro bilateral, um filtro de loop adaptativo (ALF), um filtro de nitidez, uns filtros de suavização, ou uns filtros colaborativos, ou qualquer combinação dos mesmos. Embora a unidade de filtro de loop 220 seja mostrada na Figura 2 como sendo um filtro de loop, em outras configurações, a unidade de filtro de loop 220 pode ser implementada como um filtro pós-loop. O bloco filtrado 221 também pode ser referido como bloco reconstruído filtrado 221. Na presente divulgação, o filtro de loop aprimorado, particularmente o aparelho de filtro de desblocagem aprimorado é fornecido e será introduzido em detalhes depois.[00155] The loop filter unit 220 (or "loop filter" for short 220) is configured to filter the reconstructed block 215 to obtain a filtered block 221 or, in general, to filter reconstructed samples to obtain filtered samples. The loop filter unit is, for example, configured to smooth pixel transitions, or otherwise improve video quality. The loop filter unit 220 may comprise one or more loop filters, such as an unblocking filter, an adaptive sample offset (SAO) filter, or one or more other filters, e.g., a bilateral filter, a loop filter. adaptive filter (ALF), a sharpening filter, smoothing filters, or collaborative filters, or any combination thereof. Although the loop filter unit 220 is shown in Figure 2 as being a loop filter, in other configurations, the loop filter unit 220 may be implemented as a post-loop filter. The filtered block 221 may also be referred to as the filtered reconstructed block 221. In the present disclosure, the improved loop filter, particularly the improved deblocking filter apparatus is provided and will be introduced in detail later.

[00156] As modalidades do codificador de vídeo 20 (respectivamente, unidade de filtro de loop 220) podem ser configuradas para emitir parâmetros de filtro de loop (tais como informações de deslocamento adaptativo de amostra), por exemplo, diretamente ou codificados através da unidade de codificação de entropia 270, de modo que, por exemplo, um decodificador 30 pode receber e aplicar os mesmos parâmetros de filtro de loop ou respectivos filtros de loop para decodificação.[00156] Embodiments of the video encoder 20 (respectively, loop filter unit 220) may be configured to output loop filter parameters (such as adaptive sample offset information), for example, directly or encoded through the unit of entropy coding 270, such that, for example, a decoder 30 may receive and apply the same loop filter parameters or respective loop filters for decoding.

Armazenamento Temporário de Imagens DecodificadasTemporary Storage of Decoded Images

[00157] O armazenamento temporário de imagens decodificadas (DPB) 230 pode ser uma memória que armazena imagens de referência, ou em dados de imagem de referência geral, para codificar dados de vídeo pelo codificador de vídeo 20. O DPB 230 pode ser formado por qualquer um de uma variedade de dispositivos de memória, como memória dinâmica de acesso aleatório (DRAM), incluindo DRAM síncrona (SDRAM), RAM magnetorresistiva (MRAM), RAM resistiva (RRAM) ou outros tipos de dispositivos de memória. O armazenamento temporário de imagens decodificadas (DPB) 230 pode ser configurado para armazenar um ou mais blocos filtrados 221. O armazenamento temporário de imagens decodificadas 230 pode ser adicionalmente configurado para armazenar outros blocos previamente filtrados, por exemplo, blocos previamente reconstruídos e filtrados 221, da mesma imagem atual ou de diferentes imagens, por exemplo, imagens previamente reconstruídas, e podem fornecer imagens completas previamente reconstruídas, ou seja, decodificadas (e blocos de referência e amostras correspondentes) e / ou uma imagem atual parcialmente reconstruída (e blocos de referência e amostras correspondentes), por exemplo, para interpredição. O armazenamento temporário de imagens decodificadas (DPB) 230 pode também ser configurado para armazenar um ou mais blocos reconstruídos não filtrados 215 ou, em geral, amostras reconstruídas não filtradas, por exemplo, se o bloco reconstruído 215 não for filtrado pela unidade de filtro de loop 220 ou qualquer outra versão processada adicional dos blocos reconstruídos ou amostras.[00157] The decoded picture temporary store (DPB) 230 may be a memory that stores reference pictures, or in general reference picture data, for encoding video data by the video encoder 20. The DPB 230 may be formed by any of a variety of memory devices, such as dynamic random access memory (DRAM), including synchronous DRAM (SDRAM), magnetoresistive RAM (MRAM), resistive RAM (RRAM), or other types of memory devices. The decoded picture buffer (DPB) 230 may be configured to store one or more filtered blocks 221. The decoded picture buffer 230 may be further configured to store other previously filtered blocks, e.g., previously reconstructed and filtered blocks 221. from the same current image or from different images, e.g. previously reconstructed images, and can provide complete previously reconstructed, i.e. decoded, images (and corresponding reference blocks and samples) and/or a partially reconstructed current image (and reference blocks and corresponding samples), for example, for interprediction. The decoded picture buffer (DPB) 230 may also be configured to store one or more unfiltered reconstructed blocks 215 or, in general, unfiltered reconstructed samples, for example, if the reconstructed block 215 is not filtered by the image filter unit. loop 220 or any other additional processed version of the reconstructed blocks or samples.

Seleção de Modo (Particionamento e Predição)Mode Selection (Partitioning and Prediction)

[00158] A unidade de seleção de modo 260 compreende unidade de particionamento 262, unidade de interpredição 244 e unidade de intrapredição 254 e é configurada para receber ou obter dados de imagem original, por exemplo, um bloco original 201 (bloco atual 201 da imagem atual 17), e dados de imagem reconstruída, por exemplo, amostras reconstruídas filtradas e / ou não filtradas ou blocos da mesma imagem (atual) e / ou de uma ou uma pluralidade de imagens previamente decodificadas, por exemplo, a partir do armazenamento temporário de imagens decodificadas 230 ou outros armazenamentos temporários (por exemplo, armazenamento temporário de linha, não mostrado). Os dados de imagem reconstruída são usados como dados de imagem de referência para predição, por exemplo, interpredição ou intrapredição, para obter um bloco de predição 265 ou preditor 265.[00158] The mode selection unit 260 comprises partitioning unit 262, interprediction unit 244 and intraprediction unit 254 and is configured to receive or obtain original image data, for example, an original block 201 (current block 201 of the image current 17), and reconstructed image data, e.g. filtered and/or unfiltered reconstructed samples or blocks of the same (current) image and/or of one or a plurality of previously decoded images, e.g. from temporary storage of decoded images 230 or other temporary stores (e.g., line temporary storage, not shown). The reconstructed image data is used as reference image data for prediction, e.g., interprediction or intraprediction, to obtain a prediction block 265 or predictor 265.

[00159] A unidade de seleção de modo 260 pode ser configurada para determinar ou selecionar um particionamento para um modo de predição de bloco atual (incluindo nenhum particionamento) e um modo de predição (por exemplo, um modo intra ou interpredição) e gerar um bloco de predição correspondente 265, que é usado para o cálculo do bloco residual 205 e para a reconstrução do bloco reconstruído 215.[00159] The mode selection unit 260 may be configured to determine or select a partitioning for a current block prediction mode (including no partitioning) and a prediction mode (e.g., an intra- or inter-prediction mode) and generate a corresponding prediction block 265, which is used for the calculation of the residual block 205 and for the reconstruction of the reconstructed block 215.

[00160] As modalidades da unidade de seleção de modo 260 podem ser configuradas para selecionar o particionamento e o modo de predição (por exemplo, daqueles suportados por ou disponíveis para a unidade de seleção de modo 260), que fornecem a melhor combinação ou em outras palavras o residual mínimo (residual mínimo significa melhor compressão para transmissão ou armazenamento), ou uma sobrecarga de sinalização mínima (sobrecarga de sinalização mínima significa melhor compressão para transmissão ou armazenamento), ou que considera ou equilibra ambos. A unidade de seleção de modo 260 pode ser configurada para determinar o modo de particionamento e predição com base na otimização de distorção de taxa (RDO), ou seja, selecionar o modo de predição que fornece uma distorção de taxa mínima. Termos como "melhor", "mínimo", "ótimo" etc., neste contexto, não se referem necessariamente a um "melhor" geral, "mínimo", "ótimo", etc., mas também podem referir-se ao cumprimento de um critério de terminação ou seleção como um valor excedendo ou caindo abaixo de uma fronteira ou outras restrições levando potencialmente a uma "seleção subótima", mas reduzindo a complexidade e o tempo de processamento.[00160] Embodiments of the mode selection unit 260 may be configured to select the partitioning and prediction mode (e.g., from those supported by or available to the mode selection unit 260) that provide the best combination or in in other words the minimum residual (minimum residual means best compression for transmission or storage), or a minimum signaling overhead (minimum signaling overhead means best compression for transmission or storage), or which considers or balances both. The mode selection unit 260 may be configured to determine the partitioning and prediction mode based on rate distortion optimization (RDO), i.e., selecting the prediction mode that provides a minimum rate distortion. Terms such as "best", "minimum", "optimal", etc. in this context do not necessarily refer to an overall "best", "minimum", "optimal", etc., but may also refer to the fulfillment of a termination or selection criterion such as a value exceeding or falling below a threshold or other constraints potentially leading to "suboptimal selection" but reducing complexity and processing time.

[00161] Em outras palavras, a unidade de particionamento 262 pode ser configurada para particionar o bloco 201 em partições de bloco menores ou sub-blocos (que novamente formam blocos), por exemplo, iterativamente usando particionamento de árvore quádrupla (QT), particionamento de árvore binária (BT) ou particionamento de árvore tripla (TT) ou qualquer combinação dos mesmos, e para realizar, por exemplo, a predição para cada uma das partições de bloco ou sub-blocos, em que a seleção de modo compreende a seleção da estrutura de árvore do bloco particionado 201 e o os modos de predição são aplicados a cada uma das partições de bloco ou sub-blocos.[00161] In other words, the partitioning unit 262 can be configured to partition the block 201 into smaller block partitions or sub-blocks (which again form blocks), for example, iteratively using quad-tree (QT) partitioning, of binary tree (BT) or triple tree (TT) partitioning or any combination thereof, and to perform, for example, prediction for each of the block partitions or sub-blocks, wherein the mode selection comprises the selection of the tree structure of the partitioned block 201 and the prediction modes are applied to each of the block partitions or sub-blocks.

[00162] A seguir, o particionamento (por exemplo, por unidade de particionamento 260) e processamento de predição (por unidade de interpredição 244 e unidade de intrapredição 254) realizados por um codificador de vídeo de exemplo 20 serão explicados em mais detalhes.[00162] In the following, the partitioning (e.g., by partitioning unit 260) and prediction processing (by interprediction unit 244 and intraprediction unit 254) performed by an example video encoder 20 will be explained in more detail.

ParticionamentoPartitioning

[00163] A unidade de particionamento 262 pode particionar (ou separar) um bloco atual 201 em partições menores, por exemplo, blocos menores de tamanho quadrado ou retangular. Esses blocos menores (que também podem ser chamados de sub-blocos) podem ser particionados em partições ainda menores. Isso também é referido como particionamento de árvore ou particionamento de árvore hierárquica, em que um bloco raiz, por exemplo, no nível de árvore raiz 0 (nível de hierarquia 0, profundidade 0), pode ser particionado recursivamente, por exemplo, particionado em dois ou mais blocos de um próximo nível de árvore inferior, por exemplo, nós no nível de árvore 1 (nível de hierarquia 1, profundidade 1), em que esses blocos podem ser novamente particionados em dois ou mais blocos de um próximo nível inferior, por exemplo, nível de árvore 2 (nível de hierarquia 2, profundidade 2), etc. até que o particionamento seja encerrado, por exemplo, porque um critério de encerramento é atendido, por exemplo, uma profundidade máxima da árvore ou tamanho mínimo do bloco é alcançado. Os blocos que não são particionados posteriormente também são chamados de blocos-folha ou nós-folha da árvore. Uma árvore que usa particionamento em duas partições é chamada de árvore binária (BT), uma árvore que usa particionamento em três partições é chamada de árvore ternária (TT), e uma árvore que usa particionamento em quatro partições é chamada de árvore quádrupla (QT). Na presente divulgação, durante a interpredição, o bloco de codificação é dividido em blocos de transformada quando ferramenta de codificação de SBT é aplicada.[00163] The partitioning unit 262 may partition (or separate) a current block 201 into smaller partitions, e.g., smaller blocks of square or rectangular size. These smaller blocks (which can also be called sub-blocks) can be partitioned into even smaller partitions. This is also referred to as tree partitioning or hierarchical tree partitioning, where a root block, for example at root tree level 0 (hierarchy level 0, depth 0), can be recursively partitioned, e.g. partitioned into two or more blocks of a next lower tree level, for example, nodes at tree level 1 (hierarchy level 1, depth 1), where these blocks may be further partitioned into two or more blocks of a next lower level, e.g. example, tree level 2 (hierarchy level 2, depth 2), etc. until partitioning is terminated, for example because a termination criterion is met, for example, a maximum tree depth or minimum block size is reached. Blocks that are not further partitioned are also called leaf blocks or leaf nodes of the tree. A tree that uses two-partitioning is called a binary tree (BT), a tree that uses three-partitioning is called a ternary tree (TT), and a tree that uses four-partitioning is called a quadruple tree (QT). ). In the present disclosure, during interprediction, the coding block is divided into transform blocks when SBT coding tool is applied.

[00164] Como mencionado antes, o termo "bloco", conforme usado neste documento, pode ser uma porção, em particular uma porção quadrada ou retangular, de uma imagem. Com referência, por exemplo, a HEVC e VVC, o bloco pode ser ou corresponder a uma unidade de árvore de codificação (CTU), uma unidade de codificação (CU), uma unidade de predição (PU), e uma unidade de transformada (TU) e / ou aos blocos correspondentes, por exemplo, um bloco de árvore de codificação (CTB), um bloco de codificação (CB), um bloco de transformada (TB) ou bloco de predição (PB).[00164] As mentioned before, the term "block", as used herein, may be a portion, in particular a square or rectangular portion, of an image. With reference to, for example, HEVC and VVC, the block may be or correspond to a coding tree unit (CTU), a coding unit (CU), a prediction unit (PU), and a transform unit ( TU) and/or the corresponding blocks, for example, a coding tree block (CTB), a coding block (CB), a transform block (TB) or prediction block (PB).

[00165] Por exemplo, uma unidade de árvore de codificação (CTU) pode ser ou compreender um CTB de amostras de luma, dois CTBs correspondentes de amostras de croma de uma imagem que tem três matrizes de amostra ou um CTB de amostras de uma imagem monocromática ou uma imagem que é codificada usando três planos de cores separados e estruturas de sintaxe usadas para codificar as amostras. Correspondentemente, um bloco de árvore de codificação (CTB) pode ser um bloco NxN de amostras para algum valor de N de modo que a divisão de um componente em CTBs seja um particionamento. Uma unidade de codificação (CU) pode ser ou compreender um bloco de codificação de amostras de luma, dois blocos de codificação correspondentes de amostras de croma de uma imagem que tem três matrizes de amostra ou um bloco de codificação de amostras de uma imagem monocromática ou uma imagem que é codificada usando três planos de cores separados e estruturas de sintaxe usadas para codificar as amostras. Correspondentemente, um bloco de codificação (CB) pode ser um bloco MxN de amostras para alguns valores de M e N de modo que a divisão de um CTB em blocos de codificação seja um particionamento.[00165] For example, a coding tree unit (CTU) may be or comprise a CTB of luma samples, two corresponding CTBs of chroma samples of an image having three sample matrices, or a CTB of samples of an image monochrome or an image that is encoded using three separate color planes and syntax structures used to encode the samples. Correspondingly, a coding tree block (CTB) can be an NxN block of samples for some value of N such that dividing a component into CTBs is a partitioning. A coding unit (CU) may be or comprise a coding block of luma samples, two corresponding coding blocks of chroma samples of an image having three sample matrices, or a coding block of samples of a monochrome image or an image that is encoded using three separate color planes and syntax structures used to encode the samples. Correspondingly, a coding block (CB) can be an MxN block of samples for some values of M and N so that dividing a CTB into coding blocks is a partitioning.

[00166] Em modalidades, por exemplo, de acordo com HEVC, uma unidade de árvore de codificação (CTU) pode ser separada em CUs usando uma estrutura de árvore quádrupla denotada como árvore de codificação. A decisão de codificar uma área de imagem usando predição interimagem (temporal) ou intraimagem (espacial) é feita no nível de CU. Cada CU pode ser separada em uma, duas ou quatro PUs de acordo com o tipo de separação de PU. Dentro de uma PU, o mesmo processo de predição é aplicado e as informações relevantes são transmitidas para o decodificador com base na PU. Depois de obter o bloco residual aplicando o processo de predição com base no tipo de separação de PU, uma CU pode ser particionada em unidades de transformada (TUs) de acordo com outra estrutura de árvore quádrupla semelhante à árvore de codificação para a CU.[00166] In embodiments, for example, according to HEVC, a coding tree unit (CTU) can be separated into CUs using a quadruple tree structure denoted as coding tree. The decision to code an image area using inter-image (temporal) or intra-image (spatial) prediction is made at the CU level. Each CU can be separated into one, two or four PUs according to the PU separation type. Within a PU, the same prediction process is applied and relevant information is transmitted to the decoder based on the PU. After obtaining the residual block by applying the prediction process based on the PU separation type, a CU can be partitioned into transform units (TUs) according to another quad-tree structure similar to the coding tree for the CU.

[00167] Em modalidades, por exemplo, de acordo com o padrão de codificação de vídeo mais recente atualmente em desenvolvimento, que é referido como Codificação de Vídeo Versátil (VVC), um particionamento de árvore quádrupla e árvore binária (QTBT) é usado para particionar um bloco de codificação. Na estrutura de bloco de QTBT, uma CU pode ter uma forma quadrada ou retangular. Por exemplo, uma unidade de árvore de codificação (CTU) é primeiro particionada por uma estrutura de árvore quádrupla. Os nós folhas de árvore quádrupla são posteriormente particionados por uma estrutura de árvore binária ou ternária (ou tripla). Os nós folhas de árvore de particionamento são chamados de unidades de codificação (CUs), e essa segmentação é usada para processamento de predição e transformada sem qualquer particionamento adicional. Isso significa que a CU, PU e TU têm o mesmo tamanho de bloco na estrutura de bloco de codificação de QTBT. Em paralelo, múltiplas partições, por exemplo, partição de árvore tripla também foi proposto ser usada em conjunto com a estrutura de bloco de QTBT.[00167] In embodiments, for example, in accordance with the latest video coding standard currently under development, which is referred to as Versatile Video Coding (VVC), a quad-tree and binary tree (QTBT) partitioning is used to partition a coding block. In the QTBT block structure, a CU can have a square or rectangular shape. For example, a coding tree unit (CTU) is first partitioned by a quad-tree structure. Quad tree leaf nodes are further partitioned by a binary or ternary (or triple) tree structure. The leaf nodes of the partitioning tree are called coding units (CUs), and this segmentation is used for prediction and transform processing without any additional partitioning. This means that the CU, PU, and TU have the same block size in the QTBT coding block structure. In parallel, multiple partitions, e.g., triple-tree partition has also been proposed to be used in conjunction with the block structure of QTBT.

[00168] Em um exemplo, a unidade de seleção de modo 260 do codificador de vídeo 20 pode ser configurada para realizar qualquer combinação das técnicas de particionamento aqui descritas.[00168] In one example, the mode selection unit 260 of the video encoder 20 may be configured to perform any combination of the partitioning techniques described herein.

[00169] Conforme descrito acima, o codificador de vídeo 20 é configurado para determinar ou selecionar o melhor ou um modo de predição ideal a partir de um conjunto de modos de predição (predeterminados). O conjunto de modos de predição pode compreender, por exemplo, modos de intrapredição e / ou modos de interpredição.[00169] As described above, video encoder 20 is configured to determine or select the best or optimal prediction mode from a set of (predetermined) prediction modes. The set of prediction modes may comprise, for example, intraprediction modes and/or interprediction modes.

IntraprediçãoIntraprediction

[00170] O conjunto de modos de intrapredição pode compreender 35 modos de intrapredição diferentes, por exemplo, modos não direcionais como modo DC (ou médio) e modo planar, ou modos direcionais, por exemplo, conforme definido em HEVC, ou pode compreender 67 modos de intrapredição, por exemplo, modos não direcionais, como modo DC (ou médio) e modo planar, ou modos direcionais, por exemplo, conforme definido para VVC.[00170] The set of intraprediction modes may comprise 35 different intraprediction modes, for example, non-directional modes such as DC (or average) mode and planar mode, or directional modes, for example, as defined in HEVC, or may comprise 67 intraprediction modes, e.g. non-directional modes such as DC (or mean) mode and planar mode, or directional modes e.g. as defined for VVC.

[00171] A unidade de intrapredição 254 é configurada para usar amostras reconstruídas de blocos vizinhos da mesma imagem atual para gerar um bloco de intrapredição 265 de acordo com um modo de intrapredição do conjunto de modos de intrapredição.[00171] The intraprediction unit 254 is configured to use reconstructed samples from neighboring blocks of the same current image to generate an intraprediction block 265 according to an intraprediction mode from the set of intraprediction modes.

[00172] A unidade de intrapredição 254 (ou, em geral, a unidade de seleção de modo 260) é adicionalmente configurada para emitir parâmetros de intrapredição (ou em informações gerais indicativas do modo de intrapredição selecionado para o bloco) para a unidade de codificação de entropia 270 em forma de elementos de sintaxe 266 para inclusão nos dados de imagem codificados 271 (correspondem a dados de imagem codificados 21 da Figura 1A), de modo que, por exemplo, o decodificador de vídeo 30 possa receber e usar os parâmetros de predição para decodificação.[00172] The intraprediction unit 254 (or, in general, the mode selection unit 260) is further configured to output intraprediction parameters (or in general information indicative of the intraprediction mode selected for the block) to the coding unit of entropy 270 in the form of syntax elements 266 for inclusion in the encoded image data 271 (corresponding to encoded image data 21 of Figure 1A), so that, for example, the video decoder 30 can receive and use the parameters of prediction for decoding.

InterprediçãoInterpretation

[00173] O conjunto de (ou possíveis) modos de interpredição depende das imagens de referência disponíveis (ou seja, imagens anteriores pelo menos parcialmente decodificadas, por exemplo, armazenadas em DBP 230) e outros parâmetros de interpredição, por exemplo, se a imagem de referência inteira ou apenas uma parte, por exemplo, uma área de janela de busca em torno da área do bloco atual, da imagem de referência é usada para pesquisar o melhor bloco de referência correspondente, e / ou por exemplo, se a interpolação de pixel é aplicada, por exemplo, interpolação de meio / semi-pel, e / ou interpolação de um quarto de pel, ou não.[00173] The set of (or possible) interprediction modes depends on the available reference images (i.e., previous at least partially decoded images, e.g., stored in DBP 230) and other interprediction parameters, e.g., whether the image entire reference image or just a part, for example a search pane area around the current block area, of the reference image is used to search for the best matching reference block, and/or for example if interpolation of pixel is applied, for example, half/semi-pel interpolation, and/or quarter-pel interpolation, or not.

[00174] Adicional aos modos de predição acima, o modo de salto e / ou o modo direto podem ser aplicados.[00174] In addition to the above prediction modes, skip mode and/or direct mode may be applied.

[00175] A unidade de interpredição 244 pode incluir uma unidade de estimativa de movimento (ME) e uma unidade de compensação de movimento (MC) (ambas não mostradas na Figura 2). A unidade de estimativa de movimento pode ser configurada para receber ou obter o bloco de imagem 201 (bloco de imagem 201 atual da imagem 17 atual) e uma imagem decodificada 231, ou pelo menos um ou uma pluralidade de blocos previamente reconstruídos, por exemplo, blocos reconstruídos de um ou uma pluralidade de outras / diferentes imagens previamente decodificadas 231, para estimativa de movimento. Por exemplo, uma sequência de vídeo pode compreender a imagem atual e as imagens previamente decodificadas 231, ou em outras palavras, a imagem atual e as imagens previamente decodificadas 231 podem fazer parte de ou formar uma sequência de imagens formando uma sequência de vídeo.[00175] The interprediction unit 244 may include a motion estimation unit (ME) and a motion compensation unit (MC) (both not shown in Figure 2). The motion estimation unit may be configured to receive or obtain image block 201 (current image block 201 of current image 17) and a decoded image 231, or at least one or a plurality of previously reconstructed blocks, e.g. reconstructed blocks of one or a plurality of other/different previously decoded images 231, for motion estimation. For example, a video sequence may comprise the current image and previously decoded images 231, or in other words, the current image and previously decoded images 231 may be part of or form a sequence of images forming a video sequence.

[00176] O codificador 20 pode, por exemplo, ser configurado para selecionar um bloco de referência a partir de uma pluralidade de blocos de referência das mesmas ou diferentes imagens da pluralidade de outras imagens e fornecer uma imagem de referência (ou índice de imagem de referência) e / ou um deslocamento (deslocamento espacial) entre a posição (coordenadas x, y) do bloco de referência e a posição do bloco atual como parâmetros de interpredição para a unidade de estimativa de movimento. Este deslocamento também é chamado de vetor de movimento (MV).[00176] Encoder 20 may, for example, be configured to select a reference block from a plurality of reference blocks of the same or different images from the plurality of other images and provide a reference image (or image index of reference) and/or an offset (spatial offset) between the position (x, y coordinates) of the reference block and the current block position as interprediction parameters for the motion estimation unit. This displacement is also called motion vector (MV).

[00177] A unidade de compensação de movimento é configurada para obter, por exemplo, receber, um parâmetro de interpredição e realizar a interpredição com base em ou usando o parâmetro de interpredição para obter um bloco de interpredição 265. A compensação de movimento, realizada pela unidade de compensação de movimento, pode envolver buscar ou gerar o bloco de predição com base no vetor de movimento / de bloco determinado pela estimativa de movimento, possivelmente realizando interpolações para precisão de subpixel. A filtragem de interpolação pode gerar amostras de pixel adicionais a partir de amostras de pixel conhecidas, aumentando assim potencialmente o número de blocos de predição candidatos que podem ser usados para codificar um bloco de imagem. Ao receber o vetor de movimento para a PU do bloco de imagem atual, a unidade de compensação de movimento pode localizar o bloco de predição para o qual o vetor de movimento aponta em uma das listas de imagens de referência.[00177] The motion compensation unit is configured to obtain, for example, receive, an interprediction parameter and perform the interprediction based on or using the interprediction parameter to obtain an interprediction block 265. Motion compensation, performed by the motion compensation unit, may involve fetching or generating the prediction block based on the motion/block vector determined by motion estimation, possibly performing interpolations for subpixel accuracy. Interpolation filtering can generate additional pixel samples from known pixel samples, thereby potentially increasing the number of candidate prediction blocks that can be used to encode an image block. Upon receiving the motion vector for the PU from the current image block, the motion compensation unit can locate the prediction block to which the motion vector points in one of the reference image lists.

[00178] Unidade de compensação de movimento também pode gerar elementos de sintaxe associados aos blocos e à fatia de vídeo para uso pelo decodificador de vídeo 30 na decodificação dos blocos de imagem da fatia de vídeo. Na presente divulgação, durante a interpredição, o bloco de codificação é dividido em blocos de transformada quando transformada de sub-bloco (SBT) é habilitada (por exemplo, quando ferramenta de codificação de SBT é aplicada).[00178] Motion compensation unit may also generate syntax elements associated with the blocks and the video slice for use by the video decoder 30 in decoding the image blocks of the video slice. In the present disclosure, during interprediction, the coding block is divided into transform blocks when sub-block transform (SBT) is enabled (e.g., when SBT coding tool is applied).

Codificação de EntropiaEntropy Coding

[00179] A unidade de codificação de entropia 270 é configurada para aplicar, por exemplo, um algoritmo ou esquema de codificação de entropia (por exemplo, um esquema de codificação de comprimento variável (VLC), um esquema de VLC adaptativo de contexto (CAVLC), um esquema de codificação aritmética, uma binarização, um codificação aritmética binária adaptativa de contexto (CABAC), codificação aritmética binária adaptativa de contexto baseada em sintaxe (SBAC), codificação de entropia de particionamento de intervalo de probabilidade (PIPE) ou outra metodologia ou técnica de codificação de entropia) ou desvio (sem compressão) nos coeficientes quantizados 209, parâmetros de interpredição, parâmetros de intrapredição, parâmetros de filtro de loop e / ou outros elementos de sintaxe para obter dados de imagem codificados 271 (correspondem a dados de imagem codificados 21) que podem ser emitidos através da saída 272, por exemplo, na forma de um fluxo de bits codificado 21, de modo que, por exemplo, o decodificador de vídeo 30 pode receber e usar os parâmetros para decodificação. O fluxo de bits codificado 21 pode ser transmitido para o decodificador de vídeo 30 ou armazenado em uma memória para transmissão ou recuperação posterior pelo decodificador de vídeo 30. Na presente divulgação, alguns elementos de sintaxe tais como cu_sbt_flag e cu_sbt_horizontal_flag podem ser codificados no fluxo de bits 21.[00179] The entropy coding unit 270 is configured to apply, for example, an entropy coding algorithm or scheme (e.g., a variable length coding scheme (VLC), a context adaptive VLC scheme (CAVLC) ), an arithmetic coding scheme, a binarization, a context-adaptive binary arithmetic coding (CABAC), syntax-based context-adaptive binary arithmetic coding (SBAC), probability interval partitioning entropy coding (PIPE), or other methodology or entropy coding technique) or offset (without compression) in quantized coefficients 209, interprediction parameters, intraprediction parameters, loop filter parameters, and/or other syntax elements to obtain encoded image data 271 (correspond to image data coded image 21) which can be output via output 272, for example in the form of a coded bit stream 21, so that, for example, video decoder 30 can receive and use the parameters for decoding. The encoded bit stream 21 may be transmitted to the video decoder 30 or stored in a memory for later transmission or retrieval by the video decoder 30. In the present disclosure, some syntax elements such as cu_sbt_flag and cu_sbt_horizontal_flag may be encoded in the encoded bit stream 21. bits 21.

[00180] Outras variações estruturais do codificador de vídeo 20 podem ser usadas para codificar o fluxo de vídeo. Por exemplo, um codificador não baseado em transformada 20 pode quantizar o sinal residual diretamente sem a unidade de processamento de transformada 206 para certos blocos ou quadros. Em outra implementação, um codificador 20 pode ter a unidade de quantização 208 e a unidade de quantização inversa 210 combinadas em uma única unidade.[00180] Other structural variations of video encoder 20 can be used to encode the video stream. For example, a non-transform based encoder 20 may quantize the residual signal directly without the transform processing unit 206 for certain blocks or frames. In another implementation, an encoder 20 may have the quantization unit 208 and the inverse quantization unit 210 combined into a single unit.

Decodificador e Método de DecodificaçãoDecoder and Decoding Method

[00181] A Figura 3 mostra um exemplo de um decodificador de vídeo 30 que é configurado para implementar as técnicas desse presente pedido. O decodificador de vídeo 30 é configurado para receber dados de imagem codificados 271 (correspondem a dados de imagem codificados 21) (por exemplo, fluxo de bits codificado 21), por exemplo, codificado pelo codificador 20, para obter uma imagem decodificada 331. Os dados de imagem codificados ou fluxo de bits compreendem informações para decodificar os dados de imagem codificados, por exemplo, dados que representam blocos de imagem de uma fatia de vídeo codificada e elementos de sintaxe associados.[00181] Figure 3 shows an example of a video decoder 30 that is configured to implement the techniques of this present application. Video decoder 30 is configured to receive encoded image data 271 (corresponding to encoded image data 21) (e.g., encoded bit stream 21), e.g., encoded by encoder 20, to obtain a decoded image 331. encoded image data or bitstream comprises information for decoding the encoded image data, e.g., data representing image blocks of an encoded video slice and associated syntax elements.

[00182] No exemplo da Figura 3, o decodificador 30 compreende uma unidade de decodificação de entropia 304, uma unidade de quantização inversa 310, uma unidade de processamento de transformada inversa 312, uma unidade de reconstrução 314 (por exemplo, um somador 314), um filtro de loop 320, uma armazenamento temporário de imagens decodificadas (DBP) 330, uma unidade de interpredição 344 e uma unidade de intrapredição 354. A unidade de interpredição 344 pode ser ou incluir uma unidade de compensação de movimento. O decodificador de vídeo 30 pode, em alguns exemplos, realizar uma passagem de decodificação geralmente recíproca para a passagem de codificação descrita em relação ao codificador de vídeo 20 da Figura 2.[00182] In the example of Figure 3, the decoder 30 comprises an entropy decoding unit 304, an inverse quantization unit 310, an inverse transform processing unit 312, a reconstruction unit 314 (e.g., an adder 314) , a loop filter 320, a decoded picture buffer (DBP) 330, an interprediction unit 344, and an intraprediction unit 354. The interprediction unit 344 may be or include a motion compensation unit. The video decoder 30 may, in some examples, perform a decoding pass generally reciprocal to the encoding pass described with respect to the video encoder 20 of Figure 2.

[00183] Conforme explicado no que diz respeito ao codificador 20, a unidade de quantização inversa 210, a unidade de processamento de transformada inversa 212, a unidade de reconstrução 214, o filtro de loop 220, o armazenamento temporário de imagens decodificadas (DPB) 230, a unidade de interpredição 344 e a unidade de intrapredição 354 também são referidos como formando o "decodificador embutido" do codificador de vídeo 20. Consequentemente, a unidade de quantização inversa 310 pode ser idêntica em função à unidade de quantização inversa 110, a unidade de processamento de transformada inversa 312 pode ser idêntica em função à unidade de processamento de transformada inversa 212, a unidade de reconstrução 314 pode ser idêntica em função à unidade de reconstrução 214, o filtro de loop 320 pode ser idêntico em função ao filtro de loop 220 e o armazenamento temporário de imagens decodificadas 330 pode ser idêntico em função ao armazenamento temporário de imagens decodificadas 230. Portanto, as explicações fornecidas para as respectivas unidades e funções do codificador de vídeo 20 se aplicam correspondentemente às respectivas unidades e funções do decodificador de vídeo 30.[00183] As explained with respect to the encoder 20, the inverse quantization unit 210, the inverse transform processing unit 212, the reconstruction unit 214, the loop filter 220, the decoded image temporary storage (DPB) 230, the interprediction unit 344 and the intraprediction unit 354 are also referred to as forming the "built-in decoder" of the video encoder 20. Accordingly, the inverse quantization unit 310 may be identical in function to the inverse quantization unit 110, the The inverse transform processing unit 312 may be identical in function to the inverse transform processing unit 212, the reconstruction unit 314 may be identical in function to the reconstruction unit 214, the loop filter 320 may be identical in function to the loop 220 and the temporary storage of decoded images 330 may be identical in function to the temporary storage of decoded images 230. Therefore, the explanations provided for the respective units and functions of the video encoder 20 apply correspondingly to the respective units and functions of the video decoder. video 30.

Decodificação de EntropiaEntropy Decoding

[00184] A unidade de decodificação de entropia 304 é configurada para analisar o fluxo de bits 21 (ou em dados de imagem codificados 271 em geral (correspondem a dados de imagem codificados 21)) e realizar, por exemplo, decodificação de entropia para os dados de imagem codificados 271 (correspondem a dados de imagem codificados 21) para obter, por exemplo, coeficientes quantizados 309 e / ou parâmetros de codificação decodificados (não mostrado na Figura 3), por exemplo, qualquer um ou todos os parâmetros de interpredição (por exemplo, índice de imagem de referência e vetor de movimento), parâmetro de intrapredição (por exemplo, modo de intrapredição ou índice), parâmetros de transformada, parâmetros de quantização, parâmetros de filtro de loop e / ou outros elementos de sintaxe. A unidade de decodificação de entropia 304 pode ser configurada para aplicar os algoritmos de decodificação ou esquemas correspondentes aos esquemas de codificação, conforme descrito em relação à unidade de codificação de entropia 270 do codificador 20. A unidade de decodificação de entropia 304 pode ser adicionalmente configurada para fornecer parâmetros de interpredição, parâmetro de intrapredição e / ou outros elementos de sintaxe para a unidade de seleção de modo 360 e outros parâmetros para outras unidades do decodificador 30. O decodificador de vídeo 30 pode receber os elementos de sintaxe no nível de fatia de vídeo e / ou nível de bloco de vídeo.[00184] The entropy decoding unit 304 is configured to analyze the bit stream 21 (or in encoded image data 271 in general (corresponding to encoded image data 21)) and perform, for example, entropy decoding for the encoded image data 271 (corresponds to encoded image data 21) to obtain, for example, quantized coefficients 309 and/or decoded encoding parameters (not shown in Figure 3), e.g., any or all of the interprediction parameters ( e.g., reference image index and motion vector), intraprediction parameter (e.g., intraprediction mode or index), transform parameters, quantization parameters, loop filter parameters, and/or other syntax elements. The entropy decoding unit 304 may be configured to apply decoding algorithms or schemes corresponding to the encoding schemes as described with respect to the entropy coding unit 270 of the encoder 20. The entropy decoding unit 304 may be further configured to provide interprediction parameters, intraprediction parameter and/or other syntax elements to the mode selection unit 360 and other parameters to other units of the decoder 30. The video decoder 30 may receive the syntax elements at the slice level of video and/or video block level.

Quantização InversaInverse Quantization

[00185] A unidade de quantização inversa 310 pode ser configurada para receber parâmetros de quantização (QP) (ou em informações gerais relacionadas à quantização inversa) e coeficientes quantizados a partir dos dados de imagem codificados 271 (correspondem a dados de imagem codificados 21) (por exemplo, por análise e / ou decodificação, por exemplo, por unidade de decodificação de entropia 304) e aplicar com base nos parâmetros de quantização uma quantização inversa nos coeficientes quantizados decodificados 309 para obter coeficientes desquantizados 311, que também podem ser referidos como coeficientes de transformada 311. O processo de quantização inversa pode incluir o uso de um parâmetro de quantização determinado pelo codificador de vídeo 20 para cada bloco de vídeo na fatia de vídeo para determinar um grau de quantização e, da mesma forma, um grau de quantização inversa que deve ser aplicado.[00185] The inverse quantization unit 310 may be configured to receive quantization parameters (QP) (or general information related to inverse quantization) and quantized coefficients from the encoded image data 271 (corresponds to encoded image data 21) (e.g. by analysis and/or decoding, e.g. by entropy decoding unit 304) and apply based on the quantization parameters an inverse quantization on the decoded quantized coefficients 309 to obtain dequantized coefficients 311, which may also be referred to as transform coefficients 311. The inverse quantization process may include using a quantization parameter determined by the video encoder 20 for each block of video in the video slice to determine a degree of quantization and, likewise, a degree of quantization inverse that must be applied.

Transformada InversaInverse Transform

[00186] A unidade de processamento de transformada inversa 312 pode ser configurada para receber coeficientes desquantizados 311, também referidos como coeficientes de transformada 311, e para aplicar uma transformação aos coeficientes desquantizados 311 a fim de obter blocos residuais reconstruídos 213 no domínio de amostra. Os blocos residuais reconstruídos 213 também podem ser referidos como blocos de transformada 313. A transformada pode ser uma transformada inversa, por exemplo, uma DCT inversa, uma DST inversa, uma transformada inteira inversa, ou um processo de transformada inversa conceitualmente semelhante. A unidade de processamento de transformada inversa 312 pode ser adicionalmente configurada para receber parâmetros de transformada ou informações correspondentes a partir dos dados de imagem codificados 271 (correspondem a dados de imagem codificados 21) (por exemplo, por análise e / ou decodificação, por exemplo, por unidade de decodificação de entropia 304) para determinar a transformada a ser aplicada aos coeficientes desquantizados 311.[00186] The inverse transform processing unit 312 may be configured to receive dequantized coefficients 311, also referred to as transform coefficients 311, and to apply a transformation to the dequantized coefficients 311 in order to obtain reconstructed residual blocks 213 in the sample domain. The reconstructed residual blocks 213 may also be referred to as transform blocks 313. The transform may be an inverse transform, e.g., an inverse DCT, an inverse DST, an inverse integer transform, or a conceptually similar inverse transform process. The inverse transform processing unit 312 may be further configured to receive transform parameters or corresponding information from the encoded image data 271 (corresponding to encoded image data 21) (e.g., by analysis and/or decoding, e.g. , per entropy decoding unit 304) to determine the transform to be applied to the dequantized coefficients 311.

ReconstruçãoReconstruction

[00187] A unidade de reconstrução 314 (por exemplo, adicionador ou somador 314) pode ser configurada para adicionar o bloco residual reconstruído 313, ao bloco de predição 365 para obter um bloco reconstruído 315 no domínio de amostra, por exemplo, adicionando os valores de amostra do bloco residual reconstruído 313 e os valores de amostra do bloco de predição 365.[00187] The reconstruction unit 314 (e.g., adder or adder 314) may be configured to add the reconstructed residual block 313, to the prediction block 365 to obtain a reconstructed block 315 in the sample domain, e.g., by adding the values sample values from the reconstructed residual block 313 and the sample values from the prediction block 365.

FiltragemFiltering

[00188] A unidade de filtro de loop 320 (ou no loop de codificação ou após o loop de codificação) é configurada para filtrar o bloco reconstruído 315 para obter um bloco filtrado 321, por exemplo, para suavizar as transições de pixel ou, de outra forma, melhorar a qualidade do vídeo. A unidade de filtro de loop 320 pode compreender um ou mais filtros de loop, como um filtro de desblocagem, um filtro de deslocamento adaptativo de amostra (SAO) ou um ou mais outros filtros, por exemplo, um filtro bilateral, um filtro de loop adaptativo (ALF), um filtro de nitidez, uns filtros de suavização ou uns filtros colaborativos, ou qualquer combinação dos mesmos. Embora a unidade de filtro de loop 320 seja mostrada na Figura 3 como sendo um filtro em loop, em outras configurações, a unidade de filtro de loop 320 pode ser implementada como um filtro pós-loop. Na presente divulgação, o filtro de loop aprimorado, particularmente o aparelho de filtro de desblocagem aprimorado é fornecido e será descrito em detalhes depois.[00188] The loop filter unit 320 (either in the encoding loop or after the encoding loop) is configured to filter the reconstructed block 315 to obtain a filtered block 321, for example, to smooth pixel transitions or otherwise otherwise, improve video quality. The loop filter unit 320 may comprise one or more loop filters, such as an unblocking filter, an adaptive sample offset (SAO) filter, or one or more other filters, e.g., a bilateral filter, a loop filter. adaptive filter (ALF), a sharpening filter, smoothing filters or collaborative filters, or any combination thereof. Although the loop filter unit 320 is shown in Figure 3 as being a loop filter, in other configurations, the loop filter unit 320 may be implemented as a post-loop filter. In the present disclosure, the improved loop filter, particularly the improved deblocking filter apparatus is provided and will be described in detail later.

Armazenamento Temporário de Imagens DecodificadasTemporary Storage of Decoded Images

[00189] Os blocos de vídeo decodificados 321 de uma imagem são então armazenados em armazenamento temporário de imagens decodificadas 330, que armazena as imagens decodificadas 331 como imagens de referência para compensação de movimento subsequente para outras imagens e / ou para exibição de saída, respectivamente.[00189] The decoded video blocks 321 of an image are then stored in temporary decoded image storage 330, which stores the decoded images 331 as reference images for subsequent motion compensation for other images and/or for output display, respectively .

[00190] O decodificador 30 é configurado para emitir a imagem decodificada 311, por exemplo, através da saída 312, para apresentação ou visualização a um usuário.[00190] Decoder 30 is configured to output the decoded image 311, for example, through output 312, for presentation or viewing to a user.

PrediçãoPrediction

[00191] A unidade de interpredição 344 pode ser idêntica à unidade de interpredição 244 (em particular à unidade de compensação de movimento) e a unidade de intrapredição 354 pode ser idêntica à unidade de intrapredição 254 em função, e realiza decisões de divisão ou particionamento e predição com base nos parâmetros de particionamento e / ou predição ou respectivas informações recebidas dos dados de imagem codificados 271 (correspondem a dados de imagem codificados 21) (por exemplo, por análise e / ou decodificação, por exemplo, por unidade de decodificação de entropia 304). A unidade de seleção de modo 360 pode ser configurada para realizar a predição (intra ou interpredição) por bloco com base em imagens reconstruídas, blocos ou respectivas amostras (filtradas ou não filtradas) para obter o bloco de predição 365.[00191] The interprediction unit 344 may be identical to the interprediction unit 244 (in particular the motion compensation unit) and the intraprediction unit 354 may be identical to the intraprediction unit 254 in function, and performs division or partitioning decisions and prediction based on the partitioning and/or prediction parameters or respective information received from the encoded image data 271 (corresponding to encoded image data 21) (e.g., by analysis and/or decoding, e.g., by decoding unit of entropy 304). The mode selection unit 360 can be configured to perform prediction (intra- or inter-prediction) per block based on reconstructed images, blocks or respective samples (filtered or unfiltered) to obtain the prediction block 365.

[00192] Quando a fatia de vídeo é codificada como uma fatia intracodificada (I), a unidade de intrapredição 354 da unidade de seleção de modo 360 é configurada para gerar o bloco de predição 365 para um bloco de imagem da fatia de vídeo atual com base em um modo de intrapredição sinalizado e dados a partir de blocos previamente decodificados da imagem atual. Quando a imagem de vídeo é codificada como uma fatia intercodificada (isto é, B ou P), a unidade de interpredição 344 (por exemplo, unidade de compensação de movimento) da unidade de seleção de modo 360 é configurada para produzir blocos de predição 365 para um bloco de vídeo da fatia de vídeo atual com base nos vetores de movimento e outros elementos de sintaxe recebidos a partir da unidade de decodificação de entropia 304. Para interpredição, os blocos de predição podem ser produzidos a partir de uma das imagens de referência dentro de uma das listas de imagens de referência. O decodificador de vídeo 30 pode construir as listas de quadro de referência, Lista 0 e Lista 1, usando técnicas de construção padrão com base em imagens de referência armazenadas no DPB 330. O mesmo ou semelhante pode ser aplicado para ou por modalidades usando grupos de peças (por exemplo, grupos de peças de vídeo) e / ou peças (por exemplo, peças de vídeo) em adição ou alternativamente às fatias (por exemplo, fatias de vídeo), por exemplo, um vídeo pode ser codificado usando grupos de peças I, P ou B e / ou peças.[00192] When the video slice is encoded as an intracoded (I) slice, the intraprediction unit 354 of the mode selection unit 360 is configured to generate the prediction block 365 for an image block of the current video slice with based on a signaled intraprediction mode and data from previously decoded blocks of the current image. When the video image is encoded as an intercoded slice (i.e., B or P), the interprediction unit 344 (e.g., motion compensation unit) of the mode selection unit 360 is configured to produce prediction blocks 365 for a video block of the current video slice based on the motion vectors and other syntax elements received from the entropy decoding unit 304. For interprediction, the prediction blocks can be produced from one of the reference images within one of the reference image lists. The video decoder 30 may construct the reference frame lists, List 0 and List 1, using standard construction techniques based on reference images stored in the DPB 330. The same or similar may be applied to or across modalities using groups of parts (e.g. groups of video parts) and/or parts (e.g. video parts) in addition to or alternatively to slices (e.g. video slices), e.g. a video may be encoded using groups of parts I, P or B and/or parts.

[00193] A unidade de seleção de modo 360 é configurada para determinar as informações de predição para um bloco de vídeo da fatia de vídeo atual por analisar os vetores de movimento e outros elementos de sintaxe, e usa as informações de predição para produzir os blocos de predição para o bloco de vídeo atual sendo decodificado. Por exemplo, a unidade de seleção de modo 360 usa alguns dos elementos de sintaxe recebidos para determinar um modo de predição (por exemplo, intra ou interpredição) usado para codificar os blocos de vídeo da fatia de vídeo, um tipo de fatia de interpredição (por exemplo, fatia B, fatia P, ou fatia GPB), informações de construção para uma ou mais das listas de imagens de referência para a fatia, vetores de movimento para cada bloco de vídeo intercodificado da fatia, status de interpredição para cada bloco de vídeo codificado da fatia, e outras informações para decodificar os blocos de vídeo na fatia de vídeo atual. O mesmo ou semelhante pode ser aplicado para ou por modalidades usando grupos de peças (por exemplo, grupos de peças de vídeo) e / ou blocos (por exemplo, peças de vídeo), além ou alternativamente a fatias (por exemplo, fatias de vídeo), por exemplo, um vídeo pode ser codificado usando I, P ou B grupos de peças e / ou peças.[00193] The 360 mode selection unit is configured to determine the prediction information for a video block of the current video slice by analyzing the motion vectors and other syntax elements, and uses the prediction information to produce the blocks prediction for the current video block being decoded. For example, the mode selection unit 360 uses some of the received syntax elements to determine a prediction mode (e.g., intra- or inter-prediction) used to encode the video blocks of the video slice, a type of inter-prediction slice ( for example, slice B, slice P, or slice GPB), construction information for one or more of the reference image lists for the slice, motion vectors for each block of intercoded video in the slice, interprediction status for each block of encoded video of the slice, and other information to decode the video blocks in the current video slice. The same or similar may be applied to or across embodiments using groups of parts (e.g. video part groups) and/or blocks (e.g. video parts), in addition to or alternatively to slices (e.g. video slices ), for example, a video can be encoded using I, P, or B tile groups and/or tiles.

[00194] As modalidades do decodificador de vídeo 30, como mostrado na Figura 3, podem ser configuradas para particionar e / ou decodificar a imagem usando fatias (também referidas como fatias de vídeo), em que uma imagem pode ser particionada em ou decodificada usando uma ou mais fatias (tipicamente não sobrepostas), e cada fatia pode compreender um ou mais blocos (por exemplo, CTUs).[00194] Embodiments of the video decoder 30, as shown in Figure 3, may be configured to partition and/or decode the image using slices (also referred to as video slices), wherein an image may be partitioned into or decoded using one or more slices (typically non-overlapping), and each slice may comprise one or more blocks (e.g., CTUs).

[00195] As modalidades do decodificador de vídeo 30, conforme mostrado na Figura 3, podem ser configuradas para particionar e / ou decodificar a imagem usando grupos de peças (também referidos como grupos de peças de vídeo) e / ou peças (também referidas como peças de vídeo), em que uma imagem pode ser particionada em ou decodificada usando um ou mais grupos de peças (tipicamente não sobrepostas), e cada grupo de peças pode compreender, por exemplo, um ou mais blocos (por exemplo, CTUs) ou uma ou mais peças, em que cada peça, por exemplo, pode ser de forma retangular e pode compreender um ou mais blocos (por exemplo, CTUs), por exemplo, blocos completos ou fracionários.[00195] Embodiments of the video decoder 30, as shown in Figure 3, may be configured to partition and/or decode the image using groups of parts (also referred to as video part groups) and/or parts (also referred to as video tiles), wherein an image may be partitioned into or decoded using one or more groups of (typically non-overlapping) tiles, and each group of tiles may comprise, for example, one or more blocks (e.g., CTUs) or one or more pieces, wherein each piece, for example, may be rectangular in shape and may comprise one or more blocks (e.g., CTUs), e.g., full or fractional blocks.

[00196] Outras variações do decodificador de vídeo 30 podem ser usadas para decodificar os dados de imagem codificados 271 (correspondem a dados de imagem codificados 21). Por exemplo, o decodificador 30 pode produzir o fluxo de vídeo de saída sem a unidade de filtragem de loop 320. Por exemplo, um decodificador não baseado em transformada 30 pode quantizar inversamente o sinal residual diretamente sem a unidade de processamento de transformada inversa 312 para certos blocos ou quadros. Em outra implementação, o decodificador de vídeo 30 pode ter a unidade de quantização inversa 310 e a unidade de processamento de transformada inversa 312 combinadas em uma única unidade.[00196] Other variations of video decoder 30 can be used to decode encoded image data 271 (corresponds to encoded image data 21). For example, the decoder 30 may produce the output video stream without the loop filtering unit 320. For example, a non-transform based decoder 30 may inverse quantize the residual signal directly without the inverse transform processing unit 312 to certain blocks or frames. In another implementation, the video decoder 30 may have the inverse quantization unit 310 and the inverse transform processing unit 312 combined into a single unit.

[00197] Deve ser entendido que, no codificador 20 e no decodificador 30, um resultado de processamento de um passo atual pode ser adicionalmente processado e, em seguida, enviado para o próximo passo. Por exemplo, após a filtragem de interpolação, derivação de vetor de movimento ou filtragem de loop, uma operação adicional, como Corte ou desvio, pode ser realizada no resultado de processamento da filtragem de interpolação, derivação de vetor de movimento ou filtragem de loop.[00197] It should be understood that, in the encoder 20 and the decoder 30, a processing result of a current step may be further processed and then sent to the next step. For example, after interpolation filtering, motion vector derivation, or loop filtering, an additional operation such as Cut or offset can be performed on the processing result of interpolation filtering, motion vector derivation, or loop filtering.

[00198] Deve ser notado que operações adicionais podem ser aplicadas aos vetores de movimento derivados de bloco atual (incluindo, mas não limitado a vetores de movimento de ponto de controle de modo afim, vetores de movimento de sub-bloco em modos afins, planar e ATMVP, vetores de movimento temporais e assim por diante). Por exemplo, o valor de vetor de movimento é restrito a um intervalo predefinido de acordo com seu bit de representação. Se o bit de representação de vetor de movimento for bitDepth, então o intervalo é -2 A (bitDepth-1) ~ 2 A (bitDepth-1) - 1, onde “A” significa exponenciação. Por exemplo, se bitDepth for definido igual a 16, o intervalo será -32768 ~ 32767; se bitDepth for definido igual a 18, o intervalo é -131072 ~ 131071. Por exemplo, o valor do vetor de movimento derivado (por exemplo, os MVs de quatro sub-blocos 4 x 4 dentro de um bloco 8 x 8) é restrito de tal forma que a diferença máxima entre as partes inteiras dos quatro MVs do sub-bloco 4 x 4 não é mais do que N pixels, como no máximo 1 pixel.[00198] It should be noted that additional operations may be applied to current block-derived motion vectors (including but not limited to affine mode control point motion vectors, sub-block motion vectors in affine modes, planar and ATMVP, temporal motion vectors, and so on). For example, the motion vector value is restricted to a predefined range according to its representation bit. If the motion vector representation bit is bitDepth, then the range is -2 A (bitDepth-1) ~ 2 A (bitDepth-1) - 1, where “A” means exponentiation. For example, if bitDepth is set equal to 16, the range is -32768 ~ 32767; if bitDepth is set equal to 18, the range is -131072 ~ 131071. For example, the value of the derived motion vector (e.g. the MVs of four 4 x 4 sub-blocks within an 8 x 8 block) is restricted such that the maximum difference between the integer parts of the four MVs of the 4 x 4 sub-block is no more than N pixels, with a maximum of 1 pixel.

[00199] A Figura 4 é um diagrama esquemático de um dispositivo de codificação de vídeo 400 de acordo com uma modalidade da divulgação. O dispositivo de codificação de vídeo 400 é adequado para implementar as modalidades divulgadas conforme descrito aqui. Em uma modalidade, o dispositivo de codificação de vídeo 400 pode ser um decodificador, como o decodificador de vídeo 30 da Figura 1A ou um codificador, como o codificador de vídeo 20 da Figura 1A.[00199] Figure 4 is a schematic diagram of a video encoding device 400 in accordance with an embodiment of the disclosure. The video encoding device 400 is suitable for implementing the disclosed embodiments as described herein. In one embodiment, the video encoding device 400 may be a decoder, such as video decoder 30 of Figure 1A, or an encoder, such as video encoder 20 of Figure 1A.

[00200] O dispositivo de codificação de vídeo 400 compreende portas de ingresso 410 (ou portas de entrada 410) e unidades receptoras (Rx) 420 para receber dados; um processador, unidade lógica ou unidade central de processamento (CPU) 430 para processar os dados; unidades transmissoras (Tx) 440 e portas de egresso 450 (ou portas de saída 450) para transmitir os dados; e uma memória 460 para armazenar os dados. O dispositivo de codificação de vídeo 400 também pode compreender componentes óticos para elétricos (OE) e componentes elétricos para óticos (EO) acoplados às portas de ingresso 410, as unidades receptoras 420, as unidades transmissoras 440, e as portas de egresso 450 para egresso ou ingresso de sinais óticos ou elétricos.[00200] The video encoding device 400 comprises ingress ports 410 (or input ports 410) and receiver units (Rx) 420 for receiving data; a processor, logical unit, or central processing unit (CPU) 430 for processing the data; transmitting units (Tx) 440 and egress ports 450 (or output ports 450) for transmitting the data; and a memory 460 for storing the data. The video encoding device 400 may also comprise optical-to-electrical (OE) components and electrical-to-optical (EO) components coupled to the ingress ports 410, the receiver units 420, the transmitter units 440, and the egress ports 450 to egress. or ingress of optical or electrical signals.

[00201] O processador 430 é implementado por hardware e software. O processador 430 pode ser implementado como um ou mais chips de CPU, núcleos (por exemplo, como um processador de múltiplos núcleos), FPGAs, ASICs e DSPs. O processador 430 está em comunicação com as portas de ingresso 410, as unidades receptoras 420, as unidades transmissoras 440, portas de egresso 450, e memória 460. O processador 430 compreende um módulo de codificação 470. O módulo de codificação 470 implementa as modalidades divulgadas descritas acima. Por exemplo, o módulo de codificação 470 implementa, processa, prepara ou fornece as várias operações de codificação. A inclusão do módulo de codificação 470, portanto, fornece uma melhoria substancial para a funcionalidade do dispositivo de codificação de vídeo 400 e efetua uma transformação do dispositivo de codificação de vídeo 400 para um estado diferente. Alternativamente, o módulo de codificação 470 é implementado como instruções armazenadas na memória 460 e executadas pelo processador 430.[00201] Processor 430 is implemented by hardware and software. Processor 430 may be implemented as one or more CPU chips, cores (e.g., as a multi-core processor), FPGAs, ASICs, and DSPs. The processor 430 is in communication with the ingress ports 410, the receiving units 420, the transmitting units 440, egress ports 450, and memory 460. The processor 430 comprises an encoding module 470. The encoding module 470 implements the embodiments disclosures described above. For example, the encoding module 470 implements, processes, prepares or provides the various encoding operations. The inclusion of the encoding module 470 therefore provides a substantial improvement to the functionality of the video encoding device 400 and effects a transformation of the video encoding device 400 to a different state. Alternatively, encoding module 470 is implemented as instructions stored in memory 460 and executed by processor 430.

[00202] A memória 460 pode compreender um ou mais discos, unidades de fita e unidades de estado sólido e pode ser usada como um dispositivo de armazenamento de dados de sobrefluxo, para armazenar programas quando tais programas são selecionados para execução, e para armazenar instruções e dados que são lidos durante a execução do programa. A memória 460 pode ser, por exemplo, volátil e / ou não volátil, e pode ser uma memória somente de leitura (ROM), memória de acesso aleatório (RAM), memória endereçável de conteúdo ternário (TCAM) e / ou memória de acesso aleatório estática (SRAM).[00202] Memory 460 may comprise one or more disks, tape drives, and solid state drives and may be used as an overflow data storage device, to store programs when such programs are selected for execution, and to store instructions and data that is read during program execution. Memory 460 may be, for example, volatile and/or non-volatile, and may be a read-only memory (ROM), random access memory (RAM), ternary content addressable memory (TCAM), and/or access memory static random (SRAM).

[00203] A Figura 5 é um diagrama de blocos simplificado de um aparelho 500 que pode ser usado como um ou ambos o dispositivo de origem 12 e o dispositivo de destino 14 da Figura 1A de acordo com uma modalidade exemplar.[00203] Figure 5 is a simplified block diagram of an apparatus 500 that can be used as either or both the source device 12 and the destination device 14 of Figure 1A according to an exemplary embodiment.

[00204] Um processador 502 no aparelho 500 pode ser uma unidade central de processamento. Alternativamente, o processador 502 pode ser qualquer outro tipo de dispositivo, ou dispositivos múltiplos, capazes de manipular ou processar informações agora existentes ou desenvolvidas no futuro. Embora as implementações divulgadas possam ser praticadas com um único processador, como mostrado, por exemplo, o processador 502, vantagens em velocidade e eficiência podem ser alcançadas usando mais de um processador.[00204] A processor 502 in apparatus 500 may be a central processing unit. Alternatively, processor 502 may be any other type of device, or multiple devices, capable of manipulating or processing information now existing or developed in the future. Although the disclosed implementations can be implemented with a single processor, as shown, for example, processor 502, advantages in speed and efficiency can be achieved by using more than one processor.

[00205] Uma memória 504 no aparelho 500 pode ser um dispositivo de memória somente de leitura (ROM) ou um dispositivo de memória de acesso aleatório (RAM) em uma implementação. Qualquer outro tipo adequado de dispositivo de armazenamento pode ser usado como a memória 504. A memória 504 pode incluir código e dados 506 que são acessados pelo processador 502 usando um barramento 512. A memória 504 pode incluir ainda um sistema operacional 508 e programas de aplicação 510, os programas de aplicação 510 incluindo pelo menos um programa que permite ao processador 502 executar os métodos descritos aqui. Por exemplo, os programas de aplicação 510 podem incluir aplicações de 1 a N, que incluem ainda uma aplicação de codificação de vídeo que executa os métodos descritos aqui.[00205] A memory 504 in apparatus 500 may be a read-only memory device (ROM) or a random access memory device (RAM) in one implementation. Any other suitable type of storage device may be used as memory 504. Memory 504 may include code and data 506 that are accessed by processor 502 using a bus 512. Memory 504 may further include an operating system 508 and application programs 510, application programs 510 including at least one program that allows processor 502 to perform the methods described herein. For example, application programs 510 may include applications 1 through N, which further include a video encoding application that performs the methods described herein.

[00206] O aparelho 500 também pode incluir um ou mais dispositivos de saída, como uma tela de exibição 518. A tela de exibição 518 pode ser, em um exemplo, uma tela de exibição sensível ao toque que combina uma tela de exibição com um elemento sensível ao toque que é operável para detectar entradas de toque. A tela de exibição 518 pode ser acoplada ao processador 502 por meio do barramento 512.[00206] Apparatus 500 may also include one or more output devices, such as a display screen 518. Display screen 518 may be, in one example, a touch-sensitive display screen that combines a display screen with a touch-sensitive element that is operable to detect touch inputs. Display screen 518 may be coupled to processor 502 via bus 512.

[00207] Embora representado aqui como um único barramento, o barramento 512 do aparelho 500 pode ser composto de múltiplos barramentos. Além disso, o armazenamento secundário 514 pode ser diretamente acoplado aos outros componentes do aparelho 500 ou pode ser acessado através de uma rede e pode compreender uma única unidade integrada, como um cartão de memória, ou várias unidades, como múltiplos cartões de memória. O aparelho 500 pode, assim, ser implementado em uma ampla variedade de configurações.[00207] Although represented here as a single bus, bus 512 of apparatus 500 may be composed of multiple buses. Furthermore, secondary storage 514 may be directly coupled to other components of apparatus 500 or may be accessed via a network and may comprise a single integrated unit, such as a memory card, or multiple units, such as multiple memory cards. The apparatus 500 can thus be implemented in a wide variety of configurations.

Interpredição-Intrapredição Combinada (CIIP)Combined Interprediction-Intraprediction (CIIP)

[00208] Convencionalmente, uma unidade de codificação é ou intrapredita (ou seja, usando as amostras de referência na mesma imagem) ou interpredita (ou seja, usando as amostras de referência em outras imagens). A interpredição- intrapredição combinada combina essas duas abordagens de predição. Portanto, às vezes também é chamada de interpredição-intrapredição combinada (CIIP). Quando a interpredição-intrapredição combinada é ativada, as amostras intrapreditas e interpreditas são aplicadas por pesos, e a predição final é derivada como a média ponderada das amostras.[00208] Conventionally, a coding unit is either intrapredicted (i.e., using the reference samples in the same image) or interpredicted (i.e., using the reference samples in other images). Combined interprediction-intraprediction combines these two prediction approaches. Therefore, it is also sometimes called combined interprediction-intraprediction (CIIP). When combined interprediction-intraprediction is enabled, the intrapredicted and interpredicted samples are weighted, and the final prediction is derived as the weighted average of the samples.

[00209] Uma bandeira, bandeira de CIIP, é usada para indicar quando um bloco é aplicado com interpredição- intrapredição combinada.[00209] A flag, CIIP flag, is used to indicate when a block is applied with combined interprediction-intraprediction.

[00210] A ferramenta de codificação de Transformada de Sub-bloco (SBT) particiona (isto é, separa ou divide) um bloco de interpredição (isto é, um bloco de intercodificação curto para um bloco de codificação atual que é codificado no modo de interpredição) em dois blocos de transformada e realiza a transformada apenas para um dos blocos de transformada, mas não o outro. Os dois blocos de transformada podem ser simétricos (ou seja, dois blocos de transformada do mesmo tamanho) ou assimétricos (ou seja, dois blocos de transformada com a mesma largura, mas altura de 1: 3, por exemplo, ou com a mesma altura, mas com largura de 1: 3, por exemplo). Essa transformada parcial pode resultar em artefato de bloco ao longo das fronteiras entre os dois blocos de transformada. No entanto, essas fronteiras não foram consideradas para serem filtradas na técnica anterior, o que compromete a qualidade subjetiva quando a SBT é habilitada.[00210] The Sub-Block Transform (SBT) coding tool partitions (i.e., separates or divides) an interprediction block (i.e., a short intercoding block for a current coding block that is encoded in the interprediction) in two transform blocks and performs the transform only for one of the transform blocks, but not the other. The two transform blocks can be symmetric (i.e. two transform blocks of the same size) or asymmetric (i.e. two transform blocks with the same width but height of 1:3, for example, or with the same height , but with a width of 1:3, for example). This partial transform can result in block artifact along the boundaries between the two transform blocks. However, these boundaries were not considered to be filtered in the prior art, which compromises the subjective quality when SBT is enabled.

[00211] Um processo de filtragem aprimorado é proposto para reduzir o artefato de bloco das fronteiras de blocos de transformada causados pela SBT. Ao detectar as fronteiras que seriam consideradas filtradas, as fronteiras internas entre os blocos de transformada causados pela SBT são levadas em consideração. Além disso, a técnica anterior considera apenas as fronteiras que são sobrepostas a uma grade 8 x 8. Na invenção, mesmo se uma fronteira interna de SBT não estiver alinhada com a grade 8 x 8 quando um particionamento assimétrico (isto é, separação ou divisão) é aplicado, a fronteira interna seria considerada como candidata de filtragem. Ao filtrar também as fronteiras internas de SBT, o artefato de bloco causado pela SBT é reduzido.[00211] An improved filtering process is proposed to reduce the block artifact of transform block boundaries caused by SBT. When detecting boundaries that would be considered filtered, internal boundaries between transform blocks caused by SBT are taken into account. Furthermore, the prior art only considers boundaries that are superimposed on an 8 x 8 grid. In the invention, even if an internal SBT boundary is not aligned with the 8 x 8 grid when an asymmetric partitioning (i.e., separation or division ) is applied, the internal boundary would be considered as a filtering candidate. By also filtering the internal boundaries of SBT, the block artifact caused by SBT is reduced.

[00212] Um bloco 600 aplicado com CIIP pode ser ainda dividido em vários sub-blocos, como mostrado na Figura 6. Na Figura 6, todas as fronteiras de sub-bloco dentro de uma CU são aplicadas com interpredição-intrapredição combinada (CIIP). Em um exemplo, seus sub-blocos 601 são derivados dividindo o bloco na direção horizontal, com cada sub-bloco tendo a mesma largura do bloco original, mas U da altura do bloco original.[00212] A block 600 applied with CIIP can be further divided into several sub-blocks, as shown in Figure 6. In Figure 6, all sub-block boundaries within a CU are applied with combined interprediction-intraprediction (CIIP) . In one example, its subblocks 601 are derived by dividing the block in the horizontal direction, with each subblock having the same width as the original block but U as high as the original block.

[00213] Em um exemplo, seus sub-blocos 602 são derivados dividindo o bloco na direção vertical, com cada sub-bloco tendo a mesma altura que o bloco original, mas U da largura do bloco original. No exemplo mostrado na Figura 6, as subpartições e as fronteiras correspondentes com a partição vertical 602 são rotuladas. Aqui, o intrabloco 600 é dividido em quatro subpartições, a saber, sub0, sub1, sub2 e sub3. Três fronteiras de subpartição são rotuladas, ou seja, fronteira de subpartição A entre subpartição 0 e 1, fronteira de subpartição B entre subpartição 1 e 2, fronteira de subpartição C entre subpartição 2 e 3, definição similar pode ser usada no exemplo de partição horizontal 601.[00213] In one example, its sub-blocks 602 are derived by dividing the block in the vertical direction, with each sub-block having the same height as the original block, but U of the width of the original block. In the example shown in Figure 6, the subpartitions and corresponding boundaries with the vertical partition 602 are labeled. Here, intrablock 600 is divided into four subpartitions, namely sub0, sub1, sub2 and sub3. Three subpartition boundaries are labeled, i.e. subpartition A boundary between subpartition 0 and 1, subpartition B boundary between subpartition 1 and 2, subpartition C boundary between subpartition 2 and 3, similar definition can be used in horizontal partition example 601.

[00214] Artefatos de blocagem podem ser introduzidos devido à predição de CIIP, pois envolve resultados com intrapredição, que geralmente possui mais sinais residuais. Os artefatos de blocagem não ocorrem apenas nas fronteiras do bloco de CIIP, mas também nas bordas de sub-bloco dentro de um bloco de CIIP, como a borda de sub-bloco vertical A, B, C na Figura 6. As bordas de sub-bloco horizontais podem ser identificadas de forma correspondente.[00214] Blocking artifacts can be introduced due to CIIP prediction, as it involves results with intraprediction, which generally has more residual signals. Blocking artifacts not only occur at CIIP block boundaries, but also at sub-block edges within a CIIP block, such as the vertical sub-block edge A, B, C in Figure 6. The sub-block edges -horizontal blocks can be identified correspondingly.

[00215] Embora artefatos de bloco possam ocorrer nas fronteiras de CIIP e nas bordas de sub-bloco dentro dos blocos de CIIP, a distorção causada por essas duas fronteiras pode ser diferente, e diferentes forças de fronteira podem ser necessárias.[00215] Although block artifacts may occur at CIIP boundaries and at sub-block boundaries within CIIP blocks, the distortion caused by these two boundaries may be different, and different boundary strengths may be required.

[00216] As bordas de sub-bloco podem ser causadas pela própria CIIP, por exemplo, se o modo de intrapredição de um bloco de CIIP for um modo horizontal, uma partição vertical mostrada na Figura 6 é aplicada, resultando em três sub- blocos.[00216] Sub-block edges can be caused by CIIP itself, for example, if the intraprediction mode of a CIIP block is a horizontal mode, a vertical partition shown in Figure 6 is applied, resulting in three sub-blocks .

[00217] Como mostrado na Figura 7, a fim de reduzir os artefatos de bloco, as fronteiras de sub-bloco são filtradas por desblocagem após o particionamento horizontal de um bloco de codificação 700 em sub-blocos 701 ou após o particionamento vertical de um bloco de codificação 700 em sub-blocos 702. A Figura 7 mostra a desblocagem de todas as bordas de sub-bloco dentro de uma CU aplicada com interpredição-intrapredição combinada (CIIP).[00217] As shown in Figure 7, in order to reduce block artifacts, subblock boundaries are filtered by deblocking after horizontally partitioning a coding block 700 into subblocks 701 or after vertically partitioning a coding block 700 into subblocks 702. Figure 7 shows the deblocking of all subblock edges within a CU applied with combined interprediction-intraprediction (CIIP).

[00218] A Figura 8 mostra desblocagem de todas as fronteiras de TU de sub-bloco dentro de uma CU que se sobrepõe a (alinhada com) uma grade de amostra 8 x 8 que não começa na amostra superior esquerda da CU, de acordo com um exemplo. Como mostrado na Figura 8, após o particionamento horizontal de um bloco de codificação 800 em sub-blocos 801 ou após o particionamento vertical de um bloco de codificação 800 em sub-blocos 802, apenas as fronteiras de sub-bloco que se sobrepõem a uma grade de amostra 8 x 8 são desblocadas e o resto das bordas de sub-bloco não são desblocadas. Isso tem a vantagem de reduzir a complexidade computacional, pois apenas algumas das bordas são desblocadas.[00218] Figure 8 shows unlocking of all sub-block TU boundaries within a CU that overlaps (aligned with) an 8 x 8 sample grid that does not begin at the top left sample of the CU, in accordance with An example. As shown in Figure 8, after horizontally partitioning a coding block 800 into subblocks 801 or after vertically partitioning a coding block 800 into subblocks 802, only the subblock boundaries that overlap a 8 x 8 sample grid are unlocked and the rest of the sub-block borders are not unlocked. This has the advantage of reducing computational complexity, as only some of the edges are unlocked.

[00219] Outra alternativa é mostrada na Figura 9. A Figura 9 mostra desblocagem de todas as bordas de sub-bloco dentro de uma CU que se sobrepõe a uma grade de amostra 4 x 4. Neste caso, após o particionamento horizontal de um bloco de codificação 900 em sub-blocos 901 ou após o particionamento vertical de um bloco de codificação 900 em sub-blocos 902, todas as fronteiras de sub-bloco que se sobrepõem a uma grade de amostra 4 x 4 são desblocadas.[00219] Another alternative is shown in Figure 9. Figure 9 shows unblocking of all sub-block edges within a CU that overlaps a 4 x 4 sample grid. In this case, after horizontal partitioning of a block of coding block 900 into subblocks 901 or after vertically partitioning a coding block 900 into subblocks 902, all subblock boundaries that overlap a 4 x 4 sample grid are unblocked.

[00220] A Figura 10 mostra o caso quando o tamanho de sub-bloco é < 8 amostras ortogonalmente na direção de desblocagem, então um filtro fraco que usa apenas 3 amostras na decisão e que modifica uma amostra é usado. Um exemplo na Figura 6 usando partição vertical, se W tiver 16 amostras, então cada sub-bloco terá 4 amostras de largura. Neste caso, como mostrado na Figura 10, um filtro fraco que modifica apenas até uma amostra 10314 ou 10331 ao longo das fronteiras de sub-bloco 1032 entre o sub-bloco 1031 e o sub-bloco 1033 pode ser usado. No exemplo mostrado na Figura 10, filtragem é realizada em cada linha dos sub-blocos 1031, 1033 que é perpendicular e adjacente à fronteira de sub-blocos 1032 entre o sub-bloco 1031 e o sub-bloco 1033, por exemplo. Como mostrado na Figura 10, um filtro fraco que modifica apenas até uma amostra 1108 ou 10311 ao longo da borda 1020 entre o bloco vizinho 1010 e o bloco atual 1030 pode ser usado. Em outro exemplo mostrado na Figura 10, filtragem é realizada em cada linha do sub-bloco 1031 ou do bloco vizinho 1010 que é perpendicular a e adjacente à borda 1020 entre o bloco vizinho 1010 e o sub-bloco 1031 do bloco 1030, por exemplo.[00220] Figure 10 shows the case when the sub-block size is < 8 samples orthogonally in the unblocking direction, then a weak filter that uses only 3 samples in the decision and that modifies one sample is used. An example in Figure 6 using vertical partitioning, if W has 16 samples, then each sub-block will be 4 samples wide. In this case, as shown in Figure 10, a weak filter that modifies only up to a sample 10314 or 10331 along the subblock boundaries 1032 between the subblock 1031 and the subblock 1033 can be used. In the example shown in Figure 10, filtering is performed on each row of subblocks 1031, 1033 that is perpendicular and adjacent to the subblock boundary 1032 between subblock 1031 and subblock 1033, for example. As shown in Figure 10, a weak filter that modifies only up to one sample 1108 or 10311 along the edge 1020 between the neighboring block 1010 and the current block 1030 can be used. In another example shown in Figure 10, filtering is performed on each row of subblock 1031 or neighboring block 1010 that is perpendicular to and adjacent to the edge 1020 between neighboring block 1010 and subblock 1031 of block 1030, for example.

[00221] No entanto, as bordas de sub-bloco também podem ser causadas por limitações de tamanho de TU. Em VTM3.0, o maior tamanho de TU é de 64 x 64 amostras. Se uma CU 1100 tem 128 x 128 amostras, então ela será dividida em 4 TUs 1101, resultando em 4 fronteiras de TU 1102, mostradas como na Figura 11. Quando o tamanho de TU máximo é 64, uma CU com interpredição-intrapredição combinada é 128 x 128, a CU é dividida em quatro Tus 1101, a transformada é aplicada na granularidade 64 x 64. Fronteiras de TU 1102 destacadas como linhas tracejadas precisam ser desblocadas.[00221] However, sub-block edges can also be caused by TU size limitations. In VTM3.0, the largest TU size is 64 x 64 samples. If a CU 1100 has 128 x 128 samples, then it will be divided into 4 TUs 1101, resulting in 4 TU boundaries 1102, shown as in Figure 11. When the maximum TU size is 64, a CU with combined interprediction-intraprediction is 128 x 128, the CU is divided into four Tus 1101, the transform is applied at the granularity 64 x 64. TU 1102 boundaries highlighted as dashed lines need to be unblocked.

[00222] A Figura 12 mostra uma unidade de codificação 1200 aplicada com CIIP, e que é ainda dividida em múltiplas unidades de transformada 1201. As fronteiras de TU 1202 destacadas como linhas tracejadas precisam ser desblocadas.[00222] Figure 12 shows a coding unit 1200 applied with CIIP, and which is further divided into multiple transform units 1201. The TU boundaries 1202 highlighted as dashed lines need to be unlocked.

[00223] A Figura 13 ilustra desblocagem de todas as fronteiras de TU de sub-bloco 1302 entre TUs 1301 dentro de uma CU 1300 que se sobrepõe a (estão alinhadas com) uma grade de amostra 8 x 8 a partir da amostra superior esquerda da CU 1300.[00223] Figure 13 illustrates unlocking of all sub-block TU boundaries 1302 between TUs 1301 within a CU 1300 that overlap (are aligned with) an 8 x 8 sample grid from the top left sample of the CU1300.

Fronteiras de TU Dentro de uma Unidade de CodificaçãoTU Boundaries Within a Coding Unit

[00224] Quando certa ferramenta de codificação (por exemplo, transformada de sub-bloco, SBT) é aplicada, bordas de TU 1402 entre TUs 1401 podem ocorrer dentro de uma CU 1400, como mostrado na Figura 14. Uma unidade de codificação 1400 é ainda dividida em múltiplas unidades de transformada 1401 de acordo com ferramenta de codificação de transformada de sub-bloco. Em tais casos, essas bordas de TU internas 1402 dentro de uma unidade de codificação 1400 também podem precisar ser desblocadas.[00224] When a certain coding tool (e.g., sub-block transform, SBT) is applied, edges of TU 1402 between TUs 1401 may occur within a CU 1400, as shown in Figure 14. A coding unit 1400 is further divided into multiple transform units 1401 according to sub-block transform coding tool. In such cases, these internal TU edges 1402 within an encoding unit 1400 may also need to be unlocked.

[00225] Quando SBT é usada para uma CU intercodificada 1400, o tipo de SBT e as informações de posição de SBT são sinalizados no fluxo de bits. Existem dois tipos de SBT e duas posições de SBT, conforme indicado na Figura 14. Para SBT-V (ou SBT-H), a largura (ou altura) de TU pode ser igual à metade da largura (ou altura) de CU ou 1/4 da largura (ou altura) de CU, resultando em separação 2: 2 ou separação 1: 3 / 3: 1. A separação 2: 2 é como uma separação de árvore binária (BT), enquanto a separação 1: 3 / 3: 1 é como uma separação de árvore binária assimétrica (ABT). Na separação de ABT, apenas a pequena região contém o resíduo diferente de zero. Se uma dimensão de uma CU for 8 em amostras de luma, a separação 1: 3 / 3: 1 ao longo dessa dimensão não é permitida. Existem no máximo 8 modos de SBT para uma CU.[00225] When SBT is used for an intercoded CU 1400, the SBT type and SBT position information are signaled in the bit stream. There are two types of SBT and two positions of SBT, as shown in Figure 14. For SBT-V (or SBT-H), the width (or height) of TU can be equal to half the width (or height) of CU or 1/4 the width (or height) of CU, resulting in 2:2 separation or 1:3/3:1 separation. 2:2 separation is like a binary tree (BT) separation, while 1:3 separation /3:1 is like an asymmetric binary tree (ABT) split. In ABT separation, only the small region contains the non-zero residue. If a dimension of a CU is 8 in luma samples, 1:3/3:1 separation along that dimension is not allowed. There are a maximum of 8 SBT modes for a CU.

[00226] A seleção de núcleo de transformada dependente de posição é aplicada em blocos de transformada de luma em SBT-V e SBT-H (TB de croma sempre usando DCT-2). As duas posições de SBT-H e SBT-V estão associadas a diferentes transformadas de núcleo. Mais especificamente, as transformadas horizontal e vertical para cada posição de SBT são especificadas na Figura 14. Por exemplo, as transformadas horizontal e vertical para a posição 0 de SBT-V são DCT-8 e DST-7, respectivamente. Quando um lado da TU residual 1401 é maior que 32, a transformada para ambas as dimensões é definida como DCT-2. Portanto, a transformada de sub-bloco especifica conjuntamente a separação em peças de TU, cbf, e tipo de transformada de núcleo horizontal e vertical de um bloco residual.[00226] Position-dependent transform core selection is applied to luma transform blocks in SBT-V and SBT-H (chroma TB always using DCT-2). The two positions of SBT-H and SBT-V are associated with different kernel transforms. More specifically, the horizontal and vertical transforms for each SBT position are specified in Figure 14. For example, the horizontal and vertical transforms for SBT-V position 0 are DCT-8 and DST-7, respectively. When one side of the residual TU 1401 is greater than 32, the transform for both dimensions is defined as DCT-2. Therefore, the sub-block transform jointly specifies the separation into pieces of TU, cbf, and horizontal and vertical kernel transform type of a residual block.

[00227] Uma variável maxSbtSize é sinalizada em SPS para especificar o tamanho de CU máximo para o qual a SBT pode ser aplicada. No software de referência VTM7, para sequências HD e 4K, maxSbtSize é definido como 64 pelo codificador; para outras sequências de resolução menores, maxSbtSize é definido como 32.[00227] A maxSbtSize variable is flagged in SPS to specify the maximum CU size to which SBT can be applied. In the VTM7 reference software, for HD and 4K sequences, maxSbtSize is set to 64 by the encoder; for other lower resolution strings, maxSbtSize is set to 32.

[00228] A SBT não é aplicada à CU codificada com o modo inter-intra combinado ou modo TPM.[00228] SBT is not applied to CU coded with combined inter-intra mode or TPM mode.

[00229] Da mesma forma, a Figura 15 mostra uma unidade de codificação 1500 que é ainda dividida em múltiplas unidades de transformada 1501 (A, B, C) de acordo com a árvore quádrupla residual (RQT) como transformada de sub- bloco.[00229] Similarly, Figure 15 shows a coding unit 1500 that is further divided into multiple transform units 1501 (A, B, C) according to the residual quadruple tree (RQT) as sub-block transform.

[00230] No restante do pedido, a seguinte terminologia é usada: blocos de CIIP: os blocos de codificação que são preditos pela aplicação da predição de CIIP.[00230] In the remainder of the application, the following terminology is used: CIIP blocks: the coding blocks that are predicted by applying CIIP prediction.

[00231] Blocos intra: os blocos de codificação que são preditos pela aplicação de intrapredição, mas não da predição de CIIP.[00231] Intra blocks: the coding blocks that are predicted by applying intraprediction, but not CIIP prediction.

[00232] Blocos inter: os blocos de codificação que são preditos pela aplicação de interpredição, mas não da predição de CIIP.[00232] Inter blocks: the coding blocks that are predicted by the interprediction application, but not the CIIP prediction.

Filtro de Desblocagem e Força de FronteiraUnlock Filter and Boundary Force

[00233] A invenção, em particular conforme descrito acima no primeiro e segundo aspectos, inclui a realização de um processo de filtragem de desblocagem para fronteira de bloco de transformada entre um primeiro bloco de transformada e um segundo bloco de transformada pelo menos com base no valor do parâmetro de força de fronteira. O parâmetro de força de fronteira é adicionalmente descrito e definido a seguir (consulte a Tabela 1).[00233] The invention, in particular as described above in the first and second aspects, includes carrying out an unblocking filtering process for transform block boundary between a first transform block and a second transform block at least based on the value of the boundary force parameter. The boundary strength parameter is further described and defined below (see Table 1).

[00234] Os esquemas de codificação de vídeo, como HEVC e VVC, são projetados de acordo com o princípio de sucesso da codificação de vídeo híbrida baseada em bloco. Usando este princípio, uma imagem é primeiro particionada em blocos e, em seguida, cada bloco é predito usando a predição intraimagem ou interimagem. Esses blocos são codificados relativamente a partir de blocos vizinhos e se aproximam do sinal original com algum grau de similaridade. Uma vez que os blocos codificados apenas se aproximam do sinal original, a diferença entre as aproximações pode causar descontinuidades nas fronteiras de bloco de predição e transformada. Essas descontinuidades são atenuadas pelo filtro de desblocagem.[00234] Video coding schemes such as HEVC and VVC are designed according to the successful principle of block-based hybrid video coding. Using this principle, an image is first partitioned into blocks and then each block is predicted using intra-image or inter-image prediction. These blocks are encoded relatively from neighboring blocks and approximate the original signal with some degree of similarity. Since the coded blocks only approximate the original signal, the difference between the approximations can cause discontinuities at the prediction and transform block boundaries. These discontinuities are smoothed out by the deblocking filter.

[00235] A decisão de filtrar uma fronteira de bloco usa as informações de fluxo de bits, como modos de predição e vetores de movimento. Algumas condições de codificação são mais propensas a criar artefatos de bloco fortes, que são representados por uma variável chamada de força de fronteira (Bs ou BS) que é atribuída a cada fronteira de bloco e é determinada como na Tabela 1. Tabela 1 [00235] The decision to filter a block boundary uses bitstream information such as prediction modes and motion vectors. Some encoding conditions are more likely to create strong block artifacts, which are represented by a variable called the boundary strength (Bs or BS) that is assigned to each block boundary and is determined as in Table 1. Table 1

[00236] A desblocagem é aplicada apenas às fronteiras de bloco com Bs maior que zero para um componente de luma e Bs maior que 1 para componentes de croma. Valores mais altos de Bs permitem uma filtragem mais forte usando valores de parâmetro de corte mais altos. As condições de derivação de Bs refletem a probabilidade de que os artefatos de bloco mais fortes apareçam nas fronteiras de bloco intrapredito.[00236] Unblocking is only applied to block boundaries with Bs greater than zero for a luma component and Bs greater than 1 for chroma components. Higher values of Bs allow stronger filtering using higher cutoff parameter values. The derivation conditions of Bs reflect the probability that the strongest block artifacts appear at intrapredicted block boundaries.

[00237] Normalmente, os dois blocos adjacentes 1601, 1602 de uma fronteira são rotulados como P e Q, conforme mostrado na Figura 16. A figura representa o caso de uma fronteira vertical. Se uma fronteira horizontal for considerada, a Figura 16 deve ser girada 90 graus no sentido horário, onde P estaria na parte superior e Q na parte inferior.[00237] Typically, the two adjacent blocks 1601, 1602 of a boundary are labeled as P and Q, as shown in Figure 16. The figure represents the case of a vertical boundary. If a horizontal boundary is considered, Figure 16 should be rotated 90 degrees clockwise, where P would be at the top and Q at the bottom.

[00238] O método de acordo com o primeiro aspecto da invenção é ilustrado no fluxograma da Figura 17. O método é um método de desblocagem, para desblocar uma fronteira de bloco de transformada dentro de um bloco de codificação em uma codificação de imagem e / ou decodificação de imagem, em que o bloco de codificação é codificado no modo de interpredição e o bloco de codificação é dividido em blocos de transformada compreendendo um primeiro bloco de transformada e um segundo bloco de transformada que é adjacente ao primeiro bloco de transformada; em que o método compreende um passo 1701 de determinar, quando a fronteira entre o primeiro bloco de transformada e o segundo bloco de transformada é uma fronteira de bloco de transformada e pelo menos um do primeiro bloco de transformada e o segundo bloco de transformada tem um ou mais coeficientes de transformada diferentes zero, um valor de um parâmetro de força de fronteira (BS) para a fronteira entre o primeiro bloco de transformada e o segundo bloco de transformada para ser um primeiro valor; e outros passos 1702 de realizar processo de filtragem de desblocagem para a fronteira entre o primeiro bloco de transformada e o segundo bloco de transformada pelo menos com base no valor do parâmetro de força de fronteira.[00238] The method according to the first aspect of the invention is illustrated in the flowchart of Figure 17. The method is an unlocking method, for unlocking a transform block boundary within a coding block in an image coding and/or or image decoding, wherein the coding block is coded in interprediction mode and the coding block is divided into transform blocks comprising a first transform block and a second transform block that is adjacent to the first transform block; wherein the method comprises a step 1701 of determining when the boundary between the first transform block and the second transform block is a transform block boundary and at least one of the first transform block and the second transform block has a or more non-zero transform coefficients, a value of a boundary strength (BS) parameter for the boundary between the first transform block and the second transform block to be a first value; and other steps 1702 of performing deblocking filtering process for the boundary between the first transform block and the second transform block at least based on the value of the boundary strength parameter.

[00239] O método de acordo com o segundo aspecto da invenção é ilustrado no fluxograma da Figura 18. O método é um método de desblocagem, para desblocar fronteiras de bloco dentro de um bloco de codificação em uma codificação de imagem e / ou decodificação de imagem, em que o bloco de codificação é codificado no modo de interpredição e o bloco de codificação é dividido em blocos de transformada compreendendo um primeiro bloco de transformada e um segundo bloco de transformada que é adjacente ao primeiro bloco de transformada; em que o método compreende um passo 1801 de: em resposta a uma determinação de que uma fronteira de bloco de transformada entre o primeiro bloco de transformada e o segundo bloco de transformada deve ser filtrada, determinar, quando a fronteira entre o primeiro bloco de transformada e o segundo bloco de transformada é uma fronteira de transformada de sub-bloco, SBT, e pelo menos um do primeiro bloco de transformada e o segundo bloco de transformada tem um ou mais coeficientes de transformada diferentes de zero, um valor de um parâmetro de força de fronteira para a fronteira entre o primeiro bloco de transformada e o segundo bloco de transformada para ser um primeiro valor; e um passo 1802 de: realizar processo de filtragem de desblocagem para a fronteira de bloco de transformada entre o primeiro bloco de transformada e o segundo bloco de transformada pelo menos com base no valor do parâmetro de força de fronteira.[00239] The method according to the second aspect of the invention is illustrated in the flowchart of Figure 18. The method is an unlocking method, for unlocking block boundaries within a coding block in an image encoding and/or image decoding. image, wherein the coding block is coded in interprediction mode and the coding block is divided into transform blocks comprising a first transform block and a second transform block that is adjacent to the first transform block; wherein the method comprises a step 1801 of: in response to a determination that a transform block boundary between the first transform block and the second transform block should be filtered, determining, when the boundary between the first transform block and the second transform block is a sub-block transform boundary, SBT, and at least one of the first transform block and the second transform block has one or more non-zero transform coefficients, a value of a transform parameter boundary force for the boundary between the first transform block and the second transform block to be a first value; and a step 1802 of: performing deblocking filtering process for the transform block boundary between the first transform block and the second transform block at least based on the value of the boundary strength parameter.

[00240] A Figura 19 ilustra um dispositivo de acordo com o terceiro aspecto. O dispositivo 1900 compreende um filtro de desblocagem 1901 configurado para desblocar uma fronteira de bloco de transformada dentro de um bloco de codificação, em que o bloco de codificação é codificado (predito) no modo de interpredição e o bloco de codificação compreende blocos de transformada (como tal, o bloco de codificação é dividido (separado) em blocos de transformada durante o processo de interpredição, por exemplo, quando a transformada de sub-bloco é habilitada, a unidade de codificação atual é dividida em duas unidades de transformada) compreendendo um primeiro bloco de transformada e um segundo bloco de transformada que é adjacente ao primeiro bloco de transformada. O filtro de desblocagem 1901 compreende um módulo de determinação 1902 configurado para determinar, quando a fronteira entre o primeiro bloco de transformada e o segundo bloco de transformada é uma fronteira de bloco de transformada e pelo menos um do primeiro bloco de transformada e o segundo bloco de transformada tem um ou mais coeficientes de transformada diferentes de zero, um valor de um parâmetro de força de fronteira para a fronteira entre o primeiro bloco de transformada e o segundo bloco de transformada para ser um primeiro valor; e um módulo de filtragem de desblocagem 1903 configurado para realizar processo de filtragem de desblocagem até a fronteira entre o primeiro bloco de transformada e o segundo bloco de transformada pelo menos com base no primeiro valor do parâmetro de força de fronteira.[00240] Figure 19 illustrates a device according to the third aspect. The device 1900 comprises an deblocking filter 1901 configured to deblock a transform block boundary within a coding block, wherein the coding block is coded (predicted) in interprediction mode and the coding block comprises transform blocks ( as such, the coding block is divided (separated) into transform blocks during the interprediction process, for example, when the sub-block transform is enabled, the current coding unit is divided into two transform units) comprising a first transform block and a second transform block that is adjacent to the first transform block. The deblocking filter 1901 comprises a determination module 1902 configured to determine when the boundary between the first transform block and the second transform block is a transform block boundary and at least one of the first transform block and the second transform block of transform has one or more non-zero transform coefficients, a value of a boundary strength parameter for the boundary between the first transform block and the second transform block to be a first value; and an unblocking filtering module 1903 configured to perform deblocking filtering process up to the boundary between the first transform block and the second transform block at least based on the first value of the boundary strength parameter.

[00241] Em um exemplo, o filtro de desblocagem 1901 pode corresponder ao filtro de loop 220 na Figura 2. Em outro exemplo, o filtro de desblocagem 1901 pode corresponder ao filtro de loop 320 na Figura 3. Correspondentemente, em um exemplo, uma estrutura de exemplo do dispositivo 1900 pode corresponder ao codificador 200 na Figura 2. Em outro exemplo, uma estrutura de exemplo do dispositivo 1900 pode corresponder ao decodificador 300 na Figura 3.[00241] In one example, the deblocking filter 1901 may correspond to the loop filter 220 in Figure 2. In another example, the deblocking filter 1901 may correspond to the loop filter 320 in Figure 3. Correspondingly, in one example, a An example device structure 1900 may correspond to encoder 200 in Figure 2. In another example, an example device structure 1900 may correspond to decoder 300 in Figure 3.

[00242] A Figura 20 ilustra um dispositivo de acordo com o quarto aspecto. O dispositivo 2000 compreende um filtro de desblocagem 2001 configurado para desblocar fronteiras de bloco dentro de um bloco de codificação (unidade de codificação), em que o bloco de codificação é codificado (predito) no modo de interpredição (em particular, o bloco de codificação é codificado em um modo de transformada de sub-bloco, SBT) e o bloco de codificação (um bloco de codificação interpredito é dividido (separado) em blocos de transformada no processo de interpredição, por exemplo, quando a transformada de sub-bloco é habilitada, a unidade de codificação atual é dividida em duas ou mais unidades de transformada) compreendendo um primeiro bloco de transformada e um segundo bloco de transformada que é adjacente ao primeiro bloco de transformada (por exemplo, blocos de transformada contêm p0 e q0 são adjacentes na direção vertical ou horizontal). O filtro de desblocagem 2001 compreende um módulo de determinação 2002 configurado para determinar, quando a fronteira entre o primeiro bloco de transformada e o segundo bloco de transformada é uma fronteira de transformada de sub-bloco, SBT, e pelo menos um do primeiro bloco de transformada e o segundo bloco de transformada tem um ou mais coeficientes de transformada diferentes de zero, um valor de um parâmetro de força de fronteira para a fronteira entre o primeiro bloco de transformada e o segundo bloco de transformada para ser um primeiro valor como tal, em resposta a uma determinação de que uma fronteira de bloco de transformada entre o primeiro bloco de transformada e o segundo bloco de transformada deve ser filtrada; e um módulo de desblocagem 2003 configurado para realizar um processo de filtragem de desblocagem para a fronteira de bloco de transformada entre o primeiro bloco de transformada e o segundo bloco de transformada pelo menos com base no valor do parâmetro de força de fronteira.[00242] Figure 20 illustrates a device according to the fourth aspect. Device 2000 comprises an unlocking filter 2001 configured to unlock block boundaries within a coding block (coding unit), wherein the coding block is coded (predicted) in interprediction mode (in particular, the coding block is encoded in a sub-block transform mode, SBT) and the coding block (an interpredicted coding block is divided (separated) into transform blocks in the interprediction process, for example, when the sub-block transform is enabled, the current coding unit is divided into two or more transform units) comprising a first transform block and a second transform block that is adjacent to the first transform block (e.g., transform blocks containing p0 and q0 are adjacent in the vertical or horizontal direction). The deblocking filter 2001 comprises a determination module 2002 configured to determine, when the boundary between the first transform block and the second transform block is a sub-block transform boundary, SBT, and at least one of the first transform block transformed and the second transform block has one or more non-zero transform coefficients, a value of a boundary strength parameter for the boundary between the first transform block and the second transform block to be a first value as such, in response to a determination that a transform block boundary between the first transform block and the second transform block is to be filtered; and an unblocking module 2003 configured to perform an unblocking filtering process for the transform block boundary between the first transform block and the second transform block at least based on the value of the boundary strength parameter.

[00243] Em um exemplo, o filtro de desblocagem 2001 pode corresponder ao filtro de loop 220 na Figura 2. Em outro exemplo, o filtro de desblocagem 2001 pode corresponder ao filtro de loop 320 na Figura 3. Correspondentemente, em um exemplo, uma estrutura de exemplo do dispositivo 2000 pode corresponder ao codificador 200 na Figura 2. Em outro exemplo, um exemplo de estrutura do dispositivo 2000 pode corresponder ao decodificador 300 na Figura 3.[00243] In one example, the deblocking filter 2001 may correspond to the loop filter 220 in Figure 2. In another example, the deblocking filter 2001 may correspond to the loop filter 320 in Figure 3. Correspondingly, in one example, a example device structure 2000 may correspond to encoder 200 in Figure 2. In another example, an example device structure 2000 may correspond to decoder 300 in Figure 3.

[00244] Um documento de referência Codificação de Vídeo Versátil (Rascunho 3) é definido como Rascunho VVC 3.0 e pode ser encontrado no seguinte link: http://phenix.it-sudparis.eu/jvet/doc_end_user/documents/ 12_Macao/wg11/JVET-L1001-v13.zip.[00244] A Versatile Video Coding (Draft 3) reference document is defined as Draft VVC 3.0 and can be found at the following link: http://phenix.it-sudparis.eu/jvet/doc_end_user/documents/12_Macao/wg11 /JVET-L1001-v13.zip.

[00245] Em um exemplo, de acordo com o 8.6.2.5 do Rascunho VVC 3.0 v9, 8.6.2.5 Processo de derivação de força de filtragem de fronteira as entradas para este processo são: - uma matriz de amostra de imagem recPicture, - uma localização (xCb, yCb) especificando a amostra superior esquerda do bloco de codificação atual em relação à amostra superior esquerda da imagem atual, - uma variável nCbW especificando a largura do bloco de codificação atual, - uma variável nCbH especificando a altura do bloco de codificação atual, - um edgeType variável especificando se uma borda vertical (EDGE_VER) ou horizontal (EDGE_HOR) é filtrada, - uma matriz bidimensional (nCbW) x (nCbH) edgeFlags.[00245] In an example, according to 8.6.2.5 of Draft VVC 3.0 v9, 8.6.2.5 Boundary Filtering Force Derivation Process the inputs to this process are: - a recPicture image sample matrix, - a location (xCb, yCb) specifying the top left sample of the current encoding block relative to the top left sample of the current image, - an nCbW variable specifying the width of the current encoding block, - an nCbH variable specifying the height of the encoding block current, - an edgeType variable specifying whether a vertical (EDGE_VER) or horizontal (EDGE_HOR) edge is filtered, - a two-dimensional (nCbW) x (nCbH) edgeFlags array.

[00246] Saída desse processo é uma matriz bidimensional (nCbW) x (nCbH) bS especificando a força de filtragem de fronteira.[00246] Output of this process is a two-dimensional (nCbW) x (nCbH) bS matrix specifying the boundary filtering strength.

[00247] As variáveis xDi, yDj, xN e yN são derivadas da seguinte forma: - se edgeType for igual a EDGE_VER, xDi é definido igual a (i << 3), yDj é definido igual a (j << 2), xN é definido igual a Max (0, (nCbW / 8) - 1) e yN é definido igual a (nCbH / 4) — 1; - de outro modo (edgeType é igual a EDGE_HOR), xDi é definido igual a (i << 2), yDj é definido igual a (j << 3), xN é definido igual a (nCbW / 4) - 1 e yN é definido igual a Max (0, (nCbH / 8) - 1).[00247] The variables xDi, yDj, xN and yN are derived as follows: - if edgeType is equal to EDGE_VER, xDi is set equal to (i << 3), yDj is set equal to (j << 2), xN is defined equal to Max (0, (nCbW / 8) - 1) and yN is defined equal to (nCbH / 4) — 1; - otherwise (edgeType is equal to EDGE_HOR), xDi is set equal to (i << 2), yDj is set equal to (j << 3), xN is set equal to (nCbW / 4) - 1 and yN is set equal to Max (0, (nCbH / 8) - 1).

[00248] Para xDi com i = 0..xN e yDj com j = 0..yN, aplica-se o seguinte: - se edgeFlags [xDi] [yDj] for igual a 0, a variável bS [xDi] [yDj] será definida igual a 0; - de outro modo, aplica-se o seguinte: - os valores de amostra p0 e q0 são derivados da seguinte forma: - se edgeType for igual a EDGE_VER, p0 é definido igual a recPicture [xCb + xDi - 1] [yCb + yDj] e q0 é definido igual a recPicture [xCb + xDi] [yCb + yDj]; - de outro modo (edgeType é igual a EDGE_HOR), p0 é definido igual a recPicture [xCb + xDi] [yCb + yDj - 1] e q0 é definido igual a recPicture [xCb + xDi] [yCb + yDj].[00248] For xDi with i = 0..xN and yDj with j = 0..yN, the following applies: - if edgeFlags [xDi] [yDj] is equal to 0, the variable bS [xDi] [yDj ] will be set equal to 0; - otherwise, the following applies: - sample values p0 and q0 are derived as follows: - if edgeType is equal to EDGE_VER, p0 is set equal to recPicture [xCb + xDi - 1] [yCb + yDj ] and q0 is set equal to recPicture [xCb + xDi] [yCb + yDj]; - otherwise (edgeType is equal to EDGE_HOR), p0 is set equal to recPicture [xCb + xDi] [yCb + yDj - 1] and q0 is set equal to recPicture [xCb + xDi] [yCb + yDj].

[00249] A variável bS [xDi] [yDj] é derivada da seguinte forma: - se a amostra p0 ou q0 estiver no bloco de codificação de uma unidade de codificação codificada com modo de intrapredição, bS [xDi] [yDj] é definido igual a 2; - de outro modo, se a borda de bloco também for uma borda de bloco de transformada e a amostra p0 ou q0 estiver em um bloco de transformada que contém um ou mais níveis de coeficiente de transformada diferente de zero, bS [xDi] [yDj] é igual para 1; - de outro modo, se uma ou mais das seguintes condições forem verdadeiras, bS [xDi] [yDj] é definido igual a 1: - para a predição do sub-bloco de codificação contendo a amostra p0, diferentes imagens de referência ou um número diferente de vetores de movimento são usados para a predição do sub-bloco de codificação contendo a amostra q0.[00249] The variable bS [xDi] [yDj] is derived as follows: - if the sample p0 or q0 is in the coding block of a coding unit coded with intraprediction mode, bS [xDi] [yDj] is defined equal to 2; - otherwise, if the block edge is also a transform block edge and the sample p0 or q0 is in a transform block that contains one or more non-zero transform coefficient levels, bS [xDi] [yDj ] is equal to 1; - otherwise, if one or more of the following conditions are true, bS [xDi] [yDj] is set equal to 1: - for the prediction of the coding sub-block containing the sample p0, different reference images or a number different motion vectors are used for the prediction of the coding sub-block containing the sample q0.

[00250] NOTA 1 - A determinação de se as imagens de referência usadas para os dois sub-blocos de codificação são iguais ou diferentes é baseada apenas em quais imagens são referenciadas, sem levar em consideração se uma predição é formada usando um índice na lista de imagens de referência 0 ou um índice na lista de imagens de referência 1, e também sem levar em consideração se a posição do índice dentro de uma lista de imagens de referência é diferente.[00250] NOTE 1 - The determination of whether the reference images used for the two coding sub-blocks are the same or different is based solely on which images are referenced, without regard to whether a prediction is formed using an index in the list of reference images 0 or an index in the list of reference images 1, and also without taking into account whether the position of the index within a list of reference images is different.

[00251] NOTA 2 - O número de vetores de movimento que são usados para a predição de um sub-bloco de codificação com cobertura de amostra superior esquerda (xSb, ySb), é igual a PredFlagL0 [xSb] [ySb] + PredFlagL1 [xSb] [ySb].[00251] NOTE 2 - The number of motion vectors that are used for the prediction of a coding sub-block with top left sample coverage (xSb, ySb), is equal to PredFlagL0 [xSb] [ySb] + PredFlagL1 [ xSb] [ySb].

[00252] Um vetor de movimento é usado para predizer o sub-bloco de codificação contendo a amostra p0 e um vetor de movimento é usado para predizer o sub-bloco de codificação contendo a amostra q0, e a diferença absoluta entre o componente horizontal ou vertical dos vetores de movimento usados é maior ou igual a 4 em unidades de amostras de um quarto de luma.[00252] A motion vector is used to predict the coding sub-block containing sample p0, and a motion vector is used to predict the coding sub-block containing sample q0, and the absolute difference between the horizontal component or vertical of the motion vectors used is greater than or equal to 4 in quarter-luma sample units.

[00253] Dois vetores de movimento e duas diferentes imagens de referência são usados para predizer o sub-bloco de codificação contendo a amostra p0, dois vetores de movimento para as mesmas duas imagens de referência são usados para predizer o sub-bloco de codificação contendo a amostra q0 e a diferença absoluta entre o componente horizontal ou vertical dos dois vetores de movimento usados na predição dos dois sub-blocos de codificação para a mesma imagem de referência é maior ou igual a 4 em unidades de amostras de um quarto de luma.[00253] Two motion vectors and two different reference images are used to predict the coding sub-block containing sample p0, two motion vectors for the same two reference images are used to predict the coding sub-block containing the sample q0 and the absolute difference between the horizontal or vertical component of the two motion vectors used in the prediction of the two coding sub-blocks for the same reference image is greater than or equal to 4 in quarter luma sample units.

[00254] Dois vetores de movimento para a mesma imagem de referência são usados para predizer o sub-bloco de codificação contendo a amostra p0, dois vetores de movimento para a mesma imagem de referência são usados para predizer o sub-bloco de codificação contendo a amostra q0 e ambas as seguintes condições são verdadeiras: - a diferença absoluta entre o componente horizontal ou vertical dos vetores de movimento de lista 0 usados na predição dos dois sub-blocos de codificação é maior ou igual a 4 nas amostras de um quarto de luma, ou a diferença absoluta entre o componente horizontal ou vertical dos vetores de movimento de lista 1 usados na predição dos dois sub-blocos de codificação é maior ou igual a 4 em unidades de amostras de um quarto de luma; - a diferença absoluta entre o componente horizontal ou vertical do vetor de movimento de lista 0 usado na predição do sub-bloco de codificação contendo a amostra p0 e o vetor de movimento de lista 1 usado na predição do sub-bloco de codificação contendo a amostra q0 é maior ou igual a 4 em unidades de amostras de um quarto de luma, ou a diferença absoluta entre o componente horizontal ou vertical do vetor de movimento de lista 1 usado na predição do sub-bloco de codificação contendo a amostra p0 e o vetor de movimento de lista 0 usado na predição do sub-bloco de codificação contendo a amostra q0 é maior ou igual a 4 em unidades de amostras de um quarto de luma.[00254] Two motion vectors for the same reference image are used to predict the coding sub-block containing the sample p0, two motion vectors for the same reference image are used to predict the coding sub-block containing the sample q0 and both of the following conditions are true: - the absolute difference between the horizontal or vertical component of the list 0 motion vectors used in the prediction of the two coding sub-blocks is greater than or equal to 4 in the quarter-luma samples , or the absolute difference between the horizontal or vertical component of the list 1 motion vectors used in the prediction of the two coding subblocks is greater than or equal to 4 in quarter-luma sample units; - the absolute difference between the horizontal or vertical component of the list motion vector 0 used in the prediction of the coding sub-block containing the sample p0 and the list motion vector 1 used in the prediction of the coding sub-block containing the sample q0 is greater than or equal to 4 in units of quarter luma samples, or the absolute difference between the horizontal or vertical component of the list 1 motion vector used in the prediction of the coding subblock containing sample p0 and the vector of list movement 0 used in predicting the coding sub-block containing sample q0 is greater than or equal to 4 in quarter-luma sample units.

[00255] De outro modo, a variável bS [xDi] [yDj] é definida igual a 0.[00255] Otherwise, the variable bS [xDi] [yDj] is set equal to 0.

[00256] Além disso, a documentação do VVC se refere à "semântica de árvore de codificação" e "Transformada de Sub- bloco (SBT)" da seguinte forma: 7.4.9.4 Semântica de árvore de codificação cu_sbt_flag igual a 1 especifica que para a unidade de codificação atual, a transformada de sub-bloco é usada. cu_sbt_flag igual a 0 especifica que para a unidade de codificação atual, a transformada de sub-bloco não é usada.[00256] Additionally, the VVC documentation refers to "coding tree semantics" and "Subblock Transform (SBT)" as follows: 7.4.9.4 Coding tree semantics cu_sbt_flag equals 1 specifies that for the current coding unit, the sub-block transform is used. cu_sbt_flag equal to 0 specifies that for the current encoding unit, the subblock transform is not used.

[00257] Quando cu_sbt_flag não está presente, seu valor é considerado igual a 0.[00257] When cu_sbt_flag is not present, its value is considered equal to 0.

[00258] NOTA -: quando transformada de sub-bloco é usada, uma unidade de codificação é separada em duas unidades de transformada; uma unidade de transformação tem dados residuais, a outra não tem dados residuais.[00258] NOTE -: when sub-block transform is used, one coding unit is separated into two transform units; one transformation unit has residual data, the other has no residual data.

[00259] cu_sbt_horizontal_flag igual a 1 especifica que a unidade de codificação atual é separada horizontalmente em 2 unidades de transformada. cu_sbt_horizontal_flag [x0] [y0] igual a 0 especifica que a unidade de codificação atual é separada verticalmente em 2 unidades de transformada.[00259] cu_sbt_horizontal_flag equal to 1 specifies that the current coding unit is separated horizontally into 2 transform units. cu_sbt_horizontal_flag [x0] [y0] equal to 0 specifies that the current encoding unit is separated vertically into 2 transform units.

[00260] De acordo com uma modalidade do presente pedido, se uma CU é dividida em múltiplos sub-blocos e a transformada é aplicada na granularidade de sub-bloco, então a fronteira de TU de sub-bloco dentro de uma CU deve ser desblocada. Esta modalidade propõe desblocar a fronteira de TU de sub-bloco dentro de uma CU em uma maneira adequada.[00260] According to an embodiment of the present application, if a CU is divided into multiple sub-blocks and the transform is applied at the sub-block granularity, then the sub-block TU boundary within a CU must be unblocked . This modality proposes to unlock the sub-block TU boundary within a CU in a suitable manner.

[00261] Nesta modalidade, para uma fronteira com dois lados, como mostrado na Figura 16 (onde os blocos espacialmente adjacentes em cada lado são denotados como bloco P e bloco Q), a força de fronteira é derivada da seguinte forma: • se ambos os blocos P e Q estão em uma mesma CU e a fronteira entre o bloco P e o bloco Q é uma fronteira de TU de sub-bloco, como mostrado na Figura 14 ou Figura 15, então o parâmetro de força de fronteira da referida fronteira é definido de acordo com a seguinte condição: ■ se pelo menos um dos blocos adjacentes P e Q tem pelo menos um coeficiente de transformada diferente de zero, então o parâmetro de força de fronteira da referida fronteira é definido igual a um valor diferente de zero, por exemplo, 1; ■ caso contrário, se ambos os blocos P e Q não tiverem coeficientes de transformada diferentes de zero, então o parâmetro de força de fronteira desta fronteira é definido como igual a 0; • caso contrário, a força de fronteira é derivada como o exemplo acima, ou seja, o processo de derivação de força de fronteira conforme definido na seção 8.6.2.5 do Rascunho VVC 3.0 v9; • as amostras de pixel compreendidas no bloco Q e no bloco P são filtradas com aplicação de um filtro de desblocagem de acordo com a força de fronteira determinada.[00261] In this embodiment, for a boundary with two sides, as shown in Figure 16 (where the spatially adjacent blocks on each side are denoted as block P and block Q), the boundary force is derived as follows: • if both blocks P and Q are in the same CU and the boundary between block P and block Q is a sub-block TU boundary, as shown in Figure 14 or Figure 15, then the boundary strength parameter of said boundary is defined according to the following condition: ■ if at least one of the adjacent blocks P and Q has at least one non-zero transform coefficient, then the boundary strength parameter of said boundary is set equal to a non-zero value , for example, 1; ■ otherwise, if both blocks P and Q do not have non-zero transform coefficients, then the boundary strength parameter of this boundary is set equal to 0; • otherwise, the boundary force is derived as in the example above, i.e. the boundary force derivation process as defined in section 8.6.2.5 of Draft VVC 3.0 v9; • the pixel samples included in the Q block and the P block are filtered by applying an unblocking filter according to the determined boundary strength.

[00262] Em um exemplo, quando as fronteiras de TU de sub-bloco estão alinhadas com uma grade N x M, essas fronteiras de TU de sub-bloco são desblocadas, conforme definido na modalidade acima. Em um exemplo, N é 8, M é 8. Em outro exemplo, N é 4 e M é 4. Caso contrário (se essas fronteiras de TU de sub-bloco não estiverem alinhadas com uma grade N x M), elas não serão desblocadas.[00262] In an example, when sub-block TU boundaries are aligned with an N x M grid, these sub-block TU boundaries are unblocked, as defined in the above embodiment. In one example, N is 8, M is 8. In another example, N is 4 and M is 4. Otherwise (if these sub-block TU boundaries are not aligned with an N x M grid), they will not be unlocked.

[00263] Em um exemplo, para uma CU cuja posição superior esquerda não está alinhada com uma grade 8 x 8 (como mostrado na Figura 13), as fronteiras de TU de sub-bloco que estão alinhadas com a referida grade 8 x 8 são desblocadas, conforme definido na modalidade acima. Caso contrário (essas fronteiras de TU de sub-bloco não estão alinhadas com a grade 8 x 8), elas não são desblocadas.[00263] In an example, for a CU whose upper left position is not aligned with an 8 x 8 grid (as shown in Figure 13), sub-block TU boundaries that are aligned with said 8 x 8 grid are unlocked, as defined in the modality above. Otherwise (these sub-block TU boundaries are not aligned with the 8 x 8 grid), they are not unblocked.

[00264] Em um exemplo, para uma CU cuja posição superior esquerda está alinhada com uma grade 8 x 8 (como mostrado na Figura 13), as fronteiras de TU de sub-bloco que estão alinhadas com a referida grade 8 x 8 são desblocadas, conforme definido na modalidade acima. Caso contrário (essas fronteiras de TU de sub-bloco não estão alinhadas com a grade 8 x 8), elas não são desblocadas.[00264] In an example, for a CU whose upper left position is aligned with an 8 x 8 grid (as shown in Figure 13), sub-block TU boundaries that are aligned with said 8 x 8 grid are unlocked , as defined in the modality above. Otherwise (these sub-block TU boundaries are not aligned with the 8 x 8 grid), they are not unblocked.

[00265] Em um exemplo, independentemente da posição das fronteiras de TU de sub-bloco, todas as fronteiras de TU de sub-bloco dentro de uma CU são desblocadas, conforme definido na modalidade acima.[00265] In one example, regardless of the position of sub-block TU boundaries, all sub-block TU boundaries within a CU are unlocked, as defined in the above embodiment.

[00266] A invenção fornece as seguintes modalidades adicionais: um método de codificação, em que a codificação inclui decodificação ou codificação, e o método compreende: dividir uma unidade de codificação ou um bloco de codificação em pelo menos dois sub-blocos compreendendo um primeiro sub- bloco e um segundo sub-bloco; e quando uma fronteira entre o primeiro sub-bloco e o segundo sub-bloco está alinhada com uma fronteira de unidade de transformada de sub-bloco, definir um valor de um parâmetro de força de fronteira correspondente à fronteira entre o primeiro sub-bloco e o segundo sub-bloco, de acordo com um ou mais coeficientes de transformada do primeiro sub-bloco ou um ou mais coeficientes de transformada do segundo sub-bloco; em que o primeiro sub- bloco e o segundo sub-bloco são blocos de transformada.[00266] The invention provides the following additional embodiments: a coding method, wherein the coding includes decoding or encoding, and the method comprises: dividing a coding unit or a coding block into at least two sub-blocks comprising a first sub-block and a second sub-block; and when a boundary between the first sub-block and the second sub-block is aligned with a sub-block transform unit boundary, setting a value of a boundary strength parameter corresponding to the boundary between the first sub-block and the second sub-block, according to one or more transform coefficients of the first sub-block or one or more transform coefficients of the second sub-block; wherein the first subblock and the second subblock are transform blocks.

[00267] A unidade de codificação ou bloco de codificação pode ser dividido em uma direção horizontal ou vertical.[00267] The coding unit or coding block can be divided in a horizontal or vertical direction.

[00268] Quando um valor de um ou mais coeficientes de transformada do primeiro sub-bloco não é igual a zero, ou quando um valor de um ou mais coeficientes de transformada do segundo sub-bloco não é igual a zero, o valor do parâmetro de força de fronteira pode ser definido para um primeiro valor. O primeiro valor pode não ser igual a zero, em particular, o primeiro valor pode ser 1 ou 2.[00268] When a value of one or more transform coefficients of the first sub-block is not equal to zero, or when a value of one or more transform coefficients of the second sub-block is not equal to zero, the value of the parameter of boundary force can be set to a first value. The first value may not be equal to zero, in particular, the first value may be 1 or 2.

[00269] Quando todos os valores dos coeficientes de transformada do primeiro sub-bloco são iguais a zero, e todos os valores dos coeficientes de transformada do segundo sub- bloco são iguais a zero, o valor do parâmetro de força de fronteira pode ser definido como um segundo valor. O segundo valor pode ser zero.[00269] When all transform coefficient values of the first sub-block are equal to zero, and all transform coefficient values of the second sub-block are equal to zero, the value of the boundary force parameter can be set as a second value. The second value can be zero.

[00270] Um codificador (20) pode compreender conjunto de circuitos de processamento para realizar o método descrito acima. Um decodificador (30) pode compreender conjunto de circuitos de processamento para realizar o método descrito acima.[00270] An encoder (20) may comprise a set of processing circuits to carry out the method described above. A decoder (30) may comprise a set of processing circuits for carrying out the method described above.

[00271] Um programa de computador pode compreender um código de programa para realizar o método descrito acima.[00271] A computer program may comprise program code for carrying out the method described above.

[00272] dE ACORDO COM UM ASPECTO, UM DECODIFICADOR PODE COMPREENDER: UM OU MAIS PROCESSADORES; E UM MEIO DE ARMAZENAMENTO LEGÍVEL POR COMPUTADOR NÃO TRANSITÓRIO ACOPLADO AOS PROCESSADORES E ARMAZENANDO PROGRAMAÇÃO PARA EXECUÇÃO PELOS PROCESSADORES, EM QUE A PROGRAMAÇÃO, QUANDO EXECUTADA PELOS PROCESSADORES, CONFIGURA O DECODIFICADOR PARA REALIZAR O MÉTODO DESCRITO ACIMA.[00272] ACCORDING TO AN ASPECT, A DECODER MAY COMPRISE: ONE OR MORE PROCESSORS; AND A NON-TRANSIENT COMPUTER READABLE STORAGE MEDIUM COUPLED TO THE PROCESSORS AND STORING PROGRAMMING FOR EXECUTION BY THE PROCESSORS, WHICH THE PROGRAMMING, WHEN EXECUTED BY THE PROCESSORS, CONFIGURES THE DECODER TO PERFORM THE METHOD DESCRIBED ABOVE.

[00273] De acordo com um aspecto, um codificador pode compreender: um ou mais processadores; e um meio de armazenamento legível por computador não transitório acoplado aos processadores e armazenando programação para execução pelos processadores, em que a programação, quando executada pelos processadores, configura o codificador para realizar o método descrito acima.[00273] According to one aspect, an encoder may comprise: one or more processors; and a non-transitory computer-readable storage medium coupled to the processors and storing programming for execution by the processors, wherein the programming, when executed by the processors, configures the encoder to perform the method described above.

[00274] A seguir está uma explicação das aplicações do método de codificação, bem como do método de decodificação, conforme mostrado nas modalidades mencionadas acima, e um sistema que as usa.[00274] The following is an explanation of the applications of the encoding method as well as the decoding method as shown in the above-mentioned embodiments and a system that uses them.

[00275] A Figura 21 é um diagrama de blocos mostrando um sistema de fornecimento de conteúdo 3100 para realizar serviço de entrega de conteúdo. Este sistema de fornecimento de conteúdo 3100 inclui dispositivo de captura 3102, dispositivo terminal 3106 e, opcionalmente, inclui tela de exibição 3126. O dispositivo de captura 3102 se comunica com o dispositivo terminal 3106 através do enlace de comunicação 3104. O enlace de comunicação pode incluir o canal de comunicação 13 descrito acima. O enlace de comunicação 3104 inclui, mas não se limita a WIFI, Ethernet, cabo, sem fio (3G / 4G / 5G), USB ou qualquer tipo de combinação dos mesmos, ou semelhantes.[00275] Figure 21 is a block diagram showing a content delivery system 3100 for performing content delivery service. This content delivery system 3100 includes capture device 3102, terminal device 3106, and optionally includes display screen 3126. Capture device 3102 communicates with terminal device 3106 via communication link 3104. The communication link may include the communication channel 13 described above. The 3104 communication link includes, but is not limited to, WIFI, Ethernet, cable, wireless (3G/4G/5G), USB, or any type of combination thereof, or the like.

[00276] O dispositivo de captura 3102 gera dados, e pode codificar os dados pelo método de codificação como mostrado nas modalidades acima. Alternativamente, o dispositivo de captura 3102 pode distribuir os dados para um servidor de streaming (não mostrado nas Figuras), e o servidor codifica os dados e transmite os dados codificados para o dispositivo terminal 3106. O dispositivo de captura 3102 inclui, mas não se limita à câmera, smartphone ou pad, computador ou laptop, sistema de videoconferência, PDA, dispositivo montado em veículo, ou uma combinação de qualquer um deles, ou semelhantes. Por exemplo, o dispositivo de captura 3102 pode incluir o dispositivo de origem 12 como descrito acima. Quando os dados incluem vídeo, o codificador de vídeo 20 incluído no dispositivo de captura 3102 pode atualmente realizar o processamento de codificação de vídeo. Quando os dados incluem áudio (isto é, voz), um codificador de áudio incluído no dispositivo de captura 3102 pode atualmente realizar o processamento de codificação de áudio. Para alguns cenários práticos, o dispositivo de captura 3102 distribui os dados de vídeo e áudio codificados multiplexando-os juntos. Para outros cenários práticos, por exemplo, no sistema de videoconferência, os dados de áudio codificados e os dados de vídeo codificados não são multiplexados. O dispositivo de captura 3102 distribui os dados de áudio codificados e os dados de vídeo codificados para o dispositivo terminal 3106 separadamente.[00276] The capture device 3102 generates data, and can encode the data by the encoding method as shown in the above embodiments. Alternatively, the capture device 3102 may distribute the data to a streaming server (not shown in the Figures), and the server encodes the data and transmits the encoded data to the terminal device 3106. The capture device 3102 includes, but is not limited to, limited to camera, smartphone or pad, computer or laptop, video conferencing system, PDA, vehicle-mounted device, or a combination of any of them, or the like. For example, capture device 3102 may include source device 12 as described above. When the data includes video, the video encoder 20 included in the capture device 3102 can actually perform video encoding processing. When the data includes audio (i.e., voice), an audio encoder included in the capture device 3102 may actually perform audio encoding processing. For some practical scenarios, the capture device 3102 distributes the encoded video and audio data by multiplexing them together. For other practical scenarios, for example, in video conferencing system, the encoded audio data and encoded video data are not multiplexed. The capture device 3102 distributes the encoded audio data and the encoded video data to the terminal device 3106 separately.

[00277] No sistema de fornecimento de conteúdo 3100, o dispositivo terminal 310 recebe e reproduz os dados codificados. O dispositivo terminal 3106 pode ser um dispositivo com capacidade de recepção e recuperação de dados, como smartphone ou Pad 3108, computador ou laptop 3110, gravador de vídeo de rede (NVR) / gravador de vídeo digital (DVR) 3112, TV 3114, decodificador (STB) 3116, sistema de videoconferência 3118, sistema de vigilância por vídeo 3120, assistente digital pessoal (PDA) 3122, dispositivo montado em veículo 3124 ou uma combinação de qualquer um deles, ou semelhantes, capaz de decodificar os dados codificados acima mencionados. Por exemplo, o dispositivo terminal 3106 pode incluir o dispositivo de destino 14, conforme descrito acima. Quando os dados codificados incluem vídeo, o decodificador de vídeo 30 incluído no dispositivo terminal é priorizado para realizar decodificação de vídeo. Quando os dados codificados incluem áudio, um decodificador de áudio incluído no dispositivo terminal é priorizado para realizar processamento de decodificação de áudio.[00277] In the content delivery system 3100, the terminal device 310 receives and reproduces the encoded data. The terminal device 3106 may be a device capable of receiving and retrieving data, such as a smartphone or Pad 3108, computer or laptop 3110, network video recorder (NVR) / digital video recorder (DVR) 3112, TV 3114, set-top box (STB) 3116, video conferencing system 3118, video surveillance system 3120, personal digital assistant (PDA) 3122, vehicle-mounted device 3124, or a combination of any of them, or the like, capable of decoding the aforementioned encoded data. For example, terminal device 3106 may include destination device 14 as described above. When the encoded data includes video, the video decoder 30 included in the terminal device is prioritized to perform video decoding. When the encoded data includes audio, an audio decoder included in the terminal device is prioritized to perform audio decoding processing.

[00278] Para um dispositivo terminal com sua tela de exibição, por exemplo, smartphone ou Pad 3108, computador ou laptop 3110, gravador de vídeo de rede (NVR) / gravador de vídeo digital (DVR) 3112, TV 3114, assistente digital pessoal (PDA) 3122 ou dispositivo montado em veículo 3124, o dispositivo terminal pode alimentar os dados decodificados para sua tela de exibição. Para um dispositivo terminal equipado com nenhuma tela de exibição, por exemplo, STB 3116, sistema de videoconferência 3118 ou sistema de vigilância por vídeo 3120, uma tela de exibição externa 3126 é acoplada nele para receber e mostrar os dados decodificados.[00278] To a terminal device with its display screen, e.g., smartphone or Pad 3108, computer or laptop 3110, network video recorder (NVR)/digital video recorder (DVR) 3112, TV 3114, personal digital assistant (PDA) 3122 or vehicle-mounted device 3124, the terminal device can feed the decoded data to its display screen. For a terminal device equipped with no display screen, e.g., STB 3116, video conferencing system 3118, or video surveillance system 3120, an external display screen 3126 is coupled thereto for receiving and displaying the decoded data.

[00279] Quando cada dispositivo neste sistema realiza codificação ou decodificação, o dispositivo de codificação de imagem ou o dispositivo de decodificação de imagem, como mostrado nas modalidades mencionadas acima, pode ser usado.[00279] When each device in this system performs encoding or decoding, the image encoding device or the image decoding device as shown in the above-mentioned embodiments can be used.

[00280] A Figura 22 é um diagrama mostrando uma estrutura de um exemplo do dispositivo terminal 3106. Após o dispositivo terminal 3106 receber o fluxo a partir do dispositivo de captura 3102, a unidade de processamento de protocolo 3202 analisa o protocolo de transmissão do fluxo. O protocolo inclui, mas não se limita a Protocolo de Streaming em Tempo Real (RTSP), Protocolo de Transferência de Hipertexto (HTTP), Protocolo de Streaming ao Vivo HTTP (HLS), MPEG-DASH, Protocolo de Transporte em Tempo Real (RTP), Protocolo de Mensagens em Tempo Real (RTMP), ou qualquer tipo de combinação dos mesmos, ou semelhantes.[00280] Figure 22 is a diagram showing a structure of an example terminal device 3106. After the terminal device 3106 receives the stream from the capture device 3102, the protocol processing unit 3202 analyzes the stream transmission protocol . The protocol includes but is not limited to Real-Time Streaming Protocol (RTSP), Hypertext Transfer Protocol (HTTP), HTTP Live Streaming Protocol (HLS), MPEG-DASH, Real-Time Transport Protocol (RTP ), Real-Time Messaging Protocol (RTMP), or any type of combination thereof, or similar.

[00281] Após a unidade de procedimento de protocolo 3202 processar o fluxo, o arquivo de fluxo é gerado. O arquivo é emitido para uma unidade de demultiplexação 3204. A unidade de demultiplexação 3204 pode separar os dados multiplexados em dados de áudio codificados e dados de vídeo codificados. Conforme descrito acima, para alguns cenários práticos, por exemplo, no sistema de videoconferência, os dados de áudio codificados e os dados de vídeo codificados não são multiplexados. Nesta situação, os dados codificados são transmitidos para o decodificador de vídeo 3206 e decodificador de áudio 3208 sem ser através da unidade de demultiplexação 3204.[00281] After the protocol procedure unit 3202 processes the stream, the stream file is generated. The file is output to a demultiplexing unit 3204. The demultiplexing unit 3204 can separate the multiplexed data into encoded audio data and encoded video data. As described above, for some practical scenarios, for example, in the video conferencing system, the encoded audio data and encoded video data are not multiplexed. In this situation, the encoded data is transmitted to the video decoder 3206 and audio decoder 3208 other than through the demultiplexing unit 3204.

[00282] Por meio do processamento de demultiplexação, fluxo elementar (ES) de vídeo, ES de áudio e, opcionalmente, legenda são gerados. O decodificador de vídeo 3206, que inclui o decodificador de vídeo 30 conforme explicado nas modalidades mencionadas acima, decodifica o ES de vídeo pelo método de decodificação como mostrado nas modalidades mencionadas acima para gerar quadro de vídeo, e alimenta esses dados para a unidade síncrona 3212. O decodificador de áudio 3208 decodifica o ES de áudio para gerar quadro de áudio e alimenta esses dados para a unidade síncrona 3212. Alternativamente, o quadro de vídeo pode ser armazenado em um armazenamento temporário (não mostrado na Figura 22) antes de alimentá-lo para a unidade síncrona 3212. Da mesma forma, o quadro de áudio pode ser armazenado em um armazenamento temporário (não mostrado na Figura 22) antes de alimentá-lo para a unidade síncrona 3212.[00282] Through demultiplexing processing, video elementary stream (ES), audio ES and, optionally, subtitles are generated. The video decoder 3206, which includes the video decoder 30 as explained in the above-mentioned embodiments, decodes the video ES by the decoding method as shown in the above-mentioned embodiments to generate video frame, and feeds this data to the synchronous unit 3212 The audio decoder 3208 decodes the audio IO to generate audio frame and feeds this data to the synchronous unit 3212. Alternatively, the video frame can be stored in temporary storage (not shown in Figure 22) before being fed to it. it to the synchronous unit 3212. Likewise, the audio frame can be stored in temporary storage (not shown in Figure 22) before feeding it to the synchronous unit 3212.

[00283] A unidade síncrona 3212 sincroniza o quadro de vídeo e o quadro de áudio, e fornece o vídeo / áudio a uma tela de exibição de vídeo / áudio 3214. Por exemplo, a unidade síncrona 3212 sincroniza a apresentação das informações de vídeo e áudio. As informações podem codificar na sintaxe usando time stamps relativos à apresentação de dados de áudio e visuais codificados e time stamps relativos à entrega do próprio fluxo de dados.[00283] The synchronous unit 3212 synchronizes the video frame and the audio frame, and provides the video/audio to a video/audio display screen 3214. For example, the synchronous unit 3212 synchronizes the presentation of video information and audio. Information can be encoded in syntax using timestamps relating to the presentation of encoded audio and visual data and timestamps relating to the delivery of the data stream itself.

[00284] Se a legenda for incluída no fluxo, o decodificador de legenda 3210 decodifica a legenda, e sincroniza com o quadro de vídeo e o quadro de áudio, e fornece o vídeo / áudio / legenda para uma tela de exibição de vídeo / áudio / legenda 3216.[00284] If the subtitle is included in the stream, the subtitle decoder 3210 decodes the subtitle, and synchronizes it with the video frame and the audio frame, and provides the video/audio/subtitle to a video/audio display screen / caption 3216.

[00285] A presente invenção não está limitada ao sistema acima mencionado, e tanto o dispositivo de codificação de imagem quanto o dispositivo de decodificação de imagem nas modalidades acima mencionadas podem ser incorporados em outro sistema, por exemplo, um sistema de carro.[00285] The present invention is not limited to the above-mentioned system, and both the image encoding device and the image decoding device in the above-mentioned embodiments can be incorporated into another system, for example, a car system.

[00286] A invenção foi descrita em conjunto com várias modalidades aqui. No entanto, outras variações das modalidades divulgadas podem ser compreendidas e realizadas por aqueles versados na técnica na prática da invenção reivindicada, a partir de um estudo dos desenhos, da divulgação e das reivindicações anexas. Nas reivindicações, a palavra "compreendendo" não exclui outros elementos ou passos e o artigo indefinido "um" ou "uma" não exclui uma pluralidade. Um único processador ou outra unidade pode cumprir as funções de vários itens citados nas reivindicações. O mero fato de que certas medidas são citadas em reivindicações dependentes geralmente diferentes não indica que uma combinação dessas medidas não possa ser usada com vantagem. Um programa de computador pode ser armazenado / distribuído em um meio adequado, como um meio de armazenamento ótico ou um meio de estado sólido fornecido junto com ou como parte de outro hardware, mas também pode ser distribuído em outras formas, como via Internet ou outros sistemas de comunicação com ou sem fio.[00286] The invention has been described together with various embodiments here. However, other variations of the disclosed embodiments can be understood and carried out by those skilled in the art in the practice of the claimed invention, from a study of the drawings, the disclosure and the appended claims. In the claims, the word "comprising" does not exclude other elements or steps and the indefinite article "a" or "an" does not exclude a plurality. A single processor or other unit can fulfill the functions of several items cited in the claims. The mere fact that certain measures are cited in generally different dependent claims does not indicate that a combination of these measures cannot be used to advantage. A computer program may be stored/distributed on a suitable medium, such as an optical storage medium or a solid-state medium provided along with or as part of other hardware, but may also be distributed in other ways, such as via the Internet or other wired or wireless communication systems.

[00287] O versado na técnica entenderá que os "blocos" ("unidades") das várias figuras (método e aparelho) representam ou descrevem as funcionalidades das modalidades da invenção (em vez de necessariamente "unidades" individuais em hardware ou software) e assim, descrevem igualmente funções ou recursos de modalidades de aparelho, bem como modalidades de método (unidade = passo).[00287] One skilled in the art will understand that the "blocks" ("units") of the various figures (method and apparatus) represent or describe the functionalities of the embodiments of the invention (rather than necessarily individual "units" in hardware or software) and thus, they equally describe functions or features of apparatus modalities as well as method modalities (unit = step).

[00288] A terminologia de "unidades" é usada apenas para fins ilustrativos da funcionalidade de modalidades do codificador / decodificador e não se destina a limitar a divulgação.[00288] The terminology of "units" is used solely for illustrative purposes of the functionality of encoder/decoder embodiments and is not intended to limit the disclosure.

[00289] Nas várias modalidades fornecidas no presente pedido, deve ser entendido que o sistema, aparelho e método divulgados podem ser implementados de outras maneiras. Por exemplo, a modalidade de aparelho descrita é meramente exemplar. Por exemplo, a divisão de unidade é meramente uma divisão de função lógica e pode ser outra divisão na implementação real. Por exemplo, uma pluralidade de unidades ou componentes pode ser combinada ou integrada em outro sistema, ou alguns recursos podem ser ignorados ou não realizados. Além disso, os acoplamentos mútuos ou acoplamentos diretos ou conexões de comunicação exibidos ou discutidos podem ser implementados usando algumas interfaces. Os acoplamentos indiretos ou conexões de comunicação entre os aparelhos ou unidades podem ser implementados em formas eletrônicas, mecânicas ou outras.[00289] In the various embodiments provided in the present application, it should be understood that the disclosed system, apparatus and method can be implemented in other ways. For example, the apparatus embodiment described is merely exemplary. For example, unit division is merely a logical function division and may be another division in the actual implementation. For example, a plurality of units or components may be combined or integrated into another system, or some features may be ignored or not realized. Furthermore, the mutual couplings or direct couplings or communication connections shown or discussed can be implemented using some interfaces. Indirect couplings or communication connections between devices or units can be implemented in electronic, mechanical or other forms.

[00290] As unidades descritas como partes separadas podem ou não ser fisicamente separadas, e as partes exibidas como unidades podem ou não ser unidades físicas, podem estar localizadas em uma posição ou podem ser distribuídas em uma pluralidade de unidades de rede. Algumas ou todas as unidades podem ser selecionadas de acordo com as necessidades atuais para atingir os objetivos das soluções das modalidades.[00290] The units described as separate parts may or may not be physically separate, and the parts shown as units may or may not be physical units, may be located in one position, or may be distributed across a plurality of network units. Some or all units may be selected according to current needs to achieve the modalities solution objectives.

[00291] Além disso, unidades funcionais nas modalidades da presente invenção podem ser integradas em uma unidade de processamento, ou cada uma das unidades pode existir sozinha fisicamente, ou duas ou mais unidades são integradas em uma unidade.[00291] Furthermore, functional units in embodiments of the present invention may be integrated into a processing unit, or each of the units may physically exist alone, or two or more units are integrated into one unit.

[00292] Embora as modalidades da invenção tenham sido descritas principalmente com base na codificação de vídeo, deve ser notado que as modalidades do sistema de codificação 10, codificador 20 e decodificador 30 (e correspondentemente o sistema 10) e as outras modalidades aqui descritas também podem ser configuradas para processamento ou codificação de imagem, isto é, o processamento ou codificação de uma imagem individual independente de qualquer imagem precedente ou consecutiva como na codificação de vídeo. Em geral, apenas as unidades de interpredição 244 (codificador) e 344 (decodificador) podem não estar disponíveis no caso da codificação de processamento de imagem ser limitada a uma única imagem 17. Todas as outras funcionalidades (também referidas como ferramentas ou tecnologias) do codificador de vídeo 20 e do decodificador de vídeo 30 podem igualmente ser usadas para processamento de imagens estáticas, por exemplo, cálculo residual 204/304, transformada 206, quantização 208, quantização inversa 210/310, transformada (inversa) 212/312, particionamento 262/362, intrapredição 254 / 354 e / ou filtragem de loop 220, 320 e codificação de entropia 270 e decodificação de entropia 304.[00292] Although embodiments of the invention have been described primarily based on video coding, it should be noted that embodiments of the encoding system 10, encoder 20 and decoder 30 (and correspondingly the system 10) and the other embodiments described herein also can be configured for image processing or coding, that is, the processing or coding of an individual image independent of any preceding or consecutive image as in video coding. In general, only the interprediction units 244 (encoder) and 344 (decoder) may not be available in the event that image processing coding is limited to a single image 17. All other features (also referred to as tools or technologies) of video encoder 20 and video decoder 30 may also be used for still image processing, e.g., residual calculation 204/304, transform 206, quantization 208, inverse quantization 210/310, (inverse) transform 212/312, partitioning 262/362, intraprediction 254/354 and/or loop filtering 220, 320 and entropy coding 270 and entropy decoding 304.

[00293] As modalidades, por exemplo, do codificador 20 e do decodificador 30, e funções aqui descritas, por exemplo, com referência ao codificador 20 e ao decodificador 30, podem ser implementadas em hardware, software, firmware ou qualquer combinação dos mesmos. Se implementadas em software, as funções podem ser armazenadas em um meio legível por computador ou transmitidas por meio de comunicação como uma ou mais instruções ou código, e executadas por uma unidade de processamento baseada em hardware. O meio legível por computador pode incluir meio de armazenamento legível por computador, que corresponde a um meio tangível, como meio de armazenamento de dados ou meio de comunicação, incluindo qualquer meio que facilite a transferência de um programa de computador de um lugar para outro, por exemplo, de acordo com um protocolo de comunicação. Desta maneira, o meio legível por computador geralmente pode corresponder a (1) meio de armazenamento legível por computador tangível que é não transitório ou (2) um meio de comunicação, como um sinal ou onda portadora. O meio de armazenamento de dados pode ser qualquer meio disponível que pode ser acessado por um ou mais computadores ou um ou mais processadores para recuperar instruções, código e / ou estruturas de dados para implementação das técnicas descritas nesta divulgação. Um produto de programa de computador pode incluir um meio legível por computador.[00293] Embodiments of, for example, encoder 20 and decoder 30, and functions described herein, for example, with reference to encoder 20 and decoder 30, may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, functions may be stored in a computer-readable medium or transmitted via communication as one or more instructions or code, and executed by a hardware-based processing unit. Computer-readable medium may include computer-readable storage medium, which corresponds to a tangible medium, such as a data storage medium or communication medium, including any medium that facilitates the transfer of a computer program from one place to another, for example, according to a communication protocol. In this way, computer-readable medium generally can correspond to (1) tangible computer-readable storage medium that is non-transitory or (2) a communication medium, such as a signal or carrier wave. The data storage medium may be any available medium that can be accessed by one or more computers or one or more processors to retrieve instructions, code and/or data structures for implementing the techniques described in this disclosure. A computer program product may include a computer-readable medium.

[00294] A título de exemplo, e não limitação, tal meio de armazenamento legível por computador pode compreender RAM, ROM, EEPROM, CD-ROM ou outro armazenamento de disco ótico, armazenamento de disco magnético ou outros dispositivos de armazenamento magnético, memória flash ou qualquer outro meio que pode ser usado para armazenar o código de programa desejado na forma de instruções ou estruturas de dados e que pode ser acessado por um computador. Além disso, qualquer conexão é apropriadamente denominada meio legível por computador. Por exemplo, se as instruções são transmitidas de um site, servidor ou outra fonte remota usando um cabo coaxial, cabo de fibra ótica, par trançado, linha de assinante digital (DSL) ou tecnologias sem fio, como infravermelho, rádio e micro-ondas, então o cabo coaxial, cabo de fibra ótica, par trançado, DSL ou tecnologias sem fio, como infravermelho, rádio e microondas, estão incluídos na definição de meio. Deve ser entendido, no entanto, que o meio de armazenamento legível por computador e o meio de armazenamento de dados não incluem conexões, ondas portadoras, sinais ou outros meios transitórios, mas são direcionados para meios de armazenamento tangíveis não transitórios. Disco (disk) e disco (disc), conforme usados aqui, incluem disco compacto (CD), disco laser, disco ótico, disco versátil digital (DVD), disquete e disco Blu-ray, onde os discos (disks) geralmente reproduzem dados magneticamente, enquanto os discos (discs) reproduzem dados oticamente com lasers. As combinações dos itens acima também devem ser incluídas no escopo do meio legível por computador.[00294] By way of example, and not limitation, such computer-readable storage medium may comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, flash memory or any other medium that can be used to store desired program code in the form of instructions or data structures and that can be accessed by a computer. Furthermore, any connection is appropriately called a computer-readable medium. For example, if instructions are transmitted from a website, server, or other remote source using coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technologies such as infrared, radio, and microwave , then coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio, and microwave are included in the definition of medium. It must be understood, however, that the computer-readable storage medium and the data storage medium do not include connections, carrier waves, signals or other transient media, but are directed to tangible non-transitory storage media. Disk and disc as used herein include compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk, and Blu-ray disc, where disks generally reproduce data magnetically, while discs reproduce data optically with lasers. Combinations of the above must also be included in the scope of the machine-readable medium.

[00295] As instruções podem ser executadas por um ou mais processadores, como um ou mais processadores de sinal digital (DSPs), microprocessadores de propósito geral, circuitos integrados de aplicação específica (ASICs), matrizes lógicas programáveis em campo (FPGAs) ou outros conjunto de circuitos lógicos integrados ou discretos equivalentes. Consequentemente, o termo "processador", conforme usado neste documento, pode se referir a qualquer uma das estruturas anteriores ou qualquer outra estrutura adequada para a implementação das técnicas descritas neste documento. Além disso, em alguns aspectos, a funcionalidade aqui descrita pode ser fornecida em módulos de hardware e / ou software dedicados configurados para codificação e decodificação, ou incorporados em um codec combinado. Além disso, as técnicas podem ser totalmente implementadas em um ou mais circuitos ou elementos lógicos.[00295] Instructions may be executed by one or more processors, such as one or more digital signal processors (DSPs), general-purpose microprocessors, application-specific integrated circuits (ASICs), field-programmable logic arrays (FPGAs), or others set of equivalent integrated or discrete logic circuits. Accordingly, the term "processor" as used herein may refer to any of the foregoing frameworks or any other framework suitable for implementing the techniques described herein. Additionally, in some aspects, the functionality described herein may be provided in dedicated hardware and/or software modules configured for encoding and decoding, or incorporated into a combined codec. Furthermore, the techniques can be fully implemented in one or more circuits or logic elements.

[00296] As técnicas desta divulgação podem ser implementadas em uma ampla variedade de dispositivos ou aparelhos, incluindo um handset sem fio, um circuito integrado (IC) ou um conjunto de ICs (por exemplo, um conjunto de chips). Vários componentes, módulos ou unidades são descritos nesta divulgação para enfatizar os aspectos funcionais dos dispositivos configurados para executar as técnicas divulgadas, mas não necessariamente requerem a realização por diferentes unidades de hardware. Em vez disso, conforme descrito acima, várias unidades podem ser combinadas em uma unidade de hardware de codec ou fornecidas por uma coleção de unidades de hardware interoperativas, incluindo um ou mais processadores, conforme descrito acima, em conjunto com software e / ou firmware adequados.[00296] The techniques of this disclosure can be implemented in a wide variety of devices or apparatus, including a wireless handset, an integrated circuit (IC), or a set of ICs (e.g., a chip set). Various components, modules or units are described in this disclosure to emphasize functional aspects of devices configured to perform the disclosed techniques, but do not necessarily require performance by different hardware units. Instead, as described above, multiple units may be combined into a codec hardware unit or provided by a collection of interoperating hardware units, including one or more processors, as described above, in conjunction with suitable software and/or firmware. .

Claims (24)

1. Método de desblocagem, para desblocar uma fronteira de bloco de transformada dentro de um bloco de codificação em uma codificação de imagem e / ou uma decodificação de imagem, em que o bloco de codificação que compreende blocos de transformada é codificado no modo de interpredição e os blocos de transformada compreendem um primeiro bloco de transformada e um segundo bloco de transformada que é adjacente ao primeiro bloco de transformada, em que a fronteira de bloco de transformada entre o primeiro e o segundo blocos de transformada está alinhada com uma grade de amostra n x n, em que n é um número inteiro; caracterizado pelo fato de que o método compreende: - determinar, quando a fronteira entre o primeiro bloco de transformada e o segundo bloco de transformada é uma fronteira de bloco de transformada e pelo menos um dentre o primeiro bloco de transformada e o segundo bloco de transformada tem um ou mais coeficientes de transformada diferentes de zero, um valor de um parâmetro de força de fronteira, BS, para a fronteira entre o primeiro bloco de transformada e o segundo bloco de transformada ser um primeiro valor.1. Unblocking method, for unlocking a transform block boundary within a coding block in an image encoding and/or an image decoding, wherein the encoding block comprising transform blocks is encoded in the interprediction mode and the transform blocks comprise a first transform block and a second transform block that is adjacent to the first transform block, wherein the transform block boundary between the first and second transform blocks is aligned with a sample grid n x n, where n is an integer; characterized by the fact that the method comprises: - determining, when the boundary between the first transform block and the second transform block is a transform block boundary and at least one of the first transform block and the second transform block has one or more non-zero transform coefficients, a value of a boundary strength parameter, BS, for the boundary between the first transform block and the second transform block being a first value. 2. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que a fronteira entre o primeiro bloco de transformada e o segundo bloco de transformada é uma fronteira de transformada de sub-bloco, SBT.2. Method according to claim 1, characterized by the fact that the boundary between the first transform block and the second transform block is a sub-block transform boundary, SBT. 3. Método, de acordo com qualquer uma das reivindicações anteriores, caracterizado pelo fato de que os blocos de transformada compreendem ainda um terceiro bloco de transformada que é adjacente ao segundo bloco de transformada; e em que o método compreende ainda: - determinar, quando a fronteira entre o segundo bloco de transformada e o terceiro bloco de transformada é uma fronteira de transformada de sub-bloco, SBT, e pelo menos um dentre o segundo bloco de transformada e o terceiro bloco de transformada tem um ou mais coeficientes de transformada diferentes de zero, um valor de um parâmetro de força de fronteira para a fronteira entre o segundo bloco de transformada e o terceiro bloco de transformada ser um primeiro valor; ou - determinar, quando a fronteira entre o segundo bloco de transformada e o terceiro bloco de transformada é uma transformada de sub-bloco, a fronteira de SBT e ambos o segundo bloco de transformada e o terceiro bloco de transformada têm coeficientes de transformada zero, um valor de um parâmetro de força de fronteira para a fronteira entre o segundo bloco de transformada e o terceiro bloco de transformada ser um segundo valor.3. Method according to any one of the preceding claims, characterized in that the transform blocks further comprise a third transform block that is adjacent to the second transform block; and wherein the method further comprises: - determining, when the boundary between the second transform block and the third transform block is a sub-block transform boundary, SBT, and at least one of the second transform block and the third transform block has one or more non-zero transform coefficients, a value of a boundary strength parameter for the boundary between the second transform block and the third transform block being a first value; or - determine, when the boundary between the second transform block and the third transform block is a sub-block transform, the SBT boundary and both the second transform block and the third transform block have zero transform coefficients, a value of a boundary strength parameter for the boundary between the second transform block and the third transform block is a second value. 4. Método, de acordo com qualquer uma das reivindicações anteriores, caracterizado pelo fato de que o primeiro valor é 1.4. Method according to any of the preceding claims, characterized by the fact that the first value is 1. 5. Método, de acordo com a reivindicação 3, caracterizado pelo fato de que o segundo valor é zero.5. Method according to claim 3, characterized by the fact that the second value is zero. 6. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que n é 4 ou 8.6. Method according to claim 1, characterized by the fact that n is 4 or 8. 7. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que a grade de amostra n x n é grade de amostra 4 x 4 para as amostras do primeiro e segundo blocos de transformada sendo amostras de luma; ou 5. grade de amostra n x n é uma grade de amostra 8 x 8 para as amostras do primeiro e segundo blocos de transformada sendo amostras de croma.7. Method according to claim 1, characterized by the fact that the n x n sample grid is 4 x 4 sample grid for the samples of the first and second transform blocks being luma samples; or 5. n x n sample grid is an 8 x 8 sample grid for the samples from the first and second transform blocks being chroma samples. 8. Método, de acordo com qualquer uma das reivindicações 1 a 7, caracterizado pelo fato de que, se o bloco de codificação for dividido em uma direção horizontal, a fronteira de bloco de transformada entre o primeiro bloco de transformada e o segundo bloco de transformada é uma fronteira de bloco de transformada horizontal; ou se o bloco de codificação for dividido em uma direção vertical, a fronteira de bloco de transformada entre o primeiro bloco de transformada e o segundo bloco de transformada é uma fronteira de bloco de transformada vertical.8. Method according to any one of claims 1 to 7, characterized by the fact that, if the coding block is divided in a horizontal direction, the transform block boundary between the first transform block and the second transform block transform is a horizontal transform block boundary; or if the coding block is divided in a vertical direction, the transform block boundary between the first transform block and the second transform block is a vertical transform block boundary. 9. Método, de acordo com qualquer uma das reivindicações 1 a 8, caracterizado pelo fato de que o bloco de codificação atual é codificado usando uma ferramenta de transformada de sub-bloco, SBT, ou a fronteira de bloco de transformada é causada por uma ferramenta de transformada de sub-bloco, SBT.9. Method according to any one of claims 1 to 8, characterized by the fact that the current coding block is encoded using a sub-block transform tool, SBT, or the transform block boundary is caused by a sub-block transform tool, SBT. 10. Dispositivo para uso em um codificador de imagem e / ou um decodificador de imagem, para desblocar uma fronteira de bloco de transformada dentro de um bloco de codificação, em que o bloco de codificação que compreende blocos de transformada é codificado no modo de interpredição e os blocos de transformada compreendem um primeiro bloco de transformada e um segundo bloco de transformada que é adjacente ao primeiro bloco de transformada, em que a fronteira de bloco de transformada entre o primeiro e o segundo blocos de transformada está alinhada com uma grade de amostra n x n, em que n é um número inteiro; caracterizado pelo fato de que o dispositivo compreende um filtro de desblocagem configurado para: - determinar, quando uma fronteira entre o primeiro bloco de transformada e o segundo bloco de transformada é uma fronteira de unidade de transformada e pelo menos um dentre o primeiro bloco de transformada e o segundo bloco de transformada tem um ou mais coeficientes de transformada diferentes de zero, um valor de um parâmetro de força de fronteira para a fronteira entre o primeiro bloco de transformada e o segundo bloco de transformada ser um primeiro valor.10. Device for use in an image encoder and/or an image decoder, for unlocking a transform block boundary within a coding block, wherein the coding block comprising transform blocks is coded in the interprediction mode and the transform blocks comprise a first transform block and a second transform block that is adjacent to the first transform block, wherein the transform block boundary between the first and second transform blocks is aligned with a sample grid n x n, where n is an integer; characterized by the fact that the device comprises an unblocking filter configured to: - determine, when a boundary between the first transform block and the second transform block is a transform unit boundary and at least one of the first transform block and the second transform block has one or more non-zero transform coefficients, a value of a boundary strength parameter for the boundary between the first transform block and the second transform block being a first value. 11. Dispositivo, de acordo com a reivindicação 10, caracterizado pelo fato de que a fronteira entre o primeiro bloco de transformada e o segundo bloco de transformada é uma fronteira de transformada de sub-bloco, SBT.11. The device of claim 10, wherein the boundary between the first transform block and the second transform block is a sub-block transform boundary, SBT. 12. Dispositivo, de acordo com a reivindicação 10 ou 11, caracterizado pelo fato de que os blocos de transformada compreendem ainda um terceiro bloco de transformada que é adjacente ao segundo bloco de transformada, e o filtro de desblocagem é ainda configurado para determinar, quando a fronteira entre o segundo bloco de transformada e o terceiro bloco de transformada é uma fronteira de transformada de sub-bloco, SBT, e pelo menos um dentre o segundo bloco de transformada e o terceiro bloco de transformada tem um ou mais coeficientes de transformada diferentes de zero, um valor de um parâmetro de força de fronteira para a fronteira entre o segundo bloco de transformada e o terceiro bloco de transformada ser um primeiro valor; ou - determinar, quando a fronteira entre o segundo bloco de transformada e o terceiro bloco de transformada é uma transformada de sub-bloco, a fronteira de SBT e ambos o segundo bloco de transformada e o terceiro bloco de transformada têm coeficientes de transformada zero, um valor de um parâmetro de força de fronteira para a fronteira entre o segundo bloco de transformada e o terceiro bloco de transformada ser um segundo valor.12. Device according to claim 10 or 11, characterized in that the transform blocks further comprise a third transform block that is adjacent to the second transform block, and the deblocking filter is further configured to determine, when the boundary between the second transform block and the third transform block is a sub-block transform boundary, SBT, and at least one of the second transform block and the third transform block has one or more different transform coefficients from zero, a value of a boundary strength parameter for the boundary between the second transform block and the third transform block is a first value; or - determine, when the boundary between the second transform block and the third transform block is a sub-block transform, the SBT boundary and both the second transform block and the third transform block have zero transform coefficients, a value of a boundary strength parameter for the boundary between the second transform block and the third transform block is a second value. 13. Dispositivo, de acordo com qualquer uma das reivindicações 10 a 12, caracterizado pelo fato de que o primeiro valor é 1.13. Device according to any one of claims 10 to 12, characterized by the fact that the first value is 1. 14. Dispositivo, de acordo com a reivindicação 12, caracterizado pelo fato de que o segundo valor é zero.14. Device according to claim 12, characterized by the fact that the second value is zero. 15. Dispositivo, de acordo com a reivindicação 10, caracterizado pelo fato de que n é 4 ou 8.15. Device according to claim 10, characterized by the fact that n is 4 or 8. 16. Dispositivo, de acordo com a reivindicação 10, caracterizado pelo fato de que a grade de amostra n x n é grade de amostra 4 x 4 para as amostras do primeiro e segundo blocos de transformada sendo amostras de luma; ou a grade de amostra n x n é uma grade de amostra 8 x 8 para as amostras do primeiro e segundo blocos de transformada sendo amostras de croma.16. Device according to claim 10, characterized by the fact that the n x n sample grid is 4 x 4 sample grid for the samples of the first and second transform blocks being luma samples; or the n x n sample grid is an 8 x 8 sample grid for the samples from the first and second transform blocks being chroma samples. 17. Dispositivo, de acordo com qualquer uma das reivindicações 10 a 16, caracterizado pelo fato de que, se o bloco de codificação for dividido em uma direção horizontal, a fronteira de bloco de transformada entre o primeiro bloco de transformada e o segundo bloco de transformada é uma fronteira de bloco de transformada horizontal; ou se o bloco de codificação for dividido em uma direção vertical, a fronteira de bloco de transformada entre o primeiro bloco de transformada e o segundo bloco de transformada é uma fronteira de bloco de transformada vertical.17. Device according to any one of claims 10 to 16, characterized by the fact that, if the coding block is divided in a horizontal direction, the transform block boundary between the first transform block and the second transform block transform is a horizontal transform block boundary; or if the coding block is divided in a vertical direction, the transform block boundary between the first transform block and the second transform block is a vertical transform block boundary. 18. Dispositivo, de acordo com qualquer uma das reivindicações 10 a 17, caracterizado pelo fato de que o bloco de codificação atual é codificado usando uma ferramenta de transformada de sub-bloco, SBT, ou a fronteira de bloco de transformada é realizada por uma ferramenta de transformada de sub-bloco, SBT.18. Device according to any one of claims 10 to 17, characterized by the fact that the current coding block is encoded using a sub-block transform tool, SBT, or the transform block boundary is performed by a sub-block transform tool, SBT. 19. Codificador (20), caracterizado pelo fato de que compreende conjunto de circuitos de processamento para realizar o método conforme definido em qualquer uma das reivindicações 1 a 9.19. Encoder (20), characterized by the fact that it comprises a set of processing circuits to carry out the method as defined in any one of claims 1 to 9. 20. Decodificador (30), caracterizado pelo fato de que compreende conjunto de circuitos de processamento para realizar o método conforme definido em qualquer uma das reivindicações 1 a 9.20. Decoder (30), characterized by the fact that it comprises a set of processing circuits to carry out the method as defined in any one of claims 1 to 9. 21. Meio legível por computador não transitório, caracterizado pelo fato de que transporta instruções que, quando executadas por um dispositivo de computador, faz o dispositivo de computador realizar o método conforme definido em qualquer uma das reivindicações 1 a 9.21. Non-transitory computer readable medium, characterized in that it carries instructions that, when executed by a computer device, causes the computer device to perform the method as defined in any one of claims 1 to 9. 22. Decodificador, caracterizado pelo fato de que compreende: um ou mais processadores; e um meio de armazenamento legível por computador não transitório acoplado aos processadores e armazenando instruções para execução pelos processadores, em que as instruções, quando executadas pelos processadores, configura o decodificador para realizar o método conforme definido em qualquer uma das reivindicações 1 a 9.22. Decoder, characterized by the fact that it comprises: one or more processors; and a non-transitory computer-readable storage medium coupled to the processors and storing instructions for execution by the processors, wherein the instructions, when executed by the processors, configure the decoder to perform the method as defined in any one of claims 1 to 9. 23. Codificador, caracterizado pelo fato de que compreende: um ou mais processadores; e um meio de armazenamento legível por computador não transitório acoplado aos processadores e armazenando instruções para execução pelos processadores, em que as instruções, quando executadas pelos processadores, configura o codificador para realizar o método conforme definido em qualquer uma das reivindicações 1 a 9.23. Encoder, characterized by the fact that it comprises: one or more processors; and a non-transitory computer-readable storage medium coupled to the processors and storing instructions for execution by the processors, wherein the instructions, when executed by the processors, configure the encoder to perform the method as defined in any one of claims 1 to 9. 24. Meio legível por computador não transitório, caracterizado pelo fato de que armazena um fluxo de bits e uma ou mais instruções executáveis por pelo menos um processador, para realizar operações de codificação e decodificação do fluxo de bits, as operações compreendendo: desblocar uma fronteira de bloco de transformada dentro de um bloco de codificação, em um codificador de imagem e / ou um decodificador de imagem, em que o bloco de codificação compreendendo blocos de transformada é codificado no modo de interpredição e os blocos de transformada compreendem um primeiro bloco de transformada e um segundo bloco de transformada que é adjacente ao primeiro bloco de transformada, em que a fronteira de bloco de transformada entre o primeiro e o segundo blocos de transformada está alinhada com uma grade de amostra n x n, em que n é um número inteiro; quando pelo menos um dentre o primeiro bloco de transformada e o segundo bloco de transformada tem um ou mais coeficientes de transformada diferentes de zero, um valor de um parâmetro de força de fronteira (BS) para a fronteira entre o primeiro bloco de transformada e o segundo bloco de transformada ser um primeiro valor.24. Non-transitory computer-readable medium, characterized by the fact that it stores a bit stream and one or more instructions executable by at least one processor, to perform encoding and decoding operations of the bit stream, the operations comprising: unlocking a boundary of transform block within a coding block, in an image encoder and/or an image decoder, wherein the coding block comprising transform blocks is encoded in interprediction mode and the transform blocks comprise a first block of transform and a second transform block that is adjacent to the first transform block, wherein the transform block boundary between the first and second transform blocks is aligned with an n x n sample grid, wherein n is an integer; when at least one of the first transform block and the second transform block has one or more non-zero transform coefficients, a value of a boundary strength (BS) parameter for the boundary between the first transform block and the second transform block be a first value.
BR122023021072-7A 2019-01-25 2020-01-23 UNLOCKING METHOD, DEVICE FOR USE IN AN IMAGE ENCODER AND/OR AN IMAGE DECODER, ENCODER, DECODER, AND NON-TRAINER COMPUTER READABLE MEDIA BR122023021072A2 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201962797163P 2019-01-25 2019-01-25
US62/797,163 2019-01-25
BR112021014502-8A BR112021014502A2 (en) 2019-01-25 2020-01-23 ENCODER, DECODER AND CORRESPONDING UNLOCK FILTER ADAPTATION METHODS
PCT/CN2020/074033 WO2020151768A1 (en) 2019-01-25 2020-01-23 An encoder, a decoder and corresponding methods of deblocking filter adaptation

Publications (1)

Publication Number Publication Date
BR122023021072A2 true BR122023021072A2 (en) 2024-02-27

Family

ID=90038819

Family Applications (2)

Application Number Title Priority Date Filing Date
BR122023021074-3A BR122023021074A2 (en) 2019-01-25 2020-01-23 UNLOCKING METHOD, DEVICE FOR USE IN AN IMAGE ENCODER AND/OR AN IMAGE DECODER, ENCODER, DECODER, AND NON-TRAINER COMPUTER READABLE MEDIA
BR122023021072-7A BR122023021072A2 (en) 2019-01-25 2020-01-23 UNLOCKING METHOD, DEVICE FOR USE IN AN IMAGE ENCODER AND/OR AN IMAGE DECODER, ENCODER, DECODER, AND NON-TRAINER COMPUTER READABLE MEDIA

Family Applications Before (1)

Application Number Title Priority Date Filing Date
BR122023021074-3A BR122023021074A2 (en) 2019-01-25 2020-01-23 UNLOCKING METHOD, DEVICE FOR USE IN AN IMAGE ENCODER AND/OR AN IMAGE DECODER, ENCODER, DECODER, AND NON-TRAINER COMPUTER READABLE MEDIA

Country Status (1)

Country Link
BR (2) BR122023021074A2 (en)

Also Published As

Publication number Publication date
BR122023021074A2 (en) 2024-02-27

Similar Documents

Publication Publication Date Title
WO2020228744A1 (en) An encoder, a decoder and corresponding methods using ibc dedicated buffer and default value refreshing for luma and chroma component
BR112021010416A2 (en) Encoder, decoder and corresponding methods for performing chroma deblocking for blocks that use chroma encoding together
BR112021009848A2 (en) encoder, decoder and corresponding methods for inter-prediction.
CA3122137C (en) An encoder, a decoder and corresponding methods of boundary strength derivation of deblocking filter
BR122023023994A2 (en) VIDEO ENCODER, VIDEO DECODER AND CORRESPONDING METHODS
JP7314281B2 (en) Deblocking Filter for Subpartition Boundaries Caused by Intra-Subpartition Coding Tools
US11843806B2 (en) Encoder, a decoder and corresponding methods of deblocking filter adaptation
BR112021016560A2 (en) METHOD AND APPARATUS FOR INTRA PREDICTION USING LINEAR MODEL
BR112021008016A2 (en) encoder, decoder and corresponding methods for merge mode
BR112021010286A2 (en) encoder, decoder, and corresponding methods of building most likely-mode list for blocks with multiple-hypothesis prediction
BR112021013644A2 (en) ENCODER, DECODER AND CORRESPONDING DEBLOCK FILTER ADAPTATION METHODS
BR122022009445A2 (en) ENCODER, DECODER, AND CORRESPONDING METHODS TO SIMPLIFY IMAGE HEADER SIGNALING
BR122023021035A2 (en) MOTION VECTOR COMPRESSION METHOD, NON-TRAINER COMPUTER READABLE STORAGE MEDIA, ENCODER, DECODER AND STORAGE MEDIA
BR112021011723A2 (en) INTRA PREDICTION METHOD AND APPARATUS AND ENCODER, DECODER, COMPUTER PROGRAM, NON-TRANSITORY STORAGE MEDIA, AND BITS FLOW
BR112021009833A2 (en) encoder, decoder and corresponding methods for inter-prediction.
BR112021012708A2 (en) CROSS COMPONENT LINEAR MODELING METHOD AND APPARATUS FOR INTRA PREDICTION
BR112021003946A2 (en) video encoder, video decoder and corresponding methods
BR122023021072A2 (en) UNLOCKING METHOD, DEVICE FOR USE IN AN IMAGE ENCODER AND/OR AN IMAGE DECODER, ENCODER, DECODER, AND NON-TRAINER COMPUTER READABLE MEDIA
RU2777967C1 (en) Deblocking filter for the boundaries of subsections that arise under the influence of the intra-subsection coding tool
KR20240074918A (en) An encoder, a decoder and corresponding methods of deblocking filter adaptation

Legal Events

Date Code Title Description
B03A Publication of a patent application or of a certificate of addition of invention [chapter 3.1 patent gazette]