關(guān) 閉

新聞中心

EEPW首頁 > 安全與國防 > 設(shè)計應(yīng)用 > 基于異構(gòu)多核全高清H264解碼系統(tǒng)設(shè)計

基于異構(gòu)多核全高清H264解碼系統(tǒng)設(shè)計

作者: 時間:2015-03-31 來源:網(wǎng)絡(luò) 收藏

  移動互聯(lián)網(wǎng)時代的到來,高清多媒體視頻的普及,3D大型手機游戲?qū)Φ某霈F(xiàn),單核嵌入式硬件平臺已經(jīng)難以滿足復雜的實際計算需求。而異構(gòu)多核處理器在視頻編解碼運算上具有強大的優(yōu)勢,已經(jīng)成為了嵌入式處理器架構(gòu)發(fā)展的趨勢。目前普遍高清視頻編解碼都采用異構(gòu)多核處理器內(nèi)的DSP進行協(xié)同處理,通過片上通信機制實現(xiàn)核間多媒體數(shù)據(jù)傳輸。DSP相比軟解碼在速度和性能上得到了一定的提升,如平臺內(nèi)置DSP能夠?qū)崿F(xiàn)720P視頻實時解碼。但DSP運行時需要對信箱以及DMA進行配置,占用較多的片上通信帶寬,導致核間通信效率不高,同時DSP編解碼效率和硬編解碼器相比仍偏低。為了進一步提高全高清編解碼性能,本文采用TI Soc OMAP4430異構(gòu)多核處理器作為處理平臺,其最大不同在于內(nèi)置雙核Cortex-A9強勁處理器、雙核Cortex-M3協(xié)處理器及IVA-HD多媒體硬編解碼加速引擎。IVA-HD引擎內(nèi)部有7個針對各種視頻編解碼而設(shè)計的加速引擎,每個加速引擎擁有獨立的數(shù)據(jù)存儲器,可以在最大程度上降低模塊間因為讀寫數(shù)據(jù)造成的競爭。同時采用virtio緩存隊列和RPMsg消息框架來實現(xiàn)基于異步通知的主處理核A9與協(xié)處理核M3間數(shù)據(jù)通信,具有大數(shù)據(jù)通信效率高、異步通知、等優(yōu)點。OMAP4430處理器內(nèi)部的Cortex-A9雙核處理器將運行高級嵌入式操作系統(tǒng)Linux,負責系統(tǒng)工作任務(wù)的調(diào)度、音頻解碼、用戶界面交互,而其內(nèi)部的Cortex-M3將充當輔助處理核,管理IVA-HD加速引擎完成解碼任務(wù),最后用實例驗證本次設(shè)計的正確性。

本文引用地址:http://www.butianyuan.cn/article/271885.htm

  1主要技術(shù)

  1.1 virtio緩存隊列

  Virtio是半虛擬化hypervisor中位于設(shè)備之上的抽象層,為異構(gòu)多核間數(shù)據(jù)通信提供了最低層的實現(xiàn)。它使用了兩個基于異步通知的緩存隊列(一個用于向協(xié)處理核發(fā)送數(shù)據(jù),一個用于從協(xié)處理核接收數(shù)據(jù))和散列表用于與遠程異構(gòu)處理器進行數(shù)據(jù)通信。每個緩存隊列最多包含有512個緩存,每個緩存的大小限制在512字節(jié)以內(nèi),緩沖池里面存放著通信數(shù)據(jù)。為了最大程度減少共享內(nèi)存,采用環(huán)形散列表,散列表每個表項包括了緩存的物理地址和緩存的大小,散列表存放在內(nèi)存特定地址中,主處理核與協(xié)處理核基于互斥機制的共享內(nèi)存方式進行訪問,如圖1所示:

  

 

  圖1異構(gòu)多核間訪問virtio緩存池示意圖

  采用共享環(huán)形散列表進行異構(gòu)處理核間數(shù)據(jù)通信的好處主要有幾個方面:

  1)采用散列表表項表示數(shù)據(jù)緩存可以減小共享內(nèi)存區(qū)域的大小,提高系統(tǒng)內(nèi)存使用率,同時允許變長數(shù)據(jù)傳輸。

  2)采用中斷方式通知目的處理器散列表的變化,減少了處理器盲目等待時間,提高了處理器的利用率

  3)允許同時傳輸多個緩存數(shù)據(jù),提高了系統(tǒng)通信的吞吐率

  1.2 RPMsg消息框架

  RPMsg(Remote processor Messaging)是一個基于virtio技術(shù)的用于處理器核間數(shù)據(jù)通信的消息框架,提供協(xié)處理核上電復位管理、消息通信等功能。

  1.2.1協(xié)處理核復位管理

  主要負責加載程序執(zhí)行體到協(xié)處理核的運行內(nèi)存中、設(shè)置負責虛擬地址映射到物理地址MMU單元,當協(xié)處理核遇段錯誤或內(nèi)部代碼異常時,需要輸出直觀的出錯信息并且提供了恢復機制使得協(xié)處理核可以重新使用。

  1.2.2消息通信

  RPMsg消息框架是基于virtio緩存隊列實現(xiàn)的主處理核和協(xié)處理核間進行消息通信框架,RPMsg向系統(tǒng)注冊了一條消息總線,并為每個M3協(xié)處理核創(chuàng)建相應(yīng)的總線設(shè)備,而多個客戶端驅(qū)動程序也注冊在該消息總線上并分配一個本地地址端口src和遠程地址端口dst,當客戶端驅(qū)動需要發(fā)送消息時,會把消息封裝成virtio緩存并添加到緩存隊列中以完成消息的發(fā)送,當消息總線接收到協(xié)處理器送到的消息時會根據(jù)消息地址端口dst合理的派送給客戶驅(qū)動程序進行處理。其示意圖如圖2所示:

  

 

  圖2 RPMsg消息總線工作示意圖

  1.3 IVA-HD加速引擎

  H.264/MPEG-4 Part 10是由ITU-T視頻編碼專家組和ISO/IEC運動圖像專家組(MPEG)聯(lián)合提出的高度壓縮數(shù)字視頻編解碼器標準,被廣泛應(yīng)用于網(wǎng)絡(luò)流媒體資源、HDTV等方面。與之前MPEG4、H263等標準相比,H.264具有低碼率、高畫質(zhì)、高壓縮率和高可靠性等特點,適用于干擾嚴重、丟包率高的信道中傳輸。

  解碼流程如圖3所示,解碼器從網(wǎng)絡(luò)抽象層NAL中接收輸入的數(shù)據(jù)幀,進過熵解碼、重新排列后得到量化系數(shù)矩陣X,量化系數(shù)矩陣在經(jīng)過反量化和空間變換后得到計算殘差Dn,同時通過運動補償和幀間預測或幀內(nèi)預測得到預測快Pn,將Pn和Dn相加結(jié)果uFn經(jīng)過環(huán)路濾波得到輸出緩存圖像Fn.

  

 

  圖3 解碼器工作流程

  IVA-HD引擎是針對嵌入式平臺進行多媒體編解碼加速而設(shè)計的第三代硬件加速引擎,其支持H264、MPEG4、MPEG2、H263等常見的視頻編解碼標準。為了釋放CPU,讓其更有效的進行數(shù)據(jù)準備和邏輯功能控制,IVA-HD集成了7個硬件加速引擎,他們和H264解碼各個功能模塊所對應(yīng)關(guān)系在圖3中用虛線框表示,其中加速引擎名稱core1-5所對應(yīng)的模塊功能分別是:熵解碼、反量化和反變換、環(huán)路濾波、幀內(nèi)預測、運動補償。


上一頁 1 2 3 下一頁

關(guān)鍵詞: H264 DaVinci

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉