irectShow 設(shè)計了 ksProxy Filter (ksProxy.ax),使用該過濾器(filter)控制硬件的驅(qū)動程序。針對攝像頭的視頻捕捉來說,DirectShow組件通過圖形過濾管理器(Filter Graph Manager)來與上層應用程序和下層的驅(qū)動進行聯(lián)系,
而上層的各種通用視頻捕捉預覽程序,如她QQ、MSN等,都是基于DirectShow開發(fā)的,因此都默認直接與DirectShow組件交換數(shù)據(jù)。
[0022]由DirectShow組件獲得的視頻數(shù)椐可以直接送入視頻應用程序中,供用戶直接控制使用。如此,視頻應用程序獲得了不經(jīng)過特效處理的攝像頭視頻數(shù)據(jù)。
[0023]為了實現(xiàn)視頻圖像的特效處理,本發(fā)明用Dll技術(shù)設(shè)計了視頻處理模塊。該視頻處理模塊從真實攝像頭系統(tǒng)的DirectShow組件讀取視頻數(shù)據(jù),進行特效處理。圖4示出視頻處理模塊的結(jié)構(gòu)。如圖4所示,視頻處理模塊包括取數(shù)單元400和特效處理單元402。取數(shù)單元400用于讀取DirectShow組件得到的視頻數(shù)據(jù),將其傳送給特效處理單元402。特效處理單元402可以是一些特效處理程序組,對圖像進行各種特效處理。特效處理的內(nèi)容可以有很多,比較簡單的例如給圖像加上相框,將圖像旋轉(zhuǎn)一定角度,對圖像進行灰度處理,改變背景顏色等等,根據(jù)需要,也可以將現(xiàn)有技術(shù)中較為復雜的圖像分析處理方法引入特效處理單元,例如可以釆用人臉檢測跟蹤算法檢測圖像中的人臉,并訓練提取面部特征,對面部特征進行定位跟蹤,對局部的面部特征進行處理等。特效處理單元402所包括的特效處理程序的功能可以根據(jù)用戶需要的圖像特效內(nèi)容來設(shè)定。
[0024]回到圖2,視頻處理模塊處理之后的圖像數(shù)據(jù)被傳送至虛擬攝像頭系統(tǒng)。
[0025]接下來,將描述虛擬攝像頭系統(tǒng)。
[0026]在虛擬攝像頭系統(tǒng)中,虛擬攝像頭模塊是在DSF構(gòu)架下通過一個軟件模塊對攝像頭的模擬而實現(xiàn)的,位于系統(tǒng)中的內(nèi)核層。視頻處理模塊和虛擬攝像頭模塊均在DSF運行支持(DSF RunTime)的平臺下運行。DSF運行支持也是通過dll實現(xiàn)。
[0027]DSF虛擬攝像頭模塊擁有與實際的視頻輸入設(shè)備完全一樣的接口和功能,因此操作系統(tǒng)中的標準組件和用戶應用程序都可以像從實際攝像頭讀取數(shù)據(jù)一樣與該虛擬攝像頭交互。這樣,驅(qū)動程序模塊就會將該虛擬攝像頭認為是真實的攝像頭,從而自動從虛擬攝像頭讀取數(shù)據(jù)。由于該虛擬攝像頭實際上并不存在,因此可以人為認定在硬件層有一個攝像頭模擬器提供了該攝像頭,以與真實攝像頭系統(tǒng)結(jié)構(gòu)相對應。
[0028]經(jīng)過虛擬攝像頭模塊處理的視頻數(shù)據(jù)送往第二驅(qū)動程序模塊。
[0029]第二驅(qū)動程序模塊開始,圖像數(shù)據(jù)的數(shù)據(jù)路徑與不進行特效處理的真實攝像頭系統(tǒng)中的數(shù)據(jù)路徑一致。也就是說,內(nèi)核層的第二驅(qū)動程序模塊從虛擬攝像頭模塊讀取數(shù)據(jù),進行格式處理;用戶模式下的第二 DirectShow組件從第二驅(qū)動程序模塊讀取數(shù)據(jù),并完成與具體應用程序的交互。
[0030]由于虛擬攝像頭提供的已經(jīng)是經(jīng)過特效處理的視頻圖像數(shù)據(jù),該圖像數(shù)據(jù)經(jīng)過第二驅(qū)動程序模塊、第二 DirectShow組件的常規(guī)處理之后直接傳送給應用程序,因此,應用程序得到的就是具有特效的視頻圖像。這樣,用戶在QQ、MSN等各種應用程序的視頻窗口中都可以直
接得到具有特效的視頻圖像。
[0031]虛擬攝像頭系統(tǒng)中的第二驅(qū)動程序模塊和第二 DirectShow組件與真實攝像頭系統(tǒng)中是一樣的,但是在DSF構(gòu)架下,兩個系統(tǒng)各自獨立地讀取和處理數(shù)據(jù),互不影響。
[0032]在整個特效視頻處理系統(tǒng)中,數(shù)據(jù)在從真實攝像頭系統(tǒng)中的第一 DirectShow組件送出之后分為兩條數(shù)據(jù)路徑,第一路徑直接指向應用程序,第二路徑經(jīng)由視頻處理模塊傳送至虛擬攝像頭系統(tǒng)。用戶可以在兩條路徑之間進行選擇。當選擇使用真實攝像頭時,則數(shù)據(jù)沿第一路徑傳送,用戶不擁有視頻特效;當選擇使用虛擬攝像頭時,數(shù)據(jù)沿第二路徑傳送,用戶使用的各種應用程序中的視頻圖像都具有特效。
[0033]以上對本發(fā)明的具體描述旨在說明具體實施方案的實現(xiàn)方式,不能理解為是對本發(fā)明的限制。本領(lǐng)域普通技術(shù)人員在本發(fā)明的教導下,可以在詳述的實施方案的基礎(chǔ)上做出各種變體,這些變體均應包含在本發(fā)明的構(gòu)思之內(nèi)。本發(fā)明所要求保護的范圍僅由所述的權(quán)利要求書進行限定。
【主權(quán)項】
1.一種圖像特效處理系統(tǒng),包括真實攝像頭系統(tǒng)、虛擬攝像頭系統(tǒng)和視頻處理模塊,其特征在于,所述真實攝像頭系統(tǒng)包括真實攝像頭、第一驅(qū)動程序模塊和第一 DirectShow組件,所述虛擬攝像頭系統(tǒng)包括利用DSF構(gòu)架模擬出的虛擬攝像頭、第二驅(qū)動程序模塊和第二 DirectShow組件,所述視頻處理模塊從第一 DirectShow組件讀取數(shù)據(jù),對數(shù)據(jù)進行特效處理,傳送給虛擬攝像頭。2.根據(jù)權(quán)利要求1所述的一種圖像特效處理系統(tǒng),其特征在于,所述視頻處理模塊位于系統(tǒng)應用層,視頻處理模塊由DSF構(gòu)架下的動態(tài)鏈接庫實現(xiàn),視頻處理模塊包括取數(shù)單元和特效處理單元,取數(shù)單元從第一 DirectShow組件讀取圖像數(shù)據(jù),特效處理單元對該圖像數(shù)據(jù)進行特效處理,傳送給虛擬攝像頭。
【專利摘要】本發(fā)明公開一種圖像特效處理系統(tǒng),包括真實攝像頭系統(tǒng)、虛擬攝像頭系統(tǒng)和視頻處理模塊,其特征在于,所述真實攝像頭系統(tǒng)包括真實攝像頭、第一驅(qū)動程序模塊和第一DirectShow組件,所述虛擬攝像頭系統(tǒng)包括利用DSF構(gòu)架模擬出的虛擬攝像頭、第二驅(qū)動程序模塊和第二DirectShow組件,所述視頻處理模塊從第一DirectShow組件讀取數(shù)據(jù),對數(shù)據(jù)進行特效處理,傳送給虛擬攝像頭。本發(fā)明視頻特效的處理獨立于真實攝像頭系統(tǒng)的數(shù)據(jù)路徑,使得系統(tǒng)更為穩(wěn)定,用戶可以在使用真實攝像頭和虛擬攝像頭之間進行選擇,來決定是否需要擁有視頻圖像特效,由此為系統(tǒng)提供了很大的靈活性。
【IPC分類】G06F9/44
【公開號】CN105302534
【申請?zhí)枴緾N201410368721
【發(fā)明人】袁博, 馮永強
【申請人】西安司坤電子科技有限公司
【公開日】2016年2月3日
【申請日】2014年7月30日