高余勝
隨著計算機(jī)技術(shù)的飛速發(fā)展越來越多的需求要軟件來實現(xiàn)視頻采集,而且也要獲得較好的圖像效果。在這種情況下,Windows平臺專門開發(fā)了滿足這種需求的信息處理和集成技術(shù),也為數(shù)字視頻信息的實時捕捉提供了多種實現(xiàn)技術(shù),其中主要有VFW技術(shù)和Directshow技術(shù)。文章將主要介紹VFW和Directshow技術(shù),并簡要介紹了運用該技術(shù)實現(xiàn)視頻捕捉的技術(shù)研究。
近年來Internet不斷發(fā)展,人們希望通過網(wǎng)絡(luò)可以傳輸更多的視頻信息或者視頻信號,而實現(xiàn)視頻傳輸?shù)暮诵膯栴}便是多媒體信息的壓縮及傳輸技術(shù)。傳統(tǒng)意義上的視頻處理系統(tǒng)以模擬設(shè)備為主,其結(jié)構(gòu)是一種單功能、單向、集總方式的信息采集系統(tǒng),因此傳統(tǒng)設(shè)備盡管發(fā)展到很高的水平,但其局限性依然存在,已無太大發(fā)展空間。面對越來越高質(zhì)量的需求,視頻字?jǐn)?shù)化的發(fā)展將是必由之路。實時數(shù)字視頻處理系統(tǒng)具有傳統(tǒng)模擬處理系統(tǒng)無法比擬的優(yōu)點,而且符合當(dāng)前字?jǐn)?shù)化、網(wǎng)絡(luò)化和智能化的發(fā)展趨勢,所以基于VFW和Directshow的視頻捕捉技術(shù)的數(shù)字視頻處理正在逐步取代傳統(tǒng)視頻處理技術(shù)并廣泛應(yīng)用于多媒體發(fā)展中。
1 VFW視頻捕捉技術(shù)
VFW(Video for Windows)即視窗操作系統(tǒng)下載視頻是Microsoft公司為適應(yīng)社會發(fā)展需求而推出的關(guān)于數(shù)字視頻的一個軟件開發(fā)包,而AVI(Audio VideoInterleave)文件標(biāo)準(zhǔn)是VFW技術(shù)的核心。VFW的優(yōu)勢在于簡單直觀,能較快捷地運用回調(diào)函數(shù)、宏等函數(shù)完成實時的視頻捕捉和單幀捕獲并提供對視頻源的控制。此外,AVICap類能直接訪問視頻緩沖區(qū),而不需要生成中間文件,實時性和效率較高。
實現(xiàn)VFW視頻捕捉技術(shù)的流程可以設(shè)計為:創(chuàng)建視頻捕獲窗口、捕獲窗口與視頻捕獲驅(qū)動鏈接、視頻捕獲參數(shù)的設(shè)置、設(shè)置捕獲窗口的顯示模式、注冊系統(tǒng)回調(diào)函數(shù)、捕獲圖像到緩存或文件并進(jìn)行相應(yīng)處理、捕獲結(jié)束。值得注意的是,VFW技術(shù)也有某些缺點:首先該技術(shù)支持的數(shù)據(jù)格式有限,只能處理AVI的文件;其次,采用VFW技術(shù)的捕獲系統(tǒng)存在通用性差、維護(hù)困難、系統(tǒng)可擴(kuò)展性差等問技術(shù)題。在網(wǎng)絡(luò)視頻會議等領(lǐng)域迅速發(fā)展的今天,VFW架構(gòu)自身固有的設(shè)計缺陷逐步顯露出來,缺少對視頻會議、電視觀賞、視頻場捕捉以及處理附加數(shù)據(jù)流如垂直消隱間隔等的關(guān)鍵功能支持。
2 Directshow視頻捕捉技術(shù)
DirectShow是微軟公司推出的新一代基于COM(Component Object Model)的流媒體處理的開發(fā)包,與DirectX開發(fā)包一起發(fā)布。DirectShow使用一種叫FilterGraph的模型來管理整個數(shù)據(jù)流的處理過程,運用DirectShow,我們可以很方便地從支持WDM驅(qū)動模型的采集卡上捕獲數(shù)據(jù),并且進(jìn)行相應(yīng)的后期處理乃至存儲到文件中。它廣泛地支持各種媒體格式,包括Asf、Avi、Mp3、Wave等,為多媒體流的捕捉和回放提供了強(qiáng)有力的支持。
DirectShow視頻捕捉技術(shù)應(yīng)主要完成的功能有:枚舉系統(tǒng)中視頻采集設(shè)備,并生成列表;調(diào)整輸圖出像的顯示參數(shù);對采集設(shè)備進(jìn)行視頻內(nèi)容的預(yù)覽;給編碼器filter提供幀圖像。Filter是Directshow技術(shù)里最基本的概念,也是該技術(shù)能夠?qū)崿F(xiàn)視頻捕捉技術(shù)的關(guān)鍵部分。按照功能大致分為三類:source Filters、Transform Filters和Renderer Filters。Filter是FilterGraph中的最小功能模塊,Direetshow使用FilterGraph來管理Filter,F(xiàn)ilteroraph是Filter的容器。SourceFilters主要負(fù)責(zé)取得數(shù)據(jù),然后將數(shù)據(jù)往下傳輸;Transform Filters主要負(fù)責(zé)數(shù)據(jù)的格式轉(zhuǎn)換、傳輸;Renderer Fihers主要負(fù)責(zé)數(shù)據(jù)的最終去向。值得注意的是,每個部分都有幾個甚至更多Filter去完成功能,各個Filter之間協(xié)同工作。除了系統(tǒng)提供的Filter外,我們可以根據(jù)自己的實際需要制定Filter,從而滿足我們的需要。
Directshow的視頻捕捉技術(shù)具有VFW不具有的優(yōu)勢:成本低,使用廉價的攝像頭和話筒設(shè)備,可以被普通用戶接;可以實現(xiàn)多種文件格式的轉(zhuǎn)換,從而滿足不同客戶的需求;此外,Directshow技術(shù)也提供了更好的視頻和音頻質(zhì)量,并可以根據(jù)用戶需要對音、視頻作出相應(yīng)調(diào)整。
3 總結(jié)
隨著視頻捕捉技術(shù)的快速發(fā)展,用戶對視頻處理技術(shù)的要求也越來越高,尤其是現(xiàn)在網(wǎng)絡(luò)技術(shù)的流行,將是該系統(tǒng)功能擴(kuò)展的很有價值的方向。在此基礎(chǔ)上,為提高視頻捕捉性能,目前大多Windows平臺下的視頻采集都采用了VFW技術(shù)作為驅(qū)動模型,并開發(fā)所需的微驅(qū)動程序。
(作者單位:沈陽大學(xué)文化傳媒學(xué)院)