羅 影,康紅娟,楊先偉
(1. 衛士通信息產業股份有限公司,四川 成都 610041;2. 四川長虹電器股份有限公司,四川 成都 610041;3.無錫職業技術學院,江蘇 無錫 214073)
一種可伸縮的傳輸流收錄方法*
羅 影1,康紅娟2,楊先偉3
(1. 衛士通信息產業股份有限公司,四川 成都 610041;2. 四川長虹電器股份有限公司,四川 成都 610041;3.無錫職業技術學院,江蘇 無錫 214073)
傳輸流(TS流)廣泛應用于數字電視和其它多媒體領域,是最常見的碼流格式之一。隨著新媒體等業務的快速發展,TS收錄已成為內容提供商和內容運營商獲得節目素材和進行節目交流的重要手段。在充分分析現有TS收錄方法優缺點的基礎上,提出一種新的收錄方法,該收錄方法具有收錄效率高,滿足實時性業務需求的優點,又能在收錄任務異常時幫助排查異常原因,恢復收錄內容,并討論了生成的壓縮數據的安全存儲。
TS流;收錄系統;加密;雜湊算法
MPEG組織制定了用于視音頻壓縮編碼及其封裝格式的MPEG-2標準,該標準的第一部分系統層定義了將音視頻和其它數據組合成適宜于存儲或傳輸的數據流規范[1]。系統層中定義了兩種不同的傳輸協議:傳輸流(TS)和節目流(PS)。TS流可包括多套數字電視節目,適合在有噪音的環境中傳輸,是數字電視領域最常見的碼流格式。
TS流具有很強的可擴展性,可以傳輸常見的音視頻流,也允許傳輸各種業務信息,既可封裝H.264等視頻流,也可插入條件接收系統(CAS)以及電子節目指南(EPG)信息等。因此TS流在數字電視等領域應用廣泛。目前TS流已經成為廣播電視系統流的標準,北美的ATSC和歐洲的DVB等均在MPEG-2 TS基礎上進行了擴展,由此可說明TS流的重要性。
隨著新媒體業務的迅速發展,內容提供商和內容運營商已經將TS流收錄作為獲得節目素材和進行節目交流的重要手段。數字節目制作中需要將音視頻流復用成恒定碼率的TS流。面對如此巨大的需求,TS流收錄需要一個良好穩定的收錄方法,好的收錄方法應該考慮文件輸出是否具有及時性,收錄效率高低,對存儲系統要求情況,當數據流出現異常時(如網絡異常,收錄系統故障)怎樣判斷常見故障,是否對丟失內容進行恢復等[2]。現有的TS收錄方法主要有離線式收錄和在線式收錄。在線式收錄方法可即時輸出文件,能滿足實時性要求高的應用場景;而離線式收錄的實時性不高,收錄效率低。但當數據流異常時,在線式收錄將會出現內容丟失,收錄任務異常且無法恢復,排查原因困難等問題;而離線式收錄在數據流異常時便于排查異常原因和恢復丟失的內容(如收錄系統故障)。
本文在充分分析這些收錄方法優缺點的基礎上,提出一種新的收錄方法,可伸縮的傳輸流收錄。該收錄方法既具有收錄效率高,可滿足實時性業務需求的優點,又能在收錄任務異常時幫助排查異常原因,恢復收錄內容。另外,此收錄方法向下兼容在線式收錄和離線式收錄,只需通過簡單的配置就可以退化為上述兩種方法中的任意一種。
MPEG-2系統層定義了TS流和PS流,兩者都是由壓縮后的音視頻數據和輔助數據打包而成。其中PS流主要針對無差錯的環境,如DVD、交互式多媒體等。TS流則主要面對有差錯的環境,其分組長度固定,結構復雜,容錯性好,靈活性高,允許使用復用器對數據進行快速處理。TS流形成過程見圖1。

圖1 TS流形成過程
按照形成過程,可將TS流中涉及到的碼流分為基本流(ES)、打包的基本流(PES)和傳輸流。ES流是由壓縮層編碼產生的音視頻數據加上輔助數據而成的原始流;PES流是由ES流按照語法規則形成的中間層,對應PES包格式;TS流是由PES包添加包頭后產生的數據包串,對應TS包格式。TS流的形成過程如圖1。壓縮層對原始的音視頻信號進行編碼后產生ES流,系統層將ES流打包成PES包。TS復合器將音視頻PES包切割打包為定長的TS包,與系統信息和填充數據交織在一起形成TS流。
TS包188字節,由包頭和負載組成,包頭包含了PID(包的ID值)、是否存在調整字段、是否存在負載等重要信息。調整字段會包含系統時間信息(PCR),而有效負載可為PES包或節目詳細信息(PSI)。PES包通常包含一幀壓縮編碼的音頻或視頻構成的訪問單元,而PSI信息描述解復用和其他系統操作所需要的信息,其中節目分配表(PAT)和節目映射表(PMT)尤其重要。PAT表用于描述每套節目對應的PMT表的信息,而PMT表則描述包含在節目中的每個流的信息。解析TS流時需將TS包拼湊成PES或PSI,先解析PAT表,再解析PMT表,接著解析并收錄需要的流和系統信息。
現有的TS收錄方法主要有離線式收錄和在線式收錄。
在線式收錄在收錄的同時輸出媒體文件,甚至可以做到邊采邊編。在線式收錄包含兩個模塊:解析模塊和文件封裝模塊。解析模塊的主要工作是將TS流按照系統層的規定解析為音視頻ES流和系統信息(如音視頻同步信息)。文件封裝模塊將ES流和系統信息進行編解碼和封裝,輸出用戶所需的媒體文件格式。如果用戶所需的音視頻格式和TS流中原有的音視頻格式有差異,還需要進行視音頻解碼和編碼。
在線式收錄的工作流程是:首先將TS流送入解析模塊;然后解析模塊將TS流解析為ES流和相關的系統信息并輸送給文件封裝模塊;接下來文件封裝模塊將ES流和系統信息進行音視頻同步、編解碼、文件封裝,最終輸出收錄任務需要的媒體文件。
在線式收錄的不足是收錄任務異常時無法恢復,當收錄任務非常重要時這將導致災難性的后果。
離線式收錄先將TS流緩存為中間文件,然后待到收錄節目播出完畢緩沖文件完成后,再對中間文件進行解析得到最終的目標文件。離線式收錄需要新加一個TS流存儲模塊,該模塊對TS流不做任何處理,直接存儲為中間文件。
離線式收錄的流程是:首先將TS流送入TS流存儲模塊存儲為中間文件;然后待到存儲完成后(如達到收錄結束時間點),將中間文件送入解析模塊;接下來的流程和在線式收錄相同,解析模塊將TS解析為ES和系統信息,然后文件封裝模塊將它們封裝并輸出為媒體文件。
離線式收錄的不足有:效率低,任務完成時間包括節目本身的時長以及后續進行的解析、編解碼、文件封裝等時間;占用存儲空間大,收錄時把所有節目都存儲下來,即使只收錄全部五套節目中的一套,這會占用大量的磁盤儲存空間。
本節詳細描述新的收錄方法——可伸縮的傳輸流收錄方法。
3.1 可伸縮收錄工作流程
可伸縮收錄包含4個模塊:解析模塊、文件封裝模塊、壓縮模塊、解壓縮模塊(見圖2)。壓縮模塊將TS流壓縮后輸出并存儲,存儲的壓縮數據在必要時送入解壓縮模塊解壓。壓縮模塊和解壓縮模塊不僅可以在收錄異常時幫助恢復收錄任務,還可以在離線式收錄中發揮重要作用。

圖2 可伸縮收錄過程
工作時將開關1和開關2閉合,開關3斷開。工作流程是:首先TS流同時進入解析模塊1和壓縮模塊;然后進入解析模塊1的TS流被解析為ES流和系統信息;接下來文件封裝模塊1將ES流和系統信息封裝為媒體文件;另一邊,進入壓縮模塊的TS流被壓縮后得到壓縮文件并存儲在后臺。
系統故障導致收錄任務失敗時,可以啟用存儲在后臺的壓縮文件恢復收錄任務。此時需將開關1和開關2斷開,開關3閉合。執行流程是:首先將壓縮文件送入解壓縮模塊,解壓后得到恢復的TS流;然后TS解析模塊2解析TS得到ES流和系統信息;接下來文件封裝模塊2將它們封裝為媒體文件。
3.2 壓縮模塊詳情
壓縮模塊是可伸縮收錄方法中最重要的模塊之一,其基本思想是選擇性地保留TS包,即只保留與收錄任務相關的TS包,丟棄與收錄任務無關的TS包。這是它與普通壓縮算法的根本區別。
壓縮模塊的工作流程包括基本的系統層解析:①解析并保存PSI信息。這和普通的TS解析流程一樣,先解析PAT再解析PMT等;②解析并保存相關ES流。按照系統層規定解析與收錄任務相關的音視頻數據并保存。壓縮算法的描述如下。
算法1 TS壓縮算法
輸入:TS流,收錄起止時間,需收錄的節目。
輸出:壓縮后的TS流文件。
步驟:
1)取一個TS包并解析包頭信息。
2)如果當前時間大于收錄開始時間,轉入步驟3。否則執行以下步驟:
2.1)如果TS包含PSI信息,緩存之;否則,丟棄此包。
2.2)轉入步驟1)。
3)如果當前時間大于收錄結束時間,轉入步驟4)。否則執行以下步驟:
3.1)如果是空包,丟棄之。
3.2)如果是包含系統信息的TS包,保留之。
3.3)如果是含有與收錄任務相關的PSI信息的TS包,保留之。
3.4)如果是與收錄任務相關的音視頻TS包,保留之。
3.5)如果是無法識別的TS包或者不識別流的TS包,丟棄之。
3.6)以上步驟無法決定的包,丟棄之。
3.7)轉到步驟1)。
4)在保留TS包的前面添加4個字節記錄相鄰兩個包間的丟包數,然后將包依次寫入壓縮TS流文件,并返回。
壓縮算法中需要注意以下幾點:
1)步驟2.1中只緩存最新的PSI信息,且在第一次進入步驟3時立即將緩存的PSI信息保留下來。
2)步驟3.2中提到含系統信息的TS包,包括含PCR信息的TS包。
3)步驟3.4是指當TS流中包含多套節目時,只保留待收錄節目的數據,丟棄其他節目的數據。比如收錄含有五套節目的TS流中的一套節目時,只保留那一套節目的音視頻TS包。
4)為了記錄保存下來的TS包之間的丟包情況,需要添加一些輔助信息,比如壓縮算法中提到的在TS包的前面添加4個字節記錄相鄰兩個TS包之間的丟包數。另外,必要時這四個字節還可以添加別的輔助信息,如索引信息、視頻幀類型標識等。
經過篩選、壓縮和添加輔助信息后,保留下來的數據大大降低,特別是含有多套節目的TS流。
例如,收錄含有五套節目的TS流中的一套時,有效的數據為20%左右。雖然TS包前面增加的4個字節使存儲空間增加2.1%,但TS流有大量的填充數據和空包(很多TS流的空包率大于10%甚至更高),因此壓縮后數據的大小為原始數據的20%以下。而普通壓縮工具WinRAR等只能將該流壓縮為原始數據的90%左右,且壓縮速度很慢。
本壓縮算法的優點是:①壓縮率高。它不同于離線式收錄時將TS流全盤接收,而是僅僅保留有用的數據;②壓縮效率高。普通壓縮軟件或者音視頻編碼軟件的壓縮速度非常慢。
3.3 解壓縮模塊詳情
解壓縮模塊將壓縮的TS數據恢復為符合標準的TS流,以便后續解析。
解壓縮算法的基本思想是:壓縮算法中丟棄的是與收錄任務無關的TS包,這些包是記錄與收錄任務毫不相干的數據還是無用的空包,這并不重要,都是在解析時被丟掉的數據。解壓縮算法的描述如下。
算法2 TS解壓縮算法
輸入:壓縮TS流文件。
輸出:解壓縮的TS流文件。
步驟:
1)如果壓縮TS文件沒有讀取完畢,則讀取一個已添加4字節輔助信息的TS包,并轉入步驟2);否則轉入步驟4)。
2)讀取輔助信息中的丟包數,然后在解壓縮TS文件的末尾插入對應個數的空包。
3)刪除該TS包前面的4字節輔助信息,然后將之插入解壓縮TS文件的末尾。轉入步驟1)。
4)返回解壓縮的TS流文件。
由于PSI信息和系統信息沒有被丟棄,因此這些信息可以被完整地復原。另外,壓縮階段丟棄的是與收錄任務無關的TS包,這些TS包都要被解析模塊忽略掉。經過上述方法恢復得到的TS流,包含正確的系統信息、PSI信息和與收錄任務相關的節目流信息。即解壓縮后得到的TS流包含了與收錄任務密切相關的完整的數據。
3.4 壓縮數據的保密性
某些情況下,用戶可能希望能保證壓縮數據的保密性。一個基本想法就是將壓縮數據進行加密,然后把密文數據存儲在服務器上。這樣一來,非授權用戶只能獲得密文數據,無法知道原始數據。而另一方面,數據的完整性一般可以由基于哈希函數的簽名體制保證的。
我國的商密分組密碼算法SM4可對壓縮數據進行對稱加密。SM4分組密碼算法的分組長度為128比特,密鑰長度為128比特,解密算法與加密算法的結構相同,這可以避免分別實現加密和解密。密碼算法的工作模式可根據用戶需要進行選擇,比如CBC模式、CTR模式、GCM模式、XTS模式等[3]。
哈希函數可以采用我國國家密碼管理局頒布的SM3密碼雜湊算法,它適用于商用中的數字簽名和驗證、消息認證碼的生成與驗證以及隨機數的生成,可滿足多種應用的安全需求。算法的輸入數據可以為任意有限長度的比特串,輸出值長度為256比特。
需要注意的是,密文數據很難實現快速檢索、查找等功能。因此簡單的加密和簽名體制不能使加密壓縮數據提供有效搜索功能等服務。
3.5 退化為在線式收錄和離線式收錄
可伸縮式收錄退化為普通的在線式收錄的方法是切斷送入壓縮存儲模塊的TS流,見圖3。此時壓縮模塊和解壓縮模塊都不再工作,出現異常時也無法恢復收錄任務。為了突出主要流程,圖3將沒有起作用的部分標注為灰色。

圖3 在線式收錄的示意
可伸縮式收錄退化為普通的離線式收錄的方法是切斷送入TS解析模塊1的TS流,見圖4。此時TS解析模塊1和文件封裝模塊1都不再工作,TS流經過壓縮模塊被壓縮為壓縮文件,事后壓縮文件送入解壓縮模塊解壓為普通TS,然后數據順序通過TS解析模塊2和文件封裝模塊2,得到最終的媒體文件。為了突出主要流程,圖4將沒有起作用的部分標注為灰色。

圖4 離線式收錄的示意
數字電視中最常用的就是復用多套節目的TS流,可伸縮式收錄尤其適合這種復用多套節目的TS流。此時的可伸縮式收錄兼備在線式和離線式收錄的優點,收錄效率高,存儲空間占用小,收錄任務可恢復,便于排查異常原因。表1對三種收錄方法的特點進行比較。

表1 三種方法的比較
國內數字電視的推行是大勢所趨,我國政府規定2015年全面實現數字電視。其次,TS流的擴展越來越廣,如藍光光盤(含3D)的媒體文件格式M2TS是對TS流擴展而成的一種重要格式[4]。另外,隨著更多業務需求的提出,現在的TS碼流收錄需具有多路并發收錄、DVB over IP碼流采集、邊采邊編等特點,能更好的滿足用戶對TS流節目收錄系統全數字化、智能化工作的需求。
文本介紹的可伸縮傳輸流收錄方法具有收錄效率高,存儲空間小,收錄任務可恢復,便于排查異常原因等優點。并且此收錄方法可以根據實際需要調整為在線式或離線式收錄。另外,此收錄方法尤其適合收錄復用多套節目的TS流。因此,可伸縮式傳輸流收錄方法非常適合用于數字電視等的收錄。
[1] ISO/IEC 13818-1. Genetic Coding of Moving Pictures and Associated Audio information-part 1: Systems[S]. European: ISO/IEC, 2002.
[2] 劉佳, 段永良, 周洪萍. IP收錄系統關鍵技術及常見故障分析[J]. 電視技術, 2013, 37(04):63-66. Liu Jia, Duan Yongliang, Zhou Hongping. Key Technology and Common Failture Analysis of IP Receiving Record System[J].Video Engineering, 2013, 37(04):63-66.
[3] 羅影, 劉冬梅, 康紅娟. NIST新分組密碼工作模式及快速實現研究[J]. 通信技術, 2014,47(09):1066-1070. Luo Ying, Liu Dongmei, Kang Hongjuan, NIST New Block Cipher Modes of Operation and Their Fast Implementation[J]. Communications Technology, 2014, 47(09):1066-1070.
[4] Blu-ray disc White paper Blu-ray Disc Format-2.B:Audio Visual Application Format Specifications for BD-ROM[EB/OL]. (2005-03-01) [2005-03-01]. http://www.blu-raydisc.com/Assets/Downloadablefile/2b_bdrom_audiovisualapplication_0305_12955-15269.pdf.
A Scalable Recording Method of Transport Stream
LUO Ying1, KANG Hong-juan2, YANG Xian-wei3
(1. Westone Information Industry, Ltd., Chengdu Sichuan 610041, China;2. Sichuan Changhong Electric Co., Ltd., Chengdu Sichuan 610041, China;3. Wuxi Prof Technology Inst., Wuxi Jiangsu 214073, China)
TS(Transport Stream), widely used in digital television and other multimedia fields, is one of the most common stream formats. With the rapid development of new media business, TS recording becomes an essential means for content providers and operators to obtain program materials and exchange programmes. Based on analysis of advantages and disadvantages of existing recording methods, a novel recording method is proposed. This method is of high efficiency and can meet the needs of real-time business. In addition, it can assist to analyze the error causes and recover recorded content. Meanwhile,the safe storage of compressed data is also discussed in this paper.
TS;recording system;encryption;hash function
date:2014-10-11;Revised date:2015-02-23
TP391
A
1002-0802(2015)04-0484-05

羅 影(1981—),男,碩士,工程師,主要研究方向為信息技術與安全;
康紅娟(1983—),女,碩士,工程師,主要研究方向為保密通信;
楊先偉(1982—),男,學士,講師,主要研究方向為通信與系統工程。
10.3969/j.issn.1002-0802.2015.04.020
2014-10-11;
2015-02-23