摘 要: 提出一種高效的編解碼實現(xiàn)方案。在時頻分析模塊中,利用MDCT 的對稱性和奇偶性,快速得到MDCT 變換輸出值,節(jié)省運算時間和計算資源提高編碼效率。在量化/熵編碼模塊中,采用非線性量化和Huffman編碼來壓縮數(shù)據(jù),使量化的循環(huán)迭代次數(shù)減少,在保證量化誤差最小化的前提下,提高編碼速度。
關(guān)鍵詞: 電子防震;時頻分析;量化編碼;MDCT
電子防震ESP(Electronic Shock Protection)系統(tǒng)在便攜式或者車載伺服播放器等設(shè)備中應(yīng)用非常廣泛,防止這些設(shè)備由于遭受機械震動的影響而導(dǎo)致音頻數(shù)據(jù)不能正常連續(xù)播放,電子防震時間是其中最重要的指標。電子防震系統(tǒng)的防震時間由DRAM容量和音頻編碼算法的壓縮率決定,電子防震系統(tǒng)對音頻編解碼算法有3個方面的要求:(1)音質(zhì)基本無損失;(2)壓縮比越高,相同容量的DRAM支持的防震時間越長,或者相同防震時間下所需的DRAM更小,成本更低,一般要求達到4∶1以上的壓縮率;(3)由于在峰值處理階段,ESP系統(tǒng)需要并行完成2次編碼運算和1次解碼運算,如果采用軟件實現(xiàn),要求其編解碼算法的運算復(fù)雜度較低。
傳統(tǒng)的電子防震系統(tǒng)一般采用自適應(yīng)差分脈沖編碼調(diào)制(ADPCM)進行音頻編解碼。但是ADPCM編碼器有2個顯著的缺點:(1)ADPCM編解碼算法采用逐點計算的結(jié)構(gòu),運算量大,只能使用專用集成電路(ASIC)實現(xiàn),不適合軟件實時實現(xiàn),采用這種方案就需要在系統(tǒng)中添加專用ESP芯片,導(dǎo)致成本增加;(2)ADPCM編碼器的壓縮效率較低,高于4∶1的壓縮率會導(dǎo)致音質(zhì)明顯惡化。
目前還有一種技術(shù)提出了采用MPEG1音頻編解碼算法作為ESP的編解碼算法,能夠在音質(zhì)基本沒有損失的條件下提高壓縮比。但由于該方法采用心理聲學(xué)模型并且使用混合型的濾波器組進行時頻分析和逆時頻分析,運算復(fù)雜度高,硬件成本開銷大。
為了解決上述問題,本文提出了一種新的高效編解碼方法,它具有計算復(fù)雜度低、編碼速度快和適合軟件實現(xiàn)的優(yōu)點,能夠有效地延長電子防震時間。在時頻分析模塊中,利用改進型離散余弦變換MDCT(Modified Discrete Cosine Transform)的對稱性和奇偶性,快速得到MDCT變換輸出值,節(jié)省運算時間和計算資源,提高編碼效率。在量化/熵編碼模塊中,采用非線性量化和Huffman編碼來壓縮數(shù)據(jù),使量化的循環(huán)迭代次數(shù)減少,在保證量化誤差最小化的前提下,提高編碼速度。
1 系統(tǒng)及編解碼器架構(gòu)
常用的ESP系統(tǒng)架構(gòu)如圖1所示,包含了ESP編碼器,DRAM緩沖器和ESP解碼器。其工作機制是,當(dāng)開啟ESP系統(tǒng)時,音頻樣點依次通過ESP編碼器進行編碼,編碼后的碼流存儲在DRAM緩沖器中,DRAM緩沖區(qū)中的碼流經(jīng)ESP解碼器解碼輸出,從而實現(xiàn)一定時間的電子防震效果。

2 編解碼算法 2 048中選取。 本文所提出的算法能夠在使CD播放器音質(zhì)基本無損失的情況下,舍棄了心理聲學(xué)模型,用較小的運算量,實現(xiàn)較高的壓縮率從而達到較長的防震時間,提高動態(tài)隨機存儲器的使用效率,延長防震時間。同時算法采用基于塊的運算結(jié)構(gòu),適合軟件實現(xiàn),運算復(fù)雜度低,有利于降低系統(tǒng)主頻,從而降低系統(tǒng)功耗并提高系統(tǒng)的穩(wěn)定性。該技術(shù)適合軟件實現(xiàn),能有效延長防震時間。
現(xiàn)行的ESP編碼器一般都采用心理聲學(xué)模型,并且使用混合型的濾波器組進行時頻分析和逆時頻分析,導(dǎo)致ESP編碼器運算效率降低。本文提出的ESP編碼器舍棄了心理聲學(xué)模型,直接采用時頻分析模塊和量化/熵編碼模塊(或增加封裝模塊)架構(gòu),其結(jié)構(gòu)框圖如圖2所示。音頻樣點輸入時頻分析模塊后轉(zhuǎn)換為頻率系數(shù),頻率系數(shù)經(jīng)過量化/熵編碼模塊壓縮成比特流,比特流輸出到DRAM緩沖器。
ESP編碼器架構(gòu)還可以進一步擴展,增加封裝模塊,其架構(gòu)如圖3所示:
與ESP編碼器結(jié)構(gòu)類似,ESP解碼器的結(jié)構(gòu)框圖如圖4所示,從DRAM緩沖器中讀取1個比特塊長度的比特流,然后將比特塊長度的比特流送入熵解碼/反量化模塊的輸入緩沖區(qū),進行熵解碼和反量化運算后得到重建的頻率系數(shù)送入逆時頻分析模塊,進行逆改進型離散余弦變換IMDCT(Inverse Modified Discrete Cosine Transform)變換,重建時域信號并輸出播放。
2.1 編碼算法原理
ESP系統(tǒng)中編碼步驟包括:
(1)音頻樣點通過時頻分析轉(zhuǎn)換為頻率系數(shù);
(2)頻率系數(shù)經(jīng)過量化/熵編碼壓縮成比特流。
2.1.1 時頻分析
時頻分析模塊采用MDCT變換,該變換是基于時域混迭消除TDAC(Time-domain Aliasing Cancellation) 技術(shù)的改進型DCT,變換以幀為單位,相鄰幀間有一半的樣點重疊,能夠很好地消除分幀引起的時間域混疊,降低邊界效應(yīng),被廣泛應(yīng)用于數(shù)字音頻編碼系統(tǒng)的分析濾波器組中。因此,快速的MDCT實現(xiàn)算法是提高實時編碼的關(guān)鍵技術(shù)之一。
本文提出的MDCT算法定義如下[1]:

2.1.2 量化/熵編碼
量化編碼模塊采用循環(huán)結(jié)構(gòu),根據(jù)壓縮率的要求,采用非線性量化和Huffman編碼來壓縮數(shù)據(jù),在保證音質(zhì)的條件下,至少能夠達到5∶1的壓縮率。具體實現(xiàn)步驟如下:
(1)時頻分析模塊輸出的頻率系數(shù)乘以定標因子(Scaling Factor);
(2)對定標后的頻率系數(shù)進行非線性量化;
(3)將量化后的頻率系數(shù)兩兩組合成頻率系數(shù)對(每幀共N/4個頻率系數(shù)對);
(4)選取Huffman碼表,用該碼表對頻率系數(shù)對進行Huffman編碼,生成比特流;
(5)判斷Huffman編碼產(chǎn)生的比特數(shù)是否超出指定壓縮率的要求,如果超出就縮小定標因子,跳轉(zhuǎn)到步驟(1),直至滿足壓縮率的要求退出迭代。
步驟(2)所述量化公式可以為:y=int[x3/4],式中的int[.]函數(shù)表示取整數(shù)部分。步驟(4)所述碼表可以選取為1個固定的碼表。
2.1.3 封裝
本文提出的ESP編碼器還可以包括封裝模塊。一方面由于音頻信號本質(zhì)上是非平穩(wěn)的,在一段時間內(nèi)(10 ms量級)可以看作是短時平穩(wěn)信號,不同幀經(jīng)量化編碼輸出的比特數(shù)有很大變化,通過將M幀音頻信號量化編碼后的比特流封裝在1個比特塊中,可以降低峰值比特流的影響;另一方面由于比特塊的長度固定,ESP解碼器很容易確定每個比特塊的起始位置,無需費時地進行比特塊同步搜索,減小了系統(tǒng)的運算開銷。
該模塊將量化/熵編碼模塊輸出的M幀比特流依次封裝到1個固定長度的比特塊中,然后再輸出到DRAM緩沖器。若M幀比特流的長度之和小于比特塊的固定長度,比特塊的剩余部分可以用零填充。考慮到存儲空間、編解碼延遲、比特率平滑要求,M可在2~16間選取。
2.2 解碼器算法原理
ESP系統(tǒng)中解碼步驟包括:
(1)將1個比特塊長度的比特流進行熵解碼/反量化,得到重建的頻率系數(shù)。
(2)對頻率系數(shù)進行逆時頻IMDCT分析,得到重建后的時域信號并輸出播放。
2.2.1 熵解碼/反量化
同量化/熵編碼過程相反,熵解碼/反量化模塊的具體實現(xiàn)步驟如下:
(1)使用與ESP編碼器相同的碼表對輸入緩沖區(qū)的1個比特塊的比特流進行Huffman解碼,解碼得到M×N/4個頻率系數(shù)對,其中每個頻率系數(shù)對包含2個頻率系數(shù),共M×N/2個頻率系數(shù),以及M個反定標因子ISF[m](m=1,…,M),其中每幀1個反定標因子。
(2)對解碼得到的M×N/2個頻率系數(shù)進行反量化處理,得到線性的頻率系數(shù)。
(3)使用第(1)步解碼得到的反定標因子ISF[m](m=1,…,M),對第(2)步得到的線性頻率系數(shù)進行反定標(二者相乘),得到反定標后的頻率系數(shù)。
(4)將M×N/2個反定標后的頻率系數(shù),依次分為M幀,每幀N/2個頻率系數(shù),輸出至逆時頻分析模塊。
參考文獻
[1] CHENG Mu Huo. Fast IMDCT and MDCT algorithms a matrix approach[J]. IEEE Transactions on Signal Processing, 2003,51(1).
[2] BYCOND G L. A new algorithm to compute the discrete cosine transform[J]. IEEE Transactions on Acoustics. Speech,and Signal Processing.1984,32(6):1243-1245.
