杜 琨,于鴻洋
(電子科技大學(xué)電子科學(xué)技術(shù)研究院,四川成都611731)
近年來,人們?nèi)粘I詈凸ぷ鞴?jié)奏不斷加快,在家庭中觀看電視節(jié)目時(shí)間也呈現(xiàn)碎片化,渴望在家里不同地方觀看數(shù)字電視節(jié)目。同時(shí),目前的移動(dòng)設(shè)備(智能手機(jī)、PAD等)的性能越來越強(qiáng),已經(jīng)能夠滿足實(shí)時(shí)流暢解碼MPEG-2?;谶@些條件,本文提出了一種改進(jìn)現(xiàn)有機(jī)頂盒的方法,通過在機(jī)頂盒內(nèi)搭建UDP服務(wù)器和WiFi熱點(diǎn),在家庭內(nèi)部將有線電視信號(hào)通過無線網(wǎng)絡(luò)發(fā)送到移動(dòng)設(shè)備上,使家庭用戶能夠在智能移動(dòng)設(shè)備上觀看有線數(shù)字電視節(jié)目。
本文提出的方案依托傳統(tǒng)有線數(shù)字電視網(wǎng)絡(luò),借助智能設(shè)備的解碼性能,不用再對(duì)TS流數(shù)據(jù)進(jìn)行轉(zhuǎn)碼、轉(zhuǎn)協(xié)議,而且不必依賴于寬帶網(wǎng)絡(luò),具有適用性強(qiáng)、簡(jiǎn)單易用的特點(diǎn)。利用UDP協(xié)議的無連接特性以及多播特性,采用TS over IP技術(shù)能夠快速傳輸,達(dá)到低延遲的效果。
MPEG-2系統(tǒng)是將音頻、視頻及其他數(shù)據(jù)的基本流組合成若干個(gè)適宜于傳輸或存儲(chǔ)的數(shù)據(jù)流的規(guī)范。MPEG-2在系統(tǒng)層定義了兩種數(shù)據(jù)結(jié)構(gòu)——節(jié)目流(Program Stream,PS)和傳輸流(Transport Stream,TS)。在不容易發(fā)生錯(cuò)誤的環(huán)境下,采用PS來保存一個(gè)節(jié)目的編碼數(shù)據(jù)。而采用TS來傳輸?shù)哪康氖菫榱嗽谟锌赡艹霈F(xiàn)嚴(yán)重錯(cuò)誤的情況下進(jìn)行一個(gè)或者多個(gè)節(jié)目的傳輸或存儲(chǔ)[1]。
數(shù)字電視視頻數(shù)據(jù)和數(shù)字電視音頻數(shù)據(jù)分別通過視頻編碼和聲音編碼后,生成視頻基本流(Elementary Stream,ES)和音頻ES。然后,相應(yīng)的ES分別通過各自的數(shù)據(jù)包形成器打包成打包基本流(Packed Elementary Stream,PES)包,并且由PES包構(gòu)成PES。最后,節(jié)目復(fù)用器和傳輸復(fù)用器分別將視頻PES和音頻PES組合成相應(yīng)的節(jié)目流(PS)包和傳輸流(TS)包[2],如圖1所示。DVB-C系統(tǒng)采用的TS。由于每個(gè)TS包具有固定的包長(zhǎng)度(188 byte),因此能夠很容易地識(shí)別出TS包的開頭和結(jié)尾,一旦發(fā)生TS包丟失,也能容易地檢查出哪個(gè)包丟失,進(jìn)而通過一些控制協(xié)議恢復(fù)同步,因此傳輸流適宜在網(wǎng)絡(luò)中遠(yuǎn)距離傳輸。每個(gè)TS數(shù)據(jù)包都有一個(gè)最小長(zhǎng)度為4 byte的包頭,其中有1個(gè)13 bit的域,該域包含了TS流的包標(biāo)識(shí)符(PID),其主要用于區(qū)別TS包,便于從復(fù)用的TS流中解析出指定的數(shù)據(jù),其余的包容量用于有效載荷。
圖1 MPEG-2的2種數(shù)據(jù)結(jié)構(gòu)形成過程
在DVB-C流中,使用不同的PID將同一個(gè)節(jié)目的視頻和音頻信號(hào)分別封裝在2個(gè)基本流里。同樣地,每個(gè)包含業(yè)務(wù)信息(PSI/SI)的表存放在另一個(gè)PID的基本流里。通常,數(shù)字接收端使用PSI表(PAT,PMT,NIT和CAT)來解碼信號(hào),而將SI信息(SDT,EIT和TDT)用于顯示節(jié)目相關(guān)的一些信息。
機(jī)頂盒根據(jù)用戶選擇節(jié)目的PID,從PMT表中尋找對(duì)應(yīng)的音頻、視頻及相關(guān)數(shù)據(jù)信息的對(duì)應(yīng)PID值,然后通過高頻頭接收有線數(shù)字電視信號(hào),依據(jù)PID值對(duì)獲取到的復(fù)用TS流進(jìn)行解復(fù)用操作,過濾出用戶選取節(jié)目的TS流,然后再通過解碼器,將相應(yīng)視音頻數(shù)據(jù)解碼后送到電視機(jī)上播放。TS的解碼主要分為2個(gè)步驟:首先,從PID為0x0000的TS流包得到PAT表,根據(jù)PAT表的語法結(jié)構(gòu)從中找到PMT表。PMT表中包含了各個(gè)節(jié)目源相關(guān)的PID值,接著根據(jù)PMT表的語法結(jié)構(gòu)依據(jù)節(jié)目源的PID檢索到各個(gè)ES的PID。然后,機(jī)頂盒會(huì)根據(jù)PMT提供的相關(guān)節(jié)目的PID值從有線數(shù)字電視信號(hào)中過濾出相應(yīng)的節(jié)目信息,然后再送到相應(yīng)的視頻解碼器、音頻解碼器進(jìn)行解碼。因此,TS是由節(jié)目復(fù)用和傳輸復(fù)用來完成,即在節(jié)目復(fù)用時(shí),將PMT表信息加入進(jìn)去,在傳輸復(fù)用時(shí),將PAT表信息加入進(jìn)去。同樣地,在節(jié)目解復(fù)用時(shí),根據(jù)相應(yīng)語法規(guī)則可以獲得PMT表,在傳輸解復(fù)用時(shí),也可以獲得PAT表。圖2很好地概述了其思想。
圖2 TS解碼過程
TS over IP技術(shù)是一種遵循IP協(xié)議基礎(chǔ)上在以太網(wǎng)上傳輸?shù)腡S流的技術(shù),其主要功能是實(shí)現(xiàn)數(shù)字電視傳輸協(xié)議的轉(zhuǎn)換。傳統(tǒng)的TSover IP技術(shù)是用于電信運(yùn)營(yíng)商提供IPTV服務(wù),通過在前端將TS封裝到IP協(xié)議里,然后使用寬帶網(wǎng)絡(luò)來傳輸數(shù)字電視節(jié)目信號(hào)的技術(shù)。本文使用TS over IP技術(shù),在家庭用戶內(nèi)部通過家庭網(wǎng)關(guān)將有線電視TS流信號(hào)接收解碼出來,然后在家庭網(wǎng)關(guān)流媒體服務(wù)器上將用戶選擇的節(jié)目的PES再封裝成UDP包,通過家庭網(wǎng)關(guān)上自建的WiFi熱點(diǎn)傳輸?shù)揭苿?dòng)終端上,實(shí)現(xiàn)了有線數(shù)字電視信號(hào)在家庭內(nèi)部的無線收看。UDP協(xié)議的主要作用是將網(wǎng)絡(luò)數(shù)據(jù)流壓縮成數(shù)據(jù)報(bào)的形式,使用端口號(hào)為不同的應(yīng)用保留其各自的數(shù)據(jù)傳輸通道。本文中使用不同的端口號(hào)和目的IP地址來向不同的智能設(shè)備分發(fā)節(jié)目流。對(duì)于一些著重傳輸性能而不是傳輸完整性的應(yīng)用,使用UDP協(xié)議更加適合,UDP協(xié)議可以使用廣播或者組播的方式同時(shí)向子網(wǎng)的所有客戶端進(jìn)程發(fā)送消息,當(dāng)有多個(gè)客戶端請(qǐng)求一樣的節(jié)目源時(shí),利用這種特性能有效減少服務(wù)端負(fù)載。UDP協(xié)議在本方案中特別適合,不僅具有快速的傳輸速度,而且可以一對(duì)多傳輸,對(duì)于家庭中多人觀看有良好的效果。
物理網(wǎng)絡(luò)層會(huì)限制物理層中每次發(fā)送數(shù)據(jù)幀的最大長(zhǎng)度,如果大于最大傳輸單元(Maximum Transmission Unit,MTU)則會(huì)對(duì)其進(jìn)行分片處理。當(dāng)一份IP數(shù)據(jù)報(bào)被分片之后,只有到達(dá)目的地才會(huì)對(duì)其進(jìn)行重新組裝,因此如果在傳輸過程中,即使只丟失一片數(shù)據(jù),也會(huì)導(dǎo)致整個(gè)IP數(shù)據(jù)包重傳。由于UDP協(xié)議并不提供重傳機(jī)制,需要對(duì)UDP包內(nèi)TS包數(shù)量進(jìn)行限制,避免因?yàn)槟硞€(gè)分片丟失而導(dǎo)致整個(gè)數(shù)據(jù)包被丟棄。所以在 UDP封包過程中,最大的TS包數(shù)量為Max≤,其中UDP數(shù)據(jù)域最大為1 472 byte,TS包大小為188 byte,因此最大TS包數(shù)量為7個(gè)。UDP數(shù)據(jù)包封裝成一份IP數(shù)據(jù)報(bào)的格式,如圖3所示。
圖3 UDP分片舉例
本文所研究的室內(nèi)無線發(fā)送DVB的方案,在機(jī)頂盒上會(huì)建立一個(gè)WiFi熱點(diǎn),采用2.4 GHz頻道能夠兼容絕大部分的智能移動(dòng)設(shè)備。在2.4 GHz頻段上的協(xié)議主要有 IEEE 802.11b/g/n,它們的一些參數(shù)如表1所示。
表1 IEEE 802.11b/g/n的規(guī)格參數(shù)
由于目前兼容IEEE 802.11n的智能設(shè)備還不是很多,因此主要討論IEEE 802.11b、IEEE 802.11g兩種協(xié)議。它們的頻率范圍是2.400 0~2.483 5 GHz,具有13個(gè)信道,但其中只有3個(gè)信道是互不重疊的:1,6,11,如圖4中淺色弧線所示。
圖4 IEEE 802.11b/g頻譜劃分
考慮到普通家庭內(nèi)的人數(shù)為3~5人,同時(shí)選擇使用無線網(wǎng)絡(luò)收看數(shù)字電視的人數(shù)應(yīng)該會(huì)在3人以內(nèi),所以利用IEEE 802.11b/g的3個(gè)互不重疊的信道來傳輸DVB數(shù)據(jù)是不會(huì)引起信道沖突的。因此可以保證無線傳輸?shù)馁|(zhì)量。每個(gè)信道帶寬為20 MHz,用于傳輸標(biāo)清格式的DVB-C節(jié)目源是沒有壓力的。
在IEEE 802.11中,無線網(wǎng)絡(luò)的速度受到距離遠(yuǎn)近的影響,速度范圍為1~54 Mbit/s。電磁波經(jīng)過空間時(shí)會(huì)衰減,當(dāng)智能終端設(shè)備遠(yuǎn)離機(jī)頂盒無線AP時(shí),信號(hào)電平就會(huì)不斷下滑。Shannon定理描述了傳輸信道性能在理論上的極限,可以分別以分貝或功率比為測(cè)量單位。
Shannon定理反映出無限位率(unlimited bit rate)在理論上的實(shí)際情況。而無線網(wǎng)絡(luò)物理層的設(shè)計(jì)都是盡可能趨向Shannon 極限的編碼率[3]。
因?yàn)楸镜自肼?noise floor)不變,信號(hào)的衰減就會(huì)造成信噪比的下降。如果空中沒有障礙物阻隔,無線信號(hào)的衰減就可以用式(2)計(jì)算。路徑損耗受到距離與無線電磁波頻率的影響。距離越遠(yuǎn)或頻率越高,路徑損耗就越大。因此采用2.4 GHz的 IEEE 802.11b/g的傳輸距離比采用5 GHz的IEEE 802.11a的長(zhǎng)。開放空間的路徑損耗可以表示為
式中:頻率F以GHz表示,距離d以m為單位。不過,路徑損耗不僅受距離影響,墻面或者窗戶等障礙物也會(huì)受影響。在本文研究的2.4 GHz頻率下,路徑損耗為40.1+lg d,而日常室內(nèi)生活中d的取值一般為(0.1 m,5.0 m),所以路徑損耗取值范圍為(39.10 dB,40.80 dB)。
困擾無線網(wǎng)絡(luò)的一個(gè)主要問題是多徑衰落(multipath fading)。從發(fā)送端至接收端,經(jīng)過不同路徑的反射,例如墻面、桌椅等反射,無線信號(hào)到達(dá)接收端時(shí)其路程不盡相同,因此彼此之間會(huì)有延遲落差。而且波與波之間具有疊加性,當(dāng)波經(jīng)過室內(nèi)多次反射后到達(dá)接收端,不同的波的次序不再和發(fā)送端一致,因此會(huì)造成整個(gè)波形的混淆扭曲。在室內(nèi)情況中,來自不同路徑的波前會(huì)互相疊加。由于多徑信道是時(shí)變的隨機(jī)過程,沒有一致的表現(xiàn)形式,所以它的基本特性只有通過統(tǒng)計(jì)方法來描述。設(shè)時(shí)變多徑信道的沖激響應(yīng)為h(τ,t),則時(shí)變信道的傳輸函數(shù)為
基于廣義平穩(wěn)不相關(guān)散射(Wide Sense Stationary Uncorrelated Scattering)模型,即不同時(shí)延τ的多徑信號(hào)是不相關(guān)的。對(duì)于普通的家庭室內(nèi)環(huán)境來說,延遲擴(kuò)展的數(shù)值一般認(rèn)為在幾十納秒。因此對(duì)IEEE 802.11協(xié)議采用的DSSS及FHSS調(diào)制方式來說,DSSS擴(kuò)頻系統(tǒng)采用的碼片速率是11 MCode/s,因此其相干間隔應(yīng)該為s,即約 91 ns,那么DSSS擴(kuò)頻系統(tǒng)能夠有效抑制所有延遲在91 ns以上的多徑信號(hào)。如果要使FHSS調(diào)制方式的系統(tǒng)具有抗多徑能力,則要求系統(tǒng)在多徑信號(hào)到達(dá)之前就能跳變到另一頻率上。例如,對(duì)于100 ns的多徑時(shí)延,跳頻速率必須大于107Hz。由此可見,屬于慢跳頻的IEEE 802.11的FHSS系統(tǒng)無法有效地對(duì)抗多徑干擾[4]。因此,本研究采用IEEE 802.11的DSSS系統(tǒng)來進(jìn)行實(shí)驗(yàn),能有效降低信道干擾。
本方案設(shè)計(jì)的家庭網(wǎng)關(guān)應(yīng)該具有3個(gè)基本功能:1)接收有線數(shù)字電視信號(hào),通過調(diào)諧、解擾、解復(fù)用、解碼等處理后,獲得某個(gè)節(jié)目的視音頻信號(hào);2)家庭網(wǎng)關(guān)將解碼獲得的視音頻信號(hào)傳送到流媒體服務(wù)器處,在傳輸視音頻信號(hào)之前,先將其封裝在UDP的負(fù)載中,再封裝在IP數(shù)據(jù)包中;3)將封裝后的視音頻數(shù)據(jù)傳輸?shù)絎iFi轉(zhuǎn)發(fā)處,家庭網(wǎng)關(guān)根據(jù)接收到請(qǐng)求的移動(dòng)客戶端的IP地址及端口號(hào),利用UDP協(xié)議單播的方式,將視音頻數(shù)據(jù)傳輸?shù)揭苿?dòng)客戶端(如移動(dòng)PC、Pad、智能手機(jī)等)。
整體方案的示意圖如圖6所示,家庭用戶通過移動(dòng)終端接收有線數(shù)字電視的步驟為:
1)啟動(dòng)家庭網(wǎng)關(guān),網(wǎng)關(guān)自動(dòng)開啟Web服務(wù)器、WiFi熱點(diǎn)等功能,并加載相應(yīng)驅(qū)動(dòng)、相關(guān)模塊等,完成系統(tǒng)初始化,等待用戶請(qǐng)求節(jié)目;
2)移動(dòng)終端連接到家庭網(wǎng)關(guān)的WiFi熱點(diǎn)上,通過訪問服務(wù)器獲取節(jié)目列表,選擇感興趣的節(jié)目,發(fā)出節(jié)目請(qǐng)求;
圖6 整體方案示意圖
3)家庭網(wǎng)關(guān)接收到移動(dòng)終端的節(jié)目請(qǐng)求后,通過HTTP GET獲取該移動(dòng)終端的IP地址,解析出移動(dòng)終端請(qǐng)求的節(jié)目號(hào)并傳送給家庭網(wǎng)關(guān)接收解碼模塊;
4)家庭網(wǎng)關(guān)接收解碼模塊接收到所需過濾掉的節(jié)目號(hào)后,通過調(diào)諧、解調(diào)、解復(fù)用等獲取到相應(yīng)節(jié)目的視音頻TS流,再傳送到流媒體服務(wù)器上;
5)流媒體服務(wù)器接收到對(duì)應(yīng)節(jié)目TS流后,將其封裝在UDP包負(fù)載內(nèi),然后再傳送到WiFi轉(zhuǎn)發(fā)處;
6)WiFi轉(zhuǎn)發(fā)處接收到UDP包后,根據(jù)前面解析出的移動(dòng)端IP地址和端口號(hào),通過UDP單播的方式將移動(dòng)終端請(qǐng)求的節(jié)目傳輸?shù)揭苿?dòng)終端上;
7)移動(dòng)終端打開播放器,接收相應(yīng)UDP單播數(shù)據(jù),通過播放器的解碼功能,將所請(qǐng)求的電視節(jié)目對(duì)應(yīng)的視音頻數(shù)據(jù)解碼出來。
實(shí)驗(yàn)采用網(wǎng)絡(luò)分析工具wireshark。將接收設(shè)備端口號(hào)1234作為UDP協(xié)議的目的端口,發(fā)送端端口號(hào)39398作為UDP協(xié)議的源端口。實(shí)驗(yàn)是在一個(gè)14 m×12 m的辦公環(huán)境進(jìn)行的,如圖7所示。
圖7 實(shí)驗(yàn)環(huán)境平面圖
實(shí)驗(yàn)室內(nèi)主要有3種障礙物:1.1 m高的桌子Desk1、1.6 m高的桌子Desk2和0.8 m高的椅子Chair若干。M是家庭網(wǎng)關(guān)放置的位置,高度為0.7 m,所處房間大小為3 m×4 m。分別在A、B、C這3個(gè)地點(diǎn)進(jìn)行了實(shí)驗(yàn)測(cè)試,3個(gè)地點(diǎn)的接收設(shè)備播放同一個(gè)節(jié)目,以避免因?yàn)楣?jié)目源的不同影響實(shí)驗(yàn)結(jié)果。智能終端的播放效果為A好于B好于C。因?yàn)锳與機(jī)頂盒距離很近,而且中間沒有任何障礙物,智能終端播放效果最好,沒有任何卡頓。C處與機(jī)頂盒直接障礙物較多,且經(jīng)過兩堵墻后,C處WiFi的信號(hào)不是很好,所以會(huì)有掉幀的現(xiàn)象出現(xiàn)。下面以典型位置B的實(shí)驗(yàn)數(shù)據(jù)進(jìn)行分析,如表2所示。
表2 部分抓包結(jié)果
通過一些wireshark語法過濾規(guī)則,獲取了端口號(hào)1234所接收到的所有UDP數(shù)據(jù)包。從表2可以看出,UDP包內(nèi)的數(shù)據(jù)格式都是MPEG TS格式,接收到的數(shù)據(jù)包中既有音頻TS(圖中信息欄為Audio Layer 2)也有視頻TS和數(shù)據(jù)信息(圖中信息欄為Program Map Table(PMT))。因此,實(shí)驗(yàn)驗(yàn)證結(jié)果表明移動(dòng)客戶端可以接收到通過UDP協(xié)議轉(zhuǎn)發(fā)的無線信號(hào),并且包結(jié)構(gòu)完整能夠順利解析出來,說明本方案具有可行性。
在表3所得數(shù)據(jù)為1 min時(shí)間內(nèi)指定端口1234所接收的數(shù)據(jù)。Captured欄是未經(jīng)過濾器接收到的數(shù)據(jù),Displayed欄是經(jīng)過過濾器接收到的數(shù)據(jù)。經(jīng)過分析,每秒鐘displayed/captured包數(shù)比為98.72%,顯示其良好的接收效率,考慮到實(shí)際家庭內(nèi)部的使用環(huán)境,這樣的效率是足夠滿足家庭用戶的觀看要求,不會(huì)影響觀看體驗(yàn)。實(shí)際接收到UDP包長(zhǎng)度均為1 358 byte,符合本文前面所討論的包長(zhǎng)度要求。由此可以得出本文實(shí)驗(yàn)條件下所研究的系統(tǒng)具有可靠的性能。
表3 無線數(shù)據(jù)統(tǒng)計(jì)
本文研究了一種基于UDP的室內(nèi)無線接收DVB的方案,分別從MPEG-2 TS原理分析和無線傳輸協(xié)議原理分析了方案的可行性與可能遇到的瓶頸問題。通過實(shí)驗(yàn)得到的數(shù)據(jù),在接收端能夠接收到完整TS并能順利解析出包頭,傳輸過程中的效率顯示也能夠滿足室內(nèi)接收數(shù)字電視信號(hào),不會(huì)因?yàn)閬G包過多而影響觀看效果。本文所研究的方案可以充分利用UDP無連接特性傳輸速度快和多播特性向一組接收設(shè)備傳輸視頻信號(hào),不僅適合家庭使用,對(duì)于大型賽事或時(shí)事新聞的定向推送也有一定意義。
[1]羅云.基于IP的MPEG-2 TS流傳輸?shù)姆治雠c研究[D].上海:上海交通大學(xué),2007.
[2]劉志鵬,唐繼勇,白新躍.基于MPEG-2復(fù)用算法的MP4視頻復(fù)用算法研究[J].中國(guó)有線電視,2006(14):1352-1355.
[3]GAST M.802.11無線網(wǎng)絡(luò)權(quán)威指南[M].南京:東南大學(xué)出版社,2007.
[4]關(guān)健.無線個(gè)人區(qū)域網(wǎng)ZigBee與WiFi的干擾分析[D].北京:北京郵電大學(xué),2009.