BRPI0910796A2 - codificador de áudio e decodificador de áudio - Google Patents
codificador de áudio e decodificador de áudio Download PDFInfo
- Publication number
- BRPI0910796A2 BRPI0910796A2 BRPI0910796-7A BRPI0910796A BRPI0910796A2 BR PI0910796 A2 BRPI0910796 A2 BR PI0910796A2 BR PI0910796 A BRPI0910796 A BR PI0910796A BR PI0910796 A2 BRPI0910796 A2 BR PI0910796A2
- Authority
- BR
- Brazil
- Prior art keywords
- context
- encoding
- coefficient
- audio
- encoded
- Prior art date
Links
- 230000005236 sound signal Effects 0.000 claims abstract description 17
- 230000003595 spectral effect Effects 0.000 claims description 91
- 238000009826 distribution Methods 0.000 claims description 36
- 238000000034 method Methods 0.000 claims description 32
- 238000004590 computer program Methods 0.000 claims description 5
- 238000009827 uniform distribution Methods 0.000 claims description 4
- 239000002131 composite material Substances 0.000 claims 1
- 210000002268 wool Anatomy 0.000 claims 1
- 238000013507 mapping Methods 0.000 description 19
- 230000006978 adaptation Effects 0.000 description 10
- 230000001186 cumulative effect Effects 0.000 description 10
- 230000007246 mechanism Effects 0.000 description 7
- 230000003044 adaptive effect Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 230000009467 reduction Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000013213 extrapolation Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 2
- 230000002250 progressing effect Effects 0.000 description 2
- 238000013139 quantization Methods 0.000 description 2
- 239000011800 void material Substances 0.000 description 2
- 241001408627 Agriopis marginaria Species 0.000 description 1
- 238000012935 Averaging Methods 0.000 description 1
- 241000237519 Bivalvia Species 0.000 description 1
- 235000001018 Hibiscus sabdariffa Nutrition 0.000 description 1
- 240000004153 Hibiscus sabdariffa Species 0.000 description 1
- 101100242890 Quaranfil virus (isolate QrfV/Tick/Afghanistan/EG_T_377/1968) PA gene Proteins 0.000 description 1
- 101150027881 Segment-3 gene Proteins 0.000 description 1
- 229910000831 Steel Inorganic materials 0.000 description 1
- 101100242891 Thogoto virus (isolate SiAr 126) Segment 3 gene Proteins 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 150000001768 cations Chemical class 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000007865 diluting Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000007373 indentation Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 239000000376 reactant Substances 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 239000010959 steel Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/02—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/02—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
- G10L19/022—Blocking, i.e. grouping of samples in time; Choice of analysis windows; Overlap factoring
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion 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/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion 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/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/3059—Digital compression and data reduction techniques where the original information is represented by a subset or similar information, e.g. lossy compression
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion 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/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/40—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
- H03M7/4006—Conversion to or from arithmetic code
- H03M7/4012—Binary arithmetic codes
- H03M7/4018—Context adapative binary arithmetic codes [CABAC]
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Theoretical Computer Science (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Reduction Or Emphasis Of Bandwidth Of Signals (AREA)
- Stereo-Broadcasting Methods (AREA)
Abstract
CODIFICADOR DE ÁUDIO E DECODIFICADOR DE ÁUDIO.
Um decodificador de áudio (110) para segmentos de codificação de coeficientes, os segmentos de coeficientes representando resoluções diferentes de tempo e frequência de um sinal de áudio amostrado, o codificador de áudio (100) compreendendo um processador (110) para derivar um contexto de codificação para o coeficiente codificado atual baseado em um coeficiente codificado anterior de um segmento anterior, o coeficiente previamente codificado representando uma diferente resolução de tempo ou frequência do que o coeficiente codificado atual. O codificador de áudio (100) compreende ainda um codificação de entropia (120) para codificação de entropia do atual coeficiente baseado no contexto de codificação para obter um fluxo de áudio codificado.
Description
A')._g "CODIFICADOR DE ÁUDIO E DECODIFICADOR DE ÁUDIO" E,spEcIFIcAao A presente invenção está no campo de codificação de áudio, especialmente no campo de codificação de entropia 5 baseada em contexto.
Os conceitos tradicionais de codíficação de áudio incluem um esquema de codificação de entropia para redução de redundância. Tipicamente, a codificação de entropia é aplicada à coeficientes espectrais quantizados para esquemas de codificação c' 10 baseados ern domínio de frequência ou amostras de domínio de tempo quantizadas para esquemas de codificação baseados em domínio de
Q tempo. Esses esquemas de codificação de entropia tipicamente fazem ( uso —da -transmi"ssão "dè "uma "jÊ)al"avrã-c"óaigo em combinação com um índice de codebook de acordo, que permite a um decodificador 15 procurar uma certa pág,ina _ do _cod.ebo,o.k ÊZara_decodi.f icar uma -palavra - - - de informação codificada correspondente a palaY=a=códígo transmitida eni tal página. Em alguns conceitos de codificação, a transmissão do índice do codebook pode não ser obrigatória, por exemplo, para casos em que o índice do codebook pode ser 20 deterrninado a partir do contexto e um símbolo, que é, por exemplo, codificado por entropia COIllO descrito em Meine , Edler, "Improved Quantization and Lossless Coding for Subband Audio Coding" e Meine, '"Vektorquantisierung und kontextabhàngige arithmetische Codierung für MPEG-4 AAC", Dissertação, Gottfried Wílhelm Leibnitz 25 Universitàt Hannover, Hanover 2007.
para codificação de áudio baseada em domínio espectral ou de frequência, um contexto pode descrever símbolos ou |0 0 0 " 0 + 0 " " estatísticas, como por exemplo, coefícientes
:> b·) 2 espectrais quantizados, que são anteriores em tempo e/ou frequência. Em alguns dos conceitos convencionais, esses símbolos podem estar disponíveis em ambos, o lado do codificador e do decodificador, e baseado nesses símbolos, um codebook ou contexto 5 pode ser determinado de forma síncrona no lado do decodificador e do codificador.
A Fig . 9 deve ilustrar um exemplo de um contexto e suas dependências. A Fig. 9 niostra um plano de frequência de tempo, no qual um número de símbolos é indicado. Símbolo Sn,mdenota 't' 10 um símbolo no tempo n e frequência m. A Fig. 9 ilustra que para codificar urn certo símbolo, seu contexto é usado para determinar o 'i codebook associado. Por exemplo, para um símbolo SnO,m0, seriam =todos—sírnbo1os- com"— " -- "+ n < no e qualquer m, ou com n = nO e m < mO.
15 Em implementações _ p,rát,icas ,_ um _contexto não. é &, —— " . ;=— infinito, mas limitãdo. No exemplo descrito na Fig . 9 , o _c-o.ntexto para o s-ímbolo Sq,3 poderia ser, por exemplo, Sq, 2, Sq, 1, S-j ,5, S-j ,4 , S-j, 3, S-j ,2, S-j, l, S-2, 5, S-2,4, S-2, 3, S- 2, 2, S-2, 1 .
20 Para codificação de áudio baseada em frequência, variante de tempo, bancos de filtros adaptativos de sinal ou os chamados de transformações de bloco podem ser usados, como por exeinplo, descrito em Edler, B., "Codierung von Audiosignalen mit überlappender Transformation und adaptíven Fensterfunktionen", 25 Frequenz, Ausgabe 43, Setembro 1989.
Em outras palavras, mudanças de resolução de frequência/tempo podem ocorrer com o tempo dentro desses conceitos de codificação de áudio. Um conceito popular de codificação de
P'6 3 áudio é o chamado de AAC (AAC = Codíficação de Áudio Avançada), nesse caso dois comprimentos de bloco são usados, para quais são codificados por exerríplo tanto coeficientes de transformada de 128 ou 1024 representando os componentes de frequência de amostras de 5 domínio de tempo janeladas de 256 ou 2048, respectivamente.
Esses conceitos permitem uma comutação entre as resoluções diferentes, dependendo de certas características do sinal, como por exemplo ocorrência de transitórios ou tonalidade ou se o sinal lembra música ou fala, etc. No caso de comutação " 10 entre resoluções diferentes de tempo/frequência, como por exemplo entre tipos de diferentes de bloco AAC, o contexto não é éi' consistente. Os conceitos convencionais ou implementações no - -T — —estado -da _arte podêúi: utiii":ar"redefinição ãe contexto, ou seja, é basicamente alternado para um estado, no qual nenhum contexto está 15 disponível, no qual- _0 ,c.ont,ext.o é_ construído 'de sde o— gomeço. Essa- _'" abordagem pode funcionar de forma suf icientemente _ bem-,—po-r—ex-empl-o em AAC, já que garante ao menos dois longos blocos ou oito blocos curtos em sequência, onde pode presumir-se que comutação raramente ocorre .
20 Contudo, conceitos convencionais redefinindo o contexto são em geral sub-adequados em termos da eficiência da codificação, já que cada vez que o contexto é redefinido, a seleção do codebook subsequente é baseado nos valores, que são planejados como soluções de recuo para contexto desconhecido.
25 Geralmente, codebooks sub-adequados são, então, selecionados. O recuo na eficiência de codificação pode ser ínfima para casos que comutação ocorre raramente. Para um cenário, contudo, com mais comutação frequente, isso leva a uma perda sígnificativa da b'} 4 eficiência de codificação. De um lado, uma comutação mais frequente é fortemente desejada para taxas mais baixas de dados/taxas de amostragem, já que especialmente aqui, uma adaptação adequada do cornprimento da transformada para a 5 característica do sinal é desejada. Do outro lado, a eficiência de codificação diminui significativamente quando a comutação ocorre frequentemente.
É objeto da presente invenção fornecer um conceito para comutação entre comprímentos diferentes de " 10 transformada na codificação de áudio fornecendo uma eficiência aprimorada de codificação. 0 o objeto é alcançado por um codificador de áudio 'q " - -de —acordo "com" "i "reivinaicãçãS 1"," um método para codificação de áudio de acordo com a reivindicação 8, um decodificador de áudio 15 para reivindicação 9, _ e _uin _nétodo_ para—decod-i-f icação 'de--áudio-'"de " " " acordo com reivindicação 16.
A presente invenção é baseada na descoberta que em codificação baseada em contexto como, por exemplo, codificação de entropia baseada em contexto, que pode ser aplicada à 20 resoluções diferentes de tempo/frequência, um mecanismo de mapearnento de contexto pode ser usado, no caso de mudança com o tempo da resolução de tempo/frequência, com isso alcançando uma eficiência melhorada de codificação. É uma descoberta da presente invenção que quando a comutação entre resoluções díferentes de 25 frequência ou tempo, contextos para coeficientes tendo que as novas resoluções podem ser derivadas de coeficientes tendo as velhas resoluções. É uma descoberta da presente invenção que, por exemplo, interpolação, extrapolação, sub-amostragem, downsampling,
k 5 upsampling, etc, podem ser usados para adaptação de contexto e/ou derivação quando acontece a cornutação de resoluções de tempo/frequência na codificação de áudio.
As materializações da presente invenção fornecem 5 um método de mapeamento, que mapeia a frequência ou coeficientes espectrais de um contexto arrnazenado, que se refere a uma resolução velha, para a resolí'ção de frequência de um contexto atual ou uma estrutura atual. Em outras palavras, as informações de contexto anterior podem ser utilizadas para determinação do " 10 codebook, ou seja, para obter informações sobre novo contexto .
Materializações podem com isso permitir uma troca maís frequente } do cornprimento do bloco e., portanto, uma mel-hor adaptação às -b " " " — - .— CãWact"erí5ticas "do sinal sem perder a èficiêneía de codificação.
Manifestações da prese·nte invenção serãò 15 _ det.alh.ada.s com as f igur=—d'e—acompaa.hIàenb0, -êrrt' -que_ % "" " " " = " Fig. 1 MQs-=a -um ma-È>MaLÊzação d-e um " codificador de áudio; Fig. 2 MostEa um materialização de um decodificador de áudi-o; 20 Fig. 3 Mostra uma materialização para um upsampling de contexto Fig. 4 Mostra uma materialização para um downsampling de contexto; Fig. 5 Ilustra resoluções de tempo e 25 frequência da comutação de áudio; Fig. 6 Ilustra uma implementação de uma materialização;
,q 4) 6 Fig . 7a Mostra um fluxograma de uma materialização de um método para codificação; Fig. 7b Ilustra o procedimento de atualização do contexto geral de uma materialização; 5 Fig. 7c Ilustra o procedimento de atualização do contexto de urna materialização para mudanças de resolução; Fig. 8 Mostra um fluxograma de uma rnaterialização de um método para codificação; e Fig. 9 Mostra um esquema de codificação de ' 10 tempo frequência do estado da arte.
A Fig . 1 mostra uma inaterialização de um \ codificador de áudio 10 0 para os segrnentos de codificação de coefi'cientes, ""o"s" ' segmèn€os de coeficientes representando - _" g diferentes resoluções de tempo ou frequência de um sinal de áudio 15 amostrado. O codificador de _áudio 100_ dis.põe- de eàir -proces-s-ador" iro " " - para obter um contexto de cocíificaçã-Q -para um e-04ieie=e codificado de um segmento atual com base em um coeficiente previamente codificado de um segmento anterior, o coeficiente previamente codificado representando uma díferente resolução de 4, 20 tempo ou frequência do que o coeficiente codificado atual. A materialização do codíficador de áudio inclui ainda um codificador de entropia 120 para codificação de entropia do atual coefíciente baseado no contexto de codificação para obter um fluxo de áudio codificado.
25 Em materializações, OS coeficientes podem corresponder às amostras de áudio, amostras quantizadas de áudio, coeficientes espectrais ou de frequência, W escalonados, coeficientes filtrados ou transformados etc. ou
» C) 7 qualquer combinação destes.
Em materializações, o codificador de áudio 100 pode ainda compreender um meío para fornecer os segmentos dos coeficientes de um fluxo de áudio, os coeficientes formando uma 5 representação espectral de um sinal de áudio em uma resolução espectral variando entre os coeficientes. Os meios de fornecer os segmentos podem ser adaptados para determinar os segmentos baseados em comprimentos de janelas diferentes de domínio de ternpo ou estruturas diferentes de áudio, ou seja, estruturas de áudio ' 10 tendo diferentes tamanhos ou números diferentes de coeficientes por largura de banda, ou seja, uma resolução espectral ou de ) frequência diferente. Os meios para fornecer podem ser adaptados :è — — 't7 - -para- determinar "seginenEoS '"àe "€empo 1024 e 128, coeficientes espectrais, de frequência e tempo.
15 _ _ ,0 eroce,ss,ador _ 110 _pode-, -em matería-li'zações I ser " " = adaptado para derivar o context_o_ de co,di fi ca-çã-Q ba-s ea-do—n-as representações do domínio espectral ou de frequência dos coeficientes e segmentos atuais e anteriores. Em outras palavras, eín materializações os segmentos sucessivos podem ser representados ' 20 em tempo e/ou frequência diferente ou dominios espectrais. O processador 110 pode ser adaptado para derivar o contexto de codificação por frequência ou faixa espectral do segmento atual, por exemplo baseado em coeficientes espectrais vizinhos de segmentos anteriores e/ou segmento atual. Em materializações, os 25 segmentos podem ser determinados inicialmente no domínío de tempo, por exemplo, através do janelamento do fluxo de áudio. Baseado nesses segmentos ou coeficientes de domínio de tempo segmentos ou coeficientes de domínio espectral pode ser determinado por meio de
0',' 8 transformação. Os segmentos podem ser representados no domínio espectral ou de frequência nos terino de energia, uma amplitude e fase, uma amplitude e sinal, etc . Por frequência ou faixa espectral, ou seja, os segmentos podem ser subdivididos em 5 diferentes faixas espectrais ou de frequência. O processador 110 pode então derivar contextos de código por frequência ou faixa espectral em algumas materializações.
O processador 110 e o Codificador de entropia 120 podem ser configurados para operar baseados em um downsamplíng de ' 10 frequência ou coeficientes espectrais de um segmento anterior quando o segrnento anterior pertencendo ao contexto compreende uma \ melhor resolução espectral ou de frequência do que o segmento ,,
Y -- - -atua1i— Em materi"a1i"Zaçõés": õ 6rocessador 110 e o codificador de entropia 120 podem ser configurados para operar baseados em um 15 upsampling de frequ-ência , ou c.oeficientes es-pectrais de =um- s-egmento anterior quando o segmento anterior pe-r_t-encendo ae eo-n-text"o compreende uma melhor resolução espectral ou de frequência do que o segmento atual.
Materializações podem fornecer um método para 20 eodificação de segmentos de coeficientes representando diferentes resoluções de tempo ou frequência de um sínal de áudio amostrado.
O método pode compreender uma etapa de derivação de um contexto de codificação para um coeficiente atual ou atualmente codificado de um segmento atual baseado em um coeficiente anterior ou 25 anteriormente codificado de um segmento anterior e opcionalmente também está baseado no coeficiente atual ou atualmente codificado, onde o coeficiente anterior ou anteriormente codificado representa uma resolução diferente do que o coeficiente atual ou atualmente
+ "' 9 codificado. O método pode ainda compreender uma etapa da codificação de entropia de um coeficiente atual baseado no contexto de codificação para obter um fluxo de áudio codificado.
De forma correspondente, as materializações podem 5 compreender um decodificador de áudio 200 do qual uma materialização é descrita na Fig. 2. O decodificador de áudio 200 é adaptado para decodificação de um fluxo de áudio codificado para obter segmentos de coeficientes representando resoluções diferentes de tempo ou frequência de um sinal de áudio amostrado, " 10 o decodificador de áudio 200 compreende um processador 210 para derivar um contexto de codificação para um coeficiente atual. ou atualmente decodificado baseado ern um coeficiente atual ou _ _ ,, _ _-_ atualmente- -decodificado;""o" Còefiêiénte "anterior ou anteriormente decodificado representando uma resolução diferente de tempo e 15 frequência do que o coeficiente_ atualmente - decodi-f icado t "Além "dõ "
É mais, o decodificador de áudio 200 compr_e,e_n_de_de—um—de—ce'+iEÈc-a-d"o"r de áudio 220 para decodificação de entropia do atual coeficiente baseado no contexto de codificação e no fluxo de áudio codificado.
Em materializações, o decodificador de áudio 200 20 cornpreende urrt decodificador de entropia 220, que é adaptado para determinar os segmentos dos coeficientes decodificados baseados em comprimentos diferentes de janela de doíninio de ternpo ou comprimentos diferentes de estrutura de áudio. O decodificador de entropia 220 pode ser adaptado para determínar segmentos de, por 25 exernplo, 1024 e 128, amostras de domínio de ternpo ou frequência ou coeficientes espectrais. De forma correspondente, o processador 210 pode ser adaptado para derivar o contexto de codificação baseado em uma representação de domínio espectral ou de frequência
' » 10 de coeficientes de segmentos anteriores e/ou o segmento atual.
Em materializações, o processador 210 pode ser adaptado para derivar o contexto de codificação por frequência ou faixa espectral do segmento atual, por exemplo baseado em 5 coeficientes espectrais vizinhos de segmento anterior e de forma opcional do segmento atual. Em outras palavras, os segmentos podern ser processados no domínio de frequência ou espectral, que pode ser executado por faixa de frequências ou espectral. De forma correspondente, o processador 210 pode, então, ser adaptado para " 10 derivar um contexto específico de faixa espectral ou de frequência.
O decodificador de entropia 200 pode ser adaptado pa-E-a. -decodi-fi-ca"ção"de "eiitrop"iá do "coeficiente atual baseado em uma entropia ou regra de codificação de comprimento variável.
15 _ _ 0_ pfocessado-r 210 pode- ser adap-tado para" de"r"ivar "" WF- o contexto de codi ficação baseado em _ um dctwns-ampl img—-dc fFequêÍTc±a ou coeficientes espectrais de um segmento anterior quando o segmento anterior compreende mais coeficientes por largura de banda (ou seja, uma resolução de frequência ou espectral melhor 20 ajustada) do que o segmento atual. Em outras materializações, o processador 210 e o codificador de entropia 220 podem ser configurados para operar baseados em um upsampling de coeficientes espectrais de um segmento anterior, quando o segmento anterior compreender menos coeficientes por largura de banda (ou seja, uma 25 resolução de frequência ou espectral grosseira) do que o segmento atual .
Consequentemente, materializações podem fornecer urn método para decodificar um fluxo de áudio codificado para obter à' 11 segmentos de coeficientes representando amostras de áudio decodificadas. O método para decodificação pode compreender uma etapa de derivar um contexto de codificação para um coeficiente atual ou atualmente decodificado de um segmento atuaí baseado em 5 um coeficiente anterior ou anteriormente decodíficado, O coefiiciente anterior ou anteriormente codificado representando uma resolução diferente de frequência ou tempo do que o coeficiente decodificado atual. Além do mais, o método pode compreender uma etapa de decodificação de entropia do coeficiente atual baseado no ' 10 contexto de decodificação e o fluxo de áudio codificado. De forma opcional, o método pode cornpreender uma etapa para determinar os segmentos de coeficientes de áudi'o codificado do fluxo de áudio
A codifrc"ado,_ os" Séghentos" representando números diferentes de coeficientes de áudio.
15 _ _ _ . _ A_ Fig., _ 3 _ílustra _como -um- pEoce5sador—1l'0; 2"10" p"ode" " " derivar um contexto de codíficaçã-o para o se-gme-n-Ee a-ttía-t de- coeficientes M,, new baseados em um segmento anteríor de coeficientes Mc,Q1d, onde o segmento anterior compreende um número di ferente de coeficientes de áudio do que o segmento atual. Na materialização 20 descrita na Fig. 3, o número de coeficientes do segmento M determina a resolução espectral ou de frequência do segmento. A materialização pode compreender um método de mapeamento, que mapeia os coeficientes Mc,old de um segmento anterior para coeficientes M,, new tendo a mesma resolução espectral ou de 25 frequência do contexto como segmento atual. Fig. 3 mostra dois conjuntos de coefícientes dentro de dois segmentos, ou seja o segmento anterior original 310 representando coeficientes Mc,oldv S,,, Or S,,,j , S,,, 2, etc . , e de forma correspondente, o segmento pb 12 anterior mapeado 320, que tem maior resolução, ou seja, Mc,n,w é maior do que Mc,old, representando coeficientes Mc, new, S,,, O, Sn, 1 , Sn, 2 r Sn,3, etc.
De forrna geral, duas materializações podem ser 5 distinguidas, dependendo se a resoluçào do contexto do segmento atual é maior ou menor que a resolução do contexto do segmento anterior. Fig. 3 ilustra uma materialização, na qual a resolução do segmento anterior dos coeficientes Mc, oId é menor do que a resolução do segmento atual dos coeficientes M,, new. Fig . 3 mostra ' 10 os coeficientes do segmento anterior 310 e os símbolos para o segmento anterior mapeado 320. Da Fig. 3 pode ser visto que a e, resolução do segmento atual dos coeficientes M,,new é maior que a _ V¶ .resolução dci)- segmento 'anterioF" 3'10" téndo apenas coeficientes Mc,o1d. Em uma materialização o segmento anterior 310 é aumentada a 15 amostra para o segmento _ 3·20 , de ço.e fiçientes. M,, n,w- para —combinar "a """ resolução espectral ou de f requência do segment-o_aLual-.—L»s-e—p0'de incluir upsampling puro com duplicação de símbolo e mecanismos de decimação como por exemplo, repetir cada valor M,, new vezes antes de decimar o segmento com amostra aumentada resultante mantendo · 20 apenas 1 coeficiente a cada Mc, old . Outros mecanismos de interpolação e extrapolação taníbém podem ser usados.
Em materializações, o rnapeamento pode ser realizado para todos os segmentos anteriores 310, que são necessários para deterrninar os contextos para o segmento atual, 25 por exemplo, no tempo n, ou seja, vários segmentos anteriores podem ser levados em conta, ou seja, segmentos anteriores nos tempos n-l, n-2, etc. Em geral, as materializações podem levar em conta múltiplos períodos de ternpo ou segmentos anterior, o número de slots de tempo neeessários para definír um contexto completo pode ser diferente para implementações ou materializações diferentes.
A Fig. 4 ilustra uma outra materialização, ein que 5 qs coeficientes de um segmento anterior 410 têm as amostras diminuídas para um segmento 420 usado para computar os contextos do segmento atual, ou seja, no qual o número de coefícientes Mc,old do segmento anterior 410 é maior que o número de Coeficientes Mc.new do segmento atual. A Fig. 4 usa uma ilustração " 10 semelhante à figura 3, de acordo coeficientes múítiplos são mostrados em cada segmento 410 e 420. Como ilustrado na figura.. 4, Mc . old é maior que Mc . new . Portanto os coeficientes Mç, oId são à3 diminuídos "as "amostras ," " para" corresponder à resol-ução espectral ou de frequência do segmento atual de coeficientes Mc, new, ou seja, em 15 materializações, _ s,egm.entos anterior-es- com— maior -resolução" podem " = ' ser sub-amostrados para corresI2ond.e_r _ à__Ees-o.Lu-ção—d0—s-egme-wEo—atu-xl com uma resolução mais baixa . Em materializações, podem incluir downsampling puro com duplicação de coeficiente e mecanismos de decimação corno , po r exemplo, repetir cada valor M,,new vezes antes 20 de decimar o segmento com aumento de amostra resultante mantendo apenas 1 coeficiente a cada Mc,Qld. Em outras materializações, as operações do filtro, como por exemplo média de dois ou vários valores adjacentes podern ser levadas em consideração.
A Fig. 5 ilustra uma outra materiaíização, em que 25 a comutação entre diferentes resoluções é realizada. A Fig. 5 mostra um plano de tempo/frequência, ern que três segmentos subsequentes dos coeficientes de áudio são mostrados, ou seja, 510, 520 e 530. Cada um dos segmentos 510, 520 e 530 corresponde a
.A 14 um único conjunto de coeficientes. Na materialização ilustrada na fig. 5, presume-se que o segundo segmento 520 é duas vezes mais longo que o primeiro e terceiro segmentos 510 e 530. Isto pode ser obtido através de diferentes janelas quando ocorrer segmentação no 5 domínio do ternpo, como por exemplo, feito em AAC - Na materialização na fig. 5, presume-se que a taxa de amostragem se mantém constante, em outras palavras, o segundo maior segmento 520 compreende duas vezes mais coeficientes por largura de banda do que o orimeiro ou terceiro segmento 510 ou 530.
' 10 A Fíg. 5 mostra que, neste caso, a resolução nas escalas de domínio espectral ou de frequência com a extensão do segmento no domínio de tempo. Em outras palavras, quanto menor a _ janela ,no- domíniQ -de"" tempo," niáis" i5"ài"xo a resolução no domínio de - y\ frequência ou espectral. Ao avaliar os contextos de codificação de 15 amostras no domínio de _frequênci,a _ou _espectral-, =a= F-ígá - 5- rn"ostra" = que as necessidades de codificação para t,e_r _uma v-¢s-ãQ—d+—a±t-a- resolução do segmento 510 quando ocorrer a codificação do segundo segmento 520, como no exemplo considerado, uma resolução dupla do segmento 510 tem de ser derivada. Erri outras materializações, 20 especialmente quando se utiliza outras transformações tempo- frequência ou bancos de filtro, outras relações entre resoluções do domínio de tempo e dornínio de frequência podem acontecer.
De acordo com uma mater.ialização, os coeficientes codificados durante o primeiro segmento 510 fornecem uma base para 25 determinar o contexto para o segundo segmento 520, por exemplo, por meio de um upsampling intermediário. Em outras palavras, o conteúdo do contexto proveniente do primeiro segmento 510 pode ser obtido por um up-sampling do primeiro segmento 510, por exemplo,
em termos de interpolação ou extrapolação, a fim de obter o contexto para o segundo segmento 520, tendo uma resolução maior.
Como rnostrado na figura. 5, quando comuta-se do segundo segmento 520 para o terceiro segmento 530, o elernento 5 constitutivo do contexto tem que mudar taníbém, pois a resolução já diminuiu. De acordo com uma materialização, os coeficientes codificados durante o segundo segmento 520 podem ser usados a fim de obter o contexto para o terceiro segmento, por meio de um downsampling intermediário. Isto pode ser realízado, por exemplo, " 10 em termos de média ou sirnplesmente usando apenas o cada segundo valor ou outras medidas para downsarnpling.
Manifestações alcançam a vantagem de uma - -- - = — ·1 ef iciência- aume-ntada- de_ codifí"cãçãò', "levando em conta o contexto passado proveniente de segmentos anteriores, mesmo quando mudanças 15 na resolução ou comprimento _ ,da . , j anela- -Qco-rreFam ;t " Etlementõ""s = " constitutivos de contexto podern ser ada.pLado-s pa-Fa n'ova-s resoluções, em termos de upsampling e downsamplíng, por exemplo, com interpolação e extrapolação, filtragem ou média, etc.
A seguir uma materialização mais específica será 20 apresentada em termos de codificação sem ruído espectral. A codificação espectral silenciosa pode ser usada para reduzir ainda mais a redundância de um espectro quantizado na codificação de áudio. Codificação espectral silenciosa pode ser baseada em uma codificação aritmética em con j unto com uma adaptação de contexto 25 de f orma dinâmica .
A codificação silenciosa pode ser baseada em valores espectrais quantizados e podem usar tabelas de frequência cumulativa dependentes de contexto resultantes de, quatro tuplas vizinhas previamente codificadas. A Fig. 6 ilustra outra materialização. A Fíg. 6 mostra um plano de frequência de tempo, onde ao longo do eixo de tempo três horários são indexados N, N-l e n-2. Além disso, a Fíg. 6 ilustra quatro bandas espectrais ou de 5 frequência que são rotuladas por m-2, m-l, m e m +1. A Fig. 6 mostra dentro de caixa de sIOt de tempo-frequência, que representam tuplas de amostras a sereni codificadas ou decodificadas. Três tipos diferentes de tuplas são ilustradas na fig. 6, em que as caixas com uma borda tracejada ou pontilhada " 10 indicam tuplas restantes a serem codificadas ou decodificadas, caixas brancas com uma borda sólida indicam codificação ou decodificação prévia e caixas cinzas coin uma borda sólida indicam tuplas previamente' decodificadas, qué São"usadas para determinar o contexto para a tupla atual a ser codíficada ou decodifi-cada.
15 Observe _que_ os_ segmentos= atuais -e- anteriores" = " referidos nas materializações descritas aci,m.a_ poclern--cQEEespeRd uma tupla na presente materialização, em outras palavras, os segmentos podem ser processados na forma de banda no domínio espectral ou de frequência. Como ilustrado na Fig. 6, tuplas ou 20 segmentos na vizinhança da tupla atual (ou seja, no domínio espectral, de tempo ou de frequência) podem ser levadas em consideração para resultar em contexto. Tabelas de frequência cumulativa podem então serem usadas pelo codíficador aritmético para gerar urn código binárío de comprimento variável. O 25 codificador arítmético pode produzir um código binário" para um dado conjunto de simbolos e suas respectivas probabilidades. O código binário pode ser gerado mapeando um intervalo de probabilidade, onde o conjunto de sírribolos está, para uma paíavra-
R q 17 código. O cocLíficador aritmético pode corresponder a um codificador de entropia 120, respectivamente o codificador de entropia 220 nas rnaterializações mencionadas acima.
Na presente materialização, codi ficação 5 aritmética baseada em contexto pode ser realizada com base em 4 tuplas (ou seja, em quatro índices de coeficiente espectral, os quais são tambérn rotulados como q(n,m) , representando os coeficientes espectrais após quantização, os quais são vizinhos no domínio espectral ou de frequência e qual está codificado por " 10 entropia em uma etapa. De acordo com a descrição acima, codificação pode ser realizada baseando-se no contexto de codificação. Como indicado na Fig. 6, de forma adicional para as 4 'L · - V"" _ _tuplas, - que- é -codific'ado" (OU' "seja", "" o segmento atual) quatro 4 tuplas codificadas prevíarnente são levadas em consideração para 15 derivar o contexto . Essas ,4 tuplas ,determinarn - o- eontexto "e = são" "" prévias na frequência e/ou prévias no domínio de_ t-emp A Fig. 7a mostra um fluxograma de uma USAC (USAC = Codificador de Áudio E Fala Universal) codificador aritmético dependente de contexto para o esqueína de codíficação para o 20 esquema de codificação dos coeficientes espectrais. O processo de codificação depende das 4 tuplas atuais mais o contexto, onde o contexto é usado para selecionar a distribuição de probabilidades do codificador aritmético e para predizer a amplitude dos coeficientes espectrais. Na Fig. 7a a caíxa 705 representa 25 determinação de contexto, que é baseada em tO, tl, t2 e t3 correspondendo a q(n-1, m) , q(n, m-l) , q (n-l, m-l) e q (n-l, m+1), que são as caixas cinzas com bordas sólidas na Fig. 6.
Geralmente, em materiaíizações, o codificador de
C, 18 entropia pode ser adaptado para codificar o segmento atual nas unidades de 4 tuplas de coeficientes espectraís e para predízer um alcance de amplitude de 4 tuplas baseadas no contexto de codificação.
5 Na presente materialização O e squema de codificação compreende vários estágios. Primeiro, a palavra-código literal é codificada usando urn codificador aritmético e uma distribuição especifica de probabilidade. A palavra-código representa quatro coeficientes espectrais vizínhos (a,b,c,d), " 10 contudo, cada a,b,c,d é limitado no alcance: -5 < a,b,c,d < 4 .
Geralmente, em materializaçães, o codificador de entropia 120 -pode —ser- adaptada "paFa" diúiàír " as" 4 tuplas por um fator pré-determinado sempre que necessário para caber o resultado 15 da divisão no alcance predito ,ou _em nm ,alcance- -pré-deÈerminado e " "" & para codificar urn número de divisões necessár_i_as, urrLALemb-EeÈe~íe divisão e o resultado da divisão quando as 4 tuplas não está no alcance predito, e para codificação de um lerríbrete de divisão'e o resultado da divisão de outra forma.
20 A seguir, se o termo (a,b,c,d), ou seja qualquer coeficiente a, b, CV d, exceder o dado alcance nessa materialização, isso pode em geral ser considerado por divisão (a,b,c,d) geralmente pelo fator (por exemplo, 2 ou 4 ) como for necessário, para encaixar o a palavra-código resultante no dado 25 alcance. A divisão pelo fator de 2 corresponde a uma mudança binária para o Iado direito, ou seja (a,b,c,d)>> 1. Essa diminuição é feita em uma representação integral, ou seja as ínformações podem ser perdidas. Os bits menos significantes, que podem se perder na troca para a direita, são armazenados e mais tarde codificados usando um codificador arítmético e uma distribuição de probabilidade uniforme. O processo de troca para a direita é realizado para todos os quatro coeficientes espectrais 5 (a,b,c,d) .
Em materializações gerais, o codificador de entropia 120 pode ser adaptado para codificação do resultado da divisão ou as 4 tuplas usando um índice de grupo ng, o índice de grupo ng referindo-se a um grupo de um ou mais palavras-códigos " 10 para quais uma distribuição de probabilidade está baseado no contexto de codificação, e um índice de elemerrto ne no caso do grupo compreender mais de uma palavra-código, o índice de elemento = ~ · .— ,,_ 'N r.ÊÊn'em- Hf-erindo-se "a ""paIavra=cóaião" déIT:ro do grupo e o índic.e de e'l.emento pode ser presumido de forma uniforme.me'nte distribuida, e 15 ,pàr'a, codi f i cação _ o , númçro de , dívisões_ ptelo múmero de·- 'símbo'íos de^ = " " " >· .. W ~ + ~ f'uga, um s ímbolo de f uga s endo um índí ce de_g.rnp,o e8peQ££Een·g' .- . . . .. - apenas usado para indicar a divisão e para codificação dos re3tantes das divisões baseadas na distribuição uniforme usando uma regra de codificação aritmética. O codificador de entropia 120 20 pode ser adaptado para uma codificação de uma sequêncía de símbolos no fluxo de áudio codificado usando um alfabeto de símbolos compreendendo o símbolo de fuga, e símbolo de grupo correspondentes ao conjunto de indices de grupo disponiveis, um alfabeto de símbolo compreendendo os índices de elemento 25 correspondentes, e um alfabeto de simbolo compreendendo os valores diferentes dos restantes.
Na materialização da Fig. "7a, a distribuição de probabilidade para codificação de palavra-código literal e também q) m uma estimativa do número de estágios da redução de alcance pode ser derivada de um contexto. Por exemplo, todas as palavras- código, em um total de 8' = 4096, aparecem um total de 544 grupos, que consistem de um ou mais elernentos. A palavra-código pode ser 5 representada em um fluxo de bits enquanto o índice de grupo ng e o elemento de grupo ne. Amibos os valores podem ser codificados usando um codificador aritmético, usando certas distribuições de probabilidade. Em uma materialização, a distribuição de probabilidade para ng pode ser obtida do contexto, considerando a " 10 distribuição de probabilidade para ne pode ser presumido ser uniforme. Uma combinação de ng e ne pode identificar de forma ambigua uma palavra-código. O restante da divisão, ou seja os , ,, . ,µ :píanâ$ -de- bit -al-terFlad'os7 _pode"m séii" Présumiào como uni formemente 'di,str,ibuído .
1,5 Na Fig. 7a, _na ,etapa .7.10, as 4 -tup-las- q(n,m)_, ""que " " "
G = = ' := ± =r= =- sã"o (a,b, c, d) ou o segmento atual é forneci_do e _ umparâmeEEfev--€ íni'ciado definindo para 0.
Na etapa 715 do contexto, o alcance de (a,b,c,d) está estimado. De acordo com essa estimativa, (a,b,c,d) pode ser 20 reduzido por levO níveis, ou seja dividido por um fator de 2l""O. Os planos de bit menos significantes de levO são armazenados para uso posterior na etapa 750.
Na etapa 720 é verificado se (a, b, c, d) excede o alcance determinada e em caso afirmativo, o intervalo de (a, b, 25 c, d) é reduzido por um fator de 4 na etapa 725. Em outras palavras , na etapa 725 '(a, b, c, d) são modifícadas por 2 para a direita e os planos de bit removidos são armazenados para posterior utilização na etapa 750.
Para indicar esta etapa de redução, ng está definido para 544 na etapa 730, ou seja ng = 544 serve como uma palavra-código de fuga. Esta palavra-código é, então, escrito ao fluxo de bits na etapa 755, onde para derivar a pa1avra-códig,ç!_ .na 5 etapa 730 um codificador aritmético com uma distribuição de probabilidade derivada a partir do contexto é usado. Caso essa etapa de redução seja aplicado a primeíra vez, ou seja se lev==lev0, o contexto é ligeiramente adaptado. Caso a etapa de redução seja aplicado mais de uma vez, o contexto é descartado e " 10 uma distr'ibuição padrão é usada adiante. O processo então continua , com etapa 720.
Se na etapa 720 uma combinação para o intervalo for detectada,- mais espe"ci"fi camé"nte ," Se"" ("a, " b", c, d) correspondem à condição de alcance, o (a, b, c, d) é mapeado para um grupo ng, 15 e, se aplicável, o índice de = ele.mentp çíe. grupo_ ne .- Essemmapeamento " " " " não é ambíguo, isto é, (a,b,c,d) pode ser obtid-o _do-—ng—e-—ne . O índice do grupo ng é então codificado pelo codificador aritmétíco, utilizando uma distribuição de probabilidades utilizada para o contexto adaptado/descartado na etapa 735. O índice do grupo ng é 20 então inserido no fluxo de bits na etapa 755. Em uma etapa seguínte 740, é verificado que se o número de elementos do grupo é maior que 1. Se necessário, isto é, se os grupos indexados por ng consistem em mais de um elemento, o índice de elemento de grupo ne é codifícado pelo codificador aritmético na etapa 745, assumindo 25 uma distribuição uniforme na presente materialização- Seguindo a etapa 745, o indice de grupo de elemento ne é inserido no fluxo de bits na etapa 755. Finalmente, na etapa 750, todos os planos de bit são codificados usando codificador aritmético, assumindo uma distribuição uni forme de probabilidade. Os planos de bit codificados armazenados são então inseridos no fluxo de bits na etapa 755.
Erri materializações, o codificador de entropia 220 "" 5 pode ser adaptado para decodificação de um índice do grupo ng do fluxo de áudio codifícado com base em uma distribuição de probabilidade derivada a partir do contexto de codificação, onde o índice do grupo ng representa um grupo de uma ou mais palavras- código, e, com base em uma distribuição de probabilidade uniforme, ' 10 para decodificar um índice do elemento ne do fluxo de áudio , codificado se o índice do grupo ng indica um grupo composto por . mais de uma palavra-código, e definir 4 tuplas de coeficientes " p-L _ _espectrais--- do. segmento=-atua"l "com"bãsé "no" í"ncííce ""ào grupo ng e O índice do elemento ne, obtendo assim a representação do domínio 15 espectral nas tuplas de coefic_ientes= e.spectrais._ .= - = - - - - - " " " + -= O decodificador de áudio 220 pode s_eadap-t.a-do-—- para decodificação de uma sequência de símbolos do fluxo de áudio codificado com base em uma distribuição de probabilidade derivada a partir do contexto de codificação usando um alfabeto de sírnbolo 20 compreendendo um símbolo de fuga e símbolos de grupo correspondentes a um conjunto de índices disponíveis de grupo ng, para obter quatro tuplas preliminares de coeficientes espectrais baseados em um índice disponível de grupo ng para qual um símbolo de grupo da sequência de símbolos correspondentes, e baseado no 25 índice de elemento ne, e para multiplicar as 4 tuplas preliminares com o fator dependendo do núinero de símbolos de fuga na sequência dos símbolos para obter a tupla dos coeficientes espectrais.
O decodificador de áudio 220 pode ser adaptado para decodificação de restante de divisão do fluxo de áudio codificado baseado em uma dístribuição de probabilidade uniforme usando uma regra de codificação aritmétíca e para adição do restante às 4 tuplas preliminares multíplicadas para obter a,s_4 5 tuplas dos coeficientes espectrais.
O decodificador de entropia 220 pode ser adaptado para multiplicar as 4 tuplas com um fator pré-determinado, bem como quando um símbolo de fuga é decodificado do fluxo de áudio codificado, um símbolo de fuga sendo um indice de grupo ng " 10 específico apenas usado para indicar uma multiplicação, e para a decodificação de um restante do fluxo de áudio codificado com base em uma distribuição de probabilidade uniforme utili zando uma regra de codificação _aritmética-, o -decodi"fi"cadof "àê"en"tropia 220 ainda pode ser adaptado para adicionar o restante ao multiplicado, as 4 15 tuplas para obter o segmento atual: ,,.,=~=----=--"" """"=" "'" ~ Na sequência de uma materiali_z_â_ção -de iam codificador aritmético USAC dependente do contexto o regime de decodificação será descrito. Correspondente à materialização acima do esquema de codificação, 4 tuplas correspondentes aos 20 coeficientes espectrais quantizados, que são codíficados sem ruído, são considerados. Além disso, supõe-se que as 4 tuplas são transmitidas a partir da menor frequência ou coeficiente espectral e progredindo para a maior frequência ou coeficientes espectrais.
Os coeficientes podem, por exemplo, corresponder aos coeficientes 25 AAC, que são armazenados em uma matri.z e, a ordem de transmissão das palavras-código de codificação sem ruído é suposto ser de tal forma que quando elas são decodificadas na ordem recebida e armazenada no array, bin é o índice mais rapidamente incrementável e g é o índice mais lentamente incrernentável. Dentro de uma palavra-chave, a ordem de decodificação é a, b, c, d.
A Fig. 7-B ilustra o procedimento de atualização do contexto geral de urna materialização. Os detalhes sobre o 5 contexto de adaptação de acordo com um mecanismo de previsão de profundidade de bits serão considerados na presente materialização. A Fig. 7b mostra um plano 760 exibindo a possível gama de 4 tuplas (a, b, c, d) em termos de planos de bits. A profundidade de bits, ou seja, número de planos de bits " 10 necessários para representar 4 tuplas, pode ser prevista pelo contexto das atuais 4 tuplas, por meio do cálculo da variável chamada levO, que taníbém é índicada na figura 7b. As 4 tuplas são . então _ divididas- por- 2'g?"°, - ou-=sej'a "leV"1êúò "iSlãRo"s ""cie" Bits sãçj
ÇJ retirados e armazenados para uso posterior de acordo corti a etapa 15 715 acima descrito. e- = W " e W- = Se as 4 tuplas estão no intervalo -5 <-a, b=,—c~d .
<4, a profundidade de bit levO predita foi corretamente predita ou superestimada. As 4 tuplas podem ser então codificadas pelo índíce de grupo ng, o índice de elemento ne e os planos de bíts lev 20 restantes, em conformidade com a descrição acima. A codificação das 4 tuplas atuais então é finalizada. A codificação do índice de elemento ne é indicada na figura 7b pela distribuição de probabilidade uniforme 762, que será a seguir sernpre utilizado para os índices de elemento de codifícação, que na fig. 7B o 25 parâmetro r representa o restante das 4 tuplas após a divisão e p(r) representa a função de densidade de probabilidade uniforme correspondente.
Se as 4 tuplas não estão no intervalo -5 <a, b,
'} 25 c, d <4, a predição com base no contexto de codificação 764 é muito baixa, um simbolo de fuga (ng = 544) é codificado 766 e as 4 tuplas estão divididas por 4 e o lev incrementado por 2, conforme a etapa 730 na fig. 7a. O contexto é adaptado como segue. Se 5 lev==levO+2 d contexto é ligeiramente adaptado, correspondendo à 768 na Fig. 7b. Uma bandeira pode ser definida na representação do contexto, t, e um novo modelo de distribuição de probabilidade então será usado para codificação de simbolos ng futuros.
Se lev> levO outro simbolo de fuga é codificado " 10 de acordo com a etapa 770 na fig. 7b o contexto é completamente redefinido, cf. 772, descartados como na etapa 730 na fig. 7a, respectivarnente. Nenhuma adaptação do contexto é utilizada ainda =, ._ ,pQr.que _não- é- considerada- r'el"evante "parã "a "atual codif icação das 4 tuplas. O modelo atual de probabilidade, o utílizado quando nenhum 15 contexto está disponível, é _ então usado _ para = o.s - futmros -s ímbotto"s · ng, que é indicado pelas etapas 774 e 776 na fim_7b-—mp-EQc+s-s-o—é— então repetido para outras tuplas.
Para resumir, a adaptação de contexto é um ínecanismo a firn de reduzir o significado de contexto na 20 codificação adaptativa de contexto. A adaptação de contexto pode ser acionada quando a levO predita e o lev real não combinam. Ela é facilmente detectada pelo número de símbolos codificados de fuga (ng = 544), cf. 766 e 770 na fig. "7b, e portanto pode ser realizada no decodificador de forma semelhante tarribém.
25 A adaptação do contexto pode s er feita desencadeando uma bandeira na representação do estado de contexto t. O valor t é calculado pela função get_state(), como levO, usando o contexto derivado da estrutura anterior e/ou atual ou segmento das 4 tuplas atuais, que são armazenadas em uma tabeía q [][]. O estado do contexto pode, por exemplo, ser representado por 24 bits. Existem 1905800 estados possíveis em uma materialização.
Esses estados podem ser representados por apenas 21 bits- Os bits 5 23 e 24 de t são reservados para a adaptação do estado do contexto. De acordo com os valores dos bits 23 e 24, o get pk() produzirá modelos diferentes de distribuição de probabilidade. Em uma materialização, o bit 23 de t pode ser definído como um, quando as 4 tuplas são divididas por 4, depois de previamente " 10 divididas por levO, ou seja, lev==1evO+2.
Em consequência, o mapeamento entre o estado de contexto t e o modelo de distribuição de probabilidade pki, é diferente para -lev==levO+2" do' qííé "pãrã "iev&=lev6. O mapeamento entre o estado de contexto t e o modelo pkí é pré-definido durante 15 a fase de formação através da _realização = de - otimizações - nas- " " .~ estatisticas gerais da sequência de , tre,i _n_ame n-to-. Q-u-a-n.do lev>levO+2, o contexto e t pode ser definido como zero. As saidas Get pk(), então o modelo padrão de distribuição de probabilidade pki, o que corresponde a t=O.
20 A seguir, os detalhes de um mapeamento de contexto em uma materialização serão descritas. O mapeamento do contexto é a prirneira operação feita na codificação adaptativa de contexto após a redefinição eventual do contexto na presente materíalização. É feito em duas etapas .
25 Primeiro, antes da codificação, a tabela de contexto qs[] de tamanho previous lg / 4, salva na estrutura anterior, é mapeada em — uma tabela de contexto q[O][] de tamanho lg / 4 correspondente ao tamanho da estrutura atual. O mapeamento é feito na função f.
27 arith_map_context, o que é exemplificado pelo seguinte pseudo- código: /*input variable"/ lg/4 /*number of 4-tuples*/ 5 arith map context () { v=w=0 if(core mode==1) { q[O] [v++]=qs[w++]; " 10 } ratio= ( (float)previous lg) / ( (float) Ig) ; for(j=0; j<lg/4; j++){ ·" :: "" " — -.— .. — — 5- — - k" _ Cint) " ("(Eròat)I) 1 ( j )aEãÈío"F; " ' " " ""í = , q[O] [V++] = qs[w+k]; 15 } ,_.____ _ = — --=L = W =" "'= "" """ " %. = @- =à . ~ — m = = ;=: m~ - " + ' = if(fcç)re_mode==0) { " A q[O] [lg/4]=qs [previous lgíü]; } q[O] [1g/4+1]=qs [previous 1g/4+1]; 2'0 previous 1g=lg; } Como pode ser visto a partir do pseudo-código, o mapeamento pode não ser exatamente o mesmo para todas as estratégias de codificação. Na presente materializaçãov O 25 mapeamento se difere quando AAC (Codificação de Áudio Avançada) é usado (core mode == 0) para um coeficiente de quando TCX (base de Codificação de Transforinada) é usado (core _mode == 1) . Uma das diferenças está no modo como os limites das tabelas são e 28 manipulados. Em AAC, o mapeamento pode começar a partir do índice 0 (primeiro valor da tabela), enquanto para TCX pode iniciar a partir do índice 1 (segundo valor na tabela), sabendo que o primeiro valor é sempre definido como "desconhecido" (estado 5 especifico utilizado para redefinir o contex'to). A proporção de previous _ lg sobre lg irá determinar a ordem do upsamp.ling (proporção<1) ou o downsampling (proporção> 1), que será realizado na presente rnaterialização. A Fig. 7c ílustra o caso do TCX na conversão de u.na tabela de contexto salva de tamanho 1024 / 4, cf.
" 10 lado esquerdo 780 da Fig. 7c, para um tamanho de 512/4, cf. lado direito 782 da Fig. 7c. Pode-se observar que, enquanto para a tabela de contexto atual 782 incrementos de etapas 1 são utjlízados, , para- a- 't-abe-la- de co"nte""&"to" Sa"1va" 78") " incrementos de etapa da proporção descrita acima são utilizados.
15 A Fig . 7c ílu.stfa . o ,pFQ.cedimento= de- atua-lfzaç'ão e ~ @ = m de contexto de uma materialização para alterações de—r-esoluçãen —— Uma vez que o mapeamento é feito, a codíficação adaptativa de contexto é realizada. No final da codificação, os elementos da estrutura atual são salvos na tabela qs[] para a próxima 20 estrutura. Pode ser feito em arith update_context (), que é exemplificado pelo seguinte pseudo-código: /*input variables*/ a,b,c,d /* value of the decoded 4-tuple */ i /*the index of the 4-tup1e to decode in the 25 vector* / lg/4 /*number of 4-tup1es*/ arith>ípdate_context() {
q
29 q[1] [1+i].a=a;
q[l][1+i].b=b;
q[1][1+ij.c=c;
q[1][1+i].d=d; 5 if ( (a<-4) II (a>=4) II (b<-4) Il (b>=4) I! (C<-
4) li (c>=4) ll (d<-4) || (d>=4) ) {
q[l][1+i].v =1024;
}
else q[l] [1+i].v=egroups [4+a] [4+b] [4+c] [4+d]; ' 1o: if (i==lg/4 && core mode==1) {
qs[O]=q[1][o];
' ratio= ( (float) lg) / ( (flQat) 1024) ;
" b, '" ~ -µ-— ·=· + ~ "— '= =-' · = mr"ç j '=0';= j'<2 '5 6 ; j"+=t ) {" "" " " "" '" ' "' " " " ·.— C—l = " " "
k = (irit) ( ,( float) j *ratí·o). ; 15 _ = = ~ = = ~ ,= qg.,[!+F] := ,q.[1]. [l+j] ;_ _ ~ _ =. = _ ~ _ = = ~ W ± = * ,
1 q:s ['Previous_lg/4+1] = q[1j [lg/4+1];
Previous_1g = 1024;
} 20 if (j-==lg/4 && core_mode==0) {
for(j=0; j<258; 1++){
qs[j] = q[l][k];
} previous _ lg = min(1024,lg) ; 25 }
} Na presente materialização, o salvamento é feito de maneira diferente de acordo corn o programador principal (AAC ou m TCX) . Em I'CX o c-ontexto é sempre salvo em uma tabela qs [] de valores 102414. Esse niapeamento adicional pode ser feito por causa da decisão de malha fechada da AMR-WB + (Adaptive Multirate WideBand Codec). Na decisão de malha fechada muitos procedirnentos 5 de cópia de estados do codífícador são necessários para testar cada combinação possível de TCXS e ACELP (Arithmetíc Coded Excited Linear Prediction). A cópia do estado é mais fácil de implementar quando todos os modos TCX compartilharri o mesmo tamanho para a tabela qs[]. Um mapeamento é, então, usado para converter de forma " 10 sistemática a partir de lg/4 para 1024/4. Por outro lado, AAC salva somente o contexto e não executa o mapeamento durante esta r fase .
- "A Fig. "8 "ilüstrã"" úiíi t1uxojjrama da materialização do esquema de decodificação. Na etapa 805, correspondente à etapa 15 705, o contexto é derivado_ corrt _base _ em ,T,O ,_ TL, =T2- e- T3. =Na- etapa " _ " " 810, o primeíro nível de redução levO é estiµi-ad.o_a p-a-r-t i-r do— contexto, e o leve variável é definido como levO. Na etapa seguinte 815, o grupo NG é lido a partir do fluxo de bits e a distribuição de probabilidade para a decodificação de ng é " 20 derivado do contexto. Na etapa 815, o grupo ng pode então ser decodi ficado a partir do fluxo de dados .
Na etapa 820 é determinado se o ng é igual a 544, que corresponde ao valor de fuga. Se assim for, o variável lev pode ser aumentada em 2 antes de voltar para a etapa 815. Caso essa seção seja usada 25 pela prirríeira vez, ou seja, se lev==lev0, a dístribuição de probabilidade, respectivamente, o contexto pode ser adaptado em conformidade, respectivamente descartada se a seção não for usada pela primeira vez, em consonância com o mecanismo de adaptação de contexto acima descrito, cf. Figs. 7B e 7C- No caso do indice do grupo ng não ser igual a 544 na etapa 820, em uma etapa seguinte 825 é deterininado se o número de elementos de um grupo é maior que 1, e sendo assim, na etapa 830, o elemento do grupo ne é Iido e 5 decodificado a partir do fluxo de bits, assumindo uma distribuição de probabilidade uniforme. O índice do elemento ríe é derivado do fluxo de bits usando codificação aritmética e uma distribuição de probabilidade uniforme.
Na etapa 835 a palavra-código líteral (a, b, c, ' 10 d) é derivada de ng e ne, por exemplo, por um processo de visualização nas tabelas, por exemplo, referem-se a dgroups [ng] e acod ne[ne] .
Na-etapa ""840 para""tõd6"s "os" p"Lanos de bit sem lev, —Ta os planos são lidos a partir do fluxo de bits usando codíficação 15 aritmética e assumindo uma distribuiç,ão_ de probabilídade uni-f-o-ríne .- - -" = Os pIanos de bits podem então ser anexados a (,a_, b, c, _d-)_ttocando- (a, b, c, d) para a esquerda e acrescentando o pIano de bit bp: ((a, b, c, d)<<=1) 1= bp . Este processo pode ser repetido lev ve zes .
20 Finalmente na etapa 845 as 4 tuplas q(n, m), ou seja, (a, b, c, d) podem ser fornecidas.
A segui-r, pseudocódigos e detalhes de implementação são fornecidos de acordo coin uma materialização. As definições a seguir serão utilizadas.
25 (a,b,c,d) 4 tuplas para decodificar ng Índice de grupo do pIano de 2 bits mais significante das 4 tuplas, onde 0 <= ng <= 544. O último valor 544 corresponde ao símbolo de fuga, ARITH ESCAPE. —
Kj 32 ne Índice de elemento dentro do grupo. ne está entre 0 e o cardinal de cada grupo mm. O número rriáximo de elementos dentro de um grupo é 73.
5 lev Nível dos planos de bits restantes .
Corresponde ao número de planos de bits menos significantes do que os mais significantes planos de 2 bits.
egroups Tabela de índice de grupo [a] [b] [c][d].
Permite mapear o plano de 2 bits mais sígnificante das 4 tuplas " 10 (a,b,c,d) nos 544 grupos.
mm Cardinal do grupo og Offset do grupo - — - — — — " -'dgr=ouGS rr =Mapéíã" :Õ" "ííiâíu= àe 7r&pQ"n: " = % m' cardi-nal de 'ca'da grup'o' mm '(príme.í-ros 8 bít's.) e çj oEf se.t do grupo 15 og em dgve'c'to'rs [ ) ('ú'Fti_mog 8 ,bí_ts)= - _ _ =- — -- ~- — =- — " " W m = 3m-f ~ - ~ ' :dgvector:s [] Map'e íg. o - Qf semd-upo~o ín'dice 'do element'o ne para o pIano de' 2 bits mais signiticante das 4 tuplas (a,b,c,d) .
arith cf ng hash[] Tabela hash mapeando o estado 20 do contexto para urn índice cumulativo de tabela de frequências pki .
arith cf ng[pki) [545] Modelos das frequências cumulativas para o símbolo do índice de grupo ng.
arith cf ne[] Frequências cumulativas para 25 o simbolo de índice do elemento ne.
r Plano de bit das 4 tuplas menos significantes do que o plano de 2 bits mais significante.
aríth_cf_r [] Frequências cumulativas para o símbolo dos planos de bits ne menos significantes.
A seguir, o processo de decodificação é considerado primeiro. Os coeficientes espectrais quantizados de 4 tuplas são silenciosamente codificados e transmítídos a partir da 5 menor frequência ou o coeficiente espectral e progredindo para a maior frequência ou coeficiente espectral. Os coeficientes da AAC são arrnazenados na rnatriz x ac quant[g][win][sfb][bin], e a ordem de envio das palavras-código de codificação sem ruído é tal que, quando eles são decodificados na ordem recebida e armazenada na " 10 matriz, bin é o índice que aumenta mais rápido e g é o índice mais lentamente incrementado. Dentro de uma palavra-código, a ordem de decocjificação é a, b, c, d. O coeficiente do TCX é armazenado ..dir.et-amente --na- -matri-z " - x-tcx""i"nvquant ["wih]"[biní, "" e a ordem de transmissão das palavras-código de codificação sem ruído é tal 15 que, quando eles são decodificados ,na_ ordern, recebida e- armazenada " "" = na matriz, Bin é o índice mais rapidamente incremen±ado—e—w-in—é—o índice mais lentamente incrementado. Dentro de uma palavra-códígo da ordem de decodificação é a, b, c, d. Prírneiro, a bandeíra arith reset flag determina se o contexto deve ser redefinído. Se a 20 bandeira for VERDADEIRA a função a seguir é chamada: *global variables*/ q [2] [290] /*current context*/ qs[258] /*past context*/ previous lg /*number of 4-tup1es of the past 25 context* / arith reset context() { for(i=O;i<258;i++) {
g
34 qs[i] .a='0;· qs[i] ..b=0': 'qs [i] -C=0; qs[í] .d=O qs [i] ..v='_1;
} for (i=·0; i<290,; i++) {
5' q[0][í].a=O; q[0][i].b=O; q[0][i].c=O;
q[0'] [,i].d=0 q[O][i].v=-1;
q[.1]Íi].a=0; q[1][i].b=O; q[l] [i].c=0;
tq{1-j [i].d"0 y
' 1,0 :q"[l]Íi].v=-1;
}
G 'previòus lg=256;
iià — m ,. — = - _} -= caso contrário, quando a arith reset_ flag. f or —
. 15 FALSA, " = 'O mapeam'e"nto =- é feitç? entEe -o contextm passado -e- do eontex-to _ = " atüal:
'/'*input variable"/
Ig /*number of 4-tuples*/
ãrith map _ context (lg)
20 { v=w=G)
if (core mode==1) {
q[O] [v++]=qs[w++];
} 25 ratio= ((float)previous_lg)/((f1oat)1g);
for(j=0; j<lg; j++) {
k = (int) ( (float) ) ((j)*ratio) ;
q[O] [v++] = qs[w+k];
.g 35 } if (core mode==0) { q[O] [lg]=qs [previous lg] ; } 5 q[O] [1g+1]=qs [previous lg+1] ; previous lg=lg; } O decodificador sem ruído emite 4 tuplas de coeficientes espectrais quantizados assinados. No começo, o estado " 10 do contexto é calculado com base em quatro grupos previamente decodificados em torno de 4 tuplas para decodificar. O estado do contexto é dadQ pela função arith get context (,): ,== € H « =: " -"- T _ % , l=*j-nput- v-aEÈiab tesM' " " " " = " " = " '"" "" " " " ê " = = r i l*the índex õf the 4-tup1e' to deeod-e in the l5( 'v'ect'or* / = ,, , , . , = , * , u = = a W * *L = - » J: + -= = ~ " F + . - — = '± "' arith _ get corí'text (i , ) " F ' " "-——"""" " e.
{ tO=q[O][1+i].v+1; tl=q[1][1+i-1].v+1; 20 t2=q[O] [l+i-1].v+1; T3=q[O][1+i+l].v+1; if ( (to<1o) && (t1<1o) && (t2<10) && (t3<10) ) { íf ( t2>1 ) t2=2; if ( t3>1 ) t3=2; 25 return 3* (3* (3* (3* (3* (10* (1O*tO+t1) )+t2)+t3) ) ); } if ( (to<34) && (t1<34) && (t2<34) && (t3<34) ) { if ( (t2>1) && (t2<10) ) t2=2; else if ( t2>=10 )
ié
36 t'2=3,
if (, (t3>1) && (t3<10) ) t3=2; else if ( t3>=10 )
t3=3,
return 252000+4* (4* (34* (34*tO+t1) )+t2) +'t3; 5 } if ( (to<90) && (t1<90) ) return 880864+90* (90*to+t1);
if ( (tO<544) && (tl<544) ) return 1609864 +
544*to+t1;
" 10 if ( tO>l )
{
a0=q[O] [ij.a;
" "_ W " '" " " - "- " "- " "bO=q [_0 ]' 'f"i JT b ;'
c0=q[O] [i,] .C:; 15 d'0=q[Oj [i].d;
el.Se à0=bO=c'O=d0=0;
if ( t1,>l )
{' 2Q a1=q[1] [i-1].a;
bl=q,[l]['i-1Lb,;
c1=q[1][i-lj.cj d1=q[1]. [i-1].d;
} 25 else a1=bl=.c·1=d1=0;
1=0';
do
{
aO>>'=1; bO>>=1, CO>>=1; dO>>=1; 5 al>>=1; b1>>=1; C1>>=1; d1>>=l; 1++; ' 10 } while ( (aO<-4) lI (aO>=4) II (bO<-4) II (bO>=4) ll (CO<-4) II (CO>=4) || (dO<-4) || (dO>=4) ||
G " rar<=4 r"ri (a1>"4) "'i r7B1<-4) I'"l" "(6i>=4 )'" i ,| '( e1<Z" " " 4) Il (C1>=4) II (d1<-4) j| (dl'>=4)' )'; 15 if ( tOQ'.1 ) t0=·1+(e,g,rWp.s [4+aO] [4+bQLL4.+cO] ['4+dQ], .-_ .
>.-> 16): if ( t1>l ) t1=1+"(egroups [4+a1'] [4+b1] [4+C1] [4+d'1] >> 16); return 1609864 + ((1<<24)1 (544*tO+t1)); 20 } Uma vez que o estado é conhecido o grupo a quem pertence o plano de 2 bits mais significativo de 4 tuplas é decodíficado usando o arith decode () alimentado com a tabela apropriada de frequências cumulativas correspondente ao estado de 25 contexto. A correspondência é feita pela função aríth_get_pk ): /*input variable*/ s /* State of the context*/ arith_get_pk(s)
q 38 { psci[28] = { 247,248,249,250,251,252,253,254,254,0,254,254,254 ,255,250,215, 5 215,70,70,123,123,123,123,3,67,78,82,152 }; register unsigned char *p; regíster unsigned long i,j; i=123*s; " 10' for (;;) { j=aríth _ cf _nq _hash [1Ul2767] ; íf " (: j=i"0xÈFÉFFÊÊÈu1 )" breâk; if (i (j>>8)==s ) return j&255; — 15 " -i±±b; ..
p=psei+7*(s>>22); j= 5 & 4194303; if ( j<436961 ) 9·" 20 { if ( j<252001 ) return p[ (j<243001) ?0:1]; else tétúlm p[(j<288993)?2:3]; } else 25 { if ( j<160986i5 ) retu.rn p[ (j<880865) ?4:5]: else return p[6]; }
} Então a função arith decodeO é chamada com a tabela de frequências cumulativas, correspondente ao retorno do índice pelo aríth get pk () . O codificador aritmético é uma 5 implementação inteira gerando tag corn escalonamento. O seguinte pseudo-código C descreve o algoritmo utilizado.
/*helper funtions*/ bool arith fírst symbol(void) ; /* Return TRUE if it is the first symbol of the " 10 sequence, FALSE otherwise*/ Ushort arith get next bit(void); /* Get the next bit of the bitstre.am*/ = 2 _. :: __ ¥ J _ /* global variables */ low =:'" 7 + 1 5 ~ — "" " " hi"gh " " """ — ~, ·'· =àh· — —.· va-kue /* input variables */ cum_ freq [] ; cfl; 20 arith decode () { if (arith first symbol() ) { value = 0; 25 for (i=1; i<=20; i++) { value = (val<<1) I arith_ get _ next bit () ; }
low=0:
high=1048575;
} range = high-low+1;
5 cum =((((int64) (value-low+1) ) <<16) - ( (int64)
1))/((int64) range);
p = cum _ freq-l;
do
{
" 10 q=p+(cf1>>1);
if ( *q > cum ) { p=q; cfl++; }
cf1>>=1;
} < wh.ile ( c·fl>1 );
'_ ~·15 "= _ —- · -symbQlr-='f p-é'@_ EEe:q!+1 7 — — — :: — ~ m
- --LÊLs ymbo1-L— - - -- - - - -- .. - = =- = = -= -m _
high l'ow +
( ( (int64) range) * ( (int64) cum_ freq [symbol-l] ) ) >>16 - 1;
low += (( (int64) range ) * ( (ínt64)
20 cum freq[symbol]) ) >>16;
f or (;;)
{ if ( high<524286) { }
else if ( 1ow>=524286)
25 { value -=524286;
Iow -=524286;
high -=524286:
· &>
41
} else if ( low>=262143 && high<786429)
{ vatue -= 262143;
5 Iow -= 262143;
h:Lgh == 262143;
} - " 0 "—
low += low;
' 10 hígh += high+1;
value = (va1ue<<l) I arith get next bit () ;
} ;
return' symbol;
} 15 " " " _' _ Enquânto_o tndíce de Í gr'upo— decodí-f ícado ng é o
Q±o—de—4uga , ARTÊTu=E'scRm— -um imdi-ce grnpn a-dí_c iOn-al 1)9 é
'de'cõdificado e a variável lev é incrementada por dois.
Uma vez que o indice do grupo decodíficado não é o símbolo de fuga,
ARITH ESCAPE, o núrnero de elementos, mm, dentro do grupo e o
20 offset de grupo, og, são deduzidos através da observação da tabela dgroups [] :
mm=dgroups [nq] &255 og = dgroups [nq] >>8
O índice do elemento ne é, então, decodificado
25 chamando o arith decode() com a tabela de frequências cumulativas
(arith cf ne + ( (mrn * (rrun-l) )>> 1) []. Uma ve z que o índice do elernento é decodificado, o plano de 2 bits maís sígnificativo das
4 tuplas pode ser obtido com a tabela dgvector[]:
-a=dgvectors[4*(og+ne)] b=dgvectors[4*(og+ne)+l] c=dgvectors[4*(og+ne)+2] d=dgvectors[4*(og+ne)+3] 5 Os planos de bits restantes são, então, decodificados a partir do nível mais significante para o menos significante chamando Iev vezes o arith decode() com a tabela de freqúncias cumulativas arith cf r [). O pl-ano de bit decodíficado r permite refinar as. 4 tuplas da seguinte forma: " 10 a = (a<<1) I (Úl) b = (b<<1) I ((r>>l)&1) C = (c<<l) l ((r>>2)&1) d = (d<<1) I "Tr>>3)'" 15-_ -Uma.. v-e-z que-==: a.s 4= tupías (a-,_ b, _c, dL são omp1-et=e-nee—de-co.d4ic.adas_-.a.s tabçlas de contexto q e gs s.ão atualizadas chamando a função arith update context ().
arith update context(a,b,c,d,i,1g) { 20 q[l][l+í].a=a; q[l][1+i].b=b; q[l][1+i].c=c; q[l] [1+i].d=d; if ( (a<-4) || (a>=4) || (b<-4) || (b>=4) |[ (C<- 25 4) |'| (c>=4) || (d<-4) || (d>=4) ) q[l] [1+1] .v =1024; else q[1] [1+i] .v=egroups [4+a] [4+b] [4+c] [4+d];
¶\ '%.
y 43 íf'(í==lg && core mode==1) { qs[0']=q[l] [0]; ratio= ( (float) lg) / ( (float) 256) ; for(j=0; j<256; j++){ 5 k = (int) ((float) ) ((j)*ratio); qs[1+k] = q[1][l+j] ; } qs [previous _ lg+1]=q [1] [lg+1] ; previous lg=256; ' 10 } if (i==lg && core mode==0) { for(j=0; j<258; 1++){ qs[j] = q[1].[k]; } 15- -- previ-o'ns=]'gmrn-fF+2WH )_; """ "" - —~ } Dependendo de certos requísitos de írnplementação dos métodos inventivos, os rnétodos inventivos podem ser 20 irrtplementados em hardware ou software. A iinplementação pode ser forrnada usando um meío de arrnazenamento digital, ein particular, um disco, um DVD ou um CD, com um sinal de controle de leitura eletrônica nele, que coopera com o computador programável, de modo que os métodos inventivos são executados. Geralmente, a presente 25 invenção é, portanto, u-n produto de programa de computador com urn código de programa para um portador de leitura óptica, o código do prograrna sendo operativo para a realização dos métodos inventivos quando o programa de computador é executado em um computador. Em b 44 outras palavras, os métodos inventivos são, portanto, um programa de computador com um código de programa para realizar pelo menos um dos métodos inventivos quando o programa de computador for executado em um computador.
" " " " — = u - = ~
ÀÈ ~ 8 + ^ m t: ~ :5 ==e' ~ "=
G "È \ m — —. »G _ - "" " "" " " "
Claims (13)
1. "CODIFTCADOR DE ÁUDTO E DECODIFICADOR DE ÁUDIO", caracterízado pelo codificador de áudio (100) para codificar uma sequência de segrrtentos de coeficientes, os segmentos 5 sendo subsequentes um ao outro no tempo compreender: nieios para fornecer a sequência de segmentos dos coeficientes de um fluxo de áudio representando um sinal de áudio amostrado pelo uso de comprimentos diferentes de transformada, tais 'quais segmentos de coeficientes para os quais comprimentos " 10 díferentes de transformada são usados, represenca espectralmente o sinal de áudio amostrado em resoluções diferentes de frequência; um processador (110) para obter um contexto de Ci5di"ficaçã6" para um coeficiênte codi ficado de um segmento atual COIll base em um coeficiente previamente codificado de um segmento 15_ ant.Êrior,. _os segmentos_ anter.iores— e atmai.s --correspondentes" a "_ resoluções diferentes de freqllên_c_ia _ e_comprimen-to-d4e=e-n-te-s-—-de transformada, respectivamente; e um codificador de entropia 120 para codificação de entropia do atual coeficiente baseado no contexto de 20 codificação para obter um fluxo de áudio codificado.
2. Codificador de áudio (100), de acordo com a da reivindicação 1, caracterízado pelo codificador de entropia (120) ser adaptado para codificar o coeficiente atual ern unidades de uma tupla dos coeficientes espectrais e para predizer um 25 alcance da tupla baseada no contexto de codificação.
3. Codificador de áudio (100), de acordo com a reivindicação 2, caracterízado pelo codificador de entropía (120) ser adaptado para dividir a tupla por um fator pré-determinado quando necessário para encaixar um resultado da divisão em um alcance pré-determinado e para codificar um número de divisões necessárias, um lembrete de divísão e o resultado da divisão quando as tuplas não estão no alcance predito, e para codificação 5 de um lernbrete de divisão e o resultado da divisão de outra forma.
4. Codificador de áudio (100), de acordo com a reivindicação 3, caracterízado pelo codificador de entropia (120) ser adaptado para codificação do resultado da divisão ou as tuplas usando um índice de grupo, o índice de grupo referindo-se a um " 10 grupo de um ou mais palavras-códigos, para as quais uma distribuição de probabilidade está baseado no contexto de codificação, e baseado em uma distribuição de probabilidade —— " "unifof"me, úíir índíêè de elernento no"' caso do grupo compreender mais de uma palavra-código, o índice de elemento referindo-se a
15. _ palavr.a-códi.go dentro _do grupo e—para.—codi Ê-icaçãe- o n-úmero— de _ dívisões pelo número de símbolos de_ _f_uga,_w—s-í!.o-l-o--de—£u-gMse-Rde -- um índice de grupo específico apenas usado para indicar a divisão e para codifícação dos restantes das divisões baseadas na distribuição uniforme usando uma regra de codificação aritmética.
20
5. Codificador de áudio (100), de acordo com a reivindicação 4, earacterízado pelo codificador de entropia (120) ser adaptado para codifícação de uma sequência de símbolos no fluxo de áudio codificado usando um alfabeto de síinbolos compreendendo o símbolo de fuga, um símbolos de grupo 25 correspondentes ao conjunto de índices de grupo disponíveis, um alfabeto de simbolo compreendendo os indices de elemento correspondentes, e um alfabeto de sírdbolo compreendendo os valores díferentes dos restantes.
6. Codificador de áudío (100), de acordo corn a uma das reivindicações de 1 a 5, caracterízado pelo processador (110) e o codificador de entropia (120) serem configurados para operar baseados erri um downsampling de coefícientes espectrais dos 5 segmentos anteriores, quando o segmento anterior exíbe uma melhor resolução espectral do que o segmento atual e/ou onde o processador (110) e o codifícador de entropia (120) estão configurados para operar baseados em um upsampling de coefícientes espectrais do segmento anterior, quando o segmento anteríor exibe " 10 uma resolução espectral mais rígida que o segmento atual.
7. Método para codificação de uma sequência de segmentos de coeficientes, caracterízado pelos segmentos sendo " "mibSé"quentés para cada tempo, compreenderem qs passos de : fornecer a sequência de segrnentos dos 15 _ coeficientes ,de _ um .fluxo—de áudío xjepEesentando um sinal - de- áud'i_o , amostrado ÊZelo uso de com.Rr_i_ment_o_s_dLfe.r-ente-s—de È-Ea-R-s Ee-rm-a-da-, tais quais segmentos de coeficientes para os quais comprimentos diferentes de transformada são usados, representa espectralmente o sinal de áudio amostrado ern resoluções diferentes de frequência; 20 obter um contexto de codificação para um coeficiente codificado de um segmento atual com base em um coeficiente previamente codificado de um segmento anterior, os segmentos anteriores e atuais correspondentes a resoluções diferentes de frequência e comprimentos diferentes de 25 transforrnada, respectivamente; e codificação de entropia do atual coeficiente baseado no contexto de codificação para obter um fluxo de áudio codificado.
8. Codificador de áudio (100) para os segmentos de codificação de coeficientes, caracterízado pelos segmentos de coeficientes representando diferentes resoluções de tempo ou frequência de um sinal de áudio amostrado, compreender:
5 um n1eLo para fornecer OS segmentos dos coeficientes de um fluxo de áudio, os coeficientes formando uma representação espectral de um sinal de áudio representado por um fluxo de áudio em uma resolução espectral variando entre os segmentos;
' 10 um processador 110 para obter um contexto de codificação para um coeficiente codificado de um segmento atual com base erri uírt coe ficiente previamente codif icado de um segIrlento
— representando uma ~ "" ante'rio"r, Q""cò"ef'íríente "Pre%iameiíte" cQcííf i cado diferente resolução de tempo ou frequência do que .o coeficiente
15 codifica.do 'atua_l; _e _ , _,_ _ —— — — — _ " " " " " " - , ym codif ícador , de _entto-pía Q20-)—p&E-~e-e'difrc"aç"ão_
de entropia do atual coeficiente baseado no contexto de codificação para obter um fluxo de áudio codificado,
onde o codificador de entropia (120) é adaptado
20 para codificar o coeficiente atual em unidades de uma tupla dos coeficientes espectrais e para predizer um alcance da tupla baseada no contexto de codificação;
onde o codificador de entropia (120) é adaptado para dividir a tupla por um fator pré-determinado quando
25 necessário para encaixar um resuíltado da divisão em um alcance pré-determinado e para codificar um número de divisões necessárias, um lembrete de divisão e o resultado da divisão quando as tuplas não estão no alcance predito, e para codificação de um lembrete de divisão e o resultado da dívisão de outra forma; e onde o codificador de entropia (120) é adaptado para codificação do resultado da divisão ou as tuplas usando um 5 índice de grupo , o índice de grupo referindo-se a um grupo de um ou mais palavras-códigos para as quais uma distribuição de probabilidade está baseado no contexto de codificação, e baseado em uma distribuição de probabilidade uniforme,um índice de elernento no caso do grupo compreender mais de uma palavra-código, " 10 o índice de elernento referindo-se a palavra-código dentro do grupo, para codificação do número de divisões pelo. número de símbolos de fuga, um símbolo de fuga sendo um índice de grupo " "espé"cífi"co apenas usado para indicar a divisão e para codificação dos restantes das divisões baseadas na distribuição uniforme 15 _ usando uma .regra de codificação aritmética= "_ "_
9. De_c_o_dif i_-cado-r—de——á-ucíi® (20-9} ca-racter±zado" para decodificar um fluxo de dados codificados representando um sinal de áudio amostrado para obter uma sequência de segmentos dos coeficientes de uin fluxo de áudio representando um sinal de áudio 20 amostrado pelo uso de comprirnentos di ferentes de transformada taís quais segmentos de coeficientes para os quais comprimentos diferentes de transformada são usados, representa espectralmente o sinal de áudio amostrado em resoluções diferentes de frequência, compreender: 25 um processador (210) para obter um contexto de codificação para um coeficiente codificado de um segmento atual com base erri um coeficiente previamente codificado de um segmento anterior, os segmentos anteriores e atuais correspondentes a resoluções diferentes de frequêncía e comprimentos diferentes de transforrnada, respectivamente; e O decodificador de entropta (220) decodificação de entropia do atual coeficíente baseado no contexto 5 de codificação e no fluxo de áudio codificado.
10. Codificador de áudio (200), de acordo com a reivindicação 9, caracterízado pelo o processador ser adaptado para obter o contexto de codificação por faixa espectral para o coeficiente atual, baseado em coeficientes espectrais vizinhos " 10 previamente decodificados no segmento anterior e opcionalmente no segmento atual.
11. Decodificador de áudío (200), de acordo com a -" reivindicação" 10 , ""cãFaCEerízado ""pelo o codificador de entropía (220) ser adaptado para decodificação de um índíce do grupo do . 15 f luxo de _ áu.dio_ codif icado_ com- base- em -uma =distri-bufção dé " " " probabilidade derivada a parti r do, _c_ont-exeo—d~cQdLEic-a-çã0ronde—"o índice do grupo representa um grupo de uma ou mais palavras- código, e para, corn base em uma distríbuição de probabilidade uniforme, decodificar um índice do elemento do fluxo de áudio 20 codificado se o índice do grupo indica um grupo composto por mais de uma palavra-código, e definir uma tupla de coeficientes espectrais do segmento atual com base no índice do grupo e o índice do elemento, obtendo assim a representação do dornínio espectral nas tuplas de coeficientes espectrais.
25
12 . Decodificador de áudio (200) , de acordo com a reivindicação 11, caracterízado pelo codificador de entropia (220) se:r adaptado para decodificação de uma sequência de simbolos do fluxo de áudio codificado com base em uma dístribuição de probabilidade derívada a partir do contexto de codificação usando um alfabeto de símbolo compreendendo um símbolo de fuga e símbolos de grupo correspondentes a um conjunto de indices disponíveis de grupo, para obter uma tupla preliminar de coeficientes espectrais 5 baseados em um índice disponível de grupo para qual um símbolo de grupo da sequência de simbolos corresponde, e baseado no índice de elemento, e para multiplicar a tupla preliminar com o fator dependendo do número de símbolos de fuga na sequência dos simbolos para obter a tupla dos coeficientes espectrais.
' 10
13. Decodificador de áudio (200), de acordo com a reivindicação 12, caracterízado pelo codíficador de entropia (220) ser adaptado para decodificação de restante de dívísão do fluxo de _" _ - è "áudío "codi"fieãdo " 6aseaão em uma distribuição de probabilidade u-niforme usando uma regra de codificação arítmética e para adiçào 1,5. do' £est.ante a _:up1a pre.l-imínar -mulEip1i-c-ada para- o'bter "a tuplã do"s " " coeficie.n,tes es,pectrais.
14. Decodificador de áudio (200), de acordo com uma das reivindicações anteriores, caracterízado pelo processador (210) e o codificador de entropia (220) serem confígurados para 20 operar baseados em um downsampling de coeficientes espectrais dos segmentos anteriores, quando o segmento anteríor exíbe uma melhor resolução espectral do que o segmento atual e/ou onde o processador (210) e o codificador de entropia (220) estão configurados para operar baseados em um upsampling de coeficientes 25 espectrais do segmento anterior, quand.o o segmento anterior exibe uma resolução espectral mais rígida que o segmento atual.
15. Decodificador de áudio (200), caracterízado por ser para decodificar um fluxo de áudio codificado para obter segrnentos de coeficientes representando diferentes resoluções de ternpo ou frequêncía de um sinal de áudio amostrado, que um processador (210) para obter um contexto de 5 codificação para um coeficiente decodificado de um segmento atual com base em um coeficiente previamente decodifícado de um segmento anterior, o coeficiente anteriormente decodificado representando uma resolução diferente de frequência e tempo do que o coeficiente atualmente decodificado; e ' 10 O decodificador de entrop1a (220) para decodificação de entropia do atual coeficiente baseado no contexto de codificação e no fluxo de áudio codificado.
" "Óhde o "processador (210) é adaptado para obter o contexto de codificação baseado no coeficiente anteríor, os 15 coeficientes fo.rmando_ uma repre sentação- espe-ctra-l de =um "sinal"de" " áudio representado por um fl_uxo de á-udio em—uírta re-so Fução espectral variando entre os segmentos; onde o processador é adaptado para obter o contexto de codificação por faixa espectral para o coeficiente 20 atual, baseado em coeficientes espectrais vizínhos previamente decodificados no segmento anterior e opcional-mente no segmento atual; e onde o codificador de entropia (220) é adaptado para decodificação de um índice do grupo do fluxo de áudio 25 codificado com base em uma distribuição de probabilídade obtido a partír do contexto de codificação, onde o índíce do grupo representa um grupo de uma ou rnais palavras-código, e para, com base em uma distribuição de probabilidade uniforme, decodificar um índice do elemento do fluxo de áudio codificado se o indice do grupo indica um grupo composto por mais de uma palavra-código, e definir uma tupla de coeficientes espectrais do segmento atual com base no índice do grupo e o índice do elemento, obtendo assim a 5 representação do domínio espectral nas tuplas de coeficientes « " 0 " +
16. Método para decodificar um fluxo de dados codificados representando um sinal de áudio arnostrado, caracterízado por ser obter uma sequência de segmentos dos coeficientes de um fluxo de áudio representando um sinal de áudio amostrado pelo uso de comprimentos diferentes de transformada tais quais segrnentos de coeficientes para os quais comprimentos ~ " "diferèiíteS dé transformada são usados, representa espeetra1mente o sinal de áudio amostrado em resoluções díferentes de fr'equên'cía., 15 .- comRreend.er: ._ _ ,_ _ — — - :— — — — _ " " " " Ê!a_ra obtar um_cDrLt.exLQ—de—gedTi Êíc-a-çãij— parà m" coeficiente codificado atualmente de um segmento atual com base em um coeficiente previamente codificado de um segmento anterior, os segmentos anteriores e atuais correspondentes a resoluções diferentes de f requência e comprimentos diferentes de transformada, respectivamente; e decodificação de entropia cío atual coeficiente baseado no contexto de codificação e no fluxo de áudio codificado.
17. Programa de computador, caracterízado por compreender um código de programa para realizar um dos rnétodos das reivindicações 7 ou 15, quando for executado em um computador ou processador.
» ·1)
'e «
1l11
Processador
11,0 S'egmentos de Contexto de codificação
- m = - a - - - --
= - =E, - " "4—""—I~———_==r———————= Fluxo de áudio Codificador de entropia
100/""
-120
FlGl
:4. =g 2/11 Processador
L 10 Fluxo de áudio I Contexto de codificação · codificado 'í 4 — , + — :- = ' " "" _ : 4 ·e " — éa · " '" = " " " " " "LA' Codificador de |1 t L- " "_ " "." ,-' —entropia O decodificadas 200/" 20 FlG 2 q « ^
L 3/11 M=MC, velho M=MC, novo ·'ej Il" " Sn,M :'i LJ': 'J i í ': Sn.M-"1Á
S 4 f " b ' 'i I 1 k I ! il i t :' ·.
Í ' Valores duplicados : ' I m, ,S _ _ ._ in!erpo|ados _ .. %' -ni - " " "= " " "=" àk" " " "" '""" " '" "I ': ' n'2 Sa,4 P . · P ' N , - - _ '. & , - — 'l y3-'- ' __~__-- - " - ~ ^ W =- ' "" '" " i"' 'Siíí " ' ' Á3jj · ' S¶.() - · ' 'Sn,1 &ò/ J ·310 FIG 3
M=mc, v'elho M=MC, novo "Í S,,m EI , — S'n.M ] È| . Sn.&1 , b t .t t $ F t $ í 0 g í I ;I I l
I j í ¥ S 3 i I "I e jÀ-J Subamostra.do-fi|tro-|:^-| -- - -- — --- - - _ " I Qz5 , S,,2 ] 'Sl4 , , ' " " " "I " j"" í " "" " "" -_ Sn:,] I
J - - YSqj " " - ' '" Sn,0 1 , "Sn,0 10 20 F|G| 4 n>
5111 f
=— —. ,= "- ~ ti ~' _"- - " " *- &" q b
+ __ _ 5 { 0_ m-m ~ —'( · — à=& . ~ A,— ~ ~ — -- @ 520 530'
F1G5 y V'y " ¢
6/11 f m+'|[)j!))) )A 4 tuplas para codificar/decodificar
4 tuplas codificadas/decodificadas previamente 4 tuplas codificadas/decodificadas mj7Fí, i" previamente, usado como contexto issst"" lrj " " " " "" "
m-1i||'E7 -- - - - - - - -
m'2j I, j;|' |] _« E&
n-2 n-1 n t
FlG 6
"X 7/11 Contexto, ou pe ja 4 tuplas q(n,m), ou seja tO=q(n-1,m) t1=q(n,m-1) (a.b,c,d) -71Ó lev=0 t2=q(n-1,m-1 t3=q(M,m+1) 7"')5 . I' alcance preditareduzido: alcance de (a, b. c, d) I armazena levO p!ano3 de bit menos significante (a,b,c,d)""=lev0 '":"°m-~A15 72 Não a, b, c, d) excedeü lêv+ = 2 '~ q alcance?t 725\ jsim _ t'. Reduziralcance pelo De cada (a, b, fator 4 ). c. d) .I, Ar.mazena 2, l2!.anQs d.e_bi,t menos sigrãficante _ _ *· : (a,b,c.d) >>=2 75c7 Defini ng=544 Índice ng de grupo de -I " e (|"ev=lev0)| I "" fcodificaçãò "|' adapte q I L_Codi tcador aritmético ~~mj . '°-'-t'"t°-- )—730j" Resulta ng de (a, b. c, d) Resulta ne de (a, b. c, d) Índire ng de grupo de codifiçaçãQ cn Ccdificador aritmético usando Probabilidade d istr. do contexto :a Q) = 745
E LL- 735 Grupo de elem9n{o3 de N de elementos no Sim codiiicação hdiçe ne Grúpo> 1? C0dificado? aritméãco wando Probabilidade unifòrme dM- 740 "XNão c®thcar lev de ptanos ae btts armazenados Codlfícador aMmético usando Probabilidade uniforme distr.
75Ô FlG 7A
L 'h L"r 8/11 í " jã f"i m í:jgjj ,¥"F'·. Ú _ |& j"_i eu = +| - lã f-" 7j' k- ,,, - - -1= ,-) '-) -)))),))y{)', '- - i _ "l_!,. |" I )|,â):)l)íÜ7k ;ii·
W Ísjç p-ç1""" i' "" ,, = § CD )J5 ,i q . k Ç= K=È F r_ r~ ) d — ' § q f
I ir f CD + € í tl ^__"+ "+"1 | ^ ' $ [t "j t j """É1-|-£ I ; Ü | -m- - " ! cn > i = >- \, c> = j % .Gj -Xh a &— "
P cn
D = (D ií
[P 'Cm 9/11 780 r_---"~__~> Desconhecido ) 257 k ) 256 ) I 255 L e !25'4!,|+,>~
L 2 :"' 1 \ m " Y : = -+ "" '" - =- _ l i " "" """" , +.Razão Y "J'"i29' : :I >I I _| R,_,_ à = _ , _ - P = * "- ~ _ = " } " " ' ', JF. 'r — -' I t2z R 1 A· q -t-Razão l
I í n Li il +1 ) 2 ) ]+Razão 2 -+1 l'Y 1 V I0) —0{ 0 I qs[102¶4+2] qs[0](5f12l4+2) Razão =1024j512 =2 FlG 7C
'Rn = E
10/11
80'5 Contexto, ou seja tO=q(n-1,m) l fluxo de bits t1=q(n,m-1) pegar levO do contexto 810 Iev=lev0 t2=q(n-1,m-1 lev -f = q f3=q(n-1 ,m"1) Ve pegar ng do ¶uxo de bits
815 "m codrficação aritmética l probabilidade distr. do contexto 9SJ. ou descarte I
" ,^'g=~54>' 830
" 820 Não A~ - — _m" —
'" "" "" Sim "Pegue ne do fluxo""de bits e
|Número de elementos no grupo , Unikrme de codificação 'I
"" j' ritm,éü ~ " "8zr " d" I Resulta (a, b, c, d) de ng¶ '" ' · 835""
Para (i=0;i<lev;i"+)
I Pegue plarto de bit bp de I Coddicador aritmético I De fluxo de dados usando 840 jdistr.
I uniforme de probabilidade j((a,b,c.d)<<=1) =bp
4 tuplas q(n, m), ou seja (a, b, C, d) 845
FlG 8
] ^5 11/11 f' ! S-2:m | S-í.Ml I S:-d.m ! I', S+í,hA I * O 4 · * + · 0 0' k Sd,5 i |'S".k15 l " Í , S,,.,, S-,,, . ' g i F"2.4 "-j M.3" ' S.2,2 _ ' sg,M "%.3 S:1,2 - " j)} ""|:;!:í)|'" "" " .
lr";,2,i.. ,, , . ._ s-?,}... _ _ Z0,!A = == , &C"" ) — "- ± =__ ""' "' " I' S-2,l , I S.-s".0; i S00 I Ii 'M: í t € FlG 9 (ESTADO DA TÉCNICA)
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| BR122021008239-1A BR122021008239B1 (pt) | 2008-07-11 | 2009-05-18 | Codificador de áudio e decodificador de áudio |
| BR122021007875-0A BR122021007875B1 (pt) | 2008-07-11 | 2009-05-18 | Codificador de áudio e decodificador de áudio |
| BR122021007798-3A BR122021007798B1 (pt) | 2008-07-11 | 2009-05-18 | Codificador de áudio e decodificador de áudio |
Applications Claiming Priority (5)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US7984208P | 2008-07-11 | 2008-07-11 | |
| US61/079,842 | 2008-07-11 | ||
| US10382008P | 2008-10-08 | 2008-10-08 | |
| US61/103,820 | 2008-10-08 | ||
| PCT/EP2009/003521 WO2010003479A1 (en) | 2008-07-11 | 2009-05-18 | Audio encoder and audio decoder |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| BRPI0910796A2 true BRPI0910796A2 (pt) | 2020-11-03 |
| BRPI0910796B1 BRPI0910796B1 (pt) | 2021-07-13 |
Family
ID=40886050
Family Applications (4)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| BR122021007875-0A BR122021007875B1 (pt) | 2008-07-11 | 2009-05-18 | Codificador de áudio e decodificador de áudio |
| BR122021008239-1A BR122021008239B1 (pt) | 2008-07-11 | 2009-05-18 | Codificador de áudio e decodificador de áudio |
| BRPI0910796-7A BRPI0910796B1 (pt) | 2008-07-11 | 2009-05-18 | Codificador de áudio e decodificador de áudio |
| BR122021007798-3A BR122021007798B1 (pt) | 2008-07-11 | 2009-05-18 | Codificador de áudio e decodificador de áudio |
Family Applications Before (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| BR122021007875-0A BR122021007875B1 (pt) | 2008-07-11 | 2009-05-18 | Codificador de áudio e decodificador de áudio |
| BR122021008239-1A BR122021008239B1 (pt) | 2008-07-11 | 2009-05-18 | Codificador de áudio e decodificador de áudio |
Family Applications After (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| BR122021007798-3A BR122021007798B1 (pt) | 2008-07-11 | 2009-05-18 | Codificador de áudio e decodificador de áudio |
Country Status (21)
| Country | Link |
|---|---|
| US (10) | US8930202B2 (pt) |
| EP (10) | EP3300076B1 (pt) |
| JP (1) | JP5606433B2 (pt) |
| KR (1) | KR101456641B1 (pt) |
| CN (1) | CN102089813B (pt) |
| AR (1) | AR072422A1 (pt) |
| AU (1) | AU2009267543B2 (pt) |
| BR (4) | BR122021007875B1 (pt) |
| CA (1) | CA2729925C (pt) |
| CO (1) | CO6351831A2 (pt) |
| DK (1) | DK3573056T3 (pt) |
| ES (8) | ES3002107T3 (pt) |
| FI (1) | FI3573056T3 (pt) |
| MX (1) | MX2011000379A (pt) |
| MY (1) | MY160260A (pt) |
| PL (8) | PL4376306T3 (pt) |
| PT (3) | PT2301019T (pt) |
| RU (1) | RU2487427C2 (pt) |
| TW (1) | TWI449033B (pt) |
| WO (1) | WO2010003479A1 (pt) |
| ZA (1) | ZA201009258B (pt) |
Families Citing this family (30)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7991610B2 (en) * | 2005-04-13 | 2011-08-02 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Adaptive grouping of parameters for enhanced coding efficiency |
| EP2144230A1 (en) | 2008-07-11 | 2010-01-13 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Low bitrate audio encoding/decoding scheme having cascaded switches |
| JP5606433B2 (ja) | 2008-07-11 | 2014-10-15 | フラウンホーファー−ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン | オーディオエンコーダ及びオーディオデコーダ |
| CA2730198C (en) | 2008-07-11 | 2014-09-16 | Frederik Nagel | Audio signal synthesizer and audio signal encoder |
| PL2346029T3 (pl) | 2008-07-11 | 2013-11-29 | Fraunhofer Ges Forschung | Koder sygnału audio, sposób kodowania sygnału audio i odpowiadający mu program komputerowy |
| KR20100136890A (ko) | 2009-06-19 | 2010-12-29 | 삼성전자주식회사 | 컨텍스트 기반의 산술 부호화 장치 및 방법과 산술 복호화 장치 및 방법 |
| EP2315358A1 (en) | 2009-10-09 | 2011-04-27 | Thomson Licensing | Method and device for arithmetic encoding or arithmetic decoding |
| ES2531013T3 (es) | 2009-10-20 | 2015-03-10 | Fraunhofer Ges Forschung | Codificador de audio, decodificador de audio, método para codificar información de audio, método para decodificar información de audio y programa de computación que usa la detección de un grupo de valores espectrales previamente decodificados |
| BR122021008581B1 (pt) * | 2010-01-12 | 2022-08-16 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Codificador de áudio, decodificador de áudio, método de codificação e informação de áudio, e método de decodificação de uma informação de áudio que utiliza uma tabela hash que descreve tanto valores de estado significativos como limites de intervalo |
| US8280729B2 (en) * | 2010-01-22 | 2012-10-02 | Research In Motion Limited | System and method for encoding and decoding pulse indices |
| ES2458354T3 (es) | 2010-03-10 | 2014-05-05 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Decodificador de señales de audio, codificador de señales de audio, métodos y programa de ordenador que utiliza tasa de muestreo dependiente de la codificación del contorno de distorsión en el tiempo |
| CN103119646B (zh) * | 2010-07-20 | 2016-09-07 | 弗劳恩霍夫应用研究促进协会 | 音频编码器、音频解码器、编码音频信息的方法以及解码音频信息的方法 |
| SG194199A1 (en) * | 2011-03-18 | 2013-12-30 | Fraunhofer Ges Forschung | Frame element positioning in frames of a bitstream representing audio content |
| TWI451746B (zh) * | 2011-11-04 | 2014-09-01 | Quanta Comp Inc | 視訊會議系統及視訊會議方法 |
| US10844689B1 (en) | 2019-12-19 | 2020-11-24 | Saudi Arabian Oil Company | Downhole ultrasonic actuator system for mitigating lost circulation |
| CN121122295A (zh) * | 2012-05-18 | 2025-12-12 | 杜比实验室特许公司 | 用于维持与参数音频编码器相关联的可逆动态范围控制信息的系统 |
| JP6065452B2 (ja) * | 2012-08-14 | 2017-01-25 | 富士通株式会社 | データ埋め込み装置及び方法、データ抽出装置及び方法、並びにプログラム |
| CN107731237B (zh) * | 2012-09-24 | 2021-07-20 | 三星电子株式会社 | 时域帧错误隐藏设备 |
| KR20140089871A (ko) | 2013-01-07 | 2014-07-16 | 삼성전자주식회사 | 대화형 서버, 그 제어 방법 및 대화형 시스템 |
| JP6146069B2 (ja) | 2013-03-18 | 2017-06-14 | 富士通株式会社 | データ埋め込み装置及び方法、データ抽出装置及び方法、並びにプログラム |
| BR112015030672B1 (pt) * | 2013-06-10 | 2021-02-23 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V | aparelho e método de codificação, processamento e decodificação de envelope de sinal de áudio por divisão do envelope de sinal de áudio empregando codificação e quantização de distribuição |
| SG11201510162WA (en) | 2013-06-10 | 2016-01-28 | Fraunhofer Ges Forschung | Apparatus and method for audio signal envelope encoding, processing and decoding by modelling a cumulative sum representation employing distribution quantization and coding |
| EP2830054A1 (en) | 2013-07-22 | 2015-01-28 | Fraunhofer Gesellschaft zur Förderung der angewandten Forschung e.V. | Audio encoder, audio decoder and related methods using two-channel processing within an intelligent gap filling framework |
| EP2830055A1 (en) * | 2013-07-22 | 2015-01-28 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Context-based entropy coding of sample values of a spectral envelope |
| WO2016142002A1 (en) | 2015-03-09 | 2016-09-15 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Audio encoder, audio decoder, method for encoding an audio signal and method for decoding an encoded audio signal |
| GB2559199A (en) * | 2017-01-31 | 2018-08-01 | Nokia Technologies Oy | Stereo audio signal encoder |
| CN115050378B (zh) * | 2022-05-19 | 2024-06-07 | 腾讯科技(深圳)有限公司 | 音频编解码方法及相关产品 |
| US12380902B2 (en) | 2023-10-18 | 2025-08-05 | Cisco Technology, Inc. | Vector quantizer correction for audio codec system |
| US12308037B2 (en) | 2023-10-18 | 2025-05-20 | Cisco Technology, Inc. | Reduced multidimensional indices compression for audio codec system |
| WO2025149676A1 (en) * | 2024-01-12 | 2025-07-17 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Transform-based block-wise coding using prediction |
Family Cites Families (66)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5233055A (en) | 1991-03-19 | 1993-08-03 | Shell Oil Company | Copolymerization of polyethercyclicpolyols with epoxy resins |
| US5253055A (en) * | 1992-07-02 | 1993-10-12 | At&T Bell Laboratories | Efficient frequency scalable video encoding with coefficient selection |
| US5710562A (en) | 1995-08-31 | 1998-01-20 | Ricoh Company Ltd. | Method and apparatus for compressing arbitrary data |
| US5852806A (en) * | 1996-03-19 | 1998-12-22 | Lucent Technologies Inc. | Switched filterbank for use in audio signal coding |
| EP0990368B1 (en) * | 1997-05-08 | 2002-04-24 | STMicroelectronics Asia Pacific Pte Ltd. | Method and apparatus for frequency-domain downmixing with block-switch forcing for audio decoding functions |
| US6226608B1 (en) * | 1999-01-28 | 2001-05-01 | Dolby Laboratories Licensing Corporation | Data framing for adaptive-block-length coding system |
| IL129345A (en) * | 1999-04-06 | 2004-05-12 | Broadcom Corp | Video encoding and video/audio/data multiplexing device |
| ATE320651T1 (de) * | 2001-05-08 | 2006-04-15 | Koninkl Philips Electronics Nv | Kodieren eines audiosignals |
| US7460993B2 (en) * | 2001-12-14 | 2008-12-02 | Microsoft Corporation | Adaptive window-size selection in transform coding |
| US7240001B2 (en) * | 2001-12-14 | 2007-07-03 | Microsoft Corporation | Quality improvement techniques in an audio encoder |
| EP1333679B1 (en) | 2002-02-05 | 2004-04-14 | Siemens Aktiengesellschaft | Data compression |
| US7599835B2 (en) * | 2002-03-08 | 2009-10-06 | Nippon Telegraph And Telephone Corporation | Digital signal encoding method, decoding method, encoding device, decoding device, digital signal encoding program, and decoding program |
| US7110941B2 (en) * | 2002-03-28 | 2006-09-19 | Microsoft Corporation | System and method for embedded audio coding with implicit auditory masking |
| WO2003083856A1 (en) * | 2002-03-28 | 2003-10-09 | Craven Peter G | Context coding |
| US7275036B2 (en) * | 2002-04-18 | 2007-09-25 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Apparatus and method for coding a time-discrete audio signal to obtain coded audio data and for decoding coded audio data |
| KR100462611B1 (ko) | 2002-06-27 | 2004-12-20 | 삼성전자주식회사 | 하모닉 성분을 이용한 오디오 코딩방법 및 장치 |
| US7536305B2 (en) * | 2002-09-04 | 2009-05-19 | Microsoft Corporation | Mixed lossless audio compression |
| DE60330198D1 (de) | 2002-09-04 | 2009-12-31 | Microsoft Corp | Entropische Kodierung mittels Anpassung des Kodierungsmodus zwischen Niveau- und Lauflängenniveau-Modus |
| US7328150B2 (en) | 2002-09-04 | 2008-02-05 | Microsoft Corporation | Innovations in pure lossless audio compression |
| US7299190B2 (en) * | 2002-09-04 | 2007-11-20 | Microsoft Corporation | Quantization and inverse quantization for audio |
| US7433824B2 (en) * | 2002-09-04 | 2008-10-07 | Microsoft Corporation | Entropy coding by adapting coding between level and run-length/level modes |
| US7502743B2 (en) * | 2002-09-04 | 2009-03-10 | Microsoft Corporation | Multi-channel audio encoding and decoding with multi-channel transform selection |
| DE60231844D1 (de) * | 2002-12-20 | 2009-05-14 | Nokia Corp | Utzerseitiger information mit meta-information |
| DE10328777A1 (de) * | 2003-06-25 | 2005-01-27 | Coding Technologies Ab | Vorrichtung und Verfahren zum Codieren eines Audiosignals und Vorrichtung und Verfahren zum Decodieren eines codierten Audiosignals |
| US7343291B2 (en) * | 2003-07-18 | 2008-03-11 | Microsoft Corporation | Multi-pass variable bitrate media encoding |
| US7509161B2 (en) * | 2003-10-22 | 2009-03-24 | Instrumentarium Corporation | Method and apparatus for determining the cerebral state of a patient using generalized spectral entropy of the EEG signal |
| DE102004007200B3 (de) * | 2004-02-13 | 2005-08-11 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Audiocodierung |
| US20050185541A1 (en) * | 2004-02-23 | 2005-08-25 | Darren Neuman | Method and system for memory usage in real-time audio systems |
| KR20050087956A (ko) * | 2004-02-27 | 2005-09-01 | 삼성전자주식회사 | 무손실 오디오 부호화/복호화 방법 및 장치 |
| KR100561869B1 (ko) * | 2004-03-10 | 2006-03-17 | 삼성전자주식회사 | 무손실 오디오 부호화/복호화 방법 및 장치 |
| TWI246256B (en) * | 2004-07-02 | 2005-12-21 | Univ Nat Central | Apparatus for audio compression using mixed wavelet packets and discrete cosine transformation |
| KR101050261B1 (ko) * | 2004-07-14 | 2011-07-19 | 에이전시 포 사이언스, 테크놀로지 앤드 리서치 | 콘텍스트 기반의 신호 엔코딩 및 디코딩 |
| ATE406652T1 (de) * | 2004-09-06 | 2008-09-15 | Matsushita Electric Industrial Co Ltd | Skalierbare codierungseinrichtung und skalierbares codierungsverfahren |
| SE0402651D0 (sv) * | 2004-11-02 | 2004-11-02 | Coding Tech Ab | Advanced methods for interpolation and parameter signalling |
| US7428342B2 (en) * | 2004-12-17 | 2008-09-23 | Microsoft Corporation | Reversible overlap operator for efficient lossless data compression |
| US7788106B2 (en) * | 2005-04-13 | 2010-08-31 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Entropy coding with compact codebooks |
| US7991610B2 (en) * | 2005-04-13 | 2011-08-02 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Adaptive grouping of parameters for enhanced coding efficiency |
| US7196641B2 (en) * | 2005-04-26 | 2007-03-27 | Gen Dow Huang | System and method for audio data compression and decompression using discrete wavelet transform (DWT) |
| US7411528B2 (en) * | 2005-07-11 | 2008-08-12 | Lg Electronics Co., Ltd. | Apparatus and method of processing an audio signal |
| US7539612B2 (en) * | 2005-07-15 | 2009-05-26 | Microsoft Corporation | Coding and decoding scale factor information |
| US8599925B2 (en) * | 2005-08-12 | 2013-12-03 | Microsoft Corporation | Efficient coding and decoding of transform blocks |
| US20070036228A1 (en) * | 2005-08-12 | 2007-02-15 | Via Technologies Inc. | Method and apparatus for audio encoding and decoding |
| US20070078645A1 (en) | 2005-09-30 | 2007-04-05 | Nokia Corporation | Filterbank-based processing of speech signals |
| US7974713B2 (en) * | 2005-10-12 | 2011-07-05 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Temporal and spatial shaping of multi-channel audio signals |
| US8473298B2 (en) | 2005-11-01 | 2013-06-25 | Apple Inc. | Pre-resampling to achieve continuously variable analysis time/frequency resolution |
| CN101390443B (zh) * | 2006-02-21 | 2010-12-01 | 皇家飞利浦电子股份有限公司 | 音频编码和解码 |
| KR101244310B1 (ko) * | 2006-06-21 | 2013-03-18 | 삼성전자주식회사 | 광대역 부호화 및 복호화 방법 및 장치 |
| KR101346358B1 (ko) * | 2006-09-18 | 2013-12-31 | 삼성전자주식회사 | 대역폭 확장 기법을 이용한 오디오 신호의 부호화/복호화방법 및 장치 |
| US7275936B1 (en) * | 2006-09-22 | 2007-10-02 | Lotes Co., Ltd. | Electrical connector |
| US20080097757A1 (en) * | 2006-10-24 | 2008-04-24 | Nokia Corporation | Audio coding |
| CN101682772B (zh) * | 2007-03-14 | 2012-03-21 | 日本电信电话株式会社 | 码量推定方法、装置、其程序和记录介质 |
| US20080294446A1 (en) | 2007-05-22 | 2008-11-27 | Linfeng Guo | Layer based scalable multimedia datastream compression |
| EP2015293A1 (en) * | 2007-06-14 | 2009-01-14 | Deutsche Thomson OHG | Method and apparatus for encoding and decoding an audio signal using adaptively switched temporal resolution in the spectral domain |
| US7774205B2 (en) * | 2007-06-15 | 2010-08-10 | Microsoft Corporation | Coding of sparse digital media spectral data |
| US8515767B2 (en) * | 2007-11-04 | 2013-08-20 | Qualcomm Incorporated | Technique for encoding/decoding of codebook indices for quantized MDCT spectrum in scalable speech and audio codecs |
| US8325800B2 (en) | 2008-05-07 | 2012-12-04 | Microsoft Corporation | Encoding streaming media as a high bit rate layer, a low bit rate layer, and one or more intermediate bit rate layers |
| US8447591B2 (en) | 2008-05-30 | 2013-05-21 | Microsoft Corporation | Factorization of overlapping tranforms into two block transforms |
| EP2144230A1 (en) * | 2008-07-11 | 2010-01-13 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Low bitrate audio encoding/decoding scheme having cascaded switches |
| PL2346029T3 (pl) * | 2008-07-11 | 2013-11-29 | Fraunhofer Ges Forschung | Koder sygnału audio, sposób kodowania sygnału audio i odpowiadający mu program komputerowy |
| JP5606433B2 (ja) * | 2008-07-11 | 2014-10-15 | フラウンホーファー−ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン | オーディオエンコーダ及びオーディオデコーダ |
| US8660176B2 (en) * | 2008-09-26 | 2014-02-25 | Qualcomm Incorporated | Resolving geometric relationships among video data units |
| ES2531013T3 (es) * | 2009-10-20 | 2015-03-10 | Fraunhofer Ges Forschung | Codificador de audio, decodificador de audio, método para codificar información de audio, método para decodificar información de audio y programa de computación que usa la detección de un grupo de valores espectrales previamente decodificados |
| BR122021008581B1 (pt) * | 2010-01-12 | 2022-08-16 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Codificador de áudio, decodificador de áudio, método de codificação e informação de áudio, e método de decodificação de uma informação de áudio que utiliza uma tabela hash que descreve tanto valores de estado significativos como limites de intervalo |
| EP2717261A1 (en) * | 2012-10-05 | 2014-04-09 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Encoder, decoder and methods for backward compatible multi-resolution spatial-audio-object-coding |
| EP2830058A1 (en) | 2013-07-22 | 2015-01-28 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Frequency-domain audio coding supporting transform length switching |
| RU2638734C2 (ru) * | 2013-10-18 | 2017-12-15 | Фраунхофер-Гезелльшафт Цур Фердерунг Дер Ангевандтен Форшунг Е.Ф. | Кодирование спектральных коэффициентов спектра аудиосигнала |
-
2009
- 2009-05-18 JP JP2011516973A patent/JP5606433B2/ja active Active
- 2009-05-18 ES ES24166206T patent/ES3002107T3/es active Active
- 2009-05-18 ES ES09776624.0T patent/ES2651437T3/es active Active
- 2009-05-18 PL PL24166207.1T patent/PL4376306T3/pl unknown
- 2009-05-18 BR BR122021007875-0A patent/BR122021007875B1/pt active IP Right Grant
- 2009-05-18 CA CA2729925A patent/CA2729925C/en active Active
- 2009-05-18 MX MX2011000379A patent/MX2011000379A/es active IP Right Grant
- 2009-05-18 PL PL09776624T patent/PL2301019T3/pl unknown
- 2009-05-18 ES ES24166205T patent/ES2998032T3/es active Active
- 2009-05-18 EP EP17190130.9A patent/EP3300076B1/en active Active
- 2009-05-18 EP EP23165074.8A patent/EP4224471B1/en active Active
- 2009-05-18 PL PL24166208.9T patent/PL4376307T3/pl unknown
- 2009-05-18 KR KR1020117000610A patent/KR101456641B1/ko active Active
- 2009-05-18 PL PL24166206.3T patent/PL4376305T3/pl unknown
- 2009-05-18 FI FIEP19160283.8T patent/FI3573056T3/fi active
- 2009-05-18 ES ES24166208T patent/ES3001990T3/es active Active
- 2009-05-18 BR BR122021008239-1A patent/BR122021008239B1/pt active IP Right Grant
- 2009-05-18 BR BRPI0910796-7A patent/BRPI0910796B1/pt active IP Right Grant
- 2009-05-18 PT PT97766240T patent/PT2301019T/pt unknown
- 2009-05-18 BR BR122021007798-3A patent/BR122021007798B1/pt active IP Right Grant
- 2009-05-18 WO PCT/EP2009/003521 patent/WO2010003479A1/en not_active Ceased
- 2009-05-18 RU RU2011102424/08A patent/RU2487427C2/ru active
- 2009-05-18 EP EP21190867.8A patent/EP3937167B1/en active Active
- 2009-05-18 DK DK19160283.8T patent/DK3573056T3/da active
- 2009-05-18 PL PL19160283.8T patent/PL3573056T3/pl unknown
- 2009-05-18 PL PL17190130T patent/PL3300076T3/pl unknown
- 2009-05-18 EP EP24166205.5A patent/EP4369609B1/en active Active
- 2009-05-18 EP EP24166207.1A patent/EP4376306B1/en active Active
- 2009-05-18 EP EP24166208.9A patent/EP4376307B1/en active Active
- 2009-05-18 MY MYPI2011000097A patent/MY160260A/en unknown
- 2009-05-18 EP EP09776624.0A patent/EP2301019B1/en active Active
- 2009-05-18 CN CN2009801272072A patent/CN102089813B/zh active Active
- 2009-05-18 EP EP23165075.5A patent/EP4224472B1/en active Active
- 2009-05-18 PL PL23165074.8T patent/PL4224471T3/pl unknown
- 2009-05-18 PT PT191602838T patent/PT3573056T/pt unknown
- 2009-05-18 EP EP19160283.8A patent/EP3573056B1/en active Active
- 2009-05-18 PT PT17190130T patent/PT3300076T/pt unknown
- 2009-05-18 PL PL24166205.5T patent/PL4369609T3/pl unknown
- 2009-05-18 AU AU2009267543A patent/AU2009267543B2/en active Active
- 2009-05-18 ES ES19160283T patent/ES2934052T3/es active Active
- 2009-05-18 EP EP24166206.3A patent/EP4376305B1/en active Active
- 2009-05-18 ES ES24166207T patent/ES3002157T3/es active Active
- 2009-05-18 ES ES17190130T patent/ES2731424T3/es active Active
- 2009-05-18 ES ES23165074T patent/ES2995183T3/es active Active
- 2009-06-29 TW TW098121850A patent/TWI449033B/zh active
- 2009-06-30 AR ARP090102436A patent/AR072422A1/es active IP Right Grant
-
2010
- 2010-12-23 ZA ZA2010/09258A patent/ZA201009258B/en unknown
-
2011
- 2011-01-11 US US13/004,282 patent/US8930202B2/en active Active
- 2011-01-21 CO CO11006444A patent/CO6351831A2/es active IP Right Grant
-
2015
- 2015-01-05 US US14/589,881 patent/US10242681B2/en active Active
-
2019
- 2019-02-22 US US16/283,591 patent/US10685659B2/en active Active
-
2020
- 2020-05-29 US US16/888,176 patent/US11670310B2/en active Active
-
2023
- 2023-04-14 US US18/301,191 patent/US12039985B2/en active Active
- 2023-04-14 US US18/301,194 patent/US11942101B2/en active Active
-
2024
- 2024-04-05 US US18/628,632 patent/US12198708B2/en active Active
- 2024-04-05 US US18/628,500 patent/US12205603B2/en active Active
- 2024-04-05 US US18/628,556 patent/US12230285B2/en active Active
- 2024-04-05 US US18/628,590 patent/US12198707B2/en active Active
Also Published As
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| BRPI0910796A2 (pt) | codificador de áudio e decodificador de áudio | |
| BRPI0718423B1 (pt) | Método para sintetizar um sinal de áudio digital, dispositivo de síntese de sinal de áudio digital, dispositivo para receber um sinal de áudio digital, e memória de um dispositivo de síntese de sinal de áudio digital | |
| BR122021006965B1 (pt) | Codificador de áudio e decodificador de áudio | |
| ES2993574T3 (en) | Audio decoder | |
| HK1253032B (en) | Audio encoder and audio decoder | |
| HK1155845B (en) | Audio encoder and audio decoder |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| B06U | Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette] | ||
| 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: 20 (VINTE) ANOS CONTADOS A PARTIR DE 18/05/2009, OBSERVADAS AS CONDICOES LEGAIS. PATENTE CONCEDIDA CONFORME ADI 5.529/DF, QUE DETERMINA A ALTERACAO DO PRAZO DE CONCESSAO. |