專利名稱:多視點(diǎn)視頻編碼分層b幀預(yù)測結(jié)構(gòu)的計(jì)算復(fù)雜度控制方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)字視頻信號編碼領(lǐng)域,具體涉及一種多視點(diǎn)視頻編碼分層B幀預(yù)測 結(jié)構(gòu)的計(jì)算復(fù)雜度控制方法。
背景技術(shù):
隨著視頻采集和顯示技術(shù)的飛速發(fā)展,已經(jīng)有許多針對3D視頻場景應(yīng)用的設(shè)備 出現(xiàn),比如3D電視和自由視點(diǎn)電視。3D視頻由于可以為用戶提供真實(shí)的視覺感受,正在逐 漸取代傳統(tǒng)的2D視頻。多視點(diǎn)視頻(Multiview Video, MV)是利用不同位置的攝像頭對 同一場景進(jìn)行拍攝得到的視頻數(shù)據(jù),它包含了多個視角的視覺信息,是一種重要的3D視頻 數(shù)據(jù)。由于多視點(diǎn)視頻的數(shù)據(jù)量隨著視點(diǎn)個數(shù)的增多而成倍增加,因此為了解決其傳輸和 存儲的問題,多視點(diǎn)視頻編碼(Multiview Video Coding, MVC)對多視點(diǎn)視頻數(shù)據(jù)進(jìn)行高 效的壓縮。聯(lián)合視頻工作組(Joint Video Team, JVT)從2006年開始對多視點(diǎn)視頻編碼 進(jìn)行標(biāo)準(zhǔn)化工作,將其作為H. 264/AVC的第四個增修案。為了提高編碼壓縮效率,多視點(diǎn) 視頻編碼既采用了傳統(tǒng)視頻編碼的時(shí)域預(yù)測來減少時(shí)間方向上的數(shù)據(jù)冗余,同時(shí)采用了視 點(diǎn)間預(yù)測來減少視點(diǎn)方向上的數(shù)據(jù)冗余。JVT發(fā)布的多視點(diǎn)視頻編碼校驗(yàn)?zāi)P椭胁捎昧?HHI提出的多視點(diǎn)視頻編碼分層B幀預(yù)測結(jié)構(gòu)(Vetro A,Pandit P,Kimata H,Smolic A, Wang Y K. Joint multiview video model (JMVM)8. 0. Doc. AA207,2008,Geneva, JVT 27th meeting),同時(shí)采用時(shí)域預(yù)測和視點(diǎn)間預(yù)測,有效提高編碼效率。視頻編碼器的實(shí)際應(yīng)用中,編碼器可獲得計(jì)算資源通常是有限的,并且會隨著整 個系統(tǒng)資源的變化而有所調(diào)整,因此編碼器需要具備計(jì)算復(fù)雜度可伸縮的能力,能夠根據(jù) 實(shí)際情況準(zhǔn)確控制整體計(jì)算量。另外,在視頻編碼的實(shí)際應(yīng)用中,整個應(yīng)用系統(tǒng)除了視頻編 碼器之外通常還會有其它相關(guān)任務(wù)在運(yùn)行,如果編碼器的計(jì)算量的波動過大,就可能會影 響其它任務(wù)的正常運(yùn)行。因此編碼器還需要對計(jì)算量波動進(jìn)行控制。綜上所述,計(jì)算復(fù)雜 度控制算法對視頻編碼的實(shí)際應(yīng)用具有重要的意義?,F(xiàn)有單視點(diǎn)視頻編碼的計(jì)算復(fù)雜度控制算法可以用于多視點(diǎn)視頻編碼中每個視 點(diǎn)的單獨(dú)控制。多視點(diǎn)視頻編碼要求不同視點(diǎn)幀的編碼順序排列是按時(shí)刻優(yōu)先的原則進(jìn) 行,即同個時(shí)刻不同視點(diǎn)的幀要編碼完之后才能開始其它時(shí)刻的幀進(jìn)行編碼,因此多視點(diǎn) 的計(jì)算復(fù)雜度控制方法需要對各個視點(diǎn)計(jì)算量的聯(lián)合控制。為了提高編碼壓縮效率,多視 點(diǎn)的編碼會選用比單視點(diǎn)編碼更為復(fù)雜的編碼預(yù)測結(jié)構(gòu),例如HHI提出的多視點(diǎn)視頻編碼 分層B幀預(yù)測結(jié)構(gòu),因此其計(jì)算復(fù)雜度控制算法還需要對多視點(diǎn)復(fù)雜編碼預(yù)測結(jié)構(gòu)的支 持。多視點(diǎn)視頻編碼的宏塊模式估計(jì)采用同H. 264/AVC—樣的模式率失真優(yōu)化技 術(shù),將具有最小模式率失真代價(jià)的宏塊模式作為最佳宏塊模式(Sullivan G J, Wiegand Τ. Rate-distortion optimization for video compression [J]. IEEE Signal Processing Magazine, 1998,15(6) =74-90.)。多視點(diǎn)視頻編碼的幀間估計(jì)采用同H. 264/AVC 一樣的幀 間估計(jì)率失真優(yōu)化技術(shù),將具有最小幀間估計(jì)率失真代價(jià)的幀間匹配塊作為劃分塊幀間估計(jì)的最佳中貞間匹配塊(Wiegand T, Schwarz H, Joch A, et al. . Rate-constrained coder control and comparison of video coding standards. IEEE Transactions on Circuits and Systems for Video Technology,2003,13(7) :688_703.)。
發(fā)明內(nèi)容
本發(fā)明提供了一種多視點(diǎn)視頻編碼分層B幀預(yù)測結(jié)構(gòu)的計(jì)算復(fù)雜度控制方法,可 以準(zhǔn)確控制編碼的整體計(jì)算量,減少計(jì)算量的波動,并保持良好的編碼率失真性能。—種多視點(diǎn)視頻編碼分層B幀預(yù)測結(jié)構(gòu)的計(jì)算復(fù)雜度控制方法,包括以下步驟(1)輸入多視點(diǎn)視頻數(shù)據(jù);(2)對不同粒度編碼單元進(jìn)行計(jì)算量分配;(3)對宏塊幀間模式估計(jì)進(jìn)行計(jì)算量分配;(4)對幀間估計(jì)進(jìn)行計(jì)算量分配;所述的不同粒度編碼單元包括GG0P、超幀(Super Frame, SF)、幀和宏塊四個不同 粒度的編碼單元。其中,GG0P(GroUp of G0P)為GOP組,是指不同視點(diǎn)在同一時(shí)間段的所 有圖像組的組合,所述的圖像組(G0P,GroUp of Picture)是指某一視點(diǎn)在某一時(shí)間段的圖 像的組合;所述的超幀是指同一個時(shí)刻不同視點(diǎn)的所有幀的組合。其中,所述的步驟(2)為(2. 1)對GGOP進(jìn)行計(jì)算量分配在每個GGOP開始編碼之前,計(jì)算GGOP的目標(biāo)計(jì)算量TCemp,如式(I)所示TCggop(r) = Nsf(r) X TargetAvgCSF+min (VBCggop (r), α X TargetAvgCsp) (I)式(I)中,r是當(dāng)前GGOP編碼索引,Nsf是當(dāng)前GGOP中的超幀個數(shù);TargetAVgCSF 是超幀的目標(biāo)平均計(jì)算量;VBCerop是GGOP計(jì)算量虛擬緩沖區(qū),為前一 GGOP實(shí)際計(jì)算量與其 目標(biāo)計(jì)算量之間的偏差。VBCggop的初始值為0,其在每個GGOP編碼結(jié)束后根據(jù)TCemp和GGOP 實(shí)際消耗計(jì)算量來更新;α為VBCemp的上限控制參數(shù),通常根據(jù)經(jīng)驗(yàn)來選取,設(shè)為0. 1 4. 0之間,本發(fā)明優(yōu)選設(shè)為1. 0 ; α XTargetAvgCsp為VBCggop的上限值。(2. 2)對超幀進(jìn)行計(jì)算量分配根據(jù)超幀中各幀的幀間預(yù)測參考幀個數(shù)和所處的時(shí)域?qū)佑?jì)算復(fù)雜度權(quán)重因子計(jì) 算每個超幀的計(jì)算復(fù)雜度權(quán)重值Wsf,如式(II')所示W(wǎng)SF(m) = ffLayer X RefNSF(m)(I Γ )式(II')中m是超幀編碼索引;表超幀m所處時(shí)域?qū)拥挠?jì)算復(fù)雜度權(quán)重 因子,初始值根據(jù)經(jīng)驗(yàn)來設(shè)定,所處時(shí)域?qū)拥膶訑?shù)越低,WLayer初始值越大,WLayer的更新如式 (XV)所示;RefNspR表超幀m中各幀的幀間預(yù)測用到的參考幀個數(shù);再根據(jù)超幀計(jì)算復(fù)雜度權(quán)重值Wsf和當(dāng)前GGOP剩余計(jì)算量,分配當(dāng)前編碼超幀目 標(biāo)計(jì)算量TCSF(k),如式(II)所示rcSF (幻=(rcGGOP - cGGOP) X ^ ^p (m)^ ^ ^
TweO1式(II)中,k是當(dāng)前超幀在GGOP中的編碼索引,C·是當(dāng)前GGOP已消耗計(jì)算量, 當(dāng)前GGOP剩余計(jì)算量為當(dāng)前目標(biāo)計(jì)算量TCerop與當(dāng)前GGOP已消耗計(jì)算量Cemp的差值A(chǔ)1
6是當(dāng)前GGOP中待編碼超幀的索引集合;(2. 3)對幀進(jìn)行計(jì)算量分配根據(jù)當(dāng)前超幀剩余計(jì)算量和待編碼幀的幀間預(yù)測參考幀個數(shù)分配當(dāng)前編碼幀目 標(biāo)計(jì)算量TCf (i),如式(III)所示 式(III)中,i是當(dāng)前幀在當(dāng)前超幀中的編碼索弓丨,Csf為當(dāng)前超幀已消耗計(jì)算量, 當(dāng)前超幀剩余計(jì)算量為當(dāng)前目標(biāo)計(jì)算量TCsf與當(dāng)前超幀已消耗計(jì)算量Csf的差值;RefNF(i) 是當(dāng)前幀的參考幀個數(shù),。2是當(dāng)前超幀中待編碼幀的索引集合,j是當(dāng)前超幀中待編碼幀 的索引;(2. 4)對宏塊進(jìn)行計(jì)算量分配(2. 4. 1)根據(jù)當(dāng)前宏塊與參考幀在零矢量處的差值絕對值和以及當(dāng)前宏塊的紋理 強(qiáng)度來計(jì)算當(dāng)前宏塊的預(yù)測計(jì)算復(fù)雜度MbComplexityPKED(n),如式(IV)所示 式(IV)中,η是宏塊索引,SADmtoci是當(dāng)前宏塊與前向第一個參考幀在零矢量處的 像素差值絕對值和,DEV16xl6是當(dāng)前宏塊的紋理強(qiáng)度,δ是紋理強(qiáng)度的歸一化系數(shù),通常根據(jù) 經(jīng)驗(yàn)來選取,設(shè)為4000 32000之間,本發(fā)明優(yōu)選設(shè)為16000 ;(2. 4. 2)在得到每個宏塊的預(yù)測計(jì)算復(fù)雜度之后,利用當(dāng)前幀所有宏塊的預(yù)測計(jì) 算復(fù)雜度的平均值A(chǔ)vgMbComplexityp■對每個宏塊的預(yù)測計(jì)算復(fù)雜度進(jìn)行歸一化,得到每 個宏塊的計(jì)算復(fù)雜度權(quán)重值MbWeight,如式(V)所示 (2. 4. 3)由式(V)計(jì)算得到的計(jì)算復(fù)雜度權(quán)重值,并不能十分精確的反映每個宏 塊將會消耗的計(jì)算量,因此為了兼顧宏塊間計(jì)算量分配的均勻性,提高分配算法的魯棒性, 進(jìn)一步對每個宏塊的計(jì)算復(fù)雜度權(quán)重值MbWeight的上限進(jìn)行限制,如式(VI)所示Mbffeightclip (n) = min (Mbffeight (η),Mbffeightmx)(VI)式(VI)中,MbWeightmx為宏塊計(jì)算復(fù)雜度權(quán)重上限閾值,通常根據(jù)經(jīng)驗(yàn)來選取, 設(shè)為1. 0 5. 0之間,本發(fā)明優(yōu)選設(shè)為2. 0 ;(2. 4. 4)根據(jù)當(dāng)前幀剩余計(jì)算量和剩余宏塊的MbWeightaip分配當(dāng)前宏塊的目標(biāo)
計(jì)算量TCtJq),如式(VII)所示 式(VII)中,q是當(dāng)前宏塊的編碼索引,從0開始計(jì)數(shù);N是當(dāng)前幀宏塊的個數(shù); Cprame為當(dāng)前幀已消耗的計(jì)算量,當(dāng)前幀剩余計(jì)算量為當(dāng)前目標(biāo)計(jì)算量TCprame與當(dāng)前幀已消 耗計(jì)算量Cfmm的差值。其中,所述的步驟(3)為先對宏塊幀間模式的估計(jì)順序進(jìn)行排列,然后按該順序?qū)Ω鲙g模式逐一進(jìn)行估計(jì)。由于在幀間模式估計(jì)之前進(jìn)行了模式估計(jì)順序的排列,使最有可能被選為最佳模 式的幀間模式排在優(yōu)先位置,并且模式估計(jì)是按該順序依次進(jìn)行,排在優(yōu)選位置上先進(jìn)行 估計(jì)的模式可獨(dú)占使用當(dāng)前宏塊剩余的計(jì)算量,因此,在有限的計(jì)算量下仍可獲得良好的 宏塊模式率失真性能。這種情況下,每個待估計(jì)模式的可獲得計(jì)算量ACmm^按式(VIII)計(jì) 算 其中,Ctlb代表當(dāng)前宏塊已消耗的計(jì)算量,在每個模式估計(jì)完成之后進(jìn)行更新。在 結(jié)束對上一順序的幀間模式估計(jì)之后,比較當(dāng)前宏塊的目標(biāo)計(jì)算量TCtlb與當(dāng)前宏塊已消耗 的計(jì)算量Cstb的差值,如差值小于或等于零,則結(jié)束估計(jì);否則,繼續(xù)進(jìn)行下一順序的幀間模 式估計(jì)。所述的對宏塊中各幀間模式的估計(jì)順序進(jìn)行排列,是根據(jù)各幀間模式被選為最佳 宏塊模式的比例統(tǒng)計(jì)、宏塊的計(jì)算復(fù)雜度權(quán)重值和劃分塊紋理強(qiáng)度三要素相結(jié)合來進(jìn)行。將宏塊幀間模式(Inter模式)分成三類第一類只包括Skip模式,第二類包 括 Interl6X16、Interl6X8 和 Inter8X16 模式,第三類包括 Inter8X8,Inter8X4, Inter4X8,Inter4X4和Inter8X8Frext模式。根據(jù)實(shí)驗(yàn)統(tǒng)計(jì),第一類模式在所有最佳模 式所占的比例最多,且不需要進(jìn)行幀間估計(jì),計(jì)算復(fù)雜度可以忽略;第二類模式占最佳模式 的比例較多,其幀間估計(jì)復(fù)雜度較大;第三類模式占最佳模式的比例很少,其幀間估計(jì)復(fù)雜 度很大。因此,將這三類模式采用固定順序的排列方式,其順序是第一類模式總是先進(jìn)行 估計(jì),然后是第二類模式,最后是第三類模式的估計(jì)。在第二類模式的估計(jì)過程中,采用動態(tài)模式排序的方法。根據(jù)宏塊的計(jì)算復(fù)雜
度權(quán)重值和劃分塊紋理強(qiáng)度(整體紋理強(qiáng)度、水平劃分紋理強(qiáng)度和豎直劃分紋理強(qiáng)度)
來排列Interl6X16、Interl6X8和Inter8X16的估計(jì)順序。如果當(dāng)前宏塊的計(jì)算復(fù)
雜度權(quán)重值MbWeight大于等于宏塊計(jì)算復(fù)雜度權(quán)重上限閾值MbWeightmx,則認(rèn)為當(dāng)前
宏塊處于高計(jì)算復(fù)雜度區(qū)域,否則就認(rèn)為當(dāng)前宏塊處于低計(jì)算復(fù)雜度區(qū)域。在低計(jì)算復(fù)
雜度區(qū)域,靜止的物體較多,宏塊更容易選擇較大劃分的模式,因此將InterieX 16較其
它兩模式先進(jìn)行估計(jì);而在高計(jì)算復(fù)雜度區(qū)域,運(yùn)動的物體較多,本發(fā)明方法根據(jù)劃分塊
紋理強(qiáng)度對Inter 16X 16與Interl6X8的估計(jì)順序、以及Inter 16X 16與Inter8X16
的估計(jì)順序各自進(jìn)行排列。16X16塊整體紋理強(qiáng)度為DEV16xi6,16X16塊水平劃分的
紋理強(qiáng)度(Blkl6X16DEV16X8)的計(jì)算如式(IX)所示,16 X 16塊豎直劃分的紋理強(qiáng)度
(Blkl6X16DEV16X8)的計(jì)算如式(X)所示 如果Blkl6 X 16DEV16X8 比 DEV16xi6 小很多,則 Interl6 X 8 較 Interl6 X 16 先估計(jì), 否則Inter 16 X 16較Inter 16 X 8先估計(jì)。同理對Interl6X16和Inter8X16的估計(jì)順序 進(jìn)行排列。另外,Interl6X8與Inter8X16之間的估計(jì)順序直接由Blkl6X16DEV16X8* Blkl6X16DEV8X16 的大小來決定Blkl6X 16DEV16X8 較 Blkl6X 16DEV8X16 小,貝丨」Interl6X8要比Inter8X16先進(jìn)行估計(jì),否則Inter8X16要比Interl6X8先進(jìn)行估計(jì)。根據(jù)實(shí)驗(yàn)統(tǒng)計(jì),在第三類模式的估計(jì)過程中,由于Inter8X8Frext較Inter8X8
及其子模式被選為最佳模式的次數(shù)要少,因此將其估計(jì)放到InterSXS及其子模式之后。
在InterSXS及其子模式中,Inter4X4選為最佳模式的比例最少,并且其估計(jì)消耗的
計(jì)算量最多,因此本發(fā)明方法將其放到Inter8X8、Inter8X4和Inter4X8之后進(jìn)行估
計(jì)。Inter8X8、Inter8X4 禾口 Inter4X8 排序同 Interl6X16、Interl6X8、Inter8X16
之間的模式估計(jì)順序排列類似,是根據(jù)8X8塊的整體紋理強(qiáng)度(DEV8x8),8X8塊的水平
劃分紋理強(qiáng)度(BlkSXSDEV8x4)和8X8塊的豎直劃分紋理強(qiáng)度(BlkSXSDEV4x8)來排序。
Blk8X8DEV8X4 和 Blk8X8DEV4X8 的計(jì)算分別如式(XI)和(XII)所示 即,對宏塊幀間模式的估計(jì)順序的排列為首先進(jìn)行第一類Skip模式的估計(jì);接著進(jìn)行第二類Interl6X16、Interl6X8 和Inter8X16模式的排列和估計(jì);然后進(jìn)行第三類模式中的Inter8X8、Inter8X4和 Inter4X8模式的排列和估計(jì);再進(jìn)行第三類模式中的Inter4X4模式的估計(jì);最后進(jìn)行第 三類模式中的InterSXSFrext模式的估計(jì)。每個幀間模式估計(jì)過程中,幀間模式的不同劃分塊的計(jì)算量分配采用剩余計(jì)算量 均分的方法,即將當(dāng)前模式剩余計(jì)算量均分給待估計(jì)的劃分塊,每個待估計(jì)劃分塊的可獲 得計(jì)算量ACeltjdt按式(XIII)計(jì)算 其中CM。de是當(dāng)前模式估計(jì)已消耗的計(jì)算量,Nelock是剩余待估計(jì)的劃分塊的個數(shù)。其中,所述的步驟(4)為按每個劃分塊的各參考幀的幀間估計(jì)順序?qū)Ω鲄⒖紟鹨贿M(jìn)行估計(jì),所述的參考 幀的幀間估計(jì)順序如下在每個劃分塊的幀間估計(jì)過程中,先進(jìn)行前向隊(duì)列的參考幀的幀間搜索,再進(jìn)行 后向隊(duì)列的參考幀的幀間搜索,最后進(jìn)行雙向預(yù)測的幀間搜索??紤]到劃分塊在選擇時(shí)域 方向的預(yù)測比視點(diǎn)方向的預(yù)測要多,因此在對前向或后向參考隊(duì)列中的參考幀進(jìn)行幀間估 計(jì)順序排列的時(shí)候,始終將時(shí)域方向的參考幀排在視點(diǎn)方向參考幀的前面進(jìn)行估計(jì)。這種 情況下,排在前面位置上先進(jìn)行估計(jì)的參考幀可獨(dú)占使用當(dāng)前劃分塊剩余的計(jì)算量,每個 待估計(jì)參考幀的可獲得計(jì)算量ACs_。h按式(XIV)計(jì)算
(XIV)其中CB1。。k是當(dāng)前劃分塊的幀間估計(jì)已消耗的計(jì)算量。在每個參考幀的幀間估計(jì)之 前,確定該次幀間估計(jì)的最大幀間搜索次數(shù),如果幀間搜索次數(shù)達(dá)到了最大幀間搜索次數(shù), 就中止該次幀間估計(jì)。所述的幀間估計(jì)的最大幀間搜索次數(shù)由待估計(jì)參考幀的可獲得計(jì)算 量ACsearch除以當(dāng)前劃分塊單次幀間搜索的計(jì)算量得到。
9
在上述步驟(1) (4)的每個處理過程結(jié)束之后,都要對已消耗計(jì)算量進(jìn)行統(tǒng)計(jì), 并對相關(guān)控制參數(shù)進(jìn)行更新,具體如下在劃分塊中每次參考幀的幀間估計(jì)結(jié)束之后,需要根據(jù)該次幀間估計(jì)的幀間搜索 次數(shù)和單次幀間搜索計(jì)算量來計(jì)算劃分塊在該次參考幀的幀間估計(jì)的計(jì)算量,然后用于更 新當(dāng)前劃分塊的幀間估計(jì)已消耗計(jì)算量CB1。。k ;在模式中每個劃分塊的幀間估計(jì)完成之后, 需要更新當(dāng)前模式已消耗的計(jì)算量cM。de;在宏塊中每個模式估計(jì)完成之后,需要更新當(dāng)前 宏塊已消耗計(jì)算量Cttb ;在一幀中每個宏塊編碼完成之后,需要更新當(dāng)前幀已消耗計(jì)算量 Cprame ;當(dāng)超幀中的一個幀編碼完成,需要更新當(dāng)前超幀已消耗計(jì)算量Csf ;當(dāng)GGOP中的一個 超幀編碼完成,需要更新當(dāng)前GGOP中已消耗計(jì)算量CeTOP。由于運(yùn)動場景的變化,導(dǎo)致分層B幀預(yù)測結(jié)構(gòu)中各時(shí)域?qū)又g的計(jì)算復(fù)雜度差異 也在變化。當(dāng)圖像靜止區(qū)域較多的時(shí)候,各層之間計(jì)算復(fù)雜度相互接近;而當(dāng)圖像的運(yùn)動區(qū) 域較多的時(shí)候,各層之間的計(jì)算復(fù)雜度差異就變大。因此為了提高編碼效率,需要對各時(shí)域 層的計(jì)算復(fù)雜度權(quán)重因子進(jìn)行動態(tài)調(diào)整。在當(dāng)前GGOP編碼結(jié)束后,本發(fā)明方法利用 GGOP中各時(shí)域?qū)拥钠骄鵖ADmvcici (AvgSAD^oo)來自適應(yīng)更新計(jì)算復(fù)雜度權(quán)重因子,每層的計(jì)算 復(fù)雜度權(quán)重因子更新如式(XV)所示 其中r是當(dāng)前GGOP的索引,1是分層B幀預(yù)測結(jié)構(gòu)時(shí)域?qū)訑?shù)索引,Lmax是最大層數(shù) 索引,η是時(shí)域權(quán)重因子,通常根據(jù)經(jīng)驗(yàn)來選取,設(shè)為0.1 0.9,本發(fā)明中優(yōu)選設(shè)為0.5。另外,在當(dāng)前GGOP編碼結(jié)束后,根據(jù)當(dāng)前GGOP目標(biāo)計(jì)算量和實(shí)際編碼消耗計(jì)算量 來更新GGOP計(jì)算量虛擬緩沖區(qū),如式(XVI)所示VBCggop (r+1) = TCggop (r)-Cggop (r)(XVI)。本發(fā)明的多視點(diǎn)視頻編碼分層B幀預(yù)測結(jié)構(gòu)的計(jì)算復(fù)雜度控制方法,以實(shí)現(xiàn)在實(shí) 際應(yīng)用中多視點(diǎn)視頻編碼計(jì)算復(fù)雜度的精確控制。首先對GG0P、超幀、幀和宏塊不同粒度的 編碼單元的計(jì)算量進(jìn)行分配,從而控制GG0P、超幀、幀和宏塊不同粒度的編碼單元的計(jì)算復(fù) 雜度;然后對宏塊幀間模式估計(jì)進(jìn)行計(jì)算量分配,從而控制宏塊幀間模式估計(jì)的計(jì)算復(fù)雜 度;接著對每個劃分塊的各參考幀的幀間估計(jì)的計(jì)算量進(jìn)行分配,從而控制對每個劃分塊 的幀間估計(jì)的計(jì)算復(fù)雜度。本發(fā)明中,主要對幀間預(yù)測的計(jì)算復(fù)雜度進(jìn)行控制。由于多視點(diǎn)視頻編碼在進(jìn)行 幀間預(yù)測的時(shí)候采用了同H. 264/AVC 一樣的可變塊幀間預(yù)測技術(shù),每個宏塊的幀間預(yù)測劃 分為16X16,16X8,8 X 16,8X8,8X8,8X4,4X8,4X4等7種不同粒度的模式進(jìn)行幀間估 計(jì),因此幀間預(yù)測由于需要對多個模式進(jìn)行幀間估計(jì),是整個編碼過程中計(jì)算量最為集中 部分。而根據(jù)對多視點(diǎn)視頻編碼參考代碼中各編碼模塊的運(yùn)行時(shí)間統(tǒng)計(jì),也發(fā)現(xiàn)幀間預(yù)測 占據(jù)了絕大部分的編碼時(shí)間。所以,對幀間預(yù)測的計(jì)算復(fù)雜度進(jìn)行控制,就可以控制多視點(diǎn) 視頻編碼的計(jì)算復(fù)雜度。本發(fā)明中,對超幀計(jì)算量進(jìn)行分配時(shí),既考慮超幀所在的時(shí)域?qū)訑?shù)的幀間預(yù)測計(jì) 算復(fù)雜度,又考慮到超幀中各幀的幀間預(yù)測參考幀個數(shù)。這是因?yàn)樵诙嘁朁c(diǎn)視頻編碼的分 層B幀預(yù)測結(jié)構(gòu)中,處在不同時(shí)域?qū)拥膸c其參考幀之間時(shí)域間隔不同,造成不同時(shí)域?qū)?的幀之間在幀間預(yù)測計(jì)算復(fù)雜度上的差異。如果超幀處于較小的時(shí)域?qū)樱捎诔瑤械母鲙c其參考幀之間的時(shí)域間隔較大,各幀的幀間預(yù)測計(jì)算復(fù)雜度較大,因此需要給超幀分 配更多的計(jì)算量。同時(shí),超幀的幀間預(yù)測計(jì)算復(fù)雜度與其中各幀的參考幀個數(shù)有直接關(guān)系, 參考幀個數(shù)越多,計(jì)算復(fù)雜度也越大。所以,本發(fā)明可以在控制超幀計(jì)算復(fù)雜度的同時(shí)保持 圖像質(zhì)量。本發(fā)明中,對宏塊計(jì)算量進(jìn)行分配時(shí),在每幀編碼開始前先對所有宏塊的計(jì)算復(fù) 雜度進(jìn)行預(yù)測,建立宏塊計(jì)算復(fù)雜度權(quán)重表。主要是考慮到在一幀圖像中,宏塊之間由于 運(yùn)動狀態(tài)和紋理特征的差異,它們的幀間預(yù)測計(jì)算復(fù)雜度存在較大差異(1)對于幀間靜 止塊,其最佳匹配塊都集中在零矢量附近,幀間估計(jì)快速算法可以較快的選定最佳匹配塊, 估計(jì)過程中消耗的計(jì)算量比較少;而對于幀間運(yùn)動塊,其運(yùn)動軌跡并不確定,幀間估計(jì)快速 算法需要通過增加幀間搜索次數(shù)來選取最佳匹配塊,估計(jì)過程中消耗的計(jì)算量比較多;(2) 紋理復(fù)雜的塊更容易選用較小的劃分,其模式估計(jì)的計(jì)算復(fù)雜度更高,且紋理復(fù)雜的塊較 紋理簡單塊更難獲得準(zhǔn)確的匹配塊,其幀間估計(jì)的復(fù)雜度也更高。因此,本發(fā)明方法根據(jù)宏 塊的運(yùn)動狀態(tài)和紋理特征建立的宏塊計(jì)算復(fù)雜度權(quán)重表,能夠準(zhǔn)確的給每個宏塊分配計(jì)算 量。本發(fā)明中,對幀間模式估計(jì)計(jì)算量進(jìn)行分配時(shí),先對各幀間模式的估計(jì)順序進(jìn)行 排列,然后逐一進(jìn)行估計(jì)。由于宏塊的最佳模式只有一個,因此在幀間模式估計(jì)順序排列的 時(shí)候,根據(jù)各幀間模式被選為最佳宏塊模式的比例統(tǒng)計(jì)、宏塊的計(jì)算復(fù)雜度權(quán)重值和劃分 塊紋理強(qiáng)度等三要素相結(jié)合來將被選為最佳模式可能性大的幀間模式排列在前。與現(xiàn)有技術(shù)相比,本發(fā)明具有以下的有益效果本發(fā)明的多視點(diǎn)視頻編碼分層B幀預(yù)測結(jié)構(gòu)的計(jì)算復(fù)雜度控制方法,對不同粒度 的編碼單元、模式估計(jì)和幀間估計(jì)進(jìn)行計(jì)算量的多層次自適應(yīng)分配和控制。該方法可以準(zhǔn) 確控制多視點(diǎn)視頻編碼的整體計(jì)算量,并減少計(jì)算量的波動,同時(shí)保持編碼率失真性能,適 用于多視點(diǎn)視頻編碼計(jì)算復(fù)雜度的控制。
圖1為本發(fā)明方法的基本流程圖;圖2為Interl6X16、Interl6X8和Inter8X 16模式的估計(jì)順序排列圖;圖3為Inter8 X 8、Inter8 X 4和Inter4 X 8模式的估計(jì)順序排列圖;圖4為宏塊幀間模式估計(jì)流程圖;圖5為序列③在不同目標(biāo)計(jì)算量下的GGOP計(jì)算量曲線圖。
具體實(shí)施例方式下面結(jié)合實(shí)施例和附圖來詳細(xì)說明本發(fā)明,但本發(fā)明并不僅限于此。如圖1所示,一種多視點(diǎn)視頻編碼分層B幀預(yù)測結(jié)構(gòu)的計(jì)算復(fù)雜度控制方法,包括 以下步驟(1)輸入多視點(diǎn)視頻數(shù)據(jù);(2)對不同粒度編碼單元進(jìn)行計(jì)算量分配;(3)對宏塊幀間模式估計(jì)進(jìn)行計(jì)算量分配;(4)對幀間估計(jì)進(jìn)行計(jì)算量分配;
所述的不同粒度編碼單元包括GG0P、超幀(Super Frame, SF)、幀和宏塊四個不同 粒度的編碼單元。其中,GG0P(GroUp of GOP)為GOP組,是指不同視點(diǎn)在同一時(shí)間段的所 有圖像組的組合,所述的圖像組(G0P,GroUp of Picture)是指某一視點(diǎn)在某一時(shí)間段的圖 像的組合;所述的超幀是指同一個時(shí)刻不同視點(diǎn)的所有幀的組合。步驟(2)具體為 (2. 1)對GGOP進(jìn)行計(jì)算量分配在每個GGOP開始編碼之前,計(jì)算GGOP的目標(biāo)計(jì)算量TCemp,如式(I)所示TCggop(r) = Nsf(r) X TargetAvgCSF+min (VBCggop (r), α X TargetAvgCsp) (I)式(I)中,r是當(dāng)前GGOP編碼索引,Nsf是當(dāng)前GGOP中的超幀個數(shù);TargetAvgCsp 是超幀的目標(biāo)平均計(jì)算量;VBCerop是GGOP計(jì)算量虛擬緩沖區(qū),為前一 GGOP實(shí)際計(jì)算量與其 目標(biāo)計(jì)算量之間的偏差。VBCggop的初始值為0,其在每個GGOP編碼結(jié)束后根據(jù)TCemp和GGOP 實(shí)際消耗計(jì)算量來更新。α為VBCemp的上限控制參數(shù),通常根據(jù)經(jīng)驗(yàn)來選取,設(shè)為0.1 4. 0之間,此處設(shè)為1.0 ; σ XTargetAvgCsp為VBCggop的上限值。由于分層B幀預(yù)測結(jié)構(gòu)將第一個超幀單獨(dú)算作一個GG0P,為第一個GG0P,并作為 其后的GGOP的參考基礎(chǔ),因此其圖像質(zhì)量對其后的GGOP有重要影響。為了使得第一個GGOP獲得較高的圖像質(zhì)量,在對GGOP進(jìn)行計(jì)算量分配時(shí),對第一 個GGOP不進(jìn)行計(jì)算量分配,而是將第一個GGOP與第二個GGOP合并作為一個GGOP來進(jìn)行 計(jì)算量分配,該合并的GGOP中的超幀包括第一個超幀(第一個GG0P)和第二個的GGOP中 的超幀,Nsf值為兩個GGOP中的超幀個數(shù)之和,即第二個的GGOP中的超幀個數(shù)加1。這樣, 可以有效提高后續(xù)的GGOP的編碼效果。(2. 2)對超幀進(jìn)行計(jì)算量分配根據(jù)超幀中各幀的幀間預(yù)測參考幀個數(shù)和所處的時(shí)域?qū)佑?jì)算復(fù)雜度權(quán)重因子計(jì) 算每個超幀的計(jì)算復(fù)雜度權(quán)重值Wsf,如式(II')所示W(wǎng)SF(m) = ffLayer X RefNSF(m)(I Γ )式(II')中,m是超幀編碼索引;代表超幀m所處時(shí)域?qū)拥挠?jì)算復(fù)雜度權(quán)重 因子,初始值根據(jù)經(jīng)驗(yàn)來設(shè)定,所處時(shí)域?qū)拥膶訑?shù)越低,WLayer初始值越大,WLayer的更新如式 (XV)所示;RefNspR表超幀m中各幀的幀間預(yù)測用到的參考幀個數(shù);再根據(jù)超幀計(jì)算復(fù)雜度權(quán)重值Wsf和當(dāng)前GGOP剩余計(jì)算量,分配當(dāng)前編碼超幀目 標(biāo)計(jì)算量TCSF(k),如式(II)所示TCsAk) = (tCggop-Cqgop)X(11)
/MeO1式(II)中,k是當(dāng)前超幀在當(dāng)前GGOP中的編碼索引,C·是當(dāng)前GGOP已消耗計(jì)算 量,當(dāng)前GGOP剩余計(jì)算量為當(dāng)前GGOP的目標(biāo)計(jì)算量TCemp與當(dāng)前GGOP已消耗計(jì)算量Cerop 的差值;O1是當(dāng)前GGOP中待編碼超幀的索引集合;(2. 3)對幀進(jìn)行計(jì)算量分配根據(jù)當(dāng)前超幀剩余計(jì)算量和待編碼幀的幀間預(yù)測參考幀個數(shù)分配當(dāng)前編碼幀目 標(biāo)計(jì)算量TCf (i),如式(III)所示
式(III)中,i是當(dāng)前幀在當(dāng)前超幀中的編碼索弓丨,Csf為當(dāng)前超幀已消耗計(jì)算量, 當(dāng)前超幀剩余計(jì)算量為當(dāng)前目標(biāo)計(jì)算量TCsf與當(dāng)前超幀已消耗計(jì)算量Csf的差值;RefNF(i) 是當(dāng)前幀的參考幀個數(shù),。2是當(dāng)前超幀中待編碼幀的索引集合,j是當(dāng)前超幀中待編碼幀 的索引;(2. 4)對宏塊進(jìn)行計(jì)算量分配(2. 4. 1)根據(jù)當(dāng)前宏塊與參考幀在零矢量處的差值絕對值和以及當(dāng)前宏塊的紋理 強(qiáng)度來計(jì)算當(dāng)前宏塊的預(yù)測計(jì)算復(fù)雜度MbComplexityPKED(n),如式(IV)所示
(IV)式(IV)中,η是宏塊索引,SADmtoci是當(dāng)前宏塊與前向第一個參考幀在零矢量處的 像素差值絕對值和,DEV16xl6是當(dāng)前宏塊的紋理強(qiáng)度,δ是紋理強(qiáng)度的歸一化系數(shù),通常根據(jù) 經(jīng)驗(yàn)來選取,設(shè)為4000 32000之間,此處設(shè)為16000。當(dāng)前宏塊的紋理強(qiáng)度DEV16xl6的計(jì)算可參考WXH塊的紋理強(qiáng)度DEVm計(jì)算,其中, W和H均取值16。WXH塊的紋理強(qiáng)度DEVm的計(jì)算如式(IV')所示
(IV') 式(IV')中Pixel (w,h)代表WXH塊中水平索引為w,豎直索引為h的像素值, AVGwxh代表WXH塊中的平均像素值。DEVwxh值較小,說明WXH塊中各像素之間差異較小, 紋理特征比較簡單;DEVwxh值較大,說明WXH塊中各像素之間的差異較大,其紋理特征較為 復(fù)雜。(2. 4. 2)在得到每個宏塊的預(yù)測計(jì)算復(fù)雜度之后,利用當(dāng)前幀所有宏塊的預(yù)測計(jì) 算復(fù)雜度MbComplexity—的平均值A(chǔ)vgMbComp lex it yPKED對每個宏塊的預(yù)測計(jì)算復(fù)雜度進(jìn) 行歸一化,得到每個宏塊的計(jì)算復(fù)雜度權(quán)重值MbWeight,如式(V)所示
(v)(2.4.3)由式(V)計(jì)算得到的計(jì)算復(fù)雜度權(quán)重值,并不能十分精確的反映每個宏 塊將會消耗的計(jì)算量,因此為了兼顧宏塊間計(jì)算量分配的均勻性,提高分配算法的魯棒性, 進(jìn)一步對每個宏塊的計(jì)算復(fù)雜度權(quán)重值MbWeight的上限進(jìn)行限制,如式(VI)所示Mb Weightclip (n) = min (Mbffeight (η), Mb Weightmx)(VI)式(VI)中,Mbffeightmx為宏塊計(jì)算復(fù)雜度權(quán)重上限閾值,通常根據(jù)經(jīng)驗(yàn)來選取, 設(shè)為1. 0 5. 0之間,此處設(shè)為2. 0。(2. 4. 4)根據(jù)當(dāng)前幀剩余計(jì)算量和剩余宏塊的MbWeightaip分配當(dāng)前宏塊的目標(biāo) 計(jì)算量TCtJq),如式(VII)所示 式(VII)中,q是當(dāng)前宏塊的編碼索引,從0開始計(jì)數(shù);N是當(dāng)前幀宏塊的個數(shù); Cprame為當(dāng)前幀已消耗的計(jì)算量,當(dāng)前幀剩余計(jì)算量為當(dāng)前目標(biāo)計(jì)算量TCprame與當(dāng)前幀已消 耗計(jì)算量Cfmm的差值。步驟(3)具體為先對宏塊幀間模式的估計(jì)順序進(jìn)行排列,然后按該順序?qū)Ω鲙?間模式逐一進(jìn)行估計(jì)。由于在幀間模式估計(jì)之前進(jìn)行了模式估計(jì)順序的排列,使最有可能被選為最佳模 式的幀間模式排在優(yōu)先位置,并且模式估計(jì)是按該順序依次進(jìn)行,排在優(yōu)選位置上先進(jìn)行 估計(jì)的模式可獨(dú)占使用當(dāng)前宏塊剩余的計(jì)算量,因此,在有限的計(jì)算量下仍可獲得良好的 宏塊模式率失真性能。這種情況下,每個待估計(jì)模式的可獲得計(jì)算量ACmm^按式(VIII)計(jì) 算ACMode = TC^-C^(VIII)其中,Ctlb代表當(dāng)前宏塊已消耗的計(jì)算量,在每個模式估計(jì)完成之后進(jìn)行更新。在 結(jié)束對上一順序的幀間模式估計(jì)之后,比較當(dāng)前宏塊的目標(biāo)計(jì)算量TCtlb與當(dāng)前宏塊已消耗 的計(jì)算量Cstb的差值,如差值小于或等于零,則結(jié)束估計(jì);否則,繼續(xù)進(jìn)行下一順序的幀間模 式估計(jì)。所述的對宏塊中各幀間模式的估計(jì)順序進(jìn)行排列,是根據(jù)各幀間模式被選為最佳 宏塊模式的比例統(tǒng)計(jì)、宏塊的計(jì)算復(fù)雜度權(quán)重值和劃分塊紋理強(qiáng)度等三要素相結(jié)合來進(jìn)行 的。將宏塊幀間模式(Inter模式)分成三類第一類只包括Skip模式,第二類包 括 Interl6X16、Interl6X8 和 Inter8X16 模式,第三類包括 Inter8X8,Inter8X4, Inter4X8,Inter4X4和Inter8X8Frext模式。根據(jù)實(shí)驗(yàn)統(tǒng)計(jì),第一類模式在所有最佳模 式所占的比例最多,且不需要進(jìn)行幀間估計(jì),計(jì)算復(fù)雜度可以忽略;第二類模式占最佳模式 的比例較多,其幀間估計(jì)復(fù)雜度較大;第三類模式占最佳模式的比例很少,其幀間估計(jì)復(fù)雜 度很大。因此,將這三類模式采用固定順序的排列方式,其順序是第一類模式總是先進(jìn)行 估計(jì),然后是第二類模式,最后是第三類模式的估計(jì)。在第二類模式的估計(jì)過程中,采用動態(tài)模式排序的方法。根據(jù)宏塊的計(jì)算復(fù)雜度 權(quán)重值和劃分塊紋理強(qiáng)度(整體紋理強(qiáng)度、水平劃分紋理強(qiáng)度和豎直劃分紋理強(qiáng)度)來排 列Interl6X16、Interl6X8和InterSX 16的估計(jì)順序。如果當(dāng)前宏塊的計(jì)算復(fù)雜度權(quán) 重值MbWeight大于等于宏塊計(jì)算復(fù)雜度權(quán)重上限閾值MbWeightMX,則認(rèn)為當(dāng)前宏塊處于 高計(jì)算復(fù)雜度區(qū)域,否則就認(rèn)為當(dāng)前宏塊處于低計(jì)算復(fù)雜度區(qū)域。在低計(jì)算復(fù)雜度區(qū)域, 靜止的物體較多,宏塊更容易選擇較大劃分的模式,因此將InterieX 16較其它兩模式先 進(jìn)行估計(jì);而在高計(jì)算復(fù)雜度區(qū)域,運(yùn)動的物體較多,本發(fā)明方法根據(jù)劃分塊紋理強(qiáng)度對 Interl6 X 16與Interl6 X 8的估計(jì)順序、以及Interl6 X 16與Inter8 X 16的估計(jì)順序各自 進(jìn)行排列。另外,Inter 16X8與InterSX 16的估計(jì)順序始終根據(jù)水平劃分紋理強(qiáng)度和豎 直劃分紋理強(qiáng)度的大小進(jìn)行排列。每個宏塊只有處在高計(jì)算復(fù)雜度區(qū)域,同時(shí)其16X16塊整體紋理強(qiáng)度
14(DEV16xi6)與水平劃分紋理強(qiáng)度或豎直劃分紋理強(qiáng)度存在顯著差異的情況下,則其
較小劃分模式(Inter 16 X 8或Inter8 X 16)先進(jìn)行預(yù)測。16X16塊水平劃分的紋
理強(qiáng)度(Blkl6X 16DEV16X8)的計(jì)算如式(IX)所示,16 X 16塊豎直劃分的紋理強(qiáng)度
(Blkl6X16DEV16X8)的計(jì)算如式(X)所示 如果DEV16X16、Blkl6X 16DEV16X8 和 Blkl6 X 16DEV8X16 三者值相近,則 16 X 16 塊中 平均像素值與16X8塊或8X16塊中的平均像素值相近,它們的紋理強(qiáng)度一致。在這種情 況下,認(rèn)為整個16 X 16塊屬于同質(zhì)物體,其運(yùn)動特性一致,因此Interl6 X 16較Interl6 X 8 和InterSX 16優(yōu)先進(jìn)行估計(jì);如果Blkl6X 16DEV16X8比DEV16xi6小很多,則說明16X16塊 在豎直方向上有明顯差異,使DEV16xi6較大,而水平方向基本同質(zhì),Blkl6X 16DEV16X8較 小,因此在這情況下,Interl6X8較Interl6X16先估計(jì);同理,如果Blkl6X16DEV8X16比 DEV16xi6 小很多,則 Inter8X 16 較 Interl6X 16 先估計(jì)。Interl6X8 與 Inter8X16 之間的估計(jì)順序直接由 Blkl6X 16DEV16X8 和 Blkl6X 16DEV8X16的大小來決定:Blkl6X16DEV16X8較小,則說明16X8劃分(水平劃分) 比8X 16劃分(豎直劃分)更適合于紋理特征,Interl6X8要比Inter8X 16先進(jìn)行估計(jì); Blkl6X 16DEV8X16較小,則說明8X16劃分比16X8劃分更適合于紋理特征,InterSX 16要 比Interl6X8先進(jìn)行估計(jì)。Interl6X16、Interl6X8和Inter8X 16之間的估計(jì)順序排 列如圖2(a)、(b)和(c),其中μ值通常根據(jù)經(jīng)驗(yàn)來選取,設(shè)為0.2 0.8,此處設(shè)為0.4。根據(jù)實(shí)驗(yàn)統(tǒng)計(jì),在第三類模式的估計(jì)過程中,由于Inter8X8FreXt較Inter8X8
及其子模式被選為最佳模式的次數(shù)要少,因此將其估計(jì)放到InterSXS及其子模式之后。
在InterS X 8及其子模式中,Inter4 X 4選為最佳模式的比例最少,并且其估計(jì)消耗的計(jì)算
量最多,因此本發(fā)明方法將其放到Inter8 X 8、Inter8 X 4和Inter4X 8之后進(jìn)行估計(jì)。8 X 8
塊水平劃分和豎直劃分的紋理強(qiáng)度計(jì)算分別如式(XI)和(XII)所示 同Interl6X16、Interl6X8、InterSX 16之間的模式估計(jì)順序排列類似, Inter8 X 8、Inter8 X 4 和 Inter4X 8 也是根據(jù) DEV8X8、Blk8 X 8DEV8X4、Blk8 X 8DEV4X8 這三 者關(guān)系進(jìn)行排序,具體如圖3(a)、(b)和(c)。綜上所述,所有宏塊幀間模式的估計(jì)流程如圖4所示首先進(jìn)行第一類Skip模式 的估計(jì);接著進(jìn)行第二類Interl6X16、Interl6X8和Inter8X 16模式的排列和估計(jì);然 后進(jìn)行第三類模式中的InterSX8、Inter8X4和Inter4X8模式的排列和估計(jì);再進(jìn)行第 三類模式中的Inter4 X 4模式的估計(jì);最后進(jìn)行第三類模式中的InterS X SFrext模式的估 計(jì)。
每個幀間模式估計(jì)過程中,幀間模式的不同劃分塊的計(jì)算量分配采用剩余計(jì)算量 均分的方法,即將當(dāng)前模式剩余計(jì)算量均分給待估計(jì)的劃分塊,每個待估計(jì)劃分塊的可獲 得計(jì)算量ACeltjdt按式(XIII)計(jì)算其中CM。de是當(dāng)前模式估計(jì)已消耗的計(jì)算量,Nelock是剩余待估計(jì)的劃分塊的個數(shù)。步驟⑷具體為按每個劃分塊的各參考幀的幀間估計(jì)順序?qū)Ω鲄⒖紟鹨贿M(jìn)行估計(jì),所述的參考 幀的幀間估計(jì)順序如下在每個劃分塊的幀間估計(jì)過程中,先進(jìn)行前向隊(duì)列的參考幀的幀間搜索,再進(jìn)行 后向隊(duì)列的參考幀的幀間搜索,最后進(jìn)行雙向預(yù)測的幀間搜索??紤]到劃分塊在選擇時(shí)域 方向的預(yù)測比視點(diǎn)方向的預(yù)測要多,因此在對前向或后向參考隊(duì)列中的參考幀進(jìn)行幀間估 計(jì)順序排列的時(shí)候,始終將時(shí)域方向的參考幀排在視點(diǎn)方向參考幀的前面進(jìn)行估計(jì)。采取所述的參考幀的幀間估計(jì)順序,使最有可能被選為最佳參考幀的候選參考幀 排在優(yōu)先位置,并且?guī)g估計(jì)是按該順序依次進(jìn)行,排在優(yōu)選位置上先進(jìn)行估計(jì)的參考幀 可獨(dú)占使用當(dāng)前劃分塊剩余的計(jì)算量,因此,在有限的計(jì)算量下仍可獲得良好的幀間估計(jì) 率失真性能。每個待估計(jì)參考幀的可獲得計(jì)算量ACs_。h按式(XIV)計(jì)算ACsearch = ACBlock-CBlock(XIV)其中CB1。。k是當(dāng)前劃分塊的幀間估計(jì)已消耗的計(jì)算量。在每個參考幀的幀間估計(jì)之 前,確定該次幀間估計(jì)的最大幀間搜索次數(shù),如果幀間搜索次數(shù)達(dá)到了最大幀間搜索次數(shù), 就中止該次幀間估計(jì)。所述的幀間估計(jì)的最大幀間搜索次數(shù)由待估計(jì)參考幀的可獲得計(jì)算 量ACs_。h除以當(dāng)前劃分塊單次幀間搜索的計(jì)算量得到。在上述步驟(1) (4)的每個處理過程結(jié)束之后,都要對已消耗計(jì)算量進(jìn)行統(tǒng)計(jì), 并對相關(guān)控制參數(shù)進(jìn)行更新,具體如下在劃分塊中每次參考幀的幀間估計(jì)結(jié)束之后,需要根據(jù)該次幀間估計(jì)的幀間搜索 次數(shù)和單次幀間搜索計(jì)算量來計(jì)算劃分塊在該次參考幀的幀間估計(jì)的計(jì)算量,然后用于更 新當(dāng)前劃分塊的幀間估計(jì)已消耗計(jì)算量cB1。。k ;在模式中每個劃分塊的幀間估計(jì)完成之后, 需要更新當(dāng)前模式已消耗的計(jì)算量cM。de;在宏塊中每個模式估計(jì)完成之后,需要更新當(dāng)前 宏塊已消耗計(jì)算量Cttb ;在一幀中每個宏塊編碼完成之后,需要更新當(dāng)前幀已消耗計(jì)算量 Cprame當(dāng)超幀中的一個幀編碼完成,需要更新當(dāng)前超幀已消耗計(jì)算量Csf ;當(dāng)GGOP中的一個 超幀編碼完成,需要更新當(dāng)前GGOP中已消耗計(jì)算量CeTOP。由于運(yùn)動場景的變化,導(dǎo)致分層B幀預(yù)測結(jié)構(gòu)中各時(shí)域?qū)又g的計(jì)算復(fù)雜度差異 也在變化。當(dāng)圖像靜止區(qū)域較多的時(shí)候,各層之間計(jì)算復(fù)雜度相互接近;而當(dāng)圖像的運(yùn)動區(qū) 域較多的時(shí)候,各層之間的計(jì)算復(fù)雜度差異就變大。因此為了提高編碼效率,需要對各時(shí)域 層的計(jì)算復(fù)雜度權(quán)重因子進(jìn)行動態(tài)調(diào)整。在當(dāng)前GGOP編碼結(jié)束后,本發(fā)明方法利用 GGOP中各時(shí)域?qū)拥钠骄鵖ADmvcici (AvgSAD^oo)來自適應(yīng)更新計(jì)算復(fù)雜度權(quán)重因子,每層的計(jì)算 復(fù)雜度權(quán)重因子更新如式(XV)所示 其中,r是當(dāng)前GGOP的索引,1是分層B幀預(yù)測結(jié)構(gòu)時(shí)域?qū)訑?shù)索引,Lmax是最大層 數(shù)索引,η是時(shí)域權(quán)重因子,通常根據(jù)經(jīng)驗(yàn)來選取,設(shè)為0.1 0.9,此處設(shè)為0.5。另外,在當(dāng)前GGOP編碼結(jié)束后,根據(jù)當(dāng)前GGOP目標(biāo)計(jì)算量和實(shí)際編碼消耗計(jì)算量 來更新GGOP計(jì)算量虛擬緩沖區(qū),如式(XVI)所示VBCggop (r+1) = TCggop (r)-Cggop (r)(XVI)性能評估實(shí)驗(yàn)實(shí)驗(yàn)在多視點(diǎn)視頻編碼參考代碼JMVC4. 0上進(jìn)行,整體測試配置以多視點(diǎn)視頻 編碼通用測試條件為基礎(chǔ)(Su Y P, Vetro A, Smolic A. Common test conditions for multiview video coding. Doc. U211, JVT 21st meeting, Hangzhou,2006)。JMVC 的搜索模 式選用了其快速搜索算法,搜索范圍設(shè)置為48,基礎(chǔ)量化參數(shù)QP選用22、27,32和37。實(shí) 驗(yàn)選用了四個典型的多視點(diǎn)視頻測試序列序列①(MERL的Exit序列)、序列②(MERL的 Ballroom序列),序列③(KDDI的Racel序列)和序列④(Tanimoto實(shí)驗(yàn)室的Rena序列)。 實(shí)驗(yàn)選取這些序列的前三個視點(diǎn),采用了 HHI提出的多視點(diǎn)視頻編碼分層B幀預(yù)測結(jié)構(gòu),其 時(shí)域前向參考幀個數(shù)、時(shí)域后向參考幀個數(shù)、視點(diǎn)前向參考幀個數(shù)和視點(diǎn)后向參考幀個數(shù) 為1。式(XV)中,分層B幀預(yù)測結(jié)構(gòu)的時(shí)域第O層到第4層的計(jì)算復(fù)雜度權(quán)重因子初始值 分別設(shè)為4. 0,1. 5,1. 3,1. 1 和 1. O。實(shí)驗(yàn)采用不同粒度劃分塊幀間搜索的權(quán)重計(jì)算量來衡量編碼計(jì)算復(fù)雜度,實(shí)現(xiàn)編 碼計(jì)算復(fù)雜度的客觀量化。不同粒度劃分塊單次幀間搜索的權(quán)重計(jì)算量如表1所示。在表 1中,實(shí)驗(yàn)將16 X 16劃分塊進(jìn)行單次幀間搜索的權(quán)重計(jì)算量設(shè)為100,其它劃分塊的權(quán)重計(jì) 算量是通過其與16X 16劃分塊在單次幀間搜索的處理時(shí)間上的比例來計(jì)算。表4. 1不同粒度劃分塊單次幀間搜索的權(quán)重計(jì)算量
劃分塊類型權(quán)重計(jì)算量
16X16100
16X851
8X1656
8X829
8X416
4X818
4X410
實(shí)驗(yàn)開始的時(shí)候,先在不做計(jì)算復(fù)雜度控制的情況下,統(tǒng)計(jì)各序列在不同QP設(shè)置
下的計(jì)算量,并將這些計(jì)算量作為相應(yīng)的初始計(jì)算量;然后啟動計(jì)算復(fù)雜度控制算法,選用 這些初始計(jì)算量的10 %、30 %、50 %、70 %和90 %作為目標(biāo)計(jì)算量來對計(jì)算復(fù)雜度控制算 法進(jìn)行性能測試。 圖5所示為基礎(chǔ)量化參數(shù)QP為32設(shè)置下,序列③在不同的目標(biāo)計(jì)算量設(shè)置下 GGOP計(jì)算量曲線以及不做計(jì)算復(fù)雜度控制的GGOP初始計(jì)算量曲線,曲線1 6分別對應(yīng)不 做計(jì)算復(fù)雜度控制的GGOP初始計(jì)算量曲線、以初始計(jì)算量的10 %、30 %、50 %、70 %和90 % 作為目標(biāo)計(jì)算量的GGOP計(jì)算量曲線。從圖5中可以看出,在使用了本發(fā)明方法之后,GGOP 計(jì)算量曲線在不同的目標(biāo)計(jì)算量下的都表現(xiàn)平穩(wěn),不會隨著圖像運(yùn)動特征變化而波動。從 圖5中還可以看到,GGOP初始計(jì)算量曲線有較大波動,尤其是前面10個GGOP的初始計(jì)算量波動較大,而后面幾個GGOP開始恢復(fù)平穩(wěn)。這是由于編碼幀間預(yù)測的計(jì)算量隨著視頻運(yùn) 動特征的變化而有所起伏序列③的前半段由于攝像頭的快速轉(zhuǎn)動和短暫停止而讓運(yùn)動特 征存在較大變化,而其后半段的攝像頭都處于靜止,圖像內(nèi)容變化較小,因此前后GGOP的 初始計(jì)算量變化較大。從上面的比較可以看出,在做過計(jì)算復(fù)雜度控制算法之后,GGOP計(jì) 算量的波動得到了有效的減小。為了在不同的基礎(chǔ)量化參數(shù)QP設(shè)置條件下,對本發(fā)明方法在不同目標(biāo)計(jì)算量下 的率失真性能進(jìn)行評估,實(shí)驗(yàn)將其以初始計(jì)算量下的率失真性能為參考,統(tǒng)計(jì)信噪比變 化(BDPSNR,即 Bjontegaard delta PSNR)和碼率變化(BDBR,即 Bjontegaard delta bit rate)。其中BDPSNR為負(fù)數(shù)或BDBR為正數(shù)代表算法率失真性能的降低。另外,為了評估本發(fā) 明方法對整體計(jì)算量的控制準(zhǔn)確度,實(shí)驗(yàn)統(tǒng)計(jì)實(shí)際消耗計(jì)算量(RC JPReal Complexity), 并用與初始計(jì)算量的百分比來度量。與初始計(jì)算量下的編碼性能相比,本發(fā)明方法在不同目標(biāo)計(jì)算量下的編碼性能如 表2 表6所示。從這些表中可以看出,在10%的目標(biāo)計(jì)算量下,本發(fā)明方法的率失真性能 降低最大,但平均也只有0. 19dB的BDPSNR下降,以及5. 3%的BDBR增力口 ;而在30%,50%, 70%和90%的目標(biāo)計(jì)算量設(shè)置下,本發(fā)明方法的率失真性能降低很小,其中在30%目標(biāo)計(jì) 算量下平均有0. 03dB的BDPSNR下降和0. 8%的BDBR的增加,在50%目標(biāo)計(jì)算量下平均有 0. OldB的BDPSNR下降和0. 2%的BDBR的增加,在70%和90%目標(biāo)運(yùn)算下的率失真性能幾 乎保持不變。另外,在整體計(jì)算量控制方面,不同條件下的實(shí)際計(jì)算量都小于目標(biāo)計(jì)算量, 并且兩者非常的接近,在10%、30%、50%、70%目標(biāo)計(jì)算量設(shè)置下,得到的實(shí)際計(jì)算量同目 標(biāo)計(jì)算量相同。在90%目標(biāo)計(jì)算量設(shè)置下,得到的實(shí)際計(jì)算量比目標(biāo)計(jì)算量要稍小,但差異 也僅在2%以內(nèi)。從上面的實(shí)驗(yàn)數(shù)據(jù)可以看出,本發(fā)明方法能夠準(zhǔn)確控制整體計(jì)算量,減少計(jì)算量 的波動,同時(shí)保持了良好的編碼率失真性能。表2本發(fā)明方法在10%目標(biāo)計(jì)算量設(shè)置下的編碼性能 表3本發(fā)明方法在30%目標(biāo)計(jì)算量設(shè)置下的編碼性能 表4本發(fā)明方法在50%目標(biāo)計(jì)算量設(shè)置下的編碼性能 表5本發(fā)明方法在70%目標(biāo)計(jì)算量設(shè)置下的編碼性能 表6本發(fā)明方法在90%目標(biāo)計(jì)算量設(shè)置下的編碼性能
19
權(quán)利要求
一種多視點(diǎn)視頻編碼分層B幀預(yù)測結(jié)構(gòu)的計(jì)算復(fù)雜度控制方法,其特征在于,包括以下步驟(1)輸入多視點(diǎn)視頻數(shù)據(jù);(2)對不同粒度編碼單元進(jìn)行計(jì)算量分配;(3)對宏塊幀間模式估計(jì)進(jìn)行計(jì)算量分配;(4)對幀間估計(jì)進(jìn)行計(jì)算量分配;所述的不同粒度編碼單元包括GGOP、超幀、幀和宏塊四個不同粒度的編碼單元。
2.如權(quán)利要求1所述的多視點(diǎn)視頻編碼分層B幀預(yù)測結(jié)構(gòu)的計(jì)算復(fù)雜度控制方法,其 特征在于,所述的步驟(2)中對不同粒度編碼單元進(jìn)行計(jì)算量分配的過程如下(2. 1)對GGOP進(jìn)行計(jì)算量分配在每個GGOP開始編碼之前,計(jì)算GGOP的目標(biāo)計(jì)算量TCerop,如式(I)所示 TCggop (r) = Nsf (r) X TargetAvgCSF+min (VBCggop (r), α X TargetAvgCsp) (I) 式(I)中,r是當(dāng)前GGOP編碼索引,Nsf是當(dāng)前GGOP中的超幀個數(shù); 超幀的目標(biāo)平均計(jì)算量;VBCerop是GGOP計(jì)算量虛擬緩沖區(qū);α為VBCerop的上限控制參數(shù), α XTargetAvgCsp 為 VBCggqp 的上限值; (2. 2)對超幀進(jìn)行計(jì)算量分配根據(jù)超幀中各幀的幀間預(yù)測參考幀個數(shù)和超幀所處的時(shí)域?qū)拥挠?jì)算復(fù)雜度權(quán)重因子 計(jì)算每個超幀的計(jì)算復(fù)雜度權(quán)重值Wsf,如式(II')所示 Wsf (m) =WLayer X RefNSF(m)(II')式(ΙΓ )中m是超幀編碼索引;表超幀m所處時(shí)域?qū)拥挠?jì)算復(fù)雜度權(quán)重因子; RefNsp代表超幀m中各幀的幀間預(yù)測用到的參考幀個數(shù);再根據(jù)超幀計(jì)算復(fù)雜度權(quán)重值Wsf和當(dāng)前GGOP剩余計(jì)算量,分配當(dāng)前編碼超幀目標(biāo)計(jì) 算量TCsf (k),如式(II)所示 其中,k是當(dāng)前超幀在GGOP中的編碼索引,是當(dāng)前GGOP已消耗計(jì)算量,當(dāng)前GGOP剩 余計(jì)算量為當(dāng)前目標(biāo)計(jì)算量TCemp與當(dāng)前GGOP已消耗計(jì)算量Cemp的差值A(chǔ)1是當(dāng)前GGOP 中待編碼超幀的索引集合;(2. 3)對幀進(jìn)行計(jì)算量分配根據(jù)當(dāng)前超幀剩余計(jì)算量和待編碼幀的幀間預(yù)測參考幀個數(shù)分配當(dāng)前編碼幀目標(biāo)計(jì) 算量TCF(i),如式(III)所示 其中,i是當(dāng)前幀在當(dāng)前超幀中的編碼索引,Csf為當(dāng)前超幀已消耗計(jì)算量,當(dāng)前超幀剩 余計(jì)算量為當(dāng)前目標(biāo)計(jì)算量TCsf與當(dāng)前超幀已消耗計(jì)算量Csf的差值;RefNF(i)是當(dāng)前幀 的參考幀個數(shù),Φ2是當(dāng)前超幀中待編碼幀的索引集合,j是當(dāng)前超幀中待編碼幀的索引; (2. 4)對宏塊進(jìn)行計(jì)算量分配(2. 4. 1)根據(jù)當(dāng)前宏塊與參考幀在零矢量處的差值絕對值和以及當(dāng)前宏塊的紋理強(qiáng)度 來計(jì)算當(dāng)前宏塊的預(yù)測計(jì)算復(fù)雜度MbComplexityPKED(n),如式(IV)所示 (IV)式(IV)中,η是宏塊索引,SADmvcici是當(dāng)前宏塊與前向第一個參考幀在零矢量處的像素 差值絕對值和,DEV16xl6是當(dāng)前宏塊的紋理強(qiáng)度,δ是紋理強(qiáng)度的歸一化系數(shù);(2. 4. 2)在得到每個宏塊的預(yù)測計(jì)算復(fù)雜度之后,利用當(dāng)前幀所有宏塊的預(yù)測計(jì)算復(fù) 雜度的平均值A(chǔ)VgMbComplexityPKED對每個宏塊的預(yù)測計(jì)算復(fù)雜度進(jìn)行歸一化,得到每個宏 塊的計(jì)算復(fù)雜度權(quán)重值MbWeight,如式(V)所示 (2. 4. 3)對每個宏塊的計(jì)算復(fù)雜度權(quán)重值MbWeight的上限進(jìn)行限制,如式(VI)所示 (η),Mb ffeightMX)(VI)式(VI)中,MbWeightmx為宏塊計(jì)算復(fù)雜度權(quán)重上限閾值;(2. 4. 4)根據(jù)當(dāng)前幀剩余計(jì)算量和剩余宏塊的MbWeightaip分配當(dāng)前宏塊的目標(biāo)計(jì)算 量TCtJq),如式(VII)所示 式(VII)中,q是當(dāng)前宏塊的編碼索引,從0開始計(jì)數(shù);N是當(dāng)前幀宏塊的個數(shù);Cfmk為 當(dāng)前幀已消耗的計(jì)算量,當(dāng)前幀剩余計(jì)算量為當(dāng)前目標(biāo)計(jì)算量TCprame與當(dāng)前幀已消耗計(jì)算 量CfmmW差值。
3.如權(quán)利要求1所述的多視點(diǎn)視頻編碼分層B幀預(yù)測結(jié)構(gòu)的計(jì)算復(fù)雜度控制方法,其 特征在于,所述的步驟(3)中對宏塊幀間模式估計(jì)進(jìn)行計(jì)算量分配的過程如下先對宏塊 幀間模式的估計(jì)順序進(jìn)行排列,然后按該順序?qū)Ω鲙g模式逐一進(jìn)行估計(jì)。
4.如權(quán)利要求3所述的多視點(diǎn)視頻編碼分層B幀預(yù)測結(jié)構(gòu)的計(jì)算復(fù)雜度控制方法,其 特征在于,所述的對宏塊幀間模式的估計(jì)順序的排列,是根據(jù)各幀間模式被選為最佳宏塊 模式的比例統(tǒng)計(jì)、宏塊的計(jì)算復(fù)雜度權(quán)重值和劃分塊紋理強(qiáng)度三要素相結(jié)合來進(jìn)行的。
5.如權(quán)利要求3或4所述的多視點(diǎn)視頻編碼分層B幀預(yù)測結(jié)構(gòu)的計(jì)算復(fù)雜度控制方 法,其特征在于,所述的對宏塊幀間模式的估計(jì)順序的排列為首先進(jìn)行第一類Skip模式的估計(jì);接著進(jìn)行第二類InterieX 16、InterlBX8和 Inter8 X 16模式的排列和估計(jì);然后進(jìn)行第三類模式中的Inter8 X 8、Inter8 X 4和 Inter4X8模式的排列和估計(jì);再進(jìn)行第三類模式中的Inter4X4模式的估計(jì);最后進(jìn)行第 三類模式中的InterSXSFrext模式的估計(jì)。
6.如權(quán)利要求1所述的多視點(diǎn)視頻編碼分層B幀預(yù)測結(jié)構(gòu)的計(jì)算復(fù)雜度控制方法,其 特征在于,所述的步驟(4)中對幀間估計(jì)進(jìn)行計(jì)算量分配的過程為先對每個劃分塊的各 參考幀的幀間估計(jì)順序進(jìn)行排列,然后按順序?qū)Ω鲄⒖紟鹨贿M(jìn)行估計(jì);所述的參考幀的 幀間估計(jì)順序如下在每個劃分塊的幀間估計(jì)過程中,先搜索前向隊(duì)列的參考幀,再搜索后向隊(duì)列的參考 幀,最后根據(jù)前向搜索的結(jié)果和后向搜索的結(jié)果進(jìn)行雙向預(yù)測的搜索,其中,在對前向或后 向參考隊(duì)列中的參考幀進(jìn)行幀間估計(jì)順序排列的時(shí)候,始終將時(shí)域方向的參考幀排在視點(diǎn) 間參考幀的前面進(jìn)行估計(jì)。
7.如權(quán)利要求2所述的多視點(diǎn)視頻編碼分層B幀預(yù)測結(jié)構(gòu)的計(jì)算復(fù)雜度控制方法,其 特征在于,所述的步驟(2)中對不同粒度編碼單元進(jìn)行計(jì)算量分配的過程還包括(2. 5)對各時(shí)域?qū)佑?jì)算復(fù)雜度權(quán)重因子的更新,其過程如下在當(dāng)前GGOP編碼結(jié)束后,利用各時(shí)域?qū)拥钠骄鵖ADmvcici值,自適應(yīng)更新各時(shí)域?qū)拥挠?jì)算 復(fù)雜度權(quán)重因子,如式(XV)所示 式(XV)中,r是當(dāng)前GGOP的索引,1是分層B幀預(yù)測結(jié)構(gòu)時(shí)域?qū)訑?shù)索引,Lmax最大時(shí)域 層數(shù)索引,Π是時(shí)域權(quán)重因子。
全文摘要
本發(fā)明公開了一種多視點(diǎn)視頻編碼分層B幀預(yù)測結(jié)構(gòu)的計(jì)算復(fù)雜度控制方法,包括以下步驟(1)輸入多視點(diǎn)視頻數(shù)據(jù);(2)對不同粒度編碼單元進(jìn)行計(jì)算量分配;(3)對宏塊幀間模式估計(jì)進(jìn)行計(jì)算量分配;(4)對幀間估計(jì)進(jìn)行計(jì)算量分配。本發(fā)明方法適用于多視點(diǎn)視頻編碼分層B幀預(yù)測結(jié)構(gòu)的計(jì)算復(fù)雜度控制,可以準(zhǔn)確控制多視點(diǎn)編碼的計(jì)算整體計(jì)算量,減少計(jì)算量的波動,同時(shí)保持編碼率失真性能。
文檔編號H04N7/26GK101917618SQ20101026207
公開日2010年12月15日 申請日期2010年8月20日 優(yōu)先權(quán)日2010年8月20日
發(fā)明者徐巍煒, 朱威, 陳耀武 申請人:浙江大學(xué)