BR112021011517A2 - Codificação de vídeo e decodificação de vídeo - Google Patents

Codificação de vídeo e decodificação de vídeo Download PDF

Info

Publication number
BR112021011517A2
BR112021011517A2 BR112021011517-0A BR112021011517A BR112021011517A2 BR 112021011517 A2 BR112021011517 A2 BR 112021011517A2 BR 112021011517 A BR112021011517 A BR 112021011517A BR 112021011517 A2 BR112021011517 A2 BR 112021011517A2
Authority
BR
Brazil
Prior art keywords
candidates
prediction
block
motion
transformation
Prior art date
Application number
BR112021011517-0A
Other languages
English (en)
Inventor
Saverio Blasi
Andre Seixas DIAS
Gosala Kulupana
Original Assignee
British Broadcasting Corporation
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 British Broadcasting Corporation filed Critical British Broadcasting Corporation
Publication of BR112021011517A2 publication Critical patent/BR112021011517A2/pt

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • 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/109Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/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/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/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

codificação de vídeo e decodificação de vídeo. previsão eficiente de amostras dentro de um bloco em uma codificação e decodificação de vídeo por meio de computação tanto de uma hipótese de previsão interprevista bem como de uma hipótese de previsão intraprevista. as duas hipóteses de previsão são então combinadas por meio de transformação paramétrica para formar uma nova hipótese de previsão que pode ser mais precisa na previsão do conteúdo do bloco original.

Description

“CODIFICAÇÃO DE VÍDEO E DECODIFICAÇÃO DE VÍDEO” CAMPO
[001] Essa revelação se refere a codificação de vídeo e decodificação de vídeo.
ANTECEDENTES
[002] A compressão de vídeo oferece oportunidades para reduzir a carga útil em um canal de transmissão. Os padrões de codificação de vídeo conhecidos permitem a transmissão de dados de fluxo de bits definindo um vídeo, de modo que um receptor do fluxo de bits seja capaz de decodificar o fluxo de bits de forma a construir um vídeo decodificado que seja substancialmente fiel ao vídeo original a partir do qual o fluxo de bits codificado foi derivado.
[003] Os primeiros padrões de codificação de vídeo foram criados com o objetivo de reproduzir o vídeo em equipamentos onde uma reconstrução de qualidade relativamente baixa ou média é aceitável. Isso inclui dispositivos portáteis ou dispositivos de computação pessoal. Em grande medida, a aceitabilidade de determinados níveis de qualidade é tanto impulsionada pela demanda do usuário quanto pela capacidade do equipamento de reprodução.
[004] À medida que o equipamento receptor melhora em qualidade e capacidade, o mesmo ocorre com a demanda do usuário por uma reprodução de vídeo original de alta qualidade. Surge assim o objetivo técnico de possibilitar a reprodução do vídeo em um reprodutor, com uma qualidade superior à implementada até então.
DESCRIÇÃO DAS FIGURAS
[005] A Figura 1 é um exemplo ilustrativo de um quadro a ser codificado, transmitido e decodificado por modalidades reveladas no presente documento;
[006] A Figura 2 é um exemplo ilustrativo de um quadro de referência com base no qual o quadro da Figura 1 deve ser codificado;
[007] A Figura 3 é um exemplo ilustrativo de um bloco do quadro da figura 1, a ser codificado, transmitido e decodificado por modalidades reveladas no presente documento;
[008] A Figura 4 é um exemplo ilustrativo de um candidato de interprevisão para o bloco da Figura 3;
[009] A Figura 5 é um exemplo ilustrativo de um candidato de intraprevisão para o bloco da Figura 3;
[0010] A Figura 6 é uma representação esquemática de uma rede de comunicações de acordo com uma modalidade;
[0011] A Figura 7 é uma representação esquemática de um emissor da rede de comunicações da Figura 6;
[0012] A Figura 8 é um diagrama que ilustra um codificador implementado no emissor da Figura 7;
[0013] A Figura 9 é um diagrama de fluxo de um processo de previsão realizado em um módulo de previsão do codificador da Figura 8;
[0014] A Figura 10 é uma representação esquemática de um receptor da rede de comunicações da Figura 6;
[0015] A Figura 11 é um diagrama que ilustra um decodificador implementado no receptor da Figura 10; e
[0016] A Figura 12 é um diagrama de fluxo de um processo de previsão realizado em um módulo de previsão do decodificador da Figura 8.
DESCRIÇÃO DAS MODALIDADES
[0017] Em termos gerais, as modalidades reveladas no presente documento fornecem previsão eficiente de amostras dentro de um bloco em um codificador e decodificador de vídeo por meio da computação tanto de uma hipótese de previsão interprevista quanto de uma hipótese de previsão intraprevista. As duas hipóteses de previsão são então combinadas por meio de uma transformação paramétrica para formar uma nova hipótese de previsão que pode ser mais precisa na previsão do conteúdo do bloco original. As informações podem ser fornecidas ao decodificador para permitir a determinação de uma transformação paramétrica a ser usada.
[0018] De acordo com uma modalidade, um método de codificação de um bloco de pixeis em uma imagem de uma pluralidade sequencial de imagens compreende: computar um conjunto de candidatos de interprevisão compensados por movimento para o bloco de pixeis com base em uma imagem de referência na pluralidade sequencial de imagens;
computar um conjunto de candidatos de intraprevisão para o bloco de pixeis, com base em um conjunto predeterminado de modos de intraprevisão; montar um conjunto de combinações dos ditos candidatos de interprevisão compensada de movimento e candidatos de intraprevisão; determinar, para uma pluralidade de conjuntos de parâmetros, cada conjunto de parâmetros configurando uma transformação paramétrica de um dos candidatos de interprevisão compensada de movimento e um dos candidatos de intraprevisão, uma previsão combinada para cada combinação dos ditos candidatos à interprevisão e candidatos à intraprevisão compensados por movimento; avaliar cada previsão combinada contra uma medição; selecionar uma das previsões combinadas com base na medição como uma codificação do bloco de pixeis.
[0019] Outra modalidade fornece um codificador configurado para realizar o processo de codificação acima. O codificador pode ser incorporado em um aparelho de processamento de sinal adequado.
[0020] De acordo com outra modalidade, um método de decodificação de um fluxo de bits compreende: extrair das informações de configuração de preditor de movimento de fluxo de bits e, com base nas informações de configuração de preditor de movimento, computar um ou mais candidatos à interprevisão compensados por movimento para um bloco de amostras; extrair das informações de configuração de intraprevisão de fluxo de bits e, com base nas informações de configuração de intraprevisão, computar um ou mais candidatos de intraprevisão, em que os candidatos à intraprevisão são obtidos por um processo de intraprevisão para um bloco de amostras; extrair da informação de configuração de transformação de parâmetro de fluxo de bits permitindo a determinação de parâmetros para uma transformação paramétrica de um ou mais candidatos à interprevisão compensados por movimento e um ou mais candidatos à intraprevisão; determinar parâmetros de transformação paramétrica com base nas informações de configuração de transformação de parâmetro; e computar uma previsão transformada combinada para o dito bloco de amostras, por meio de uma transformação paramétrica de um ou mais candidatos à interprevisão compensados por movimento e um ou mais candidatos à intraprevisão, sendo que a transformação paramétrica é governada pelos parâmetros de transformação paramétrica.
[0021] Outra modalidade fornece um decodificador configurado para realizar o processo de decodificação acima. O decodificador pode ser incorporado em um aparelho de recepção de sinal adequado.
[0022] Outra modalidade fornece um produto de programa de computador que compreende instruções executáveis por computador operáveis para configurar um aparelho de computador para executar um método conforme indicado acima.
[0023] Como será observado pelo leitor, uma apresentação de vídeo geralmente compreende uma pluralidade de quadros, para exibição sequencial no equipamento de reprodução. Várias estratégias são usadas para reduzir a quantidade de dados necessários para descrever cada quadro por vez em um fluxo de bits transmitido em um canal de comunicação de um emissor para um receptor. Como será entendido, o emissor compreenderá um codificador para codificar os dados do quadro em um fluxo de bits e o receptor compreenderá um decodificador para gerar dados do quadro com base na informação transmitida pelo fluxo de bits.
[0024] Em modalidades da presente revelação, cada quadro da apresentação de vídeo é particionado em blocos. No codificador, o conteúdo de um bloco é previsto com base no conteúdo previamente compactado. Essa previsão de bloco é subtraída do bloco real, resultando em um conjunto de diferenças residuais (resíduos). Em uma modalidade, os dados residuais podem ser codificados usando uma transformação para o domínio da frequência. No entanto, como será reconhecido pelo leitor, a transformação dos dados do domínio do tempo para o domínio da frequência pode ser específica para certas implementações e não é essencial para o desempenho das modalidades reveladas.
[0025] Os resíduos, sejam transformados ou não, podem então ser dimensionados para acomodar processamento adicional.
[0026] Os resíduos quantizados são então codificados usando um codificador de entropia em um conjunto de coeficientes, que são colocados no fluxo de bits com a previsão de bloco. Vários padrões técnicos comumente definem uma estrutura de sinal para o fluxo de bits e uma sintaxe para organização de informações ao lado da identificação de uma predição de bloco, de modo que um decodificador possa extrair coeficientes de maneira confiável para decodificação.
[0027] Um decodificador é configurado para receber um fluxo de bits. Geralmente, o decodificador é configurado para esperar que um fluxo de bits seja organizado de acordo com uma estrutura sintática predeterminada, de modo que os dados possam ser extraídos de forma previsível e confiável. Essa estrutura sintática pode ser acordada de forma colaborativa, como de acordo com um padrão técnico. Alternativamente, a estrutura sintática pode ser definida por um determinado fabricante ou outro contribuidor.
[0028] O decodificador de acordo com uma modalidade extrai coeficientes do fluxo de bits. Esses coeficientes são decodificados para produzir dados decodificados. Os dados decodificados são então quantizados inversamente. Pode haver uma opção para especificar se a transformação de domínio deve ou não ser usada no fluxo de bits recebido. Se a transformação de domínio for especificada, os dados quantizados inversamente são transformados inversamente para obter resíduos reconstruídos. As informações sobre como calcular um bloco de predição também são extraídas do fluxo de bits e decodificadas; isso é então usado para formar um bloco de previsão usando dados reconstruídos anteriormente. Os resíduos reconstruídos são então adicionados ao bloco de predição formado para obter um bloco reconstruído.
[0029] Será entendido que, no início de uma transmissão, pode ser necessário enviar um bloco completo de dados representativo de um quadro completo de uma apresentação de vídeo, sem referência a qualquer outro quadro. Todos os dados subsequentes baseados em predição podem resultar das condições iniciais estabelecidas por esse quadro de referência. Os quadros de referência podem ser constantes para a codificação e decodificação de toda a apresentação de vídeo ou podem ser atualizados. Por exemplo, uma mudança de cena pode prever a atualização do quadro de referência, pois os quadros de uma nova cena podem ter pouca ou nenhuma semelhança com o quadro de referência previamente estabelecido. Mesmo dentro de uma cena, os quadros podem divergir o suficiente para reduzir a eficiência da codificação em relação ao quadro de referência em comparação com a codificação e transmissão de um quadro de referência atualizado.
[0030] Será observado que o quadro de referência, para um quadro particular em consideração, não precisa ser anterior ao quadro em consideração na sequência da apresentação do vídeo. Um quadro de referência pode estar no futuro em relação ao quadro em consideração.
[0031] Os quadros de referência podem ser comprimidos e comunicados separadamente dos parâmetros codificados a partir dos quais as previsões podem ser formadas. Os quadros de referência podem ser indexados, de modo que o quadro de referência a ser usado na formação de um bloco de previsão particular possa ser indicado no fluxo de bits.
[0032] As modalidades descritas no presente documento se referem a um processo de formação de um bloco de previsão. Em esquemas de codificação de vídeo convencionais, intraprevisão ou interprevisão são usados. Os métodos de intraprevisão envolvem a computação de uma previsão usando conteúdo previamente compactado extraído de dentro do mesmo quadro que o bloco atual que está sendo previsto. Em contraste, os métodos de interprevisão envolvem prever o conteúdo de um bloco de amostras originais usando porções previamente compactadas do sinal de vídeo extraídas de quadros previamente compactados.
[0033] A nomenclatura usada para descrever as partições de quadros é diversa. Por exemplo, em HEVC, o termo "fatia" é usado para descrever uma partição de um quadro - uma fatia pode compreender uma pluralidade de blocos. A terminologia usada para descrever partições de quadros na presente revelação não implica a aplicabilidade específica das presentes modalidades para uma tecnologia padronizada particular, nem implica a exclusão da aplicabilidade para outra tecnologia padronizada usando outros termos para conceitos similares.
[0034] Em termos gerais, os aspectos da revelação atual se referem a um método para prever com eficiência as amostras dentro de um bloco em um codificador e decodificador de vídeo por meio da computação de uma hipótese de predição interprevista, bem como uma hipótese de predição intraprevista. As duas hipóteses de previsão são então combinadas para formar uma nova hipótese de previsão que pode ser mais precisa na previsão do conteúdo do bloco original.
[0035] Uma modalidade fornece um método de combinação das duas hipóteses de previsão, com base em um algoritmo de combinação. O algoritmo de combinação pode ser predefinido no receptor. O algoritmo de combinação pode ser especificado usando informações comunicadas ao receptor. O receptor pode armazenar uma biblioteca de algoritmos de combinação e pode selecionar e empregar um desses algoritmos armazenados com base na informação extraída do fluxo de bits recebido.
[0036] Uma abordagem para combinação pelo algoritmo de combinação é a utilização de uma média ponderada. Essa pode ser uma média aritmética ponderada das duas hipóteses de previsão. Os pesos a serem empregados na média ponderada podem ser predefinidos, ou os parâmetros podem ser comunicados no fluxo de bits ao receptor para permitir o cálculo, a determinação ou a seleção dos pesos a serem usados.
[0037] Em uma modalidade, a informação no fluxo de bits pode compreender valores dos pesos a serem empregados na média ponderada.
[0038] Em uma modalidade, a informação no fluxo de bits pode compreender um parâmetro de seleção de peso, com base no qual um receptor pode responder para selecionar um determinado dentre uma pluralidade de pesos pré- armazenados. Será reconhecido que, para uma média aritmética ponderada de duas hipóteses de previsão, um único valor de peso é suficiente para descrever o algoritmo de combinação, em que uma das duas hipóteses será multiplicada por um peso especificado w e a outra das hipóteses será multiplicada por um peso complementar (1-w). Outros algoritmos podem ser implementados. No caso de mais de duas hipóteses de previsão serem empregadas e precisarem ser combinadas, mais pesos podem ser especificados para permitir a combinação ponderada.
[0039] Outros algoritmos de combinação baseados em fatores podem ser especificados. Por exemplo, uma função diferente de uma média ponderada pode ser especificada, para a qual os coeficientes podem ser especificados no fluxo de bits e recebidos e extraídos no receptor. Por exemplo, uma função linear ou quadrática pode ser usada para interpolar os valores na pluralidade de hipóteses de previsão. Os coeficientes da função linear ou quadrática podem ser calculados, selecionados ou determinados com base nas informações extraídas do fluxo de bits.
[0040] Um parâmetro pode ser fornecido no fluxo de bits, para extração e uso no receptor, especificando se um algoritmo particular deve ser empregado ou não. No caso de dois algoritmos de combinação serem especificados como disponíveis para uso no receptor, tal parâmetro pode ser Booleano.
[0041] Em particular, uma modalidade fornece um mecanismo usado para calcular uma previsão compensada de movimento. Uma previsão de compensação de movimento é uma técnica, até agora aproveitada em várias tecnologias, como o MPEG, que fornece a um decodificador certas “informações de movimento”. Em termos gerais, a previsão de compensação de movimento compreende determinar uma diferença entre um quadro atual e um quadro de referência, em termos de uma transformação do quadro de referência para o quadro atual. Se o quadro atual e o quadro de referência foram, por exemplo, capturados por uma câmera estacionária de uma cena em que nenhum objeto se moveu (mas, por exemplo, os efeitos de iluminação podem ter mudado ao longo do tempo), uma simples subtração do quadro de referência de o quadro atual fornece uma base eficiente para compactação. No entanto, se o ponto de vista, a partir do qual a câmera foi definida, se move entre o quadro de referência e o quadro atual, e/ou objetos na cena vista se moveram, então uma simples subtração não é suficiente para descrever a diferença de forma eficiente. Nesse caso, os vetores de movimento devem ser usados para descrever a transformação entre o quadro atual e o quadro de referência.
[0042] No caso de apenas um objeto se mover dentro da cena, mas um fundo da cena permanecer inalterado, a consideração de uma partição, por exemplo um bloco, do quadro é apropriada. Nesse caso, a transformação entre um bloco do quadro atual e um bloco do quadro de referência pode ser simplesmente descrita como uma tradução, ou seja, uma mudança, que pode ser expressa como um vetor de movimento.
[0043] Essas informações de movimento são manifestadas como vetores de movimento e um índice de quadro de referência. Essas informações são compactadas e incluídas no fluxo de bits. Diferentes técnicas podem ser usadas para compactar as informações de movimento. Por exemplo, ao usar a previsão de mesclagem, o decodificador calcula um conjunto de candidatos, nomeadamente um conjunto de hipóteses construído usando informações de movimento extraídas de blocos vizinhos. Em seguida, um índice é sinalizado para determinar a hipótese correta para o bloco atual. Isso permite que o decodificador execute compensação de movimento enquanto requer muito poucos bits para compactar as informações de movimento necessárias.
[0044] As modalidades descritas no presente documento se referem a um método de decodificação de um fluxo de bits contendo informações para reconstrução de uma pluralidade de quadros de conteúdo de vídeo, cada quadro sendo composto de um ou mais blocos, o método compreendendo a previsão de computação de um bloco pelo cálculo de uma pluralidade de candidatos à previsão calculados de forma diferente e combinando os candidatos para produzir uma previsão combinada.
[0045] Em uma modalidade, a pluralidade de candidatos de predição pode compreender um candidato calculado por interprevisão e um candidato calculado por intraprevisão. Em uma modalidade, os candidatos podem ser combinados por meio de uma transformação paramétrica. Em uma modalidade, a transformação paramétrica pode compreender uma previsão ponderada, caracterizada por um ou mais pesos. Em uma modalidade, o peso ou pesos podem ser extraídos do fluxo de bits. Em uma modalidade, o peso ou pesos podem ser computados, determinados ou selecionados com base em coeficientes ou parâmetros extraídos do fluxo de bits.
[0046] O leitor observará que as implementações inter e intraprevisão alcançam resultados satisfatórios em esquemas de compressão de vídeo. No entanto, podem surgir circunstâncias em que usar um único processo de previsão para prever todas as amostras dentro de um bloco pode não ser ideal.
[0047] Por exemplo, agora será examinado um caso de um objeto se movendo em um fundo estático. De quadro a quadro, o objeto será representado em posições sucessivamente diferentes ao longo do plano de fundo. No caso de o objeto não poder ser segmentado usando o esquema de particionamento em uso no codec de vídeo, os métodos de previsão existentes não serão capazes de prever com precisão o conteúdo do bloco atual. O uso de interprevisão levará a um candidato de previsão que contém uma previsão precisa do objeto em movimento, mas não do fundo. Por outro lado, o uso de métodos de intraprevisão pode levar a uma previsão satisfatória do fundo, mas não dos detalhes do objeto dentro do bloco.
[0048] O leitor notará que o que constitui um resultado satisfatório para a decodificação depende da expectativa do usuário. Padrões objetivos que medem a precisão da reprodução de imagens codificadas podem ser estabelecidos, por exemplo, com base em uma métrica de distorção objetiva. No entanto, em combinação com isso, pode ser dada consideração a uma impressão subjetiva geral de um usuário de que uma decodificação particular produz resultados visualmente satisfatórios.
[0049] Um exemplo desse cenário é ilustrado nas Figuras 1 e 2. A Figura 1 mostra um quadro atual a ser codificado, enquanto a Figura 2 ilustra um quadro de referência. A Figura 3 ilustra um bloco do quadro atual da Figura 1, para o qual uma previsão deve ser gerada. A Figura 4 ilustra um candidato à intraprevisão, enquanto a Figura 5 ilustra um candidato à interprevisão. Obviamente, nenhum candidato à previsão é uma representação precisa do conteúdo do bloco atual, como mostrado na figura 4.
[0050] Assim, uma modalidade descrita no presente documento forma uma nova previsão obtida pela combinação das duas hipóteses, como sendo potencialmente mais adequada para prever o conteúdo original.
[0051] No entanto, deve-se observar que simplesmente realizar a média de cada amostra também pode não ser o ideal. Dependendo da precisão do candidato intra ou interprevisto, pode haver muitos casos em que uma das duas previsões pode ser mais adequada para representar o conteúdo do bloco atual, mas ainda a outra previsão pode fornecer algumas informações ausentes o que melhoraria o processo de previsão. Nesses casos, realizar a previsão ponderada dos dois candidatos tem uma vantagem potencial. Ao selecionar apropriadamente os pesos para realizar a previsão ponderada, uma previsão combinada melhor pode ser obtida.
[0052] Uma modalidade descrita no presente documento emprega um conjunto fixo de pesos. Os pesos estão disponíveis em tabelas de consulta, onde pesos diferentes podem ser usados para blocos com características diferentes, como tamanho do bloco ou dependendo de outras informações disponíveis. As tabelas de consulta podem ser fornecidas com antecedência para codificadores e decodificadores configurados adequadamente. Alternativamente, as tabelas de consulta podem ser transmitidas de um codificador para um decodificador, como parte da transmissão do vídeo codificado ou como uma transmissão de configuração anterior.
[0053] Um índice para extrair o elemento correto da tabela de consulta é então decodificado do fluxo de bits para que o conjunto correto de pesos possa ser selecionado e usado ao realizar a previsão.
[0054] Em outra modalidade, em vez de comunicar um índice para uma entrada LUT, o peso ou pesos podem ser extraídos diretamente do fluxo de bits.
[0055] Conforme ilustrado na figura 6, uma disposição é ilustrada compreendendo uma rede de comunicação de vídeo esquemática 10, na qual um emissor 20 e um receptor 30 estão em comunicação através de um canal de comunicação 40. Na prática, o canal de comunicação 40 pode compreender um canal de comunicação por satélite, uma rede de cabo, uma rede de transmissão de rádio baseada em terra, um canal de comunicação implementado por POTS, tal como usado para o fornecimento de serviços de Internet para instalações domésticas e de pequenas empresas, sistemas de comunicações de fibra óptica, ou uma combinação de qualquer um dos acima e qualquer outro meio de comunicação concebível.
[0056] Além disso, a revelação também se estende à comunicação, por transferência física, de um meio de armazenamento no qual é armazenado um registro legível por máquina de um fluxo de bits codificado, para passagem para um receptor configurado adequadamente capaz de ler o meio e obter o fluxo de bits a partir dele. Um exemplo disso é o fornecimento de um disco versátil digital (DVD) ou equivalente. A descrição a seguir se concentra na transmissão de sinais, como por portadora de sinal eletrônico ou eletromagnético, mas não deve ser lida como excluindo a abordagem mencionada envolvendo meios de armazenamento.
[0057] Conforme mostrado na figura 7, o emissor 20 é um aparelho de computador, em estrutura e função. Ele pode compartilhar, com aparelhos de computador de uso geral, certos recursos, mas alguns recursos podem ser específicos de implementação, dada a função especializada para a qual o emissor 20 deve ser colocado. O leitor compreenderá quais recursos podem ser de uso geral e quais podem ser configurados especificamente para uso em um emissor de vídeo.
[0058] O emissor 20 compreende, assim, uma unidade de processamento gráfico 202 configurada para uso específico no processamento de gráficos e operações similares. O emissor 20 também compreende um ou mais outros processadores 204, geralmente provisionados ou configurados para outros fins, como operações matemáticas, processamento de áudio, gerenciamento de um canal de comunicação e assim por diante.
[0059] Uma interface de entrada 206 fornece um recurso para o recebimento de ações de entrada do usuário. Essas ações de entrada do usuário podem, por exemplo, ser causadas pela interação do usuário com uma unidade de entrada específica, incluindo um ou mais botões de controle e/ou interruptores, um teclado, um mouse ou outro dispositivo apontador, uma unidade de reconhecimento de voz habilitada para receber e processar fala em comandos de controle, um processador de sinal configurado para receber e controlar processos de outro dispositivo, como um computador do tipo tablet ou telefone inteligente, ou um receptor de controle remoto. Essa lista será considerada não exaustiva e outras formas de entrada, sejam iniciadas pelo usuário ou automatizadas, podem ser consideradas pelo leitor.
[0060] Da mesma forma, uma interface de saída 214 é operável para fornecer um recurso para saída de sinais para um usuário ou outro dispositivo. Tal saída pode incluir um sinal de exibição para acionar uma unidade de exibição de vídeo local (VDU) ou qualquer outro dispositivo.
[0061] Uma interface de comunicação 208 implementa um canal de comunicação, seja transmitido ou de ponta a ponta, com um ou mais receptores de sinais. No contexto da presente modalidade, a interface de comunicação é configurada para causar a emissão de um sinal contendo um fluxo de bits que define um sinal de vídeo, codificado pelo emissor 20.
[0062] Os processadores 204 e, especificamente para o benefício da presente revelação, a GPU 202, são operáveis para executar programas de computador, na operação do codificador. Ao fazer isso, o recurso é feito para instalações de armazenamento de dados fornecidas por um dispositivo de armazenamento em massa 208 que é implementado para fornecer armazenamento de dados em grande escala, embora em uma base de acesso relativamente lento, e irá armazenar, na prática, programas de computador e, no atual contexto, dados de apresentação de vídeo, em preparação para a execução de um processo de codificação.
[0063] Uma Memória de Apenas Leitura (ROM) 210 é pré-configurada com programas executáveis projetados para fornecer o núcleo da funcionalidade do emissor 20, e uma memória de acesso aleatório 212 é fornecida para acesso rápido e armazenamento de dados e instruções de programa na busca da execução de um programa de computador.
[0064] A função do emissor 20 será agora descrita, com referência à figura
8. A Figura 8 mostra um canal de processamento realizado por um codificador implementado no emissor 20 por meio de instruções executáveis, em um arquivo de dados que representa uma apresentação de vídeo compreendendo uma pluralidade de quadros para exibição sequencial como uma sequência de imagens.
[0065] O arquivo de dados também pode compreender informações de reprodução de áudio, para acompanhar a apresentação de vídeo, e outras informações suplementares, como informações de guia de programa eletrônico,
legendagem ou metadados para permitir a catalogação da apresentação. O processamento desses aspectos do arquivo de dados não é relevante para a presente revelação.
[0066] Com referência à Figura 8, a imagem ou quadro atual em uma sequência de imagens é passada para um módulo de particionamento 230 onde é particionado em blocos de um determinado tamanho para processamento sequencial pelo codificador. Cada bloco é então inserido em um módulo de previsão 232, que busca descartar redundâncias temporais e espaciais presentes na sequência e obter um sinal de previsão usando conteúdo previamente codificado. As informações que permitem a computação de tal previsão são codificadas no fluxo de bits. Essas informações podem compreender informações suficientes para permitir a computação, incluindo a possibilidade de inferência no receptor de outras informações necessárias para completar a previsão.
[0067] O sinal de previsão é subtraído do sinal original para obter um sinal residual. Isso é então inserido em um módulo de transformação 234, que tenta reduzir ainda mais as redundâncias espaciais dentro de um bloco usando uma representação mais adequada dos dados. O leitor notará que, em algumas modalidades, a transformação do domínio pode ser um estágio opcional e pode ser totalmente dispensada. Emprego de transformação de domínio, ou de outra forma, pode ser sinalizado no fluxo de bits.
[0068] O sinal resultante é então geralmente quantizado pelo módulo de quantização 236 e, finalmente, os dados resultantes formados dos coeficientes e as informações necessárias para computar a previsão para o bloco atual são inseridos em um módulo de codificação de entropia 238 que faz uso de redundância estatística para representar o sinal em uma forma compacta por meio de códigos binários curtos. Novamente, o leitor notará que a codificação de entropia pode, em algumas modalidades, ser um recurso opcional e pode ser totalmente dispensada em certos casos. O emprego de codificação de entropia pode ser sinalizado no fluxo de bits, juntamente com informações para permitir a decodificação, como um índice para um modo de codificação de entropia (por exemplo, codificação de Huffman) e/ou um livro de código.
[0069] Pela ação repetida da instalação de codificação do emissor 20, um fluxo de bits de elementos de informação de bloco pode ser construído para transmissão para um receptor ou uma pluralidade de receptores, conforme o caso. O fluxo de bits também pode conter elementos de informação que se aplicam a uma pluralidade de elementos de informação de bloco e, portanto, são mantidos na sintaxe de fluxo de bits independente dos elementos de informação de bloco. Exemplos de tais elementos de informação incluem opções de configuração, parâmetros aplicáveis a uma sequência de quadros e parâmetros relacionados à apresentação de vídeo como um todo.
[0070] O módulo de previsão 232 será agora descrito em mais detalhes, com referência à figura 9. Como será entendido, esse é apenas um exemplo, e outras abordagens, dentro do escopo da presente revelação e das reivindicações anexas, podem ser contempladas.
[0071] O seguinte processo é executado em cada bloco de movimento compensado em um quadro interprevisto.
[0072] Na etapa S1, uma lista de candidatos de interprevisão compensados por movimento é computada.
[0073] Na etapa S2, uma lista de candidatos de intraprevisão é computada. Vários modos de intraprevisão podem ser implementados. Os modos de intraprevisão podem ser definidos com base na extensão e na maneira pela qual os blocos vizinhos são usados para construir uma previsão de bloco. Vários modos são definidos em padrões técnicos estabelecidos, como H.264/AVC e H.265/HEVC. Uma abordagem semelhante pode ser empregada nessa modalidade, de modo que os modos de intraprevisão "DC", "planar" "horizontal puro" e "vertical puro" possam ser definidos. Mais modos do que isso podem ser definidos, como em H.264, no qual um índice com valor entre 0 e 8 pode ser usado para indicar um dos nove modos disponíveis. Nem todos os modos precisam ser empregados. Um conjunto mais restritivo pode ser considerado, em que menos ou mesmo apenas um candidato de intraprevisão é considerado.
[0074] Na etapa S3, é construído um conjunto de combinações de candidatos de interprevisão compensados por movimento e candidatos de intraprevisão considerados. Em seguida, um circuito L1 é conduzido em cada combinação identificada.
[0075] Dentro desse circuito, na etapa S4, uma tabela de consulta (LUT) é considerada contendo pesos a serem usados para realizar a previsão ponderada entre os dois candidatos disponíveis. A LUT pode depender das características do bloco atual (como sua largura e altura), ou características dos dois candidatos de previsão (como a magnitude do vetor de movimento do candidato interprevisto, ou o modo de intraprevisão do candidato intraprevisto). Em uma modalidade, várias LUTs podem ser consideradas e o codificador pode selecionar uma LUT e transmitir na informação de fluxo de bits para permitir a identificação ou extração da LUT correta para uso, entre uma pluralidade de LUTs disponíveis.
[0076] Ainda dentro do circuito L1, um circuito L2 é realizado sobre todos os elementos no LUT. Para cada elemento k, as seguintes etapas S6 e S7 são realizadas:
[0077] S6: Um conjunto correspondente de pesos é extraído na posição k na
LUT
[0078] S7: Uma previsão combinada é computada realizando previsão ponderada usando os dois candidatos de previsão e os pesos extraídos na posição k na LUT
[0079] Uma vez que o circuito L2 foi conduzido sobre todos os elementos na LUT, então, na etapa S8, um elemento k0 é selecionado entre os elementos na LUT. O processo de seleção pode depender, por exemplo, da computação de um custo obtido para cada item da LUT, que pode depender da distorção e da taxa de bits necessária para codificar o bloco usando aquele determinado item. Outros métodos podem ser empregados para realizar essa seleção. Os pesos correspondentes à entrada k0 no LUT são então usados para realizar a previsão final para o bloco atual. Isso termina o circuito L1 para uma combinação identificada.
[0080] O índice selecionado k0 é codificado no fluxo de bits junto com o resto das informações de previsão, incluindo as informações para permitir a computação da previsão compensada por movimento. Isso pode compreender um vetor de movimento e índice de quadro de referência ou um índice de mesclagem (para identificar o candidato de mesclagem correto de uma lista predefinida), junto com um índice para identificar o modo de intraprevisão a ser usado. No caso de apenas um único modo de intraprevisão ser considerado, não há necessidade de sinalizar o modo de intraprevisão no fluxo de bits.
[0081] A arquitetura estrutural do receptor é ilustrada na figura 10. Ele possui os elementos de ser um aparelho implementado por computador. O receptor 30 compreende, assim, uma unidade de processamento gráfico 302 configurada para uso específico no processamento de gráficos e operações similares. O receptor 30 também compreende um ou mais outros processadores 304, geralmente provisionados ou configurados para outros fins, como operações matemáticas, processamento de áudio, gerenciamento de um canal de comunicação e assim por diante.
[0082] Como o leitor irá reconhecer, o receptor 30 pode ser implementado na forma de um decodificador set-top box, um dispositivo eletrônico pessoal portátil, um computador pessoal ou qualquer outro dispositivo adequado para a reprodução de apresentações de vídeo.
[0083] Uma interface de entrada 306 fornece um recurso para o recebimento de ações de entrada do usuário. Essas ações de entrada do usuário podem, por exemplo, ser causadas pela interação do usuário com uma unidade de entrada específica, incluindo um ou mais botões de controle e/ou interruptores, um teclado, um mouse ou outro dispositivo apontador, uma unidade de reconhecimento de voz habilitada para receber e processar fala em comandos de controle, um processador de sinal configurado para receber e controlar processos de outro dispositivo, como um computador do tipo tablet ou telefone inteligente, ou um receptor de controle remoto. Essa lista será considerada não exaustiva e outras formas de entrada, sejam iniciadas pelo usuário ou automatizadas, podem ser consideradas pelo leitor.
[0084] Da mesma forma, uma interface de saída 314 é operável para fornecer um recurso para saída de sinais para um usuário ou outro dispositivo. Tal saída pode incluir um sinal de televisão, em formato adequado, para acionar um dispositivo de televisão local.
[0085] Uma interface de comunicação 308 implementa um canal de comunicação, seja transmitido ou de ponta a ponta, com um ou mais destinatários de sinais. No contexto da presente modalidade, a interface de comunicação é configurada para causar a emissão de um sinal contendo um fluxo de bits que define um sinal de vídeo, codificado pelo receptor 30.
[0086] Os processadores 304 e, especificamente para o benefício da presente revelação, a GPU 302, são operáveis para executar programas de computador, em operação do receptor. Ao fazer isso, o recurso é feito para instalações de armazenamento de dados fornecidas por um dispositivo de armazenamento em massa 308 que é implementado para fornecer armazenamento de dados em grande escala, embora em uma base de acesso relativamente lento, e irá armazenar, na prática, programas de computador e, no atual contexto, dados de apresentação de vídeo, resultando de execução de um processo de recepção.
[0087] Uma Memória de Apenas Leitura (ROM) 310 é pré-configurada com programas executáveis projetados para fornecer o núcleo da funcionalidade do receptor 30, e uma memória de acesso aleatório 312 é fornecida para acesso rápido e armazenamento de dados e instruções de programa na busca da execução de um programa de computador.
[0088] A função do receptor 30 será agora descrita, com referência à figura
11. A Figura 11 mostra uma conduta de processamento realizada por um decodificador implementado no receptor 20 por meio de instruções executáveis, em um fluxo de bits recebido no receptor 30 compreendendo informação estruturada a partir da qual uma apresentação de vídeo pode ser derivada, compreendendo uma reconstrução dos quadros codificados pela funcionalidade de codificador do emissor 20.
[0089] O processo de decodificação ilustrado na figura 11 visa reverter o processo realizado no codificador. O leitor perceberá que isso não significa que o processo de decodificação seja exatamente o inverso do processo de codificação.
[0090] Um fluxo de bits recebido compreende uma sucessão de elementos de informação codificados, cada elemento sendo relacionado a um bloco. Um elemento de informação de bloco é decodificado em um módulo de decodificação de entropia 330 para obter um bloco de coeficientes e as informações necessárias para computar a previsão para o bloco atual. O bloco de coeficientes é geralmente desquantizado no módulo de desquantização 332 e geralmente transformado inversamente para o domínio espacial pelo módulo de transformação 334.
[0091] Conforme observado acima, o leitor reconhecerá que a decodificação de entropia, desquantização e transformação inversa só precisariam ser empregadas no receptor se a codificação, quantização e transformação de entropia, respectivamente, tivessem sido empregadas no emissor.
[0092] Um sinal de previsão é gerado como antes, a partir de amostras previamente decodificadas de quadros atuais ou anteriores e usando a informação decodificada do fluxo de bits, pelo módulo de previsão 336. Uma reconstrução do bloco de imagem original é então derivada do sinal residual decodificado e o bloco de previsão calculado no bloco de reconstrução 338.
[0093] Por ação repetida da funcionalidade de decodificação em elementos de informação de bloco recebidos sucessivamente, blocos de imagem podem ser reconstruídos em quadros que podem então ser montados para produzir uma apresentação de vídeo para reprodução.
[0094] Um algoritmo de decodificador exemplar, complementando o algoritmo de codificador descrito anteriormente, é ilustrado na figura 12.
[0095] Conforme observado anteriormente, a funcionalidade de decodificador do receptor 30 extrai do fluxo de bits uma sucessão de elementos de informação de bloco, conforme codificado pela facilidade de codificador do emissor 20, definindo informações de bloco e acompanhando informações de configuração.
[0096] Em termos gerais, o decodificador se vale de informações de previsões anteriores, na construção de uma previsão para um bloco presente. Ao fazer isso, o decodificador pode combinar o conhecimento da interprevisão, isto é, de um quadro anterior, e intraprevisão, ou seja, de outro bloco no mesmo quadro.
[0097] Assim, para um bloco interprevisto compensado por movimento em um quadro interprevisto, na etapa S21, a informação que permite a formação de um candidato a interprevisão compensado por movimento é extraída do fluxo de bits. A informação de movimento que permite o desempenho da compensação de movimento pode ser obtida, por exemplo, pela decodificação direta do vetor de movimento e índice de quadro de referência do fluxo de bits, ou por meio de um processo de previsão de mesclagem em que uma lista de candidatos de mesclagem é construída e um índice de mesclagem é extraído do fluxo de bits para identificar as informações corretas de movimento mesclado.
[0098] Uma vez que a informação foi extraída, na etapa S22 um candidato de interprevisão compensado por movimento é formado com base na informação extraída.
[0099] Então, na etapa S23, uma lista de candidatos de intraprevisão é calculada, por exemplo, o conjunto de modos de intraprevisão "DC", "planar" "horizontal puro" e "vertical puro"; um conjunto mais restritivo pode ser considerado onde menos ou mesmo apenas um candidato à intraprevisão é considerado.
[00100] Na etapa S24, um índice é extraído do fluxo de bits para identificar o modo de intraprevisão a ser usado; no caso de apenas um único modo de intraprevisão ser considerado, não há necessidade de extrair tal índice de identificação de modo do fluxo de bits e, portanto, esta etapa pode ser dispensada. Essa etapa seleciona um dos candidatos computados na etapa S23 para uso.
[00101] Na etapa S25, um índice k0 é extraído do fluxo de bits para identificar o elemento a ser usado de uma LUT pré-armazenada, correspondendo à LUT usada no processo do codificador.
[00102] Então, na etapa S26, uma tabela de consulta (LUT) é considerada contendo pesos a serem usados para realizar a previsão ponderada entre os dois candidatos disponíveis. Uma pluralidade de LUTs pode ser implementada e a LUT a ser usada em um caso particular pode depender das características do bloco atual (como sua largura e altura), ou características dos dois candidatos de previsão (como a magnitude do vetor de movimento do candidato interprevisto ou o modo de intraprevisão do candidato intraprevisto). Em uma modalidade, as informações podem ser extraídas do fluxo de bits para permitir a seleção de uma
LUT apropriada entre uma pluralidade de LUTs disponíveis. Se uma única LUT for usada para todas as circunstâncias, será desnecessário sinalizar qual LUT deve ser usada em um caso particular.
[00103] Na etapa S27, os pesos na posição k0 são extraídos da LUT identificada na etapa S26. Então, na etapa S28, os pesos são usados para calcular a média ponderada dos candidatos intra e interprevistos e obter uma previsão final para o bloco atual.
[00104] O processo descrito acima é realizado para todos os elementos de informação do bloco recebidos, para toda a transmissão. Com base nisso, a formação de blocos decodificados pode ser reconstruída em quadros e os quadros em uma apresentação de vídeo reconstruída.
[00105] Será entendido que a invenção não está limitada às modalidades descritas acima e várias modificações e melhorias podem ser feitas sem se afastar dos conceitos descritos no presente documento. Exceto onde mutuamente exclusivo, qualquer um dos recursos pode ser empregado separadamente ou em combinação com quaisquer outros recursos e a divulgação se estende e inclui todas as combinações e subcombinações de um ou mais recursos descritos no presente documento.

Claims (15)

REIVINDICAÇÕES
1. Método de codificação de um bloco de pixeis em uma imagem de uma pluralidade sequencial de imagens caracterizado pelo fato de que compreende: computar um conjunto de candidatos de interprevisão compensados por movimento para o bloco de pixeis com base em uma imagem de referência na pluralidade sequencial de imagens; computar um conjunto de candidatos de intraprevisão para o bloco de pixeis, com base em um conjunto predeterminado de modos de intraprevisão; montar um conjunto de combinações dos ditos candidatos de interprevisão compensada de movimento e candidatos de intraprevisão; determinar, para uma pluralidade de conjuntos de parâmetros, cada conjunto de parâmetros configurando uma transformação paramétrica de um dos candidatos de interprevisão compensada de movimento e um dos candidatos de intraprevisão, uma previsão combinada para cada combinação dos ditos candidatos à interprevisão compensados por movimento e candidatos à intraprevisão; avaliar cada previsão combinada contra uma medição; selecionar uma das previsões combinadas com base na medição como uma codificação do bloco de pixeis.
2. Codificador caracterizado pelo fato de que é operável para realizar um método conforme definido pela reivindicação 1.
3. Aparelho de geração de sinal caracterizado pelo fato de que compreende um codificador conforme definido pela reivindicação 2.
4. Sinal caracterizado pelo fato de que é gerado pela modulação de um fluxo de bits em uma portadora, sendo que o fluxo de bits é o produto de um método de codificação conforme definido pela reivindicação 1.
5. Método de decodificação de um fluxo de bits caracterizado pelo fato de que compreende: extrair das informações de configuração de preditor de movimento de fluxo de bits e, com base nas informações de configuração de preditor de movimento, computar um ou mais candidatos à interprevisão compensados por movimento para um bloco de amostras; extrair das informações de configuração de intraprevisão de fluxo de bits e, com base nas informações de configuração de intraprevisão, computar um ou mais candidatos de intraprevisão, em que os candidatos à intraprevisão são obtidos por um processo de intraprevisão para um bloco de amostras; extrair da informação de configuração de transformação de parâmetro de fluxo de bits permitindo a determinação de parâmetros para uma transformação paramétrica de um ou mais candidatos à interprevisão compensados por movimento e um ou mais candidatos à intraprevisão; determinar parâmetros de transformação paramétrica com base nas informações de configuração de transformação de parâmetro; e computar uma previsão transformada combinada para o dito bloco de amostras, por meio de uma transformação paramétrica de um ou mais candidatos à interprevisão compensados por movimento e um ou mais candidatos à intraprevisão, sendo que a transformação paramétrica é governada pelos parâmetros de transformação paramétrica.
6. Método, de acordo com a reivindicação 5, caracterizado pelo fato de que a computação de uma previsão transformada combinada para o dito bloco de amostras, por meio de uma transformação paramétrica de um ou mais candidatos de interprevisão compensados por movimento, e um ou mais candidatos de intraprevisão, é com base nas informações de configuração de transformação de parâmetro extraídas e com base em informações inferidas geradas por um processo de inferência.
7. Método, de acordo com a reivindicação 5, caracterizado pelo fato de que os parâmetros para uma transformação paramétrica compreendem pesos para computar uma média ponderada de um ou mais candidatos de previsão de movimento e um ou mais candidatos de intraprevisão.
8. Método, de acordo com a reivindicação 7, caracterizado pelo fato de que a informação de configuração de transformação de parâmetro compreende pelo menos um fator de peso, e o método compreende ainda o cálculo de pesos como uma função do fator de peso.
9. Método, de acordo com a reivindicação 7, caracterizado pelo fato de que a informação de configuração de transformação de parâmetro compreende um índice de peso e em que o método compreende ainda extrair, a partir de uma tabela de consulta de mapeamento de índices de peso em relação aos pesos, um peso ou combinação de pesos correspondentes ao índice de peso.
10. Método, de acordo com qualquer uma das reivindicações 5 a 9, caracterizado pelo fato de que a informação de configuração do preditor de movimento compreende informação de movimento e informação de quadro de referência, sendo que o método compreende ainda computar um ou mais candidatos a mesclagem com base na informação de movimento e a informação de quadro de referência extraída de blocos vizinhos.
11. Método, de acordo com qualquer uma das reivindicações 5 a 10, caracterizado pelo fato de que a extração da informação de configuração de transformação de parâmetro de fluxo de bits que permite a determinação de parâmetros para uma transformação paramétrica de um ou mais candidatos a preditor de movimento compreende a extração de parâmetros diretamente do fluxo de bits.
12. Método, de acordo com a reivindicação 5, caracterizado pelo fato de que a extração da informação de configuração de transformação de parâmetro de fluxo de bits permitindo a determinação de parâmetros para uma transformação paramétrica de um ou mais candidatos a preditor de movimento, inclui combinar a configuração extraída com informações de parâmetro existentes, para outros blocos de amostras, para determinar os parâmetros do bloco atual.
13. Decodificador caracterizado pelo fato de que é configurado para realizar um processo de decodificação conforme definido por qualquer uma das reivindicações 5 a 12.
14. Aparelho de recepção de sinal, caracterizado pelo fato de que compreende um decodificador conforme definido pela reivindicação 13.
15. Produto de programa de computador, caracterizado pelo fato de que compreende instruções executáveis por computador operáveis para configurar um aparelho de computador para executar um método conforme definido por qualquer uma das reivindicações 5 a 12.
BR112021011517-0A 2018-12-14 2019-12-10 Codificação de vídeo e decodificação de vídeo BR112021011517A2 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB1820459.4 2018-12-14
GB1820459.4A GB2579824B (en) 2018-12-14 2018-12-14 Video encoding and video decoding
PCT/GB2019/053489 WO2020120948A1 (en) 2018-12-14 2019-12-10 Video encoding and video decoding

Publications (1)

Publication Number Publication Date
BR112021011517A2 true BR112021011517A2 (pt) 2021-08-31

Family

ID=65147060

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112021011517-0A BR112021011517A2 (pt) 2018-12-14 2019-12-10 Codificação de vídeo e decodificação de vídeo

Country Status (8)

Country Link
US (1) US11589038B2 (pt)
EP (1) EP3895428A1 (pt)
KR (1) KR20210119388A (pt)
CN (1) CN113228674B (pt)
BR (1) BR112021011517A2 (pt)
EA (1) EA202191670A1 (pt)
GB (1) GB2579824B (pt)
WO (1) WO2020120948A1 (pt)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114424544A (zh) * 2019-09-19 2022-04-29 瑞典爱立信有限公司 允许基于矩阵的帧内预测块具有多个变换块

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100631768B1 (ko) * 2004-04-14 2006-10-09 삼성전자주식회사 비디오 코딩에서 프레임간 예측방법 및 비디오 인코더와,비디오 디코딩방법 및 비디오 디코더
US9172968B2 (en) 2010-07-09 2015-10-27 Qualcomm Incorporated Video coding using directional transforms
US9654785B2 (en) 2011-06-09 2017-05-16 Qualcomm Incorporated Enhanced intra-prediction mode signaling for video coding using neighboring mode
US20130051467A1 (en) * 2011-08-31 2013-02-28 Apple Inc. Hybrid inter/intra prediction in video coding systems
US9787982B2 (en) 2011-09-12 2017-10-10 Qualcomm Incorporated Non-square transform units and prediction units in video coding
KR101830352B1 (ko) * 2011-11-09 2018-02-21 에스케이 텔레콤주식회사 스킵모드를 이용한 동영상 부호화 및 복호화 방법 및 장치
WO2013077659A1 (ko) * 2011-11-24 2013-05-30 에스케이텔레콤 주식회사 모션 벡터의 예측 부호화/복호화 방법 및 장치
US9641836B2 (en) * 2012-08-07 2017-05-02 Qualcomm Incorporated Weighted difference prediction under the framework of generalized residual prediction
US9609343B1 (en) * 2013-12-20 2017-03-28 Google Inc. Video coding using compound prediction
CN104301730A (zh) * 2014-10-14 2015-01-21 河海大学常州校区 基于视频移动设备的双向视频编解码系统及其方法
EP3217663A4 (en) * 2014-11-06 2018-02-14 Samsung Electronics Co., Ltd. Video encoding method and apparatus, and video decoding method and apparatus
EP3207704B1 (en) 2014-11-14 2021-06-02 Huawei Technologies Co., Ltd. Systems and methods for processing a digital image
JP6038243B2 (ja) 2015-07-15 2016-12-07 株式会社Nttドコモ 画像予測復号方法及び画像予測復号装置
US20180249156A1 (en) * 2015-09-10 2018-08-30 Lg Electronics Inc. Method for processing image based on joint inter-intra prediction mode and apparatus therefor
US10491922B2 (en) 2015-09-29 2019-11-26 Qualcomm Incorporated Non-separable secondary transform for video coding
US11032550B2 (en) * 2016-02-25 2021-06-08 Mediatek Inc. Method and apparatus of video coding
US10404989B2 (en) 2016-04-26 2019-09-03 Google Llc Hybrid prediction modes for video coding
US20170347094A1 (en) * 2016-05-31 2017-11-30 Google Inc. Block size adaptive directional intra prediction
WO2018070632A1 (ko) * 2016-10-11 2018-04-19 엘지전자 주식회사 영상 코딩 시스템에서 영상 디코딩 방법 및 장치
WO2018128323A1 (ko) 2017-01-03 2018-07-12 엘지전자(주) 이차 변환을 이용한 비디오 신호의 인코딩/디코딩 방법 및 장치
US10715827B2 (en) 2017-01-06 2020-07-14 Mediatek Inc. Multi-hypotheses merge mode
KR102528387B1 (ko) 2017-01-09 2023-05-03 에스케이텔레콤 주식회사 영상 부호화 또는 복호화하기 위한 장치 및 방법
WO2018128466A1 (ko) 2017-01-09 2018-07-12 에스케이텔레콤 주식회사 영상 부호화 또는 복호화하기 위한 장치 및 방법
CN110199523B (zh) 2017-01-13 2023-06-13 Vid拓展公司 用于帧内平面编码的预测方法
US10855997B2 (en) 2017-04-14 2020-12-01 Mediatek Inc. Secondary transform kernel size selection
WO2018224004A1 (en) * 2017-06-07 2018-12-13 Mediatek Inc. Method and apparatus of intra-inter prediction mode for video coding
US10757420B2 (en) * 2017-06-23 2020-08-25 Qualcomm Incorporated Combination of inter-prediction and intra-prediction in video coding
US11172203B2 (en) * 2017-08-08 2021-11-09 Mediatek Inc. Intra merge prediction
KR102448401B1 (ko) 2018-03-16 2022-09-28 엘지전자 주식회사 인트라 예측 기반 영상/비디오 코딩 방법 및 그 장치

Also Published As

Publication number Publication date
WO2020120948A1 (en) 2020-06-18
GB201820459D0 (en) 2019-01-30
US20220060686A1 (en) 2022-02-24
EA202191670A1 (ru) 2021-09-28
KR20210119388A (ko) 2021-10-05
GB2579824B (en) 2022-05-18
EP3895428A1 (en) 2021-10-20
CN113228674A (zh) 2021-08-06
GB2579824A (en) 2020-07-08
CN113228674B (zh) 2024-07-05
US11589038B2 (en) 2023-02-21

Similar Documents

Publication Publication Date Title
JP2019024241A (ja) 方法、装置、及びプログラム
CN113228679B (zh) 视频编码和视频解码
US20230291931A1 (en) Method and device for deriving inter-view motion merging candidate
US10257533B2 (en) Motion video predict coding method, motion video predict coding device, motion video predict coding program, motion video predict decoding method, motion predict decoding device, and motion video predict decoding program
BR112021011517A2 (pt) Codificação de vídeo e decodificação de vídeo
CN114868385A (zh) 视频编码和视频解码
CN114600463A (zh) 视频编码和视频解码
KR20160065860A (ko) 미디어 신호의 인코딩, 디코딩 방법 및 그 장치
CN108293134B (zh) 多视图编码和解码
JP5950726B2 (ja) 動画像予測符号化方法、動画像予測符号化装置、動画像予測符号化プログラム、動画像予測復号方法、動画像予測復号装置及び動画像予測復号プログラム
EA045634B1 (ru) Кодирование видео и декодирование видео
US10595044B2 (en) Derivation of disparity motion vector, 3D video coding and decoding using such derivation
JP2014239556A (ja) 動画像予測符号化方法、動画像予測符号化装置、動画像予測符号化プログラム、動画像予測復号方法、動画像予測復号装置及び動画像予測復号プログラム