李文龍 李興廣 徐 晨 衛(wèi)飛龍 胡冉冉
1(吉林交通職業(yè)技術(shù)學(xué)院交通信息學(xué)院 吉林 長春 130012) 2(長春理工大學(xué)電子信息工程學(xué)院 吉林 長春 130022)
隨著在線教學(xué)、視頻會(huì)議等視頻直播需求的激增,導(dǎo)致視頻傳輸受限,影響視頻效果。根據(jù)中國互聯(lián)網(wǎng)絡(luò)信息中心(CNNIC)截至2019年2月發(fā)布的統(tǒng)計(jì)報(bào)告,中國網(wǎng)絡(luò)直播用戶已達(dá)3.97億,其規(guī)模占到總網(wǎng)民規(guī)模的47.9%[1]。而目前這一數(shù)據(jù)已變得更加龐大。海量的在線視頻傳輸數(shù)據(jù)量對(duì)于網(wǎng)絡(luò)的承載能力提出了巨大的挑戰(zhàn)。通信技術(shù)和大規(guī)模硬件集成電路的發(fā)展[2],雖然能夠提升硬盤的存儲(chǔ)容量以及增加傳輸信道的帶寬,但同時(shí)也會(huì)造成成本增加以及噪聲變大,因而網(wǎng)絡(luò)存儲(chǔ)空間和傳輸帶寬都是有限的。高質(zhì)量的視頻傳輸需要更高標(biāo)準(zhǔn)的視頻編碼解決方案。與H.264/AVC相比,HEVC引入了更先進(jìn)的編碼技術(shù),使得其與H.264/AVC在具備相同視頻圖像質(zhì)量的條件下,可節(jié)省50%以上的編碼比特流[3]。更加靈活的編碼結(jié)構(gòu)和工具也對(duì)碼率控制和比特分配技術(shù)帶來了更大的挑戰(zhàn)。其中,根據(jù)人類視覺選擇注意機(jī)制(VSAM)[4],對(duì)場(chǎng)景中不同敏感程度的區(qū)域分配不同的比特資源[5],優(yōu)先考慮將更多的比特?cái)?shù)分配給感興趣區(qū)域(ROI),是近年來碼率控制領(lǐng)域研究的熱點(diǎn)和重點(diǎn)。
相關(guān)學(xué)者對(duì)基于ROI的碼率控制算法已有研究并取得了許多有參考價(jià)值的研究成果。如Liu等[6]第一次提出基于ROI的資源分配方案,通過ROI控制比特資源的優(yōu)化分配,提升ROI編碼質(zhì)量。Kim等[7]對(duì)運(yùn)動(dòng)中的視頻實(shí)現(xiàn)實(shí)時(shí)的ROI(足球)跟蹤,為不同區(qū)域分配不同的量化參數(shù)(QP),以實(shí)現(xiàn)視頻的自適應(yīng)壓縮。Grois等[8]提出了一種復(fù)雜度感知的自適應(yīng)ROI視頻處理方法,通過對(duì)圖像分級(jí)處理,提升了視頻的主觀質(zhì)量。Zhou等[9]基于視覺顯著性,提出了一種自適應(yīng)、快速地確定幀內(nèi)編碼尺寸的編碼方案。Delhaye等[10]針對(duì)有限帶寬的傳輸條件,提出一種基于ROI的視頻傳輸方法,為遠(yuǎn)程醫(yī)療提供了一種解決方案。上述方法在提升編碼質(zhì)量和重建視頻的質(zhì)量方面有明顯的效果。然而,這些算法都是基于先前的編碼標(biāo)準(zhǔn)開發(fā)的,而最新的視頻壓縮標(biāo)準(zhǔn)HEVC采用靈活的圖像劃分等新技術(shù),導(dǎo)致上述碼率控制技術(shù)不再適用?;贖EVC標(biāo)準(zhǔn),朱威等[11]的基于智能目標(biāo)檢測(cè)的HEVC感興趣區(qū)域編碼方案中,通過對(duì)ROI和非ROI區(qū)域的CTU按紋理感知權(quán)重值分別進(jìn)行下調(diào)編碼量化參數(shù)和DCT頻率系數(shù)分級(jí)壓制,雖然取得了明顯的效果,但是其ROI檢測(cè)部分使用了基于深度卷積網(wǎng)絡(luò)的方法,給系統(tǒng)帶來了一定的復(fù)雜度。Zhang等[12]提出的ROI編碼模式碼率控制方案,雖然對(duì)于具有顯著ROI的測(cè)試序列性能尤為可觀,然而該算法的速率-失真模型的準(zhǔn)確度和效率仍有待優(yōu)化。隨后,Zhang等[13]又為在有限帶寬和時(shí)變信道狀態(tài)條件下優(yōu)化視頻傳輸延遲,提出一種基于ROI編碼模式的視頻傳輸框架,采取了基于深度學(xué)習(xí)的方法用于信道狀態(tài)預(yù)測(cè)。Sun等[14]在HEVC中首次使用深度卷積網(wǎng)絡(luò)提高視頻顯著區(qū)域(ROI)的質(zhì)量,在不降低視頻主觀質(zhì)量的前提下減少帶寬的利用率,尤其適用于視頻會(huì)話和視頻監(jiān)控場(chǎng)景。然而,基于深度學(xué)習(xí)的方法中存在較高的算法復(fù)雜度,對(duì)于直播視頻場(chǎng)景的應(yīng)用能力仍有待提升。
上述基于ROI的碼率控制方法基本都是對(duì)圖像進(jìn)行ROI和非ROI區(qū)域的兩級(jí)劃分,這在對(duì)直播視頻處理時(shí)會(huì)導(dǎo)致視頻圖像不平滑,嚴(yán)重影響視頻的主觀質(zhì)量。因此,受Grois等的啟發(fā),基于文獻(xiàn)[15],提出一種適用于直播視頻傳輸中的基于ROI的HEVC碼率控制方案,主要用于目前主流的較高分辨率和幀頻的直播視頻壓縮傳輸。首先,根據(jù)VSAM,將視頻圖像劃分為三級(jí)(ROI區(qū)域、非ROI區(qū)域、兩個(gè)區(qū)域之間的過渡區(qū)域),形成感興趣區(qū)域圖(ROI map),并利用ROI map實(shí)現(xiàn)幀級(jí)和編碼單元級(jí)的比特分配。在對(duì)幀層進(jìn)行比特分配時(shí),根據(jù)每幀圖片的權(quán)重為圖片組中的每一幀分配碼率,每幀圖片的權(quán)重依據(jù)幀級(jí)的ROI map衡量;在對(duì)編碼單元層比特分配時(shí),根據(jù)ROI map,將不同數(shù)量的比特?cái)?shù)動(dòng)態(tài)地分配到各個(gè)最大編碼單元(LCU)中。最后,通過R-λ模型計(jì)算每一個(gè)最大編碼單元編碼時(shí)所需的QP,實(shí)現(xiàn)壓縮編碼。
碼率控制對(duì)于更好地利用有限的存儲(chǔ)空間和帶寬的處理環(huán)節(jié)上有著非常重要的作用[16]。通常,碼率控制主要包括比特分配和編碼參數(shù)獲取兩部分。具體地說,比特分配是對(duì)每一個(gè)圖片組(GOP)、每一幀圖片、每一個(gè)基本編碼單元或者更細(xì)的單元分配最合適的比特?cái)?shù);編碼參數(shù)的獲取由選擇合適的率失真模型得到,以此實(shí)現(xiàn)在比特分配階段分配目標(biāo)比特?cái)?shù)[17]。碼率控制的過程如圖1所示。
圖1 碼率控制過程
衡量碼率控制技術(shù)的指標(biāo)如下:
(1) 失真:對(duì)于率失真函數(shù),失真D相對(duì)于碼率R是遞減的,碼率控制算法即在限定的帶寬范圍內(nèi)使失真最小。
(2) 率失真性能:峰值信噪比(PSNR)是通用的衡量失真度的標(biāo)準(zhǔn),計(jì)算公式如下:
(1)
(2)
式中:MSE是宏塊均方差;N是圖片中像素總數(shù);Reci和Orgi分別是重建圖片和原始圖片像素值。
(3) 碼率控制誤差:碼率控制誤差越小,則表明算法的碼率控制能力越好。定義為:
(3)
式中:Rtar代表設(shè)置的初始碼率;Ract代表編碼以后的實(shí)際輸出碼率。
(4) 緩沖區(qū)的狀態(tài):緩沖區(qū)的占用程度反映了碼率控制的調(diào)節(jié)控制能力。一般來說,較大的緩沖區(qū)有利于平穩(wěn)每幀消耗比特?cái)?shù)目的波動(dòng)從而獲取穩(wěn)定的碼流。然而,過大的緩沖區(qū)勢(shì)必會(huì)帶來較大的編碼延時(shí)。因此,要合理地調(diào)節(jié)緩沖區(qū)的狀態(tài)。
R-ρ模型、R-Q模型和R-λ模型是目前三種典型的率失真模型[12]。R-ρ模型中,由于ρ與碼率呈線性關(guān)系,從而簡(jiǎn)化了整個(gè)碼率控制機(jī)制。ρ域的碼率控制方案在HEVC中有良好的性能,然而,對(duì)于基于ROI的編碼模式并不是最有效的方法。對(duì)于R-Q模型,速率和失真可以分別表示為QP的函數(shù),但R-Q模型的前提是假設(shè)了碼率R主要是由量化參數(shù)QP來決定的,HEVC引入的新編碼技術(shù)使視頻編碼變得更復(fù)雜,而且編碼模式信息和運(yùn)動(dòng)信息等信息所占的非殘差比特并不能夠被量化,因此即便調(diào)整QP也很難達(dá)到精確的目標(biāo)碼率。隨著HEVC的發(fā)展,Li等[18]意識(shí)到視頻編碼器將會(huì)變得越來越復(fù)雜,R-ρ模型和R-Q模型不能精確地描述非殘差信息所占的碼率的缺點(diǎn)更加突出,提出了拉格朗日乘數(shù)λ才是影響視頻編碼碼率最關(guān)鍵的因素,證明了基于R-λ模型的碼率控制方案能夠非常精準(zhǔn)地分配目標(biāo)碼率。通過大量實(shí)驗(yàn)發(fā)現(xiàn),R-λ模型具備更強(qiáng)的魯棒性。因此,后續(xù)也將通過R-λ模型獲取量化參數(shù)。
ROI部分的檢測(cè)有兩種方法,基于機(jī)器視覺的自動(dòng)檢測(cè)和基于人機(jī)交互的手動(dòng)檢測(cè),可以根據(jù)需要具體選擇。ROI的提取主要也有兩種方法。一種是在視頻輸入HEVC編碼器之前將ROI部分提取出來,另一種是在視頻編碼過程中對(duì)ROI部分進(jìn)行提取。通過實(shí)驗(yàn)發(fā)現(xiàn),方法一可以直接根據(jù)視頻圖像的自身性質(zhì)進(jìn)行提取,如游戲直播中的人物作為ROI,可以預(yù)先標(biāo)記。它不需要考慮視頻幀之間的關(guān)系,從而節(jié)約編碼時(shí)間。此外,可以利用ROI的掩膜信息實(shí)現(xiàn)碼率控制,即控制比特的分配。因此,采用第一種方法對(duì)ROI區(qū)域進(jìn)行提取。結(jié)構(gòu)框圖如圖2所示。
圖2 ROI提取過程
首先,從被編碼的視頻中檢測(cè)和提取出視頻序列的ROI,利用提取出的ROI形成ROI map;隨后,碼率控制算法利用形成的ROI map分別完成對(duì)幀層和編碼單元層的比特分配。最后,通過R-λ模型求取QP值及相關(guān)參數(shù)。算法框架如圖3所示。
圖3 算法框架
獲取到視頻畫面中的ROI以后,傳統(tǒng)算法則直接對(duì)ROI區(qū)域分配較多的編碼比特,以保證該區(qū)域的視頻質(zhì)量,背景區(qū)域的編碼比特則相對(duì)較少。對(duì)于直播視頻來講,由于VSAM的參與作用,單純地將視頻圖像進(jìn)行兩級(jí)分化處理(ROI和非ROI),勢(shì)必會(huì)導(dǎo)致重建圖像中ROI和非ROI的質(zhì)量變化明顯,給人以割裂感,不能達(dá)到視覺系統(tǒng)對(duì)于平滑舒適的高質(zhì)量畫面的需求。因此,在ROI和非ROI之間設(shè)定了過渡區(qū)域,主要是為了平滑視頻質(zhì)量,在實(shí)現(xiàn)節(jié)能視頻傳輸?shù)耐瑫r(shí),保證直播視頻受眾的觀感質(zhì)量。具體方案是將較多的比特分配給ROI,以最小的比特?cái)?shù)目分配到非ROI,在過渡區(qū)域分配適當(dāng)數(shù)量的中間比特?cái)?shù)目,使ROI和非ROI區(qū)域平滑相接,以確保視頻質(zhì)量。圖4是視頻圖像分類狀態(tài)的示意圖。
圖4 圖片分級(jí)狀態(tài)
獲得ROI后,ROI區(qū)域的所有像素值設(shè)為α,過渡區(qū)域的像素值設(shè)置為λα。其中,λ根據(jù)實(shí)際需求進(jìn)行設(shè)置,取值范圍為λ∈(0,1),非ROI的像素值統(tǒng)一設(shè)置為1,隨后得到每幀圖像的像素級(jí)ROI map,以此作為比特分配權(quán)重。數(shù)學(xué)表達(dá)式如式(4)所示。
(4)
ROI map的長度和寬度與原始的視頻圖像相同,(w,h)代表視頻圖像中像素點(diǎn)所處的位置。隨后將生成的ROI map發(fā)送至HEVC編碼器輸入端,以使比特分配更加合理。此外,ROI map權(quán)重值α可動(dòng)態(tài)調(diào)節(jié)。對(duì)于某些畫面中某些重點(diǎn)目標(biāo),即所需的ROI質(zhì)量較高時(shí),可以通過增大權(quán)重值α來實(shí)現(xiàn),反之亦然。
視頻編碼方案中,經(jīng)典的JCTVC-K0103碼率控制算法對(duì)每一幀圖像分配比特時(shí),主要是由圖片中比特每像素(bpp)這個(gè)值決定[19]。該值受幀頻、信道帶寬、圖像的分辨率等客觀因素的影響。對(duì)于需要傳輸?shù)闹辈ヒ曨l而言,為了滿足直播視頻受眾的主觀需求,采取該值作為權(quán)重來進(jìn)行幀層的比特分配是不合理的。因此,通過視頻幀間的ROI map比值作為權(quán)重進(jìn)行比特分配。幀層ROI map通過式(5)求得。
(5)
式中:Fmi是幀層的ROI map,同時(shí)也作為GOP中為各幀分配比特時(shí)的權(quán)重;NROI,i是目前編碼幀的所有像素中含有ROI的像素;Mtr是目前編碼幀的所有像素中包含過渡區(qū)域的像素;W和H代表視頻圖像像素的寬和高。碼率控制算法中,把每幀的ROI map作為當(dāng)前編碼幀的權(quán)重進(jìn)行比特分配。當(dāng)前時(shí)刻的GOP中第i幀比特分配計(jì)算如下:
(6)
式中:Fmcurr是分配給當(dāng)前編碼幀的比特權(quán)重;Fmleft是當(dāng)前GOP中未進(jìn)行編碼的幀所占的總權(quán)重;TGOP,left為當(dāng)前GOP中剩余未被編碼的幀所占的剩余比特?cái)?shù)。
JCTVC-K0103提案碼率控制算法在編碼單元層的分配是以預(yù)測(cè)得到的平均絕對(duì)差值(MAD)作為權(quán)重來執(zhí)行的。對(duì)于實(shí)時(shí)運(yùn)動(dòng)型直播場(chǎng)景來說,視頻存在劇烈運(yùn)動(dòng)、快速變化等特點(diǎn),導(dǎo)致當(dāng)前編碼幀的LCU已區(qū)別于已編碼幀相對(duì)位置的LCU。因而,MAD作為標(biāo)準(zhǔn)來衡量視頻復(fù)雜度的精確性已大大下降。對(duì)此,利用當(dāng)前LCU中所包含的ROI信息的比重實(shí)現(xiàn)對(duì)LCU實(shí)行比特分配,避免當(dāng)前編碼幀對(duì)已完成編碼幀的過度依賴。LCU層ROI map通過式(7)求得。
(7)
式中:Lm[i,j]是LCU層的ROI map,它是對(duì)第i幀中第j個(gè)LCU分配比特時(shí)的權(quán)重;aj和bj分別代表第i幀中第j個(gè)LCU塊左上角的橫縱坐標(biāo);W[j]和H[j]是第j個(gè)LCU塊的寬和高;NROI[i,j]是當(dāng)前LCU的所有像素中所包含的ROI的像素?cái)?shù);Mtr是當(dāng)前LCU的所有像素中所包含的過渡區(qū)域的像素?cái)?shù)。對(duì)于當(dāng)前LCU編碼時(shí),依據(jù)ROI map的大小為其分配比特?cái)?shù)目。ROI map的值越大,表明當(dāng)前LCU所占的權(quán)重越大,獲得的比特?cái)?shù)目越多。通過對(duì)ROI中權(quán)重α的調(diào)節(jié)可以適當(dāng)?shù)乜刂飘?dāng)前編碼圖像中ROI的比特?cái)?shù),藉此實(shí)現(xiàn)對(duì)于ROI質(zhì)量的調(diào)整。
對(duì)當(dāng)前GOP中的第i幀完成比特分配后,通過LCU級(jí)的ROI map為第i幀中的第j個(gè)LCU分配比特?cái)?shù)目計(jì)算如下:
(8)
式中:TL[i,j]是分配到的比特?cái)?shù)目;Lmleft是當(dāng)前編碼幀中所有未被編碼的LCU所占的權(quán)重之和;Tf,left是當(dāng)前編碼幀中所有未被編碼的LCU所占的比特?cái)?shù)目。每一次編碼完成一個(gè)LCU后,Tf,left通過式(9)進(jìn)行更新。
Tf,left=Tf,left-Bact,j
(9)
式中:Bact,j代表對(duì)當(dāng)前圖像進(jìn)行編碼時(shí)的第j個(gè)LCU塊實(shí)際消耗的比特?cái)?shù)目。Tf,left初始值為:
Tf,left=Tf[i]-Bheader
(10)
式中:Bheader是當(dāng)前正在編碼的幀的頭信息所占的比特?cái)?shù)目,它的值依據(jù)已編碼完成的幀所占的頭信息預(yù)測(cè)得出。
通過以上步驟求得預(yù)先分配給LCU的比特?cái)?shù)以后,由R-λ模型,求得λ:
(11)
式中:μ和ν的初始值[20]分別為3.200 3和-1.367。每次對(duì)一幀圖片編碼完成后,由最小二乘回歸法獲得μ和ν的值。隨后,QP值由式(12)求得。
QPcurrLCU=4.200 5×ln(λcurrLCU)+13.712 2
(12)
為了驗(yàn)證上述方法的有效性,基于VS2010,在HEVC官方參考軟件HM16.7平臺(tái)上進(jìn)行仿真實(shí)驗(yàn)。根據(jù)評(píng)價(jià)碼率控制性能的指標(biāo)對(duì)本文方法進(jìn)行測(cè)試。實(shí)驗(yàn)中,以HEVC參考軟件HM16.7中的算法作為參考,將所提的碼率控制方法添加到HM16.7中與之對(duì)比。編碼器的主要設(shè)置如表1所示。
實(shí)驗(yàn)采用HEVC標(biāo)準(zhǔn)的通用影像傳輸格式(CIF)測(cè)試序列(最接近于當(dāng)前普遍應(yīng)用的直播視頻的分辨率),測(cè)試序列均為YUV格式。序列信息如表2所示。為驗(yàn)證算法在不同帶寬條件下的適用性,2 560×1 600和1 920×1 080分辨率的視頻序列目標(biāo)碼率分別設(shè)置為:4 Mbit/s,2 Mbit/s,1 Mbit/s,512 kbit/s,256 kbit/s。1 280×720和832×480分辨率的視頻序列目標(biāo)碼率分別設(shè)置為:2 Mbit/s,1 Mbit/s,512 kbit/s,256 kbit/s,128 kbit/s。
表2 編碼測(cè)試序列
在率失真性能對(duì)比實(shí)驗(yàn)中,采用低延時(shí)的P幀編碼模式。實(shí)驗(yàn)中,在不同的目標(biāo)碼率下,測(cè)試序列分別由HEVC中原碼率控制算法和本文的碼率控制算法在參考軟件HM16.7中進(jìn)行編碼仿真對(duì)比測(cè)試實(shí)驗(yàn)。視頻失真通常由YUV格式的視頻序列中Y分量的PSNR表示,即Y-PSNR代表視頻失真,其值越大,表示失真越小,率失真性能越好。表3給出了本文的碼率控制方法相比于HEVC原有的碼率控制算法所得的相對(duì)PSNR結(jié)果(ΔY-PSNR)。圖5給出了對(duì)比實(shí)驗(yàn)得到的數(shù)據(jù)仿真結(jié)果。表3和圖5中,Whole代表重建視頻的總體平均Y-PSNR,ROI是重建視頻ROI的Y-PSNR,Non-ROI代表重建視頻的非ROI的Y-PSNR。
表3 相對(duì)HM16.7的率失真(ΔY-PSNR) 單位:dB
(a) POS, 2 560×1 600, 30 Hz
(b) T, 2 560×1 600, 30 Hz
(c) BD, 1 920×1 080, 50 Hz
(d) PS, 1 920×1 080, 24 Hz
(e) J, 1 280×720, 60 Hz
(f) FP, 1 280×720, 60 Hz
(g) RH, 832×480, 30 Hz
(h) F, 832×480, 50 Hz圖5 率失真曲線
從表3和圖5可以看出,本文算法在重建視頻中的ROI具備較高的率失真性能(Y-PSNR)。非ROI的率失真性能略低于HM16.7中原有算法,這是因?yàn)椴糠直忍胤峙涞搅诉^渡區(qū)域。整幅圖像的率失真(Whole)并沒有明顯降低。這證明了本文方法在有限帶寬下能夠?qū)崿F(xiàn)視頻的高質(zhì)量傳輸。
表4顯示了在不同的目標(biāo)碼率下,用給定的方法、HM16.7中的初始算法和文獻(xiàn)[12]中的方法對(duì)8個(gè)標(biāo)準(zhǔn)測(cè)試視頻序列進(jìn)行編碼所獲得的實(shí)際碼率。實(shí)際碼率和目標(biāo)碼率之間的誤差通過式(3)來計(jì)算。結(jié)果表明,本文算法的誤差相對(duì)于HM16.7和文獻(xiàn)[12]分別降低了0.226百分點(diǎn)和0.055百分點(diǎn),即在信道帶寬一定的情況下,本文方法能保證微小的誤碼率。
表4 碼率控制誤差對(duì)比結(jié)果(%)
為驗(yàn)證本文方法對(duì)于緩沖區(qū)狀態(tài)的影響,在每次完成一幀圖像的編碼以后,記錄當(dāng)前緩沖區(qū)的占用量。圖6是所記錄的緩沖區(qū)狀態(tài)。
圖6 緩沖區(qū)狀態(tài)
仿真實(shí)驗(yàn)中,緩沖區(qū)的大小設(shè)置為1.25R/f,下溢值設(shè)置為0,分別對(duì)應(yīng)圖6中兩條水平虛線。圖6中本文方法的結(jié)果曲線起始點(diǎn)較低,說明緩沖區(qū)剛開始時(shí)溢出較小,而且能夠?qū)⒕彌_器占用率保持在緩沖器上限和下限內(nèi)之間的相對(duì)穩(wěn)定的范圍內(nèi)。此外,相比于HM16.7中的方法,本文方法在緩沖區(qū)的狀態(tài)更為穩(wěn)定。
當(dāng)像素權(quán)重α分別為4和8時(shí),對(duì)測(cè)試序列進(jìn)行編碼,同時(shí)以文獻(xiàn)[12]中的方法作為對(duì)比實(shí)驗(yàn),記錄不同區(qū)域的PSNR值。以通過HM16.7編碼獲得的PSNR值作為參考,獲得相對(duì)于原始HM16.7算法的圖像質(zhì)量增益(IQG)。三種方法在目標(biāo)碼率設(shè)置為1 000 kbit/s時(shí)進(jìn)行對(duì)比實(shí)驗(yàn)。
圖7 選取的ROI的PSNR增長對(duì)比
圖7中,自上而下三條線分別對(duì)應(yīng)本文方法α=8,α=4、文獻(xiàn)[12]中方法所獲得的結(jié)果??梢钥闯?,相比于文獻(xiàn)[12]中穩(wěn)定的IQG值,本文的IQG是可變的,隨α值的不同而不同。較大的α對(duì)應(yīng)于較高的IQG,即通過調(diào)節(jié)像素權(quán)重α,可以自由地控制ROI的質(zhì)量。
為直觀地衡量本文算法得到的重建視頻的主觀質(zhì)量,分別使用本文、HM16.7和文獻(xiàn)[12]三種算法對(duì)一些HEVC標(biāo)準(zhǔn)測(cè)試序列進(jìn)行了比對(duì)測(cè)試,部分示例如圖8所示。
(a) HM16.7 (b) 文獻(xiàn)[12] (c) 本文
(d) HM16.7 (e) 文獻(xiàn)[12] (f) 本文圖8 主觀質(zhì)量對(duì)比
圖8是在三種不同碼率控制算法下分別編碼兩個(gè)測(cè)試序列之后的結(jié)果比較。(目標(biāo)碼率為512 kbit/s)??梢钥闯觯疚姆椒ǖ闹亟ㄒ曨l質(zhì)量相對(duì)最佳,圖像的主觀觀感也更為平滑。為了進(jìn)一步的比較,對(duì)兩幀圖像中的一些細(xì)節(jié)進(jìn)行了放大處理和分析。將圖片的ROI和非ROI分別放大比較,如圖9所示。
(a) ROI放大對(duì)比
(b) 非ROI放大對(duì)比圖9 局部放大對(duì)比
圖9選取的是重建視頻質(zhì)量較好的文獻(xiàn)[12]和本文算法處理結(jié)果中的ROI和非ROI區(qū)域的局部細(xì)節(jié)來進(jìn)行對(duì)比??梢钥闯霰疚乃惴▽?duì)于ROI分配了更合適的比特?cái)?shù)目,而非ROI圖像質(zhì)量較為不佳,即在非ROI分配了更少的比特?cái)?shù)目,但是本文算法得到的重建視頻圖像的整體質(zhì)量稍好。此外,通過碼流分析軟件Elecard HEVC Analyzer查看到圖9的QP值進(jìn)行對(duì)比,發(fā)現(xiàn)本文算法處理后的ROI的QP值均小于文獻(xiàn)[12],非ROI的QP值均大于文獻(xiàn)[12],說明本文算法確實(shí)在ROI區(qū)域增多了比特分配數(shù)目而非ROI區(qū)域減少了比特分配數(shù)目,圖像質(zhì)量又相對(duì)平滑,進(jìn)一步證明了本文算法的可行性。
為了在有限的帶寬下傳輸高質(zhì)量的直播視頻信息,提出一種改進(jìn)的基于ROI的碼率控制方法。通過對(duì)整幀圖像進(jìn)行分層處理,得到像素級(jí)的ROI,并形成ROI map。根據(jù)ROI map再分別為幀層和LCU層進(jìn)行比特分配,最后根據(jù)R-λ模型獲得QP來實(shí)現(xiàn)壓縮編碼。通過編碼仿真實(shí)驗(yàn),分析和比較了本文方法和其他兩種方法的對(duì)比實(shí)驗(yàn)結(jié)果。在整幀圖像質(zhì)量PSNR相對(duì)穩(wěn)定的情況下,該方案可以顯著提高ROI的率失真性能和重建視頻的整體質(zhì)量。不僅實(shí)現(xiàn)了視頻有效的壓縮傳輸,而且考慮了視覺的主觀因素,為處理海量高清實(shí)時(shí)直播視頻的傳輸提供了思路。盡管本文方法取得了可觀的成果,但仍有一定的改進(jìn)空間,例如,本文直接采用R-λ模型求取QP仍存在一定的局限性,在今后的工作中,我們將對(duì)R-λ模型進(jìn)行改進(jìn),以求進(jìn)一步完善。