羅 影,康紅娟,楊先偉
(1. 衛(wèi)士通信息產(chǎn)業(yè)股份有限公司,四川 成都 610041;2. 四川長虹電器股份有限公司,四川 成都 610041;3.無錫職業(yè)技術(shù)學(xué)院,江蘇 無錫 214073)
一種可伸縮的傳輸流收錄方法*
羅 影1,康紅娟2,楊先偉3
(1. 衛(wèi)士通信息產(chǎn)業(yè)股份有限公司,四川 成都 610041;2. 四川長虹電器股份有限公司,四川 成都 610041;3.無錫職業(yè)技術(shù)學(xué)院,江蘇 無錫 214073)
傳輸流(TS流)廣泛應(yīng)用于數(shù)字電視和其它多媒體領(lǐng)域,是最常見的碼流格式之一。隨著新媒體等業(yè)務(wù)的快速發(fā)展,TS收錄已成為內(nèi)容提供商和內(nèi)容運(yùn)營商獲得節(jié)目素材和進(jìn)行節(jié)目交流的重要手段。在充分分析現(xiàn)有TS收錄方法優(yōu)缺點(diǎn)的基礎(chǔ)上,提出一種新的收錄方法,該收錄方法具有收錄效率高,滿足實(shí)時(shí)性業(yè)務(wù)需求的優(yōu)點(diǎn),又能在收錄任務(wù)異常時(shí)幫助排查異常原因,恢復(fù)收錄內(nèi)容,并討論了生成的壓縮數(shù)據(jù)的安全存儲(chǔ)。
TS流;收錄系統(tǒng);加密;雜湊算法
MPEG組織制定了用于視音頻壓縮編碼及其封裝格式的MPEG-2標(biāo)準(zhǔn),該標(biāo)準(zhǔn)的第一部分系統(tǒng)層定義了將音視頻和其它數(shù)據(jù)組合成適宜于存儲(chǔ)或傳輸?shù)臄?shù)據(jù)流規(guī)范[1]。系統(tǒng)層中定義了兩種不同的傳輸協(xié)議:傳輸流(TS)和節(jié)目流(PS)。TS流可包括多套數(shù)字電視節(jié)目,適合在有噪音的環(huán)境中傳輸,是數(shù)字電視領(lǐng)域最常見的碼流格式。
TS流具有很強(qiáng)的可擴(kuò)展性,可以傳輸常見的音視頻流,也允許傳輸各種業(yè)務(wù)信息,既可封裝H.264等視頻流,也可插入條件接收系統(tǒng)(CAS)以及電子節(jié)目指南(EPG)信息等。因此TS流在數(shù)字電視等領(lǐng)域應(yīng)用廣泛。目前TS流已經(jīng)成為廣播電視系統(tǒng)流的標(biāo)準(zhǔn),北美的ATSC和歐洲的DVB等均在MPEG-2 TS基礎(chǔ)上進(jìn)行了擴(kuò)展,由此可說明TS流的重要性。
隨著新媒體業(yè)務(wù)的迅速發(fā)展,內(nèi)容提供商和內(nèi)容運(yùn)營商已經(jīng)將TS流收錄作為獲得節(jié)目素材和進(jìn)行節(jié)目交流的重要手段。數(shù)字節(jié)目制作中需要將音視頻流復(fù)用成恒定碼率的TS流。面對如此巨大的需求,TS流收錄需要一個(gè)良好穩(wěn)定的收錄方法,好的收錄方法應(yīng)該考慮文件輸出是否具有及時(shí)性,收錄效率高低,對存儲(chǔ)系統(tǒng)要求情況,當(dāng)數(shù)據(jù)流出現(xiàn)異常時(shí)(如網(wǎng)絡(luò)異常,收錄系統(tǒng)故障)怎樣判斷常見故障,是否對丟失內(nèi)容進(jìn)行恢復(fù)等[2]?,F(xiàn)有的TS收錄方法主要有離線式收錄和在線式收錄。在線式收錄方法可即時(shí)輸出文件,能滿足實(shí)時(shí)性要求高的應(yīng)用場景;而離線式收錄的實(shí)時(shí)性不高,收錄效率低。但當(dāng)數(shù)據(jù)流異常時(shí),在線式收錄將會(huì)出現(xiàn)內(nèi)容丟失,收錄任務(wù)異常且無法恢復(fù),排查原因困難等問題;而離線式收錄在數(shù)據(jù)流異常時(shí)便于排查異常原因和恢復(fù)丟失的內(nèi)容(如收錄系統(tǒng)故障)。
本文在充分分析這些收錄方法優(yōu)缺點(diǎn)的基礎(chǔ)上,提出一種新的收錄方法,可伸縮的傳輸流收錄。該收錄方法既具有收錄效率高,可滿足實(shí)時(shí)性業(yè)務(wù)需求的優(yōu)點(diǎn),又能在收錄任務(wù)異常時(shí)幫助排查異常原因,恢復(fù)收錄內(nèi)容。另外,此收錄方法向下兼容在線式收錄和離線式收錄,只需通過簡單的配置就可以退化為上述兩種方法中的任意一種。
MPEG-2系統(tǒng)層定義了TS流和PS流,兩者都是由壓縮后的音視頻數(shù)據(jù)和輔助數(shù)據(jù)打包而成。其中PS流主要針對無差錯(cuò)的環(huán)境,如DVD、交互式多媒體等。TS流則主要面對有差錯(cuò)的環(huán)境,其分組長度固定,結(jié)構(gòu)復(fù)雜,容錯(cuò)性好,靈活性高,允許使用復(fù)用器對數(shù)據(jù)進(jìn)行快速處理。TS流形成過程見圖1。
圖1 TS流形成過程
按照形成過程,可將TS流中涉及到的碼流分為基本流(ES)、打包的基本流(PES)和傳輸流。ES流是由壓縮層編碼產(chǎn)生的音視頻數(shù)據(jù)加上輔助數(shù)據(jù)而成的原始流;PES流是由ES流按照語法規(guī)則形成的中間層,對應(yīng)PES包格式;TS流是由PES包添加包頭后產(chǎn)生的數(shù)據(jù)包串,對應(yīng)TS包格式。TS流的形成過程如圖1。壓縮層對原始的音視頻信號進(jìn)行編碼后產(chǎn)生ES流,系統(tǒng)層將ES流打包成PES包。TS復(fù)合器將音視頻PES包切割打包為定長的TS包,與系統(tǒng)信息和填充數(shù)據(jù)交織在一起形成TS流。
TS包188字節(jié),由包頭和負(fù)載組成,包頭包含了PID(包的ID值)、是否存在調(diào)整字段、是否存在負(fù)載等重要信息。調(diào)整字段會(huì)包含系統(tǒng)時(shí)間信息(PCR),而有效負(fù)載可為PES包或節(jié)目詳細(xì)信息(PSI)。PES包通常包含一幀壓縮編碼的音頻或視頻構(gòu)成的訪問單元,而PSI信息描述解復(fù)用和其他系統(tǒng)操作所需要的信息,其中節(jié)目分配表(PAT)和節(jié)目映射表(PMT)尤其重要。PAT表用于描述每套節(jié)目對應(yīng)的PMT表的信息,而PMT表則描述包含在節(jié)目中的每個(gè)流的信息。解析TS流時(shí)需將TS包拼湊成PES或PSI,先解析PAT表,再解析PMT表,接著解析并收錄需要的流和系統(tǒng)信息。
現(xiàn)有的TS收錄方法主要有離線式收錄和在線式收錄。
在線式收錄在收錄的同時(shí)輸出媒體文件,甚至可以做到邊采邊編。在線式收錄包含兩個(gè)模塊:解析模塊和文件封裝模塊。解析模塊的主要工作是將TS流按照系統(tǒng)層的規(guī)定解析為音視頻ES流和系統(tǒng)信息(如音視頻同步信息)。文件封裝模塊將ES流和系統(tǒng)信息進(jìn)行編解碼和封裝,輸出用戶所需的媒體文件格式。如果用戶所需的音視頻格式和TS流中原有的音視頻格式有差異,還需要進(jìn)行視音頻解碼和編碼。
在線式收錄的工作流程是:首先將TS流送入解析模塊;然后解析模塊將TS流解析為ES流和相關(guān)的系統(tǒng)信息并輸送給文件封裝模塊;接下來文件封裝模塊將ES流和系統(tǒng)信息進(jìn)行音視頻同步、編解碼、文件封裝,最終輸出收錄任務(wù)需要的媒體文件。
在線式收錄的不足是收錄任務(wù)異常時(shí)無法恢復(fù),當(dāng)收錄任務(wù)非常重要時(shí)這將導(dǎo)致災(zāi)難性的后果。
離線式收錄先將TS流緩存為中間文件,然后待到收錄節(jié)目播出完畢緩沖文件完成后,再對中間文件進(jìn)行解析得到最終的目標(biāo)文件。離線式收錄需要新加一個(gè)TS流存儲(chǔ)模塊,該模塊對TS流不做任何處理,直接存儲(chǔ)為中間文件。
離線式收錄的流程是:首先將TS流送入TS流存儲(chǔ)模塊存儲(chǔ)為中間文件;然后待到存儲(chǔ)完成后(如達(dá)到收錄結(jié)束時(shí)間點(diǎn)),將中間文件送入解析模塊;接下來的流程和在線式收錄相同,解析模塊將TS解析為ES和系統(tǒng)信息,然后文件封裝模塊將它們封裝并輸出為媒體文件。
離線式收錄的不足有:效率低,任務(wù)完成時(shí)間包括節(jié)目本身的時(shí)長以及后續(xù)進(jìn)行的解析、編解碼、文件封裝等時(shí)間;占用存儲(chǔ)空間大,收錄時(shí)把所有節(jié)目都存儲(chǔ)下來,即使只收錄全部五套節(jié)目中的一套,這會(huì)占用大量的磁盤儲(chǔ)存空間。
本節(jié)詳細(xì)描述新的收錄方法——可伸縮的傳輸流收錄方法。
3.1 可伸縮收錄工作流程
可伸縮收錄包含4個(gè)模塊:解析模塊、文件封裝模塊、壓縮模塊、解壓縮模塊(見圖2)。壓縮模塊將TS流壓縮后輸出并存儲(chǔ),存儲(chǔ)的壓縮數(shù)據(jù)在必要時(shí)送入解壓縮模塊解壓。壓縮模塊和解壓縮模塊不僅可以在收錄異常時(shí)幫助恢復(fù)收錄任務(wù),還可以在離線式收錄中發(fā)揮重要作用。
圖2 可伸縮收錄過程
工作時(shí)將開關(guān)1和開關(guān)2閉合,開關(guān)3斷開。工作流程是:首先TS流同時(shí)進(jìn)入解析模塊1和壓縮模塊;然后進(jìn)入解析模塊1的TS流被解析為ES流和系統(tǒng)信息;接下來文件封裝模塊1將ES流和系統(tǒng)信息封裝為媒體文件;另一邊,進(jìn)入壓縮模塊的TS流被壓縮后得到壓縮文件并存儲(chǔ)在后臺(tái)。
系統(tǒng)故障導(dǎo)致收錄任務(wù)失敗時(shí),可以啟用存儲(chǔ)在后臺(tái)的壓縮文件恢復(fù)收錄任務(wù)。此時(shí)需將開關(guān)1和開關(guān)2斷開,開關(guān)3閉合。執(zhí)行流程是:首先將壓縮文件送入解壓縮模塊,解壓后得到恢復(fù)的TS流;然后TS解析模塊2解析TS得到ES流和系統(tǒng)信息;接下來文件封裝模塊2將它們封裝為媒體文件。
3.2 壓縮模塊詳情
壓縮模塊是可伸縮收錄方法中最重要的模塊之一,其基本思想是選擇性地保留TS包,即只保留與收錄任務(wù)相關(guān)的TS包,丟棄與收錄任務(wù)無關(guān)的TS包。這是它與普通壓縮算法的根本區(qū)別。
壓縮模塊的工作流程包括基本的系統(tǒng)層解析:①解析并保存PSI信息。這和普通的TS解析流程一樣,先解析PAT再解析PMT等;②解析并保存相關(guān)ES流。按照系統(tǒng)層規(guī)定解析與收錄任務(wù)相關(guān)的音視頻數(shù)據(jù)并保存。壓縮算法的描述如下。
算法1 TS壓縮算法
輸入:TS流,收錄起止時(shí)間,需收錄的節(jié)目。
輸出:壓縮后的TS流文件。
步驟:
1)取一個(gè)TS包并解析包頭信息。
2)如果當(dāng)前時(shí)間大于收錄開始時(shí)間,轉(zhuǎn)入步驟3。否則執(zhí)行以下步驟:
2.1)如果TS包含PSI信息,緩存之;否則,丟棄此包。
2.2)轉(zhuǎn)入步驟1)。
3)如果當(dāng)前時(shí)間大于收錄結(jié)束時(shí)間,轉(zhuǎn)入步驟4)。否則執(zhí)行以下步驟:
3.1)如果是空包,丟棄之。
3.2)如果是包含系統(tǒng)信息的TS包,保留之。
3.3)如果是含有與收錄任務(wù)相關(guān)的PSI信息的TS包,保留之。
3.4)如果是與收錄任務(wù)相關(guān)的音視頻TS包,保留之。
3.5)如果是無法識別的TS包或者不識別流的TS包,丟棄之。
3.6)以上步驟無法決定的包,丟棄之。
3.7)轉(zhuǎn)到步驟1)。
4)在保留TS包的前面添加4個(gè)字節(jié)記錄相鄰兩個(gè)包間的丟包數(shù),然后將包依次寫入壓縮TS流文件,并返回。
壓縮算法中需要注意以下幾點(diǎn):
1)步驟2.1中只緩存最新的PSI信息,且在第一次進(jìn)入步驟3時(shí)立即將緩存的PSI信息保留下來。
2)步驟3.2中提到含系統(tǒng)信息的TS包,包括含PCR信息的TS包。
3)步驟3.4是指當(dāng)TS流中包含多套節(jié)目時(shí),只保留待收錄節(jié)目的數(shù)據(jù),丟棄其他節(jié)目的數(shù)據(jù)。比如收錄含有五套節(jié)目的TS流中的一套節(jié)目時(shí),只保留那一套節(jié)目的音視頻TS包。
4)為了記錄保存下來的TS包之間的丟包情況,需要添加一些輔助信息,比如壓縮算法中提到的在TS包的前面添加4個(gè)字節(jié)記錄相鄰兩個(gè)TS包之間的丟包數(shù)。另外,必要時(shí)這四個(gè)字節(jié)還可以添加別的輔助信息,如索引信息、視頻幀類型標(biāo)識等。
經(jīng)過篩選、壓縮和添加輔助信息后,保留下來的數(shù)據(jù)大大降低,特別是含有多套節(jié)目的TS流。
例如,收錄含有五套節(jié)目的TS流中的一套時(shí),有效的數(shù)據(jù)為20%左右。雖然TS包前面增加的4個(gè)字節(jié)使存儲(chǔ)空間增加2.1%,但TS流有大量的填充數(shù)據(jù)和空包(很多TS流的空包率大于10%甚至更高),因此壓縮后數(shù)據(jù)的大小為原始數(shù)據(jù)的20%以下。而普通壓縮工具WinRAR等只能將該流壓縮為原始數(shù)據(jù)的90%左右,且壓縮速度很慢。
本壓縮算法的優(yōu)點(diǎn)是:①壓縮率高。它不同于離線式收錄時(shí)將TS流全盤接收,而是僅僅保留有用的數(shù)據(jù);②壓縮效率高。普通壓縮軟件或者音視頻編碼軟件的壓縮速度非常慢。
3.3 解壓縮模塊詳情
解壓縮模塊將壓縮的TS數(shù)據(jù)恢復(fù)為符合標(biāo)準(zhǔn)的TS流,以便后續(xù)解析。
解壓縮算法的基本思想是:壓縮算法中丟棄的是與收錄任務(wù)無關(guān)的TS包,這些包是記錄與收錄任務(wù)毫不相干的數(shù)據(jù)還是無用的空包,這并不重要,都是在解析時(shí)被丟掉的數(shù)據(jù)。解壓縮算法的描述如下。
算法2 TS解壓縮算法
輸入:壓縮TS流文件。
輸出:解壓縮的TS流文件。
步驟:
1)如果壓縮TS文件沒有讀取完畢,則讀取一個(gè)已添加4字節(jié)輔助信息的TS包,并轉(zhuǎn)入步驟2);否則轉(zhuǎn)入步驟4)。
2)讀取輔助信息中的丟包數(shù),然后在解壓縮TS文件的末尾插入對應(yīng)個(gè)數(shù)的空包。
3)刪除該TS包前面的4字節(jié)輔助信息,然后將之插入解壓縮TS文件的末尾。轉(zhuǎn)入步驟1)。
4)返回解壓縮的TS流文件。
由于PSI信息和系統(tǒng)信息沒有被丟棄,因此這些信息可以被完整地復(fù)原。另外,壓縮階段丟棄的是與收錄任務(wù)無關(guān)的TS包,這些TS包都要被解析模塊忽略掉。經(jīng)過上述方法恢復(fù)得到的TS流,包含正確的系統(tǒng)信息、PSI信息和與收錄任務(wù)相關(guān)的節(jié)目流信息。即解壓縮后得到的TS流包含了與收錄任務(wù)密切相關(guān)的完整的數(shù)據(jù)。
3.4 壓縮數(shù)據(jù)的保密性
某些情況下,用戶可能希望能保證壓縮數(shù)據(jù)的保密性。一個(gè)基本想法就是將壓縮數(shù)據(jù)進(jìn)行加密,然后把密文數(shù)據(jù)存儲(chǔ)在服務(wù)器上。這樣一來,非授權(quán)用戶只能獲得密文數(shù)據(jù),無法知道原始數(shù)據(jù)。而另一方面,數(shù)據(jù)的完整性一般可以由基于哈希函數(shù)的簽名體制保證的。
我國的商密分組密碼算法SM4可對壓縮數(shù)據(jù)進(jìn)行對稱加密。SM4分組密碼算法的分組長度為128比特,密鑰長度為128比特,解密算法與加密算法的結(jié)構(gòu)相同,這可以避免分別實(shí)現(xiàn)加密和解密。密碼算法的工作模式可根據(jù)用戶需要進(jìn)行選擇,比如CBC模式、CTR模式、GCM模式、XTS模式等[3]。
哈希函數(shù)可以采用我國國家密碼管理局頒布的SM3密碼雜湊算法,它適用于商用中的數(shù)字簽名和驗(yàn)證、消息認(rèn)證碼的生成與驗(yàn)證以及隨機(jī)數(shù)的生成,可滿足多種應(yīng)用的安全需求。算法的輸入數(shù)據(jù)可以為任意有限長度的比特串,輸出值長度為256比特。
需要注意的是,密文數(shù)據(jù)很難實(shí)現(xiàn)快速檢索、查找等功能。因此簡單的加密和簽名體制不能使加密壓縮數(shù)據(jù)提供有效搜索功能等服務(wù)。
3.5 退化為在線式收錄和離線式收錄
可伸縮式收錄退化為普通的在線式收錄的方法是切斷送入壓縮存儲(chǔ)模塊的TS流,見圖3。此時(shí)壓縮模塊和解壓縮模塊都不再工作,出現(xiàn)異常時(shí)也無法恢復(fù)收錄任務(wù)。為了突出主要流程,圖3將沒有起作用的部分標(biāo)注為灰色。
圖3 在線式收錄的示意
可伸縮式收錄退化為普通的離線式收錄的方法是切斷送入TS解析模塊1的TS流,見圖4。此時(shí)TS解析模塊1和文件封裝模塊1都不再工作,TS流經(jīng)過壓縮模塊被壓縮為壓縮文件,事后壓縮文件送入解壓縮模塊解壓為普通TS,然后數(shù)據(jù)順序通過TS解析模塊2和文件封裝模塊2,得到最終的媒體文件。為了突出主要流程,圖4將沒有起作用的部分標(biāo)注為灰色。
圖4 離線式收錄的示意
數(shù)字電視中最常用的就是復(fù)用多套節(jié)目的TS流,可伸縮式收錄尤其適合這種復(fù)用多套節(jié)目的TS流。此時(shí)的可伸縮式收錄兼?zhèn)湓诰€式和離線式收錄的優(yōu)點(diǎn),收錄效率高,存儲(chǔ)空間占用小,收錄任務(wù)可恢復(fù),便于排查異常原因。表1對三種收錄方法的特點(diǎn)進(jìn)行比較。
表1 三種方法的比較
國內(nèi)數(shù)字電視的推行是大勢所趨,我國政府規(guī)定2015年全面實(shí)現(xiàn)數(shù)字電視。其次,TS流的擴(kuò)展越來越廣,如藍(lán)光光盤(含3D)的媒體文件格式M2TS是對TS流擴(kuò)展而成的一種重要格式[4]。另外,隨著更多業(yè)務(wù)需求的提出,現(xiàn)在的TS碼流收錄需具有多路并發(fā)收錄、DVB over IP碼流采集、邊采邊編等特點(diǎn),能更好的滿足用戶對TS流節(jié)目收錄系統(tǒng)全數(shù)字化、智能化工作的需求。
文本介紹的可伸縮傳輸流收錄方法具有收錄效率高,存儲(chǔ)空間小,收錄任務(wù)可恢復(fù),便于排查異常原因等優(yōu)點(diǎn)。并且此收錄方法可以根據(jù)實(shí)際需要調(diào)整為在線式或離線式收錄。另外,此收錄方法尤其適合收錄復(fù)用多套節(jié)目的TS流。因此,可伸縮式傳輸流收錄方法非常適合用于數(shù)字電視等的收錄。
[1] ISO/IEC 13818-1. Genetic Coding of Moving Pictures and Associated Audio information-part 1: Systems[S]. European: ISO/IEC, 2002.
[2] 劉佳, 段永良, 周洪萍. IP收錄系統(tǒng)關(guān)鍵技術(shù)及常見故障分析[J]. 電視技術(shù), 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新分組密碼工作模式及快速實(shí)現(xiàn)研究[J]. 通信技術(shù), 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—),男,碩士,工程師,主要研究方向?yàn)樾畔⒓夹g(shù)與安全;
康紅娟(1983—),女,碩士,工程師,主要研究方向?yàn)楸C芡ㄐ牛?/p>
楊先偉(1982—),男,學(xué)士,講師,主要研究方向?yàn)橥ㄐ排c系統(tǒng)工程。
10.3969/j.issn.1002-0802.2015.04.020
2014-10-11;
2015-02-23