REFERÊNCIA CRUZADA AOS PEDIDOS RELACIONADOS
Este pedido reivindica o benefício do pedido provisório U.S. número de série 60/864,917, depositado em 8 de novembro de 2006, que é incorporado no presente documento a título de referência em sua totalidade.
CAMPO DA TÉCNICA
Os presentes princípios referem-se geralmente a codificação e decodificação de vídeo e, mais particularmente, a métodos e aparelhos para filtragem de remoção de artefato em laço.
FUNDAMENTOS DA INVENÇÃO
Todos os artefatos de compressão de vídeo resultam da quantização, que é a única parte de codificação com perda em uma estrutura de codificação de vídeo híbrida. Entretanto, estes artefatos podem estar presentes em diversas formas tais como, por exemplo, como um artefato de bloco, um artefato de toque, uma distorção de borda e/ou corrupção de textura. Em geral, a sequência decodificada pode ser composta por todos os tipos de artefatos visuais, porém, com diferentes rupturas. Entre os diferentes tipos de artefatos visuais, os artefatos de bloco são comuns em codificação de vídeo baseada em bloco. Estes artefatos podem se originar tanto a partir do estágio de transformada baseado em bloco em codificação residual como a partir do estágio de compensação de movimento. Os filtros para remoção de blocos adaptáveis foram estudados no passado e alguns métodos de filtragem para remoção de blocos foram propostos e adotados em diversos padrões (tais como aqueles adotados, por exemplo, na Organização Internacional para Padronização/Comissão Eletrotécnica Internacional (ISO/IEC) Grupo de Especialistas de Imagens em Movimento 4 (MPEG-4) Parte 10 Codificação de Vídeo Avançada (AVC) União de Telecomunicação pa- drão/internacional, recomendação H.264 de Setor de Telecomunicação (ITU-T) (daqui por diante "padrão MPEG-4 AVC"). Quando bem projetado, um filtro para remoção de blocos pode aperfeiçoar tanto a qualidade de vídeo objetiva como a subjetiva. No estado da técnica dos codificadores e/ou decodificadores de vídeo, tais como, por exemplo, aqueles que correspondem ao Padrão MPEG-4 AVC, um filtro para remoção de blocos em laço adaptável é projetado para reduzir os artefatos de bloco, sendo que a intensidade de filtragem é controlada pelos valores de diversos elementos de sintaxe. A ideia básica é que se uma diferença
absoluta relativamente grande entre as amostras próximas a uma borda de bloco for medida, esta diferença provavelmente é um artefato de blocos e, deste modo, precisa ser reduzido. Entretanto, se a magnitude desta diferença for muito grande que não possa ser explicada pela aspereza da quantização usada na codificação, a borda mais provavelmente irá refletir o comportamento real da imagem de fonte e não precisa ser atenuada. Deste modo, a formação de bloco do conteúdo é reduzida, embora a agudeza do conteúdo seja basicamente inalterada. O filtro para remoção de blocos é adaptável em diversos níveis. No nível de fatia, a intensidade de filtragem global pode ser ajustada às características individuais da sequência de vídeo. No nível de bloco-borda, a intensidade de filtragem é dependente da decisão de predição inter/intra, diferenças de movimento e a presença de resíduos codificados nos dois blocos vizinhos. Nos limites de macrobloco, a filtragem forte especial é aplicada para remover "artefatos de recorte No nível de amostra, os valores de amostra e os limítrofes quantizadores dependentes podem desligar a filtragem para cada amostra individual.
A filtragem para remoção de blocos de acordo com o Padrão MPEG-4 AVC é bem projetada para reduzir o artefato de bloco, porém, a mesma não tenta corrigir outros artefatos causados pelo ruído de quantização. Por exemplo, a filtragem para remoção de blocos de acordo com o Padrão MPEG-4 AVC deixa as bordas e texturas intactas. Deste modo, a mesma não pode aperfeiçoar bordas ou texturas distorcidas. Uma razão para esta falta de capacidade é que o filtro para remoção de blocos de Padrão MPEG-4 AVC aplica um modelo de imagem suave e os filtros projetados incluem tipicamente um banco de filtros passa baixo. Entretanto, as imagens incluem muitas singularidades, texturas e assim por diante e, deste modo, as mesmas não são corretamente manuseadas pelo filtro para remoção de blocos de Padrão MPEG-4 AVC.
A fim de superar as limitações do filtro para remoção de blocos de Padrão MPEG-4 AVC, uma abordagem que foi recentemente proposta envolve um filtro em laço não linear do tipo remoção de ruído. Nesta abordagem proposta, um filtro de remoção de ruído não linear se adapta às estatísticas de imagem não estacionárias que exploram um modelo de imagem que usa um conjunto completo de transformadas lineares e limítrofes rígidos. O filtro de remoção de ruído não linear torna-se automaticamente passa alto ou passa baixo ou passa banda, e assim por diante, dependendo da região em que o filtro está operando. O filtro de remoção de ruído não linear pode se dirigir a todos os tipos de ruído de quantização. Esta
abordagem particular de remoção de ruído inclui basicamente três etapas; transformada, limítrofe de coeficientes de transformada e transforma inversa. Então, diversas avaliações de remoção de ruído proporcionadas pela remoção de ruído com o conjunto completo de transformadas (tipicamente produzido aplicando-se a remoção de ruído com versões deslo-cadas da mesma transformada) são combinadas usando a média ponderada em todo pixel.
A esparsidade baseada nas ferramentas de remoção de ruído podem reduzir o ruído de quantização ao longo de quadros de vídeo que incluem regiões localmente uniformes (suave, alta frequência, textura, e assim por diante) separadas por singularidades. Entretanto, a ferramenta de remoção de ruído foi projetada para remoção de ruído identicamente distribuída e independente (i.i.d.), aditiva, enquanto o ruído de quantização tem propriedades significativamente diferentes que podem apresentar problemas significativos em termos de redução de distorção e remoção de artefato visual adequado. Isto implica que estas técnicas podem se tornar confusas através de bordas verdadeiras ou bordas de bloco falsas. Uma possibilidade para uma solução é a adaptação de limítrofe espaço-frequencial que pode ser capaz de corrigir a decisão, porém, não é trivial em sua implementação. Uma consequência possível da seleção de limítrofe inadequada é que a remoção de ruído esparsa pode resultar em imagens reconstruídas suavizadas em excesso ou um artefato de bloco pode estar presente apesar do procedimento de filtragem. Em particular, para as regiões de imagem suave, o sinal bem como o artefato de bloco adicionado ao sinal provavelmente terão a representação esparsa no estágio de filtragem se a mesma transformada for usada para compressão e remoção de ruído. Então, uma operação de limítrofe provavelmente irá manter o artefato. No presente, observou-se que as técnicas de remoção de ruído baseadas em esparsidade, mesmo que apresentem uma redução de distorção mais alta em termos de medições de objetivo (por exemplo, erro médio quadrado (MSE)) que outras técnicas, elas podem apresentar importantes artefatos visuais que precisam ser direcionados.
Observou-se que o uso de um único filtro de remoção de ruído não é muito eficiente ou eficaz na remoção de artefatos de codificação. A razão para isto é que um filtro de remoção de ruído de propósito geral é geralmente baseado em um modelo de distorção que não combina exatamente com o cenário real ao qual o mesmo é aplicado. Este modelo não considera a estrutura local do artefato de bloco. Um filtro de remoção de artefato de propósito especial, por outro lado, é projetado para atenuar um certo tipo de artefato. Consequentemente, um filtro de remoção de ruído de propósito especial não é suficiente para corrigir o resto dos ruídos de quantização. Por exemplo, o filtro para remoção de blocos em laço no Padrão MPEG-4 AVC é um filtro de propósito especial que não é projetado para remover o ruído /artefatos em pixels distantes dos limites, dentro de texturas ou para corrigir as bordas distorcidas. Referindo-se à Figura 1, um codificador de vídeo capaz de realizar codificação de vídeo de acordo com o Padrão MPEG-4 AVC é geralmente indicado pela referência numérica 100.
O codificador de vídeo 100 inclui um buffer de ordem de quadro 110 que tem uma saída na comunicação de sinal com uma entrada não invertida de um combinador 185. Uma saída do combinador 185 é conectada na comunicação de sinal a uma primeira entrada de um transformador e quantizador 125. Uma saída do transformador e quantizador 125 é conectada em comunicação de sinal a uma primeira entrada de um codificador de entropia 145 e uma primeira entrada de um transformador inverso e quantizador inverso 150. Uma saída do codificador de entropia 145 é conectada em comunicação de sinal a uma primeira entrada não invertida de um combinador 190. Uma saída do combinador 190 é conectada em comunicação de sinal a uma primeira entrada de um buffer de saída 135.
Uma primeira saída de um controlador codificador 105 é conectada em comunicação de sinal a uma segunda entrada do buffer de ordem de quadro 110, uma segunda entrada do transformador inverso e quantizador inverso 150, uma entrada de um módulo de decisão de tipo de imagem 115, uma entrada de um módulo de decisão tipo macrobloco (tipo MB) 120, uma segunda entrada de um módulo de predição intra 160, uma segunda entrada de um filtro para remoção de blocos 165, uma primeira entrada de um compensador de movimento 170, uma primeira entrada de um estimador de movimento 175 e uma segunda entrada de um buffer de imagem de referência 180. Uma segunda saída do controlador codificador 105 é conectada em comunicação de sinal a uma primeira entrada de um inser- sor de Informação Suplementar de Enriquecimento (SEI) 130, uma segunda entrada do transformador e quantizador 125, uma segunda entrada do codificador de entropia 145, uma segunda entrada do buffer de saída 135 e uma entrada do conjunto de parâmetro de sequência (SPS) e do insersor de Conjunto de Parâmetro de Imagem (PPS) 140. Uma primeira saída do módulo de decisão de tipo de imagem 115 é conectada em comunicação de sinal a uma terceira entrada de um buffer de ordem de quadro 110. Uma segunda saída do módulo de decisão de tipo de imagem 115 é conectada em comunicação de sinal a uma segunda entrada de um módulo de decisão tipo macrobloco 120.
Uma saída do insersor de Conjunto de Parâmetro de Sequência (SPS) e Conjunto de parâmetro de imagem (PPS) 140 é conectada em comunicação de sinal a uma terceira entrada não invertida do combinador 190.
Uma saída do quantizador inverso e transformador inverso 150 é conectada em comunicação de sinal a uma primeira entrada não invertida de um combinador 119. Uma saída do combinador 119 é conectada em comunicação de sinal a uma primeira entrada do módulo de predição intra 160 e uma primeira entrada do filtro para remoção de blocos 165. Uma saída do filtro para remoção de blocos 165 é conectada em comunicação de sinal a uma primeira entrada de um buffer de imagem de referência 180. Uma saída do buffer de imagem de referência 180 é conectada em comunicação de sinal a uma segunda entrada do estimador de movimento 175. Uma primeira saída do estimador de movimento 175 é conectada em comunicação de sinal a uma segunda entrada do compensador de movimento 170. Uma segunda saída do estimador de movimento 175 é conectada em comunicação de sinal a uma terceira entrada do codificador de entropia 145. Uma saída do compensador de movimento 170 é conectada em comunicação de sinal a uma primeira entrada de um comutador 197. Uma saída do módulo de predição intra 160 é conectada em comunicação de sinal a uma segunda entrada do comutador 197. Uma saída do módulo de decisão tipo macrobloco 120 é conectada em comunicação de sinal a uma terceira entrada do comutador 197. A terceira entrada do comutador 197 determina se a entrada de “dados” do comutador (quando comparada à entrada de controle, isto é, a terceira entrada) será proporcionada ou não pelo compensador de movimento 170 ou pelo módulo de predição intra 160. A saída do comutador 197 é conectada em comunicação de sinal a uma segunda entrada não invertida do combinador 119 e a uma entrada invertida do combinador 185. As entradas do buffer de ordem de quadro 110 e do controlador codificador 105 são disponíveis como a entrada do codificador 100, para receber uma imagem de entrada 101. Além disso, uma entrada do insersor de Informação suplementar de enriquecimento (SEI) 130 é disponível como uma entrada do codificador 100 para receber metadados. Uma saída do buffer de saída 135 é disponível como uma saída do codificador 100 para produzir um fluxo de bits.
Referindo-se à Figura 2, um decodificador de vídeo capaz de realizar decodificação de vídeo, de acordo com o Padrão MPEG-4 AVC, geralmente é indicado pela referência numérica 200.
O decodificador de vídeo 200 inclui um buffer de entrada 210 que tem uma saída conectada em comunicação de sinal a uma primeira entrada do decodificador de entropia 245. Uma primeira saída do decodificador de entropia 245 é conectada em comunicação de sinal a uma primeira entrada de um transformador inverso e quantizador inverso 250. Uma saída do transformador inverso e quantizador inverso 250 é conectada em comunicação de sinal a uma segunda entrada não invertida de um combinador 225. Uma saída do combina- dor 225 é conectada em comunicação de sinal a uma segunda entrada de um filtro para remoção de blocos 265 e uma primeira entrada de um módulo de predição intra 260. Uma segunda saída do filtro para remoção de blocos 265 é conectada em comunicação de sinal a uma primeira entrada de um buffer de imagem de referência 280. Uma saída do buffer de imagem de referência 280 é conectada em comunicação de sinal a uma segunda entrada de um compensador de movimento 270.
Uma segunda saída do decodificador de entropia 245 é conectada em comunicação de sinal a uma terceira entrada do compensador de movimento 270 e a uma primeira entrada do filtro para remoção de blocos 265. Uma terceira saída do decodificador de entropia 245 é conectada em comunicação de sinal a uma entrada de um controlador decodificador 205. Uma primeira saída do controlador decodificador 205 é conectada em comunicação de sinal a uma segunda entrada do decodificador de entropia 245. Uma segunda saída do controlador decodificador 205 é conectada em comunicação de sinal a uma segunda entrada do transformador inverso e quantizador inverso 250. Uma terceira saída do controlador decodi-ficador 205 é conectada em comunicação de sinal a uma terceira entrada do filtro para remoção de blocos 265. Uma quarta saída do controlador decodificador 205 é conectada em comunicação de sinal a uma segunda entrada do módulo de predição intra 260, a uma primeira entrada do compensador de movimento 270 e a uma segunda entrada do buffer de imagem de referência 280. Uma saída do compensador de movimento 270 é conectada em comunicação de sinal a uma primeira entrada de um comutador 297. Uma saída do módulo de predição intra 260 é conectada em comunicação de sinal a uma segunda entrada do comutador 297. Uma saída do comutador 297 é conectada em comunicação de sinal a uma primeira entrada não invertida do combinador 225. Uma entrada do buffer de entrada 210 é disponível como uma entrada do decodificador 200 para receber um fluxo de bits de entrada. Uma primeira saída do filtro para remoção de blocos 265 é disponível como uma saída do decodificador 200 para produzir uma imagem de saída.
SUMÁRIO
Estes e outros defeitos e desvantagens da técnica anterior são direcionados pelos presentes princípios, que são voltados aos métodos e aparelhos para filtragem de remoção de artefato em laço. Proporcionou-se um aparelho, de acordo com um aspecto dos presentes princípios. O aparelho inclui um codificador para codificar uma região de imagem. O co-dificador tem pelo menos dois filtros para realizar de maneira sucessiva a filtragem em laço para reduzir respectivamente pelo menos um primeiro e um segundo tipo de artefato de quantização. Proporcionou-se um método, de acordo com outro aspecto dos presentes prin-cípios. O método inclui a codificação de uma região de imagem. A etapa de codificação inclui a realização de filtragem em laço para reduzir pelo menos um primeiro e um segundo tipo de artefato de quantização usando respectivamente pelo menos dois filtros em sucessão.
Ainda de acordo com outro aspecto dos presentes princípios, proporcionou-se um aparelho. O aparelho inclui um decodificador para decodificar uma região de imagem. O decodificador tem pelo menos dois filtros para realizar de maneira sucessiva a filtragem em laço para reduzir respectivamente pelo menos um primeiro e um segundo tipo de artefato de quantização.
Ainda de acordo com outro aspecto dos presentes princípios, proporcionou-se um método. O método inclui a decodificação de uma região de imagem. A etapa de decodifica- ção inclui a realização de filtragem em laço para reduzir pelo menos um primeiro e um segundo tipo de artefato de quantização usando respectivamente pelo menos dois filtros em sucessão.
Estes e outros aspectos, recursos e vantagens dos presentes princípios tornar-se- ão aparentes a partir da seguinte descrição detalhada das modalidades exemplificativas, que deve ser lida em conexão com os desenhos em anexo.
BREVE DESCRIÇÃO DOS DESENHOS
Os presentes princípios podem ser mais bem entendidos de acordo com as seguintes Figuras exemplificativas, em que:
A Figura 1 mostra um diagrama em bloco para um codificador de vídeo capaz de realizar a codificação de vídeo, de acordo com o Padrão MPEG-4 AVC;
A Figura 2 mostra um diagrama em bloco para um decodificador de vídeo capaz de realizar decodificação de vídeo, de acordo com o Padrão MPEG-4 AVC;
A Figura 3 mostra um diagrama em bloco para um codificador de vídeo capaz de realizar a codificação de vídeo, de acordo com o Padrão MPEG-4 AVC, modificado e/ou estendido para uso com os presentes princípios, de acordo com uma modalidade dos presentes princípios;
A Figura 4 mostra um diagrama em bloco para um decodificador de vídeo capaz de realizar decodificação de vídeo, de acordo com o Padrão MPEG-4 AVC, modificado e/ou estendido para uso com os presentes princípios, de acordo com uma modalidade dos presentes princípios;
A Figura 5 mostra um diagrama para uma sucessão exemplificativa de filtros de re-moção de artefato, de acordo com uma modalidade dos presentes princípios;
A Figura 6 mostra um fluxograma para um método exemplificative para codificar dados de imagem que usam filtragem de remoção de artefato em laço, de acordo com uma modalidade dos presentes princípios;
A Figura 7 mostra um fluxograma para um método exemplificative para decodificar dados de imagem que usam filtragem de remoção de artefato em laço, de acordo com uma modalidade dos presentes princípios;
A Figura 8 mostra um aparelho exemplificative para realizar a correção de coeficientes de conjunto de restrição de quantização (QCS) após a remoção/redução de artefato, de acordo com uma modalidade dos presentes princípios; e
A Figura 9 mostra os binários de quantização exemplificativos para um problema de filtragem em excesso e uma abordagem de correção que usa QCS na codifica- ção/decodificação de vídeo, de acordo com uma modalidade dos presentes princípios.
DESCRIÇÃO DETALHADA
Os presentes princípios são voltados para os métodos e aparelhos para a filtragem de remoção de artefato em laço.
A presente descrição ilustra os presentes princípios. Deste modo, será avaliado que aqueles versados na técnica serão capazes de desenvolverem diversas disposições que, embora não sejam explicitamente descritas ou mostradas no presente documento, incorporam os presentes princípios e são incluídas em seu espírito e escopo. Todos os exemplos e a linguagem condicional citados no presente documento destinam-se a propósitos pedagógicos para ajudar o leitor no entendimento dos presentes princípios e conceitos contribuídos pelo(s) inventor(es) para favorecer a técnica e devem ser construídos sem limitação de tais exemplos e condições especificamente citados. Além disso, todas as declarações que citam no presente documento os princípios, aspectos e modalidades dos presentes princípios, bem como, os exemplos específicos deste destinam-se a incorporar tanto os equivalentes estruturais como funcionais do mesmo. Adicionalmente, pretende-se que tais equivalentes incluam tanto os equivalentes atualmente conhecidos, bem como os equivalentes desenvolvidos no futuro, isto é, quaisquer elementos desenvolvidos que realizem a mesma função, independente da estrutura.
Deste modo, por exemplo, será avaliado por aqueles versados na técnica que os diagramas em bloco apresentados no presente documento representam visões conceituais de conjunto de circuito ilustrativo que incorpora os presentes princípios. De modo similar, será avaliado que quaisquer tabelas de fluxo, fluxogramas, diagramas de transição de estado, pseudocódigo e similares representam diversos processos que podem ser substancialmente representados em meio legível por computador e, então, executado por um computador ou processador, se tal computador ou processador for explicitamente mostrado ou não. As funções dos diversos elementos mostrados nas Figuras podem ser proporcionadas através do uso de hardware dedicado, bem como, hardware capaz de executar software em associação com software adequado. Quando proporcionadas por um processador, as funções podem ser proporcionadas por um único processador dedicado, por um único processador compartilhado ou por uma pluralidade de processadores individuais, alguns destes podem ser compartilhados. Além disso, o uso explícito do termo "processador" ou "controlador" não precisa ser construído para se referir exclusivamente ao hardware capaz de executar software, e pode incluir implicitamente, sem limitação, hardware de processador de sinal digital ("DSP"), memória apenas leitura ("ROM") para armazenar software, memória de acesso aleatório ("RAM") e armazenamento não volátil. Outro hardware, convencional e/ou adaptado, também pode ser incluído.
De modo similar, quaisquer comutadores mostrados nas Figuras são apenas con-ceituais. Sua função pode ser realizada através da operação de lógica de programa, através da lógica dedicada, através da interação de controle de programa e lógica dedicada ou, ainda, manualmente, sendo que a técnica particular é selecionável pelo implementador à medida que mais especificamente entendida a partir do contexto.
Nas reivindicações deste, qualquer elemento expresso como um meio para realizar uma função especificada destina-se a incorporar qualquer meio de realizar esta função in- cluindo, por exemplo, a) uma combinação de elementos de circuito que realizam esta função ou b) software sob qualquer forma, que inclui, portanto, firmware, microcódigo ou similares, combinado com o conjunto de circuito adequado para executar este software para realizar a função. Os presentes princípios conforme definidos por tais reivindicações consistem no fato de que as funcionalidades proporcionadas pelos diversos meios citados são combinadas e reunidas da maneira que as reivindicações exigem. Deste modo, considera-se que quaisquer meios que possam proporcionar estas funcionalidades são equivalentes àqueles mostrados no presente documento.
A referência no relatório descritivo a "uma modalidade" dos presentes princípios significa que um recurso, estrutura, característica particular e, assim por diante, descrito em conexão com a modalidade é incluído em pelo menos uma modalidade dos presentes prin-cípios. Deste modo, as aparências da frase "em uma modalidade" "que aparecem em diversos locais ao longo do relatório descritivo não se referem necessariamente à mesma modalidade.
Conforme usada no presente documento, a "sintaxe de alto nível" e o "elemento de sintaxe de alto nível" se referem de maneira intercambiável à sintaxe presente no fluxo de bits que se situa hierarquicamente acima da camada de macrobloco. Por exemplo, a sintaxe de alto nível, conforme usada no presente documento, pode ser referir, mas não se limita a, sintaxe no nível de cabeçalho de porção, nível de Informação suplementar de enriquecimento (SEI), nível de conjunto de parâmetro de imagem, nível de conjunto de parâmetro de sequência e nível de cabeçalho de unidade de camada de abstração de rede (NAL). Conforme usado no presente documento, "sintaxe de nível de bloco" e o "elemento de sintaxe de nível de bloco" se referem de maneira intercambiável à sintaxe presente no fluxo de bits que se situa hierarquicamente em qualquer uma das possíveis unidades de codificação estruturadas como um bloco ou partições de um bloco em um esquema de codificação de vídeo. Por exemplo, a sintaxe de nível de bloco, conforme usada no presente documento, pode se referir a, porém não se limita a, sintaxe no nível de macrobloco, no nível de partição 16x8, no nível de partição 8x16, no nível de sub-bloco 8x8 e partições gerais de qualquer um destes.
Além disso, a sintaxe de nível de bloco, conforme usada no presente documento, também pode ser referir aos blocos emitidos a partir da união de blocos menores (por exemplo, uniões de macroblocos).
A expressão "dados de imagem" tem intenção de se referir aos dados que corres-pondem a qualquer uma das imagens fixas ou imagens em movimento (isto é, uma sequência de imagens que inclui movimento). Deve-se avaliar que o uso do termo "e/ou", por exemplo, no caso de "A e/ou B", tem intenção de incorporar a seleção da primeira opção listada (A), a seleção da segunda opção listada (B), ou a seleção de ambas as opções (A e B). Como um exemplo adicional, no caso de "A, B e/ou C", tal expressão tem intenção de incorporar a seleção da primeira opção listada (A), a seleção da segunda opção listada (B), a seleção da terceira opção listada (C), a seleção da primeira e segunda opções listadas (A e B), a seleção da primeira e terceira opções listadas (A e C), a seleção da segunda e terceira opções listadas (B e C) ou a seleção de todas as três opções (A e B e C). Isto pode ser estendido, conforme prontamente aparente para alguém versado nesta técnica e nas técnicas relacionadas, a tantos itens quantos listados.
Além disso, deve-se avaliar que enquanto uma ou mais modalidades dos presentes princípios são descritas no presente documento em relação ao Padrão MPEG-4 AVC, os presentes princípios não se limitam unicamente a este padrão e, deste modo, podem ser utilizados em relação a outros padrões de codificação de vídeo, recomendações e extensões destes, que incluem extensões tais como extensões escalonáveis (e não escalonáveis) e/ou extensões de múltiplas visões (e sem múltiplas visões) do Padrão MPEG-4 AVC, enquanto mantêm o espírito dos presentes princípios. Referindo-se à Figura 3, um codificador de vídeo capaz de realizar codificação de vídeo de acordo com o Padrão MPEG-4 AVC, modificado e/ou estendido para uso com os presentes princípios, é geralmente indicado pela referência numérica 300.
O codificador de vídeo 300 inclui um buffer de ordem de quadro 310 que tem uma saída em comunicação de sinal com uma entrada não invertida de um combinador 385. Uma saída do combinador 385 é conectada em comunicação de sinal com uma primeira entrada de um transformador e quantizador 325. Uma saída do transformador e quantizador 325 é conectada em comunicação de sinal com uma primeira entrada de um codificador de entropia 345 e uma primeira entrada de um transformador inverso e quantizador inverso 350. Uma saída do codificador de entropia 345 é conectada em comunicação de sinal com uma primeira entrada não invertida de um combinador 390. Uma saída do combinador 390 é conectada em comunicação de sinal com uma primeira entrada de um buffer de saída 335.
Uma primeira saída de um controlador codificador 305 é conectada em comunicação de sinal a uma segunda entrada de um buffer de ordem de quadro 310, uma segunda entrada do transformador inverso e quantizador inverso 350, uma entrada de um módulo de decisão de tipo de imagem 315, uma primeira entrada de um módulo de decisão tipo macrobloco (tipo MB) 320, uma segunda entrada de um módulo de predição intra 360, uma segunda entrada de um filtro para remoção de blocos 365, uma primeira entrada de um compensador de movimento 370, uma primeira entrada de um estimador de movimento 375, uma segunda entrada de um buffer de imagem de referência 380, uma primeira entrada de um filtro de remoção de ruído de esparsidade e uma primeira entrada de um conjunto de restrição de quantização (QCS) 355.
Uma segunda saída do controlador codificador 305 é conectada em comunicação de sinal com uma primeira entrada de um insersor de Informação Suplementar de Enriquecimento (SEI) 330, uma segunda entrada do transformador e quantizador 325, uma segunda entrada do codificador de entropia 345, uma segunda entrada do buffer de saída 335 e uma entrada do conjunto de parâmetro de sequência (SPS) e do insersor de conjunto de parâmetro de imagem (PPS) 340.
Uma primeira saída do módulo de decisão de tipo de imagem 315 é conectada em comunicação de sinal a uma terceira entrada do buffer de ordem de quadro 310. Uma segunda saída do módulo de decisão de tipo de imagem 315 é conectada em comunicação de sinal a uma segunda entrada de um módulo de decisão tipo macrobloco 320.
Uma saída do conjunto de parâmetro de sequência (SPS) e do insersor de conjunto de parâmetro de imagem (PPS) 340 é conectada em comunicação de sinal a uma terceira entrada não invertida do combinador 390. Uma saída do quantizador inverso e do transformador inverso 350 é conectada em comunicação de sinal com uma primeira entrada não invertida de um combinador 319. Uma saída do combinador 319 é conectada em comunicação de sinal a uma primeira entrada do módulo de predição intra 360 e uma primeira entrada do filtro para remoção de blocos 365. Uma saída do filtro para remoção de blocos 365 é conectada em comunicação de sinal a uma segunda entrada do filtro de remoção de ruído de esparsidade 344. Uma saída do filtro de remoção de ruído de esparsidade 344 é conectada em comunicação de sinal a uma segunda entrada do conjunto de restrição de quantização (QCS) 355. Uma saída do conjunto de restrição de quantização (QCS) 355 é conectada em comunicação de sinal a uma primeira entrada do buffer de imagem de referência 380. Uma saída do buffer de imagem de referência 380 é conectada em comunicação de sinal a uma segunda entrada do estimador de movimento 375 e uma segunda entrada do compensador de movimento 370. Uma primeira saída do estimador de movimento 375 é conectada em comunicação de sinal a uma terceira entrada do compensador de movimento 370. Uma se-gunda saída do estimador de movimento 375 é conectada em comunicação de sinal a uma terceira entrada do codificador de entropia 345. Uma saída do compensador de movimento 370 é conectada em comunicação de sinal com uma primeira entrada de um comutador 397. Uma saída do módulo de predição intra 360 é conectada em comunicação de sinal a uma segunda entrada do comutador 397. Uma saída do módulo de decisão tipo macrobloco 320 é conectada em comunicação de sinal a uma terceira entrada do comutador 397. A terceira entrada do comutador 397 determina se a entrada de "dados" do comutador (quando com-parada com a entrada de controle, isto é, a terceira entrada) será proporcionada ou não pelo compensador de movimento 370 ou pelo módulo de predição intra 360. A saída do comutador 397 é conectada em comunicação de sinal a uma segunda entrada não invertida do combinador 319 e a uma entrada invertida do combinador 385.
As entradas do buffer de ordem de quadro 310 e do controlador codificador 305 são disponíveis como a entrada do codificador 300 para receber uma imagem de entrada 301. Além disso, uma entrada do insersor de Informação Suplementar de Enriquecimento (SEI) 330 é disponível como uma entrada do codificador 300, para receber metadados. Uma saída do buffer de saída 335 é disponível como uma saída do codificador 300 para produzir um fluxo de bits.
Referindo-se à Figura 4, um decodificador de vídeo capaz de realizar decodificação de vídeo de acordo com o Padrão MPEG-4 AVC, modificado e/ou estendido para uso com os presentes princípios, é geralmente indicado pela referência numérica 400. O decodificador de vídeo 400 inclui um buffer de entrada 410 que tem uma saída conectada em comunicação de sinal com uma primeira entrada do decodificador de entropia 445. Uma primeira saída do decodificador de entropia 445 é conectada em comunicação de sinal com uma primeira entrada de um transformador inverso e quantizador inverso 450. Uma saída do transformador inverso e quantizador inverso 450 é conectada em comunicação de sinal a uma segunda entrada não invertida de um combinador 425. Uma saída do combinador 425 é conectada em comunicação de sinal a uma segunda entrada de um filtro para remoção de blocos 465 e uma primeira entrada de um módulo de predição intra 460. Uma saída do filtro para remoção de blocos 465 é conectada em comunicação de sinal com uma primeira entrada de um filtro de remoção de ruído de esparsidade 444. Uma saída do filtro de remoção de ruído de esparsidade 444 é conectada em comunicação de sinal a uma primeira entrada de um conjunto de restrição de quantização (QCS) 455. Uma primeira saída do conjunto de restrição de quantização (QCS) 455 é conectada em comunicação de sinal a uma primeira entrada de um buffer de imagem de referência 480. Uma saída do buffer de imagem de referência 480 é conectada em comunicação de sinal a uma segunda entrada de um compensador de movimento 470.
Uma segunda saída do decodificador de entropia 445 é conectada em comunicação de sinal a uma terceira entrada do compensador de movimento 470 e uma primeira entrada do filtro para remoção de blocos 465. Uma terceira saída do decodificador de entropia 445 é conectada em comunicação de sinal a uma entrada de um controlador decodificador 405. Uma primeira saída do controlador decodificador 405 é conectada em comunicação de sinal a uma segunda entrada do decodificador de entropia 445. Uma segunda saída do controlador decodificador 405 é conectada em comunicação de sinal a uma segunda entrada do transformador inverso e quantizador inverso 450. Uma terceira saída do controlador decodi-ficador 405 é conectada em comunicação de sinal a uma terceira entrada do filtro para remoção de blocos 465, uma segunda entrada do filtro de remoção de ruído de esparsidade 444 e uma segunda entrada do conjunto de restrição de quantização (QCS) 455. Uma quarta saída do controlador decodificador 405 é conectada em comunicação de sinal a uma segunda entrada do módulo de predição intra 460, a uma primeira entrada do compensador de movimento 470 e a uma segunda entrada do buffer de imagem de referência 480.
Uma saída do compensador de movimento 470 é conectada em comunicação de sinal a uma primeira entrada de um comutador 497. Uma saída do módulo de predição intra 460 é conectada em comunicação de sinal a uma segunda entrada do comutador 497. Uma saída do comutador 497 é conectada em comunicação de sinal a uma primeira entrada não invertida do combinador 425.
Uma entrada do buffer de entrada 410 é disponível como uma entrada do decodifi-cador 400, para receber um fluxo de bits de entrada. Uma segunda saída do conjunto de restrição de quantização (QCS) 455 é disponível como uma saída do decodificador 400 para produzir uma imagem de saída.
Em relação ao decodificador de vídeo 400 da Figura 4, deve-se avaliar que se pode permitir imagens de saída antes da aplicação do bloco de função 465 ou após a aplicação da função 465 ou após a aplicação do bloco de função 444 ou após a aplicação do bloco de função 455. Ou seja, pode-se ter a flexibilidade em que a imagem para predição no buffer de referência e a imagem para exibição são diferentes, de modo que possa ter uma melhor referência para predição e uma imagem mais nítida para exibição.
Conforme notado acima, os presentes princípios são voltados para métodos e apa-relhos para filtragem de remoção de artefato em laço. Em uma modalidade, propõe-se a utilização de uma sucessão de filtros em imagens codificadas para reduzir a quantidade de artefatos de codificação ao longo de quadros de vídeo. Os filtros são colocados no laço de codificação (em laço), de modo que os quadros filtrados sejam usados como quadros de referência para compensação de movimento de quadros codificados subsequentes. Pelo menos um dos filtros inclui, por exemplo, um filtro para remoção de blocos, um filtro de remoção de anel, um filtro de remoção de ruído, um filtro de avaliação de sinal, um filtro linear e/ou um filtro não linear.
Em uma modalidade, propõe-se o uso de dois filtros de passagem. Na primeira passagem, aplica-se um filtro para remoção de blocos adaptável que almeja a remoção de artefatos de blocos. Na segunda passagem, aplica-se um filtro de remoção de ruído esparso que pode reduzir adicionalmente o ruído de quantização ao longo de quadros de vídeo compostos por regiões localmente uniformes (suave, alta frequência, textura, e assim por diante). Para aperfeiçoar adicionalmente o resultado, pode-se forçar as restrições de compressão que incluem, mas não se limitam a, restrições de quantização, a fim de ajudar a restaurar a imagem na forma livre de artefato. Uma ou mais modalidades envolvem o uso de dois ou mais filtros em laço (e/ou duas ou mais passagens de filtragem em laço) para remover ou reduzir os artefatos de quantização - o primeiro filtro (ou passagem de filtragem) para remover ou reduzir um primeiro tipo (ou grupo de tipos) de artefato de quantização e o segundo filtro (ou passagem de filtragem) para remover ou reduzir um segundo tipo (ou grupo de tipos) de artefato de quantização. Deve-se avaliar ainda que o uso de mais filtros em laço (ou passagens de filtragem) também é contemplado de acordo com as modalidades dos presentes princípios. Ou seja, dados os ensinamentos dos presentes princípios aqui proporcionados, alguém versado nesta técnica e nas técnicas relacionadas irá contemplar estas e diver- sas outras implementações e variações dos presentes princípios, enquanto mantém o espírito dos presentes princípios.
Portanto, de acordo com os princípios da presente invenção, sugere-se o uso de uma sucessão de filtros (ou passagens de filtragem) para remover ou reduzir uma pluralidade de tipos de artefato de codificação possíveis causados pela quantização. Se feito deste modo, diferentes tipos de erros de artefatos e quantização são manuseados pelos diferentes filtros. Portanto, através de tal filtragem em cascata de imagens de vídeo reconstruídas, a sequência de decodificação é substancialmente melhor tanto em medições subjetivas como objetiva. Incorporando-se este esquema no laço de codificador/decodificador, também conhecido como filtragem em laço, o processo de predição inter também pode se beneficiar do aperfeiçoamento de imagens de referência decodificadas. Note que ao usar uma sucessão de filtros, os mesmos não se limitam a um conjunto particular de filtros de propósito geral ou especial, um número particular de filtros em cascata, ou ainda uma ordem particular na qual eles são combinados. Estes parâmetros podem ser ajustados com base, por exemplo, no codificador e/ou decodificador a ser usado a da natureza dos dados de vídeo a serem filtrados. Para evitar que o sinal de vídeo de entrada seja processado em excesso, também se pode forçar algumas restrições de compressão e/ou quantização.
Uma modalidade envolve o uso de um filtro de "duas passagens". Referindo-se à Figura 5, uma sucessão exemplificativa de filtros de remoção de artefato é geralmente indicada pela referência numérica 500. Um filtro de remoção de ruído esparso adaptável 544 é usado como um filtro de refinamento subsequente para o filtro para remoção de blocos Padrão MPEG-4 AVC 565e antes do filtro de conjunto de restrição de quantização (QCS) 555. Uma vez que os artefatos de blocos visuais são sucessivamente removidos pelo filtro para remoção de blocos, o ruído de quantização restante tende a se tornar mais independente e identicamente distribuído (i.i.d.), que se conforma à suposição de modelo de ruído de um filtro de remoção de ruído esparso adaptável. Após aplicar o segundo filtro de remoção de ruído esparso de passagem 544, usa-se o filtro de conjunto de restrição de quantização 555 para reformar os resíduos e evitar que eles sejam processados em excesso. O filtro de conjunto de restrição de quantização 555 é usado para restringir cada coeficiente de transformada ao seu intervalo de quantização original. Esta etapa ajuda a prevenir a suavização em excesso e torna o resultado do conjunto em cascata de filtros mais robustos para alterações nas configurações de filtros que incluem, porém não se limitam a, alterações no parâmetro limítrofe para a etapa de remoção de ruído esparso.
O filtro de remoção de ruído esparso adaptável 544 inclui um transformador anterior 571 que tem uma saída em comunicação de sinal com uma entrada de um módulo limítrofe 573. Uma saída do módulo limítrofe 573 é conectada em comunicação de sinal a uma en- trada de um transformador inverso 575. Uma saída do transformador inverso 575 é conecta- da em comunicação de sinal a uma entrada de um módulo de ponderação adaptável 577. Uma entrada do transformador anterior é disponível como uma entrada do segundo filtro de remoção de ruído esparso 544. Uma saída do módulo de ponderação adaptável 577 é dis- ponível como uma saída do filtro de remoção de ruído esparso de passagem 544. A saída do filtro para remoção de blocos Padrão MPEG-4 AVC 565 é conectada em comunicação de sinal com a entrada do transformador anterior 571. A saída do módulo de ponderação adap- tável 577 é conectada em comunicação de sinal com uma entrada do filtro de conjunto de restrição de quantização 555. Uma entrada do filtro para remoção de blocos Padrão MPEG- 4 AVC 565 é disponível como uma entrada da sucessão de filtros de remoção de artefato 500. Uma saída do filtro de conjunto de restrição de quantização 571 é disponível como uma saída da sucessão de filtros de remoção de artefato 500.
Como exemplos, as Figuras 3 e 4 ilustram aonde o filtro de remoção de ruído es- parso adaptável e o filtro de conjunto de restrição de quantização podem ser situados dentro de uma estrutura de codificador de vídeo 30 e uma estrutura de decodificador de vídeo, res- pectivamente. Nos exemplos mostrados, o filtro de remoção de ruído esparso adaptável e o filtro de conjunto de restrição de quantização, um após o outro, são situados após o filtro para remoção de blocos. Certamente, dados os ensinamentos dos presentes princípios aqui proporcionados, alguém versado nesta técnica e nas técnicas relacionadas irá contemplar esta e outras localizações para o filtro de remoção de ruído esparso adaptável e o filtro de conjunto de restrição de quantização, enquanto mantém o espírito dos presentes princípios.
Em uma modalidade, o filtro de remoção de ruído esparso adaptável e/ou o filtro de conjunto de restrição de quantização pode ser ligado/desligado no nível de macrobloco, ní- vel de fatia, nível de imagem e/ou nível de sequência. Por exemplo, pode-se escolher aplicar apenas o filtro de remoção de ruído esparso e o filtro de conjunto de restrição de quantiza- ção para quadros intra, porém, não para quadros inter.
Em uma modalidade, as diferentes etapas de remoção/redução de artefato podem ser seletivamente ligas/desligadas dependendo das restrições de complexidade da aplicação, medições de distorção e/ou custos de codificação. A transformada para a etapa de remoção de ruído esparso pode ser adaptativamente selecionada a partir de um conjunto de 5 possíveis transformadas. A transformada selecionada pode ser indicada e sinalizado no decodificador que usa uma sintaxe de alto nível. Um limítrofe Y adequado pode ser sinalizado para otimizar o filtro de remoção de ruído esparso adaptável. O limítrofe Y adequado pode precisar ser adaptado ao parâmetro de quantização, bem como o conteúdo de sequência. O método de ponderação ótimo também pode ser sinalizado para maximize o ganho de remold ção de ruído.
A TABELA 1 mostra a sintaxe de carga útil (RBSP) de byte bruto de conjunto de pa-râmetro de imagem exemplificative (PPS) para uso na filtragem de remoção de artefato em laço de acordo com uma modalidade dos presentes princípios. TABELA 1
TABELA 2 mostra a sintaxe de cabeçalho de porção exemplificativa para uso na fil tragem de remoção de artefato em laço de acordo com uma modalidade dos presentes prin-cípios. TABELA 2
Em relação às TABELAS 1 e 2, as seguintes definições de sintaxe exemplificativas são proporcionadas. Certamente, dados os ensinamentos dos presentes princípios aqui proporcionados, alguém versado nesta técnica e nas técnicas relacionadas irá contemplar estas e outras sintaxes e variações destas para uso de acordo com diversas modalidades dos presentes princípios, enquanto mantêm o espírito dos presentes princípios. sparse_filter_control_present_flag igual a 1 especifica que um conjunto de elemen- tos de sintaxe que controla as características do filtro de remoção de ruído esparso está presente no cabeçalho de porção. sparse_filter_control_present_flag igual a 0 especifica que um conjunto de elementos de sintaxe que controla as características do filtro de remoção de ruído esparso não está presente no cabeçalho de porção e seus valores inferidos estão em vigor. qcs_control_present_flag igual a 1 especifica que um conjunto de elementos de sin- taxe que controla as características do filtro de conjunto de restrição de quantização (QCS) está presente no cabeçalho de porção. qcs_control_present_flag igual a 0 especifica que um conjunto de elementos de sintaxe que controla as características do filtro de conjunto de restrição de quantização (QCS) não está presente no cabeçalho de porção e seus i valores inferidos estão em vigor. disable_sparse_filter_flag especifica se a operação de filtro de re- moção de ruído esparso deve ser desativado. Quando disable_sparse_filter_flag não estiver presente no cabeçalho de porção, disable_sparse_filter_flag deve ser inferido para ser igual a 0. sparse_threshold especifica o valor limítrofe usado na remoção de ruído esparso.
Quando sparse_threshold não estiver presente no cabeçalho de porção, o valor pa- drão derivado com base no parâmetro de quantização de fatia é usado. sparse_transform_type especifica o tipo de transformada usada na remoção de ruí- do esparso. sparse_transform_type igual a 0 especifica que uma transformada 4x4 é usada. sparse_transform_type igual a 1 especifica que uma transformada 8x8 é usada. adaptive_weighting_type especifica o tipo de ponderação usada na remoção de ruí- do esparso. adaptive_weighting_type igual a 0 especifica que a ponderação de esparsidade é usada. adaptive_weighting_type igual a 1 especifica que média ponderada é usada. disable_qcs_flag especifica se a operação do filtro conjunto de restrição de quanti- zação (QCS) deve ser desativada. Quando disable_qcs_flag não estiver presente no cabe- çalho de porção, disable_qcs_flag deve ser inferido para ser igual a 0. qcs_pullback_model especifica como atribuir novamente o valor de coeficientes. qcs_pullback_model igual a 0 especifica o recuo dos coeficientes até o limite de célula mais próximo (um exemplo de recuo até o limite de célula mais próximo (ou binário de quantiza- ção) é mostrado na última linha da Figura 9, descrito abaixo). qcs_pullback_model igual a 1 especifica o recuo dos coeficientes até centro (ver também Figura, se o valor de coeficiente quantizado é usado em vez disso) ou valor predefinido de uma célula.
Em uma modalidade, uma operação de filtro de remoção de ruído esparso adaptá- vel envolve as seguintes etapas.
Em uma etapa, um conjunto de transformada completo Hj, i = 1,..., M é determina- do. A informação relacionada a este conjunto particular pode ser transmitida para o decodifi- cador. A informação pode ser transmitida, por exemplo, em um nível de fatia, imagem e/ou sequência. Na transmissão de tal informação, a sintaxe de alto nível pode ser incorporada no fluxo de dados. A sintaxe de alto nível pode ser incorporada, por exemplo, no nível de fatia, imagem e/ou sequência. Por exemplo, dentro da estrutura do Padrão MPEG-4 AVC que pode reutilizar a transformada 4x4 e transformada 8x8 existentes e/ou a etapa de trans- formada Hadamard.
Em outra etapa, um limítrofe Y (por exemplo, baseada em uma etapa de quantiza- ção e/ou as estatísticas da imagem de codificação) é determinada, Y pode ser transmitido para o decodificador. Y pode ser transmitido, por exemplo, em um nível de bloco, porção, imagem e/ou sequência. Na transmissão de tal informação, pelo menos uma sintaxe de ní- vel de bloco e/ou pelo menos uma sintaxe de alto nível pode ser incorporada no fluxo de dados.
Ainda em outra etapa, o método de ponderação adaptável para combinar o resulta- do das transformadas inversas, que pode ser transmitido para o decodificador, se determi- nado. Os pesos podem ser transmitidos em, por exemplo, nível de bloco, porção, imagem e/ou sequência. No caso em que a ponderação é diretamente derivada sem a transmissão explícita desta, ainda pode existir uma necessidade de transmitir algumas informações auxi- liares relacionadas à etapa de ponderação. Na transmissão de qualquer informação de eta- pa de ponderação, pelo menos uma sintaxe de nível de bloco e/ou pelo menos uma sintaxe de alto nível pode ser incorporada no fluxo de dados. Por exemplo, a ponderação média ou ponderação de base de esparsidade que adapta os pesos inversos de inúmeros coeficientes não-zero pode ser usada. Certamente, os presentes princípios não são unicamente limita- dos aos tipos precedentes de ponderação e, deste modo, outros tipos de ponderação tam- bém podem ser usados de acordo com os presentes princípios, enquanto mantêm o espírito dos presentes princípios.
Em uma modalidade, uma metodologia de filtro de remoção de ruído esparso adap- tável usada para refinamento envolve a obtenção da avaliação de remoção de ruído x, a partir de cada transformada Hi que usa o limítrofe especificado Y; e combinar x, usando ponderações adaptáveis para obter a avaliação de remoção de ruído final x.
Em uma modalidade, uma metodologia de conjunto de restrição de quantização é usada para uma última etapa de refinamento conforme exposto a seguir: (1) Calcular o novo sinal residual r = x - p, onde p é o sinal de predição intra/inter. (2) Aplicar o mesmo processo de transformada em r que o Padrão MPEG-4 AVC aplica no resíduo. Presume-se que os coeficientes de transformada resultantes são c. (3) Verificar se c se encontra na célula de quantização indicada pelos coeficientes de transformada originalmente recebidos. Para cada coeficiente, se após as etapas de filtra- gem, c tiver caído fora de sua célula de quantização original, o novo coeficiente é corrigido e novamente designado como o valor de limite de célula de quantização original mais próxi- mo de si mesmo. Alternativamente, dependendo das estatísticas de cada particular coefici- ente e/ou binário de quantização, outros valores possíveis da célula de quantização original podem ser usados para o procedimento de redesignação. Os coeficientes refinados são de- notados como c'. (4) Adotar a transformada inversa de c', denotada por r', e somá-la junto com p para obter a avaliação final x' = p + r'.
O filtro de remoção de ruído esparso adaptável é voltado para a recuperação do si- nal original de um ambiente ruidoso independente e identicamente distribuído (i.i.d.). Entre- tanto, o ruído de quantização na compressão de vídeo e, particularmente, em relação ao Padrão MPEG-4 AVC, geralmente não é independente e identicamente distribuído (i.i.d.). Os presentes princípios diferem da técnica anterior no uso de uma série de etapas de refina- mento (sucessão de filtros) após, por exemplo, o filtro para remoção de blocos Padrão MPEG-4 AVC, cada uma orientada para corrigir pelo menos uma parte dos artefatos de co- dificação. O sinal após o filtro para remoção de blocos é uma combinação melhor para a suposição de ruído independente e identicamente distribuída (i.i.d.). O possível "problema de filtragem em excesso" que resulta do uso e/ou combinação de filtros para remoção de blocos e remoção de ruído é solucionado pelo conjunto subsequente de filtro de restrição de quantização (QCS). A sucessão de filtros mostrou seu desempenho superior na remoção de artefatos de compressão de vídeo, tanto na prática como na teoria.
Referindo-se à Figura 6, um método exemplificativo para codificar os dados de ima- gem que usam filtragem de remoção de artefato em laço é geralmente indicado pela refe- rência numérica 600.
O método 600 inclui um bloco de partida 605 que passa o controle para um bloco de função 610. O bloco de função 610 codifica a porção atual e passa o controle para um bloco de função 615. O bloco de função 615 decide se um filtro para remoção de blocos, um filtro de remoção de ruído esparso e/ou conjunto de restrição de quantização (QCS) será aplicado ou não à porção atual baseada nas estatísticas da porção atual e passa o controle para um bloco de decisão 620. O bloco de decisão 620 determina se disa- ble_deblocking_filter_ids é igual a zero ou não. Se for assim, então, o controle é passado para um bloco de função 625. De outro modo, o controle é passado para um bloco de deci- são 630.
O bloco de função 625 aplica um filtro para remoção de blocos e passa o controle para o bloco de decisão 630.
O bloco de decisão 630 determina se disable_sparse_filter_flag é igual a zero ou não. Se for assim, então, o controle é passado para um bloco de função 635. De outro mo- do, o controle é passado para um de decisão 640.
O bloco de função 635 aplica o filtro de remoção de ruído de esparsidade e passa o controle para o bloco de decisão 640.
O bloco de decisão 640 determina se diable_qcs_flag é igual a zero ou não. Se for assim, então, o controle é passado para um de função 645. De outro modo, o controle é passado para um bloco de extremidade 699.
O bloco de função 645 aplica o conjunto de restrição de quantização (QCS) e passa o controle para o bloco de extremidade 699.
Referindo-se à Figura 7, um método exemplificativo para decodificar dados de ima- gem que usam filtragem de remoção de artefato em laço é geralmente indicado pela refe- rência numérica 700.
O método 700 inclui um bloco de partida 705 que passa o controle para um bloco de função 710. O bloco de função 710 analisa o fluxo de bits, decodifica a sintaxe e passa o controle para um bloco de função 715. O bloco de função 715 decodifica a porção atual, e passa o controle para um bloco de decisão 720. O bloco de decisão 720 determina se dia- ble_deblocking_filter_idc é igual a zero ou não. Se for assim, então, o controle é passado para um de função 725. De outro modo, o controle é passado para um de decisão 730. O bloco de função 725 aplica o filtro para remoção de blocos e passa o controle para o bloco de decisão 730.
O bloco de decisão 730 determina se disable_sparse_filter_flag é igual a zero ou não. Se for assim, então, o controle é passado para um de função 735. De outro modo, o controle é passado para um de decisão 740. O bloco de função 735 aplica o filtro de remo- ção de ruído de esparsidade e passa o controle para o bloco de decisão 740. O bloco de decisão 740 determina se diable_qcs_flag é igual a zero ou não. Se for assim, então, o con- trole é passado para um de função 745. De outro modo, o controle é passado para um bloco de extremidade 799.
O bloco de função 745 aplica um conjunto de restrição de quantização (QCS) e passa o controle para o bloco de extremidade 799.
Referindo-se à Figura 8, um aparelho exemplificativo para realizar a correção de for coeficientes de conjunto de restrição de quantização (QCS) após a remoção/redução de artefatos geralmente é indicado pela referência numérica 800. O aparelho 800 inclui um combinador 805 que tem uma saída em comunicação de sinal com uma entrada de um MPEG-4 AVC transformador 810. Uma saída do transformador Padrão MPEG-4 AVC 810 é conectada em comunicação de sinal com uma primeira entrada de um módulo de compara- ção e correção 815. Uma saída do módulo de comparação e correção 815 é conectada em comunicação de sinal a uma entrada de um MPEG-4 AVC transformador inverso 820. Uma saída do MPEG-4 AVC transformador inverso 820 é conectada em comunicação de sinal com uma primeira entrada não invertida de um combinador 825.
Uma entrada não invertida do combinador 805 é disponível como uma entrada do aparelho 800 para receber uma imagem de vídeo reconstruída e filtrada. Uma entrada inver- tida do combinador 805 é disponível como uma entrada do aparelho 800, para receber uma imagem de vídeo prevista. Uma segunda entrada do módulo de comparação e correção 815 é disponível como uma entrada do aparelho 800, para receber padrão de binários de quanti- zação. Uma terceira entrada do módulo de comparação e correção 815 é disponível como uma entrada do aparelho 800 para receber coeficientes decodificados. Uma segunda entra- da não invertida do combinador 825 é disponível como uma entrada do aparelho para rece- ber uma imagem de vídeo prevista. Uma saída do combinador 825 é disponível como uma saída do aparelho, para produzir uma imagem de vídeo corrigida de conjunto de restrição de quantização (QCS) reconstruída e filtrada.
O transformador MPEG-4 AVC 810 é aplicado no resíduo decodificado. O transfor- mador inverso MPEG-4 AVC 820 é aplicado no resíduo decodificado. O módulo de compa- ração e correção 815 compara as imagens decodificadas e filtradas no domínio de transfor- mada e corrige os coeficientes que são filtrados em excesso.
Referindo-se à Figura 9, os binários de quantização exemplificativos que usam QCS para corrigir um problema de filtragem em excesso na codificação/decodificação de vídeo geralmente é indicado pela referência numérica 900. Supõe-se que o valor original é x e o valor limite do quantizador é y, i=0, 1 , 2..n,... Os binários particulares são denotados por 910, 920, 930 e 940. No binário 910, x é o binário de quantização de (yn-i, yn]. No binário 920, após o processo de quantização no codificador, o valor de reconstrução de x é x', que fica no binário de quantização de (yn-i, yn], No binário 930, após o processo de remoção de artefato, o coeficiente filtrado de x é x", que fica no binário de quantização de (yn, yn+i]. En- tretanto, o coeficiente não deve ficar fora do binário de quantização original, que é (yn-i, yn], No binário 940, aplica-se o processo QCS, e se ajusta x’” igual a yn„ que é o valor recons- truído final.
Uma descrição será fornecida agora de algumas das muitas vantagens/recursos acompanhantes da presente invenção, algumas das quais foram mencionadas acima. Por exemplo, uma vantagem/recurso consiste em um aparelho que inclui um codificador para codificar uma região de imagem. O codificador tem pelo menos dois filtros para realizar de maneira sucessiva a filtragem em laço para reduzir respectivamente pelo menos um primei- ro e um segundo tipo de artefato de quantização. Outra vantagem/recurso consiste no apa- relho que tem o codificador que, por sua vez, tem pelo menos dois filtros, conforme descrito acima, sendo que pelo menos um dos dois filtros é usado para forçar pelo menos uma res- trição de compressão.
Ainda outra vantagem/recurso consiste no aparelho que tem o codificador que, por sua vez, tem pelo menos dois filtros, sendo que pelo menos um dos dois filtros é usado para forçar pelo menos uma restrição de compressão, conforme descrito acima, sendo que pelo menos uma restrição de compressão envolve um conjunto de restrição de quantização.
Ainda outra vantagem/recurso consiste no aparelho que tem o codificador que, por sua vez, tem pelo menos dois filtros, sendo que pelo menos um dos dois filtros é usado para forçar pelo menos uma restrição de compressão, conforme descrito acima, sendo que pelo menos uma entre a, informação de capacitação ou informação de incapacitação para pelo menos uma restrição de compressão e informação lateral que corresponde à região de ima- gem para indicar de maneira adaptável os parâmetros de pelo menos uma restrição de compressão, é sinalizada usando pelo menos um elemento de sintaxe de alto nível e um pelo menos um elemento de sintaxe de nível de bloco. Além disso, outra vantagem/recurso consiste no aparelho que tem o codificador que, por sua vez, tem pelo menos dois filtros, sendo que pelo menos um dos dois filtros é usado para forçar pelo menos uma restrição de compressão, conforme descrito acima, sendo que os parâmetros de pelo menos uma restri- ção de compressão são indicados de maneira adaptável com base, pelo menos em parte, em menos uma das características de dados e estatísticas de dados que correspondem à região de imagem.
Ademais, outra vantagem/recurso consiste no aparelho que tem o codificador que, por sua vez, tem pelo menos dois filtros, conforme descrito acima, sendo que pelo menos um dos dois filtros inclui a filtro para remoção de blocos, um filtro de remoção de anel, um filtro de remoção de ruído, um filtro de avaliação de sinal, um filtro linear e um filtro não line- ar.
Também, outra vantagem/recurso consiste no aparelho que tem o codificador que, por sua vez, tem pelo menos dois filtros, conforme descrito acima, sendo que um número, um tipo e uma ordem total de implementações de pelo menos dois filtros é dinamicamente selecionável. Adicionalmente, outra vantagem/recurso consiste no aparelho que tem o codi- ficador que, por sua vez, tem pelo menos dois filtros, conforme descrito acima, sendo que pelo menos um dos dois ou mais filtros é capacitado ou incapacitado de maneira adaptável
dependendo de pelo menos uma das características de dados e estatísticas de dados que correspondem à região de imagem.
Além disso, outra vantagem/recurso consiste no aparelho que tem o codificador que, por sua vez, tem pelo menos dois filtros, conforme descrito acima, sendo que a infor- mação de capacitação ou incapacitação para pelo menos um dos dois ou mais filtros é sina- lizado usando pelo menos uma entre um elemento de sintaxe de alto nível e pelo menos um elemento de sintaxe de nível de bloco.
Ademais, outra vantagem/recurso consiste no aparelho que tem o codificador que, por sua vez, tem pelo menos dois filtros, conforme descrito acima, sendo que o codificador transmite informação lateral que corresponde à região de imagem para indicar de maneira adaptável os parâmetros de pelo menos um dos dois ou mais filtros, sendo que a informa- ção lateral é transmitida em pelo menos um entre um nível de macrobloco, um nível de fatia, um nível de imagem e um nível de sequência.
Também, outra vantagem/recurso consiste no aparelho que tem o codificador que transmite informação lateral, conforme descrito acima, sendo que os parâmetros de pelo menos um dos dois ou mais filtros são ajustados com base, pelo menos em parte, em pelo menos uma das características de dados e estatísticas de dados que correspondem à regi- ão de imagem.
De maneira adicional, outra vantagem/recurso consiste no aparelho que tem o codi- ficador que, por sua vez, tem pelo menos dois filtros, conforme descrito acima, sendo que dois ou mais filtros são incluídos em um filtro de duas passagens, o filtro de duas passagens tem um filtro para remoção de blocos para realizar uma primeira passagem para reduzir ar- tefatos de bloco como o primeiro tipo de artefato de quantização e um filtro de remoção de ruído esparso para realizar uma segunda passagem para reduzir ruído como o segundo tipo de artefato de quantização.
Além disso, outra vantagem/recurso consiste no aparelho que tem o codificador que, por sua vez, tem pelo menos dois filtros, sendo que dois ou mais filtros são incluídos em um filtro de duas passagens, conforme descrito acima, sendo que o codificador força um conjunto de restrição de quantização subsequente à segunda passagem.
Ademais, outra vantagem/recurso consiste no aparelho que tem o codificador em que dois ou mais filtros são incluídos em um filtro de duas passagens, conforme descrito acima, sendo que o codificador sinaliza um método de retirada de processo de restrição de quantização que usa pelo menos um entre pelo menos um elemento de sintaxe de alto nível e pelo menos um elemento sintaxe de nível de bloco.
Também, outra vantagem/recurso consiste no aparelho que tem o codificador em que dois ou mais filtros são incluídos em um filtro de duas passagens, conforme descrito acima, sendo que o codificador sinaliza pelo menos um entre um tipo de transformada, um limítrofe e um método de ponderação para o filtro de remoção de ruído esparso em pelo menos um entre pelo menos um elemento de sintaxe de alto nível e pelo menos um nível de bloco, elemento de sintaxe.
De maneira adicional, outra vantagem/recurso consiste no aparelho que tem o codi- ficador que, por sua vez, tem pelo menos dois filtros, conforme descrito acima, sendo que pelo menos dois filtros são filtros em laço que correspondem à codificação da região de imagem e sendo que uma versão da região de imagem que é exibida é diferente de pelo menos um sinal de saída que corresponde à região de imagem após pelo menos dois filtros em laço e o sinal de entrada inicial que corresponde à região de imagem antes de pelo me- nos dois filtros em laço.
Estes e outros recursos e vantagens dos presentes princípios podem ser pronta- mente verificados por alguém versado na técnica pertinente com base nos ensinamentos do presente documento. Deve-se entender que os ensinamentos dos presentes princípios po- dem ser implementados em diversas formas de hardware, software, firmware, processado- res de propósito especial ou combinações dos mesmos.
Mais preferencialmente, os ensinamentos dos presentes princípios são implemen- tados como uma combinação de hardware e software. Além disso, o software pode ser im- plementado como um programa de aplicação tangível, incorporado em uma unidade de ar- mazenamento de programa. O programa de aplicação pode ser transferido para e executa- dos por uma máquina que compreende qualquer arquitetura adequada. De preferência, a máquina é implementada em uma plataforma de computador que tem hardware, tais como uma ou mais unidades de processamento central ("CPU"), uma memória de acesso aleatório ("RAM") e interfaces de entrada/saída ("I/O"). A plataforma de computador também pode incluir um sistema de operação e código de microinstrução. Os diversos processos e fun- ções descritos no presente documento podem ser parte do código de microinstrução ou par- te do programa de aplicação ou qualquer combinação destes, que podem ser executados por uma CPU. Além disso, diversas outras unidades periféricas podem ser conectadas à plataforma de computador, tal como uma unidade de armazenamento adicional e uma unidade de impressão.
Deve-se entender adicionalmente que, devido a alguns dos componentes de sistema constituinte e métodos mostrados nos desenhos em anexo serem preferencial mente 5 implementados em software, as conexões reais entre os componentes de sistema ou blocos de função de processo podem se diferenciar dependendo da maneira na qual os presentes princípios são programados. Dados os ensinamentos do presente documento, alguém versado na técnica pertinente será capaz de contemplar estas implementações ou configurações e similares dos presentes princípios.
Embora as modalidades ilustrativas tenham sido descritas no presente documento com referência aos desenhos em anexo, deve-se entender que os presentes princípios não se limitam àquelas modalidades precisas e que diversas alterações e modificações podem ser efetuadas nos mesmos por alguém versado na técnica pertinente sem sair do escopo ou espírito dos presentes princípios. Todas as tais alterações e modificações têm a intenção de 15 serem incluídas dentro do escopo dos presentes princípios, conforme estabelecido nas reivindicações em anexo.