王 宣,王安紅
(太原科技大學(xué)電子信息工程學(xué)院,太原 030024)
基于SVC與DASH的視頻流媒體系統(tǒng)
王 宣,王安紅
(太原科技大學(xué)電子信息工程學(xué)院,太原 030024)
隨著現(xiàn)代網(wǎng)絡(luò)技術(shù)的高速發(fā)展,高清甚至超清流媒體視頻業(yè)務(wù)在網(wǎng)絡(luò)數(shù)據(jù)流量中占據(jù)越來越高的比例。為統(tǒng)一視頻流媒體的傳輸格式,國際MPEG組織發(fā)起制定一種標(biāo)準(zhǔn)的動(dòng)態(tài)自適應(yīng)流媒體(Dynamic Adaptive Streaming over HTTP,DASH)傳輸框架。然而,現(xiàn)有DASH框架常采用固定碼率的視頻編碼技術(shù),如H.264,一定程度限制其碼流的網(wǎng)絡(luò)適應(yīng)性。對此,該研究將可伸縮視頻編碼(Scalable video coding,SVC)與DASH相結(jié)合的流媒體傳輸方案,提出SVC碼流到DASH的映射方案,并在Internet上真正實(shí)現(xiàn)了這種碼率可伸縮的DASH傳輸系統(tǒng),測試驗(yàn)證了系統(tǒng)的調(diào)控性能。
流媒體; 可伸縮視頻編碼; 動(dòng)態(tài)自適應(yīng)流媒體; 視頻傳輸系統(tǒng)
移動(dòng)視頻業(yè)務(wù)發(fā)展越來越快,根據(jù)Cisco[1]的預(yù)測性統(tǒng)計(jì),截止2015年底視頻業(yè)務(wù)流量已經(jīng)上升到74%.但是,無線通信的帶寬限制,對視頻業(yè)務(wù)的高速率與低延遲需求造成很大挑戰(zhàn)。因此,國際組織MPEG發(fā)起并制定了新一代的流媒體傳輸協(xié)議標(biāo)準(zhǔn),稱之為MPEG-DASH或者DASH(Dynamic Adaptive Streaming over HTTP )[2],統(tǒng)一了微軟的流媒體傳輸協(xié)議Microsoft Silverlight Smooth Streaming[3]、蘋果的Apple HTTP Live Streaming以及Adobe的Adobe HTTP Dynamic Streaming[4]協(xié)議。
DASH提供了多種機(jī)制來保證網(wǎng)絡(luò)中視頻傳輸?shù)男阅?。利用HTTP協(xié)議,DASH系統(tǒng)可輕松穿越防火墻。同時(shí),DASH通過TCP重傳機(jī)制保障傳輸?shù)囊曨l數(shù)據(jù)能被完整接收。
考慮到DASH框架本身是多碼率視頻傳輸系統(tǒng),可劃分為多個(gè)DASH層,因此非常適合采用分層視頻編碼方案,以實(shí)現(xiàn)無線接入網(wǎng)絡(luò)中更加精細(xì)的動(dòng)態(tài)自適應(yīng)分層視頻流的傳輸。因此,本文考慮用分層視頻編碼(Scalable Video Coding,SVC)[5]代替現(xiàn)有DASH中傳統(tǒng)的固定碼率視頻編碼,研究一種SVC與DASH結(jié)合的視頻傳輸方案。首先,本文提出了一種SVC到DASH分層的映射方法。其次,搭建了HTTP服務(wù)器。最后,本文在Internet上實(shí)現(xiàn)了所提出的基于SVC與DASH的流媒體系統(tǒng)并驗(yàn)證了其性能。
視頻碼流的可伸縮性是指一個(gè)視頻碼流可根據(jù)需要多次解碼為不同質(zhì)量的視頻。因此,可伸縮視頻編碼的碼流具有很高的網(wǎng)絡(luò)適應(yīng)性。
作為視頻編碼標(biāo)準(zhǔn)H.264的擴(kuò)展部分,SVC在原有的視頻編碼基礎(chǔ)上,編碼輸出一個(gè)可伸縮的視頻碼流,該碼流在時(shí)間域、空間域和質(zhì)量上都具有可伸縮性[6]。
基于以上特點(diǎn), SVC可以與DASH的分層傳輸性能結(jié)合。文獻(xiàn)[7]中將SVC與DASH結(jié)合并在移動(dòng)終端進(jìn)行了實(shí)驗(yàn)。文獻(xiàn)[8]也提出了SVC與DASH結(jié)合的方案,通過帶寬的估算來決定SVC視頻發(fā)送的碼率。然而,上述研究都僅僅局限于軟件仿真的傳輸系統(tǒng)模擬,并沒有搭建一個(gè)實(shí)際的傳輸系統(tǒng)。對此,本文研究并搭建了一個(gè)基于SVC與DASH相結(jié)合的流媒體傳輸平臺,真正實(shí)現(xiàn)了SVC碼流在無線網(wǎng)絡(luò)的傳輸。
DASH協(xié)議是基于HTTP的動(dòng)態(tài)自適應(yīng)流媒體協(xié)議。圖1體現(xiàn)了DASH的核心思想。
圖1 DASH核心思想示意圖
Fig.1 The main idea of DASH
在DASH流媒體傳輸系統(tǒng)中,視頻內(nèi)容被編碼為多種碼率、固定長度的視頻切片,并作為DASH媒體內(nèi)容的最基本單元存放于Web服務(wù)器中。Web服務(wù)器采用HTTP協(xié)議。除了DASH的最基本單元,Web服務(wù)器中還存放描述DASH媒體內(nèi)容的MPD文件,描述了媒體內(nèi)容存放的URL地址、碼率版本的個(gè)數(shù)以及媒體切片的個(gè)數(shù)等。
客戶端在播放DASH視頻時(shí),需要先向HTTP服務(wù)器發(fā)送HTTP請求下載MPD文件,也可以通過郵件或者廣播等其他方式請求MPD文件,客戶端的解碼模塊會解析下載到本地的MPD媒體描述文件,從而得知媒體內(nèi)容的格式、碼率以及分辨率等視頻信息。然后客戶端估算當(dāng)前的網(wǎng)絡(luò)狀況并選擇最合適的媒體切片進(jìn)行下載。
HTTP協(xié)議是一種網(wǎng)絡(luò)傳輸協(xié)議,也是DASH流媒體系統(tǒng)網(wǎng)絡(luò)服務(wù)器搭建所采用的傳輸協(xié)議。
在TCP/IP的架構(gòu)體系中,HTTP協(xié)議在TCP/IP協(xié)議的頂層,屬于應(yīng)用層協(xié)議。瀏覽Web時(shí),瀏覽器與Web服務(wù)器進(jìn)行信息交換是通過HTTP協(xié)議進(jìn)行的。MIME定義了交換的信息類型的格式。
HTTP協(xié)議具有以下特點(diǎn):
(1) HTTP協(xié)議為服務(wù)器/客戶端的工作狀態(tài),客戶端與服務(wù)器之間通過HTTP協(xié)議進(jìn)行通信。
(2) HTTP協(xié)議是無狀態(tài)的,客戶端與服務(wù)器之間只有需要進(jìn)行通訊的時(shí)候才會建立連接,并且在通訊結(jié)束之后會自動(dòng)斷開連接。
(3)HTTP協(xié)議采用TCP協(xié)議來作為傳輸層協(xié)議,利用TCP協(xié)議的錯(cuò)誤重傳機(jī)制,可以保證數(shù)據(jù)的完整傳輸。
(4)HTTP協(xié)議是超文本傳送協(xié)議,能夠很容易繞過網(wǎng)絡(luò)防火墻。
提出了基于SVC與DASH相結(jié)合的流媒體系統(tǒng)并將其實(shí)現(xiàn),圖2為本文所提出的流媒體系統(tǒng)的系統(tǒng)框圖。
圖2 DASH系統(tǒng)框圖
Fig.2 The system architecture of DASH
原始視頻在經(jīng)過SVC編碼器之后得到一個(gè)可伸縮碼流,然后根據(jù)SVC層到DASH層的映射規(guī)則,通過碼流提取得到多個(gè)子碼流。對子碼流進(jìn)行MP4封裝以后,根據(jù)實(shí)際的需求對封裝媒體內(nèi)容進(jìn)行切片并同時(shí)生成MPD文件,然后將編碼好的DASH媒體內(nèi)容及MPD文件都存放到Web服務(wù)器??蛻舳嗽谛枰シ乓曨l時(shí)會向Web服務(wù)器發(fā)送HTTP請求并下載MPD文件,通過MPD文件,客戶端會估算自身的信道條件并選擇最接近自己帶寬的碼率下載視頻切片并解碼播放。
設(shè)計(jì)了SVC層到DASH層的映射機(jī)制,映射的原則是SVC碼流層均勻分配,也就是抽取的每個(gè)碼率版本的視頻包含相同數(shù)量的SVC層。圖3為SVC到DASH分層示意圖,其中,T0-T4表示SVC的5個(gè)時(shí)間層,Q0-Q2表示3個(gè)質(zhì)量層,因此可形成15個(gè)SVC層,將SVC中所有的基本層(包括T0和Q0)都映射到第一個(gè)DASH層D0,而其余的SVC層將數(shù)量均勻地映射到了其他DASH層。以5個(gè)DASH層為例,映射結(jié)果如表1所示,這樣,用戶將有5個(gè)碼率版本的視頻可以選擇。
圖3 SVC分層示意圖
Fig.3 Sketch map of layered SVC streaming
表1 SVC-DASH映射表
Tab.1 SVC-DASH mapping table
T0T1T2T3T4Q0D0D0D0D0D0Q1D0D1D2D3D4Q2D0D1D2D3D4
考慮到服務(wù)器穩(wěn)定性的因素,本文不采用Windows系統(tǒng),而是把Web服務(wù)器安裝到Linux系統(tǒng)中,Linux系統(tǒng)采用的是Ubuntu1604,服務(wù)器選用的是比較流行的Apache HTTP服務(wù)器,搭建服務(wù)器的步驟主要有以下幾步。
(1)下載Apache HTTP服務(wù)器的安裝包。
(2)安裝Apache 服務(wù)器。
(3)對服務(wù)器的配置文件HTTP.conf進(jìn)行配置。
(4)啟動(dòng)HTTP服務(wù)器。
在DASH媒體內(nèi)容以及Web服務(wù)器搭建完畢之后,接下來是DASH客戶端播放器的選擇,目前存在的客戶端播放器主要包括:libdash提出的DASH客戶端播放器、VLC客戶端播放器以及GPAC公司開發(fā)的Osmo4客戶端播放器,谷歌公司開發(fā)的安卓客戶端播放器ExoPlayerTest.由于DASH標(biāo)準(zhǔn)還在發(fā)展之中,到目前為止,國際ISO/IEC在2014年5月發(fā)布了最新標(biāo)準(zhǔn)ISO/IEC 23009-1,本文的DASH媒體內(nèi)容是根據(jù)最新的DASH標(biāo)準(zhǔn)編碼生成的,考慮到播放器的兼容性,本文采用的是GPAC公司開發(fā)的Osmo4播放器。
本文對搭建的基于SVC與DASH的流媒體系統(tǒng)性能進(jìn)行測試,系統(tǒng)測試主要分為兩個(gè)方面,一是在不限帶寬和帶寬受限的條件下檢測客戶端能否流暢的播放單碼率(單碼率即媒體內(nèi)容僅包含視頻的一個(gè)碼率版本,用H.264編碼產(chǎn)生)DASH媒體內(nèi)容。二是客戶端在不限帶寬和帶寬受限的條件下能否流暢播放多碼率(多碼率即媒體內(nèi)容包含視頻的多個(gè)碼率版本,本文用SVC編碼產(chǎn)生)DASH媒體內(nèi)容。
本文所采用的服務(wù)器和客戶端分別是戴爾臺式機(jī)和索尼筆記本電腦。其中服務(wù)器的配置為Dell Precision T3600 Tower,CPU:Intel E5-1603@2.80 GHz,內(nèi)存:4 GB.客戶端配置為SONY SVE14SIS筆記本,CPU:Intel core i7-3615QM@2.3 GHz,內(nèi)存:8 GB.
在網(wǎng)絡(luò)測試中,客戶端和服務(wù)器通過Internet網(wǎng)連接,網(wǎng)絡(luò)所采用的是廣域網(wǎng)??蛻舳送ㄟ^固定的IP地址來訪問服務(wù)器。
首先需要準(zhǔn)備DASH媒體內(nèi)容,本文采用的是SVC的參考模型軟件JSVM9.19.7[9]來對視頻內(nèi)容進(jìn)行編碼。本文對CIF視頻序列“akyio”,“Foreman”,“News”,“Hall”和720 p視頻“vidyo”, “Mobcal”,“Stockholm”,“Bigbuckbunny”[10]進(jìn)行編碼。在配置文件中本文設(shè)置了CABAC編碼方式和自適應(yīng)宏塊的層間預(yù)測,大部分的CIF視頻和720p視頻都包括了300幀試驗(yàn)中選取了前240幀。視頻“BigbuckBunny”是一個(gè)長視頻序列包括了14315幀,實(shí)驗(yàn)中本文選取了前2400幀。視頻的幀速率設(shè)置為24幀/s,編碼GOP的大小設(shè)置為16,編碼基本層的QP設(shè)置為40,增強(qiáng)層的QP設(shè)置為28.增強(qiáng)層被編碼為5個(gè)時(shí)間層和9個(gè)MGS層,總共包括45個(gè)MGS層。
本文采用MGS時(shí)間層的方法來抽取SVC層,實(shí)驗(yàn)中把45個(gè)SVC層映射到5個(gè)DASH層,也就使得用戶有5個(gè)碼率版本的視頻可以選擇,生成不同碼率的視頻由低到高進(jìn)行排列,實(shí)驗(yàn)視頻信息如表2和表3所示。
表2 CIF碼流信息表
Tab.2 The stream information of CIF sequence
CIFPARISCITYSOCCERFOREMANDASH分層SVC分層碼率kbpsSVC分層碼率kbpsSVC分層碼率kbpsSVC分層碼率kbps10?8251.80?8191.90?8131.90?8127.529?17318.59?17239.69?17213.29?17193.9318?26406.118?26284.718?26327.118?26269.9427?35544.427?35360.327?35497.127?35377.1536?44753.536?44492.936?44656.836?44533.1
表3 720 p碼流信息表
Tab.3 The stream information of 720p sequence
720pVidyoKristenAndSaraJohnnyBigbuckbunnyDASH分層SVC分層碼率kbpsSVC分層碼率kbpsSVC分層碼率kbpsSVC分層碼率kbps10?8586.80?8556.00?8487.30?8652.829?17702.59?17644.39?17547.29?17792.4318?26838.718?26756.318?26628.218?26955.2427?351079.127?35931.027?35769.627?351198.2536?441421.936?441213.336?441007.836?441568.2
實(shí)驗(yàn)中我們對720 p視頻Bigbuckbunny進(jìn)行播控測試。測試結(jié)果圖中顯示了當(dāng)前網(wǎng)絡(luò)的帶寬、客戶端的緩存以及播放的碼率版本。播放器通過輸入媒體內(nèi)容MPD文件的URL地址來進(jìn)行訪問和播放,在不限制帶寬的情況下本文選擇播放碼率為4 000 kbps的視頻,播放器可以進(jìn)行流暢的播放。
在限制帶寬的條件下對系統(tǒng)進(jìn)行測試,通過帶寬限制軟件將帶寬限制到600 kbps來進(jìn)行了測試,此時(shí)由于帶寬較窄,無法流暢的播放碼率大于600 kbps的視頻,會頻繁的卡頓。
對SVC多碼率視頻進(jìn)行播控測試,視頻碼率包括了SVC編碼的5個(gè)碼率版本,可參見表2、3所示。第一種情況不限制帶寬,測試效果圖如圖4,表明了在變化的無線網(wǎng)絡(luò)場景中,本文的系統(tǒng)可以流暢的播放視頻。
圖4 BIGBUCK序列(多碼率,帶寬不受限)
Fig.4 BIGBUCK sequence
(multi bitrate, unlimited bandwidth)
分別將帶寬限制到1 500 kbps和800 kbps,測試效果如圖5,表明我們的DASH系統(tǒng)由于采用可伸縮的SVC編碼,在帶寬受限的條件下,仍然可以流暢地播放視頻,不需要重新編碼視頻,體現(xiàn)了較好的網(wǎng)絡(luò)適應(yīng)性。
圖5 BIGBUCK序列(多碼率,帶寬限制為1 500 kbps)
Fig.5 BIGBUCK sequence
(multi bitrate, bandwidth 1 500 kbps)
本文研究并實(shí)現(xiàn)了一種SVC與DASH相結(jié)合的流媒體傳輸系統(tǒng)。受益于SVC碼流的“一次編碼多次解碼”優(yōu)勢,在客戶帶寬受限的情況下,本文的系統(tǒng)可使客戶端能根據(jù)自身的網(wǎng)絡(luò)狀況自由切換碼率。與傳統(tǒng)的流媒體相比較,本文搭建的流媒體系統(tǒng)不需要手動(dòng)切換高清視頻或者標(biāo)清視頻,而是由客戶端自動(dòng)地選擇切換,更好地實(shí)現(xiàn)了DASH的流媒體系統(tǒng)的網(wǎng)絡(luò)自適應(yīng)優(yōu)勢。實(shí)驗(yàn)表明,本文提出的流媒體系統(tǒng)在變化的網(wǎng)絡(luò)中不會出現(xiàn)卡頓的情況,進(jìn)一步體現(xiàn)了新一代的DASH流媒體系統(tǒng)的優(yōu)勢,具有較好的應(yīng)用。
[1] CISCO. Global mobile data traffic forecast[EB/OL]. http://bit.1y/bwGY7L, 2015-09-13.
[2] ISO/IEC JTC I/SC 29/WG 11 (MPEG). Dynamic Adaptive Streaming Over HTTP.,w11578,CD 23001-6[C]//Guangzhou,China,Oct,2010.
[3] MICROSOFT. Smooth Streaming Protocol[EB/OL]. http://go.microsoft.com/linkid=9682896, 2009-07-16.
[4] ADOBE. HTTP Dynamic Streaming[EB/OL].http://www.adobe.com/products/hds-dynamic-streaming.html, 2010-08-16.
[5] SCHWARZ H, MARPE D, WIEGAND T. Overview of the scalable video coding extension of the H.264/AVC standard[J]. IEEE Transactions on Circuits and systems for Video Technology,2007,17(9):1103-1120.
[6] 閻金.視頻通信與可伸縮視頻編碼技術(shù)的研究[D]. 北京:北京郵電大學(xué),2007.
[7] MULLER C, RENZI D, LEDERER S, et al. Using scalable video video coding for dynamic adaptice streaming over HTTP in mobile environment[C]// Proc. IEEE European Signal Processing Conference(EUSIPCO),Bucharest,Romania,RO,2012:2208-2212.
[8] YANG J, ZHENG Q, XI H, et al. Receiver-Driven Adaptive Enhancement Layer Switching Algorithm for Scalable Video Transmission Over Link-adaptive Networks[J]. IEEE Signal Processing Letters,2013,20(1):47-50.
[9] REICHEL J, SCHWARZ H, WIEN M. Joint scalable video model 11(JSVM 11)[S]. Joint Video Team,Doc.JVT-X202,2007:13-37.
[10] ITEC. YUV video sequence(CIF)[DB/OL]. http://nsl.cs.sfu.ca/video/library/YUV, 2008-07-12.
VideoStreamingMediaSystemBasedonSVCandDASH
WANG Xuan, WANG An-hong
Institute of Electronic Information Engineering, Taiyuan University of Science and Technology, Taiyuan 030024, China)
With the rapid development of modern network technology, the HD and even the ultra HD media video business increasingly occupy a high proportion in the network data flow. In order to unify the transmission format of video streaming, the international MPEG organization initiates and develops a standard video transmission framework,named as Dynamic Adaptive Streaming over HTTP (DASH). However, the existing DASH usually uses the fixed-rate video coding technology, such as H.264, which limits the network adaptability of bitstream at a certain extent. Therefore, this paper addresses the combination of a scalable video coding (SVC) with DASH, whereby a projection of SVC to DASH is proposed so that the video with scalable multiple rates can be fluently transmitted over Internet.
streaming media, scalable video coding, dynamic adaptive streaming, video transmission system
1673-2057(2018)01-0001-05
2016-10-25
國家自然基金(61272262,61672373), 山西省留學(xué)基金(2014-056),山西省科技公關(guān)項(xiàng)目 (2015031003-2),山西省青年科學(xué)基金(2014021021-2)
王宣(1990-)男,碩士研究生,主要研究方向是視頻編碼與網(wǎng)絡(luò)傳輸。
TN914
A
10.3969/j.issn.1673-2057.2018.01.001