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

基于TMS320DM320的MPEG-4 AAC實時解碼器的設(shè)計與實現(xiàn)

2009-04-29 00:00:00劉紹凱
電腦知識與技術(shù) 2009年33期

摘要:該文研究了基于TMS320DM320芯片的MPEG-4高級音頻編碼技術(shù)(AAC)的實時解碼方法。討論了芯片中ARM與DSP的通信機制,并實現(xiàn)了MPEG-4 AAC的音頻解碼過程,結(jié)果表明該方法的解碼速度完全滿足音頻播放實時性的要求。

關(guān)鍵詞:MPEG-4高級音頻編碼;音頻解碼;ARM;DSP

中圖分類號:TP311 文獻標(biāo)識碼:A文章編號:1009-3044(2009)33-9494-02

Design and Implementation of MPEG-4 AAC Real-time Decoder Based on TMS320DM320

LIU Shao-kai

(Information Center of Chongqing SongZao Coal Electric Limited Liability Company, Chongqing 401445, China)

Abstract: This paper focuses on the implementation of MPEG-4 advanced coding (AAC) real-time software decoder on TMS320DM320; discusses the issue of communication between ARM and DSP to implement decoding and playing. The result demonstrates the decoding speed can meet the needs of real-time in audio playing.

Key words: MPEG-4 AAC; audio decoding; ARM; DSP

隨著人們對高品質(zhì)音樂的追求不斷提高,用于音頻編解碼的技術(shù)也在不斷的進步,高級音頻編碼MPEG-4 AAC(Advanced Audio Coding)標(biāo)準(zhǔn)是當(dāng)今最先進的音頻編碼技術(shù),它具有壓縮比高,重建音質(zhì)好,聲道配置靈活,不同層次的應(yīng)用具有不同的算法復(fù)雜度等特點。因此,MPEG-4 AAC 在數(shù)字音頻廣播、數(shù)字聲音的存儲、家庭影院、網(wǎng)絡(luò)傳輸?shù)阮I(lǐng)域得到越來越廣泛的應(yīng)用。本文在TMS320DM320芯片上實現(xiàn)了MPEG-4 AAC的音頻解碼過程,通過優(yōu)化程序代碼和研究ARM與DSP的通信機制,實現(xiàn)了音頻的實時解碼。

1 MPEG-4 AAC

MPEG-4 AAC是由MPEG(Moving Picture Exports Group)提出的音頻編碼標(biāo)準(zhǔn),以感知音頻編碼技術(shù)作為其主要架構(gòu),AAC提供多達(dá)48個聲道,抽樣頻率從8KHZ到96KHZ。1998年,AAC正式被指定為MPEG-4音頻編碼標(biāo)準(zhǔn),AAC舍棄了與MPEG-1/2編碼標(biāo)準(zhǔn)的相容性,這使得編碼的效率與品質(zhì)得到提高[1-2]。

AAC引進了其他的功能如:長期預(yù)測(Long term prediction)、時域噪聲抑制(Temporal Noise Shaping)等,進一步提升了壓縮效率與品質(zhì)。MPEG-4 AAC中定義了四種不同的編碼配置,分別為主配置(Main Profile)、長期預(yù)測編碼配置(Long Term Prediction Profile, LTP)、低復(fù)雜度編碼配置(Low Complexity Profile, LC)以及可變抽樣編碼配置(Scalable Sampling Rate Profile, SSR)。主配置使用了全部標(biāo)準(zhǔn)中所定義的壓縮工具,可以將原始的音頻信號以最好的品質(zhì)進行編碼,不過相對也是所有編碼配置中復(fù)雜度最高,且使用內(nèi)存最多的類型[4]。

2 硬件平臺介紹

TMS320DM320(以下簡稱DM320)是美國德州儀器公司針對數(shù)碼相機系統(tǒng)所提出的系統(tǒng)芯片組。具有完整的I/O接口,可以與外界裝置有高度的溝通能力。雖然DM320的硬件架構(gòu)主要針對于數(shù)碼相機系統(tǒng)設(shè)計的,但是由于其具有強大的計算能力,因此也可以用于多媒體系統(tǒng)。所以我們采用此平臺作為本設(shè)計的硬件環(huán)境。DM320的系統(tǒng)結(jié)構(gòu)圖如圖1所示,DM320大致可以分為兩個硬件部分:第一部分是ARM926EJ精簡指令集(RISC)處理器,是一個具有32-bit指令運算能力的微處理器;第二部分是TMS320C5409(100MHZ)的數(shù)字信號處理器(DSP)[3]。

3 ARM與DSP的通信機制

由于ARM9不適合處理浮點運算,加上音頻數(shù)據(jù)大多為浮點數(shù),因此必須對程序中浮點運算部分進行整型化。整型化主要是針對運算時所需要用到的弦波與指數(shù),將其乘上一個常數(shù),并建立表格存儲,需要時通過查表取出所要的整型數(shù)。

解碼完的音頻數(shù)據(jù)暫時存放在輸出緩存中,接著利用直接存儲器存取(DMA)將音頻數(shù)據(jù)傳送到多通道緩存串口(MCBSP),最后經(jīng)MCBSP接口傳送到AIC23芯片(ADC)。AIC32將數(shù)字信號轉(zhuǎn)換成模擬信號,并進行信號的增益放大,最后將信號傳送到揚聲器輸出。

其中DMA和MCBSP在音頻輸出流程中扮演重要角色。在聲音輸出時,使用DMA的自動緩存模式來傳送內(nèi)存空間中的音頻數(shù)據(jù),這種模式在傳完一個指定大小的空間后,會自動從該空間的起始位置再次傳送數(shù)據(jù),將壓縮完的音頻數(shù)據(jù)存放在這塊區(qū)域中,并將MCBSP設(shè)為目標(biāo)端,這樣就能將音頻數(shù)據(jù)傳輸?shù)組CBSP上等候輸出。利用這個特性可以重復(fù)利用一個較小的內(nèi)存空間來播放相當(dāng)長度的音頻。在內(nèi)存的使用上,必須遵循表1中的緩沖區(qū)起始位置規(guī)則。

表1表示,若使用一個大小為8的緩沖區(qū)空間,下一個比大小為16的緩沖起始位置必須對其16字的邊界,也就是起始位置必須在000H、0010H、0020H。我們實現(xiàn)的AAC解碼器一次輸入的數(shù)據(jù)大小為0x1000H,所以我們選擇的位置是DSP內(nèi)存中的0x8000至0x9000。由于解碼速度比音頻數(shù)據(jù)轉(zhuǎn)移的速度要快,所以控制兩者之間的關(guān)系相當(dāng)重要。首先在DSP端設(shè)定一個大小為每次解碼所得音頻大小兩倍的內(nèi)存空間,然后使用乒乓緩存的方法。

在解碼第一次寫入數(shù)據(jù)時,解碼器會先將兩塊緩沖區(qū)都填滿,然后告訴DMA開始搬移數(shù)據(jù)。此時解碼功能暫停以等待聲音的輸出,而DMA會從緩沖區(qū)的起始位置開始傳送數(shù)據(jù),當(dāng)DMA傳送完第一塊緩沖區(qū)時,會產(chǎn)生一個中斷指令并發(fā)送一個信號給解碼器,當(dāng)解碼器接收到這個信號后,會再次啟動解碼并將解碼后的音頻數(shù)據(jù)再次寫入第一塊緩沖區(qū),此時DMA并沒有停止,而是繼續(xù)傳送第二塊緩沖區(qū)內(nèi)的數(shù)據(jù)。同理,當(dāng)解碼器把第一塊緩沖區(qū)填滿的時候就會暫停來等待DMA發(fā)來的信號,這個機制會一直持續(xù)到解碼結(jié)束。

圖2描述了DMA與解碼器之間相互使用緩沖區(qū)的相互關(guān)系,當(dāng)數(shù)據(jù)解碼完時,必須及時將DSP停住,否則DMA會不斷重復(fù)傳送整段音頻數(shù)據(jù)的最后兩個音框而產(chǎn)生令人不適的聲音。此外,在音頻緩沖區(qū)中的數(shù)據(jù)排列是左右聲道數(shù)據(jù)交錯排列,因為取樣頻率足夠高,聽起來會讓人產(chǎn)生左右聲道同時有聲音的感覺。

在傳輸中,DMA將數(shù)據(jù)傳送到MCBSP的數(shù)據(jù)傳輸寄存器(DXR),當(dāng)傳輸移位寄存器(XSR)都已經(jīng)傳送出去時,傳輸移位寄存器會將數(shù)據(jù)傳輸寄存器中的數(shù)據(jù)復(fù)制過來;傳輸移位寄存器會將數(shù)據(jù)發(fā)送到AIC32數(shù)字轉(zhuǎn)換器。

4 實現(xiàn)流程

在DM320上實現(xiàn)AAC的流程如圖3所示。

1) 首先在PC機上實現(xiàn)AAC解碼,并驗證解碼是否正確。

2) 將PC上的程序移植到DM320平臺上,改寫一些僅在PC上支持的函數(shù),并進行優(yōu)化。

3) 將輸出音頻存在SDRAM中,并使用CCS把音頻數(shù)據(jù)存在計算機上,或者存在CF卡上,測試ARM9的解碼速度。

4) 驗證完解碼數(shù)據(jù)正確后,需要對性能進行優(yōu)化,以滿足解碼器的實時性要求。

5) 對MCBSP與DMA的設(shè)置進行測試。建立準(zhǔn)確的ARM9與DSP的通信機制,是ARM9能夠掌握DMA傳輸數(shù)據(jù)的情況,這樣才能決定開始解碼與暫停等待的時間。

我們將解碼器程序從PC機移植到芯片上后,第一次測量所得到的速度是實時要求速度的2倍。經(jīng)過對程序代碼優(yōu)化,例如將radix-4的傅里葉變換前端輸入按位取反部分代碼做了改良,最后得到的在ARM9上的解碼速度是實時速度要求的0.7倍。當(dāng)確定解碼速度滿足實時要求后,再建立DMA于MCBSP的數(shù)據(jù)傳送環(huán)境,最后指定一塊內(nèi)存空間,作為ARM9與DSP溝通的標(biāo)志區(qū)域,以實現(xiàn)ARM9與DSP的溝通問題。

5 結(jié)論

該文介紹了MPEG-4的高級音頻編碼技術(shù)(AAC)的解碼流程,實現(xiàn)了一個能在ARM9上實時解碼,并能與DSP共同組成實時解碼播放的音頻解碼器。為AAC技術(shù)更好的應(yīng)用打下了基礎(chǔ)。

參考文獻:

[1] TSUNG-HAN T,CHUH-CHU Y.A high qualityRe-quantization/quantization method for MP3 andMPEG-4 AAC audio coding[C].Circuits and Sys-tems,ISCAS.2002,III,III: 852-854.

[2] Alexandre E,Pena A.Low-complexity bit-allocation algorithm for MPEG AAC audio coders.Signal Processing Letters,2005,12(12):824-826.

[3] 陳健.AAC:21世紀(jì)音頻編碼的主流[J].電聲技術(shù),2002(09):19-23.

[4] 譚建國,關(guān)紅濤.MPEG-4AAC音頻編碼綜述[J].計算機工程,2005(10):4-6.

[5] 岳玲,陳健,徐盛.MPEG-4 AAC解碼器在TMS320C6416上的實現(xiàn)[J].電聲技術(shù),2003(11).

主站蜘蛛池模板: 久久永久视频| 久久久久久尹人网香蕉| 中文无码毛片又爽又刺激| 亚洲激情区| 欧美精品综合视频一区二区| 国产夜色视频| 欧美性精品| 91啦中文字幕| 亚洲丝袜中文字幕| 国产在线98福利播放视频免费| 国产在线视频导航| 福利小视频在线播放| 操国产美女| 2018日日摸夜夜添狠狠躁| 国产成人久久777777| 亚洲高清中文字幕| 亚洲欧美国产视频| 波多野结衣一区二区三区88| 国产精品99久久久久久董美香| 伊人91视频| 少妇被粗大的猛烈进出免费视频| 婷婷久久综合九色综合88| 亚洲精品天堂自在久久77| 久热这里只有精品6| 91精品国产91欠久久久久| 中文字幕中文字字幕码一二区| 色噜噜在线观看| 国产精品无码翘臀在线看纯欲| 国产91视频免费观看| 亚洲精品成人片在线观看| 在线中文字幕网| 伊人网址在线| 亚洲天堂视频在线观看| 国产毛片不卡| 成人免费网站久久久| 国产SUV精品一区二区| 欧美第二区| 成人精品免费视频| 好吊日免费视频| 欧美一级99在线观看国产| 亚洲国产精品一区二区高清无码久久| 亚洲aaa视频| 在线观看网站国产| 97无码免费人妻超级碰碰碰| 天天色天天综合| 91精品aⅴ无码中文字字幕蜜桃| 亚洲视频一区| 国产欧美日韩视频一区二区三区| 欧洲精品视频在线观看| 蜜桃视频一区二区三区| 8090成人午夜精品| 亚洲综合色吧| 欧美特黄一级大黄录像| 毛片免费网址| 四虎成人精品| 国产精品伦视频观看免费| 成人综合久久综合| 黄色网址免费在线| 精品视频91| 色亚洲激情综合精品无码视频| 亚洲第一区在线| 久久精品国产999大香线焦| 亚洲动漫h| 曰韩人妻一区二区三区| 色窝窝免费一区二区三区| av一区二区无码在线| 久草视频福利在线观看| 国内精品免费| 色综合天天综合| 国产亚洲精品自在线| 91精品视频网站| 国产精品美女网站| 夜夜拍夜夜爽| 青草视频久久| 国产一区在线观看无码| 亚洲综合狠狠| 成人在线不卡视频| 国内精品久久人妻无码大片高| 亚洲天堂网站在线| 色天天综合久久久久综合片| 国产丝袜91| 亚洲AⅤ综合在线欧美一区|