張曉晶
摘要:利用Altera公司CycloneⅢ系列的FPGA作為主控芯片,通過VHDL語言編程,設計實現(xiàn)了一個實時的視頻低通濾波處理系統(tǒng)。通過低通濾波改變輸入視頻信號的帶寬,從而在監(jiān)視器上觀測到不同帶寬視頻信號的顯示質量變化。
關鍵詞:圖像濾波;低通濾波;FPGA
中圖分類號:TN713.4 文獻標識碼:A 文章編號:1007-9416(2019)12-0119-02
0 引言
實時視頻處理是圖像處理領域的研究熱點之一,廣泛應用于可視電話、視頻會議,監(jiān)控、通信等領域中?,F(xiàn)場可編程門陣列(FPGA)的優(yōu)點在于其靈活的可編程性和強大的并行處理能力,可以把很多圖像處理功能集成在一個FPGA芯片上。為了觀測不同帶寬視頻信號的顯示質量變化,本文基于FPGA設計實現(xiàn)了一個視頻圖像低通濾波處理系統(tǒng)。降低視頻信號的帶寬,只會改變視頻圖像的水平分辨力,而視頻圖像的垂直分辨力是由電視系統(tǒng)的掃描參數決定的,基本不受信號帶寬變化的影響[1],所以本文只需要設計水平濾波器,不需要設計二維濾波器。
1 系統(tǒng)整體設計
本系統(tǒng)的硬件平臺如:FPGA型號為EP3C55F484用于對視頻進行實時低通濾波處理。A/D芯片為TVP5150將輸入的模擬視頻信號轉換為數字信號輸入FPGA,D/A芯片為ADV7171將處理后的數字視頻信號轉換回模擬視頻最終在監(jiān)視器上顯示,另外FPGA連接了兩塊16bit數據線的SRAM用于對視頻數據進行存儲。系統(tǒng)板如圖1所示。
1.1 信號采集
在系統(tǒng)前端,先利用攝像頭取得光學圖像。攝像頭的輸出為一路PAL制復合視頻信號,完成光信號到模擬電信號的轉變。之后通過TVP5150視頻解碼芯片將模擬信號轉變?yōu)閿底中盘枴@肍PGA對TVP5150進行I2C配置,選擇輸出格式為ITU-RBT.656,即時鐘頻率為27MHz的4:2:2取樣格式的YCrCb信號。
1.2 場解碼
一幀完整的PAL制式ITU-RBT656數據分為奇偶兩場,23-311行為偶數場有效數據,366-624行為奇數場有效數據,其余為行場控制信號或無效數據。每行前288byte為行控制信號,其中最前面的4byte為EAV(有效視頻結束)信號,最后面的4byte是SAV(有效視頻起始)信號。
EAV信號和SAV信號均有3byte的前導:FF,00,00。最后1byte為XY。F為奇偶標志位,V為垂直消隱標志位,H為水平消隱標志位,P3,P2,P1,P0為保護比特位。首先通過連續(xù)判斷FF,00,00和XY來進行F、V、H的提取與檢測。若H為0,即為SAV,再去判斷F,若F為0,即為奇數場,若F為1,即為偶數場。每當F從1跳變到0,則為一幀的幀頭。之后去判斷V,若V為0,則為場正程。由于我們只處理有效數據,所以在檢測到幀頭的情況下,若H=0且V=0,則此行為有效數據。
1.3 幀緩存
本文利用兩塊SRAM進行乒乓存儲實現(xiàn)處理與顯示之間的轉換。以一幀數據為單位進行存儲。當向SRAM1中寫當前幀時,讀的是SRAM2中存儲的前一幀,當SRAM1中存好一幀后,才會進行乒乓切換,讀取SRAM1中的數據。
一幀中的有效數據為720×576個像素,開始時寫地址指針位于(0,78),當檢測到幀頭且H=0、V=0后,第一行有效數據的SAV中的FF、00會寫入(0,78),隨后的00、xy會寫入(0,79),隨后的第一個有效像素會被寫入(0,80)。存儲時,若發(fā)現(xiàn)SAV中的F從0跳變到1時,意味著奇數場結束,進來的將是偶數場的數據,寫地址指針將跳到(1,78),進行偶數場的存儲。當F從1跳變到0,即為新的一幀幀頭,寫地址指針會重新位于(0,78),如此循環(huán)往復。
2 視頻低通濾波在FPGA上實現(xiàn)
2.1 低通濾波器的設計
人眼對色度變化的敏感性很低,故本文只對亮度信號Y分量進行低通濾波處理[2-3]。因為輸入信號的時鐘頻率是27MHz,輸入數據是YCbYCr格式,即一個亮度信號一個色度信號的排列,可知像素時鐘為13.5MHz,即Y信號的采樣頻率為13.5MHz。在標清信號中輸入視頻信號的帶寬一般不大于6MHz,我們這里選擇將輸入視頻信號的帶寬限制在3MHz以內,即對應的數字低通濾波器的截止頻率為:
wc=fc/fs*2pi=3/13.5*2pi=0.44pi
從而可進行低通濾波器的設計。
2.2 低通濾波器在FPGA上實現(xiàn)
本文選擇12階FIR濾波器實現(xiàn),得到13個系數,F(xiàn)IR濾波器實現(xiàn)的公式為:
(1)
其中h(n)為濾波器系數,x(n)為每行像素的亮度Y值,y(n)為濾波后的像素的亮度信號Y。
使用該公式濾波會造成輸出圖像相對于輸入視頻圖像產生向右的平移。為了避免濾波后圖像的移位問題,本文先對輸入的像素進行緩存然后使用非因果濾波器進行濾波,由于所設計的濾波器是線性相位的濾波器,即系數是對稱的,可采用線性相位結構以提高計算效率,這樣濾波一次只需要7次乘法。由于得到的FIR濾波器的系數都是小數,本文先對濾波器的系數進行左移8bit進行放大,在完成濾波的相乘累加處理后再把所得結果右移8bit恢復到原來的大小,從而實現(xiàn)亮度信號Y分量的低通濾波處理。
3 實驗結果
通過以上步驟,完成了各個系統(tǒng)模塊的設計,實現(xiàn)了攝像頭采集視頻的降低帶寬處理,濾波前輸入圖像是多波群信號,包含了0.5M,1M,2M,4M,4.8M和5.8MHz的信號。經過截止頻率為3MHz的低通濾波后,高于3MHz的信號被濾除,即4MHz、4.8MHz和5.8MHz的信號被濾除,只保留了0.5MHz、1MHz和2MHz的信號。
4 結語
本文基于FPGA設計實現(xiàn)了對視頻圖像信號的低通濾波處理,濾波器的截止頻率可以不同,比如選擇1MHz、2MHz、3MHz、4MHz等,不同截止頻率的濾波器可以通過修改FIR系數改變,所以可以很方便的觀測不同帶寬的視頻信號的顯示質量的變化。整個系統(tǒng)分為場解碼模塊、幀緩存(乒乓存儲)模塊和低通濾波模塊。實驗結果表明了本方法的可行性。
參考文獻
[1] 張虎軍.基于FPGA的視頻采集輸出系統(tǒng)的實現(xiàn)[D].大連海事大學,2011.
[2] 俞彬杰.基于FPGA的全彩色LED同步顯示屏控制系統(tǒng)的設計[D].上海交通大學,2008.
[3] 吳鎮(zhèn)楊.數字信號處理[M].高等教育出版社,2016.
FPGA-based Video Image Low-pass Filtering
ZHANG Xiao-jing
(Beijing Polytechnic, Beijing? 100176)
Abstract:A real-time video low-pass filter processing system is designed and implemented by using FPGA of cyclone Ⅲ series of Altera company as the main control chip and programming with VHDL language. By changing the bandwidth of the input video signal through low-pass filtering, the display quality of the video signal with different bandwidth can be observed on the monitor.
Key words:image filtering; low pass filtering; FPGA