多視角立體渲染裝置的製作方法
2023-05-15 23:52:21
專利名稱:多視角立體渲染裝置的製作方法
技術領域:
本發明涉及計算機視覺和視頻處理技術領域,特別涉及一種多視角立體渲染裝置。
背景技術:
在立體視頻的拍攝、製作過程中,深度圖反映了一副圖像的每個像素與觀測者的距離遠近。深度圖可通過不同的途徑獲得,例如深度探測儀、在多視角視頻中通過立體匹配、單視角視頻中通過圖像理解算法等。而視差圖則反映出對於同一物體或場景,觀測者在不同視角下觀察時所體現出來的差別,人體因為這些差別而產生出立體感。一般來說,每一個視角觀測到的視差圖都是不一樣的,不同視角的視差圖可以通過將深度圖經過量化、濾波等處理獲得。因此,基於深度圖的立體渲染是立體視頻製作、處理的一個至關重要的步馬聚ο現有技術普遍採用軟體進行多視角立體渲染,現有技術存在的問題是,計算能力受限、數據傳送帶寬不夠,特別是在視頻內容解析度高、視角數量較多的情況下顯得尤為突
出ο
發明內容
本發明的目的旨在至少解決上述技術缺陷之一。為達到上述目的,本發明提出一種多視角立體渲染裝置,包括視差圖生成模塊, 用於接收視頻圖像和所述視頻圖像對應的深度圖,並根據預定的視差控制信號對所述深度圖進行轉換以獲得多個視角的視差圖;以及多個渲染器,所述渲染器的數量與所述視角的數量相同,且每個渲染器分別用於根據每個視角的視差圖和所述視頻圖像進行圖像渲染以獲得每個視角的圖像。在本發明的一個實施例中,所述渲染器進一步包括視差圖預處理單元,用於根據所述視差圖的視差值和所述視差控制信號生成第一控制信號和第二控制信號,其中,所述第一控制信號和所述第二控制信號的取值為0或1 ;像素搬移單元,用於根據所述視差值、 第一控制信號及第二控制信號對所述視頻圖像的當前像素進行搬移,並獲得所述當前像素所對應的位置的空洞標誌位;以及空洞填補單元,用於根據所述空洞標誌位對所述當前像素進行空洞填補並將所述空洞標誌位清零,以及輸出填補後的視頻圖像。在本發明的一個實施例中,所述視差圖預處理單元進一步包括第一寄存器,用於存儲視差值的基準數值;第二寄存器,用於存儲當前視差值;狀態判斷子單元,用於根據所述基準數值和所述當前視差值輸出所述第一控制信號和所述第二控制信號,如果所述當前視差值大於所述基準數值,則所述第一控制信號輸出1,所述第二控制信號輸出1,如果所述當前視差值等於所述基準數值,則所述第一控制信號輸出0,所述第二控制信號輸出1, 如果所述當前視差值小於所述基準數值,則所述第一控制信號輸出0,所述第二控制信號輸出0。
在本發明的一個實施例中,當所述第一控制信號輸出1時,對所述當前像素搬移後,所述當前像素所對應的位置的空洞標誌位為0 ;當所述第一控制信號輸出0時,對所述當前像素搬移後,所述當前像素所對應的位置的空洞標誌位為1。在本發明的一個實施例中,當所述第二控制信號輸出1時,對所述當前像素搬移後,所述當前像素不被其他像素覆蓋;當所述第二控制信號輸出0時,對所述當前像素搬移後,所述當前像素被其他像素覆蓋。在本發明的一個實施例中,所述像素搬移單元進一步包括狀態寄存器,用於存儲空洞標誌位;環形讀寫存儲器,用於存儲所述當前像素;像素FIFO存儲器,用於存儲空洞位置的像素;寫數據控制器,用於根據所述第一控制信號和第二控制信號控制所述環形讀寫存儲器、狀態寄存器和像素FIFO存儲器的寫入操作,當所述第一控制信號輸出1時,則將所述當前像素寫入所述環形讀寫存儲器,並將所述空洞標誌位置1,如果所述第二控制信號也輸出1,則同時將所述當前像素寫入所述像素FIFO存儲器,如果所述第二控制信號輸出0, 則不進行所述像素FIFO存儲器的寫入操作,當所述第一控制信號輸出0,不進行任何操作。
在本發明的一個實施例中,所述空洞填補單元進一步包括讀取接口,用於依次從所述環形讀寫存儲器中讀出所述當前像素及所述狀態寄存器中讀出所述空洞標誌位;空洞判斷子單元,用於判斷所述空洞標誌位;填補子單元,用於根據所述空洞標誌位的判斷結果填補所述視頻圖像,如果所述空洞標誌位值為1,則所述讀出的像素有效,直接輸出所述像素,並將所述空洞標誌位值置0,如果所述空洞標誌位值為0,則所述讀出的像素無效,所述像素對應的當前位置為空洞位置,從所述像素FIFO存儲器中讀取一個像素值,並根據所述空洞位置左右兩側的像素值計算獲得所述空洞中填補的像素值並將其輸出。在本發明的一個實施例中,根據所述視差值確定所述環形讀寫存儲器大小,且所述環形讀寫存儲器至少為所述視差值最大範圍值加1之後的2倍。在本發明的一個實施例中,所述深度圖與所述視差圖的轉換關係進一步包括,根據所述視差圖的視差值Disp和所述深度圖的深度值D印th,按照以下公式進行轉換,Disp =f*(D印th-Dz),其中Dz為零視點位置,f為視差大小調節參數。在本發明的一個實施例中,視差圖生成模塊還包括視差控制信號設置單元,用於通過系統設置或用戶設置所述視差控制信號,所述視差控制信號包括量化參數和量化公式,控制視差圖生成的大小。根據本發明實施例的多視角立體渲染裝置,克服了軟體進行多視角立體渲染時計算能力受限、數據傳送帶寬不夠的缺陷,可通過硬體結構簡潔而高效地實現多視角立體渲染,並實現各視角渲染過程的並行處理,計算過程無需受限於計算能力,且渲染過程中的參數、模式可由用戶靈活控制。本發明附加的方面和優點將在下面的描述中部分給出,部分將從下面的描述中變得明顯,或通過本發明的實踐了解到。
本發明上述的和/或附加的方面和優點從下面結合附圖對實施例的描述中將變得明顯和容易理解,其中圖1為本發明實施例的多視角立體渲染裝置的結構示意圖2為本發明實施例的渲染器的結構示意圖;圖3為本發明實施例的視差圖預處理單元的結構示意圖;圖4為本發明實施例的像素搬移單元的結構示意圖;以及圖5為本發明實施例的空洞填補單元的結構示意圖。
具體實施例方式下面詳細描述本發明的實施例,所述實施例的示例在附圖中示出,其中自始至終相同或類似的標號表示相同或類似的元件或具有相同或類似功能的元件。下面通過參考附圖描述的實施例是示例性的,僅用於解釋本發明,而不能解釋為對本發明的限制。圖1為本發明實施例的多視角立體渲染裝置的結構示意圖。如圖1所示,根據本發明實施例的多視角立體渲染裝置,包括視差圖生成模塊100和多個渲染器200。其中,視差圖生成模塊100用於接收視頻圖像和視頻圖像對應的深度圖,並根據預定的視差控制信號對深度圖進行轉換以獲得多個視角的視差圖。多個渲染器200,渲染器200的數量與視角的數量相同,且每個渲染器200分別用於根據每個視角的視差圖和視頻圖像進行圖像渲染以獲得每個視角的圖像。具體地,視差圖生成模塊100根據視差圖的視差值Di sp和深度圖的深度值D^th, 按照以下公式進行深度圖到視差圖的轉換,Disp = f*(D印th-Dz),其中Dz為零視點位置, f為視差大小調節參數,f可自行調節。在本發明的一個實施例中,視差圖生成模塊100還可包括視差控制信號設置單元 (未示出),用於通過系統設置或用戶設置視差控制信號,視差控制信號包括量化參數和量化公式,控制視差圖生成的大小。通過視差控制信號設置單元,在立體視頻渲染過程中的參數、模式可由用戶靈活控制,也可通過系統設置。圖2為本發明實施例的渲染器的結構示意圖。如圖2所示,根據本發明的實施例渲染器200包括視差圖預處理單元210、像素搬移單元220和空洞填補單元230。視差圖預處理單元210用於根據視差圖的視差值和視差控制信號生成第一控制信號和第二控制信號, 其中,第一控制信號和第二控制信號的取值為0或1。像素搬移單元220用於根據視差值、 第一控制信號及第二控制信號對視頻圖像的當前像素進行搬移,並獲得當前像素所對應的位置的空洞標誌位。空洞填補單元230用於根據空洞標誌位對當前像素進行空洞填補並將空洞標誌位清零,以及輸出填補後的視頻圖像。。更具體地,圖3為本發明實施例的視差圖預處理單元的結構示意圖,如圖3所示,視差圖預處理單元210包括第一寄存器221、第二寄存器222和狀態判斷子單元223。 第一寄存器221用於存儲視差值的基準數值DispHistory。第二寄存器222用於存儲當前視差值CurrentDisp。狀態判斷子單元223用於根據基準數值DispHistory和當前視差值CurrentDisp輸出第一控制信號和第二控制信號,如果當前視差值CurrentDisp大於基準數值DispHistory,則第一控制信號輸出1,第二控制信號輸出1,如果當前視差值 CurrentDisp等於基準數值DispHistory,則第一控制信號輸出0,第二控制信號輸出1,如果當前視差值CurrentDisp小於基準數值DispHistory,則第一控制信號輸出0,第二控制信號輸出0。每個新視差值CurrentDisp輸入之後會根據具體情況調整基準數值DispHistory的值,例如若當前視差值CurrentDisp小於基準數值DispHistory,則基準數值 DispHistory減一,否則將當前視差值CurrentDisp賦給基準數值DispHistory。其中基準數值DispHistory的初始值為每行圖像第一個像素點的視差值。在本發明的一個實施例中,當第一控制信號輸出1時,對當前像素搬移後,當前像素所對應的位置的空洞標誌位為O。當第一控制信號輸出O時,對當前像素搬移後,當前像素所對應的位置的空洞標誌位為1。在本發明的一個實施例中,當第二控制信號輸出1時,對當前像素搬移後,當前像素不被其他像素覆蓋。當第二控制信號輸出O時,對當前像素搬移後,當前像素被其他像素覆蓋。圖4為本發明實施例的像素搬移單元的結構示意圖。如圖4所示,像素搬移單元 220包括狀態寄存器221、環形讀寫存儲器222、像素FIFO存儲器223和寫數據控制器224。 狀態寄存器222用於存儲空洞標誌位。環形讀寫存儲器222用於存儲當前像素。像素FIFO 存儲器223用於存儲空洞位置的像素。寫數據控制器2M用於根據第一控制信號和第二控制信號控制環形讀寫存儲器222、狀態寄存器221和像素FIFO存儲器223的寫入操作,當第一控制信號輸出1時,則將當前像素寫入環形讀寫存儲器222,並將空洞標誌位置1,如果第二控制信號也輸出1,則同時將當前像素寫入像素FIFO存儲器223,如果第二控制信號輸出 0,則不進行像素FIFO存儲器的寫入操作,當第一控制信號輸出0,不進行任何操作。在本發明的一個實施例中,環形讀寫存儲器222的大小由視差值的大小範圍所決定,假設視差值範圍為-DM +DM,則環形讀寫存儲器222的實際大小至少為2*(DM+1)。環形讀寫存儲器222的讀數據口和寫數據口的讀寫地址由一個循環變化的基礎地址決定,基礎地址為BaseAddress,從0開始,每個時鐘周期遞增1,到達環形讀寫存儲器222最大地址後歸零繼續遞增,循環往復,讀寫地址均由此BaseAddress得到,假設環形讀寫存儲器222 的長度為L,則讀數據口地址ReadAddress和寫數據口地址feiteAddress按照以下公式計算,ReadAddress = BaseAddress,WriteAddress = ModL (BaseAddress+DM+ 視差值)其中,Mod指對括號裡的數據進行取模操作,L是模的基數,例如Mod3(8) = 2。圖5為本發明實施例的空洞填補單元的結構示意圖。如圖5所示,空洞填補單元 230包括讀取接口 231、空洞判斷子單元232和填補子單元233。讀取接口 231用於依次從環形讀寫存儲器222中讀出當前像素及狀態寄存器221中讀出空洞標誌位。空洞判斷子單元232用於判斷空洞標誌位。填補子單元233,用於根據空洞標誌位的判斷結果填補所述視頻圖像,如果空洞標誌位值為1,則讀出的像素有效,直接輸出像素,並將空洞標誌位值置0,如果空洞標誌位值為0,則讀出的像素無效,像素對應的當前位置為空洞位置,從像素 FIFO存儲器223中讀取一個像素值,並根據空洞位置左右兩側的像素值獲得空洞中填補的像素值並將其輸出,例如利用線性插值的方法。根據本發明實施例的多視角立體渲染裝置,克服了軟體進行多視角立體渲染時計算能力受限、數據傳送帶寬不夠的缺陷,可通過硬體結構簡潔而高效地實現多視角立體渲染,並實現各視角渲染過程的並行處理,計算過程無需受限於計算能力,且渲染過程中的參數、模式可由用戶靈活控制。
儘管已經示出和描述了本發明的實施例,對於本領域的普通技術人員而言,可以理解在不脫離本發明的原理和精神的情況下可以對這些實施例進行多種變化、修改、替換和變型,本發明的範圍由所附權利要求及其等同限定。
權利要求
1.一種多視角立體渲染裝置,其特徵在於,包括視差圖生成模塊,用於接收視頻圖像和所述視頻圖像對應的深度圖,並根據預定的視差控制信號對所述深度圖進行轉換以獲得多個視角的視差圖;以及多個渲染器,所述渲染器的數量與所述視角的數量相同,且每個渲染器分別用於根據每個視角的視差圖和所述視頻圖像進行圖像渲染以獲得每個視角的圖像。
2.根據權利要求1所述的多視角立體渲染裝置,其特徵在於,所述渲染器進一步包括 視差圖預處理單元,用於根據所述視差圖的視差值和所述視差控制信號生成第一控制信號和第二控制信號,其中,所述第一控制信號和所述第二控制信號的取值為0或1 ;像素搬移單元,用於根據所述視差值、第一控制信號及第二控制信號對所述視頻圖像的當前像素進行搬移,並獲得所述當前像素所對應的位置的空洞標誌位;以及空洞填補單元,用於根據所述空洞標誌位對所述當前像素進行空洞填補並將所述空洞標誌位清零,以及輸出填補後的視頻圖像。
3.根據權利要求2所述的多視角立體渲染裝置,其特徵在於,所述視差圖預處理單元進一步包括第一寄存器,用於存儲視差值的基準數值; 第二寄存器,用於存儲當前視差值;狀態判斷子單元,用於根據所述基準數值和所述當前視差值輸出所述第一控制信號和所述第二控制信號,如果所述當前視差值大於所述基準數值,則所述第一控制信號輸出1, 所述第二控制信號輸出1,如果所述當前視差值等於所述基準數值,則所述第一控制信號輸出0,所述第二控制信號輸出1,如果所述當前視差值小於所述基準數值,則所述第一控制信號輸出0,所述第二控制信號輸出0。
4.根據權利要求3所述的多視角立體渲染裝置,其特徵在於,當所述第一控制信號輸出1時,對所述當前像素搬移後,所述當前像素所對應的位置的空洞標誌位為0 ;當所述第一控制信號輸出0時,對所述當前像素搬移後,所述當前像素所對應的位置的空洞標誌位為1。
5.根據權利要求3所述的多視角立體渲染裝置,其特徵在於,當所述第二控制信號輸出1時,對所述當前像素搬移後,所述當前像素不被其他像素覆蓋;當所述第二控制信號輸出0時,對所述當前像素搬移後,所述當前像素被其他像素覆至ΓΤΠ ο
6.根據權利要求2所述的多視角立體渲染裝置,其特徵在於,所述像素搬移單元進一步包括狀態寄存器,用於存儲空洞標誌位; 環形讀寫存儲器,用於存儲所述當前像素; 像素FIFO存儲器,用於存儲空洞位置的像素;寫數據控制器,用於根據所述第一控制信號和第二控制信號控制所述環形讀寫存儲器、狀態寄存器和像素FIFO存儲器的寫入操作,當所述第一控制信號輸出1時,則將所述當前像素寫入所述環形讀寫存儲器,並將所述空洞標誌位置1,如果所述第二控制信號也輸出.1,則同時將所述當前像素寫入所述像素FIFO存儲器,如果所述第二控制信號輸出0,則不進行所述像素FIFO存儲器的寫入操作,當所述第一控制信號輸出0,不進行任何操作。
7.根據權利要求6所述的多視角立體渲染裝置,其特徵在於,所述空洞填補單元進一步包括讀取接口,用於依次從所述環形讀寫存儲器中讀出所述當前像素及所述狀態寄存器中讀出所述空洞標誌位;空洞判斷子單元,用於判斷所述空洞標誌位;填補子單元,用於根據所述空洞標誌位的判斷結果填補所述視頻圖像,如果所述空洞標誌位值為1,則所述讀出的像素有效,直接輸出所述像素,並將所述空洞標誌位值置0,如果所述空洞標誌位值為0,則所述讀出的像素無效,所述像素對應的當前位置為空洞位置, 從所述像素FIFO存儲器中讀取一個像素值,並根據所述空洞位置左右兩側的像素值通過線性差值獲得所述空洞中填補的像素值並將其輸出。
8.根據權利要求6所述的多視角立體渲染裝置,其特徵在於,根據所述視差值確定所述環形讀寫存儲器大小,且所述環形讀寫存儲器至少為所述視差值最大範圍值加1之後的2倍。
9.根據權利要求1所述的多視角立體渲染裝置,其特徵在於,所述深度圖與所述視差圖的轉換關係進一步包括根據所述視差圖的視差值Disp和所述深度圖的深度值D印th,按照以下公式進行轉換,Disp = f*(D印th-Dz),其中Dz為零視點位置,f為視差大小調節參數。
10.根據權利要求1所述的多視角立體渲染裝置,其特徵在於,視差圖生成模塊還包括視差控制信號設置單元,用於通過系統設置或用戶設置所述視差控制信號,所述視差控制信號包括量化參數和量化公式,控制視差圖生成的大小。
全文摘要
本發明提出一種多視角立體渲染裝置,包括視差圖生成模塊,用於接收視頻圖像和視頻圖像對應的深度圖,並根據預定的視差控制信號對深度圖進行轉換以獲得多個視角的視差圖;以及多個渲染器,渲染器的數量與視角的數量相同,且每個渲染器分別用於根據每個視角的視差圖和視頻圖像進行圖像渲染以獲得每個視角的圖像。根據本發明的裝置,克服了軟體多視角立體渲染時計算能力受限的缺陷,可簡潔高效地實現多視角立體渲染,並實現多視角渲染的並行處理,且渲染過程中的參數、模式可以由用戶靈活控制。
文檔編號H04N13/00GK102427547SQ20111036261
公開日2012年4月25日 申請日期2011年11月15日 優先權日2011年11月15日
發明者徐楓, 戴瓊海, 王好謙, 郝偉 申請人:清華大學