BRPI0614768A2 - codificação e decodificação adaptável de coeficientes de variação ampla - Google Patents

codificação e decodificação adaptável de coeficientes de variação ampla Download PDF

Info

Publication number
BRPI0614768A2
BRPI0614768A2 BRPI0614768-2A BRPI0614768A BRPI0614768A2 BR PI0614768 A2 BRPI0614768 A2 BR PI0614768A2 BR PI0614768 A BRPI0614768 A BR PI0614768A BR PI0614768 A2 BRPI0614768 A2 BR PI0614768A2
Authority
BR
Brazil
Prior art keywords
transform
coefficient
coefficients
normalized
address
Prior art date
Application number
BRPI0614768-2A
Other languages
English (en)
Inventor
Sridhar Srinivasan
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of BRPI0614768A2 publication Critical patent/BRPI0614768A2/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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • 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
    • H04N19/136Incoming video signal characteristics or properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/18Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a set of transform coefficients
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/184Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/187Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a scalable video layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/34Scalability techniques involving progressive bit-plane based encoding of the enhancement layer, e.g. fine granular scalability [FGS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • 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/93Run-length coding

Landscapes

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

Abstract

CODIFICAçAO E DECODIFICAçAO ADAPTáVEL DE COEFICIENTES DE VARIAçAO AMPLA Trata-se de um meio CODEC digital com base em bloco "Transform" que codifica com mais eficiência coeficientes "Transform" de variação dinâmica ampla em duas partes: um coeficiente normalizado e um endereço bin. O coeficiente normalizado está relacionado a uma disposição de valores de coeficiente da variação dinâmica ampla em bins, enquanto que o endereço bin é um índice do valor de coeficiente em um bin. Com seleção cuidadosa do tamanho do bin, os coeficientes normalizados são dotados de uma probabilidade de distri- buição mais similar a coeficientes "Transform" de variação estreita, que é mais adequado para codificação de entropia de extensão variável. O CODEC usa codificação de entropia de extensão variável para codificar os coeficientes normalizados em um "núcleo" do fluxo de bits comprimido, e a codificação de extensão fixa para codificar o endereço bin como uma camada opcional separada que pode ser omitida. O CODEC adicionalmente varia adaptativamente o tamanho bin da disposição com base em um processo de adaptação inverso para ajustar os coeficientes normalizados em direção a uma probabilidade de distribuição adequada para codificação de entropia de extensão variável eficiente.

Description

"CODIFICAÇÃO E DECODIFICAÇÃO ADAPTÁVEL DECOEFICIENTES DE VARIAÇÃO AMPLA"
AUTORIZAÇÃO DE DIREITOS AUTORAIS
Uma parte da descrição deste documento de patentecontém material que está sujeito à proteção de direitos au-torais. 0 detentor dos direitos autorais não faz nenhumaobjeção à reprodução fac-simile do documento de patente ouda descrição da patente, conforme aparece no arquivo de pa-tente ou registros da Repartição de Marcas e Patentes, masde outro modo ressalva todos e quaisquer direitos autorais.
ANTECEDENTE DA INENÇÃO
Codificação com Base em Bloco "Transform"
A codificação "Transform" é uma técnica de com-pressão usada em muitos sistemas de compressão de áudio, i-magem e de video. A Imagem e o video digitais não comprimi-dos são tipicamente representados ou capturados como amos-tras de elementos de imagem ou cores em locais em uma estru-tura de imagem ou video disposta em uma grade bidimensional(2D). Isso é referido como uma representação de domínio es-pacial da imagem ou vídeo. Por exemplo, um formato típicopara imagens consiste de um fluxo de amostras de elemento deimagem de cor de 24 bits dispostas como uma grade. Cada a-mostra é um número representando componentes de cor em umlocal de elemento de imagem na grade com um espaço cor, co-mo, por exemplo, RGB, ou YIQ, dentre outros. Vários siste-mas de imagem e de vídeo usam várias cores diferentes, reso-luções espaciais e de tempo de amostragem. Similarmente, oáudio digital é tipicamente representado como fluxo de sinalde áudio de amostra de tempo. Por exemplo, um formato deáudio típico consiste de um fluxo de amostras de amplitudede 16 bits de um sinal de áudio tomado em intervalos de tem-po regulares.
Os sinais de áudio digital de imagem e de vídeonão comprimidos podem consumir considerável capacidade dearmazenamento e de transmissão. A codificação "Transform"reduz o tamanho do áudio, das imagens e do vídeo digitai pe-la transformação da representação do domínio espacial do si-nal digital para uma representação de domínio de freqüência(ou outro domínio tipo "Transform"), e então reduz a resolu-ção de determinados componentes de freqüência geralmente me-nos perceptível da representação de domínio "Transform".Isso geralmente produz muito menos degradação perceptível dosinal digital comparado à redução de cor ou resolução espa-cial de imagens ou vídeo no domínio espacial, ou do domíniode áudio no tempo.
Especificamente, um bloco típico CODEC com base"Transform" 100 ilustrado na Figura 1 divide os pixels deimagem digital não comprimidos em dois blocos dimensionaisde tamanho fixo (Xi, ...Xn), cada bloco possivelmente sobre-pondo com outros blocos. Um "Transform" linear 120-121 queefetua análise de freqüência espacial é aplicado em cadabloco, que converte as amostras espaçadas no bloco para umconjunto de coeficientes de freqüência (ou "Transform") ge-ralmente representando a força do sinal digital em faixas defreqüência correspondentes acima do intervalo de bloco. Pa-ra compressão, os coeficientes "Transform" podem ser seleti-vãmente quantizados 130 (isto é, reduzidos em resolução, co-mo, por exemplo, pela queda de bits menos significativos dosvalores de coeficiente ou de outro modo mapeando os valoresem um número de resolução mais alto ajustado para uma reso-lução mais baixa), e também a entropia ou extensão variávelcodificada 130 em um fluxo de dados comprimido. Na decodi-ficação, os coeficientes "Transform" irão transformar inver-samente 170-171 para reconstruir aproximadamente o sinal o-riginal de cor / imagem / video / imagem amostrados espaci-ais (blocos reconstruídos l* n).
0 bloco "Transform" 120-121 pode ser definido comouma operação matemática em um vetor χ de tamanho N. Freqüen-temente, a operação é uma multiplicação linear, produzindo asaída do domínio "Transform" y = Mx, M sendo a matriz"Transform". Quando os dados de saída são arbitrariamentelongos são segmentados em vetores de tamanho N e é aplicadoum bloco "Transform" em cada segmento. Com a finalidade decompressão de dados, são escolhidos blocos "Transform" re-versíveis. Em outras palavras, a matriz M é invertível. Emmúltiplas dimensões (por exemplo, para imagem e vídeo), osblocos "Transform" são tipicamente são tipicamente implemen-tados como operações separáveis. A multiplicação matriz éaplicada separadamente ao longo de cada dimensão dos dados(isto é, por fileiras e colunas).
Para compressão, os coeficientes "Transform" (com-ponente de vetor y) podem ser seletivamente quantizados (is-to é, reduzidos na resolução, como, por exemplo, deixandocair bits menos significativos dos valores coeficientes oumapeando de outro modo os valores em um número de resoluçãomais alta ajustado para uma resolução mais baixa), e tambémentropia ou extensão variável codificada para um fluxo dedados comprimido.
Na decodificação no decodificador 250, a inversãodessas operações (decodificação de desquantização / entropia160 e inversão do bloco "Transform" 170-171) é aplicada nolado do decodificador 159, conforme ilustrado na Figura 1.Ao mesmo tempo em que reconstrói os dados, a matriz de in-versão M1 (inversão "Transform" 170-171) é aplicada como ummultiplicador par aos dados de domínio "Transform". Quandoaplicada aos dados de domínio "Transform", a inversão"Transform" quase reconstrói o domínio de tempo original oumeio digital de domínio espacial.
Em muitas aplicações de codificação com base nobloco "Transform", o "Transform" é desejavelmente reversívelpara sustentar tanto a compressão com perda quanto sem perdadependendo do fator de quantização. Sem nenhuma quantização(geralmente representada como um fator de quantização de 1),por exemplo, um CODEC utilizando um "Transform" reversívelpode reproduzir exatamente os dados de entrada na decodifi-cação. Contudo, a exigência de reversibilidade dessas apli-cações limita a escolha do "Transform" no qual o CODEC podeser projetado.
Muitos sistemas de compressão de imagem e de ví-deo, como, por exemplo, Meios MPEG e Windows Media, dentreoutros, utilizam os "Transforms" de Co-seno Discreto com ba-se no "Transform" (DCT). 0 DCT é conhecido como sendo dota-do de propriedades de compactação de energia favorável queresultam em compressão de dados quase ótimo. Nesses siste-mas de compressão, a inversão (DCT) (IDCT) é empregada nosloops de reconstrução tanto do codificador quanto do decodi-ficador do sistema de compressão para reconstrução individu-al de blocos de imagem.
Codificação de Entropia de Coeficientes "Trans-form" de Variação Ampla
Os dados de entrada de variação dinâmica ampla Ie-vam os coeficientes "Transform" de variação dinâmica aindamais ampla. Por exemplo, os coeficientes "Transform" gera-dos por uma operação NxN DCT são dotados de uma variação di-nâmica maior do que N vezes a variação dinâmica dos dadosoriginais. Com fatores de quantização pequenos ou unidade(usados para conceber compressões de baixa perda ou sem per-da), a variação dos coeficientes "Transform" quantizados étambém grande. Estatisticamente, esses coeficientes são do-tados de uma distribuição Laplaciana, conforme ilustrado nasFiguras 2 e 3. A Figura 2 ilustra uma distribuição Laplaci-ana para coeficientes de variação dinâmica amplas. A Figura3 ilustra uma distribuição Laplaciana para coeficientes devariação dinâmica estreita tipica.
A codificação "Transform" convencional é sintoni-zada para uma variação dinâmica pequena de dados de entrada(tipicamente 8 bits), e relativamente quantizadores relati-vamente maiores (como, por exemplo, os valores numéricos de4 e acima). A Figura 3 é, portanto, representativa da dis-tribuição dos coeficientes "Transform" em tal codificação"Transform" convencional. Ademais, a codificação de entro-pia empregada com tal codificação "Transform" de entropiaconvencional pode ser uma variante de codificação de nivelde execução, onde uma sucessão de zeros é codificada junta-mente com um símbolo diferente de zero. Isso pode ser ummeio eficaz para representar sucessões de zeros (que ocorremcom alta probabilidade), bem como uma captura de correlaçõesentre símbolos.
Por outro lado, a codificação "Transform" convên-cional é menos adequada para comprimir distribuições de va-riação dinâmica ampla como, por exemplo, aquela ilustrada naFigura 2. (Apesar dos símbolos serem zero com probabilidademais alta do que qualquer outro valor (isto é, os picos dedistribuição em zero), a probabilidade de um coeficiente serexatamente zero é mínima para uma distribuição de variaçãodinâmica ampla. Consequentemente, os zeros não ocorrem fre-qüentemente, e executam técnicas de codificação de entropiade extensão que são .baseadas no número de zeros entre os su-cessivos coeficiente diferentes de zero são altamente inefi-cientes para dados de entrada de variação dinâmica ampla.
A distribuição de variação dinâmica ampla também édotada de um alfabeto de símbolos aumentado, em comparaçãocom a distribuição de variação estreita. Devido a esse al-fabeto dos símbolos aumentado, a(s) tabela(s) de entropiausada para codificar os símbolos deverá ser grande. De ou-tro modo, muitos dos símbolos podem não ser codificados, oque é ineficiente. As tabelas maiores requerem mais memóriae podem também resultar em complexidade mais alta.Portanto, a codificação "Transform" convencionalcarece de versatilidade - funcionado bem para dados de en-trada com uma distribuição de variação dinâmica estreita,mas não em uma distribuição de variação dinâmica ampla.
SUMÁRIO DA INVENÇÃO
Uma técnica de codificação e decodificação de mei-os digitais e a realização da técnica em um CODEC de meiosdigitais aqui descritas alcançam compressão mais eficaz doscoeficientes "Transform" de variação dinâmica ampla. Porexemplo, um CODEC meios digitais com base em bloco "Trans-form" exemplificativo aqui ilustrado representa coeficientes"Transform" de variação dinâmica ampla em duas partes: umcoeficiente normalizado e um endereço bin. O coeficientenormalizado se refere a uma disposição de valores de coefi-ciente da variação dinâmica ampla em bins, enquanto que oendereço bin é um indice do valor de coeficiente em um bin.Com seleção cuidadosa do tamanho bin, a parte do coeficientenormalizada dos coeficientes "Transform" é dotada de umaprobabilidade de distribuição mais similar àquela dos coefi-cientes "Transform" de variação estreita, que é mais adequa-da para codificação de entropia de extensão variável.
O CODEC exemplificativo usa codificação de entro-pia de extensão variável para codificar os coeficientes nor-malizados em um "núcleo" do fluxo de bits comprimido, e co-dificação de extensão fixa para codificar o endereço bin co-mo uma camada opcional separada que pode ser omitida. Mesmocom a omissão de uma camada de endereço bin, o CODEC podedecodificar o fl uxo de bits e reconstruir uma aproximaçãodos dados de meios digitais de entrada. A disposição doscoeficientes "Transform" em bins é dotada de um efeito simi-lar à quantização dos coeficientes "Transform" para uma va-riação dinâmica mais estreita.
Ademais, o CODEC varia adaptativamente o tamanhobin da disposição com base em um processo de adaptação in-versa para ajustar os coeficientes normalizados em direção auma distribuição de probabilidade adequada à codificação deentropia de extensão variável eficiente. No CODEC exempli-ficativo, a adaptação é baseada em uma contagem dos coefici-entes normalizados diferentes de zero em blocos anteriores.
Dessa maneira, a adaptação depende apenas da informação nonúcleo de fluxo de bits, que não viola a restrição de que acamada contendo o endereço bin pode ser seletivamente omitida.
Esse Sumário é proporcionado para introduzir umaseleção de conceitos de forma simplificada que será descritamais adiante abaixo na Descrição Detalhada. Esse Sumárionão pretende identificar as características chaves ou essen-ciais da matéria reivindicada, nem pretende ser usado comoum auxilio na determinação do escopo da matéria reivindicada.
BREVE DESCRIÇÃO DOS DESENHOS
A Figura 1 é um diagrama em bloco de um CODEC combase em bloco "Transform" convencional no estado da técnica.
A Figura 2 é um histograma ilustrando uma distri-buição de coeficientes "Transform" sendo dotados de uma va-riação dinâmica ampla.A Figura 3 é um histograma ilustrando uma distri-buição de coeficientes de variação estreita.
A Figura 4 é um diagrama de fluxo de um codifica-dor representativo incorporando a codificação adaptativa doscoeficientes de variação ampla.
A Figura 5 é um diagrama de fluxo de um decodifi-cador incorporando a decodificação de coeficientes de varia-ção ampla codificados adaptativamente.
A Figura 6 é um diagrama de fluxo ilustrando dis-posição e formação de camadas do coeficiente "Transforra" nacodificação adaptativa de coeficientes de variação ampla,como, por exemplo, o codificador da Figura 4.
A Figura 7 e um fluxograma ilustrando um processopelo codificador da Figura 4 para codificar um coeficiente"Transform" para uma disposição escolhida dos coeficientes"Transform" em bins.
A Figura 8 e um fluxograma ilustrando um processopelo decodificador da Figura 5 para reconstruir o coeficien-te "Transform" codificado por via do processo da Figura 7.
A Figura 9 e um fluxograma ilustrando um processode adaptação para variar adaptativamente a disposição na Fi-gura 6 para produzir uma melhor distribuição para codifica-ção de entropia dos coeficientes.
As Figuras 10 e 11 são listagens pseudocódigo doprocesso de adaptação da Figura 9.
A Figura 12 é um diagrama em bloco de um ambientede computação adequado para implementar a codificação adap-tativa dos coeficientes de variação ampla da Figura 6.DESCRIÇÃO DETALHADA
A descrição que se segue refere-se a técnicas decodificação e decodificação que ajustam adaptativamente co-dificação de entropia mais eficiente de coeficientes "Trans-form" de variação ampla. A descrição que se segue descreveuma implementação exemplificativa da técnica no contexto deum sistema de compressão de meios digitais ou CODEC. 0 sis-tema de meios digitais codifica os dados de meios digitaisem uma forma comprimida para transmissão ou armazenamento, edecodifica ós dados para reprodução ou outro processamento.
Com propósitos ilustrativos, esse sistema de compressão e-xemplificativo incorporando essa codificação adaptativa decoeficientes de variação ampla é um sistema de compressão deimagem ou video. Alternativamente, a técnica pode tambémser incorporada nos sistemas de compressão ou CODECS paraoutros dados 2D. A codificação adaptativa de técnicas decoeficientes de variação ampla não requer que o sistema decompressão de meios digitais codifique os dados de meio di-gitais comprimidos em um formato de codificação particular.
1. Codificador / Decodificador
As Figuras 4 e 5 são diagramas generalizados dosprocessos empregados em um codificador de dados (2D) bidi-mensional representativo 400 e decodificador 500. Os dia-gramas apresentam uma ilustração generalizada ou simplifica-da de um sistema de compressão incorporando o codificador dedados 2D e o decodif icador que implementam a codificação a-daptativa de coeficientes de variação ampla. Em sistemas decompressão alternativos usando a codificação adaptativa decoeficientes de variação ampla, processos adicionais ou emmenor número do que aqueles ilustrados nesse codificador edecodificador representativo pode ser usado para a compres-são de dados 2D. Por exemplo, alguns codificadores / deco-dificadores podem também incluir conversão de cor, formatosde cor, codificação escalável, codificação sem perda, modosde macro bloco, etc. 0 sistema de compressão (codificador edecodificador) pode proporcionar compressão sem perda e/oucom perda de dados 2D, dependendo da quantização que podeser baseada em um parâmetro de quantização variando de semperda a com perda.
O codificador de dados 2D 400 produz um fluxo debits comprimido 420 que é uma representação mais compacta(para entrada típica) dos dados 2D 410 apresentados como en-trada para o codificador. Por exemplo, a entrada dos dados2D pode ser uma imagem, uma estrutura de uma seqüência devideo, ou outros dados sendo dotados de duas dimensões. 0codificador de dados 2D ladrilha 430 os dados de entrada pa-ra macro blocos, que medem 16x16 pixels nesse codificadorrepresentativo. O codificador de dados 2D também ladrilhacada macro bloco em blocos de 4x4. Um operador de "sobrepo-sição avançada" 440 é aplicado em cada borda entre os blo-cos, após o que cada bloco 4x4 é transformado usando um blo-co "Transform" 450. Esse bloco "Transform" 450 pode ser o"Transform" 2D de escala livre, reversível, descrito por S-rinivasan, Pedido de Patente No. U.S. 11/015.707, intitulado""Transform" Reversível para Compressão de Dados 2-D comPerda e sem Perda", depositado em 17 de dezembro de 2004. Ooperador de sobreposição 440 pode ser o operador de sobrepo-sição reversível descrito por Tu et al. , Pedido de PatenteNo. U.S. 11/015.148, intitulado "Operador de SobreposiçãoReversível para Compressão de Dados sem Perda Eficiente",depositado em 17 de dezembro de 2004; e por Tu et al., Pedi-do de Patente No. U.S. 11/035.991, intitulado "Filtragem Pré/ Pós 2-Dimensional Reversível para "Transform" BiortogonalEntelhado", depositado em 14 de janeiro de 2005. Alternati-vamente, podem ser usados o "Transform" de co-seno discretoou outros blocos "Transforms" e operadores de sobreposição.Subseqüente ao "Transform", o coeficiente DC 460 de cadabloco "Transform" 4x4 está sujeito a uma cadeia de processa-mento similar, (telha, sobreposição avançada, seguida dobloco "Transform" 4x4). Os coeficientes "Transform" DC re-sultantes e os coeficientes "Transform" AC são quantizados470, entropia codificada 480 e empacotada 490.
O decodificador realiza o processo inverso. Nalateral do decodificador, os bits de coeficiente "Transform"são extraídos 510 dos seus respectivos pacotes, a partir daqual os próprios coeficientes são decodificados 520 e des-quantizados 530. Os coeficientes DC 540 são regenerados pe-la aplicação de um "Transform" inverso, e o plano dos coefi-cientes DC é "sobreposto inverso" usando um operador de re-gularização adequado aplicado através das bordas do blocoDC. Subseqüentemente, todos os dados são regenerados pelaaplicação do "Transform" inverso 4x4 550 para os coeficien-tes DC, e os coeficientes AC 542 decodificados a partir dofluxo de bits. Finalmente, as bordas do bloco nos planos deimagem resultantes são filtradas por sobrepostas inversas560. Isso produz uma saida de dados 2D reconstruída.
Na implementação exemplificativa, o codificador400 (Figura 2) comprime uma imagem de entrada para o fluxode bits comprimido 420 (por exemplo, um arquivo) , e o deco-dificador 500 (Figura 5) reconstrói a entrada original ouuma aproximação da mesma, com base no emprego da codificaçãocom ou sem perda. O processo de codificação envolve a apli-cação de um "Transform" entelhado (LT) comentado abaixo, que é implementado com filtragem pré / pós dimensionail-2 rever-sível também descrito inteiramente abaixo. 0 processo dedecodificação envolve a aplicação do "Transform" entelhadoinverso (ILT) usando filtragem pré / pós dimensional-2.
O LT ilustrado e o ILT são contrários um ao outro,no sentido exato, e, portanto, podem ser coletivamente refe-ridos como "Transform" entelhado reversível. Como um"Transform" reversível, o par LT / ILT pode ser usado paracompressões de imagem sem perda.
Os dados de entrada 410 comprimidos pelo codifica-dor 400 / decodificador 500 ilustrados podem ser imagens devárias formatos de cores (por exemplo, RGB/YUV4:4:4 ou for-matos de imagem de cores YUV4:2:0). Tipicamente, a entradade imagem é sempre dotada de um componente de luminância(Y). Se for uma imagem RGB/YUV4:4:4 ou YUV4:2:0, a imagemtambém é dotada de componentes de crominância, como, por e-xemplo, um componente U e um componente V. Os planos oucomponentes de cor separados da imagem podem ser dotados dediferentes resoluções espaciais. Em caso de uma imagem deentrada no formato de cor YUV4:2:0, por exemplo, os compo-nentes UeV são dotados da metade da largura e do peso docomponente Y.
Conforme comentado acima, o codificador 400 ladri-lha a imagem ou desenho de entrada em macro blocos. Em umaimplementação exemplificativa, o codificador 400 ladrilha aimagem de entrada para blocos de 16x16 no canal Y (que podemser áreas de 16x16 ou 8x8 nos canais UeV dependendo doformato da cor) . Cada plano de cor macro bloco é entelhadoem regiões ou blocos de 4x4. Portanto, um macro bloco écomposto para os vários formatos de cores na maneira que sesegue para essa implementação de codificador exemplificativa :
1. Para uma imagem de escala cinza, cada macrobloco contém blocos de luminância (Y) 16 4x4.
2. Para uma imagem de cor de formato YUV4:2:0, ca-da macro bloco contém blocos Y de 16 4x4
3. Para uma imagem de cor RGB ou YUV4:4 :4, cadamacro bloco contém 16 blocos cada um de canais Y, U e V.
2. Codificação Adaptável de Coeficientes de Varia-ção Ampla
No caso de dados de variação dinâmica ampla, espe-cialmente dados "Transform" não correlatos (como, por exem-plo, os coeficientes 460, 462 no codificador da Figura 4),um número significativo de bits de ordem mais baixo são im-previsíveis e "barulhentos". Em outras palavras, Não hámuita correlação nos bits de ordem mais baixa que podem serusados para codificação de entropia eficiente. Os bits sãodotados de entropia alta, a abordagem de 1 bit para todos osbits codificada.
2.1 Disposição
Além disso, a função de distribuição da probabili-dade Laplaciana de coeficientes "Transform" de variação am-pla ilustrado na Figura 3 é fornecida por:
(por conveniência, a variável aleatória correspon-dente aos coeficientes "Transform" é tratada como um valorcontinuo). Para dados de variação dinâmica ampla, " e pe-queno, e a média absoluta é grande. A inclinação dessadistribuição está limitada em fà que é muito pequeno.
sso significa que a probabilidade de um coeficiente "Trans-form" ser igual a χ está muito próxima à probabilidade deχ+ξ para um deslocamento ζ. No domínio discreto, isso tra-duz para a reivindicação, "a probabilidade de um coeficiente"Transform" alcançar nos valores adjacentes j e (j+1) é qua-se idêntica".
Com relação à Figura 6, os coeficientes de varia-ção ampla da codificação adaptável realizam uma disposição610 de símbolos sucessivos do alfabeto para os "bins" dossímbolos Ν. 0 número de símbolos por bin pode ser qualquernúmero N. Por praticidade, contudo, o número N é desejavel-mente uma potência de 2 (por exemplo, N=2K) , de maneira queP o índice ou endereço de um coeficiente dentro de um binpossa ser codificado eficientemente como um código de exten-são fixa. Por exemplo, os símbolos podem ser agrupados empares, de maneira que um símbolo possa ser identificado comoo índice do par, juntamente com o indice do símbolo em outropar.
O beneficio dessa disposição é que com uma escolhaadequada de N, a probabilidade de distribuição do índice binpara coeficientes de variação ampla se aproxima da distribu-ição de probabilidade de distribuição dos dados de variaçãoestreita, por exemplo, aquela ilustrada na Figura 3. A dis-posição é matematicamente similar à operação de quantização.Isso significa que o índice bin pode ser eficientemente co-dificado usando técnicas de codificação de entropia de ex-tensão variável que funcionam melhor com dados sendo dotadosde uma probabilidade de distribuição de variação estreita.
Com base na disposição dos coeficientes para bins,o codificador pode então codificar um coeficiente "Trans-form" 615 usando um índice de seu bin (também aqui referidocomo o coeficiente normalizado 620) e seu endereço dentro dobin (aqui referido como o endereço bin 625). O coeficientenormalizado é codificado usando uma codificação de entropia,de extensão variável, enquanto o endereço bin é codificadopor meio de um código de extensão fixa.
A escolha de N (ou equivalentemente, o número debits K para a codificação de extensão fixa do endereço bin)determina a granularidade da disposição. Geralmente, quantomaior a variação dos coeficientes "Transform", maior o valorde K a ser escolhido. Quando K é escolhido cuidadosamente,o coeficiente normalizado Y é zero com alta probabilidade deequiparar o esquema de codificação de entropia para Y.
Conforme acima descrito, o valor K pode ser adap-tavelmente variado (de uma maneira adaptável inversa) no co-dificador e decodificador. Especificamente, o valor de Ktanto no codificador quanto no decodificador varia com baseapenas nos dados codificados / decodificados anteriores.
Em um exemplo especifico dessa codificação ilus-trada na Figura 7, o codificador codifica um coeficiente"Transform" X como se segue. Para uma ação inicial 710, ocodificador calcula um coeficiente normalizado Y para o coe-ficiente "Transform". Na implementação desse exemplo, o co-eficiente normalizado Y é definido comoY=sinal(X)*piso(abs(X)/Ν), para uma determinada escolha dotamanho bin N=2K. O codificador codifica o símbolo Y usandoum código de entropia (ação 720), individual ou juntamentecom outros símbolos. A seguir, na ação 730, o codificadordetermina um endereço bin (Z) do coeficiente "Transform" X.
Nesse implementação exemplificativa, o endereço bin é o re-manescente de uma divisão de inteiro de abs(X) pelo tamanhobin N, ou Z=abs(X)%N. O codificador codifica esse valor co-mo um código de extensão fixa de bits K na ação 740. Alémdisso, no caso de um coeficiente "Transform" diferente dezero, o codificador também codifica o sinal. Especificamen-te, conforme indicado nas ações 750-760, o codificador codi-fica o sinal do coeficiente normalizado (Y) quando o coefi-ciente normalizado é diferente de zero. Ainda, quando o co-eficiente normalizado for zero e o coeficiente "Transform"for diferente de zero, o codificador codifica o sinal do co-eficiente "Transform" (X). Uma vez que o coeficiente norma-lizado seja codificado usando um código de entropia de ex-tensão variável, é também aqui referido como a parte de ex-tensão variável, e o endereço bin (Z) é também referido comoa parte de extensão fixa. Em outras implementações alterna-tivas, as definições matemáticas do coeficiente normalizado,do endereço bin e do sinal para um coeficiente "Transform"podem variar.
Continuando esse exemplo, a Figura 8 ilustra umprocesso exemplificativo 800 pelo decodificador 500 (Figura5) para reconstruir o coeficiente "Transform" que foi codi-ficado pelo processo 700 (Figura 7). Na ação 810, o decodi-ficador decodifica o coeficiente normalizado (Y) a partir dofluxo de bits comprimido 420 (Figura 5), individualmente oujuntamente com outros símbolos, como definido no processo decodificação de bloco. 0 decodificador também lê a palavrade código do bit-K para o endereço bin e o sinal (quando co-dificado) proveniente do fluxo de bits comprimido na ação820. Nas ações de 830 a 872, o decodif icador então recons-trói o coeficiente "Transform", como se segue:
1. Quando Y>0 (ação 830), então o coeficiente"Transform" é reconstruído como X=Y*N+Z (ação 831).
2. Quando Y<0 (ação 840), então o coeficiente"Transform" é reconstruído como X=Y*N-Z (ação 841).
3. Quando Y=O e Z=O (ação 850), então o coeficien-te "Transform" é reconstruído como X=O (ação 851).
4. Quando Y=O e Z#0, o decodificador adicionalmen-te lê o sinal codificado (S) proveniente do fluxo de bitscomprimido (ação 860) . Se o sinal for positivo (S=O) (ação870) , então o coeficiente "Transform" é reconstruído comoX=Z (ação 871). Do contrário, se o sinal for negativo (S=I)o coeficiente "Transform" é reconstruído como X=Z (ação872) .
2.2 Formação de Camadas
Ainda com relação à Figura 6, o codificador e odecodificador desejavelmente resumem os endereços bin codi-ficados de extensão fixa 625 e sinaliza para uma camada co-dificada separada (aqui denominada a camada "Flexbits" 654)no fluxo de bits comprimido 420 (Figura 4). Os coeficientesnormalizados 620 são codificados em uma camada do núcleo dofluxo de bits 640. Isso permite que o codificador e/ou de-codificador tenha a opção de "downgrade" deixar cair intei-ramente essa parte "Flexbits" da codificação, como desejado,para atender a taxa de bit ou outras limitações. Mesmo como codificador deixando cair inteiramente a camada "Flex-bits", o fluxo de bits comprimido ainda decodifica, emboraem uma qualidade degradada. 0 codificador pode ainda re-construir o sinal proveniente apenas da parte dos coeficien-tes normalizados. Isso é efetivamente similar à aplicaçãode um grau maior de quantização 470 (Figura 4) no decodifi-cador. A codificação do endereço bin e sinal como uma cama-da "Flexbits" separada também é dotada de um benéfico poten-cial que em algumas implementações de codificador / decodi-ficador, uma codificação de entropia de extensão variáveladicional (por exemplo, codificação aritmética, "Lempel-Ziv", "Burrows-Wheeler", etc.) poderia ser aplicada aos da-dos nessa camada para compressão aperfeiçoada adicional.
Para formação de camadas, as seções do fluxo debits comprimidos contendo a parte "Flexbits" são sinalizadaspor um registro inicial de camada separada ou outra indica-ção no fluxo de bits de maneira que o decodificador possaidentificar e separar (isto é, analisar gramaticalmente) acamada "Flexbits" 645 (quando não omitida) proveniente donúcleo do fluxo de bits 640.
A formação de camadas apresenta um desafio adicio-nal no projeto de disposição adaptável inversa (descrito naseção seguinte). Uma vez que a camada "Flexbits" pode estarpresente ou ausente em um determinado fluxo de bits, o mode-lo de disposição adaptável inversa não pode ser confiavel-mente se referir a qualquer informação na camada "Flexbits".Toda informação necessária para determinar o número de códi-go de bits k de extensão fixa (correspondendo ao tamanho binN=2K) deveria consistir no núcleo de fluxo de bits eventual.
2.3 Adaptação
O codificador e o decodificador proporcionam adi-cionalmente um processo de adaptação inverso para adaptavel-mente ajustar a escolha do número K do código de bits de ex-tensão fixa, e também o tamanho N da disposição acima des-crita, durante a codificação e decodificação. Em uma imple-mentação o processo de adaptação pose ser baseado na modela-gem de coeficientes "Transform" como uma distribuição Lapla-ciana, de maneira que o valor de K seja derivado do parâme-tro Laplaciano ". Contudo, tal modelo sofisticado irá re-querer que o decodificador realize o inverso da disposição610 (reconstrução dos coeficientes "Transform" provenientestanto dos coeficientes normalizados no núcleo do fluxo debits 640 quanto do endereço / sinal bin na camada "Flexbits"645) na Figura 6 antes de modelar a distribuição dos blocosfuturos. Essa exigência violaria o limite de formação decamada que o decodificador permitiria cair da camada "Flex-bits" proveniente do fluxo de bits comprimido 420.
No exemplo de implementação ilustrado na Figura 9,o processo de adaptação 900 é em vez disso baseado na obser-vação de que uma codificação de extensão de execução melhordos coeficientes "Transform" é alcançada quando em torno deum quarto dos coeficientes são diferentes de zero. Portan-to, um parâmetro de adaptação que pode ser usado para sinto-nizar a disposição em direção de uma situação "sweet-spot"onde em torno de três quartos dos coeficientes normalizadossão zero irá proporcionar boa realização de codificação deentropia. Portanto, o número de coeficientes normalizadosdiferentes de zero em um bloco é usado como o parâmetro deadaptação no exemplo de implementação. Esse parâmetro deadaptação possui a vantagem de depender apenas da informaçãocontida no núcleo do fluxo de bits, que atende o limite deformação de camada que os coeficientes "Transform" podem a-inda ser decodificados com a camada "Flebits" omitida. 0processo é uma adaptação inversa no sentido de que o modelode adaptação aplicado ao codificar / decodificar o bloco a-tual é baseado na informação proveniente do(s) bloco(s) an-terior (es).
No seu processo de adaptação, o codificador e odecodificador exemplificativos realizam a adaptação em umabase de adaptação inversa. Isto é, uma iteração atual daadaptação é baseada na informação anteriormente vista noprocesso de codificação e decodificação, como, por exemplo,no bloco ou macro bloco anterior. No codificador e decodi-ficador exemplificativos, a atualização de adaptação ocorreuma vez por macro bloco para uma faixa "Transform" determi-nada, que é intencionada a minimizar a latência e a depen-dência cruzada. As implementações CODEC alternativas podemrealizar a adaptação em intervalos diferentes, como, por e-xemplo, após cada bloco "Transform".
No codificador e decodificador exemplificativos, oprocesso de adaptação 900 atualiza o valor K. Se o númerode coeficientes normalizados diferentes de zero for muitogrande, então K é aumentado de maneira que esse número tendaa cair nos blocos futuros. Se o número de coeficientes nor-malizados diferentes de zero for muito pequeno, então k éreduzido com a expectativa de que os blocos futuros venham aproduzir mais coeficientes normalizados diferentes de zeroporque o tamanho N de bin é menor. 0 processo de adaptaçãoexemplificativo limita o valor K para que esteja dentro doconjunto de números {0, 1,... 16}, mas as implementações al-ternativas poderiam usar outras variações de valores para K.
Em cada atualização de adaptação, o codificador e o decodi-ficador aumentam, diminuem, ou deixam K inalterado. 0 codi-ficador e decodificador exemplificativos aumentam ou diminu-em K por um, mas as implementações alternativas poderiam u-sar outros tamanhos de etapa.
0 processo de adaptação 900 no codificador e deco-dificador exemplificativos usa adicionalmente um parâmetrode modelo interno ou estado variável (M) para controlar aatualização do parâmetro de disposição K com um efeito his-terese. Esse modelo de parâmetro proporciona um retardo an-tes da atualização do parâmetro de disposição K, de maneiraa evitar a provocação de rápida flutuação no parâmetro dedisposição. 0 modelo de parâmetro no processo de adaptaçãoexemplificativo é dotado de 16 etapas de inteiros, de -8 a 8.
Com relação à Figura 9, o processo de adaptaçãoexemplificativo 900 procede como se segue. Esse processo deadaptação exemplificativo está detalhado mais adiante nalistagem de pseudocódigo das Figuras 10 e 11. Conforme in-dicado nas ações 910, 990, o processo de adaptação no codi-ficador e decodificador exemplificativos é realizado separa-damente em cada faixa "Transform" sendo representada no flu-xo de bits comprimido, incluindo a faixa luminância e asfaixas de crominância, os coeficientes AC e DC, etc. OsCODECS alternativos podem ser dotados de variedade no númerode faixas "Transform", e podem adicionalmente aplicar adap-tação separadamente ou juntamente para as faixas "Transform".
Na ação 920, o processo de adaptação então conta onúmero de coeficientes normalizados diferentes de zero dafaixa "Transform" no macro bloco codificado / decodificadoanterior imediato. Na ação 930, essa contagem de fileira énormalizada para refletir o número tornado inteiro de coefi-cientes diferentes de zero em uma área de tamanho regular.
O processo de adaptação então calcula (ação 940) o desvio dacontagem do modelo desejado (isto é, o "sweet-spot" de umquarto dos coeficientes que são diferentes de zero). Porexemplo, um macro bloco de coeficientes AC no codificadorexemplificativo ilustrado na Figura 4 é dotado 240 de coefi-cientes. Portanto, o modelo desejado é para 70 dentre os240 coeficientes para serem diferentes de zero. 0 desvio éadicionalmente escalado, limitado, e usado para atualizar oparâmetro de modelo interno.
Nas ações seguintes 960, 965, 970 e 975, o proces-so de adaptação então adapta o valor K de acordo com qual-quer alteração no parâmetro de modelo interno. Se o parâme-tro modelo for menor do que um limiar negativo, o valor k édiminuído (dentro de seus limites permitidos). Essa adapta-ção iria produzir mais coeficientes diferentes de zero. Poroutro lado, se o parâmetro de modelo exceder um limiar posi-tivo, o valor k é aumentado (dentro dos limites permitidos).Tal adaptação iria produzir um menor número de coeficientesdiferentes de zero. O valor K de outro modo permanece inal-terado.
Mais uma vez, conforme indicado nas ações 910,980, o processo de adaptação é repetido separadamente paracada canal e a faixa secundária dos dados, como, por exem-plo, para os canais de crominância e luminância.
O processo de adaptação exemplificativo 900 é de-talhado adicionalmente na listagem de pseudocódigo 1000 i-lustrado nas Figuras 10 e 11.
3. Ambiente de Computação
O codificador descrito acima 400 (Figura 4) e odecodificador 500 (Figura 5) e as técnicas para codificação/ decodificação adaptável de coeficientes de variação amplapodem ser realizadas em qualquer de uma variedade de dispo-sitivos na qual o processamento de sinal de meios digitais érealizado, incluindo, dentre outros exemplo, computadores,gravação de imagem e de video, equipamento de transmissão erecebimento; aparelhos de video portáteis; video conferênciae etc. Os meios digitais das técnicas de codificação podemser implementados em um conjunto de circuitos de hardware,bem como software de processamento de meios digitais execu-tando em um computador ou outro ambiente de computação; co-mo, por exemplo, ilustrado na Figura 12.
A Figura 12 ilustra um exemplo generalizado de umambiente de computação adequado (1200) no qual as modalida-des descritas podem ser implementadas. 0 ambiente de compu-tação (1200) não é intencionado a sugerir qualquer limitaçãocomo para o escopo de uso ou funcionalidade da invenção,porque a presente invenção pode ser implementada nos ambien-tes de computação de propósito geral ou propósito especialdiversos.
Com relação à Figura 12, o ambiente de computação(1200) inclui pelo menos uma unidade de processamento (1210)e memória (1220) . Na Figura 12, essa configuração mais bá-sica (1230) está incluída na linha tracejada. A unidade deprocessamento (1210) executa instruções executáveis de com-putador e pode ser um processador real ou virtual. Em umsistema de multe processamento, as unidades de múltiplosprocessamentos executam instruções executáveis de computadorpara aumentar a potência de processamento. A memória (1220)pode ser memória volátil (por exemplo, registros, cache,RAM), memória não volátil (por exemplo, ROM, EEPROM, memóriaflash, etc.)λ ou alguma combinação das duas. A memória(1220) armazena software (1280) implementando o codificador/ decodificador descritos e técnicas de codificação / deco-dificação de coeficiente de variação ampla.
Um ambiente de computação pode ser dotado de ca-racterísticas adicionais. Por exemplo, o ambiente de compu-tação (1200) inclui armazenamento (1240), um ou mais dispo-sitivos de entrada (1250), um ou mais dispositivos de saída(1260), uma ou mais conexões de comunicação (1270) . Um me-canismo de interconexão (não ilustrado) como, por exemplo,um barramento, controlador ou rede interconecta os componen-tes do ambiente de computação (1200) . Tipicamente, o soft-ware de sistema de operação (não ilustrado) proporciona umambiente de operação para outro software executando no ambi-ente de computação (1200), e coordena atividades dos compo-nentes do ambiente de computação (1200).
O armazenamento (1240) pode ser removível ou nãoremovível, e inclui discos magnéticos, tapes ou cassetesmagnéticos, CD-ROMs, CD-RWs, DVDs, ou qualquer outro meioque possa ser usado para armazenar informação e que possaser acessado dentro de um ambiente de computação (1200) . 0armazenamento (1240) armazena instruções para o software(1280) implementando o codificador / decodificador descritoe as técnicas de codificação / decodificação de coeficientede variação ampla.0(s) dispositivo(s) de entrada (1250) pode ser umdispositivo de entrada de toque como, por exemplo, um tecla-do, um mouse, caneta ou "trackball", um dispositivo de en-trada de voz, um dispositivo scanner, ou outro dispositivoque proporcione entrada para o ambiente de computação(1200). Para áudio, o(s) dispositivo(s) de entrada (1250)pode ser dispositivo de cartão de som ou similar que aceiteentrada de áudio na forma digital ou analógica, ou um leitorde CD-ROM que proporcione amostras de áudio para o ambientede computação. 0(s) dispositivo(s) de saida (1260) pode serum monitor, uma impressora, um alto-falante, um gravador deCD, ou outro dispositivo que proporcione saida provenientede um ambiente de computação (1200).
A (s) conexão (ões) (1270) possibilita comunicaçãoacima de um meio de comunicação para outra entidade de com-putação. 0 meio de comunicação transporta informação como,por exemplo, instruções executáveis de computador, informa-ção de áudio ou de video comprimida, ou outros dados em umsinal de dados modulado. Um sinal de dados modulado é umsinal que é dotado de uma ou mais de seu conjunto de carac-terísticas ou alterado de tal maneira que codifique informa-ção no sinal. À guisa de exemplo, e não de limitação, omeio de comunicação inclui técnicas com ou sem fio implemen-tadas com portador elétrico, óptico, RF, infravermelho, a-cústico ou outro portador.
As técnicas de processamento de meios digitais po-dem ser aqui descritas no contexto geral de meios legíveisde computador. Os meios legíveis de computador são quais-quer meios disponíveis que possam ser acessados em um ambi-ente de computação. À guisa de exemplo, e não de limitação,com o ambiente de computação (1200), os meios legíveis decomputador incluem memória (1220), armazenamento (1240),meios de comunicação e combinações de qualquer daqueles men-cionados acima.
As técnicas de processamento de meios digitais po-dem ser aqui descritas no contexto geral de instruções exe-cutáveis de computador, como, por exemplo, aquelas incluídasnos módulos de programa, sendo executadas em um ambiente decomputação em um processador alvo real ou virtual. Geral-mente, os módulos de programa incluem rotinas, programas,bibliotecas, objetos, classes, componentes, estruturas dedados, etc., que realizam tarefas específicas ou tipos dedados abstratos de implemento particular. A funcionalidadedos módulos de programa pode ser combinada ou dividida entremódulos de programa conforme desejado em várias modalidades.As instruções executáveis de computador para módulos de pro-grama podem ser executadas em um local ou ambiente de compu-tador distribuído.
Para fins de apresentação, a descrição detalhadausa termos como "determina", "gera", "ajusta" e "aplica" pa-ra descrever operações de computador em um ambiente de com-putação. Esses termos são abstrações de alto nível para o-perações realizadas por um computador e não devem ser con-fundidos com ações realizadas por um ser humano. As opera-ções de computador efetivas que correspondem a esses termosvariam conforme a implementação.Tendo em vista as várias possíveis variações damatéria aqui descrita, são reivindicadas todas as modalida-des que possam incidir no escopo das reivindicações que seseguem e suas equivalências.

Claims (20)

1. Método para codificar dados de meios digitais,o método sendo CARACTERIZADO pelo fato de que compreende:aplicar um "Transform" (450) em blocos de dados demeios digitais para produzir um conjunto de coeficientes"Transform" (460, 462) para os blocos respectivos;para uma disposição de valores de coeficientesmúltiplos em grupos de coeficientes múltiplos, determinandouma parte normalizada (620) e uma parte de endereço (625)dos coeficientes "Transform" (615) de um bloco, onde a partenormalizada é indicativa de um grupo contendo o valor de co-eficiente "Transform" respectivo e a parte de endereço é in-dicativa de um endereço do valor de coeficiente "Transform"respectivo no grupo;codificar (720) a parte normalizada de um coefici-ente "Transform" usando uma codificação de entropia de ex-tensão variável em um fluxo de bits comprimido; ecodificar (740) a. parte de endereço de um coefici-ente "Transform" usando uma codificação de extensão fixa nofluxo de bits comprimido.
2. Método, de acordo com a reivindicação 1,CARACTERIZADO pelo fato de que compreende adicionalmente:selecionar a disposição para um bloco de maneiraque os grupos de coeficientes múltiplos contenham um númerode valores de coeficientes igual a uma potência de dois.
3. Método, de acordo com a reivindicação 2,CARACTERIZADO pelo fato de que a determinação da parte nor-malizada e da parte de endereço dos coeficientes "Transform"compreende:determinar a parte normalizada (Y) de um coefici-ente "Transform" (X) de acordo com uma primeira relação,Y=sinal(X)*piso(abs(X)/Ν), onde N é o número dos valores decoeficientes por grupo; edeterminar a parte de endereço (Z) do coeficiente"Transform" de acordo com uma segunda relação, Z=abs(X)%N.
4. Método, de acordo com a reivindicação 3,CARACTERIZADO pelo fato de que compreende adicionalmente:quando a parte normalizada for zero e a parte deendereço for diferente de zero, codificar um sinal do coefi-ciente "Transform" no fluxo de bits comprimido, e de outromodo omitir para codificar o sinal no fluxo de bits compri-mido.
5. Pelo menos um meio de gravação legível de com-putador portando o fluxo de bits comprimido, CARACTERIZADOpelo fato de que está de acordo com o método da reivindica-ção 4.
6. Método de decodificação de meios digitais dedecodificação, de acordo com o método da reivindicação 3, ométodo de decodif icação sendo CARACTERIZADO pelo fato de quecompreende adicionalmente:decodificar a parte normalizada e a parte de ende-reço de um coeficiente "Transform" proveniente do fluxo debits comprimido; equando a parte normalizada for menor do que zero,reconstruir o coeficiente "Transform" de acordo com uma ter-ceira relação X=Y*N+Z;quando a parte normalizada for maior do que zero,reconstruir o coeficiente "Transform" de acordo com umaquarta relação X=Y*N-Z; equando a parte normalizada e a parte de endereçoforem zero, reconstruir o coeficiente "Transform" também pa-ra zero; equando a parte normalizada for zero e a parte deendereço for diferente de zero, ler o sinal proveniente dofluxo de bits comprimido e reconstruir o coeficiente "Trans-form" como uma função da parte do endereço do sinal.
7. Método, de acordo com a reivindicação 1,CARACTERIZADO pelo fato de que compreende adicionalmente:codificar o fluxo de bits comprimido de acordo comuma estrutura sintática de fluxo de bits de múltiplas cama-das, a estrutura sintática compreendendo uma parte de núcleoe uma camada opcional, onde a parte de núcleo contenha in-formação suficiente, de maneira que uma representação dosdados dos meios digitais possa ser decodificada e reconstru-ída sem referência à camada opcional baseada unicamente naparte de núcleo do fluxo de bits comprimido;codificar as partes normalizadas dos coeficientes"Transform" na parte de núcleo do fluxo de bits comprimido;ecodificar as partes de endereço dos coeficientes"Transform" na camada opcional do fluxo de bits comprimido.
8. Pelo menos um meio de gravação legível de com-putador transportando o fluxo de bits comprimido,CARACTERIZADO pelo fato de que é codificado de acordo com ométodo da reivindicação 7.
9. Método, de acordo com a reivindicação 7,CARACTERIZADO pelo fato de que compreende adicionalmente:realizar uma codificação de entropia adicional daspartes de endereço codificadas de extensão fixa dos coefici-entes "Transform".
10. Método, de acordo com a reivindicação 7,CARACTERIZADO pelo fato de que compreende adicionalmente:variar adaptativamente a disposição aplicado em umbloco atual com base em uma característica de distribuiçãode probabilidade observada dos valores do coeficiente"Transform" de pelo menos um bloco anterior.
11. Método, de acordo com a reivindicação 10,CARACTERIZADO pelo fato de que variar adaptativamente a dis-posição é apenas com base na informação contida na parte denúcleo do fluxo de bits comprimido.
12. Método, de acordo com a reivindicação 1,CARACTERIZADO pelo fato de que compreende adicionalmente:variar adaptativamente a disposição aplicada a umbloco atual com base em uma característica de distribuiçãode probabilidade observada dos valores do coeficiente"Transform" em pelo menos um bloco anterior.
13. Método, de acordo com a reivindicação 12,CARACTERIZADO pelo fato de que variar adaptativamente a dis-posição compreende:contar as ocorrências de coeficientes "Transform"diferentes de zero no pelo menos um bloco anterior; eajustar o tamanho dos grupos de coeficiente nadisposição aplicada ao bloco atual com base da contagem doscoeficientes "Transform" sendo dotados de uma parte normali-zada diferente de zero no pelo menos um bloco anterior demaneira que seja mais provável produzir uma probabilidade dedistribuição da parte normalizada dos coeficientes "Trans-form" no bloco atual mais adequado para comprimir eficiente-mente a parte normalizada dos coeficientes "Transform" usan-do a codificação de extensão variável.
14. Método, de acordo com a reivindicação 13,CARACTERIZADO pelo fato de que variar adaptativamente a dis-posição compreende:ao detectar que uma tendência na contagem da partenormalizada diferente de zero dos coeficientes "Transform"está abaixo de um limiar, diminuir o tamanho dos grupos coe-ficientes de maneira que a probabilidade de distribuição daparte normalizada dos coeficientes "Transform" no bloco atu-al irá mais provavelmente conter um maior número de partesnormalizadas diferentes de zero; eao detectar que uma tendência na contagem da partenormalizada diferente de zero dos coeficientes "Transform"está acima de um limiar, aumentar o tamanho dos grupos coe-ficientes de maneira que a probabilidade de distribuição daparte normalizada dos coeficientes "Transform" no bloco atu-al irá mais provavelmente conter um menor número de partesnormalizadas diferentes de zero.
15. Codificador de meios digitais (400) e/ou deco-dificador (500), CARACTERIZADO pelo fato de que compreende:um buffer de armazenamento de dados para armazenardados de meios digitais (410, 420) a serem codificados e/oudecodificados;um processador (1210) programado para:variar adaptativamente (900, 1000) uma disposiçãode valores de coeficiente "Transform" em grupos de coefici-entes múltiplos para um bloco atual dos dados de meios digi-tais em uma característica observada (920) de uma probabili-dade de distribuição de coeficientes "Transform" anteriores;determinar uma parte normalizada (620) e a partede endereço (625) dos coeficientes "Transform" (615) do blo-co atual, onde a parte normalizada é indicativa de um grupode coeficiente contendo o valor do coeficiente "Transform"respectivo, e a parte de endereço diferencia o valor do coe-ficiente "Transform" no grupo de coeficiente;codificar (720) / decodificar (810) a parte norma-lizada usando uma codificação de extensão variável; ecodificar (740)/decodificar (820) a parte de ende-reço usando uma codificação de extensão fixa.
16. Codificador e/ou decodificador de meios digi-tal, de acordo com a reivindicação 15, CARACTERIZADO pelofato de que o processador é adicionalmente programado para:codificar / decodificar as partes normalizadas doscoeficientes "Transform" em uma parte de núcleo de um fluxode bits comprimido de acordo com uma estrutura sintática defluxo de bits de múltiplas camadas sendo dotada de uma partede núcleo e de uma camada opcional, onde a parte de núcleocontém informação suficiente para decodificar e pelo menosaproximadamente reconstruir os dados de meios digitais semreferência à informação na camada opcional; ecodificar / decodificar as partes de endereço doscoeficientes "Transform" na camada opcional.
17. Codificador e/ou decodificador de meios digi-tais, de acordo com a reivindicação 15, CARACTERIZADO pelofato de que a disposição dos valores do coeficiente é porgrupos de coeficiente sendo dotados de um tamanho em númerode coeficientes igual a uma potência de dois, e onde o pro-cessador sendo programado para determinar a parte normaliza-da e a parte de endereço compreende a quantização do proces-sador do coeficiente "Transform" pela potência de dois paradeterminar a parte normalizada, e tomando um remanescente dadivisão de inteiro do coeficiente "Transform" pela potênciade dois como a parte de endereço.
18. Codificador e/ou decodificador de meios digi-tais, de acordo com a reivindicação 15, CARACTERIZADO pelofato de que o processador é adicionalmente programado paracodificar / decodificar um sinal do coeficiente "Transform"apenas quando a parte normalizada é zero e a parte de ende-reço é diferente de zero.
19. Pelo menos um meio de gravação legível de com-putador portando um programa de processamento de meios digi-tais executáveis de computador nos mesmos para realizar ummétodo de processamento dos dados de meios digitais, o méto-do sendo CARACTERIZADO pelo fato de que compreende:variar adaptativamente (900, 1000) uma disposiçãodos valores do coeficiente "Transform" em grupos de coefici-entes múltiplos para um bloco atual de dados de meios digi-tais baseados em uma característica observada (920, 930) deuma probabilidade de distribuição de coeficientes "Trans-forra" anteriores;determinar uma parte normalizada (620) e uma partede endereço (6250) de coeficientes "Transform" de um blocoatual, onde a parte normalizada é indicativa de um grupo decoeficiente contendo o valor do coeficiente "Transform" res-pectivo, e a parte de endereço diferencia o valor do coefi-ciente "Transform" no grupo de coeficiente;codificar (720) ou decodificar (810) a parte nor-malizada usando uma codificação de extensão variável; ecodificar (740) ou decodificar (820) a parte deendereço usando uma codificação de extensão fixa.
20. O pelo menos um meio de gravação legível decomputador, de acordo com a reivindicação 19, CARACTERIZADOpelo fato de que o método compreende adicionalmente:codificar ou decodificar as partes normalizadasdos coeficientes "Transform" em uma parte de núcleo de umfluxo de bits comprimido de acordo com uma estrutura sintá-tica de fluxo de bits de múltiplas camadas sendo dotada deuma parte de núcleo e de uma camada opcional, onde a partenúcleo contém informação suficiente para decodificar e pelomenos reconstruir aproximadamente os dados de meios digitaissem referência à informação na camada opcional; ecodificar ou decodificar as partes de endereço doscoeficientes "Transform" na camada opcional.
BRPI0614768-2A 2005-08-12 2006-08-03 codificação e decodificação adaptável de coeficientes de variação ampla BRPI0614768A2 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/203.010 2005-08-12
US11/203,010 US7565018B2 (en) 2005-08-12 2005-08-12 Adaptive coding and decoding of wide-range coefficients
PCT/US2006/030566 WO2007021616A2 (en) 2005-08-12 2006-08-03 Adaptive coding and decoding of wide-range coefficients

Publications (1)

Publication Number Publication Date
BRPI0614768A2 true BRPI0614768A2 (pt) 2011-04-12

Family

ID=37742601

Family Applications (1)

Application Number Title Priority Date Filing Date
BRPI0614768-2A BRPI0614768A2 (pt) 2005-08-12 2006-08-03 codificação e decodificação adaptável de coeficientes de variação ampla

Country Status (16)

Country Link
US (1) US7565018B2 (pt)
EP (1) EP1913522A4 (pt)
KR (1) KR101247011B1 (pt)
CN (1) CN101243459B (pt)
AU (1) AU2006280181B2 (pt)
BR (1) BRPI0614768A2 (pt)
CA (1) CA2618564C (pt)
IL (1) IL188963A (pt)
MX (1) MX2008002069A (pt)
MY (1) MY140299A (pt)
NO (1) NO20080492L (pt)
NZ (1) NZ565842A (pt)
RU (1) RU2433479C2 (pt)
TW (1) TWI428837B (pt)
WO (1) WO2007021616A2 (pt)
ZA (1) ZA200801436B (pt)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7933337B2 (en) * 2005-08-12 2011-04-26 Microsoft Corporation Prediction of transform coefficients for image compression
US8184710B2 (en) * 2007-02-21 2012-05-22 Microsoft Corporation Adaptive truncation of transform coefficient data in a transform-based digital media codec
US20080219326A1 (en) * 2007-03-09 2008-09-11 John Santhoff Wireless multimedia link
KR101375662B1 (ko) * 2007-08-06 2014-03-18 삼성전자주식회사 이미지 데이터 압축 방법 및 장치
US8509555B2 (en) * 2008-03-12 2013-08-13 The Boeing Company Error-resilient entropy coding for partial embedding and fine grain scalability
TWI370690B (en) * 2008-03-21 2012-08-11 Novatek Microelectronics Corp Method and apparatus for generating coded block pattern for highpass coeffecients
TWI349487B (en) * 2008-03-25 2011-09-21 Novatek Microelectronics Corp Entropy encoding circuit and encoding method thereof
TWI376959B (en) * 2008-05-02 2012-11-11 Novatek Microelectronics Corp Entropy decoding circuit, entropy decoding method, and entropy decoding method using a pipeline manner
EP2211335A1 (en) 2009-01-21 2010-07-28 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus, method and computer program for obtaining a parameter describing a variation of a signal characteristic of a signal
US8842940B1 (en) * 2009-10-02 2014-09-23 Rockwell Collins, Inc. Multiprocessor discrete wavelet transform
WO2011126272A2 (en) * 2010-04-05 2011-10-13 Samsung Electronics Co., Ltd. Method and apparatus for encoding video by using dynamic-range transformation, and method and apparatus for decoding video by using dynamic-range transformation
KR101160272B1 (ko) * 2010-06-25 2012-06-27 김정태 비디오에 대한 인덱스의 생성 및 재생 방법, 및 프로그램을 기록한 컴퓨터 판독가능 매체
US20130223528A1 (en) * 2010-11-15 2013-08-29 Electronics And Telecommunications Research Institute Method and apparatus for parallel entropy encoding/decoding
HUE046377T2 (hu) 2011-01-14 2020-03-30 Ge Video Compression Llc Entrópia kódoló és dekódoló séma
US9378560B2 (en) * 2011-06-17 2016-06-28 Advanced Micro Devices, Inc. Real time on-chip texture decompression using shader processors
GB2492394B (en) * 2011-06-30 2014-11-05 Canon Kk Method of entropy encoding and decoding an image, and corresponding devices
US11039138B1 (en) 2012-03-08 2021-06-15 Google Llc Adaptive coding of prediction modes using probability distributions
CN105787908B (zh) * 2012-08-08 2019-05-14 杜比实验室特许公司 用于高动态范围图像的图像处理方法、装置及存储介质
CN102843562B (zh) * 2012-08-21 2016-03-02 西北农林科技大学 一种分组容错熵编码的方法
TW201445454A (zh) * 2013-05-22 2014-12-01 Asustek Comp Inc 提升人臉辨識率的影像處理系統及影像處理方法
WO2015134198A1 (en) * 2014-02-21 2015-09-11 Silicon Image, Inc. Adaptive processing of video streams with reduced color resolution
USRE48920E1 (en) * 2014-02-21 2022-02-01 Lattice Semiconductor Corporation Adaptive processing of video streams with reduced color resolution
CN109036441B (zh) 2014-03-24 2023-06-06 杜比国际公司 对高阶高保真立体声信号应用动态范围压缩的方法和设备
US9800898B2 (en) 2014-10-06 2017-10-24 Microsoft Technology Licensing, Llc Syntax structures indicating completion of coded regions
US10771783B2 (en) * 2018-06-11 2020-09-08 Google Llc Transforms for large video and image blocks
CN110688092B (zh) * 2019-09-04 2021-08-17 湖南遥昇通信技术有限公司 一种随机数生成方法、装置、设备及存储介质
US11373276B2 (en) * 2020-01-09 2022-06-28 Tencent America LLC Techniques and apparatus for alphabet-partition coding of transform coefficients for point cloud compression
CN113822371A (zh) * 2021-09-30 2021-12-21 支付宝(杭州)信息技术有限公司 训练分组模型,以及对时序数据进行分组的方法和装置

Family Cites Families (129)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4420771A (en) 1981-02-09 1983-12-13 Bell Telephone Laboratories, Incorporated Technique for encoding multi-level signals
JPH0821863B2 (ja) * 1985-04-13 1996-03-04 キヤノン株式会社 データ処理方法
US4749983A (en) * 1986-04-29 1988-06-07 International Business Machines Corporation Compression of multilevel signals
ATE108587T1 (de) 1986-09-13 1994-07-15 Philips Nv Verfahren und schaltungsanordung zur bitratenreduktion.
US4730348A (en) 1986-09-19 1988-03-08 Adaptive Computer Technologies Adaptive data compression system
US4698672A (en) 1986-10-27 1987-10-06 Compression Labs, Inc. Coding system for reducing redundancy
US4968135A (en) 1987-08-17 1990-11-06 Digital Equipment Corporation System for producing pixel image data from CCITT encoded pixel data
US4792981A (en) 1987-09-21 1988-12-20 Am International, Inc. Manipulation of run-length encoded images
US4813056A (en) 1987-12-08 1989-03-14 General Electric Company Modified statistical coding of digital signals
EP0339589A3 (en) 1988-04-28 1992-01-02 Sharp Kabushiki Kaisha Orthogonal transform coding system for image data
US5043919A (en) 1988-12-19 1991-08-27 International Business Machines Corporation Method of and system for updating a display unit
DE3943880B4 (de) 1989-04-17 2008-07-17 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Digitales Codierverfahren
FR2646978B1 (fr) 1989-05-11 1991-08-23 France Etat Procede et installation a codage de signaux sonores
US5179442A (en) 1989-06-02 1993-01-12 North American Philips Corporation Method and apparatus for digitally processing a high definition television augmentation signal
US5128758A (en) 1989-06-02 1992-07-07 North American Philips Corporation Method and apparatus for digitally processing a high definition television augmentation signal
US5270832A (en) 1990-03-14 1993-12-14 C-Cube Microsystems System for compression and decompression of video data using discrete cosine transform and coding techniques
US5146324A (en) 1990-07-31 1992-09-08 Ampex Corporation Data compression using a feedforward quantization estimator
JPH04199981A (ja) 1990-11-29 1992-07-21 Nec Corp 即時処理型1次元符号器
US5266941A (en) 1991-02-15 1993-11-30 Silicon Graphics, Inc. Apparatus and method for controlling storage of display information in a computer system
JP2670201B2 (ja) * 1991-08-30 1997-10-29 富士写真フイルム株式会社 画像データ圧縮符号化装置および方法
JP2586260B2 (ja) 1991-10-22 1997-02-26 三菱電機株式会社 適応的ブロッキング画像符号化装置
US5227878A (en) 1991-11-15 1993-07-13 At&T Bell Laboratories Adaptive coding and decoding of frames and fields of video
DE69228983T2 (de) 1991-12-18 1999-10-28 Koninkl Philips Electronics Nv System zum Übertragen und/oder Speichern von Signalen von texturierten Bildern
CA2090052C (en) 1992-03-02 1998-11-24 Anibal Joao De Sousa Ferreira Method and apparatus for the perceptual coding of audio signals
US5227788A (en) 1992-03-02 1993-07-13 At&T Bell Laboratories Method and apparatus for two-component signal compression
EP0559348A3 (en) 1992-03-02 1993-11-03 AT&T Corp. Rate control loop processor for perceptual encoder/decoder
KR950010913B1 (ko) 1992-07-23 1995-09-25 삼성전자주식회사 가변장부호화 및 복호화시스템
US5714950A (en) 1992-07-23 1998-02-03 Samsung Electronics Co., Ltd. System for variable-length-coding and variable-length-decoding digitaldata
JP3348310B2 (ja) 1992-09-28 2002-11-20 ソニー株式会社 動画像符号化方法および動画像符号化装置
CA2107727C (en) 1992-10-07 1999-06-01 Hiroaki Ueda Synchronous compression and reconstruction system
US5982437A (en) 1992-10-26 1999-11-09 Sony Corporation Coding method and system, and decoding method and system
JP2959916B2 (ja) 1992-10-28 1999-10-06 松下電器産業株式会社 デジタル・ビデオ・コーダ用のバーサタイルなエスケープ・ラン・レベル・コーダ
KR0166722B1 (ko) 1992-11-30 1999-03-20 윤종용 부호화 및 복호화방법 및 그 장치
US5467134A (en) 1992-12-22 1995-11-14 Microsoft Corporation Method and system for compressing video data
US5535305A (en) 1992-12-31 1996-07-09 Apple Computer, Inc. Sub-partitioned vector quantization of probability density functions
US5400075A (en) 1993-01-13 1995-03-21 Thomson Consumer Electronics, Inc. Adaptive variable length encoder/decoder
US5544286A (en) 1993-01-29 1996-08-06 Microsoft Corporation Digital video data compression technique
TW224553B (en) 1993-03-01 1994-06-01 Sony Co Ltd Method and apparatus for inverse discrete consine transform and coding/decoding of moving picture
US5376968A (en) 1993-03-11 1994-12-27 General Instrument Corporation Adaptive compression of digital video data using different modes such as PCM and DPCM
US5408234A (en) 1993-04-30 1995-04-18 Apple Computer, Inc. Multi-codebook coding process
ATE211326T1 (de) 1993-05-31 2002-01-15 Sony Corp Verfahren und vorrichtung zum kodieren oder dekodieren von signalen und aufzeichnungsmedium
US5664057A (en) 1993-07-07 1997-09-02 Picturetel Corporation Fixed bit rate speech encoder/decoder
KR0155784B1 (ko) 1993-12-16 1998-12-15 김광호 영상데이타의 적응형 가변장 부호화/복호화방법
US5504591A (en) 1994-04-25 1996-04-02 Microsoft Corporation System and method for compressing graphic images
US5457495A (en) 1994-05-25 1995-10-10 At&T Ipm Corp. Adaptive video coder with dynamic bit allocation
US6141446A (en) * 1994-09-21 2000-10-31 Ricoh Company, Ltd. Compression and decompression system with reversible wavelets and lossy reconstruction
US6195465B1 (en) 1994-09-21 2001-02-27 Ricoh Company, Ltd. Method and apparatus for compression using reversible wavelet transforms and an embedded codestream
US5568167A (en) 1994-09-23 1996-10-22 C-Cube Microsystems, Inc. System for providing antialiased video overlays
JP3474005B2 (ja) 1994-10-13 2003-12-08 沖電気工業株式会社 動画像符号化方法及び動画像復号方法
US5802213A (en) 1994-10-18 1998-09-01 Intel Corporation Encoding video signals using local quantization levels
ATE214524T1 (de) 1994-11-04 2002-03-15 Koninkl Philips Electronics Nv Kodierung und dekodierung eines breitbandigen digitalen informationssignals
JP3371590B2 (ja) * 1994-12-28 2003-01-27 ソニー株式会社 高能率符号化方法及び高能率復号化方法
US5574449A (en) 1995-02-24 1996-11-12 Intel Corporation Signal processing with hybrid variable-length and entropy encodidng
US5991451A (en) 1995-03-23 1999-11-23 Intel Corporation Variable-length encoding using code swapping
US5884269A (en) 1995-04-17 1999-03-16 Merging Technologies Lossless compression/decompression of digital audio data
US5864711A (en) 1995-07-05 1999-01-26 Microsoft Corporation System for determining more accurate translation between first and second translator, and providing translated data to second computer if first translator is more accurate
US5825830A (en) 1995-08-17 1998-10-20 Kopf; David A. Method and apparatus for the compression of audio, video or other data
US5933535A (en) 1995-10-05 1999-08-03 Microsoft Corporation Object-based video compression process employing arbitrarily-shaped features
US5819215A (en) 1995-10-13 1998-10-06 Dobson; Kurt Method and apparatus for wavelet based data compression having adaptive bit rate control for compression of digital audio or other sensory data
US5889891A (en) 1995-11-21 1999-03-30 Regents Of The University Of California Universal codebook vector quantization with constrained storage
JP3283413B2 (ja) * 1995-11-30 2002-05-20 株式会社日立製作所 符号化復号方法、符号化装置および復号装置
US5956674A (en) 1995-12-01 1999-09-21 Digital Theater Systems, Inc. Multi-channel predictive subband audio coder using psychoacoustic adaptive bit allocation in frequency, time and over the multiple channels
JPH09162748A (ja) 1995-12-01 1997-06-20 Fujitsu Ltd データ符号化方法、データ復号方法、データ圧縮装置、データ復元装置、及びデータ圧縮・復元システム
US5831559A (en) 1996-01-24 1998-11-03 Intel Corporation Encoding/decoding video signals using multiple run-val mapping tables
US6957350B1 (en) * 1996-01-30 2005-10-18 Dolby Laboratories Licensing Corporation Encrypted and watermarked temporal and resolution layering in advanced television
US5682152A (en) 1996-03-19 1997-10-28 Johnson-Grace Company Data compression using adaptive bit allocation and hybrid lossless entropy encoding
US5812971A (en) 1996-03-22 1998-09-22 Lucent Technologies Inc. Enhanced joint stereo coding method using temporal envelope shaping
US6215910B1 (en) 1996-03-28 2001-04-10 Microsoft Corporation Table-based compression with embedded coding
US5850482A (en) 1996-04-17 1998-12-15 Mcdonnell Douglas Corporation Error resilient method and apparatus for entropy coding
KR100324610B1 (ko) 1996-05-28 2002-02-27 모리시타 요이찌 화상예측 복호화장치 및 방법
DE19628292B4 (de) * 1996-07-12 2007-08-02 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Verfahren zum Codieren und Decodieren von Stereoaudiospektralwerten
DE19628293C1 (de) 1996-07-12 1997-12-11 Fraunhofer Ges Forschung Codieren und Decodieren von Audiosignalen unter Verwendung von Intensity-Stereo und Prädiktion
US5828426A (en) 1996-08-20 1998-10-27 Samsung Electronics Co., Ltd. Apparatus for decoding variable length coded data of both MPEG-1 and MPEG-2 standards
JP3318825B2 (ja) * 1996-08-20 2002-08-26 ソニー株式会社 デジタル信号符号化処理方法、デジタル信号符号化処理装置、デジタル信号記録方法、デジタル信号記録装置、記録媒体、デジタル信号伝送方法及びデジタル信号伝送装置
US6233017B1 (en) 1996-09-16 2001-05-15 Microsoft Corporation Multimedia compression system with adaptive block sizes
US5748789A (en) 1996-10-31 1998-05-05 Microsoft Corporation Transparent block skipping in object-based video coding systems
DE69739536D1 (de) 1996-11-06 2009-09-24 Panasonic Corp Methode zur Bilddekodierung mit Kodes variabler Länge
KR100518640B1 (ko) 1996-11-11 2005-12-14 코닌클리케 필립스 일렉트로닉스 엔.브이. 라이스인코더/디코더를사용한데이터압축/복원장치및방법
JP3484310B2 (ja) 1997-01-17 2004-01-06 松下電器産業株式会社 可変長符号器
NL1005084C2 (nl) 1997-01-24 1998-07-27 Oce Tech Bv Werkwijze voor het uitvoeren van een beeldbewerkingsoperatie op looplengte gecodeerde bitmaps.
US6038536A (en) 1997-01-31 2000-03-14 Texas Instruments Incorporated Data compression using bit change statistics
US6272175B1 (en) 1997-02-13 2001-08-07 Conexant Systems, Inc. Video signal coding systems and processes using adaptive quantization
US5974184A (en) 1997-03-07 1999-10-26 General Instrument Corporation Intra-macroblock DC and AC coefficient prediction for interlaced digital video
US6005980A (en) 1997-03-07 1999-12-21 General Instrument Corporation Motion estimation and compensation of video object planes for interlaced digital video
FI114248B (fi) * 1997-03-14 2004-09-15 Nokia Corp Menetelmä ja laite audiokoodaukseen ja audiodekoodaukseen
US6728775B1 (en) 1997-03-17 2004-04-27 Microsoft Corporation Multiple multicasting of multimedia streams
US6404813B1 (en) * 1997-03-27 2002-06-11 At&T Corp. Bidirectionally predicted pictures or video object planes for efficient and flexible video coding
US6259810B1 (en) 1997-04-15 2001-07-10 Microsoft Corporation Method and system of decoding compressed image data
US5883633A (en) 1997-04-15 1999-03-16 Microsoft Corporation Method and system of variable run length image encoding using sub-palette
US6580834B2 (en) * 1997-05-30 2003-06-17 Competitive Technologies Of Pa, Inc. Method and apparatus for encoding and decoding signals
KR100540275B1 (ko) * 1997-07-11 2006-01-10 미디어텍 인크. 멀티스케일 제로트리 엔트로피 인코딩용 장치 및 방법
DE19730129C2 (de) * 1997-07-14 2002-03-07 Fraunhofer Ges Forschung Verfahren zum Signalisieren einer Rauschsubstitution beim Codieren eines Audiosignals
US6421738B1 (en) * 1997-07-15 2002-07-16 Microsoft Corporation Method and system for capturing and encoding full-screen video graphics
JPH11161782A (ja) * 1997-11-27 1999-06-18 Seiko Epson Corp カラー画像の符号化方法およびその符号化装置ならびにカラー画像の復号化方法およびその復号化装置
US6111914A (en) 1997-12-01 2000-08-29 Conexant Systems, Inc. Adaptive entropy coding in adaptive quantization framework for video signal coding systems and processes
US5946043A (en) 1997-12-31 1999-08-31 Microsoft Corporation Video coding using adaptive coding of block parameters for coded/uncoded blocks
US6226407B1 (en) 1998-03-18 2001-05-01 Microsoft Corporation Method and apparatus for analyzing computer screens
US6054943A (en) 1998-03-25 2000-04-25 Lawrence; John Clifton Multilevel digital information compression based on lawrence algorithm
US7263127B1 (en) 1998-04-02 2007-08-28 Intel Corporation Method and apparatus for simplifying frame-based motion estimation
JP2002518916A (ja) * 1998-06-19 2002-06-25 イクエーター テクノロジーズ インコーポレイテッド 第1の解像度を有する符号化された形式の画像を第2の解像度を有するデコードされた形式の画像に直接にデコードする回路及び方法
JP3413720B2 (ja) * 1998-06-26 2003-06-09 ソニー株式会社 画像符号化方法及び装置、並びに画像復号方法及び装置
US6253165B1 (en) 1998-06-30 2001-06-26 Microsoft Corporation System and method for modeling probability distribution functions of transform coefficients of encoded signal
DE19840835C2 (de) * 1998-09-07 2003-01-09 Fraunhofer Ges Forschung Vorrichtung und Verfahren zum Entropiecodieren von Informationswörtern und Vorrichtung und Verfahren zum Decodieren von Entropie-codierten Informationswörtern
JP3723740B2 (ja) * 1998-10-06 2005-12-07 松下電器産業株式会社 ロスレス圧縮符号方法とその装置およびロスレス圧縮復号方法とその装置
US6300888B1 (en) 1998-12-14 2001-10-09 Microsoft Corporation Entrophy code mode switching for frequency-domain audio coding
US6404931B1 (en) 1998-12-14 2002-06-11 Microsoft Corporation Code book construction for variable to variable length entropy encoding
US6377930B1 (en) 1998-12-14 2002-04-23 Microsoft Corporation Variable to variable length entropy encoding
US6223162B1 (en) 1998-12-14 2001-04-24 Microsoft Corporation Multi-level run length coding for frequency-domain audio coding
US6100825A (en) 1998-12-31 2000-08-08 Microsoft Corporation Cluster-based data compression system and method
US6678419B1 (en) * 1999-03-26 2004-01-13 Microsoft Corporation Reordering wavelet coefficients for improved encoding
JP3762579B2 (ja) * 1999-08-05 2006-04-05 株式会社リコー デジタル音響信号符号化装置、デジタル音響信号符号化方法及びデジタル音響信号符号化プログラムを記録した媒体
US6573915B1 (en) * 1999-12-08 2003-06-03 International Business Machines Corporation Efficient capture of computer screens
EP1294197A4 (en) * 2000-05-23 2004-11-24 Matsushita Electric Ind Co Ltd METHOD AND DEVICE FOR CODING WITH VARIABLE LENGTH
US6501397B1 (en) * 2000-05-25 2002-12-31 Koninklijke Philips Electronics N.V. Bit-plane dependent signal compression
US6542863B1 (en) * 2000-06-14 2003-04-01 Intervideo, Inc. Fast codebook search method for MPEG audio encoding
US6683980B1 (en) * 2000-07-28 2004-01-27 Microsoft Corporation System and method for compressing data
US6925249B1 (en) * 2000-07-28 2005-08-02 Microsoft Corporation System and method for storing compressed data onto a storage medium
US6961685B2 (en) * 2000-09-19 2005-11-01 Sy Bon K Probability model selection using information-theoretic optimization criterion
US6650784B2 (en) * 2001-07-02 2003-11-18 Qualcomm, Incorporated Lossless intraframe encoding using Golomb-Rice
CN101448162B (zh) * 2001-12-17 2013-01-02 微软公司 处理视频图像的方法
US7016547B1 (en) * 2002-06-28 2006-03-21 Microsoft Corporation Adaptive entropy encoding/decoding for screen capture content
DE10236694A1 (de) * 2002-08-09 2004-02-26 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung und Verfahren zum skalierbaren Codieren und Vorrichtung und Verfahren zum skalierbaren Decodieren
US7328150B2 (en) * 2002-09-04 2008-02-05 Microsoft Corporation Innovations in pure lossless audio compression
US7433824B2 (en) * 2002-09-04 2008-10-07 Microsoft Corporation Entropy coding by adapting coding between level and run-length/level modes
US7424434B2 (en) * 2002-09-04 2008-09-09 Microsoft Corporation Unified lossy and lossless audio compression
US6795584B2 (en) * 2002-10-03 2004-09-21 Nokia Corporation Context-based adaptive variable length coding for adaptive block transforms
AU2003290536A1 (en) * 2002-10-23 2004-05-13 Divxnetworks, Inc. Method and system for supercompression of compressed digital video
US7324927B2 (en) * 2003-07-03 2008-01-29 Robert Bosch Gmbh Fast feature selection method and system for maximum entropy modeling
US7724827B2 (en) * 2003-09-07 2010-05-25 Microsoft Corporation Multi-layer run level encoding and decoding

Also Published As

Publication number Publication date
KR101247011B1 (ko) 2013-03-25
CN101243459A (zh) 2008-08-13
KR20080044835A (ko) 2008-05-21
WO2007021616A2 (en) 2007-02-22
US7565018B2 (en) 2009-07-21
NO20080492L (no) 2008-05-09
ZA200801436B (en) 2010-10-27
IL188963A (en) 2011-06-30
US20070036443A1 (en) 2007-02-15
RU2433479C2 (ru) 2011-11-10
TW200719248A (en) 2007-05-16
NZ565842A (en) 2010-11-26
AU2006280181A1 (en) 2007-02-22
IL188963A0 (en) 2008-08-07
CA2618564A1 (en) 2007-02-22
TWI428837B (zh) 2014-03-01
AU2006280181B2 (en) 2011-03-31
MX2008002069A (es) 2008-04-16
EP1913522A4 (en) 2011-07-06
RU2008105028A (ru) 2009-08-20
CA2618564C (en) 2014-04-08
MY140299A (en) 2009-12-31
CN101243459B (zh) 2010-12-29
EP1913522A2 (en) 2008-04-23
WO2007021616A3 (en) 2007-11-29

Similar Documents

Publication Publication Date Title
BRPI0614768A2 (pt) codificação e decodificação adaptável de coeficientes de variação ampla
JP6054920B2 (ja) 柔軟量子化
KR101550166B1 (ko) 변환-기반 디지털 미디어 코덱에서의 계산 복잡도 및 정밀도 제어
TWI431948B (zh) 轉換區塊之效率編碼和解碼
KR101213911B1 (ko) Simd 중복 변환-기반 디지털 미디어 인코딩/디코딩
CA2617632C (en) Prediction of transform coefficients for image compression
US8184710B2 (en) Adaptive truncation of transform coefficient data in a transform-based digital media codec
BRPI0506084B1 (pt) Transformada reversível para compactação de dados bidimensionaiscom perdas e sem perdas.
US7379500B2 (en) Low-complexity 2-power transform for image/video compression
KR20190040063A (ko) 인덱스 코딩 및 비트 스케줄링을 갖는 양자화기
Al-Khafaji Image compression based on quadtree and polynomial
Hussain et al. A pixel based method for image compression
Devi JPEG Image Compression Using Various Algorithms: A Review
Brahimi Contribution to Data Compression
Yang et al. Early detection of all-zero coefficients in H. 264 based on DCT coefficients distribution
KR20050061448A (ko) 부호기 내에서 데이터를 통신하는 방법

Legal Events

Date Code Title Description
B25A Requested transfer of rights approved

Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC (US)

B07A Application suspended after technical examination (opinion) [chapter 7.1 patent gazette]
B09B Patent application refused [chapter 9.2 patent gazette]
B09B Patent application refused [chapter 9.2 patent gazette]