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