朱 兵,曾延安,張南洋生,張 超,張 力
(華中科技大學光學與電子信息學院,湖北武漢 430074)
現(xiàn)在主流的幀率提升手段通常是在原始視頻中間插入一些通過插值算法等手段虛擬出的幀,使低幀率的視頻變?yōu)楦邘实囊曨l,這些虛擬出的幀是根據(jù)前后幀的數(shù)據(jù)進行一定插值補償獲得的[1],即這些虛擬幀的數(shù)據(jù)具有不真實性,這些不真實的圖像幀對于測量等應(yīng)用有可能使測量精度降低,甚至引入錯誤的結(jié)果。并且這些通過算法插值獲得的幀率提升的圖像在動態(tài)圖中還存在著抖動、模糊等破壞圖像質(zhì)量的現(xiàn)象[2]。
為了解決上述的幀率提升帶來的2個問題,本文設(shè)計并驗證了一套利用硬件方法提升幀率的圖像采集方案,這種方法實現(xiàn)幀率提升的本質(zhì)是增加原始數(shù)據(jù)的產(chǎn)生速率,數(shù)據(jù)產(chǎn)生的速率提升后,在CCD的采集分辨率不變的情況下,將體現(xiàn)為幀率提升。所以這種方法可以保證圖像質(zhì)量不變,并且保證幀率提升后數(shù)據(jù)仍舊具有真實性。
在圖1中,每個實線四邊形代表一幀圖片,上面的視頻序列為原始的低幀率的視頻序列,下面的視頻序列為經(jīng)過算法插入虛擬幀后的的高幀率的視頻序列,虛線所表示的幀是根據(jù)前后原始幀插值出來的幀。幀率提升可以分為均勻插值和非均勻插值,均勻插值是指經(jīng)過幀率提升后的視頻幀率為原來視頻幀率的2倍,非均勻是指在經(jīng)過幀率提升的視頻中插值幀和原始幀滿足一定的比率[3-4]。
圖1 幀率提升示意圖
使用算法進行幀率提升的技術(shù)多會存在一個影響視頻質(zhì)量比較大的問題,當視頻中存在比較劇烈的運動時,使用這些技術(shù)得到的結(jié)果往往會產(chǎn)生比較嚴重的變形、模糊、抖動等問題[5-6]。
在ICX285AL圖像采集芯片的典型應(yīng)用中,一般能夠達到15 FPS(幀/s)的幀頻,此時的像素轉(zhuǎn)移速度應(yīng)該為28.64 MHz。要想從硬件上提升圖像的幀率,就要從CCD的驅(qū)動時序上進行分析。圖2、圖3展示了CCD驅(qū)動信號產(chǎn)生的冗余數(shù)據(jù)(也稱為行/幀消隱),這段時間會產(chǎn)生大量對實際圖像數(shù)據(jù)無用的數(shù)據(jù),并且這段時間在每幀的周期中占有比較大比例。
圖2 ICX285的驅(qū)動時序行冗余數(shù)據(jù)示意圖
圖3 ICX285的驅(qū)動時序幀冗余數(shù)據(jù)示意圖
通過硬件手段提升CCD采集器件幀率的第一種有效方法就是在CPLD產(chǎn)生驅(qū)動時序的時候,有目的性地壓縮幀/行間的冗余信息在幀內(nèi)所占比例,只留存必要的消隱時間。必要的消隱時間包括CCD垂直轉(zhuǎn)移時間、CCD暗像元必須的轉(zhuǎn)移時間以及CCD的幀讀出轉(zhuǎn)移時間等。這一方法可以將幀內(nèi)冗余時間最大壓縮10%左右,這也是幀率可以提高的幅度。
第二種方法是提高CCD的像素時鐘。分析圖4可以獲得該方法的理論依據(jù)。
圖4 ICX285AL的復(fù)位信號RG的波形示意圖
在圖4中,VRGLH和VRGLL分別是RG波形在低電平時振蕩的最大值和最小值,VRGL是他們的均值:
VRGLH-VRGLL<400 mV這一限制在硬件設(shè)計上對降低噪聲和抗干擾的能力提出了嚴格要求。
另外,VRGH是RG信號高電平的典型值,VRGL是低電平的典型值。
VφRG的取值范圍在3.0~5.5 V之間,在提供各驅(qū)動信號時,不僅要滿足驅(qū)動信號的電平取值范圍和穩(wěn)定性,還應(yīng)該提供充足的功率。
從時序上分析,圖4中 tr、tf和 twl的典型值為 2 ns、2 ns和24 ns,而twh最小值為4 ns。那么RG信號在一般應(yīng)用中周期應(yīng)大于32 ns,轉(zhuǎn)換成像素時鐘約30 MHz。tr、tf和 twl其實還保留了比較充分的時序裕量,在時序發(fā)生器能保證良好的開關(guān)性能(比如ns級的開關(guān)時間)時,可以考慮對這幾個時間進行壓縮,最終體現(xiàn)在驅(qū)動信號的周期被壓縮上,通過這一分析,假如將ICX285AL的像素時鐘從28.64 MHz提高到45 MHz,就可以將系統(tǒng)幀率提高57%左右。
假如第一種方法壓縮的冗余時間占一幀的周期的比例為p%,第二種方法將像素時鐘提升了q%,那么總的幀率提升幅度則達到:
綜合以上兩種方法,可以用硬件的方法將系統(tǒng)的輸出幀率最大提升72%左右,達到25 FPS。
在各種研究論文中已經(jīng)報道過多種多樣的圖像采集方案,有利用FPGA(可編程邏輯陣列)的高并行性進行實時圖像采集及處理的設(shè)計方案[7-8];有利用單片機實現(xiàn)低成本圖像采集的方案[9]。
綜合這些方案的優(yōu)缺點,設(shè)計中將采用低成本的EPM1270T144C3型號的CPLD作為主控核心,產(chǎn)生高清CCD圖像采集芯片ICX285AL所需的時序驅(qū)動,并將CCD采集的信號經(jīng)過放大、采樣和模數(shù)轉(zhuǎn)換后通過cameralink接口輸出到顯示設(shè)備。
本系統(tǒng)的設(shè)計思想是利用可編程邏輯器件的并行優(yōu)勢和高速開關(guān)的性能,產(chǎn)生CCD的驅(qū)動信號,并且在產(chǎn)生驅(qū)動時序的過程中對提高CCD幀率起至關(guān)重要作用的位置進行壓縮等優(yōu)化操作,以達到減少每幀圖像周期的目的,這樣就直接從硬件的層面上提高了圖像的幀率。并且這一設(shè)計思想可以推廣到大部分的CCD應(yīng)用,而不只是ICX285AL。
在系統(tǒng)結(jié)構(gòu)圖5中,以CPLD為主控核心,主要是產(chǎn)生用于CCD的驅(qū)動時序信號以及產(chǎn)生CameraLink轉(zhuǎn)換芯片DS90CR285的時序信號。
圖5 整機系統(tǒng)結(jié)構(gòu)圖
為了滿足使驅(qū)動信號達到圖像采集芯片ICX285AL對穩(wěn)定性以及功率的要求,首先需要對CPLD產(chǎn)生的信號進行轉(zhuǎn)換,轉(zhuǎn)換后的驅(qū)動信號才能提供給CCD用于電荷讀出和轉(zhuǎn)移。并且如果需要對幀率提升,這些驅(qū)動信號應(yīng)該根據(jù)具體的需要,選擇上述兩種提升方法并通過式(1)計算出需要時鐘頻率提高的比例和對驅(qū)動信號的冗余時間進行壓縮的比例。CCD在這些信號的驅(qū)動下,按像素時鐘頻率串行輸出每個像素的模擬電平,對這些模擬信號先進行放大操作有利于接下來的采樣以及模數(shù)轉(zhuǎn)換處理。放大后的模擬信號會進行暗電平鉗位處理,這一設(shè)計的作用是將有效數(shù)據(jù)與暗像元數(shù)據(jù)進行比較并相減,從而降低有效數(shù)據(jù)的暗電流噪聲,提高圖像質(zhì)量。接下來對模擬電平進行相關(guān)雙采樣操作,相關(guān)雙采樣的原理是對一個像素進行2次采樣,一次是在有效電平處進行,另一次是在有效像素前1/2時鐘處進行,再將2次采樣的電平值相減獲得最佳電平,這一設(shè)計可以減少噪聲干擾,提高圖像質(zhì)量。最后有效電平經(jīng)過12位A/D轉(zhuǎn)換成數(shù)字信號,并傳輸給CPLD。
CPLD獲得按像素時鐘串行輸入的12 bit/像素的數(shù)據(jù)后,通過為這些數(shù)據(jù)添加行同步信號和幀同步信號,可以產(chǎn)生一組標準的圖像輸出,即像素時鐘、數(shù)據(jù)、行同步和幀同步。
這一組圖像信號傳輸給DS90CR285芯片后被轉(zhuǎn)換成高速的標準CameraLink信號,并通過CameraLink接口輸出到顯示設(shè)備進行實時顯示。方案中使用CameraLink接口是因為經(jīng)過幀率提升后的視頻流數(shù)據(jù)量巨大,需要一種傳輸帶寬夠大的傳輸方式;另外由于時鐘大大提高,為了降低在傳輸過程中受外界干擾的影響或避免引入噪聲,所選擇的傳輸方式還需要有較強的抗干擾能力,CameraLink接口無疑滿足以上兩個要求,是方案中比較理想的輸出接口。
根據(jù)上一章中的系統(tǒng)設(shè)計方案,設(shè)計的系統(tǒng)實物圖如圖6所示。
圖6 系統(tǒng)實拍圖
為了增強圖像數(shù)據(jù)的可靠性,應(yīng)該降低信號的走線延時,硬件PCB每組信號的走線應(yīng)盡量等長,可以將驅(qū)動信號歸為一組,將A/D輸出數(shù)據(jù)歸為一組,將圖像輸出信號歸為一組。每組信號間都具有一定的時序?qū)?yīng)關(guān)系,假如時序上走線延時不等,有可能會出現(xiàn)時序不匹配的現(xiàn)象,這種情況下會影響到CCD或者是A/D的正常數(shù)據(jù)輸出,使圖像質(zhì)量下降。
對圖中的硬件設(shè)備進行測試,測試平臺使用MicroEnable IV-AS1-PoCL主板,該主板可以接收標準CameraLink格式輸出的圖像信號進行實時顯示,并且利用這塊主板配套的程序可以實時測量得到硬件設(shè)備的幀率。系統(tǒng)測試圖如圖7所示。
圖7中,幀率測試結(jié)果是25.053 fps,這一幀率達到了系統(tǒng)對提升幀率的要求,提升幅度約為67%。圖像清晰且運行穩(wěn)定,并未因為幀率提升而降低圖像質(zhì)量。測試結(jié)果表明這種使用硬件方法提升幀率的圖像采集系統(tǒng)可行性高,穩(wěn)定性好。
圖7 系統(tǒng)幀率測試圖
在深入分析研究CCD驅(qū)動信號對幀率影響的基礎(chǔ)上,本文提出了兩種可以用硬件方式提升CCD圖像幀率的方法。設(shè)計了可以利用這兩種方法的系統(tǒng),給出系統(tǒng)方案框圖,解釋了每個模塊原理、對系統(tǒng)的意義以及必要性,最后搭建了系統(tǒng)的實物,經(jīng)過測試證明系統(tǒng)的圖像幀率確實從典型應(yīng)用中的15 fps提升到了25 fps,這一結(jié)果驗證了這兩種硬件提升CCD幀率方法的可行性。并且這兩種方法具有普適性,可以推廣到相同驅(qū)動原理的大部分其他公司或者型號的CCD系統(tǒng)設(shè)計上。
[1]AIFONSO,BAGNI D,MOGLIA D.Motion compensated frame rate up conversion for H.264/AVC decoders.Consumer Electronics,2005(6):439-440.
[2]HENTSCHEL C.Linear and nonlinear procedure for flicker reduction.IEEE Transactions on Consumer Electronics,1987(3):192 -198.
[3]CASTGNOR,HAAVISTOP,RAMPONIG.A method for motion adaptive frame rate up - conversion.IEEE Trans.on Circuits and System Video Technology,1996,6(5):436 -446.
[4]HILMAN K,PARK H W,KIM Y.Using motion-compensated framerate conversion for the correction of 3:2 pull down artifacts in video sequences.IEEE Trans.on Circuits and System Video Technology,2000,10(2):869 -877.
[5]吳勇,鄭南寧,張光烈,等.具有場幀檢測的自適應(yīng)幀頻提升算法及VLSI實現(xiàn).西安交通大學學報,2002(2):143-146.
[6]吳勇,張光烈,鄭南寧,等.掃描格式轉(zhuǎn)換的自適應(yīng)幀頻提升算法及其FPGA實現(xiàn).中國工程科學,2001(4):56-62.
[7]李娟,劉艷瀅.基于FPGA的圖像采集模塊的設(shè)計.儀表技術(shù)與傳感器,2012(10):27-30.
[8]周志權(quán),劉心成,趙占鋒.基于IBIS5-B-1300的視頻采集和顯示系統(tǒng)設(shè)計.儀表技術(shù)與傳感器,2010(4):52-55.
[9]董大波,王湘云,趙柏秦,等.基于單片機的低成本CMOS圖像采集系統(tǒng).儀表技術(shù)與傳感器,2014(2):45-49.