BR112021010428A2 - Método para processamento de vídeo, aparelho em um sistema de vídeo, e, produto de programa de computador - Google Patents

Método para processamento de vídeo, aparelho em um sistema de vídeo, e, produto de programa de computador Download PDF

Info

Publication number
BR112021010428A2
BR112021010428A2 BR112021010428-3A BR112021010428A BR112021010428A2 BR 112021010428 A2 BR112021010428 A2 BR 112021010428A2 BR 112021010428 A BR112021010428 A BR 112021010428A BR 112021010428 A2 BR112021010428 A2 BR 112021010428A2
Authority
BR
Brazil
Prior art keywords
samples
cclm
chroma
chroma samples
block
Prior art date
Application number
BR112021010428-3A
Other languages
English (en)
Inventor
Kai Zhang
Li Zhang
Hongbin Liu
Jizheng Xu
Yue Wang
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.
Publication of BR112021010428A2 publication Critical patent/BR112021010428A2/pt

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)

Abstract

MÉTODO E APARELHO PARA CODIFICAR VÍDEO, E, MEIOS DEARMAZENAMENTO E DE GRAVAÇÃO LEGÍVEIS POR COMPUTADOR. É provido um método para processamento de vídeo. O método inclui realizar amostragem descendente nas amostras de croma e de luma de um bloco vizinho do bloco de vídeo atual; determinar, para uma conversão entre um bloco de vídeo atual de um vídeo que é um bloco de croma e uma representação codificada do vídeo, parâmetros do modelo linear de componente cruzado (CCLM) com base nas amostras de croma e de luma descendentemente amostradas obtidas a partir da amostragem descendente; aplicar o CCLM nas amostras de luma localizadas em um bloco de luma correspondente ao bloco de vídeo atual para derivar valores de previsão do bloco de vídeo atual; e realizar a conversão com base nos valores de previsão.

Description

1 / 162 MÉTODO E APARELHO PARA CODIFICAR VÍDEO, E, MEIOS DE
ARMAZENAMENTO E DE GRAVAÇÃO LEGÍVEIS POR COMPUTADOR REFERÊNCIA CRUZADA A PEDIDOS RELACIONADOS
[001] Este pedido é uma fase nacional do Pedido Internacional Nº PCT/CN2019/123229, depositado em 05 de dezembro de 2019, o qual reivindica a prioridade e os benefícios do Pedido de Patente Internacional PCT/CN2018/119709, depositado em 7 de dezembro de 2018, do Pedido de Patente Internacional PCT/CN2018/125412, depositado em 29 de dezembro de 2018, do Pedido de Patente Internacional PCT/CN2019/070002, depositado em 1º de janeiro de 2019, do Pedido de Patente Internacional PCT/CN2019/075874, depositado em 22 de fevereiro de 2019, do Pedido de Patente Internacional PCT/CN2019/075993, depositado em 24 de fevereiro de 2019, do Pedido de Patente Internacional PCT/CN2019/076195, depositado em 26 de fevereiro de 2019, do Pedido de Patente Internacional PCT/CN2019/079396, depositado em 24 de março de 2019, do Pedido de Patente Internacional PCT/CN2019/079431, depositado em 25 de março de 2019, e do Pedido de Patente Internacional PCT/CN2019/079769, depositado em 26 de março de 2019. A íntegra das descrições dos supramencionados pedidos é incorporada pela referência como parte da descrição deste pedido. Campo Técnico
[002] Este documento de patente se refere a técnicas, dispositivos e sistemas de processamento de vídeo. Fundamentos da Invenção
[003] Apesar dos avanços na compressão de vídeo, o vídeo digital ainda é responsável pelo maior uso de largura de banda na internet e outras redes de comunicação digitais. À medida que o número de dispositivos de usuário conectados capazes de receber e exibir vídeo aumenta, espera-se que a demanda por largura de banda para uso de vídeo digital continue a crescer.
2 / 162 Sumário
[004] Dispositivos, sistemas e métodos relacionados a processamento de vídeo digital e, por exemplo, derivações do modelo linear simplificado para o modo de previsão do modelo linear de componente cruzado (CCLM) em codificação de vídeo são descritos. Os métodos descritos podem ser aplicados tanto em padrões de codificação de vídeo existentes (por exemplo, Codificação de Vídeo de Alta Eficiência (HEVC)) quanto em padrões futuros ou codecs de codificação de vídeo (por exemplo, Codificação de Vídeo Versátil (VVC)).
[005] Em um aspecto representativo, a tecnologia descrita pode ser usada para prover um método para processamento de vídeo. O método inclui determinar, para uma conversão entre um bloco de vídeo atual de um vídeo que é um bloco de croma e uma representação codificada do vídeo, parâmetros de um modelo linear de componente cruzado com base em duas amostras de croma provenientes de um grupo de amostras de croma vizinhas, em que as duas amostras de croma são selecionadas a partir do grupo com base em uma regra de posição; e realizar a conversão com base na determinação.
[006] Em um aspecto representativo, a tecnologia descrita pode ser usada para prover um método para processamento de vídeo. O método inclui determinar, para uma conversão entre um bloco de vídeo atual de um vídeo que é um bloco de croma e uma representação codificada do vídeo, parâmetros de um modelo linear de componente cruzado com base em amostras de croma selecionadas com base nas posições das amostras de croma, em que as amostras de croma selecionadas são selecionadas a partir de um grupo de amostras de croma vizinhas, e realizar a conversão com base na determinação.
[007] Em um outro aspecto representativo, a tecnologia descrita pode ser usada para prover um método para processamento de vídeo. O
3 / 162 método inclui determinar, para um bloco de vídeo atual, um grupo de amostras de croma vizinhas usadas para derivar um conjunto de valores para parâmetros de um modelo linear, em que uma largura e uma altura do bloco de vídeo atual são W e H, respectivamente, e em que o grupo de amostras de croma vizinhas compreende pelo menos uma amostra que fica localizada além de 2×W amostras de croma vizinhas acima ou 2×H amostras de croma vizinhas à esquerda; e realizar, com base no modelo linear, uma conversão entre o bloco de vídeo atual e uma representação codificada de um vídeo incluindo o bloco de vídeo atual.
[008] Em um outro aspecto representativo, a tecnologia descrita pode ser usada para prover um método para processamento de vídeo. O método inclui: determinar, para uma conversão entre um bloco de vídeo atual de um vídeo que é um bloco de croma e uma representação codificada do vídeo, múltiplos conjuntos de parâmetros, em que cada conjunto de parâmetros define um modelo linear de componente cruzado (CCLM) e é derivado a partir de um correspondente grupo de amostras de croma em correspondentes posições de amostra de croma; determinar, com base nos múltiplos conjuntos de parâmetros, parâmetros para um CCLM final; e realizar a conversão com base no CCLM final.
[009] Em um outro aspecto representativo, a tecnologia descrita pode ser usada para prover um método para processamento de vídeo. O método inclui determinar, para uma conversão entre um bloco de vídeo atual de um vídeo e uma representação codificada do vídeo, parâmetros de um modelo linear de componente cruzado (CCLM) com base em valores máximo e mínimo de amostras de croma e de luma de N grupos de amostras de croma e de luma selecionados a partir de amostras de luma e de croma vizinhas do bloco de vídeo atual; e realizar a conversão usando o CCLM.
[0010] Em um outro aspecto representativo, a tecnologia descrita pode ser usada para prover um método para processamento de vídeo. O
4 / 162 método inclui determinar, para uma conversão entre um bloco de vídeo atual de um vídeo que é um bloco de croma e uma representação codificada do vídeo, parâmetros de um modelo linear de componente cruzado que são completamente determináveis por duas amostras de croma e correspondentes duas amostras de luma; e realizar a conversão com base na determinação.
[0011] Em um outro aspecto representativo, a tecnologia descrita pode ser usada para prover um método para processamento de vídeo. O método inclui determinar, para uma conversão entre um bloco de vídeo atual de um vídeo que é um bloco de croma e uma representação codificada do vídeo, parâmetros de um modelo linear de componente cruzado usando uma tabela de parâmetro cujas entradas são recuperadas de acordo com dois valores da amostra de croma e dois valores da amostra de luma; e realizar a conversão com base na determinação.
[0012] Em um outro aspecto representativo, a tecnologia descrita pode ser usada para prover um método para processamento de vídeo. O método inclui determinar, para uma conversão entre um bloco de vídeo atual de um vídeo que é um bloco de croma e uma representação codificada do vídeo, uma previsão final P(x, y) de uma amostra de croma em uma posição (x, y) no bloco de vídeo atual como uma combinação de resultados de previsão de múltiplos modelos lineares de componente cruzado (MCCLMs), em que os MCCLMs são selecionados com base na posição (x, y) da amostra de croma; e realizar a conversão com base na previsão final.
[0013] Em um outro aspecto representativo, a tecnologia descrita pode ser usada para prover um método para processamento de vídeo. O método inclui realizar, para uma conversão entre um bloco de vídeo atual de um vídeo que é um bloco de croma e uma representação codificada do vídeo, uma primeira determinação em relação a se um primeiro modelo linear de componente cruzado (CCLM) que usa apenas amostras vizinhas à esquerda é usado para prever amostras do bloco de vídeo atual e/ou uma segunda
5 / 162 determinação em relação a se um segundo modelo linear de componente cruzado (CCLM) que usa apenas amostras vizinhas acima é usado para prever amostras do bloco de vídeo atual; e realizar a conversão com base na primeira determinação e/ou na segunda determinação.
[0014] Em um outro aspecto representativo, a tecnologia descrita pode ser usada para prover um método para processamento de vídeo. O método inclui determinar, para uma conversão entre um bloco de vídeo atual de um vídeo e uma representação codificada do vídeo, um contexto que é usado para codificar um indicador usando codificação aritmética na representação codificada do bloco de vídeo atual, em que o contexto é com base em se um bloco vizinho de topo-à esquerda do bloco de vídeo atual é codificado usando um modo de previsão do modelo linear de componente cruzado (CCLM); e realizar a conversão com base na determinação, em que o indicador é sinalizado para indicar se o modo de previsão CCLM é aplicado no bloco de vídeo atual, e em que o modo de previsão CCLM usa um modo linear para derivar valores de previsão de um componente de croma a partir de um outro componente.
[0015] Em um outro aspecto representativo, a tecnologia descrita pode ser usada para prover um método para processamento de vídeo. O método inclui determinar, para uma conversão entre um bloco de vídeo atual de um vídeo e uma representação codificada do vídeo, uma ordem de codificação para uma ou mais indicações de um modo derivado (modo DM) e um modo linear (modo LM) com base em um modo de codificação de um ou mais blocos vizinhos do bloco de vídeo atual; e realizar a conversão com base na determinação, em que o modo LE usa um modo linear para derivar valores de previsão de um componente de croma a partir de um outro componente, e o modo DM deriva o modo de intraprevisão de um componente de croma a partir de um outro componente.
[0016] Em um outro aspecto representativo, a tecnologia descrita
6 / 162 pode ser usada para prover um método para processamento de vídeo. O método inclui determinar, para uma conversão entre um bloco de vídeo atual de um vídeo e uma representação codificada do vídeo, parâmetros para uma previsão de modelo linear ou previsão do componente de cor cruzada com base em amostras de luma e amostras de croma vizinhas refinadas do bloco de vídeo atual; derivar valores de previsão de um componente de croma do bloco de vídeo atual com base nos parâmetros e amostras de luma internas refinadas do bloco de vídeo atual; e realizar a conversão com base nos valores de previsão.
[0017] Em um outro aspecto representativo, a tecnologia descrita pode ser usada para prover um método para processamento de vídeo. O método inclui determinar, para uma conversão entre um bloco de vídeo atual de um vídeo que é um bloco de croma e uma representação codificada do vídeo, parâmetros para uma previsão de modelo linear ou previsão do componente de cor cruzada com base em pela seleção de amostras vizinhas com base em uma posição de uma maior ou uma menor amostra vizinha; derivar valores de previsão de amostras de croma do bloco de vídeo atual com base nos parâmetros e amostras de luma internas do bloco de vídeo atual; e realizar a conversão com base nos valores de previsão.
[0018] Em um outro aspecto representativo, a tecnologia descrita pode ser usada para prover um método para processamento de vídeo. O método inclui determinar, para uma conversão entre um bloco de vídeo atual de um vídeo e uma representação codificada do vídeo, parâmetros para uma previsão de modelo linear ou previsão do componente de cor cruzada com base em um componente de cor principal e um componente de cor dependente, o componente de cor principal selecionado como um de um componente de cor de luma e um componente de cor de croma e o componente de cor dependente selecionado como o outro do componente de cor de luma e do componente de cor de croma; e realizar a conversão com
7 / 162 base nos valores de previsão.
[0019] Em um outro aspecto representativo, a tecnologia descrita pode ser usada para prover um método para processamento de vídeo. O método compreende: realizar amostragem descendente nas amostras de croma e de luma de um bloco vizinho do bloco de vídeo atual; determinar, para uma conversão entre um bloco de vídeo atual de um vídeo que é um bloco de croma e uma representação codificada do vídeo, parâmetros do modelo linear de componente cruzado (CCLM) com base nas amostras de croma e de luma descendentemente amostradas obtidas a partir da amostragem descendente; aplicar o CCLM nas amostras de luma localizadas em um bloco de luma correspondente ao bloco de vídeo atual para derivar valores de previsão do bloco de vídeo atual; aplicar o CCLM nas amostras de luma localizadas em um bloco de luma correspondente ao bloco de vídeo atual para derivar valores de previsão do bloco de vídeo atual; e realizar a conversão com base nos valores de previsão.
[0020] Em um outro aspecto representativo, a tecnologia descrita pode ser usada para prover um método para processamento de vídeo. O método compreende: determinar, para uma conversão entre um bloco de vídeo atual de um vídeo que é um bloco de croma e uma representação codificada do vídeo, parâmetros de um modelo linear de componente cruzado (CCLM) com base em duas ou mais amostras de croma provenientes de um grupo de amostras de croma vizinhas, em que as duas ou mais amostras de croma são selecionadas com base em um modo de codificação do bloco de vídeo atual; e realizar a conversão com base na determinação.
[0021] Em um outro aspecto representativo, a tecnologia descrita pode ser usada para prover um método para processamento de vídeo. O método compreende: determinar, para uma conversão entre um bloco de vídeo atual de um vídeo que é um bloco de croma e uma representação codificada do vídeo, parâmetros do modelo linear de componente cruzado
8 / 162 (CCLM) com base em amostras de croma que são selecionadas com base em W amostras vizinhas acima disponíveis, W sendo um número inteiro; e realizar a conversão com base na determinação.
[0022] Em um outro aspecto representativo, a tecnologia descrita pode ser usada para prover um método para processamento de vídeo. O método compreende: determinar, para uma conversão entre um bloco de vídeo atual de um vídeo que é um bloco de croma e uma representação codificada do vídeo, parâmetros do modelo linear de componente cruzado (CCLM) com base em amostras de croma que são selecionadas com base em H amostras vizinhas à esquerda disponíveis do bloco de vídeo atual; e realizar a conversão com base na determinação.
[0023] Em um outro aspecto representativo, a tecnologia descrita pode ser usada para prover um método para processamento de vídeo. O método compreende: determinar, para uma conversão entre um bloco de vídeo atual de um vídeo que é um bloco de croma e uma representação codificada do vídeo, parâmetros de um modelo linear de componente cruzado (CCLM) com base em duas ou quatro amostras de croma e/ou correspondentes amostras de luma; e realizar a conversão com base na determinação.
[0024] Em um outro aspecto representativo, a tecnologia descrita pode ser usada para prover um método para processamento de vídeo. O método compreende: selecionar, para uma conversão entre um bloco de vídeo atual de um vídeo que é um bloco de croma e uma representação codificada do vídeo, amostras de croma com base em uma regra de posição, as amostras de croma usadas para derivar parâmetros de um modelo linear de componente cruzado (CCLM); e realizar a conversão com base na determinação, em que a regra de posição especifica para selecionar as amostras de croma que estão localizadas em uma linha acima e/ou uma coluna à esquerda do bloco de vídeo atual.
9 / 162
[0025] Em um outro aspecto representativo, a tecnologia descrita pode ser usada para prover um método para processamento de vídeo. O método compreende: determinar, para uma conversão entre um bloco de vídeo atual de um vídeo que é um bloco de croma e uma representação codificada do vídeo, posições nas quais amostras de luma são descendentemente amostradas, em que as amostras de luma descendentemente amostradas são usadas para determinar parâmetros de um modelo linear de componente cruzado (CCLM) com base em amostras de croma e amostras de luma descendentemente amostradas, em que as amostras de luma descendentemente amostradas estão em posições correspondentes às posições das amostras de croma que são usadas para derivar os parâmetros do CCLM; e realizar a conversão com base na determinação.
[0026] Em um outro aspecto representativo, a tecnologia descrita pode ser usada para prover um método para processamento de vídeo. O método compreende: determinar, para uma conversão entre um bloco de vídeo atual de um vídeo que é um bloco de croma e uma representação codificada do vídeo, um método para derivar parâmetros de um modelo linear de componente cruzado (CCLM) usando amostras de croma e amostras de luma com base em uma condição de codificação associada com o bloco de vídeo atual; e realizar a conversão com base na determinação.
[0027] Em um outro aspecto representativo, a tecnologia descrita pode ser usada para prover um método para processamento de vídeo. O método compreende: determinar, para uma conversão entre um bloco de vídeo atual de um vídeo que é um bloco de croma e uma representação codificada do vídeo, se derivam-se valores máximos e/ou valores mínimos de um componente de luma e um componente de croma que são usados para derivar parâmetros de um modelo linear de componente cruzado (CCLM) com base na disponibilidade de um bloco vizinho esquerdo e um bloco vizinho acima do bloco de vídeo atual; e realizar a conversão com base na
10 / 162 determinação.
[0028] Em um outro aspecto representativo, a tecnologia descrita pode ser usada para prover um método para processamento de vídeo. O método compreende determinar, para uma conversão entre um bloco de vídeo atual de um vídeo e uma representação codificada do vídeo, parâmetros de uma ferramenta de codificação usando um modelo linear com base em amostras vizinhas selecionadas do bloco de vídeo atual e amostras vizinhas correspondentes de um bloco de referência; e realizar a conversão com base na determinação.
[0029] Em um outro aspecto representativo, a tecnologia descrita pode ser usada para prover um método para processamento de vídeo. O método compreende: determinar, para uma conversão entre um bloco de vídeo atual de um vídeo e uma representação codificada do vídeo, parâmetros de uma ferramenta de compensação de iluminação local (LIC) com base em N amostras vizinhas do bloco de vídeo atual e N amostras vizinhas correspondentes de um bloco de referência, em que as N amostras vizinhas do bloco de vídeo atual são selecionadas com base nas posições das N amostras vizinhas; e realizar a conversão com base na determinação, em que a ferramenta LIC usa um modelo linear de mudanças de iluminação no bloco de vídeo atual durante a conversão.
[0030] Em um outro aspecto representativo, a tecnologia descrita pode ser usada para prover um método para processamento de vídeo. O método compreende determinar, para uma conversão entre um bloco de vídeo atual de um vídeo que é um bloco de croma e uma representação codificada do vídeo, parâmetros de um modelo linear de componente cruzado (CCLM) com base em amostras de croma e correspondentes amostras de luma; e realizar a conversão com base na determinação, em que algumas das amostras de croma são obtidas por uma operação de enchimento e as amostras de croma e as correspondentes amostras de luma são agrupadas em dois arranjos
11 / 162 G0 e G1, cada arranjo incluindo duas amostras de croma e correspondentes amostras de luma.
[0031] Em ainda um outro aspecto representativo, o método supradescrito é incorporado na forma de código executável por processador e armazenado em uma mídia de programa legível por computador.
[0032] Em ainda um outro aspecto representativo, um dispositivo que é configurado ou operável para realiza o método supradescrito é descrito. O dispositivo pode incluir um processador que é programado para implementar este método.
[0033] Em ainda um outro aspecto representativo, um aparelho decodificador de vídeo pode implementar um método da forma aqui descrita.
[0034] Os aspectos e as características expostos e ainda outros da tecnologia descrita são descritos com mais detalhes nos desenhos, na descrição e nas reivindicações. Breve Descrição dos Desenhos
[0035] A figura 1 mostra um exemplo dos locais das amostras usadas para a derivação dos pesos do modelo linear usado para previsão de componente cruzado.
[0036] A figura 2 mostra um exemplo de classificação das amostras vizinhas em dois grupos.
[0037] A figura 3A mostra um exemplo de uma amostra de croma e suas correspondentes amostras de luma.
[0038] A figura 3B mostra um exemplo de filtragem descendente para o modelo linear de componente cruzado (CCLM) no Modelo de Exploração Conjunta (JEM).
[0039] As figuras 4A e 4B mostram exemplos de amostras vizinhas de topo apenas e vizinhas à esquerda apenas usadas para previsão com base em um modelo linear, respectivamente.
[0040] A figura 5 mostra um exemplo de uma linha reta entre valores
12 / 162 de luma máximo e mínimo como uma função das correspondentes amostras de croma.
[0041] A figura 6 mostra um exemplo de um bloco de croma atual e suas amostras vizinhas.
[0042] A figura 7 mostra um exemplo de partes diferentes de um bloco de croma previsto por um modelo linear usando apenas amostras vizinhas à esquerda (LM-L) e um modelo linear usando apenas amostras vizinhas acima (LM-A).
[0043] A figura 8 mostra um exemplo de um bloco vizinho de topo-à esquerda.
[0044] A figura 9 mostra um exemplo de amostras a serem usadas para derivar um modelo linear.
[0045] A figura 10 mostra um exemplo de colunas à esquerda e abaixo-à esquerda e linhas acima e acima-à direita em relação a um bloco atual.
[0046] A figura 11 mostra um exemplo de um bloco atual e suas amostras de referência.
[0047] A figura 12 mostra exemplos de duas amostras vizinhas quando amostras de referência vizinhas tanto à esquerda quanto acima estiverem disponíveis.
[0048] A figura 13 mostra exemplos de duas amostras vizinhas quando apenas amostras de referência vizinhas acima estiverem disponíveis.
[0049] A figura 14 mostra exemplos de duas amostras vizinhas quando apenas amostras de referência vizinhas à esquerda estiverem disponíveis.
[0050] A figura 15 mostra exemplos de quatro amostras vizinhas quando amostras de referência vizinhas tanto à esquerda quanto acima estiverem disponíveis.
[0051] A figura 16 mostra um exemplo de tabelas de busca usadas em
13 / 162 derivações LM.
[0052] A figura 17 mostra um exemplo de um processo de derivação do parâmetro LM com 64 entradas.
[0053] A figura 18 mostra um fluxograma de um método de exemplo para processamento de vídeo com base em algumas implementações da tecnologia descrita.
[0054] As figuras 19A e 19B mostram fluxogramas de métodos de exemplo para processamento de vídeo com base em algumas implementações da tecnologia descrita.
[0055] As figuras 20A e 20B mostram fluxogramas de outros métodos de exemplo para processamento de vídeo com base em algumas implementações da tecnologia descrita.
[0056] A figura 21 mostra um fluxograma de um outro método de exemplo para processamento de vídeo com base em algumas implementações da tecnologia descrita.
[0057] A figura 22 mostra um fluxograma de um método de exemplo para processamento de vídeo com base em algumas implementações da tecnologia descrita.
[0058] As figuras 23A e 23B mostram fluxogramas de métodos de exemplo para processamento de vídeo com base em algumas implementações da tecnologia descrita.
[0059] As figuras 24A-24E mostram fluxogramas de métodos de exemplo para processamento de vídeo com base em algumas implementações da tecnologia descrita.
[0060] As figuras 25A e 25B mostram fluxogramas de métodos de exemplo para processamento de vídeo com base em algumas implementações da tecnologia descrita.
[0061] As figuras 26A e 26B mostram fluxogramas de métodos de exemplo para processamento de vídeo com base em algumas implementações
14 / 162 da tecnologia descrita.
[0062] As figuras 27A e 27B mostram fluxogramas de métodos de exemplo para processamento de vídeo com base em algumas implementações da tecnologia descrita.
[0063] As figuras 28A-28C mostram fluxogramas de métodos de exemplo para processamento de vídeo com base em algumas implementações da tecnologia descrita.
[0064] As figuras 29A-29C mostram fluxogramas de métodos de exemplo para processamento de vídeo com base em algumas implementações da tecnologia descrita.
[0065] As figuras 30A e 30B são diagramas de blocos de exemplos de plataformas de hardware para implementar uma técnica de decodificação de mídia visual ou de codificação de mídia visual descrita no presente documento.
[0066] As figuras 31A e 31B mostram exemplos do processo de derivação do parâmetro LM com quatro entradas. A figura 31A mostra um exemplo em que amostras vizinhas tanto acima quanto à esquerda estão disponíveis e a figura 31B mostra um exemplo em que apenas amostras vizinhas acima estão disponíveis e de topo-à direita não estão disponíveis.
[0067] A figura 32 mostra exemplos de amostras vizinhas para derivar parâmetros LIC. Descrição Detalhada
[0068] Devido à crescente demanda de vídeo de resolução superior, métodos e técnicas de codificação de vídeo são ubíquos na moderna tecnologia. Codecs de vídeo tipicamente incluem um circuito ou software eletrônico que comprime ou descomprime vídeo digital, e estão sendo continuamente melhorados para prover eficiência de codificação mais alta. Um codec de vídeo converte vídeo não comprimido para um formato comprimido ou vice-versa. Há complexos relacionamentos entre a qualidade
15 / 162 de vídeo, a quantidade de dados usados para representar o vídeo (determinada pela taxa de bit), a complexidade dos algoritmos de codificação e decodificação, a sensibilidade às perdas e erros de dados, facilidade de edição, acesso aleatório, e atraso ponta a ponta (latência). O formato comprimido usualmente se conforma a uma especificação de compressão de vídeo padrão, por exemplo, o padrão da Codificação de Vídeo de Alta Eficiência (HEVC) (também conhecido como H.265 ou MPEG-H Parte 2), o padrão da Codificação de Vídeo Versátil (VVC) a ser finalizado, ou outros padrões atuais e/ou futuros de codificação de vídeo.
[0069] As modalidades da tecnologia descrita podem ser aplicadas nos padrões de codificação de vídeo existentes (por exemplo, HEVC, H.265) e padrões futuros para melhorar o desempenho em tempo de execução. Cabeçalhos de seção são usados no presente documento para melhorar a legibilidade da descrição e, de maneira nenhuma, limitam a discussão ou as modalidades (e/ou as implementações) às respectivas seções apenas. 1 Modalidades de previsão de componente cruzado
[0070] A previsão de componente cruzado é uma forma da abordagem de previsão croma para luma que tem uma proporcionalidade bem equilibrada entre complexidade e melhoria da eficiência de compressão.
1.1 Exemplos do modelo linear de componente cruzado (CCLM)
[0071] Em algumas modalidades, e para reduzir a redundância do componente cruzado, um modo de previsão do modelo linear de componente cruzado (CCLM) (também referido como LM), é usado no JEM, para o qual as amostras de croma são previstas com base nas amostras de luma reconstruídas da mesma CU pelo uso de um modelo linear, como segue: (1)
[0072] Aqui, representa as amostras de croma previstas em uma CU e representa as amostras de luma reconstruídas descendentemente amostradas da mesma CU para formatos de cor 4:2:0 ou
16 / 162 4:2:2, ao mesmo tempo em que representa as amostras de luma reconstruídas da mesma CU para o formato de cor 4:4:4. Os parâmetros de CCLM e são derivados pela minimização do erro de regressão entre as amostras de luma e de croma reconstruídas vizinhas ao redor do bloco atual, como segue: (2) e . (3)
[0073] Aqui, representa as amostras de luma reconstruídas vizinhas de topo e à esquerda descendentemente amostradas (para formatos de cor 4:2:0 ou 4:2:2) ou originais (para formato de cor 4:4:4), representa as amostras de croma reconstruídas vizinhas de topo e à esquerda, e o valor de é igual a duas vezes o mínimo da largura e da altura do atual bloco de codificação de croma.
[0074] Em algumas modalidades, e para um bloco de codificação com uma forma quadrada, as duas equações expostas são aplicadas diretamente. Em outras modalidades, e para um bloco de codificação não quadrado, as amostras vizinhas do contorno mais longo são subamostradas primeiro para ter o mesmo número de amostras do contorno mais curto. A figura 1 mostra o local das amostras reconstruídas à esquerda e acima e da amostra do bloco atual envolvido no modo CCLM.
[0075] Em algumas modalidades, esta computação de minimização do erro de regressão é realizada como parte do processo de decodificação, não somente como uma operação de busca do codificador, portanto, nenhuma sintaxe é usada para conduzir os valores α e β.
[0076] Em algumas modalidades, o modo de previsão CCLM também inclui previsão entre os dois componentes de croma, por exemplo, o componente Cr (diferença de vermelho) é previsto a partir do componente Cb (diferença de azul). Em vez de usar o sinal de amostra reconstruído, a
17 / 162 previsão de Cb para Cr do CCLM é aplicada no domínio residual. Isto é implementado pela adição de um resíduo de Cb reconstruído ponderado na intraprevisão de Cr original para formar a previsão de Cr final: (4)
[0077] Aqui, apresenta a amostra residual de Cb reconstruída na posição (i,j).
[0078] Em algumas modalidades, o fator de escala pode ser derivado de uma maneira similar à previsão de luma para croma CCLM. A única diferença é uma adição de um custo de regressão em relação a um valor de padrão na função de erro, de forma que o fator de escala derivado seja predisposto na direção um valor padrão de −0,5, como segue: (5)
[0079] Aqui, representa as amostras de Cb reconstruídas vizinhas, representa as amostras de Cr reconstruídas vizinhas, e é igual a .
[0080] Em algumas modalidades, o modo de previsão luma para croma CCLM é adicionado como um modo de intraprevisão de croma adicional. No lado do codificador, mais uma verificação de custo de RD para os componentes de croma é adicionada para selecionar o modo de intraprevisão de croma. Quando os modos de intraprevisão diferentes do modo de previsão luma para croma CCLM forem usados para os componentes de croma de uma CU, previsão de Cb para Cr do CCLM é usada para previsão do componente de Cr.
1.2 Exemplos de CCLM de modelos múltiplos
[0081] No JEM, há dois modos CCLM: o modo CCLM de modelo único e o modo CCLM de modelos múltiplos (MMLM). Da forma indicada pelo nome, o modo CCLM de modelo único emprega um modelo linear para prever as amostras de croma a partir das amostras de luma para a íntegra da
18 / 162 CU, ao mesmo tempo em que, em MMLM, pode haver dois modelos.
[0082] Em MMLM, amostras de luma vizinhas e amostras de croma vizinhas do bloco atual são classificadas em dois grupos, cada grupo é usado como um conjunto de treinamento para derivar um modelo linear (isto é, α e β em particular são derivados para um grupo em particular). Além do mais, as amostras do atual bloco de luma também são classificadas com base na mesma regra para a classificação das amostras de luma vizinhas.
[0083] A figura 2 mostra um exemplo de classificação das amostras vizinhas em dois grupos. Limite é calculado como o valor médio das amostras de luma reconstruídas vizinhas. Uma amostra vizinha com Rec′L[x,y] <= Limite é classificada no grupo 1; ao mesmo tempo em que uma amostra vizinha com Rec′L[x,y] > Limite é classificada no grupo 2.
(6)
1.3 Exemplos de filtros de amostragem descendente em CCLM
[0084] Em algumas modalidades, e para realizar previsão de componente cruzado, para o formato de croma 4:2:0, em que 4 amostras de luma correspondem a 1 amostra de croma, o bloco de luma reconstruído precisa ser descendentemente amostrado para combinar com o tamanho do sinal de croma. O filtro de amostragem descendente padrão usado no modo CCLM é como segue: Rec 'L [ x, y ] = {2 × RecL [ 2 x, 2 y ] + 2 × RecL [ 2 x, 2 y + 1] + RecL [ 2 x − 1, 2 y ] + RecL [ 2 x + 1, 2 y ] + RecL [ 2 x − 1, 2 y + 1] + RecL [ 2 x + 1, 2 y + 1] + 4} >> 3 (7)
[0085] Aqui, a amostragem descendente considera o relacionamento de fase “tipo 0” da forma mostrada na figura 3A para as posições das amostras de croma em relação às posições das amostras de luma, por exemplo, amostragem colocalizada horizontalmente e amostragem intersticial verticalmente.
19 / 162
[0086] O filtro de amostragem descendente de 6 derivações exemplar definido em (6) é usado como o filtro padrão tanto para o modo CCLM de modelo único quanto para o modo CCLM de modelos múltiplos.
[0087] Em algumas modalidades, e para o modo MMLM, o codificador pode selecionar alternativamente um de quatro filtros de amostragem descendente de luma adicionais para ser aplicado para previsão em uma CU, e enviar um índice de filtro para indicar qual dos mesmos é usado. Os quatro filtros de amostragem descendente de luma selecionáveis para o modo MMLM, da forma mostrada na figura 3B, são como segue: Rec 'L [ x, y ] = ( RecL [ 2 x, 2 y ] + RecL [ 2 x + 1, 2 y ] + 1) >> 1 (8) Rec 'L [ x, y ] = ( RecL [ 2 x + 1, 2 y ] + RecL [ 2 x + 1, 2 y + 1] + 1) >> 1 (9) Rec 'L [ x, y ] = ( RecL [ 2 x, 2 y + 1] + RecL [ 2 x + 1, 2 y + 1] + 1) >> 1 (10) Rec 'L [ x, y ] = ( RecL [ 2 x, 2 y] + RecL [ 2 x, 2 y + 1] + RecL [ 2 x + 1, 2 y ] + RecL [ 2 x + 1, 2 y + 1] + 2) >> 2 (11)
1.4 LM Multidirecional (MDLM)
[0088] Esta implementação existente propõe LM Multidirecional (MDLM). Em MDLM, dois modos CCLM adicionais são propostos: LM-A, em que os parâmetros do modelo linear são derivados apenas com base nas amostras vizinhas de topo (ou vizinhas acima), da forma mostrada na figura 4A, e LM-L, em que os parâmetros do modelo linear são derivados apenas com base nas amostras vizinhas à esquerda, da forma mostrada na figura 4B.
1.5 Simplificação do modelo linear de componente cruzado
[0089] Esta implementação existente propõe substituir o algoritmo LMS dos parâmetros do modelo linear e por uma equação de linha reta, assim denominado método de dois pontos. Os 2 pontos (par de Luma e Croma) (A, B) são os valores mínimo e máximo no interior do conjunto de amostras de luma vizinhas, da forma representada na figura 5.
[0090] Aqui, os parâmetros do modelo linear e são obtidos de acordo com a seguinte equação:
20 / 162
[0091] Em algumas modalidades, a operação de divisão necessária na derivação de é evitada e substituída por multiplicações e deslocamentos, como a seguir: a = 0; iShift = 16; int shift = (uiInternalBitDepth > 8) ? uiInternalBitDepth - 9 : 0; int add = shift ? 1 << (shift - 1) : 0; int diff = (MaxLuma- MinLuma + add) >> shift; se (diff > 0) { int div = ((MaxChroma- MinChroma) * g_aiLMDivTableLow[diff - 1] + 32768) >> 16; a = (((MaxChroma- MinChroma) * g_aiLMDivTableHigh[diff - 1] + div + add) >> shift); } b = MinLuma[1] - ((a * MinLuma[0]) >> iShift); Aqui, S é definido igual a iShift, α é definido igual a a e β é definido igual a b. Além do mais, g_aiLMDivTableLow e g_aiLMDivTableHigh são duas tabelas, cada qual com 512 entradas, em que cada entrada armazena um número inteiro de 16 bits.
[0092] Para derivar o preditor de croma, quanto à atual implementação de VTM, a multiplicação é substituída por uma operação integral, como o seguinte:
[0093] Esta implementação também é mais simples do que a atual implementação de VTM em virtude de o deslocamento S sempre ter o mesmo
21 / 162 valor.
1.6 Exemplos de CCLM em VVC
[0094] CCLM, como em JEM, é adotado em VTM-2.0, mas MM- CCLM em JEM não é adotado em VTM-2.0. MDLM e CCLM simplificado foram adotados em VTM-3.0.
1.7 Exemplos de Compensação de Iluminação Local em JEM
[0095] Compensação de Iluminação Local (LIC) é com base em um modelo linear para mudanças de iluminação, usando um fator de escala a e uma compensação b. E a mesma é habilitada ou desabilitada adaptativamente para cada unidade de codificação (CU) codificado em modo inter.
[0096] Quando LIC se aplicar para uma CU, um método do mínimo erro quadrático é empregado para derivar os parâmetros a e b pelo uso das amostras vizinhas da CU atual e suas correspondentes amostras de referência. Mais especificamente, da forma ilustrada na figura 32, as amostras vizinhas subamostradas (subamostragem 2:1) da CU e os correspondentes pixels (identificados pela informação de movimento da CU atual ou sub-CU) na figura de referência são usadas. Os parâmetros IC são derivados e aplicados para cada direção de previsão separadamente.
[0097] Quando uma CU for codificada com modo de mescla 2Nx2N, o indicador LIC é copiado a partir dos blocos vizinhos, de uma maneira similar à cópia da informação de movimento no modo de mescla; caso contrário, um indicador LIC é sinalizado para a CU para indicar se LIC se aplica ou não.
[0098] Quando LIC for habilitado para uma figura, verificação de RD no nível da CU adicional é necessária para determinar se LIC é aplicada ou não para uma CU. Quando LIC for habilitado para uma CU, soma de diferença absoluta com média removida (MR-SAD) e soma da diferença absoluta transformada por Hadamard com média removida (MR-SATD) são usadas, em vez de SAD e SATD, para busca de movimento de pixel integral e
22 / 162 busca de movimento de pixel fracionário, respectivamente.
[0099] Para reduzir a complexidade da codificação, o seguinte esquema de codificação é aplicado em JEM: LIC é desabilitado para a íntegra da figura quando não houver óbvia mudança de iluminação entre uma figura atual e suas figuras de referência. Para identificar esta situação, histogramas de uma figura atual e cada figura de referência da figura atual são calculados no codificador. Se a diferença do histograma entre a figura atual e cada figura de referência da figura atual for menor do que um dado limite, LIC é desabilitado para a figura atual; caso contrário, LIC é habilitado para a figura atual. 2 Exemplos de desvantagens em implementações existentes
[00100] As atuais implementações introduzem um método de dois pontos para substituir a abordagem LMS do modo LM em JEM. Embora o método inédito diminua o número de adições e multiplicações em CCLM, o mesmo introduz os seguintes problemas: 1) Comparações são introduzidas para encontrar os valores de luma máximo e mínimo, que não são amigáveis a um desenho de software de única instrução, múltiplos dados (SIMD).
[00101] 2) Duas tabelas de busca com 1.024 entradas no total armazenando números de 16 bits são introduzidas, com uma exigência de memória ROM 2K que não é desejável em um desenho de hardware. 3 Métodos exemplares para previsão de componente cruzado na codificação de vídeo
[00102] As modalidades da tecnologia atualmente descrita superam as desvantagens das implementações existentes, desse modo, provendo a codificação de vídeo com eficiências de codificação superiores e complexidade computacional inferior. As derivações do modelo linear simplificado para previsão de componente cruzado, com base na tecnologia descrita, podem intensificar padrões tanto existentes quanto futuros de
23 / 162 codificação de vídeo, são elucidadas nos seguintes exemplos descritos para várias implementações. Os exemplos da tecnologia descrita providos a seguir explicam conceitos gerais, e não pretende-se que sejam interpretados como limitantes. Em um exemplo, a menos que explicitamente indicado ao contrário, as várias características descritas nestes exemplos podem ser combinadas.
[00103] Nos seguintes exemplos e métodos, o termo “método LM” inclui, mas sem limitações, o modo LM em JEM ou VTM, e o modo MMLM em JEM, o modo LM à esquerda que usa apenas as amostras vizinhas à esquerda para derivar o modelo linear, o modo LM acima que usa apenas amostras vizinhas acima para derivar o modelo linear ou outros tipos de métodos que utilizam amostras de reconstrução de luma para derivar blocos de previsão de croma. Todos os modos LM que não são o LM-L nem o LM-A são chamados de modos LM normais.
[00104] Nos seguintes exemplos e métodos, Shift(x, s) é definido como , e SignShift(x, s) é definido como
[00105] Aqui, off é um número inteiro, tais como 0 ou 2s-1.
[00106] A altura e a largura de um bloco de croma atual são denotadas como H e W, respectivamente.
[00107] A figura 6 mostra um exemplo de amostras vizinhas do bloco de croma atual. Considere que a coordenada da amostra no topo-à esquerda do bloco de croma atual seja denotada como (x, y). Então, as amostras de croma vizinhas (da forma mostrada na figura 6) são denotadas como: A: Amostra de topo à esquerda: [x-1, y], B: Amostra média de topo à esquerda: [x-1, y+H/2-1], C: Amostra média de base à esquerda: [x-1, y+H/2], D: Amostra de base à esquerda: [x-1, y+H-1],
24 / 162 E: Amostra de topo de base estendida à esquerda: [x-1, y+H], F: Amostra média de topo de base estendida à esquerda: [x-1, y+H+H/2-1], G: Amostra média de base de base estendida à esquerda: [x-1, y+H+H/2], I: Amostra de base de base estendida à esquerda: [x-1, y+H+H-1], J: Amostra à esquerda acima: [x, y-1], K: Amostra de meio à esquerda acima: [x+W/2-1, y-1], L: Amostra de meio à direita acima: [x+W/2, y-1], M: Amostra à direita acima: [x+W-1, y-1], N: Amostra à esquerda acima estendida acima: [x+W, y-1], O: Amostra de meio à esquerda acima estendida acima: [x+W +W/2-1, y-1], P: Amostra de meio à direita acima estendida acima: [x+W +W/2, y-1], e Q: Amostra à direita acima estendida acima: [x+W +W-1, y- 1].
[00108] Exemplo 1. Os parâmetros α e β nos métodos LM são derivados a partir de amostras de croma em duas ou mais posições específicas.
[00109] a. A derivação também é dependente das correspondentes amostras de luma descendentemente amostradas das amostras de croma selecionadas. Alternativamente, a derivação também é dependente das correspondentes amostras de luma das amostras de croma selecionadas, tal como quando se tratar do formato de cor 4:4:4.
[00110] b. Por exemplo, os parâmetros α e β em CCLM são derivados a partir de amostras de croma em 2S (por exemplo S=2 ou 3) posições, tais como:
25 / 162 i.
Posição {A, D, J, M}; ii.
Posição {A, B, C, D, J, K, L, M}; iii.
Posição {A, I, J, Q}; iv.
Posição {A, B, D, I, J, K, M, Q}; v.
Posição {A, B, D, F, J, K, M, O}; vi.
Posição {A, B, F, I, J, K, O, Q}; vii.
Posição {A, C, E, I, J, L, N, Q}; viii.
Posição {A, C, G, I, J, L, P, Q}; ix.
Posição {A, C, E, G, J, L, N, P}; x.
Posição {A, B, C, D}; xi.
Posição {A, B, D, I}; xii.
Posição {A, B, D, F}; xiii.
Posição {A, C, E, I}; xiv.
Posição {A, C, G, I}; xv.
Posição {A, C, E, G}; xvi.
Posição {J, K, L, M}; xvii.
Posição {J, K, M, Q}; xviii.
Posição {J, K, M, O}; xix.
Posição {J, K, O, Q}; xx.
Posição {J, L, N, Q}; xxi.
Posição {J, L, P, Q}; xxii.
Posição {J, L, N, P}; xxiii.
Posição {A, B, C, E, E, F, G, I}; xxiv.
Posição {J, K, L, M, N, O, P, Q}; c.
Por exemplo, os parâmetros α e β em CCLM são derivados a partir de amostras de croma em: i.
Qualquer combinação entre {A, B, C, D, E, F, G, I} e {J, K, L, M, N, O, P, Q}, tais como (a) Posição A e J;
26 / 162
(b) Posição B e K; (c) Posição C e L; (d) Posição D e M; (e) Posição E e N; (f) Posição F e O; (g) Posição G e P; (h) Posição I e Q; ii.
Quaisquer duas posições diferentes buscadas a partir de {A, B, C, D, E, F, G, } (a) Posição A e B; (b) Posição A e C; (c) Posição A e D; (d) Posição A e E; (e) Posição A e F; (f) Posição A e G; (g) Posição A e I; (h) Posição D e B; (i) Posição D e C; (j) Posição E e B; (k) Posição E e C; (l) Posição I e B; (m) Posição I e C; (n) Posição I e D; (o) Posição I e E; (p) Posição I e F; (q) Posição I e G; iii.
Quaisquer duas posições diferentes buscadas a partir de {J, K, L, M, N, O, P, Q} (a) Posição J e K;
27 / 162 (b) Posição J e L; (c) Posição J e M; (d) Posição J e N; (e) Posição J e O; (f) Posição J e P; (g) Posição J e Q; (h) Posição M e K; (i) Posição M e L; (j) Posição N e K; (k) Posição N e L; (l) Posição Q e K; (m) Posição Q e L; (n) Posição Q e M; (o) Posição Q e N; (p) Posição Q e O; (q) Posição Q e P; (r) Posição Q e Q; iv. Em um exemplo, se as duas posições selecionadas tiverem valor de luma idêntico, mais posições podem ser adicionalmente verificadas.
[00111] d. Por exemplo, nem todas as amostras disponíveis de croma são buscadas para encontrar os valores de luma máximo e mínimo para derivar os parâmetros α e β em CCLM com o método de dois pontos.
[00112] i. Uma amostra de croma dentre K amostras de croma (e suas correspondentes amostras de luma descendentemente amostradas) é incluída no conjunto de busca. K pode ser 2, 4, 6 ou 8.
[00113] (a) Por exemplo, se Rec[x,y] for uma amostra vizinha exposta, a mesma é incluída no conjunto de busca apenas se x%K==0. Se Rec[x,y] for uma amostra vizinha à esquerda, a mesma é incluída no conjunto de busca apenas se y%K==0.
28 / 162
[00114] ii. Apenas amostras de croma em posições específicas, tal como definido em 1.a.i~1.a.xxiv são incluídas no conjunto de busca.
[00115] e. Para modo LM-L, todas as amostras selecionadas devem ser amostras vizinhas à esquerda.
[00116] f. Para modo LM-A, todas as amostras selecionadas devem ser amostras vizinhas acima.
[00117] g. As posições selecionadas podem ser fixas, ou as mesmas podem ser adaptativas.
[00118] i. Em um exemplo, quais posições são selecionadas pode depender da largura e da altura do bloco de croma atual; ii. Em um exemplo, quais posições são selecionadas pode ser sinalizado do codificador para o decodificador, tal como em VPS/SPS/PPS/cabeçalho de fatia/cabeçalho do grupo de quadriculados/quadriculado/CTU/CU/PU.
[00119] h. As amostras de croma selecionadas são usadas para derivar os parâmetros α e β com o método da mínima média quadrática, da forma mostrada em Eq(2) e Eq(3). Em Eq(2) e Eq(3), N é definido para ser o número das amostras selecionadas.
[00120] i. Um par de amostras de croma selecionadas é usado para derivar os parâmetros α e β com o método de dois pontos.
[00121] j. Em um exemplo, como selecionar amostras pode depender da disponibilidade dos blocos vizinhos.
[00122] i. Por exemplo, posições A, D, J e M são selecionadas se blocos vizinhos tanto à esquerda quanto acima estiverem disponíveis; posições A e D são selecionadas se apenas o bloco vizinho à esquerda estiver disponível; e posições J e M são selecionadas se apenas o bloco vizinho acima estiver disponível.
[00123] Exemplo 2. Conjuntos de parâmetros no modo CCLM podem ser primeiramente derivados e, então, combinados para formar o parâmetro
29 / 162 final do modelo linear usado para codificação de um bloco. Suponha que α1 e β1 são derivados a partir de um grupo de amostras de croma nas posições específicas denotadas como Grupo 1, α2 e β2 são derivados a partir de um grupo de amostras de croma nas posições específicas denotadas como Grupo 2, … , αN e βN são derivados a partir de um grupo de amostras de croma nas posições específicas denotadas como Grupo N, então, α e β finais podem ser derivados a partir de (α1, β1), … (αN, βN).
[00124] a. Em um exemplo, α é calculado como a média de α1, … αN e β é calculado como a média de β 1, … β N.
[00125] i. Em um exemplo, α=SignShift(α1+ α2, 1), β=SignShift(β1+ β2, 1).
[00126] ii. Em um exemplo, α=Shift(α1+ α2, 1), β=Shift(β1+ β2, 1).
[00127] iii. Se (α1, β1) e (α2, β2) forem com precisão diferente, por exemplo, para obter uma previsão de croma CP a partir de sua correspondente amostra de luma descendentemente amostrada LR, a mesma é calculada como CP = SignShift (α1 × LR + β1 , Sh1 ) com (α1, β1), mas CP = SignShift (α2 × LR + β2 , Sh2 ) com (α2, β2) Sh1 não é igual a Sh2, então, os parâmetros precisam ser deslocados antes de serem combinados. Suponha que Sh1 > Sh2, então, antes da combinação, os parâmetros devem ser deslocados como: (a) α1 = SignShift (α1 , Sh1 − Sh2 ), β1 = SignShift (β1, Sh1 − Sh2 ) . Então, a precisão final é como (α2, β2).
[00128] (b) α1 = Shift (α1, Sh1 − Sh2 ), β1 = Shift (β1, Sh1 − Sh2 ) . Então, a precisão final é como (α2, β2).
[00129] (c) α2 = α2 << (Sh1 − Sh2 ), β2 = β2 << (Sh1 − Sh2 ) . Então, a precisão final é como (α1, β1).
[00130] b. Alguns exemplos das posições no Grupo 1 e no Grupo 2: i. Grupo 1: Posição A e D, Grupo 2: Posição J e M; ii. Grupo 1: Posição A e I, Grupo 2: Posição J e Q;
30 / 162 iii. Grupo 1: Posição A e D, Grupo 2: Posição E e I, em que há dois grupos que são usados para o modo LM-L; iv. Grupo 1: Posição J e M, Grupo 2: Posição N e Q, em que há dois grupos que são usados para o modo LM-A; v. Grupo 1: Posição A e B, Grupo 2: Posição C e D, em que há dois grupos que são usados para o modo LM-L; vi. Grupo 1: Posição J e K, Grupo 2: Posição L e M, em que há dois grupos que são usados para o modo LM-A.
[00131] Exemplo 3. Suponha que dois valores da amostra de croma denotados como C0 e C1, e seus correspondentes valores da amostra de luma denotados como L0 e L1 ( L0 < L1) são entradas. O método de dois pontos pode derivar α e β com a entrada como
[00132] As profundidades de bit das amostras de luma e amostras de croma são denotadas como BL e BC. Uma ou mais simplificações para esta implementação incluem: a. α é transmitido como 0 se L1 for igual a L0. Alternativamente, quando L1 for igual a L0, um certo modo de intraprevisão (por exemplo, modo DM, DC ou plano) é usado em vez de usar o modo CCLM para derivar a previsão bloco.
[00133] b. A operação de divisão é substituída por outras operações sem tabela de busca. A operação de log2 pode ser implementada pela verificação da posição do dígito mais significativo.
[00134] i. α = Shift (C1 − C0, Floor (log2 ( L1 − L0)) ou α = SignShift (C1 − C0, Floor (log2 ( L1 − L0)) ii. α = Shift (C1 − C0, Ceiling (log2 ( L1 − L0)) ou α = SignShift (C1 − C0, Ceiling (log2 ( L1 − L0)) iii. Exemplo i ou Exemplo ii podem ser selecionados com base
31 / 162 no valor de L1-L0.
[00135] (a) Por exemplo, Exemplo i é usado se L1-L0<T, caso contrário, Exemplo ii é usado. Por exemplo, T pode ser ( Floor (log2 ( L1 − L0)) + Ceiling (log2 ( L1 − L0))) / 2 .
[00136] (b) Por exemplo, Exemplo i é usado se 3 × ( L1 − L0) < 2Floor ( Log2 ( L1− L0))+2 , caso contrário, Exemplo ii é usado.
[00137] (c) Por exemplo, Exemplo i é usado se ( L1 − L0)2 < 22×Floor ( Log2 ( L1− L0))+1 , caso contrário, Exemplo ii é usado.
[00138] c. A operação de divisão é substituída por uma tabela de busca denotada como M[k].
[00139] i. O tamanho da tabela de busca denotada como V é menor do que 2P, em que P é um número inteiro, tais como 5, 6, ou 7.
[00140] ii. Cada entrada da tabela de busca armazena um número inteiro de F-bits, por exemplo, F= 8 ou 16.
[00141] (a) Em um exemplo, M[k-Z]=((1<<S)+Off)/k, em que S é um número inteiro que define a precisão, por exemplo, S=F. Off é uma compensação, por exemplo, Off=(k+Z)>>1. Z define o valor inicial da tabela, por exemplo, Z=1, ou Z=8, ou Z= 32. Uma chave válida k que inquire a tabela mais satisfazer k >= Z.
[00142] iii. k=Shift(L1-L0, W) é usado como a chave para inquirir a tabela de busca.
[00143] (a) Em um exemplo, W depende de BL, V e Z.
[00144] (b) Em um exemplo, W também depende do valor de L1-L0.
[00145] iv. Se k não for uma chave válida para inquirir a tabela de busca (k-Z < 0 ou k-Z >=V), α é transmitido como 0.
[00146] v. Por exemplo, α = Shift ((C1 − C 0) × M [k − Z ], D) , ou α = SignShift ((C1 − C 0) × M [k − Z ], D) .
[00147] vi. Para obter um CP da previsão de croma a partir de sua
32 / 162 correspondente amostra de luma LR (por exemplo, descendentemente amostrada para 4:2:0), o mesmo é calculado como CP = SignShift (α × LR + β , Sh) , ou CP = Shift (α × LR + β , Sh) .
[00148] vii. Sh pode ser um número fixo, ou o mesmo pode depender dos valores de C0, C1, L0, L1 usados para α e β calculados.
[00149] (a) Sh pode depender de BL, BC, V, S e D.
[00150] (b) D pode depender de Sh.
[00151] viii. O tamanho da tabela de busca denotada como V é igual a 2P, em que P é um número inteiro, tais como 5, 6, 7 ou 8. Alternativamente, V é definido em 2P - M (por exemplo, M é igual a 0).
[00152] ix. Suponha que α = P/Q (por exemplo, Q = L1-L0, P = C1- C0, ou os mesmos são derivados de outras maneiras), então, α é calculado com a tabela de busca como α = Shift(P×M[k−Z], D) ou α = SignShift(P×M[k−Z], D), em que k é a chave (índice) para inquirir uma entrada na tabela de busca.
[00153] (a) Em um exemplo, k é derivado a partir de Q com uma função: k= f(Q).
[00154] (b) Em um exemplo, k é derivado a partir de Q e P, com uma função: k= f(Q, P).
[00155] (c) Em um exemplo, k é válido em uma faixa específica [kMin, kMax]. Por exemplo, kMin = Z e kMax = V+Z.
[00156] (d) Em um exemplo, k=Shift(Q, W), a. W pode depender de BL, V e Z.
[00157] b. W pode depender do valor de Q.
[00158] c. Em um exemplo, quando k for calculado como Shift(Q, W), então, α é calculado com a tabela de busca como α = (Shift(P×M[k−Z], D)) << W ou α = (SignShift(P×M[k−Z], D)) << W.
33 / 162
[00159] (e) Em um exemplo, k é derivado de diferentes maneiras com diferentes valores de Q.
[00160] a. Por exemplo, k= Q quando Q<= kMax, e k = Shift(Q, W) quando Q > kMax. Por exemplo, W é escolhido como o menor número inteiro positivo que torna makes Shift(Q, W) não maior do que kMax.
[00161] b. Por exemplo, k = Min(kMax, Q).
[00162] c. Por exemplo, k = Max(kMin, Min(kMax, Q)).
[00163] (f) Em um exemplo, quando Q < 0, -Q é usado para substituir Q no cálculo. Então –α é transmitido.
[00164] (g) Em um exemplo, quando Q for igual a 0, então, α é definido para ser um valor padrão, tais como 0 ou 1.
[00165] (h) Em um exemplo, quando Q for igual a 2E E>=0, então, α = Shift(P, E) ou α = SignShift(P, E).
[00166] d. Todas as operações para derivar os parâmetros LM devem ser em K bits, K podendo ser 8, 10, 12, 16, 24 ou 32.
[00167] i. Se uma variável intermídia puder exceder a faixa representada pelos bits restritos, a mesma deve ser limitada ou deslocada para a direita para ficar nos bits restritos.
[00168] Exemplo 4. Um único bloco de croma pode usar múltiplos modelos lineares e a seleção de múltiplos modelos lineares é dependente da posição de amostras de croma no bloco de croma.
[00169] a. Em um exemplo, modos LM-L e LM-A podem ser combinados em um único bloco de croma.
[00170] b. Em um exemplo, algumas amostras são previstas pelo modo LM-L e outras amostras são previstas pelo modo LM-A.
[00171] i. a figura 7 mostra um exemplo. Suponha que a amostra no topo-à esquerda está na posição (0,0). As amostras na posição (x,y) com x>y (ou x>=y) são previstas por LM-A, e outras amostras são previstas por LM-L.
[00172] c. Suponha que as previsões com LM-L e LM-A para uma
34 / 162 amostra na posição (x,y) são denotadas como P1(x,y) e P2(x,y), respectivamente, então, a previsão final P(x,y) é calculada como uma soma ponderada de P1(x,y) e P2(x,y).
[00173] i. P(x,y)=w1*P1(x,y)+w2*P2(x,y).
[00174] (a) w1+w2=1.
[00175] ii. P(x,y)=(w1*P1(x,y)+w2*P2(x,y)+Offset)>>shift, em que offset pode ser 0 ou 1<<(shift-1), e shift é um número inteiro, tais como 1, 2, 3….
[00176] (a) w1+w2=1<<shift.
[00177] iii. P(x,y) = (w1*P1(x,y) + ((1<<shift) - w1) * P2(x,y)+Offset) >> shift, em que offset pode ser 0 ou 1<<(shift-1), e shift é um número inteiro, tais como 1, 2, 3….
[00178] iv. w1 e w2 podem depender da posição (x,y) (a) Por exemplo, w1 > w2 (por exemplo, w1=3, w2=1) se x<y, (b) Por exemplo, w1 < w2 (por exemplo, w1=1, w2=3) se x>y, (c) Por exemplo, w1 = w2 (por exemplo, w1=2, w2=2) se x==y, (d) Por exemplo, w1 – w2 aumenta se y-x aumentar quando x <y, (e) Por exemplo, w2 – w1 aumenta se x-y aumentar quando x >y.
[00179] Exemplo 5. É proposto que as amostras vizinhas (incluindo amostras de croma e suas correspondentes amostras de luma, que podem ser descendentemente amostradas) sejam divididas em N grupos. O máximo valor de luma e o mínimo valor de luma para o k-ésimo grupo (com k = 0, 1,…., N- 1) são denotados como MaxLk e MinLk, e seus correspondente valores de croma são denotados como MaxCk e MinCk, respectivamente.
[00180] a. Em um exemplo, MaxL é calculado como MaxL=f1(MaxLS0, MaxLS1, …, MaxLSm); MaxC é calculado como
35 / 162 MaxC=f2(MaxCS0, MaxCS1,…MaxCSm); MinL é calculado como MinL=f3(MinLS0, MinLS1,…MinLSm). MinC é calculado como MinC=f3(MinCS0, MinCS1, …, MinCSm). f1, f2, f3 e f4 são funções. O método de dois pontos deriva α e β com a entrada como: MaxC − MinC α= MaxL − MinL β = MinC − α MinL
[00181] i. Em um exemplo, f1, f2, f3, f4, todos, representam a função de ponderação.
[00182] ii. S0, S1,…Sm são índices de grupos selecionados que são usados para calcular α e β.
[00183] (1) Por exemplo, todos os grupos são usados, por exemplo, S0=0, S1=1,… Sm=N-1.
[00184] (2) Por exemplo, dois grupos são usados, por exemplo, m=1, S0=0, S1 = N-1.
[00185] (3) Por exemplo, nem todos os grupos são usados, por exemplo, m < N-1, S0=0, S1=2, S3= 4, …
[00186] b. Em um exemplo, amostras (ou amostras descendentemente amostradas) localizadas em linhas acima podem ser classificadas para um grupo e amostras (ou amostras descendentemente amostradas) localizadas nas colunas à esquerda de um bloco podem ser classificadas para um outro grupo.
[00187] c. Em um exemplo, amostras (ou amostras descendentemente amostradas) são classificadas com base em seus locais ou coordenadas.
[00188] i. Por exemplos, amostras podem ser classificadas em dois grupos.
[00189] (1) Para uma amostra com coordenada (x,y) localizada nas linhas acima, a mesma é classificada no grupo S0 se x%P = Q, em que P e Q são números inteiros, por exemplo, P = 2, Q =1, P=2, Q = 0 ou P = 4, Q = 0; Caso contrário, a mesma é classificada no grupo S1.
[00190] (2) Para uma amostra com coordenada (x,y) localizada nas
36 / 162 colunas à esquerda, a mesma é classificada no grupo S0 se y%P = Q, em que P e Q são números inteiros, por exemplo, P = 2, Q =1, P=2, Q = 0 ou P = 4, Q = 0; Caso contrário, a mesma é classificada no grupo S1.
[00191] (3) Apenas amostras em um grupo, tal como S0, são usadas para encontrar MaxC e MaxL. Por exemplo, MaxL= MaxLS0 e MaxC= MaxCS0.
[00192] d. Em um exemplo, apenas parcial das amostras vizinhas (ou amostras descendentemente amostradas) é usada para dividida em N grupos.
[00193] e. O número de grupos (por exemplo, N) e/ou os índices e/ou as funções de grupo selecionados (f1/f2/f3/f4) podem ser pré-definidos ou sinalizados em SPS/VPS/PPS/cabeçalho de figura/cabeçalho de fatia/cabeçalho do grupo de quadriculados/LCUs/LCU/CUs.
[00194] f. Em um exemplo, como selecionar as amostras para cada grupo pode depender da disponibilidade de blocos vizinhos.
[00195] i. Por exemplo, MaxL0 /MaxC0 e MinL0 /MinC0 são encontrados a partir das posições A e D; MaxL1 /MaxC1 e MinL1 /MinC1 são encontrados a partir das posições J e M, então, MaxL= (MaxL0 + MaxL1 )/ 2, MaxC= (MaxC0 + MaxC1 )/ 2, MinL= (MinL0 + MinL1 )/ 2, MinC= (MinC0 + MinC1 )/ 2, quando blocos vizinhos tanto à esquerda quanto acima estiverem disponíveis.
[00196] ii. Por exemplo, MaxL /MaxC e MinL /MinC são diretamente encontrados a partir das posições A e D quando apenas o bloco vizinho à esquerda estiver disponível.
[00197] (1) Alternativamente, α e β são definidos igual a alguns valores padrões se o bloco vizinho acima não estiver disponível. Por exemplo, α = 0 e β=1<<(bitDepth -1), em que bitDepth é a profundidade de bit das amostras de croma.
[00198] iii. Por exemplo, MaxL /MaxC e MinL /MinC são diretamente encontrados a partir das posições J e M quando o bloco vizinho acima estiver
37 / 162 disponível.
[00199] (1) Alternativamente, α e β são definidos igual a alguns valores padrões se o bloco vizinho à esquerda não estiver disponível. Por exemplo, α = 0 e β=1<<(bitDepth -1), em que bitDepth é a profundidade de bit das amostras de croma.
[00200] g. Em um exemplo, como selecionar as amostras para cada grupo pode depender da largura e da altura do bloco.
[00201] h. Em um exemplo, como selecionar as amostras para cada grupo pode depender dos valores de amostras.
[00202] i. Em um exemplo, as duas amostras com o maior valor de luma e o mínimo valor de luma são escolhidas para estar em um primeiro grupo. E todas as outras amostras estão em um segundo grupo.
[00203] Exemplo 6. É proposto que se e como aplicar modos LM-L e LM-A pode depender da largura (W) e da altura (H) do bloco atual.
[00204] (a) Por exemplo, LM-L não pode ser aplicado se W > K×H. Por exemplo, K = 2.
[00205] (b) Por exemplo, LM-A não pode ser aplicado se H > K×W. Por exemplo, K = 2.
[00206] (c) Se um de LM-L e LM-A não puder ser aplicado, o indicador para indicar se LM-L ou LM-A é usado não deve ser sinalizado.
[00207] Exemplo 7. Um indicador é sinalizado para indicar se modo CCLM é aplicado. O contexto usado em codificação aritmética para codificar o indicador pode depender se o bloco vizinho de topo-à esquerda, da forma mostrada na figura 8, aplica o modo CCLM ou não.
[00208] (a) Em um exemplo, um primeiro contexto é usado se o bloco vizinho de topo-à esquerda aplicar o modo CCLM; e um segundo contexto é usado se o bloco vizinho de topo-à esquerda não aplicar o modo CCLM.
[00209] (b) Em um exemplo, se o bloco vizinho de topo-à esquerda não estiver disponível, isto é considerado como não aplicação do modo
38 / 162 CCLM.
[00210] (c) Em um exemplo, se o bloco vizinho de topo-à esquerda não estiver disponível, isto é considerado como aplicação do modo CCLM.
[00211] (d) Em um exemplo, se o bloco vizinho de topo-à esquerda não for intracodificado, isto é considerado como não aplicação do modo CCLM.
[00212] (e) Em um exemplo, se o bloco vizinho de topo-à esquerda não for intracodificado, isto é considerado como aplicação do modo CCLM.
[00213] Exemplo 8. Indicações ou palavras códigos de modos DM e LM podem ser codificados em diferentes ordens de sequência até sequência/figura até figura/quadriculado até quadriculado/bloco até bloco.
[00214] (a) A ordem de codificação das indicações de LM e DM (por exemplo, codificar primeiramente se for o modo LM, se não, então, codificar se for o modo DM; ou codificar primeiramente se for o modo DM, se não, então, codificar se for o modo LM) pode ser depende da informação de modo de um ou múltiplos blocos vizinhos.
[00215] (b) Em um exemplo, quando o bloco de topo-à esquerda do bloco atual estiver disponível e codificado com modo LM, então, a indicação de modo LM é primeiramente codificada.
[00216] (c) Alternativamente, quando o bloco de topo-à esquerda do bloco atual estiver disponível e codificado com modo DM, então, a indicação de modo DM é primeiramente codificada.
[00217] (d) Alternativamente, quando o bloco de topo-à esquerda do bloco atual estiver disponível e codificado não com LM (por exemplo, o modo DM ou outros modos de intraprevisão excluindo LM), então, a indicação de modo DM é primeiramente codificada.
[00218] (e) Em um exemplo, indicações da ordem podem ser sinalizadas em SPS/VPS/PPS/cabeçalho de figura/cabeçalho de fatia/cabeçalho do grupo de quadriculados/LCUs/LCU/CUs.
39 / 162
[00219] Exemplo 9. Nos exemplos expostos, amostras (ou amostras descendentemente amostradas) podem ser localizadas além da faixa de 2×W amostras vizinhas acima ou 2×H amostras vizinhas à esquerda, da forma mostrada na figura 6.
[00220] (a) Com modo LM ou modo LM-L, pode-se usar uma amostra vizinha RecC[x-1, y+d], em que d está na faixa de [T, S]. T pode ser menor do que 0, e S pode ser maior do que 2H-1. Por exemplo, T = -4 e S = 3H. Em um outro exemplo, T = 0, S = max(2H, W+H). Em ainda um outro exemplo, T = 0 e S = 4H.
[00221] (b) Com modo LM ou modo LM-A, pode-se usar uma amostra vizinha RecC[x+d, y], em que d está na faixa de [T, S]. T pode ser menor do que 0, e S pode ser maior do que 2W-1. Por exemplo, T = -4 e S = 3W. Em um outro exemplo, T = 0, S = max(2W, W+H). Em ainda um outro exemplo, T = 0 e S = 4W.
[00222] Exemplo 10. Em um exemplo, as amostras de croma vizinhas e suas correspondentes amostras de luma (podem ser descendentemente amostradas) são descendentemente amostradas antes da derivação dos parâmetros do modelo linear α e β, da forma descrita nos Exemplos 1-7. Suponha que a largura e a altura do bloco de croma atual são W e H.
[00223] (a) Em um exemplo, se e como conduzir a amostragem descendente pode depender de W e H.
[00224] (b) Em um exemplo, o número de amostras vizinhas usadas para derivar os parâmetros à esquerda do bloco atual, e o número de amostras vizinhas usadas para derivar os parâmetros acima do bloco atual, devem ser os mesmos depois do processo de amostragem descendente.
[00225] (c) Em um exemplo, as amostras de croma vizinhas e suas correspondentes amostras de luma (podem ser descendentemente amostradas) não são descendentemente amostradas se W for igual a H.
[00226] (d) Em um exemplo, as amostras de croma vizinhas e suas
40 / 162 correspondentes amostras de luma (podem ser descendentemente amostradas) à esquerda do bloco atual são descendentemente amostradas se W < H.
[00227] (i) Em um exemplo, uma amostra de croma em cada uma das amostras de croma H/W é escolhida para ser usada para derivar α e β. Outras amostras de croma são descartadas. Por exemplo, suponha que R[0, 0] representa a amostra no topo-à esquerda do bloco atual, então, R[-1, K*H/W], K de 0 a W-1, são escolhidos para serem usados para derivar α e β.
[00228] (e) Em um exemplo, as amostras de croma vizinhas e suas correspondentes amostras de luma (podem ser descendentemente amostradas) acima do bloco atual são descendentemente amostradas se W > H.
[00229] (ii) Em um exemplo, uma amostra de croma em cada uma das amostras de croma W/H é escolhida para ser usada para derivar α e β. Outras amostras de croma são descartadas. Por exemplo, suponha que R[0, 0] representa a amostra no topo-à esquerda do bloco atual, então, R[ K*W/H, - 1], K de 0 a H-1, são escolhidos para serem usados para derivar α e β.
[00230] (ii) A figura 9 mostra exemplos de amostras a serem captadas quando a posição D e a posição M na figura 6 forem usadas para derivar α e β, e amostragem descendente realizada quando W>H.
[00231] Exemplo 11. Amostras descendentemente amostradas/originalmente reconstruídas vizinhas e/ou amostras descendentemente amostradas/originalmente reconstruídas podem ser adicionalmente refinadas antes de ser usadas no processo de previsão de modelo linear ou no processo de previsão do componente de cor cruzada.
[00232] (a) “Para ser refinado” pode se referir a um processamento de filtragem.
[00233] (b) “Para ser refinado” pode se referir a qualquer processamento não linear.
[00234] (c) É proposto que diversas amostras vizinhas (incluindo amostras de croma e suas correspondentes amostras de luma, que podem ser
41 / 162 descendentemente amostradas) sejam captadas para calcular C1, C0, L1 e L0, a fim de derivar α e β, tal como α = (C1−C0) / (L1−L0) e β = C0 − αL0.
[00235] (d) Em um exemplo, S amostras de luma vizinhas (podem ser descendentemente amostradas) denotadas como Lx1, Lx2,…, LxS, e suas correspondentes amostras de croma denotados como Cx1, Cx2, … CxS são usadas para derivar C0 e L0, e T amostras de luma vizinhas (podem ser descendentemente amostradas) denotadas como Ly1, Ly2,…, LyT, e suas correspondentes amostras de croma denotadas como Cy1, Cy2, … CyT são usadas para derivar C1 e L1 como: (i) C0=f0(Cx1, Cx2, … CxS), L0=f1(Lx1, Lx2, … LxS), C1=f2(Cy1, Cy2, … CyT), L1=f4(Ly1, Ly2, … LyT). f0, f1, f2 e f3 são quaisquer funções.
[00236] (ii) Em um exemplo, f0 é idêntica a f1.
[00237] (iii) Em um exemplo, f2 é idêntica a f3.
[00238] (iv) Em um exemplo, f0 f1 f2 f3 são idênticas.
[00239] 1. Por exemplo, as mesmas são, todas, a função de ponderação.
[00240] (v) Em um exemplo, S é igual a T.
[00241] 1. Em um exemplo, o conjunto {x1,x2,…xS} é idêntico ao conjunto {y1, y2, …, yT}.
[00242] (vi) Em um exemplo, Lx1, Lx2,…, LxS são escolhidos como as menores S amostras de luma de um grupo de amostras de luma.
[00243] 1. Por exemplo, o grupo de amostras de luma inclui todas as amostras vizinhas usadas em VTM-3.0 para derivar parâmetros lineares do CCLM.
[00244] 2. Por exemplo, o grupo de amostras de luma inclui amostras vizinhas parciais usadas em VTM-3.0 para derivar parâmetros lineares do CCLM.
[00245] a. Por exemplo, o grupo de amostras de luma inclui quatro amostras, da forma mostrada nas figuras 2-5.
42 / 162
[00246] (vii) Em um exemplo, Ly1, Ly2,…, LyS são escolhidos como as maiores S amostras de luma de um grupo de amostras de luma.
[00247] 1. Por exemplo, o grupo de amostras de luma inclui todas as amostras vizinhas usadas em VTM-3.0 para derivar parâmetros lineares do CCLM.
[00248] 2. Por exemplo, o grupo de amostras de luma inclui amostras vizinhas parciais usadas em VTM-3.0 para derivar parâmetros lineares do CCLM.
[00249] a. Por exemplo, o grupo de amostras de luma inclui quatro amostras, da forma mostrada nas figuras 2-5.
[00250] Exemplo 12. É proposto selecionar outras amostras vizinhas ou vizinhas descendentemente amostradas com base na maior amostra vizinha ou vizinha descendentemente amostrada em um dado conjunto de amostras vizinhas ou vizinhas descendentemente amostradas.
[00251] (a) Em um exemplo, denota-se que a maior amostra vizinha ou vizinha descendentemente amostrada fica localizada na posição (x0, y0). Então, as amostras na região (x0-d1, y0), (x0, y0-d2), (x0+d3, y0), (x0, y0+d4) podem ser utilizadas para selecionar outras amostras. Números inteiros {d1, d2, d3, d4} podem depender da posição (x0, y0). Por exemplo, se (x0, y0) estiver à esquerda do bloco atual, então, d1 = d3 = 1 e d2=d4=0. Se (x0,y0) estiver acima do bloco atual, então, d1 = d3=0 e d2=d4 = 1.
[00252] (b) Em um exemplo, denota-se que a menor amostra vizinha ou vizinha descendentemente amostrada fica localizada na posição (x1, y1). Então, as amostras na região (x1-d1, y1), (x1, y1-d2), (x1+d3, y1), (x1, y1+d4) podem ser utilizadas para selecionar outras amostras. Números inteiros {d1, d2, d3, d4} podem depender da posição (x1, y1). Por exemplo, se (x1, y1) estiver à esquerda do bloco atual, então, d1 = d3 = 1 e d2=d4=0. Se (x1,y1) estiver acima do bloco atual, então, d1 = d3=0 e d2=d4 = 1.
[00253] (c) Em um exemplo, as amostras acima estão representando
43 / 162 amostras de um componente de cor (por exemplo, componente de cor de luma). As amostras usadas no processo de CCLM/componente de cor cruzada podem ser derivadas pelas correspondentes coordenadas de um segundo componente de cor.
[00254] (d) Maneira similar pode ser usada para derivar amostras menores.
[00255] Exemplo 13: Em exemplos expostos, luma e croma podem ser comutados. Alternativamente, o componente de cor de luma pode ser substituído pelo componente de cor principal (por exemplo, G), e o componente de cor de croma pode ser substituído pelo componente de cor dependente (por exemplo, B ou R).
[00256] Exemplo 14. Seleção de locais das amostras de croma (e/ou correspondentes amostras de luma) pode depender da informação de modo codificada.
[00257] (a) Alternativamente, além do mais, isto pode depender da disponibilidade de amostras vizinhas, tal como se a coluna à esquerda ou a linha acima ou a linha acima-à direita ou a coluna abaixo-à esquerda está disponível. A figura 10 representa os conceitos de coluna à esquerda/linha acima/linha acima-à direita/coluna abaixo-à esquerda em relação a um bloco.
[00258] (b) Alternativamente, além do mais, isto pode depender da disponibilidade de amostras localizadas em certas posições, tal como se a 1ª amostra de topo-à direita e/ou a 1ª amostra abaixo-à esquerda estão disponíveis.
[00259] (c) Alternativamente, além do mais, isto pode depender das dimensões de bloco.
[00260] (i) Alternativamente, além do mais, isto pode depender da razão entre a largura e a altura de atual bloco de croma (e/ou de luma).
[00261] (ii) Alternativamente, além do mais, isto pode depender se a largura e/ou altura é igual a K (por exemplo, K = 2).
44 / 162
[00262] (d) Em um exemplo, quando o modo atual for um modo LM normal, as seguintes maneiras podem ser aplicadas para selecionar amostras de croma (e/ou amostras de luma descendentemente amostradas ou não descendentemente amostradas): (i) Se tanto a coluna à esquerda quanto a linha acima estiverem disponíveis, duas amostras da coluna à esquerda e duas da linha acima podem ser selecionadas. As mesmas podem estar localizadas em (suponha que a coordenada de topo-à esquerda do bloco atual é (x, y)):
1. (x-1, y), (x, y-1), (x-1, y+H-1) e (x + W-1, y-1)
2. (x-1, y), (x, y-1), (x-1, y + H - H/W -1) e (x + W-1, y-1). Por exemplo, quando H for maior do que W
3. (x-1, y), (x, y-1), (x-1, y + H -1) e (x + W - W/H-1, y-1). Por exemplo, quando H for menor do que W
4. (x-1, y), (x, y-1), (x-1, y + H – max(1, H/W)) e (x + W- max(1, W/H), y-1).
[00263] (ii) Se apenas a linha acima estiver disponível, amostras são selecionadas apenas a partir da linha acima.
[00264] 1. Por exemplo, quatro amostras da linha acima podem ser selecionadas.
[00265] 2. Por exemplo, duas amostras podem ser selecionadas.
[00266] 3. Como selecionar as amostras pode depender da largura/altura. Por exemplo, quatro amostras são selecionadas quando W>2 e duas amostras são selecionadas quando W=2.
[00267] 4. As amostras selecionadas podem estar localizadas em (suponha que a coordenada de topo-à esquerda do bloco atual é (x, y)): a. (x, y-1), (x + W/4, y-1), (x + 2*W/4, y-1), (x + 3*W/4, y – 1) b. (x, y-1), (x + W/4, y-1), (x + 3*W/4, y – 1), (x + W-1, y -1) c. (x, y-1), (x + (2W)/4, y-1), (x + 2*(2W)/4, y-1), (x +
45 / 162 3*(2W)/4, y – 1).
[00268] Por exemplo, quando a linha de topo-à direita estiver disponível, ou quando a 1ª amostra de topo-à direita estiver disponível.
[00269] d. (x, y-1), (x + (2W)/4, y-1), (x + 3*(2W)/4, y – 1), (x + (2W)-1, y -1).
[00270] Por exemplo, quando a linha de topo-à direita estiver disponível, ou quando a 1ª amostra de topo-à direita estiver disponível.
[00271] (iii) Se apenas a coluna à esquerda estiver disponível, as amostras são selecionadas apenas a partir da coluna à esquerda.
[00272] 1. Por exemplo, quatro amostras de coluna à esquerda podem ser selecionadas;
2. Por exemplo, duas amostras de coluna à esquerda podem ser selecionadas;
3. Como selecionar as amostras pode depender da largura/altura. Por exemplo, quatro amostras são selecionadas quando H>2 e duas amostras são selecionadas quando H=2.
[00273] 4. As amostras selecionadas podem estar localizadas em: a. (x-1, y), (x -1, y + H/4), (x -1, y + 2*H/4), (x -1, y + 3*H/4) b. (x-1, y), (x - 1, y+ 2*H/4), (x -1, y + 3*H/4) , (x -1, y + H-1) c. (x-1, y), (x -1, y + (2H)/4), (x -1, y + 2*(2H)/4), (x -1, y + 3*(2H)/4).
[00274] Por exemplo, quando a coluna abaixo-à esquerda estiver disponível, ou quando a 1ª amostra abaixo-à esquerda estiver disponível.
[00275] d. (x-1, y), (x - 1, y+ 2*(2H)/4), (x -1, y + 3*(2H)/4) , (x -1, y + (2H)-1).
[00276] Por exemplo, quando a coluna abaixo-à esquerda estiver disponível, ou quando a 1ª amostra abaixo-à esquerda estiver disponível.
[00277] (iv) Para os exemplos expostos, apenas duas das quatro amostras podem ser selecionadas.
46 / 162
[00278] (e) Em um exemplo, quando o modo atual for o modo LM-A, o mesmo pode escolher amostras de acordo com Exemplo 11(d)(ii).
[00279] (f) Em um exemplo, quando o modo atual for o modo LM-L, o mesmo pode escolher amostras de acordo com Exemplo 11(d)(iii).
[00280] (g) As amostras de luma selecionadas (por exemplo, de acordo com os locais de croma selecionados) podem ser agrupadas em 2 grupos, uma sendo com o maior valor e o menor valor de todas as amostras selecionadas, o outro grupo sendo com todas as amostras restantes.
[00281] (i) Os dois valores máximos de 2 grupos são ponderados como o máximo valor no método de 2 pontos; os dois valores mínimos de 2 grupos são ponderados como o mínimo valor no método de 2 pontos para derivar parâmetros LM.
[00282] (ii) Quando houver apenas 4 amostras selecionadas, dois maiores valores de amostra são ponderados, dois menores valores de amostra são ponderados, e os valores ponderados são usados como a entrada no método de 2 pontos para derivar parâmetros LM.
[00283] Exemplo 15. Nos exemplos expostos, luma e croma podem ser comutados. Alternativamente, o componente de cor de luma pode ser substituído pelo componente de cor principal (por exemplo, G), e o componente de cor de croma pode ser substituído pelo componente de cor dependente (por exemplo, B ou R).
[00284] Exemplo 16. É proposto selecionar as amostras vizinhas de croma expostas (e/ou suas correspondentes amostras de luma que podem ser descendentemente amostradas) com base em um primeiro valor de deslocamento da posição (denotado como F) e um valor de passo (denotado como S). Suponha que a largura das amostras vizinhas acima disponíveis a serem usadas é W.
[00285] a. Em um exemplo, W pode ser definido na largura do bloco atual.
47 / 162
[00286] b. Em um exemplo, W pode ser definido em (L* largura do bloco atual), em que L é um valor integral.
[00287] c. Em um exemplo, quando blocos tanto acima quanto à esquerda estiverem disponíveis, W pode ser definido na largura do bloco atual.
[00288] i. Alternativamente, quando o bloco à esquerda não estiver disponível, W pode ser definido em (L* largura do bloco atual), em que L é um valor integral.
[00289] ii. Em um exemplo, L pode ser dependente da disponibilidade do bloco de topo-à direita. Alternativamente, L pode depender da disponibilidade de uma amostra no topo-à esquerda.
[00290] d. Em um exemplo, W pode depender do modo codificado.
[00291] i. Em um exemplo, W pode ser definido na largura do bloco atual se o bloco atual for codificado como modo LM; ii. W pode ser definido em (L* largura do bloco atual), em que L é um valor integral se o bloco atual for codificado como modo LM-A.
[00292] (a) L pode ser dependente da disponibilidade do bloco de topo- à direita. Alternativamente, L pode depender da disponibilidade de uma amostra no topo-à esquerda.
[00293] e. Suponha que a coordenada de topo-à esquerda do bloco atual é (x0, y0), então, as amostras vizinhas acima nas posições (x0+F+K×S, y0-1) com K =0, 1, 2,…kMax são selecionadas.
[00294] f. Em um exemplo, F= W/P. P é um número inteiro.
[00295] i. Por exemplo, P = 2i, em que i é um número inteiro, tais como 1 ou 2.
[00296] ii. Alternativamente, F=W/P+Offset.
[00297] g. Em um exemplo, S= W/Q. Q é um número inteiro.
[00298] i. Por exemplo, Q = 2j, em que j é um número inteiro, tais como 1 ou 2.
48 / 162
[00299] h. Em um exemplo, F= S/R. R é um número inteiro.
[00300] i. Por exemplo, R = 2m, em que m é um número inteiro, tais como 1 ou 2.
[00301] i. Em um exemplo, S= F/Z. Z é um número inteiro.
[00302] i. Por exemplo, Z = 2n, em que n é um número inteiro, tais como 1 ou 2.
[00303] j. kMax e/ou F e/ou S e/ou offset podem depender do modo de previsão (tais como LM, LM-A ou LM-L) do bloco atual; k. kMax e/ou F e/ou S e/ou offset podem depender da largura e/ou da altura do bloco atual.
[00304] l. kMax e/ou F e/ou S e/ou offset podem depender da disponibilidade de amostras vizinhas.
[00305] m. kMax e/ou F e/ou S e/ou offset podem depender de W.
[00306] n. Por exemplo, kMax=1, F= W/4, S= W/2, offset = 0. Alternativamente, além do mais, os ajustes são feitos se o bloco atual for codificado em LM, as amostras vizinhas tanto à esquerda quanto acima estiverem disponíveis, e W>=4.
[00307] o. Por exemplo, kMax=3, F= W/8, S= W/4, offset = 0. Alternativamente, além do mais, os ajustes são feitos se o bloco atual for codificado em LM, apenas amostras vizinhas acima estiverem disponíveis, e W>=4.
[00308] p. Por exemplo, kMax=3, F= W/8, S= W/4, offset = 0. Alternativamente, além do mais, os ajustes são feitos se o bloco atual for codificado em LM-A e W>=4.
[00309] q. Por exemplo, kMax=1, F= 0, S= 1, offset = 0. Alternativamente, além do mais, os ajustes são feitos se W for igual a 2.
[00310] Exemplo 17. É proposto selecionar as amostras de croma vizinhas à esquerda (e/ou suas correspondentes amostras de luma que podem ser descendentemente amostradas) com base em um primeiro valor de
49 / 162 deslocamento da posição (denotado como F) e um valor de passo (denotado como S). Suponha que a altura das amostras vizinhas à esquerda disponíveis a serem usadas é H.
[00311] a. Em um exemplo, H pode ser definido na altura do bloco atual.
[00312] b. Em um exemplo, H pode ser definido em (L* altura de bloco atual), em que L é um valor integral.
[00313] c. Em um exemplo, quando blocos tanto acima quanto à esquerda estiverem disponíveis, H pode ser definido na altura do bloco atual.
[00314] i. Alternativamente, quando o bloco acima não estiver disponível, H pode ser definido em (L* altura do bloco atual), em que L é um valor integral.
[00315] ii. Em um exemplo, L pode ser dependente da disponibilidade do bloco abaixo-à esquerda. Alternativamente, L pode ser dependente da disponibilidade de uma amostra abaixo-à esquerda.
[00316] iii. Alternativamente, H pode ser definido em (altura do bloco atual + largura do bloco atual) se os blocos vizinhos acima-à direita exigidos estiverem disponíveis.
[00317] (a) Em um exemplo, as mesmas H amostras vizinhas acima são escolhidas para modo LM-A e modo LM quando amostras vizinhas à esquerda estiverem indisponíveis.
[00318] d. Em um exemplo, H pode depender do modo codificado.
[00319] i. Em um exemplo, H pode ser definido na altura do bloco atual se o bloco atual for codificado como modo LM; ii. W pode ser definido em (L* altura do bloco atual), em que L é um valor integral se o bloco atual for codificado como modo LM-L.
[00320] (a) L pode ser dependente da disponibilidade do bloco abaixo- à esquerda. Alternativamente, L pode depender da disponibilidade de uma amostra no topo-à esquerda.
50 / 162
[00321] (b) Alternativamente, W pode ser definido em (altura do bloco atual + largura do bloco atual) se os blocos vizinhos abaixo-à esquerda exigidos estiverem disponíveis.
[00322] (c) Em um exemplo, as mesmas W amostras vizinhas à esquerda são escolhidas para modo LM-L e modo LM quando amostras vizinhas acima estiverem indisponíveis.
[00323] e. Suponha que a coordenada de topo-à esquerda do bloco atual é (x0, y0), então, as amostras vizinhas à esquerda nas posições (x0-1, y0+F+K×S) com K =0, 1, 2,…kMax são selecionadas.
[00324] f. Em um exemplo, F= H/P. P é um número inteiro.
[00325] i. Por exemplo, P = 2i, em que i é um número inteiro, tais como 1 ou 2.
[00326] ii. Alternativamente, F=H/P+Offset.
[00327] g. Em um exemplo, S= H/Q. Q é um número inteiro.
[00328] i. Por exemplo, Q = 2j, em que j é um número inteiro, tais como 1 ou 2.
[00329] h. Em um exemplo, F= S/R. R é um número inteiro.
[00330] i. Por exemplo, R = 2m, em que m é um número inteiro, tais como 1 ou 2.
[00331] i. Em um exemplo, S= F/Z. Z é um número inteiro.
[00332] i. Por exemplo, Z = 2n, em que n é um número inteiro, tais como 1 ou 2.
[00333] j. kMax e/ou F e/ou S e/ou offset podem depender do modo de previsão (tais como LM, LM-A ou LM-L) do bloco atual; k. kMax e/ou F e/ou S e/ou offset podem depender da largura e/ou da altura do bloco atual.
[00334] l. kMax e/ou F e/ou S e/ou offset podem depender de H.
[00335] m. kMax e/ou F e/ou S e/ou offset podem depender da disponibilidade de amostras vizinhas.
51 / 162
[00336] n. Por exemplo, kMax=1, F= H/4, S= H/2, offset = 0. Alternativamente, além do mais, os ajustes são feitos se o bloco atual for codificado em LM, as amostras vizinhas tanto à esquerda quanto acima estiverem disponíveis, e H>=4.
[00337] o. Por exemplo, kMax=3, F= H/8, S= H/4, offset = 0. Alternativamente, além do mais, os ajustes são feitos se o bloco atual for codificado em LM, apenas amostras vizinhas acima estiverem disponíveis, e H>=4.
[00338] p. Por exemplo, kMax=3, F= H/8, S= H/4, offset = 0. Alternativamente, além do mais, os ajustes são feitos se o bloco atual for codificado LM-L e H>=4.
[00339] q. Por exemplo, kMax=1, F= 0, S= 1, offset = 0 se H for igual a 2.
[00340] Exemplo 18: É proposto que duas ou quatro amostras de croma vizinhas (e/ou suas correspondentes amostras de luma que podem ser descendentemente amostradas) sejam selecionadas para derivar os parâmetros do modelo linear.
[00341] a. Em um exemplo, maxY/maxC e minY/minC são derivados a partir de duas ou quatro amostras de croma vizinhas (e/ou suas correspondentes amostras de luma que podem ser descendentemente amostradas), e são, então, usadas para derivar os parâmetros do modelo linear com a abordagem de 2 pontos.
[00342] b. Em um exemplo, se houver duas amostras de croma vizinhas (e/ou suas correspondentes amostras de luma que podem ser descendentemente amostradas) que são selecionados para derivar o maxY/maxC e o minY/minC, minY é definido para ser o menor valor da amostra de luma e minC é seu correspondente valor da amostra de croma; maxY é definido para ser o maior valor da amostra de luma e maxC é seu correspondente valor da amostra de croma.
52 / 162
[00343] c. Em um exemplo, se houver quatro amostras de croma vizinhas (e/ou suas correspondentes amostras de luma que podem ser descendentemente amostradas) que são selecionadas para derivar o maxY/maxC e o minY/minC, as amostras de luma e suas correspondentes amostras de croma são divididas em dois arranjos G0 e G1, cada qual contém duas amostras de luma e suas correspondentes amostras de luma.
[00344] i. Suponha que as quatro amostras de luma e suas correspondentes amostras de croma são denotadas como S0, S1, S2, S3, então, as mesmas podem ser divididas em dois grupos em qualquer ordem. Por exemplo: (a) G0={S0, S1}, G1={S2, S3}; (b) G0={ S1, S0}, G1={S3, S2}; (c) G0={S0, S2}, G1={S1, S3}; (d) G0={S2, S0}, G1={S3, S1}; (e) G0={S1, S2}, G1={S0, S3}; (f) G0={S2, S1}, G1={S3, S0}; (g) G0={S0, S3}, G1={S1, S2}; (h) G0={S3, S0}, G1={S2, S1}; (i) G0={S1, S3}, G1={S0, S2}; (j) G0={S3, S1}, G1={S2, S0}; (k) G0={S3, S2}, G1={S0, S1}; (l) G0={S2, S3}, G1={S1, S0}; (m) G0 e G1 podem ser trocados.
[00345] ii. Em um exemplo, os valores da amostra de luma de G0[0] e G0[1] são comparados, se o valor da amostra de luma de G0[0] for maior do que o valor da amostra de luma de G0[1], a amostra de luma e sua correspondente amostra de croma de G0[0] são trocadas com aquelas de G0[1].
[00346] (a) Alternativamente, se o valor da amostra de luma de G0[0]
53 / 162 for maior do que ou igual ao valor da amostra de luma de G0[1], a amostra de luma e sua correspondente amostra de croma de G0[0] são trocadas com aquelas de G0[1].
[00347] (b) Alternativamente, se o valor da amostra de luma de G0[0] for menor do que o valor da amostra de luma de G0[1], a amostra de luma e sua correspondente amostra de croma de G0[0] são trocadas com aquelas de G0[1].
[00348] (c) Alternativamente, se o valor da amostra de luma de G0[0] for menor do que ou igual ao valor da amostra de luma de G0[1], a amostra de luma e sua correspondente amostra de croma de G0[0] são trocadas com aquelas de G0[1].
[00349] iii. Em um exemplo, os valores da amostra de luma de G1[0] e G1[1] são comparados, se o valor da amostra de luma de G1[0] for maior do que o valor da amostra de luma de G1[1], a amostra de luma e sua correspondente amostra de croma de G1[0] são trocadas com aquelas de G1[1].
[00350] (a) Alternativamente, se o valor da amostra de luma de G1[0] for maior do que ou igual ao valor da amostra de luma de G1[1], a amostra de luma e sua correspondente amostra de croma de G1[0] são trocadas com aquelas de G1[1].
[00351] (b) Alternativamente, se o valor da amostra de luma de G1[0] for menor do que o valor da amostra de luma de G1[1], a amostra de luma e sua correspondente amostra de croma de G1[0] são trocadas com aquelas de G1[1].
[00352] (c) Alternativamente, se o valor da amostra de luma de G1[0] for menor do que ou igual ao valor da amostra de luma de G1[1], a amostra de luma e sua correspondente amostra de croma de G1[0] são trocadas com aquelas de G1[1].
[00353] iv. Em um exemplo, os valores da amostra de luma de G0[0] e
54 / 162 G1[1] são comparados, se o valor da amostra de luma de G0[0] for maior do que (ou menor do que, ou não maior do que, ou não menor do que) o valor da amostra de luma de G1[1], então, G0 e G1 são trocados.
[00354] (a) Em um exemplo, os valores da amostra de luma de G0[0] e G1[0] são comparados, se o valor da amostra de luma de G0[0] for maior do que (ou menor do que, ou não maior do que, ou não menor do que) o valor da amostra de luma de G1[0], então, G0 e G1 são trocados.
[00355] (b) Em um exemplo, os valores da amostra de luma de G0[1] e G1[0] são comparados, se o valor da amostra de luma de G0[1] for maior do que (ou menor do que, ou não maior do que, ou não menor do que) o valor da amostra de luma de G1[0], então, G0 e G1 são trocados.
[00356] (c) Em um exemplo, os valores da amostra de luma de G0[1] e G1[1] são comparados, se o valor da amostra de luma de G0[1] for maior do que (ou menor do que, ou não maior do que, ou não menor do que) o valor da amostra de luma de G1[1], então, G0 e G1 são trocados.
[00357] v. Em um exemplo, os valores da amostra de luma de G0[0] e G1[1] são comparados, se o valor da amostra de luma de G0[0] for maior do que (ou menor do que, ou não maior do que, ou não menor do que) o valor da amostra de luma de G1[1], então, G0[0] e G1[1] são trocados.
[00358] (a) Em um exemplo, os valores da amostra de luma de G0[0] e G1[0] são comparados, se o valor da amostra de luma de G0[0] for maior do que (ou menor do que, ou não maior do que, ou não menor do que) o valor da amostra de luma de G1[0], então, G0[0] e G1[0] são trocados.
[00359] (b) Em um exemplo, os valores da amostra de luma de G0[1] e G1[0] são comparados, se o valor da amostra de luma de G0[1] for maior do que (ou menor do que, ou não maior do que, ou não menor do que) o valor da amostra de luma de G1[0], então, G0[1] e G1[0] são trocados.
[00360] (c) Em um exemplo, os valores da amostra de luma de G0[1] e G1[1] são comparados, se o valor da amostra de luma de G0[1] for maior do
55 / 162 que (ou menor do que, ou não maior do que, ou não menor do que) o valor da amostra de luma de G1[1], então, G0[1] e G1[1] são trocados.
[00361] vi. Em um exemplo, maxY é calculado como a média dos valores da amostra de luma de G0[0] e G0[1], maxC é calculado como a média dos valores da amostra de croma de G0[0] e G0[1].
[00362] (a) Alternativamente, maxY é calculado como a média dos valores da amostra de luma de G1[0] e G1[1], maxC é calculado como a média dos valores da amostra de croma de G1[0] e G1[1].
[00363] vii. Em um exemplo, minY é calculado como a média dos valores da amostra de luma de G0[0] e G0[1], minC é calculado como a média dos valores da amostra de croma de G0[0] e G0[1].
[00364] Alternativamente, minY é calculado como a média dos valores da amostra de luma de G1[0] e G1[1], minC é calculado como a média dos valores da amostra de croma de G1[0] e G1[1].
[00365] d. Em um exemplo, se houver apenas duas amostras de croma vizinhas (e/ou suas correspondentes amostras de luma que podem ser descendentemente amostradas) que estão disponíveis, as mesmas são primeiro enchidas para compreender quatro amostras de croma (e/ou suas correspondentes amostras de luma), então, as quatro amostras de croma (e/ou suas correspondentes amostras de luma) são usados para derivar os parâmetros de CCLM.
[00366] i. Em um exemplo, duas amostras de croma de enchimento (e/ou suas correspondentes amostras de luma) são copiadas a partir de duas amostras de croma vizinhas disponíveis (e/ou suas correspondentes amostras de luma que podem ser descendentemente amostradas).
[00367] Exemplo 19: Em todos os exemplos expostos, as amostras de croma selecionadas devem estar localizadas na linha acima (isto é, com W amostras), da forma representada na figura 10, e/ou na coluna à esquerda (isto é, com H amostras), em que W e H são a largura e a altura do bloco atual.
56 / 162
[00368] a. Alternativamente, a restrição exposta pode ser aplicada quando o bloco atual for codificado com o modo LM normal.
[00369] b. Alternativamente, as amostras de croma selecionadas devem estar localizadas na linha acima (isto é, com W amostras) e na linha acima-à direita com H amostras.
[00370] i. Alternativamente, além do mais, a restrição exposta pode ser aplicada quando o bloco atual for codificado com o modo LM-A.
[00371] ii. Alternativamente, além do mais, a restrição exposta pode ser aplicada quando o bloco atual for codificado com o modo LM-A ou o modo LM normal com linha acima disponível, mas coluna à esquerda está indisponível.
[00372] c. Alternativamente, as amostras de croma selecionadas devem estar localizadas na coluna à esquerda (isto é, com H amostras) e na coluna abaixo-à esquerda com W amostras.
[00373] i. Alternativamente, além do mais, a restrição exposta pode ser aplicada quando o bloco atual for codificado com o modo LM-L.
[00374] ii. Alternativamente, além do mais, a restrição exposta pode ser aplicada quando o bloco atual for codificado com o modo LM-L ou o modo LM normal com linha acima indisponível, mas coluna à esquerda está disponível. Exemplo 20
[00375] Em um exemplo, apenas as amostras vizinhas de luma nas posições em que as correspondentes amostras de croma forem exigidas para derivar os parâmetros de CCLM precisam ser descendentemente amostradas. Exemplo 21
[00376] Como conduzir os métodos descritos neste documento pode depender do formato de cor (tais como 4:2:0 ou 4:4:4).
[00377] a. Alternativamente, como conduzir os métodos descritos neste documento pode depender da profundidade de bit (tais como 8 bits ou 10
57 / 162 bits).
[00378] b. Alternativamente, como conduzir os métodos descritos neste documento pode depender do método de representação de cor (tais como RGB ou YCbCr).
[00379] c. Alternativamente, como conduzir os métodos descritos neste documento pode depender do método de representação de cor (tais como RGB ou YCbCr).
[00380] d. Alternativamente, como conduzir os métodos descritos neste documento pode depender do local da amostragem descendente de croma. Exemplo 22
[00381] Se derivam-se os valores máximo/mínimo dos componentes de luma e de croma usados para derivar parâmetros de CCLM pode depender da disponibilidade de vizinhos à esquerda e acima. Por exemplo, os valores máximo/mínimo para componentes de luma e de croma usados para derivar parâmetros de CCLM podem não ser derivados se os blocos vizinhos tanto à esquerda quanto acima estiverem indisponíveis.
[00382] a. Se derivam-se os valores máximo/mínimo dos componentes de luma e de croma usados para derivar parâmetros de CCLM pode depender do número de amostras vizinhas disponíveis. Por exemplo, os valores máximo/mínimo para componentes de luma e de croma usados para derivar parâmetros de CCLM podem não ser derivados se numSampL == 0 e numSampT == 0. Em um outro exemplo, os valores máximo/mínimo para componentes de luma e de croma usados para derivar parâmetros de CCLM podem não ser derivados se numSampL + numSampT == 0. Nos dois exemplos, numSampL e numSampT são o número de amostras vizinhas disponíveis a partir dos blocos vizinhos à esquerda e acima.
[00383] b. Se derivam-se os valores máximo/mínimo de componentes de luma e de croma usados para derivar parâmetros de CCLM pode depender do número de amostras escolhidas usadas para derivar os parâmetros. Por
58 / 162 exemplo, os valores máximo/mínimo para componentes de luma e de croma usados para derivar parâmetros de CCLM podem não ser derivados se cntL == 0 e cntT == 0. Em um outro exemplo, os valores máximo/mínimo para componentes de luma e de croma usados para derivar parâmetros de CCLM podem não ser derivados se cntL + cntT == 0. Nos dois exemplos, cntL e cntT são o número de amostras escolhidas a partir dos blocos vizinhos à esquerda e acima. Exemplo 23
[00384] Em um exemplo, o método proposto para derivar os parâmetros usados em CCLM pode ser usado para derivar os parâmetros usados em LIC ou outras ferramentas de codificação que se baseiam no modelo linear.
[00385] a. Os pontos importantes descritos anteriormente podem ser aplicados em LIC, tal como pela substituição das “amostras vizinhas de croma” por “amostras vizinhas do bloco atual” e substituição de “correspondentes amostras de luma” por “amostras vizinhas do bloco de referência”.
[00386] b. Em um exemplo, as amostras utilizadas para derivação do parâmetro LIC podem excluir posições de certas amostras na linha acima e/ou na coluna à esquerda.
[00387] i. Em um exemplo, as amostras utilizadas para derivação do parâmetro LIC podem excluir a primeira na linha acima.
[00388] (a) Suponha que a coordenada da amostra no topo-à esquerda é (x0, y0), é proposto excluir (x0, y0-1) para o uso dos parâmetros LIC.
[00389] ii. Em um exemplo, as amostras utilizadas para derivação do parâmetro LIC podem excluir a primeira na coluna à esquerda.
[00390] (a) Suponha que a coordenada da amostra no topo-à esquerda é (x0, y0), é proposto excluir (x0-1, y0) para o uso de parâmetros LIC.
[00391] iii. Se aplicam-se os métodos expostos e/ou como definir as
59 / 162 certas posições podem depender da disponibilidade da coluna à esquerda/linha acima.
[00392] iv. Se aplicam-se os métodos expostos e/ou como definir as certas posições podem depender da dimensão do bloco.
[00393] c. Em um exemplo, N amostras vizinhas (que podem ser descendentemente amostradas) do bloco atual e N correspondentes amostras vizinhas (que podem ser descendentemente amostradas correspondentemente) do bloco de referência podem ser usadas para derivar os parâmetros usados para LIC.
[00394] i. Por exemplo, N é 4.
[00395] ii. Em um exemplo, as N amostras vizinhas podem ser definidas como N/2 amostras a partir da linha acima; e N/2 amostras a partir da coluna à esquerda.
[00396] (a) Alternativamente, as N amostras vizinhas podem ser definidas como N amostras a partir da linha acima ou da coluna à esquerda.
[00397] iii. Em um outro exemplo, N é igual a min (L, T), em que T é o número total de amostras vizinhas disponíveis (que podem ser descendentemente amostradas) do bloco atual.
[00398] (a) Em um exemplo, L é definido em 4.
[00399] iv. Em um exemplo, a seleção das coordenadas das N amostras pode seguir a regra para selecionar N amostras no processo de CCLM.
[00400] v. Em um exemplo, a seleção das coordenadas das N amostras pode seguir a regra para selecionar N amostras no processo de LM-A.
[00401] vi. Em um exemplo, a seleção das coordenadas das N amostras pode seguir a regra para selecionar N amostras no processo de LM-L.
[00402] vii. Em um exemplo, como selecionar as N amostras pode depender da disponibilidade da linha acima/coluna à esquerda.
[00403] d. Em um exemplo, as N amostras vizinhas (que podem ser descendentemente amostradas) do bloco atual e as N correspondentes
60 / 162 amostras vizinhas (que podem ser descendentemente amostradas correspondentemente) do bloco de referência são usadas para derivar os parâmetros usados em LIC, podem ser captadas com base nas posições da amostra.
[00404] i. O método de captação pode depender da largura e da altura do bloco atual.
[00405] ii. O método de captação pode depender da disponibilidade dos blocos vizinhos.
[00406] iii. Por exemplo, K1 amostras vizinhas podem ser captadas a partir das amostras vizinhas à esquerda e K2 amostras vizinhas são captadas a partir das amostras vizinhas acima, se amostras vizinhas tanto acima quanto à esquerda estiverem disponíveis. Por exemplo, K1=K2=2.
[00407] iv. Por exemplo, K1 amostras vizinhas podem ser captadas a partir das amostras vizinhas à esquerda se apenas amostras vizinhas à esquerda estiverem disponíveis. Por exemplo, K1 =4.
[00408] v. Por exemplo, K2 amostras vizinhas podem ser captadas a partir das amostras vizinhas acima se apenas amostras vizinhas acima estiverem disponíveis. Por exemplo, K2 =4.
[00409] vi. Por exemplo, as amostras acima podem ser captadas com um primeiro valor de deslocamento da posição (denotado como F) e um valor de passo (denotado como S) que podem depender da dimensão do bloco atual e da disponibilidade dos blocos vizinhos.
[00410] (a) Por exemplo, os métodos descritos no ponto importante 13 podem ser aplicados para derivar F e S.
[00411] vii. Por exemplo, as amostras à esquerda podem ser captadas com um primeiro valor de deslocamento da posição (denotado como F) e um valor de passo (denotado como S) que podem depender da dimensão do bloco atual e da disponibilidade dos blocos vizinhos.
[00412] (a) Por exemplo, os métodos descritos no ponto importante 14
61 / 162 podem ser aplicados para derivar F e S.
[00413] e. Em um exemplo, o método proposto para derivar os parâmetros usados em CCLM também pode ser usado para derivar os parâmetros usados em LIC, quando o bloco atual for codificado por afinidade.
[00414] f. Os métodos expostos podem ser usados para derivar os parâmetros usados em outras ferramentas de codificação que se baseiam no modelo linear.
[00415] Em um outro exemplo, o modo de previsão de componente cruzado é proposto, em que as amostras de croma são previstas com correspondentes amostras de luma reconstruídas de acordo com o modelo de previsão, da forma mostrada em Eq. 12. Em Eq. 12, PredC(x, y) denota uma amostra de previsão de croma. α e β são dois parâmetros de modelo. Rec’L(x, y) é uma amostra de luma descendentemente amostrada. (12)
[00416] Um filtro de seis derivações é introduzido para o processo descendentemente amostrado de luma para o bloco A na figura 11, da forma mostrada em Eq. 13.
(13)
[00417] As amostras de referência de luma circundantes acima sombreadas na figura 11 são descendentemente amostradas com um filtro de 3 derivações, da forma mostrada em Eq. 14. As amostras de referência de luma circundantes à esquerda são descendentemente amostradas de acordo com Eq. 15. Se as amostras à esquerda ou acima não estiverem disponíveis, um filtro de 2 derivações definido em Eq. 16 e Eq. 17 será usado. (14) (15) (16)
62 / 162 (17)
[00418] Em particular, as amostras de referência de luma circundantes são descendentemente amostradas até o tamanho igual em relação às amostras de referência de croma. O tamanho é denotado como largura e altura. Para derivar α e β, apenas duas ou quatro amostras vizinhas são envolvidas. Uma tabela de busca é aplicada para evitar a operação de divisão durante a derivação de α e β. Os métodos de derivação são ilustrados a seguir.
3.1 Métodos exemplares com até duas amostras
[00419] (1) A razão r de largura e altura é calculada da forma mostrada em Eq. 18.
(18)
[00420] (2) Se os blocos acima e à esquerda estiverem, ambos, disponíveis, 2 amostras localizadas em posA da primeira linha acima e posL da primeira linha à esquerda são selecionadas. Para simplificar a descrição, largura é considerada como o lado mais longo. A derivação de posA e posL é mostrada em Eq. 19 (o índice de posição inicia a partir de 0). A figura 12 mostra alguns exemplos de diferente razão de largura e altura (1, 2, 4 e 8, respectivamente). As amostras selecionadas são sombreadas.
(19)
[00421] (3) Se o bloco acima estiver disponível ao mesmo tempo em que o bloco à esquerda não está disponível, o primeiro e o posA pontos da linha acima são selecionados, da forma mostrada na figura 13.
[00422] (4) Se o bloco à esquerda estiver disponível ao mesmo tempo em que o bloco acima não está disponível, o primeiro e o posL pontos da linha à esquerda são selecionados, da forma mostrada na figura 14.
[00423] (5) Um modelo de previsão de croma é derivado de acordo com os valores de luminância e de crominância das amostras selecionadas.
63 / 162
[00424] (6) Se nenhum dos blocos à esquerda e acima estiver disponível, um modelo de previsão padrão é usado, com α igual a 0, β igual a 1<<(BitDepth-1), em que BitDepth representa a profundidade de bit das amostras de croma.
3.2 Métodos exemplares com até quatro amostras
[00425] (1) A razão r de largura e altura é calculada como Eq. 18.
[00426] (2) Se os blocos acima e à esquerda estiverem, ambos, disponíveis, 4 amostras localizadas nas primeira e posA da primeira linha acima, a primeira e posL da primeira linha à esquerda são selecionadas. A derivação de posA e posL é ilustrada em Eq. 19. A figura 15 mostra alguns exemplos da razão de largura e altura diferente (1, 2, 4 e 8, respectivamente). As amostras selecionadas são sombreadas.
[00427] (3) Se o bloco acima estiver disponível ao mesmo tempo em que o bloco à esquerda não está disponível, o primeiro e o posA pontos da linha acima são selecionados, da forma mostrada na figura 13.
[00428] (4) Se o bloco à esquerda estiver disponível ao mesmo tempo em que o bloco acima não está disponível, o primeiro e o posL pontos da linha à esquerda são selecionados, da forma mostrada na figura 14.
[00429] (5) Se nenhum dos blocos à esquerda e acima estiver disponível, um modelo de previsão padrão é usado, com α igual a 0, β igual a 1<<(BitDepth-1), em que BitDepth representa a profundidade de bit das amostras de croma.
3.3 Métodos exemplares que usam tabelas de busca na derivação de LM
[00430] A figura 16 mostra um exemplo das tabelas de busca com 128, 64 e 32 entradas, e cada entrada é representada por 16 bits. O processo de derivação LM de 2 pontos é simplificado, da forma mostrada na Tabela 1 e na figura 17 com 64 entradas. Deve-se notar que a primeira entrada pode não ser armazenada na tabela.
[00431] Também deve-se notar que, embora cada entrada nas tabelas
64 / 162 exemplares seja desenhada para estar com 16 bits, a mesma pode ser facilmente transformada para um número com menos bits (tais como 8 bits ou 12 bits). Por exemplo, uma tabela de entradas com 8 bits pode ser alcançada como: g_aiLMDivTableHighSimp_64_8[i] = (g_aiLMDivTableHighSimp_64[i]+128) >> 8.
[00432] Por exemplo, uma tabela de entradas com 12 bits pode ser alcançada como: g_aiLMDivTableHighSimp_64_12[i] = (g_aiLMDivTableHighSimp_64[i]+8) >> 4. Tabela 1: Processo de derivação LM simplificado int iDeltaLuma = maxLuma – minLuma; const int TABLE_PRECISION = 16; // O mesmo pode ser 8 ou 12. const int BIT_DEPTH = 10; // Profundidade de bit para amostras. int shift = TABLE_PRECISION; se( iDeltaLuma > 64) { int depthshift = BIT_ DEPTH - 6; // 64 é igual a 2^6. iDeltaLuma = ( iDeltaLuma + (1<<(depthshift-1)))>> depthshift; shift -= depthshift; } a = (((maxChroma – minChroma)*g_aiLMDivTableHighSimp_64[iDeltaLuma-1] + (1<<(shift- 1)))>>shift;
[00433] Deve-se notar que maxLuma e minLuma podem indicar os máximo e mínimo valores de amostras de luma das posições selecionadas. Alternativamente, os mesmos podem indicar uma função de máximo e mínimo valores de amostras de luma das posições selecionadas, tal como ponderação. Quando houver apenas 4 posições selecionadas, as mesmas também podem indicar a média de dois valores de luma maiores e a média de dois valores de luma menores. Note adicionalmente que, na figura 17, maxChroma e minChroma representam os valores de croma correspondentes a maxLuma e minLuma.
3.3 Método nº 4 com até quatro amostras
[00434] Suponha que a largura do bloco e a altura do bloco de croma atual é W e H, respectivamente. E a coordenada de topo-à esquerda do bloco de croma atual é [0, 0].
65 / 162
[00435] Se os blocos acima e à esquerda estiverem, ambos, disponíveis e o modo atual for o modo LM normal (excluindo LM-A, e LM-L), 2 amostras de croma localizadas na linha acima, e 2 amostras de croma localizadas na coluna à esquerda são selecionadas.
[00436] As coordenadas das duas amostras acima são [floor(W/4), -1] e [floor (3*W/4), -1].
[00437] As coordenadas das duas amostras à esquerda são [-1, floor(H/4)] e [-1, floor (3*H/4)].
[00438] As amostras selecionadas são pintadas em vermelho, da forma representada na figura 31A.
[00439] Subsequentemente, as 4 amostras são ordenadas de acordo com a intensidade da amostra de luma e classificadas em 2 grupos. As duas amostras maiores e as duas amostras menores são respectivamente ponderadas. O modelo de previsão de componente cruzado é derivado com os 2 pontos ponderados. Alternativamente, os máximo e mínimo valores das quatro amostras são usados para derivar os parâmetros LM.
[00440] Se o bloco acima estiver disponível ao mesmo tempo em que o bloco à esquerda não está disponível, quatro amostras de croma provenientes de bloco acima são selecionadas quando W>2 e 2 amostras de croma são selecionadas quando W=2.
[00441] As quatro coordenadas das amostras acima selecionadas são [W/8, -1], [W/8 + W/4, -1], [W/8 + 2*W/4, -1], e [W/8 + 3*W/4 , -1].
[00442] As amostras selecionadas são pintadas em vermelho, da forma representada na figura 31B.
[00443] Se o bloco à esquerda estiver disponível ao mesmo tempo em que o bloco acima não está disponível, quatro amostras de croma provenientes do bloco à esquerda são selecionadas quando H>2 e 2 amostras de croma são selecionadas quando H=2.
[00444] As quatro coordenadas das amostras à esquerda selecionadas
66 / 162 são [-1, H/8], [-1, H/8 + H/4], [-1, H/8 + 2*H/4, -1], e [-1, H/8 + 3*H/4 ].
[00445] Se nenhum dos blocos à esquerda e acima estiver disponível, uma previsão padrão é usada, com α igual a 0, β igual a 1<<(BitDepth-1), em que BitDepth representa a profundidade de bit das amostras de croma.
[00446] Se o modo atual for o modo LM-A, quatro amostras de croma provenientes de bloco acima são selecionadas quando W’>2 e 2 amostras de croma são selecionadas quando W’=2. W’ é o número disponível de amostras vizinhas acima, que pode ser 2*W.
[00447] As quatro coordenadas das amostras acima selecionadas são [W’/8, -1], [W’/8 + W’/4, -1], [W’/8 + 2*W’/4, -1], e [W’/8 + 3*W’/4 , -1].
[00448] Se o modo atual for o modo LM-L, quatro amostras de croma provenientes de bloco à esquerda são selecionadas quando H’>2 e 2 amostras de croma são selecionadas quando H’=2. H’ é o número disponível de amostras vizinhas à esquerda, que pode ser 2*H.
[00449] As quatro coordenadas das amostras à esquerda selecionadas são [-1, H’/8], [-1, H’/8 + H’/4], [-1, H’/8 + 2*H’/4, -1], e [-1, H’/8 + 3*H’/4 ].
3.5 Modalidade de exemplo para modificar o atual padrão VVC para uso da previsão CCLM Especificação 8.3.4.2.8 do modo de intraprevisão INTRA_LT_CCLM, INTRA_L_CCLM e INTRA_T_CCLM
[00450] As equações são descritas nesta seção usando os números de equação correspondentes àqueles no atual draft do padrão VVC.
[00451] Entradas neste processo são: - o modo de intraprevisão predModeIntra, - um local de amostra ( xTbC, yTbC ) da amostra no topo-à esquerda do atual bloco de transformação em relação à amostra no topo-à esquerda da figura atual, - uma variável nTbW que especifica a largura do bloco de
67 / 162 transformação, - uma variável nTbH que especifica a altura do bloco de transformação, - amostras vizinhas de croma p[ x ][ y ], com x = −1, y = 0..2 * nTbH − 1 e x = 0.. 2 * nTbW − 1, y = − 1.
[00452] A saída deste processo são amostras previstas predSamples[ x ][ y ], com x = 0..nTbW − 1, y = 0..nTbH − 1.
[00453] O local de luma atual ( xTbY, yTbY ) é derivado como segue: ( xTbY, yTbY ) = ( xTbC << 1, yTbC << 1 ) (8-155)
[00454] As variáveis availL, availT e availTL são derivadas, como segue: - Se predModeIntra for igual a INTRA_LT_CCLM, o seguinte se aplica: numSampT = availT ? nTbW : 0 (8-156) numSampL = availL ? nTbH : 0 (8-157) - Caso contrário, o seguinte se aplica: numSampT = ( availT && predModeIntra = = INTRA_T_CCLM ) ? ( nTbW + numTopRight ) : 0 (8-158) numSampL = ( availL && predModeIntra = = INTRA_L_CCLM ) ? ( nTbH + numLeftBelow ) : 0 (8-159) A variável bCTUboundary é derivada, como segue: bCTUboundary = ( yTbC & ( 1 << ( CtbLog2SizeY − 1 ) − 1 ) = = 0 ) ? TRUE : FALSE. (8-160) As amostras de previsão predSamples[ x ][ y ] com x =
0..nTbW − 1, y = 0..nTbH − 1 são derivadas como segue: - Se tanto numSampL quanto numSampT forem iguais a 0, o seguinte se aplica: predSamples[ x ][ y ] = 1 << ( BitDepthC − 1 ) (8-161) - Caso contrário, as seguintes etapas ordenadas se aplicam:
68 / 162
1. …[sem mudanças na especificação atual]
2. …
3. …
4. …
5. …
6. ……[sem mudanças na especificação atual]
7. As variáveis minY, maxY, minC e maxC são derivadas como segue: - A variável minY é definida igual a 1 << (BitDepthY) + 1 e a variável maxY é definida igual a −1.
[00455] - Se availL for igual a TRUE e predModeIntra for igual a INTRA_LT_CCLM, a variável aboveIs4 é definida igual a 0; Caso contrário, a mesma é definida igual a 1.
[00456] - Se availT for igual a TRUE e predModeIntra for igual a INTRA_LT_CCLM, a variável LeftIs4 é definida igual a 0; Caso contrário, a mesma é definida igual a 1.
[00457] - Os arranjos de variável startPos[] e pickStep[] são derivados como segue: - startPos[0] = actualTopTemplateSampNum >> (2 + aboveIs4); - pickStep[0] = std::max(1, actualTopTemplateSampNum >> (1 + aboveIs4)); - startPos[1] = actualLeftTemplateSampNum >> (2 + leftIs4); - pickStep[1] = std::max(1, actualLeftTemplateSampNum >> (1 + leftIs4)); - A variável cnt é definida igual a 0.
[00458] - Se predModeIntra for igual a INTRA_LT_CCLM, a variável nSX é definida igual a nTbW, nSY é definida igual a nTbH; Caso contrário, nSX é definida igual a numSampLT e nSY é definida igual a numSampL.
69 / 162
[00459] - Se availT for igual a TRUE e predModeIntra não for igual a INTRA_L_CCLM, as variáveis selectLumaPix, selectChromaPix são derivadas como segue: - Enquanto startPos[0]+cnt* pickStep[0] < nSX e cnt < 4, o seguinte se aplica: - selectLumaPix[cnt] = pTopDsY[ startPos[0]+cnt* pickStep[0]]; - selectChromaPix[cnt] = p[startPos[0]+cnt* pickStep[0]][ −1 ]; - cnt++; - Se availL for igual a TRUE e predModeIntra não for igual a INTRA_T_CCLM, as variáveis selectLumaPix, selectChromaPix são derivadas, como segue: - Enquanto startPos[1]+cnt* pickStep[1] < nSY e cnt < 4, o seguinte se aplica: - selectLumaPix[cnt] = pLeftDsY [ startPos[1]+cnt* pickStep[1] ]; - selectChromaPix[cnt] = p[-1][ startPos[1]+cnt* pickStep[1]]; - cnt++; - Se cnt for igual a 2, o seguinte se aplica: - Se selectLumaPix[0] > selectLumaPix[1], minY é definido igual a selectLumaPix[1], minC é definido igual a selectChromaPix[1], maxY é definido igual a selectLumaPix[0] e maxC é definido igual a selectChromaPix[0]; Caso contrário, maxY é definido igual a selectLumaPix[1], maxC é definido igual a selectChromaPix[1], minY é definido igual a selectLumaPix[0] e minC é definido igual a selectChromaPix[0] - Caso contrário, se cnt for igual a 4, o seguinte se aplica: - Os arranjos de variável minGrpIdx e maxGrpIdx são
70 / 162 inicializados como: - minGrpIdx[0] = 0, minGrpIdx[1] = 1, maxGrpIdx[0] = 2, maxGrpIdx[1] = 3; - O seguinte se aplica - Se selectLumaPix[minGrpIdx[0]] > selectLumaPix[minGrpIdx[1]], trocar minGrpIdx[0] e minGrpIdx[1]; - Se selectLumaPix[maxGrpIdx[0]] > selectLumaPix[maxGrpIdx[1]], trocar maxGrpIdx[0] e maxGrpIdx[1]; - Se selectLumaPix[minGrpIdx[0]] > selectLumaPix[maxGrpIdx[1]], trocar minGrpIdx e maxGrpIdx; - Se selectLumaPix[minGrpIdx[1]] > selectLumaPix[maxGrpIdx[0]], trocar minGrpIdx[1] e maxGrpIdx[0]; - maxY, maxC, minY e minC são derivados, como segue: - maxY =(selectLumaPix[maxGrpIdx[0]]+selectLumaPix[maxGrpIdx[1]]+1)>>1; - maxC =(selectChromaPix[maxGrpIdx[0]]+selectChromaPix[maxGrpIdx[1]]+1)>>1; - maxY =(selectLumaPix[minGrpIdx
[0]]+selectLumaPix[minGrpIdx [1]]+1)>>1; - maxC =(selectChromaPix[minGrpIdx[0]]+ selectChromaPix [minGrpIdx [1]]+1)>>1; -8. As variáveis a, b, e k são derivadas como segue: [fim das mudanças]
3.6 Um outro esboço de trabalho exemplar sobre a previsão CCLM proposta
[00460] Nesta seção, uma outra modalidade exemplar que mostra modificações que podem ser feitas no atual esboço de trabalho do padrão VVC é descrita. Os números de equação aqui expostos se referem aos correspondentes números de equação no padrão VVC.
[00461] Especificação de modo de intraprevisão INTRA_LT_CCLM,
71 / 162 INTRA_L_CCLM e INTRA_T_CCLM.
[00462] [adicionar no atual esboço de trabalho VVC, como a seguir]
[00463] O número de amostras de croma vizinhas disponíveis no topo e de topo-à direita numTopSamp e o número de amostras de croma vizinhas disponíveis na esquerda e à esquerda-abaixo nLeftSamp são derivados como segue: - Se predModeIntra for igual a INTRA_LT_CCLM, o seguinte se aplica: numSampT = availT ? nTbW : 0 (8-157) numSampL = availL ? nTbH : 0 (8-158) - Caso contrário, o seguinte se aplica: numSampT = ( availT && predModeIntra = = INTRA_T_CCLM ) ? ( nTbW + Min( numTopRight, nTbH )) : 0 (8-159) numSampL = ( availL && predModeIntra = = INTRA_L_CCLM ) ? ( nTbH + Min( numLeftBelow, nTbW )) : 0 (8-160) A variável bCTUboundary é derivada, como segue: bCTUboundary = ( yTbC & ( 1 << ( CtbLog2SizeY − 1 ) − 1 ) = = 0 ) ? TRUE : FALSE. (8-161) A variável cntN e o arranjo pickPosN[], com N sendo substituído por L e T, são derivados como segue: - A variável numIs4N é definida igual a (( availN && predModeIntra == INTRA_LT_CCLM ) ? 0 : 1).
[00464] - A variável startPosN é definida igual a numSampN >> ( 2 + numIs4N ).
[00465] - A variável pickStepN é definida igual a Max( 1, numSampN >> ( 1 + numIs4N )).
[00466] - Se availN for igual a TRUE e predModeIntra for igual a
72 / 162 INTRA_LT_CCLM ou INTRA_N_CCLM, cntN é definido igual a ( 1 + numIs4N ) << 1, e pickPosN[ pos ] é definido igual a (startPosN + pos * pickStepN), com pos = 0..( cntN – 1 ).
[00467] - Caso contrário, cntN é definido igual a 0.
[00468] As amostras de previsão predSamples[ x ][ y ] com x =
0..nTbW − 1, y = 0..nTbH − 1 são derivadas como segue: - Se tanto numSampL quanto numSampT forem iguais a 0, o seguinte se aplica: predSamples[ x ][ y ] = 1 << ( BitDepthC − 1 ) (8-162) - Caso contrário, as seguintes etapas ordenadas se aplicam:
1. As amostras de luma colocalizadas pY[ x ][ y ] com x =
0..nTbW * 2 − 1, y= 0..nTbH * 2 − 1 são definidas igual às amostras de luma reconstruídas antes do processo de filtro de desblocagem nos locais ( xTbY + x, yTbY + y ).
[00469] 2. As amostras de amostras de luma vizinhas pY[ x ][ y ] são derivadas como segue: - Quando numSampL for maior do que 0, as amostras de luma à esquerda vizinhas pY[ x ][ y ] com x = −1..−3, y = 0..2 * numSampL − 1, são definidas iguais às amostras de luma reconstruídas antes do processo de filtro de desblocagem nos locais ( xTbY + x , yTbY +y ).
[00470] - Quando numSampT for maior do que 0, as amostras de luma de topo vizinhas pY[ x ][ y ] com x = 0..2 * numSampT − 1, y = −1, −2, são definidas iguais às amostras de luma reconstruídas antes do processo de filtro de desblocagem nos locais ( xTbY+ x, yTbY + y ).
[00471] - Quando availTL for igual a TRUE, as amostras de luma no topo-à esquerda vizinhas pY[ x ][ y ] com x = −1, y = −1, −2, são definidas iguais às amostras de luma reconstruídas antes do processo de filtro de desblocagem nos locais ( xTbY+ x, yTbY + y ).
[00472] 3. As amostras de luma colocalizadas descendentemente
73 / 162 amostradas pDsY[ x ][ y ] com x = 0..nTbW − 1, y = 0..nTbH − 1 são derivadas como segue: - Se sps_cclm_colocated_chroma_flag for igual a 1, o seguinte se aplica: - pDsY[ x ][ y ] com x = 1..nTbW − 1, y = 1..nTbH − 1 é derivado como segue:
- Se availL for igual a TRUE, pDsY[ 0 ][ y ] com y = 1..nTbH − 1 é derivado como segue:
- Caso contrário, pDsY[ 0 ][ y ] com y = 1..nTbH − 1 é derivado como segue:
- Se availT for igual a TRUE, pDsY[ x ][ 0 ] com x = 1..nTbW − 1 é derivado como segue:
- Caso contrário, pDsY[ x ][ 0 ] com x = 1..nTbW − 1 é derivado como segue:
Se availL for igual a TRUE e availT for igual a TRUE, pDsY[ 0 ][ 0 ] é derivado como segue:
- Caso contrário, se availL for igual a TRUE e availT for igual a FALSE, pDsY[ 0 ][ 0 ] é derivado como segue: pDsY[ 0 ][ 0 ] = ( pY[ −1 ][ 0 ] + 2 * pY[ 0 ][ 0 ] + pY[ 1 ][ 0 ]
74 / 162 + 2 ) >> 2 (8-169) - Caso contrário, se availL for igual a FALSE e availT for igual a TRUE, pDsY[ 0 ][ 0 ] é derivado como segue: pDsY[ 0 ][ 0 ] = ( pY[ 0 ][ −1 ] + 2 * pY[ 0 ][ 0 ] + pY[ 0 ][ 1 ] + 2 ) >> 2 (8-170) - Caso contrário (availL é igual a FALSE e availT é igual a FALSE), pDsY[ 0 ][ 0 ] é derivado como segue: pDsY[ 0 ][ 0 ] = pY[ 0 ][ 0 ] (8-171) - Caso contrário, o seguinte se aplica: - pDsY[ x ][ y ] com x = 1..nTbW − 1, y = 0..nTbH − 1 é derivado como segue: - Se availL for igual a TRUE, pDsY[ 0 ][ y ] com y = 0..nTbH − 1 é derivado como segue: - Caso contrário, pDsY[ 0 ][ y ] com y = 0..nTbH − 1 é derivado como segue: pDsY[ 0 ][ y ] = ( pY[ 0 ][ 2 * y ] + pY[ 0 ][ 2 * y + 1 ] + 1 ) >> 1 (8-174)
4. Quando numSampL for maior do que 0, as amostras de croma à esquerda vizinhas selecionadas pSelC[idx] são definidas iguais a p[ - 1 ][ pickPosL[ idx ]] com idx = 0..(cntL – 1), e as amostras de luma à esquerda vizinhas descendentemente amostradas selecionadas pSelDsY[ idx ] com idx = 0..(cntL-1) são derivadas como segue: - A variável y é definida igual a pickPosL[ idx ].
[00473] - Se sps_cclm_colocated_chroma_flag for igual a 1, o seguinte se aplica: - Se y > 0 || availTL == TRUE,
75 / 162 - Caso contrário, pSelDsY[ idx ] = ( pY[ −3 ][ 0 ] + 2 * pY[ −2 ][ 0 ] + pY[ −1 ][ 0 ] + 2 ) >> 2 (8-177) - Caso contrário, o seguinte se aplica:
5. Quando numSampT for maior do que 0, as amostras de croma de topo vizinhas selecionadas pSelC[idx] são definidas iguais a p[ pickPosT[ idx ]][ -1 ] com idx = 0..( cntT – 1 ), e as amostras de luma de topo vizinhas descendentemente amostradas pSelDsY[ idx ] com idx = cntL..(cntL + cntT – 1) são especificadas, como segue: - A variável x é definida igual a pickPosT[ idx - cntL ].
[00474] - Se sps_cclm_colocated_chroma_flag for igual a 1, o seguinte se aplica: - Se x > 0: - Se bCTUboundary for igual a FALSE, o seguinte se aplica: - Caso contrário (bCTUboundary é igual a TRUE), o seguinte se aplica: - Caso contrário: - Se availTL for igual a TRUE e bCTUboundary for igual a FALSE, o seguinte se aplica:
76 / 162
- Caso contrário, se availTL for igual a TRUE e bCTUboundary for igual a TRUE, o seguinte se aplica:
- Caso contrário, se availTL for igual a FALSE e bCTUboundary for igual a FALSE, o seguinte se aplica: pSelDsY[ idx ] = ( pY[ 0 ][ −3 ] + 2 * pY[ 0 ][ −2 ] + pY[ 0 ][ −1 ] + 2 ) >> 2 (8-183) - Caso contrário (availTL é igual a FALSE e bCTUboundary é igual a TRUE), o seguinte se aplica: pSelDsY[ idx ] = pY[ 0 ][ −1 ] (8-184) - Caso contrário, o seguinte se aplica: - Se x > 0: - Se bCTUboundary for igual a FALSE, o seguinte se aplica:
- Caso contrário (bCTUboundary é igual a TRUE), o seguinte se aplica:
- Caso contrário: - Se availTL for igual a TRUE e bCTUboundary for igual a FALSE, o seguinte se aplica:
- Caso contrário, se availTL for igual a TRUE e bCTUboundary for igual a TRUE, o seguinte se aplica:
77 / 162 - Caso contrário, se availTL for igual a FALSE e bCTUboundary for igual a FALSE, o seguinte se aplica: pSelDsY[ idx ] = ( pY[ 0 ][ −2 ] + pY[ 0 ][ −1 ] + 1 ) >> 1 (8-189) - Caso contrário, (availTL é igual a FALSE e bCTUboundary é igual a TRUE), o seguinte se aplica: pSelDsY[ idx ] = pY[ 0 ][ −1 ] (8-190)
6. As variáveis minY, maxY, minC e maxC são derivadas como segue: - Quando cntT+cntL for igual a 2, definir pSelC[idx + 2] = pSelC[idx] e pSelDsY[idx + 2] = pSelDsY[idx], com idx = 0 e 1.
[00475] - Os arranjos minGrpIdx[] e maxGrpIdx[] são definidos como: minGrpIdx[0] = 0, minGrpIdx[1] = 1, maxGrpIdx[0] = 2, maxGrpIdx[1] = 3.
[00476] - Se pSelDsY[minGrpIdx[0]] > pSelDsY[minGrpIdx[1]], Swap(minGrpIdx[0], minGrpIdx[1]).
[00477] - Se pSelDsY[maxGrpIdx[0]] > pSelDsY[maxGrpIdx[1]], Swap(maxGrpIdx[0], maxGrpIdx[1]).
[00478] - Se pSelDsY[minGrpIdx[0]] > pSelDsY[maxGrpIdx[1]], Swap(minGrpIdx, maxGrpIdx ).
[00479] - Se pSelDsY[minGrpIdx[1]] > pSelDsY[maxGrpIdx[0]], Swap(minGrpIdx[1], maxGrpIdx[0]).
[00480] - maxY = ( pSelDsY[maxGrpIdx[0]] + pSelDsY[maxGrpIdx[1]] + 1 ) >> 1.
[00481] - maxC = ( pSelC[maxGrpIdx[0]] + pSelC[maxGrpIdx[1]] + 1 ) >> 1.
[00482] - minY = ( pSelDsY[minGrpIdx[0]] + pSelDsY[minGrpIdx[1]] + 1 ) >> 1.
[00483] - minC = ( pSelC[minGrpIdx[0]] + pSelC[minGrpIdx[1]] + 1 )
78 / 162 >> 1.
[00484] 7. As variáveis a, b, e k são derivadas como segue:
[00485] - Se numSampL for igual a 0, e numSampT for igual a 0, o seguinte se aplica: k=0 (8-208) a=0 (8-209) b = 1 << ( BitDepthC − 1) (8-210) - Caso contrário, o seguinte se aplica: diff = maxY − minY (8-211) - Se diff não for igual a 0, o seguinte se aplica: diffC = maxC − minC (8-212) x = Floor( Log2( diff ) ) (8-213) normDiff = ( ( diff << 4 ) >> x ) & 15 (8-214) x += ( normDiff != 0 ) ? 1 : 0 (8-215) y = Floor( Log2( Abs ( diffC ) ) ) + 1 (8-216) a = ( diffC * ( divSigTable[ normDiff ] | 8 ) + 2y − 1 ) >> y (8-217) k=((3+x−y)<1)?1:3+x−y (8-218) a = ( ( 3 + x − y ) < 1 ) ? Sign( a ) * 15 : a (8-219) b = minC − ( ( a * minY ) >> k ) (8-220) em que divSigTable[ ] é especificado como segue: divSigTable[ ] = { 0, 7, 6, 5, 5, 4, 4, 3, 3, 2, 2, 1, 1, 1, 1, 0 } (8-221) - Caso contrário (diff é igual a 0), o seguinte se aplica: k=0 (8-222) a=0 (8-223) b = minC (8-224)
8. As amostras de previsão predSamples[ x ][ y ] com x =
0..nTbW − 1, y = 0.. nTbH − 1 são derivadas como segue:
79 / 162 predSamples[ x ][ y ] = Clip1C( ( ( pDsY[ x ][ y ] * a ) >> k ) +b) (8-225) [Fim da modalidade exemplo]
3.7 Um outro esboço de trabalho exemplar sobre a previsão CCLM proposta
[00486] Nesta seção, uma outra modalidade exemplar que mostra modificações que podem ser feitas no atual esboço de trabalho do padrão VVC é descrita. Os números de equação aqui expostos se referem aos correspondentes números de equação no padrão VVC.
[00487] Especificação do modo de intraprevisão INTRA_LT_CCLM, INTRA_L_CCLM e INTRA_T_CCLM
[00488] O número de amostras de croma vizinhas disponíveis no topo e de topo-à direita numTopSamp e o número de amostras de croma vizinhas disponíveis na esquerda e à esquerda-abaixo nLeftSamp são derivados como segue: - Se predModeIntra for igual a INTRA_LT_CCLM, o seguinte se aplica: numSampT = availT ? nTbW : 0 (8-157) numSampL = availL ? nTbH : 0 (8-158) - Caso contrário, o seguinte se aplica:
[00489] A variável bCTUboundary é derivada como segue: bCTUboundary = ( yTbC & ( 1 << ( CtbLog2SizeY − 1 ) − 1 ) = = 0 ) ? TRUE : FALSE. (8-161) A variável cntN e o arranjo pickPosN[], com N sendo substituído por L e T, são derivados como segue: - A variável numIs4N é definida igual a (( availN &&
80 / 162 predModeIntra == INTRA_LT_CCLM ) ? 0 : 1).
[00490] - A variável startPosN é definida igual a numSampN >> ( 2 + numIs4N ).
[00491] - A variável pickStepN é definida igual a Max( 1, numSampN >> ( 1 + numIs4N )).
[00492] - Se availN for igual a TRUE e predModeIntra for igual a INTRA_LT_CCLM ou INTRA_N_CCLM, cntN é definido igual a Min( numSampN, ( 1 + numIs4N ) << 1 ), e pickPosN[ pos ] é definido igual a (startPosN + pos * pickStepN), com pos = 0..( cntN – 1 ).
[00493] - Caso contrário, cntN é definido igual a 0.
[00494] As amostras de previsão predSamples[ x ][ y ] com x =
0..nTbW − 1, y = 0..nTbH − 1 são derivadas como segue: - Se tanto numSampL quanto numSampT forem iguais a 0, o seguinte se aplica: predSamples[ x ][ y ] = 1 << ( BitDepthC − 1 ) (8-162) - Caso contrário, as seguintes etapas ordenadas se aplicam:
1. As amostras de luma colocalizadas pY[ x ][ y ] com x =
0..nTbW * 2 − 1, y= 0..nTbH * 2 − 1 são definidas iguais às amostras de luma reconstruídas antes do processo de filtro de desblocagem nos locais ( xTbY + x, yTbY + y ).
[00495] 2. As amostras de amostras de luma vizinhas pY[ x ][ y ] são derivadas como segue: - Quando numSampL for maior do que 0, as amostras de luma à esquerda vizinhas pY[ x ][ y ] com x = −1..−3, y = 0..2 * numSampL − 1 são definidas iguais às amostras de luma reconstruídas antes do processo de filtro de desblocagem nos locais ( xTbY + x , yTbY +y ).
[00496] - Quando numSampT for maior do que 0, as amostras de luma de topo vizinhas pY[ x ][ y ] com x = 0..2 * numSampT − 1, y = −1, −2 são definidas iguais às amostras de luma reconstruídas antes do processo de filtro
81 / 162 de desblocagem nos locais ( xTbY+ x, yTbY + y ).
[00497] - Quando availTL for igual a TRUE, as amostras de luma no topo-à esquerda vizinhas pY[ x ][ y ] com x = −1, y = −1, −2 são definidas iguais às amostras de luma reconstruídas antes do processo de filtro de desblocagem nos locais ( xTbY+ x, yTbY + y ).
[00498] 3. As amostras de luma colocalizadas descendentemente amostradas pDsY[ x ][ y ] com x = 0..nTbW − 1, y = 0..nTbH − 1 são derivadas como segue: - Se sps_cclm_colocated_chroma_flag for igual a 1, o seguinte se aplica: - pDsY[ x ][ y ] com x = 1..nTbW − 1, y = 1..nTbH − 1 é derivado como segue: - Se availL for igual a TRUE, pDsY[ 0 ][ y ] com y = 1..nTbH − 1 é derivado como segue: - Caso contrário, pDsY[ 0 ][ y ] com y = 1..nTbH − 1 é derivado como segue: - Se availT for igual a TRUE, pDsY[ x ][ 0 ] com x = 1..nTbW − 1 é derivado como segue: - Caso contrário, pDsY[ x ][ 0 ] com x = 1..nTbW − 1 é derivado como segue:
82 / 162 - Se availL for igual a TRUE e availT for igual a TRUE, pDsY[ 0 ][ 0 ] é derivado como segue: - Caso contrário, se availL for igual a TRUE e availT for igual a FALSE, pDsY[ 0 ][ 0 ] é derivado como segue: pDsY[ 0 ][ 0 ] = ( pY[ −1 ][ 0 ] + 2 * pY[ 0 ][ 0 ] + pY[ 1 ][ 0 ] + 2 ) >> 2 (8-169) - Caso contrário, se availL for igual a FALSE e availT for igual a TRUE, pDsY[ 0 ][ 0 ] é derivado como segue: pDsY[ 0 ][ 0 ] = ( pY[ 0 ][ −1 ] + 2 * pY[ 0 ][ 0 ] + pY[ 0 ][ 1 ] + 2 ) >> 2 (8-170) - Caso contrário (availL é igual a FALSE e availT é igual a FALSE), pDsY[ 0 ][ 0 ] é derivado como segue: pDsY[ 0 ][ 0 ] = pY[ 0 ][ 0 ] (8-171) Caso contrário, o seguinte se aplica: - pDsY[ x ][ y ] com x = 1..nTbW − 1, y = 0..nTbH − 1 é derivado como segue: - Se availL for igual a TRUE, pDsY[ 0 ][ y ] com y = 0..nTbH − 1 é derivado como segue: - Caso contrário, pDsY[ 0 ][ y ] com y = 0..nTbH − 1 é derivado como segue: pDsY[ 0 ][ y ] = ( pY[ 0 ][ 2 * y ] + pY[ 0 ][ 2 * y + 1 ] + 1 ) >> 1 (8-174)
4. Quando numSampL for maior do que 0, as amostras de
83 / 162 croma à esquerda vizinhas selecionadas pSelC[idx] são definidas iguais a p[ - 1 ][ pickPosL[ idx ]] com idx = 0..(cntL – 1), e as amostras de luma à esquerda vizinhas descendentemente amostradas selecionadas pSelDsY[ idx ] com idx = 0..(cntL-1) são derivadas como segue: - A variável y é definida igual a pickPosL[ idx ].
[00499] - Se sps_cclm_colocated_chroma_flag for igual a 1, o seguinte se aplica: - Se y > 0 || availTL == TRUE, - Caso contrário, pSelDsY[ idx ] = ( pY[ −3 ][ 0 ] + 2 * pY[ −2 ][ 0 ] + pY[ −1 ][ 0 ] + 2 ) >> 2 (8-177) - Caso contrário, o seguinte se aplica: .
[00500] 5. Quando numSampT for maior do que 0, as amostras de croma de topo vizinhas selecionadas pSelC[idx] são definidas iguais a p[ pickPosT[ idx ]][ -1 ] com idx = 0..( cntT – 1 ), e as amostras de luma de topo vizinhas descendentemente amostradas pSelDsY[ idx ] com idx = cntL..(cntL + cntT – 1) são especificadas como segue: - A variável x é definida igual a pickPosT[ idx - cntL ].
[00501] - Se sps_cclm_colocated_chroma_flag for igual a 1, o seguinte se aplica: - Se x > 0: - Se bCTUboundary for igual a FALSE, o seguinte se aplica:
84 / 162
- Caso contrário (bCTUboundary é igual a TRUE), o seguinte se aplica:
- Caso contrário: - Se availTL for igual a TRUE e bCTUboundary for igual a FALSE, o seguinte se aplica:
- Caso contrário, se availTL for igual a TRUE e bCTUboundary for igual a TRUE, o seguinte se aplica:
- Caso contrário, se availTL for igual a FALSE e bCTUboundary for igual a FALSE, o seguinte se aplica: pSelDsY[ idx ] = ( pY[ 0 ][ −3 ] + 2 * pY[ 0 ][ −2 ] + pY[ 0 ][ −1 ] + 2 ) >> 2 (8-183) - Caso contrário (availTL é igual a FALSE e bCTUboundary é igual a TRUE), o seguinte se aplica: pSelDsY[ idx ] = pY[ 0 ][ −1 ] (8-184) - Caso contrário, o seguinte se aplica: - Se x > 0: - Se bCTUboundary for igual a FALSE, o seguinte se aplica:
- Caso contrário (bCTUboundary é igual a TRUE), o seguinte se aplica:
85 / 162 - Caso contrário: - Se availTL for igual a TRUE e bCTUboundary for igual a FALSE, o seguinte se aplica: - Caso contrário, se availTL for igual a TRUE e bCTUboundary for igual a TRUE, o seguinte se aplica: - Caso contrário, se availTL for igual a FALSE e bCTUboundary for igual a FALSE, o seguinte se aplica: pSelDsY[ idx ] = ( pY[ 0 ][ −2 ] + pY[ 0 ][ −1 ] + 1 ) >> 1 (8-189) - Caso contrário (availTL é igual a FALSE e bCTUboundary é igual a TRUE), o seguinte se aplica: pSelDsY[ idx ] = pY[ 0 ][ −1 ] (8-190)
6. Quando cntT+ cntL não for igual a 0, as variáveis minY, maxY, minC e maxC são derivadas como segue: - Quando cntT+cntL for igual a 2, definir pSelComp[3] igual a pSelComp [0], pSelComp[2] igual a pSelComp[1], pSelComp[0] igual a pSelComp [1], e pSelComp[1] igual a pSelComp[3], com Comp sendo substituído por DsY e C.
[00502] - Os arranjos minGrpIdx[] e maxGrpIdx[] são definidos como: minGrpIdx[0] = 0, minGrpIdx[1] = 1, maxGrpIdx[0] = 2, maxGrpIdx[1] = 3.
[00503] - Se pSelDsY[minGrpIdx[0]] > pSelDsY[minGrpIdx[1]], Swap(minGrpIdx[0], minGrpIdx[1]).
[00504] - Se pSelDsY[maxGrpIdx[0]] > pSelDsY[maxGrpIdx[1]], Swap(maxGrpIdx[0], maxGrpIdx[1]).
[00505] - Se pSelDsY[minGrpIdx[0]] > pSelDsY[maxGrpIdx[1]], Swap(minGrpIdx, maxGrpIdx ).
86 / 162
[00506] - Se pSelDsY[minGrpIdx[1]] > pSelDsY[maxGrpIdx[0]], Swap(minGrpIdx[1], maxGrpIdx[0]).
[00507] - maxY = ( pSelDsY[maxGrpIdx[0]] + pSelDsY[maxGrpIdx[1]] + 1 ) >> 1.
[00508] - maxC = ( pSelC[maxGrpIdx[0]] + pSelC[maxGrpIdx[1]] + 1 ) >> 1.
[00509] - minY = ( pSelDsY[minGrpIdx[0]] + pSelDsY[minGrpIdx[1]] + 1 ) >> 1.
[00510] - minC = ( pSelC[minGrpIdx[0]] + pSelC[minGrpIdx[1]] + 1 ) >> 1.
[00511] 7. As variáveis a, b, e k são derivadas como segue: - Se numSampL for igual a 0, e numSampT for igual a 0, o seguinte se aplica: k=0 (8-208) a=0 (8-209) b = 1 << ( BitDepthC − 1) (8-210) - Caso contrário, o seguinte se aplica: diff = maxY − minY (8-211) - Se diff não é igual a 0, o seguinte se aplica: diffC = maxC − minC (8-212) x = Floor( Log2( diff ) ) (8-213) normDiff = ( ( diff << 4 ) >> x ) & 15 (8-214) x += ( normDiff != 0 ) ? 1 : 0 (8-215) y = Floor( Log2( Abs ( diffC ) ) ) + 1 (8-216) a = ( diffC * ( divSigTable[ normDiff ] | 8 ) + 2y − 1 ) >> y (8-217) k=((3+x−y)<1)?1:3+x−y (8-218) a = ( ( 3 + x − y ) < 1 ) ? Sign( a ) * 15 : a (8-219) b = minC − ( ( a * minY ) >> k ) (8-220)
87 / 162 em que divSigTable[ ] é especificado, como segue: divSigTable[ ] = { 0, 7, 6, 5, 5, 4, 4, 3, 3, 2, 2, 1, 1, 1, 1, 0 } (8-221) - Caso contrário (diff é igual a 0), o seguinte se aplica: k=0 (8-222) a=0 (8-223) b = minC (8-224)
8. As amostras de previsão predSamples[ x ][ y ] com x =
0..nTbW − 1, y = 0.. nTbH − 1 são derivadas como segue: predSamples[ x ][ y ] = Clip1C( ( ( pDsY[ x ][ y ] * a ) >> k ) +b) (8-225)
3.8 Um esboço de trabalho alternativo sobre a previsão CCLM proposta
[00512] Nesta seção, uma modalidade exemplar alternativa que mostra outras modificações que podem ser feitas no atual esboço de trabalho do padrão VVC é descrita. Os números de equação aqui expostos se referem aos correspondentes números de equação no padrão VVC.
[00513] Especificação do modo de intraprevisão INTRA_LT_CCLM, INTRA_L_CCLM e INTRA_T_CCLM.
[00514] O número de amostras de croma vizinhas disponíveis no topo e de topo-à direita numTopSamp e o número de amostras de croma vizinhas disponíveis na esquerda e à esquerda-abaixo nLeftSamp são derivados como segue: - Se predModeIntra for igual a INTRA_LT_CCLM, o seguinte se aplica: numSampT = availT ? nTbW : 0 (8-157) numSampL = availL ? nTbH : 0 (8-158) - Caso contrário, o seguinte se aplica:
88 / 162 A variável bCTUboundary é derivada como segue: A variável cntN e o arranjo pickPosN[] com N sendo substituído por L e T, são derivados como segue: - A variável numIs4N é definida igual a (( availT && availL && predModeIntra == INTRA_LT_CCLM ) ? 0 : 1).
[00515] - A variável startPosN é definida igual a numSampN >> ( 2 + numIs4N ).
[00516] - A variável pickStepN é definida igual a Max( 1, numSampN >> ( 1 + numIs4N )).
[00517] - Se availN for igual a TRUE e predModeIntra for igual a INTRA_LT_CCLM ou INTRA_N_CCLM, cntN é definido igual a Min( numSampN, ( 1 + numIs4N ) << 1 ), e pickPosN[ pos ] é definido igual a (startPosN + pos * pickStepN), com pos = 0..( cntN – 1 ).
[00518] - Caso contrário, cntN é definido igual a 0.
[00519] As amostras de previsão predSamples[ x ][ y ] com x =
0..nTbW − 1, y = 0..nTbH − 1 são derivadas como segue: - Se tanto numSampL quanto numSampT forem iguais a 0, o seguinte se aplica: predSamples[ x ][ y ] = 1 << ( BitDepthC − 1 ) (8-162) - Caso contrário, as seguintes etapas ordenadas se aplicam:
1. As amostras de luma colocalizadas pY[ x ][ y ] com x =
0..nTbW * 2 − 1, y= 0..nTbH * 2 − 1 são definidas iguais às amostras de luma reconstruídas antes do processo de filtro de desblocagem nos locais ( xTbY + x, yTbY + y ).
[00520] 2. As amostras de amostras de luma vizinhas pY[ x ][ y ] são
89 / 162 derivadas como segue: - Quando numSampL for maior do que 0, as amostras de luma à esquerda vizinhas pY[ x ][ y ] com x = −1..−3, y = 0..2 * numSampL − 1 são definidas iguais às amostras de luma reconstruídas antes do processo de filtro de desblocagem nos locais ( xTbY + x , yTbY +y ).
[00521] - Quando numSampT for maior do que 0, as amostras de luma de topo vizinhas pY[ x ][ y ] com x = 0..2 * numSampT − 1, y = −1, −2 são definidas iguais às amostras de luma reconstruídas antes do processo de filtro de desblocagem nos locais ( xTbY+ x, yTbY + y ).
[00522] - Quando availTL for igual a TRUE, as amostras de luma no topo-à esquerda vizinhas pY[ x ][ y ] com x = −1, y = −1, −2, são definidas iguais às amostras de luma reconstruídas antes do processo de filtro de desblocagem nos locais ( xTbY+ x, yTbY + y ).
[00523] 3. As amostras de luma colocalizadas descendentemente amostradas pDsY[ x ][ y ] com x = 0..nTbW − 1, y = 0..nTbH − 1 são derivadas como segue: - Se sps_cclm_colocated_chroma_flag for igual a 1, o seguinte se aplica: - pDsY[ x ][ y ] com x = 1..nTbW − 1, y = 1..nTbH − 1 é derivado como segue: - Se availL for igual a TRUE, pDsY[ 0 ][ y ] com y = 1..nTbH − 1 é derivado como segue: - Caso contrário, pDsY[ 0 ][ y ] com y = 1..nTbH − 1 é derivado como segue:
90 / 162
- Se availT for igual a TRUE, pDsY[ x ][ 0 ] com x = 1..nTbW − 1 é derivado como segue:
- Caso contrário, pDsY[ x ][ 0 ] com x = 1..nTbW − 1 é derivado como segue:
- Se availL for igual a TRUE e availT for igual a TRUE, pDsY[ 0 ][ 0 ] é derivado como segue:
- Caso contrário, se availL for igual a TRUE e availT for igual a FALSE, pDsY[ 0 ][ 0 ] é derivado como segue: pDsY[ 0 ][ 0 ] = ( pY[ −1 ][ 0 ] + 2 * pY[ 0 ][ 0 ] + pY[ 1 ][ 0 ] + 2 ) >> 2 (8-169) - Caso contrário, se availL for igual a FALSE e availT for igual a TRUE, pDsY[ 0 ][ 0 ] é derivado como segue: pDsY[ 0 ][ 0 ] = ( pY[ 0 ][ −1 ] + 2 * pY[ 0 ][ 0 ] + pY[ 0 ][ 1 ] + 2 ) >> 2 (8-170) - Caso contrário (availL é igual a FALSE e availT é igual a FALSE), pDsY[ 0 ][ 0 ] é derivado como segue: pDsY[ 0 ][ 0 ] = pY[ 0 ][ 0 ] (8-171) - Caso contrário, o seguinte se aplica: - pDsY[ x ][ y ] com x = 1..nTbW − 1, y = 0..nTbH − 1 é derivado como segue:
- Se availL for igual a TRUE, pDsY[ 0 ][ y ] com y = 0..nTbH − 1 é derivado como segue:
91 / 162 - Caso contrário, pDsY[ 0 ][ y ] com y = 0..nTbH − 1 é derivado como segue: pDsY[ 0 ][ y ] = ( pY[ 0 ][ 2 * y ] + pY[ 0 ][ 2 * y + 1 ] + 1 ) >> 1 (8-174)
4. Quando numSampL for maior do que 0, as amostras de croma à esquerda vizinhas selecionadas pSelC[idx] são definidas iguais a p[ - 1 ][ pickPosL[ idx ]] com idx = 0..(cntL – 1), e as amostras de luma à esquerda vizinhas descendentemente amostradas selecionadas pSelDsY[ idx ] com idx = 0..(cntL-1) são derivadas como segue: - A variável y é definida igual a pickPosL[ idx ].
[00524] - Se sps_cclm_colocated_chroma_flag for igual a 1, o seguinte se aplica: - Se y > 0 || availTL == TRUE, - Caso contrário, pSelDsY[ idx ] = ( pY[ −3 ][ 0 ] + 2 * pY[ −2 ][ 0 ] + pY[ −1 ][ 0 ] + 2 ) >> 2 (8-177) - Caso contrário, o seguinte se aplica:
5. Quando numSampT for maior do que 0, as amostras de croma de topo vizinhas selecionadas pSelC[ idx ] são definidas iguais a p[ pickPosT[ idx – cntL ]][ -1 ] com idx = cntL..( cntL + cntT – 1 ), e as amostras de luma de topo vizinhas descendentemente amostradas pSelDsY[ idx ] com idx = cntL..( cntL + cntT – 1) são especificadas, como segue: - A variável x é definida igual a pickPosT[ idx – cntL ].
[00525] - Se sps_cclm_colocated_chroma_flag for igual a 1, o seguinte se aplica:
92 / 162
- Se x > 0: - Se bCTUboundary for igual a FALSE, o seguinte se aplica:
- Caso contrário (bCTUboundary é igual a TRUE), o seguinte se aplica:
- Caso contrário: - Se availTL for igual a TRUE e bCTUboundary for igual a FALSE, o seguinte se aplica:
- Caso contrário, se availTL for igual a TRUE e bCTUboundary for igual a TRUE, o seguinte se aplica:
- Caso contrário, se availTL for igual a FALSE e bCTUboundary for igual a FALSE, o seguinte se aplica: pSelDsY[ idx ] = ( pY[ 0 ][ −3 ] + 2 * pY[ 0 ][ −2 ] + pY[ 0 ][ −1 ] + 2 ) >> 2 (8-183) - Caso contrário (availTL é igual a FALSE e bCTUboundary é igual a TRUE), o seguinte se aplica: pSelDsY[ idx ] = pY[ 0 ][ −1 ] (8-184) - Caso contrário, o seguinte se aplica: - Se x > 0: - Se bCTUboundary for igual a FALSE, o seguinte se aplica:
93 / 162 - Caso contrário (bCTUboundary é igual a TRUE), o seguinte se aplica: - Caso contrário: - Se availTL for igual a TRUE e bCTUboundary for igual a FALSE, o seguinte se aplica: - Caso contrário, se availTL for igual a TRUE e bCTUboundary for igual a TRUE, o seguinte se aplica: - Caso contrário, se availTL for igual a FALSE e bCTUboundary for igual a FALSE, o seguinte se aplica: pSelDsY[ idx ] = ( pY[ 0 ][ −2 ] + pY[ 0 ][ −1 ] + 1 ) >> 1 (8-189) - Caso contrário (availTL é igual a FALSE e bCTUboundary é igual a TRUE), o seguinte se aplica: pSelDsY[ idx ] = pY[ 0 ][ −1 ] (8-190)
6. Quando cntT+ cntL não for igual a 0, as variáveis minY, maxY, minC e maxC são derivadas como segue: - Quando cntT+cntL for igual a 2, definir pSelComp[3] igual a pSelComp [0], pSelComp[2] igual a pSelComp[1], pSelComp[0] igual a pSelComp [1], e pSelComp[1] igual a pSelComp[3], com Comp sendo substituído por DsY e C.
[00526] - Os arranjos minGrpIdx[] e maxGrpIdx[] são definidos como: minGrpIdx[0] = 0, minGrpIdx[1] = 2, maxGrpIdx[0] = 1, maxGrpIdx[1] = 3.
[00527] - Se pSelDsY[minGrpIdx[0]] > pSelDsY[minGrpIdx[1]],
94 / 162 Swap(minGrpIdx[0], minGrpIdx[1]).
[00528] - Se pSelDsY[maxGrpIdx[0]] > pSelDsY[maxGrpIdx[1]], Swap(maxGrpIdx[0], maxGrpIdx[1]).
[00529] - Se pSelDsY[minGrpIdx[0]] > pSelDsY[maxGrpIdx[1]], Swap(minGrpIdx, maxGrpIdx ).
[00530] - Se pSelDsY[minGrpIdx[1]] > pSelDsY[maxGrpIdx[0]], Swap(minGrpIdx[1], maxGrpIdx[0]).
[00531] - maxY = ( pSelDsY[maxGrpIdx[0]] + pSelDsY[maxGrpIdx[1]] + 1 ) >> 1.
[00532] - maxC = ( pSelC[maxGrpIdx[0]] + pSelC[maxGrpIdx[1]] + 1 ) >> 1.
[00533] - minY = ( pSelDsY[minGrpIdx[0]] + pSelDsY[minGrpIdx[1]] + 1 ) >> 1.
[00534] - minC = ( pSelC[minGrpIdx[0]] + pSelC[minGrpIdx[1]] + 1 ) >> 1.
[00535] 7. As variáveis a, b, e k são derivadas como segue: - Se numSampL for igual a 0, e numSampT for igual a 0, o seguinte se aplica: k=0 (8-208) a=0 (8-209) b = 1 << ( BitDepthC − 1) (8-210) - Caso contrário, o seguinte se aplica: diff = maxY − minY (8-211) - Se diff não for igual a 0, o seguinte se aplica: diffC = maxC – minC (8-212) x = Floor( Log2( diff ) ) (8-213) normDiff = ( ( diff << 4 ) >> x ) & 15 (8-214) x += ( normDiff != 0 ) ? 1 : 0 (8-215) y = Floor( Log2( Abs ( diffC ) ) ) + 1 (8-216)
95 / 162 a = ( diffC * ( divSigTable[ normDiff ] | 8 ) + 2y − 1 ) >> y (8-217) k=((3+x−y)<1)?1:3+x−y (8-218) a = ( ( 3 + x − y ) < 1 ) ? Sign( a ) * 15 : a (8-219) b = minC − ( ( a * minY ) >> k ) (8-220) em que divSigTable[ ] é especificado como segue: divSigTable[ ] = { 0, 7, 6, 5, 5, 4, 4, 3, 3, 2, 2, 1, 1, 1, 1, 0 } (8-221) - Caso contrário (diff é igual a 0), o seguinte se aplica: k=0 (8-222) a=0 (8-223) b = minC (8-224)
8. As amostras de previsão predSamples[ x ][ y ] com x =
0..nTbW − 1, y = 0.. nTbH − 1 são derivadas como segue: predSamples[ x ][ y ] = Clip1C( ( ( pDsY[ x ][ y ] * a ) >> k ) + b ) (8-225) Os exemplos supradescritos podem ser incorporados no contexto dos métodos descritos a seguir, por exemplo, métodos 1800 a 2930, que podem ser implementados em um codificador e/ou decodificador de vídeo.
[00536] A figura 18 mostra um fluxograma de um método exemplar para processamento de vídeo. O método 1800 inclui, na etapa 1802, determinar, para uma conversão entre um bloco de vídeo atual de um vídeo que é um bloco de croma e uma representação codificada do vídeo, parâmetros de um modelo linear de componente cruzado com base em duas amostras de croma provenientes de um grupo de amostras de croma vizinhas, em que as duas amostras de croma são selecionadas a partir do grupo com base em uma regra de posição. O método 1800 inclui adicionalmente, na etapa 1804, realizar a conversão com base na determinação.
96 / 162
[00537] A figura 19A mostra um fluxograma de um método exemplar para processamento de vídeo. O método 1900 inclui, na etapa 1902, determinar, para uma conversão entre um bloco de vídeo atual de um vídeo que é um bloco de croma e uma representação codificada do vídeo, parâmetros de um modelo linear de componente cruzado com base em amostras de croma selecionadas com base nas posições das amostras de croma, em que as amostras de croma selecionadas são selecionadas a partir de um grupo de amostras de croma vizinhas. O método 1900 inclui adicionalmente, na etapa 1804, realizar a conversão com base na determinação.
[00538] A figura 19B mostra um fluxograma de um método exemplar para processamento de vídeo. O método 1910 inclui, na etapa 1912, determinar, para um bloco de vídeo atual, um grupo de amostras de croma vizinhas usadas para derivar um conjunto de valores para parâmetros de um modelo linear, em que uma largura e uma altura do bloco de vídeo atual é W e H, respectivamente, e em que o grupo de amostras de croma vizinhas compreende pelo menos uma amostra que fica localizada além de 2×W amostras de croma vizinhas acima ou 2×H amostras de croma vizinhas à esquerda. O método 1910 inclui adicionalmente, na etapa 1914, realizar, com base no modelo linear, uma conversão entre o bloco de vídeo atual e uma representação codificada de um vídeo incluindo o bloco de vídeo atual.
[00539] A figura 20A mostra um fluxograma de um método exemplar para processamento de vídeo. O método 2000 inclui, na etapa 2002, determinar, para uma conversão entre um bloco de vídeo atual de um vídeo que é um bloco de croma e uma representação codificada do vídeo, múltiplos conjuntos de parâmetros, em que cada conjunto de parâmetros define um modelo linear de componente cruzado (CCLM) e é derivado a partir de um correspondente grupo de amostras de croma em correspondentes posições de amostra de croma. O método 2000 inclui adicionalmente, na etapa 2004,
97 / 162 determinar, com base nos múltiplos conjuntos de parâmetros, parâmetros para um CCLM final. O método 2000 inclui adicionalmente, na etapa 2006, realizar a conversão com base no CCLM final.
[00540] A figura 20B mostra um fluxograma de um método exemplar para processamento de vídeo. O método 2010 inclui, na etapa 2012, determinar, para uma conversão entre um bloco de vídeo atual de um vídeo e uma representação codificada do vídeo, parâmetros de um modelo linear de componente cruzado (CCLM) com base em valores máximo e mínimo de amostras de croma e de luma de N grupos de amostras de croma e de luma selecionados a partir de amostras de luma e de croma vizinhas do bloco de vídeo atual. O método 2010 inclui adicionalmente, na etapa 2014, realizar a conversão usando o CCLM.
[00541] A figura 21 mostra um fluxograma de um método exemplar para processamento de vídeo. O método 2100 inclui, na etapa 2102, determinar, para uma conversão entre um bloco de vídeo atual de um vídeo que é um bloco de croma e uma representação codificada do vídeo, parâmetros de um modelo linear de componente cruzado que são completamente determináveis por duas amostras de croma e correspondentes duas amostras de luma. O método 2100 inclui adicionalmente, na etapa 2104, realizar a conversão com base na determinação.
[00542] A figura 22 mostra um fluxograma de um método exemplar para processamento de vídeo. O método 2200 inclui, na etapa 2202, determinar, para uma conversão entre um bloco de vídeo atual de um vídeo que é um bloco de croma e uma representação codificada do vídeo, parâmetros de um modelo linear de componente cruzado usando uma tabela de parâmetro cujas entradas são recuperadas de acordo com dois valores da amostra de croma e dois valores da amostra de luma. O método 220 inclui adicionalmente, na etapa 2204, realizar a conversão com base na determinação.
98 / 162
[00543] A figura 23A mostra um fluxograma de um método exemplar para processamento de vídeo. O método 2310 inclui, na etapa 2312, determinar, para uma conversão entre um bloco de vídeo atual de um vídeo que é um bloco de croma e uma representação codificada do vídeo, uma previsão final P(x, y) de uma amostra de croma em uma posição (x, y) no bloco de vídeo atual como uma combinação de resultados de previsão de múltiplos modelos lineares de componente cruzado (MCCLMs), em que os MCCLMs são selecionados com base na posição (x, y) da amostra de croma. O método 2310 inclui adicionalmente, na etapa 2314, realizar a conversão com base na previsão final.
[00544] A figura 23B mostra um fluxograma de um método exemplar para processamento de vídeo. O método 2320 inclui, na etapa 2322, realizar, para uma conversão entre um bloco de vídeo atual de um vídeo que é um bloco de croma e uma representação codificada do vídeo, uma primeira determinação em relação a se um primeiro modelo linear de componente cruzado (CCLM) que usa apenas amostras vizinhas à esquerda é usado para prever amostras do bloco de vídeo atual e/ou uma segunda determinação em relação a se um segundo modelo linear de componente cruzado (CCLM) que usa apenas amostras vizinhas acima é usado para prever amostras do bloco de vídeo atual. O método 2320 inclui adicionalmente, na etapa 2324, realizar a conversão com base na primeira determinação e/ou na segunda determinação.
[00545] A figura 24A mostra um fluxograma de um método exemplar para processamento de vídeo. O método 2410 inclui, na etapa 2412, determinar, para uma conversão entre um bloco de vídeo atual de um vídeo e uma representação codificada do vídeo, um contexto que é usado para codificar um indicador usando codificação aritmética na representação codificada do bloco de vídeo atual, em que o contexto é com base em se um bloco vizinho de topo-à esquerda do bloco de vídeo atual é codificado usando um modo de previsão do modelo linear de componente cruzado (CCLM). O
99 / 162 método 2410 inclui, na etapa 2414, realizar a conversão com base na determinação. Em algumas implementações, em que o indicador é sinalizado para indicar se o modo de previsão CCLM é aplicado no bloco de vídeo atual, e em que o modo de previsão CCLM usa um modo linear para derivar valores de previsão de um componente de croma a partir de um outro componente.
[00546] A figura 24B mostra um fluxograma de um método exemplar para processamento de vídeo. O método 2420 inclui, na etapa 2422, determinar, para uma conversão entre um bloco de vídeo atual de um vídeo e uma representação codificada do vídeo, uma ordem de codificação para uma ou mais indicações de um modo derivado (modo DM) e um modo linear (modo LM) com base em um modo de codificação de um ou mais blocos vizinhos do bloco de vídeo atual. O método 2420 inclui, na etapa 2424, realizar a conversão com base na determinação. Em algumas implementações, um modo linear para derivar valores de previsão de um componente de croma a partir de um outro componente, e o modo DM deriva o modo de intraprevisão de um componente de croma a partir de um outro componente.
[00547] A figura 24C mostra um fluxograma de um método exemplar para processamento de vídeo. O método 2430 inclui, na etapa 2432, determinar, para uma conversão entre um bloco de vídeo atual de um vídeo e uma representação codificada do vídeo, parâmetros para uma previsão de modelo linear ou previsão do componente de cor cruzada com base em amostras de luma e amostras de croma vizinhas refinadas do bloco de vídeo atual. O método 2430 inclui, na etapa 2434, derivar valores de previsão de um componente de croma do bloco de vídeo atual com base nos parâmetros e amostras de luma internas refinadas do bloco de vídeo atual. O método 2430 inclui, na etapa 2436, realizar a conversão com base nos valores de previsão.
[00548] A figura 24D mostra um fluxograma de um método exemplar para processamento de vídeo. O método 2440 inclui, na etapa 2442, determinar, para uma conversão entre um bloco de vídeo atual de um vídeo
100 / 162 que é um bloco de croma e uma representação codificada do vídeo, parâmetros para uma previsão de modelo linear ou previsão do componente de cor cruzada com base em pela seleção de amostras vizinhas com base em uma posição de uma maior ou uma menor amostra vizinha. O método 2440 inclui adicionalmente, na etapa 2444, derivar valores de previsão de amostras de croma do bloco de vídeo atual com base nos parâmetros e amostras de luma internas do bloco de vídeo atual. O método 2440 inclui adicionalmente, na etapa 2446, realizar a conversão com base nos valores de previsão.
[00549] A figura 24E mostra um fluxograma de um método exemplar para processamento de vídeo. O método 2450 inclui, na etapa 2452, determinar, para uma conversão entre um bloco de vídeo atual de um vídeo e uma representação codificada do vídeo, parâmetros para uma previsão de modelo linear ou previsão do componente de cor cruzada com base em um componente de cor principal e um componente de cor dependente, o componente de cor principal selecionado como um de um componente de cor de luma e um componente de cor de croma e o componente de cor dependente selecionado como o outro do componente de cor de luma e do componente de cor de croma. O método 2450 inclui adicionalmente, na etapa 2454, realizar a conversão com base na determinação.
[00550] A figura 25A mostra um fluxograma de um método exemplar para processamento de vídeo. O método 2510 inclui, na etapa 2512, realizar amostragem descendente nas amostras de croma e de luma de um bloco vizinho do bloco de vídeo atual. O método 2510 inclui adicionalmente, na etapa 2514, determinar, para uma conversão entre um bloco de vídeo atual de um vídeo que é um bloco de croma e uma representação codificada do vídeo, parâmetros do modelo linear de componente cruzado (CCLM) com base nas amostras de croma e de luma descendentemente amostradas obtidas a partir da amostragem descendente. O método 2510 inclui adicionalmente, na etapa 2516, aplicar o CCLM nas amostras de luma localizadas em um bloco de
101 / 162 luma correspondente ao bloco de vídeo atual para derivar valores de previsão do bloco de vídeo atual. O método 2015 inclui adicionalmente, na etapa 2518, realizar a conversão com base nos valores de previsão.
[00551] A figura 25B mostra um fluxograma de um método exemplar para processamento de vídeo. O método 2520 inclui, na etapa 2522, determinar, para uma conversão entre um bloco de vídeo atual de um vídeo que é um bloco de croma e uma representação codificada do vídeo, parâmetros de um modelo linear de componente cruzado (CCLM) com base em duas ou mais amostras de croma provenientes de um grupo de amostras de croma vizinhas, em que as duas ou mais amostras de croma são selecionadas com base em um modo de codificação do bloco de vídeo atual. O método 2520 inclui adicionalmente, na etapa 2524, aplicar o CCLM nas amostras de luma localizadas em um bloco de luma correspondente ao bloco de vídeo atual para derivar valores de previsão do bloco de vídeo atual. O método 2520 inclui adicionalmente, na etapa 2526, realizar a conversão com base nos valores de previsão.
[00552] A figura 26A mostra um fluxograma de um método exemplar para processamento de vídeo. O método 2610 inclui, na etapa 2612, determinar, para uma conversão entre um bloco de vídeo atual de um vídeo que é um bloco de croma e uma representação codificada do vídeo, parâmetros do modelo linear de componente cruzado (CCLM) com base em amostras de croma que são selecionadas com base em W amostras vizinhas acima disponíveis, W sendo um número inteiro. O método 2610 inclui adicionalmente, na etapa 2614, realizar a conversão com base na determinação.
[00553] A figura 26B mostra um fluxograma de um método exemplar para processamento de vídeo. O método 2620 inclui, na etapa 2622, determinar, para uma conversão entre um bloco de vídeo atual de um vídeo que é um bloco de croma e uma representação codificada do vídeo,
102 / 162 parâmetros do modelo linear de componente cruzado (CCLM) com base em amostras de croma que são selecionadas com base em H amostras vizinhas à esquerda disponíveis do bloco de vídeo atual. O método 2620 inclui adicionalmente, na etapa 2622, realizar a conversão com base na determinação.
[00554] A figura 27A mostra um fluxograma de um método exemplar para processamento de vídeo. O método 2710 inclui, na etapa 2712, determinar, para uma conversão entre um bloco de vídeo atual de um vídeo que é um bloco de croma e uma representação codificada do vídeo, parâmetros de um modelo linear de componente cruzado (CCLM) com base em duas ou quatro amostras de croma e/ou correspondentes amostras de luma. O método 2710 inclui adicionalmente, na etapa 2714, realizar a conversão com base na determinação.
[00555] A figura 27B mostra um fluxograma de um método exemplar para processamento de vídeo. O método 2720 inclui, na etapa 2722, selecionar, para uma conversão entre um bloco de vídeo atual de um vídeo que é um bloco de croma e uma representação codificada do vídeo, amostras de croma com base em uma regra de posição, as amostras de croma usadas para derivar parâmetros de um modelo linear de componente cruzado (CCLM). O método 2720 inclui adicionalmente, na etapa 2724, realizar a conversão com base na determinação. No exemplo, a regra de posição especifica para selecionar as amostras de croma que estão localizadas em uma linha acima e/ou uma coluna à esquerda do bloco de vídeo atual.
[00556] A figura 28A mostra um fluxograma de um método exemplar para processamento de vídeo. O método 2810 inclui, na etapa 2812, determinar, para uma conversão entre um bloco de vídeo atual de um vídeo que é um bloco de croma e uma representação codificada do vídeo, posições nas quais amostras de luma são descendentemente amostradas, em que as amostras de luma descendentemente amostradas são usadas para determinar
103 / 162 parâmetros de um modelo linear de componente cruzado (CCLM) com base em amostras de croma e amostras de luma descendentemente amostradas, em que as amostras de luma descendentemente amostradas estão em posições correspondentes às posições das amostras de croma que são usadas para derivar os parâmetros do CCLM. O método 2810 inclui adicionalmente, na etapa 2814, realizar a conversão com base na determinação.
[00557] A figura 28B mostra um fluxograma de um método exemplar para processamento de vídeo. O método 2820 inclui, na etapa 2822, determinar, para uma conversão entre um bloco de vídeo atual de um vídeo que é um bloco de croma e uma representação codificada do vídeo, um método para derivar parâmetros de um modelo linear de componente cruzado (CCLM) usando amostras de croma e amostras de luma com base em uma condição de codificação associada com o bloco de vídeo atual. O método 2820 inclui adicionalmente, na etapa 2824, realizar a conversão com base na determinação.
[00558] A figura 28C mostra um fluxograma de um método exemplar para processamento de vídeo. O método 2830 inclui, na etapa 2832, determinar, para uma conversão entre um bloco de vídeo atual de um vídeo que é um bloco de croma e uma representação codificada do vídeo, se derivam-se valores máximos e/ou valores mínimos de um componente de luma e um componente de croma que são usados para derivar parâmetros de um modelo linear de componente cruzado (CCLM) com base na disponibilidade de um bloco vizinho esquerdo e um bloco vizinho acima do bloco de vídeo atual. O método 2830 inclui adicionalmente, na etapa 2834, realizar a conversão com base na determinação.
[00559] A figura 29A mostra um fluxograma de um método exemplar para processamento de vídeo. O método 2910 inclui, na etapa 2912, determinar, para uma conversão entre um bloco de vídeo atual de um vídeo e uma representação codificada do vídeo, parâmetros de uma ferramenta de
104 / 162 codificação usando um modelo linear com base em amostras vizinhas selecionadas do bloco de vídeo atual e amostras vizinhas correspondentes de um bloco de referência. O método 2910 inclui adicionalmente, na etapa 2914, realizar a conversão com base na determinação.
[00560] A figura 29B mostra um fluxograma de um método exemplar para processamento de vídeo. O método 2920 inclui, na etapa 2922, determinar, para uma conversão entre um bloco de vídeo atual de um vídeo e uma representação codificada do vídeo, parâmetros de uma ferramenta de compensação de iluminação local (LIC) com base em N amostras vizinhas do bloco de vídeo atual e N amostras vizinhas correspondentes de um bloco de referência, em que as N amostras vizinhas do bloco de vídeo atual são selecionadas com base nas posições das N amostras vizinhas. O método 2920 inclui adicionalmente, na etapa 2924, realizar a conversão com base na determinação. A ferramenta LIC usa um modelo linear de mudanças de iluminação no bloco de vídeo atual durante a conversão.
[00561] A figura 29C mostra um fluxograma de um método exemplar para processamento de vídeo. O método 2930 inclui, na etapa 2932, determinar, para uma conversão entre um bloco de vídeo atual de um vídeo que é um bloco de croma e uma representação codificada do vídeo, parâmetros de um modelo linear de componente cruzado (CCLM) com base em amostras de croma e correspondentes amostras de luma. O método 2930 inclui adicionalmente, na etapa 2934, realizar a conversão com base na determinação. No exemplo, algumas das amostras de croma são obtidas por uma operação de enchimento e as amostras de croma e as correspondentes amostras de luma são agrupadas em dois arranjos G0 e G1, cada arranjo incluindo duas amostras de croma e correspondentes amostras de luma. 4 Implementações de exemplo da tecnologia descrita
[00562] A figura 30A é um diagrama de blocos de um aparelho de processamento de vídeo 3000. O aparelho 3000 pode ser usado para
105 / 162 implementar um ou mais dos métodos aqui descritos. O aparelho 3000 pode ser incorporado em um telefone inteligente, tablet, computador, receptor Internet das Coisas (IoT) e similares. O aparelho 3000 pode incluir um ou mais processadores 3002, uma ou mais memórias 3004 e hardware de processamento de vídeo 3006. O(s) processador(es) 3002 pode(m) ser configurado(s) para implementar um ou mais métodos (incluindo, mas sem limitações, os métodos mostrados nas figuras 18 a 29C) descritos no presente documento. A memória (memórias) 3004 pode ser usada para armazenar dados e código usados para implementar os métodos e as técnicas aqui descritos. O hardware de processamento de vídeo 3006 pode ser usado para implementar, em conjunto de circuitos de hardware, algumas técnicas descritas no presente documento.
[00563] A figura 30B é um outro exemplo de um diagrama de blocos de um sistema de processamento de vídeo no qual técnicas descritas podem ser implementadas. Aa figura 30B é um diagrama de blocos que mostra um sistema de processamento de vídeo de exemplo 3100 em que várias técnicas aqui descritas podem ser implementadas. Várias implementações podem incluir alguns ou todos os componentes do sistema 3100. O sistema 3100 pode incluir entrada 3102 para receber o conteúdo de vídeo. O conteúdo de vídeo pode ser recebido em um formato bruto ou não comprimido, por exemplo, valores de pixel multicomponentes de 8 ou 10 bits, ou pode ser em um formato comprimido ou codificado. A entrada 3102 pode representar uma interface de rede, uma interface de barramento periférico, ou uma interface de armazenamento. Exemplos da interface de rede incluem interfaces com fios, tal como Ethernet, rede óptica passiva (PON), etc. e interfaces sem fio, tais como interfaces Wi-Fi ou celular.
[00564] O sistema 3100 pode incluir um componente de codificação 3104 que pode implementar os vários métodos de codificação ou codificação descritos no presente documento. O componente de codificação 3104 pode
106 / 162 reduzir a taxa de bit média do vídeo proveniente da entrada 3102 para a saída do componente de codificação 3104 para produzir uma representação codificada do vídeo. As técnicas de codificação são, portanto, algumas vezes chamadas de técnicas de compressão de vídeo ou de transcodificação de vídeo. A saída do componente de codificação 3104 pode ser tanto armazenada quanto transmitida por meio de uma comunicação conectada, da forma representada pelo componente 3106. A representação do fluxo contínuo de bits armazenado ou comunicado (ou codificado) do vídeo recebido na entrada 3102 pode ser usada pelo componente 3108 para gerar valores de pixel ou vídeo exibível que é enviado para uma interface de exibição 3110. O processo de geração do vídeo visualizável pelo usuário a partir da representação de fluxo contínuo de bits é algumas vezes chamado de descompressão de vídeo. Além do mais, embora certas operações de processamento de vídeo sejam referidas como operações ou ferramentas de “codificação”, será percebido que as ferramentas ou operações de codificação são usadas em um codificador e correspondentes ferramentas ou operações de decodificação que revertem os resultados da codificação serão realizadas por um decodificador.
[00565] Exemplos de uma interface de barramento periférico ou uma interface de exibição podem incluir barramento serial universal (USB) ou interface multimídia de alta definição (HDMI) ou Displayport, e similares. Exemplos de interfaces de armazenamento incluem interface SATA (anexação de tecnologia avançado serial), PCI, IDE, e similares. As técnicas descritas no presente documento podem ser incorporadas em vários dispositivos eletrônicos, tais como telefones celulares, laptops, telefones inteligentes ou outros dispositivos que são capazes de realizar processamento de dados digitais e/ou exibição de vídeo.
[00566] Em algumas modalidades, os métodos de codificação de vídeo podem ser implementados usando um aparelho que é implementado em uma plataforma de hardware, da forma descrita em relação às figuras 30A ou 30B.
107 / 162
[00567] Várias técnicas e modalidades podem ser descritas usando o seguinte formato com base em cláusula.
[00568] O primeiro conjunto de cláusulas descreve certos recursos e aspectos das técnicas descritas listadas na seção prévia, incluindo, por exemplo, Exemplo 1.a-d e j.
[00569] 1. Um método para processamento de vídeo, compreendendo: determinar, para uma conversão entre um bloco de vídeo atual de um vídeo que é um bloco de croma e uma representação codificada do vídeo, parâmetros de um modelo linear de componente cruzado com base em duas amostras de croma provenientes de um grupo de amostras de croma vizinhas, em que as duas amostras de croma são selecionadas a partir do grupo com base em uma regra de posição; e realizar a conversão com base na determinação.
[00570] 2. O método da cláusula 1, em que os parâmetros têm valores que são determinados com base em amostras de luma das duas amostras de croma.
[00571] 3. O método da cláusula 2, em que as amostras de luma são descendentemente amostradas usadas para derivar os parâmetros do modelo linear de componente cruzado.
[00572] 4. O método da cláusula 1, em que os parâmetros têm valores que são determinados com base em amostras de croma em 2S posições, S sendo um número inteiro.
[00573] 5. O método da cláusula 1, em que uma amostra no topo-à esquerda do bloco de croma é (x, y), em que uma largura e uma altura do bloco de croma é W e H, respectivamente, e em que o grupo de amostras de croma vizinhas compreende: amostra A com coordenadas ( x − 1, y ), amostra B com coordenadas ( x − 1, y + H/2 − 1 ), amostra C com coordenadas ( x − 1, y + H/2 ), amostra D com coordenadas ( x − 1, y + H − 1 ), amostra E com coordenadas ( x − 1, y + H ), amostra F com coordenadas ( x − 1, y + H + H/2
108 / 162 − 1), amostra G com coordenadas ( x − 1, y + H + H/2), amostra I com coordenadas ( x − 1, y + H + H − 1 ), amostra J com coordenadas ( x, y − 1 ), amostra K com coordenadas ( x + W/2 − 1, y − 1 ), amostra L com coordenadas ( x + W/2, y − 1 ), amostra M com coordenadas ( x + W − 1, y − 1 ), amostra N com coordenadas ( x + W, y − 1 ), amostra O com coordenadas ( x + W + W/2 − 1, y − 1 ), amostra P com coordenadas ( x + W + W/2, y − 1 ), e amostra Q com coordenadas ( x + W + W − 1, y − 1 ).
[00574] 6. O método da cláusula 5, em que a regra de posição especifica que as duas amostras de croma são selecionadas a partir das amostras A, D, J e M.
[00575] 7. O método da cláusula 5, em que a regra de posição especifica que as duas amostras de croma são selecionadas a partir das amostras A, B, C, D, J, K, L e M.
[00576] 8. O método da cláusula 5, em que a regra de posição especifica que as duas amostras de croma são selecionadas a partir das amostras A, I, J e Q.
[00577] 9. O método da cláusula 5, em que a regra de posição especifica que as duas amostras de croma são selecionadas a partir das amostras A, B, D, I, J, K, M e Q.
[00578] 10. O método da cláusula 5, em que a regra de posição especifica que as duas amostras de croma são selecionadas a partir das amostras A, B, D, F, J, K, M e O.
[00579] 11. O método da cláusula 5, em que a regra de posição especifica que as duas amostras de croma são selecionadas a partir das amostras A, C, G, I, J, L, P e Q.
[00580] 12. O método da cláusula 5, em que a regra de posição especifica que as duas amostras de croma são selecionadas a partir das amostras A, C, E, G, J, L, N e P.
[00581] 13. O método da cláusula 5, em que a regra de posição
109 / 162 especifica que as duas amostras de croma são selecionadas a partir das amostras J, K, L e M.
[00582] 14. O método da cláusula 5, em que a regra de posição especifica que as duas amostras de croma são selecionadas a partir das amostras J, L, N e Q.
[00583] 15. O método da cláusula 5, em que a regra de posição especifica que as duas amostras de croma são selecionadas a partir das amostras J, K, L, M, N, O, P e Q.
[00584] 16. O método da cláusula 5, em que a regra de posição especifica que as duas amostras de croma são selecionadas a partir das amostras A, B, C, D, E, F, G, e I.
[00585] 17. O método da cláusula 5, em que a regra de posição especifica que as duas amostras de croma são selecionadas a partir das amostras J, K, L, M, N, O, P, e Q.
[00586] 18. O método da cláusula 5, em que a regra de posição especifica que uma das duas amostras de croma são selecionadas a partir das amostras A, B, C, D, E, F, G, e I e a outra das duas amostras de croma são selecionadas a partir das amostras J, K, L, M, N, O, P, e Q.
[00587] 19. O método de qualquer uma das cláusulas 5-18, em que as duas amostras de croma têm correspondentes valores de luma idênticos, o método inclui adicionalmente verificar uma amostra de croma adicional.
[00588] 20. O método da cláusula 1, em que amostras de croma no grupo de amostras de croma vizinhas são buscadas para encontrar as duas amostras de croma com correspondentes valores de luma mínimo e máximo para determinar um primeiro conjunto de valores para os parâmetros.
[00589] 21. O método da cláusula 1, em que uma amostra vizinha exposta com coordenadas (x, y) está no grupo apenas se x%K=0, K sendo 2, 4, 6 ou 8 e % sendo um operador de módulo.
[00590] 22. O método da cláusula 1, em que uma amostra vizinha à
110 / 162 esquerda com coordenadas (x, y) está no grupo apenas se y%K=0, K sendo 2, 4, 6 ou 8 e % sendo um operador de módulo.
[00591] 23. O método da cláusula 1, em que as duas amostras de croma são selecionadas com base em disponibilidades de blocos vizinhos.
[00592] 24. O método de qualquer uma das cláusulas 1-23, em que a realização da conversão inclui gerar a representação codificada do bloco atual.
[00593] 25. O método de qualquer uma das cláusulas 1-23, em que a realização da conversão inclui gerar o bloco atual a partir da representação codificada.
[00594] 26. Um aparelho em um sistema de vídeo compreendendo um processador e uma memória não transitória com instruções na mesma, em que as instruções, mediante a execução pelo processador, fazem com que o processador implemente o método em qualquer uma das cláusulas 1 a 25.
[00595] 27. Um produto de programa de computador armazenado em uma mídia legível por computador não transitória, o produto de programa de computador incluindo código de programa para realizar o método em qualquer uma das cláusulas 1 a 25.
[00596] O segundo conjunto de cláusulas descreve certos recursos e aspectos das técnicas descritas listadas na seção prévia, incluindo, por exemplo, Exemplo 1.e-i e Exemplo 9.
[00597] 1. Um método para processamento de vídeo, compreendendo: determinar, para uma conversão entre um bloco de vídeo atual de um vídeo que é um bloco de croma e uma representação codificada do vídeo, parâmetros de um modelo linear de componente cruzado com base em amostras de croma selecionadas com base nas posições das amostras de croma, em que as amostras de croma selecionadas são selecionadas a partir de um grupo de amostras de croma vizinhas; e realizar a conversão com base na determinação.
111 / 162
[00598] 2. O método da cláusula 1, em que pelo menos uma amostra de croma vizinha não pertence às amostras de croma selecionadas.
[00599] 3. O método da cláusula 1, em que todas as amostras de croma vizinhas selecionadas estão à esquerda do bloco atual em um caso em que um modo de previsão do bloco de vídeo atual for um primeiro modo linear que usa amostras vizinhas à esquerda apenas.
[00600] 4. O método da cláusula 1, em que todas as amostras de croma vizinhas selecionadas estão acima do bloco atual em um caso em que um modo de previsão do bloco de vídeo atual for um segundo linear usa amostras vizinhas acima apenas.
[00601] 5. O método de qualquer uma das cláusulas 1-4, em que posições das amostras de croma são selecionadas com base na largura ou na altura do bloco de croma.
[00602] 6. O método das cláusulas 1, em que as posições das amostras de croma correspondem a uma sinalização em um conjunto de parâmetro de vídeo (VPS), um conjunto de parâmetro de sequência (SPS), um conjunto de parâmetro de figura (PPS), um cabeçalho de fatia, um cabeçalho do grupo de quadriculados, um quadriculado, uma unidade de codificação (CU), uma unidade da árvore de codificação (CTU) ou uma unidade de previsão (PU).
[00603] 7. O método da cláusula 1, em que a determinação dos parâmetros é adicionalmente com base em um método dos mínimos quadrados médios.
[00604] 8. O método da cláusula 1, em que a determinação dos parâmetros é adicionalmente com base em um método de dois pontos.
[00605] 9. Um método para processamento de vídeo, compreendendo: determinar, para um bloco de vídeo atual, um grupo de amostras de croma vizinhas usadas para derivar um conjunto de valores para parâmetros de um modelo linear, em que uma largura e uma altura do bloco de vídeo atual é W e H, respectivamente, e em que o grupo de amostras de croma vizinhas
112 / 162 compreende pelo menos uma amostra que fica localizada além de 2×W amostras de croma vizinhas acima ou 2×H amostras de croma vizinhas à esquerda; e realizar, com base no modelo linear, uma conversão entre o bloco de vídeo atual e uma representação codificada de um vídeo incluindo o bloco de vídeo atual.
[00606] 10. O método da cláusula 8, em que o bloco de vídeo atual é codificado usando um modo de intraprevisão linear, em que uma amostra no topo-à esquerda do bloco de vídeo atual é (x, y), em que a pelo menos uma amostra é (x−1, y+d ), em que d é um número inteiro em uma faixa [T, S], e em que T e S são números inteiros.
[00607] 11. O método da cláusula 9, em que T < 0 e S > (2×H−1).
[00608] 12. O método da cláusula 9, em que T = −4 e S = 3×H.
[00609] 13. O método da cláusula 9, em que T = 0 e S = max( 2×W, W+H ).
[00610] 14. O método da reivindicação 9, em que T = 0 e S = 4×H.
[00611] 15. O método da cláusula 8, em que o bloco de vídeo atual é codificado usando um modo de intraprevisão linear, em que uma amostra no topo-à esquerda do bloco de vídeo atual é ( x, y ), em que a pelo menos uma amostra é ( x+d, y-1 ), em que d é um número inteiro em uma faixa [T, S], e em que T e S são números inteiros.
[00612] 16. O método da cláusula 15, em que T < 0 e S > (2×W−1).
[00613] 17. O método da cláusula 15, em que T = −4 e S = 3×W.
[00614] 18. O método da cláusula 15, em que T = 0 e S = max( 2×W, W+H ).
[00615] 19. O método da cláusula 15, em que T = 0 e S = 4×W.
[00616] 20. O método de qualquer uma das cláusulas 1-19, em que a realização da conversão inclui gerar a representação codificada do bloco atual.
[00617] 21. O método de qualquer uma das cláusulas 1-19, em que a
113 / 162 realização da conversão inclui gerar o bloco atual a partir da representação codificada.
[00618] 22. Um aparelho em um sistema de vídeo compreendendo um processador e uma memória não transitória com instruções na mesma, em que as instruções, mediante a execução pelo processador, fazem com que o processador implemente o método em qualquer uma das cláusulas 1 a 21.
[00619] 23. Um produto de programa de computador armazenado em uma mídia legível por computador não transitória, o produto de programa de computador incluindo código de programa para realizar o método em qualquer uma das cláusulas 1 a 21.
[00620] O terceiro conjunto de cláusulas descreve certos recursos e aspectos das técnicas descritas listadas na seção prévia, incluindo, por exemplo, Exemplo 2 e Exemplo 5.
[00621] 1. Um método para processamento de vídeo, compreendendo: determinar, para uma conversão entre um bloco de vídeo atual de um vídeo que é um bloco de croma e uma representação codificada do vídeo, múltiplos conjuntos de parâmetros, em que cada conjunto de parâmetros define um modelo linear de componente cruzado (CCLM) e é derivado a partir de um correspondente grupo de amostras de croma em correspondentes posições de amostra de croma; determinar, com base nos múltiplos conjuntos de parâmetros, parâmetros para um CCLM final; e realizar a conversão com base no CCLM final.
[00622] 2. O método da cláusula 1, em que os parâmetros para o CCLM final são determinados como uma média dos correspondentes parâmetros nos múltiplos conjuntos de parâmetros.
[00623] 3. O método da cláusula 1, em que os múltiplos conjuntos de parâmetros incluem um primeiro conjunto de (α1, β1) e um segundo conjunto de (α2, β2) e uma previsão de croma é calculada com base em parâmetros de α1, β1, α2, β2.
114 / 162
[00624] 4. O método da cláusula 1, em que os múltiplos conjuntos de parâmetros são deslocados e combinados para formar o CCLM final.
[00625] 5. O método da cláusula 1, em que os múltiplos conjuntos de parâmetros incluem um primeiro conjunto de (α1, β1) que é derivado a partir de um primeiro grupo de amostras de croma e um segundo conjunto de (α2, β2) que é derivado a partir de um segundo grupo de amostras de croma, o primeiro grupo e o segundo grupo correspondendo a posições de amostra de croma diferentes umas das outras.
[00626] 6. O método da cláusula 5, em que uma amostra no topo-à esquerda do bloco de croma é (x, y) e uma largura e uma altura do bloco de croma é W e H, respectivamente, e em que o grupo de amostras de croma compreende pelo menos um de: amostra A com coordenadas ( x − 1, y ), amostra B com coordenadas ( x − 1, y + H/2 − 1 ), amostra C com coordenadas ( x − 1, y + H/2 ), amostra D com coordenadas ( x − 1, y + H − 1 ), amostra E com coordenadas ( x − 1, y + H ), amostra F com coordenadas ( x − 1, y + H + H/2 − 1), amostra G com coordenadas ( x − 1, y + H + H/2), amostra I com coordenadas ( x − 1, y + H + H − 1 ), amostra J com coordenadas ( x, y − 1 ), amostra K com coordenadas ( x + W/2 − 1, y − 1 ), amostra L com coordenadas ( x + W/2, y − 1 ), amostra M com coordenadas ( x + W − 1, y − 1 ), amostra N com coordenadas ( x + W, y − 1 ), amostra O com coordenadas ( x + W + W/2 − 1, y − 1 ), amostra P com coordenadas ( x + W + W/2, y − 1 ), ou amostra Q com coordenadas ( x + W + W − 1, y − 1 ).
[00627] 7. O método da cláusula 6, em que o primeiro grupo inclui
115 / 162 Amostras A e D e o segundo grupo inclui Amostras J e M ou Amostras E e I.
[00628] 8. O método da cláusula 6, em que o primeiro grupo inclui Amostras A e I e o segundo grupo inclui Amostras J e Q.
[00629] 9. O método da cláusula 6, em que o primeiro grupo inclui Amostras A e B e o segundo grupo inclui Amostras C e D.
[00630] 10. O método da cláusula 6, em que o primeiro grupo inclui J e M e o segundo grupo inclui N e Q.
[00631] 11. O método da cláusula 6, em que o primeiro grupo inclui J e K e o segundo grupo inclui L e M.
[00632] 12. Um método para processamento de vídeo, compreendendo: determinar, para uma conversão entre um bloco de vídeo atual de um vídeo e uma representação codificada do vídeo, parâmetros de um modelo linear de componente cruzado (CCLM) com base em valores máximo e mínimo de amostras de croma e de luma de N grupos de amostras de croma e de luma selecionados a partir de amostras de luma e de croma vizinhas do bloco de vídeo atual; e realizar a conversão usando o CCLM.
[00633] 13. O método da cláusula 12, em que os N grupos de amostras de croma e de luma compreendem S0, S1, … , Sm e em que 1 ≤ m ≤ N−1, em que m e N são números inteiros não negativos, em que um máximo valor de luma é calculado como maxL = f1(maxLS0, maxLS1,…, maxLSm), em que f1 é uma primeiro função e maxLSi é um máximo valor de luma de um grupo Si da pluralidade de grupos, em que um máximo valor de croma é calculado como maxC = f2(maxCS0, maxCS1,…, maxCSm), em que f2 é uma segunda função e maxCSi é um valor de croma do grupo Si correspondente a maxLSi, em que um mínimo valor de luma é calculado como minL = f3(minLS0, minLS1,…, minLSm), em que f3 é uma terceira função e minLSi é um mínimo valor de luma do grupo Si, em que um mínimo valor de croma é calculado como minC = f4(minCS0, minCS1,…, minCSm), em que f4 é uma quarta função e minCSi é um valor de croma do grupo Si, correspondente a
116 / 162 minLSi e em que os parâmetros do modelo linear compreendem α e β que são calculados como α = ( maxC − minC ) / ( maxL − minL ) e β = minC − α×minL.
[00634] 14. O método da cláusula 13, em que f1, f2, f3 e f4 são funções de ponderação.
[00635] 15. O método das cláusulas 13 ou 14, em que m = N−1.
[00636] 16. O método das cláusulas 13 ou 14, em que m = 1, e em que S1 = SN−1.
[00637] 17. O método das cláusulas 13 ou 14, em que m = 0.
[00638] 18. O método das cláusulas 13 ou 14, em que S0 compreende amostras a partir de uma linha acima do bloco de vídeo atual, e em que S1 compreende amostras a partir de uma linha esquerda do bloco de vídeo atual.
[00639] 19. O método das cláusulas 13 ou 14, em que amostras a partir de uma linha acima do bloco de vídeo atual têm coordenadas (x, y), em que S0 compreende uma primeira parte das amostras, em que cada amostra da primeira parte satisfaz x % P = Q, em que S1 compreende uma segunda parte das amostras, em que cada amostra da segunda parte satisfaz x % P ≠ Q, e em que % é um operador de módulo e P e Q são números inteiros não negativos.
[00640] 20. O método das cláusulas 13 ou 14, em que amostras a partir de uma linha esquerda do bloco de vídeo atual têm coordenadas (x, y), em que S0 compreende uma primeira parte das amostras, em que cada amostra da primeira parte satisfaz y % P = Q, em que S1 compreende uma segunda parte das amostras, em que cada amostra da segunda parte satisfaz y % P ≠ Q, e em que % é um operador de módulo e P e Q são números inteiros não negativos.
[00641] 21. O método das cláusulas 19 ou 20, em que P = 2 e Q = 1, ou P = 2 e Q = 0, ou P = 4 e Q = 0.
[00642] 22. O método de qualquer uma das cláusulas 12 a 14, em que as amostras de croma e de luma compreendem apenas uma parte das amostras de croma e de luma do bloco vizinho.
117 / 162
[00643] 23. O método de qualquer uma das cláusulas 13 a 22, em que N é pré-determinado.
[00644] 24. O método de qualquer uma das cláusulas 13 a 23, em que N é sinalizado em um conjunto de parâmetro de sequência (SPS), um conjunto de parâmetro de vídeo (VPS), um conjunto de parâmetro de figura (PPS), um cabeçalho de figura, um cabeçalho de fatia, um cabeçalho do grupo de quadriculados, um ou mais maiores unidades de codificação ou uma ou mais unidades de codificação.
[00645] 25. O método da cláusula 12, em que as amostras de croma e de luma para cada grupo são selecionadas com base em uma disponibilidade do bloco vizinho do bloco de vídeo atual.
[00646] 26. O método da cláusula 12, em que as amostras de croma e de luma para cada grupo são selecionadas com base em uma largura e uma altura do bloco de vídeo atual.
[00647] 27. O método da cláusula 12, em que as amostras de croma e de luma para cada grupo são selecionadas com base em valores das amostras de croma e de luma.
[00648] 28. O método de qualquer uma das cláusulas 1-27, em que a realização da conversão inclui gerar a representação codificada do bloco atual.
[00649] 29. O método de qualquer uma das cláusulas 1-27, em que a realização da conversão inclui gerar o bloco atual a partir da representação codificada.
[00650] 30. Um aparelho em um sistema de vídeo compreendendo um processador e uma memória não transitória com instruções na mesma, em que as instruções, mediante a execução pelo processador, fazem com que o processador implemente o método em qualquer uma das cláusulas 1 a 29.
[00651] 31. Um produto de programa de computador armazenado em uma mídia legível por computador não transitória, o produto de programa de
118 / 162 computador incluindo código de programa para realizar o método em qualquer uma das cláusulas 1 a 29.
[00652] O quarto conjunto de cláusulas descreve certos recursos e aspectos das técnicas descritas listadas na seção prévia, incluindo, por exemplo, Exemplo 3.a-b e 3.d.
[00653] 1. Um método para processamento de vídeo, compreendendo: determinar, para uma conversão entre um bloco de vídeo atual de um vídeo que é um bloco de croma e uma representação codificada do vídeo, parâmetros de um modelo linear de componente cruzado que são completamente determináveis por duas amostras de croma e correspondentes duas amostras de luma; e realizar a conversão com base na determinação.
[00654] 2. O método da cláusula 1, em que as duas amostras de croma são denotadas como C0 e C1, as correspondentes amostras de luma são denotadas como L0 e L1, os parâmetros do modelo linear de componente cruzado são denotados α e β, e α e β são definidos pelas equações: α = ( C1 − C0 ) / ( L1 − L0 ) e β = C0 − α×L0.
[00655] 3. O método da cláusula 2, em que se L1 for igual a L0, então α = 0.
[00656] 4. O método da cláusula 2, em que se L1 for igual a L0, modo de intraprevisão diferente do modo do modelo linear de componente cruzado é usado.
[00657] 5. O método da cláusula 2, em que α é determinado pela exclusão de uma operação de divisão.
[00658] 6. O método da cláusula 2, em que α é determinado usando uma operação sem uma tabela de busca, a operação excluindo uma operação de divisão.
[00659] 7. O método da cláusula 2, em que os parâmetros do modelo linear de componente cruzado têm valores que são determinados com base em um valor de (L1-L0).
119 / 162
[00660] 8. O método da cláusula 2, em que α = Shift( C1 − C0, Floor( log2( L1 − L0 ) ) ), em que Shift( x, s ) = ( x + off ) >> s e off é um número inteiro, em que Floor( x ) é uma função floor que transmite uma parte integral de x.
[00661] 9. O método da cláusula 2, em que α = Shift( C1 − C0, Ceiling( log2( L1 − L0 ) ) ), em que Shift( x, s ) = ( x + off ) >> s e off é um número inteiro, em que Ceiling( x ) é uma função ceiling que transmite o menor número inteiro maior do que ou igual a x.
[00662] 10. O método das cláusulas 8 ou 9, em que uma operação para obter um valor de log2( x ) é realizada pela verificação de uma posição de um dígito mais significativo de x.
[00663] 11. O método da cláusula 1, em que a determinação dos parâmetros é realizada em K bits, K sendo 8, 10, 12, 16, 24 ou 32.
[00664] 12. O método da cláusula 11, em que uma variável intermediária é limitada ou deslocada para a direita para estar nos K bits.
[00665] 13. O método de qualquer uma das cláusulas 1-12, em que a realização da conversão inclui gerar a representação codificada a partir do bloco atual.
[00666] 14. O método de qualquer uma das cláusulas 1-12, em que a realização da conversão inclui gerar o bloco atual a partir da representação codificada.
[00667] 15. Um aparelho em um sistema de vídeo compreendendo um processador e uma memória não transitória com instruções na mesma, em que as instruções, mediante a execução pelo processador, fazem com que o processador implemente o método em qualquer uma das cláusulas 1 a 14.
[00668] 16. Um produto de programa de computador armazenado em uma mídia legível por computador não transitória, o produto de programa de computador incluindo código de programa para realizar o método em qualquer uma das cláusulas 1 a 14.
120 / 162
[00669] O quinto conjunto de cláusulas descreve certos recursos e aspectos das técnicas descritas listadas na seção prévia, incluindo, por exemplo, Exemplo 3.c.
[00670] 1. Um método para processamento de vídeo, compreendendo: determinar, para uma conversão entre um bloco de vídeo atual de um vídeo que é um bloco de croma e uma representação codificada do vídeo, parâmetros de um modelo linear de componente cruzado usando uma tabela de parâmetro cujas entradas são recuperadas de acordo com dois valores da amostra de croma e dois valores da amostra de luma; e realizar a conversão com base na determinação.
[00671] 2. O método da cláusula 1, em que a tabela de parâmetro tem um tamanho de V que é menor do que 2P, P sendo um número inteiro.
[00672] 3. O método da cláusula 1, em que a tabela de parâmetro tem entradas, cada entrada armazenando um número inteiro de F-bits e F sendo 8 ou 16.
[00673] 4. O método da cláusula 1, em que a tabela de parâmetro M[k] satisfaz M[ k-Z ]=( (1<<S)+Off )/k, S sendo um número inteiro que define uma precisão, Off indicando um deslocamento, Z sendo um primeiro valor da tabela de parâmetro.
[00674] 5. O método da cláusula 1, em que as duas amostras de croma são denotadas como C0 e C1, as amostras de luma são denotadas como L0 e L1, os parâmetros do modelo linear de componente cruzado são denotados α e β, e α e β são definidos por equações: α = ( C1 − C0 ) / ( L1 − L0 ) e β = C0 − α×L0.
[00675] 6. O método da cláusula 5, em que k = Shift( L1 − L0, W) e k é usado para inquirir uma entrada na tabela de parâmetro, e em que Shift( x, s ) = ( x + off ) >> s, off é um número inteiro, e W é uma largura do bloco de vídeo atual.
[00676] 7. O método da cláusula 6, em que α é zero quando k-Z <0 ou
121 / 162 k-Z ≥ V, V indicando um tamanho da tabela de parâmetro e Z indicando um primeiro valor da tabela de parâmetro.
[00677] 8. O método da cláusula 5, em que α = Shift ((C1 − C 0) × M [k − Z ], D) ou α = SignShift ((C1 − C 0) × M [k − Z ], D) , e em que Shift( x, s ) = ( x + off ) >> s e SignShift (x, s) = ( x + off ) >> s, se x≥0, ou -( -x + off ) >> s, se x <0, off é um número inteiro, e k indicando um índice para inquirir uma entrada na tabela de parâmetro.
[00678] 9. O método da cláusula 8, em que k é derivado com base em um valor de (L1-L0) e não com base em um valor de (C1-C0).
[00679] 10. O método da cláusula 8, em que k é derivado com base em ambos os valores de (L1-L0) e (C1-C0).
[00680] 11. O método da cláusula 6, em que k é válido em uma faixa entre kMin e kMax.
[00681] 12. O método da cláusula 8, em que k = Shift( L1 − L0, W) e k é um índice para inquirir uma entrada na tabela de parâmetro, e em que Shift( x, s ) = ( x + off ) >> s, off é um número inteiro, e W é uma largura do bloco de vídeo atual.
[00682] 13. O método da cláusula 8, em que k é válido em uma faixa entre kMin e kMax, e k = L1-L0, se (L1-L0) ≤ kMax e k = Shift ( L1-L0, W ) se (L1=L0) > kMax,.
[00683] 14. O método da cláusula 8, em que k é válido em uma faixa entre kMin e kMax, e k = Min (kMax, L1-L0) ou k = Max (kMin, Min (kMax, L1-L0)).
[00684] 15. O método da cláusula 5, em que (L1-L0) < 0 e a determinação é realizada para derivar um valor de ‘- α’ em vez de α.
[00685] 16. O método da cláusula 5, em que (L1-L0) = 0 e α é definido em um valor padrão que é 0 ou 1.
[00686] 17. O método da cláusula 5, em que (L1-L0) = 2E, E≥0, α = Shift ( (C1-C0), E) ou Singshift ( (C1-C0), E), e em que Shift( x, s ) = ( x +
122 / 162 off ) >> s e SignShift (x, s) = ( x + off ) >> s, se x≥0, ou -( -x + off ) >> s, se x <0.
[00687] 18. O método de qualquer uma das cláusulas 1-17, em que a realização da conversão inclui gerar a representação codificada a partir do bloco atual.
[00688] 19. O método de qualquer uma das cláusulas 1-17, em que a realização da conversão inclui gerar o bloco atual a partir da representação codificada.
[00689] 20. Um aparelho em um sistema de vídeo compreendendo um processador e uma memória não transitória com instruções na mesma, em que as instruções, mediante a execução pelo processador, fazem com que o processador implemente o método em qualquer uma das cláusulas 1 a 19.
[00690] 21. Um produto de programa de computador armazenado em uma mídia legível por computador não transitória, o produto de programa de computador incluindo código de programa para realizar o método em qualquer uma das cláusulas 1 a 19.
[00691] O sexto conjunto de cláusulas descreve certos recursos e aspectos das técnicas descritas listadas na seção prévia, incluindo, por exemplo, Exemplo 4 e Exemplo 6.
[00692] 1. Um método para processamento de vídeo, compreendendo: determinar, para uma conversão entre um bloco de vídeo atual de um vídeo que é um bloco de croma e uma representação codificada do vídeo, uma previsão final P(x, y) de uma amostra de croma em uma posição (x, y) no bloco de vídeo atual como uma combinação de resultados de previsão de múltiplos modelos lineares de componente cruzado (MCCLMs), em que os MCCLMs são selecionados com base na posição (x, y) da amostra de croma; e realizar a conversão com base na previsão final.
[00693] 2. O método da cláusula 1, em que os múltiplos modelos lineares de componente cruzado incluem um primeiro modelo linear cujos
123 / 162 parâmetros são derivados apenas a partir das amostras vizinhas à esquerda e um segundo modelo linear cujos parâmetros são derivados apenas a partir das amostras vizinhas acima.
[00694] 3. O método da cláusula 1, em que algumas das amostras de croma são previstas com base em amostras vizinhas à esquerda apenas e algumas das amostras de croma são previstas com base em amostras vizinhas acima apenas.
[00695] 4. O método das cláusulas 2 ou 3, em que a previsão final P (x, y) da amostra de croma é com base em uma média ponderada de uma previsão P1 (x, y) pelo primeiro modelo linear e uma previsão P2(x, y) pelo segundo modelo linear.
[00696] 5. O método da cláusula 4, em que P (x, y) = w1×P1(x, y) + w2×P2(x, y), em que w1 e w2 são pesos restritos por w1+w2=1.
[00697] 6. O método da cláusula 4, em que P (x, y) = (w1*P1(x, y) + w2*P2(x, y)+Offset)>>shift, em que offset é um número inteiro incluindo 0 ou 1<<(shift-1), shift é um número inteiro, e w1 e w2 são pesos restritos por w1+w2=1<<shift.
[00698] 7. O método da cláusula 4, em que P (x, y) = (w1*P1(x, y) + ((1<<shift)-w1) * P2(x, y) + Offset)>>shift, em que offset é um número inteiro incluindo 0 ou 1<<(shift-1), shift é um número inteiro, e w1 e w2 são pesos.
[00699] 8. O método de qualquer uma das cláusulas 5-7, em que valores de w1 e w2 dependem da posição (x, y).
[00700] 9. O método de qualquer uma das cláusulas 5-7, em que se x > y, então w1 < w2, em que se x < y, então w1 > w2, e em que se x = y, então w1 = w2.
[00701] 10. O método de qualquer uma das cláusulas 5-7, em que, para um caso de x<y, um valor de (w1-w2) aumenta se um valor de (y-x) aumentar.
124 / 162
[00702] 11. O método de qualquer uma das cláusulas 5-7, em que, para um caso de x>y, um valor de (w2-w1) aumenta se um valor de (x-y) aumentar.
[00703] 12. Um método para processamento de vídeo, compreendendo: realizar, para uma conversão entre um bloco de vídeo atual de um vídeo que é um bloco de croma e uma representação codificada do vídeo, uma primeira determinação em relação a se um primeiro modelo linear de componente cruzado (CCLM) que usa apenas amostras vizinhas à esquerda é usado para prever amostras do bloco de vídeo atual e/ou uma segunda determinação em relação a se um segundo modelo linear de componente cruzado (CCLM) que usa apenas amostras vizinhas acima é usado para prever amostras do bloco de vídeo atual; e realizar a conversão com base na primeira determinação e/ou na segunda determinação.
[00704] 13. O método da cláusula 12, em que o primeiro CCLM não é aplicado para um caso que satisfaz W > K × H, K sendo um número inteiro não negativo.
[00705] 14. O método da cláusula 12, em que o segundo CCLM não é aplicado para um caso que satisfaz H> K × W, K sendo um número inteiro não negativo.
[00706] 15. O método da cláusula 12, em que um indicador que indica a aplicação do primeiro CCLM ou do segundo CCLM não é sinalizado para um caso em que um do primeiro CCLM e do segundo CCLM não é aplicado.
[00707] 16. O método de qualquer uma das cláusulas 1-15, em que a realização da conversão inclui gerar a representação codificada a partir do bloco atual.
[00708] 17. O método de qualquer uma das cláusulas 1-15, em que a realização da conversão inclui gerar o bloco atual a partir da representação codificada.
[00709] 18. Um aparelho em um sistema de vídeo compreendendo um
125 / 162 processador e uma memória não transitória com instruções na mesma, em que as instruções, mediante a execução pelo processador, fazem com que o processador implemente o método em qualquer uma das cláusulas 1 a 17.
[00710] 19. Um produto de programa de computador armazenado em uma mídia legível por computador não transitória, o produto de programa de computador incluindo código de programa para realizar o método em qualquer uma das cláusulas 1 a 17.
[00711] O sétimo conjunto de cláusulas descreve certos recursos e aspectos das técnicas descritas listadas na seção prévia, incluindo, por exemplo, Exemplos 7, 8, 11-13.
[00712] 1. Um método para processamento de vídeo, compreendendo: determinar, para uma conversão entre um bloco de vídeo atual de um vídeo e uma representação codificada do vídeo, um contexto que é usado para codificar um indicador usando codificação aritmética na representação codificada do bloco de vídeo atual, em que o contexto é com base em se um bloco vizinho de topo-à esquerda do bloco de vídeo atual é codificado usando um modo de previsão do modelo linear de componente cruzado (CCLM); e realizar a conversão com base na determinação, em que o indicador é sinalizado para indicar se o modo de previsão CCLM é aplicado no bloco de vídeo atual, e em que o modo de previsão CCLM usa um modo linear para derivar valores de previsão de um componente de croma a partir de um outro componente.
[00713] 2. O método da cláusula 1, em que o contexto compreende um primeiro contexto do bloco vizinho de topo-à esquerda usa o modo de previsão CCLM e compreende um segundo contexto diferente do primeiro contexto se o bloco vizinho de topo-à esquerda não usar o modo de previsão CCLM.
[00714] 3. O método da cláusula 1, em que o bloco vizinho de topo-à esquerda é indisponível, e em que o modo de previsão CCLM é considerado
126 / 162 como habilitado.
[00715] 4. O método da cláusula 1, em que o bloco vizinho de topo-à esquerda é indisponível, e em que o modo de previsão CCLM é considerado como desabilitado.
[00716] 5. O método da cláusula 1, em que o bloco vizinho de topo-à esquerda é intracodificado, e em que o modo de previsão CCLM é considerado como habilitado.
[00717] 6. O método da cláusula 1, em que o bloco vizinho de topo-à esquerda é intracodificado, e em que o modo de previsão CCLM é considerado como desabilitado.
[00718] 7. Um método para processamento de vídeo, compreendendo: determinar, para uma conversão entre um bloco de vídeo atual de um vídeo e uma representação codificada do vídeo, uma ordem de codificação para uma ou mais indicações de um modo derivado (modo DM) e um modo linear (modo LM) com base em um modo de codificação de um ou mais blocos vizinhos do bloco de vídeo atual; e realizar a conversão com base na determinação, em que o modo LM usa um modo linear para derivar valores de previsão de um componente de croma a partir de um outro componente, e o modo DM deriva o modo de intraprevisão de um componente de croma a partir de um outro componente.
[00719] 8. O método da cláusula 7, em que um bloco vizinho de topo-à esquerda dos um ou mais blocos vizinhos é codificado com o modo LM, e em que uma indicação do modo LM é codificada primeiro.
[00720] 9. O método da cláusula 7, em que um bloco vizinho de topo-à esquerda dos um ou mais blocos vizinhos é codificado com o modo DM, e em que uma indicação do modo DM é codificada primeiro.
[00721] 10. O método da cláusula 7, em que um bloco vizinho de topo- à esquerda dos um ou mais blocos vizinhos é codificado com um modo de codificação que é diferente do modo LM, e em que uma indicação do modo
127 / 162 DM é codificada primeiro.
[00722] 11. O método de qualquer uma das cláusulas 7 a 10, em que as uma ou mais indicações são sinalizadas em um conjunto de parâmetro de sequência (SPS), um conjunto de parâmetro de vídeo (VPS), um conjunto de parâmetro de figura (PPS), um cabeçalho de figura, um cabeçalho de fatia, um cabeçalho do grupo de quadriculados, uma ou mais maiores unidades de codificação ou uma ou mais unidades de codificação.
[00723] 12. Um método para processamento de vídeo, compreendendo: determinar, para uma conversão entre um bloco de vídeo atual de um vídeo e uma representação codificada do vídeo, parâmetros para uma previsão de modelo linear ou previsão do componente de cor cruzada com base em amostras de luma e amostras de croma vizinhas refinadas do bloco de vídeo atual; derivar valores de previsão de um componente de croma do bloco de vídeo atual com base nos parâmetros e amostras de luma internas refinadas do bloco de vídeo atual; e realizar a conversão com base nos valores de previsão.
[00724] 13. O método da cláusula 12, em que amostras de luma vizinhas e amostras de luma internas são descendentemente amostradas antes de um processo de refinamento.
[00725] 14. O método da cláusula 12, em que um processo de refinamento compreende um processo de filtragem ou um processo não linear.
[00726] 15. O método da cláusula 12, em que os parâmetros para a previsão de modelo linear são α e β, em que α = (C1−C0) / (L1−L0) e β = C0 − αL0, em que C0 e C1 são derivados a partir de amostras de croma vizinhas, e em que L0 e L1 são derivados a partir de amostras de luma vizinhas.
[00727] 16. O método da cláusula 15, em que C0 e L0 são com base em S amostras de croma e de luma vizinhas, denotadas {Cx1, Cx2, …, CxS} e {Lx1, Lx2, …, LxS}, respectivamente, em que C1 e L1 são com base em T amostras de croma e de luma vizinhas, denotadas {Cy1, Cy2, …, CyT} e {Ly1, Ly2, …, LyT}, respectivamente, em que {Cx1, Cx2, …, CxS} são
128 / 162 correspondentes a {Lx1, Lx2, …, LxS}, em que {Cy1, Cy2, …, CyT} são correspondentes a {Ly1, Ly2, …, LyT}, em que C0 = f0(Cx1, Cx2, …, CxS), L0 = f1(Lx1, Lx2, …, LxS), C1 = f2(Cy1, Cy2, …, CyT) e L1 = f1(Ly1, Ly2, …, LyT), e em que f0, f1, f2 e f3 são funções.
[00728] 17. O método da cláusula 16, em que f0 e f1 são uma primeira função.
[00729] 18. O método da cláusula 16, em que f2 e f3 são uma segunda função.
[00730] 19. O método da cláusula 17, em que f0, f1, f2 e f3 são uma terceira função.
[00731] 20. O método da cláusula 19, em que a terceira função é uma função de ponderação.
[00732] 21. O método da cláusula 16, em que S = T.
[00733] 22. O método da cláusula 16, em que {Lx1, Lx2, …, LxS} são as menores amostras de um grupo de amostras de luma.
[00734] 23. O método da cláusula 16, em que {Ly1, Ly2, …, LyT} são as maiores amostras de um grupo de amostras de luma.
[00735] 24. O método das cláusulas 22 ou 23, em que o grupo de amostras de luma compreende todas as amostras vizinhas usadas em VTM-
3.0 para derivar os parâmetros da previsão de modelo linear.
[00736] 25. O método das cláusulas 22 ou 23, em que o grupo de amostras de luma compreende um subconjunto de amostras vizinhas usadas em VTM-3.0 para derivar os parâmetros da previsão de modelo linear, e em que o subconjunto não é idêntico a todas as amostras vizinhas.
[00737] 26. Um método para processamento de vídeo, compreendendo: determinar, para uma conversão entre um bloco de vídeo atual de um vídeo que é um bloco de croma e uma representação codificada do vídeo, parâmetros para uma previsão de modelo linear ou previsão do componente de cor cruzada com base em pela seleção de amostras vizinhas com base em
129 / 162 uma posição de uma maior ou uma menor amostra vizinha; derivar valores de previsão de amostras de croma do bloco de vídeo atual com base nos parâmetros e amostras de luma internas do bloco de vídeo atual; e realizar a conversão com base nos valores de previsão.
[00738] 27. O método da cláusula 26, em que a maior amostra vizinha fica localizada em uma posição (x0, y0), amostras em uma região (x0-d1, y0), (x0, y0-d2), (x0+d3, y0), (x0, y0+d4) são utilizadas para selecionar as amostras vizinhas, e em que {d1, d2, d3, d4} depende da posição (x0, y0).
[00739] 28. O método da cláusula 26, em que a menor amostra vizinha fica localizada em uma posição (x1, y1), amostras em uma região (x1-d1, y1), (x1, y1-d2), (x1+d3, y1), (x1, y1+d4) são utilizadas para selecionar as amostras vizinhas, e em que {d1, d2, d3, d4} depende da posição (x1, y1).
[00740] 29. O método de qualquer uma das cláusulas 26-28, em que as amostras vizinhas representam um componente de cor.
[00741] 30. Um método para processamento de vídeo, compreendendo: determinar, para uma conversão entre um bloco de vídeo atual de um vídeo e uma representação codificada do vídeo, parâmetros para uma previsão de modelo linear ou previsão do componente de cor cruzada com base em um componente de cor principal e um componente de cor dependente, o componente de cor principal selecionado como um de um componente de cor de luma e um componente de cor de croma e o componente de cor dependente selecionado como o outro do componente de cor de luma e do componente de cor de croma; e realizar a conversão com base na determinação.
[00742] 31. O método de qualquer uma das cláusulas 1-30, em que a realização da conversão inclui gerar a representação codificada a partir do bloco atual.
[00743] 32. O método de qualquer uma das cláusulas 1-30, em que a realização da conversão inclui gerar o bloco atual a partir da representação codificada.
130 / 162
[00744] 33. Um aparelho em um sistema de vídeo compreendendo um processador e uma memória não transitória com instruções na mesma, em que as instruções, mediante a execução pelo processador, fazem com que o processador implemente o método em qualquer uma das cláusulas 1 a 32.
[00745] 34. Um produto de programa de computador armazenado em uma mídia legível por computador não transitória, o produto de programa de computador incluindo código de programa para realizar o método em qualquer uma das cláusulas 1 a 32.
[00746] Os oito conjuntos de cláusulas descrevem certos recursos e aspectos das técnicas descritas listadas na seção prévia, incluindo, por exemplo, Exemplos 10 e 14.
[00747] 1. Um método para processamento de vídeo, compreendendo: realizar amostragem descendente nas amostras de croma e de luma de um bloco vizinho do bloco de vídeo atual; determinar, para uma conversão entre um bloco de vídeo atual de um vídeo que é um bloco de croma e uma representação codificada do vídeo, parâmetros do modelo linear de componente cruzado (CCLM) com base nas amostras de croma e de luma descendentemente amostradas obtidas a partir da amostragem descendente; aplicar o CCLM nas amostras de luma localizadas em um bloco de luma correspondente ao bloco de vídeo atual para derivar valores de previsão do bloco de vídeo atual; e realizar a conversão com base nos valores de previsão.
[00748] 2. O método da cláusula 1, em que o bloco de vídeo atual tem uma altura (H) e uma largura (W) e a amostragem descendente é com base na altura ou na largura.
[00749] 3. O método da cláusula 1, em que as amostras de croma e de luma descendentemente amostradas são obtidas antes da derivação dos parâmetros do CCLM incluindo α e β, e em que α e β são definidos por equações: α = ( C1 − C0 ) / ( L1 − L0 ) e β = C0 − α×L0.
[00750] 4. O método da cláusula 1, em que o número de amostras
131 / 162 vizinhas à esquerda usadas para derivar os parâmetros de CCLM é igual ao número de amostras vizinhas acima usadas para derivar os parâmetros de CCLM.
[00751] 5. O método da cláusula 2, em que W < H ou W > H.
[00752] 6. O método da cláusula 2, em que se realiza-se amostragem descendente como amostras de croma e de luma de um bloco vizinho esquerdo ou um bloco vizinho acima depende de um tamanho relativo de W e H.
[00753] 7. O método da cláusula 6, em que a amostragem descendente é realizada nas amostras de croma e de luma de um bloco vizinho esquerdo em um caso de H > W.
[00754] 8. O método da cláusula 6, em que a amostragem descendente é realizada nas amostras de croma e de luma de um bloco vizinho acima em um caso de W > H.
[00755] 9. O método da cláusula 7, em que uma amostra no topo-à esquerda do bloco de vídeo atual é R[ 0, 0 ], em que as amostras de croma descendentemente amostradas compreendem amostras R[ −1, K×H/W ], e em que K é um número inteiro não negativo que varia de 0 a W−1.
[00756] 10. O método da cláusula 8, em que uma amostra no topo-à esquerda do bloco de vídeo atual é R[ 0, 0 ], em que as amostras de croma descendentemente amostradas compreendem amostras R[ K×H/W, −1 ], e em que K é um número inteiro não negativo que varia de 0 a H−1.
[00757] 11. Um método para processamento de vídeo, compreendendo: determinar, para uma conversão entre um bloco de vídeo atual de um vídeo que é um bloco de croma e uma representação codificada do vídeo, parâmetros de um modelo linear de componente cruzado (CCLM) com base em duas ou mais amostras de croma provenientes de um grupo de amostras de croma vizinhas, em que as duas ou mais amostras de croma são selecionadas com base em um modo de codificação do bloco de vídeo atual; aplicar o
132 / 162 CCLM nas amostras de luma localizadas em um bloco de luma correspondente ao bloco de vídeo atual para derivar valores de previsão do bloco de vídeo atual; e realizar a conversão com base nos valores de previsão.
[00758] 12. O método da cláusula 11, em que duas ou mais amostras de luma correspondentes às duas ou mais amostras de croma são usadas para derivar os parâmetros do modelo linear de componente cruzado.
[00759] 13. O método da cláusula 12, em que as duas ou mais amostras de luma são descendentemente amostradas para derivar os parâmetros do modelo linear de componente cruzado.
[00760] 14. O método da cláusula 11, em que as duas ou mais amostras de croma são selecionadas com base em disponibilidades de amostras vizinhas.
[00761] 15. O método da cláusula 11, em que as duas ou mais amostras de croma são selecionadas a partir de um ou mais de uma coluna à esquerda, uma linha acima, uma linha acima-à direita ou uma coluna abaixo-à esquerda em relação ao bloco de vídeo atual.
[00762] 16. O método da cláusula 11, em que as duas ou mais amostras de croma são selecionadas com base em uma razão de uma altura do bloco de vídeo atual por uma largura do bloco de vídeo atual.
[00763] 17. O método da cláusula 11, em que as duas ou mais amostras de croma são selecionadas com base em se uma largura ou uma altura do bloco de vídeo atual é igual a K, K sendo um número inteiro.
[00764] 18. O método da cláusula 17, em que K = 2.
[00765] 19. O método da cláusula 11, em que o modo de codificação do bloco de vídeo atual é um de um primeiro modo linear que usa duas amostras dentre amostras vizinhas à esquerda e duas amostras dentre amostras vizinhas acima, um segundo modo linear que usa apenas amostras vizinhas à esquerda, e um terceiro modo linear que usa apenas amostras vizinhas acima, em que coordenadas de uma amostra no topo-à esquerda do bloco de vídeo
133 / 162 atual são (x, y), e em que uma largura e uma altura do bloco de vídeo atual são W e H, respectivamente.
[00766] 20. O método da cláusula 19, em que as duas ou mais amostras de croma compreendem amostras com coordenadas (x-1, y), (x, y-1), (x-1, y+H-1) e (x + W-1, y-1) no primeiro modo linear.
[00767] 21. O método da cláusula 19, em que as duas ou mais amostras de croma compreendem amostras com coordenadas (x-1, y), (x, y-1), (x-1, y + H - H/W -1) e (x + W-1, y-1) no primeiro modo linear, e em que H > W.
[00768] 22. O método da cláusula 19, em que as duas ou mais amostras de croma compreendem amostras com coordenadas (x-1, y), (x, y-1), (x-1, y + H -1) e (x + W - W/H-1, y-1) no primeiro modo linear, e em que H < W.
[00769] 23. O método da cláusula 19, em que as duas ou mais amostras de croma compreendem amostras com coordenadas (x-1, y), (x, y-1), (x-1, y + H – max(1, H/W)) e (x + W- max(1, W/H), y-1) no primeiro modo linear.
[00770] 24. O método da cláusula 19, em que as duas ou mais amostras de croma compreendem amostras com coordenadas (x, y-1), (x + W/4, y-1), (x + 2*W/4, y-1) e (x + 3*W/4, y – 1) no terceiro modo linear.
[00771] 25. O método da cláusula 19, em que as duas ou mais amostras de croma compreendem amostras com coordenadas (x, y-1), (x + W/4, y-1), (x + 3*W/4, y – 1) e (x + W-1, y -1) no terceiro modo linear.
[00772] 26. O método da cláusula 19, em que as duas ou mais amostras de croma compreendem amostras com coordenadas (x, y-1), (x + (2W)/4, y- 1), (x + 2*(2W)/4, y-1) e (x + 3*(2W)/4, y – 1) no terceiro modo linear.
[00773] 27. O método da cláusula 19, em que as duas ou mais amostras de croma compreendem amostras com coordenadas (x, y-1), (x + (2W)/4, y- 1), (x + 3*(2W)/4, y – 1) e (x + (2W)-1, y-1) no terceiro modo linear.
[00774] 28. O método da cláusula 19, em que as duas ou mais amostras de croma compreendem amostras com coordenadas (x-1, y), (x -1, y + H/4), (x -1, y + 2*H/4) e (x -1, y + 3*H/4) no segundo modo linear.
134 / 162
[00775] 29. O método da cláusula 19, em que as duas ou mais amostras de croma compreendem amostras com coordenadas (x-1, y), (x - 1, y+ 2*H/4), (x -1, y + 3*H/4) e (x -1, y + H-1) no segundo modo linear.
[00776] 30. O método da cláusula 19, em que as duas ou mais amostras de croma compreendem amostras com coordenadas (x-1, y), (x -1, y + (2H)/4), (x -1, y + 2*(2H)/4) e (x -1, y + 3*(2H)/4) no segundo modo linear.
[00777] 31. O método da cláusula 19, em que as duas ou mais amostras de croma compreendem amostras com coordenadas (x-1, y), (x - 1, y+ 2*(2H)/4), (x -1, y + 3*(2H)/4) e (x -1, y + (2H)-1) no segundo modo linear.
[00778] 32. O método de qualquer uma das cláusulas 20 a 31, em que exatamente duas amostras são selecionadas para determinar os parâmetros do CCLM.
[00779] 33. O método de qualquer uma das cláusulas 1 a 32, em que a realização da conversão inclui gerar a representação codificada a partir do bloco atual.
[00780] 34. O método de qualquer uma das cláusulas 1 a 32, em que a realização da conversão inclui gerar o bloco atual a partir da representação codificada.
[00781] 35. Um aparelho em um sistema de vídeo compreendendo um processador e uma memória não transitória com instruções na mesma, em que as instruções, mediante a execução pelo processador, fazem com que o processador implemente o método em qualquer uma das cláusulas 1 a 34.
[00782] 36. Um produto de programa de computador armazenado em uma mídia legível por computador não transitória, o produto de programa de computador incluindo código de programa para realizar o método em qualquer uma das cláusulas 1 a 34.
[00783] O nono conjunto de cláusulas descreve certos recursos e aspectos das técnicas descritas listadas na seção prévia, incluindo, por exemplo, Exemplos 16 e 17.
135 / 162
[00784] 1. Um método para processamento de vídeo, compreendendo: determinar, para uma conversão entre um bloco de vídeo atual de um vídeo que é um bloco de croma e uma representação codificada do vídeo, parâmetros do modelo linear de componente cruzado (CCLM) com base em amostras de croma que são selecionadas com base em W amostras vizinhas acima disponíveis, W sendo um número inteiro; e realizar a conversão com base na determinação.
[00785] 2. O método da cláusula 1, em que W é definido em i) uma largura do bloco de vídeo atual, ii) L vezes a largura do bloco de vídeo atual, L sendo um número inteiro, iii) uma soma de uma altura do bloco de vídeo atual e uma largura do bloco de vídeo atual, ou iv) uma soma da largura do bloco de vídeo atual e do número de amostras vizinhas de topo-à direita disponíveis.
[00786] 3. O método da cláusula 1, em que W depende de uma disponibilidade de pelo menos um de um bloco vizinho acima ou um bloco vizinho esquerdo do bloco de vídeo atual.
[00787] 4. O método da cláusula 1, em que W depende de um modo de codificação do bloco de vídeo atual.
[00788] 5. O método da cláusula 2, em que L tem um valor dependendo de uma disponibilidade de um bloco de topo-à direita ou uma amostra de topo à esquerda que fica localizada adjacente ao bloco de vídeo atual.
[00789] 6. O método da cláusula 1, em que as amostras de croma são selecionadas com base em um primeiro valor de deslocamento da posição (F) e um valor de passo (S) que dependem de W.
[00790] 7. O método da cláusula 6, em que uma amostra de topo à esquerda tem uma coordenada (x0, y0) e as amostras de croma selecionadas têm coordenadas (x0+F+K×S, y0-1), K sendo um número inteiro entre 0 e kMax.
136 / 162
[00791] 8. O método da cláusula 6, em que F = W/P ou F = W/P + offset, P sendo um número inteiro.
[00792] 9. O método da cláusula 8, em que F= W >> ( 2 + numIs4T ), em que numIs4T é igual a 1 em um caso em que houver quatro amostras vizinhas selecionadas em uma linha vizinha acima e, em outras circunstâncias, numIs4T é igual a 0.
[00793] 10. O método da cláusula 6, em que S = W/Q, Q sendo um número inteiro.
[00794] 11. O método da cláusula 6, em que S não é menor do que 1.
[00795] 12. O método das cláusulas 10 ou 11, em que S= Max( 1, W >> ( 1 + numIs4T ) ), em que numIs4T é igual a 1 em um caso em que houver quatro amostras vizinhas selecionadas em uma linha vizinha acima e, em outras circunstâncias, numIs4T é igual a 0.
[00796] 13. O método das cláusulas 9 ou 12, em que numIs4T é igual a 1 em um caso em que amostras vizinhas acima estiverem disponíveis, amostras vizinhas à esquerda estão disponíveis, e o bloco de vídeo atual é codificado com um CCLM normal que é diferente de um primeiro CCLM usando apenas amostras vizinhas à esquerda, e diferente de um segundo CCLM usando apenas amostras vizinhas acima.
[00797] 14. O método da cláusula 6, em que F = S/R, R sendo um número inteiro.
[00798] 15. O método da cláusula 6, em que S = F/Z, Z sendo um número inteiro.
[00799] 16. O método de qualquer uma das cláusulas 7-15, em que pelo menos um de Kmax, F, S, ou offset depende de um modo de previsão do bloco de vídeo atual que é um de um primeiro CCLM usando apenas amostras vizinhas à esquerda, um segundo CCLM usando apenas amostras vizinhas acima, um terceiro CCLM usando amostras tanto vizinhas à esquerda quanto vizinhas acima, ou outros modos que são diferentes do primeiro CCLM, do
137 / 162 segundo CCLM, e do terceiro CCLM.
[00800] 17. O método de qualquer uma das cláusulas 7-15, em que pelo menos um de Kmax, F, S, ou offset depende de uma largura e/ou uma altura do bloco de vídeo atual.
[00801] 18. O método de qualquer uma das cláusulas 7-15, em que pelo menos um de Kmax, F, S, ou offset depende de disponibilidades de amostras vizinhas.
[00802] 19. O método de qualquer uma das cláusulas 7-15, em que pelo menos um de Kmax, F, S, ou offset depende de W.
[00803] 20. Um método para processamento de vídeo, compreendendo: determinar, para uma conversão entre um bloco de vídeo atual de um vídeo que é um bloco de croma e uma representação codificada do vídeo, parâmetros do modelo linear de componente cruzado (CCLM) com base em amostras de croma que são selecionadas com base em H amostras vizinhas à esquerda disponíveis do bloco de vídeo atual; e realizar a conversão com base na determinação.
[00804] 21. O método da cláusula 20, em que H é definido em um de i) uma altura do bloco de vídeo atual, ii) L vezes a altura do bloco de vídeo atual, L sendo um número inteiro, iii) uma soma de uma altura do bloco de vídeo atual e uma largura do bloco de vídeo atual, ou iv) uma soma da altura do bloco de vídeo atual e do número de amostras vizinhas à esquerda-base disponíveis.
[00805] 22. O método de acordo com a reivindicação 20, em que H depende de uma disponibilidade de pelo menos um de um bloco vizinho acima ou um bloco vizinho esquerdo do bloco de vídeo atual.
[00806] 23. O método da cláusula 20, em que H depende de um modo de codificação do bloco de vídeo atual.
[00807] 24. O método da cláusula 21, em que L tem um valor dependendo de uma disponibilidade de um bloco abaixo-à esquerda ou uma
138 / 162 amostra abaixo-à esquerda que fica localizada adjacente ao bloco de vídeo atual.
[00808] 25. O método da cláusula 20, em que as amostras de croma são selecionadas com base em um primeiro valor de deslocamento da posição (F) e um valor de passo (S) que dependem de H.
[00809] 26. O método da cláusula 25, em que uma amostra no topo-à esquerda tem uma coordenada (x0, y0) e as amostras de croma selecionadas têm coordenadas (x0-1, y0+F+K×S), K sendo um número inteiro entre 0 e kMax.
[00810] 27. O método da cláusula 25, em que F = H/P ou F = H/P + offset, P sendo um número inteiro.
[00811] 28. O método da cláusula 27, em que F= H >> ( 2 + numIs4L ), em que numIs4L é igual a 1 em um caso em que houver quatro amostras vizinhas selecionadas na coluna vizinha à esquerda; caso contrário, o mesmo é igual a 0.
[00812] 29. O método da cláusula 25, em que S = H/Q, Q sendo um número inteiro.
[00813] 30. O método da cláusula 25, em que S não é menor do que 1.
[00814] 31. O método das cláusulas 29 ou 30, em que S= Max( 1, H >> ( 1 + numIs4L ) ), em que numIs4L é igual a 1 em um caso em que houver quatro amostras vizinhas selecionadas em uma coluna vizinha à esquerda e, caso contrário, numIs4L é igual a 0.
[00815] 32. O método das cláusulas 28 ou 31, em que numIs4L é igual a 1 em um caso em que amostras vizinhas acima estiverem disponíveis, amostras vizinhas à esquerda estão disponíveis, e o bloco de vídeo atual é codificado com um CCLM normal que é diferente de um primeiro CCLM usando apenas amostras vizinhas à esquerda, e diferente de um segundo CCLM usando apenas amostras vizinhas acima.
[00816] 33. O método da cláusula 25, em que F = S/R, R sendo um
139 / 162 número inteiro.
[00817] 34. O método da cláusula 25, em que S = F/Z, Z sendo um número inteiro.
[00818] 35. O método de qualquer uma das cláusulas 26 a 34, em que pelo menos um de Kmax, F, S, ou offset depende de um modo de previsão do bloco de vídeo atual que é um de um primeiro CCLM usando apenas amostras vizinhas à esquerda, um segundo CCLM usando apenas amostras vizinhas acima, um terceiro CCLM usando amostras tanto vizinhas à esquerda quanto vizinhas acima, ou outros modos que são diferentes do primeiro CCLM, do segundo CCLM, e do terceiro CCLM.
[00819] 36. O método de qualquer uma das cláusulas 26 a 34, em que pelo menos um de Kmax, F, S, ou offset depende de uma largura e/ou uma altura do bloco de vídeo atual.
[00820] 37. O método de qualquer uma das cláusulas 26 a 34, em que pelo menos um de Kmax, F, S, ou offset depende de H.
[00821] 38. O método de qualquer uma das cláusulas 26 a 34, em que pelo menos um de Kmax, F, S, ou offset depende de disponibilidades de amostras vizinhas.
[00822] 39. O método da cláusula 20, em que H é definido em uma soma da altura do bloco de vídeo atual e uma largura do bloco de vídeo atual em um caso em que um bloco vizinho acima-à direita do bloco de vídeo atual estiver disponível.
[00823] 40. O método da cláusula 20, em que, em um caso em que amostras vizinhas à esquerda estiverem indisponíveis, as amostras de croma selecionadas têm a altura H independente se o bloco de vídeo atual tem um primeiro CCLM usando apenas amostras vizinhas acima ou não.
[00824] 41. O método da cláusula 1, em que W é definido em uma soma da altura do bloco de vídeo atual e de uma largura do bloco de vídeo atual em um caso em que um bloco vizinho abaixo-à esquerda do bloco de
140 / 162 vídeo atual estiver disponível.
[00825] 42. O método da cláusula 1, em que, em um caso em que amostras vizinhas acima estiverem indisponíveis, as amostras de croma selecionadas têm o número de W independente se o bloco de vídeo atual tem um primeiro CCLM usando apenas amostras vizinhas à esquerda ou não.
[00826] 43. O método de qualquer uma das cláusulas 1-42, em que a realização da conversão inclui gerar a representação codificada a partir do bloco atual.
[00827] 44. O método de qualquer uma das cláusulas 1-42, em que a realização da conversão inclui gerar o bloco atual a partir da representação codificada.
[00828] 45. Um aparelho em um sistema de vídeo compreendendo um processador e uma memória não transitória com instruções na mesma, em que as instruções, mediante a execução pelo processador, fazem com que o processador implemente o método em qualquer uma das cláusulas 1 a 44.
[00829] 46. Um produto de programa de computador armazenado em uma mídia legível por computador não transitória, o produto de programa de computador incluindo código de programa para realizar o método em qualquer uma das cláusulas 1 a 44.
[00830] O décimo conjunto de cláusulas descreve certos recursos e aspectos das técnicas descritas listadas na seção prévia, incluindo, por exemplo, Exemplos 18 e 19.
[00831] 1. Um método para processamento de vídeo, compreendendo: determinar, para uma conversão entre um bloco de vídeo atual de um vídeo que é um bloco de croma e uma representação codificada do vídeo, parâmetros de um modelo linear de componente cruzado (CCLM) com base em duas ou quatro amostras de croma e/ou correspondentes amostras de luma; e realizar a conversão com base na determinação.
[00832] 2. O método da cláusula 1, em que as correspondentes
141 / 162 amostras de luma são obtidas por amostragem descendente.
[00833] 3. O método da cláusula 1, em que os parâmetros do CCLM incluem maxY/maxC e minY/minC.
[00834] 4. O método da cláusula 3, em que as duas amostras de croma são selecionadas para derivar maxY/maxC e minY/minC, e em que minY é definido para ser o menor valor da amostra de luma, minC é seu correspondente valor da amostra de croma, maxY é definido para ser o maior valor da amostra de luma, e maxC é seu correspondente valor da amostra de croma.
[00835] 5. O método da cláusula 3, em que as quatro amostras de croma são selecionadas para derivar maxY/maxC e minY/minC, e em que as quatro amostras de croma e as correspondentes amostras de luma são divididas em dois arranjos G0 e G1, cada arranjo incluindo duas amostras de croma e suas correspondentes amostras de luma.
[00836] 6. O método da cláusula 5, em que os dois arranjos G0 e G1 incluem um dos seguintes conjuntos: i) G0={S0, S1}, G1={S2, S3}, ii) G0={S1, S0}, G1={S3, S2}, iii) G0={S0, S2}, G1={S1, S3}, iv) G0={S2, S0}, G1={S3, S1}, v) G0={S1, S2}, G1={S0, S3}, vi) G0={S2, S1}, G1={S3, S0}, vii) G0={S0, S3}, G1={S1, S2}, viii) G0={S3, S0}, G1={S2, S1}, ix) G0={S1, S3}, G1={S0, S2}, x) G0={S3, S1}, G1={S2, S0}, xi) G0={S3, S2}, G1={S0, S1}, ou xii) G0={S2, S3}, G1={S1, S0}, e em que S0, S1, S2, S3 incluem as quatro amostras de croma,
142 / 162 respectivamente, e incluem adicionalmente as correspondentes amostras de luma, respectivamente.
[00837] 7. O método da cláusula 6, em que, mediante uma comparação de dois valores da amostra de luma de G0[0] e G0[1], uma amostra de croma e sua correspondente amostra de luma de G0[0] são sobrecarregadas com aquelas de G0[1].
[00838] 8. O método da cláusula 7, em que a amostra de croma e sua correspondente amostra de luma de G0[0] são sobrecarregadas com aquelas de G0[1] em um caso em que um valor da amostra de luma de G0[0] é maior do que um valor da amostra de luma de G0[1].
[00839] 9. O método da cláusula 6, em que, mediante uma comparação de dois valores da amostra de luma de G1[0] e G1[1], uma amostra de croma e sua correspondente amostra de luma de G1[0] são sobrecarregadas com aquelas de G1[1].
[00840] 10. O método da cláusula 9, em que a amostra de croma e sua correspondente amostra de luma de G1[0] são sobrecarregadas com aquelas de G1[1] em um caso em que um valor da amostra de luma de G1[0] for maior do que um valor da amostra de luma de G1[1].
[00841] 11. O método da cláusula 6, em que, mediante uma comparação de dois valores da amostra de luma de G0[0] e G1[1], amostras de croma e suas correspondentes amostras de luma de G0[0] ou G0[1] são sobrecarregadas com aquelas de G1[0] ou G1[1].
[00842] 12. O método da cláusula 11, em que as amostras de croma e suas correspondentes amostras de luma de G0[0] ou G0[1] são sobrecarregadas com aquelas de G1[0] ou G1[1] em um caso em que um valor da amostra de luma de G0[0] for maior do que um valor da amostra de luma de G1[1].
[00843] 13. O método da cláusula 6, em que, mediante uma comparação de dois valores da amostra de luma de G0[1] e G1[0], uma
143 / 162 amostra de croma e sua correspondente amostra de luma de G0[1] são sobrecarregadas com aquelas de G1[0].
[00844] 14. O método da cláusula 13, em que a amostra de croma e sua correspondente amostra de luma de G0[1] são sobrecarregadas com aquelas de G1[0] em um caso em que um valor da amostra de luma de G0[1] for maior do que um valor da amostra de luma de G1[0].
[00845] 15. O método da cláusula 6, em que, mediante uma comparação de dois valores da amostra de luma de G0[0], G0[1], G1[0], e G1[1], seguintes operações de sobrecarga são conduzidas em uma ordem: i) uma operação de sobrecarga de uma amostra de croma e sua correspondente amostra de luma de G0[0] com aquelas de G0[1], ii) uma operação de sobrecarga de uma amostra de croma e sua correspondente amostra de luma de G1[0] com aquelas de G1[1], iii) uma operação de sobrecarga de amostras de croma e suas correspondentes amostras de luma de G0[0] ou G0[1] com aquelas de G1[0] ou G1[1], e iv) uma operação de sobrecarga de uma amostra de croma e sua correspondente amostra de luma de G0[1] com aquelas de G1[0].
[00846] 16. O método da cláusula 6, em que maxY é calculado como uma média de valores da amostra de luma de G0[0] e G0[1] ou uma média de valores da amostra de luma de G1[0] e G1[1], e maxC é calculado como uma média de valores da amostra de croma de G0[0] e G0[1] ou uma média de valores da amostra de croma de G1[0] e G1[1].
[00847] 17. O método da cláusula 6, em que minY é calculado como uma média de valores da amostra de luma de G0[0] e G0[1] ou uma média de valores da amostra de luma de G1[0] e G1[1], e minC é calculado como uma média de valores da amostra de croma de G0[0] e G0[1] ou uma média de valores da amostra de croma de G1[0] e G1[1].
[00848] 18. O método das cláusulas 16 ou 17, em que os cálculos de maxY e maxC ou os cálculos de minY e minC são conduzidos depois de
144 / 162 qualquer uma das operações de sobrecarga que são realizadas mediante uma comparação de dois valores da amostra de luma de G0[0], G0[1], G1[0] e G1[1], em que as operações de sobrecarga incluem: i) uma operação de sobrecarga da amostra de croma e sua correspondente amostra de luma de G1[0] com aquelas de G1[1], ii) uma operação de sobrecarga de amostras de croma e suas correspondentes amostras de luma de G0[0] ou G0[1] com aquelas de G1[0] ou G1[1], e iii) uma operação de sobrecarga de uma amostra de croma e sua correspondente amostra de luma de G0[1] com aquelas de G1[0].
[00849] 19. O método da cláusula 1, em que, em um caso em que houver apenas duas amostras de croma que estão disponíveis, um enchimento é realizado nas duas amostras de croma disponíveis para prover as quatro amostras de croma.
[00850] 20. O método da cláusula 19, em que as quatro amostras de croma incluem as duas amostras de croma disponíveis e duas amostras de croma de enchimento que são copiadas das duas amostras de croma disponíveis.
[00851] 21. O método da cláusula 6, em que S0, S1, S2, S3 são amostras de croma e correspondentes amostras de luma são selecionadas em uma dada ordem em uma linha acima e/ou uma coluna à esquerda do bloco de vídeo atual.
[00852] 22. Um método para processamento de vídeo, compreendendo: selecionar, para uma conversão entre um bloco de vídeo atual de um vídeo que é um bloco de croma e uma representação codificada do vídeo, amostras de croma com base em uma regra de posição, as amostras de croma usadas para derivar parâmetros de um modelo linear de componente cruzado (CCLM); e realizar a conversão com base na determinação, em que a regra de posição especifica para selecionar as amostras de croma que estão localizadas em uma linha acima e/ou uma coluna à esquerda do bloco de vídeo atual.
145 / 162
[00853] 23. O método da cláusula 22, em que a linha acima e a coluna à esquerda têm W amostras e H amostras, respectivamente, W e H sendo uma largura e uma altura do bloco de vídeo atual, respectivamente.
[00854] 24. O método da cláusula 22, em que a regra de posição é aplicada para o bloco de vídeo atual codificado com um modo CCLM normal que é diferente de um primeiro modo CCLM que usa apenas amostras vizinhas acima para derivar o CCLM e de um segundo modo CCLM que usa apenas amostras vizinhas à esquerda para derivar o CCLM.
[00855] 25. O método da cláusula 22, em que a regra de posição especifica para selecionar as amostras de croma que estão localizadas na linha acima e em uma linha acima-à direita do bloco de vídeo atual, e em que a linha acima e a linha acima-à direita têm W amostras e H amostras, respectivamente, W e H sendo uma largura e uma altura do bloco de vídeo atual, respectivamente.
[00856] 26. O método da cláusula 25, em que apenas amostras na linha acima e na linha acima-à direita disponíveis são selecionadas.
[00857] 27. O método da cláusula 25, em que a regra de posição é aplicada para o bloco de vídeo atual codificado com um primeiro modo CCLM que usa apenas amostras vizinhas acima para derivar o CCLM.
[00858] 28. O método da cláusula 25, em que a regra de posição é aplicada em um caso em que a linha acima está disponível e a coluna à esquerda está indisponível e em que o bloco de vídeo atual é codificado com um modo CCLM normal que é diferente de um primeiro modo CCLM que usa apenas amostras vizinhas acima para derivar o CCLM e de um segundo modo CCLM que usa apenas amostras vizinhas à esquerda para derivar o CCLM.
[00859] 29. O método de qualquer uma das cláusulas 23-28, em que numSampT é definido com base em uma regra que especifica que numSampT é definido igual a nTbW em um caso em que amostras vizinhas acima
146 / 162 estiverem disponíveis e numSampT é definido igual a 0 em um caso em que as amostras vizinhas acima não estiverem disponíveis, e em que numSampT representa o número de amostras de croma em uma linha vizinha acima usadas para derivar os parâmetros de um modelo linear de componente cruzado e nTbW representa uma largura do bloco de vídeo atual.
[00860] 30. O método da cláusula 29, em que a regra é aplicada para o bloco de vídeo atual codificado com um modo CCLM normal que é diferente de um primeiro modo CCLM que usa apenas amostras vizinhas acima para derivar o CCLM e de um segundo modo CCLM que usa apenas amostras vizinhas à esquerda para derivar o CCLM.
[00861] 31. O método de qualquer uma das cláusulas 23-28, em que numSampT é definido com base em uma regra que especifica que numSampT é definido igual a nTbW + Min( numTopRight, nTbH ) em um caso em que amostras vizinhas acima estiverem disponíveis e o bloco de vídeo atual for codificado com um primeiro modo CCLM que usa apenas amostras vizinhas acima para derivar o CCLM, e que, em outras circunstâncias, o numSampT é definido igual a 0, e em que numSampT representa o número de amostras de croma em uma linha vizinha acima usadas para derivar os parâmetros do modelo linear de componente cruzado, nTbW e nTbH representam uma largura e uma altura do bloco atual, respectivamente, e numTopRight representa o número de amostras vizinhas de topo à direita disponíveis.
[00862] 32. O método da cláusula 31, em que a regra é aplicada para o bloco de vídeo atual não codificado com um modo CCLM normal que é diferente de um primeiro modo CCLM que usa apenas amostras vizinhas acima para derivar o CCLM e de um segundo modo CCLM que usa apenas amostras vizinhas à esquerda para derivar o CCLM.
[00863] 33. O método da cláusula 22, em que a regra de posição especifica para selecionar as amostras de croma que estão localizadas na coluna à esquerda e uma coluna abaixo-à esquerda do bloco de vídeo atual, e
147 / 162 em que a coluna à esquerda e a coluna abaixo-à esquerda têm H amostras e W amostras, respectivamente, W e H sendo uma largura e uma altura do bloco de vídeo atual, respectivamente.
[00864] 34. O método da cláusula 33, em que apenas amostras disponíveis na coluna à esquerda e na coluna abaixo-à esquerda são selecionadas.
[00865] 35. O método de acordo com a reivindicação 33, em que a regra de posição é aplicada para o bloco de vídeo atual codificado com um segundo modo CCLM que usa apenas amostras vizinhas à esquerda para derivar o CCLM.
[00866] 36. O método da cláusula 33, em que a regra de posição é aplicada em um caso em que a linha acima está indisponível e a coluna à esquerda está disponível e em que o bloco de vídeo atual é codificado com um modo CCLM normal que é diferente de um primeiro modo CCLM que usa apenas amostras vizinhas acima para derivar o CCLM e de um segundo modo CCLM que usa apenas amostras vizinhas à esquerda para derivar o CCLM.
[00867] 37. O método de qualquer uma das cláusulas 33-36, em que numSampL é definido com base em uma regra que especifica que numSampL é definido igual a nTbH em um caso em que amostras vizinhas à esquerda estiverem disponíveis e, em outras circunstâncias, numSampL é definido igual a 0, e em que numSampL representa o número de amostras de croma em uma coluna vizinha à esquerda usadas para derivar parâmetros do modelo linear de componente cruzado e nTbH representa uma altura do bloco de vídeo atual.
[00868] 38. O método da cláusula 37, em que a regra é aplicada para o bloco de vídeo atual codificado com um modo CCLM normal que é diferente de um primeiro modo CCLM que usa apenas amostras vizinhas acima para derivar o CCLM e de um segundo modo CCLM que usa apenas amostras vizinhas à esquerda para derivar o CCLM.
148 / 162
[00869] 39. O método de qualquer uma das cláusulas 33-36, em que numSampL é definido com base em uma regra que especifica que numSampL é definido igual a nTbH + Min( numLeftBelow, nTbW ) em um caso em que amostras vizinhas à esquerda estiverem disponíveis e o bloco de vídeo atual for codificado com um segundo modo CCLM que usa apenas amostras vizinhas à esquerda para derivar o CCLM e em que, em outras circunstâncias, numSampL é definido igual a 0, e em que numSampL representa o número de amostras de croma em uma coluna vizinha à esquerda usadas para derivar os parâmetros do modelo linear de componente cruzado, nTbW e nTbH representam uma largura e uma altura do bloco atual, respectivamente, e numLeftBelow representa o número de amostras vizinhas abaixo-à esquerda disponíveis.
[00870] 40. O método da cláusula 39, em que a regra é aplicada para o bloco de vídeo atual não codificado com um modo CCLM normal que é diferente de um primeiro modo CCLM que usa apenas amostras vizinhas acima para derivar o CCLM e de um segundo modo CCLM que usa apenas amostras vizinhas à esquerda para derivar o CCLM.
[00871] 41. O método de qualquer uma das cláusulas 22-40, em que amostras de luma correspondentes a amostras de croma selecionadas são usadas para derivar os parâmetros do modelo linear de componente cruzado.
[00872] 42. O método da cláusula 41, em que as amostras de luma são derivadas por amostragem descendente.
[00873] 43. O método de qualquer uma das cláusulas 1-42, em que a realização da conversão inclui gerar a representação codificada a partir do bloco atual.
[00874] 44. O método de qualquer uma das cláusulas 1-42, em que a realização da conversão inclui gerar o bloco atual a partir da representação codificada.
[00875] 45. Um aparelho em um sistema de vídeo compreendendo um
149 / 162 processador e uma memória não transitória com instruções na mesma, em que as instruções, mediante a execução pelo processador, fazem com que o processador implemente o método em qualquer uma das cláusulas 1 a 44.
[00876] 46. Um produto de programa de computador armazenado em uma mídia legível por computador não transitória, o produto de programa de computador incluindo código de programa para realizar o método em qualquer uma das cláusulas 1 a 44.
[00877] O décimo primeiro conjunto de cláusulas descreve certos recursos e aspectos das técnicas descritas listadas na seção prévia, incluindo, por exemplo, Exemplos 20, 21, 22.
[00878] 1. Um método para processamento de vídeo, compreendendo: determinar, para uma conversão entre um bloco de vídeo atual de um vídeo que é um bloco de croma e uma representação codificada do vídeo, posições nas quais amostras de luma são descendentemente amostradas, em que as amostras de luma descendentemente amostradas são usadas para determinar parâmetros de um modelo linear de componente cruzado (CCLM) com base em amostras de croma e amostras de luma descendentemente amostradas, em que as amostras de luma descendentemente amostradas estão em posições correspondentes às posições das amostras de croma que são usadas para derivar os parâmetros do CCLM; e realizar a conversão com base na determinação.
[00879] 2. Um método da cláusula 1, em que amostras de luma não são descendentemente amostradas em uma posição que está fora do bloco de vídeo atual e não é usada para determinar os parâmetros do CCLM.
[00880] 3. Um método para processamento de vídeo, compreendendo: determinar, para uma conversão entre um bloco de vídeo atual de um vídeo que é um bloco de croma e uma representação codificada do vídeo, um método para derivar parâmetros de um modelo linear de componente cruzado (CCLM) usando amostras de croma e amostras de luma com base em uma
150 / 162 condição de codificação associada com o bloco de vídeo atual; e realizar a conversão com base na determinação.
[00881] 4. O método da cláusula 3, em que a condição de codificação corresponde a um formato de cor do bloco de vídeo atual.
[00882] 5. O método da cláusula 4, em que o formato de cor é 4:2:0 ou 4:4:4.
[00883] 6. O método da cláusula 3, em que a condição de codificação corresponde a um método de representação de cor do bloco de vídeo atual.
[00884] 7. O método da cláusula 6, em que o método de representação de cor é um RGB ou YCbCr.
[00885] 8. O método da cláusula 3, em que as amostras de croma são descendentemente amostradas e a determinação depende dos locais das amostras de croma descendentemente amostradas.
[00886] 9. O método da cláusula 3, em que o método para derivar parâmetros compreende determinar os parâmetros do CCLM com base nas amostras de croma e nas amostras de luma que são selecionadas a partir de um grupo de amostras de croma vizinhas com base em uma regra de posição.
[00887] 10. O método da cláusula 3, em que o método para derivar parâmetros compreende determinar os parâmetros do CCLM com base em valores máximo e mínimo das amostras de croma e das amostras de luma.
[00888] 11. O método da cláusula 3, em que o método para derivar parâmetros compreende determinar os parâmetros do CCLM que são completamente determináveis por duas amostras de croma e correspondentes duas amostras de luma.
[00889] 12. O método da cláusula 3, em que o método para derivar parâmetros compreende determinar os parâmetros do CCLM usando uma tabela de parâmetro cujas entradas são recuperadas de acordo com dois valores da amostra de croma e dois valores da amostra de luma.
[00890] 13. Um método para processamento de vídeo, compreendendo:
151 / 162 determinar, para uma conversão entre um bloco de vídeo atual de um vídeo que é um bloco de croma e uma representação codificada do vídeo, se derivam-se valores máximos e/ou valores mínimos de um componente de luma e um componente de croma que são usados para derivar parâmetros de um modelo linear de componente cruzado (CCLM) com base na disponibilidade de um bloco vizinho esquerdo e um bloco vizinho acima do bloco de vídeo atual; e realizar a conversão com base na determinação.
[00891] 14. O método da cláusula 13, em que os valores máximos e/ou os valores mínimos não são derivados em um caso em que o bloco vizinho esquerdo e o bloco vizinho acima estão indisponíveis.
[00892] 15. O método da cláusula 13, em que a determinação determina com base em um número de amostras vizinhas disponíveis do bloco de vídeo atual, e em que as amostras vizinhas disponíveis são usadas para derivar os parâmetros do modelo linear de componente cruzado.
[00893] 16. O método da cláusula 15, em que os valores máximos e/ou os valores mínimos não são derivados em um caso de numSampL == 0 e numSampT == 0, o numSampL e o numSampT indicando um número de amostras vizinhas disponíveis do bloco vizinho esquerdo e um número de amostras vizinhas disponíveis do bloco vizinho acima, respectivamente, e em que as amostras vizinhas disponíveis do bloco vizinho esquerdo e as amostras vizinhas disponíveis do bloco vizinho acima são usadas para derivar os parâmetros do modelo linear de componente cruzado.
[00894] 17. O método da cláusula 15, em que os valores máximos e/ou os valores mínimos não são derivados em um caso de numSampL + numSampT == 0, o numSampL e o numSampT indicando um número de amostras vizinhas disponíveis do bloco vizinho esquerdo e um número de amostras vizinhas disponíveis do bloco vizinho acima, respectivamente, e em que as amostras vizinhas disponíveis do bloco vizinho esquerdo e as amostras vizinhas disponíveis do bloco vizinho acima são usadas para derivar os
152 / 162 parâmetros do modelo linear de componente cruzado.
[00895] 18. O método de qualquer uma das cláusulas 1-17, em que a realização da conversão inclui gerar a representação codificada a partir do bloco atual.
[00896] 19. O método de qualquer uma das cláusulas 1-17, em que a realização da conversão inclui gerar o bloco atual a partir da representação codificada.
[00897] 20. Um aparelho em um sistema de vídeo compreendendo um processador e uma memória não transitória com instruções na mesma, em que as instruções, mediante a execução pelo processador, fazem com que o processador implemente o método em qualquer uma das cláusulas 1 a 19.
[00898] 21. Um produto de programa de computador armazenado em uma mídia legível por computador não transitória, o produto de programa de computador incluindo código de programa para realizar o método em qualquer uma das cláusulas 1 a 19.
[00899] O décimo segundo conjunto de cláusulas descreve certos recursos e aspectos das técnicas descritas listadas na seção prévia, incluindo, por exemplo, Exemplo 23.
[00900] 1. Um método para processamento de vídeo, compreendendo: determinar, para uma conversão entre um bloco de vídeo atual de um vídeo e uma representação codificada do vídeo, parâmetros de uma ferramenta de codificação usando um modelo linear com base em amostras vizinhas selecionadas do bloco de vídeo atual e correspondentes amostras vizinhas de um bloco de referência; e realizar a conversão com base na determinação.
[00901] 2. O método da cláusula 1, em que a ferramenta de codificação é uma ferramenta de compensação de iluminação local (LIC) que inclui usar um modelo linear de mudanças de iluminação no bloco de vídeo atual durante a conversão.
[00902] 3. O método da cláusula 2, em que as amostras vizinhas do
153 / 162 bloco de vídeo atual e as amostras vizinhas do bloco de referência são selecionadas com base em uma regra de posição.
[00903] 4. O método da cláusula 2, em que os parâmetros da ferramenta de codificação são determinados com base em valores máximo e mínimo das amostras vizinhas do bloco de vídeo atual e das amostras vizinhas do bloco de referência.
[00904] 5. O método da cláusula 2, em que os parâmetros da ferramenta de codificação são determinados usando uma tabela de parâmetro cujas entradas são recuperadas de acordo com duas amostras vizinhas do bloco de vídeo atual e duas amostras vizinhas do bloco de referência.
[00905] 6. O método da cláusula 2, em que as amostras vizinhas do bloco de vídeo atual e as amostras vizinhas do bloco de referência são descendentemente amostradas para derivar os parâmetros da ferramenta de codificação.
[00906] 7. O método da cláusula 2, em que as amostras vizinhas usadas para derivar parâmetros da ferramenta LIC excluem amostras em certas posições em uma linha acima e/ou uma coluna à esquerda do bloco de vídeo atual.
[00907] 8. O método da cláusula 2, em que uma amostra no topo-à esquerda do bloco de vídeo atual tem coordenadas com (x0, y0), uma amostra com coordenadas (x0, y0-1) não é usada para derivar parâmetros da ferramenta LIC.
[00908] 9. O método da cláusula 2, em que uma amostra no topo-à esquerda do bloco de vídeo atual tem coordenadas com (x0, y0), uma amostra com coordenadas (x0-1, y0) não é usada para derivar parâmetros da ferramenta LIC.
[00909] 10. O método da cláusula 7, em que as certas posições dependem de uma disponibilidade da linha acima e/ou da coluna à esquerda.
[00910] 11. O método da cláusula 7, em que as certas posições
154 / 162 dependem de uma dimensão de bloco do bloco de vídeo atual.
[00911] 12. O método da cláusula 1, em que a determinação depende de uma disponibilidade da linha acima e/ou da coluna à esquerda.
[00912] 13. O método da cláusula 2, em que N amostras vizinhas do bloco de vídeo atual e N amostras vizinhas do bloco de referência são usadas para derivar os parâmetros da ferramenta LIC.
[00913] 14. O método da cláusula 13, em que N é 4.
[00914] 15. O método da cláusula 13, em que N amostras vizinhas do bloco de vídeo atual incluem N/2 amostras a partir de uma linha acima do bloco de vídeo atual e N/2 amostras a partir de uma coluna à esquerda do bloco de vídeo atual.
[00915] 16. O método da cláusula 13, em que N é igual a min (L, T), T sendo um número total de amostras vizinhas disponíveis do bloco de vídeo atual e L sendo um número inteiro.
[00916] 17. O método da cláusula 13, em que as N amostras vizinhas são selecionadas com base em uma mesma regra que é aplicável para selecionar amostras para derivar parâmetros do CCLM.
[00917] 18. O método da cláusula 13, em que N amostras vizinhas são selecionadas com base em uma mesma regra que é aplicável para selecionar amostras para derivar parâmetros de um primeiro modo do CCLM que usa amostras vizinhas acima apenas.
[00918] 19. O método da cláusula 13, em que N amostras vizinhas são selecionadas com base em uma mesma regra que é aplicável para selecionar amostras para derivar parâmetros de um segundo modo do CCLM que usa amostras vizinhas à esquerda apenas.
[00919] 20. O método da cláusula 13, em que as N amostras vizinhas do bloco de vídeo atual são selecionadas com base nas disponibilidades de uma linha acima ou uma coluna à esquerda do bloco de vídeo atual
[00920] 21. Um método para processamento de vídeo, compreendendo:
155 / 162 determinar, para uma conversão entre um bloco de vídeo atual de um vídeo e uma representação codificada do vídeo, parâmetros de uma ferramenta de compensação de iluminação local (LIC) com base em N amostras vizinhas do bloco de vídeo atual e N amostras vizinhas correspondentes de um bloco de referência, em que as N amostras vizinhas do bloco de vídeo atual são selecionadas com base nas posições das N amostras vizinhas; e realizar a conversão com base na determinação, em que a ferramenta LIC usa um modelo linear de mudanças de iluminação no bloco de vídeo atual durante a conversão.
[00921] 22. O método da cláusula 21, em que as N amostras vizinhas do bloco de vídeo atual são selecionadas com base em uma largura e uma altura do bloco de vídeo atual.
[00922] 23. O método da cláusula 21, em que as N amostras vizinhas do bloco de vídeo atual são selecionadas com base nas disponibilidades de blocos vizinhos do bloco de vídeo atual.
[00923] 24. O método de acordo com a reivindicação 21, em que as N amostras vizinhas do bloco de vídeo atual são selecionadas com um primeiro valor de deslocamento da posição (F) e um valor de passo (S) que dependem de uma dimensão do bloco de vídeo atual e disponibilidades de blocos vizinhos.
[00924] 25. O método de qualquer uma das cláusulas 1-24, em que o bloco de vídeo atual é codificado por afinidade.
[00925] 26. Um método para processamento de vídeo, compreendendo: determinar, para uma conversão entre um bloco de vídeo atual de um vídeo que é um bloco de croma e uma representação codificada do vídeo, parâmetros de um modelo linear de componente cruzado (CCLM) com base em amostras de croma e correspondentes amostras de luma; e realizar a conversão com base na determinação, em que algumas das amostras de croma são obtidas por uma operação de enchimento e as amostras de croma e as
156 / 162 correspondentes amostras de luma são agrupadas em dois arranjos G0 e G1, cada arranjo incluindo duas amostras de croma e correspondentes amostras de luma.
[00926] 27. O método da cláusula 26, em que, em um caso em que uma soma de cntT e cntL é igual a 2, seguintes operações são realizadas em uma ordem: i) pSelComp[ 3 ] é definido igual a pSelComp[ 0 ], ii) pSelComp[ 2 ] é definido igual a pSelComp[ 1 ], iii) pSelComp[ 0 ] é definido igual a pSelComp[ 1 ], e iv) pSelComp[ 1 ] é definido igual a pSelComp[ 3 ], em que cntT e cntL indicam o número de amostras selecionadas a partir de um bloco vizinho acima e um bloco vizinho à esquerda, respectivamente, e em que pSelComp[0] a pSelComp[3] indicam valores de pixel dos componentes de cor das correspondentes amostras que são selecionadas.
[00927] 28. O método da cláusula 26, em que a determinação dos parâmetros inclui inicializar valores de G0[0], G0[1], G1[0], e G1[1].
[00928] 29. O método da cláusula 28, em que G0[0] = 0, G0[1] = 2, G1[0] = 1, e G1[1] = 3.
[00929] 30. O método da cláusula 28, em que a determinação dos parâmetros inclui adicionalmente, depois da inicialização dos valores, mediante uma comparação de dois valores da amostra de luma de G0[0] e G0[1], sobrecarga de uma amostra de croma e sua correspondente amostra de luma de G0[0] com aquelas de G0[1].
[00930] 31. O método da cláusula 30, em que uma amostra de croma e sua correspondente amostra de luma de G0[0] são sobrecarregadas com aquelas de G0[1] em um caso em que um valor da amostra de luma de G0[0] é maior do que um valor da amostra de luma de G0[1].
[00931] 32. O método da cláusula 28, em que a determinação dos parâmetros inclui adicionalmente, depois da inicialização dos valores, mediante uma comparação de dois valores da amostra de luma de G1[0] e G1[1], sobrecarga de uma amostra de croma e sua correspondente amostra de
157 / 162 luma de G1[0] com aquelas de G1[1].
[00932] 33. O método da cláusula 32, em que uma amostra de croma e sua correspondente amostra de luma de G1[0] são sobrecarregadas com aquelas de G1[1] em um caso em que um valor da amostra de luma de G1[0] for maior do que um valor da amostra de luma de G1[1].
[00933] 34. O método da cláusula 28, em que a determinação dos parâmetros inclui adicionalmente, depois da inicialização dos valores, mediante uma comparação de dois valores da amostra de luma de G0[0] e G1[1], sobrecarga amostras de croma e suas correspondentes amostras de luma de G0[0] ou G0[1] com aquelas de G1[0] ou G1[1].
[00934] 35. O método da cláusula 34, em que amostras de croma e suas correspondentes amostras de luma de G0[0] ou G0[1] são sobrecarregadas com aquelas de G1[0] ou G1[1] em um caso em que um valor da amostra de luma de G0[0] é maior do que um valor da amostra de luma de G1[1].
[00935] 36. O método da cláusula 28, em que a determinação dos parâmetros inclui adicionalmente, depois da inicialização dos valores, mediante uma comparação de dois valores da amostra de luma de G0[1] e G1[0], sobrecarga de uma amostra de croma e sua correspondente amostra de luma de G0[1] com aquelas de G1[0].
[00936] 37. O método da cláusula 36, em que uma amostra de croma e sua correspondente amostra de luma de G0[1] são sobrecarregadas com aquelas de G1[0] em um caso em que um valor da amostra de luma de G0[1] é maior do que um valor da amostra de luma de G1[0].
[00937] 38. O método da cláusula 28, em que a determinação dos parâmetros inclui adicionalmente, depois da inicialização dos valores, mediante uma comparação de dois valores da amostra de luma de G0[0], G0[1], G1[0], e G1[1], realizar seguintes operações de sobrecarga em uma ordem: i) uma operação de sobrecarga da amostra de croma e sua correspondente amostra de luma de G0[0] com aquelas de G0[1], ii) uma
158 / 162 operação de sobrecarga da amostra de croma e sua correspondente amostra de luma de G1[0] com aquelas de G1[1], iii) uma operação de sobrecarga de amostras de croma e suas correspondentes amostras de luma de G0[0] ou G0[1] com aquelas de G1[0] ou G1[1], e iv) uma operação de sobrecarga de uma amostra de croma e sua correspondente amostra de luma de G0[1] com aquelas de G1[0].
[00938] 39. O método de qualquer uma das cláusulas 1-38, em que a realização da conversão inclui gerar a representação codificada a partir do bloco atual.
[00939] 40. O método de qualquer uma das cláusulas 1-38, em que a realização da conversão inclui gerar o bloco atual a partir da representação codificada.
[00940] 41. Um aparelho em um sistema de vídeo compreendendo um processador e uma memória não transitória com instruções na mesma, em que as instruções, mediante a execução pelo processador, fazem com que o processador implemente o método em qualquer uma das cláusulas 1 a 40.
[00941] 42. Um produto de programa de computador armazenado em uma mídia legível por computador não transitória, o produto de programa de computador incluindo código de programa para realizar o método em qualquer uma das cláusulas 1 a 40.
[00942] A partir do exposto, será percebido que modalidades específicas da tecnologia atualmente descrita foram aqui descritas com propósitos de ilustração, mas que várias modificações podem ser feitas sem desviar do escopo da invenção. Desta maneira, a tecnologia atualmente descrita não é limitada, exceto pelas reivindicações anexas.
[00943] Implementações da matéria e das operações funcionais descritas neste documento de patente podem ser implementadas em vários sistemas, conjunto de circuitos eletrônico digital, ou em software de computador, software embarcado, ou hardware, incluindo as estruturas
159 / 162 descritas nesta especificação e seus equivalentes estruturais, ou em combinações de um ou mais de dos mesmos. Implementações da matéria descrita nesta especificação podem ser implementadas como um ou mais produtos de programa de computador, isto é, um ou mais módulos de instruções de programa de computador codificadas em uma mídia legível por computador tangível e não transitória para execução pelo, ou para controlar a operação do, aparelho de processamento de dados. A mídia 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 da matéria que efetua um sinal propagado legível por máquina, ou uma combinação de um ou mais dos mesmos. O termo “unidade de processamento de dados” ou “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, código que cria um ambiente de execução para o programa de computador em questão, por exemplo, código que constitui software embarcado de processador, uma pilha de protocolo, um sistema de gerenciamento de base de dados, um sistema operacional, ou uma combinação de um ou mais dos mesmos.
[00944] Um programa de computador (também conhecido como um programa, software, aplicação em software, script ou código) pode ser gravado em qualquer forma de linguagem de programação, incluindo linguagens compiladas ou interpretadas, e o mesmo pode ser implementado 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 necessariamente corresponde a um arquivo em um sistema de arquivos. Um programa pode ser armazenado em uma parte de um arquivo que contém outros programas ou
160 / 162 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 partes de código). Um programa de computador pode ser implementado para ser executado em um computador ou em múltiplos computadores que ficam localizados em um local ou são distribuídos através de múltiplos locais e interconectados por uma rede de comunicação.
[00945] Os processos e fluxos lógicos descritos nesta especificação podem ser realizados por um ou mais processadores programáveis que executam um ou mais programas de computador para realizar funções pela operação nos dados de entrada e gerar saída. Os processos e fluxos lógicos também podem ser realizados pelo, e o aparelho também pode ser implementado como, conjunto de circuitos lógico de propósito especial, por exemplo, um FPGA (arranjo de portas programável no campo) ou um ASIC (circuito integrado específico de aplicação).
[00946] Os processadores adequados para a execução de um programa de computador incluem, a título de exemplo, microprocessadores de propósito tanto geral quanto especial, e qualquer um ou mais processadores de qualquer tipo de computador digital. No geral, um processador irá receber instruções e dados a partir de uma memória exclusiva de leitura ou uma memória de acesso aleatório ou de ambas. Os elementos essenciais de um computador são um processador para realizar instruções e um ou mais dispositivos de memória para armazenar instruções e dados. No geral, um computador também irá incluir, ou ser operativamente acoplado para receber dados a partir de ou transferir dados para, ou ambos, um ou mais dispositivos de armazenamento em massa para armazenar dados, por exemplo, discos magnéticos, discos magneto ópticos, ou discos ópticos. Entretanto, um computador não precisa ter tais dispositivos. A mídia legível por computador
161 / 162 adequada para armazenar instruções de programa de computador e dados 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 semicondutora, por exemplo, EPROM, EEPROM, e dispositivos de memória flash. O processador e a memória podem ser complementados pelo, ou incorporados no, conjunto de circuitos lógico de propósito especial.
[00947] Pretende-se que a especificação, juntamente com os desenhos, seja considerada exemplar apenas, em que exemplar significa um exemplo. Da forma aqui usada, pretende-se que o uso de “ou” inclua “e/ou”, a menos que o contexto claramente indique de outra forma.
[00948] Embora este documento de patente contenha muitas especificidades, as mesmas não devem ser interpretadas como limitações no escopo de qualquer invenção ou do que pode ser reivindicado, mas, em vez disto, como descrições das características que podem ser específicas de modalidades em particular de invenções em particular. Certas características que são descritas neste documento de patente no contexto de modalidades separadas também podem ser implementadas em combinação em uma única modalidade. Inversamente, várias características que são descritas no contexto de uma única modalidade também podem ser implementadas em múltiplas modalidades separadamente ou em qualquer subcombinação adequada. Além do mais, embora características possam ser supradescritas como agindo em certas combinações e até mesmo inicialmente reivindicadas como tal, uma ou mais características de uma combinação reivindicada podem, em alguns casos, ser removidas da combinação, e a combinação reivindicada pode ser direcionada para uma subcombinação ou uma variação de uma subcombinação.
[00949] Similarmente, embora as operações sejam representadas nos desenhos em uma ordem em particular, isto não deve ser entendido como exigindo que tais operações sejam realizadas na ordem em particular mostrada
162 / 162 ou em ordem sequencial, ou que todas as operações ilustradas sejam realizadas, para alcançar resultados desejáveis. Além do mais, a separação de vários componentes do sistema nas modalidades descritas neste documento de patente não deve ser entendida como exigindo tal separação em todas as modalidades.
[00950] Apenas umas poucas implementações e exemplos são descritos e outras implementações, intensificações e variações podem ser feitas com base no que é descrito e ilustrado neste documento de patente.

Claims (23)

REIVINDICAÇÕES
1. Método para codificar vídeo, caracterizado pelo fato de que compreende: determinar, para uma conversão entre um bloco de vídeo atual de um vídeo que é um bloco de croma e um fluxo de bits do vídeo, parâmetros de um modelo linear de componente cruzado (CCLM) pelo menos com base em duas ou mais amostras de croma de amostras de croma vizinhas do bloco de vídeo atual, em que as duas ou mais amostras de croma são selecionadas com base em um modo CCLM do bloco de vídeo atual e disponibilidades das amostras de croma vizinhas; aplicar o CCLM em amostras de luma localizadas em um bloco de luma correspondente ao bloco de vídeo atual para derivar valores de previsão do bloco de vídeo atual; e realizar a conversão com base nos valores de previsão.
2. Método de acordo com a reivindicação 1, caracterizado pelo fato de que as amostras de croma vizinhas incluem amostras de croma vizinhas à esquerda, amostras de croma vizinhas acima, amostras de croma vizinhas acima à direita ou amostras de croma vizinhas abaixo à esquerda em relação ao bloco de vídeo atual.
3. Método de acordo com a reivindicação 1 ou 2, caracterizado pelo fato de que o modo CCLM do bloco de vídeo atual é um de um primeiro modo CCLM que deriva os parâmetros de CCLM com base nas amostras de croma vizinhas à esquerda e amostras de croma vizinhas acima, um segundo modo CCLM que deriva os parâmetros de CCLM com base nas amostras de croma vizinhas à esquerda e amostras vizinhas abaixo à esquerda, e um terceiro modo CCLM que deriva os parâmetros de CCLM com base nas amostras de croma vizinhas acima e amostra de croma vizinha acima à direita, em que uma largura e uma altura do bloco de vídeo atual é W e H, respectivamente.
4. Método de acordo com qualquer uma das reivindicações 1 a 3, caracterizado pelo fato de que as duas ou mais amostras de croma são selecionadas adicionalmente com base na W e/ou na H.
5. Método de acordo com qualquer uma das reivindicações 1 a 4, caracterizado pelo fato de que duas amostras de croma são selecionadas a partir de amostras de croma vizinhas à esquerda e as outras duas amostras de croma são selecionadas a partir de amostras de croma vizinhas acima em resposta a ambas as amostras de croma vizinhas à esquerda e as amostras de croma vizinhas acima sendo disponíveis e o modo CCLM do bloco de vídeo atual sendo o primeiro modo CCLM.
6. Método de acordo com qualquer uma das reivindicações 1 a 4, caracterizado pelo fato de que, exatamente, duas amostras de croma são selecionadas a partir das amostras de croma vizinhas acima em resposta somente às amostras de croma vizinhas acima sendo disponíveis, o modo CCLM do bloco de vídeo atual sendo o primeiro modo CCLM e a W sendo igual a 2.
7. Método de acordo com qualquer uma das reivindicações 1 a 4, caracterizado pelo fato de que, exatamente, duas amostras de croma são selecionadas a partir das amostras de croma vizinhas à esquerda em resposta somente às amostras de croma vizinhas à esquerda sendo disponíveis, o modo CCLM do bloco de vídeo atual sendo o primeiro modo CCLM e a H sendo igual a 2.
8. Método de acordo com qualquer uma das reivindicações 1 a 4, caracterizado pelo fato de que, exatamente, quatro amostras de croma são selecionadas a partir das amostras de croma vizinhas acima em resposta somente às amostras de croma vizinhas acima sendo disponíveis, o modo CCLM do bloco de vídeo atual sendo o primeiro modo CCLM e a W sendo maior que 2.
9. Método de acordo com qualquer uma das reivindicações 1 a 4, caracterizado pelo fato de que, exatamente, quatro amostras de croma são selecionadas a partir das amostras de croma vizinhas à esquerda em resposta somente às amostras de croma vizinhas à esquerda sendo disponíveis, o modo CCLM do bloco de vídeo atual sendo o primeiro modo CCLM e a H sendo maior que 2.
10. Método de acordo com qualquer uma das reivindicações 1 a 4, caracterizado pelo fato de que, exatamente, quatro amostras de croma são selecionadas a partir de amostras de croma vizinhas à esquerda e amostras de croma vizinhas abaixo à esquerda em resposta a ambas as amostras de croma vizinhas à esquerda e as amostras de croma vizinhas abaixo à esquerda sendo disponíveis, e o modo CCLM do bloco de vídeo atual sendo o segundo modo CCLM.
11. Método de acordo com qualquer uma das reivindicações 1 a 4, caracterizado pelo fato de que, exatamente, duas amostras de croma são selecionadas a partir das amostras de croma vizinhas à esquerda em resposta somente às amostras de croma vizinhas à esquerda sendo disponíveis, o modo CCLM do bloco de vídeo atual sendo o segundo modo CCLM e a H sendo igual a 2.
12. Método de acordo com qualquer uma das reivindicações 1 a 4, caracterizado pelo fato de que, exatamente, quatro amostras de croma são selecionadas a partir das amostras de croma vizinhas à esquerda em resposta somente às amostras de croma vizinhas à esquerda sendo disponíveis, o modo CCLM do bloco de vídeo atual sendo o segundo modo CCLM e a H sendo maior que 2.
13. Método de acordo com qualquer uma das reivindicações 1 a 4, caracterizado pelo fato de que, exatamente, quatro amostras de croma são selecionadas a partir de amostras de croma vizinhas acima e amostras de croma vizinhas acima à direita em resposta a ambas as amostras de croma vizinhas acima e as amostras de croma vizinhas acima à direita sendo disponíveis, e o modo CCLM do bloco de vídeo atual sendo o terceiro modo CCLM.
14. Método de acordo com qualquer uma das reivindicações 1 a 4, caracterizado pelo fato de que, exatamente, duas amostras de croma são selecionadas a partir das amostras de croma vizinhas acima em resposta somente às amostras de croma vizinhas acima sendo disponíveis, o modo CCLM do bloco de vídeo atual sendo o terceiro modo CCLM e a W sendo igual a 2.
15. Método de acordo com qualquer uma das reivindicações 1 a 4, caracterizado pelo fato de que, exatamente, quatro amostras de croma são selecionadas a partir das amostras de croma vizinhas acima em resposta somente às amostras de croma vizinhas acima sendo disponíveis, o modo CCLM do bloco de vídeo atual sendo o terceiro modo CCLM e a W sendo maior que 2.
16. Método de acordo com qualquer uma das reivindicações 1 a 15, caracterizado pelo fato de que compreende adicionalmente determinar duas ou mais amostras de luma correspondendo a duas ou mais amostras de croma.
17. Método de acordo com a reivindicação 16, caracterizado pelo fato de que em resposta a quatro amostras de luma determinadas, dois valores máximos das quatro amostras de luma têm a média calculada para derivar um primeiro valor médio de luma e dois valores mínimos das quatro amostras de luma têm a média calculada para derivar um segundo valor médio de luma, respectivamente.
18. Método de acordo com a reivindicação 17, caracterizado pelo fato de que o primeiro valor médio de luma e o segundo valor médio de luma são usados para derivar os parâmetros de CCLM.
19. Método de acordo com qualquer uma das reivindicações 1 a 18, caracterizado pelo fato de que a realização da conversão inclui decodificar o bloco de vídeo atual do fluxo de bits.
20. Método de acordo com qualquer uma das reivindicações 1 a 18, caracterizado pelo fato de que a realização da conversão inclui codificar o bloco atual no fluxo de bits.
21. Aparelho para codificar vídeo, caracterizado pelo fato de que compreende um processador e uma memória não transitória com instruções na mesma, em que as instruções mediante execução pelo processador, fazem o processador: determinar, para uma conversão entre um bloco de vídeo atual de um vídeo que é um bloco de croma e um fluxo de bits do vídeo, parâmetros de um modelo linear de componente cruzado (CCLM) pelo menos com base em duas ou mais amostras de croma de amostras de croma vizinhas do bloco de vídeo atual, em que as duas ou mais amostras de croma são selecionadas com base em um modo CCLM do bloco de vídeo atual e disponibilidades das amostras de croma vizinhas; aplicar o CCLM em amostras de luma localizadas em um bloco de luma correspondente ao bloco de vídeo atual para derivar valores de previsão do bloco de vídeo atual; e realizar a conversão com base nos valores de previsão.
22. Meio de armazenamento legível por computador não transitório, caracterizado pelo fato de que armazena instruções que fazem o processador: determinar, para uma conversão entre um bloco de vídeo atual de um vídeo que é um bloco de croma e um fluxo de bits do vídeo, parâmetros de um modelo linear de componente cruzado (CCLM) pelo menos com base em duas ou mais amostras de croma de amostras de croma vizinhas do bloco de vídeo atual, em que as duas ou mais amostras de croma são selecionadas com base em um modo CCLM do bloco de vídeo atual e disponibilidades das amostras de croma vizinhas;
aplicar o CCLM em amostras de luma localizadas em um bloco de luma correspondente ao bloco de vídeo atual para derivar valores de previsão do bloco de vídeo atual; e realizar a conversão com base nos valores de previsão.
23. Meio de gravação legível por computador não transitório, caracterizado pelo fato de que armazena um fluxo de bits de um vídeo que é gerado por um método realizado por um aparelho de processamento de vídeo, em que o método compreende: determinar, que os parâmetros de um modelo linear de componente cruzado (CCLM) pelo menos com base em duas ou mais amostras de croma de amostras de croma vizinhas de um bloco de vídeo atual do vídeo, em que as duas ou mais amostras de croma são selecionadas com base em um modo CCLM do bloco de vídeo atual e disponibilidades das amostras de croma vizinhas; aplicar o CCLM em amostras de luma localizadas em um bloco de luma correspondente ao bloco de vídeo atual para derivar valores de previsão do bloco de vídeo atual; e gerar o fluxo de bits com base nos valores de previsão.
BR112021010428-3A 2018-12-07 2019-12-05 Método para processamento de vídeo, aparelho em um sistema de vídeo, e, produto de programa de computador BR112021010428A2 (pt)

Applications Claiming Priority (19)

Application Number Priority Date Filing Date Title
CNPCT/CN2018/119709 2018-12-07
CN2018119709 2018-12-07
CN2018125412 2018-12-29
CNPCT/CN2018/125412 2018-12-29
CN2019070002 2019-01-01
CNPCT/CN2019/070002 2019-01-01
CNPCT/CN2019/075874 2019-02-22
CN2019075874 2019-02-22
CN2019075993 2019-02-24
CNPCT/CN2019/075993 2019-02-24
CNPCT/CN2019/076195 2019-02-26
CN2019076195 2019-02-26
CNPCT/CN2019/079396 2019-03-24
CN2019079396 2019-03-24
CN2019079431 2019-03-25
CNPCT/CN2019/079431 2019-03-25
CN2019079769 2019-03-26
CNPCT/CN2019/079769 2019-03-26
PCT/CN2019/123229 WO2020114445A1 (en) 2018-12-07 2019-12-05 Context-based intra prediction

Publications (1)

Publication Number Publication Date
BR112021010428A2 true BR112021010428A2 (pt) 2021-08-24

Family

ID=70974944

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112021010428-3A BR112021010428A2 (pt) 2018-12-07 2019-12-05 Método para processamento de vídeo, aparelho em um sistema de vídeo, e, produto de programa de computador

Country Status (12)

Country Link
US (2) US11057642B2 (pt)
EP (1) EP3871415A4 (pt)
JP (2) JP7317965B2 (pt)
KR (1) KR20230170146A (pt)
CN (2) CN113170168B (pt)
AU (1) AU2019391197B2 (pt)
BR (1) BR112021010428A2 (pt)
CA (1) CA3121671A1 (pt)
MX (1) MX2021006254A (pt)
SG (1) SG11202105759QA (pt)
WO (1) WO2020114445A1 (pt)
ZA (1) ZA202103763B (pt)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2571313B (en) * 2018-02-23 2022-09-21 Canon Kk New sample sets and new down-sampling schemes for linear component sample prediction
TWI820168B (zh) 2018-07-15 2023-11-01 大陸商北京字節跳動網絡技術有限公司 跨分量編碼資訊導出
DK3815377T3 (da) * 2018-07-16 2023-04-03 Huawei Tech Co Ltd Videokoder, videoafkoder og tilsvarende kodnings- og afkodningsfremgangsmåder
TWI814890B (zh) 2018-08-17 2023-09-11 大陸商北京字節跳動網絡技術有限公司 簡化的跨分量預測
CN110896478B (zh) 2018-09-12 2023-02-17 北京字节跳动网络技术有限公司 交叉分量线性建模中的下采样
WO2020084475A1 (en) 2018-10-22 2020-04-30 Beijing Bytedance Network Technology Co., Ltd. Utilization of refined motion vector
CN112997492B (zh) 2018-11-06 2024-02-20 北京字节跳动网络技术有限公司 帧内预测的简化参数推导
EP3857893A4 (en) 2018-11-12 2022-05-11 Beijing Bytedance Network Technology Co., Ltd. BANDWIDTH CONTROL METHODS FOR INTER-PREDICTION
CN117319644A (zh) 2018-11-20 2023-12-29 北京字节跳动网络技术有限公司 基于部分位置的差计算
CN113170122B (zh) 2018-12-01 2023-06-27 北京字节跳动网络技术有限公司 帧内预测的参数推导
BR112021010428A2 (pt) 2018-12-07 2021-08-24 Beijing Bytedance Network Technology Co., Ltd. Método para processamento de vídeo, aparelho em um sistema de vídeo, e, produto de programa de computador
US20220078453A1 (en) * 2018-12-21 2022-03-10 Samsung Electronics Co., Ltd. Encoding method and device thereof, and decoding method and device thereof
WO2020125795A1 (en) 2018-12-22 2020-06-25 Beijing Bytedance Network Technology Co., Ltd. Indication of two step cross-component prediction mode
WO2020140214A1 (zh) * 2019-01-02 2020-07-09 Oppo广东移动通信有限公司 解码预测方法、装置及计算机存储介质
WO2020169101A1 (en) 2019-02-22 2020-08-27 Beijing Bytedance Network Technology Co., Ltd. Neighbouring sample selection for intra prediction
CN113491121B (zh) 2019-02-24 2022-12-06 北京字节跳动网络技术有限公司 对视频数据进行编解码的方法、设备及计算机可读介质
JP2022521554A (ja) 2019-03-06 2022-04-08 北京字節跳動網絡技術有限公司 変換された片予測候補の利用
EP3912343A4 (en) 2019-03-08 2022-07-20 Beijing Bytedance Network Technology Co., Ltd. LIMITATIONS OF MODEL-BASED TRANSFORMING IN VIDEO PROCESSING
MX2021010917A (es) * 2019-03-11 2021-11-12 Fraunhofer Ges Forschung Codificador y decodificador, metodo de codificacion y metodo de decodificacion con opciones de codificacion dependientes del perfil y nivel.
WO2020192642A1 (en) 2019-03-24 2020-10-01 Beijing Bytedance Network Technology Co., Ltd. Conditions in parameter derivation for intra prediction
KR20210154150A (ko) 2019-04-18 2021-12-20 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 크로스 성분 모드에서의 파라미터 도출
SG11202110999PA (en) 2019-04-23 2021-11-29 Beijing Bytedance Network Technology Co Ltd Methods for cross component dependency reduction
KR102641796B1 (ko) 2019-05-08 2024-03-04 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 교차-성분 코딩의 적용가능성에 대한 조건들
WO2020259427A1 (en) 2019-06-22 2020-12-30 Beijing Bytedance Network Technology Co., Ltd. Syntax element for chroma residual scaling
WO2021004445A1 (en) 2019-07-07 2021-01-14 Beijing Bytedance Network Technology Co., Ltd. Signaling of chroma residual scaling
WO2021083259A1 (en) 2019-10-29 2021-05-06 Beijing Bytedance Network Technology Co., Ltd. Signaling of cross-component adaptive loop filter
EP4070544A4 (en) 2019-12-11 2023-03-01 Beijing Bytedance Network Technology Co., Ltd. SAMPLE FILLING FOR ADAPTIVE LOOP FILTERING BETWEEN COMPONENTS
WO2021136498A1 (en) 2019-12-31 2021-07-08 Beijing Bytedance Network Technology Co., Ltd. Multiple reference line chroma prediction
CN116325728A (zh) 2020-06-30 2023-06-23 抖音视界有限公司 自适应环路滤波的边界位置
WO2023084155A1 (en) * 2021-11-15 2023-05-19 Nokia Technologies Oy An apparatus, a method and a computer program for video coding and decoding
US20230247203A1 (en) * 2022-01-31 2023-08-03 Tencent America LLC Cross-component planar prediction in image and video compression
WO2024081291A1 (en) * 2022-10-12 2024-04-18 Beijing Dajia Internet Information Technology Co., Ltd Method and apparatus for cross-component prediction for video coding

Family Cites Families (103)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101138392B1 (ko) 2004-12-30 2012-04-26 삼성전자주식회사 색차 성분의 상관관계를 이용한 컬러 영상의 부호화,복호화 방법 및 그 장치
US20080089411A1 (en) 2006-10-16 2008-04-17 Nokia Corporation Multiple-hypothesis cross-layer prediction
JP2010135864A (ja) 2007-03-29 2010-06-17 Toshiba Corp 画像符号化方法及び装置並びに画像復号化方法及び装置
CN101877785A (zh) 2009-04-29 2010-11-03 祝志怡 一种基于混合预测的视频编码方法
US9288500B2 (en) 2011-05-12 2016-03-15 Texas Instruments Incorporated Luma-based chroma intra-prediction for video coding
JP2013034163A (ja) * 2011-06-03 2013-02-14 Sony Corp 画像処理装置及び画像処理方法
US9693070B2 (en) 2011-06-24 2017-06-27 Texas Instruments Incorporated Luma-based chroma intra-prediction for video coding
AU2012277160B2 (en) 2011-06-27 2016-12-15 Sun Patent Trust Image encoding method, image decoding method, image encoding device, image decoding device, and image encoding/decoding device
KR101756843B1 (ko) 2011-06-28 2017-07-11 삼성전자주식회사 휘도 성분 영상을 이용한 색차 성분 영상의 예측 방법 및 예측 장치
CA2837537C (en) 2011-06-30 2019-04-02 Panasonic Corporation Image decoding method, image coding method, image decoding apparatus, image coding apparatus, and image coding and decoding apparatus
JP2014525176A (ja) 2011-07-12 2014-09-25 インテル コーポレイション 輝度に基づく色度イントラ予測
GB2495942B (en) 2011-10-25 2014-09-03 Canon Kk Method and apparatus for processing components of an image
CN103096055B (zh) 2011-11-04 2016-03-30 华为技术有限公司 一种图像信号帧内预测及解码的方法和装置
US9344722B2 (en) 2011-11-18 2016-05-17 Futurewei Technologies, Inc. Scanning of prediction residuals in high efficiency video coding
WO2013102293A1 (en) 2012-01-04 2013-07-11 Mediatek Singapore Pte. Ltd. Improvements of luma-based chroma intra prediction
WO2013109898A1 (en) 2012-01-19 2013-07-25 Futurewei Technologies, Inc. Reference pixel reduction for intra lm prediction
CN103379321B (zh) 2012-04-16 2017-02-01 华为技术有限公司 视频图像分量的预测方法和装置
WO2013155662A1 (en) 2012-04-16 2013-10-24 Mediatek Singapore Pte. Ltd. Methods and apparatuses of simplification for intra chroma lm mode
CN103916673B (zh) 2013-01-06 2017-12-22 华为技术有限公司 基于双向预测的编码方法、解码方法和装置
EP2920964B1 (en) 2013-03-26 2018-05-09 MediaTek Inc. Method of cross color intra prediction
US10003815B2 (en) 2013-06-03 2018-06-19 Qualcomm Incorporated Hypothetical reference decoder model and conformance for cross-layer random access skipped pictures
WO2015054307A2 (en) 2013-10-07 2015-04-16 Vid Scale, Inc. Combined scalability processing for multi-layer video coding
RU2017101574A (ru) 2014-06-19 2018-07-19 Вид Скейл, Инк. Системы и способы для оптимизации параметра модели в основанном на трехмерном представлении отображении цветов
US10200700B2 (en) 2014-06-20 2019-02-05 Qualcomm Incorporated Cross-component prediction in video coding
US20170244975A1 (en) 2014-10-28 2017-08-24 Mediatek Singapore Pte. Ltd. Method of Guided Cross-Component Prediction for Video Coding
KR20170078683A (ko) 2014-11-05 2017-07-07 삼성전자주식회사 샘플 단위 예측 부호화 장치 및 방법
JP2018507591A (ja) 2014-12-31 2018-03-15 ノキア テクノロジーズ オサケユイチア スケーラブルなビデオ符号化および復号化のための層間予測
US10321140B2 (en) 2015-01-22 2019-06-11 Mediatek Singapore Pte. Ltd. Method of video coding for chroma components
WO2016115708A1 (en) 2015-01-22 2016-07-28 Mediatek Singapore Pte. Ltd. Methods for chroma component coding with separate intra prediction mode
CN107787582A (zh) 2015-06-10 2018-03-09 三星电子株式会社 使用用于自适应加权预测的语法信令对图像进行编码或解码的方法和设备
US10148977B2 (en) 2015-06-16 2018-12-04 Futurewei Technologies, Inc. Advanced coding techniques for high efficiency video coding (HEVC) screen content coding (SCC) extensions
JP2018524897A (ja) 2015-06-19 2018-08-30 ノキア テクノロジーズ オーユー ビデオの符号化・復号装置、方法、およびコンピュータプログラム
CN107836116B (zh) 2015-07-08 2021-08-06 交互数字麦迪逊专利控股公司 用于使用交叉平面滤波的增强色度编码的方法和装置
US20170016972A1 (en) 2015-07-13 2017-01-19 Siemens Medical Solutions Usa, Inc. Fast Prospective Motion Correction For MR Imaging
KR102432085B1 (ko) 2015-09-23 2022-08-11 노키아 테크놀로지스 오와이 360도 파노라마 비디오를 코딩하는 방법, 장치 및 컴퓨터 프로그램 제품
WO2017059926A1 (en) 2015-10-09 2017-04-13 Telefonaktiebolaget Lm Ericsson (Publ) Cross component prediction in video coding
US10200719B2 (en) * 2015-11-25 2019-02-05 Qualcomm Incorporated Modification of transform coefficients for non-square transform units in video coding
WO2017139937A1 (en) 2016-02-18 2017-08-24 Mediatek Singapore Pte. Ltd. Advanced linear model prediction for chroma coding
FI20165256A (fi) 2016-03-24 2017-09-25 Nokia Technologies Oy Laitteisto, menetelmä ja tietokoneohjelma videokoodaukseen ja -dekoodaukseen
CA3024900C (en) 2016-05-17 2021-02-16 Arris Enterprises Llc Template matching for jvet intra prediction
WO2017203882A1 (en) 2016-05-24 2017-11-30 Sharp Kabushiki Kaisha Systems and methods for intra prediction coding
CA3025340A1 (en) 2016-05-25 2017-11-30 Arris Enterprises Llc General block partitioning method
US10567808B2 (en) 2016-05-25 2020-02-18 Arris Enterprises Llc Binary ternary quad tree partitioning for JVET
US11146821B2 (en) 2016-05-25 2021-10-12 Arris Enterprises Llc JVET coding block structure with asymmetrical partitioning
US10523949B2 (en) 2016-05-25 2019-12-31 Arris Enterprises Llc Weighted angular prediction for intra coding
CA3025520A1 (en) 2016-05-25 2017-11-30 Arris Enterprises Llc Improved weighted angular prediction coding for intra coding
CN114979648B (zh) 2016-05-27 2024-02-13 松下电器(美国)知识产权公司 编码方法、解码方法、及编码和解码方法
US10484712B2 (en) 2016-06-08 2019-11-19 Qualcomm Incorporated Implicit coding of reference line index used in intra prediction
FI20165547A (fi) 2016-06-30 2017-12-31 Nokia Technologies Oy Laitteisto, menetelmä ja tietokoneohjelma videokoodausta ja videokoodauksen purkua varten
WO2018016381A1 (en) 2016-07-22 2018-01-25 Sharp Kabushiki Kaisha Systems and methods for coding video data using adaptive component scaling
WO2018021374A1 (ja) 2016-07-29 2018-02-01 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法及び復号方法
JPWO2018030292A1 (ja) 2016-08-10 2019-06-13 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 符号化装置、復号装置、符号化方法及び復号方法
WO2018030294A1 (ja) 2016-08-10 2018-02-15 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法及び復号方法
WO2018030293A1 (ja) 2016-08-10 2018-02-15 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法及び復号方法
US10368107B2 (en) 2016-08-15 2019-07-30 Qualcomm Incorporated Intra video coding using a decoupled tree structure
US10326986B2 (en) 2016-08-15 2019-06-18 Qualcomm Incorporated Intra video coding using a decoupled tree structure
US10390015B2 (en) 2016-08-26 2019-08-20 Qualcomm Incorporated Unification of parameters derivation procedures for local illumination compensation and cross-component linear model prediction
US10419757B2 (en) 2016-08-31 2019-09-17 Qualcomm Incorporated Cross-component filter
US10652575B2 (en) 2016-09-15 2020-05-12 Qualcomm Incorporated Linear model chroma intra prediction for video coding
US10382781B2 (en) 2016-09-28 2019-08-13 Qualcomm Incorporated Interpolation filters for intra prediction in video coding
GB2555788A (en) 2016-11-08 2018-05-16 Nokia Technologies Oy An apparatus, a method and a computer program for video coding and decoding
US10477240B2 (en) 2016-12-19 2019-11-12 Qualcomm Incorporated Linear model prediction mode with sample accessing for video coding
WO2018116925A1 (ja) 2016-12-21 2018-06-28 シャープ株式会社 イントラ予測画像生成装置、画像復号装置、および画像符号化装置
US10674165B2 (en) 2016-12-21 2020-06-02 Arris Enterprises Llc Constrained position dependent intra prediction combination (PDPC)
DE112017006657B4 (de) 2016-12-28 2021-03-11 Arris Enterprises Llc Adaptive planare Prädiktion mit ungleichen Gewichten
GB2574733B (en) 2016-12-28 2020-05-06 Arris Entpr Llc Improved video bitstream coding
US20180199062A1 (en) 2017-01-11 2018-07-12 Qualcomm Incorporated Intra prediction techniques for video coding
US11025903B2 (en) * 2017-01-13 2021-06-01 Qualcomm Incorporated Coding video data using derived chroma mode
US10694181B2 (en) 2017-01-27 2020-06-23 Qualcomm Incorporated Bilateral filters in video coding with reduced complexity
US10542264B2 (en) 2017-04-04 2020-01-21 Arris Enterprises Llc Memory reduction implementation for weighted angular prediction
US10939137B2 (en) 2017-04-28 2021-03-02 Sharp Kabushiki Kaisha Image decoding device and image encoding device
US10602180B2 (en) 2017-06-13 2020-03-24 Qualcomm Incorporated Motion vector prediction
WO2018236031A1 (ko) 2017-06-21 2018-12-27 엘지전자(주) 인트라 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
US11184636B2 (en) 2017-06-28 2021-11-23 Sharp Kabushiki Kaisha Video encoding device and video decoding device
CN117793380A (zh) 2017-06-29 2024-03-29 杜比实验室特许公司 整合的图像整形和视频编码
WO2019006363A1 (en) 2017-06-30 2019-01-03 Vid Scale, Inc. LOCAL LIGHTING COMPENSATION USING GENERALIZED BI-PREDICTION
CN116886899A (zh) 2017-07-05 2023-10-13 艾锐势有限责任公司 对视频编码、解码的方法和计算机可读存储器或存储装置
CN109274969B (zh) 2017-07-17 2020-12-22 华为技术有限公司 色度预测的方法和设备
WO2019023209A1 (en) 2017-07-24 2019-01-31 Arris Enterprises Llc INTRA MODE JVET CODING
JP7293189B2 (ja) 2017-07-24 2023-06-19 アリス エンタープライジズ エルエルシー イントラモードjvetコーディング
JP6994868B2 (ja) 2017-08-09 2022-01-14 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法、および復号方法
EP3682639A1 (en) 2017-10-02 2020-07-22 ARRIS Enterprises LLC System and method for reducing blocking artifacts and providing improved coding efficiency
US10965941B2 (en) 2017-10-09 2021-03-30 Qualcomm Incorporated Position-dependent prediction combinations in video coding
GB2567249A (en) 2017-10-09 2019-04-10 Canon Kk New sample sets and new down-sampling schemes for linear component sample prediction
US11159828B2 (en) 2017-10-09 2021-10-26 Arris Enterprises Llc Adaptive unequal weight planar prediction
US10694188B2 (en) 2017-12-18 2020-06-23 Arris Enterprises Llc System and method for constructing a plane for planar prediction
US20190313108A1 (en) 2018-04-05 2019-10-10 Qualcomm Incorporated Non-square blocks in video coding
US10609402B2 (en) 2018-05-02 2020-03-31 Tencent America LLC Method and apparatus for prediction and transform for small blocks
WO2019210840A1 (en) * 2018-05-03 2019-11-07 FG Innovation Company Limited Device and method for coding video data based on different reference sets in linear model prediction
CN114885173A (zh) 2018-06-29 2022-08-09 抖音视界(北京)有限公司 Lut中的运动候选的检查顺序
CN116708833A (zh) 2018-07-02 2023-09-05 Lg电子株式会社 编解码和发送方法及存储介质
DK3815377T3 (da) 2018-07-16 2023-04-03 Huawei Tech Co Ltd Videokoder, videoafkoder og tilsvarende kodnings- og afkodningsfremgangsmåder
CN109005408B (zh) 2018-08-01 2020-05-29 北京奇艺世纪科技有限公司 一种帧内预测方法、装置及电子设备
MX2021003853A (es) 2018-10-05 2021-09-08 Huawei Tech Co Ltd Método y dispositivo de intrapredicción.
CN112997492B (zh) 2018-11-06 2024-02-20 北京字节跳动网络技术有限公司 帧内预测的简化参数推导
US11197005B2 (en) * 2018-11-08 2021-12-07 Qualcomm Incorporated Cross-component prediction for video coding
US11178396B2 (en) * 2018-11-14 2021-11-16 Tencent America LLC Constrained intra prediction and unified most probable mode list generation
CN113170122B (zh) 2018-12-01 2023-06-27 北京字节跳动网络技术有限公司 帧内预测的参数推导
BR112021010428A2 (pt) 2018-12-07 2021-08-24 Beijing Bytedance Network Technology Co., Ltd. Método para processamento de vídeo, aparelho em um sistema de vídeo, e, produto de programa de computador
US11095921B2 (en) 2018-12-18 2021-08-17 Tencent America LLC Method and apparatus for video encoding or decoding
EP3703376A1 (en) 2019-01-15 2020-09-02 LG Electronics Inc. -1- Image coding method and device using transform skip flag
WO2020169101A1 (en) 2019-02-22 2020-08-27 Beijing Bytedance Network Technology Co., Ltd. Neighbouring sample selection for intra prediction
CN113491121B (zh) 2019-02-24 2022-12-06 北京字节跳动网络技术有限公司 对视频数据进行编解码的方法、设备及计算机可读介质

Also Published As

Publication number Publication date
US20210297694A1 (en) 2021-09-23
CN117336503A (zh) 2024-01-02
SG11202105759QA (en) 2021-06-29
KR20210091182A (ko) 2021-07-21
JP7317965B2 (ja) 2023-07-31
CN113170168A (zh) 2021-07-23
AU2019391197A1 (en) 2021-06-17
KR20230170146A (ko) 2023-12-18
ZA202103763B (en) 2022-10-26
AU2019391197B2 (en) 2023-05-25
EP3871415A1 (en) 2021-09-01
US20200366933A1 (en) 2020-11-19
MX2021006254A (es) 2021-07-06
JP2023083395A (ja) 2023-06-15
WO2020114445A1 (en) 2020-06-11
CA3121671A1 (en) 2020-06-11
CN113170168B (zh) 2023-12-08
JP2022508294A (ja) 2022-01-19
EP3871415A4 (en) 2022-04-13
US11595687B2 (en) 2023-02-28
US11057642B2 (en) 2021-07-06

Similar Documents

Publication Publication Date Title
BR112021010428A2 (pt) Método para processamento de vídeo, aparelho em um sistema de vídeo, e, produto de programa de computador
BR112021015017A2 (pt) Método para processar vídeo, aparelho em um sistema de vídeo, e, produto de programa de computador
BR112021014853A2 (pt) Método e aparelho para processar e codificar dados de vídeo, e, mídias de armazenamento e registro legíveis por computador não transitórias
US11025915B2 (en) Complexity reduction in parameter derivation intra prediction
US11902507B2 (en) Parameter derivation for intra prediction
WO2020192642A1 (en) Conditions in parameter derivation for intra prediction
WO2020192717A1 (en) Parameter derivation for inter prediction
RU2806083C2 (ru) Контекстно-ориентированное внутреннее предсказание
US12015784B2 (en) Multi-models for intra prediction