唐婷婷
摘 要: 隨著信息科技技術的深入研究與應用,在很多行業領域都應用到視頻圖像。該文對視頻圖像處理系統設計分析與研究關鍵通過SoPC及FPGA兩大處理技術。系統采用視頻轉換芯片SAA7113完成視頻圖像采集模塊的設計,采用CY7C1049 SRAM完成圖像數據的存儲,設計VGA顯示輸出控制關聯模塊,同時重新修改了顯示芯片具體運作形式的配置信息,相結合產生VGA具有控制能力的信號;參考VGA顯示器的運行原則,實現了VGA幀一致性信號與接口水平的提升。
關鍵詞: 視頻圖像; 圖像處理; FPGA; SoPC
中圖分類號: TN919?34; TP271 文獻標識碼: A 文章編號: 1004?373X(2014)10?0059?05
Abstract: With the further research and application of information technology, video images are applied in many fields. The video image processing system based on two processing technologies of SoPC and FPGA was designed and analyzed. The video conversion chip SAA7113 was adopted in the design of video image acquisition module. CY7C1049 SRAM was used to complete image data storage. VGA display and output control module was designed. The configuration information of the operation mode of the display chip was modified, with which VGA work control signal was generated. According to the industrial standard of VGA display, the improvement of the VGA interface level and frame synchronization signal was realized.
Keywords: video image; image processing; FPGA; SoPC
0 引 言
對視頻圖像進行處理的過程中,通常圖像數據信息具有龐大的運算量與吞吐量,因此需要功能強大的視頻圖像處理系統。用個人計算機對圖像進行處理,并行數據處理不能正常運行,所以不能達到實時性需求;選擇DSP芯片對圖像信息進行處理,因為處理器在運行時是按照指令順序執行的,且數據位寬也是固定的,因而資源的利用率不高,限制了處理器的數據吞吐量,還要龐大的數據存儲空間[1]。在信息技術不斷發展與更新的時代,半導體技術也有了突飛猛進的發展,FPGA不僅擁有強大的功能特性,價格還很合理,并且還在及時的創新與研究,打造成為功能強大的硬件部件,選擇FPGA對圖像進行處理時,因為可編程邏輯超強的靈活性與龐大的存儲空間,適用于圖像的并行處理,處理速度很快,實現SoPC運行的目的,不斷為用戶系統提供便利,提升產品更新的速度,旨在研發具有特性的產品[2]。采用SoPC與FPGA技術對視頻圖像進行處理,不僅是未來圖像處理技術發展的方向,也促進了嵌入型系統推廣與應用[3]。因此,本文將會對圖像處理技術SoPC與FPGA進行深入的分析與研究。
1 系統總體設計方案
視頻采集采用PHILPS公司的SAA7113來實現,通過I2C總線完成了對視頻采集卡芯片SAA7113的初始化工作。VGA即輸出模塊。該輸出卡選擇使用的是TI企業編號為THS8134的芯片,這個芯片適用于圖像處理的D/A器件。實現視頻圖像的采集,處理,存儲和顯示等功能。本文所研究的FPGA視頻圖像處理技術系統模型見圖1。其中CCD攝像頭主要功能就是搜取圖像信息,通過采集卡A/D進行轉換,生成格式為720 Pixels YUV4∶2∶2數字化特性的圖像信息;基于FPGA圖像處理系統采集的模塊,就會自動將規格為720×576的全部圖像信息存放在SRAM芯片內,圖像模塊就會實現對圖像的處理,VGA顯示模塊的功能就是將更新同步的控制信號按照順序進行顯示,同時將處理過的圖像信息在規定時間實現發送,最終VGA正常顯示。
研究FPGA視頻圖像處理技術系統硬件運行方案見圖2。系統劃分為兩大部分,包含可編程邏輯與圖像信息采集以及VGA顯示輸出部分。其中采集模塊的主要功能就是對CCD攝像頭產生的電視信號進行接收,然后通過編號為SAA7113的處理芯片生成類型為ITU?656 4∶2∶2的數字化性圖像。ITU?656具體定義是電信聯盟指定的視頻圖像處理格式[4]。主要是實現信號轉換、信號間的分離以及視頻信號格式的轉換等,最后將需要進行處理的視頻數據信息,保存到芯片SRAM內。VGA顯示輸出就是對數字化圖像信息實現D/A轉換,最后通過顯示器實現正常顯示。可編程邏輯不僅可以實現對不同部分的邏輯控制,還能任意定制用戶命令,目的是加快處理速度。總體來講,可編程邏輯功能就是對采集模塊與VGA顯示輸出實現管理與控制。
2 FPGA采集數據控制原理
CCD的模擬信號根據SAA7111A存有的模擬端口AI11,AI12,AI21,AI22實現信號輸入,在實現模擬處理之后,直接通過A/D轉換器實現數字化亮度信號與色度信號的生成,然后對兩種數字化信號進行處理。對亮度信號進行處理獲取到的信息就會自動轉送到色度信號處理器中,實現整體處理,生成UV與Y信號,信號經過格式化處理會通過VPO實現輸出;剩下的就會直接轉送到同步分離器,通過數字化PLL后就會生成與之對應的行信號HS與場信號VS,并且PLL驅動型觸發器,生成與HS時鐘信號相鎖定的LLC2與LLC。上述所實現的功能全部由I2C總線控制實現,串行數據信號即SDA,串行時鐘信號即SCL。
經過SAA7113實現解碼數字碼流符合ITU?656標準,這串碼流是包含視頻信號、定時基準信號和輔助信號[5]。視頻信號以YUV 4∶2∶2的數據格式輸出,Y分量代表黑白亮度分量,U和V分量表示彩色信息,并被實時保存到存儲模塊。開始搜取視頻過程中,SAA7113視頻圖像的輸出基于8位總線VPO,最后傳送到FPGA。因為PAL采用隔行方式實現電視信號的掃描,傳送方式分為偶數與奇數,經過數字化處理的數據保持不變,所以想獲取全部圖像就要把偶數與奇數場的數據進行還原。
此系統關鍵是對視頻圖像的解碼芯片SAA7113的控制連接電路如圖3所示。
2.1 SAA7113時序性
經過數字轉換之后的圖像信息通過VOP,在像素時鐘頻率LLC2(13.5 MHz)的同步下并行輸出。其中,任何一個時鐘都會與16位像素輸出相吻合。行與HREF類似,其中高電平即代表一行所有像素,也就是周期為720個LLC2。場與VREF類似,高電平即代表輸出的是一行所有圖像,每場有286行;低電平代表的場的隱藏信號,分為26個周期。
輸出管腳RTS0和RTS1是多功能復用管腳,根據不同的系統要求,通過對子地址寄存器SA12寫入不同的控制字可將兩輸出管腳配置為行同步、幀同步、奇偶場同步等不同信號。本設計中RTS0=1即代表輸出類型為奇數場,RTS0=0則為偶數場。FEI代表類型為使能的信號,處于0狀態時,表示數據輸出正常,處于1狀態時,表示數據輸出達到高阻標準。
VOP上圖像數據格式如表1所示。
3 存儲模塊設計
3.1 SRAM接口電路的功能設計
FPGA功能特性是把搜集到的圖像信息儲存到緩存內,為后期處理圖像創造條件。該系統圖像緩存選擇使用2塊SRAM,通過PING??PANG緩存控制模式的原理對其進行操作[10]。第一次采樣時,FPGA就會自動通過SAA7113獲取到第1幀圖像數據存儲于第一個SRAM內,采樣完畢后,第二個SRAM內就會自動存儲第2幀圖像數據,并且還要處理第1塊SRAM內的圖像數據,工作結束后,行總線就會自動實現切換,與SRAM自動連接。本文采用了兩片型號為CY7C1049的SRAM是對圖像幀數據保存,兩片緩存與SRAM讀寫實現切換主要基于軟件控制。FPGA將采集到一幀圖像數據保存到SRAM1中,同時后端的圖像處理模塊讀出SRAM2中的圖像數據進行處理。兩塊存儲方式的SRAM實現行總線的轉換,前提是任意1幀圖像數據已經被處理或者是保存后,其中SRAM1內數據是為后期圖像讀出處理提供依據,SRMA2就會自動保存下面的圖像數據,也就是任意一個內存狀態為寫入,剩余內存狀態為讀出。
3.2 SRAM讀寫控制時序功能設計
SRAM讀寫控制關鍵是遵循SRAM時序完成讀寫工作[11]。在視頻圖像解碼模塊正常運行時,SRAM就會根據地址模塊生成的寫信號與地址信息,實現圖像信息的緩存;從緩存中讀取圖像信息時,就會通過自動運行SRAM生成的讀信號與地址實現。SRAM控制模塊的除了尋址信號外,還包含寫使能信號W與片選信號CE以及輸出使能信號OE。控制器為雙口數據線接口,其中輸入接口為讀取數據,輸出接口為讀寫數據,只有實施全方位的管理與控制,SRAM才會實現正常的讀寫功能。
圖像存儲器由兩塊SRAM構成,兩者共同協調運行。在SRAM1成功獲取到解碼模塊提供的圖像信息時,SRAM2內存有的圖像信息就會通過后期圖像低級模塊實現讀取完成處理。兩塊緩存都正常完成以上工作后,就會實現切換,SRAM1內的圖像信息實現讀取,SRAM2就會自動獲取圖像信息。反反復復,成功啟動并行操作方式,從而提升系統運作水平與能力。
4 VGA視頻顯示設計
4.1 VGA顯示方案框圖展示
通過攝像頭獲取到圖像模擬信號,然后實現數字信號的轉換,此類信號格式參考YUV4∶2∶2,怎樣將獲取到的圖像信息實現處理,然后根據SVGA格式800×600@60 Hz正常在VGA顯示器上正常顯示[12]。
本設計采用TI公司的THS8134作為D/A變換器,THS8134功能就是實現視頻與圖像格式的轉換。此變換器不僅支持3~5 V電壓的數字供電,還支持5 V電壓的模擬供電。
采樣效率為81 MSPS。同時三個D/A轉換器與行場消隱信號以及同步信號構成一個THS8134。它的主要功能就是實現FPGA數字信號的轉換,同時還支持VGA顯示器進行顯示。它輸入格式主要有消隱控制信號,行場同步,數字時鐘CLK與2路或1路ITU?65類型的YpbPr/RGB的4∶2∶2信號及是藍圖像信號的R[7..0],G[7..0],B[7..0],紅,綠信號等多種。它輸出格式主要是分為模擬的紅、藍色弱信號與亮度信號。FPGA是VGA行場同步信號的主要構成。
4.2 VGA信號轉換
采集到的數據是標準的YUV4∶2∶2格式,只有把YUV數據格式轉換為RGB數據格式,圖像才能正常顯示。其中RGB指的是計算機內比較常用的色彩范圍。主要是經過藍、紅、綠三種基色的調和生成別種顏色。因為它超強的獨立性,所以在彩色電視機、系統成像以及計算機圖像中得到大力的推廣與應用。下式可以方便地實現數據格式的RGB轉換:[R=1 024×1.164Y-16+1.596U-12G=1 024×1.164Y-16-0.813U-128-0.392V-128B=1 024×1.164Y-16+2.017U-128] 1)
值得注意的是,公式當中有很多系數是小數,而FPGA不包含浮點數。采用VerilogHDL編程前,需通過有限精度的方法消除浮點數運算。即先將數據擴大適當的倍數如2n,然后取整運算,最后把結果除以2n(將結果右移2n位)。
4.3 幀頻變換
幀頻的轉換是通過復制幀實現的。PAL制式的信號幀頻25 Hz,VGA顯示器工作是幀頻60 Hz,幀頻比為5∶12。要轉換為能夠滿足每秒60幀要求的視頻信號,最簡單的辦法就是復制幀。在本設計中每隔5幀重復1幀。具體方法是,采集圖像分辨率為720×572,則每幀圖像有527行像素,奇偶各286行。在SRAM存有的幀圖像信息被首次讀取后,而計數器出現最大數值時,就會從頭開始進行計數572×0.2≈114次。循環5個周期之后,此時SRMA內實現讀取的圖像數據就會達到114×5=570行,也就是添加了一幀數據,從而達到頻率轉換的目的。
4.4 VGA顯示模塊功能實現
前面針對VGA顯示時序與THS8134時序進行分析與研究,將圖像信息根據準確的順序與幀時序傳送到CRT顯示器就是VGA顯示模塊設計目標。具體實現流程:第一步通過顯示器的分辨率,按照VGA顯示順序實現幀同步與水平信號的構成,然后根據行與表查詢像素的方法確定圖像信息的具體位置,將構成完整的圖像呈現在監視器。圖像數據格式轉換采用THS8134,在設計過程中需要提供準確的控制信號。想要圖像正常顯示在屏幕左上方的首個像素,就需要對顯示復位進行設置,從而實現地址與計數的最初復位。
5 結 語
該篇文章通過SoPCA與FPGA兩種圖像處理技術對視頻圖像處理系統進行了深入的研究與分析,充分展示了視頻圖像的顯示、存儲與采集以及處理等各個功能特性,同時還深入對FPGA內部資源進行挖掘。本設計稍經修改可以用于一定范圍內的視頻監視系統,即可體現一定的社會作用與價值。如果通過以太網絡將采集到的視頻信號進行傳輸,就可以不受距離的限制,實現遠程監控。
參考文獻
[1] 賀建權.數字化視頻監控系統集成工程設計[D].長沙:湖南大學,2007.
[2] 黃再銀,宗建華,余健.用FPGA和單片機設計黑白四畫面分割器[J].電子技術應用,2002,28(6):49?5l.
[3] 鄭金福.視頻多畫面合成器的設計與實現田[J].中國有線電視,2002(17):36?40.
[4] 張琛,戚文芽.基于TMS320DM642芯片的畫面分割和OSD疊加[J].信息工程大學學報,2011,6(1):66?68.
[5] MARPE Detlev, SCHWARZ H, BL?TTERMANN Gabi, et al. Context?based adaptive binary arithmetic coding in JVT/H.26L [J]. EEE Transactions on Circuits And Systems for Video Technology, 2003,13: 620?636.
[6] MENG B, AU O C, WONG Chi?Wah, et al. Efficient intra?prediction mode selection for 4×4 blocks in H.264 [J]. IEEE ICME, 2012, 3: 521?524.
[7] HON M?C, HAHN H?S. A loop/post filter to suppress blocking and ringing artifacts for H.26L video codec [J]. SPIE Proceeding of Visual Communication and Image processing, 2012 (1): 940?947.
[8] MALVAR H, HALLAPURO A, KARCZEWICZ M, et al. Low?comlexity transform and quantization with 16?bit arithmetic for H.26L [C]// Proceedings of IEEE International Conference on Image Processing. [S.l.]: IEEE, 2012, 2: 489?492.
[9] Meng B, Au O C. Fast Intra?Prediction Mode Selection for 4×4 Blocks in H.264 [C]// proceeding of International Conference on Acoustics, Speech, and Signal Processing. [S.l.]: IEEE Xplore, 2003, 3: 389?392.
[10] CASAS J R. Coding of details in very low bit?rate video systems [J]. IEEE Transactions on Circuit and Systems for Video Technology, 2012, 4(3): 317?327.
[11] CORTEZ D. Image segmentation towards new image representation methods [J]. Signal Processing Image Communication, 2012, 6: 485?498.
[12] KUNT M. Recent results in high?compression image coding [J]. IEEE Transaction on Circuits and Systems for Video technology, 2012, 34(11): 1306?1336.
幀頻的轉換是通過復制幀實現的。PAL制式的信號幀頻25 Hz,VGA顯示器工作是幀頻60 Hz,幀頻比為5∶12。要轉換為能夠滿足每秒60幀要求的視頻信號,最簡單的辦法就是復制幀。在本設計中每隔5幀重復1幀。具體方法是,采集圖像分辨率為720×572,則每幀圖像有527行像素,奇偶各286行。在SRAM存有的幀圖像信息被首次讀取后,而計數器出現最大數值時,就會從頭開始進行計數572×0.2≈114次。循環5個周期之后,此時SRMA內實現讀取的圖像數據就會達到114×5=570行,也就是添加了一幀數據,從而達到頻率轉換的目的。
4.4 VGA顯示模塊功能實現
前面針對VGA顯示時序與THS8134時序進行分析與研究,將圖像信息根據準確的順序與幀時序傳送到CRT顯示器就是VGA顯示模塊設計目標。具體實現流程:第一步通過顯示器的分辨率,按照VGA顯示順序實現幀同步與水平信號的構成,然后根據行與表查詢像素的方法確定圖像信息的具體位置,將構成完整的圖像呈現在監視器。圖像數據格式轉換采用THS8134,在設計過程中需要提供準確的控制信號。想要圖像正常顯示在屏幕左上方的首個像素,就需要對顯示復位進行設置,從而實現地址與計數的最初復位。
5 結 語
該篇文章通過SoPCA與FPGA兩種圖像處理技術對視頻圖像處理系統進行了深入的研究與分析,充分展示了視頻圖像的顯示、存儲與采集以及處理等各個功能特性,同時還深入對FPGA內部資源進行挖掘。本設計稍經修改可以用于一定范圍內的視頻監視系統,即可體現一定的社會作用與價值。如果通過以太網絡將采集到的視頻信號進行傳輸,就可以不受距離的限制,實現遠程監控。
參考文獻
[1] 賀建權.數字化視頻監控系統集成工程設計[D].長沙:湖南大學,2007.
[2] 黃再銀,宗建華,余健.用FPGA和單片機設計黑白四畫面分割器[J].電子技術應用,2002,28(6):49?5l.
[3] 鄭金福.視頻多畫面合成器的設計與實現田[J].中國有線電視,2002(17):36?40.
[4] 張琛,戚文芽.基于TMS320DM642芯片的畫面分割和OSD疊加[J].信息工程大學學報,2011,6(1):66?68.
[5] MARPE Detlev, SCHWARZ H, BL?TTERMANN Gabi, et al. Context?based adaptive binary arithmetic coding in JVT/H.26L [J]. EEE Transactions on Circuits And Systems for Video Technology, 2003,13: 620?636.
[6] MENG B, AU O C, WONG Chi?Wah, et al. Efficient intra?prediction mode selection for 4×4 blocks in H.264 [J]. IEEE ICME, 2012, 3: 521?524.
[7] HON M?C, HAHN H?S. A loop/post filter to suppress blocking and ringing artifacts for H.26L video codec [J]. SPIE Proceeding of Visual Communication and Image processing, 2012 (1): 940?947.
[8] MALVAR H, HALLAPURO A, KARCZEWICZ M, et al. Low?comlexity transform and quantization with 16?bit arithmetic for H.26L [C]// Proceedings of IEEE International Conference on Image Processing. [S.l.]: IEEE, 2012, 2: 489?492.
[9] Meng B, Au O C. Fast Intra?Prediction Mode Selection for 4×4 Blocks in H.264 [C]// proceeding of International Conference on Acoustics, Speech, and Signal Processing. [S.l.]: IEEE Xplore, 2003, 3: 389?392.
[10] CASAS J R. Coding of details in very low bit?rate video systems [J]. IEEE Transactions on Circuit and Systems for Video Technology, 2012, 4(3): 317?327.
[11] CORTEZ D. Image segmentation towards new image representation methods [J]. Signal Processing Image Communication, 2012, 6: 485?498.
[12] KUNT M. Recent results in high?compression image coding [J]. IEEE Transaction on Circuits and Systems for Video technology, 2012, 34(11): 1306?1336.
幀頻的轉換是通過復制幀實現的。PAL制式的信號幀頻25 Hz,VGA顯示器工作是幀頻60 Hz,幀頻比為5∶12。要轉換為能夠滿足每秒60幀要求的視頻信號,最簡單的辦法就是復制幀。在本設計中每隔5幀重復1幀。具體方法是,采集圖像分辨率為720×572,則每幀圖像有527行像素,奇偶各286行。在SRAM存有的幀圖像信息被首次讀取后,而計數器出現最大數值時,就會從頭開始進行計數572×0.2≈114次。循環5個周期之后,此時SRMA內實現讀取的圖像數據就會達到114×5=570行,也就是添加了一幀數據,從而達到頻率轉換的目的。
4.4 VGA顯示模塊功能實現
前面針對VGA顯示時序與THS8134時序進行分析與研究,將圖像信息根據準確的順序與幀時序傳送到CRT顯示器就是VGA顯示模塊設計目標。具體實現流程:第一步通過顯示器的分辨率,按照VGA顯示順序實現幀同步與水平信號的構成,然后根據行與表查詢像素的方法確定圖像信息的具體位置,將構成完整的圖像呈現在監視器。圖像數據格式轉換采用THS8134,在設計過程中需要提供準確的控制信號。想要圖像正常顯示在屏幕左上方的首個像素,就需要對顯示復位進行設置,從而實現地址與計數的最初復位。
5 結 語
該篇文章通過SoPCA與FPGA兩種圖像處理技術對視頻圖像處理系統進行了深入的研究與分析,充分展示了視頻圖像的顯示、存儲與采集以及處理等各個功能特性,同時還深入對FPGA內部資源進行挖掘。本設計稍經修改可以用于一定范圍內的視頻監視系統,即可體現一定的社會作用與價值。如果通過以太網絡將采集到的視頻信號進行傳輸,就可以不受距離的限制,實現遠程監控。
參考文獻
[1] 賀建權.數字化視頻監控系統集成工程設計[D].長沙:湖南大學,2007.
[2] 黃再銀,宗建華,余健.用FPGA和單片機設計黑白四畫面分割器[J].電子技術應用,2002,28(6):49?5l.
[3] 鄭金福.視頻多畫面合成器的設計與實現田[J].中國有線電視,2002(17):36?40.
[4] 張琛,戚文芽.基于TMS320DM642芯片的畫面分割和OSD疊加[J].信息工程大學學報,2011,6(1):66?68.
[5] MARPE Detlev, SCHWARZ H, BL?TTERMANN Gabi, et al. Context?based adaptive binary arithmetic coding in JVT/H.26L [J]. EEE Transactions on Circuits And Systems for Video Technology, 2003,13: 620?636.
[6] MENG B, AU O C, WONG Chi?Wah, et al. Efficient intra?prediction mode selection for 4×4 blocks in H.264 [J]. IEEE ICME, 2012, 3: 521?524.
[7] HON M?C, HAHN H?S. A loop/post filter to suppress blocking and ringing artifacts for H.26L video codec [J]. SPIE Proceeding of Visual Communication and Image processing, 2012 (1): 940?947.
[8] MALVAR H, HALLAPURO A, KARCZEWICZ M, et al. Low?comlexity transform and quantization with 16?bit arithmetic for H.26L [C]// Proceedings of IEEE International Conference on Image Processing. [S.l.]: IEEE, 2012, 2: 489?492.
[9] Meng B, Au O C. Fast Intra?Prediction Mode Selection for 4×4 Blocks in H.264 [C]// proceeding of International Conference on Acoustics, Speech, and Signal Processing. [S.l.]: IEEE Xplore, 2003, 3: 389?392.
[10] CASAS J R. Coding of details in very low bit?rate video systems [J]. IEEE Transactions on Circuit and Systems for Video Technology, 2012, 4(3): 317?327.
[11] CORTEZ D. Image segmentation towards new image representation methods [J]. Signal Processing Image Communication, 2012, 6: 485?498.
[12] KUNT M. Recent results in high?compression image coding [J]. IEEE Transaction on Circuits and Systems for Video technology, 2012, 34(11): 1306?1336.