廣播驅動體系(BDA) 系列講座:一

來源:互聯網
上載者:User

             從類比電視向數字電視演化的變革,在使用者需求和技術進步的巨大拉動下,已經成為一個無法復原轉的潮流。與傳統的類比電視相比,數字電視具有可實現高保真傳輸,可提供高清晰音視頻,可提供與終端使用者的互動操作以及可採用數字壓縮技術有效提高通道利用率等技術優勢。當前,作為市場上的主流PC作業系統,微軟Windows系列也不失時機的把數字電視技術納入其技術架構,為PC使用者提供數字電視訊號的接收,處理和播放服務。微軟電視技術允許基於微軟作業系統平台,運用微軟提供的構件以及第三方構件,方便快速的實現數字電視的收看及應用程式的設計,支援包括ATSC,DVB等各種協議標準。本文將探討基於微軟廣播驅動體系(BDA)的數字電視技術及其應用程式的設計與實現。

 一 廣播驅動體系(BDA) 
    1. 廣播驅動體系概述 
    微軟廣播驅動體系(Broadcast Driver Architecture)定義了一種架構,這種架構支援用於接收數字電視的各種網路拓撲構成。它包含了用於網路構造和控制的軟構件,多路選擇,表分析和IP資料遞送等以適用於主要的數字電視標準包括DVB和ATSC等。

    廣播驅動體系使得獨立硬體供應商(IHVs)能夠製造可工作於Windows系統的調諧接收裝置或者為支援新的網路類型而設計的硬體裝置。與BDA相容的驅動程式能夠被作為過濾器(Filter)自動暴露在DirectShow中,即BDA裝置過濾器。作為一個標準的體系,BDA 使得上層應用程式不必關心BDA本身的細節,從而簡化了應用程式的設計。

    廣播驅動體系(BDA)的微型驅動程式(miniDriver)控制著執行以下操作的數字電視硬體: 
    * 調諧數位廣播訊號; 
    * 解調數字訊號; 
    * 捕獲數字訊號的幀; 
    * 將分離信號為視頻音頻以及資料流。

    BDA微型驅動程式具有一個統一的架構,設計者只需要填寫一些固定的結構體的相關參數,這些參數指出了對硬體進行各種操作的各種類(CLASS)和方法(Method)。依據這些固定的結構體,驅動程式就可以被核心流外掛程式自動的作為過濾器暴露在DirectShow中了。

    2. 廣播接收拓撲 
    為了構造DirectShow架構下的過濾器圖表(Filter Graph),使其能夠適應網路結構的多樣性以及調諧和解碼的軟,硬體的多樣性,廣播驅動體系引入了功能拓撲(functional topology)的概念。功能拓撲指出了對接收到的訊號所進行的一系列轉換操作,但其本身並沒有描述任何實際的過濾器,軟體模組或者如何在軟體或硬體上進行操作等細節,相反,它定義了一系列抽象控制節點(Control node)的布局結構,每一個節點代表著一個通用的離散的操作。取決於安裝在電腦上的不同的硬體或者軟體構件,同一個功能拓撲,將有可能導致不同的過濾器圖表布局。例如,第三方硬體提供者如果選擇在同一個電路卡上實現調諧和解調,那麼,在DirectShow中,該硬體將表現為一個單獨的BDA裝置過濾器,而在其內部卻包含著兩個控制節點(即調諧和解調)。所以,一個BDA裝置的過濾器區別於傳統的DirectShow
過濾器的特點就在於它能夠封裝一個功能模組(電路板或者晶片)上的實現著控制節點的所有硬體功能。功能拓撲實際上為第三方供應商構造了一個相當靈活的平台,使其可以根據實際,選擇軟硬體的實現方法。

一個典型的BDA接收功能拓撲1所示。這個接收拓撲完成了以下操作:

    * 調諧並解調數字訊號; 
    * 捕獲並解複用訊號; 
    * 獲得電子節目單(electronic program guide)資訊; 
    * 獲得音頻和視頻資料; 
    * 獲得IP資料。 
    通常,數字調諧Tuner的功能總是由硬體實現,其過濾器構件由一個核心流代理外掛程式自動暴露給DirectShow 成為BDA裝置過濾器。

    Transport information filter(TIF)和Network provider的功能總是由軟體實現,其他功能則可以選擇由硬體或軟體實現。圖1的每一個方框都對應著BDA的一個控制接點,每一個控制節點都能夠採用標準的演算法把網路和節目的特定參數與輸入訊號或輸入訊號構件結合起來,從而產生一個對與其直接相連的下遊控制節點有用的新的訊號。在實際的過濾器圖表中,幾個控制節點可能只表現為一個過濾器。

    3. 廣播驅動體系控制機制 
    在圖1中,功能拓撲的第一個控制節點是Network Provider,通常它也表現為一個單獨的過濾器。Network Provider在廣播驅動體系的過濾器圖表中充當著管理者以及應用程式介面的角色,它負責著數字電視訊號進入並且通過廣播驅動體系裝置。當前,廣播供應商是通過三種基本的網路形式:衛星,有線和天線來進行數字電視訊號的傳送的,這些數字訊號所遵循的協議也是多樣的,比如:ATSC,DVB-C,DVB-T和DVB-S等。BDA裝置可以接收並管理這些數字訊號。

    對於Network Provider過濾器而言,它具有以下特點和作用: 
    * 是過濾器圖表中的源過濾器,但實際上,並沒有真實的資料通過這個過濾器; 
    * 對於每一種網路形式,存在一個Network Provider; 
    * 參與整個過濾器圖表的建立; 
    * 通過BDA 驅動程式提供的方法和屬性與其他的由BDA驅動程式初始化的過濾器進行通訊(比如Network Provider負責對Tuner進行配置)。

    Network Provider本身是一個COM組件,它提供了一個標準介面ITuner給上層的應用。使得上層應用程式可以通過這個介面把調諧的請求發送給Network Provider,然後它再把這個請求傳遞給BDA的驅動程式(miniDriver),用以完成數字調諧,接著在Network Provider的指導下,由Microsoft MPEG2 Demux Filter完成對音頻,視頻,IP等資料流的分離,送到相應的過濾器進行處理。

    微軟已經提供了四種不同的Network Provider,用於支援ATSC,DVB-C,DVB-T和DVB-S等網路類型。這四個Network Provider可以在Graph Edit的BDA Network Providers目錄下看到。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.