增強(qiáng)現(xiàn)實(shí)仿真連續(xù)體的制作方法
【專利摘要】本發(fā)明提供了增強(qiáng)現(xiàn)實(shí)仿真連續(xù)體。描述了用于利用增強(qiáng)現(xiàn)實(shí)設(shè)備來(lái)仿真交互的技術(shù)。實(shí)施例捕捉視覺場(chǎng)景以供顯示,其中視覺場(chǎng)景是利用一個(gè)或多個(gè)相機(jī)設(shè)備捕捉的。實(shí)施例仿真第一物理對(duì)象與一個(gè)或多個(gè)虛擬對(duì)象之間的動(dòng)態(tài)交互。此外,渲染幀的序列以供顯示,這些幀描繪所仿真的第一物理對(duì)象與一個(gè)或多個(gè)虛擬對(duì)象之間的動(dòng)態(tài)交互。
【專利說(shuō)明】增強(qiáng)現(xiàn)實(shí)仿真連續(xù)體
【技術(shù)領(lǐng)域】
[0001]本發(fā)明概括而言涉及人類-計(jì)算機(jī)界面,更具體而言涉及用于在增強(qiáng)現(xiàn)實(shí)(augmented reality)設(shè)備上仿真動(dòng)態(tài)交互的技術(shù)。
【背景技術(shù)】
[0002]自從視頻游戲最初被開發(fā)出來(lái)以來(lái),計(jì)算機(jī)圖形技術(shù)已取得很大進(jìn)展。相對(duì)便宜的3D圖形引擎現(xiàn)在在只花費(fèi)幾百美元的手持式視頻游戲、家庭視頻游戲和個(gè)人計(jì)算機(jī)硬件平臺(tái)上提供幾乎相片般逼真的交互式游戲玩法。這些視頻游戲系統(tǒng)通常包括手持控制器、游戲控制器或者在手持式視頻游戲平臺(tái)的情況下包括集成控制器。用戶或玩家使用控制器來(lái)向視頻游戲系統(tǒng)發(fā)送命令或其他指令以控制視頻游戲或正在播放的其他仿真。例如,控制器可設(shè)有由用戶操作的操縱器(例如操縱桿)和按鈕。
[0003]許多手持游戲設(shè)備包括某種形式的相機(jī)設(shè)備,該相機(jī)設(shè)備可用于捕捉物理的真實(shí)世界場(chǎng)景的圖像或一系列圖像。捕捉到的圖像隨后可被顯示在例如手持游戲設(shè)備的顯示器上。在增強(qiáng)現(xiàn)實(shí)設(shè)備中,這些捕捉到的圖像可被修改以包括額外的內(nèi)容,例如虛擬對(duì)象。然而,當(dāng)被拍攝的物理對(duì)象在一系列幀中移動(dòng)時(shí),這些物理對(duì)象可能看起來(lái)與插入的虛擬對(duì)象不逼真地交互(或者根本不交互)。類似地,當(dāng)虛擬對(duì)象在顯示的場(chǎng)景內(nèi)移動(dòng)時(shí),虛擬對(duì)象可能不會(huì)以理想的方式與場(chǎng)景內(nèi)示出的物理對(duì)象交互。
【發(fā)明內(nèi)容】
[0004]實(shí)施例提供了用于利用增強(qiáng)現(xiàn)實(shí)設(shè)備來(lái)仿真交互的方法、增強(qiáng)現(xiàn)實(shí)設(shè)備和計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。該方法、增強(qiáng)現(xiàn)實(shí)設(shè)備和計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)包括捕捉視覺場(chǎng)景以供顯示,其中視覺場(chǎng)景是利用一個(gè)或多個(gè)相機(jī)設(shè)備來(lái)捕捉的。該方法、增強(qiáng)現(xiàn)實(shí)設(shè)備和計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)還包括仿真第一物理對(duì)象與一個(gè)或多個(gè)虛擬對(duì)象之間的動(dòng)態(tài)交互。該方法、增強(qiáng)現(xiàn)實(shí)設(shè)備和計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)還包括渲染(render)幀的序列以供顯示,這些幀描繪所仿真的第一物理對(duì)象與一個(gè)或多個(gè)虛擬對(duì)象之間的動(dòng)態(tài)交互。
【專利附圖】
【附圖說(shuō)明】
[0005]為了能夠詳細(xì)理解實(shí)現(xiàn)以上記載的方面的方式,可通過參考附圖對(duì)以上簡(jiǎn)要總結(jié)的本發(fā)明的實(shí)施例進(jìn)行更具體的描述。
[0006]然而,要注意,附圖只圖示了本發(fā)明的典型實(shí)施例,因此不應(yīng)被認(rèn)為限制了其范圍,因?yàn)楸景l(fā)明可允許其他具有相同效果的實(shí)施例。
[0007]圖1是示出根據(jù)這里描述的一個(gè)實(shí)施例的配置有動(dòng)態(tài)仿真(dynamicssimulation)組件的增強(qiáng)現(xiàn)實(shí)設(shè)備的框圖。
[0008]圖2A-2B是示出根據(jù)這里描述的實(shí)施例的增強(qiáng)現(xiàn)實(shí)設(shè)備的圖。
[0009]圖3是示出根據(jù)這里描述的一個(gè)實(shí)施例的增強(qiáng)現(xiàn)實(shí)設(shè)備的圖。
[0010]圖4是示出根據(jù)這里描述的一個(gè)實(shí)施例的在增強(qiáng)現(xiàn)實(shí)設(shè)備上仿真虛擬對(duì)象和物理對(duì)象之間的交互的動(dòng)態(tài)的方法的流程圖。
[0011]圖5是示出根據(jù)這里描述的一個(gè)實(shí)施例的配置有動(dòng)態(tài)仿真組件的增強(qiáng)現(xiàn)實(shí)設(shè)備的框圖。
【具體實(shí)施方式】
[0012]這里描述的實(shí)施例概括而言涉及用于在增強(qiáng)現(xiàn)實(shí)設(shè)備上顯示內(nèi)容的技術(shù)。這里使用的“增強(qiáng)現(xiàn)實(shí)設(shè)備”指的是能夠顯示物理真實(shí)世界環(huán)境的實(shí)時(shí)視圖并同時(shí)更改所顯示的該環(huán)境的視圖內(nèi)的元素的任何設(shè)備。這樣,與顯示虛擬世界的視圖的虛擬現(xiàn)實(shí)設(shè)備不同,增強(qiáng)現(xiàn)實(shí)設(shè)備顯示真實(shí)世界的視圖,但利用計(jì)算機(jī)圖形技術(shù)增強(qiáng)元素。真實(shí)世界的這個(gè)增強(qiáng)視圖在這里可被稱為“增強(qiáng)現(xiàn)實(shí)世界”或“增強(qiáng)現(xiàn)實(shí)空間”。
[0013]這種增強(qiáng)現(xiàn)實(shí)設(shè)備可包括用于捕捉真實(shí)世界環(huán)境的視圖的相機(jī)設(shè)備(或多個(gè)相機(jī)設(shè)備),并且還可包括被配置為增強(qiáng)所捕捉的場(chǎng)景的元素的計(jì)算機(jī)軟件和/或硬件。例如,增強(qiáng)現(xiàn)實(shí)設(shè)備可捕捉放在桌子上的咖啡杯的一系列圖像,修改該系列圖像以使得咖啡杯看起來(lái)像動(dòng)畫卡通人物并且將經(jīng)修改的系列圖像實(shí)時(shí)顯示給用戶。這樣,當(dāng)用戶看著該增強(qiáng)現(xiàn)實(shí)設(shè)備時(shí),用戶看到用戶所位于的物理真實(shí)世界環(huán)境的增強(qiáng)視圖。繼續(xù)上述示例,隨著用戶將增強(qiáng)現(xiàn)實(shí)設(shè)備的相機(jī)從不同角度指向桌子上的物理咖啡杯,用戶可改為看到在增強(qiáng)現(xiàn)實(shí)設(shè)備上顯示的虛擬卡通咖啡杯的不同角度。
[0014]增強(qiáng)現(xiàn)實(shí)設(shè)備的一個(gè)挑戰(zhàn)是增強(qiáng)現(xiàn)實(shí)設(shè)備上顯示的虛擬對(duì)象可能不與物理真實(shí)世界環(huán)境內(nèi)的對(duì)象逼真地交互。也就是說(shuō),在虛擬對(duì)象只作為捕捉的場(chǎng)景內(nèi)的物理對(duì)象的附加或替換被插入到捕捉的場(chǎng)景中的增強(qiáng)現(xiàn)實(shí)設(shè)備上,這些設(shè)備可能不會(huì)逼真地顯示虛擬和物理對(duì)象之間的交互,或者考慮到由這些交互導(dǎo)致的動(dòng)態(tài)效果。這里描述的動(dòng)態(tài)(dynamics)指的是由于向?qū)ο?包括物理對(duì)象和虛擬對(duì)象兩者)施加能量或力而引起的對(duì)象的運(yùn)動(dòng)。例如,被配置為在不執(zhí)行任何動(dòng)態(tài)仿真的情況下用動(dòng)畫卡通咖啡杯來(lái)替換物理桌子上的咖啡杯的增強(qiáng)現(xiàn)實(shí)設(shè)備可描繪出物理對(duì)象(例如用戶的手)與插入的卡通咖啡杯之間的不那么逼真的交互,因?yàn)閯?dòng)畫咖啡杯可能不會(huì)以逼真的方式對(duì)物理對(duì)象的交互作出響應(yīng)。作為另一示例,將虛擬球插入到視覺場(chǎng)景中而不考慮虛擬球的動(dòng)態(tài)的增強(qiáng)現(xiàn)實(shí)設(shè)備可能在用戶看來(lái)不那么逼真,因?yàn)槲锢韺?duì)象(例如物理球)可能看起來(lái)就只是移動(dòng)穿過虛擬球(反之亦然),而沒有任何交互。
[0015]這里描述的實(shí)施例提供了用于利用增強(qiáng)現(xiàn)實(shí)設(shè)備來(lái)仿真交互的技術(shù)。例如,駐留在手持設(shè)備上的軟件可接收用于顯示的視覺場(chǎng)景。這種視覺場(chǎng)景可例如包括多個(gè)幀,這些幀描繪物理真實(shí)世界環(huán)境并且是利用增強(qiáng)現(xiàn)實(shí)設(shè)備的一個(gè)或多個(gè)相機(jī)捕捉的。軟件還可識(shí)別該視覺場(chǎng)景內(nèi)的物理對(duì)象。作為示例,軟件可識(shí)別在捕捉的視覺場(chǎng)景內(nèi)一個(gè)球擱在桌子上。此外,軟件可識(shí)別一個(gè)或多個(gè)虛擬對(duì)象來(lái)在該場(chǎng)景內(nèi)顯示。例如,特定的增強(qiáng)現(xiàn)實(shí)設(shè)備可被配置為向場(chǎng)景中插入虛擬球。軟件隨后可仿真該視覺場(chǎng)景內(nèi)物理對(duì)象與一個(gè)或多個(gè)虛擬對(duì)象之間的交互的動(dòng)態(tài)。
[0016]例如,用戶可在桌子上物理地滾動(dòng)該物理球,使得在增強(qiáng)現(xiàn)實(shí)設(shè)備上顯示的視覺場(chǎng)景中物理球看起來(lái)與虛擬球碰撞。在此情形中,增強(qiáng)現(xiàn)實(shí)設(shè)備可被配置有動(dòng)態(tài)仿真組件,該組件確定在增強(qiáng)現(xiàn)實(shí)設(shè)備顯示的增強(qiáng)現(xiàn)實(shí)場(chǎng)景內(nèi)物理球何時(shí)與虛擬球碰撞。當(dāng)這發(fā)生時(shí),動(dòng)態(tài)仿真組件可利用一組動(dòng)態(tài)規(guī)則來(lái)仿真虛擬球的反應(yīng)并將虛擬球的反應(yīng)顯示在增強(qiáng)現(xiàn)實(shí)設(shè)備上。例如,響應(yīng)于虛擬球與物理球碰撞,增強(qiáng)現(xiàn)實(shí)設(shè)備可描繪虛擬球滾過桌子。這樣做在增強(qiáng)現(xiàn)實(shí)設(shè)備上提供了更逼真的增強(qiáng)現(xiàn)實(shí)場(chǎng)景,這進(jìn)而又可增強(qiáng)用戶與增強(qiáng)現(xiàn)實(shí)設(shè)備的交互。
[0017]在特定實(shí)施例中,增強(qiáng)現(xiàn)實(shí)設(shè)備上的軟件可確定場(chǎng)景內(nèi)的物理表面的一個(gè)或多個(gè)物理特性。例如,這種物理特性可包括摩擦力的度量、表面張力的度量以及物理表面的可變形性的度量。軟件可被預(yù)配置有關(guān)于物理表面的一個(gè)或多個(gè)物理特性的信息。在一個(gè)實(shí)施例中,軟件被配置為基于表面的其他屬性確定表面的物理特性。例如,軟件可確定閃亮的鏡面表面表明較低的摩擦系數(shù)(例如一塊冰的表面)。軟件隨后可使對(duì)虛擬和物理對(duì)象之間的交互的仿真部分地基于這些確定的物理特性。作為示例,虛擬的蜘蛛可在增強(qiáng)現(xiàn)實(shí)設(shè)備上被描繪為爬過具有低摩擦系數(shù)的物理表面(例如一塊冰)。軟件隨后可調(diào)整虛擬蜘蛛的行為,使得虛擬蜘蛛看起來(lái)在其試圖穿過該物理表面時(shí)打滑或甚至墜落。有利的是,這樣做增強(qiáng)了用戶的增強(qiáng)現(xiàn)實(shí)體驗(yàn)的逼真感。
[0018]圖1是示出根據(jù)這里描述的一個(gè)實(shí)施例的配置有動(dòng)態(tài)仿真組件的增強(qiáng)現(xiàn)實(shí)設(shè)備的框圖。如圖所示,增強(qiáng)現(xiàn)實(shí)設(shè)備100包括動(dòng)態(tài)仿真組件110、(多個(gè))相機(jī)設(shè)備120、顯示設(shè)備130和加速度計(jì)140。一般地,動(dòng)態(tài)仿真組件110被配置為檢測(cè)所捕捉的真實(shí)世界環(huán)境的場(chǎng)景內(nèi)的物理對(duì)象與虛擬對(duì)象之間的交互并且仿真這些交互的動(dòng)態(tài)以改善增強(qiáng)現(xiàn)實(shí)場(chǎng)景在被顯示(例如顯示在顯示設(shè)備130上)時(shí)的逼真感。相機(jī)設(shè)備120可包括用于捕捉視覺場(chǎng)景的相機(jī)。這里使用的“視覺場(chǎng)景”指的是在其中使用設(shè)備100的真實(shí)世界環(huán)境的(一個(gè)或多個(gè))視圖。例如,視覺場(chǎng)景可以是真實(shí)世界環(huán)境的一系列圖像(這里也稱為“幀”)。相機(jī)設(shè)備120還可包括一個(gè)或多個(gè)面向用戶的相機(jī)。一般地,加速度計(jì)140是能夠測(cè)量增強(qiáng)現(xiàn)實(shí)設(shè)備100的物理(或固有)加速度的設(shè)備。
[0019]如上所述,動(dòng)態(tài)仿真組件110可被配置為仿真在增強(qiáng)現(xiàn)實(shí)設(shè)備100上顯示的增強(qiáng)現(xiàn)實(shí)場(chǎng)景內(nèi)的物理對(duì)象與虛擬對(duì)象之間的交互。在這樣做時(shí),動(dòng)態(tài)仿真組件110可識(shí)別捕捉的視覺場(chǎng)景內(nèi)的物理對(duì)象。例如,動(dòng)態(tài)仿真組件110可被配置為識(shí)別捕捉的視覺場(chǎng)景內(nèi)的某些預(yù)定的對(duì)象。作為示例,動(dòng)態(tài)仿真組件110可被預(yù)配置為基于物理對(duì)象的特定特性(例如形狀、顏色、圖案等等)識(shí)別視覺場(chǎng)景內(nèi)的特定物理對(duì)象(例如球)。
[0020]在一個(gè)實(shí)施例中,動(dòng)態(tài)仿真組件110還被配置為估計(jì)物理對(duì)象在捕捉的視覺場(chǎng)景內(nèi)的深度。也就是說(shuō),雖然捕捉的視覺場(chǎng)景可由多個(gè)二維幀構(gòu)成,但這些二維幀表示三維空間(例如,增強(qiáng)設(shè)備所位于的物理環(huán)境)。這樣,動(dòng)態(tài)仿真組件110可分析捕捉的視覺場(chǎng)景以便確定物理對(duì)象在三維空間內(nèi)的深度。例如,動(dòng)態(tài)仿真組件110可被配置為基于對(duì)象的幾何信息來(lái)識(shí)別某些預(yù)定的物理對(duì)象。這種幾何信息可例如包括預(yù)定的物理對(duì)象的形狀和大小,從而允許動(dòng)態(tài)仿真組件110將場(chǎng)景中的對(duì)象與可用的幾何信息相比較。動(dòng)態(tài)仿真組件110可使用幾何信息來(lái)確定物理對(duì)象在視覺場(chǎng)景內(nèi)的深度。作為示例,假定幾何信息表明特定球的直徑為3英寸,而視覺場(chǎng)景包括該類球的兩個(gè)實(shí)例,其中第一實(shí)例是利用視覺場(chǎng)景的10個(gè)像素示出的,第二實(shí)例是利用視覺場(chǎng)景的50個(gè)像素示出的。在這種示例中,動(dòng)態(tài)仿真組件110可確定球的第一實(shí)例比球的第二實(shí)例更遠(yuǎn)離相機(jī),因?yàn)閹缀涡畔⒈砻鲀蓚€(gè)物理球是相同大小的,但第一實(shí)例是利用比第二實(shí)例更少的像素來(lái)表示的。
[0021 ] 當(dāng)在場(chǎng)景內(nèi)識(shí)別出物理對(duì)象時(shí),動(dòng)態(tài)仿真組件110可觀察該物理對(duì)象隨著時(shí)間的運(yùn)動(dòng)或移動(dòng)(如果有的話)。在一個(gè)實(shí)施例中,動(dòng)態(tài)仿真組件110被配置為確定物理對(duì)象的速度。例如,動(dòng)態(tài)仿真組件Iio可在構(gòu)成視覺場(chǎng)景的多個(gè)捕捉到的幀中監(jiān)視物理對(duì)象,并且可確定物理對(duì)象的速度和軌跡。
[0022]此外,動(dòng)態(tài)仿真組件110識(shí)別一個(gè)或多個(gè)虛擬對(duì)象來(lái)包括在(例如利用顯示器130)顯示在增強(qiáng)現(xiàn)實(shí)設(shè)備100上的視覺場(chǎng)景中。作為示例,動(dòng)態(tài)仿真組件110可確定在視覺場(chǎng)景內(nèi)顯示虛擬球。當(dāng)然,這種示例不是限制性的,而只是出于舉例說(shuō)明目的提供的,更一般而言虛擬對(duì)象可以是能夠被顯示在視覺場(chǎng)景內(nèi)的任何虛擬對(duì)象。此外,動(dòng)態(tài)仿真組件110可被配置為識(shí)別虛擬對(duì)象的動(dòng)態(tài)屬性和運(yùn)動(dòng)學(xué)特性,例如速度、虛擬對(duì)象的速度、虛擬對(duì)象,等等。
[0023]動(dòng)態(tài)仿真組件110隨后確定在視覺場(chǎng)景內(nèi)的物理對(duì)象與一個(gè)或多個(gè)虛擬對(duì)象之間何時(shí)發(fā)生交互。一般而言,當(dāng)在增強(qiáng)現(xiàn)實(shí)設(shè)備100上顯示的場(chǎng)景所表示的三維增強(qiáng)現(xiàn)實(shí)空間內(nèi),物理對(duì)象和(一個(gè)或多個(gè))虛擬對(duì)象相互接觸或者以其他方式相互施加力時(shí),交互發(fā)生。例如,當(dāng)在三維增強(qiáng)現(xiàn)實(shí)空間內(nèi)物理球和虛擬球相互碰撞時(shí),可以說(shuō)這兩個(gè)球交互。作為另一示例,在虛擬動(dòng)物被顯示為站在物理桌面上的實(shí)施例中,用戶可通過將其手部移動(dòng)到桌面上描繪虛擬動(dòng)物的位置中來(lái)與虛擬動(dòng)物交互。作為又一示例,虛擬球可被渲染為滾下桌子,其中球的速率模仿可作用在滾下桌子的物理球上的實(shí)際重力。
[0024]在一個(gè)實(shí)施例中,動(dòng)態(tài)仿真組件110確定物理對(duì)象在由捕捉的視覺場(chǎng)景表示的三維空間內(nèi)的深度(例如利用物理對(duì)象的預(yù)定幾何信息)并且還確定虛擬對(duì)象在三維增強(qiáng)現(xiàn)實(shí)空間內(nèi)的深度(即三維位置)。動(dòng)態(tài)仿真組件110隨后可使用深度值來(lái)渲染描繪虛擬和物理對(duì)象之間的更逼真交互的動(dòng)畫。例如,如果第一對(duì)象在三維空間內(nèi)比第二對(duì)象更靠近相機(jī),則第一對(duì)象可以就只是遮蔽第二對(duì)象,而不是與第二對(duì)象碰撞。換言之,動(dòng)態(tài)仿真組件110可使用深度信息以便考慮三維空間的所有三個(gè)軸。
[0025]在確定在物理對(duì)象與一個(gè)或多個(gè)虛擬對(duì)象之間已發(fā)生了交互后,動(dòng)態(tài)仿真組件110可執(zhí)行動(dòng)態(tài)仿真以對(duì)對(duì)象之間的交互建模。例如,在物理球與虛擬球碰撞的實(shí)施例中,動(dòng)態(tài)仿真組件110可被配置為以仿真與物理球的逼真碰撞的方式來(lái)移動(dòng)虛擬球。作為示例,動(dòng)態(tài)仿真組件110可向虛擬球應(yīng)用對(duì)真實(shí)世界物理學(xué)建模的一組動(dòng)態(tài)規(guī)則以便計(jì)算由于與物理球的碰撞而施加到虛擬球的虛擬力,并且動(dòng)態(tài)仿真組件110還可應(yīng)用這些規(guī)則以便確定虛擬力對(duì)虛擬球的效果。雖然在一個(gè)實(shí)施例中這些動(dòng)態(tài)規(guī)則對(duì)物理學(xué)的真實(shí)世界規(guī)則建模,但其廣泛地設(shè)想了其他動(dòng)態(tài)系統(tǒng)(例如低重力、無(wú)重力,等等)。
[0026]在特定實(shí)施例中,在檢測(cè)到物理對(duì)象與一個(gè)或多個(gè)虛擬對(duì)象之間的交互之后,動(dòng)態(tài)仿真組件110可在真實(shí)世界中向物理對(duì)象施加力以便仿真在增強(qiáng)現(xiàn)實(shí)世界中與虛擬對(duì)象的交互。例如,物理對(duì)象可以是在能夠由表面控制器操縱的受控表面上滾動(dòng)的球。響應(yīng)于檢測(cè)到物理和虛擬對(duì)象之間的交互,動(dòng)態(tài)仿真組件110可向控制器發(fā)送消息以經(jīng)由受控表面向物理球施加力(例如,利用表面內(nèi)的轉(zhuǎn)子、表面和/或球內(nèi)的磁鐵,等等)。在一個(gè)實(shí)施例中,物理對(duì)象本身被配置為響應(yīng)于請(qǐng)求而操縱其自己的運(yùn)動(dòng)。例如,物理球可被配置有能夠更改球的運(yùn)動(dòng)的陀螺儀。在這種實(shí)施例中,動(dòng)態(tài)仿真組件110例如可以檢測(cè)物理球何時(shí)與增強(qiáng)現(xiàn)實(shí)空間內(nèi)的虛擬對(duì)象碰撞,并且可向物理球內(nèi)的控制器發(fā)送信號(hào),指示控制器激活陀螺儀并更改物理球的軌跡。結(jié)果,通過增強(qiáng)現(xiàn)實(shí)設(shè)備100觀看物理球的用戶可感知到物理球與虛擬球交互,從而為用戶產(chǎn)生更逼真的增強(qiáng)現(xiàn)實(shí)體驗(yàn)。
[0027]圖2A-2B提供了示出根據(jù)這里描述的實(shí)施例的增強(qiáng)現(xiàn)實(shí)設(shè)備的示例。圖2A示出了場(chǎng)景200,場(chǎng)景200包括桌子215,在桌子215上物理球225從起始點(diǎn)220起滾動(dòng),場(chǎng)景200還包括具有顯示器210的增強(qiáng)現(xiàn)實(shí)設(shè)備100。如圖所示,增強(qiáng)現(xiàn)實(shí)設(shè)備100的顯示器210示出了物理球225的虛擬表示216,以及起始點(diǎn)220的起始位置虛擬表示212。此外,顯示器210示出了虛擬球218,具有起始點(diǎn)214。
[0028]在場(chǎng)景200中,當(dāng)物理球225從其起始點(diǎn)220起滾動(dòng)時(shí),虛擬表示216本來(lái)在顯示器210上其起始位置212處是靜止的。然而,在交點(diǎn)222處,虛擬表示216在虛擬球的起始位置214與虛擬球218碰撞。在檢測(cè)到虛擬表示216與虛擬球218之間的碰撞時(shí),動(dòng)態(tài)仿真組件110可調(diào)整虛擬球218的運(yùn)動(dòng)以仿真虛擬表示216與虛擬球218之間的交互的動(dòng)態(tài)。從而,在此示例中,動(dòng)態(tài)仿真組件110確定虛擬表示216和虛擬球218在交點(diǎn)222處碰撞,并且作為響應(yīng),向虛擬球218施加虛擬力,使得虛擬球218從其起始位置214起滾動(dòng)。這樣做可增強(qiáng)用戶與增強(qiáng)現(xiàn)實(shí)設(shè)備100的交互,例如通過使得在增強(qiáng)現(xiàn)實(shí)設(shè)備100上虛擬對(duì)象(例如虛擬球218)能夠與物理對(duì)象的虛擬表示(例如虛擬表示216)逼真地交互。
[0029]在一個(gè)實(shí)施例中,動(dòng)態(tài)仿真組件110被配置為對(duì)增強(qiáng)現(xiàn)實(shí)世界施加限定動(dòng)態(tài)交互的一組動(dòng)態(tài)規(guī)則。在一個(gè)實(shí)施例中,該組動(dòng)態(tài)規(guī)則向增強(qiáng)現(xiàn)實(shí)世界內(nèi)的對(duì)象應(yīng)用真實(shí)世界物理學(xué)。然而,這種示例只是用于舉例說(shuō)明目的的,而沒有限制性,并且更一般而言設(shè)想到動(dòng)態(tài)仿真組件110可被配置為向增強(qiáng)現(xiàn)實(shí)世界中的交互施加任何一組動(dòng)態(tài)規(guī)則(例如低重力物理學(xué))。
[0030]圖2B示出了物理對(duì)象(及其虛擬表示)與虛擬對(duì)象交互的另一示例。更具體而言,圖2B示出了場(chǎng)景240,場(chǎng)景240包括桌子215,在桌子215上物理球230從其起始點(diǎn)220起滾動(dòng),在點(diǎn)225處更改了其路線。此外,場(chǎng)景240包括具有顯示設(shè)備210的增強(qiáng)現(xiàn)實(shí)設(shè)備100。顯示設(shè)備210示出了物理球230的虛擬表示265和虛擬球260。這里,虛擬表示265已從起始位置250起滾動(dòng),起始位置250對(duì)應(yīng)于物理球230的起始位置220,并且虛擬表示265已在交點(diǎn)255處與虛擬球碰撞。
[0031]在檢測(cè)到虛擬表示265與虛擬球260之間的碰撞后,動(dòng)態(tài)仿真組件110執(zhí)行動(dòng)態(tài)仿真以對(duì)該碰撞建模,使得虛擬球260從其起始點(diǎn)245起滾動(dòng)。也就是說(shuō),動(dòng)態(tài)仿真組件110確定在交點(diǎn)255處發(fā)生的碰撞在虛擬球260上施加了虛擬力,這使得虛擬球260從其原始起始位置245起滾動(dòng)。此外,動(dòng)態(tài)仿真組件110確定作為碰撞的結(jié)果,虛擬球260進(jìn)而在虛擬表示265上施加了虛擬力。如上所述,動(dòng)態(tài)仿真組件110可被配置為利用例如受控表面(例如桌子215)內(nèi)的轉(zhuǎn)子、物理對(duì)象內(nèi)的陀螺儀、受控表面和/或物理對(duì)象內(nèi)的磁鐵等等,來(lái)更改物理對(duì)象(例如物理球230)的運(yùn)動(dòng)。更一般而言,廣泛設(shè)想到動(dòng)態(tài)仿真組件110可使用與這里描述的功能相符的用于更改物理對(duì)象的運(yùn)動(dòng)的任何機(jī)制。
[0032]返回到所描繪的示例,動(dòng)態(tài)仿真組件110向物理球230施加了虛擬力,從而在交點(diǎn)235處更改了物理球的軌跡(并進(jìn)而在交點(diǎn)255處更改了虛擬表示的軌跡)。有利的是,這樣做通過產(chǎn)生動(dòng)態(tài)連續(xù)體(continuum)而為增強(qiáng)現(xiàn)實(shí)設(shè)備100的用戶提供了更強(qiáng)的增強(qiáng)現(xiàn)實(shí)體驗(yàn),在該動(dòng)態(tài)連續(xù)體中虛擬對(duì)象可影響在增強(qiáng)現(xiàn)實(shí)設(shè)備上示出的真實(shí)世界對(duì)象的動(dòng)態(tài),反之亦然。
[0033]此外,動(dòng)態(tài)仿真組件110可被配置為仿真作為兩個(gè)物理對(duì)象之間的交互(例如碰撞)的結(jié)果而施加到虛擬對(duì)象上的動(dòng)態(tài)。例如,動(dòng)態(tài)仿真組件Iio可被配置為調(diào)整增強(qiáng)現(xiàn)實(shí)空間內(nèi)的虛擬人物的動(dòng)作,使得虛擬人物對(duì)物理的真實(shí)世界對(duì)象的運(yùn)動(dòng)作出逼真的反應(yīng)。這的一個(gè)示例在圖3中示出,圖3是示出根據(jù)這里描述的一個(gè)實(shí)施例的增強(qiáng)現(xiàn)實(shí)設(shè)備的圖。更具體而言,場(chǎng)景300包括桌子215和具有顯示器210的增強(qiáng)現(xiàn)實(shí)設(shè)備100。這里,第一物理球325和第二物理球330被示為已從其各自的起始位置305和310起滾過桌子215。對(duì)于此示例而言,假定物理球325原本在起始位置305處?kù)o止,而球330從其起始位置310起開始運(yùn)動(dòng),在交點(diǎn)320處與靜止的第一球325碰撞。作為碰撞的結(jié)果,物理球325從其起始位置305滾動(dòng)到其當(dāng)前位置,而球330繼續(xù)滾動(dòng),但在在其圖示位置處停下來(lái)之前更改了其軌跡。
[0034]此碰撞也在增強(qiáng)現(xiàn)實(shí)設(shè)備100的顯示器210上被示出,其中第一物理球325的虛擬表示360和第二物理球330的虛擬表示365被示為從其各自的起始位置345和340滾過桌子。這里,虛擬表示360原本在起始位置345處?kù)o止,而虛擬表示365從其起始位置340起開始運(yùn)動(dòng),在交點(diǎn)355處與靜止的虛擬表不360碰撞。作為碰撞的結(jié)果,虛擬表不360從其起始位置345滾動(dòng)到其當(dāng)前位置,而虛擬表示365繼續(xù)滾動(dòng),但在在其圖示位置處停下來(lái)之前更改了其軌跡。
[0035]此外,增強(qiáng)現(xiàn)實(shí)設(shè)備100的顯示器210包括虛擬人物370,其具有原始位置350。從而,對(duì)于當(dāng)前示例而言,假定虛擬人物370在處于其起始位置345的虛擬表示360的頂上保持平衡,如起始位置350所示。然而,當(dāng)虛擬表示360與虛擬表示365碰撞時(shí),圖示實(shí)施例中的動(dòng)態(tài)仿真組件110確定所導(dǎo)致的虛擬表示360的運(yùn)動(dòng)太快,以至于虛擬人物370不能在虛擬表示360上保持其平衡。結(jié)果,虛擬人物370從其起始位置350墜落,在圖示位置處停下來(lái)。
[0036]通過監(jiān)視增強(qiáng)現(xiàn)實(shí)設(shè)備的顯示器210上示出的真實(shí)世界對(duì)象的運(yùn)動(dòng)并仿真增強(qiáng)現(xiàn)實(shí)空間內(nèi)真實(shí)世界對(duì)象與虛擬對(duì)象之間的交互的動(dòng)態(tài),實(shí)施例可為用戶產(chǎn)生更有沉浸感且更逼真的增強(qiáng)現(xiàn)實(shí)體驗(yàn)。例如,繼續(xù)上述示例,用戶可在增強(qiáng)現(xiàn)實(shí)設(shè)備100前虛擬人物370所位于的位置處伸出他或她的手,并且動(dòng)態(tài)仿真組件110可更改虛擬人物的動(dòng)作以仿真人物370與用戶的手之間的交互的動(dòng)態(tài)。例如,一旦虛擬人物370從虛擬表示360上落下,用戶則可使用其手來(lái)將虛擬人物370撿回去,并且將虛擬人物370放回到球325的表示360頂上。有利的是,這樣做幫助為增強(qiáng)現(xiàn)實(shí)設(shè)備的用戶產(chǎn)生了有沉浸感的體驗(yàn),其中用戶可與設(shè)備上示出的虛擬對(duì)象和人物實(shí)時(shí)交互并且虛擬對(duì)象和人物將相應(yīng)地對(duì)與用戶的交互作出響應(yīng)。
[0037]要注意,動(dòng)態(tài)仿真組件110可被配置為當(dāng)仿真虛擬人物370與增強(qiáng)現(xiàn)實(shí)場(chǎng)景的物理和虛擬對(duì)象的交互時(shí)對(duì)一組基于物理學(xué)的規(guī)則建模。例如,所仿真的每個(gè)人物的手臂、腿和關(guān)節(jié)的行為可考慮到重力或任何其他外部脈沖力的存在。有利的是,這樣做提供了增強(qiáng)現(xiàn)實(shí)環(huán)境中虛擬人物和對(duì)象之間的更逼真交互。此外,雖然這里提供的各種示例使用真實(shí)世界物理學(xué),但廣泛地設(shè)想了增強(qiáng)現(xiàn)實(shí)世界可使用其他物理學(xué)規(guī)則。例如,動(dòng)態(tài)仿真組件110可被配置為利用相對(duì)于真實(shí)世界更低的重力系數(shù)來(lái)仿真增強(qiáng)現(xiàn)實(shí)世界內(nèi)虛擬人物和對(duì)象之間的交互。更一般地,實(shí)施例可被配置為使用與這里描述的功能相符的任何基于物理學(xué)的規(guī)則。
[0038]圖4是示出根據(jù)一個(gè)實(shí)施例的在增強(qiáng)現(xiàn)實(shí)設(shè)備上仿真虛擬對(duì)象和物理對(duì)象之間的交互的動(dòng)態(tài)的方法的流程圖。如圖所示,方法400開始于步驟410,在該步驟中增強(qiáng)現(xiàn)實(shí)設(shè)備捕捉場(chǎng)景。如上所述,視覺場(chǎng)景可以是利用增強(qiáng)現(xiàn)實(shí)設(shè)備的相機(jī)捕捉的一系列幀(即,圖像)。動(dòng)態(tài)仿真組件110隨后識(shí)別場(chǎng)景內(nèi)的物理對(duì)象(步驟415)。例如,動(dòng)態(tài)仿真組件110可被配置為基于對(duì)象的預(yù)定特性來(lái)識(shí)別某些對(duì)象。這樣的特性可包括但不限于對(duì)象的顏色、形狀、紋理等等。
[0039]在圖示實(shí)施例中,動(dòng)態(tài)仿真組件110識(shí)別要顯示在視覺場(chǎng)景內(nèi)的一個(gè)或多個(gè)虛擬對(duì)象(步驟420)。當(dāng)然,雖然以上論述的參考示例涉及虛擬球和虛擬人物,但這種示例是沒有限制地、出于舉例說(shuō)明的目的提供的。另外,廣泛設(shè)想了這里描述的實(shí)施例可結(jié)合任何能夠被插入到視覺場(chǎng)景中并被顯示在增強(qiáng)現(xiàn)實(shí)設(shè)備上的虛擬對(duì)象使用。
[0040]對(duì)于每個(gè)識(shí)別出的物理對(duì)象,動(dòng)態(tài)仿真組件110確定相應(yīng)的速度(即速度和軌跡)(步驟430)。例如,動(dòng)態(tài)仿真組件110可存儲(chǔ)描述特定物理對(duì)象的幾何特性的幾何信息,這些幾何特性例如是其真實(shí)世界物理尺寸。動(dòng)態(tài)仿真組件110可使用此幾何信息來(lái)確定所識(shí)別的物理對(duì)象在視覺場(chǎng)景內(nèi)的深度。此外,此信息可用于確定這些對(duì)象的真實(shí)世界速度(例如通過監(jiān)視對(duì)象在一系列幀中的位置)。
[0041]如圖所示,動(dòng)態(tài)仿真組件110使用此速度信息來(lái)對(duì)物理對(duì)象中的一個(gè)或多個(gè)與虛擬對(duì)象中的一個(gè)或多個(gè)相交互的動(dòng)態(tài)建模(步驟435)。例如,當(dāng)仿真組件110確定在增強(qiáng)現(xiàn)實(shí)空間內(nèi)物理球與虛擬球碰撞時(shí),其可使用物理球的行進(jìn)速度來(lái)確定要施加到虛擬球的虛擬力的量。此虛擬力信息隨后可用于更改虛擬球的運(yùn)動(dòng)(例如使得虛擬球由于與物理球的碰撞而滾離)
[0042]此外,在此示例中,動(dòng)態(tài)仿真組件110還可調(diào)整至少一個(gè)物理對(duì)象的路徑以仿真物理對(duì)象與虛擬對(duì)象中的至少一個(gè)相交互(步驟440)。例如,動(dòng)態(tài)仿真組件110可向物理對(duì)象內(nèi)的控制器發(fā)送消息,指示物理對(duì)象由于與虛擬對(duì)象的碰撞而在特定方向上移動(dòng)。作為另一示例,動(dòng)態(tài)仿真組件110可向與物理對(duì)象所位于的表面相關(guān)聯(lián)的控制器發(fā)送消息,指示該表面由于該碰撞而更改物理對(duì)象的運(yùn)動(dòng)(例如,利用該表面和/或物理對(duì)象內(nèi)的磁鐵)。當(dāng)然,這種示例是沒有限制地、僅出于舉例說(shuō)明的目的提供的,并且更一般地,廣泛設(shè)想了可以使用與這里描述的功能相符的用于更改物理對(duì)象的運(yùn)動(dòng)的任何機(jī)制。
[0043]如上所述,在一個(gè)實(shí)施例中,動(dòng)態(tài)仿真組件110可確定場(chǎng)景內(nèi)的物理表面的一個(gè)或多個(gè)物理特性。這種物理特性可包括但不限于物理表面的摩擦力的度量、表面張力的度量以及可變形性的度量。動(dòng)態(tài)仿真組件110可被預(yù)配置有關(guān)于物理表面的一個(gè)或多個(gè)物理特性的信息。例如,動(dòng)態(tài)仿真組件110可識(shí)別場(chǎng)景內(nèi)的表面的類型,然后可訪問關(guān)于所識(shí)別的表面的預(yù)配置的物理特性信息。在一個(gè)實(shí)施例中,動(dòng)態(tài)仿真組件110被配置為基于表面的其他屬性來(lái)確定表面的物理特性。例如,動(dòng)態(tài)仿真組件110可確定閃亮的鏡面表面表明較低的摩擦系數(shù)(例如一塊冰的表面)。動(dòng)態(tài)仿真組件110隨后可使對(duì)虛擬和物理對(duì)象之間的交互的仿真部分地基于這些所確定的物理特性。例如,如上所述,虛擬的蜘蛛可在增強(qiáng)現(xiàn)實(shí)設(shè)備上被描繪為爬過具有低摩擦系數(shù)的物理表面(例如一塊冰)。動(dòng)態(tài)仿真組件110可調(diào)整虛擬蜘蛛的行為,使得虛擬蜘蛛看起來(lái)在其試圖穿過該物理表面時(shí)打滑或甚至墜落。有利的是,這樣做增強(qiáng)了用戶的增強(qiáng)現(xiàn)實(shí)體驗(yàn)的逼真感。
[0044]在步驟445,動(dòng)態(tài)仿真組件110在增強(qiáng)現(xiàn)實(shí)設(shè)備上渲染視覺場(chǎng)景的幀,這些幀考慮到了所建模的在場(chǎng)景中存在的虛擬對(duì)象和物理對(duì)象之間的交互。有利的是,實(shí)施例幫助為增強(qiáng)現(xiàn)實(shí)設(shè)備的用戶產(chǎn)塵了更逼真的增強(qiáng)現(xiàn)實(shí)體驗(yàn)。這進(jìn)而又為用戶產(chǎn)生了更有沉浸感的體驗(yàn),因?yàn)橛脩艨墒褂梦锢韺?duì)象(例如用戶的手)來(lái)與增強(qiáng)現(xiàn)實(shí)設(shè)備上顯示的虛擬對(duì)象交互。
[0045]圖5是示出根據(jù)這里描述的一個(gè)實(shí)施例的配置有動(dòng)態(tài)仿真組件的增強(qiáng)現(xiàn)實(shí)設(shè)備的框圖。在此示例中,增強(qiáng)現(xiàn)實(shí)設(shè)備100包括但不限于處理器500、存儲(chǔ)裝置505、存儲(chǔ)器510、I/O設(shè)備520、網(wǎng)絡(luò)接口 525、相機(jī)設(shè)備120、顯示設(shè)備130和加速度計(jì)設(shè)備140。一般地,處理器500取回并執(zhí)行存儲(chǔ)在存儲(chǔ)器510中的編程指令。處理器500被包括來(lái)代表單個(gè)CPU、多個(gè)CPU、具有多個(gè)處理核心的單個(gè)CPU、具有多個(gè)執(zhí)行路徑的GPU,等等。存儲(chǔ)器510一般被包括來(lái)代表隨機(jī)訪問存儲(chǔ)器。網(wǎng)絡(luò)接口 525使得增強(qiáng)現(xiàn)實(shí)設(shè)備100能夠連接到數(shù)據(jù)通信網(wǎng)絡(luò)(例如有線以太網(wǎng)連接或802.11無(wú)線網(wǎng)絡(luò))。另外,雖然圖示實(shí)施例示出了特定的增強(qiáng)現(xiàn)實(shí)設(shè)備100的組件,但本領(lǐng)域的普通技術(shù)人員將認(rèn)識(shí)到增強(qiáng)現(xiàn)實(shí)設(shè)備可使用多種不同的硬件體系結(jié)構(gòu)。另外,明確地設(shè)想了本發(fā)明的實(shí)施例可利用能夠執(zhí)行這里描述的功能的任何設(shè)備或計(jì)算機(jī)系統(tǒng)來(lái)實(shí)現(xiàn)。
[0046]存儲(chǔ)器510表示任何足夠大到保存必要的程序和數(shù)據(jù)結(jié)構(gòu)的存儲(chǔ)器。存儲(chǔ)器510可以是一個(gè)存儲(chǔ)器設(shè)備或存儲(chǔ)器設(shè)備的組合,包括隨機(jī)訪問存儲(chǔ)器、非易失性或備用存儲(chǔ)器(例如可編程或閃速存儲(chǔ)器、只讀存儲(chǔ)器,等等)。此外,存儲(chǔ)器510和存儲(chǔ)裝置505可被認(rèn)為包括物理上位于別處的存儲(chǔ)器;例如,位于通信地耦合到增強(qiáng)現(xiàn)實(shí)設(shè)備100的另一計(jì)算機(jī)上。例如,存儲(chǔ)器510包括動(dòng)態(tài)仿真組件110和操作系統(tǒng)515。操作系統(tǒng)515 —般控制增強(qiáng)現(xiàn)實(shí)設(shè)備100上的應(yīng)用程序的執(zhí)行。操作系統(tǒng)515的示例包括UNIX、Microsoft Windows?操作系統(tǒng)的某個(gè)版本以及Linux?操作系統(tǒng)的各發(fā)行版。(注意,Linux是Linux Torvalds在美國(guó)和其他國(guó)家的商標(biāo))。操作系統(tǒng)515的另外的示例包括用于游戲控制臺(tái)的定制操作系統(tǒng),包括用于諸如Nintendo DS?和Sony PSP?之類的系統(tǒng)的定制操作系統(tǒng)。
[0047]1/0設(shè)備520表示各種各樣的輸入和輸出設(shè)備,包括顯示器、鍵盤、觸摸屏,等等。例如,I/o設(shè)備520可包括用于提供用戶界面的顯示設(shè)備。作為示例,顯示器可提供允許用戶選擇不同應(yīng)用和應(yīng)用內(nèi)的選項(xiàng)(例如選擇和控制虛擬對(duì)象)的觸敏表面。此外,1/0設(shè)備520可包括一組按鈕、開關(guān)或用于控制增強(qiáng)現(xiàn)實(shí)設(shè)備100的其他物理設(shè)備機(jī)構(gòu)。例如,1/0設(shè)備520可包括用于控制利用增強(qiáng)現(xiàn)實(shí)設(shè)備100玩的視頻游戲的各方面的一組方向按鈕。
[0048]一般地,動(dòng)態(tài)仿真組件110控制由增強(qiáng)現(xiàn)實(shí)設(shè)備100(例如利用顯示器130)顯示的虛擬對(duì)象與設(shè)備100外部的物理對(duì)象(例如利用相機(jī)120拍攝的物理球)之間的交互。動(dòng)態(tài)仿真組件110可接收用于顯示的視覺場(chǎng)景。例如,視覺場(chǎng)景可以是利用增強(qiáng)現(xiàn)實(shí)設(shè)備100的相機(jī)120捕捉的一系列幀。動(dòng)態(tài)仿真組件110可識(shí)別視覺場(chǎng)景內(nèi)的一個(gè)或多個(gè)物理對(duì)象,并且還可識(shí)別要顯示在視覺場(chǎng)景內(nèi)的一個(gè)或多個(gè)虛擬對(duì)象。動(dòng)態(tài)仿真組件110還可監(jiān)視物理對(duì)象和虛擬對(duì)象的運(yùn)動(dòng)以確定對(duì)象何時(shí)與彼此交互。動(dòng)態(tài)仿真組件110隨后可在視覺場(chǎng)景內(nèi)仿真物理對(duì)象與一個(gè)或多個(gè)虛擬對(duì)象之間的交互的動(dòng)態(tài)。隨后可利用顯示器130來(lái)顯示此仿真的輸出。有利的是,這樣做通過允許物理對(duì)象與增強(qiáng)現(xiàn)實(shí)設(shè)備100上顯示的虛擬對(duì)象交互以及反之,而幫助提供了更逼真且更有沉浸感的增強(qiáng)現(xiàn)實(shí)體驗(yàn)。
[0049]在前文中,述及了本發(fā)明的實(shí)施例。然而,本發(fā)明不限于所描述的具體實(shí)施例。而是以下特征和元素的任何組合,無(wú)論其是否與不同實(shí)施例相關(guān),都被設(shè)想到來(lái)實(shí)現(xiàn)和實(shí)踐本發(fā)明。另外,雖然本發(fā)明的實(shí)施例可實(shí)現(xiàn)優(yōu)于其他可能的解決方案和/或優(yōu)于現(xiàn)有技術(shù)的優(yōu)點(diǎn),但給定的實(shí)施例是否實(shí)現(xiàn)特定的優(yōu)點(diǎn)并不對(duì)本發(fā)明構(gòu)成限制。從而,前述方面、特征、實(shí)施例和優(yōu)點(diǎn)只是舉例說(shuō)明性的,而不被認(rèn)為是所附權(quán)利要求的元素或限制,除非在(一個(gè)或多個(gè))權(quán)利要求中明確記載。類似地,提及“本發(fā)明”應(yīng)當(dāng)被解釋為對(duì)這里公開的任何
【發(fā)明內(nèi)容】
的概括,而不應(yīng)被認(rèn)為為是所附權(quán)利要求的元素或限制,除非在(一個(gè)或多個(gè))權(quán)利要求中明確記載。
[0050]本發(fā)明的各方面可被實(shí)現(xiàn)為系統(tǒng)、方法或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明的各方面可采取完全硬件的實(shí)施例、完全軟件的實(shí)施例(包括固件、駐留的軟件、微代碼等等)或者組合了在這里都可概括稱為“電路”、“模塊”或“系統(tǒng)”的軟件和硬件方面的實(shí)施例的形式。另外,本發(fā)明的各方面可采取包含在其上包含有計(jì)算機(jī)可讀程序代碼的一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì)中的計(jì)算機(jī)程序產(chǎn)品的形式。
[0051]可利用一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì)的任何組合。計(jì)算機(jī)可讀介質(zhì)可以是計(jì)算機(jī)可讀信號(hào)介質(zhì)或計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可以例如是但不限于是電子、磁、光、電磁、紅外或半導(dǎo)體系統(tǒng)、裝置或設(shè)備,或者前述的任何適當(dāng)組合。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)的更具體示例(非窮舉列表)將包括以下的:具有一條或多條導(dǎo)線的電連接、便攜式計(jì)算機(jī)盤、硬盤、隨機(jī)訪問存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、可擦除可編程只讀存儲(chǔ)器(EPR0M或閃速存儲(chǔ)器)、光纖、便攜式致密盤只讀存儲(chǔ)器(CD-ROM)、光存儲(chǔ)設(shè)備、磁存儲(chǔ)設(shè)備,或者前述的任何適當(dāng)組合。在本文檔的上下文中,計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可以是可包含或存儲(chǔ)程序來(lái)供指令執(zhí)行系統(tǒng)、裝置或設(shè)備使用或者聯(lián)系指令執(zhí)行系統(tǒng)、裝置或設(shè)備來(lái)使用的任何有形介質(zhì)。
[0052]計(jì)算機(jī)可讀信號(hào)介質(zhì)可包括其中包含有計(jì)算機(jī)可讀程序代碼的傳播數(shù)據(jù)信號(hào),例如在基帶中或作為載波的一部分。這種傳播的信號(hào)可采取多種形式中的任何一種,包括但不限于電磁、光或其任何適當(dāng)組合。計(jì)算機(jī)可讀信號(hào)介質(zhì)可以是任何如下計(jì)算機(jī)可讀介質(zhì):其不是計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),并且能夠傳達(dá)、傳播或傳輸程序來(lái)供指令執(zhí)行系統(tǒng)、裝置或設(shè)備使用或者聯(lián)系指令執(zhí)行系統(tǒng)、裝置或設(shè)備使用。
[0053]包含在計(jì)算機(jī)可讀介質(zhì)上的程序代碼可利用任何適當(dāng)?shù)慕橘|(zhì)來(lái)傳送,包括但不限于無(wú)線、有線、光纖線纜、RF等等,或者前述的任何適當(dāng)組合。
[0054]用于執(zhí)行本發(fā)明的各方面的操作的計(jì)算機(jī)程序代碼可用一個(gè)或多個(gè)編程語(yǔ)言的任何組合來(lái)編寫,包括面向?qū)ο蟮木幊陶Z(yǔ)言,例如Java、Smalltalk、C++等等,以及傳統(tǒng)的過程式編程語(yǔ)言,例如“C”編程語(yǔ)言或類似的編程語(yǔ)言。程序代碼可完全在用戶的計(jì)算機(jī)上執(zhí)行,部分在用戶的計(jì)算機(jī)上執(zhí)行,或者作為獨(dú)立的軟件包執(zhí)行,部分在用戶的計(jì)算機(jī)上并且部分在遠(yuǎn)程計(jì)算機(jī)上執(zhí)行,或者完全在遠(yuǎn)程計(jì)算機(jī)或服務(wù)器上執(zhí)行。在后一種情形中,遠(yuǎn)程計(jì)算機(jī)可通過任何類型的網(wǎng)絡(luò)連接到用戶的計(jì)算機(jī),網(wǎng)絡(luò)包括局域網(wǎng)(LAN)或廣域網(wǎng)(WAN),或者可連接到外部計(jì)算機(jī)(例如利用因特網(wǎng)服務(wù)提供商通過因特網(wǎng))。
[0055]以上參考根據(jù)本發(fā)明的實(shí)施例的方法、裝置(系統(tǒng))和計(jì)算機(jī)程序產(chǎn)品的流程圖示和/或框圖描述了本發(fā)明的各方面。將會(huì)理解,流程圖示和/或框圖的每個(gè)方塊以及流程圖示和/或框圖中的方塊的組合可由計(jì)算機(jī)程序指令來(lái)實(shí)現(xiàn)。這些計(jì)算機(jī)程序指令可被提供到通用計(jì)算機(jī)、專用計(jì)算機(jī)或者其他可編程數(shù)據(jù)處理裝置的處理器以產(chǎn)生機(jī)器,以使得經(jīng)由計(jì)算機(jī)或其他可編程數(shù)據(jù)處理裝置的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)流程圖和/或框圖的一個(gè)或多個(gè)方塊中指定的功能/動(dòng)作的裝置。
[0056]這些計(jì)算機(jī)程序指令也可被存儲(chǔ)在計(jì)一算機(jī)可讀介質(zhì)中,其可指導(dǎo)計(jì)算機(jī)、其他可編程數(shù)據(jù)處理裝置或其他設(shè)備以特定的方式工作,使得存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)中的指令產(chǎn)生包括實(shí)現(xiàn)流程圖和/或框圖的一個(gè)或多個(gè)方塊中指定的功能/動(dòng)作的指令的制品。
[0057]計(jì)算機(jī)程序指令也可被加載到計(jì)算機(jī)、其他可編程數(shù)據(jù)處理裝置或其他設(shè)備上以使得一系列操作步驟在計(jì)算機(jī)、其他可編程裝置或其他設(shè)備上被執(zhí)行以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的過程,使得在計(jì)算機(jī)或其他可編程裝置上執(zhí)行的指令提供用于實(shí)現(xiàn)流程圖和/或框圖的一個(gè)或多個(gè)方塊中指定的功能/動(dòng)作的過程。
[0058]本發(fā)明的實(shí)施例可通過云計(jì)算基礎(chǔ)設(shè)施被提供給術(shù)端用戶。云計(jì)算一般指的是通過網(wǎng)絡(luò)作為服務(wù)提供可伸縮的計(jì)算資源。更正式地說(shuō),云計(jì)算可被定義為一種計(jì)算能力,其提供計(jì)算資源和其下層技術(shù)體系結(jié)構(gòu)(例如服務(wù)器、存儲(chǔ)裝置、網(wǎng)絡(luò))之間的抽象,使能了對(duì)可配置的計(jì)算資源的共享池的方便且按需的網(wǎng)絡(luò)訪問,這些資源可被迅速地配設(shè)和發(fā)布,只需要最低限度的管理工作或服務(wù)提供商交互。從而,云計(jì)算允許了用戶訪問“云”中的虛擬計(jì)算資源(例如存儲(chǔ)、數(shù)據(jù)、應(yīng)用以及甚至完全虛擬化的計(jì)算系統(tǒng)),而不考慮用于提供計(jì)算資源的下層物理系統(tǒng)(或這些系統(tǒng)的位置)。
[0059]通常,云計(jì)算資源是以按使用付費(fèi)的方式被提供給用戶的,其中僅就實(shí)際使用的計(jì)算資源(例如用戶消耗的存儲(chǔ)空間的量或用戶實(shí)例化的虛擬化系統(tǒng)的數(shù)目)對(duì)用戶收費(fèi)。用戶可在任何時(shí)間從因特網(wǎng)上的任何地方訪問駐留在云中的任何資源。在本發(fā)明的上下文中,用戶可訪問云中可用的幾何數(shù)據(jù)。例如,動(dòng)態(tài)仿真組件110可在由用戶操作的增強(qiáng)現(xiàn)實(shí)設(shè)備100上執(zhí)行并且可收集與用戶的當(dāng)前環(huán)境有關(guān)的幾何信息(例如用戶的當(dāng)前環(huán)境內(nèi)的物理對(duì)象的尺寸)。在這種情況下,動(dòng)態(tài)仿真組件Iio可將收集的數(shù)據(jù)發(fā)送到云中的計(jì)算系統(tǒng)以便存儲(chǔ)。當(dāng)用戶再次返回到相同的環(huán)境時(shí),動(dòng)態(tài)仿真組件110可查詢?cè)浦械挠?jì)算機(jī)系統(tǒng)以取回幾何數(shù)據(jù),并且隨后可將取回的數(shù)據(jù)用于執(zhí)行用戶的物理環(huán)境中的物理對(duì)象與增強(qiáng)現(xiàn)實(shí)設(shè)備100上顯示的虛擬對(duì)象之間的動(dòng)態(tài)仿真。例如,動(dòng)態(tài)仿真組件110可使用幾何信息來(lái)確定所捕捉的視覺場(chǎng)景內(nèi)的物理對(duì)象的深度。這樣做允許了用戶從附接到與云相連的網(wǎng)絡(luò)(例如因特網(wǎng))的任何設(shè)備或計(jì)算機(jī)系統(tǒng)訪問此信息。
[0060]附圖中的流程圖和框圖示出了根據(jù)本發(fā)明的各種實(shí)施例的系統(tǒng)、方法和計(jì)算機(jī)程序產(chǎn)品的可能實(shí)現(xiàn)方式的體系結(jié)構(gòu)、功能和操作。在這一點(diǎn)上,流程圖或框圖中的每個(gè)方塊可表示代碼的模塊、片段或部分,其中包括一個(gè)或多個(gè)可執(zhí)行指令用于實(shí)現(xiàn)指定的(一個(gè)或多個(gè))邏輯功能。在一些替換實(shí)現(xiàn)方式中,方塊中記述的功能可不按圖中記述的順序發(fā)生。例如,相繼示出的兩個(gè)方塊實(shí)際上可基本上同時(shí)被執(zhí)行,或者方塊有時(shí)可按相反的順序被執(zhí)行,這取決于所涉及的功能??驁D和/或流程圖示的每個(gè)方塊以及框圖和/或流程圖示中的方塊的組合可由執(zhí)行指定的功能或動(dòng)作的專用的基于硬件的系統(tǒng)或者專用的硬件和計(jì)算機(jī)指令的組合來(lái)實(shí)現(xiàn)。
[0061]雖然以上涉及本發(fā)明的實(shí)施例,但可設(shè)計(jì)本發(fā)明的其他和另外的實(shí)施例,而不脫離其基本范圍,并且其范圍由所附權(quán)利要求來(lái)確定。
【權(quán)利要求】
1.一種用于利用增強(qiáng)現(xiàn)實(shí)設(shè)備來(lái)仿真交互的方法,包括: 捕捉視覺場(chǎng)景以供顯示,其中所述視覺場(chǎng)景包括第一物理對(duì)象并且所述視覺場(chǎng)景是利用一個(gè)或多個(gè)相機(jī)設(shè)備來(lái)捕捉的; 通過所述增強(qiáng)現(xiàn)實(shí)設(shè)備的一個(gè)或多個(gè)計(jì)算機(jī)處理器的操作,仿真所述第一物理對(duì)象與一個(gè)或多個(gè)虛擬對(duì)象之間的動(dòng)態(tài)交互;以及 渲染幀的序列以供顯示,所述幀描繪所仿真的所述第一物理對(duì)象與所述一個(gè)或多個(gè)虛擬對(duì)象之間的動(dòng)態(tài)交互。
2.如權(quán)利要求1所述的方法,還包括: 識(shí)別所述第一物理對(duì)象的預(yù)定幾何信息,其中所述預(yù)定幾何信息至少包括所述第一物理對(duì)象的大小的度量;以及 基于所識(shí)別的預(yù)定幾何信息,估計(jì)所述物理對(duì)象在所述視覺場(chǎng)景內(nèi)的深度度量, 其中,對(duì)所述動(dòng)態(tài)交互的仿真還基于所估計(jì)的所述第一物理對(duì)象的深度度量。
3.如權(quán)利要求1所述的方法,還包括: 監(jiān)視所述第一物理對(duì)象在所述視覺場(chǎng)景內(nèi)的運(yùn)動(dòng);以及 基于所監(jiān)視的運(yùn)動(dòng),估計(jì)所述第一物理對(duì)象的速度。
4.如權(quán)利要求3所述的方法,還包括: 確定要顯示在所述視覺場(chǎng)景內(nèi)的所述一個(gè)或多個(gè)虛擬對(duì)象的速度, 其中,動(dòng)態(tài)仿真還基于所`確定的所述第一物理對(duì)象的速度和所確定的所述一個(gè)或多個(gè)虛擬對(duì)象的速度。
5.如權(quán)利要求1所述的方法,其中,仿真所述第一物理對(duì)象與所述一個(gè)或多個(gè)虛擬對(duì)象之間的動(dòng)態(tài)交互還基于一組動(dòng)態(tài)規(guī)則,該組動(dòng)態(tài)規(guī)則限定在所述增強(qiáng)現(xiàn)實(shí)設(shè)備上顯示的視覺場(chǎng)景的動(dòng)態(tài)交互。
6.如權(quán)利要求1所述的方法,還包括: 基于所仿真的所述視覺場(chǎng)景內(nèi)所述物理對(duì)象與所述一個(gè)或多個(gè)虛擬對(duì)象之間的動(dòng)態(tài)交互,在所接收的視覺場(chǎng)景的外部向所述第一物理對(duì)象施加力。
7.如權(quán)利要求1所述的方法,還包括: 在所接收的視覺場(chǎng)景的外部,向與所述第一物理對(duì)象相關(guān)聯(lián)的控制器發(fā)送消息,其中所述控制器被配置為響應(yīng)于接收到所述消息而向所述第一物理對(duì)象施加所述力。
8.如權(quán)利要求1所述的方法,其中,仿真所述第一物理對(duì)象與一個(gè)或多個(gè)虛擬對(duì)象之間的動(dòng)態(tài)交互還包括: 確定所述第一物理對(duì)象的一個(gè)或多個(gè)特性;以及 基于所確定的一個(gè)或多個(gè)特性,作為所述動(dòng)態(tài)交互的一部分,調(diào)整所述一個(gè)或多個(gè)虛擬對(duì)象的行為。
9.一種增強(qiáng)現(xiàn)實(shí)設(shè)備,包括: 處理器;以及 包含程序的存儲(chǔ)器,所述程序當(dāng)被所述處理器執(zhí)行時(shí)執(zhí)行用于利用增強(qiáng)現(xiàn)實(shí)設(shè)備來(lái)仿真交互的操作,包括: 捕捉視覺場(chǎng)景以供顯示,其中所述視覺場(chǎng)景是利用一個(gè)或多個(gè)相機(jī)設(shè)備來(lái)捕捉的; 仿真所述第一物理對(duì)象與一個(gè)或多個(gè)虛擬對(duì)象之間的動(dòng)態(tài)交互;以及渲染幀的序列以供顯示,所述幀描繪所仿真的所述第一物理對(duì)象與所述一個(gè)或多個(gè)虛擬對(duì)象之間的動(dòng)態(tài)交互。
10.如權(quán)利要求9所述的增強(qiáng)現(xiàn)實(shí)設(shè)備,所述操作還包括: 識(shí)別所述第一物理對(duì)象的預(yù)定幾何信息,其中所述預(yù)定幾何信息至少包括所述第一物理對(duì)象的大小的度量;以及 基于所識(shí)別的預(yù)定幾何信息,估計(jì)所述物理對(duì)象在所述視覺場(chǎng)景內(nèi)的深度度量, 其中,對(duì)所述動(dòng)態(tài)交互的仿真還基于所估計(jì)的所述第一物理對(duì)象的深度度量。
11.如權(quán)利要求9所述的增強(qiáng)現(xiàn)實(shí)設(shè)備,還包括: 監(jiān)視所述第一物理對(duì)象在所述視覺場(chǎng)景內(nèi)的運(yùn)動(dòng);以及 基于所監(jiān)視的運(yùn)動(dòng),估計(jì)所述第一物理對(duì)象的速度。
12.如權(quán)利要求11所述的增強(qiáng)現(xiàn)實(shí)設(shè)備,還包括: 確定要顯示在所述視覺場(chǎng)景內(nèi)的所述一個(gè)或多個(gè)虛擬對(duì)象的速度, 其中,動(dòng)態(tài)仿真還基于所確定的所述第一物理對(duì)象的速度和所確定的所述一個(gè)或多個(gè)虛擬對(duì)象的速度。
13.如權(quán)利要求9所述 的增強(qiáng)現(xiàn)實(shí)設(shè)備,其中,仿真所述第一物理對(duì)象與所述一個(gè)或多個(gè)虛擬對(duì)象之間的動(dòng)態(tài)交互還基于一組動(dòng)態(tài)規(guī)則,該組動(dòng)態(tài)規(guī)則限定在所述增強(qiáng)現(xiàn)實(shí)設(shè)備上顯示的視覺場(chǎng)景的動(dòng)態(tài)交互。
14.如權(quán)利要求9所述的增強(qiáng)現(xiàn)實(shí)設(shè)備,所述操作還包括: 基于所仿真的所述視覺場(chǎng)景內(nèi)所述物理對(duì)象與所述一個(gè)或多個(gè)虛擬對(duì)象之間的動(dòng)態(tài)交互,在所接收的視覺場(chǎng)景的外部向所述第一物理對(duì)象施加力。
15.如權(quán)利要求9所述的增強(qiáng)現(xiàn)實(shí)設(shè)備,所述操作還包括: 在所接收的視覺場(chǎng)景的外部,向與所述第一物理對(duì)象相關(guān)聯(lián)的控制器發(fā)送消息,其中所述控制器被配置為響應(yīng)于接收到所述消息而向所述第一物理對(duì)象施加所述力。
16.如權(quán)利要求9所述的增強(qiáng)現(xiàn)實(shí)設(shè)備,其中,仿真所述第一物理對(duì)象與一個(gè)或多個(gè)虛擬對(duì)象之間的動(dòng)態(tài)交互還包括: 確定所述第一物理對(duì)象的一個(gè)或多個(gè)特性;以及 基于所確定的一個(gè)或多個(gè)特性,作為所述動(dòng)態(tài)交互的一部分,調(diào)整所述一個(gè)或多個(gè)虛擬對(duì)象的行為。
17.一種包含程序的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述程序當(dāng)被執(zhí)行時(shí)執(zhí)行用于利用增強(qiáng)現(xiàn)實(shí)設(shè)備來(lái)仿真交互的操作,包括: 捕捉視覺場(chǎng)景以供顯示,其中所述視覺場(chǎng)景是利用一個(gè)或多個(gè)相機(jī)設(shè)備來(lái)捕捉的;仿真所述第一物理對(duì)象與一個(gè)或多個(gè)虛擬對(duì)象之間的動(dòng)態(tài)交互;以及渲染幀的序列以供顯示,所述幀描繪所仿真的所述第一物理對(duì)象與所述一個(gè)或多個(gè)虛擬對(duì)象之間的動(dòng)態(tài)交互。
18.如權(quán)利要求17所述的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述操作還包括: 識(shí)別所述第一物理對(duì)象的預(yù)定幾何信息,其中所述預(yù)定幾何信息至少包括所述第一物理對(duì)象的大小的度量;以及 基于所識(shí)別的預(yù)定幾何信息,估計(jì)所述物理對(duì)象在所述視覺場(chǎng)景內(nèi)的深度度量, 其中,對(duì)所述動(dòng)態(tài)交互的仿真還基于所估計(jì)的所述第一物理對(duì)象的深度度量。
19.如權(quán)利要求17所述的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),還包括: 監(jiān)視所述第一物理對(duì)象在所述視覺場(chǎng)景內(nèi)的運(yùn)動(dòng);以及 基于所監(jiān)視的運(yùn)動(dòng),估計(jì)所述第一物理對(duì)象的速度。
20.如權(quán)利要求19所述的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),還包括: 確定要顯示在所述視覺場(chǎng)景內(nèi)的所述一個(gè)或多個(gè)虛擬對(duì)象的速度, 其中,動(dòng)態(tài)仿真還基于所確定的所述第一物理對(duì)象的速度和所確定的所述一個(gè)或多個(gè)虛擬對(duì)象的速度。
21.如權(quán)利要求17所述的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中,仿真所述第一物理對(duì)象與所述一個(gè)或多個(gè)虛擬對(duì)象之間的動(dòng)態(tài)交互還基于一組動(dòng)態(tài)規(guī)則,該組動(dòng)態(tài)規(guī)則限定在所述增強(qiáng)現(xiàn)實(shí)設(shè)備上顯示的視覺場(chǎng)景的動(dòng)態(tài)交互。
22.如權(quán)利要求17所述的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述操作還包括: 基于所仿真的所述視覺場(chǎng)景內(nèi)所述物理對(duì)象與所述一個(gè)或多個(gè)虛擬對(duì)象之間的動(dòng)態(tài)交互,在所接收的視覺場(chǎng)景的外部向所述第一物理對(duì)象施加力。
23.如權(quán)利要求17所述的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述操作還包括: 在所接收的視覺場(chǎng)景的外部,向與所述第一物理對(duì)象相關(guān)聯(lián)的控制器發(fā)送消息,其中所述控制器被配置為響應(yīng)于接收到所述消息而向所述第一物理對(duì)象施加所述力。
24.如權(quán)利要求17所述的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中,仿真所述第一物理對(duì)象與一個(gè)或多個(gè)虛擬對(duì)象之間的動(dòng)態(tài)交互還包括:` 確定所述第一物理對(duì)象的一個(gè)或多個(gè)特性;以及 基于所確定的一個(gè)或多個(gè)特性,作為所述動(dòng)態(tài)交互的一部分,調(diào)整所述一個(gè)或多個(gè)虛擬對(duì)象的行為。
【文檔編號(hào)】G06F19/00GK103530495SQ201310272294
【公開日】2014年1月22日 申請(qǐng)日期:2013年7月1日 優(yōu)先權(quán)日:2012年6月29日
【發(fā)明者】肯尼·米切爾, 拉斐爾·C·霍斯泰特勒, 斯泰利·克魯斯, 羅伯特·薩姆納 申請(qǐng)人:迪士尼企業(yè)公司