黃 森,霍 旭,王安紅
(太原科技大學(xué) 電子信息工程學(xué)院,山西 太原 030024)
隨著多媒體技術(shù)的發(fā)展,5G移動(dòng)網(wǎng)絡(luò)和千兆無(wú)線網(wǎng)的快速普及,視頻逐漸成為互聯(lián)網(wǎng)內(nèi)容的主流,人們對(duì)網(wǎng)絡(luò)視頻的質(zhì)量要求越來(lái)越高。根據(jù)思科公司發(fā)布的最新預(yù)測(cè),到2022年,全球IP流量使用預(yù)計(jì)達(dá)到4.8 ZB,視頻將占所有IP流量的82%。傳統(tǒng)的流媒體技術(shù)基于UDP的RTP(Real Time Protocol)和RTSP(Real Time Streaming Protocol)協(xié)議族,但是該技術(shù)兼容性差,對(duì)防火墻有較高要求,運(yùn)行成本也高。傳統(tǒng)的流媒體技術(shù)已經(jīng)滿足不了人們的需求,因此急需新的流媒體技術(shù)?;贖TTP協(xié)議的自適應(yīng)流媒體技術(shù)(Dynamic Adaptive Streaming over HTTP,DASH)[1-2]是一種新的流媒體技術(shù),解決了傳統(tǒng)流媒體技術(shù)不兼容的問(wèn)題,可滿足人們對(duì)高質(zhì)量視頻的需求。在DASH系統(tǒng)的編碼端,每個(gè)完整的視頻被分割成多個(gè)小視頻段,每個(gè)視頻端被編碼成多種碼率版本的視頻流,并形成對(duì)應(yīng)的多媒體描述(Media Presentation Description,MPD)文件,多碼流版本的視頻流及其對(duì)應(yīng)的MPD文件都存儲(chǔ)在服務(wù)器中。DASH客戶端首先根據(jù)自身的網(wǎng)絡(luò)條件向服務(wù)器發(fā)送HTTP請(qǐng)求,得到MPD文件。之后根據(jù)MPD文件,客戶端可以選擇適合的視頻內(nèi)容進(jìn)行播放,保證了客戶端播放視頻的流暢性,提高了用戶體驗(yàn)。但是在DASH系統(tǒng)中,為了保證用戶體驗(yàn),通常會(huì)增加多個(gè)碼率版本,盡管可以使得視頻分片更加細(xì)膩,但同時(shí)也增加了服務(wù)器的存儲(chǔ)壓力。同時(shí),現(xiàn)有的DASH系統(tǒng)都采用數(shù)字編碼方式,其中的量化技術(shù)不可避免地會(huì)產(chǎn)生視頻質(zhì)量“閾值效應(yīng)”;而當(dāng)信道質(zhì)量下降時(shí),由于數(shù)字編碼傳輸所采用的熵編碼和數(shù)字解調(diào)等技術(shù)不能與信道質(zhì)量相匹配,將會(huì)引起視頻質(zhì)量的突然下降,即“懸崖效應(yīng)”或者“階梯效應(yīng)”。
新近出現(xiàn)的類模擬編碼(Softcast)[3]和混合數(shù)字模擬視頻編碼(Hybrid Digital Analog,HDA)[4-5]可以克服傳統(tǒng)數(shù)字編碼傳輸?shù)娜秉c(diǎn),使得恢復(fù)視頻質(zhì)量隨著信道質(zhì)量線性變化。其中,HDA信號(hào)由數(shù)字部分和模擬部分疊加而成,數(shù)字部分利用傳統(tǒng)的數(shù)字編碼、數(shù)字調(diào)制而形成,模擬部分由原始視頻與解碼視頻的殘差信號(hào)經(jīng)過(guò)Softcast編碼而得到。將HDA技術(shù)運(yùn)用到DASH傳輸系統(tǒng)上,可以在提升視頻質(zhì)量的同時(shí)適應(yīng)信道的時(shí)變特性,因此,王宣[7]提出基于DASH-HDA的流媒體技術(shù)方法,溫韜[8]在DASH-HDA的基礎(chǔ)上提出了單QP和多QP碼率方案下的DASH-HDA傳輸方案,并提出多QP碼率方案的自適應(yīng)功率分配算法,但是在信道碼率持續(xù)增加的情況下,仍存在“階梯效應(yīng)”。
本文為進(jìn)一步提高DASH-HDA的性能,提出一種基于3D-DCT能量感知的DASH-HDA傳輸系統(tǒng)。充分研究DASH-HDA的模擬部分,取代參考方案DASH-HDA中的2D-DCT,利用3D-DCT進(jìn)一步去除時(shí)間相關(guān)性,形成視頻幀的模擬部分;根據(jù)3D-DCT系數(shù)的能量大小,對(duì)模擬信號(hào)進(jìn)行重要性排序打包,并將系數(shù)包重組為優(yōu)先級(jí)不同的DASH層。實(shí)驗(yàn)結(jié)果表明,與參考方案相比,在較低的信道碼率條件下,由于采用3D-DCT域的能量感知,可以傳輸能量較大的數(shù)據(jù)包,所提方案提升了視頻的重構(gòu)質(zhì)量[9];同時(shí),當(dāng)可用的信道碼率逐漸升高時(shí),由于采用了HDA方式,所提方案可以降低視頻質(zhì)量的“階梯效應(yīng)”。
DASH-HDA的編碼框架如圖1所示。原始視頻序列經(jīng)過(guò)DASH分段,每8幀分為一個(gè)視頻段,以視頻段為單位進(jìn)行編碼傳輸。每個(gè)視頻段首先利用H.264/AVC進(jìn)行數(shù)字編碼,其中,設(shè)置5個(gè)不同的量化參數(shù)(Quantizing parameters,QP),生成5個(gè)不同版本、不同質(zhì)量的數(shù)字碼流。每個(gè)數(shù)字碼流經(jīng)過(guò)碼率為1/2的前向糾錯(cuò)碼(Forward error correction,F(xiàn)EC),生成多QP碼率的數(shù)字集。多QP的H.264數(shù)字碼流經(jīng)過(guò)H.264/AVC解碼恢復(fù)的視頻與原始視頻段相減得到殘差數(shù)據(jù)。殘差數(shù)據(jù)經(jīng)過(guò)3D-DCT之后,組成多碼率方案下的模擬集,數(shù)字集合和模擬集存儲(chǔ)在DASH服務(wù)器上??蛻舳藢?duì)信道帶寬進(jìn)行預(yù)測(cè),把帶寬預(yù)測(cè)結(jié)果傳給DASH服務(wù)器,并請(qǐng)求與帶寬匹配的數(shù)字集視頻版本以及與數(shù)字集對(duì)應(yīng)的模擬集,被選中的數(shù)字集和模擬集組成DASH-HDA數(shù)據(jù)流。在服務(wù)器存儲(chǔ)能力低的情況下,也可以將方案設(shè)置單個(gè)QP參數(shù)以降低存儲(chǔ)壓力。單QP碼率的DASH-HDA系統(tǒng)與上述模型相同。設(shè)置單QP碼率的好處是可以降低服務(wù)器的存儲(chǔ)成本,在信道條件差或者波動(dòng)較大的情況下,可以減少客戶端碼率切換次數(shù),減少視頻的卡頓。
圖1 DASH-HDA編碼框架
1.2.1 基于能量感知的DASH數(shù)據(jù)重組
3D-DCT在2D-DCT的基礎(chǔ)上增加了時(shí)間軸上的一維DCT變換,能消除時(shí)間上的冗余,保證高的壓縮率。因此,本文方案利用3D-DCT以去除視頻段的幀間相關(guān)性。同時(shí),由于3D-DCT不同頻帶系數(shù)的能量不同,根據(jù)DCT系數(shù)[10]特性(即能量大的數(shù)據(jù)集中在圖像的左上角),提出基于能量感知的DASH數(shù)據(jù)重組。具體做法為:將視頻每8幀組成一個(gè)視頻段,將模擬殘差數(shù)據(jù)抽取為288×352×8的三維立方體數(shù)據(jù),劃分每個(gè)塊的大小為36×44,組成一個(gè)數(shù)據(jù)包,因此一個(gè)視頻幀由512個(gè)數(shù)據(jù)包組成。對(duì)這512個(gè)數(shù)據(jù)包按照能量大小進(jìn)行排序,并記錄包的位置信息。模擬數(shù)據(jù)的512個(gè)數(shù)據(jù)包如圖2所示。位置信息以元數(shù)據(jù)的方式進(jìn)行傳輸,數(shù)據(jù)包(Packet)的能量關(guān)系為:
圖2 視頻段的模擬數(shù)據(jù)包
經(jīng)過(guò)能量大小排序后,將這些數(shù)據(jù)包分成64個(gè) DASH層,每一層包含8個(gè)數(shù)據(jù)包,DASH層的優(yōu)先級(jí)依次降低,如圖3所示。由于一個(gè)圖像經(jīng)過(guò)DCT變換后能量低的高頻部分基本為零,因此在編碼模擬部分的數(shù)據(jù)時(shí)可以丟掉高頻部分,而在恢復(fù)的時(shí)候用零填補(bǔ)丟掉的數(shù)據(jù),這樣可以達(dá)到壓縮的目的。在形成DASH層之后,對(duì)模擬DASH數(shù)據(jù)進(jìn)行去均值、功率分配以及哈達(dá)瑪變換。在傳輸過(guò)程中,根據(jù)帶寬大小,優(yōu)先傳輸那些優(yōu)先級(jí)較高的DASH層;在一個(gè)數(shù)字版本的帶寬范圍內(nèi),隨著帶寬的逐漸增大,傳輸?shù)腄ASH層數(shù)也逐漸增多;DASH層數(shù)傳輸越多,解碼的視頻質(zhì)量越高。除了DASH層數(shù)據(jù),DASH-HDA要傳輸?shù)脑獢?shù)據(jù)包括DASH層中的模擬數(shù)據(jù)包的位置信息、方差以及均值,客戶端需要這些元數(shù)據(jù)進(jìn)行LLSE視頻重建。
圖3 DASH層重組模型
1.2.2 DASH-HDA數(shù)據(jù)流生成
DASH-HDA數(shù)據(jù)流是模擬和數(shù)字部分的疊加信號(hào),因此,要確定數(shù)字部分碼率,并選擇合適的DASH層,而DASH層的選擇必須與數(shù)字碼率相對(duì)應(yīng)。在本文方案中,QP參數(shù)設(shè)置為5個(gè),因此數(shù)字版本1≤n≤5。當(dāng)選擇數(shù)字版本m時(shí),對(duì)應(yīng)的模擬集1≤m≤64。DASH-HDA數(shù)據(jù)流生成過(guò)程如圖4所示。
圖4 DASH-HDA數(shù)據(jù)流生成
與傳統(tǒng)方案相比,在64個(gè)DASH層中,兩種方案在第一層能量相差最大。隨著優(yōu)先級(jí)降低,能量相差越來(lái)越小。在帶寬不足的情況下,本文方案可以傳輸能量較大的數(shù)據(jù)包。在傳輸過(guò)程中,數(shù)據(jù)包的位置信息數(shù)據(jù)以元數(shù)據(jù)的方式與包的均值方差一并進(jìn)行傳輸。位置信息所產(chǎn)生的元數(shù)據(jù)可以忽略不計(jì)。隨著帶寬逐漸增加,傳輸?shù)臄?shù)據(jù)包也隨之增加。
本文系統(tǒng)可以根據(jù)用戶信道條件自適應(yīng)地改變傳送視頻的碼率。設(shè)視頻的數(shù)字帶寬為BWd,信道帶寬為BW,客戶端根據(jù)解析的MPD文件,向服務(wù)器請(qǐng)求相應(yīng)的視頻段索引。因此,請(qǐng)求的數(shù)字碼率應(yīng)滿足:
設(shè)置n種數(shù)字碼率,對(duì)應(yīng)的數(shù)字碼率為BWd,n,則:
在已知帶寬下,為了得到所能傳輸?shù)臄?shù)字版本的最高碼率,數(shù)字碼率對(duì)應(yīng)的索引為i,則i的取值應(yīng)滿足:
由于HDA要傳送的調(diào)制符號(hào)[11]是復(fù)數(shù)形式,如a+bj,實(shí)部由一個(gè)數(shù)字信號(hào)和一個(gè)模擬信號(hào)疊加,虛部是另一個(gè)模擬符號(hào),即一個(gè)HDA符號(hào)包含兩個(gè)模擬符號(hào),因此一個(gè)DASH層的數(shù)據(jù)大小為:
式中:BWpacket是一個(gè)DCT系數(shù)包的帶寬;Fsegment是每段的幀數(shù)。帶寬是隨機(jī)的,要傳輸?shù)腄ASH層數(shù)必須為整數(shù)。因此,在帶寬BW的情況下,能傳輸?shù)腄ASH層數(shù)為NUM:
式中:NUM向下取整。
選取Foreman序列的36個(gè)視頻段進(jìn)行測(cè)試。在相同的信道噪聲比(Signal-Noise Ratio,SNR)和信道碼率下,分別仿真了基于2D-DCT的DASHHDA和基于3D-DCT的DASH-HDA的峰值信噪比(Peak Signal to Noise Ratio,PSNR)性能,對(duì)比結(jié)果如圖5所示??梢钥闯觯瑢?duì)模擬數(shù)據(jù)進(jìn)行3D-DCT變換,恢復(fù)視頻的PSNR比2D-DCT增加了0.1~0.5 dB。
圖5 不同維度DCT性能對(duì)比
在本實(shí)驗(yàn)中,選取Foreman序列的其中一個(gè)視頻段進(jìn)行仿真。用JM編碼器設(shè)置5個(gè)QP,得到5種不同碼率版本的視頻段。假設(shè)信道所能傳輸?shù)拇a率是逐漸增加的,對(duì)比方案的模擬數(shù)據(jù)采用2D-DCT變換,對(duì)DCT系數(shù)從上到下、從左到右進(jìn)行逐幀分組。為了方便對(duì)比,選取5 dB、10 dB、 15 dB及20 dB共4個(gè)固定的SNR,信道模型為平坦衰落的高斯白噪聲信道。實(shí)驗(yàn)結(jié)果如圖6所示,其中,M-QP-bitrate是多QP碼率下基于2D-DCT的傳統(tǒng)能量感知方案[11],本文方案是基于3D-DCT的能量感知方案。
圖6 在特定SNR下峰值信噪比隨信道碼率變換曲線
從圖6的結(jié)果可以看出,在SNR確定的情況下,本文方案要優(yōu)于對(duì)比方案。在信道所能傳輸數(shù)據(jù)較少的情況下,可選擇的數(shù)據(jù)包數(shù)量較少時(shí),傳輸?shù)腄ASH層數(shù)也少;在傳輸相同DASH層數(shù)時(shí),兩種方案DASH層之間的能量相差較大。當(dāng)信道所能傳輸?shù)臄?shù)據(jù)逐漸增加,所能傳輸?shù)臄?shù)據(jù)包增多,兩種方案DASH層之間的能量相差越來(lái)越小。因此,在信道碼率逐漸增加時(shí),兩者的仿真曲線越來(lái)越接近。隨著SNR增加,兩個(gè)方案性能都逐漸增加,本文方案的增加幅度要大于對(duì)比方案。因?yàn)閿?shù)字部分具有多個(gè)版本碼率,所以隨著信道碼率增加,會(huì)產(chǎn)生“階梯效應(yīng)”。從圖中可以看出,本文方案可以降低“階梯效應(yīng)”,提高用戶體驗(yàn)質(zhì)量。Foreman序列第一幀的視覺(jué)質(zhì)量對(duì)比如圖7所示,其中,文獻(xiàn)[11]方案的PSNR=37.03 dB,本文方案的PSNR=39.27 dB??梢钥闯觯谛诺罈l件較好的情況下,本文方案更接近原始圖像,與對(duì)比方案相比,可以顯示更多的細(xì)節(jié)信息。
圖7 Foreman序列第一幀的視覺(jué)質(zhì)量對(duì)比
實(shí)驗(yàn)2.2選取Foreman序列的一個(gè)視頻段進(jìn)行仿真,在實(shí)際應(yīng)用中使用較多的是整個(gè)視頻段。因此本實(shí)驗(yàn)選取Foreman序列的所有視頻段進(jìn)行測(cè)試。為了方便對(duì)比,選取News序列、Bridge序列以及Hall序列的所有視頻段進(jìn)行仿真,實(shí)驗(yàn)結(jié)果如 圖8所示。可以看出,由于3D-DCT相比2D-DCT減少了幀間相關(guān)性,本文的能量感知方案可以傳輸能量更高的數(shù)據(jù)包,因此本文方案對(duì)4個(gè)視頻測(cè)試的結(jié)果都優(yōu)于對(duì)比方案的結(jié)果。對(duì)Foreman序列,本文方案有0.1~3 dB的提升,對(duì)Bridge序列有4 dB左右的提升,對(duì)News序列有5 dB左右的提升。同時(shí),由于視頻內(nèi)容之間存在差異,如有的視頻段轉(zhuǎn)場(chǎng)和細(xì)節(jié)等信息較多,視頻之間的性能差異就越大。
圖8 兩種方案對(duì)不同視頻序列的性能對(duì)比
針對(duì)流媒體技術(shù)需求的提升,本文深入研究了DASH-HDA傳輸系統(tǒng),提出基于3D-DCT能量感知的DASH-HDA傳輸方案。對(duì)視頻幀的模擬部分進(jìn)行3D-DCT變換,對(duì)視頻的DCT系數(shù)進(jìn)行重要性劃分,重組為優(yōu)先級(jí)不同的DASH層;客戶端根據(jù)自身的網(wǎng)絡(luò)條件向服務(wù)器請(qǐng)求相適應(yīng)的數(shù)字碼率版本和對(duì)應(yīng)的DASH層。實(shí)驗(yàn)結(jié)果表明,在低信道碼率下,所提方案具有明顯優(yōu)勢(shì),有效提升了視頻的PSNR;在信道碼率持續(xù)增加時(shí),降低了傳輸系統(tǒng)的“階梯效應(yīng)”。