BR112021017512B1 - VIDEO PROCESSING METHOD, VIDEO DATA PROCESSING APPARATUS AND COMPUTER-READABLE NON-TRANSITORY STORAGE AND RECORDING MEDIA - Google Patents

VIDEO PROCESSING METHOD, VIDEO DATA PROCESSING APPARATUS AND COMPUTER-READABLE NON-TRANSITORY STORAGE AND RECORDING MEDIA Download PDF

Info

Publication number
BR112021017512B1
BR112021017512B1 BR112021017512-1A BR112021017512A BR112021017512B1 BR 112021017512 B1 BR112021017512 B1 BR 112021017512B1 BR 112021017512 A BR112021017512 A BR 112021017512A BR 112021017512 B1 BR112021017512 B1 BR 112021017512B1
Authority
BR
Brazil
Prior art keywords
block
mode
neighboring
current
video
Prior art date
Application number
BR112021017512-1A
Other languages
Portuguese (pt)
Other versions
BR112021017512A2 (en
Inventor
Hongbin Liu
Li Zhang
Kai Zhang
Jizheng Xu
Yue Wang
Na Zhang
Original Assignee
Beijing Bytedance Network Technology Co., Ltd.
Bytedance Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Bytedance Network Technology Co., Ltd., Bytedance Inc filed Critical Beijing Bytedance Network Technology Co., Ltd.
Priority claimed from PCT/CN2020/080632 external-priority patent/WO2020187329A1/en
Publication of BR112021017512A2 publication Critical patent/BR112021017512A2/en
Publication of BR112021017512B1 publication Critical patent/BR112021017512B1/en

Links

Abstract

PROCESSAMENTO DE PONDERAÇÃO APRIMORADO DE INTRA E INTERPREDIÇÃO COMBINADA. O presente pedido está relacionado a processamento de ponderação aprimorado de intra e interpredição combinada. Um método para processamento de vídeo inclui: determinar, durante uma conversão entre um bloco de vídeo atual, que é codificado em um modo combinado de intra e interpredição (CIIP), de um vídeo e uma representação de bitstream do bloco de vídeo atual, um par de pesos compreendendo um primeiro peso para um primeiro resultado de predição do bloco de vídeo atual e um segundo peso para um segundo resultado de predição do bloco de vídeo atual, com base em um ou mais blocos de vídeo vizinhos ao bloco de vídeo atual, em que o primeiro resultado de predição é gerado por um modo de intrapredição e o segundo resultado de predição é gerado por um modo de interpredição; e determinar um resultado de predição do bloco atual com base em uma soma ponderada do primeiro resultado de predição e do segundo resultado de predição.ENHANCED WEIGHTING PROCESSING OF COMBINED INTRA- AND INTER-PREDICTION. The present application relates to enhanced weighting processing of combined intra- and inter-prediction. A method for video processing includes: determining, during a conversion between a current video block, which is encoded in a combined intra- and inter-prediction (CIIP) mode, of a video and a bitstream representation of the current video block, a pair of weights comprising a first weight for a first prediction result of the current video block and a second weight for a second prediction result of the current video block, based on one or more video blocks neighboring the current video block, wherein the first prediction result is generated by an intra-prediction mode and the second prediction result is generated by an inter-prediction mode; and determining a prediction result of the current block based on a weighted sum of the first prediction result and the second prediction result.

Description

REFERÊNCIA CRUZADA A PEDIDOS RELACIONADOSCROSS-REFERENCE TO RELATED ORDERS

[001] Este pedido é uma fase nacional do Pedido de Patente Internacional N° PCT/CN2020/080632, depositado em 23 de março de 2020, que reivindica a prioridade e os benefícios do Pedido de Patente Internacional N° PCT/CN2019/079148, depositado em 21 de março de 2019 e do Pedido de Patente Internacional N° PCT/CN2019/100616, depositado em 14 de agosto de 2019. Todas as divulgações do Pedido de Patente Internacional N° PCT/CN2019/079148 e do Pedido de Patente Internacional N° PCT/CN2019/100616 são incorporadas por referência como parte da divulgação deste pedido.[001] This application is a national phase of International Patent Application No. PCT/CN2020/080632, filed on March 23, 2020, which claims the priority and benefits of International Patent Application No. PCT/CN2019/079148, filed on March 21, 2019, and International Patent Application No. PCT/CN2019/100616, filed on August 14, 2019. All disclosures of International Patent Application No. PCT/CN2019/079148 and International Patent Application No. PCT/CN2019/100616 are incorporated by reference as part of the disclosure of this application.

CAMPO TÉCNICOTECHNICAL FIELD

[002] Este documento está relacionado às tecnologias de codificação e decodificação de vídeo e imagem, podendo a palavra “codificação” ser entendida ou como a etapa inversa à etapa de decodificação, ou como o conjunto destas etapas, englobando assim os significados de codificação propriamente dita e de decodificação.[002] This document is related to video and image encoding and decoding technologies, and the word “encoding” can be understood either as the reverse step to the decoding step, or as the set of these steps, thus encompassing the meanings of encoding itself and decoding.

ANTECEDENTESBACKGROUND

[003] Vídeo digital é responsável pelo maior uso de largura de banda na Internet e em outras redes de comunicação digital. À medida que aumenta o número de dispositivos de usuário conectados capazes de receber e exibir vídeo, espera-se que a demanda de largura de banda para uso de vídeo digital continue a crescer.[003] Digital video accounts for the largest use of bandwidth on the Internet and other digital communications networks. As the number of connected user devices capable of receiving and displaying video increases, bandwidth demand for digital video use is expected to continue to grow.

SUMÁRIOSUMMARY

[004] As técnicas divulgadas podem ser usadas pelo decodificador de vídeo ou imagem ou modalidades de codificador para as quais a intra e interpredição combinada é usada.[004] The disclosed techniques may be used by video or image decoder or encoder embodiments for which combined intra- and inter-prediction is used.

[005] Em um aspecto exemplar, um método de processamento vídeo é divulgado. O método inclui determinar um modo codificado de um primeiro bloco de vídeo; restringir um ou mais flags a um estado operacional com base na determinação do modo codificado do primeiro bloco de vídeo, o estado operacional sendo falso ou verdadeiro; e desempenhar processamento adicional de um segundo bloco de vídeo de acordo com o estado operacional de um ou mais flags, em que o primeiro bloco de vídeo é um bloco de vídeo vizinho ou um bloco de vídeo de referência em relação ao segundo bloco de vídeo.[005] In an exemplary aspect, a video processing method is disclosed. The method includes determining a coded mode of a first video block; constraining one or more flags to an operational state based on the determination of the coded mode of the first video block, the operational state being false or true; and performing further processing of a second video block according to the operational state of the one or more flags, wherein the first video block is a neighboring video block or a reference video block relative to the second video block.

[006] Em outro aspecto de exemplo, um método de processamento de vídeo inclui a determinação de predição em par ou predição bicombinada são usados em relação a um primeiro bloco de vídeo; determinar um estado operacional de intra e interpredição combinada (CIIP) com base na determinação de que a predição em par ou predição bicombinada é usada, em que o estado operacional é habilitado ou desabilitado; e desempenhar processamento adicional do primeiro bloco de vídeo de acordo com o estado operacional de CIIP.[006] In another example aspect, a video processing method includes determining whether pairwise prediction or bicombined prediction is used with respect to a first video block; determining a combined intra- and inter-prediction (CIIP) operational state based on the determination that pairwise prediction or bicombined prediction is used, wherein the operational state is enabled or disabled; and performing further processing of the first video block in accordance with the CIIP operational state.

[007] Em outro aspecto exemplar, outro método de processamento de vídeo é divulgado. O método inclui desempenhar uma conversão entre um bloco de vídeo de um vídeo e uma representação codificada do bloco de vídeo usando um modo combinado de intra e interpredição em que a representação codificada corresponde a uma média ponderada de resultados de intra e interpredição do bloco de vídeo usando um par de pesos de um conjunto de pares de pesos em que menos de três pares estão incluídos.[007] In another exemplary aspect, another video processing method is disclosed. The method includes performing a conversion between a video block of a video and an encoded representation of the video block using a combined intra- and inter-prediction mode wherein the encoded representation corresponds to a weighted average of intra- and inter-prediction results of the video block using a weight pair from a set of weight pairs in which less than three pairs are included.

[008] Em outro aspecto exemplar, outro método de processamento de vídeo é divulgado. O método inclui desempenhar uma conversão entre um bloco de vídeo de um vídeo e uma representação codificada do bloco de vídeo usando um modo combinado de intra e interpredição em que a representação codificada corresponde a uma média ponderada de resultados de intra e interpredição do bloco de vídeo usando um par de pesos de um conjunto de pares de pesos determinados devido as informações de codificação de um ou mais blocos vizinhos.[008] In another exemplary aspect, another video processing method is disclosed. The method includes performing a conversion between a video block of a video and an encoded representation of the video block using a combined intra- and inter-prediction mode wherein the encoded representation corresponds to a weighted average of intra- and inter-prediction results of the video block using a weight pair from a set of weight pairs determined due to the encoding information of one or more neighboring blocks.

[009] Em outro aspecto exemplar, outro método de processamento de vídeo é divulgado. O método inclui determinar, durante uma conversão entre um primeiro bloco em dados de vídeo e uma representação de bitstream do primeiro bloco, um ou mais modos codificados de um ou mais segundos blocos; determinar, com base em um ou mais modos codificados de um ou mais segundos blocos, uma restrição de modo codificado do primeiro bloco; e desempenhar, pelo menos aplicando a restrição de modo codificado do primeiro bloco, a conversão; em que um ou mais segundos blocos compreendem pelo menos um de um bloco adjacente, um bloco não adjacente e um bloco de referência do primeiro bloco.[009] In another exemplary aspect, another video processing method is disclosed. The method includes determining, during a conversion between a first block in video data and a bitstream representation of the first block, one or more coded modes of one or more second blocks; determining, based on the one or more coded modes of one or more second blocks, a coded mode constraint of the first block; and performing, at least by applying the coded mode constraint of the first block, the conversion; wherein the one or more second blocks comprise at least one of an adjacent block, a non-adjacent block, and a reference block of the first block.

[010] Em outro aspecto exemplar, outro método de processamento de vídeo é divulgado. O método inclui desempenhar uma conversão entre um bloco atual em dados de vídeo e uma representação de bitstream do bloco atual usando pelo menos um de uma intra e interpredição combinada (CIIP), uma filtragem de difusão, uma filtragem bilateral, uma filtragem de domínio de transformada, ou outro tipo de filtragem pós-reconstrução que é diferente da filtragem de difusão, da filtragem bilateral e da filtragem do domínio de transformada, em que amostras vizinhas reconstruídas do bloco atual usadas em pelo menos uma das inter e intrapredições combinadas (CIIP), a filtragem de difusão, a filtragem bilateral, a filtragem de domínio de transformada ou o outro tipo de filtragem pós-reconstrução são substituídos por amostras aproximadas geradas a partir das amostras correspondentes das amostras vizinhas reconstruídas em uma ou mais imagens de referência.[010] In another exemplary aspect, another video processing method is disclosed. The method includes performing a conversion between a current block in video data and a bitstream representation of the current block using at least one of a combined intra- and inter-prediction (CIIP), a diffusion filtering, a bilateral filtering, a transform domain filtering, or another type of post-reconstruction filtering that is different from diffusion filtering, bilateral filtering, and transform domain filtering, wherein reconstructed neighboring samples of the current block used in at least one of the combined inter- and intra-prediction (CIIP), the diffusion filtering, the bilateral filtering, the transform domain filtering, or the other type of post-reconstruction filtering are replaced by approximated samples generated from the corresponding samples of the reconstructed neighboring samples in one or more reference pictures.

[011] Em outro aspecto exemplar, outro método de processamento de vídeo é divulgado. O método inclui o armazenamento de um flag de intra e interpredição combinada (CIIP) e/ou intramodo do modo de CIIP com informações de movimento em uma tabela de predição de vetor de movimento com base em histórico (HMVP); e desempenhar, pelo menos com base na tabela HMVP, uma conversão entre um bloco atual em dados de vídeo e uma representação de bitstream do bloco atual.[011] In another exemplary aspect, another video processing method is disclosed. The method includes storing a combined intra-interprediction (CIIP) and/or intra-mode CIIP mode flag with motion information in a history-based motion vector prediction (HMVP) table; and performing, at least based on the HMVP table, a conversion between a current block in video data and a bitstream representation of the current block.

[012] Em outro aspecto exemplar, outro método de processamento de vídeo é divulgado. O método inclui determinar, durante uma conversão entre um bloco atual em dados de vídeo e uma representação de bitstream do bloco atual, um modo de predição para o bloco atual; determinar a aplicabilidade de um modo combinado de intra e interpredição (CIIP) indicando que o modo de CIIP está habilitado para o bloco atual em resposta à determinação de que o bloco atual é codificado com um modo de predição de vetor de movimento avançado (AMVP) ou um modo de mescla; e desempenhar, com base na aplicabilidade do modo de CIIP, a conversão.[012] In another exemplary aspect, another video processing method is disclosed. The method includes determining, during a conversion between a current block in video data and a bitstream representation of the current block, a prediction mode for the current block; determining the applicability of a combined intra- and inter-prediction (CIIP) mode by indicating that the CIIP mode is enabled for the current block in response to determining that the current block is encoded with an advanced motion vector prediction (AMVP) mode or a blending mode; and performing, based on the applicability of the CIIP mode, the conversion.

[013] Em outro aspecto exemplar, outro método de processamento de vídeo é divulgado. O método inclui determinar, durante uma conversão entre um bloco atual em dados de vídeo e uma representação de bitstream do bloco atual, um tipo de um candidato a mescla selecionado para o bloco atual e determinar a aplicabilidade da intra e interpredição combinada (CIIP) para o bloco atual de acordo com o tipo de candidato a mescla selecionado, em que o bloco atual é codificado no modo de mescla.[013] In another exemplary aspect, another video processing method is disclosed. The method includes determining, during a conversion between a current block in video data and a bitstream representation of the current block, a type of a selected blend candidate for the current block and determining the applicability of combined intra and inter prediction (CIIP) for the current block according to the selected blend candidate type, wherein the current block is encoded in blend mode.

[014] Em outro aspecto exemplar, outro método de processamento de vídeo é divulgado. O método inclui codificar, durante uma conversão entre um bloco de vídeo atual em dados de vídeo e uma representação de bitstream do bloco de vídeo atual, um flag de intra e interpredição combinada (CIIP) para o bloco de vídeo atual por um modelo de contexto baseado em codificação sem referência a um flag de CIIP de um ou mais blocos de vídeo vizinhos ao bloco de vídeo atual, e desempenhar, pelo menos aplicando o flag de intra e interpredição combinada (CIIP) do bloco de vídeo atual, a conversão.[014] In another exemplary aspect, another video processing method is disclosed. The method includes encoding, during a conversion between a current video block in video data and a bitstream representation of the current video block, a combined intra- and inter-prediction (CIIP) flag for the current video block by a context-based coding model without reference to a CIIP flag of one or more video blocks neighboring the current video block, and performing, at least by applying the combined intra- and inter-prediction (CIIP) flag of the current video block, the conversion.

[015] Em outro aspecto exemplar, outro método de processamento de vídeo é divulgado. O método inclui codificar, durante uma conversão entre um bloco de vídeo atual em dados de vídeo e uma representação de bitstream do bloco de vídeo atual, um flag de intra e interpredição combinada (CIIP) para o bloco de vídeo atual por uma codificação de desvio e desempenhar, pelo menos aplicando o flag de intra e interpredição combinada (CIIP), a conversão.[015] In another exemplary aspect, another video processing method is disclosed. The method includes encoding, during a conversion between a current video block in video data and a bitstream representation of the current video block, a combined intra- and inter-prediction (CIIP) flag for the current video block by a bias encoding and performing, at least by applying the combined intra- and inter-prediction (CIIP) flag, the conversion.

[016] Em outro aspecto exemplar, outro método de processamento de vídeo é divulgado. O método inclui determinar um modo de intrapredição de um primeiro bloco de vídeo de um vídeo de acordo com uma regra, e a regra compreende: pular, durante um processo de derivação de modo de intrapredição do primeiro bloco de vídeo, verificar o flag de intra e intrapredição combinada (CIIP) um ou mais blocos de vídeo vizinhos ao primeiro bloco de vídeo e desempenhar, com base em pelo menos um modo de intrapredição determinado, uma conversão entre o primeiro bloco de vídeo e uma representação de bitstream do primeiro bloco de vídeo.[016] In another exemplary aspect, another video processing method is disclosed. The method includes determining an intraprediction mode of a first video block of a video according to a rule, and the rule comprises: skipping, during an intraprediction mode derivation process of the first video block, checking the combined intra and intraprediction (CIIP) flag of one or more video blocks neighboring the first video block, and performing, based on the at least one determined intraprediction mode, a conversion between the first video block and a bitstream representation of the first video block.

[017] Em outro aspecto exemplar, outro método de processamento de vídeo é divulgado. O método inclui determinar, durante uma conversão entre um bloco de vídeo atual, que é codificado em um modo combinado de intra e interpredição (CIIP), de um vídeo e uma representação de bitstream do bloco de vídeo atual, um par de pesos compreendendo uma primeira ponderação para um primeiro resultado de predição do bloco de vídeo atual e uma segunda ponderação para um segundo resultado de predição do bloco de vídeo atual, com base em um ou mais blocos de vídeo vizinhos ao bloco de vídeo atual, em que o primeiro resultado de predição é gerado por um modo de intrapredição e o segundo resultado de predição é gerado por um modo de interpredição; e determinar um resultado de predição do bloco atual com base em uma soma ponderada do primeiro resultado de predição e do segundo resultado de predição.[017] In another exemplary aspect, another video processing method is disclosed. The method includes determining, during a conversion between a current video block, which is encoded in a combined intra- and inter-prediction (CIIP) mode, of a video and a bitstream representation of the current video block, a pair of weights comprising a first weighting for a first prediction result of the current video block and a second weighting for a second prediction result of the current video block, based on one or more video blocks neighboring the current video block, wherein the first prediction result is generated by an intra-prediction mode and the second prediction result is generated by an inter-prediction mode; and determining a prediction result of the current block based on a weighted sum of the first prediction result and the second prediction result.

[018] Em outro aspecto exemplar, o método descrito acima pode ser implementado por um aparelho codificador de vídeo que compreende um processador.[018] In another exemplary aspect, the method described above may be implemented by a video encoding apparatus comprising a processor.

[019] Em ainda outro aspecto exemplo, esses métodos podem ser incorporados na forma de instruções executáveis por processador e armazenados em um meio de programa legível por computador.[019] In yet another example aspect, these methods may be embodied in the form of processor-executable instructions and stored on a computer-readable program medium.

[020] Estes e outros aspectos são adicionalmente descritos no presente documento.[020] These and other aspects are further described in this document.

BREVE DESCRIÇÃO DOS DESENHOSBRIEF DESCRIPTION OF THE DRAWINGS

[021] A FIG. 1 mostra um exemplo de um processo de derivação para a construção de lista de candidatos a mescla.[021] FIG. 1 shows an example of a derivation process for constructing a list of merge candidates.

[022] A FIG. 2 mostra um exemplo de posições de candidatos a mescla espaciais.[022] FIG. 2 shows an example of spatial merge candidate positions.

[023] A FIG. 3 mostra um exemplo de pares de candidatos considerados para verificação de redundância de candidatos a mescla espaciais.[023] FIG. 3 shows an example of candidate pairs considered for checking for redundancy of spatial merge candidates.

[024] A FIG. 4 mostra um exemplo de posições para segundo PU de Nx2N e partições de 2NxN.[024] FIG. 4 shows an example of positions for second PU of Nx2N and partitions of 2NxN.

[025] A FIG. 5 mostra um exemplo de escalamento de vetor de movimento para candidato a mescla temporal.[025] FIG. 5 shows an example of motion vector scaling for temporal blending candidate.

[026] A FIG. 6 mostra um exemplo de posições candidatas para candidato a mescla temporal, C0 e C1.[026] FIG. 6 shows an example of candidate positions for temporal blending candidate, C0 and C1.

[027] A FIG. 7 mostra um exemplo de um candidato a mescla bi-preditivo combinada.[027] FIG. 7 shows an example of a combined bi-predictive blend candidate.

[028] A FIG. 8 mostra um exemplo de um processo de derivação para a candidatos a predição de vetor de movimento.[028] FIG. 8 shows an example of a derivation process for motion vector prediction candidates.

[029] A FIG. 9 mostra um exemplo de escalamento de vetor de movimento para candidato a vetor de movimento espacial.[029] FIG. 9 shows an example of motion vector scaling for spatial motion vector candidate.

[030] A FIG. 10 mostra um exemplo de predição de vetor de movimento temporal alternativo (ATMVP) para uma unidade de codificação (CU).[030] FIG. 10 shows an example of alternative temporal motion vector prediction (ATMVP) for a coding unit (CU).

[031] A FIG. 11 mostra um exemplo de amostras vizinhas usadas para derivar parâmetros de IC.[031] FIG. 11 shows an example of neighboring samples used to derive IC parameters.

[032] A FIG. 12 mostra um exemplo de um processo de busca de expressão de vetor de movimento final (UMVE).[032] FIG. 12 shows an example of an ultimate motion vector expression (UMVE) search process.

[033] A FIG. 13 mostra um exemplo de um ponto de busca de UMVE.[033] FIG. 13 shows an example of a UMVE search point.

[034] A FIG. 14 mostra um exemplo de um fluxograma de decodificação com um método de HMVP proposto.[034] FIG. 14 shows an example of a decoding flowchart with a proposed HMVP method.

[035] A FIG. 15 mostra um exemplo de atualização da tabela usando o método de HMVP proposto.[035] FIG. 15 shows an example of table update using the proposed HMVP method.

[036] A FIG. 16 mostra um exemplo de um modo simétrico.[036] FIG. 16 shows an example of a symmetric mode.

[037] A FIG. 17 mostra um exemplo de amostras vizinhas de um bloco atual e suas amostras correspondentes na imagem de referência.[037] FIG. 17 shows an example of neighboring samples of a current block and their corresponding samples in the reference image.

[038] A FIG. 18 é um diagrama de bloco de um exemplo de um aparelho de processamento de vídeo.[038] FIG. 18 is a block diagram of an example of a video processing apparatus.

[039] A FIG. 19 mostra um diagrama de bloco de uma implementação exemplo de um codificador de vídeo.[039] FIG. 19 shows a block diagram of an example implementation of a video encoder.

[040] A FIG. 20 é um fluxograma para um exemplo de um método de processamento de vídeo.[040] FIG. 20 is a flowchart for an example of a video processing method.

[041] A FIG. 21 é um fluxograma para um exemplo de um método de processamento de vídeo.[041] FIG. 21 is a flowchart for an example of a video processing method.

[042] A FIG. 22 mostra um exemplo de blocos vizinhos superior e esquerdo usados em avaliação de ponderações de CIIP.[042] FIG. 22 shows an example of top and left neighbor blocks used in evaluating CIIP weights.

[043] A FIG. 23 é um fluxograma para um exemplo de um método de processamento de vídeo.[043] FIG. 23 is a flowchart for an example of a video processing method.

[044] A FIG. 24 é um fluxograma para um exemplo de um método de processamento de vídeo.[044] FIG. 24 is a flowchart for an example of a video processing method.

[045] A FIG. 25 é um fluxograma para um exemplo de um método de processamento de vídeo.[045] FIG. 25 is a flowchart for an example of a video processing method.

[046] A FIG. 26 é um fluxograma para um exemplo de um método de processamento de vídeo.[046] FIG. 26 is a flowchart for an example of a video processing method.

[047] A FIG. 27 é um fluxograma para um exemplo de um método de processamento de vídeo.[047] FIG. 27 is a flowchart for an example of a video processing method.

[048] A FIG. 28 é um fluxograma para um exemplo de um método de processamento de vídeo.[048] FIG. 28 is a flowchart for an example of a video processing method.

[049] A FIG. 29 é um fluxograma para um exemplo de um método de processamento de vídeo.[049] FIG. 29 is a flowchart for an example of a video processing method.

[050] A FIG. 30 é um fluxograma para um exemplo de um método de processamento de vídeo.[050] FIG. 30 is a flowchart for an example of a video processing method.

[051] A FIG. 31 é um fluxograma para um exemplo de um método de processamento de vídeo.[051] FIG. 31 is a flowchart for an example of a video processing method.

DESCRIÇÃO DETALHADADETAILED DESCRIPTION

[052] O presente documento provê várias técnicas que podem ser usadas por um decodificador de bitstreams de imagem ou de vídeo para melhorar a qualidade de vídeo ou imagens digitais descompactadas ou decodificadas. Por brevidade, o termo “vídeo” é usado na presente invenção para incluir uma sequência de imagens (tradicionalmente chamada de vídeo) e imagens individuais. Além disso, um codificador de vídeo também pode implementar essas técnicas durante o processo de codificação, a fim de reconstruir os quadros decodificados usados para codificação adicional.[052] The present document provides several techniques that can be used by a video or image bitstream decoder to improve the quality of decompressed or decoded digital images or video. For brevity, the term “video” is used in the present invention to include both a sequence of images (traditionally called video) and individual images. Furthermore, a video encoder can also implement these techniques during the encoding process in order to reconstruct the decoded frames used for further encoding.

[053] Títulos de seções são usados no presente documento para facilitar a compreensão e não limitam as modalidades e técnicas às seções correspondentes. Como tal, modalidades de uma seção podem ser combinadas com modalidades de outras seções.[053] Section headings are used herein for ease of understanding and do not limit embodiments and techniques to the corresponding sections. As such, embodiments of one section may be combined with embodiments of other sections.

1. Sumário1. Summary

[054] Este documento está relacionado às tecnologias de codificação de vídeo. Especificamente, está relacionado à intra e interpredição combinada (CIIP) na codificação ou decodificação de vídeo. Pode ser aplicado ao padrão de codificação de vídeo existente, como HEVC, ou ao padrão (Codificação de Vídeo Versátil) a ser finalizado. Também pode ser aplicável a futuros padrões de codificação de vídeo ou codec de vídeo.[054] This document relates to video coding technologies. Specifically, it relates to combined intra and inter prediction (CIIP) in video encoding or decoding. It may apply to existing video coding standard such as HEVC or to the upcoming Versatile Video Coding standard. It may also apply to future video coding or video codec standards.

2. Antecedentes2. Background

[055] Os padrões de codificação de vídeo evoluíram principalmente através do desenvolvimento dos bem conhecidos padrões ITU-T e ISO/IEC. O ITU- T produziu H.261 e H.263, ISO/IEC produziu MPEG-1 e Visual MPEG-4, e as duas organizações produziram em conjunto o H.262/Vídeo MPEG-2 e o H.264/Codificação de Vídeo Avançado (AVC) MPEG-4 e padrões H.265/HEVC [1]. Desde o H.262, os padrões de codificação de vídeo são baseados na estrutura de codificação de vídeo híbrida em que a predição temporal mais a codificação de transformada são utilizadas. Para explorar as futuras tecnologias de codificação de vídeo além da HEVC, a Equipe Conjunta de Exploração em Vídeo (JVET) foi fundada em conjunto pela VCEG e pela MPEG em 2015. Desde então, muitos novos métodos foram adotados pela JVET e colocados no software de referência denominado Modelo de Exploração Conjunta (JEM). Em abril de 2018, a Equipe Conjunta de Especialistas em Vídeo (JVET) entre VCEG (Q6/16) e ISO/IEC JTC1 SC29/WG11 (MPEG) foi criada para trabalhar no alvo padrão VVC a redução de taxa de bits de 50% em comparação com HEVC.[055] Video coding standards have evolved primarily through the development of the well-known ITU-T and ISO/IEC standards. ITU-T produced H.261 and H.263, ISO/IEC produced MPEG-1 and MPEG-4 Visual, and the two organizations jointly produced the H.262/MPEG-2 Video and H.264/MPEG-4 Advanced Video Coding (AVC) and H.265/HEVC standards [1]. Since H.262, video coding standards have been based on the hybrid video coding framework in which temporal prediction plus transform coding are used. To explore future video coding technologies beyond HEVC, the Joint Video Exploration Team (JVET) was jointly founded by VCEG and MPEG in 2015. Since then, many new methods have been adopted by JVET and put into the reference software called the Joint Exploration Model (JEM). In April 2018, the Joint Video Expert Team (JVET) between VCEG (Q6/16) and ISO/IEC JTC1 SC29/WG11 (MPEG) was established to work on the VVC standard targeting a 50% bitrate reduction compared to HEVC.

[056] FIG. 19 é um diagrama de bloco de uma implementação exemplo de um codificador de vídeo. A Fig. 19 mostra que a implementação do codificador tem um percurso de realimentação embutido no qual o codificador de vídeo também desempenha a funcionalidade de decodificação de vídeo (reconstruindo a representação compactada de dados de vídeo para uso na codificação dos próximos dados de vídeo). 2.1 Interpredição em HEVC/H.265[056] FIG. 19 is a block diagram of an example implementation of a video encoder. Fig. 19 shows that the encoder implementation has an embedded feedback path in which the video encoder also performs video decoding functionality (reconstructing the compressed representation of video data for use in encoding the next video data). 2.1 Interprediction in HEVC/H.265

[057] Cada PU interpredita tem parâmetros de movimento para uma ou duas listas de imagens de referência. Os parâmetros de movimento incluem um vetor de movimento e um índice de imagem de referência. O uso de uma das duas listas de imagens de referência também pode ser sinalizado usando inter_pred_idc. Vetores de movimento podem ser explicitamente codificados como deltas em relação aos preditores.[057] Each inter-predicted PU has motion parameters for one or two reference image lists. The motion parameters include a motion vector and a reference image index. The use of one of the two reference image lists can also be flagged using inter_pred_idc. Motion vectors can be explicitly encoded as deltas with respect to the predictors.

[058] Quando uma CU é codificado com o modo de pular, uma PU é associada à CU e não há coeficientes residuais significativos, nenhum delta de vetor de movimento codificado ou índice de imagem de referência. Um modo de mescla é especificado por meio do qual os parâmetros de movimento para a PU atual são obtidos de PUs vizinhas, incluindo candidatos espaciais e temporais. O modo de mescla pode ser aplicado a qualquer PU interpredita, não apenas para o modo de salto. A alternativa ao modo de mescla é a transmissão explícita de parâmetros de movimento, em que o vetor de movimento (para ser mais preciso, diferença do vetor de movimento (MVD) em comparação com um preditor de vetor de movimento), índice de imagem de referência correspondente para cada lista de imagens de referência e uso da lista de imagens de referência são sinalizados explicitamente por cada PU. Tal modo é denominado predição de vetor de movimento Avançada (AMVP) nesta divulgação.[058] When a CU is coded with the skip mode, a PU is associated with the CU and there are no significant residual coefficients, no encoded motion vector delta or reference picture index. A blending mode is specified whereby motion parameters for the current PU are obtained from neighboring PUs, including spatial and temporal candidates. The blending mode can be applied to any interpredicted PU, not just for the skip mode. The alternative to the blending mode is the explicit transmission of motion parameters, where the motion vector (to be more precise, motion vector difference (MVD) compared to a motion vector predictor), corresponding reference picture index for each reference picture list, and use of the reference picture list are explicitly signaled by each PU. Such a mode is referred to as Advanced Motion Vector Prediction (AMVP) in this disclosure.

[059] Quando a sinalização indica que uma das duas listas de imagens de referência deve ser usada, a PU é produzida a partir de um bloco de amostras. Isso é referido como “unipredição”. A unipredição está disponível para fatias P e fatias B.[059] When the flag indicates that one of the two reference image lists should be used, the PU is produced from a block of samples. This is referred to as “uniprediction”. Uniprediction is available for both P-slices and B-slices.

[060] Quando a sinalização indica que ambas as listas de imagens de referência devem ser usadas, a PU é produzida a partir de dois blocos de amostras. Isso é referido como “bipredição”. A bipredição está disponível apenas para fatias B.[060] When the flag indicates that both reference image lists should be used, the PU is produced from two blocks of samples. This is referred to as “biprediction”. Biprediction is only available for B slices.

[061] O texto a seguir provê os detalhes sobre os modos de interpredição especificados em HEVC. A descrição começará com o modo de mescla. 2.1.1 Modo de Mescla 2.1.1.1 Derivação de candidatos para modo de mescla[061] The following text provides details about the interpretation modes specified in HEVC. The description will begin with the blending mode. 2.1.1 Blending Mode 2.1.1.1 Derivation of Blending Mode Candidates

[062] Quando uma PU é predita usando o modo de mescla, um índice apontando para uma entrada na lista de candidatos a mescla é analisado a partir do bitstream e usado para recuperar as informações de movimento. A construção desta lista é especificada no padrão de HEVC e pode ser resumida de acordo com a seguinte sequência de etapas: Etapa 1: Derivação de candidatos iniciais Etapa 1.1: Derivação de candidatos espaciais Etapa 1.2: Verificação de redundância para candidatos espaciais Etapa 1.3: Derivação de candidatos temporais Etapa 2: Inserção de candidatos adicionais Etapa 2.1: Criação de candidatos bi-preditivos Etapa 2.2: Inserção de candidatos a movimento zero[062] When a PU is predicted using the blending mode, an index pointing to an entry in the blending candidate list is parsed from the bitstream and used to retrieve the motion information. The construction of this list is specified in the HEVC standard and can be summarized according to the following sequence of steps: Step 1: Derivation of initial candidates Step 1.1: Derivation of spatial candidates Step 1.2: Redundancy check for spatial candidates Step 1.3: Derivation of temporal candidates Step 2: Insertion of additional candidates Step 2.1: Creation of bi-predictive candidates Step 2.2: Insertion of zero-motion candidates

[063] Estas etapas também são retratadas esquematicamente na Figura 1. Para derivação de candidato a mescla espaciais, um máximo de quatro candidatos a mescla são selecionados dentre os candidatos que estão localizados em cinco posições diferentes. Para derivação de candidato a mescla temporais, um máximo de um candidato a mescla é selecionado dentre dois candidatos. Uma vez que o número constante de candidatos para cada PU é assumido no decodificador, candidatos adicionais são gerados quando o número de candidatos obtidos a partir da etapa 1 não atinge o número máximo de candidatos a mescla (MaxNumMergeCand) que é sinalizado no cabeçalho de fatia. Como o número de candidatos é constante, o índice de melhor candidato a mescla é codificado usando a binarização unária truncada (TU). Se o tamanho da CU for igual a 8, todas as PUs da CU atual compartilham uma única lista de candidatos a mescla, que é idêntica à lista de candidatos a mescla da unidade de predição 2Nx2N.[063] These steps are also schematically depicted in Figure 1. For spatial merge candidate derivation, a maximum of four merge candidates are selected from candidates that are located at five different positions. For temporal merge candidate derivation, a maximum of one merge candidate is selected from two candidates. Since constant number of candidates for each PU is assumed in the decoder, additional candidates are generated when the number of candidates obtained from step 1 does not reach the maximum number of merge candidates (MaxNumMergeCand) that is signaled in the slice header. Since the number of candidates is constant, the best merge candidate index is encoded using truncated unary (TU) binarization. If the CU size is equal to 8, all PUs of the current CU share a single merge candidate list, which is identical to the merge candidate list of the 2Nx2N prediction unit.

[064] A seguir, são detalhadas as operações associadas às etapas mencionadas. 2.1.1.2 Derivação de candidatos espaciais[064] The operations associated with the mentioned steps are detailed below. 2.1.1.2 Derivation of spatial candidates

[065] Na derivação de candidatos a mescla espaciais, um máximo de quatro candidatos a mescla são selecionados dentre os candidatos localizados nas posições retratadas na Figura 22. A ordem de derivação é A1, B1, B0, A0 e B2. A posição B2 é considerada apenas quando qualquer PU de posição A1, B1, B0, A0 e B2 não está disponível (por exemplo, porque pertence a outra fatia ou ladrilho (tile)) ou é intra codificado. Depois do candidato na posição A1 ser adicionado, a adição dos candidatos remanescentes está sujeita a uma verificação de redundância que garante que os candidatos com as mesmas informações de movimento sejam excluídos da lista para que a eficiência da codificação seja aprimorada. Para reduzir a complexidade computacional, nem todos os pares candidatos possíveis são considerados na verificação de redundância mencionada. Em vez disso, apenas os pares ligados por uma seta na FIG. 3 são considerados e um candidato só é adicionado à lista se o candidato correspondente usado para verificação de redundância não tiver as mesmas informações de movimento. Outra fonte de informações de movimento duplicadas é a “segunda PU” associada a partições diferentes de 2Nx2N. Como um exemplo, a FIG. 4 retrata a segunda PU para o caso de Nx2N e 2NxN, respectivamente. Quando a PU atual é particionada como Nx2N, o candidato na posição A1 não é considerado para construção de lista. Na verdade, adicionar este candidato levará a duas unidades de predição tendo as mesmas informações de movimento, o que é redundante para ter apenas uma PU em uma unidade de codificação. De maneira similar, a posição B1 não é considerada quando a PU atual é particionada como 2NxN. 2.1.1.3 Derivação de candidatos temporais[065] In deriving spatial merge candidates, a maximum of four merge candidates are selected from the candidates located at the positions depicted in Fig. 22. The order of derivation is A1, B1, B0, A0, and B2. Position B2 is considered only when any PU of position A1, B1, B0, A0, and B2 is not available (e.g., because it belongs to another slice or tile) or is intra-coded. After the candidate at position A1 is added, the addition of the remaining candidates is subject to a redundancy check that ensures that candidates with the same motion information are excluded from the list so that coding efficiency is improved. To reduce computational complexity, not all possible candidate pairs are considered in the aforementioned redundancy check. Instead, only the pairs connected by an arrow in FIG. 3 are considered, and a candidate is only added to the list if the corresponding candidate used for redundancy check does not have the same motion information. Another source of duplicated motion information is the “second PU” associated with different partitions of 2Nx2N. As an example, Fig. 4 depicts the second PU for the case of Nx2N and 2NxN, respectively. When the current PU is partitioned as Nx2N, the candidate at position A1 is not considered for list construction. In fact, adding this candidate will lead to two prediction units having the same motion information, which is redundant to having only one PU in a coding unit. Similarly, position B1 is not considered when the current PU is partitioned as 2NxN. 2.1.1.3 Temporal Candidate Derivation

[066] Nesta etapa, apenas um candidato é adicionado à lista. Particularmente, na derivação deste candidato a mescla temporal, um vetor de movimento escalado é derivado com base na PU co-localizada pertencente à imagem que tem a menor diferença de POC com a imagem atual dentro da lista de imagens de referência dada. A lista de imagens de referência a ser usada para derivação da PU co-localizada é explicitamente sinalizada no cabeçalho de fatia. O vetor de movimento escalado para um candidato a mescla é obtido como ilustrado pela linha pontilhada na Figura 5, que é escalado a partir do vetor de movimento do PU colocalizado usando as distâncias de POC, tb e td, onde tb é definido para ser a diferença de POC entre a imagem de referência da imagem atual e a imagem atual e td é definido como a diferença de POC entre a imagem de referência da imagem colocalizada e a imagem colocalizada. O índice de imagem de referência de um candidato a mescla temporal é preparado como zero. Uma realização prática do processo de escalamento é descrita na especificação HEVC. Para uma fatia B, dois vetores de movimento, um é para a lista de imagens de referência 0 e o outro é para a lista de imagens de referência 1, são obtidos e combinados para fazer o candidato a mescla bi-preditivo.[066] In this step, only one candidate is added to the list. Particularly, in deriving this temporal blending candidate, a scaled motion vector is derived based on the co-located PU belonging to the picture that has the smallest POC difference with the current picture within the given reference picture list. The list of reference pictures to be used for deriving the co-located PU is explicitly signaled in the slice header. The scaled motion vector for a blending candidate is obtained as illustrated by the dotted line in Figure 5, which is scaled from the motion vector of the co-located PU using the POC distances, tb and td, where tb is defined to be the POC difference between the reference picture of the current picture and the current picture and td is defined as the POC difference between the reference picture of the co-located picture and the co-located picture. The reference picture index of a temporal blending candidate is set to zero. A practical realization of the scaling process is described in the HEVC specification. For a slice B, two motion vectors, one is for reference image list 0 and the other is for reference image list 1, are obtained and combined to make the bi-predictive blend candidate.

[067] No PU (Y) co-localizado pertencente ao quadro de referência, a posição para o candidato temporal é selecionada entre os candidatos C0 e C1, como retratado na Figura 6. Se PU na posição C0 não está disponível, é intracodificado ou está fora da linha de CTU atual, a posição C1 é usada. Caso contrário, a posição C0 é usada na derivação do candidato a mescla temporal. 2.1.1.4 Inserção de candidatos adicionais[067] In the co-located PU(Y) belonging to the reference frame, the position for the temporal candidate is selected between candidates C0 and C1, as depicted in Figure 6. If PU at position C0 is not available, is intracoded, or is outside the current CTU line, position C1 is used. Otherwise, position C0 is used in deriving the temporal blend candidate. 2.1.1.4 Inserting Additional Candidates

[068] Além dos candidatos a mescla espaciais e temporais, há dois tipos adicionais de candidatos a mescla: candidato a mescla bi-preditivo combinado e candidato a mescla zero. Candidatos a mescla bi-preditivos combinados são gerados ao utilizar candidatos a mescla espaciais e temporais. Um candidato a mescla bi-preditivo combinado é usado apenas para Fatia B. Os candidatos bi- preditivos combinados são gerados ao combinar os parâmetros de movimento da primeira lista de imagens de referência de um candidato inicial com os parâmetros de movimento da segunda lista de imagens de referência de outro. Se essas duas tuplas proverem hipóteses de movimento diferentes, elas formarão um novo candidato bi-preditivo. Como um exemplo, a Figura 7 retrata o caso quando dois candidatos na lista original (à esquerda), que têm mvL0 e refIdxL0 ou mvL1 e refIdxL1, são usados para criar um candidato a mescla bi- preditivo combinado adicionado à lista final (à direita). Existem inúmeras regras relativas às combinações que são consideradas para gerar esses candidatos a mescla adicionais.[068] In addition to spatial and temporal blend candidates, there are two additional types of blend candidates: combined bi-predictive blend candidate and zero-blend candidate. Combined bi-predictive blend candidates are generated by using both spatial and temporal blend candidates. A combined bi-predictive blend candidate is used only for Slice B. Combined bi-predictive candidates are generated by combining the motion parameters of the first list of reference images of one initial candidate with the motion parameters of the second list of reference images of another. If these two tuples provide different motion hypotheses, they form a new bi-predictive candidate. As an example, Figure 7 depicts the case when two candidates in the original list (left), which have either mvL0 and refIdxL0 or mvL1 and refIdxL1, are used to create a combined bi-predictive blend candidate that is added to the final list (right). There are a number of rules regarding the combinations that are considered to generate these additional blend candidates.

[069] Candidatos a movimento zero são inseridos para preencher as entradas restantes na lista de candidatos a mescla e, portanto, atingir a capacidade MaxNumMergeCand. Esses candidatos têm deslocamento espacial zero e um índice de imagem de referência que começa a partir de zero e aumenta toda vez que um novo candidato a movimento zero é adicionado à lista. O número de quadros de referência usados por esses candidatos é um e dois para predição uni e bidirecional, respectivamente. Finalmente, nenhuma verificação de redundância é desempenhada nesses candidatos. 2.1.1.5 Regiões de estimativa de movimento para processamento paralelo[069] Zero-motion candidates are inserted to fill the remaining entries in the merge candidate list and thus achieve the MaxNumMergeCand capacity. These candidates have zero spatial offset and a reference image index that starts from zero and increases every time a new zero-motion candidate is added to the list. The number of reference frames used by these candidates is one and two for unidirectional and bidirectional prediction, respectively. Finally, no redundancy checks are performed on these candidates. 2.1.1.5 Motion Estimation Regions for Parallel Processing

[070] Para acelerar o processo de codificação, a estimativa de movimento pode ser desempenhada em paralelo, em que os vetores de movimento para todas as unidades de predição dentro de uma região dada são derivados simultaneamente. A derivação de candidatos a mescla a partir da vizinhança espacial pode interferir no processamento paralelo pois uma unidade de predição não pode derivar os parâmetros de movimento a partir de uma PU adjacente até que sua estimativa de movimento associada seja concluída. Para mitigar o trade-off entre eficiência de codificação e latência de processamento, o HEVC define a região de estimativa de movimento (MER) cujo tamanho é sinalizado no parâmetro de imagem preparado usando o elemento de sintaxe “log2_parallel_merge_level_minus2”. Quando uma MER é definida, os candidatos a mescla que caem na mesma região são marcados como indisponíveis e, portanto, não são considerados na construção da lista. 2.1.2 AMVP[070] To speed up the encoding process, motion estimation can be performed in parallel, where motion vectors for all prediction units within a given region are derived simultaneously. Deriving merge candidates from the spatial neighborhood can interfere with parallel processing because a prediction unit cannot derive motion parameters from an adjacent PU until its associated motion estimation is complete. To mitigate the trade-off between coding efficiency and processing latency, HEVC defines a motion estimation region (MER) whose size is signaled in the prepared image parameter using the “log2_parallel_merge_level_minus2” syntax element. When a MER is defined, merge candidates that fall within the same region are marked as unavailable and are therefore not considered in the list construction. 2.1.2 AMVP

[071] A AMVP explora a correlação espaço-temporal do vetor de movimento com PUs vizinhas, que é usada para transmissão explícita de parâmetros de movimento. Para cada lista de imagem de referência, uma lista de candidatos a vetor de movimento é construído primeiramente verificando a disponibilidade da esquerda, acima das posições de PU temporariamente vizinhas, removendo candidatos redundantes e adicionando o vetor zero para tornar a lista de candidatos de comprimento constante. Então, o codificador pode selecionar o melhor preditor da lista de candidatos e transmitir o índice correspondente indicando o candidato escolhido. De maneira similar à sinalização de índice de mescla, o índice do melhor candidato a vetor de movimento é codificado usando um unário truncado. O valor máximo a ser codificado neste caso é 2 (vide Figura 8). Nas seções a seguir, detalhes sobre o processo de derivação do candidato a predição de vetor de movimento são providos. 2.1.2.1 Derivação de candidatos a AMVP[071] AMVP exploits the spatiotemporal correlation of the motion vector with neighboring PUs, which is used for explicit transmission of motion parameters. For each reference image list, a list of motion vector candidates is constructed by first checking the availability of the left, up, temporally neighboring PU positions, removing redundant candidates, and adding the zero vector to make the candidate list constant length. Then, the encoder can select the best predictor from the candidate list and transmit the corresponding index indicating the chosen candidate. Similar to the merge index signaling, the index of the best motion vector candidate is encoded using truncated unary. The maximum value to be encoded in this case is 2 (see Figure 8). In the following sections, details about the derivation process of the motion vector prediction candidate are provided. 2.1.2.1 AMVP Candidate Derivation

[072] A Figura 8 resume o processo de derivação para o candidato a predição de vetor de movimento.[072] Figure 8 summarizes the derivation process for the candidate motion vector prediction.

[073] Na predição de vetor de movimento, dois tipos de candidatos a vetor de movimento são considerados: candidato a vetor de movimento espacial e candidato a vetor de movimento temporal. Para a derivação de candidato a vetor de movimento espacial, dois candidatos a vetor de movimento são eventualmente derivados com base em vetores de movimento de cada PU localizados em cinco posições diferentes, como retratado na Figura 2.[073] In motion vector prediction, two types of motion vector candidates are considered: spatial motion vector candidate and temporal motion vector candidate. For spatial motion vector candidate derivation, two motion vector candidates are eventually derived based on motion vectors of each PU located at five different positions, as depicted in Figure 2.

[074] Para derivação de candidato a vetor de movimento temporal, um candidato a vetor de movimento é selecionado a partir de dois candidatos, que são derivados com base em duas posições diferentes co-localizadas. Após a primeira lista de candidatos espaço-temporais ser feita, os candidatos a vetor de movimento duplicados na lista são removidos. Se o número de candidatos potenciais for maior do que dois, os candidatos a vetor de movimento cujo índice de imagem de referência na lista de imagens de referência associada é maior do que 1 são removidos da lista. Se o número de candidatos a vetor de movimento espaço-temporal for menor do que dois, candidatos a vetor de movimento zero adicionais são adicionados à lista. 2.1.2.2 Candidatos a vetor de movimento espacial[074] For temporal motion vector candidate derivation, a motion vector candidate is selected from two candidates, which are derived based on two different co-located positions. After the first list of spatiotemporal candidates is made, duplicate motion vector candidates in the list are removed. If the number of potential candidates is greater than two, motion vector candidates whose reference image index in the associated reference image list is greater than 1 are removed from the list. If the number of spatiotemporal motion vector candidates is less than two, additional zero motion vector candidates are added to the list. 2.1.2.2 Spatial Motion Vector Candidates

[075] Na derivação de candidatos a vetor de movimento espacial, um máximo de dois candidatos são considerados entre cinco candidatos potenciais, que são derivados a partir de PUs localizados em posições como retratados na Figura 2, essas posições sendo as mesmas que aquelas da mescla de movimento. A ordem de derivação para o lado esquerdo da PU atual é definida como A0, A1, e A0 escalado, A1 escalado. A ordem de derivação para o lado acima da PU atual é definida como B0, B1, B2, B B0 escalado, B1 escalado, B2 escalado. Para cada lado, há, portanto, quatro casos que podem ser usados como candidatos a vetor de movimento, com dois casos em que não é necessário usar escalamento espacial e dois casos em que escalamento espacial é usado. Os quatro diferentes casos são resumidos como segue. Sem escalamento espacial (1) A mesma lista de imagens de referência e mesmo índice de imagens de referência (mesmo POC) (2) Lista de imagens de referência diferente, mas a mesma imagem de referência (mesmo POC) Escalamento espacial (3) A mesma lista de imagens de referência, mas diferentes imagens de referência (diferentes POC) (4) Lista de imagens de referência diferente e imagens de referência diferente (diferentes POC)[075] In deriving spatial motion vector candidates, a maximum of two candidates are considered among five potential candidates, which are derived from PUs located at positions as depicted in Figure 2, these positions being the same as those of the motion blend. The derivation order for the left side of the current PU is defined as A0, A1, and scaled A0, scaled A1. The derivation order for the side above the current PU is defined as B0, B1, B2, scaled B B0, scaled B1, scaled B2. For each side, there are therefore four cases that can be used as motion vector candidates, with two cases where no spatial scaling is required and two cases where spatial scaling is used. The four different cases are summarized as follows. No spatial scaling (1) Same reference image list and same reference image index (same POC) (2) Different reference image list but same reference image (same POC) Spatial scaling (3) Same reference image list but different reference images (different POC) (4) Different reference image list and different reference images (different POC)

[076] Os casos de escalamento não espacial são verificados primeiro, seguidos pelo escalamento espacial. O escalamento espacial é considerado quando o POC é diferente entre a imagem de referência da PU vizinha e aquela da PU atual, independentemente da lista de imagens de referência. Se todas as PUs dos candidatos à esquerda não estiverem disponíveis ou forem codificados por dentro, o escalamento para o vetor de movimento acima é permitido para ajudar na derivação paralela dos candidatos a MV à esquerda e acima. Caso contrário, o escalamento espacial não é permitido para o vetor de movimento acima.[076] Non-spatial scaling cases are checked first, followed by spatial scaling. Spatial scaling is considered when the POC is different between the reference image of the neighboring PU and that of the current PU, regardless of the list of reference images. If all the left candidate PUs are not available or are internally coded, scaling for the above motion vector is allowed to aid in the parallel derivation of the left and above MV candidates. Otherwise, spatial scaling is not allowed for the above motion vector.

[077] Em um processo de escalamento espacial, o vetor de movimento da PU vizinha é escalado de maneira semelhante ao escalamento temporal, como retratado na Figura 9. A principal diferença é que a lista de imagens de referência e o índice de PU atual são dados como entrada; o processo de escalamento atual é o mesmo do escalamento temporal. 2.1.2.3 Candidatos a vetor de movimento temporal[077] In a spatial scaling process, the motion vector of the neighboring PU is scaled in a manner similar to temporal scaling, as depicted in Figure 9. The main difference is that the reference image list and the current PU index are given as input; the actual scaling process is the same as that of temporal scaling. 2.1.2.3 Temporal Motion Vector Candidates

[078] Exceto para a derivação do índice de imagem de referência, todos os processos para a derivação de candidatos a mescla temporal são os mesmos que para a derivação de candidatos a vetor de movimento espacial (vide Figura 6). O índice de imagem de referência é sinalizado para o decodificador. 2.2 Novos métodos de interpredição 2.2.1 Predição de vetor de movimento baseada em Sub-CU[078] Except for the derivation of the reference image index, all processes for the derivation of temporal blending candidates are the same as those for the derivation of spatial motion vector candidates (see Figure 6). The reference image index is signaled to the decoder. 2.2 New Interprediction Methods 2.2.1 Sub-CU-Based Motion Vector Prediction

[079] No JEM com QTBT, cada CU pode ter no máximo um conjunto de parâmetros de movimento para cada direção de predição. Dois métodos de predição de vetor de movimento de nível de sub-CU são considerados no codificador dividindo um grande CU em sub-CUs e derivando informações de movimento para todas as sub-CUs da grande CU. O método de predição de vetor de movimento temporal alternativo (ATMVP) permite que cada CU colete múltiplos conjuntos de informações de movimento a partir de múltiplos blocos menores do que a CU atual na imagem de referência co-localizada. No método de predição de vetor de movimento espacial-temporal (STMVP) vetores de movimento das sub-CUs são derivados recursivamente usando o preditor de vetor de movimento temporal e vetor de movimento vizinho espacial.[079] In JEM with QTBT, each CU can have at most one set of motion parameters for each prediction direction. Two sub-CU level motion vector prediction methods are considered in the encoder by dividing a large CU into sub-CUs and deriving motion information for all sub-CUs from the large CU. The alternative temporal motion vector prediction (ATMVP) method allows each CU to collect multiple sets of motion information from multiple blocks smaller than the current CU in the co-located reference image. In the spatial-temporal motion vector prediction (STMVP) method, motion vectors of the sub-CUs are derived recursively using the temporal motion vector predictor and spatial neighbor motion vector.

[080] Para preservar o campo de movimento mais exato para predição de movimento de sub-CU, a compressão de movimento para os quadros de referência está atualmente desativada. 2.2.1.1 Predição de vetor de movimento temporal alternativo[080] To preserve the most accurate motion field for sub-CU motion prediction, motion compression for reference frames is currently disabled. 2.2.1.1 Alternative Temporal Motion Vector Prediction

[081] No método de predição de vetor de movimento temporal alternativo (ATMVP), a predição de vetor de movimento temporal (TMVP) de vetores de movimento é modificada ao coletar múltiplos conjuntos de informações de movimento (incluindo vetores de movimento e índices de referência) de blocos menores do que a CU atual. Como mostrado na Figura 10, as sub-CUs são blocos NxN quadrados (N é preparado como 4 por padrão).[081] In the alternative temporal motion vector prediction (ATMVP) method, the temporal motion vector prediction (TMVP) of motion vectors is modified by collecting multiple sets of motion information (including motion vectors and reference indices) from blocks smaller than the current CU. As shown in Figure 10, the sub-CUs are NxN square blocks (N is prepared as 4 by default).

[082] ATMVP prediz os vetores de movimento das sub-CUs dentro de uma CU em duas etapas. O primeiro passo é identificar o bloco correspondente em uma imagem de referência com o chamado vetor temporal. A imagem de referência é chamada de imagem fonte de movimento. A segunda etapa é dividir a CU atual em sub-CUs e obter os vetores de movimento, bem como os índices de referência de cada sub-CU a partir do bloco correspondente a cada sub-CU, como mostrado na Figura 10.[082] ATMVP predicts the motion vectors of the sub-CUs within a CU in two steps. The first step is to identify the corresponding block in a reference image with the so-called temporal vector. The reference image is called the motion source image. The second step is to divide the current CU into sub-CUs and obtain the motion vectors as well as the reference indices of each sub-CU from the block corresponding to each sub-CU, as shown in Figure 10.

[083] Na primeira etapa, uma imagem de referência e o bloco correspondente são determinados pelas informações de movimento dos blocos vizinhos espaciais da CU atual. Para evitar o processo de varredura repetitivo de blocos vizinhos, o primeiro candidato a mescla na lista de candidatos a mescla da CU atual é usado. O primeiro vetor de movimento disponível, bem como seu índice de referência associado são preparados para serem o vetor temporal e o índice para a imagem fonte de movimento. Desta forma, em ATMVP, o bloco correspondente pode ser identificado com mais exatidão, em comparação com TMVP, em que o bloco correspondente (às vezes chamado de bloco co- localizado) está sempre em uma posição inferior direita ou central em relação à CU atual.[083] In the first step, a reference picture and the corresponding block are determined by the motion information of the spatial neighboring blocks of the current CU. To avoid the repetitive scanning process of neighboring blocks, the first merge candidate in the merge candidate list of the current CU is used. The first available motion vector as well as its associated reference index are prepared to be the temporal vector and index for the motion source picture. In this way, in ATMVP, the corresponding block can be identified more accurately, compared to TMVP, where the corresponding block (sometimes called co-located block) is always in a lower right or center position relative to the current CU.

[084] Na segunda etapa, um bloco correspondente da sub-CU é identificado pelo vetor temporal na imagem fonte de movimento, adicionando à coordenada da CU atual o vetor temporal. Para cada sub-CU, as informações de movimento de seu bloco correspondente (a menor grade de movimento que cobre a amostra central) são usadas para derivar as informações de movimento para a sub-CU. Após as informações de movimento de um bloco NxN correspondente serem identificadas, são convertidas para os vetores de movimento e índices de referência da sub-CU atual, da mesma forma que TMVP de HEVC, em que o escalamento de movimento e outros procedimentos se aplicam. Por exemplo, o decodificador verifica se a condição de baixo atraso (isto é, os POCs de todas as imagens de referência da imagem atual são menores do que o POC da imagem atual) é atendida e possivelmente usa o vetor de movimento MVx (isto é, o vetor de movimento correspondente à lista de imagens de referência X) para predizer o vetor de movimento MVy (isto é, com X sendo igual a 0 ou 1 e Y sendo igual a 1-X) para cada sub-CU. 2.2.2 Candidatos médios de pares[084] In the second step, a corresponding block of the sub-CU is identified by the temporal vector in the motion source image by adding to the coordinate of the current CU the temporal vector. For each sub-CU, the motion information of its corresponding block (the smallest motion grid covering the central sample) is used to derive the motion information for the sub-CU. After the motion information of a corresponding NxN block is identified, it is converted to the motion vectors and reference indices of the current sub-CU, in the same way as HEVC TMVP, where motion scaling and other procedures apply. For example, the decoder checks whether the low-delay condition (i.e., the POCs of all reference pictures of the current picture are smaller than the POC of the current picture) is met and possibly uses the motion vector MVx (i.e., the motion vector corresponding to the list of reference pictures X) to predict the motion vector MVy (i.e., with X being equal to 0 or 1 and Y being equal to 1-X) for each sub-CU. 2.2.2 Pairwise Average Candidates

[085] Candidatos médios de pares são gerados pela média de pares predefinidos de candidatos na lista de candidatos a mescla atual, e os pares predefinidos são definidos como {(0, 1), (0, 2), (1, 2), (0, 3), (1, 3), (2, 3)}, onde os números denotam os índices de mescla para a lista de candidatos a mescla. Os vetores de movimento médios são calculados separadamente para cada lista de referência. Se os dois vetores de movimento estiverem disponíveis em uma lista, esses dois vetores de movimento terão a média calculada mesmo quando apontarem para imagens de referência diferentes; se apenas um vetor de movimento estiver disponível, use o diretamente; se nenhum vetor de movimento estiver disponível, mantenha esta lista inválida. Os candidatos médios em pares substituem os candidatos combinados no padrão HEVC.[085] Pairwise average candidates are generated by averaging predefined pairs of candidates in the current blend candidate list, and the predefined pairs are defined as {(0, 1), (0, 2), (1, 2), (0, 3), (1, 3), (2, 3)}, where the numbers denote the blend indices for the blend candidate list. Average motion vectors are calculated separately for each reference list. If both motion vectors are available in a list, these two motion vectors are averaged even when they point to different reference images; if only one motion vector is available, use it directly; if no motion vectors are available, keep this list invalid. Pairwise average candidates replace blended candidates in the HEVC standard.

[086] A análise da complexidade dos candidatos médios em pares está resumida na Tabela 1. Para o pior caso de cálculos adicionais para a média (a última coluna na Tabela 1), 4 adições e 4 mudanças são necessárias para cada par (MVx e MVy em L0 e L1), e 4 comparações de índice de referência são necessárias para cada par (refIdx0 é válido e refIdx1 é válido em L0 e L1). Existem 6 pares, levando a 24 adições, 24 mudanças e 24 comparações de índice de referência no total. Os candidatos combinados no padrão HEVC usam 2 comparações de índice de referência para cada par (refIdx0 é válido em L0 e refIdx1 é válido em L1), e há 12 pares, levando a 24 comparações de índice de referência no total.[086] The complexity analysis of the pairwise average candidates is summarized in Table 1. For the worst case of additional computations for the average (the last column in Table 1), 4 additions and 4 shifts are required for each pair (MVx and MVy in L0 and L1), and 4 reference index comparisons are required for each pair (refIdx0 is valid and refIdx1 is valid in L0 and L1). There are 6 pairs, leading to 24 additions, 24 shifts, and 24 reference index comparisons in total. The combined candidates in the HEVC standard use 2 reference index comparisons for each pair (refIdx0 is valid in L0 and refIdx1 is valid in L1), and there are 12 pairs, leading to 24 reference index comparisons in total.

[087] Tabela 1: Análise de operação para os candidatos médios em pares 2.2.3 Compensação de iluminação local[087] Table 1: Operation analysis for average candidates in pairs 2.2.3 Local lighting compensation

[088] A Compensação de Iluminação Local (LIC) é com base em um modelo linear para alterações de iluminação, usando um fator de escalamento a e um deslocamento b. E é habilitada ou desabilitada de maneira adaptativa para cada unidade de codificação (CU) codificada intramodo.[088] Local Illumination Compensation (LIC) is based on a linear model for illumination changes, using a scaling factor a and an offset b. And it is adaptively enabled or disabled for each intra-mode encoded coding unit (CU).

[089] Quando a LIC se aplica a uma CU, um método de erro quadrático mínimo é empregado para derivar os parâmetros a e b ao usar as amostras vizinhas da UC atual e suas amostras de referência correspondentes. Mais especificamente, como ilustrado na Figura 11, as amostras vizinhas sub- amostradas (sub-amostragem 2:1) da CU e as amostras correspondentes (identificadas pelas informações de movimento da CU ou sub-CU atual) na imagem de referência são usadas. Os parâmetros de IC são derivados e aplicados para cada direção de predição separadamente.[089] When LIC is applied to a CU, a least square error method is employed to derive the parameters a and b by using the neighboring samples of the current CU and its corresponding reference samples. More specifically, as illustrated in Figure 11, the sub-sampled neighboring samples (2:1 sub-sampling) of the CU and the corresponding samples (identified by the motion information of the current CU or sub-CU) in the reference image are used. The IC parameters are derived and applied for each prediction direction separately.

[090] Quando uma CU é codificada com modo de mescla, o flag de LIC é copiado a partir dos blocos vizinhos, de maneira semelhante à cópia de informações de movimento no modo de mescla; caso contrário, um flag de LIC é sinalizado para a CU para indicar se a LIC se aplica ou não.[090] When a CU is coded with blend mode, the LIC flag is copied from neighboring blocks, similar to copying motion information in blend mode; otherwise, a LIC flag is signaled to the CU to indicate whether LIC applies or not.

[091] Quando a LIC é habilitada para uma imagem, é necessária uma verificação de RD de nível de CU adicional para determinar se a LIC é aplicada ou não para uma CU. Quando a LIC é habilitada para uma CU, a soma de diferenças absolutas com remoção de média (MR-SAD) e a soma de diferenças absolutas com remoção de média transformada por Hadamard (MR-SATD) são usadas, em vez de SAD e SATD, para busca de movimento pel inteiro e busca de movimento pel fracionário, respectivamente.[091] When LIC is enabled for an image, an additional CU-level RD check is required to determine whether or not LIC is applied for a CU. When LIC is enabled for a CU, mean-removed sum of absolute differences (MR-SAD) and Hadamard-transformed mean-removed sum of absolute differences (MR-SATD) are used, instead of SAD and SATD, for integer pel motion search and fractional pel motion search, respectively.

[092] Para reduzir a complexidade do codificador, o seguinte esquema de codificação é aplicado no JEM.[092] To reduce the complexity of the encoder, the following encoding scheme is applied in JEM.

[093] A LIC é desativada para a imagem inteira quando não há alterações de iluminação óbvia entre a imagem atual e suas imagens de referência. Para identificar esta situação, os histogramas de uma imagem atual e cada imagem de referência da imagem atual são calculados no codificador. Se a diferença de histograma entre a imagem atual e cada imagem de referência da imagem atual for menor do que um dado limiar, a LIC será desabilitada para a imagem atual; caso contrário, a LIC é habilitada para a imagem atual. 2.2.4 Inter e intrapredição combinada[093] LIC is disabled for the entire image when there are no obvious illumination changes between the current image and its reference images. To identify this situation, the histograms of a current image and each reference image of the current image are calculated in the encoder. If the histogram difference between the current image and each reference image of the current image is smaller than a given threshold, LIC is disabled for the current image; otherwise, LIC is enabled for the current image. 2.2.4 Combined Inter- and Intra-Prediction

[094] Em algumas modalidades, a predição de múltiplas hipóteses é proposta, em que a intra e interpredição combinada é uma maneira de gerar múltiplas hipóteses.[094] In some embodiments, multiple hypothesis prediction is proposed, where combined intra- and inter-prediction is a way to generate multiple hypotheses.

[095] Quando a predição de múltiplas hipóteses é aplicada para melhorar o intramodo, a predição de múltiplas hipóteses combina uma intrapredição e uma predição indexada por mescla. Em uma CU de mescla, um flag é sinalizado para o modo de mescla para selecionar um intramodo a partir de uma lista de intracandidatos quando o flag é verdadeiro. Para o componente luma, a lista de intracandidatos é derivada de 4 modos de intrapredição, incluindo modos DC, planar, horizontal e vertical, e o tamanho da lista de intracandidatos pode ser 3 ou 4, dependendo da forma do bloco. Quando a largura da CU é maior do que o dobro da altura da CU, o modo horizontal é exclusivo da lista de intramodo e quando a altura da CU é maior do que o dobro da largura da CU, o modo vertical é removido da lista de intramodo. Um modo de intrapredição selecionado pelo índice de intramodo e uma predição indexada por mescla selecionada pelo índice de mescla são combinados usando a média ponderada. Para o componente croma, o DM é sempre aplicado sem sinalização extra. As ponderações para combinar as predições são descritas a seguir. Quando o modo DC ou planar é selecionado, ou a largura ou altura do CB é menor que 4, ponderações iguais são aplicadas. Para aqueles CBs com largura e altura CBs maiores ou iguais a 4, quando o modo horizontal/vertical é selecionado, um CB é primeiro vertical/horizontalmente dividido em quatro regiões de área igual. Cada conjunto de ponderações, denotado como (w_intrai, w_interi), onde i é de 1 a 4 e (w_intra1, w_inter1) = (6, 2), (w_intra2, w_inter2) = (5, 3), (w_intra3, w_inter3) = (3, 5), e (w_intra4, w_inter4) = (2, 6), será aplicado a uma região correspondente. (w_intra1, w_inter1) está para a região mais próxima das amostras de referência e (w_intra4, w_inter4) está para a região mais distante das amostras de referência. Em seguida, a predição combinada pode ser calculada somando as duas predições ponderadas e deslocando para a direita 3 bits. Além disso, o modo de intrapredição para a intrahipótese de preditores pode ser salvo para referência das CUs vizinhas a seguir.[095] When multi-hypothesis prediction is applied to improve intra-mode, multi-hypothesis prediction combines an intra-prediction and a merge-indexed prediction. In a merge CU, a flag is signaled to the merge mode to select an intra-mode from a list of intra-candidates when the flag is true. For the luma component, the list of intra-candidates is derived from 4 intra-prediction modes, including DC, planar, horizontal, and vertical modes, and the size of the intra-candidate list can be 3 or 4 depending on the block shape. When the CU width is greater than twice the CU height, the horizontal mode is exclusive from the intra-mode list, and when the CU height is greater than twice the CU width, the vertical mode is removed from the intra-mode list. An intra-prediction mode selected by the intra-mode index and a merge-indexed prediction selected by the merge index are combined using weighted average. For the chroma component, DM is always applied without extra flags. The weightings for combining the predictions are described below. When DC or planar mode is selected, or the CB width or height is less than 4, equal weightings are applied. For those CBs with CB width and height greater than or equal to 4, when horizontal/vertical mode is selected, a CB is first vertically/horizontally divided into four regions of equal area. Each set of weightings, denoted as (w_intrai, w_interi), where i is from 1 to 4 and (w_intra1, w_inter1) = (6, 2), (w_intra2, w_inter2) = (5, 3), (w_intra3, w_inter3) = (3, 5), and (w_intra4, w_inter4) = (2, 6), will be applied to a corresponding region. (w_intra1, w_inter1) is for the region closest to the reference samples, and (w_intra4, w_inter4) is for the region farthest from the reference samples. Then, the combined prediction can be calculated by summing the two weighted predictions and right-shifting 3 bits. Furthermore, the intraprediction mode for the intrahypothesis of predictors can be saved for reference by the following neighboring CUs.

Bipredição generalizadaGeneralized biprediction

[096] Na bipredição convencional, os preditores de L0 e L1 são calculados em média para gerar o preditor final usando as ponderações iguais 0,5. A fórmula de geração do preditor é mostrada como em Equ. (3) PTraditionalBiPred = (PL0 + PL1 + RoundingOffset) >> shiftNum, (1)[096] In conventional biprediction, the L0 and L1 predictors are averaged to generate the final predictor using equal weights 0.5. The predictor generation formula is shown as in Equ. (3) PTraditionalBiPred = (PL0 + PL1 + RoundingOffset) >> shiftNum, (1)

[097] Em Equ. (3), PTraditionalBiPred é o preditor final para a bipredição convencional, PL0 e PL1 são preditores de L0 e L1, respectivamente, e RoundingOffset e shiftNum são usados para normalizar o preditor final.[097] In Equ. (3), PTraditionalBiPred is the final predictor for conventional biprediction, PL0 and PL1 are predictors of L0 and L1, respectively, and RoundingOffset and shiftNum are used to normalize the final predictor.

[098] A bipredição generalizada (GBI) é proposta para permitir a aplicação de diferentes ponderações aos preditores de L0 e L1. A geração do preditor é mostrada em Equ. (4). PGBi = ( (1-w1)* PL0 + w1 * PL1 + RoundingOffsetGBi) >> shiftNumGBi, (2)[098] Generalized biprediction (GBI) is proposed to allow applying different weights to L0 and L1 predictors. The predictor generation is shown in Equ. (4). PGBi = ( (1-w1)* PL0 + w1 * PL1 + RoundingOffsetGBi) >> shiftNumGBi, (2)

[099] Em Equ. (4), PGBi é o preditor final de GBi. (1-w1) e w1 são as ponderações de GBI selecionadas aplicadas aos preditores de L0 e L1, respectivamente. RoundingOffsetGBi e shiftNumGBi são usados para normalizar o preditor final em GBi.[099] In Equ. (4), PGBi is the final GBi predictor. (1-w1) and w1 are the selected GBI weights applied to the L0 and L1 predictors, respectively. RoundingOffsetGBi and shiftNumGBi are used to normalize the final predictor to GBi.

[100] A tabela de ponderações w1 com suporte é {-1/4, 3/8, 1/2, 5/8, 5/4}. Um conjunto de ponderações iguais e quatro conjuntos de ponderações desiguais são suportados. Para o caso de ponderações iguais, o processo para gerar o preditor final é exatamente o mesmo que no modo convencional de bipredição. Para os verdadeiros casos de bipredição em condição de acesso aleatório (RA), o número de conjuntos de ponderações candidatas é reduzido para três.[100] The supported weighting table w1 is {-1/4, 3/8, 1/2, 5/8, 5/4}. One set of equal weights and four sets of unequal weights are supported. For the equal weight case, the process to generate the final predictor is exactly the same as in the conventional biprediction mode. For true biprediction cases under random access (RA) condition, the number of candidate weight sets is reduced to three.

[101] Para o modo de predição de vetor de movimento avançado (AMVP), a seleção de ponderação em GBI é explicitamente sinalizada no nível de CU se esta CU for codificada por bipredição. Para o modo de mescla, a seleção de ponderação é herdada do candidato a mescla. Nesta proposta, o GBI suporta DMVR para gerar a média ponderada do modelo, bem como o preditor final para BMS-1.0. 2.2.6 Expressão do vetor de movimento final[101] For the advanced motion vector prediction (AMVP) mode, the weight selection in GBI is explicitly signaled at the CU level if this CU is biprediction-encoded. For the blending mode, the weight selection is inherited from the blending candidate. In this proposal, GBI supports DMVR to generate the weighted average of the model as well as the final predictor for BMS-1.0. 2.2.6 Final Motion Vector Expression

[102] Em algumas modalidades, a expressão do vetor de movimento final (UMVE) é apresentada. UMVE é usado para modo de salto ou mescla com um método de expressão de vetor de movimento proposto.[102] In some embodiments, final motion vector expression (UMVE) is presented. UMVE is used to skip or blend mode with a proposed motion vector expression method.

[103] O UMVE reutiliza o candidato a mescla como usado no VVC. Entre os candidatos a mescla, um candidato pode ser selecionado e é adicionalmente expandido pelo método de expressão de vetor de movimento proposto.[103] UMVE reuses the merge candidate as used in VVC. Among the merge candidates, a candidate can be selected and is further expanded by the proposed motion vector expression method.

[104] UMVE provê uma nova expressão de vetor de movimento com sinalização simplificada. O método de expressão inclui ponto inicial, magnitude do movimento e direção do movimento.[104] UMVE provides a new motion vector expression with simplified signaling. The expression method includes starting point, motion magnitude, and motion direction.

[105] Esta técnica proposta usa uma lista de candidato a mescla como está. Mas apenas os candidatos que são do tipo de mescla padrão (MRG_TYPE_DEFAULT_N) são considerados para a expansão do UMVE.[105] This proposed technique uses a merge candidate list as is. But only candidates that are of the default merge type (MRG_TYPE_DEFAULT_N) are considered for UMVE expansion.

[106] O índice base do candidato define o ponto de partida. O índice de base de candidatos indica o melhor candidato entre os candidatos na lista como a seguir.[106] The candidate base index defines the starting point. The candidate base index indicates the best candidate among the candidates on the list as follows.

[107] Tabela 1. Candidato base IDX [107] Table 1. IDX base candidate

[108] Se o número de candidato base for igual a 1, o candidato base IDX não é sinalizado.[108] If the base candidate number is equal to 1, the base candidate IDX is not flagged.

[109] O índice de distância são as informações da magnitude de movimento. O índice de distância indica a distância predefinida das informações do ponto de partida. A distância pré-definida é como a seguir:[109] The distance index is the information of the movement magnitude. The distance index indicates the predefined distance of the starting point information. The predefined distance is as follows:

[110] Tabela 2. Distância IDX [110] Table 2. IDX Distance

[111] O índice de direção representa a direção do MVD em relação ao ponto de partida. O índice de direção pode representar as quatro direções como mostrado abaixo. Tabela 3. Direção IDX [111] The direction index represents the direction of the MVD relative to the starting point. The direction index can represent the four directions as shown below. Table 3. IDX Direction

[112] O flag UMVE é sinalizado logo após o envio de um flag de salto e flag de mescla. Se o flag de salto e mescla for verdadeiro, o flag UMVE será analisado. Se flag UMVE for igual a 1, as sintaxes UMVE serão analisadas. Mas, se não for 1, flag AFFINE é analisada. Se flag AFFINE for igual a 1, esse é o modo AFFINE, mas, se não for 1, o índice de salto/mescla é analisado para o modo de salto/mescla do VTM.[112] The UMVE flag is set just after a jump flag and merge flag are sent. If the jump and merge flag are true, the UMVE flag is parsed. If the UMVE flag is equal to 1, the UMVE syntaxes are parsed. But if it is not 1, the AFFINE flag is parsed. If the AFFINE flag is equal to 1, this is AFFINE mode, but if it is not 1, the jump/merge index is parsed for VTM jump/merge mode.

[113] O buffer de linha adicional devido a candidatos UMVE não é necessário. Porque um candidato a salto/mescla de software é usado diretamente como um candidato base. Usando o índice UMVE de entrada, o suplemento de MV é decidido logo antes da compensação de movimento. Não há necessidade de manter buffer de linha longa para isso. 2.2.7 Predição de vetor de movimento baseada em histórico[113] Additional line buffer due to UMVE candidates is not needed. Because a software jump/merge candidate is directly used as a base candidate. Using the input UMVE index, the MV supplement is decided just before motion compensation. There is no need to maintain long line buffer for this. 2.2.7 History-Based Motion Vector Prediction

[114] Em nossa invenção anterior P1805028401H, uma ou mais tabelas de consulta com pelo menos um candidato a movimento é armazenado para predizer informações de movimento de um bloco.[114] In our prior invention P1805028401H, one or more lookup tables with at least one move candidate are stored to predict move information of a block.

[115] Um método MVP baseado em histórico (HMVP) é proposto em que um candidato a HMVP é definido como a informação de movimento de um bloco previamente codificado. Uma tabela com múltiplos candidatos a HMVP é mantida durante o processo de codificação/decodificação. A tabela é esvaziada quando uma nova fatia é encontrada. Sempre que houver um bloco intercodificado, as informações de movimento associadas são adicionadas à última entrada da tabela como um novo candidato a HMVP. O fluxo geral de codificação é retratado na Figura 13.[115] A history-based MVP (HMVP) method is proposed in which an HMVP candidate is defined as the motion information of a previously coded block. A table with multiple HMVP candidates is maintained during the encoding/decoding process. The table is emptied when a new slice is encountered. Whenever there is an inter-coded block, the associated motion information is added to the last entry of the table as a new HMVP candidate. The overall coding flow is depicted in Figure 13.

[116] Em um exemplo, o tamanho da tabela é preparado como L (por exemplo, L = 16 ou 6 ou 44), o que indica que até L candidatos a HMVP podem ser adicionados à tabela.[116] In one example, the table size is prepared as L (e.g., L = 16 or 6 or 44), which indicates that up to L HMVP candidates can be added to the table.

[117] Em uma modalidade, se há mais de L candidatos a HMVP a partir dos blocos codificados anteriormente, uma regra Primeiro-a-Entrar-Primeiro-a Sair (First-In-First-Out) (FIFO) é aplicada de modo que a tabela sempre contenha os últimos L candidatos a movimento codificados anteriormente. A Figura 14 retrata um exemplo em que a regra de FIFO é aplicada para remover um candidato a HMVP e adicionar um novo à tabela usada no método proposto.[117] In one embodiment, if there are more than L HMVP candidates from the previously encoded blocks, a First-In-First-Out (FIFO) rule is applied such that the table always contains the last L previously encoded move candidates. Figure 14 depicts an example where the FIFO rule is applied to remove an HMVP candidate and add a new one to the table used in the proposed method.

[118] Em outra modalidade, sempre que adicionar um novo candidato a movimento (tal como o bloco atual é intercodificado e modo não afim), um processo de verificação de redundância é aplicado em primeiro lugar para identificar se há candidatos a movimento idênticos ou semelhantes em LUTs. 2.2.8 Diferença de vetor de movimento simétrico[118] In another embodiment, whenever adding a new motion candidate (such as the current block is intercoded and non-affine mode), a redundancy check process is first applied to identify whether there are identical or similar motion candidates in LUTs. 2.2.8 Symmetric Motion Vector Difference

[119] Em algumas modalidades, a diferença de vetor de movimento simétrico (SMVD) é proposta para codificar o MVD de forma mais eficiente.[119] In some embodiments, symmetric motion vector difference (SMVD) is proposed to encode MVD more efficiently.

[120] Em primeiro lugar, no nível de fatia, as variáveis BiDirPredFlag, RefIdxSymL0 e RefIdxSymL1 são derivadas como a seguir:[120] First, at the slice level, the variables BiDirPredFlag, RefIdxSymL0, and RefIdxSymL1 are derived as follows:

[121] A imagem de referência para a frente na lista de imagens de referência 0, que está mais próxima da imagem atual, é buscada. Se encontrado, RefIdxSymL0 é preparado igual ao índice de referência da imagem à frente.[121] The forward reference image in reference image list 0, which is closest to the current image, is searched. If found, RefIdxSymL0 is set equal to the reference index of the forward image.

[122] A imagem de referência para trás na lista de imagens de referência 1 que está mais próxima da imagem atual é buscada. Se encontrado, RefIdxSymL1 é preparado igual ao índice de referência da imagem anterior.[122] The backward reference image in the reference image list 1 that is closest to the current image is searched for. If found, RefIdxSymL1 is set equal to the reference index of the previous image.

[123] Se forem encontradas imagens para frente e para trás, BiDirPredFlag é preparado como 1.[123] If both forward and backward images are found, BiDirPredFlag is set to 1.

[124] Caso contrário, aplica-se o seguinte:[124] Otherwise, the following applies:

[125] A imagem de referência para trás na lista de imagens de referência 0 que está mais próxima da atual é buscada. Se encontrado, RefIdxSymL0 é preparado igual ao índice de referência da imagem anterior.[125] The backward reference image in the reference image list 0 that is closest to the current one is searched for. If found, RefIdxSymL0 is set equal to the reference index of the previous image.

[126] A imagem de referência para frente na lista de imagens de referência 1 que está mais próxima da atual é buscada. Se encontrado, RefIdxSymL1 é preparado igual ao índice de referência da imagem à frente.[126] The forward reference image in the reference image list 1 that is closest to the current one is searched for. If found, RefIdxSymL1 is set equal to the reference index of the forward image.

[127] Se ambas as imagens para trás e para frente forem encontradas, BiDirPredFlag será preparado como 1. Caso contrário, BiDirPredFlag é preparado igual a 0.[127] If both the backward and forward images are found, BiDirPredFlag is set to 1. Otherwise, BiDirPredFlag is set to 0.

[128] Em segundo lugar, no nível de CU, um flag de modo simétrico indicando se o modo simétrico é usado ou não é explicitamente sinalizado se a direção de predição para a CU é bipredição e BiDirPredFlag é igual a 1.[128] Second, at the CU level, a symmetric mode flag indicating whether symmetric mode is used or not is explicitly flagged if the prediction direction for the CU is biprediction and BiDirPredFlag is equal to 1.

[129] Quando o flag é verdadeiro, apenas mvp_l0_flag, mvp_l1_flag e MVD0 são sinalizados explicitamente. Os índices de referência são preparados iguais a RefIdxSymL0, RefIdxSymL1 para a lista 0 e lista 1, respectivamente. MVD1 é apenas preparado igual a -MVD0. Os vetores de movimento finais são mostrados na fórmula abaixo. [129] When the flag is true, only mvp_l0_flag, mvp_l1_flag and MVD0 are explicitly flagged. The reference indices are set equal to RefIdxSymL0, RefIdxSymL1 for list 0 and list 1 respectively. MVD1 is only set equal to -MVD0. The final motion vectors are shown in the formula below.

[130] As modificações na sintaxe da unidade de codificação são mostradas na Tabela 2.[130] Modifications to the coding unit syntax are shown in Table 2.

[131] Tabela 2: Modificações na sintaxe da unidade de codificação 2.2. 9 CIIP em VTM4[131] Table 2: Modifications to coding unit syntax 2.2. 9 CIIP in VTM4

[132] Em VTM4, quando uma CU é codificada no modo de mescla e se a CU contém pelo menos 64 amostras de luma (ou seja, a largura da CU vezes a altura da CU é igual ou maior que 64) e um flag adicional é sinalizado para indicar se o modo combinado de intra e interpredição (CIIP) é aplicado à CU atual.[132] In VTM4, when a CU is encoded in blend mode and if the CU contains at least 64 luma samples (i.e., the CU width times the CU height is equal to or greater than 64) then an additional flag is set to indicate whether combined intra- and inter-prediction (CIIP) mode is applied to the current CU.

[133] A fim de formar a predição de CIIP, um modo de intrapredição é primeiro derivado de dois elementos de sintaxe adicionais. Podem ser usados até quatro modos de intrapredição possíveis: DC, planar, horizontal ou vertical. Em seguida, os sinais de interpredição e intrapredição são derivados usando processos regulares de decodificação. Finalmente, a média ponderada dos sinais de intra e interpredição é desempenhada para obter a predição de CIIP.[133] In order to form the CIIP prediction, an intraprediction mode is first derived from two additional syntax elements. Up to four possible intraprediction modes can be used: DC, planar, horizontal or vertical. Then, the interprediction and intraprediction signals are derived using regular decoding processes. Finally, the weighted average of the intraprediction and interprediction signals is performed to obtain the CIIP prediction.

I. Derivação de modo de intraprediçãoI. Intraprediction mode derivation

[134] Até 4 modos de intrapredição, incluindo modos DC, PLANAR, HORIZONTAL e VERTICAL, podem ser usados para predição do componente luma no modo de CIIP. Se a forma da CU for muito larga (ou seja, a largura é mais de duas vezes a altura), o modo HORIZONTAL não é permitido. Se a forma da CU for muito estreita (ou seja, a altura é mais de duas vezes a largura), o modo VERTICAL não é permitido. Nestes casos, apenas 3 modos de intrapredição são permitidos.[134] Up to 4 intraprediction modes, including DC, PLANAR, HORIZONTAL and VERTICAL modes, can be used for luma component prediction in CIIP mode. If the CU shape is too wide (i.e. the width is more than twice the height), the HORIZONTAL mode is not allowed. If the CU shape is too narrow (i.e. the height is more than twice the width), the VERTICAL mode is not allowed. In these cases, only 3 intraprediction modes are allowed.

[135] O modo de CIIP usa 3 modos mais prováveis (MPM) para intrapredição. A lista de candidatos a CIIP MPM é formada como a seguir: - Os blocos vizinhos esquerdo e superior são preparados como A e B, respectivamente - Os modos de intrapredição do bloco A e bloco B, denotados como intraModeA e intraModeB, respectivamente, são derivados como a seguir: o Seja X A ou B o intraModeX é preparado como DC se 1) o bloco X não estiver disponível; ou 2) o bloco X não é predito usando o modo de CIIP ou o intramodo; 3) bloco B está fora da CU atual o caso contrário, intraModeX é preparado como 1) DC ou PLANAR se o modo de intrapredição do bloco X for DC ou PLANAR; ou 2) VERTICAL se o modo de intrapredição do bloco X for um modo angular “tipo vertical” (maior que 34), ou 3) HORIZONTAL se o modo de intrapredição do bloco X for um modo angular “tipo horizontal” (menor maior ou igual a 34) - Se intraModeA e intraModeB forem iguais: o Se intraModeA for PLANAR ou DC, os três MPMs serão preparados como {PLANAR, DC, VERTICAL} nessa ordem o Caso contrário, os três MPMs são preparados como {intraModeA, PLANAR, DC} nessa ordem - Caso contrário (intraModeA e intraModeB são diferentes): o Os primeiros dois MPMs são preparados como {intraModeA, intraModeB} nessa ordem o A exclusividade de PLANAR, DC e VERTICAL é verificada nessa ordem em relação aos dois primeiros modos candidatos a MPM; assim que um modo único é encontrado, ele é adicionado como o terceiro MPM[135] CIIP mode uses 3 most probable modes (MPM) for intraprediction. The CIIP MPM candidate list is formed as follows: - The left and upper neighboring blocks are prepared as A and B, respectively - The intraprediction modes of block A and block B, denoted as intraModeA and intraModeB, respectively, are derived as follows: o Let X be A or B, intraModeX is prepared as DC if 1) block X is not available; or 2) block X is not predicted using CIIP mode or intramode; 3) block B is outside the current CU o otherwise, intraModeX is prepared as 1) DC or PLANAR if the intraprediction mode of block X is DC or PLANAR; or 2) VERTICAL if the intraprediction mode of block X is a “vertical-type” angular mode (greater than 34), or 3) HORIZONTAL if the intraprediction mode of block X is a “horizontal-type” angular mode (less than or equal to 34) - If intraModeA and intraModeB are the same: o If intraModeA is PLANAR or DC, the three MPMs are prepared as {PLANAR, DC, VERTICAL} in that order o Otherwise, the three MPMs are prepared as {intraModeA, PLANAR, DC} in that order - Otherwise (intraModeA and intraModeB are different): o The first two MPMs are prepared as {intraModeA, intraModeB} in that order o The uniqueness of PLANAR, DC, and VERTICAL is checked in that order with respect to the first two MPM candidate modes; once a unique mode is found, it is added as the third MPM

[136] Se a forma da CU for muito larga ou muito estreita como definido acima, o flag MPM é considerado 1 sem sinalização. Caso contrário, um flag MPM é sinalizado para indicar se o modo de intrapredição de CIIP é um dos modos candidatos a CIIP MPM.[136] If the CU shape is too wide or too narrow as defined above, the MPM flag is considered 1 without signaling. Otherwise, an MPM flag is signaled to indicate whether the CIIP intraprediction mode is one of the CIIP MPM candidate modes.

[137] Se o flag MPM for 1, um índice MPM é adicionalmente sinalizado para indicar qual dos modos candidatos MPM é usado na intrapredição de CIIP. Caso contrário, se o flag MPM for 0, o modo de intrapredição é preparado para o modo “ausente” na lista de candidatos MPM. Por exemplo, se o modo PLANAR não estiver na lista de candidatos MPM, então PLANAR é o modo ausente e o modo de intrapredição é preparado como PLANAR. Uma vez que 4 modos de intrapredição possíveis são permitidos em CIIP, e a lista de candidatos MPM contém apenas 3 modos de intrapredição, um dos 4 modos possíveis deve ser o modo ausente.[137] If the MPM flag is 1, an MPM index is additionally flagged to indicate which of the MPM candidate modes is used in CIIP intraprediction. Otherwise, if the MPM flag is 0, the intraprediction mode is prepared for the “absent” mode in the MPM candidate list. For example, if the PLANAR mode is not in the MPM candidate list, then PLANAR is the absent mode and the intraprediction mode is prepared as PLANAR. Since 4 possible intraprediction modes are allowed in CIIP, and the MPM candidate list contains only 3 intraprediction modes, one of the 4 possible modes must be the absent mode.

[138] Para os componentes croma, o modo DM é sempre aplicado sem sinalização adicional; ou seja, croma usa o mesmo modo de predição que luma.[138] For chroma components, DM mode is always applied without additional flagging; i.e. chroma uses the same prediction mode as luma.

[139] O modo de intrapredição de uma CU codificada por CIIP será salvo e usado na codificação de intramodo das futuras CUs vizinhas. 2.2.9.2 Combinando os sinais de intra e interpredição[139] The intra-prediction mode of a CIIP-coded CU will be saved and used in the intra-mode coding of future neighboring CUs. 2.2.9.2 Combining intra- and inter-prediction signals

[140] O sinal de interpredição no modo de CIIP Pinter é derivado usando o mesmo processo de interpredição aplicado ao modo de mescla regular; e o sinal de intrapredição Pintra é derivado usando o modo de intrapredição de CIIP seguindo o processo de intrapredição regular. Em seguida, os sinais de intra e interpredição são combinados usando média ponderada, onde o valor de ponderação dependendo dos modos de intrapredição e onde a amostra é localizada no bloco de codificação como a seguir: - Se o modo de intrapredição for DC ou modo planar, ou se a largura ou altura do bloco for menor que 4, então ponderações iguais são aplicadas aos sinais de intrapredição e interpredição. - Caso contrário, as ponderações são determinadas com base no modo de intrapredição (modo horizontal ou modo vertical neste caso) e a localização da amostra no bloco. Pegue o modo de predição horizontal, por exemplo (as ponderações para o modo vertical são derivadas de forma semelhante, mas na direção ortogonal). Denote W como a largura do bloco e H como a altura do bloco. O bloco de codificação é primeiro dividido em quatro partes de áreas iguais, cada uma com a dimensão (W/4)xH. Começando na parte mais próxima das amostras de referência de intrapredição e terminando na parte mais distante das amostras de referência de intrapredição, a ponderação wt para cada uma das 4 regiões é preparada como 6, 5, 3 e 2, respectivamente. O sinal de predição de CIIP final é derivado usando o seguinte: PCIIP = ((8 - wt) * Pinter + wt * Pintra + 4) » 3 II. CIIP em VTM5[140] The interprediction signal in the CIIP Pinter mode is derived using the same interprediction process as applied to the regular blending mode; and the intraprediction signal Pintra is derived using the CIIP intraprediction mode following the regular intraprediction process. Then, the intra and interprediction signals are combined using weighted average, where the weighting value depending on the intraprediction modes and where the sample is located in the coding block as follows: - If the intraprediction mode is DC or planar mode, or if the block width or height is less than 4, then equal weightings are applied to the intraprediction and interprediction signals. - Otherwise, the weightings are determined based on the intraprediction mode (horizontal mode or vertical mode in this case) and the location of the sample in the block. Take the horizontal prediction mode for example (the weightings for the vertical mode are derived similarly but in the orthogonal direction). Denote W as the block width and H as the block height. The coding block is first divided into four equal area parts, each with dimension (W/4)xH. Starting from the part closest to the intra-prediction reference samples and ending at the part farthest from the intra-prediction reference samples, the weighting wt for each of the 4 regions is prepared as 6, 5, 3 and 2 respectively. The final CIIP prediction signal is derived using the following: PCIIP = ((8 - wt) * Pinter + wt * Pintra + 4) » 3 II. CIIP in VTM5

[141] Em VTM5, quando uma cU é codificada no modo de mescla, se a cU contém pelo menos 64 amostras de luma (ou seja, a largura da cU vezes a altura da cU é igual ou maior que 64), e se a largura da cU e a altura da cU são menores que 128 amostras de luma, um flag adicional é sinalizado para indicar se o modo combinado de interpredição/intra (ciip) é aplicado à cU atual. como o próprio nome indica, a predição de ciip combina um sinal de interpredição com um sinal de intrapredição. O sinal de interpredição no modo de CIIP Pinter é derivado usando o mesmo processo de interpredição aplicado ao modo de mescla regular; e o sinal de intrapredição Pintra é derivado seguindo o processo regular de intrapredição com o modo planar. Em seguida, os sinais de intra e interpredição são combinados usando média ponderada, onde o valor de ponderação é calculado dependendo dos modos de codificação dos blocos vizinhos superior e esquerdo (retratados na FIG. 16) como a seguir: - Se o vizinho superior estiver disponível e intracodificado, preparar isIntraTop como 1, caso contrário, preparar isIntraTop como 0; - Se o vizinho à esquerda estiver disponível e intracodificado, preparar isIntraLeft como 1, caso contrário, preparar isIntraLeft como 0; - Se (isIntraLeft + isIntraTop) é igual a 2, então wt é preparado como 3; - Caso contrário, se (isIntraLeft + isIntraTop) é igual a 1, então wt é preparado como 2; - Caso contrário, preparar wt como 1.[141] In VTM5, when a cU is encoded in blend mode, if the cU contains at least 64 luma samples (i.e., the cU width times the cU height is equal to or greater than 64), and if both the cU width and the cU height are less than 128 luma samples, an additional flag is set to indicate whether the combined inter/intra prediction (ciip) mode is applied to the current cU. As its name implies, ciip prediction combines an interprediction signal with an intraprediction signal. The interprediction signal in the CIIP Pinter mode is derived using the same interprediction process as applied to the regular blend mode; and the intraprediction signal Pintra is derived by following the regular intraprediction process with the planar mode. Then, the intra and inter prediction signals are combined using weighted average, where the weighting value is calculated depending on the coding modes of the top and left neighbor blocks (depicted in FIG. 16) as follows: - If the top neighbor is available and intra-coded, set isIntraTop to 1, otherwise set isIntraTop to 0; - If the left neighbor is available and intra-coded, set isIntraLeft to 1, otherwise set isIntraLeft to 0; - If (isIntraLeft + isIntraTop) is equal to 2, then wt is set to 3; - Otherwise, if (isIntraLeft + isIntraTop) is equal to 1, then wt is set to 2; - Otherwise, set wt to 1.

[142] A predição de CIIP é formada como a seguir: PPCIIP = ((4 - Wt) * P[nter + w^ * Cintra + 2) » 2[142] The CIIP prediction is formed as follows: PPCIIP = ((4 - Wt) * P[nter + w^ * Cintra + 2) » 2

[143] A FIG. 16 mostra blocos vizinhos superior e esquerdo usados em avaliação de ponderações de CIIP 2.3. Processo de derivação intramodo[143] FIG. 16 shows upper and left neighbor blocks used in evaluating CIIP weights 2.3. Intramode Derivation Process

[144] No VTM-4.0 atual, ao codificar um bloco intracodificado, um flag de modo mais provável (MPM) é primeiro sinalizado. Se o flag MPM for verdadeiro, o índice para uma lista MPM será adicionalmente sinalizado. Caso contrário, o índice de modos não MPM é sinalizado.[144] In current VTM-4.0, when encoding an intracoded block, a most probable mode (MPM) flag is first signaled. If the MPM flag is true, the index to an MPM list is additionally signaled. Otherwise, the index of non-MPM modes is signaled.

[145] Elementos de sintaxe relacionados, processo simétrico e de decodificação na especificação VVC mais recente (JVET-M1001_v7) são providos como a seguir:[145] Related syntax, symmetric and decoding process elements in the latest VVC specification (JVET-M1001_v7) are provided as follows:

Sintaxe relacionadaRelated syntax

[146] Sintaxe da unidade de codificação Semântica[146] Coding unit syntax Semantics

[147] Os elementos de sintaxe intra_luma_mpm_flag[x0] [y0], intra_luma_mpm_idx[x0] [y0] e intra_luma_mpm_remainder[x0] [y0] especifica o modo de intrapredição para amostras de luma. Os índices de arranjo x0, y0 especificam a localização (x0, y0) da amostra de luma superior esquerda do bloco de codificação considerado em relação à amostra de luma superior esquerda da imagem. Quando intra_luma_mpm_flag [x0] [y0] é igual a 1, o modo de intrapredição é inferido a partir de uma unidade de codificação intrapreditada vizinha de acordo com a cláusula 8.4.2.[147] The syntax elements intra_luma_mpm_flag[x0][y0], intra_luma_mpm_idx[x0][y0], and intra_luma_mpm_remainder[x0][y0] specify the intraprediction mode for luma samples. The array indices x0, y0 specify the location (x0, y0) of the top-left luma sample of the considered coding block relative to the top-left luma sample of the image. When intra_luma_mpm_flag[x0][y0] is equal to 1, the intraprediction mode is inferred from a neighboring intrapredicted coding unit according to clause 8.4.2.

[148] Quando intra_luma_mpm_flag[ x0 ][ y0 ] não está presente, infere- se que é igual a 1.[148] When intra_luma_mpm_flag[ x0 ][ y0 ] is not present, it is inferred to be equal to 1.

[149] Processo de Decodificação[149] Decoding Process

[150] Processo de derivação para o modo de intrapredição de luma[150] Derivation process for luma intraprediction mode

[151] As entradas para este processo são: uma localização de luma ( xCb, yCb ) especificando a amostra superior esquerda do bloco de codificação de luma atual em relação à amostra de luma superior-esquerda da imagem atual, uma variável cbWidth especificando a largura do bloco de codificação atual em amostras de luma, uma variável cbHeight especificando a altura do bloco de codificação atual em amostras de luma. Neste processo, o modo de intrapredição de luma IntraPredModeY[xCb][yCb] é derivado. Tabela 8-1 especifica o valor para o modo de intrapredição IntraPredModeY [xCb] [yCb] e os nomes associados. Tabela 8-1 - Especificação do modo de intrapredição e nomes associados NOTA - : Os modos de intrapredição INTRA_LT_CCLM, INTRA_L_CCLM e INTRA_T_CCLM são aplicáveis apenas aos componentes croma. IntraPredModeY [xCb] [yCb] é derivado pelas seguintes etapas ordenadas: 1. As localizações vizinhas (xNbA, yNbA) e (xNbB, yNbB) são preparadas como iguais a ( xCb - 1, yCb + cbHeight - 1 ) e ( xCb + cbWidth - 1, yCb - 1 ), respectivamente. 2. Para X sendo substituído por A ou B, as variáveis candIntraPredModeX são derivadas como a seguir: - O processo de derivação de disponibilidade para um bloco como especificado na cláusula 6.4.X [Ed. (BB): Processo de verificação de disponibilidade de blocos vizinhos tbd] é invocado com a localização (xCurr, yCurr) preparada igual a (xCb, yCb) e a localização vizinha (xNbY, yNbY) preparada igual a (xNbX, yNbX) como entradas, e a saída é atribuída a availableX. - O modo de intrapredição de candidato candIntraPredModeX é derivado como a seguir: - Se uma ou mais das seguintes condições forem verdadeiras, candIntraPredModeX é preparado igual a INTRA_PLANAR. - A variável availableX é igual a FALSO. - CuPredMode [xNbX] [yNbX] não é igual a MODE_INTRA e ciip_flag [xNbX] [yNbX] não é igual a 1. - pcm_flag[ xNbX ][ yNbX ] é igual a 1. - X é igual a B e yCb - 1 é menor que ((yCb >> CtbLog2SizeY) << CtbLog2SizeY ). - Caso contrário, candIntraPredModeX é preparado igual a IntraPredModeY[xNbX][yNbX]. 3. As variáveis ispDefaultMode1 e ispDefaultMode2 são definidas como a seguir: - Se IntraSubPartitionsSplitType for igual a ISP_HOR_SPLIT, ispDefaultMode1 é preparado igual a INTRA_ANGULAR18 e ispDefaultMode2 é preparado igual a INTRA_ANGULAR5. - Caso contrário, ispDefaultMode1 é preparado igual a INTRA_ANGULAR50 e ispDefaultMode2 é preparado igual a INTRA_ANGULAR63. 4. O candModeList [x] com x = 0..5 é derivado como a seguir: - Se candIntraPredModeB for igual a candIntraPredModeA e candIntraPredModeA for maior que INTRA_DC, candModeList [x] com x = 0..5 é derivado como a seguir: - Se IntraLumaRefLineIdx [xCb] [yCb] for igual a 0 e IntraSubPartitionsSplitType for igual a ISP_NO_SPLIT, aplica-se o seguinte: candModeList[ 0 ] = candIntraPredModeA (8-9) candModeList[ 1 ] = INTRA_PLANAR (8-10) candModeList[ 2 ] = INTRA_DC (8-11) candModeList[ 3 ] = 2 + ( ( candIntraPredModeA + 61 ) % 64 ) (8-12) candModeList[ 4 ] = 2 + ( ( candIntraPredModeA - 1 ) % 64 ) (8-13) candModeList[ 5 ] = 2 + ( ( candIntraPredModeA + 60 ) % 64 ) (8-14) - Caso contrário (IntraLumaRefLineIdx [xCb] [yCb] não é igual a 0 ou IntraSubPartitionsSplitType não é igual a ISP_NO_SPLIT), aplica-se o seguinte: candModeList[ 0 ] = candIntraPredModeA (8-15) candModeList[ 1 ] = 2 + ( ( candIntraPredModeA + 61 ) % 64 ) (8-16) candModeList[ 2 ] = 2 + ( ( candIntraPredModeA - 1 ) % 64 ) (8-17) - Se uma das seguintes condições for verdadeira, - IntraSubPartitionsSplitType é igual a ISP_HOR_SPLIT e candIntraPredModeA é menor que INTRA_ANGULAR34, - IntraSubPartitionsSplitType é igual a ISP_VER_SPLIT e candIntraPredModeA é maior ou igual a INTRA_ANGULAR34, - IntraLumaRefLineIdx [xCb] [yCb] não é igual a 0, o seguinte se aplica: candModeList[ 3 ] = 2 + ( ( candIntraPredModeA + 60 ) % 64 ) (8-18) candModeList[ 4 ] = 2 + ( candIntraPredModeA % 64 ) (8-19) candModeList[ 5 ] = 2 + ( ( candIntraPredModeA + 59 ) % 64 ) (8-20) - Caso contrário, o seguinte se aplica: candModeList[ 3 ] = ispDefaultMode1 (8-21) candModeList[ 4 ] = ispDefaultMode2 (8-22) candModeList[ 5 ] = INTRA_PLANAR (8-23) - Caso contrário, se candIntraPredModeB não for igual a candIntraPredModeA e candIntraPredModeA ou candIntraPredModeB for maior que INTRA_DC, aplica-se o seguinte: - As variáveis minAB e maxAB são derivadas como a seguir: minAB = Min( candIntraPredModeA, candIntraPredModeB ) (8-24) maxAB = Max( candIntraPredModeA, candIntraPredModeB ) (8-25) - Se candIntraPredModeA e candIntraPredModeB forem maiores que INTRA_DC, candModeList [x] com x = 0..5 é derivado como a seguir: candModeList[ 0 ] = candIntraPredModeA (8-26) candModeList[ 1 ] = candIntraPredModeB (8-27) - Se IntraLumaRefLineIdx [xCb] [yCb] for igual a 0 e IntraSubPartitionsSplitType for igual a ISP_NO_SPLIT, aplica-se o seguinte: candModeList[ 2 ] = INTRA_PLANAR (8-28) candModeList[ 3 ] = INTRA_DC (8-29) - Se maxAB - minAB estiver no intervalo de 2 a 62, inclusive, aplica-se o seguinte: candModeList[ 4 ] = 2 + ( ( maxAB + 61 ) % 64 ) (8-30) candModeList[ 5 ] = 2 + ( ( maxAB - 1 ) % 64 ) (8-31) - Caso contrário, o seguinte se aplica: candModeList[ 4 ] = 2 + ( ( maxAB + 60 ) % 64 ) (8-32) candModeList[ 5 ] = 2 + ( ( maxAB ) % 64 ) (8-33) - Caso contrário (IntraLumaRefLineIdx [xCb] [yCb] não é igual a 0 ou IntraSubPartitionsSplitType não é igual a ISP_NO_SPLIT), aplica-se o seguinte: - Quando IntraSubPartitionsSplitType não é igual a ISP_NO_SPLIT e abs (candIntraPredModeB - ispDefaultMode1) é menor que abs (candIntraPredModeA - ispDefaultMode1), aplica-se o seguinte: candModeList[ 0 ] = candIntraPredModeB (8-34) candModeList[ 1 ] = candIntraPredModeA (8-35) - Se maxAB - minAB é igual a 1, aplica-se o seguinte: candModeList[ 2 ] = 2 + ( ( minAB + 61 ) % 64 ) (8-36) candModeList[ 3 ] = 2 + ( ( maxAB - 1 ) % 64 ) (8-37) candModeList[ 4 ] = 2 + ( ( minAB + 60 ) % 64 ) (8-38) candModeList[ 5 ] = 2 + ( maxAB % 64 ) (8-39) - Caso contrário se maxAB - minAB for igual a 2, aplica-se o seguinte: candModeList[ 2 ] = 2 + ( ( minAB - 1 ) % 64 ) (8-40) candModeList[ 3 ] = 2 + ( ( minAB + 61 ) % 64 ) (8-41) candModeList[ 4 ] = 2 + ( ( maxAB - 1 ) % 64 ) (8-42) candModeList[ 5 ] = 2 + ( ( minAB + 60 ) % 64 ) (8-43) - Caso contrário, se maxAB - minAB for maior que 61, aplica-se o seguinte: candModeList[ 2 ] = 2 + ( ( minAB - 1 ) % 64 ) (8-44) candModeList[ 3 ] = 2 + ( ( maxAB + 61 ) % 64 ) (8-45) candModeList[ 4 ] = 2 + ( minAB % 64 ) (8-46) candModeList[ 5 ] = 2 + ( ( maxAB + 60 ) % 64 ) (8-47) - Caso contrário, o seguinte se aplica: candModeList[ 2 ] = 2 + ( ( minAB + 61 ) % 64 ) (8-48) candModeList[ 3 ] = 2 + ( ( minAB - 1 ) % 64 ) (8-49) candModeList[ 4 ] = 2 + ( ( maxAB + 61 ) % 64 ) (8-50) candModeList[ 5 ] = 2 + ( ( maxAB - 1 ) % 64 ) (8-51) - Caso contrário (candIntraPredModeA ou candIntraPredModeB é maior que INTRA_DC), candModeList [x] com x = 0..5 é derivado como a seguir: - Se IntraLumaRefLineIdx [xCb] [yCb] for igual a 0 e IntraSubPartitionsSplitType for igual a ISP_NO_SPLIT, aplica-se o seguinte: candModeList[ 0 ] = candIntraPredModeA (8-52) candModeList[ 1 ] = candIntraPredModeB (8-53) candModeList[ 2 ] = 1 - minAB (8-54) candModeList[ 3 ] = 2 + ( ( maxAB + 61 ) % 64 ) (8-55) candModeList[ 4 ] = 2 + ( ( maxAB - 1 ) % 64 ) (8-56) candModeList[ 5 ] = 2 + ( ( maxAB + 60 ) % 64 ) (8-57) - Caso contrário, se IntraLumaRefLineIdx [xCb] [yCb] não for igual a 0, aplica-se o seguinte: candModeList[ 0 ] = maxAB (8-58) candModeList[ 1 ] = 2 + ( ( maxAB + 61 ) % 64 ) (8-59) candModeList[ 2 ] = 2 + ( ( maxAB - 1 ) % 64 ) (8-60) candModeList[ 3 ] = 2 + ( ( maxAB + 60 ) % 64 ) (8-61) candModeList[ 4 ] = 2 + ( maxAB % 64 ) (8-62) candModeList[ 5 ] = 2 + ( ( maxAB + 59 ) % 64 ) (8-63) - Caso contrário (IntraSubPartitionsSplitType não é igual a ISP_NO_SPLIT), aplica-se o seguinte: candModeList[ 0 ] = INTRA_PLANAR (8-64) candModeList[ 1 ] = maxAB (8-65) candModeList[ 2 ] = 2 + ( ( maxAB + 61 ) % 64 ) (8-66) candModeList[ 3 ] = 2 + ( ( maxAB - 1 ) % 64 ) (8-67) candModeList[ 4 ] = 2 + ( ( maxAB + 60 ) % 64 ) (8-68) candModeList[ 5 ] = 2 + ( maxAB % 64 ) (8-69) - Caso contrário, o seguinte se aplica: - Se IntraLumaRefLineIdx [xCb] [yCb] for igual a 0 e IntraSubPartitionsSplitType for igual a ISP_NO_SPLIT, aplica-se o seguinte: candModeList[ 0 ] = candIntraPredModeA (8-70) candModeList[ 1 ] = ( candModeList[0] = = INTRA_PLANAR ) ? INTRA_DC : (8-71) INTRA_PLANAR candModeList[ 2 ] = INTRA_ANGULAR50 (8-72) candModeList[ 3 ] = INTRA_ANGULAR18 (8-73) candModeList[ 4 ] = INTRA_ANGULAR46 (8-74) candModeList[ 5 ] = INTRA_ANGULAR54 (8-75) - Caso contrário, se IntraLumaRefLineIdx [xCb] [yCb] não for igual a 0, aplica-se o seguinte: candModeList[ 0 ] = INTRA_ANGULAR50 (8-76) candModeList[ 1 ] = INTRA_ANGULAR18 (8-77) candModeList[ 2 ] = INTRA_ANGULAR2 (8-78) candModeList[ 3 ] = INTRA_ANGULAR34 (8-79) candModeList[ 4 ] = INTRA_ANGULAR66 (8-80) candModeList[ 5 ] = INTRA_ANGULAR26 (8-81) - Caso contrário, se IntraSubPartitionsSplitType for igual a ISP_HOR_SPLIT, aplica-se o seguinte: candModeList[ 0 ] = INTRA_PLANAR (8-82) candModeList[ 1 ] = INTRA_ANGULAR18 (8-83) candModeList[ 2 ] = INTRA_ANGULAR25 (8-84) candModeList[ 3 ] = INTRA_ANGULAR10 (8-85) candModeList[ 4 ] = INTRA_ANGULAR65 (8-86) candModeList[ 5 ] = INTRA_ANGULAR50 (8-87) - Caso contrário, se IntraSubPartitionsSplitType for igual a ISP_VER_SPLIT, aplica-se o seguinte: candModeList[ 0 ] = INTRA_PLANAR (8-88) candModeList[ 1 ] = INTRA_ANGULAR50 (8-89) candModeList[ 2 ] = INTRA_ANGULAR43 (8-90) candModeList[ 3 ] = INTRA_ANGULAR60 (8-91) candModeList[ 4 ] = INTRA_ANGULAR3 (8-e) candModeList[ 5 ] = INTRA_ANGULAR18 (8-93) 5. IntraPredModeY [xCb] [yCb] é derivado pela aplicação do seguinte procedimento: - Se intra_luma_mpm_flag [xCb] [yCb] for igual a 1, o IntraPredModeY [xCb] [yCb] é preparado igual a candModeList [intra_luma_mpm_idx [xCb] [yCb]]. - Caso contrário, IntraPredModeY [xCb] [yCb] é derivado aplicando as seguintes etapas ordenadas: 1. Quando candModeList [i] é maior que candModeList [j] para i = 0..4 e para cada i, j = (i 1) .. 5, ambos os valores são trocados como a seguir: ( candModeList[ i ], candModeList[ j ] ) = Swap( candModeList[ i ], candModeList[ j ] ) (8-94) 2. IntraPredModeY [xCb] [yCb] é derivado pelas seguintes etapas ordenadas: i. IntraPredModeY [xCb] [yCb] é preparado igual a intra_luma_mpm_remainder [xCb] [yCb]. ii. Para i igual a 0 a 5, inclusive, quando IntraPredModeY [xCb] [yCb] é maior ou igual a candModeList [i], o valor de IntraPredModeY [xCb] [yCb] é incrementado em um. A variável IntraPredModeY[ x ][ y ] com x = xCb..xCb + cbWidth - 1 e y = yCb..yCb + cbHeight - 1 é preparada para ser igual a IntraPredModeY [xCb] [yCb].[151] The inputs to this process are: a luma location ( xCb, yCb ) specifying the top-left sample of the current luma coding block relative to the top-left luma sample of the current image, a variable cbWidth specifying the width of the current coding block in luma samples, a variable cbHeight specifying the height of the current coding block in luma samples. In this process, the luma intraprediction mode IntraPredModeY[xCb][yCb] is derived. Table 8-1 specifies the value for the intraprediction mode IntraPredModeY[xCb][yCb] and the associated names. Table 8-1 - Intraprediction mode specification and associated names NOTE - : The intraprediction modes INTRA_LT_CCLM, INTRA_L_CCLM and INTRA_T_CCLM are applicable only to chroma components. IntraPredModeY[xCb][yCb] is derived by the following ordered steps: 1. The neighboring locations (xNbA, yNbA) and (xNbB, yNbB) are prepared as equal to ( xCb - 1, yCb + cbHeight - 1 ) and ( xCb + cbWidth - 1, yCb - 1 ) respectively. 2. For X being replaced by A or B, the variables candIntraPredModeX are derived as follows:- The availability derivation process for a block as specified in clause 6.4.X [Ed. (BB): Neighboring block availability check process tbd] is invoked with location (xCurr, yCurr) prepared equal to (xCb, yCb) and neighboring location (xNbY, yNbY) prepared equal to (xNbX, yNbX) as inputs, and the output is assigned to availableX. - The candidate intraprediction mode candIntraPredModeX is derived as follows: - If one or more of the following conditions are true, candIntraPredModeX is prepared equal to INTRA_PLANAR. - The variable availableX is equal to FALSE. - CuPredMode[xNbX][yNbX] is not equal to MODE_INTRA and ciip_flag[xNbX][yNbX] is not equal to 1. - pcm_flag[ xNbX ][ yNbX ] is equal to 1. - X is equal to B and yCb - 1 is less than ((yCb >> CtbLog2SizeY) << CtbLog2SizeY ). - Otherwise, candIntraPredModeX is set equal to IntraPredModeY[xNbX][yNbX]. 3. The variables ispDefaultMode1 and ispDefaultMode2 are set as follows: - If IntraSubPartitionsSplitType is equal to ISP_HOR_SPLIT, ispDefaultMode1 is set equal to INTRA_ANGULAR18 and ispDefaultMode2 is set equal to INTRA_ANGULAR5. - Otherwise, ispDefaultMode1 is set equal to INTRA_ANGULAR50 and ispDefaultMode2 is set equal to INTRA_ANGULAR63. 4. candModeList[x] with x = 0..5 is derived as follows:- If candIntraPredModeB is equal to candIntraPredModeA and candIntraPredModeA is greater than INTRA_DC, candModeList[x] with x = 0..5 is derived as follows:- If IntraLumaRefLineIdx[xCb][yCb] is equal to 0 and IntraSubPartitionsSplitType is equal to ISP_NO_SPLIT, then the following applies: candModeList[ 0 ] = candIntraPredModeA (8-9) candModeList[ 1 ] = INTRA_PLANAR (8-10) candModeList[ 2 ] = INTRA_DC (8-11) candModeList[ 3 ] = 2 + ( ( candIntraPredModeA + 61 ) % 64 ) (8-12) candModeList[ 4 ] = 2 + ( ( candIntraPredModeA - 1 ) % 64 ) (8-13) candModeList[ 5 ] = 2 + ( ( candIntraPredModeA + 60 ) % 64 ) (8-14) - Otherwise (IntraLumaRefLineIdx[xCb][yCb] is not equal to 0 or IntraSubPartitionsSplitType is not equal to ISP_NO_SPLIT), the following applies: candModeList[ 0 ] = candIntraPredModeA (8-15) candModeList[ 1 ] = 2 + ( ( candIntraPredModeA + 61 ) % 64 ) (8-16) candModeList[ 2 ] = 2 + ( ( candIntraPredModeA - 1 ) % 64 ) (8-17) - If either of the following conditions is true, - IntraSubPartitionsSplitType is equal to ISP_HOR_SPLIT and candIntraPredModeA is less than INTRA_ANGULAR34, - IntraSubPartitionsSplitType is equal to ISP_VER_SPLIT and candIntraPredModeA is greater than or equal to INTRA_ANGULAR34, - IntraLumaRefLineIdx[xCb][yCb] is not equal to 0, then the following applies: candModeList[ 3 ] = 2 + ( ( candIntraPredModeA + 60 ) % 64 ) (8-18) candModeList[ 4 ] = 2 + ( candIntraPredModeA % 64 ) (8-19) candModeList[ 5 ] = 2 + ( ( candIntraPredModeA + 59 ) % 64 ) (8-20) - Otherwise, the following applies: candModeList[ 3 ] = ispDefaultMode1 (8-21) candModeList[ 4 ] = ispDefaultMode2 (8-22) candModeList[ 5 ] = INTRA_PLANAR (8-23) - Otherwise, if candIntraPredModeB is not equal to candIntraPredModeA and either candIntraPredModeA or candIntraPredModeB is greater than INTRA_DC, the following applies: - The variables minAB and maxAB are derived as follows: minAB = Min( candIntraPredModeA, candIntraPredModeB ) (8-24) maxAB = Max( candIntraPredModeA, candIntraPredModeB ) (8-25) - If candIntraPredModeA and candIntraPredModeB are greater than INTRA_DC, candModeList[x] with x = 0..5 is derived as follows: candModeList[ 0 ] = candIntraPredModeA (8-26) candModeList[ 1 ] = candIntraPredModeB (8-27) - If IntraLumaRefLineIdx[xCb][yCb] is equal to 0 and IntraSubPartitionsSplitType is equal to ISP_NO_SPLIT, then the following applies: candModeList[ 2 ] = INTRA_PLANAR (8-28) candModeList[ 3 ] = INTRA_DC (8-29) - If maxAB - minAB is in the range 2 to 62 inclusive, then the following applies: candModeList[ 4 ] = 2 + ( ( maxAB + 61 ) % 64 ) (8-30) candModeList[ 5 ] = 2 + ( ( maxAB - 1 ) % 64 ) (8-31) - Otherwise, the following applies: candModeList[ 4 ] = 2 + ( ( maxAB + 60 ) % 64 ) (8-32) candModeList[ 5 ] = 2 + ( ( maxAB ) % 64 ) (8-33) - Otherwise (IntraLumaRefLineIdx[xCb][yCb] is not equal to 0 or IntraSubPartitionsSplitType is not equal to ISP_NO_SPLIT), the following applies: - When IntraSubPartitionsSplitType is not equal to ISP_NO_SPLIT and abs(candIntraPredModeB - ispDefaultMode1) is less than abs (candIntraPredModeA - ispDefaultMode1), the following applies: candModeList[ 0 ] = candIntraPredModeB (8-34) candModeList[ 1 ] = candIntraPredModeA (8-35) - If maxAB - minAB is equal to 1, the following applies: candModeList[ 2 ] = 2 + ( ( minAB + 61 ) % 64 ) (8-36) candModeList[ 3 ] = 2 + ( ( maxAB - 1 ) % 64 ) (8-37) candModeList[ 4 ] = 2 + ( ( minAB + 60 ) % 64 ) (8-38) candModeList[ 5 ] = 2 + ( maxAB % 64 ) (8-39) - Otherwise if maxAB - minAB is equal to 2, the following applies: candModeList[ 2 ] = 2 + ( ( minAB - 1 ) % 64 ) (8-40) candModeList[ 3 ] = 2 + ( ( minAB + 61 ) % 64 ) (8-41) candModeList[ 4 ] = 2 + ( ( maxAB - 1 ) % 64 ) (8-42) candModeList[ 5 ] = 2 + ( ( minAB + 60 ) % 64 ) (8-43) - Otherwise, if maxAB - minAB is greater than 61, the following applies: candModeList[ 2 ] = 2 + ( ( minAB - 1 ) % 64 ) (8-44) candModeList[ 3 ] = 2 + ( ( maxAB + 61 ) % 64 ) (8-45) candModeList[ 4 ] = 2 + ( minAB % 64 ) (8-46) candModeList[ 5 ] = 2 + ( ( maxAB + 60 ) % 64 ) (8-47) - Otherwise, the following applies: candModeList[ 2 ] = 2 + ( ( minAB + 61 ) % 64 ) (8-48) candModeList[ 3 ] = 2 + ( ( minAB - 1 ) % 64 ) (8-49) candModeList[ 4 ] = 2 + ( ( maxAB + 61 ) % 64 ) (8-50) candModeList[ 5 ] = 2 + ( ( maxAB - 1 ) % 64 ) (8-51) - Otherwise (either candIntraPredModeA or candIntraPredModeB is greater than INTRA_DC), candModeList [x] with x = 0..5 is derived as follows: - If IntraLumaRefLineIdx [xCb] [yCb] equals 0 and IntraSubPartitionsSplitType equals ISP_NO_SPLIT, the following applies: candModeList[ 0 ] = candIntraPredModeA (8-52) candModeList[ 1 ] = candIntraPredModeB (8-53) candModeList[ 2 ] = 1 - minAB (8-54) candModeList[ 3 ] = 2 + ( ( maxAB + 61 ) % 64 ) (8-55) candModeList[ 4 ] = 2 + ( ( maxAB - 1 ) % 64 ) (8-56) candModeList[ 5 ] = 2 + ( ( maxAB + 60 ) % 64 ) (8-57) - Otherwise, if IntraLumaRefLineIdx [xCb] [yCb] is not equal to 0, the following applies: candModeList[ 0 ] = maxAB (8-58) candModeList[ 1 ] = 2 + ( ( maxAB + 61 ) % 64 ) (8-59) candModeList[ 2 ] = 2 + ( ( maxAB - 1 ) % 64 ) (8-60) candModeList[ 3 ] = 2 + ( ( maxAB + 60 ) % 64 ) (8-61) candModeList[ 4 ] = 2 + ( maxAB % 64 ) (8-62) candModeList[ 5 ] = 2 + ( ( maxAB + 59 ) % 64 ) (8-63) - Otherwise (IntraSubPartitionsSplitType is not equal to ISP_NO_SPLIT), the following applies: candModeList[ 0 ] = INTRA_PLANAR (8-64) candModeList[ 1 ] = maxAB (8-65) candModeList[ 2 ] = 2 + ( ( maxAB + 61 ) % 64 ) (8-66) candModeList[ 3 ] = 2 + ( ( maxAB - 1 ) % 64 ) (8-67) candModeList[ 4 ] = 2 + ( ( maxAB + 60 ) % 64 ) (8-68) candModeList[ 5 ] = 2 + ( maxAB % 64 ) (8-69) - Otherwise, the following applies: - If IntraLumaRefLineIdx[xCb][yCb] is equal to 0 and IntraSubPartitionsSplitType is equal to ISP_NO_SPLIT, the following applies: candModeList[ 0 ] = candIntraPredModeA (8-70) candModeList[ 1 ] = ( candModeList[0] = = INTRA_PLANAR ) ? INTRA_DC : (8-71) INTRA_PLANAR candModeList[ 2 ] = INTRA_ANGULAR50 (8-72) candModeList[ 3 ] = INTRA_ANGULAR18 (8-73) candModeList[ 4 ] = INTRA_ANGULAR46 (8-74) candModeList[ 5 ] = INTRA_ANGULAR54 (8-75) - Otherwise, if IntraLumaRefLineIdx[xCb][yCb] is not equal to 0, the following applies: candModeList[ 0 ] = INTRA_ANGULAR50 (8-76) candModeList[ 1 ] = INTRA_ANGULAR18 (8-77) candModeList[ 2 ] = INTRA_ANGULAR2 (8-78) candModeList[ 3 ] = INTRA_ANGULAR34 (8-79) candModeList[ 4 ] = INTRA_ANGULAR66 (8-80) candModeList[ 5 ] = INTRA_ANGULAR26 (8-81) - Otherwise, if IntraSubPartitionsSplitType is equal to ISP_HOR_SPLIT, the following applies: candModeList[ 0 ] = INTRA_PLANAR (8-82) candModeList[ 1 ] = INTRA_ANGULAR18 (8-83) candModeList[ 2 ] = INTRA_ANGULAR25 (8-84) candModeList[ 3 ] = INTRA_ANGULAR10 (8-85) candModeList[ 4 ] = INTRA_ANGULAR65 (8-86) candModeList[ 5 ] = INTRA_ANGULAR50 (8-87) - Otherwise, if IntraSubPartitionsSplitType is equal to ISP_VER_SPLIT, the following applies: candModeList[ 0 ] = INTRA_PLANAR (8-88) candModeList[ 1 ] = INTRA_ANGULAR50 (8-89) candModeList[ 2 ] = INTRA_ANGULAR43 (8-90) candModeList[ 3 ] = INTRA_ANGULAR60 (8-91) candModeList[ 4 ] = INTRA_ANGULAR3 (8-e) candModeList[ 5 ] = INTRA_ANGULAR18 (8-93) 5. IntraPredModeY[xCb][yCb] is derived by applying the following procedure:- If intra_luma_mpm_flag[xCb][yCb] is equal to 1, then IntraPredModeY[xCb][yCb] is set equal to candModeList [intra_luma_mpm_idx[xCb][yCb]]. - Otherwise, IntraPredModeY[xCb][yCb] is derived by applying the following ordered steps: 1. When candModeList[i] is greater than candModeList[j] for i = 0..4 and for each i, j = (i 1) .. 5, both values are swapped as follows: ( candModeList[ i ], candModeList[ j ] ) = Swap( candModeList[ i ], candModeList[ j ] ) (8-94) 2. IntraPredModeY[xCb][yCb] is derived by the following ordered steps: i. IntraPredModeY[xCb][yCb] is set equal to intra_luma_mpm_remainder[xCb][yCb]. ii. For i equal to 0 through 5 inclusive, when IntraPredModeY[xCb][yCb] is greater than or equal to candModeList[i], the value of IntraPredModeY[xCb][yCb] is incremented by one. The variable IntraPredModeY[ x ][ y ] with x = xCb..xCb + cbWidth - 1 and y = yCb..yCb + cbHeight - 1 is set to be equal to IntraPredModeY[xCb][yCb].

3. Exemplos de Problemas Resolvidos pelas Modalidades3. Examples of Problems Solved by the Modalities

[152] No LIC, dois parâmetros, incluindo parâmetro de escala e deslocamento b, precisam ser derivados usando amostras reconstruídas vizinhas, o que pode causar problemas de latência.[152] In LIC, two parameters including scale parameter and offset b need to be derived using neighboring reconstructed samples, which may cause latency issues.

[153] O conjunto de fatores de ponderação permitidos usados no GBI são fixos, o que pode ser ineficiente.[153] The set of allowed weighting factors used in the GBI are fixed, which can be inefficient.

[154] O modo de CIIP é aplicado apenas ao modo de mescla sem salto, que pode ser ineficiente.[154] CIIP mode is only applied to non-skip blending mode, which can be inefficient.

[155] No projeto atual, o flag de modo de CIIP deve ser armazenado, uma vez que para o processo de derivação de intramodo do bloco intracodificado e para o processo de derivação de intramodo de blocos codificados com CIIP, o flag de modo de CIIP dos blocos vizinhos é utilizado.[155] In the current design, the CIIP mode flag must be stored, since for the intramode derivation process of the intracoded block and for the intramode derivation process of CIIP-coded blocks, the CIIP mode flag of the neighboring blocks is used.

[156] No projeto atual, a derivação de ponderação de CIIP pode ser melhorada, por exemplo, a verificação de dois blocos vizinhos e três pares de pesos diferentes pode ser simplificada.[156] In the current design, the weighting derivation of CIIP can be improved, for example, checking two neighboring blocks and three different weight pairs can be simplified.

[157] No projeto atual, durante o processo de derivação de ponderação de CIIP, se um bloco vizinho for codificado com o modo BDPCM, ele é tratado como intramodo. No entanto, pode ser mais razoável tratá-lo como não intramodo, uma vez que o BDPCM é projetado para codificação de conteúdo de tela.[157] In the current design, during the CIIP weighting derivation process, if a neighboring block is coded with BDPCM mode, it is treated as intramode. However, it may be more reasonable to treat it as non-intramode since BDPCM is designed for screen content coding.

4. Exemplos de modalidades4. Examples of modalities

[158] Daqui em diante, um bloco é usado para representar uma unidade de transformada (TU)/unidade de predição (PU)/unidade de codificação (CU)/um sub-bloco dentro de uma TU/PU/CU etc.[158] Hereafter, a block is used to represent a transform unit (TU)/prediction unit (PU)/coding unit (CU)/a sub-block within a TU/PU/CU etc.

[159] As técnicas detalhadas abaixo devem ser consideradas exemplos para explicar os conceitos gerais. Essas técnicas não devem ser interpretadas de forma restrita. Além disso, essas técnicas podem ser combinadas de qualquer maneira.[159] The techniques detailed below should be considered as examples to explain the general concepts. These techniques should not be interpreted narrowly. Furthermore, these techniques can be combined in any way.

[160] Suponha que (xCb, yCb) seja a localização da amostra superior esquerda do bloco atual em relação à amostra superior esquerda da imagem atual, cbWidth e cbHeight especificam a largura e a altura do bloco atual. 1. Flag de CIIP ou/e flag LIC ou/e flag de filtragem de difusão ou/e flag de filtragem bilateral ou/e flag de filtragem de domínio de transformada ou/e flag de ativação de outros tipos de filtro pós-reconstrução pode ser restrito a ser falso (e CIIP ou/e LIC ou/e filtro de difusão ou/e filtro bilateral ou/e filtro de domínio de transformada podem ser desabilitados implicitamente), dependendo dos modos codificados de outros blocos (como os blocos vizinhos adjacentes ou não adjacentes e/ou os blocos de referência) . a. Quando um flag é derivado para ser falso, o método correspondente não pode ser aplicado. b. Quando um flag é derivado para ser falso, a sinalização de indicações de uso de tais modos é pulada. c. Quando um flag é derivado para ser falso, as indicações de uso de tais modos podem ainda ser sinalizadas, mas são restritas a serem falsas em um bitstream de conformidade, e tais modos não são aplicados. d. Em um exemplo, a aplicação de uma ou várias restrições propostas (tais como 1.a, 1.b e 1.c) ou não pode depender dos modos codificados de todas ou algumas das linhas vizinhas adjacentes e/ou não adjacentes ou colunas. i. Alternativamente, seja aplicar tal restrição ou não pode depender de pelo menos N (N> = 1) das amostras na linha ou colunas vizinhas adjacentes ou não adjacentes que NÃO são codificadas com certos modos. e. Em um exemplo, as linhas vizinhas adjacentes e/ou não adjacentes podem incluir a linha acima e/ou a linha acima à direita. f. Em um exemplo, as colunas vizinhas e/ou não adjacentes podem incluir a coluna esquerda e/ou canto inferior esquerdo e/ou superior esquerdo. g. Em um exemplo, certos modos de um bloco que não é o bloco atual podem incluir intramodo e/ou modo de CIIP e/ou modo CPR. h. Em um exemplo, se qualquer um dos blocos vizinhos/não adjacentes nas linhas ou colunas vizinhas e/ou não adjacentes for codificado com o determinado modo (por exemplo, intramodo e/ou modo de CIIP e/ou modo RCP), um ou múltiplas restrições propostas (tais como 1.a, 1.b e 1.c) são aplicadas. i. Em um exemplo, se todos os blocos vizinhos/não adjacentes nas linhas ou colunas vizinhas adjacentes e/ou não adjacentes forem codificados com o modo certo (por exemplo, intramodo e/ou modo de CIIP e/ou CPR), um ou múltiplas restrições propostas são aplicadas. j.Em um exemplo, se pelo menos N bloco vizinho/não adjacente na linha ou colunas vizinhas ou não adjacentes NÃO for codificado com o certo modo (por exemplo, intramodo e/ou modo de CIIP e/ou modo RCP), um ou múltiplas restrições propostas (como 1.a, 1.b e 1.c) NÃO são aplicadas. k. Em um exemplo, a aplicação de uma ou múltiplas restrições propostas (tais como 1.a, 1.b e 1.c) ou não pode depender da posição do bloco atual. i. Em um exemplo, se o bloco atual está no topo da CTU atual (o bloco atual e seu bloco vizinho acima pertencem a CTUs diferentes), as restrições propostas não são aplicadas. ii. Em um exemplo, se o bloco atual está à esquerda da CTU atual (o bloco atual e seu bloco vizinho à esquerda pertencem a CTUs diferentes), as restrições propostas não são aplicadas. 2. Flag de CIIP e/ou intramodo do modo de CIIP pode ser armazenado junto com informações de movimento na tabela de predição de vetor de movimento com base em histórico (HMVP). a. Em um exemplo, ao comparar as informações de movimento de dois candidatos (tal como o processo de poda), o flag de CIIP ou/e o intramodo no modo de CIIP não são considerados na comparação. b. Em um exemplo, ao comparar as informações de movimento de dois candidatos, o flag de CIIP ou/e o intramodo no modo de CIIP são considerados na comparação. c. Em um exemplo, quando um candidato a mescla é de uma entrada na tabela HMVP, o flag de CIIP dessa entrada também é copiado para o candidato a mescla. d. Em um exemplo, quando um candidato a mescla é de uma entrada na tabela HMVP, o flag de CIIP e o intramodo dessa entrada também são copiados para o candidato a mescla. 3. CIIP pode ser desempenhado para o modo AMVP (modo AMVP ou/e AMVP com modo SMVD) a. O flag de CIIP e/ou intramodo no modo de CIIP de blocos vizinhos/não adjacentes podem ser herdados no modo de mescla ou/e modo de bloco atual de UMVE (também conhecido como mescla com diferença de vetor de movimento, MMVD para abreviar). b. O flag de CIIP e/ou intramodo no modo de CIIP pode ser sinalizado para o modo de mescla sem salto ou/e modo UMVE sem salto, e o flag de CIIP e/ou intramodo no modo de CIIP de blocos vizinhos/não adjacentes podem ser herdados no modo de mescla de salto ou/e modo UMVE de salto. c. O flag de CIIP e/ou intramodo no modo de CIIP pode ser sinalizado para o modo de mescla de salto ou/e modo UMVE de salto, e o flag de CIIP e/ou intramodo no modo de CIIP de blocos vizinhos/não adjacentes podem ser herdados no modo de mescla sem salto ou/e modo UMVE sem salto. d. Em um exemplo, o flag de CIIP e um intramodo podem ser sinalizados para o modo AMVP. e. Em um exemplo, o flag de CIIP pode ser herdado no modo de mescla ou/e no modo UMVE, e se o flag de CIIP for verdadeiro, um intramodo pode ser sinalizado adicionalmente se mais de um intramodo for permitido no CIIP. f. Em um exemplo, o flag de CIIP e o intramodo de blocos vizinhos/não adjacentes no modo de mescla ou/e modo UMVE podem ser herdados pelo bloco atual. g. Em um exemplo, o CIIP pode ser desativado para o modo de salto. h. Em um exemplo, ao comparar dois candidatos a mescla, o flag de CIIP ou/e intramodo em CIIP pode não ser considerado na comparação. i. Em um exemplo, ao comparar dois candidatos a mescla, o flag de CIIP ou/e o intramodo em CIIP podem ser considerados na comparação. 4. A CIIP pode ser desabilitada para predição em pares ou predição de bicombinada ou outros tipos de candidatos virtuais/artificiais (por exemplo, candidatos a vetor de movimento zero). i. Alternativamente, se um dos dois candidatos envolvidos na predição em par ou predição bicombinada adotar a predição de CIIP, a CIIP pode ser habilitada para o candidato a mescla em par ou bi-combinado. ii. Em um exemplo, o intra modo do candidato ao modo de CIIP pode ser herdado. iii. Em um exemplo, o intra modo pode ser explicitamente sinalizado. b. Alternativamente, se ambos os candidatos envolvidos na predição em par ou predição bicombinada adotar a predição de CIIP, a CIIP pode ser habilitada para o candidato a mescla em par ou bicombinado. iv. Em um exemplo, o intramodo de um de dois candidatos pode ser herdado. v. Em um exemplo, um intramodo pode ser derivado dos intramodos dos dois candidatos e é usado para o candidato a mescla em par ou bicombinado. vi. Em um exemplo, o intra modo pode ser explicitamente sinalizado. 5. Amostras reconstruídas espacialmente vizinhas e/ou não adjacentes necessárias no modo de CIIP ou/e filtro de difusão ou/e filtro bilateral ou/e filtro de domínio de transformada ou/e outros tipos de filtro pós- reconstrução podem ser substituídos pelas amostras correspondentes nas imagens de referência (tal como amostras espaciais vizinhas e/ou não adjacentes do bloco de referência, como mostrado na FIG. 17). a. Em um exemplo, se o bloco atual for bipredito, amostras vizinhas dos dois blocos de referência podem ser calculadas para gerar as amostras vizinhas finais. b. Em um exemplo, se o bloco atual for bipredito, amostras vizinhas de um dos dois blocos de referência podem ser usadas como amostras vizinhas finais. c. Em um exemplo, se o bloco atual for bipredito, amostras vizinhas dos dois blocos de referência podem ser ponderadas em média para gerar as amostras vizinhas finais se GBI de ponderações desiguais ou predição ponderada ou LIC for aplicada ao bloco atual. d. Em um exemplo, as amostras correspondentes em imagens de referência (por exemplo, amostras vizinhas do bloco de referência) podem ser identificadas pelas informações de movimento do bloco atual. e. Em um exemplo, as amostras correspondentes em imagens de referência (por exemplo, amostras vizinhas do bloco de referência) podem ser identificadas pelas informações de movimento modificado do bloco atual. Por exemplo, o vetor de movimento pode ser arredondado para uma precisão inteira antes de ser usado para identificar as amostras vizinhas. f. Em um exemplo, as amostras correspondentes nas imagens de referência (por exemplo, as amostras vizinhas do bloco de referência) são identificadas por meio de vetores de movimento com precisão de número inteiro pel. i. Em um exemplo, o MV referente ao bloco de referência é primeiramente arredondado para um pixel inteiro. O MV arredondado é utilizado para identificar as amostras vizinhas do bloco de referência. ii. Em um exemplo, a substituição proposta é aplicada quando o bloco atual é codificado com informações de movimento de número inteiro pel. Portanto, nenhum arredondamento é necessário. g. Em um exemplo, a substituição proposta pode ser aplicada para determinado componente de cor, como somente o componente luma. i. Alternativamente, a substituição proposta pode ser aplicada para todos os componentes da cor. 6. É proposto proibir o uso de flags de CIIP previamente codificados para a codificação dos blocos seguintes. a. Em um exemplo, o processo de verificação de flags de CIIP de blocos codificados anteriormente é pulado para melhorar a taxa de transferência. b. Em um exemplo, o processo de verificação de flags de CIIP de blocos vizinhos no processo de derivação intramodo é pulado. i. Em um exemplo, para um bloco vizinho, se ele for codificado com o modo de CIIP, o intramodo associado pode ser preparado para um determinado modo (tal como o modo Planar). Alternativamente, além disso, o intramodo associado pode ser usado no processo de derivação da lista MPM. ii. Em um exemplo, para um bloco vizinho, se ele for codificado com o modo de CIIP ou intermodo normal, o intramodo associado pode ser preparado para um determinado modo (tal como o modo Planar). Alternativamente, além disso, o intramodo associado pode ser usado no processo de derivação da lista MPM. iii. Em um exemplo, o intramodo de blocos codificados por CIIP pode não ser armazenado e os blocos codificados por CIIP podem ser considerados indisponíveis no processo de decodificação. Alternativamente, os blocos codificados por CIIP podem ser tratados da mesma maneira que os intermodos normais. c. Alternativamente, além disso, é proposto remover o flag de CIIP da memória para salvar o tamanho de memória necessário para armazenar informações de modo. 7. É proposto que o flag de modo de CIIP seja codificado por codificação de bypass. a. Alternativamente, o flag de modo de CIIP pode ser codificado em contexto, mas sem se referir aos flags de modo de CIIP dos blocos vizinhos. 8. É proposto que a abordagem para fazer a soma ponderada em CIIP pode depender dos componentes da cor. a. Por exemplo, os valores de ponderação em CIIP são diferentes para o componente de cor principal (por exemplo, componente G) e outros componentes de cor (por exemplo, componentes B e R). b. Por exemplo, os valores de ponderação em CIIP são diferentes para o componente luma e os componentes croma. c. Por exemplo, os valores de ponderação para interpredição e intrapredição são iguais nos componentes de croma. 9. É proposto que quando a seleção do fator de ponderação for de acordo com blocos vizinhos, para um bloco vizinho, se codificado como modo de CIIP, este possa ser tratado como o bloco intercodificado. a. Alternativamente, quando a seleção do fator de ponderação for de acordo com blocos vizinhos, para um bloco vizinho, se codificado como modo de CIIP, este possa ser tratado como o bloco intracodificado. 10. O método proposto acima pode ser aplicado sob certas condições, tais como tamanhos de bloco, tipos de fatia/imagem/ladrilho ou informações de movimento. a. Em um exemplo, quando um tamanho de bloco contém amostras menores que M*H, por exemplo, 16 ou 32 ou 64 amostras de luma, o método proposto não é permitido. b. Alternativamente, quando o tamanho mínimo da largura e/e altura de um bloco é menor ou não maior que X, o método proposto não é permitido. Em um exemplo, X é preparado como 8. c. Alternativamente, quando o tamanho mínimo da largura e/ou altura de um bloco não é menor que X, o método proposto não é permitido. Em um exemplo, X é preparado como 8. d. Alternativamente, quando a largura de um bloco> th1 ou> =th1 e/ou a altura de um bloco> th2 ou> =th2, o método proposto não é permitido. Em um exemplo, th1 e/ou th2 é preparado como 8. e. Alternativamente, quando a largura de um bloco <th1 ou <= th1 e/ou a altura de um bloco <th2 ou <a=th2, método proposto não é permitido. Em um exemplo, th1 e/ou th2 é preparado como 8. 11. O número de pares de pesos permitidos (wIntra, wInter) usados em CIIP pode ser reduzido de 3 para 2, denotados como (a, b) e (c, d). a. Em um exemplo, dois pares são definidos como {(1,3) e (3,1)}; ou {(1,3) e (2, 2)}; ou {(3,1) e (2, 2)}; ou {(3, 5) e (4, 4)} ou {(5, 3) e (4, 4)}, ou {(1, 7) e (4, 4)} ou {(7, 1) e (4, 4)}. b. Em um exemplo, o par de pesos é determinado com base em apenas um bloco vizinho A. i. Em um exemplo, se um bloco vizinho A está disponível e intracodificado, (wIntra, wInter) é preparado igual a (a, b); Caso contrário, (wIntra, wInter) é preparado igual a (c, d). ii. Em um exemplo, o bloco A é um bloco vizinho à esquerda. iii. Em um exemplo, o bloco A é um bloco vizinho acima. c. Em um exemplo, o par de pesos é determinado com base em dois ou mais blocos vizinhos e, para pelo menos um dos blocos vizinhos, certas condições são satisfeitas. 1. Em um exemplo, se pelo menos um dentre o bloco vizinho A e B está disponível e intracodificado, (wIntra, wInter) é preparado igual a (a, b); Caso contrário, (wIntra, wInter) é preparado igual a (c, d). 2. Em um exemplo, o bloco A é um bloco vizinho à esquerda e B é um bloco vizinho acima. d. Em um exemplo, o par de pesos é determinado com base em dois ou mais blocos vizinhos e, para cada um dos blocos vizinhos, as mesmas condições são satisfeitas. i. Em um exemplo, se os blocos vizinhos A e B estão ambos disponíveis e intracodificados, (wIntra, wInter) é preparado igual a (a, b); Caso contrário, (wIntra, wInter) é preparado igual a (c, d). 1. Em um exemplo, o bloco A é um bloco vizinho à esquerda e B é um bloco vizinho acima. e. Em um exemplo, as configurações de (a, b) e (c, d) podem ser como a seguir: 1. Em um exemplo, (a, b) é preparado para (2, 2) ou (3, 1). 2. Em um exemplo, (c, d) é preparado igual a (1, 3). 3. Em um exemplo, pelo menos uma das duas condições é verdadeira: a é diferente de c ou b é diferente de d. 4. (a, b) é diferente de (c, d). f. Em um exemplo, o bloco vizinho (por exemplo, A ou B) mencionado acima é um bloco vizinho espacial adjacente ou não adjacente ou um bloco vizinho temporal. i. Em um exemplo, o bloco vizinho A ou B é o bloco vizinho à esquerda (ou superior). ii. Em um exemplo, os blocos vizinhos A e B são os blocos vizinhos esquerdo e superior, respectivamente. iii. Em um exemplo, o bloco vizinho à esquerda cobre a localização (xCb - 1, yCb + cbHeight - 1). iv. Em um exemplo, o bloco vizinho superior cobre a localização (xCb + cbWidth - 1, yCb - 1). v. Em um exemplo, o bloco vizinho à esquerda cobre a localização (xCb - 1, yCb). vi. Em um exemplo, o bloco vizinho superior cobre a localização (xCb, yCb - 1). g. Para os exemplos acima, a predição de CIIP é formada como a seguir: PCIIP = (winter * Pinter + wlntra * Pintra + offset) » N em que Deslocamento é preparado como (1 << (N-1)) ou 0, e N pode ser preparado como log2 (wIntra + wInter). 12. O número de pares de pesos permitidos (wIntra, wInter) usados em CIIP pode ser reduzido de 3 para 1. a. Em um exemplo, o par de pesos é definido como (1,3) ou (2, 2) ou (1,7) ou (2, 6) ou (3, 5) ou (4, 4). b. Em um exemplo, (wIntra, wInter) é preparado igual a (2, 2). c. Em um exemplo, (wIntra, wInter) é preparado igual a (1, 3). d. Para os exemplos acima, a predição de CIIP é formada como a seguir: PCIIP = (winter * Pinter + wlntra * Pintra + offset) » N em que Deslocamento é preparado como (1 << (N-1)) ou 0, e N pode ser preparado como log2 (wIntra + wInter). 13. Os pares de pesos (wIntra, wInter) podem ser derivados com base em se um ou múltiplos blocos vizinhos são codificados com modo de CIIP. a. O par de pesos usado para o bloco atual pode ser derivado daquele usado para um bloco codificado anteriormente. b. Em um exemplo, o par de pesos é determinado com base em apenas um bloco vizinho A. i. Em um exemplo, se um bloco vizinho A é codificado com o modo de CIIP, (wIntra, wInter) do bloco atual é preparado igual a (wIntra, wInter) do bloco vizinho A; caso contrário, se o bloco vizinho A está disponível e intracodificado, (wIntra, wInter) é preparado igual a (a, b); caso contrário, (wIntra, wInter) é preparado igual a (c, d). ii. Em um exemplo, se um bloco vizinho A é codificado com o modo de CIIP, (wIntra, wInter) do bloco atual é preparado igual a (wIntra, wInter) do vizinho; caso contrário, (wIntra, wInter) é preparado igual a (a, b). iii. Para os exemplos acima, o seguinte pode se aplicar: 1. Em um exemplo, (a, b) é preparado igual a (2, 2) ou (3, 1). 2. Em um exemplo, (c, d) é preparado igual a (1, 3). 3. Em um exemplo, pelo menos uma das duas condições é verdadeira: a é diferente de c; b é diferente de d. c. Em um exemplo, o par de pesos é determinado com base em dois ou mais blocos vizinhos e, para pelo menos um dos blocos vizinhos, certas condições são satisfeitas. i. Múltiplos blocos vizinhos podem ser verificados em uma determinada ordem de verificação (por exemplo, primeiro verificar o bloco esquerdo e, em seguida, verificar o bloco superior) para identificar o uso do modo de CIIP. ii. Em um exemplo, se pelo menos um dos blocos vizinhos A e B for codificado com o modo de CIIP, (wIntra, wInter) do bloco atual é preparado igual a (wIntra, wInter) do primeiro bloco vizinho codificado de CIIP em uma determinada ordem de verificação; caso contrário, se pelo menos um bloco vizinho de A e B estiver disponível e intracodificado, (wIntra, wInter) é preparado igual a (a, b); caso contrário, (wIntra, wInter) é preparado igual a (c, d). iii. Para os exemplos acima, o seguinte pode se aplicar: 1. Em um exemplo, (a, b) é preparado igual a (2, 2) ou (3, 1). 2. Em um exemplo, (c, d) é preparado igual a (1, 3). 3. Em um exemplo, pelo menos uma das duas condições é verdadeira: a é diferente de c; b é diferente de d. iv. Em um exemplo, se pelo menos um dos blocos vizinhos A e B é codificado com o modo de CIIP, (wIntra, wInter) do bloco atual é preparado igual a (wIntra, wInter) do primeiro bloco vizinho codificado de CIIP em uma determinada ordem de verificação; caso contrário, se os blocos vizinhos A e B estão ambos disponíveis e intracodificados, (wIntra, wInter) é preparado igual a (a, b); caso contrário, (wIntra, wInter) é preparado igual a (c, d). v. Em um exemplo, se pelo menos um dos blocos vizinhos A e B é codificado com o modo de CIIP, (wIntra, wInter) do bloco atual é preparado igual a (wIntra, wInter) do primeiro bloco vizinho codificado de CIIP em uma determinada ordem de verificação; caso contrário, (wIntra, wInter) é preparado igual a (c, d). vi. Para os exemplos acima, o seguinte pode se aplicar: 1. Em um exemplo, (c, d) é preparado igual a (2, 2) ou (1, 3). d. Em um exemplo, o bloco vizinho A ou B mencionado acima é um bloco vizinho espacial adjacente ou não adjacente ou um bloco vizinho temporal. i. Em um exemplo, o bloco vizinho A ou B é o bloco vizinho à esquerda (ou superior). ii. Em um exemplo, os blocos vizinhos A e B são os blocos vizinhos esquerdo e superior, respectivamente. iii. Em um exemplo, o bloco vizinho à esquerda cobre a localização (xCb - 1, yCb + cbHeight - 1). iv. Em um exemplo, o bloco vizinho superior cobre a localização (xCb + cbWidth - 1, yCb - 1). v. Em um exemplo, o bloco vizinho à esquerda cobre a localização (xCb - 1, yCb). vi. Em um exemplo, o bloco vizinho superior cobre a localização (xCb, yCb - 1). e. Para os exemplos acima, a predição de CIIP é formada como a seguir: PCIIP = (winter * Pinter + wlntra * Pintra + offset) » N em que Deslocamento é preparado como (1 << (N-1)) ou 0, e N pode ser preparado como log2 (wIntra + wInter). 14. A seleção de blocos vizinhos usados no CIIP pode ser dependente das informações codificadas, tais como dimensão do bloco/forma do bloco/flag de verificação de baixo atraso/informações de imagens de referência/informações de movimento do bloco atual e blocos vizinhos/modos de intrapredição de blocos vizinhos. 15. Os pares de pesos usados no CIIP pode ser dependente das informações codificadas, tais como dimensão do bloco/forma do bloco/flag de verificação de baixo atraso/informações de imagens de referência/informações de movimento do bloco atual e blocos vizinhos/modos de intrapredição de blocos vizinhos. a. Em um exemplo, o conjunto de pares de ponderação é adicionalmente sinalizado. b. Em um exemplo, a seleção do par de pesos pode depender de se um bloco vizinho é intercodificado em vez de intracodificado. 16. Ao determinar as informações de CIIP, (por exemplo, na determinação de ponderações aplicados ao sinal de intrapredição ou sinal de interpredição para projeto anterior e marcadores mencionados acima), se um bloco vizinho não estiver codificado com MODE_INTRA (ou seja, intramodo), podem ser tratadas como intracodificadas. a. Em um exemplo, se o bloco vizinho for codificado por IBC. b. Em um exemplo, se o bloco vizinho for codificado por CIIP. c. Em um exemplo, se o bloco vizinho for codificado por TPM. d. Em um exemplo, se o bloco vizinho for codificado em paleta. e. Em um exemplo, se o bloco vizinho for codificado por RDPCM. f. Em um exemplo, se o bloco vizinho é codificado sem transformada (por exemplo, modo de salto de transformada) e/ou quantização aplicada (por exemplo, modo de quantização de bypass de transformada). g. Alternativamente, se o bloco vizinho for codificado com um modo mencionado nos sub-marcadores acima (por exemplo, IBC, RDPCM, Paleta), o bloco vizinho pode ser tratado como não intracodificado (por exemplo, intercodificado). h. Em um exemplo, se o bloco vizinho for intracodificado, mas NÃO codificado com certos modos de predição (por exemplo, Planar), o bloco vizinho pode ser tratado como não intracodificado (por exemplo, intercodificado). i.Alternativamente, se o bloco vizinho for codificado com o método de intrapredição baseado em matriz e/ou método de intrapredição de múltiplas linhas de referência com índice de linha de referência diferente de K (por exemplo, K = 0) e/ou BDPCM, o bloco vizinho pode ser tratado como não intracodificado (por exemplo, intercodificado). j.Os métodos propostos podem ser aplicados a outras ferramentas de codificação que dependem se um bloco vizinho é codificado com intramodo ou não. k. Os métodos propostos podem ser aplicados a outras ferramentas de codificação que dependem se um bloco vizinho é codificado com modo inter não. 17. Ativar ou desativar os métodos acima pode ser sinalizado em SPS/PPS/VPS/cabeçalho de sequência/cabeçalho de imagem/cabeçalho de fatia/cabeçalho de grupo de ladrilhos/ladrilho/grupo de CTUs etc. al. a. Alternativamente, qual método a ser usado pode ser sinalizado em SPS/PPS/VPS/cabeçalho de sequência/cabeçalho de imagem/cabeçalho de fatia/cabeçalho de grupo de ladrilho/grupo de CTUs etc. al. b. Alternativamente, ativar ou desativar os métodos acima e/ou qual método a ser aplicado pode ser dependente da dimensão do bloco, unidade de processamento de dados de vídeo (VPDU), tipo de imagem, flag de verificação de baixo atraso, informações codificadas do bloco atual (como referência imagens, uni ou bipredição) ou blocos previamente codificados. 5.Modalidades 5.1 Modalidade 1 [160] Suppose (xCb, yCb) is the location of the top-left sample of the current block relative to the top-left sample of the current image, cbWidth and cbHeight specify the width and height of the current block. 1. CIIP flag or/and LIC flag or/and diffusion filtering flag or/and bilateral filtering flag or/and transform domain filtering flag or/and activation flag of other types of post-reconstruction filter may be restricted to be false (and CIIP or/and LIC or/and diffusion filter or/and bilateral filter or/and transform domain filter may be implicitly disabled) depending on the coded modes of other blocks (such as adjacent or non-adjacent neighboring blocks and/or reference blocks). a. When a flag is derived to be false, the corresponding method cannot be applied. b. When a flag is derived to be false, the flagging of indications of use of such modes is skipped. c. When a flag is derived to be false, indications of use of such modes may still be signaled, but are restricted to being false in a conforming bitstream, and such modes are not enforced. d. In an example, whether or not to enforce one or more proposed constraints (such as 1.a, 1.b, and 1.c) may depend on the encoded modes of all or some of the adjacent and/or non-adjacent neighboring rows or columns. i. Alternatively, whether or not to enforce such a constraint may depend on at least N (N>=1) of the samples in the adjacent or non-adjacent neighboring row or columns that are NOT encoded with certain modes. e. In an example, the adjacent and/or non-adjacent neighboring rows may include the row above and/or the row above the right. f. In an example, the neighboring and/or non-adjacent columns may include the left column and/or the lower-left and/or upper-left corner. g. In an example, certain modes of a block other than the current block may include intramode and/or CIIP mode and/or CPR mode. h. In an example, if any of the neighboring/non-adjacent blocks in the neighboring and/or non-adjacent rows or columns are coded with the given mode (e.g., intramode and/or CIIP mode and/or RCP mode), one or multiple proposed constraints (such as 1.a, 1.b, and 1.c) are applied. i. In an example, if all neighboring/non-adjacent blocks in the adjacent and/or non-adjacent neighboring rows or columns are coded with the given mode (e.g., intramode and/or CIIP mode and/or CPR mode), one or multiple proposed constraints are applied. j. In an example, if at least N neighboring/non-adjacent blocks in the neighboring or non-adjacent row or columns are NOT encoded with the certain mode (e.g., intramode and/or CIIP mode and/or RCP mode), one or multiple proposed constraints (such as 1.a, 1.b, and 1.c) are NOT applied. k. In an example, whether or not one or multiple proposed constraints (such as 1.a, 1.b, and 1.c) are applied may depend on the position of the current block. i. In an example, if the current block is at the top of the current CTU (the current block and its neighboring block above it belong to different CTUs), the proposed constraints are NOT applied. ii. In an example, if the current block is to the left of the current CTU (the current block and its neighboring block to the left belong to different CTUs), the proposed constraints are NOT applied. 2. CIIP and/or intramode flag of CIIP mode can be stored together with motion information in the history-based motion vector prediction (HMVP) table. a. In one example, when comparing the motion information of two candidates (such as the pruning process), the CIIP or/and intramode flag in CIIP mode are not considered in the comparison. b. In one example, when comparing the motion information of two candidates, the CIIP or/and intramode flag in CIIP mode are considered in the comparison. c. In one example, when a merge candidate is from an entry in the HMVP table, the CIIP flag of that entry is also copied to the merge candidate. d. In one example, when a merge candidate is from an entry in the HMVP table, the CIIP and intramode flag of that entry are also copied to the merge candidate. 3. CIIP can be performed for AMVP mode (AMVP or/and AMVP mode with SMVD mode) a. The CIIP and/or intramode flag in CIIP mode of neighboring/non-adjacent blocks can be inherited in merge mode or/and current block mode of UMVE (also known as merge with motion vector difference, MMVD for short). b. The CIIP and/or intramode flag in CIIP mode can be signaled for non-hop merge mode or/and non-hop UMVE mode, and the CIIP and/or intramode flag in CIIP mode of neighboring/non-adjacent blocks can be inherited in skip merge mode or/and skip UMVE mode. c. The CIIP and/or intramode flag in CIIP mode can be signaled for skip merge mode or/and skip UMVE mode, and the CIIP and/or intramode flag in CIIP mode of neighboring/non-adjacent blocks can be inherited in non-hop merge mode or/and skip UMVE mode. d. In an example, the CIIP flag and an intramode may be flagged for AMVP mode. e. In an example, the CIIP flag may be inherited in merge mode or/and UMVE mode, and if the CIIP flag is true, an intramode may be additionally flagged if more than one intramode is allowed in CIIP. f. In an example, the CIIP flag and the intramode of neighboring/nonadjacent blocks in merge mode or/and UMVE mode may be inherited by the current block. g. In an example, CIIP may be disabled for hop mode. h. In an example, when comparing two merge candidates, the CIIP flag or/and intramode in CIIP may not be considered in the comparison. i. In an example, when comparing two merge candidates, the CIIP flag or/and intramode in CIIP may be considered in the comparison. 4. CIIP may be disabled for pairwise prediction or bicombined prediction or other types of virtual/artificial candidates (e.g., zero-motion vector candidates). i. Alternatively, if one of the two candidates involved in the pairwise prediction or bicombined prediction adopts CIIP prediction, CIIP may be enabled for the pairwise or bicombined merge candidate. ii. In an example, the intra mode of the CIIP mode candidate may be inherited. iii. In an example, the intra mode may be explicitly flagged. b. Alternatively, if both candidates involved in the pairwise prediction or bicombined prediction adopt CIIP prediction, CIIP may be enabled for the pairwise or bicombined merge candidate. iv. In an example, the intra mode of one of two candidates may be inherited. v. In an example, an intra mode may be derived from the intra modes of the two candidates and is used for the pairwise or bicombined merge candidate. vi. In one example, the intra mode may be explicitly flagged. 5. Spatially neighboring and/or non-adjacent reconstructed samples required in the CIIP mode or/and diffusion filter or/and bilateral filter or/and transform domain filter or/and other types of post-reconstruction filter may be replaced by the corresponding samples in the reference images (such as spatially neighboring and/or non-adjacent samples of the reference block, as shown in FIG. 17). a. In one example, if the current block is bipredicted, neighboring samples from the two reference blocks may be averaged to generate the final neighboring samples. b. In one example, if the current block is bipredicted, neighboring samples from one of the two reference blocks may be used as the final neighboring samples. c. In one example, if the current block is bipredicted, neighboring samples from the two reference blocks may be averaged to generate the final neighboring samples if unequal-weighted GBI or weighted prediction or LIC is applied to the current block. d. In one example, corresponding samples in reference images (e.g., neighboring samples of the reference block) can be identified by the motion information of the current block. e. In one example, corresponding samples in reference images (e.g., neighboring samples of the reference block) can be identified by the modified motion information of the current block. For example, the motion vector can be rounded to integer precision before being used to identify neighboring samples. f. In one example, corresponding samples in reference images (e.g., neighboring samples of the reference block) are identified using motion vectors with integer precision pel. i. In one example, the MV for the reference block is first rounded to an integer pixel. The rounded MV is used to identify neighboring samples of the reference block. ii. In one example, the proposed replacement is applied when the current block is encoded with integer motion information pel. Therefore, no rounding is required. g. In one example, the proposed replacement can be applied for a certain color component, such as only the luma component. i. Alternatively, the proposed replacement may be applied to all color components. 6. It is proposed to prohibit the use of previously encoded CIIP flags for encoding subsequent blocks. a. In one example, the process of checking CIIP flags of previously encoded blocks is skipped to improve throughput. b. In one example, the process of checking CIIP flags of neighboring blocks in the intramode derivation process is skipped. i. In one example, for a neighboring block, if it is encoded with CIIP mode, the associated intramode may be set to a certain mode (such as Planar mode). Alternatively, in addition, the associated intramode may be used in the MPM list derivation process. ii. In one example, for a neighboring block, if it is encoded with CIIP mode or normal intermode, the associated intramode may be set to a certain mode (such as Planar mode). Alternatively, in addition, the associated intramode may be used in the MPM list derivation process. iii. In one example, the intramode of CIIP-encoded blocks may not be stored and the CIIP-encoded blocks may be considered unavailable in the decoding process. Alternatively, the CIIP-encoded blocks may be treated in the same manner as normal intermodes. c. Alternatively, in addition, it is proposed to remove the CIIP flag from memory to save the memory size required to store mode information. 7. It is proposed that the CIIP mode flag be encoded by bypass coding. a. Alternatively, the CIIP mode flag may be encoded in context but without referring to the CIIP mode flags of neighboring blocks. 8. It is proposed that the approach to doing weighted summation in CIIP may depend on the color components. a. For example, the weighting values in CIIP are different for the main color component (e.g., G component) and other color components (e.g., B and R components). b. For example, the weighting values in CIIP are different for the luma component and the chroma components. c. For example, the weighting values for inter-prediction and intra-prediction are the same in the chroma components. 9. It is proposed that when the weighting factor selection is according to neighboring blocks, for a neighboring block, if coded as CIIP mode, it can be treated as the inter-coded block. a. Alternatively, when the weighting factor selection is according to neighboring blocks, for a neighboring block, if coded as CIIP mode, it can be treated as the intra-coded block. 10. The above proposed method can be applied under certain conditions, such as block sizes, slice/image/tile types, or motion information. a. In one example, when a block size contains samples smaller than M*H, for example, 16 or 32 or 64 luma samples, the proposed method is not allowed. b. Alternatively, when the minimum size of the width and/or height of a block is smaller or not larger than X, the proposed method is not allowed. In one example, X is prepared as 8. c. Alternatively, when the minimum size of a block's width and/or height is not less than X, the proposed method is not allowed. In an example, X is prepared as 8. d. Alternatively, when a block's width > th1 or >=th1 and/or a block's height > th2 or >=th2, the proposed method is not allowed. In an example, th1 and/or th2 is prepared as 8. e. Alternatively, when a block's width < th1 or <=th1 and/or a block's height < th2 or <a=th2, the proposed method is not allowed. In an example, th1 and/or th2 is prepared as 8. 11. The number of allowed weight pairs (wIntra, wInter) used in CIIP can be reduced from 3 to 2, denoted as (a, b) and (c, d). a. In an example, two pairs are defined as {(1,3) and (3,1)}; or {(1,3) and (2, 2)}; or {(3,1) and (2, 2)}; or {(3, 5) and (4, 4)} or {(5, 3) and (4, 4)}, or {(1, 7) and (4, 4)} or {(7, 1) and (4, 4)}. b. In one example, the weight pair is determined based on only one neighboring block A. i. In one example, if a neighboring block A is available and intra-coded, (wIntra, wInter) is set equal to (a, b); otherwise, (wIntra, wInter) is set equal to (c, d). ii. In one example, block A is a left neighboring block. iii. In one example, block A is an up neighboring block. c. In an example, the weight pair is determined based on two or more neighboring blocks, and for at least one of the neighboring blocks, certain conditions are satisfied. 1. In an example, if at least one of the neighboring blocks A and B are available and intracoded, (wIntra, wInter) is set equal to (a, b); Otherwise, (wIntra, wInter) is set equal to (c, d). 2. In an example, block A is a left neighboring block and B is an up neighboring block. d. In an example, the weight pair is determined based on two or more neighboring blocks, and for each of the neighboring blocks, the same conditions are satisfied. i. In an example, if the neighboring blocks A and B are both available and intracoded, (wIntra, wInter) is set equal to (a, b); Otherwise, (wIntra, wInter) is set equal to (c, d). 1. In an example, block A is a left neighboring block and B is an up neighboring block. e. In an example, the configurations of (a, b) and (c, d) may be as follows: 1. In an example, (a, b) is set to (2, 2) or (3, 1). 2. In an example, (c, d) is set to (1, 3). 3. In an example, at least one of two conditions is true: a is not equal to c or b is not equal to d. 4. (a, b) is not equal to (c, d). f. In an example, the neighboring block (e.g., A or B) mentioned above is an adjacent or non-adjacent spatial neighboring block or a temporal neighboring block. i. In an example, neighboring block A or B is the left (or top) neighboring block. ii. In an example, neighboring blocks A and B are the left and top neighboring blocks, respectively. iii. In an example, the left neighboring block covers the location (xCb - 1, yCb + cbHeight - 1). iv. In one example, the top neighboring block covers the location (xCb + cbWidth - 1, yCb - 1). v. In one example, the left neighboring block covers the location (xCb - 1, yCb). vi. In one example, the top neighboring block covers the location (xCb, yCb - 1). g. For the above examples, the CIIP prediction is formed as follows: PCIIP = (winter * Pinter + wlntra * Pintra + offset) » N where Offset is prepared as (1 << (N-1)) or 0, and N can be prepared as log2(wIntra + wInter). 12. The number of allowed weight pairs (wIntra, wInter) used in CIIP can be reduced from 3 to 1. a. In one example, the weight pair is defined as (1,3) or (2, 2) or (1,7) or (2, 6) or (3, 5) or (4, 4). b. In one example, (wIntra, wInter) is set equal to (2, 2). c. In one example, (wIntra, wInter) is set equal to (1, 3). d. For the above examples, the CIIP prediction is formed as follows: PCIIP = (winter * Pinter + wlntra * Pintra + offset) » N where Offset is set as (1 << (N-1)) or 0, and N can be set as log2(wIntra + wInter). 13. The weight pairs (wIntra, wInter) can be derived based on whether one or multiple neighboring blocks are encoded with CIIP mode. a. The weight pair used for the current block can be derived from the one used for a previously encoded block. b. In one example, the weight pair is determined based on only one neighboring block A. i. In an example, if a neighboring block A is coded with CIIP mode, (wIntra, wInter) of the current block is prepared equal to (wIntra, wInter) of the neighboring block A; otherwise, if the neighboring block A is available and intracoded, (wIntra, wInter) is prepared equal to (a, b); otherwise, (wIntra, wInter) is prepared equal to (c, d). ii. In an example, if a neighboring block A is coded with CIIP mode, (wIntra, wInter) of the current block is prepared equal to (wIntra, wInter) of the neighbor; otherwise, (wIntra, wInter) is prepared equal to (a, b). iii. For the above examples, the following may apply: 1. In an example, (a, b) is prepared equal to (2, 2) or (3, 1). 2. In an example, (c, d) is prepared equal to (1, 3). 3. In an example, at least one of two conditions is true: a is different from c; b is different from d. c. In an example, the weight pair is determined based on two or more neighboring blocks, and for at least one of the neighboring blocks, certain conditions are satisfied. i. Multiple neighboring blocks may be checked in a certain checking order (e.g., first checking the left block and then checking the top block) to identify the use of CIIP mode. ii. In an example, if at least one of the neighboring blocks A and B is encoded with CIIP mode, (wIntra, wInter) of the current block is set equal to (wIntra, wInter) of the first neighboring block encoded with CIIP in a certain checking order; otherwise, if at least one neighboring block of A and B is available and intra-coded, (wIntra, wInter) is set equal to (a, b); otherwise, (wIntra, wInter) is set equal to (c, d). iii. For the above examples, the following may apply: 1. In an example, (a, b) is set equal to (2, 2) or (3, 1). 2. In an example, (c, d) is set equal to (1, 3). 3. In an example, at least one of two conditions is true: a is not equal to c; b is not equal to d. iv. In an example, if at least one of the neighboring blocks A and B is coded with CIIP mode, (wIntra, wInter) of the current block is set equal to (wIntra, wInter) of the first neighboring CIIP-coded block in a given check order; otherwise, if the neighboring blocks A and B are both available and intra-coded, (wIntra, wInter) is set equal to (a, b); otherwise, (wIntra, wInter) is set equal to (c, d). v. In an example, if at least one of the neighboring blocks A and B is coded with CIIP mode, (wIntra, wInter) of the current block is set equal to (wIntra, wInter) of the first neighboring block coded of CIIP in a given scan order; otherwise, (wIntra, wInter) is set equal to (c, d). vi. For the above examples, the following may apply: 1. In an example, (c, d) is set equal to (2, 2) or (1, 3). d. In an example, the above-mentioned neighboring block A or B is an adjacent or non-adjacent spatial neighboring block or a temporal neighboring block. i. In an example, neighboring block A or B is the left (or top) neighboring block. ii. In an example, neighboring blocks A and B are the left and top neighboring blocks, respectively. iii. In an example, the left neighboring block covers the location (xCb - 1, yCb + cbHeight - 1). iv. In one example, the top neighboring block covers the location (xCb + cbWidth - 1, yCb - 1). v. In one example, the left neighboring block covers the location (xCb - 1, yCb). vi. In one example, the top neighboring block covers the location (xCb, yCb - 1). e. For the above examples, the CIIP prediction is formed as follows: PCIIP = (winter * Pinter + wlntra * Pintra + offset) » N where Offset is prepared as (1 << (N-1)) or 0, and N can be prepared as log2(wIntra + wInter). 14. The selection of neighboring blocks used in CIIP may be dependent on the encoded information, such as block dimension/block shape/low-delay check flag/reference image information/current block motion information, and neighboring blocks/intra-prediction modes of neighboring blocks. 15. The weight pairs used in CIIP may be dependent on the encoded information, such as block size/block shape/low delay check flag/reference image information/motion information of the current block and neighboring blocks/intra-prediction modes of neighboring blocks. a. In one example, the set of weight pairs is additionally flagged. b. In one example, the selection of the weight pair may depend on whether a neighboring block is inter-coded rather than intra-coded. 16. When determining CIIP information, (e.g., in determining weights applied to the intra-prediction signal or inter-prediction signal for previous project and markers mentioned above), if a neighboring block is not encoded with MODE_INTRA (i.e., intra-mode), it may be treated as intra-coded. a. In one example, if the neighboring block is IBC-encoded. b. In one example, if the neighboring block is CIIP-encoded. c. In one example, if the neighboring block is TPM-encoded. d. In an example, if the neighboring block is palette coded. e. In an example, if the neighboring block is RDPCM coded. f. In an example, if the neighboring block is coded without transform (e.g., transform skip mode) and/or quantization applied (e.g., transform bypass quantization mode). g. Alternatively, if the neighboring block is coded with a mode mentioned in the above sub-bullets (e.g., IBC, RDPCM, Palette), the neighboring block may be treated as non-intra-coded (e.g., inter-coded). h. In an example, if the neighboring block is intra-coded but NOT coded with certain prediction modes (e.g., Planar), the neighboring block may be treated as non-intra-coded (e.g., inter-coded). i. Alternatively, if the neighboring block is coded with matrix-based intraprediction method and/or multiple reference line intraprediction method with reference line index other than K (e.g., K = 0) and/or BDPCM, the neighboring block can be treated as non-intracoded (e.g., intercoded). j. The proposed methods can be applied to other coding tools that depend on whether a neighboring block is coded with intramode or not. k. The proposed methods can be applied to other coding tools that depend on whether a neighboring block is coded with intermode or not. 17. Enabling or disabling the above methods can be flagged in SPS/PPS/VPS/sequence header/image header/slice header/tile group header/tile/CTU group etc. al. a. Alternatively, which method to use may be signaled in SPS/PPS/VPS/sequence header/picture header/slice header/tile group header/CTU group etc. al. b. Alternatively, enabling or disabling the above methods and/or which method to apply may be dependent on the block size, video data processing unit (VPDU), picture type, low delay check flag, encoded information of the current block (such as reference pictures, uni- or bi-prediction) or previously encoded blocks. 5. Embodiments 5.1 Embodiment 1

[161] Um exemplo de verificação de salto de flags de CIIP de blocos codificados anteriormente é dado como a seguir. 8.4.2 Processo de derivação para o modo de intrapredição de luma As entradas para este processo são: - uma localização de luma (xCb, yCb) especificando a amostra superior esquerda do bloco de codificação de luma atual em relação à amostra de luma superior-esquerda da imagem atual, - uma variável cbWidth especificando a largura do bloco de codificação atual em amostras de luma, - uma variável cbHeight especificando a altura do bloco de codificação atual em amostras de luma. Neste processo, o modo de intrapredição de luma IntraPredModeY[xCb][yCb] é derivado. Tabela 8-1 especifica o valor para o modo de intrapredição IntraPredModeY [xCb] [yCb] e os nomes associados. Tabela 8-1 - Especificação do modo de intrapredição e nomes associados NOTA - : Os modos de intrapredição INTRA_LT_CCLM, INTRA_L_CCLM e INTRA_T_CCLM são aplicáveis apenas aos componentes croma. IntraPredModeY [xCb] [yCb] é derivado pelas seguintes etapas ordenadas: 1. As localizações vizinhas (xNbA, yNbA) e (xNbB, yNbB) são preparadas como iguais a ( xCb - 1, yCb + cbHeight - 1 ) e ( xCb + cbWidth - 1, yCb - 1 ), respectivamente. 2. Para X sendo substituído por A ou B, as variáveis candIntraPredModeX são derivadas como a seguir: - O processo de derivação de disponibilidade para um bloco como especificado na cláusula 6.4.X [Ed. (BB): Processo de verificação de disponibilidade de blocos vizinhos tbd] é invocado com a localização (xCurr, yCurr) preparada igual a (xCb, yCb) e a localização vizinha (xNbY, yNbY) preparada igual a (xNbX, yNbX) como entradas, e a saída é atribuída a availableX. - O modo de intrapredição de candidato candIntraPredModeX é derivado como a seguir: - Se uma ou mais das seguintes condições forem verdadeiras, candIntraPredModeX é preparado igual a INTRA_PLANAR. - A variável availableX é igual a FALSO. - CuPredMode[xNbX][yNbX] não é igual a MODE_INTRA. - pcm_flag[ xNbX ][ yNbX ] é igual a 1. - X é igual a B e yCb - 1 é menor que ( ( yCb >> CtbLog2SizeY ) << CtbLog2SizeY ). - Caso contrário, candIntraPredModeX é preparado igual a IntraPredModeY[xNbX][yNbX]. 3. As variáveis ispDefaultMode1 e ispDefaultMode2 são definidas como a seguir: - Se IntraSubPartitionsSplitType for igual a ISP_HOR_SPLIT, ispDefaultMode1 é preparado igual a INTRA_ANGULAR18 e ispDefaultMode2 é preparado igual a INTRA_ANGULAR5. - Caso contrário, ispDefaultMode1 é preparado igual a INTRA_ANGULAR50 e ispDefaultMode2 é preparado igual a INTRA_ANGULAR63. 4. O candModeList [x] com x = 0..5 é derivado como a seguir: Modalidade 2[161] An example of checking for skipped CIIP flags of previously encoded blocks is given as follows. 8.4.2 Derivation process for luma intraprediction mode The inputs to this process are: - a luma location (xCb, yCb) specifying the top-left sample of the current luma coding block relative to the top-left luma sample of the current image, - a variable cbWidth specifying the width of the current coding block in luma samples, - a variable cbHeight specifying the height of the current coding block in luma samples. In this process, the luma intraprediction mode IntraPredModeY[xCb][yCb] is derived. Table 8-1 specifies the value for the intraprediction mode IntraPredModeY[xCb][yCb] and the associated names. Table 8-1 - Intraprediction mode specification and associated names NOTE - : The intraprediction modes INTRA_LT_CCLM, INTRA_L_CCLM and INTRA_T_CCLM are applicable only to chroma components. IntraPredModeY[xCb][yCb] is derived by the following ordered steps: 1. The neighboring locations (xNbA, yNbA) and (xNbB, yNbB) are prepared as equal to ( xCb - 1, yCb + cbHeight - 1 ) and ( xCb + cbWidth - 1, yCb - 1 ) respectively. 2. For X being replaced by A or B, the variables candIntraPredModeX are derived as follows:- The availability derivation process for a block as specified in clause 6.4.X [Ed. (BB): Neighboring block availability check process tbd] is invoked with location (xCurr, yCurr) prepared equal to (xCb, yCb) and neighboring location (xNbY, yNbY) prepared equal to (xNbX, yNbX) as inputs, and the output is assigned to availableX. - The candidate intraprediction mode candIntraPredModeX is derived as follows: - If one or more of the following conditions are true, candIntraPredModeX is prepared equal to INTRA_PLANAR. - The variable availableX is equal to FALSE. - CuPredMode[xNbX][yNbX] is not equal to MODE_INTRA. - pcm_flag[ xNbX ][ yNbX ] is equal to 1. - X is equal to B and yCb - 1 is less than ( ( yCb >> CtbLog2SizeY ) << CtbLog2SizeY ). - Otherwise, candIntraPredModeX is set equal to IntraPredModeY[xNbX][yNbX]. 3. The variables ispDefaultMode1 and ispDefaultMode2 are defined as follows: - If IntraSubPartitionsSplitType is equal to ISP_HOR_SPLIT, ispDefaultMode1 is set equal to INTRA_ANGULAR18 and ispDefaultMode2 is set equal to INTRA_ANGULAR5. - Otherwise, ispDefaultMode1 is set equal to INTRA_ANGULAR50 and ispDefaultMode2 is set equal to INTRA_ANGULAR63. 4. The candModeList[x] with x = 0..5 is derived as follows: Mode 2

[162] Se o vizinho à esquerda estiver disponível e intracodificado, (wIntra, winter) é preparado como igual a (2, 2); Caso contrário, (wIntra, wInter) é preparado como igual a (1, 3).[162] If the left neighbor is available and intracoded, (wIntra, winter) is prepared as equal to (2, 2); otherwise, (wIntra, wInter) is prepared as equal to (1, 3).

[163] A predição de CIIP é formada como a seguir: PciiP = (winter * Pinter + wIntra * Pintra + 2) » 2 Modalidade 3[163] The CIIP prediction is formed as follows: PciiP = (winter * Pinter + wIntra * Pintra + 2) » 2 Mode 3

[164] Se o vizinho à esquerda estiver disponível e intracodificado, (wIntra, wInter) é preparado como igual a (3, 1); Caso contrário, (wIntra, wInter) é preparado como igual a (1, 3).[164] If the left neighbor is available and intracoded, (wIntra, wInter) is prepared equal to (3, 1); otherwise, (wIntra, wInter) is prepared equal to (1, 3).

[165] A predição de CIIP é formada como a seguir: PCIIP = (winter * Pinter + wIntra * Pintra + 2) » 2 Modalidade 4[165] The CIIP prediction is formed as follows: PCIIP = (winter * Pinter + wIntra * Pintra + 2) » 2 Mode 4

[166] Se o vizinho superior estiver disponível e intracodificado, (wIntra, wInter) é preparado como igual a (2, 2); Caso contrário, (wIntra, wInter) é preparado como igual a (1, 3).[166] If the upper neighbor is available and intracoded, (wIntra, wInter) is prepared as equal to (2, 2); otherwise, (wIntra, wInter) is prepared as equal to (1, 3).

[167] A predição de CIIP é formada como a seguir: PCIIP = (winter * Pinter + wIntra * Pintra + 2) » 2 Modalidade 5[167] The CIIP prediction is formed as follows: PCIIP = (winter * Pinter + wIntra * Pintra + 2) » 2 Mode 5

[168] Se o vizinho superior estiver disponível e intracodificado, (wIntra, wInter) é preparado como igual a (3, 1); Caso contrário, (wIntra, wInter) é preparado como igual a (1, 3).[168] If the upper neighbor is available and intracoded, (wIntra, wInter) is prepared as equal to (3, 1); otherwise, (wIntra, wInter) is prepared as equal to (1, 3).

[169] A predição de CIIP é formada como a seguir: PCIIP = (winter * Pinter + wIntra * Pintra + 2) » 2 Modalidade 6[169] The CIIP prediction is formed as follows: PCIIP = (winter * Pinter + wIntra * Pintra + 2) » 2 Mode 6

[170] Se o vizinho à esquerda e superior estiver disponível e intracodificado, (wIntra, wInter) é preparado como igual a (2, 2); Caso contrário, (wIntra, wInter) é preparado como igual a (1, 3).[170] If the upper left neighbor is available and intracoded, (wIntra, wInter) is prepared as equal to (2, 2); otherwise, (wIntra, wInter) is prepared as equal to (1, 3).

[171] A predição de CIIP é formada como a seguir: PCIIP = (winter * Pinter + wIntra * Pintra + 2) » 2 Modalidade 7[171] The CIIP prediction is formed as follows: PCIIP = (winter * Pinter + wIntra * Pintra + 2) » 2 Mode 7

[172] Se o vizinho à esquerda e superior estiver disponível e intracodificado, (wIntra, wInter) é preparado como igual a (3, 1); Caso contrário, (wIntra, wInter) é preparado como igual a (1, 3).[172] If the upper left neighbor is available and intracoded, (wIntra, wInter) is prepared as equal to (3, 1); otherwise, (wIntra, wInter) is prepared as equal to (1, 3).

[173] A predição de CIIP é formada como a seguir: PCIIP = (winter * Pinter + wIntra * Pintra + 2) » 2 Modalidade 8[173] The CIIP prediction is formed as follows: PCIIP = (winter * Pinter + wIntra * Pintra + 2) » 2 Mode 8

[174] Se o vizinho à esquerda e superior estiver disponível e intracodificado, (wIntra, wInter) é preparado como igual a (2, 2); Caso contrário, (wIntra, wInter) é preparado como igual a (1, 3).[174] If the upper left neighbor is available and intracoded, (wIntra, wInter) is prepared equal to (2, 2); otherwise, (wIntra, wInter) is prepared equal to (1, 3).

[175] A predição de CIIP é formada como a seguir: PCIIP = (winter * Pinter + wIntra * Pintra + 2) » 2 Modalidade 9[175] The CIIP prediction is formed as follows: PCIIP = (winter * Pinter + wIntra * Pintra + 2) » 2 Mode 9

[176] Se o vizinho à esquerda e estiver disponível e intracodificado, (wIntra, wInter) é preparado como igual a (3, 1); Caso contrário, (wIntra, wInter) é preparado como igual a (1, 3).[176] If the left neighbor e is available and intracoded, (wIntra, wInter) is prepared equal to (3, 1); otherwise, (wIntra, wInter) is prepared equal to (1, 3).

[177] A predição de CIIP é formada como a seguir: PCIIP = (winter * Pinter + wIntra * Pintra + 2) » 2 Modalidade 10 (wIntra, wInter) é preparado igual a (2, 2).[177] The prediction of CIIP is formed as follows: PCIIP = (winter * Pinter + wIntra * Pintra + 2) » 2 Mode 10 (wIntra, wInter) is prepared equal to (2, 2).

[178] A predição de CIIP é formada como a seguir: PCIIP = (winter * Pinter + wIntra * Pintra + 2) » 2 Modalidade 11 (wIntra, winter) é preparado igual a (1, 3).[178] The CIIP prediction is formed as follows: PCIIP = (winter * Pinter + wIntra * Pintra + 2) » 2 Mode 11 (wIntra, winter) is prepared equal to (1, 3).

[179] A predição de CIIP é formada como a seguir: PCIIP = (winter * Pinter + wIntra * Pintra + 2) » 2 Modalidade 12[179] The CIIP prediction is formed as follows: PCIIP = (winter * Pinter + wIntra * Pintra + 2) » 2 Mode 12

[180] Se o vizinho à esquerda for codificado em CIIP, (wIntra, winter) do bloco atual é preparado igual a (wIntra, wInter) do vizinho à esquerda; caso contrário, se o vizinho à esquerda estiver disponível e intracodificado, (wIntra, wInter) é preparado igual a (3, 1); caso contrário, (wIntra, wInter) é preparado igual a (1, 3).[180] If the left neighbor is CIIP-encoded, (wIntra, winter) of the current block is prepared equal to (wIntra, wInter) of the left neighbor; otherwise, if the left neighbor is available and intra-encoded, (wIntra, wInter) is prepared equal to (3, 1); otherwise, (wIntra, wInter) is prepared equal to (1, 3).

[181] A predição de CIIP é formada como a seguir: PCIIP = (wlnter * Pinter + wIntra * Pintra + 2) » 2 Modalidade 13[181] The CIIP prediction is formed as follows: PCIIP = (wlnter * Pinter + wIntra * Pintra + 2) » 2 Mode 13

[182] Se o vizinho à esquerda for codificado em CIIP, (wIntra, wInter) do bloco atual é preparado igual a (wIntra, wInter) do vizinho à esquerda; caso contrário, se o vizinho à esquerda estiver disponível e intracodificado, (wIntra, wInter) é preparado igual a (2, 2); caso contrário, (wIntra, wInter) é preparado igual a (1, 3).[182] If the left neighbor is CIIP-encoded, (wIntra, wInter) of the current block is prepared equal to (wIntra, wInter) of the left neighbor; otherwise, if the left neighbor is available and intra-encoded, (wIntra, wInter) is prepared equal to (2, 2); otherwise, (wIntra, wInter) is prepared equal to (1, 3).

[183] A predição de CIIP é formada como a seguir: PCIIP = (wlnter * Pinter + wIntra * Pintra + 2) » 2 Modalidade 14[183] The CIIP prediction is formed as follows: PCIIP = (wlnter * Pinter + wIntra * Pintra + 2) » 2 Mode 14

[184] Se o vizinho superior é codificado em CIIP, (wIntra, wInter) do bloco atual é preparado igual a (wIntra, wInter) do vizinho superior; caso contrário, se o vizinho superior estiver disponível e intracodificado, (wIntra, wInter) é preparado igual a (3, 1); caso contrário, (wIntra, wInter) é preparado igual a (1, 3).[184] If the upper neighbor is CIIP-encoded, (wIntra, wInter) of the current block is prepared equal to (wIntra, wInter) of the upper neighbor; otherwise, if the upper neighbor is available and intra-encoded, (wIntra, wInter) is prepared equal to (3, 1); otherwise, (wIntra, wInter) is prepared equal to (1, 3).

[185] A predição de CIIP é formada como a seguir: PCIIP = (winter * Pinter + wIntra * Pintra + 2) » 2 Modalidade 15[185] The CIIP prediction is formed as follows: PCIIP = (winter * Pinter + wIntra * Pintra + 2) » 2 Mode 15

[186] Se o vizinho superior for codificado em CIIP, (wIntra, winter) do bloco atual é preparado igual a (wIntra, wInter) do vizinho superior; caso contrário, se o vizinho superior estiver disponível e intracodificado, (wIntra, wInter) é preparado igual a (3, 1); caso contrário, (wIntra, wInter) é preparado igual a (2, 2).[186] If the upper neighbor is CIIP-encoded, (wIntra, winter) of the current block is prepared equal to (wIntra, wInter) of the upper neighbor; otherwise, if the upper neighbor is available and intra-encoded, (wIntra, wInter) is prepared equal to (3, 1); otherwise, (wIntra, wInter) is prepared equal to (2, 2).

[187] A predição de CIIP é formada como a seguir: PCIIP = (winter * Pinter + wIntra * Pintra + 2) » 2 Modalidade 16[187] The CIIP prediction is formed as follows: PCIIP = (winter * Pinter + wIntra * Pintra + 2) » 2 Mode 16

[188] Se o vizinho à esquerda ou/e superior é/são codificado(s) por CIIP, (wIntra, wInter) do bloco atual é preparado igual a (wIntra, wInter) do primeiro vizinho codificado de CIIP (esquerdo-> superior); caso contrário, se o vizinho à esquerda ou/e superior está/estão disponível(is) e intracodificados, (wIntra, wInter) é preparado igual a (3, 1); caso contrário, (wIntra, wInter) é preparado igual a (1, 3).[188] If the left or/and upper neighbor is/are CIIP-encoded, (wIntra, wInter) of the current block is prepared equal to (wIntra, wInter) of the first CIIP-encoded neighbor (left->upper); otherwise, if the left or/and upper neighbor is/are available and intra-encoded, (wIntra, wInter) is prepared equal to (3, 1); otherwise, (wIntra, wInter) is prepared equal to (1, 3).

[189] A predição de CIIP é formada como a seguir: PCIIP = (winter * Pinter + wIntra * Pintra + 2) » 2 Modalidade 17[189] The CIIP prediction is formed as follows: PCIIP = (winter * Pinter + wIntra * Pintra + 2) » 2 Mode 17

[190] Se o vizinho à esquerda ou/e superior é/são codificado(s) por CIIP, (wIntra, wInter) do bloco atual é preparado igual a (wIntra, wInter) do primeiro vizinho codificado de CIIP (esquerdo-> superior); caso contrário, se o vizinho à esquerda ou/e superior está/estão disponível(is) e intracodificado, (wIntra, wInter) é preparado igual a (2, 2); caso contrário, (wIntra, wInter) é preparado igual a (1, 3).[190] If the left or/and upper neighbor is/are CIIP-encoded, (wIntra, wInter) of the current block is prepared equal to (wIntra, wInter) of the first CIIP-encoded neighbor (left->upper); otherwise, if the left or/and upper neighbor is/are available and intra-encoded, (wIntra, wInter) is prepared equal to (2, 2); otherwise, (wIntra, wInter) is prepared equal to (1, 3).

[191] A predição de CIIP é formada como a seguir: PCIIP = (winter * Pinter + wIntra * Pintra + 2) » 2 Modalidade 18[191] The CIIP prediction is formed as follows: PCIIP = (winter * Pinter + wIntra * Pintra + 2) » 2 Mode 18

[192] Se o vizinho à esquerda for codificado em CIIP, (wIntra, wInter) do bloco atual é preparado igual a (wIntra, wInter) do vizinho à esquerda; caso contrário, (wIntra, wInter) é preparado igual a (1, 3).[192] If the left neighbor is CIIP encoded, (wIntra, wInter) of the current block is prepared equal to (wIntra, wInter) of the left neighbor; otherwise, (wIntra, wInter) is prepared equal to (1, 3).

[193] A predição de CIIP é formada como a seguir: PCIIP = (winter * Pinter + wIntra * Pintra + 2) » 2 Modalidade 19[193] The CIIP prediction is formed as follows: PCIIP = (winter * Pinter + wIntra * Pintra + 2) » 2 Mode 19

[194] Se o vizinho à esquerda for codificado em CIIP, (wIntra, wInter) do bloco atual é preparado igual a (wIntra, wInter) do vizinho à esquerda; caso contrário, (wIntra, wInter) é preparado igual a (2, 2).[194] If the left neighbor is CIIP encoded, (wIntra, wInter) of the current block is prepared equal to (wIntra, wInter) of the left neighbor; otherwise, (wIntra, wInter) is prepared equal to (2, 2).

[195] A predição de CIIP é formada como a seguir: PCIIP = (winter * Pinter + wIntra * Pintra + 2) » 2 Modalidade 20[195] The CIIP prediction is formed as follows: PCIIP = (winter * Pinter + wIntra * Pintra + 2) » 2 Mode 20

[196] Se o vizinho superior é codificado em CIIP, (wIntra, wInter) do bloco atual é preparado igual a (wIntra, wInter) do vizinho superior; caso contrário, (wIntra, wInter) é preparado igual a (1, 3).[196] If the upper neighbor is CIIP encoded, (wIntra, wInter) of the current block is prepared equal to (wIntra, wInter) of the upper neighbor; otherwise, (wIntra, wInter) is prepared equal to (1, 3).

[197] A predição de CIIP é formada como a seguir: PCIIP = (winter * Pinter + wIntra * Pintra + 2) » 2 Modalidade 21[197] The CIIP prediction is formed as follows: PCIIP = (winter * Pinter + wIntra * Pintra + 2) » 2 Mode 21

[198] Se o vizinho superior é codificado em CIIP, (wIntra, wInter) do bloco atual é preparado igual a (wIntra, wInter) do vizinho superior; caso contrário, (wIntra, wInter) é preparado igual a (2, 2).[198] If the upper neighbor is CIIP encoded, (wIntra, wInter) of the current block is prepared equal to (wIntra, wInter) of the upper neighbor; otherwise, (wIntra, wInter) is prepared equal to (2, 2).

[199] A predição de CIIP é formada como a seguir: PCIIP = (winter * Pinter + wIntra * Pintra + 2) » 2 Modalidade 22[199] The CIIP prediction is formed as follows: PCIIP = (winter * Pinter + wIntra * Pintra + 2) » 2 Mode 22

[200] Se o vizinho à esquerda ou/e superior é/são codificado(s) por CIIP, (wIntra, wInter) do bloco atual é preparado igual a (wIntra, wInter) do primeiro vizinho codificado de CIIP (esquerdo-> superior); caso contrário, (wIntra, wInter) é preparado igual a (1, 3).[200] If the left or upper neighbor is/are CIIP-encoded, (wIntra, wInter) of the current block is set equal to (wIntra, wInter) of the first CIIP-encoded neighbor (left->upper); otherwise, (wIntra, wInter) is set equal to (1, 3).

[201] A predição de CIIP é formada como a seguir: PCIIP = (winter * Pinter + wIntra * Pintra + 2) » 2 Modalidade 23[201] The CIIP prediction is formed as follows: PCIIP = (winter * Pinter + wIntra * Pintra + 2) » 2 Mode 23

[202] Se o vizinho à esquerda ou/e superior é/são codificado(s) por CIIP, (wIntra, wInter) do bloco atual é preparado igual a (wIntra, wInter) do primeiro vizinho codificado de CIIP (esquerdo-> superior); caso contrário, (wIntra, wInter) é preparado igual a (2, 2).[202] If the left or upper neighbor is/are CIIP-encoded, (wIntra, wInter) of the current block is set equal to (wIntra, wInter) of the first CIIP-encoded neighbor (left->upper); otherwise, (wIntra, wInter) is set equal to (2, 2).

[203] A predição de CIIP é formada como a seguir: PCIIP = (winter * Pinter + wIntra * Pintra + 2) » 2 Modalidade 24 8.5.6 Processo de decodificação para interblocos 8.5.6.1 Geral[203] The CIIP prediction is formed as follows: PCIIP = (winter * Pinter + wIntra * Pintra + 2) » 2 Mode 24 8.5.6 Decoding process for interblocks 8.5.6.1 General

[204] Este processo é invocado decodificando uma unidade de codificação codificada no modo de interpredição.[204] This process is invoked by decoding a coding unit encoded in the interprediction mode.

[205] Quando ciip_flag [xCb] [yCb] é igual a 1, o arranjo predSamples de amostras de predição é modificada como a seguir: - Se cIdx é igual a 0, aplica-se o seguinte: - O processo geral de amostra de intrapredição, como especificado na cláusula 8.4.5.2.5 é invocado com o local (xTbCmp, yTbCmp) preparado igual a (xCb, yCb), o modo de intrapredição predModeIntra preparado igual a IntraPredModeY [xCb] [yCb], a largura do bloco de transformada nTbW e a altura nTbH preparadas iguais a cbWidth e cbHeight, a largura do bloco de codificação nCbW e a altura nCbH preparaas iguais a cbWidth e cbHeight, e a variável cIdx como entradas, e a saída é atribuída ao arranjo (cbWidth) x (cbHeight) predSamplesIntraL. - O processo de predição de amostra ponderada para mescla e intrapredição combinadas, como especificado na cláusula 8.5.6.7 é chamado com a localização (xTbCmp, yTbCmp) preparada igual a (xCb, yCb), a largura do bloco de codificação cbWidth, a altura do bloco de codificação cbHeight, as matrizes de amostra predSamplesInter e predSamplesIntra preparadas igual a predSamples e predSamplesIntraL, respectivamente, o modo de intrapredição predModeIntra preparado igual a IntraPredModeY[ xCb ][ yCb ] e o índice de componente de cor cIdx como entradas e a saída é atribuída ao predSamples de arranjo (cbWidth)x(cbHeight). … 8.5.6.7 Processo de predição de amostra ponderada para mescla combinada e intrapredição[205] When ciip_flag[xCb][yCb] is equal to 1, the array predSamples of prediction samples is modified as follows: - If cIdx is equal to 0, the following applies: - The general intraprediction sampling process as specified in clause 8.4.5.2.5 is invoked with the location (xTbCmp, yTbCmp) prepared equal to (xCb, yCb), the intraprediction mode predModeIntra prepared equal to IntraPredModeY[xCb][yCb], the transform block width nTbW and height nTbH prepared equal to cbWidth and cbHeight, the coding block width nCbW and height nCbH prepared equal to cbWidth and cbHeight, and the variable cIdx as inputs, and the output is assigned to the array (cbWidth)x (cbHeight) predSamplesIntraL. - The weighted sample prediction process for combined blend and intraprediction as specified in clause 8.5.6.7 is called with the location (xTbCmp, yTbCmp) prepared equal to (xCb, yCb), the coding block width cbWidth, the coding block height cbHeight, the sample matrices predSamplesInter and predSamplesIntra prepared equal to predSamples and predSamplesIntraL respectively, the intraprediction mode predModeIntra prepared equal to IntraPredModeY[ xCb ][ yCb ] and the color component index cIdx as inputs and the output is assigned to the array predSamples (cbWidth)x(cbHeight). … 8.5.6.7 Weighted sample prediction process for combined blend and intraprediction

[206] As entradas para este processo são: - uma localização de luma ( xCb, yCb ) especificando a amostra superior esquerda do bloco de codificação de luma atual em relação à amostra de luma superior esquerda da imagem atual, - a largura do bloco de codificação atual cbWidth, - a altura do bloco de codificação atual cbHeight, - dois arranjos (cbWidth) x (cbHeight) predSamplesInter e predSamplesIntra, - um cIdx variável especificando o índice do componente de cor.[206] The inputs to this process are: - a luma location ( xCb, yCb ) specifying the top left sample of the current luma coding block relative to the top left luma sample of the current image, - the width of the current coding block cbWidth, - the height of the current coding block cbHeight, - two (cbWidth) x (cbHeight) arrays predSamplesInter and predSamplesIntra, - a cIdx variable specifying the index of the color component.

[207] A saída desse processo é o arranjo (cbWidth) x (cbHeight) predSamplesComb de valores de amostra de predição.[207] The output of this process is the (cbWidth) x (cbHeight) predSamplesComb array of prediction sample values.

[208] A variável bitDepth é derivada como a seguir: - Se cIdx for igual a 0, bitDepth é preparado igual a BitDepthY. - Caso contrário, bitDepth é preparado igual a BitDepthC.[208] The bitDepth variable is derived as follows: - If cIdx is equal to 0, bitDepth is set equal to BitDepthY. - Otherwise, bitDepth is set equal to BitDepthC.

[209] A variável scallFact é derivada como a seguir: scallFact = ( cIdx = = 0 ) ? 0 : 1. (8-838)[209] The variable scallFact is derived as follows: scallFact = ( cIdx = = 0 ) ? 0 : 1. (8-838)

[210] As localizações vizinhas de luma (xNbA, yNbA) e (xNbB, yNbB) são preparadas como iguais a ( xCb - 1, yCb - 1 + ( cbHeight << scallFact ) ) e ( xCb - 1 + (cbWidth << scallFact ), yCb - 1 ), respectivamente.[210] The neighboring luma locations (xNbA, yNbA) and (xNbB, yNbB) are prepared as equal to ( xCb - 1, yCb - 1 + ( cbHeight << scallFact ) ) and ( xCb - 1 + (cbWidth << scallFact ), yCb - 1 ), respectively.

[211] Para X sendo substituído tanto por A ou B, as variáveis availableX e isIntraCodedNeighbourX são derivadas como a seguir: - O processo de derivação de disponibilidade para um bloco vizinho como especificado na cláusula 6.4.4 é invocado com a localização (xCurr, yCurr) preparada igual a (xCb, yCb) e a localização vizinha (xNbY, yNbY) preparada igual a (xNbX, yNbX), checkPredModeY preparada igual a FALSO, e cldx preparada igual a 0 como entradas, e a saída é atribuída a availableX. - A variável isIntraCodedNeighbourX é derivada como a seguir: - Se availableX for igual a VERDADEIRO e CuPredMode [0] [xNbX] [yNbX] for igual a MODE_INTRA e BdpcmFlag [xNbX] [yNbX] for igual a 0, isIntraCodedNeighbourX será preparado igual a VERDADEIRO. - Caso contrário, isIntraCodedNeighbourX é preparado igual a FALSO. A variável w é derivada como a seguir: - Se isIntraCodedNeighbourA e isIntraCodedNeighbourB forem ambos iguais a VERDADEIRO, w será preparado igual a 3. - Caso contrário, se isIntraCodedNeighbourA e isIntraCodedNeighbourB forem ambos iguais a FALSO, w será preparado igual a 1. - Caso contrário, w é preparado igual a 2.[211] For X being replaced by either A or B, the variables availableX and isIntraCodedNeighbourX are derived as follows: - The availability derivation process for a neighbour block as specified in clause 6.4.4 is invoked with location (xCurr, yCurr) set equal to (xCb, yCb) and neighbour location (xNbY, yNbY) set equal to (xNbX, yNbX), checkPredModeY set equal to FALSE, and cldx set equal to 0 as inputs, and the output is assigned to availableX. - The variable isIntraCodedNeighbourX is derived as follows: - If availableX is equal to TRUE and CuPredMode[0][xNbX][yNbX] is equal to MODE_INTRA and BdpcmFlag[xNbX][yNbX] is equal to 0, then isIntraCodedNeighbourX is set equal to TRUE. - Otherwise, isIntraCodedNeighbourX is set equal to FALSE. The variable w is derived as follows: - If isIntraCodedNeighbourA and isIntraCodedNeighbourB are both equal to TRUE, then w is set equal to 3. - Otherwise, if isIntraCodedNeighbourA and isIntraCodedNeighbourB are both equal to FALSE, then w is set equal to 1. - Otherwise, w is set equal to 2.

[212] Quando cIdx é igual a 0 e fatia_lmcs_enabled_flag é igual a 1, predSamplesInter [x] [y] com x = 0..cbWidth - 1 ey = 0..cbHeight - 1 são modificados como a seguir:[212] When cIdx is equal to 0 and slice_lmcs_enabled_flag is equal to 1, predSamplesInter[x][y] with x = 0..cbWidth - 1 and y = 0..cbHeight - 1 are modified as follows:

[213] A FIG. 18 é um diagrama de blocos de um aparelho de processamento de vídeo 1800. O aparelho 1800 pode ser usado para implementar um ou mais dos métodos descritos na presente invenção. O aparelho 1800 pode ser incorporado em um smartphone, tablet, computador, receptor de Internet das Coisas (IoT) e assim por diante. O aparelho 1800 pode incluir um ou mais processadores 1802, uma ou mais memórias 1804 e hardware de processamento de vídeo 1806. O(s) processador(es) 1802 podem ser configurados para implementar um ou mais métodos descritos no presente documento. A(s) memória(s) (memórias) 1804 pode(m) ser usada(s) para armazenar dados e códigos usados para implementar os métodos e técnicas descritos na presente invenção. O hardware de processamento de vídeo 1806 pode ser usado para implementar, em circuitos de hardware, algumas técnicas descritas no presente documento.[213] FIG. 18 is a block diagram of a video processing apparatus 1800. The apparatus 1800 may be used to implement one or more of the methods described herein. The apparatus 1800 may be incorporated into a smartphone, tablet, computer, Internet of Things (IoT) receiver, and so on. The apparatus 1800 may include one or more processors 1802, one or more memories 1804, and video processing hardware 1806. The processor(s) 1802 may be configured to implement one or more methods described herein. The memory(ies) 1804 may be used to store data and code used to implement the methods and techniques described herein. The video processing hardware 1806 may be used to implement, in hardware circuitry, some of the techniques described herein.

[214] A FIG. 20 é um fluxograma para um método 2000 de procedimento de processamento de um vídeo. O método 2000 inclui determinar (2005) um modo codificado de um primeiro bloco de vídeo, restringir (2110) um ou mais flags a um estado operacional com base na determinação do modo codificado do primeiro bloco de vídeo, o estado operacional sendo falso ou verdadeiro; e desempenhar (2015) processamento adicional de um segundo bloco de vídeo de acordo com o estado operacional de um ou mais flags, em que o primeiro bloco de vídeo é um bloco de vídeo vizinho ou um bloco de vídeo de referência em relação ao segundo bloco de vídeo.[214] FIG. 20 is a flowchart for a method 2000 of processing a video. The method 2000 includes determining (2005) a coded mode of a first video block, constraining (2110) one or more flags to an operational state based on the determination of the coded mode of the first video block, the operational state being false or true; and performing (2015) further processing of a second video block according to the operational state of the one or more flags, wherein the first video block is a neighboring video block or a reference video block with respect to the second video block.

[215] A FIG. 21 é um fluxograma para um método 2100 de procedimento de processamento de um vídeo. O método 2100 inclui a determinação (2105) de predição em par ou predição bicombinada são usados em relação a um primeiro bloco de vídeo, determinar (2110) um estado operacional de intra e interpredição combinada (CIIP) com base na determinação de que a predição em par ou predição bicombinada é usada, em que o estado operacional é habilitado ou desabilitado, e desempenhar processamento (2115) adicional do primeiro bloco de vídeo de acordo com o estado operacional de CIIP.[215] FIG. 21 is a flowchart for a method 2100 of processing a video. The method 2100 includes determining (2105) whether pairwise prediction or bicombined prediction is used with respect to a first block of video, determining (2110) a combined intra- and inter-prediction (CIIP) operational state based on the determination that pairwise prediction or bicombined prediction is used, wherein the operational state is enabled or disabled, and performing further processing (2115) of the first block of video in accordance with the CIIP operational state.

[216] A FIG. 23 é um fluxograma para um método 2300 de procedimento de processamento de um vídeo. O método 2300 inclui determinar (2305), durante uma conversão entre um primeiro bloco em dados de vídeo e uma representação de bitstream do primeiro bloco, um ou mais modos codificados de um ou mais segundos blocos; determinar (2310), com base em um ou mais modos codificados de um ou mais segundos blocos, uma restrição de modo codificado do primeiro bloco; desempenhar (2315), pelo menos aplicando a restrição de modo codificado do primeiro bloco, a conversão; em que um ou mais segundos blocos compreendem pelo menos um de um bloco adjacente, um bloco não adjacente e um bloco de referência do primeiro bloco.[216] FIG. 23 is a flowchart for a method 2300 of processing a video. The method 2300 includes determining (2305), during a conversion between a first block in video data and a bitstream representation of the first block, one or more coded modes of one or more second blocks; determining (2310), based on the one or more coded modes of one or more second blocks, a coded mode constraint of the first block; performing (2315), at least by applying the coded mode constraint of the first block, the conversion; wherein the one or more second blocks comprise at least one of an adjacent block, a non-adjacent block, and a reference block of the first block.

[217] A FIG. 24 é um fluxograma para um método 2400 de procedimento de processamento de um vídeo. O método 2400 inclui desempenhar (2405) uma conversão entre um bloco atual em dados de vídeo e uma representação de bitstream do bloco atual usando pelo menos um de uma intra e interpredição combinada (CIIP), uma filtragem de difusão, uma filtragem bilateral, uma filtragem de domínio de transformada, ou outro tipo de filtragem pós- reconstrução que é diferente da filtragem de difusão, da filtragem bilateral e da filtragem do domínio de transformada, em que amostras vizinhas reconstruídas do bloco atual usadas em pelo menos uma das predições inter-intra combinadas (CIIP), a filtragem de difusão, a filtragem bilateral, a filtragem de domínio de transformada ou o outro tipo de filtragem pós-reconstrução são substituídos por amostras aproximadas geradas a partir das amostras correspondentes das amostras vizinhas reconstruídas em uma ou mais imagens de referência.[217] FIG. 24 is a flowchart for a method 2400 of processing a video. The method 2400 includes performing (2405) a conversion between a current block in video data and a bitstream representation of the current block using at least one of a combined intra-intra prediction (CIIP), a diffusion filtering, a bilateral filtering, a transform domain filtering, or another type of post-reconstruction filtering that is different from diffusion filtering, the bilateral filtering, and the transform domain filtering, wherein reconstructed neighboring samples of the current block used in at least one of the combined inter-intra prediction (CIIP), the diffusion filtering, the bilateral filtering, the transform domain filtering, or the other type of post-reconstruction filtering are replaced with approximated samples generated from the corresponding samples of the reconstructed neighboring samples in one or more reference pictures.

[218] A FIG. 25 é um fluxograma para um método 2500 de procedimento de processamento de um vídeo. O método 2500 inclui o armazenar (2505) um flag de intra e interpredição combinada (CIIP) e/ou intramodo do modo de CIIP com informações de movimento em uma tabela de predição de vetor de movimento com base em histórico (HMVP); e desempenhar, pelo menos com base na tabela HMVP, uma conversão entre um bloco atual em dados de vídeo e uma representação de bitstream do bloco atual.[218] FIG. 25 is a flowchart for a method 2500 of processing a video. The method 2500 includes storing (2505) a combined intra-interprediction (CIIP) and/or intra-mode CIIP mode flag with motion information in a history-based motion vector prediction (HMVP) table; and performing, at least based on the HMVP table, a conversion between a current block in video data and a bitstream representation of the current block.

[219] A FIG. 26 é um fluxograma para um método 2600 de procedimento de processamento de um vídeo. O método 2600 inclui determinar (2605), durante uma conversão entre um bloco atual em dados de vídeo e uma representação de bitstream do bloco atual, um modo de predição para o bloco atual; determinar (2610) a aplicabilidade de um modo combinado de intra e interpredição (CIIP) indicando que o modo de CIIP está habilitado para o bloco atual em resposta à determinação de que o bloco atual é codificado com um modo de predição de vetor de movimento avançado (AMVP) ou um modo de mescla; e desempenhar (2615), com base na aplicabilidade do modo de CIIP, a conversão.[219] FIG. 26 is a flowchart for a method 2600 of processing a video. The method 2600 includes determining (2605), during a conversion between a current block in video data and a bitstream representation of the current block, a prediction mode for the current block; determining (2610) the applicability of a combined intra-inter-prediction (CIIP) mode by indicating that the CIIP mode is enabled for the current block in response to determining that the current block is encoded with an advanced motion vector prediction (AMVP) mode or a blending mode; and performing (2615), based on the applicability of the CIIP mode, the conversion.

[220] A FIG. 27 é um fluxograma para um método 2700 de procedimento de processamento de um vídeo. O método 2700 inclui determinar (2705), durante uma conversão entre um bloco atual em dados de vídeo e uma representação de bitstream do bloco atual, um tipo de um candidato a mescla selecionado para o bloco atual; determinar (2710) a aplicabilidade da intra e interpredição combinada (CIIP) para o bloco atual de acordo com o tipo de candidato a mescla selecionado, em que o bloco atual é codificado no modo de mescla.[220] FIG. 27 is a flowchart for a method 2700 of processing a video. The method 2700 includes determining (2705), during a conversion between a current block in video data and a bitstream representation of the current block, a type of a selected blend candidate for the current block; determining (2710) the applicability of combined intra and inter prediction (CIIP) for the current block according to the selected blend candidate type, wherein the current block is encoded in blend mode.

[221] A FIG. 28 é um fluxograma para um método 2800 de procedimento de processamento de um vídeo. O método 2800 inclui a codificação (2805), durante uma conversão entre um bloco de vídeo atual em dados de vídeo e uma representação de bitstream do bloco de vídeo atual, um flag de intra e interpredição combinada (CIIP) para o bloco de vídeo atual por um modelo de contexto baseado em codificação sem referência a um flag de CIIP de um ou mais blocos de vídeo vizinhos ao bloco de vídeo atual; e desempenhar (2810), pelo menos aplicando o flag de intra e interpredição combinada (CIIP) do bloco de vídeo atual, a conversão.[221] FIG. 28 is a flowchart for a method 2800 of processing a video. The method 2800 includes encoding (2805), during a conversion between a current video block in video data and a bitstream representation of the current video block, a combined intra- and inter-prediction (CIIP) flag for the current video block by a context-based coding model without reference to a CIIP flag of one or more video blocks neighboring the current video block; and performing (2810), at least by applying the combined intra- and inter-prediction (CIIP) flag of the current video block, the conversion.

[222] A FIG. 29 é um fluxograma para um método 2900 de procedimento de processamento de um vídeo. O método 2900 inclui a codificação (2905), durante uma conversão entre um bloco de vídeo atual em dados de vídeo e uma representação de bitstream do bloco de vídeo atual, um flag de intra e interpredição combinada (CIIP) para o bloco de vídeo atual por uma codificação de desvio; e desempenhar (2910), pelo menos aplicando o flag de intra e interpredição combinada (CIIP), a conversão.[222] FIG. 29 is a flowchart for a method 2900 of processing a video. The method 2900 includes encoding (2905), during a conversion between a current video block in video data and a bitstream representation of the current video block, a combined intra and inter prediction (CIIP) flag for the current video block by a bias encoding; and performing (2910), at least by applying the combined intra and inter prediction (CIIP) flag, the conversion.

[223] A FIG. 30 é um fluxograma para um método 3000 de procedimento de processamento de um vídeo. O método 3000 inclui determinar (3005) um modo de intrapredição de um primeiro bloco de vídeo de um vídeo de acordo com uma regra, e a regra compreendendo: pular, durante um processo de derivação de modo de intrapredição do primeiro bloco de vídeo, verificar o flag de intra e intrapredição combinada (CIIP) um ou mais blocos de vídeo vizinhos ao primeiro bloco de vídeo; e desempenhar (3010), com base em pelo menos um modo de intrapredição determinado, uma conversão entre o primeiro bloco de vídeo e uma representação de bitstream do primeiro bloco de vídeo.[223] FIG. 30 is a flowchart for a method 3000 of processing a video. The method 3000 includes determining (3005) an intraprediction mode of a first video block of a video according to a rule, the rule comprising: skipping, during an intraprediction mode derivation process of the first video block, checking the combined intra and intraprediction (CIIP) flag of one or more video blocks neighboring the first video block; and performing (3010), based on the at least one determined intraprediction mode, a conversion between the first video block and a bitstream representation of the first video block.

[224] A FIG. 31 é um fluxograma para um método 3100 de procedimento de processamento de um vídeo. O método 3100 inclui determinar (3105), durante uma conversão entre um bloco de vídeo atual, que é codificado em um modo combinado de intra e interpredição (CIIP), de um vídeo e uma representação de bitstream do bloco de vídeo atual, um par de pesos compreendendo uma primeira ponderação para um primeiro resultado de predição do bloco de vídeo atual e uma segunda ponderação para um segundo resultado de predição do bloco de vídeo atual, com base em um ou mais blocos de vídeo vizinhos ao bloco de vídeo atual, em que o primeiro resultado de predição é gerado por um modo de intrapredição e o segundo resultado de predição é gerado por um modo de interpredição; e determinar (3110) um resultado de predição do bloco atual com base em uma soma ponderada do primeiro resultado de predição e do segundo resultado de predição.[224] FIG. 31 is a flowchart for a method 3100 of processing a video. The method 3100 includes determining (3105), during a conversion between a current video block, which is encoded in a combined intra- and inter-prediction (CIIP) mode, of a video and a bitstream representation of the current video block, a pair of weights comprising a first weighting for a first prediction result of the current video block and a second weighting for a second prediction result of the current video block, based on one or more video blocks neighboring the current video block, wherein the first prediction result is generated by an intra-prediction mode and the second prediction result is generated by an inter-prediction mode; and determining (3110) a prediction result of the current block based on a weighted sum of the first prediction result and the second prediction result.

[225] Com referência aos métodos 2000 e 2100, alguns exemplos de intra e interpredição combinada para codificação e seu uso são descritos na Seção 4 do presente documento. Por exemplo, como descrito na Seção 4, os blocos de vídeo podem ser processados usando de acordo com uma intra e interpredição combinada.[225] With reference to methods 2000 and 2100, some examples of combined intra- and inter-prediction for coding and their use are described in Section 4 of this document. For example, as described in Section 4, video blocks may be processed using according to a combined intra- and inter-prediction.

[226] Com referência aos métodos 2000 e 2100, um bloco de vídeo pode ser codificado no bitstream de vídeo em que a eficiência de bits pode ser alcançada usando uma regra de geração de bitstream relacionada uma intra e interpredição combinada.[226] Referring to methods 2000 and 2100, a video block may be encoded into the video bitstream where bit efficiency may be achieved using a bitstream generation rule related to combined intra and inter prediction.

[227] Os métodos podem incluir em que um ou mais flags incluem um flag de intra e interpredição combinada (CIIP), um flag de compensação de iluminação local (LIC), um flag de filtragem de difusão, um flag de filtragem bilateral, um flag de filtro de domínio de transformada ou outro tipo de flag de filtro pós-reconstrução.[227] The methods may include wherein one or more flags include a combined intra and inter prediction (CIIP) flag, a local illumination compensation (LIC) flag, a diffusion filtering flag, a bilateral filtering flag, a transform domain filter flag, or another type of post-reconstruction filter flag.

[228] Os métodos podem incluir em que um ou mais flags incluem um primeiro flag relacionado a uma primeira operação, o primeiro flag é derivado para ser falso e a primeira operação não é aplicada.[228] The methods may include wherein one or more flags include a first flag related to a first operation, the first flag is derived to be false, and the first operation is not applied.

[229] Os métodos podem incluir em que o uso da primeira operação é sinalizado para ser pulado.[229] Methods may include where the use of the first operation is signaled to be skipped.

[230] Os métodos podem incluir em que o uso da primeira operação é sinalizado para ser restrito a ser falso em um bitstream de conformidade.[230] Methods may include wherein the use of the first operation is flagged to be restricted to be false in a conforming bitstream.

[231] Os métodos podem incluir em que o primeiro bloco de vídeo está dentro de uma linha ou coluna vizinha em relação ao segundo bloco de vídeo.[231] The methods may include wherein the first video block is within a neighboring row or column relative to the second video block.

[232] Os métodos podem incluir em que a linha vizinha inclui uma linha acima ou uma linha acima à direita.[232] Methods may include where the neighboring line includes a line above or a line above to the right.

[233] Os métodos podem incluir em que a coluna vizinha inclui uma coluna à esquerda, uma coluna abaixo à esquerda ou uma coluna de canto acima à esquerda.[233] Methods may include where the neighboring column includes a column to the left, a column below the left, or a corner column above the left.

[234] Os métodos podem incluir em que o modo codificado inclui intramodo, modo de CIIP ou modo CPR.[234] The methods may include wherein the encoded mode includes intramode, CIIP mode, or CPR mode.

[235] Os métodos podem incluir a determinação de uma posição do segundo bloco de vídeo e em que restringir uma ou mais flags ao estado falso também se baseia na determinação da posição do segundo bloco de vídeo.[235] The methods may include determining a position of the second video block and wherein constraining one or more flags to the false state is also based on determining the position of the second video block.

[236] Os métodos podem incluir em que a posição está no topo de uma unidade de árvore de codificação atual (CTU) e um bloco vizinho acima do segundo bloco de vídeo está dentro de uma CTU diferente.[236] Methods may include wherein the position is at the top of a current coding tree unit (CTU) and a neighboring block above the second video block is within a different CTU.

[237] Os métodos podem incluir em que a posição está no lado esquerdo de uma unidade de árvore de codificação atual (CTU) e um bloco vizinho à esquerda do segundo bloco de vídeo está dentro de uma CTU diferente.[237] Methods may include wherein the position is on the left side of a current coding tree unit (CTU) and a left neighboring block of the second video block is within a different CTU.

[238] Os métodos podem incluir em que um ou mais flags incluem um flag de CIIP ou um intramodo do flag de modo de CIIP e os dados relacionados a um ou mais flags são armazenados com informações de movimento em uma tabela de predição de vetor de movimento baseada em histórico (HMVP).[238] The methods may include wherein the one or more flags include a CIIP flag or an intra-mode CIIP mode flag and data related to the one or more flags is stored with motion information in a history-based motion vector prediction (HMVP) table.

[239] Os métodos podem incluir a comparação de informações de movimento de dois candidatos, e em que o flag de CIIP ou o flag de modo de CIIP intra modo não são usados na comparação das informações de movimento.[239] The methods may include comparing motion information of two candidates, and wherein the CIIP flag or the intra-mode CIIP mode flag is not used in comparing the motion information.

[240] Os métodos podem incluir a comparação de informações de movimento de dois candidatos, e em que o flag de CIIP ou o flag de modo de CIIP intra modo são usados na comparação das informações de movimento.[240] The methods may include comparing motion information of two candidates, and wherein the CIIP flag or the intra-mode CIIP mode flag is used in comparing the motion information.

[241] Os métodos podem incluir determinar que um candidato a mescla é de uma entrada na tabela HMVP; e copiar um flag de CIIP da entrada para o candidato a mescla.[241] The methods may include determining that a merge candidate is from an entry in the HMVP table; and copying a CIIP flag from the entry to the merge candidate.

[242] Os métodos podem incluir determinar que um candidato a mescla é de uma entrada na tabela HMVP; e copiar um flag de CIIP e um intramodo da entrada para o candidato a mescla.[242] The methods may include determining that a merge candidate is from an entry in the HMVP table; and copying a CIIP flag and an intramode from the entry to the merge candidate.

[243] Os métodos podem incluir em que um flag de um ou mais flags está relacionado ao CIIP e o CIIP é desempenhado para predição de vetor de movimento avançada (AMVP).[243] The methods may include wherein a flag of one or more flags is related to the CIIP and the CIIP is performed for advanced motion vector prediction (AMVP).

[244] Os métodos podem incluir em que um flag de CIIP e um flag intra modo são sinalizados para o modo AMVP.[244] Methods may include wherein a CIIP flag and an intra mode flag are signaled for AMVP mode.

[245] Os métodos podem incluir em que um flag de CIIP é herdado no modo de mescla ou modo UMVE, o flag de CIIP inclui um estado operacional verdadeiro, mais de um intramodo são permitidos no CIIP e um intramodo é sinalizado com base em mais de um intra modo permitido no CIIP.[245] Methods may include where a CIIP flag is inherited in merge mode or UMVE mode, the CIIP flag includes a true operational state, more than one intramode is allowed in the CIIP, and an intramode is signaled based on more than one intramode being allowed in the CIIP.

[246] Os métodos podem incluir em que um flag de CIIP e um intramodo de blocos de vídeo vizinhos ou não adjacentes no modo de mescla ou modo UMVE são herdados pelo segundo bloco de vídeo.[246] Methods may include wherein a CIIP flag and an intramode of neighboring or non-adjacent video blocks in blend mode or UMVE mode are inherited by the second video block.

[247] Os métodos podem incluir em que o CIIP está desativado para o modo de salto.[247] Methods may include wherein the CIIP is disabled for hopping mode.

[248] Os métodos podem incluir a comparação de informações relacionadas a dois candidatos, e em que o flag de CIIP ou o flag de modo de CIIP intra não são usados na comparação das informações.[248] The methods may include comparing information related to two candidates, and wherein the CIIP flag or the intra CIIP mode flag is not used in comparing the information.

[249] Os métodos podem incluir a comparação de informações relacionadas a dois candidatos, e em que o flag de CIIP ou o flag de modo de CIIP intramodo são usados na comparação das informações.[249] The methods may include comparing information related to two candidates, and wherein the CIIP flag or the intra-mode CIIP mode flag is used in comparing the information.

[250] Os métodos podem incluir em que um ou mais candidatos envolvidos na predição em par ou predição bicombinada adotam a predição de CIIP e em que o estado operacional é ativado.[250] The methods may include wherein one or more candidates involved in the pairwise prediction or bicombined prediction adopt the CIIP prediction and wherein the operational state is activated.

[251] Os métodos podem incluir em que o intramodo de um dos dois candidatos é herdado.[251] Methods may include where the intramode of one of the two candidates is inherited.

[252] Os métodos podem incluir em que o intramodo é sinalizado.[252] Methods may include where the intramode is signaled.

[253] Os métodos podem incluir em que dois candidatos estão envolvidos na predição em par ou predição bicombinada.[253] Methods may include where two candidates are involved in pairwise prediction or bicombined prediction.

[254] Os métodos podem incluir em que amostras reconstruídas usadas no modo de CIIP, um filtro de difusão, um filtro bilateral, um filtro de domínio de transformada ou outros tipos de filtros pós-reconstrução são substituídos por amostras em imagens de referência.[254] Methods may include wherein reconstructed samples used in CIIP mode, a diffusion filter, a bilateral filter, a transform domain filter, or other types of post-reconstruction filters are replaced with samples in reference images.

[255] Os métodos podem incluir em que o segundo bloco de vídeo é bipredito e amostras vizinhas de dois blocos de referência são calculadas para gerar amostras vizinhas finais.[255] The methods may include wherein the second video block is bipredicted and neighboring samples from two reference blocks are averaged to generate final neighboring samples.

[256] Os métodos podem incluir em que o segundo bloco de vídeo é bipredito e amostras vizinhas de dois blocos de referência são usadas como amostras vizinhas finais.[256] The methods may include wherein the second video block is bipredicted and neighboring samples from two reference blocks are used as final neighboring samples.

[257] Os métodos podem incluir em que o segundo bloco de vídeo é bipredito e as amostras vizinhas de dois blocos de referência são ponderadas em média para gerar amostras vizinhas finais com base na bipredição generalizada de ponderações desiguais (GBI) ou predição ponderada LIC são aplicadas ao segundo bloco de vídeo.[257] The methods may include wherein the second video block is bipredicted and neighboring samples from two reference blocks are averaged weighted to generate final neighboring samples based on generalized unequal weighted biprediction (GBI) or LIC weighted prediction are applied to the second video block.

[258] Os métodos podem incluir em que as amostras em imagens de referência são identificadas por informações de movimento do segundo bloco de vídeo.[258] The methods may include wherein samples in reference images are identified by motion information from the second video block.

[259] Os métodos podem incluir em que as amostras em imagens de referência são identificadas por informações de movimento do segundo bloco de vídeo.[259] The methods may include wherein samples in reference images are identified by motion information from the second video block.

[260] Os métodos podem incluir em que um vetor de movimento é arredondado para precisão inteira e usado para identificar as amostras.[260] Methods may include wherein a motion vector is rounded to integer precision and used to identify samples.

[261] Os métodos podem incluir em que as amostras estão em imagens de referência que são identificadas por vetores de movimento em precisão de número inteiro pel.[261] The methods may include wherein the samples are in reference images that are identified by motion vectors in integer precision pel.

[262] Os métodos podem incluir a determinação de características do segundo bloco de vídeo, as características incluem um ou mais de um tamanho de bloco, um tipo de fatia, um tipo de imagem, um tipo de ladrilhos ou informações de movimento e em que a restrição do estado operacional é baseada na determinação das características.[262] The methods may include determining characteristics of the second video block, the characteristics including one or more of a block size, a slice type, an image type, a tile type, or motion information, and wherein the constraint of the operational state is based on the determination of the characteristics.

[263] Os métodos podem incluir em que os métodos são sinalizados em um conjunto de parâmetros de sequência (SPS), um conjunto de parâmetros de vídeo (VPS), um conjunto de parâmetros de imagem (PPS), um cabeçalho de sequência, um cabeçalho de imagem, um cabeçalho de fatia, um cabeçalho de grupo de ladrilhos, um ladrilho ou um grupo de CTUs.[263] The methods may include wherein the methods are signaled in a sequence parameter set (SPS), a video parameter set (VPS), a picture parameter set (PPS), a sequence header, a picture header, a slice header, a tile group header, a tile, or a group of CTUs.

[264] A seguinte lista de soluções prove adicionalmente modalidades e variações para os itens listados na seção anterior (por exemplo, itens 11 a 16).[264] The following list of solutions additionally provides embodiments and variations for the items listed in the previous section (e.g., items 11 through 16).

[265] 40. Um método de processamento de vídeo compreendendo: desempenhar uma conversão entre um bloco de vídeo de um vídeo e uma representação codificada do bloco de vídeo usando um modo combinado de intra e interpredição em que a representação codificada corresponde a uma média ponderada de resultados de intra e interpredição do bloco de vídeo usando um par de pesos de um conjunto de pares de pesos em que menos de três pares estão incluídos.[265] 40. A video processing method comprising: performing a conversion between a video block of a video and an encoded representation of the video block using a combined intra- and inter-prediction mode wherein the encoded representation corresponds to a weighted average of intra- and inter-prediction results of the video block using a pair of weights from a set of weight pairs in which less than three pairs are included.

[266] 41. O método da solução 40, em que o conjunto de pares de pesos corresponde a dois pares.[266] 41. The solution method 40, in which the set of weight pairs corresponds to two pairs.

[267] 42. O método de qualquer uma das soluções 40-41, em que os pares de pesos são determinados com base em um único bloco vizinho.[267] 42. The method of any of solutions 40-41, in which the weight pairs are determined based on a single neighboring block.

[268] 43. O método de qualquer uma das soluções 40-41, em que os pares de pesos são determinados com base em vários blocos vizinhos.[268] 43. The method of any of solutions 40-41, in which the weight pairs are determined based on several neighboring blocks.

[269] 44. O método da solução 40, em que o conjunto de pares de pesos inclui exatamente um par.[269] 44. The method of solution 40, in which the set of weight pairs includes exactly one pair.

[270] 45. O método da solução 44, em que o par é um dentre (1,3) ou (2, 2) ou (1,7) ou (2, 6) ou (3, 5) ou (4, 4).[270] 45. The method of solution 44, where the pair is one of (1,3) or (2, 2) or (1,7) or (2, 6) or (3, 5) or (4, 4).

[271] 46. Um método de processamento de vídeo compreendendo: desempenhar uma conversão entre um bloco de vídeo de um vídeo e uma representação codificada do bloco de vídeo usando um modo combinado de intra e interpredição em que a representação codificada corresponde a uma média ponderada de resultados de intra e interpredição do bloco de vídeo usando um par de pesos de um conjunto de pares de pesos determinados devido as informações de codificação de um ou mais blocos vizinhos.[271] 46. A video processing method comprising: performing a conversion between a video block of a video and an encoded representation of the video block using a combined intra- and inter-prediction mode wherein the encoded representation corresponds to a weighted average of intra- and inter-prediction results of the video block using a pair of weights from a set of pairs of weights determined due to the encoding information of one or more neighboring blocks.

[272] 47. O método da solução 46, em que o conjunto de pares de pesos é determinado devido a exatamente um bloco vizinho.[272] 47. The solution method 46, in which the set of weight pairs is determined due to exactly one neighboring block.

[273] 48. O método da solução 46, em que o conjunto de pares de pesos é determinado devido a dois ou mais blocos vizinhos.[273] 48. The solution method 46, in which the set of weight pairs is determined due to two or more neighboring blocks.

[274] 49. O método de qualquer uma das soluções 40 a 48, em que a conversão inclui codificar o vídeo para gerar a representação codificada.[274] 49. The method of any of solutions 40 to 48, wherein the conversion includes encoding the video to generate the encoded representation.

[275] 50. O método de qualquer uma das soluções 40-48, em que a conversão inclui a decodificação da representação codificada para gerar o vídeo.[275] 50. The method of any of solutions 40-48, wherein the conversion includes decoding the encoded representation to generate the video.

[276] Várias outras modalidades e recursos adicionais desses métodos podem ser descritos usando a seguinte recitação baseada em cláusula.[276] Several other modalities and additional features of these methods can be described using the following clause-based recitation.

[277] 1. Um método para processamento de vídeo, compreendendo: determinar, durante uma conversão entre um primeiro bloco em dados de vídeo e uma representação de bitstream do primeiro bloco, um ou mais modos codificados de um ou mais segundos blocos; determinar, com base em um ou mais modos codificados de um ou mais segundos blocos, uma restrição de modo codificado do primeiro bloco; e desempenhar, pelo menos aplicando a restrição de modo codificado do primeiro bloco, a conversão; em que um ou mais segundos blocos compreendem pelo menos um de um bloco adjacente, um bloco não adjacente e um bloco de referência do primeiro bloco.[277] 1. A method for video processing, comprising: determining, during a conversion between a first block in video data and a bitstream representation of the first block, one or more coded modes of one or more second blocks; determining, based on the one or more coded modes of one or more second blocks, a coded mode constraint of the first block; and performing, at least by applying the coded mode constraint of the first block, the conversion; wherein the one or more second blocks comprise at least one of an adjacent block, a non-adjacent block, and a reference block of the first block.

[278] 2. O método da cláusula 1, em que a determinação de uma restrição de modo codificado do primeiro bloco compreende: determinar, com base em um ou mais modos codificados de um ou mais segundos blocos, um ou mais flags que correspondem a um ou mais modos codificados do primeiro bloco, respectivamente.[278] 2. The method of clause 1, wherein determining a coded mode restriction of the first block comprises: determining, based on one or more coded modes of one or more second blocks, one or more flags that correspond to one or more coded modes of the first block, respectively.

[279] 3. O método da cláusula 2, em que um ou mais modos codificados compreendem: um modo combinado de intra e interpredição (CIIP), um modo de compensação de iluminação local (LIC), um modo de filtragem de difusão, um modo de filtragem bilateral, um modo de filtragem de domínio de transformada ou um modo de filtragem pós-reconstrução que é diferente da filtragem de difusão modo, o modo de filtragem bilateral e o modo de filtragem de domínio de transformada.[279] 3. The method of clause 2, wherein the one or more coded modes comprise: a combined intra- and inter-prediction (CIIP) mode, a local illumination compensation (LIC) mode, a diffusion filtering mode, a bilateral filtering mode, a transform domain filtering mode, or a post-reconstruction filtering mode that is different from the diffusion filtering mode, the bilateral filtering mode, and the transform domain filtering mode.

[280] 4. O método de qualquer uma das cláusulas 2-3, em que a restrição de modo codificado do primeiro bloco compreende: um primeiro modo codificado entre um ou mais modos codificados do primeiro bloco é desabilitado, quando um primeiro flag correspondente ao primeiro modo codificado é derivado para ser falso.[280] 4. The method of any of clauses 2-3, wherein the first block coded mode restriction comprises: a first coded mode among one or more coded modes of the first block is disabled, when a first flag corresponding to the first coded mode is derived to be false.

[281] 5. O método de qualquer uma das cláusulas 2-4, em que a restrição de modo codificado do primeiro bloco compreende: informações indicando se um segundo modo codificado entre os um ou mais modos codificados do primeiro bloco está habilitado não é sinalizada, quando um segundo flag correspondente ao segundo modo codificado é derivado para ser falso.[281] 5. The method of any one of clauses 2-4, wherein the coded mode restriction of the first block comprises: information indicating whether a second coded mode among the one or more coded modes of the first block is enabled is not flagged, when a second flag corresponding to the second coded mode is derived to be false.

[282] 6. O método de qualquer uma das cláusulas 2-5, em que a restrição de modo codificado do primeiro bloco compreende: informações indicando se um terceiro modo codificado entre os um ou mais modos codificados do primeiro bloco está habilitado é sinalizada e restrita a ser falsa em um bitstream de conformidade, quando um terceiro flag correspondente ao terceiro modo codificado é derivado para ser falso.[282] 6. The method of any one of clauses 2-5, wherein the first block coded mode restriction comprises: information indicating whether a third coded mode among the one or more coded modes of the first block is enabled is flagged and restricted to be false in a compliance bitstream, when a third flag corresponding to the third coded mode is derived to be false.

[283] 7. O método de qualquer uma das cláusulas 1 a 6 compreendendo adicionalmente: determinar se deve ser aplicada a restrição de modo codificado do primeiro bloco.[283] 7. The method of any one of clauses 1 through 6 further comprising: determining whether the coded mode restriction of the first block should be applied.

[284] 8. O método da cláusula 7, em que determinar se deve ser aplicada a restrição de modo codificado do primeiro bloco compreende: determinar se deve ser aplicada a restrição de modo codificado do primeiro bloco de acordo com os modos codificados de linhas ou colunas vizinhas do primeiro bloco.[284] 8. The method of clause 7, wherein determining whether to apply the coded mode restriction of the first block comprises: determining whether to apply the coded mode restriction of the first block according to the coded modes of neighboring rows or columns of the first block.

[285] 9. O método da cláusula 7, em que determinar se deve ser aplicada a restrição de modo codificado do primeiro bloco compreende: determinar se deve ser aplicada a restrição de modo codificado do primeiro bloco de acordo com pelo menos N amostras em linhas vizinhas ou colunas vizinhas do primeiro bloco que não são codificadas com um quarto modo, e N>1.[285] 9. The method of clause 7, wherein determining whether to apply the first block coded mode restriction comprises: determining whether to apply the first block coded mode restriction according to at least N samples in neighboring rows or neighboring columns of the first block that are not coded with a fourth mode, and N>1.

[286] 10. O método da cláusula 8 ou 9, em que a linha vizinha compreende uma linha acima e uma linha acima à direita do primeiro bloco.[286] 10. The method of clause 8 or 9, in which the neighbouring line comprises one line above and one line above to the right of the first block.

[287] 11. O método de qualquer uma das cláusulas 8 a 10, em que a coluna vizinha compreende uma coluna à esquerda, uma coluna abaixo à esquerda e uma coluna de canto acima à esquerda do primeiro bloco.[287] 11. The method of any of clauses 8 to 10, wherein the neighbouring column comprises a column to the left, a column below the left and a corner column above the left of the first block.

[288] 12. O método de qualquer uma das cláusulas 7 a 11, em que determinar se deve ser aplicada a restrição de modo codificado do primeiro bloco compreende: determinar a restrição de modo codificado do primeiro bloco deve ser aplicada quando qualquer bloco vizinho não adjacente é codificado com um quarto modo.[288] 12. The method of any one of clauses 7 through 11, wherein determining whether the first block coded mode restriction should be applied comprises: determining whether the first block coded mode restriction should be applied when any non-adjacent neighboring block is coded with a fourth mode.

[289] 13. O método de qualquer uma das cláusulas 7 a 11, em que determinar se deve ser aplicada a restrição de modo codificado do primeiro bloco compreende: determinar a restrição do modo codificado do primeiro bloco deve ser aplicada quando todos os blocos não adjacentes vizinhos são codificados com um quarto modo.[289] 13. The method of any one of clauses 7 through 11, wherein determining whether the first block coded mode restriction should be applied comprises: determining whether the first block coded mode restriction should be applied when all neighboring non-adjacent blocks are coded with a fourth mode.

[290] 14. O método de qualquer uma das cláusulas 7 a 11, em que determinar se deve ser aplicada a restrição de modo codificado do primeiro bloco compreende: determinar a restrição de modo codificado do primeiro bloco não deve ser aplicada quando pelo menos M blocos vizinhos não adjacentes não são codificados com um quarto modo, e M é um primeiro limiar predefinido.[290] 14. The method of any one of clauses 7 through 11, wherein determining whether the first block coded mode restriction should be applied comprises: determining the first block coded mode restriction should not be applied when at least M non-adjacent neighboring blocks are not coded with a fourth mode, and M is a first predefined threshold.

[291] 15. O método de qualquer uma das cláusulas 9 a 14, em que o quarto modo codificado compreende pelo menos um de um modo intrapredição, um modo combinado de intra e interpredição (CIIP), e uma modo de referência de imagem atual (CPR).[291] 15. The method of any one of clauses 9 to 14, wherein the fourth encoded mode comprises at least one of an intra-prediction mode, a combined intra- and inter-prediction (CIIP) mode, and a current image reference (CPR) mode.

[292] 16. O método de qualquer uma das cláusulas 7 a 14, em que determinar se deve ser aplicada a restrição de modo codificado do primeiro bloco compreende: determinar se deve ser aplicada a restrição de modo codificado do primeiro bloco de acordo com uma posição do primeiro bloco.[292] 16. The method of any one of clauses 7 to 14, wherein determining whether to apply the first block coded mode restriction comprises: determining whether to apply the first block coded mode restriction according to a position of the first block.

[293] 17. O método da cláusula 16, em que determinar se deve ser aplicada a restrição de modo codificado do primeiro bloco de acordo com uma posição do primeiro bloco compreende: determinar a restrição do modo codificado do primeiro bloco não deve ser aplicada quando a posição está no topo de uma unidade de árvore de codificação (CTU) atual e um bloco vizinho acima e o primeiro bloco pertencem a diferentes CTUs.[293] 17. The method of clause 16, wherein determining whether the first block coded mode restriction should be applied according to a position of the first block comprises: determining the first block coded mode restriction should not be applied when the position is at the top of a current coding tree unit (CTU) and a neighboring block above and the first block belong to different CTUs.

[294] 18. O método da cláusula 16, em que determinar se deve ser aplicada a restrição de modo codificado do primeiro bloco de acordo com uma posição do primeiro bloco compreende: determinar a restrição de modo codificado do primeiro bloco não deve ser aplicada quando a posição está à esquerda de uma unidade de árvore de codificação atual (CTU) e um bloco vizinho à esquerda e o primeiro bloco pertencem a diferentes CTUs.[294] 18. The method of clause 16, wherein determining whether the first block coded mode restriction should be applied according to a position of the first block comprises: determining the first block coded mode restriction should not be applied when the position is to the left of a current coding tree unit (CTU) and a neighboring block to the left and the first block belong to different CTUs.

[295] 19. O método de qualquer uma das cláusulas 1 a 18 compreendendo adicionalmente: determinar a característica do bloco atual; e determinar a aplicação da restrição de modo codificado do bloco atual quando a característica do bloco atual satisfizer uma condição predefinida.[295] 19. The method of any one of clauses 1 through 18 further comprising: determining the characteristic of the current block; and determining the application of the coded mode restriction of the current block when the characteristic of the current block satisfies a predefined condition.

[296] 20. O método de qualquer uma das cláusulas 1 a 18 compreendendo adicionalmente: determinar características do bloco atual e/ou blocos codificados anteriormente; e determinar se deve ser aplicada a restrição de modo codificado do bloco atual de acordo com as características do bloco atual e/ou blocos codificados anteriormente[296] 20. The method of any one of clauses 1 to 18 further comprising: determining characteristics of the current block and/or previously encoded blocks; and determining whether to apply the coded mode restriction of the current block in accordance with the characteristics of the current block and/or previously encoded blocks.

[297] 21. Um método para processamento de vídeo, compreendendo: desempenhar uma conversão entre um bloco atual em dados de vídeo e uma representação de bitstream do bloco atual usando pelo menos um dentre uma intra e interpredição combinada (CIIP), uma filtragem de difusão, uma filtragem bilateral, uma filtragem de domínio de transformada ou outra tipo de filtragem pós-reconstrução que é diferente da filtragem de difusão, a filtragem bilateral e a filtragem de domínio de transformada, em que amostras vizinhas reconstruídas do bloco de corrente usado em pelo menos um dentre a intra e interpredição combinada (CIIP), a filtragem de difusão, a filtragem bilateral, a filtragem de domínio de transformada ou o outro tipo de filtragem pós-reconstrução são substituídas por aproximadas amostras geradas a partir das amostras correspondentes das amostras vizinhas reconstruídas em uma ou mais imagens de referência.[297] 21. A method for video processing, comprising: performing a conversion between a current block in video data and a bitstream representation of the current block using at least one of a combined intra- and inter-prediction (CIIP), a diffusion filtering, a bilateral filtering, a transform domain filtering, or another type of post-reconstruction filtering that is different from the diffusion filtering, the bilateral filtering, and the transform domain filtering, wherein reconstructed neighboring samples of the current block used in at least one of the combined intra- and inter-prediction (CIIP), the diffusion filtering, the bilateral filtering, the transform domain filtering, or the other type of post-reconstruction filtering are replaced by approximated samples generated from the corresponding samples of the reconstructed neighboring samples in one or more reference pictures.

[298] 22. O método da cláusula 21, em que amostras vizinhas de dois blocos de referência do bloco atual são calculadas em média para gerar as amostras aproximadas quando o bloco atual é bipredito.[298] 22. The method of clause 21, wherein neighboring samples from two reference blocks of the current block are averaged to generate the approximate samples when the current block is bipredicted.

[299] 23. O método da cláusula 21, em que amostras vizinhas de um bloco de referência do bloco atual são usadas como as amostras aproximadas quando o bloco atual é bipredito ou uni-predito.[299] 23. The method of clause 21, wherein neighboring samples of a reference block of the current block are used as the approximate samples when the current block is bi-predicted or uni-predicted.

[300] 24. O método da cláusula 21, em que amostras vizinhas de dois blocos de referência do bloco atual são ponderadas em média para gerar as amostras aproximadas quando o bloco atual é bipredito e pelo menos um de uma bipredição generalizada de ponderações desiguais (GBI), uma predição ponderada e uma compensação de iluminação local (LIC) são aplicadas ao bloco atual.[300] 24. The method of clause 21, wherein neighboring samples from two reference blocks of the current block are averaged to generate the approximated samples when the current block is bipredicted and at least one of a generalized unequal-weighted biprediction (GBI), a weighted prediction, and a local illumination compensation (LIC) are applied to the current block.

[301] 25. O método da cláusula 22 a 24, em que as amostras vizinhas dos blocos de referência do bloco atual são identificadas por informações de movimento do bloco atual.[301] 25. The method of clauses 22 to 24, wherein neighboring samples of reference blocks of the current block are identified by motion information of the current block.

[302] 26. O método da cláusula 22 a 24, em que as amostras vizinhas dos blocos de referência do bloco atual são identificadas por informações de movimento modificadas do bloco atual.[302] 26. The method of clauses 22 to 24, wherein neighboring samples of reference blocks of the current block are identified by modified motion information of the current block.

[303] 27. O método da cláusula 24, em que as informações de movimento modificadas do bloco atual são um vetor de movimento modificado que é arredondado para uma precisão inteira.[303] 27. The method of clause 24, wherein the modified motion information of the current block is a modified motion vector that is rounded to integer precision.

[304] 28. O método da cláusula 21, em que as amostras vizinhas dos blocos de referência do bloco atual são identificadas por vetores de movimento com precisão pel de número inteiro.[304] 28. The method of clause 21, wherein neighboring samples of the reference blocks of the current block are identified by motion vectors with integer precision pel.

[305] 29. O método da cláusula 28, em que os vetores de movimento das amostras vizinhas reconstruídas são arredondados para uma precisão inteira, de modo a identificar as amostras correspondentes.[305] 29. The method of clause 28, wherein the motion vectors of the reconstructed neighboring samples are rounded to integer precision so as to identify the corresponding samples.

[306] 30. O método de qualquer uma das cláusulas 21 a 29, em que as amostras vizinhas reconstruídas do bloco atual são substituídas pelas amostras aproximadas apenas quando o bloco atual é codificado com precisão de número inteiro pel.[306] 30. The method of any one of clauses 21 through 29, wherein the reconstructed neighboring samples of the current block are replaced by the approximated samples only when the current block is encoded with integer precision pel.

[307] 31. O método de qualquer uma das cláusulas 21 a 30, em que amostras vizinhas reconstruídas do bloco atual são substituídas pelas amostras aproximadas para o componente luma ou componente croma apenas.[307] 31. The method of any one of clauses 21 through 30, wherein reconstructed neighboring samples of the current block are replaced by the approximated samples for the luma component or chroma component only.

[308] 32. O método de qualquer uma das cláusulas 19 a 31 compreendendo adicionalmente: determinar a característica do bloco atual; e determinar a substituição das amostras vizinhas reconstruídas pelas amostras aproximadas quando a característica do bloco atual satisfizer uma condição predefinida.[308] 32. The method of any one of clauses 19 to 31 further comprising: determining the characteristic of the current block; and determining the replacement of the reconstructed neighboring samples by the approximated samples when the characteristic of the current block satisfies a predefined condition.

[309] 33. O método da cláusula 19 ou 32, em que a característica do bloco atual compreende pelo menos um dentre um tamanho de bloco, um tipo de fatia, um tipo de imagem, um tipo de ladrilho e informações de movimento.[309] 33. The method of clause 19 or 32, wherein the current block feature comprises at least one of a block size, a slice type, an image type, a tile type, and motion information.

[310] 34. O método da cláusula 33, em que a condição predefinida é que o bloco atual contém amostras não menores do que um segundo limiar predefinido.[310] 34. The method of clause 33, where the predefined condition is that the current block contains samples no smaller than a second predefined threshold.

[311] 35. O método da cláusula 33, em que a condição predefinida é que uma largura e uma altura do bloco atual sejam maiores do que um terceiro limiar predefinido.[311] 35. The method of clause 33, where the predefined condition is that a width and a height of the current block are greater than a third predefined threshold.

[312] 36. O método da cláusula 33, em que a condição predefinida é que uma largura e uma altura do bloco atual sejam menores do que um quarto limiar predefinido.[312] 36. The method of clause 33, where the predefined condition is that a width and a height of the current block are less than a fourth predefined threshold.

[313] 37. O método da cláusula 33, em que a condição predefinida é que uma largura do bloco atual é menor do que um quinto limiar predefinido e/ou uma altura do bloco atual é menor do que um sexto limiar predefinido.[313] 37. The method of clause 33, where the predefined condition is that a width of the current block is less than a fifth predefined threshold and/or a height of the current block is less than a sixth predefined threshold.

[314] 38. O método da cláusula 33, em que a condição predefinida é que uma largura do bloco atual é maior do que um sétimo limiar predefinido e/ou uma altura do bloco atual é maior do que um oitavo limiar predefinido.[314] 38. The method of clause 33, where the predefined condition is that a width of the current block is greater than a seventh predefined threshold and/or a height of the current block is greater than an eighth predefined threshold.

[315] 39. O método da cláusula 38, em que informações que indicam se deve ser aplicada a restrição de modo codificado do bloco atual e/ou substituir as amostras vizinhas reconstruídas com as amostras aproximadas em um conjunto de parâmetros de sequência (SPS), em um conjunto de parâmetros de visualização (VPS), um conjunto de parâmetros de imagem (PPS), um cabeçalho de sequência, um cabeçalho de imagem, um cabeçalho de fatia, um cabeçalho de grupo de ladrilhos, um ladrilho ou um grupo de CTUs é sinalizado.[315] 39. The method of clause 38, wherein information indicating whether to apply the coded mode constraint of the current block and/or replace the reconstructed neighboring samples with the approximated samples in a sequence parameter set (SPS), a view parameter set (VPS), an image parameter set (PPS), a sequence header, an image header, a slice header, a tile group header, a tile, or a group of CTUs is signaled.

[316] 40. O método de qualquer uma das cláusulas 21 a 39 compreendendo adicionalmente: determinar características do bloco atual e/ou blocos codificados anteriormente; e determinar se as amostras vizinhas reconstruídas devem ser substituídas pelas amostras aproximadas de acordo com as características do bloco atual e/ou blocos codificados anteriormente.[316] 40. The method of any one of clauses 21 to 39 further comprising: determining characteristics of the current block and/or previously coded blocks; and determining whether the reconstructed neighboring samples should be replaced by the approximated samples according to the characteristics of the current block and/or previously coded blocks.

[317] 41. O método da cláusula 20 ou 40, em que as características do bloco atual e/ou blocos codificados anteriormente compreendem pelo menos um dentre uma dimensão de bloco, uma unidade de processamento de dados de vídeo (VPDU), um tipo de imagem, um flag de verificação de baixo atraso, informações codificadas do bloco atual e/ou dos blocos previamente codificados.[317] 41. The method of clause 20 or 40, wherein the characteristics of the current block and/or previously encoded blocks comprise at least one of a block dimension, a video data processing unit (VPDU), a picture type, a low delay check flag, encoded information of the current block and/or previously encoded blocks.

[318] 42. O método da cláusula 41, em que as informações codificadas do bloco atual e/ou dos blocos codificados anteriormente indica imagens de referência, uma uni-predição ou uma bipredição.[318] 42. The method of clause 41, wherein the coded information of the current block and/or previously coded blocks indicates reference pictures, a uni-prediction or a bi-prediction.

[319] 43. Um aparelho de processamento de vídeo compreendendo um processador configurado para implementar um método recitado em qualquer uma ou mais das cláusulas 1 a 42.[319] 43. A video processing apparatus comprising a processor configured to implement a method recited in any one or more of clauses 1 to 42.

[320] 44. O aparelho da cláusula 43, em que o aparelho é um codificador de vídeo.[320] 44. The apparatus of clause 43, where the apparatus is a video encoder.

[321] 45. O aparelho da cláusula 43, em que o aparelho é um decodificador de vídeo.[321] 45. The apparatus of clause 43, where the apparatus is a video set-top box.

[322] 46. Uma mídia de recodificação legível por computador na qual um programa compreendendo código é gravado, o programa é para um processador para realizar um método recitado em qualquer uma das cláusulas 1 a 42.[322] 46. A computer-readable recoding medium on which a program comprising code is recorded, the program being for a processor to perform a method recited in any one of clauses 1 to 42.

[323] Várias outras modalidades e recursos adicionais desses métodos podem ser descritos usando a seguinte recitação baseada em cláusula.[323] Several other modalities and additional features of these methods can be described using the following clause-based recitation.

[324] 1. Um método para processamento de vídeo, compreendendo: armazenar um flag de intra e interpredição combinada (CIIP) e/ou modo intra do modo de CIIP com informações de movimento em uma tabela de predição de vetor de movimento com base em histórico (HMVP); e desempenhar, pelo menos com base na tabela HMVP, uma conversão entre um bloco atual em dados de vídeo e uma representação de bitstream do bloco atual.[324] 1. A method for video processing, comprising: storing a combined intra and inter prediction (CIIP) flag and/or intra mode of the CIIP mode with motion information in a history-based motion vector prediction (HMVP) table; and performing, at least based on the HMVP table, a conversion between a current block in video data and a bitstream representation of the current block.

[325] 2. O método da cláusula 1 compreendendo, adicionalmente: comparar informações de movimento de dois candidatos, em que o flag de CIIP e/ou o intramodo do modo de CIIP não são usados na comparação das informações de movimento de dois candidatos.[325] 2. The method of clause 1 further comprising: comparing motion information of two candidates, wherein the CIIP flag and/or the CIIP mode intramode are not used in comparing the motion information of two candidates.

[326] 3. O método da cláusula 1 compreendendo, adicionalmente: comparar informações de movimento de dois candidatos, em que o flag de CIIP e/ou o intramodo do modo de CIIP são usados na comparação das informações de movimento de dois candidatos.[326] 3. The method of clause 1 further comprising: comparing motion information of two candidates, wherein the CIIP flag and/or the intramode of the CIIP mode are used in comparing the motion information of two candidates.

[327] 4. O método de qualquer uma das cláusulas 1 a 3, em que o desempenho compreende: quando um candidato a mescla é de uma entrada na tabela HMVP, copiando o flag de CIIP da entrada para o candidato a mescla.[327] 4. The method of any one of clauses 1 through 3, wherein the performance comprises: when a merge candidate is an entry in the HMVP table, copying the CIIP flag from the entry to the merge candidate.

[328] 5. O método de qualquer uma das cláusulas 1 a 3, em que o desempenho compreende: quando um candidato a mescla é de uma entrada na tabela HMVP, copiando o flag de CIIP e o intramodo da entrada para o candidato a mescla.[328] 5. The method of any one of clauses 1 through 3, wherein the performance comprises: when a merge candidate is an entry in the HMVP table, copying the CIIP flag and the intramode from the entry to the merge candidate.

[329] 6. Um método para processamento de vídeo, compreendendo: determinar, durante uma conversão entre um bloco atual em dados de vídeo e uma representação de bitstream do bloco atual, um modo de predição para o bloco atual; determinar a aplicabilidade de um modo combinado de intra e interpredição (CIIP) indicando que o modo de CIIP está habilitado para o bloco atual em resposta à determinação de que o bloco atual é codificado com um modo de predição de vetor de movimento avançado (AMVP) ou um modo de mescla; e desempenhar, com base na aplicabilidade do modo de CIIP, a conversão.[329] 6. A method for video processing, comprising: determining, during a conversion between a current block in video data and a bitstream representation of the current block, a prediction mode for the current block; determining the applicability of a combined intra- and inter-prediction (CIIP) mode by indicating that the CIIP mode is enabled for the current block in response to determining that the current block is encoded with an advanced motion vector prediction (AMVP) mode or a blending mode; and performing, based on the applicability of the CIIP mode, the conversion.

[330] 7. O método da cláusula 6, em que um flag de CIIP e/ou intramodo do modo de CIIP são sinalizados quando o bloco atual é codificado com o modo AMVP.[330] 7. The method of clause 6, wherein a CIIP and/or CIIP mode intramode flag is signaled when the current block is encoded with AMVP mode.

[331] 8. O método da cláusula 6 ou 7, em que um flag de CIIP e/ou intramodo do modo de CIIP de blocos vizinhos adjacentes e/ou blocos vizinhos não adjacentes são herdados em um modo de mescla e/ou uma mescla com diferença de vetor de movimento (MMVD) modo do bloco atual.[331] 8. The method of clause 6 or 7, wherein a CIIP and/or intramode CIIP mode flag of adjacent neighboring blocks and/or non-adjacent neighboring blocks are inherited into a blend mode and/or a blend with motion vector difference (MMVD) mode of the current block.

[332] 9. O método de qualquer uma das cláusulas 6 a 8, em que um flag de CIIP e/ou intramodo do modo de CIIP para um modo de mescla não pulado e/ou um modo MMVD não pulado é sinalizado, e o flag de CIIP e/ou intra modo do modo de CIIP de blocos vizinhos adjacentes e/ou blocos vizinhos não adjacentes são herdados em um modo de mescla de salto e/ou um modo MMVD de salto.[332] 9. The method of any of clauses 6 through 8, wherein a CIIP and/or intra-mode CIIP mode flag for a non-skip merge mode and/or a non-skip MMVD mode is signaled, and the CIIP and/or intra-mode CIIP mode flag of adjacent neighboring blocks and/or non-adjacent neighboring blocks are inherited into a skip merge mode and/or a skip MMVD mode.

[333] 10. O método de qualquer uma das cláusulas 6 a 8, em que um flag de CIIP e/ou intramodo do modo de CIIP para um modo de mescla de salto e/ou um modo MMVD de salto é sinalizado, e o flag de CIIP e/ou intra modo do modo de CIIP de blocos vizinhos adjacentes e/ou blocos vizinhos não adjacentes são herdados em um modo de mescla não pulado e/ou um modo MMVD não pulado.[333] 10. The method of any one of clauses 6 through 8, wherein a CIIP and/or intra-mode CIIP mode flag for a skip merge mode and/or a skip MMVD mode is signaled, and the CIIP and/or intra-mode CIIP mode flag of adjacent neighboring blocks and/or non-adjacent neighboring blocks is inherited into a non-skip merge mode and/or a non-skip MMVD mode.

[334] 11. O método de qualquer uma das cláusulas 6 a 10, em que o flag de CIIP é herdado em um modo de mescla e/ou um modo de salto MMVD.[334] 11. The method of any of clauses 6 through 10, wherein the CIIP flag is inherited in a merge mode and/or an MMVD skip mode.

[335] 12. O método da cláusula 11, em que o intramodo é sinalizado quando o flag de CIIP é verdadeiro e mais de um intramodo é permitido no modo de CIIP.[335] 12. The method of clause 11, where the intramode is signaled when the CIIP flag is true and more than one intramode is allowed in CIIP mode.

[336] 13. O método de qualquer uma das cláusulas 6 a 12, em que um flag de CIIP e/ou intramodo do modo de CIIP de blocos vizinhos adjacentes e/ou blocos vizinhos não adjacentes codificados em um modo de mescla e/ou um modo MMVD são herdados pelo bloco atual.[336] 13. The method of any one of clauses 6 through 12, wherein a CIIP and/or intramode CIIP mode flag of adjacent neighboring blocks and/or non-adjacent neighboring blocks encoded in a merge mode and/or an MMVD mode are inherited by the current block.

[337] 14. O método de qualquer uma das cláusulas 6 a 13 compreendendo adicionalmente: desativando o modo de CIIP para um modo de salto.[337] 14. The method of any one of clauses 6 through 13 further comprising: disabling the CIIP mode to a jump mode.

[338] 15. O método de qualquer uma das cláusulas 6 a 13 compreendendo adicionalmente: comparando informações de dois candidatos a mescla, em que o flag de CIIP e/ou o intramodo do modo de CIIP são usados na comparação das informações de dois candidatos a mescla.[338] 15. The method of any one of clauses 6 to 13 further comprising: comparing information of two merge candidates, wherein the CIIP flag and/or the intramode of the CIIP mode are used in comparing the information of two merge candidates.

[339] 16. O método de qualquer uma das cláusulas 6 a 13 compreendendo adicionalmente:[339] 16. The method of any one of clauses 6 to 13 further comprising:

[340] comparando informações de dois candidatos a mescla, em que o flag de CIIP e/ou o intramodo do modo de CIIP são usados na comparação das informações de dois candidatos a mescla.[340] comparing information from two merge candidates, wherein the CIIP flag and/or the CIIP mode intramode are used in comparing the information from two merge candidates.

[341] 17. Um método para processamento de vídeo, compreendendo: determinar, durante uma conversão entre um bloco atual em dados de vídeo e uma representação de bitstream do bloco atual, um tipo de um candidato a mescla selecionado para o bloco atual, e determinar a aplicabilidade da intra e interpredição combinada (CIIP) para o bloco atual de acordo com o tipo de candidato a mescla selecionado, em que o bloco atual é codificado no modo de mescla.[341] 17. A method for video processing, comprising: determining, during a conversion between a current block in video data and a bitstream representation of the current block, a type of a selected blend candidate for the current block, and determining the applicability of combined intra and inter prediction (CIIP) for the current block according to the selected blend candidate type, wherein the current block is encoded in blend mode.

[342] 18. O método da cláusula 17, em que o CIIP é desativado quando o candidato a mescla selecionado do bloco atual é pelo menos um de um candidato a mescla em par, um candidato a mescla bicombinada, um candidato a mescla de movimento zero ou um candidato a mescla virtual ou artificial.[342] 18. The method of clause 17, wherein the CIIP is disabled when the merge candidate selected from the current block is at least one of a pairwise merge candidate, a bicombined merge candidate, a zero-movement merge candidate, or a virtual or artificial merge candidate.

[343] 19. O método da cláusula 17 ou 18, em que quando um candidato envolvido em um candidato a mescla em par ou o candidato a mescla bicombinada adota o modo de CIIP, o modo de CIIP é ativado para o candidato a mescla em par ou o candidato a mescla bicombinada.[343] 19. The method of clause 17 or 18, wherein when a candidate involved in a pairwise merge candidate or the bicombined merge candidate adopts the CIIP mode, the CIIP mode is activated for the pairwise merge candidate or the bicombined merge candidate.

[344] 20. O método da cláusula 19, em que um intramodo do candidato a modo de CIIP envolvido é herdado.[344] 20. The method of clause 19, where an intramode of the CIIP mode candidate involved is inherited.

[345] 21. O método da cláusula 19, em que um intramodo do modo de CIIP envolvido é sinalizado para o candidato a mescla em par ou o candidato a mescla bicombinada.[345] 21. The method of clause 19, wherein an intramode of the involved CIIP mode is signaled to the pairwise merge candidate or the bicombined merge candidate.

[346] 22. O método da cláusula 17 ou 18, em que quando ambos os candidatos envolvidos em um candidato a mescla em par ou um candidato a mescla bicombinada adotam o modo de CIIP, o modo de CIIP é ativado para o candidato a mescla em par ou o candidato a mescla bicombinada.[346] 22. The method of clause 17 or 18, wherein when both candidates involved in a pairwise merge candidate or a bicombined merge candidate adopt the CIIP mode, the CIIP mode is activated for the pairwise merge candidate or the bicombined merge candidate.

[347] 23. O método da cláusula 22, em que um intramodo de um dos dois candidatos envolvidos é herdado.[347] 23. The method of clause 22, in which an intramode of one of the two candidates involved is inherited.

[348] 24. O método da cláusula 22, em que um intramodo do modo de CIIP envolvido é derivado dos intramodos dos dois candidatos envolvidos e é usado para o candidato a mescla em par ou o candidato a mescla bicombinada.[348] 24. The method of clause 22, wherein an intramode of the CIIP mode involved is derived from the intramodes of the two candidates involved and is used for the pairwise blend candidate or the bicombined blend candidate.

[349] 25. O método da cláusula 22, em que um intramodo do modo de CIIP envolvido é sinalizado para o candidato a mescla em par ou o candidato a mescla bicombinada.[349] 25. The method of clause 22, wherein an intramode of the involved CIIP mode is signaled to the pairwise merge candidate or the bicombined merge candidate.

[350] 26. Um aparelho de processamento de vídeo compreendendo um processador configurado para implementar um método recitado em qualquer uma ou mais das cláusulas 1 a 25.[350] 26. A video processing apparatus comprising a processor configured to implement a method recited in any one or more of clauses 1 to 25.

[351] 27. O aparelho da cláusula 26, em que o aparelho é um codificador de vídeo.[351] 27. The apparatus of clause 26, wherein the apparatus is a video encoder.

[352] 28. O aparelho da cláusula 26, em que o aparelho é um decodificador de vídeo.[352] 28. The apparatus of clause 26, wherein the apparatus is a video set-top box.

[353] 29. Uma mídia de recodificação legível por computador na qual um programa compreendendo código é gravado, o programa é para um processador para realizar um método recitado em qualquer uma das cláusulas 1 a 25.[353] 29. A computer-readable recoding medium on which a program comprising code is recorded, the program being for a processor to perform a method recited in any one of clauses 1 to 25.

[354] Várias outras modalidades e recursos adicionais desses métodos podem ser descritos usando a seguinte recitação baseada em cláusula.[354] Several other modalities and additional features of these methods can be described using the following clause-based recitation.

[355] 1. Um método para processamento de vídeo, compreendendo: codificação, durante uma conversão entre um bloco de vídeo atual em dados de vídeo e uma representação de bitstream do bloco de vídeo atual, um flag de intra e interpredição combinada (CIIP) para o bloco de vídeo atual por um modelo de contexto baseado em codificação sem referência a um flag de CIIP de um ou mais blocos de vídeo vizinhos ao bloco de vídeo atual, e desempenhar, pelo menos aplicando o flag de intra e interpredição combinada (CIIP) do bloco de vídeo atual, a conversão.[355] 1. A method for video processing, comprising: encoding, during a conversion between a current video block in video data and a bitstream representation of the current video block, a combined intra- and inter-prediction (CIIP) flag for the current video block by a context-based coding model without reference to a CIIP flag of one or more video blocks neighboring the current video block, and performing, at least by applying the combined intra- and inter-prediction (CIIP) flag of the current video block, the conversion.

[356] 2. O método da cláusula 1, em que um contexto fixo é usado na codificação com base no modelo de contexto do flag de CIIP do bloco de vídeo atual.[356] 2. The method of clause 1, wherein a fixed context is used in encoding based on the context model of the CIIP flag of the current video block.

[357] 3. Um método para processamento de vídeo, compreendendo: codificação, durante uma conversão entre um bloco de vídeo atual em dados de vídeo e uma representação de bitstream do bloco de vídeo atual, um flag de intra e interpredição combinada (CIIP) para o bloco de vídeo atual por uma codificação de bypass, e desempenhar, pelo menos aplicando o flag de intra e interpredição combinada (CIIP), a conversão.[357] 3. A method for video processing, comprising: encoding, during a conversion between a current video block in video data and a bitstream representation of the current video block, a combined intra and inter prediction (CIIP) flag for the current video block by a bypass encoding, and performing, at least by applying the combined intra and inter prediction (CIIP) flag, the conversion.

[358] 4. O método da cláusula 3, em que codificar um flag de intra e interpredição combinada (CIIP) para o bloco de vídeo atual por uma codificação de desvio compreende codificar o flag de CIIP com probabilidades iguais de ser igual a 0 e 1.[358] 4. The method of clause 3, wherein encoding a combined intra and inter prediction (CIIP) flag for the current video block by a bias encoding comprises encoding the CIIP flag with equal probabilities of being equal to 0 and 1.

[359] 5. O método de qualquer uma das cláusulas 1 a 4 compreendendo adicionalmente: em resposta ao bloco de vídeo atual sendo codificado com o modo de CIIP, preparar um modo de intrapredição associado ao bloco de vídeo atual para um determinado modo de intrapredição.[359] 5. The method of any one of clauses 1 to 4 further comprising: in response to the current video block being encoded with the CIIP mode, preparing an intraprediction mode associated with the current video block for a given intraprediction mode.

[360] 6. O método da cláusula 5, em que o determinado modo de intrapredição é um modo planar.[360] 6. The method of clause 5, wherein the given intraprediction mode is a planar mode.

[361] 7. O método da cláusula 5 ou 6, em que o modo de intrapredição dado é usado para um processo de determinação do modo de intrapredição de blocos de vídeo codificados subsequentes.[361] 7. The method of clause 5 or 6, wherein the given intraprediction mode is used for a process of determining the intraprediction mode of subsequent coded video blocks.

[362] 8. O método da cláusula 7 compreendendo, adicionalmente: durante uma conversão de um segundo bloco de vídeo que é um dos blocos de vídeo codificados subsequentes do bloco de vídeo atual, se o bloco de vídeo atual for um bloco de vídeo vizinho do segundo bloco de vídeo, o modo de intrapredição provido é adicionado a um modo de intrapredição lista de candidatos do segundo bloco de vídeo.[362] 8. The method of clause 7 further comprising: during a conversion of a second video block that is one of the subsequent coded video blocks of the current video block, if the current video block is a neighboring video block of the second video block, the provided intraprediction mode is added to an intraprediction mode candidate list of the second video block.

[363] 9. O método da cláusula 8 compreendendo, adicionalmente: a lista de candidatos do modo intrapredição inclui uma lista de candidatos do modo mais provável.[363] 9. The method of clause 8 further comprising: the intraprediction mode candidate list includes a most likely mode candidate list.

[364] 10. O método de qualquer uma das cláusulas 1 a 9, em que em resposta ao bloco de vídeo atual sendo codificado com um modo de CIIP, as informações do modo de intrapredição do bloco de vídeo atual não são armazenadas.[364] 10. The method of any one of clauses 1 through 9, wherein in response to the current video block being encoded with a CIIP mode, the intraprediction mode information of the current video block is not stored.

[365] 11. O método da cláusula 10, em que o bloco de vídeo atual é considerado como indisponível em um processo de decodificação de outros blocos.[365] 11. The method of clause 10, wherein the current video block is considered to be unavailable in a process of decoding other blocks.

[366] 12. O método da cláusula 10, em que o bloco de vídeo atual é considerado como um bloco de vídeo codificado com um modo de interpredição.[366] 12. The method of clause 10, wherein the current video block is considered to be a video block encoded with an interprediction mode.

[367] 13. O método da cláusula 1 a 12, em que o flag de CIIP do bloco de vídeo atual não é armazenado.[367] 13. The method of clauses 1 through 12, wherein the CIIP flag of the current video block is not stored.

[368] 14. Um método para processamento de vídeo, compreendendo: determinar um modo de intrapredição de um primeiro bloco de vídeo de um vídeo de acordo com uma regra, e a regra compreende: pular, durante um processo de derivação de modo intrapredição do primeiro bloco de vídeo, verificar o flag de intra e interpredição combinada (CIIP) de um ou mais blocos de vídeo vizinhos ao primeiro bloco de vídeo, e desempenhar, com base em pelo menos um modo de intrapredição determinado, uma conversão entre o primeiro bloco de vídeo e uma representação de bitstream do primeiro bloco de vídeo.[368] 14. A method for video processing, comprising: determining an intraprediction mode of a first video block of a video according to a rule, and the rule comprising: skipping, during an intraprediction mode derivation process of the first video block, checking the combined intra and interprediction (CIIP) flag of one or more video blocks neighboring the first video block, and performing, based on the at least one determined intraprediction mode, a conversion between the first video block and a bitstream representation of the first video block.

[369] 15. O método da cláusula 14, em que determinar um modo de intrapredição compreende determinar um modo mais provável.[369] 15. The method of clause 14, wherein determining an intraprediction mode comprises determining a most likely mode.

[370] 16. O método da cláusula 14 ou 15, em que para um segundo bloco de vídeo do vídeo, em resposta ao segundo bloco de vídeo sendo codificado ou codificado CIIP, um modo de intrapredição padrão é preparado para o segundo bloco de vídeo, em que o segundo bloco de vídeo é um bloco de vídeo vizinho ao primeiro bloco de vídeo.[370] 16. The method of clause 14 or 15, wherein for a second video block of the video, in response to the second video block being encoded or CIIP encoded, a default intraprediction mode is prepared for the second video block, wherein the second video block is a neighboring video block of the first video block.

[371] 17. O método da cláusula 16, em que a determinação de um modo de intrapredição é baseado no modo de intrapredição padrão do segundo bloco de vídeo; e o modo de intrapredição padrão é o modo de intrapredição planar.[371] 17. The method of clause 16, wherein the determination of an intraprediction mode is based on the default intraprediction mode of the second video block; and the default intraprediction mode is the planar intraprediction mode.

[372] 18. O método de qualquer uma das cláusulas 14 a 17, em que o flag de CIIP de um ou mais blocos de vídeo vizinhos não é armazenado.[372] 18. The method of any one of clauses 14 through 17, wherein the CIIP flag of one or more neighboring video blocks is not stored.

[373] 19. Um aparelho de processamento de vídeo compreendendo um processador configurado para implementar um método recitado em qualquer uma ou mais das cláusulas 1 a 18.[373] 19. A video processing apparatus comprising a processor configured to implement a method recited in any one or more of clauses 1 to 18.

[374] 20. O aparelho da cláusula 19, em que o aparelho é um codificador de vídeo.[374] 20. The apparatus of clause 19, wherein the apparatus is a video encoder.

[375] 21. O aparelho da cláusula 19, em que o aparelho é um decodificador de vídeo.[375] 21. The apparatus of clause 19, wherein the apparatus is a video set-top box.

[376] 22. Uma mídia de recodificação legível por computador na qual um programa compreendendo código é gravado, o programa é para um processador para realizar um método recitado em qualquer uma das cláusulas 1 a 21.[376] 22. A computer-readable recoding medium on which a program comprising code is recorded, the program being for a processor to perform a method recited in any one of clauses 1 to 21.

[377] Várias outras modalidades e recursos adicionais desses métodos podem ser descritos usando a seguinte recitação baseada em cláusula.[377] Several other modalities and additional features of these methods can be described using the following clause-based recitation.

[378] 1. Um método para processamento de vídeo, compreendendo: determinar, durante uma conversão entre um bloco de vídeo atual, que é codificado em um modo combinado de intra e interpredição (CIIP), de um vídeo e uma representação de bitstream do bloco de vídeo atual, um par de pesos compreendendo uma primeira ponderação para um primeiro resultado de predição do bloco de vídeo atual e uma segunda ponderação para um segundo resultado de predição do bloco de vídeo atual, com base em um ou mais blocos de vídeo vizinhos ao bloco de vídeo atual, em que o primeiro resultado de predição é gerado por um modo de intrapredição e o segundo resultado de predição é gerado por um modo de interpredição; e determinar um resultado de predição do bloco atual com base em uma soma ponderada do primeiro resultado de predição e do segundo resultado de predição.[378] 1. A method for video processing, comprising: determining, during a conversion between a current video block, which is encoded in a combined intra- and inter-prediction (CIIP) mode, of a video and a bitstream representation of the current video block, a pair of weights comprising a first weighting for a first prediction result of the current video block and a second weighting for a second prediction result of the current video block, based on one or more video blocks neighboring the current video block, wherein the first prediction result is generated by an intra-prediction mode and the second prediction result is generated by an inter-prediction mode; and determining a prediction result of the current block based on a weighted sum of the first prediction result and the second prediction result.

[379] 2. O método da cláusula 1, em que a determinação do par de pesos compreende: determinar o par de pesos de acordo com um modo de predição de um ou mais blocos de vídeo vizinhos do bloco de vídeo atual.[379] 2. The method of clause 1, wherein determining the weight pair comprises: determining the weight pair according to a prediction mode of one or more neighboring video blocks of the current video block.

[380] 3. O método da cláusula 1 ou 2, em que para um bloco de vídeo vizinho codificado com o modo de CIIP, o bloco de vídeo vizinho é tratado como um bloco codificado com modo de interpredição.[380] 3. The method of clause 1 or 2, wherein for a neighboring video block encoded with CIIP mode, the neighboring video block is treated as a block encoded with interprediction mode.

[381] 4. O método da cláusula 1 ou 2, em que para um bloco de vídeo vizinho codificado com o modo de CIIP, o bloco de vídeo vizinho é tratado como um bloco codificado com modo de intrapredição.[381] 4. The method of clause 1 or 2, wherein for a neighboring video block encoded with CIIP mode, the neighboring video block is treated as a block encoded with intraprediction mode.

[382] 5. O método, de qualquer uma das cláusulas 1 a 4, em que os blocos de vídeo vizinhos são pelo menos um de um bloco adjacente, um bloco não adjacente e um bloco vizinho temporal do bloco de vídeo atual.[382] 5. The method of any one of clauses 1 through 4, wherein the neighboring video blocks are at least one of an adjacent block, a non-adjacent block, and a temporal neighboring block of the current video block.

[383] 6. O método, de qualquer uma das cláusulas 1 a 5, em que um dos blocos de vídeo vizinhos é um bloco de vídeo vizinho à esquerda ou um bloco de vídeo vizinho superior.[383] 6. The method of any one of clauses 1 through 5, wherein one of the neighboring video blocks is a left neighboring video block or an upper neighboring video block.

[384] 7. O método, de qualquer uma das cláusulas 1 a 5, em que dois dos blocos de vídeo vizinhos são um bloco de vídeo vizinho à esquerda e um bloco de vídeo vizinho superior, respectivamente.[384] 7. The method of any one of clauses 1 through 5, wherein two of the neighboring video blocks are a left neighboring video block and an upper neighboring video block, respectively.

[385] 8. O método, da cláusula 6 ou 7, em que o bloco de vídeo vizinho à esquerda cobre uma localização (xCb-1, yCb cbHeight-1) e o bloco de vídeo vizinho superior cobre uma localização (xCb cbWidth-1, yCb-1), e em que ( xCb, yCb) é uma localização de uma amostra superior esquerda do bloco de vídeo atual e cbWidth e cbHeight são a largura e a altura do bloco de vídeo atual, respectivamente.[385] 8. The method of clause 6 or 7, wherein the left neighboring video block covers a location (xCb-1, yCb cbHeight-1) and the top neighboring video block covers a location (xCb cbWidth-1, yCb-1), and wherein (xCb, yCb) is a location of a top left sample of the current video block and cbWidth and cbHeight are the width and height of the current video block, respectively.

[386] 9. O método, da cláusula 6 ou 7, em que o bloco de vídeo vizinho à esquerda cobre uma localização (xCb-1, yCb) e o bloco de vídeo vizinho superior cobre uma localização (xCb, yCb-1), e em que (xCb, yCb) é uma localização de uma amostra superior esquerda do bloco de vídeo atual.[386] 9. The method of clause 6 or 7, wherein the left neighboring video block covers a location (xCb-1, yCb) and the upper neighboring video block covers a location (xCb, yCb-1), and wherein (xCb, yCb) is a location of an upper left sample of the current video block.

[387] 10. O método, de qualquer uma das cláusulas 1 a 9, em que um resultado do modo de CIIP é obtido aplicando o par de pesos para o resultado de intrapredição e o resultado de interpredição como: PCIIP = (winter * Pinter + wIntra * Pintra + offset) » N e em que PCIIP é o resultado do modo de CIIP, Pinter é o resultado da interpredição, Pintra é o resultado da intrapredição, (winter, wIntra) é o par de pesos, deslocamento é preparado como (1 << (N-1)) ou 0, e N é preparado como log2 (wIntra+wInter).[387] 10. The method of any one of clauses 1 through 9, wherein a CIIP mode result is obtained by applying the weight pair to the intraprediction result and the interprediction result as: PCIIP = (winter * Pinter + wIntra * Pintra + offset) » N and where PCIIP is the CIIP mode result, Pinter is the interprediction result, Pintra is the intraprediction result, (winter, wIntra) is the weight pair, offset is prepared as (1 << (N-1)) or 0, and N is prepared as log2(wIntra+wInter).

[388] 11. O método, de qualquer uma das cláusulas 1 a 10, em que o bloco de vídeo vizinho é selecionado com base nas informações de codificação do bloco atual e/ou do bloco vizinho.[388] 11. The method of any one of clauses 1 through 10, wherein the neighboring video block is selected based on the coding information of the current block and/or the neighboring block.

[389] 12. O método, de qualquer uma das cláusulas 1 a 11, em que o par de pesos é determinado com base nas informações de codificação do bloco vizinho e/ou bloco vizinho.[389] 12. The method of any one of clauses 1 through 11, wherein the weight pair is determined based on the coding information of the neighboring block and/or neighboring block.

[390] 13. O método, da cláusula 11 ou 12, em que as informações de codificação compreendem pelo menos um dentre: informações de dimensão de bloco, informações de forma de bloco, flag de verificação de baixo atraso, informações de imagens de referência, informações de movimento do bloco de vídeo atual e/ou do bloco de vídeo vizinho, ou modos de intrapredição do bloco de vídeo vizinho.[390] 13. The method of clause 11 or 12, wherein the coding information comprises at least one of: block dimension information, block shape information, low delay check flag, reference picture information, motion information of the current video block and/or neighboring video block, or intra-prediction modes of the neighboring video block.

[391] 14. O método da cláusula 1, em que a conversão é desempenhada com base em componente de cor do bloco de vídeo atual.[391] 14. The method of clause 1, wherein the conversion is performed based on the color component of the current video block.

[392] 15. O método da cláusula 14, em que o par de pesos para um componente de cor principal é diferente daqueles para outros componentes de cor.[392] 15. The method of clause 14, wherein the weight pair for a major color component is different from those for other color components.

[393] 16. O método da cláusula 14, em que o par de pesos para um componente luma é diferente daquele para um componente croma.[393] 16. The method of clause 14, where the weight pair for a luma component is different from that for a chroma component.

[394] 17. O método, de qualquer uma das cláusulas 14 a 16, em que a primeira ponderação e a segunda ponderação são iguais para um componente croma.[394] 17. The method of any of clauses 14 to 16, wherein the first weighting and the second weighting are equal for a chroma component.

[395] 18. O método, de qualquer uma das cláusulas 1 a 17, em que o par de pesos é um de dois pares de pesos candidatos compreendendo um primeiro par de pesos candidato e um segundo par de pesos candidatos.[395] 18. The method of any one of clauses 1 to 17, wherein the weight pair is one of two candidate weight pairs comprising a first candidate weight pair and a second candidate weight pair.

[396] 19. O método da cláusula 18, em que os dois pares de pesos candidatos são um de {(1,3) e (3,1)}, {(1,3) e (2,2)}, {(3,1) e (2,2)}, {(3, 5) e (4, 4)}, {(5, 3) e (4, 4)}, {(1, 7) e (4, 4)} e {(7, 1) e (4, 4)}.[396] 19. The method of clause 18, where the two candidate weight pairs are one of {(1, 3) and (3, 1)}, {(1, 3) and (2, 2)}, {(3, 1) and (2, 2)}, {(3, 5) and (4, 4)}, {(5, 3) and (4, 4)}, {(1, 7) and (4, 4)}, and {(7, 1) and (4, 4)}.

[397] 20. O método da cláusula 18 ou 19, em que o par de pesos é determinado com base em um único bloco de vídeo vizinho do bloco de vídeo atual.[397] 20. The method of clause 18 or 19, wherein the weight pair is determined based on a single neighboring video block of the current video block.

[398] 21. O método da cláusula 20, em que quando o único bloco de vídeo vizinho é codificado com o modo de intrapredição, o par de pesos é o primeiro par de pesos candidato; e quando o único bloco de vídeo vizinho é codificado com o modo de interpredição, o par de pesos é o segundo par de pesos candidato.[398] 21. The method of clause 20, wherein when the single neighboring video block is coded with the intra-prediction mode, the weight pair is the first candidate weight pair; and when the single neighboring video block is coded with the inter-prediction mode, the weight pair is the second candidate weight pair.

[399] 22. O método da cláusula 20 ou 21, em que o único bloco de vídeo vizinho é um bloco de vídeo vizinho à esquerda ou um bloco de vídeo vizinho acima.[399] 22. The method of clause 20 or 21, wherein the only neighboring video block is a left-neighboring video block or an up-neighboring video block.

[400] 23. O método da cláusula 18 ou 19, em que o par de pesos é determinado com base em dois ou mais blocos de vídeo vizinhos do bloco de vídeo atual e pelo menos um dos dois ou mais blocos de vídeo vizinhos satisfazem condições predeterminadas.[400] 23. The method of clause 18 or 19, wherein the weight pair is determined based on two or more neighboring video blocks of the current video block and at least one of the two or more neighboring video blocks satisfies predetermined conditions.

[401] 24. O método da cláusula 23, em que quando pelo menos um dos dois ou mais blocos de vídeo vizinhos é codificado com o modo de intrapredição, o par de pesos é o primeiro par de pesos candidato; e quando pelo menos um dos dois ou mais blocos de vídeo vizinhos é codificado com o modo de interpredição, o par de pesos é o segundo par de pesos candidato.[401] 24. The method of clause 23, wherein when at least one of two or more neighboring video blocks is coded with the intra-prediction mode, the weight pair is the first candidate weight pair; and when at least one of two or more neighboring video blocks is coded with the inter-prediction mode, the weight pair is the second candidate weight pair.

[402] 25. O método da cláusula 18 ou 19, em que o par de pesos é determinado com base em dois ou mais blocos de vídeo vizinhos do bloco de vídeo atual e cada um dos dois ou mais blocos de vídeo vizinhos satisfazem condições predeterminadas.[402] 25. The method of clause 18 or 19, wherein the weight pair is determined based on two or more neighboring video blocks of the current video block and each of the two or more neighboring video blocks satisfies predetermined conditions.

[403] 26. O método da cláusula 25, em que quando todos os dois ou mais blocos de vídeo vizinhos são codificados com o modo de intrapredição, o par de pesos é o primeiro par de pesos candidato; e quando todos os dois ou mais blocos de vídeo vizinhos são codificados com o modo de interpredição, o par de pesos é o segundo par de pesos candidato.[403] 26. The method of clause 25, wherein when all two or more neighboring video blocks are coded with the intra-prediction mode, the weight pair is the first candidate weight pair; and when all two or more neighboring video blocks are coded with the inter-prediction mode, the weight pair is the second candidate weight pair.

[404] 27. O método de qualquer uma das cláusulas 23 a 26, em que um dos dois ou mais blocos de vídeo vizinhos é um bloco de vídeo vizinho à esquerda e outro dos dois ou mais blocos de vídeo vizinhos é um bloco de vídeo vizinho acima.[404] 27. The method of any one of clauses 23 through 26, wherein one of the two or more neighboring video blocks is a left-neighboring video block and the other of the two or more neighboring video blocks is an up-neighboring video block.

[405] 28. O método de qualquer uma das cláusulas 23 a 27, em que o primeiro par de pesos candidato é um dentre (2, 2) e (3, 1), e o segundo par de pesos candidato é (1, 3).[405] 28. The method of any of clauses 23 through 27, wherein the first candidate weight pair is one of (2, 2) and (3, 1), and the second candidate weight pair is (1, 3).

[406] 29. O método de qualquer uma das cláusulas 23 a 28, em que pelo menos um valor de ponderação no primeiro par de pesos candidato é diferente de pelo menos um valor de ponderação no segundo par de pesos candidato.[406] 29. The method of any of clauses 23 through 28, wherein at least one weighting value in the first candidate weight pair is different from at least one weighting value in the second candidate weight pair.

[407] 30. O método de qualquer uma das cláusulas 23 a 29, em que o primeiro par de pesos candidato é diferente do segundo par de pesos candidato.[407] 30. The method of any of clauses 23 through 29, wherein the first candidate weight pair is different from the second candidate weight pair.

[408] 31. O método de qualquer uma das cláusulas 1 a 17, em que o par de pesos é exatamente um par de pesos candidato.[408] 31. The method of any of clauses 1 through 17, wherein the weight pair is exactly one candidate weight pair.

[409] 32. O método da cláusula 31, em que o par de pesos candidato é um dentre (1,3), (2,2), (1, 7), (2, 6), (3, 5) e (4, 4).[409] 32. The method of clause 31, where the candidate weight pair is one of (1,3), (2,2), (1, 7), (2, 6), (3, 5), and (4, 4).

[410] 33. O método de qualquer uma das cláusulas 1 a 32, em que o par de pesos é determinado com base em se um ou mais blocos de vídeo vizinhos são codificados com o modo de CIIP.[410] 33. The method of any one of clauses 1 through 32, wherein the weight pair is determined based on whether one or more neighboring video blocks are encoded with the CIIP mode.

[411] 34. O método da cláusula 33, em que o par de pesos é determinado a partir do par de pesos para um bloco de vídeo codificado anteriormente.[411] 34. The method of clause 33, wherein the weight pair is determined from the weight pair for a previously encoded video block.

[412] 35. O método da cláusula 33 ou 34, em que o par de pesos para o bloco de vídeo atual é determinado com base em um único bloco de vídeo vizinho do bloco de vídeo atual.[412] 35. The method of clause 33 or 34, wherein the weight pair for the current video block is determined based on a single neighboring video block of the current video block.

[413] 36. O método da cláusula 35, em que quando o único bloco de vídeo vizinho é codificado com o modo de CIIP, o par de pesos para o bloco de vídeo atual é preparado para ser o par de pesos para o único bloco de vídeo vizinho; e quando o único bloco de vídeo vizinho é codificado com o modo de intrapredição, o par de pesos é um primeiro par de pesos candidato de dois pares de pesos candidatos compreendendo o primeiro par de pesos candidato e um segundo par de pesos candidato; quando o único bloco de vídeo vizinho é codificado com o modo de interpredição, o par de pesos é o segundo par de pesos candidato de dois pares de pesos candidatos compreendendo o primeiro par de pesos candidato e o segundo par de pesos candidato.[413] 36. The method of clause 35, wherein when the single neighboring video block is coded with the CIIP mode, the weight pair for the current video block is arranged to be the weight pair for the single neighboring video block; and when the single neighboring video block is coded with the intra-prediction mode, the weight pair is a first candidate weight pair of two candidate weight pairs comprising the first candidate weight pair and a second candidate weight pair; when the single neighboring video block is coded with the inter-prediction mode, the weight pair is the second candidate weight pair of two candidate weight pairs comprising the first candidate weight pair and the second candidate weight pair.

[414] 37. O método da cláusula 35, em que quando o único bloco de vídeo vizinho é codificado com o modo de CIIP, o par de pesos para o bloco de vídeo atual é preparado para ser o par de pesos para o único bloco de vídeo vizinho; e quando o único bloco de vídeo vizinho é codificado com o modo de intrapredição ou o modo de interpredição, o par de pesos é um primeiro par de pesos candidato de dois pares de pesos candidatos compreendendo o primeiro par de pesos candidato e um segundo par de pesos candidato.[414] 37. The method of clause 35, wherein when the single neighboring video block is coded with the CIIP mode, the weight pair for the current video block is arranged to be the weight pair for the single neighboring video block; and when the single neighboring video block is coded with the intra-prediction mode or the inter-prediction mode, the weight pair is a first candidate weight pair of two candidate weight pairs comprising the first candidate weight pair and a second candidate weight pair.

[415] 38. O método da cláusula 33 ou 34, em que o par de pesos é determinado com base em dois ou mais blocos de vídeo vizinhos do bloco de vídeo atual e pelo menos um dos dois ou mais blocos de vídeo vizinhos satisfazem condições predeterminadas.[415] 38. The method of clause 33 or 34, wherein the weight pair is determined based on two or more neighboring video blocks of the current video block and at least one of the two or more neighboring video blocks satisfies predetermined conditions.

[416] 39. O método da cláusula 38, em que os dois ou mais blocos de vídeo vizinhos são verificados em uma determinada ordem de verificação para identificar se os dois ou mais blocos de vídeo vizinhos são codificados com o modo de CIIP.[416] 39. The method of clause 38, wherein the two or more neighboring video blocks are checked in a certain checking order to identify whether the two or more neighboring video blocks are encoded with the CIIP mode.

[417] 40. O método da cláusula 39, em que quando pelo menos um dos dois ou mais blocos de vídeo vizinhos é codificado com o modo de CIIP, o par de pesos para o bloco de vídeo atual é preparado para ser o par de pesos para o bloco de vídeo vizinho que é primeiro identificado para ser codificado com o modo de CIIP na ordem de verificação dada; quando nenhum dos dois ou mais blocos de vídeo vizinhos é codificado com o modo de CIIP, pelo menos um dos dois ou mais blocos de vídeo vizinhos é codificado com o modo de intrapredição, o par de pesos é um primeiro par de pesos candidato de dois pares de pesos candidatos compreendendo o primeiro par de pesos candidato e um segundo par de pesos candidato; quando nenhum dos dois ou mais blocos de vídeo vizinhos é codificado com o modo de CIIP, pelo menos um dos dois ou mais blocos de vídeo vizinhos é codificado com o modo de interpredição, o par de pesos é o segundo par de pesos candidato de dois pares de pesos candidatos compreendendo o primeiro par de pesos candidato e o segundo par de pesos candidato.[417] 40. The method of clause 39, wherein when at least one of the two or more neighboring video blocks is coded with the CIIP mode, the weight pair for the current video block is arranged to be the weight pair for the neighboring video block that is first identified to be coded with the CIIP mode in the given verification order; when none of the two or more neighboring video blocks is coded with the CIIP mode, at least one of the two or more neighboring video blocks is coded with the intra-prediction mode, the weight pair is a first candidate weight pair of two candidate weight pairs comprising the first candidate weight pair and a second candidate weight pair; when none of the two or more neighboring video blocks is coded with the CIIP mode, at least one of the two or more neighboring video blocks is coded with the inter-prediction mode, the weight pair is the second candidate weight pair of two candidate weight pairs comprising the first candidate weight pair and the second candidate weight pair.

[418] 41. O método da cláusula 39, em que quando pelo menos um dos dois ou mais blocos de vídeo vizinhos é codificado com o modo de CIIP, o par de pesos para o bloco de vídeo atual é preparado para ser o par de pesos para o bloco de vídeo vizinho que é primeiro identificado para ser codificado com o modo de CIIP na ordem de verificação dada; quando nenhum dos dois ou mais blocos de vídeo vizinhos é codificado com o modo de CIIP, o par de pesos é um segundo par de pesos candidato de dois pares de ponderação candidato compreendendo um primeiro par de pesos candidato e um segundo par de pesos candidato.[418] 41. The method of clause 39, wherein when at least one of two or more neighboring video blocks is coded with the CIIP mode, the weight pair for the current video block is arranged to be the weight pair for the neighboring video block that is first identified to be coded with the CIIP mode in the given verification order; when none of the two or more neighboring video blocks is coded with the CIIP mode, the weight pair is a second candidate weight pair of two candidate weight pairs comprising a first candidate weight pair and a second candidate weight pair.

[419] 42. O método de qualquer uma das cláusulas 36 a 41, em que o primeiro par de pesos candidato é um dentre (2, 2) e (3, 1), e o segundo par de pesos candidato é (1, 3).[419] 42. The method of any of clauses 36 through 41, wherein the first candidate weight pair is one of (2, 2) and (3, 1), and the second candidate weight pair is (1, 3).

[420] 43. O método de qualquer uma das cláusulas 36 a 42, em que pelo menos um valor de ponderação no primeiro par de pesos candidato é diferente de pelo menos um valor de ponderação no segundo par de pesos candidato.[420] 43. The method of any of clauses 36 through 42, wherein at least one weight value in the first candidate weight pair is different from at least one weight value in the second candidate weight pair.

[421] 44. O método de qualquer uma das cláusulas 36 a 41, em que o segundo par de pesos candidato é um dentre (2, 2) e (1, 3).[421] 44. The method of any of clauses 36 through 41, wherein the second candidate weight pair is one of (2, 2) and (1, 3).

[422] 45. O método de qualquer uma das cláusulas 1 a 44, em que o par de pesos é sinalizado.[422] 45. The method of any of clauses 1 through 44, wherein the weight pair is signed.

[423] 46. O método de qualquer uma das cláusulas 1 a 45, em que o par de pesos é determinado com base em se um bloco de vídeo vizinho é codificado com um modo de interpredição.[423] 46. The method of any one of clauses 1 through 45, wherein the weight pair is determined based on whether a neighboring video block is encoded with an interprediction mode.

[424] 47. O método de qualquer uma das cláusulas 1 a 46, em que quando um bloco de vídeo vizinho não é codificado com um modo de intrapredição, o bloco de vídeo vizinho é tratado como um bloco codificado com modo de intrapredição.[424] 47. The method of any one of clauses 1 through 46, wherein when a neighboring video block is not coded with an intraprediction mode, the neighboring video block is treated as a block coded with an intraprediction mode.

[425] 48. O método da cláusula 47, em que o bloco de vídeo vizinho não é codificado com pelo menos um dentre um modo de cópia de intrabloco (IBC), o modo de CIIP, um modo de predição triangular (TPM), um modo de paleta, um modo RDPCM.[425] 48. The method of clause 47, wherein the neighboring video block is not encoded with at least one of an intrablock copy (IBC) mode, a CIIP mode, a triangular prediction mode (TPM), a palette mode, an RDPCM mode.

[426] 49. O método da cláusula 48, em que o bloco de vídeo vizinho é codificado sem aplicar uma transformada e/ou quantização.[426] 49. The method of clause 48, wherein the neighboring video block is encoded without applying a transform and/or quantization.

[427] 50. O método de qualquer uma das cláusulas 1 a 46, em que quando o bloco de vídeo vizinho é codificado com pelo menos um dentre um modo de cópia de intrabloco (IBC), o modo de CIIP, um modo de predição triangular (TPM), um modo de paleta, um modo RDPCM, o bloco de vídeo vizinho é tratado como um bloco codificado com modo de não intrapredição.[427] 50. The method of any one of clauses 1 through 46, wherein when the neighboring video block is encoded with at least one of an intrablock copy (IBC) mode, a CIIP mode, a triangular prediction mode (TPM), a palette mode, an RDPCM mode, the neighboring video block is treated as a block encoded with non-intraprediction mode.

[428] 51. O método de qualquer uma das cláusulas 1 a 46, em que quando o bloco de vídeo vizinho é codificado com um modo de intrapredição, mas não é codificado com um modo de predição predeterminado, o bloco de vídeo vizinho é tratado como um bloco codificado com modo de não intrapredição.[428] 51. The method of any one of clauses 1 through 46, wherein when the neighboring video block is coded with an intraprediction mode but is not coded with a predetermined prediction mode, the neighboring video block is treated as a block coded with a non-intraprediction mode.

[429] 52. O método de qualquer uma das cláusulas 1 a 46, em que quando o bloco de vídeo vizinho é codificado em um modo de intrapredição com base em matriz e/ou um modo de intrapredição de linhas de referência múltiplas com índice de linha de referência diferente de 0 e/ou um modo BDPCM, o bloco de vídeo vizinho é tratado como um bloco codificado com modo de não intrapredição.[429] 52. The method of any one of clauses 1 through 46, wherein when the neighboring video block is coded in a matrix-based intraprediction mode and/or a multiple reference line intraprediction mode with reference line index other than 0 and/or a BDPCM mode, the neighboring video block is treated as a block coded with non-intraprediction mode.

[430] 53. Um aparelho de processamento de vídeo compreendendo um processador configurado para implementar um método recitado em qualquer uma ou mais das cláusulas 1 a 52.[430] 53. A video processing apparatus comprising a processor configured to implement a method recited in any one or more of clauses 1 to 52.

[431] 54. O aparelho da cláusula 53, em que o aparelho é um codificador de vídeo.[431] 54. The apparatus of clause 53, wherein the apparatus is a video encoder.

[432] 55. O aparelho da cláusula 53, em que o aparelho é um decodificador de vídeo.[432] 55. The apparatus of clause 53, where the apparatus is a video set-top box.

[433] 56. Uma mídia de recodificação legível por computador na qual um programa compreendendo código é gravado, o programa é para um processador para realizar um método recitado em qualquer uma das cláusulas 1 a 52.[433] 56. A computer-readable recoding medium on which a program comprising code is recorded, the program being for a processor to perform a method recited in any one of clauses 1 to 52.

[434] Será apreciado que as técnicas divulgadas podem ser incorporadas em codificadores ou decodificadores de vídeo para melhorar a eficiência de compressão usando estimativa de movimento com base em hash.[434] It will be appreciated that the disclosed techniques can be incorporated into video encoders or decoders to improve compression efficiency using hash-based motion estimation.

[435] As soluções divulgadas e outras, exemplos, modalidades, módulos e as operações funcionais descritas neste documento podem ser implementadas em conjuntos de circuitos eletrônicos digitais, ou em software, firmware ou hardware de computador, incluindo as estruturas divulgadas neste documento e seus equivalentes estruturais, ou em combinações de um ou mais deles. As modalidades divulgadas e outras modalidades podem ser implementadas como um ou mais produtos de programa de computador, ou seja, um ou mais módulos de instruções de programa de computador codificados em um meio legível por computador para execução por, ou para controlar a operação de, aparelho de processamento de dados. O meio legível por computador pode ser um dispositivo de armazenamento legível por máquina, um substrato de armazenamento legível por máquina, um dispositivo de memória, uma composição de matéria efetuando um sinal propagado legível por máquina ou uma combinação de um ou mais deles. O termo “aparelho de processamento de dados” abrange todos os aparelhos, dispositivos e máquinas para processamento de dados, incluindo, a título de exemplo, um processador programável, um computador ou múltiplos processadores ou computadores. O aparelho pode incluir, além do hardware, o código que cria um ambiente de execução para o programa de computador em questão, por exemplo, o código que constitui o firmware do processador, uma pilha de protocolo, um sistema de gerenciamento de banco de dados, um sistema operacional ou uma combinação de um ou mais deles. Um sinal propagado é um sinal gerado artificialmente, por exemplo, um sinal elétrico, óptico ou eletromagnético gerado por máquina, que é gerado para codificar informações para transmissão para um aparelho receptor adequado.[435] The disclosed and other solutions, examples, embodiments, modules, and functional operations described herein may be implemented in digital electronic circuit assemblies, or in computer software, firmware, or hardware, including the structures disclosed herein and their structural equivalents, or in combinations of one or more thereof. The disclosed and other embodiments may be implemented as one or more computer program products, i.e., one or more modules of computer program instructions encoded on a computer-readable medium for execution by, or to control the operation of, data processing apparatus. The computer-readable medium may be a machine-readable storage device, a machine-readable storage substrate, a memory device, a composition of matter effecting a propagated machine-readable signal, or a combination of one or more thereof. The term “data processing apparatus” encompasses all apparatus, devices, and machines for processing data, including, by way of example, a programmable processor, a computer, or multiple processors or computers. The apparatus may include, in addition to the hardware, code that creates an execution environment for the computer program in question, for example, code constituting processor firmware, a protocol stack, a database management system, an operating system, or a combination of one or more of these. A propagated signal is an artificially generated signal, for example, a machine-generated electrical, optical, or electromagnetic signal, that is generated to encode information for transmission to a suitable receiving apparatus.

[436] Um programa de computador (também conhecido como programa, software, aplicação de software, script ou código) pode ser escrito em qualquer forma de linguagem de programação, incluindo linguagens compiladas ou interpretadas, e pode ser implantado em qualquer forma, incluindo como um programa autônomo ou como um módulo, componente, sub-rotina ou outra unidade adequada para uso em um ambiente de computação. Um programa de computador não corresponde necessariamente a um arquivo em um sistema de arquivos. Um programa pode ser armazenado em uma porção de um arquivo que contém outros programas ou dados (por exemplo, um ou mais scripts armazenados em um documento de linguagem de marcação), em um único arquivo dedicado ao programa em questão ou em múltiplos arquivos coordenados (por exemplo, arquivos que armazenam um ou mais módulos, subprogramas ou porções de código). Um programa de computador pode ser implantado para ser executado em um computador ou em múltiplos computadores que são localizados em uma localização ou distribuídos em múltiplos locais e interconectados por uma rede de comunicação.[436] A computer program (also known as a program, software, software application, script, or code) may be written in any form of programming language, including compiled or interpreted languages, and may be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment. A computer program does not necessarily correspond to a file in a file system. A program may be stored in a portion of a file that contains other programs or data (e.g., one or more scripts stored in a markup language document), in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files that store one or more modules, subprograms, or portions of code). A computer program may be deployed to run on one computer or on multiple computers that are co-located in one location or distributed across multiple locations and interconnected by a communications network.

[437] Os processos e fluxos lógicos descritos neste documento podem ser desempenhados por um ou mais processadores programáveis executando um ou mais programas de computador para desempenhar funções operando em dados de entrada e gerando saída. Os processos e fluxos lógicos também podem ser desempenhados por, e os aparelhos também podem ser implementados como, conjuntos de circuitos lógicos de propósito especial, por exemplo, um FPGA (arranjo de porta programável em campo) ou um ASIC (circuito integrado de aplicação específica).[437] The processes and logic flows described herein may be performed by one or more programmable processors executing one or more computer programs to perform functions by operating on input data and generating output. The processes and logic flows may also be performed by, and the devices may also be implemented as, special purpose logic circuit assemblies, for example, an FPGA (field programmable gate array) or an ASIC (application specific integrated circuit).

[438] Os processadores adequados para a execução de um programa de computador incluem, a título de exemplo, ambos microprocessadores de uso geral e de propósito especial e qualquer um ou mais processadores de qualquer tipo de computador digital. Geralmente, um processador receberá instruções e dados a partir de uma memória somente de leitura ou de uma memória de acesso aleatório ou de ambas. Os elementos essenciais de um computador são um processador para desempenhar instruções e um ou mais dispositivos de memória para armazenar instruções e dados. Geralmente, um computador também incluirá, ou será operativamente acoplado para receber dados de ou transferir dados para, ou ambos, um ou mais dispositivos de armazenamento em massa para armazenar dados, por exemplo, discos magnéticos, magneto-ópticos ou discos ópticos. No entanto, um computador não precisa ter tais dispositivos. A mídia legível por computador adequada para armazenar instruções e dados de programa de computador inclui todas as formas de memória não volátil, mídia e dispositivos de memória, incluindo a título de exemplo, dispositivos de memória semicondutores, por exemplo, EPROM, EEPROM e dispositivos de memória flash; discos magnéticos, por exemplo, discos rígidos internos ou discos removíveis; discos magneto-ópticos; e discos de CD-ROM e DVD-ROM. O processador e a memória podem ser complementados por, ou incorporados em, conjuntos de circuitos lógicos de propósito especial.[438] Processors suitable for executing a computer program include, by way of example, both general-purpose and special-purpose microprocessors and any one or more processors of any type of digital computer. Generally, a processor will receive instructions and data from a read-only memory or a random-access memory or both. The essential elements of a computer are a processor for executing instructions and one or more memory devices for storing instructions and data. Generally, a computer will also include, or be operatively coupled to receive data from or transfer data to, or both, one or more mass storage devices for storing data, e.g., magnetic disks, magneto-optical disks or optical disks. However, a computer need not have such devices. Computer-readable media suitable for storing computer program instructions and data include all forms of non-volatile memory, memory media and devices, including by way of example, semiconductor memory devices, e.g., EPROM, EEPROM and flash memory devices; magnetic disks, for example, internal hard disks or removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks. The processor and memory may be supplemented by, or incorporated into, special-purpose logic circuit assemblies.

[439] Embora este documento de patente contenha muitas especificidades, estas não devem ser interpretadas como limitações no escopo de qualquer matéria ou do que pode ser reivindicado, mas sim como descrições de recursos que podem ser específicos para modalidades particulares de técnicas particulares. Certos recursos que são descritos neste documento de patente no contexto de modalidades separadas também podem ser implementados em combinação em uma única modalidade. Por outro lado, vários recursos que são descritos no contexto de uma única modalidade também podem ser implementados em várias modalidades separadamente ou em qualquer subcombinação adequada. Além disso, embora os recursos possam ser descritos acima como agindo em certas combinações e mesmo inicialmente reivindicadas como tal, um ou mais recursos de uma combinação reivindicada podem, em alguns casos, ser excisados a partir da combinação e a combinação reivindicada pode ser direcionada a uma subcombinação ou variação de uma subcombinação.[439] While this patent document contains many specifics, these should not be construed as limitations on the scope of any subject matter or what may be claimed, but rather as descriptions of features that may be specific to particular embodiments of particular techniques. Certain features that are described in this patent document in the context of separate embodiments may also be implemented in combination in a single embodiment. Conversely, multiple features that are described in the context of a single embodiment may also be implemented in multiple embodiments separately or in any suitable subcombination. Furthermore, while features may be described above as acting in certain combinations and even initially claimed as such, one or more features of a claimed combination may in some cases be excised from the combination and the claimed combination may be directed to a subcombination or variation of a subcombination.

[440] De maneira similar, embora as operações sejam representadas nas figuras em uma ordem particular, isso não deve ser entendido como exigindo que tais operações sejam desempenhadas na ordem particular mostrada ou em ordem sequencial, ou que todas as operações ilustradas sejam desempenhadas, para atingir os resultados desejáveis. Além disso, a separação de vários componentes de sistema nas modalidades descritas neste documento de patente não deve ser entendida como requerendo tal separação em todas as modalidades.[440] Similarly, although operations are depicted in the figures in a particular order, this should not be construed as requiring that such operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed, to achieve desirable results. Furthermore, the separation of various system components in the embodiments described in this patent document should not be construed as requiring such separation in all embodiments.

[441] Apenas algumas implementações e exemplos são descritos e outras implementações, melhorias e variações podem ser feitas baseado no que é descrito e ilustrado neste documento de patente.[441] Only some implementations and examples are described and other implementations, improvements and variations can be made based on what is described and illustrated in this patent document.

Claims (15)

1. Método para processamento de vídeo caracterizado pelo fato de que compreende: determinar, durante uma conversão entre um bloco de vídeo atual, que é codificado em um modo combinado de intra e interpredição, de dados de um vídeo e um bitstream, um par de pesos compreendendo um primeiro peso para um primeiro resultado de predição do bloco de vídeo atual e um segundo peso para um segundo resultado de predição do bloco de vídeo atual, com base em um ou mais blocos de vídeo vizinhos ao bloco de vídeo atual, em que o primeiro resultado de predição é gerado por um modo de intrapredição e o segundo resultado de predição é gerado por um modo de interpredição; e determinar um resultado de predição do bloco atual com base em uma soma ponderada do primeiro resultado de predição e do segundo resultado de predição; e desempenhar a conversão com base no resultado de predição, em que o par de pesos é determinado de acordo com um modo de predição do um ou mais blocos de vídeo vizinhos do bloco de vídeo atual, em que, quando pelo menos um bloco de vídeo vizinho do um ou mais blocos de vídeo vizinhos é codificado com o modo combinado de intra e interpredição, o pelo menos um bloco de vídeo vizinho é tratado como um bloco de vídeo codificado com um modo de interpredição que é um modo de não intrapredição, em que o um ou mais blocos de vídeo vizinhos compreendem um bloco de vídeo cobrindo uma localização (xCb-1, yCb-1+(cbHeight<<a)) e um bloco de vídeo cobrindo uma localização (xCb-1+(cbWidth<<a), yCb-1), em que (xCb, yCb) é uma localização de uma amostra superior esquerda do bloco de vídeo atual, cbWidth e cbHeight são a largura e a altura do bloco de vídeo atual respectivamente e a é determinado usando um cIdx do bloco atual, em que cIdx é uma variável especificando um índice de componente de cor para o bloco atual, e em que o índice de componente de cor do bloco atual indica uma componente de cor do bloco atual é um componente de luma.1. A method for video processing comprising: determining, during a conversion between a current video block, which is encoded in a combined intra- and inter-prediction mode, of video data and a bitstream, a pair of weights comprising a first weight for a first prediction result of the current video block and a second weight for a second prediction result of the current video block, based on one or more video blocks neighboring the current video block, wherein the first prediction result is generated by an intra-prediction mode and the second prediction result is generated by an inter-prediction mode; and determining a prediction result of the current block based on a weighted sum of the first prediction result and the second prediction result; and performing the conversion based on the prediction result, wherein the weight pair is determined according to a prediction mode of the one or more neighboring video blocks of the current video block, wherein when at least one neighboring video block of the one or more neighboring video blocks is coded with the combined intra- and inter-prediction mode, the at least one neighboring video block is treated as a video block coded with an inter-prediction mode that is a non-intra-prediction mode, wherein the one or more neighboring video blocks comprise a video block covering a location (xCb-1, yCb-1+(cbHeight<<a)) and a video block covering a location (xCb-1+(cbWidth<<a), yCb-1), wherein (xCb, yCb) is a location of an upper left sample of the current video block, cbWidth and cbHeight are the width and height of the current video block respectively, and a is determined using a cIdx of the block current, where cIdx is a variable specifying a color component index for the current block, and where the color component index of the current block indicates a color component of the current block is a luma component. 2. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que o modo de predição do um ou mais blocos de vídeo vizinhos indica se o um ou mais blocos de vídeo vizinhos são codificados com um modo de intrapredição ou um modo de não intrapredição.2. The method of claim 1, wherein the prediction mode of the one or more neighboring video blocks indicates whether the one or more neighboring video blocks are encoded with an intra-prediction mode or a non-intra-prediction mode. 3. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que quando o pelo menos um bloco de vídeo vizinho é codificado com pelo menos um dentre um modo de cópia de intrabloco, um modo combinado de intra e interpredição, um modo de particionamento geométrico, ou um modo de paleta, o pelo menos um bloco de vídeo vizinho é tratado como um bloco codificado com um modo de não intrapredição.3. The method of claim 1, wherein when the at least one neighboring video block is encoded with at least one of an intrablock copy mode, a combined intra- and inter-prediction mode, a geometric partitioning mode, or a palette mode, the at least one neighboring video block is treated as a block encoded with a non-intraprediction mode. 4. Método, de acordo a reivindicação 1, caracterizado pelo fato de que o par de pesos é determinado, adicionalmente, de acordo com um componente de cor do bloco de vídeo atual.4. Method according to claim 1, characterized in that the weight pair is additionally determined according to a color component of the current video block. 5. Método, de acordo com reivindicação 4, caracterizado pelo fato de que uma localização do um ou mais blocos de vídeo vizinhos é determinada no componente de cor do bloco atual.5. The method of claim 4, wherein a location of the one or more neighboring video blocks is determined in the color component of the current block. 6. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que o um ou mais blocos de vídeo vizinhos compreendem pelo menos um dentre um bloco de vídeo vizinho à esquerda ou um bloco de vídeo vizinho superior.6. The method of claim 1, wherein the one or more neighboring video blocks comprise at least one of a left neighboring video block or an upper neighboring video block. 7. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que o par de pesos é determinado de acordo com se o um ou mais blocos de vídeo vizinhos estão disponíveis, e em que uma variável checkPredModeY especificando se a disponibilidade do um ou mais blocos de vídeo vizinhos depende de um modo de predição seja preparado como falso.7. The method of claim 1, wherein the weight pair is determined according to whether the one or more neighboring video blocks are available, and wherein a checkPredModeY variable specifying whether the availability of the one or more neighboring video blocks depends on a prediction mode is set to false. 8. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que em resposta ao cIdx do bloco atual ser igual a 0, o valor de a é preparado como 0.8. The method of claim 1, wherein in response to the cIdx of the current block being equal to 0, the value of a is set to 0. 9. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que em resposta ao cIdx do bloco atual não ser igual a 0, o valor de a é preparado como 1.9. The method of claim 1, wherein in response to the cIdx of the current block not being equal to 0, the value of a is set to 1. 10. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que o par de pesos é determinado com base em dois ou mais blocos de vídeos vizinhos; quando todos dos dois ou mais blocos de vídeo vizinhos são codificados com o modo de intrapredição, o par de pesos é um primeiro par de pesos candidato, quando todos dos dois ou mais blocos de vídeo vizinhos estão no modo de não intrapredição, o par de pesos é um segundo par de pesos candidato diferente do primeiro par de pesos candidato, caso contrário, o par de pesos é um terceiro par de pesos candidato diferente do primeiro e do segundo pares de pesos candidatos.10. The method of claim 1, wherein the weight pair is determined based on two or more neighboring video blocks; when all of the two or more neighboring video blocks are encoded with the intra-prediction mode, the weight pair is a first candidate weight pair; when all of the two or more neighboring video blocks are in the non-intra-prediction mode, the weight pair is a second candidate weight pair different from the first candidate weight pair; otherwise, the weight pair is a third candidate weight pair different from the first and second candidate weight pairs. 11. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que o primeiro par de pesos candidato é (3, 1), o segundo peso candidato é (1, 3) e o terceiro par de pesos candidato é (2, 2), em que para o (x, y), x é o primeiro peso e y é o segundo peso.11. The method of claim 1, wherein the first candidate weight pair is (3, 1), the second candidate weight is (1, 3), and the third candidate weight pair is (2, 2), wherein for (x, y), x is the first weight and y is the second weight. 12. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que o resultado de predição é obtido aplicando o par de pesos para o resultado de intrapredição e o resultado de interpredição como: P = (winter * Ptnter + wIntra * Ptntra + deslocamento') » N e em que P é o resultado de predição, Pinter é o primeiro resultado de predição, Pintra é o segundo resultado de predição, (wInter, wIntra) o par de pesos, deslocamento é preparado como 2.12. Method according to claim 1, characterized in that the prediction result is obtained by applying the pair of weights to the intra-prediction result and the inter-prediction result as: P = (winter * Ptnter + wIntra * Ptntra + offset') » N and wherein P is the prediction result, Pinter is the first prediction result, Pintra is the second prediction result, (wInter, wIntra) the pair of weights, offset is prepared as 2. 13. Aparelho para processamento de dados de vídeo caracterizado pelo fato de que compreende um processador e uma memória não transitória com instruções no mesmo, em que as instruções mediante execução pelo processador fazem com que o processador: determine, durante uma conversão entre um bloco de vídeo atual, que é codificado em um modo combinado de intra e interpredição, de dados de um vídeo e um bitstream, um par de pesos compreendendo um primeiro peso para um primeiro resultado de predição do bloco de vídeo atual e um segundo peso para um segundo resultado de predição do bloco de vídeo atual, com base em um ou mais blocos de vídeo vizinhos ao bloco de vídeo atual, em que o primeiro resultado de predição é gerado por um modo de intrapredição e o segundo resultado de predição é gerado por um modo de interpredição; determine um resultado de predição do bloco atual com base em uma soma ponderada do primeiro resultado de predição e do segundo resultado de predição; e desempenhe a conversão com base no resultado de predição em que o par de pesos é determinado de acordo com um modo de predição do um ou mais blocos de vídeo vizinhos do bloco de vídeo atual, em que, quando pelo menos um bloco de vídeo vizinho do um ou mais blocos de vídeo vizinhos é codificado com o modo combinado de intra e interpredição, o pelo menos um bloco de vídeo vizinho é tratado como um bloco de vídeo codificado com um modo de interpredição que é um modo de não intrapredição, em que o um ou mais blocos de vídeo vizinhos compreendem um bloco de vídeo cobrindo uma localização (xCb-1, yCb-1+(cbHeight<<a)) e um bloco de vídeo cobrindo uma localização (xCb-1+(cbWidth<<a), yCb-1), em que (xCb, yCb) é uma localização de uma amostra superior esquerda do bloco de vídeo atual, cbWidth e cbHeight são a largura e a altura do bloco de vídeo atual, respectivamente, e a é determinado usando um cIdx do bloco atual, em que cIdx é uma variável especificando um índice de componente de cor para o bloco atual, e em que o índice de componente de cor do bloco atual indica uma componente de cor do bloco atual é um componente de luma.13. Apparatus for processing video data, comprising a processor and a non-transitory memory with instructions therein, wherein the instructions upon execution by the processor cause the processor to: determine, during a conversion between a current video block, which is encoded in a combined intra- and inter-prediction mode, of video data and a bitstream, a pair of weights comprising a first weight for a first prediction result of the current video block and a second weight for a second prediction result of the current video block, based on one or more video blocks neighboring the current video block, wherein the first prediction result is generated by an intra-prediction mode and the second prediction result is generated by an inter-prediction mode; determine a prediction result of the current block based on a weighted sum of the first prediction result and the second prediction result; and perform the conversion based on the prediction result wherein the weight pair is determined according to a prediction mode of the one or more neighboring video blocks of the current video block, wherein when at least one neighboring video block of the one or more neighboring video blocks is coded with the combined intra- and inter-prediction mode, the at least one neighboring video block is treated as a video block coded with an inter-prediction mode that is a non-intra-prediction mode, wherein the one or more neighboring video blocks comprise a video block covering a location (xCb-1, yCb-1+(cbHeight<<a)) and a video block covering a location (xCb-1+(cbWidth<<a), yCb-1), wherein (xCb, yCb) is a location of an upper-left sample of the current video block, cbWidth and cbHeight are the width and height of the current video block, respectively, and a is determined using a cIdx of the current block, where cIdx is a variable specifying a color component index for the current block, and where the color component index of the current block indicates a color component of the current block is a luma component. 14. Meio de armazenamento não transitório legível por computador caracterizado pelo fato de que armazena instruções que fazem com que um processador: determine, durante uma conversão entre um bloco de vídeo atual, que é codificado em um modo combinado de intra e interpredição, de dados de um vídeo e um bitstream, um par de pesos compreendendo um primeiro peso para um primeiro resultado de predição do bloco de vídeo atual e um segundo peso para um segundo resultado de predição do bloco de vídeo atual, com base em um ou mais blocos de vídeo vizinhos ao bloco de vídeo atual, em que o primeiro resultado de predição é gerado por um modo de intrapredição e o segundo resultado de predição é gerado por um modo de interpredição; e determine um resultado de predição do bloco atual com base em uma soma ponderada do primeiro resultado de predição e do segundo resultado de predição; e desempenhe a conversão com base no resultado de predição. em que o par de pesos é determinado de acordo com um modo de predição do um ou mais blocos de vídeo vizinhos do bloco de vídeo atual, em que, quando pelo menos um bloco de vídeo vizinho do um ou mais blocos de vídeo vizinhos é codificado com o modo combinado de intra e interpredição, o pelo menos um bloco de vídeo vizinho é tratado como um bloco de vídeo codificado com um modo de interpredição que é um modo de não intrapredição, em que o um ou mais blocos de vídeo vizinhos compreendem um bloco de vídeo cobrindo uma localização (xCb-1, yCb-1+(cbHeight<<a)) e um bloco de vídeo cobrindo uma localização (xCb-1+(cbWidth<<a), yCb-1), em que (xCb, yCb) é uma localização de uma amostra superior esquerda do bloco de vídeo atual, cbWidth e cbHeight são a largura e a altura do bloco de vídeo atual respectivamente e a é determinado usando um cIdx do bloco atual, em que cIdx é uma variável especificando um índice de componente de cor para o bloco atual, e em que o índice de componente de cor do bloco atual indica uma componente de cor do bloco atual é um componente de luma.14. A non-transitory computer-readable storage medium characterized in that it stores instructions that cause a processor to: determine, during a conversion between a current video block, which is encoded in a combined intra- and inter-prediction mode, of video data and a bitstream, a pair of weights comprising a first weight for a first prediction result of the current video block and a second weight for a second prediction result of the current video block, based on one or more video blocks neighboring the current video block, wherein the first prediction result is generated by an intra-prediction mode and the second prediction result is generated by an inter-prediction mode; and determine a prediction result of the current block based on a weighted sum of the first prediction result and the second prediction result; and perform the conversion based on the prediction result. wherein the weight pair is determined according to a prediction mode of the one or more neighboring video blocks of the current video block, wherein when at least one neighboring video block of the one or more neighboring video blocks is coded with the combined intra- and inter-prediction mode, the at least one neighboring video block is treated as a video block coded with an inter-prediction mode that is a non-intra-prediction mode, wherein the one or more neighboring video blocks comprise a video block covering a location (xCb-1, yCb-1+(cbHeight<<a)) and a video block covering a location (xCb-1+(cbWidth<<a), yCb-1), wherein (xCb, yCb) is a location of an upper left sample of the current video block, cbWidth and cbHeight are the width and height of the current video block respectively, and a is determined using a cIdx of the current block, wherein cIdx is a variable specifying a color component index for the current block, and where the color component index of the current block indicates a color component of the current block is a luma component. 15. Meio de gravação não transitório legível por computador caracterizado pelo fato de que armazena um bitstream de dados de um vídeo que é gerado por um método desempenhado por um aparelho de processamento de vídeo, em que o método compreende: determinar, para um bloco de vídeo atual, que é codificado em um modo combinado de intra e interpredição, um par de pesos compreendendo um primeiro peso para um primeiro resultado de predição do bloco de vídeo atual e um segundo peso para um segundo resultado de predição do bloco de vídeo atual, com base em um ou mais blocos de vídeo vizinhos ao bloco de vídeo atual, em que o primeiro resultado de predição é gerado por um modo de intrapredição e o segundo resultado de predição é gerado por um modo de interpredição; e determinar um resultado de predição do bloco atual com base em uma soma ponderada do primeiro resultado de predição e do segundo resultado de predição; e gerar o bitstream com base no resultado de predição. em que o par de pesos é determinado de acordo com um modo de predição do um ou mais blocos de vídeo vizinhos do bloco de vídeo atual, em que, quando pelo menos um bloco de vídeo vizinho do um ou mais blocos de vídeo vizinhos é codificado com o modo combinado de intra e interpredição, o pelo menos um bloco de vídeo vizinho é tratado como um bloco de vídeo codificado com um modo de interpredição que é um modo de não intrapredição, em que o um ou mais blocos de vídeo vizinhos compreendem um bloco de vídeo cobrindo uma localização (xCb-1, yCb-1+(cbHeight<<a)) e um bloco de vídeo cobrindo uma localização (xCb-1+(cbWidth<<a), yCb-1), em que (xCb, yCb) é uma localização de uma amostra superior esquerda do bloco de vídeo atual, cbWidth e cbHeight são a largura e a altura do bloco de vídeo atual, respectivamente, e a é determinado usando um cIdx do bloco atual, em que cIdx é uma variável especificando um índice de componente de cor para o bloco atual, e em que o índice de componente de cor do bloco atual indica uma componente de cor do bloco atual é um componente de luma.15. A non-transitory computer-readable recording medium that stores a bitstream of data of a video that is generated by a method performed by a video processing apparatus, the method comprising: determining, for a current video block that is encoded in a combined intra- and inter-prediction mode, a pair of weights comprising a first weight for a first prediction result of the current video block and a second weight for a second prediction result of the current video block, based on one or more video blocks neighboring the current video block, wherein the first prediction result is generated by an intra-prediction mode and the second prediction result is generated by an inter-prediction mode; and determining a prediction result of the current block based on a weighted sum of the first prediction result and the second prediction result; and generating the bitstream based on the prediction result. wherein the weight pair is determined according to a prediction mode of the one or more neighboring video blocks of the current video block, wherein when at least one neighboring video block of the one or more neighboring video blocks is coded with the combined intra- and inter-prediction mode, the at least one neighboring video block is treated as a video block coded with an inter-prediction mode that is a non-intra-prediction mode, wherein the one or more neighboring video blocks comprise a video block covering a location (xCb-1, yCb-1+(cbHeight<<a)) and a video block covering a location (xCb-1+(cbWidth<<a), yCb-1), wherein (xCb, yCb) is a location of a top-left sample of the current video block, cbWidth and cbHeight are the width and height of the current video block, respectively, and a is determined using a cIdx of the current block, wherein cIdx is a variable specifying a color component index for the current block, and where the color component index of the current block indicates a color component of the current block is a luma component.
BR112021017512-1A 2019-03-21 2020-03-23 VIDEO PROCESSING METHOD, VIDEO DATA PROCESSING APPARATUS AND COMPUTER-READABLE NON-TRANSITORY STORAGE AND RECORDING MEDIA BR112021017512B1 (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
CNPCT/CN2019/079148 2019-03-21
CN2019079148 2019-03-21
CNPCT/CN2019/100616 2019-08-14
CN2019100616 2019-08-14
PCT/CN2020/080632 WO2020187329A1 (en) 2019-03-21 2020-03-23 Improved weighting processing of combined intra-inter prediction

Publications (2)

Publication Number Publication Date
BR112021017512A2 BR112021017512A2 (en) 2021-11-16
BR112021017512B1 true BR112021017512B1 (en) 2025-02-25

Family

ID=

Similar Documents

Publication Publication Date Title
US11330257B2 (en) Extended application of combined intra-inter prediction
US12425578B2 (en) Harmonization between different video process mode
US11706406B2 (en) Selection of coded motion information for LUT updating
JP2022524536A5 (en)
US20210218980A1 (en) Simplified history based motion vector prediction
JP2022517666A5 (en)
BR112021017512B1 (en) VIDEO PROCESSING METHOD, VIDEO DATA PROCESSING APPARATUS AND COMPUTER-READABLE NON-TRANSITORY STORAGE AND RECORDING MEDIA
BR112021014620B1 (en) METHOD AND APPARATUS FOR PROCESSING VIDEO DATA AND COMPUTER-READABLE NON-TRANSITORY STORAGE AND RECORDING MEDIA
BR112021014202B1 (en) VIDEO DATA PROCESSING METHOD, VIDEO DATA PROCESSING APPARATUS AND COMPUTER-READABLE NON-TRANSITORY STORAGE AND RECORDING MEDIA
BR112021023918B1 (en) VIDEO DATA PROCESSING METHOD, APPARATUS FOR PROCESSING VIDEO DATA AND COMPUTER-READABLE NON-TRANSIENTIAL STORAGE MEDIA
BR112022007140B1 (en) METHOD FOR VIDEO PROCESSING, APPARATUS FOR PROCESSING VIDEO DATA AND COMPUTER-READABLE NON-TRANSIENTIAL STORAGE AND RECORDING MEDIA
BR112021014202A2 (en) MESH REFORM INFORMATION SIGNALING USING PARAMETER SETS
BR112019006838B1 (en) Motion Vector Prediction for Affine Motion Models in Video Coding