用于生成3d立體視圖的著色方法
【專利摘要】本發明涉及用于基于3D畫面的左視圖和右視圖以及視差圖生成中間視圖的方法,該方法包括:使用包含在左視圖和右視圖以及視差圖中的像素信息創建中間視圖,在所創建的中間視圖中識別遮擋像素,以及使用從相鄰像素中得到的信息填充遮擋像素。
【專利說明】用于生成3D立體視圖的著色方法
【技術領域】
[0001]本發明涉及一種用于基于3D畫面的左視圖和右視圖以及視差圖生成中間視圖的方法。本發明還涉及用于生成中間視圖的裝置、計算機程序以及計算機可讀非臨時性介質。
【背景技術】
[0002]目前的3D立體技術通常依賴于兩個視圖,即左視圖和右視圖以產生3D效果。存在要求生成介于左視圖和右視圖之間乃至左視圖的左側或者右視圖的右側的視圖的應用,例如自動立體顯示或者深度修改的方法。為了向用戶呈現這種視圖,系統必須生成這種新視圖。
[0003]來自左視圖和右視圖的信息被用于生成這種新視圖。然而,存在于新視圖中的畫面區域可能在左視圖和右視圖中均沒有相應的信息。這種畫面區稱作遮擋(occlusion)區域或者完全遮擋。因此,需要使用畫面信息填充這種遮擋。
【發明內容】
[0004]本發明的目的是提供了用于基于3D畫面的左視圖和右視圖以及視差圖生成中間視圖的方法和裝置,其中,使用適當的畫面信息填充中間視圖中的遮擋。
[0005]根據本發明的一方面,提供了一種用于基于3D畫面的左視圖和右視圖以及視差圖生成中間視圖的方法,其中,該方法包括:
[0006]-通過使用包含在左視圖和右視圖以及視差圖中的像素信息創建中間視圖,
[0007]-在創建的中間視圖中識別遮擋像素,以及
[0008]-使用從相鄰像素中得到的信息填充遮擋像素。
[0009]根據本發明的另一方面,提供了一種基于3D畫面的左視圖和右視圖以及視差圖來生成中間視圖的裝置,該裝置包括:寄存器,用于存儲η個像素值;過濾器單元,連接至寄存器并且具有η個過濾系數;分類單元,連接至寄存器并且用于基于該η個像素值來確定分類值;查詢表單元,包括多個過濾系數組并且被適配于通過分類單元的分類值進行尋址并且將一組η個過濾系數提供給過濾器單元;以及填充單元,被適配于使用過濾器單元的結果值填充中間視圖中的遮擋像素。
[0010]根據又一方面,提供了一種計算機程序,包括:程序工具,當在處理器上執行該計算機程序時,該程序方法使處理器執行根據本發明的所述方法的步驟;還提供了一種計算機可讀非臨時性介質,具有存儲在其上的指令,當在處理器上執行該指令時,該指令使處理器執行根據本發明的方法的步驟。
[0011]本發明的優選實施方式被限定在從屬權利要求中。應當理解,所要求保護的裝置、所要求保護的計算機程序和所要求保護的計算機可讀介質具有與所要求保護的方法和在從屬權利要求中所限定的相似和/或相同的優選實施方式。
[0012]本發明是基于使用從相鄰像素得到的像素信息填充遮擋像素的構思。因此,方法允許“創建”不存在的數據,即,像素數據,然而,該像素數據與畫面內容是一致的。在識別兩個或更多的遮擋像素的情況下,逐個像素地執行該方法,其中,填充的遮擋像素的信息可用在以下步驟中來“創建”用于另一遮擋像素的信息。
【專利附圖】
【附圖說明】
[0013]本發明的這些和其他方面將通過參照下文所述實施例進行的詳細描述而變得明顯。附圖中:
[0014]圖1示出了用于說明表述“遮擋區域”和“遮擋像素”的場景的俯視圖;
[0015]圖2示意性地示出了根據本發明的“填充”處理;
[0016]圖3通過實例的方式示出了用于生成新像素信息的函數;
[0017]圖4是用于說明使用信息填充遮擋像素的步驟的框圖;
[0018]圖5是用于說明用于生成查詢表的訓練處理的框圖;以及
[0019]圖6是用于說明訓練處理的框圖。
【具體實施方式】
[0020]對3D (3維)畫面內容,尤其是3D動作內容的供應和需求迅速地增加,并且因此對能夠呈現這種3D內容的系統的供應也在增長。除了需要3D眼鏡的系統之外,市面上還存在不需要使用任何類似3D眼鏡的特定輔助手段的系統。例如,自動立體是在沒有在觀看者的器官上使用特殊的頭飾或者眼鏡的情況下顯示立體圖像(增加3D深度感知)的方法。例如,一些自動立體系統能夠顯示多個視圖,從而使得顯示器不需要感測觀看者眼睛的位置。那意味著觀看者根據相對于顯示器的視角可看到不同的視圖。
[0021]因為所供應的例如動作畫面的畫面內容通常僅包括與相對于成像場景的某個視角相對應的左視圖和右視圖,故系統不得不為不同的視角創建另外的視圖。通常,可以基于包含在所供應的左視圖和右視圖中的畫面信息來創建或者生成另外的視圖。
[0022]然而,可能在某個視角中,觀看者看見不包含在左視圖和右視圖中的畫面內容。
[0023]參照圖1通過實例的方式簡要說明這種情況。圖1示出了獲取左視圖畫面和右視圖畫面所經由的場景的俯視圖。在該場景中,存在位于左視圖L中的一個物體,該物體位于中心軸的左側,然而,在右視圖中物體被輕微地向右移位。通常所知的,這種移位對創建3D深度的感知是必要的。
[0024]因此,在兩個視圖中均存在在物體后面的區域R并且因此該區域R被物體遮蓋。因此,視圖不包含關于此區域R的任何信息。然而,由于在左視圖和右視圖中的物體被輕微地移位的事實,故左視圖中的區域R不同于右視圖中的區域R。
[0025]當創建或者生成新視圖時,可能(根據視角)在左視圖或者右視圖中被隱藏的或者被遮蓋的區域不得不至少部分地被顯示出來。
[0026]在這種情況下,存在需要考慮的兩種不同的情況。第一,一個視圖(左視圖或者右視圖)的區域R的一部分的內容呈現在另一個視圖中。在圖1中,通過虛線示出了這些區域并由參考符號為HO。位于左側的區域HO被包含在右視圖中,并且位于右側的區域HO被包含在左視圖中。這種區域通常被稱作“半遮擋”區域。
[0027]第二種情況涉及在左視圖和右視圖中均被隱藏的區域。在圖1中,此區域用O表示。左視圖和右視圖均不包含用于此區域O的畫面信息。這種區域通常被稱作“遮擋”區域。
[0028]現在下面描述如何使用從相鄰區域得到的畫面信息來“填充”這種遮擋范圍或者區域的方式,從而使得填充進的信息與其他的相鄰畫面內容保持一致。
[0029]圖2a示出了形成待顯示的畫面的像素20的矩陣。毫無疑問,每個像素均是由包含顏色信息等的值來表示的。
[0030]圖2a的像素矩陣包括被虛線包圍的遮擋區域10。如參照圖1的簡要描述,在遮擋區域10內的各個像素在以下被稱作“遮擋像素”并且當基于左視圖和右視圖生成中間視圖時已在先前的步驟中識別出該遮擋像素。因此,從與遮擋像素相關的左視圖和右視圖中無法得到信息。如果此視圖可以被顯示,則觀看者會認為該遮擋區域為例如黑色區域(其僅為實例),即與該遮擋區域周圍的畫面內容不一致的區域。
[0031]因此,需要用像素信息填充遮擋區域10內的每一個像素,即,每一個遮擋像素11。
[0032]在圖2a中,存在被示出為黑色方格的一個像素12。在本實例中,首先使用信息填充此像素12。為了生成各個“填充”信息,預定函數(下面將詳細說明)被應用于與遮擋像素12相鄰的一行十三個(其為實例)像素14。該各個像素14由粗線包圍并且此長方形16被稱為過濾孔18。該過濾孔18具有長方形形狀并且在像素矩陣20中“選擇” 了十三個像素。很明顯,過濾孔18僅僅是從像素矩陣20里面選擇某些像素的處理的畫面表示。在過濾孔18內所選擇的像素14的像素值被處理并且產生分配至遮擋像素12的像素值。因此,現在遮擋像素12具有與過濾孔18所選擇的像素14的畫面信息相關聯的畫面信息。
[0033]在圖2b中所示的下一步驟中,過濾孔18在像素矩陣20內移位一行,從而使得選擇了不同的像素14。這些被選擇的像素的像素值以與之前相同的方法來處理,并且將此處理的結果分配至遮擋像素22,該遮擋像素22是在先前步驟中已填充的像素12的下面一行。
[0034]在圖2c中示出的下一步驟中,過濾孔18在像素矩陣20內向右移動一列,從而使得過濾孔18現在還選擇了在之前的步驟中已使用像素信息填充過的像素22。以相同的方式處理各個被選擇的像素,并且將結果分配至由黑色方格表示的下一個遮擋像素24。
[0035]重復將過濾孔18移位至其中一個被選擇的像素與遮擋像素相鄰的位置的處理,直至遮擋區域10內的所有的遮擋像素均已填滿像素信息。
[0036]圖2d示出了填充遮擋像素26的最后的步驟。在之前的步驟中,已使用像素信息填充了遮擋區域10內的所有的其他遮擋像素。
[0037]例如,從圖2d中顯而易見的是,過濾孔18選擇了在之前的任一步驟中已使用像素信息填充過的四個像素(顯示為灰色方格)。
[0038]在過濾孔18從一個位置移位至下一個位置時,重要的是所有選擇出的像素均包含信息,即換言之,過濾孔18不應選擇(不包含信息的)遮擋像素。
[0039]上面的描述指示逐個像素處理以使用像素信息填充遮擋區域10。因此,“填充”步驟的數量對應于遮擋區域內的像素的數量。
[0040]此外,很明顯,圖2僅是用于示出填充遮擋區域的步驟的實例。像素矩陣內的遮擋區域的形狀和遮擋區域的數量可以是不同的并且不限于本實例。
[0041]如上所述,通過過濾孔18所選擇的像素以某個方式被處理。現參照圖3描述此處理。
[0042]所選擇的像素14的值被存儲在使用參照標號30表示的寄存器中。在寄存器30中,存儲了所有的十三個像素14的像素值,像素值由參照符號aO - al2來表示。
[0043]通過應用普遍熟知的自適應動態范圍編碼(ADRC)函數對像素值aO - al2進行分類。此函數的詳細描述可在以下論文中找到:“Simultaneous coding artefact reductionand sharpness enhancement”,H.Hu和G.de Haan,飛利浦研究試驗室,艾恩德霍芬,荷蘭,“Trained Bilateral Filters and Applications to Coding Artifacts Reduction,,,H.Hu和G.de Haan,飛利浦研究試驗室,高科技園區36,艾恩德霍芬,荷蘭或者“Class-CountReductions Techniques for Content Adaptive Filtering”,H.Hu 和 G.de Haan。此外,參照US5, 444,487、US6,192,161B1和US6, 323,905B1。通過引用將這些文獻中的每一個的內容結合于此。
[0044]ADRC函數對像素值aO - al2中的每一個進行分類并且將作為二進制值O或I的結
果存儲在相應的寄存器32中。例如,對像素值ai進行分類的一種可能是:
[0045]
【權利要求】
1.一種用于基于3D畫面的左視圖和右視圖以及視差圖生成中間視圖的方法,所述方法包括:
使用包含在所述左視圖和所述右視圖以及所述視差圖中的像素信息來創建中間視圖, 在創建的所述中間視圖中識別遮擋像素,以及 使用從相鄰像素中所得到的信息填充所述遮擋像素。
2.根據權利要求1所述的方法,其中,使用信息填充所述遮擋像素的步驟是逐個像素來執行的。
3.根據權利要求1或2所述的方法,其中,所述相鄰像素是排成一行(通過過濾孔來表示)的η個像素。
4.根據權利要求3所述的方法,其中,過濾所述η個像素的值以獲得被分配至所述遮擋像素的新的單個值。
5.根據權利要求4所述的方法,其中,使用過濾系數組的各個預存儲過濾系數分別地過濾所述η個像素的每個值。
6.根據權利要求5所述的方法,其中,多個過濾系數組被存儲在查詢表中,其中,基于w個像素的值確定被用于過濾的所述過濾系數組。
7.根據權利要求6所述的方法,其中,通過訓練處理獲得所述查詢表中的所述多個過濾系數組。
8.根據權利要求1至7中任一項所述的方法,包括應用ADRC(自適應動態范圍編碼)函數以對所述w個像素的值進行分類的步驟。
9.根據權利要求8所述的方法,其中,所述w個像素的所述分類值作為所述查詢表的索引。
10.根據權利要求9所述的方法,包括以下步驟: 將來自所述查詢表的所述過濾系數組應用在所述η個像素上并且將所述過濾結果相加以獲得用于所述遮擋像素的新像素值。
11.根據權利要求1至10中任一項所述的方法,其中,為每一個遮擋像素重復所述方法。
12.根據權利要求6或者8至10中任一項所述的方法,其中,用于分類的所述w個像素和用于過濾的所述η個像素可以是相等的或者不相等的。
13.一種用于基于3D畫面的左視圖和右視圖以及視差圖生成中間視圖的裝置,包括: 寄存器,用于存儲η個像素值和w個像素值, 過濾器單元,連接至所述寄存器并且具有η個過濾系數, 分類單元,連接至所述寄存器并且用于基于所述w個像素值來確定分類值, 查詢表單元,包括多個過濾系數組并且被適配于通過所述分類單元的所述分類值來尋址并且將一組η個過濾系數提供給所述過濾器單元,以及 填充單元,被適配于使用所述過濾器單元的結果值填充所述中間視圖中的遮擋像素。
14.根據權利要求13所述的裝置,包括被適配于基于所述3D畫面的左視圖和右視圖以及視差圖創建中間視圖的生成單元。
15.根據權利要求14所述的裝置,包括被適配于在所述中間視圖中識別所述遮擋像素的遮擋像素識別單元。
16.根據權利要求13至15中任一項所述的裝置,其中,所述分類單元被適配于執行用于將所述寄存器中的所述像素值分類的自適應動態范圍編碼函數(ADRC)。
17.根據權利要求13至16中任一項所述的裝置,其中,所述查詢表單元包括至少2¥個過濾系數組。
18.根據權利要求13至16中任一項所述的裝置,其中,所述過濾器單元包括遞歸過濾器。
19.根據權利要求13至18中任一項所述的裝置,其中,所述裝置是3D自動立體系統的一部分。
20.一種計算機程序,包括程序代碼手段,當所述計算機程序在處理器上被執行時,所述程序代碼手段用于使所述處理器執行根據權利要求1至12中任一項所述的方法的步驟。
21.一種計算機可讀非臨時性介質,所述計算機可讀非臨時性介質上存儲有在指令,當在處理器上執行所述指令時,所述指令使所述處理器執行根據權利要求1至12中任一項所述的方法的步驟。
【文檔編號】H04N13/00GK103703771SQ201280033755
【公開日】2014年4月2日 申請日期:2012年7月25日 優先權日:2011年7月25日
【發明者】皮爾喬治·薩托, 菲利波·羅西 申請人:索尼公司