本發(fā)明涉及一種3D視頻編碼。特別是涉及一種針對3D視頻序列中深度視頻編碼建模的深度建模模式簡化搜索方法。
背景技術(shù):
近年來以自由視角電視為代表的新興多媒體服務(wù)快速發(fā)展,為滿足這些應(yīng)用在高效壓縮和傳輸上的需求,3D視頻編碼技術(shù)得到了廣泛研究?;谝曨l表達(dá)格式,3D視頻編碼方法可以分為兩類:一類是基于多視點視頻(Multiview Video,MVV)格式,另一類是基于多視點加深度(Multiview Video plus Depth,MVD)格式。MVV視頻編碼方法能夠提供良好的3D感知,但是其需要傳輸大量的彩色視頻,在3D視頻獲取和編碼效率方面存在一定的限制。而MVD視頻編碼方法減少了彩色視頻的數(shù)目,同時引入了相應(yīng)的深度視頻,只需要在解碼端利用基于深度圖像的繪制(Depth Image Based Rendering,DIBR)可以繪制出其余視點的視頻序列,大大提高了傳輸效率。
深度視頻具有和彩色視頻不同的特性,深度圖由大面積的平滑區(qū)域和銳利的邊緣構(gòu)成。同時,深度圖和對應(yīng)的彩色圖有很強的相關(guān)性,它們分別表示同一場景的相關(guān)信息,深度圖與彩色圖有相似的物體邊界,而且與彩色圖有相似的運動。在編碼深度視頻時,可以根據(jù)與彩色視頻的關(guān)系分為兩類:獨立編碼和聯(lián)合編碼。獨立編碼方法對深度視頻采用適合其特點的編碼方法。聯(lián)合編碼方法則利用彩色視頻與深度視頻之間的相關(guān)性,考慮兩者之間的冗余信息,并結(jié)合虛擬視點繪制的質(zhì)量優(yōu)化等方法來編碼深度視頻。
針對深度視頻的編碼,3D-HEVC提出了一些新的深度視頻編碼工具,如深度建模模式(Depth Modeling Modes,DMMs)。深度建模模式將一個深度塊分割成兩個非規(guī)則區(qū)域,每一個區(qū)域用一個常量值表示。為了能夠表示出分割信息,應(yīng)該確定兩個元素參數(shù),分別是用于表示屬于哪個區(qū)域的參數(shù)和該區(qū)域恒定的常數(shù)值。新增的兩種幀內(nèi)預(yù)測方法分別為采用直線進(jìn)行分割的楔形模式(Wedgelets)和采用任意形狀分割的輪廓模式(Contours),兩者的主要區(qū)別在于分割的方式不同。除了分割信息需要傳送,還要求傳送不同分割區(qū)域深度值(Constant Partition Value,CPV)。每一個分割的區(qū)域深度值是一個固定的常數(shù),該值為該區(qū)域原始深度值的均值??偠灾?,根據(jù)分割模式和傳送信息不同,深度視頻新增的幀內(nèi)編碼模式分成兩種方法:1)明確的楔形法:該方法是在編碼端確定最佳匹配的分割,并且在比特流中傳送分割信息,利用傳送的分割信息,解碼端可以重建該塊的信號;2)分量間輪廓法:通過重建的對應(yīng)塊推導(dǎo)得到兩個任意形狀的區(qū)域分割。關(guān)于DMMs的優(yōu)化方法,國內(nèi)外的學(xué)者也進(jìn)行了一些研究。Zhang等人提出了一種針對Wedgelet模式的快速算法,該快速算法先找到滿足最小絕對變換誤差和(Sum of Absolute Transformed Difference,SATD)的彩色視頻的幀內(nèi)預(yù)測方向,然后根據(jù)之前建立起來的Wedgelet模式的分割樣式和角度預(yù)測的映射關(guān)系,找到最優(yōu)的分割方法。Tsukuba等人則通過對16×16大小的預(yù)測單元(Prediction Unit,PU)進(jìn)行圖樣放大以獲得32×32尺寸PU的分割圖樣,這在一定程度上減少了搜索圖樣List的尺寸,進(jìn)而減少了Wedgelet模式搜索的時間范圍。
技術(shù)實現(xiàn)要素:
本發(fā)明所要解決的技術(shù)問題是,提供一種深度建模模式簡化搜索方法,在保證視頻質(zhì)量的前提下,對當(dāng)前3D-HEVC編碼標(biāo)準(zhǔn)中深度圖編碼過程進(jìn)行優(yōu)化,簡化深度建模模式的搜索過程,從而降低所需的編碼時間,提高整個編碼系統(tǒng)的性能。
本發(fā)明所采用的技術(shù)方案是:一種深度建模模式簡化搜索方法,包括如下步驟:
1)采用角度模式對深度預(yù)測單元進(jìn)行預(yù)測;
2)對深度預(yù)測單元進(jìn)行邊界檢測,判斷是否直接跳過深度建模模式;
3)構(gòu)建粗糙搜索圖樣集合,包括:
(1)利用深度建模模式對預(yù)測單元進(jìn)行預(yù)測,首先對圖樣查詢表進(jìn)行初始化,圖樣查詢表中包含所有可能的分割情況,同時需要考慮到上采樣或下采樣過程;
(2)通過邊界檢測獲得四邊變化最大的點,將四邊變化最大的點分別做為起點或者終點連線獲得圖樣,由所述的圖樣構(gòu)成粗糙搜索圖樣集合;
4)視點合成優(yōu)化,是在獲取粗糙搜索圖樣集合之后,分別選取集合中的圖樣進(jìn)行視點合成優(yōu)化,通過視點合成優(yōu)化,選擇失真最小的圖樣作為初步最佳匹配圖樣;
5)構(gòu)建精細(xì)搜索圖樣集合,是以步驟4)中獲取的最佳圖樣為參考,獲取最佳圖樣的起點和終點,分別以起點和終點為中心點,在所述中心點的向上下各取2個像素點,或在所述中心點的左右各取2個像素點,以所取的像素點作為新的起點和終點進(jìn)行組合,得到24種圖樣,形成精細(xì)搜索圖樣集合;
6)選取最佳預(yù)測模式,并進(jìn)行編碼。
步驟1)包括:
以幀為單位,把圖像分割成多個編碼樹單元,每個編碼樹單元包含編碼樹塊和語法元素,其中,編碼樹塊是由亮度編碼樹塊和與亮度編碼樹相對應(yīng)的色度編碼樹塊構(gòu)成;一個亮度編碼樹塊包含L×L個亮度分量的采樣,每個色度編碼樹塊包含L/2×L/2個色度分量的采樣;亮度編碼樹塊和色度編碼樹塊直接作為編碼塊或進(jìn)一步分割成多個編碼塊;然后,將編碼樹塊分割為編碼單元,其中編碼單元按四叉樹結(jié)構(gòu)在編碼樹塊內(nèi)組織;一個亮度編碼塊、兩個色度編碼塊和相關(guān)的語法元素共同形成了一個編碼單元,每個編碼單元又分為預(yù)測單元和變換單元;
利用HEVC角度預(yù)測模式對深度預(yù)測單元進(jìn)行預(yù)測,通過計算絕對變換誤差和(SATD),選取具有最小絕對變換誤差和代價的預(yù)測模式加入到候選列表中,不同尺寸的深度預(yù)測塊選取的預(yù)測模式數(shù)不同;所述最小絕對變換誤差和代價JHAD用下述公式來計算
JHAD=SATD+λ·Rmode
其中,SATD是指將殘差信號進(jìn)行哈達(dá)瑪變換后再求各元素絕對值之和,λ表示拉格朗日乘子,Rmode表示該預(yù)測模式下編碼所需比特數(shù)。
步驟2)中由于深度圖中存在兩種類型的預(yù)測單元,一種由近乎常值或緩慢變化的深度值組成,而另一種則包含銳利的邊界,為簡化搜索過程,對深度預(yù)測單元進(jìn)行邊界檢測;若檢測出深度預(yù)測單元為邊界塊,則繼續(xù)進(jìn)行深度建模模式搜索過程,如果深度預(yù)測單元不含邊界,則直接跳過深度建模模式。
步驟3)第(2)步中,考慮到上采樣和下采樣的因素,對于不同尺寸預(yù)測單元,實際粗糙集合中待搜索圖樣總數(shù)也會相應(yīng)調(diào)整:對于雙精度情況,即32×32尺寸的預(yù)測單元,共有6種圖樣,對于全精度情況,即16×16尺寸的預(yù)測單元,共有6種圖樣,而對于半精度情況,即8×8和4×4尺寸的預(yù)測單元,分別各有24種圖樣。
步驟6)包括:
遍歷精細(xì)搜索圖樣集合,通過視點合成優(yōu)化技術(shù)選取最佳匹配圖樣,把選取的最佳匹配圖樣放入候選列表中;在候選列表中的最佳匹配圖樣、通過模式粗選過程獲取的角度預(yù)測模式以及通過相鄰參考預(yù)測單元獲取的最可能模式需要通過率失真優(yōu)化過程確定最佳幀內(nèi)預(yù)測模式,率失真代價JRDO的定義如下式所示:
JRDO=D+λ·R
D代表失真,用來描述重建視頻質(zhì)量,用均方誤差和或絕對誤差和表示,R表示編碼所消耗的比特數(shù),λ為拉格朗日乘子;
在進(jìn)行率失真優(yōu)化過程中,需遍歷候選列表中的所有預(yù)測模式,選取率失真代價最小的模式作為最佳預(yù)測模式并進(jìn)行編碼。
本發(fā)明的一種深度建模模式簡化搜索方法,通過簡化深度建模模式的搜索過程,減少了編碼時間,降低了運算復(fù)雜度,在保證視頻質(zhì)量無明顯下降的情況下提高了編碼速度。
附圖說明
圖1是本發(fā)明一種深度建模模式簡化搜索方法的流程圖;
圖2是本發(fā)明實驗結(jié)果圖。
具體實施方式
下面結(jié)合實施例和附圖對本發(fā)明的一種深度建模模式簡化搜索方法做出詳細(xì)說明。
如圖1所示,本發(fā)明的一種深度建模模式簡化搜索方法,包括如下步驟:
1)采用角度模式對深度預(yù)測單元進(jìn)行預(yù)測;包括:
以幀為單位,把圖像分割成多個編碼樹單元,每個編碼樹單元包含編碼樹塊(Coding Tree Block,CTB)和語法元素,其中,編碼樹塊是由亮度編碼樹塊和與亮度編碼樹相對應(yīng)的色度編碼樹塊構(gòu)成;一個亮度編碼樹塊包含L×L個亮度分量的采樣,每個色度編碼樹塊包含L/2×L/2個色度分量的采樣;亮度編碼樹塊和色度編碼樹塊直接作為編碼塊(Coding Block,CB)或進(jìn)一步分割成多個編碼塊;然后,將編碼樹塊分割為編碼單元(Coding Unit,CU),其中編碼單元按四叉樹結(jié)構(gòu)在編碼樹塊內(nèi)組織;一個亮度編碼塊、兩個色度編碼塊和相關(guān)的語法元素共同形成了一個編碼單元,每個編碼單元又分為預(yù)測單元(Prediction Unit,PU)和變換單元(Transform Unit,TU);
利用HEVC角度預(yù)測模式對深度預(yù)測單元進(jìn)行預(yù)測,通過計算絕對變換誤差和(SATD),選取具有最小絕對變換誤差和代價的預(yù)測模式加入到候選列表中,不同尺寸的深度預(yù)測塊選取的預(yù)測模式數(shù)不同;在35種預(yù)測模式中選取3種(針對64×64,32×32,16×16大小的PU)或8種(針對8×8,4×4大小的PU)具有最小絕對變換誤差和代價JHAD的預(yù)測模式加入到候選列表中。所述最小絕對變換誤差和代價JHAD用下述公式來計算
JHAD=SATD+λ·Rmode
其中,SATD是指將殘差信號進(jìn)行哈達(dá)瑪變換后再求各元素絕對值之和,λ表示拉格朗日乘子,Rmode表示該預(yù)測模式下編碼所需比特數(shù)。
2)對深度預(yù)測單元進(jìn)行邊界檢測,判斷是否直接跳過深度建模模式;由于深度圖中存在兩種類型的預(yù)測單元,一種由近乎常值或緩慢變化的深度值組成,而另一種則包含銳利的邊界,為簡化搜索過程,對深度預(yù)測單元進(jìn)行邊界檢測;若檢測出深度預(yù)測單元為邊界塊,則繼續(xù)進(jìn)行深度建模模式搜索過程,如果深度預(yù)測單元不含邊界,則直接跳過深度建模模式。
如果PU含有銳利邊界,則PU的四條邊中至少有兩條邊上存在深度值梯度變化最大點;反之,如果該PU沒有或者只有一條邊存在深度值梯度變化最大點,這種情況下該PU可以看作為平滑PU,其DMM模式可以直接跳過。基于此思想,邊界檢測主要過程如下:
1)對PU進(jìn)行邊緣檢測,獲取PU四邊梯度變化最大點的個數(shù)n,其中梯度變化由相鄰像素的差值絕對值來衡量;
2)判斷n≤1;若n≤1,跳過DMM模式,直接進(jìn)行RDO過程并編碼;若n≥2,轉(zhuǎn)到步驟3。
3)構(gòu)建粗糙搜索圖樣集合
在邊緣檢測之后,若深度PU沒有或者只有一條邊上存在深度值梯度變化最大點時,DMM模式直接被跳過;而對于未跳過DMM模式的PU,其深度值梯度變化最大的點可以視為PU所含有的銳利邊界的起點或終點,以此來構(gòu)建DMM劃分圖樣的粗糙搜索集合。構(gòu)建粗糙搜索圖樣集合包括:
(1)利用深度建模模式對預(yù)測單元進(jìn)行預(yù)測,首先對圖樣查詢表進(jìn)行初始化,圖樣查詢表中包含所有可能的分割情況,同時需要考慮到上采樣或下采樣過程;具體是,初始化圖樣查詢表時,分別取PU兩條邊界上的像素點作為起點和終點,連接后所得分割線把深度塊劃分為兩個部分。同時為了提高準(zhǔn)確度,針對不同大小的塊采用的精度不同,對于32×32的塊,采用雙精度;16×16的塊,采用全精度;8×8和4×4的塊采用半精度。
(2)對于未跳過DMM模式的深度PU,需要獲取邊緣檢測后梯度變化最大點的位置信息,將其作為圖樣分割線的起點或終點。以任意邊梯度變化最大點作為起點或終點并連接起來,獲得的每條分割線對應(yīng)一種劃分圖樣,所有可能的劃分圖樣構(gòu)成粗糙搜索集合。由所述的圖樣構(gòu)成粗糙搜索圖樣集合;考慮到上采樣和下采樣的因素,對于不同尺寸預(yù)測單元,實際粗糙集合中待搜索圖樣總數(shù)也會相應(yīng)調(diào)整:對于雙精度情況,即32×32尺寸的預(yù)測單元,共有6種圖樣,對于全精度情況,即16×16尺寸的預(yù)測單元,共有6種圖樣,而對于半精度情況,即8×8和4×4尺寸的預(yù)測單元,分別各有24種圖樣。
4)視點合成優(yōu)化,是在獲取粗糙搜索圖樣集合之后,分別選取集合中的圖樣進(jìn)行視點合成優(yōu)化,通過視點合成優(yōu)化,選擇失真最小的圖樣作為初步最佳匹配圖樣;
深度視頻中的圖形信息可以直接應(yīng)用于合成過程,因此深度視頻有損編碼會引起合成視點的失真。對觀察者而言,由于深度視頻最終是不可見的,因而深度視頻的編碼性能可以由最終合成視點的質(zhì)量來衡量。在3D-HEVC的深度視頻編碼中,其模式選擇過程的失真通過加權(quán)平均合成視點的失真和深度圖的失真來度量,這一過程便是視點合成優(yōu)化(View Synthesis Optimization,VSO)。通過視點合成優(yōu)化選取粗糙搜索集中的初步最佳匹配圖樣。
具體如下:
(1)把粗糙搜索集中所有圖樣索引號放到集合Coarse[i]中,
(2)初始化i=0,Dmax;
(3)計算失真D,判斷D≤Dmax;若D≤Dmax,Dmax=D,
(4)i++,跳轉(zhuǎn)到第(3)步;
(5)i=6(32×32,16×16的PU)或i=24(8×8,4×4的PU)時循環(huán)終止。
在遍歷粗糙搜索集合中的所有圖樣后,選取具有最小失真的圖樣作為初步的最佳匹配圖樣。
5)構(gòu)建精細(xì)搜索圖樣集合
將粗糙搜索集中的最優(yōu)圖樣視作最終的匹配圖樣,仍然存在不可接受的粗糙性。為了保證編碼性能,需要進(jìn)行進(jìn)一步的精細(xì)搜索。以步驟4)中獲取的最佳圖樣為參考,獲取最佳圖樣的起點和終點,分別以起點和終點為中心點,在所述中心點的向上下各取2個像素點,或在所述中心點的左右各取2個像素點,以所取的像素點作為新的起點和終點進(jìn)行組合,得到24種圖樣,形成精細(xì)搜索圖樣集合。
6)選取最佳預(yù)測模式,并進(jìn)行編碼,包括:
遍歷精細(xì)搜索圖樣集合,通過視點合成優(yōu)化技術(shù)選取最佳匹配圖樣,把選取的最佳匹配圖樣放入候選列表中;在候選列表中的最佳匹配圖樣、通過模式粗選(Rough Mode Decision,RMD)過程獲取的角度預(yù)測模式以及通過相鄰參考預(yù)測單元獲取的最可能模式(Most Probable Modes,MPMs)需要通過率失真優(yōu)化(Rate Distortion Optimization,RDO)過程確定最佳幀內(nèi)預(yù)測模式,率失真代價JRDO的定義如下式所示:
JRDO=D+λ·R
D代表失真,用來描述重建視頻質(zhì)量,用均方誤差和或絕對誤差和表示,R(Rate)表示編碼所消耗的比特數(shù),λ為拉格朗日乘子;
在進(jìn)行率失真優(yōu)化過程中,需遍歷候選列表中的所有預(yù)測模式,選取率失真代價最小的模式作為最佳預(yù)測模式并進(jìn)行編碼。
本專利所采用的算法通過邊緣檢測技術(shù)跳過DMM預(yù)測模式,同時對于未跳過DMM模式的PU,簡化DMM模式預(yù)測過程中的最佳匹配圖樣搜索過程,從而節(jié)省了大量的編碼時間。
下面結(jié)合附圖說明實驗效果:
實驗測試在3D-HEVC的參考軟件HTM10.0上進(jìn)行。采用8個標(biāo)準(zhǔn)測試視頻序列在標(biāo)準(zhǔn)測試條件(CTC)下進(jìn)行測試。測試的視頻根據(jù)分辨率分為兩類,一類是1024×768分辨率,另一類是1920×1088分辨率。彩色視頻和深度視頻量化參數(shù)對設(shè)置為(25,34),(30,39),(35,42)和(40,45),實驗采用全幀內(nèi)編碼結(jié)構(gòu)。為使本發(fā)明的效果具有可比性,在相同的實驗條件下,通過對比本發(fā)明和HTM算法進(jìn)行對比。由實驗結(jié)果如圖2所示,本發(fā)明可以節(jié)省75%左右的DMM編碼時間。