《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 用DSP實現MPEG音頻層III壓縮的加速方法
用DSP實現MPEG音頻層III壓縮的加速方法
摘要: MPEG音頻層III壓縮標準是一種高效、高保真的壓縮編碼算法,但由于其復雜度和運算量較高,很難用一般的DSP實時實現。在對該算法進行全面分析的基礎上,提出了在用DSP實現時,降低復雜度、提高DSP運算效率的關鍵是優化循環迭代量化編碼。提出“Huffman編碼的多重地址索引”,對非規則性的大量數組尋址操作提供了簡明清晰的線條,節省了尋址指令,提高了DSP的利用率。進一步還提出了“迭代循環的加速”方案,通過ADSP2181定點芯片的運算,表明該方案能減少2/3的指令周期。
關鍵詞: DSP MPEG 音頻壓縮 ADSP2181
Abstract:
Key words :

  1 概述

  數字音頻壓縮技術給人們提供了一種更為有效的音頻存儲、傳輸方法。音頻壓縮的技術有很多種,它們的復雜度、音頻壓縮質量、以及壓縮比都有很大的差別。如:μ-law音頻壓縮算法,其特點是簡單,但壓縮比很低,但音質一般。根據CCITT G.711建議,采用自然對數的量化過程,在輸入幅度比較小的時候能夠提供比較大精度的量化,而對于出現概率比較小的大幅度信號,量化噪聲相對而言則較大。這種量化方式使得8 bit的數字量化信號在量化噪聲效果上等同于14 bit的線性量化。而ADPCM壓縮編碼則充分利用了相鄰的抽樣值幅度變化比較小的特點,編碼輸出結果是當前抽樣值與預測值的差值。雖然ADPCM編碼的保真度較高,但其壓縮比卻比較小,只能夠達到4/1的壓縮比。改進的ADPCM編碼方法有IMA (Interactive Multimedia Association)提出的改進算法,CCITT的G.721,G.723建議等[1]。

  MPEG(Motion Picture Expert Group)音頻壓縮標準提供了一種高保真度,高壓縮比的壓縮算法。在ISO11172-3標準中,描述了具有不同復雜度和性能的子帶音頻編碼方案,以適應各種高音質數字音頻的應用。根據編碼計算復雜度及編碼效率的不同,分為層I,層II和層III三種標準。

  MPEG音頻標準最初來源于被分為四種類型的算法草案,它們是音頻頻域感覺熵編碼ASPEC(Audio Spectral Perceptual Entropy Coding),掩蔽模式通用子帶集成編碼與多路復用MUSICAM(Masking-pattern Universal Sub-band Integrated Coding and Multiplexing),子帶ADPCM SB/ADPCM(Sub-Band Adaptive Difference PCM)。經過一系列的客觀和主觀音質測試,考慮到不同比特率下的音質,對傳輸比特錯誤的敏感性,編碼/解碼復雜度,以及編解碼延時等因素,在大約100 kbit/s低碼率下,ASPEC和MUSICAM表現出最好的音質效果。在低碼率(64 kbit/s)時,ASPEC表現出更為出色的音質,而MUSICAM則在編碼解碼的復雜度和延時上略勝一籌。根據ASPEC的若干算法,對 MUSICAM進行改進,加大了計算復雜度,但獲得了更好的壓縮比及音質,這就是ISO11172-3音頻層III的標準。

  層I是最簡單的一種算法。如Philips公司的數字盒式錄音機DCC(DIGItal Compact Cassette)便是利用層I的壓縮算法,其應用的比特率為192 kbit/s每通道。

  層II具有中等的編碼復雜度,適用比特率大約為128 kbit/s每通道。廣泛應用于數字音頻廣播DAB(Digital Audio Broadcasting)的音頻編碼及視頻CD中。

  層III是最復雜的編碼算法,但是在相同的比特率下,它所提供的音質也是最好的。典型的比特率為64 kbit/s,最適合于ISDN上的音頻傳輸。

  1998年4月22日,APT(Audio Processing Technique)公司利用Apt-X100系統,通過ISDN線路,成功地轉播了北京—東京—上海的“國際地球日”大型廣播音樂會。但是,這次轉播占用了3條(即6個B)的ISDN線路,以保證22 kHz頻響的立體聲傳送,這是由于Apt-X100系統采用的是SB/ADPCM音頻壓縮方法[2]。然而,如果使用MPEG層III音頻壓縮方法,只需要一條ISDN線路,就可以實現22 kHz頻響的立體聲傳送。由于MPEG層III音頻壓縮編碼復雜度太高,運算量太大,難以用一般的DSP(Digital Signal Processor)單片實現,所以在目前的音響設備中很少使用這一算法。為了能用較低的成本實現MPEG層III這一高效音頻壓縮算法,我們對這一算法進行了全面分析,提出了適用于DSP實現的編碼加速方案。

  2 MPEG音頻層III壓縮編碼流程及特點

  MPEG音頻層III壓縮編碼流程如圖1所示,相對于層Ⅰ和層Ⅱ而言,其特點在于:

MPEG音頻層

圖1 MPEG音頻層Ⅲ編碼流程圖(單聲道模型)

  (1)利用獨立于信號頻率及聲壓級的耳蝸擴散函數(Cochlea spreading function)—Modified Rounded 類擴散函數,計算人耳聽覺的掩蔽門限。

  (2)增加了MDCT模塊,以提高頻率分辨率。

  (3)通過控制環,對非均勻量化率進行迭代分配,以保持相對恒定的信噪比。并且,采用不定長熵編碼—Huffman編碼,對量化后的各子帶信號可以獲得更好的數據壓縮比。

  將層III編碼算法流程分成:(1)時頻映射,(2)心理聲學模型,(3)量化編碼等三大功能塊。時頻映射中,是多相混合濾波器組(Polyphase/MDCT Hybrid Filter Bank)的計算,這是較規范的計算,其運算量是可計算的。而且有各種快速算法,以降低運算復雜度。心理聲學模型的計算,主要運算量集中在1 024點和256點的FFT。不過,這是比較標準的計算過程,無論用哪種FFT都可以精確估計其運算復雜度。而量化編碼是通過迭代循環來完成,其循環控制變量是不確定的,再加上Huffman碼表的查找表過程,使其運算量和復雜度難以預測和估計。因此,我們認為:量化編碼部分的規范化是優化MPEG音頻層 III編碼的突破點。

 

  層III編碼器迭代循環與量化編碼部分完成的功能是:將子帶濾波和MDCT變換后的樣值進行量化并根據心理聲學模型的計算結果進行量化噪聲的控制,使得在一定比特率要求的情況下完成頻域信號的Huffman編碼。層III量化編碼部分的迭代循環分為內循環和外循環,參考文獻[1]中FigureC. 9.a,C.9.b,C.9.c給出了量化編碼的迭代循環流圖。

  3 用DSP實現音頻層III壓縮的主要問題及解決方案

  DSP編程并不提供像C語言一樣的靈活指針、數組尋址操作。在用DSP實現音頻層III壓縮中的迭代循環量化編碼時,由于涉及到非規則性的大量數組尋址操作,而消耗大量指令,降低了DSP的利用率,抑制了編碼的實時實現。因此,不規則的類似表查詢指令,需要經過很好的組織才能夠使程序結構清楚,簡潔,高效。

  3.1 Huffman編碼的多重地址索引

  層III編碼中的Huffman編碼是一個窮舉、查表的過程。在參考文獻[1]表B.7中列出了用于層III編碼的32個Huffman碼表。它們的最大值域范圍,碼表適用的信號統計特性都不相同。在編碼過程中,首先找到能夠將所要編碼區域樣值的最大值,并依次查詢各個Huffman碼表,直到該碼表能夠對這一最大值進行編碼為止,然后計算用該表進行編碼所需的比特數。再嘗試相同編碼值域范圍的另一些碼表,找到最小比特數需求的碼表進行最后的編碼。

  由于標準中所提供的32個表中,并非所有的表都能用,而且有大量的碼表只是linbits不同。因此如何存儲這些碼表,并能夠很方便地進行查詢、編碼,是編碼過程中很關鍵的問題之一。但提出的“多級索引”方法可以很好地的解決這一問題。過程如圖2所示。對可能的表有不同的處理方式:

Huffman編碼的多重地址索引

圖2 Huffman編碼的多重地址索引

  •   正常表 如表15,即每一級索引都是對應于表15的各項信息。
  •   無效表 如表14,其最終的指向是碼表零,即相當于無效表。
  •   雷同表 如表16和17實際上只是在第II級索引的linbits不同,其最后的Huffman數據是相同的。通過這樣的多級碼表地址索引可以很好的解決程序的模塊化實現。

  3.2 層III編碼迭代循環的加速

  在迭代循環編碼部分,對于使用標準中所建議的初始量化常數進行量化和編碼時,初始比特數要求要遠遠大于所允許的上限值。這時,如果只是將步長加一進行再次量化編碼,將會使得系統效率大大地降低。

  經過實際的實驗結果,一般初始可獲得比特數大約為700 bits/Granule,而初始的量化編碼結果一般在5 000 bits以上。如果再次量化步長加上20,可以迅速地逼近所要求的比特數。表1列出了一種我們使用的可能加速逼近方法。

表1 一種可能的迭代循環加速方法

一種可能的迭代循環加速方法

  在AD(Analog Device)公司的定點DSP芯片ADSP2181上實際的運算結果表明,這種加速方法能夠將原算法的指令運算周期減少2/3左右。

  4 結束語

  MPEG音頻層III壓縮標準是一種高效、高保真的壓縮編碼算法,但由于其復雜度和運算量較高,很難用一般的DSP實時實現。在對該算法進行全面分析的基礎上,提出了在用DSP實現時,降低復雜度、提高DSP運算效率的關鍵是優化循環迭代量化編碼。提出“Huffman編碼的多重地址索引”,對非規則性的大量數組尋址操作提供了簡明清晰的線條,節省了尋址指令,提高了DSP的利用率。進一步還提出了“迭代循環的加速”方案,通過ADSP2181定點芯片的運算,表明該方案能減少2/3的指令周期。

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 色综合伊人色综合网站 | 欧美精品aaa久久久影院 | 九九精品国产兔费观看久久 | 一级毛片在线视频 | 四虎影院最新入口 | 欧美日韩性视频 | 青草影院天堂男人久久 | 男女网站免费 | 欧美成人国产一区二区 | 中文字幕日韩一区二区三区不卡 | 国产在线观看免费完整版中文版 | 亚洲国产精久久久久久久春色 | 久久国产高清字幕中文 | 彬彬来了免费观看完整版 | 玖玖99| 国产视频99 | 国产成人无精品久久久久国语 | 黄色高清视频在线观看 | 99久久精品免费看国产高清 | 久久精品久久精品国产大片 | 四虎最新永久免费网址 | 五月开心综合 | 国产精品入口免费视频 | 国产精品久久久久免费视频 | 国内精品久久精品 | 国产午夜在线观看视频 | 国产一区二区三区在线免费观看 | 夜久久 | 四虎影片国产精品8848 | 国产精品青草久久久久婷婷 | 精品日韩一区 | 久草视频在线资源 | 日韩免费在线视频观看 | a级毛片免费看 | 四虎影在永久地址在线观看 | 国产免费播放一区二区 | 欧美视频在线观看一区 | 黄视频网站在线看 | 天天摸夜夜摸夜夜狠狠摸 | 欧美第一精品 | 欧洲一区二区三区在线观看 |