日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 消費(fèi)電子 > 消費(fèi)電子
[導(dǎo)讀]本文介紹了TMS320C6416 DSP和MPEG-4ASP (Advanced Simple Profile )視頻編碼器在SP基礎(chǔ)上新增的工具,詳細(xì)闡述了基于該平臺(tái)實(shí)現(xiàn)MPEG-4ASP視頻編碼器的軟件優(yōu)化方法,最后通過實(shí)驗(yàn)結(jié)果的比較展現(xiàn)了在嵌入式系統(tǒng)應(yīng)用中ASP相對(duì)于SP編碼器的優(yōu)越性。

摘要:本文介紹了TMS320C6416 DSP和MPEG-4ASP (Advanced Simple Profile )視頻編碼器在SP基礎(chǔ)上新增的工具,詳細(xì)闡述了基于該平臺(tái)實(shí)現(xiàn)MPEG-4ASP視頻編碼器的軟件優(yōu)化方法,最后通過實(shí)驗(yàn)結(jié)果的比較展現(xiàn)了在嵌入式系統(tǒng)應(yīng)用中ASP相對(duì)于SP編碼器的優(yōu)越性。由此可看出,在存儲(chǔ)能力受限的情況下,采用ASP進(jìn)行MPEG-4視頻編碼更為適合。
關(guān)鍵詞:MPEG-4;視頻編碼器;軟件優(yōu)化

引言
 
MPEG-4SP ( Simple Profile)編碼器以其出眾的壓縮效率和圖像質(zhì)量受到了廣泛關(guān)注,并隨之誕生了很多基于PC平臺(tái)的編解碼器(如Divx、Xvid等) ,在遠(yuǎn)程教育和高清晰度電影等方面得到了廣泛應(yīng)用。而2001年發(fā)布的MPEG-4標(biāo)準(zhǔn)V2. 0 中包含的ASP編碼器,則在SP的基礎(chǔ)上增加了一些新的工具,進(jìn)一步提高了壓縮效率,因此更適合在無線視頻通信和數(shù)碼攝像機(jī)等嵌入式系統(tǒng)中應(yīng)用。

1 硬件平臺(tái)TMS320C6416介紹

選用的實(shí)驗(yàn)硬件平臺(tái)是TMS320C6416 DSK(DSP Starter Kit) 。其核心處理器為美國(guó)TI公司的高性能定點(diǎn)32位DSP C6416,基于第2代高性能Ve2lociTI. 2 VLIW結(jié)構(gòu),帶有64個(gè)32位字長(zhǎng)的寄存器,8個(gè)高度獨(dú)立的功能單元( 2個(gè)乘法單元, 6個(gè)算術(shù)邏輯單元) ,工作時(shí)鐘頻率為600MHz,峰值處理速度可達(dá)4800Mbit/s。C6416 DSP具有1MB 的片上存儲(chǔ)空間,采用兩級(jí)緩存結(jié)構(gòu)。其中同CPU直接相連的L1P和L1D能以CPU相同的速度運(yùn)行, 而L2CACHE有5 種配置模式,可根據(jù)實(shí)際需要來設(shè)定L2CACHE的大小。同時(shí)C6416還具有64個(gè)獨(dú)立的EDMA通道,可在CPU 后臺(tái)進(jìn)行大量的數(shù)據(jù)搬移,并集成了16MB的SDRAM,可配置為高速緩存 ,提高訪問效率。

2 MPEG-4ASP視頻編碼

運(yùn)動(dòng)圖像專家組MPEG于2001年在其新發(fā)布的V2. 0版本中增加了一些新的工具和框架,其中包括了ASP 。ASP 在SP的基礎(chǔ)上增加了對(duì)B-VOP、1/4像素精度的運(yùn)動(dòng)矢量、可選量化器 、全局運(yùn)動(dòng)補(bǔ)償GMC等的支持,進(jìn)一步提高了壓縮效率。
(1)B-VOP使用雙向預(yù)測(cè)來提高運(yùn)動(dòng)補(bǔ)償?shù)男?也即每個(gè)block塊或者macroblock宏塊都可由前向和后向預(yù)測(cè)加權(quán)得到。
(2) 1/4像素運(yùn)動(dòng)矢量 : 在進(jìn)行運(yùn)動(dòng)估計(jì)和補(bǔ)償之前, 參考VOP先在1/2像素位置處,進(jìn)而在1/4處進(jìn)行插值,盡管這樣增加了運(yùn)動(dòng)估計(jì)、運(yùn)動(dòng)補(bǔ)償和圖像重建的復(fù)雜度,但編碼效率相比SP編碼器得到了提高。
(3)可選量化器:在ASP中提供了一種可選的反量化方式。在這種方式中,量化系數(shù)FQ ( u, v)按照下面的方式進(jìn)行反量化來生成系數(shù)F (u, v) : if (FQ = 0) F = 0; elseF = [ (2 ×Fc( u, v) + k) ×WW ( u, v) ×QP ] /16。其中WW 是8 ×8的加權(quán)因子矩陣,這種反量化方式使得編碼器可根據(jù)量化系數(shù)在塊中的位置,使用WW 改變步長(zhǎng)。
(4)全局運(yùn)動(dòng)補(bǔ)償(GMC) :同一視頻對(duì)象(VO)中的宏塊可能經(jīng)歷相似的運(yùn)動(dòng),如攝像機(jī)鏡頭的縮放和旋轉(zhuǎn)等造成的線性移動(dòng),其中的一些宏塊可能向同一方向運(yùn)動(dòng)。帶GMC的編碼器只需發(fā)送少量的運(yùn)動(dòng)參數(shù)就能為整個(gè)VOP描述這個(gè)“全局”運(yùn)動(dòng)。因此,當(dāng)VOP中相當(dāng)數(shù)量的宏塊擁有相同運(yùn)動(dòng)特性時(shí), GMC就可以顯著的提高壓縮效率。

3 軟件移植及優(yōu)化

由于DSP不同于普通的PC環(huán)境,因此簡(jiǎn)單的將代碼放到DSP上去編譯,運(yùn)行效率低甚至不能運(yùn)行,必須進(jìn)行適合DSP特點(diǎn)的代碼移植、改寫和優(yōu)化工作,才能達(dá)到實(shí)時(shí)性要求。

3. 1 軟件移植
為使代碼適合在DSP平臺(tái)上運(yùn)行,首先刪除程序代碼中大量的printf等調(diào)試信息,對(duì)必要的信息輸出改用puts,以減少函數(shù)開銷;對(duì)double類型數(shù)據(jù)改用long類型定義;刪除不必要的浮點(diǎn)運(yùn)算(如PSNR的計(jì)算) ,必要的浮點(diǎn)運(yùn)算通過定標(biāo)來實(shí)現(xiàn)。

3. 2 存儲(chǔ)器優(yōu)化
C6416DSP有1MB 的片上存儲(chǔ)空間,最大能以CPU時(shí)鐘頻率進(jìn)行訪問。在DSK上集成了16Mb/s的SDRAM,可通過EM IFA以100MHz的頻率進(jìn)行訪問。訪問速度上存在的差異以及CPU尋址外部存儲(chǔ)空間將導(dǎo)致流水線停止數(shù)個(gè)周期,因此,如何合理利用C6416的片上存儲(chǔ)空間和二級(jí)緩存結(jié)構(gòu)成了非常關(guān)鍵的因素。將1MB的存儲(chǔ)空間分為256k的L2CACHE和768 k的L2SRAM,代碼段、全局?jǐn)?shù)據(jù)等放在片內(nèi)存儲(chǔ)器L2SRAM 上, 外部SDRAM 設(shè)定為可高速緩存(Cacheable)以提高訪問效率。這些設(shè)置可以通過調(diào)用CSL (Chip Support Library)庫函數(shù)來完成:

#include < csl. h >
#include < csl_cache. h >
CSL_init ( ) ;
CSL_enableCaching(CACHE_EM IFA_CE00) ;
CACHE_setL2Mode (CACHE_256 k CACHE) 。

3. 3 項(xiàng)目級(jí)優(yōu)化
TI為其集成編譯環(huán)境CCS提供了一系列的編譯優(yōu)化參數(shù),可根據(jù)代碼性能要求進(jìn)行選取。因此可以通過不斷對(duì)各個(gè)參數(shù)( - mw, - pm, - o3, - mt等)進(jìn)行組合、優(yōu)選,這可以通過CCS 2. 20的PBC選項(xiàng)來完成。同時(shí)在代碼鏈接過程中,對(duì)代碼段鏈接順序進(jìn)行一定的安排,可以減少程序執(zhí)行時(shí)代碼調(diào)用帶來的緩存缺失,提高程序的執(zhí)行效率。

3. 4 代碼優(yōu)化
代碼優(yōu)化是MPEG-4 ASP視頻編碼器軟件開發(fā)中的一個(gè)重要環(huán)節(jié),未經(jīng)過優(yōu)化的代碼在DSK平臺(tái)上的執(zhí)行效率很低,平均約25s才進(jìn)行一幀編碼,而實(shí)時(shí)性的指標(biāo)為每秒25幀以上。

(1)使用TI庫函數(shù)
TI提供了圖像處理函數(shù)庫IMGL IB,可以調(diào)用其中的函數(shù)進(jìn)行FDCT和IDCT變換。

(2)對(duì)C代碼進(jìn)行改寫
首先對(duì)程序中的循環(huán)操作進(jìn)行分解展開,對(duì)不能展開的循環(huán)則合理安排循環(huán)內(nèi)外層,以更大程度地提高流水效率。C6000的編譯器還提供了許多內(nèi)聯(lián)函數(shù)( intrinsics) ,這些內(nèi)聯(lián)函數(shù)能直接映射到對(duì)應(yīng)的匯編指令,提高程序的效率。同時(shí)可利用編譯指示偽語句( Pragma Directive)向編譯器提供一些先驗(yàn)知識(shí),以提高編譯效率。如用#p ragma (minimum value, maximumvalue, factor)向編譯器指出循環(huán)執(zhí)行的信息,這樣便于編譯器利用數(shù)據(jù)打包等技術(shù)進(jìn)行優(yōu)化。以計(jì)算宏塊中像素同均值偏差的dev16函數(shù)為例,采用了以上方法改寫后,函數(shù)執(zhí)行周期數(shù)由277 個(gè)cycles變?yōu)?30個(gè)cycles (同在o3條件下) ,性能提升超過50%。

(3)進(jìn)行線性匯編改寫
線性匯編是針對(duì)C6000 的結(jié)構(gòu)特點(diǎn)優(yōu)化設(shè)計(jì)的介于C和匯編語言之間的一種編程語言,其編譯效率能達(dá)到匯編代碼的90%以上。同時(shí)C64x系列DSP針對(duì)圖像和視頻應(yīng)用增加了許多特有的指令,使得這些應(yīng)用的代碼編寫效率得到了提高。如在ASP視頻編碼器中,半像素插值使用的avgu4、shrmb、unpklu4 和unpkhu4指令,計(jì)算SAD 時(shí)用到的dotpu4、subabs4 指令,圖像重建時(shí)用到的SPACK2指令等等。也方便了代碼的編寫,如ME (Motion Estimation運(yùn)動(dòng)估計(jì))時(shí)在參考圖像幀中進(jìn)行像素值讀取的LDNDW 指令,解決了參考圖像中數(shù)據(jù)不滿足雙字對(duì)齊的問題。下面給出了將函數(shù)transfer_16 to8copy( )通過線性匯編改寫后的代碼,同在o3選項(xiàng)下,線性匯編代碼只需C代碼15. 8%的指令周期。表1給出了部分代碼改寫前后的性能對(duì)比(同在o3優(yōu)化選項(xiàng)下) 。

. global _transfer_16 to8copy
              _transfer_16 to8copy: . cp roc dst, src, stride
. reg pdst, p src, count
. reg ahi: alo, bhi: blo, chi: clo
         mvk 8, count
         mv dst, pdst
         mv src, p src
               loop: . trip 8, 8
               lddw 3 *psrc, ahi: alo
               spacku4 ahi, alo, blo; keep the value
               in the range 0 - 255
               lddw 3  *+psrc (8) , chi: clo
               spacku4 chi, clo, bhi 
               stdw bhi: blo, 3 pdst
               add pdst, stride, pdst
               add p src, 16, p src
                   [ count ] sub count, 1, count
                   [ count ] b loop 
. endp roc

3. 5 數(shù)據(jù)搬移優(yōu)化
由于片上存儲(chǔ)空間有限,因此只能將參考圖像及重建圖像等數(shù)據(jù)放在外部SDRAM中,但也導(dǎo)致了訪問外部存儲(chǔ)器時(shí)帶來的巨大開銷。而C64x具有的EDMA和QDMA只需花費(fèi)數(shù)個(gè)時(shí)鐘周期進(jìn)行參數(shù)初始化后,就可以在CPU 后臺(tái)進(jìn)行高速的數(shù)據(jù)搬移操作,提高了程序執(zhí)行效率。針對(duì)簡(jiǎn)單的數(shù)據(jù)搬移,可以利用CSL庫提供的DAT函數(shù)進(jìn)行。以一段簡(jiǎn)單的2D數(shù)據(jù)搬移為例,給出利用QDMA后的實(shí)現(xiàn)代碼:
unsigned int transferID = DAT_open (DAT_CHAA-NY,DAT_PR I_LOW,DAT_OPEN_2D) ;
DAT_copy2d (DAT_2D2D, con, ref, 16, 16,width) ;
DAT_wait ( transferID) 。

對(duì)復(fù)雜的數(shù)據(jù)搬移,可以采用多通道的EDMA來實(shí)現(xiàn)。EDMA提供了linking和chaining的機(jī)制,在部分?jǐn)?shù)據(jù)搬移完成后,自動(dòng)對(duì)EDMA鏈路或通道參數(shù)進(jìn)行更新載入,無需CPU干預(yù),特別適合進(jìn)行大量的數(shù)據(jù)搬移。然而需要注意,由于SDRAM中的待搬移數(shù)據(jù)在L2CACHE中存在副本,因此在進(jìn)行數(shù)據(jù)搬移前,需對(duì)L2CACHE和SDRAM中的待搬移數(shù)據(jù)進(jìn)行一致性操作(Coherence Operations) ,否則將得不到正確的結(jié)果。

4 實(shí)驗(yàn)結(jié)果與分析
通過上面提到的軟件優(yōu)化方法,在C6416 DSK上對(duì)MPEG - 4視頻編碼器進(jìn)行了仿真。為了得到編碼信息,如峰值信噪比( PSNR) ,在代碼中臨時(shí)加入了calc_p snr ( )函數(shù),以便于對(duì)ASP編碼器和SP編碼器進(jìn)行性能比較。以352 ×288大小的CIF格式foreman視頻序列為例,在編碼碼率為256 K時(shí),對(duì)分別支持GMC、QPEL和B - VOP以及同時(shí)支持上述3 個(gè)工具的ASP編碼器和SP編碼器進(jìn)行了性能對(duì)比( SP編碼形式為“IPPPP.”, ASP使用B - VOP時(shí)為“ IBBPBB-
PBBP.”) 。

表2給出了得到的編碼文件長(zhǎng)度,可以看出ASP編碼器相比SP編碼器其存儲(chǔ)空間要求更小,而圖像質(zhì)量變化不大,因此更適合于數(shù)碼攝像等嵌入式場(chǎng)合的應(yīng)用。

圖1 對(duì)ASP編碼器(支持B -VOP、GMC 及QPEL) 與SP 編碼器進(jìn)行了比較, 可以看出前者在PSNR性能上較后者平坦,均方差較小,圖像質(zhì)量更為穩(wěn)定。

圖1 foreman序列ASP和SP視頻編碼器PSNR性能比較

雖然壓縮效率提升,但導(dǎo)致計(jì)算量上升,并且由于編碼時(shí)采用了B-VOP增加了后向預(yù)測(cè),編碼時(shí)延增大,圖像幀速率有所降低。

5 結(jié)束語

由于ASP視頻編碼器具有更高的壓縮效率,雖然在編碼速度上有所降低,時(shí)延增大,但仍能在DSP上進(jìn)行實(shí)時(shí)編碼,因此適合在存儲(chǔ)容量受限的場(chǎng)合(如數(shù)碼攝像、視頻監(jiān)控網(wǎng)絡(luò)等領(lǐng)域)應(yīng)用。 
本站聲明: 本文章由作者或相關(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)系本站刪除。
換一批
延伸閱讀

要問機(jī)器人公司哪家強(qiáng),波士頓動(dòng)力絕對(duì)是其中的佼佼者。近來年該公司在機(jī)器人研發(fā)方面獲得的一些成果令人印象深刻,比如其開發(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ì)》于浙江寧波落幕,來自兩百余名行業(yè)大咖、專家學(xué)者共同探討了在形勢(shì)依然嚴(yán)峻的當(dāng)下,如何以科技創(chuàng)新、高端化轉(zhuǎn)型等手段,幫助...

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

SAIHUB CAB 025M成功獲得安全試驗(yàn)所UL美國(guó)與加拿大認(rèn)證證書 新加坡2022年10月17日 /美通社/ -- SAI.TECH Global Corporation("SAI.TECH"...

關(guān)鍵字: AI BSP PS 清潔能源

鄭州2022年10月17日 /美通社/ -- 近日,《福布斯》發(fā)布了"2022年全球最佳雇主榜單"(The World's Best Employers 2022),中國(guó)平安再度上榜并排名全...

關(guān)鍵字: 福布斯 ST TI BSP

通過第二項(xiàng)3nm設(shè)計(jì)選用擴(kuò)展技術(shù)領(lǐng)先地位 第三季度強(qiáng)勁的貿(mào)易和設(shè)計(jì)選用反映出我們結(jié)合了IP和定制硅的混合業(yè)務(wù)模式 自2022年9月1日起,OpenFive首次并入集團(tuán) 盡管宏觀環(huán)境困難,但管理層仍對(duì)業(yè)務(wù)...

關(guān)鍵字: BSP ALPHA PEN Silicon

歐洲藥品管理局人用藥品管理委員會(huì) (CHMP) 的積極建議是基于 EFFISAYIL® 1 研究結(jié)果,該研究是針對(duì)泛發(fā)性膿皰型銀屑病 (GPP) 發(fā)作患者的最大的臨床研究[1] 與斑塊狀銀屑病不同,GP...

關(guān)鍵字: HM BSP GP FOR

流體動(dòng)壓滑動(dòng)軸承為風(fēng)機(jī)發(fā)展書寫嶄新篇章 軸承滑動(dòng)層增材制造與精加工為工業(yè)級(jí)大規(guī)模生產(chǎn)鋪平道路 軸承設(shè)計(jì)從綜合性系統(tǒng)理念出發(fā) 德國(guó)施韋因富特和漢堡2022年10月17日 /美通社/ -- 舍弗勒推出了采...

關(guān)鍵字: 齒輪箱 滑動(dòng)軸承 風(fēng)力渦輪機(jī) BSP

北京2022年10月17日 /美通社/ --  "天下武功、唯快不破",數(shù)字經(jīng)濟(jì)時(shí)代尤甚。 數(shù)據(jù)極富價(jià)值,堪比新時(shí)代的石油。數(shù)字經(jīng)濟(jì)時(shí)代,數(shù)據(jù)價(jià)值如何快速、高效地釋放顯得尤為重要。自20...

關(guān)鍵字: 軟件 IO SSD CPU

上海2022年10月17日 /美通社/ -- Brother內(nèi)置墨倉彩色噴墨一體機(jī)DCP-C421W新上市。此次Brother創(chuàng)新引入"按需打印,按頁付費(fèi)"...

關(guān)鍵字: DC 打印機(jī) BSP DESIGN

慕尼黑2022年10月17日 /美通社/ -- TUV南德意志集團(tuán)(以下簡(jiǎn)稱"TUV南德")在EcoVadis全球企業(yè)社會(huì)責(zé)任評(píng)級(jí)中以總分71分榮獲金獎(jiǎng)。...

關(guān)鍵字: OV ADIS BSP COM

消費(fèi)電子

96051 篇文章

關(guān)注

發(fā)布文章

編輯精選

技術(shù)子站

關(guān)閉