楊栩,朱策,郭紅偉,4,羅雷1,
(1.重慶郵電大學(xué)通信與信息工程學(xué)院,重慶 400065;2.成都師范學(xué)院物理與工程技術(shù)學(xué)院,四川 成都 611130;3.電子科技大學(xué)信息與通信工程學(xué)院,四川 成都 611731;4.紅河學(xué)院工學(xué)院,云南 蒙自 661100)
隨著Web3.0 的到來和元宇宙的興起,虛擬現(xiàn)實(shí)(VR,virtual reality)和增強(qiáng)現(xiàn)實(shí)(AR,augmented reality)[1]技術(shù)為用戶提供了沉浸式交互視聽體驗(yàn),廣泛應(yīng)用于游戲、監(jiān)控、視頻會議等領(lǐng)域。相較于傳統(tǒng)2D 視頻,VR 全景視頻[2-3]包含360°×180°的全方位球域視覺信息,具有高分辨率、高幀率以及大視場等特征[4],數(shù)據(jù)量極大,這給傳輸和存儲全景視頻帶來巨大挑戰(zhàn)。因此,迫切需要高效的全景視頻壓縮技術(shù)來應(yīng)對這些挑戰(zhàn)。
全景視頻投影到編碼平面后再使用傳統(tǒng)視頻編碼器(如高效視頻編碼(HEVC,high efficiency video coding)標(biāo)準(zhǔn)H.265/HEVC[5]、通用視頻編碼(VVC,versatile video coding)標(biāo)準(zhǔn)H.266/VVC[6]對應(yīng)的編碼器)進(jìn)行壓縮。然而,全景視頻在投影過程中會產(chǎn)生邊界和拉伸形變,影響跨邊界的運(yùn)動搜索和形變區(qū)域的編碼性能。因此,在全景視頻編碼方面,一些研究聚焦于投影格式(如等距柱狀投影(ERP,equi-rectangular projection)[7]、正六面體投影(CMP,cubemap projection)[8]、正八面體投影(OHP,octahedron projection)[3]等),以期找到既具有較少的投影邊界又能產(chǎn)生較小拉伸形變的投影格式。然而,很難找到能同時(shí)滿足這2 個條件的投影格式,因?yàn)橥队捌矫嬖缴?,投影邊界越少,但拉伸形變越?yán)重;反之,投影平面越多,拉伸形變越小,但投影邊界也越多,導(dǎo)致組合后的矩形編碼平面的圖像不連續(xù)。由于CMP 失真相對較小,正六面體的展開平面能成為一個獨(dú)立的矩形編碼平面,符合編碼器基于矩形塊劃分的編碼特性,因此CMP 成為傳統(tǒng)編碼和智能編碼[9]的主要研究對象之一,本文將在CMP 上建立優(yōu)化模型。
還有一些研究集中在改進(jìn)編碼算法,以彌補(bǔ)投影帶來的編碼性能損失。一類研究關(guān)注投影邊界,例如文獻(xiàn)[8,10]通過填充CMP 邊界區(qū)域來提升跨邊界運(yùn)動搜索效果。然而,由于投影邊界占比較小,性能提升非常有限,特別是對運(yùn)動變化不大的全景視頻幾乎沒有效果。在此基礎(chǔ)上,文獻(xiàn)[11]不僅進(jìn)行了邊界填充拓展,還建立了符合全景視頻特征的率失真優(yōu)化模型,從而提升了編碼性能。另一類研究關(guān)注投影產(chǎn)生的拉伸形變,文獻(xiàn)[12]針對CMP提出基于熵平衡的比特分配算法以匹配拉伸區(qū)域的形變程度,進(jìn)而提升率失真性能。文獻(xiàn)[13]根據(jù)CMP 在平面中心區(qū)域與外圍區(qū)域的形變程度來調(diào)整量化參數(shù)(QP,quantization parameter),取得和文獻(xiàn)[12]差不多的編碼性能。文獻(xiàn)[14]根據(jù)CMP的形變程度,提出一種球域率失真優(yōu)化算法。雖然這些算法對全景視頻編碼比較有效,但是其僅考慮投影區(qū)域的拉伸形變對編碼性能的影響,沒有考慮編碼幀間的時(shí)域依賴關(guān)系,因此率失真性能還有較大的提升空間。
視頻編碼的幀間預(yù)測技術(shù)使當(dāng)前編碼單元的失真不僅影響其自身的編碼性能,還會影響后續(xù)編碼幀中參考該單元的編碼塊的率失真性能,文獻(xiàn)[15-20]對2D 平面的時(shí)域依賴率失真優(yōu)化模型進(jìn)行了研究。但該模型無法直接應(yīng)用于全景視頻編碼,并且該模型的復(fù)雜度較高,這對超高分辨率的全景視頻編碼來說是不可行的。
本文針對正六面體投影的全景視頻編碼,提出空-時(shí)依賴的球域失真模型,主要貢獻(xiàn)如下。
1) 在CMP 上建立平面編碼失真與球域感知失真的空域映射模型。像素均勻分布在整個球面,投影后拉伸平面區(qū)域的冗余像素與其面積成正比,以此來劃分平面編碼區(qū)域及球面環(huán)帶區(qū)域并計(jì)算相應(yīng)面積,并將面積比作為球域失真空域映射權(quán)重。
2) 根據(jù)運(yùn)動補(bǔ)償預(yù)測的時(shí)域參考關(guān)系建立球域失真時(shí)域傳播模型。為了降低編碼復(fù)雜度和減少緩存空間,建立失真后向傳播鏈。通過運(yùn)動補(bǔ)償預(yù)測誤差和重建誤差的關(guān)系來計(jì)算失真時(shí)域影響權(quán)重。
3) 根據(jù)幀級時(shí)域相關(guān)性自適應(yīng)調(diào)整幀級量化參數(shù),根據(jù)球域失真空域映射權(quán)重和時(shí)域影響權(quán)重來調(diào)整編碼樹單元(CTU,coding tree unit)級拉格朗日乘子和QP。實(shí)驗(yàn)結(jié)果顯示,在相同編碼質(zhì)量下,本文算法在所有全景視頻測試序列上有平均超過7%的碼率節(jié)省。
全景視頻需要投影到2D 平面進(jìn)行編碼,解碼后反投影回球面供人觀看,這種框架使主觀視覺感受受到球域失真而非編碼失真的影響。然而,客觀質(zhì)量評價(jià)受基于均方誤差(MSE,mean square error)的編碼失真影響。不一致的主客觀質(zhì)量評價(jià)會損失編碼性能。此外,運(yùn)動補(bǔ)償預(yù)測誤差使球域失真在時(shí)域傳播,當(dāng)前編碼單元的失真不僅影響自身的編碼性能,還會影響后續(xù)與它具有參考關(guān)系的編碼單元的編碼性能。針對以上兩點(diǎn),本文提出一種空-時(shí)域依賴的球域失真優(yōu)化模型。
為了使全景視頻編碼的客觀質(zhì)量評價(jià)與主觀質(zhì)量評價(jià)保持一致,全景視頻在平面編碼的率失真優(yōu)化目標(biāo)是在給定的目標(biāo)比特內(nèi)盡可能地減少球域感知失真而非編碼失真,也即
其中,及Ri分別為第i塊編碼單元所對應(yīng)的球域感知失真和平面編碼比特,RT為編碼比特預(yù)算,N為編碼單元總數(shù)。
如圖1 所示,球面圖像會投影到正六面體的6 個面以適應(yīng)編碼器的矩形圖像編碼規(guī)則。在實(shí)際編碼過程中,編碼器會將編碼平面劃分為有限個編碼單元,并按照行和列排列。根據(jù)球面圖像到編碼平面再到編碼單元劃分之間的一一對應(yīng)關(guān)系可以看出,每一個編碼單元都對應(yīng)著唯一的一塊球面區(qū)域。雖然像素點(diǎn)均勻分布在整個球面,但是不同位置的球面圖像到編碼平面的投影距離不同,導(dǎo)致與每個編碼單元對應(yīng)的球面圖像在投影后會出現(xiàn)不同程度的拉伸形變,拉伸區(qū)域的空缺像素通過插值填充,但這些插值像素并不真實(shí)存在,而是成為冗余像素并對編碼域的主客觀質(zhì)量評價(jià)產(chǎn)生影響。
圖1 全景視頻正六面體投影
為了使影響球域主觀質(zhì)量的評價(jià)指標(biāo)球域失真和編碼域的質(zhì)量評價(jià)指標(biāo)編碼失真Di趨于一致,引入編碼單元的空域映射權(quán)重來抵消冗余像素對編碼域編碼失真的不利影響。所以,CMP 視頻序列的平面編碼失真與球域感知失真之間存在以下映射關(guān)系
其中,和Di分別為第i個編碼單元所對應(yīng)的球域失真映射權(quán)重以及編碼失真。
根據(jù)拉格朗日乘子法[18],合并式(1)和式(2),將約束性優(yōu)化問題轉(zhuǎn)換為無約束優(yōu)化問題,則球域率失真優(yōu)化模型變?yōu)?/p>
其中,λ為全局拉格朗日乘子,用于平衡失真和碼率,較小的λ使失真較小但消耗的碼率較大,較大的λ使失真較大但消耗的碼率較小;o1,...,oN為編碼單元的編碼參數(shù),比如量化參數(shù)、編碼模式、參考幀索引等。由于編碼參數(shù)之間存在耦合關(guān)系,因此式(3)的全局率失真優(yōu)化問題在編碼中難以實(shí)現(xiàn)。
視頻編碼采用獨(dú)立率失真優(yōu)化技術(shù),其易于實(shí)現(xiàn)且復(fù)雜度較低。編碼時(shí),假設(shè)編碼單元間相互獨(dú)立,對每個編碼單元進(jìn)行獨(dú)立率失真優(yōu)化。當(dāng)前編碼單元的率失真性能僅取決于當(dāng)前編碼單元的編碼參數(shù),與其他編碼單元的編碼參數(shù)無關(guān),即
其中,λi及oi分別為當(dāng)前編碼單元的拉格朗日乘子及編碼參數(shù)。然而,獨(dú)立率失真優(yōu)化使編碼性能還有很大的提升空間。
根據(jù)文獻(xiàn)[18],編碼單元的碼率僅由其自身的編碼參數(shù)決定,而失真與其參考單元的失真具有很強(qiáng)的相關(guān)性,失真會通過運(yùn)動補(bǔ)償預(yù)測在時(shí)域傳播。所以,有必要建立失真?zhèn)鞑ユ湶⒘炕д娴挠绊懘笮 ?/p>
除非場景切換,視頻圖像具有時(shí)域連續(xù)性。幀間預(yù)測技術(shù)充分利用這種特性來減少視頻信號在時(shí)域上的冗余,進(jìn)一步提高了壓縮率。已編碼單元的失真會影響后續(xù)以其為參考的編碼單元的失真,從而形成一條失真時(shí)域傳播鏈,如圖2 所示。圖2(a)為球域失真?zhèn)鞑ユ湥粓D2(b)為球面圖像投影到六面體后的失真?zhèn)鞑ユ?;圖2(c)為編碼平面上的失真?zhèn)鞑ユ湣?/p>
圖2 失真時(shí)域傳播鏈
根據(jù)文獻(xiàn)[18],失真時(shí)域傳播鏈上第i+1 個編碼單元Ui+1的重建失真Di+1和運(yùn)動補(bǔ)償預(yù)測(MCP,motion compensation prediction)失真存在如下關(guān)系
其中,b為與視頻信號源相關(guān)的常量;Ri+1為編碼碼率,主要由自身的編碼參數(shù)決定??梢员硎緸?/p>
依次類推,傳播鏈上第N個編碼單元的失真DN與Di的關(guān)系可以表示為
結(jié)合式(5)~式(8),式(3)中的球域率失真優(yōu)化問題變?yōu)?/p>
式(9)的球域率失真優(yōu)化模型進(jìn)一步表示為
不同經(jīng)緯度的球面區(qū)域到正六面體的投影距離不同,導(dǎo)致球面區(qū)域投影到平面后出現(xiàn)不同程度的拉伸形變。具體而言,具有相同弧度?的不同位置球面區(qū)域在平面上的投影高度會有所差異,如圖3 所示,CMP 的切面上高緯度球面區(qū)域在投影平面的高度d1大于低緯度區(qū)域投影高度d2。投影后,通過插值來填補(bǔ)平面拉伸區(qū)域的空缺像素,而插值的冗余像素會影響全景視頻的編碼性能。為解決這個問題,本文需要在球域失真與編碼失真之間建立一個符合主客觀質(zhì)量評價(jià)一致性的空域映射模型。
圖3 同弧度球面投影高度變化
從六面體的一個面來觀察,可以看到球面圖像的一部分被投影到該面上。如圖4 所示,黑色正方形塊為投影平面,球面區(qū)域被劃分為5 個環(huán)帶區(qū)域,每個區(qū)域?qū)挾认嗤?,分別標(biāo)記為1~5。假設(shè)球面上同一環(huán)帶區(qū)域到投影平面的距離相等,相應(yīng)區(qū)域的各編碼單元的失真權(quán)重相同。由于像素點(diǎn)在整個球面上均勻分布,球面圖像投影到編碼平面前后的像素點(diǎn)數(shù)量與區(qū)域面積成正比。因此,本文用面積比來量化球域失真映射權(quán)重。
圖4 球面區(qū)域劃分
由于CMP 的6 個投影平面的分辨率相同,均為1 280×1 280,將其劃分為100 個分辨率為128×128 的CTU。為了與編碼平面對應(yīng),將球面環(huán)帶寬度r設(shè)定為CTU 的行寬。則第i個球面環(huán)帶區(qū)域面積Ssphere(i)為
在編碼平面,各編碼單元對應(yīng)著唯一的球面區(qū)域,將編碼平面劃分為與球面環(huán)帶區(qū)域?qū)?yīng)的5 個編碼平面區(qū)域,分別標(biāo)記為數(shù)字1~5,如圖5 所示,同色的編碼單元組成同一編碼平面區(qū)域,同一編碼平面區(qū)域的球域失真映射權(quán)重相同。
圖5 編碼平面區(qū)域劃分
第i個編碼平面區(qū)域面積Scmp(i)為
因此,根據(jù)式(11)和式(12),第i個編碼平面區(qū)域內(nèi)的編碼單元的球域失真映射權(quán)重為
至此,對于正六面體的一個編碼平面的球域失真映射權(quán)重模型已經(jīng)建立,而實(shí)際編碼平面包含6 個映射平面,將它們按照如圖6 所示的順序排列,從而組成一個矩形編碼平面。圖6(a)展示了投影平面的組合順序,編碼平面的第一行分別為左、前、右投影平面,第二行分別為底、后、頂投影平面。圖6(b)展示了編碼平面的區(qū)域劃分,而該區(qū)域劃分方式?jīng)Q定了編碼單元的空域映射權(quán)重。
圖6 投影平面的組合順序和編碼平面的區(qū)域劃分
球域失真映射到編碼平面后,由于采用了幀間預(yù)測編碼技術(shù),編碼平面上的壓縮失真不僅影響當(dāng)前編碼單元的編碼性能,還會對后續(xù)參考該編碼單元的其他編碼單元的編碼性能產(chǎn)生影響。因此,當(dāng)考慮時(shí)域依賴編碼時(shí),需要根據(jù)參考關(guān)系來建立全局率失真優(yōu)化模型。最新的通用視頻編碼標(biāo)準(zhǔn)VVC 采用層次編碼結(jié)構(gòu),如圖7 所示,其中8n+i表示第n個圖像組(GOP,group of picture)中每個編碼幀的圖像序號(POC),i=1,2,…,8。在低時(shí)延編碼配置中,一個GOP 包含8 幀,分為3 層。編碼幀參考時(shí)域上前一幀以及最近鄰的3 個關(guān)鍵幀,當(dāng)前編碼幀的失真會在時(shí)域上進(jìn)行傳播。因此,有必要量化編碼單元的失真影響因子,并根據(jù)該失真影響因子來調(diào)整編碼參數(shù),從而提升傳播鏈上所有編碼單元的整體編碼性能。
圖7 層次編碼結(jié)構(gòu)
根據(jù)式(5)~式(8),可以遞推出當(dāng)前編碼單元的失真影響因子,然而,該失真影響因子的求解需要緩存未編碼幀,并通過前向運(yùn)動搜索在源像素上來完成,復(fù)雜度極高。為了不增加編碼復(fù)雜度,根據(jù)視頻信號連續(xù)性特性,可以在已編碼幀上建立后向失真?zhèn)鞑ユ湥鐖D8 所示,根據(jù)已編碼信息來量化失真影響權(quán)重。
圖8 后向失真?zhèn)鞑ユ?/p>
根據(jù)式(5)~式(7),在后向失真?zhèn)鞑ユ溨?,?dāng)前編碼單元Ui的失真Di與前一編碼單元Ui-1的失真Di-1之間的關(guān)系變?yōu)?/p>
同理,當(dāng)前編碼單元Ui的失真Di對后向失真?zhèn)鞑ユ溨芯幋a單元Ui-N的失真影響變?yōu)?/p>
根據(jù)式(14)可得,失真影響因子βi-1為
當(dāng)編碼圖8 所示的傳播鏈上的編碼單元Ui時(shí),后向傳播鏈上的其余編碼單元已經(jīng)完成編碼,所以式(16)中Di-1及可以獲取。進(jìn)而式(9)變?yōu)?/p>
綜合式(15)~式(17),編碼單元Ui的失真時(shí)域影響權(quán)重為
第2 節(jié)和第3 節(jié)根據(jù)第1 節(jié)建立的球域失真空-時(shí)域依賴模型確立了球域失真空域映射權(quán)重和時(shí)域影響權(quán)重,它們在算法實(shí)現(xiàn)過程中會調(diào)整拉格朗日乘子和量化參數(shù),從而影響編碼模式的選擇以及編碼失真。因此,算法實(shí)現(xiàn)過程中需要調(diào)整量化參數(shù)。
當(dāng)前主流編碼器均采用圖7 所示的層次編碼結(jié)構(gòu),將一個GOP 中的各幀分成不同的編碼層次,不同層次的編碼幀采用不同的編碼策略,QP 級聯(lián)編碼策略[21]作為一種重要的層次編碼技術(shù),極大地提升了編碼性能。然而,當(dāng)前QP 級聯(lián)技術(shù)采用固定的QP 偏移策略,即
其中,QPslice為幀級量化參數(shù);QP0為編碼器默認(rèn)的輸入量化參數(shù);QPi為第i層編碼幀的量化參數(shù)偏移量,層次越高,該偏移值越大。
雖然該技術(shù)能體現(xiàn)不同層次編碼幀的重要性,卻不能根據(jù)圖像特征自適應(yīng)調(diào)整量化參數(shù)。為此,本文提出一種自適應(yīng)幀級QP 調(diào)整策略。
自適應(yīng)量化參數(shù)編碼策略是根據(jù)幀級時(shí)域依賴性的大小來調(diào)整量化參數(shù)。直觀上講,對于時(shí)域相關(guān)性較強(qiáng)的編碼幀,有大部分編碼單元采用幀間預(yù)測編碼,極限為當(dāng)前編碼幀的失真完全由參考幀決定;反之,則可能有較多的編碼單元采用幀內(nèi)預(yù)測編碼。所以,可以通過幀級重建失真誤差與運(yùn)動補(bǔ)償預(yù)測誤差的比值來量化幀級時(shí)域相關(guān)性。然而,在編碼某幀結(jié)束之前不能獲取重建失真誤差與運(yùn)動補(bǔ)償預(yù)測誤差信息,也就不能量化該編碼幀與參考幀的時(shí)域相關(guān)性大小。為此,根據(jù)視頻圖像的連續(xù)性特點(diǎn),只要沒有發(fā)生場景切換(在實(shí)際編碼過程中,使用幀像素值的方差的變化量來判斷視頻場景是否發(fā)生切換),就可用時(shí)域鄰近已編碼幀的編碼信息來近似量化當(dāng)前編碼幀的時(shí)域相關(guān)性大小,即
其中,ωslice為幀級時(shí)域依賴權(quán)重,分別為當(dāng)前編碼幀的上一幀的重建失真誤差和運(yùn)動補(bǔ)償預(yù)測誤差,Om,n、Cm,n和Pm,n分別為源像素值、重建像素值和預(yù)測像素值,H和W為圖像分辨率的高和寬。
為了保證關(guān)鍵幀的參考質(zhì)量,幀級量化參數(shù)調(diào)整策略僅用于時(shí)域相關(guān)性較強(qiáng)的非關(guān)鍵幀,即
將式(10)中的帶權(quán)重的拉格朗日乘子表示為當(dāng)前編碼單元Ui的拉格朗日乘子λi,也即其率失真曲線斜率為
其中,λ為參考軟件本身的拉格朗日乘子,由幀級量化參數(shù)計(jì)算而來,即
其中,QPslice為4.1 節(jié)優(yōu)化后的幀級量化參數(shù),ωl為與編碼幀所屬層級相關(guān)的權(quán)重系數(shù),ξ為與當(dāng)前編碼幀是否作為參考圖像相關(guān)的系數(shù)。
由式(22)計(jì)算出每個CTU 的拉格朗日乘子后,再使用文獻(xiàn)[22]擬合的拉格朗日乘子與QP 的關(guān)系式計(jì)算QP 并用于編碼,即
本節(jié)給出球域失真空-時(shí)域依賴的球域率失真優(yōu)化(STD-SRDO,spatial and temporal dependent based spherical rate-distortion optimization)算法的詳細(xì)流程,如算法1 所示。該算法在空-時(shí)域依賴的球域失真模型上分別進(jìn)行幀級和編碼樹單元級量化參數(shù)調(diào)整,通過球域失真映射模型獲取球域失真空域映射權(quán)重,再通過球域失真時(shí)域傳播模型獲取失真時(shí)域影響權(quán)重,最后計(jì)算拉格朗日乘子和量化參數(shù)以優(yōu)化編碼。假設(shè)編碼幀數(shù)為N,每幀包含M個編碼單元。
算法1球域失真空-時(shí)域依賴的球域率失真優(yōu)化
全景視頻編碼的目標(biāo)是在最小化碼率和編碼時(shí)間的同時(shí),保證編碼質(zhì)量。為驗(yàn)證本文算法的有效性,將基于球域失真空-時(shí)域依賴的全景視頻編碼算法集成到VVC 參考軟件VTM14.0 中,編碼器配置為低時(shí)延P 幀(LDP,low-delay P frame)和低時(shí)延B 幀(LDB,low-delay B frame),實(shí)驗(yàn)條件遵守國際編碼標(biāo)準(zhǔn)組織(JCT-VC,joint collaborative team on video coding)建議的通用測試條件(CTC,common test conditions)[23],全景視頻編碼的標(biāo)準(zhǔn)測試序列包括8K、6K 和4K 三類共計(jì)16 個視頻序列,其幀率、比特深度以及分辨率等特征信息如表1 所示。實(shí)驗(yàn)計(jì)算機(jī)配置為Intel(R) Xeon(R) Platinum 8255C CPU @2.50 GHz×2,內(nèi)存為256 GB,基于X64 的處理器,64 位Windows10 專業(yè)版操作系統(tǒng)。
表1 全景視頻測試序列特征信息
全景視頻大都具有較多的仿射運(yùn)動,運(yùn)動目標(biāo)通常出現(xiàn)在赤道區(qū)域附近[24],而赤道附近區(qū)域也是人眼視覺關(guān)注度較高的區(qū)域。圖9 給出了全景視頻測試序列。從圖9 可以看出,全景視頻圖像具有類型多樣、分辨率高、視域廣等特征,有些視頻序列的背景圖像是靜止的,比如PoleVault、Harbor 等;有些視頻序列的背景和前景圖像都呈現(xiàn)運(yùn)動變化,比如DrivingInCity、Landing 等。
圖9 全景視頻測試序列
本文所提算法以VTM14.0 為基準(zhǔn),分別用QP 值為22、27、32、37 去編碼每個測試序列。編碼率失真性能評價(jià)指標(biāo)為BD-rate。BD-rate 是評價(jià)視頻編碼算法性能的主要參數(shù)之一,表示在相同編碼質(zhì)量下新算法相對于基準(zhǔn)的碼率節(jié)省百分比,負(fù)值表示率失真性能提升,正值表示率失真性能降低。表2 為基于帶權(quán)重的空域映射模型的球域率失真優(yōu)化(WM-SRDO,weighted mapping model based spherical rate-distortion optimization)算法相較于基準(zhǔn)的BD-rate。從表2 可以看出,在8K、6K 和4K 測試序列上,分別使用SPSNR、CPP-PSNR 和WS-PSNR 作為客觀質(zhì)量評價(jià)指標(biāo),WM-SRDO 算法的BD-rate 總體平均為-2.2%、-2.1%和-2.6%,該算法對所有全景視頻序列都是有效的。實(shí)驗(yàn)結(jié)果表明,該算法在一定程度上能有效改善投影過程中的過采樣問題,而且運(yùn)動較小的視頻序列的編碼性能整體提升更高,比如GasLamp、PoleVault 等。
表2 WM-SRDO 算法相較于基準(zhǔn)的BD-rate
表3 為STD-SRDO 算法相較于基準(zhǔn)的BD-rate。從表3 可以看出,以S-PSNR、CPP-PSNR、WS-PSNR為客觀質(zhì)量評價(jià)指標(biāo),BD-rate 總體平均為-7.4%、-7.4%、-7.9%。STD-SRDO 算法對所有測試序列均有效,特別是在8K 全景視頻序列上,亮度分量的平均碼率節(jié)省超過了12%,色度分量碼率節(jié)省超過了16%。對單個視頻序列而言,序列Train 的亮度分量碼率節(jié)省高達(dá)22.6%,Harbor 的色度分量的碼率節(jié)省達(dá)到30%以上。整體來看,大部分8K 視頻序列具有圖像穩(wěn)定、背景靜止的特征,而考慮失真時(shí)域傳播的率失真優(yōu)化算法對這類視頻十分有效。對于運(yùn)動變化較大的視頻序列來說,由于幀間預(yù)測技術(shù)的使用頻率相對降低,幀內(nèi)編碼的使用頻率相對增高,因此時(shí)域依賴程度也會降低,考慮時(shí)域依賴的率失真優(yōu)化算法的編碼性能也會相對較低。這一點(diǎn)在6K 視頻序列上體現(xiàn)得尤其明顯,6K 視頻大都具有運(yùn)動鏡頭,圖像變化快、運(yùn)動速度高,因而時(shí)域傳播鏈相對較短,提升當(dāng)前幀的編碼質(zhì)量對后續(xù)幀的編碼質(zhì)量的改善影響有限。這一點(diǎn)也可以從編碼結(jié)果上看出,STD-SRDO算法在6K視頻序列上的平均碼率節(jié)省為1.9%。4K 視頻序列的圖像相對6K 視頻變換緩慢,整體上有3.4%的碼率節(jié)省,這也比較符合圖像的運(yùn)動特征。
表3 STD-SRDO 算法相較于基準(zhǔn)的BD-rate(LDP 配置)
表4 為STD-SRDO 算法在LDB 配置下相較于基準(zhǔn)的BD-rate。從表4 可以看出,與LDP 配置下編碼結(jié)果類似,在SPSNR、CPP-PSNR、WS-PSNR 客觀質(zhì)量評價(jià)指標(biāo)下,STD-SRDO 算法平均碼率節(jié)省達(dá)到7.0%、7.0%、7.6%。同樣,在時(shí)域相關(guān)性較強(qiáng)的視頻序列上的編碼性能提升比較明顯。
表4 STD-SRDO 算法相較于基準(zhǔn)的BD-rate(LDB 配置)
表5 和表6 分別為本文算法與同類算法在LDP和LDB 配置下相較于基準(zhǔn)的BD-rate。為簡便起見,將SPSNR、CPPPSNR 及WSPSNR 分別縮寫為S、CPP 及WS。文獻(xiàn)[8]的邊界補(bǔ)償算法有0.5%的碼率節(jié)省,該算法對運(yùn)動較大的全景視頻比較有效,而運(yùn)動較小甚至靜止圖像存在較少的跨邊界運(yùn)動,編碼性能提升較少。文獻(xiàn)[10]針對CMP 邊界進(jìn)行拓展,以保持圖像邊界的連續(xù)性,性能提升達(dá)1.2%。文獻(xiàn)[11]在邊界補(bǔ)償?shù)幕A(chǔ)上還提出了球域運(yùn)動模型,平均有2.1%的碼率節(jié)省。文獻(xiàn)[12]提出基于熵平衡的比特分配算法來提升球域率失真性能,整體平均有2.6%的碼率節(jié)省。文獻(xiàn)[13]提出帶權(quán)重的客觀質(zhì)量評價(jià)指標(biāo)WS-PSNR,并用于調(diào)整量化參數(shù),平均有3.2%的碼率節(jié)省。本文算法在SPSNR 或WSPSNR評價(jià)指標(biāo)下分別有8.1%或8.6%的碼率節(jié)省,遠(yuǎn)高于同類算法,特別是在時(shí)域依賴強(qiáng)的視頻序列上,本文算法效果更加明顯,碼率節(jié)省最高達(dá)20%。
表5 本文算法與同類算法在LDP 配置下相較于基準(zhǔn)的BD-rate
為了更直觀地觀察率失真性能對比情況,圖10給出了部分測試序列在不同算法下的率失真曲線對比。TD-SRDO 和STD-SRDO 算法分別僅考慮球域失真時(shí)域傳播以及同時(shí)考慮球域失真空域映射和時(shí)域傳播。從圖 10 可以看出,本文算法STD-SRDO 率失真性能更優(yōu),特別是在Trolley、Gaslamp、Harbor 等時(shí)域依賴性較強(qiáng)的視頻序列上效果更加明顯。
編碼時(shí)間是衡量算法編碼復(fù)雜度的重要指標(biāo),為了弄清時(shí)域依賴算法是否會增加編碼復(fù)雜度,表7對比了本文算法TD-SRDO 與STD-SRDO 以及基準(zhǔn)編碼所有測試序列所用時(shí)間,比率為算法與基準(zhǔn)的編碼時(shí)間比值。從表7 可以看出,TD-SRDO 算法的編碼時(shí)間與基準(zhǔn)的編碼時(shí)間幾乎持平,觀察具體視頻序列的編碼時(shí)間可以看出,運(yùn)動較大的視頻序列的編碼時(shí)間有所增加,原因?yàn)樵黾恿藭r(shí)域傳播權(quán)重的計(jì)算量,比如Skateboardinginlot、ChairliftRide等;而運(yùn)動較小的視頻序列的編碼時(shí)間有所降低,原因?yàn)閹壸赃m應(yīng)QP 調(diào)整策略使時(shí)域依賴強(qiáng)的視頻序列的量化參數(shù)增大,比如GasLamp、Train 等。STD-SRDO 算法相較于基準(zhǔn)的編碼時(shí)間下降9%;在TD-SRDO 算法基礎(chǔ)上,編碼時(shí)間進(jìn)一步降低,編碼時(shí)間下降的主要原因是增加的空域映射模型使高緯度區(qū)域的量化參數(shù)進(jìn)一步增加,從而節(jié)省編碼時(shí)間。
表7 不同算法編碼時(shí)間對比
本文針對球域失真空-時(shí)域依賴的全景視頻編碼進(jìn)行了研究。首先,在空域上建立球域失真到壓縮失真的映射模型,提升了單幀編碼的率失真性能。其次,根據(jù)運(yùn)動補(bǔ)償預(yù)測編碼,當(dāng)前編碼單元的失真不僅影響自身的編碼性能,還會影響后續(xù)幀中與之具有參考關(guān)系的編碼單元的編碼性能,以此建立球域失真時(shí)域傳播鏈并量化時(shí)域影響權(quán)重,再根據(jù)球域失真映射權(quán)重和時(shí)域影響權(quán)重來調(diào)整拉格朗日乘子和量化參數(shù)。實(shí)驗(yàn)結(jié)果顯示,與VTM14.0 基準(zhǔn)相比,本文算法實(shí)現(xiàn)了7.4%的碼率節(jié)省和9%的編碼時(shí)間節(jié)省,顯著提升了全景視頻的編碼性能。