亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        Windows平臺(tái)下DVB-C接收端應(yīng)用程序的設(shè)計(jì)與實(shí)現(xiàn)

        2012-03-15 01:23:14于鴻洋
        電視技術(shù) 2012年10期
        關(guān)鍵詞:過濾器應(yīng)用程序組件

        左 義,于鴻洋,張 萍

        (電子科技大學(xué) 電子科學(xué)技術(shù)研究院,四川 成都 611731)

        在三網(wǎng)融合[1]的背景下,PC客戶端支持接收數(shù)字電視信號(hào)已成為一種趨勢。與傳統(tǒng)的模擬電視相比,數(shù)字電視由于利用了現(xiàn)代信號(hào)處理中的壓縮編碼技術(shù),使得電視信號(hào)在傳輸過程中不僅不易受到干擾,而且可有效降低帶寬,并能提供高質(zhì)量的電視畫面。數(shù)字電視按照信號(hào)的傳輸方式可以分為地面無線傳輸數(shù)字電視、衛(wèi)星傳輸數(shù)字電視、有線傳輸數(shù)字電視3類,為了提供對(duì)PC用戶數(shù)字電視信號(hào)的接收,微軟為Windows操作系統(tǒng)支持?jǐn)?shù)字電視接收應(yīng)用定義了一套組件框架——廣播驅(qū)動(dòng)架構(gòu)[2-3](Broadcast Driver Architecture,BDA),使用該框架,硬件制造商不需要為自己的硬件編寫復(fù)雜的驅(qū)動(dòng)程序,而軟件開發(fā)人員也不需要涉及繁瑣的底層操作,這樣不僅可以減少軟硬件開發(fā)成本,而且具有良好的可擴(kuò)展性。

        1 DirectShow簡介

        由于流媒體應(yīng)用廣泛,流媒體數(shù)據(jù)本身的處理又是相當(dāng)復(fù)雜,所以就需要尋找一種簡單而有效的處理流媒體數(shù)據(jù)的方法,為此,選擇一個(gè)技術(shù)成熟并且高效的平臺(tái)處理流媒體數(shù)據(jù)顯得尤為重要,微軟的DirectShow[4]架構(gòu)即屬于這樣一個(gè)平臺(tái)。基于這個(gè)平臺(tái),在開發(fā)流媒體應(yīng)用程序的時(shí)候,無須考慮硬件差異等問題帶來的不便,底層交互完全由DirectShow完成,應(yīng)用程序要做的就是和DirectShow框架交互信息?;趶V播驅(qū)動(dòng)架構(gòu)的數(shù)字電視接收應(yīng)用程序則亦是構(gòu)建在DirectShow的基礎(chǔ)之上。

        利用DirectShow系統(tǒng)處理流媒體數(shù)據(jù)的過程如圖1所示,它位于應(yīng)用層,可以看到實(shí)際處理數(shù)據(jù)時(shí)并不是直接處理,而是分模塊處理數(shù)據(jù),每一個(gè)模塊都擔(dān)任不同的角色,這樣的模塊在DirectShow中被稱作過濾器(Filter)。

        圖1 DirectShow應(yīng)用框架

        圖1中過濾器圖表管理器組件管理著過濾器圖表(Filter Graph)中各個(gè)Filter的工作,并負(fù)責(zé)和應(yīng)用程序的事件交互。分別處理數(shù)據(jù)的Filter在DirectShow中可以分為3類:

        1)源過濾器(Source Filter),主要負(fù)責(zé)數(shù)據(jù)的獲取,有推和拉兩種工作模式;

        2)轉(zhuǎn)換過濾器(Transform Filter),主要負(fù)責(zé)數(shù)據(jù)的轉(zhuǎn)換,如數(shù)據(jù)解碼等;

        3)提交過濾器,主要負(fù)責(zé)數(shù)據(jù)最終去向,如播放或?qū)懭胛募取?/p>

        2 廣播驅(qū)動(dòng)架構(gòu)(BDA)

        2.1 廣播驅(qū)動(dòng)架構(gòu)概述

        微軟廣播驅(qū)動(dòng)架構(gòu)定義了一種支持各種用于接收數(shù)字信號(hào)的組件拓?fù)浣Y(jié)構(gòu)的框架,包括用于網(wǎng)絡(luò)配置和控制的軟件組件、解復(fù)用、表分析以及IP數(shù)據(jù)傳遞以適應(yīng)包括DVB和ATSC在內(nèi)的主流數(shù)字電視標(biāo)準(zhǔn)。

        BDA的微型驅(qū)動(dòng)程序(minidriver)是AVStream minidriver的一種特殊類型(如圖2所示),是BDA架構(gòu)的一部分,AVStream是一款微軟提供的多媒體類

        驅(qū)動(dòng)程序,用來處理許多和操作系統(tǒng)進(jìn)行交互的細(xì)節(jié)。BDA minidriver直接與數(shù)字電視接收硬件進(jìn)行交互,功能主要有調(diào)諧與解調(diào)數(shù)字信號(hào)、捕獲數(shù)字信號(hào)的幀、分離音視頻數(shù)據(jù)流等。

        圖2 BDA minidriver結(jié)構(gòu)

        圖2中,BDA minidriver由硬件廠商編寫,BDA support library被包含在WDK(Windows Driver Kit)中,它可以簡化BDA minidriver的編寫。數(shù)字調(diào)諧Tuner與Capture總是由硬件實(shí)現(xiàn)的,其過濾器組件會(huì)被DirectShow中的ksproxy.ax過濾器組件包裝成和硬件相關(guān)的BDA設(shè)備過濾器組件并在DirectShow中可見。

        2.2 廣播接收拓?fù)?/h3>

        由于網(wǎng)絡(luò)結(jié)構(gòu)或者硬件差異性,為了能構(gòu)造出統(tǒng)一的接收數(shù)字電視信號(hào)框架,BDA架構(gòu)引入了功能拓?fù)涞母拍睿ㄈ鐖D3所示)。功能拓?fù)鋵⒔邮諗?shù)字信號(hào)的過程抽象成了一系列被稱為控制節(jié)點(diǎn)(Control node)相互之間協(xié)作的過程,功能節(jié)點(diǎn)之間相互獨(dú)立但相互聯(lián)系,每一個(gè)控制節(jié)點(diǎn)都完成一個(gè)特定的功能,同一個(gè)功能拓?fù)洌瑢⒂锌赡軐?dǎo)致不同的過濾器圖表布局,這取決于安裝在計(jì)算機(jī)上的不同硬件和軟件。這個(gè)接收拓?fù)涞闹饕δ苡姓{(diào)諧、解調(diào)、捕獲、解復(fù)用數(shù)字廣播信號(hào),獲得節(jié)目相關(guān)信息并獲得音視頻數(shù)據(jù)等。

        在圖3中,Network Provider是功能拓?fù)鋱D的第一個(gè)節(jié)點(diǎn),通常它表現(xiàn)為一個(gè)單獨(dú)的Filter,在Filter Graph中充當(dāng)著管理者以及應(yīng)用程序接口的角色,它負(fù)責(zé)數(shù)字電視信號(hào)進(jìn)入并且通過BDA設(shè)備。相對(duì)于DirectShow框架來看,Network Provider在這里充當(dāng)著源過濾器的角色,但事實(shí)上并沒有真正的數(shù)據(jù)通過。

        圖3 數(shù)字廣播接收控制節(jié)點(diǎn)的功能拓?fù)?/p>

        當(dāng)需要調(diào)諧到某一個(gè)頻率點(diǎn)上接收相應(yīng)的節(jié)目時(shí),需要將頻率信息傳入到調(diào)諧器(Tuner)以控制硬件調(diào)諧,但由于應(yīng)用程序不能直接操作硬件,這時(shí)就需要Network Provider的存在,上層應(yīng)用程序通過Network Provider提供的一個(gè)ITuner接口把調(diào)諧請(qǐng)求發(fā)送給Network Provider,接著它將這個(gè)調(diào)諧請(qǐng)求傳遞給BDA minidriver,由微型驅(qū)動(dòng)程序與硬件交互完成數(shù)字調(diào)諧。

        圖3中,RF輸入可以來自于有線、衛(wèi)星、地面無線傳輸,經(jīng)解調(diào)(Demodulator)之后傳送至 Capture Filter,MPEG-2 Demultiplexer Filter負(fù)責(zé)TS流的解復(fù)用,其中的PID Filter表示過濾固定PID的TS包過濾器。

        3 BDA應(yīng)用程序的設(shè)計(jì)與實(shí)現(xiàn)

        3.1 有線數(shù)字電視調(diào)諧接收過程

        應(yīng)用程序需要控制硬件的調(diào)諧,以便收看對(duì)應(yīng)頻點(diǎn)上的節(jié)目,具體應(yīng)用過程如下。

        1)創(chuàng)建調(diào)諧請(qǐng)求

        微軟推薦的取得調(diào)諧請(qǐng)求的方式是從已建立的調(diào)諧空間向?qū)欤╓indows XP下目錄為HKEY_LOCAL_MACHINESOFTWAREMicrosoftTuning Spaces)中取得一個(gè)調(diào)諧請(qǐng)求,另外還可以自己創(chuàng)建調(diào)諧空間[1],取得調(diào)諧請(qǐng)求。

        2)創(chuàng)建Network Provider

        調(diào)諧空間向?qū)熘邪艘唤M調(diào)諧空間,每一個(gè)調(diào)諧空間代表著一個(gè)不同的網(wǎng)絡(luò)類型(ATSC,DVB-C,DVB-T,DVB-S等),取得一個(gè)固定的調(diào)諧空間后,就可以通過其提供的get__NetworkType方法取得網(wǎng)絡(luò)類型唯一標(biāo)識(shí),再經(jīng)由CoCreateInstance方法就可創(chuàng)建Network Provider Filter。

        3)信號(hào)定位

        上面已提到Network Provider提供了一個(gè)ITuner接口給上層應(yīng)用,在創(chuàng)建了Network Provider Filter之后就可以將調(diào)諧請(qǐng)求通過該接口發(fā)送給它,在收到調(diào)諧請(qǐng)求之后,Network Provider Filter首先把調(diào)諧請(qǐng)求傳遞給Filter Graph 中 的 Transport Information Filter(TIF)(如 圖 3 所示),接著TIF填充調(diào)諧器Tuner對(duì)信號(hào)定位所需的如載波頻率等相關(guān)信息。之后Network Provider Filter要求BDA Tuner調(diào)諧到相應(yīng)的頻率點(diǎn)上,并設(shè)置相應(yīng)參數(shù)給調(diào)諧器,在Tuner調(diào)諧到正確頻點(diǎn)并當(dāng)信號(hào)解調(diào)之后,就將信號(hào)轉(zhuǎn)發(fā)給BDA Capture Filter(如圖3所示),該過濾器負(fù)責(zé)從硬件讀取數(shù)據(jù)并向后傳送數(shù)字化的TS碼流至MPEG-2 Demultiplexer解復(fù)用過濾器。

        3.2 實(shí)現(xiàn)過程

        在開發(fā)應(yīng)用程序之前,首先正確安裝數(shù)字電視接收卡并加載其驅(qū)動(dòng)搭建硬件環(huán)境,如果正確安裝,打開GraphEdit,Tuner Filter和 Capture Filter就會(huì)出現(xiàn)在BDA源過濾器(BDA Source Filters)和BDA接收組件(BDA Receiver Components)目錄中。應(yīng)用程序設(shè)計(jì)的流程如圖4所示。

        圖4 應(yīng)用程序?qū)崿F(xiàn)流程

        圖4中,加載的 BDA Tuner Filter,BDA Capture Filter,Transport Information Filter的目錄ID依次為KSCATEGORY_BDA_NETWORK_TUNER,KSCATEGORY_BDA_-RECEIVER_COMPONENT,KSCATEGORY_BDA_TRAN SPORT_INFO-RMATION,應(yīng)用程序正常運(yùn)行時(shí),可隨時(shí)向Network Provider過濾器提交一個(gè)新的調(diào)諧請(qǐng)求,因此當(dāng)用戶需要觀看另一個(gè)頻率點(diǎn)上的節(jié)目時(shí),就可以在保持Graph運(yùn)行狀態(tài)情況下,重新提交新的調(diào)諧請(qǐng)求,只要獲取想要觀看節(jié)目的PSI[5]信息,然后將音視頻的PID映射到MPEG-2 Demultiplexer Filter上,即可正常播放。

        3.3 系統(tǒng)測試

        該系統(tǒng)在局域網(wǎng)下進(jìn)行測試,通過流媒體服務(wù)器復(fù)用TS流經(jīng)過千兆交換機(jī)發(fā)送到IPQAM的數(shù)據(jù)端口上,配置好搭載信號(hào)的頻點(diǎn)后,通過調(diào)制器的RF輸出,經(jīng)由有線電視分支器傳送到多個(gè)客戶端,在客戶端采用的電視接收設(shè)備是Conexant公司的CX23102芯片,軟件開發(fā)平臺(tái)為Windows XP SP3,Visual Studio 2005,DirectX SDK 9.0b,采用第三方音視頻解碼器,經(jīng)測試播放穩(wěn)定、流暢。在GraphEdit中查看得到的Filter Graph如圖5所示。

        4 結(jié)語

        本文較為詳細(xì)地分析了微軟電視技術(shù)的廣播驅(qū)動(dòng)架構(gòu),并在此基礎(chǔ)上給出了在Windows XP平臺(tái)下有線數(shù)字電視的完整接收過程,借助于Conaxent公司的USB接口的數(shù)字電視接收設(shè)備,可以實(shí)現(xiàn)在PC機(jī)上觀看流暢的有線數(shù)字電視節(jié)目。

        [1]周師亮.三網(wǎng)融合的前景[J].電視技術(shù),2011,35(16):15-16.

        [2]肜云.一種USB前端接收的PCTV技術(shù)研究與實(shí)現(xiàn)[D].武漢:華中科技大學(xué),2007.

        [3]張勇.基于微軟廣播驅(qū)動(dòng)體系的數(shù)字電視技術(shù)及其應(yīng)用程序的設(shè)計(jì)[J].現(xiàn)代電視技術(shù),2005(10):78-83.

        [4]陸其明.DirectShow開發(fā)指南[M].北京:清華大學(xué)出版社,2003.

        [5]方濤.數(shù)字電視業(yè)務(wù)信息及其編碼[M].北京:國防工業(yè)出版社,2003.

        猜你喜歡
        過濾器應(yīng)用程序組件
        無人機(jī)智能巡檢在光伏電站組件診斷中的應(yīng)用
        能源工程(2022年2期)2022-05-23 13:51:50
        新型碎邊剪刀盤組件
        U盾外殼組件注塑模具設(shè)計(jì)
        刪除Win10中自帶的應(yīng)用程序
        支持過濾器的REST模型研究與實(shí)現(xiàn)
        電子測試(2018年9期)2018-06-26 06:45:56
        聲音過濾器
        趣味(語文)(2018年2期)2018-05-26 09:17:55
        風(fēng)起新一代光伏組件膜層:SSG納米自清潔膜層
        太陽能(2015年11期)2015-04-10 12:53:04
        基于LOGO!的空氣過濾器自潔控制系統(tǒng)
        HVM膜過濾器管板改造總結(jié)
        中國氯堿(2014年11期)2014-02-28 01:05:07
        關(guān)閉應(yīng)用程序更新提醒
        電腦迷(2012年15期)2012-04-29 17:09:47
        精品国产精品久久一区免费| 日躁夜躁狠狠躁2001| 国产精自产拍久久久久久蜜| 国产av综合一区二区三区最新| 日韩少妇高潮在线视频| 国产成人亚洲精品91专区高清| 亚洲午夜无码毛片av久久| 久久国产精品99精品国产| 人人妻人人爽人人做夜欢视频九色| 亚洲VR永久无码一区| 国产亚洲av一线观看| 国产在线视频一区二区天美蜜桃| 中文字幕人妻熟在线影院| 国产精品99久久久久久宅男| 美女极度色诱视频国产免费 | 国产av自拍在线观看| 漂亮丰满人妻被中出中文字幕| 久久国产精品偷任你爽任你 | 午夜福利理论片在线观看播放| 人妻 色综合网站| 天天影视色香欲综合久久| 久久青青草视频免费观看| 亚洲女同系列在线观看| 在线中文字幕乱码英文字幕正常 | 亚洲精品字幕在线观看| 亚州AV成人无码久久精品| 在线观看视频国产一区二区三区| 一个人看的视频在线观看| 日韩吃奶摸下aa片免费观看| 国产哟交泬泬视频在线播放| 一本色道亚州综合久久精品| 日本免费在线不卡一区二区| 国产成人精品午夜视频| 五月天激情小说| 亚洲伊人成综合人影院| 久久国产精品婷婷激情| 国产成人精品a视频| 亚洲中久无码永久在线观看软件 | 欧美性大战久久久久久久| 成在线人免费无码高潮喷水| 人妻精品久久一区二区三区|