BRPI0206777B1 - Method of removing encoding distortion - Google Patents
Method of removing encoding distortion Download PDFInfo
- Publication number
- BRPI0206777B1 BRPI0206777B1 BRPI0206777B1 BR PI0206777 B1 BRPI0206777 B1 BR PI0206777B1 BR PI0206777 B1 BRPI0206777 B1 BR PI0206777B1
- Authority
- BR
- Brazil
- Prior art keywords
- block
- coding distortion
- coding
- blocks
- image
- Prior art date
Links
- 238000000034 method Methods 0.000 claims description 67
- 230000003044 adaptive Effects 0.000 claims description 6
- 230000015654 memory Effects 0.000 description 43
- 238000010586 diagram Methods 0.000 description 38
- 230000000903 blocking Effects 0.000 description 30
- 238000006243 chemical reaction Methods 0.000 description 25
- 230000001131 transforming Effects 0.000 description 13
- 238000004891 communication Methods 0.000 description 12
- 238000007906 compression Methods 0.000 description 10
- 230000015556 catabolic process Effects 0.000 description 9
- 230000004059 degradation Effects 0.000 description 9
- 238000006731 degradation reaction Methods 0.000 description 9
- 238000001914 filtration Methods 0.000 description 8
- 238000005259 measurement Methods 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 7
- 230000000875 corresponding Effects 0.000 description 7
- 238000001514 detection method Methods 0.000 description 6
- 230000000051 modifying Effects 0.000 description 6
- 241001442055 Vipera berus Species 0.000 description 5
- 230000005236 sound signal Effects 0.000 description 4
- 230000001629 suppression Effects 0.000 description 4
- 108060000351 ALYREF Proteins 0.000 description 3
- 101710028400 Alyref2 Proteins 0.000 description 3
- 101700054466 dif-1 Proteins 0.000 description 3
- 238000011156 evaluation Methods 0.000 description 3
- 230000001419 dependent Effects 0.000 description 2
- 239000000428 dust Substances 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000006011 modification reaction Methods 0.000 description 2
- 229920001690 polydopamine Polymers 0.000 description 2
- 238000000844 transformation Methods 0.000 description 2
- 201000000194 ITM2B-related cerebral amyloid angiopathy 2 Diseases 0.000 description 1
- 102200088351 PRB1 H26L Human genes 0.000 description 1
- 101700080201 SC29 Proteins 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 230000000593 degrading Effects 0.000 description 1
- 238000009792 diffusion process Methods 0.000 description 1
- 238000002592 echocardiography Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000003287 optical Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
Description
Relatório Descritivo da Patente de Invenção para "MÉTODO DE REMOÇÃO DE DISTORÇÃO DE CODIFICAÇÃO".
Campo Técnico [001] A presente invenção refere-se a um método de remoção de distorção de codificação para remover distorção de codificação que ocorre quando da codificação de 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 usando esse método de remoção de distorção de codificação e um meio de registro de dados armazenando um programa para implementar esses métodos em software. Técnica Anterior [002] Através de avanços nas tecnologias digitais que combinam múltiplos áudio, vídeo e outras espécies de correntes de pixels em uma única corrente de transmissão, meios de informação convencionais, isto é, dispositivos de comunicação de informação para pessoas, tais como jornais, revistas, televisão, rádio e telefone, podem agora ser usados para comunicação de multimídia. "Multimídia", em geral, refere-se a texto, gráficos, áudio e vídeo ligados um ao outro em uma única corrente de transmissão, mas meios de informação convencionais devem primeiro ser digitalizados antes que a informação possa ser manipulada em um formato de multimídia.
[003] A capacidade de armazenamento estimada necessária para armazenar a informação conduzida pelos meios de informação convencionais, quando convertida em dados digitais é apenas 1 ou 2 bytes por caractere para texto, mas 64 kbits por um segundo de áudio da qualidade de telefone e 100 Mbits por um segundo de vídeo em qualidade de receptor de televisão corrente. Portanto, não é prático manipular essas quantidades maciças de informação na forma digital nos meios de informação acima. Por exemplo, serviço de vídeo telefonia está disponível através de linhas de ISDN (Rede Digital de Serviços Integrados) com uma velocidade de transmissão de 64 Kbps a 1,5 Mbps, mas vídeo em grau de câmera de televisão não pode ser enviado como é através das linhas de ISDN.
[004] A compressão de dados, portanto, se torna essencial. O serviço de vídeo telefonia, por exemplo, é implementado através do uso de técnicas de compressão de vídeo padronizadas internacionalmente nas Recomendações H.261 e H.263 da ITU-T (International Telecommunication Union, Tele-communication Standardization Sector - Setor de Padronização de Telecomunicações). O uso dos métodos de compressão de dados definidos em MPEG-1, informação de vídeo pode ser registrada com áudio em um CD (Compact Disc) de áudio convencional.
[005] O MPEG (Moving Picture Experts Group) é um padrão internacional para comprimir digitalmente sinais de figura em movimento (vídeo). O MPEG-1 permite a compressão de um sinal de vídeo para 1,5 Mbps, isto é, compressão da informação em um sinal de televisão aproximadamente 100:1. Além disso, como a velocidade de transmissão para vídeo em MPEG-1 está limitada em aproximadamente 1,5 Mbps, MPEG-2, que foi padronizado para satisfazer a demanda para qualidade maior da figura, permite a compressão de um sinal de figura em movimento para 2 Mbps a 15 Mbps.
[006] O MPEG-4 com uma taxa de compressão maior também tem sido padronizado pelo grupo de trabalho (ISO/IEC JTC1/SC29/WG11) que avançou a padronização de MPEG-1 e MPEG-2. O MPEG-4 não só permite uma codificação de alta eficiência, com baixa taxa de bits, também introduz uma tecnologia poderosa de resistência ao erro, capaz de reduzir a degradação de imagem subjetiva, mesmo quando erros de curso de transmissão ocorrem. A ITU-T também está trabalhando na Recomendação de padronização H.26L como um método de codificação de figura de geração seguinte.
[007] Ao contrário das técnicas de codificação de vídeo convencionais, a H26L usa um método de remoção de distorção de codificação acompanhado por um processo complexo para remover distorção de codificação. Métodos de codificação de unidades de blocos usando transformações orto-gonais, tais com as técnicas de DCT amplamente usadas na codificação de vídeo são conhecidas por estarem sujeitas a uma distorção semelhante à grade conhecida como distorção em blocos nos limites dos blocos de codificação. Por causa da perda de qualidade de imagem em componentes de baixa freqüência, é mais evidente do que a perda de qualidade de imagem em componentes de 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 unidades de blocos. Além disso, 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, substancialmente, a não ter componentes de alta freqüência e pixels adjacentes em um bloco tendem a ter, substancialmente, o mesmo valor de pixel.
[008] Além disso, como a codificação é por unidade de bloco, não há garantia de que os valores de pixels serão substancialmente os mesmos no limite entre blocos adjacentes, isto é, que os valores de pixels mudarão continuamente através do limite de blocos, mesmo se os valores de pixels forem substancialmente idênticos dentro de cada bloco. O resultado é que, conforme mostrado na figura 31 descrevendo o conceito de remoção de distorção de codificação, embora a mudança nos valores dos pixels seja suave e contínua na imagem fonte através do limite de bloco indicado pela linha tracejada, conforme mostrado na figura 31 (a), e os valores de pixels mudam continuamente dentro de cada bloco, conforme mostrado na figura 31 (b) após a imagem fonte ser codificada pela unidade de bloco, distorção de bloco, isto é, uma descontinuidade em valores de pixels, apenas no limite de bloco, ocorre. A distorção de bloco é, assim, um problema significativo de qualidade de imagem resultante da codificação de imagem, mas pode ser reduzida por intermédio da correção dos valores de pixels para serem contínuos através do limite de bloco, conforme mostrado na figura 31 (c). Esse processo de redução de distorção de bloco é chamado remoção de distorção de codificação (também referido como "deblocagem").
[009] Quando a deblocagem é aplicada no estágio de decodificação de vídeo, o filtro de deblocagem pode ser usado como um pós-filtro, conforme mostrado no diagrama em blocos de um decodificador de vídeo usando um método convencional de decodificação na figura 32, ou pode ser usado como um filtro em laço, conforme mostrado no diagrama em blocos de um decodificador de vídeo usando um método convencional de decodificação na figura 33. As configurações mostradas nesses diagramas em blocos são descritas abaixo.
[010] No diagrama em blocos de um decodificador de vídeo usando um método convencional de decodificação mostrado na figura 32, um decodificador de comprimento variável 52 decodifica em comprimento variável o sinal codificado Str e sai componente de código de freqüência DCoef. Uma unidade de varredura de-ziguezague 54 redistribui os componentes de freqüência do componente de código de freqüência DCoef em blocos bidimensionais e sai componente de freqüência FCoef, os componentes de freqüência de unidades de blocos. A unidade de transformação inversa de co-seno 56 aplica operações de dequantificação e DCT reversa ao componente de freqüência FCoef e sai imagem de diferença DifCoef.
[011] No compensador de movimento 60 sai o pixel na posição indicada pelo vetor de movimento MV de entrada externamente da imagem de referência Ref acumulada na memória 64 como imagem compensada de movimento MCpel. O somador 58 adiciona imagem de diferença DifCoef e imagem compensada de movimento MCpel para sair a imagem reconstruída Coef. O filtro de deblocagem 62 aplica remoção de distorção de codificação à imagem reconstruída Coef e sai o sinal de imagem decodificado Vout. A imagem reconstruída Coef é armazenada na memória 64 e usada como imagem de referência Ref para a decodificação de imagem seguinte.
[012] O diagrama em blocos na figura 33 de um decodificador de vídeo usando um método de decodificação convencional é substancialmente idêntico ao diagrama em blocos de um 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 de sinal de imagem decodificado Vout do filtro de deblocagem 62 é armazenada na memória 64.
[013] O diagrama em blocos na figura 32 de um decodificador de vídeo usando um método de decodificação convencional mostra a configuração e o método usados em MPEG-1, MPEG-2, MPEG-4 e H.263. O diagrama em blocos na figura 33 de um decodificador de vídeo usando um método de decodificação convencional mostra a configuração e o método usados em H.261 e H.26L TM8.
[014] Com o diagrama em blocos na figura 32 de um decodificador de vídeo usando 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. Isso permite desenvolver e implementar vários tipos de filtros de deblocagem 62, incluindo filtros complexos embora de alto desempenho, bem como filtros simples, com relativamente pouco efeito, de acordo com o desempenho do hardware disponível e a aplicação específica. A vantagem é que um filtro de deblocagem 62 apropriado ao dispositivo pode ser usado.
[015] Com o diagrama em blocos na figura 33 de um decodificador de vídeo usando 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 em um apropriado para o hardware ou a aplicação, mas a vantagem é que o mesmo nível de remoção de distorção de codificação pode ser assegurado em cada dispositivo.
[016] A figura 34 é um diagrama em blocos de uma unidade de remoção de distorção de codificação usando 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, apenas a distorção de codificação de um sinal de imagem contendo distorção de codificação, é importante para determinar a quantidade e a tendência para distorção de codificação no sinal de imagem e, a seguir, aplicar filtragem apropriada de modo a não degradar o sinal de imagem real.
[017] Como os componentes de alta freqüência são responsáveis, em muito, pela distorção de codificação, o conceito geral por trás da remoção de distorção de codificação é observar cuidadosamente o sinal de imagem para determinar a razão dos componentes de alta freqüência no sinal de imagem, identificar componentes de alta freqüência em pixels de sinais de imagem normalmente embora não contenham um componente de alta freqüência como distorção de codificação e aplicar um filtro de supressão de componente de alta frequência à distorção de codificação. Isso é possível porque a correlação entre pixels adjacentes em um sinal de imagem é alta, pixels contendo um componente de alta frequência estão concentrados em áreas de borda e componentes de alta freqüência dispersos podem ser considerados como sendo distorção de codificação.
[018] O filtro de deblocagem 62 foi criado pelos inventores da presente invenção com base no conteúdo encontrado na Recomendação H.26L TML8 da ITU-T.
[019] O controlador de contagem de pixels filtrados 84 usa imagem reconstruída Coef para determinaras posições de pixels contendo distorção de codificação e sai contagem de pixels filtrados FtrPel. O controlador de coeficiente de filtro 86 usa contagem de pixels filtrados FtrPel e imagem reconstruída Coef para determinar o coeficiente de filtro (incluindo o número de derivações de filtro} apropriado para remover distorção de codificação dos pixels indicados e sai coeficiente de filtro FtrTap. O processador de filtro 88 aplica filtragem para remover distorção de codificação da imagem reconstruída Coef usando o coeficiente de filtro indicado pelo coeficiente de filtro FtrTap e sai sinal de imagem decodificado Vout.
Descrição da Invenção [020] Os métodos convencionais de remoção de distorção de codificação descritos acima são particularmente eficazes na remoção de distorção de codificação, mas o processo é extremamente complexo e a implementação difícil.
[021] Um outro problema é que a quantidade de dados processados por tempo unitário é alta.
[022] Além disso, não importa quão eficaz 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 outra informação adicional e há, portanto, a possibilidade de que a remoção de distorção de codificação degradará a qualidade da imagem. Esse problema é particularmente grande com uma configuração conforme mostrado no diagrama em blocos na figura 33 de um decodificador de vídeo usando um método convencional de deco-dificação porque o resultado da deblocagem é usado como imagem de referência e, portanto, afeta o resultado da codificação de cada figura subse-qüente.
[023] Um objetivo da presente invenção é, portanto, proporcionar um método simples de remoção de distorção de codificação.
[024] Um outro objetivo é proporcionar um método de remoção de distorção de codificação, um método de codificação e um método de decodifi-cação pelo que a probabilidade de degradação da qualidade de sinal de imagem pode ser reduzida pela aplicação de remoção de distorção de codificação de alto desempenho com menos probabilidade de degradação de qualidade de sinal de imagem como um resultado da remoção de distorção de codificação do que a técnica anterior.
[025] Para alcançar esse objetivo, um método de remoção de distorção de codificação de acordo com a presente invenção para remoção de distorção de codificação de uma figura usa métodos diferentes para remover a distorção de codificação em limites onde o limite de unidade de compensação de movimento corresponde ao par de limite de unidade de codificação e o limite dependente de 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.
[026] Como a distorção de codificação no limite da unidade de compensação de movimento difere qualitativamente da distorção de codificação no limite da unidade de codificação, a distorção de codificação pode ser removida eficientemente de um sinal de imagem contendo distorção de codificação através da mudança do filtro usado para deblocagem de acordo com a unidade.
[027] Além disso, quando o erro de compensação de movimento codificado é 0, a distorção de codificação é removida, de preferência, apenas no limite do bloco de compensação de movimento.
[028] Um outro aspecto da invenção é um método de remoção de distorção de codificação para remoção de distorção de codificação de uma figu- ra por meio de uma etapa de extrair parâmetros da figura de uma figura contendo distorção de codificação; uma primeira etapa para identificar pixels para remoção de distorção de codificação usando os parâmetros de figura; uma segunda etapa para identificar o método para remoção de distorção de codificação usando os parâmetros da figura; e uma terceira etapa para remoção de distorção de codificação dos pixels identificados pela primeira etapa, usando o método de remoção de distorção de codificação identificado pela segunda etapa.
[029] Computando primeiro os parâmetros de figura que podem ser usados na primeira etapa identificando os pixels dos quais a distorção de codificação é removida e na segunda etapa identificando o método usado para remoção de distorção de codificação, as operações realizadas na primeira etapa e na segunda etapa podem ser simplificadas pelo uso desses parâmetros comuns de figura, e o processamento pelo método de remoção de distorção de codificação pode ser reduzido sem degradar a qualidade da imagem.
[030] Um outro aspecto 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 pelo que os pixels a serem processados para remoção de distorção de codificação são identificados pela determinação, baseada em bloco, se remover distorção de codificação por unidade em bloco, e então a determinação, baseada em pixels, se remover a distorção de codificação para remover para cada pixel nos blocos determinados para serem removidos pela determinação baseada em bloco.
[031] Desse modo, determinando primeiro, pela 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 necessitam deblocagem e o processamento realizado 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 blocos de imagens fixas, onde os pixels correspondem perfeitamente à imagem de referência) podem ser facilmente determinados, se a informação de codificação de imagem for usada.
[032] Um outro aspecto da invenção é um método de remoção de distorção de codificação para remoção de distorção de codificação em uma área disposta em ambos os lados de um limite de bloco entre um primeiro bloco e um segundo bloco adjacente em uma figura tendo uma pluralidade de blocos que formam uma imagem de figura móvel. Esse método tem uma etapa de comparação para comparar uma diferença de valores de pixels do primeiro bloco e valores de pixels em pixels do segundo bloco e um parâmetro, correspondendo à 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 remoção de distorção de codificação; e uma etapa de remoção para remoção de distorção de codificação com base no resultado da etapa de comparação.
[033] Isso permite que a média dos parâmetros de quantificação para os blocos adjacentes seja usada quando da filtragem de ambos os lados do limite de bloco em um processo de remoção de distorção de codificação no limite de bloco entre diferentes parâmetros de quantificação.
[034] Outro método de remoção de distorção de codificação para remoção de distorção de codificação em uma área disposta em ambos os lados de uma linha limite entre um primeiro bloco e um segundo bloco adjacente em uma figura tendo uma pluralidade de blocos que formam uma imagem de figura móvel tem uma etapa de decodificação para decodificar um parâmetro para estabelecer um valor limite, quando da remoção de distorção de codificação; uma etapa de comparação para comparar uma diferença de valores de pixels em pixels do primeiro bloco e valores de pixels em pixels do segundo bloco e um valor limite específico com base no parâmetro decodificado; e uma etapa de remoção para comutar o método para remoção de distorção de codificação com base no resultado da etapa de comparação.
[035] A distorção de codificação pode, assim, ser eficientemente removida de um sinal de imagem contendo distorção de codificação sobrepondo primeiro a cada sinal codificado um parâmetro de valor limite usado para remoção de distorção de codificação e, a seguir, antes da remoção de distorção de codificação, detectando o valor limite apropriado para cada sinal codificado e usando o mesmo para remover distorção de codificação.
[036] Ainda, de preferência, a figura móvel contém um pedaço composto de múltiplos blocos; e o parâmetro é armazenado no pedaço de informação de cabeçalho em uma corrente de código obtida pela codificação de dados de imagem para a figura em movimento.
[037] Um outro aspecto da invenção é um aparelho de codificação de figura móvel para codificação de figura 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 usando múltiplos métodos são as imagens de referência.
[038] Desse modo, através do uso de múltiplas imagens deblocadas por pelo menos dois métodos como imagens de referência e selecionando, seqüencialmente, o apropriado para referência, a figura obtida pela remoção, eficientemente, de distorção de codificação de um sinal de imagem contendo distorção de codificação pode ser usada como a imagem de referência e a taxa de compressão de codificação de imagem móvel pode ser aumentada.
[039] Ainda, de preferência, o primeiro método dos múltiplos métodos é um método que não remove distorção de codificação na figura codificada, e o segundo método é um método que remove distorção de codificação na figura codificada.
[040] Um outro aspecto da invenção é um aparelho de decodificação de figura em movimento para decodificação com referência a pelo menos uma de múltiplas imagens de referência, em que uma pluralidade de imagens decodificadas obtidas pela remoção de distorção de codificação usando múltiplos métodos são as imagens de referência.
[041] Por intermédio do uso de múltiplas imagens deblocadas por pelo menos dois métodos como imagens de referência e, seqüencialmente, selecionando o apropriado para referência, a figura obtida pela remoção eficiente de distorção de codificação 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.
[042] Ainda, de preferência, o primeiro método dos múltiplos métodos é 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 distorção de codificação na figura decodificada.
[043] Um outro aspecto da invenção é um método de remoção de distorção de codificação para remoção de distorção de codificação em uma figura entrelaçada composta de pixels de linhas ímpares e pixels de linhas pares. Esse método tem uma etapa de avaliação para determinar se uma figura é uma figura contendo blocos estruturais de quadro tendo um número específico de pixels de linhas ímpares e um número específico de pixels de linhas pares, uma figura contendo blocos de uma estrutura de campo composta de um número específico de pixels de linhas ímpares ou uma figura contendo blocos de outra estrutura de campo composta de um número específico de pixels de linhas pares; e uma etapa de remoção para remover distorção de codificação entre blocos estruturais de quadro adjacentes, quando o bloco alvo para remoção de distorção de codificação é um bloco em uma figura em que todos os blocos são blocos estruturais de quadro e, remoção de distorção de codificação entre blocos estruturais de campos adjacentes, quando o bloco alvo para remoção de distorção de codificação é um bloco em uma figura em que todos os blocos são blocos estruturais de campo.
[044] O processamento dos blocos para remoção de distorção de codificação pode, assim, ser mudado com base em se os blocos estão em uma figura de blocos estruturais de quadro ou uma figura de blocos estruturais de campo.
[045] De preferência, se o bloco alvo para remoção de distorção de codificação for um bloco de uma figura contendo blocos estruturais de quadro e blocos estruturais 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 pixels em pixels do bloco de estrutura de campo e valores de pixels em pixels do bloco convertido com um valor limite específico; e uma etapa de remoção para remover distorção de codificação com base no resultado da etapa de comparação.
[046] Em um outro método de remoção de distorção de codificação para remover distorção de codificação em uma área disposta em ambos os lados de uma linha limite entre um primeiro bloco e um segundo bloco adjacente em uma figura tendo uma pluralidade de blocos que formam uma imagem da figura móvel, os primeiros blocos são blocos estruturais de quadro tendo um número específico de pixels de linhas ímpares e um número específico de pixels de linhas pares em uma figura entrelaçada composta de pixels de linhas ímpares e pixels de linhas pares e os segundos blocos são blocos estruturais de campo tendo um campo composto de um número específico de pixels de linhas ímpares em uma figura entrelaçada composta de pixels de linhas ímpares e pixels de linhas pares e outro campo composto de um número específico de pixels de linhas pares em uma figura entrelaçada composta de pixels de linhas ímpares e 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 a um bloco de estrutura de campo; uma etapa de comparação para comparar uma diferença de valores de pixels em pixels do segundo bloco de estrutura de campo e valores de pixels em pixels do bloco convertido com um valor limite específico; e uma etapa de remoção para remover distorção de codificação com base no resultado da etapa de comparação.
[047] Quando os blocos de estrutura de campo e blocos de estrutura de quadro são adjacentes, os blocos alvo para remoção de distorção de codificação podem, assim, ser processados adaptativamente.
[048] De preferência, a conversão dos primeiros blocos da estrutura de quadro em blocos de estruturas de campo comuta pela unidade ou unidades de macrobloco de dois macroblocos verticalmente adjacentes.
[049] Ainda, de preferência, os segundos blocos de estrutura de campo não são convertidos em blocos de estruturas de quadro.
[050] Em um outro método de remoção de distorção de codificação para remover distorção de codificação em uma área disposta em ambos os lados de uma linha limite entre um primeiro bloco e um segundo bloco adja- cente em uma figura tendo uma pluralidade de blocos formando uma imagem de figura em movimento, os primeiros blocos são blocos estruturais de quadro tendo um número específico de pixels de linhas ímpares e um número específico de pixels de linhas pares em uma figura entrelaçada composta de pixels de linhas ímpares e pixels de linhas pares e os segundos blocos são blocos estruturais de campo tendo um campo composto de um número específico de pixels de linhas ímpares em uma figura entrelaçada composta de pixels de linhas ímpares e pixels de linhas pares e outro campo composto de um número específico de pixels de linhas pares em uma figura entrelaçada composta de pixels de linhas ímpares e 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 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 o 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, conversão do 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 pixels em pixels do bloco alvo com um valor limite específico; e uma etapa de remoção para remover distorção de codificação com base no resultado da etapa de comparação.
[051] Quando os blocos de estruturas de campo e os blocos de estruturas de quadro são adjacentes, os blocos alvo para remoção de distorção de codificação podem, assim, ser processados, adaptativamente.
[052] De preferência, a conversão na etapa de conversão de um bloco de estrutura de quadro para um 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 dos 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 valores de pixels em pixels em um campo do segundo bloco e valores de pixels em pixels em um campo do primeiro bloco após a conversão, ou compara os valores de pixels em pixels do outro campo no segundo bloco e valores de pixels em pixels do outro campo no primeiro bloco após a conversão.
[053] Em um outro método de remoção de distorção de codificação para remoção de distorção de codificação em uma área disposta em ambos os lados de uma linha limite entre um primeiro bloco e um segundo bloco adjacente em uma figura tendo uma pluralidade de blocos que formam uma imagem de figura em movimento, os primeiros blocos são blocos estruturais de quadro tendo um número específico de pixels de linhas ímpares e um número específico de pixels de linhas pares em uma figura entrelaçada composta de pixels de linhas ímpares e pixels de linhas pares e os segundos blocos são blocos estruturais de campo tendo um campo composto de um número específico de pixels de linhas ímpares em uma figura entrelaçada composta de pixels de linhas ímpares e pixels de linhas pares, e outro campo composto de um número específico de pixels de linhas pares em uma figura entrelaçada composta de pixels de linhas ímpares e 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 pixels em pixels do primeiro bloco de estrutura de quadro e valores de pixels em pixels do bloco convertido com um valor limite específico; e uma etapa de remoção para remover distorção de codificação com base no resultado da etapa de comparação.
[054] Quando blocos estruturais de campo e blocos estruturais de quadro são adjacentes, os blocos alvo para remoção de distorção de codificação podem, assim, ser processados adaptativamente.
[055] Ainda, de preferência, a conversão dos segundos blocos de estruturas de campo em blocos estruturais de quadro comuta por unidade ou unidades de macroblocos de dois macroblocos verticalmente adjacentes.
[056] Ainda, de preferência, os segundos blocos de estruturas de campo não são convertidos em blocos estruturais de quadro.
[057] Ainda, mais preferivelmente, a conversão na etapa de conversão do bloco de estrutura de campo em bloco de estrutura de quadro produz um quadro convertido de pixels em um bloco de um campo e pixels em um bloco do outro campo e compara os valores de pixels em pixels de linhas ímpares no primeiro bloco com valores de pixels em pixels de linhas pares no segundo bloco após a conversão ou compara valores de pixels em pixels de linhas pares no primeiro bloco com valores de pixels em pixels de linhas pares no segundo bloco após a conversão.
[058] Ainda mais preferivelmente, a etapa de comparação compara a diferença e o valor limite por grupos de múltiplos pixels alinhados em linha em uma mesma direção que a linha limite em posições simétricas à linha limite.
[059] Isso permite que a distorção de codificação seja removida em grupos de múltiplos pixels.
[060] Ainda um outro aspecto da presente invenção é um aparelho de codificação de figura tendo uma unidade de decodificação para decodificar uma figura de diferença codificada e saindo a figura de diferença; uma unidade de compensação de movimento para sair uma figura compensada de movimento de uma imagem de referência; um somador para adicionar a figura de diferença e a figura compensada de movimento e saindo a figura fundida; uma unidade de remoção de distorção de codificação para remover distorção de codificação na figura fundida e saindo uma figura reconstruída; e 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 descritos acima.
[061] Ainda outro aspecto da invenção é um programa para remover distorção de codificação de uma figura por meio de qualquer um dos métodos da invenção descritos acima.
[062] Um outro aspecto da invenção é um programa para codificação de figura usando uma unidade de decodificação para decodificar uma figura de diferença decodificada e saindo a figura de diferença; uma unidade de compensação de movimento para sair uma figura compensada de movimento de uma imagem de referência; um somador para adicionar a figura de di- ferença e a figura compensada de movimento e saindo a imagem fundida; uma unidade de remoção de distorção de codificação para remover distorção de codificação na figura fundida e saindo uma figura reconstruída; e 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 distorção de codificação por meio de qualquer um dos métodos da invenção descritos acima.
[063] Outros objetivos e realizações junto com uma compreensão mais completa da invenção se tornarão evidentes e apreciados através de referência à descrição e reivindicações a seguir, tomadas em conjunto com os desenhos anexos.
Breve Descrição dos Desenhos [064] A figura 1 é um diagrama em blocos de um aparelho de decodifi-cação de vídeo usando um método de decodificaçao de acordo com a presente invenção;
[065] A figura 2 é um diagrama em blocos de uma unidade de remoção de distorção de codificação usando um método de remoção de distorção de codificação de acordo com uma primeira concretização da presente invenção;
[066] As figuras 3(a), 3{b), 3(c), 3{d), 3(e), 3{f) e 3(g) mostram um exemplo do tamanho de bloco de compensação de movimento;
[067] A figura 4 é um fluxograma de um método de remoção de distorção de codificação de acordo com uma segunda concretização da presente invenção;
[068] A 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 concretização da presente invenção;
[069] A figura 6 é um fluxograma 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 concretização da presente invenção;
[070] A figura 7 é um fluxograma para determinar o coeficiente de filtro em um método de remoção de distorção de codificação de acordo com uma segunda concretização da presente invenção;
[071] As figuras 8(a) e 8(b) são um diagrama em blocos de uma unidade de remoção de distorção de codificação usando o método de remoção de distorção de codificação de acordo com uma segunda concretização da presente invenção e um diagrama mostrando alinhamento de pixel;
[072] A figura 9 é um diagrama em blocos de um dispositivo de codificação usando um método de codificação de acordo com uma terceira concretização da presente invenção;
[073] A figura 10 é um diagrama em blocos de um dispositivo de de-codificação usando um método de decodificação de acordo com uma terceira concretização da presente invenção;
[074] A figura 11 é um diagrama em blocos de uma unidade de remoção de distorção de codificação usando o método de remoção de distorção de codificação de acordo com uma quarta concretização da presente invenção;
[075] As figuras 12(a), 12(b), 12(c) e 12(d) mostram a estrutura do sinal codificado Str em um método de remoção de distorção de codificação de acordo com uma quarta concretização da presente invenção;
[076] A figura 13 é um diagrama em blocos mostrando um processo de codificação de vídeo usando um filtro de laço;
[077] A figura 14 é um diagrama em blocos mostrando a localização da seleção automática do valor limite em um laço de codificação de vídeo;
[078] A figura 15 é um fluxograma mostrando um método para reunir dados para encontrar um valor limite ótimo;
[079] A figura 16 é um fluxograma mostrando outro método para coletar dados para encontrar um valor limite ótimo;
[080] A figura 17 é um fluxograma mostrando um método para selecionar um valor limite otimizado;
[081] A figura 18 mostra a vizinhança de blocos tendo limites comuns para os quais a deblocagem pode ser saltada;
[082] A figura 19 mostra um grupo contendo pixels múltiplos;
[083] A figura 20(a) descreve uma estrutura de quadro e a figura 20(b) descreve uma estrutura de campo;
[084] A figura 21 (a) descreve uma estrutura onde uma estrutura de quadro e uma estrutura de campo são misturadas em uma única figura, e a figura 21 (b) e a figura 21 (c) descrevem etapas no processo de remoção de distorção de codificação no limite entre uma estrutura de campo e um estrutura de quadro;
[085] A figura 22 é um fluxograma de um processo de remoção de distorção de codificação usado quando as estruturas de quadro e de campo são misturadas;
[086] A figura 23 é um fluxograma para uma variação em que as memórias de etapas 64 e 67 na figura 22 são combinadas;
[087] A figura 24 é um fluxograma para uma variação em que as memórias de etapas 65 e 68 na figura 23 são combinadas;
[088] A figura 25 é um fluxograma de um processo usado quando um bloco de estrutura de quadro e um bloco de estrutura de campo estão em lados opostos do limite de bloco;
[089] As figuras 26(a), 26(b) e 26(c) descrevem um meio de registro de acordo com uma sexta concretização da presente invenção para armazenar um programa executável em computador implementando métodos de codificação de comprimento variável e de decodificação de comprimento variável das primeira e segunda concretizações da invenção;
[090] A figura 27 é um diagrama em blocos mostrando a configuração global de um sistema de fornecimento de conteúdo;
[091] A figura 28 mostra um telefone celular exemplificativo usando um método de codificação de vídeo e um método de decodificação de vídeo;
[092] A figura 29 é um diagrama em blocos de um telefone celular;
[093] A figura 30 mostra um exemplo de um sistema de difusão digital;
[094] As figuras 31 (a), 31 (b) e 31 (c) mostram diagramas de níveis de sinais de pixels para descrever o conceito de um método de remoção de distorção de codificação;
[095] A figura 32 é um diagrama em blocos de um aparelho de decodificação de vídeo usando um método de decodificação da técnica anterior;
[096] A figura 33 é um diagrama em blocos de um aparelho de de codificação de video usando um método de decodificação da técnica anterior; e [097] A figura 34 é um diagrama em blocos de uma unidade de remoção de distorção de codificação usando um método de remoção de distorção de codificação de acordo com a técnica anterior.
Melhor Modo para Realização da Invenção [098] As concretizações preferidas da presente invenção são descritas abaixo com referência às figuras anexas.
Concretização 1 [099] No diagrama em blocos de um aparelho de decodificação de video usando um método de decodificação de vídeo, o comprimento variável do decodificador de comprimento variável 52 decodifica o sinal codificado Str e sai componente de código de freqüência DCoef. A unidade de varredura de de-ziguezague 54 redistribui os componentes de freqüência do componente de código de freqüência Dcoef em blocos bidimensionais e sai componente de freqüência FCoef, os componentes de freqüência de unidade de bloco. A unidade de transformação inversa de co-seno 56 aplica operações de dequantificação e DCT inverso ao componente de freqüência FCoef e sai imagem de diferença DifCoef.
[0100] No compensador de movimento 60 sai o pixel na posição indicada pelo vetor de movimento introduzido externamente MV da imagem de referência Ref acumulada na memória 64 como imagem compensada de movimento MCpel e sai tamanho de bloco de compensação de movimento MCsize, denotando o tamanho do bloco de compensação de movimento. O somador 58 adiciona a imagem de diferença DifCoef e a imagem compensada de movimento MCpel para fazer sair a imagem reconstruída Coef.
[0101] O filtro de deblocagem 62 recebe a imagem reconstruída Coef, o tamanho de bloco de compensação de movimento MCsize e a imagem de diferença DifCoef, aplica remoção de distorção de codificação e sai o sinal de imagem decodificado Vout. A imagem reconstruída Coef é armazenada na memória 64 e usada como imagem de referência Ref para a decodificação de imagem seguinte.
[0102] A figura 2 é um diagrama em blocos do filtro de deblocagem 62 (também chamado uma unidade de remoção de distorção de codificação), usando um método de remoção de distorção de codificação de acordo com a presente invenção. Esse 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.
[0103] O controlador de contagem de pixels filtrados 4 determina as posições de pixels contendo distorção de codificação para cada imagem reconstruída Coef e sai contagem de pixels filtrados FtrPel. A contagem de pixels filtrados FtrPel, desse modo, indica a posição do pixel que precisa ser filtrado.
[0104] O controlador de coeficiente de filtro 6 usa 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 sai o coeficiente de filtro FtrTap.
[0105] O processador de filtro 8 aplica um processo de filtro para remover distorção de codificação da imagem reconstruída Coef usando o coeficiente de filtro indicado pelo coeficiente de filtro FtrTap e sai sinal de imagem decodificado Vout.
[0106] A imagem de diferença DifCoef e o tamanho de bloco de compensação de movimento MCsize são introduzidos para mover a unidade de detecção de limite de bloco de compensação 2, o que 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 ele for 0, detecta os limites do bloco de compensação de movimento e sai flag de limite de bloco de compensação de movimento IsEdge.
[0107] A figura 3 mostra exemplos do tamanho de bloco de compensação de movimento usado na Recomendação H.26L TML8 ao ITU-T. Conforme mostrado nesses exemplos, o tamanho máximo do bloco de compensação de movimento é 16 x 16 pixels, o mesmo tamanho que aquele referido como um macrobloco. Os tamanhos de blocos de compensação de movi- mento mostrados nas figuras 3(a) a (g) são 4 x 4, 4 x 8, 8 x 4, 8 x 8, 8 x 16, 16x8e 16x16 pixels. Na Recomendação H.26L TML8 da ITU-T, o tamanho apropriado para a unidade de macroblocos é selecionado desses tamanhos desses sete blocos de compensação de movimento e usado para codificação e 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 desses macroblocos é chamada um "par de macroblocos".
[0108] A unidade usada para transformações de freqüência e codificação na Recomendação H.26L TML8 da ITU-T é pixels de 4 x 4. Essa unidade de pixels de 4 x 4 é chamada uma "unidade de codificação". Conforme mostrado na figura 3(a), cada um dos dezesseis blocos A a P é um bloco de pixels de 4 x 4. A unidade de codificação de pixels de 4 x 4 corresponde ao tamanho de bloco de compensação de movimento apenas no caso mostrado na figura 3(a). Como a distorção de bloco, que é, em particular, rompível visivelmente à medida que a distorção de codificação ocorre no menor tamanho de unidade de codificação de pixels de 4 x 4, o método de remoção de distorção de codificação convencional sempre funciona em unidades de pixels de 4 x 4.
[0109] Se a correlação entre as figuras é 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 pixels de 4 x 4 também é 0, nesse caso, descontinuidades nos valores de pixels resultantes da distorção de codificação durante a codificação e a decodificação provavelmente não ocorre em outros locais que não os limites dos blocos de compensação de movimentos. Portanto, se os blocos de compensação de movimento são selecionados conforme mostrado na figura 3(b), o processo de remoção de distorção de codificação não é necessário nos limites de unidades de pixels de 4 x 4 indicados pelas linhas tracejadas entre os blocos AC, BD, EG, FH, IK, JL, MO e NP mostrados na figura 3(a). A deblocagem, igualmente, não é necessária nos limites de unidades de pixels de 4 x 4 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 usada para codifica-ção/decodificação nas unidades de pixels de 4 x 4 também é 0, a debloca-gem é aplicada apenas nos limites dos blocos de compensação de movimento e não é aplicada nos limites das unidades de pixels de 4 x 4 dentro dos blocos de compensação de movimento. Isso 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 de blocos.
[0110] A imagem de diferença DifCoef do bloco do processo é 0 e não é o limite de um bloco de compensação de movimento, a unidade de detecção de limite do bloco de compensação de movimento 2 ajusta ambos os seletores 10a e 10b desligados (indicados por uma linha cheia) e no seletor 10b sai a imagem reconstruída Coef como sinal de imagem decodificado Vout. Os seletores 10a e 10b são comutados através do ajuste do flag de limite de bloco de compensação de movimento IsEdge. O processamento pelo controlador de contagem de pixels filtrados 4, o controlador de coeficiente de filtro 6 e o processador de filtro 8 podem, assim, ser omitidos pelo desligamento dos seletores 10a e 10b. Em outros casos que não o acima, os seletores 10a e 10b estão LIGADOS (denotados pela linha tracejada), e a saída do processador de filtro 8 sai do seletor 10b como sinal de imagem decodificado Vout. Esse estado de seletor é ajustado também pela aplicação de flag de limite de bloco de compensação de movimento IsEdge.
[0111] A presente invenção, assim, introduz a capacidade de omitir a operação de controlador de contagem de pixels filtrados 4, o controlador de coeficiente de filtro 6 e o processador de filtro 8 pela aplicação de um flag de limite de bloco de compensação de movimento IsEdge apropriadamente ajustado e o salto dessas unidades permite o processamento mais rápido e reduz o consumo de energia por esses processos.
[0112] Deve ser notado que esta concretização é descrita como simplesmente não aplicando qualquer processo de remoção de distorção de codificação, um processo simples de remoção de distorção de codificação podería ser usado em lugar de saltar o processo junto, e a comutação pode- ria ser entre um processo complexo de processo de remoção de distorção de codificação e o processamento de remoção de distorção de codificação em unidades de pixels de 4 x 4.
Concretização 2 [0113] Um processo específico pelo qual a remoção de distorção de codificação pode ser facilmente obtida é descrito na presente concretização da invenção com referência ao fluxograma na figura 4 de um método de remoção de distorção de codificação de acordo com a presente invenção, [0114] É primeiro 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, o controle avança para a etapa S24.
[0115] Um filtro apropriado de remoção de distorção de codificação é selecionado na etapa S19, o processamento de remoção de distorção de codificação é aplicado usando o filtro selecionado na etapa S20 e o pixel alvo é mudado para o pixel não-processado seguinte no bloco na etapa S21 . Se não houver pixels não-processados no bloco (etapa S22, retorno não), o controle avança para a etapa S24, Se houver um pixel não-processado (etapa S22 retomo sim), os laços de controle voltam para a etapa S19 e o processo se repete.
[0116] A etapa S24 detecta que há outro bloco não-processado na figura. Se há, o controle avança para a etapa S23. Se todos os blocos foram processados (a etapa S24 não retorna de forma alguma), o processo de remoção de distorção de codificação concluí para essa figura.
[0117] Se permanecem blocos não-processados, o bloco alvo é mudado para o bloco não-processado seguinte na etapa S23, os laços de controle voltam para a etapa S18 e o processo se repete.
[0118] A figura 6 é um fluxograma mostrando 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 fluxograma descreve um exemplo de como o controlador de contagem de pixels filtrados 4 mostrado na figura 2 podería operar, A figura 6 mostra um caso em que o bloco de compensação de movimento é um mostrado na figura 8(a). Como mostrado na figura 8(b),os valores de pixels alvo para remoção de distorção de codificação são pP3, p2, p1, pO, qO, q1, q2, q3 conforme mostrado na figura 8(b), e os valores de pixels após a remoção de distorção de codificação são P3, P2, P1, PO, QO, Q1, Q2, Q3.
[0119] Esses valores de pixels são atribuídos seqüencialmente na mesma ordem que as posições dos pixels, pO a p3 e PO a P3 denotam pixels correspondentes no mesmo bloco e qO a q3 e QO a Q3 denotam pixels correspondentes no mesmo bloco.
[0120] À medida que 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, é eficaz mudar o filtro de acordo com o tamanho do parâmetro de quantificação QP. A figura 5 é uma tabela mostrando 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 deblocagem para determinar o parâmetro n denotando a contagem de pixels filtrados é mostrada na Tabela 1 abaixo. Deve ser notado que a filtragem não será aplicada, se a diferença de pixels for grande porque isso denota uma borda e π, portanto, é ajustado, de preferência, de modo que a filtragem não é aplicada aos pixels onde a diferença de pixel é menor do que π. Além disso, se a diferença de pixel for pequena, a probabilidade de que os pixels não estejam em uma borda aumenta à medida que a diferença de pixels diminui e Ω, portanto, é ajustado, de preferência, de modo que um filtro mais forte (isto é, n é alto) é aplicado com base em se a diferença de pixels é extremamente baixa (menor do que Ω) ou um pouco menor (menos do que 2 χΩ).
Tabela 1 Condição A Condição B n difla > π dif2a < Ω 0 difla > π Ω < dif2a < 2χΩ 0 difla > π dif2a > 2χΩ 0 difla < π dif2a < Ω 2 difla < π Ω < dif2a < 2χΩ 1 difla < π dif2a > 2χΩ Ο onde dif1 = pO-qO dif2 = p1-q1 difla = |dif1| dif2a = |dif2|.
[0121] Em outras palavras, o fluxograma para determinar a contagem de pixels filtrados no método de remoção de distorção de codificação da presente invenção é sumarizado na Tabela 1.
[0122] A etapa S27 computa a diferença de pixel DifPel, um parâmetro que é computado repetidamente no processo de remoção de distorção de codificação. Note que a diferença de pixel DifPel se refere a difla e dif2a calculada na etapa S27.
[0123] A etapa S28, então, compara difla e π . Se difla for maior do que π , a etapa S29 ajusta n = 0 e o processo termina sem executar 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 a etapa S30.
[0124] Na etapa S30, dif2a é comparada com Q.Se dif2a for menor do que Ω, a etapa S31 estabelece n = 2 (isto é, a remoção de distorção de codificação é aplicada ao segundo pixel a partir do limite de cada bloco adjacente), e o processo termina. Se dif2a for maior do que ou igual a Ω,ο controle avança para a etapa S32.
[0125] Na etapa S32, dif2a é comparada com 12 x Ω. Se dif2a for menor do que 2 x Ω, a etapa S33 estabelece n = 1 (isto é, a remoção de distorção de codificação é aplicada ao primeiro pixel do limite de cada bloco adjacente), e o processo termina. dif2 é o valor absoluto da diferença em valores de pixels nas proximidades do limite e porque o número de componentes de alta freqüência perto do limite diminui à medida que essa diferença diminui, a distorção de codificação pode ser removida eficientemente da área limite através do aumento do número de pixels processados para deblocagem à medida que dif2 fica menor.
[0126] A figura 7 é um fluxograma de um processo para a determinação do 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 6 na figura 2.
[0127] Três condições são comparadas usando n, difla, dif2a e φ na etapa S37. Se todas as três condições forem verdadeiras, um processo de filtro de três derivações é estabelecido na etapa S39. Isto é, φ é o valor limite para determinar o número de derivações de filtro e um filtro de três derivações é aplicado, quando o componente de alta freqüência é baixo (n = 2) e há pouca mudança nos valores dos pixels no limite (| dif2a - dif 1 a| < φ). Um filtro de três derivações, normalmente, proporciona supressão mais forte de componentes de alta freqüência do que um filtro de derivação única. Como o processo de filtro pode ser mudado usando o valor de η, o parâmetro n pode ser usado para mudar o tipo de filtro no lugar do número de pixels a que o filtro é aplicado. O parâmetro n assim obtido também pode ser usado para mudar o número de pixels filtrados e o tipo de filtro aplicado.
[0128] Se as três condições não são verdadeiras na etapa S37, o valor de n é detectado na etapa S38. Se n > 1, a etapa S40 estabelece um processo de filtro de derivação. Se n = 0, a etapa S42 interrompe a filtragem.
[0129] Deve ser notado que o parâmetro de quantificação QP pode ser mudado para cada bloco. Contudo, o processo de remoção de distorção de codificação se torna mais complicado no limite entre os blocos tendo um parâmetro de quantificação QP diferente. A presente invenção impede isso pelo uso: do parâmetro de quantificação QP médio de blocos adjacentes (frações podem ser arredondadas); do parâmetro de quantificação QP mais alto dos blocos adjacentes; do parâmetro de quantificação QP mais baixo dos blocos adjacentes; ou do parâmetro de quantificação QP do bloco esquerdo adjacente ou adjacente acima; como parâmetro de quantificação QP para filtragem de blocos em ambos os lados do limite, quando o parâmetro de quantificação QP muda nos blocos de limite. Deve ser notado que a diferença entre o uso desses quatro parâmetros de quantificação QP é pequena e poderia ser selecionada para uso.
[0130] Distorção de codificação pode, assim, ser facilmente removida pelo método descrito acima.
[0131] A figura 8(a) é um diagrama em blocos de outra concretização do filtro de deblocagem 62 mostrado na figura 1 e uma concretização separada da parte encerrada em uma linha tracejada na figura 2. Deve ser notado que partes semelhantes na figura 8 e o diagrama em blocos da unidade de remoção de distorção de codificação usando o método convencional de remoção de distorção de codificação mostrado na figura 34 são identificadas por numerais de referência semelhantes e sua nova descrição é aqui omitida.
[0132] O calculador de diferença de pixels 20 computa a diferença de pixels no limite de bloco da imagem reconstruída Coef e sai a diferença de pixel DifPel. Essa diferença de pixel DifPel contém um sinal equivalente a difla e dif2a. A diferença de pixel DifPel é obtida pela comparação dos pixels em posições simétricas esquerda e direita ou acima e abaixo do limite entre blocos da unidade de codificação e usando a diferença d1, d2, d3, d4 (diferença de cor ou diferença de luminância) entre eles. Se a média dessas diferenças (por exemplo, (d1 + d2 + d3 + d4)/4) é menor do que ou igual a um valor específico, uma linha de limite de imagem provavelmente não está presente na faixa da largura usada para determinar d4 e o filtro de deblocagem, portanto, é aplicado. Por outro lado, se a média for maior do que ou igual a um valor específico, há um limite de imagem e o filtro de deblocagem não é aplicado. Deve ser notado que essa comparação poderia usar qualquer uma, quaisquer duas ou quaisquer três de d1, d2, d3 e d4. Em lugar de usar a média, a maior diferença poderia ser comparada, alternativamente, com um valor específico.
[0133] O fluxograma para determinar a contagem de pixels filtrados po- de ser usado como um exemplo de operação de controlador de contagem de pixels filtrados 4. Um exemplo da operação do controlador de coeficiente de filtro 6 nesta concretização é mostrado no fluxograma para determinar o coeficiente de filtro mostrado na figura 7. Através da referência à diferença de pixel DifPel, conforme mostrado na figura 8(b), o número de cálculos de diferença de pixel pode ser reduzido para ambos» o controlador de contagem de pixels filtrados 4 e controlador de coeficiente de filtro 6- O controlador de contagem de pixels filtrados 4 e o controlador de coeficiente de filtro 6, podem, portanto, estabelecer a contagem de pixels filtrados e o coeficiente de filtro sem referência à imagem reconstruída Coef, [0134] Desse modo» será evidente que o numero de computações pode ser reduzido pelo uso repetido do valor computado como diferença de pixel DifPel.
Concretização 3 [0135] A presente concretização da invenção descreve um aparelho de codificação e um aparelho de decodificação implementando o método de remoção de distorção de codificação em outra concretização da invenção.
[0136] A figura 9 é um diagrama em blocos do aparelho de codificação.
[0137] A unidade de detecção de movimento 30 compara a imagem de referência Ref1 e a imagem de referência Ref2 que saem, respectivamente da primeira memória 38 e da segunda memória 40 com um 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 a informação indicando se o erro de predição será menor através de referência à imagem de referência Ref1 ou à imagem de referência Ref2 também está incluída no vetor de movimento MV e relacionada com 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 imagem de referência Ref2 e sai a mesma como imagem compensada de movimento MCpel.
[0138] O subtrator 42 obtém a diferença do sinal de imagem Vin e da imagem compensada de movimento MCpel e sai para a unidade de trans- formação de co-seno (DCT)46. A unidade de transformação de co-seno 46 computa a DCT e quantifica a diferença de entrada e sai componente de freqüência FCoef. No scanner de ziguezague 48 sai componente de código de freqüência DCoef, reordenando a seqüência 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 sair o sinal codificado Str.
[0139] A saída da unidade de DCT (unidade de transformação de co-seno) 46 também é introduzida na unidade de DCT inversa (unidade de transformação de co-seno inversa) 44. O componente de freqüência FCoef e a imagem compensada de movimento MCpel saem da unidade de compensação de movimento 32 e são fundidos pelo sintetizador 34 e a imagem fundida Coef é dada como saída. A imagem fundida Coef é armazenada como está na primeira memória 38 e é também processada pelo filtro de debloca-gem 36 e o sinal de imagem decodificado Vout do qual a distorção de codificação foi removida é armazenado na segunda memória 40.
[0140] A figura 10 é um diagrama em blocos do aparelho de decodifica-ção. Esse aparelho de decodificação decodifica corretamente o sinal codificado Str pelo aparelho de codificação mostrado no diagrama em blocos na figura 9. Partes na figura 10 que operam o mesmo, como as partes correspondentes na figura 32 ou na figura 33 são identificadas pelo número de referência semelhante e sua descrição adicional é aqui omitida. A unidade de DCT inversa (unidade de transformação inversa de co-seno) 56 dequantifica o componente de freqüência FCoef e computa a DCT inversa para fazer sair a imagem de diferença DifCoef. O somador 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, removendo a distorção de codificação da imagem reconstruída Coef, é armazenado na segunda memória 66.
[0141] Como um resultado da presente operação, uma imagem da qual a distorção de codificação não é removida é armazenada na primeira memó- ria 38 e na primeira memória 64 e uma imagem da qual a distorção de codificação é 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 apenas a distorção de codificação e é possível que parte do sinal de imagem real também seja perdido. O aparelho de codificação mostrado na figura 9, portanto, é configurado de modo que a unidade de detecção de movimento 30 pode selecionar, sempre, a melhor saída da primeira memória 38 e da segunda memória 40.
[0142] Se parte do sinal de imagem original é perdido pela remoção de distorção de codificação com a configuração dessa concretização uma imagem de referência apropriada pode ser seledonada por meio de referência à primeira memória 38. Uma imagem de referência apropriada, igualmente, pode ser selecionada pelo aparelho de decodificação mostrado na figura 10.
[0143] Deve ser notado que uma DCT é usada como a transformação ortogonal nesta concretização da invenção, mas a transformação de Hada-mard ou a transformação de onda poderia ser usada.
Concretização 4 [0144] A figura 11 é um diagrama em blocos de uma unidade de remoção de distorção de codificação de acordo com uma concretização preferida da invenção, e corresponde ao filtro de deblocagem 62 mostrado na figura 1, por exemplo. Essa unidade de remoção de distorção de codificação é distin-guida pela determinação do valor limite para ajustar o filtro. Deve ser notado que partes que realizam a mesma operação como partes semelhantes na unidade de remoção de distorção de codificação mostrada na figura 34 são identificadas pelos numerais de referência e sua descrição mais uma vez é aqui omitida.
[0145] O decodificador de parâmetro de ajuste de filtro 22 decodifica o sinal de parâmetro de ajuste de filtro FtrStr e sai o parâmetro de filtro FtrPrm, Esse sinal de parâmetro de ajuste de filtro FtrStr não é um valor limite, mas é um parâmetro para ajustar o valor limíte.O parâmetro de filtro FtrPrm é equivalente a π , Ω e φ na figura 5. Através da decodificação e da obtenção da otimização de dados desses parâmetros π , Ω e Φ para cada figura do sinal de parâmetro de ajuste de filtro FtrStr, a remoção de distorção de codificação apropriada à imagem é possibilitada.
[0146] A figura 12 mostra a estrutura de sinal codificado Str no método de remoção de distorção de codificação da presente invenção. Afigura 12(a) é um sinal codificado para uma figura e contém dados de figura PicData mantendo os dados para uma figura e o cabeçalho de figura PicHdr comum a todos os dados em uma figura. Esse cabeçalho de figura PicHdr contém o sinal de parâmetro de ajuste de filtro FtrStr.
[0147] A figura 12(b) mostra a estrutura de dados de figura PicData. Esses dados de figura PicData contém um sinal de parte SliceStr, o sinal codificado de uma parte contendo um grupo de múltiplas unidades de blocos.
[0148] A figura 12 (c) mostra a estrutura de sinal de parte SliceStr, que contém dados de parte SliceData mantendo os dados para uma parte e o cabeçalho de parte SliceHdr comum a todos os dados em uma parte. Através da escrita do sinal de parâmetro de ajuste de filtro FtrStr no cabeçalho de parte SliceHdr, um sinal codificado recebido nas unidades de dados de parte SliceData pode ser decodificado corretamente.
[0149] Se múltiplos sinais de parte SliceStr estiverem contidos nos dados de figura PicData, o sinal de parâmetro de ajuste de filtro FtrStr poderia ser escrito apenas em alguns dos cabeçalhos de parte SliceHdr no lugar de escrever o sinal de parâmetro de ajuste de filtro FtrStr em todos os cabeçalhos de parte SliceHdr. Se o conteúdo do sinal de parâmetro de ajuste de filtro FtrStr for comum a cada parte, e o sinal de parâmetro de ajuste de filtro FtrStr não for escrito no cabeçalho de parte SliceHdr, conforme 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 por intermédio da substituição do sinal de parâmetro de ajuste de filtro FtrStr de outro cabeçalho de parte SliceHdr.
[0150] Se o sinal codificado Str for transmitido em pequenas unidades de dados, como pacotes, em lugar de como uma corrente de bits única, contínua, o cabeçalho e partes de não cabeçalho podem ser transmitidos sepa- radamente. Nesse caso, o cabeçalho e as partes de dados não estarão em uma única corrente de bits, conforme mostrado na figura 12. Contudo, 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 é transmitido, simplesmente, em outro pacote e o conceito é o mesmo que a corrente de bits mostrada na figura 12, ainda que a transmissão não esteja em uma única corrente de bits.
[0151] A figura 13 é um diagrama em blocos do aparelho de codificação. Note que partes semelhantes na figura 13 e na figura 9 são identificadas pelos numerais de referência e uma nova descrição das mesmas é aqui omitida.
[0152] A memória 217 armazena o sinal de imagem Vin, isto é, a entrada do sinal de imagem para codificação. A unidade de comparação de qualidade de imagem 216 compara o sinal de imagem alvo de codificação lida 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 é obtido junto 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 correspondente ao menor erro armazenado na memória de comparação 218. O valor limite ótimo selecionado é multiplexado como uma corrente de bit adicionada relacionada na corrente de bits da imagem correspondente. Com base na saída do valor limite ótimo 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 imagem seguinte, adverte 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 correntemente em uso para a memória de comparação 218.
[0153] A figura 14 é uma representação conceituai do aparelho de codificação específico mostrado no diagrama em blocos na figura 13. Na figura 14, a unidade de seleção de valor limite ótimo 226 realiza as operações de outras partes na figura 13 que não o scanner de ziguezague 48, a unidade de codificação de comprimento variável 50 e a unidade de suplemento de valor limite 220, equivalente à operação da 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. O codificador de vídeo 227 corresponde à operação de outras partes que não 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.
[0154] A unidade de seleção de valor limite ótimo 226 seleciona um valor limite ótimo. Esse valor limite ótimo é equivalente ao estabelecido dos valores de π , Ω e φ 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 ao codificador de vídeo 227 como um sinal de parâmetro de ajuste de filtro FtrStr. O sinal de parâmetro de ajuste de filtro codificado FtrStr é processado pelo decodificador de parâmetro de ajuste de filtro 22 mostrado na figura 11, por exemplo, no decodificador.
[0155] 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 do valor limite enviados pela unidade de controle de valor limite 215 para a unidade de suplemento de valor limite 220.
[0156] Uma operação pela qual o sinal de parâmetro de ajuste de filtro FtrStr é determinado quando da remoção de distorção de codificação é descrita a seguir. A figura 15, a figura 16 e a figura 17 são fluxogramas mostrando a operação do aparelho de codificação descrito com a figura 13 e a figura 14.
[0157] A figura 15 é um fluxograma de uma operação para medição de qualidade de imagem.
[0158] O quadro alvo target_frame é primeiro ajustado e a primeira imagem sai (etapa 229). O quadro alvo target_frame é a imagem usada para derivar o valor limite.
[0159] A unidade de controle de valor limite 215, então, ajusta uma fai- xa de valor limite (etapa 230) e o valor em uma extremidade dessa faixa é dado como saída da unidade de controle de valor limite 215 como o valor limite inicial (etapa 231).
[0160] Usando esse valor limite inicial o filtro de deblocagem 36 remove distorção de codificação, começa a codificação da 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 da imagem dessa primeira imagem codificada e o sinal de imagem Vin (etapa 233).
[0161] O resultado dessa comparação é armazenado na memória de comparação 218 (etapa 234) e o número de quadro corrente current_frame é incrementado (etapa 235). Isto é, a figura sendo processada é mudada da primeira figura para a figura seguinte e a figura seguinte sai, por exemplo, para a unidade de seleção de valor limite ótimo 226 e o codificador de vídeo 227 mostrado na figura 14 ou na memória 217, a unidade de detecção de movimento 30 e o subtrator 42 mostrado na figura 13.
[0162] A etapa 236, então, determina se o número de quadro corrente current-frame alcançou o quadro alvo target_frame. Se não, as etapas 233 a 235 se repetem. A qualidade da imagem da figura de entrada é medida pela unidade de comparação de qualidade de imagem 216 e o resultado é armazenado na memória de comparação 218. Se o quadro corrente current-frame igual o quadro alvo target_frame, o controle avança para a etapa 237 e o quadro corrente current-frame é reajustado para a primeira figura.
[0163] A unidade de controle de valor limite 215, então, incrementa o valor limite (etapa 238A), isto é, o valor limite é ajustado para o valor seguinte. Esse "valor seguinte" é o valor aumentado, um incremento específico do primeiro valor.
[0164] Se todos os valores limite para o valor limite na outra extremidade da faixa de ajuste foram testados, é, então, determinado (etapa 238B). Se todos os valores limite foram testados, o processo para determinação do valor limite ótimo termina. Se todos os valores limite não tiverem sido testados, o controle retorna para a etapa 232 e a figura para o quadro alvo tar-get_frame é codificada.
[0165] A qualidade da imagem pode, assim, ser medida através da medição da qualidade da imagem para todos os quadros alvo target_frame usando um valor limite, a seguir, incrementando o valor limite em uma quantidade específica e, então, mais uma vez medindo a qualidade da imagem para todos os quadros alvo target_frame.
[0166] Fazendo referência ao fluxograma na figura 16, um método para medição da qualidade da imagem em uma figura usando todos os valores limite em uma faixa estabelecida de valores limite, a seguir, avançando para a figura seguinte e medindo a qualidade da imagem usando todos os valores limite em uma faixa estabelecida de valor limite é descrito.
[0167] O quadro alvo target_frame é primeiro ajustado e a primeira figura saída (etapa 239). O quadro corrente current-frame é, então, inicializado para 0 (etapa 240).
[0168] A unidade de controle de valor limite 215, então, ajusta uma faixa de valor limite (etapa 241) e o valor limite é ajustado para o filtro de de-blocagem 36 (etapa 242).
[0169] A primeira figura é, então, codificada (processada para remoção de distorção de codificação) usando 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).
[0170] A saída do resultado pela unidade de comparação de qualidade de imagem 216 é armazenada na memória de comparação 218 (etapa 245) e a unidade de controle de valor limite 215 incrementa o valor limite para o valor seguinte (etapa 246A).
[0171] Se todos os valores limite tiverem sido testados é, então, determinado (etapa 246). Se todos os valores limite não tiverem sido testados, o controle volta para a etapa 242 e a qualidade da imagem da mesma figura é medida usando um valor limite diferente. Se todos os valores limite tiverem sido testados, o controle avança para a etapa 247.
[0172] O quadro corrente 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 figu- ra seguinte é saída, por exemplo, para a unidade de suplemento de valor limite ótimo 226 e o codificador de vídeo 227 mostrado na figura 14 ou na memória 217, a unidade de detecção de movimento 30 e o subtrator 42 mostrado na figura 13.
[0173] A etapa 248, então, determina se o número de quadro corrente current-frame alcançou o quadro alvo target_frame. Se não, as etapas 241 a 247 se repetem. Se current-frame iguala target_frame, o processo de medição da qualidade da imagem termina.
[0174] A figura 17 é um fluxograma de um método para a seleção do valor limite ótimo com base no valor limite descrito na figura 15 ou na figura 16 e os resultados da medição da qualidade da imagem naquele valor limite.
[0175] A unidade de seleção 219 obtém os resultados de medição de qualidade da imagem e os dados do valor limite correspondente na etapa 249 na figura 17.
[0176] Os resultados da medição são, então, dispostos em uma ordem específica (etapa 250).
[0177] A figura com a melhor qualidade da imagem é, então, selecionada com base nas condições específicas (etapa 2251) e o valor limite para aquela figura é selecionado como o valor limite ótimo. Essas condições específicas poderiam ser qualquer uma de ou uma combinação do seguinte: uma baixa razão de S/N, a menor diferença entre a imagem reconstruída (a figura deblocada no valor limite) e a figura original (sinal de entrada de imagem Vin) e o menor valor quadrado médio da diferença.
[0178] O valor limite ótimo selecionado, então, sai como sinal de parâmetro de ajuste de filtro FtrStr, por exemplo, para o codificador de vídeo 227 na figura 14 (etapa 252).
[0179] O melhor valor limite pode, assim, ser selecionado usando o método descrito com referência à figura 17.
[0180] Como descrito acima essa concretização preferida mede a qualidade da imagem para todos os valores limite em uma faixa específica, coleta os resultados das medições de qualidade da imagem e seleciona o valor limite ótimo dentre os resultados. Também é possível medir a qualidade da imagem em seqüência para todos os valores limite em uma faixa de valor limite, terminar a medição da qualidade da imagem no ponto em que um resultado com a melhor qualidade da imagem é detectado e selecionar o valor limite produzindo aquele resultado da qualidade da imagem como o valor limite ótimo. Esse método pode reduzir o número de medições de qualidade da imagem realizadas.
[0181] O processo de remoção de distorção de codificação para um dado bloco compara os valores de pixels naquele bloco com os valores de pixels em um bloco adjacente. O bloco adjacente nesse caso é um bloco para o qual o processo de remoção de distorção de codificação terminou e a correção do valor de pixel terminou.
[0182] Quando da remoção da distorção de codificação do bloco G na figura 18, por exemplo, a distorção de codificação podería ser removida pela comparação com qualquer um dos quatro blocos adjacentes E, D, H e M. Contudo, pelo uso 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.
[0183] A distorção de codificação é removida, de preferência, em 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 na seqüência de linha de varredura horizontal.
[0184] Em outras palavras, fazendo referência à figura 18, a primeira linha de varredura dos blocos A, B, E, F é processada primeiro para remoção de distorção de codificação, então, a linha seguinte dos blocos C, D, G, H é processada e assim por diante. Cada bloco tem quatro limites, mas o processo de remoção de distorção de codificação é aplicado, de preferência, usando os blocos adjacentes que tocam o limite superior e o limite esquerdo.
[0185] Nesse caso, o processo de remoção de distorção de codificação não é aplicado ao bloco A porque há um bloco adjacente tocando seu limite superior ou o limite esquerdo.
[0186] Similarmente, não há bloco adjacente tocando o limite superior do bloco B e deblocamento, portanto, é aplicado usando o bloco A, que fica adjacente ao limite esquerdo do bloco B.
[0187] Os blocos E e D ficam, respectivamente, adjacentes aos limites superior e esquerdo do bloco G e a distorção de codificação, portanto, é removida do bloco G usando os blocos EeD, embora não usando os blocos H eM.
[0188] Desse modo, através da remoção de distorção de codificação entre um novo bloco e blocos adjacentes dos quais a distorção de codificação já foi removida e não fazendo referência aos blocos adjacentes que não foram processados para distorção de codificação, a distorção de codificação pode ser removida mais precisa mente.
[0189] Concretização 5 [0190] A presente concretização primeiro descreve um caso em que pixels são divididos em grupos de múltiplos pixels cada, tais como grupos de quatro pixels em uma coluna, os grupos são, então, emparelhados e remoção de distorção de codificação é aplicada aos pares de grupos. Um processo de remoção de distorção de codificação oomo usado nesta concretização se refere à determinação de se aplicar deblocagem a uma área em ambos os lados de um limite e à própria operação de deblocagem. Um bloco podería ser um bloco de 4 x 4 de 16 pixels que é a menor unidade de codificação ou qualquer um dos blocos aos quais a compensação de movimento é aplicada, conforme descrito acima com referência à figura 3.
[0191] Conforme mostrado na figura 19, os quatro pixels em um grupo são um grupo de quatro pixels dispostos em linha com o limite de bloco. Quatro desses grupos são mostrados na figura 19, r1, r2, r3 e r4. Dados desses quatro grupos r1, r2, r3 e r4 podem ser armazenados em quatro registros (registros de SIMD, por exemplo). Os grupos r1, r2 e os grupos r3, r4 estão localizados simetricamente nos lados esquerdo e direito do limite de bloco. Os valores de pixels no grupo r1 são comparados com os valores de pixels no grupo r2eo processo de remoção de distorção de codificação é aplicado usando as diferenças resultantes.
[0192] Mais especificamente, a diferença 1 entre o pixel superior no grupo r1 e o pixel superior no grupo r2, a diferença 2 entre o segundo ao pixel superior no grupo r1 e o segundo ao pixel superior no grupo r2, a diferença 3 entre o segundo ao pixel inferior no grupo r1 e o segundo ao pixel inferior no grupo r2 e a diferença 4 entre o pixel inferior no grupo r1 e o pixel de fundo 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, é usada como uma diferença representativa e essa diferença representativa é comparada com um valor limite específico. Outros métodos também são possíveis. Como essas operações são realizadas em unidades de quatro pixels nos mesmos grupos, o processamento paralelo pode ser usado para um rendimento significativamente mais rápido comparado com o processamento de um pixel de cada vez.
[0193] Embora a comparação usando apenas o grupo r1 e o grupo r2 seja descrita acima, se maior precisão for requerida, a luminância de pixels no grupo r3 pode ser comparada com valores de luminância de pixels do grupo r4 e as diferenças representativas da comparação de grupos r1 e r2 podem ser adicionadas a ou ter a média calculada com diferenças representativas dos grupos r3 e r4 para remover a distorção de codificação.
[0194] A operação descrita acima se aplica a limites verticais de blocos, mas a mesma operação essencial pode ser aplicada aos limites horizontais simplesmente montando grupos horizontais de quatro pixels ao longo dos limites horizontais.
[0195] A figura 20 (a) e (b) mostram casos em que as linhas de varredura são entrelaçadas na tela. Uma figura entrelaçada é uma figura em que um quadro consiste em dois campos apresentados em momentos diferentes. A codificação e a decodificação de uma figura entrelaçada podem ser realizadas pelo processamento de um quadro como um quadro, como dois campos, ou por blocos de estrutura de quadro ou estrutura de campo em um quadro. Na figura 20, os quadrados pequenos cinza denotam pixels de linhas ímpares e os quadrados pequenos brancos denotam pixels de linhas pares. Os pixels cinza das linhas ímpares, desse modo, formam um campo de um quadro e os pixels brancos nas linhas pares formam o outro campo do mesmo quadro.
[0196] Em um sinal de figura entrelaçada um quadro consiste em dois campos (um campo par e um campo ímpar) em tempos diferentes. Em uma figura fixa, os valores de pixels não mudam com o tempo e a correlação entre linhas verticalmente adjacentes em um quadro é mais forte do que a correlação entre linhas verticalmente adjacentes em um campo. Em uma figura móvel, porém, a figura muda grandemente com o tempo, os valores de pixels podem, assim, diferir grandemente em dois campos e a correlação entre linhas verticalmente adjacentes em um campo é mais forte do que a correlação entre linhas verticalmente adjacentes em um quadro. Portanto, é mais eficiente processar figuras fixas por quadro e figuras móveis por campo.
[0197] Em uma figura entrelaçada (1) todos os blocos poderiam ser blocos de estruturas de quadros (a estrutura de quadro é descrita abaixo), (2) todos os blocos poderiam ser blocos de estruturas de campo (a estrutura de campo é descrita abaixo) ou (3) a figura podería conter blocos de estrutura de quadro e estrutura de campo.
[0198] Se a figura contém todos os blocos de estrutura de quadro (1), toda a deblocagem é aplicada pela unidade de estrutura de quadro. Se a figura contém todos os blocos da estrutura de campo (2), toda a deblocagem é aplicada pela unidade de estrutura de campo. Se a figura contém blocos de estrutura de quadro e de estrutura de campo (3), deblocagem é aplicada ao mesmo tempo em que ocorre a conversão da estrutura de campo para a estrutura de quadro ou de estrutura de quadro para estrutura de campo. Essas operações são descritas mais especificamente abaixo.
[0199] Figuras entrelaçadas que são imagens fixas ou contêm pouco movimento são processadas pelas unidades de quadro consistindo em campos ímpares e campos pares, conforme mostrado na figura 20 (a) (aqui referidas como "estrutura de quadro"). Em uma estrutura de quadro, conforme mostrado no lado direito na figura 20 (a), um bloco de 16 pixels contém pixels de linhas ímpares e pixels de linhas pares. O processo de remoção de distorção de codificação é aplicado entre blocos com uma estrutura de qua- dro. Isto é, conforme descrito com referência à figura 8 (b), o processo de remoção de distorção de codificação é aplicado aos limites de bloco.
[0200] As figuras entrelaçadas com muito movimento são processadas pela unidade de campo separada em campos ímpares e campos pares, conforme mostrado na figura 20 (b) (referida aqui como "estrutura de campo"). Conforme mostrado no lado direito na figura 20 (b), a figura é separada em campos ímpares de linhas ímpares e campos pares de linhas pares; campos ímpares contêm blocos de linha ímpares e campos pares contêm blocos de linhas pares. O processo de remoção de distorção de codificação é aplicado apenas entre blocos estruturais de campo apenas de linhas ímpares ou bloco de estrutura de campo apenas de linhas pares.
[0201] A figura 21 (a) mostra um caso em que parte da imagem entrelaçada consiste em blocos de estrutura de quadro e outra parte consiste em blocos de estrutura de campo. De preferência, a parte de imagem móvel da imagem contém os blocos de estrutura de campo e a parte de imagem fixa 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 unidade maior à qual DCT ou outra transformação ortogonal ou compensação de movimento é aplicada (ou supermacroblocos de múltiplos macroblo-cos). É suposto abaixo que o retângulo contendo 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.
[0202] Como a remoção de distorção de codificação é aplicada ao limite entre a parte de estrutura de campo e a parte de estrutura de quadro é descrita a seguir.
[0203] Fazendo referência à figura 21 (b), os blocos nas colunas C1, C2, C3 e C4 pertencem à área de imagem contendo o carro e, desse modo, têm uma estrutura de campo por causa do movimento nesta área da imagem. Os blocos em colunas C5, C6, C7 e C8 pertencem à área onde o carro não está, isto é, a área de figura fixa e, desse modo, têm 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 são mostradas à parte na figura 21 (b), mas ficam realmente adjacentes na figura. A remoção de distorção de codificação conforme mostrado na figura 8(b) é aplicada ao limite de bloco entre as colunas C3 e C4 e o limite de bloco entre as colunas C5 e C6.
[0204] Para processar o limite de bloco entre as colunas C4 e C5 os blocos de estrutura de quadro na coluna C5 são primeiro convertidos em blocos de estrutura de campo, conforme mostrado na figura 21 (c). Isso é feito, por exemplo, pela conversão dos pixels de linhas ímpares na coluna C5 mostrada na figura 21 (b) em um bloco de pixels de cinza na coluna C5, conforme mostrado na figura 21 (c) e conversão dos pixels de linhas pares na coluna C5 mostrada na figura 21 (b) em um bloco de pixels brancos na coluna C5, conforme mostrado na figura 21 (c). A distorção de codificação no limite de bloco entre as colunas C4 e C5 é, então, removida, conforme mostrado na figura 8 (b).
[0205] Os blocos de estrutura de quadro são, assim, convertidos em blocos de estrutura de campo porque a correlação vertical entre pixels será perdida, se os blocos de estrutura de campo forem convertidos em blocos de estrutura de quadro, quando há movimento na figura e a degradação não natural ocorre, se o processo de remoção de distorção de codificação for aplicado entre blocos verticalmente adjacentes. Por outro lado, embora a supressão de erro de codificação em componentes de alta freqüência na direção vertical seja reduzida, se os blocos de estrutura de quadro forem convertidos em blocos de estrutura de campo em figuras fixas, a correlação vertical entre pixels não é perdida e a degradação não natural da qualidade da imagem não ocorre facilmente.
[0206] Os blocos de estrutura de quadro são convertidos em blocos de estrutura de campo para reduzir a quantidade de processamento (apenas convertendo quadros em campos) no exemplo acima. Contudo, se o número de operações não é uma preocupação, um método alternativo pode ser usado que converte quadros em campos e campos em quadros e, assim, aumenta o número de operações comparado com o exemplo prévio por causa do processamento adicional requerido para converter campos em quadros.
Mais especificamente, se os pixels alvo para remoção de distorção de codificação (isto é, o pixel corrente 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 é primeiro determinado. Se os pixels alvo para remoção de distorção de codificação estão em um bloco de estrutura de campo, os blocos da 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 processamento de remoção de distorção de codificação estiverem em um bloco de estrutura de quadro, blocos de estrutura de campo são convertidos em blocos de estrutura de quadro (isto é, o tipo de bloco do pixel alvo).
[0207] A operação quando as estruturas de quadro e as estruturas de campo são misturadas é descrita em seguida com referência ao fluxograma na figura 22.
[0208] Um quadro em uma corrente de sinais de imagem entrelaçada consiste em dois campos varridos em momentos diferentes. Um quadro pode, portanto, ser um quadro codificado através da combinação dos dois campos em uma única unidade de codificação (codificação de estrutura de quadro) ou pode ser um quadro codificado com os dois campos codificados e manipulados separadamente (codificação de estrutura de campo). Esses métodos de codificação também podem ser agrupados nas duas categorias seguintes: codificação fixa e codificação adaptativa. Com a codificação fixa, toda a figura é comutada entre a codificação de quadro ou codificação de campo. Com a codificação adaptativa a figura é dividida em um número de blocos e cada bloco é codificado de quadro ou codificado de campo.
[0209] A codificação fixa ainda inclui codificação fixa de quadro aplicada aos blocos de estrutura de quadro e a codificação fixa de campo aplicada aos blocos de estrutura de campo. Com a codificação fixa, a seqüência de vídeo entrelaçada é sempre codificada com codificação de quadro ou codificação de campo independente do conteúdo.
[0210] Com a codificação adaptativa, porém, a codificação de quadro ou a codificação de campo pode ser a figura selecionada adaptativamente com base no conteúdo, ou a unidade de bloco de codificação na figura. Es- ses blocos de codificação na figura podem ser tão pequenos quanto o ma-crobloco. Com a codificação adaptativa, macroblocos individuais podem, portanto, ser codificados usando a codificação de quadro ou codificação de campo. Os macroblocos são usados como a unidade de codificação abaixo.
[0211] Blocos codificados de quadros, isto é, blocos com uma estrutura de quadro, podem ser processados para remoção de distorção de codificação usando a mesma técnica aplicada ao vídeo não-entrelaçado.
[0212] Com os blocos codificados de campo, isto é, blocos com uma estrutura de campo, os campos são separados em campos pares e campos ímpares, cada campo é manipulado como uma figura separada e a debloca-gem, portanto, é aplicada a cada campo.
[0213] Fazendo referência ao fluxograma na figura 22, se o bloco alvo for codificado de campo ou codificado de quadro é decidido primeiro (etapa 63). Se o bloco for codificado de campo, as etapas 64 a 69 são executadas. Se o bloco for codificado de quadro, as etapas 70 a 72 são executadas.
[0214] As etapas 64 a 66 processam blocos de estrutura de campo pares e as etapas 67 a 69 processam blocos de estrutura de campo ímpares. As etapas 64 a 66 removem distorção de codificação entre 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 pixels cinza no limite entre as colunas C3 e C4 na figura 21 (b).
[0215] Mais especificamente, a luminância de 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.
[0216] As etapas 67, 68 e 69 realizam as mesmas operações que as etapas 64, 65 e 66, respectivamente.
[0217] As etapas 70 a 72 processam blocos de estrutura de quadro para remover distorção de codificação no limite entre as colunas C5 e C6 na figura 21 (b). Mais especificamente, a luminância de pixel é comparada na etapa 70 para determinar se a remoção de distorção de codificação é neces- sá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.
[0218] Se todos os blocos tiverem sido processados, é determinado, na etapa 73, e, se tiverem, a operação termina.
[0219] A figura 23 mostra um método alternativo em que as etapas 64 e 67 na figura 22 são combinadas em uma etapa única. Mais especificamente, se for necessário remover a distorção de codificação dos blocos de campos pares e dos blocos de campos ímpares e determinada, e deblocagem é aplicada aos blocos de campo pares e ímpares, se for necessário. Isso simplifica o processo de remoção de distorção de codificação.
[0220] A figura 24 mostra um outro método alternativo em que as etapas 65 e 68 na figura 23 são combinadas em uma única operação, determinando o número de pixels nos blocos de campos pares e nos blocos de campo ímpares a serem deblocados. A remoção de distorção de codificação é, então, aplicada aos blocos pares e aos blocos ímpares com base no resultado. Esse método ainda simplifica a remoção de distorção de codificação.
[0221] A figura 25 é um fluxograma de um processo usado quando blocos de quadro codificados e blocos de campo codificados são misturados em uma figura única e o limite de bloco fica entre um bloco de estrutura de quadro e um bloco de estrutura de campo.
[0222] A etapa 95 primeiro determina se a linha limite entre os blocos que estão sendo processados para remoção de distorção de codificação é uma linha limite específica, isto é, se um bloco de estrutura de quadro em um lado da linha e um bloco de estrutura de campo está no outro lado. Isso é comparável à determinação se a linha está entre as colunas C4 e C5 na figura 21 (b). Se estiver (etapa 95 retorna sim), o controle avança para a etapa 96.
[0223] O bloco de estrutura de quadro em um lado do limite, é, então, convertido em um bloco de estrutura de campo (etapa 96). Essa conversão é comparável à conversão de 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".
[0224] Se a remoção de distorção de codificação for 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). Isso é comparável a decidir se a debloca-gem é necessária no limite entre as colunas C4 e C5 na figura 21 (c). Se for necessário, o controle avança para a etapa 98.
[0225] O número de pixels a filtrar é, então, determinado (etapa 98) e a distorção de codificação é removida no modo de campo (etapa 99).
[0226] A figura 25 mostra um método pelo qual 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 estrutura de campo codificados são adjacentes, mas é possível, inversamente, 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.
[0227] Uma vantagem de remover a distorção de codificação em uma base de campo, conforme mostrado na figura 25, é que a operação é resistente à degradação não natural da qualidade da imagem porque a distorção de codificação é removida usando apenas pixels no mesmo instante, ainda que em sinais de imagem com movimento rápido. 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 freqüência do que a deblocagem em uma base de campo. Desse modo, ambos os métodos têm vantagens e o fabricante de equipamentos poderia selecionar o método preferível ou meios poderiam ser proporcionados de modo que o usuário pudesse selecionar o método desejado.
[0228] A remoção de distorção de codificação poderia também ser aplicado pela unidade de figura (quadro ou campo) em lugar de unidade de bloco com codificação adaptativa. O filtro de deblocagem pode ser simplificado através do fornecimento de um filtro de deblocagem de modo de campo ou de modo de quadro para processamento de unidades de figura. O filtro podería ser fixo no modo de campo ou no modo de quadro, ou podería comutar em uma base de figura. Se o filtro comuta 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 da corrente de código e transmitido para o decodificador.
[0229] Além disso, quando a operação no modo de campo ou de quadro pode comuta em uma base de unidade de bloco e a deblocagem e a comutação em uma base de campo é proibida (através do estabelecimento de um parâmetro de figura para proibir a comutação na figura, por exemplo), a distorção de codificação pode ser removida por unidades de quadro.
[0230] Deve ser notado que o filtro de deblocagem nas primeira a quinta concretizações descritas acima pode ser usado como um filtro em pó, conforme mostrado na figura 32 ou um filtro em laço, conforme mostrado na figura 33.
[0231] Através do armazenamento dos dados a partir 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 a figura preditiva, quando usada como um filtro em laço e há ligeiramente mais degradação da qualidade da imagem codificada comparado com o uso de uma figura deblocada como a figura preditiva.
[0232] Por outro lado, como o resultado da remoção da distorção de codificação não é usado como a imagem de referência, quando usada como um filtro em pó, a imagem decodificada não será grandemente degradada independente do tipo de filtro de deblocagem 62 usado. Por exemplo, um filtro simples realizando as poucas operações podería ser usado como o filtro de deblocagem 62 em um telefone celular, um dispositivo para o qual um baixo consumo de energia é uma prioridade, enquanto um filtro com alta qualidade de imagem, de alta precisão, podería ser usado como o filtro de deblocagem 62 em um sistema de entretenimento estacionário para o qual a qualidade da imagem é a principal prioridade.
Concretização 6 [0233] Através do registro de um programa implementando as etapas do método de remoção de distorção de codificação e do método de decodifi-cação descrito nas concretizações precedentes em um disco flexível ou outro meio de registro de dados legível em computador, os processos descritos nas concretizações acima podem ser facilmente executados em um sistema de computador independente.
[0234] A figura 26 mostra um sistema de computador como uma outra concretização da invenção obtida usando um meio de registro de dados (um disco flexível, neste exemplo) armazenando o método de remoção de distorção de codificação, o método de codificação e o método de d eco d ifi cação descritos nas primeira à quinta concretizações acima.
[0235] A figura 26 (b) mostra um disco flexível como visto a partir da frente, urna vista seccional do mesmo e o meio de disco real e a figura 26 (a) mostra o formato físico de um meio de registro de disco flexível típico. O disco flexível FD está alojado no interior de uma caixa F. Uma pluralidade de trilhas concêntricas Tr é formada a partir da circunferência externa até a circunferência interna na superfície do disco e as trilhas são divididas na direção angular em 16 setores Se. Um disco flexível FD armazenando o programa acima de acordo com a presente invenção, desse modo, 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 registrados como programas executáveis em computador para áreas alocadas especificamente no disco flexível FD.
[0236] A figura 26 (c) mostra um aparelho para registrar e ler esses programas usando esse disco flexível FD. Para registrar esses programas no 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 um drive 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 decodificação no sistema de computador a partir dos programas armazenados no disco flexível FD, os programas são lidos do disco flexível FD pelo drive de disco flexível e transferidos para o sistema de computador.
[0237] Deve ser notado que embora um disco flexível seja descrito acima como o meio de registro de dados, um disco óptico ou outro tipo de meio legível em computador podería ser usado, incluindo discos de CD-ROM, cartões de memória, cassetes de ROM ou qualquer outro meio capaz de registrar similarmente os programas.
[0238] 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 concretizações acima é descrito a seguir.
[0239] A figura 27 é um diagrama esquemático mostrando a configuração global de um sistema de abastecimento de conteúdo ex100 para fornecimento de um serviço de distribuição de conteúdo. A área de serviço desse sistema de comunicação é dividida em células de um tamanho desejado e uma estação base ex107 a ex110 (estação sem fio estacionária) é instalada em cada célula.
[0240] Esse sistema de abastecimento de conteúdo ex100 tem numerosos dispositivos individuais, tais como um computador ex111, PDA (Assistente Pessoal Digital) ex112, câmera ex113, telefone celular ex114 e um telefone celular com uma câmera wx115 conectado à Internet ex101, por exemplo, por meio de um provedor de serviços da Internet ex 102, rede telefônica ex104 e estações base ex107 a ex110.
[0241] Esse sistema de abastecimento de conteúdo ex100 não estará limitado à configuração mostrada na figura 27, porém, e os dispositivos desejados poderíam ser conectados seletivamente. Os dispositivos individuais poderíam também ser conectados diretamente à rede telefônica ex104, sem passar através das estações base fixas ex107 a ex110.
[0242] 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 usar qualquer um de vários protocolos, incluindo PDC (Comunicações Pessoais Digitais), CDMA (acesso múltiplo por divisão de código), W-CDMA (acesso múltiplo por divisão de código de banda larga, GSM (Sistema Global para Comunicações Móveis) e PHS (Sistema Pessoal de Telefone de mão).
[0243] A câmera ex113 pode se conectar, através de uma estação base ex109 e de uma rede telefônica ex104 a um servidor de streaming ex103, que pode fazer fluir difusões ao vivo de conteúdo codificado enviado por um usuário usando a câmera ex113.0 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 também podem ser enviados através do computador ex111 para o servidor de streaming ex103. Essa câmera ex116 é uma câmera digital ou outro dispositivo capaz de capturar figuras fixas e vídeo. Os dados de vídeo recebidos da câmara ex116 podem ser codificados pela câmera ex116 ou pelo computador ex111. Em ambos os casos os dados de vídeo são processados pelo dispositivo de LSI ex117 no computador ex111 ou na câmera ex116.0 software para codificação e decodificação de vídeo pode ser armazenado em qualquer meio de registro de dados legível por computador (tal como um disco de CD-ROM, disco flexível, ou drive de disco flexível) que o computador ex111 pode acessar.
[0244] Os dados de vídeo também poderíam ser enviados por um telefone celular com uma câmera ex115. Os dados de vídeo nesse caso são codificados por um dispositivo de LSI no telefone celular com uma câmera ex115.
[0245] Com esse sistema de fornecimento de conteúdo ex100, o conteúdo (tal como um registro ao vivo de um concerto) gravado pelo usuário usando a câmera ex113, a câmera ex116 ou outro dispositivo é codificado como descrito nas concretizações acima da invenção e enviado para o servidor de streaming ex103. O servidor de streaming ex103, então, faz fluir os dados do conteúdo para fora, para os clientes que solicitam os dados. Os clientes poderíam ser quaisquer dispositivos capazes de decodificar o conteúdo codificado, incluindo o computador ex111, o PDA ex112, a câmera ex113 e o telefone celular ex114. Esse sistema de fornecimento de conteúdo ex100, assim, permite que os clientes recebam e reproduzam dados de conteúdos codificados, permite aos clientes receber, decodificar e reproduzir conteúdo em tempo real e é, desse modo, um sistema que permite a difusão pessoal.
[0246] O aparelho de codificação de vídeo e o aparelho de decodifica-ção de vídeo da presente invenção descritos nas concretizações acima podem ser usados para codificação e decodificação pelos dispositivos individuais neste sistema de abastecimento de conteúdo ex100.
[0247] Um telefone celular usado neste sistema de conteúdo ex100 é descrito a seguir à guisa de exemplo.
[0248] A figura 28 mostra um telefone celular ex115 usando 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. Conforme mostrado na figura 28, esse telefone celular com uma câmera ex115 tem uma antena ex201 para trocar sinais de RF com uma estação base ex110; uma câmera ex203, tal como uma câmera de CCD para capturar figuras de vídeo e fixas; uma unidade de exposição ex202, tal como um LCD para mostrar imagens capturadas pela câmera ex203 ou imagens recebidas pela antena ex201 e, então, decodificadas; um painel operacional com um teclado ex204 e outros controles; uma unidade de saída de áudio, tal como um alto-falante ex208 para saída de áudio; um microfone ex205 ou outro tipo de entrada de áudio; meio de registro ex 207 para armazenar dados codificados e decodificados, como dados de imagens de vídeo ou fixas capturadas pela câmera ex203, e-mail recebido, ou outros dados de figuras fixas ou de vídeo; e uma abertura ex206 para carregar o meio de registro ex207 no telefone celular ex115. O meio de registro ex207 poderia ser um Cartão SD ou outro tipo de dispositivo de memória flash, tal como uma EEPROM (memória de leitura somente eletricamente apagável e programável) alojada em uma caixa plástica.
[0249] Esse telefone celular ex115 é ainda descrito com referência à figura 29. Conectados ao controlador principal ex311 para controlar sistematicamente cada parte do telefone celular e115, incluindo a unidade de exposição ex202 e o teclado ex204 através do barramento de sincronização ex313 está um circuito de abastecimento de energia 310, o controlador de entrada operacional ex304, a unidade de codificação de imagem ex312, a interface de câmera ex303, o controlador de LCD ex302, a unidade de decodificação de imagem ex309, o multiplexador/demultiplexador ex308, a unida- de de leitura/escrita ex307, a unidade de modulador/demodulador ex306 e a unidade de processamento de áudio ex305.
[0250] Quando o usuário ajusta os botões end (fim) e power (energia) para a posição on (liga), o circuito de abastecimento de energia ex310 fornece energia de uma embalagem de bateria para cada parte do telefone celular ex115 e, assim, ajusta o telefone celular digital ex115 com câmera para o modo de operação.
[0251] Controlado pelo controlador principal ex311, que, 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 talk (falar) em dados de áudio digitais por meio de uma unidade de processamento de áudio ex305. A unidade de modulador/demodulador ex306, então, difunde por espectro a saída da unidade de processamento de áudio ex305 e o circuito de comunicação ex301 aplica o processamento de conversão de D/A e conversão de freqüência e, a seguir, sai através da antena ex201. Quando no modo talk, o telefone celular ex115 amplifica os sinais recebidos através da antena ex201 e aplica o processamento de conversão de freqüência e de A/D, a unidade de modulador/demodulador ex306 concentra o sinal, a unidade de processamento de áudio ex305, então, converte o sinal concentrado em um sinal de áudio analógico e sai o sinal de áudio analógico do alto-falante ex208.
[0252] Se e-mail for enviado quando no modo de comunicação de dados, os dados de texto da mensagem de e-mail são introduzidos usando o teclado ex204 e enviados através do controlador de entrada operacional ex304 para o controlador principal ex311. O controlador principal ex311, então, difunde por espectro os dados de texto usando a unidade de modulador/demodulador ex306, conversão de D/A e conversão de freqüência processa o sinal usando o circuito de comunicação ex301 e, então, transmite da antena ex201 para a estação base ex110.
[0253] Para transmitir dados de imagem quando no modo de comunicação de dados, os dados de imagem capturados com a câmera ex203 são fornecidos através da interface de câmera ex303 para a unidade de codifica- ção de imagem ex312. Se os dados de imagem não forem transmitidos, os dados de imagem capturados com a câmera ex203 podem ser visualizados diretamente na unidade de exposição ex202 por meio da interface de câmera ex303 e do controlador de LCD ex302.
[0254] 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. Ele converte dados de imagem fornecidos da câmera ex203 para os dados de imagem codificados através de codificação de compressão, usando o método de codificação usando no aparelho de codificação de imagem descrito nas concretizações precedentes e sai os dados de imagem codificados para o multiplexador/demultiplexador ex308. O áudio capturado pelo microfone ex205 do telefone celular ex115 enquanto grava com a câmera esc203 é também enviado para o multiplexador/demultiplexador ex 308 como dados de áudio digitais pela unidade de processamento de áudio ex305.
[0255] O multiplexador/demultiplexador ex308 multiplexa os dados de figura codificados fornecidos da unidade de codificação de imagem ex312 com os dados de áudio fornecidos da unidade de processamento de áudio ex305. Os dados multiplexados resultantes são, então, dispersos por espectro pela unidade de modulador/demodulador ex306, conversão de D/A e conversão de freqüência são aplicadas pelo circuito de comunicação ex301 e o sinal é, então, transmitido da antena ex201.
[0256] Se os dados de um arquivo de vídeo acessado de um site da web na Internet, quando no modo de comunicação de dados, são recebidos, o sinal recebido da estação base ex 110 através da antena ex201 é concentrado pela unidade de modulador/demodulador ex306 e os dados multiplexados resultantes são enviados para o multiplexador/demultiplexador ex308.
[0257] Para decodificar os dados multiplexados recebidos através da antena ex201, o multiplexador/demultiplexador ex308 demultiplexa os dados multiplexados para separar a corrente de bits de dados de vídeo codificados e a corrente de bits de dados de áudio codificados. A corrente de bits de dados de vídeo codificados é, então, fornecida à unidade de decodificação de imagem ex309 e a corrente de bits de dados de áudio codificados é forneci- da à unidade de processamento de áudio ex305 por meio de barramento de sincronização ex313.
[0258] A unidade de decodificação de imagem ex309 tem a mesma configuração que o aparelho de decodificação de imagem descrito nas concretizações acima. Ela produz dados de vídeo reconstruídos através da decodificação de uma corrente de bits de dados de vídeo codificados usando um método de decodificação que corresponde ao método de codificação descrito acima e fornece os dados de vídeo decodificados através do controlador de LDC ex302 na unidade de exposição ex202. Os dados de vídeo em um arquivo de vídeo acessado de uma pagina da web na Internet podem, assim, ser visualizados. 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 fornece o resultado para o alto-falante ex208. Os dados de áudio contidos em um arquivo de vídeo acessado de um site da web na Internet podem, assim, também ser reproduzidos do alto-falante.
[0259] O sistema de comunicação da presente invenção não estará limitado à configuração acima. Esse sistema podería, por exemplo, ser adaptado a um sistema de difusão digital, conforme mostrado na figura 30, usando o aparelho de codificação de imagem e/ou o aparelho de decodificação de imagem da presente invenção para acessar difusões digitais transmitidas através de redes de satélites ou terrestres.
[0260] Mais especificamente, a estação de difusão ex409 transmite uma corrente de bits de dados de vídeo codificados através de ondas de rádio para um satélite de comunicação ou de difusão ex410. O satélite de difusão ex410 que recebe essa transmissão transmite o sinal de difusão, o qual é recebido por uma antena ex406 em uma residência, por exemplo, com um receptor de difusão por satélite. A corrente de bits codificados é, então, decodificada e reconstruída pelo receptor de televisão ex401, a set-top box (STB) ex407 ou outro dispositivo.
[0261] O aparelho de decodificação de vídeo da presente invenção também pode ser implementado em um dispositivo de reprodução ex403 para leitura e decodificação de uma corrente de bits codificados registrada em um meio de registro, tal como um CD, um DVD ou outro meio de armazenamento ex402. Nesse caso, o sinal de vídeo reconstruído é apresentado em um monitor ex404, por exemplo.
[0262] O aparelho de decodificação de imagem da invenção trem de válvulas podería ser construído em uma set-top Box ex407 conectada a uma antena de difusão por satélite ou terrestre ex406 ou a uma antena a cabo ex405 para acesso por televisão a cabo. A saída dessa set-top Box ex407 também podería ser apresentada em um monitor de televisão ex408.
[0263] O aparelho de decodificação de imagem podería, alternativamente, ser construído na televisão em lugar da set-top Box.
[0264] Os sinais também poderíam ser recebidos do satélite ex410 ou da estação base ex107 por um automóvel ex412 tendo uma antena apropriada ex411 e o vídeo decodificado podería ser apresentado na tela de um sistema de navegação de carro ex413 no automóvel ex412.
[0265] Um sinal de vídeo podería também ser codificado por um aparelho de codificação de vídeo de acordo com uma concretização da presente invenção e registrado em um meio de registro de dados. Mais especificamente, um gravador de DVD podería registrar o sinal de imagem em um disco de DVD ex421 ou um registrador de disco rígido ex420 podería registrar o sinal de imagem. O sinal de vídeo podería ainda, alternativamente, ser registrado em um Cartão de SD ex422. Se o registrador ex420 tem um aparelho de decodificação de vídeo de acordo com a presente invenção, ele podería, também, reproduzir e apresentar no monitor ex408 os sinais de vídeo registrados no disco de DVD ex421, no Cartão de SD ex422 ou outro meio de armazenamento.
[0266] Deve ser notado que o sistema de navegação de carro ex413 pode ser configurado sem a câmera ex203, interface de câmera ex303 e unidade de codificação de imagem ex312 mostrados na figura 29. Isso também se aplica ao computador ex111 e à televisão (receptor) ex401, por exemplo.
[0267] O telefone celular ex114 ou outro terminal podería ser um terminal de transceptor tendo o codificador e o decodificador descritos acima ou podería ser um terminal de transmissão tendo apenas o codificador, ou um terminal de recepção, tendo apenas o decodificador.
[0268] Também será óbvio que o aparelho de codificação e o aparelho de decodificação da presente invenção não devem estar limitados às configurações nas primeira à sexta concretizações descritas acima e podem ser variados em muitas maneiras.
[0269] O método de codificação de vídeo e o método de decodificação de vídeo descritos nas concretizações acima podem, assim, ser usados em qualquer um dos dispositivos e sistemas descritos acima, assim, obtendo os efeitos dessas concretizações.
[0270] O método de remoção de distorção de codificação da presente invenção, desse modo, proporciona 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 redução da qualidade da 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 da imagem do sinal de imagem como um resultado da remoção de distorção de codificação. A presente invenção, portanto, tem grande valor prático.
[0271] Embora a presente invenção tenha sido descrita em relação com as suas concretizações preferidas com referência aos desenhos anexos, deve ser notado que várias mudanças e modificações serão evidentes para aqueles versados na técnica. Essas mudanças e modificações devem ser compreendidas como incluídas dentro do escopo da presente invenção, conforme definido pelas reivindicações anexas, a menos que se afastem a mesma.
REIVINDICAÇÕES
Claims (1)
1. Método de remoção de distorção de codificação para remover distorção de codificação em uma área disposta em ambos os lados de um limite de bloco entre um primeiro bloco e um segundo bloco adjacente em uma figura tendo uma pluralidade de blocos, cada bloco sendo adaptativa-mente codificado tanto como um bloco de estrutura de campo compreendendo somente pixels de campo pares ou compreendendo somente pixels de campo ímpares ou um bloco de estrutura de quadro compreendendo pixels de campo pares e pixels de campo ímpares compreende: uma etapa de detectar (95) para detectar se o limite de bloco entre o primeiro bloco e o segundo adjacente é um limite de bloco entre um bloco de estrutura de campo e um bloco de estrutura de quadro; e uma etapa de remover distorção de codificação (99) para realizar um processo de remoção de distorção de codificação no primeiro bloco e no segundo bloco adjacente, caracterizado pelo fato de que o processo de remoção de distorção de codificação compreende determinar se a remoção de distorção de codificação é necessária (97), determinar o número de pixels a ser processado (98) e remover a distorção de codificação (99), e a remoção de distorção de codificação (96,99) compreende realizar um processo de remoção de distorção de codificação nos pixels de campo pares do primeiro bloco e a realizar separadamente o processo de remoção de distorção de codificação em pixels de campo ímpares do primeiro bloco quando é detectado que o limite de bloco entre o primeiro bloco e o segundo bloco adjacente é um limite de bloco entre um bloco de estrutura de campo e um bloco de estrutura de quadro e o primeiro bloco é um bloco de estrutura de quadro e o segundo bloco adjacente é um bloco de estrutura de campo.
Family
ID=
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2650593T3 (es) | Método de extracción de la distorsión de codificación | |
ES2754625T3 (es) | Método de extracción de distorsión de codificación | |
JP2007143178A (ja) | 符号化歪除去方法 | |
BRPI0206777B1 (pt) | Method of removing encoding distortion | |
JP4009650B2 (ja) | 符号化歪除去方法、動画像符号化方法、動画像復号化方法、およびそれらを実現する装置、プログラム | |
JP4105218B2 (ja) | 受信装置及び送信装置 | |
JP4562785B6 (ja) | 符号化歪除去方法 |