第二章、 相關研究
2.1 Depth-Image-based Rendering
Depth-Image-based Rendering ( DIBR ) 是一門合成影像的技術,透過參考視 角之影像及其對應的深度值,合成虛擬影像。依序步驟為:參考視角之影像利用 其對應的深度值,投影至 3D 幾何空間,最後再投影至欲合成之位置。本篇論 文假設每個視角之相機位置為互相平行,因此投影及合成動作可以用向量的式子 ψ 來表示參考視角之影像的任一點 𝐩 = 𝑥, 𝑦 𝑇,對應在合成影像上的特定點 𝐩′ = 𝑥′, 𝑦′ 𝑇,其式子如下:
ψ: 𝐩′
1 = A′RA−1 𝐩
1 +𝑍1𝑝A′T (1)
其中 R 和 T 分別為旋轉和位移矩陣,是參考影像與虛擬影像之間的相對位 置關係;A′ 和 A 分別為虛擬和參考相機之內部參數;𝑍𝑝 是參考影像之像素 𝐩 對應的深度值。
透過公式 1,使用者只要有相機參數、虛擬和參考視角的相對位置關係及深 度值,便可以合成任何視角的虛擬影像;但實際上,在合成虛擬影像時,會面臨 Occlusion 之問題:由於物體與物件之間會有遮蔽效應,所以如果在合成影像可 以看到的物體,但在參考影像卻找不到對應的物體,則會在合成影像產生「洞」, 此現象會隨著合成影像與參考影像之距離增加而更加明顯。
為了解決 Occlusion 的問題,MPEG 組織使用二個以上的參考影像實現合成 虛擬影像之目的。由圖 4 中可以發現,在合成影像中的大部份的像素,將會對應 到任何參考影像之特定點,而參考影像之對應點對虛擬影像之像素的影響力,會 與參考視角及虛擬視角之間的距離呈反比關係,所以透過虛擬與參考影像之間距 離的權重關係,決定合成虛擬影像的像素值為何;至於少部份的像素因為 Occlusion 的關係而形成「洞」,該像素值則使用鄰近已合成的像素值內插之。
圖 4 根據參考影像及其對應之深度圖,合成虛擬影像
2.2 多重視角深度圖壓縮演算法
AVC 常用於單一視角影片的壓縮標準,此壓縮演算法在時間排列影像的統 計上具有高度相關性,因此發展 AVC Temporal 的壓縮架構,分別為 Intra (I)、
Predictive (P) 以及 Bi-predictive (B) 影像組成。對於 I 影像來說,該張畫面內 容只能由該張畫面作預測,P 和 B 影像則可以參考其他畫面的資訊。為了能夠 有效增加壓縮效率,AVC 發展出階層 B 影像壓縮架構,其 B 影像內容可以參 考其它 I、P 和 B 影像的資訊,經由估測後再重建該 B 影像。
MVC 包含多個單一視角影片的壓縮標準,所以 MVC 壓縮標準是以 AVC 為基礎而設計之壓縮演算法。MVC 除了有單一視角影片之特性之外,不同視角 的影像在統計上也具有高度相關性。因此,MVC 分別設計移動補償與視差補償 之估測方法,企圖提高壓縮效率。如圖 5,為 MVC 標準之壓縮架構,對於 cam1 本身來說,是三個階層的 Temporal 估測,其 Group of Pictures (GOP) 大小為 8 來實現階層 B 畫面之壓縮架構,黑色箭頭表示在同一視角影片當中,該張影像 內容由其他參考影像之內容做估測;另外,cam1 與其他視角使用 Inter-view 之 估測方式企圖減少需要壓縮的資訊,紅色箭頭表示該視角影像之內容由其它參考 視角影像做估測。
8
圖 5 MVC 之壓縮架構,紅色箭頭為 Inter-view prediction;黑色箭頭為 Temporal prediction [9]
2.3 改善 MVC 之移動向量架構
以 MVC 架構為基礎,也有人提出一些不同的方法來壓縮深度圖。[6] 和 [7]
嘗試將原本 MVC 的 2D 移動預測增加為 3D 移動預測,其向量表示分別為 X、
Y 和 Z ( 深 度 值 ) 。 X 和 Y 和 原 來 的 2D 移 動 預 測 一 樣 , 為 影 像 最 小 Rate-Distortion 的移動向量;Z 為移動向量 X 和 Y 決定後,選擇最佳的深度 值偏移量,使得該選擇區塊之深度值與需要壓縮區塊之深度值的失真量為最小。
因此,3D 移動預測可以降低需要壓縮 Residual 的資訊。[8] 利用自然影像之移 動向量以預測深度圖之移動向量,其原因為自然影像和深度圖之移動向量具有某 種程度上的相關性,好處為深度圖可以直接使用自然影像之移動向量,不需要再 額外傳輸深度圖之移動向量至接收端。
2.4 Platelet
[9] 提出 Platelet 的壓縮方法。首先,深度圖以固定大小的方式分割成若干 區塊,區塊內所有的像素深度值以公式 2 進行估測,其中公式 2 之 x、y 為像 素在深度圖之位置;參數 A、B、C 為區塊以 Least-Square 之最佳化方式得之。
接著,計算此區塊經由公式 2 所估測的像素深度值與實際深度值之間的誤差,
若誤差超過使用者所設定的門檻條件,則此區塊需要再細分為四個小區塊,四個 小區塊分別再做一次 Least-Square 之最佳化,得到公式 2 之 A、B、C 參數,
直到滿足該門檻條件,如圖 6,為深度圖經由 Platelet 方式所切割後之結果。最 後,需將深度圖切割的資訊與公式 2 之 A、B、C 參數傳輸至接收端,以供重 建深度圖之用
F x, y = Ax + By + C (2)
圖 6 經由 Platelet 之壓縮方法產生的切割區塊 [9]
10
2.5 Geometry-based Block Partitioning for Intra Prediction Method
[10] 以 AVC 壓縮架構為基礎,利用相鄰的區塊和目前需要壓縮的區塊在空 間定義上有高度相關之特性,提出 Geometry-based Block Partitioning for Intra Prediction Method。其作法為:首先,相鄰區塊 (左方及上方) 之分割線經由 Edge Detection Filter 產生,並以極座標的方式表示該分割線之位置;之後,藉由相鄰 區塊產生之分割線段往目前需要壓縮的區塊作延伸,得到目前區塊的預測分割方 式,並與傳統 AVC 所有 Intra 預測模式比較 Rate-Distortion Cost,以決定最適 合該區塊之預測模式。此方法之特色為傳送端不需要傳送相鄰區塊由極座標產生 分割線段之資訊至接收端,因為相鄰區塊為已重建的相鄰區塊。透過目前區塊決 定的分割方式來預測該區塊之像素深度值,如圖 7,Partition 0 的區域由相鄰區 塊的深灰色深度值做預測;Partition 1 的區域由淺灰色深度值做預測。
圖 7 預測欲壓縮區塊之分割方式,左圖為參考左邊之區塊,右圖為參考右邊 之區塊 [10]
2.6 簡易修補深度圖演算法
修補深度圖方面,[11] 嘗試不改變現有 AVC 壓縮架構之情況下,在接收端 設計簡單的過濾器以修補重建後的深度圖,企圖降低合成影像產生之瑕疵。其方 法為:作者假定深度圖裡所有像素深度值需要被修補,因此分別以像素深度值為 中心,以固定區塊大小之方式,找出該區塊之中位數。接著,將區塊內所有深度 值分成大於中位數和小於中位數兩個集合,之後兩集合以眾數方式決定該集合所 代表的深度值並與原本需要修補的深度值做比較。最後,選擇相差絕對值較小的 眾數深度值而取代原本像素深度值。
以圖 8 為例,15 為需要修補之深度值,12 為此區塊深度值之中位數,深度 值比 12 小的集合裡有 9、11、11、11 之元素;深度值比 12 大的集合裡有 15、
21、21、21 之元素,兩集合之眾數分別為 11 和 21。由於 15 和 11 之絕對值差小 於 15 和 21,所以最後修補之深度值為 11。
11 9 21 11 15 21 11 12 21
11 9 21 11 11 21 11 12 21
圖 8 修補深度值之範例 Median: 12
{9, 11, 11, 11}
{15, 21, 21, 21}
Mode Determination 21 11
Larger than 12 Smaller than 12
Mode Determination
Compare with original depth Compare with original depth
12