《電子技術應用》
您所在的位置:首頁 > 通信与网络 > 设计应用 > C2H技术在视频监控系统中的应用
C2H技术在视频监控系统中的应用
计算机科学与技术学院
摘要: 由于传统技术的限制,视频监控系统的性能很难有较大的提升。为了解决这个问题,在分析视频监控系统各部分时耗的基础上,引入了C2H(C-to-Hardware)新技术对系统中耗时大的环节——数据读写环节进行硬件加速,有效的提高了视频监控系统的性能。通过测试数据表明,视频监控系统中应用了C2H 技术加速后,数据读写速度提升十几倍,使整个系统性能得到明显提高。
Abstract:
Key words :

  0 引 言
  隨著視頻監控系統的廣泛應用,人們對監控系統的實時性提出了更高的要求,特別是在數據的高速采集應用中,傳統技術在處理速度上面臨著嚴峻的考驗,當前通用的解決方案很難滿足用戶日益提高的需求。為此,Altera公司于2006 年4 月7 日提出了C2H 技術。這個技術的實質是通過硬件映射的方式直接用硬件對C 語言進行加速,獲得系統性能的提高。
  本文將 C2H 技術應用于視頻監控系統的數據存儲功能部分,有效的加快了數據的讀寫速度,使系統的性能得到大幅度的提升。
  1 C2H 技術介紹
  1.1 C2H 的特點

  C2H 是一種可以直接對ANSI C 函數定制硬件加速的技術,在推出短短的一年時間內就得到了嵌入式及FPGA 設計者的廣泛使用。C2H編譯器能分析程序要加速實現的存儲器接口類型,生成硬件加速器邏輯以及合適的Avalon(總線互聯架構)的主機和從機接口,達到與存儲器延時的匹配。這樣,分擔了處理器的數據計算和存儲器訪問任務,使處理器能夠更好的處理其他任務。數據表明,與未采用C2H加速的系統相比,采用NiosII C2H 編譯器加速的系統性能提高了10 到45 倍,而耗費的邏輯資源僅比處理器本身多出0.7 至2.0 倍。NiosIIC2H 編譯器是基于Eclipse 的NiosII集成開發環境(IDE)中的一個插件。同時,C2H編譯器具有識別并行運行事件的功能,能在硬件中同時運行相互獨立的事件。與前面結果無關的事件將被盡早的執行。軟件調用以線程的方式進行加速——每個加速器完全并行運行,真正的多任務系統(CPU,
硬件加速器)。
  1.2 C2H 的使用流程
  C2H的使用需要進行反復的調試,直到性能符合設計要求。具體流程如下:
  (1)在NiosII中開發和調試C程序;
  (2)分析C程序,找到最適合加速的部分;
  (3)將需要加速的代碼段寫成一個獨立的子函數;
  (4)指定這個函數為硬件加速的函數;
  (5)在NiosII IDE中重新編譯整個工程;
  (6)分析硬件加速的結果,觀察C2H*估報告;
  2 視頻監控系統的設計
  設計中選用的是 Altera 公司生產的CycloneII 系列中的EP2c35 FPGA。CycloneII系列是低成本嵌入式處理解決方案,具有可以擴展外設集、存儲器、I/O 的特點。同時Altera 公司免費提供NiosII 嵌入式處理器。NiosII軟核是一個32 位RISC 嵌入式處理器,性能超過200MIPS,滿足當前系統的設計要求。Altera 公司提供了一整套針對NiosII 軟核的SOPC開發工具,輕松實現從底層的硬件設計到上層的軟件開發。
  2.1 視頻監控系統的總體設計
  本文中設計的視頻監控系統的基本構成是現場實時采集圖像的攝像機、視頻解碼芯片AD7181B、視頻D/A 芯片ADC7123、VGA控制器、Flash、SDRAM 控制器及控制核心NiosIICPU。整個系統除A/D 和D/A 采用專用芯片外,其余部分均在FPGA上實現。視頻監控系統的硬件設計框圖如下圖1 所示:

                                                                      圖1 系統硬件設計框圖
  各模塊功能描述如下:NiosII 軟核CPU 是32 位的RISC嵌入式處理器,為整個系統的中樞;SDRAM,是系統大容量的數據緩沖存儲區域;Flash,存儲系統的硬件和軟件的系統上電配置數據;視頻處理模塊,實現對視頻流的ITU656解碼、去隔行、格式轉換等功能。
  2.2 C2H 在視頻監控系統的應用
  下圖 1.2 詳細表示出了系統中視頻數據流的處理過程。
                                                                     圖2 視頻數據流處理過程圖
從上圖 2 可以看出,數據流處理過程是先經過視頻解碼芯片AD7181B 的模數轉換,變成8 位的數字視頻信號;再由ITU-R656 解碼器解碼,使視頻格式變成YUV4:2:2;然后對視頻流進行去隔行處理。去隔行處理中,需要將奇場數據和偶場數據分別存于兩個FIFO(FIFO A 和FIFO B)中,然后再以兩倍的頻率按ABABA……的順序讀出,便可完成視頻的去隔行處理。最后經過YUV 到RGB 時域變換,便可在VGA
控制器的控制下在顯示器上進行顯示。由于視頻解碼A/D 和視頻D/A 是由專用的芯片完成,速度很快,未對系統的速度有太大影響。經過分析比較,系統性能提升的瓶頸是數據中間處理中的數據讀寫等環節。由于涉及到從存儲器讀數和寫數,使這部分成為系統中最耗時的部分。所以提高系統性能的關鍵是從減少數據讀寫的時間耗費入手。本設計中針對這一點,采用C2H 技術,對數據的讀寫進行硬件加速。進行加速部分程序如下:

  其中,dest_ptr 是數據目的地址,source_ptr 是數據原地址,length 是字節數,測試中length取1048576 個字節長。
  實現過程按照論文 1.2 節所述。首先,經過對時耗的分析比較,確定耗時最多的部分是數據讀寫部分。因此,確定這個環節為加速對象,并將其編寫為獨立的子函數,即上述的c2h_acceleraTIon 函數,然后在IDE 中直接選擇以上函數,點擊右鍵,選擇HardwareAcceleration,最后再重新生成系統并編譯整個工程。
  3 結果分析比較
  為了進行加速性能比較,在系統中又定義了一個與c2h_acceleration功能相同的函數:software_acceleration,然后對函數c2h_acceleration進行C2H加速。并將結果與未采用C2H加速的software_acceleration比較。定義了測試函數,部分代碼如下:
  編譯運行后,分析硬件加速的結果,觀察C2H*估報告,可以清楚的從運行結果看出通過C2H加速后性能的提高。未進行C2H加速的函數讀寫1048576字節的運行結果如下圖3所示,經過C2H加速的函數運行結果如下圖4所示。
                                               圖 3 未進行C2H加速測試結果
                                                    圖 4C2H加速后的測試結果
  從圖3和圖4的結果可以看出來,軟件實現讀寫1048576字節數據需要86520ms;經過C2H硬件加速后耗時減小至7470ms,速度提升多達11倍。
  4 結 論
  本文介紹了一個在 Altera 公司提供的EP2c35 FPGA 上設計的視頻監控系統。
  本文作者創新點:在視頻監控系統中應用C2H 技術對數據讀寫環節進行加速,使數據的讀寫速度提高了11 倍,提升了整個系統的性能。本文的設計方法和實現技術適合在對數據處理實時性要求較高的視頻產品中應用,有很大的實用價值。
此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 亚洲福利av| 久久久精品日本| 久久久国产视频| 国产精品成人播放| 日韩中文在线中文网三级| 久久韩国免费视频| 日韩综合视频在线观看| 国产精品久久久久av福利动漫| 日本一区免费看| 亚洲精品在线免费看| 99久久久久国产精品免费| 国产精品日韩高清| 欧美精品久久久久久久自慰| 日韩av一级大片| 亚洲a级在线播放观看| 在线视频不卡国产V| 97精品国产97久久久久久粉红| 国模吧无码一区二区三区| 久久久久久69| 激情五月五月婷婷| 韩国视频理论视频久久| 九九久久九九久久| 国产精品综合久久久| 国产欧美日韩精品在线观看| 国产精品色悠悠| www日韩视频| 亚洲综合精品一区二区| 99久久国产免费免费| 亚洲自拍另类欧美丝袜| 视频一区二区三区免费观看| 日本欧洲国产一区二区| 日本一区二区三区在线视频| 日本一区二区三不卡| 欧美久久久精品| 久久99精品国产99久久6尤物| 久久综合中文色婷婷| 久久久国产精品视频| 国产精品久久久久国产a级| 国产二区视频在线| 日本一区二区免费高清视频| 久久久亚洲福利精品午夜|