BR112020025939A2 - previsão intra de ângulo amplo e combinação de previsão intra dependente da posição - Google Patents

previsão intra de ângulo amplo e combinação de previsão intra dependente da posição Download PDF

Info

Publication number
BR112020025939A2
BR112020025939A2 BR112020025939-0A BR112020025939A BR112020025939A2 BR 112020025939 A2 BR112020025939 A2 BR 112020025939A2 BR 112020025939 A BR112020025939 A BR 112020025939A BR 112020025939 A2 BR112020025939 A2 BR 112020025939A2
Authority
BR
Brazil
Prior art keywords
block
square
video block
fact
reference samples
Prior art date
Application number
BR112020025939-0A
Other languages
English (en)
Inventor
Fabien Racape
Gagan RATH
Edouard Francois
Fabrice Urban
Original Assignee
Interdigital Vc Holdings, 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
Priority claimed from EP18306225.6A external-priority patent/EP3627835A1/en
Application filed by Interdigital Vc Holdings, Inc. filed Critical Interdigital Vc Holdings, Inc.
Publication of BR112020025939A2 publication Critical patent/BR112020025939A2/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/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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • 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/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/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

A presente invenção se refere a métodos e aparelhos para realizar previsão intra em um codificador ou um decodificador para blocos não quadrados permitem uma combinação de amostras de referência de uma linha acima do bloco não quadrado e uma linha à esquerda do bloco não quadrado a ser usado para a previsão. Em uma modalidade, é usada uma combinação ponderada de amostras de referência. Em outra modalidade, os ângulos de previsão são estendidos na direção mais longa do bloco não quadrado, de modo que menos ângulos de previsão sejam usados na direção mais curta.

Description

"PREVISÃO INTRA DE ÂNGULO AMPLO E COMBINAÇÃO DE PREVISÃO INTRA DEPENDENTE DA POSIÇÃO" CAMPO DA TÉCNICA
[001] Pelo menos uma das presentes modalidades geralmente se refere a um método ou aparelho para codificação ou decodificação de vídeo.
FUNDAMENTOS DA INVENÇÃO
[002] Para alcançar alta eficiência de compressão, esquemas de codificação de imagem e vídeo geralmente empregam previsão, incluindo previsão de vetor de movimento, e transformação para alavancar redundância espacial e temporal no conteúdo de vídeo. Geralmente, a previsão intra ou inter é usada para explorar a correlação intra ou inter quadro, então as diferenças entre a imagem original e a imagem prevista, frequentemente denotadas como erros de previsão ou resíduos de previsão, são transformadas, quantizadas e codificadas por entropia. Para reconstruir o vídeo, os dados compactados são decodificados por processos inversos correspondentes à codificação de entropia, quantização, transformação e previsão.
SUMÁRIO DA INVENÇÃO
[003] Desvantagens e desvantagens do estado da técnica podem ser abordadas pelos aspectos gerais descritos neste documento, que são direcionados para bloquear direções de previsão intra adaptável de forma na codificação e decodificação.
[004] De acordo com um primeiro aspecto, é fornecido um método. O método compreende etapas para prever uma amostra de um bloco de vídeo não quadrado usando pelo menos uma das N amostras de referência de uma fileira acima do bloco de vídeo não quadrado ou pelo menos uma das M amostras de referência de uma coluna à esquerda do bloco de vídeo não quadrado; e, codificar o bloco de vídeo não quadrado usando a referida previsão em um modo de codificação intra.
[005] De acordo com outro aspecto, é fornecido outro método. O método compreende etapas para prever uma amostra de um bloco de vídeo não quadrado usando pelo menos uma das N amostras de referência de uma linha acima do bloco de vídeo não quadrado ou pelo menos uma das M amostras de referência de uma coluna à esquerda do bloco de vídeo não quadrado; e decodificar o bloco de vídeo não quadrado usando a referida previsão em um modo de codificação intra.
[006] De acordo com outro aspecto, é fornecido um aparelho. O aparelho compreende um processador. O processador pode ser configurado para codificar um bloco de um vídeo ou decodificar um fluxo de bits executando qualquer um dos métodos acima mencionados.
[007] De acordo com outro aspecto geral de pelo menos uma modalidade, é fornecido um dispositivo que compreende um aparelho de acordo com qualquer uma das modalidades de decodificação; e pelo menos uma de (i) uma antena configurada para receber um sinal, o sinal incluindo o bloco de vídeo, (ii) um limitador de banda configurado para limitar o sinal recebido a uma banda de frequências que inclui o bloco de vídeo, ou (iii) um monitor configurado para exibir uma saída representativa de um bloco de vídeo.
[008] De acordo com outro aspecto geral de pelo menos uma modalidade, é fornecido um meio legível por computador não transitório contendo conteúdo de dados gerado de acordo com qualquer uma das modalidades ou variantes de codificação descritas.
[009] De acordo com outro aspecto geral de pelo menos uma modalidade, é fornecido um sinal compreendendo dados de vídeo gerados de acordo com qualquer uma das modalidades ou variantes de codificação descritas.
[010] De acordo com outro aspecto geral de pelo menos uma modalidade, é formatado um fluxo de bits para incluir conteúdo de dados gerado de acordo com qualquer uma das modalidades ou variantes de codificação descritas.
[011] De acordo com outro aspecto geral de pelo menos uma modalidade, é fornecido um produto de programa de computador que compreende instruções que, quando o programa é executado por um computador, fazem com que o computador execute qualquer uma das modalidades ou variantes de decodificação descritas.
[012] Estes e outros aspectos, características e vantagens dos aspectos gerais tornar-se-ão evidentes a partir da descrição detalhada que se segue de modalidades exemplares, que deve ser lida em conexão com os desenhos anexos.
BREVE DESCRIÇÃO DOS DESENHOS
[013] A Figura 1 mostra um bloco quadrado com matrizes de referência estendidas usadas para previsão intra.
[014] A Figura 2 mostra uma matriz de referência superior e esquerda de comprimentos W+H+1.
[015] A Figura 3 mostra blocos de destino retangulares (bloco plano à esquerda, bloco alto à direita) com suas matrizes de referência superior e esquerda.
[016] A Figura 4 mostra as definições das amostras usadas pela extensão do PDPC para os modos intra diagonal e angular adjacentes.
[017] A Figura 5 mostra um bloco retangular e as definições de vários modos de previsão intra.
[018] A Figura 6 mostra uma matriz de referência superior com comprimento 2W +1 e a matriz de referência esquerda com comprimento 2H+1.
[019] A Figura 7 mostra um exemplo de dois retângulos com relações de aspecto semelhantes, mas ângulos iguais do centro para os cantos.
[020] A Figura 8 mostra um exemplo de modos direcionais intra aplicáveis aos aspectos gerais descritos.
[021] A Figura 9 mostra outro exemplo de modos direcionais intra aplicáveis aos aspectos gerais descritos.
[022] A Figura 10 mostra uma modalidade de um método para codificação usando filtragem em loop com múltiplas regiões.
[023] A Figura 11 mostra uma modalidade de outro método para decodificação usando filtragem em loop com múltiplas regiões.
[024] A Figura 12 mostra uma modalidade de um aparelho para codificação ou decodificação usando filtragem em loop com múltiplas regiões.
[025] A Figura 13 mostra um esquema de codificação padrão genérico.
[026] A Figura 14 mostra um esquema de decodificação padrão genérico.
[027] A Figura 15 mostra um arranjo de processador típico no qual as modalidades descritas podem ser implementadas.
DESCRIÇÃO DETALHADA
[028] As modalidades aqui descritas estão no campo da compressão de vídeo e se referem à compressão de vídeo e codificação e decodificação de vídeo.
[029] padrão de compressão de vídeo HEVC (Codificação de Vídeo de Alta Eficiência, ISO/IEC 23008–2, ITU-TH.265), a previsão temporal compensada por movimento é empregada para explorar a redundância que existe entre as imagens sucessivas de um vídeo.
[030] Para isso, um vetor de movimento é associado a cada unidade de previsão (PU). Cada Unidade de Árvore de Codificação (CTU) é representada por uma Árvore de Codificação no domínio compactado. Esta é uma divisão em árvore quádrupla da CTU, onde cada folha é chamada de Unidade de Codificação (CU).
[031] Cada CU recebe então alguns parâmetros de previsão Intra ou Inter (Inf. de Previsão). Para fazer isso, ela é espacialmente dividida em uma ou mais Unidades de Previsão (PUs), cada PU sendo atribuída a algumas informações de previsão. O modo de codificação Intra ou Inter é atribuído no nível da CU.
[032] Na proposta JVET (Equipe Conjunta de Exploração de Vídeo) para um novo padrão de compressão de vídeo, conhecido como Modelo de Exploração
Conjunta (JEM), foi proposto aceitar uma estrutura de divisão de blocos de árvore binária quádrupla (QTBT) devido ao alto desempenho de compressão. Um bloco em uma árvore binária (BT) pode ser dividido em dois sub-blocos de tamanhos iguais, dividindo-o horizontal ou verticalmente no meio. Consequentemente, um bloco BT pode ter um formato retangular com largura e altura desiguais, ao contrário dos blocos em uma QT, onde os blocos sempre têm forma quadrada com altura e largura iguais. No HEVC, as direções angulares de previsão intra foram definidas de 45 graus a -135 graus em um ângulo de 180, e foram mantidas no JEM, o que tornou a definição das direções angulares independentes do formato do bloco de destino.
[033] Para codificar esses blocos, é usada a Previsão Intra para fornecer uma versão estimada do bloco usando amostras adjacentes reconstruídas anteriormente. A diferença entre o bloco de origem e a previsão é então codificada. Nos codecs clássicos acima, uma única linha de amostra de referência é usada à esquerda e no topo do bloco atual.
[034] Em um trabalho recente, foi proposta previsão intra de ângulo amplo, que permite ângulos de direção de previsão intra mais altos do que os 45 graus convencionais. Além disso, a combinação de previsão intra dependente da posição (PDPC) foi adotada no relatório atual para a próxima geração de codificação de vídeo H.266/VVC.
[035] Nas modalidades descritas, propõe-se resolver as interações entre os modos de ângulo amplo e PDPC aplicado aos modos diagonal e diagonal adjacente. O problema resolvido pelos aspectos gerais descritos é como combinar eficientemente a previsão intra de angulo amplo e a combinação de previsão intra dependente da posição (PDPC).
[036] Na proposta do JVET (Time Conjunto de Exploração de Vídeo) para um novo padrão de compressão de vídeo, conhecido como Modo de Exploração
Conjunta (JEM), foi proposto aceitar uma estrutura de divisão de bloco de árvore binária quádrupla (QTBT) devido ao alto desempenho de compressão. Um bloco em uma árvore binária (BT) pode ser dividido em dois sub-blocos de tamanhos iguais, dividindo-o horizontal ou verticalmente no meio. Consequentemente, um bloco BT pode ter uma forma retangular com largura e altura desiguais, ao contrário dos blocos em uma Árvore Quádrupla (QT), onde os blocos sempre têm formato quadrado com altura e largura iguais. No HEVC, as direções angulares de previsão intra foram definidas de 45 graus a -135 graus em um ângulo de 180, e foram mantidas no JEM, o que tornou a definição das direções angulares independentes da forma do bloco de destino. No entanto, uma vez que a ideia de dividir uma Unidade de Árvore de Codificação (CTU) em CUs é capturar objetos ou partes de objetos, e o formato de um bloco está associada à direcionalidade dos objetos, para maior eficiência de compressão, é significativo adaptar o direções de previsão definidas de acordo com o formato do bloco. Nesse contexto, os aspectos gerais descritos propõem redefinir as direções de previsão intra para blocos retangulares de destino.
[037] As modalidades aqui descritas visam melhorar o desempenho de compressão de vídeo convencional, melhorando a previsão intra com uma estrutura QTBT. Ela se propõe a adaptar direções de previsão intra de acordo com o formato de uma CU. Se a forma da CU for quadrada, as direções já definidas no JEM permanecem inalteradas. Caso contrário, as direções pesquisadas são modificadas de acordo com o formato da CU. No entanto, o número total de direções angulares para qualquer CU permanece inalterado. O objetivo de adaptar as direções de previsão ao formato do bloco é melhorar a precisão da previsão sobre o conjunto atualmente definido de direções de previsão, que depende do formato do bloco.
[038] Além disso, uma vez que o número total de direções de previsão para uma CU de destino permanece inalterado, a codificação e decodificação do modo de previsão usando um conjunto MPM (Modo Mais Provável) permanece inalterado. No entanto, uma vez que CUs com diferentes formatos têm diferentes conjuntos de direção definidos, os modos de previsão dos blocos vizinhos são mapeados para os modos de previsão do bloco de destino. O mapeamento é apenas uma reindexação dos modos, mas as direções reais de previsão não são alteradas.
[039] Em HEVC (Código de Vídeo de Alta Eficiência, H.265), a codificação de um quadro de sequência de vídeo é baseada em uma estrutura de divisão de bloco quádruplo (QT). Um quadro é dividido em unidades de árvore de codificação quadrada (CTUs) que passam por divisão baseada em quadtree em múltiplas unidades de codificação (CUs) com base em critérios de distorção de taxa (RD). Cada CU é intra prevista, ou seja, é previsto espacialmente a partir das CUs vizinhas causais, ou inter previstas, ou seja, é prevista temporalmente a partir de quadros de referência já decodificados. Nas fatias I todas as CUs são intra previstas, enquanto que nas fatias P e B as CUs podem ser intra ou inter previstas. Para previsão intra, HEVC define 35 modos de previsão que incluem um modo planar (indexado como modo 0), um modo DC (indexado como modo 1) e 33 modos angulares (indexado como modos 2 a 34). Os modos angulares estão associados a direções de previsão que variam de 45 graus a -135 graus no sentido horário. Uma vez que HEVC suporta uma estrutura de divisão de bloco quadtree (QT), todas as unidades de previsão (PUs) têm formas quadradas. Portanto, a definição dos ângulos de previsão de 45 graus a -135 graus é justificada a partir da perspectiva de um formato de PU (Unidade de Previsão). Para uma unidade de previsão de destino de tamanho NxN pixels, a matriz de referência superior e a matriz de referência esquerda são cada uma das amostras de tamanho 2N +1, o que é necessário para cobrir o intervalo de ângulos acima mencionado para todos os pixels de destino. Considerando que a altura e a largura de uma PU são de comprimento igual, a igualdade de comprimentos de duas matrizes de referência também faz sentido.
[040] Para o próximo padrão de codificação de vídeo, a tentativa de JVET como Modo de Exploração Conjunta (JEM) propõe o uso de 65 modos de previsão intra angular, além dos modos planar e DC. No entanto, as direções de previsão são definidas na mesma faixa angular, isto é, de 45 graus a -135 graus no sentido horário. Para um bloco de destino de pixels WXH de tamanho, a matriz de referência superior e a matriz de referência esquerda têm pixels de tamanho (W + H +1), o que é necessário para cobrir a faixa de ângulo mencionada anteriormente para todos os pixels de destino. Esta definição do ângulo no JEM foi feita mais por simplicidade do que por qualquer outro motivo específico. No entanto, ao fazer isso, foi introduzida alguma ineficiência.
[041] No JEM, foi proposto o uso de uma estrutura de divisão de blocos de arvore binária quadtree (QTBT) em vez de apenas uma estrutura de quadtree devido ao maior desempenho de compressão. Ao contrário dos blocos QT, que são sempre de formato quadrado, os blocos BT podem ser retangulares com largura e altura desiguais devido à divisão binária horizontal ou vertical. No código JEM atual, a proporção de aspecto de um bloco retangular pode variar de 2:1 a 8:1. Assim, a ideia de diferentes modos de previsão angular é capturar diferentes direcionalidades de objeto, e a ideia de dividir uma CTU em CUs é capturar objetos ou partes de objetos com tais direcionalidades. Portanto, a forma de um bloco de destino está estruturalmente relacionada ao direcionalidade do objeto no bloco. Se a forma de um bloco for retangular, certas direções de previsão podem ser mais prováveis de ocorrer do que outras. Portanto, a definição de direções de previsão não deve ser independente do formato do bloco de destino, que é o caso no JEM.
[042] No caso de um bloco quadrado, existe uma simetria estrutural. Um bloco quadrado não é apenas simétrico ao longo da altura e da largura, mas também é simetricamente colocado em relação às duas matrizes de referência, como visto na Figura 1.
[043] A Figura 1 mostra um bloco de destino quadrado com suas matrizes de referência superior e esquerda. O bloco de destino é colocado simetricamente em relação às duas matrizes de referência. As direções de previsão são definidas de 45 graus a -135 graus no sentido horário, onde o modo 2 corresponde a um ângulo de 45 graus e o modo 66 corresponde a um ângulo de -135 graus.
[044] No caso de um bloco retangular, não é assim com as direções definidas atualmente. Quando o bloco é plano (ou seja, W> H), ele é colocado mais perto da matriz de referência superior, mas de forma assimétrica. Da mesma forma, quando o bloco é alto (ou seja, W <H), ele é colocado mais perto da matriz de referência esquerda, mas de forma assimétrica. Essa assimetria é mostrada na Figura 2.
[045] A Figura 2 mostra blocos retangulares de destino (bloco plano à esquerda, bloco alto à direita) com suas matrizes de referência superior e esquerda. Os blocos de destino são posicionados assimetricamente em relação aos dois arranjos de referência.
[046] O resultado dessa assimetria é que para alguns modos de previsão, o pixel de destino será previsto a partir de uma matriz de referência mais distante, enquanto a matriz de referência mais próxima será excluída por causa dos ângulos definidos. Isso é mostrado na Figura 3.
[047] A Figura 3 mostra blocos retangulares de destino (bloco plano à esquerda, bloco alto à direita) com suas matrizes de referência superior e esquerda. À esquerda, o pixel de destino A tem a amostra de previsor L na matriz de referência esquerda com uma direção de previsão horizontal. Embora a amostra T na matriz de referência superior esteja mais próxima, a direção de previsão vertical, de modo que T poderia ser a amostra previsora para A, não é permitida no JEM. A figura à direita mostra o caso análogo para um pixel de destino em um bloco alto.
[048] Quanto mais plano ou mais alto for um bloco (ou seja, quanto mais alta a proporção do lado mais longo para o lado mais curto), essa assimetria é mais pronunciada. Devido à imprecisão na previsão, tais modos de previsão tornam-se menos prováveis, conforme visto nos resultados de teste reais.
[049] Outro argumento para a ineficiência nas direções atuais definidas é a igualdade no número de direções de previsão, horizontal e verticalmente. No JEM, excluindo o modo diagonal (modo 34), existem 32 modos nas direções horizontal e vertical. Para uma CU quadrada, com altura e largura iguais, faz sentido ter o mesmo número de modos de previsão ao longo das direções horizontal e vertical. Quando o bloco é retangular com um lado mais longo que o outro, o número de direções de previsão no lado mais longo deve ser maior simplesmente devido à possibilidade de número mais alto de direcionalidades estruturais nesse lado. Para um bloco plano, a proporção dos números de modo vertical para horizontal deve ser da ordem da proporção da largura para a altura. Da mesma forma, para um bloco alto, a proporção dos números dos modos horizontal e vertical deve ser da ordem da proporção da altura para a largura. Um ponto relacionado a ser considerado é o comprimento das matrizes de referência. Para uma CU quadrada, com altura e largura iguais, faz sentido ter o mesmo comprimento para as matrizes de referência. Porém, para blocos retangulares, intuitivamente, se a largura for maior que a altura, a matriz de referência superior deve ter mais amostras do que o esquerdo.
[050] Da mesma forma, para blocos com altura maior que largura, a matriz de referência esquerda deve ter mais amostras do que o superior. Essa intuição é baseada no fato de que um bloco retangular plano (alto) tem mais amostras ou informações ao longo da direção horizontal (vertical). Da mesma forma, um bloco retangular alto tem mais amostras ou informações ao longo da direção vertical. Portanto, as direções atualmente definidas de 45 graus a -135 graus, que resultam em igual número de modos de previsão nas direções horizontal e vertical, bem como comprimentos iguais de matrizes de referência, são um tanto ineficientes para blocos retangulares.
[051] No JEM, os blocos de destino BT (árvore binária) podem ter formatos diferentes, dependendo do comprimento de suas larguras e alturas. Um retângulo é definido por sua largura W e altura H, conforme mostrado na Figura 7. Se A, B, C e D denotarem seus quatro vértices, como mostrado na figura, então AC é sua diagonal principal e BD é sua diagonal secundária. Um quadrado é um retângulo especial quando W = H. A Figura 7 mostra os atributos de um bloco retangular.
[052] Para qualquer bloco de destino de largura W e altura H, o modo 2 será associado à direção do vértice D em direção ao vértice B, modo 66 com a direção do vértice B em direção ao vértice D, ao longo da diagonal secundária, como mostrado na Figura 5. O modo diagonal está associado à direção do vértice A em direção ao vértice C ao longo da diagonal principal. Todos os modos, do modo 2 ao modo diagonal, serão denominados modos Esquerdo. Da mesma forma, todos os modos do modo diagonal ao modo 66, incluindo o modo diagonal, serão denominados modos superiores. Os modos à esquerda estão associados às direções horizontais. Da mesma forma, os modos principais estão associados às direções verticais. O modo horizontal, ou modo puramente horizontal, é um modo Esquerdo que corresponde ao ângulo de zero grau. O modo vertical, ou modo puramente vertical, é um modo Superior que corresponde a um ângulo de -90 graus.
[053] A Figura 5 mostra uma definição das direções de previsão para um bloco retangular. O modo 2 está ao longo da diagonal secundária do vértice D em direção ao vértice B. O modo 66 está ao longo da direção oposta ao modo 2. O modo diagonal é ao longo da diagonal principal do vértice A em direção ao vértice C.
[054] A Figura 6 mostra uma matriz de referência superior com comprimento 2W +1, a matriz de referência esquerda com comprimento 2H+1. A largura W e a altura H são as dimensões dos blocos brancos na Figura 6.
[055] Para apoiar essas direções de previsão, a referência superior com comprimento 2W+1, e a referência esquerda com comprimento 2H+1, são definidas como mostrado na Figura 6. No caso de um bloco quadrado, a figura será idêntica àquela na Figura 1, onde W = H = N.
[056] Deve ser observado que, para um bloco plano, o comprimento da referência superior é maior do que o da matriz de referência esquerda. Assim como o número de modos Superiores comparados aos modos Esquerdos. Da mesma forma, para um bloco alto, o inverso é verdadeiro. O comprimento da referência esquerda é maior do que o da matriz de referência superior nesse caso.
[057] Além disso, a localização do bloco é simétrica em relação às matrizes de referência. Quando o bloco de destino é um quadrado, há simetria perfeita e as direções de previsão e os comprimentos das matrizes de referência correspondem exatamente às definições JEM, como na Figura 1.
[058] A vantagem da definição acima é a adaptabilidade das direções de previsão com o formato do bloco. Deve ser observado que, aqui, os modos 2 e 66 não são definidos para corresponder às direções ao longo de um ângulo de 45 graus e um ângulo de -135 graus, em vez das direções ao longo da diagonal secundária. No caso de um bloco plano, algumas direções próximas e incluindo 45 graus são removidas, mas um número igual de direções é adicionado exatamente nas direções opostas além do ângulo de -135 graus. Da mesma forma, no caso de um bloco alto, algumas direções próximas, e incluindo, um -135 graus são removidas, mas um número igual de direções é adicionado exatamente nas direções opostas além de um ângulo de 45 graus. Iremos nos referir ao deslocamento do modo 2 do ângulo de 45 graus como "modeShift", que é definido como o número de modos removidos (entre o modo 2 e o ângulo de 45 graus), ou equivalentemente, o número de modos adicionados (entre ângulo -135 graus e modo 66). Os blocos planos têm um modeShift positivo, enquanto os blocos altos têm um modeShift negativo. Para um bloco quadrado, o modeShift é igual a 0.
[059] O modeShift de um bloco representa o deslocamento de seu modo inicial (ou seja, Modo 2) em relação ao modo inicial de um bloco quadrado. Claramente, é uma função da forma do bloco. A observação importante a fazer é que o modeShift de um bloco não depende dos valores absolutos de sua largura e altura, mas depende de sua proporção. Isso é ilustrado na Figura 7. O retângulo ABCD (largura W1 e altura H1) e o retângulo EFGH (largura W2 e altura H2) têm as mesmas direções de previsão (portanto, o mesmo modeShift). Usando a similaridade de triângulos, pode-se mostrar que W1/W2 = H1/H2. Portanto, W1/H1 = W2/H2. Portanto, os blocos com a mesma relação largura-altura (ou vice-versa) terão os mesmos modos de previsão nas direções horizontal e vertical.
[060] A Figura 7 mostra os blocos com a mesma proporção de aspecto (a proporção entre largura e altura) com as mesmas direções de previsão e, portanto, o mesmo modeShift.
[061] A previsão intra de ângulo amplo visa definir um melhor conjunto de direções de previsão intra quando o bloco é um retângulo.
[062] No caso de bloco não quadrado, para alguns modos de previsão, o pixel de destino será previsto a partir de uma matriz de referência mais distante, enquanto a matriz de referência mais próxima será excluída por causa dos ângulos definidos. Isso é mostrado na Figura 3.
[063] A Figura 3 representa blocos retangulares de destino (bloco plano à esquerda, bloco alto à direita) com suas matrizes de referência superior e esquerda. À esquerda, o pixel de destino A tem a amostra de previsor L na matriz de referência esquerda com uma direção de previsão horizontal; Embora a amostra T na matriz de referência superior esteja mais próxima, a direção de previsão vertical, de modo que T poderia ser a amostra previsora para A, não é permitida em VTM/BMS. A figura à direita mostra o caso análogo para um pixel de destino em um bloco alto.
[064] Para blocos não quadrados, propõe-se a substituição de vários modos convencionais de previsão intra angular por modos direcionais de ângulo amplo. Os modos substituídos são sinalizados usando o método original e remapeado para os índices de modos angulares amplos após a análise. O número total de modos de previsão intra permanece inalterado, e a codificação de modo intra permanece inalterada.
[065] Para suportar essas direções de previsão, propõe-se definir a referência superior com comprimento 2W+1 e a referência esquerda com comprimento 2H+1.
[066] A Figura 6 representa a matriz de referência superior com o comprimento 2W+1, a matriz de referência esquerda com o comprimento 2H+1. No caso de um bloco quadrado, as direções e os comprimentos das matrizes de referência são idênticos àqueles em VTM/BMS.
[067] A Figura 8 mostra as direções de previsão intra quando são usados 65 modos intradirecionais. Os modos diagonais correspondem ao modo # 2 (-135 graus) e ao modo # 66 (45 graus). As modalidades aqui descritas também se aplicam a este caso, embora alguns exemplos sejam mostrados com 35 modos intra direcionais.
[068] A Figura 9 mostra um exemplo de como os modos intra angulares são substituídos por modos angulares amplos para blocos não quadrados no caso de 35 modos intradirecionais. Neste exemplo, o modo 2 e o modo 3 são substituídos pelo modo angular amplo 35 e o modo 36, onde a direção do modo 35 está apontando para a direção oposta do modo 3, e a direção do modo 36 está apontando para a direção oposta do modo 4.
[069] A Figura 9 mostra a substituição de direções intra no caso de um retângulo plano (com altura>). Neste exemplo, 2 modos (# 2 e # 3) são substituídos pelos modos angulares amplos (35 e 36).
[070] Para o caso de 65 modos intradirecionais da Figura 8, a previsão intra de ângulo amplo pode transferir até 10 modos. Se um bloco tiver largura maior do que altura, por exemplo, os modos # 2 ao modo # 11 são removidos e os modos #67 a #76 são adicionados nas modalidades gerais aqui descritas.
[071] PDPC, conforme atualmente adotado no projeto de um futuro padrão H.266/VVC, aplica-se a vários modos intra: modos planar, DC, horizontal, vertical, diagonal e os chamados modos diagonais adjacentes, ou seja, direções próximas às diagonais. No exemplo da Figura 3, os modos diagonais correspondem aos modos 2 e 34. Os modos adjacentes podem incluir, por exemplo, os modos 3, 4, 32, 33 se dois modos adjacentes forem adicionados por direção diagonal. No projeto atual do PDPC adotado, 8 modos são considerados por diagonal, ou seja, 16 modos diagonais adjacentes no total. O PDPC para os modos diagonais e diagonais adjacentes está detalhado abaixo.
[072] A Figura 4(a) ilustra a definição das amostras de referência Rx, -1, R-1, y e R-1, -1 para a extensão de PDPC para o modo diagonal superior direito. A amostra de previsão pred(x',y') está localizada em (x', y') dentro do bloco de previsão. A coordenada x da amostra de referência Rx,-1 é fornecida por: x = x '+ y' + 1, e a coordenada y da amostra de referência R-1, y é da mesma forma fornecida por: y = x '+ y' + 1.
[073] Os pesos PDPC para o modo diagonal superior direito são: wT = 16 >> ((y ’<< 1) >> shift), wL = 16 >> ((x’ << 1) >> shift), wTL = 0.
[074] A Figura 4 mostra a definição das amostras usadas pela extensão do PDPC para os modos intra diagonal e angular adjacente.
[075] Da mesma forma, a Figura 4 (b) ilustra a definição das amostras de referência Rx, -1, R-1, y e R-1, -1 para a extensão de PDPC para o modo diagonal inferior esquerdo. A coordenada x da amostra de referência Rx, -1 é fornecida por: x = x '+ y' + 1, e a coordenada y da amostra de referência R-1, y é: y = x '+ y' + 1. Os pesos PDPC para o modo diagonal superior direito são: wT = 16 >> ((y'<<1) >> shift), wL = 16 >> ((x'<< 1) >> shift), wTL = 0. O caso de um modo diagonal adjacente superior direito está ilustrado na Figura 4 (c). Os pesos PDPC para um modo diagonal adjacente superior direito são: wT = 32 >> ((y'<<1) >> shift), wL = 0, wTL=0. Da mesma forma, o caso de um modo diagonal adjacente inferior esquerdo está ilustrado na Figura 4 (d). Os pesos PDPC para um modo diagonal adjacente inferior esquerdo são: wL = 32 >> ((x'<<1) >> shift), wT = 0, wTL = 0. As coordenadas da amostra de referência para os dois últimos casos são computadas usando as tabelas que já são usadas para previsão intra de modo angular. A interpolação linear das amostras de referência é usada se as coordenadas da amostra de referência fracionária forem calculadas.
[076] Existem interações com previsão intra de ângulo amplo no caso de modos diagonais e modos diagonais adjacentes.
[077] Primeiro, no projeto JEM atual, as amostras de referência disponíveis, para qualquer bloco, estão localizadas em um segmento de linha superior e um segmento de linha esquerda de tamanho largura + altura +1, conforme ilustrado na Figura 1. No caso do ângulo diagonal, O PDPC pode ser aplicado a qualquer pixel no bloco, uma vez que R (x, -1) e R (-1, y) estão sempre disponíveis. Esse não é o caso de ângulos diagonais adjacentes para os quais a linha que passa pelos pixels inferiores direitos do bloco pode não cruzar os segmentos de amostra disponíveis. Nesse caso, o PDPC é parcialmente aplicado sobre o bloco, o que requer um teste de comprimento de pixel da disponibilidade da amostra de referência. Isso pode ser considerado um problema relacionado à complexidade da implementação.
[078] Algumas modalidades dos aspectos gerais descritos também visam resolver esse problema.
[079] Nas modalidades descritas, é proposto modificar o conjunto de modos para os quais o PDPC é aplicado no caso de blocos não quadrados.
[080] No projeto JEM atual, o conjunto de modos adjacentes não inclui os modos estendidos. Por exemplo, na Figura 3, os modos #35 e # 36 não podem se beneficiar do PDPC.
[081] Propõe-se estender os modos diagonais adjacentes aos modos angulares amplos adicionados. Variável 1:
[082] O PDPC é aplicado a todos os modos de ângulo amplo, além dos modos diagonal e diagonal adjacente. Variável 2:
[083] O PDPC é aplicado a tantos modos adjacentes de cada lado dos modos diagonais. Variável 3:
[084] Como os modos adjacentes levantam a questão de aplicar PDPC parcialmente sobre o bloco, uma vez que as amostras de referência nem sempre estão disponíveis, é proposto não aplicar PDPC aos modos adjacentes existentes, por exemplo, modo 33 na Figura 3, mas para direções estendidas, uma vez que as amostras de referência estão disponíveis em ambos os lados para essas direções. Variável 4:
[085] No caso de um bloco não quadrado, não considerar o modo diagonal como 45 graus ou -135 graus, como é o caso atualmente, mas considerar a última direção ampla estendida como diagonal e os ângulos adjacentes a esta nova direção como modos diagonais adjacentes para PDPC.
[086] Conforme descrito na Figura 4, o PDPC, no caso de modos diagonais adjacentes, requer a disponibilidade de amostras de referência superior e esquerda.
[087] A previsão intra de ângulo amplo, conforme apresentada em JVET- K0500, modifica o tamanho do buffer de amostra de referência de largura + altura + 1 para as linhas esquerda e superior para 2*altura + 1, respectivamente 2*altura + 1, para a esquerda, respectivamente buffer de referência direito. Isso modifica os exemplos disponíveis para PDPC. Variável 5:
[088] Propõe-se não reduzir o tamanho do buffer de amostra de referência em relação ao lado menor. Por exemplo, para um bloco plano como na Figura 2 (lado esquerdo), use amostras largura + altura + 1 em vez de 2*altura+1. Isso resolve o caso do PDPC diagonal, que pode ser aplicado em todo o bloco no projeto atual, mas não pode ser aplicado a algumas amostras do canto inferior direito do bloco atual se o tamanho for alterado para 2*altura +1. Nesse caso, todos os modos de ângulo amplo também podem se beneficiar totalmente do PDPC, ou seja, todas as amostras do bloco podem ser processadas. Variável 6:
[089] Caso o tamanho do buffer de referência não seja estendido, não restrinja o uso de PDPC quando não houver amostra de referência disponível e tome o valor da última amostra de referência na linha.
[090] Uma modalidade de um método 1000 para codificar um bloco de dados de vídeo usando os aspectos gerais aqui descritos está mostrada na Figura
10. O método começa no bloco inicial 1001 e o controle prossegue para o bloco funcional 1010 para prever uma amostra de um bloco de vídeo não quadrado usando pelo menos uma das N amostras de referência de uma linha acima do bloco de vídeo não quadrado ou pelo menos uma das M amostras de referência de uma coluna à esquerda do bloco de vídeo não quadrado. O controle então prossegue do bloco 1010 para o bloco 1020 para codificar o bloco de vídeo não quadrado usando a referida previsão em um modo de codificação intra.
[091] modalidade de um método 1100 para decodificar um bloco de dados de vídeo usando os aspectos gerais aqui descritos está mostrada na Figura 11. O método começa no bloco inicial 1101 e o controle prossegue para o bloco funcional 1110 para prever uma amostra de um bloco de vídeo não quadrado usando pelo menos uma das N amostras de referência de uma linha acima do bloco de vídeo não quadrado ou pelo menos uma das M amostras de referência de uma coluna à esquerda do não bloco de vídeo não quadrado. O controle então prossegue do bloco 1110 para o bloco 1120 para decodificar o bloco de vídeo não quadrado usando a referida previsão em um modo de codificação intra.
[092] A Figura 12 mostra uma modalidade de um aparelho 1200 para codificar ou decodificar um bloco de dados de vídeo. O aparelho compreende o Processador 1210 e pode ser interconectado a uma memória 1220 através de pelo menos uma porta. O processador 1210 e a memória 1220 também podem ter uma ou mais interconexões adicionais com conexões externas.
[093] O processador 1210 está configurado para codificar ou decodificar dados de vídeo prevendo uma amostra de um bloco de vídeo não quadrado usando pelo menos uma das N amostras de referência de uma linha acima do bloco de vídeo não quadrado ou pelo menos uma das M amostras de referência de uma coluna à esquerda do bloco de vídeo não quadrado e, codificando ou decodificando o bloco de vídeo não quadrado usando a previsão em um modo de codificação intra.
[094] Este documento descreve uma variedade de aspectos, incluindo ferramentas, recursos, modalidades, modelos, abordagens, etc. Muitos desses aspectos são descritos com especificidade e, pelo menos para mostrar as características individuais, são frequentemente descritos de uma maneira que pode parecer limitante. No entanto, isso é para fins de clareza na descrição e não limita a aplicação ou o escopo desses aspectos. Na verdade, todos os diferentes aspectos podem ser combinados e trocados para fornecer outros aspectos. Além disso, os aspectos podem ser combinados e intercambiados com aspectos descritos também em depósitos anteriores também.
[095] As modalidades descritas e contempladas neste documento podem ser implementadas em muitas formas diferentes. As Figuras 13, 14 e 15 abaixo fornecem algumas modalidades, mas outras modalidades são contempladas e o comentários das Figuras 13, 14 e 15 não limita a amplitude das implementações. Pelo menos um dos aspectos geralmente se refere à codificação e decodificação de vídeo e pelo menos outro aspecto geralmente se refere à transmissão de um fluxo de bits gerado ou codificado. Estes e outros aspectos podem ser implementados como um método, um aparelho, um meio de armazenamento legível por computador tendo armazenado nele instruções para codificar ou decodificar dados de vídeo de acordo com qualquer um dos métodos descritos e / ou um meio de armazenamento legível por computador tendo armazenado nele um fluxo de bits gerado de acordo com qualquer um dos métodos descritos.
[096] No presente pedido, os termos "reconstruído" e "decodificado" podem ser usados indistintamente, os termos "pixel" e "amostra" podem ser usados indistintamente, os termos "imagem", "figura" e "quadro" podem ser usados indistintamente . Normalmente, mas não necessariamente, o termo "reconstruído" é usado no lado do codificador, enquanto "decodificado" é usado no lado do decodificador.
[097] Vários métodos são descritos neste documento, e cada um dos métodos compreende uma ou mais etapas ou ações para alcançar o método descrito. A menos que uma ordem específica de etapas ou ações seja necessária para a operação adequada do método, a ordem e / ou o uso de etapas e / ou ações específicas podem ser modificados ou combinados.
[098] Vários métodos e outros aspectos descritos neste documento podem ser usados para modificar módulos, por exemplo, os módulos de previsão intra, codificação de entropia e / ou decodificação (160, 360, 145, 330), de um codificador de vídeo 100 e decodificador 200 como mostrado na Figura 13 e Figura 14. Além disso, os presentes aspectos não estão limitados a VVC ou HEVC, e podem ser aplicados, por exemplo, a outros padrões e recomendações, sejam pré-existentes ou desenvolvidos no futuro, e extensões de quaisquer desses padrões e recomendações (incluindo VVC e HEVC). A menos que indicado de outra maneira, ou tecnicamente impedido, os aspectos descritos neste documento podem ser usados individualmente ou em combinação.
[099] Vários valores numéricos são usados no presente documento, por exemplo, {{1,0}, {3,1}, {1,1}}. Os valores específicos são para fins de exemplo e os aspectos descritos não se limitam a esses valores específicos.
[0100] A Figura 13 ilustra um codificador 100. São contempladas variações deste codificador 100, mas o codificador 100 é descrito abaixo para fins de clareza, sem descrever todas as variações esperadas.
[0101] Antes de ser codificada, a sequência de vídeo pode passar pelo processamento de pré-codificação (101), por exemplo, aplicando uma transformação de cor à imagem colorida de entrada (por exemplo, conversão de RGB 4:4:4 para YCbCr 4:2:0), ou realizar um remapeamento dos componentes da imagem de entrada para obter uma distribuição de sinal mais resiliente à compressão (por exemplo, usando uma equalização de histograma de um dos componentes de cor). Os metadados podem ser associados ao pré-processamento e anexados ao fluxo de bits.
[0102] No codificador 100, uma imagem é codificada pelos elementos do codificador conforme descrito abaixo. A imagem a ser codificada é dividida (102) e processada em unidades de, por exemplo, CUs. Cada unidade é codificada usando, por exemplo, um modo intra ou inter. Quando uma unidade é codificada em um modo intra, ela realiza previsão intra (160). Em um modo inter, são realizadas a estimativa de movimento (175) e a compensação (170). O codificador decide (105) qual dos modos intra ou inter usar para codificar a unidade e indica a decisão intra / inter por, por exemplo, por um sinalizador de modo de previsão. Resíduos de previsão são calculados, por exemplo, subtraindo (110) o bloco previsto do bloco de imagem original.
[0103] Os resíduos de previsão são então transformados (125) e quantizados (130). Os coeficientes de transformada quantizados, bem como vetores de movimento e outros elementos de sintaxe, são codificados por entropia (145) para produzir um fluxo de bits. O codificador pode pular a transformação e aplicar a quantização diretamente ao sinal residual não transformado. O codificador pode ignorar tanto a transformação quanto a quantização, ou seja, o resíduo é codificado diretamente sem a aplicação dos processos de transformação ou quantização.
[0104] O codificador decodifica um bloco codificado para fornecer uma referência para outras previsões. Os coeficientes de transformada quantizados são desquantizados (140) e transformados inversamente (150) para decodificar os resíduos de previsão. Combinando (155) os resíduos de previsão decodificados e o bloco previsto, é reconstruído um bloco de imagem. Os filtros em loop (165) são aplicados à imagem reconstruída para realizar, por exemplo, filtragem de desbloqueio / SAO (Deslocamento Adaptável de Amostra) para reduzir artefatos de codificação. A imagem filtrada é armazenada em um buffer de imagem de referência (180).
[0105] A Figura 14 ilustra um diagrama em bloco de um decodificador de vídeo 200. No decodificador 200, um fluxo de bits é decodificado pelos elementos do decodificador conforme descrito abaixo. O decodificador de vídeo 200 geralmente executa uma passagem de decodificação recíproca para a passagem de codificação, conforme descrito na Figura 13. O codificador 100 também geralmente executa a decodificação de vídeo como parte da codificação de dados de vídeo.
[0106] Em particular, a entrada do decodificador inclui um fluxo de bits de vídeo, que pode ser gerado pelo codificador de vídeo 100. O fluxo de bits é primeiro decodificado por entropia (230) para obter coeficientes de transformação, vetores de movimento e outras informações codificadas. As informações da divisão da imagem indicam como a imagem é dividida. O decodificador pode, portanto, dividir (235) a imagem de acordo com a informação de divisão da imagem decodificada. Os coeficientes de transformação são desquantizados (240) e transformados inversamente (250) para decodificar os resíduos de previsão. Combinando (255) os resíduos de previsão decodificados e o bloco previsto, é reconstruído um bloco de imagem. O bloco previsto pode ser obtido (270) a partir de previsão intra (260) ou previsão compensada por movimento (isto é, previsão inter) (275). São aplicados filtros em loop (265) à imagem reconstruída. A imagem filtrada é armazenada em um buffer de imagem de referência (280).
[0107] A imagem decodificada pode ainda passar por processamento pós- decodificação (285), por exemplo, uma transformação de cor inversa (por exemplo, conversão de YCbCr 4:2:0 para RGB 4:4:4) ou um remapeamento inverso realizando o inverso do processo remapeamento realizado no processamento de pré-codificação (101). O processamento pós-decodificação pode usar metadados derivados no processamento de pré-codificação e sinalizados no fluxo de bits.
[0108] A Figura 15 ilustra um diagrama em bloco de um exemplo de um sistema no qual várias modalidades são implementadas. O sistema 1000 pode ser incorporado como um dispositivo incluindo os vários componentes descritos abaixo e é configurado para executar um ou mais dos aspectos descritos neste documento. Exemplos de tais dispositivos incluem, mas não estão limitados a, vários dispositivos eletrônicos, como computadores pessoais, laptops, smartphones, tablets, decodificadores de multimídia digital, receptores de televisão digital, sistemas de gravação de vídeo pessoal, eletrodomésticos conectados e servidores. Os elementos do sistema 1000, individualmente ou em combinação, podem ser incorporados em um único circuito integrado, múltiplos ICs e / ou componentes distintos. Por exemplo, em pelo menos uma modalidade, os elementos de processamento e codificador / decodificador do sistema 1000 são distribuídos em vários ICs e / ou componentes distintos. Em várias modalidades, o sistema 1000 é acoplado comunicativamente a outros sistemas semelhantes, ou a outros dispositivos eletrônicos, por meio, por exemplo, de um barramento de comunicações ou por meio de portas de entrada e / ou saída dedicadas. Em várias modalidades, o sistema 1000 é configurado para implementar um ou mais dos aspectos descritos neste documento.
[0109] O sistema 1000 inclui pelo menos um processador 1010 configurado para executar instruções nele carregadas para implementar, por exemplo, os vários aspectos descritos neste documento. O processador 1010 pode incluir memória incorporada, interface de entrada e saída e vários outros circuitos, conforme conhecido na técnica. O sistema 1000 inclui pelo menos uma memória 1020 (por exemplo, um dispositivo de memória volátil e / ou um dispositivo de memória não volátil). O sistema 1000 inclui um dispositivo de armazenamento 1040, que pode incluir memória não volátil e / ou memória volátil, incluindo, mas não se limitando a, EEPROM, ROM, PROM, RAM, DRAM, SRAM, flash, unidade de disco magnético e / ou unidade de disco óptico. O dispositivo de armazenamento 1040 pode incluir um dispositivo de armazenamento interno, um dispositivo de armazenamento conectado e / ou um dispositivo de armazenamento acessível em rede, como exemplos não limitativos.
[0110] O sistema 1000 inclui um módulo codificador / decodificador 1030 configurado, por exemplo, para processar dados para fornecer um vídeo codificado ou decodificado, e o módulo codificador / decodificador 1030 pode incluir seu próprio processador e memória. O módulo codificador / decodificador 1030 representa módulo (s) que podem ser incluídos em um dispositivo para executar as funções de codificação e / ou decodificação. Como é conhecido, um dispositivo pode incluir um ou ambos os módulos de codificação e decodificação. Além disso, o módulo codificador / decodificador 1030 pode ser implementado como um elemento separado do sistema 1000 ou pode ser incorporado dentro do processador 1010 como uma combinação de hardware e software como conhecido por aqueles versados na técnica.
[0111] O código de programa a ser carregado no processador 1010 ou codificador / decodificador 1030 para realizar as várias modalidades descritas neste documento pode ser armazenado no dispositivo de armazenamento 1040 e, subsequentemente, carregado na memória 1020 para execução pelo processador
1010. De acordo com várias modalidades, um ou mais do processador 1010, memória 1020, dispositivo de armazenamento 1040 e módulo codificador / decodificador 1030 pode armazenar um ou mais de vários itens durante o desempenho dos processos descritos neste documento. Tais itens armazenados podem incluir, mas não estão limitados a, o vídeo de entrada, o vídeo decodificado ou partes do vídeo decodificado, o fluxo de bits, matrizes, variáveis e resultados intermediários ou finais do processamento de equações, fórmulas, operações e lógica.
[0112] Em várias modalidades, a memória dentro do processador 1010 e / ou do módulo codificador / decodificador 1030 é usada para armazenar instruções e fornecer memória de trabalho para o processamento que é necessário durante a codificação ou decodificação. Em outras modalidades, no entanto, uma memória externa ao dispositivo de processamento (por exemplo, o dispositivo de processamento pode ser o processador 1010 ou o módulo codificador / decodificador 1030) é usada para uma ou mais dessas funções. A memória externa pode ser a memória 1020 e / ou o dispositivo de armazenamento 1040, por exemplo, uma memória dinâmica volátil e / ou uma memória flash não volátil. Em várias modalidades, uma memória flash externa não volátil é usada para armazenar o sistema operacional de uma televisão. Em pelo menos uma modalidade, uma memória dinâmica volátil externa rápida, como uma RAM, é usada como memória para operações de codificação e decodificação de vídeo, como MPEG-2, HEVC ou VVC (Codificação de Vídeo Versátil).
[0113] A entrada para os elementos do sistema 1000 pode ser fornecida através de vários dispositivos de entrada, conforme indicado no bloco 1130. Tais dispositivos de entrada incluem, mas não estão limitados a, (i) uma porção de RF que recebe um sinal de RF transmitido, por exemplo, pelo ar transmitido por uma emissora, (ii) um terminal de entrada Composto, (iii) um terminal de entrada USB e / ou (iv) um terminal de entrada HDMI.
[0114] Em várias modalidades, os dispositivos de entrada do bloco 1130 têm elementos de processamento de entrada respectivos associados, conforme conhecido na técnica. Por exemplo, a parte de RF pode ser associada a elementos para (i) selecionar uma frequência desejada (também referida como seleção de um sinal ou limitação de banda de um sinal para uma banda de frequências), (ii) converter o sinal selecionado para baixo, ( iii) limitar a banda novamente para uma banda mais estreita de frequências para selecionar (por exemplo) uma banda de frequência de sinal que pode ser referida como um canal em certas modalidades, (iv) desmodular o sinal convertido para baixo e limitado em banda, (v) executar correção de erros e (vi) demultiplexação para selecionar o fluxo desejado de pacotes de dados. A porção de RF de várias modalidades inclui um ou mais elementos para executar essas funções, por exemplo, seletores de frequência, seletores de sinal, limitadores de banda, seletores de canal, filtros, conversores descendentes, desmoduladores, corretores de erro e desmultiplexadores. A porção de RF pode incluir um sintonizador que executa várias dessas funções, incluindo, por exemplo, a conversão descendente do sinal recebido para uma frequência mais baixa (por exemplo, uma frequência intermediária ou uma frequência de banda base próxima) ou para a banda base. Em uma modalidade de caixa de configuração, a porção de RF e seu elemento de processamento de entrada associado recebem um sinal de
RF transmitido através de um meio com fio (por exemplo, cabo) e realiza a seleção de frequência por filtragem, conversão descendente e filtragem novamente para uma banda de frequência desejada. Várias modalidades reorganizam a ordem dos elementos descritos acima (e outros), removem alguns desses elementos e / ou adicionam outros elementos que desempenham funções semelhantes ou diferentes. A adição de elementos pode incluir inserção de elementos entre os elementos existentes, por exemplo, inserção de amplificadores e um conversor analógico para digital. Em várias modalidades, a porção de RF inclui uma antena.
[0115] Além disso, os terminais USB e / ou HDMI podem incluir respectivos processadores de interface para conectar o sistema 1000 a outros dispositivos eletrônicos através de USB e / ou Conexões HDMI. Deve ser entendido que vários aspectos do processamento de entrada, por exemplo, correção de erro Reed- Solomon, podem ser implementados, por exemplo, dentro de um IC de processamento de entrada separado ou dentro do processador 1010. Da mesma forma, aspectos de processamento de interface USB ou HDMI podem ser implementado dentro de ICs de interface separados ou dentro do processador 1010. O fluxo desmodulado, corrigido de erro e desmultiplexado é fornecido a vários elementos de processamento, incluindo, por exemplo, o processador 1010 e codificador / decodificador 1030 operando em combinação com os elementos de memória e armazenamento para processar o fluxo de dados para apresentação em um dispositivo de saída.
[0116] Vários elementos do sistema 1000 podem ser fornecidos dentro de um compartimento integrado. Dentro do compartimento integrado, os vários elementos podem ser interconectados e transmitir dados entre eles usando um arranjo de conexão adequado 1140, por exemplo, um barramento interno como conhecido na técnica, incluindo o barramento I2C, fiação e placas de circuito impresso.
[0117] O sistema 1000 inclui interface de comunicação 1050 que permite a comunicação com outros dispositivos através do canal de comunicação 1060. A interface de comunicação 1050 pode incluir, mas não está limitada a, um transceptor configurado para transmitir e receber dados através do canal de comunicação 1060. A interface de comunicação 1050 pode incluem, mas não está limitado a, um modem ou placa de rede e o canal de comunicação 1060 pode ser implementado, por exemplo, em um meio com fio e / ou sem fio.
[0118] Os dados são transmitidos para o sistema 1000, em várias modalidades, usando uma rede sem fio, como IEEE 802.11. O sinal sem fio dessas modalidades é recebido através do canal de comunicação 1060 e da interface de comunicação 1050 que são adaptados para comunicações Wi-Fi, por exemplo. O canal de comunicação 1060 dessas modalidades é normalmente conectado a um ponto de acesso ou roteador que fornece acesso a redes externas, incluindo a Internet para permitir aplicativos de streaming e outras comunicações além dos limites. Outras modalidades fornecem dados transmitidos para o sistema 1000 usando um descodificador que fornece os dados pela conexão HDMI do bloco de entrada 1130. Ainda outras modalidades fornecem dados transmitidos para o sistema 1000 usando a conexão RF do bloco de entrada 1130.
[0119] O sistema 1000 pode fornecer um sinal de saída para vários dispositivos de saída, incluindo um monitor 1100, alto-falantes 1110 e outros dispositivos periféricos 1120. Os outros dispositivos periféricos 1120 incluem, em vários exemplos de modalidades, um ou mais de um DVR autônomo, um reprodutor de disco, um sistema estéreo, um sistema de iluminação e outros dispositivos que fornecem uma função com base na saída do sistema 1000. Em várias modalidades, os sinais de controle são comunicados entre o sistema 1000 e o monitor 1100, alto- falantes 1110, ou outros dispositivos periféricos 1120 usando sinalização como AV.Link, CEC ou outros protocolos de comunicação que permitem o controle de dispositivo a dispositivo com ou sem intervenção do usuário. Os dispositivos de saída podem ser acoplados comunicativamente ao sistema 1000 por meio de conexões dedicadas através das respectivas interfaces 1070, 1080 e 1090. Alternativamente, os dispositivos de saída podem ser conectados ao sistema 1000 usando o canal de comunicação 1060 por meio da interface de comunicação 1050. O monitor 1100 e os alto-falantes 1110 pode ser integrados em uma única unidade com os outros componentes do sistema 1000 em um dispositivo eletrônico, por exemplo, uma televisão. Em várias modalidades, a interface de exibição 1070 inclui um driver de exibição, por exemplo, um chip controlador de temporização (TCon).
[0120] O monitor 1100 e o alto-falante 1110 podem, alternativamente, ser separados de um ou mais dos outros componentes, por exemplo, se a porção de RF da entrada 1130 fizer parte de um descodificador separado. Em várias modalidades nas quais o monitor 1100 e os alto-falantes 1110 são componentes externos, o sinal de saída pode ser fornecido por meio de conexões de saída dedicadas, incluindo, por exemplo, portas HDMI, portas USB ou saídas COMP.
[0121] modalidades podem ser realizadas por software de computador implementado pelo processador 1010 ou por hardware, ou por uma combinação de hardware e software. Como um exemplo não limitativo, as modalidades podem ser implementadas por um ou mais circuitos integrados. A memória 1020 pode ser de qualquer tipo apropriado para o ambiente técnico e pode ser implementada usando qualquer tecnologia de armazenamento de dados apropriada, como dispositivos de memória óptica, dispositivos de memória magnética, dispositivos de memória baseados em semicondutores, memória fixa e memória removível, como não exemplos limitativos. O processador 1010 pode ser de qualquer tipo apropriado para o ambiente técnico e pode abranger um ou mais de microprocessadores, computadores de uso geral, computadores de uso especial e processadores baseados em uma arquitetura de múltiplos núcleos, como exemplos não limitativos.
[0122] Várias implementações envolvem decodificação. “Decodificação”, conforme usado neste pedido, pode abranger todos ou parte dos processos realizados, por exemplo, em uma sequência codificada recebida, a fim de produzir uma saída final adequada para exibição. Em várias modalidades, tais processos incluem um ou mais dos processos tipicamente realizados por um decodificador, por exemplo, decodificação de entropia, quantização inversa, transformação inversa e decodificação diferencial. Em várias modalidades, tais processos também, ou alternativamente, incluem processos realizados por um decodificador de várias implementações descritas neste pedido, por exemplo, extração de um índice de pesos a ser usado para as várias matrizes de referência de previsão intra.
[0123] Como exemplos adicionais, em uma modalidade, "decodificação" se refere apenas à decodificação de entropia, em outra modalidade "decodificação" se refere apenas à decodificação diferencial, e em outra modalidade "decodificação" se refere a uma combinação de decodificação de entropia e decodificação diferencial. Se a frase "processo de decodificação" se destinar a referir-se especificamente a um subconjunto de operações ou geralmente ao processo de decodificação mais amplo, ficará claro com base no contexto das descrições específicas e acredita-se que seja bem compreendido por aqueles versados na técnica.
[0124] Várias implementações envolvem codificação. De forma análoga ao comentário acima sobre "decodificação", "codificação", conforme usado neste pedido, pode abranger todos ou parte dos processos realizados, por exemplo, em uma sequência de vídeo de entrada, a fim de produzir um fluxo de bits codificado. Em várias modalidades, tais processos incluem um ou mais dos processos tipicamente realizados por um codificador, por exemplo, divisão, codificação diferencial, transformação, quantização e codificação de entropia. Em várias modalidades, tais processos também, ou alternativamente, incluem processos realizados por um codificador de várias implementações descritas neste pedido, por exemplo, ponderação de matrizes de referência de previsão intra.
[0125] Como exemplos adicionais, em uma modalidade, "codificação" se refere apenas à codificação de entropia, em outra modalidade, "codificação" se refere apenas à codificação diferencial e, em outra modalidade, "codificação" se refere a uma combinação de codificação diferencial e codificação de entropia. Se a frase "processo de codificação" se destinar especificamente a um subconjunto de operações ou geralmente ao processo de codificação mais amplo, será claro com base no contexto das descrições específicas e acredita-se que seja bem compreendido por aqueles versados na técnica.
[0126] Deve ser observado que os elementos de sintaxe aqui usados são termos descritivos. Como tal, eles não impedem o uso de outros nomes de elementos de sintaxe.
[0127] Quando uma figura é apresentada como um diagrama de fluxo, deve- se entender que ela também fornece um diagrama em blocos de um aparelho correspondente. Da mesma forma, quando uma figura é apresentada como um diagrama em bloco, deve-se entender que também fornece um diagrama de fluxo de um método / processo correspondente.
[0128] Várias modalidades se referem ao cálculo de distorção de taxa ou otimização de distorção de taxa. Em particular, durante o processo de codificação, o equilíbrio ou compensação entre a taxa e a distorção é geralmente considerado, muitas vezes devido às restrições de complexidade computacional. A otimização de distorção de taxa é geralmente formulada como a minimização de uma função de distorção de taxa, que é uma soma ponderada da taxa e da distorção. Existem diferentes abordagens para resolver o problema de otimização de distorção de taxa. Por exemplo, as abordagens podem ser baseadas em um teste extensivo de todas as opções de codificação, incluindo todos os modos considerados ou valores de parâmetros de codificação, com uma avaliação completa de seu custo de codificação e distorção relacionada do sinal reconstruído após a codificação e decodificação. Abordagens mais rápidas também podem ser usadas para salvar a complexidade de codificação, em particular com a computação de uma distorção aproximada com base na previsão ou no sinal residual de previsão, não o reconstruído. A mistura dessas duas abordagens também pode ser usada, como usar uma distorção aproximada para apenas algumas das opções de codificação possíveis e uma distorção completa para outras opções de codificação. Outras abordagens avaliam apenas um subconjunto das opções de codificação possíveis. De modo mais geral, muitas abordagens empregam qualquer uma de uma variedade de técnicas para realizar a otimização, mas a otimização não é necessariamente uma avaliação completa tanto do custo de codificação quanto da distorção relacionada.
[0129] As implementações e aspectos descritos neste documento podem ser implementados, por exemplo, em um método ou processo, um aparelho, um programa de software, um fluxo de dados ou um sinal. Mesmo se apenas comentado no contexto de uma única forma de implementação (por exemplo, comentado apenas como um método), a implementação dos recursos comentados também pode ser implementada em outras formas (por exemplo, um aparelho ou programa). Um aparelho pode ser implementado em, por exemplo, hardware, software e firmware apropriados. Os métodos podem ser implementados em, por exemplo, um processador, que se refere a dispositivos de processamento em geral, incluindo, por exemplo, um computador, um microprocessador, um circuito integrado ou um dispositivo lógico programável. Os processadores também incluem dispositivos de comunicação, como, por exemplo, computadores, telefones celulares, assistentes digitais portáteis / pessoais ("PDAs") e outros dispositivos que facilitam a comunicação de informações entre os usuários finais.
[0130] Referência a "uma modalidade" ou "uma modalidade" ou "uma implementação" ou "uma implementação", bem como outras variações das mesmas, significa que um determinado recurso, estrutura, característica e assim por diante descrito em conexão com a modalidade está incluído em pelo menos uma modalidade. Assim, a presença das frases "em uma modalidade" ou "em uma modalidade" ou "em uma implementação" ou "em uma implementação", bem como quaisquer outras variações, que apareçam em vários lugares ao longo deste documento não estão necessariamente se referindo à mesma modalidade.
[0131] Além disso, este documento pode referir-se à “determinação” de várias informações. Determinar as informações pode incluir um ou mais de, por exemplo, avaliar as informações, calcular as informações, prever as informações ou recuperar as informações da memória.
[0132] Além disso, este documento pode referir-se ao “acessar” várias informações. Acessar as informações pode incluir um ou mais de, por exemplo, receber as informações, recuperar as informações (por exemplo, da memória), armazenar as informações, mover as informações, copiar as informações, calcular as informações, determinar as informações, prever as informações ou avaliar as informações.
[0133] Além disso, este documento pode referir-se ao “recebimento” de várias informações. Receber, assim como “acessar”, pretende ser um termo amplo. Receber as informações pode incluir um ou mais de, por exemplo, acessar as informações ou recuperar as informações (por exemplo, da memória). Além disso, "receber" está normalmente envolvido, de uma forma ou de outra, durante operações como, por exemplo, armazenar a informação, processar a informação, transmitir a informação, mover a informação, copiar a informação, apagar a informação, calcular a informação , determinar as informações, prever as informações ou avaliar as informações.
[0134] Deve ser apreciado que o uso de qualquer um dos seguintes "/", "e /
ou" e "pelo menos um de", por exemplo, nos casos de "A/B", "A e/ou B " e "pelo menos um de A e B ", destina-se a abranger a seleção da primeira opção listada (A) apenas, ou a seleção da segunda opção listada (B) apenas, ou a seleção de ambas as opções (A e B). Como outro exemplo, nos casos de "A, B e / ou C" e "pelo menos um de A, B e C", tal fraseado destina-se a abranger a seleção da primeira opção listada (A) apenas, ou a seleção da segunda opção listada (B) apenas, ou a seleção da terceira opção listada (C) apenas, ou a seleção das primeira e segunda opções listadas (A e B) apenas, ou a seleção das primeira e terceira opções listadas (A e C) apenas, ou a seleção das segunda e terceira opções listadas (B e C) apenas, ou a seleção de todas as três opções (A e B e C). Isso pode ser estendido, como é claro para alguém versado na técnica, para tantos itens quantos forem listados.
[0135] Além disso, conforme usado neste documento, a palavra "sinal" se refere a, entre outras coisas, indicar algo para um decodificador correspondente. Por exemplo, em determinadas modalidades, o codificador sinaliza um determinado de uma pluralidade de pesos a serem usados para matrizes de referência de intraprevisão. Desta forma, em uma modalidade, o mesmo parâmetro é usado tanto no lado do codificador quanto no lado do decodificador. Assim, por exemplo, um codificador pode transmitir (sinalização explícita) um parâmetro particular para o decodificador de modo que o decodificador possa usar o mesmo parâmetro particular. Por outro lado, se o decodificador já tiver o parâmetro específico, bem como outros, então a sinalização pode ser usada sem transmissão (sinalização implícita) para simplesmente permitir que o decodificador conheça e selecione o parâmetro específico. Ao evitar a transmissão de quaisquer funções reais, é realizada uma pequena economia em várias modalidades. Deve ser apreciado que a sinalização pode ser realizada de várias maneiras. Por exemplo, um ou mais elementos de sintaxe, sinalizadores e assim por diante são usados para sinalizar informações para um decodificador correspondente em várias modalidades. Embora o anterior se refira à forma verbal da palavra "sinal", a palavra "sinal" também pode ser usada aqui como um substantivo.
[0136] Como será claro para aqueles versados na técnica, as implementações podem produzir uma variedade de sinais formatados para transportar informações que podem ser, por exemplo, armazenadas ou transmitidas. As informações podem incluir, por exemplo, instruções para realizar um método ou dados produzidos por uma das implementações descritas. Por exemplo, um sinal pode ser formatado para transportar o fluxo de bits de uma modalidade descrita. Tal sinal pode ser formatado, por exemplo, como uma onda eletromagnética (por exemplo, usando uma parte de radiofrequência do espectro) ou como um sinal de banda base. A formatação pode incluir, por exemplo, a codificação de um fluxo de dados e a modulação de uma portadora com o fluxo de dados codificados. As informações que o sinal transporta podem ser, por exemplo, informações analógicas ou digitais. O sinal pode ser transmitido por uma variedade de links com ou sem fio, como é conhecido. O sinal pode ser armazenado em um meio legível por processador.
[0137] A descrição anterior descreveu uma série de modalidades. Estas e outras modalidades incluem os seguintes recursos opcionais sozinhos ou em qualquer combinação, em várias categorias e tipos de reivindicações diferentes: - Usando direções de previsão durante previsão intra na codificação e decodificação além de -135 graus e 45 graus - estender as interações entre os modos de ângulo amplo e PDPC - estender as direções de previsão em uma direção horizontal ou vertical, enquanto remove algumas direções na direção oposta para manter o mesmo número de direções totais - estender o número de direções além de -135 graus e além de 45 graus - combinar PDPC e previsão intra de ângulo amplo para amostras dentro de um bloco - sinalizar de um codificador para um decodificador cujas direções de previsão estão sendo usadas - usar um subconjunto de direções de previsão - o bloco é uma CU com formato retangular - o outro bloco é um bloco vizinho
[0138] - Um fluxo de bits ou sinal que inclui um ou mais dos elementos de sintaxe descritos, ou variações dos mesmos.
[0139] - Inserir na sintaxe de sinalização elementos que possibilitem ao decodificador processar um fluxo de bits de maneira inversa àquela realizada por um codificador.
[0140] - Criar e / ou transmitir e / ou receber e / ou decodificar um fluxo de bits ou sinal que inclua um ou mais dos elementos de sintaxe descritos, ou variações dos mesmos.
[0141] - Uma TV, um descodificador, telefone celular, tablet ou outro dispositivo eletrônico que execute qualquer uma das modalidades descritas.
[0142] - Uma TV, um descodificador, telefone celular, tablet ou outro dispositivo eletrônico que execute qualquer uma das modalidades descritas, e que exiba (por exemplo, usando um monitor, tela ou outro tipo de exibição) uma imagem resultante.
[0143] - Uma TV, um descodificador, telefone celular, tablet ou outro dispositivo eletrônico que sintonize (por exemplo, usando um sintonizador) um canal para receber um sinal incluindo uma imagem codificada e execute qualquer uma das modalidades descritas.
[0144] - Uma TV, um descodificador, telefone celular, tablet ou outro dispositivo eletrônico que receba (por exemplo, usando uma antena) um sinal que inclua uma imagem codificada e execute qualquer uma das modalidades descritas.
[0145] - Vários outros recursos generalizados, bem como particularizados, também são suportados e contemplados ao longo desta divulgação.

Claims (15)

REIVINDICAÇÕES
1. Método, CARACTERIZADO pelo fato de que compreende: prever uma amostra de um bloco de vídeo não quadrado usando pelo menos uma das N amostras de referência de uma linha acima do bloco de vídeo não quadrado ou pelo menos uma das M amostras de referência de uma coluna à esquerda do bloco de vídeo não quadrado; e, codificar o bloco de vídeo não quadrado usando a referida previsão em um modo de codificação interna.
2. Aparelho, CARACTERIZADO pelo fato de que compreende: um processador, configurado para: prever uma amostra de um bloco de vídeo não quadrado usando pelo menos uma das N amostras de referência de uma linha acima do bloco de vídeo não quadrado ou pelo menos uma das M amostras de referência de uma coluna à esquerda do bloco de vídeo não quadrado; e, codificar o bloco de vídeo não quadrado usando a referida previsão em um modo de codificação intra.
3. Método, CARACTERIZADO pelo fato de que compreende: prever uma amostra de um bloco de vídeo não quadrado usando pelo menos uma das N amostras de referência de uma linha acima do bloco de vídeo não quadrado ou pelo menos uma das M amostras de referência de uma coluna à esquerda do bloco de vídeo não quadrado; e, decodificar o bloco de vídeo não quadrado usando a referida previsão em um modo de codificação intra.
4. Aparelho, CARACTERIZADO pelo fato de que compreende: um processador, configurado para: prever uma amostra de um bloco de vídeo não quadrado usando pelo menos uma das N amostras de referência de uma linha acima do bloco de vídeo não quadrado ou pelo menos uma das M amostras de referência de uma coluna à esquerda do bloco de vídeo não quadrado; e, decodificar o bloco de vídeo não quadrado usando a referida previsão em um modo de codificação intra.
5. Método, de acordo com a reivindicação 1 ou 3, ou o aparelho da reivindicação 2 ou 4, CARACTERIZADO pelo fato de que a referida previsão compreende uma combinação ponderada das referidas amostras de referência.
6. Método, de acordo com a reivindicação 1 ou 3, ou aparelho, de acordo com a reivindicação 2 ou 4, CARACTERIZADO pelo fato de que uma razão de N para M é substancialmente igual a uma razão de largura para altura do referido bloco de vídeo não quadrado.
7. Método, de acordo com a reivindicação 1 ou 3, ou aparelho, de acordo com a reivindicação 2 ou 4, CARACTERIZADO pelo fato de que o referido modo de intracodificação usa amostras de referência das referidas N amostras de referência acima e das referidas M amostras de referência à esquerda do referido bloco de vídeo não quadrado.
8. Método, de acordo com a reivindicação 1 ou 3, ou aparelho, de acordo com a reivindicação 2 ou 4, CARACTERIZADO pelo fato de que N é duas vezes a largura do bloco de vídeo não quadrado e M é o dobro da altura do bloco de vídeo não quadrado.
9. Método, de acordo com a reivindicação 1 ou 3, ou aparelho, de acordo com a reivindicação 2 ou 4, CARACTERIZADO pelo fato de que os modos de previsão intra se estendem além dos ângulos de 45 e -135 graus.
10. Método, de acordo com a reivindicação 1 ou 3, ou aparelho, de acordo com a reivindicação 2 ou 4, CARACTERIZADO pelo fato de que o referido N é maior que a largura do referido bloco não quadrado e em que as referidas N amostras de referência se estendem além de uma borda direita do referido bloco não quadrado.
11. Método, de acordo com a reivindicação 1 ou 3, ou aparelho, de acordo com a reivindicação 2 ou 4, CARACTERIZADO pelo fato de que o referido M é maior do que a altura do referido bloco não quadrado, e em que as referidas amostras de referência M se estendem além de uma borda inferior do referido bloco não quadrado.
12. Dispositivo, CARACTERIZADO pelo fato de que compreende: um aparelho de acordo com qualquer uma das reivindicações 4 a 11; e pelo menos um de (i) uma antena configurada para receber um sinal, o sinal incluindo o bloco de vídeo, (ii) um limitador de banda configurado para limitar o sinal recebido a uma banda de frequências que inclui o bloco de vídeo, e (iii) um monitor configurado para exibir uma saída representativa de um bloco de vídeo.
13. Meio legível por computador não transitório, CARACTERIZADO pelo fato de que contém conteúdo de dados gerado de acordo com o método de qualquer uma das reivindicações 1 e 5 a 11, ou pelo aparelho de qualquer uma das reivindicações 2 e 5 a 11, para reprodução usando uma reprodução.
14. Sinal, CARACTERIZADO pelo fato de que compreende dados de vídeo gerados de acordo com o método de qualquer uma das reivindicações 1 e 5 a 11, ou pelo aparelho de qualquer uma das reivindicações 2 e 5 a 11, para reprodução usando um processador.
15. Produto de programa de computador, CARACTERIZADO pelo fato de que compreende instruções que, quando o programa é executado por um computador, fazem com que o computador execute o método de qualquer uma das reivindicações 1, 3 e 5 a 11.
BR112020025939-0A 2018-07-16 2019-06-14 previsão intra de ângulo amplo e combinação de previsão intra dependente da posição BR112020025939A2 (pt)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
EP18290084.5 2018-07-16
EP18290084 2018-07-16
EP18306225.6A EP3627835A1 (en) 2018-09-21 2018-09-21 Wide angle intra prediction and position dependent intra prediction combination
EP18306225.6 2018-09-21
PCT/US2019/037148 WO2020018207A1 (en) 2018-07-16 2019-06-14 Wide angle intra prediction and position dependent intra prediction combination

Publications (1)

Publication Number Publication Date
BR112020025939A2 true BR112020025939A2 (pt) 2021-03-23

Family

ID=67070916

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112020025939-0A BR112020025939A2 (pt) 2018-07-16 2019-06-14 previsão intra de ângulo amplo e combinação de previsão intra dependente da posição

Country Status (6)

Country Link
EP (1) EP3824624A1 (pt)
JP (1) JP2021531677A (pt)
KR (1) KR20210028652A (pt)
CN (1) CN112425162A (pt)
BR (1) BR112020025939A2 (pt)
WO (1) WO2020018207A1 (pt)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11039156B2 (en) * 2019-06-11 2021-06-15 Tencent America LLC Unified position dependent prediction combination process

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9532058B2 (en) * 2011-06-03 2016-12-27 Qualcomm Incorporated Intra prediction mode coding with directional partitions
WO2013023518A1 (en) * 2011-08-17 2013-02-21 Mediatek Singapore Pte. Ltd. Method and apparatus for intra prediction using non-square blocks
US20140198855A1 (en) * 2013-01-14 2014-07-17 Qualcomm Incorporated Square block prediction
US10448011B2 (en) * 2016-03-18 2019-10-15 Mediatek Inc. Method and apparatus of intra prediction in image and video processing
MX2018014480A (es) * 2016-05-25 2019-08-12 Arris Entpr Llc Codificacion de prediccion angular ponderada mejorada para intra codificacion.

Also Published As

Publication number Publication date
WO2020018207A1 (en) 2020-01-23
CN112425162A (zh) 2021-02-26
EP3824624A1 (en) 2021-05-26
US20210297668A1 (en) 2021-09-23
JP2021531677A (ja) 2021-11-18
KR20210028652A (ko) 2021-03-12

Similar Documents

Publication Publication Date Title
US20240155105A1 (en) Block shape adaptive intra prediction directions for quadtree-binary tree
EP3598757A1 (en) Block shape adaptive intra prediction directions for quadtree-binary tree
EP3627835A1 (en) Wide angle intra prediction and position dependent intra prediction combination
US20230232037A1 (en) Unified process and syntax for generalized prediction in video coding/decoding
BR112021004858A2 (pt) compensação de iluminação local para codificação e decodificação de vídeo usando parâmetros armazenados
US20240031560A1 (en) Intra prediction with geometric partition
BR112021013444A2 (pt) Método, aparelho e sistema de predição de imagem, dispositivo, e mídia de armazernamento
CN113170210A (zh) 视频编码和解码中的仿射模式信令
EP3706421A1 (en) Method and apparatus for video encoding and decoding based on affine motion compensation
KR20230145097A (ko) 공간 국소 조명 보상
WO2020056095A1 (en) Improved virtual temporal affine candidates
US20220124337A1 (en) Harmonization of intra transform coding and wide angle intra prediction
BR112020025939A2 (pt) previsão intra de ângulo amplo e combinação de previsão intra dependente da posição
CN112385229A (zh) 虚拟时间仿射候选
US20230023837A1 (en) Subblock merge candidates in triangle merge mode
US12022079B2 (en) Wide angle intra prediction and position dependent intra prediction combination
CN112703733A (zh) 一统一列表中的平移和仿射候选
RU2797393C2 (ru) Позиционно-зависимая комбинация intra-предсказания для широкоугольного intra-предсказания
RU2820339C2 (ru) Hmvc для аффинного режима и режима предсказания вектора движения sbtmvp
RU2809558C2 (ru) Способ и устройство для кодирования и декодирования изображения
RU2815092C2 (ru) Широкоугольное внутрикадровое предсказание с подразделами
US20230370645A1 (en) In-loop filter with multiple regions
US20240214553A1 (en) Spatial local illumination compensation
WO2020260110A1 (en) Hmvc for affine and sbtmvp motion vector prediciton modes
WO2024002675A1 (en) Simplification for cross-component intra prediction