合成增強現(xiàn)實環(huán)境的構(gòu)造
【專利摘要】揭示了涉及產(chǎn)生合成環(huán)境模型并從模型渲染各圖像的各實施例,其中合成環(huán)境模型從環(huán)境的三維表示中導(dǎo)出。例如,所揭示的一個實施例提供了一種方法,該方法包括檢測利用環(huán)境的三維表示來構(gòu)建合成環(huán)境模型的觸發(fā),并且響應(yīng)于該觸發(fā),獲得合成圖像元素的集合以供在構(gòu)造該合成環(huán)境模型時使用。該方法還包括根據(jù)一組規(guī)則將來自合成圖像元素的集合的一個或多個元素適配到環(huán)境的三維表示以產(chǎn)生合成環(huán)境模型,并從合成環(huán)境模型渲染圖像供顯示,該圖像示出代替環(huán)境中的現(xiàn)實世界拓撲的來自合成圖像元素的集合的一個或多個元素。
【專利說明】合成増強現(xiàn)實環(huán)境的構(gòu)造
[0001 ] 背景
[0002]增強現(xiàn)實系統(tǒng)可被配置來捕捉現(xiàn)實世界環(huán)境的圖像,并渲染包括虛擬對象的合成圖像,其中虛擬對象被顯示為現(xiàn)實世界圖像的至少一部分上的覆蓋。以此方式,虛擬對象可被添加到現(xiàn)實世界圖像以提供現(xiàn)實世界的增強視圖。
[0003]概述
[0004]揭示了涉及產(chǎn)生合成環(huán)境模型并從模型渲染各圖像的各實施例,其中合成環(huán)境模型從環(huán)境的三維表示中導(dǎo)出。例如,一個所揭示的實施例提供了一種方法,該方法包括檢測利用環(huán)境的三維表示來構(gòu)建合成環(huán)境模型的觸發(fā),并且響應(yīng)于該觸發(fā),獲得合成圖像元素的集合以用于構(gòu)造該合成環(huán)境模型。該方法還包括將來自合成圖像元素的集合的一個或多個元素根據(jù)產(chǎn)生合成環(huán)境模型的一組規(guī)則來適配到環(huán)境的三維表示,并從合成環(huán)境模型渲染圖像供顯示,該圖像包括代替環(huán)境的三維表示中的現(xiàn)實世界元素的來自合成圖像元素的集合的一個或多個元素。
[0005]提供本概述以便以簡化的形式介紹以下在詳細描述中進一步描述的一些概念。本概述并不旨在標(biāo)識所要求保護主題的關(guān)鍵特征或必要特征,也不旨在用于限制所要求保護主題的范圍。而且,所要求保護的主題不限于解決該公開的任一部分中所注的任何或全部缺點的實現(xiàn)方式。
[0006]附圖簡述
[0007]圖1示出了根據(jù)本公開的一實施例的合成環(huán)境模型的示例渲染。
[0008]圖2示出根據(jù)本公開的一實施例的用于產(chǎn)生從環(huán)境的三維表示中導(dǎo)出的合成環(huán)境模型的系統(tǒng)的框圖。
[0009]圖3是描繪根據(jù)本公開的一實施例的用于產(chǎn)生從環(huán)境的三維表示中導(dǎo)出的合成環(huán)境模型的方法的流程圖。
[0010]圖4示出了根據(jù)本公開的一實施例的合成環(huán)境模型的渲染的另一示例。
[0011]圖5示出根據(jù)本公開的一實施例的計算設(shè)備的示例。
[0012]詳細描述
[0013]揭示了涉及基于所觀察的現(xiàn)實世界環(huán)境來生成合成環(huán)境模型的各實施例,其中現(xiàn)實世界環(huán)境中的三維表示中的元素用合成環(huán)境模型中的合成圖像元素(例如三維圖形模型)來代替。在從這樣的合成環(huán)境模型中渲染出的增強現(xiàn)實圖像中,合成元素代替現(xiàn)實世界元素,而不是被表示為現(xiàn)實世界元素之上的覆蓋。因此,使用這樣的合成環(huán)境模型可幫助簡化渲染(相比于渲染現(xiàn)實世界圖像的覆蓋),因為現(xiàn)實世界圖像和覆蓋兩者的渲染可能導(dǎo)致渲染現(xiàn)實世界圖像中被覆蓋遮擋的冗余數(shù)據(jù)。
[0014]圖1示出了包括通信地連接到顯示設(shè)備104和傳感器系統(tǒng)106的計算設(shè)備102的非限制性示例使用環(huán)境100。盡管環(huán)境100被示為房間,使用環(huán)境可以是任何合適的物理空間,包括室內(nèi)和/或室外環(huán)境。計算設(shè)備102可被用于玩各種不同的游戲、播放一個或多個不同的媒體類型、和/或控制或操縱非游戲應(yīng)用和/或操作系統(tǒng)。計算設(shè)備102可接收來自一個或多個控制設(shè)備108的輸入,控制設(shè)備108可包括任何合適的控制設(shè)備,諸如游戲控制器、遙控器、移動計算設(shè)備等。
[0015]傳感器系統(tǒng)106可包括可見光相機(例如,RGB相機)、立體或陣列相機系統(tǒng)、和/或深度相機(飛行時間和/或結(jié)構(gòu)化光深度相機)。例如,傳感器系統(tǒng)106可包括配置成對環(huán)境100進行成像的一個或多個傳感器、透鏡元素、和/或光源。由深度相機捕捉的深度圖像可指示每像素成像的表面的深度,以便提供關(guān)于環(huán)境100的一個或多個特征的信息。傳感器系統(tǒng)106可包括附加的傳感器,包括但不限于,一個或多個話筒(例如,指向性話筒陣列)。傳感器系統(tǒng)106可生成圖像并通過一個或多個接口經(jīng)由任何合適的有線或無線數(shù)據(jù)連接將圖像發(fā)送到計算設(shè)備102。
[0016]計算設(shè)備102可接收深度圖像和/或描述環(huán)境100的其它信息(例如,RGB圖像數(shù)據(jù)),該信息捕捉人、表面、對象、和/或形成環(huán)境100的現(xiàn)實世界拓撲的其它元素。捕捉這些現(xiàn)實世界元素的圖像數(shù)據(jù)可被用來生成環(huán)境100的三維表示。參見圖1,環(huán)境100包括諸如與瓶子114交互的用戶112、控制設(shè)備108、書116、和諸如桌子118、書架、和大衣架的家具項目之類的各元素。
[0017]盡管在圖1中例示出單個傳感器系統(tǒng)106,但是要理解一個或多個額外相機可被包括該環(huán)境中。在這樣的實施例中,每個相機可從與其它相機不同的視角對環(huán)境進行成像。此夕卜,一個或多個相機可在六個自由度中的任何一個中是可移動的(沿著三個垂直軸平移和繞三個垂直軸旋轉(zhuǎn)),以從不同視角隨時間捕捉環(huán)境的圖像。例如,集成到移動設(shè)備(諸如智能電話、平板電腦、膝上電腦)的相機可由用戶移動來從多個視角捕捉環(huán)境的圖像。類似地,用戶可拿著傳感器系統(tǒng)106環(huán)繞房間,同時傳感器系統(tǒng)106正在獲取圖像數(shù)據(jù)以由此掃描房間。
[0018]基于傳感器系統(tǒng)106獲取的圖像數(shù)據(jù),計算設(shè)備102可從傳感器系統(tǒng)106捕捉的全部視角生成現(xiàn)實世界環(huán)境的三維表示。該三維表示可采取任何合適的形式,包括但不限于點云和/或網(wǎng)格表示。從這樣的表示,計算設(shè)備102可接著通過根據(jù)一組規(guī)則(例如,全局規(guī)貝1J、用戶專用規(guī)則,和/或與合成圖像元素特定集合相關(guān)聯(lián)的規(guī)則)用合成圖像元素替換現(xiàn)實世界環(huán)境的三維表示的體素空間來構(gòu)建合成環(huán)境模型。
[0019]在某些實施例中,用合成元素代替現(xiàn)實世界表示中的各元素可以是交互式的,因為,用戶可指定要用來代替選定的現(xiàn)實世界對象的選定的合成元素。作為更特定的示例,用戶可例如通過指著現(xiàn)實世界對象(例如,桌子)來指示該對象,并接著可指示要用來代替該現(xiàn)實世界元素的合成圖像元素(例如,山)。用戶可以以任何合適的方式(包括但不限于,通過語音命令、手勢(例如,指向環(huán)境中的現(xiàn)實世界對象或位置或屏幕上顯示的合成圖像元素)、游戲控制器或其它物理致動器、觸屏等)來執(zhí)行這些輸入以從列表中選擇元素、搜索元素、瀏覽元素、或以其他方式指定元素以定義用戶專用規(guī)則。
[0020]得到的合成環(huán)境模型可接著被渲染以供作為增強現(xiàn)實呈現(xiàn)顯示在顯示設(shè)備104上。此外,隨著傳感器系統(tǒng)106的視圖改變(例如,對象/人在現(xiàn)實世界環(huán)境中移動,和/或傳感器系統(tǒng)106在現(xiàn)實世界環(huán)境中移動),可在所渲染的增強現(xiàn)實圖像中作出對應(yīng)的改變,使得對應(yīng)于現(xiàn)實世界對象的合成圖像元素表現(xiàn)為跟蹤對應(yīng)的現(xiàn)實世界對象的移動。
[0021]任何合適的合成圖像元素可被用來代替三維現(xiàn)實世界表示中的對象。在圖1的示例中,計算設(shè)備102用攻城引擎122的合成圖像元素來代替瓶子114的三維表示。此外,書116由城堡的合成圖像代替,書架和大衣架分別由寶箱和樹代替,用戶112由化身124代替。此夕卜,控制設(shè)備108由一對巖石代替,且桌子118由地理或拓撲特征代替。這些專用的合成圖像元素可對應(yīng)于針對特定游戲、游戲標(biāo)題等的合成圖像元素集合,或可以不與任何特定程序相關(guān)聯(lián)。如此,合成圖像元素的不同集合和用于使用合成圖像元素的對應(yīng)的規(guī)則可被用于不同增強現(xiàn)實呈現(xiàn)。應(yīng)當(dāng)理解圖1的示例是為了說明性示出的而不旨在進行限制,并且環(huán)境的三維模型中的任何合適的對象可由任何合適的合成圖像元素來代替。此外,增強現(xiàn)實圖像的至少部分可被渲染而不被合成圖像元素代替,而改為用RGB相機獲取的環(huán)境的圖像數(shù)據(jù)代替。
[0022]圖2示出根據(jù)本公開的一實施例的計算設(shè)備200的框圖,并示出了用于形成和/或渲染合成環(huán)境模型的系統(tǒng)的實施例。計算設(shè)備200包括用于生成并渲染從環(huán)境的三維表示導(dǎo)出的合成環(huán)境模型的圖像處理器202。圖2還示出了包括配置用于捕捉現(xiàn)實世界環(huán)境的深度圖像的深度相機的相機系統(tǒng)204。在某些實施例中相機系統(tǒng)還可包括RBG相機。
[0023]在圖2的實施例中,來自相機系統(tǒng)的圖像可經(jīng)由現(xiàn)實世界建模器206來處理,以生成現(xiàn)實世界環(huán)境的三維表示。三維表示可包括環(huán)境的點云表示、環(huán)境的網(wǎng)格表示、和/或環(huán)境的基于從環(huán)境內(nèi)各種視角獲取的深度數(shù)據(jù)的其它合適的表示。一旦現(xiàn)實世界環(huán)境的三維表示被形成,它可被存儲(例如,被描繪為存儲設(shè)備208上的“現(xiàn)實世界模型”)以供用于環(huán)境的增強現(xiàn)實圖像的將來渲染。
[0024]現(xiàn)實世界環(huán)境的三維表示可被提供給合成環(huán)境建模器216以供基于現(xiàn)實世界環(huán)境生成合成環(huán)境模型。合成環(huán)境建模器216可利用任何合適的信息來生成現(xiàn)實世界模型。例如,合成環(huán)境建模器216可(例如,從存儲設(shè)備208)接收一組合成模型生成信息,其中該組合成圖像生成信息可包括合成圖像元素的集合以及對應(yīng)的用于用合成圖像元素替代現(xiàn)實世界環(huán)境的三維表示中的特征的規(guī)則的集合。在某些實施例中,合成模型信息可采取插件的形式(例如在新的或更新的增強現(xiàn)實程序被計算設(shè)備200獲得時可被添加),和/或可采取任何其它合適的形式。
[0025]規(guī)則可指定,例如,哪些合成圖像元素要被用來代替三維現(xiàn)實世界表示中的哪些現(xiàn)實世界元素(例如基于現(xiàn)實世界元素標(biāo)識(例如,飲料瓶、人等)、基于對象大小、和/或基于任何其它合適的因素)。此外,如以下參考圖4所描述的,規(guī)則可指定如何將較小合成元素組裝成經(jīng)擴展的結(jié)構(gòu)。除了被結(jié)合在合成模型信息中的各規(guī)則之外,其它規(guī)則可與合成圖像元素的任何集合分開存儲,并被更全局地應(yīng)用。在某些實施例中,規(guī)則還可被用戶設(shè)置?,F(xiàn)實世界模型和/或合成模型構(gòu)造信息還可經(jīng)由網(wǎng)絡(luò)212從遠程位置(諸如遠程服務(wù)210)獲得。
[0026]合成環(huán)境建模器216產(chǎn)生的合成環(huán)境模型可被發(fā)送到圖像渲染器220來渲染可顯示的圖像以供顯示在顯示設(shè)備222上。此外,合成環(huán)境模型可(例如,經(jīng)由存儲設(shè)備202和/或遠程地)被存儲供以后使用。圖像渲染器220可產(chǎn)生示出來自替代如由相機以該相機的當(dāng)前視角成像的環(huán)境中的現(xiàn)實世界拓撲的合成圖像元素集合的一個或多個元素的圖像。例如,圖像渲染器220可將從相機實時接收的深度圖像信息與同現(xiàn)實世界環(huán)境模型相關(guān)聯(lián)的深度圖像信息進行比較以確定相機的當(dāng)前朝向和位置。相機的視圖可基于該朝向和位置信息來確定以將合成環(huán)境模型與獲取的深度數(shù)據(jù)對齊。
[0027]參考圖1的示例實施例,各規(guī)則可指定專用合成圖像元素(諸如圖1的攻城引擎122)總是代替諸如圖1的瓶子114的處在指定朝向的瓶子。這樣的規(guī)則可以是用戶設(shè)置的,或可是預(yù)設(shè)的。因此,當(dāng)瓶子由深度相機成像(例如,基于深度數(shù)據(jù)與描述先前掃描的對象和/或具有已知的特征對象的對象模型的對象數(shù)據(jù)庫的比較被標(biāo)識出)時,規(guī)則可被用來指示合成建模器來將對應(yīng)于攻城引擎的合成圖像元素適配到當(dāng)前由瓶子占據(jù)的體素空間(例如,通過用合成元素代替要被渲染的體素處的現(xiàn)實世界特征)。在渲染一個或多個體素以形成可顯示圖像之際,增強圖像(諸如圖1的顯示設(shè)備104上所示的圖像)可被顯示,使得攻城引擎代替圖像中的瓶子。因此,與覆蓋方法相反,瓶子不被渲染,并且攻城引擎不被渲染為要被顯示在瓶子之上的分開的層。
[0028]圖3是描繪用于從現(xiàn)實世界環(huán)境的三維表示中產(chǎn)生合成環(huán)境模型并基于該模型渲染圖像的方法300的實施例的流程圖。方法300可以由任何合適的計算設(shè)備來執(zhí)行,包括但不限于圖1 一2中描繪的那些。示例計算設(shè)備在以下被進一步詳細描述。
[0029]方法300包括,在302,檢測構(gòu)建合成環(huán)境模型的觸發(fā)。任何合適的觸發(fā)可被用來觸發(fā)對合成環(huán)境模型的構(gòu)建。例如,觸發(fā)可包括從現(xiàn)實世界建模器接收現(xiàn)實世界環(huán)境的三維表示,如在304所指示的。例如,在執(zhí)行和/或響應(yīng)于檢測到用深度相機對現(xiàn)實世界環(huán)境的掃描的完成時,這樣的觸發(fā)可被使用,并且該觸發(fā)可包括掃描操作和相關(guān)聯(lián)的處理已經(jīng)完成的消息。如上面所描述的,掃描現(xiàn)實世界環(huán)境可包括用一個或多個相機從一個或多個視角捕捉一個或多個圖像,并可包括用多個相機進行掃描,每個相機具有與其它相機不同的視圖(不同的視角)。在掃描期間,相機移動可以在移動的六個自由度的一個或多個中被跟蹤,以確定相機的姿態(tài)(例如,位置和朝向)。
[0030]在其它實例中,觸發(fā)可包括對請求構(gòu)造合成環(huán)境模型的用戶輸入的接收,如在306所示。例如,想要構(gòu)建自定義合成環(huán)境的用戶可提供定義模型生成的參數(shù)的輸入,諸如要被利用的合成圖像元素、用于將合成圖像元素應(yīng)用到現(xiàn)實世界環(huán)境的三維表示的規(guī)則、現(xiàn)實世界環(huán)境的三維表示的選擇,以及其它這樣的信息。術(shù)語“集合”包括一個或多個合成圖像元素的任何集合,并且可在用戶選擇各元素來使用時被預(yù)定義或定義。
[0031]在其它實例中,檢測觸發(fā)可包括從應(yīng)用接收對合成環(huán)境模型的構(gòu)造的請求,如在308所示。例如,在啟動應(yīng)用(諸如增強現(xiàn)實視頻游戲應(yīng)用)之際,應(yīng)用可請求合成環(huán)境模型的構(gòu)造,以利用增強現(xiàn)實圖像作為交互游戲空間。其中觸發(fā)包括用戶輸入或來自應(yīng)用的請求、先前生成的現(xiàn)實世界環(huán)境的三維表示可被用來形成合成環(huán)境模型,或用戶可被請求在形成合成環(huán)境模型之前執(zhí)行環(huán)境掃描來構(gòu)建現(xiàn)實世界環(huán)境的三維表示。
[0032]在310,方法300包括獲得合成圖像元素的集合。合成圖像元素的集合可基于指定該合成圖像元素的集合的用戶輸入、基于利用該合成元素的集合的程序的身份(例如,游戲應(yīng)用)、基于所觀察的現(xiàn)實世界環(huán)境(例如,基于現(xiàn)實世界環(huán)境內(nèi)的各對象的身份)來選擇或以任何其它合適發(fā)方式來選擇。
[0033]接著,在312,方法300包括將合成圖像元素適配到表示要用合成元素來代替的現(xiàn)實世界元素的體素空間。這樣的體素空間可通過使用標(biāo)識功能(例如,分類器)來標(biāo)識現(xiàn)實世界環(huán)境的三維表示中的對象來被標(biāo)識。合成圖像元素的適配可根據(jù)一組規(guī)則來執(zhí)行,如在314所指示的,該組規(guī)則可被用戶預(yù)定義和/或設(shè)置。例如,用戶可指定要被替代現(xiàn)實世界對象和/或要用來代替現(xiàn)實世界對象的一個或多個合成圖像元素。預(yù)定義的規(guī)則可接著被用來執(zhí)行實際的適配過程(例如,通過利用指定哪些合成圖像元素要以什么朝向、接近哪些其它合成元素被適配到現(xiàn)實世界對象的哪些部分等的規(guī)則)。合成圖像元素的適配還可涉及如合成圖像元素的旋轉(zhuǎn)、縮放等這樣的過程。
[0034]作為更特定的示例,用戶可通過姿勢輸入(例如,指著瓶子)來指定要被代替的現(xiàn)實世界對象,并接著通過語音輸入指定哪個合成元素(例如,“攻城引擎”)將代替該對象。輸入可由姿勢識別和語音標(biāo)識的組合來檢測。這個用戶定義的規(guī)則可接著在將來渲染合成模型時被應(yīng)用,使得瓶子被渲染為攻城引擎,并且其它規(guī)則可指定關(guān)于如何將攻城引擎合成元素適配到瓶子的細節(jié)。
[0035]以此方式,合成環(huán)境模型通過用適配到包括現(xiàn)實世界表示中的體素的體素空間的合成圖像元素代替那些體素來被產(chǎn)生。將理解,如果某些體素不用合成圖像元素代替,那么通過對現(xiàn)實世界環(huán)境進行成像的相機(例如RGB相機)獲得的圖像數(shù)據(jù)可被適配到那些體素以產(chǎn)生包括現(xiàn)實世界圖像和虛擬圖像元素兩者的增強現(xiàn)實圖像。
[0036]繼續(xù),方法300包括,在316,例如,通過RGB相機和/或深度相機獲得環(huán)境的實時圖像數(shù)據(jù)。圖像數(shù)據(jù)可與現(xiàn)實世界環(huán)境模型和/或合成環(huán)境模型進行比較,以確定相機的朝向和位置。方法300接著包括從合成環(huán)境模型渲染可顯示圖像,如在318所指示的。渲染可顯示圖像可包括對合成環(huán)境模型的圖形元素執(zhí)行一個或多個圖像處理例程,以創(chuàng)建二維圖像以供顯示在顯示設(shè)備上。例如,二維圖像可通過執(zhí)行光線投射來生成,如在320所指示的。在光線投射時,對于被渲染的二維圖像的每個像素,光線可從提供實時圖像數(shù)據(jù)的相機的視角被投射通過合成圖像模型的體素。對于其中合成環(huán)境模型中與每根光線相交的第一表面被定義為透明的實施例,該第一表面可定義要被渲染的表面,并且在這些位置的合成圖像元素可代替在那些位置的現(xiàn)實世界數(shù)據(jù)來被渲染,而非作為覆蓋。在某些實例中,與光線相交的表面可被定義為至少部分透明。在這樣的實例中,那個表面后面的一個或多個也可用合成圖像元素來渲染。類似地,RGB相機獲取的現(xiàn)實世界圖像可被顯示以得到?jīng)]有合成圖像元素的任何體素。渲染可顯示圖像可包括通過執(zhí)行加陰影、紋理化、反射、投射和/或其它合適的圖像處理例程來調(diào)整一個或多個體素的圖像數(shù)據(jù)以產(chǎn)生二維圖像。
[0037]圖像中的合成圖像元素代替環(huán)境的所渲染圖像中的現(xiàn)實世界拓撲,如上面所提及的。這可允許覆蓋圖像的渲染被忽略,這可幫助避免在覆蓋圖像渲染中發(fā)生的冗余渲染。
[0038]從合成環(huán)境模型渲染的圖像可隨用戶與增強現(xiàn)實體驗進行交互而被實時更新。因此,如在322所指示的,方法300可包括通過經(jīng)由通信地耦合到計算設(shè)備的相機獲取的圖像數(shù)據(jù)來標(biāo)識現(xiàn)實世界對象的移動,如在324所指示的,并基于現(xiàn)實世界對象的移動來更新所渲染的圖像,如在326所指示的。例如,更新圖像的所渲染視圖可包括調(diào)整合成圖像元素的位置以將該元素與對應(yīng)的現(xiàn)實世界對象的新位置對齊。參考圖1所示的示例,用戶112對瓶子114的移動可觸發(fā)顯示在顯示設(shè)備104上的圖像的更新,以將攻城引擎122示出在經(jīng)更新的位置中。作為更特定的示例,現(xiàn)實世界環(huán)境中瓶子114朝著書架和大衣架的方向的移動可導(dǎo)致攻城引擎122朝著可顯示圖像中的寶箱和樹的相等或成比例的移動量。
[0039]在某些實例中,合成圖像元素的所顯示的移動速度可基于現(xiàn)實世界對象的移動速度和/或呈現(xiàn)該增強現(xiàn)實體驗的應(yīng)用(例如,視頻游戲)提供的預(yù)定義速度限制。例如,與瓶子114相關(guān)聯(lián)的合成圖像元素(例如,攻城引擎)可具有相關(guān)聯(lián)的最大和/或最小速度。響應(yīng)于瓶子114的移動,攻城引擎122從初始位置移動到經(jīng)更新位置的動畫可以以與瓶子114在現(xiàn)實世界環(huán)境中的移動速度相等、成比例的速度或以其他方式基于該速度的速度來呈現(xiàn)該調(diào)整。如果瓶子114在現(xiàn)實世界環(huán)境中的移動速度高于或低于最大或最小速度,則攻城引擎的移動的動畫化呈現(xiàn)的速度可分別被設(shè)置到最大或最小速度。進一步,在某些實施例中,針對被定義為不被許可的移動,現(xiàn)實世界對象的移動可不反映在對應(yīng)的合成圖像元素中。例如,如果瓶子114的移動將對應(yīng)于攻城引擎122在合成環(huán)境中不能達到的位置的移動(例如,如果移動將把攻城引擎置于山頂而沒有路通向山頂),則攻城引擎122可不響應(yīng)于移動瓶子114而從初始位置移動。
[0040]圖4示出了渲染合成環(huán)境模型以便以增強的形式示出現(xiàn)實世界對象的表示的另一示例實施例。環(huán)境400包括向顯示設(shè)備404提供可顯示輸出的計算設(shè)備402。相機406可被可通信地連接到計算設(shè)備402以提供現(xiàn)實世界環(huán)境400的圖像以供計算設(shè)備402進行處理。[0041 ]在圖4所示的示例中,諸如長椅408、書架410、和大衣架412之類的對象被從合成圖像元素以構(gòu)件塊的形式形成的類似形狀對象代替。例如,長椅、書架、和大衣架中的每一個在顯示設(shè)備404上的可顯示圖像中被表示為表現(xiàn)為是被連接以形成類似相應(yīng)的對象的形狀的構(gòu)件塊414的集合的對象。在此示例中,規(guī)則可指定要基于關(guān)于對象大小、形狀、和/或其它合適因素的規(guī)則為對象使用哪些構(gòu)件塊(例如,大小、顏色、形狀)。
[0042]在某些實施例中,本文所述的方法和過程可以與一個或多個計算設(shè)備的計算系統(tǒng)綁定。具體而言,這樣的方法和過程可以實現(xiàn)為計算機應(yīng)用程序或服務(wù)、應(yīng)用程序編程接口(API)、庫和/或其他計算機程序產(chǎn)品。
[0043]圖5示意性地示出計算系統(tǒng)500的非限制性實施例,該計算系統(tǒng)可以進行上述方法和過程中的一個或多個。計算系統(tǒng)500以簡化形式示出。計算系統(tǒng)500可采取以下形式:一個或多個個人計算機、服務(wù)器計算機、平板計算機、家庭娛樂計算機、網(wǎng)絡(luò)計算設(shè)備、游戲設(shè)備、移動計算設(shè)備、移動通信設(shè)備(例如,智能電話),和/或其他計算設(shè)備,這些計算設(shè)備包括但不限于圖1和2的上下文中描述的那些。
[0044]計算系統(tǒng)500包括邏輯設(shè)備502和存儲設(shè)備504。計算系統(tǒng)500可任選地包括顯示子系統(tǒng)506、輸入子系統(tǒng)508、通信子系統(tǒng)510和/或在圖5中未示出的其他組件。
[0045]邏輯設(shè)備502包括被配置為執(zhí)行指令的一個或多個物理設(shè)備。例如,邏輯設(shè)備可以被配置成執(zhí)行指令,所述指令是一個或多個應(yīng)用、服務(wù)、程序、例程、庫、對象、部件、數(shù)據(jù)結(jié)構(gòu)或其他邏輯構(gòu)造的一部分。這種指令可被實現(xiàn)以執(zhí)行任務(wù)、實現(xiàn)數(shù)據(jù)類型、轉(zhuǎn)換一個或多個部件的狀態(tài)、實現(xiàn)技術(shù)效果、或以其他方式得到期望結(jié)果。
[0046]邏輯設(shè)備可以包括被配置成執(zhí)行軟件指令的一個或多個處理器。附加地或替換地,邏輯設(shè)備可以包括被配置成執(zhí)行硬件或固件指令的一個或多個硬件或固件邏輯設(shè)備。邏輯設(shè)備的處理器可以是單核的或多核的,其上執(zhí)行的指令可以被配置用于串行、并行和/或分布式處理。邏輯設(shè)備的個體組件可任選地分布在兩個或更多個分開的設(shè)備之間,所述設(shè)備可以位于遠程以及/或者被配置用于協(xié)同處理。邏輯設(shè)備的各方面可由以云計算配置進行配置的可遠程訪問的聯(lián)網(wǎng)計算設(shè)備來虛擬化和執(zhí)行。
[0047]存儲設(shè)備504包括被配置成保持可由邏輯設(shè)備執(zhí)行的指令以實現(xiàn)此處描述的方法和過程的一個或多個物理設(shè)備。當(dāng)實現(xiàn)這樣的方法和過程時,存儲設(shè)備504的狀態(tài)可以被變化一一例如以保持不同的數(shù)據(jù)。
[0048]存儲設(shè)備504可以包括可移動和/或內(nèi)置設(shè)備。存儲設(shè)備504可以包括光學(xué)存儲器(例如,CD、DVD、HD-DVD、藍光碟等)、半導(dǎo)體存儲器(例如,RAM、EPROM、EEPROM等)和/或磁性存儲器(例如,硬盤驅(qū)動器、軟盤驅(qū)動器、磁帶驅(qū)動器、MRAM等)、等等。存儲設(shè)備504可包括易失性、非易失性、動態(tài)、靜態(tài)、讀/寫、只讀、隨機存取、順序存取、位置可尋址、文件可尋址和/或內(nèi)容可尋址設(shè)備。
[0049]將理解,存儲設(shè)備504包括一個或多個物理設(shè)備,并排除傳播信號自身。然而,本文所述的指令的各方面替代地可由通信介質(zhì)(如電磁信號、光學(xué)信號等)來傳播,而不是存儲在存儲設(shè)備上。
[0050]邏輯設(shè)備502和存儲設(shè)備504的各方面可以被一起集成到一個或多個硬件邏輯組件中。這種硬件邏輯組件可以包括例如場可編程門陣列(FPGA)、程序和應(yīng)用專用集成電路(PASIC/ASIC)、程序和應(yīng)用專用標(biāo)準(zhǔn)產(chǎn)品(PSSP/ASSP)、片上系統(tǒng)(SOC)以及復(fù)雜可編程邏輯器件(CPLD)。
[0051]術(shù)語“程序”可用于描述被實現(xiàn)來執(zhí)行特定功能的計算系統(tǒng)500的一方面。在某些情況下,可以經(jīng)由執(zhí)行存儲設(shè)備504所保持的指令的邏輯設(shè)備502來實例化程序。將理解,可以從同一應(yīng)用、服務(wù)、代碼塊、對象、庫、例程、AP1、函數(shù)等實例化不同的模塊。類似地,相同的模塊可由不同的應(yīng)用、服務(wù)、代碼塊、對象、例程、AP1、功能等來實例化。術(shù)語“程序”可涵蓋單個或成組的可執(zhí)行文件、數(shù)據(jù)文件、庫、驅(qū)動程序、腳本、數(shù)據(jù)庫記錄等。
[0052]應(yīng)該理解,在此使用的“服務(wù)”是跨多個用戶會話可執(zhí)行的應(yīng)用程序。服務(wù)可用于一個或多個系統(tǒng)組件、程序和/或其他服務(wù)。在某些實現(xiàn)中,服務(wù)可以在一個或多個服務(wù)器計算設(shè)備上運行。
[0053]在包括顯示子系統(tǒng)506時,顯示子系統(tǒng)506可用于呈現(xiàn)由存儲設(shè)備504所保持的數(shù)據(jù)的視覺表示。該視覺表示可以采用圖形用戶界面(GUI)的形式。由于此處所描述的方法和過程改變了由存儲設(shè)備保持的數(shù)據(jù),并由此變換存儲設(shè)備的狀態(tài),因此同樣可以變換顯示子系統(tǒng)506’的狀態(tài)以可視地表示底層數(shù)據(jù)的改變。顯示子系統(tǒng)506可以包括使用實質(zhì)上任何類型的技術(shù)的一個或多個顯示設(shè)備。這樣的顯示設(shè)備可與邏輯設(shè)備502和/或存儲設(shè)備504—起組合在共享封裝中,或者這樣的顯示設(shè)備可以是外圍顯示設(shè)備。例如,顯示子系統(tǒng)506可包括圖1的顯示設(shè)備104。
[0054]當(dāng)被包括時,輸入子系統(tǒng)508可包括諸如鍵盤、鼠標(biāo)、觸摸屏或游戲控制器等一個或多個用戶輸入設(shè)備或者與這些用戶輸入設(shè)備對接。在一些實施例中,輸入子系統(tǒng)可以包括或相接于所選擇的自然用戶輸入(NUI)部件。這種元件部分可以是集成的或外圍的,輸入動作的轉(zhuǎn)導(dǎo)和/或處理可以在板上或板外被處理。NUI部件的示例可包括用于語言和/或語音識別的話筒;用于機器視覺和/或姿勢識別的紅外、色彩、立體顯示和/或深度相機;用于運動檢測和/或意圖識別的頭部跟蹤器、眼睛跟蹤器、加速計和/或陀螺儀;以及用于評估腦部活動的電場感測部件。
[0055]在包括通信子系統(tǒng)510時,通信子系統(tǒng)510可以被配置成將計算系統(tǒng)500與一個或多個其他計算設(shè)備通信耦合。例如,圖2的通信模塊214可通過網(wǎng)絡(luò)將計算設(shè)備200通信地耦合到遠程服務(wù)210。通信子系統(tǒng)510可以包括與一個或多個不同通信協(xié)議兼容的有線和/或無線通信設(shè)備。作為非限制性示例,通信子系統(tǒng)可以被配置用于經(jīng)由無線電話網(wǎng)絡(luò)、或者有線或無線局域網(wǎng)或廣域網(wǎng)來通信。在一些實施例中,通信子系統(tǒng)可允許計算系統(tǒng)500經(jīng)由諸如因特網(wǎng)這樣的網(wǎng)絡(luò)將消息發(fā)送至其他設(shè)備以及/或者從其他設(shè)備接收消息。
[0056]將會理解,此處描述的配置和/或方法本質(zhì)是示例性的,這些具體實施例或示例不應(yīng)被視為限制性的,因為許多變體是可能的。此處描述的具體例程或方法可以表示任何數(shù)量的處理策略中的一個或多個。如此,所示和/或所述的各種動作可以以所示和/或所述順序、以其他順序、并行地執(zhí)行,或者被省略。同樣,上述過程的次序可以改變。
[0057]本公開的主題包括各種過程、系統(tǒng)和配置以及此處公開的其他特征、功能、動作和/或?qū)傩?、以及它們的任一和全部等價物的所有新穎且非顯而易見的組合和子組合。
【主權(quán)項】
1.在一個計算設(shè)備上,一種顯示圖像的方法,所述方法包括: 檢測利用環(huán)境的三維表示來構(gòu)建合成環(huán)境模型的觸發(fā); 響應(yīng)于所述觸發(fā),獲取合成圖像元素的集合以供在構(gòu)造所述合成環(huán)境模型時使用;根據(jù)一組規(guī)則,將來自所述合成圖像元素的集合的一個或多個元素適配到所述環(huán)境的所述三維表示,以產(chǎn)生所述合成環(huán)境模型;以及 從所述合成環(huán)境模型渲染所述圖像用于顯示,所述圖像示出代替所述環(huán)境中的現(xiàn)實世界拓撲的來自所述合成圖像元素的集合的一個或多個元素。2.如權(quán)利要求1所述從方法,其特征在于,所述合成圖像元素的集合是從多個合成圖像元素的集合中選擇的。3.如權(quán)利要求2所述的方法,其特征在于,所述合成圖像元素的集合是基于要被所述一個或多個元素代替的一個或多個現(xiàn)實世界對象的每一個的身份來選擇的。4.如權(quán)利要求1所述從方法,其特征在于,將元素適配到所述三維表示包括執(zhí)行所述元素的旋轉(zhuǎn)和縮放中的一個或多個。5.—種計算系統(tǒng),包括: 顯不設(shè)備; 相機; 邏輯子系統(tǒng);以及 配置用于保持能夠由邏輯子系統(tǒng)執(zhí)行的指令以進行以下操作的存儲設(shè)備: 檢測利用環(huán)境的三維表示來構(gòu)建合成環(huán)境模型的觸發(fā); 響應(yīng)于所述觸發(fā),獲取合成圖像元素的集合以供在構(gòu)造所述合成環(huán)境模型時使用; 對于要被渲染的一個或多個體素空間的每一個,根據(jù)一組規(guī)則,將來自所述合成圖像元素的集合的一個或多個元素適配到所述體素空間,以產(chǎn)生所述合成環(huán)境模型;以及 從所述合成環(huán)境模型渲染圖像用于顯示,所述圖像包括代替所述環(huán)境中的現(xiàn)實世界對象的來自所述合成圖像元素的集合的一個或多個元素。6.如權(quán)利要求5所述的計算系統(tǒng),其特征在于,所述環(huán)境的所述三維表示通過從多個視角掃描所述環(huán)境以獲取所述環(huán)境的圖像數(shù)據(jù)來確定。7.如權(quán)利要求5所述的計算系統(tǒng),其特征在于,所述指令還可被執(zhí)行以接收對所述環(huán)境中的要用來自所述合成圖像元素的集合的一個或多個元素代替的現(xiàn)實世界對象進行選擇的用戶輸入。8.如權(quán)利要求5所述的計算系統(tǒng),其特征在于,所述環(huán)境的所述三維表示是通過通信子系統(tǒng)從所述遠程服務(wù)接收的。9.如權(quán)利要求5所述的計算系統(tǒng),其特征在于,所述環(huán)境的所述三維表示被存儲在所述存儲設(shè)備上。10.如權(quán)利要求5所述的計算系統(tǒng),其特征在于,所述指令還可被執(zhí)行以基于從相機接收的數(shù)據(jù)標(biāo)識現(xiàn)實世界對象的移動,并基于所述現(xiàn)實世界對象的移動更新所渲染的圖像。
【文檔編號】G06T19/20GK105981076SQ201480060644
【公開日】2016年9月28日
【申請日】2014年11月4日
【發(fā)明人】D·莫利內(nèi)奧克斯, C·懷特, A·曹
【申請人】微軟技術(shù)許可有限責(zé)任公司