《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 業界動態 > 基于SoPC的視頻跟蹤系統中OSD功能的實現

基于SoPC的視頻跟蹤系統中OSD功能的實現

2008-04-22
作者:王玉良1,2, 朱 丹1, 馮安

  摘 要: 介紹一種基于SoPC技術的視頻跟蹤系統" title="跟蹤系統">跟蹤系統中OSD功能的實現方案" title="實現方案">實現方案。首先在FPGA上實現SoPC設計,然后用一個M-RAM作為OSD緩存,并通過Nios Ⅱ處理器和自定義的API函數對OSD緩存中的內容進行刷新,最后通過OSD合成邏輯將字符/圖形疊加到PAL-D視頻信號中。
  關鍵詞: OSD SoPC 視頻跟蹤" title="視頻跟蹤">視頻跟蹤 FPGA


  OSD(On Screen Display)是指將系統的參數和狀態信息在屏幕上顯示出來,在電視機、錄像機等家電產品中這種技術早已廣泛應用。視頻跟蹤系統要求進行數字、符號、跟蹤窗的實時顯示,即具有OSD功能,包括無視頻輸入指示、鎖定指示、跟蹤狀態和性能指示、顯示脫靶量數據及其他操作參數等。
  OSD的實現方法基本上有三種:使用專用OSD器件;選用支持OSD功能的處理器;采用PLD。在實時性要求較高的視頻跟蹤系統中,需要使用大規模FPGA進行并行圖像處理,并且在FPGA中實現SoPC設計,同時應能減小系統的體積和成本。如果只選用專用OSD器件或帶有OSD功能的處理器反而會增加系統硬件設計的復雜度,降低系統的可靠性。因此,有必要采用與SoPC系統相結合的OSD實現方案。
1 視頻跟蹤系統
  基于SoPC技術的視頻跟蹤系統框圖如圖1所示。系統采用Altera公司的Stratix 系列FPGA及Nios Ⅱ軟核處理器實現SoPC設計,將圖像處理、目標識別與跟蹤等協處理單元掛在Nios Ⅱ處理器上,并通過SPI、I2C等IP-Core實現對操縱桿、視頻編解碼器等設備的控制。系統支持PAL-D(576i25)標準輸入輸出。


2 OSD實現方案
2.1 SoPC系統的配置結構
  在SoPC系統中,實現OSD功能要與如圖2所示的SoPC系統的配置結構相結合,系統采用Altera公司的MAX-II器件作為配置控制器,在系統啟動(boot)時負責將FPGA的配置數據從外部Flash Memory傳送到Stratix中。這里將OSD字符/圖形庫以只讀數據的形式存放在外部CFI-Flash中,CFI-Flash同時裝有FPGA的配置數據和軟件程序,配置結束后MAX-Ⅱ需要將連接CFI-Flash的全部總線置為‘Z’,這樣Nios Ⅱ處理器才能夠獲得CFI-Flash的總線使用權,以讀取程序和OSD數據。

?


2.2 OSD實現結構
  OSD實現框圖如圖3所示。這里采用了FPGA中的一個M-RAM作為OSD緩存,其中每位與視頻中的一個像素映射。因PAL-D復合視頻信號為隔行掃描,因此,OSD緩存中的數據按奇/偶場方式存放,每場占用720×288/8=25 920B,M-RAM大小為64KB,可實現全視場范圍的單色OSD映射。OSD緩存被定義為雙口方式,輸出與視頻數據流同步。
  OSD緩存的數據位寬可定義為2n(n=0,1,…),但應該注意:數據位寬選得越大,NiosⅡ" title="NiosⅡ">NiosⅡ處理器的訪問速度就越快,而OSD的水平方向定位也越復雜;數據位寬選得越小,水平方向定位越精確,但訪問速度也會越慢,且實時性差。因此,進行折衷處理,選擇lpm_width=8。
  M-RAM的讀地址要根據行、場同步信號" title="同步信號">同步信號生成,圖像原始分辨率為864×625,則水平計數器Cnt_Hor和垂直計數器Cnt_Ver為10bit寬,Cnt_Hor的異步清零端接脈沖化后的行同步信號HSYNC,Cnt_Ver的異步清零端接脈沖化后的場同步信號VSYNC。在有效圖像分辨率為720×576范圍內,使能地址計數器Cnt_Rd_Addr、Cnt_Rd_Addr的計數時鐘為像素時鐘的8分頻,即每8個像素時鐘讀取一個數據,Cnt_Rd_Addr的異步清零端接脈沖化后的場同步信號VSYNC。
  OSD緩存讀地址生成邏輯如圖4所示。圖中,1.6875MHz時鐘脈沖化后接74165的STLD(并行數據加載信號),每隔8個像素時鐘載入一個字節的OSD數據并串行輸出。圖5為最簡單的OSD合成邏輯,圖中,bit→piexl的映射邏輯用一個8位并-串轉換器74165實現,使用兩個8bit的Mux2_1,如果ctrl_bit等于‘0’,則YCbCr輸出原圖像數據;如果ctrl_bit等于‘1’,則Y輸出0xEB,CbCr輸出0x10。

?


2.3 OSD API
  OSD API的實現包括:創建API硬件接口;建立字符/圖形庫;OSD顯示驅動函數(包括字節重構、字符顯示、圖形顯示、消隱等)。
  API硬件接口可以通過SoPCBuilder建立,包括16位地址OSD_ADDR、8位數據OSD_DATA、寫使能OSD_WEN和OSD緩存的異步清零信號OSD_ACLR。由于M-RAM不能設置初始數據,因此上電后首先將OSD_ACLR置位,然后對OSD緩存初始化后,再將OSD_ACLR置零,以免開機時系統出現花屏現象。
  字符/圖形庫可以通過字模提取軟件得到,并定義到unsigned char const型數組中。打開Nios Ⅱ IDE中的System Library Properties窗口,將read-only data memory(.rodata)項設為ext_flash,即將OSD庫放在外部的CFI-Flash中。
  OSD數據寫入緩存時要注意兩個關鍵問題,一是垂直方向上的隔行處理,即按照奇偶場規則寫入緩存;二是水平方向上的字節拆分與重構,因為OSD緩存是整字節(8bit)訪問的,為了實現字符/圖形的像素級定位,該操作是必要的。例如,為了在位置3開始疊加如圖6所示的11個bit‘1’,需要補5個bit的‘0’,并將重構后的“0x3f、0xf8”寫入OSD緩存,該操作由軟件完成。

?


3 結果與結論
  OSD實現效果如圖7所示,監視器上疊加有字符、數字和圖形,如果進一步設計,還可以實現彩色OSD、畫中畫以及透明效果,本文只是對這一方案進行了初步驗證。
  實際應用證明,本文提出的設計方案新穎、合理,能夠有效減小視頻跟蹤系統的體積、降低系統復雜度和成本,具有極大的實用價值。
參考文獻

[1] Altera Corporation. Nios II Hardware Development Tutorial,2004.
[2] ?杜升平, 曹劍中. FPGA在OSD中的應用. 科學技術與工程, 2006,(6)14:2065-2087.
[3] ?宋傳明, 陳寧.基于字符疊加技術的車載視頻系統, 新技術新工藝, 中國儀器儀表, 2004,(9):8-10.

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:[email protected]
主站蜘蛛池模板: 成人精品视频一区二区在线 | 亚洲一区国产 | 国产精品.com | 国产人成免费视频 | 婷婷的久久五月综合先锋影音 | 夜色亚洲 | 99久久精彩视频 | 在线观看亚洲免费 | 久久国产精品永久免费网站 | 视频一区在线免费观看 | 亚洲视频在线观看一区 | 久久久这里只有精品加勒比 | 99国产成人高清在线视频 | 亚洲一区二区三区在线视频 | 9lporm自拍视频在线 | 欧美色视频日本片高清在线观看 | 久热国产在线视频 | 国产亚洲欧美日韩在线看片 | 日韩一级影院 | av人摸人人人澡人人超碰 | 午夜影院欧美 | 国产区高清| 亚洲视屏在线观看 | 台湾精品视频在线观看 | 六月丁香久久丫 | 免费国产一级特黄久久 | 国产亚洲精品高清在线 | 亚洲一区二区三区国产精品 | 欧美人成在线观看 | 好吊色综合网天天高清 | 国产在线观看成人免费视频 | 精品国产免费一区二区三区 | 亚洲精品中文字幕一区在线 | 免费一级真人毛片 | 国产精品亚洲精品久久成人 | 国产一区精品 | 亚洲偷偷 | aa毛片免费全部播放完整 | 亚洲国产精品一区二区九九 | 91丨九色丨首页在线观看 | 欧美日韩国产在线观看一区二区三区 |