BR9713711B1 - aparelho de compressão de blocos de pixels em um sistema de processamento de imagem. - Google Patents

aparelho de compressão de blocos de pixels em um sistema de processamento de imagem. Download PDF

Info

Publication number
BR9713711B1
BR9713711B1 BRPI9713711-1A BR9713711A BR9713711B1 BR 9713711 B1 BR9713711 B1 BR 9713711B1 BR 9713711 A BR9713711 A BR 9713711A BR 9713711 B1 BR9713711 B1 BR 9713711B1
Authority
BR
Brazil
Prior art keywords
pixel
block
data
value
bit
Prior art date
Application number
BRPI9713711-1A
Other languages
English (en)
Other versions
BR9713711A (pt
Inventor
Haoping Yu
Barth Alan Canfield
Billy Wesley Beyers
Wai-Man Lam
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed filed Critical
Publication of BR9713711A publication Critical patent/BR9713711A/pt
Publication of BR9713711B1 publication Critical patent/BR9713711B1/pt

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/98Adaptive-dynamic-range coding [ADRC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Description

"APARELHO DE COMPRESSÃO DE BLOCOS DE PIXELS EM UMSISTEMA DE PROCESSAMENTO DE IMAGEM"
A presente invenção refere-se a um aparelho paradiminuir os requisitos de memória de um processador de videodigital. Em particular, a invenção descreve um aparelho pa-ra comprimir com precisão as informações de pixels antes doarmazenamento na memória.
O uso que economiza memória é importante no designe operação de processadores de imagem. Por exemplo, os pro-dutos ao consumidor tais como sistemas de televisão podemusar processadores de imagem que incluem o processamento desinais MPEG-2. 0 padrão de compressão de sinal MPEG (MotionPicture Experts Group) (ISO/IEC 13181-2, 10 de maio de 1994)é um padrão de processamento de imagem amplamente aceito queé particularmente atraente para uso com sistemas de trans-missão via satélite, cabo e terrestre que empregam o proces-samento de televisão de alta definição (HDTV) entre outrasformas de processamento de imagem. Os produtos que usam e-xibições de alta definição exigem 96 Mbits ou mais de memó-ria para armazenar temporariamente quadros de MPEG decodifi-cados antes da exibição. Um processador de MPEG requer essesquadros para estimativa e compensação de movimento para re-construir imagens acuradas para exibição.
Os sistemas que reconstroem imagens a partir deelementos de imagem decodificada com MPEG (pixels ou pels)empregam Modulação Codificada de Pulso Diferencial (DPCM).No processamento de DPCM, um processador gera um valor deprevisão que antecipa o próximo valor de pixel. Uma rede desoma subtrai a previsão do valor de pixel real, o que resul-ta em uma diferença usada para representar os dados de ví-deo. Esta diferença, conhecida como erro de previsão, ge-ralmente é menor do que o valor de dados, de maneira tal queo processamento da diferença em vez do valor de pixel origi-nal reduz os requisitos de largura de faixa do sistema. 0erro de previsão pode ter um valor positivo ou negativo.Ang et al., "Vídeo Compression Makes Big Gains" IEEE Spec-trum, Outubro de 1991, descrevem um codificador e decodifi-cador de MPEG.
Os processadores de imagem que economizam memóriausam menos memória para armazenar os quadros de imagem aorecodificar (recomprimir) os dados de blocos antes do arma-zenamento. No domínio espacial, a redução do número de bitspor pixel usados para armazenar os quadros de imagem afetaadversamente a qualidade da imagem se os pixels não puderemser reconstruídos com precisão ao seu valor original. Arte-fatos podem ocorrer, especialmente em áreas lisas da imagem.
Os processadores de imagem com redução de memória devemquantificar e desquantificar com precisão o sinal decodifi-cado com MPEG de um modo tão eficiente e econômico quantopossível.
É sabido que se tira vantagem das limitações e pr-ocessamento da recepção óptica humana e dados de luminânciae crominância de modo diferente. As leis de otimização dacompressão para cada tipo de dados para levar em conta oscomponentes de energia e freqüência nos dados, bem como oque o olho humano pode ver, são descritas na patente U.S.No. 4.575.74 9, concedida a Acampora et al. Acampora apre-senta a compressão de amplitude para reduzir o ruído em si-nais de televisão antes da transmissão. Formatos de exibi-ção tais como 4:2:2 e 4:2:0 também descrevem a compressão dedados de vídeo onde os dados de luminância e crominância fo-ram processados de maneira diferente. Coeficientes de for-mato de 4:2:2 e 4:2:0 indicam que um bloco de dados de cro-minância contém metade ou um quarto da quantidade de infor-mações que um bloco de dados de luminância contém. No en-tanto, uma vez que os dados de vídeo são recebidos em umprocessador de exibição, os dados são representados como da-dos de pixels de η bits. As técnicas de compressão conheci-das acima não se referem à compressão relativa ao processa-dor de exibição.
No processador de exibição, os dados de luminânciae crominância podem ser processados em separado, mas não comrespeito à recompressão. Um exemplo de processador de exi-bição que processa dados de luminância e crominância de mododiferente é a conversão dos dados de razão 4:2:2 ou 4:2:0 emdados de linha de varredura, em que nem todo pixel é defini-do com informações de crominância. No entanto, isto não temnada a ver com a compressão ou recompressão de dados. Atéque o formato MPEG se tornasse disponível, houve pouca preo-cupação quanto à alocação de memória para um processador deexibição, porque não havia a necessidade de calcular um qua-dro de imagem a partir de vetores de movimento ou informa-ções de composição de movimento. Com o advento do formatoMPEG, os quadros múltiplos de dados de pixels não têm queser armazenados em memória associada com a exibição para re-construir quadros de imagem. 0 pedido de depósito copenden-te 08/579.129 descreve a recompressão de dados de pixels devideo antes do armazenamento na memória de quadros, antesque eles sejam recebidos pelo processador de exibição.
Mais especificamente, devido ao fato que os dadosde crominância são geralmente definidos por menos pixels(com bits limitados) quando comparados aos dados de luminân-cia (por exemplo, no formato 4:2:2 ou 4:2:0), a compressãoou recompressão adicional de dados de crominância é contra-indicada. A compressão ou recompressão de dados de cromi-nância, tal como por meios tais como a quantificação, agoracompromete seriamente a capacidade de reconstruir com preci-são os dados de crominância originais para exibição, o queresulta em qualidade reduzida de imagem. A redução de re-quisitos de memória para processadores de exibição tal comopode ser obtida através da recompressão de dados de pixelsde luminância e crominância antes do armazenamento na memó-ria de quadros, e a necessidade de reconstruir com precisãoos dados de imagem para exibição são interesses competitivosum em relação ao outro. Isto é particularmente verdadeirono caso de um sistema de alta definição, tal como HDTV, ondeos detalhes são claramente exibidos.
Os autores da presente invenção reconhecem o dese-jo de se ter um sistema de redução de dados eficiente queempregue hardware e software mínimos que irão economizar me-mória e reduzir o tamanho físico do processador enquanto mi-nimizam os artefatos introduzidos na imagem reconstruída. 0sistema descrito resolve esses problemas ao processar dadosde luminância e crominância de modo diferente de acordo comos princípios da presente invenção.
Um processador de imagem de memória eficiente deacordo com a presente invenção recebe uma corrente de dadosdigitais de dados de vídeo com formato MPEG. Os dados MPEGsão decodificados e descomprimidos e apresentados ao proces-sador como blocos de pixels de imagem de dados de luminânciae crominância. Os dados de luminância e crominância são re-comprimidos a um número predeterminado de bits por blocos depixels, sendo que a cada representação de pixels é alocadoum número médio de bits para armazenamento na memória dequadros. O número médio de bits por representação de pixelsé pelo menos um bit menos para os dados de crominância doque para os dados de luminância.
BREVE DESCRIÇÃO DOS DESENHOS
A Figura 1 é um diagrama de blocos de um processa-dor de blocos de pixels que inclui um sistema de acordo comos princípios da presente invenção.
A Figura 2 mostra detalhes da parte de compressãodo sistema da Figura 1.
A Figura 3 ilustra um formato de dados disposto empacote adequado para uso por um sistema que inclui a presen-te invenção.
A Figura 4 mostra detalhes da parte de descompres-são do sistema da Figura 1.
A Figura 5A mostra detalhes da parte do mapeadorde quantificação da Figura 2.A Figura 5B é uma tabela de verdade para o blocoSelecionar da Figura 5A.
As Figuras 6A, 6B e 6C são tabelas de quantifica-ção/desquantificação de três bits, quatro bits e cinco bits,respectivamente.
A Figura 7 mostra o aparelho para a produção detabelas de desquantificação simétrica.
A Figura 8 é uma tabela que mostra os bits dequantificação suspensos.
As Figuras 9A, 9B e 9C representam um fluxogramade um controlador de codificação de acordo com os princípiosda presente invenção.
A Figura 10 é um diagrama de blocos de um sistemade televisão compatível com MPEG que emprega a presente in-venção.
Como uma introdução, uma modalidade exemplificado-ra da invenção será descrita brevemente antes de detalhar oselementos da invenção. A modalidade exemplificadora possi-bilita que os dados de elementos de imagem (pixels) sejamcomprimidos a partir de valores de oito bits a valores dequatro bits para os dados de crominância. Isto é um decrés-cimo de perda de 16 para 1 em resolução que, normalmente,resultaria em uma séria degradação na qualidade de imagem devídeo. As técnicas que incorporam a invenção permitem a re-construção precisa de dados.
Um processador de imagem de memória eficiente de-termina os valores de erro de previsão de DPCM a ser quanti-ficados para os componentes de dados de luminância e cromi-nância de blocos de pixels. Os dados de luminância são com-primidos por uma tabela de quantificação de 64 níveis deseis bits, ao passo que os dados de crominância são compri-midos com um conjunto de tabelas de quantificação de três,quatro e cinco bits personalizadas para uma faixa seleciona-da e acessada por esta a partir de um conjunto de faixaspredeterminadas. Um pixel de referência a partir de cadablocos de pixels é comprimido de modo diferente de outrospixels para obter a precisão inicial na rede de previsão.
Os parâmetros de bloco são determinados, codificados e arma-zenados com os blocos de pixels comprimidos para facilitar areconstrução. As tabelas de quantificação fornecem símbolosde palavras de código curtas em níveis estatisticamente pro-váveis de ser acessados, de modo a compensar o armazenamentode parâmetros de blocos no espaço de memória fixa. Os pi-xels são processados individualmente para garantir a resolu-ção máxima e uma média geral de quatro bits por pixel queinclui os parâmetros de blocos.
Antes da quantificação, os valores de erro de pre-visão negativos são compensados para se obter um valor posi-tivo no âmbito do quantificador. Desse modo, o quantifica-dor recebe valores positivos e as tabelas incluem somentepontos de decisão positivos. As tabelas simétricas permitemque os pontos médios da tabela e metade das tabelas residamna memória ROM, ao passo que a outra metade é mapeada pelocircuito.
Na prática, um receptor de televisão pode incluirum decodificador MPEG. Uma rede de redução de dados quanti-fica um sinal MPEG decodificado e descomprimido que repre-senta blocos de imagem antes do armazenamento na memória dequadros, de modo a reconstruir os blocos conforme necessáriopara uma exibição da imagem. Um dispositivo de exibição e-xibe dados de imagem derivados da memória de quadros. Osdados recebidos e processados pela rede consistem em um si-nal de video de alta definição de 1920 χ 1080 pixels, 4:2:2ou 4:2:0. Os dados de luminância são particionados em blo-cos de 8 χ 8 pixels no domínio espacial com os dados de cro-minância particionados de acordo com o formato particular.
A rede processa os dados de blocos de pixels con-forme descrito acima. Para cada blocos de pixels de dadosde luminância, o primeiro pixel é elevado para sete bits, demodo a eliminar o pixel menos significativo. 0 último pixelé quantificado com a tabela de quantificação de cinco bitsprovida para a faixa de 256. Todos os outros bits são quan-tificados com uma tabela de quantificação de seis bits. 0resultado total é seis bits por recompressão de pixels.
Para os dados de crominância, a rede varre um blo-co de pixels e determina a faixa, os valores de pixels míni-mos e máximos para o bloco. Os valores predeterminados re-presentativos são substituídos em lugar da faixa e dos valo-res de pixels mínimos, e armazenados com o valor de pixel dereferência como um cabeçalho para os dados. 0 pixel de re-ferência pode ser o primeiro pixel do bloco, por exemplo.
Um controlador usa registros para cada bloco de pixels decrominância e seleciona uma tabela de quantificação de três,quatro ou cinco bits para processar cada pixel e manter umamédia de quatro bits por pixel após a compressão. Os símbo-los de três bits em níveis selecionados das tabelas de qua-tro e cinco bits compensam os bits necessários para armaze-nar o cabeçalho. Os símbolos de três bits residem em níveisonde os dados de entrada são estatisticamente mais prováveisde ocorrer, de modo a afetar, de modo mínimo, a resolução decompressão. Se os bits excessivos foram salvos ao se produ-zir símbolos de três bits, os símbolos de cinco bits de altaresolução são produzidos. De modo semelhante, caso bits su-ficientes não forem salvos, uma tabela de três bits é aces-sada para manter uma média de quatro bits para cada pixelque inclui o cabeçalho. Os dados de luminância (Iuma) sãoreduzidos em 25% e os dados de crominância (croma) são redu-zidos em 50% em relação aos blocos de pixels disponíveis a-pós os dados recebidos serem descomprimidos a partir da cor-rente de transporte recebida. Com o sistema descrito, osdados de croma limitados por bits podem ser recomprimidoscom menos bits do que os dados de luminância recomprimidossem afetar adversamente a qualidade da imagem. 0 sistemaacima facilita a precisão durante a reconstrução do pixel.
A seguinte descrição é um exemplo dentro do con-texto de um receptor de televisão de alta definição compatí-vel com MPEG-2 para ajudar na explanação da invenção. 0sistema descrito permite a compressão de comprimento fixo emuma base de bloco de dados por bloco de dados para uma razãode compressão determinada ou selecionada. 0 armazenamentode um bloco de dados de comprimento fixo permite o acessoaleatório de blocos. 0 bloco de dados de comprimento fixo éobtido com o uso de uma combinação de configurações descri-tas no presente documento. O sistema de acordo com os prin-cípios da presente invenção pode ser empregado para, de modoeficiente, comprimir e descomprimir os dados de blocos dequalquer fonte e não deve ser limitado a receptores de tele-visão .
Na Figura 1, um decodificador, por exemplo, um de-codificador MPEG (não mostrado) , fornece um bloco de dadosde pixels decodificados MPEG para a entrada 10 de um proces-sador com redução de memória que inclui o compressor 12. Ocompressor 12 inclui um previsor 18, um quantificador 20 eum combinador 22. O previsor 18 emprega princípios bem co-nhecidos e pode ser do tipo descrito por Jain, "Fundamentaisof Digital Image Processing", Prentice-Hall, p. 484 (1989),por exemplo.
O quantificador 20 fornece um bloco de pixels re-duzido de dados à memória 14. Quando um processador de exi-bição (não mostrado) acessa o bloco de dados reduzidos namemória 14 para exibir uma imagem, o descompressor 16 re-constrói o bloco de dados original. O descompressor 16 in-clui o previsor 24 e o desquantificador 26 para recuperar osdados reduzidos da memória 14 e reconstruir o bloco de dadosreduzidos. O quantificador 20 e o desquantificador 26 sãodispostos de acordo com os princípios da presente invençãoconforme será discutido. O previsor 24 é semelhante ao pre-visor 18.
A entrada 10 do compressor 12 recebe um bloco depixels a partir de um decodificador MPEG, que será discutidoem associação com a Figura 10. 0 bloco de pixels está nodomínio espacial, e contém um bloco de 8 χ 8 de pixels deimagem que representa os dados de luminância (Iuma), por e-xemplo. Em um sistema que processa dados 4:2:2, os dados de crominância (croma) contêm um bloco de 8 χ 4 de pixels deimagem, e em um sistema que processa dados de 4:2:0, os da-dos de crominância (croma) contêm um bloco de 4 χ 4 de pi-xels de imagem, por exemplo. A entrada 10 fornece os dadosde blocos de pixels a uma entrada não invertida do combina-dor 22 e ao quantificador 20. O previsor 18 fornece dados deprevisão de pixels a uma entrada invertida do combinador 22e ao quantif icador 20. O combinador 22 combina os seus si-nais a partir de entradas invertidas e não invertidas e pas-sa a diferença ao quantificador 20. O quantificador 20 for- nece valores de imagem quantificados ao previsor 18 e valo-res de erro de previsão quantificados para a memória 14 paraarmazenamento.
Os dados de luminância são processados de modo di-ferente dos dados de crominância. Cada pixel dos blocos de pixels de luminância é alocado seis bits de espaço de arma-zenamento na memória 14 em média. 0 quantificador 20 sele-ciona um pixel de referência a partir de um bloco de pixelsrecebido. 0 pixel de referência pode ser o primeiro pixeldo bloco, por exemplo. 0 pixel de referência é um bit des- locado para direita e armazenado em uma localização prede-terminada com os pixels quantificados remanescentes do blocona memória 14. Um outro pixel do bloco é processado de mododiferente do pixel de referência e todos os outros pixelsremanescentes do bloco de pixels. Este outro pixel pode sero último pixel do bloco de pixels, por exemplo. Ele é pro-cessado com o uso de uma tabela de quantificação de cincobits de 2 6 níveis, conforme mostrado na Figura 6C. A com-pressão deste pixel com cinco bits compensa o processamentodo pixel de referência porque a economia de um bit na posi-ção do último pixel mantém a média de seis bits que foi com-prometida ao usar sete bits para o primeiro pixel. Se o ní-vel acessado na tabela de cinco bits contiver uma palavra decódigo curta, a palavra de código é zero cheia a cinco bits.
Todos os outros pixels do bloco de pixels de luminância sãocomprimidos com o uso de uma tabela de quantificação de seisbits de 64 níveis. A tabela de quantificação é projetadapara aceitar somente valores de erro de previsão DPCM posi-tivos. Os detalhes do design desta tabela são os mesmos pa-ra todas as tabelas de quantificação neste sistema, e serãodiscutidos posteriormente. Também será discutida posterior-mente a compensação de valores de erro de previsão negativospara garantir valores de entrada positivos nas tabelas dequantificação, que é o mesmo para dados tanto de Iuma quantode croma.
Os dados de croma são processados e comprimidos deuma maneira diferente dos dados de Iuma. A Figura 2 ilustrao quantificador 2 com mais detalhes uma vez que ele pertenceaos dados de croma. As mesmas referências numéricas identi-ficam elementos comuns nas Figuras 1 e 2. Especificamente,o quantificador 20 inclui o processador de erro de previsão27, o mapeador de quantificação 28, o controlador de codifi-cação 29, o processador de faixa mín-máx (MMRP) 30, o pri-meiro processador de pixels 31, e o multiplexador 32. A en-trada 10 fornece os dados de pixels de bloco ao MMRP 30, quevarre o bloco de pixels e determina o valor minimo de pi- xels, o valor máximo de pixels e a faixa para o bloco. OMMRP 30 seleciona uma faixa predeterminada a partir de umconjunto de faixas predeterminadas como uma função da faixareal, e troca a faixa predeterminada selecionada pela faixareal para uso subseqüente na rede. O MMRP 30 comprime os valores de parâmetros de bloco de faixa mínimos, máximos epredeterminados, e os transfere para o multiplexador 32.
O valor de pixel mínimo e a faixa também sãotransferidos para o primeiro processador de pixels 31, e afaixa predeterminada é transferida para o processador de er- ro de previsão 27, conforme será discutido. O processadorde erro de previsão 27 recebe os dados de erro de previsãodo combinador 22 e compensa os valores negativos com a faixapredeterminada selecionada. O mapeador de quantificação 28recebe os valores de erro de previsão compensados e não com- pensados do processador de erro de previsão 27. Esses valo-res são quantificados e enviados ao multiplexador 32. O ma-peador de quantificação 28 também envia os valores de errode previsão quantificados ao previsor 18, os quais o previ-sor 18 usa para calcular os dados de previsão. O multiple- xador 32 envia os parâmetros de blocos e os dados quantifi-cados à memória 14 sob cronometragem e controle que serãodiscutidos posteriormente. Os parâmetros de bloco represen-tam dados de cabeçalho (overhead) que são armazenados na me-mória 14 dentro de um campo de parâmetro associado com obloco de pixels quantificado. 0 campo de parâmetro e os da-dos quantificados formam em conjunto um pacote que consolidatodas as informações necessárias pelo descompressor 16 paraacessar as tabelas de desquantificação apropriadas e recons-truir o bloco de pixels. 0 controlador de codificação 29supervisiona a transferência de parâmetros de bloco e dadoscomprimidos, bem como a seleção de tabelas de quantificaçãopara os blocos de pixels individuais, conforme será discutido.
O primeiro processador de pixels 31 recebe o blocode pixels da entrada 10 e identifica um valor de pixel dereferência predeterminado. 0 valor de pixel mínimo de blocorecebido do MMRP 30 facilita a compressão do pixel de refe-rência independentemente de outros pixels de bloco. O pixelde referência comprimido é representado com bits suficientespara o desquantificador 26 reconstruir o seu valor originalde uma maneira sem perda ou quase sem perda. O primeiroprocessador de pixels 31 passa o valor de pixel de referên-cia comprimido como um parâmetro de bloco ao multiplexador32, o qual transfere os parâmetros de bloco, inclusive o va-lor de pixel de referência, e os dados quantificados à memó-ria 14. O desquantificador 26 usa o pixel de referência co-mo um valor de previsão para os pixels de bloco quantifica-dos durante a descompressão do pixel. Uma vez que o primei-ro valor (o valor do pixel de referência) usado na rede deprevisão durante a descompressão é independente, um determi-nado bloco de pixels pode ser descomprimido sem informaçõesde outros blocos de pixels. Este valor também é preciso, oque elimina um erro de previsão que se propaga dos dados re-construídos .
O pixel de referência é comprimido com o uso dovalor mínimo do bloco de pixels como um previsor para a de-rivação do valor comprimido. O valor mínimo é subtraído dovalor de referência, e a diferença é dividida por dois. Oresultado é armazenado na memória 14 com um bit menos do queo necessário para uma representação binária da faixa prede-terminada. A faixa predeterminada define o número de bitsusados para armazenar o valor de pixel de referência compri-mido porque, ao usar valores de pixels de bloco como previ-sores para outros valores no mesmo bloco de pixels, a dife-rença entre quaisquer dois valores de pixels de bloco, talcomo os valores de pixels de referência e mínimo, incidiráno domínio da faixa. O valor de referência comprimido usaum bit menos do que o necessário para representar a faixaporque a diferença é dividida por dois, o que reduz o númerode bits necessários para uma representação binária por umbit.
O quantificador 20 e o desquantificador 26 acessamas tabelas de quantificação e desquantificação, respectiva-mente, que são otimizadas para cada bloco. As tabelas dequantificação e desquantificação incluem os valores baseadosem uma faixa aproximada de blocos de pixels. O quantifica-dor de faixa mín-máx MMRP 30 recebe um bloco de dados de en-trada e o varre, para determinar o valor de pixel mínimo e ovalor de pixel máximo. O MMRP 30 então subtrai o valor depixel mínimo do valor de pixel máximo e adiciona um (máx-mín+1) para calcular a faixa para o bloco de pixels.
0 quantificador 20 compara a faixa calculada a umconjunto de faixas predeterminadas, pelo menos uma das quaisé maior ou igual à faixa calculada, seleciona uma faixa pre-determinada, e acessa as tabelas de quantificação derivadasda faixa predeterminada selecionada. A faixa predeterminadaé selecionada por meio de uma análise de ajuste melhor queidentifica a faixa predeterminada que é o menor valor doconjunto que é maior ou igual à faixa calculada real. Astabelas de quantificação e desquantificação são personaliza-das para incluir valores dentro do domínio da faixa prede-terminada selecionada e, por conseguinte, incluem valores detoda a faixa real. O quantificador 20 emprega processamentoDPCM e produz valores de diferença que são erros de previ-são. Esses erros de previsão ficam no domínio da faixa realse os valores de pixels fornecidos ao previsor 18 forem ori-undos do mesmo bloco de pixels que o pixel para o qual oprevisor 18 está atualmente gerando um valor de previsão. 0compressor 12 segue e mantém este parâmetro. A faixa realde um determinado bloco de pixels é normalmente significati-vamente inferior a 256 (o valor máximo de um valor de pixelde 8 bits), e os níveis da tabela derivados da faixa prede-terminada produzem uma resolução melhor do que os níveis databela derivados de 256, porque a faixa predeterminada sele-cionada está geralmente próxima em valor da faixa real. Porconseguinte, a precisão e a eficiência do sistema aumentamcom a personalização dos níveis da tabela à faixa.Para reconstruir os dados do bloco de entrada, odesquantificador 26 deve saber qual faixa predeterminada oquantificador 20 usou para acessar a tabela de quantificaçãoempregada ao quantificar o bloco de pixels. As representa- ções da faixa e outros parâmetros de blocos de pixels sãoarmazenados na memória 14 dentro de um campo de parâmetrocom o bloco de pixels quantificado. Ao armazenar uma repre-sentação de parâmetro de bloco na memória 14 com o bloco depixels quantificado, o descompressor 16 pode acessar a tabe- Ia de desquantificação adequada e reconstruir o bloco de pi-xels de modo eficiente e preciso. Outros parâmetros de blo-cos de pixels incluídos no campo de parâmetros podem ser,por exemplo, o valor de blocos de pixels mínimo ou um valorde blocos de pixels de referência. A Figura 3 ilustra uma configuração possível de um campo de parâmetros e dados com-primidos. 0 campo de parâmetros consiste nos parâmetros debloco contidos na caixa tracejada na Figura 3. Nesta moda-lidade, um campo de parâmetros está disposto como um cabeça-Iho de um pacote de dados que contém uma carga útil de dados comprimidos.
Para maximizar a redução da memória de quadros semdegradar de maneira significativa a imagem exibida, as in-formações suspensas representadas pelos parâmetros de blocono campo de parâmetros são armazenadas na memória 14. Todo bit usado para armazenar o campo de parâmetros diminui a me-mória disponível para o armazenamento de pixels quantifica-dos. Por conseguinte, um sistema que usa a presente inven-ção diminui o número de bits necessários para armazenar doisdos parâmetros de blocos, ou seja, a faixa e 6 valor mínimo,de oito bits a três bits para cada parâmetro na maioria doscasos. Este processo funciona tal como segue.
A faixa real é comparada com um conjunto de faixaspredeterminadas para determinar um melhor ajuste. A faixapredeterminada torna-se o valor usado para representar afaixa para os blocos de pixels então sendo processados. Afaixa predeterminada é maior do que a faixa real para garan-tir que todos os valores de pixels no bloco de pixels sejamrepresentados. O conjunto de faixas predeterminadas incluisete valores, que são 16, 32, 64, 96, 128, 192 e 256. Umavez que o conjunto está disponível tanto ao quantificador 20quanto ao desquantificador 26, a faixa predeterminada podeser representada no campo de parâmetros por um valor de ín-dice. O índice requer somente três bits para uma represen-tação binária porque somente há sete faixas predeterminadaspara representar.
O sistema lida com o valor de pixel mínimo de umamaneira semelhante. Para cinco das sete faixas predetermi-nadas, o sistema acessa um conjunto predeterminado de oitovalores de pixels mínimos únicos à faixa predeterminada se-lecionada. O quantificador 20 compara o valor de pixel mí-nimo real ao conjunto predeterminado e seleciona o maior va-lor mínimo predeterminado que é menor ou igual ao valor mí-nimo real. O mínimo predeterminado torna-se então o valorusado para representar o pixel mínimo para o bloco de pixelssendo processado. O conjunto fica disponível tanto para oquantificador 20 quanto para o desquantificador 26, de ma-neira tal que o mínimo predeterminado pode ser representadono campo de parâmetros por um valor de índice. Este índicetambém requer três bits para uma representação binária por-que há somente oito valores de pixels mínimos predetermina-dos para representar.
0 conjunto de oito valores de pixels mínimos pre-determinados para cinco das sete faixas é definido pela e-quação (Ia) abaixo. As cinco faixas às quais a equação (1)se aplica são 32, 64, 96, 128 e 192. A equação propicia umaetapa linear constante para cada faixa mínima que começa comzero.
A equação (1) abaixo seleciona o valor de pixelmínimo predeterminado a partir do conjunto Qmin(RSfi) (equa-ção (Ia)) que é substituído pelo valor de blocos de pixels mínimo real. MAXi{f(x)} indica que o valor máximo de i quesatisfaz a condição nas chaves deve ser usado para gerarQmin ·
Qmin=MAXii Qmin (Rs, i) / Qmin (Rs, i)<=Xmin; 0<=i<=7 } , (1)onde:
Qmin(Rs, i) =INT {i ( (256-Rs)/7) } ; 0<=i<=7 . (Ia)
Nessas equações, i é o valor de índice representado por trêsbits no campo de parâmetros suspensos. INT (f(x)} indicaque somente a parte do número inteiro do valor resultante éusada. A expressão f (x) entre chaves é representante de qualquer expressão, tal como aquela na equação (1), sob aqual a função INT opera. Para a faixa predeterminada de256, nenhum valor mínimo é armazenado porque o valor mínimopara 256 é zero (0) para uma palavra de oito bits. Para afaixa predeterminada de 16, o valor mínimo de oito bits ori-ginal é usado, porque a resolução para esta faixa é pequenaem relação aos valores mínimos disponíveis a partir da equa-ção (1) . O uso da equação (1) para gerar um valor mínimopara a faixa de 16 pode fazer com que os valores de pixelsreais caiam fora dos dados reconstruídos na reconstrução. Ovalor mínimo é um deslocamento que representa a distânciaentre zero e o valor mínimo de pixels de bloco.
A equação (1) pode selecionar uma faixa predeter-minada que não é suficiente para cobrir os valores de blocosde pixels reais quando os blocos de pixels quantificados sãoreconstruídos, porque os valores mínimos predeterminados sãomenores do que o valor mínimo real. Por exemplo, se em umdeterminado bloco de pixels o valor de pixel mínimo for 100e o valor de pixel máximo for 140, então a faixa predetermi-nada selecionada é 64. O valor de pixel mínimo predetermi-nado selecionado resultante da equação (1) é 82. O resulta-do da adição do mínimo selecionado à faixa selecionada é146, que é maior do que o valor de pixel máximo real. Porconseguinte, todos os valores do bloco de pixels serão re-presentados pelos valores predeterminados selecionados. Noentanto, se o valor de blocos de pixels máximo for, em vezdisso, 160, os valores predeterminados selecionados permane-cerão os mesmos, mas não representam completamente o domíniodo bloco de pixels (160>146) . Neste caso, a próxima faixapredeterminada mais alta de 96 é selecionada e um novo valormínimo predeterminado selecionado é 91. A soma de 91 e afaixa predeterminada de 96 é 187, que é maior do que o valorde blocos de pixels máximo real de 160. Por conseguinte, astabelas de quantificação e desquantificação selecionadas apartir desta faixa irão fornecer niveis para todos os pixelsno bloco. O quantificador 28 executa a análise descrita a-cima para determinar se a primeira seleção de faixa prede-terminada e valores de pixels mínimos é válida, ou se a pró-xima faixa predeterminada maior é necessária.
Conforme declarado anteriormente, se a rede deprevisão deriva seus valores de previsão de valores de pi-xels no mesmo bloco, então a diferença (E) entre um valor depixel real e o valor de pixel previsto estará dentro dos se-guintes limites:
-Faixa < E < Faixa, onde (2)
Faixa = Xmax - Xmin +1 (3)
Na equação (2), E é o erro de previsão. Na equa-ção (3), Xmax e Xmin são os valores de pixels de bloco máximoe mínimo, respectivamente. Por conseguinte, a faixa de da-dos de pixels do bloco define os valores que as tabelas dequantificação e desquantificação receberão, e os limites pa-ra os quais as tabelas devem prover para aquele bloco parti-cular. Se a faixa for menor do que o valor máximo do tama-nho da palavra (256 para uma palavra de 8 bits), então a re-solução das tabelas de quantificação e desquantificação podeser aumentada.
Os dados tanto de Iuma quanto de croma são proces-sados com erros de previsão negativos compensados. Por con-seguinte, as tabelas de quantificação e desquantificação pa-ra dados de Iuma e croma são projetadas para aceitar somenteos valores de entrada positivos. As tabelas de quantifica-ção e desquantificação que empregam valores de erro de pre-visão negativos compensados têm o dobro da resolução que astabelas projetadas somente para a faixa do bloco de pixels.
A resolução é duplicada porque as tabelas precisam somentecobrir valores de zero ao valor de faixa positivo em vez detodos os valores entre a faixa positiva e negativa. As Fi-guras 6A, 6B e 6C mostram tabelas de três bits, quatro bitse cinco bits, respectivamente, para a faixa predeterminada de 64. Antes da quantificação, o processador de erro deprevisão 27 (Figura 2) detecta se o erro de previsão do com-binador 22 é positivo ou negativo. Se o valor for positivo,ele passa inalterado para o mapeador de quantificação 28.Se o valor for negativo, o processador de erro de previsão27 adiciona a faixa predeterminada ao valor de erro de pre-visão negativo antes de o valor ser passado para o mapeadorde quantificação 28. Uma vez que um valor de erro de previ-são negativo esteja dentro do domínio do valor de faixa ne-gativo, a adição do valor de faixa positivo ao valor de errode previsão negativo resulta em um valor de erro compensado.Este valor de erro compensado é positivo (maior do que zero)e é inferior ao valor de faixa positivo. 0 mapeador dequantificação 28 recebe os valores de erro de previsão tantocompensados quanto não compensados e os quantifica com umatabela de quantificação adaptada ao domínio da faixa prede-terminada positiva. Os valores de erro quantificados sãopassados ao multiplexador 32 e então armazenados na memória14 sob o controle de um controlador de sistema (não mostra-do). Uma vez que a tabela somente quantifica valores de ze-ro à faixa -1 em vez de fazê-lo do valor de faixa negativopara o valor de faixa positivo, a resolução da tabela é du-plicada .
A Figura 4 é um diagrama de blocos do desquantifi-cador 26 da Figura 1. Sob o controle de um microprocessadorde sistema, o desmultiplexador 34 recebe um pacote de dadosque contém um campo de parâmetros e dados quantificados. 0desmultiplexador 34 envia o índice do valor de pixel mínimoe o índice da faixa predeterminada ao decodificador de fai-xa-mín-máx (MMRD) 38. O desmultiplexador 34 envia o valordo primeiro pixel comprimido ao primeiro decodificador depixels 37, que também recebe a faixa reconstruída predeter-minada e os valores de pixels mínimos do MMRD 38. 0 primei-ro decodif icador de pixels 37 usa esses três valores parareconstruir o pixel de referência e enviá-lo ao previsor 24.Na desquantificação, o desmultiplexador 34 envia os valoresquantificados ao mapeador do desquantificador 36, o qualdesquantifica os valores de erro de previsão e os passa aoadicionador 39. 0 adicionador 39 adiciona o valor previstoao valor de erro desquantifiçado e passa o resultado ao pro-cessador de erro de previsão 35, o qual compara o resultadocom o valor de bloco de pixels máximo reconstruído. Se ovalor de erro foi compensado para verter um valor negativo aum valor positivo antes da quantificação, o resultado serámaior do que o valor de pixel máximo reconstruído. Casocontrário, o resultado será menor ou igual ao valor de pixelmáximo reconstruído. Se o processador de erro de previsão35 determinar que o valor de erro foi compensado, o valor defaixa predeterminado é subtraído do resultado, de modo acorrigir para a compensação introduzida no lado da quantifi-cação da rede. O processador de erro de previsão 35 e oprimeiro decodificador de pixels 37 passam os dados recons-truídos, inclusive o pixel de referência, na devida ordem auma rede de saída (não mostrada).
Os valores disponíveis para o desquantificador 26são valores quantificados e/ou codificados. O valor de pi-xel mínimo quantificado reconstruído (Qmin) deve ser menor ouigual ao valor de pixel mínimo real, e o valor de pixel má-ximo reconstruído (Qmax) e o valor da faixa quantificado re-construído devem ser maiores ou iguais aos seus valores re-ais. O MMRP 30 garante que esses requisitos sejam satisfei-tos, conforme anteriormente discutido. Uma vez que qualquervalor de pixel deve ser maior ou igual a Qmin, a adição dafaixa predeterminada a qualquer valor de pixel reconstruídoque inclui a compensação geralmente resulta em um valor mai-or do que Qmax em pelo menos um.
No entanto, o ruído de quantificação Nq pode cau-sar uma determinação incorreta do fato se o quantificador 20detectou um valor de erro de previsão negativo e compensou ovalor. 0 ruído de quantificação é a diferença entre o valorde pixel real e o valor reconstruído causado pela resoluçãonas tabelas de quantificação de perda. O processador de er-ro de previsão 35 adiciona o nível reconstruído à faixa pre-determinada e compara o resultado com Qmax. Se o resultadofor maior do que Qmax, a faixa predeterminada é subtraída doresultado para se obter o valor de pixel reconstruído corre-to. Mas, se Nq for positivo, ele pode fazer o resultado sermaior do que Qmaxr e o processador de erro de previsão 35 i-dentificaria falsamente um erro de previsão compensado. Demodo semelhante, se Nq for negativo, ele pode fazer com queo resultado seja inferior a Qmaxr e o processador de erro deprevisão 35 identificaria falsamente um erro de previsão nãocompensado.
A Figura 5A ilustra quanto o mapeador do quantifi-cador 28 (Figura 2) garante que sua saida não será mal in-terpretada devido ao ruido de quantificação. O quantifica-dor 80 fornece três saidas para cada valor de pixel quanti-ficado. Os três valores são o melhor nivel de reconstruçãopara o ponto de decisão da tabela de quantificação (I), e onivel de reconstrução em cada lado do melhor nivel (1+1, I-1). O combinador 84 calcula o valor de pixel reconstruídopara o melhor valor de reconstrução e o resultado é compara-do com Qmax pelo combinador 86. Se o erro de previsão foicompensado (S2 é negativo) e o resultado do combinador 86for inferior a Qmax (SI é negativo) , é possível que na re-construção o processador de erro de previsão 35 determineincorretamente que o valor de erro de previsão não foi com-pensado. Para acabar com esse problema, a palavra de códigocorrespondente ao próximo nível de reconstrução maior para oerro de previsão é enviada ao multiplexador 32. Se o errode previsão não foi compensado (S2 é positivo) e o resultadodo combinador 86 for maior do que Qmax (SI é positivo) , épossível que na reconstrução o processador de erro de previ-são 35 determine incorretamente que o valor de erro de pre-visão desquantifiçado foi compensado. Para acabar com esseproblema, a palavra de código correspondente ao próximo ní-vel de reconstrução menor para o erro de previsão é enviadaao multiplexador 32. Em todos os outros casos, o melhor ní-vel é selecionado e enviado ao multiplexador 32.
Quando o primeiro ou o último nível em uma tabelade quantificação for o melhor, somente o próximo nível dequantificação maior ou menor é provido com o melhor nível.A Figura 5B mostra uma tabela de verdade que ilustra as es-colhas do quantificador 80 disponíveis para saída pelo mape-ador de quantificação 28, e quando a unidade selecionada 82usa cada uma das escolhas. Uma vez que o ruído de quantifi-cação pode fazer com que a análise de correção de erro decompensação esteja incorreta, a escolha de um valor de ruídode quantificação com um sinal oposto não vai influenciar arelação entre Qmax e o valor do pixel reconstruído.
Como o valor absoluto de Nq geralmente não é muitogrande, o marcador de quantificação 28 vai normalmente esco-Iher o melhor nível de quantificação. Quando o marcador dequantificação 28 escolhe o próximo nível maior ou menor, aescolha vai induzir um erro adicionado no pixel reconstruí-do. No entanto, o erro é minimizado com a seleção do nívelmais próximo que vai corrigir o problema em uma tabela comresolução que é muito melhor do que as tabelas de quantifi-cação DPCM conhecidas. Geralmente, esta correção não causauma degradação perceptível na qualidade da imagem exibida.A resolução da quantificação é normalmente aumen-tada mais do que apenas o fator de dois que ocorre a partirda compensação de erros de previsão negativos para produzirvalores positivos. A seleção de uma faixa predeterminadatambém leva a uma resolução de quantificação aumentada. Porexemplo, se para um determinado bloco de pixels a faixa pre-determinada selecionada for 16, então a tabela de quatrobits vai quantificar com exatidão o valor de erro de previ-são de uma maneira sem perdas. A resolução aumenta em umfator de 16 de uma faixa de 256 (para 8 bits) a 16 (256/16).Ao requerer somente valores positivos na tabela de quantifi-cação/desquantificação para o mesmo valor de faixa positivo,a resolução aumenta em outro fator de 2 de um fator total de32. Este processo pode ser usado para calcular o aumento naresolução para as tabelas de quantificação/desquantificaçãoderivadas de qualquer um dos valores de faixa predetermina-da .
Quando o MMRP 30 (Figura 2) varre um bloco de pi-xels de croma e seleciona uma faixa predeterminada a partirdo conjunto de sete, os dados podem ser graduados para redu-zir as tabelas de quantificação reais necessárias para com-primir os dados. Para as faixas predeterminadas de 32, 192e 256, há um conjunto de três tabelas personalizadas. Estassão as tabelas de três, quatro e cinco bits conforme discu-tido anteriormente. Os dados que se ajustam a três das ou-tras faixas predeterminadas são dados graduados para cima emum fator de dois. Os blocos de pixels que se ajustam à fai-xa predeterminada de 32 são graduados para utilizar as tabe-Ias de quantificação acessadas pela faixa de 64. Para osblocos de pixels que se ajustam à faixa predeterminada de96, as tabelas de quantificação para 192 são utilizadas. Demodo semelhante, para os blocos de pixels que se ajustam àfaixa predeterminada de 128, as tabelas de quantificação pa-ra 256 são utilizadas. A graduação dos dados reduz a com-plexidade de hardware e software, e reduz a quantidade dememória exclusiva para leitura (ROM) necessária na rede. Nareconstrução, os blocos de pixels graduados são divididospor dois após a desquantificação para manter a precisão dosdados.
Todas as tabelas de quantificação para dados tantoIuma quanto croma são construídos de modo a ser simétricosao redor de seu ponto médio. As Figuras 6A, 6B e 6C mostramas tabelas de quantificação de três, quatro e cinco bits pa-ra a faixa predeterminada de 64. A simetria permite que so-mente metade de cada tabela seja armazenada na memória ROM,ao passo que um simples circuito de hardware implementa aoutra metade de cada tabela. Isto reduz o tamanho da memó-ria ROM de modo a reduzir os custos de produção.
As tabelas de quantificação são projetadas para umconjunto simples de relações, dadas abaixo, que criam umasimetria ao redor do ponto médio da tabela. Nessas rela-ções, I é o índice de nível de quantificação; D1 é o Inésimoponto de decisão; Qi é o Inésimo nível de reconstrução; M éo número total de níveis em uma tabela; e R é a faixa dequantificação. Um ponto de decisão é o valor no qual umaentrada de valor de pixel em uma tabela de quantificação semove de um nível a outro dentro da tabela. As relações sãotal como segue:
M é um número par; (4)
D1 + Dm-I-I = Rd-I para CK=K= (M/2)-1; (5)
Q0 = 0; (6)
Qm/2 = Rd/2; (7)
Q1 + Qm-I = Rd para l<=I<=M/2 (8)
As tabelas nas Figuras 6A, 6B e 6C se conformam aestas relações tal como todas as tabelas de quantificaçãousadas na rede. Se as tabelas aceitassem valores de erro deprevisão que não fossem compensados, em outras palavras, va-lores tanto positivos quanto negativos, então M seria um nú-mero ímpar.
Os símbolos de palavra de código de saída das ta-belas também têm relações para garantir a simetria, de modoa permitir vantajosamente que somente metade das tabelas se-ja armazenada na memória ROM. Todos os símbolos nessas re-lações são os mesmos nas relações acima. As únicas adiçõessão C1, que é a palavra de código para o Inésimo nível e n,que é o número de bits na palavra de código. Essas relaçõessão tal como segue:
C1 = 0 e CM-1 = 1 para palavras código curtas; (9)
C0 = (2n)-2; (10)
CM/2 = (2n) -1; (11)
C1= 21 para 2<=I<=(M/2)-1; (12)
C(M/2) +I = C(M/2)-i+l para K=K= (M/2 )-1. (13)
As relações (9) a (13) são representadas nas tabelas naforma binária. Se as tabelas aceitassem valores de erro deprevisão que não fossem compensados, em outras palavras, va-lores tanto positivos quanto negativos, então também haveriaum número impar de palavras código de três bits.
A relação (9) define a colocação estatisticamenteótima para as palavras código de três bits para as tabelasde quantificação que recebem valores de erro de previsãoDPCM. Ao colocar as palavras código curtas em niveis de re-construção que têm mais probabilidade de ser acessados, osistema é otimizado para economizar bits de armazenamentopara outros propósitos. 0 uso de palavras código curtas di-minui o número de niveis disponíveis em uma tabela de quan-tificação, mas as economias de bits excedem em valor a reso-lução perdida porque geralmente bits suficientes são econo-mizados na memória para acomodar as informações suspensas emanter a média de quatro bits por palavra de código.
Devido ao fato que as tabelas ficam simetricamenteao redor de seu ponto médio, somente metade dos níveis detabela, inclusive o nível do ponto médio, precisa ser real-mente armazenada na memória. Os níveis remanescentes podemser mapeados por circuito. A Figura 7 mostra uma implemen-tação de hardware simples para o mapeamento dos valores dereconstrução de tabela remanescentes na desquantificação, esaída de todos os valores de pixels reconstruídos de oitobits para ambas as metades das tabelas.
O controlador de codificação 29 (Figura 2) e ocontrolador de decodificação 33 (Figura 4) desempenham mutu-amente operações similares, porém inversas para os blocos depixels de croma. Ambos incluem quatro registros que contamo número de pixels processados para cada bloco, e o númerode bits conservados ou necessários para as informações sus-pensas. Um registro, o registro de faixa, é um registro desinalizador que identifica qual faixa predeterminada repre-senta o bloco de pixels atualmente sendo processado. Na u-tilização dos registros, os controladores 29 e 33 selecionampara cada pixel processado a tabela de quantificação detrês, quatro ou cinco bits e garantem que o bloco de pixels,inclusive toda as informações suspensas, seja comprimido aum tamanho predeterminado para armazenamento na memória 14,e então descomprimido e reconstruído ao bloco de pixels ori-ginal .
As informações suspensas incluídas para dados decroma requerem um número predeterminado de bits dependendodos parâmetros de bloco a ser armazenados. A Figura 8 mos-tra o número de bits suspensos necessários para cada parâme-tro de bloco para cada faixa predeterminada. Cada pixel,inclusive o pixel de referência, tem uma média de quatrobits reservados na memória 14. O controlador 29 compensaquatro bits menos do que o número total de bits usados parao cabeçalho. O número de bits necessários como compensaçãopara bits de cabeçalho (overhead) para cada faixa predeter-minada é mostrado na última fileira da Figura 8.
O objetivo principal do controlador 29 é codificarcada pixel com a tabela de quatro ou cinco bits e somenteusar a tabela de três bits quando necessário para garantirque todos os pixels de bloco se ajustem no espaço reservado.As palavras código curtas de três bits nas tabelas de quatroe cinco bits propiciam a melhor oportunidade para atingireste objetivo. Uma vez que as palavras de código curtas sãoestatisticamente colocadas nas tabelas em níveis mais prová-veis de ser acessados para os dados DPCM, cada bloco seránormalmente comprimido sem usar a tabela de quantificação detrês bits. Além disso, geralmente vários pixels dentro dequalquer bloco de pixels serão quantificados com palavras decódigo de cinco bits, de modo a aumentar a resolução e a e-xibir qualidade. No entanto, se os blocos de pixels não a-cessarem as palavras código nas tabelas de quantificação dequatro e cinco bits normalmente suficientes para compensar onúmero necessário de bits suspensos, o controlador 29 acessaa tabela de quantificação de três bits. 0 controlador 29identifica os últimos N bits em cada bloco de pixels comopixels de baixa prioridade (LPP) , onde N é o número de bitssuspensos compensado para esse bloco de pixels. Com basenos contadores que identificam quando um LPP está sendo pro-cessado e quantos bits suspensos permanecem não compensados,o controlador 29 seleciona a tabela de quantificação de trêsbits para os LPPs. O controlador 29 não seleciona a tabelade quantificação de três bits até que o número de pixels quepermanecem para ser comprimidos se iguale ao número de bitssuspensos que permanecem não compensados.
As Figuras 9A, 9B e 9C mostram um fluxograma doscontroladores 29 e 33. Ambos os controladores operam damesma maneira, e executam as mesmas etapas para comprimir oudescomprimir um valor de pixel. Para simplificar a discus-são dos controladores 29 e 33, somente o controlador de com-pressão 29 será explanado.
No Inicio, quatro registros são inicializados nocomeço de cada bloco de pixels de croma. O registro de fai-xa é codificado de acordo com a faixa predeterminada para obloco de pixels atual. O registro auxiliar (overhead regis-ter) é configurado para o número de bits iniciais (overheadbits) os quais devem ser compensados pelo controlador 29,conforme mostrado na Figura 8. Este registro é diminuído emuma unidade toda vez que um LPP é processado. 0 registro deeconomia de bits é inicializado ao valor negativo do regis-tro auxiliar, e é incrementado cada vez que uma palavra decódigo é usada. 0 registro de contagem de pixels é inicia-lizado ao valor negativo do número de pixels no bloco de pi-xels atual. 0 registro é aumentado cada vez que um pixel éprocessado. A contagem de pixels é usada para identificarse o pixel sendo processado é um LPP.
No Início na Figura 9A, um valor de pixel de oitobits passa para a etapa 100 e identifica se o pixel é um pi-xel de baixa prioridade (LPP) . Em caso positivo, a etapa102 adiciona economia de bits e cabeçalho e compara o resul-tado com zero. Esta é uma etapa significativa porque sebits suficientes não foram economizados neste ponto, a tabe-la de quantificação de três bits é acessada e uma palavra decódigo de três bits é usada para comprimir o pixel na etapa104. Uma vez que o pixel atual é um LPP, todos os pixelsprecedentes processados podem não ter sido comprimidos comas palavras de código curtas de três bits na tabela de qua-tro bits um número suficiente de vezes para compensar todosos bits suspensos no bloco de pixels. Por conseguinte, seos valores de registro de economia de bit + cabeçalho > O,um bit deve ser economizado aqui e a tabela de três bits debaixa resolução é usada para comprimir o pixel. Ao mesmotempo, os registros de economia de bits e a contagem de pi-xels são incrementados, e o registro suspenso é diminuído.Neste ponto, o pixel é comprimido e o próximo pixel é pro-cessado a partir do Início.
Se, na etapa 102, o resultado for maior do que ze-ro, a etapa 106 determina se a economia de bits é maior doque zero. Em caso negativo, há bits apenas suficientes sal-vos para compensar o cabeçalho para esse ponto, e há o mesmonúmero de LPPs remanescentes que os bits suspensos não com-pensados. Então a etapa 104 aumenta a economia de bit e acontagem de pixels, diminui o cabeçalho e as saídas da pala-vra de código de três bits da tabela de três bits. Se a e-conomia de bits for maior do que zero na etapa 106, a etapa108 verifica a única circunstância de economia de bit =Oefaixa = 16. Se isto ocorrer, a etapa 110 acessa a tabela dequantificação de quatro bits de nível dezesseis, sem palavrade código curta porque não há necessidade de economizar umbit para este pixel. A contagem de pixels é aumentada, ocabeçalho é diminuído, e o próximo pixel é recuperado paracompressão. Se o resultado da etapa 108 for não, a tabelade quatro bits para a faixa predeterminada atual é acessadana etapa 112. A etapa 114 verifica se o valor de pixel in-cide em um nível de palavra de código curta da tabela dequatro bits. Em caso positivo, a etapa 116 aumenta a econo-mia de bits e a contagem de pixels, diminui o cabeçalho (o-verhead) e fornece a palavra de código de três bits. Em ca-so negativo, a etapa 118 aumenta a contagem de pixels, dimi-nui o cabeçalho (overhead) e fornece a palavra de código dequatro bits. Após ambas as etapas 116 e 118, o próximo pi-xel é recuperado para processamento que começa no Inicio.
Voltando à Etapa 106, e lembrando que o pixel foideterminado como sendo um LPP na etapa 100, se a economia debits for maior do que zero, então o processo continua na Fi-gura 9B. Uma vez que a economia de bits é maior do que ze-ro, houve um número mais do que suficiente de bits economi-zados para esse ponto no bloco de pixels. Por conseguinte,a tabela de cinco bits de alta resolução é usada na etapa120. A tabela de cinco bits contém palavras de código cur-tas, e a etapa 122 determina se o valor de pixel incide emum nivel de palavra de código curta da tabela. Em caso ne-gativo, a etapa 132 aumenta a contagem de pixels, diminui aeconomia de bits e do cabeçalho e fornece uma palavra de có-digo de cinco bits. Em caso positivo, a etapa 124 adicionaeconomias de bits e a contagem de pixels para determinar semuitos bits foram economizados. Se o número de bits econo-mizados ficar muito grande, a sincronização do sistema não émantida. Para impedir isto e a necessidade de um buffer pa-ra conter os dados comprimidos até que o sistema se recupe-re, palavras de código de três bits podem ser preenchidascom zero. O resultado da etapa 124 determina que caminho acompressão do pixel vai prosseguir. Se o resultado for me-nor do que zero, então não foram salvos bits suficientes enenhum preenchimento com zero ocorre na etapa 12 6. A econo-mia de bit e a contagem de pixels são incrementadas, o cabe-çalho é diminuído e a palavra de código de três bits é for- necida. Se o resultado for igual a zero, então a palavra decódigo de três bits vai economizar um para muitos bits. Porconseguinte, na etapa 128, a palavra de código é preenchidacom um zero, a contagem de pixels é aumentada, o cabeçalho édiminuído e a palavra de código de quatro bits preenchida éfornecida. Se o resultado na etapa 124 for igual a 1, entãoa palavra de código de três bits vai economizar dois paramuitos bits. Por conseguinte, na etapa 130, a palavra de có-digo é preenchida com dois zeros, a contagem de pixels é au-mentada, a economia de bits e os cabeçalhos são diminuídos, e a palavra de código de cinco bits preenchida é fornecida.Após as etapas 126, 128, 130 e 132, a compressão do pixel écompleta e o próximo pixel é recuperado para processamentono Início.
Se na etapa 100 o pixel for identificado como nãosendo um LPP, o processo vai para a etapa 134 onde a econo-mia de bits é comparada com zero. Se a economia de bits nãofor maior do que zero, as etapas de 108 a 118 são repetidaspelas etapas 136 a 146 com uma diferença. As etapas 110,116 e 118 diminuem o cabeçalho porque para essas passagens o pixel sendo processado é um LPP, ao passo que nas etapas138, 144 e 146 o pixel sendo processado não é um LPP e o ca-beçalho não é diminuído.Se a economia de bit for maior do que zero na eta-pa 134, as etapas 148 a 160 repetem as etapas de 120 a 132que empregam a tabela de cinco bits e análise de preenchi-mento com zero. Novamente, uma vez que o pixel sendo pro-cessado pelas etapas 148 a 160 não é um LPP, o cabeçalho nãoé diminuído nas etapas 154, 156, 158 e 160. Após todas asetapas 138, 144, 146, 154, 156, 158 e 160, a compressão écompleta e o próximo pixel é recuperado para processamentoque começa em Início.
O objetivo do controlador 29 é processar cada pi-xel de croma com a tabela de quantificação de resolução omais alto possível. Uma vez que os valores de dados de pi-xels são representações espaciais, cada valor de pixel con-tém informações importantes para a exibição, ao contrário dedados de blocos transformados que contêm a maior parte desuas informações no começo do bloco. É por isso que cadapixel é processado individualmente considerando-se sua posi-ção relativa no bloco de pixels e o número de bits que ocontrolador 29 deve compensar.
Com referência de volta à Figura 1, a memória 14armazena o bloco de pixels quantificado e o campo de parâme-tros até que eles já não sejam necessários para a reconstru-ção de pixels e exibição. Durante o tempo em que os dadosresidem na memória 14, eles podem ser acessados e decodifi-cados por um processador de exibição subseqüente através dodescompressor 16 sob o controle de um microprocessador queusa um barramento de dados comum. O compressor 12 e o des-compressor 16 residem em um circuito integrado comum e exi-bem um design e uma construção similares para simplificar ocircuito integrado. A memória 14 fica vantajosamente situa-da do lado de fora do circuito integrado, de modo a permitirque o tamanho da memória 14 seja selecionado conforme neces-sário para acomodar os requisitos de processamento de sinalde um sistema particular. Isto resulta em economia de custode fabricação, por exemplo, no caso de um receptor de tele-visão de consumidor de custo reduzido que usa uma exibiçãode resolução reduzida que exige menos memória de quadros pa-ra o decodificador MPEG. Além disso, muito embora a memória14 possa ficar situada fora do circuito integrado, as arqui-teturas de memória unificada do estado da técnica permitemque qualquer área de armazenamento não usada na memória 14possa ser utilizada por outros componentes do sistema. Istoadicionalmente reduz o custo do sistema total e aumenta acapacidade geral do sistema. Da mesma forma, a área de ar-mazenamento economizada é tipicamente utilizável por outroscomponentes do sistema, o que aumenta a capacidade geral dosistema.
A Figura 10 exemplifica partes de um sistema deprocessamento de sinal digital prático em um receptor de te-levisão, que inclui um aparelho de acordo com a presente in-venção conforme discutido previamente. O sistema receptorde televisão digital da Figura 10 é simplificado de modo anão sobrecarregar o desenho com detalhe excessivo. Por e-xemplo, não se mostram a entrada FIFO e os buffers de saidaassociados com vários elementos, controles de leitu-ra/gravação, redes de gerador de pulsos de relógio (clock) esinais de controle para formar interface com as memórias ex-ternas que podem ser do tipo saida de dados estendidos (EDO)ou tipo sincrono (SDRAM), DRAM Rambus (RDRAM) ou qualqueroutro tipo de RAM.
Os elementos comuns na Figura 1 e Figura 10 têm omesmo identificador. Os elementos no processador de sinal72, exceto a unidade 70, correspondem aos elementos encon-trados no circuito integrado Sti 3500A MPEG-2/CCIR 600 Deco-dificador de Video comercialmente disponível junto à SGS-Thomson Microeletronics.
Resumidamente, o sistema da Figura 10 inclui o mi-croprocessador 40, a unidade de interface de barramento 41 eo controlador 44 acoplado a um barramento de controle inter-no 46. Neste exemplo, o microprocessador 40 fica localizadodo lado externo do circuito integrado que contém o decodifi-cador MPEG 72. Um barramento de memória interna com 192bits de extensão 48 é um conduto para os dados do e para ocompressor 12, os descompressores similares 16 e 50 e a me-mória de quadros externa 14. As unidades 12, 16 e 50 rece-bem sinais de controle de fator de compressão e descompres-são do microprocessador 40 pelo controlador 44, juntamentecom os sinais de controle de ativação. Também é incluídauma unidade de controle de memória local 52 que recebe asentradas de Solicitação e envia as saídas de Reconhecimentobem como as saídas de Endereço de memória, as saídas de Ati-var Leitura e Ativar Gravação. A unidade de controle de me-mória 52 gera sinais de endereço em tempo real e de controlepara controlar a memória 14. A unidade de controle de memó-ria 52 também envia sinais de pulso horário de saida ClockOut em resposta aos sinais de pulso horário de entrada ClockIn de um gerador de pulsos horários local (não mostrado). 0microprocessador 40 particiona a memória 14 em buffers de bits, seções de armazenamento de quadro de video e buffersde armazenamento de quadros para a decodificação MPEG, e ma-pas de processamento de exibição e exibição na tela.
0 processador de exibição 54 inclui filtros de re-amostragem horizontal e vertical conforme necessário para converter um formato de imagem descomprimido em um formatocomum predeterminado para exibição por um dispositivo de e-xibição de reprodução de imagem 56. Por exemplo, o sistemapode receber e decodificar seqüências de imagem correspon-dentes a formatos tais como varredura entrelaçada de 525 Ii- nhas, varredura entrelaçada de 1125 linhas ou varredura pro-gressiva de 720 linhas. Um receptor de televisão vai prova-velmente usar um formato de exibição comum para todos osformatos do receptor.
As redes de interface externa 58 transportam in-formações de controle e configuração entre o decodificadorMPEG e o microprocessador externo 40 além de inserir os da-dos de video comprimidos para processamento pelo decodifica-dor MPEG. 0 sistema decodificador MPEG se parece com um co-processador-processador para o microprocessador 40. Por e-xemplo, o microprocessador 40 edita um comando de decodifi-cação para o decodificador MPEG para cada quadro a ser deco-dificado. 0 decodificador localiza as informações do cabe-çalho associadas, as quais o microprocessador 40 então lê.Com estas informações, o microprocessador 40 envia os dadospara configurar o decodificador, por exemplo, com relação aotipo de quadro, matrizes de quantificação, etc., após o queo decodificador envia os comandos de decodificação apropria-dos. Os materiais de especificação técnica para o disposi-tivo de circuito integrado SGS-Thomson STi 3500A acima ob-servado fornecem as informações adicionais com relação a es-sa maneira de operação do decodificador MPEG.
O microprocessador 40 transporta os dados de con-trole de modo, programado pelo fabricante do receptor, parao controlador de memória 52 para o controle da operação domultiplexador 32 (Figura 2) e o desmultiplexador 34 (Figura4), e para estabelecer os fatores de compres-são/descompressão para as unidades 12, 16 e 50, conforme ne-cessário. O sistema descrito pode ser usado com todos osPerfis e todos os Níveis da especificação MPEG no contextode vários esquemas de processamento de dados digitais, talcomo pode ser associado com sistemas de transmissão de difu-são terrestre, via cabo e satélite, por exemplo.
A Figura 10 também retrata uma parte de um proces-sador de sinal de vídeo digital 72, tal como pode ser encon-trado em um receptor de televisão para processamento de umsinal de vídeo de alta definição de entrada. O processadorde sinal 72 pode ser incluído em um circuito integrado queinclui provisões para receber e processar sinais de vídeo dedefinição padrão através de um canal análogo (não mostrado).O processador de sinal 72 inclui um decodificador MPEG con-vencional constituído pelos blocos 60, 62, 64, 66, 68 e 70,inclusive memória de quadros 14. Por exemplo, Ang. et al.vvVideo Compression Makes Big Gains", IEEE Spectrum, outubrode 1991, descrevem a operação de um codificador e decodifi-cador MPEG.
O processador de sinais 72 recebe uma corrente dedados controlados dos dados codificados em MPEG de um pro-cessador de entrada precedente (não mostrado), por exemplo,um decodificador de transporte que separa os pacotes de da-dos após a demodulação de sinal de entrada. Neste exemplo,a corrente de dados de entrada recebida representa o materi-al de imagem de alta definição (1920 χ 1088 pixels) conformeespecificado na especificação Grand Alliance para o sistemade difusão de televisão terrestre de alta definição dos Es-tados Unidos. A corrente de dados de entrada está na formade uma corrente de dados em camadas representando uma se-qüência de imagens que foi comprimida com o uso do padrão decompressão MPEG. Periodicamente, os blocos de dados repre-sentam informações comprimidas, codificadas intraquadros einterquadros. As informações intraquadros contém quadros deâncora de quadro em "I". Geralmente, as informações inter-quadros contêm informações residuais codificadas de movimen-to previsíveis que representam a diferença de imagem entreos quadros de imagens adjacentes. A codificação do movimen-to interquadros envolve a geração de vetores de movimentoque representam o deslocamento entre um bloco atual sendoprocessado e um bloco em uma imagem previamente reconstruí-da. O vetor de movimento que representa a melhor correspon-dência entre os blocos atual e anterior é codificada etransmitida. Da mesma forma, a diferença (residual) entrecada bloco de 8 χ 8 de movimento compensado e o bloco previ-amente reconstruído é a transformada discreta de cosseno(DCT), quantificada e codificada por extensão variável (VLC) antes de ser transmitida. Várias publicações, inclusive deAng., et al. acima, descrevem os processos de codificaçãocom movimento compensado com mais detalhes.
0 buffer 60 aceita os blocos de dados de pixelscomprimidos de entrada antes de ser decodificados com exten- são variável pelo decodificador de extensão variável (VLD)62. O buffer 60 exibe uma capacidade de armazenamento de1,7 5 Mbit no caso de uma corrente de dados MPEG de perfilprincipal de nível principal. O quantificador inverso 64 ea transformada discreta inversa discreta de cosseno (IDCT) 66 descomprimem os dados comprimidos decodificados do VLD62. Os dados de saída do IDCT 66 são acoplados a uma entra-da do adicionador 68.
Um sinal do buffer 60 controla o tamanho da etapade quantificação do quantificador inverso 64 para garantir um fluxo de dados moderado. O VLD 62 fornece os vetores demovimento decodificado para a unidade de compensação de mo-vimento 70, conforme será discutido. O VLD 62 também produzum sinal de controle de selecionar modo de inter/intra qua-dro conforme conhecido (não mostrado para simplificação). Aoperação executada pelas unidades 62, 64 e 66 são operaçõescorrespondentes inversas de um codificador localizado em umtransmissor.Ao somar os dados de imagem residual da unidade 66com os dados de imagem previstos obtidos a partir da saidada unidade 70, o adicionador 68 apresenta um pixel recons-truído com base nos conteúdos da memória de quadros de vídeo14. Quando o processador de sinal 72 tiver processado umquadro inteiro de blocos de pixels, a memória de quadros 14armazena a imagem reconstruída resultante. No modo inter-quadros, os vetores de movimento obtidos a partir do VLD 62fornecem a localização dos blocos previstos da unidade 70.
0 processo de reconstrução de imagem que envolve oadicionador 68, a memória 14 e a unidade de compensação demovimento 70 exibe vantajosamente requisitos de memória sig-nificativamente reduzidos devido ao uso do compressor deblocos 12 antes do armazenamento de dados na memória de qua-dros 14. 0 tamanho da memória de quadros 14 pode ser redu-zido em até cinqüenta por cento (50%), por exemplo, quandoum fator de compressão de 50% for usado. A unidade 50 de-sempenha a função inversa da unidade 12, e é similar ao des-compressor 16 acima descrito. 0 descompressor 50 reconstróio bloco de imagem de modo que o compensador de movimento 70possa funcionar conforme acima descrito. O compressor 12 eos descompressores 16 e 50 são construídos de acordo com osprincípios da presente invenção. As Figuras 1, 2, 4, 5A e 7ilustram detalhes dentro das unidades 12, 16 e 50.

Claims (7)

1. Aparelho em um sistema de processamento deimagem digital para receber uma corrente de dados de blocosde pixels de imagem comprimidos, CARACTERIZADO pelo fato decompreender:um dispositivo (72) para descomprimir os referidosblocos de pixels comprimidos;um circuito (20) para recomprimir representaçõesde pixels de um bloco de pixels descomprimidos de modo que onúmero médio de bits para uma representação de pixels deluminância comprimida seja pelo menos um bit maior do quepara uma representação de pixels de crominância comprimida;uma memória (14) para armazenar as referidasrepresentações de pixels recomprimidas;um dispositivo de previsão para produzir valoresde erro de previsão a partir das referidas representações depixel;um segundo circuito para derivar um parâmetro debloco do referido bloco de pixel;um processador de previsão de erro para polarizarvalores negativos de previsão de erro para produzir valorespositivos antes da recompressão; eum controlador para garantir um bloco de pixelsrecomprimidos e o referido parâmetro de bloco igual a umnúmero predeterminado de bits.
2. Aparelho, de acordo com a reivindicação 1,CARACTERIZADO pelo fato de que:o segundo circuito é adaptável à faixa de valoresde pixel do referido bloco de pixel para estabelecer faixase selecionar uma faixa predeterminada; ea faixa predeterminada acessa um conjunto detabelas de compressão customizadas para a referida faixapredeterminada.
3. Aparelho, de acordo com a reivindicação 2,CARACTERIZADO pelo fato de que as referidas tabelascustomizadas incluem palavras de código curtas.
4. Aparelho, de acordo com a reivindicação 2,CARACTERIZADO pelo fato de que as referidas tabelascustomizadas são simétricas.
5. Aparelho, de acordo com a reivindicação 1,CARACTERIZADO pelo fato de que o referido parâmetro de blocoestá codificado e arranjado como um campo de parâmetros doreferido bloco de pixels recomprimidos e que o campo deparâmetros e o bloco de pixels comprimidos referidos formamum pacote de dados.
6. Aparelho, de acordo com a reivindicação 1,CARACTERIZADO pelo fato de que o referido parâmetro de blocodo referido bloco de pixel é um dentre o valor de pixelmínimo, do valor de pixel máximo, do referido valor de pixelde referência, a referida faixa e a referida faixapredeterminada.
7. Aparelho em um sistema de processamento deimagem digital para processar blocos de pixels de imagemcodificada por MPEG que contém dados de luminância ecrominância, sendo que os dados de luminância sãorepresentados por mais pixels do que os ditos dados decrominância, CARACTERIZADO pelo fato de compreender:um dispositivo descompressor (72) para descomprimir blocos de pixels comprimidos;um circuito (2 0) para recomprimir representaçõesde pixels de um bloco de pixels descomprimidos pararepresentações de pixel recomprimidas; e uma memória dequadros (14) para armazenar as representações de pixelrecomprimidas sendo que o dito bloco de pixels descomprimidocontém dados de luminância e crominância recomprimidos a umnúmero médio predeterminado de bits, onde o número médio debits para uma representação de pixels de luminância é pelomenos um bit maior do que para uma representação de pixels de crominância;uma rede de previsão para processar os aslores deerro de previsão;um descompressor para descomprimir as ditasrepresentações de pixels recomprimidas para pixels reconstruídos; eum processador de exibição para receber asinformações de pixels da dita memória a um dispositivo deexibição de imagem que exibe uma resolução maior do que aresolução NTSC padrão, sendo que as representações de pixelsrecomprimidas são os referidos valores de erro de previsão;os referidos valores de erro de previsão sãovalores diferenciais de modulação por pulsos codificados; ea referida recompressão é facilitada pela polarização deerros negativos de previsão para erros positivos deprevisão..
BRPI9713711-1A 1996-12-17 1997-12-09 aparelho de compressão de blocos de pixels em um sistema de processamento de imagem. BR9713711B1 (pt)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US3360896P 1996-12-17 1996-12-17
US60/033608 1996-12-17
US08/911525 1997-08-12
US08/911,525 US6256347B1 (en) 1996-12-17 1997-08-12 Pixel block compression apparatus in an image processing system
PCT/US1997/022329 WO1998027736A2 (en) 1996-12-17 1997-12-09 Pixel block compression apparatus in an image processing system

Publications (2)

Publication Number Publication Date
BR9713711A BR9713711A (pt) 2000-05-09
BR9713711B1 true BR9713711B1 (pt) 2011-06-28

Family

ID=26709904

Family Applications (1)

Application Number Title Priority Date Filing Date
BRPI9713711-1A BR9713711B1 (pt) 1996-12-17 1997-12-09 aparelho de compressão de blocos de pixels em um sistema de processamento de imagem.

Country Status (12)

Country Link
US (1) US6256347B1 (pt)
EP (1) EP0943210B1 (pt)
JP (1) JP4216341B2 (pt)
KR (1) KR100549436B1 (pt)
CN (1) CN1147161C (pt)
AU (1) AU7740898A (pt)
BR (1) BR9713711B1 (pt)
DE (1) DE69714071T2 (pt)
MY (1) MY120714A (pt)
TR (1) TR199901336T2 (pt)
TW (1) TW376664B (pt)
WO (1) WO1998027736A2 (pt)

Families Citing this family (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6343101B1 (en) * 1998-01-16 2002-01-29 Ess Technology, Inc. Frame-based sign inversion method and system for spectral shaping for pulse-coded-modulation modems
JP3075265B2 (ja) * 1998-08-12 2000-08-14 ソニー株式会社 ディジタルスチルカメラおよび画像データの処理装置
KR100600421B1 (ko) * 1998-10-29 2006-07-13 코닌클리케 필립스 일렉트로닉스 엔.브이. 워터마크 검출방법
US6552749B1 (en) * 1999-01-29 2003-04-22 Intel Corporation Method and apparatus for video motion compensation, reduction and color formatting
US6754764B1 (en) * 1999-12-21 2004-06-22 Intel Corporation Method and apparatus for maintaining order in a pipelined process and its application
US6738423B1 (en) * 2000-01-21 2004-05-18 Nokia Mobile Phones Ltd. Method for encoding and decoding video information, a motion compensated video encoder and a corresponding decoder
US6459452B1 (en) * 2000-03-31 2002-10-01 Intel Corporation System, method, and apparatus for decoding digital video sequences
JP3464437B2 (ja) * 2000-07-31 2003-11-10 シャープ株式会社 デジタル映像信号伝送装置および映像表示装置
US6650773B1 (en) * 2000-09-29 2003-11-18 Hewlett-Packard Development Company, L.P. Method including lossless compression of luminance channel and lossy compression of chrominance channels
US6826584B1 (en) * 2000-12-22 2004-11-30 Sony Corporation Refinement of interpolated signals
US7043051B2 (en) * 2001-02-21 2006-05-09 Lg Electronics Inc. Proprietary watermark system for secure digital media and content distribution
US7058201B2 (en) * 2001-03-28 2006-06-06 Lg Electronics Inc. Method of embedding watermark into digital image
KR100493284B1 (ko) * 2001-05-11 2005-06-03 엘지전자 주식회사 디지털 미디어의 복제 제어 방법 및 시스템
US20030112863A1 (en) 2001-07-12 2003-06-19 Demos Gary A. Method and system for improving compressed image chroma information
JP2003110429A (ja) * 2001-09-28 2003-04-11 Sony Corp 符号化方法及び装置、復号方法及び装置、伝送方法及び装置、並びに記録媒体
CN100574450C (zh) * 2002-02-01 2009-12-23 松下电器产业株式会社 动画图象编码方法和动画图象编码装置
DE60312960T2 (de) * 2002-02-01 2007-12-13 Matsushita Electric Industrial Co., Ltd., Kadoma Kodierungsverfahren und Dekodierungsverfahren für bewegliche Bilder
TW588253B (en) * 2002-10-11 2004-05-21 Via Tech Inc Data compression method and image data compression device
US7120195B2 (en) * 2002-10-28 2006-10-10 Hewlett-Packard Development Company, L.P. System and method for estimating motion between images
US7039247B2 (en) * 2003-01-31 2006-05-02 Sony Corporation Graphic codec for network transmission
US7589788B1 (en) * 2003-02-28 2009-09-15 Intel Corporation Method and apparatus for video motion compensation, reduction and color formatting
NO319007B1 (no) * 2003-05-22 2005-06-06 Tandberg Telecom As Fremgangsmate og apparat for videokomprimering
US7502415B2 (en) * 2003-07-18 2009-03-10 Microsoft Corporation Range reduction
US8014450B2 (en) 2003-09-07 2011-09-06 Microsoft Corporation Flexible range reduction
US7649539B2 (en) * 2004-03-10 2010-01-19 Microsoft Corporation Image formats for video capture, processing and display
WO2006087314A1 (en) * 2005-02-18 2006-08-24 Thomson Licensing Method for deriving coding information for high resolution images from low resoluton images and coding and decoding devices implementing said method
KR100679047B1 (ko) * 2005-09-29 2007-02-05 삼성전자주식회사 비트 해상도 확장 방법 및 장치
US8059712B2 (en) 2006-01-13 2011-11-15 Adobe Systems Incorporated Independently adjusting the quality levels for luminance and chrominance channels in a digital image
TWI307607B (en) * 2006-02-13 2009-03-11 Novatek Microelectronics Corp Pixel data compression and decompression method and device thereof
KR101464770B1 (ko) * 2006-04-20 2014-11-26 텔레폰악티에볼라겟엘엠에릭슨(펍) 이미지 처리
US8880571B2 (en) * 2006-05-05 2014-11-04 Microsoft Corporation High dynamic range data format conversions for digital media
US20080056381A1 (en) * 2006-08-30 2008-03-06 Chih-Ta Star Sung Image compression and decompression with fast storage device accessing
CN100464588C (zh) * 2007-01-18 2009-02-25 北京中星微电子有限公司 一种数据压缩的方法和装置
US8054886B2 (en) * 2007-02-21 2011-11-08 Microsoft Corporation Signaling and use of chroma sample positioning information
KR101415564B1 (ko) 2007-10-29 2014-08-06 삼성디스플레이 주식회사 표시 장치의 구동 장치 및 방법
US8401071B2 (en) * 2007-12-19 2013-03-19 Sony Corporation Virtually lossless video data compression
CN101488194B (zh) * 2008-01-18 2013-12-25 王鑫 四方图像编码方法
TW201006251A (en) * 2008-07-30 2010-02-01 Etron Technology Inc Symbol-sharing differential pulse code modulator/demodulator, multiple differential pulse code modulator/demodulator, image encoding/decoding system and method thereof
US20100098166A1 (en) * 2008-10-17 2010-04-22 Texas Instruments Incorporated Video coding with compressed reference frames
CN101494788B (zh) * 2009-01-23 2011-07-27 炬才微电子(深圳)有限公司 视频图像的压缩/解压缩方法与装置
US8578058B2 (en) * 2010-03-10 2013-11-05 International Business Machines Corporation Real-time multi-block lossless recompression
UA109312C2 (uk) 2011-03-04 2015-08-10 Імпульсно-кодова модуляція з квантуванням при кодуванні відеоінформації
US8767823B2 (en) * 2011-03-30 2014-07-01 Industrial Technology Research Institute Method and apparatus for frame memory compression
JP5828361B2 (ja) * 2012-01-20 2015-12-02 ソニー株式会社 色差量子化パラメータ拡張
US9106936B2 (en) 2012-01-25 2015-08-11 Altera Corporation Raw format image data processing
JP2014116733A (ja) * 2012-12-07 2014-06-26 Canon Inc 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
JP2015053590A (ja) * 2013-09-06 2015-03-19 三星ディスプレイ株式會社Samsung Display Co.,Ltd. 画像符号化装置および画像符号化方法
US10616578B2 (en) * 2015-01-30 2020-04-07 Texas Instruments Incorporated Semi-global matching (SGM) cost compression
CN112368745A (zh) * 2018-05-15 2021-02-12 蒙纳士大学 用于磁共振成像的图像重建的方法和系统
WO2020056763A1 (en) * 2018-09-21 2020-03-26 Alibaba Group Holding Limited Adaptive coding of video coding units based on coding block type
GB2593522B (en) 2020-03-26 2023-02-22 Imagination Tech Ltd Image data decompression
GB2593523B (en) * 2020-03-26 2023-06-14 Imagination Tech Ltd Image data compression

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4422094A (en) 1981-11-06 1983-12-20 Rca Corporation Digital signal processor with symmetrical transfer characteristic
US5070402A (en) * 1987-11-27 1991-12-03 Canon Kabushiki Kaisha Encoding image information transmission apparatus
JP2625012B2 (ja) 1989-02-16 1997-06-25 富士写真フイルム株式会社 画像信号圧縮符号化装置
GB2230673A (en) 1989-04-14 1990-10-24 Philips Electronic Associated Generating a series of dpcm code words for storing colour image data
DE69032177T2 (de) 1989-12-25 1998-11-12 Mitsubishi Electric Corp Kodierungsgerät
JPH0474063A (ja) 1990-07-13 1992-03-09 Matsushita Electric Ind Co Ltd 画像の符号化方法
JPH0662431A (ja) 1992-08-14 1994-03-04 Oki Electric Ind Co Ltd カラ−画素デ−タの量子化/逆量子化方法
US5539865A (en) 1992-11-10 1996-07-23 Adobe Systems, Inc. Method and apparatus for processing data for a visual-output device with reduced buffer memory requirements
US5541595A (en) 1994-05-19 1996-07-30 Matsushita Electric Corporation Of America Variable length code decoder for simultaneous decoding the most significant bits and the least significant bits of a variable length code
EP0687111B1 (de) 1994-06-06 2003-08-06 sci worx GmbH Verfahren zur Codierung/Decodierung eines Datenstroms
KR970010397B1 (ko) 1994-10-24 1997-06-25 엘지전자 주식회사 티브이의 색신호 처리 장치
EP0778709B1 (en) 1995-12-04 2001-05-23 STMicroelectronics S.r.l. MPEG-2 decoding with a reduced RAM requisite by ADPCM recompression before storing MPEG decompressed data
WO1997047139A2 (en) 1996-06-05 1997-12-11 Philips Electronics N.V. Method and device for decoding coded digital video signals
US5844608A (en) * 1996-12-12 1998-12-01 Thomson Consumer Electronics, Inc. Picture element processor for a memory management system

Also Published As

Publication number Publication date
CN1246246A (zh) 2000-03-01
BR9713711A (pt) 2000-05-09
DE69714071T2 (de) 2002-12-12
JP2002514363A (ja) 2002-05-14
EP0943210A1 (en) 1999-09-22
DE69714071D1 (de) 2002-08-22
WO1998027736A2 (en) 1998-06-25
US6256347B1 (en) 2001-07-03
WO1998027736A3 (en) 1998-08-06
KR20000057339A (ko) 2000-09-15
CN1147161C (zh) 2004-04-21
EP0943210B1 (en) 2002-07-17
TW376664B (en) 1999-12-11
TR199901336T2 (xx) 1999-09-21
AU7740898A (en) 1998-07-15
MY120714A (en) 2005-11-30
KR100549436B1 (ko) 2006-02-06
JP4216341B2 (ja) 2009-01-28

Similar Documents

Publication Publication Date Title
BR9713711B1 (pt) aparelho de compressão de blocos de pixels em um sistema de processamento de imagem.
JP3928815B2 (ja) Mpeg−2復号方法及びmpeg−2ビデオ復号器
KR100552576B1 (ko) Mpeg 호환 가능한 디지털 신호 처리 시스템 및 mpeg 코딩된 이미지를 나타내는 데이터의 데이터스트림을 처리하기 위한 방법
US5241383A (en) Pseudo-constant bit rate video coding with quantization parameter adjustment
JP2529808B2 (ja) ディジタルvtrの映像信号帯域圧縮装置
JP2004518342A (ja) スケーラブルビデオトランスコーディング方法及び装置
JPH11510989A (ja) 符号化ディジタルビデオ信号を復号化する方法および装置
US5936670A (en) Method and device for decoding coded digital video signals
EP0947102B1 (en) Memory efficient compression apparatus and quantizer in an image processing system
JP2001503584A (ja) 動き補償予測処理及び、動き補償予測処理を用いた符号化器
JPH11251919A (ja) メモリ必要量削減方法
JP4201839B2 (ja) メモリを有効利用する画像処理システムのオーバーヘッド・データプロセッサ
JP3696490B2 (ja) デコーダのビデオメモリ条件を減少させる方法及びビデオデコーダ
US5614953A (en) Image signal decoding apparatus having an encoding error compensation
KR100323235B1 (ko) 저 복잡도의 동영상 인코더 장치 및 방법
JP4556286B2 (ja) 動きベクトル変換装置及び方法
MXPA99005602A (en) Pixel block compression apparatus in an image processing system
JP2001309389A (ja) 動きベクトル変換装置及び方法
MXPA99005592A (es) Aparato y cuantificador de compresión de memoria eficiente un sistema de procesamiento de imágenes
KR19980030712A (ko) 영상부호화기의 데이터 포맷팅 회로

Legal Events

Date Code Title Description
B06A Patent application procedure suspended [chapter 6.1 patent gazette]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

Free format text: PRAZO DE VALIDADE: 10 (DEZ) ANOS CONTADOS A PARTIR DE 28/06/2011, OBSERVADAS AS CONDICOES LEGAIS.

B21F Lapse acc. art. 78, item iv - on non-payment of the annual fees in time

Free format text: REFERENTE A 18A ANUIDADE.

B24J Lapse because of non-payment of annual fees (definitively: art 78 iv lpi, resolution 113/2013 art. 12)

Free format text: EM VIRTUDE DA EXTINCAO PUBLICADA NA RPI 2342 DE 24-11-2015 E CONSIDERANDO AUSENCIA DE MANIFESTACAO DENTRO DOS PRAZOS LEGAIS, INFORMO QUE CABE SER MANTIDA A EXTINCAO DA PATENTE E SEUS CERTIFICADOS, CONFORME O DISPOSTO NO ARTIGO 12, DA RESOLUCAO 113/2013.

B15K Others concerning applications: alteration of classification

Ipc: H04N 19/98 (2014.01), H04N 19/423 (2014.0