專利名稱:一種基于fpga的圖像拼接處理器及圖像拼接方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種基于FPGA的圖像拼接處理器及圖像拼接方法。
背景技術(shù):
目前大屏幕拼接顯示系統(tǒng)對視頻信號顯示控制的實現(xiàn)方法主要有兩種一是采用 PCI插入式拼接,它利用一塊多屏拼接卡將完整的視頻圖像分割成MXN個子視頻信號,多個子視頻信號通過復(fù)用PCI總線,由主機處理器實現(xiàn)放大處理。因此拼接屏幕的數(shù)目受到 PCI總線帶寬的限制。二是采用嵌入式拼接方式,各個拼接單元擁有獨立的視頻處理模塊, 輸入視頻送到各個單元,并各自進行視頻處理,分割出自己應(yīng)該顯示的部分,并將這一部分視頻信號放大后,經(jīng)硬件電路驅(qū)動來顯示視頻信號,實現(xiàn)大屏幕拼接顯示的目的。但是這種嵌入式的拼接單元在顯示模式多樣化方面受到了限制,尤其是在網(wǎng)絡(luò)信號方面自由度方面受到瓶頸,且對于目前的高清視頻信號、數(shù)字流媒體信號處理方面也存在采集和處理能力方面的限制。目前,由于計算機顯示技術(shù)的進步及數(shù)字視頻接口標(biāo)準(zhǔn)的日益普及,對DVI數(shù)字視頻信號進行提取和數(shù)字化處理的要求越來越高。特別是目前對流媒體視頻信號方面的依賴越來越明顯,尤其是在高清領(lǐng)域。傳統(tǒng)的PCI總線模式已經(jīng)顯然無法滿足需求,其首先受到帶寬瓶頸且發(fā)展的空間很小。嵌入式模式雖然有一定的進展,但是在拼接處理、信號源管理以及網(wǎng)絡(luò)尤其是流媒體方面的處理能力還比較欠缺。與此同時,可編程邏輯器件FPGA不斷地更新?lián)Q代,其內(nèi)部邏輯資源和速度等級不斷提高,能夠滿足快速的硬件實現(xiàn)和并行處理,以解決視頻處理速度限制及不同標(biāo)準(zhǔn)融合的問題。從而為實時的、并行的處理視頻帶來了新的解決途徑。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種基于FPGA的圖像拼接處理器,使其即不受PCI總線帶寬的限制又不受采集和處理能力方面的限制。同時,本發(fā)明的還有一個目的是提供一種基于上述處理器的圖像拼接方法。為了達到上述目的,本發(fā)明的一個技術(shù)方案是提供了一種基于FPGA的圖像拼接處理器,其特征在于,包括一組DVI數(shù)字解碼電路、一組FPGA數(shù)字視頻處理電路及一組輸出接口電路,其中外部數(shù)字信號與DVI數(shù)字解碼電路相連,對最小變換差分信號形式的數(shù)字視頻信號進行解碼處理,得到的視頻像素信息流直接送入FPGA數(shù)字視頻處理電路,經(jīng)過圖像處理算法后,再對信號進行編碼處理,得到最小差分信號的數(shù)字視頻信號,經(jīng)過輸出接口電路輸出到拼接墻顯示器。本發(fā)明的另一個技術(shù)方案是提供了一種圖像拼接方法,其特征在于,步驟為步驟1、由視頻分割模塊對通過DVI數(shù)字解碼電路及視頻輸入模塊得到的視頻像素信息流進行分割處理,得到至少兩路具有完整視頻格式的子視頻像素流,并且輸出的至少兩路子視頻像素流具有相同的掃描規(guī)律;
步驟2、基于FPGA數(shù)字視頻處理電路實現(xiàn)滑動窗口 n*n領(lǐng)域模板,其中,η彡2,其值與步驟1中所述的子視頻像素流的路數(shù)相同;步驟3、由FPGA數(shù)字視頻處理基于滑動窗口 η*η領(lǐng)域模板對各路子視頻像素流實現(xiàn)差值放大后輸出,通過DVI數(shù)字編碼電路編碼及DVI接口輸出到拼接墻顯示器上,拼接成一副完整的圖像。本發(fā)明的優(yōu)點是突破拼接規(guī)模限制,使拼接數(shù)量理論上達到無限;實現(xiàn)實時數(shù)字視頻的分割、視頻圖像的插值放大,提供一種視頻流媒體的采集和處理方法。同時對DVI 數(shù)字信號進行提取,算法處理的視頻數(shù)據(jù)和信號源保持一致,避免信號D/A轉(zhuǎn)換中的信號損失;在FPGA內(nèi)部設(shè)計利用并行處理技術(shù),能有效提高處理與響應(yīng)速度,并把屏幕拼接應(yīng)用系統(tǒng)硬件的對外接口統(tǒng)一到DVI數(shù)字視頻顯示接口 ;同時滿足流媒體視頻信號尤其是高清領(lǐng)域不斷擴展的應(yīng)用需求。
圖1是基于FPGA的圖像拼接處理器原理框圖
圖2是FPGA內(nèi)部邏輯結(jié)構(gòu)圖3是SRAM讀、寫分時切換邏輯圖4是參考視頻流的控制邏輯圖5是分割算法的層次執(zhí)行過程;
圖6是滑動窗口 4X4模板的實現(xiàn);
圖7是像素流插值放大的處理流程圖8是雙立方插值計算方法圖9是緩沖存儲器的“乒乓”操作實現(xiàn)圖。
具體實施例方式以下結(jié)合實施例來具體說明本發(fā)明。實施例如圖1及圖2所示,本發(fā)明提供了一種一種基于FPGA的圖像拼接處理器,其特征在于,包括一組DVI數(shù)字解碼電路、一組FPGA數(shù)字視頻處理電路及一組輸出接口電路,其中外部數(shù)字信號與DVI數(shù)字解碼電路相連,對最小變換差分信號形式的數(shù)字視頻信號進行解碼處理,得到的視頻像素信息流直接送入FPGA數(shù)字視頻處理電路,經(jīng)過圖像處理算法后, 再對信號進行編碼處理,得到最小差分信號的數(shù)字視頻信號,經(jīng)過輸出接口電路輸出到拼接墻顯不器。所述輸出接口電路包括一組DVI數(shù)字編碼電路及一組DVI接口,所述FPGA數(shù)字視頻處理電路輸出的數(shù)字視頻信號經(jīng)過DVI數(shù)字編碼電路編碼后通過DVI接口輸出到所述拼接墻顯不器。所述FPGA數(shù)字視頻處理電路包括視頻輸入模塊、視頻分割模塊、視頻插值模塊和視頻輸出模塊,視頻輸入模塊接收從所述DVI數(shù)字解碼電路送出的視頻像素信息流轉(zhuǎn)換成預(yù)處理的視頻像素流格式,視頻分割模塊將得到的視頻像素信息流分割裁剪,得到多路完整的子視頻像素流,并控制各路子視頻顯示的相互時序關(guān)系,視頻插值模塊對各路子視頻
4像素流進行MXN倍的插值放大處理,視頻輸出模塊則將放大后的各路子視頻像素流發(fā)送至所述輸出接口電路。本實施例給出一個2X2拼接實例,拼接顯示單元選用IXD顯示器,但不限于IXD, 對于等離子、DLP投影單元同樣適用。本發(fā)明的方法是通過以下技術(shù)方案實現(xiàn)的首先實現(xiàn)視頻分割,對輸入視頻像素流進行分割處理,得到四路具有完整視頻格式的子視頻,并且輸出的四路子視頻具有相同的掃描規(guī)律,即行同步與場同步。四路子視頻中,當(dāng)有一路視頻年進行場變換或者行變換時,其他三路視頻也要同時完成對各自視頻的場變換或者行變換;當(dāng)顯示屏在對屏上的第一行象素點進行掃描時,其余各顯示屏也都在對各自屏上的第一行像素點進行掃描。子視頻的掃描規(guī)律一致而子屏幕顯示的視頻圖像內(nèi)容是所分割的不同部分。在上述步驟中所述的視頻分割法實現(xiàn)片外SRAM分時切換,通過在外部的SRAM中對輸入視頻像素數(shù)據(jù)幀進行緩存。為進行不同順序的讀、寫操作,本發(fā)明采用了兩組SRAM 進行讀、寫分時切換操作,保證對數(shù)據(jù)進行連續(xù)的讀寫處理而不發(fā)生時間中斷。圖3為SRAM讀、寫分時切換邏輯圖。視頻分割法的SRAM讀、寫分時切換邏輯采用了 A、B兩組像素數(shù)據(jù)存儲區(qū),用以記錄單幀視頻像素數(shù)據(jù)。FPGA的分時切換邏輯是依據(jù)輸入視頻流的場同不控制信號Vsync發(fā)生高電平到低電平的轉(zhuǎn)換,以此作為新數(shù)據(jù)幀到來的標(biāo)識。場同步控制寄存器LasrVSync為高電平“1”且當(dāng)前象素點的場同步信號Vsync為低電平“0”,則表示新的象素開始。幀存儲器選擇寄存器ReadBank則取反,從而提示數(shù)據(jù)寫入和讀出控制邏輯進行讀/寫幀緩存切換;相反,如果場同步控制寄存器LastVSync與當(dāng)前象素點的Vsync值同時為有效“1”,則表示沒有新的象素幀到來,幀存儲器選擇寄存器不發(fā)生變化。如此,輸入數(shù)據(jù)流分配到兩組幀緩沖存儲器,實現(xiàn)對輸入視頻像素流的無縫緩沖與處理。子視頻實現(xiàn)同步控制,其獲取方法是在算法中加入一個參考視頻象素流,用于提供子視頻行、場同步控制信息。參考視頻流不包含象素點的R、G、B數(shù)據(jù)信息,但滿足輸出子視頻流所需的行、場同步控制信號的時序特征,在形成的單幀視頻圖像中其水平方向和垂直方向象素點個數(shù)為輸入視頻象素點個數(shù)的一半,視頻的刷新頻率與輸入視頻保持一致;由圖4所示的視頻流的控制邏輯圖可見,其詳細實現(xiàn)過程如下(1)第1級,將參考視頻流復(fù)制成4個子視頻流(Split4);(2)第2級,是對每一個視頻像素流的象素坐標(biāo)增加偏移量(dx,dy),使其對應(yīng)不同的子視頻象素點的顯示位置,例如,對第二個子視頻,由于它要讀取輸入視頻的右上方位置的視頻圖像數(shù)據(jù),設(shè)置其橫向偏移量為Width/2和縱向偏移量0,其它的子視頻與之類似;(3)第3級,讀取像素數(shù)據(jù),其工作在160MHz的像素時鐘頻率下,因此第3級操作改變它們的象素周期,使子視頻在每4個像素周期內(nèi)輸出一個有效的象素數(shù)據(jù),Cycles為預(yù)設(shè)置的控制象素周期(Cycles設(shè)置為4),使有效數(shù)據(jù)的時鐘頻率與子視頻象素的頻率相同;(4)對四路參考視頻流進行不同的延時處理,再經(jīng)過像素流融合(MUX4)為串行的視頻像素流,把并行像素流轉(zhuǎn)化為串行像素流,保證串行像素流讀取一幀象素的時間與輸入視頻像素流寫入一幀象素的時間是相等的;(5)所述的像素流融合操作對輸入的四路視頻,通過設(shè)置控制參數(shù)(control),在不同時鐘下選取帶有偏移量的視頻象素點。視頻分割法采用分層次執(zhí)行,算法采用系統(tǒng)級描述語言(Handel-C)進行編碼設(shè)計,應(yīng)用面向系統(tǒng)硬件的平臺抽象層(PAL)的設(shè)計流程,作為一種寄存器傳送級的并行結(jié)構(gòu)語言,需要在每一個象素時鐘內(nèi)的保持邏輯處理的并發(fā),在同一層次(stage)內(nèi)對視頻像素流結(jié)構(gòu)中數(shù)據(jù)的處理不交叉,同時復(fù)制除本層次(stage)處理以外的像素流中其它數(shù)據(jù)信息。由圖5可見,視頻分割法的分層次執(zhí)行過程。實現(xiàn)滑動窗口。本發(fā)明實施例采用視頻插值放大算法是FPGA內(nèi)部實現(xiàn)滑動窗口 4X4領(lǐng)域的模板。對單幀視頻圖像作2X2倍的插值放大就是建立在此滑動窗口模板基礎(chǔ)上的。基于滑動模板的插值過程是對模板掩蓋下的某象素點的插值,該插值象素點和滑動模板下的像素點具有局部相關(guān)性,其像素值可以通過滑動窗口模板中已知的象素點數(shù)據(jù)值計算得到。由圖6可見,為滑動窗口 4 X 4模板圖,滑動窗口領(lǐng)域模板實現(xiàn)過程如下(1)輸入像素流的像素數(shù)據(jù)順序地存入3個行緩沖存儲器,當(dāng)有一個新的像素數(shù)據(jù)輸入時,該點的像素數(shù)據(jù)值被寫入第1個行存儲器(LinBufferO),這時第1個行緩沖存儲器的輸出像素寫入下一個行存儲器(LinBufferl),依次類推;第3個行存儲器寫入的像素數(shù)據(jù)是LineBufferf的輸出;這樣輸入像素流數(shù)據(jù)就在3個行存儲器內(nèi)作不間斷的緩沖 每個像素時鐘內(nèi),模板寄存器首先把同一行像素寄存器內(nèi)的M位像素數(shù)據(jù)向前傳遞,WiO =WiLffil = Wi2,Wi2 = Wi3 (BP把后一列的像素值賦給它前面的列),隨后滑動窗口寄存器模板從3個行緩沖和輸入像素流中獲得所需要的新的M位像素數(shù)據(jù)(R、G、B分量值), 同時把像素值暫存到模板最后一列W03,W13,W23,W33這4個寄存器中。如此循環(huán)下去,就如同模板順次地滑過單幀視頻圖像中的每個像素點,形成了 4x4鄰域的滑動窗口模板;(2)算法設(shè)計中為了使模板的中心處于WIl處,需要把一個行存儲器 (LineBufferO)的輸出作為整個滑動窗口形成過程的輸出。當(dāng)前時鐘內(nèi)行存儲器 LineBufferO的輸出為W13,與Wll有2個時鐘的延遲,所以需要把LineBufferO的輸出像素流緩沖兩個像素時鐘,緩沖后的像素流作為模板形成過程輸出;視頻插值放大的FPGA實現(xiàn),基于滑動窗口模板插值的像素流處理流程如圖7所示。由圖7可見,算法的執(zhí)行過程如下(1)首先從共享FWO通道中獲取分割后的視頻像素流,由于插值系統(tǒng)的時鐘為輸入時鐘的兩倍,因此在像素的獲取后,需要對像素流延遲一個空像素周期,在算法內(nèi)部通過計數(shù),每兩個時鐘周期輸出一次有效的像素數(shù)據(jù);從滑動窗口中得到計算所需要的插值數(shù)據(jù),每行像素數(shù)據(jù)移入模板中寄存器的過程,相當(dāng)于滑動窗LJ順序滑過各個像素點,同時移動模板中心點周圍的寄存器中存儲了當(dāng)前像素點(滑動窗口模板中心點 PackedData
)周圍的像素數(shù)據(jù)值;待插值點處于窗口模板的掩蓋之下,對于不同插值處理算法,可以選擇不同的相關(guān)像素點;由于插值需要實現(xiàn)2x2倍的插值放大,待插值點位置相對固定,算法設(shè)計通過LUT查表法獲得插值權(quán)重系數(shù)(由插值核函數(shù)求出)。雙立方插值從中選擇16個點作為待插值點的相關(guān)像素點,如圖8所示,選取窗口模板中心點及其周圍的15個像素點作為插值點的相關(guān)像素。(2)將插值的結(jié)果O^ckedData [o_3])并行地寫入兩組共享的行緩沖存儲(LineBuffer)中,因?qū)懭牒妥x出的行存儲器工作在異步的像素時鐘頻率下,在寫入插值數(shù)據(jù)時鐘域內(nèi),兩組行存儲器以視頻流的縱向坐標(biāo)的末位(In. YW])作為行存儲器組間的標(biāo)識,寫入插值像素值采用雙行并行寫入;在第一個時鐘內(nèi)寫入I^ackedDataW]和 PackedData[2],下一個像素時鐘內(nèi)寫入結(jié)果數(shù)據(jù)PackedData[1]和PackedData[3];在讀出插值數(shù)據(jù)時鐘域內(nèi),同樣以參考視頻流像素的縱坐標(biāo)末位(Coord. YW])作為同一組內(nèi)行存儲器的標(biāo)識,插值像素數(shù)據(jù)分主次依次從行緩沖存儲器中讀出,讀出的插值像素值融入到參考視頻像素,組成輸出的視頻流。行緩沖存儲器的數(shù)據(jù)讀寫“乒乓”操作實現(xiàn),如圖 9所示。其中,Signal FLAG為不同像素時鐘域內(nèi)共享的通信信號,用于即時控制寫入和讀出邏輯,由輸入視頻流的行同步控制信號生成。
權(quán)利要求
1.一種基于FPGA的圖像拼接處理器,其特征在于,包括一組DVI數(shù)字解碼電路、一組 FPGA數(shù)字視頻處理電路及一組輸出接口電路,其中外部數(shù)字信號與DVI數(shù)字解碼電路相連,對最小變換差分信號形式的數(shù)字視頻信號進行解碼處理,得到的視頻像素信息流直接送入FPGA數(shù)字視頻處理電路,經(jīng)過圖像處理算法后,再對信號進行編碼處理,得到最小差分信號的數(shù)字視頻信號,經(jīng)過輸出接口電路輸出到拼接墻顯示器。
2.如權(quán)利要求1所述的一種基于FPGA的圖像拼接處理器,其特征在于,所述輸出接口電路包括一組DVI數(shù)字編碼電路及一組DVI接口,所述FPGA數(shù)字視頻處理電路輸出的數(shù)字視頻信號經(jīng)過DVI數(shù)字編碼電路編碼后通過DVI接口輸出到所述拼接墻顯示器。
3.如權(quán)利要求1所述的一種基于FPGA的圖像拼接處理器,其特征在于,所述FPGA數(shù)字視頻處理電路包括視頻輸入模塊、視頻分割模塊、視頻插值模塊和視頻輸出模塊,視頻輸入模塊接收從所述DVI數(shù)字解碼電路送出的視頻像素信息流轉(zhuǎn)換成預(yù)處理的視頻像素流格式,視頻分割模塊將得到的視頻像素信息流分割裁剪,得到多路完整的子視頻像素流,并控制各路子視頻顯示的相互時序關(guān)系,視頻插值模塊對各路子視頻像素流進行MXN倍的插值放大處理,視頻輸出模塊則將放大后的各路子視頻像素流發(fā)送至所述輸出接口電路。
4.一種圖像拼接方法,其特征在于,步驟為步驟1、由視頻分割模塊對通過DVI數(shù)字解碼電路及視頻輸入模塊得到的視頻像素信息流進行分割處理,得到至少兩路具有完整視頻格式的子視頻像素流,并且輸出的至少兩路子視頻像素流具有相同的掃描規(guī)律;步驟2、基于FPGA數(shù)字視頻處理電路實現(xiàn)滑動窗口 n*n領(lǐng)域模板,其中,η ^ 2,其值與步驟1中所述的子視頻像素流的路數(shù)相同;步驟3、由FPGA數(shù)字視頻處理基于滑動窗口 η*η領(lǐng)域模板對各路子視頻像素流實現(xiàn)差值放大后輸出,通過DVI數(shù)字編碼電路編碼及DVI接口輸出到拼接墻顯示器上,拼接成一副完整的圖像。
5.如權(quán)利要求4所述的一種圖像拼接方法,其特征在于,步驟1所述得到具有相同的掃描規(guī)律的至少兩路子視頻像素流的步驟為步驟1. 1、加入一個參考視頻象素流,用于提供子視頻行、場同步控制信息;步驟1. 2、將參考視頻象素流復(fù)制成i個子視頻流,其中,i ^ 2,i的數(shù)值等于子視頻像素流的路數(shù);步驟1. 3、對每一個子視頻流的象素坐標(biāo)增加偏移量(dx,dy),使其對應(yīng)不同的顯示位置;步驟1. 4、讀取像素數(shù)據(jù),其工作在160MHz的像素時鐘頻率下,使子視頻在每Cycles個像素周期內(nèi)輸出一個有效的象素數(shù)據(jù),使有效數(shù)據(jù)的時鐘頻率與子視頻象素的頻率相同, 其中,Cycles為預(yù)設(shè)置的控制象素周期;步驟1. 5、對i路參考視頻流進行不同的延時處理,再經(jīng)過像素流融合為串行的視頻像素流,把并行像素流轉(zhuǎn)化為串行像素流,保證串行像素流讀取一幀象素的時間與輸入視頻像素流寫入一幀象素的時間是相等的。
全文摘要
本發(fā)明涉及一種基于FPGA的圖像拼接處理器,其特征在于,包括一組DVI數(shù)字解碼電路、一組FPGA數(shù)字視頻處理電路及一組輸出接口電路,其中外部數(shù)字信號與DVI數(shù)字解碼電路相連,對最小變換差分信號形式的數(shù)字視頻信號進行解碼處理,得到的視頻像素信息流直接送入FPGA數(shù)字視頻處理電路,經(jīng)過圖像處理算法后,再對信號進行編碼處理,得到最小差分信號的數(shù)字視頻信號,經(jīng)過輸出接口電路輸出到拼接墻顯示器。本發(fā)明還提供了一種基于上述系統(tǒng)的圖像拼接方法。本發(fā)明的優(yōu)點是既不受PCI總線帶寬的限制又不受采集和處理能力方面的限制。
文檔編號G09G5/14GK102376293SQ201010256898
公開日2012年3月14日 申請日期2010年8月19日 優(yōu)先權(quán)日2010年8月19日
發(fā)明者劉紅 申請人:上海濟麗信息技術(shù)有限公司