1、引言
如圖 1所示,兩臺攝像機C1、C2分別對具有部分重疊區(qū)域的景物進行拍攝。在 t1時刻拍攝,得到了圖像A1、B1;在下一時刻t2,得到了圖像A2、B2。
在同一屏幕上重現(xiàn)原圖像時,必須保證兩個播放器依次同時播放圖像 A1和B1,A2和B2,以保證圖像經(jīng)拼接后正常顯示。由于兩路視頻播放器各自具有獨立性,因此在讀取、解碼等過程中都會出現(xiàn)不同程度的不同步。如圖 2所示,兩路圖像由于播放的不同步將發(fā)生交疊現(xiàn)象。因此,為了避免圖像交疊現(xiàn)象的發(fā)生,必須對兩路視頻同步播放問題進行研究。
500)this.style.width=500;" border="0" />
如圖 3所示,本系統(tǒng)實現(xiàn)兩路視頻信號同步播放的原理是:基于圖像重疊部分的相關(guān)信
息,通過一定的同步檢測算法判定兩路播放視頻是否同步并檢測出兩路視頻相差的幀數(shù),再通過對播放器的調(diào)整使兩路視頻同步播放。
500)this.style.width=500;" border="0" />
2、硬件系統(tǒng)設計與搭建
已經(jīng)有研究表明兩路視頻信號在 PC機上的同步播放是可實現(xiàn)的,而本系統(tǒng)則是利用嵌入式系統(tǒng)來實現(xiàn)同步播放。接下來,本文將對基于嵌入式系統(tǒng)的兩路視頻同步播放系統(tǒng)的設計、搭建以及調(diào)試進行展開。
2.1 硬件系統(tǒng)總體設計
如圖 3.1所示,兩路視頻同步播放系統(tǒng)由接口電路、輸入視頻信號預同步電路、輸入視頻信號重疊區(qū)域圖像采樣窗電路、數(shù)據(jù)存儲電路、主控運算及播放器控制電路組成。
500)this.style.width=500;" border="0" />
2.2 主要硬件功能模塊電路設計與測試
2.2.1 接口電路模塊設計
接口1和接口2分別將兩路視頻信號由播放器引入后續(xù)處理模塊,并將處理后的視頻信號輸出給顯示系統(tǒng)。
2.2.2 預同步電路模塊設計兩路輸入視頻信號在進行同步處理前需要首先進行緩沖,以期在同一時刻到達主控模塊上一致。本系統(tǒng)采用兩片有 FPGA芯片控制的 FIFO芯片分別實現(xiàn)兩路信號的預同步功能。
本系統(tǒng)采用uPD42280芯片。 uPD42280是容量為256kbyte*8bit (262, 224 * 8bit)的高速場存儲器。CMOS動態(tài)電路實現(xiàn)了芯片的高速和低功耗。 uPD42280O可以設置為同步或異步讀寫的FIFO。其中, DI0-7為數(shù)據(jù)輸入,DO0-7為數(shù)據(jù)輸出;/WE、/RE分別為寫使能和讀使能; /WRST、/RRST分別為寫復位和讀復位; VDD、GND分別為電源和接地。而在進行預同步處理時,兩路輸入的視頻信號均為隔行PAL制黑白信號,其中亮度信號為8位,即每幀圖像大小為702*288*8/1024/8=198Kbyte,所以 uPD42280的容量足夠一場圖像的存儲。
2.2.3重疊區(qū)域采樣電路模塊設計輸入視頻信號重疊區(qū)域采樣窗模塊是由兩塊uPD42280芯片串聯(lián)構(gòu)成。通過 FPGA對uPD42280芯片發(fā)出控制信號,達到對指定像素區(qū)域進行采樣的目的。之所以采用兩片 uPD42280芯片串聯(lián)是考慮到系統(tǒng)設定的同步范圍。對于 50HZ的PAL制的隔行掃描圖像,每一場的采樣像素點為32*32=1024個,只取其中 8位Y信號,則每一場的采樣數(shù)據(jù)量為 28800字節(jié)。uPD42280場存儲器的單片容量為 256K字節(jié),可以容納約 256場。這樣采用兩片串聯(lián)增加了一倍的容量,采樣窗的數(shù)目可以達到512場。
采樣的控制時序圖5所示,為了對 702*288的右1/4重疊區(qū)域進行行列的均勻采樣,每隔 8行在后128點進行 1/4clk均勻抽樣,得到 32點。同時,每場一共抽取 32行,這樣 FIFO中存儲數(shù)據(jù)為32*32=1024byte。而讀時鐘在每場的前 32行,采用clk(13.5MHZ)進行連續(xù)讀取。圖 6為一幀圖像重疊區(qū)域采樣的效果圖。
500)this.style.width=500;" border="0" />
500)this.style.width=500;" border="0" />
2.2.4存儲器電路模塊設計
在本系統(tǒng)中,由于需要用到大規(guī)模的圖像數(shù)據(jù)存儲及運算存儲操作,并且考慮到系統(tǒng)算法的可擴展性,存儲器選取了兩片 SDRAM芯片 HY57V641620HG,每片 HY57V641620HG大小為 4bank*1M*16bit。在結(jié)構(gòu)設計方面,由于 SDRAM不能夠同時進行讀寫操作,與主控運算電路采取并行連接的方式。這樣做的目的是可以進行 SDRAM的乒乓讀寫操作,提高數(shù)據(jù)讀取及寫入的效率。
FPGA對SDRAM的初始化和fullpage模式下的讀寫控制的時序如圖 7、8、9。
500)this.style.width=500;" border="0" />
500)this.style.width=500;" border="0" />
2.2.5 FPGA主控運算電路模塊設計主控運算電路是本系統(tǒng)中最重要的硬件組成部分,因為這部分電路將承擔整個系統(tǒng)大部分控制和運算任務。這部分電路由 FPGA芯片 EP1C6及其附屬電路組成。
EP1C6屬于ALTERA公司的Cyclone系列,內(nèi)含 5980個邏輯單元;內(nèi)部 RAM大小為 92160bit;支持 LVTTL, LVCMOS, SSTL-2, 和SSTL-3 I/O 標準;支持 66和 33-MHz, 64- and 32-bit PCI 標準;支持高速 640 Mbps) LVDS I/O和低速 (311 Mbps) LVDS I/O;支持311-Mbps RSDS I/O;支持外部存儲器,包括 DDR SDRAM (133 MHz),FCRAM, 和SDRAM;支持 IP核。它具有20塊M4K,可實現(xiàn)乘法器的數(shù)量為 7。本系統(tǒng)采用的封裝形式為 240-Pin PQFP,可用的I/O口為185個。兩路視頻同步播放系統(tǒng)需要近170個I/O口、連接 SDRAM和植入算法,而 EP1C6可以提供足夠多的邏輯單元資源。
2.2.6 電源電路模塊及其他電路設計播放器控制電路由開關(guān)芯片CD4066構(gòu)成。CD4066芯片是4路雙向 CMOS開關(guān)電路,可用于數(shù)字和模擬信號的信號傳輸和復用。
主控運算電路中的Cyclone EP1C6芯片需要接 3.3V和1.5V兩種電壓,存儲器 HY57V641620HG芯片需要接3.3V電壓, Upd42280芯片和CD4066芯片需要接 5V電壓。所以在設計電源電路部分時考慮需要滿足3.3V、1.5V、5V三種電壓。系統(tǒng)選擇的電源芯片為固定3.3V和1.5V兩個型號的SPX1587芯片。 SPX1587芯片具有靜態(tài)電路低的特點,在滿負載的情況下電壓降僅有1.1V。 3、結(jié)論
本文作者創(chuàng)新點在于應用嵌入式系統(tǒng)解決以往使用 PC機解決的視頻同步播放問題。本硬件系統(tǒng)充分考慮到了兩路視頻同步播放算法的各種硬件功能需要,進行了各硬件電路模塊的設計、搭建及調(diào)試。硬件平臺的基本功能──顯示、采樣及存儲器的控制均達到同步播放算法的要求。