楊壽松 郭亞莎
成都理工大學(xué)信息科學(xué)與技術(shù)學(xué)院,成都 610059
基于數(shù)字電視業(yè)務(wù)中節(jié)目搜索過程的解復(fù)用分析
楊壽松 郭亞莎
成都理工大學(xué)信息科學(xué)與技術(shù)學(xué)院,成都 610059
本文介紹了以國家廣電總局PSI/SI為行業(yè)標(biāo)準(zhǔn)定義的PAT、PMT、SDT等信息表查找傳輸流網(wǎng)絡(luò)中所包含的傳輸流信息以及各個(gè)傳輸流中的節(jié)目構(gòu)成情況。從市面常用的數(shù)字機(jī)頂盒出發(fā),提供了節(jié)目搜索過程軟件實(shí)現(xiàn)的解復(fù)用程序偽代碼。高清數(shù)字電視是未來電視系統(tǒng)發(fā)展的趨勢(shì),其發(fā)展方向和熱點(diǎn)在于向用戶提供更多的增值業(yè)務(wù),解復(fù)用技術(shù)是數(shù)字電視的核心技術(shù)之一,它的開發(fā)應(yīng)用也將推動(dòng)視頻產(chǎn)業(yè)的向前發(fā)展。
PSI/SI;數(shù)字電視;節(jié)目搜索;解復(fù)用
PSI/SI; Digital television; Program search; Demultiplexing
高清晰數(shù)字電視(High Definition TV,HDTV)是數(shù)字電視發(fā)展的方向,它包含高清晰數(shù)字電視節(jié)目的錄制、壓縮編碼、調(diào)制傳輸、解調(diào)接收、解碼、顯示等一系列關(guān)鍵技術(shù),相關(guān)的技術(shù)也趨于成熟。在高清晰數(shù)字電視系統(tǒng)中,常用的電視節(jié)目傳輸方式有三種:衛(wèi)星傳輸(Satellite)、有線傳輸(Cable)、地面(Terrestrial)廣播傳輸。目前,有線電視傳輸系統(tǒng)并不是真正意義上的數(shù)字電視系統(tǒng),其中只有不到1%的用戶能收看到1~3個(gè)高清節(jié)目頻道,這就造成了矛盾的局面:一方面大量用戶擁有高清電視機(jī),另一方面大量電視節(jié)目是模擬和數(shù)字的標(biāo)清格式,絕大多數(shù)已經(jīng)使用的機(jī)頂盒只具有標(biāo)清解碼能力,滿足不了用戶的需求??梢灶A(yù)見,未來高清晰數(shù)字電視機(jī)頂盒(HDTV STB)將會(huì)占有相當(dāng)大的市場份額。
根據(jù)PSI/SI標(biāo)準(zhǔn)我們知道,NIT表包含了一個(gè)傳輸流網(wǎng)絡(luò)中所包含的各個(gè)傳輸流及其所在的轉(zhuǎn)發(fā)器的信息。根據(jù)PAT表我們可以查找出一個(gè)傳輸流中所包含的節(jié)目個(gè)數(shù)以及每個(gè)節(jié)目所對(duì)應(yīng)的PMT PID,進(jìn)而我們可以根據(jù)PMT PID和節(jié)目ID查找每個(gè)節(jié)目的PMT表,從而得到每個(gè)節(jié)目的視頻、音頻、數(shù)據(jù)等各個(gè)組成部分的構(gòu)成情況;對(duì)于每個(gè)節(jié)目,我們可以從SDT表中找到每個(gè)節(jié)目對(duì)應(yīng)的節(jié)目名稱、節(jié)目類型等信息,從而完成節(jié)目搜索過程。節(jié)目搜索過程其系統(tǒng)框圖如圖1所示。
圖1 節(jié)目搜索過程
2.1 PAT表
PAT表由MPEG標(biāo)準(zhǔn)定義,用于給出當(dāng)前傳輸流中的節(jié)目信息,包含節(jié)目 ID和描述該節(jié)目的PMT表的PID。在PAT表中,transport_stream_id為傳輸流ID,用于區(qū)分傳輸網(wǎng)絡(luò)中唯一的一路傳輸流;current_ next_indicator發(fā)送的PAT是當(dāng)前有效還是下一個(gè)PAT有效;version_number表示PAT的版本號(hào);section_number分段的號(hào)碼;last_section_number最后一個(gè)分段的號(hào)碼;network_PID網(wǎng)絡(luò)信息表(NIT)的PID,節(jié)目號(hào)為0時(shí)對(duì)應(yīng)的PID為network_ PID;CRC_32是CRC32校驗(yàn)碼。PAT可能分為多段傳輸,第一段為00,以后每個(gè)分段加1,最多可能有256個(gè)分段。
根據(jù)PAT表,我們可以找出該P(yáng)AT表所描述的傳數(shù)流中所包含的節(jié)目個(gè)數(shù)及每個(gè)節(jié)目所對(duì)應(yīng)的PMT表的PID。PAT表定義如圖2所示(長度單位:bits)。
2.2 PMT表
PMT表由MPEG標(biāo)準(zhǔn)定義,用于描述一個(gè)節(jié)目的音頻、視頻、數(shù)據(jù)等各個(gè)組成部分的關(guān)聯(lián)關(guān)系。其中,program_number為節(jié)目號(hào),用于唯一區(qū)分傳輸流中的一套節(jié)目;PCR_PID為該節(jié)目的PCR PID;program_info_length為節(jié)目級(jí)描述符的長度;第一個(gè)descriptor循環(huán)為節(jié)目級(jí)描述符循環(huán),用于描述節(jié)目的詳細(xì)信息;在節(jié)目級(jí)描述符之后是組成該節(jié)目的各個(gè)基本流的信息,如視頻流、音頻流、數(shù)據(jù)流等,在節(jié)目流信息中,stream_type給出了流的類型,elementary_PID為該基本流的PID,ES_ info_length為該基本流的描述符的長度,ES_info_length后面的描述符循環(huán)用于描述該基本流的詳細(xì)信息。
圖2 PAT表結(jié)構(gòu)
在PMT表中常見的描述符有條件接收描述符(用于描述加密節(jié)目的加密系統(tǒng)類型和ECM PID)、ISO639語言描述符(用于描述節(jié)目伴音的語言類型)、Teletext描述符(用于描述Teletext信息)、Subtitle描述符(用于描述Subtitle信息)等,其中,條件接收描述符可以位于節(jié)目級(jí),也可位于基本流級(jí),位于節(jié)目級(jí)的CA描述符表示該節(jié)目中音視頻數(shù)據(jù)使用同一個(gè)ECM信息進(jìn)行解擾,位于基本流級(jí)的CA描述符描述的是對(duì)該基本流解擾的ECM信息。PMT表定義如圖3所示(長度單位:bits)。
圖3 PMT表結(jié)構(gòu)
2.3 SDT表
業(yè)務(wù)描述表是由SI標(biāo)準(zhǔn)定義,用于描述一個(gè)特定傳輸流中的業(yè)務(wù)信息,包括業(yè)務(wù)名稱、業(yè)務(wù)類型等內(nèi)容。在SDT表中,transport_stream_id為該SDT表所描述的傳輸流的ID;section_number表示當(dāng)前SDT表的段號(hào),SI標(biāo)準(zhǔn)規(guī)定,子表的第一個(gè)段的段號(hào)為0;last_section_number表示最后一個(gè)段的段號(hào),根據(jù)section_number和laster_ number我們可以確定當(dāng)前傳輸流中SDT表的個(gè)數(shù);service_ID為該SDT表所描述的節(jié)目ID。EIT_schedule_flag EIT_present_ following_flag描述該節(jié)目是否具有EPG信息;free_CA_mode標(biāo)示該節(jié)目是否加擾;descriptor_loop_length表示描述該節(jié)目的描述符長度,后面的描述符是對(duì)節(jié)目的更詳細(xì)的描述,如節(jié)目名稱等。
在SDT表中常見的描述符有節(jié)目描述符,節(jié)目描述符用于給出節(jié)目節(jié)目類型、節(jié)目提供商名稱和節(jié)目名稱。SDT表定義如圖4所示(長度單位:bits)。
圖4 SDT表結(jié)構(gòu)
在DVB 標(biāo)準(zhǔn)中,定義了一個(gè)標(biāo)準(zhǔn)的PID用來實(shí)現(xiàn)PSI/SI。這些PID是系統(tǒng)保留的,因此DVB編碼的時(shí)候并不會(huì)用這些PID做為Video_PID或者Audio_PID或者其他PID。在一個(gè)簡單的解復(fù)用程序中,只需要提供處理PAT,PMT表格的程序即可實(shí)現(xiàn)解復(fù)用,即解復(fù)用程序需要使用到的表格只有PAT,PMT,SDT。所有的表格都開始于Packet中的184字節(jié)的數(shù)據(jù)部分,但有的時(shí)候一個(gè)表格沒有184字節(jié),這時(shí)在Packet中就可能插入一些無效信息用來填充使整個(gè)Packet依然保持是188字節(jié),也可能用頭信息中的payload_unit_start_indicator標(biāo)志表格有個(gè)偏移位置(當(dāng) payload_unit_start_ indicator=0表示表格數(shù)據(jù)直接從Packet區(qū)的第四個(gè)字節(jié)開始,否則表示有一個(gè)偏移量位置開始,具體 請(qǐng)參考ISO13818-1,第4字節(jié)到偏移量間的數(shù)據(jù)是系統(tǒng)填充的無效數(shù)據(jù))。
從以上的分析可以看出,只要我們處理了PMT,那么我們就可以獲取頻道中所有的PID信息,例如當(dāng)前頻道包含多少個(gè)Video,共多少個(gè)Audio和其他數(shù)據(jù),還能知道每種數(shù)據(jù)對(duì)應(yīng)的PID分別是什么。這樣如果我們要選擇其中一個(gè)Video和Audio收看,那么只需要把要收看的節(jié)目的Video_ PID和Audio_PID保存起來,在處理Packet的時(shí)候進(jìn)行過濾即可實(shí)現(xiàn)。
比較全面實(shí)現(xiàn)解復(fù)用的偽代碼如下:
以上偽代碼可以實(shí)現(xiàn)基本的解復(fù)用:檢測所有的頻道,檢測所有stream的PID,選擇特定的節(jié)目進(jìn)行播放。只要讀取每個(gè)Packet的188字節(jié)的內(nèi)容,然后每次都調(diào)用Process_Packet()即可實(shí)現(xiàn)簡單的解復(fù)用。
到這里雖然實(shí)現(xiàn)了解復(fù)用,但可以看出,使用的PID都是枯燥的數(shù)字,如果調(diào)臺(tái)要用戶自己輸入數(shù)字那可是太麻煩了,而且還容易輸入錯(cuò)誤,操作非常不直觀,即使做成一個(gè)菜單讓用戶選擇也是非常的呆板。針對(duì)這個(gè)問題,DVB系統(tǒng)提出了一個(gè)SDT表格,該表格標(biāo)志一個(gè)節(jié)目的名稱,并且能和PMT中的PID聯(lián)系起來,這樣用戶就可以通過直接選擇節(jié)目名稱來選擇節(jié)目了。用戶可以通過切換節(jié)目名稱的下拉列表框切換節(jié)目,也可以通過“視頻流”和“音頻流”下拉列表框切換Video和Audio。這些數(shù)據(jù)都是通過分析PAT,PMT和SDT得到的。
數(shù)字電視的飛速發(fā)展和固有優(yōu)點(diǎn),成為提供互聯(lián)網(wǎng)接入業(yè)務(wù)的有力競爭者。本文實(shí)現(xiàn)了在多路MPEG-2復(fù)用成一路多節(jié)目的MPEG-2碼流解復(fù)用的簡單軟件實(shí)現(xiàn)。
由于這是我對(duì)數(shù)字電視廣播系統(tǒng)節(jié)目復(fù)用研究的初次嘗試,在許多方面還不完善,例如:在碼流的傳輸過程都是未加干擾的,無需進(jìn)行解擾,而在實(shí)際應(yīng)用中,數(shù)字廣播系統(tǒng)傳輸?shù)碾娨曅盘?hào)往往都是經(jīng)過加擾的。這在今后的工作中,我將進(jìn)一步完善我的系統(tǒng)。
[1]李偉.DVB-S2--衛(wèi)星數(shù)字電視發(fā)展的“極限”[J].有線電視技術(shù),2004,(20)
[2]秦娟,吳琪,宣玉棟,熊蓉.數(shù)字電視PCR分析及校正實(shí)現(xiàn)[J].現(xiàn)代電視技術(shù),2008,(1)
[3]呂品.數(shù)字電視工藝技術(shù)應(yīng)用[M].北京:電子工業(yè)出版社,2010
[4]劉修文.數(shù)字電視機(jī)頂盒[M].北京:機(jī)械工業(yè)出版社,2010
[5]http://wenku.baidu.com/ view/0f60c327aaea998fcc220ec4.html
Demultiplexing with analysis in the process of program search based on the digital television business
YANG shou-song, GUO ya-sha
Chengdu University of Technology, College of Information Science &Technology, Chengdu 610059,China
This paper introduces the state administration of radio, PSI/SI for industry standard definition of PAT, PMT, SDT information such as table lookup transmission flow network contain transmission flow information of the program and the various transmission flow constitution. From the start of the common market digital set-top boxes, provides program search process of the solution of the software realize the fake code reuse program. Hd digital television is the development trend of future television system, its development trend and the hot spot is to provide users more value added business, solution multiplexing technique is one of the core technology of digital television, it's development application will also push video industry development forward.
10.3969/j.issn.1001-8972.2012.10.066