• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

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

      1 DirectShow簡介

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

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

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

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

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

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

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

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

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

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

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

      驅(qū)動程序,用來處理許多和操作系統(tǒng)進行交互的細節(jié)。BDA minidriver直接與數(shù)字電視接收硬件進行交互,功能主要有調(diào)諧與解調(diào)數(shù)字信號、捕獲數(shù)字信號的幀、分離音視頻數(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總是由硬件實現(xiàn)的,其過濾器組件會被DirectShow中的ksproxy.ax過濾器組件包裝成和硬件相關(guān)的BDA設(shè)備過濾器組件并在DirectShow中可見。

      2.2 廣播接收拓撲

      由于網(wǎng)絡(luò)結(jié)構(gòu)或者硬件差異性,為了能構(gòu)造出統(tǒng)一的接收數(shù)字電視信號框架,BDA架構(gòu)引入了功能拓撲的概念(如圖3所示)。功能拓撲將接收數(shù)字信號的過程抽象成了一系列被稱為控制節(jié)點(Control node)相互之間協(xié)作的過程,功能節(jié)點之間相互獨立但相互聯(lián)系,每一個控制節(jié)點都完成一個特定的功能,同一個功能拓撲,將有可能導(dǎo)致不同的過濾器圖表布局,這取決于安裝在計算機上的不同硬件和軟件。這個接收拓撲的主要功能有調(diào)諧、解調(diào)、捕獲、解復(fù)用數(shù)字廣播信號,獲得節(jié)目相關(guān)信息并獲得音視頻數(shù)據(jù)等。

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

      圖3 數(shù)字廣播接收控制節(jié)點的功能拓撲

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

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

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

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

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

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

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

      2)創(chuàng)建Network Provider

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

      3)信號定位

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

      3.2 實現(xiàn)過程

      在開發(fā)應(yīng)用程序之前,首先正確安裝數(shù)字電視接收卡并加載其驅(qū)動搭建硬件環(huán)境,如果正確安裝,打開GraphEdit,Tuner Filter和 Capture Filter就會出現(xiàn)在BDA源過濾器(BDA Source Filters)和BDA接收組件(BDA Receiver Components)目錄中。應(yīng)用程序設(shè)計的流程如圖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)用程序正常運行時,可隨時向Network Provider過濾器提交一個新的調(diào)諧請求,因此當(dāng)用戶需要觀看另一個頻率點上的節(jié)目時,就可以在保持Graph運行狀態(tài)情況下,重新提交新的調(diào)諧請求,只要獲取想要觀看節(jié)目的PSI[5]信息,然后將音視頻的PID映射到MPEG-2 Demultiplexer Filter上,即可正常播放。

      3.3 系統(tǒng)測試

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

      4 結(jié)語

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

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

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

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

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

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

      猜你喜歡
      過濾器應(yīng)用程序組件
      無人機智能巡檢在光伏電站組件診斷中的應(yīng)用
      能源工程(2022年2期)2022-05-23 13:51:50
      新型碎邊剪刀盤組件
      重型機械(2020年2期)2020-07-24 08:16:16
      U盾外殼組件注塑模具設(shè)計
      刪除Win10中自帶的應(yīng)用程序
      電腦報(2019年12期)2019-09-10 05:08:20
      支持過濾器的REST模型研究與實現(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)
      自動化博覽(2014年6期)2014-02-28 22:32:20
      HVM膜過濾器管板改造總結(jié)
      中國氯堿(2014年11期)2014-02-28 01:05:07
      關(guān)閉應(yīng)用程序更新提醒
      電腦迷(2012年15期)2012-04-29 17:09:47
      梓潼县| 措美县| 安阳市| 广安市| 台中市| 女性| 察隅县| 探索| 沧源| 博湖县| 唐海县| 永和县| 虎林市| 永济市| 大同县| 辽源市| 汾西县| 额敏县| 塔河县| 瑞金市| 盱眙县| 额尔古纳市| 临江市| 汽车| 华容县| 呈贡县| 烟台市| 沙河市| 贞丰县| 江西省| 新竹县| 济源市| 望江县| 哈巴河县| 长武县| 宜黄县| 渭南市| 图木舒克市| 华容县| 龙山县| 临澧县|