www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式教程
[導(dǎo)讀]基于OMAP的MPEG-4實(shí)時(shí)解碼器的實(shí)現(xiàn)

 隨著移動(dòng)通信和多媒體技術(shù)的發(fā)展,人們對(duì)通信的要求已不滿足于傳統(tǒng)的語(yǔ)音業(yè)務(wù),而是追求更高品質(zhì)的視頻、音頻等多媒體信息服務(wù)。在多媒體通信中,視頻區(qū)別于音頻和文字的顯著特點(diǎn)是其大數(shù)據(jù)量以及高處理復(fù)雜度?,F(xiàn)有的移動(dòng)終端一般采用DSP芯片作為核心,DSP芯片在數(shù)據(jù)處理方面具有較多的優(yōu)勢(shì),但其系統(tǒng)處理和控制能力比較弱。第三代移動(dòng)通信(3G)終端需要提供更多更復(fù)雜的服務(wù)如實(shí)時(shí)視頻交互等,原有的DSP芯片很難滿足這些需求[1]。TI公司提出了開(kāi)放式多媒體應(yīng)用平臺(tái)OMAP(Open Multimedia Applications Platform)體系結(jié)構(gòu),并為此設(shè)計(jì)了OMAP處理器。筆者利用本文提出的方法在使用TI OMAP1510的PocketPC上實(shí)現(xiàn)了MPEG-4簡(jiǎn)單級(jí)(simple profile)解碼,基本滿足了實(shí)時(shí)的要求,同時(shí)保持了較好的質(zhì)量。
1 開(kāi)放式多媒體平臺(tái)(OMAP)
    OMAP采用一種獨(dú)特的雙核結(jié)構(gòu),把控制性能較強(qiáng)的ARM處理器與高性能低功耗的DSP核結(jié)合,是一種開(kāi)放式的、可編程的基于DSP的體系結(jié)構(gòu)。主要目標(biāo)是滿足2.5G和3G網(wǎng)絡(luò)上移動(dòng)電話、PDA上的語(yǔ)音與多媒體需要。
1.1 OMAP的硬件平臺(tái)
    OMAP硬件平臺(tái)主要由DSP核、ARM核以及業(yè)務(wù)控制器(Traffic Controller)組成。這三部分可以獨(dú)立地進(jìn)行時(shí)鐘管理,有效地控制功耗。OMAP硬件平臺(tái)采用雙核技術(shù)提高操作系統(tǒng)的效率和優(yōu)化多媒體代碼的執(zhí)行。實(shí)時(shí)性任務(wù)如實(shí)時(shí)視頻通信等由DSP完成,非實(shí)時(shí)性任務(wù)和系統(tǒng)控制工作如界面交互、操作系統(tǒng)等由ARM完成[2]。例如,使用者在進(jìn)行視頻通信時(shí)可以同時(shí)使用操作系統(tǒng)上的應(yīng)用軟件如Word、Excel等,這樣分別利用了DSP低功耗而又較強(qiáng)數(shù)據(jù)處理能力和ARM的較強(qiáng)控制能力的優(yōu)勢(shì)。與傳統(tǒng)只使用ARM或者只使用DSP芯片的移動(dòng)終端相比,OMAP成功地解決了性能與功耗的最佳組合問(wèn)題。
    OMAP硬件平臺(tái)不斷升級(jí),以滿足日益增長(zhǎng)的應(yīng)用需求。本文使用OMAP1510芯片,它的兩個(gè)關(guān)鍵部分是TI增強(qiáng)型ARM925(TI925T)和TMS320C55x DSP。TMS320C55x DSP的工作主頻為200MHz,內(nèi)部有32K字雙存取SRAM,48K字單存取SRAM和12K字的高速指令緩存。它具有高度的并行能力,32位讀寫和功能強(qiáng)大的EMIF、雙流水線的獨(dú)立操作以及雙MAC的運(yùn)算能力。它采用了三項(xiàng)關(guān)鍵的革新技術(shù):增大的空閑省電區(qū)域、變長(zhǎng)指令、擴(kuò)大的并行機(jī)制。此外TMS320C55x DSP核增加了處理運(yùn)動(dòng)估計(jì)、離散余弦變換(DCT)、離散余弦反變換(IDCT)、1/2像素插值的硬件加速器,降低了視頻處理的功耗,其結(jié)構(gòu)對(duì)于多媒體應(yīng)用高度優(yōu)化,適合低功耗的實(shí)時(shí)語(yǔ)音圖像處理。TI增強(qiáng)型ARM925采用ARM9TDMI技術(shù),工作主頻為175MHz,有16K字節(jié)的高速指令緩存、8K字節(jié)的高速數(shù)據(jù)緩存和17個(gè)字的寫緩沖。ARM和DSP都可以訪問(wèn)內(nèi)部SRAM和外部存儲(chǔ)器接口,但ARM是平臺(tái)的核心,它能訪問(wèn)全部16M字節(jié)的內(nèi)存空間和DSP的128K字節(jié)的I/O空間。
1.2 OMAP的軟件平臺(tái)
    OMAP的軟件結(jié)構(gòu)建立在兩個(gè)操作系統(tǒng)之上,一個(gè)是基于ARM的操作系統(tǒng)如WindowsCE、Linux等;另一個(gè)是基于DSP的實(shí)時(shí)操作系統(tǒng)(RTOS)DSP/BIOS。無(wú)縫連接兩個(gè)操作系統(tǒng)的關(guān)鍵技術(shù)是DSP/BIOS橋。DSP/BIOS橋建立的這種連接使ARM端的客戶能與DSP上的任務(wù)交換信息和數(shù)據(jù)[3]。對(duì)于軟件開(kāi)發(fā)者來(lái)說(shuō),DSP/BIOS橋提供了一種使用DSP的無(wú)縫接口,開(kāi)發(fā)者可以在GPP(通用處理器,包括ARM)上使用標(biāo)準(zhǔn)應(yīng)用編程接口訪問(wèn)并控制DSP的運(yùn)行環(huán)境。
2 MPEG-4實(shí)時(shí)視頻解碼在OMAP上的軟件實(shí)現(xiàn)
2.1 MPEG-4解碼流程

    MPEG-4標(biāo)準(zhǔn)因其給出多種抗誤碼工具而適于應(yīng)用在無(wú)線信道環(huán)境下的多媒體通信[4]。本文實(shí)現(xiàn)的是主要應(yīng)用于無(wú)線通信的簡(jiǎn)單級(jí)(simple profile)[5],因而只使用了I幀和P幀。其解碼的流程如圖1所示。如果是I幀,碼流中主要是紋理信息,經(jīng)過(guò)可變長(zhǎng)(VLC)解碼、反掃描、反預(yù)測(cè)、反量化和反DCT(IDCT)可以直接得到重構(gòu)的幀。如果是P幀,碼流中還含有運(yùn)動(dòng)矢量信息,經(jīng)過(guò)VLC解碼、反掃描、反預(yù)測(cè)、反量化和反DCT得到的只是殘差信息。利用解碼得到的運(yùn)動(dòng)矢量、殘差信息和參考幀進(jìn)行運(yùn)動(dòng)補(bǔ)償可以得到重構(gòu)的幀。

 


2.2 在OMAP1510上的程序結(jié)構(gòu)
    在OMAP上開(kāi)發(fā)程序通常分為兩部分,一部分是使用Embedded Visual C開(kāi)發(fā)ARM端程序,另一部分是使用TI CCS開(kāi)發(fā)DSP端程序。前者主要是為了使設(shè)計(jì)的算法與xDAIS(eXpressDSP TM算法標(biāo)準(zhǔn))兼容,在ARM端程序中調(diào)用一些DSP/BIOS橋的API實(shí)現(xiàn)在DSP上初始化信號(hào)處理任務(wù)、與DSP任務(wù)交換消息、對(duì)來(lái)自DSP和從DSP發(fā)出的數(shù)據(jù)流進(jìn)行緩沖、暫停、繼續(xù)、刪除DSP任務(wù)并進(jìn)行資源狀態(tài)查詢等。而具體的功能實(shí)現(xiàn)則是在DSP端完成。圖2顯示了TI-enhanced ARM925應(yīng)用程序與DSP節(jié)點(diǎn)之間的關(guān)系。

 


    通過(guò)寫節(jié)點(diǎn)封裝器的創(chuàng)建、執(zhí)行及刪除函數(shù),將xDAIS算法封裝于DSP節(jié)點(diǎn)中。創(chuàng)建函數(shù)可分配節(jié)點(diǎn)處理和xDAIS算法所需的存儲(chǔ)器,還可分配節(jié)點(diǎn)的相關(guān)模塊。這些模塊是傳遞到執(zhí)行和刪除函數(shù)的一種結(jié)構(gòu)。創(chuàng)建函數(shù)還可給出xDAIS算法的實(shí)例,并可將其激活,還可初始化任何在任務(wù)執(zhí)行前必須初始化的數(shù)據(jù)或參數(shù)。執(zhí)行函數(shù)是主要的分派函數(shù),在此函數(shù)執(zhí)行階段中一般不分配存儲(chǔ)器及其它資源。執(zhí)行函數(shù)一般包括消息處理循環(huán),該循環(huán)可中斷函數(shù)并等待來(lái)自ARM925的消息或數(shù)據(jù)流,然后節(jié)點(diǎn)將這些消息或數(shù)據(jù)分派到合適的xDAIS控制或處理任務(wù)中去。同時(shí)執(zhí)行函數(shù)查詢DSP/BIOS橋所發(fā)送的指示函數(shù)退出循環(huán)的特殊消息,然后檢查定制消息或流數(shù)據(jù),并對(duì)這些消息或數(shù)據(jù)流進(jìn)行適當(dāng)處理。刪除函數(shù)清空創(chuàng)建函數(shù)所分配的資源,包括相關(guān)模塊和數(shù)據(jù)流。刪除函數(shù)還必須關(guān)閉算法、釋放存儲(chǔ)器以及分配給節(jié)點(diǎn)的其它資源。
2.3 程序的優(yōu)化考慮
    (1)合理分配存儲(chǔ)位置。TMS320C55x的片內(nèi)存儲(chǔ)器容量小而存取速度快,片外存儲(chǔ)器容量大但存取速度慢。在分配存儲(chǔ)器的時(shí)候應(yīng)考慮到這個(gè)特點(diǎn)合理地安排程序各部分。對(duì)于那些使用頻繁的變量應(yīng)考慮放在片內(nèi),如VLC表、運(yùn)動(dòng)矢量、反量化、反DCT的系數(shù)以及其它中間變量都應(yīng)放在片內(nèi),而對(duì)于那些執(zhí)行次數(shù)比較少或者比較大的變量如參考幀和當(dāng)前解碼出的幀則應(yīng)該放在片外。此外由于編譯和分配空間是以文件為單位的,所以應(yīng)當(dāng)把使用頻繁的函數(shù)盡量放在相同的幾個(gè)文件中,再將這幾個(gè)文件放入片內(nèi)存儲(chǔ)器以高效地利用有限的片內(nèi)資源。
    (2)數(shù)據(jù)傳輸?shù)墓芾?。?duì)于視頻解碼工作來(lái)說(shuō),TMS320C55x的片內(nèi)存儲(chǔ)器資源不是很多,必須合理利用。例如一幀4:2:0的QCIF(176×144)圖像,如果以緊湊的方式(2個(gè)字節(jié)存到一個(gè)16bit的字中)存放也需要18K字。因此不可能在解碼時(shí)把一整幀都放在片內(nèi),而應(yīng)考慮使用DMA在需要時(shí)把圖像的一部分傳入片內(nèi)進(jìn)行處理。此外,為了使CPU訪問(wèn)和DMA傳輸同時(shí)無(wú)沖突地進(jìn)行,將數(shù)據(jù)訪問(wèn)設(shè)計(jì)成乒乓結(jié)構(gòu)。在解I幀時(shí)片內(nèi)準(zhǔn)備兩個(gè)大小為一宏塊行的存儲(chǔ)區(qū)用于存放YUV數(shù)據(jù),CPU將解碼的一宏塊行數(shù)據(jù)放在其中一塊后,DMA把這一宏塊行的數(shù)據(jù)傳輸?shù)狡鈱?duì)應(yīng)的位置,同時(shí)CPU解下一宏塊行的數(shù)據(jù)并將結(jié)果放在另外一塊存儲(chǔ)區(qū),DMA再傳送此塊的數(shù)據(jù),如此反復(fù)執(zhí)行。選擇兩宏塊行大小的原因是不能使用片內(nèi)太多的存儲(chǔ)器資源,同時(shí)如果每次解碼傳輸?shù)臄?shù)據(jù)太少將過(guò)于頻繁地啟動(dòng)DMA,導(dǎo)致效率下降,折衷考慮決定在片內(nèi)為解碼數(shù)據(jù)開(kāi)辟兩宏塊行大小的緩存。而在解P幀的時(shí)候因?yàn)橐茸x入?yún)⒖紟哪承?shù)據(jù)所以更為復(fù)雜。在片內(nèi)開(kāi)辟兩塊緩存,用以存放對(duì)Inter宏塊進(jìn)行運(yùn)動(dòng)補(bǔ)償所需的參考幀中對(duì)應(yīng)搜索范圍內(nèi)的數(shù)據(jù),同時(shí)準(zhǔn)備兩個(gè)宏塊大小的片內(nèi)空間用于存放當(dāng)前宏塊解碼的結(jié)果(為描述方便稱為M1和M2)。此時(shí)需要使用兩個(gè)DMA通道,通道1負(fù)責(zé)將解當(dāng)前宏塊進(jìn)行運(yùn)動(dòng)補(bǔ)償時(shí)所需的參考幀部分?jǐn)?shù)據(jù)讀到片內(nèi)緩存中,通道2負(fù)責(zé)將解碼的數(shù)據(jù)傳輸?shù)狡鈱?duì)應(yīng)的空間。先啟動(dòng)通道1讀所需參考幀數(shù)據(jù)到緩存1,CPU用這些數(shù)據(jù)和讀入的碼流對(duì)Inter宏塊進(jìn)行運(yùn)動(dòng)補(bǔ)償解出當(dāng)前宏塊的數(shù)據(jù)放入M1,同時(shí)通道1讀下一宏塊所需的參考幀數(shù)據(jù)到緩存2。之后CPU、通道1、通道2并行工作,CPU利用緩存2的數(shù)據(jù)解下一宏塊放入M2,通道1再讀數(shù)據(jù)到緩存1中,通道2將解碼的數(shù)據(jù)從M1傳輸?shù)狡鈱?duì)應(yīng)的空間,如此循環(huán),P幀利用DMA解碼如圖3所示。

 


    (3)使用TI提供的IMGLIB庫(kù)函數(shù)。IMGLIB是專門為圖像處理和視頻提供的庫(kù),用來(lái)提高視頻處理速度。這些庫(kù)函數(shù)中有的是軟件庫(kù)函數(shù),是用匯編寫成的高效代碼例如反量化函數(shù)IMG_dequantize_8x8等;有的則是硬件庫(kù)函數(shù),它們利用OMAP1510芯片中一些專門為視頻編解碼的硬件加速模塊來(lái)處理數(shù)據(jù),如利用反DCT模塊的IMG_idct_8x8等,這些函數(shù)處理數(shù)據(jù)的速度更快,效率更高。在使用某些庫(kù)函數(shù)的時(shí)候需要按照其接口的要求調(diào)整。
    (4)使用DSP內(nèi)部固定的intrinsics指令,這些指令主要執(zhí)行一些簡(jiǎn)單的算術(shù)操作,由于它們是由優(yōu)化的匯編代碼寫成,因而使用它們可以提高代碼執(zhí)行的效率。
    (5)其它一些優(yōu)化考慮和措施。為了使程序的效率更高,采用了一些代碼優(yōu)化的措施,例如將一些循環(huán)內(nèi)部展開(kāi),特別是對(duì)多重循環(huán)的控制,如果外層循環(huán)較少,可將內(nèi)層循環(huán)展開(kāi),把轉(zhuǎn)移條件結(jié)合起來(lái),以減少內(nèi)層與外層之間的相互聯(lián)系,減少判斷轉(zhuǎn)移并實(shí)現(xiàn)并行操作。又如利用DMA來(lái)代替原有的復(fù)制函數(shù)、為方便將浮點(diǎn)數(shù)定點(diǎn)化、使用移位操作代替乘除法等。此外,在應(yīng)用到多媒體通信中,采用支持?jǐn)?shù)據(jù)分割的方法來(lái)有效控制無(wú)線通信中可能產(chǎn)生的誤碼。
3 測(cè)試結(jié)果
    使用QCIF(176×144)的兩測(cè)試碼流foreman和carphone(各編碼100幀)在使用數(shù)據(jù)分割和沒(méi)使用數(shù)據(jù)分割的情況下得到的解碼速度(包括顯示部分)如表1所示。

 


    從表1可以看出,本文提出的方法基本上能夠滿足MPEG-4實(shí)時(shí)解碼的需求,即使對(duì)比較復(fù)雜的使用數(shù)據(jù)分割的序列,仍能達(dá)到25幀/秒(fps)以上,圖像的質(zhì)量也比較好,因此適合在無(wú)線終端實(shí)現(xiàn)多媒體的應(yīng)用。
    OMAP平臺(tái)因其獨(dú)有的雙核結(jié)構(gòu)和為無(wú)線應(yīng)用提供了一個(gè)強(qiáng)大的軟硬件基礎(chǔ)。本文結(jié)合其在MPEG-4解碼中應(yīng)用的實(shí)例,具體闡述了OMAP1510的軟件優(yōu)化開(kāi)發(fā)方法,并基本上實(shí)現(xiàn)了實(shí)時(shí)解碼,希望能對(duì)使用OMAP或準(zhǔn)備使用的開(kāi)發(fā)人員具有借鑒意義。
參考文獻(xiàn)
1 Jamil Chaoi. Dedicated Systems Magazine. 2001 Q2.
2 謝 凱.開(kāi)放式的多媒體應(yīng)用平臺(tái)OMAP.電子技術(shù)應(yīng)用,2001;27(11)
3 TI公司. OMAP1510 Multimedia Processor Technical Reference Manual. Dec.2002
4 宋 彬,常義林.視頻通信抗誤碼方法研究的新進(jìn)展.電子學(xué)報(bào),2002;(10)
5 ISO/IEC JTC 1/SC 29/WG 11 N 3056, Information technology-Coding of audio-viusal objects-Part2:Visual, Version 1.0, Jan ,2000

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

成都2022年10月19日 /美通社/ -- 近期,平安養(yǎng)老險(xiǎn)積極籌備個(gè)人養(yǎng)老金的產(chǎn)品設(shè)計(jì)和系統(tǒng)開(kāi)發(fā)工作,發(fā)展多樣化的養(yǎng)老金融產(chǎn)品,推動(dòng)商業(yè)養(yǎng)老保險(xiǎn)、個(gè)人養(yǎng)老金、專屬商業(yè)養(yǎng)老保險(xiǎn)等產(chǎn)品供給。 搭養(yǎng)老政策東風(fēng) ...

關(guān)鍵字: 溫度 BSP 東風(fēng) 大眾

廣東佛山2022年10月19日 /美通社/ -- 空間是人居生活的基礎(chǔ)單元,承載著生存與活動(dòng)的最基本功能。而對(duì)于理想空間的解構(gòu)意義卻在物理性容器之外,體現(xiàn)出人們對(duì)于空間和生活深層關(guān)系的思考,同時(shí)也塑造著人與空間的新型連接...

關(guān)鍵字: 溫度 BSP 智能化 進(jìn)程

上海2022年10月19日 /美通社/ -- 10月17日晚間,安集科技披露業(yè)績(jī)預(yù)告。今年前三季度,公司預(yù)計(jì)實(shí)現(xiàn)營(yíng)業(yè)收入7.54億元至8.33億元,同比增長(zhǎng)60.24%至77.03%;歸母凈利潤(rùn)預(yù)計(jì)為1.73億...

關(guān)鍵字: 電子 安集科技 BSP EPS

北京2022年10月19日 /美通社/ -- 10月18日,北京市經(jīng)濟(jì)和信息化局發(fā)布2022年度第一批北京市市級(jí)企業(yè)技術(shù)中心創(chuàng)建名單的通知,諾誠(chéng)健華正式獲得"北京市企業(yè)技術(shù)中心"認(rèn)定。 北京市企業(yè)技...

關(guān)鍵字: BSP ARMA COM 代碼

北京2022年10月18日 /美通社/ -- 10月14日,國(guó)際數(shù)據(jù)公司(IDC)發(fā)布《2022Q2中國(guó)軟件定義存儲(chǔ)及超融合市場(chǎng)研究報(bào)告》,報(bào)告顯示:2022年上半年浪潮超融合銷售額同比增長(zhǎng)59.4%,近5倍于...

關(guān)鍵字: IDC BSP 數(shù)字化 數(shù)據(jù)中心

上海2022年10月18日 /美通社/ -- 2022年9月5日,是首都銀行集團(tuán)成立60周年的紀(jì)念日。趁著首都銀行集團(tuán)成立60周年與首都銀行(中國(guó))在華深耕經(jīng)營(yíng)12年的“大日子”,圍繞作為外資金融機(jī)構(gòu)對(duì)在華戰(zhàn)略的構(gòu)想和業(yè)...

關(guān)鍵字: 數(shù)字化 BSP 供應(yīng)鏈 控制

東京2022年10月18日  /美通社/ -- NIPPON EXPRESS HOLDINGS株式會(huì)社(NIPPON EXPRESS HOLDINGS, INC.)旗下集團(tuán)公司上海通運(yùn)國(guó)際物流有限公司(Nipp...

關(guān)鍵字: 溫控 精密儀器 半導(dǎo)體制造 BSP

廣州2022年10月18日 /美通社/ -- 10月15日,第 132 屆中國(guó)進(jìn)出口商品交易會(huì)("廣交會(huì)")于"云端"開(kāi)幕。本屆廣交會(huì)上高新技術(shù)企業(yè)云集,展出的智能產(chǎn)品超過(guò)140,...

關(guān)鍵字: 中國(guó)智造 BSP 手機(jī) CAN

要問(wèn)機(jī)器人公司哪家強(qiáng),波士頓動(dòng)力絕對(duì)是其中的佼佼者。近來(lái)年該公司在機(jī)器人研發(fā)方面獲得的一些成果令人印象深刻,比如其開(kāi)發(fā)的機(jī)器人會(huì)后空翻,自主爬樓梯等。這不,波士頓動(dòng)力又發(fā)布了其機(jī)器人組團(tuán)跳男團(tuán)舞的新視頻,表演的機(jī)器人包括...

關(guān)鍵字: 機(jī)器人 BSP 工業(yè)機(jī)器人 現(xiàn)代汽車

南京2022年10月17日 /美通社/ -- 日前《2022第三屆中國(guó)高端家電品牌G50峰會(huì)》于浙江寧波落幕,來(lái)自兩百余名行業(yè)大咖、專家學(xué)者共同探討了在形勢(shì)依然嚴(yán)峻的當(dāng)下,如何以科技創(chuàng)新、高端化轉(zhuǎn)型等手段,幫助...

關(guān)鍵字: LINK AI BSP 智能家電

嵌入式教程

6897 篇文章

關(guān)注

發(fā)布文章

編輯精選

技術(shù)子站

關(guān)閉