日韩欧美自拍在线观看-欧美精品在线看片一区二区-高清性视频一区二区播放-欧美日韩女优制服另类-国产精品久久久久久av蜜臀-成人在线黄色av网站-肥臀熟妇一区二区三区-亚洲视频在线播放老色-在线成人激情自拍视频

基于DM642的運動估計算法的研究與實現(xiàn)

出處:heyunhuan 發(fā)布于:2008-09-23 11:39:19

  多媒體業(yè)務的飛速發(fā)展對視頻編碼技術提出了更高的要求。如何在盡可能低的碼率下獲得盡可能好的圖像質量是一系列視頻編碼標準的共同目標。H.264是新一代的面向低碼率視頻通信應用的視頻圖像壓縮標準。與此前的視頻編碼標準相比較,H.264擁有極高的壓縮效率和極強的容錯性能,這使視頻編碼效率獲得大幅提高,但同時這也使運算復雜度猛增。運動估計和運動補償作為視頻壓縮編碼系統(tǒng)的算法,占整個系統(tǒng)運算量的60%-80%。研究運動估計算法的DSP實現(xiàn)對整個H.264系統(tǒng)的嵌入式應用具有重要的指導意義。

  TMS320DM642是TI公司推出的一款面向數(shù)字多媒體應用的芯片,它基于C64X內(nèi)核,擁有強大的處理性能和豐富的外圍接口。本文完成了基于H.264的運動估計算法的DSP實現(xiàn),通過使用一系列優(yōu)化方案,很好地實現(xiàn)了對算法的實時處理。

  2 運動估計算法

  運動估計算法是視頻壓縮編碼的算法之一。高質量的運動估計算法是高效視頻編碼的前提和基礎。其中塊匹配法(BMA, Block Match Algorithm)由于算法簡單和易于硬件實現(xiàn),被廣泛應用于各視頻編碼標準中。塊匹配法的基本思想是先將圖像劃分為許多子塊,然后對當前幀中的每一塊根據(jù)一定的匹配準則在相鄰幀中找出當前塊的匹配塊,由此得到兩者的相對位移,即當前塊的運動矢量。在H.264標準的搜索算法中,圖像序列的當前幀被劃分成互不重疊16×16大小的子塊,而每個子塊又可劃分成更小的子塊,當前子塊按一定的塊匹配準則在參考幀中對應位置的一定搜索范圍內(nèi)尋找匹配塊,由此得到運動矢量和匹配誤差。運動估計的估計和運算復雜度取決于搜索策略和塊匹配準則。這里使用H.264推薦算法UMHexagonS(Unsymmetrical-cross Multi-Hexagon-grid Search)作為DSP實現(xiàn)的算法參考,與FS算法比較,它在保證可靠搜索的前提下大幅降低搜索復雜度。同時使用差和(SAD, the Sum of Absolute Difference)標準作為匹配準則,它具有便于硬件實現(xiàn)的優(yōu)點。

  3 TMS320DM642 DSP硬件平臺

  數(shù)字多媒體處理器DM642的結構如圖3.1所示。DM642是TI公司C6000系列的一款新型高性能DSP,基于C64x內(nèi)核,擴展的甚長指令字(VLIW, Very Long Instruction Word)體系結構,具有64個32位通用寄存器,8個獨立計算功能單元可并行運行。主頻為600MHz,峰值計算速度達4800MIPS[1]。DM642采用兩級緩存結構,級包括相互獨立的L1P(16K字節(jié))和L1D(16K字節(jié)),只能作為高速緩存使用。第二級L2(256K字節(jié))是一個統(tǒng)一的程序/數(shù)據(jù)空間,可以整體作為SRAM映射到存儲空間,也可以整體作為第二級Cache,或是二者按比例的一種組合來使用。DM642具有64個獨立通道的增強型直接存儲器訪問(EDMA, Enhanced Direct Memory Access)控制器,負責片內(nèi)L2與外設以及外設之間數(shù)據(jù)高速傳輸。www.51kaifa.com

  DM642具有豐富的外圍設備接口:三個可配置的雙通道視頻端口Video Port;64bit的外部內(nèi)存接口EMIF;10/100M以太網(wǎng)MAC;66MHz 32bit的PCI接口,符合PCI2.2標準。高性能DM642是目前構建數(shù)字多媒體處理應用的一個理想平臺。

DM642結構示意圖

  圖3.1 DM642結構示意圖

  4 運動估計算法的DSP DM642實現(xiàn)與優(yōu)化

  4.1 算法實現(xiàn)流程

  與基于PC的算法實現(xiàn)相比,基于DM642的算法實現(xiàn)對實時性提出了更高的要求。這就要求由視頻采集、處理和顯示組成的系統(tǒng)能夠高效工作。基于DM642的視頻處理系統(tǒng)流程如圖4.1所示。

DM642視頻處理流程

  圖4.1 DM642視頻處理流程

  運動估計算法實現(xiàn)流程如圖4.2所示:

基于DM642運動估計算法實現(xiàn)流程

  圖4.2 基于DM642運動估計算法實現(xiàn)流程

  4.2 存儲器系統(tǒng)優(yōu)化

  4.2.1 Cache優(yōu)化策略[2]

  Cache優(yōu)化主要是要合理配置L2緩存中Cache和SRAM的大小。Cache和SRAM的大小應根據(jù)具體應用要求作相應的配置。通常,Cache容量越大越好,但是由于它是由CPU管理,而不能由程序員手動控制,這就降低了應用的靈活性。對于視頻處理算法,把一些頻繁訪問的數(shù)據(jù)放入SRAM是很有必要的,這有利于系統(tǒng)性能的提升。實驗表明,在本系統(tǒng)中將Cache和SRAM各配置成128Kbytes,能夠獲得效果。

  4.2.2 存儲器空間分配

  對于嵌入式系統(tǒng)來說,存儲器大小有限,是系統(tǒng)寶貴的資源,對其應用需要作細致額考慮和周密的管理。由于DSP內(nèi)核對不同存儲空間的數(shù)據(jù)訪問速度差異很大,運動估計算法涉及大量的數(shù)據(jù)存儲和讀取,所以存儲器的使用是否恰當,對算法的實時性能有很大的影響。表4.1給出了系統(tǒng)中主要的存儲器分配方案。www.51kaifa.com

  表4.1 運動估計算法實現(xiàn)所需的主要存儲器空間的分配

  數(shù)據(jù)塊

  用途

  大?。╞ytes)

  存放位置

  curframe

  當前幀

  607.5K

  片外SDRAM

  orgframe

  參考幀

  607.5K

  片外SDRAM

  reconframe

  重建當前幀

  607.5K

  片外SDRAM

  act_block

  當前子塊

  375

  片內(nèi)L2 SRAM

  search_area

  搜索區(qū)域

  586

  片內(nèi)L2 SRAM

  pred

  預測當前子塊

  375

  片內(nèi)L2 SRAM

  通過對重要數(shù)據(jù)段和代碼段的存儲器配置,巧妙地克服了片上存儲器空間太小帶來的限制,同時又充分利用了DM642的分層存儲特性,使緩存命中率有效提高,避免了不必要的CPU等待時間,使DM642性能充分發(fā)揮。

  4.2.3 使用EDMA

  EDMA是DM642中用于快速數(shù)據(jù)交換的重要技術,具有獨立于CPU的后臺批量數(shù)據(jù)傳輸能力,能夠滿足實時圖像處理中高速圖像數(shù)據(jù)傳輸?shù)囊?,同時使DSP性能充分發(fā)揮。

  在實時系統(tǒng)中,我們使用DAT_copy2d()函數(shù)完成視頻采集和顯示緩存與幀存儲器SDRAM之間的數(shù)據(jù)傳輸。DAT_copy2d()完成2D數(shù)據(jù)直接的高速傳輸,非常適用于圖像數(shù)據(jù)傳輸。通過充分利用EDMA的功能特性,為系統(tǒng)處理性能的提高提供了保障。www.51kaifa.com

  4.3 程序代碼級優(yōu)化

  4.3.1 使用軟件流水處理提高并行性[4]

  在算法實現(xiàn)過程中,循環(huán)代碼往往要占用大量的時間。在運動估計算法中,有許多對圖像宏塊和像素的操作,這就涉及到大量的循環(huán)運算,為了使代碼有理想的并行性,對多數(shù)代碼的優(yōu)化,特別是循環(huán)代碼的優(yōu)化,多采用軟件流水技術。軟件流水是一種用于安排循環(huán)內(nèi)的指令運行方式的技術,編排循環(huán)指令,使得循環(huán)的多次迭代能夠并行的執(zhí)行。在C/C++編譯器里,采用軟件流水使編譯出來的程序代碼優(yōu)化是一項技術。

  4.3.2 運用TI圖像庫

  TI提供了專用于C64x系列DSP的圖像視頻函數(shù)庫IMGLIB。該庫中包含大量的C代碼可直接調用的、匯編優(yōu)化的、通用的圖像視頻處理函數(shù)。通過使用庫函數(shù),可以得到比常規(guī)C代碼函數(shù)得多的性能。在程序優(yōu)化過程中,我們使用IMG_sad_16×16函數(shù)計算當前宏塊與參考宏塊的SAD值,使運算復雜度有效降低。

  4.3.3 使用線性匯編[4]

  線性匯編語言是C6000系列DSP獨有的一種編程語言,介于語言和低級語言之間。編寫線性匯編程序時可完全按照語言的方式編寫,而不必考慮指令的延時、指令的并行與否、寄存器的使用和功能單元的分配,匯編優(yōu)化器將根據(jù)代碼情況自動確定這些信息??赏ㄟ^性能分析工具Profiler找到調用頻率高的C代碼段,然后用線性匯編語言改寫,采用匯編優(yōu)化器進行優(yōu)化,使代碼效率獲得限度的提升。表4.2列出了使用C代碼與使用線性匯編優(yōu)化的代碼所耗費的時鐘周期數(shù)。www.51kaifa.com

  表4.2 代碼優(yōu)化的結果比較

  優(yōu)化前(周期數(shù))

  優(yōu)化后(周期數(shù))

  速度提高(%)

  獲取預測宏塊值FindPred()

  975283

  331506

  66

  導入當前宏塊LoadArea()

  572793

  208762

  63

  5 結論

  本文采用TI公司生產(chǎn)的TMS320DM642芯片完成了基于H.264運動估計算法的實現(xiàn)與優(yōu)化。在未對算法實現(xiàn)做優(yōu)化時圖像顯示幀率為19幀/秒,經(jīng)過一系列的優(yōu)化措施之后,顯示幀率達到32幀/秒,且圖像清晰,無明顯塊效應。運動估計算法實現(xiàn)的難點主要在于軟件程序的優(yōu)化,通過軟件流水和線性匯編等優(yōu)化手段,可以達到較好的實時效果。

  本文作者創(chuàng)新點:使DM642處理芯片和算法特性充分結合,主要從算法改進、存儲器優(yōu)化和程序代碼級優(yōu)化三個方面,采取一系列措施,完成了對基于H.264的運動估計算法的實時實現(xiàn),為整個編解碼系統(tǒng)的有效實現(xiàn)提供了借鑒和參考,具有很強的實用價值。
  


  

參考文獻:

[1]. TMS320DM642 datasheet http://www.hbjingang.com/datasheet/TMS320DM642_14462.html.
[2]. PCI datasheet http://www.hbjingang.com/datasheet/PCI_1201469.html.


關鍵詞:基于DM642的運動估計算法的研究與實現(xiàn)TMS320DM642256K66MHZC6000DM642600MHZ

版權與免責聲明

凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權均屬于維庫電子市場網(wǎng),轉載請必須注明維庫電子市場網(wǎng),http://www.hbjingang.com,違反者本網(wǎng)將追究相關法律責任。

本網(wǎng)轉載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點或證實其內(nèi)容的真實性,不承擔此類作品侵權行為的直接責任及連帶責任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉載時,必須保留本網(wǎng)注明的作品出處,并自負版權等法律責任。

如涉及作品內(nèi)容、版權等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關權利。

AT24C256K 全新原裝現(xiàn)貨
廣告
OEM清單文件: OEM清單文件
*公司名:
*聯(lián)系人:
*手機號碼:
QQ:
有效期:

掃碼下載APP,
一鍵連接廣大的電子世界。

在線人工客服

買家服務:
賣家服務:
技術客服:

0571-85317607

網(wǎng)站技術支持

13606545031

客服在線時間周一至周五
9:00-17:30

關注官方微信號,
第一時間獲取資訊。

建議反饋

聯(lián)系人:

聯(lián)系方式:

按住滑塊,拖拽到最右邊
>>
感謝您向阿庫提出的寶貴意見,您的參與是維庫提升服務的動力!意見一經(jīng)采納,將有感恩紅包奉上哦!