Profile - TW022


TW022

以FPGA實現3D影像之呈現



Semi-Finals


[print]


Project Paper - view as Preliminary(2010/07/21), Final(2010/11/01), Draft, Latest

1. 設計介紹 (Preliminary Paper)

 

      近幾年隨著時代科技的進步,人們在使用2D視訊系統時不再只要求視訊品質,更希望看見影像裡的人、物能夠真實立體地呈現在眼前,因而發展出3D視訊技術以達到影像立體化的要求。然而,現階段存在的3D顯示設備種類眾多,由於產品技術的不同,開發出來的設備規格也不盡相同。
 
      因此本作品設計一種轉換電路,可以將現有2D影像轉換為 3D 影像後輸出至不同的3D顯示設備,並且依據使用者的需求環境,可以任意切換2D/3D顯示模式。
 
      本作品使用友晶科技公司的DE2-70多媒體開發平台,首先利用NIOS將SD卡內部的2D圖片讀取到SDRAM當做Frame buffer,再將圖片做DIBR的運算法處理,最後透過傳輸線將轉換後的3D圖片輸出至使用者所需要的顯示設備。
(Revision: 3 / 2010-09-17 23:14:55)

2. 功能描述 (Final Project Paper)

 

本作品主要的功能可以分成三個系統:2D-3D轉換系統、多種3D顯示模式、2D/3D切換顯示模式,然後透過FPGA的硬體電路將以上的系統結合成本作品。
2.1 2D-3D轉換系統:
      此系統主要的功能是把2D影像藉由DIBR的技術產生3D影像,系統可以根據不同的3D 顯示器的規格提供最適合的view image,如紅藍眼鏡顯示器只需要兩個view,系統將提供2個view給此顯示器。若為加裝Slanted Lenticular Lens的顯示器,則系統將產生9-view給此顯示器。
2.2 多種3D顯示模式:
            此系統的功能是將產生的立體影像給不同的立體顯示器呈現不同的立體感。提出的系統可以給不同的立體顯示器做顯示:
2.2.1裸眼顯示器(auto-stereoscopic display):
      2D圖片經由DIBR系統處理之後可產生9個view的影像,再透過打點的技術將9張view的影像合成為3D影像,裸眼顯示器需搭配斜向柱狀透鏡(Slanted Lenticular Lens)使用,使用者方可欣賞有立體感的3D影像。
2.2.2戴眼鏡顯示器(stereoscopic display):
  (1)   紅藍眼鏡
       2D圖片經過DIBR系統處理可產生出兩張不同角度的影像,分別為左眼與右眼所看到的影像,並根據人眼焦距將兩張圖片合成一張影像。使用者戴上紅藍眼鏡之後,其紅色鏡片過濾藍光,藍色鏡片過濾紅光。所以觀賞者的左右眼各自收到該眼角度所看到的影像,產生3D立體效果。
(2)   開闔式眼鏡
       2D圖片經過DIBR系統處理可產生出兩張不同角度的影像,分別為左眼與右眼所看到的影像。使用者戴上開闔式眼鏡之後,顯示器的播放畫面會與眼鏡的開闔動作同步,如左眼鏡片打開右眼鏡片閉合時,畫面呈現的是讓左眼觀看的影像;反之,畫面影像則要顯示右眼的影像。如此交錯播放,人眼即能偵測到3D立體的效果。
2.3  2D/3D切換顯示模式:
        此系統將提供使用者選擇的模式,當使用者想要看2D影像時 可透過此系統做一個及時切換的動作。

 

 

 

 

 

 

 

 

 

(Revision: 9 / 2010-06-29 23:36:51)

3. 效能參數 (Final Project Paper)

VGA的顯示頻率為25MHZ2D/3D切換速度約在1ms左右

(Draft / 2010-09-17 15:57:38)

4. 設計架構 (Preliminary Paper)

 

a.    硬體設計架構圖

 

 

 

b.    軟體設計流程圖
(Revision: 3 / 2010-09-17 17:28:41)

5. 設計方法 (Final Project Paper)

    本作品的3D呈現方式有下列兩種方法,一為一般的2D螢幕搭配便宜之紅藍眼鏡,二為裸眼3D顯示器,其個別設計方法如下說明。

()DIBR演算法

. For一般 2D螢幕加簡單便宜之紅藍眼鏡

 圖三、DIBR技術流程

     上述流程圖所表示,此方法是利用一張彩色圖並搭配做完前處理之深度圖做3D warping,進而產生左右兩張的圖,由於在warping之後,會產生遺失的區域,成為holes,因此在最後的部分會利用hole-filling來做補償的動作。最後取左邊視角的紅色資訊以及右邊視角的藍色資訊最後加上原始彩圖的綠色資訊,重疊之後可利用傳統2D 螢幕戴上簡單便宜的紅藍眼鏡觀賞其立體圖片。亦或是將原始圖片的紅色資訊左移,綠色資訊右移,也可達到同樣效果。

  . For裸眼3D顯示器

圖四.本作品的多視角立體轉換系統

 裸眼3D 顯示器同樣用到DIBR 演算法,圖四為其演算法之流程圖,其步驟如下所述:

     1.      深度圖前處理:

    由於直接warping會在邊緣處產生許多的hole,因此必須透過深度圖前處理來減少hole 的數量。其方法流程圖如圖五所示:

圖五. 深度圖前處理之流程圖

 

1)          Hole範圍預測:

      因為對整張深度圖做模糊化需要花費較龐大的計算量,因此先預測hole會產生的區域,未產生hole的區域保留原始深度的品質以節省計算量。

根據上述公式,會在深度圖值變化較劇烈的地方標註為1,表示該地方即為hole

 

 2)     垂直線偵測:

       經由Warping過後在深度值變化較激烈且具有垂直線的區域,容易有幾何失真的情況出現,為了解決幾何失真的問題,必須偵測深度值變化較激烈且具有垂直線的區域,因此使用垂直Sobel邊緣運算子來獲得垂直邊緣的資訊。

  3)    可調式邊緣模糊演算法:

      由於深度值變化較激烈且具有垂直線的區域會有幾何失真的情況,因此採用非對稱高斯濾波器,在hole產生的區域和背景的部分做非對稱高斯模糊,這樣可以避免垂直線的部分失真,並且在前景和背景交界處的3D效果更為顯著。

 

2.      3D-Warping演算法:

      3D-WarpingDIBR中是用來產生虛擬視野的關鍵技術,本系統是採用shift-sensor的技術做處理,主要是shift-sensor不會在垂直方向產生陰影的效果而導致左右眼在觀看時有不舒服的感覺。DIBR運用shift-sensor從原始的影像和深度值來模擬出9個虛擬的視野

3.      Hole Filling

      應用本演算法所提出之模糊方法可以減少許多在虛擬視野上所產生的hole,只剩下較小的hole在虛擬的視野上,於是使用鄰近之像素作平均來填補hole

4.      打點合成:

    將九個視野的點合成一張多視角的3D圖片

 

()硬體設計

  1.      讀取SD卡的彩圖以及深度圖

  2.      將合成的3D圖片顯示在VGA

  3.      指撥開關控制2D/3D切換以及3D顯示方法切換

 

 

(Revision: 10 / 2010-09-17 23:22:32)

6. 設計特點 (Preliminary Paper)

 

a.    影像立體化,視覺升級
本作品藉由DIBR的技術,可將2D影像轉為3D影像,透過上述的3D顯示器設備,使觀賞者可觀賞具有立體感的影像。   
b.    設備體積小,攜帶方便
由於FPGA體積小,攜帶方便,具有可攜性。同時也具有可程式性,本作品將程式存入FPGA內部,使用者開啟FPGA電源即可運作系統,不僅可以省下電腦的體積空間與成本,同時可降低能源的消耗。
c.    可提供至不同立體顯示設備
本作品可依據使用者的環境需求,透過switch開關的切換,將影像輸出至不同的3D顯示設備。
d.    立體影像即時輸出
本作品透過FPGA硬體電路實現,大幅提高2D至 3D 影像轉換演算法的運算速度,可達到即時顯示立體影像的效果。
e.    功能應用廣泛
本作品應用寬廣,舉凡是電子書、3D立體螢幕、家庭3D立體電影院、PDA甚至是掌上電玩都可以透過此作品的應用,使畫面具有立體感。
(Draft / 2010-06-29 23:33:06)

7. 總結 (Final Project Paper)

 

本作品的主要目的在於設計一個可以將現有2D影像轉換為 3D 影像後,讓原有的2D顯示設備即可觀賞到3D影像。並且依據使用者的需求環境,可以任意切換2D/3D顯示模式。然而未來還有以下幾點需進行改善的地方。
1.      VGA的解析度目前為640x480,然而解析度需提高,才能將3D的效果呈現更佳。
2.      由於DIBR的演算法牽扯到許多高階數學運算,因此目前靠與C++相似的NIOS環境來執行,未來需研究如何改由純硬體來實現。
(Draft / 2010-09-17 15:17:38)