亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

MPEG聲音編碼的單片DSP實現

系統 1921 0

[轉載于] http://blog.21ic.com/user1/5585/archives/2009/56686.html

作者 xgywinner 日期 2009-3-18 11:57:00

來源:北京郵電大學學報

1 MPEG聲音編碼原理

  MPEG聲音編碼是一種基于人耳聽覺特性的子帶聲音編碼算法,它屬于一種感覺聲音編碼方法.感覺聲音編碼算法的基本結構如圖1所示.根據編碼器著重于頻率分辨率還是時間分辨率,可分為子帶編碼器和變換編碼器.MPEG聲音第2層編碼算法在頻域上把聲音信號劃分為32個子帶,屬于一種子帶編碼器.在圖1 中,時頻映射也稱濾波器組,用于把輸入的聲音信號映射成亞抽樣的頻率分量.根據使用的濾波器組的性質,即濾波器組在頻域的分辨率的大小,這些頻率分量又可叫做子帶樣值或頻率線.

 MPEG聲音編碼的單片DSP實現

  (a)

  (b)

  圖1 感覺聲音解碼器結構框圖

  濾波器的輸出或者與濾波器組并行的時頻變換的輸出,提供給心理聲學模型以估計時間相關的聲音掩蔽門限.心理聲學模型使用了人們所知的同時掩蔽效應,包括有調音的掩蔽特性和無調音的掩蔽特性.如果使用聲音的前后掩蔽效應,還可進一步提高掩蔽門限估計的準確性.子帶樣值或頻率線按照盡量保證量化噪聲的頻譜處于掩蔽門限以下的準則進行量化和編碼,這樣能保證被人耳感知的量化引入的噪聲最小.根據對復雜度的要求,可以使用塊壓擴或熵編碼的分析合成方法.

  幀打包把量化編碼的輸出和相關邊信息按照規定的格式組合起來,以便供解碼器使用.

  2 編碼質量和DSP速度

  單片ADSP-2181實現MPEG聲音編碼關鍵需要解決兩個問題:一是如何保證聲音編碼質量;其次是如何充分利用DSP的運算速度.而這兩個問題往往又是一對矛盾,需要找到其最佳結合點.

  一般而言,決定MPEG聲音編碼器的優劣主要是聲學模型的好壞.但是,對于使用單片16bit定點DSP的應用而言,這個結論就不再適用了.分析表明,此時有限字長效應對編碼質量的影響成了主要矛盾.特別是分析濾波器組,截尾效應竟帶來了33倍于16bitAD轉換量化誤差的噪聲,而窗系數的有限長度表示則使本來高達96dB旁瓣衰減的濾波器響應降低到不到70dB.因此,要保證聲音編碼質量,分析濾波器組算法必須進行精度擴展.

  關于速度問題,首先想到的是使用快速算法,我們也嘗試了在子帶濾波中使用快速算法[4]. 但是,實踐證明,這些快速算法使用在DSP上效果并不理想,其原因有以下3條:(1)只考慮了加法和乘法的次數,而對附值、尋址等操作毫不關心,但對所有指令都是單周期的DSP而言,乘法和加法的次數相對其他操作并不顯得特別重要;(2)沒有考慮DSP的硬件特點,其算法不能充分發揮DSP的乘累加器(MAC)并行處理的能力;(3)ADSP-2181是為16位算法操作優化的,在需要精度擴展的情況下,運算量將以數量級的速度急劇增加.

  基于以上質量和速度要求的分析,我們選用了適合DSP乘累加指令的多相結構濾波器組實現方式,且采用基于MAC結構的精度擴展方法,較好地解決了編碼質量和DSP速度之間的矛盾.另外,對抽樣數據的輸入方式、心理聲學模型、比例因子編碼都進行了適于ADSP-2181的改進,減少了運算量,保證了實時性.

3 算法的軟件設計

  軟件設計是MPEG聲音編碼的單片DSP實現的核心,編碼質量和速度的要求都需要通過精心設計DSP軟件才能實現.

  (1)基于MAC結構的精度擴展 MPEG聲音編碼的分析濾波器組可以有許多種實現方式,多相結構是MPEG標準推薦的一種,其數學表示為

  ????? (1)

  ???? (2)

  分析表明,對Yk進行雙字擴展可將截尾效應帶來的噪聲降低33倍.但是,考慮到ADSP-2181只支持16bit的乘累加運算,需要對式(1)進行轉化,即

    (3) ?????????????????????????? Y k = HY k +2 -16 LY k

  ????? (4) 

  這樣,就可利用DSP的乘累加器結構,運算量只增加約1倍,存儲量只增加64個字.

  (2)輸入數據的組織 輸入數據的組織不但要考慮方便地從數模轉換器取得聲音原始數據,還要考慮輸入數據在片內數據RAM的存儲適合作為多相濾波器組和聲學模型的FFT運算的輸入.多相濾波器組每次移入32個新的聲音數據,移出32個舊的樣值,操作如下:

  ??????????????????? X i = X i -32 ,i=511,510,…,32
X i =next - input - audio - sample, i =31,30,…,0
  然而ADSP-2181并不適于實現數據的移動,每個賦值運算需要兩個指令才能完成,每次分析濾波操作需要1024個指令周期.如果利用ADSP- 2181的多通道自動緩沖串口及間接尋址能力,適當地組織輸入聲音數據,就可利用滑動窗的方法實現數據的移入和移出,如圖2所示.

  圖2 多相濾波的滑動窗技術

  為了保證幀邊界處理的連續性,輸入數據緩存應該設計成圓緩沖的形式,其長度應能存儲兩幀聲音輸入數據.當DSP在處理一幀數據時,輸入數據可以緩沖到另一幀.這樣,數據移動的開銷就節約了.同時,輸入數據的組織還要利于聲學模型的FFT運算,FFT需要利用ADSP-2181的地址反轉尋址模式.由于 FFT計算和輸入數據的緩存是同時進行的,所以FFT計算的指針需要地址反轉,而輸入緩沖的指針卻不能地址反轉,否則會導致輸入聲音數據排列混亂. ADSP-2181提供這種能力,它的第一地址指針組I0,I1,I2,I3有地址反轉能力,而第二地址指針組I4,I5,I6,I7卻不受地址反轉模式的影響.所以從第二地址指針組中選擇指針進行輸入緩沖,從第一地址指針組中選擇指針進行FFT計算.

  (3)聲學模型的改進 用DSP實現心理聲學模型的一個難題是其中有大量的對數運算,雖然可以用多項式逼近求得其近似值,但是其巨大的運算量說明這不是一個明智的選擇.在改進的心理聲學模型中,FFT運算后并不立即換算到對數域,而是用分段折線逼近線性域的掩蔽效應曲線.為簡單起見,使用與標準一致的分段方法.逼近采用取指數的多項式展開的一次項的方法,這種方法雖然比較粗糙,但正如前面分析的那樣,聲學模型在16bit定點實現時不是主要矛盾,因而還是可以接受的.

  得到掩蔽門限以后,為計算信掩比供比特分配使用,還是需要從線性域轉換到對數域.這時,我們采用一種利用ADSP-2181移位器的近似計算方法.通過EXP指令,可以提取2進制補碼小數的指數,對能量而言又有1bit約3dB.因而指數值乘3就近似得到該補碼小數的dB值,尾數部分的影響忽略不計.

  (4)比例因子的編碼 MPEG聲音編碼標準中一共給出了63個比例因子,但是并不是所有這些比例因子都可以用16bit的2進制數表示.如果用雙字進行精度擴展,在量化時又將面臨雙字除法的巨大開銷,因此,只使用其中可以用16bit的2進制補碼小數精確表示的子集,即序號為3的倍數且小于等于45 的比例因子.

  采用比例因子子集后,比例因子編碼就可以不再通過比較的方法得到,而可以直接通過計算子帶最大幅度的指數獲得,簡化了比例因子的編碼.

  (5)軟件仿真結果 結合上述各項算法改進,根據ADSP-2181的特點和MPEG標準,用AD公司的開發軟件進行了軟件仿真.表1列出了仿真得到的各個模塊對運算量和存儲量要求進行的估算結果.仿真在抽樣率為48kHz,編碼模式為立體聲,輸入信號為頻率為1kHz的正弦波,輸出碼率為 192kbit/s的情況下進行.

  由表1可知,ADSP-2181的性能得到了較充分的利用.仿真結果表明,在以上的條件下,解碼輸出的信噪比可達80dB左右.可見,所作的算法改進是比較有效的.

表1 各模塊的運算量和存儲量要求

? 運算量/(10 6 指令/s) 程序存儲量/10 3 數據存儲量/10 3
子帶濾波 18 3.0 6.5
聲學模型 10 3.5 1.5
比特分配和量化 2 2.0
格式化比特流 1 0.5 1.0

?

4 硬件設計

  硬件結構框圖如圖3所示.各模塊的基本功能如下:

 MPEG聲音編碼的單片DSP實現

  DSP核:除完成所有編碼算法以外,還要完成對模數轉換電路的初始化配置;通過輔助控制電路選擇抽樣時鐘,通過接口電路接受主機的編碼參數.

  輔助控制電路:由FPGA及附屬電路實現,完成時鐘的產生、FIFO狀態的監測、地址譯碼等功能.

  輸出緩沖:編碼碼流的暫時存儲區,同時提供完全異步的輸出接口方式.在需要實現圖象聲音唇形同步的應用中特別有用.

  外部存儲器:包括BDMA空間、I/O空間.

  模數轉換電路:完成聲音的數字化,直接與DSP的串口0連接.抽樣頻率由外部提供的256倍抽樣時鐘的頻率決定,正常工作前需要進行初始化.

  接口電路:接口電路分為兩部分,一部分是編碼輸出接口,另一部分是與主機連接的接口.主機接口使用RS232接口芯片完成DSP串口1與主機串口的連接,DSP使用中斷和內部計時器實現異步串型通信.

  上述方案已經在“九五”科技攻關項目中實現,實時編解碼的聲音通過了主觀測試.

  *國家“九五”重點科技攻關資助項目

  作者單位:林勝 門愛東 北京郵電大學電信工程學院,北京100876;第一作者25歲,男,博士生

MPEG聲音編碼的單片DSP實現


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 亚洲影院中文字幕 | 国产精品视频ccav | 国产一区二区三区在线免费观看 | 欧美日韩乱码毛片免费观看 | 波多野结衣一二三区 | 一本久久精品一区二区 | 欧美精品一区二区三区久久 | 香蕉人精品视频多人免费永久视频 | a男人天堂 | 国产亚洲精品sese在线播放 | 在线小视频国产 | 亚洲一区在线日韩在线深爱 | 99re这里有免费视频精品 | 国产精品不卡在线观看 | 亚洲视频中文字幕在线 | 欧美一区二区三区综合色视频 | 国产综合色在线视频区 | 国产区1| 久久国产欧美另类久久久 | 日本不卡在线观看 | 亚洲国产婷婷香蕉久久久久久 | www.精品| 色网站在线播放 | 在线视频不卡国产在线视频不卡 | 99九九精品免费视频观看 | 免费观看成人毛片 | 色婷婷精品大视频在线蜜桃视频 | 中文字幕久久网 | 日韩欧美亚洲中字幕在线播放 | 特级一级毛片 | 4虎影院永久地址www | 国产精品99久久久久久宅男 | 国产精品日韩欧美一区二区 | 久久中文字幕一区二区 | 天天爱夜夜爱 | 91色桃| 九九视频在线看精品 | 久热在线视频精品网站 | 国产精品99一区二区三区 | 九九久久精品这里久久网 | 精品伊人久久久99热这里只 |