本發(fā)明屬于視頻編解碼技術(shù)領(lǐng)域,具體涉及一種基于貝葉斯準(zhǔn)則的3D視頻深度圖幀內(nèi)預(yù)測(cè)模式選擇方法。
背景技術(shù):
新興的多視點(diǎn)加深度圖的視頻格式是下一代3D視頻系統(tǒng)的最主要的格式。它采用少量視點(diǎn)的紋理圖信息和附加的相應(yīng)視點(diǎn)的深度圖信息來表示一個(gè)3D視頻場(chǎng)景,而更多的視點(diǎn)信息可由基于深度圖像的3D渲染技術(shù)來合成出來。由于在當(dāng)前的3D視頻系統(tǒng)中,深度圖對(duì)于提供視差信息并引導(dǎo)合成過程起著關(guān)鍵性的作用,所以編碼深度圖應(yīng)當(dāng)極為嚴(yán)謹(jǐn)。因此,在3D-HEVC中為深度幀內(nèi)編碼產(chǎn)生了一些新的技術(shù),如單深度模式(SDM)、深度建模模式(DMM)、分段直流編碼(SDC)和視圖合成優(yōu)化(VSO)。而這些工具與HEVC幀內(nèi)編碼模塊一起協(xié)作編碼時(shí),深度圖幀內(nèi)編碼的的復(fù)雜度急劇增加?;谶@個(gè)現(xiàn)狀,一種有效的深度圖幀內(nèi)預(yù)測(cè)模式的選擇算法變得尤為重要。
文獻(xiàn)“Park,C.S.:‘Edge-based intra mode selection for depth-map coding in 3D-HEVC’,IEEE Trans.on Imag.Proc.,2015,24(1),pp.155-162”提出了一種基于邊緣的DMM跳過算法,有效地去除了傳統(tǒng)HEVC幀內(nèi)預(yù)測(cè)模式和DMMs之間的冗余。而在文獻(xiàn)“Miok,K.,Nam,L.,and Li,S.:‘Fast single depth intra mode decision for depth map coding in 3D-HEVC’,Int.Conf.on ICMEW,Turin,Italian,June 2015,pp.1-6”中,Mirk M等人設(shè)計(jì)了一種快速算法,這種算法通過考慮方差和估計(jì)失真來提前確定四叉樹編碼結(jié)構(gòu)。盡管如此,在現(xiàn)有的3D-HEVC技術(shù)里,深度圖幀內(nèi)預(yù)測(cè)編碼所消耗的時(shí)間依舊很高。
現(xiàn)有的包含單深度模式(SDM)的深度圖幀內(nèi)模式選擇算法有三個(gè)步驟:
步驟一:對(duì)于SDM,預(yù)測(cè)塊通過直接復(fù)制相鄰塊(左中或上中)的模式到當(dāng)前塊中。編碼器通過比較兩個(gè)候選塊的率失真(RD)代價(jià)來確定所選模式。
步驟二:傳統(tǒng)最優(yōu)模式(CIM)通過比較所有其他的候選模式的率失真(RD)代價(jià)來確定所選模式。這里的所有模式包括傳統(tǒng)的HEVC幀內(nèi)模式和DMMs模式。值得注意的是,所有候選模式在這一步都會(huì)被編碼兩次,并用來表示SDC殘差信號(hào)和非SDC殘差信號(hào)。
步驟三:步驟二中得到的最優(yōu)模式將和步驟一中的SDM比較率失真(RD)代價(jià),并由此得到最終的最佳幀內(nèi)模式。
這里我們定義步驟一、二中的最小率失真代價(jià)(RD-Cost)為SDMcost和CIMcost,它們的計(jì)算方式如公式(3)所示。
由于SDM僅有兩個(gè)候選模式,如表1所示,SDM相對(duì)于傳統(tǒng)的幀內(nèi)編碼模式所耗時(shí)間約占2.55%。
表1選擇SDM的PU的百分比以及SDM消耗的時(shí)間
通常,在深度圖的平滑區(qū)域內(nèi),編碼塊CU選擇SDM預(yù)測(cè)模式的占比極高。表1顯示了在不同的量化參數(shù)下,約有36%,50%,60%和70%的PU選擇SDM作為最佳幀內(nèi)模式。而現(xiàn)有的編碼技術(shù)并沒有考慮到深度圖幀內(nèi)模式中SDM的高占比和低時(shí)耗的特點(diǎn),換言之,現(xiàn)有的深度圖幀內(nèi)模式選擇算法的復(fù)雜程度仍可以進(jìn)一步地降低。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于提出一種基于貝葉斯準(zhǔn)則的3D視頻深度圖幀內(nèi)預(yù)測(cè)模式選擇方法,在保證合成視角中視頻質(zhì)量的前提下,簡(jiǎn)化深度圖像幀內(nèi)預(yù)測(cè)模式選擇的計(jì)算過程。
實(shí)現(xiàn)本發(fā)明目的的技術(shù)解決方案為:一種基于貝葉斯準(zhǔn)則的3D視頻深度圖幀內(nèi)預(yù)測(cè)模式選擇方法,包括如下步驟:
步驟1:對(duì)于輸入視頻序列,判斷當(dāng)前編碼幀是否為學(xué)習(xí)幀,如果是,則進(jìn)行步驟2,如果不是,則跳至步驟3;
步驟2:進(jìn)行模型學(xué)習(xí)過程,即用訓(xùn)練集數(shù)據(jù)訓(xùn)練貝葉斯分類模型,最后返回步驟1;
步驟3:將給定預(yù)測(cè)單元PU的SDMcost作為輸入數(shù)據(jù)輸入到訓(xùn)練好的分類模型中,并得到模型輸出分類結(jié)果S0和S1,SDMcost表示單深度即SDM模式選擇的最小率失真代價(jià),S0和S1分別表示SDM模式和其他傳統(tǒng)幀內(nèi)模式;
步驟4:對(duì)S0類,幀內(nèi)模式選擇過程只進(jìn)行SDM模式選擇;而對(duì)S1類,幀內(nèi)模式選擇過程進(jìn)行傳統(tǒng)的幀內(nèi)模式預(yù)測(cè)即CIM模式選擇;
步驟5:判斷當(dāng)前編碼塊即CU是否為最后編碼塊,若是,則結(jié)束當(dāng)前幀編碼,若不是,則返回步驟3。
進(jìn)一步地,步驟1中所述當(dāng)前編碼幀若為學(xué)習(xí)幀,則為步驟2提供的訓(xùn)練數(shù)據(jù)包括P(S0),P(S1),P(x|S1),P(x|S0),SDMcost和CIMcost;
P(S0)、P(S1)分別表示類別S0、S1的先驗(yàn)概率;x=SDMcost,P(x|S1)、P(x|S0)表示兩種類別下的似然函數(shù),計(jì)算方式如下:
其中i=0或1,參數(shù)ui和σi的計(jì)算方式如公式(2),xki表示樣本中Si類的k個(gè)CU的SDMcost:
而SDMcost和CIMcost表示SDM模式選擇和傳統(tǒng)模式選擇的最小率失真代價(jià);
SDMcost和CIMcost的計(jì)算方式如下:
Mcost=DISVSO+λ×Rate(M) (3)
其中,Mcost表示SDMcost或CIMcost;DISVSO是模式M的VSO的值,Rate(M)是模式M的比特率代價(jià),λ是拉格朗日乘子。
進(jìn)一步地,步驟2中所述用訓(xùn)練集數(shù)據(jù)訓(xùn)練貝葉斯分類模型,所要訓(xùn)練的貝葉斯分類模型Ψ是一個(gè)含懲罰因子的二分類模型,數(shù)學(xué)表達(dá)式如下:
其中,p(x|S0)/p(x|S1)為似然比,T為分類閾值;
針對(duì)上述二分類模型,采用步驟1中得到的訓(xùn)練集進(jìn)行監(jiān)督學(xué)習(xí)。
進(jìn)一步地,所述分類閾值T由如下公式確定:
其中,懲罰因子F0,1是針對(duì)錯(cuò)誤分類情況S1→S0對(duì)模型進(jìn)行的糾正,F(xiàn)1,0是針對(duì)錯(cuò)誤分類情況S0→S1對(duì)模型進(jìn)行的糾正,計(jì)算方式如下:
其中,F(xiàn)1,0的取值能夠調(diào)整,取值越大,編碼速度越快。
進(jìn)一步地,步驟4所述對(duì)S0類,幀內(nèi)模式選擇過程只進(jìn)行SDM模式選擇;而對(duì)S1類,幀內(nèi)模式選擇過程進(jìn)行傳統(tǒng)的幀內(nèi)模式預(yù)測(cè)即CIM模式選擇,其中:
所述SDM模式選擇,預(yù)測(cè)塊通過直接復(fù)制相鄰塊的模式到當(dāng)前塊中,編碼器通過比較左中或上中兩個(gè)候選塊的率失真RD代價(jià)來確定所選模式;
所述傳統(tǒng)幀內(nèi)模式預(yù)測(cè)即CIM模式選擇,通過比較所有其他的候選模式的率失真RD代價(jià)來確定所選模式;這里所有其他的候選模式包括傳統(tǒng)的HEVC幀內(nèi)模式和DMMs模式,所有候選模式都會(huì)被編碼兩次,并用來表示SDC殘差信號(hào)和非SDC殘差信號(hào)。
本發(fā)明與現(xiàn)有技術(shù)相比,其顯著優(yōu)點(diǎn)在于:(1)利用SDM深度模式計(jì)算復(fù)雜度低和在深度圖幀內(nèi)編碼占比高的特點(diǎn),創(chuàng)造性的將所有編碼預(yù)測(cè)塊分為SDM塊和其他塊,并對(duì)SDM塊提前結(jié)束深度圖像幀內(nèi)預(yù)測(cè)模式選擇過程,大大降低了編碼復(fù)雜度;(2)從系統(tǒng)角度出發(fā)優(yōu)化貝葉斯風(fēng)險(xiǎn)來處理深度幀內(nèi)編碼模式?jīng)Q策問題;(3)利用對(duì)錯(cuò)誤決策的RD性能表現(xiàn)和編碼時(shí)間的懲罰因子設(shè)定分類器閾值,在降低復(fù)雜度的同時(shí),保證了良好的編碼性能。
附圖說明
圖1是本發(fā)明基于貝葉斯準(zhǔn)則的3D視頻深度圖幀內(nèi)預(yù)測(cè)模式選擇方法的流程圖。
具體實(shí)施方式
本發(fā)明基于貝葉斯準(zhǔn)則的3D視頻深度圖幀內(nèi)預(yù)測(cè)模式選擇方法,PU的幀內(nèi)模式選擇被考慮為一個(gè)二分類器問題Ψ:S={S0,S1},其中Ψ是一個(gè)分類器,S0和S1分別表示SDM模式和其他傳統(tǒng)幀內(nèi)模式。而Ψ的動(dòng)作集{α0,α1}也同樣被定義了。如果一個(gè)給定的預(yù)測(cè)單元(PU)屬于S0,則執(zhí)行α0,即跳過步驟二的傳統(tǒng)幀內(nèi)模式選擇。否則,執(zhí)行α1,即包括所有步驟的候選模式選擇。
結(jié)合圖1,上述方法具體包括如下步驟:
步驟1:對(duì)于輸入視頻序列,判斷當(dāng)前編碼幀是否為學(xué)習(xí)幀(用為訓(xùn)練集),如果是,則進(jìn)行步驟2,如果不是,則跳至步驟3;
步驟2:進(jìn)行模型學(xué)習(xí)過程,即用訓(xùn)練集數(shù)據(jù)訓(xùn)練貝葉斯分類模型,最后返回步驟1;
步驟3:將給定預(yù)測(cè)單元PU的SDMcost作為輸入數(shù)據(jù)輸入到訓(xùn)練好的分類模型中,并得到模型輸出分類結(jié)果S0和S1,SDMcost表示單深度即SDM模式選擇的最小率失真代價(jià),S0和S1分別表示SDM模式和其他傳統(tǒng)幀內(nèi)模式;
步驟4:對(duì)S0類,幀內(nèi)模式選擇過程只進(jìn)行SDM模式選擇。而對(duì)S1類,幀內(nèi)模式選擇過程進(jìn)行傳統(tǒng)的幀內(nèi)模式預(yù)測(cè)即CIM模式選擇;
步驟5:判斷當(dāng)前編碼塊即CU是否為最后編碼塊,若是,則結(jié)束當(dāng)前幀編碼,若不是,則返回步驟3。
在上述步驟中,步驟1中所述當(dāng)前編碼幀若為學(xué)習(xí)幀,則為步驟2提供的訓(xùn)練數(shù)據(jù)包括P(S0),P(S1),P(x|S1),P(x|S0),SDMcost和CIMcost;
P(S0)、P(S1)分別表示類別S0、S1的先驗(yàn)概率;x=SDMcost,P(x|S1)、P(x|S0)表示兩種類別下的似然函數(shù),計(jì)算方式如下:
其中i=0或1,參數(shù)ui和σi的計(jì)算方式如公式(2),xki表示樣本中Si類的k個(gè)CU的SDMcost:
而SDMcost和CIMcost表示SDM模式選擇和傳統(tǒng)模式選擇的最小率失真代價(jià);
SDMcost和CIMcost的計(jì)算方式如下:
Mcost=DISVSO+λ×Rate(M) (3)
其中,Mcost表示SDMcost或CIMcost;DISVSO是模式M的VSO的值,Rate(M)是模式M的比特率代價(jià),λ是拉格朗日乘子。
在上述步驟中,步驟2中所述用訓(xùn)練集數(shù)據(jù)訓(xùn)練貝葉斯分類模型,所要訓(xùn)練的貝葉斯分類模型Ψ是一個(gè)含懲罰因子的二分類模型,數(shù)學(xué)表達(dá)式如下:
其中,p(x|S0)/p(x|S1)為似然比,T為分類閾值;
所述分類閾值T由如下公式確定:
其中,懲罰因子F0,1是針對(duì)錯(cuò)誤分類情況S1→S0對(duì)模型進(jìn)行的糾正,F(xiàn)1,0是針對(duì)錯(cuò)誤分類情況S0→S1對(duì)模型進(jìn)行的糾正,計(jì)算方式如下:
其中,F(xiàn)1,0的取值能夠調(diào)整,取值越大,編碼速度越快。
針對(duì)上述二分類模型,采用步驟1中得到的訓(xùn)練集進(jìn)行監(jiān)督學(xué)習(xí)(模型訓(xùn)練)。
在上述步驟中,步驟4中:
所述SDM模式選擇,預(yù)測(cè)塊通過直接復(fù)制相鄰塊的模式到當(dāng)前塊中,編碼器通過比較左中或上中兩個(gè)候選塊的率失真RD代價(jià)來確定所選模式;
所述傳統(tǒng)幀內(nèi)模式預(yù)測(cè)即CIM模式選擇,通過比較所有其他的候選模式的率失真RD代價(jià)來確定所選模式;這里所有其他的候選模式包括傳統(tǒng)的HEVC幀內(nèi)模式和DMMs模式,所有候選模式都會(huì)被編碼兩次,并用來表示SDC殘差信號(hào)和非SDC殘差信號(hào)。
下面通過實(shí)施例,對(duì)本發(fā)明的技術(shù)方案作進(jìn)一步具體的說明。
實(shí)施例
本實(shí)施例基于貝葉斯分類器的3D視頻深度圖像幀內(nèi)預(yù)測(cè)模式快速選擇算法流程如圖1所示,其步驟包括:
步驟1:對(duì)于輸入視頻序列,判斷當(dāng)前編碼幀是否為學(xué)習(xí)幀(用為訓(xùn)練集),如果是,則進(jìn)行步驟2,如果不是,則跳至步驟3;
步驟2:進(jìn)行模型學(xué)習(xí)過程,即用訓(xùn)練集數(shù)據(jù)訓(xùn)練貝葉斯分類模型。最后返回步驟1;
訓(xùn)練數(shù)據(jù)包括P(S0),P(S1),P(x|S1),P(x|S0),SDMcost和CIMcost。P(S0)、P(S1)分別表示類別S0、S1的先驗(yàn)概率。x=SDMcost,P(x|S1)、P(x|S0)表示兩種類別的似然函數(shù),其計(jì)算方式如公式(1)。而SDMcost和CIMcost表示SDM模式選擇和CIM傳統(tǒng)模式選擇的最小率失真代價(jià),SDMcost和CIMcost的計(jì)算方式如公式(3)。
所述貝葉斯分類模型是一個(gè)含懲罰因子的二分類模型,它的模型數(shù)學(xué)表達(dá)式如公式(4)。所述分類數(shù)學(xué)模型中,閾值T的計(jì)算方式如公式(5),其中懲罰因子F0,1和F1,0分別是針對(duì)錯(cuò)誤分類情況S1→S0和S0→S1而對(duì)模型進(jìn)行的糾正。它們的計(jì)算方式如公式(6)。F1,0由習(xí)慣決定,它的值越大,編碼越快。針對(duì)這個(gè)二分類模型,我們用步驟一中得到的訓(xùn)練集進(jìn)行監(jiān)督學(xué)習(xí)(模型訓(xùn)練)。
步驟3:將給定PU的SDMcost作為輸入數(shù)據(jù)輸入到訓(xùn)練好的分類模型中,并得到模型輸出分類結(jié)果S0和S1;
步驟4:對(duì)S0類,幀內(nèi)模式選擇過程只進(jìn)行SDM模式選擇。而對(duì)S1類,幀內(nèi)模式選擇過程進(jìn)行傳統(tǒng)的最優(yōu)幀內(nèi)預(yù)測(cè)模式(CIM)選擇;
所述SDM模式選擇,預(yù)測(cè)塊通過直接復(fù)制相鄰塊(左中或上中)的模式到當(dāng)前塊中。編碼器通過比較兩個(gè)候選塊的率失真(RD)代價(jià)來確定所選模式。所述傳統(tǒng)最優(yōu)模式(CIM),通過比較所有其他的候選模式的率失真(RD)代價(jià)來確定所選模式。這里的所有模式包括傳統(tǒng)的HEVC幀內(nèi)模式和DMMs模式。所有候選模式在這一步都會(huì)被編碼兩次,并用來表示SDC殘差信號(hào)和非SDC殘差信號(hào)。
步驟5:判斷當(dāng)前編碼塊(CU)是否為最后編碼塊,若是,則結(jié)束當(dāng)前幀編碼,若不是,則返回步驟3。
上述算法被集成到3D-HEVC測(cè)試模型(HTM13.0)編碼器中。測(cè)試序列和參數(shù)配置參考文獻(xiàn)“Mller,K.,and Vetro,A.:‘Common test conditions of 3DV core experiments’,ITU-T SG 16WP 3and ISO/IEC JTC 1/SC 29/WG 11JCT3V-G1100,January 2014”中提出的標(biāo)準(zhǔn)。所有3個(gè)視點(diǎn)的幀都作為I幀被編碼。文獻(xiàn)“Park,C.S.:‘Edge-based intra mode selection for depth-map coding in 3D-HEVC’,IEEE Trans.on Imag.Proc.,2015,24(1),pp.155-162”和文獻(xiàn)“Miok,K.,Nam,L.,and Li,S.:‘Fast single depth intra mode decision for depth map coding in 3D-HEVC’,Int.Conf.on ICMEW,Turin,Italian,June 2015,pp.1-6”提出的快速算法將與本發(fā)明算法在同樣的平臺(tái)上進(jìn)行比較。對(duì)于每個(gè)視頻序列,前10幀將用來進(jìn)行離線的分類器訓(xùn)練過程。
表2本發(fā)明算法和兩文獻(xiàn)中算法的結(jié)果對(duì)比
其具體實(shí)施步驟如下:
步驟1:對(duì)前10幀視頻序列進(jìn)行傳統(tǒng)編碼方式,并將編碼預(yù)測(cè)模式數(shù)據(jù)(包括P(S0)、P(S1)、P(x|S1)、P(x|S0)、SDMcost和CIMcost)記錄下來用于后續(xù)模型訓(xùn)練;
步驟2:用前10幀已編碼訓(xùn)練集數(shù)據(jù)學(xué)習(xí)訓(xùn)練貝葉斯分類模型。所述貝葉斯模型表達(dá)式如公式(2)所示。
步驟3:將10幀以后的待編碼幀中給定PU的SDMcost作為輸入數(shù)據(jù)輸入到訓(xùn)練好的分類模型中,并得到模型輸出分類結(jié)果S0和S1;
步驟4:對(duì)S0類,幀內(nèi)模式選擇過程只進(jìn)行SDM模式選擇。而對(duì)S1類,幀內(nèi)模式選擇過程進(jìn)行傳統(tǒng)的最優(yōu)幀內(nèi)預(yù)測(cè)模式(CIM)選擇;
步驟5:返回步驟3;
表2給出了鑒于編碼時(shí)間和BDBR(合成視點(diǎn)總比特率的BD-Rate,以及合成視點(diǎn)的PSNR)的編碼性能比較。
本發(fā)明的算法可以節(jié)省約53%的時(shí)間,而相應(yīng)的前兩種對(duì)比快速算法僅僅能節(jié)省5%和30%的時(shí)間。這是因?yàn)榈谝粋€(gè)算法只關(guān)注降低DMM決策的復(fù)雜性。在第二個(gè)算法中,它使用方差和預(yù)估失真作為特征來提前決定編碼樹結(jié)構(gòu)。而實(shí)際上,方差是一個(gè)不穩(wěn)定的特征,尤其是在高QP的情況下,此時(shí)一些復(fù)雜的區(qū)域被直接當(dāng)作單深度模式(SDM)來編碼了。由于SDM只占用可以忽略的時(shí)間消耗,它是沒有必要通過不準(zhǔn)確的特征來提前確定編碼結(jié)構(gòu)的。此外,所有算法都稍有增加BDBR,而由于本發(fā)明加入了懲罰項(xiàng),本發(fā)明提出的算法可以收獲一個(gè)好一些的BD性能表現(xiàn)。因此,本文提出的算法明顯優(yōu)于現(xiàn)有的算法。
本發(fā)明不局限于權(quán)利要求和上述實(shí)施例所涉及的內(nèi)容,只要是根據(jù)本發(fā)明的構(gòu)思所創(chuàng)造出來的任何發(fā)明,都應(yīng)歸屬于本發(fā)明的保護(hù)范圍之內(nèi)。