国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

DVB-C標(biāo)準(zhǔn)下傳輸流解復(fù)用器的軟件系統(tǒng)設(shè)計

2017-09-03 09:22歐陽利林巖張烽
關(guān)鍵詞:復(fù)用器音視頻解析

歐陽利,林巖,張烽

(北京航空航天大學(xué),北京 100191)

DVB-C標(biāo)準(zhǔn)下傳輸流解復(fù)用器的軟件系統(tǒng)設(shè)計

歐陽利,林巖,張烽

(北京航空航天大學(xué),北京 100191)

本文介紹了DVB-C標(biāo)準(zhǔn)下傳輸流的復(fù)用/解復(fù)用原理,提出了利用軟件對傳輸流解復(fù)用及服務(wù)信息解析的解決方案,并通過STM320DM8168芯片實現(xiàn)了靈活、高效的軟件解復(fù)用系統(tǒng)。整個解復(fù)用系統(tǒng)主要包括了PID過濾、PSI解析和SI解析三部分。

DVB-C;解復(fù)用;嵌入式軟件;STM320DM8168

引 言

MPEG-2作為數(shù)字音視頻壓縮的國際通用標(biāo)準(zhǔn),在數(shù)字視頻廣播系統(tǒng)中廣泛應(yīng)用[1]。而隨著全球數(shù)字電視的發(fā)展,數(shù)字電視業(yè)務(wù)變得復(fù)雜多樣,數(shù)據(jù)傳輸需要更完善的標(biāo)準(zhǔn)。DVB-C標(biāo)準(zhǔn)基于MPEG-2的數(shù)據(jù)壓縮和復(fù)用技術(shù),在MPEG-2已有的4個PSI(Program Specific Information)表的基礎(chǔ)上進(jìn)行擴充,增加了9個表用來提供電子節(jié)目指南服務(wù),發(fā)展為SI(Service Information)[2]。SI是對整個網(wǎng)絡(luò)所有傳輸流的描述,包括網(wǎng)絡(luò)信息、音視頻數(shù)據(jù)流、條件接收系統(tǒng)、業(yè)務(wù)信息以及節(jié)目信息和節(jié)目時間表等。實現(xiàn)對DVB-C傳輸流的高效解復(fù)用,提取出音視頻流和相關(guān)業(yè)務(wù)信息對于有線數(shù)字電視系統(tǒng)具有重要意義。本文提出了一種利用軟件實現(xiàn)對DVB-C傳輸流的解復(fù)用,并通過對SI的解析生成電子節(jié)目指南(EPG)的實現(xiàn)方案。

1 復(fù)用/解復(fù)用概述

MPEG-2系統(tǒng)層規(guī)范[3]描述了多路音視頻的ES流和系統(tǒng)數(shù)據(jù)的復(fù)用機制。根據(jù)ISO/TFC 13818-1協(xié)議,原始音視頻數(shù)據(jù)經(jīng)過音視頻編碼器壓縮編碼,得到基本流ES (Elementary Stream),系統(tǒng)編碼器將ES流進(jìn)行分組打包,并加入同步時鐘TPS及DTS,得到PES 流(Packed Elementary Stream);同一個節(jié)目的多個PES流及節(jié)目信息經(jīng)過節(jié)目復(fù)用器,得到一路TS流。為了充分利用帶寬,再將多個節(jié)目的TS流進(jìn)行第二層復(fù)用。將第一層復(fù)用得到的節(jié)目TS流以及系統(tǒng)相關(guān)信息通過傳輸復(fù)用器進(jìn)行二次復(fù)用,同時加入節(jié)目參考時鐘PCR(Program Clock Reference),得到最終的DVB-C TS流。雙層復(fù)用原理如圖1所示。

圖1 雙層復(fù)用原理

最終得到的TS流的包長度是相對固定的,每個包長為188字節(jié)或204字節(jié),分為包頭和有效負(fù)載兩部分[4]。包頭的PID值為TS包的標(biāo)識,用來表示TS包的類型,如同一個表的所有TS包具有相同PID。解復(fù)用與復(fù)用相反,是從TS流中分離出各個節(jié)目的音視頻碼流,并解析出相應(yīng)的節(jié)目信息。

2 解復(fù)用軟件系統(tǒng)設(shè)計

整個解復(fù)用軟件系統(tǒng)分為三大部分:PID過濾、PSI解析和SI解析。依據(jù)DVB標(biāo)準(zhǔn)對各個表PID定義,PID過濾模塊對TS包進(jìn)行分類處理,為后續(xù)TS包拼接及表的解析做準(zhǔn)備;PSI解析模塊完成各個節(jié)目的音視頻流信息的獲取,實現(xiàn)節(jié)目的正常播放;SI解析模塊則主要獲取節(jié)目基本信息和電視節(jié)目時間表等,為用戶生成電子節(jié)目指南。

2.1 PID過濾

對DVB-C標(biāo)準(zhǔn)的TS流的解析,實際是對DVB-C標(biāo)準(zhǔn)中定義的各個表的正確解析,解析的前提是根據(jù)包標(biāo)識符PID將所有的TS包按表類型過濾,進(jìn)而選用正確合理的解析方式。根據(jù)解析流程,首先進(jìn)行PSI解析,其次在其基礎(chǔ)上進(jìn)行SI信息的解析,PID過濾流程與之對應(yīng)。

在PID過濾前,首先應(yīng)對輸入的TS流進(jìn)行TS包同步處理。TS包頭部以同步字0x47開始,在取得0x47字節(jié)時,以每個包長188字節(jié)或204字節(jié)計算,如若之后兩個包的包頭也是同步字0x47,則可認(rèn)為同步成功。

DVB-C標(biāo)準(zhǔn)對表的PID分配如圖2所示。在PID過濾時,首先進(jìn)行PSI數(shù)據(jù)流的過濾。根據(jù)TS包PID判斷此包是否屬于PSI的4個表,其次判斷是否為PMT表中的基本音視頻流,最后判斷是否為PCR或CA數(shù)據(jù),若屬于上述數(shù)據(jù)流,送入PSI解析模塊。PID過濾過程如圖3所示。

圖2 PID分配表

圖3 PID過濾

如果不滿足PSI過濾條件,則進(jìn)入SI過濾。SI表之間的聯(lián)系相對PSI四個表的聯(lián)系要弱很多,根據(jù)特定條件解析順序也不同,本文采用較為常見的順序。首先判斷是否為SDT或BAT,其次判斷是否為EIT或RST,最后判斷是否為TDT或TOT,符合條件的都進(jìn)入EPG信息解析模塊進(jìn)行相應(yīng)解析處理。

2.2 PSI解析

實現(xiàn)音視頻的播放是解復(fù)用最基本的目標(biāo)。解復(fù)用的目的是從傳輸流中恢復(fù)出各個節(jié)目的音頻、視頻流和其他系統(tǒng)服務(wù)信息,解析出各個節(jié)目。要實現(xiàn)節(jié)目的解析,主要需要用到PSI的PAT表、PMT表、CAT表和NIT表[5]。圖4描述了PSI四個表的關(guān)聯(lián)。PAT表是整個PSI信息的根節(jié)點,節(jié)目的解析從PAT表開始,由PAT表可以獲取到NIT表的PID和傳輸流中所有節(jié)目的PMT表的PID。如果希望獲取其中一個節(jié)目,則根據(jù)其PMT的PID獲得PMT表,從PMT中查詢與該節(jié)目相關(guān)的所有碼流PID,從而選擇性地接收相應(yīng)PID的TS包,通過解擾及解碼等處理,再進(jìn)行顯示。

圖4 PSI表關(guān)聯(lián)圖

以圖4為例,DVB-C標(biāo)準(zhǔn)中規(guī)定PAT的PID=0x0,通過PID 0x0 找到PAT表,解析得到NIT的PID(0x10)和各個節(jié)目號及對應(yīng)的PMT表的PID,如節(jié)目8,其PMT的PID為0x51。獲取PID為0x10的TS包,解析該NIT得到網(wǎng)絡(luò)的相關(guān)信息(如多個TS流分別對應(yīng)的頻率)并保存。如果希望收看節(jié)目8,則根據(jù)0x51找到對應(yīng)的PMT表,通過PMT表,可以查到該節(jié)目的音視頻和PCR及其他私有信息的PID,獲取相應(yīng)PID的傳輸包進(jìn)行解碼并顯示,就得到我們平時觀看的電視節(jié)目。

對于加擾的節(jié)目,在解碼時需要利用CAT表,并在特定的智能卡配合下進(jìn)行解擾。DVB-C標(biāo)準(zhǔn)規(guī)定CAT的PID為0x1,CAT表描述了CA系統(tǒng)與對應(yīng)的授權(quán)管理信息EMM所在TS包的PID,提供了解擾系統(tǒng)的相關(guān)參數(shù)。條件接收系統(tǒng)采用三重密鑰傳輸機制,解擾時首先從PMT及CAT表獲取包含ECM和EMM信息的TS包的PID,解析獲取相關(guān)TS包,將得到的EMM或ECM信息送給智能卡,智能卡解出解擾器需要的CW密鑰,解擾器拿到CW密鑰即可還原音視頻流。

圖5展現(xiàn)了PSI的解析以及后續(xù)處理的整體過程。通過以上步驟,基本完成了PSI信息的解析,獲取到最終的節(jié)目,實現(xiàn)正常的節(jié)目播放。

圖5 PSI解析流程

2.3 SI解析

PSI信息保證了節(jié)目的正常播放,而關(guān)于節(jié)目的其他詳細(xì)信息,即電子節(jié)目指南(EPG)的獲取,則需要通過DVB擴展的SI表的解析得到。EPG是數(shù)字電視的重要組成部分,它提供了節(jié)目的名稱、類型、播放列表、時間等。

SI的解析在PSI信息解析的基礎(chǔ)上進(jìn)行,按照SDT—BAT—EIT—RST—TDT (TOT)進(jìn)行(雖然在DVB標(biāo)準(zhǔn)中,NIT實際屬于SI信息范疇,但本文在PSI解析模塊對其進(jìn)行了解析)。本文不考慮僅僅解析單個節(jié)目情況,而是對所有信息進(jìn)行解析,且不考慮當(dāng)前流和其他流信息解析的先后。圖6描述了SI表解析的整體流程。從整體看,對經(jīng)過PID過濾后進(jìn)入SI解析模塊的TS流的處理流程,主要包括table_id分析、基本信息分析、服務(wù)信息解析三大部分。

圖6 SI解析流程

一個PID可以對應(yīng)多個表,而解析以表為單位進(jìn)行,故首先通過table_id區(qū)分每一個表及其作用。在服務(wù)信息解析前需要完成每個表的段拼接工作,而后進(jìn)行表的解析。如圖7所示,對于每一個表,都需要為其在內(nèi)存開辟一個單獨的緩存區(qū),用來其全部分段的接收,同時通過分段號來判斷一個表的所有分段是否全部接收完成。而版本號是表更新的關(guān)鍵,當(dāng)版本有更新時,需要重新接收此表。最后才能進(jìn)行表的解析工作,提取服務(wù)信息。

圖7 表接收流程

SI表的解析,最終目的是獲取各個表所攜帶的服務(wù)信息,服務(wù)信息解析的關(guān)鍵是descriptor_tag。服務(wù)信息一般包括兩層循環(huán),外循環(huán)是服務(wù)的基本信息,內(nèi)循環(huán)是服務(wù)的詳細(xì)描述。以EIT為例,在第一層循環(huán)可以解析得到事件id、開始及持續(xù)時間、運行狀態(tài)以及是否加擾,然而這個事件的名稱及描述則需要通過對第二層循環(huán)解析得到。對于第二層循環(huán),通過descriptor_tag,可以獲知描述的是什么內(nèi)容,比如事件名字或語言代碼。descriptor_tag在DVB-C中的定義如圖8所示。

圖8 descriptor分配表(部分)

通過SI的解析,利用TOT和TDT表可以獲取到時間信息;利用SDT表可以獲取服務(wù)的詳細(xì)描述;利用EIT表可以得到頻道節(jié)目播放時間表;RST可以對EIT動態(tài)更新,適時對節(jié)目進(jìn)行切換;而BAT則對服務(wù)進(jìn)行了分類,便于進(jìn)行節(jié)目選擇。通過以上信息,已基本可以構(gòu)造各種各樣的EPG。

整個軟件解復(fù)用系統(tǒng),通過PID過濾、PSI解析和SI解析三大模塊,實現(xiàn)了對TS流的解復(fù)用。PSI解析完成了雙層解復(fù)用,保證了節(jié)目的正常播放,SI解析獲取了節(jié)目信息,并根據(jù)需要生成了電子節(jié)目指南。DVB-C標(biāo)準(zhǔn)中各個表的關(guān)系、作用以及最終得到的解析結(jié)果簡圖如圖9所示。

圖9 解析結(jié)果簡圖

結(jié) 語

[1] ISO/ IEC International Standard 13818, Information technology-generic coding of moving pictures and associated audio[S].Sweden: ISO/IEC Copyright Office,2004.

[2] ETSI.Digital Video Broadcasting(DVB),Specification for Service Information (SI) in DVB systems,2012.

[3] ISO/IEC 13818-1.Information technology-Generic coding of moving pictures and associated audio information:Systems,2012.

[4] 黃鯤鵬,劉丹,胡蓉.MPEG-2傳輸流解復(fù)用的軟件實現(xiàn)[J].軟件導(dǎo)刊,2008(10):150-152.

[5] 高鵬,陳詠恩.MPEG-2傳輸流解復(fù)用器的設(shè)計與實現(xiàn)[J].計算機工程與應(yīng)用,2006(9):96-98.

Software Design for De-multiplexer Based on DVB-C

Ouyang Li,Lin Yan,Zhang Feng

(Beihang University,Beijing 100191,China)

In the paper,the theory of transport stream multiplexer/de-multiplexer based on DVB-C system is introduced.A solution that depends on software is proposed to accomplish transport stream demultiplexing and service information analysis,which implements a flexible and efficient demultiplexing system with STM320MD8168.The whole demultiplexing system is divided into three parts:PID filtering,PSI analysis and SI analysis.

DVB-C;demultiplex;embedded software;STM320DM8168

TP302.1

A

?士然

2017-03-23)

猜你喜歡
復(fù)用器音視頻解析
三角函數(shù)解析式中ω的幾種求法
3KB深圳市一禾音視頻科技有限公司
WIFI音視頻信號傳輸?shù)年P(guān)鍵問題探究
基于分束器與雙向型的光分插復(fù)用器分析研究
睡夢解析儀
電競初解析
高速公路整合移動音視頻系統(tǒng)應(yīng)用
相機解析
復(fù)用器與遙控設(shè)備兼容問題探討及解決方案
Roland專業(yè)音視頻新技術(shù)研討會在上海召開
思茅市| 五华县| 五常市| 太康县| 临江市| 河东区| 从江县| 社旗县| 贵南县| 南川市| 兴仁县| 河东区| 新巴尔虎左旗| 固安县| 隆尧县| 阿克苏市| 建平县| 永修县| 佛山市| 丰顺县| 四会市| 南乐县| 南丰县| 托克托县| 鹿泉市| 广安市| 仁化县| 铁岭市| 巴中市| 东平县| 盈江县| 镶黄旗| 肥西县| 黔西县| 军事| 讷河市| 邹平县| 长顺县| 华池县| 大埔区| 南江县|