BR112021009666A2 - método para processar vídeo, aparelho em um sistema de vídeo, e, produto de programa de computador - Google Patents

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

Info

Publication number
BR112021009666A2
BR112021009666A2 BR112021009666-3A BR112021009666A BR112021009666A2 BR 112021009666 A2 BR112021009666 A2 BR 112021009666A2 BR 112021009666 A BR112021009666 A BR 112021009666A BR 112021009666 A2 BR112021009666 A2 BR 112021009666A2
Authority
BR
Brazil
Prior art keywords
indication
pcm
video
mode
luma
Prior art date
Application number
BR112021009666-3A
Other languages
English (en)
Inventor
Li Zhang
Kai 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 BR112021009666A2 publication Critical patent/BR112021009666A2/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
    • 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/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • 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/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • 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/117Filters, e.g. for pre-processing or post-processing
    • 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/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Landscapes

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

Abstract

MÉTODO E APARELHO PARA PROCESSAR DADOS DE VÍDEO, E, MEIOS DE ARMAZENAMENTO E DE GRAVAÇÃO LEGÍVEIS POR COMPUTADOR. São descritos dispositivos, sistemas e métodos para a codificação de vídeo digital, que incluem as técnicas de modulação por código de pulso. Um método exemplificativo para o processamento de vídeo inclui determinar, para um bloco de vídeo atual, que pelo menos um de um primeiro modo de codificação no qual a modulação por código de pulso é usada ou um segundo modo de codificação no qual a intraprevisão com base em múltiplas linhas de referência é usada está habilitado, e realizar, com base no primeiro modo de codificação ou no segundo modo de codificação, uma conversão entre o bloco atual e uma representação em fluxo contínuo de bits do vídeo, em que uma primeira indicação indicativa do uso do primeiro modo de codificação e/ou uma segunda indicação indicativa do uso do segundo modo de codificação são incluídas na representação em fluxo contínuo de bits de acordo com uma regra de ordenamento.

Description

1 / 61 MÉTODO E APARELHO PARA PROCESSAR DADOS DE VÍDEO, E,
MEIOS DE ARMAZENAMENTO E DE GRAVAÇÃO LEGÍVEIS POR
COMPUTADOR Referência Cruzada a Pedido Relacionado
[001] Este pedido é uma fase nacional do Pedido Internacional No. PCT/CN2019/120266, depositado em 22 de novembro de 2019, o qual reivindica a prioridade ao, e o benefício do, Pedido de Patente Internacional PCT/CN2018/116885, depositado em 22 de novembro de 2018. A íntegra das descrições do supramencionado pedido são incorporadas pela referência como parte da descrição deste pedido. Campo Técnico
[002] Este documento de patente se refere à codificação e à decodificação de imagem e de vídeo. Fundamentos
[003] O vídeo digital é responsável por o maior uso de largura de banda na Internet e em outras redes de comunicação digitas. À medida que o número de dispositivos de usuário conectados capazes de receber e exibir um vídeo aumenta, espera-se que a demanda por largura de banda para o uso de vídeo digital continue a crescer. Sumário
[004] As técnicas descritas podem ser usadas por modalidades de decodificador ou de codificador de vídeo durante a decodificação ou a codificação de vídeo usando a codificação com intraprevisão de vídeo e de imagens na qual múltiplas linhas de referência são usadas.
[005] Em uma modalidade de exemplo, um método para processar vídeo é descrito. O método inclui determinar, para um bloco de vídeo atual, que pelo menos um de um primeiro modo de codificação no qual a modulação por código de pulso (PCM) é usada ou de um segundo modo de codificação no qual a intraprevisão com base em múltiplas linhas de referência (MRLIP) é
2 / 61 usada está habilitado; e realizar, com base no primeiro modo de codificação ou no segundo modo de codificação, uma conversão entre o bloco atual e uma representação em fluxo contínuo de bits do vídeo, em que uma primeira indicação indicativa do uso do primeiro modo de codificação e/ou uma segunda indicação indicativa do uso do segundo modo de codificação são incluídas na representação em fluxo contínuo de bits de acordo com uma regra de ordenamento.
[006] Em uma outra modalidade de exemplo, um método para processar vídeo é descrito. O método inclui determinar, para uma conversão entre um bloco de vídeo atual e uma representação em fluxo contínuo de bits do vídeo, com base em uma representação do componente de cor do vídeo, pelo menos um indicador associado com um modo de codificação com base em uma modulação por código de pulso do bloco atual; e realizar, com base na determinação, a conversão.
[007] Em ainda uma outra modalidade de exemplo, um método para processar vídeo é descrito. O método inclui realizar uma conversão entre um bloco atual de uma região de vídeo de um vídeo e uma representação em fluxo contínuo de bits do vídeo, em que a representação em fluxo contínuo de bits é formatada de acordo com uma regra em relação a uma aplicabilidade de uma modulação por código de pulso (PCM) no bloco atual, e em que a regra especifica para omitir uma indicação da PCM em um nível do bloco atual mediante uma determinação de que uma indicação de desabilitação da PCM é incluída em um nível da região de vídeo.
[008] Em ainda uma outra modalidade de exemplo, um método para processar vídeo é descrito. O método inclui tomar uma decisão, com base em um tamanho de um bloco de vídeo atual, em relação à habilitação de um modo de codificação da modulação por código de pulso (PCM) para o bloco atual; e realizar, com base na decisão, uma conversão entre o bloco atual e uma representação em fluxo contínuo de bits do vídeo.
3 / 61
[009] Em ainda uma outra modalidade de exemplo, um método para processar vídeo é descrito. O método inclui determinar, para uma conversão entre um bloco atual de um vídeo e uma representação em fluxo contínuo de bits do vídeo, um mínimo valor permitido para uma altura ou uma largura do bloco atual, em que o mínimo valor permitido para a altura é sinalizado ou derivado separadamente do mínimo valor permitido para a largura; e realizar, com base na determinação, a conversão.
[0010] Em ainda uma outra modalidade de exemplo, um método para processar vídeo é descrito. O método inclui configurar, mediante uma determinação de que uma indicação de um bloco de vídeo atual que está sendo codificado com um modo de codificação da modulação por código de pulso (PCM) é sinalizada em uma representação em fluxo contínuo de bits do vídeo, uma representação do componente de cor do vídeo; e realizar, com base na configuração, uma conversão entre o bloco atual e a representação em fluxo contínuo de bits.
[0011] Em ainda uma outra modalidade de exemplo, um método para processar vídeo é descrito. O método inclui determinar, para uma conversão entre um bloco de vídeo atual e uma representação em fluxo contínuo de bits do vídeo, que um modo grande angular está desabilitado para a conversão devido ao uso de um modo da linha de referência não adjacente para a conversão; e realizar, com base na determinação, a conversão, em que o modo da linha de referência não adjacente usa os pixels não adjacentes a partir de uma linha de referência do vídeo para a conversão do bloco atual, e em que o modo grande angular compreende uma direção de intraprevisão além da direção de intraprevisão angular convencional de 45 graus até -135 graus.
[0012] Em ainda uma outra modalidade de exemplo, um método para processar vídeo é descrito. O método inclui tomar uma decisão, com base em um formato de subamostragem de cor de um vídeo para uma conversão entre um bloco de vídeo atual e uma representação em fluxo contínuo de bits do
4 / 61 vídeo, em relação a se um modo de codificação de múltiplas linhas de referência (MRL) está habilitado para o bloco atual ou um formato de sinalização de um ou mais índices da linha de referência é usado para o modo de codificação MRL; e realizar, com base na decisão, a conversão.
[0013] Em ainda uma outra modalidade de exemplo, um método para processar vídeo é descrito. O método inclui selecionar, mediante uma determinação de que um modo inter-intra e um modo de intraprevisão de múltiplas linhas de referência (MRLIP) são habilitados para um bloco de vídeo atual, uma linha ou uma coluna que não são adjacentes ao bloco atual para um processo de intraprevisão do modo inter-intra; e realizar, com base na linha ou na coluna, uma conversão entre o bloco atual e uma representação em fluxo contínuo de bits do vídeo.
[0014] Em ainda uma outra modalidade de exemplo, um método para processar vídeo é descrito. O método inclui realizar, para um bloco atual de um vídeo codificado usando um modo de intraprevisão de múltiplas linhas de referência (MRLIP) que usa uma linha que não é adjacente ao bloco atual, uma conversão entre o bloco atual e uma representação em fluxo contínuo de bits do vídeo, em que a MRLIP usa adicionalmente uma lista do modo mais provável (MPM), e em que realizar a conversão compreende substituir um primeiro modo da lista do MPM com um segundo modo da lista do MPM.
[0015] Em ainda uma outra modalidade de exemplo, um método para processar vídeo é descrito. O método inclui realizar, para um bloco atual de um vídeo codificado usando um modo de intraprevisão de múltiplas linhas de referência (MRLIP) que usa uma linha que não é adjacente ao bloco atual, uma conversão entre o bloco atual e uma representação em fluxo contínuo de bits do vídeo, em que a representação em fluxo contínuo de bits compreende um índice codificado de um modo em uma lista de candidatos fixos em vez de um índice codificado de um modo em uma lista do modo mais provável (MPM).
5 / 61
[0016] Em ainda uma outra modalidade de exemplo, um método para processar vídeo é descrito. O método inclui determinar, para uma conversão entre um bloco de vídeo atual e uma representação em fluxo contínuo de bits do vídeo usando um modo de codificação de múltiplas linhas de referência (MRL), que a representação em fluxo contínuo de bits inclui um primeiro índice correspondente às linhas acima usadas em uma previsão do bloco atual e um segundo índice correspondente às colunas à esquerda usadas na previsão; e realizar, com base na determinação, a conversão.
[0017] Em ainda um outro aspecto de exemplo, um aparelho codificador de vídeo que inclui um processador configurado para implementar um método supradescrito é descrito.
[0018] Em ainda um outro aspecto de exemplo, um aparelho decodificador de vídeo que inclui um processador configurado para implementar um método supradescrito é descrito.
[0019] Em ainda um outro aspecto de exemplo, uma mídia legível por computador é descrita. A mídia legível por computador tem código armazenado na mesma. O código, quando executado por um processador, faz com que o processador implemente um método supradescrito.
[0020] Estes e ainda outros aspectos são descritos no presente documento. Breve Descrição dos Desenhos
[0021] A figura 1 mostra um exemplo de blocos vizinhos usados no modo intraprevisão.
[0022] A figura 2 mostra um exemplo de 67 modos de intraprevisão.
[0023] A figura 3 ilustra um exemplo de blocos vizinhos usados em um processo de construção da lista do modo mais provável (MPM).
[0024] As figuras 4A e 4B mostram os exemplos de amostras de referência para a intraprevisão grande angular.
[0025] A figura 5 ilustra uma descontinuidade de exemplo no caso de
6 / 61 direções além de 45 graus.
[0026] As figuras 6A-6D ilustram os exemplos das amostras usadas na intraprevisão dependente de posição.
[0027] A figura 7 mostra um exemplo das linhas de referência a serem usadas para intraprevisão.
[0028] A figura 8 mostra os locais de exemplo das amostras usadas para a derivação de α e β.
[0029] A figura 9 mostra um exemplo de um bloco de croma e seu correspondente bloco de luma.
[0030] A figura 10 mostra um exemplo de modos de intraprevisão com modos padrões.
[0031] As figuras 11-22 são fluxogramas de métodos para processar vídeo de exemplo.
[0032] A figura 23 é um diagrama de blocos de um exemplo de uma plataforma de hardware para implementar uma técnica de decodificação de mídia visual ou uma técnica de codificação de mídia visual descritas no presente documento.
[0033] A figura 24 é um diagrama de blocos de um sistema para processar vídeo de exemplo no qual as técnicas descritas podem ser implementadas. Descrição Detalhada
[0034] O presente documento provê várias técnicas que podem ser usadas por um decodificador de fluxos contínuos de bits de vídeo para melhorar a qualidade de vídeo ou imagens digitais descomprimidos ou decodificados. Além do mais, um codificador de vídeo também pode implementar estas técnicas durante o processo de codificação a fim de reconstruir quadros decodificados usados para a codificação adicional.
[0035] Os cabeçalhos de seção são usados no presente documento para facilidade de entendimento e não limitam as modalidades e as técnicas às
7 / 61 seções correspondentes. Como tal, as modalidades de uma seção podem ser combinadas com as modalidades de outras seções.
1. Introdução
[0036] Este documento é relacionado a tecnologias de codificação de vídeo. Especificamente, o mesmo é relacionado à intraprevisão, especialmente para intraprevisão de múltiplas linhas de referência e modulação por código de pulso (PCM) em codificação de imagem/vídeo. O mesmo pode ser aplicado no padrão de codificação de vídeo existente, como HEVC, ou no padrão (Codificação de Vídeo Versátil) a ser finalizado. O mesmo também pode ser aplicável em futuros padrões de codificação de vídeo ou codec de vídeo.
2. Comentários Iniciais
[0037] Os padrões de codificação de vídeo evoluíram primariamente através do desenvolvimento dos bem conhecidos padrões ITU-T e ISO/IEC. A ITU-T produziu H.261 e H.263, a ISO/IEC produziu MPEG-1 e MPEG-4 Visual, e as duas organizações produziram conjuntamente os padrões H.262/MPEG-2 Vídeo e H.264/MPEG-4 Codificação de Vídeo Avançada (AVC) e H.265/HEVC. Desde H.262, os padrões de codificação de vídeo são com base na estrutura da codificação de vídeo híbrida, em que a previsão temporal mais codificação de transformação são utilizadas. Para explorar as futuras tecnologias de codificação de vídeo além de HEVC, a Equipe de Exploração Conjunta de Vídeo (JVET) foi fundada por VCEG e MPEG conjuntamente em 2015. Desde então, muitos métodos inéditos foram adotados por JVET e colocados no software de referência nomeados como Modo de Exploração em Conjunto (JEM). Em abril de 2018, a Equipe Conjunta de Especialistas em Vídeo (JVET) entre VCEG (Q6/16) e ISO/IEC JTC1 SC29/WG11 (MPEG) foi criada para trabalhar no padrão VVC que visa a 50% de redução na taxa de bits, se comparado com HEVC.
[0038] A versão mais recente do projeto VVC, isto é, Codificação de
8 / 61 Vídeo Versátil (Projeto 2) é encontrada em: http://phenix.it- sudparis.eu/jvet/doc_end_user/documents/11_Ljubljana/wg11/JVET-K1001- v7.zip.
[0039] O software de referência mais recente de VVC, nomeado VTM, pode ser encontrado em: https://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_VTM/tags/ VTM-3.0rc1.
2.1 Intraprevisão em HEVC/H.265
[0040] Na figura, dois tipos distintos de redundância podem ser identificados: 1) Redundância espacial ou temporal, 2) Redundância psicovisual. Para remover a redundância espacial, o processo de previsão é usado. A intraprevisão é o processo para prever os pixels do quadro de figura. A previsão intrafigura usa os pixels da vizinhança para prever o bloco da figura. Antes da intraprevisão, o quadro deve ser dividido. Em HEVC, uma figura/fatia/peça de mosaico pode ser dividida em múltiplas unidades de árvore de codificação (CTU). Dependendo dos parâmetros como complexidade da textura, as CTUs podem ter os tamanhos: 64 x 64, 32 x 32, ou 16 x 16. A unidade de árvore de codificação (CTU) é, portanto, uma unidade lógica de codificação, que é, por sua vez, codificada em um fluxo contínuo de bits HEVC. A mesma consiste em três blocos, a saber luma (Y) dois componentes de croma (Cb e Cr). Tomando o formato de cor 4:2:0 como um exemplo, o componente de luma tem L x L amostras e cada componente de croma tem L/2 x L/2 amostras. Cada bloco é chamado de Bloco da Árvore de Codificação (CTB). Cada CTB tem o mesmo tamanho (L x L) da CTU (64 x 64, 32 x 32 ou 16 x 16). Cada CTB pode ser dividido repetitivamente em uma estrutura de árvore quádrupla, do mesmo tamanho de CTB até tão pequeno quanto 8 x 8. Cada bloco resultante a partir deste particionamento é chamado de Blocos de Codificação (CBs) e torna-se o ponto de tomada de
9 / 61 decisão do tipo de previsão (inter ou intraprevisão). O tipo de previsão, juntamente com outros parâmetros, é codificado em Unidade de Codificação (CU). Portanto, a CU é a unidade de previsão básica em HEVC, cada uma das quais é prevista a partir de dados previamente codificados. E a CU consiste em três CBs (Y, Cb e Cr). Os CBs ainda podem ser muito grandes para armazenar os vetores de movimento (modo de previsão interfigura (temporal)) ou de previsão intrafigura (espacial). Portanto, o Bloco de Previsão (PB) foi introduzido. Cada CB pode ser dividido em PBs diferentemente, dependendo da previsibilidade temporal e/ou espacial. As CTUs podem ter os tamanhos: 32 x 32, 16 x 16, 8 x 8 ou 4 x 4.
[0041] Há dois tipos de modos de intraprevisão, PCM (modulação por código de pulso) e modo de intraprevisão normal.
2.1.1 Modulação por código de pulso (PCM)
[0042] No modo I_pcm, a previsão, a transformação, a quantização e a codificação de entropia são desviadas. A codificação das amostras de um bloco é pela representação diretamente dos valores de amostra sem previsão ou aplicação de uma transformação.
[0043] Em HEVC, o modo I_pcm está disponível apenas para a PU 2N x 2N. Os tamanhos max e min de I_pcm CU são sinalizados em SPS, os tamanhos legais de I_pcm CU são 8 x 8, 16 x 16 e 32 x 32, as profundidades de bit de amostra PCM selecionadas por usuário, sinalizadas em SPS para luma e croma, separadamente.
[0044] Tome a amostra de Luma como um exemplo: recSamplesL[i, j] = pcm_sample_luma[(nS * j) + i] << (BitDepthY - PCMBitDepthY). A mesma codificação sem perdas quando PCMBitDepthY = BitDepthY Desenho da Sintaxe
7.3.2.2.1 Sintaxe de RBSP Definida no Parâmetro de Sequência Geral seq_parameter_set_rbsp() { Descritor sps_video_parameter_set_id u(4) sps_max_sub_layers_minus1 u(3) … amp_enabled_flag u(1)
10 / 61 sample_adaptive_offset_enabled_flag u(1) pcm_enabled_flag u(1) se(pcm_enabled_flag) { pcm_sample_bit_depth_luma_minus1 u(4) pcm_sample_bit_depth_chroma_minus1 u(4) log2_min_pcm_luma_coding_block_size_minus3 ue(v) log2_diff_max_min_pcm_luma_coding_block_size ue(v) pcm_loop_filter_disabled_flag u(1) } ... rbsp_trailing_bits() } Semântica
[0045] pcm_enabled_flag igual a 0 especifica que a sintaxe relacionada a PCM (elementos de sintaxe pcm_sample_bit_depth_luma_minus1, pcm_sample_ bit_depth_chroma_minus1, log2_min_pcm_luma_coding_block_size_minus3, log2_diff_max_min_pcm_luma_coding_block_size, pcm_loop_filter_disabled_flag, pcm_flag, pcm_alignment_zero_bit e estrutura de sintaxe pcm_sample()) não está presente em CVS.
[0046] NOTA 4 - Quando MinCbLog2SizeY for igual a 6 e pcm_enabled_flag for igual a 1, a sintaxe relacionada aos dados de amostra PCM (elementos de sintaxe pcm_flag, pcm_alignment_zero_bit e estrutura de sintaxe pcm_sample()) não está presente em CVS, em virtude de o tamanho máximo dos blocos de codificação que podem conduzir a sintaxe relacionada aos dados de amostra PCM ser restrito a ser menor do que ou igual a Min(CtbLog2SizeY, 5). Portanto, MinCbLog2SizeY igual a 6 com pcm_enabled_flag igual a 1 não é uma definição apropriada para conduzir os dados de amostra PCM em CVS.
[0047] pcm_sample_bit_depth_luma_minus1 especifica o número de bits usados para representar cada um dos valores de amostra PCM do componente de luma como segue: PcmBitDepthY = pcm_sample_bit_depth_luma_minus1 + 1 (7-xx)
11 / 61
[0048] O valor de PcmBitDepthY deve ser menor do que ou igual ao valor de BitDepthY.
[0049] pcm_sample_bit_depth_chroma_minus1 especifica o número de bits usados para representar cada um dos valores de amostra PCM dos componentes de croma como segue: PcmBitDepthC = pcm_sample_bit_depth_chroma_minus1 + 1 (7-yy)
[0050] O valor de PcmBitDepthC deve ser menor do que ou igual ao valor de BitDepthC. Quando ChromaArrayType for igual a 0, pcm_sample_bit_depth_chroma_minus1 não é usado no processo de decodificação e os decodificadores devem ignorar seu valor.
[0051] log2_min_pcm_luma_coding_block_size_minus3 mais 3 especifica o tamanho mínimo dos blocos de codificação com pcm_flag igual a
1.
[0052] A variável Log2MinIpcmCbSizeY é definida igual a log2_min_pcm_luma_coding_block_size_minus3 + 3. O valor de Log2MinIpcmCbSizeY deve estar na faixa de Min(MinCbLog2SizeY, 5) até Min(CtbLog2SizeY, 5), inclusive.
[0053] log2_diff_max_min_pcm_luma_coding_block_size especifica a diferença entre os tamanhos máximo e mínimo dos blocos de codificação com pcm_flag igual a 1.
[0054] A variável Log2MaxIpcmCbSizeY é definida igual a log2_diff_max_min_pcm_luma_coding_block_size + Log2MinIpcmCbSizeY. O valor de Log2MaxIpcmCbSizeY deve ser menor do que ou igual a Min(CtbLog2SizeY, 5).
[0055] pcm_loop_filter_disabled_flag especifica se o processo de filtro em laço está desabilitado em amostras reconstruídas em uma unidade de codificação com pcm_flag igual a 1, como segue: - se pcm_loop_filter_disabled_flag for igual a 1, os processos
12 / 61 do filtro de desbloqueio e do filtro de deslocamento adaptativo de amostra nas amostras reconstruídas em uma unidade de codificação com pcm_flag igual a 1 são desabilitados; - caso contrário (valor de pcm_loop_filter_disabled_flag é igual a 0), os processos do filtro de desbloqueio e do filtro de deslocamento adaptativo de amostra nas amostras reconstruídas em uma unidade de codificação com pcm_flag igual a 1 não são desabilitados.
[0056] Quando pcm_loop_filter_disabled_flag não estiver presente, é inferido que o mesmo é igual a 0.
7.3.8.5 Sintaxe da Unidade de Codificação coding_unit(x0, y0, log2CbSize) { Descritor se(transquant_bypass_enabled_flag) cu_transquant_bypass_flag ae(v) se(slice_type != I) cu_skip_flag[x0][y0] ae(v) nCbS = (1 << log2CbSize) se(cu_skip_flag[x0][y0]) prediction_unit(x0, y0, nCbS, nCbS) se não { se(slice_type != I) pred_mode_flag ae(v) se(palette_mode_enabled_flag && CuPredMode[x0][y0] = = MODE_INTRA && log2CbSize <= MaxTbLog2SizeY) palette_mode_flag[x0][y0] ae(v) se(palette_mode_flag[x0][y0]) palette_coding(x0, y0, nCbS) se não { se(CuPredMode[x0][y0] != MODE_INTRA | | log2CbSize = = MinCbLog2SizeY) part_mode ae(v) se(CuPredMode[x0][y0] = = MODE_INTRA) { se(PartMode = = PART_2Nx2N && pcm_enabled_flag && log2CbSize >= Log2MinIpcmCbSizeY && log2CbSize <= Log2MaxIpcmCbSizeY) pcm_flag[x0][y0] ae(v) se(pcm_flag[x0][y0]) { enquanto(!byte_aligned()) pcm_alignment_zero_bit f(1) pcm_sample(x0, y0, log2CbSize) } se não { pbOffset = (PartMode = = PART_NxN) ? (nCbS / 2): nCbS para(j = 0; j < nCbS; j = j + pbOffset) para(i = 0; i < nCbS; i = i + pbOffset) prev_intra_luma_pred_flag[x0 + i][y0 + j] ae(v) para(j = 0; j < nCbS; j = j + pbOffset) para(i = 0; i < nCbS; i = i + pbOffset) se(prev_intra_luma_pred_flag[x0 + i][y0 + j])
13 / 61 mpm_idx[x0 + i][y0 + j] ae(v) se não rem_intra_luma_pred_mode[x0 + i][y0 + j] ae(v) se(ChromaArrayType = = 3) para(j = 0; j < nCbS; j = j + pbOffset) para(i = 0; i < nCbS; i = i + pbOffset) intra_chroma_pred_mode[x0 + i][y0 + j] ae(v) se não se(ChromaArrayType != 0) intra_chroma_pred_mode[x0][y0] ae(v) } } se não { … } se(!pcm_flag[x0][y0]) { se(CuPredMode[x0][y0] != MODE_INTRA && !(PartMode = = PART_2Nx2N && merge_flag[x0][y0])) rqt_root_cbf ae(v) se(rqt_root_cbf) { MaxTrafoDepth = (CuPredMode[x0][y0] = = MODE_INTRA ? (max_transform_hierarchy_depth_intra + IntraSplitFlag): max_transform_hierarchy_depth_inter) transform_tree(x0, y0, x0, y0, log2CbSize, 0, 0) } } } } }
7.3.8.7 Sintaxe da amostra PCM pcm_sample(x0, y0, log2CbSize) { Descritor para(i = 0; i < 1 << (log2CbSize << 1); i++) pcm_sample_luma[i] u(v) se(ChromaArrayType != 0) para(i = 0; i < ((2 << (log2CbSize << 1)) / (SubWidthC * SubHeightC)); i++) pcm_sample_chroma[i] u(v) } Semântica
[0057] O pcm_flag[x0][y0] igual a 1 especifica que a estrutura de sintaxe pcm_sample() está presente e a estrutura de sintaxe transform_tree() não está presente na unidade de codificação que inclui o bloco de codificação luma no local (x0, y0). O pcm_flag[x0][y0] igual a 0 especifica que a estrutura de sintaxe pcm_sample() não está presente. Quando o pcm_flag[x0][y0] não estiver presente, é inferido que o mesmo é igual a 0.
[0058] O valor de pcm_flag[x0 + i][y0 + j] com i = 1..nCbS - 1, j = 1..nCbS - 1 é inferido como igual a pcm_flag[x0][y0].
14 / 61
2.1.2 Intraprevisão normal
[0059] Para o componente de luma, há 35 modos, incluindo Plano, DC e 33 modos de previsão angular para todos os tamanhos de bloco. Para melhor codificar estes modos de previsão luma, um indicador de modo mais provável (MPM) é primeiramente codificado para indicar se um dos 3 modos MPM é escolhido. Se o indicador de MPM for falso, então, os 32 modos restantes são codificados com codificação com comprimento fixo).
[0060] A seleção do conjunto de três modos mais prováveis é com base nos modos de duas PUs vizinhas, uma à esquerda e uma acima da PU atual. Considere os modos intra da esquerda e acima da PU atual como A e B, respectivamente, em que os dois blocos vizinhos são representados na figura
1.
[0061] Se uma PU vizinha não for codificada como intra ou for codificada com o modo de modulação por código de pulso (PCM), considera- se que a PU é prevista em DC. Além do mais, considera-se que B é modo DC quando a PU vizinha acima estiver fora da CTU para evitar a introdução de um armazenamento temporário de linha adicional para a reconstrução do modo intra.
[0062] Se A não for igual a B, os primeiros dois modos mais prováveis denotados como MPM[0] e MPM[1] são definidos iguais à e B, respectivamente, e o terceiro modo mais provável denotado como MPM[2] é determinado como segue: - se nenhum de A ou B for modo plano, MPM[2] é definido no modo plano; - caso contrário, se nenhum de A ou B for modo DC, MPM[2] é definido no modo DC; - caso contrário (um dos dois modos mais prováveis é plano e o outro é DC), MPM[2] é definido igual ao modo angular 26 (diretamente vertical).
15 / 61
[0063] Se A for igual a B, os três modos mais prováveis são determinados como segue. No caso em que os mesmos não forem modos angulares (A e B são menores do que 2), os três modos mais prováveis são definidos iguais ao modo plano, ao modo DC e ao modo angular 26, respectivamente. Caso contrário (A e B são maiores do que ou igual a 2), o primeiro modo mais provável MPM[0] é definido igual à e os dois modos mais prováveis restantes MPM[1] e MPM[2] são definidos iguais às direções vizinhas de A e calculados como: MPM[1] = 2 + ((A - 2 - 1 + 32) % 32) MPM[2] = 2 + ((A - 2 + 1) % 32) em que % denota o operador de módulo (isto é, a%b denota o restante de a dividido por b).
[0064] Para o componente de croma, há 5 modos, incluindo DM, Plano, DC, Horizontal, Vertical.
2.2 Intraprevisão em VVC
2.2.1 Codificação em modo intra com 67 modos de intraprevisão
[0065] Para capturar as direções de borda arbitrárias apresentadas em vídeo natural, o número de modos intradirecional é estendido de 33, da forma usada em HEVC, para 65. Os modos direcionais adicionais são representados como setas tracejadas na figura 2, e os modos plano e DC permanecem os mesmos. Estes modos de previsão intradirecionais mais densos se aplicam para todos os tamanhos de bloco e para intraprevisões tanto de luma quanto de croma.
[0066] As direções de intraprevisão angular convencionais são definidas de 45 graus a -135 graus no sentido horário, da forma mostrada na figura 2. Em VTM2, diversos modos de intraprevisão angular convencionais são adaptativamente substituídos com modos de intraprevisão grande angular para os blocos não quadrados. Os modos substituídos são sinalizados usando o método original e remapeados para os índices dos modos grande angular
16 / 61 depois da análise sintática. O número total de modos de intraprevisão fica inalterado, isto é, 67, e a codificação em modo intra fica inalterada.
[0067] Em HEVC, cada bloco intracodificado tem uma forma quadrada e o comprimento de cada um de seus lados é uma potência de 2. Assim, nenhuma operação de divisão é exigida para gerar um intraprevisor usando o modo DC. Em VVV2, os blocos podem ter uma forma retangular que necessita do uso de uma operação de divisão por bloco no caso geral. Para evitar as operações de divisão para previsão DC, apenas o lado mais longo é usado para computar a média para os blocos não quadrados.
[0068] A figura 2 ilustra os exemplos de 67 modos de intraprevisão.
2.2.2 Codificação em Modo Intra para o Componente de Luma com 6 MPMs
[0069] No software de referência VVC VTM3.0.rc1, apenas o modo intra da posição vizinha A e B denotada como ESQUERDA e ACIMA, da forma representada na figura 3, é usado para a geração da lista do MPM. Para a codificação não MPM, o código binário truncado é aplicado.
[0070] Considere os modos intra de esquerda e acima da CU atual como ModoA e ModoB, respectivamente.
[0071] Se uma CU vizinha não for codificada como intra ou for codificada com o modo de modulação por código de pulso (PCM), considera- se que a CU é prevista em modo plano. Além do mais, considera-se que o ModoB é o modo Plano quando a CU vizinha acima estiver fora da CTU para evitar a introdução de um armazenamento temporário de linha adicional para a reconstrução do modo intra.
[0072] Os 6 modos MPM são denotados por MPM[i] (i sendo 0…5). As seguintes etapas são realizadas na ordem:
1. Valores inicializados: MPM[6] = {ModoA, !ModoA, 50, 18, 46, 54};
2. Se o ModoA for igual ao ModoB, os seguintes se aplicam - Se o ModoA for maior do que 1 (não DC/plano), MPM[6] =
17 / 61 {ModoA, plano, DC, 2 + ((candIntraPredModeA + 62) % 65), 2 + ((candIntraPredModeA - 1) % 65, 2 + ((candIntraPredModeA + 61) % 65))};
3. Caso contrário (ModoA é igual a ModoB), os seguintes se aplicam: - MPM[0] = ModoA, MPM[1] = ModoB - Definição da variável biggerIdx é como segue: biggerIdx = candModeList[0] > candModeList[1] ? 0: 1 - Se tanto o ModoA quanto o ModoB forem maiores do que 1, MPM [x] com x = 2..5 é derivado como segue: MPM [2] = INTRA_PLANAR MPM [3] = INTRA_DC - Se MPM[biggerIdx] - MPM[! biggerIdx] não for igual nem a 64 nem a 1, o seguinte se aplica: MPM [4] = 2 + ((MPM [biggerIdx] + 62) % 65) MPM [5] = 2 + ((MPM [biggerIdx] - 1) % 65) - Caso contrário, o seguinte se aplica: MPM [4] = 2 + ((MPM [biggerIdx] + 61) % 65) MPM [5] = 2 + ( candModeList[biggerIdx] % 65) - Caso contrário, se a soma do ModoA e do ModoB for maior ou igual a 2, o seguinte se aplica: MPM [2] = ! MPM [! biggerIdx] MPM [3] = 2 + ((MPM [biggerIdx] + 62) % 65) MPM [4] = 2 + ((MPM [biggerIdx] - 1) % 65) MPM [5] = 2 + ((MPM [biggerIdx] + 61) % 65) em que % denota o operador de módulo (isto é, a%b denota o restante de a dividido por b).
2.2.3 Intraprevisão Grande Angular para os Blocos Não Quadrados
[0073] As direções de intraprevisão angular convencionais são definidas de 45 graus a -135 graus no sentido horário. Em VTM2, diversos
18 / 61 modos de intraprevisão angular convencionais são adaptativamente substituídos com modos de intraprevisão grande angular para os blocos não quadrados. Os modos substituídos são sinalizados usando o método original e remapeados para os índices de modos grande angular depois da análise sintática. O número total de modos de intraprevisão para um certo bloco fica inalterado, isto é, 67, e a codificação em modo intra fica inalterada.
[0074] Para suportar estas direções de previsão, a referência ao topo com comprimento 2W+1, e o referência à esquerda com comprimento 2H+1, são definidas da forma mostrada na figura 4.
[0075] O número de modo do modo substituído em modo de direção grande angular é dependente da razão de aspecto de um bloco. Os modos de intraprevisão substituídos são ilustrados na Tabela 1. Tabela 1: Modos de intraprevisão substituídos por modos grande angular Condição Modos de intraprevisão substituídos W / H == 2 Modos 2,3,4,5,6,7 W/H>2 Modos 2,3,4,5,6,7,8,9,10,11 W / H == 1 Nenhum H / W == 1/2 Modos 61,62,63,64,65,66 H / W < 1/2 Modo 57,58,59,60,61,62,63,64,65,66
[0076] Da forma mostrada na figura 5, duas amostras previstas verticalmente adjacentes podem usar duas amostras de referência não adjacentes no caso de intraprevisão grande angular. Portanto, o filtro de amostras de referência passa baixa e a suavização lateral são aplicados na previsão grande angular para reduzir o efeito negativo do maior hiato ∆pα.
2.2.4 Combinação da intraprevisão dependente de posição
[0077] Em VTM2, os resultados da intraprevisão de modo plano são adicionalmente modificados por um método de combinação de intraprevisão dependente de posição (PDPC). A PDPC é um método de intraprevisão que invoca uma combinação das amostras de referência de contorno não filtradas e da intraprevisão estilo HEVC com as amostras de referência de filtros de contornadas. A PDPC é aplicada nos seguintes modos intra sem sinalização: plano, DC, horizontal, vertical, modo angular base-esquerda e seus oito
19 / 61 modos angulares adjacentes, e modo angular topo-direita e seus oito modos angulares adjacentes.
[0078] A amostra de previsão pred(x,y) é prevista usando um modo de intraprevisão (DC, plano, angular) e uma combinação linear das amostras de referência de acordo com a Equação, como segue: pred(x,y)=(wL×R-1,y + wT×Rx,-1 - wTL ×R-1,-1+(64 - wL - wT+wTL)×pred(x,y) + 32) >> 6 em que Rx,-1, R-1,y representa as amostras de referência localizadas no topo e à esquerda da amostra atual (x, y), respectivamente, e R- 1,-1 representa a amostra de referência localizada no canto de topo-esquerda do bloco atual.
[0079] Se PDPC for aplicada nos modos DC, plano, intra horizontal e vertical, os filtros de contorno adicionais não são necessários, da forma exigida no caso do filtro de contorno do modo HEVC DC ou dos filtros de borda no modo horizontal/vertical.
[0080] As figuras 6A-6D ilustram a definição das amostras de referência (Rx,-1, R-1,y e R-1,-1) para PDPC aplicada através de vários modos de previsão. A amostra de previsão pred (x’, y’) fica localizada em (x’, y’) no bloco de previsão. A coordenada x da amostra de referência Rx,-1 é dada por: x = x’ + y’ + 1, e a coordenada y da amostra de referência R-1,y é similarmente dada por: y = x’ + y’ + 1.
[0081] As figuras 6A-6D mostram a definição de exemplo das amostras usadas pela PDPC aplicada nos modos intra angular diagonal e adjacente. A figura 6A mostra o modo topo-direita diagonal. A figura 6B mostra o modo base-esquerda diagonal. A figura 6C mostra o modo topo- direita diagonal adjacente. A figura 6D mostra um exemplo do modo base- esquerda adjacente.
[0082] Os pesos de PDPC são dependentes dos modos de previsão e são mostrados na Tabela 2.
20 / 61 Tabela 2: Exemplo de pesos de PDPC de acordo com os modos de previsão Modos de previsão wT wL wTL Topo-direita diagonal 16 >> ((y’<<1) >> deslocamento) 16 >> ((x’<<1) >> deslocamento) 0 Base-esquerda diagonal 16 >> ((y’<<1) >> deslocamento) 16 >> ((x’<<1) >> deslocamento) 0 Topo-direita diagonal 32 >> ((y’<<1) >> deslocamento) 0 0 adjacente Base-esquerda diagonal 0 32 >> ((x’<<1) >> deslocamento) 0 adjacente
2.2.5 Intraprevisão de Múltiplas Linhas de Referência (MRLIP)
[0083] Em vez de sempre usar as amostras reconstruídas na coluna à esquerda e na linha acima adjacentes (isto é, a linha de referência 0) para a intraprevisão, é proposto permitir usar as amostras de referência localizadas em distâncias diferentes.
[0084] O MRLIP tem as seguintes características: - Sinalização do índice da linha de referência - para a linha de referência idx > 0, apenas aqueles na lista do MPM e apenas índice mpm de sinal sem modo restante; - para índice da linha de referência = 0, igual ao desenho original, todos os tipos de modos de intraprevisão podem ser selecionados - Uma das três linhas pode ser selecionada para um bloco de luma: linha de referência 0, 1, 3, da forma representada na figura 7 - Linha de topo da restrição de CTU - desabilitar MRL para a primeira linha de blocos no interior de uma CTU
2.2.6 Codificação Croma
[0085] Em codificação croma HEVC, cinco modos (incluindo um modo direto (DM) que é o modo de intraprevisão do correspondente bloco de luma no topo-esquerda e quatro modos padrões) são permitidos para um bloco de croma. Os dois componentes de cor compartilham o mesmo modo de intraprevisão.
[0086] Diferente do desenho em HEVC, dois métodos inéditos foram propostos, incluindo: modo de previsão do modelo linear em componente
21 / 61 cruzado (CCLM) e múltiplos DMs.
2.2.6.1 CCLM
[0087] Para reduzir a redundância de componente cruzado, um modo de previsão do modelo linear em componente cruzado (CCLM), também conhecido como LM, é usado em JEM, para o qual as amostras de croma são previstas com base nas amostras de luma reconstruídas da mesma CU pelo de uso um modelo linear, como segue: predC(i,j) = α  recL'(i,j) + β (1) em que predC(i,j) representa as amostras de croma previstas em uma CU e recL'(i,j) representa as amostras de luma reconstruídas descendentemente amostradas da mesma CU para os formatos de cor 4:2:0 ou 4:2:2, ao mesmo tempo em que recL'(i,j) 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) (3) em que L(n) representa as amostras de luma reconstruídas vizinhas de topo e esquerda descendentemente amostradas (para os formatos de cor 4:2:0 ou 4:2:2) ou originais (para o formato de cor 4:4:4), C(n) representa as amostras de croma reconstruídas vizinhas de topo e esquerda, e o valor de N é igual a duas vezes o mínimo da largura e da altura do bloco de codificação de croma atual. Para um bloco de codificação com uma forma quadrada, as duas equações expostas são aplicadas diretamente. 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 que para o contorno mais curto. As figuras 6A-6D mostram o local das amostras
22 / 61 reconstruídas à esquerda e acima e da amostra do bloco atual envolvido no modo CCLM.
[0088] 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 de α e β.
[0089] A figura 8 mostra os locais de exemplo das amostras usadas para a derivação de α e β.
[0090] O modo de previsão CCLM também inclui a previsão entre os dois componentes de croma, isto é, o componente Cr é previsto a partir do componente Cb. Em vez de usar o sinal da amostra reconstruída, a previsão Cb para Cr CCLM é aplicada em domínio residual. Isto é implementado pela adição de um resíduo Cb reconstruído ponderado na intraprevisão Cr original para formar a previsão Cr final: pred*Cr(i,j) = predCr(i,j) + α  resiCb'(i,j) (4) em que resiCb'(i,j) apresenta a amostra de resíduo Cb reconstruída na posição (i,j).
[0091] O fator de escala α é derivado de uma maneira similar, como na previsão luma para croma CCLM. A única diferença é uma adição de um custo de regressão em relação a um valor α padrão na função de erro, de forma que o fator de escala derivado seja predisposto na direção de um valor padrão de -0,5, como segue: (5) em que Cb(n) representa as amostras Cb reconstruídas vizinhas, Cr(n) representa as amostras Cr reconstruídas vizinhas, e λ é igual a ∑(Cb(n)  Cb(n)) >> 9.
[0092] O modo de previsão luma para croma CCLM é adicionado como um modo de intraprevisão de croma adicional. No lado do codificador, uma verificação de custo de RD a mais para os componentes de croma é
23 / 61 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, a previsão Cb para Cr CCLM é usada para a previsão do componente Cr.
2.2.6.2 Codificação croma em VVC
[0093] CCLM como em JEM é adotado em VTM-2.0. Mas MM- CCLM em JEM não é adotado em VTM-2.0.
[0094] Para a intracodificação de croma, uma lista de candidatos de modos de intraprevisão de croma é primeiramente derivada, em que três partes podem ser incluídas: - um modo direto (DM) que é definido no um modo de intraprevisão de luma associado com CB de luma que cobre a posição central colocalizada (CR na figura 9) de um bloco de croma; um exemplo foi mostrado na figura 9 com a posição colocalizada denotada por TL; - um modo do modelo linear em componente cruzado (CCLM); - quatro modos padrões (modos DC, Plano, Horizontal e Vertical, da forma destacada na figura 1). Se um dos quatro modos padrões for idêntico ao modo DM, o mesmo é substituído pelo modo de intraprevisão com o maior índice de modo, isto é, indicado pela linha tracejada representada na figura 10.
3. Desvantagens das Modalidades Existentes
[0095] No desenho atual da intraprevisão MRL em VVC, a mesma tem os seguintes problemas.
[0096] 1) Em VTM3.0-rc1, o indicador de PCM é codificado depois do índice da linha de referência usada para o processo de intraprevisão. Portanto, até mesmo PCM pode ser usado para a codificação de um bloco, o índice da linha de referência ainda é sinalizado, o que desperdiça bits, já que a intraprevisão normal é proibida para os blocos codificados em PCM.
24 / 61
[0097] 2) O filtro em laço adaptativo (ALF) é inovadoramente adotado por VVC. Como tratar o mesmo com PCM é desconhecido.
[0098] 3) Um indicador de PCM de um bloco de luma e dois blocos de croma correspondentes é usado na decisão do processo de filtragem em HEVC. Entretanto, quando a árvore separada for utilizada, as amostras de um bloco de luma e as amostras de componente de croma podem escolher diferentes indicadores de PCM, isto é, um bloco de luma pode ser codificado com PCM e o correspondente bloco de croma pode ser codificado com não PCM, portanto, usar um indicador de PCM no processo de decisão filtragem é indesejável.
[0099] 4) MRLIP é aplicado apenas no componente de luma. Entretanto, para os componentes de croma, o mesmo também pode funcionar, especialmente para o formato de cor 4:4:4.
[00100] 5) MRLIP não pode ser aplicado em blocos inter-intra codificados, o que pode diminuir o desempenho da codificação.
[00101] 6) Linhas de referência com índices não zero são mais eficientes para modos angulares. Os modos na lista do MPM são utilizados quando o índice da linha de referência for maior do que 0. Entretanto, é possível que o modo DC/plano possa ser incluído na lista do MPM para a qual o MRLIP é menos eficiente.
[00102] 7) Em HEVC, o menor tamanho da CU é 8 x 8, ao mesmo tempo em que, em VVC, o menor tamanho da CU é 4 x 4. Portanto, um bloco 4 x 4, 4 x 8, 8 x 4 também deve aplicar o modo PCM, embora isto não seja agora permitido. Além do mais, o desenho original de PCM cuida apenas de CUs quadradas, embora, em VVC, haja CUs não quadradas.
4. Modalidades e Técnicas de Exemplo
[00103] As técnicas detalhadas listadas a seguir devem ser consideradas como exemplos para explicar os conceitos gerais. Estas técnicas não devem ser interpretadas de uma maneira estreita. Além do mais, estas
25 / 61 técnicas podem ser combinadas de qualquer maneira.
[00104] 1. É proposto que o indicador de habilitação de PCM seja codificado antes da informação do modo de MRLIP.
[00105] a. Em um exemplo, se PCM estiver desabilitado para este bloco, o índice da linha de referência usado em MRLIP é adicionalmente sinalizado.
[00106] b. Em um exemplo, se PCM estiver habilitado para este bloco, a sinalização do índice da linha de referência usada em MRLIP é ignorada.
[00107] c. Alternativamente, o indicador de PCM não é sinalizado se a informação do modo de MRLIP é igual ou desigual a 0.
[00108] 2. Quando um bloco for codificado com o modo PCM, o filtro em laço adaptativo (ALF) para este bloco é desabilitado automaticamente.
[00109] a. A sinalização de indicador de habilitação/desabilitação de ALF pode depender do indicador de habilitação/desabilitação de PCM. Alternativamente, a sinalização do indicador de habilitação/desabilitação de PCM pode depender do indicador de habilitação/desabilitação de ALF.
[00110] b. Se um bloco tiver tamanho igual ao tamanho da CTU, o indicador de PCM pode ser primeiramente sinalizado antes do indicador de habilitação/desabilitação de ALF. Quando o indicador de PCM for verdadeiro, o indicador de ALF não é mais sinalizado.
[00111] c. Se um bloco tiver tamanho igual ao tamanho da CTU, o indicador de PCM pode ser primeiramente sinalizado antes dos indicadores de habilitação/desabilitação de SAO. Quando o indicador de PCM for verdadeiro, o indicador de SAO não é mais sinalizado.
[00112] d. Alternativamente, além do mais, os métodos expostos podem ser aplicados apenas quando pcm_loop_filter_disabled_flag for igual a 1.
[00113] 3. Como sinalizar/interpretar/usar os indicadores de habilitação/desabilitação de PCM pode depender dos componentes de cor.
26 / 61
[00114] a. Em um exemplo, como sinalizar/interpretar/usar os indicadores de habilitação/desabilitação de PCM pode depender se a estrutura da árvore de partição separada para diferentes componentes de cor é usada.
[00115] b. Em um exemplo, quando a estrutura da árvore de partição separada para os componentes de luma e de croma for aplicada, um primeiro indicador para um bloco de luma pode ser sinalizado e um segundo indicador para um bloco de croma pode ser sinalizado independentemente.
[00116] c. Em um exemplo, quando a estrutura da árvore de partição separada para os três componentes de cor for aplicada, três indicadores podem ser sinalizados independentemente.
[00117] d. Em um exemplo, dependendo do componente de cor, o indicador de habilitação/desabilitação de PCM é interpretado como variáveis diferentes, por exemplo, pcm_luma e pcm_chroma, para controlar o processo de codificação de vídeo seguinte.
[00118] e. No processo de filtragem (tais como o filtro de desbloqueio, o filtro em laço adaptativo de amostra, o filtro em laço adaptativo), se um bloco de um componente de cor deve ser filtrado pode depender do indicador de habilitação/desabilitação de PCM associado com o componente de cor.
[00119] f. Alternativamente, até mesmo a estrutura da árvore de partição separada é habilitada, os indicadores de PCM são sinalizados apenas para o componente de luma, ao mesmo tempo em que, para um bloco de croma, o mesmo pode herdar o indicador de PCM a partir de qualquer local em um bloco de luma correspondente (por exemplo, a partir da posição central do bloco de luma correspondente).
[00120] g. Alternativamente, além do mais, a restrição de tamanho/dimensão do bloco codificado em PCM permitido pode ser sinalizada para diferentes componentes de cor ou para luma e croma separadamente.
[00121] Por exemplo, tomando 4:2:0 como um exemplo, um bloco de
27 / 61 luma 64 x 64 (tamanho CTU igual a 64 x 64) corresponde a 2 blocos de croma 32 x 32. O bloco de luma pode ser dividido em 4 CUs com partição de árvore quádrupla (há quatro CUs luma 32 x 32). No desenho original, não há árvore separada, apenas um indicador para cada CU luma 32 x 32 é codificado e o mesmo é usado para os correspondentes blocos Cb/Cr 16 x 16, já que luma e croma compartilham a mesma estrutura de partição. No total, 4 indicadores podem ser codificados.
[00122] Em uma modalidade de exemplo deste método proposto, se a árvore separada for aplicada, então, os blocos de croma podem ser divididos em 2 CUs com partição de árvore binária (há duas CUs Cb 32 x 16, e duas CUs Cr 32 x 16). Neste caso, quatro indicadores dos quatro blocos de luma 32 x 32; e 2 indicadores dos 2 blocos de croma 32 x 16 podem ser sinalizados.
[00123] Similarmente, o desenho original irá verificar um indicador de PCM associado com um bloco de luma e 2 blocos de croma no processo de filtragem, ao mesmo tempo em que, no método proposto, o indicador de PCM de um bloco de luma e o indicador de PCM de um bloco de croma podem ser verificados independentemente para os processos de determinação de filtragem
[00124] 4. É proposto que um indicador seja sinalizado em um alto nível (comparado com o nível de CU/bloco) para indicar se PCM é aplicável ou não. Se PCM não for aplicável, a sinalização do indicador de habilitação/desabilitação de PCM em nível inferior (tal como nível do bloco) é sempre ignorada para todos os blocos. O indicador pode ser sinalizado em VPS/PPS/cabeçalho de figura/cabeçalho de fatia/cabeçalho de grupo de peças de mosaico/peça de mosaico/linha da CTU/CTU
[00125] 5. Quando um bloco for codificado com linha de referência não adjacente (por exemplo, índice da linha de referência > 0), o modo grande angular pode ser automaticamente desabilitado.
[00126] a. Em um exemplo, o mapeamento entre os modos sinalizados
28 / 61 e os índices dos modos grande angular depois da análise sintática é ignorado.
[00127] b. Alternativamente, o modo grande angular é usado com a linha de referência adjacente, independente do índice da linha de referência sinalizado.
[00128] 6. Se habilita-se MRL e como transmitir o índice da linha de referência podem depender do formato de subamostragem de cor.
[00129] a. Em um exemplo, para o formato de cor 4:4:4, o MRL pode ser habilitado para todos os três componentes de cor.
[00130] b. O índice da linha de referência pode ser codificado uma vez para todos os componentes de cor de um bloco.
[00131] c. Alternativamente, dois índices da linha de referência podem ser codificados, em que um é para o componente de cor de luma (por exemplo, 1º componente de cor a ser codificado) e um para os outros dois componentes de cor.
[00132] d. Alternativamente, três índices da linha de referência podem ser codificados, em que um é para o componente de cor de luma (por exemplo, 1º componente de cor a ser codificado) e outros dois para os outros dois componentes de cor.
[00133] e. Alternativamente, quando múltiplos índices das linhas de referência precisarem ser codificados, a codificação preditiva pode ser aplicada para codificar as diferenças de índice.
[00134] f. Alternativamente, quando múltiplos índices das linhas de referência precisarem ser codificados, um indicador pode ser primeiramente sinalizado para dizer que todos os mesmos são iguais.
[00135] g. Em um exemplo, os diferentes componentes de cor podem escolher diferentes candidatos de linhas.
[00136] i. Por exemplo, os componentes Cb/Cr podem escolher a partir das primeira e segunda linhas vizinhas.
[00137] ii. A informação de MRL pode ser codificada de diferentes
29 / 61 maneiras para diferentes componentes de cor.
[00138] 7. O modo inter-intra e o modo MRLIP podem ser ambos habilitados para um bloco. Neste caso, o processo de intraprevisão usado no modo inter-intra pode se basear em uma linha/coluna não adjacentes ao bloco atual.
[00139] a. Em um exemplo, se o bloco atual for codificado no modo inter-intra, os índices da linha de referência podem ser adicionalmente sinalizados.
[00140] b. Tal método é aplicado em certas dimensões e locais de bloco.
[00141] c. Se este modo em conjunto está habilitado ou desabilitado pode ser sinalizado em SPS/VPS/PPS/cabeçalho de figura/cabeçalho de fatia/cabeçalho de grupo de peças de mosaico/CTUs
[00142] 8. Quando MRLIP se referir a um não adjacente (por exemplo, índice da linha de referência > 0) e a lista do MPM incluir um certo modo denotado por M1, M1 pode ser adicionalmente substituído por um outro modo, denotado por M2, no processo de decodificação.
[00143] a. Em um exemplo, o certo modo (com índice de modo K) é definido como o modo DC ou o modo plano ou o modo grande angular ou qualquer modo não angular.
[00144] b. O modo usado como uma substituição pode ser derivado a partir dos modos restantes na lista do MPM.
[00145] i. Em um exemplo, o primeiro modo com índice desigual a K pode ser utilizado para derivar o modo de substituição, por exemplo, com índice igual a (o primeiro modo mais M) em que M, por exemplo, é definido em 1.
[00146] ii. Em um exemplo, o último modo com índice desigual a K pode ser utilizado para derivar o modo de substituição, por exemplo, com índice igual a (o primeiro modo mais M) em que M, por exemplo, é definido
30 / 61 em 1.
[00147] 9. Quando MRLIP se referir a um não adjacente (por exemplo, índice da linha de referência > 0), em vez da codificação do índice de um modo intra incluído na lista do MPM, uma lista de candidatos fixos pode ser usada e o índice em relação à lista de candidatos fixos pode ser sinalizado.
[00148] a. Em um exemplo, a lista de candidatos fixos pode ser definida para incluir, por exemplo, os modos horizontal ou vertical.
[00149] b. Em um exemplo, a lista de candidatos fixos pode ser pré- definida.
[00150] c. Alternativamente, a lista de candidatos fixos pode ser sinalizada em SPS/VPS/PPS/cabeçalho de figura/cabeçalho de fatia/cabeçalho de grupo de peças de mosaico/CTUs.
[00151] d. Alternativamente, a lista de candidatos fixos pode depender da dimensão do bloco.
[00152] 10. Em vez de usar o mesmo índice da linha de referência para linhas acima e colunas à esquerda, é proposto que o índice das linhas acima e das colunas à esquerda possa ser sinalizado separadamente.
[00153] a. Em um exemplo, um método como este pode ser adicionado como um novo modo. Neste caso, apenas quando este modo estiver habilitado, a sinalização separada pode ser aplicada.
[00154] b. Em um exemplo, para diferentes combinações de índices de referência da linha acima e da coluna à esquerda, diferentes conjuntos de modos de intraprevisão permitidos podem ser utilizados.
[00155] c. Diferentes conjuntos de modos de intraprevisão utilizados neste método podem ser pré-definidos ou ser sinalizados em SPS/VPS/PPS/cabeçalho de figura/cabeçalho de fatia/cabeçalho de grupo de peças de mosaico/CTUs.
[00156] 11. É proposto permitir que os blocos com menos do que 64 amostras habilitem o modo PCM.
31 / 61
[00157] a. Em um exemplo, 4 x 4, 4 x 8 ou 8 x 4 também podem aplicar os modos PCM.
[00158] b. Em um exemplo, o tamanho de bloco mínimo com pcm_flag igual a 1 é definido em (valor de log2_min_pcm_luma_coding_block_size_minus2 codificado mais 2).
[00159] 12. É proposto permitir que os blocos com mais do que ou igual a 64*64 amostras habilitem o modo PCM.
[00160] a. Alternativamente, além do mais, um método como este é habilitado apenas quando o tamanho da LCU for igual a 128 x 128.
[00161] 13. É proposto sinalizar as indicações do número de amostras máximo/mínimo em um bloco de luma codificado em PCM.
[00162] a. Em um exemplo, durante a sinalização das indicações do máximo número de amostras em um bloco de luma codificado em PCM, as indicações da diferença entre os valores máximo e mínimo podem ser sinalizadas.
[00163] b. Em um exemplo, log2 do número de amostras máximo/mínimo em um bloco de luma codificado em PCM pode ser sinalizado.
[00164] c. Em um exemplo, durante a sinalização do máximo número de amostras em um bloco de luma codificado em PCM, o valor log2 da diferença entre os valores máximo e mínimo pode ser sinalizado.
[00165] 14. O mínimo tamanho permitido da largura de bloco e/ou da altura de bloco pode ser sinalizado/derivado separadamente, que podem ser desiguais um do outro.
[00166] a. A máxima largura e/ou altura de bloco permitida pode ser sinalizada/derivada separadamente.
[00167] b. Em um exemplo, o mínimo tamanho permitido da largura de bloco e da altura de bloco não é sinalizado, o mesmo é herdado para ser igual às mínimas largura e altura do bloco da CU, respectivamente.
32 / 61
[00168] c. Em um exemplo, o máximo tamanho permitido da largura de bloco e da altura de bloco não é sinalizado, o mesmo é herdado para ser igual à largura e à altura da LCU, respectivamente.
[00169] d. Se sinaliza-se um indicador de habilitação/desabilitação de PCM para o bloco pode depender se uma das seguintes condições é verdadeira: i. a largura do bloco atual não é menor do que a mínima largura de bloco, e a largura do bloco atual não é maior do que a máxima largura de bloco permitida; ii. a largura do bloco atual não é menor do que a mínima altura de bloco, e a largura do bloco atual não é maior do que a máxima altura de bloco permitida.
[00170] e. As indicações do tamanho mínimo da largura de bloco e da altura de bloco com PCM igual a 1 podem ser sinalizadas separadamente.
[00171] f. As indicações do tamanho máximo da largura de bloco e da altura de bloco com PCM igual a 1 podem ser sinalizadas separadamente.
[00172] 15. Diferente componente de cor pode ter diferentes restrições sobre quando os indicadores de PCM devem ser sinalizados no nível do bloco.
[00173] a. Em um exemplo, os tamanhos permitidos (por exemplo, log2_min_pcm_luma_coding_block_size_minus3, log2_diff_max_min_pcm_luma_coding_block_size em 0) para diferentes componentes de cor podem ser sinalizados separadamente.
[00174] b. Se sinala-se separadamente ou somente uma vez para todos os componentes de cor pode depender do formato de subamostragem de cor (por exemplo, 4:2:0, 4:4:4).
5. Modalidades de exemplo
[00175] As mudanças comparadas com a implementação de VTM-
3.0rc1 são destacadas em fonte grande em negrito. A parte deletada é
33 / 61 marcada com tachado.
5.1 Modalidade nº 1 Semântica
[00176] O pcm_enabled_flag igual a 0 especifica que a sintaxe relacionada a PCM (elementos de sintaxe pcm_sample_bit_depth_luma_minus1, pcm_sample_ bit_depth_chroma_minus1, log2_min_pcm_luma_coding_block_size_minus3, log2_diff_max_min_pcm_luma_coding_block_size, pcm_loop_filter_disabled_flag, pcm_flag, pcm_alignment_zero_bit e estrutura de sintaxe e pcm_sample()) não está presente em CVS.
[00177] NOTA 4 – Quando MinCbLog2SizeY for igual a 7 6 e pcm_enabled_flag for igual a 1, a sintaxe relacionada aos dados de amostra PCM (elementos de sintaxe pcm_flag, pcm_alignment_zero_bit e estrutura de sintaxe e pcm_sample()) não está presente em CVS, em virtude de o tamanho máximo dos blocos de codificação que podem conduzir a sintaxe relacionada aos dados de amostra PCM ser restrito a ser menor do que ou igual a Min(CtbLog2SizeY, 6 5). Portanto, o MinCbLog2SizeY igual a 7 6 com p pcm_enabled_flag igual a 1 não é uma definição apropriada para conduzir os dados de amostra PCM em CVS.
[00178] O pcm_loop_filter_disabled_flag especifica se o processo de filtro em laço está desabilitado em amostras reconstruídas em uma unidade de codificação com pcm_flag igual a 1 como segue: - se pcm_loop_filter_disabled_flag for igual a 1, os processos do filtro de desbloqueio, do filtro em laço adaptativo e do filtro de deslocamento adaptativo de amostra nas amostras reconstruídas em uma unidade de codificação com pcm_flag igual a 1 são desabilitados; - caso contrário (o valor de pcm_loop_filter_disabled_flag é igual a 0), os processos do filtro de desbloqueio, do filtro em laço adaptativo
34 / 61 e do filtro de deslocamento adaptativo de amostra nas amostras reconstruídas em uma unidade de codificação com pcm_flag igual a 1 não são desabilitados.
[00179] Quando o pcm_loop_filter_disabled_flag não estiver presente, é inferido que o mesmo é igual a 0.
5.2 Modalidade nº 2
[00180] Quando tanto MRLIP quanto PCM forem habilitados para uma sequência, o seguinte pode ser aplicado. Neste caso, o indicador de PCM é primeiramente codificado antes de enviar o índice de MRL. Sintaxe da Unidade de Codificação coding_unit(x0, y0, cbWidth, cbHeight, treeType) { Descritor se(slice_type != I) { cu_skip_flag[x0][y0] ae(v) se(cu_skip_flag[x0][y0] = = 0) pred_mode_flag ae(v) } se(CuPredMode[x0][y0] = = MODE_INTRA) { se(pcm_enabled_flag && cbWidth >= MinIpcmCbSizeX && cbWidth <= MaxIpcmCbSizeX && cbHeight >= MinIpcmCbSizeY && cbHeight <= MaxIpcmCbSizeY) pcm_flag[x0][y0] se(pcm_flag[x0][y0]) { //sintaxe relacionada a PCM } se não { se(treeType = = SINGLE_tree | | treeType = = DUAL_tree_LUMA) { se((y0 % CtbSizeY) > 0) intra_luma_ref_idx[x0][y0] ae(v) se (intra_luma_ref_idx[x0][y0] = = 0) ... se(intra_luma_mpm_flag[x0][y0]) intra_luma_mpm_idx[x0][y0] ae(v) se não intra_luma_mpm_remainder[x0][y0] ae(v) } se(treeType = = SINGLE_tree | | treeType = = DUAL_tree_chroma) intra_chroma_pred_mode[x0][y0] ae(v) } } se não { /* MODE_INTER */ … }
[00181] Alternativamente, a sinalização do indicador de PCM pode depender de ou a largura ou a altura exigidas satisfazerem as condições. coding_unit(x0, y0, cbWidth, cbHeight, treeType) { Descritor se(slice_type != I) { pred_mode_flag ae(v) }
35 / 61 se(CuPredMode[x0][y0] = = MODE_INTRA) { se(pcm_enabled_flag && (cbWidth >= MinIpcmCbSizeX && cbWidth <= MaxIpcmCbSizeX) || (cbHeight >= MinIpcmCbSizeY && cbHeight <= MaxIpcmCbSizeY) pcm_flag[x0][y0] ae(v) se(pcm_flag[x0][y0]) { … //elementos da sintaxe relacionada a PCM } se não { se((y0 % CtbSizeY) > 0) intra_luma_ref_idx[x0][y0] ae(v) se (intra_luma_ref_idx[x0][y0] = = 0) … } } se não { /* MODE_INTER */ … } … }
5.3 Modalidade nº 3
[00182] Nesta modalidade, os indicadores de habilitação/desabilitação de PCM podem ser associados com o componente de cor.
5.3.1 Sinalização dos Indicadores de PCM
[00183] A sinalização do indicador de habilitação/desabilitação de PCM é codificada separadamente para os componentes de luma e de croma quando a estrutura da árvore de partição separada (também conhecido como árvore dual) for usada. As mudanças propostas estão destacadas.
5.3.1.1 Com Dois Elementos de Sintaxe Diferentes coding_unit(x0, y0, cbWidth, cbHeight, treeType) { Descritor se(slice_type != I) { pred_mode_flag ae(v) } se(CuPredMode[x0][y0] = = MODE_INTRA) { se(pcm_enabled_flag && (cbWidth >= MinIpcmCbSizeX && cbWidth <= MaxIpcmCbSizeX) || (cbHeight >= MinIpcmCbSizeY && cbHeight <= MaxIpcmCbSizeY) { se(treeType = = SINGLE_tree | | treeType = = DUAL_tree_LUMA) pcm_flag_luma[x0][y0] ae(v) se não se(treeType = = DUAL_tree_chroma) pcm_flag_chroma[x0][y0]
36 / 61 se(((treeType = = SINGLE_tree | | treeType = = DUAL_tree_LUMA) && pcm_flag_luma[x0][y0])|| (treeType = = DUAL_tree_chroma&& pcm_flag_chroma[x0][y0])) { … //elementos da sintaxe relacionada a PCM } se não { se((y0 % CtbSizeY) > 0) intra_luma_ref_idx[x0][y0] ae(v) se (intra_luma_ref_idx[x0][y0] = = 0) … } } se não { /* MODE_INTER */ … } … }
5.3.1.2 Com Um Elemento de Sintaxe Diferente, Mas Semântica Diferente coding_unit(x0, y0, cbWidth, cbHeight, treeType) { Descritor se(slice_type != I) { pred_mode_flag ae(v) } se(CuPredMode[x0][y0] = = MODE_INTRA) { se(pcm_enabled_flag && (cbWidth >= MinIpcmCbSizeX && cbWidth <= MaxIpcmCbSizeX) || (cbHeight >= MinIpcmCbSizeY && cbHeight <= MaxIpcmCbSizeY) { pcm_flag[x0][y0] ae(v) se(pcm_flag[x0][y0])) { … //elementos da sintaxe relacionada a PCM } se não { se((y0 % CtbSizeY) > 0) intra_luma_ref_idx[x0][y0] ae(v) se (intra_luma_ref_idx[x0][y0] = = 0) … } } se não { /* MODE_INTER */ … } … }
[00184] Quando a árvore separada estiver habilitada, o pcm_flag decodificado é atribuído a pcm_flag_luma e pcm_flag_chroma separadamente, dependendo de treeType.
[00185] Mais especificamente, - se a árvore dual estiver desabilitada, (por exemplo, treeType é igual a SINGLE_tree), o pcm_flag decodificado é copiado tanto para pcm_flag_luma quanto para pcm_flag_chroma;
37 / 61 - caso contrário, * se o atual processo de análise sintática for para o componente de luma, (por exemplo, o treeType for igual a DUAL_tree_LUMA), o pcm_flag decodificado é copiado para ambos pcm_flag_luma * caso contrário (por exemplo, o treeType é igual a DUAL_tree_LUMA), o pcm_flag decodificado é copiado para pcm_flag_chroma.
5.3.2 Uso de indicadores de PCM
[00186] O processo de filtragem (por exemplo, desbloqueio, deslocamento adaptativo de amostra, ALF) pode depender do indicador de habilitação/desabilitação de PCM codificado associado com os componentes de cor.
[00187] Mais especificamente, se pcm_loop_filter_disabled_flag for igual a 1 e pcm_flag_luma[xP0][yP0] for igual a 1, a amostra de luma localizada em (xP0 , yP0) não é filtrada; se pcm_loop_filter_disabled_flag for igual a 1 e pcm_flag_chroma[xP0][yP0] for igual a 1, a amostra de croma localizada em (xP0 , yP0) não é filtrada.
[00188] Aqui, alguns exemplos são dados, como segue:
5.3.2.1 Processo de Filtragem para uma Amostra de Luma no Filtro de Desbloqueio
[00189] Alternativamente, as seguintes mudanças podem ser feitas por cima da especificação HEVC:
8.7.2.5.7 Processo de Filtragem para uma Amostra de Luma
[00190] Quando nDp for maior do que 0 e uma ou mais das seguintes condições forem verdadeiras, nDp é definido igual a 0: - pcm_loop_filter_disabled_flag é igual a 1 e
38 / 61 pcm_flag_luma[xP0][yP0] é igual a 1; - cu_transquant_bypass_flag da unidade de codificação que inclui o bloco de codificação que contém a amostra p0 é igual a 1.
[00191] Quando nDq for maior do que 0 e uma ou mais das seguintes condições forem verdadeiras, nDq é definido igual a 0: - pcm_loop_filter_disabled_flag é igual a 1 e pcm_flag_luma [xQ0][yQ0] é igual a 1; - cu_transquant_bypass_flag da unidade de codificação que inclui o bloco de codificação que contém a amostra q0 é igual a 1.
5.3.2.2 Processo de Filtragem para uma Amostra de Croma em Filtro de Desbloqueio
[00192] Alternativamente, as seguintes mudanças podem ser feitas por cima da especificação HEVC:
8.7.2.5.8 Processo de Filtragem para uma Amostra de Croma
[00193] Quando uma ou mais das seguintes condições forem verdadeiras, o valor de amostra filtrado p0’ é substituído pelo correspondente valor de amostra de entrada p0: - pcm_loop_filter_disabled_flag é igual a 1 e pcm_flag_chroma[xP0 * SubWidthC][yP0 * SubHeightC] é igual a 1; - cu_transquant_bypass_flag da unidade de codificação que inclui o bloco de codificação que contém a amostra p0 é igual a 1; - palette_mode_flag da unidade de codificação que inclui o bloco de codificação que contém a amostra p0 é igual a 1.
[00194] Quando uma ou mais das seguintes condições forem verdadeiras, o valor de amostra filtrado q0’ é substituído pelo correspondente valor de amostra de entrada q0: - pcm_loop_filter_disabled_flag é igual a 1 e pcm_flag chroma [xQ0 * SubWidthC][yQ0 * SubHeightC] é igual a 1; - cu_transquant_bypass_flag da unidade de codificação que
39 / 61 inclui o bloco de codificação que contém a amostra q0 é igual a 1; - palette_mode_flag da unidade de codificação que inclui o bloco de codificação que contém a amostra q0 é igual a 1.
[00195] Notas: para todas as modalidades expostas, o seguinte pode se aplicar: Em alguns exemplos, MinIpcmCbSizeX é igual a MinIpcmCbSizeY. Alternativamente, MinIpcmCbSizeX é desigual a MinIpcmCbSizeY.
[00196] Em alguns exemplos, MaxIpcmCbSizeX é igual a MaxIpcmCbSizeY. Alternativamente, MaxIpcmCbSizeX é desigual a MaxIpcmCbSizeY.
[00197] MinIpcmCbSizeX, MinIpcmCbSizeY, MaxIpcmCbSizeX, MaxIpcmCbSizeY podem ser derivados a partir dos elementos de sintaxe sinalizados em SPS/VPS/PPS, etc.
[00198] A figura 11 é um fluxograma para um método 1100 para o processamento de vídeo. O método 1100 inclui, na operação 1110, determinar, para um bloco de vídeo atual, que pelo menos um de um primeiro modo de codificação no qual a modulação por código de pulso (PCM) é usada ou de um segundo modo de codificação no qual a intraprevisão com base em múltiplas linhas de referência (MRLIP) é usada está habilitado.
[00199] O método 1100 inclui, na operação 1120, realizar, com base no primeiro modo de codificação ou no segundo modo de codificação, uma conversão entre o bloco atual e uma representação em fluxo contínuo de bits do vídeo, uma primeira indicação indicativa do uso do primeiro modo de codificação e/ou uma segunda indicação indicativa do uso do segundo modo de codificação sendo incluídas na representação em fluxo contínuo de bits de acordo com uma regra de ordenamento.
[00200] A figura 12 é um fluxograma para um método 1200 para o processamento de vídeo. O método 1200 inclui, na operação 1210,
40 / 61 determinar, para uma conversão entre um bloco de vídeo atual e uma representação em fluxo contínuo de bits do vídeo, com base em uma representação do componente de cor do vídeo, pelo menos um indicador associado com um modo de codificação com base em uma modulação por código de pulso do bloco atual.
[00201] O método 1200 inclui, na operação 1220, realizar, com base na determinação, a conversão.
[00202] A figura 13 é um fluxograma para um método 1300 para o processamento de vídeo. O método 1300 inclui, na operação 1310, realizar uma conversão entre um bloco atual de uma região de vídeo de um vídeo e uma representação em fluxo contínuo de bits do vídeo, a representação em fluxo contínuo de bits sendo formatada de acordo com uma regra em relação a uma aplicabilidade de uma modulação por código de pulso (PCM) no bloco atual, e a regra especificando para omitir uma indicação da PCM em um nível do bloco atual mediante uma determinação de que uma indicação de desabilitação da PCM é incluída em um nível da região de vídeo.
[00203] A figura 14 é um fluxograma para um método 1400 para o processamento de vídeo. O método 1400 inclui, na operação 1410, tomar uma decisão, com base em um tamanho de um bloco de vídeo atual, em relação à habilitação de um modo de codificação da modulação por código de pulso (PCM) para o bloco atual.
[00204] O método 1400 inclui, na operação 1420, realizar, com base na decisão, uma conversão entre o bloco atual e uma representação em fluxo contínuo de bits do vídeo.
[00205] A figura 15 é um fluxograma para um método 1500 para o processamento de vídeo. O método 1500 inclui, na operação 1510, determinar, para uma conversão entre um bloco atual de um vídeo e uma representação em fluxo contínuo de bits do vídeo, um mínimo valor permitido para uma altura ou uma largura do bloco atual, o mínimo valor permitido para
41 / 61 a altura sendo sinalizado ou derivado separadamente do mínimo valor permitido para a largura.
[00206] O método 1500 inclui, na operação 1520, realizar, com base na determinação, a conversão.
[00207] A figura 16 é um fluxograma para um método 1600 para o processamento de vídeo. O método 1600 inclui, na operação 1610, configurar, mediante uma determinação de que uma indicação de um bloco de vídeo atual que está sendo codificado com um modo de codificação da modulação por código de pulso (PCM) é sinalizada em uma representação em fluxo contínuo de bits do vídeo, uma representação do componente de cor do vídeo.
[00208] O método 1600 inclui, na operação 1620, realizar, com base na configuração, uma conversão entre o bloco atual e a representação em fluxo contínuo de bits.
[00209] A figura 17 é um fluxograma para um método 1700 para o processamento de vídeo. O método 1700 inclui, na operação 1710, determinar, para uma conversão entre um bloco de vídeo atual e uma representação em fluxo contínuo de bits do vídeo, que um modo grande angular está desabilitado para a conversão devido ao uso de um modo da linha de referência não adjacente para a conversão.
[00210] O método 1700 inclui, na operação 1720, realizar, com base na determinação, a conversão, o modo da linha de referência não adjacente usando pixels não adjacentes a partir de uma linha de referência do vídeo para a conversão do bloco atual, e o modo grande angular compreendendo uma direção de intraprevisão além da direção de intraprevisão angular convencional de 45 graus até -135 graus.
[00211] A figura 18 é um fluxograma para um método 1800 para o processamento de vídeo. O método 1800 inclui, na operação 1810, tomar uma decisão, com base em um formato de subamostragem de cor de um vídeo para uma conversão entre um bloco de vídeo atual e uma representação em fluxo
42 / 61 contínuo de bits do vídeo, em relação a se um modo de codificação de múltiplas linhas de referência (MRL) está habilitado para o bloco atual ou um formato de sinalização de um ou mais índices da linha de referência é usado para o modo de codificação MRL.
[00212] O método 1800 inclui, na operação 1820, realizar, com base na decisão, a conversão.
[00213] A figura 19 é um fluxograma para um método 1900 para o processamento de vídeo. O método 1900 inclui, na operação 1910, selecionar, mediante uma determinação de que um modo inter-intra e um modo de intraprevisão de múltiplas linhas de referência (MRLIP) são habilitados para um bloco de vídeo atual, uma linha ou uma coluna que não são adjacentes ao bloco atual para um processo de intraprevisão do modo inter-intra.
[00214] O método 1900 inclui, na operação 1920, realizar, com base na linha ou na coluna, uma conversão entre o bloco atual e uma representação em fluxo contínuo de bits do vídeo.
[00215] A figura 20 é um fluxograma para um método 2000 para o processamento de vídeo. O método 2000 inclui, na operação 2010, realizar, para um bloco atual de um vídeo codificado usando um modo de intraprevisão de múltiplas linhas de referência (MRLIP) que usa uma linha que não é adjacente ao bloco atual, uma conversão entre o bloco atual e uma representação em fluxo contínuo de bits do vídeo, a MRLIP usando adicionalmente uma lista do modo mais provável (MPM), e realizar a conversão compreendendo substituir um primeiro modo (M1) da lista do MPM com um segundo modo (M2) da lista do MPM.
[00216] A figura 21 é um fluxograma para um método 2100 para o processamento de vídeo. O método 2100 inclui, na operação 2110, realizar, para um bloco atual de um vídeo codificado usando um modo de intraprevisão de múltiplas linhas de referência (MRLIP) que usa uma linha que não é adjacente ao bloco atual, uma conversão entre o bloco atual e uma
43 / 61 representação em fluxo contínuo de bits do vídeo, a representação em fluxo contínuo de bits compreendendo um índice codificado de um modo em uma lista de candidatos fixos em vez de um índice codificado de um modo em uma lista do modo mais provável (MPM).
[00217] A figura 22 é um fluxograma para um método 2200 para o processamento de vídeo. O método 2200 inclui, na operação 2210, determinar, para uma conversão entre um bloco de vídeo atual e uma representação em fluxo contínuo de bits do vídeo usando um modo de codificação de múltiplas linhas de referência (MRL), que a representação em fluxo contínuo de bits inclui um primeiro índice correspondente às linhas acima usadas em uma previsão do bloco atual e um segundo índice correspondente às colunas à esquerda usadas na previsão.
[00218] O método 2200 inclui, na operação 2220, realizar, com base na determinação, a conversão.
[00219] A figura 23 é um diagrama de blocos de um aparelho para processar vídeo 2300. O aparelho 2300 pode ser usado para implementar um ou mais dos métodos aqui descritos. O aparelho 2300 pode ser incorporado em um telefone inteligente, um tablet, um computador, um receptor da Internet das Coisas (IoT) e similares. O aparelho 2300 pode incluir um ou mais processadores 2302, uma ou mais memórias 2304 e um hardware para processar vídeo 2306. O(s) processador(s) 2302 pode(m) ser configurado(s) para implementar um ou mais métodos descritos no presente documento. A memória (memórias) 2304 pode ser usada para armazenar os dados e o código usado para implementar os métodos e as técnicas aqui descritos. O hardware para processar vídeo 2306 pode ser usado para implementar, no sistema de circuitos de hardware, algumas técnicas descritas no presente documento.
[00220] 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 à figura 23.
44 / 61
[00221] Algumas modalidades da tecnologia descrita incluem tomar uma decisão ou determinação para habilitar uma ferramenta ou modo para processar vídeo. Em um exemplo, quando a ferramenta ou o modo para processar vídeo estiverem habilitados, o codificador irá usar ou implementar a ferramenta ou o modo no processamento de um bloco de vídeo, mas pode não modificar necessariamente o fluxo contínuo de bits resultante com base no uso da ferramenta ou do modo. Isto é, uma conversão do bloco de vídeo para a representação em fluxo contínuo de bits do vídeo irá usar a ferramenta ou o modo para processar vídeo quando os mesmos estiverem habilitados com base na decisão ou na determinação. Em um outro exemplo, quando a ferramenta ou o modo para processar vídeo estiverem habilitados, o decodificador irá processar o fluxo contínuo de bits com o conhecimento de que o fluxo contínuo de bits foi modificado com base na ferramenta ou no modo para processar vídeo. Isto é, uma conversão da representação em fluxo contínuo de bits do vídeo para o bloco de vídeo será realizada usando a ferramenta ou o modo para processar vídeo que foram habilitados com base na decisão ou na determinação.
[00222] Algumas modalidades da tecnologia descrita incluem tomar uma decisão ou determinação para desabilitar uma ferramenta ou um modo para processar vídeo. Em um exemplo, quando a ferramenta ou o modo para processar vídeo estiverem desabilitados, o codificador não irá usar a ferramenta ou o modo na conversão do bloco de vídeo para a representação em fluxo contínuo de bits do vídeo. Em um outro exemplo, quando a ferramenta ou o modo para processar vídeo estiverem desabilitados, o decodificador irá processar o fluxo contínuo de bits com o conhecimento de que o fluxo contínuo de bits não foi modificado usando a ferramenta ou o modo para processar vídeo que foram habilitados com base na decisão ou na determinação.
[00223] A figura 24 é um diagrama de blocos que mostra um sistema
45 / 61 para processar vídeo de exemplo 2400 no qual várias técnicas aqui descritas podem ser implementadas. Várias implementações podem incluir alguns ou todos os componentes do sistema 2400. O sistema 2400 pode incluir entrada 2402 para receber o conteúdo de vídeo. O conteúdo de vídeo pode ser recebido em um formato bruto ou descomprimido, por exemplo, valores de pixel multicomponentes de 8 ou 10 bits, ou pode estar em um formato comprimido ou codificado. A entrada 2402 pode representar uma interface de rede, uma interface de barramento periférico ou uma interface de armazenamento. Os exemplos da interface de rede incluem interfaces com fios, tais como Ethernet, rede óptica passiva (PON), etc. e interface sem fio, tais como interfaces Wi-Fi ou celular.
[00224] O sistema 2400 pode incluir um componente de codificação 2404 que pode implementar os vários métodos de codificação ou de codificação descritos no presente documento. O componente de codificação 2404 pode reduzir a taxa de bits média do vídeo proveniente da entrada 2402 para a saída do componente de codificação 2404 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 2404 pode ser tanto armazenada quanto transmitida por meio de uma comunicação conectada, da forma representada pelo componente 2406. A representação em fluxo contínuo de bits armazenada ou comunicada (ou codificada) do vídeo recebido na entrada 2402 pode ser usada pelo componente 2408 para gerar os valores de pixel ou vídeo exibível que é enviado para uma interface de exibição 2410. O processo de geração do vídeo visualizável pelo usuário a partir da representação em fluxo contínuo de bits é algumas vezes chamado de descompressão de vídeo. Além do mais, embora certas operações para processar vídeo sejam referidas como operações ou ferramentas de “codificação”, percebe-se que as ferramentas ou as operações de codificação
46 / 61 são usadas em um codificador e as correspondentes ferramentas ou operações de decodificação que revestem os resultados da codificação serão realizadas por um decodificador.
[00225] Os exemplos de uma interface de barramento periférica ou uma interface de exibição podem incluir um barramento serial universal (USB) ou uma interface multimídia de alta definição (HDMI) ou Displayport e similares. Os exemplos das interfaces de armazenamento incluem interfaces SATA (anexação por tecnologia avançada 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 e/ou exibição de vídeo digitais.
[00226] Será percebido que foram descritas diversas técnicas que irão beneficiar as modalidades de codificador e decodificador de vídeo incorporadas em dispositivos para processar vídeo, tais como telefones inteligentes, laptops, desktops e dispositivos similares, pela permissão do uso da ferramenta de intracodificação na codificação ou na decodificação do vídeo ou das imagens.
[00227] Em algumas modalidades, as seguintes soluções técnicas podem ser implementadas: A1. Um método para processar vídeo, que compreende: determinar, para um bloco de vídeo atual, que pelo menos um de um primeiro modo de codificação no qual a modulação por código de pulso (PCM) é usada ou de um segundo modo de codificação no qual a intraprevisão com base em múltiplas linhas de referência (MRLIP) é usada está habilitado; e realizar, com base no primeiro modo de codificação ou no segundo modo de codificação, uma conversão entre o bloco atual e uma representação em fluxo contínuo de bits do vídeo, em que uma primeira indicação indicativa do uso do primeiro modo de codificação e/ou uma segunda indicação indicativa do
47 / 61 uso do segundo modo de codificação são incluídas na representação em fluxo contínuo de bits de acordo com uma regra de ordenamento.
[00228] A2. O método da solução A1, em que a regra de ordenamento especifica que a primeira indicação está na representação em fluxo contínuo de bits antes da segunda indicação em uma ordem de decodificação.
[00229] A3. O método da solução A1, em que a representação em fluxo contínuo de bits omite um índice da linha de referência usado para o segundo modo de codificação mediante uma determinação de que o primeiro modo de codificação está habilitado.
[00230] A4. O método da solução A1, em que a representação em fluxo contínuo de bits compreende adicionalmente um índice da linha de referência usado para o segundo modo de codificação mediante uma determinação de que o primeiro modo de codificação está desabilitado.
[00231] A5. O método da solução A1, em que a representação em fluxo contínuo de bits omite a primeira indicação mediante uma determinação de que a representação em fluxo contínuo de bits compreende a segunda indicação.
[00232] A6. O método da solução A1, em que um processo de filtro em laço adaptativo (ALF) para o bloco atual está desabilitado mediante uma determinação de que o primeiro modo de codificação está habilitado.
[00233] A7. O método da solução A6, em que se uma indicação do processo ALF é incluída na representação em fluxo contínuo de bits ou não é com base na primeira indicação.
[00234] A8. O método da solução A6, em que se a primeira indicação é incluída na representação em fluxo contínuo de bits ou não é com base em uma indicação do processo ALF.
[00235] A9. O método da solução A6, em que a primeira indicação é sinalizada na representação em fluxo contínuo de bits antes de uma indicação do processo ALF mediante uma determinação de que um tamanho do bloco
48 / 61 atual é igual a um tamanho de uma unidade de árvore de codificação (CTU).
[00236] A10. O método da solução A6, em que a primeira indicação é sinalizada na representação em fluxo contínuo de bits antes de uma indicação de um processo de deslocamento adaptativo de amostra (SAO) mediante uma determinação de que um tamanho do bloco atual é igual a um tamanho de uma unidade de árvore de codificação (CTU).
[00237] A11. O método de qualquer uma das soluções A1 até A10, em que pcm_loop_filter_disabled_flag = 1.
[00238] A12. Um método para processar vídeo, que compreende: determinar, para uma conversão entre um bloco de vídeo atual e uma representação em fluxo contínuo de bits do vídeo, com base em uma representação do componente de cor do vídeo, pelo menos um indicador associado com um modo de codificação com base em uma modulação por código de pulso do bloco atual; e realizar, com base na determinação, a conversão.
[00239] A13. O método da solução A12, em que o pelo menos um indicador é com base em se as estruturas da árvore de partição separadas são usadas para cada componente da representação do componente de cor.
[00240] A14. O método da solução A12, em que o pelo menos um indicador compreende um primeiro indicador para um componente de luma da representação do componente de cor, e em que o pelo menos um indicador compreende adicionalmente um segundo indicador para um componente de croma da representação do componente de cor.
[00241] A15. O método da solução A12, em que a representação do componente de cor compreende três componentes de cor, e em que o pelo menos um indicador compreende três indicadores para cada um dos três componentes de cor.
[00242] A16. O método da solução A12, em que o pelo menos um indicador compreende uma indicação de habilitação da modulação por código
49 / 61 de pulso que corresponde a uma indicação de habilitação da modulação por código de pulso para cada componente da representação do componente de cor.
[00243] A17. O método da solução A16, em que um processo de filtragem para um componente da representação do componente de cor é com base na indicação de habilitação da modulação por código de pulso para um componente correspondente da representação do componente de cor.
[00244] A18. O método da solução A12, em que o pelo menos um indicador compreende uma indicação de habilitação da modulação por código de pulso para um componente de luma da representação do componente de cor, e em que uma indicação de habilitação da modulação por código de pulso para um componente de croma da representação do componente de cor é herdada a partir de um local no componente de luma.
[00245] A19. O método da solução A18, em que o local é uma posição central do componente de luma.
[00246] A20. Um método para processar vídeo, que compreende: realizar uma conversão entre um bloco atual de uma região de vídeo de um vídeo e uma representação em fluxo contínuo de bits do vídeo, em que a representação em fluxo contínuo de bits é formatada de acordo com uma regra em relação a uma aplicabilidade de uma modulação por código de pulso (PCM) no bloco atual, e em que a regra especifica para omitir uma indicação da PCM em um nível do bloco atual mediante uma determinação de que uma indicação de desabilitação da PCM é incluída em um nível da região de vídeo.
[00247] A21. O método da solução A20, em que a indicação da PCM é sinalizada em um conjunto de parâmetros de vídeo (VPS), um conjunto de parâmetros de figura (PPS), um cabeçalho de figura, um cabeçalho de fatia, um cabeçalho de grupo de peças de mosaico, uma peça de mosaico, uma unidade de árvore de codificação (CTU) ou uma linha da CTU.
[00248] A22. Um método para processar vídeo, que compreende:
50 / 61 tomar uma decisão, com base em um tamanho de um bloco de vídeo atual, em relação à habilitação de um modo de codificação da modulação por código de pulso (PCM) para o bloco atual; e realizar, com base na decisão, uma conversão entre o bloco atual e uma representação em fluxo contínuo de bits do vídeo.
[00249] A23. O método da solução A22, em que o modo de codificação da PCM é habilitado mediante uma determinação de que o bloco atual compreende menos do que 64 amostras.
[00250] A24. O método da solução A23, em que o tamanho do bloco atual é 4 x 4, 4 x 8 ou 8 x 4.
[00251] A25. O método da solução A23, em que um tamanho de bloco mínimo para o bloco atual com um pcm_flag igual a 1 é definido em (log2_min_pcm_luma_coding_block_size_minus2 + 2).
[00252] A26. O método da solução A22, em que o modo de codificação da PCM é habilitado mediante uma determinação de que o tamanho do bloco atual é maior do que ou igual a 64 x 64.
[00253] A27. O método da solução A22, em que o modo de codificação da PCM é habilitado mediante uma determinação de que um tamanho de uma maior unidade de codificação (LCU) é igual a 128 x 128.
[00254] A28. O método da solução A22, em que o modo de codificação da PCM é habilitado, e em que uma indicação de um máximo ou um mínimo número de amostras no bloco atual é sinalizada na representação em fluxo contínuo de bits.
[00255] A29. O método da solução A28, em que a indicação compreende uma diferença entre o máximo número de amostras e o mínimo número de amostras.
[00256] A30. O método da solução A28, em que a indicação compreende um logaritmo base 2 do máximo ou do mínimo número de amostras.
51 / 61
[00257] A31. O método da solução A28, em que a indicação compreende um logaritmo base 2 de uma diferença entre o máximo número de amostras e o mínimo número de amostras.
[00258] A32. Um método para processar vídeo, que compreende: determinar, para uma conversão entre um bloco atual de um vídeo e uma representação em fluxo contínuo de bits do vídeo, um mínimo valor permitido para uma altura ou uma largura do bloco atual, em que o mínimo valor permitido para a altura é sinalizado ou derivado separadamente a partir do mínimo valor permitido para a largura; e realizar, com base na determinação, a conversão.
[00259] A33. O método da solução A32, em que a representação em fluxo contínuo de bits compreende adicionalmente um máximo valor permitido para a altura ou a largura, e em que o máximo valor permitido para a altura é sinalizado ou derivado separadamente a partir do máximo valor permitido para a largura.
[00260] A34. O método da solução A32, em que a representação em fluxo contínuo de bits omite o mínimo valor permitido para a altura ou a largura, e em que o mínimo valor permitido é herdado a partir de um tamanho mínimo de um bloco da unidade de codificação (CU).
[00261] A35. O método da solução A32, em que a representação em fluxo contínuo de bits omite um máximo valor permitido para a altura ou a largura, e em que o máximo valor permitido é herdado a partir de um tamanho máximo de um bloco da unidade de codificação (CU).
[00262] A36. O método de qualquer uma das soluções A32 a A35, em que a altura é diferente da largura.
[00263] A37. O método da solução A32, em que a representação em fluxo contínuo de bits que compreende uma indicação de habilitação de um modo de codificação da modulação por código de pulso (PCM) para o bloco atual é com base em (a) a largura do bloco atual ser não menor do que o
52 / 61 mínimo valor permitido para a largura e ser não maior do que um máximo valor permitido para a largura, ou (b) a altura do bloco atual ser não menor do que o mínimo valor permitido da altura e ser não maior do que um máximo valor permitido para a altura.
[00264] A38. O método das soluções A32 ou 33, em que um modo de codificação da modulação por código de pulso (PCM) para o bloco atual está habilitado.
[00265] A39. Um método para processar vídeo, que compreende: configurar, mediante uma determinação de que uma indicação de um bloco de vídeo atual que está sendo codificado com um modo de codificação da modulação por código de pulso (PCM) é sinalizada em uma representação em fluxo contínuo de bits do vídeo, uma representação do componente de cor do vídeo; e realizar, com base na configuração, uma conversão entre o bloco atual e a representação em fluxo contínuo de bits.
[00266] A40. O método da solução A39, em que um tamanho permitido para cada componente da representação do componente de cor é sinalizado separadamente.
[00267] A41. O método da solução A39, em que a configuração é com base em um formato de subamostragem de cor da representação do componente de cor.
[00268] A42. O método da solução A41, em que o formato de subamostragem de cor é 4:2:0 ou 4:4:4.
[00269] A43. O método de qualquer uma das soluções A1 até A42, em que a conversão gera o bloco atual a partir da representação em fluxo contínuo de bits.
[00270] A44. O método de qualquer uma das soluções A1 até A42, em que a conversão gera a representação em fluxo contínuo de bits a partir do bloco atual.
[00271] A45. O método de qualquer uma das soluções A1 até A42, em
53 / 61 que realizar a conversão compreende analisar sintaticamente a representação em fluxo contínuo de bits com base em uma ou mais regras de decodificação.
[00272] A46. Um aparelho em um sistema de vídeo, que compreende 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 de qualquer uma das soluções A1 até A45.
[00273] A47. Um produto de programa de computador armazenado em uma mídia legível por computador não transitória, em que o produto de programa de computador inclui um código de programa para realizar o método de qualquer uma das soluções A1 até A45.
[00274] Em algumas modalidades, as seguintes soluções técnicas podem ser implementadas: B1. Um método para processar vídeo, que compreende: determinar, para uma conversão entre um bloco de vídeo atual e uma representação em fluxo contínuo de bits do vídeo, que um modo grande angular está desabilitado para a conversão devido ao uso de um modo da linha de referência não adjacente para a conversão; e realizar, com base na determinação, a conversão, em que o modo da linha de referência não adjacente usa os pixels não adjacentes a partir de uma linha de referência do vídeo para a conversão do bloco atual, e em que o modo grande angular compreende uma direção de intraprevisão além da direção de intraprevisão angular convencional de 45 graus até -135 graus.
[00275] B2. O método da solução B1, em que a conversão ignora um mapeamento entre um modo sinalizado e pelo menos um índice do modo grande angular.
[00276] B3. Um método para processar vídeo, que compreende: tomar uma decisão, com base em um formato de subamostragem de cor de um vídeo para uma conversão entre um bloco de vídeo atual e uma representação em fluxo contínuo de bits do vídeo, em relação a se um modo de codificação de
54 / 61 múltiplas linhas de referência (MRL) está habilitado para o bloco atual ou um formato de sinalização de um ou mais índices da linha de referência é usado para o modo de codificação MRL; e realizar, com base na decisão, a conversão.
[00277] B4. O método da solução B3, em que o modo de codificação MRL está habilitado para três componentes de cor de uma representação do componente de cor do vídeo mediante uma determinação de que o formato de subamostragem de cor é 4:4:4.
[00278] B5. O método da solução B3, em que um único índice da linha de referência dos um ou mais índices da linha de referência é codificado para três componentes de uma representação do componente de cor do vídeo.
[00279] B6. O método da solução B3, em que um primeiro índice da linha de referência dos um ou mais índices da linha de referência é codificado para um componente de luma de uma representação do componente de cor do vídeo, e em que um segundo índice da linha de referência é codificado para dois outros componentes de cor da representação do componente de cor.
[00280] B7. O método da solução B3, em que os um ou mais índices da linha de referência compreendem pelo menos dois índices da linha de referência que são codificados usando codificação preditiva.
[00281] B8. O método da solução B3, em que a representação em fluxo contínuo de bits compreende um único indicador que indica que cada um dos um ou mais índices da linha de referência são idênticos.
[00282] B9. O método da solução B3, em que o modo de codificação MRL está habilitado, e em que diferentes componentes de uma representação do componente de cor do vídeo selecionam diferentes linhas candidatas do modo de codificação MRL.
[00283] B10. O método da solução B9, em que os componentes Cb e Cr da representação do componente de cor selecionam as linhas candidatas a partir das primeira e segunda linhas vizinhas.
55 / 61
[00284] B11. Um método para processar vídeo, que compreende: selecionar, mediante uma determinação de que um modo inter-intra e um modo de intraprevisão de múltiplas linhas de referência (MRLIP) são habilitados para um bloco de vídeo atual, uma linha ou uma coluna que não são adjacentes ao bloco atual para um processo de intraprevisão do modo inter-intra; e realizar, com base na linha ou na coluna, uma conversão entre o bloco atual e uma representação em fluxo contínuo de bits do vídeo.
[00285] B12. O método da solução B11, em que a representação em fluxo contínuo de bits compreende uma indicação da linha ou da coluna.
[00286] B13. O método da solução B11, em que uma indicação de habilitação do modo inter-intra e do modo MRLIP é sinalizada em um conjunto de parâmetros de sequência (SPS), um conjunto de parâmetros de vídeo (VPS), um conjunto de parâmetros de figura (PPS), um cabeçalho de figura, um cabeçalho de fatia, um cabeçalho de grupo de peças de mosaico ou uma unidade de árvore de codificação (CTU).
[00287] B14. Um método para processar vídeo, que compreende: realizar, para um bloco atual de um vídeo codificado usando um modo de intraprevisão de múltiplas linhas de referência (MRLIP) que usa uma linha que não é adjacente ao bloco atual, uma conversão entre o bloco atual e uma representação em fluxo contínuo de bits do vídeo, em que a MRLIP usa adicionalmente uma lista do modo mais provável (MPM), e em que realizar a conversão compreende substituir um primeiro modo (M1) da lista do MPM com um segundo modo (M2) da lista do MPM.
[00288] B15. O método da solução B14, em que o primeiro modo é um modo DC, um modo plano, um modo grande angular ou qualquer modo não angular.
[00289] B16. O método da solução B14, em que derivar o segundo modo é com base nos modos restantes na lista do MPM.
[00290] B17. Um método para processar vídeo, que compreende:
56 / 61 realizar, para um bloco atual de um vídeo codificado usando um modo de intraprevisão de múltiplas linhas de referência (MRLIP) que usa uma linha que não é adjacente ao bloco atual, uma conversão entre o bloco atual e uma representação em fluxo contínuo de bits do vídeo, em que a representação em fluxo contínuo de bits compreende um índice codificado de um modo em uma lista de candidatos fixos em vez de um índice codificado de um modo em uma lista do modo mais provável (MPM).
[00291] B18. O método da solução B17, em que a lista de candidatos fixos compreende os modos horizontais ou os modos verticais.
[00292] B19. O método da solução B17, em que a lista de candidatos fixos é pré-determinada.
[00293] B20. O método da solução B17, em que a lista de candidatos fixos é sinalizada em um conjunto de parâmetros de sequência (SPS), um conjunto de parâmetros de vídeo (VPS), um conjunto de parâmetros de figura (PPS), um cabeçalho de figura, um cabeçalho de fatia, um cabeçalho de grupo de peças de mosaico ou uma unidade de árvore de codificação (CTU).
[00294] B21. O método da solução B17, em que a lista de candidatos fixos é com base em uma altura ou uma largura do bloco atual.
[00295] B22. Um método para processar vídeo, que compreende: determinar, para uma conversão entre um bloco de vídeo atual e uma representação em fluxo contínuo de bits do vídeo usando um modo de codificação de múltiplas linhas de referência (MRL), que a representação em fluxo contínuo de bits inclui um primeiro índice correspondente às linhas acima usadas em uma previsão do bloco atual e um segundo índice correspondente às colunas à esquerda usadas na previsão; e realizar, com base na determinação, a conversão.
[00296] B23. O método da solução B22, em que diferentes valores do primeiro índice e do segundo índice correspondem a diferentes conjuntos de modos de intraprevisão permitidos.
57 / 61
[00297] B24. O método da solução B23, em que os diferentes conjuntos de modos de intraprevisão permitidos são pré-determinados.
[00298] B25. O método da solução B23, em que os diferentes conjuntos de modos de intraprevisão permitidos são sinalizados em um conjunto de parâmetros de sequência (SPS), um conjunto de parâmetros de vídeo (VPS), um conjunto de parâmetros de figura (PPS), um cabeçalho de figura, um cabeçalho de fatia, um cabeçalho de grupo de peças de mosaico ou uma unidade de árvore de codificação (CTU).
[00299] B26. O método de qualquer uma das soluções B1 a B25, em que a conversão gera o bloco atual a partir da representação em fluxo contínuo de bits.
[00300] B27. O método de qualquer uma das soluções B1 a B25, em que a conversão gera a representação em fluxo contínuo de bits a partir do bloco atual.
[00301] B28. Um aparelho em um sistema de vídeo que compreende 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 soluções B1 a B27.
[00302] B29. Um produto de programa de computador armazenado em uma mídia legível por computador não transitória, em que o produto de programa de computador inclui um código de programa para realizar o método de qualquer uma das soluções B1 a B27.
[00303] As várias regras descritas no presente documento podem ser pré-especificadas e armazenadas nas modalidades na forma de instruções, código ou circuitos de hardware. Uma representação em fluxo contínuo de bits de um bloco de vídeo atual pode incluir bits contíguos ou não contíguos, da forma definida por um formato para o fluxo contínuo de bits. Por exemplo, alguma informação em relação ao bloco de vídeo atual pode ser armazenada em um campo de cabeçalho na representação em fluxo contínuo de bits.
58 / 61
[00304] As soluções, os exemplos, as modalidades, os módulos e as operações funcionais descritos e ainda outros, descritos neste documento, podem ser implementados em sistema de circuitos eletrônico digital, ou em software de computador, software embarcado, ou hardware, incluindo as estruturas descritas neste documento e seus equivalentes estruturais, ou em combinações de um ou mais dos mesmos. As modalidades descritas e ainda outras 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 para execução pelo, ou para controlar a operação do, aparelho para processar 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 de matéria que efetua um sinal propagado legível por máquina, ou uma combinação de um ou mais dos mesmos. O termo “aparelho para processar dados” abrange todos os aparelhos, dispositivos e máquinas para o processamento de dados, incluindo, a título de exemplo, um processador programável, um computador, ou múltiplos processadores ou computadores. O aparelho pode incluir, além do hardware, o código que cria um ambiente de execução para o programa de computador em questão, por exemplo, o código que constitui o software embarcado do 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. Um sinal propagado é um sinal artificialmente gerado, por exemplo, um sinal elétrico gerado por máquina, óptico ou eletromagnético, que é gerado para codificar a informação para transmissão para o aparelho receptor adequado.
[00305] Um programa de computador (também conhecido como um programa, um software, uma aplicação em software, um script ou um código) pode ser escrito em qualquer forma de linguagem de programação, incluindo
59 / 61 linguagens compiladas ou interpretadas, e o mesmo pode ser implementado em qualquer forma, incluindo como um programa independente 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 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 são localizados em um local ou distribuídos através de múltiplos locais e interconectados por uma rede de comunicação.
[00306] Os processos e os fluxos lógicos descritos neste documento podem ser realizados por um ou mais processadores programáveis que executam um ou mais programas de computador para realizar as funções pela operação nos dados de entrada e gerando saída. Os processos e fluxos lógicos também podem ser realizados pelo, e o aparelho também pode ser implementado como o, sistema 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).
[00307] 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 quaisquer 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 as instruções e um ou mais
60 / 61 dispositivos de memória para armazenar as instruções e os 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 adequada para armazenar as instruções de programa de computador e os 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; discos magnéticos, por exemplo, discos rígidos internos ou discos removíveis; discos magneto-ópticos; e discos tipo CD ROM e DVD- ROM. O processador e a memória podem ser complementados pelo, ou incorporados no, sistema de circuitos lógico de propósito especial.
[00308] Embora este documento de patente contenha muitas especificidades, as mesmas não devem ser interpretadas como limitações no escopo de qualquer assunto em questão ou do que pode ser reivindicado, mas, em vez disto, como descrições dos recursos que podem ser específicos de modalidades em particular de técnicas em particular. Certos recursos que são descritos neste documento de patente no contexto de modalidades separadas também podem ser implementados em combinação em uma única modalidade. Inversamente, vários recursos que são descritos no contexto de uma única modalidade também podem ser implementados em múltiplas modalidades separadamente ou em qualquer subcombinação adequada. Além do mais, embora os recursos possam ser supradescritos como agindo em certas combinações e até mesmo inicialmente reivindicados como tal, um ou mais recursos provenientes de uma combinação reivindicada podem, em alguns casos, ser removidos da combinação, e a combinação reivindicada pode ser direcionada para uma subcombinação ou uma variação de uma
61 / 61 subcombinação.
[00309] 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 ou em ordem sequencial, ou que todas as operações ilustradas sejam realizadas, para alcançar os 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.
[00310] Apenas umas poucas implementações e exemplos são descritos, e outras implementações, melhorias e variações podem ser feitas com base no que é descrito e ilustrado neste documento de patente.

Claims (20)

REIVINDICAÇÕES
1. Método para processar dados de vídeo, caracterizado pelo fato de que compreende: realizar uma conversão entre uma unidade de vídeo atual de um vídeo e um fluxo de bits do vídeo; em que uma de uma primeira e uma segunda indicações é usada para indicar o uso de uma modulação por código de pulso (PCM) para a unidade de vídeo atual, e a outra da uma ou da segunda indicações é usada para indicar a informação de modo de múltiplas linhas de referência com base em intraprevisão (MRLIP) para a unidade de vídeo atual, e em que se a segunda indicação está presente no fluxo de bits está relacionada à primeira indicação.
2. Método de acordo com a reivindicação 1, caracterizado pelo fato de que a primeira indicação é usada para indicar o uso da PCM, e a segunda indicação é usada para indicar a informação de modo do MRLIP, e em que em um primeiro caso em que a primeira indicação indica que a PCM está aplicada à unidade de vídeo atual, a segunda indicação não está presente no fluxo de bits.
3. Método de acordo com a reivindicação 1 ou 2, caracterizado pelo fato de que a informação de modo compreende um índice de linha de referência.
4. Método de acordo com qualquer uma das reivindicações 1 a 3, caracterizado pelo fato de que em que a unidade de vídeo atual inclui um bloco de vídeo de luma e pelo menos um bloco de vídeo de croma, e a primeira indicação inclui uma indicação de luma e uma indicação de croma em resposta a uma única árvore sendo aplicada à unidade de vídeo atual, e em que a indicação de luma é usada para indicar o uso da PCM para o componente de luma, a indicação de croma é usada para indicar o uso da PCM para pelo menos um componente de croma.
5. Método de acordo com a reivindicação 4, caracterizado pelo fato de que compreende: aplicar um processo de filtragem para o bloco de vídeo de luma com base na indicação de luma durante a conversão.
6. Método de acordo com a reivindicação 5, caracterizado pelo fato de que o processo de filtragem é um processo de filtro de desbloqueio.
7. Método de acordo com a reivindicação 4, caracterizado pelo fato de que compreende: aplicar um processo de filtragem para o pelo menos um bloco de vídeo de croma com base na indicação de croma durante a conversão.
8. Método de acordo com a reivindicação 7, caracterizado pelo fato de que o processo de filtragem é um processo de filtro de desbloqueio.
9. Método de acordo com a reivindicação 4, caracterizado pelo fato de que a indicação de luma é um indicador de uso, e a indicação de croma é um indicador de uso.
10. Método de acordo com qualquer uma das reivindicações 1 a 9, caracterizado pelo fato de que a unidade de vídeo atual é uma unidade de vídeo de luma e a primeira indicação é uma indicação de luma em resposta a uma árvore dupla sendo aplicada à unidade de vídeo atual, ou em que a unidade de vídeo atual é uma unidade de vídeo de croma com dois componentes de cor e a primeira indicação é uma indicação de croma em resposta a uma árvore dupla sendo aplicada à unidade de vídeo atual.
11. Método de acordo com qualquer uma das reivindicações 1 a 9, caracterizado pelo fato de que a primeira indicação é usada para indicar a informação de modo da MRLIP, e a segunda indicação é usada para indicar o uso do PCM, e em que em um segundo caso em que a primeira indicação indica que a MRLIP está aplicada à unidade de vídeo atual, a segunda indicação não está presente no fluxo de bits.
12. Método de acordo com a reivindicação 11, caracterizado pelo fato de que em um terceiro caso em que a primeira indicação indica que o MRLIP não está aplicado à unidade de vídeo atual, a segunda indicação está presente no fluxo de bits.
13. Método de acordo com qualquer uma das reivindicações 1 a 12, caracterizado pelo fato de que a conversão inclui codificar a unidade de vídeo atual no fluxo de bits.
14. Método de acordo com qualquer uma das reivindicações 1 a 12, caracterizado pelo fato de que a conversão inclui decodificar a unidade de vídeo atual do fluxo de bits.
15. Aparelho para processar dados de 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: realizar uma conversão entre uma unidade de vídeo atual de um vídeo e um fluxo de bits do vídeo; em que uma de uma primeira e uma segunda indicações é usada para indicar o uso de uma modulação por código de pulso (PCM) para a unidade de vídeo atual, e a outra da uma ou da segunda indicações é usada para indicar a informação de modo de múltiplas linhas de referência com base em intraprevisão (MRLIP) para a unidade de vídeo atual, e em que se a segunda indicação está presente no fluxo de bits está relacionada à primeira indicação.
16. Aparelho de acordo com a reivindicação 15, caracterizado pelo fato de que a primeira indicação é usada para indicar o uso da PCM, e a segunda indicação é usada para indicar a informação de modo do MRLIP, e em que em um primeiro caso em que a primeira indicação indica que a PCM está aplicada à unidade de vídeo atual, a segunda indicação não está presente no fluxo de bits.
17. Aparelho de acordo com a reivindicação 15 ou 16,
caracterizado pelo fato de que a informação de modo compreende um índice de linha de referência.
18. Aparelho de acordo com a reivindicação 15 ou 16, caracterizado pelo fato de que em que a unidade de vídeo atual inclui um bloco de vídeo de luma e pelo menos um bloco de vídeo de croma, e a primeira indicação inclui uma indicação de luma e uma indicação de croma em resposta a uma única árvore sendo aplicada à unidade de vídeo atual, e em que a indicação de luma é usada para indicar o uso da PCM para o componente de luma, a indicação de croma é usada para indicar o uso da PCM para pelo menos um componente de croma.
19. Meio de armazenamento legível por computador não transitório, caracterizado pelo fato de que armazena instruções que fazem o processador: realizar uma conversão entre uma unidade de vídeo atual de um vídeo e um fluxo de bits do vídeo; em que uma de uma primeira e uma segunda indicações é usada para indicar o uso de uma modulação por código de pulso (PCM) para a unidade de vídeo atual, e a outra da uma ou da segunda indicações é usada para indicar a informação de modo de múltiplas linhas de referência com base em intraprevisão (MRLIP) para a unidade de vídeo atual, e em que se a segunda indicação está presente no fluxo de bits está relacionada à primeira indicação.
20. 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: gerar o fluxo de bits com base em uma unidade de vídeo atual do vídeo; em que uma de uma primeira e uma segunda indicações é usada para indicar o uso de uma modulação por código de pulso (PCM) para a unidade de vídeo atual, e a outra da uma ou da segunda indicações é usada para indicar a informação de modo de múltiplas linhas de referência com base em intraprevisão (MRLIP) para a unidade de vídeo atual, e em que se a segunda indicação está presente no fluxo de bits está relacionada à primeira indicação.
BR112021009666-3A 2018-11-22 2019-11-22 método para processar vídeo, aparelho em um sistema de vídeo, e, produto de programa de computador BR112021009666A2 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN2018116885 2018-11-22
CNPCT/CN2018/116885 2018-11-22
PCT/CN2019/120266 WO2020103931A1 (en) 2018-11-22 2019-11-22 Pulse code modulation technique in video processing

Publications (1)

Publication Number Publication Date
BR112021009666A2 true BR112021009666A2 (pt) 2021-08-17

Family

ID=70774307

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112021009666-3A BR112021009666A2 (pt) 2018-11-22 2019-11-22 método para processar vídeo, aparelho em um sistema de vídeo, e, produto de programa de computador

Country Status (12)

Country Link
US (2) US11095882B2 (pt)
EP (1) EP3868094A4 (pt)
JP (2) JP7182098B2 (pt)
KR (2) KR102636813B1 (pt)
CN (2) CN113170116A (pt)
AU (1) AU2019382524B2 (pt)
BR (1) BR112021009666A2 (pt)
CA (1) CA3120533C (pt)
MX (1) MX2021005654A (pt)
SG (1) SG11202105187VA (pt)
WO (2) WO2020103932A1 (pt)
ZA (1) ZA202103316B (pt)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10432929B2 (en) 2018-02-12 2019-10-01 Tencent America LLC Method and apparatus for multiple line intra prediction in video compression
WO2020003282A1 (en) 2018-06-29 2020-01-02 Beijing Bytedance Network Technology Co., Ltd. Managing motion vector predictors for video coding
TWI743506B (zh) 2018-06-29 2021-10-21 大陸商北京字節跳動網絡技術有限公司 來自多個查找表(lut)的選擇
KR20240005240A (ko) 2018-06-29 2024-01-11 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 Lut에서의 모션 후보들의 검사 순서
CA3101730A1 (en) 2018-06-29 2020-01-02 Beijing Bytedance Network Technology Co., Ltd. Partial/full pruning when adding a hmvp candidate to merge/amvp
WO2020003284A1 (en) 2018-06-29 2020-01-02 Beijing Bytedance Network Technology Co., Ltd. Interaction between lut and amvp
KR20240007299A (ko) 2018-06-29 2024-01-16 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 룩업 테이블의 업데이트: fifo, 제약된 fifo
JP7460617B2 (ja) 2018-06-29 2024-04-02 北京字節跳動網絡技術有限公司 Lut更新条件
WO2020008350A1 (en) 2018-07-02 2020-01-09 Beijing Bytedance Network Technology Co., Ltd. Luts with intra prediction modes and intra mode prediction from non-adjacent blocks
US10567752B2 (en) 2018-07-02 2020-02-18 Tencent America LLC Method and apparatus for intra prediction for non-square blocks in video compression
TWI820211B (zh) 2018-09-12 2023-11-01 大陸商北京字節跳動網絡技術有限公司 取決於總數減去k的開始檢查hmvp候選的條件
WO2020101559A1 (en) * 2018-11-15 2020-05-22 Telefonaktiebolaget Lm Ericsson (Publ) Deblocking in a video encoder and/or video decoder
EP3868094A4 (en) 2018-11-22 2022-02-23 Beijing Bytedance Network Technology Co., Ltd. PULSE CODE MODULATION TECHNIQUE IN VIDEO PROCESSING
KR20240010576A (ko) 2019-01-10 2024-01-23 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 Lut 업데이트의 호출
CN117201771A (zh) * 2019-01-13 2023-12-08 Lg 电子株式会社 用于执行基于mrl的帧内预测的图像编译方法和装置
WO2020143824A1 (en) 2019-01-13 2020-07-16 Beijing Bytedance Network Technology Co., Ltd. Interaction between lut and shared merge list
WO2020147773A1 (en) 2019-01-16 2020-07-23 Beijing Bytedance Network Technology Co., Ltd. Inserting order of motion candidates in lut
KR20210118951A (ko) 2019-03-15 2021-10-01 엘지전자 주식회사 크로마 포맷에 대한 정보를 시그널링 하는 방법 및 장치
CN113615193B (zh) 2019-03-22 2024-06-25 北京字节跳动网络技术有限公司 Merge列表构建和其他工具之间的交互
CA3137163C (en) 2019-04-24 2024-05-14 Bytedance Inc. Constraints on quantized residual differential pulse code modulation representation of coded video
EP3942799A4 (en) 2019-05-01 2022-06-08 ByteDance Inc. INTRACODED VIDEO USING QUANTIZED RESIDUAL PULSE CODE MODULATION ENCODING
EP3948663A4 (en) 2019-05-02 2022-06-08 ByteDance Inc. CODING MODE BASED ON A CODING TREE STRUCTURE TYPE
WO2021032112A1 (en) 2019-08-19 2021-02-25 Beijing Bytedance Network Technology Co., Ltd. Initialization for counter-based intra prediction mode
US11553208B2 (en) * 2019-11-27 2023-01-10 Tencent America LLC Method and system of video coding using a subset of available intra prediction modes for multiple reference lines
EP4140134A4 (en) 2020-05-22 2023-07-12 ByteDance Inc. SCALABLE NESTING SEI MESSAGE HANDLING IN A VIDEO PARTIAL BITSTREAM EXTRACTION METHOD
WO2021237183A1 (en) 2020-05-22 2021-11-25 Bytedance Inc. Signaling of coded picture buffer information in video bitstreams
KR20230020980A (ko) 2020-06-09 2023-02-13 바이트댄스 아이엔씨 다중-계층 비디오 비트스트림의 서브-비트스트림 추출
US20220337875A1 (en) * 2021-04-16 2022-10-20 Tencent America LLC Low memory design for multiple reference line selection scheme
WO2023129918A1 (en) * 2021-12-28 2023-07-06 Innopeak Technology, Inc. Intra prediction with multiple reference lines
WO2023195646A1 (ko) * 2022-04-05 2023-10-12 현대자동차주식회사 선택적 다중 참조라인을 이용하는 비디오 코딩을 위한 방법 및 장치
WO2024007158A1 (zh) * 2022-07-05 2024-01-11 Oppo广东移动通信有限公司 一种候选列表构建方法、视频编解码方法、装置和***

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101270167B1 (ko) * 2006-08-17 2013-05-31 삼성전자주식회사 저복잡도의 이미지 압축 방법 및 장치, 저복잡도의 이미지복원 방법 및 장치
PL3457689T3 (pl) 2010-05-25 2020-12-28 Lg Electronics Inc. Nowy tryb predykcji planarnej
MX338475B (es) 2010-11-26 2016-04-18 Nec Corp Dispositivo de codificacion de video, dispositivo de decodificacion de video, metodo de codificacion de video, metodo de decodificacion de video, y programa.
JP5850214B2 (ja) * 2011-01-11 2016-02-03 ソニー株式会社 画像処理装置および方法、プログラム、並びに記録媒体
CA2819401C (en) 2011-02-10 2020-02-11 Sony Corporation Image processing device and image processing method
US9232218B2 (en) * 2012-03-01 2016-01-05 Connesta System and method for data insertion in video stream
RU2608354C2 (ru) 2012-07-02 2017-01-18 Самсунг Электроникс Ко., Лтд. Способ и устройство для кодирования видео и способ и устройство для декодирования видео, определяющие список опорных изображений внешнего прогнозирования в зависимости от размера блока
US9491460B2 (en) * 2013-03-29 2016-11-08 Qualcomm Incorporated Bandwidth reduction for video coding prediction
CN103248892A (zh) * 2013-05-07 2013-08-14 北京大学 一种帧内预测方法及装置
US10271052B2 (en) * 2014-03-14 2019-04-23 Qualcomm Incorporated Universal color-space inverse transform coding
US9918105B2 (en) * 2014-10-07 2018-03-13 Qualcomm Incorporated Intra BC and inter unification
WO2016153251A1 (ko) * 2015-03-23 2016-09-29 엘지전자 주식회사 비디오 신호의 처리 방법 및 이를 위한 장치
US20160373782A1 (en) * 2015-06-18 2016-12-22 Qualcomm Incorporated Intra prediction and intra mode coding
CN108293116A (zh) * 2015-11-24 2018-07-17 三星电子株式会社 视频解码方法及设备和视频编码方法及设备
ES2711189R1 (es) * 2016-04-06 2020-02-04 Kt Corp Metodo y aparato para procesar senales de video
US10750172B2 (en) 2016-04-22 2020-08-18 Vid Scale, Inc. Prediction systems and methods for video coding based on filtering nearest neighboring pixels
CN109076241B (zh) * 2016-05-04 2023-06-23 微软技术许可有限责任公司 利用样本值的非相邻参考线进行帧内图片预测
US9948930B2 (en) * 2016-05-17 2018-04-17 Arris Enterprises Llc Template matching for JVET intra prediction
US10944963B2 (en) * 2016-05-25 2021-03-09 Arris Enterprises Llc Coding weighted angular prediction for intra coding
CA3025488A1 (en) * 2016-05-25 2017-11-30 Arris Enterprises Llc Weighted angular prediction for intra coding
ES2699691R1 (es) * 2016-06-24 2019-04-05 Kt Corp Método y aparato para procesar señales de vídeo
EP3496399B1 (en) * 2016-08-03 2024-06-19 KT Corporation Video signal processing method and device
AU2018230328B2 (en) * 2017-03-10 2021-05-06 Hfi Innovation Inc. Method and apparatus of implicit intra coding tool settings with intra directional prediction modes for video coding
US10623738B2 (en) * 2017-04-06 2020-04-14 Futurewei Technologies, Inc. Noise suppression filter
US10742975B2 (en) * 2017-05-09 2020-08-11 Futurewei Technologies, Inc. Intra-prediction with multiple reference lines
WO2019078629A1 (ko) * 2017-10-18 2019-04-25 한국전자통신연구원 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
CN108322745B (zh) * 2018-02-28 2019-12-03 中南大学 一种基于不可分二次变换模式的帧内快速选择方法
EP3868094A4 (en) 2018-11-22 2022-02-23 Beijing Bytedance Network Technology Co., Ltd. PULSE CODE MODULATION TECHNIQUE IN VIDEO PROCESSING

Also Published As

Publication number Publication date
JP7182098B2 (ja) 2022-12-02
CA3120533C (en) 2024-06-11
CN113316931B (zh) 2024-04-12
AU2019382524B2 (en) 2023-02-02
EP3868094A4 (en) 2022-02-23
CN113316931A (zh) 2021-08-27
SG11202105187VA (en) 2021-06-29
WO2020103932A1 (en) 2020-05-28
JP2023011862A (ja) 2023-01-24
KR102636813B1 (ko) 2024-02-15
MX2021005654A (es) 2021-07-07
CN113170116A (zh) 2021-07-23
ZA202103316B (en) 2022-10-26
US20210029352A1 (en) 2021-01-28
AU2019382524A1 (en) 2021-06-10
KR20230170819A (ko) 2023-12-19
US11743453B2 (en) 2023-08-29
US20210344908A1 (en) 2021-11-04
KR20210090175A (ko) 2021-07-19
CA3120533A1 (en) 2020-05-28
JP7425158B2 (ja) 2024-01-30
US11095882B2 (en) 2021-08-17
EP3868094A1 (en) 2021-08-25
WO2020103931A1 (en) 2020-05-28
JP2022508194A (ja) 2022-01-19

Similar Documents

Publication Publication Date Title
BR112021009666A2 (pt) método para processar vídeo, aparelho em um sistema de vídeo, e, produto de programa de computador
US20210185362A1 (en) Binarization of partitioning related to extended quadtree
US11228761B2 (en) Border handling for extended quadtree partitions
US20240107016A1 (en) Block size dependent use of video coding mode
US11902586B2 (en) Profile tier level parameter set in video coding
US20230345056A1 (en) Scaling process for coding block
US20230239483A1 (en) Techniques for implementing a decoding order within a coded picture
BR112021012949A2 (pt) Aparelho, método de predição intra de bloco de imagem, dispositivo para codificar ou decodificar imagem e gravação não transitória
US20230421817A1 (en) Constraints on collocated pictures in video coding
RU2806548C2 (ru) Способ импульсно-кодовой модуляции для обработки видео
US11997318B2 (en) Filter parameter signaling in video picture headers
RU2815443C2 (ru) Определение режима разделения изображения на основе размера блока
US20240146971A1 (en) High Level Control Of Filtering In Video Coding

Legal Events

Date Code Title Description
B07A Application suspended after technical examination (opinion) [chapter 7.1 patent gazette]