基于FPGA的電子穩(wěn)像平臺(tái)的研究
通過(guò)上述方案的對(duì)比及系統(tǒng)的具體要求,設(shè)計(jì)中采用了場(chǎng)合并的辦法,具體實(shí)現(xiàn)由幀存控制器完成。
1.3幀存控制器
幀存儲(chǔ)器是圖像處理器與顯示設(shè)備之間的通道,所有要顯示的圖形數(shù)據(jù)先存放到幀存儲(chǔ)器中,然后再送到顯示設(shè)備進(jìn)行顯示,因此幀存儲(chǔ)器的設(shè)計(jì)是圖形顯示系統(tǒng)設(shè)計(jì)的一個(gè)關(guān)鍵。傳統(tǒng)上,可以實(shí)現(xiàn)幀存儲(chǔ)器的存儲(chǔ)器件有多種,如DRAM、SDRAM及SRAM等。DRAM、SDRAM屬于動(dòng)態(tài)存儲(chǔ)器,容量大、價(jià)格全家但速度較慢,且在使用中需要定時(shí)刷新。對(duì)于基于FPGA的視頻處理器,需要設(shè)計(jì)專用的刷新電路,增加了系統(tǒng)設(shè)計(jì)的復(fù)雜程度。SRAM速度高、接口簡(jiǎn)單、容量較小。隨著集成電路技術(shù)的不斷發(fā)展,容量不斷增大,價(jià)格也不斷下降。在需要高速實(shí)時(shí)顯示的視頻處理系統(tǒng)中的使用越來(lái)越普遍。
幀存控制器的設(shè)計(jì)對(duì)于實(shí)現(xiàn)兩種不同視頻系統(tǒng)之間的圖像信號(hào)的存儲(chǔ)、采集和顯示顯得非常重要。為了保證數(shù)據(jù)處理與采集的連續(xù),設(shè)計(jì)中使用了兩組幀存儲(chǔ)器(FRAM1、FRAM2),由于數(shù)字化的圖像每幀大小為640×480=307200(16bit)共300K×16bit的數(shù)據(jù)量,筆者使用每組512K×16bit的靜態(tài)存儲(chǔ)器,存儲(chǔ)時(shí)間為12ns,可以保證快速地讀出和寫(xiě)入圖像數(shù)據(jù)。圖3為幀存控制器的邏輯框圖。由于輸入信號(hào)為隔行掃描的圖像數(shù)據(jù),顯示輸出需要逐行掃描數(shù)據(jù),因此數(shù)據(jù)存入幀存儲(chǔ)器時(shí)需要進(jìn)行處理。設(shè)計(jì)中采用場(chǎng)合并行法,將兩場(chǎng)的數(shù)據(jù)寫(xiě)入一個(gè)幀存中,構(gòu)成一幅完整的逐行掃描圖像,系統(tǒng)利用VREF信號(hào)對(duì)此進(jìn)行控制,產(chǎn)生的幀切換控制信號(hào)控制數(shù)據(jù)在兩個(gè)幀存中的切換。當(dāng)VREF信號(hào)有效時(shí),表明新的一場(chǎng)開(kāi)始了,此時(shí)無(wú)效行計(jì)數(shù)器開(kāi)始工作,控制不需要采集的圖像行,計(jì)數(shù)到閾值后,有效行計(jì)數(shù)器開(kāi)始工作,控制所要采集的圖像行,并發(fā)出高位地十信號(hào)A[18..11];同樣,當(dāng)HREF有效后,無(wú)效像素計(jì)數(shù)器開(kāi)始計(jì)數(shù)每行中的無(wú)效像素,然后有效像素計(jì)數(shù)器開(kāi)始計(jì)數(shù)需要采集的行聽(tīng)有效像素;每次計(jì)滿640個(gè)像素后,等待下一次有效行信號(hào)的到來(lái),同時(shí)將有效行計(jì)數(shù)器加1。由于系統(tǒng)選用的幀存容量較大,因此利用ODD的反相信號(hào)作為幀存地址的A10,為每行圖像提供了1024個(gè)存儲(chǔ)空間(實(shí)際使用640個(gè)),可以簡(jiǎn)化數(shù)據(jù)寫(xiě)入與讀出的控制電路。隔行的視頻信號(hào)就會(huì)被逐行地存儲(chǔ)到幀存體中。總線隔離與控制電路用來(lái)完成數(shù)據(jù)在幀存中的寫(xiě)入與讀出的同步。由于采用SRAM作為幀存體,有效像素的寫(xiě)入與后續(xù)視頻接口的讀出不能在一個(gè)幀存體中同時(shí)進(jìn)行,系統(tǒng)采用雙幀存輪流操作的方法,系統(tǒng)采用雙幀存輪流操作的方法:當(dāng)數(shù)字化后的圖像信息寫(xiě)入其中的一個(gè)幀存時(shí),幀存控制器將另一個(gè)幀存中的像素順序讀出,送到顯示設(shè)備,反之亦然。
1.4視頻圖像的放大變換
應(yīng)用柵格理論幾何變換處理過(guò)程可以按下面方式進(jìn)行描述:給定一個(gè)定義于點(diǎn)陣Λ1上已采樣信號(hào),需要產(chǎn)生一個(gè)定義于另一個(gè)點(diǎn)陣Λ2上的信號(hào)。如果,Λ1中的每一個(gè)點(diǎn)也在Λ2中,那么此問(wèn)題是上轉(zhuǎn)換(或內(nèi)插)問(wèn)題,可以先將那些在Λ2中而不在Λ1中的點(diǎn)添零(即零填充),然后用一個(gè)作用于Λ2上的內(nèi)插濾波器估計(jì)這些點(diǎn)的值;若Λ1)Λ2,即為下轉(zhuǎn)換(或抽?。﹩?wèn)題,可以簡(jiǎn)單地從Λ1中取出那么也在Λ2中的點(diǎn)。然而,為避免下采樣信號(hào)中出現(xiàn)混疊,需要對(duì)信號(hào)進(jìn)行預(yù)濾波,以將其帶寬限制到Λ2*的沃格納晶體。上轉(zhuǎn)換和下轉(zhuǎn)換的過(guò)程示于圖4(a)、(b)中。更一般的情況,如果Λ1和Λ2互相不包含,就需要找到另一個(gè)即包括Λ1又包括Λ2的點(diǎn)陣Λ3,可以先將Λ1上采樣到Λ3,然后再下采樣到Λ2。此過(guò)程示于圖4(c)。圖4(c)中Λ3中的中間濾波器完成兩個(gè)任務(wù):首先,內(nèi)插出Λ1中漏下的采樣點(diǎn);其次把Λ3中的信號(hào)頻譜限制于Λ2*的沃格納晶格。
由于系統(tǒng)中進(jìn)行放大變換采用FPGA實(shí)現(xiàn),因此本文討論的重點(diǎn)在于如何簡(jiǎn)化實(shí)現(xiàn)并提高轉(zhuǎn)換速度,上轉(zhuǎn)換中的上采樣過(guò)程為:
(1)式中Ψs,1和Ψs,3分別為原理圖像和上采樣信號(hào);U(.)為上采樣運(yùn)算;Λ2\Λ1表示在Λ2而不在Λ1內(nèi)的點(diǎn)的集合。插值濾波器的定義如下:
(2)式中,d(Λ)為柵格Λ的采樣密度;v*表示柵格Λ的轉(zhuǎn)逆柵格的Voronoi單元,即柵格Λ原點(diǎn)的單位元,它向所有柵格點(diǎn)平移將會(huì)無(wú)重疊地覆蓋整個(gè)連續(xù)空間。最簡(jiǎn)單的插值濾波為線性插值,也可以采用二加權(quán)濾波的方法。圖像的縮放還可以采用3次樣條插值和小波分解的方法,雖然這些方法在理論上可以取得很好的圖像縮放效果,但計(jì)算復(fù)雜,即使采用快速算法,也難以實(shí)現(xiàn)視頻圖像的實(shí)時(shí)顯示。
針對(duì)視頻信號(hào)數(shù)據(jù)量大、數(shù)據(jù)流速度的特點(diǎn),采用FPGA設(shè)計(jì),可以完成幀存控制、視頻信號(hào)的實(shí)時(shí)放大與疊加功能。基于運(yùn)算速度與算法實(shí)現(xiàn)的難易程度分析,對(duì)視頻信號(hào)的放大采用了簡(jiǎn)單的線性插值的辦法,原理如圖5所示。視頻信號(hào)是以場(chǎng)或幀進(jìn)行存儲(chǔ)的,由于數(shù)據(jù)寫(xiě)入時(shí)存儲(chǔ)地址與圖像顯示的空間位置有確定的對(duì)應(yīng)關(guān)系,因此系統(tǒng)需要的放大處理就變?yōu)閷?duì)幀存儲(chǔ)體的地址線的控制問(wèn)題。
對(duì)于本系統(tǒng)具體的4倍放大要求,將行同步信號(hào)先進(jìn)行二倍行使能運(yùn)算,并利用場(chǎng)同步信號(hào)對(duì)該寄存器進(jìn)行復(fù)位,將生成后的二分頻行同步信號(hào)控制行地址發(fā)生器,也就是產(chǎn)生幀存儲(chǔ)器所需的高位地址;類似地利用像素時(shí)鐘、行同步信號(hào)和場(chǎng)同步信號(hào)就可以得到所需的低位地址。由于在幀存控制器向幀存儲(chǔ)器寫(xiě)入數(shù)據(jù)時(shí)采用了一行點(diǎn)1024個(gè)位置的辦法,所以在低位地址后連接了一個(gè)比較器,當(dāng)產(chǎn)生的低位地址小于640時(shí),幀存儲(chǔ)器的讀信號(hào)有效,否則無(wú)效,以保證不會(huì)混疊入無(wú)效的數(shù)據(jù)。
1.5VGA接口控制器
標(biāo)準(zhǔn)的VGA(640×480,60Hz)接口需要提供以下幾組信號(hào):3個(gè)RGB模擬信號(hào)、行同步信號(hào)HS和場(chǎng)同步信號(hào)VS。它的信號(hào)時(shí)序如圖6所示。
評(píng)論