国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于失真反向傳播的時(shí)域依賴率失真優(yōu)化

2023-01-27 09:08:52郭紅偉朱策楊栩羅雷
通信學(xué)報(bào) 2022年12期
關(guān)鍵詞:乘子碼率拉格朗

郭紅偉,朱策,楊栩,羅雷,3

(1.紅河學(xué)院工學(xué)院,云南 蒙自 661100;2.電子科技大學(xué)信息與通信工程學(xué)院,四川 成都 611731;3.重慶郵電大學(xué)通信與信息工程學(xué)院,重慶 400065;4.成都師范學(xué)院物理與工程技術(shù)學(xué)院,四川 成都 611130)

0 引言

隨著互聯(lián)網(wǎng)和多媒體信息處理技術(shù)的發(fā)展,視頻數(shù)據(jù)量呈爆發(fā)式增長(zhǎng)。為了降低視頻存儲(chǔ)和傳輸成本,近30 年來,工業(yè)界聯(lián)合學(xué)術(shù)界推出了多個(gè)視頻編碼標(biāo)準(zhǔn),例如,高級(jí)視頻編碼(AVC,advanced video coding)H.264/AVC[1]、高效視頻編碼(HEVC,high efficiency video coding)H.265/ HEVC[2]和通用視頻編碼(VVC,versatile video coding)H.266/VVC[3]等。數(shù)字視頻中包含空間、時(shí)間、視覺和信息熵等多種信息冗余,為了去除上述冗余實(shí)現(xiàn)高效數(shù)據(jù)壓縮,當(dāng)前視頻編碼標(biāo)準(zhǔn)采用基于塊的混合編碼框架,包括預(yù)測(cè)、變換、量化和熵編碼等模塊。視頻編碼過程中,輸入視頻序列被分級(jí)劃分為許多子任務(wù),例如,圖像組(GoP,group of picture)、編碼幀和基本編碼單元。H.264 中的基本編碼單元是宏塊(MB,macro block),HEVC 和VVC 中的基本編碼單元是編碼樹單元(CTU,coding tree unit)。在各種標(biāo)準(zhǔn)的視頻編碼器中,采用基于拉格朗日乘子的率失真優(yōu)化(RDO,rate-distortion optimization)方法為一個(gè)基本編碼單元選擇最佳編碼模式以達(dá)到最優(yōu)的率失真性能。

為了進(jìn)一步提升編碼器率失真性能,近年來一些文獻(xiàn)研究視頻編碼過程中的率失真依賴關(guān)系,提出多種依賴RDO 方法。針對(duì)H.264 幀內(nèi)編碼,文獻(xiàn)[4]通過調(diào)整4×4 像素塊的率失真代價(jià)運(yùn)算方式改善下邊界和右邊界像素的編碼質(zhì)量,一定程度地改善了編碼性能。針對(duì)HEVC 編碼器,文獻(xiàn)[5]通過分析幀內(nèi)預(yù)測(cè)時(shí)編碼單元之間的模式選擇空域依賴性,提出對(duì)垂直方向上的2 個(gè)編碼單元進(jìn)行聯(lián)合優(yōu)化,該方法以增加數(shù)倍編碼運(yùn)算復(fù)雜度為代價(jià)實(shí)現(xiàn)了大約0.7%的率失真性能提升。文獻(xiàn)[6]對(duì)文獻(xiàn)[5]方法進(jìn)行了降低復(fù)雜度優(yōu)化,使運(yùn)算復(fù)雜度降低到原始HEVC 編碼器的同時(shí)提升率失真性能。優(yōu)化幀內(nèi)預(yù)測(cè)編碼帶來的壓縮性能提升有限,而且相應(yīng)的運(yùn)算復(fù)雜度增加較大,因此針對(duì)空域依賴RDO 的方法相對(duì)較少。

針對(duì)HEVC 的分級(jí)固定量化參數(shù)(QP,quantization parameter)設(shè)置,文獻(xiàn)[7-10]提出了低時(shí)延編碼配置下的自適應(yīng)QP 級(jí)聯(lián)(QPC,QP cascading)方法,其根據(jù)視頻內(nèi)容變化動(dòng)態(tài)地設(shè)置編碼幀的QP。類似地,文獻(xiàn)[11-13]提出隨機(jī)接入配置下的QPC 方法。這些方法根據(jù)幀間率失真依賴關(guān)系自適應(yīng)調(diào)整GoP 中視頻幀的編碼QP,然后一幀內(nèi)所有CTU 均采用相同的QP 進(jìn)行編碼。文獻(xiàn)[14]采用原始視頻幀作為參考,通過預(yù)編碼估算時(shí)域失真?zhèn)鞑?,提出CTU 級(jí)的自適應(yīng)QP 設(shè)置,獲得了比幀級(jí)QPC 方法更高的率失真性能。

文獻(xiàn)[15]通過分析信源失真在H.264 視頻編碼中的時(shí)域傳播,建立信源失真時(shí)域擴(kuò)散模型,自適應(yīng)地調(diào)節(jié)MB 的拉格朗日乘子,獲得了非常顯著的率失真性能提升。文獻(xiàn)[16]和文獻(xiàn)[17]把上述信源失真時(shí)域擴(kuò)散模型擴(kuò)展到HEVC 的低時(shí)延和隨機(jī)接入編碼結(jié)構(gòu),同樣提升了率失真性能。文獻(xiàn)[18]在高碼率條件假設(shè)下認(rèn)為參考像素的編碼失真不影響后續(xù)編碼單元的失真而是影響碼率,通過考慮當(dāng)前編碼單元失真對(duì)后續(xù)編碼單元碼率的增量,提出自適應(yīng)拉格朗日乘子和QP 選擇方法。上述方法均需要緩存后續(xù)待編碼幀以建立時(shí)域傳播鏈。文獻(xiàn)[19]提出只考慮失真直接傳播的自適應(yīng)拉格朗日乘子選擇方法,其不需要緩存后續(xù)待編碼幀,但率失真性能低于文獻(xiàn)[16]方法。此外,文獻(xiàn)[20-22]把率失真依賴關(guān)系應(yīng)用到HEVC 碼率控制[23]的幀級(jí)和CTU 級(jí)最優(yōu)比特分配,改善了碼率控制下的率失真性能。針對(duì)HEVC 碼率控制方法感知率失真性能較低的問題,文獻(xiàn)[24]提出了一種視頻主觀觀測(cè)實(shí)驗(yàn)啟發(fā)的感知幀內(nèi)碼率控制方法。

不同于上述基于預(yù)分析的自適應(yīng)QPC 或自適應(yīng)拉格朗日乘子選擇算法,本文提出一種基于失真反向傳播模型的時(shí)域依賴RDO 算法,該算法在編碼當(dāng)前幀時(shí)不需要緩存后續(xù)待編碼幀。本文的主要研究工作如下。

1) 根據(jù)指數(shù)形式率失真函數(shù),推導(dǎo)出時(shí)域失真?zhèn)鞑ヒ蜃涌杀硎緸榫幋a失真除以運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)誤差。為避免緩存后續(xù)幀進(jìn)行預(yù)分析,采用失真反向傳播模型近似真實(shí)的失真前向傳播。解決了編碼塊時(shí)域傳播因子估算問題。

2) 分析了HEVC 低時(shí)延分級(jí)編碼結(jié)構(gòu)下的QP和拉格朗日乘子設(shè)置,根據(jù)16×16 像素塊的時(shí)域傳播因子確定CTU 的權(quán)重系數(shù),結(jié)合幀級(jí)拉格朗日乘子確定自適應(yīng)的CTU 級(jí)拉格朗日乘子和QP,實(shí)現(xiàn)編碼比特資源分配優(yōu)化。

3) 實(shí)驗(yàn)結(jié)果表明,在低時(shí)延B 幀(LDB,low delay B-frame)和低時(shí)延P 幀(LDP,low delay P-frame)編碼器配置下,相比于HEVC 基準(zhǔn)編碼器,本文算法分別獲得了平均4.4%、4.3%和最高13.0%的碼率節(jié)省,在調(diào)節(jié)I 幀QP 后,平均碼率節(jié)省可進(jìn)一步提高到6.4%。

1 時(shí)域依賴RDO

RDO 技術(shù)貫穿于整個(gè)視頻編碼過程,其目標(biāo)是在有限碼率條件下最小化編碼視頻失真[25],可描述為一個(gè)約束優(yōu)化問題,即

其中,Di和Ri分別是第i個(gè)編碼單元的失真和碼率;N是總的編碼單元數(shù);RT是總共可用的碼率預(yù)算。

通過引入拉格朗日乘子,式(1)的約束優(yōu)化問題可以被轉(zhuǎn)換為

其中,J是全局率失真代價(jià)函數(shù);oi是第i個(gè)編碼單元的編碼模式選擇;λg是全局拉格朗日乘子,較小的λg失真較小但碼率消耗較多,反之則失真較大而碼率消耗較少。實(shí)際上,由于編碼單元之間存在率失真依賴關(guān)系,式(2)所示的最小化問題在視頻編碼中難以實(shí)現(xiàn)。通常地,視頻編碼過程中假設(shè)編碼單元之間相互獨(dú)立,對(duì)每一個(gè)編碼單元單獨(dú)進(jìn)行優(yōu)化,表示為

其中,Ji是第i個(gè)編碼單元的率失真代價(jià)函數(shù);λi是第i個(gè)編碼單元進(jìn)行模式選擇采用的拉格朗日乘子。這種編碼單元獨(dú)立的假設(shè)使基于拉格朗日乘子的RDO 方法易于在編碼端實(shí)現(xiàn),但該獨(dú)立優(yōu)化不能使視頻編碼達(dá)到最優(yōu)的率失真性能。

事實(shí)上,為了使式(2)所示的全局率失真代價(jià)函數(shù)J最小,可令J對(duì)第n個(gè)編碼單元失真的一階導(dǎo)數(shù)為零,表示為

這里的編碼單元表示HEVC 中獨(dú)立進(jìn)行編碼模式選擇的CTU。由于幀內(nèi)預(yù)測(cè)、運(yùn)動(dòng)矢量預(yù)測(cè)和基于上下文的熵編碼等,一幀內(nèi)相鄰CTU 之間存在編碼決策依賴,但文獻(xiàn)[4-6]的研究表明,這種編碼決策依賴所引起的空域率失真依賴性較小。對(duì)于幀間預(yù)測(cè),當(dāng)前塊的編碼質(zhì)量會(huì)顯著地影響后續(xù)參考?jí)K編碼單元的壓縮性能。文獻(xiàn)[15]分析表明,編碼單元碼率僅由它自己的編碼選擇決定,而編碼單元失真與參考?jí)K編碼質(zhì)量相關(guān)性很強(qiáng)。

為了驗(yàn)證上述對(duì)視頻編碼過程中空域和時(shí)域率失真依賴性的描述,設(shè)計(jì)了以下實(shí)驗(yàn)。首先用原始HEVC 測(cè)試模型(HM,HEVC-test model)在低時(shí)延P 幀編碼配置下編碼如圖1(a)所示的測(cè)試序列Basketball Pass(416 像素×240 像素),編碼器輸入QP 分別采用22、27、32 和37,根據(jù)第2 幀的4 個(gè)碼率點(diǎn)得到圖1(c)中實(shí)線所示的率失真曲線。其中,D(MSE)表示使用均方誤差(MSE,mean square error)描述失真。為觀察幀間編碼中參考幀編碼質(zhì)量變化對(duì)編碼幀的率失真特性影響,修改HM 使第1 幀的QP 比原始設(shè)置小5,其他編碼工具和編碼結(jié)構(gòu)均不做任何改變。用修改后的HM 編碼測(cè)試序列再次得到第2 幀的率失真曲線如圖1(c)中虛線所示。從圖1(c)中可知,改善第1 幀編碼質(zhì)量后,第2 幀的率失真曲線明顯下移。此外,如圖1(b)所示,把測(cè)試序列的第1 幀劃分為2 個(gè)區(qū)域,第1 個(gè)~第22 個(gè)CTU 作為第1 個(gè)區(qū)域,第23 個(gè)~第28 個(gè)CTU 作為第2 個(gè)區(qū)域。采用原始HM 編碼后,統(tǒng)計(jì)第2 個(gè)區(qū)域的4 個(gè)碼率點(diǎn)得到圖1(d)中實(shí)線所示的率失真曲線。為觀察第1 個(gè)區(qū)域的編碼質(zhì)量變化對(duì)第2 個(gè)區(qū)域的率失真特性影響,修改HM 使第1 個(gè)區(qū)域中CTU 的QP 值比原始設(shè)置小5,第2 個(gè)區(qū)域中CTU 的編碼方式不做任何改變。用修改后的HM 編碼測(cè)試序列第1 幀再次得到第2 個(gè)區(qū)域的率失真曲線如圖1(d)中虛線所示。從圖1(d)中可知,改善第1 個(gè)區(qū)域編碼質(zhì)量后,第2 個(gè)區(qū)域的率失真特性沒有明顯變化。

圖1 率失真依賴性

基于上述分析,式(4)左側(cè)的碼率求和項(xiàng)對(duì)Dn的一階導(dǎo)數(shù)可寫為

其中,λn是HEVC 編碼CTU 所采用的拉格朗日乘子。在編碼器中,CTU 按順序被編碼,在編碼第n個(gè)CTU時(shí),前面的第1 個(gè)~第n-1 個(gè)CTU 已經(jīng)編碼結(jié)束,它們產(chǎn)生的碼率和失真已經(jīng)確定,即D1~Dn-1為常量。因此,式(4)左側(cè)失真求和項(xiàng)對(duì)Dn的一階導(dǎo)數(shù)可表示為

把式(5)和式(6)代入式(4),整理得到

其中,kn表示第n個(gè)CTU 編碼失真變化引起后續(xù)直接和間接參考它的編碼單元總失真變化率,稱為時(shí)域失真?zhèn)鞑ヒ蜃?。時(shí)域依賴RDO 通常采用式(7)的拉格朗日乘子調(diào)節(jié)CTU 的編碼優(yōu)化目標(biāo),以改善率失真性能。

對(duì)于時(shí)域失真?zhèn)鞑ヒ蜃拥墓烙?jì),文獻(xiàn)[15]針對(duì)H.264 中的IPPP 編碼結(jié)構(gòu),首先在原始視頻幀中通過前向運(yùn)動(dòng)搜索建立如圖2 所示的時(shí)域傳播鏈,從而確定被當(dāng)前編碼塊失真直接和間接影響的后續(xù)像素塊;然后提出信源失真時(shí)域擴(kuò)散模型計(jì)算時(shí)域失真?zhèn)鞑ヒ蜃?。由于HEVC 采用具有多參考幀的分級(jí)編碼結(jié)構(gòu),當(dāng)前CTU 編碼失真具有多條傳播路徑,使時(shí)域傳播因子估計(jì)變得非常困難。針對(duì)HEVC低時(shí)延分級(jí)編碼結(jié)構(gòu),文獻(xiàn)[16]通過統(tǒng)計(jì)關(guān)鍵幀和非關(guān)鍵幀在編碼過程中被參考的概率,建立具有多分支的時(shí)域傳播鏈,從而把信源失真時(shí)域擴(kuò)散模型擴(kuò)展到HEVC 低時(shí)延分級(jí)編碼結(jié)構(gòu)中。

圖2 時(shí)域傳播鏈

2 基于失真?zhèn)鞑ツP偷囊蕾嘡DO 算法

2.1 時(shí)域失真?zhèn)鞑ヒ蜃?/h3>

根據(jù)式(7),時(shí)域失真?zhèn)鞑ヒ蜃颖硎緸?/p>

式(8)涉及失真變化量,因此視頻編碼過程中難以直接采用式(8)計(jì)算傳播因子。

視頻編碼中,在高碼率條件下,編碼碼率和失真之間的關(guān)系可表示為[15]

同理,式(15)中的Cn+2也是與時(shí)域傳播鏈上原始參考像素塊Bn的編碼失真nD不相關(guān)的項(xiàng)。式(8)中Di表示時(shí)域傳播鏈上受nD影響的后續(xù)幀中相應(yīng)像素塊編碼失真,其下標(biāo)i=n+1,n+2,…,N。這里的N表示以Bn為起始?jí)K的時(shí)域傳播鏈上最后一個(gè)像素塊的序號(hào)。由式(15)可寫出Di的通式為

把式(16)代入式(8)得到時(shí)域失真?zhèn)鞑ヒ蜃訛?/p>

此外,根據(jù)式(9)得到ηt為

因此,不需要獲得失真變化量,由時(shí)域傳播鏈上各像素塊的編碼失真和MCP 誤差即可計(jì)算時(shí)域傳播因子。

2.2 算法實(shí)現(xiàn)

根據(jù)式(17)和式(18)計(jì)算時(shí)域傳播因子需要提前編碼后續(xù)幀以獲得編碼失真和MCP 誤差,而實(shí)時(shí)視頻通信在編碼當(dāng)前幀時(shí),后續(xù)幀的圖像還沒有采集。因此,本文算法采用失真后向傳播來近似計(jì)算時(shí)域失真?zhèn)鞑ヒ蜃?,具體步驟描述如下。

1) 計(jì)算16×16 像素塊的時(shí)域傳播因子

在HEVC 中,CTU 的大小為64×64 像素塊,根據(jù)視頻內(nèi)容特性CTU 會(huì)被劃分為32×32 像素塊、32×16 像素塊或16×16 像素塊等更小的預(yù)測(cè)單元(PU,prediction unit)進(jìn)行預(yù)測(cè)編碼。因此,幀間預(yù)測(cè)中的重建參考像素塊可能具有上述不同的形狀和大小。本文在算法1 的基礎(chǔ)上測(cè)試了以32×32 像素塊和16×16 像素塊為單元計(jì)算時(shí)域傳播因子,結(jié)果顯示采用16×16 像素塊能獲得更好、更穩(wěn)定的率失真性能。例如,在低時(shí)延P 幀編碼配置下,對(duì)于視頻ParkScene 和BQTerrace,采用16×16 像素塊的算法1 獲得了5.5%和1.1%的率失真性能提升;而采用32×32 像素塊的算法1 對(duì)視頻ParkScene 只獲得了4.2%的率失真性能提升,對(duì)視頻BQTerrace 甚至遭受了2.2%的率失真性能損失。這是因?yàn)閷?duì)于場(chǎng)景和紋理較復(fù)雜的視頻,編碼器趨向于選擇較小的預(yù)測(cè)單元編碼,這時(shí)采用32×32 像素塊計(jì)算的時(shí)域傳播因子不夠準(zhǔn)確。因此,出于率失真性能和算法穩(wěn)健性考慮,本文最終選擇以16×16 像素塊為單元計(jì)算時(shí)域傳播因子。為了獲得16×16 像素塊的MCP誤差和編碼失真,首先對(duì)當(dāng)前幀進(jìn)行一次預(yù)編碼。預(yù)編碼過程采用HEVC 原有的固定QP 設(shè)置,通過檢測(cè)64×64 像素塊、32×32 像素塊和16×16 像素塊這3 種幀間模式減少預(yù)編碼時(shí)間。預(yù)編碼后,當(dāng)前幀中第j個(gè)16×16 像素塊的時(shí)域傳播因子由式(19)計(jì)算得到。

2) 計(jì)算CTU 的權(quán)重系數(shù)

根據(jù)式(19)得到當(dāng)前編碼幀中16×16 像素塊的時(shí)域傳播因子。然后結(jié)合式(7)引入CTU 的拉格朗日乘子權(quán)重系數(shù)為

其中,Wm是第m個(gè)CTU 的拉格朗日乘子權(quán)重系數(shù);Lm是第m個(gè)CTU 中包含的16×16 像素塊個(gè)數(shù),一般情況下,Lm=16。但由于一些視頻序列的空間分辨率不是64 的整數(shù)倍,在這些視頻幀的右邊界和下邊界處CTU 中包含的16×16 像素塊個(gè)數(shù)少于16。

3) 自適應(yīng)拉格朗日乘子和QP

HEVC 采用分級(jí)編碼結(jié)構(gòu),低時(shí)延配置下,一個(gè)GoP 包含4 幀圖像,其層級(jí)分別為3、2、3 和1,默認(rèn)編碼幀的QP 設(shè)置為

其中,QP0是編碼器的輸入QP;QPOffset是編碼幀所屬的層級(jí)。此外,編碼幀的拉格朗日乘子為

其中,ωL是一個(gè)與編碼幀所屬層級(jí)和QP 大小有關(guān)的權(quán)重系數(shù),層級(jí)越小,ωL的值越小,計(jì)算得到的拉格朗日乘子也越小。式(22)一定程度地考慮了幀級(jí)別的時(shí)域率失真依賴關(guān)系,其傾向于把層級(jí)低的幀編碼得更好,以減小當(dāng)前編碼失真對(duì)后續(xù)幀編碼失真的影響。

本文算法中,CTU 級(jí)拉格朗日乘子由式(22)的幀級(jí)拉格朗日乘子和式(20)的拉格朗日乘子權(quán)重系數(shù)確定。由于式(20)中權(quán)重系數(shù)總是小于1,為了保持當(dāng)前幀的總體優(yōu)化目標(biāo)不變,采用式(23)和式(24)重新調(diào)整CTU 級(jí)拉格朗日乘子權(quán)重系數(shù),使其均值為1。

其中,M是一幀中包含的CTU 個(gè)數(shù)。式(24)表示的CTU 級(jí)拉格朗日乘子權(quán)重系數(shù)均值為1,其中具有較大時(shí)域傳播因子的CTU 權(quán)重系數(shù)小于1,而具有較小時(shí)域傳播因子的CTU 權(quán)重系數(shù)大于1。

最終,當(dāng)前幀中用于編碼各個(gè)CTU 的自適應(yīng)拉格朗日乘子為

由于編碼每個(gè)CTU 采用了不同的拉格朗日乘子,CTU 的QP 也應(yīng)該進(jìn)行相應(yīng)調(diào)整,采用文獻(xiàn)[26]中擬合的λ-QP 可得

由式(25)和式(26)得到CTU 級(jí)自適應(yīng)的拉格朗日乘子和QP,然后對(duì)當(dāng)前幀進(jìn)行編碼。為便于對(duì)本文算法的理解,算法1 用偽代碼描述了本文算法的具體實(shí)現(xiàn)過程。

算法1基于失真反向傳播的時(shí)域依賴率失真優(yōu)化

輸入當(dāng)前待編碼幀

輸出CTU 級(jí)自適應(yīng)的拉格朗日乘子λm和量化參數(shù)QPm

3 實(shí)驗(yàn)結(jié)果

3.1 實(shí)驗(yàn)設(shè)置

為了驗(yàn)證所提時(shí)域依賴RDO 算法的有效性,把本文算法集成到HEVC 參考軟件HM16.7。與其他大多數(shù)視頻編碼優(yōu)化算法一樣,本文算法通過優(yōu)化編碼比特資源分配來提升編碼器率失真性能,不會(huì)改變HEVC 碼流句法結(jié)構(gòu),不需要改動(dòng)解碼器。測(cè)試實(shí)驗(yàn)中,編碼器采用LDB 和LDP 分級(jí)編碼結(jié)構(gòu),對(duì)應(yīng)的編碼器配置文件分別是“encoder_lowdelay_ main.cfg”和“encoder_lowdelay_ P_main.cfg”,參數(shù)配置采用上述2 個(gè)文件中的默認(rèn)設(shè)置。測(cè)試序列為通用測(cè)試條件(CTC,common test condition)[27]對(duì)LDB 和LDP配置建議的Class B、Class C、Class D、Class E 和Class F 中全部20 個(gè)視頻,包括了從416 像素×240像素到1920 像素×1080 像素不同分辨率、幀率和場(chǎng)景內(nèi)容的原始YUV 序列。每個(gè)視頻序列依據(jù)CTC測(cè)試輸入QP 為22、27、32 和37 的4 個(gè)碼率點(diǎn)。

對(duì)比算法包括文獻(xiàn)[9]、文獻(xiàn)[10]、文獻(xiàn)[16]、文獻(xiàn)[18]和文獻(xiàn)[19]的算法。其中,文獻(xiàn)[9]算法使視頻序列起始I 幀的QP 值降低5,即編碼器輸入QP 為32,則I 幀QP 為27。由于I 幀編碼質(zhì)量對(duì)整個(gè)視頻序列編碼影響很大,為了公平比較,本節(jié)除了測(cè)試上述算法1 描述的本文算法外,還測(cè)試了在算法1 基礎(chǔ)上直接對(duì)I 幀QP 值減小5 以后的算法,命名為本文算法+調(diào)節(jié)I 幀。另外,本節(jié)也測(cè)試了算法1 中只調(diào)節(jié)CTU 的拉格朗日乘子的情況,即不執(zhí)行算法1 的步驟14),命名為本文算法-調(diào)節(jié)QP。

3.2 率失真性能對(duì)比

為了全面客觀地呈現(xiàn)本文算法和其他算法的率失真性能,采用BD-Rate(Bj?ntegaard Delta rate)作為評(píng)價(jià)指標(biāo)。BD-Rate 表示在相同客觀質(zhì)量下,測(cè)試方法相對(duì)于基準(zhǔn)編碼器的碼率節(jié)省百分比,正值表示率失真性能損失,負(fù)值表示率失真性能改善,本文中的客觀質(zhì)量用壓縮視頻亮度分量的峰值信噪比(PSNR,peak signal-to-noise ratio)度量。實(shí)驗(yàn)對(duì)比中,把原始未修改過的HEVC 參考軟件HM 作為基準(zhǔn)編碼器。表1 列出了LDB 和LDP 編碼配置下,文獻(xiàn)[9]、文獻(xiàn)[10]、文獻(xiàn)[16]、文獻(xiàn)[18]、文獻(xiàn)[19]和本文3 種算法相對(duì)于HEVC 基準(zhǔn)編碼器的BD-Rate。文獻(xiàn)[9]的自適應(yīng)QPC 算法降低了I 幀QP編碼,其獲得相對(duì)較高的率失真性能提升,在LDB和LDP 編碼配置下都達(dá)到平均4.9%的碼率節(jié)省。文獻(xiàn)[10]是針對(duì)監(jiān)控視頻的自適應(yīng)QPC 算法,其對(duì)監(jiān)控視頻編碼獲得較高的率失真性能提升,但對(duì)于CTC 測(cè)試序列,在LDB 和LDP 編碼配置下只有平均2.2%和2.3%的碼率節(jié)省。文獻(xiàn)[16]通過建立失真時(shí)域傳播鏈估算塊間率失真依賴,從而自適應(yīng)調(diào)節(jié)CTU 的拉格朗日乘子和QP,在LDB 和LDP 編碼配置下分別獲得平均3.2%和3.6%的碼率節(jié)省。文獻(xiàn)[18]通過估計(jì)編碼失真對(duì)后續(xù)編碼單元的碼率增量,自適應(yīng)選擇拉格朗日乘子和QP,在LDB 和LDP 編碼配置下分別獲得平均3.9%和4.3%的碼率節(jié)省。文獻(xiàn)[19]通過分析失真直接傳播影響,自適應(yīng)調(diào)節(jié)CTU級(jí)的拉格朗日乘子,但一幀中所有CTU 仍然采用相同的QP 編碼,該方法在LDB 和LDP 編碼配置下分別獲得平均1.8%和1.7%的碼率節(jié)省。

表1 不同算法相對(duì)于HEVC 基準(zhǔn)編碼器的BD-Rate 對(duì)比

如表1 所示,本文算法在LDB 和LDP 編碼配置下分別獲得平均4.4%和4.3%的碼率節(jié)省,率失真性能僅次于文獻(xiàn)[9]。而在本文算法基礎(chǔ)上直接減小I 幀QP 值后,本文算法+調(diào)節(jié)I 幀可達(dá)到平均6.4%的碼率節(jié)省,率失真性能提升顯著高于文獻(xiàn)[9]的自適應(yīng)QPC 算法。此外,在只調(diào)節(jié)拉格朗日乘子情況下,本文算法-調(diào)節(jié)QP 獲得平均2.4%和2.0%的碼率節(jié)省。為了直觀地展示本文算法和HEVC 基準(zhǔn)編碼器對(duì)各個(gè)視頻序列的編碼性能,圖3給出了LDP 編碼配置下全部20 個(gè)測(cè)試序列的率失真曲線對(duì)比。圖3 中,縱軸表示壓縮視頻亮度分量的PSNR,曲線越靠上,表示率失真性能越好。從圖3 中可以看到,與表1 的BD-Rate 數(shù)據(jù)一致,對(duì)于絕大多數(shù)測(cè)試序列,本文算法的率失真性能優(yōu)于HEVC 基準(zhǔn)編碼器。特別地,BasketballDrill、PartyScene 和 FourPeople 等測(cè)試序列的率失真曲線顯示本文算法在低碼率和高碼率下均獲得比HEVC基準(zhǔn)編碼器HM16.7 更好的壓縮性能。

圖3 率失真曲線對(duì)比

接下來,對(duì)實(shí)驗(yàn)結(jié)果做進(jìn)一步的討論。數(shù)據(jù)顯示,對(duì)于包含相對(duì)靜止和緩慢運(yùn)動(dòng)目標(biāo)的視頻序列,本文算法最有效。例如,對(duì)于Class E 的會(huì)議場(chǎng)景視頻,在LDB 和LDP 編碼配置下,本文算法獲得了平均6.9%和7.4%的碼率節(jié)省。另外,對(duì)于背景變化相對(duì)緩慢,并包含多個(gè)運(yùn)動(dòng)目標(biāo)的視頻序列BasketballDrill,本文算法獲得了最高13%的碼率節(jié)省。其原因是這些視頻中許多CTU具有很強(qiáng)的時(shí)域率失真依賴性,通過改善它們的編碼質(zhì)量可以顯著降低編碼失真時(shí)域傳播,從而提升率失真性能。事實(shí)上,對(duì)于具有固定背景的視頻,直接調(diào)整I 幀編碼質(zhì)量就能達(dá)到明顯的壓縮性能提升,如文獻(xiàn)[10]通過減小I 幀QP,在背景基本不變的監(jiān)控視頻上達(dá)到很高的壓縮性能,但對(duì)于包含多種視頻場(chǎng)景的CTC 測(cè)試序列,該算法平均性能提升相對(duì)較小。本文算法+調(diào)節(jié)I 幀在LDP 配置時(shí)對(duì)Class E 的平均碼率節(jié)省達(dá)到了16.6%,證實(shí)了I 幀編碼質(zhì)量對(duì)具有固定背景的視頻影響很大。

然而,時(shí)域依賴RDO 和改善I 幀編碼質(zhì)量并非對(duì)所有視頻序列有效。表1 數(shù)據(jù)顯示,本文算法調(diào)節(jié)I 幀后,Kimono、RaceHorses 等幾個(gè)測(cè)試序列的率失真性能反而降低了。這是因?yàn)檫@些視頻的場(chǎng)景內(nèi)容變化較快,提升I 幀編碼質(zhì)量對(duì)后續(xù)編碼幀帶來的收益較小。另外,LDB 配置下,本文算法在Class C 的RaceHorses(WVGA)上遭受2.0%的性能損失,而在Class D的RaceHorses(WQVGA)上卻得到1.9%的性能增益。事實(shí)上,RaceHorses(WQVGA)是由RaceHorses(WVGA)降采樣得到的,它們具有相同的場(chǎng)景內(nèi)容。再次觀察表1 數(shù)據(jù)發(fā)現(xiàn),其他幾種對(duì)比算法[9-10,16,19]同樣出現(xiàn)類似的情況,這些算法對(duì)分辨率較大的RaceHorses(WVGA)的性能都差于對(duì)分辨率較小的RaceHorses(WQVGA)的性能。其原因是RaceHorses 場(chǎng)景中具有復(fù)雜紋理和快速運(yùn)動(dòng)目標(biāo),而高分辨率視頻的相鄰幀中像素運(yùn)動(dòng)尺度更大,很難利用時(shí)域率失真依賴進(jìn)行編碼優(yōu)化。對(duì)于下采樣后的視頻,其相鄰幀中像素運(yùn)動(dòng)尺度相對(duì)減小,因此為時(shí)域依賴率失真優(yōu)化提供了一定的性能提升空間。對(duì)于Class F中的測(cè)試序列SlideEditing,本文算法也遭受1.4%的性能損失。其原因是該屏幕內(nèi)容視頻包含多個(gè)局部場(chǎng)景切換,從而導(dǎo)致失真反向傳播估計(jì)的時(shí)域傳播因子出現(xiàn)較大誤差。

3.3 算法分析

本文算法采用了預(yù)編碼以獲得當(dāng)前幀的編碼失真和MCP 誤差,必然會(huì)一定程度地增加編碼器運(yùn)算量。為了評(píng)估本文算法的運(yùn)算復(fù)雜度,引入式(27)的編碼時(shí)間增加百分比。

其中,TProp和TOrig分別是本文算法和原始HM16.7的編碼時(shí)間。為了降低單個(gè)視頻序列編碼時(shí)間波動(dòng)的影響,使用每一類視頻序列的總編碼時(shí)間計(jì)算ΔEncT,結(jié)果如表2 所示。實(shí)驗(yàn)數(shù)據(jù)顯示,本文算法相對(duì)原始HM16.7 的運(yùn)算復(fù)雜度僅增加了23%。這是因?yàn)轭A(yù)編碼的模式選擇過程中只進(jìn)行64×64 像素塊、32×32 像素塊和16×16 像素塊的幀間預(yù)測(cè)模式判決,略過了大量8×8 像素塊、4×4 像素塊和其他對(duì)稱及不對(duì)稱的二叉樹劃分。

表2 本文算法相比原始HM16.7 的編碼時(shí)間增加百分比ΔEncT

此外,式(19)采用失真反向傳播近似視頻編碼中真實(shí)的失真前向傳播來估算時(shí)域傳播因子,選取的反向傳播長(zhǎng)度太短不能反映失真間接影響,太長(zhǎng)則會(huì)產(chǎn)生較大的近似誤差。為了分析式(19)中反向傳播長(zhǎng)度對(duì)率失真性能的影響,表3 給出了LDP編碼配置下設(shè)置不同反向傳播長(zhǎng)度獲得的BD-Rate。實(shí)驗(yàn)數(shù)據(jù)顯示,反向傳播長(zhǎng)度設(shè)置為3時(shí)獲得的平均率失真性能提升最大。

表3 LDP 編碼配置下設(shè)置不同反向傳播長(zhǎng)度獲得的BD-Rate

4 結(jié)束語

本文根據(jù)視頻編碼中運(yùn)動(dòng)補(bǔ)償原理和高碼率條件下的率失真函數(shù)首先推導(dǎo)出時(shí)域失真?zhèn)鞑ヒ蜃颖磉_(dá)式,然后提出一種基于失真反向傳播的時(shí)域依賴RDO 算法。該算法不用緩存后續(xù)幀建立傳播鏈,采用反向操作近似真實(shí)的失真前向傳播,通過已編碼的兩幀和預(yù)編碼當(dāng)前幀得到的編碼失真及MCP 誤差估算時(shí)域傳播因子,進(jìn)而自適應(yīng)地調(diào)節(jié)CTU 的拉格朗日乘子和QP。實(shí)驗(yàn)數(shù)據(jù)顯示,與HEVC 基準(zhǔn)編碼器相比,本文算法獲得了平均4.4%和最高13.0%的碼率節(jié)省,在增加調(diào)節(jié)I 幀QP 的情況下,平均率失真性能提升達(dá)到了6.4%。最后,本文分析了算法的運(yùn)算復(fù)雜度和反向傳播長(zhǎng)度對(duì)算法編碼性能的影響。

猜你喜歡
乘子碼率拉格朗
再談單位球上正規(guī)權(quán)Zygmund空間上的點(diǎn)乘子
雙線性傅里葉乘子算子的量化加權(quán)估計(jì)
Nearly Kaehler流形S3×S3上的切觸拉格朗日子流形
單位球上正規(guī)權(quán)Zygmund空間上的點(diǎn)乘子
基于狀態(tài)機(jī)的視頻碼率自適應(yīng)算法
單位球上正規(guī)權(quán)Zygmund空間上的點(diǎn)乘子
拉格朗日代數(shù)方程求解中的置換思想
基于拉格朗日的IGS精密星歷和鐘差插值分析
基于場(chǎng)景突變的碼率控制算法
X264多線程下碼率控制算法的優(yōu)化
浙江省| 望城县| 临西县| 孟连| 钟山县| 韩城市| 沙坪坝区| 正宁县| 慈利县| 霸州市| 梅州市| 元谋县| 同仁县| 木里| 沛县| 南通市| 黄梅县| 达州市| 绥德县| 阳江市| 方正县| 曲沃县| 屯留县| 海南省| 漳平市| 沂南县| 沈阳市| 三河市| 涟源市| 盘山县| 方山县| 南充市| 镇沅| 东丰县| 九江市| 临颍县| 平乐县| 阳西县| 浏阳市| 通化市| 改则县|