本申請涉及一種圖像處理方法和裝置。優(yōu)選的,本申請涉及一種用于虛擬現(xiàn)實的圖像處理處理方法和裝置。
背景技術(shù):
虛擬現(xiàn)實技術(shù)是一種具沉浸感、交互性和構(gòu)想性的技術(shù),其實現(xiàn)的交互方式之一就是三維立體顯示技術(shù)。三維立體顯示可以全面的展現(xiàn)出圖像的位置、層次和縱深,使觀察者更直觀地了解圖像的現(xiàn)實分布狀況,從而更全面了解圖像或立體投影。
目前,在虛擬現(xiàn)實中應(yīng)用的是雙目立體技術(shù):人的左右眼分別從不同位置和角度觀看同一物體時在雙眼視網(wǎng)膜結(jié)像會出現(xiàn)的微小水平像位差,即水平視差。3D立體顯示的基本原理就是要以人工方式來重現(xiàn)視差,即將具有水平視差的左眼圖像和右眼圖像分別輸送給觀察者的左眼和右眼,使得觀察者能夠感知到立體深度,形成立體感。在這個基礎(chǔ)之下發(fā)展出各式各樣的3D立體顯示技術(shù),目前相對成熟的是基于眼鏡的立體顯示。
實現(xiàn)虛擬現(xiàn)實的現(xiàn)有技術(shù)之一的方法流程如圖11所示,其通過虛擬攝像機(jī)投影到屏幕上,并通過虛擬攝像機(jī)視錐體對人眼視域進(jìn)行建模。然后將視錐體里的三維物體通過透視投影變化投影在視口上,最后將視口元素渲染到顯示器屏幕。在得到空間任一點在左右圖像中的對應(yīng)坐標(biāo)和兩攝像機(jī)參數(shù)矩陣的條件下,即可進(jìn)行空間點的重建,即實現(xiàn)基于人眼視覺原理的虛擬現(xiàn)實顯示。
上述現(xiàn)有技術(shù)時目前虛擬現(xiàn)實中立體顯示的主流技術(shù)。其核心是獲取三維場景中任一點滿足人眼需求的左右圖像,并將左右圖像分別輸入左眼和右眼,從而產(chǎn)生立體視覺效果。
然而,從其技術(shù)層面上講,雙目立體技術(shù)仍然與觀察自然環(huán)境的3D效果存在差距。究其根本原因是我們只將需要的主要信息通過左右圖像的形式表示出來,而并沒有將場景的全部信息呈現(xiàn)在人眼面前。所以,傳統(tǒng)方法由于場景信息缺失而存在技術(shù)壁壘,只能在嚴(yán)苛條件下產(chǎn)生立體感,無法呈現(xiàn)出真實和舒適的三維效果。
其次,從算法和成本上講,傳統(tǒng)方法通常利用兩個以上的多相機(jī)陣列進(jìn)行數(shù)據(jù)采集,利用多相機(jī)陣列來優(yōu)化采集過程,此方法需要的相機(jī)數(shù)量大,成本過高,并且大量相機(jī)的標(biāo)定工作繁復(fù)。
最后,從實時性上講,傳統(tǒng)方法一定采用左右圖像的兩個或者兩個以上通道的信息,因此信息量大,需要的存儲空間大,傳輸效率低,從而導(dǎo)致運算速度慢,系統(tǒng)實時性差的問題。因此,找到一種存儲空間大而又易于傳輸?shù)臄?shù)據(jù)方式提高傳輸效率和運算速度,增強(qiáng)系統(tǒng)的實用性顯得尤為重要。
技術(shù)實現(xiàn)要素:
針對現(xiàn)有技術(shù)中存在的問題,本申請?zhí)岢鲆环N用于實現(xiàn)虛擬現(xiàn)實的圖像處理方法以解決現(xiàn)有技術(shù)中存在的問題。
根據(jù)本申請的一個方面,提供一種圖像處理方法,包括:獲取物體的三維信息;根據(jù)所述三維信息生成數(shù)字全息圖;以及根據(jù)所述數(shù)字全息圖以及與所述數(shù)字全息圖相關(guān)的第一參考光信息生成分別對應(yīng)于左視點和右視點的左圖像和右圖像。
根據(jù)本申請的另一個方面,提供一種圖像處理裝置,包括:三維信息獲取模塊,用于獲取物體的三維信息;全息圖生成模塊,用于根據(jù)所述三維信息生成數(shù)字全息圖;以及左右圖像生成模塊,用于根據(jù)所述數(shù)字全息圖以及與所述數(shù)字全息圖相關(guān)的第一參考光信息生成分別對應(yīng)于左視點和右視點的左圖像和右圖像。
根據(jù)本申請的另一個方面,提供一種圖像處理方法,包括:獲取物體的多組三維信息;根據(jù)所述多組三維信息中的每一組分別生成數(shù)字全息圖,從而生成數(shù)字全息圖序列;以及將所生成的數(shù)字全息圖序列以及與每個所述數(shù)字全息圖對應(yīng)的第一參考光信息作為數(shù)據(jù)流進(jìn)行發(fā)送。
根據(jù)本申請的另一個方面,提供一種圖像處理裝置,包括:三維信息獲取模塊,用于獲取物體的多組三維信息;全息圖生成模塊,用于根據(jù)所述多組三維信息中的每一組分別生成數(shù)字全息圖,從而生成數(shù)字全息圖序列;以及發(fā)送模塊,用于將所生成的數(shù)字全息圖序列以及與每個所述數(shù)字全息圖對應(yīng)的第一參考光信息作為數(shù)據(jù)流進(jìn)行發(fā)送。
根據(jù)本申請的另一個方面,提供一種圖像處理方法,包括:獲取數(shù)據(jù)流,所述數(shù)據(jù)流包括數(shù)字全息圖序列以及與所述數(shù)字全息圖序列中的每個數(shù)字全息圖對應(yīng)的第一參考光信息;以及針對所述數(shù)字全息圖序列中的每個數(shù)字全息圖,結(jié)合對應(yīng)的所述第一參考光信息,生成分別對應(yīng)于左視點和右視點的左圖像和右圖像。
根據(jù)本申請的另一個方面,提供一種圖像處理裝置,包括:獲取模塊,用于獲取數(shù)據(jù)流,所述數(shù)據(jù)流包括數(shù)字全息圖序列以及與所述數(shù)字全息圖序列中的每個數(shù)字全息圖對應(yīng)的第一參考光信息;以及圖像生成模塊,用于針對所述數(shù)字全息圖序列中的每個數(shù)字全息圖,結(jié)合對應(yīng)的所述第一參考光信息,生成分別對應(yīng)于左視點和右視點的左圖像和右圖像。
通過本申請的圖像處理方法和裝置,能夠解決現(xiàn)有技術(shù)中存在的生成左圖像和右圖像的成本過高、工作繁復(fù)、傳輸效率低以及運算速度慢等問題。從而在降低成本的同時提高了數(shù)據(jù)源的可選擇性和自由度。
附圖說明
此處所說明的附圖用來提供對本申請的進(jìn)一步理解,構(gòu)成本申請的一部分,本申請的示意性實施例及其說明用于解釋本申請,并不構(gòu)成對本申請的不當(dāng)限定。在附圖中:
圖1是示出根據(jù)本申請實施例1的圖像處理方法的流程圖;
圖2是示出根據(jù)本申請實施例2的圖像處理裝置的示意圖;
圖3是示出根據(jù)本申請實施例3的圖像處理方法的流程圖;
圖4是示出根據(jù)本申請實施例4的圖像處理裝置的示意圖;
圖5是示出根據(jù)本申請實施例5的圖像處理方法的流程圖;
圖6是示出根據(jù)本申請實施例6的圖像處理裝置的示意圖;
圖7是示出根據(jù)本申請實施例7的形成立體視覺的方法的流程圖;
圖8(a)至圖8(d)是說明根據(jù)實施例7的方法的效果圖;
圖9(a)至圖9(d)是說明進(jìn)行魯棒性檢測的效果圖;
圖10是根據(jù)本申請的根據(jù)全息圖再現(xiàn)左圖像和右圖像的示意圖;
圖11是根據(jù)現(xiàn)有技術(shù)的用于模擬現(xiàn)實的方法的流程圖。
圖12是對圖7中的步驟作出進(jìn)一步說明的流程示意圖。
具體實施方式
為了使本技術(shù)領(lǐng)域的人員更好地理解本申請方案,下面將結(jié)合本申請實施例中的附圖,對本申請實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例僅僅是本申請一部分的實施例,而不是全部的實施例?;诒旧暾堉械膶嵤├?,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都應(yīng)當(dāng)屬于本申請保護(hù)的范圍。
需要說明的是,本申請的說明書和權(quán)利要求書及上述附圖中的術(shù)語“第一”、“第二”等是用于區(qū)別類似的對象,而不必用于描述特定的順序或先后次序。應(yīng)該理解這樣使用的數(shù)據(jù)在適當(dāng)情況下可以互換,以便這里描述的本申請的實施例能夠以除了在這里圖示或描述的那些以外的順序?qū)嵤4送?,術(shù)語“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟或模塊或單元的過程、方法、系統(tǒng)、產(chǎn)品或設(shè)備不必限于清楚地列出的那些步驟或模塊或單元,而是可包括沒有清楚地列出的或?qū)τ谶@些過程、方法、產(chǎn)品或設(shè)備固有的其它步驟或模塊或單元。
實施例1
附圖1示出了根據(jù)實施例1的圖像處理方法的流程圖,如附圖1所示,該方法包括:
S102:獲取虛擬對象的三維信息;
S104:根據(jù)所述三維信息生成數(shù)字全息圖;以及
S106:根據(jù)所述數(shù)字全息圖以及與所述數(shù)字全息圖相關(guān)的第一參考光信息生成分別對應(yīng)于左視點和右視點的左圖像和右圖像。
由于實施例1根據(jù)數(shù)字全息圖生成對應(yīng)于左視點和右視點的左圖像和右圖像,因此在實際操作中,只需要根據(jù)數(shù)字全息圖再現(xiàn)生成系統(tǒng)需要的左右圖像,即可作為信息源輸入虛擬現(xiàn)實系統(tǒng),從而減少相機(jī)數(shù)量和相機(jī)標(biāo)定工作,降低算法和成本代價。并且由于數(shù)字全息圖來記錄三維虛擬對象的信息,因此可以有效地防止場景信息的缺失。
可選地,該方法還包括分別對該左圖像和右圖像進(jìn)行顯示。通過將該左圖像和右圖像進(jìn)行顯示,從而左右圖像分別輸入用戶左眼和右眼,產(chǎn)生立體視覺效果。但是需要注意的是,對左圖像和右圖像進(jìn)行顯示的步驟并不是本申請所必需的。作為內(nèi)容供應(yīng)商,可以不必考慮左圖像和右圖像的顯示,而僅僅將其發(fā)送給遠(yuǎn)程的用戶即可。
可選地,獲取虛擬對象的三維信息的步驟S102包括:獲取所述虛擬對象的預(yù)設(shè)記錄距離;以及計算所述虛擬對象在所述預(yù)設(shè)記錄距離處的波前函數(shù),其中,所述波前函數(shù)包括振幅信息和相位信息。與之對應(yīng)的,根據(jù)所述三維信息生成數(shù)字全息圖的步驟S104包括:根據(jù)所述波前函數(shù)以及第二參考光信息計算生成所述數(shù)字全息圖。根據(jù)該方法,利用波前函數(shù)以及參考光信息計算生成數(shù)字全息圖,從而整個數(shù)字全息圖的生成過程都是通過計算模擬實現(xiàn)的,因此節(jié)省了生成數(shù)字全息圖的硬件成本。并且由于不需要引入實際的光源以及成像裝置,因此也使得該方法更容易實現(xiàn)。此外,除了上述方法外,任何用于獲取虛擬對象的三維信息以便生成數(shù)字全息圖的方式都適用于本申請,都能得到本技術(shù)方案的支持。
可選地,所述第一參考光信息包括與所述左視點和右視點對應(yīng)的左視點再現(xiàn)參考光信息和右視點再現(xiàn)參考光信息,其中,所述左視點再現(xiàn)參考光信息包括:模擬從與左視點對應(yīng)的左再現(xiàn)參考光源發(fā)出的光線照射到所述數(shù)字全息圖時的入射角度,所述右視點再現(xiàn)參考光信息包括:模擬從與右視點對應(yīng)的右再現(xiàn)參考光源發(fā)出的光線照射到所述數(shù)字全息圖時的入射角度。并且所述根據(jù)所述數(shù)字全息圖以及與所述數(shù)字全息圖相關(guān)的第一參考光信息生成分別對應(yīng)于左視點和右視點的左圖像和右圖像,包括:基于所述左視點再現(xiàn)參考光信息和右視點再現(xiàn)參考光信息以及所述數(shù)字全息圖生成所述左圖像和右圖像。根據(jù)該方法,只需要基于所述參考光信息生成與所述左視點和右視點對應(yīng)的左視點再現(xiàn)參考光信息和右視點再現(xiàn)參考光信息,再基于所述左視點再現(xiàn)參考光信息和右視點再現(xiàn)參考光信息以及所述數(shù)字全息圖即可生成所述左圖像和右圖像。由于在實際操作中,所述左視點參考光信息和所述右視點參考光信息均可根據(jù)所述參考光信息產(chǎn)生(例如根據(jù)從所述左視點和右視點發(fā)出的光線照射到所述數(shù)字全息圖時的入射角,基于所述參考光信息生成與所述左視點和右視點對應(yīng)的左視點再現(xiàn)參考光信息和右視點再現(xiàn)參考光信息),因此可以僅僅利用參考光信息與所述全息圖即可生成所述左圖像和右圖像,因此減少了生成所述左圖像和右圖像所需的數(shù)據(jù)量。此外對于本申請而言,除了該方法之外,其他的用于產(chǎn)生左圖像和右圖像的方法也適用于本申請的技術(shù)方案。
可選地,所述預(yù)設(shè)記錄距離至少為兩個。并且所述計算所述虛擬對象在所述預(yù)設(shè)記錄距離處的波前函數(shù),包括:分別計算所述虛擬對象在各個所述預(yù)設(shè)記錄距離處的波前函數(shù),并對所述波前函數(shù)進(jìn)行疊加。以及所述根據(jù)所述波前函數(shù)以及第二參考光信息計算生成所述數(shù)字全息圖,包括:根據(jù)疊加后的所述波前函數(shù)以及所述第二參考光信息計算生成所述數(shù)字全息圖。
因為三維虛擬對象的波前函數(shù)具有不同的預(yù)設(shè)記錄距離d(不同的預(yù)設(shè)記錄距離d對應(yīng)不同的層),因此將三維虛擬對象在不同預(yù)設(shè)記錄距離下的波前函數(shù)進(jìn)行疊加,再與參考光信息結(jié)合,形成全息圖的過程就成為分層信息記錄的過程。而全息再現(xiàn)時,只能在對應(yīng)的再現(xiàn)距離d下,才能夠清晰的再現(xiàn)出相應(yīng)的再現(xiàn)像,這樣就不會產(chǎn)生相應(yīng)的干擾。
實施例2
附圖2示出了根據(jù)本申請實施例2的圖像處理裝置200的示意圖。如圖2所示,該圖像處理裝置200包括:三維信息獲取模塊201,用于獲取虛擬對象的三維信息;全息圖生成模塊202,用于根據(jù)所述三維信息生成數(shù)字全息圖;以及左右圖像生成模塊203,用于根據(jù)所述數(shù)字全息圖以及與所述數(shù)字全息圖相關(guān)的第一參考光信息生成分別對應(yīng)于左視點和右視點的左圖像和右圖像。
參照實施例1中所述,該圖像處理裝置能夠減少相機(jī)數(shù)量和相機(jī)標(biāo)定工作,降低算法和成本代價,并且有效地防止場景信息的缺失。
可選地,所述三維信息獲取模塊配置為:獲取所述虛擬對象的二維圖像,并根據(jù)所述二維圖像獲取所述虛擬對象的三維信息。
可選地,還包括顯示模塊,分別對所述左圖像和右圖像進(jìn)行顯示。從而將左右圖像分別輸入用戶左眼和右眼,產(chǎn)生立體視覺效果。
可選地,所述三維信息獲取模塊包括:預(yù)設(shè)記錄距離獲取單元,用于獲取所述虛擬對象的預(yù)設(shè)記錄距離;以及波前函數(shù)計算單元,用于計算所述虛擬對象在所述預(yù)設(shè)記錄距離處的波前函數(shù)其中,所述波前函數(shù)包括振幅信息和相位信息。并且所述全息圖生成模塊包括:全息圖計算單元,用于根據(jù)所述波前函數(shù)以及第二參考光信息計算生成所述數(shù)字全息圖。由于圖像處理裝置利用波前函數(shù)以及參考光信息計算生成數(shù)字全息圖,從而整個數(shù)字全息圖的生成過程都是通過計算模擬實現(xiàn)的,因此節(jié)省了生成數(shù)字全息圖的硬件成本。并且由于不需要引入光源以及成像裝置,因此也使得該方法更容易實現(xiàn)。
可選地,所述第一參考光信息包括與所述左視點和右視點對應(yīng)的左視點再現(xiàn)參考光信息和右視點再現(xiàn)參考光信息,其中,所述左視點再現(xiàn)參考光信息包括:模擬從與左視點對應(yīng)的左再現(xiàn)參考光源發(fā)出的光線照射到所述數(shù)字全息圖時的入射角度,所述右視點再現(xiàn)參考光信息包括:模擬從與右視點對應(yīng)的右再現(xiàn)參考光源發(fā)出的光線照射到所述數(shù)字全息圖時的入射角度。并且所述左右圖像生成模塊包括:左右圖像生成單元,用于基于所述左視點再現(xiàn)參考光信息和右視點再現(xiàn)參考光信息以及所述數(shù)字全息圖生成所述左圖像和右圖像?;谠搱D像處理裝置,只需要基于所述參考光信息生成與所述左視點和右視點對應(yīng)的左視點再現(xiàn)參考光信息和右視點再現(xiàn)參考光信息,再基于所述左視點再現(xiàn)參考光信息和右視點再現(xiàn)參考光信息以及所述數(shù)字全息圖即可生成所述左圖像和右圖像。由于在實際操作中,所述左視點參考光信息和所述右視點參考光信息均可根據(jù)所述參考光信息產(chǎn)生(例如根據(jù)從所述左視點和右視點發(fā)出的光線照射到所述數(shù)字全息圖時的入射角,基于所述參考光信息生成與所述左視點和右視點對應(yīng)的左視點再現(xiàn)參考光信息和右視點再現(xiàn)參考光信息),因此可以僅僅利用參考光信息與所述全息圖即可生成所述左圖像和右圖像,因此減少了生成所述左圖像和右圖像所需的數(shù)據(jù)量。
可選地,所述預(yù)設(shè)記錄距離至少為兩個。并且所述波前函數(shù)計算單元包括:波前函數(shù)疊加元件,分別計算所述虛擬對象在各個所述預(yù)設(shè)記錄距離處的波前函數(shù),并對所述波前函數(shù)進(jìn)行疊加,以及所述全息圖計算單元包括:數(shù)字全息圖生成元件,用于根據(jù)疊加后的所述波前函數(shù)以及所述第二參考光信息計算生成所述數(shù)字全息圖。因為三維虛擬對象的波前函數(shù)具有不同的預(yù)設(shè)記錄距離d(不同的預(yù)設(shè)記錄距離d對應(yīng)不同的層),因此將三維虛擬對象在不同預(yù)設(shè)記錄距離下的波前函數(shù)進(jìn)行疊加,再與參考光信息結(jié)合,形成全息圖的過程就成為分層信息記錄的過程。而全息再現(xiàn)時,只能在對應(yīng)的再現(xiàn)距離d下,才能夠清晰的再現(xiàn)出相應(yīng)的再現(xiàn)像,這樣就不會產(chǎn)生相應(yīng)的干擾。
實施例3
附圖3示出了根據(jù)實施例3的圖像處理方法的流程圖,如附圖3所示,該方法包括:
S302:獲取虛擬對象的多組三維信息;
S304:根據(jù)所述多組三維信息中的每一組分別生成數(shù)字全息圖,從而生成數(shù)字全息圖序列;以及
S306:將所生成的數(shù)字全息圖序列以及與每個所述數(shù)字全息圖對應(yīng)的第一參考光信息作為數(shù)據(jù)流進(jìn)行發(fā)送。
隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,通過遠(yuǎn)程服務(wù)的方式提供虛擬現(xiàn)實服務(wù)將會成為一個趨勢,尤其是提供虛擬現(xiàn)實的視頻,由于虛擬現(xiàn)實需要提供左圖像的視頻以及右圖像的視頻,因此勢必導(dǎo)致傳輸?shù)臄?shù)據(jù)量過大。
根據(jù)實施例3,在實施例1的基礎(chǔ)上形成多個左右圖像從而可以形成左右圖像的視頻流,極大地減少了需要傳輸?shù)臄?shù)量,有利于提供更加優(yōu)質(zhì)的服務(wù)。
實施例4
附圖4示出了根據(jù)本申請實施例4的圖像處理裝置400的示意圖。如圖4所示,該圖像處理裝置400,包括:三維信息獲取模塊401,用于獲取虛擬對象的多組三維信息;全息圖生成模塊402,用于根據(jù)所述多組三維信息中的每一組分別生成數(shù)字全息圖,從而生成數(shù)字全息圖序列;以及發(fā)送模塊403,用于將所生成的數(shù)字全息圖序列以及與每個所述數(shù)字全息圖對應(yīng)的第一參考光信息作為數(shù)據(jù)流進(jìn)行發(fā)送。
參照實施例3所述,在實施例2的基礎(chǔ)上形成多個左右圖像從而可以形成左右圖像的視頻流,極大地減少了需要傳輸?shù)臄?shù)量,有利于提供更加優(yōu)質(zhì)的服務(wù)。
實施例5
附圖5示出了根據(jù)本申請的實施例5的圖像處理方法的流程圖。如圖5所示,所述圖像處理方法包括:
S502:獲取數(shù)據(jù)流,所述數(shù)據(jù)流包括數(shù)字全息圖序列以及與所述數(shù)字全息圖序列中的每個數(shù)字全息圖對應(yīng)的第一參考光信息;以及
S504:針對所述數(shù)字全息圖序列中的每個數(shù)字全息圖,結(jié)合對應(yīng)的所述第一參考光信息,生成分別對應(yīng)于左視點和右視點的左圖像和右圖像。
其中,實施例5是與實施例3對應(yīng)的接收側(cè)的圖像處理方法。
實施例6
附圖6示出了根據(jù)本申請的實施例6的圖像處理裝置600的流程圖,如圖6所示,所述圖像處理裝置包括:
獲取模塊601,用于獲取數(shù)據(jù)流,所述數(shù)據(jù)流包括數(shù)字全息圖序列以及與所述數(shù)字全息圖序列中的每個數(shù)字全息圖對應(yīng)的第一參考光信息;以及
圖像生成模塊602,用于針對所述數(shù)字全息圖序列中的每個數(shù)字全息圖,結(jié)合對應(yīng)的所述第一參考光信息,生成分別對應(yīng)于左視點和右視點的左圖像和右圖像。
實施例7
圖7示出了根據(jù)本申請實施例7的用于形成立體視覺的方法流程圖。
如圖7所示,所述方法包括:
S702,獲取三維虛擬對象A。即用于虛擬現(xiàn)實時顯示給用戶的三維虛擬對象。其中,本實施例中的虛擬對象是指通過計算模擬產(chǎn)生的三維虛擬對象(而不是真實存在的物體),例如通過計算模擬產(chǎn)生的人體、物體等的三維立體對象。
S704,全息記錄。即針對所述三維虛擬對象A進(jìn)行全息記錄產(chǎn)生數(shù)字全息圖。例如通過菲涅耳衍射積分計算方法,得到三維虛擬對象A的波前復(fù)振幅函數(shù)(該函數(shù)包括物光的振幅和相位信息)??蛇x地,將所述三維虛擬對象A的不同層面的不同衍射距離(本文中,衍射距離與前面實施例所述的預(yù)設(shè)記錄距離相對應(yīng),為同一距離在不同應(yīng)用場景下的表述)下的波前復(fù)振幅信息進(jìn)行疊加,將疊加的波前復(fù)振幅函數(shù)記錄在同一張數(shù)字全息圖中,從而對三維物體進(jìn)行分層數(shù)字全息記錄,完成三維信息獲取。
S706,再現(xiàn)生成左右圖像。即根據(jù)虛擬現(xiàn)實系統(tǒng)的視點需求,根據(jù)從所述左視點和右視點發(fā)出的光線照射到所述數(shù)字全息圖時的入射角,基于生成所述數(shù)字全息圖的參考光信息,生成與所有視點對應(yīng)的左右圖像,作為信息源輸入虛擬現(xiàn)實系統(tǒng)中。
為便于理解,結(jié)合附圖12簡要解釋關(guān)于步驟S702至步驟S706。如上面所述,三維虛擬對象A是一個通過模擬計算產(chǎn)生的三維虛擬對象,附圖12中的步驟S1202對應(yīng)于上述步驟S702,圖12中的步驟S1204和S1206對應(yīng)于上述的步驟704,并且圖12中的步驟S1208對應(yīng)于上述步驟S706。如圖12所示,在步驟S1202,通過計算機(jī)C模擬計算產(chǎn)生關(guān)于小汽車的三維虛擬對象A,其中包括三維虛擬對象A的各個點的坐標(biāo)(x,y,z)等數(shù)據(jù)。為了將三維虛擬對象A呈現(xiàn)給用戶以形成虛擬現(xiàn)實的場景,需要生成顯示三維虛擬對象A的左圖像和右圖像以分別顯示到用戶的左眼和右眼。為了獲得上述左圖像和右圖像,在步驟S1204,計算機(jī)C針對三維虛擬對象A通過菲涅耳衍射積分計算方法計算其在衍射距離處的波前復(fù)振幅函數(shù),即,模擬來自三維虛擬對象A的物光在衍射距離處的波前復(fù)振幅函數(shù),其中該波前復(fù)振幅函數(shù)包含該物光的振幅和相位信息??蛇x的,由于三維虛擬對象A是立體的,因此對于其不同的層面,可以根據(jù)不同層面的衍射距離分別計算波前復(fù)振幅函數(shù)并進(jìn)行疊加。然后在步驟S1206,計算機(jī)C根據(jù)所獲得的三維虛擬對象A的波前復(fù)振幅函數(shù),計算獲得數(shù)字全息圖。并且在步驟S1208,計算機(jī)C根據(jù)該數(shù)字全息圖計算獲得進(jìn)行虛擬現(xiàn)實的左圖像和右圖像。其中,關(guān)于數(shù)字全息圖以及左圖像和右圖像的產(chǎn)生和計算,將在后面結(jié)合附圖8-10進(jìn)行詳細(xì)說明。需要注意的是,盡管為了簡化說明,上述過程都是由相同的計算機(jī)C完成的,但是根據(jù)具體的實際情況,可以通過不同的計算裝置分別完成上述的各個步驟。下面繼續(xù)介紹附圖7中的步驟。
S708,利用新生成的左右圖像更新左右輸入數(shù)據(jù)。
S710,利用更新后的左右輸入數(shù)據(jù)進(jìn)行左右畫面的分屏顯示。
S712,利用顯示設(shè)備對左右眼的畫面分別進(jìn)行過濾,使得左眼畫面只能由左眼看到以及所述右眼畫面只能由右眼看到。
S714,用戶在看到所述左右眼畫面后形成立體的視覺。
可選地,實施例7還包括對全息圖進(jìn)行魯棒性檢測的流程,具體的,在全息記錄(步驟S704)之后,在步驟S716對生成的數(shù)字全息圖進(jìn)行魯棒性攻擊,例如,對全息圖進(jìn)行裁剪、壓縮以及施加噪聲等處理。并且在步驟S718對進(jìn)行魯棒性攻擊后的全息圖進(jìn)行再現(xiàn),以進(jìn)行魯棒性判斷。從而在通過魯棒性檢測后,在步驟S706,再現(xiàn)生成的左右圖像。
下面結(jié)合圖8中的效果圖,來說明對三維虛擬對象A進(jìn)行全息記錄以及最終生成左圖像和右圖像的過程。
首先,在步驟S702獲取三維虛擬對象A,如圖8(a)所示。其中圖8(a)示出了關(guān)于三維虛擬對象A(即泰迪熊)的圖像。并且其中,圖像大小為360×300,觀測距離(本文中,觀測距離與前面所述的衍射距離以及預(yù)設(shè)記錄距離相對應(yīng),為同一距離在不同應(yīng)用場景下的表述)為z。
然后,在步驟S704進(jìn)行全息記錄,即通過菲涅爾衍射積分方法,計算出三維虛擬對象A在觀測距離z(即泰迪熊圖像到全息圖平面的距離)的波前函數(shù)OZ,包括振幅和相位信息。即,對泰迪熊圖像進(jìn)行距離為z的菲涅爾衍射積分運算,并根據(jù)預(yù)定的參考光信息,模擬與參考光的干涉而計算得到全息圖,從而完成三維信息的記錄。其中,圖8(b)示出了設(shè)定從虛擬對象A反射的物光與參考光的夾角為30°時,計算生成的離軸全息圖。
然后在步驟S706再現(xiàn)生成左右圖像,根據(jù)模擬從所述左視點和右視點發(fā)出的光線照射到所述數(shù)字全息圖時的入射角,基于生成所述數(shù)字全息圖的參考光信息,計算生成與所有視點對應(yīng)的左右圖像。其中圖8(c)是根據(jù)全息圖圖8(b),模擬參考光相對于全息圖的入射角為15°時再現(xiàn)的與左視點對應(yīng)的左圖像,再現(xiàn)距離z=500mm(即從左視點到全息圖的距離,與上述觀測距離大小相同),大小為360×300。圖8(d)是根據(jù)全息圖圖8(b),模擬參考光相對于全息圖的入射角為45°時再現(xiàn)的與右視點對應(yīng)圖像,再現(xiàn)距離z=500mm(即從右視點到全息圖的距離,與上述觀測距離大小相同),大小為360×300。
進(jìn)而在步驟S708,利用生成的左右圖像圖8(c)和圖8(d),更新左右輸入數(shù)據(jù),并在步驟S710利用更新后的左右輸入數(shù)據(jù)進(jìn)行左右畫面的分屏顯示。并最終在步驟S714形成立體視覺。
下面結(jié)合圖9中的效果圖,說明對全息圖進(jìn)行的魯棒性檢測。
其中圖9(a)是對全息圖9(b)進(jìn)行圓形裁剪攻擊后的全息圖。圖9(b)是利用裁剪后的全息圖再現(xiàn)的圖像,其是模擬參考光相對于全息圖的入射角為30°時再現(xiàn)的圖像,其中的再現(xiàn)距離z=500mm;而圖9(c)是根據(jù)全息圖圖9(a),模擬參考光相對于全息圖的入射角為15°時再現(xiàn)的與左視點對應(yīng)的左圖像,再現(xiàn)距離z=500mm。圖9(d)是根據(jù)全息圖圖9(a),模擬參考光相對于全息圖的入射角為45°時再現(xiàn)的與右視點對應(yīng)圖像,再現(xiàn)距離z=500mm。
根據(jù)圖9可以看出,本申請的方法具有非常好的魯棒性。
生成全息圖以及再現(xiàn)左右圖像的具體算法及原理
下面說明本申請的用于生成全息圖以及再現(xiàn)左右圖像的具體算法及原理,并且以下記載的用于生成全息圖以及再現(xiàn)左右圖像的方法適用于前面任意一項實施例中的有關(guān)生成全息圖以及再現(xiàn)左右圖像的操作。
算法及原理
具體地,算法及原理一是通過菲涅耳衍射積分計算三維虛擬對象的波前復(fù)振幅函數(shù),采用波前信息疊加的方法生成全息圖,具體如下:
步驟1)計算從三維虛擬對象反射的物光的物光波前復(fù)振幅
首先,可以通過下述(公式1)計算衍射距離為d的物光波前復(fù)振幅函數(shù):
其中,d為衍射距離,(x0,y0)為初始物波平面上與坐標(biāo)x0和y0對應(yīng)的點,O(x0,y0)為初始物波平面信息函數(shù),U(x,y)為經(jīng)過衍射距離為d的物光波前復(fù)振幅函數(shù),λ為物光的波長,j為虛數(shù)單位,k為波數(shù),x0、y0為原始物平面坐標(biāo),x、y為經(jīng)過衍射距離d衍射的波前函數(shù)平面坐標(biāo)。
然后,對(公式1)進(jìn)行積分處理,將與積分變量無關(guān)的項提到積分號前,得到(公式2):
從上述(公式2)中可以看出,(公式2)是對做了一次傅里葉變換,然后,將變換結(jié)果再乘以一個二次相位因子,即就可以得到經(jīng)衍射距離d衍射之后的物光波前復(fù)振幅。為了利用快速傅立葉變換FFT計算上式,可以F表示傅立葉變換,物平面取樣寬度為L0,采樣數(shù)為N×N,采樣間距為Δx0=Δy0=L0/N,然后,將上述(公式2)改寫為(公式3),即:
在(公式3)中,Δx=Δy是離散傅立葉變換后對應(yīng)的空域采樣間距,此時,根據(jù)傅立葉變換和離散傅立葉變換的關(guān)系,可以得到(公式4):其中,(公式4)中L為經(jīng)衍射距離d的衍射圖樣采樣范圍。將(公式4)進(jìn)行變換得到(公式5):
另一方面,根據(jù)奈奎斯特取樣定理可知,當(dāng)只有滿足(公式6):所描述的條件時,離散計算結(jié)果才能近似滿足奈奎斯特取樣定理的衍射場。此時,物平面和衍射場平面的取樣寬度相等,并且由(公式5)可知,此時物平面和衍射場寬度相等,即
因此,以上結(jié)果表明,如果保持物平面的取樣間隔和觀測區(qū)域不變,離散傅立葉變換計算結(jié)果在觀測平面上的衍射圖樣取樣范圍L不僅是波長λ和取樣數(shù)N的函數(shù),并且會隨著衍射距離d的增加而增加。當(dāng)衍射距離很小時,如果取樣數(shù)N保持不變,計算結(jié)果只能對應(yīng)于觀測平面上鄰近光軸很小區(qū)域的衍射圖像。
步驟2)根據(jù)全息原理對三維虛擬對象A進(jìn)行全息制作,即模擬通過參考光干涉物光波前復(fù)振幅U(x,y),得到目標(biāo)全息圖IH(x,y),IH(x,y)包含了虛擬對象的三維信息(增幅和相位信息)。在本申請實施例中,可以通過下述(公式7)計算得到目標(biāo)全息圖,其中,R(x,y)表示參考光,U(x,y)表示經(jīng)過衍射的物光波前復(fù)振幅函數(shù)(即,上述波前信息),R*(x,y)表示參考光共軛,U*(x,y)表示物光波前復(fù)振幅函數(shù)共軛。
步驟3)根據(jù)虛擬現(xiàn)實系統(tǒng)的視點需求,生成與左視點和右視點對應(yīng)的左圖像和右圖像。即模擬不同的參考光入射角(即入射的參考光與全息圖的法線的夾角),對全息圖進(jìn)行再現(xiàn)。當(dāng)參考光為R(x,y),菲涅耳全息圖為IH(x,y)時,再現(xiàn)的光場分布為:
式8)中,F(xiàn)為函數(shù)傅立葉變換符號,d為衍射距離,λ為波長,j為虛數(shù)單位,k為波數(shù),(x,y)為經(jīng)過衍射距離d衍射的波前函數(shù)生成的全息圖平面坐標(biāo),(x′,y′)為經(jīng)過參考光照射全息圖生成的再現(xiàn)像平面坐標(biāo),(Δx′,Δy′)對應(yīng)空域采樣間距。下面,參考附圖10所示對步驟3)做出具體說明。
首先,人眼的視場角范圍是30度到100度,全息再現(xiàn)時,根據(jù)人眼視場角范圍選擇符合系統(tǒng)需求的左視點和右視點,并根據(jù)參考光設(shè)定與左視點和右視點對應(yīng)的左視點再現(xiàn)參考光和右視點再現(xiàn)參考光。例如,設(shè)定再現(xiàn)時再現(xiàn)參考光入射角度為α,則再現(xiàn)參考光的表達(dá)式變?yōu)镽(x,y)exp(jkxsinα)。根據(jù)公式(8),將次再現(xiàn)參考光表達(dá)式代入公式(8)中:
由公式(9)可以看出,入射角度只影響到了再現(xiàn)結(jié)果的相位信息。因此,選擇兩個不同的入射角度α,即選擇出兩個不同相位信息的再現(xiàn)參考光,從而在對應(yīng)左右視點上,再現(xiàn)生成系統(tǒng)需要的左右圖像。
上述本申請實施例序號僅僅為了描述,不代表實施例的優(yōu)劣。
在本申請的上述實施例中,對各個實施例的描述都各有側(cè)重,某個實施例中沒有詳述的部分,可以參見其他實施例的相關(guān)描述。
在本申請所提供的幾個實施例中,應(yīng)該理解到,所揭露的技術(shù)內(nèi)容,可通過其它的方式實現(xiàn)。其中,以上所描述的裝置實施例僅僅是示意性的,例如所述單元或模塊的劃分,僅僅為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式,例如多個單元或模塊或組件可以結(jié)合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,模塊或單元的間接耦合或通信連接,可以是電性或其它的形式。
所述作為分離部件說明的單元或模塊可以是或者也可以不是物理上分開的,作為單元或模塊顯示的部件可以是或者也可以不是物理單元或模塊,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元或模塊上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部單元或模塊來實現(xiàn)本實施例方案的目的。
另外,在本申請各個實施例中的各功能單元或模塊可以集成在一個處理單元或模塊中,也可以是各個單元或模塊單獨物理存在,也可以兩個或兩個以上單元或模塊集成在一個單元或模塊中。上述集成的單元或模塊既可以采用硬件的形式實現(xiàn),也可以采用軟件功能單元或模塊的形式實現(xiàn)。
所述集成的單元如果以軟件功能單元的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,可以存儲在一個計算機(jī)可讀取存儲介質(zhì)中。基于這樣的理解,本申請的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機(jī)軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計算機(jī)設(shè)備(可為個人計算機(jī)、服務(wù)器或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本申請各個實施例所述方法的全部或部分步驟。而前述的存儲介質(zhì)包括:U盤、只讀存儲器(ROM,Read-Only Memory)、隨機(jī)存取存儲器(RAM,Random Access Memory)、移動硬盤、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
以上所述僅是本申請的優(yōu)選實施方式,應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本申請原理的前提下,還可以做出若干改進(jìn)和潤飾,這些改進(jìn)和潤飾也應(yīng)視為本申請的保護(hù)范圍。