• 沒有找到結果。

A.1 文獻探討

AAC 是 MPEG-2 中的音訊編碼標準,於 1997 制定完成。MPEG-2 AAC 聲訊編碼標準 捨棄與 MPEG-1 聲訊編碼標準的相容性,加入了時域雜訊重整 Temporal Noise Shaping (TNS) 及預測 Prediction 這兩個獨立的新模組,因此 AAC 能提供比 MP3 更好的壓縮率及聲訊品質 [1] [2]。MPEG-4 AAC Version 2 是 ISO/IEC MPEG 於 1999 年制定完成之新一代聲訊編碼標 準,架構如圖 A.1所示。MPEG-4 AAC 聲訊編碼是以 MPEG-2 AAC 為基礎,並加入了數個 獨立的新模組,長期預測 Long Term Prediction (LTP)、感知雜訊替代 Perceptual Noise Sub-stitution (PNS)、Transform-Domain Weighted Interleave Vector Quantization (Twin-VQ)等。這些 新的模組將有助於更低位元率的聲訊壓縮。

本計畫使用德州儀器 C6416 這顆 DSP 作為實現平台,同時把 AAC 編解碼器實現在 II(Innovative Integration) 所提供的 Quixote DSP 平台上,並且針對需大量運算的部分做加速。

圖 A.1 MPEG-4 AAC 聲訊編碼整體架構

A.2 研究方法

我們為了將程式放在 DSP 上,因此統計 AAC 編碼器在 DSP 上執行的時間,結果如圖 A.2 所示。

圖 A.2 AAC 執行效率方塊圖

根據圖 A.2的結果,我們可以發現心理聲學模式(Psycho-acoustic mode)以及位元編碼 (Bit allocation)所佔的執行時間最多,因此我們參考了一些快速演算法來做改善。

A.2.1 心理聲學模式 Psycho-acoustic model

心理聲學模式會對輸入的音訊資料做分析並且決定出下一級的量化編碼時所產生的量 化雜訊可以允許到哪種程度,而利用此資訊可以在有限制的編碼位元數來做編碼,圖 A.3 為心理聲學模式之流程圖。

圖 A.3心理聲學模式之方塊圖

根據[3],我們利用比較快速的演算法來改善心理聲學模式,此演算法利用已經在 Filterbank 處理方塊的修正離散餘弦轉換 MDCT 取代快速頻域轉換 FFT,並且也利用建表法 來處理展開函式 Spreading function 的運算,如圖 A.4 所示。

圖 A.4 快速演算法之心理聲學模式

A.2.2 位元編碼 Bit Allocation

位元編碼主要是在有限制的位元數並且編碼中所造成的量化雜訊合乎允許下,對資料做 最佳效果編碼的工作。它主要有兩個迴圈,外迴圈主要是控制量化雜訊,而此量化雜訊是從 內迴圈的頻域資料的量化所造成,而內迴圈主要是做量化及編碼的工作,如圖 A.5 所示。因 此要在有限的位元數編碼允許下且減少量化雜訊目標下,常常因為重複執行兩個迴圈而導致 龐大計算量。

圖 A.5 位元編碼之方塊圖

根據[4],我們加速了外迴圈,使它只需要執行一次迴圈即可。而此快速演算法是利用 估計雜訊的原理,去計算出我們所要的 scale factor 值,進而使內迴圈在編碼時所產生的量 化雜訊合乎標準。此快速演算步驟如圖 A.6 所示。

圖 A.6 快速演算法之位元編碼

A.3 實驗與結果

A.3.1 在 DSP 上的模擬結果

我們在 DSP 上的模擬下,表 A.1是效能的改善,其中(b)是針對程式架構以及在 DSP 上 的環境設定的修改所改善的幅度,(c)則是加上演算法的改良後,最後所得出的效能改善。

Total Execution Cycles Performance Improvement (a) Original 2,126,810,017

(b) Code Acceleration 1,627,141,833 23.5 % (c) Final 470,273,769 77.89 %

表 A.1 在 DSP 上的程式加速結果

表 A.2則是主要函式跟原來相比後的效率改善幅度。

Function Improvement (%)

Total 77.89 Psycho-acoustics 89.09

Filterbank 34.55 Quantization and Bit-allocation 73.52

表 A.2 主要函式在 DSP 上的加速結果

A.3.2 DSP 平台上的實現結果

最後我們把 AAC 編碼器實現在 DSP 板子上去執行,所得的結果如表 A.3,其中(b)是 開啟 CCS 的一些最佳化設定,(c)是加上程式架構修改後的結果,(d)則是再加上演算法改良 後最後的結果。經過加速後,此程式在 DSP 平台上的速度可以達到即時 real-time 的效果。

(a) (b) (c) (d)

AAC en-coder

Without open opt. level

Open opt. level (file level)

Code Accelera-tion

Final

implementation result

Time

(s/frame) 0.1742 0.13925 0.08724 0.008 表 A.3 實現結果

A.4 結論

我們為了在 DSP 平台上加速先進音訊編碼器,因此針對 DSP 的架構使用了一些程式技 巧,包括 fixed-point 資料型態、TI DSP 的特殊指令等等。除此之外,我們也參考了一些快 速運行的演算法,並套用在原來的音訊編碼器之心理聲學模式及量化位元編碼上。經由這些 的程式修改,最後的編碼器版本在 DSP 上的執行速度比原來的有了 77.89%的改善幅度。並 且我們也成功的把先進音訊編碼器及解碼器兩者實現在 II(Innovative Integration) 所提供的 Quixote DSP 平台上。而在主端及客端的傳輸介面,我們採用了緩衝之區塊傳輸模式,此模 式讓我們容易實現整個架構。最後經由我們的加速及系統實現,此先進音訊編碼及解碼器各 自都可達到即時編解碼的效果。

相關文件