一種基于FPGA的視頻圖像畫面分割器設計
本文引用地址:http://m.butianyuan.cn/article/236794.htm
由圖可知:接收到輸入信號后,根據(jù)視頻數(shù)據(jù)提取原理,檢測有效的視頻數(shù)據(jù),每來一個時鐘,接收一個視頻數(shù)據(jù)存儲到RAM模塊中;然后對RAM模塊中存放的數(shù)據(jù)取平均值;接著對這些平均值隔行隔點提取,把提取出的數(shù)據(jù)送入異步FIFO中,方便讀寫入DDR2 SDRAM中。
隔行隔點提取有效數(shù)據(jù)就是要將一些像素丟棄,本設計采用鄰域平均法來改善縮放后的視頻圖像質量。鄰域平均法的原理是將原圖中一個像素值和它周圍鄰近8個像素值相加,然后將求得的平均值(除以9)作為新圖中該像素的值。它采用模板計算的思想,模板操作實現(xiàn)了一種鄰域運算,即某個像素點的結果不僅與本像素有關,而且與其鄰域點的像素值有關。鄰域平均法的數(shù)學公式表達為:
其中f(i,j)為給定的圖像,經(jīng)過鄰域平均處理后的圖像為g(i,j),M是所取鄰域中各鄰近像素的坐標N是鄰域中包含的鄰近像素的個數(shù)。
1.2.2 圖像合成和編碼模塊設計
1)圖像合成原理
在像素域的多畫面合成中,首先,對原圖像按像素進行抽取,分別將多路圖像按照一定的比例縮小。然后,按照一定的規(guī)則將多路圖像進行排列,排列后的圖像即為多路合成的圖像。最后,將合成的圖像編碼輸出,即可在同一個屏幕顯示多個畫面,完成對多路圖像的合成。
合成后的視頻圖像是逐行顯示的,而對于將圖像以逐行方式“繪制”到屏幕上的設備,每張圖像都是從顯示器的左上角開始,一直向右移動,直到到達顯示器的右邊緣為止,然后向下掃描一行,重復地從左到右進行掃描,這個過程一直持續(xù)到整個屏幕全部被刷新一次為止,如圖7所示。
SiI1161輸出的完整的一幀圖像數(shù)據(jù)結構如圖8所示。
以四路為例,首先,要分別對原圖像進行1/4比例縮小。一幀視頻圖像有效顯示的圖像數(shù)據(jù)為26~745行,則在垂直方向上隔行抽取有效視頻行,使垂直方向縮小為原來的1/2。
在水平方向上,每行有效視頻由1 280個像素組成,每隔一個像素抽取一個有效視頻,使水平方向縮小為原來的1/2。這樣經(jīng)過垂直和水平方向的抽取所得到的圖像縮小為原圖像的1/4。
然后,按照一幀圖像數(shù)據(jù)的排列格式對抽取的各路圖像的像素進行排列。抽取的第一路圖像的行與第二路圖像的行組成一整行,第三路圖像的行與第四路圖像的行組成一整行,四路圖像的行組成新的一幀圖像的圖像數(shù)據(jù)。
最后,將四路合成圖像數(shù)據(jù)經(jīng)過SiI164編碼輸出,通過逐行掃描在一個顯示器上顯示四路圖像,即完成了四路視頻圖像合成。
2)圖像合成模塊設計
視頻圖像畫面合成的實現(xiàn)方法主要分為兩大類:像素域合成和壓縮域合成?;谙到y(tǒng)的圖像數(shù)據(jù)為24位R、G、B數(shù)字視頻格式,所以在視頻圖像畫面合成中采用像素域內(nèi)多畫面合成的方法。四路視頻圖像合成的實現(xiàn)過程如下:
首先,分別在垂直方向和水平方向上抽取有效的視頻數(shù)據(jù),將四路圖像各縮小為原圖像的1/4。這部分功能由有效視頻數(shù)據(jù)提取模塊實現(xiàn),該模塊在前面已經(jīng)做過詳細介紹。然后將提取的各路圖像數(shù)據(jù)按找一定順序排列,即按照一定的規(guī)律存儲到DDR2 SDRAM中。各路圖像數(shù)據(jù)的地址按照上一節(jié)介紹的地址產(chǎn)生方法實現(xiàn),都有各自固定的存儲空間。
在完成各路視頻圖像的抽取,存儲后,就要對抽取的各路視頻圖像的進行四畫面合成。根據(jù)720P系統(tǒng)數(shù)字信號的數(shù)據(jù)格式,把有效視頻數(shù)據(jù)從存儲器中采用順序讀取出來,在相應的H、V、DE信號的位置,送視頻編碼輸出,完成四路視頻圖像的合成。在合成的過程中,H、V、DE信號及時鐘信號都由第一路輸入的視頻信號產(chǎn)生。四路視頻合成圖像的排列方式如圖9所示。
2 調(diào)試結果
經(jīng)過軟硬件的綜合調(diào)試,整個視頻圖像畫面分割系統(tǒng)便可以正常工作了。
采集的多路視頻圖像經(jīng)過FPGA圖像合成處理后,可以在一個顯示器顯示多路視頻圖像。
3 結束語
文中采用FPGA開發(fā)技術實現(xiàn)了視頻圖像畫面分割器的畫面分割的功能。研究的主要特色在于構建了以FPGA為核心器件的視頻畫面分割的硬件平臺,通過硬件形式來實現(xiàn)視頻四畫面分割,圖像的提取、存儲等都在一片F(xiàn)PGA內(nèi)實現(xiàn),提高了系統(tǒng)的集成度,所有的模塊設計都是利用Verilog HDL編程實現(xiàn),和軟件實現(xiàn)方法相比,系統(tǒng)在處理速度方面有了顯著的提高。輸入/輸出的信號都為DVI信號,實現(xiàn)了高清視頻畫面分割。
fpga相關文章:fpga是什么
評論