楊小光
(中國(guó)電子科技集團(tuán)公司 第四十一研究所,安徽 蚌埠233006)
實(shí)時(shí)視頻拼接技術(shù)在測(cè)試測(cè)量、軍事監(jiān)控、生物醫(yī)學(xué)、汽車導(dǎo)航等領(lǐng)域有著廣泛的應(yīng)用需求。視頻拼接技術(shù)是從圖像拼接技術(shù)發(fā)展而來,在二維圖像處理的基礎(chǔ)上利用了增加的時(shí)間維度信息,成為三維的處理過程。隨著視頻技術(shù)以及大規(guī)模集成電路的發(fā)展,視頻信號(hào)拼接技術(shù)的應(yīng)用越來越廣泛。本設(shè)計(jì)采取基于幀存儲(chǔ)器AL422的視頻拼接技術(shù)實(shí)現(xiàn)視頻雙顯,切換平滑、流暢,充分滿足了設(shè)計(jì)要求。
視頻拼接原理如圖1所示,兩路圖像傳感器CMOSX、CMOSY在兩個(gè)方向X、Y上對(duì)物體成像,在外部時(shí)鐘驅(qū)動(dòng)下完成光電轉(zhuǎn)換,輸出視頻圖像信息及同步控制信號(hào)。兩組CMOS輸出同步信號(hào)輸入到FPGA,以合成各組控制信號(hào),如讀、寫使能信號(hào),讀寫復(fù)位信號(hào),輸出使能信號(hào)等。
圖1 視頻拼接原理圖
兩組緩存器在FPGA輸出控制信號(hào)的作用下,分別存儲(chǔ)一路壓縮的CMOS視頻數(shù)據(jù),且滿幀視頻數(shù)據(jù)只占據(jù)緩存的一半空間,數(shù)據(jù)的輸出和存儲(chǔ)作乒乓切換,以使圖像顯示流暢。在數(shù)據(jù)存儲(chǔ)的同時(shí)將兩個(gè)壓縮的圖像拼接成完整的一幀圖像輸出,同時(shí)輸出行、場(chǎng)同步信號(hào)顯示圖像,如圖2所示。
圖2 緩存讀、寫乒乓操作
圖像傳感器采用Omni Vision公司的OV7141[2]型CMOS芯片,輸出VGA(640×480)格式視頻,幀頻30fps,數(shù)據(jù)格式Y(jié)UV/YCbCr 4:2:2。因此一幀視頻數(shù)據(jù)量為600K字節(jié)。
緩沖器采用Aver Logic公司推出的AL422[3]視頻幀存儲(chǔ)器,存儲(chǔ)容量為384K字節(jié),工作頻率可達(dá)50MHz,該芯片的主要特點(diǎn)如下:
(1)支持VGA、CCIR、NTSC、PAL與HDTV分辨率;
(2)可進(jìn)行獨(dú)立的讀/寫操作,可接受不同的I/O數(shù)據(jù)率;
(3)可高速異步串行存取,讀寫時(shí)鐘周期為20ns;
(4)內(nèi)含輸出使能控制,并能夠自行刷新數(shù)據(jù)。
視頻拼接的本質(zhì)是控制幀存儲(chǔ)器有規(guī)律的做讀、寫切換,在時(shí)間軸上重構(gòu)成完整的視頻數(shù)據(jù)流輸出。CMOS輸出數(shù)據(jù)及同步信號(hào),通過對(duì)場(chǎng)同步信號(hào)(VSYNC)、行同步信號(hào)(HREF)、像素時(shí)鐘(PCLK)的處理,產(chǎn)生幀存儲(chǔ)器AL422的讀、寫控制信號(hào),進(jìn)行視頻數(shù)據(jù)的壓縮、復(fù)原、存儲(chǔ)、拼接。視頻拼接的信號(hào)主要分為以下幾類:寫相關(guān)控制信號(hào)、讀相關(guān)控制信號(hào)、VGA信號(hào)。
寫控制信號(hào)模塊主要利用CMOS芯片產(chǎn)生的行、場(chǎng)同步信號(hào)以及像素時(shí)鐘產(chǎn)生幀存儲(chǔ)器AL422的寫相關(guān)控制信號(hào),主要有寫復(fù)位信號(hào)(/WRST)、寫使能信號(hào)(/WE)、寫時(shí)鐘信號(hào)(WCLK),信號(hào)產(chǎn)生原理如圖3所示。
圖3 幀存儲(chǔ)器寫控制信號(hào)合成框圖
(1)寫時(shí)鐘信號(hào)
本設(shè)計(jì)中,寫時(shí)鐘信號(hào)(WCLK)直接由CMOS像素時(shí)鐘PCLK直接提供。并且視頻數(shù)據(jù)以X方向時(shí)序?yàn)榛鶞?zhǔn),因此CMOS_X時(shí)鐘同步所有的信號(hào)處理模塊。
(2)寫復(fù)位信號(hào)
幀存儲(chǔ)器的地址是由內(nèi)部地址計(jì)數(shù)器控制,在寫使能信號(hào)(/WE)有效時(shí),對(duì)寫時(shí)鐘進(jìn)行計(jì)數(shù),到達(dá)地址末端或?qū)憦?fù)位信號(hào)有效時(shí),計(jì)數(shù)器自動(dòng)清零。圖像存儲(chǔ)對(duì)應(yīng)拼接顯示,采用隔行抽取數(shù)據(jù)的方法壓縮,幀存儲(chǔ)器存儲(chǔ)兩幀壓縮圖像,因此每?jī)蓤?chǎng)數(shù)據(jù)復(fù)位一次。場(chǎng)同步信號(hào)、寫復(fù)位信號(hào)時(shí)序如圖4所示。
圖4 場(chǎng)同步信號(hào)、寫復(fù)位信號(hào)時(shí)序圖
(3)寫使能信號(hào)
幀存儲(chǔ)器寫使能信號(hào)(/WE)控制寫操作,在其有效期間地址計(jì)數(shù)器隨時(shí)鐘信號(hào)增長(zhǎng),并在時(shí)鐘的上升沿將數(shù)據(jù)寫入存儲(chǔ)器。當(dāng)/WE處于高電平時(shí),地址計(jì)數(shù)器停止計(jì)數(shù),寫操作被禁止。有規(guī)律的控制寫使能信號(hào),可以方便的對(duì)視頻數(shù)據(jù)進(jìn)行壓縮。
拼接雙顯是在縱向上壓縮圖像,采取隔行存儲(chǔ)數(shù)據(jù)的方法,只存儲(chǔ)一幀圖像(480行)中的240行,因此寫使能(/WE)信號(hào)相對(duì)于行同步信號(hào)隔行反轉(zhuǎn)。并且由于采用黑白顯示,因此只存儲(chǔ)亮度信號(hào)Y,而丟棄色度信號(hào)Cb,Cr,寫使能信號(hào)在像素時(shí)鐘PCLK的下降沿反轉(zhuǎn),甄別亮度信號(hào)和色度信號(hào)。對(duì)應(yīng)與雙顯的寫使能信號(hào)將是在隔行有效的基礎(chǔ)疊加隔像素有效。
幀存儲(chǔ)器讀控制信號(hào)包括讀使能(/RE)、讀復(fù)位(/RRST)、數(shù)據(jù)輸出使能(/OE)、讀時(shí)鐘(RCLK),信號(hào)產(chǎn)生原理如圖5所示。該模塊使用的行同步信號(hào),場(chǎng)同步信號(hào)均通過對(duì)像素時(shí)鐘的計(jì)數(shù)產(chǎn)生的。控制用VGA信號(hào)在時(shí)序上提前于輸出用VGA信號(hào),以利于幀存儲(chǔ)器輸出數(shù)據(jù)與輸出VGA信號(hào)同步。由于在數(shù)據(jù)存儲(chǔ)時(shí)丟棄了色度信號(hào),因此在輸出時(shí)需恢復(fù)色度信號(hào)。
圖5 幀存儲(chǔ)器讀控制信號(hào)合成框圖
(1)讀復(fù)位信號(hào)(/RRST)
幀存儲(chǔ)器的讀、寫操作是相互獨(dú)立的,可以同時(shí)操作,但是不能同時(shí)操作同一個(gè)存儲(chǔ)單元,理想狀態(tài)是讀、寫地址計(jì)數(shù)器相差128個(gè)單元。讀地址計(jì)數(shù)器同時(shí)受讀復(fù)位信號(hào)(/RRST)、讀使能信號(hào)(/RE)、讀時(shí)鐘(RCLK),在RCLK作用下不斷刷新,單調(diào)增長(zhǎng)。當(dāng)?shù)刂酚?jì)數(shù)器達(dá)到最大,或者讀復(fù)位信號(hào)有效,地址計(jì)數(shù)器將清零。拼接雙顯模式下,幀存儲(chǔ)器存儲(chǔ)兩幀壓縮圖像,因此每讀兩場(chǎng)數(shù)據(jù)地址復(fù)位一次。場(chǎng)同步信號(hào)、讀復(fù)位信號(hào)時(shí)序如圖6所示。讀復(fù)位信號(hào)與寫復(fù)位信號(hào)波形一致,然而讀復(fù)位信號(hào)時(shí)序上落后于寫復(fù)位信號(hào)200個(gè)行同步周期。
圖6 場(chǎng)同步信號(hào)、讀復(fù)位信號(hào)時(shí)序圖
(2)讀使能信號(hào)(/RE)
兩個(gè)幀存儲(chǔ)器(X、Y)的讀取控制,交替輸出視頻數(shù)據(jù),是拼接視頻的關(guān)鍵部分。拼接雙顯讀使能信號(hào)如圖7所示,在視頻輸出的場(chǎng)同步信號(hào)前半幀期間,X幀存儲(chǔ)器的讀使能信號(hào)有效,輸出視頻數(shù)據(jù),構(gòu)成上半屏壓縮圖像,于此同時(shí)Y幀存儲(chǔ)器的讀操作被禁止。當(dāng)處于下半幀期間情況相反,Y幀存儲(chǔ)器讀使能信號(hào)有效,輸出數(shù)據(jù),構(gòu)成下半屏數(shù)據(jù),而X幀存儲(chǔ)器的讀操作被禁止。兩幀存儲(chǔ)器在半幀切換信號(hào)控制下,做乒乓切換,輪流輸出數(shù)據(jù)構(gòu)成視頻圖像。另外,由于存儲(chǔ)器中僅存儲(chǔ)了亮度信號(hào),在讀取數(shù)據(jù)時(shí)需將地址計(jì)數(shù)器的刷新頻率降低一倍,以便于輸出數(shù)據(jù)時(shí)恢復(fù)色度信號(hào)。因此對(duì)像素時(shí)鐘進(jìn)行二分頻,低電平讀取存儲(chǔ)器的數(shù)據(jù)作為亮度信號(hào),高電平存儲(chǔ)器讀禁止,地址計(jì)數(shù)器維持不變,輸出端輸出固定值0x80作為色度信息。
圖7 拼接雙顯讀使能信號(hào)細(xì)節(jié)
文中介紹了基于AL422幀存儲(chǔ)器的視頻拼接技術(shù)原理,并用硬件描述語言VHDL實(shí)現(xiàn),圖像顯示流暢,切換靈活,獲得很好的效果。
[1]劉杰,牛燕雄,董偉.基于FPGA的視頻信號(hào)發(fā)生器設(shè)計(jì)與應(yīng)用研究[J].2009,3,29(3).
[2]http://www.omnivision.com OV7141.pdf[OL].
[3]http://www.averlogic.com AL422.pdf[OL].