《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于 DSP 的視頻算法系統優化若干策略
基于 DSP 的視頻算法系統優化若干策略
摘要: 數字視頻產品需求近些年出現猛增。主流應用包括視頻通信、視頻監控與工業自動化,而最熱門的要算娛樂應用,如DVD、HDTV、衛星電視、標清(SD)或高清(HD)機頂盒、數碼相機與HD攝像機、高端顯示器(LCD、等離子顯示器、DLP)以及個人攝像機等。這些應用都向高質量的視頻編解碼算法及其標準提出巨大需求,目前主流壓縮標準主要有MPEG2、MPEG4和H.264/AVC,而針對這些編解碼標準有各種各樣的實現方案。本文主要探討基于TI的C64系列DSP的視頻解碼算法標準系統優化過程中需要考慮的若干因素。
關鍵詞: DSP 視頻算法
Abstract:
Key words :

數字視頻產品需求近些年出現猛增。主流應用包括視頻通信、視頻監控與工業自動化,而最熱門的要算娛樂應用,如 DVD、HDTV、衛星電視、標清(SD)或高清 (HD) 機頂盒、數碼相機與 HD 攝像機、高端顯示器(LCD、等離子顯示器、DLP)以及個人攝像機等。這些應用都向高質量的視頻編解碼算法及其標準提出巨大需求,目前主流壓縮標準主要有MPEG2、MPEG4和H.264/AVC,而針對這些編解碼標準有各種各樣的實現方案。本文主要探討基于TI 的C64系列DSP的視頻解碼算法標準系統優化過程中需要考慮的若干因素。

        TI的C64系列DSP以其強大的處理能力被廣泛用于視頻處理領域,然而由于大家對C64系列DSP的結構、指令、的理解程度不一樣,造成算法實現時的效果有許多的差異。具體體現在實現算法時所使用的CPU的資源上。如實現H.264 MP@D1解碼時所占用CPU的資源上,會有所差異,或者是所包含的算法工具子集上,如實現H.264 MP@D1解碼時使用CAVLC而不使用CABAC。造成這些差異,主要原因有如下因素:

算法關鍵模塊的優化
算法系統集成時Memory的管理
算法系統集成時的EDMA的資源分配管理
本文從這三方面逐步探討算法優化集成中需要考慮的若干因素。

算法關鍵模塊的優化

        一般而言,對于目前主流視頻解壓縮標準都有類似的很消耗DSP CPU的模塊,如H.264/AVC、MPEG4、AVS等編碼中運動矢量搜索很占用資源,而且這些模塊在整個系統實現過程中調用相當頻繁,因此我們首先找出這些模塊,這點TI的CCS提供了工程剖析工具(Profile),可以很快找到整個工程中占用DSP CPU資源最多的模塊;然后對這些模塊進行優化。

        對這些關鍵算法模塊的優化我們分可以分三步進行,如圖2所示,先認真分析這部分代碼,并進行相應的調整,如盡量減少有判斷跳轉的代碼,特別是for循環中,判斷跳轉會打斷軟件流水。使用的方法,可是使用查表或者使用_cmpgtu4、_cmpeq4等Intrinsics來代替比較判斷指令,從而巧妙替代判斷跳轉語句。同時使用TI的CCS中所提供的#pragma提供編譯器盡量多的信息,這些信息包括for循環的次數信息、數據對齊信息等。如果經過這部分優化無法滿足系統要求,則對這部分模塊使用線性匯編實現,線性匯編是介于C和匯編之間的一種語言實現形式,可以控制指令的使用,而不必特別關心寄存器、功能單元(S、D、M、L)的分配和使用,使用線性匯編一般會比使用C語言具有更高的執行效率。如果線性匯編還無法滿足要求,則使用匯編實現,要編寫出高并行、深軟件流水的匯編需要經過畫相關圖,創建時序表(Scheduling table)等步驟,由于篇幅所限,這里就不熬述。


表1


        優化選項:-pm, -o3,基于C64plus內核,C+Instrinsics 是指在C中使用Instrinsics。

        表1是運動搜索中所需要的計算16×16宏塊SAD值時,不同方式下所消耗的DSP CPU的周期數。由此可見,匯編實現所消耗的CPU的周期數最少,但前提是需要充分了解DSP CPU的結構、指令以及算法模塊的結構,從而能夠編寫出高并行、深軟件流水的匯編,否則有可能所寫出的匯編還沒有線性匯編或者C效率更高。為此一個行之有效的方法是,充分利用TI所提供的算法庫中的函數,因為算法庫中的函數都是已經充分優化過的算法模塊,而且大都提供對對應的C、線性匯編和匯編源代碼,并有文檔進行API介紹。

算法系統集成時Memory的管理

        由于在基于DSP的嵌入式系統開發中,存儲資源特別是片內高速存儲資源有限,在算法系統集成時Memory的管理對于提高整個系統的優化是非常重要的,這一方面影響數據的讀取、搬移速度;另一方面還影響Cache的命中率,下面分程序和數據兩方面分析。

        程序區:最大原則是將經常調度使用的算法模塊放片內。為做到這點,TI的CCS中提供了#pragma CODE_SECTION,可以把需要單獨控制存放的函數段從.text段中獨立出來,從而在.cmd文件中對這些函數段進行單獨物理地址映射。還可以使用程序動態的方式,將需要運行的代碼段先調度進片內memory,如H.264/AVC中CAVLC和CABAC兩個算法模塊具有互斥性,因此可以將這兩個算法模塊放在片外而且對應于片內同一塊運行區,在運行其中某一個算法模塊之前,先將其調入片內,從而充分利用片內有限的高速存儲區。程序區的管理考慮到一級程序Cache(L1 P)的命中率,最好將具有先后執行順序的函數按地址先后順序配置在

        程序空間中,同時對代碼比較大的處理函數將其拆分成小函數。

        數據區:在視頻標準編解碼中,由于數據塊都很大,如一幀D1 4:2:0的圖像有622k大小,而且在編解碼中都需要開3~5幀甚至更多的緩沖幀,因此數據基本上無法在片內存放。為此在系統的Memory優化管理中,需要開C64系列DSP的二級Cache(對于TMS320DM642用于視頻編解碼中二級Cache開64k的情況比較多)。同時最好將放片外的被Cache所映射的視頻緩沖區的數據以128 byte對齊,這是因為C64系列的DSP的二級Cache的每行大小為128 byte,以128 byte對齊有利于Cache的刷新和一致性維護。

算法系統集成時的EDMA的資源分配管理

        由于在視頻處理中,會經常有塊數據的搬移,而且C64系列DSP提供了EDMA,邏輯上有64個通道,因此對EDMA的配置使用對優化系統是非常重要的。為此可以使用下述步驟進行充分配置系統的EDMA資源。

1. 統計系統中各種需要使用EDMA的情況及其大概需要占用的EDMA物理總線的時間,如表2所示:

注意:該表針對視頻通過視頻端口(Video Port)(720*480,4:2:0,30Frame/s),音頻通過McBSP(采樣率為44k)進入DSP,壓縮好的數據數率在2Mbps左右,數據通過PCI每488uS輸出一個128byte的包(PCI口工作頻率為33MHz),外掛SDRAM的時鐘頻率為133MHz,只做一個參考應用例子。

2. 統計好這些信息后,需要依據系統對各種碼流實時性、及其傳輸數據塊大小對各個被使用的EDMA通道進行優先級分配。一般而言,由于音頻流傳輸塊小,因此占用EDMA總線的時間短,而視頻傳輸塊比較大,占用EDMA總線的時間較長,因此將輸入音頻所對應的EDMA通道的優先級設定為Q0(urgent),視頻的優先級設定為Q2(medium),輸出碼流所對應的EDMA通道的優先級設定為Q1(high),音視頻算法處理中所調度的QDMA的優先級設定為Q3(low)。當然這些設定在真正系統應用中可能還需要調整的。

實際的基于TI DSP視頻算法優化集成過程,會是基于圖1所示的步驟,先初步配置Memory,并選擇相應編譯優化選項,如果編譯的結果已經可以達到實時性要求之后就結束后面的優化;否則開始優化Memory和EDMA的配置,從而提高對Cache和內部總線的利用率;如果還無法達到要求則通過剖析整個工程確定消耗CPU資源最高的代碼段或者函數,對這些關鍵模塊進行優化,采用線性匯編、甚至匯編直到整個系統可以滿足要求為止。

 

參考文獻:

TMS320C64x/C64x+ DSP CPU and Instruction Set Reference Guide (SPRU732)
TMS320C6000 EDMA IO Scheduling and Performance (SPRAA00)
TMS320C6000 Optimizing Compiler User's Guide (spru187)
TMS320C64x EDMA Architecture (SPRA994)
TMS320C6000 EDMA Controller Reference Guide (SPRU234)
TMS320C64x DSP Two-Level Internal Memory Reference Guide (SPRU610)
Cache Usage in High-Performance DSP Applications With the TMS320C64x (SPRA756)

此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          一级成人国产| 久久九九国产精品| 一本久久a久久免费精品不卡| 欧美肥婆在线| 国产永久精品大片wwwapp| 快she精品国产999| 国产精品卡一卡二| 国产麻豆综合| 国产日韩av高清| 久久久99免费视频| 狠狠色综合色区| 欧美日韩精品综合| 米奇777超碰欧美日韩亚洲| 亚洲女同同性videoxma| 国产精品久久久久99| 国产一区二区三区四区三区四| 久久免费一区| 国产乱码精品一区二区三| 久久久久成人网| 欧美日韩国产三区| 久久免费国产| 国产精品久久久久久久久久妞妞| 国产精品美女一区二区在线观看| 国产一区二区高清| 一区二区三区**美女毛片| 国产精品久久夜| 国产精品每日更新在线播放网址| 国产精品jvid在线观看蜜臀| 久久久五月婷婷| 久久亚洲综合网| 亚洲第一网站| 一区二区三区日韩欧美| 亚洲一品av免费观看| 亚洲在线网站| 欧美精品久久天天躁| 日韩一级大片在线| 欧美日韩dvd在线观看| 亚洲无线一线二线三线区别av| 久久综合导航| 亚洲福利小视频| 一区二区三区免费网站| 国产区欧美区日韩区| 欧美日韩成人在线播放| 国产欧美日韩麻豆91| 在线一区二区三区四区五区| 最新亚洲激情| 亚洲欧美日韩中文视频| 欧美一区午夜视频在线观看| 国产精品免费看| 国产精品vip| 久久久人成影片一区二区三区观看| 欧美高清在线视频观看不卡| 国产精品久久夜| 欧美午夜电影在线观看| 极品裸体白嫩激情啪啪国产精品| 久久久综合激的五月天| 亚洲欧美日本国产专区一区| 久久久久久伊人| 亚洲免费观看高清完整版在线观看| 最新日韩精品| 亚洲午夜小视频| 欧美影院精品一区| 国产一区二区三区久久悠悠色av| 99精品视频网| 欧美14一18处毛片| 欧美一区二区在线免费播放| 国产性天天综合网| 欧美在线高清视频| 一本久久综合亚洲鲁鲁五月天| 西西裸体人体做爰大胆久久久| 欧美一区二区啪啪| 国产精品成人国产乱一区| 欧美伊人久久久久久午夜久久久久| 亚洲欧美日韩中文在线制服| 激情五月综合色婷婷一区二区| 免费久久久一本精品久久区| 欧美三区视频| 久久精品123| 久久av老司机精品网站导航| 男同欧美伦乱| 亚洲国产99精品国自产| 性欧美大战久久久久久久免费观看| 亚洲国产成人精品久久| 欧美日韩喷水| 免费一级欧美片在线播放| 亚洲欧美精品中文字幕在线| 一本一本久久a久久精品综合妖精| 99精品国产福利在线观看免费| 在线视频国产日韩| 午夜精品久久久久久久男人的天堂| 欧美激情综合| 欧美激情1区| 欧美国产视频在线观看| 可以免费看不卡的av网站| 国产精品美女久久久| 国产一区二区三区精品久久久| aa日韩免费精品视频一| 国产女人aaa级久久久级| 亚洲国产裸拍裸体视频在线观看乱了| 亚洲黄色片网站| 国产欧美一区二区三区在线看蜜臀| 国产一区二区中文| 一区二区精品| 欧美一区1区三区3区公司| 国产精品免费一区二区三区在线观看| 亚洲国产精品黑人久久久| 在线观看一区欧美| 91久久精品一区二区别| 激情亚洲网站| 一本色道久久综合| 午夜在线视频一区二区区别| 亚洲电影专区| 国产日韩欧美三区| 国产毛片精品国产一区二区三区| 欧美黄污视频| 国产精品网站视频| 国产精品亚洲一区| 国产亚洲精品自拍| 欧美日韩一区成人| 国产性天天综合网| 一本色道久久| 亚洲欧美成人网| 免费的成人av| 久久免费99精品久久久久久| 一区二区三区四区蜜桃| 亚洲片国产一区一级在线观看| 在线高清一区| 亚洲欧美在线网| 欧美国产精品v| 久久这里有精品15一区二区三区| 在线亚洲一区观看| 国产一区二区福利| 在线观看日韩av先锋影音电影院| 国产一区二区在线观看免费播放| 香蕉久久久久久久av网站| 西瓜成人精品人成网站| 1000部精品久久久久久久久| 男女激情视频一区| 国产专区综合网| 欧美日韩一区二区免费视频| 欧美精品91| 狠狠色狠色综合曰曰| 欧美粗暴jizz性欧美20| 亚洲国产精品传媒在线观看| 欧美亚洲一区二区在线观看| 欧美电影免费观看网站| 欧美人与性动交cc0o| 夜夜嗨av一区二区三区中文字幕| 激情综合自拍| 美女主播视频一区| 亚洲风情亚aⅴ在线发布| 国产精品一区二区久激情瑜伽| 国产女主播一区二区三区| 国产精品国色综合久久| 在线视频免费在线观看一区二区| 欧美成人69| 亚洲自拍啪啪| 免费精品视频| 久久综合九九| 亚洲国产裸拍裸体视频在线观看乱了| 欧美日韩精品综合在线| 亚洲级视频在线观看免费1级| 国产精品二区在线观看| 欧美一二区视频| 国产日韩欧美麻豆| 在线一区二区三区做爰视频网站| 欧美日韩免费一区二区三区| 日韩亚洲在线观看| 久久综合久久综合这里只有精品| 欧美日韩国产综合一区二区| 亚洲影院污污.| 国产麻豆精品theporn| 欧美激情一区二区三区四区| 一本久久青青| 国产久一道中文一区| 国产日韩欧美精品| 欧美色精品在线视频| 国产一区三区三区| 久久久蜜臀国产一区二区| 欧美高清视频一区| 免费永久网站黄欧美| 亚洲精品国产无天堂网2021| 美女久久网站| 亚洲国产精品女人久久久| 精品福利电影| 欧美午夜宅男影院在线观看| 久久久久久91香蕉国产| 午夜欧美大片免费观看| 亚洲午夜在线| 亚洲欧洲在线观看| 免费亚洲电影在线观看| 欧美一区二区三区视频在线| 欧美精品在线免费播放| 激情欧美国产欧美| 裸体丰满少妇做受久久99精品| 久久国产精品第一页| 亚洲毛片在线| 亚洲免费观看| 国产欧美日韩视频一区二区| 欧美日韩亚洲不卡| 亚洲欧洲日产国码二区| 欧美麻豆久久久久久中文| 亚洲精品乱码久久久久久日本蜜臀| 欧美日韩在线播放| 国产综合久久| 国产精品久久久久婷婷| 在线免费精品视频| 久久久久亚洲综合| 极品裸体白嫩激情啪啪国产精品| 亚洲一区二区三区视频播放| 国产日韩在线看片| 亚洲欧美视频在线观看视频| 欧美一区二区三区的| 久久亚洲图片| 亚洲人成人一区二区三区| 黄色成人免费网站| 欧美欧美午夜aⅴ在线观看| 国产精品久久久久久久午夜| 国产一区二区久久| 欧美成人免费全部| 快播亚洲色图| 在线日韩电影| 午夜亚洲福利在线老司机| 国产一区二区三区av电影| 欧美美女喷水视频| 亚洲欧美一区二区三区在线| 欧美国产亚洲另类动漫| 久久久久国产精品www| 久久一日本道色综合久久| 国产精品人人爽人人做我的可爱| 亚洲第一偷拍| 亚洲电影免费| 中文av字幕一区| 欧美性片在线观看| 国产精品永久入口久久久| 久久成人久久爱| 欧美午夜宅男影院| 欧美电影美腿模特1979在线看| 黄色工厂这里只有精品| 99精品视频免费| 亚洲肉体裸体xxxx137| 在线观看欧美日本| 一区二区三区精密机械公司| 亚洲精品自在久久| 亚洲国产精品精华液网站| 欧美激情免费在线| 韩国美女久久| 久久精品视频在线观看| 最新国产成人av网站网址麻豆| 国产精品乱码一区二三区小蝌蚪| 欧美日韩高清在线播放| 亚洲综合电影一区二区三区| 欧美激情1区2区| 亚洲国产一区二区三区在线播| 欧美午夜视频在线| 乱人伦精品视频在线观看| 欧美在线免费一级片| 久久福利精品| 久久综合九色综合久99| 欧美一激情一区二区三区| 久久久久欧美精品| 亚洲欧美视频一区二区三区| 亚洲精品久久久久久久久久久| 欧美三级日韩三级国产三级| 欧美激情欧美狂野欧美精品| 欧美一区二区三区在线看| 精品不卡在线| 国产三级欧美三级日产三级99| 国产精品人人爽人人做我的可爱| 久久国产乱子精品免费女| 国产精品久久久久高潮| 在线免费精品视频| 欧美激情中文字幕乱码免费| 久久久人成影片一区二区三区观看| 欧美日韩a区| 国产一区二区高清视频| 久久裸体视频| 亚洲国产精品嫩草影院| 亚洲精品久久在线| 亚洲精品日产精品乱码不卡| 国产人久久人人人人爽| 亚洲视频欧洲视频| 伊人精品视频| 国产综合色在线视频区| 国产精品va在线| 欧美风情在线观看| 在线成人激情| 久久av最新网址| 国产精品二区在线| 亚洲精品国精品久久99热| 亚洲最新中文字幕| 久久婷婷激情| 欧美日韩精品一区二区天天拍小说| 久久久噜噜噜久噜久久| 麻豆精品一区二区综合av| 亚洲国产精品电影| 在线成人免费视频| 欧美日本高清视频| 国产精品国产三级国产普通话99| 一区二区三区中文在线观看| 欧美午夜宅男影院在线观看| 欧美成人一区二区三区| 国产亚洲永久域名| 久久午夜羞羞影院免费观看| 欧美日韩理论| 欧美激情综合亚洲一二区| 欧美国产一区在线| 日韩午夜在线电影| 亚洲视频一区在线观看| 国产精品久久久久久户外露出| 欧美一区永久视频免费观看| 久久国产福利| 亚洲成人在线视频网站| 亚洲欧美另类国产| 亚洲精品在线免费| 欧美一区二区三区免费视| 亚洲福利一区| 男同欧美伦乱| 久久精品一区二区三区不卡牛牛| 久久精品亚洲一区| 国产精品一区二区三区四区五区| 亚洲午夜久久久久久久久电影网| 另类成人小视频在线| 亚洲第一在线综合在线| 国产午夜亚洲精品羞羞网站| 一区二区三区视频在线看| 久久本道综合色狠狠五月| 欧美午夜精品理论片a级大开眼界|