通過單調分段立方插值方法插值出該候選向量指向的區(qū)域中心的比較窗,再計算差值得到的該候選向量指向的區(qū)域中心的比較窗與當前計算塊為中心區(qū)域的比較窗之間的差別;選擇與當前計算塊為中心區(qū)域的比較窗的差別最小的候選向量作為當前計算塊本次迭代的差異估計結果。
[0095]本實施例的裝置,與逐行同向搜索的搜索路徑相比,本實施例所得塊網(wǎng)格差異場金字塔中最底層的各塊差異估計值總體上較為均勻,有效防止了由于搜索路徑單一而造成的“異常點”的產生。
[0096]圖4示出根據(jù)本發(fā)明提供的一種基于多層3DRS的差異估計裝置第二個實施例的結構框圖。本實施例的一種基于多層3DRS的差異估計裝置主要由智能終端來執(zhí)行。其中,智能終端包括但不限于:個人電腦、筆記本電腦、手機、平板電腦、視頻播放設備等,智能終端可以為能播放或解析3D視頻的智能終端。該裝置包括金字塔生成單元41、搜索路徑設置單元42、迭代計算單元43和深度圖生成單元44。
[0097]金字塔生成單元41,用于根據(jù)3D幀圖像的左圖和右圖分別搭建預設層數(shù)的圖像金字塔,根據(jù)所述圖像金字塔生成預設塊尺寸的塊網(wǎng)格差異場金字塔。
[0098]具體的,根據(jù)3D幀圖像的左圖和右圖采用加權平均的方法分別搭建預設層數(shù)的圖像金字塔,將所述圖像金字塔初始化為預設塊尺寸的塊網(wǎng)格差異場金字塔。圖像金字塔中包括左圖金字塔和右圖金字塔。3D幀圖像的左圖搭建預設層數(shù)的左圖金字塔,3D幀圖像的右圖也搭建預設層數(shù)的右圖金字塔,其中,高一層圖像金字塔的長、寬分別是底一層圖像金字塔的長、寬的1/2倍。根據(jù)圖像金字塔生成預設塊尺寸的塊網(wǎng)格差異場金字塔,差異場金字塔的生成方法為將右圖金字塔中相同層圖像像素坐標相比于左層金字塔中相同層圖像像素點對應的坐標的矢量差構成差異場金字塔。
[0099]本實施例中,金字塔生成單元41包括搭建圖像金字塔模塊411和生成差異場金字塔豐旲塊412。
[0100]搭建圖像金字塔模塊411,用于判斷3D幀圖像的左圖和右圖的長和寬是否分別能被塊邊長的21咅整除,η為預設層數(shù),若是,則根據(jù)3D幀圖像的左圖和右圖分別搭建預設層數(shù)的多層3DRS金字塔,若不是,則采用最近插值在3D幀圖像的左圖和右圖的四周補值至能被塊邊長的2η倍整除的大小,再根據(jù)補值后的3D幀圖像的左圖和右圖搭建預設層數(shù)的金字塔。
[0101]生成差異場金字塔模塊412,用于將所述多層金字塔初始化為預設塊尺寸的塊網(wǎng)格差異場金字塔。
[0102]搜索路徑設置單元42,用于設置預設迭代次數(shù)的搜索路徑,每次迭代相比于上一次迭代將搜索路徑相對于本次迭代相關的圖像及各差異場圖旋轉90度,每次迭代的搜索路徑均為逐行/列搜索,從每行/列的一端搜索到另一端,相鄰兩行/列搜索路徑相反的搜索路徑。
[0103]具體的,每次迭代相比于上一次迭代將搜索路徑相對于本次迭代相關的圖像及各差異場圖均旋轉90度,可以為順時針旋轉或逆時針旋轉,其中,可以通過旋轉本次迭代相關的圖像及各差異場來實現(xiàn),以逆時針旋轉為例,包括:每次迭代時,相關的圖像及各差異場圖逆時針旋轉90度后,對翻轉后各差異場中的各向量進行左右調換,并對調換后的各向量χ方向分量做取反處理實現(xiàn)。每次迭代時,相關的圖像及各差異場圖逆時針旋轉90度后,對翻轉后各差異場中的各向量進行左右調換,并對調換后的各向量X方向分量做取反處理實現(xiàn)。具體實現(xiàn)方式見迭代計算單元43中的兩種實現(xiàn)方式。
[0104]迭代計算單元43,用于根據(jù)預設的估計器逐層使用所述搜索路徑對各層塊網(wǎng)格差異場金字塔完成預設迭代次數(shù)的多層3DRS塊估計迭代計算,得到塊網(wǎng)格差異場金字塔中最底層的各塊差異估計值。
[0105]具體的,根據(jù)預設的估計器從最高層開始逐層使用所述搜索路徑對各層塊網(wǎng)格差異場金字塔完成預設迭代次數(shù)的多層3DRS塊估計迭代計算,得到塊網(wǎng)格差異場金字塔中最底層的各塊差異估計值。
[0106]其中,多層3DRS塊估計迭代計算為多層3DRS算法中獲得差異場金字塔最底層的各塊差異估計值的塊估計迭代計算步驟,但該步驟改變了多層3DRS算法中估計器的結構以及搜索路徑。
[0107]進一步的,本實施例中迭代計算單元43包括迭代模塊431和深度估計值獲取模塊432。
[0108]迭代模塊431,用于對各層塊網(wǎng)格差異場金字塔完成預設迭代次數(shù)的多層3DRS塊估計迭代計算時若搜索路徑為逐行搜索,則對各層塊網(wǎng)格差異場金字塔完成每一次多層3DRS塊估計迭代計算后,判斷所述當次迭代次數(shù)是否達到預設迭代次數(shù),若是,則停止對該層塊網(wǎng)格差異場金字塔迭代計算;若否,則采用所述搜索路徑對下一次多層3DRS塊估計迭代計算,再重復本次迭代過程作為下一次迭代計算,直至達到預設迭代次數(shù)。
[0109]迭代模塊431可以采用兩種方式來實現(xiàn):
[0110]例一、估計器為將斜置Y估計器中本次未迭代計算的空間預測塊放置在與該斜置Y估計器中線對稱的已迭代的塊位置,則估計器需與搜索路徑匹配。以搜索路徑為逐行搜索為例,如附圖5a、5b、5c和5d所示,例如,采用逐行搜索,若預設迭代次數(shù)為4,第一次迭代為5a,以與搜索路徑匹配的斜置Y估計器做了以下估計器設計。以4次迭代為例,第I次迭代(圖5a),估計器設計與第一實施例的步驟23中的實例奇數(shù)次迭代的估計器相同。第2次迭代時(圖5b),從上至下搜索,從左上角至右下角,等同于本步驟中將對第二次多層3DRS塊估計迭代計算相關的圖像及各差異場圖逆時針旋轉90度后,對翻轉后各差異場中的各向量進行左右調換,對調換后的各向量χ方向分量做取反處理,再重復本次迭代過程作為第二次迭代計算,而此種不需要旋轉圖像及各差異場圖的實現(xiàn)方式,更易被直觀理解,此種實現(xiàn)方式的估計器為空間預測塊為(X+1,Y)、(X,Y+1),分層預測塊(X,Y),時間預測塊(Χ-2,Υ+2)的結構。同理可得,本實現(xiàn)方式中第三次的迭代搜索路徑見附圖(圖5c),估計器設計與第一實施例的步驟23中的實例的偶數(shù)次迭代的估計器相同。同理可得,本實現(xiàn)方式中第三次的迭代搜索路徑見附圖(圖5d),上至下搜索時,估計器為空間預測塊(X-1,Y)、(Χ,Υ-1),分層預測塊(X,Y),時間預測塊(Χ+2,Υ-2)的結構。與在隔行交替方向搜索相同,估計器設計時對于無法作為空間預測塊(尚未計算到)的塊使用對稱塊代替。
[0111]例二、采用附圖5a中第一次迭代的搜索路線及估計器進行估計。在完成第I次迭代后,將第二次多層3DRS塊估計迭代計算相關的圖像及各差異場圖逆時針翻轉90度。對于翻轉后各差異場中各向量進行左右交換,并對向量χ方向分量做取反處理,即:
[0112]V(x, y) = (Vx(x, y),Vy(x, y))T
[0113]Ψ (x, y) = (-Vy (y, χ), Vx (y, χ))τ
[0114]其中,V(x,y)為第一次迭代搜索結果向量,V' (x,y)為翻轉取反后向量。重復第一次迭代過程作為第二次迭代,即按照附圖5a搜索路徑和估計器進行迭代計算作為第二次迭代。按照上述同理對第三次多層3DRS塊估計迭代計算相關的圖像及各差異場圖翻轉90度,各向量進行左右交換,并對向量χ方向分量做取反處理,再重復第I次迭代過程作為第二次迭代進行第三次迭代,同理再進行依次完成4次迭代或更高次數(shù)迭代。
[0115]其中,上述下一次多層3DRS塊估計迭代計算相關的圖像及各差異場圖為用于得到下一次迭代計算所需的空間候選向量、時間候選向量、分層候選向量、更新向量的圖像及各差異場圖,還包括當次搜索迭代得到的結果,即當次迭代后本層塊網(wǎng)格差異場金字塔中各塊差異估計值。
[0116]估計器為將斜置Y估計器(Oblique Y estimator)中本次未迭代計算的空間預測塊放置在與該斜置Y估計器中線對稱的已迭代的塊位置,則估計器需與搜索路徑匹配。以搜索路徑為逐行搜索為例,如附圖5a、5b、5c和5d所示,以斜置Y估計器做了以下估計器設計。以4次迭代為例,第I次迭代(圖5a),估計器設計與第一實施例的步驟23中的實例奇數(shù)次迭代的估計器相同。第2次迭代(圖5b)時,上至下搜索時,估計器為空間預測塊為(X-1,Y)、(X,Y+1),分層預測塊(X,Y),時間預測塊(Χ+2,Υ-2)的結構;下至上搜索時,估計器為空間預測塊為(Χ+1,Υ)、(Χ,Υ+1),分層預測塊(X,Y),時間預測塊(Χ_2,Υ+2)的結構。第3次迭代(圖5c),估計器設計與第一實施例的步驟23中的實例的偶數(shù)次迭代的估計器相同。第4次迭代(圖5d)時,下至上搜索時,估計器為空間預測塊為(Χ+1,Υ)、(Χ,Υ_1),分層預測塊(X,Y),時間預測塊(Χ_2,Υ+2)的結構;上至下搜索時,估計器為空間預測塊(Χ-1,Υ)、(Χ,Υ-1),分層預測塊(X,Y),時間預測塊(Χ+2,Υ-2)的結構。與在隔行交替方向搜索相同,估計器設計時對于無法作為空間預測塊(尚未計算到)的塊使用對稱塊代替。
[0117]例二、采用附圖5a中第一次迭代的搜索路線及估計器進行估計。在完成第I次迭代后,將第二次多層3DRS塊估計迭代計算相關的圖像及各差異場圖逆時針翻轉90度。對于翻轉后各差異場中各向量進行左右交換,并對向量χ方向分量做取反處理,即:
[0118]V(x,y) = (Vx(x, y),Vy(x, y))T
[0119]V' (x, y) = (-Vy (y, χ), Vx (y, χ))τ
[0120]其中,V(x,y)為第一次迭代搜索結果向量,V' (x,y)為翻轉取反后向量。重復第一次迭代過程作為第二次迭代,即按照附圖5a搜索路徑和估計器進行迭代計算作為第二次迭代。按照上述同理對第三次多層3DRS塊估計迭代計算相關的圖像及各差異場圖翻轉90度,各向量進行左右交換,并對向量χ方向分量做取反處理,再重復第I次迭代過程作為第二次迭代進行第三次迭代,同理再進行依次完成4次迭代或更高次數(shù)迭代。
[0121]其中,上述下一次多層3DRS塊估計迭代計算相關的圖像及各差異場圖為用于得到下一次迭代計算所需的空間候選向量、時間候選向量、分層候選向量、更新向量的圖像及各差異場圖,還包括當次搜索迭代得到的結果,即當次迭代后本層塊網(wǎng)格差異場金字塔中各塊差異估計值。
[0122]根據(jù)估計值獲取的當前計算塊的每個候選向量,候選向量包括:空間候選向量(Spatial Candidate)、時間候選向量(Temporal Candidate)、分層候選