摘 要:針對(duì)通用視頻編碼標(biāo)準(zhǔn)H.266/VVC的獨(dú)立率失真優(yōu)化技術(shù)未考慮參考單元編碼失真的時(shí)域傳播影響而損失編碼性能的問題,提出一種基于編碼失真時(shí)域傳播影響的低延時(shí)率失真優(yōu)化算法。首先,根據(jù)視頻圖像的時(shí)域連續(xù)性特征,由運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)誤差及重建誤差來(lái)計(jì)算編碼失真的時(shí)域傳播影響權(quán)重;其次,建立基于編碼失真時(shí)域傳播影響的率失真優(yōu)化模型;最后,將編碼失真的時(shí)域傳播影響權(quán)重用于調(diào)整編碼單元的拉格朗日乘子及量化參數(shù)。實(shí)驗(yàn)結(jié)果顯示,在低延時(shí)P幀和B幀配置下,相較于基準(zhǔn)算法,BD-rate碼率節(jié)省分別達(dá)到1.6%和0.9%,編碼時(shí)間分別下降2.93%和6.02%。實(shí)驗(yàn)結(jié)果表明,該算法在不增加編碼復(fù)雜度的條件下有效提升了編碼性能,適用于實(shí)時(shí)編碼應(yīng)用場(chǎng)景。
關(guān)鍵詞:編碼失真;拉格朗日乘子;率失真優(yōu)化;量化參數(shù);VVC
中圖分類號(hào):TN919.81 文獻(xiàn)標(biāo)志碼:A
文章編號(hào):1001-3695(2024)11-046-3515-06
doi:10.19734/j.issn.1001-3695.2024.01.0038
Rate-distortion optimization algorithm based on temporal impact ofreference unit coding distortion
Huang Minfeng1, Wang Lecai1, Deng Mixue1, Sheng Jianfeng1, Wang Liming1, Yang Xu2?
(1.China Mobile(Hangzhou) Information Technology Co., Ltd., Hangzhou 311100, China; 2.School of Physics amp; Engineering Technology, Chengdu Normal University, Chengdu 611130, China)
Abstract:The independent rate-distortion optimization technique for the video coding standard H.266/VVC (versatile video coding) suffers from a loss in coding performance due to the oversight of temporal propagation effects of coding distortion in reference unit. To address this issue, this paper proposed a low-latency rate-distortion optimization algorithm based on the temporal influence of coding distortion. Firstly, leveraging the temporal propagation continuity characteristics of video images, it computed the temporal propagation influence weight of encoding distortion by considering motion compensation prediction errors and reconstruction errors. Secondly, it established a rate-distortion optimization model based on the temporal propagation impact of encoding distortion. Lastly, it utilized the temporal propagation influence weight of encoding distortion to adjust the Lagrange multipliers and quantization parameters of coding units. Experimental results demonstrate that, under low-delay P-frame and B-frame configurations, compared to the baseline algorithm, the BD-rate savings reach 1.6% and 0.9%, and the coding time decrease by 2.93% and 6.02%, respectively. The experimental results demonstrate that the algorithm proposed in this paper effectively improves coding performance without increasing encoding complexity, making it suitable for real-time encoding applications.
Key words:coding distortion; Lagrange multiplier; rate distortion optimization; quantization parameter; VVC
0 引言
隨著視頻業(yè)務(wù)在游戲、監(jiān)控、會(huì)議、軍事等領(lǐng)域的大規(guī)模應(yīng)用,全球數(shù)據(jù)量正呈指數(shù)型增長(zhǎng)[1]。盡管計(jì)算機(jī)技術(shù)與通信技術(shù)都取得了一系列突破性的發(fā)展,有限的帶寬和計(jì)算資源仍然無(wú)法滿足海量數(shù)據(jù)的傳輸和存儲(chǔ)需求。特別是隨著超高分辨率、超高幀率的全景視頻[2]等新興視頻應(yīng)用的興起,這種矛盾變得更加突出,迫切需要高效的視頻編碼[3]工具來(lái)消除視頻信號(hào)中的冗余信息,從而節(jié)省存儲(chǔ)及帶寬資源。這不僅可以在保證圖像質(zhì)量的同時(shí)減小數(shù)據(jù)量,還能適應(yīng)視頻流媒體、視頻通話、廣播和在線視頻分享等各種應(yīng)用場(chǎng)景。
經(jīng)過幾十年的發(fā)展,視頻編碼標(biāo)準(zhǔn)更新?lián)Q代多次,編碼技術(shù)越來(lái)越成熟,壓縮效率得到了極大的提升。當(dāng)前工業(yè)界和學(xué)術(shù)界廣泛應(yīng)用研究的視頻編碼標(biāo)準(zhǔn)包括H.264/AVC(advanced video coding)[4,5]、H.265/HEVC(high efficiency video coding)[6,7]、H.266VVC(versatile video coding)[1,8]等。雖然每一代編碼標(biāo)準(zhǔn)都在上一代的基礎(chǔ)上推出了眾多新的編碼技術(shù),但基于預(yù)測(cè)的混合視頻編碼框架[3]從未改變,該框架以圖像塊劃分為基礎(chǔ),經(jīng)過預(yù)測(cè)[9]、變換[10]、量化[11]及熵編碼等過程來(lái)生成碼流。
率失真優(yōu)化(rate distortion optimization,RDO)[12]作為視頻編碼的核心技術(shù)被廣泛應(yīng)用于選擇編碼塊的劃分方式及編碼模式。當(dāng)前,率失真優(yōu)化算法主要分為獨(dú)立率失真優(yōu)化算法及時(shí)域依賴率失真優(yōu)化算法。編碼器默認(rèn)采用獨(dú)立率失真優(yōu)化算法,各編碼單元的編碼參數(shù)相互獨(dú)立,互不影響,編碼塊的劃分方式及編碼模式由最小率失真代價(jià)(rate-distortion cost,RDcost)決定,這樣極大地降低了編碼復(fù)雜度。比如文獻(xiàn)[13]在獨(dú)立率失真優(yōu)化算法下,采用一種內(nèi)容自適應(yīng)率失真模型來(lái)優(yōu)化比特分配,在增加2%的編碼時(shí)間下,提升了0.35%的編碼性能。為了能有效降低編碼時(shí)間,文獻(xiàn)[14]采用一種全零塊檢測(cè)策略來(lái)有效降低編碼時(shí)間,在VVEnC編碼器上,通過損失0.3%左右的編碼性能而節(jié)約6%左右的編碼時(shí)間。然而,由于視頻圖像在時(shí)域、空域、頻域[12]等方面存在極強(qiáng)的相關(guān)性,獨(dú)立率失真優(yōu)化技術(shù)使得編碼性能還有進(jìn)一步的提升空間。
為了進(jìn)一步提升編碼性能,工業(yè)界和學(xué)術(shù)界針對(duì)依賴型率失真優(yōu)化編碼,特別是時(shí)域依賴率失真優(yōu)化編碼進(jìn)行了大量的研究和探索,并取得了豐碩的研究成果。比如,文獻(xiàn)[4]首次在H.264/AVC編碼標(biāo)準(zhǔn)上提出信源失真時(shí)域傳播模型來(lái)優(yōu)化編碼,編碼性能得到極大提升,但編碼時(shí)間增加3.5%左右。隨著層次編碼結(jié)構(gòu)在H.265/HEVC編碼標(biāo)準(zhǔn)上的推廣應(yīng)用,文獻(xiàn)[3,15]將該失真時(shí)域前向傳播模型分別應(yīng)用于低延時(shí)及隨機(jī)接入層次編碼結(jié)構(gòu),根據(jù)編碼單元的時(shí)域參考關(guān)系,確定失真影響因子并據(jù)此調(diào)整拉格朗日乘子(Lagrange multiplier)及量化參數(shù)(quantization parameter,QP)等編碼參數(shù),取得了5%左右的編碼性能提升。由于是通過運(yùn)動(dòng)搜索求解失真影響因子,所以編碼時(shí)間也有不同程度的增加。文獻(xiàn)[6]將失真時(shí)域反向傳播模型應(yīng)用于HEVC的率失真優(yōu)化編碼,同樣取得了較大的編碼性能提升,但是編碼時(shí)間也增加了20%左右。文獻(xiàn)[16]采用預(yù)編碼方式計(jì)算失真影響因子,類似地,該算法使得編碼性能得到了較大的提升,但編碼時(shí)間卻增加了7%。與前面用失真影響因子調(diào)整量化參數(shù)的編碼策略不同,文獻(xiàn)[17]將失真影響因子應(yīng)用于調(diào)整編碼參數(shù)拉格朗日乘子,編碼性能也得到了一定程度提升。之后,在HEVC碼率控制算法中,文獻(xiàn)[18,19]進(jìn)一步將時(shí)域依賴率失真優(yōu)化算法分別應(yīng)用于編碼樹單元級(jí)(coding tree unit,CTU)碼率控制以及幀級(jí)比特分配的優(yōu)化,改變了依據(jù)圖像復(fù)雜度來(lái)分配比特的碼率控制模式,根據(jù)時(shí)域依賴大小來(lái)分配比特,也提升了編碼性能。同樣,由于引入了失真影響因子的計(jì)算,使得編碼時(shí)間得到增加。針對(duì)全景視頻編碼,文獻(xiàn)[2,20,21]將球域失真的時(shí)空依賴特性應(yīng)用于球域率失真優(yōu)化并取得了較大的編碼性能提升??梢钥闯?,考慮失真時(shí)域影響的率失真優(yōu)化編碼技術(shù)能夠極大地提升編碼性能,這一點(diǎn)在VVC之前的各代編碼標(biāo)準(zhǔn)上都得到了驗(yàn)證。同時(shí),由于引入了失真影響因子的計(jì)算,編碼復(fù)雜度有不同程度的增加,雖然嘗試應(yīng)用各種不同的方法來(lái)計(jì)算失真影響因子,但是相較于基準(zhǔn),各優(yōu)化算法的編碼時(shí)間均沒有降低。以編碼時(shí)間換編碼性能的優(yōu)化模式在實(shí)時(shí)性要求較高的應(yīng)用場(chǎng)景中是難以推廣的。如何保證編碼性能提升的同時(shí)不增加復(fù)雜度,甚至降低復(fù)雜度是一個(gè)還沒有解決的關(guān)鍵問題。
當(dāng)前,新一代視頻編碼標(biāo)準(zhǔn)H.266/VVC已經(jīng)發(fā)布,由于引入了更多的新工具,特別是仿射變換相關(guān)工具,使得新標(biāo)準(zhǔn)相較于H.265/HEVC的壓縮性能提升了50%左右,但是新標(biāo)準(zhǔn)仍然采用獨(dú)立率失真優(yōu)化編碼,其壓縮性能還有進(jìn)一步提升的空間。為了在不增加甚至是降低編碼復(fù)雜度的情況下進(jìn)一步提升編碼性能,本文提出一種具有超低編碼復(fù)雜度的基于失真時(shí)域影響的率失真優(yōu)化編碼算法。本文貢獻(xiàn)如下:
a)在新一代視頻編碼標(biāo)準(zhǔn)H.266/VVC下,根據(jù)編碼單元在時(shí)域上的運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)參考關(guān)系,提出一種基于失真時(shí)域影響的率失真優(yōu)化算法。
b)根據(jù)視頻圖像的連續(xù)性特征,采用一種具有超低復(fù)雜度的失真影響權(quán)重計(jì)算方法,在視頻圖像沒有發(fā)生場(chǎng)景切換的情況下,該方法使用時(shí)域臨近幀同位編碼單元的運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)失真占比來(lái)量化失真影響權(quán)重,由于其編碼已經(jīng)完成,這些失真信息可以直接獲取,不會(huì)增加編碼復(fù)雜度。
c)實(shí)驗(yàn)結(jié)果顯示,在低延時(shí)編碼應(yīng)用場(chǎng)景下,本文算法能提升較大幅度的編碼性能,而且編碼時(shí)間還有所降低。
1 基于失真時(shí)域傳播率失真優(yōu)化
1.1 失真的時(shí)域傳播特性
由于視頻相鄰幀圖像之間具有時(shí)域連續(xù)性,視頻圖像的變化由其運(yùn)動(dòng)特性決定。而根據(jù)運(yùn)動(dòng)特性,視頻可以分為如下幾種,即前景運(yùn)動(dòng)而背景固定的會(huì)議監(jiān)控視頻序列、鏡頭平移的運(yùn)動(dòng)視頻、鏡頭縮放的調(diào)焦視頻以及畫面切換的廣告視頻。
為了更加直觀地反映圖像的運(yùn)動(dòng)特性,圖1等間隔抽取了部分視頻測(cè)試序列前70幀中的15幀來(lái)進(jìn)行統(tǒng)計(jì)分析。通過觀察每一個(gè)CTU的像素方差值在時(shí)域上的波動(dòng)曲線可以看出,像素方差值的波動(dòng)幅度可以反映出視頻圖像的運(yùn)動(dòng)特征。比如,對(duì)于具有仿射運(yùn)動(dòng)的帶縮放鏡頭的視頻序列BQSquare(圖1(a))以及BlowingBubbles(圖1(c)),其像素方差值變化幅度適中,基本上每個(gè)CTU的像素方差值都在發(fā)生變化;對(duì)于鏡頭發(fā)生平移運(yùn)動(dòng)視頻序列BQMall(圖1(b))以及BasketballPass(圖1(f)),除了背景不變部分圖像方差值變化較小外,其余部分像素方差值變化較大,特別是鏡頭平移的同時(shí),還有運(yùn)動(dòng)目標(biāo)覆蓋區(qū)域的CTU像素方差值變化較大;對(duì)于背景固定的視頻序列KristenAndSara(圖1(d))以及BasketballDrill(圖1(e)),對(duì)于前景區(qū)域的運(yùn)動(dòng)目標(biāo)變化較大的CTU來(lái)說(shuō),其像素方差值變化較大,而前景運(yùn)動(dòng)目標(biāo)運(yùn)動(dòng)幅度較小的CTU的像素方差值變化較小??梢钥闯?,絕大部分視頻序列的圖像都具有時(shí)域上的連續(xù)性,幀間預(yù)測(cè)編碼正是基于此連續(xù)性來(lái)消除視頻圖像在時(shí)域上的冗余信息。
為了節(jié)省編碼比特,編碼器利用視頻信號(hào)在空域、時(shí)域、頻域上的相關(guān)性來(lái)消除冗余信息。幀內(nèi)預(yù)測(cè)及幀間預(yù)測(cè)技術(shù)正是利用這種相關(guān)性來(lái)壓縮視頻數(shù)據(jù)。幀內(nèi)預(yù)測(cè)編碼技術(shù)利用編碼單元的空域臨近已編碼單元的信息編碼,其預(yù)測(cè)殘差經(jīng)過變換、量化后所產(chǎn)生的誤差不會(huì)在時(shí)域上傳播;幀間預(yù)測(cè)編碼技術(shù)通過運(yùn)動(dòng)搜索尋找編碼單元在時(shí)域臨近幀上最相似的已編碼單元,幀間預(yù)測(cè)殘差經(jīng)過變換、量化后產(chǎn)生的失真通過運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)誤差在時(shí)域傳播。如圖2所示,第i-1幀的編碼單元的失真會(huì)影響第i幀,并在時(shí)域上往后傳播。
為了優(yōu)化編碼并提升率失真性能,需要量化當(dāng)前編碼單元的編碼失真對(duì)后續(xù)編碼單元的影響。由于預(yù)測(cè)編碼結(jié)構(gòu)下的重建失真由幀內(nèi)預(yù)測(cè)失真或者幀間預(yù)測(cè)失真構(gòu)成,具體的預(yù)測(cè)模式由率失真代價(jià)決定,也就是處于同一個(gè)CTU的不同編碼單元(coding unit,CU)可以采用幀內(nèi)預(yù)測(cè)編碼,也可以采用幀間預(yù)測(cè)編碼。直觀上來(lái)講,如果當(dāng)前編碼單元與時(shí)域上前一幀同位編碼單元的圖像完全一樣,采用SKIP模式編碼,則編碼單元的失真完全由上一幀同位編碼單元的失真決定,其運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)誤差(motion compensation prediction error,MCPE)與重建誤差(reconstruction error,RE)完全一樣;如果當(dāng)前編碼單元存在運(yùn)動(dòng)目標(biāo),幀間預(yù)測(cè)誤差較大甚至不能通過運(yùn)動(dòng)搜索找到預(yù)測(cè)單元,那么有部分編碼單元會(huì)采用幀內(nèi)預(yù)測(cè)模式編碼,RE占MCPE的比例體現(xiàn)了這種預(yù)測(cè)模式的占比,也反映出圖像的運(yùn)動(dòng)特性及時(shí)域相關(guān)性;特別對(duì)于存在場(chǎng)景切換的廣告視頻或者幻燈片視頻,編碼器采用幀內(nèi)預(yù)測(cè)編碼,這時(shí)的重建失真由幀內(nèi)預(yù)測(cè)編碼失真決定,也就是說(shuō),視頻圖像不存在時(shí)域相關(guān)性。
根據(jù)以上對(duì)編碼單元的重建誤差以及運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)誤差的分析可知,它們的比值可以反映出視頻圖像的時(shí)域相關(guān)性以及編碼失真的時(shí)域傳播影響大小。所以,本文以該比值來(lái)量化編碼失真的時(shí)域傳播影響權(quán)重,即
ωi=DirecDimcp(1)
其中:ωi為第i個(gè)編碼單元的編碼失真時(shí)域傳播影響權(quán)重;Direc及Dimcp分別為該編碼單元的重建失真誤差與運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)誤差。
1.2 帶失真影響權(quán)重的率失真優(yōu)化編碼
編碼器對(duì)一幀所有編碼單元采用相同的編碼策略,導(dǎo)致紋理及運(yùn)動(dòng)復(fù)雜的圖像會(huì)編碼較多的比特,然而這類圖像往往包含較多的高頻信息,即使使用較大的量化參數(shù)編碼,對(duì)主觀質(zhì)量影響也較小,還能節(jié)省較多的比特;此外,這類圖像一般存在運(yùn)動(dòng)目標(biāo),其編碼質(zhì)量對(duì)后續(xù)圖像的影響較小。另一方面,人眼對(duì)運(yùn)動(dòng)平緩的視頻圖像比較敏感,本文可以相對(duì)提升此類區(qū)域的編碼質(zhì)量,這也會(huì)提升編碼的主觀質(zhì)量。所以,如果對(duì)紋理及運(yùn)動(dòng)復(fù)雜度不同的圖像采用不同的編碼策略,會(huì)提升編碼的主客觀質(zhì)量。
視頻編碼的主要目標(biāo)是在目標(biāo)碼率的限定下盡可能地提升編碼質(zhì)量或減小誤差。通常情況下,以圖像的原始像素值與其預(yù)測(cè)像素值的均方誤差值(mean square error,MSE)來(lái)評(píng)價(jià)編碼質(zhì)量,視頻編碼的目標(biāo)為
min∑ni=1Di
s.t. ∑ni=1Ri≤RT(2)
其中:Di和Ri分別為第i個(gè)編碼單元的編碼失真和碼率;n為編碼單元數(shù);RT為編碼的目標(biāo)比特。在實(shí)際編碼過程中,使用拉格朗日乘子法[4]將式(2)的有約束優(yōu)化問題轉(zhuǎn)換為無(wú)約束率失真優(yōu)化問題,即
min{o1,o2,…,on}(∑ni=1Di(o1,o2,…,oi)+λ·∑ni=1Ri(o1,o2,…,oi))(3)
其中:oi為第i個(gè)編碼單元的編碼參數(shù)(比如量化參數(shù)、運(yùn)動(dòng)向量預(yù)測(cè)誤差等);λ為整個(gè)視頻序列的全局拉格朗日乘子。由于視頻信號(hào)在時(shí)域、空域[22]等不同編碼域存在強(qiáng)烈的相關(guān)性,式(3)中各編碼單元間的編碼參數(shù)高度耦合,使得視頻編碼優(yōu)化問題難以求解。當(dāng)前各編碼器為了簡(jiǎn)化問題,假設(shè)各編碼單元相互獨(dú)立,即每個(gè)編碼單元的編碼失真和編碼比特?cái)?shù)只與當(dāng)前編碼單元的編碼參數(shù)有關(guān),則獨(dú)立率失真優(yōu)化(independent rate-distortion optimization,IRDO)問題可以表達(dá)為
min{oi}(Di(oi)+λi·Ri(oi))(4)
其中:λi為第i個(gè)編碼單元對(duì)應(yīng)的拉格朗日乘子,編碼器默認(rèn)一幀中所有編碼單元都使用相同的拉格朗日乘子;編碼器通過比較編碼單元在不同編碼模式下的率失真代價(jià)來(lái)選擇最優(yōu)的編碼模式。不考慮時(shí)域相關(guān)性的IRDO編碼采用相同的編碼參數(shù)來(lái)編碼一幀中所有的CTU,然而根據(jù)上一節(jié)對(duì)失真的時(shí)域傳播特性的分析可知,一幀中的不同圖像類型CTU對(duì)時(shí)域上的后續(xù)編碼單元的失真影響是不一樣的,所以為了提升編碼性能,率失真優(yōu)化問題需要考慮失真的影響,也即引入帶失真權(quán)重的率失真優(yōu)化。當(dāng)編碼當(dāng)前編碼單元時(shí),則式(4)變?yōu)?/p>
min{oi}(ωi·Di(oi)+λ·Ri(oi))(5)
其中:ωi為第i個(gè)編碼單元的失真權(quán)重,其計(jì)算為式(1)。需要特別說(shuō)明的是,在編碼當(dāng)前編碼幀之前,除非采用二次編碼,否則編碼幀內(nèi)的編碼單元的重建失真以及MCPE是無(wú)法獲取的。為了不增加編碼復(fù)雜度,在實(shí)際編碼中,根據(jù)圖像的連續(xù)性特征,只要沒有發(fā)生場(chǎng)景切換,時(shí)域上的前一幀和當(dāng)前編碼幀的圖像變化較小,所以本文用時(shí)域上的前一幀的失真?zhèn)鞑ビ绊憴?quán)重來(lái)編碼當(dāng)前幀所對(duì)應(yīng)的編碼單元。為了保證一幀內(nèi)不同CTU的編碼參數(shù)波動(dòng)較小,將每個(gè)CTU的失真?zhèn)鞑ビ绊憴?quán)重的比較基準(zhǔn)設(shè)定為所有CTU的權(quán)重均值。權(quán)重均值為
ω=∑ni=1ωi/n(6)
每個(gè)CTU的失真時(shí)域影響權(quán)重為
ωi=ωi/ω(7)
則式(5)帶失真權(quán)重的率失真優(yōu)化問題進(jìn)一步表示為
min{oi}(Di(oi)+λωi·Ri(oi))(8)
根據(jù)編碼單元的拉格朗日乘子與率失真曲線斜率之間的關(guān)系可得
λi=-?Di?Ri=λωi(9)
拉格朗日乘子λi為率失真曲線的斜率,根據(jù)λ-QP關(guān)系,可以得到該編碼單元的編碼QP,即
QPi=4.2005·ln λi+13.7122(10)
1.3 算法流程
在實(shí)際編碼過程中,編碼參數(shù)拉格朗日乘子及量化參數(shù)對(duì)提升編碼性能起到了決定性作用。在低延時(shí)編碼配置下,H.266/VVC編碼標(biāo)準(zhǔn)的參考軟件VTM(VVC test mode)采用層次編碼結(jié)構(gòu),如圖3所示,視頻序列按照?qǐng)D像組(group of pictures,GOP)進(jìn)行劃分,每個(gè)GOP包含8幀圖像并被分為3個(gè)編碼層,每層采用相同的編碼策略,每層的QP為
QP=QP0+QPm m=1,2,3(11)
其中:QPo為編碼器輸入QP;QPm為第m層編碼幀相較于編碼器輸入QPo的偏移量,第一層到第三層的默認(rèn)QP偏移量分別為1、4、5。
拉格朗日乘子λ可以通過QP計(jì)算,即
λ=φ·2QP-123(12)
其中:參數(shù)φ為與編碼層相關(guān)的權(quán)重系數(shù)。
基于編碼失真時(shí)域傳播影響的率失真優(yōu)化算法的流程如下所示。根據(jù)視頻圖像的連續(xù)性特征,采用時(shí)域上前一幀的已編碼的運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)誤差與重建誤差信息來(lái)代表當(dāng)前編碼幀的失真時(shí)域傳播影響權(quán)重,進(jìn)而調(diào)整編碼參數(shù)拉格朗日乘子及QP以優(yōu)化率失真編碼。
算法 基于編碼失真時(shí)域傳播影響的率失真優(yōu)化算法(RDO-TPIED)
輸入:當(dāng)前編碼幀幀級(jí)拉格朗日乘子λ,上一幀各CTU的運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)誤差Dimcp及重建誤差Direc。
輸出:當(dāng)前編碼幀各CTU的拉格朗日乘子及量化參數(shù)λi、QPi。
QP←QP0+QPm
λ←φ·2QP-123
for i=1 to N do
ωi←DirecDimcp
ω=∑ni=1ωi/n
ωi=ωi/ω
λi←λωi
QPi←4.2005·ln λi+13.7122
end for
2 實(shí)驗(yàn)分析
為驗(yàn)證RDO-TPIED的有效性,將基于編碼失真時(shí)域傳播影響的率失真優(yōu)化算法集成到VVC參考軟件VTM14.0中,分別用QP值22、27、32、37編碼基準(zhǔn)算法和優(yōu)化算法,編碼器配置為低延時(shí)P幀(low-delay P frame,LDP)及低延時(shí)B幀(low-delay B frame,LDB),實(shí)驗(yàn)條件遵守國(guó)際編碼標(biāo)準(zhǔn)組織JCT-VC(Joint Collaborative Team on Video Coding)建議的通用測(cè)試條件(common test conditions,CTC),實(shí)驗(yàn)選用提案JCTVC-L1100[23]建議的具有不同分辨率類型的視頻作為測(cè)試視頻,包括ClassB、ClassC、ClassD、ClassE五類中的全部16個(gè)視頻序列,視頻類型包括了背景靜止的會(huì)議視頻、前景背景均運(yùn)動(dòng)的高動(dòng)態(tài)視頻、攝像機(jī)做平移運(yùn)動(dòng)的動(dòng)態(tài)視頻、攝像機(jī)鏡頭縮放的仿射運(yùn)動(dòng)視頻等多種類型視頻序列,可以有效驗(yàn)證算法的可靠性和穩(wěn)定性。實(shí)驗(yàn)計(jì)算機(jī)配置為Intel? Xeon? Platinum 8255C CPU @ 2.50 GHz×2,內(nèi)存為256 GB,基于x64的處理器,64位Windows 10專業(yè)版操作系統(tǒng)。
2.1 編碼參數(shù)調(diào)整對(duì)比
為了全面介紹RDO-TPIED算法的優(yōu)化邏輯,圖4展示了不同類型視頻序列各CTU的失真時(shí)域影響權(quán)重的大小對(duì)比??梢钥闯?,運(yùn)動(dòng)變化較大的視頻序列的失真影響權(quán)重變化波動(dòng)較大,如Kimono序列第185幀圖像60個(gè)CTU波動(dòng)情況。而視頻會(huì)議類視頻序列的前景及背景圖像大多靜止,其對(duì)應(yīng)的失真時(shí)域影響權(quán)重波動(dòng)較小,如Johnny序列各CTU的失真時(shí)域影響權(quán)重波動(dòng)情況。這些變化趨勢(shì)是和圖像的運(yùn)動(dòng)特征相一致的,也說(shuō)明RDO-TPIED所提的用運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)誤差與重建誤差的關(guān)系來(lái)反映失真時(shí)域影響大小的邏輯是正確的。圖5展示了不同視頻序列的編碼參數(shù)拉格朗日乘子lambda在優(yōu)化前后的數(shù)值變化對(duì)比,圖中虛線代表基準(zhǔn)的拉格朗日乘子,實(shí)線為優(yōu)化調(diào)整后的拉格朗日乘子數(shù)值??梢钥闯觯o止圖像的拉格朗日乘子波動(dòng)較小,比如KristenAndSara視頻序列各CTU中只有運(yùn)動(dòng)變化相關(guān)CTU的拉格朗日乘子發(fā)生了變化。而運(yùn)動(dòng)變化較大的視頻序列Kimono多數(shù)CTU的拉格朗日乘子數(shù)值變化均較大。
圖6展示了不同視頻序列的編碼參數(shù)QP在優(yōu)化前后的數(shù)值變化對(duì)比。同樣用虛線代表基準(zhǔn)的QP數(shù)值,而實(shí)線為優(yōu)化后的QP數(shù)值??梢钥闯?,QP的調(diào)整邏輯與拉格朗日乘子相似,但是由于每個(gè)QP對(duì)應(yīng)較大的拉格朗日乘子變化區(qū)間,所以QP調(diào)整在靜止圖像和運(yùn)動(dòng)劇烈圖像上表現(xiàn)得尤為明顯。
2.2 率失真性能對(duì)比
為了驗(yàn)證優(yōu)化算法RDO-TPIED的有效性,以視頻編碼標(biāo)準(zhǔn)H.266/VVC參考代碼VTM14.0的原始率失真優(yōu)化算法(RDO-VTM)作為基準(zhǔn)算法,采用BD-rate客觀指標(biāo)來(lái)評(píng)價(jià)優(yōu)化算法相較于基準(zhǔn)算法的率失真性能提升情況,該指標(biāo)能反映出在相同編碼質(zhì)量下,優(yōu)化算法相對(duì)基準(zhǔn)算法的碼率節(jié)省百分比,數(shù)量為負(fù)時(shí)表示碼率節(jié)省,反之表示碼率增加,如表1、2所示。
通過表1可以看出,在LDP編碼配置下,算法RDO-TPIED相較于基準(zhǔn)算法RDO-VTM的亮度分量Y以及色度分量U、V平均碼率節(jié)省分別為-1.6%、-4.6%及-3.6%,較大地提升了視頻編碼的率失真性能。通過表1還可以看出,不同類型及分辨率的視頻圖像,其優(yōu)化算法的有效性也有較大差異,Class B/C/D/E不同分辨率視頻序列的亮度分量編碼性能提升分別為-0.3%、-1.8%、-0.9%、-3.3%。ClassE類視頻序列的編碼性能提升最高。其原因主要為該類型視頻序列均為會(huì)議人像視頻序列,背景固定,人像前景的運(yùn)動(dòng)較小,圖像整體變化較小,視頻幀之間的時(shí)域相關(guān)性較大,所以優(yōu)化算法RDO-TPIED非常有效,符合其圖像特征。所提算法在視頻序列FourPeople、Johnny、KristenAndSara上的亮度分量編碼性能分別達(dá)到-2.4%、-5.6%及-1.8%。ClassB類中BasketballDrive、BQTerrace序列以及ClsassC類中RaceHorses序列的圖像運(yùn)動(dòng)較大,攝像頭鏡頭做平移運(yùn)動(dòng),拍攝的前景及背景物體運(yùn)動(dòng)量均較大,導(dǎo)致本算法的亮度分量編碼效果有限,甚至有一定的編碼損失,但是損失較小,分別為0.5%、0.3%及0.7%。
在LDB編碼配置下,亮度Y分量及色度U、V分量的整體BD-rate編碼節(jié)省達(dá)到-0.9%、-4.4%、-3.5%。在Class B/C/D/E類下,亮度分量的BD-rate碼率節(jié)省分別達(dá)到了-0.3%、-1.5%、-0.4%以及-1.6%??梢钥闯觯琑DO-TPIED的編碼性能提升明顯。為了更直觀地展示RDO-TPIED的有效性,圖7展示了RDO-TPIED與基準(zhǔn)算法RDO-VTM的率失真曲線對(duì)比圖??梢钥闯?,優(yōu)化算法的性能更優(yōu)。
2.3 編碼時(shí)間對(duì)比
根據(jù)前文分析,編碼復(fù)雜度在實(shí)時(shí)性要求較高的應(yīng)用場(chǎng)景下是一個(gè)必須考慮的重要評(píng)價(jià)指標(biāo)。而之前的優(yōu)化算法的編碼時(shí)間都會(huì)有不同程度的增加,這種以編碼復(fù)雜度換取編碼性能的做法難以在工程領(lǐng)域中推廣。如表3所示,RDO-TPIED的編碼時(shí)間相較于基準(zhǔn)均有降低。在LDP和LDB編碼配置下,相較于基準(zhǔn)算法,整體編碼時(shí)間分別下降2.93%與6.02%,各視頻序列的編碼時(shí)間下降最高可達(dá)20%左右,編碼時(shí)間下降的主要原因是部分運(yùn)動(dòng)較大CTU的QP變大,而部分運(yùn)動(dòng)較小CTU的編碼質(zhì)量提升后,為后續(xù)編碼單元提供了更準(zhǔn)確的參考,甚至提高了選擇SKIP編碼模式的幾率,也節(jié)約了編碼時(shí)間。這為在工業(yè)領(lǐng)域推廣本算法提供了可能。
表4將RDO-TPIED與同類算法進(jìn)行比較,可以看出在編碼性能上,RDO-TPIED平均節(jié)省碼率1.6%,雖然與同類算法文獻(xiàn)[16]比,編碼性能并沒有優(yōu)勢(shì),但是RDO-TPIED不僅有效提升了編碼性能,而且編碼復(fù)雜度在同類算法中最低,這一點(diǎn)對(duì)于低延時(shí)應(yīng)用場(chǎng)景是非常重要的。
3 結(jié)束語(yǔ)
本文針對(duì)新一代視頻編碼標(biāo)準(zhǔn)H.266/VVC提出一種基于參考單元編碼失真時(shí)域傳播影響的率失真優(yōu)化算法RDO-TPIED,本算法充分利用視頻圖像的時(shí)域相關(guān)性來(lái)優(yōu)化編碼。根據(jù)傳統(tǒng)視頻編碼算法,運(yùn)動(dòng)變化較大的圖像消耗較多的編碼比特,然而,運(yùn)動(dòng)較大的圖像區(qū)域也即高頻信息較多的圖像區(qū)域的編碼質(zhì)量對(duì)后續(xù)圖像編碼質(zhì)量的影響較小,運(yùn)動(dòng)變化較小甚至靜止圖像對(duì)后續(xù)圖像的編碼質(zhì)量影響較大,所以編碼器對(duì)這兩種情況采用相同的編碼策略是不合適的。為了提升整體編碼性能,RDO-TPIED提升失真影響較大的視頻圖像的質(zhì)量,相對(duì)降低或保持失真影響較小的視頻圖像質(zhì)量。另外,為滿足實(shí)時(shí)性需求,RDO-TPIED根據(jù)視頻圖像的連續(xù)性特征,采用一種具有超低復(fù)雜度的失真影響權(quán)重計(jì)算方法。實(shí)驗(yàn)結(jié)果表明,RDO-TPIED不僅提升了編碼率失真性能,還降低了編碼時(shí)間,能夠在實(shí)時(shí)系統(tǒng)中進(jìn)行推廣。
參考文獻(xiàn):
[1]Bross B, Wang Y K, Ye Yan, et al. Overview of the versatile video coding(VVC) standard and its applications [J]. IEEE Trans on Circuits and Systems for Video Technology,2021,31(10):3736-3764.
[2]Yang Xu, Huang Minfeng, Luo Lei, et al. Efficient panoramic video coding for immersive metaverse experience[J]. IEEE Network, 2023, 37(6): 58-66.
[3]Gao Yanbo, Zhu Ce, Li Shuai, et al. Temporally dependent rate-distortion optimization for low-delay hierarchical video coding[J]. IEEE Trans on Image Processing, 2017, 26(9): 4457-4470.
[4]Yang Tianwu, Zhu Ce, Fan Xiaojun, et al. Source distortion temporal propagation model for motion compensated video coding optimization[C]//Proc of IEEE International Conference on Multimedia and Expo. Piscataway, NJ: IEEE Press,2012: 85-90.
[5]Wiegand T, Sullivan G J, Bjontegaard G, et al. Overview of the H.264/AVC video coding standard[J]. IEEE Trans on Circuits And Systems for Video Technology, 2003, 13(7): 560-576.
[6]郭紅偉, 朱策, 楊栩, 等. 基于失真反向傳播的時(shí)域依賴率失真優(yōu)化[J]. 通信學(xué)報(bào), 2022, 43(12): 222-232. (Guo Hongwei, Zhu Ce, Yang Xu, et al. Temporal dependent rate-distortion optimization based on distortion backward propagation[J]. Journal on Communications, 2022, 43(12): 222-232.)
[7]Sullivan G J, Ohm J R, Han W J, et al. Overview of the high efficiency video coding(HEVC) standard[J]. IEEE Trans on Circuits and Systems for Video Technology, 2012, 22(12): 1649-1668.
[8]楊栩, 郭紅偉, 李婉雪. 基于熵平衡的全景視頻編碼[J]. 計(jì)算機(jī)應(yīng)用研究, 2023, 40(6): 1894-1899. (Yang Xu, Guo Hongwei, Li Wanxue. Panoramic video coding based on entropy balancing[J]. Application Research of Computers, 2023, 40(6): 1894-1899.)
[9]Li Shuai, Zhu Ce, Gao Yanbo, et al. Inter-frame dependent rate-distortion optimization using Lagrangian multiplier adaption[C]//Proc of IEEE International Conference on Multimedia and Expo. Piscataway, NJ: IEEE Press,2015: 1-6.
[10]Ribas-corbera J, Lei S. Rate control in DCT video coding for low-delay communications[J]. IEEE Trans on Circuits and Systems for Video Technology, 1999, 9(1): 172-185.
[11]Zhou Yimin, Wang Hongyu, Tian Lin, et al. Temporal correlation based hierarchical quantization parameter determination for HEVC video coding[C]//Proc of IEEE International Conference on Image Processing. Piscataway, NJ: IEEE Press, 2017: 2478-2482.
[12]郭紅偉, 朱策, 劉宇洋. 視頻編碼率失真優(yōu)化技術(shù)研究綜述[J]. 電子學(xué)報(bào), 2020, 48(5): 1018-1029. (Guo Hongwei, Zhu Ce, Liu Yuyang. Overview of rate-distortion optimization for video coding[J]. Acta Electronica Sinica, 2020, 48(5): 1018-1029.)
[13]Liao Junqi, Li Li, Liu Dong, et al. Content-adaptive rate-distortion modeling for frame-level rate control in versatile video coding[J]. IEEE Trans on Multimedia, 2024, 26: 6864-6879.
[14]Sun Zhenhao, Wang Meng, Chen Peilin, et al. Revisiting all-zero block detection for versatile video coding[J]. IEEE Trans on Circuits and Systems for Video Technology, 2024, 34(7): 6144-6155.
[15]Gao Yanbo, Zhu Ce, Li Shuai, et al. Source distortion temporal propagation analysis for random-access hierarchical video coding optimization[J]. IEEE Trans on Circuits and Systems for Video Technology, 2017, 29(2): 546-559.
[16]Guo Hongwei, Zhu Ce, Mao Ye, et al. Pre-encoding based temporal dependent rate-distortion optimization for HEVC[J]. Signal Processing: Image Communication, 2023, 115: 116957.
[17]Guo Hongwei, Zhu Ce, Liu Yipeng, et al. Lagrange multiplier adaptation at CTU-level for VVC low-delay hierarchical coding[C]//Proc of IEEE International Symposium on Broadband Multimedia Systems and Broadcasting. Piscataway, NJ: IEEE Press, 2023: 1-6.
[18]Guo Hongwei, Zhu Ce, Xu Mai, et al. Inter-block dependency-based CTU level rate control for HEVC[J]. IEEE Trans on Broadcas-ting, 2019, 66(1): 113-126.
[19]Guo Hongwei, Zhu Ce, Li Shengxi, et al. Optimal bit allocation at frame level for rate control in HEVC[J]. IEEE Trans on Broadcasting, 2018, 65(2): 270-281.
[20]楊栩, 朱策, 郭紅偉, 等. 基于球域失真空-時(shí)依賴的全景視頻編碼[J]. 通信學(xué)報(bào), 2023, 44(10): 58-71. (Yang Xu, Zhu Ce, Guo Hongwei, et al. Panoramic video coding based on spherical distortion with spatio temporal dependency[J]. Journal on Communications, 2023, 44(10): 58-71.)
[21]Yang Xu, Huang Minfeng, Guo Hongwei, et al. Spherical distortion temporal propagation and spatial mapping model for efficient panoramic video coding[J].IEEE Trans on Broadcasting,2024,70(2):654-666.
[22]楊栩, 郭紅偉, 李婉雪. 優(yōu)化編碼樹單元級(jí)比特分配算法[J]. 計(jì)算機(jī)應(yīng)用, 2023, 43(10): 3195-3201. (Yang Xu, Guo Hongwei, Li Wanxue. Optimized bit allocation algorithm for coding tree unit level[J]. Journal of Computer Applications, 2023, 43(10): 3195-3201.)
[23]Bossen F. Common test conditions and software reference configurations[EB/OL]. (2010). https://api.semanticscholar.org/CorpusID:208099959.
[24]Zhao Tiesong, Wang Zhou, Chen Changwen. Adaptive quantization parameter cascading in HEVC hierarchical coding[J]. IEEE Trans on Image Process, 2016, 25(7): 2997-3009.
[25]Guo Hongwei, Zhu Ce, Liu Yuyang, et al. Temporal dependency based Lagrange multiplier adaptation for HEVC[C]//Proc of IEEE International Symposium on Broadband Multimedia Systems and Broadcasting. Piscataway, NJ: IEEE Press, 2020: 1-5.