999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于ARM處理器的AAC音頻解碼算法優化和仿真

2018-07-12 01:07:52林飛成都東軟學院實驗實訓中心
數碼世界 2018年6期
關鍵詞:指令優化

林飛 成都東軟學院實驗實訓中心

引言:2017年5月互聯網上一則關于“MP3格式宣告死亡”的新聞[1]引起熱議,當民眾熟悉的MP3格式面臨退出歷史舞臺之時,它的最有力繼任者AAC音頻格式逐步引發關注。其實,早在1999年MPEG組織便制定了ISO/IEC14496標準[2](俗稱MPEG4標準)。MPEG4_AAC 作為ISO/IEC 14496 part 3中的一部分于2000年公布初版,最近一個版本更新到2009年。

對于MPEG的音視頻標準,ISO/IEC都公開提供標準C語言的參考軟件,另外,其他組織也有相應的開放源碼項目。而對于嵌入式系統而言,當前主要是ARM處理器,和基于x86處理器的PC平臺相比,在性能和各種硬件資源上非常受限。因此這些參考軟件代碼能夠根據嵌入式ARM處理器做一定優化,比如通過利用ARM處理器新增的DSP擴展指令完成常規的數字信號處理運算,則可以大大節省常規指令的低效率調用時間。解碼函數調用時間的縮短,有利于終端設備節省寶貴的電池資源,也有利于APP程序的用戶流暢體驗。

本文將以Audio Coding組織開發的FAAD工具包(Open Source項目)為基礎來實現AAC音頻解碼算法優化,并在ARM公司官方的仿真工具上提供分析和結論。

1 AAC音頻解碼算法概述

AAC音頻編解碼系統算法借鑒了MP3感知編碼的成功經驗,也以心理聲學模型運用為主,通過添加新的工具集,使得其具備了相當的靈活性。下圖給出了典型的AAC音頻解碼流程圖。

圖1 AAC的解碼流程圖

其中,粗箭頭部分代表音頻碼流,細箭頭代表編碼器控制信息。TNS即瞬時噪聲成形,用于控制編碼噪聲的細微時間結構。濾波器組利用M=4的多相正交濾波器(PQF)劃分為四個等寬的子帶,完成對輸入碼流的IMDCT變換,從時域轉為頻域。M/S工具用于提高編碼效率,在M/S判決信息控制下,把中/邊(Mid/Side)聲道的一對輸出頻譜轉至左/右(L/R)聲道。熵編碼應用Huffman編碼及其指定Huffman表。

從上述AAC的解碼過程不難看出,解碼算法工作量主要集中在濾波器組IMDCT變換數學運算部分,本文將闡述這個部分的算法優化思路,以及基于ARM處理器仿真工具的軟件實現。

2 反濾波器組IMDCT運算優化

反濾波器組運算是由IMDCT(Inverse Modified Discrete Cosine Transform改進的離散余弦反變換)完成的,由ARMulator仿真數據可以看出它要占整個AAC解碼過程中一半以上的運算量。因此很有必要對IMDCT做重點優化。近年來國內外對IMDCT的快速算法研究比較多,這些快速算法普遍利用了IMDCT和IDCT的密切關系,要么直接用快速DCT變換,要么利用FFT來計算,在窗函數處理上都是相似的,它們的運算復雜度也相差不大。由于在AAC標準中,窗長均是2的冪,且FFT算法相當成熟,比較適合ARM處理器上實現,故選擇Duhamel & Mahieux[3]提出的快速MDCT/IMDCT算法作為本文研究對象。

為敘述方便,這里免去該算法的理論推導,直接給出該算法的簡單計算步驟:

1.預運算

預運算的目的是對頻域數據進行一定的處理,使之可以直接利用FFT運算;

2.IFFT

直接利用一般的IFFT運算,對于不同的處理器架構可以選擇不同的實現方式;

3.后運算

后運算將IFFT后的數據再進行適當縮放,再將實部和虛部分開,得到對應的時域數據。

在MP3標準中,對MDCT規定了兩種窗長,即長窗為36點,短窗為12點。由于這兩種窗長都不是2的冪,故一般的快速MDCT算法都采用基3 FFT來計算。另外,MP3標準對窗函數只規定了正弦窗,使得這些算法采用了正弦窗函數的對稱性來減少計算量。

在AAC標準中,MDCT還是兩種窗長,不過長窗為2048點,短窗為256點。兩種窗長都是2的冪,但不是4的冪,一般的快速算法采用基2 FFT[4]來計算。采用基2和基4的組合構成的分裂基計算可以獲得更好的性能,但由于其特殊的結構不利于ARM匯編語言快速實現。因此可以對長窗仍采用基2 FFT(512點)運算,而對于短窗可以采用效率更高的基4 FFT(64點)運算。

值得說明的是在AAC標準[2]中也允許對小幀長的支持,這樣長窗為1920點,短窗為240點,這些數值非2的冪不能套用上面的算法。此外這將會增加程序兼容性的負擔。

ARM處理器在ARMv5TE架構開始就加入了DSP增強擴展指令,下面給出了ARMv5TE架構下利用匯編宏函數實現復數乘法的示例:

圖2 32×16位單周期乘法指令應用示意

3 仿真結果和分析

仿真工具為ARM公司的開發工具ARMulator[5](指令集仿真器),包含于ADS(ARM Developer Suite)集成開發環境中。ARMulator不僅可以仿真ARM處理器的體系結構和指令集,還可以仿真Cache,MMU,存儲器甚至某些外圍設備,ADS軟件包內提供了這些參考模塊,另外開發者還可以通過規范編寫用戶模塊。ARM公司當前流行的開發工具RealView包含一個類似的指令集仿真器(Instruction Set Simulator),兩者提供的功能是相同的,因此不再贅述。本文用到的仿真結果包括統計(Statistics)信息和剖析(profiling)信息,前者用于數據流和功耗估計,后者用于算法和編程優化。

ARMulator比較可取的地方是能夠完整執行整個解碼軟件程序,從測試文件輸入到生成輸出文件。測試文件為AAC文件,輸出文件為WAV文件,便于音質(誤差)的定量分析。

圖2可以看到負荷最重的IMDCT模塊在優化后占用時間由37.35%降到16.93%,而使得其他模塊的占用時間相對上升(例如Huffman相對略有抬升),但絕對解碼時間明顯縮短了。

圖3 算法優化剖析信息對比

通過上面的分析我們可以對IMDCT模塊優化前后在ARMulator中獲取更詳細的Statistics信息。在測試例中分別對長窗(N=2048)和短窗(N=256)的FFT變換做比較。基4 FFT匯編優化方法得到的性能提升是顯著的,在指令周期上節省了50%的運算量,而堆棧大小同時也縮小了,指令數減少使得間接提高了Cache命中率。Cache行填充次數的顯著減少使得外部存儲器訪問頻率大大降低,速度功耗比得到了顯著增強。

4 結束語

隨著消費類電子軟硬件技術的飛速發展,更高品質的音頻會帶給用戶更好的體驗。而當前不斷涌現更新的音頻編解碼算法,對于資源受限的嵌入式系統而言,需要更高效的軟件算法和優化手段。本文對AAC音頻解碼運算中耗時最多的三個模塊的快速算法實現和優化的問題。通過ARM軟件系統的仿真,相比普通解碼軟件實現,本優化實例節省了20%左右的解碼時間,對ARM處理器在嵌入式數字信號處理領用有一定借鑒意義。

猜你喜歡
指令優化
聽我指令:大催眠術
超限高層建筑結構設計與優化思考
房地產導刊(2022年5期)2022-06-01 06:20:14
民用建筑防煙排煙設計優化探討
關于優化消防安全告知承諾的一些思考
一道優化題的幾何解法
由“形”啟“數”優化運算——以2021年解析幾何高考題為例
ARINC661顯控指令快速驗證方法
測控技術(2018年5期)2018-12-09 09:04:26
LED照明產品歐盟ErP指令要求解讀
電子測試(2018年18期)2018-11-14 02:30:34
殺毒軟件中指令虛擬機的脆弱性分析
電信科學(2016年10期)2016-11-23 05:11:56
基于低碳物流的公路運輸優化
現代企業(2015年2期)2015-02-28 18:45:09
主站蜘蛛池模板: 久久无码高潮喷水| 亚洲第一页在线观看| 一区二区三区四区在线| 亚洲专区一区二区在线观看| 亚洲中文字幕久久无码精品A| 国产91丝袜在线播放动漫| 亚洲欧美成人影院| 国产黄在线免费观看| 88av在线| 国产网站在线看| 蜜桃视频一区二区| 91精品人妻互换| 欧美笫一页| 亚洲黄网在线| 高h视频在线| 国产小视频在线高清播放| www.91在线播放| 国产va欧美va在线观看| 国产99在线| 99激情网| 91无码网站| 69综合网| 波多野结衣久久高清免费| 亚洲免费成人网| 久久无码免费束人妻| 91精品啪在线观看国产60岁| 男人的天堂久久精品激情| 国产精品成人免费视频99| 免费jjzz在在线播放国产| 精品国产免费观看一区| 国产视频久久久久| 欧洲亚洲一区| 日韩精品一区二区三区大桥未久| 91视频青青草| 2021国产精品自拍| 国产污视频在线观看| 99er精品视频| 高清无码手机在线观看 | 日本三区视频| 亚洲国内精品自在自线官| 亚洲天堂免费| 中国成人在线视频| 99中文字幕亚洲一区二区| 一区二区影院| 亚洲欧美国产高清va在线播放| 青青草原国产av福利网站| AV不卡在线永久免费观看| 三上悠亚在线精品二区| 久久人体视频| 国产精品对白刺激| 欧美成人综合在线| 欧美日韩国产在线观看一区二区三区| av一区二区三区在线观看| 婷婷色一区二区三区| 日本精品视频一区二区 | 成人福利在线视频| 熟妇丰满人妻av无码区| 国产香蕉国产精品偷在线观看| 香蕉eeww99国产在线观看| 国产成人久久777777| 国产精品hd在线播放| 亚洲一区二区三区香蕉| 香蕉伊思人视频| 无码丝袜人妻| 乱人伦视频中文字幕在线| 久久久精品国产SM调教网站| 亚洲天堂在线免费| 国产在线精品美女观看| 毛片久久久| 国产色伊人| 国产在线拍偷自揄观看视频网站| 欧美天天干| 全裸无码专区| 国产午夜精品一区二区三区软件| a毛片免费观看| 国内精品九九久久久精品| 熟女成人国产精品视频| 国产激爽大片在线播放| 亚洲黄色片免费看| 亚洲欧美成人在线视频| 欧美精品影院| 2021国产精品自产拍在线|