張晨昕
(北方工業(yè)大學(xué),北京 100144)
0 引言
隨著虛擬現(xiàn)實(shí)(VR)技術(shù)的進(jìn)步,全向視頻(360度視頻)在最近幾年越來越受歡迎。其內(nèi)容通常在經(jīng)度上跨度360度,在緯度上跨度180度。攝像機(jī)捕獲的視頻導(dǎo)出后進(jìn)行圖像拼接以獲得球形場(chǎng)景,然后將其投影到2D平面上進(jìn)行編碼[1]1241。隨著新一代視頻編碼標(biāo)準(zhǔn)VVC的到來,VCEG和MPEG發(fā)布了新一代視頻壓縮技術(shù)提案征集(CFP)[2],等距柱狀投影(ERP)是CFP中使用的所有360度視頻序列的源投影格式,也是使用最廣泛的投影格式,但其視頻壓縮效率并不高,由于在兩極區(qū)域過采樣,存在大量對(duì)編碼效率產(chǎn)生負(fù)面影響的冗余。
VVC標(biāo)準(zhǔn)有望提供高效的360度視頻編碼解決方案,非常適合解決虛擬現(xiàn)實(shí)視頻應(yīng)用不斷增長(zhǎng)的需求[1]1250。與HEVC不同,VVC中引入了四叉樹嵌套多叉樹(QTMT)的劃分結(jié)構(gòu),由于非對(duì)稱分區(qū)的引入,編碼的計(jì)算代價(jià)與時(shí)間代價(jià)也是巨大的,在全幀內(nèi)測(cè)試配置下,VVC測(cè)試軟件(VTM)的幀內(nèi)編碼復(fù)雜度是HEVC測(cè)試軟件HM的18倍[3]。僅禁用二叉樹劃分模式(BT)后,編碼時(shí)間平均節(jié)省75.3%;僅禁用三叉樹劃分模式(TT)后,編碼時(shí)間平均節(jié)省47.6%;同時(shí)禁用BT與TT,編碼時(shí)間平均節(jié)省91.7%[4]。不論是對(duì)于普通視頻還是360度視頻,優(yōu)化CU劃分過程采取的方法主要分為2類,即傳統(tǒng)的人工特征提取方法和基于學(xué)習(xí)的方法。一方面,傳統(tǒng)的人工方法如文獻(xiàn)[5]、文獻(xiàn)[6]提取的特征包括已編碼CU的深度、圖像紋理特征等,通過比較特征快速?zèng)Q策CU分區(qū);另一方面,隨著機(jī)器學(xué)習(xí)技術(shù)的發(fā)展,基于學(xué)習(xí)的方法也涌現(xiàn)了出來[7-8]。但是,在VTM的編碼過程中生成了長(zhǎng)與寬不相等的各類矩形,因此,使用網(wǎng)絡(luò)進(jìn)行學(xué)習(xí)將大大增加參數(shù)量,并導(dǎo)致計(jì)算的復(fù)雜性顯著上升。借鑒文獻(xiàn)[9]統(tǒng)計(jì)CU深度分布的思想,對(duì)于360度視頻分緯度統(tǒng)計(jì)CU深度的分布,筆者考慮數(shù)據(jù)量大的特點(diǎn),選用計(jì)算復(fù)雜度較小的傳統(tǒng)方法,提出了一種基于紋理復(fù)雜度的多叉樹劃分決策快速算法。
1 紋理復(fù)雜度的計(jì)算與CU深度分析
1.1 紋理復(fù)雜度的計(jì)算
在計(jì)算CU的紋理復(fù)雜度的研究中,傳統(tǒng)方法主要使用方差特征或梯度特征來檢測(cè)紋理[10-11]。由于虛擬現(xiàn)實(shí)360度視頻分辨率高,畫面細(xì)節(jié)豐富,為了計(jì)算CU的紋理復(fù)雜度并相互比較,需要更加突出紋理區(qū)域。作為梯度算子,scharr算子系數(shù)更高,紋理權(quán)值更大,進(jìn)一步增強(qiáng)了邊緣特征,并且獲得了更清晰的信息[12],在這方面比sobel算子更為優(yōu)秀,所以筆者選用scharr算子計(jì)算CU的紋理復(fù)雜度,如式(1)~式(3)所示。
(1)
(2)
Gscharr=|Gx|+|Gy|
(3)
式(1)~式(3)中,Sx和Sy分別代表水平和垂直方向的scharr算子;W和H分別為當(dāng)前CU的寬和高;A為3×3的亮度值矩陣;Gx表示水平梯度;Gy表示垂直梯度;Gscharr表示塊的總梯度。
為了判斷CU簡(jiǎn)單或復(fù)雜,需要尋找判斷閾值,在虛擬現(xiàn)實(shí)360度視頻場(chǎng)景下,不同緯度的拉伸情況不同,傳統(tǒng)方法使用固定閾值判斷CU簡(jiǎn)單或復(fù)雜不合理,為了使CU劃分方式的判斷結(jié)果更加符合實(shí)際情況,需要對(duì)不同緯度的CU設(shè)置不同的閾值。CU紋理復(fù)雜度與CU深度有很強(qiáng)的相關(guān)性,所以筆者對(duì)不同緯度CU深度進(jìn)行了統(tǒng)計(jì)分析。
1.2 ERP投影格式下的360度視頻CU深度分析
CU深度分為四叉樹深度(qtdepth)和多叉樹深度(mtdepth),它們分別表示了1個(gè)CU執(zhí)行四叉樹劃分和多叉樹劃分的次數(shù),默認(rèn)的四叉樹深度可以從0增加至4,在完成四叉樹劃分之后才能開始多叉樹劃分,并且四叉樹深度不再改變。在ERP投影格式下的虛擬現(xiàn)實(shí)360度視頻中,位于兩極區(qū)域的圖像被水平大幅度拉伸,導(dǎo)致紋理相對(duì)均勻且簡(jiǎn)單,示例塊使用四叉樹深度較淺的CU進(jìn)行編碼;相比之下赤道區(qū)域拉伸程度較輕,圖像紋理相對(duì)復(fù)雜,示例塊使用四叉樹深度更深的CU進(jìn)行編碼。不同緯度區(qū)域CU劃分結(jié)果示例如圖1所示,CU劃分結(jié)果說明如表1所示。

表1 CU劃分結(jié)果說明
筆者定義四叉樹深度1和2的CU為較淺CU,四叉樹深度3和4的CU為較深CU,為了研究緯度和CU四叉樹深度的關(guān)系,進(jìn)行了一系列統(tǒng)計(jì)工作。對(duì)每幀圖像垂直間隔128個(gè)像素點(diǎn)劃分緯度帶,4 K圖像有15個(gè)緯度帶,6 K圖像有24個(gè)緯度帶,8 K圖像有32個(gè)緯度帶。4 K,6 K,8 K視頻序列在量化參數(shù)QP=22,27,32,37這4種情況下,不同緯度較淺CU(qtdepth≤2)的占比情況如圖2所示。

(a)4 K視頻序列CU分布情況 (b)6 K視頻序列CU分布情況

(c)8 K視頻序列CU分布情況圖2 360度視頻CU分布情況統(tǒng)計(jì)圖
從圖2可以看出,3種分辨率的視頻兩極CU全都普遍較淺,占比達(dá)90%以上,且隨著緯度向赤道靠近,較淺CU占比逐漸下降,相對(duì)較深CU占比逐漸增加。同時(shí)不同緯度帶CU占比與QP相關(guān)性很大,QP越小,CU的四叉樹深度總的來看更深;QP越大,總的來看CU的四叉樹深度越淺。
筆者發(fā)現(xiàn)cos函數(shù)在[0,2π]區(qū)間內(nèi)大致符合上述變化規(guī)律,可以擬合上述曲線,如下:
y=αcos (2πx/β)+γ
(4)
式(4)中,y表示較淺CU占比;x為緯度帶序號(hào);α,β,γ是預(yù)設(shè)參數(shù)。
上述函數(shù)曲線可以區(qū)分不同緯度下四叉樹深度較淺與較深CU的劃分比例。顯然,同緯度中四叉樹深度較淺CU一般紋理簡(jiǎn)單,較深CU一般紋理復(fù)雜,所以該函數(shù)可以用來區(qū)分不同緯度紋理復(fù)雜度低與高的CU。后續(xù)過程將以該函數(shù)為基礎(chǔ),按紋理復(fù)雜度對(duì)CU進(jìn)行分類,并分別決策劃分方式。
2 擬議的算法
由于研究的重點(diǎn)是CU是否進(jìn)行四叉樹劃分至四叉樹深度到達(dá)3,所以選取的對(duì)象塊四叉樹深度為2,尺寸為32×32。與之前的統(tǒng)計(jì)工作一致,對(duì)于任一高度為128的緯度帶,用scharr算子計(jì)算其中每一個(gè)32×32塊的紋理復(fù)雜度,取其中復(fù)雜度最高的塊,記為Smax,進(jìn)而利用擬合的函數(shù)定義不同緯度的紋理復(fù)雜度動(dòng)態(tài)閾值Dt:
Dt=Smaxαcos(2πx/β)+γ
(5)
預(yù)設(shè)參數(shù)α,β,γ如表2所示。

表2 擬合函數(shù)參數(shù)表
編碼過程中,當(dāng)前塊的紋理復(fù)雜度Gscharr≤Dt時(shí),判定為紋理簡(jiǎn)單塊,執(zhí)行四叉樹劃分至四叉樹深度為2后進(jìn)行多叉樹劃分;Gscharr>Dt時(shí),判定為紋理復(fù)雜塊,筆者發(fā)現(xiàn)其劃分方式存在一定規(guī)律,需要進(jìn)行下一步的判斷。
在對(duì)32×32的母塊CU進(jìn)行類四叉樹的4等分之后,使用scharr算子分別計(jì)算4個(gè)子塊的紋理復(fù)雜度,并記錄母塊CU在原本算法中選擇的劃分方式。4種典型CU的劃分方式及其子塊復(fù)雜度如表3所示。

表3 4種典型CU的劃分方式及其子塊復(fù)雜度
從表3中可以看出,①號(hào)CU的子塊4復(fù)雜度非常高,與位于第2高的子塊1之比大于4,在這種對(duì)比下,子塊1~3的復(fù)雜度視為在同一數(shù)量級(jí);同理,②號(hào)CU的子塊1復(fù)雜度很低,位于第2低的子塊3與其之比約等于3,在這種對(duì)比下,子塊2~4的復(fù)雜度視為在同一數(shù)量級(jí)。在這2種情況下,母塊CU均選擇了四叉樹劃分。③號(hào)CU子塊1和子塊2復(fù)雜度很低,子塊3和子塊4復(fù)雜度相比之下非常高,比前者高出10倍以上,母塊CU選擇水平二叉樹劃分,這時(shí)認(rèn)為在水平方向上,子塊1和子塊2不含紋理,可以合并,子塊3和子塊4紋理豐富,也可以合并;類似地,④號(hào)CU在水平方向上,子塊1和子塊2可以合并,子塊3和子塊4也可以合并,實(shí)際上母塊CU選擇了水平三叉樹劃分,這是由于三叉樹在劃分過程中,先后執(zhí)行了3次同向二叉樹劃分,視覺上看等效于將母塊在水平方向上平均分成4份,而后將中間2份合并。所以無論是三叉樹還是二叉樹,在劃分過程中紋理復(fù)雜度相對(duì)較大和較小的2個(gè)相鄰子塊都可以視為合并。
由此,針對(duì)復(fù)雜CU,總結(jié)出基于子塊復(fù)雜度的多叉樹劃分判斷方法:對(duì)于4個(gè)正方形子塊,分別計(jì)算它們的紋理復(fù)雜度,記為:Sub1,Sub2,Sub3,Sub4,其中,Sub1代表最小值,Sub2代表次小值,Sub3代表次大值,Sub4代表最大值,將判斷復(fù)雜度之比的閾值記作Th,則判斷條件總結(jié)如下:
(1)Sub4/Sub1
(2)Sub4/Sub3>Th1或Sub2/Sub1>Th(Th1=Th+1); (3)Sub4/Sub3和Sub2/Sub1 | Th。 條件(1)表示:Sub4與Sub1在同一數(shù)量級(jí),無明顯大小關(guān)系,則所有子塊復(fù)雜度均在同一數(shù)量級(jí),視作大小接近,應(yīng)選擇四叉樹劃分;條件(2)表示:某一個(gè)塊復(fù)雜度大小比其余塊更為突出,應(yīng)選擇四叉樹劃分;條件(3)表示:2組位置相鄰的2塊之間復(fù)雜度無差異,2組之間復(fù)雜度有差異,應(yīng)選擇多叉樹劃分。 筆者驗(yàn)證了不同閾值下,該條件判斷的正確率,其結(jié)果如圖3所示。 
圖3 不同閾值下條件判斷正確率 圖3曲線為用筆者總結(jié)的判斷條件判定的劃分方式與原算法判定的劃分方式一致的概率,可以看出4 K,6 K,8 K這3種分辨率的視頻均在Th=2時(shí),有較高的判斷正確率。其原因是當(dāng)Th過小時(shí),條件(1)的判斷與描述更加符合,更容易篩選出4個(gè)子塊復(fù)雜度接近的CU做四叉樹劃分,而判斷條件(2)與判斷條件(3)所需的差異性體現(xiàn)得不明顯;Th增大到2時(shí),條件(1)選出的CU子塊之間復(fù)雜度仍較為接近,其正確率保持較高水平,而判斷條件(2)與判斷條件(3)所需的差異性逐漸明顯,可以篩選出代表性的CU,正確率上升;隨著Th增大,條件(1)選出的CU子塊之間復(fù)雜度不再接近,其正確率下降,對(duì)于條件(2)與條件(3),用于篩選典型塊的條件越來越嚴(yán)格,選出的塊數(shù)量越來越少,而用來保證其余塊互相接近的條件越來越寬松,導(dǎo)致存在差異的塊被誤判選中,造成正確率下降,所以總體來看,Th=2時(shí)正確率最高。 整體算法流程圖如圖4所示。 
圖4 基于復(fù)雜度差異的VVC中360度視頻CU劃分快速?zèng)Q策算法流程圖 3 實(shí)驗(yàn)與分析3.1 實(shí)驗(yàn)數(shù)據(jù)與評(píng)價(jià)標(biāo)準(zhǔn)在實(shí)驗(yàn)中,筆者將提出的算法合并到版本最新且穩(wěn)定的VTM-8.0和與之對(duì)應(yīng)的360Lib-10.1中進(jìn)行測(cè)試。實(shí)驗(yàn)的主要編碼參數(shù)為全I(xiàn)幀編碼模式,初始QP分別為22,27,32,37。使用JVET發(fā)布的Excel表計(jì)算BD-rate,用來綜合表示圖像質(zhì)量與碼率的情況,△BD-rate為正表示性能損失,并使用基于緯度加權(quán)的峰值信噪比(WS-PSNR)衡量圖像質(zhì)量,△WS-PSNR的計(jì)算如下: ΔWS-PSNR=WS-PSNRproposed- WS-PSNRVTM8.0 (6) 改進(jìn)后算法與原始算法的時(shí)間比較用△Time來表示,計(jì)算方法如下: (7) 提出方法與原始VTM8.0的比較結(jié)果如表4~表6所示。 
表4 全I(xiàn)幀模式 
表5(續(xù)) 
表6 randomaccess模式 3.2 實(shí)驗(yàn)結(jié)果分析表4中,在全I(xiàn)幀模式下實(shí)驗(yàn)結(jié)果表明:與原始算法相比,筆者提出的算法的編碼時(shí)間平均節(jié)省了24%,WS-PSNR平均降低了0.02 dB,BD-rate平均僅增加0.49%,可以看出對(duì)于BranCastle2,Broadway,DrivingInCountry,Trolley等赤道區(qū)域比較復(fù)雜的視頻,筆者提出的算法的加速效果較好,對(duì)于其他赤道區(qū)域紋理不明顯、空曠區(qū)域較大的視頻效果較差。這是由于筆者提出的算法主要加快了紋理復(fù)雜CU的劃分方式?jīng)Q策速度,而簡(jiǎn)單CU的劃分決策速度與原算法相似。表5、表6顯示對(duì)于lowdelay模式和randomaccess模式,筆者提出的算法對(duì)原始算法也有大幅時(shí)間減少。全I(xiàn)幀模式下不同序列的率失真(Rate-Distortion,RD)性能曲線比較如圖5所示。 
表5 lowdelay模式 
(a)4 K視頻AerialCity率失真曲線 
(b)6 K視頻Broadway率失真曲線 
(c) 8 K視頻Trolley率失真曲線圖5 實(shí)驗(yàn)視頻序列率失真曲線圖 從圖5可以看出,使用本算法編碼的視頻質(zhì)量幾乎與原始VTM算法相同,沒有明顯損失。 4 結(jié)論為了解決VVC編碼標(biāo)準(zhǔn)在虛擬現(xiàn)實(shí)360度視頻場(chǎng)景下編碼時(shí)間長(zhǎng)、復(fù)雜度高的問題,針對(duì)ERP投影格式的特點(diǎn),筆者設(shè)計(jì)了一種CU劃分方式快速?zèng)Q策算法,通過統(tǒng)計(jì)分析不同緯度CU劃分結(jié)構(gòu)的分布特征,利用梯度計(jì)算CU的紋理復(fù)雜度,在各個(gè)緯度區(qū)分簡(jiǎn)單與復(fù)雜CU,決定簡(jiǎn)單CU的劃分方式,而后通過統(tǒng)計(jì)分析復(fù)雜CU劃分結(jié)構(gòu)與子塊復(fù)雜度間的關(guān)系,進(jìn)一步判斷復(fù)雜CU的劃分方式。通過提前決策CU的劃分方式,降低原有算法的計(jì)算量來節(jié)省編碼時(shí)間,提升編碼效率。實(shí)驗(yàn)結(jié)果表明:在全I(xiàn)幀模式下,與現(xiàn)有的VTM8.0相比,時(shí)間節(jié)省了24%,WS-PSNR降低了0.02 dB,BD-rate僅增加了0.49%。
东城区|
凉城县|
宜城市|
武胜县|
永宁县|
二连浩特市|
泸溪县|
堆龙德庆县|
彰武县|
亳州市|
西吉县|
辉南县|
仪陇县|
斗六市|
吴江市|
巩义市|
应城市|
溧阳市|
龙海市|
富宁县|
澄城县|
锦屏县|
巩义市|
无极县|
鸡西市|
英超|
镇平县|
万宁市|
兴海县|
涞源县|
佛教|
石狮市|
琼中|
博野县|
锡林郭勒盟|
大英县|
灵石县|
渝北区|
随州市|
南昌市|
卓尼县|
|