一種基于多層3drs的差異估計(jì)方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及3D圖像的處理領(lǐng)域,尤其涉及一種基于3DRS的差異估計(jì)方法及裝置。
【背景技術(shù)】
[0002]3DRS (3-Dimens1n Recursive Search,多層三維遞歸搜索)算法是一種運(yùn)動(dòng)估計(jì)算法,由 Gerard de Haan 在 1993 年于《True-Mot1n Estimat1n with 3-D RecursiveSearch Block Matching》一文中提出。原文中的3DRS算法首先以塊(block)為單位計(jì)算圖像與參考圖像之間的差異,然后通過(guò)塊腐蝕(Block Eros1n)方法將塊網(wǎng)格(block grid)下的運(yùn)動(dòng)場(chǎng)(Mot1n Field)或差異場(chǎng)(Displacement Field)擴(kuò)展為像素網(wǎng)格(Pixelgrid)下的最終結(jié)果。最初3DRS所指的遞歸是圖像空間上,最初并無(wú)迭代的做法,其收斂方向由其估計(jì)器(Estimator)及搜索方向決定。
[0003]3DRS提出之后的改進(jìn)保留了其基本思想。通過(guò)改進(jìn)原算法中的ACS (asynchronouscyclic search)表《Sub-pixel mot1n estimat1n with 3D Recursive blockmatching》,與金字塔表達(dá)(Pyramidal Representat1n)的結(jié)合((Optimizat1n ofHierarchical 3DRS Mot1n Estimators for Picture Rate Convers1n》等方法,形成了具有亞像素精度的多層3DRS算法(Hierarchical 3DRS)。
[0004]3D自動(dòng)轉(zhuǎn)換,指將傳統(tǒng)3D左右圖格式,轉(zhuǎn)換成可用于多角度(Mult1-view) 3D圖像生成的2D+Z (深度)格式。目前,多層3DRS算法廣泛應(yīng)用于3D視頻中3D幀圖像的深度估計(jì)中,多層3DRS的深度估計(jì)算法以像素遞歸算法或3DRS為核心。然而,3DRS算法及多層3DRS算法實(shí)現(xiàn)均采用了較為簡(jiǎn)單的搜索路徑的方式,如左至右逐行,由左上角至右下角。在每層多次迭代的前提下,簡(jiǎn)單的搜索路徑未能充分利用多次迭代的優(yōu)勢(shì),使得搜索迭代后得到的差異估計(jì)可能存在不均勻的情況,從而影響到3D視頻中3D幀像素最終的差異估計(jì)結(jié)果。如何使差異估計(jì)結(jié)果更為均衡、可靠,是業(yè)界亟需解決的問(wèn)題。
【發(fā)明內(nèi)容】
[0005]本發(fā)明提供了一種基于多層3DRS的差異估計(jì)方法及裝置,用于解決如何使3D幀圖像的差異估計(jì)結(jié)果更為均衡、可靠的問(wèn)題。
[0006]本發(fā)明實(shí)施例采用以下技術(shù)方案:
[0007]—方面,本發(fā)明提供了一種基于多層3DRS的差異估計(jì)方法,該方法包括:
[0008]根據(jù)3D幀圖像的左圖和右圖分別搭建預(yù)設(shè)層數(shù)的圖像金字塔,根據(jù)所述圖像金字塔生成預(yù)設(shè)塊尺寸的塊網(wǎng)格差異場(chǎng)金字塔;
[0009]設(shè)置預(yù)設(shè)迭代次數(shù)的搜索路徑,其中每次迭代的搜索路徑均為逐行/列搜索,從每行/列的一端搜索到另一端,相鄰兩行/列搜索路徑相反的搜索路徑;
[0010]根據(jù)預(yù)設(shè)的估計(jì)器逐層使用所述搜索路徑對(duì)各層塊網(wǎng)格差異場(chǎng)金字塔完成預(yù)設(shè)迭代次數(shù)的多層3DRS塊估計(jì)迭代計(jì)算,得到塊網(wǎng)格差異場(chǎng)金字塔中最底層的各塊差異估計(jì)值。
[0011]另一方面,本發(fā)明還提供了一種基于多層3DRS的差異估計(jì)裝置,該裝置包括:
[0012]金字塔生成單元,用于根據(jù)3D幀圖像的左圖和右圖分別搭建預(yù)設(shè)層數(shù)的圖像金字塔,根據(jù)所述圖像金字塔生成預(yù)設(shè)塊尺寸的塊網(wǎng)格差異場(chǎng)金字塔;
[0013]搜索路徑設(shè)置單元,用于預(yù)設(shè)迭代次數(shù)的搜索路徑,其中每次迭代的搜索路徑均為逐行/列搜索,從每行/列的一端搜索到另一端,相鄰兩行/列搜索路徑相反的搜索路徑;
[0014]迭代計(jì)算單元,與金字塔生成單元和搜索路徑設(shè)置單元相連,用于根據(jù)預(yù)設(shè)的估計(jì)器逐層使用所述搜索路徑對(duì)各層塊網(wǎng)格差異場(chǎng)金字塔完成預(yù)設(shè)迭代次數(shù)的多層3DRS塊估計(jì)迭代計(jì)算,得到塊網(wǎng)格差異場(chǎng)金字塔中最底層的各塊差異估計(jì)值。
[0015]與現(xiàn)有技術(shù)相比,本發(fā)明提供的一種基于多層3DRS的差異估計(jì)方法及裝置,具有以下有益效果:
[0016]本發(fā)明通過(guò)采用相鄰兩行/列搜索路徑相反的搜索路徑,本實(shí)施例所得塊網(wǎng)格差異場(chǎng)金字塔中最底層的各塊差異估計(jì)值總體上較為均勻,有效防止了由于搜索路徑單一而造成的“異常點(diǎn)”的產(chǎn)生;采用使每次迭代相比于上一次迭代將圖像與搜索路徑旋轉(zhuǎn)90度,使迭代路徑變?yōu)樗南虻?,使迭代路徑變?yōu)槊看蔚D(zhuǎn)90度的四向迭代,并采用與之匹配的斜置Y估計(jì)器,使3D幀圖像的差異估計(jì)結(jié)果更為均衡、可靠,進(jìn)一步加強(qiáng)多層3DRS算法在不同方向上收斂的均勻性,以獲得更為準(zhǔn)確、均勻的深度估計(jì)結(jié)果,本發(fā)明有效抑制了3DRS算法估計(jì)差異場(chǎng)中奇異點(diǎn)的產(chǎn)生。搭建圖像金字塔時(shí)采用像素差值法補(bǔ)充,使圖像信息保存更完整,金字塔的生成更精準(zhǔn)。
【附圖說(shuō)明】
[0017]圖1是本發(fā)明提供的一種基于多層3DRS的差異估計(jì)方法的第一個(gè)實(shí)施例的方法流程圖。
[0018]圖2是本發(fā)明提供的一種基于多層3DRS的差異估計(jì)方法的第二個(gè)實(shí)施例的方法流程圖。
[0019]圖3是本發(fā)明提供的一種基于多層3DRS的差異估計(jì)裝置的第一個(gè)實(shí)施例的結(jié)構(gòu)框圖。
[0020]圖4是本發(fā)明提供的一種基于多層3DRS的差異估計(jì)裝置的第二個(gè)實(shí)施例的結(jié)構(gòu)框圖。
[0021]圖5a是本發(fā)明提供的一種基于多層3DRS的差異估計(jì)方法及裝置的搜索路徑、估計(jì)器的示意圖一。
[0022]圖5b是本發(fā)明提供的一種基于多層3DRS的差異估計(jì)方法及裝置的搜索路徑、估計(jì)器的示意圖二。
[0023]圖5c是本發(fā)明提供的一種基于多層3DRS的差異估計(jì)方法及裝置的搜索路徑、估計(jì)器的示意圖三。
[0024]圖5d是本發(fā)明提供的一種基于多層3DRS的差異估計(jì)方法及裝置的搜索路徑、估計(jì)器的示意圖四。
【具體實(shí)施方式】
[0025]為使本發(fā)明解決的技術(shù)問(wèn)題、采用的技術(shù)方案和達(dá)到的技術(shù)效果更加清楚,下面將結(jié)合附圖對(duì)本發(fā)明實(shí)施例的技術(shù)方案作進(jìn)一步的詳細(xì)描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0026]圖1示出根據(jù)本發(fā)明提供的一種基于多層3DRS的差異估計(jì)方法的第一個(gè)實(shí)施例的方法流程圖。本實(shí)施例的一種基于多層3DRS的深度估計(jì)方主要由智能終端來(lái)執(zhí)行。其中,智能終端包括但不限于:個(gè)人電腦、筆記本電腦、手機(jī)、平板電腦、視頻播放設(shè)備等,智能終端可以為能播放或解析3D視頻的智能終端。該方法包括以下步驟:
[0027]11:根據(jù)3D幀圖像的左圖和右圖分別搭建預(yù)設(shè)層數(shù)的圖像金字塔,根據(jù)所述圖像金字塔生成預(yù)設(shè)塊尺寸的塊網(wǎng)格差異場(chǎng)金字塔。
[0028]具體的,根據(jù)3D幀圖像的左圖和右圖采用加權(quán)平均的方法分別搭建預(yù)設(shè)層數(shù)的圖像金字塔,將所述圖像金字塔初始化為預(yù)設(shè)塊尺寸的塊網(wǎng)格差異場(chǎng)金字塔。圖像金字塔中包括左圖金字塔和右圖金字塔。3D幀圖像的左圖搭建預(yù)設(shè)層數(shù)的左圖金字塔,3D幀圖像的右圖也搭建預(yù)設(shè)層數(shù)的右圖金字塔,其中,高一層圖像金字塔的長(zhǎng)、寬分別是底一層圖像金字塔的長(zhǎng)、寬的1/2倍。上一層基于其下一層生成。對(duì)于上一層中的任一像素點(diǎn)(x,y),其值由層I中以像素點(diǎn)(2x,2y)為中心的M*N區(qū)域與加權(quán)平均濾波核相乘累加得到,實(shí)際中出于平滑考慮,可使用更大的區(qū)域。根據(jù)圖像金字塔生成預(yù)設(shè)塊尺寸的塊網(wǎng)格差異場(chǎng)金字塔,差異場(chǎng)金字塔的生成方法為將右圖金字塔中相同層圖像像素坐標(biāo)相比于左層金字塔中相同層圖像像素點(diǎn)對(duì)應(yīng)的坐標(biāo)的矢量差構(gòu)成差異場(chǎng)金字塔。塊尺寸一般為正方形像素塊,如8*8,則將差異場(chǎng)金字塔通過(guò)以網(wǎng)格塊大小為8*8的塊網(wǎng)格分成若干個(gè)8*8的塊,得到塊網(wǎng)格差異場(chǎng)金字塔。
[0029]本實(shí)施例中,生成圖像金字塔的每層時(shí),先根據(jù)3D幀圖像的尺寸獲得可以生成該層的尺寸,除以塊邊長(zhǎng),若不可以整除,則將3D幀圖像截圖為可以被塊邊長(zhǎng)整除的尺寸,SP丟去了不足塊邊長(zhǎng)個(gè)像素行或列,生成預(yù)設(shè)塊尺寸的塊網(wǎng)格差異場(chǎng)金字塔。
[0030]例如:對(duì)于1080*960(長(zhǎng)*寬)像素的3D幀圖像,金字塔為3層,將生成從下至上逐層為:1080*960、540*480、270*240像素的圖像金字塔;可以直接判斷3D幀圖像的圖像尺寸為塊大小采用8*8像素,各層塊網(wǎng)格差異場(chǎng)金字塔尺寸分別為135*120塊、67*60塊和33*30塊。差異場(chǎng)金字塔生成時(shí)丟棄了不足8像素的部分,如第二層的長(zhǎng)為540像素/8 =67.5,丟去不足8像素的部分,變成67。
[0031]12:設(shè)置預(yù)設(shè)迭代次數(shù)的搜索路徑,其中每次迭代的搜索路徑均為逐行/列搜索,從每行/列的一端搜索到另一端,相鄰兩行/列搜索路徑相反的搜索路徑。
[0032]具體的,若設(shè)置逐行搜索,則將從每行的一端搜索到另一端,相鄰兩行搜索路徑相反,即若一行為從左向右搜索,則下一行為從右向左搜索;若設(shè)置逐列搜索,從每列的一端搜索到另一端,相鄰兩列搜索路徑相反,即若一列為從上至下,則下一列為從下至上。
[0033]以逐行搜索的搜索路徑為例,若迭代次數(shù)為4,若設(shè)置逐行搜索,由上至下逐行搜索,奇數(shù)行搜索為從左至右搜索,偶數(shù)行搜索為從右至左搜索。
[0034]進(jìn)一步的,相鄰兩次搜索路徑相反,且上一次搜索的終點(diǎn)為下一次搜索的起點(diǎn)的搜索路徑,如上例,若奇數(shù)次迭代的搜索起點(diǎn)為左上角,迭代的搜索終點(diǎn)為右下角,偶數(shù)次迭代的搜索起點(diǎn)為右下角,迭代的搜索終點(diǎn)左上角。
[0035]13:根據(jù)預(yù)設(shè)的估計(jì)器逐層使用所述搜索路徑對(duì)各層塊網(wǎng)格差異場(chǎng)金字塔完成預(yù)設(shè)迭代次數(shù)的多層3DRS塊估計(jì)迭代計(jì)算,得到塊網(wǎng)格差異場(chǎng)金字塔中最底層的各塊差異估計(jì)值。
[0036]具體的,根據(jù)預(yù)設(shè)的估計(jì)器從最高層開(kāi)始逐層使用所述搜索路徑對(duì)各層塊網(wǎng)格差異場(chǎng)金字塔完成預(yù)設(shè)迭代次數(shù)的多層3DRS塊估計(jì)迭代計(jì)算,得到塊網(wǎng)格差異場(chǎng)金字塔中最底層的各塊差異估計(jì)值。
[0037]其中,多層3DRS塊估計(jì)迭代計(jì)算為多層3DRS算法中獲得差異場(chǎng)金字塔最底層的各塊差異估計(jì)值的塊估計(jì)迭代計(jì)算步驟,但該步驟改變了多層3DRS算法中估計(jì)器的結(jié)構(gòu)以及搜索路徑。
[0038]如附圖5