一種圖像特效處理系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種圖像特效處理系統(tǒng)。
【背景技術(shù)】
[0002]計(jì)算機(jī)系統(tǒng)的應(yīng)用已經(jīng)越來越廣泛,功能越來越全面。通用USB接口使得計(jì)算機(jī)(PC)可以外接多種硬件,進(jìn)一步擴(kuò)展PC的功能,滿足用戶的多種需求。其中,攝像頭作為人們常用的外接硬件之一,在多種應(yīng)用程序,如QQ,MSN中得到直接的應(yīng)用。攝像頭所攝取的圖像往往需要進(jìn)行進(jìn)一步處理,擴(kuò)展其功能。
[0003]圖1是一種現(xiàn)有技術(shù)的對(duì)攝像頭的視頻圖像進(jìn)行特效處理的系統(tǒng)和方法。如圖1所示在圖1中,系統(tǒng)分為硬件、內(nèi)核層、應(yīng)用層。攝像頭作為外接硬件,通過通用USB接口與系統(tǒng)相連,系統(tǒng)通過內(nèi)核層中的USB驅(qū)動(dòng)、攝像頭驅(qū)動(dòng)來讀取攝取的圖像。然后,由內(nèi)核層中的過濾層驅(qū)動(dòng)(filter driver)對(duì)視頻圖像進(jìn)行特效處理。通過該過濾層驅(qū)動(dòng),可以對(duì)視頻圖像進(jìn)行各種特效處理,如加入相框,調(diào)整背景色,視頻跟蹤等。最后,經(jīng)過特效處理后的視頻圖像經(jīng)組件傳送給應(yīng)用層的各種視頻應(yīng)用程序,如視頻捕捉程序、視頻聊天軟件等。
[0004]但是,在內(nèi)核層進(jìn)行攝像頭的視頻圖像特效處理對(duì)于系統(tǒng)的穩(wěn)定有潛在的風(fēng)險(xiǎn)。并且,由于過濾層驅(qū)動(dòng)設(shè)置在唯一的數(shù)據(jù)路徑之中,因此只要用戶選中了使用攝像頭,不管他是否期望擁有特效,是否選擇進(jìn)行特效處理,過濾層驅(qū)動(dòng)都會(huì)一直在內(nèi)存中加載,占用系統(tǒng)資源。因此,以過濾層驅(qū)動(dòng)的方式進(jìn)行特效處理,風(fēng)險(xiǎn)很大而靈活度很低,具有明顯的不足。
【發(fā)明內(nèi)容】
[0005]為解決上述現(xiàn)有的缺點(diǎn),本發(fā)明的主要目的在于提供一種實(shí)用的圖像特效處理系統(tǒng),視頻特效的處理獨(dú)立于真實(shí)攝像頭系統(tǒng)的數(shù)據(jù)路徑,使得系統(tǒng)更為穩(wěn)定,同時(shí)還為系統(tǒng)提供了很大的靈活性。
[0006]為達(dá)成以上所述的目的,本發(fā)明的一種圖像特效處理系統(tǒng)采取如下技術(shù)方案: 一種圖像特效處理系統(tǒng),包括真實(shí)攝像頭系統(tǒng)、虛擬攝像頭系統(tǒng)和視頻處理模塊,其特征在于,所述真實(shí)攝像頭系統(tǒng)包括真實(shí)攝像頭、第一驅(qū)動(dòng)程序模塊和第一 DirectShow組件,所述虛擬攝像頭系統(tǒng)包括利用DSF構(gòu)架模擬出的虛擬攝像頭、第二驅(qū)動(dòng)程序模塊和第二 DirectShow組件,所述視頻處理模塊從第一 DirectShow組件讀取數(shù)據(jù),對(duì)數(shù)據(jù)進(jìn)行特效處理,傳送給虛擬攝像頭。
[0007]所述視頻處理模塊位于系統(tǒng)應(yīng)用層,視頻處理模塊由DSF構(gòu)架下的動(dòng)態(tài)鏈接庫實(shí)現(xiàn),視頻處理模塊包括取數(shù)單元和特效處理單元,取數(shù)單元從第一 DirectShow組件讀取圖像數(shù)據(jù),特效處理單元對(duì)該圖像數(shù)據(jù)進(jìn)行特效處理,傳送給虛擬攝像頭。
[0008]所述第一驅(qū)動(dòng)程序模塊、第一 DirectShow組件、第二驅(qū)動(dòng)程序模塊和第二DirectShow組件為windows系統(tǒng)標(biāo)準(zhǔn)組件。
[0009]采用如上技術(shù)方案的本發(fā)明,具有如下有益效果: 視頻特效的處理獨(dú)立于真實(shí)攝像頭系統(tǒng)的數(shù)據(jù)路徑,使得系統(tǒng)更為穩(wěn)定。用戶可以在使用真實(shí)攝像頭和虛擬攝像頭之間進(jìn)行選擇,來決定是否需要擁有視頻圖像特效,由此為系統(tǒng)提供了很大的靈活性。
【附圖說明】
[0010]圖1是現(xiàn)有技術(shù)的視頻特效處理系統(tǒng)。
[0011]圖2是本發(fā)明系統(tǒng)結(jié)構(gòu)的示意圖。
[0012]圖3是驅(qū)動(dòng)程序模塊的結(jié)構(gòu)圖。
[0013]圖4是視頻處理模塊的結(jié)構(gòu)圖。
【具體實(shí)施方式】
[0014]為了進(jìn)一步說明本發(fā)明,下面結(jié)合附圖進(jìn)一步進(jìn)行說明:
本發(fā)明利用設(shè)備模擬開發(fā)構(gòu)架DSF(Device Simulat1n Framework)技術(shù)提供一種全新的圖像特效處理系統(tǒng)。DSF是微軟新推出的設(shè)備模擬開發(fā)構(gòu)架,它提供了一個(gè)用軟件在Windows系統(tǒng)里模擬硬件設(shè)備的體系?,F(xiàn)有技術(shù)中利用DSF已經(jīng)可以實(shí)現(xiàn)多種硬件設(shè)備的軟件模擬,如虛擬USB鍵盤、虛擬USB攝像頭等。
[0015]圖2為本發(fā)明視頻特效處理系統(tǒng)結(jié)構(gòu)的示意圖。如圖2所示,整個(gè)系統(tǒng)在縱向上用虛線分為硬件層、內(nèi)核層和應(yīng)用層,應(yīng)用層又分為用戶層面和應(yīng)用程序?qū)用妗T跈M向上,系統(tǒng)被分為真實(shí)攝像頭系統(tǒng)、虛擬攝像頭系統(tǒng)和它們之間的DSF動(dòng)態(tài)鏈接庫(dynamic linklibrary,dull)系統(tǒng)。系統(tǒng)中各模塊/組件/程序之間用箭頭相連,表示圖像數(shù)據(jù)的數(shù)據(jù)路徑及其方向。
[0016]首先,描述真實(shí)攝像頭系統(tǒng)。
[0017]攝像頭是計(jì)算機(jī)系統(tǒng)的外接硬件,位于系統(tǒng)中的硬件層,為整個(gè)視頻特效處理系統(tǒng)提供原始的圖像數(shù)據(jù)。攝像頭可以通過1138或其他通用接口接入系統(tǒng)后。
[0018]第一驅(qū)動(dòng)程序模塊位于系統(tǒng)的內(nèi)核層,用于從攝像頭讀取數(shù)據(jù),進(jìn)行格式處理。圖3示出驅(qū)動(dòng)程序模塊的結(jié)構(gòu)。如圖3所示,驅(qū)動(dòng)程序模塊包括接口驅(qū)動(dòng)300和攝像頭系統(tǒng)文件302。其中,接口驅(qū)動(dòng)300用于控制接口的數(shù)據(jù)讀取和交換。經(jīng)由該接口的數(shù)據(jù)被接口驅(qū)動(dòng)300讀取之后,由攝像頭系統(tǒng)文件302進(jìn)行識(shí)別、格式處理。在一個(gè)實(shí)施方案中,攝像頭是通過通用USB接口接入系統(tǒng)的,相應(yīng)地,所述接口驅(qū)動(dòng)300是USB驅(qū)動(dòng)。攝像頭系統(tǒng)文件主要包括Windows系統(tǒng)自帶的USB Video Class設(shè)備類通用驅(qū)動(dòng)程序usbvide0.sys或申請(qǐng)人自己研發(fā)的Camera驅(qū)動(dòng)程序VMcam。sys等常規(guī)攝像頭驅(qū)動(dòng)程序文件。通用接口驅(qū)動(dòng)和攝像頭系統(tǒng)文件已經(jīng)預(yù)先安裝在Windows系統(tǒng)中。
[0019]回到圖2,視頻數(shù)據(jù)經(jīng)由驅(qū)動(dòng)程序模塊讀取處理之后,通過DirectShow組件與應(yīng)用程序?qū)崿F(xiàn)交互。
[0020]DirectShow是微軟公司提供的一套在Windows平臺(tái)上進(jìn)行流媒體處理的開發(fā)包,為多媒體流的捕捉和回放提供支持。為了系統(tǒng)的穩(wěn)定性,Windows操作系統(tǒng)對(duì)硬件操作進(jìn)行了隔離,應(yīng)用程序一般不能直接訪問硬件,而DirectShow組件的設(shè)計(jì)正是為應(yīng)用程序提供了一套統(tǒng)一的應(yīng)用程序接口,來實(shí)現(xiàn)與內(nèi)核層的交互。運(yùn)用DirectShow,就可以很方便地從卯從驅(qū)動(dòng)的硬件上捕獲數(shù)據(jù),進(jìn)行相應(yīng)處理乃至存儲(chǔ)到文件中。
[0021]DirectShow組件工作于應(yīng)用層的用戶模式下,為硬件設(shè)計(jì)了包裝過濾器(filter),來實(shí)現(xiàn)與硬件驅(qū)動(dòng)程序的交互。具體來說,對(duì)于釆用WDM驅(qū)動(dòng)程序的硬件,包括攝像頭 D