• 沒有找到結果。

使用移動向量進行視差估測

第五章 適用於二維攝影機陣列之視訊合成方法

5.1 使用移動向量進行視差估測

移動估測(motion estimation)是以marcoblock作為基本單位,並藉由找出參考 影像之間互相匹配的marcoblock來判斷移動向量,如圖 5-1。在常見的移動估測 方法中,以全域搜尋(Full Search)所得到的移動向量最準確,因為marcoblock會去 計算在搜尋視窗內每一個位置的比對誤差,其表示式如下:

76

Search Range macroblock

Reference Image at t=n Reference Image at t=n+k

Motion Vector:

圖 5-1 marcoblock 和動態向量之間的關係

在估測連續影像的視差時,我們會先以完整視差估測方式求出各張參考影像的視 差圖,並計算參考影像彼此的移動向量。對於參考影像之間的影像,則以線性內 插的方式合成其視差圖。圖 5-2為參考影像跳過7張frame範例。假設兩張參考影 像分別在時間軸上t=1及t=9的位置,彼此間存在一組對應的marcoblock,其視差 值分別為3和5。在t=4上,該組 marcoblock的動態向量和影像交錯的區域之視差值 為0.625×3+0.375×5=3.75,並四捨五入為4。

77

圖 5-3(c)為參考移動向量來合成出來的視差圖,其中藍色區域是無視差值定 義的區域,這表示該區域無任何移動向量經過。和使用完整視差估測方式所得的 視差圖比較,經實驗觀察發現,無視差值區域的實際視差會和鄰近區域相同。因 此,若無視差值區域周圍的視差值皆相同,則我們以該視差值來填補無視差值區 域。圖 5-3(d)為填補後的結果,可以看出視差圖上只剩下少數物體邊緣的區域無 視差定義。接著,我們各別處理每塊無視差值定義的區塊。對於每塊無視差值區 域上各點,我們以動態規劃的方式參考鄰近四張影像來得到四個視差值,再以投 票的方式選擇出現次數最多的視差值作為該點的視差值。需要注意的是,此時我 們並不需要對整張影像進行搜尋,而只要搜尋無視差值區域以及其周遭範圍即可。

最後的合成結果如圖 5-3(e)。和完整估測方式所得的視差圖比較,兩者之間的差 異如圖 5-3(f)。

雖然上述的範例中,利用移動向量所得的視差圖錯誤僅發生在物體邊緣,但 隨著參考影像之間距離的增加,移動估測所判斷的移動向量很容易與影像在時間 上的實際變化不合,而導致視差圖中的錯誤增加。圖 5-4是兩張參考影像在時間 軸上略過七張frame所合成的視差圖,可以看出在標記區域發生了嚴重的視差值 錯誤。為了 降低視差圖上的錯誤,我們在下一節中修正原有的全域搜尋移動估測 來提昇移動向量精確度。

78

(a) (b)

(c) (d)

(e) (f)

圖 5-3 (a)原始影像 (b)使用完整視差估測方式得到視差圖 (c)利用移動向量合成 的視差圖 (d)使用周圍視差值填後補結果 (e)最後合成之視差圖 (f)兩種方式所

得的視差圖之間的差異

(a) (b)

圖 5-4 (a)參考影像間略過七張 frame 所合成的視差圖 (b)和使用完整視差估測的 視差圖之間的差異

79