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