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