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 PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 54
- 238000001914 filtration Methods 0.000 title claims abstract description 8
- 230000001419 dependent effect Effects 0.000 title claims abstract description 7
- 238000013139 quantization Methods 0.000 claims description 11
- 239000013074 reference sample Substances 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 10
- 239000000523 sample Substances 0.000 claims description 10
- 238000000638 solvent extraction Methods 0.000 claims description 9
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 claims description 8
- 230000002441 reversible effect Effects 0.000 claims description 7
- 239000007943 implant Substances 0.000 claims description 3
- 238000006243 chemical reaction Methods 0.000 description 17
- 238000004891 communication Methods 0.000 description 15
- 238000012545 processing Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 4
- 230000006835 compression Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 230000000644 propagated effect Effects 0.000 description 3
- 238000000926 separation method Methods 0.000 description 3
- 230000002457 bidirectional effect Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000002513 implantation Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- IESVDEZGAHUQJU-ZLBXKVHBSA-N 1-hexadecanoyl-2-(4Z,7Z,10Z,13Z,16Z,19Z-docosahexaenoyl)-sn-glycero-3-phosphocholine Chemical compound CCCCCCCCCCCCCCCC(=O)OC[C@H](COP([O-])(=O)OCC[N+](C)(C)C)OC(=O)CC\C=C/C\C=C/C\C=C/C\C=C/C\C=C/C\C=C/CC IESVDEZGAHUQJU-ZLBXKVHBSA-N 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 239000003826 tablet Substances 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/117—Filters, e.g. for pre-processing or post-processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
- H04N19/11—Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/59—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/80—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
- H04N19/82—Details 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
[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.
[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).
[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.
[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.
[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)
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
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)
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)
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 |
-
2019
- 2019-07-11 KR KR1020217000033A patent/KR20210016601A/ko not_active Application Discontinuation
- 2019-07-11 EP EP19834405.3A patent/EP3804336A4/en active Pending
- 2019-07-11 CN CN201980043899.6A patent/CN112352434B/zh active Active
- 2019-07-11 BR BR112020027089-0A patent/BR112020027089A2/pt unknown
- 2019-07-11 WO PCT/RU2019/050110 patent/WO2020013735A1/en unknown
-
2021
- 2021-01-08 US US17/144,747 patent/US11323706B2/en active Active
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. |