版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、可重用A VS 視頻解碼SOC 架構的軟硬件協(xié)同設計王忠平 祝永新 郭煒(上海交通大學微電子學院, 上海, 200240)摘 要 本文的目的是根據軟硬件設計思想設計一個較為合理的A VS 視頻解碼器架構。首先把A VS 代碼移植到ARM9平臺, 然后使用ARM ESL 工具對系統(tǒng)模塊性能做整體評估, 根據評估結果以及硬件實現(xiàn)復雜度進行軟硬件模塊劃分,然后使用SystemC 模擬硬件模塊,最后在ARM SOC Designer 做軟硬件協(xié)同仿真及驗證。 關鍵詞 ESL ARM SystemC AVS 軟硬件協(xié)同設計Design and Research on Multi-mode Digital
2、 Video Soc Decoder Chip Based onSoftware-hardware Co-designW ANG Zhongping , ZHU Yongxin , GUO Wei(School of Microelectronics, Shanghai Jiao Tong University, Shanghai, 200240Abstract after study of AVS and H.264 decoding standard, the author designed which is the ESL platform presented by ARM corpor
3、ation. The model uses reconfigurable design methodology. A testing SoC system is built based on the previous work and the accelerating performance of the model is analyzed. Keywords ESL, SystemC, symmetry, line raster1 引言隨著集成電路設計規(guī)模不斷擴大,復雜度越來越高,在系統(tǒng)級別進行軟硬件規(guī)劃對SOC(System on Chip系統(tǒng)性能影響日趨增大。數(shù)字視頻解碼芯片是多媒體領域
4、的核心, A VS 音視頻編碼標準采用了最新視頻編碼技術對壓縮效果有很大改善,但其壓縮效率的提高也是以算法復雜度的提高為代價的,造成了單純用軟件解碼難以達到很高的性能。本文在研究了A VS 視頻編碼標準和數(shù)字視頻解碼芯片系統(tǒng)結構的基礎上,設計了支持A VS Part-2的高清SOC 解碼芯片。在復雜視頻解碼架構設計中迫切需要高效的性能分析和驗證平臺從架構層次上優(yōu)化性能,本文基于電子系統(tǒng)級設計ESL (Electronic System Level ),利用ARM SOC Designer ESL 平臺分析系統(tǒng)的瓶頸實現(xiàn)軟硬劃分。通過SystemC 對硬件單元周期精確建模,實現(xiàn)軟硬件協(xié)同仿真驗證
5、。實踐證明基于軟硬件協(xié)同設計進行系統(tǒng)設計不僅可以加快系統(tǒng)開發(fā)速度,并且設計的視頻解碼芯片能有效改善系統(tǒng)的性能。2 AVS 解碼器結構軟硬件協(xié)同建模A VS 標準的開發(fā)路線是基于可以合法免費使用的開放技術和自主研發(fā)的專利技術相結合,在具體實現(xiàn)上,A VS - P2 主要采用H. 264 作為模版。A VS 解碼器模塊大致可劃分為如下幾個部分:首先是碼流進行熵解碼部分,然后經由重排序對其殘差信息進行反量化和反變換。在宏塊級進行幀內預測和幀間運動補償,然后進行環(huán)路濾波,恢復出編碼圖像,具體流程如圖1所示: 圖1 AVS 解碼模塊結構圖2.1硬件平臺搭建為了便于對整個解碼器系統(tǒng)所有模塊做整體評估,以便
6、于軟硬件劃分,首先需要搭建一個簡單的測試平臺。硬件方面使用ARM 公司SoC Designer Canvas工具搭建一個簡單的模塊評估平臺,如圖2所示所有硬件模塊均為SystemC 模擬實現(xiàn)。系統(tǒng)中CPU 選用ARM926,通過AHB 總線連接P-Memory 和D-Memory 以及APB Bridge,APB 總線上掛接Timer 模塊和中斷控制器。軟件方面從代碼移植入手,根據A VS 標準工作組提供的基于PC 平臺的A VS 解碼器代碼移植到ARM 平臺。圖2 軟硬件劃分系統(tǒng)測試平臺2.2軟件代碼移植軟件從x86平臺的C+語言向ARM 平臺的C 語言移植的過程中所做修改主要包括:(1)替
7、換原來x86匯編指令為ARM 指令。(2)修改C+語法為C 語言語法,如指針申請與釋放new 替換為malloc ,數(shù)據類型轉換,如bool 型替換為int ;修改頭C+文件為C 語言頭文件。(3)ARM 平臺語法移植。在源代碼數(shù)據類型強制轉換的地方根據ARM 平臺的系統(tǒng)結構修改變量大數(shù)端和小數(shù)端;修改數(shù)據的對齊方式; x86和ARM 的移位操作,x86移入的數(shù)為1,而ARM 移入的數(shù)為0,所以也要對源代碼中的移位運算做修改。3 軟硬件結構劃分將移植修改之后的代碼用ADS 1.2編譯之后生成.axd 文件,使用SoC Designer Simulator 工具載入該文件運行。使用自帶的Prof
8、iling 軟件,分析解碼器解6幀數(shù)據每個模塊所運行的時間,如表1所示:FunctionNo. DurationCalls (CyclesMcIdctRecOneMarcroBlock 693 94721983 InterPredLumaP 507 48215814 InterPredChormaP 507 28767011 InterPredLuma16x16 282 20691452 InterPredChroma16x16 564 15750136 GetChromaBlock16x16 564 15669767 inv_transform_B8 2346 11500353 InterP
9、redLuma16x8 174 10916716 InterPredLuma8x8 264 8415599 ParseOneMacroBlock 693 8056738 InterPredLuma8x16 144 7982020 InterPredChroma16x8 348 4928671 InterPredChroma8x16 288 4104373 InterPredChroma8x8 528 3846784 DeblockOneMacroBlock 693 3839453 ReconB8 2346 3047070 IntraPredLuma 744 1546578 IntraPredC
10、hroma372 674802 ReadChromaCoeff451625672表1 軟件解碼器各模塊運行時間統(tǒng)計從統(tǒng)計結果我們可以看到, InterPredLuma 、InterPredChorma 等幀間預測函數(shù)占用系統(tǒng)時鐘比例最大,inv_transform_B8整數(shù)型離散余弦變換(IDCT ),IntraPredLum 、IntraPredChroma 幀內預測等函數(shù)也占相當大的CPU 資源,其他占用系統(tǒng)資源的還有環(huán)路濾波,幀重建等函數(shù)。從系統(tǒng)調用次數(shù)及深度,以及硬件電路實現(xiàn)成本和復雜度考慮,適宜將整數(shù)離散余弦變換(IDCT )模塊、幀內預測模塊、幀間預測模塊以及環(huán)路濾波模塊使用硬件加
11、速,其它碼流控制信息等使用軟件實現(xiàn)。4 硬件加速模塊實現(xiàn)項目使用ARM 工具集SoC Designer模擬上節(jié)分析結果中需要硬件加速的模塊,使之運行速度更快。SoC Designer工具本身是兼容SystemC ,并且它提供了很多實現(xiàn)好的系統(tǒng)模塊庫供使用,使得建模的時候可以更專注于系統(tǒng)模塊之間的接口設計,而不用過多的關注硬件方面等細節(jié)問題。SoC Designer 提供了各種類型的組件庫,有Bus ,Core ,Memory 等等不同類型的。用戶可以通過拖拽的方式方便的搭建起自己的系統(tǒng)。SoC Designer 還支持了用戶自定制庫的方式。它可以根據用戶的要求生成一個基本的框架,具有基本的類和
12、函數(shù),用戶也可以進行相應的設計,并可以用VC .NET 2003將其編譯成DLL 動態(tài)鏈接庫,并添加到SoC Designer 的庫列表里,使開發(fā)者可以與其他庫一樣調用自己定制的模塊庫。 使用SoC Designer 建模的另一個優(yōu)點就是開發(fā)者只需專注于系統(tǒng)接口的定義和模塊內部的狀態(tài)轉換,而不需要設計很復雜的模擬硬件的時序信息。在該軟件中,用戶實現(xiàn)的功能模塊代碼主要集中在communicate 和update 函數(shù),在本項目中,需要的做操作主要是把原來軟件代碼函數(shù)傳輸?shù)膮?shù)修改成硬件的接口信號,另外硬件還需要必要的時鐘信號和AHB 總線接口。硬件模塊內部邏輯方面,把軟件函數(shù)實現(xiàn)的功能用Syst
13、emC 語言實現(xiàn),然后修改軟件和硬件的接口,使用中斷或者查詢方式進行通信,由于查詢方式占用CPU 較多,本系統(tǒng)中所有硬件模塊全部采用中斷方式,使用硬件加速與軟件協(xié)同后的解碼器結構如下: 圖3 軟硬件劃分后SOC 系統(tǒng)框圖 4 實驗結果表2是使用純軟件A VS 解碼與使用SOC 系統(tǒng)軟硬件協(xié)同解碼前后解碼7幀A VS 測試序列的對比情況。使用的測試序列為IPPPPP , QCIF(176x144格式。模塊名稱 加速前 加速后 (時鐘周期 (時鐘周期加速比 IDCT InterPred IntraPredLoop Filter Total Chip表2 使用SOC 硬件加速前后解碼器性能比較從試驗
14、結果看出,使用SOC 軟硬件協(xié)同解碼之后,對系統(tǒng)性能有很大提高。5 結論參考文獻1信息技術先進音視頻編碼第2部分:視頻(報批稿.2004.2 高文, 黃鐵軍, 信源編碼標準AVS 及其在數(shù)字電視中的應用 電視技術2003(11:4-63 Thomas Wiegand, Gary J. Sullivan. Overview of the H.264/AVC Video Coding StandardJ. IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, VOL.13, NO.7, JULY 2003.4 Rindert Schutten. 基于ESL 并采用SystemC 和SystemVerilog 的設計流程. EDN 電子設計技術. 2006.04.5郭煒,郭箏,謝憬等,SOC 設計方法與實現(xiàn), 北京:電子工業(yè)出版社,2007.6.6 王爭, 劉佩林. AVS 解碼器基于SystemC 的實現(xiàn)J. 中國有線電視 2006.01.作
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 云南旅游職業(yè)學院《移動機器人導論》2023-2024學年第一學期期末試卷
- 辦公技術新動向模板
- 述職報告:智慧農業(yè)實踐
- 職業(yè)導論-房地產經紀人《職業(yè)導論》點睛提分卷2
- 心理協(xié)會辯論賽策劃書
- 二零二五年度家庭養(yǎng)老照護床位服務與環(huán)保材料采購協(xié)議3篇
- 人教版小學數(shù)學(2024)一年級下冊第一單元 認識平面圖形綜合素養(yǎng)測評 B卷(含答案)
- 2024-2025學年吉林省長春五中高三(上)期末數(shù)學試卷(含答案)
- 江西省贛州市大余縣2024-2025學年七年級上學期1月期末生物學試題(含答案)
- 二零二五年酒店客房入住體驗提升合作協(xié)議2篇
- 傷口敷料種類及作用-課件
- 手術室護理實踐指南2023年
- 電力安全工作規(guī)程(變電部分)課件
- 新人教版六年級下冊數(shù)學全冊課件
- 環(huán)保設施安全風險告知卡
- 卵石地層樁基旋挖鉆施工方案
- (完整word版)手卡模板
- GB/T 4091-2001常規(guī)控制圖
- GB/T 13912-2020金屬覆蓋層鋼鐵制件熱浸鍍鋅層技術要求及試驗方法
- GB 18399-2001棉花加工機械安全要求
- 陜西省延安市各縣區(qū)鄉(xiāng)鎮(zhèn)行政村村莊村名居民村民委員會明細
評論
0/150
提交評論