<rt id="m4md3"></rt>
  • <bdo id="m4md3"><meter id="m4md3"></meter></bdo>
  • <label id="m4md3"></label>
      <center id="m4md3"><optgroup id="m4md3"></optgroup></center>
      產品分類

      當前位置: 首頁 > 行業動態

      基于TMS320C64x/DM64x的視頻編碼優化

      發布日期:2022-07-14 點擊率:39

      ay: block;">

      數字視頻編碼在諸如數字視頻監控系統與視頻會議系統等眾多應用中發揮著重要作用。本文將對以TMS320C64x/DM64xDSP為基礎的通用視頻編碼器優化技術進行介紹。基于DM64x的視頻編碼優化結合了多種技術,其中包括算法/系統優化、存儲器緩沖優化、EDMA及高速緩存利用率優化等。

      TMS320C64x/DM64x器件建立在德州儀器(TI)開發的第二代高性能VLIW架構(VelociTI.2)基礎之上。該器件具有VLIW架構、2級存儲器/高速緩存層次結構以及EDMA引擎等關鍵特性,從而使其成為計算強度較大的視頻/影像應用(如視頻編碼與分析)的最佳選擇之一。利用DM64x進行應用開發時,需要全面了解其特性與開銷以實現最佳性能。下面以DM642為例在此列出其所有DSP關鍵特性:

      1. 增強功能單元


      DM64x的8個功能單元中的VelociTI.2擴展包括加速視頻與影像應用性能的新指令。

      2. L1/L2分級存儲器結構

      圖1:視頻編碼結構圖。


      16KB直接映射的L1P程序高速緩存,帶有32字節的高速緩存管線(8周期L1P高速緩存缺失損失)。


      16KB雙路關聯L1D數據高速緩存,帶有64字節的高速緩存管線(6循環L1D高速緩存缺失損失)。


      256KBL2統一映射RAM/高速緩存(靈活的RAM/緩存分配)


      L2四路關聯高速緩存,帶有128字節的高速緩存管線。

      3. 位優先原則:低位優先(Little Endian),高位優先(Big Endian)。

      4.64位外部存儲器接口(EMIF):至異步與異步存儲器的無膠合邏輯接口。

      5.1024MB總的可尋址外部存儲器空間。

      6.增強型直接存儲器存取(EDMA)控制器(64個獨立通道)。

      片上外設集包括:三個可配置的視頻端口,一個10/100Mbps以太網MAC(EMAC),一個管理數據輸入/輸出(MDIO)模塊,一個VCXO內插控制端口(VIC)。視頻端口外設提供與通用視頻解碼器和編碼器相連的無縫接口,以支持多種視頻分辨率及標準,如、、SMPTE125M/260M/274M/296M等。

      上面的功能特性對包括視頻編碼在內的所有算法的執行都相當重要。二級存儲器/高速緩存分級結構與EDMA引擎基本決定了視頻編碼器實現的架構。在算法實現過程中,我們需要弄清一些有關存儲器/高速緩存層次結構以及EDMA引擎的基本概念。如果代碼大于L1P,就可能發生L1P高速緩存缺失,CPU停止運行至到讀取到所需代碼。類似地,如果數據與L1D不符,就會出現L1D高速緩存缺失并且CPU停止運行。所有的L1P與L1D缺失問題均由L2高速緩存/SRAM來解決。如果代碼與數據的大小均大于L2高速緩存的容量,那么就可能出現L2高速緩存缺失。與L1P/L1D高速緩存缺失損失相比,L2缺失損失通常更嚴重,因為L2高速緩存需要與速度較低的片外存儲器相互傳遞數據/代碼。

      確保視頻編碼器最佳性能的兩大重要因素是進行有利于高速緩存的程序分區(program partitioning)以及數據傳輸處理(如減少L1/L2缺失)。盡管L2 SRAM可用于解決L1D/L1P缺失問題,我們通常還是更傾向于采用EDMA來傳輸L2 SRAM與片外存儲器之間的代碼/數據,因為EDMA的傳輸效率通常高于L2高速緩存。

      視頻編碼器系統/算法優化

      圖1給出了通用視頻編碼算法結構圖,MPEG2、及MPEG4等許多視頻編碼標準都可從該算法結構圖衍生而來。在圖1中,DCT與量化(Q)去除了視頻的空間冗余;運動估計(ME)降低了視頻的時間冗余;VLC進行熵編碼(entropycoding),以將數據有效地進行分組。

      通常,視頻編碼器的實現是以宏模塊(MB)為基礎。這就是說,只有在當前MB完成所有處理步驟后,視頻編碼器才讀取下一個MB。這種靠直覺進行操作的方法存在兩大缺點:

      1.視頻編碼器的整體代碼尺寸通常大于L1P。在每個MB讀取階段,代碼都需要在L1P和L2P之間進行交換,這會造成嚴重的高速緩存缺失問題。


      2.用EDMA從外部視頻幀存儲器向內部存儲器傳輸小塊數據(如一個MB)的效率不高。

      為了避免造成大量高速緩存缺失損失和CPU停止響應問題,我們可將算法分為三個小循環/模塊,每部分都能在L1P中容下。每個循環中每次同時操作M個宏模塊(MB串),而不是只操作一個宏模塊。M是宏模塊串的大小,只受可用L1D大小的限制。M越大,就能獲得的越高的EDMA數據吞吐量性能。

      三個小循環為:


      1. 宏模塊編碼環路


      2. 運動估計環路


      3. 宏模塊重建環路

      正如上面強調指出的那樣,每次都讀取M個宏模塊,一起經過三個環路中的一個來處理。舉例來說,在宏模塊編碼循環中,如果將M個宏模塊讀入內部存儲器,那么將對其進行DCT轉換、量化以及熵編碼。只有當宏模塊編碼環路結束時,這一組宏模塊才離開L1D。相應的程序包括DCT、量化以及VLC內核,其會在所有M個宏模塊在L1P中完全處理之后才脫離該環路。EDMA引擎驅動的乒乓存儲器緩沖方案有助于減少執行一組宏模塊時環路初始的設置時間,同時還可確保最小化的CPU停止周期,這是由于傳輸與處理并行進行的原因。

      視頻編碼器的存儲器緩沖方案

      為了獲得最佳性能,許多與關鍵內核相關的查找表格、狀態變量以及數據緩沖都必須位于內部存儲器之中。除了上述基本數據所占用的存儲器之外,部分TMS320DM64x仍有足夠的內部存儲器可容納整個視頻幀,以供編碼器處理。但有的器件則不行,因為內部SRAM在不同的C64x/DM64x器件間有所差異。有些應用只需運行視頻編碼器,而其它應用則要運行其他算法,其中包括視頻編碼等。為了針對大多數視頻應用情況下的所有DM64x器件提供通用的視頻緩沖方案,全部視頻幀應位于外部存儲器,而非內部存儲器中。EDMA每次將M個MB帶從外部視頻緩沖傳輸到內部緩沖。正如我們在上一節中談到的那樣,M只受L1D大小的限制。

      圖片群(GOP)是視頻編碼中的重要概念,因為其確定了每個視頻幀的編碼方案。通常,在GOP中定義所有視頻編碼標準的I幀和P幀。B幀只包含在高級視頻編碼配置文件(profile)中,如MPEG4高級簡單配置文件以及MPEG2主配置文件等。對于I幀而言,我們可采用類似JPEG的編碼方案來去除空間冗余。對于P幀來說,我們采用前向運動估計(forward motion estimation),并以此前的I/P作為參考。對于B幀而言,前向ME(forward ME)不僅需要此前的I/P幀,而且還需要隨后的I/P幀用于后向ME(backward ME)。視頻編碼器必須在兩個P幀之間對所有B幀進行緩沖,這是由于B幀采用雙向ME方案的緣故。圖2給出了視頻幀的數據依賴性。

      圖2:視頻編碼器中視頻幀的數據依賴性。

      我們已經熟知,對于B幀GOP而言,視頻捕獲/顯示的順序不同于視頻編碼順序。例如,GOP= IBBP BBP BBP BBP BB的順序適用于捕獲/顯示,而GOP編碼順序則為GOP'= IPBB PBB PBB PBB……。視頻編碼算法分區的關鍵在于使CPU負載盡可能暫時不變。

      EDMA的使用

      TMS320C64x器件的增強型DMA(EDMA)控制器是一種高效率的數據傳輸引擎,每個EDMA周期都可處理多達8個字節,從而可在CPU速率為600MHz時實現每秒的總數據吞吐量。為了使我們的視頻編碼器應用能充分受益于傳輸引擎的帶寬,充分利用可用的總線寬度非常重要。換言之,我們應該盡量使用32位大小的傳輸單元。為了有效利用EDMA,我們應當很好地了解EDMA的傳輸過程。在EDMA通信方面,每次數據傳輸都由傳輸請求(TR)發起,該請求包含執行傳輸所需的所有信息,如源地址、目標地址、傳輸屬性、傳輸單元的數量等。TR根據優先級的不同分為不同的隊列。如果TR達到隊列頭(head of queue),那么它將轉移到EDMA傳輸控制器隊列寄存器中,該寄存器執行由TR定義的實際數據移動。

      傳輸控制器(TC)是EDMA引擎處理TR并執行實際數據移動的部分。在TC中,TR被轉移至傳輸請求隊列之一,等待處理。傳輸優先級決定了該隊列應被提交到哪個隊列,一共有四個隊列,對應于四種優先級,每種深度為16項。這四種隊列分別為緊急(Q0)、高(Q1)、中(Q2)以及低(Q3)??蓪γ總€TMS320C64X傳輸請求發出者進行編程,使其可發出任意優先級的TR。地址生成/傳輸邏輯一次只能為每個優先隊列的一個TR提供服務。傳輸邏輯可并行處理不同優先級的傳輸。為了最大化視頻編碼器中的數據傳輸帶寬,只要可能,就應在所有四種優先級上對傳輸進行分配。TC包含四組隊列寄存器,每種對應一個優先級隊列,監控傳輸過程。在特定隊列的寄存器組中,其會保持傳輸的當前源地址、目標地址以及數量等。這些寄存器不在器件的存儲器映射中,對CPU不可用。傳輸過程中的實際數據移動發生在寄存器中。

      EDMA也能通過使用CPU發出的QDMA請求執行非同步傳輸。換言之,QDMA傳輸是通過CPU實現同步的。在視頻編碼器中,EDMA傳輸由算法的數據流實現同步,而非通過外部事件實現。QDMA更適合發出單個的獨立傳輸,以便快速移動數據,而不適合像其它EDMA通道那樣執行周期性或重復性傳輸。每次發出的傳輸請求均由EDMA處理。根據優先級對請求進行排隊,最先處理優先級較高的請求。由于EDMA的結構使然,要通過不同的隊列提出傳輸請求(但根據優先級提交)。所有QDMA傳輸都采用幀同步提交。因此,QDMA總是請求傳輸數據的完整幀。對于任何QDMA提交而言,發出的請求只有一個。良好的視頻編碼器應并行采用所有三種優先級隊列(低、中和高)以便在外部存儲器與內部片上緩沖之間進行數據傳輸。

      高速緩存優化

      最大化高速緩存的效率是實現總體視頻編碼性能目標的關鍵因素之一。高效的高速緩存可減少由于存儲器活動而造成的CPU停止響應,從而提高處理器的吞吐量。正如我們在第一節中介紹的那樣,包括DM64x等在內的TM320C64xDSP使用高效的二級存儲器架構實現片上程序與數據存取。在這種結構層次中,CPU直接與專用一級程序(L1P)和數據(L1D)高速緩存相連。L1高速緩存工作的速度與CPU相同。直接映射的L1P高速緩存是只讀的,而卻可對雙路關聯相關高速緩存L1D進行讀寫。將L1存儲器與稱作L2的二級片上存儲器連接。L2是一種統一的存儲器塊,其包括程序與數據。L2高速緩存作為L1和片外存儲器之間連接的橋梁。如欲獲得本高速緩存架構的詳細文檔,敬請參閱C6000外設參考指南(SPRU190f)。

      參考文獻:


      [1] Anurag Jain, Ratna Reddy, Jeremiah Golston, Jagadeesh Sankaran, Programmable Real-time MPEG-2 Encoding, GSPx 2002.


      [2] Kyoung Won Lim, Jong Beom Ra. Improved hierarchical search block matching algorithm by using multiple motion vector candidates. Electronic Letters, Volume: 33 Issue:21, 9 Oct. 1997 Page(s): 1771-1772.


      [3] Ismaeil, I.R.; Docef, A., Kossentini, F., Ward, R. Motion estimation using long-term motion vector prediction. Data Compression Conference, Proc. 1999 Page(s): 531.

      [4] J. Lee and B.W. Dickinson. Temporally adaptive motion interpolation exploiting temporal asking in
      visual perception. IEEE Trans. Image Proc., 3(5): 513-526, Sep 1994.

      作者:彭程博士


      德州儀器公司

      下一篇: 網絡DVR是大勢所趨

      上一篇: 基于Eclipse平臺的工

      主站蜘蛛池模板: 色婷婷综合久久久久中文 | 亚洲欧美熟妇综合久久久久| 久久综合日韩亚洲精品色| 色综合久久无码五十路人妻| 色欲色香天天天综合网站免费| 国产精品综合AV一区二区国产馆 | 亚洲精品第一国产综合境外资源 | 狠狠久久综合伊人不卡| 久久综合给合久久狠狠狠97色69| 色偷偷亚洲第一综合网| 久久精品国产91久久综合麻豆自制| 91精品国产综合久久香蕉 | 国产成人亚洲综合一区| 久久综合综合久久97色| 国产综合无码一区二区色蜜蜜| 久久婷婷丁香五月综合五| 区二区三区激情综合 | 亚洲AⅤ优女AV综合久久久| 玖玖爱zh综合伊人久久| 国产色综合天天综合网| 色婷婷综合久久久久中文字幕| 成人综合久久精品色婷婷| 狠狠色丁香久久综合五月| 亚洲综合激情另类专区| 色爱区综合激情五月综合色| 国产成人精品综合网站| 色综合色综合久久综合频道| 亚洲综合丁香婷婷六月香| 91精品国产综合久久青草| 亚洲av综合avav中文| 国产综合色在线精品| 亚州欧州一本综合天堂网| 图图资源网亚洲综合网站| 色综合色狠狠天天综合色| 亚洲婷婷第一狠人综合精品| 97久久天天综合色天天综合色| 2020久久精品亚洲热综合一本| 小说区图片区综合久久88| 区二区三区激情综合| 婷婷五月综合色视频| 久久综合丝袜长腿丝袜|