本發(fā)明涉及視頻信號處理技術(shù)領(lǐng)域,特別是涉及視頻數(shù)據(jù)拷貝、拼接方法和系統(tǒng)。
背景技術(shù):
拼接墻等大屏顯示設(shè)備已經(jīng)廣泛應(yīng)用到我們的日常生活中,比如,利用大屏顯示設(shè)備對作戰(zhàn)中心、公交管理中心、的士調(diào)試以及鐵路管理中心等場景進行監(jiān)控或者記錄,可以較大程度提高上述監(jiān)控或者記錄的效果。在大屏顯示設(shè)備進行相應(yīng)視頻(如監(jiān)控視頻或者記錄視頻)顯示的過程中,需要在大屏顯示設(shè)備的顯示屏上進行開窗處理,形成多個顯示窗口,再分別向各個顯示窗口發(fā)送拷貝至大屏顯示設(shè)備的各幀圖像數(shù)據(jù),以實現(xiàn)各幀圖像數(shù)據(jù)在相應(yīng)顯示窗口的顯示。
傳統(tǒng)方案需要在大屏處理設(shè)備對其需要顯示的視頻數(shù)據(jù)進行解碼后,分別對上述視頻數(shù)據(jù)中各幀圖像數(shù)據(jù)的每個像素點進行識別,在識別到上述像素點屬于哪個顯示窗口后,將上述像素點拷貝至相應(yīng)的顯示窗口的動態(tài)存儲空間,以使各幀圖像數(shù)據(jù)被拷貝至相應(yīng)顯示窗口對應(yīng)的動態(tài)存儲空間,拼接成完整的視頻數(shù)據(jù)進行顯示。上述分別對每個像素點進行拷貝的過程需要消耗過長的時間和大量的CPU(中央處理器)空間,影響圖像數(shù)據(jù)的拷貝效率,甚至可能使后續(xù)相應(yīng)視頻數(shù)據(jù)的拼接延時,導(dǎo)致相應(yīng)視頻數(shù)據(jù)的拼接效果差。
技術(shù)實現(xiàn)要素:
基于此,有必要針對傳統(tǒng)方案影響圖像數(shù)據(jù)的拷貝效率,甚至可能使后續(xù)視頻數(shù)據(jù)的拼接延時,導(dǎo)致拼接效果差問題,提供一種視頻數(shù)據(jù)拷貝、拼接方法和系統(tǒng)。
一種視頻數(shù)據(jù)拷貝方法,包括如下步驟:
在視頻數(shù)據(jù)解碼后,獲取控制系統(tǒng)為視頻數(shù)據(jù)分配的存儲空間的目的首地址;
獲取用于顯示視頻數(shù)據(jù)的各個顯示窗口的位置信息,根據(jù)所述位置信息確定顯示窗口的目的偏移地址,以及各個顯示窗口對應(yīng)的子偏移地址;
獲取視頻數(shù)據(jù)中當前拷貝的一幀圖像數(shù)據(jù)的像素首地址,以及所述圖像數(shù)據(jù)對應(yīng)的顯示窗口的數(shù)據(jù)長度;
根據(jù)所述目的首地址、目的偏移地址和子偏移地址將以像素首地址為起點的數(shù)據(jù)長度內(nèi)的圖像數(shù)據(jù)拷貝至控制系統(tǒng)為視頻數(shù)據(jù)分配的存儲空間。
一種視頻數(shù)據(jù)拷貝系統(tǒng),包括:
第一獲取模塊,用于在視頻數(shù)據(jù)解碼后,獲取控制系統(tǒng)為視頻數(shù)據(jù)分配的存儲空間的目的首地址;
第二獲取模塊,用于獲取用于顯示視頻數(shù)據(jù)的各個顯示窗口的位置信息,根據(jù)所述位置信息確定顯示窗口的目的偏移地址,以及各個顯示窗口對應(yīng)的子偏移地址;
第三獲取模塊,用于獲取視頻數(shù)據(jù)中當前拷貝的一幀圖像數(shù)據(jù)的像素首地址,以及所述圖像數(shù)據(jù)對應(yīng)的顯示窗口的數(shù)據(jù)長度;
拷貝模塊,用于根據(jù)所述目的首地址、目的偏移地址和子偏移地址將以像素首地址為起點的數(shù)據(jù)長度內(nèi)的圖像數(shù)據(jù)拷貝至控制系統(tǒng)為視頻數(shù)據(jù)分配的存儲空間。
上述視頻數(shù)據(jù)拷貝方法和系統(tǒng),可以在視頻數(shù)據(jù)解碼后,獲取控制系統(tǒng)為視頻數(shù)據(jù)分配的存儲空間的目的首地址、顯示窗口的目的偏移地址,以及各個顯示窗口對應(yīng)的子偏移地址;再獲取視頻數(shù)據(jù)中當前拷貝的一幀圖像數(shù)據(jù)的像素首地址,以及所述圖像數(shù)據(jù)對應(yīng)的顯示窗口的數(shù)據(jù)長度,以根據(jù)所述目的首地址、目的偏移地址和子偏移地址將以像素首地址為起點的數(shù)據(jù)長度內(nèi)的圖像數(shù)據(jù)拷貝至控制系統(tǒng)為視頻數(shù)據(jù)分配的存儲空間;有效提高了視頻數(shù)據(jù)中各幀圖像數(shù)據(jù)的拷貝效率,從而提高視頻數(shù)據(jù)的拷貝效率,還可以提高相應(yīng)視頻數(shù)據(jù)的拼接效果。
一種視頻數(shù)據(jù)拼接方法,包括如下步驟:
利用上述視頻數(shù)據(jù)拷貝方法分別將多路視頻數(shù)據(jù)拷貝至控制系統(tǒng)分配的存儲空間;
在所述存儲空間對拷貝后的多路視頻數(shù)據(jù)進行拼接。
一種視頻數(shù)據(jù)拼接系統(tǒng),包括:
多路視頻拷貝模塊,用于利用上述視頻數(shù)據(jù)拷貝系統(tǒng)分別將多路視頻數(shù)據(jù)拷貝至控制系統(tǒng)分配的存儲空間;
拼接模塊,用于在所述存儲空間對拷貝后的多路視頻數(shù)據(jù)進行拼接。
上述視頻數(shù)據(jù)拼接方法和系統(tǒng),利用具有更高效率的視頻數(shù)據(jù)拷貝方案進行視頻數(shù)據(jù)中各幀圖像數(shù)據(jù)的拷貝,有效保證了視頻數(shù)據(jù)的拷貝效率,可以避免后續(xù)視頻數(shù)據(jù)拼接過程中產(chǎn)生延時的技術(shù)問題,從而提高了視頻拼接的效果。
附圖說明
圖1為一個實施例的視頻數(shù)據(jù)拷貝方法流程圖;
圖2為一個實施例的視頻數(shù)據(jù)拷貝系統(tǒng)結(jié)構(gòu)示意圖;
圖3為一個實施例的視頻數(shù)據(jù)拼接方法流程圖;
圖4為一個實施例的視頻數(shù)據(jù)拼接系統(tǒng)結(jié)構(gòu)示意圖。
具體實施方式
下面結(jié)合附圖對本發(fā)明的視頻數(shù)據(jù)拷貝、拼接方法和系統(tǒng)的具體實施方式作詳細描述。
參考圖1,圖1所示為一個實施例的視頻數(shù)據(jù)拷貝方法流程圖,包括如下步驟:
S10,在視頻數(shù)據(jù)解碼后,獲取控制系統(tǒng)為視頻數(shù)據(jù)分配的存儲空間的目的首地址;
上述步驟中,拼接墻等大屏顯示設(shè)備的控制系統(tǒng)在對視頻數(shù)據(jù)進行解碼后,為視頻數(shù)據(jù)分配用于動態(tài)存儲解碼后的視頻數(shù)據(jù)的存儲空間??刂葡到y(tǒng)可以調(diào)用相關(guān)函數(shù)(如的首地址讀取函數(shù))對存儲空間的目的首地址進行讀取。
在一個實施例中,上述步驟S10,在視頻數(shù)據(jù)解碼后,獲取控制系統(tǒng)為視頻數(shù)據(jù)分配的存儲空間的目的首地址dstaddr的過程可以包括:
在視頻數(shù)據(jù)解碼后,調(diào)用目的首地址讀取函數(shù),利用所述目的首地址讀取函數(shù)從控制系統(tǒng)中讀取用于動態(tài)存儲視頻數(shù)據(jù)的存儲空間的首地址,得到目的首地址。
本實施例的目的首地址讀取函數(shù)可以包括mallok等可以對用于動態(tài)存儲視頻數(shù)據(jù)的存儲空間的首地址進行讀取的函數(shù),以提高上述目的首地址dstaddr的讀取效率,保證所讀取的目的首地址dstaddr的準確性。
S20,獲取用于顯示視頻數(shù)據(jù)的各個顯示窗口的位置信息,根據(jù)所述位置信息確定顯示窗口的目的偏移地址,以及各個顯示窗口對應(yīng)的子偏移地址;
在一個實施例中,上述獲取用于顯示視頻數(shù)據(jù)的各個顯示窗口的位置信息,根據(jù)所述位置信息確定顯示窗口的目的偏移地址的過程可以包括:
獲取用于顯示視頻數(shù)據(jù)的各個顯示窗口的位置信息;
在所述位置信息中選取總參考位置信息;
獲取待拷貝至存儲空間的視頻數(shù)據(jù)的YUV信息;
根據(jù)所述總參考位置信息和YUV信息確定顯示窗口的目的偏移地址。
上述顯示窗口的位置信息包括顯示窗口在顯示屏上述位置和坐標等信息??倕⒖嘉恢眯畔⒖梢詾槟硞€顯示窗口中具有代表性的某位置的位置信息,比如上述總參考位置信息為位于顯示屏左上角的顯示窗口上,左上角處的位置信息。
上述YUV信息中,“Y”表示明亮度(Luminance或Luma),也就是灰階值;而“U”和“V”表示的則是色度(Chrominance或Chroma),作用是描述影像色彩及飽和度,用于指定像素的顏色。“亮度”是透過RGB輸入信號來建立的,方法是將RGB信號的特定部分疊加到一起?!吧取眲t定義了顏色的兩個方面─色調(diào)與飽和度,分別用Cr和Cb來表示。其中,Cr反映了RGB輸入信號紅色部分與RGB信號亮度值之間的差異。而Cb反映的是RGB輸入信號藍色部分與RGB信號亮度值之間的差異。
作為一個實施例,上述子偏移地址的確定過程可以包括:
選取各個顯示窗口分別對應(yīng)的子參考位置信息;
根據(jù)所述子參考位置信息和總參考位置信息確定各個顯示窗口對應(yīng)的子偏移地址。
上述子參考位置信息與顯示窗口一一對應(yīng),子參考位置信息可以為相應(yīng)顯示窗口上的左上角處的位置信息。
S30,獲取視頻數(shù)據(jù)中當前拷貝的一幀圖像數(shù)據(jù)的像素首地址,以及所述圖像數(shù)據(jù)對應(yīng)的顯示窗口的數(shù)據(jù)長度;
上述視頻數(shù)據(jù)包括多幀圖像數(shù)據(jù),在將視頻數(shù)據(jù)拷貝至相應(yīng)存儲空間的過程中,需要依次將各幀圖像數(shù)據(jù)進行拷貝。
在一個實施例中,上述步驟S30,獲取視頻數(shù)據(jù)中當前拷貝的一幀圖像數(shù)據(jù)的像素首地址,以及所述圖像數(shù)據(jù)對應(yīng)的顯示窗口的數(shù)據(jù)長度的過程包括:
獲取當前拷貝的一幀視頻數(shù)據(jù)的像素首地址;
根據(jù)所述像素首地址查找所述視頻數(shù)據(jù)對應(yīng)的顯示窗口;
對當前拷貝的一幀視頻數(shù)據(jù)中各個像素點進行識別,獲取拷貝至所述顯示窗口的最后一個像素點對應(yīng)的像素末地址;
根據(jù)所述像素首地址和像素末地址確定顯示窗口的數(shù)據(jù)長度。
本實施例確定顯示窗口可以顯示的視頻數(shù)據(jù)的數(shù)據(jù)長度后,對于同一個視頻數(shù)據(jù),均可以使用上述數(shù)據(jù)長度進行視頻數(shù)據(jù)中各幀圖像數(shù)據(jù)的拷貝。
S40,根據(jù)所述目的首地址、目的偏移地址和子偏移地址將以像素首地址為起點的數(shù)據(jù)長度內(nèi)的圖像數(shù)據(jù)拷貝至控制系統(tǒng)為視頻數(shù)據(jù)分配的存儲空間。
在一個實施例中,上述步驟S40,根據(jù)所述目的首地址、目的偏移地址和子偏移地址將以像素首地址為起點的數(shù)據(jù)長度內(nèi)的圖像數(shù)據(jù)拷貝至控制系統(tǒng)為視頻數(shù)據(jù)分配的存儲空間的過程可以包括:
調(diào)用控制系統(tǒng)中的內(nèi)存拷貝函數(shù);
將所述目的首地址、目的偏移地址、子偏移地址、像素首地址和數(shù)據(jù)長度代入所述內(nèi)存拷貝函數(shù),使以像素首地址為起點的數(shù)據(jù)長度內(nèi)的圖像數(shù)據(jù)拷貝至存儲空間。
上述內(nèi)存拷貝函數(shù)可以包括memcpy;將所述目的首地址、目的偏移地址、子偏移地址、像素首地址和數(shù)據(jù)長度代入所述內(nèi)存拷貝函數(shù),即執(zhí)行memcpy(dstaddr+dstoffset,srcaddr+srcoffset,length),使以像素首地址為起點的數(shù)據(jù)長度內(nèi)的圖像數(shù)據(jù)拷貝至存儲空間。dstaddr為目的首地址,dstoffset為像素首地址(當前拷貝的一幀圖像數(shù)據(jù)的首地址),srcaddr為目的偏移地址,srcoffset為子偏移地址。
上述視頻數(shù)據(jù)拷貝方法中,針對拼接墻等大屏顯示設(shè)備的窗口位置很少移動的特點,每一次拷貝,只需要改變Dstaddr和srcaddr即可,拷貝表中dstoffset和srcoffset和length都不會變。從一開始就分析和記錄上述保持不變的項,接下來的疊加只需要根據(jù)上述記錄的項進行拷貝便可以實現(xiàn)整個視頻數(shù)據(jù)的拷貝,進行后續(xù)視頻數(shù)據(jù)的疊加或者拼接等處理。上述Dstaddr和srcaddr等參數(shù)是分配內(nèi)存時返回的,可以由控制系統(tǒng)的系統(tǒng)函數(shù)提供。
本發(fā)明提供的視頻數(shù)據(jù)拷貝方法,可以在視頻數(shù)據(jù)解碼后,獲取控制系統(tǒng)為視頻數(shù)據(jù)分配的存儲空間的目的首地址、顯示窗口的目的偏移地址,以及各個顯示窗口對應(yīng)的子偏移地址;再獲取視頻數(shù)據(jù)中當前拷貝的一幀圖像數(shù)據(jù)的像素首地址,以及所述圖像數(shù)據(jù)對應(yīng)的顯示窗口的數(shù)據(jù)長度,以根據(jù)所述目的首地址、目的偏移地址和子偏移地址將以像素首地址為起點的數(shù)據(jù)長度內(nèi)的圖像數(shù)據(jù)拷貝至控制系統(tǒng)為視頻數(shù)據(jù)分配的存儲空間;有效提高了視頻數(shù)據(jù)中各幀圖像數(shù)據(jù)的拷貝效率,從而提高視頻數(shù)據(jù)的拷貝效率,還可以提高相應(yīng)視頻數(shù)據(jù)的拼接效果。
參考圖2所示,圖2為一個實施例的視頻數(shù)據(jù)拷貝系統(tǒng)結(jié)構(gòu)示意圖,包括:
第一獲取模塊10,用于在視頻數(shù)據(jù)解碼后,獲取控制系統(tǒng)為視頻數(shù)據(jù)分配的存儲空間的目的首地址;
第二獲取模塊20,用于獲取用于顯示視頻數(shù)據(jù)的各個顯示窗口的位置信息,根據(jù)所述位置信息確定顯示窗口的目的偏移地址,以及各個顯示窗口對應(yīng)的子偏移地址;
第三獲取模塊30,用于獲取視頻數(shù)據(jù)中當前拷貝的一幀圖像數(shù)據(jù)的像素首地址,以及所述圖像數(shù)據(jù)對應(yīng)的顯示窗口的數(shù)據(jù)長度;
拷貝模塊40,用于根據(jù)所述目的首地址、目的偏移地址和子偏移地址將以像素首地址為起點的數(shù)據(jù)長度內(nèi)的圖像數(shù)據(jù)拷貝至控制系統(tǒng)為視頻數(shù)據(jù)分配的存儲空間。
在一個實施例中,上述第一獲取模塊可以進一步用于:
在視頻數(shù)據(jù)解碼后,調(diào)用目的首地址讀取函數(shù),利用所述目的首地址讀取函數(shù)從控制系統(tǒng)中讀取用于動態(tài)存儲視頻數(shù)據(jù)的存儲空間的首地址,得到目的首地址。
本發(fā)明提供的視頻數(shù)據(jù)拷貝系統(tǒng)與本發(fā)明提供的視頻數(shù)據(jù)拷貝方法一一對應(yīng),在所述視頻數(shù)據(jù)拷貝方法的實施例闡述的技術(shù)特征及其有益效果均適用于視頻數(shù)據(jù)拷貝系統(tǒng)的實施例中,特此聲明。
參考圖3,圖3所示為一個實施例的視頻數(shù)據(jù)拼接方法流程圖,包括如下步驟:
S80,利用上述視頻數(shù)據(jù)拷貝方法分別將多路視頻數(shù)據(jù)拷貝至控制系統(tǒng)分配的存儲空間;
S90,在所述存儲空間對拷貝后的多路視頻數(shù)據(jù)進行拼接。
本實施例提供的視頻數(shù)據(jù)拼接方法,利用具有更高效率的視頻數(shù)據(jù)拷貝方案進行視頻數(shù)據(jù)中各幀圖像數(shù)據(jù)的拷貝,有效保證了視頻數(shù)據(jù)的拷貝效率,可以避免后續(xù)視頻數(shù)據(jù)拼接過程中產(chǎn)生延時的技術(shù)問題,從而提高了視頻拼接的效果。
參考圖4,圖4所示為一個實施例的視頻數(shù)據(jù)拼接系統(tǒng)結(jié)構(gòu)示意圖,包括:
多路視頻拷貝模塊70,用于利用上述視頻數(shù)據(jù)拷貝系統(tǒng)分別將多路視頻數(shù)據(jù)拷貝至控制系統(tǒng)分配的存儲空間;
拼接模塊80,用于在所述存儲空間對拷貝后的多路視頻數(shù)據(jù)進行拼接。
本發(fā)明提供的視頻數(shù)據(jù)拼接系統(tǒng)與本發(fā)明提供的視頻數(shù)據(jù)拼接方法一一對應(yīng),在所述視頻數(shù)據(jù)拼接方法的實施例闡述的技術(shù)特征及其有益效果均適用于視頻數(shù)據(jù)拼接系統(tǒng)的實施例中,特此聲明。
以上所述實施例的各技術(shù)特征可以進行任意的組合,為使描述簡潔,未對上述實施例中的各個技術(shù)特征所有可能的組合都進行描述,然而,只要這些技術(shù)特征的組合不存在矛盾,都應(yīng)當認為是本說明書記載的范圍。
以上所述實施例僅表達了本發(fā)明的幾種實施方式,其描述較為具體和詳細,但并不能因此而理解為對發(fā)明專利范圍的限制。應(yīng)當指出的是,對于本領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進,這些都屬于本發(fā)明的保護范圍。因此,本發(fā)明專利的保護范圍應(yīng)以所附權(quán)利要求為準。