DVB系統(tǒng)中多路TS流的軟件復(fù)用關(guān)鍵技術(shù)及實現(xiàn)
程序結(jié)構(gòu)如圖 6 所示,圖中的每一個 TSProcessor對象對應(yīng)著程序系統(tǒng)中的要進(jìn)行復(fù)用的每 一個輸入傳輸流, TSProcessor對象所包含的輸入模塊負(fù)責(zé)向 TSProcessor對象的處理函數(shù)提 供傳輸流數(shù)據(jù)。傳輸流既可以從文件輸入,也可以是內(nèi)存中的一塊緩沖區(qū)的數(shù)據(jù)。這樣適合于復(fù)用實時轉(zhuǎn)播的節(jié)目和存在本地硬盤上的節(jié)目。輸出模塊是一個供所有 TSProcessor對象 使用的全局對象,每個TSProcessor對象的線程輪流獲得輸出模塊的控制權(quán),向輸出模塊發(fā) 送傳輸流分組數(shù)據(jù)。 全局變量區(qū)存儲所有傳輸流的結(jié)構(gòu)信息, 以及生成的傳輸流的相關(guān)信息。 應(yīng)用系統(tǒng)可以根據(jù)實際的需要隨意的增減輸入傳輸流的數(shù)目,輸入方式,優(yōu)先級,并且可以 在復(fù)用的過程中隨時插入新的傳輸流,或者刪除掉某正在復(fù)用的傳輸流。
基于以上分析, 應(yīng)用 VC++開發(fā)環(huán)境設(shè)計實現(xiàn)了 TS流分析與復(fù)用軟件系統(tǒng) TSAM (Transport Stream Analyzer and Multiplexer),主界面如圖 7 所示。作者對復(fù)用系統(tǒng)進(jìn)行設(shè)計和測試的硬 件平臺是奔騰 M2.9G、512M 內(nèi)存。復(fù)用三路 3M 大小的傳輸流,大約使用了 1 秒的時間生 成了大約 8M 字節(jié)大小的傳輸流,平均復(fù)用速率約為 40Mbits。復(fù)用九路 3M 大小的傳輸流, 大約使用了 5 秒的時間生成了大約 30M 字節(jié)大小的傳輸流,平均復(fù)用速率約為 48Mbits。復(fù) 用速率達(dá)到并遠(yuǎn)遠(yuǎn)超過了一路傳輸碼流的處理速度,由于現(xiàn)代 PC 性能的強(qiáng)勁,得到了比較 理想的試驗結(jié)果。另一方面,由于復(fù)用系統(tǒng)的輸入輸出都是對文件操作,硬盤的讀寫速度對整個系統(tǒng)的性能也有影響。在實際的應(yīng)用系統(tǒng)中,輸入都是不斷刷新的內(nèi)存緩沖區(qū),輸出是 輸出模塊的緩沖區(qū),由于數(shù)據(jù)的操作都是在內(nèi)存中進(jìn)行,并不涉及硬盤等機(jī)械裝置的運作,還會進(jìn)一步提高系統(tǒng)的性能。
6.結(jié)論
本文分析了多路數(shù)字電視節(jié)目系統(tǒng)級復(fù)用原理,并對數(shù)字電視節(jié)目專用信息 PSI 的提取和重 構(gòu)及系統(tǒng)層節(jié)目時間參考 PCR 值的修正等關(guān)鍵技術(shù)進(jìn)行研究,提出了進(jìn)行軟件復(fù)用的具體 方法,最后在 Windows平臺上,應(yīng)用 VC++開發(fā)環(huán)境設(shè)計實現(xiàn)了 TS流分析與復(fù)用軟件系統(tǒng) TSAM,測試結(jié)果表明軟件復(fù)用速率達(dá)到并遠(yuǎn)遠(yuǎn)超過了一路傳輸碼流的處理速度,該軟件復(fù) 用方案是有效可行性的。用軟件實現(xiàn)傳輸流的復(fù)用,可以節(jié)約硬件成本,降低系統(tǒng)的開發(fā)費 用;且算法全部軟件實現(xiàn),可移植性高,具有良好的擴(kuò)展性,可以方便靈活的加入數(shù)字電視節(jié)目指南等輔助信息。
評論