DVB系統中多路TS流的軟件復用關(guān)鍵技術(shù)及實(shí)現
本文分析了多路數字電視節目系統級復用原理,并對數字電視節目專(zhuān)用信息PSI的提取和重構及系統層節目時(shí)間參考PCR值的修正等關(guān)鍵技術(shù)進(jìn)行研究,提出了進(jìn)行軟件復用的具體方法,最后在Windows平臺上,應用VC++開(kāi)發(fā)環(huán)境設計實(shí)現了TS流分析與復用軟件系統TSAM,測試結果表明軟件復用速率達到并遠遠超過(guò)了一路傳輸碼流的處理速度,該軟件復用方案是有效可行性的。用軟件實(shí)現傳輸流的復用,可以節約硬件成本,降低系統的開(kāi)發(fā)費用;且算法全部軟件實(shí)現,可移植性高,具有良好的擴展性,可以方便靈活的加入數字電視節目指南等輔助信息。
本文引用地址:http://dyxdggzs.com/article/165570.htm1.引言 TPF FPT
數字圖像通信的最廣泛也是最常見(jiàn)的應用就是數字電視廣播系統[1],與此對應的 DVB 標準的建立更是加速了數字電視廣播系統的大規模應用。DVB 標準選定 ISO JIEC MPEG-2 標準作為音頻及視頻的編碼壓縮方式,信源編碼進(jìn)行了統一,隨后對 MPEG-2 碼流進(jìn)行打包形成 TS流(transport stream),進(jìn)行多個(gè)傳輸流復用,最后通過(guò)衛星、有線(xiàn)電視等不同媒介傳輸方式進(jìn)行傳輸。
對多個(gè)傳輸流進(jìn)行復用的意義在于復用后的傳輸流只占用一個(gè)物理的傳輸信道, 傳輸流中的每個(gè)節目所占用的是傳輸流提供的虛擬信道。在解碼器端,只需要一套固定的接收設備,對不同節目的選擇只是在傳輸流中選擇不同的原始碼流,這大大簡(jiǎn)化了接收機的實(shí)現,節省了成本,提高了靈活性,而且根據該標準定義,解碼器的系統時(shí)鐘與調制解調器的時(shí)鐘是完全獨立的。這使得在實(shí)現這兩個(gè)子系統彼此功能時(shí)是完全分開(kāi)的,因此接口變得很簡(jiǎn)單。
在數字電視節目制作及發(fā)送時(shí),對多路節目的復用,由于一般的計算機很難處理幾十兆到幾百兆碼率的碼流,所以,目前大部分的復用器都是用硬件實(shí)現的,但其價(jià)格昂貴[2,3]。然而,隨著(zhù)計算機速度越來(lái)越快,在多 CPU的服務(wù)器上,完全能夠實(shí)現多路節目的實(shí)時(shí)軟件復用。 與硬件復用相比,軟件復用具有靈活性高,開(kāi)發(fā)成本低的優(yōu)點(diǎn)。在軟件復用實(shí)現方案中,服務(wù)器從衛星電視或其它片源中實(shí)時(shí)采集 TS流,經(jīng)過(guò)分析和過(guò)濾將所選擇的基本流復用成一路 TS 流,然后通過(guò)普通的 TS 流播出卡發(fā)送出去。論文分析多路 TS 流復用原理,針對 TS 流中的信息提取和節目專(zhuān)用信息 PSI (program specific information)合成,及軟件復用中的節目時(shí)鐘參考 PCR ( program clock reference)的修正等問(wèn)題進(jìn)行研究,提出了進(jìn)行軟件復用的 具體方法,最后在 Windows 平臺上設計并實(shí)現多路 TS流的軟件復用。
2.TS流的系統級復用
數字電視節目的復用包括兩個(gè)階段, 對音/視頻 PES包的節目復用和對 TS流的系統復用[4]。本文研究第二個(gè)階段即 TS系統級復用,將多個(gè)單路的 TS流合成一個(gè)多節目 TS流。數字電視系統級復用是數字電視系統的關(guān)鍵技術(shù)之一, 其中數字電視節目專(zhuān)用信息 PSI 的提取和重構及系統層節目時(shí)間參考 PCR 值的修正,是復用器的兩項關(guān)鍵技術(shù)。
基于 MPEG-2 的 TS 流多路數字電視節目 TS 流系統級復用原理如圖 1 所示。當多路 TS 流復用成一路 TS流時(shí),首先將對各路 TS流的 PSI 進(jìn)行搜集并分析其碼流,得到各路 TS碼流中相應的視頻、音頻、數據信息的碼率、對各路節目的包標識 PID, 數字電視節目專(zhuān)用信息PSI,節目時(shí)間參考 PCR 等信息進(jìn)行處理,丟棄各路原有的 PSI 信息。當出現兩路 TS 流中的 PID發(fā)生沖突時(shí), 需要修改一路或者多路 TS流中某一數據流的 PID(即復用器需要對修改了 PID的視頻/音頻包或其他數據包進(jìn)行 PID更新)??梢钥吹?,無(wú)論是否出現 PID沖突,復用器都需要重構 PSI 信息,其濾波的處理過(guò)程如圖 2 所示。對不同節目的 PID 值進(jìn)行修改后,與本地產(chǎn)生的這類(lèi)數據重新整合為復用后新的 PSI 等系統級控制信息,同時(shí)插入符合 DVB-SI 規范的業(yè)務(wù)信息, 并在攜帶有調整字段的 TS包中, 判斷帶有 PCR標志位字段的值, 如果該值為“1”,那么在該 TS 流離開(kāi)復用器的時(shí)刻,需要對 TS 包中的 PCR 值做相應的修正或重新插入新的節目時(shí)鐘參考,具體方法將在后面詳細介紹。
3.TS流節目專(zhuān)用信息的提取與重構
數字電視節目專(zhuān)用信息 PSI 描述 TS流的組成結構,在 MPEG-2 系統層中極為重要,一個(gè)有多路節目和私有數據的 TS 流,需要 PSI 信息將每一路節目的音視頻對應起來(lái)[5]。PSI 信息將 TS 流中的內容描述成一個(gè)樹(shù)狀的結構,如圖 3 所示。在 TS 流中可以復用多個(gè)節目,每個(gè)節目又可以包含多個(gè)基本碼流(通常是單個(gè)視頻流、多個(gè)音頻流)。DVB 系統沿用 MPEG-2 的節目專(zhuān)用信息 PSI 來(lái)確定傳輸的節目和包標識 PID 的關(guān)系以及節目的組成結構等情況。 PSI 主要包括以下四個(gè)表:節目關(guān)聯(lián)表(PAT: Program Association Table)、條件訪(fǎng)問(wèn)表(CAT: Conditional Access Table)、節目映射表(PMT: Program Map Table)、網(wǎng)絡(luò )信息表 NIT: Network Information Table),本文需要涉及到節目關(guān)聯(lián)表 PAT 和節目映射表 PMT。
由于 TS 流復用后的相關(guān)聯(lián)內容發(fā)生了變化,因此要對 PSI 信息進(jìn)行處理。PSI 信息的處理 包括 PAT 和 PMT 表的替換,PID 的重映射,還有就是連續計數器的修改,雖然這不算 PSI 信息, 但是這部分工作與 PSI 信息修改關(guān)系很密切, 同時(shí)在實(shí)際的實(shí)現過(guò)程中可以同時(shí)完成。
復用后的流中有多路節目,原來(lái)每一路節目中的 PAT 和 PMT 都只有自身的內容,為此需要 將 PAT 和 PMT 替換。首先根據輸入流的數目和預占的頻道號,在一開(kāi)始動(dòng)態(tài)生成 PAT 表,PMT 表則在最初計算好,生成靜態(tài)的 PMT 對應替換即可,同時(shí)根據每個(gè) PMT_PID找到實(shí)現 計算好的 PMT 表,將其中的視音頻 PID 找到,作為將要替換的視音頻 PID。之所以在一開(kāi) 始生成或者直接使用靜態(tài)表是因為 PAT 和 PMT有 32 位 CRC,無(wú)法完成實(shí)時(shí)計算。
評論