本發明涉及視頻拼接及顯示控制技術領域,尤其涉及一種多視頻源拼接顯示方法、一種多視頻源拼接處理裝置、一種拼接圖像接收裝置以及一種可編程邏輯器件。
背景技術:
led顯示控制系統中,視頻源主要有hdmi、dvi、displayport等。因為這些接口的輸出容量的局限性,在大顯示要求環境下,就不能獨立滿足大顯示環境的要求。例如,hdmi1.2接口最大輸出1080p60hz的圖像,dvi單通道最大輸出1080p60hz的圖像,dvi雙通道最大輸出2560*160060hz的圖像。如果現場有一個大于2560*1600的顯示屏,就只能采用視頻處理器加多個信號處理裝置才能正常顯示,而信號處理裝置典型地包括帶網口的發送卡。
現有技術中,由于網口只能帶載本發送卡的視頻源,不能跨視頻源帶載,因此導致有些分辨率圖像無法拼接顯示。
技術實現要素:
因此,本發明實施例提出一種多視頻源拼接顯示方法、一種多視頻源拼接處理裝置、一種拼接圖像接收裝置以及一種可編程邏輯器件。
一方面,提供了一種多視頻源拼接顯示方法,包括步驟:(a)接收多個視頻源;(b)對所述多個視頻源的數據按照預設的參數進行圖像拼接處理以得到拼接后圖像,所述預設參數包括:拼接后圖像的寬度和高度、每一個所述視頻源的寬度和高度以及相對于所述拼接后圖像的起始位置的偏移;(c)輸出并顯示所述拼接后圖像。
再一方面,提供了一種多視頻源拼接處理裝置,包括:多視頻源接收單元,接收多個視頻源;拼接處理單元,按照包含拼接后圖像的寬度和高度、每一個所述視頻源的寬度和高度以及相對于所述拼接后圖像的起始位置的偏移的多視頻源拼接參數對接收到的多個視頻源進行拼接處理得到拼接后圖像。
另一方面,提供了一種拼接圖像接收裝置,連接顯示屏,接收前述拼接后圖像。
又一方面,提供了一種可編程邏輯器件,包括:多個圖像輸入模塊、存儲器存取控制模塊、多個網絡輸出模塊、以及場同步信號偵測模塊;所述多個圖像數模塊分別用于接收多個相同信號格式的視頻源并通過所述存儲器存取控制模塊存儲至目標存儲器以得到拼接后圖像,所述多個網絡輸出模塊用于將所述存儲器存取控制模塊從所述目標存儲器讀出的所述拼接后圖像的數據打包輸出,所述場同步信號偵測模塊用于檢測所述多個視頻源的場同步信號是否同步并在檢測結果為不同步時生成當前無視頻的指令。
上述技術方案中的一個技術方案具有如下優點或有益效果:通過將多個視頻源接入同一個拼接處理單元例如發送卡進行無縫拼接,因而可以克服網口不能跨視頻源帶載的難題,并減少發送卡數量及降低成本。
附圖說明
為了更清楚地說明本發明實施例的技術方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
圖1為本發明第一實施例的一種視頻處理器加單個發送卡的led顯示屏控制系統架構圖;
圖2為本發明第一實施例的一種發送卡的結構示意圖;
圖3為本發明第一實施例的一種fpga的內部結構示意圖;
圖4為本發明第一實施例的一種2×2拼接方式參數圖;
圖5為本發明第二實施例的一種多視頻源拼接顯示方法的流程圖;
圖6為本發明第三實施例的一種多視頻源拼接處理裝置的模塊示意圖。
具體實施方式
下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
第一實施例
參見圖1,本發明實施例將視頻處理器進行視頻分割后輸出的四個dvi/hdmi視頻源接入同一個發送卡,此發送卡將四個輸入視頻源進行無縫拼接,之后通過多個例如16個網口把圖像發送到接收卡,從而克服了網口不能跨視頻源帶載的難題,并減少了發送卡數量,降低了成本。
具體地,如圖1所示,視頻處理器輸出多個例如四個dvi/hdmi視頻源,這些dvi/hdmi視頻源接入同一個發送卡的多個視頻輸入接口例如dvi/hdmi視頻接口,之后由發送卡通過多個例如16個網口將圖像發送到各個接收卡,接收卡處理圖像之后輸出到led顯示屏進行顯示。
參見圖2,本實施例的發送卡主要包括四個視頻輸入接口例如dvi/hdmi接口、可編程邏輯器件例如fpga、微控制器例如mcu、動態隨機存儲器例如ddr3以及多個例如16個網口;dvi/hdmi接口、mcu、ddr3和16個網口分別電連接fpga,且典型地fpga和多個網口之間通過多路網絡phy連接。四個視頻輸入接口輸入的四個視頻源圖像必須是同步的,即場同步信號vs的上升沿前后例如不相差512μs。四個輸入的視頻源接到fpga上,fpga將四個視頻源按照一維方式存入ddr3中,在ddr3中視頻源數據是連續的,即將四個視頻源進行無縫拼接,組成一幅圖像進行存儲。之后從ddr3中讀出并發送到各個網口輸出至相應的接收卡。因為此時ddr3中的圖像是拼接后的完整圖像,所以網口可以跨視頻源帶載,增加了配屏的靈活性。發送卡的四個輸入的視頻源的拼接方式有2×2、1×4、4×1等方式。
參見圖3,fpga主要功能是將四個視頻源進行拼接存儲到ddr3中,之后從ddr3中讀出數據送入各個網口。如圖3所示,圖像接收模塊1、圖像接收模塊2、圖像接收模塊3、圖像接收模塊4分別接收視頻源1、視頻源2、視頻源3、視頻源4的圖像并通過存儲器存取控制模塊存入ddr3中以實現多視頻源拼接。視頻源1、視頻源2、視頻源3、視頻源4在ddr3中的位置由mcu發送過來的多個參數決定。這些參數例如為拼接后圖像的寬度和高度(totalwidth,totalheight)、視頻源1的寬度和高度(dvi1width,dvi1height)、視頻源1相對于拼接后圖像起始位置(0,0)的偏移x/y(dvi1positonx,dvi1positiony)、視頻源2的寬度和高度(dvi2width,dvi2height)、視頻源2相對于拼接后圖像起始位置(0,0)的偏移x/y(dvi2positonx,dvi2positiony)、視頻源3的寬度和高度(dvi3width,dvi3height)、視頻源3相對于拼接后圖像起始位置(0,0)的偏移x/y(dvi3positonx,dvi3positiony)、視頻源4的寬度和高度(dvi4width,dvi4height)、視頻源4相對于拼接后圖像起始位置(0,0)的偏移x/y(dvi4positonx,dvi4positiony)。以2×2模式拼接為例,參數圖如圖5所示。
承上述,視頻源在ddr3的初始位置由totalwidth、dvipositionx(也即dvi1positionx,dvi2positionx,dvi3positionx,dvi4positionx)、dvipositiony(也即dvi1positiony,dvi2positiony,dvi3positiony,dvi4positiony)決定,具體計算如下:
計算出視頻源初始像素位置:
dvistartposinpixel=(totalwidth*dvipositiony)+dvipositionx;
計算視頻源初始ddr位置,設像素位數為24bit,ddr帶寬為512bit,并采用以下公式計算:
dvistartposinddr=(dvistartposinpixel*24)/512。
當視頻源寬度不是64的倍數時,需要在每行結束時,對于存入ddr3的數據需要采用ddrmask,以保證下一個視頻能夠正確存入ddr3以及圖像的連續性。
千兆網輸出模塊1至千兆網輸出模塊16模塊主要功能是將存儲器存取控制模塊從ddr3中讀出的圖像數據發送到各個網口以輸出至相應的接收卡。
場同步信號偵測模塊主要檢測四個視頻源的場同步信號vs是否同步,如果不同步,fpga會向接收卡發送當前無視頻的指令例如led顯示屏黑屏指令。
綜上所述,本發明第一實施例可以達成以下一個或多個有益效果:(1)可以帶載4k×2k,8k×1k等大屏幕led顯示屏;(2)發送卡多個網口可以跨視頻源數據帶載,靈活方便;(3)軟件或者硬件配置簡單,只需要多個參數就可以完成多視頻拼接;以及(4)現場只需要單個發送卡就可以完成大屏幕led顯示屏的顯示,現場設備減少、連線簡潔、成本降低。最后需要說明的是,本發明前述實施例中涉及的視頻處理器和發送卡上的dvi/hdmi接口僅為視頻接口的舉例,并非用來限制本發明;發送卡上的網口數量并不限于16個,也可以是其他數量;動態隨機存儲器并不限于ddr3,也可以是其他易失性存儲器。
第二實施例
如圖5所示,本發明第二實施例中提供的一種多視頻源拼接顯示方法,其包括以下步驟:
s51:接收多個視頻源;
s53:對所述多個視頻源的數據按照預設的參數進行圖像拼接處理以得到拼接后圖像,所述預設參數包括:拼接后圖像的寬度和高度、每一個所述視頻源的寬度和高度以及相對于所述拼接后圖像的起始位置的偏移;以及
s55:輸出并顯示所述拼接后圖像。
更具體地,本實施例的多視頻源拼接顯示方法例如應用于圖1所示的led顯示屏控制系統。相應地,在步驟s51中,例如通過發送卡的四個視頻輸入接口例如dvi/hdmi接口接收多個視頻源;在步驟s53中,例如通過圖2所示的可編程邏輯器件fpga、微控制器例如mcu和動態隨機存儲器例如ddr3來實現圖像拼接處理得到拼接后圖像,在步驟s55中,例如通過圖1所示的多個網口例如網口1-網口16輸出拼接后圖像經由接收卡送至led顯示屏。至于各個步驟s51、s53和s55的具體細節可參考前述第一實施例中結合圖1至圖4的相關描述,故在此不再贅述。
另外,本實施例的多視頻源拼接顯示方法還可以進一步包括步驟:檢測所述多個視頻源的場同步信號是否同步,并在檢測結果為不同步時輸出黑屏指令等當前無視頻的指令。
第三實施例
如圖6所示,本發明第三實施例中提供的一種多視頻源拼接處理裝置60,包括:多視頻源接收單元61和拼接處理單元63。
其中,多視頻源接收單元61用于接收多個視頻源。在一個實際應用例中,多視頻源接收單元61例如是圖1所示發送卡的四個視頻輸入接口例如dvi/hdmi接口。拼接處理單元63用于按照包含拼接后圖像的寬度和高度、每一個所述視頻源的寬度和高度以及相對于所述拼接后圖像的起始位置的偏移的多視頻源拼接參數對接收到的多個視頻源進行拼接處理得到拼接后圖像。在一個實際應用例中,拼接處理單元63包括圖2所示的可編程邏輯器件fpga、微控制器例如mcu、動態隨機存儲器例如ddr3和多個網口例如16×網口。
承上述,四個視頻輸入接口例如dvi/hdmi接口、微控制器例如mcu、動態隨機存儲器例如ddr3、網口例如16×網口分別電連接可編程邏輯器件例如fpga。其中,mcu用于設置包含拼接后圖像的寬度和高度、每一個所述視頻源的寬度和高度以及相對于所述拼接后圖像的起始位置的偏移多等視頻源拼接參數并發送給fpga,由fpga根據所述多視頻拼接參數將輸入的多個視頻源的數據存儲至ddr3以得到所述拼接后圖像并從ddr3中讀出后通過網口例如16×網口輸出。
另外,在本發明其它實施例中,還提供一種拼接圖像接收裝置,連接顯示屏例如led顯示屏且用于接收多視頻源拼接處理裝置例如60輸出的拼接后圖像。該種拼接圖像接收裝置在一個實際應用例中為圖1所示多張帶網口的接收卡。
在本申請所提供的幾個實施例中,應該理解到,所揭露的系統,裝置和方法,可以通過其它的方式實現。例如,以上所描述的裝置實施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現時可以有另外的劃分方式,例如多路單元或組件可以結合或者可以集成到另一個系統,或一些特征可以忽略,或不執行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機械或其它的形式。
所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多路網絡單元上。可以根據實際的需要選擇其中的部分或者全部單元來實現本實施例方案的目的。
另外,在本發明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以采用硬件的形式實現,也可以采用硬件加軟件功能單元的形式實現。
上述以軟件功能單元的形式實現的集成的單元,可以存儲在一個計算機可讀取存儲介質中。上述軟件功能單元存儲在一個存儲介質中,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網絡設備等)執行本發明各個實施例所述方法的部分步驟。而前述的存儲介質包括:u盤、移動硬盤、只讀存儲器(read-onlymemory,簡稱rom)、隨機存取存儲器(randomaccessmemory,簡稱ram)、磁碟或者光盤等各種可以存儲程序代碼的介質。
最后應說明的是:以上實施例僅用以說明本發明的技術方案,而非對其限制;盡管參照前述實施例對本發明進行了詳細的說明,本領域的普通技術人員應當理解:其依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分技術特征進行等同替換;而這些修改或者替換,并不使相應技術方案的本質脫離本發明各實施例技術方案的精神和范圍。