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