BR112020027089A2 - Método e aparelho para filtragem dependente de taxa de proporção para intraprevisão - Google Patents

Método e aparelho para filtragem dependente de taxa de proporção para intraprevisão Download PDF

Info

Publication number
BR112020027089A2
BR112020027089A2 BR112020027089-0A BR112020027089A BR112020027089A2 BR 112020027089 A2 BR112020027089 A2 BR 112020027089A2 BR 112020027089 A BR112020027089 A BR 112020027089A BR 112020027089 A2 BR112020027089 A2 BR 112020027089A2
Authority
BR
Brazil
Prior art keywords
block
video
unit
fact
samples
Prior art date
Application number
BR112020027089-0A
Other languages
English (en)
Inventor
Alexey Konstantinovich Filippov
Vasily Alexeevich Rufitskiy
Jianle Chen
Original Assignee
Huawei Technologies Co., Ltd.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co., Ltd. filed Critical Huawei Technologies Co., Ltd.
Publication of BR112020027089A2 publication Critical patent/BR112020027089A2/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/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/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/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/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • 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

Landscapes

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

Abstract

a presente invenção refere-se a um método para filtragem dependente de taxa de proporção para intraprevisão, o método compreendendo selecionar um filtro de interpolação para um bloco a ser previsto dependendo de uma taxa de proporção do bloco.

Description

Relatório Descritivo da Patente de Invenção para "MÉTODO
E APARELHO PARA FILTRAGEM DEPENDENTE DE TAXA DE PROPORÇÃO PARA INTRAPREVISÃO". CAMPO DA TÉCNICA
[0001] A presente revelação refere-se ao campo da técnica de conversão em código e decodificação de imagem e/ou de vídeo e, em particular, a um método e aparelho para filtragem dependente de taxa de proporção para intraprevisão.
ANTECEDENTES DA INVENÇÃO
[0002] Vídeo digital tem sido amplamente usado desde a introdução de discos DVD. Antes da transmissão, o vídeo é codificado e transmitido com o uso de um meio de transmissão. O espectador recebe o vídeo e usa um dispositivo de visualização para decodificar e exibir o vídeo. Ao longo dos anos, a qualidade do vídeo tem aprimorado, por exemplo, devido a resoluções mais altas, profundidades de cor e taxa de quadros. Isso originou fluxos de dados maiores que são atualmente transportados comumente pela internet e redes de comunicação móvel.
[0003] Vídeos de resolução mais alta, no entanto, exigem mais largura de bloco quando têm mais informações. A fim de reduzir exigências de largura de bloco, foram apresentados padrões de conversão de vídeo em código que envolvem a compressão do vídeo. Quando o vídeo é codificado, as exigências de largura de bloco (ou exigências de memória correspondentes no caso de armazenamento) são reduzidos. Muitas vezes, essa redução prejudica a qualidade. Desse modo, os padrões de conversão de vídeo em código tentam encontrar um equilíbrio entre exigências de largura de bloco e qualidade.
[0004] A Conversão de Vídeo em Código de Alta Eficiência (HEVC) é um exemplo de um padrão de conversão de vídeo em código que é comumente conhecido pelas pessoas versadas na técnica. Em HEVC,
uma unidade de conversão em código (CU) pode ser dividida em unidades de previsão (PU) ou unidades de transformada (TUs). O padrão e próxima geração de Conversão de Vídeo em Código Versátil (VVC) é o projeto de vídeo em conjunto mais do Grupo de Especialistas de Conversão em Código de Vídeo de ITU-T (VCEG) e as organizações de padronização do Grupo de Especialistas de Figuração em Movimento ISO/IEC (MPEG), trabalhando juntos em uma parceira conhecida como o Time de Exploração de Vídeo em Conjunto (JVET). O VVC também é denominado de padrão ITU-T H.266/Conversão em Código de Vídeo da Próxima Geração (NGVC). O VVC remover os conceitos de múltiplos tipos de particionamento, isto é, remove a separação dos conceitos de CU, PU e TU com exceção de quando há necessidade de CUs que têm um tamanho muito grande para o comprimento máximo da transformada e suporta mais flexibilidade para formatos de particionamento de CU.
[0005] O processamento dessas unidades de conversão em vídeo (CUs) (também denominadas de blocos) depende do tamanho das mesmas, posição espacial e modo de conversão em código especificado por um codificador. Os modos de conversão em código podem ser classificados em dois grupos de acordo com o tipo de previsão: modos de intraprevisão e interprevisão. Os modos de intraprevisão usam amostras da mesma figuração (também denominada de quadro ou imagem) para gerar amostras de referência a fim de calcular os valores de previsão para as amostras do bloco que é reconstruído. A intraprevisão também é denominada de interprevisão. Os modos de interprevisão são projetados para previsão temporal e usam amostras de referência de figurações anteriores ou das figurações seguintes a fim de prever amostras do bloco da figuração atual.
[0006] A seleção de filtro de interpolação é harmonizada com a decisão na seleção de lado de referência principal. Ambas essas decisões em uma comparação de modos de intraprevisão com a direção diagonal (45 graus).
SUMÁRIO
[0007] Um aparelho e um método para intraprevisão são revelados. O aparelho e método usam uma direção alternativa (direção alternativa para a direção diagonal de 45 graus) para limitar um modo de intraprevisão durante o processo de seleção de filtro de interpolação. De modo específico, essa direção correspondente ao ângulo da diagonal principal do bloco a ser previsto.
[0008] Limitar um modo de intraprevisão compreende comparar um ângulo de direção de intraprevisão do bloco atual com um valor de um ângulo de limite e selecionar ou a largura ou a altura do bloco para definir um filtro de interpolação usado na intraprevisão direcional a fim de obter valores das amostras previstas dos valores de amostras de referência. Particularmente, quando o ângulo de direção de intraprevisão é maior que um limite, o filtro de interpolação gaussiana é usado quando a altura de bloco é maior que 16, ou filtro de interpolação cúbica é usado quando a altura é menor que 16. De outro modo, quando o ângulo de direção é menor que um limite, o filtro de interpolação gaussiana é usado quando uma largura de bloco é maior que 16, ou o filtro de interpolação cúbica é usado quando uma largura é menor que
16.
[0009] Entende-se que um número ou índice de modo de intraprevisão pode ser usado para indicar a direção de previsão e o ângulo entre direções pode ser representado pela diferença de índices dos modos de intraprevisão correspondentes.
[0010] Essa modalidade propõe um mecanismo para selecionar diferentes filtros de amostra de referência (filtros de interpolação) a fim de considerar a orientação de um bloco. De modo específico, largura e altura de um bloco são verificados independentemente de modo que diferentes filtros de amostra de referência são aplicados às amostras de referência localizadas em diferentes lados de um bloco a ser previsto.
[0011] As modalidades da revelação são descritas nas reivindicações e na descrição a seguir.
[0012] O escopo de proteção é definido pelas reivindicações.
[0013] De acordo com um primeiro aspecto, é fornecido um método para filtragem dependente de taxa de proporção para intraprevisão, sendo que o método compreende: selecionar um filtro de interpolação para um bloco a ser previsto dependendo de uma taxa de proporção do bloco. O método pode ser, por exemplo, para intraprevisão de um bloco de uma figuração, por exemplo, uma figuração estática ou uma figuração de um vídeo. Por exemplo, dependendo da taxa de proporção, o bloco pode ser dividido em duas áreas, por exemplo, por uma linha reta, em que para a primeira área uma primeira interpolação é usada para intraprevisão de amostras na primeira área, em que para a segunda área uma segunda interpolação é usada para intraprevisão de amostras na segunda área.
[0014] De acordo com uma forma de implantação do primeiro aspecto, a seleção do filtro de interpolação depende de uma direção para limitar um modo de intraprevisão do bloco a ser previsto.
[0015] De acordo com uma forma de implantação do primeiro aspecto, a direção correspondente a um ângulo de um diagonal principal do bloco a ser previsto, em que um ângulo da direção é calculado como:
H  T  arctan( ) W ,
[0016] em que W, H são largura e altura do bloco a serem previstos, respectivamente. Por exemplo, o ângulo da linha (diagonal principal) que divide o bloco é determinado de maneira correspondente.
[0017] De acordo com uma forma de implantação do primeiro aspecto, em que a taxa de proporção RA é determinada de acordo com
RA  log2 (W )  log2 ( H ) ,
[0018] em que W, H são largura e altura do bloco a serem previstos, respectivamente.
[0019] De acordo com uma forma de implantação do primeiro aspecto, o ângulo da diagonal principal do bloco a ser previsto é determinado com base na taxa de proporção.
[0020] De acordo com uma forma de implantação do primeiro aspecto, um limite de um modo de intraprevisão do bloco é determinado com base no ângulo da diagonal principal do bloco a ser previsto.
[0021] De acordo com uma forma de implantação do primeiro aspecto, a seleção do filtro de interpolação depende do lado ao qual pertence do bloco as amostras de referência usadas pertencem. Por exemplo, caso uma amostra de referência pertença a um lado superior de um bloco e é usado para prever uma amostra no interior do bloco, o filtro de interpolação para a previsão de amostra é selecionado com relação à largura de bloco. Caso uma amostra de referência pertença a um lado esquerdo de um bloco e é usado para prever uma amostra no interior do bloco, o filtro de interpolação para a previsão de amostra é selecionado com relação à altura do bloco.
[0022] De acordo com uma forma de implantação do primeiro aspecto, uma linha reta com um ângulo que corresponde a uma intradireção divide o bloco em duas áreas.
[0023] De acordo com uma forma de implantação do primeiro aspecto, as amostras de referência que pertencem a diferentes áreas são previstas com o uso de diferentes filtros de interpolação.
[0024] De acordo uma forma de implantação do primeiro aspecto, o filtro inclui um filtro de interpolação cúbica ou um filtro de interpolação gaussiana.
[0025] De acordo com um segundo aspecto, é fornecido um dispositivo configurado para implantar um método de acordo com o primeiro aspecto ou qualquer uma das formas de implantação do mesmo.
[0026] De acordo com um terceiro aspecto, é fornecido um dispositivo que compreende um processador, em que o processador é configurado para implantar um método de acordo com o primeiro aspecto ou com qualquer uma das formas de implantação do mesmo.
[0027] De acordo com um quarto aspecto, é fornecido um produto de programa de computador que compreende um código de programa para realizar o método de acordo com o primeiro aspecto ou com qualquer uma das formas de implantação do mesmo, quando executado em um processador.
[0028] De acordo com um quinto aspecto, é fornecido um dispositivo que compreende um ou mais processadores e uma mídia de armazenamento legível por computador não transitória acoplada a um ou mais processadores e programação de armazenamento para execução pelo um ou mais processadores, em que a programação, quando executada pelo um ou mais processadores, configura o dispositivo para realizar o método de acordo com o primeiro aspecto ou qualquer uma das formas de implantação do mesmo.
BREVE DESCRIÇÃO DE DESENHOS
[0029] A seguir, modalidades exemplificativas serão descritas mais detalhadamente com referência às figuras e desenhos anexos, em que:
[0030] A Figura 1 mostra um diagrama esquemático que ilustra um exemplo de um sistema de codificação e de decodificação de vídeo 100.
[0031] A Figura 2 mostra um diagrama esquemático que ilustra um exemplo de um codificador de vídeo 200.
[0032] A Figura 3 mostra um diagrama esquemático que ilustra um exemplo de um decodificador de vídeo 300.
[0033] A Figura 4 mostra um diagrama esquemático que ilustra 67 modos de intraprevisão propostos.
[0034] A Figura 5 mostra um exemplo de QTBT.
[0035] As Figuras 6a e 6b mostram exemplos de orientações de blocos retangulares.
[0036] A Figura 6c mostra uma seleção de filtro de interpolação dependente do comprimento lateral.
[0037] A Figura 7 mostra modalidades de direções alternativas para limitar um modo de intraprevisão durante um processo de seleção de filtro de interpolação.
[0038] A Figura 8 mostra uma modalidade que usa diferentes filtros de interpolação, sendo que os diferentes filtros de interpolação dependem do lado ao qual as amostras de pertencem.
[0039] A Figura 9 é um diagrama esquemático que ilustra uma estrutura exemplificativa de um aparelho.
DESCRIÇÃO DETALHADA DE MODALIDADES
[0040] Na descrição a seguir, é feita referência aos desenhos anexos, que formam parte da revelação, e nos quais são mostrados, a título de ilustração, aspectos específicos aos quais a modalidade pode ser aplicada.
[0041] Por exemplo, entende-se que uma revelação em combinação com um método descrito também pode se mantém fiel a um dispositivo ou sistema correspondente configurado para realizar o método e vice-versa. Por exemplo, caso uma etapa de método específica seja descrita, um dispositivo correspondente pode incluir uma unidade para realizar a etapa de método descrita, até mesmo caso a unidade não seja descrita ou ilustrada explicitamente nas Figuras. Além disso, entende-se que os recursos dos vários aspectos exemplificativos descritos no presente documento podem ser combinados com entre si, salvo quando observado de outro modo.
[0042] A conversão de vídeo em código se refere tipicamente ao processamento de uma sequência de figurações, que forma o vídeo ou sequência de vídeos. Os termos figuração, imagem ou quadro podem ser/são usados de maneira sinônima no campo de conversão de vídeo em código assim como no presente pedido. Cada figuração é tipicamente particionada em um conjunto de blocos que são não se sobrepõem. A codificação/decodificação da figuração é realizada tipicamente a um nível bloco em que, por exemplo, a previsão de interquadro ou previsão de intraquadro são usados para gerar um bloco de previsão, para subtrair o bloco de previsão do bloco atual (bloco atualmente processado/a ser processado) para obter um bloco residual, que é transformado e quantizado adicionalmente para reduzir a quantidade de dados a serem transmitidos (compressão) ao passo que no lado do decodificador, o processamento inverso é aplicado ao bloco codificado/comprimido para reconstruir o bloco (bloco de vídeo) para representação.
[0043] A Figura 1 é um diagrama de blocos que ilustra um sistema exemplificativo de codificação e de decodificação de vídeo 100 que pode utilizar as técnicas descritas na presente revelação, incluindo técnicas para codificar e decodificar particionamentos limítrofes. O sistema 100 não é apenas aplicado à codificação e decodificação de vídeo, porém também é aplicado à decodificação e codificação de figuração. Conforme mostrado na Figura 1, o sistema 100 inclui um dispositivo de origem 102 que gera dados de vídeo codificados a serem decodificados posteriormente por um dispositivo de destino 104. O codificador de vídeo 200, conforme mostrado na Figura 2, é um exemplo de um codificador de vídeo 108 do dispositivo de origem 102. O decodificador de vídeo 300, conforme mostrado na Figura 3, é um exemplo de um decodificador de vídeo 116 do dispositivo de destino
104. O dispositivo de origem 102 e dispositivo de destino 104 podem compreendem uma ampla faixa de dispositivos, incluindo computadores do tipo desktop, computadores do tipo notebook (isto é, computadores do tipo laptop), computadores do tipo tablet, decodificadores de sinal, fontes de telefone, os então chamados de telefones "inteligentes", os então chamados blocos "inteligentes", televisões, câmeras, dispositivos de exibição, reprodutores de mídia digital, consoles de jogos eletrônicos de vídeo, dispositivo de transmissão contínua de vídeo ou semelhantes. Em alguns casos, o dispositivo de origem 102 e dispositivo de destino 104 podem ser equipados para comunicação sem fio.
[0044] O dispositivo de destino 104 pode receber os dados de vídeo codificados para serem decodificados por meio de um enlace 112. O enlace 112 pode incluir qualquer tipo de meio ou dispositivo com capacidade para mover os dados de vídeo codificados do dispositivo de origem 102 para o dispositivo de destino 104. Em um exemplo, o enlace 112 pode compreender uma mídia de comunicação para possibilitar que o dispositivo de origem 102 transmita dados de vídeo codificados diretamente para o dispositivo de destino 104 em tempo real. Os dados de vídeo codificados podem ser modulados, de acordo com um padrão de comunicação, tal como um padrão de comunicação, tal como um protocolo de comunicação sem fio, e transmitidos ao dispositivo de destino 104. A mídia de comunicação pode compreender qualquer mídia de comunicação sem fio ou cabeada, tal como um espectro de radiofrequência (RF) ou uma ou mais linhas de transmissão físicas. A mídia de comunicação pode formar parte de uma rete com base em pacote, tal como uma rede de área local, uma rede de longa distância ou uma rede global, tal como a Internet. A mídia de comunicação pode incluir roteadores, comutadores, estações-base ou qualquer outro equipamento que possa ser útil para facilitar a comunicação do dispositivo de origem 102 ao dispositivo de destino 104.
[0045] Alternativamente, os dados codificados podem ser emitidos da interface de saída 110 a um dispositivo de armazenamento (não mostrado na Figura 1). De modo semelhante, os dados codificados podem ser acessados do dispositivo de armazenamento pela interface de entrada 114. O dispositivo de destino 104 pode acessar os dados de vídeo armazenados do dispositivo de armazenamento por meio de transmissão contínua ou por meio de transferência por download. As técnicas da presente revelação não necessariamente se limitam a aplicações ou ambientes sem fio. As técnicas podem ser aplicadas à conversão de vídeo em código em apoio a qualquer uma das várias aplicações de multimídia, tais como difusões televisivas pelo ar, transmissões televisivas a cabo, transmissões televisivas a satélite, transmissões de vídeo de transmissão contínua, por exemplo, por meio da Internet, codificação de vídeo digital para armazenamento em uma mídia de armazenamento de dados, decodificação de vídeo digital em uma mídia de armazenamento de dados ou outras aplicações. Em alguns exemplos, o sistema 100 pode ser configurado para suportar transmissão de vídeo unidirecional ou bidirecional para suportar aplicações, tais como transmissão contínua de vídeo, reprodução de vídeo, difusão de vídeo e/ou videotelefonia.
[0046] No exemplo da Figura 1, o dispositivo de origem 102 inclui uma origem de vídeo 106, um codificador de vídeo 108 e uma interface de saída 110. Em alguns casos, a interface de saída 110 pode incluir um modulador/demodulador (modem) e/ou a transmissor. No dispositivo de origem 102, a origem de vídeo 106 pode incluir uma origem, tal como um dispositivo de captura de vídeo, por exemplo, um câmara de vídeo, um arquivo de vídeo que contém vídeo anteriormente capturado, uma interface de alimentação de vídeo para receber vídeo de um fornecedor de conteúdo de vídeo e/ou um sistema de gráfico de computador para gerar dados gráficos de computador como um vídeo de origem ou uma combinação de tais origens Como exemplo, caso a origem de vídeo 106 seja uma câmara de vídeo, o dispositivo de origem 102 e o dispositivo de destino 104 podem formar então chamados telefones com câmera ou videofone. No entanto, as técnicas descritas no presente revelação pode ser aplicável à conversão de vídeo em código em general e podem ser aplicadas a aplicações sem fio e/ou cabeadas.
[0047] O vídeo capturado, pré-capturado ou gerado por computador pode ser codificado pelo codificador de vídeo 108. Os dados de vídeo codificados podem ser transmitidos diretamente ao dispositivo de destino 104 por meio da interface de saída 110 do dispositivo de origem
102. Os dados de vídeo codificados também (ou alternativamente) podem ser armazenados no dispositivo de armazenamento para acesso posterior pelo dispositivo de destino 104 ou outros dispositivos para decodificação e/ou reprodução.
[0048] O dispositivo de destino 104 inclui uma interface de entrada 114, um decodificador de vídeo 116 e um dispositivo de exibição 118. Em alguns casos, a interface de entrada 114 pode incluir um receptor e/ou um modem. A interface de entrada 114 do dispositivo de destino 104 recebe os dados de vídeo codificados por meio do enlace 112. Os dados de vídeo codificados comunicados por meio do enlace 112 ou fornecidos no dispositivo de armazenamento podem incluir vários elementos sintáticos gerados pelo codificador de vídeo 108 para uso por um decodificador de vídeo, tais como o decodificador de vídeo 116, na decodificação dos dados de vídeo. Tais elementos sintéticos podem ser incluídos com os dados de vídeo codificados transmitidos em uma mídia de comunicação, armazenadas em uma mídia de armazenamento ou armazenados em um servidor de arquivo.
[0049] O dispositivo de exibição 118 pode ser integrado, ou externo, ao dispositivo de destino 104. Em alguns exemplos, o dispositivo de destino 104 pode incluir um dispositivo de exibição integrado e também pode ser configurado para fazer interface com um dispositivo de exibição externo. Em outros, o dispositivo de destino 104 pode ser um dispositivo de exibição. De modo geral, o dispositivo de exibição 118 exibe os dados de vídeo decodificados a um usuário e pode compreender qualquer um dentre vários dispositivos, tais como uma tela de cristal líquido (LCD), uma tela de plasma, uma tela de diodo emissor de luz orgânico (OLED) e outro tipo de dispositivo de exibição.
[0050] O codificador de vídeo 108 e o decodificador de vídeo 116 podem operar acordo com qualquer tipo de padrão de compressão de vídeo, incluindo, porém sem limitação o padrão MPEG-2, MPEG-4, ITU- T H.263, ITU-T H.264/MPEG-4, Parte 10, Codificação de Vídeo Avançada (AVC), a Conversão de Vídeo em Código de Alta Eficiência (HEVC), ITU-T H.266/ Conversão de Vídeo em Código da Próxima Geração (NGVC).
[0051] Contempla-se geralmente que o codificador de vídeo 108 do dispositivo de origem 102 pode ser configurado para codificar os dados de vídeo de acordo com qualquer um desses padrões atuais ou futuros. De modo semelhante, contempla-se que o decodificador de vídeo 116 do dispositivo de destino 104 pode ser configurado para decodificar dados de vídeo de acordo com qualquer um dentre os padrões atuais ou padrões futuros.
[0052] O codificador de vídeo 108 e decodificador de vídeo 116 podem ser implantados, cada um, como qualquer um dentre uma variedade de conjunto de circuitos de codificador, tal como um ou mais microprocessadores, processadores de sinal digital (DSPs), circuitos integrados de aplicação específica (ASICs), arranjos de portas programáveis em campo (FPGAs), lógica distinta, software, hardware, firmware ou quaisquer combinações dos mesmos. Quando as técnicas são implantadas parcialmente em software, um dispositivo pode armazenar instruções para o software em uma mídia legível por computador não transitória adequada e executar as instruções em hardware com o uso de um ou mais processadores a fim de realizar as técnicas da presente revelação. Cada um dentre o codificador de vídeo
108 e i decodificador de vídeo 116 pode ser incluído em um ou mais codificadores ou decodificadores, dentre os quais qualquer pode ser integrado como parte de um codificador/decodificador combinado (CODEC) em um dispositivo respectivo.
[0053] Em especificações de conversão de vídeo em código, uma sequência de vídeos inclui tipicamente uma série de figurações. No entanto, observa-se que a presente revelação também é aplicável a campos, caso entrelaçamento seja aplicado. O codificador de vídeo 108 pode emitir um fluxo de bits que inclui uma sequência de bits que forma uma representação de figurações convertidas em código e dados associados. O decodificador de vídeo 116 pode receber um fluxo de bits gerados pelo codificador de vídeo 108. Além disso, o decodificador de vídeo 116 pode analisar o fluxo de bits para obter elementos sintáticos do fluxo de bits. O decodificador de vídeo 116 pode reconstruir as figurações dos dados de vídeo com base, pelo menos parcialmente, nos elementos sintáticos obtidos do fluxo de bits. O processo para reconstruir os dados de vídeo pode ser geralmente recíproco ao processo realizado pelo codificador de vídeo 108.
[0054] A Figura 2 mostra um diagrama esquemático que ilustra um exemplo de um codificador de vídeo 200. O codificador de vídeo 200 pode ser aplicado não apenas à codificação de vídeo, porém também pode ser aplicado à codificação de figuração. O codificador de vídeo 200 compreende uma entrada para receber blocos de entrada de quadros ou figurações de um fluxo de vídeo e uma saída para gerar um fluxo de bits de vídeo codificado. O codificador de vídeo 200 é adaptado para aplicar previsão, transmissão, quantização e conversão em código de entropia ao fluxo de vídeo. A transformação, quantização e conversão em código de entropia são realizados respectivamente por uma unidade de transformada 201, uma unidade de quantização 202 e uma unidade de codificação 203 de modo a gerar como uma como uma emissão o fluxo de bits de vídeo codificado.
[0055] O fluxo de vídeo corresponde a uma pluralidade de quadros, em que cada quadro é dividido em blocos de um determinado tamanho são ou intracodificados ou interconvertidos em código. Os blocos, por exemplo, do primeiro quadro do fluxo de vídeo são intraconvertidos em código por meio de uma unidade de intraprevisão 209. Um intraquadro é convertido em código apenas com o uso das informações dentro do mesmo quadro, de modo que possa ser decodificado independentemente e possa fornecer um ponto de entrada no fluxo de bits para acesso aleatório. Os blocos de outros quadros do fluxo de vídeo são interconvertidos em código por meio de uma unidade de interprevisão 210: informações de quadros convertidos em código, que são denominados de quadros de referência, são usadas para reduzir a redundância temporal de modo que cada bloco de um quadro interconvertido em código seja previsto de um bloco do mesmo tamanho em um quadro de referência. Uma unidade de seleção de modo 208 é adaptada para selecionar se um bloco de um quadro deve ser processado pela unidade de intraprevisão 209 ou a unidade de interprevisão 210.
[0056] Para realizar a interprevisão, os quadros de referência convertidos em código são processados por uma unidade de quantização inversa 204, uma unidade de transformada inversa 205, uma unidade de filtragem 206 (opcional) de modo a obter os quadros de referência que são, então, armazenados em um armazenamento temporário de quadro 207. Particularmente, os blocos de referência do quadro de referência podem ser processados por essas unidades a fim de obter blocos de referência reconstruídos. Em seguida, os blocos de referência reconstruídos são recombinados no quadro de referência.
[0057] A unidade de interprevisão 210 compreende como entrada um quadro ou figuração atual a ser interconvertido em código e um ou diversos quadros ou figurações de referência do armazenamento temporário de quadro 207. A estimativa de movimentação e compensação de movimentação são aplicados pela unidade de interprevisão 210. A estimativa de movimentação é suada para obter um vetor de movimentação e um quadro de referência com base em determinadas funções de custo. A compensação de movimentação descreve, então, um bloco atual do quadro atual em termos da transformação de um bloco de referência do quadro de referência em um quadro atual. A unidade de interprevisão 210 emite um bloco de previsão para o bloco atual, em que o dito bloco de previsão minimiza a diferença entre o bloco atual a ser convertido em código e o bloco de previsão do mesmo, isto é, minimizar o bloco residual. A minimização do bloco residual se baseia, por exemplo, em um procedimento de otimização da distorção de taxa (RDO).
[0058] A diferença entre o bloco atual e a previsão do mesmo, isto é, o bloco residual, é, então, transformada pela unidade de transformada
201. Os coeficientes de transformada são quantizados e submetidos à codificação de entropia pela unidade de quantização 202 e a unidade de codificação 203. O fluxo de bits de vídeo codificado compreende blocos intracodificados e blocos interconvertidos em código.
[0059] A Figura 3 mostra um diagrama esquemático que ilustra um exemplo de um decodificador de vídeo 300. O decodificador de vídeo 300 não ser aplicado não apenas à decodificação de vídeo, como também pode ser aplicado à decodificação de figuração. O decodificador de vídeo 300 compreende particularmente um armazenamento temporário de quadro 307, uma unidade de interprevisão 310. O armazenamento temporário de quadro 307 é adaptado para armazenar pelo menos um quadro de referência obtido do fluxo de bits de vídeo codificado. A unidade de interprevisão 310 é adaptado para gerar um bloco de previsão de um bloco atual de um quadro atual de um bloco de referência do quadro de referência.
[0060] O decodificador 300 é adaptado para decodificar o fluxo de bits de vídeo codificado gerado pelo codificador de vídeo 200 e tanto o decodificador 300 quanto o conversor em código 200 geram previsões idênticas. Os recursos do armazenamento temporário de quadro 307 e a unidade de interprevisão 310 são semelhantes aos recursos do armazenamento temporário de quadro 207 e a unidade de interprevisão 210, da Figura 2.
[0061] Particularmente, o decodificador de vídeo 300 compreende unidades que também estão presentes no codificador de vídeo 200 como, por exemplo, uma unidade de quantização inversa 304, uma unidade de transformada inversa 305, uma unidade de filtragem 306 (opcional) e uma unidade de intraprevisão 309 que correspondente respectivamente à unidade de quantização inversa 204, a unidade de transformada inversa 205, a unidade de filtragem 206 e a unidade de intraprevisão 209 do codificador de vídeo 200. Uma unidade de codificação 303 é adaptada para decodificar o fluxo de bits de vídeo codificado recebido e para obter correspondentemente coeficientes de transformada residual quantizada. A Unidade de quantização inversa 304 e uma unidade de transformada inversa 305 são alimentadas com coeficientes de transformada residual quantizada para gerar um bloco residual. O bloco residual é adicionado a um bloco de previsão, a unidade de filtragem 306 é alimentada com a adição para obter o vídeo decodificado. Os quadros do vídeo decodificado podem ser armazenados no armazenamento temporário de quadro 307 e serve como um quadro de referência para interprevisão.
[0062] O codificador de vídeo 200 pode dividir o quadro de vídeo de entrada em blocos antes da conversão em código. O termo "bloco" na presente revelação é usado para qualquer bloco de tipo ou para qualquer bloco de profundidade, por exemplo, o termo "bloco" está incluído, porém sem limitação, bloco raiz, bloco, sub-bloco, nó folha e etc. Os blocos a serem convertidos em código não têm necessariamente o mesmo tamanho. Uma figuração pode incluir blocos de diferentes tamanhos, e os rastreios de bloco de diferentes figurações de sequência de vídeos também podem ser diferentes.
[0063] De acordo com o padrão HEVC/H.265, 35 modos de intraprevisão são disponíveis. Conforme mostrado na Figura 4, esse conjunto contém os seguintes modos: modo plano (o índice de modo de intraprevisão é 0), modo DC (o índice de modo de intraprevisão é 1), e modos direcionais (ângulo) que cobrem o alcance de 180º e têm a faixa de valor de índice de modo de intraprevisão de 2 a 34 mostrados por setas pretas na Figura 4. A fim de capturar as direções de borda arbitrárias presentes em vídeo natural, o número de intramodos direcionais é estendido de 33, conforme usado em HEVC, a 65. Os modos direcionais adicionais são retratados como setas pontilhadas na Figura 4, e os modos plano e DC permanecem os mesmos. Convém observar que a faixa que abrangida por modos de intraprevisão podem ser maiores que 180º. Em particular, 62 modos direcionais com valores de índice de 3 a 64 podem abranger a faixa de aproximadamente 230º, isto é, diversos pares de modos têm direcionalidade oposta. No caso do Modelo de Referência HEVC (HM) e plataformas JEM, apenas um par de modos angulares (a saber, modos 2 e 66) tem direcionalidade oposta, conforme mostrado na Figura 4. Para construir um previsor, os modos angulares convencionais obtêm amostras de referência e (caso necessário) filtrar os mesmos para obter um previsor de amostra. O número de amostras de referência necessário para construir um previsor depende do comprimento do filtro usado para a interpolação (por exemplo, filtros bilineares e cúbicos têm comprimentos de 2 e 4, respectivamente).
[0064] Em VVC, é usado um mecanismo de particionamento com base tanto de árvore quadrática e árvore binária conhecido como QTBT. Conforme retratado na Figura 5, o particionamento de QTBT pode fornecer blocos não apenas retangulares como também quadrados. Evidentemente, alguma complexidade computacional aumentada e sobrecarga de sinalização no lado do codificador são o preço do particionamento de QTBT em comparação a particionamento com base em árvore quadrática convencional usado no padrão HEVC/H.265. No entanto, o particionamento com base em QTBT é dotado de melhores propriedades de segmentação e, então, demonstra eficiência de conversão em código significativamente maior que a árvore quadrática convencional.
[0065] No presente documento, os termos "bloco verticalmente orientado" ("orientação vertical de um bloco") e "bloco horizontalmente orientado" ("orientação horizontal de um bloco") são aplicados a blocos retangulares gerado pela estrutura de QTBT. Esses termos têm o mesmo significado mostrado nas Figuras 6a e 6b. Conforme mostrado na Figura 6a, um bloco com orientação horizontal compreende ou tem uma largura (direção horizontal) que é maior que sua altura (direção vertical). Conforme mostrado na Figura 6b, um bloco com orientação vertical compreende ou tem uma altura (direção vertical) que é maior que a largura do mesmo (direção horizontal).
[0066] Essa invenção propõe um mecanismo para selecionar diferentes filtros de amostra de referência afim de considerar uma orientação de um bloco. De modo específico, largura e altura de um bloco são verificados independentemente de modo que diferentes filtros de amostra de referência são aplicados às amostras de referência localizadas em diferentes lados de um bloco a ser previsto.
[0067] Na revisão de técnica anterior, foi descrito que a seleção de filtro de interpolação é harmonizada com a decisão na seleção de lado de referência principal. Ambas essas decisões em uma comparação de modos de intraprevisão com a direção diagonal (45 grau).
[0068] No entanto, pode ser verificado que esse modelo tem uma alha séria para blocos alongados. A partir da Figura 6c, pode ser observado que até mesmo caso um lado mais curto seja selecionado como a referência principal com o uso dos critérios de comparação de modo, a maioria dos pixels previstos é derivada das amostras de referência do lado mais longo (mostrado como área tracejada).
[0069] A invenção propõe usar uma direção alternativa para limiar um modo de intraprevisão durante processo de seleção de filtro de interpolação. De modo específico, essa direção correspondente ao ângulo da diagonal principal do bloco a ser previsto. Por exemplo, para blocos de tamanho 32x4 e 4x32, o modo de limite mT usado para determinar o filtro de amostra de referência é definido, conforme mostrado na Figura. 7.
[0070] Um valor específico do ângulo de limite intraprevisão (correspondente ao modo limite mT) pode ser calculado, por exemplo, com o uso da seguinte fórmula:
H  T  arctan( ) W , em que W, H são largura e altura de bloco, respectivamente.
[0071] Outra modalidade usa diferentes filtros de interpolação dependendo do lado ao qual as amostras de referência que são usadas pertencem ou, em outras palavras, dependendo do lado ao qual as amostras de referência usadas pertencem. Um exemplo dessa determinação é mostrado na Figura 8.
[0072] Uma linha reta com um ângulo que corresponde à intradireção m divide um bloco previsto em duas áreas. As amostras que pertencem a diferentes áreas são previstas com o uso de diferentes filtros de interpolação. A Figura 8 mostra uma modalidade em que as amostras da primeira área deixadas ou abaixo da linha reta são previstas com o uso de interpolação cúbica, e em que as amostras da segunda área imediatamente ou acima da linha reta são previstas com o uso de interpolação gaussiana.
[0073] Os valores exemplificativos de mT (para o conjunto de modos de intraprevisão definidos em BMS1.0) e dos ângulos correspondentes são fornecidos na Tabela 1 (a coluna esquerda contém a taxa de proporção RA). Os ângulos  são fornecidos mostrados na Figura 7.
TABELA 2: VALORES EXEMPLIFICATIVOS DE mT (PARA O
CONJUNTO DE MODOS DE INTRAPREVISÃO DEFINIDOS EM BMS1.0) Razão de aspecto Ângulo de diagonal Modo de intraprevisão RA  log2 (W )  log2 ( H ) principal  , graus limite mT -5 81,78 19 -4 93,57 19 -3 97,13 21 -2 104,04 23 -1 116,57 27 0 135,00 DIA_IDX (34) 1 153,44 41 2 165,96 45 3 172,88 47 4 176,42 49 5 178,21 49
[0074] As amostras dentro de um bloco são previstas com o uso de diferentes filtros de interpolação, em que o filtro de interpolação usado para prever uma amostra é selecionado de acordo com formato de bloco, em que a orientação é horizontal ou vertical e ângulo de modo de intraprevisão.
[0075] As modalidades também podem ser aplicadas no estágio da filtragem de amostra de referência. De modo específico, é possível determinar um filtro de suavização de amostra de referência com o uso de regras semelhantes, conforme descrito acima para um processo de seleção de filtro de interpolação.
[0076] A Figura 9 é um diagrama de blocos de um aparelho 1100 que pode ser usado para implantar várias modalidades. O aparelho 1500 pode ser o dispositivo de origem 102, conforme mostrado na Figura 1, ou o codificador de vídeo 200 conforme mostrado na Figura 2, ou o dispositivo de destino 104, conforme mostrado na Figura 1, ou o decodificador de vídeo 300, conforme mostrado na Figura 3. Adicionalmente, o aparelho 1500 pode hospedar um ou mais dentre os elementos descritos. Em algumas modalidades, o aparelho 1500 é equipado com um ou mais dispositivos de entrada/saída, tais como um alto-falante, microfone, mouse, tela sensível ao toque, teclado numérico, teclado, impressora, visor e semelhantes O aparelho 1500 pode incluir uma ou mais unidades de processamento central (CPUs) 1510, uma memória 1520, um armazenamento em massa 1530, um adaptador de vídeo 1540 e uma interface de I/O 1560 conectado a um barramento. O barramento é um ou mais de qualquer tipo de diversas arquiteturas de barramento incluindo um barramento de memória ou controlador de memória, um barramento periférico, um barramento periférico, um barramento de vídeo ou semelhantes.
[0077] A CPU 1510 pode ter qualquer tipo de processador de dados eletrônicos. A memória 1520 pode ter, ou pode ser, qualquer tipo de sistema memória, tal como memória de acesso aleatório (SRAM), memória de acesso aleatório dinâmico (DRAM), DRAM síncrona (SDRAM), memória de apenas leitura (ROM), uma combinação dos mesmos ou semelhantes. Em uma modalidade, a memória 1520 pode incluir ROM para uso na inicialização e DRAM para armazenamento de programa e de dados para uso durante a execução de programas. Nas modalidades, a memória 1520 é não transitória. O armazenamento em massa 1530 inclui qualquer tipo de dispositivo de armazenamento que armazena dados, programas e outras informações e para tornar os dados, programas e outras informações acessíveis por meio do barramento. O armazenamento em massa 1530 inclui, por exemplo, um ou mais dentre uma unidade de estado sólido, uma unidade de disco rígido, um disco magnético, uma unidade de disco óptico ou semelhantes.
[0078] O adaptador de vídeo 1540 e a interface de I/O 1560 fornecem interfaces para acoplar dispositivos externos de entrada e de saída ao aparelho 1500. Por exemplo, o aparelho 1500 pode fornecer uma interface de comando de SQL a clientes. Conforme ilustrado, os exemplos de dispositivos de entrada e de saída incluem uma tela 1590 acoplada ao adaptador de vídeo 1540 e qualquer combinação de mouse/teclado/impressora 1570 acoplado à interface de I/O 1560. Outros dispositivos podem ser acoplados ao aparelho 1500 e cartões de interface adicionais ou menos cartões de interface podem ser utilizados. Por exemplo, um cartão de interface serial (não mostrado) pode ser usado para fornecer uma interface serial para uma impressora.
[0079] O aparelho 1500 também inclui uma ou mais interfaces de rede 1550, que inclui enlaces cabeados, tais como um cabo Ethernet ou semelhantes, e/ou enlaces sem fio para acessar nós ou uma ou mais redes 1580. Uma interface de rede 1550 permite que o aparelho 1500 de comunique com unidades remotas por meio das redes 1580. Por exemplo, a interface de rede 1550 pode fornecer comunicação ao banco de dados. Em uma modalidade, o aparelho 1500 é acoplado a uma rede local ou uma rede de longa distância para processamento de dados e comunicações com dispositivos remotos, tais como outras unidades de processamento, a Internet, instalações de armazenamento remoto ou semelhantes.
[0080] A aproximação linear por partes é introduzida para calcular os valores de coeficientes de ponderação necessários para pixels de previsão dentro de um determinado bloco. Por um lado, a aproximação linear por partes reduz significativamente a complexidade computacional do mecanismo de previsão ponderado por distância em comparação ao cálculo de coeficiente de ponderação direto e, por outro lado, ajuda a obter maior precisão de valores de coeficiente de ponderação em comparação a simplificações da técnica anterior.
[0081] As modalidades podem ser aplicadas a outras técnicas de intraprevisão dependente de posição e bidirecional (por exemplo, diferentes modificações de PDPC) assim como mecanismos que usam coeficientes de ponderação que dependem da distância de um pixel para outro para mesclar partes diferentes de uma figuração (por exemplo, alguns métodos de mescla em processamento de imagem).
[0082] As implantações da matéria e as operações da matéria e as operações descritas na presente revelação podem ser implantadas em um conjunto de circuitos eletrônico digital ou em software, firmware ou hardware de computador, incluindo as estruturas reveladas na presente revelação e seus equivalentes estruturais ou em combinações de um ou mais dentre os mesmos. Implantações da matéria descrita na presente revelação pode ser implantado como um ou mais programas de computador, isto é, um ou mais módulos de instruções de programa de computador, codificados em mídia legível por computador para execução pelo aparelho de processamento de dados, ou para controlar a operação do mesmo, Alternativa ou adicionalmente, as instruções de programa podem ser codificada em um sinal propagado gerado artificialmente-, por exemplo, um sinal elétrico gerado por máquina,
óptico ou eletromagnético que é gerado para codificar informações para transmissão ao aparelho receptor adequado para execução por um aparelho de processamento de dados. Uma mídia de armazenamento de computador, por exemplo, a mídia legível por computador pode ser, ou pode estar incluído em um dispositivo de armazenamento legível por computador, um substrato de armazenamento legível por computador, um arranjo ou dispositivo de memória de acesso aleatório ou serial, ou uma combinação de um ou mais dentre os mesmos. Ademais, embora uma mídia de armazenamento de computador não seja um sinal propagado, uma mídia de armazenamento de computador pode ser uma fonte ou destino de instruções de programa de computador em um sinal propagado gerado artificialmente-. A mídia de armazenamento de computador também pode ser, ou pode estar incluída em um ou mais componentes ou mídias não transitórias e/ou físicas separadas (por exemplo, múltiplos CDs, discos ou outros dispositivos de armazenamento).
[0083] Em algumas implantações, as operações descritas na presente revelação podem ser implantadas como um serviço hospedado fornecido em um servidor em uma rede de computação em nuvem. Por exemplo, a mídia de armazenamento legível por computador pode ser agrupada logicamente e acessível dentro de uma rede de computação em nuvem. Os servidores dentro da rede de computação em nuvem podem incluir uma plataforma de computação em nuvem para fornecer serviços à base de nuvem. Os termos "nuvem", "computação em nuvem", e "com base em nuvem" podem ser usados de maneira intercambiável, conforme apropriado sem haver afastamento do escopo da presente revelação. Os serviços com base em nuvem pode ser podem ser serviços hospedados que são fornecidos por serviços e entregues através de uma rede a uma plataforma de cliente para intensificar, suplementar ou substituir aplicações executadas localmente em um computador de cliente. O circuito pode usar serviços com base em nuvem para receber rapidamente atualização de software, aplicações e outros recursos que precisariam, de outro modo, um período longo de tempo antes que os recursos possam ser entregues ao circuito.
[0084] Um programa de computador (também denominado de programa, software, aplicação de software, script ou código) pode ser escrito em qualquer forma de linguagem de programação, incluindo linguagens compiladas ou linguagens interpretadas, linguagens declarativas ou processuais e podem ser implantados em qualquer forma, incluindo como um programa autônomo- ou como um módulo, componente, sub-rotina, objeto ou outra unidade adequada para uso em um ambiente de computação. Um programa de computador pode, mas não precisa, corresponder a um arquivo em um sistema de arquivos. Um programa pode ser armazenado em uma porção de um arquivo que retém outros programas ou dados (por exemplo, um ou mais ou mais escrituras armazenadas em um documento de linguagem de marcação), em um arquivo único dedicado ao programa em questão ou em múltiplos arquivos de coordenadas (por exemplo, arquivos que armazenam um ou mais módulos, subprogramas ou porções de código.) Pode ser implantado um programa de computador para ser executado em um computador ou em múltiplos computadores que estão localizados em um sítio ou distribuídos em múltiplos sítios e interconectados através de uma rede de comunicação.
[0085] Os processos e fluxos lógicos descritos na presente revelação podem ser realizados por um ou mais processadores programáveis que executam um ou mais programas de computador para realizar ações operando-se dados de entrada e gerando-se emissão. Os processos e fluxos lógicos também podem ser realizados por, e o aparelho também pode ser implantado por, conjunto de circuitos lógicos de propósito especial, por exemplo, FPGA (arranjo de portas programáveis em campo) ou um ASIC (circuito integrado de aplicação específica).
[0086] Os processadores adequados para a execução de um programa de computador incluem, a título de exemplo, tanto microprocessadores de propósito geral como especial e qualquer um ou mais processadores de qualquer tipo de computador digital. Geralmente, um processador pode receber instruções e dados de uma memória apenas de leitura ou uma memória de acesso aleatório ou ambas. Os elementos essenciais de um computador para realizar ações em conformidade com instruções e um ou m ias dispositivos de memória para armazenar instruções e dados. De modo geral, um computador também incluirá, ou será acoplado operacionalmente para receber dados de ou transferir dados para, ou ambos, um ou mais dispositivos de armazenamento em massa para armazenar dados, por exemplo, discos magnéticos, discos magneto ópticos, ou discos ópticos. Entretanto, um computador não precisa ter tais dispositivos. Ademais, um computador pode ser incorporado em outro dispositivo, por exemplo, um telefone móvel, um assistente digital pessoal (PDA), um áudio móvel ou reprodutor de vídeo, um console de jogos, um receptor de Sistema de Posicionamento Global ou um dispositivo de armazenamento portátil (por exemplo, um barramento serial universal (USB), unidade flash), por exemplo. Dispositivos adequados para armazenar instruções de programa e dados incluirão todas as formas de memória não volátil, dispositivos de mídia e de memória, incluindo, a título de exemplo, dispositivos de memória semicondutores, por exemplo, EPROM, EEPROM e dispositivos de memória flash, discos magnéticos, por exemplo, discos internos rígidos ou discos removíveis; discos magneto-ópticos; e discos CD, ROM e DVD-ROM.- O processador e a memória podem ser suplementados por, ou incorporados em conjunto de circuitos de lógica de propósito especial.
[0087] Embora a presente revelação contenha muitos detalhes específicos de implantação, estes não devem ser interpretados como limitações no escopo de quaisquer implantações ou do que pode ser reivindicado, mas sim como descrições de recursos específicos a implantações particulares de implantações particulares. Determinados recursos que são descritos nessa revelação no contexto de implantações separadas também podem ser implantados em combinação em uma única implantação. Inversamente, vários recursos que são descritos no contexto de uma única implantação podem também ser implantados em múltiplas implantações se maneira separada ou em qualquer subcombinação adequada. Além disso, embora os recursos possam ser descritos acima como agindo em determinadas combinações e até mesmo inicialmente reivindicado como tais, um ou mais recursos de uma combinação reivindicada podem, em alguns casos, ser removidos da combinação, e a combinação reivindicada pode ser direcionada a uma subcombinação ou variação de uma subcombinação.
[0088] De modo semelhante, embora as operações sejam mostradas nos desenhos em uma ordem particular, isso não deve ser entendido como exigência de que tais operações sejam realizadas na ordem em particular mostrada ou em ordem sequencial, ou que todas as operações ilustradas sejam desempenhadas para alcançar os resultados desejáveis. Em certas circunstâncias, o processamento paralelo e de multitarefas pode ser vantajoso. Ademais, a separação de vários componentes de sistema nas implantações descritas acima não deve ser entendida com exigências para tal separação em todos os implantações e deve-se entender que os sistemas e componentes de programa descritos podem ser geralmente integrados em um único produto de software ou empacotados em múltiplos produtos de software.
[0089] Desse modo, implantações particulares da matéria foram descritas. Outras implantações estão no escopo das reivindicações apresentadas a seguir. Em alguns casos, as ações citadas nas reivindicações podem ser desempenhadas em uma ordem diferente e ainda assim alcançar os resultados desejáveis. Além disso, os processos descritos nas figuras anexas, não requerem necessariamente a ordem particular representada, ou a ordem sequencial, para obter resultados desejáveis. Em determinadas implantações, o processado de múltiplas tarefas e paralelo pode ser vantajoso.

Claims (4)

REIVINDICAÇÕES
1. Método para filtragem dependente de taxa de proporção para intraprevisão, caracterizado pelo fato de que compreende: selecionar um filtro de interpolação para um bloco a ser previsto dependendo de uma taxa de proporção do bloco.
2. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que a seleção do filtro de interpolação depende de uma direção para limitar um modo de intraprevisão do bloco a ser previsto.
3. Método, de acordo com a reivindicação 2, caracterizado pelo fato de que a direção corresponde a um ângulo de uma diagonal principal do bloco a ser previsto.
4. Método, de acordo com a reivindicação 2 ou 3, caracterizado pelo fato de que um ângulo da direção é calculado como:
H  T  arctan( ) W , em que W, H são largura e altura do bloco a serem previstos, respectivamente.
5. Método, de acordo com qualquer uma das reivindicações 1 a 4, caracterizado pelo fato de que a taxa de proporção: RA  log2 (W )  log2 ( H ) , em que W, H são largura e altura do bloco a serem previstos, respectivamente.
6. Método, de acordo com a reivindicação 3, caracterizado pelo fato de que o ângulo da diagonal principal do bloco a ser previsto é determinado com base na taxa de proporção.
7. Método, de acordo com a reivindicação 6, caracterizado pelo fato de que um limite de um modo de intraprevisão do bloco é determinado com base no ângulo da diagonal principal do bloco a ser previsto.
8. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que a seleção do filtro de interpolação para previsão de uma amostra depende do lado ao qual pertence a amostra de referência correspondente.
9. Método, de acordo com a reivindicação 8, caracterizado pelo fato de que a linha reta com um ângulo correspondente a uma intradireção divide o bloco em duas áreas.
10. Método, de acordo com a reivindicação 8 ou 9, caracterizado pelo fato de que as amostras de referência que pertencem a diferentes áreas são previstas com o uso de diferentes filtros de interpolação.
11. Método, de acordo com qualquer uma das reivindicações 1 a 10, caracterizado pelo fato de que o filtro inclui um filtro de interpolação cúbica ou um filtro de interpolação gaussiana.
12. Dispositivo caracterizado pelo fato de que é configurado para implantar um método, como definido em qualquer uma das reivindicações 1 a 11.
13. Dispositivo caracterizado pelo fato de que compreende um processador configurado para implantar um método, como definido em qualquer uma das reivindicações 1 a 11.
14. Produto de programa de computador caracterizado pelo fato de que compreende um código de programa para realizar o método, como definido em qualquer uma das reivindicações 1 a 11.
15. Dispositivo que compreende: um ou mais processadores; e uma mídia de armazenamento legível por computador não transitória acoplada ao um ou mais processadores e programação de armazenamento para executar pelo um ou mais processadores, caracterizado pelo fato de que a programação, quando executada pelo um ou mais processadores, configura o dispositivo para realizar o método, como definido em qualquer uma das reivindicações 1 a 11.
Petição 870200163273, de 31/12/2020, pág. 71/91 Dispositivo de origem
Origem Codificador Interface de vídeo de vídeo de saída 1/9
Dispositivo de destino
Dispositivo Decodificador Interface de de exibição de vídeo entrada
Bloco Bloco de vídeo residual Unidade de Unidade de transformada quantização
Petição 870200163273, de 31/12/2020, pág. 72/91 Unidade de intraprevisão Unidade de Coeficientes de seleção de Bloco de transformada modo previsão residual Unidade de quantizada interprevisão
Unidade de Armazenamento 2/9 codificação temporário de quadro
Bloco residual Unidade de reconstruído Unidade de Unidade de filtragem transformada quantização Bloco de vídeo inversa inversa reconstruído Fluxo de bits Codificador de vídeo codificados
Unidade de Unidade de Fluxo de bits codificação quantização
Petição 870200163273, de 31/12/2020, pág. 73/91 codificados inversa
Unidade de intra- previsão
Unidade de inter- previsão Unidade de transformada 3/9 inversa
Armazenamento temporário de quadro Bloco de previsão
Bloco residual Unidade de filtragem
Vídeo decodificado Decodificador de vídeo
Plano
Petição 870200163273, de 31/12/2020, pág. 75/91 Particionamento espacial Uma combinação de árvores quadráticas e árvores binárias usadas para codificar um particionamento espacial 5/9
Orientação horizontal Orientação vertical
32 amostras
4 amostras
Petição 870200163273, de 31/12/2020, pág. 77/91 Usar interpolação gaussiana
Usar interpolação 4 amostras cúbica
Usar interpolação gaussiana
32 amostras 7/9
Usar interpolação cúbica
4 amostras 32 amostras
Petição 870200163273, de 31/12/2020, pág. 78/91 32 amostras
4 amostras 8/9
Usar interpolação Usar interpolação cúbica gaussiana
Petição 870200163273, de 31/12/2020, pág. 79/91 Memória
Armazenamento em massa 9/9
Adaptador de Exibição vídeo
Interface de rede
Mouse/teclado/ Interface impressora de I/O Rede
BR112020027089-0A 2018-07-11 2019-07-11 Método e aparelho para filtragem dependente de taxa de proporção para intraprevisão BR112020027089A2 (pt)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201862696816P 2018-07-11 2018-07-11
US201862696709P 2018-07-11 2018-07-11
US62/696,709 2018-07-11
US62/696,816 2018-07-11
PCT/RU2019/050110 WO2020013735A1 (en) 2018-07-11 2019-07-11 Method and apparatus for aspect-ratio dependent filtering for intra-prediction

Publications (1)

Publication Number Publication Date
BR112020027089A2 true BR112020027089A2 (pt) 2021-03-30

Family

ID=69141804

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112020027089-0A BR112020027089A2 (pt) 2018-07-11 2019-07-11 Método e aparelho para filtragem dependente de taxa de proporção para intraprevisão

Country Status (6)

Country Link
US (1) US11323706B2 (pt)
EP (1) EP3804336A4 (pt)
KR (1) KR20210016601A (pt)
CN (1) CN112352434B (pt)
BR (1) BR112020027089A2 (pt)
WO (1) WO2020013735A1 (pt)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020060449A1 (en) 2018-09-23 2020-03-26 Huawei Technologies Co., Ltd. Method and apparatus for intra reference sample interpolation filter switching
CN113632468A (zh) * 2019-03-12 2021-11-09 Lg 电子株式会社 图像编码/解码方法和装置,以及发送比特流的方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100551073C (zh) * 2006-12-05 2009-10-14 华为技术有限公司 编解码方法及装置、分像素插值处理方法及装置
WO2011142801A1 (en) * 2010-05-10 2011-11-17 Thomson Licensing Methods and apparatus for adaptive interpolative intra block encoding and decoding
US9008175B2 (en) * 2010-10-01 2015-04-14 Qualcomm Incorporated Intra smoothing filter for video coding
US9258573B2 (en) * 2010-12-07 2016-02-09 Panasonic Intellectual Property Corporation Of America Pixel adaptive intra smoothing
WO2012134046A2 (ko) * 2011-04-01 2012-10-04 주식회사 아이벡스피티홀딩스 동영상의 부호화 방법
US9602839B2 (en) * 2011-06-15 2017-03-21 Futurewei Technologies, Inc. Mode dependent intra smoothing filter table mapping methods for non-square prediction units
US9503716B2 (en) * 2011-12-19 2016-11-22 Broadcom Corporation Block size dependent filter selection for motion compensation
US9451254B2 (en) * 2013-07-19 2016-09-20 Qualcomm Incorporated Disabling intra prediction filtering
WO2016072722A1 (ko) * 2014-11-04 2016-05-12 삼성전자 주식회사 영상 특성을 반영한 보간 필터를 이용하는 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
AU2018276649B2 (en) * 2017-05-31 2020-12-24 Lg Electronics Inc. Method and device for performing image decoding on basis of intra prediction in image coding system
EP3496401A1 (en) * 2017-12-05 2019-06-12 Thomson Licensing Method and apparatus for video encoding and decoding based on block shape
US10778971B2 (en) * 2018-06-01 2020-09-15 Tencent America LLC Method and apparatus for video coding

Also Published As

Publication number Publication date
US11323706B2 (en) 2022-05-03
US20210160491A1 (en) 2021-05-27
EP3804336A1 (en) 2021-04-14
CN112352434A (zh) 2021-02-09
CN112352434B (zh) 2022-06-07
EP3804336A4 (en) 2021-08-11
WO2020013735A1 (en) 2020-01-16
KR20210016601A (ko) 2021-02-16

Similar Documents

Publication Publication Date Title
ES2966479T3 (es) Un codificador, un decodificador y métodos correspondientes para la intrapredicción
EP3531698A1 (en) Deblocking filter method and terminal
BR112014012939B1 (pt) Método e codificador de vídeo para realizar processos de desvio adaptativo de amostra (sao) em um processo de codificação de vídeo, método e decodificador de video para realizar processos de desvio adaptativo de amostra em um processo de decodificação de vídeo e memória legível por computador
BR112021016677A2 (pt) Método e aparelho para predição inter baseada em afim de sub-blocos de croma
BR112020027043A2 (pt) Método e decodificador para interpredição
BR112021003679A2 (pt) método, codificador e decodificador para predição intra
BR112021016270A2 (pt) Método de codificação de vídeo e codificador, decodificador, meio legível por computador
BR112021004442A2 (pt) método de decodificação de vídeo e decodificador de vídeo
BR122023020161A2 (pt) Processo de codificação para modo de partição geométrica
BR112021010286A2 (pt) codificador, decodificador e métodos correspondentes de construção de lista de modos mais prováveis para blocos com predição de múltiplas hipóteses
BR122023021045A2 (pt) Método de compactação do vetor de movimento, meio de armazenamento legível por computador não transitório, codificador, decodificador e meio de armazenamento
BR112021011723A2 (pt) Método e aparelho de predição intra e codificador, decodificador, programa de computador, mídia de armazenamento não transitória, e fluxo de bits
BR112021009922A2 (pt) Método de construir uma lista de mesclagens candidata para modo de cópia de intrabloco, codificador, decodificador, produto de programa de computador e dispositivo de decodificação de dados de vídeo
US11323706B2 (en) Method and apparatus for aspect-ratio dependent filtering for intra-prediction
US11546631B2 (en) Method and apparatus for DC intra prediction of rectangular blocks using an aspect ratio
KR20200132985A (ko) 양방향 인트라 예측 시그널링
BR112021009833A2 (pt) codificador, decodificador e métodos correspondentes para predição inter
BR112021012708A2 (pt) Método e aparelho de modelagem linear de componente cruzado para predição intra
US11805250B2 (en) Performing intra-prediction using intra reference sample filter switching
BR112021003269A2 (pt) método de particionamento de imagem e aparelho
US11539953B2 (en) Apparatus and method for boundary partition
ES2946058T3 (es) Un codificador, un decodificador y los métodos correspondientes que usan la codificación intramodo para la intrapredicción
BR112020026183A2 (pt) Método de codificação de vídeo, codificador, decodificador e produto de programa de computador

Legal Events

Date Code Title Description
B08F Application dismissed because of non-payment of annual fees [chapter 8.6 patent gazette]

Free format text: REFERENTE A 5A ANUIDADE.