Relatório Descritivo da Patente de Invenção para "MÉTODO E APARELHO DE REMOÇÃO DE DISTORÇÃO DE CODIFICAÇÃO E MÉTODO PARA CODIFICAR UMA IMAGEM".
CAMPO DA TÉCNICA
[001] A presente invenção se relaciona a um método de remoção de distorção de codificação para a remoção de distorção de codificação que ocorre quando codificando um sinal de vídeo, um método de codificação e um método de decodificação para aumentar a taxa de compressão utilizando este método de remoção de distorção de codificação, e a um meio de gravação de dados para armazenar um programa para implementar estes métodos em um software.
TÉCNICA ANTERIOR
[002] Através dos avanços nas tecnologias digitais que combinam múltiplos fluxos de áudio, de vídeo, e de outros tipos de fluxos de pixels em um único fluxo de transmissão, as mídias de informações convencionais, isto é, os meios de comunicação de informações para as pessoas tais como os jornais, as revistas, a televisão, o rádio, e o telefone, podem agora ser utilizados para a comunicação de multimídia. "Multimídia" geralmente se refere a texto, gráfico, áudio e vídeo ligados juntos em um único fluxo de transmissão, mas a mídia de informação convencional precisa ser primeiramente digitalizada antes que as informações possam ser manipuladas em um formato de multimídia.
[003] A capacidade de armazenamento necessária estimada para armazenar as informações carregadas por uma mídia de informações convencional quando convertidas em dados digitais é de somente 1 ou 2 bytes por caractere de texto, mas de 64 kbits por um segundo de áudio de qualidade de telefone, e 100 Mbits por um segundo de vídeo na qualidade de receptor de televisão atual. Não é portanto prático manipular estas quantidades massivas de informações em forma digi- tal na mídia de informações acima. Por exemplo, o serviço de telefonia de vídeo está disponível sobre as linhas de ISDN (Rede Digital de Serviços Integrados) com uma velocidade de transmissão de 64 kbps a 1,5 Mbps, mas um vídeo de grau de câmera de televisão não pode ser enviado como é sobre as linhas de ISDN.
[004] A compressão de dados portanto se torna essencial. O serviço de telefonia de vídeo, por exemplo, é implementado pela utilização das técnicas de compressão internacionalmente padronizadas nas Recomendações H.261 e H.263 da ITU-T (International Telecommunication Union, Telecommunication Standardization Sector). Utilizando os métodos de compressão de dados definidos em MPEG-1, as informações de vídeo podem ser gravadas com áudio em um CD (Disco Compacto) de áudio.
[005] O MPEG (Moving Picture Experts Group) é um padrão internacional para comprimir digitalmente os sinais de figuras móveis (vídeo). O MPEG-1 permite a compressão de um sinal de vídeo de 1,5 Mbps, isto é, comprimir as informações em um sinal de televisão em aproximadamente 100:1. Mais ainda, como a velocidade de transmissão para o vídeo em MPEG-1 está limitada em aproximadamente 1,5 Mbps, o MPEG-2, o qual foi padronizado para atender a demanda de uma qualidade de figura ainda maior, permite comprimir um sinal de imagem móvel de 2 Mbps a 15 Mbps.
[006] O MPEG-4 com uma taxa de compressão ainda maior foi também padronizado pelo grupo de trabalho (ISO/IEC JTC1/SC29/WG11) que avançou a padronização do MPEG-1 e do MPEG-2. O MPEG-4 não somente permite uma codificação de baixa taxa de bits, de alta eficiência, mas este também introduz uma tecnologia de resistência ao erro poderosa capaz de reduzir a degradação de imagem subjetiva mesmo quando erros de percurso de transmissão ocorrem. A ITU-T está também trabalhando na Recomendação de Pa- dronização H.26L como um método de codificação de figuras da próxima geração.
[007] Ao contrário das técnicas de codificação de vídeo convencionais, a H.26L utiliza um método de remoção de distorção de codificação acompanhado por um processamento complexo para remover a distorção de codificação. Os métodos de codificação de bloco unitário que utiliza as transformadas ortogonais tais como as técnicas de DCT amplamente utilizadas na codificação de vídeo são conhecidas estarem sujeitas a uma distorção como grade conhecida como distorção de bloco nos limites do bloco de codificação. Como a perda de qualidade de imagem em componentes de baixa freqüência é mais conspí-cua do que a perda de qualidade de imagem nos componentes da alta freqüência, os componentes de baixa freqüência são codificados mais fielmente do que os componentes de alta freqüência na codificação de unidade de bloco. Mais ainda, como as imagens naturais capturadas com uma câmera, por exemplo, contém mais componentes de baixa freqüência do que componentes de alta freqüência, os blocos de codificação contém mais componentes de baixa freqüência do que componentes de alta freqüência. Os blocos de codificação portanto tendem a não ter substancialmente nenhum componente de alta freqüência e os pixels adjacentes em um bloco tendem a ter substancialmente o mesmo valor de pixel.
[008] Mais ainda, como a codificação é por unidade de bloco, não há certeza de que os valores de pixel serão substancialmente os mesmos no limite entre os blocos adjacentes, isto é, que os valores de pixel mudarão continuamente através do limite do bloco, mesmo se os valores de pixel forem substancialmente idênticos dentro de cada bloco. O resultado é que, como mostrado na Figura 31 que descreve o conceito da remoção da distorção de codificação, enquanto a mudança nos valores de pixel é suave e contínua na imagem fonte através do limite do bloco indicado pela linha tracejada como mostrado na Figura 31 (a), e os valores de pixel mudam continuamente dentro de cada bloco como mostrado na Figura 31 (b) após a imagem fonte ser codificada por unidade de bloco, a distorção do bloco, isto é, uma descontinuida-de nos valores de pixel somente no limite do bloco, ocorre. A distorção do bloco é assim um problema de qualidade de imagem significativo que resulta da codificação de imagem, mas pode ser reduzida pela correção dos valores de pixel para serem contínuos através do limite do bloco, como mostrado na Figura 31 (c). Este processo de redução da distorção do bloco é chamado de remoção de distorção de codificação (também referido como "deblocagem").
[009] Quando a deblocagem é aplicad no estágio de decodifica-ção de vídeo, o filtro de deblocagem pode ser utilizado como um pós-filtro como mostrado no diagrama de blocos de um decodificador de vídeo que utiliza um método de decodificação convencional na Figura 32, ou este pode ser utilizado como um filtro dentro do laço como mostrado no diagrama de blocos de um decodificador de vídeo que utiliza um método de decodificação convencional na Figura 33. As configurações mostradas nestes diagramas de blocos estão descritas abaixo.
[0010] No diagrama de blocos de um decodificador de vídeo que utiliza um método de decodificação convencional mostrado na Figura 32, um decodificador de comprimento variável 52 decodifica de comprimento variável um sinal codificado Str e emite um componente de código de freqüência DCoef. Uma unidade de varredura de des-ziguezague 54 rearranja os componentes de freqüência do componente de código de freqüência Dcoef, em blocos bidimensionais, e emite um componente de freqüência FCoef, os componentes de freqüência da unidade de bloco. A unidade transformada de co-seno inversa 56 aplica as operações de dequantificação e DCT inversa no componente de freqüência FCoef, e emite uma imagem de diferença DifCoef.
[0011] Um compensador de movimento 60 emite o pixel na posição indicada pelo vetor de movimento MV externamente inserido da imagem de referência Ref acumulada na memória 64 como uma imagem compensada de movimento MCpel. Um adicionador 58 adiciona a imagem de diferença DifCoef e a imagem compensada de movimento MCpel para emitir uma imagem reconstruída Coef. O filtro de debloca-gem 62 aplica a remoção de distorção de codificação na imagem reconstruída Coef, e emite um sinal de imagem decodificado Vout. A imagem reconstruída Coef está armazenada na memória 64, e utilizada como a imagem de referência Ref para a próxima decodificação de imagem.
[0012] O diagrama de blocos na Figura 33 de um decodificador que utiliza um método de decodificação convencional é substancialmente idêntico ao diagrama de blocos do decodificador de vídeo mostrado na Figura 32, mas difere na localização do filtro de deblocagem 62. Como será conhecido da Figura 33 a saída do sinal de imagem decodificado Vout do filtro de deblocagem 62 está armazenada na memória 64.
[0013] O diagrama de blocos na Figura 32 de um decodificador de vídeo que utiliza um método de decodificação convencional mostra a configuração e o método utilizados no MPEG-1, no MPEG-2, no MPEG-4, e no H.263. O diagrama de blocos na Figura 33 de um decodificador de vídeo que utiliza um método de decodificação convencional mostra a configuração e o método utilizados no H.261 e no H.26L TML8.
[0014] Com o diagrama de blocos na Figura 32 de um decodificador de vídeo que utiliza um método de decodificação convencional a imagem reconstruída Coef armazenada na memória 64 não é dependente do método aplicado pelo filtro de deblocagem 62. Isto permite o desenvolvimento e a implementação de vários tipos de filtros de de- blocagem 62, incluindo os filtros complexos porém de alto desempenho assim como os filtros simples com relativamente pouco efeito de acordo com o desempenho do hardware disponível e da aplicação específica. A vantagem é que um filtro de deblocagem 62 apropriado para o dispositivo pode ser utilizado.
[0015] Com o diagrama de blocos da Figura 33 de um decodifica-dor de vídeo que utiliza um método de decodificação convencional o sinal de imagem decodificado Vout armazenado na memória 64 é dependente do método empregado pelo filtro de deblocagem 62. O problema aqui é que o filtro não pode ser mudado para um apropriado ao hardware ou à aplicação, mas a vantagem é que o mesmo nível de remoção de distorção de codificação pode ser assegurado para cada dispositivo.
[0016] A Figura 34 é um diagrama de blocos de uma unidade de remoção de distorção de codificação que utiliza o método de remoção de distorção de codificação convencional. A Figura 34 mostra a configuração do filtro de deblocagem 62 na Figura 32 e na Figura 33 em detalhes. Para remover eficientemente somente a distorção de codificação de um sinal de imagem que contém uma distorção de codificação, é importante determinar a quantidade e a tendência de distorção de codificação no sinal de imagem e então aplicar uma filtragem apropriada de modo a não degradar o sinal de imagem real.
[0017] Como os componentes de alta freqüência são responsáveis por grande parte da distorção de codificação, o conceito geral por trás da remoção de distorção de codificação é de examinar o sinal de imagem para determinar a razão de componentes de alta freqüência no sinal de imagem, identificar os componentes de alta freqüência nos pixels do sinal de imagem normalmente imaginados não conterem um componente de alta freqüência como uma distorção de codificação, e aplicar um filtro de supressão de componente de alta freqüência na distorção de codificação. Isto é possível porque a correlação entre os pixels adjacentes em um sinal de imagem é alta, os pixels que contém um componente de alta frequência estão concentrados nas áreas de borda, e os componentes de alta frequência dispersos podem ser considerados serem uma distorção de codificação, [0018] O filtro de deblocagem 62 foi criado pelos inventores da presente invenção com base no conteúdo encontrado na Recomendação da ITU-T H.26L TML8.
[0019] O controlador de contagem de pixels filtrados 84 utiliza a imagem reconstruída Coef para determinar as posições do pixels que contêm uma distorção de codificação, e emite uma contagem de pixels filtrados FtrPel. O controlador de coeficiente de filtro 86 utiliza a contagem de pixels filtrados FtrPel e a imagem reconstruída Coef para determinar o coeficiente do filtro (incluindo o número de derivações do filtro) apropriado para remover a distorção de codificação dos pixels indicados, e emite o coeficiente de filtro FtrTap. O processador de filtro 88 aplica a filtragem para remover a distorção de codificação da imagem reconstruída Coef utilizando o coeficiente de filtro indicado pelo coeficiente de filtro FtrTap, e emite um sinal de imagem decodificado Vout.
DESCRIÇÃO DA INVENÇÃO
[0020] Os métodos de remoção de distorção de codificação convencionais descritos acima são partícularmente eficientes na remoção de distorção de codificação, mais o processo é extremamente complexo e a implementação é difícil, [0021] Um problema adicional é que a quantidade de dados processados por unidade de tempo é alta.
[0022] Mais ainda, não importa quão efetivo seja o método de remoção de distorção de codificação, é impossível distinguir precisamente os sinais de imagem e a distorção de codificação sem outras infor- mações adicionais, e existe, portanto, a possibilidade de que a remoção da distorção de codificação degradará a qualidade de imagem. Este problema é particularmente grande com uma configuração como mostrada no diagrama de blocos da Figura 33 de um decodificador de vídeo que utiliza um método de decodificação convencional porque o resultado do deblocagem é utilizado como uma imagem de referência e portanto afeta o resultado de codificação de cada figura subseqüen-te.
[0023] Um objeto da presente invenção é portanto fornecer um método de remoção de distorção de codificação simples.
[0024] Um objeto adicional é de fornecer um método de remoção de distorção de codificação, um método de codificação, e um método de decodificação por meio de que a probabilidade da degradação da qualidade do sinal de imagem pode ser reduzida pela aplicação de remoção de distorção de codificação de alto desempenho com menos possibilidade de degradação da qualidade do sinal de imagem como um resultado da remoção de distorção de codificação do que a técnica anterior.
[0025] Para conseguir este objeto, um método de remoção de distorção de codificação de acordo com a presente invenção para a remoção de distorção de codificação de uma figura utiliza diferentes métodos para remover a distorção de codificação nos limites onde o limite da unidade de compensação de movimento corresponde à correspondência de limite de unidade de codificação, e o limite que depende se o limite é um limite de bloco de compensação de movimento ou não, quando o tamanho do bloco de compensação de movimento é maior do que o tamanho do bloco de codificação.
[0026] Como a distorção de codificação no limite da unidade de compensação de movimento difere quantitativamente da distorção de codificação no limite da unidade de codificação, a distorção de codifi- cação pode ser eficientemente removida de um sinal de imagem que contém uma distorção de codificação pela mudança do filtro utilizado para a deblocagem de acordo com a unidade.
[0027] Mais ainda, quando o erro de compensação de movimento codificado é 0, a distorção de codificação é preferivelmente removida somente no limite do bloco de compensação de movimento.
[0028] Um aspecto adicional da invenção é um método de remoção de distorção de codificação para remover a distorção de codificação de uma figura por meio de uma etapa para extrair os parâmetros da figura de uma figura que contém a distorção de codificação; uma primeira etapa para identificar os pixels para a remoção de distorção de codificação utilizando os parâmetros da figura; uma segunda etapa para identificar o método para a remoção de distorção de codificação utilizando os parâmetros da figura; e uma terceira etapa para remover a distorção de codificação dos pixels identificados pela primeira etapa utilizando o método de remoção de distorção de codificação identificado pela segunda etapa.
[0029] Primeiramente computando os parâmetros da figura que podem ser utilizados tanto na primeira etapa identificando os pixels dos quais a distorção de codificação é removida quanto na segunda etapa identificando o método utilizado para remover a distorção de codificação, as operações executadas pela primeira etapa e pela segunda etapa podem ser simplificadas utilizando estes parâmetros da figura comuns, e o processamento pelo método de remoção de distorção de codificação pode ser reduzido sem a degradação da qualidade de imagem.
[0030] Um aspecto adicional da invenção é um método de remoção de distorção de codificação para remover a distorção de codificação de uma figura por meio de que os pixels a serem processados para a remoção de distorção de codificação são identificados por deter- minação com base em bloco se remover a distorção de codificação por unidade de bloco, e então uma determinação com base em pixel se remover a distorção de codificação de cada pixel nos blocos determinados a serem removidos pela determinação com base em bloco.
[0031] Assim primeiramente determinando por unidade de bloco se a remoção de distorção de codificação é necessária, a avaliação por unidade de pixel pode ser omitida naqueles blocos que não precisam de deblocagem, e o processamento executado pelo método de remoção de distorção de codificação pode ser reduzido. Os blocos que não precisam de deblocagem (tais como os blocos de imagem parada onde os pixels correspondem perfeitamente à imagem de referência) podem ser facilmente determinados se as informações de codificação de imagem forem utilizadas.
[0032] Ainda um aspecto adicional da invenção é um método de remoção de distorção de codificação para remover a distorção de codificação em uma área disposta sobre ambos os lados de um limite de bloco entre um primeiro bloco e um segundo bloco adjacente em uma figura que tem uma pluralidade de blocos que formam uma imagem de figura móvel. Este método tem uma etapa de comparação para comparar uma diferença de valores de pixel do primeiro bloco e os valores de pixel nos pixels do segundo bloco, e um parâmetro, que corresponde à média de um parâmetro de quantificação para o primeiro bloco e um parâmetro de quantificação para o segundo bloco, para determinar o método para a remoção de distorção de codificação, e uma etapa de remoção para remover a distorção de codificação com base no resultado da etapa de comparação.
[0033] Isto permite que a média dos parâmetros de quantificação para os blocos adjacentes seja utilizada quando filtrando ambos os lados do limite do bloco em um processo de remoção de distorção de codificação no limite do bloco entre os diferentes parâmetros de quan- tifi cação.
[0034] Outro método de remoção de distorção de codificação para remover a distorção de codificação em uma área disposta sobre ambos os lados de uma linha limite entre um primeiro bloco e um segundo bloco adjacente em uma figura que tem uma pluralidade de blocos que formam uma imagem de figura móvel tem uma etapa de decodifi-cação para decodificar um parâmetro para determinar um valor limite quando removendo a distorção de codificação; uma etapa de comparação para comparar uma diferença de valores de pixel em pixels do primeiro bloco e valores de pixel em pixels do segundo bloco, e um valor limite específico com base no parâmetro decodificado; e uma etapa de remoção para trocar o método para remover a distorção de codificação com base no resultado da etapa de comparação.
[0035] A distorção de codificação pode assim ser eficientemente removida de um sinal de imagem que contém distorção de codificação primeiramente sobrepondo a cada sinal codificado um parâmetro de valor limite utilizado para a remoção de distorção de codificação, e então antes da remoção de distorção de codificação detectar o valor limite apropriado para cada sinal codificado e utilizá-lo para remover a distorção de codificação.
[0036] Ainda preferivelmente, a figura móvel contém uma fatia composta de blocos plurais; e o parâmetro está armazenado nas informações de cabeçalho de fatia em um fluxo de código obtido pela codificação dos dados de imagem para a figura móvel.
[0037] Um aspecto adicional da invenção é um aparelho de codificação de figura móvel para a codificação de figuras com referência a pelo menos uma de múltiplas imagens de referência, em que uma pluralidade de imagens codificadas obtidas pela remoção de distorção de codificação utilizando os método plurais são as imagens de referência.
[0038] Pela utilização das imagens plurais deblocadas por pelo menos dois métodos como imagens de referência e seqüencialmente selecionando aquela apropriada para referência, a figura obtida pela remoção eficiente da distorção de codificação de um sinal de imagem que contém a distorção de codificação pode ser utilizada como a imagem de referência, e o sinal codificado pode ser corretamente decodificado.
[0039] Ainda preferivelmente, o primeiro método dos métodos plurais é um método que não remove a distorção de codificação na figura decodificada, e o segundo método é um método que remove a distorção de codificação na figura codificada.
[0040] Um aspecto adicional da invenção é um aparelho decodifi-cador de figura em movimento para decodificar com referência a pelo menos uma das imagens de múltiplas referências, sendo que uma pluralidade de imagens decodificadas, obtidas pela remoção de distorção de codificação usando diversos métodos, são as imagens de referência.
[0041] Usando-se diversas imagens deblocadas por pelo menos dois métodos como imagens de referência e seqüencialmente selecionando-se aquelas apropriadas para referência, a figura obtida pela remoção eficiente de distorção de codificação a partir de um sinal de imagem contendo distorção de codificação pode ser usada como a imagem de referência, e o sinal codificado pode ser decodificado corrigido.
[0042] Ainda preferivelmente, o primeiro método dos diversos métodos é um método que não remove distorção de codificação na figura decodificada, e o segundo método é um método que remove distorção de codificação na imagem decodificada.
[0043] Um aspecto adicional da invenção é um método de remoção de distorção de codificação para remover a distorção de codificação em uma figura interlaçada composta de pixels de linhas ímpares e pixels de linhas pares. Este método tem uma etapa de avaliação para determinar se uma figura é uma figura que contém blocos de estrutura de quadro que tem um número específico de pixels de linhas ímpares e um número específico de pixels de linhas pares, uma figura que contém blocos de uma estrutura de campo compostos de um número específico de pixels de linhas ímpares, ou uma figura que contém blocos de outra estrutura de campo compostos de um número específico de pixels de linhas pares; e uma etapa de remoção para remover a distorção de codificação entre os blocos de estrutura de quadro adjacentes quando o bloco alvo para a remoção de distorção de codificação é um bloco em uma figura na qual todos os blocos são blocos de estrutura de quadro, e remover a distorção de codificação entre os blocos de estrutura de campo adjacentes quando o bloco alvo para a remoção de distorção de codificação é um bloco em uma figura na qual todos os blocos são blocos de estrutura de campo.
[0044] O processamento dos blocos para a remoção de distorção de codificação pode assim ser mudado com base se os blocos estão em blocos de estrutura de figura ou de quadro ou em blocos de estrutura de figura e de campo.
[0045] Preferivelmente, se o bloco alvo para a remoção de distorção de codificação for um bloco de uma figura que contém blocos de estrutura de quadro e blocos de estrutura de campo, o método de remoção de distorção de codificação também tem uma etapa de conversão para converter um bloco de estrutura de campo em um bloco de estrutura de quadro; uma etapa de comparação para comparar uma diferença de valores de pixel em pixels do bloco de estrutura de campo e de valores de pixel em pixels do bloco convertido com um valor limite específico; e uma etapa de remoção para a remoção de distorção de codificação com base no resultado da etapa de comparação.
[0046] Em um método de remoção de distorção de codificação adicional para remover a distorção de codificação em uma área disposta sobre ambos os lados de uma linha limite entre um primeiro bloco e um segundo bloco adjacente em uma figura que tem uma pluralidade de blocos que formam uma imagem de figura móvel, os primeiros blocos são blocos de estrutura de quadro que tem um número específico de pixels de linhas ímpares e um número específico de pixels de linhas pares em uma figura interlaçada composta de pixels de linhas ímpares e de pixels de linhas pares, e os segundos blocos são blocos de estrutura de campo que tem um campo composto de um número específico de pixels de linhas ímpares em uma figura interlaçada composta de pixels de linhas ímpares e de pixels de linhas pares, e um outro campo composto de um número específico de pixels de linhas pares em uma figura interlaçada composta de pixels de linhas ímpares e de pixels de linhas pares. O método de remoção de distorção de codificação tem uma etapa de conversão para converter um primeiro bloco de estrutura de quadro em um bloco de estrutura de campo; uma etapa de comparação para comparar uma diferença de valores de pixel em pixels do segundo bloco de estrutura de campo e os valores de pixel em pixels do bloco convertido com um valor limite específico; e uma etapa de remoção para remover a distorção de codificação com base no resultado da etapa de comparação.
[0047] Quando os blocos de estrutura de campo e os blocos de estrutura de quadro estão adjacentes, os blocos alvo para a remoção de distorção de codificação podem assim ser adaptavelmente processados.
[0048] Preferivelmente, a conversão dos primeiros blocos de estrutura de quadro em blocos de estrutura de campo muda por unidade ou unidades de macrobloco de dois macroblocos verticalmente adjacentes.
[0049] Ainda preferivelmente, os segundos blocos de estrutura de campo não são convertidos em blocos de estrutura de quadro.
[0050] Em um método de remoção de distorção de codificação adicional para remover a distorção de codificação em uma área disposta sobre ambos os lados de uma linha limite entre um primeiro bloco e um segundo bloco adjacente em uma figura que tem uma pluralidade de blocos que formam uma imagem de figura móvel, os primeiros blocos são blocos de estrutura de quadro que tem um número específico de pixels de linhas ímpares e um número específico de pixels de linhas pares em uma figura interlaçada composta de pixels de linhas ímpares e de pixels de linhas pares, e os segundos blocos são blocos de estrutura de campo que tem um campo composto de um número específico de pixels de linhas ímpares em uma figura interlaçada composta de pixels de linhas ímpares e de pixels de linhas pares, e um outro campo composto de um número específico de pixels de linhas pares em uma figura interlaçada composta de pixels de linhas ímpares e de pixels de linhas pares. O método de remoção de distorção de codificação tem uma etapa de avaliação para determinar se o bloco alvo para a remoção de distorção de codificação é um bloco de estrutura de quadro ou um bloco de estrutura de campo; uma etapa de conversão para converter um primeiro bloco de estrutura de quadro em um bloco de estrutura de campo quando o bloco alvo é um segundo bloco de estrutura de campo, e converter o segundo bloco de estrutura de campo em um bloco de estrutura de quadro quando o bloco alvo é um primeiro bloco de estrutura de quadro; uma etapa de comparação para comparar os valores de pixel em pixels do bloco alvo com um valor limite específico; e uma etapa de remoção para remover a distorção de codificação com base no resultado da etapa de comparação.
[0051] Quando os blocos de estrutura de campo e os blocos de estrutura de quadro estão adjacentes, os blocos alvo para a remoção de distorção de codificação podem assim ser adaptavelmente proces- sados.
[0052] Preferivelmente, a conversão na etapa de conversão de um bloco de estrutura de quadro em bloco de estrutura de campo produz um campo após a conversão de pixels de linhas ímpares no bloco de estrutura de quadro, e produz o outro campo após a conversão de pixels de linhas pares no bloco de estrutura de quadro; e a comparação da diferença e do valor limite na etapa de comparação compara os valores de pixel em pixels em um campo do segundo bloco e os valores de pixel em pixels em um campo do primeiro bloco após a conversão, ou compara os valores de pixel em pixels do outro campo no segundo bloco e os valores de pixel em pixels do outro campo no primeiro bloco após a conversão.
[0053] Em um método de remoção de distorção de codificação adicional para remover a distorção de codificação em uma área disposta sobre ambos os lados de uma linha limite entre um primeiro bloco e um segundo bloco adjacente em uma figura que tem uma pluralidade de blocos que formam uma imagem de figura móvel, os primeiros blocos são blocos de estrutura de quadro que tem um número específico de pixels de linhas ímpares e um número específico de pixels de linhas pares em uma figura interlaçada composta de pixels de linhas ímpares e de pixels de linhas pares, e os segundos blocos são blocos de estrutura de campo que tem um campo composto de um número específico de pixels de linhas ímpares em uma figura interlaçada composta de pixels de linhas ímpares e de pixels de linhas pares, e um outro campo composto de um número específico de pixels de linhas pares em uma figura interlaçada composta de pixels de linhas ímpares e de pixels de linhas pares. O método de remoção de distorção de codificação tem uma etapa de conversão para converter um segundo bloco de estrutura de campo em um bloco de estrutura de quadro; uma etapa de comparação para comparar uma diferença de valores de pixel em pixels do primeiro bloco de estrutura de quadro e os valores de pixel em pixels do bloco convertido com um valor limite específico; e uma etapa de remoção para remover a distorção de codificação com base no resultado da etapa de comparação.
[0054] Quando os blocos de estrutura de campo e os blocos de estrutura de quadro estão adjacentes, os blocos alvo para a remoção de distorção de codificação podem assim ser adaptavelmente processados.
[0055] Ainda preferivelmente, a conversão dos segundos blocos de estrutura de campo em blocos de estrutura de quadro muda por unidade ou unidades de macrobloco de dois macroblocos verticalmente adjacentes.
[0056] Ainda preferivelmente, os segundos blocos de estrutura de campo não são convertidos em blocos de estrutura de quadro.
[0057] Ainda preferivelmente, a conversão na etapa de conversão de bloco de estrutura de campo em bloco de estrutura de quadro produz uma quadro convertido de pixels em um bloco de um campo e pixels em um bloco do outro campo, e compara os valores de pixel em pixels de linhas ímpares no primeiro bloco com os valores de pixel em pixels de linhas ímpares no segundo bloco após a conversão, ou compara os valores de pixel em pixels de linhas pares no primeiro bloco com os valores de pixel em pixels de linhas pares no segundo bloco após a conversão.
[0058] Ainda preferivelmente, a etapa de comparação compara a diferença e o valor limite por grupos de pixels plurais alinhados em linha em uma mesma direção como a linha limite em posições simétricas à linha limite.
[0059] Isto permite que a distorção de codificação seja removida em grupos de pixels plurais.
[0060] Ainda um aspecto adicional da presente invenção é um aparelho de codificação de figuras que tem uma unidade de decodifi-cação para a decodificação de uma figura de diferença codificada e emitir a figura de diferença; uma unidade de compensação de movimento para emitir uma figura compensada de movimento de uma imagem de referência; um adicionador para adicionar a figura de diferença e a figura compensada de movimento, e emitir a figura mesclada; uma unidade de remoção de distorção de codificação para remover a distorção de codificação na figura mesclada e emitir uma figura reconstruída; e uma memória para armazenar a figura reconstruída como a imagem de referência. A unidade de remoção de distorção de codificação remove a distorção de codificação por meio de qualquer um dos métodos da invenção acima descritos.
[0061] Um aspecto adicional da presente invenção é um programa para remover a distorção de codificação de uma figura por meio de qualquer um dos métodos da invenção acima descritos.
[0062] Um aspecto adicional da invenção é um programa para a codificação de figuras que utiliza uma unidade de decodificação para a decodificação de uma figura de diferença codificada e emitir a figura de diferença; uma unidade de compensação de movimento para emitir uma figura compensada de movimento de uma imagem de referência; um adicionador para adicionar a figura de diferença e a figura compensada de movimento, e emitir a figura mesclada; uma unidade de remoção de distorção de codificação para remover a distorção de codificação na figura mesclada e emitir uma figura reconstruída; e uma memória para armazenar a figura reconstruída como a imagem de referência. A unidade de remoção de distorção de codificação remove a distorção de codificação por meio de qualquer um dos métodos da invenção acima descritos.
[0063] Outros objetos e realizações juntamente com uma compreensão mais completa da invenção ficarão aparentes e apreciados pela referência à descrição seguinte e ãs reivindicações tomadas em conjunto com os desenhos acompanhantes.
BREVE DESCRIÇÃO DOS DESENHOS
[0064] Figura 1 é um diagrama de blocos de um aparelho de de-coditicação de vídeo que utiliza um método de decodificaçâo de acordo com a presente invenção;
Figura 2 é um diagrama de blocos de uma unidade de remoção de distorção de codificação que utiliza um método de remoção de distorção de codificação de acordo com uma primeira modalidade da presente invenção;
Figuras 3(a), 3(b), 3(c), 3(d), 3(e), 3(f) e 3(g) mostram um exemplo de um tamanho de bloco de compensação de movimento;
Figura 4 é um gráfico de fluxo de um método de remoção de distorção de codificação de acordo com uma segunda modalidade da presente invenção;
Figura 5 mostra a correlação entre o parâmetro de quantificação QP e os parâmetros de remoção de distorção de codificação em uma segunda modalidade da presente invenção;
Figura 6 é um gráfico de fluxo para determinar o número de pixels para filtrar em um método de remoção de distorção de codificação de acordo com uma segunda modalidade da presente invenção;
Figura 7 é um gráfico de fluxo para determinar o coeficiente de filtro em um método de remoção de distorção de codificação de acordo com uma segunda modalidade da presente invenção.
Figuras 8{a) e 8(b) são um diagrama de blocos de uma unidade de remoção de distorção de codificação que utiliza o método de remoção de distorção de codificação de acordo com uma segunda modalidade da presente invenção, e um diagrama que mostra o alinhamento de pixels;
Figura 9 é um diagrama de blocos de um dispositivo de co- dificação que utiliza um método de codificação de acordo com uma terceira modalidade da presente invenção;
Figura 10 é um diagrama de blocos de um dispositivo de decodificação que utiliza um método de decodificação de acordo com uma terceira modalidade da presente invenção;
Figura 11 é um diagrama de blocos de uma unidade de remoção de distorção de codificação que utiliza um método de remoção de distorção de codificação de acordo com uma quarta modalidade da presente invenção;
Figuras 12(a), 12(b), 12(c) e 12(d) mostram uma estrutura de um sinal codificado Str em um método de remoção de distorção de codificação de acordo com uma quarta modalidade da presente invenção;
Figura 13 é um diagrama de blocos que mostra um processo de codificação de vídeo que utiliza um filtro de laço;
Figura 14 é um diagrama de blocos que mostra o local da seleção de valor limite automática em um laço de codificação de vídeo;
Figura 15 é um gráfico de fluxo que mostra um método para reunir dados para encontrar um valor limite ótimo;
Figura 16 é um gráfico de fluxo que mostra outro método para reunir dados para encontrar um valor limite ótimo;
Figura 17 é um gráfico de fluxo que mostra um método para selecionar um valor limite otimizado;
Figura 18 mostra a vizinhança de blocos que tem limites comuns para os quais a deblocagem pode ser pulada;
Figura 19 mostra um grupo que contém múltiplos pixels;
Figura 20(a) descreve uma estrutura de quadro e Figura 20(b) descreve uma estrutura de campo;
Figura 21 (a) descreve uma estrutura onde uma estrutura de quadro e uma estrutura de campo estão misturadas em uma única fi- gura, e Figura 21 (b) e Figura 21 (c) descrevem as etapas no processo de remoção de distorção de codificação no limite entre uma estrutura de campo e uma estrutura de quadro;
Figura 22 é um gráfico de fluxo de um processo de remoção de distorção de codificação utilizado quando as estruturas de quadro e de campo estão misturadas;
Figura 23 é um gráfico de fluxo para uma variação na qual as etapas de memória 64 e 67 na Figura 22 estão combinadas;
Figura 24 é um gráfico de fluxo para uma variação na qual as etapas de memória 65 e 68 na Figura 23 estão combinadas;
Figura 25 é um gráfico de fluxo de um processo utilizado quando um bloco de estrutura de quadro e um bloco de estrutura de campo estão sobre os lados opostos do limite do bloco;
Figuras 26(a), 26(b) e 26(c) descrevem um meio de gravação de acordo com uma sexta modalidade da presente invenção para armazenar um programa executável por computador que implementa os métodos de codificação de comprimento variável e de decodifica-ção de comprimento variável da primeira e da segunda modalidades da invenção;
Figura 27 é um diagrama de blocos que mostra a configuração geral de um sistema de suprimento de conteúdo;
Figura 28 mostra um telefone celular exemplar que utiliza um método de codificação de vídeo e um método de decodificação de vídeo;
Figura 29 é um diagrama de blocos de um telefone celular;
Figura 30 mostra um exemplo de um sistema de transmissão digital;
Figuras 31 (a), 31 (b) e 31 (c) mostram os diagramas de nível de sinal de pixel para descrever o conceito de um método de remoção de distorção de codificação;
Figura 32 é um diagrama de blocos de um aparelho de de-codificação de vídeo que utiliza um método de decodificação da técnica anterior;
Figura 33 é um diagrama de blocos de um aparelho de de-codificação de vídeo que utiliza um método de decodifi cação da técnica anterior; e Figura 34 é um diagrama de blocos de uma unidade de remoção de distorção de codificação que utiliza um método de remoção de distorção de codificação de acordo com a técnica anterior.
MELHOR MODO DE EXECUTAR A INVENÇÃO
[0065] As modalidades preferidas da presente invenção estão descritas abaixo com referência às figuras acompanhantes. MODALIDADE 1 [0066] No diagrama de blocos de um aparelho de decodificaçâo de vídeo que utiliza um método de decodificaçâo de vídeo, o decodifiçado r de comprimento variável 52 decodifica em comprimento variável o sinal codificado Str e emite o componente de código de frequência DCoef. A unidade de varredura de des-ziguezague 54 rearranja os componentes de freqüência do componente de código de frequência DCoef em blocos de bidimensionais, e emite o componente de freqüência FCoef, os componentes de freqüência de unidade de bloco. A unidade de transformada de co-seno inversa 56 aplica as operações de dequantificaçâo e DCT inversa no componente de freqüência FCoef, e emite uma imagem de diferença DifCoef.
[0067] Um compensador de movimento 60 emite o pixel na posição indicada pelo vetor de movimento MV externamente inserido da imagem de referência Ref acumulada na memória 64 como uma imagem compensada de movimento MCpel, e emite o tamanho do bloco de compensação de movimento MCsize que denota o tamanho do bloco de compensação de movimento. Um adicionador 58 adiciona a imagem de diferença DifCoef e a imagem compensada de movimento MCpel para emitir uma imagem reconstruída Coef.
[0068] O filtro de deblocagem 62 recebe a imagem reconstruída Coef, o tamanho do bloco de compensação de movimento MCsize, e a imagem de diferença DifCoef, aplica a remoção de distorção de codificação, e emite um sinal de imagem decodificado Vout. A imagem reconstruída Coef está armazenada na memória 64, e utilizada como a imagem de referência Ref para a próxima decodificação de imagem.
[0069] A Figura 2 é um diagrama de blocos do filtro de deblocagem 62 (também denominado de uma unidade de remoção de distorção de codificação) que utiliza um método de remoção de distorção de codificação de acordo com a presente invenção. Este filtro de deblocagem 62 foi criado pelos inventores da presente invenção com referência ao conteúdo de um filtro de deblocagem descrito na Recomendação H.26L TML8 da ITU-T.
[0070] O controlador de contagem de pixels filtrados 4 determina as posições dos pixels que contém a distorção de codificação para cada imagem reconstruída Coef, e emite a contagem de pixels filtrados FtrPel. A contagem de pixels filtrados FtrPel assim indica a posição de pixel que precisa de filtragem.
[0071] O controlador de coeficiente de filtro 6 utiliza a contagem de pixels filtrados FtrPel e a imagem reconstruída Coef para determinar o coeficiente de filtro (incluindo o número de derivações de filtro) apropriado para remover a distorção de codificação dos pixels indicados, e emite o coeficiente de filtro FtrTap.
[0072] O processador de filtro 8 aplica um processo de filtragem para remover a distorção de codificação da imagem reconstruída Coef utilizando o coeficiente de filtro indicado pelo coeficiente de filtro FtrTap, e emite um sinal de imagem decodificado Vout.
[0073] A imagem de diferença DifCoef e o tamanho do bloco de compensação de movimento MCsize são inseridos na unidade de detecção de limite de bloco de compensação de movimento 2, a qual determina se a imagem de diferença DifCoef para o bloco de processo é menor do que ou igual a um valor específico, tal como se este é 0, detecta os limites do bloco de compensação de movimento, e emite a sinalização de limite de bloco de compensação de movimento IsEdge.
[0074] A Figura 3 mostra exemplos do tamanho do bloco de compensação de movimento utilizado na Recomendação H.26L TML8 da ITU-T. Como mostrado nestes exemplos o tamanho máximo do bloco de compensação de movimento é de 16x16 pixels, o mesmo tamanho que o que é referido como um macrobloco. Os tamanhos dos blocos de compensação de movimento mostrados nas Figuras 3(a) até (g) são de 4x4, 4x8, 8x4, 8x8, 8x16, 16x8, e 16x16 pixels. Na Recomendação H.26L TML8 da ITU-T o tamanho apropriado para a unidade de macrobloco é selecionado destes sete tamanhos de blocos de compensação de movimento e utilizado para a codificação e a decodifica-ção. Deve ser notado que a codificação e a decodificação podem ser aplicadas a uma unidade apropriada de dois macroblocos verticalmente adjacentes, e uma unidade de tais macroblocos é denominada um "par de macroblocos".
[0075] A unidade utilizada para as transformadas de freqüência e a codificação na Recomendação H.26L TML8 da ITU-T é de 4x4 pixels. Esta unidade de 4x4 pixels é denominada uma "unidade de codificação". Como mostrado na Figura 3(a), cada um dos dezesseis blocos A até P é um bloco de 4x4 pixels. A unidade de codificação de 4x4 pixels corresponde ao tamanho do bloco de compensação de movimento somente no caso mostrado na Figura 3(a). Como a distorção de bloco que é particularmente visualmente disruptiva conforme a distorção de codificação ocorre no menor tamanho de unidade de codificação de 4x4 pixels, o método de remoção de distorção de codificação convencional sempre funciona sobre as unidades de 4x4 pixels.
[0076] Se a correlação entre as figuras for particularmente forte após a codificação de compensação de movimento, o erro de compensação de movimento codificado entre as figuras é 0. Como a imagem de diferença DifCoef codificada e decodificada em unidades de 4x4 pixels é também 0 neste caso, as descontinuidades nos valores de pixel que resultam da distorção de codificação durante a codificação e a decodificação provavelmente não ocorrem em outros lugares do que os limites nos blocos de compensação de movimento. Portanto, se os blocos de compensação de movimento forem selecionados como mostrado na Figura 3(b), o processo de remoção de distorção de codificação não é necessário nos limites da unidade de 4x4 pixels indicada pelas linhas tracejadas entre os blocos AC, BD, EG, FH, IK, JL, MO, e NP mostrados na Figura 3(a). A deblocagem não é do mesmo modo necessário nos limites da unidade de 4x4 pixels indicados pelas linhas tracejadas entre os blocos AB, CD, EF, GH, IJ, KL, MN, e OP mostrados na Figura 3(a). Se a imagem de diferença DifCoef utilizada para a codificação/decodificação nas unidades de 4x4 pixels for também 0, a deblocagem é aplicado somente nos limites dos blocos de compensação de movimento, e não é aplicado nos limites das unidades de 4x4 pixels dentro dos blocos de compensação de movimento. Isto torna possível reduzir o número de operações no processo de remoção de distorção de codificação comparado com a deblocagem de todos os limites dos blocos.
[0077] Se a imagem de diferença DifCoef do bloco de processo for 0 e não for o limite de um bloco de compensação de movimento, a unidade de detecção de limite de bloco de compensação de movimento 2 desliga ambos os seletores 10a e 10b (indicados por uma linha sólida) e o seletor 10b emite a imagem reconstruída Coef como o sinal de imagem decodificado Vout. Os seletores 10a e 10b são chaveados ajustando a sinalização de limite de bloco de compensação de movimento IsEdge. O processamento pelo controlador de contagem de pixels filtrados 4, pelo controlador de coeficiente de filtro 6, e pelo processador de filtro 8 pode assim ser omitido desligando os seletores 10a e 10b. Em outros casos do que o acima, os seletores 10a e 10b estão LIGADOS (denotados pela linha tracejada), e a saída do processador de filtro 8 é emitida do seletor 10b como o sinal de imagem decodificado Vout. Este estado do seletor é também ajustado pela aplicação da sinalização de limite de bloco de compensação de movimento IsEdge.
[0078] A presente invenção assim introduz a capacidade de omitir a operação do controlador de contagem de pixels filtrados 4, do controlador de coeficiente de filtro 6, e do processador de filtro 8 pela aplicação de uma sinalização de limite de bloco de compensação de movimento IsEdge apropriadamente determinada, e pulando estas unidades permite um processamento mais rápido e reduz o consumo de energia por estes processos.
[0079] Deve ser notado que esta modalidade está descrita como simplesmente não aplicando nenhum processo de remoção de distorção de codificação, um processo de remoção de distorção de codificação simples poderia ser utilizado ao invés de simplesmente pular o processo, e a troca poderia ser entre um processo de remoção de distorção de codificação complexo e um processamento de remoção de distorção de codificação em unidades de 4x4 pixels. MODALIDADE 2 [0080] Um processo específico por meio do qual a remoção de distorção de codificação pode ser facilmente conseguida está descrito nesta modalidade da invenção com referência ao gráfico de fluxo da Figura 4 de um método de remoção de distorção de codificação de acordo com a presente invenção.
[0081] É primeiramente determinado na etapa S18 se o bloco alvo é um bloco de remoção de distorção de codificação. Se for, o controle avança para a etapa S19. Se não for, o controle avança para a etapa S24.
[0082] Um filtro de remoção de distorção de codificação apropriado é selecionado na etapa S19, o processamento de remoção de distorção de codificação é aplicado utilizando o filtro selecionado na etapa S20, e o pixel alvo é mudado para o próximo pixel não-processado no bloco na etapa S21. Se não existirem pixels não-processados no bloco (a etapa S22 emite um não), o controle avança para a etapa S24. Se existir um pixel não-processado (a etapa S22 emite um sim), o controle retorna para a etapa S19 e o processo se repete.
[0083] A etapa S24 detecta se existe outro bloco não-processado na figura. Se existir, o controle avança para a etapa S23. Se todos os blocos tiverem sido processados (a etapa S24 emite um não), o processo de remoção de distorção de codificação termina para aquela figura.
[0084] Se blocos não-processados permanecerem, o bloco alvo é mudado para o próximo bloco não-processado na etapa S23, o laço de controle retorna para etapa S18 e o processo se repete.
[0085] A Figura 6 é um gráfico de fluxo que mostra como o número de pixels a filtrar (a "contagem de pixels filtrados" abaixo) é determinado no método de remoção de distorção de codificação da presente invenção. Este gráfico de fluxo descreve um exemplo de como o controlador de contagem de pixels filtrados 4 mostrado na Figura 2 poderia operar. A Figura 6 mostra um caso no qual o bloco de compensação de movimento é aquele mostrado na Figura 8(a). Como mostrado na Figura 8(b), os valores de pixel alvo para a remoção de distorção de codificação são p3, p2, p1, pO, qO, q1, q2, q3 como mostrado na Figura 8(b), e os valores de pixel após a remoção de distorção de codificação são P3, P2, P1, PO, QO, Q1, Q2, Q3.
[0086] Estes valores de pixel são designados seqüencialmente na mesma ordem que as posições de pixel, pO até p3 e PO até P3 denotam os pixels correspondentes no mesmo bloco, e qO até q3 e QO até Q3 denotam os pixels correspondentes no mesmo bloco.
[0087] Conforme o parâmetro de quantificação QP aumenta as etapas de quantificação ficam maiores (mais brutas) e o tamanho da distorção de codificação também aumenta. É portanto eficiente mudar o filtro de acordo com o tamanho do parâmetro de quantificação QP. A Figura 5 é uma tabela que mostra a correlação entre o parâmetro de quantificação QP e os parâmetros de remoção de distorção de codificação. A correlação entre os parâmetros π, Ω e n do processo de de-blocagem para determinar o parâmetro n que denota a contagem de pixels filtrados está mostrada na Tabela 1 abaixo. Deve ser notado que a filtragem não deve ser aplicada se a diferença de pixels for grande porque isto denota uma borda, e π é portanto preferivelmente determinado de modo que a filtragem não seja aplicada aos pixels onde a diferença de pixels for menor do que π. Mais ainda, se a diferença de pixels for pequena, a probabilidade de que os pixels não estão em uma borda aumenta conforme a diferença de pixels diminui, e Ω é portanto preferivelmente determinado de modo que um filtro mais forte (isto é, n é alto) seja aplicado com base em se a diferença de pixels é extremamente baixa (menor do que Ω) ou um pouco pequena (menor que 2χΩ). TABELA 1 Condição A Condição B n dif1a>^ dif2a<Ω 0 dif1a>^ Ω^ϊί28<2χΩ 0 difla > π dif2a>2xQ 0 difla < π dif2a < Ω 2 dif1 a < π Ω < dif2a < 2χΩ 1 difla < π dif2a > 2χΩ 0 onde dif1 = pO - qO dif2 = p1 - q1 difla = |dif1| dif2a = |dif2|.
[0088] Em outras palavras, o gráfico de fluxo para determinar a contagem de pixels filtrados no método de remoção de distorção de codificação da presente invenção está resumindo na Tabela 1.
[0089] A etapa S27 computa a diferença de pixels DifPel, um parâmetro que é repetidamente computado no processo de remoção de distorção de codificação. Note que a diferença de pixels DifPel se refere a difla e dif2a calculados na etapa S27.
[0090] A Etapa S28 então compara difla e π. Se difla for maior do que π, a etapa S29 determina n = 0 e o processo termina sem operar o processo de remoção de distorção de codificação. Se difla for menor do que ou igual a π, o controle avança para etapa S30.
[0091] Na etapa S30 dif2a é comparado com Ω. Se dif2a for menor do que Ω, a etapa S31 determina n = 2 (isto é, a remoção de distorção de codificação é aplicada no segundo pixel do limite de cada bloco adjacente), e o processo termina. Se dif2a for maior do que ou igual a Ω, o controle avança para a etapa S32.
[0092] Na etapa S32 dif2a é comparado com 2 x Ω. Se dif2a for menor do que 2 x Ω, a etapa S33 determina n = 1 (isto é, a remoção de distorção de codificação é aplicada no primeiro pixel do limite de cada bloco adjacente), e o processo termina. dif2 é o valor absoluto da diferença em valores de pixel na proximidade do limite, e como o número de componentes de alta freqüência próximos do limite diminui conforme esta diferença diminui, a distorção de codificação pode ser removida eficientemente da área de limite aumentando o número de pixels processados para a deblocagem conforme dif2 fica menor.
[0093] A Figura 7 é um gráfico de fluxo de um processo para determinar o coeficiente de filtro no método de remoção de distorção de codificação da presente invenção, e é um exemplo da operação do controlador de coeficiente de filtro na Figura 2.
[0094] Três condições são comparadas utilizando n, difla, dif2a, e 0 na etapa S37. Se todas as três condições forem verdadeiras, um processo de filtro de três derivações é determinado na etapa S39. Isto é, 0 é o valor limite para determinar o número de derivações do filtro, e um filtro de três derivações é aplicado quando o componente de alta freqüência é baixo (n = 2) e existe pouca mudança nos valores de pixel no limite (|dif2a - dif1a| < 0). Um filtro de três derivações normalmente fornece uma supressão mais forte de componentes de alta freqüência do que um filtro de derivação única. Como o processo de filtragem pode ser mudado utilizando o valor de η, o parâmetro n pode ser utilizado para mudar o tipo de filtro ao invés do número de pixels aos quais o filtro é aplicado. O parâmetro n assim obtido pode também ser utilizado para mudar tanto o número de pixels filtrados quanto o tipo de filtro aplicado.
[0095] Se as três condições não forem verdadeiras na etapa S37, o valor de n é detectado na etapa S38. Se n > 1, a etapa S40 determina um processo de filtro de uma derivação. Se n = 0, a etapa S42 desliga a filtragem.
[0096] Deve ser notado que o parâmetro de quantificação QP pode ser mudado para cada bloco. No entanto, o processo de remoção de distorção de codificação se torna mais complicado no limite entre os blocos que tem um diferente parâmetro de quantificação QP. A presente invenção impede isto utilizando: - o parâmetro de quantificação QP médio de blocos adjacentes (as frações podem ser arredondadas), - o parâmetro de quantificação QP mais alto dos blocos adjacentes, - o parâmetro de quantificação QP mais baixo dos blocos adjacentes, ou - o parâmetro de quantificação QP do bloco adjacente esquerdo ou adjacente acima como o parâmetro de quantificação QP para filtrar os blocos em ambos os lados do limite quando o parâmetro de quantificação QP muda nos blocos limite. Deve ser notado que a diferença entre a utilização destes quatro parâmetros de quantificação é pequena, e um poderia ser pré-selecionado para utilização.
[0097] A distorção de codificação pode assim ser facilmente removida pelo método descrito acima.
[0098] A Figura 8(a) é um diagrama de blocos de outra modalidade do filtro de deblocagem 62 mostrado na Figura 1, e uma modalidade separada da parte contida em uma linha tracejada na Figura 2. Deve ser notado que as partes iguais na Figura 8 e no diagrama de blocos da unidade de remoção de distorção de codificação que utiliza o método de remoção de distorção de codificação convencional mostrado na Figura 34 estão identificadas por números de referência iguais, e uma sua descrição adicional é omitida aqui.
[0099] O calculador de diferença de pixels 20 computa a diferença de pixels no limite do bloco da imagem reconstruída Coef, e emite a diferença de pixels DifPel. Esta diferença de pixels DifPel contém um sinal equivalente a difla e dif2a. A diferença de pixels DifPel é obtida pela comparação de pixels em posições simétricas à esquerda e à direita e acima e abaixo do limite entre os blocos unitários de codificação, e utilizando a diferença d1, d2, d3, d4 (diferença de cor ou dife- rença de luminância) entre estes. Se a média destas diferenças (por exemplo, (d1 + d2 + d3 + 64)14) for menor do que ou igual a um valor específico, uma linha limite de imagem é provável não estar presente dentro da faixa da largura utilizada para determinar 64, e o filtro de de-blocagem é portanto aplicado. Por outro lado, se a média for maior do que ou igual a um valor específico, existe um limite de imagem e o filtro de deblocagem não é aplicado. Deve ser notado que esta comparação poderia utilizar qualquer um, quaisquer dois ou quaisquer três de d1, d2, d3 e 64. Ao invés de utilizar a média, a diferença mais alta poderia alternativamente ser comparada com um valor específico.
[00100] O gráfico de fluxo para determinar a contagem de pixels filtrados poderia ser utilizado como um exemplo da operação do controlador de contagem de pixels filtrados 4. Um exemplo da operação do controlador de coeficiente de filtro 6 nesta modalidade está mostrado no gráfico de fluxo para determinar o coeficiente de filtro mostrado na Figura 7. Referenciando a diferença de pixels DifPel como mostrado na Figura 8(b), o número de cálculos de diferença de pixels pode ser reduzido tanto para o controlador de contagem de pixels filtrados 4 quanto para o controlador de coeficiente de filtro 6. O controlador de contagem de pixels filtrados 4 e o controlador de coeficiente de filtro 6 podem portanto determinar a contagem de pixels filtrados e o coeficiente de filtro sem referenciar a imagem reconstruída Coef.
[00101] Ficará assim aparente que o número de computações pode ser reduzido utilizando repetidamente o valor computado como a diferença de pixels DifPel. MODALIDADE 3 [00102] Esta modalidade da invenção descreve um aparelho de codificação e um aparelho de decodificação que implementam o método de remoção de distorção de codificação descrito em outra modalidade da invenção.
[00103] A Figura 9 é um diagrama de blocos do aparelho de codificação.
[00104] A unidade de detecção de movimento 30 compara a imagem de referência Ref1 e a imagem de referência Ref2 emitidas respectivamente da primeira memória 38 e da segunda memória 40 com o sinal de imagem Vin, e detecta o vetor de movimento MV, isto é, a quantidade de movimento no sinal de imagem Vin em relação à imagem de referência. Deve ser notado que as informações que indicam se o erro de previsão será menor pelo referenciamento da imagem de referência Ref1 ou da imagem de referência Ref2 estão também incluídas no vetor de movimento MV e relatadas para a unidade de compensação de movimento 32. A unidade de compensação de movimento 32 extrai a imagem na posição indicada pelo vetor de movimento MV da imagem de referência Ref1 ou da imagem de referência Ref2, e a emite como uma imagem compensada de movimento MCpel.
[00105] O subtrator 42 obtém a diferença do sinal de imagem Vin e da imagem compensada de movimento MCpel, e emite para a unidade de transformada de co-seno (DCT) 46. A unidade de transformada de co-seno 46 computa a DCT e quantifica a diferença inserida, e emite o componente de freqüência FCoef. O varredor de ziguezague 48 emite o componente de código de freqüência DCoef reordenando a seqüên-cia do componente de freqüência FCoef, e a unidade de codificação de comprimento variável 50 codifica em comprimento variável o componente de código de freqüência DCoef para emitir o sinal codificado Str.
[00106] A saída da unidade de DCT (unidade de transformada de co-seno) 46 é também emitida para a unidade de DCT inversa (unidade de transformada de co-seno inversa) 44. O componente de freqüência FCoef e a imagem compensada de movimento MCpel emitidos da unidade de compensação de movimento 32 são mescladas por um sintetizador 34, e uma imagem mesclada Coef é emitida. A imagem mesclada Coef é armazenada como é na primeira memória 38, e é também processada pelo filtro de deblocagem 36 e o sinal de imagem decodificado Vout do qual a distorção de codificação foi removida é armazenado na segunda memória 40.
[00107] A Figura 10 é um diagrama de blocos do aparelho de deco-dificação. Este aparelho decodifica corretamente o sinal codificado Str codificado pelo aparelho de codificação mostrado no diagrama de blocos na Figura 9. As partes na Figura 10 que operam do mesmo modo que as partes correspondentes na Figura 32 ou na Figura 33 estão identificadas por números iguais, e uma sua descrição adicional é omitida aqui. A unidade de DCT inversa (unidade de transformada de co-seno inversa) 56 dequantifica o componente de freqüência FCoef e computa a DCT inversa para emitir uma imagem de diferença DifCoef. O adicionador 58 adiciona a imagem de diferença DifCoef e a imagem compensada de movimento MCpel para obter a imagem reconstruída Coef. A imagem reconstruída Coef é armazenada na primeira memória 64, e o sinal de imagem decodificado Vout obtido pelo filtro de deblocagem 62 que remove a distorção de codificação da imagem reconstruída Coef é armazenado na segunda memória 66.
Como um resultado desta operação uma imagem da qual a distorção de codificação não foi removida é armazenada na primeira memória 38 e na primeira memória 64, e uma imagem da qual a distorção de codificação foi removida é armazenada na segunda memória 40 e na segunda memória 66. O processo de remoção de distorção de codificação nem sempre remove somente a distorção de codificação, e é possível que parte do sinal de imagem real seja também perdida. O aparelho de codificação mostrado na Figura 9 está portanto configurado de modo que a unidade de detecção de movimento 30 possa sempre selecionar a melhor emissão tanto da primeira memória 38 quanto da segunda memória 40.
[00108] Se parte do sinal de imagem original for perdido pela remoção de distorção de codificação com a configuração desta modalidade, uma imagem de referência apropriada pode ser selecionada referenciando a primeira memória 38. Uma imagem de referência apropriada pode do mesmo modo ser selecionada pelo aparelho de decodificação mostrado na Figura 10.
[00109] Deve ser notado que uma DCT é utilizada como a transformada ortogonal nesta modalidade da invenção, mas uma transformada de Hadamard ou uma transformada de pequena onda poderia ser utilizada. MODALIDADE 4 [00110] A Figura 11 é um diagrama de blocos de uma unidade de remoção de distorção de codificação de acordo com uma modalidade preferida da invenção, e corresponde ao filtro de deblocagem 62 mostrado na Figura 1, por exemplo. Esta unidade de remoção de distorção de codificação está distinguida por determinar o valor limite para ajustar o filtro. Deve ser notado que as partes que executam a mesma operação que as partes iguais na unidade de remoção de distorção de codificação mostrada na Figura 34 estão identificadas por números de referência iguais e a sua descrição adicional é omitida aqui.
[00111] O decodificador de parâmetro de ajuste de filtro 22 decodifica o sinal de parâmetro de ajuste de filtro FtrStr, e emite o parâmetro de filtro FtrPrm. Este sinal de parâmetro de ajuste de filtro FtrStr não é um valor limite, mas é um parâmetro para ajustar o valor limite. O parâmetro de filtro FtrPrm é equivalente a π, Ω, e 0 na Figura 5. Pela decodificação e obtenção dos dados que otimizam estes parâmetros π, Ω, e 0 para cada figura do sinal de parâmetro de ajuste de filtro FtrStr, a remoção de distorção de codificação apropriada à imagem é permitida.
[00112] A Figura 12 mostra a estrutura do sinal codificado Str no método de remoção de distorção de codificação da presente invenção. A Figura 12(a) é um sinal codificado para uma figura, e contém os dados de figura PicData que contêm os dados para uma figura, e o cabeçalho de figura PicHdr comum a todos os dados em uma figura. Este cabeçalho de figura PicHdr contém o sinal de parâmetro de ajuste de filtro FtrStr.
[00113] A Figura 12(b) mostra a estrutura dos dados de figura PicData. Estes dados de figura PicData contêm o sinal de fatia Sli-ceStr, o sinal codificado de uma fatia que contém um grupo de unidades de blocos plurais.
[00114] A Figura 12(c) mostra a estrutura do sinal de fatia SliceStr, o qual contém os dados de fatia SliceData que contêm os dados para uma fatia, e o cabeçalho de fatia SliceHdr comum a todos os dados em uma fatia. Escrevendo o sinal de parâmetro de ajuste de filtro FtrStr no cabeçalho de fatia SliceHdr, um sinal codificado recebido nas unidades de dados de fatia SliceData pode ser corretamente decodificado.
[00115] Se sinais de fatia plurais SliceStr estão contidos nos dados de figura PicData, o sinal de parâmetro de ajuste de filtro FtrStr pode ser escrito em somente alguns dos cabeçalhos de fatia SliceHdr ao invés de escrever o sinal de parâmetro de ajuste de filtro FtrStr em todos os cabeçalhos de fatia SliceHdr. Se o conteúdo do sinal de parâmetro de ajuste de filtro FtrStr for comum a cada fatia, e o sinal de parâmetro de ajuste de filtro FtrStr não for escrito no cabeçalho de fatia SliceHdr como mostrado na Figura 12(c), um aumento no número de bits devido à repetição do sinal de parâmetro de ajuste de filtro FtrStr pode ser suprimido pela substituição do sinal de parâmetro de ajuste de filtro FtrStr de outro cabeçalho de fatia SliceHdr.
[00116] Se o sinal codificado Str for transmitido em pequenas uni- dades de dados tais como pacotes ao invés de um único fluxo de bits contínuo, as partes de cabeçalho e não-cabeçalho podem ser transmitidas separadamente. Neste caso as partes de cabeçalho e de dados não estarão em um único fluxo de bits como mostrado na Figura 12. No entanto, mesmo se a seqüência de transmissão das partes de cabeçalho e de dados não for contínua, o cabeçalho para um pacote de dados particular é simplesmente transmitido em outro pacote, e o conceito é o mesmo que o fluxo de bits mostrado na Figura 12 mesmo se a transmissão não for um único fluxo de bits.
[00117] A Figura 13 é um diagrama de blocos do aparelho de codificação. Note que as partes iguais na Figura 13 e na Figura 9 são identificadas por números de referência iguais e a sua descrição adicional é omitida aqui.
[00118] A memória 217 armazena o sinal de imagem Vin, isto é, o sinal de imagem inserido para codificação. A unidade de comparação de qualidade de imagem 216 compara o sinal de imagem alvo de codificação lido da memória 217 com o sinal de imagem decodificado Vout. O tamanho do erro obtido da comparação feita pela unidade de comparação de qualidade de imagem 216 é armazenado juntamente com o valor limite do filtro de deblocagem para a imagem decodificada na memória de comparação 218. A unidade de seleção 219 seleciona como o valor limite ótimo o valor limite do filtro de deblocagem que corresponde ao menor erro armazenado na memória de comparação 218. O valor limite ótimo selecionado é multiplexado como um fluxo de bits adicionado relativo ao fluxo de bits da figura correspondente. Com base no valor limite ótimo emitido pela unidade de seleção 219, a unidade de controle de valor limite 215 gera um valor limite candidato para o filtro de deblocagem da próxima figura, aconselha o filtro de deblocagem 36 e muda o valor limite do processo de remoção de distorção de codificação, e envia o valor limite atualmente em uso para a memória de comparação 218.
[00119] A Figura 14 é uma representação conceituai do aparelho de codificação específico mostrado no diagrama de blocos na Figura 13. Na Figura 14 a unidade de seleção de valor limite ótimo 226 executa as outras operações das partes na Figura 13 do que o varredor em ziguezague 48, a unidade de codificação de comprimento variável 50, e a unidade de anexação de valor limite 220, equivalente à operação da memória 217, da unidade de comparação de qualidade de imagem 216, da memória de comparação 218, da unidade de seleção 219, e da unidade de controle de valor limite 215. O codificador de vídeo 227 corresponde à operação das outras partes do que a memória 217, a unidade de comparação de qualidade de imagem 216, a memória de comparação 218, a unidade de seleção 219, e a unidade de controle de valor limite 215 na Figura 13. O valor limite 228 é equivalente ao valor limite ótimo acima.
[00120] A unidade de seleção de valor limite ótimo 226 seleciona um valor limite ótimo. Este valor limite ótimo é equivalente à determinação dos valores de π, Ω, e 0 determinados para cada parâmetro de quantificação QP na Figura 5. O valor limite ótimo selecionado é armazenado na memória de valor limite 228 e aplicado no codificador de vídeo 227 como o sinal de parâmetro de ajuste de filtro FtrStr. O sinal de parâmetro de ajuste de filtro FtrStr codificado é processado pelo decodificador de parâmetro de ajuste de filtro 22 mostrado na Figura 11, por exemplo, no decodificador.
[00121] Deve ser notado que o valor limite ótimo poderia ser armazenado na memória na unidade de controle de valor limite 215 mostrada na Figura 13, e os dados de valor limite enviados pela unidade de controle de valor limite 215 para a unidade de anexação de valor limite 220.
[00122] Uma operação por meio de que o sinal de parâmetro de ajuste de filtro FtrStr é determinado quando removendo a distorção de codificação é descrita a seguir. A Figura 15, a Figura 16 e a Figura 17 são gráficos de fluxo que mostram a operação do aparelho de codificação descrito com a Figura 13 e a Figura 14.
[00123] A Figura 15 é um gráfico de fluxo de uma operação para a medição da qualidade de imagem.
[00124] O quadro alvo target_frame é primeiramente determinado e a primeira figura emitida (etapa 229). O quadro alvo target_frame é a figura utilizada para derivar o valor limite.
[00125] A unidade de controle de valor limite 215 então determina uma faixa de valor limite (etapa 230), e o valor em uma extremidade desta faixa é emitido da unidade de controle de valor limite 215 como o valor limite inicial (etapa 231).
[00126] Utilizando este valor limite inicial o filtro de deblocagem 36 remove a distorção de codificação, começa a codificar a figura para o quadro alvo target_frame (etapa 232), e a unidade de comparação de qualidade de imagem 216 então mede a qualidade de imagem desta primeira figura codificada e o sinal de imagem Vin (etapa 233).
[00127] O resultado desta comparação é armazenado na memória de comparação 218 (etapa 234), e o número de quadros atual cur-rent_frame é incrementado (etapa 235). Isto é, a figura que está sendo processada é mudada da primeira figura para a próxima figura, e a próxima figura é emitida, por exemplo, para a unidade de seleção de valor limite ótimo 226 e para o codificador de vídeo 227 mostrados na Figura 14 ou para a memória 217, para a unidade de detecção de movimento 30, e para o subtrator 42 mostrados na Figura 13.
[00128] A etapa 236 então determina se o número de quadros atuais current_frame alcançou o quadro alvo target_frame. Senão, as etapas 233 e 235 se repetem. A qualidade de imagem da figura inserida é medida pela unidade de comparação de qualidade de imagem 216, e o resultado é armazenado na memória de comparação 218. Se o número de quadros atual current_frame for igual ao quadro alvo tar-get_frame o controle avança para a etapa 237 e o número de quadros atual current_frame é reajustado para a primeira figura.
[00129] A unidade de controle de valor limite 215 então incrementa o valor limite (etapa 238A), isto é, o valor limite é ajustado para o próximo valor. Este "próximo valor" é o valor aumentado de um incremento específico do primeiro valor.
[00130] É então determinado se todos os valores limite para o valor limite na outra extremidade da faixa determinada foram testados (etapa 238B). Se todos os valores limite foram testados, o processo para determinar o valor limite ótimo termina. Se todos os valores limite não foram testados, o controle retorna para a etapa 232 e a figura para o quadro alvo target_frame é codificada.
[00131] A qualidade de imagem pode assim ser medida pela medição da qualidade de imagem para todos os quadros alvo target_frame utilizando um valor limite, então incrementando o valor limite de uma quantidade específica, e então novamente medindo a qualidade de imagem para todos os quadros alvo target_frame.
[00132] Referindo a seguir ao gráfico de fluxo na Figura 16, um método para a medição da qualidade de imagem em uma figura que utiliza todos os valores limite em uma faixa de valores limite determinada, então avançando para a próxima figura e medindo a qualidade de imagem utilizando todos os valores limite em uma faixa de valores limite determinada, é descrito.
[00133] O quadro alvo target_frame é primeiramente determinado e a primeira figura emitida (etapa 239). O número de quadro atual cur-rent_frame é então inicializado para 0 (etapa 240).
[00134] A unidade de controle de valor limite 215 então determina uma faixa de valores limite (etapa 241), e o valor limite é determinado para o filtro de deblocagem 36 (etapa 242).
[00135] A primeira figura é então codificada (processada para a remoção de distorção de codificação) utilizando o valor limite inicial (etapa 243), e a qualidade de imagem da figura codificada é medida pela unidade de comparação de qualidade de imagem 216 (etapa 244).
[00136] O resultado emitido pela unidade de comparação de qualidade de imagem 216 é armazenado na memória de comparação 218 (etapa 245), e a unidade de controle de valor limite 215 incrementa o valor limite para o próximo valor (etapa 246A).
[00137] É então determinado se todos os valores limite foram testados (etapa 246B). Se todos os valores limite não foram testados, o controle retorna para a etapa 242 e a qualidade de imagem da mesma figura é medida utilizando um valor limite diferente. Se todos os valores limite foram testados, o controle avança para a etapa 247.
[00138] O número de quadro atual current_frame é então incrementado na etapa 247. Isto é, a figura que está sendo processada é mudada da primeira figura (o primeiro quadro) para a segunda figura (o segundo quadro), e a próxima figura é emitida, por exemplo, para a unidade de seleção de valor limite ótimo 226 e para o codificador de vídeo 227 mostrado na Figura 14 ou para a memória 217, para a unidade de detecção de movimento 30 e para o subtrator 42 mostrado na Figura 13.
[00139] A etapa 248 então determina se o número de quadro atual current_frame alcançou o quadro alvo target_frame. Senão, as etapas 241 a 247 se repetem. Se current_frame for igual a target_frame, o processo de medição de qualidade de imagem termina.
[00140] A Figura 17 é um gráfico de fluxo de um método para selecionar o valor limite ótimo com base no valor limite descrito na Figura 15 ou na Figura 16 e nos resultados da medição de qualidade de imagem naquele valor limite.
[00141] A unidade de seleção 219 pega os resultados da medição de qualidade de imagem e os dados de valor limite correspondentes na etapa 249 na Figura 17.
[00142] Os resultados da medição são então dispostos em uma ordem específica (etapa 250).
[00143] A Figura com a melhor qualidade de imagem é então selecionada com base nas condições específicas (etapa 251), e o valor limite para aquela figura é selecionado como o valor limite ótimo. Estas condições específicas poderiam ser qualquer uma ou uma combinação das seguintes: uma baixa relação S/N, a menor diferença entre a imagem reconstruída (a figura deblocada no valor limite) e a figura original (sinal de imagem Vin inserido), e o menor quadrado médio da diferença.
[00144] O valor limite ótimo selecionado é então emitido como o sinal de parâmetro de ajuste de filtro FtrStr para, por exemplo, o codificador de vídeo 227 na Figura 14 (etapa 252).
[00145] O melhor valor limite pode assim ser selecionado utilizando o método descrito com referência à Figura 17.
[00146] Como descrito acima esta modalidade preferida mede a qualidade de imagem para todos os valores limite dentro de uma faixa especificada, reúne os resultados da medição de qualidade de imagem, e seleciona o valor limite ótimo de entre os resultados. É também possível medir a qualidade de imagem em seqüência para todos os valores limite em uma faixa de valor limite, uma medição de qualidade de imagem final no ponto em que o resultado com a melhor qualidade de imagem é detectado, e seleciona o valor limite que produz aquele resultado de qualidade de imagem como o valor limite ótimo. Este método pode reduzir o número de medições de qualidade de imagem executadas.
[00147] O processo de remoção de distorção de codificação para um dado bloco compara os valores de pixel naquele bloco com os valores de pixel em um bloco adjacente. O bloco adjacente neste caso é um bloco para o qual o processo de remoção de distorção de codificação terminou a correção de valor de pixel terminou.
[00148] Quando removendo a distorção de codificação do bloco G na Figura 18, por exemplo, a distorção de codificação poderia ser removida por comparação com qualquer um dos quatro blocos adjacentes E, D, H, e M. No entanto, pela utilização de um bloco para o qual o processo de remoção de distorção de codificação já foi completado, a distorção de codificação pode ser removida mais precisamente.
[00149] A distorção de codificação é preferivelmente removida em uma seqüência linear na ordem de varredura, isto é, a distorção de codificação é removida na direção de varredura das linhas de varredura horizontais da figura em uma seqüência de linhas de varredura horizontais.
[00150] Em outras palavras, referindo à Figura 18, a primeira linha de varredura dos blocos A, B, E, F é processada primeiramente para a remoção de distorção de codificação, então a próxima linha dos blocos C, D, G, H é processada, e assim por diante. Cada bloco tem quatro limites, mas o processamento de remoção de distorção de codificação é preferivelmente aplicado utilizando os blocos adjacentes que tocam o limite superior e o limite esquerdo.
[00151] Neste caso o processo de remoção de distorção de codificação não é aplicado ao bloco A porque existe um bloco adjacente que toca o seu limite superior ou o seu limite esquerdo.
[00152] Similarmente não existe um bloco adjacente tocando o limite superior do bloco B, e a deblocagem é portanto aplicada utilizando o bloco A, o qual é adjacente ao limite esquerdo do bloco B.
[00153] Os blocos E e D são respectivamente adjacentes aos limites superior e esquerdo do bloco G, e a distorção de codificação é por- tanto removida do bloco G utilizando os blocos E e D enquanto não utilizando os blocos H e M.
[00154] Removendo assim a distorção de codificação entre um novo bloco e os blocos adjacentes dos quais a distorção de codificação já foi removida, e não referenciando os blocos adjacentes que não foram processados para a distorção de codificação, a distorção de codificação pode ser removida mais precisamente. MODALIDADE 5 [00155] Esta modalidade primeiramente descreve um caso no qual os pixels estão divididos em grupos de múltiplos pixels cada, tais como grupos de quatro pixels em uma coluna, os grupos são então colocados em pares, e a remoção de distorção de codificação é aplicada aos pares de grupos. Um processo de remoção de distorção de codificação como utilizado nesta modalidade se refere tanto à determinação de se aplicar uma deblocagem a uma área sobre ambos os lados de um limite de bloco, quanto à própria operação de deblocagem. Um bloco podería ser um bloco de 4x4 de 16 pixels que é a menor unidade de codificação, ou qualquer um dos blocos ao qual a compensação de movimento é aplicada como descrito acima com referência à Figura 3.
[00156] Como mostrado na Figura 19 os quatro pixels em um grupo são um grupo de quatro pixels dispostos em linha com o limite do bloco. Quatro tais grupos estão mostrados na Figura 19, r1, r2, r3, e r4. Os dados destes quatro grupos r1, r2, r3, e r4 podem ser armazenados em quatro registros (registros SIMD, por exemplo). Os grupos r1, r2 e os grupos r3, r4 estão simetricamente localizados nos lados esquerdo e direito do limite do bloco. Os valores de pixel no grupo r1 são comparados com os valores de pixel no grupo r2, e o processamento de remoção de distorção de codificação é aplicado utilizando as diferenças resultantes.
[00157] Mais especificamente, uma diferença 1 entre o pixel superi- or no grupo r1 e pixel superior no grupo r2, uma diferença 2 entre o segundo para o pixel superior no grupo r1 e o segundo para o pixel superior no grupo r2, uma diferença 3 entre o segundo para o pixel inferior no grupo r1 e o segundo para o pixel inferior no grupo r2, e uma diferença 4 entre o pixel inferior no grupo r1 e o pixel inferior no grupo r2 são obtidas. A média da diferença 1, da diferença 2, da diferença 3 e da diferença 4, ou a soma dos valores absolutos da diferença 1, da diferença 2, da diferença 3 e da diferença 4 é utilizada como uma diferença representativa, e esta diferença representativa é comparada com um valor limite específico. Outros métodos são também possíveis. Como estas operações são executadas em unidades de quatro pixels nos mesmos grupos, um processamento paralelo pode ser utilizado para um rendimento significativamente mais rápido comparado com o processamento de cada pixel por vez.
[00158] Apesar da comparação utilizando apenas o grupo r1 e o grupo r2 ser descrita acima, se uma maior precisão for requerida a lu-minância dos pixels no grupo r3 pode ser comparada com os valores de luminância de pixel do grupo r4, e as diferenças representativas da comparação dos grupos r1 e r2 podem ser adicionadas ou calculadas a média com as diferenças representativas dos grupos r3 e r4 para remover a distorção de codificação.
[00159] A operação descrita acima se aplica aos limites de bloco verticais, mas a mesma operação essencial pode ser aplicada aos limites horizontais simplesmente montando grupos horizontais de quatro pixels ao longo dos limites horizontais.
[00160] As Figuras 20(a) e (b) mostram casos nos quais as linhas de varredura são interlaçadas na tela. Uma figura interlaçada é uma figura na qual um quadro consiste em dois campos apresentados em tempos diferentes. A codificação e a decodificação de uma figura interlaçada pode ser executada pelo processamento de um quadro como um quadro, como dois campos, ou por blocos de estrutura de quadro ou de estrutura de campo no mesmo quadro. Na Figura 20 os pequenos quadrados cinzentos denotam os pixels de linhas ímpares, e os pequenos quadrados brancos denotam os pixels de linhas pares. Os pixels cinzentos das linhas ímpares assim formam um campo de um quadro e os pixels brancos nas linhas pares formam o outro campo do mesmo quadro.
[00161] Em um sinal de figura interlaçada um quadro consiste em dois campos (um campo par e um campo ímpar) em diferentes instantes de tempo. Em uma figura parada os valores de pixel não mudam com o tempo, e a correlação entre as linhas verticalmente adjacentes em um quadro é mais forte do que a correlação entre as linhas verticalmente adjacentes em um campo. Em uma figura móvel, no entanto, a figura muda grandemente com o tempo, os valores de pixel podem assim diferir grandemente em dois campos, e a correlação entre as linhas verticalmente adjacentes em um campo é mais forte do que a correlação entre as linhas verticalmente adjacentes em um quadro. É portanto mais eficiente processar as figuras paradas por quadro e as figuras móveis por campo.
[00162] Em uma figura interlaçada (1) todos os blocos poderíam ser blocos de estrutura de quadro (a estrutura de quadro está descrita mais abaixo), (2) todos os blocos poderíam ser blocos de estrutura de campo (a estrutura de campo está descrita mais abaixo), ou (3) a figura poderia conter tanto os blocos de estrutura de quadro quanto de estrutura de campo.
[00163] Se a figura contém todos os blocos de estrutura de quadro (1) todo a deblocagem é aplicado por unidade de estrutura de quadro. Se a figura contém todos os blocos de estrutura de campo (2) todo a deblocagem é aplicado por unidade de estrutura de campo. Se a figura contém tanto os blocos de estrutura de quadro quanto de estrutura de campo (3), a deblocagem é aplicada enquanto convertendo adapta-velmente de estrutura de campo para estrutura de quadro ou de estrutura de quadro para estrutura de campo. Estas operações estão descritas mais especificamente abaixo.
[00164] As figuras interlaçadas que são imagens paradas ou contêm pouco movimento são processadas por unidades de quadro que consistem em campos ímpares e campos pares como mostrado na Figura 20(a) (referida aqui como uma "estrutura de quadro"). Em uma estrutura de quadro, como mostrado no lado direito na Figura 20(a), um bloco de 16 pixels contém tanto os pixels de linhas ímpares quanto os pixels de linhas pares. O processo de remoção de distorção de codificação é aplicado entre os blocos com uma estrutura de quadro. Isto é, como descrito com referência à Figura 8(b), o processamento de remoção de distorção de codificação é aplicado nos limites do bloco.
[00165] As figuras interlaçadas com muito movimento são processadas por unidade de campo separadas em campos ímpares e campos pares como mostrado na Figura 20(b) (referida aqui como uma "estrutura de campo"). Como mostrado no lado direito na Figura 20(b), a figura está separada em campos ímpares de linhas ímpares e em campos pares de linhas pares; os campos ímpares contêm blocos de linhas ímpares, e os campos pares contém blocos de linhas pares. O processo de remoção de distorção de codificação é aplicado somente entre os blocos de estrutura de campo de somente as linhas ímpares ou os blocos de estrutura de campo de somente as linhas pares.
[00166] A Figura 21 (a) mostra um caso no qual parte da imagem interlaçada consiste em blocos de estrutura de quadro e outra parte consiste em blocos de estrutura de campo. Preferivelmente, a parte de figura móvel da imagem contém os blocos de estrutura de campo e a parte de figura parada contém os blocos de estrutura de quadro. A menor unidade formada por uma estrutura de campo ou uma estrutura de quadro é o macrobloco, isto é, a maior unidade à qual a DCT ou outra transformada ortogonal ou compensação de movimento é aplicada (ou supermacroblocos ou macroblocos plurais). É assumido abaixo que o retângulo que contém o carro na Figura 21 (a) contém blocos de estrutura de campo, e o resto da figura contém blocos de estrutura de quadro.
[00167] Como a remoção de distorção de codificação é aplicada no limite entre a parte de estrutura de campo e a parte de estrutura de quadro é descrita a seguir.
[00168] Referindo à Figura 21 (b), os blocos nas colunas C1, C2, C3, e C4 pertencem à área de imagem que contém o carro e assim tem uma estrutura de campo devido ao movimento nesta área de imagem. Os blocos nas colunas C5, C6, C7, e C8 pertencem à área onde o carro não está, isto é, a área de figura parada, e assim tem uma estrutura de quadro eficiente. Note que neste exemplo os macroblocos têm 16 pixels por lado e os blocos têm 4 pixels por lado. As colunas C4 e C5 estão mostradas separadas na Figura 21 (b) mas são realmente adjacentes na figura. A remoção de distorção de codificação como mostrado na Figura 8(b) é aplicada ao limite do bloco entre as colunas C3 e C4 e ao limite do bloco entre as colunas C5 e C6.
[00169] Para processar o limite do bloco entre as colunas C4 e C5 os blocos de estrutura de quadro na coluna C5 são primeiramente convertidos em blocos de estrutura de campo como mostrado na Figura 21 (c). Isto é feito, por exemplo, convertendo os pixels de linhas ímpares na coluna C5 mostrados na Figura 21 (b) em um bloco de pixels cinzentos na coluna C5 como mostrado na Figura 21 (c), e convertendo os pixels de linhas pares na coluna C5 mostrados na Figura 21 (b) em um bloco de pixels brancos na coluna C5 como mostrado na Figura 21 (c). A distorção de codificação no limite do bloco entre as colunas C4 e C5 é então removida como mostrado na Figura 8(b).
[00170] Os blocos de estrutura de quadro são assim convertidos em blocos de estrutura de campo porque a correlação vertical entre os pixels será perdida se os blocos de estrutura de campo forem convertidos em blocos de estrutura de quadro quando existe um movimento na figura, e uma degradação não-natural ocorre se o processo de remoção de distorção de codificação for aplicado entre os blocos verticalmente adjacentes. Por outro lado, enquanto a supressão de erro de codificação em componentes de alta freqüência na direção vertical é reduzida se os blocos de estrutura de quadro forem convertidos em blocos de estrutura de campo nas figuras paradas, a correlação vertical entre os pixels não é perdida e uma degradação da qualidade de imagem não-natural não ocorre facilmente.
[00171] Os blocos de estrutura de quadro são convertidos em blocos de estrutura de campo para reduzir a quantidade de processamento (somente convertendo quadros em campos) no exemplo acima. No entanto, se o número de operações não for uma preocupação, um método alternativo pode ser utilizado que converte os quadros em campos e os campos em quadros, e assim aumenta o número de operações comparado com o exemplo anterior devido ao processamento adicional requerido para converter os campos em quadros. Mais especificamente, se os pixels alvo para a remoção de distorção de codificação (isto é, o pixel atual para o qual o valor de pixel deve ser mudado pela deblocagem) estão em um bloco de estrutura de quadro ou em um bloco de estrutura de campo é primeiramente determinado. Se os pixels alvo para a remoção de distorção de codificação estiverem em um bloco de estrutura de campo, os blocos de estrutura de quadro são convertidos em blocos de estrutura de campo (isto é, o tipo de bloco do pixel alvo), e se os pixels alvo para o processamento de remoção de distorção de codificação estiverem em um bloco de estrutura de quadro, os blocos de estrutura de campo são convertidos em blocos de estrutura de quadro (isto é, o tipo de bloco do pixel alvo).
[00172] A operação quando as estruturas de quadro e as estruturas de campo estão misturadas é descrita a seguir com referência ao gráfico de fluxo na Figura 22.
[00173] Um quadro em um fluxo de sinal de imagem interlaçada consiste em dois campos varridoras em diferentes instantes de tempo. Um quadro pode portanto ser codificado em quadro pela combinação dos dois campos em uma única unidade de codificação (codificação de estrutura de quadro), ou este pode ser codificado em campo com os dois campos codificados e manipulados separadamente (codificação de estrutura de campo). Estes métodos de codificação podem também ser agrupados nas seguintes duas categorias, codificação fixa e a codificação adaptável. Com a codificação fixa a figura inteira é mudada entre ou a codificação em quadro ou a codificação em campo. Com a codificação adaptável a figura é dividida em um número de blocos e cada bloco é ou codificado em quadro ou codificado em campo.
[00174] A codificação fixa ainda inclui uma codificação de quadro fixo aplicada nos blocos de estrutura de quadro, e uma codificação de campo fixo aplicada nos blocos de estrutura de campo. Com a codificação fixa a seqüência de vídeo interlaçada é sempre codificada ou com uma codificação em quadro ou uma codificação em campo independente do conteúdo.
[00175] Com a codificação adaptável, no entanto, a codificação em quadro ou a codificação em campo pode ser adaptavelmente selecionada com base no conteúdo, na figura ou na unidade de bloco de codificação na figura. Estes blocos de codificação na figura podem ser tão pequenos quanto o macrobloco. Com a codificação adaptável os ma-croblocos individuais podem portanto ser codificados utilizando ou a codificação em quadro ou a codificação em campo. Os macroblocos são utilizados como a unidade de codificação abaixo.
[00176] Os blocos codificados em quadro, isto é, os blocos com uma estrutura de quadro, podem ser processados para a remoção de distorção de codificação utilizando a mesma técnica aplicada ao vídeo não-interlaçado.
[00177] Com os blocos codificados em campo, isto é, os blocos com uma estrutura de campo, os campos estão separados em campos pares e campos ímpares, cada campo é manipulado como uma figura separada, e a deblocagem é portanto aplicada à cada campo.
[00178] Referindo ao gráfico de fluxo na Figura 22, é decidido primeiramente se o bloco alvo está codificado em campo ou codificado em quadro (etapa 63). Se o bloco estiver codificado em campo, as etapas 64 a 69 são operadas. Se o bloco estiver codificado em quadro, as etapas 70 a 72 são operadas.
[00179] As etapas 64 a 66 processam os blocos de estrutura de campo pares, e as etapas 67 a 68 processam os blocos de estrutura de campo ímpares. As etapas 64 a 66 removem a distorção de codificação entre os pixels brancos no limite entre as colunas C3 e C4 na Figura 21 (b), e as etapas 67 a 69 removem a distorção de codificação entre os pixels cinzentos no limite entre as colunas C3 e C4 na Figura 21 (b).
[00180] Mais especificamente, a luminância do pixel é comparada na etapa 64 para determinar se a remoção de distorção de codificação é necessária. O número de pixels a serem filtrados é então determinado na etapa 65. A distorção de codificação é então removida no modo de campo na etapa 66.
[00181] As etapas 67, 68 e 69 executam as mesmas operações que as etapas 65, 65, e 66, respectivamente.
[00182] As etapas 70 a 72 processam os blocos de estrutura de quadro para remover a distorção de codificação no limite entre as colunas C5 e C6 na Figura 21 (b). Mais especificamente, a luminância do pixel é comparada na etapa 70 para determinar se a remoção de distorção de codificação é necessária. O número de pixels a serem filtrados é então determinado na etapa 71. A distorção de codificação é então removida no modo de quadro na etapa 72.
[00183] Se todos os blocos foram processados é determinado na etapa 73, e se estes foram a operação termina.
[00184] A Figura 23 mostra um método alternativo no qual as etapas 64 e 67 na Figura 22 estão combinadas em uma única etapa. Mais especificamente, é determinado se é necessário remover a distorção de codificação tanto dos blocos de campo pares quanto dos blocos de campo ímpares, e a deblocagem é aplicada a ambos os blocos de campo pares e ímpares se for necessário. Isto simplifica o processo de remoção de distorção de codificação.
[00185] A Figura 24 mostra um método alternativo adicional no qual as etapas 65 e 68 na Figura 23 estão combinadas em uma única operação que determina o número de pixels tanto nos blocos de campo pares quanto nos blocos de campo ímpares a serem deblocados. A remoção de distorção de codificação é então aplicada a ambos os blocos de campo pares e ímpares com base no resultado. Este método ainda simplifica a remoção de distorção de codificação.
[00186] A Figura 25 é um gráfico de fluxo de um processo utilizado quando os blocos codificados em quadro e os blocos codificados em campo estão misturados em uma única estrutura, e o limite do bloco está entre um bloco de estrutura de quadro e um bloco de estrutura de campo.
[00187] A etapa 95 primeiramente determina se alinha limite entre os blocos que estão sendo processados para a remoção de distorção de codificação é uma linha limite específica, isto é, se um bloco de estrutura de quadro está sobre um lado da linha e um bloco de estrutura de campo está sobre o outro lado. Isto é comparável a determinar se a linha está entre as colunas C4 e C5 na Figura 21 (b). Se estiver (a etapa 95 emite um sim), o controle avança para a etapa 96.
[00188] O bloco de estrutura de quadro sobre um lado do limite é então convertido em um bloco de estrutura de campo (etapa 96). Esta conversão é comparável a converter um bloco na coluna C5 na Figura 21 (b) em um bloco na coluna C5 na Figura 21 (c). O bloco convertido é referido abaixo como um "bloco de conversão".
[00189] Se a remoção de distorção de codificação é necessária entre o bloco de conversão e o bloco de estrutura de campo no outro lado do limite é então determinado (etapa 97). Isto é comparável a decidir se a deblocagem é necessária no limite entre as colunas C4 e C5 na Figura 21 (c). Se for necessária, o controle avança para a etapa 98.
[00190] O número de pixels para filtrar é então determinado (etapa 98) , e a distorção de codificação é removida no modo de campo (etapa 99) .
[00191] A Figura 25 mostra um método por meio de que os blocos de estrutura de quadro são convertidos em blocos de estrutura de campo e a distorção de codificação é removida dos campos quando os blocos de estrutura de quadro e de estrutura de campo adaptavelmen-te codificados estão adjacentes, mas é ao contrário possível converter os blocos de estrutura de campo em blocos de estrutura de quadro, e remover a distorção de codificação em uma base de quadro.
[00192] Uma vantagem da remoção de distorção de codificação em uma base de campo como mostrado na Figura 25 é que a operação é resistente à degradação da qualidade de imagem não-natural porque a distorção de codificação é removida utilizando somente os pixels no mesmo instante de tempo mesmo em sinais de imagem com um rápido movimento. Por outro lado, como a correlação entre os pixels na direção vertical é mais forte nos quadros do que nos campos em sinais de imagem com pouco movimento, a deblocagem em uma base de quadro resulta em menos degradação de componentes de alta fre-qüência do que faz a deblocagem em uma base de campo. Assim, ambos os métodos têm vantagens, e o fabricante do equipamento podería selecionar o método preferível ou um meio poderia ser fornecido de modo que o usuário possa selecionar o método desejado.
[00193] A remoção de distorção de codificação poderia ser também aplicada por unidade de figura (quadro ou campo) ao invés de por unidade de bloco com uma codificação adaptável. O filtro de deblocagem pode ser simplificado fornecendo um filtro de deblocagem de modo de campo ou de modo de quadro para o processamento das unidades de figura. O filtro poderia estar fixo no modo de campo ou no modo de quadro, ou este poderia mudar em uma base de figura. Se o filtro muda em uma base de figura, o aparelho de codificação pode determinar o modo apropriado, e um sinal de identificação denotando se o filtro de deblocagem do aparelho de decodificação deve operar no modo de campo ou no modo de quadro pode ser adicionado ao cabeçalho de fluxo de código e transmitido para o decodificador.
[00194] Mais ainda, quando o modo de operação de campo ou de quadro pode mudar em uma base de unidade de bloco e a deblocagem e a mudança em uma base de campo é proibido (pela determinação de um parâmetro de figura para proibir a mudança na figura, por exemplo), a distorção de codificação pode ser removida por unidades de quadro.
[00195] Deve ser notado que o filtro de deblocagem na primeira até a quinta modalidades descritas acima pode ser utilizado como um pós-filtro como mostrado na Figura 32 ou em um filtro de laço como mostrado na Figura 33.
[00196] Pelo armazenamento dos dados de antes da operação de deblocagem na memória 64, uma imagem da qual a distorção de bloco não foi removida é referenciada como uma figura de predição quando utilizada como um filtro de laço, e existe um pouco mais de degradação da qualidade da imagem codificada comparado com a utilização de uma figura deblocada como a figura de predição.
[00197] Por outro lado, como o resultado da remoção de distorção de codificação não é utilizado como a imagem de referência quando utilizada como um pós-filtro, a imagem decodificada não será grandemente degradada independente do tipo de filtro de deblocagem 62 utilizado. Por exemplo, um filtro mais simples executando as mínimas operações poderia ser utilizado como o filtro de deblocagem 62 em um telefone celular, um dispositivo para o qual um baixo consumo de energia é uma prioridade, enquanto que um filtro de alta precisão, de alta qualidade de imagem poderia ser utilizado como o filtro de deblocagem 62 em um sistema de divertimento estacionário para o qual a qualidade de imagem é uma prioridade máxima. MODALIDADE 6 [00198] Gravando um programa que implementa as etapas do método de remoção de distorção de codificação, o método de codificação, e o método de decodificação descritos nas modalidades precedentes em um disco flexível ou em outro meio de gravação de dados legível por computador, os processos descritos nas modalidades acima podem ser facilmente executados em um sistema de computador independente.
[00199] A Figura 26 mostra um sistema de computador como uma modalidade adicional da invenção conseguida utilizando um meio de gravação de dados (um disco flexível neste exemplo) que armazena o método de remoção de distorção de codificação, o método de codificação, e o método de decodificação descritos na primeira até a quinta modalidades acima.
[00200] A Figura 26(b) mostra um disco flexível como visto de frente, uma vista em corte do mesmo, e o meio de disco real, e a Figura 26 (a) mostra o formato físico de um meio de gravação de disco flexível típico. O disco flexível FD está alojado dentro de uma caixa F. Uma pluralidade de trilhas concêntricas Tr estão formadas da circunferência externa para a circunferência interna sobre a superfície do disco, e as trilhas estão divididas na direção angular em 16 setores Se. Um disco flexível FD que armazena o programa acima de acordo com a presente invenção assim tem o método de remoção de distorção de codificação, o método de codificação, e o método de decodificação da invenção gravados como programas executáveis por computador em áreas especificamente alocadas sobre o disco flexível FD.
[00201] A Figura 26(c) mostra um aparelho para gravar e ler estes programas utilizando este disco flexível FD. Para gravar estes programas o disco flexível FD, o sistema de computador Cs escreve o método de remoção de distorção de codificação, o método de codificação, e o método de decodificaçâo como os programas por meio de uma unidade de disco flexível FDD. Para executar o método de remoção de distorção de codificação, o método de codificação, e o método de de-codificação no sistema de computador dos programas armazenados no disco flexível FD, os programas são lidos do disco flexível FD pela unidade de disco flexível e transferidos para o sistema de computador.
[00202] Deve ser notado que apesar de um disco flexível ser descrito acima como o meio de registro de dados, um disco ótico ou outro tipo de meio legível por computador podería ser utilizado, incluindo os discos CD-ROM, os cartões de memória, os cassetes de ROM, ou qualquer outro meio capaz de gravar similarmente os programas.
[00203] Um sistema que aplica o método de codificação de vídeo e o método de decodificaçâo de vídeo de acordo com as modalidades acima é descrito a seguir.
[00204] A Figura 27 é um diagrama esquemático que mostra a configuração geral de um sistema de suprimento de conteúdo ex10Q para fornecer um serviço de distribuição de conteúdo. A área de serviço deste sistema de comunicação está dividida em células de um tamanho desejado, e uma estação de base ex107 a ex110 (estação estacionária sem fio) está instalada de cada célula.
[00205] Este sistema de suprimento de conteúdo ex100 tem numerosos dispositivos individuais tais como um computador ex111, um PDA (Assistente Digital Pessoal) ex112, uma câmera ex113, um telefone celular ex114, e um telefone celular com uma câmera ex115 conectados na Internet ex101, por exemplo, por meio do provedor de serviços de Internet ex102, da rede telefônica ex104, e das estações de base ex107 a ex110.
[00206] Este sistema de suprimento de conteúdo ex100 não deverá estar limitado à configuração mostrada na Figura 27, no entanto, e os dispositivos desejados poderiam ser seletivamente conectados. Os dispositivos individuais poderiam também ser conectados diretamente na rede telefônica ex104 sem passar através das estações de base fixas ex107 a ex110.
[00207] A câmera ex113 é uma câmera de vídeo digital ou outro dispositivo capaz de capturar imagens de vídeo. O telefone celular podería utilizar qualquer um dos vários protocolos,incluindo o PDC (Comunicação Digital Pessoal), o CDMA (Acesso Múltiplo de Divisão de Código), W-CDMA (Acesso Múltiplo de Divisão de Código de Banda Larga), o GSM (Sistema Global para Comunicação Móvel), e o PHS (Sistema de Telefone Portátil Pessoal).
[00208] A câmera ex113 pode se conectar via uma estação de base ex109 e uma rede telefônica ex104 a um servidor de fluxo contínuo ex103, o qual pode transmitir as transmissões ao vivo de conteúdo codificado enviadas por um usuário utilizando a câmera ex113. O conteúdo recebido da câmera ex113 pode ser codificado pela câmera ex113 ou pelo servidor. Os dados de vídeo capturados com uma câmera ex116 podem também ser enviados via o computador ex111 para o servidor de fluxo contínuo ex103. Esta câmera ex116 é uma câmera digital ou outro dispositivo capaz de capturar tanto as figuras paradas quanto o vídeo. Os dados de vídeo recebidos da câmera ex116 podem ser codificados pela câmera ex116 ou pelo computador ex111. Em qualquer caso os dados de vídeo são processados pelo dispositivo de LSI ex117 no computador ex111 ou na câmera ex116. O software para a codificação e a decodificação de vídeo pode estar armazenado em qualquer meio de gravação de dados legível por computador (tais com um disco CD-ROM, um disco flexível, ou uma unidade de disco rígido) que o computador ex111 pode acessar.
[00209] Os dados de vídeo poderiam também ser enviados por um telefone celular com uma câmera ex115. Os dados de vídeo neste caso são codificados por um dispositivo de LSI no telefone celular com uma câmera ex115.
[00210] Com este sistema de suprimento de conteúdo ex100, um conteúdo (tal como uma gravação ao vivo de um concerto) gravado pelo usuário utilizando a câmera ex113, a câmera ex116, ou outro dispositivo é codificado como descrito nas modalidades acima da invenção e enviado para o servidor de fluxo contínuo ex103. O servidor de fluxo contínuo ex103 então transmite os dados de conteúdo para os clientes que solicitam os dados. Os clientes poderiam ser qualquer dispositivo capaz de decodificar o conteúdo codificado, incluindo o computador ex111, o PDA ex112, a câmera ex113, e o telefone celular ex114. Este sistema de suprimento de conteúdo ex100 assim permite que os clientes recebam e reproduzam os dados de conteúdo codificados, permite que os clientes recebam, decodifiquem, e reproduzam o conteúdo em tempo real, e é assim um sistema que permite uma transmissão pessoal.
[00211] O aparelho de codificação de vídeo e o aparelho de codifi- cação de vídeo da presente invenção descritos nas modalidades acima podem ser utilizados para a codificação e decodificação pelos dispositivos individuais neste sistema de suprimento de conteúdo ex100.
[00212] Um telefone celular utilizado neste sistema de suprimento de conteúdo ex100 é descrito a seguir como um exemplo.
[00213] A Figura 28 mostra uma telefone celular ex115 que utiliza o método de codificação de vídeo e o método de decodificação de vídeo descritos acima de acordo com a presente invenção. Como mostrado na Figura 28 este telefone celular com uma câmera ex115 tem uma antena ex201 para trocar sinais de RF com uma estação de base ex110; uma câmera ex203 tal como uma câmera de CCD para capturar vídeo e figuras paradas; uma unidade de mostrador ex202 tal como um LCD para apresentar as imagens capturadas pela câmera ex203 ou as imagens recebidas pela antena ex201 e então decodificadas; um painel de operação com um teclado ex204 e outros controles; uma unidade de saída de áudio tal como um alto falante ex208 para emitir o áudio; um microfone ex205 ou outro tipo de dispositivo de entrada de áudio; um meio de gravação ex207 para armazenar os dados codificados ou decodificados tais como os dados de vídeo ou de imagem parada capturados pela câmera ex203, e-mails recebidos, ou outros dados de vídeo ou de figura parada; e um encaixe ex206 para carregar um meio de gravação ex207 no telefone celular ex115. O meio de gravação ex207 poderia ser um Cartão SD ou outro tipo de dispositivo de memória instantânea tal como uma EEPROM (Memória Somente de Leitura Eletricamente Apagável e Programável) alojado em uma caixa plástica.
[00214] Este telefone celular ex115 é ainda descrito com referência à Figura 29. Conectados no controlador principal ex311 para controlar sistematicamente cada parte do telefone celular ex115 incluindo a unidade de mostrador ex202 e o teclado ex204 via o barramento de sin- cronização ex313 estão um circuito de suprimento de energia ex310, um controlador de entrada de operação ex304, uma unidade de codificação de imagem ex312, uma interface de câmera ex303, um controlador de LCD ex302, uma unidade de decodificação de imagem ex309, um multiplexador/demultiplexador ex308, uma unidade de leitu-ra/escrita ex307, uma unidade de modulador/demodulador ex306, e uma unidade de processamento de áudio ex305.
[00215] Quando o usuário coloca os botões de fim e de alimentação na posição ligada, o circuito de suprimento de energia ex310 supre energia de um pacote de baterias para cada parte do telefone celular ex115 e assim coloca o telefone celular digital ex115 com a câmera no modo de operação.
[00216] Controlado pelo controlador principal ex311, o qual tipicamente inclui uma CPU, uma ROM, e uma RAM, o telefone celular ex115 converte os sinais de áudio capturados pelo microfone ex205 quando no modo de conversa em dados de áudio digitais por meio da unidade de processamento de áudio ex305. A unidade de modulador/demodulador ex306 então expande em espectro a saída da unidade de processamento de áudio ex305, e o circuito de comunicação ex301 aplica um processamento de conversão de D/A e de conversão de freqüência, e então emite através da antena ex201. Quando no modo de conversa o telefone celular ex115 amplifica os sinais recebidos através da antena ex201 e aplica a conversão de freqüência e o processamento de A/D, a unidade de modulador/demodulador ex306 compacta o sinal, a unidade de processamento de áudio ex305 então converte o sinal compactado em um sinal de áudio analógico, e emite o sinal de áudio analógico pelo alto falante ex208.
[00217] Se um e-mail for enviado quando no modo de comunicação de dados, o dado de texto da mensagem de e-mail são inseridos utilizando o teclado ex204, e enviados através do controlador de entrada de operação ex304 para o controlador principal ex311. O controlador principal ex311 então expande em espectro os dados de texto utilizando a unidade de modulador/demodulador ex306, as conversões de D/A e a conversão de freqüência processa o sinal utilizando o circuito de comunicação ex301, e então transmite da antena ex201 para a estação de base ex110.
[00218] Para transmitir os dados de imagem quando do modo de comunicação de dados, os dados de imagem capturados com a câmera ex203 são supridos através da interface de câmera ex303 para a unidade de codificação de imagem ex312. Se os dados de imagem não são transmitidos, os dados de imagem capturados com a câmera ex203 podem ser mostrados diretamente na unidade de mostrador ex202 por meio da interface de câmera ex303 e do controlador de LCD ex302.
[00219] A unidade de codificação de imagem ex312 tem a configuração de um aparelho de codificação de imagem de acordo com a presente invenção. Esta converte os dados de imagem supridos da câmera ex203 em dados de imagem codificados por codificação de compressão utilizando o método de codificação utilizado no aparelho de codificação de imagem descrito nas modalidades anteriores, e emite os dados de imagem codificados para o multiplexador/demultiplexador ex308. O áudio capturado pelo microfone ex205 do telefone celular ex115 enquanto gravando com a câmera ex203 é também enviado para o multiplexador/demultiplexador ex308 como dados de áudio digitais pela unidade de processamento de áudio ex305.
[00220] O multiplexador/demultiplexador ex308 multiplexa os dados de figura codificados supridos da unidade de codificação de imagem ex312 com os dados de áudio supridos da unidade de processamento de áudio ex305. Os dados multiplexados resultantes são então expandidos em espectro pela unidade de modulador/demodulador ex306, uma conversão de D/A e uma conversão de freqüência são aplicadas pelo circuito de comunicação ex301, e o sinal é então transmitido da antena ex201.
[00221] Se os dados de um arquivo de vídeo acessados de um site de rede na Internet quando no modo de comunicação de dados são recebidos, o sinal recebido da estação de base ex110 via a antena ex201 é compactado pela unidade de modulador/demodulador ex306, e os dados multiplexados resultantes são enviados para o multiplexa-dor/demultiplexador ex308.
[00222] Para decodificar os dados multiplexados recebidos através da antena ex201, o multiplexador/demultiplexador ex308 demultiplexa os dados multiplexados para separar o fluxo de bits de dados de vídeo codificados e o fluxo de bit de dados de áudio codificados. O fluxo de bits de dados de vídeo codificados é então suprido para a unidade de decodificação de imagem ex309 e o fluxo de bits de dados de áudio codificados é suprido para a unidade de processamento de áudio ex305 por meio do barramento de sincronização ex313.
[00223] A unidade de decodificação de imagem ex309 tem a mesma configuração que o aparelho de decodificação de imagem descrito nas modalidades acima. Esta produz os dados de vídeo reconstruídos pela decodificação de um fluxo de bits de dados de vídeo codificados utilizando um método de decodificação que corresponde ao método de codificação descrito acima, e supre os dados de vídeo decodificados através do controlador de LCD ex302 na unidade de mostrador ex202. Os dados de vídeo em um arquivo de vídeo acessados de uma página da rede na Internet podem assim ser mostrados. A unidade de processamento de áudio ex305 também converte os dados de áudio em um sinal de áudio analógico ao mesmo tempo, e supre o resultado para o alto falante ex208. Os dados de áudio contidos em um arquivo de vídeo acessado de um site da rede na Internet podem assim também ser reproduzidos pelo alto falante.
[00224] O sistema de comunicação da presente invenção não deverá estar limitado à configuração acima. Este sistema poderia, por exemplo, ser adaptado a um sistema de transmissão digital como mostrado na Figura 30 que utiliza o aparelho de codificação de imagem e/ou o aparelho de decodificação de imagem da presente invenção para acessar as transmissões digitais transmitidas via satélite ou redes terrestres.
[00225] Mais especificamente, a estação de transmissão ex409 transmite um fluxo de bits de dados de vídeo codificados via ondas de rádio para um satélite de comunicação ou de transmissão ex 410. O satélite de transmissão ex410 recebendo esta transmissão transmite o sinal transmitido o qual é recebido por uma antena ex406 em uma residência, por exemplo, com um receptor de transmissão de satélite. O fluxo de bits codificado é então decodificado e reconstruído pelo receptor de televisão ex401, pela caixa de coleta (STB) ex407, ou por outro dispositivo.
[00226] O aparelho de decodificação de vídeo da presente invenção pode também ser implementado em um dispositivo de reprodução ex403 para ler e decodificar um fluxo de bits codificado gravado em um meio de gravação tal como um CD, um DVD, ou outro meio de armazenamento ex402. Neste caso o sinal de vídeo reconstruído é apresentado em um monitor ex404, por exemplo.
[00227] O aparelho de decodificação de imagem da invenção poderia também ser construído dentro de uma caixa de coleta ex407 conectada a uma antena de satélite ou de transmissão terrestre ex406 ou a uma antena a cabo ex405 para acesso de televisão a cabo. A saída desta caixa de coleta ex407 poderia também ser apresentada em um monitor de televisão ex408.
[00228] O aparelho de decodificação de imagem poderia alternati- vamente ser construído dentro da televisão ao invés de na caixa de coleta.
[00229] Os sinais poderíam também ser recebidos do satélite ex410 ou da estação de base ex107 por um automóvel ex412 que tem uma antena apropriada ex411, e o vídeo decodificado poderia ser apresentado no mostrador de um sistema de navegação de automóvel ex413 no automóvel ex412.
[00230] Um sinal de vídeo poderia também ser codificado por um aparelho de codificação de vídeo de acordo com uma modalidade da presente invenção e gravado em um meio de gravação de dados. Mais especificamente, um gravador de DVD poderia gravar o sinal de imagem em um disco de DVD ex421, ou um gravador de disco rígido ex420 poderia gravar o sinal de imagem. O sinal de vídeo poderia ainda alternativamente ser gravado em um Cartão SD ex422. Se o gravador ex420 tiver um aparelho de decodificação de vídeo de acordo com a presente invenção, este também poderia reproduzir e apresentar no monitor ex408 os sinais de vídeo gravados no disco de DVD ex421, no Cartão SD ex422, ou em outro meio de armazenamento.
[00231] Deve ser notado que o sistema de navegação de automóvel ex413 pode ser configurado sem a câmera ex203, a interface de câmera ex303, e a unidade de codificação de imagem ex312 mostradas na Figura 29. Isto também se aplica ao computador ex111 e à televisão (receptor) ex401, por exemplo.
[00232] O telefone celular ex114 ou outro terminal poderia ser um terminal transceptor que tem tanto o codificador quanto o decodificador acima descritos, ou este poderia ser um terminal de transmissão que tem somente o codificador, ou um terminal de recepção que tem somente o decodificador.
[00233] Será também óbvio que o aparelho de codificação e o aparelho de decodificação da presente invenção não deverão estar limita- dos às configurações descritas na primeira até a sexta modalidades acima, e podem ser variados em muitos modos.
[00234] O método de codificação de vídeo e o método de decodifi-cação de vídeo descritos nas modalidades acima podem assim ser utilizados em qualquer um dos dispositivos e sistemas descritos acima, por meio disto alcançando os efeitos destas modalidades.
[00235] O método de remoção de distorção de codificação da presente invenção assim fornece um método de remoção de distorção de codificação com um processo simples, um método de remoção de distorção de codificação com pouca probabilidade de reduzir a qualidade de imagem do sinal de imagem devido à remoção de distorção de codificação, e um método de codificação e um método de decodificação que podem reduzir a probabilidade de degradação da qualidade de imagem do sinal de imagem como um resultado da remoção de distorção de codificação. A presente invenção portanto tem um grande valor prático.
[00236] Apesar da presente invenção ter sido descrita em conexão com as suas modalidades preferidas com referência aos desenhos acompanhantes, deve ser notado que várias mudanças e modificações ficarão aparentes para aqueles versados na técnica. Tais mudanças e modificações devem ser compreendidas como incluídas no escopo da presente invenção como definido pelas reivindicações anexas, a menos que estas se afastem delas.
REIVINDICAÇÕES